システム設計の謎を解く¶
書籍「システム設計の謎を解く 強いSEになるための機能設計と入出力設計の極意」
「設計」という言葉の意味をまじめに捉えて語っている本です。
- 設計の「意味」がバラバラである謎
設計は守備範囲が広い言葉なので、設計という言葉の定義を明確化せずに議論すると誤解を生む - 設計の「範囲」の謎
人、プロジェクト、組織によってどこまでをどの工程でやるかがバラバラ。標準化、方法論で定義されるもの。 - 工程の設計とシステム構成要素の設計と2つの設計がある
- 工程設計の例
- 概念設計: システム全体で解決すべき課題をどのような概念で解決するか
- 基本設計: システムの目的(要件)を満たすための動作や振る舞い、構造を決定、記述する
プログラム(実装手段)は考慮せずデータの入出力。実現手段≠実装手段 - 詳細設計: 基本設計された動作・振る舞い・入出力
- 外部設計
- 内部設計
- 機能の洗い出し方
業務フロー、利用者の目的、システムの目的、施策から抽出 - 機能の粒度
- 機能の事前条件・事後条件
- 全体設計
- システム境界図
- システム鳥瞰図
対象を幾つかのサブシステムに分割してその間の流れを記述する
- アプリケーション設計
どのように機能要件を満たすかを検討し、これらをインプット、データ格納、アウトプットに分けること
なにをしたいか=機能要件
データをどう格納するか=DB設計
データをどう入力させるか=入力設計、連携設計
データをどう見せる/アウトプットさせるか=出力設計、連携設計