• 検索結果がありません。

ライフサイクル知識の資産化方法

第4章 ライフサイクル知識の資産化と活用方法

4.3 ライフサイクル知識の資産化方法

サービス設計・運用プロセスの資産化方法は,第3章で述べたモデリング方法を用いて,

設計・運用プロセスの再利用に向けた資産化方法とする.

従来,個々の設計モデルあるいはソフトウェアコンポーネントの資産化に留まっていた のに対し,本手法は,ライフサイクル設計・運用プロセス自体を資産化の対象とする.

また,プロダクトラインエンジニアリングの考え方を応用し,カスタマイズインタフェ ースとモジュール最小構成を同定する.

4.3.1 開発~運用工程の知識の統合

4.3.1.1 カスタマイズポイントの導出

第3章で示した各モデルから構築したサービスモデルチェーンは,サービスの設計・運 用プロセス全体を網羅している.このサービスモデルチェーンをライフサイクル知識とし て保持することで,別の顧客に対して同じWebサービスを開発する際に再利用できる.サ ービスモデルチェーンには,開発に必要な設計情報が整列されるため,WBS(work

breakdown structure)4として開発全体の作業や成果物の雛形になるからである.しかし,

一般に,同じWebサービスの開発であっても,全ての要件が同じことは稀で,顧客毎にユ ーザインタフェースや部分的な機能要件の差異が生じる.そこで,このサービスモデルチ ェーンを有効に多くの案件に適用できるように,カスタマイズを前提とした,マス・カス タマイセーションを指向する.この実現には,多品種少量生産に適したプロダクトライン エンジニアリング[Clements2001]の考え方を応用し,次のように,ドメイン開発とカス タマイズの元になるパタンの開発を行う.

ライフサイクル知識の再利用性を最大化するため,次のようにコアと可変点を定義する.

ライフサイクルを指向したドメインとし,モデル中の必須属性をコア,選択・代替属性を 可変とする.モデル間のデータ連結に必須となるものは,必須(mandatory)とし,追加 属性の場合は,選択(optional)とする.また,代替となる属性aは代替(alternative)を 表す.

資産の再利用において,再利用性と適応性の間にトレードオフがある.再利用可能な資 産を最大化するために,パラメータの型は決定論的な方法で指定する.全てのモデルチェ ーンは主に必須(mandatory),追加データは選択(optional)属性であり,他者との依存 関係は,代替属性(alternative)である.これに基づき,次のように,各モデルのこれら の属性を定義づける.

 サービス目標モデリング(Service Objectives):financial, customer, innovation

4 WBSとは,プロジェクト管理を行うための計画手法で,プロジェクト全体を詳細な作業に細分化し,階

層構造などで管理する手法である.

76

perspectivesは必須,これらの関係性は選択(optional).

 ステークホルダ抽出モデリング(Value Chain):stakeholders は,必須.一方,value chainの流れを構成する条件は代替(alternative).

 要 求 ・ 機 能 展 開 モ デ リ ン グ(Goal Prioritization):operational processes,

requirements functions は,必須.要求から機能への転写は,設計者の選択である

ため,代替(alternative).

 サービスシステムモデリング(Service System Design):functional components は,

必須.Functional component間の functional flowは,代替(alternative).

 品質・機能モデリング(Quality Function Insight):quality とfunctionは必須.

non-functional requirementsは,性能と信頼性のように互いに影響するので,代替

(alternative).

 ユースケースモデリング(Application Use Case/Data Model/System Flow):ソフ トウェア機能コンポーネントの実装の選択は多様であるため,ソフトウェアコンポ ーネントとデータストアは必須,代替(alternative),または選択(optional).

 リ ソ ー ス 割 り 当 て モ デ リ ン グ(Resource Combination Design):Runtime

environments は必須.仮想マシンのパラメータは選択(optional)または代替

(alternative)

 プロトタイピング(Application Prototyping):ソフトウェアとリソースコンポーネ ントの間に制約関係がある場合,機能モジュール間の関係は,選択(optional)か つ代替(alternative),または,選択(optional)か代替(alternative)のいずれか.

 非機能要件監視・評価(Application Execution:Execution stacks は必須.そのパ ラメータの一部に,互いに依存関係がある場合,代替(alternative).

これらの任意の代替の属性が可変点と見做し,新しいサービスの開発のための設計のカ スタマイズ可能なインタフェースとして定義できる(表4-1).

77

表4-1 カスタマイズポイント

工程(Phase) 必須(Mandatory) 選択(Optional) 代替(Alternative) 1 目的の構造

Service Objective

finance, customer, innovation

relationships

2 バリューチェーンのモデリング Value Chain

stakeholders conditions for a

flow of value chain

3 ゴールと機能の関係のモデリング Goal Prioritization

requirements, functions

transcription from

requirements to functions

4 システム構造のモデリング Service System Design

functional components

functional flows

5 機能と品質の関係のモデリング Quality Function Insight

quality and function

non-functional requirements 6 ユースケースのモデリング

Application Use Case

software components

software components

software components 7 機能のリソースへの割り当て

Resource Combination Design

runtime environments

parameters parameters

8 機能要件の検証

Application Prototyping

relationships between functional carriers

9 非機能要件の検証 Application Execution

execution stacks parameters

4.3.1.2 カスタマイズポイントを含むライフサイクルパタン構築

サービスドメインのインスタンスとして,ライフサイクルパタンを開発する.モデルチ ェーン全体が開発に必要になる場合と,部分的に必要になる場合がある.ドメイン特性を,

関心事と定義し,関心事に沿って,モデルチェーンの中から必須部分をパタンとして導出 する.

以上に示した手順を含め,設計・運用プロセスの構築と利用は次のステップで実践する

(図4-4).

ステップ 1:サービスのドメイン開発(domain development)

対象サービスを分析し,対象サービスのライフサイクルを通じた関心事を 明確化する.例えば,実装指向,プロセス指向などの関心事から,サービ

78

スドメインを特定する.このドメイン特性に基づき,各モデルに含まれる 属性の特性を mandatory(必須),alternative(代替),optional(選択)

のいずれかに決定する.

ステップ 2:ライフサイクル知識のパタン構築設計

モデリングツールを利用して,サービスモデルチェーンを構築する.サー ビスモデルチェーンを構成するモデルについて,alternative,optional属 性に対して,カスタマイズインタフェースを指定する.

ステップ 3:ライフサイクル知識のパタン構築

上記のサービスモデルチェーンから秘密情報や特定のサービス固有情報を 除き,共通リポジトリに保持する.

ステップ 4:ライフサイクル知識のパタン利用

サービスを開発する際の初期データとして,保管されたサービスモデルチ ェーンを使用する.要件に合わせてカスタマイズインタフェースに対して カスタマイズを行い,サービス開発を進める.

ステップ3では,共通リポジトリにライフサイクルパタンを蓄積し,ステップ4では,

共通リポジトリに保管されたライフサイクルパタンを,案件毎に用意した開発用リポジト リにインポートし,カスタマイズ開発を行う.以上のステップを図4-4に示す.

図4-4 プロダクトライン型のサービス開発[Hosono 2012a(改)]

79