ISBN 9784774195391
はじめよう!システム設計 : 要件定義のその後に
概要
要件定義後のシステム設計工程を入門者向けに体系化する
想定読者
要件定義を経験したものの、その後の設計工程の進め方に不安を感じているSE・業務アプリ開発者
こんな人には向いていない
- 複数プロジェクトのシステム設計を担当してきた中〜上級SEには基礎事項の比重が大きい
- クラウドネイティブや大規模分散アーキテクチャの設計パターンを主目的に探している読者には対象外
この本で身につくこと
- 要件定義完了後に着手すべき設計工程の全体像と各フェーズの役割を把握できる
- 設計フェーズごとの成果物の目的と使い方を区別できる
- システム設計と見積り・プロジェクト管理の接点を理解し、工程計画に反映できる
章立て
第1章 システムとは何か
本書の問題設定
第2章 プロセスとは何か
業務プロセスと処理フローの区別を定義する章。本書では「プロセス」を独自の粒度で使うため、後章を読む前にここで語義を固めておくと理解効率が上がる
第3章 システム設計とは何か
本書が扱う「設計」の射程と主な成果物の種類を概観する。第7章以降の各層別設計に入る前の俯瞰マップとして機能し、読み進める順番の道標になる
第4章 要件定義とは何か
本書の前段。要件定義工程の整理
第5章 要件定義のサンプルケース
抽象的な要件定義論を具体的なシナリオで確認するための実例章。第4章の理解が曖昧な場合はここのサンプルを照合しながら再確認するとよい
第6章 改めてシステム設計とは何か
要件定義と設計の境界を明確化する章
第7章 [フロント層] UI設計を行う
UI 設計の手順論。実装直前の最終整理段階
第8章 [フロント層] UI設計の手順
第7章の方針論に続き、実際の手順とドキュメントの書き方を示す実務章。UI設計の経験が薄い読者はここを先に参照することも有効
第9章 [フロント層] 要件定義としてのUI設計
設計フェーズ移行後もUI確認が要件定義の延長線上にある点を整理する章。設計と要件の境界が曖昧になりやすい局面の認識精度を高める
第10章 [フロント層] 機能を設計する
画面単位の機能ロジックを設計書に落とす方法を扱う章。UI設計(第7〜9章)と後段のモジュール設計の橋渡しで学習負荷が高めの位置
第11章 [フロント層] モジュールのインターフェースを定義する
モジュール間契約の設計。チーム分担の前提
第12章 [フロント層] モジュールの実装を定義する
第11章のインターフェース定義に続き、実装詳細の記述方法を扱う章。設計書のレビュー観点を習得するうえで第11章とセットで読むと効果的
第13章 [フロント層] 実装定義をやってみよう
第12章の実装定義を手を動かして確認する演習章。概念が曖昧な場合は本章の問題で立ち止まり、詰まった箇所を前章に戻って照合するとよい
第14章 [バック層] バック層を設計する
フロント層設計と対比しながら、バック層固有の設計事項(処理ロジック分割など)を扱う章。前章群との比較で層別設計思考が整理される
第15章 [DB層] モジュールのインターフェースを定義する
DBアクセス層のインターフェース設計を扱う章。上位層との接続をどう抽象化するかを学び、フロント・バック・DBの依存関係設計の起点になる
第16章 [DB層] テーブル設計を行う
ER 図 / 正規化の実務観点での適用
第17章 [DB層] 実装を定義する
テーブル設計(第16章)を踏まえ、SQL・ストアドの仕様を設計書に記述する方法を扱う章。DB設計を「仕様化する」という作業実態が理解できる
第18章 システム設計の成果
成果物の体系。レビュー観点としても活用できる
第19章 マルチサイクルによるスコープ管理
反復サイクルでスコープを段階的に確定させる方法論を扱う章。本書では珍しく工程管理の現場視点が入り、入門書にしては実践的な内容
第20章 正しい「率」による進捗管理
進捗率を正しく扱う方法論。本書独自の視点
第21章 共通化の罠
DRY 原則の適用判断。本書の警鐘的な締め
関連記事 / 参考情報
- 要件定義・設計・見積り・時間計測・タイムマネジメント・プロジェクトマネジメントを学ぶには(書籍編) — 設計・見積り・PMを体系的に学ぶ推薦書籍をフェーズ別に整理したリスト記事
学習のヒント
- 「要件定義のその後に」というサブタイトルが示すように、手元に担当プロジェクトの要件定義書を置いた状態で読み進めると、各設計工程の位置づけが具体的につかみやすい
- 設計工程全体を俯瞰する入門書として使い、データ設計や画面設計など特定分野を深掘りする際は別の専門書と組み合わせると定着が早い
前提知識
- 業務システムの要件定義フェーズに一度でも関わった経験
- 基本的なデータベース(テーブル・リレーション)の概念の理解
次に読む本
SQLアンチパターン
本書でテーブル設計の基礎(ER図・正規化)を押さえた後、実際の開発現場で踏みやすいアンチパターン(EAV・ポリモーフィック関連など)を体系的に把握することで、設計時の判断根拠と実装レベルの失敗回避が同時に強化される
オブジェクト指向でなぜつくるのか
本書がカバーするモジュール設計・インターフェース定義の背景にある「なぜ構造化するのか」という問いを、オブジェクト指向の歴史と思想から掘り下げる。設計判断を言語化する際の根拠として参照すると思考が整理される
出版社による内容紹介
AI・IoT活用からレガシー対応まで、どうしたら、うまくいくんだろう?生産性と保守性・将来性を両立する、UI・プログラム・DB設計の肝、そのハウツーがこの一冊に。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。