セッション内容
I CBDとXP

30分
I 日本XPユーザグループ
15分
I ファウラー氏 XPトーク 15分

Copyright Technologic Arts Inc.

UMLによるコンポーネントモデリングと開発プロセスXP（株）テクノロジックアート
長瀬 嘉秀

1

アジェンダI XPとはI CBDとは
I CBD/XPの概要
I XP実行計画

Copyright Technologic Arts Inc.

XPとは
I eXtreme Programming
I ライトウェイトな開発手法
I 提供するもの– プロジェクトのリスクの軽減、ビジネス変化への迅速な対応、生産性の向上
I 特徴– 効率的、ローリスク、柔軟性、予測可能など
Copyright Technologic Arts Inc.

2

The Three Exremos
I Ward Cunningham - the inventor
I Kent Beck - the articulator
I Ron Jeffries - the realizer＋I Martin Fowler

Copyright Technologic Arts Inc.

XPの約束
I プログラマに対して– プログラマの日常の仕事をうまくこなすこと
I 顧客とマネージャに対して– 毎週のプログラミングから最大の価値が得られる
こと
I プロジェクトのリスクを減らす
I ビジネスの変化へ対応した改善
I 生産性の向上
I ソフトウェアを作り上げる喜び
Copyright Technologic Arts Inc.

3

プロジェクトにおける変動要素
I コスト
I 時間
I 品質
I スコープCopyright Technologic Arts Inc.

変更に伴うコスト

コス
ト

コス
ト時間
exponential

時間
flattened

Copyright Technologic Arts Inc.

4

プロセスの比較
ウオーターフォールイテレーション

XP

時
間スコープ

ObjectMentor資料より
Copyright Technologic Arts Inc.

XPの実践
I 計画ゲーム

I 共同所有I 短期リリース

I 継続した結合

I メタファー

I 週40時間I シンプルな設計

I ユーザの参加

I テスト

I コーディング基準

I リファクタリング
I ペアプログラミング

Copyright Technologic Arts Inc.

5

CBDとはI カタリシス手法I コンポーネントベース開発
I Alan WillsとDesmond D’Souza
I 唯一のコンポーネントを開発するためのモデリング方法論

Copyright Technologic Arts Inc.

CBDとは（２）I CBOPで開発中のBFOPのベース
I ebXMLI UML Profile for EDOC
I 関連書籍– 「Objects,Components,and Frameworks with UML 」
Addison Wesley,D'Souza,Wills– 「Business Component Factory 」
Wiley,Sims,Herzum– 「UML Componet」Addison Wesley,Cheesman
Copyright Technologic Arts Inc.

6

CBD／XPの概要
I ストーリー
I テスト
I タスク
I イテレーション

Copyright Technologic Arts Inc.

ストーリー
ストーリー

ストーリー

ストーリー

ストーリー

ストーリー

ビジネス側

開発側

Copyright Technologic Arts Inc.

7

XP vs CBD
I XP– ストーリーカード– ユーザの要求（システム面も含む）
I CBD– ビジネスコンポーネントの機能仕様（ユースケース）

Copyright Technologic Arts Inc.

XP ストーリーカード「eXtreme Programming explained」より

Copyright Technologic Arts Inc.

8

CBD ユースケース
商品管理コンポーネント
商品情報を入力するオペレータ
在庫管理システム

商品情報を得る

商品リスト出力する管理者

Copyright Technologic Arts Inc.

タスク
タスク

ストーリー

タスク

タスク
ビジネス側

開発側

Copyright Technologic Arts Inc.

9

XP vs CBD
I XP– タスクカード– プログラマが管理する仕事の単位
I CBD– ビジネスコンポーネントをモデリングしたソフトウェアコンポーネントの単位

Copyright Technologic Arts Inc.

XP タスクカード「eXtreme Programming explained」より

Copyright Technologic Arts Inc.

10

CBD ビジネスコンポーネント
温度・圧力制御システム
温度・圧力制御システム

パラメータ

測定値
正常温度範囲アラームスイッチ

状態

調整器

取り込む

状態
経過時間

状態
経過時間制御する制御するアラーム値を得る

コントローラ

調整器

取り込む

鳴らす

測定値

正常温度範囲アラームスイッチ

値を得る

コントローラ

センサ

パラメータ

センサ

鳴らす

表示する

アラーム

表示パネル

状態

メッセージ

表示する
表示パネル
メッセージ

設定する（温度範囲，圧力範囲，アラームスイッチ）鳴らす（）
印刷する（測定値）
表示する（メッセージ，値）測定値を得る（測定値）制御する（高低）設定する（温度範囲，圧力範囲，アラームスイッチ）鳴らす（）
印刷する（測定値）
表示する（メッセージ，値）測定値を得る（測定値）制御する（高低）Copyright Technologic Arts Inc.

テスト XP vs CBD
I XP– 受入テスト– テストファーストI CBD– シナリオ＝

ユーザのテスト要件

Copyright Technologic Arts Inc.

11

CBD シナリオ
I ユースケースのシナリオ
シナリオ名

異常温度

初期状態

温度=15℃、 正常温度範 囲 =0℃〜 25 ℃、温度セ ンサー=T1 、 ア
ラーム =A1 、表示パネル =D1

ステップ

１．温度センサー T1 から、測定温度として、 40℃を受け取る。
２．この温度が正常範囲（ 0℃〜 25 ℃）にあるか比較する。
３．これは正常範囲より高いので、アラーム A 1 に鳴らすように命令を送る。
４．表示パネル D1 にメッセージ 温度異常 、現在温度 40 ℃を表示させる。
Copyright Technologic Arts Inc.

CBD シナリオ（２）P1：パラメータ
２．計測値範囲を得る

T1：温度センサ

１．測定値を得る

C1：コントローラ

３．温度高
TAC1：温度調整器

４．鳴らす
A1：アラーム

５．表示させる（温度異常,40℃）

D1：表示パネル

Copyright Technologic Arts Inc.

12

CBD/XP全体図
アクティビティ図ビジネスモデルユースケース
シナリオ

ストーリー

ビジネスルール
ビジネスイベント
ビジネスエンティティ
ビジネスプロセス

コンポーネント機能開発
イテレーション

プロジェクト計画

アーキテクチャ設計

ユースケース記述

ユースケース図ビジネスコンポーネント
設計

EJB, CORBA
ネットワークOS

機能テスト

パターン適用

タイプモデルオブジェクト図コラボレーション図
シーケンス図

CBOP/BFOP

Copyright Technologic Arts Inc.

ＸＰ実行計画
I Planning XP
I Kent Beck, Martin Fowler著
I 飯塚

麻理香 訳、長瀬 嘉秀 監訳
I ４月１９日、ＸＰセミナー会場で発売

Copyright Technologic Arts Inc.

13

ケント・ベック氏によるXPセミナー
日付
I 場所
I 主催
II

協賛

I

後援

４月１９日
ＴＦＴ

Copyright Technologic Arts Inc.

UMLによるコンポーネントモデリングと開発プロセスXP（株）テクノロジックアート
長瀬 嘉秀

14