→上流工程一般
→要件定義
→アーキテクチャ
→詳細設計
- 基本設計は大雑把な設計、詳細設計は細かい設計だと思っている人がいるが、それは誤り
- 基本設計は、システムを外から見たときどういう動きをするか(=外部設計、What)を決めるもの。詳細設計は基本設計で決められた動きをどうやって実現するか(=内部設計、How)を決めるもの、と考えるとよい。
- 基本⇔詳細という言葉に惑わされず、外部から見たときの動きについての話なのであれば、どんなに細かいことでも基本設計に書く。
- 機能要件設計書だけで20種類 2009.1.8
- 基本設計は大きく分けて三つのプロセスを踏む。いずれの設計も入力情報となるのは要件定義で作成した成果物である。
- 「機能要件設計」どのような機能をアプリケーションに求めるかを設計する。その際「画面」「業務プロセス」「データ」という三つの切り口に分ける。
- 「システム方式設計」システム方式設計では、性能や信頼性などの非機能要件を整理する。それを踏まえて、ハードウエアやソフトウエアなどの構造や実装方式を練る。
- 「アプリケーション方式設計」アプリケーション方式設計では、非機能要件を考慮しつつ、機能要件設計で明確にした機能(画面、業務プロセス、データ)を適切なサイズのモジュールに割り当てる。
- 基本設計で作成する設計書の一覧(日立システム開発方法論「HIPACE」を基に作成)
- システムのリプレース案件が最も危険な理由 2008.2.24
- 運用していくうちに、バグフィックスや機能追加で、恐竜のように馬鹿でかくなった中身は、最新のオブジェクト指向言語で、同じようにたくさんのバグフィックスを重ねて積み上げたものに変わる。
同じソースコードの断片は一つもないはず。
- プログラムの保守性や移植性、再利用性が、どの時代になっても、言語がいくら発展しても難しいこと。
- 特に再利用性は、そのライブラリの粒度に大きく依存する。
- 再利用できる程度は、フレームワーク程度ぐらいで、昔から夢想するビジネスオブジェクトレベルまでなかなか辿り着けない。
画面設計†
- 要件定義とは、そのシステムで実現したい(および実現しない)ことをまとめたもの。そのシステムで何ができるのか、何が実現できるのかという効能を整理したもので、システムの具体的な動き、仕様までは書かないのが普通。
- 要件定義をインプットとしてシステムの外部仕様を決めるのが基本設計。そのシステムを「外側から見たときの」具体的な振る舞いを定義する。
- どういうデータ項目がDBや画面、帳票などに対してどのように出し入れされるか、画面遷移、各機能の整理など
Last-modified: 2024-06-06 (木) 17:50:38