「SysML/UMLによるシステムエンジニアリング入門」の感想
SysMLの概要、SysMLのダイアグラムの意味や使い方を知るのは良い本。
最近IPAが注目している「組込システム開発にモデルベース設計を適用する」発想が何となく分かった。
この本では、SYSMODと呼ばれるSysMLを使ったモデリングアプローチを紹介している。
【流れ】
プロジェクトスコープ、ステークホルダー分析を実施
↓
要求を収集して要求図を作成
↓
開発対象のシステム境界(開発スコープ)を明確にするために、システムコンテキスト図(ブロック図の一種)を作成
↓
システムやアクターの情報フローをモデル化する。
・情報フローはアクティビティ図で作成&詳細化
・アクターやシステムの内部構造の仕様が分かったら、ブロック図でメモしておく
・システムの相互作用点(ポート)はブロック図で表現
・概念モデルを書きたいなら、ブロック図でメモしておく
↓
システム境界が明確になったら、要求図を元に、システムが提供するサービスをユースケース図で表す。
要求図の機能要件は、ユースケースで詳細化(refine)したり、システムの部品(block)で実現(satisfy)したり、非機能要件の関連を追跡(trace)で表す。
↓
洗い出したユースケースは、ユースケースフローとしてアクティビティ図でモデル化する。
つまり、ユースケースは、アクティビティ図のアクティビティ(サブアクティビティを持つ)へマッピングされる。
↓
システムに対する一般要件を元に、ドメイン知識が溜まってきたら、ブロック図でシステム構造を表現する。
UMLのクラス図(概念モデル)に似ている。
↓
ドメイン知識を表すブロック図を元に、システムやアクターの相互作用をモデル化する。
・システムの相互作用はシーケンス図。
・システムの部品(block)の状態の遷移はステートマシン図
↓
システムの入出力をモデル化する。
・部品(block)の内部構造は、内部ブロック図で描く。UMLのコンポーネント図に似ている。
↓
作成したモデルのシミュレーションは、物理法則を表すパラメトリック図と連動して実施する。
↓
テストするために、要求図からテストケース(testcase)のモデル要素を作成する。
要求は、テストケースによって検証されるため、検証(verify)の関連が引かれる。
【感想】
・レンタカー会社の車載システムを例にSysMLの使い方を説明しているので分かりやすい。
ソフトウェア開発チームがハードウェア開発チームとコミュニケーションしたい時に、SysMLを使えば、設計情報を共有できるので、理解しやすくなると思う。
・ブロック図などのように、組込システム設計をすごく意識している。
・SysMLはUMLよりも、各ダイアグラムのトレーサビリティを重視している。
したがって、モデリングの成果物の品質がより強化されるように思う。
・SysMLがUMLよりもトレーサビリティを意識しているおかげで、モデルの粒度や案件のスケールアップにも対処しやすい。
開発プロセスに合わせてカスタマイズしやすいだろうと想像する。
最近IPAが注目している「組込システム開発にモデルベース設計を適用する」発想が何となく分かった。
この本では、SYSMODと呼ばれるSysMLを使ったモデリングアプローチを紹介している。
【流れ】
プロジェクトスコープ、ステークホルダー分析を実施
↓
要求を収集して要求図を作成
↓
開発対象のシステム境界(開発スコープ)を明確にするために、システムコンテキスト図(ブロック図の一種)を作成
↓
システムやアクターの情報フローをモデル化する。
・情報フローはアクティビティ図で作成&詳細化
・アクターやシステムの内部構造の仕様が分かったら、ブロック図でメモしておく
・システムの相互作用点(ポート)はブロック図で表現
・概念モデルを書きたいなら、ブロック図でメモしておく
↓
システム境界が明確になったら、要求図を元に、システムが提供するサービスをユースケース図で表す。
要求図の機能要件は、ユースケースで詳細化(refine)したり、システムの部品(block)で実現(satisfy)したり、非機能要件の関連を追跡(trace)で表す。
↓
洗い出したユースケースは、ユースケースフローとしてアクティビティ図でモデル化する。
つまり、ユースケースは、アクティビティ図のアクティビティ(サブアクティビティを持つ)へマッピングされる。
↓
システムに対する一般要件を元に、ドメイン知識が溜まってきたら、ブロック図でシステム構造を表現する。
UMLのクラス図(概念モデル)に似ている。
↓
ドメイン知識を表すブロック図を元に、システムやアクターの相互作用をモデル化する。
・システムの相互作用はシーケンス図。
・システムの部品(block)の状態の遷移はステートマシン図
↓
システムの入出力をモデル化する。
・部品(block)の内部構造は、内部ブロック図で描く。UMLのコンポーネント図に似ている。
↓
作成したモデルのシミュレーションは、物理法則を表すパラメトリック図と連動して実施する。
↓
テストするために、要求図からテストケース(testcase)のモデル要素を作成する。
要求は、テストケースによって検証されるため、検証(verify)の関連が引かれる。
【感想】
・レンタカー会社の車載システムを例にSysMLの使い方を説明しているので分かりやすい。
ソフトウェア開発チームがハードウェア開発チームとコミュニケーションしたい時に、SysMLを使えば、設計情報を共有できるので、理解しやすくなると思う。
・ブロック図などのように、組込システム設計をすごく意識している。
・SysMLはUMLよりも、各ダイアグラムのトレーサビリティを重視している。
したがって、モデリングの成果物の品質がより強化されるように思う。
・SysMLがUMLよりもトレーサビリティを意識しているおかげで、モデルの粒度や案件のスケールアップにも対処しやすい。
開発プロセスに合わせてカスタマイズしやすいだろうと想像する。
| 固定リンク
「モデリング」カテゴリの記事
- 「システム開発・刷新のためのデータモデル大全」を読み直した感想~親子頻出アンチパターンは初心者モデラーに多い(2024.08.31)
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- アーキテクチャ量子の考え方はソフトウェア工学に物理学アプローチを適用したアイデアではないか(2024.02.12)
コメント