外部設計(external Design)のお話
私が「外部設計」という言葉を聞いたとき、真っ先に結び付く用語が「ウォーターフォール」です。この記事は、ウォーターフォールをお勧めする記事では決してありません。
また共通フレームも気にせずにこの記事を書くことにします。
ウォーターフォールモデル
ウォーターフォールという用語を誰が作ったのかは調べたところ、不明なのだそう。
提唱者は不明だけど、世に広まっている概念...
ウォーターフォール・モデルの提唱者?
↓ Royceは提唱者ではないという指摘。参考程度に見てみるのが良いと思う。
1970年に発表されたウィンストン・W・ロイス(Winston W.Royce)の
論文☛Managing the Development of Large Software Systems
→Waterfallの用語も出てこず、現在の概念とは異なっている模様
↓下記の記事で分かりやすく説明されていました。
BellとThayerの論文(Bell and Thayer[1976])で「WaterFall」の用語が使われている。
世に広がっているウォーターフォール
・下記のフェーズを持つ。
1)要件定義
2)設計
3)システム実装
4)テストのフェース
・これらは一度のステップで終わる。
外部設計⇔内部設計の表現
利用者からみたシステムの外側と内側のイメージ
パターン1) 要件定義→外部設計→内部設計→コーディング→単体テスト→結合テスト→運用テスト→リリース
パターン2) 基本計画→外部設計→内部設計→プログラミング設計→プログラミング→テスト→運用・保守
基本設計⇔詳細設計の表現
設計の粒度による分類のイメージ
パターン1)要件定義→基本設計→詳細設計→コーディング→単体テスト→結合テスト→総合テスト
私個人の見解
よくいくつかのサイトに「(基本設計=外部設計)」と書いている記事を見かけますが、被っている部分もあるけどそんなわけないでしょと思います。
外部設計で作成する成果物はなにであろうか?
利用者からみたシステムの外側と内側のイメージ
上記をもとに最低限成果物になりえるものをまとめてみます。
・各画面の内容、および機能
・画面遷移図
これも企業によってまちまちで、書き方も文化それぞれですね。
Discussion