ローコード開発の「設計」とは? 工数削減のポイントを解説
この記事でわかること
- ローコード開発でも設計が必要な理由
- ローコード開発で変わる設計と工数削減のポイント
- intra-martのローコード開発で設計を効率的に進める方法
設計では、要件定義で確定した内容を、どのようにシステムで実現するかを検討します。ローコード開発においても、従来のシステム開発と同様に、外部設計と内部設計を行います。ローコード開発ツールを使用しながら設計を進めることで、仕様決定までの時間を短縮し、設計工数を大幅に削減できる効果があります。
この記事では、ローコード開発における設計について理解し、intra-martの機能やツールを最大限に活用しながら、工数を削減するポイントについて解説していきます。
- 1. ローコード開発で設計は必要?
- 1.1. 理由1. 要件定義を設計で明確にするため
- 1.2. 理由2. システムの品質を確保するため
- 1.3. 理由3. データベース設計が重要となるため
- 2. ローコード開発で設計がこう変わる
- 2.1. 外部設計
- 2.2. 内部設計
- 3. intra-martで始める設計の流れ
- 3.1. Step. 1 アーキテクチャを中心にシステム方式設計を進める
- 3.2. Step. 2 詳細プロトタイプを作成しながら業務設計を進める
- 3.3. Step. 3 資料を見ながらアプリケーション方式設計を進める
- 3.4. Step. 4 設計書の作成とレビュー
- 3.5. Step. 5 開発に向けてプロトタイプを共有する
- 4. まとめ
ローコード開発で設計は必要?
ローコード開発ツールの基本的な機能を使って簡易的なアプリケーションを作成する場合、すぐに開発に取り掛かることができるため、設計を省略できると思われるかもしれません。また、ローコード開発プラットフォームを導入した時点で、外部設計や内部設計については省略できるという考え方もあります。しかし、プロジェクトの規模によっては、設計を行わずに開発に進むと、後工程でさまざまな問題が発生し、開発プロセス全体の品質や効率に悪影響を与える可能性があります。設計が必要な理由について、あらためて確認していきましょう。
理由1. 要件定義を設計で明確にするため
設計の目的として、まず以下の2点が挙げられます。
- 要件定義で明確にされていない、システムに関連する外部仕様を検討する
- 要件定義の内容をもとに、システムでどう実現できるか内部仕様を検討する
システムの外部仕様とは、システムのユーザインタフェースや外部システムとのデータのやり取りなど、外部から見える部分を指します。要件定義でも外部仕様を検討しますが、設計ではインタフェースや外部システムとの連携など、より具体的な外部仕様を決めていきます。intra-martのローコード開発では、システムのユーザインタフェースを豊富に用意しています。要件定義で作成したプロトタイプをもとに、グラフィカルユーザインタフェース(GUI:Graphical User Interface)を操作しながら、ユーザにとって使いやすいインタフェースの組み合わせを検討できます。また、外部システムとの連携機能も豊富に用意しているため、アプリケーションで実現したい業務の幅をさらに広げることが可能です。外部仕様を検討することで、システムの外観やシステムを取り巻く環境がより明確になります。
システムの内部仕様とは、システム内部の構造や動作に関する部分を指します。要件定義で定義した業務要件やシステム要件を実現するために、システムの入出力に関する処理、ソフトウェア内部のプログラム設計、データ処理方法、エラー・例外処理などを検討していきます。intra-martのローコード開発では、要件定義で作成したプロトタイプによって、画面やビジネスロジックがある程度検討された状態であるため、入出力の処理やプログラム設計は省略できます。また、データの処理方法やエラー・例外処理などは、intra-martの仕様を確認しながら設定していきます。内部仕様を検討することで、システムの内容をより具体化できます。
理由2. システムの品質を確保するため
設計の目的として、システムの品質を確保するということも大切な要素の一つです。プロジェクトの規模が大きければ大きいほど、開発者も増えるため、品質の確保が難しくなってきます。開発に入る前に、設計の段階でシステム全体のアーキテクチャを適切に設計することが大切です。アーキテクチャの設計には、処理を共通化させるといった側面もあります。システム構造全体を俯瞰して処理を共通化することで、開発効率を向上させるだけではなく、システム全体の構造や動作の一貫性の確保、将来の変更や拡張への柔軟な対応、システム性能の最適化などのメリットを得ることができます。
intra-martのローコード開発では、あらかじめプラットフォーム側でアーキテクチャを適切に設計できるような仕組みが用意されているため、基本的なツールや機能に従って設定することで、一定の品質を確保できます。また、処理だけではなく画面も部品として共通化できるため、同じ機能を複数の場所で再利用でき、何度も作成する手間を省きます。部品の共通化により、カスタマイズが必要な範囲や作業の難易度が明確になるため、プログラミングのスキルによって、作業を適切に割り振ることができます。適切なリソースの配置により、プログラマーが難易度の高い業務に集中することができ、システムの品質をさらに高めることにもつながります。
intra-mart Design Systemのご紹介
intra-mart Design Systemでは、intra-martの画面開発における開発標準を定めています。ここでは、さまざまなデザインパターンのサンプルや実現方法についてガイドラインを提供しています。ガイドラインに従って設計・開発を進めていくことで、統一感のある画面デザインを実現し、品質の均一化と開発コストの削減が可能となります。
理由3. データベース設計が重要となるため
システム構築において、データベース設計は重要な要素の一つです。データベースがシステムに与える影響は多岐にわたりますが、主な影響について取り上げてみます。
- システムのパフォーマンスへの影響
- システム全体の信頼性への影響
- システムのセキュリティへの影響
最初に、システムのパフォーマンスへの影響について見てみましょう。データベースが不適切な設計であったり、冗長なデータ構造であったりすると、データの検索や更新といった処理が著しく低下します。データを効率的に処理する場合は、データベース設計で適切なインデックスや正規化を行うことで、システムの応答性が向上します。
次に、システム全体の信頼性への影響について見てみましょう。適切なリレーショナルデータベース(RDB)の設計や外部キーの制約により、データの一貫性や整合性が保つことができます。データに一貫性や整合性があると正確な結果を示すことから、ユーザが安心してシステムを利用でき、システム全体の信頼性が向上します。
最後に、システムのセキュリティへの影響について見てみましょう。データに適切なアクセス制御や暗号化を実施することで、データの機密性や完全性を保護します。データベースへの不正アクセスやデータの改ざんを防ぐことで、システムのセキュリティを強化します。
intra-martのローコード開発では、ユーザなどを格納するIM-共通マスタをはじめとした、intra-martの標準データを活用する機能が標準で利用できます。これらのデータベースは、ドキュメントライブラリでER(エンティティリレーションシップ)図なども公開しています。業務データのデータベース設計を行う際、参考にしてみてください。その他にも、intra-martでは、別のシステムで利用している既存のデータベースを利用できます。既存のデータベースを利用する場合は、データベース設計の観点で、あらためてテーブル構造やカラムの設定などのデータを確認しましょう。
intra-martで開発した画面やビジネスロジックに関しては、変数による値のやり取りを行うため、データベース設計が重要となります。データベース設計を適切に行い、それに沿った変数を作成できれば、各ツール間での連携が取りやすくなります。 開発するシステムの規模によっては、データモデリングの知識を持った専門的なエンジニアによるデータベース設計が必要となる場合もあります。データベースがシステムに与える影響を考慮し、設計工程の体制を構築していきましょう。
intra-martのテーブル定義情報
intra-martで取り扱っているデータベースのテーブル定義情報やER図は、ドキュメントライブラリからダウンロードできます。
ローコード開発で設計がこう変わる
要件定義と同様に、従来のシステム開発の設計工程を例にして、どのようにローコード開発を組み込むと効果的なのかという視点で説明していきます。ここでは、代表的な手法であるウォーターフォール開発を想定して、設計工程を外部設計と内部設計に分けています。アジャイル開発では、外部設計と内部設計といった明確な区分はないものの、プロセスの中でそれらに該当した作業が行われる場合もあるため、参考情報として確認することをおすすめします。
外部設計
外部設計では、システムの具体的な外部仕様を設計していきます。外部仕様とは、システムがユーザや外部システムに対して提供する機能やインタフェースのことを指します。ローコード開発では、従来のシステム開発のように、設計書を作成してからプログラミングを行うのではなく、ツールや機能を組み合わせながら設計を進めていきます。ここでは、外部設計で行う作業例とその作業で使用する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の標準データでは、すでに物理設計が実施されています。そのため、一部のデータでは、ER図を出力できます。また、IM-Repositoryを使うことにより、論理設計の段階で実装できる形式にできるため、データベースのパフォーマンスを確認しておくとよいでしょう。 |
intra-martで始める設計の流れ
ここからは、実際にintra-martのツールや機能を使って、設計を進める方法について解説していきます。基本設計については、システム方式設計、業務設計、アプリケーション方式設計という工程に分けています。特に、設計で検討する項目については、intra-mart側で対応していることも多いため、設計工数を大幅に削減できる可能性があります。プロジェクトを進めるにあたり、intra-martのツールや機能をどのように活用できるのかについて見ていきましょう。
Step. 1 アーキテクチャを中心にシステム方式設計を進める
システム方式設計では、まず要件定義で定めた非機能要件について、さらに詳細を検討していきます。
たとえば、障害復旧に関する可用性、パフォーマンスに関わる性能、セキュリティ対策、ユーザビリティといった非機能要件については、intra-mart側である程度の要件を満たしていますが、アプリケーションの開発環境や実装内容によっては、詳細まで確認・検討する必要が出てきます。また、intra-martの基本的な機能を使って簡易的なアプリケーションを作成する場合では、非機能要件について詳細まで検討しなくても良い項目もありますが、要件定義の内容を満たしているかどうかという視点で、intra-martの仕様を確認しておくと良いでしょう。
その他にも、ここで詳細まで検討が必要となるのは、アーキテクチャの全体設計とシステムの構成設計です。特に、外部システムとの連携やデータ移行を行う場合は、intra-mart側の設定も含めて、アーキテクチャとシステムの設計をそれぞれ十分に確認・検討することが求められます。
intra-martの設定ファイル
intra-mart Accel Platformで提供している設定ファイルについて確認できます。intra-martの機能の設定ファイルや外部システムとの連携に必要な情報が掲載されています。
Step. 2 詳細プロトタイプを作成しながら業務設計を進める
業務設計では、要件定義書で定めた業務要件やシステム要件(データ要件)について、さらに深く検討していきます。ここでは、要件定義で作成した業務プロセス図やビジネスロジックの基本プロトタイプを使って、アプリケーションで実現したい業務手順と比較して、抜けや漏れがないかを確認していきます。業務プロセスに問題がないことが確認できれば、基本プロトタイプをもとに、画面・帳票設計を進めていきます。同様に、データ設計やシステム間のインタフェース設計についても、intra-martの仕様を見ながら検討していきましょう。
データ設計とプロトタイピングの進め方
intra-martの各ローコード開発ツールで行うデータ設計や変数設計について説明しています。画面やビジネスロジックのプロトタイピングの進め方についても確認しておきましょう。
Step. 3 資料を見ながらアプリケーション方式設計を進める
アプリケーション方式設計では、要件定義書で定めたシステム要件(アプリケーション要件)について、さらに深く検討していきます。ここでは、アプリケーションのフレームワーク設計、データ項目辞書の作成、コンポーネント設計などを進めていきます。アプリケーションのフレームワーク設計やコンポーネント設計については、intra-mart側で対応している項目も多いため、intra-martで用意しているドキュメントや仕様書などを見ながら、各項目に抜けや漏れがないかを確認していきます。データ項目辞書については、intra-martのツールを利用することで、システム全体で統合的に管理できます。
アプリケーションで使用する用語を管理する
intra-martでは、アプリケーションで使用する用語をIM-Repositoryというツールを使って管理します。IM-Repositoryを使用すると、さまざまなアプリケーションから用語を参照できたり、用語変更に伴う影響範囲を特定できたりなど、開発の効率化に役立つ便利な機能が備わっています。
Step. 4 設計書の作成とレビュー
業務要件やシステム要件の検討が終わった後、各要件について設計書を作成していきます。
はじめに、システム方式設計で検討した内容を設計書としてまとめた後、要件定義書との整合性が取れているかを確認します。次に、業務設計で検討した内容を設計書としてまとめた後、要件定義書やシステム方式設計書との整合性が取れているかを確認します。業務設計では、詳細プロトタイプをもとにintra-martの各ツールから設計書を出力できます。最後に、アプリケーション方式で検討した内容を設計書としてまとめた後、システム方式設計書や業務設計書との整合性が取れているかを確認します。また、ドキュメント全体で整合性が取れているかという観点でも見直していきます。
各設計書の作成が終わった後、要件定義のシステム機能が漏れなく記述されているか、外部インタフェース、アプリケーション方式、システム方式、運用方式と整合性が取れているかなどを確認するためにレビューを実施します。
アプリケーションの設計書を出力する
ロジックフローと画面コンテンツの設計書の出力方法について確認しておきましょう。
Step. 5 開発に向けてプロトタイプを共有する
設計で作成した詳細プロトタイプをベースに、画面や処理といった部品の共有化を進めていきます。部品の共有化によって、プロジェクトの規模が大きいほど、開発期間の短縮や開発効率の向上といった効果を得ることができます。intra-martでは、一度作成した画面をテンプレート化したり、画面の一部(ヘッダ・フッタなど)を一つのパーツとして登録したりすることで、新しく画面を作成するときにテンプレートやパーツを流用できるようにしています。その他にも、作成したアプリケーション自体をテンプレート化したり、ビジネスロジックもパーツ化したりできます。
プロトタイプの共有部品の管理
intra-martのどのツールを使うと、どのような共有部品が作成できるのかについて確認しておきましょう。
まとめ
ローコード開発では設計が省略できると思っていた方も多いのではないでしょうか? システムの品質向上やリスク管理の観点からも、設計は欠かせません。さらに、システムが複雑になるにつれて、システム全体の構造を把握し、適切な設計を行うことがますます求められてくるでしょう。設計を効率的に進めるためにも、ローコード開発の特性を上手に取り入れながら、工数削減を目指していくことをおすすめしています。
ローコード開発ガイドでは、要件定義から保守・運用までの各工程において、intra-martのローコード開発ツールの効果的な活用方法について解説しています。今回は、設計の必要性と各工程におけるintra-martを使った工数削減のポイントについて紹介しました。特に、データベースの設計は、システム構築だけではなく、システムのパフォーマンスや信頼性にも影響を及ぼすため、重要な要素の一つです。
intra-martのローコード開発ツールを最大限に活用するためにも、ぜひ他の記事もご覧ください。