【研究室】ソフトウェアプロダクトライン開発(SPL)|『UML』による「モデルベース開発」で、コア資産から製品用のモデルを導出する方法~ UMLモデルの導出

【研究室】ソフトウェアプロダクトライン開発(SPL)|『UML』による「モデルベース開発」で、コア資産から製品用のモデルを導出する方法~ UMLモデルの導出

【研究室】ソフトウェアプロダクトライン開発(SPL)|『UML』による「モデルベース開発」で、コア資産から製品用のモデルを導出する方法~ UMLモデルの導出

ソフトウェアプロダクトライン開発(SPL)|『UML』による「モデルベース開発」で、コア資産から製品用のモデルを導出する方法~ UMLモデルの導出
UMLによるモデルベース開発で、コア資産から製品用のモデルを導出する方法は、コード生成をどの程度自動化できているかで方式が変わってきます。なお、コア資産は「可変性の実現」のページで紹介されている技術を用いて開発されているものとします。

プロダクトライン開発(SPL)|『UML』による「モデルベース開発」で、コア資産から製品用のモデルを導出する方法~ UMLモデルの導出~モデルベース開発(full code generation)の場合

この場合は、モデルを直接コンフィグレーションすることで、製品用のモデルを導出します。その方法は、概ね以下のようになります。
1.  可変性の決定に基づいて、製品に必要なUMLモデルを選択
2.  選択されたコア資産のUMLモデルをコンフィグレーション
上記の手順で導出されたモデルは、既に製品用にコンフィグレーションされているため、そのモデルからコード生成を行うことで、製品用のコードを得ることができます。また、通常の製品開発では、製品固有部分の開発も必要となることがありますが、これについては製品毎に開発します。
【研究室】SPL「プロダクトライン開発」|『UML』による「モデルベース開発」で、コア資産から製品用のモデルを導出する方法~ UMLモデルの導出~モデルベース開発(full code generation)の場合

プロダクトライン開発(SPL)|『UML』による「モデルベース開発」で、コア資産から製品用のモデルを導出する方法~ UMLモデルの導出~モデルベース開発(partial code generation)の場合

UMLモデルからスケルトンコード(クラス定義のみ)を生成するようなケースがこれに相当します。この場合、コア資産のコードの一部は手作業で開発されているため、コア資産のモデルを編集してコード生成を行っても、手作業で開発された部分は自動的にコンフィグレーションされません。よって、モデルを直接コンフィグレーションするのではなく、モデルと一緒に管理されているコードに対してコンフィグレーションを行うことで、製品用の資産を導出します。その方法は、概ね以下のようになります。
1.  可変性の決定に基づいて、製品に必要なコードを選択
2.  選択されたコア資産のコードをコンフィグレーションするためのパラメタファイルを生成(makefileやヘッダファイル等)
こうして導出されたコードをビルドすることで、個々の製品を構築することができます。また、通常の製品開発では、製品固有部分の開発も必要となることがありますが、これについては製品毎に開発します。
【研究室】SPL「プロダクトライン開発」|『UML』による「モデルベース開発」で、コア資産から製品用のモデルを導出する方法~ UMLモデルの導出~モデルベース開発(partial code generation)の場合
※ここで取り上げたものは一例であり、他にも様々な実現方法があります。

【研究室】SPL(ソフトウェアプロダクトライン)|『UML』による「モデルベース開発」で、コア資産から製品用のモデルを導出する方法~ UMLモデルの導出|pagetop