SPL学習
内容紹介

SPL学習

このコースでは、これからSPLを学んでいきたいという人から、実践している人に向けて、コンテンツを用意しています。SPLの基礎から応用までをわかりやすく解説します。

以下では、コンテンツの先頭部分を少しお見せします。リンク先は有料コースです。一部のコンテンツは体験版として公開しており、無料会員登録ご覧いただけます。

《ビギナー》

SPL開発とは

コンテンツ名 内容
はじめてのSPL開発(SPLE) ここでは、SPLEとは何かを紹介します。 SPLEとは SPLEとは、“Software Product Line Engineering”の略称です。単に“SPL”と略されたり、あるいはSPL開発と呼ばれることもあります。 SPLEは、類似した製品間で共通するソフトウェアを効率的に「再利用」する開発手法です。 もともとはソフトウェア領域... <続きを見る>
SPL開発の概要 この講座では、SPL開発の概要、全体像についてご紹介します。 SPL開発の特徴 まずは前回のおさらいとして、SPL開発(SPLE)の特徴を振り返ってみましょう。 SPL開発とは、類似製品間の違いを把握して、違いを実現できる共通のソフトウェアを作り、そのソフトウェアを個別の製品開発で再利用することによって開発の効率化を図る開発のことです。 SPL開発の代表的な取り組みの一つとして、「可変... <続きを見る>

システム開発の現状

コンテンツ名 内容
開発現場で起こっていること この講座では、みなさんの開発現場で起こっていることをご説明します。 AI・DXの取り組み近年、開発現場の意識に変化が生じ始めています。2018年度以前には「設計品質の向上」や「開発能力(量)の向上」が重要視されていたのに対し、2019年度以降では「新製品・新技術の開発」「市場の拡大・新市場の開拓」が重要視される傾向となっています。この意識の変化には、各社のAI・DXに対する取り組みが関... <続きを見る>
SPL開発に対する期待 この講座では、SPL開発に対する期待の高まりについて紹介します。 SPL開発に対する期待SPL開発の流行SPL開発は1990年代後半から2000年代前半にかけて盛り上がりを見せました。人工衛星、携帯電話、ディーゼルエンジンなど、様々なソフトウェア開発の現場での適用結果が報告されました。また、報告の中で開発工数の削減や開発期間の短縮等の適用効果が共有され、体系化が進みました。SPL開発の... <続きを見る>

SPL開発の用語・考え方

コンテンツ名 内容
用語集 SPL開発には独自で定義された用語が複数存在します。 それらをまとめた用語集を作成しました。プロセス関連の用語、バリエーション関連の用語、SPL開発で特徴的な成果物の名称の三つの種類に分けて整理してあります。 上部のダウンロードリンクからダウンロードできます(Excelファイル)。 ぜひお手元に置いて学習の参考にしてください。 <続きを見る>
SPL開発における重要な概念 この講座では、SPL開発における重要な概念について説明します。 問題空間 vs 解空間まずは問題空間と解空間についてご説明します。問題空間とは、ある事象に対するドメイン知識の集合空間のことです。そのドメインが、どのような概念から成り立っているかを把握します。解空間とは、ある事象に対する実現方法の集合空間のことです。そのドメインを、システムとしてどのように実現するかを検討します。これらの概念... <続きを見る>

SPL開発の効果

コンテンツ名 内容
SPL開発の導入効果(海外) この講座では、SPL開発の海外での導入効果について紹介します。 なお、以下でご紹介する事例はいずれも、Software Engineering Instituteが公開しているものです。 軍艦の統制システムSoftware Engineering Instituteで報告されている軍艦統制システムでのSPL開発の適用事例では、・作業者が210人から30人に削減された・開発期間が9年か... <続きを見る>
SPL開発の導入効果(国内・当社支援実績) この講座では、SPL開発の国内事例や当社の支援実績について紹介します。 SPL開発の国内の導入事例SPL開発の国内での導入事例は残念なことに多くありませんが、数少ない、公開されている情報をご紹介しましょう。2008年に東芝様の原子力・火力発電所向け監視制御システムの導入事例が報告され、SPLCで賞を獲得しています。2017年には、アイシン精機様の自動車ボデーシステムの導入事例で、3車種... <続きを見る>

《ベーシック》

SPL開発を適用するフェーズ・ドメイン

コンテンツ名 内容
SPL開発に向く製品・向かない製品 この講座では、SPL開発に向く製品と向かない製品の違いをご紹介します。 どんな製品にも適用できるのか?SPL開発を適用・導入することによりあなたの開発現場の開発効率を高めることができます。しかしどのような製品であってもSPL開発は適用できるものなのでしょうか? 結論を先に述べると、SPL開発の適用で効果を得るためには、製品がある条件を満たしている必要があります。今回は、SPL開発の適用... <続きを見る>
ソフトウェア開発への適用 この講座では、ソフトウェア開発領域に対する、SPL開発の適用について説明します。 ソフトウェア開発の全体像 まずはソフトウェア開発の全体像を見てみましょう。以下にソフトウェア開発のV字モデルを示します。 ソフトウェア開発の成果物には、例えば以下のようなものがあります。 ・ソフトウェア要求仕様書 ・ソフトウェアアーキテクチャ設計書 ・ソフトウェアアーキテクチャモデル(UML/SysML)... <続きを見る>
システム開発への適用 この講座では、システム開発領域に対するSPL開発の適用について説明します。 システム開発の全体像まずはシステム開発の全体像を見てみましょう。図にシステム開発のV字モデルを示します。システム開発は、通常、ソフトウェア開発とハードウェア開発も含みますが、本講座においてはそれらを除いてシステム領域の設計・テストのみにフォーカスします。システム開発の成果物には、例えば以下のようなものがあります... <続きを見る>

SPL開発の成熟度評価(概要)

コンテンツ名 内容
Family Evaluation Framework(SPL開発の4つの視点) この講座では、SPL開発の成熟度を測る4つの視点について紹介します。 SPL開発の4つの視点(1)SPL開発は、単にコア資産を作ったりプロセスを定義するだけでは、正しく実施していくことはできません。SPL開発では、図に示す・ビジネス・アーキテクチャ・プロセス・組織の4つの視点のバランスが重要となります。 SPL開発の4つの視点(2)それぞれの視点でのSPL開発の取り組みを整理... <続きを見る>
Product Line Technical Probe この講座では、SPL開発でやるべき項目について紹介します。 SPL開発でやるべき事SPL開発実施のために、やるべき/やらなければならない項目のことを本講座では「プラクティス・エリア」と呼称します。SEIのProduct Line Technical Probeという手法では、プラクティス・エリアを以下の3つに分類し、体系化しています。・ソフトウェア工学のプラクティス・エリア・技術マネジ... <続きを見る>

成果物サンプル:SPL開発戦略策定工程

コンテンツ名 内容
製品ロードマップ・製品マップ この講座では、SPL開発の開発資産の一部である、製品ロードマップと製品マップについて説明します。 製品ロードマップと製品マップの位置付けまずは製品ロードマップと製品マップの位置付けをご説明します。製品ロードマップと製品マップは、SPL開発における製品群のスコープを示したものです。PLスコーピング工程の成果物となります。これらは製品群に含まれる製品にどのようなものがあるのかを分析・把握し... <続きを見る>
フィーチャモデル この講座では、SPL開発の開発資産の一部である、フィーチャモデルについて説明します。 フィーチャモデルの位置付け(1)まずはフィーチャモデルの位置付けをご説明します。フィーチャモデルは、SPL開発における製品全体の共通部分と可変部分を、フィーチャという単位でツリー形式で整理した結果です。可変性分析工程の成果物となります。SPL開発では、フィーチャモデルで定義されたフィーチャと対応付けな... <続きを見る>

成果物サンプル:コア資産作成工程

コンテンツ名 内容
コア資産とフィーチャモデルを対応付ける この講座では、SPL開発におけるコア資産の残し方について説明します。 コア資産の位置付け(1)まずはコア資産の位置付けについて復習しましょう。SPL開発とは、類似する製品群の開発で、共通の資産を効率的に再利用する開発技法のことです。コア資産とは、SPL開発の中心に位置づく、再利用可能な共通資産の一式を指します。コア資産にはコードだけでなく、要求仕様書やアーキテクチャモデル、テストケース... <続きを見る>
システム要求仕様書(コア資産) この講座では、SPL開発におけるコア資産の一部として定義される、システム要求仕様書の特徴について説明します。 システム要求仕様書の位置付けまずはシステム要求仕様書の位置付けをご説明します。システム要求仕様書はSPL開発におけるコア資産の一部であり、製品群のシステム要求仕様を分析・整理したものです。システム要求分析工程の成果物となります。 要求仕様書(USDM)本講座では、シス... <続きを見る>
システムアーキテクチャモデル(コア資産) この講座では、SPL開発におけるコア資産の一部として定義される、システムアーキテクチャモデルの特徴について説明します。 システムアーキテクチャの位置付けまずはシステムアーキテクチャモデルの位置付けをご説明します。システムアーキテクチャモデルはSPL開発におけるコア資産の一部であり、製品群のシステムの構造や振る舞いを分析・整理したものです。システム方式設計工程の成果物となります。今回も体... <続きを見る>
ソフトウェア要求仕様書(コア資産) この講座では、SPL開発におけるコア資産の一部として定義される、ソフトウェア要求仕様書の特徴について説明します。 ソフトウェア要求仕様書の位置付けまずはソフトウェア要求仕様書の位置付けをご説明します。ソフトウェア要求仕様書はSPL開発におけるコア資産の一部であり、製品群のソフトウェア要求仕様を分析・整理したものです。ソフトウェア要求分析工程の成果物となります。 要求仕様書(U... <続きを見る>
ソフトウェアアーキテクチャモデル(コア資産) この講座では、SPL開発におけるコア資産の一部として定義される、ソフトウェアアーキテクチャモデルの特徴について説明します。 ソフトウェアアーキテクチャの位置付けまずはソフトウェアアーキテクチャモデルの位置付けをご説明します。ソフトウェアアーキテクチャモデルはSPL開発におけるコア資産の一部であり、製品群のソフトウェア構造や振る舞いを分析・整理したものです。ソフトウェア方式設計工程の成果... <続きを見る>
シミュレーションモデル(コア資産) この講座では、SPL開発におけるコア資産の一部として定義される、シミュレーションモデルの特徴について説明します。 シミュレーションモデルの位置付けまずはシミュレーションモデルの位置付けをご説明します。シミュレーションモデルはSPL開発におけるコア資産の一部であり、設計結果をシミュレーションすることで設計を早期検証することを目的としたモデルです。システム方式設計やソフトウェア方式設計工程... <続きを見る>
詳細設計書(コア資産) この講座では、SPL開発におけるコア資産の一部として定義される、詳細設計書の特徴について説明します。 詳細設計書の位置付けまずは詳細設計書の位置付けをご説明します。詳細設計書はSPL開発におけるコア資産の一部であり、上位工程の方式設計で責務の大枠が定まったコンポーネントやモジュールについて、実装可能なレベルまで設計情報を落とし込んだものです。ソフトウェア詳細設計工程の成果物となります。... <続きを見る>
コード(コア資産) この講座では、SPL開発におけるコア資産の一部として定義される、コードの特徴について説明します。 コードの位置付けまずはコードの位置付けをご説明します。コードはSPL開発におけるコア資産の一部であり、詳細設計の結果を実装したプログラムファイルです。コーディング工程の成果物となります。今回も体重計を例に、コア資産としてコードを定義した場合のイメージを見ていきましょう。 体重計の... <続きを見る>
テスト資産(コア資産) この講座では、SPL開発におけるコア資産の一部として定義される、テスト資産の特徴について説明します。 テスト資産の位置付けまずはテスト資産の位置付けをご説明します。テスト資産はSPL開発におけるコア資産の一部であり、テスト仕様書やテストケース、テストデータなどが含まれます。主にV字工程の右側全ての成果物となります。 テスト資産の具体例テスト資産の例として、とある機能のテスト仕... <続きを見る>
その他ドキュメント(コア資産) この講座では、SPL開発におけるコア資産の一部として定義される、開発手順書やノウハウなどのその他ドキュメントの特徴について説明します。 その他ドキュメントの位置付けまずはその他ドキュメントの位置付けをご説明します。本講座で取り扱うその他ドキュメントとは、技術情報やノウハウ、マニュアルや管理系のドキュメントなど、形式にとらわれず様々なドキュメントを対象とします。 その他ドキュメ... <続きを見る>

成果物サンプル:再利用工程

コンテンツ名 内容
コンフィグレーションモデル この講座では、SPL開発の開発資産の一部である、コンフィグレーションモデルについて説明します。 コンフィグレーションモデルの位置付け(1)まずはコンフィグレーションモデルの位置付けをご説明します。コンフィグレーションモデルはSPL開発におけるコンフィグレーション工程の成果物であり、この工程ではコア資産と対応付いたフィーチャモデルからフィーチャを選択してコア資産を取得・再利用し、微調整を... <続きを見る>
コア資産から導出した資産一式 この講座では、コア資産から資産一式を導出するイメージについて説明します。 コア資産から導出した資産一式の位置付け(1)まずはコア資産から導出した資産の位置付けをご説明します。SPL開発では、ある製品の開発が開始された時に、コア資産から必要な資産一式を再利用して製品のベースを導出します。 コア資産から導出した資産一式の位置付け(2)SPL開発の流れを時系列で表現し、改めてコア資... <続きを見る>

SPL開発に移行するプロセス

コンテンツ名 内容
RIPPLEアプローチの概要 この講座では、SPL開発の導入アプローチであるRIPPLEアプローチをご説明します。 SPL開発の導入ここまでの講座でSPL開発の導入効果や活動内容の全体像を把握された方は、早速導入を開始したいと思うでしょう。しかし多くの現場では、いきなりSPL開発を導入することは難しいのが実情です。いきなり明日からやろうと思ってもできるものではありません。では、SPL開発を導入するためにはどのような準備... <続きを見る>
RIPPLEアプローチの流れ この講座では、SPL開発の導入アプローチであるRIPPLEアプローチの流れをご説明します。 RIPPLEの全体像まずはRIPPLEアプローチの概要をおさらいしましょう。RIPPLEアプローチとは、SPL開発の導入アプローチを体系化したもののことです。SPL開発は、・分析フェーズ・準備フェーズ・試行フェーズ・実行・改善フェーズの4つで構成されています。RIPPLEでは特に、SPL開発の中心に... <続きを見る>
【未】分析フェーズの活動内容 <続きを見る>
【未】準備フェーズ以降の活動内容 <続きを見る>

SPL開発移行後のプロセス(全体像)

コンテンツ名 内容
【未】SPL開発移行後のプロセス <続きを見る>

SPL開発移行後のプロセス(ドメインエンジニアリング)

コンテンツ名 内容
【未】PLスコーピング <続きを見る>
【未】可変性分析 <続きを見る>
【未】PL要件定義 <続きを見る>
【未】PLアーキテクチャ設計 <続きを見る>
【未】PL詳細設計 <続きを見る>
【未】PL実装 <続きを見る>
【未】PLテスト <続きを見る>

SPL開発移行後のプロセス(アプリケーションエンジニアリング)

コンテンツ名 内容
【未】コンフィグレーション <続きを見る>
【未】バインディング <続きを見る>
【未】製品要件定義 <続きを見る>
【未】製品アーキテクチャ設計 <続きを見る>
【未】製品詳細設計 <続きを見る>
【未】製品実装 <続きを見る>
【未】製品テスト <続きを見る>
【未】コア資産へのフィードバック <続きを見る>

《アドバンスト》

SPL開発におけるトレーサビリティの考え方

コンテンツ名 内容
【未】トレーサビリティ確保戦略 <続きを見る>

SPL開発をリードするために

コンテンツ名 内容
【未】上長を巻き込む <続きを見る>
【未】KPIの設定・評価 <続きを見る>
【未】SPL開発の組織体系パターン <続きを見る>
【未】SPL開発に必要なロール <続きを見る>
【未】SPL開発のカイゼン <続きを見る>
【未】理想論にこだわりすぎない <続きを見る>
【未】ツールチェーンの検討 <続きを見る>

SPL開発の成熟度評価(詳細)

コンテンツ名 内容
【未】ビジネス視点の成熟度レベル <続きを見る>
【未】アーキテクチャ視点の成熟度レベル <続きを見る>
【未】プロセス視点の成熟度レベル <続きを見る>
【未】組織視点の成熟度レベル <続きを見る>

他手法との連携

コンテンツ名 内容
【未】XDDPとSPL開発の融合 <続きを見る>
【未】USDMとSPL開発の融合 <続きを見る>
【未】MBSEとSPL開発の融合 <続きを見る>

まずは無料でお試しを!