上流工程のいろは
ウォーターフォール開発における上流工程には業務ではほとんど関わったことがありませんが、主に基本設計について勉強する機会があったので記録。
色々な所ですでにまとめられてはいますが、個人的に腑に落ちた言葉でまとめます。
いつものやつ
この図でいう左側について主に。
要件定義
目的
- システムで満たすべき機能や品質を定義する。
- 開発工数を見積れるレベルまで要件を抽出する。
要件定義の作業と成果物
作業 | 成果物 |
---|---|
ユースケース分析 | ユースケース一覧 |
ビジネスルール一覧 | |
ビジネスルール | |
概念モデリング | 概念モデル |
用語集 | |
非機能要件定義 | 非機能要件定義書 |
機能要件と非機能要件
- 機能要件
システムの利用者に対して提供される具体的な価値。利用者の何らかの目的を達成するために使われ、ユースケースで定義されるもの。 - 非機能要件
利用者が機能を利用するために補助的に必要なシステムの特性や性能のこと。
そもそも設計を行う目的
- 要件定義の内容をどのようにシステムで実現するかを検討する。
また以下の理由から、開発プロセスの一部でもあり、より良い開発を行うためにも必須である。
* 関係者間での情報共有
* 品質の向上
* メンテナンスのため
基本設計
目的
- 要件定義で明確になっていない外部仕様を検討し、落とし込む。
- システムのI/Oを明確にする。
- 機能・非機能要件、異常系動作、制約条件をまとめる。
基本設計の作業と成果物
作業 | 成果物 |
---|---|
画面設計 | UI設計ポリシー定義書 |
画面遷移図 | |
画面一覧 | |
画面モックアップ | |
画面入力チェック仕様 | |
画面一覧 | |
外部システムI/F設計 | 外部システムI/F仕様書 |
バッチ設計 | バッチ仕様書 |
帳票設計 | 帳票仕様書 |
DB論理設計 | DB論理設計書 |
論理ER図 |
詳細設計
目的
- プログラマが実際のプログラムが作れるレベルまで細かく落とし込む。(プログラム設計)
詳細設計の作業と成果物
作業 | 成果物 |
---|---|
画面プログラム設計 | アクション一覧 |
アクション設計書 | |
画面共通部品設計書 | |
ビジネスロジックプログラム設計 | ビジネスロジックプログラム設計書 |
データベースプログラム設計 | エンティティクラス図 |
DAOクラス図 | |
データベース物理設計 | 物理ER図 |
テーブル定義書 |
基本設計については別の記事でもう少し詳しくまとめます。
参考にしました
ちょっと古めの本なので例として挙げられている技術がいにしえ感あるのですが、WF開発の根幹となる部分を学習するにはよかったです。
初心者向けです。上流工程に普段から関わられている方にはおそらく物足りない。