コデザイン
Hardware/Software Co-design
こでざいん
ハードウェアとソフトウェアを統合的に設計する手法。両者の分割、協調シミュレーション、性能最適化を同時並行で進めることで、システム全体の最適化を図る。組込みシステム開発特有の設計アプローチである。
組込みシステムの基礎 > システムアーキテクチャ設計
関連キーワードの用語
ESハードウェア・ソフトウェア分割
システム要件を分析し、ハードウェアで実現する機能とソフトウェアで実現する機能を振り分ける設計工程。性能要件、コスト、消費電力、開発期間、柔軟性などを考慮して最適な分割を決定する。コデザインの中核的な活動である。
FEクリーンアーキテクチャ
ソフトウェアの依存関係を内側(ビジネスロジック)から外側(UI・DB等)への一方向に制御するアーキテクチャパターン。レイヤー間の疎結合を実現し、テスト容易性と保守性を高める。
FEMVCモデル
ソフトウェアをModel(データ・ビジネスロジック)、View(表示)、Controller(入力制御)の3つの役割に分離するアーキテクチャパターン。各要素の独立性を高め、保守性と拡張性を向上させる。
SAシステム方式設計
システム要件を実現するために、ハードウェア、ソフトウェア、ネットワーク、データベースなどの構成要素と、それらの関係・インタフェースを決定する設計工程。要件定義とソフトウェア詳細設計の間に位置づけられる。
SAソフトウェアアーキテクチャ
ソフトウェアシステムの全体構造を定義するもの。構成要素(コンポーネント)、それらの関係、外部環境とのインタフェース、設計・進化の原則を含む。品質特性のトレードオフを考慮して決定する。
SAモジュール分割
ソフトウェアを独立性の高いモジュール(部品)に分割する設計技法。モジュール強度(凝集度)を高く、モジュール結合度を低くすることが設計原則。STS分割、TR分割、共通機能分割などの技法がある。