EmbeddedArchitectureBasic
組み込みソフトウェアの方式設計基礎
概要
ソフトウェア開発は、方式設計工程、詳細設計工程などの段階を踏んで設計が行われる。本講座では、方式設計工程において、どのようなことを設計として考えるべきか基本を学習する。また、具体的な演習を通して、組込みソフトウェアの特徴的な設計のポイントを習得する。
目標
組込みソフトウェアの特徴を捉えた、アーキテクチャ設計の理解する
組込みソフトウェア方式設計における、タスク構造を抽出する作業手順を修得する
対象者
初~中級・組込みソフトウェア開発者の方
開発経験2年以上、詳細設計~実装の経験があること
前提知識
リアルタイムシステムの基本知識がある
C/C++言語プログラムをテスト及びデバッグした経験がある
C/C++言語プログラムを作成した経験がある
プログラム設計の経験がある
UMLの図面を読むことができる
研修内容
演習題材:自動販売機システム
第1日
組込みソフトウェア方式設計の特徴
開発プロセスにおけるソフトウェア方式設計
リアルタイム・システムの特徴
ソフトウェア・アーキテクチャを考える
ソフトウェア・アーキテクチャとは
アーキテクチャを表すモデル
a. 機能モデル
b. 構造モデル
c. 振る舞いモデル
アーキテクチャを読む
構造と、機能モデルの連携
良い構造モデルを考える
アーキテクチャ(機能・構造)を設計する
アーキテクチャの形
a. アーキテクチャパターン
b. ハードウェア依存部の分離
サブシステムに分割する
サブシステムを設計する
第2日
アーキテクチャ(振る舞い)を設計する
サブシステム間の相互作用
a. シーケンス図
b. コミュニケーション図
状態モデルを設計する
振る舞いを設計する
タスク分割を設計する
時間制約を考慮する
並行性を検討する
a. 同期・非同期
b. 処理の優先度
タスク分割を設計する
タスク分割の方針
a.動的な単位の分類
b.タスク分割の原則
並行性を検討する
リアルタイム性を検討する
振り返り