設計技法基礎
概要
設計図を作成し、プログラミングすることで、設計と実装を同時に習得します。
コース詳細 | |
---|---|
到達目標 | 本コース終了後、次の事項ができることを目標としています。
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 ) |