ソフトウエアプロダクトライン 開 発 セミナー レガシーな 資 産 からの 移 行 について "Transforming Legacy Systems into Software Product Lines" Dr. Danilo Beuche
講 師 Dr. Danilo Beuche 2001-: ドイツ マグデブルグ pure-systems 社 代 表 取 締 役 組 込 みソフトウェア 開 発 とプロダクトライン 開 発 における ツールとコンサルティングの 提 供 1997-2003: ドイツ マグデブルグ 大 学 にて 研 究 員 研 究 助 手 ( 博 士 ) 組 み 込 みシステムにおけるソフトウェアファミリーに 於 ける 博 士 組 み 込 みOSファミリーに 着 目 したOS 研 究 グループに 所 属 1995-1997: ドイツ 国 立 情 報 処 理 研 究 所 (GMD FIRST 現 フラウンホーファー 研 究 所 ) 研 究 助 手 Dr.Danilo Product Line Engineering Blog( 日 本 語 訳 ) http://www.fuji-setsu.co.jp/products/purevariants/danilo_blog.html Slide 2
pure-systems Variant Management Toolbox バリアント 管 理 の 道 具 箱 Slide 3
pure-systems Product Line Consulting プロダクトライン 開 発 のコンサルティングサービス Slide 4
Slide 5
The Destination Slide 6
The Version Hell バージョン 地 獄 製 品 1 製 品 2 製 品 3 製 品 4 Component A 1.0 1.1 1.3 2.0 The Destination Component B 1.0 1.2 2.1 2.4 Component C 1.0 1.0 2.3 4.0 同 一 コンポーネントの 異 なったバージョンで 構 成 される 違 う 時 期 にリリースされた 異 なる 製 品 群 保 守 が 困 難 Slide 7
Separation of Variants and Versions バージョンとバリエーションを 区 別 すること Variants バリアント 群 v1.0 v1.2 v1.3 v1.4 v2.0 v2.2 Version / Time バージョン/ 経 過 時 間 http://www.fuji-setsu.co.jp/products/purevariants/danilo_blog.html#tag1 Slide 8
Separation of Concern 関 心 事 の 分 離 (バージョンとバリアントの 分 離 ) Variation Point == First Class Citizen バリエーションポイントを 第 一 に Explicit Variant Management 系 統 だったバリアントの 管 理 Slide 9
Variation Points バリエーションポイント Problem Space 問 題 空 間 Solution Space 解 決 空 間 Slide 10
Separation of Concern 関 心 事 の 分 離 Domain Engineering ドメインエンジニアリング Problem Space 問 題 空 間 Features & Relations フィーチャ 群 と 関 係 性 Variant Features 単 一 バリアントの 機 能 Family Assets ファミリーの 資 産 Variant Solution バリアント Solution Space 解 決 空 間 Application Engineering アプリケーションエンジニアリング Slide 11
Slide 12
Questions Before Starting 始 める 前 の 論 点 People: 主 担 当 / スポンサー? Business: 達 成 すべき 成 果 は? Development: 欠 けているものは? Slide 13
Assets - Transition Scenarios 資 産 - 移 行 シナリオ Current Assets 現 状 の 資 産 Separate Products Merger 個 別 製 品 をマージ Reuse Improvement 再 利 用 の 改 善 mostly separate solution domains ソリューションドメインの 資 産 間 に 相 違 性 が 無 い same or very similar solution domains 同 じかとても 似 通 ったソ リューションドメイン Slide 14
Assets - Transition Steps 資 産 - 移 行 シナリオ Pre-SPL SPL 導 入 前 Analyse Situation & Goals 現 状 を 調 査 して 目 標 を 定 める Transition Path Identified 移 行 のシナリオを 特 定 Variability Analysis バライアビリティの 解 析 Variability Model Building バライアビリティをモデル 化 Start SPL Rollout SPL を 開 始 して 活 用 する Slide 15
There are ways to deal with it There is no way to prove it Slide 16
Variability Analysis バライアビリティの 解 析 マニュアル Domain Engineering ソースコード バージョン 管 理 要 求 仕 様 コンフィグファイル 変 更 要 求 バライアビリティモデル Slide 17
Analysis Direction 解 析 の 方 向 Problem Space 問 題 空 間 Domain Engineering ドメインエンジニアリング Solution Space 解 決 空 間 マニュアル ソースコード バージョン 管 理 マニュアル ソースコード バージョン 管 理 要 求 仕 様 コンフィグファイ ル 変 更 要 求 要 求 仕 様 コンフィグファイ ル 変 更 要 求 モデル モデル Slide 18
CaVE - Approach ドキュメント バライアビリティ パターンを 抽 出 ドキュメントや 既 知 の バライアビリティに 対 する 確 認 作 業 プロダクトラインエンジニア The approach is well described in this technical report: John, I.; Doerr, J.; Schmid, K.: User documentation based product line modeling, IESE-Report, 004.04/E http://publica.fraunhofer.de/eprints/urn:nb n:de:0011-n-207887.pdf Additional Information: Pattern based documentation analysis for Software Product Lines, Dissertation, Fraunhofer IRB Verlag, to appear 2010 共 通 項 目 と バライアビリティ image IESE 2004 Slide 19 ドメインエキスパート プロダクトライン の 要 求 の 一 部 バリエーションポ イントやスコープ
Documentation Pattern Example Nam e Headings Short Description Input Output Transition Long Description Exam ple Headings usually represent features Headings Feature Transition Documentation -> Product Line Artifact Since features describe functionalities that are of importance for the user, they are found at prominent places in the user documentation. In a mobile phone user documentation Sending an SMS is a heading that describes a feature Slide 20
Problem Space Modelling 問 題 空 間 のモデリング Connects isolated variation points Modelling approaches: モデリングのアプローチ variable use cases ユースケース variable textual requirements テキストレベルの 要 求 仕 様 decision tables (PulSE/IESE) デシジョンテーブル feature models (FODA, FORM,...) フィーチャモデル Slide 21
Problem Space Feature Modelling 問 題 空 間 -フィーチャモデリング Simplified Model of a Modern Car Radio http://www.fuji-setsu.co.jp/products/purevariants/danilo_blog.html#tag2 Slide 22
Slide 23
Organisational Mapping 組 織 内 の 役 割 分 担 Domain Engineering ドメインエンジニアリング Problem Space 問 題 空 間 Domain Expert ドメインの 熟 練 者 Application Analyst アプリケーション 分 析 担 当 PL Architects / Devel. PLアーキテクト 開 発 者 Application Engineer アプリケーション エンジニア Solution Space 解 決 空 間 Application Engineering アプリケーションエンジニアリング Slide 24
Approaches: Platform-Centric プラットフォームセントリック Project Team 1 Project Team 2 Project Team 3 Project Team 4 Project Team 5 Project Team 6 PL Team プラットフォームセントリックなアプローチ 各 プロジェクトチームより 多 くの 人 員 (リソ ース)を 得 てプロダクトラインチームを 組 む そしてPLのコア 資 産 をはじめに 作 成 し 管 理 する 一 旦 PL 開 発 が 構 築 されると コア 資 産 は 盤 石 であるが それまでは 各 プロジェク トが 進 まない 各 プロジェクトのバス 幅 が 細 いことに 注 目 PL Core Assets Slide 25
Approaches: Incremental Platform-Centric 進 化 型 プラットフォームセントリック Project Team1 Project Team 2 Project Team 3 各 プロジェクトチームから 少 数 の 人 員 を 得 て PLチームを 組 む プロジェクト 開 発 を 進 めな がら そこで 得 られた 資 産 をコア 資 産 に 登 録 していく ゆっくりと 時 間 をかけてPLチーム は 大 きくなり コア 資 産 は 更 に 増 加 し 各 プ ロジェクトは より 少 ない 人 員 で 開 発 できる ようになっていく Product Line Team PL Core Assets Project Team 5 Project Team 4 Project Team 6 Slide 26
Approaches: Project-Centric プロジェクトセントリック Project Team 1 Project Team 2 Project Team 4 Project Team 5 Project Team 3 Project Team 6 Product Line Management Team 各 プロジェクトチームからの 人 員 は 最 小 限 PLチームではなく PLマネージメントチーム を 組 む このチームは 管 理 に 専 念 し 各 プロ ジェクトチームとコミュニケーションを 図 りな がら プロジェクトチームの 成 果 物 を 資 産 登 録 管 理 する PL Core Assets Slide 27
Get all running! Slide 28
Check and revise your way often Slide 29
Slide 30
Slide 31
Danfoss Drives Migration Slide 32
OEM 及 び 顧 客 向 けの 製 品 4 つのビジネスドメインがある Power Range 0.18 kw 1.2 MW Danfoss Drives Migration 電 子 モータ 制 御 システム Slide 33
5 地 域 で 開 発 されている 100 人 の 開 発 者 500.000 行 のコード 20 以 上 の 製 品 群 Slide 34
HVAC Feature Requirements AQUA Industry/Automation Danfoss Drives Platform Feature Model FC-101 FC-202 FC-302 Product Code Asset Slide 35
SPLE project (2005-2006) SPLEのプロジェクト HVAC Feature Requirements AQUA Industry/Automation Bottom-Up approach ボトムアップアプローチを 採 用 SPL in products (2006-) SPLの 成 果 による 製 品 80/20% on 13 products Danfoss Drives Platform Feature Model 2006 年 にSPLスタートして2か 月 後 に は60%がSPLから 生 成 できた(40%はレ ガシーからの 個 別 のコード) 2008 年 には80%がSPLから(20%は レガシーからの 個 別 のコード) Feature model フィーチャモデル Code unification コードの 統 一 化 FC-101 FC-202 FC-302 Product Code Asset Database unification データベースの 統 一 化 Slide 36
Process Danfoss Drives SPL-Process The 3 Circles SW Release cycle SW Package cycle ESP release cycle The Toll Gates T1 Release Planning is in place Running a software product line: standing still is going backwards T2 Arch design acceptable T3 Implementation acceptable T4 Test & platform elements acceptable T5 ESP Release Candidate available T6 ESP Official Release available T7 Planned SW Testing completed T8 Final Release Candidate Approved T9 Official SW Release is completed Slide 37 http://dl.acm.org/citation.cfm?id=1753250&dl=acm&coll=dl&cfid=41162356&cftoken=21327927
Slide 38
Summary Avoid Variability バライアビリティはできるだけ 少 なくする Start Small 小 さいところから 始 める Improve Stepwise 段 階 的 に 整 備 する Look for Quick ROI 投 資 対 効 果 を 直 ぐに 求 める Involve SPL Experience SPLの 経 験 者 の 関 わりを Slide 39
ありがとうございました! Telephone: +49 391 5445 69-0 the fast path for all questions we look forward to your call Internet: http://www.pure-systems.com e-mail: info@pure-systems.com 販 売 代 理 店 : 富 士 設 備 工 業 株 式 会 社 電 子 機 器 事 業 部 TEL:072-252-2128 http://www.fuji-setsu.co.jp E-Mail: info@fuji-setsu.co.jp Slide 40