授業計画 |
回数 |
学習目標 |
学習項目 |
1 |
組込みシステム業界で使用される開発手法の概要が説明出来る。 |
開発手法が生まれた経緯、V字モデルの概要、その他開発手法(アジャイルなど)を学ぶ。 |
【理解度確認】1駒目で解説した内容を2駒目で理解度確認(小テスト形式)を行う。 |
2 |
コーディング規約の必要性、有効性が説明出来る。 |
コーディング規約の概要、コーディング規約を入れることによるメリット(開発者が楽が出来る)、基本となるコーディング規約について、演習を含めて学ぶ。 |
【理解度確認】1駒目で解説した内容に従って2駒目で演習(コーディング規約に合っていないプログラムの修正)を行う。 |
3 |
ソースコードレビューの必要性・有効性が説明出来る。 |
ソースコードレビューについての概要、達成すべき内容、実施することのメリット(後でテストが楽になる)、実施する際のポイントに関して、演習を含めて学ぶ。 |
【理解度確認】1駒目で解説した内容に従って2駒目で演習(配布したソースコードのレビュー)を行う。 |
4 |
ホワイトボックス観点の単体テストの概要とコードカバレッジの考え方が説明出来る。 |
組込みシステムにおける単体テストの概要、重要性(物づくりの観点で)、コードカバレッジの概要と種類(C0, C1, MCDC)を学ぶ。 |
【理解度確認】1駒目で解説した内容に従って2駒目で演習(配布した関数における、C0、C1、 MCDCを満たすルートの算出)を行う。 |
5 |
単体テスト設計の概要(概要、入出力要素選出)が説明出来る。 |
単体テスト設計によって後の工程で問題発生を低減させこと、入出力要素の選出方法を学ぶ。 |
【理解度確認】1駒目で解説した内容に従って2駒目で演習(配布した関数における入出力要素の選出)を行う。 |
6 |
単体テスト設計の概要(境界値分析、同値分割、組合せ)が説明出来る。 |
テスト手法である境界値分析、同値分割、組合せを学ぶ。 |
【理解度確認】1駒目で解説した内容に従って2駒目で演習(配布した関数における、テスト項目の作成)を行う。 |
7 |
自身がテスト設計した内容をgccの環境でテストを実施出来る。 |
gccの環境で使えるgcovによるテストカバレッジ測定の概要、gcovの使用方法を学ぶ。 |
【理解度確認】1駒目で解説した内容に従って2駒目で演習(gcovによるカバレッジ測定)を行う。 |
8 |
組込みシステムでの正しいコーディング方法が説明出来る。 |
組込みシステムでの不正なコーディング例を示しながら正しいコーディング方法を学ぶ。(1) |
【理解度確認】1駒目で解説した内容に従って2駒目で演習(配布したソースコードでの不正コーディングの洗い出し)を行う。 |
9 |
組込みシステムでの正しいコーディング方法が説明出来る。 |
組込みシステムでの不正なコーディング例を示しながら正しいコーディング方法を学ぶ。(2) |
【理解度確認】1駒目で解説した内容に従って2駒目で演習(配布したソースコードでの不正コーディングの洗い出し)を行う。 |
10 |
詳細設計の概要(ドキュメントベース設計概要、シーケンス図)が説明出来る。 |
詳細設計におけるドキュメントベース設計の概要、シーケンス図の概要と書き方を学ぶ。 |
【理解度確認】1駒目で解説した内容に従って2駒目で演習(シーケンス図の作成)を行う。 |
11 |
詳細設計の概要(状態遷移)が説明出来る。 |
詳細設計における状態遷移図と状態遷移表の概要と書き方を学ぶ。 |
【理解度確認】1駒目で解説した内容に従って2駒目で演習(状態遷移図、状態遷移表の穴埋め)を行う。 |
12 |
詳細設計の概要(関数設計)が説明出来る。 |
詳細設計における関数設計のポイントを演習も含めて学ぶ。 |
【理解度確認】1駒目で解説した内容に従って2駒目で演習(配布した関数設計書での不足項目を追加)を行う。 |
13 |
詳細設計レビューの必要性、有効性が説明出来る。 |
詳細設計レビューの概要と達成すべき内容、ソースコードレビューとの違いを学ぶ。 |
【理解度確認】1駒目で解説した内容に従って2駒目で演習(配布した詳細設計書のレビュー)を行う。 |
14 |
結合テスト以降のテストが説明出来る。 |
結合テスト以降の各テストの概要と役割、各テストでの影響範囲、対象範囲が広がれば原因特定はより困難になることを学ぶ。 |
【理解度確認】1駒目で解説した内容に従って2駒目で演習(結合テスト以降のテスト)を行う。 |
15 |
現在の組込みシステム業界の動向が説明出来る。 |
現在の組込みシステム業界の動向について、派生や流用開発を含み学ぶ。さらに、これらについて学生との質疑応答を行う。 |
【理解度確認】1駒目で解説した組込みシステム業界の内容をもとに、2駒目で自身の理解をレポートにまとめる。 |