設計技法基礎

概要
設計図を作成し、プログラミングすることで、設計と実装を同時に習得します。
コース詳細
到達目標 本コース終了後、次の事項ができることを目標としています。
1. 設計図とソースコードを一体化して開発できる
 1-1.モジュール構造(静的ビュー)の設計図とソースコードが書ける
 1-2.タスク構造(動的ビュー)の設計図とソースコードが書ける
 1-3.単体テストケースの設計ができる
 1-4.ファイル単位の部品化ができる
2. C言語の基本文法の読み書きができる
3. 設計図を活用して、実機デバッグができる(設計中心開発)
対象 これからC言語のプログラミングを始める方
(プログラミング言語の本を読んだことがある、あるいはC言語研修を受けたことがあることが望ましい)
特徴 簡単なハードウェア制御を題材に設計図、および、C言語の文法
(構造体とポインタを含む)を学習できます
C言語での開発経験がなくても、設計図と対比することで、C言語の
文法も習得できます。
保守性を高める「モジュール構造図」、「ファイル構造図」、
そして、効率性を高める「タスク構造図」という3つの図面を、ソースコードと対比することで習得できます
演習形式 ハードウェア基板を使います。
開発環境一式をPCにインストールして、PCでプログラミングを行い、ハードウェア基板での動作確認をします。

オンライン開催では、受講される方にハードウェア基板を郵送します。
開発環境をインストールできるPCをご用意ください。
内容 【1日目】(静的構造)
1. 良いコードと良くないコード(電子工作などのフラットコードは設計されていない)
2. モジュール化(関数呼び出し)
3. 分岐と繰り返し(if文、switch-case文、for文)
【2日目】(静的構造)
4. データ構造とアルゴリズム(データ構造作成で制御がシンプルになる)
5. データの設計(データ型とデータ辞書)
6. モジュール構造の設計と実装(図面化、良い構造パターン《STSなど》)
7.静的構造の設計品質(凝集度/結合度、設計とコードの同期)
【3日目】(動的構造)
8. 並行性の設計(制御スレッド設計、サイクリック実行とイベント駆動)
9. 割込みの設計と実装(割込みで処理をしない《フラグを立てるだけ》)
10. タスク構造の設計と実装(サイクリック周期の切り替え《タスク切り替え》)
【4日目】(状態)
11. 状態の設計(状態遷移図の設計)
12. 状態変数の設計と実装(データ辞書定義と状態遷移表の実装)
13. 動的構造の設計品質(走り切り)
14.静動分離/UI分離(コールバック《pointer呼び出し》の使い方)
【5日目】(資産化)
11. テストケース設計(単体・結合テストの基本、テスタビリティ)
12. 部品化(インタフェースと実装の分離、単方向化、静動分離)
13. 設計コーティング規約の活用(設計視点のコーディング規約例)
場所 オープン:新横浜会場
オンサイト:ご指定の場所
オンライン:zoom と miro を使います
定員 12名
時間 6時間
(オープンセミナーの場合は10:00~17:00 )