まったくあたらしい、組込み技術者のための教科書が誕生しました。組込みエンジニア教科書は、エンジニアの手によって著されたエンジニアのための教科書です。
本書は、要件定義 / 分析 / 設計からソースコード生成に至るまでの工程で、構造化手法に基く組込みソフトウェア開発について解説します。ソフトウェア開発の基本である構造化手法を、モデリングの行うことで今日的なソフトウェア開発手法として身に着けることができます。
初級エンジニア向けに書かれていますので、これから本格的に技術者としてのスキルを積み上げていきたい方はもちろん、今までのやり方に疑問を持つ中級者の方、カイゼンを行いたい管理者の方にもお勧めです。
Chapter 1 はじめに
1-1 本書について
1-1-1 本書の適用範囲
1-1-2 構造化手法で基本を学ぶ
1-1-3 モデリング中心
1-1-4 具体的な事例
1-2 本書の活用方法
1-2-1 本書の読み進め方
1-3 モデリングツールの活用
1-3-1 イベントリスト
1-3-2 データディレクトリ
1-3-3 データフローダイアグラム
1-3-4 構造図
1-3-5 ディシジョンテーブル
1-3-6 状態遷移図
1-3-7 状態遷移表
1-4 組込みソフトウェアの開発
1-4-1 組込みソフトウェアとは
1-4-2 組込みソフトウェアの主要分野
1-4-3 組込みソフトウェアの特徴
1-4-4 システム開発の要件
1-4-5 組込みソフトウェアの特性と開発工程
1-4-6 日本の組込みソフトウェア開発
1-4-7 どんな技術が必要か
1-4-8 ソフトウェア開発工程とモデリング
1-4-9 モデリングの効用
Chapter 2 課題説明
2-1 話題沸騰ポット(GOMA-1015)
Chapter 3 失敗事例
3-1 失敗事例 1:基本動作から積み上げていった例
3-1-1 ソースコードの概要
3-1-2 解説
3-2 失敗事例 2:ハードウェアを動かしながら作り上げていった例
3-2-1 ソースコードの概要
3-2-2 解説
3-3 失敗事例 3:要求仕様の曖昧さに気付いていない例
3-4 まとめ
3-4-1 6つの失敗パターン
Chapter 4 要求モデリング
4-1 なぜ要求モデルが必要なのか
4-1-1 仕様書はもらったけれど
4-1-2 仕様書を作る立場から
4-1-3 仕様書を読む立場から
4-2 要求モデリングで何をするのか
4-2-1 要求モデリングとは
4-2-2 要求モデリングのプロセスとアウトプット
4-3 要求モデリングを体験する
4-3-1 イベントリストを作成する
4-3-2 イベントリストの表記法
4-3-3 イベントリストの作成過程
4-3-4 非機能要件リストを作成する
4-3-5 タイミング仕様書を作成する
4-3-6 データディクショナリを作成する
4-4 ポットの要求モデル事例
4-5 まとめ
4-6 復習
Chapter 5 分析モデリング
5-1 なぜ分析モデルが必要なのか
5-1-1 仕様書からいきなり設計していると
5-1-2 設計する立場から
5-1-3 プロジェクト管理者の立場から
5-2 分析モデリングで何をするのか
5-2-1 分析モデリングとは
5-2-2 分析モデリングのプロセスとアウトプット
5-3 分析モデリングを体験する
5-3-1 コンテキストダイアグラムを作成する
5-3-2 データフローダイアグラム(DFD)を作成する
5-3-3 DFDの表記法
5-3-4 コンテキストダイアグラムとDFDの作成過程
5-3-5 データディクショナリを更新する
5-3-6 制御フローダイアグラムを作成する
5-3-7 制御仕様書を作成する
5-3-8 プロセス仕様書を作成する
5-3-9 分析モデリング成功の要所
5-4 ポットの分析モデル事例
5-5 まとめ
5-6 復習
Chapter 6 設計モデリング
6-1 なぜ設計モデルが必要なのか
6-1-1 設計モデルがなかったあの頃
6-1-2 設計モデルを作成する立場から
6-1-3 設計モデルを作成する立場から
6-1-4 ソフトウェア統合の視点から
6-2 設計モデリングで何をするのか
6-2-1 設計モデリングとは
6-2-2 設計モデリングのプロセスとアウトプット
6-2-3 構造設計以後のコード中心プロセスの例
6-3 設計モデリングを体験する
6-3-1 構造図を作成する
6-3-2 構造図の表記法
6-3-3 構造図の作成過程(DFDからSCへの移行)
6-3-4 モジュール仕様を作成する
6-4 ポットの設計モデル事例
6-4-1 DFDからSCへの移行
6-4-2 DFD全貌と最大抽象点
6-4-3 できあがった構造図
6-4-4 タイミング要求への対応
6-4-5 モジュール仕様一覧
6-4-6 モジュール仕様書
6-5 まとめ
6-6 復習
Chapter 7 プログラミング
7-1 失敗事例
7-1-1 いきなりプログラミングを始めたら
7-1-2 保温モードの変更処理を追加
7-1-3 処理ループをサブルーチン化
7-2 構造図からソースコードへ
7-2-1 プログラミングの手順
7-3 状態遷移のプログラミング
7-3-1 状態遷移のプログラム例(switch-case)
7-3-2 状態遷移のプログラム例(関数ポインタ)
7-3-3 設計モデルと実装を同期させる
7-4 ポットのプログラム事例
7-5 プログラム実行の流れ
7-5-1 main関数はどこにある
7-5-2 システムの初期化
7-5-3 初期化から定常状態へ
7-6 まとめ
7-7 復習
Chapter 8 設計品質
8-1 複雑さへの対処
8-1-1 分割と階層
8-1-2 抽象化
8-1-3 俯瞰
8-1-4 図解
8-1-5 対話
8-2 設計の品質
8-2-1 モジュール分割
8-2-2 凝集度
8-2-3 結合度
8-2-4 システム形状
8-3 失敗事例の検証
8-3-1 肥大化
8-3-2 なんでも屋
8-3-3 スパゲッティ
8-3-4 無秩序な構造
8-3-5 物理駆動
8-3-6 老舗温泉旅館(余計な関係)
8-4 まとめ
Chapter 9 レビュー
9-1 レビューとテスト
9-1-1 レビューとテストの違い
9-2 レビューとは
9-2-1 レビューの対象物
9-2-2 なぜレビューするのか
9-3 レビュー技法
9-4 インスベクション
9-4-1 インスペクションの概要
9-4-2 インスペクションの入力
9-4-3 インスペクションの処理
9-4-4 インスペクションの出力
9-5 インスペクションの実際
9-5-1 対象物
9-5-2 タイミング
9-5-3 観点
9-6 インスペクション実施ツール
9-6-1 課題ログ
9-6-2 実施報告書
9-6-3 チェックリストの事例
9-7 まとめ
Appendix A 定石・格言一覧
A-1 定石
A-2 格言
Appendix B 用語辞書
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1刷 | 069 表4.3 最終行の下に追加 |
6刷 | 未 |
|
2011.07.06 | ||||||
1刷 | 070 図4.11 下から1~5行目 |
6刷 | 未 |
|
2011.07.06 | ||||||
1刷 | 072 下から4行目 |
7刷 | 未 |
|
2012.10.18 | ||||||
1刷 | 072 図4.15 |
6刷 | 未 |
|
2012.10.18 | ||||||
1刷 | 090 上から5行目 |
3刷 | 未 |
|
2007.10.11 | ||||||
1刷 | 096 図5.12 [利用者]から[お湯を注ぐ]への矢印線の説明 |
7刷 | 未 |
|
2012.10.18 | ||||||
1刷 | 105 下から5行目 |
3刷 | 未 |
|
2007.10.11 | ||||||
1刷 | 106 図5.19 |
3刷 | 未 |
|
2007.10.11 | ||||||
1刷 | 110 図5.22の中央 |
未 | 未 |
|
2022.04.25 | ||||||
1刷 | 112 図5.25 ポットSTT |
3刷 | 未 |
|
2007.10.11 | ||||||
1刷 | 113 図5.27 |
未 | 未 |
|
2022.04.25 | ||||||
1刷 | 114 図5.29 |
未 | 未 |
|
2022.04.25 | ||||||
1刷 | 114 図5.28 温度制御STT |
3刷 | 未 |
|
2007.10.11 | ||||||
1刷 | 117~118 図5.34 |
6刷 | 未 |
|
2012.10.18 | ||||||
1刷 | 129 3行目 |
11刷 | 未 |
|
2019.05.23 | ||||||
1刷 | 136 図6.9 左側 |
未 | 未 |
|
2022.04.25 | ||||||
1刷 | 137 図6.10 左側 |
未 | 未 |
|
2022.04.25 | ||||||
1刷 | 138 図6.11 |
9刷 | 未 |
|
2015.07.13 | ||||||
1刷 | 150 図7.6 |
3刷 | 未 |
|
2007.10.11 | ||||||
1刷 | 157 図7.12 1行目 |
11刷 | 未 |
|
2018.09.26 | ||||||
1刷 | 157 図7.12 1行目 |
未 | 未 |
|
2022.04.25 | ||||||
1刷 | 166 4行目 |
11刷 | 未 |
|
2018.07.12 | ||||||
1刷 | 166 7~8行目、10~11行目(2か所) |
11刷 | 未 |
|
2018.07.12 | ||||||
1刷 | 179 「832 なんでも屋」2行目 |
8刷 | 未 |
|
2013.12.25 | ||||||
1刷 | 184 表8.1の最下行 |
11刷 | 未 |
|
2019.05.23 | ||||||
1刷 | 208 掲載章 最終行 |
3刷 | 未 |
|
2007.10.11 | ||||||
1刷 | 210 用語辞書 |
3刷 | 未 |
|
2007.10.11 |
MATSUDA, Shougo さん
2020-11-18
古本屋で購入。組み込みソフトウェア開発にあたってのモデリングからレビューまでをしっかり解説してくれています。
たいそ さん
2019-08-18
2006年。ついつい「モジュールの仕様はソースコードを見てください」に流れがちなので「設計と実装を同期させよう」を心掛けたい。NTCR条件、請願されないイベント、7±2の理論、最大抽象点、凝集度(コヒージョン)、結合度(カップリング)、ファンイン/アウトという用語を知ることができた。モデリングツールである「イベントリスト」「DFD」「構造図」を実践で使えるようにしたい。「設計とはシステムとして何を提供するのかであって、どのように動かすかではない。」
Kazuyuki Koishikawa さん
2016-01-17
セサミってこれか