ソフトウェアの開発工程の設計フェーズ、外部設計で作成された仕様に基づいて、
ソフトウェア内部のアーキテクチャ、データ処理や管理の方法、アルゴリズム等を設計する。

内部設計の目的

内部設計では実装を意識し、ソフトウェア内部における具体的な処理手順
(内部処理ビジネスルールデータ検索編集更新処理等)を設計する。
 (機能分割物理データ設計入出力詳細設計)
・システムを分割(サブシステム化)
・各サブシステムの働きを決定(機能の明確化)
・各サブシステム・機能間の処理の流れを明確化
・プログラムを作成できるレベルまでシステム内部を、詳細に設計する

◇ 機能分割

モジュール分割の一般的な方法として、プログラムを機能部分に分ける
 ソフトウェアの機能を分割して構造化する。
「分割と構造化の手順」
   1. 機能の洗い出し   
   2. データフロー    
   3. 機能のグループ化  
   4. 階層構造化     
   5. プログラム機能の決定
   6. 分割・構造化の評価 
   7. 機能仕様書の作成  
「機能分割のための項目」
   1. 機能の流れが連続的になる様に分割する
   2. 機能が選択的になる様に分割する
   3. 繰り返し行う機能は分割する
   4. 入力処理出力を分割する
   5. 上位レベル下位レベルに分割する。判断や決定機能は上位、処理動作等の機能は下位
   6. 機能間のデータのやり取りを出来るだけ少なくする様に分割する
   7. 個々の機能は単一の入口単一の出口がある様に分割する

◇ 物理データ設計 (データベース物理設計)

 外部設計で行った論理設計を前提として、
使用するシステムの環境やファイルの特性等を考慮し、ファイル編成の方法や媒体、レコードのレイアウトを決定する。
(ファイル編成方法の決定 ファイル媒体の決定 レコードレイアウトの決定)
  ・ データのライフサイクル(半永久・年単位・半年・月単位・週単位・日単位・一時等)を決定。
  ・ 更新特性(検索・挿入・更新・削除)や1日の更新量を決定する。
  ・ 現在のデータ量、ライフサイクル、更新特性、1日の更新量を考慮し、数年後のデータ量を見積る
  ・ I/Oが分散する様に配置する。
  ・ 更新特性を考慮しながら、初期ロード時の領域使用率を決定する。
  ・ アクセスパスを考慮しながら、インデックスを設定する。

◇ 入出力詳細設計

外部設計の入出力設計をもとに、入出力の具体的な形式や内容を設計する。
 以下の手順で、原票やシステムが出力する帳票、データ入力用の画面レイアウトを決定する。
入力データのチェック方法や表示するメッセージ等についても検討する。
   1. 原票設計
   2. 帳票設計
   3. 画面設計
   4. 入力チェック方法の決定
   5. メッセージ設計

■画面設計

画面のビジネスルールを記述する。
  ・ データ入力チェックルールを記述する。
  ・ データ項目編集ルールを記述する。
  ・ 初期値、デフォルト値を定義する。
  ・ データ検索ルールを記述する。
  ・ データ追加・更新・削除ルールを記述する。
  ・ 画面遷移ルールを記述する。
  ・ エラー処理を記述する。

■帳票設計

帳票のビジネスルールを記述する。
  ・ データ検索ルールを記述する。
  ・ 印字項目編集ルールを記述する。
  ・ エラー処理を記述する。

■インターフェース設計

インターフェースのビジネスルールを記述する。
  ・ データ検索ルールを記述する。
  ・ データ項目編集ルールを記述する。
  ・ 初期値、デフォルト値を定義する。
  ・ エラー処理を記述する。

ITC  (C) LLC アルファ・ITC 最終更新:2009/11/24