上流工程のいろは

ウォーターフォール開発における上流工程には業務ではほとんど関わったことがありませんが、主に基本設計について勉強する機会があったので記録。
色々な所ですでにまとめられてはいますが、個人的に腑に落ちた言葉でまとめます。

いつものやつ

この図でいう左側について主に。 f:id:mpiman:20171220180008p:plain

要件定義

目的

  • システムで満たすべき機能や品質を定義する。
  • 開発工数を見積れるレベルまで要件を抽出する。

要件定義の作業と成果物

作業 成果物
ユースケース分析 ユースケース一覧
ビジネスルール一覧
ビジネスルール
概念モデリング 概念モデル
用語集
非機能要件定義 非機能要件定義書

機能要件と非機能要件

  • 機能要件
    システムの利用者に対して提供される具体的な価値。利用者の何らかの目的を達成するために使われ、ユースケースで定義されるもの。
  • 非機能要件
    利用者が機能を利用するために補助的に必要なシステムの特性や性能のこと。

そもそも設計を行う目的

  • 要件定義の内容をどのようにシステムで実現するかを検討する。

また以下の理由から、開発プロセスの一部でもあり、より良い開発を行うためにも必須である。
* 関係者間での情報共有
* 品質の向上
* メンテナンスのため

基本設計

目的

  • 要件定義で明確になっていない外部仕様を検討し、落とし込む。
  • システムのI/Oを明確にする。
  • 機能・非機能要件、異常系動作、制約条件をまとめる。

基本設計の作業と成果物

作業 成果物
画面設計 UI設計ポリシー定義書
画面遷移図
画面一覧
画面モックアップ
画面入力チェック仕様
画面一覧
外部システムI/F設計 外部システムI/F仕様書
バッチ設計 バッチ仕様書
帳票設計 帳票仕様書
DB論理設計 DB論理設計書
論理ER図

詳細設計

目的

  • プログラマが実際のプログラムが作れるレベルまで細かく落とし込む。(プログラム設計)

詳細設計の作業と成果物

作業 成果物
画面プログラム設計 アクション一覧
アクション設計書
画面共通部品設計書
ビジネスロジックプログラム設計 ビジネスロジックプログラム設計書
データベースプログラム設計 エンティティクラス図
DAOクラス図
データベース物理設計 物理ER図
テーブル定義書

基本設計については別の記事でもう少し詳しくまとめます。


参考にしました

www.shoeisha.co.jp

ちょっと古めの本なので例として挙げられている技術がいにしえ感あるのですが、WF開発の根幹となる部分を学習するにはよかったです。
初心者向けです。上流工程に普段から関わられている方にはおそらく物足りない。