オフショア開発, システム開発,

266 views

外部設計と内部設計

システム開発における設計は、「外部設計」と「内部設計」の二つに大別できます。基本的にシステム設計では、最初に要件定義を行い、次に外部設計を行います。外部設計を基にして内部設計を行ったあと、内部設計を基にしてプログラミングを行います。今回は、 外部設計と内部設計 、それぞれについてご紹介します。

外部設計と内部設計

外部設計とは?

外部設計は、実際にシステムの仕様を決定する段階です。要件定義で決定したシステムの機能要件や非機能要件、制約条件、外部とのやり取りなどをより具体的な仕様にすることで、実際にプログラム可能な形にします。ここでは、外部設計の主な項目を三つに分けて解説します。

● 方式設計

方式設計では、システムの実装方針やプラットフォームの方針を設計します。システムがどのようなハードウェアで合成されるか、ハードウェアやソフトウェアの機能や構造をどうするか、プラットフォームは何か、開発言語をどうするかなどを決定します。アプリケーション全体の構造もここで設計されるため、アーキテクチャ設計とも呼ばれています。

● 機能設計

機能設計では、システムをモジュール単位で分割し、各モジュールや使用するデータベースの設計を行います。具体的には、データの入出力、データベース同士のデータの受渡し、ユーザーによる操作などです。

また、画面のレイアウト、操作方法、帳票類の書式など、システムの使いやすさやユーザー満足度につながるインターフェース部分の仕様を決めるのも機能設計の役割です。

● その他の設計

その他の設計では、クライアントに求められている機能やセキュリティや運用規定など、業務として運用するために必要な部分を決定します。

外部設計では、「外部設計書」「画面仕様書」「インターフェース仕様書」などが成形されます。これらの内容は、クライアントに確認して合意を取ることが必要です。

内部設計とは?

内部設計では、外部設計の結果を実際にプログラミングできるように、システム内部に特化した詳細な設計を行います。ここでは、内部設計の主な項目を三つに分けて解説します。

● 機能分割

機能分割では、プログラミングやシステムのメンテナンスをしやすくするために、機能をモジュールごとに分け取り、各モジュールの機能を明確化します。また、機能間でデータが処理される際の流れ(データフロー)を設計します。データが処分される流れを明確にすることで、設計バグを洗い出せます。

● 物理データ設計

物理データ設計では、ユーザーには見えないシステム内部で使用するファイルやデータのやり取りに関する部分の設計を行います。

● 入出力の詳細設計

入出力の詳細設計では、外部設計で決めたインターフェースをプログラミングでどのように実装し、表現するかをさらに細かく設計します。例えば、エラー処理や初期値・デフォルト値の定義、入力データのチェック方法、表示するメッセージなどについても検討します。

内部設計では、「機能仕様書」「データフロー図」「データベース物理設計書」などが作成されます。内容はプログラミング作業を行うメンバーに共有されますが、内部設計でクライアントとの調整を行うことはほとんどありません。

まとめ

 外部設計と内部設計はシステム開発における設計の二つの大きな部分です。システム設計の流れには外部設計か内部設計かをきちんと作成できないと製品の品質を確保できるはずがないでしょうか。

前の記事
次の記事

#関連キーワード