ローコード開発の「設計」とは? 工数削減のポイントを解説

設計では、要件定義で確定した内容を、どのようにシステムで実現するかを検討します。ローコード開発においても、従来のシステム開発と同様に、外部設計と内部設計を行います。ローコード開発ツールを活用しながら設計を進めることで、仕様決定までの時間を短縮し、設計工数の削減につなげることができます。

この記事では、ローコード開発における設計について理解し、intra-martの機能やツールを活用しながら、設計工数を削減するポイントについて解説します。

この記事でわかること

  • ローコード開発でも設計が必要な理由
  • ローコード開発で変わる設計と工数削減のポイント
  • intra-martのローコード開発で設計を効率的に進める方法

ローコード開発で設計は必要?

ローコード開発ツールの基本的な機能を使って簡易的なアプリケーションを作成する場合、すぐに開発に取り掛かることができるため、設計を省略できると思われるかもしれません。また、ローコード開発プラットフォームを導入すれば、外部設計や内部設計も省略できるという考え方もあります。

しかし、プロジェクトの規模によっては、設計を行わずに開発を進めることで、後工程でさまざまな問題が発生する可能性があります。開発プロセス全体の品質や効率にも影響するため、設計が必要な理由について、あらためて確認していきましょう。

理由1. 要件定義を設計で明確にするため

設計の目的として、まず以下の2点が挙げられます。 

  • 要件定義で明確にされていない、システムに関連する外部仕様を検討する
  • 要件定義の内容をもとに、システムでどのように実現するか内部仕様を検討する 

システムの外部仕様とは、システムのユーザインタフェースや外部システムとのデータのやり取りなど、外部から見える部分を指します。要件定義でも外部仕様を検討しますが、設計では、インタフェースや外部システムとの連携など、より具体的な内容を決めていきます。

intra-martのローコード開発では、システムのユーザインタフェースを豊富に用意しています。要件定義で作成したプロトタイプをもとに、グラフィカルユーザインタフェース(GUI:Graphical User Interface)を操作しながら、ユーザにとって使いやすいインタフェースの組み合わせを検討できます。また、外部システムとの連携機能も豊富に用意されているため、アプリケーションで実現できる業務の幅を広げることができます。

このように外部仕様を具体化することで、システムの外観や、システムを取り巻く環境をより明確にできます。

システムの内部仕様とは、システム内部の構造や動作に関する部分を指します。要件定義で定義した業務要件やシステム要件を実現するために、システムの入出力に関する処理、ソフトウェア内部のプログラム設計、データ処理方法、エラー・例外処理などを検討していきます。

intra-martのローコード開発では、要件定義で作成したプロトタイプによって、画面やビジネスロジックがある程度検討された状態から設計を進めることができます。そのため、入出力の処理やプログラム設計の一部を省略できます。また、データの処理方法やエラー・例外処理などは、intra-martの仕様を確認しながら設定していきます。

このように内部仕様を具体化することで、システムの構造や動作をより明確にできます。

理由2. システムの品質を確保するため  

設計には、システムの品質を確保するという目的もあります。プロジェクトの規模が大きくなるほど開発者も増えるため、システム全体の品質を確保することが難しくなります。開発に入る前に、設計の段階でシステム全体のアーキテクチャを適切に設計することが大切です。アーキテクチャの設計には、処理を共通化するといった側面もあります。

システム構造全体を俯瞰して処理を共通化することで、開発効率を向上させるだけではなく、システム全体の構造や動作の一貫性を確保できます。また、将来の変更や拡張への柔軟な対応や、システム性能の最適化などにもつながります。

intra-martのローコード開発では、プラットフォーム側に、適切なアーキテクチャで開発できる仕組みが用意されています。そのため、基本的なツールや機能に従って設定することで、一定の品質を確保できます。

また、処理だけではなく画面も部品として共通化できるため、同じ機能を複数の場所で再利用でき、何度も作成する手間を省けます。部品を共通化することで、カスタマイズが必要な範囲や作業の難易度も明確になるため、プログラミングのスキルに応じて作業を適切に割り振ることができます。適切にリソースを配置することで、プログラマーが難易度の高い業務に集中でき、システムの品質をさらに高めることにもつながります。

理由3. データベース設計が重要となるため

システム構築において、データベース設計は重要な要素の一つです。データベースがシステムに与える影響は多岐にわたりますが、ここでは主な影響について取り上げます。

  • システムのパフォーマンスへの影響
  • システム全体の信頼性への影響
  • システムのセキュリティへの影響

最初に、システムのパフォーマンスへの影響について見てみましょう。データベースが不適切に設計されていたり、冗長なデータ構造になっていたりすると、データの検索や更新などの処理速度が低下します。データを効率的に処理するためには、データベース設計で適切なインデックスや正規化を行うことが重要です。これにより、システムの応答性の向上につながります。

次に、システム全体の信頼性への影響について見てみましょう。適切なリレーショナルデータベース(RDB)の設計や外部キーの制約により、データの一貫性や整合性を保つことができます。データの一貫性や整合性が保たれることで、正確な結果を示すことができ、ユーザが安心してシステムを利用できるようになります。

最後に、システムのセキュリティへの影響について見てみましょう。データに適切なアクセス制御や暗号化を実施することで、データの機密性や完全性を保護できます。データベースへの不正アクセスやデータの改ざんを防ぐことで、システムのセキュリティ強化につながります。


intra-martのローコード開発では、ユーザなどを格納するIM-共通マスタをはじめとした、intra-martの標準データを活用する機能が標準で利用できます。これらのデータベースについては、ドキュメントライブラリでER(エンティティリレーションシップ)図なども公開しています。業務データのデータベース設計を行う際に、参考にしてみてください。

また、intra-martでは、別のシステムで利用している既存のデータベースも利用できます。既存のデータベースを利用する場合は、データベース設計の観点から、あらためてテーブル構造やカラムの設定などを確認しましょう。 

intra-martで開発した画面やビジネスロジックでは、変数による値のやり取りを行うため、データベース設計が重要となります。データベースを適切に設計し、それに沿った変数を作成することで、各ツール間で連携しやすくなります。

開発するシステムの規模によっては、データモデリングの知識を持った専門的なエンジニアによるデータベース設計が必要となる場合もあります。データベースがシステムに与える影響を考慮し、設計工程の体制を構築していきましょう。

ローコード開発で設計がこう変わる

要件定義と同様に、従来のシステム開発における設計工程を例に、どのようにローコード開発を組み込むと効果的なのかという視点で説明していきます。

ここでは、代表的な開発手法であるウォーターフォール開発を想定し、設計工程を外部設計と内部設計に分けています。アジャイル開発では、外部設計と内部設計といった明確な区分はありませんが、プロセスの中でそれらに該当する作業が行われる場合があります。そのため、アジャイル開発を行う場合も参考情報として確認しておくとよいでしょう。

外部設計

外部設計では、システムの具体的な外部仕様を設計していきます。外部仕様とは、システムがユーザや外部システムに提供する機能やインタフェースのことを指します。

ローコード開発では、従来のシステム開発のように設計書を作成してからプログラミングを行うのではなく、ツールや機能を組み合わせながら設計を進めていきます。ここでは、外部設計で行う作業の例と、それぞれの作業で使用するintra-martのツールや機能について紹介します。

作業 作業概要とintra-martの機能
画面設計 画面設計は、アプリケーションのユーザインタフェースを設計するプロセスです。機能要件で定義された機能を、ユーザがシステム上で操作できるように設計していきます。IM-BloomMakerを使うと、UI設計、画面レイアウト、画面デザイン、画面機能、画面項目、画面遷移などを、ツールに用意された機能を使ってまとめて検討できます。 
外部システムI/F設計 外部システムI/F設計は、開発するシステムと異なるシステムやサービスとの間で、データや機能を交換する方法を定義するプロセスです。intra-mart Accel Platformには、他の基幹システムと連携するための機能があります。IM-LogicDesignerを使うと、外部システムとの連携をビジネスロジックに組み込むことができます。 
バッチ設計 バッチ設計は、システムで定期的に実行する処理やタスクを効率的に管理するための設計プロセスです。intra-mart Accel Platformでは、ジョブ機能を利用して、プログラムを自動的に実行できます。また、IM-LogicDesignerでは、別の機能の操作を契機として、作成したビジネスロジックを実行するトリガ機能も設定できます。
帳票設計帳票設計は、各種レポートや書面などのデータを帳票として提示するための設計プロセスです。ViewCreatorでは、intra-mart上のデータを利用して帳票を出力できます。また、IM-FormaDesignerでは、帳票系のワークフローアプリケーション集を用意しています。
データベース論理設計          データベース論理設計は、データベースの構造やデータ間の関係性を定義するプロセスです。intra-martの標準データでは、すでに論理設計が実施されています。その他のデータベースについては、IM-Repositoryを使うことで、データベースのテーブル、列、制約などを、リレーショナルデータベースで扱える形式で設計できます。

内部設計

内部設計では、システムの入出力やデータベースへのデータ格納など、システム内部で行う処理を設計していきます。外部設計で決めた仕様に基づいて、プログラミングができるレベルまで詳細に設計します。

ローコード開発では、ツールで用意されている機能以外の部分ではプログラミングが必要となりますが、基本的にはツールや機能を組み合わせながら設計を進めていきます。画面やビジネスロジックについては、要件定義で作成したプロトタイプをもとに設計を進めます。

ここでは、内部設計で行う作業の例と、それぞれの作業で使用するintra-martのツールや機能について紹介します。

作業 作業概要とintra-martの機能
画面プログラム設計 
画面プログラム設計は、画面設計で検討した内容をもとに、画面上で実行する処理を設計するプロセスです。IM-BloomMakerを使うと、画面のアクション処理や変数操作を簡単に設定できます。その他にも、業務ロジック・ワークフロー・業務プロセスとの連携ができます。画面共通部品も、テンプレートやエレメントセットとして簡単に作成できます。
ビジネスロジックプログラム設計           ビジネスロジックプログラム設計は、アプリケーションが行うデータ処理や業務フローに関する処理を設計するプロセスです。IM-LogicDesignerを使うと、タスクを組み合わせるだけでビジネスロジックを作成できます。また、JavaScriptやSQL、入出力パラメータなどを画面上で設定することで、独自の処理を作成できます。
データベース物理設計 データベース物理設計は、論理設計で定義されたデータベースの構造や関係性をもとに、具体的な形で実装するプロセスです。intra-martの標準データでは、すでに物理設計が実施されています。また、IM-Repositoryを使うことで、論理設計の段階から実装を意識した設計を進められます。データベースを設計する際は、データ量や利用方法などを考慮し、パフォーマンスへの影響も確認しておくとよいでしょう。 

intra-martで始める設計の流れ

ここからは、実際にintra-martのツールや機能を使って、設計を進める方法について解説していきます。基本設計については、システム方式設計、業務設計、アプリケーション方式設計の工程に分けています。特に、設計で検討する項目の中には、intra-mart側で対応できるものも多いため、設計工数を大幅に削減できる可能性があります。

プロジェクトを進めるにあたり、intra-martのツールや機能をどのように活用できるのかについて見ていきましょう。 

Step. 1 アーキテクチャを中心にシステム方式設計を進める

システム方式設計では、まず要件定義で定めた非機能要件について、さらに詳細を検討していきます。

たとえば、障害復旧に関する可用性、パフォーマンスに関わる性能、セキュリティ対策、ユーザビリティといった非機能要件については、intra-mart側である程度の要件を満たしています。ただし、アプリケーションの開発環境や実装内容によっては、詳細まで確認・検討する必要があります。

また、intra-martの基本的な機能を使って簡易的なアプリケーションを作成する場合は、非機能要件について詳細まで検討する必要がない項目もありますが、要件定義の内容を満たしているかという視点で、intra-martの仕様を確認しておくと良いでしょう。

その他にも、ここで詳細まで検討が必要となるのは、アーキテクチャの全体設計とシステムの構成設計です。特に、外部システムとの連携やデータ移行を行う場合は、intra-mart側の設定も含めて、アーキテクチャとシステム構成を十分に確認・検討することが求められます。  

Step. 2 詳細プロトタイプを作成しながら業務設計を進める

業務設計では、要件定義書で定めた業務要件やシステム要件(データ要件)について、さらに詳細に検討していきます。ここでは、要件定義で作成した業務プロセス図やビジネスロジックの基本プロトタイプを使い、アプリケーションで実現したい業務手順と比較しながら、抜けや漏れがないかを確認していきます。

業務プロセスに問題がないことを確認したら、基本プロトタイプをもとに、画面・帳票設計を進めていきます。同様に、データ設計やシステム間のインタフェース設計についても、intra-martの仕様を確認しながら検討していきましょう。

Step. 3 資料を見ながらアプリケーション方式設計を進める

アプリケーション方式設計では、要件定義書で定めたシステム要件(アプリケーション要件)について、さらに詳細に検討していきます。ここでは、アプリケーションのフレームワーク設計、データ項目辞書の作成、コンポーネント設計などを進めていきます。

アプリケーションのフレームワーク設計やコンポーネント設計については、intra-mart側で対応している項目も多いため、intra-martで用意しているドキュメントや仕様書などを確認しながら、各項目に抜けや漏れがないかを確認していきます。データ項目辞書については、intra-martのツールを利用することで、システム全体で統合的に管理できます。 

Step. 4 設計書の作成とレビュー

業務要件やシステム要件の検討が終わった後、各工程で検討した内容を設計書としてまとめていきます。 

はじめに、システム方式設計で検討した内容を設計書としてまとめ、要件定義書との整合性を確認します。次に、業務設計で検討した内容を設計書としてまとめ、要件定義書やシステム方式設計書との整合性を確認します。業務設計では、詳細プロトタイプをもとに、intra-martの各ツールから設計書を出力できます。

最後に、アプリケーション方式設計で検討した内容を設計書としてまとめ、システム方式設計書や業務設計書との整合性を確認します。また、ドキュメント全体で整合性が取れているかという観点でも見直していきます。

各設計書の作成が終わった後、要件定義で定めたシステム機能が漏れなく記述されているか、外部インタフェース、アプリケーション方式、システム方式、運用方式などとの整合性が取れているかを確認するため、レビューを実施します。 

Step. 5 開発に向けてプロトタイプを共有する 

設計で作成した詳細プロトタイプをもとに、画面や処理などの部品を共有できるようにします。部品を共有することで、プロジェクトの規模が大きいほど、開発期間の短縮や開発効率の向上といった効果が期待できます。

intra-martでは、一度作成した画面をテンプレート化したり、画面の一部(ヘッダ・フッタなど)を一つのパーツとして登録したりすることで、新しく画面を作成するときにテンプレートやパーツを流用できます。その他にも、作成したアプリケーション自体をテンプレート化したり、ビジネスロジックをパーツ化したりできます。

まとめ 

ローコード開発では設計が省略できると思っていた方も多いのではないでしょうか? システムの品質向上やリスク管理の観点からも、設計は欠かせません。さらに、システムが複雑になるにつれて、システム全体の構造を把握し、適切な設計を行うことがますます重要になります。設計を効率的に進めるためにも、ローコード開発の特性を上手に取り入れながら、工数削減を目指していくことをおすすめします。 

ローコード開発ガイドでは、要件定義から保守・運用までの各工程において、intra-martのローコード開発ツールの効果的な活用方法について解説しています。今回は、設計の必要性と、各工程におけるintra-martを使った工数削減のポイントについて紹介しました。特に、データベースの設計は、システム構築だけではなく、システムのパフォーマンスや信頼性にも影響を及ぼすため、重要な要素の一つです。

intra-martのローコード開発ツールを最大限に活用するためにも、ぜひ他の記事もご覧ください。