システム開発の工程である外部設計と内部設計。
この記事では外部設計と内部設計について詳しく見ていきます。
ソフトウェア設計とは?興味がある方はこちらから↓
外部設計とは
実際にユーザーの目に触れるインターフェースの部分などを設計します。
システムの全体像や、おおまかな機能などを決定します。
外部設計は「方式設計」「機能設計」「その他の設計」の3つに大別できます。
方式設計
「アーキテクチャ設計」とも呼ばれます。
ハードウェアやソフトウェアの実装方法や、プラットフォームなどを決めます。
機能設計
システムを機能(モジュール)ごとに分け、それぞれの機能を設計します。
機能同士でデータをやり取りする流れの設計も行います。
それ以外の設計
方式設計と機能設計の計画を実行するための方針が決められます。
開発費用や納期などが、それ以外の設計に該当します。
内部設計とは
外部設計の内容を実際にプログラミングできるように詳細を設計します。
ユーザーの目に触れない、システムの裏側の設計がメインです。
外部設計が終わってから内部設計の工程に移ります。
内部設計には「機能分割」「物理データ設計」「入出力の詳細設計」といった3つの工程があるのが一般的です。
機能分割
システムを機能ごとに分け、それぞれの機能ごとに実装する内容を決定します。
この際にデータ処理のフローも設計します。
物理データ設計
システム内部でのファイルのやり取りやデータのやり取りを行なう部分を設計します。
入出力の詳細設計
外部設計の内容を、実際にどのように実装するかを検討します。
初期値の定義やエラー処理の方法など、さまざまな内容を設計します。
まとめ
外部設計は「基本設計」、内部設計は「詳細設計」という位置づけです。
外部設計はユーザーの使いやすさを重視するのが基本です。
内部設計は開発メンバーのために行われます。
外部設計も内部設計もシステム開発には欠かせない工程で、きちんと設計されていないと実際に開発する工程で問題が起こる可能性があります。
また現場によって外部設計と内部設計の内容が異なる点も、留意しておきましょう。