💀

外部設計(external Design)のお話

2023/06/01に公開

私が「外部設計」という言葉を聞いたとき、真っ先に結び付く用語が「ウォーターフォール」です。この記事は、ウォーターフォールをお勧めする記事では決してありません。
また共通フレームも気にせずにこの記事を書くことにします。

ウォーターフォールモデル

ウォーターフォールという用語を誰が作ったのかは調べたところ、不明なのだそう。
提唱者は不明だけど、世に広まっている概念...

ウォーターフォール・モデルの提唱者?

↓ Royceは提唱者ではないという指摘。参考程度に見てみるのが良いと思う。
1970年に発表されたウィンストン・W・ロイス(Winston W.Royce)の
論文☛Managing the Development of Large Software Systems
→Waterfallの用語も出てこず、現在の概念とは異なっている模様

↓下記の記事で分かりやすく説明されていました。
https://blog.sa2taka.com/post/waterfall-is-missing/

BellとThayerの論文(Bell and Thayer[1976])で「WaterFall」の用語が使われている。

世に広がっているウォーターフォール

・下記のフェーズを持つ。
1)要件定義
2)設計
3)システム実装
4)テストのフェース

・これらは一度のステップで終わる。

外部設計⇔内部設計の表現

利用者からみたシステムの外側と内側のイメージ

パターン1) 要件定義→外部設計→内部設計→コーディング→単体テスト→結合テスト→運用テスト→リリース

パターン2) 基本計画→外部設計→内部設計→プログラミング設計→プログラミング→テスト→運用・保守

基本設計⇔詳細設計の表現

設計の粒度による分類のイメージ
パターン1)要件定義→基本設計→詳細設計→コーディング→単体テスト→結合テスト→総合テスト

私個人の見解

よくいくつかのサイトに「(基本設計=外部設計)」と書いている記事を見かけますが、被っている部分もあるけどそんなわけないでしょと思います。

外部設計で作成する成果物はなにであろうか?

利用者からみたシステムの外側と内側のイメージ

上記をもとに最低限成果物になりえるものをまとめてみます。

・各画面の内容、および機能
・画面遷移図

これも企業によってまちまちで、書き方も文化それぞれですね。

Discussion