ソフトウェア設計技法
構造化分析
構造化分析 (Structured Analysis) は,要求される仕様を階層的に設計していく分析手法であり,次の手法がある.
- データフローダイアグラム(Data Flow Diagram:DFD)
- データの流れを基に,要求されたシステムの機能を図的に表現する.
- データディクショナリ(Data Dictionary)
- システムが用いるすべてのデータフローとファイルを構成するデータについて,その論理的な構成を辞書として一元的に管理する.
- ミニスペック(Mini Specification)
システムの機能を仕様として記述する.
- 構造化言語(連接構文,選択構文,反復構文)
- デシジョンテーブル(条件と対応する処理を表で表現)
- デシジョンツリー(条件と対応する処理を木構造で表現)
構造化設計
プログラム構造とモジュール間インタフェースの設計手法であり,プログラムを階層的にいくつかのモジュールに分割する際の指針,およびモジュール間の繋がりを決める指針を与える.
- STS 分割法
データの流れを源泉(Source)/変換(Transform)/吸収(Sink)に分割し,これをもとに入力/処理/出力の 3 つのモジュールに分割する.
- TR 分割法
トランザクション(処理の単位)ごとにデータの流れを分割し,モジュール構造を設計する.
トランザクションの種類が多く,複数のデータのやりとりがある場合,または処理に分岐がある場合に適している.
データ指向設計
プログラムの対象にする入力データ構造と出力データ構造の関連(写像関係)からプログラム構造を導出する.
- ジャクソン法(Jackson Structured Programming: JSP)
入出力データの構造に着目して,プログラムの論理構造をデータ構造から導出する.プログラムは入力データを出力データに変換する処理であり,データの加工処理の手順がプログラムの制御構造を決定するとうい考え方に基づいている.入力データ,出力データの構造化は木構造(ジャクソン木)を用いて行われる.
基本,連接,反復,選択の4つの図式を用いて,データ構造とプログラム構造を階層化する.
- ワーニエ法(Warnier method)
集合論に基づき入力データ構造を分析し,データが「いつ,どこで,何回」使われるかをもとに,連接・選択・反復の制御構造でプログラムを展開する.
ジャクソン法と似ているが,ワーニエ法は入力データ構造のみからプログラム構造を決めている.
制御構造指向設計
- 構造化プログラミング
標準的な制御構造のみを使い,プログラム全体を段階的に細かな単位に分割して処理を記述していく手法である. 各機能単位は必ず一つの入口と一つの出口を持ち,単位の連結・組み合わせは必ず次の 3つの基本制御構文のみを使って行う.これにより,プログラムの静的な状態と動的な状態を一致させる.
- 基本制御構文
- 連接(Concatenation)または 順次 (Sequence)
- 選択(Selection)
- 反復(Repetition)
- 構造化定理
基本制御構造だけを用いて任意の制御構造を持つプログラムを設計することができる.
- 構造化チャート
構造化プログラミングに対応したプログラム処理の図的表現法
- PF(Program Flowchart)
- HCP(Hierarchical and Comact Description Chart)[NTT]
- PAD(Problem Analysis Diagrams) [Hitachi]
- SPD(Structured Programming Diagrams) [NEC]