Magicode logo
Magicode
2

『はじめての設計をやり抜くための本 第2版』を読んで

2022.04.20 未読了

2008年に出版された『はじめての設計をやり抜くための本』が、説明に使われているフレームワーク等の内容を現在メジャーなものへと刷新し、さらにアジャイル開発の解説を加えるなどリニューアルされた改訂版となります。

読者(私)

私は基本的には設計書に従ってプログラミングを行いながら、たまに簡単な機能追加に関する設計書を作成したことがあるようなレベルです。 設計に関して体系的に学んで基礎を身につけたい、システムをゼロから開発するにはどうしたらいいのか知りたいという思いから手に取りました。

この本を読んで(個人的なメモ)

第1章

エンジニアという仕事について。 一般的な職種やシステム開発の流れについて説明があり、非エンジニアの方にも親切な導入となっているように思います。

第2章

開発プロセスにおける設計の位置付け、及び目的の確認から、設計の具体的な手法へと進んでいく。 前工程である要件定義、見積にも触れられており実際の業務がイメージしやすい。 設計は大きく分けて「外部設計」と「内部設計」がある。

外部設計:システムの入力と出力を明確にする

  • 画面設計
  • 外部システムI/F設計
  • バッチ設計
  • 帳票設計
  • データベース論理設計

内部設計:入力と出力の間である内部処理を設計する

  • 画面プログラム設計
  • ビジネスロジックプログラム設計
  • データベースプログラム設計
  • データベース物理設計

設計を任された場合に真っ先に確認すること

  • 要件定義の成果物はどのようなものか
  • 設計の期間と範囲
  • 設計の成果物とはどのようなものか

設計で外部仕様を検討する理由として、要件定義では 「開発工数を見積もるためにシステムのステークホルダーに対して、システムが必要とする機能や特性を明確に定義すること」 を目的としており、開発工数が見積もれる状態であれば終了となるため、残りの外部仕様は設計フェーズで行われる。 これは発注タイミングが背景にある(早いとリスク低減・作業が早く進むが、見積金額が増大する)

設計書では要件と機能、プログラミングそれぞれの関連性を明確にする

オブジェクト指向設計 どのようなクラスがあるかをクラス図で定義し、クラス間のメッセージパッシング(クラス間のオブジェクト受け渡し)をシーケンス図で定義する

第3章

第4章

第5章

第6章

第7章

書籍リンク

『はじめての設計をやり抜くための本 第2版』 https://www.amazon.co.jp/dp/B09T2NSJS7

Discussion

コメントにはログインが必要です。