•  

コラム

  1. TOP
  2. コラム
  3. コラム
  4. 第3回 SPL開発における重要な概念、開発成果物の事例も紹介

第3回 SPL開発における重要な概念、開発成果物の事例も紹介

SPL
  • LINEで送る
  • このエントリーをはてなブックマークに追加
第3回 SPL開発における重要な概念、開発成果物の事例も紹介

【第3回 SPL(SPL開発における重要な概念)解説 コラム】

今回はSPL開発における重要な概念について説明します。
本コラムはSPLとは?について、基礎的な内容を数回に分けてわかりやすく解説していきます。



問題空間 vs 解空間

エンジニア独学、オンライン学習、リスキリング、問題空間vs解空間
※引用 Eureka Box(ユーリカボックス)【おすすめのプレイリスト】SPL開発における重要な概念
https://member.eureka-box.com/products/10/categories/2150178948/posts/2157422073

まずは問題空間と解空間についてご説明します。

問題空間とは、ある事象に対するドメイン知識の集合空間のことです。そのドメインが、どのような概念から成り立っているかを把握します。

解空間とは、ある事象に対する実現方法の集合空間のことです。そのドメインを、システムとしてどのように実現するかを検討します。

これらの概念を用いて、問題の本質と、その実現方法を分離します。1つの問題に対する実現方法は多数存在するため、両者が混然としていると最適な実現方法を見落としてしまうことにつながります。注意しましょう。



共通性 vs 可変性

エンジニア独学、オンライン学習、リスキリング、 共通性 vs 可変性
※引用 Eureka Box(ユーリカボックス)【おすすめのプレイリスト】SPL開発における重要な概念
https://member.eureka-box.com/products/10/categories/2150178948/posts/2157422073

続いて共通性と可変性についてご説明します。

共通性とは対象とする製品群で共通となる特性のことです。可変性とは対象とする製品群で異なる特性のことで、製品群の中の一意部の製品間で、全体としては差異として存在しています。再利用資産(コア資産)には、この共通性を持つ共通部と、可変性を持つ可変部が含まれています。

SPL開発では、可変性をどう扱うかが成否の鍵となります。可変性の取り扱い方は、再利用の効率を大きく左右します。想定される可変性の中で、最大の効率で再利用開発をするためには、製品群の共通部と可変部を明確に区別した上で、再利用資産を構築することが求められます。



ご不明点・ご相談ごとがあれば
お気軽にご連絡ください

ソフトウエア開発オンライン学習Eureka Box

Eureka Boxは厚生労働省が実施している助成金、人材開発支援助成金の適用対象となります。

詳細はこちら
人材開発支援助成金


重要概念の関係

エンジニア独学、オンライン学習、リスキリング、 重要概念の関係
※引用 Eureka Box(ユーリカボックス)【おすすめのプレイリスト】SPL開発における重要な概念
https://member.eureka-box.com/products/10/categories/2150178948/posts/2157422073

SPL開発の全体像を眺めながら、ここまで説明した重要な概念の関係を見てみましょう。

まず、SPL開発は前回のコラムでも述べた通り、コア資産を作りこむドメインエンジニアリングと、コア資産から必要な資産を再利用して開発するアプリケーションエンジニアリングに分かれており、これら2つのエンジニアリング領域は密接に関係しています。

ドメインエンジニアリング領域で扱うコア資産には、共通部と可変部が含まれます。ドメインエンジニアリングで共通部と可変部を切り分け、アプリケーションエンジニアリングでは可変部のうち必要なものを選択し、共通部と合わせて使用する、という関係です。

問題空間と解空間は、ドメインエンジニアリング、アプリケーションエンジニアリングにまたがる概念です。解空間とは問題空間で定義した問題をシステムとしてどのように実現するかを検討した結果に相当する領域となります。ちょうど、要求と設計・実装との関係も、これに相当すると言えるでしょう。問題空間と解空間は明確に分離して考えます。



重要概念と開発成果物

エンジニア独学、オンライン学習、リスキリング、 重要概念と開発成果物
※引用 Eureka Box(ユーリカボックス)【おすすめのプレイリスト】SPL開発における重要な概念
https://member.eureka-box.com/products/10/categories/2150178948/posts/2157422073

先に説明した重要な概念と、開発の成果物の間の関係性を見てみましょう。

まずドメインエンジニアリングの問題空間では、コア資産に含まれる共通性と可変性を分析し、共通のフィーチャと可変のフィーチャを切り分けます。この工程は可変性分析と呼ばれ、成果物はフィーチャモデル等の可変性モデルとなります。

続いてドメインエンジニアリングの解空間では、問題空間で分析した共通のフィーチャと可変のフィーチャを実現する設計・実装を行います。この工程の成果物はPLアーキテクチャや再利用コンポーネントとなり、フィーチャモデルのフィーチャと対応付いています。これによって出来上がった資産を、コア資産と呼びます。

コア資産はアプリケーションエンジニアリングで再利用されます。再利用のためにはまず、アプリケーションエンジニアリングの問題空間で、ドメインエンジニアリングの問題空間で分析した可変部のうち、その製品にとって必要なものを選択します。この工程はコンフィグレーションと呼ばれ、対応する成果物は選択したフィーチャとなり、コンフィグレーションモデルとも呼ばれます。

必要なフィーチャを選択したことで、フィーチャに対応するコア資産を取得することができ、取得した資産に固有の作りこみを行うことで製品を作り上げます。



重要概念と開発成果物(例:体重計)

エンジニア独学、オンライン学習、リスキリング、 重要概念と開発成果物(例:体重計)
※引用 Eureka Box(ユーリカボックス)【おすすめのプレイリスト】SPL開発における重要な概念
https://member.eureka-box.com/products/10/categories/2150178948/posts/2157422073

先に説明した重要な概念と、開発の成果物の間の関係性をより具体的に見てみましょう。

ドメインエンジニアリングの問題空間ではフィーチャモデルを定義します。フィーチャモデルでは、例のように体重計の共通性や可変性を表現します。

ドメインエンジニアリングの解空間では、フィーチャモデル上のフィーチャと対応させながらアーキテクチャモデルやコードを作りこみます。

アプリケーションエンジニアリングの問題空間では、フィーチャモデル上で必要なフィーチャを選択します。 たとえば、スマホ連携の機能を含める、体重はkgで表示する、などです。

アプリケーションエンジニアリングの解空間では、これら選択したフィーチャに対応するコア資産を取得し、固有の作りこみを行うことで製品を作り上げます。



これからのSPL開発に求められる技術を知るには

SPL(Software Product Line Engineering)の技術を実際に学んでみたいという方に、まずは無料でお試しいただけるオンライン学習プラットフォームを準備しています。

業務が多忙なエンジニアでも、スキマ時間で効率的に実践的な学習が出来るEureka Boxは、エンジニアの現場の声から生まれたツールです。

エンジニアの独学・スキルアップに! 他では学べない技術が充実
上流工程ソフトウェア開発技術を学ぶ!
Eureka Box(ユーリカボックス)
エンジニア独学、オンライン学習、ソフトウェア開発独学、エンジニア教材、無料コンテンツ、Eureka Box ユーリカボックス

SPLを正しく理解した上で、最大限の効果を得られるようスキルアップしたい方にもEureka Boxでの学習はお勧めで、無料会員登録だけでも以下の特典が受けられます。

Eureka Box会員登録特典(無料)
  1. 各連載コラムの全容、未公開コラムも一気にまとめて読める(一部動画解説付!)
  2. USDM(要求記述)、MBD(モデルベース開発)、システムズエンジニアリング、AWS Greengrass(新世代エッジエンジニアのための技術講座)など、ソフトウェア開発に関わる知識がギュッと凝縮、困った時のお助けアイテムとしても長期で活用出来る
  3. ソフトウェア開発に関わる無料お試しコンテンツも充実


まとめ

エンジニア独学、オンライン学習、リスキリング、まとめ
※引用 Eureka Box(ユーリカボックス)【おすすめのプレイリスト】SPL開発における重要な概念
https://member.eureka-box.com/products/10/categories/2150178948/posts/2157422073

本コラムでは、SPL開発における重要な概念である問題空間、解空間、共通性、可変性について説明しました。

SPL開発を正しく実施していくためには、これら重要な概念間の関係を理解することが必要となります。

問題空間と解空間は、ドメインエンジニアリングとアプリケーションエンジニアリングにまたがる概念であり、問題と解決手段を分離する考え方となります。

ドメインエンジニアリングの成果物であるコア資産には共通部と可変部が含まれ、アプリケーションエンジニアリングでは必要な可変部を選択します。

デジタル人材が不足している今の時代、特にソフトウェア開発の現場では「上流技術」のスキルを持つ人が必要とされています。

そのスキルが効率よく身につくように設計されたのが「オンライン学習のEureka Box(ユーリカボックス)」

Eureka Boxの運営企業であるエクスモーションは、日本を代表する大手自動車メーカー、医療機器メーカー等、ソフトウェア開発の支援を実際に行っている企業だからこそ、現場で活かせる学びに焦点をあてたプログラムに構成されています。

「Eureka Box(ユーリカボックス)」を是非ご活用ください。

株式会社エクスモーション コンサルタント 吉元崇

執筆者プロフィール

株式会社エクスモーション コンサルタント

吉元 崇

専門分野:

自動車、開発プロセス、SPL



関連コラム

  • LINEで送る
  • このエントリーをはてなブックマークに追加

技術別コラム一覧

要求の定義と仕様化(USDM)

ROS

システムズエンジニアリング

クラウド技術
(AWS Greengrass)

Docker

モデルベース開発(MBD)

派生開発(XDDP)

SPL

用語集