UMLによるオブジェクト指向システム分析/設計コース [分析編]

UMLによるオブジェクト指向システム分析/設計コース
[分析編]
Soft Research Center Inc.
Noriko Kanazawa
演習の進め方
z 目的と範囲
分析:そのアクティビティの詳細は手法ごとに異なる
それを理解したうえで、
– 分析の視点(What)モデリングを実体験する。
• ユースケース図、アクティビティ図、クラス図、ステートチャート図な
どを作成する
– UMLで表現されたモデルが読める、作成できる
– レビューのポイントを学ぶ
z 進め方
– グループ単位でモデリングをする
• <意識合わせ>
• ダイアグラムの作成 → モデル
• レビュー
‹
モデリングだけではなく、レビューに参加してください
© Noriko Kanazawa
2
演習の課題
z 演習問題の分析モデルを各グループを策定、レビューを実施します
z 別ドメインのモデル回答例と解説を参考に、分析モデルを策定してください
1.
2.
3.
4.
問題ドメインの帳票から、問題ドメインのモデル(クラス図で表現)を策定します
問題ドメインの業務フローをアクティビティ図で表現します
問題ドメインのオブジェクトの状態遷移を考えましょう
ソフトウェアシステムへの機能要求を①ユースケース図と②そのユースケース
の定義により明確にします
5. ユースケース定義からクラス図を導く方法を説明します
クラス図を策定してください
‹ 1.で作成したクラス図と、今回作成したクラス図を比較してください
6. システムの機能要求を表現するユースケース図とクラス図が、これから構築す
るソフトウェアシステムに対してどのような役割を果たすのかを復習します
(基礎編で学習)
7. 作成したモデルを検証します
© Noriko Kanazawa
3
カルチャースクールシステム サービス概要
大学の学内の一部の情報を、教員、学生、職員が自宅のWebブラウザもしくは個人の携帯端末から参照、
更新できるようなシステムを構築する。現在、大学の以外に、専門学校も運営している。また、地元への還元
のために、カルチャースクールを立ち上げることが決定した。今回は、大学のみを対象にして、学内情報シス
テムを構築するが、専門学校、カルチャースクールでもそのシステム(の拡張or変更バージョン)を 導入する
ことを考えている。
このシステムの最初のバージョンである大学の学内情報システムには、以下のようなサービスの実装を考え
ている。
○職員は以下の情報をシステムに登録できる、学生や教員はそれをWebなどを使って見ることができる。
・講座(講座名、担当講師名、講義シラバス、教室名)、講座時間割の登録
この情報は新学期がはじまったときに、すべての学生に配布する。
それに加えて、Webでの閲覧も可能にする。
これまで掲示板に掲示していた情報には以下のものがある。
・講座教室の変更通知
(受講生が予定より多かったり、少なかったりした場合。
その講座の開始時から学期終了まで掲示する。)
・試験期間、その注意事項の通知。
(試験告知開始時から試験期間終了まで掲示する。)
○教員は以下の情報をWebから登録できる、学生、職員はその情報をWebなどで見ることができる。
・休講
・試験(問題(オプション)、注意事項、試験日時)
あるいはそれに代わるレポートの課題、形式、提出方法、提出期限。
○学生および教員は、ある種のイベントへの参加申込みをWebから行う。
© Noriko Kanazawa
4
カルチャースクールシステム(参考資料) 従来手法の開発プロセス:前頁のような要求をうけて (2003年3月4日 十数社の技術者の意見から作成)
* ヒアリングする
1. 業務プロセスを把握する
2. 現状の問題点を検出する
カルチャースクールシステム
3. システム化の要望を把握する
3-1. システム化制約、システムの規模
職員
3-2. 見えていない要件を見つける
3-3.要件を整理する
4. 要求(要件)定義書を作成する
4-1. 提供する機能を明らかにする
教員<Webブラウザ
or 携帯電話>
4-2. 外部要件(前提条件)を
4-3. GUIスケッチ
5. 機能仕様
5-1. 機能展開図、DFD作成
5-2. 機能間の関係を整理
5-3. データ構成の定義
© Noriko Kanazawa
オブジェクト指向分析・設計の場合は?
UMLで可能なこと、UML以外の表現
方法が必要なもの
5
ビジネスモデリングのパターン
.ビジネスモデリングに役立つパターン
「UMLによるビジネスモデリング」, ソフトバンクパブリッシング
À Business Modeling With UML: Business Patterns at Work
– UMLをビジネスモデル策定に生かす
– ビジネスプロセスの設計,リソース配置の設計,など.
– ビジネスプロセスを抽象化して,UMLで表現するためのパターン
• 「お金」に関することは,モデリングに盛り込まれていない
《ゴール》
企画ゴール: 質的ゴール
契約数: 量的ゴール
《 達成》
《達成》
《出力》
《 プロセス》
パターン例
・ビジネス定義
・ビジネスゴール設定
・プロセスフィードバック
《 ゴール》
有効性:高 ユニーク性:高
《ゴール》
契約ゴール: 量的ゴール
《リソース》
契約期間:長期 : 派遣契約書の仕様
派遣契約の企画
《制御》
《達成》
《制御》
《リソース》
: 営業成果
《入力》
《プロセス 》
派遣契約締結
《出力》
《 リソース》
: 派遣契約書
《 制御》
《Person 》
《入力》
: スタッフ
[未訓練]
《プロセス》
《出力》
業務訓練
《達成》
《ゴール》
教育ゴール
: 質的ゴール
《達成》
《ゴール》
請求ゴール: 量的ゴール
《Person 》
: スタッフ
[訓練された]
《入力》
《 プロセス》
《出力》
派遣サービス
回収率:100% 《リソース 》
: 勤務状況報告書
《達成》
《達成》
《 ゴール》
《ゴール》
教育コスト効果ゴール:
量的ゴール
契約数: 量的ゴール
《達成》
《ゴール》
顧客の満足: 量的ゴール
《入力》
《プロセス 》
請求
《出力》
《リソース 》
: 請求書
スタッフの創造性:高
© Noriko Kanazawa
6
ビジネスビジョンの
ビュー
ビジネスビジョン
のビュー
ブレークダウン
ビジネスプロセス
のビュー
ビジネス
システム
ビジネス構造の
ビュー
ビジネスの振る舞い
のビュー
ビュー
ビジネスプロセスの
ビュー
ビジネス構造の
ビュー
ビジネスの振る舞いの
ビュー
モデル
ビジネスビジョンビュー
ステークフォルダー:
経営者
・ミッションステートメント ・TOWSマトリックス
・「ゴール図」(オブジェクト図) ・「コンセプト図」(クラス図)
ビジネスプロセスビュー
ステークフォルダー:
経営者と作業実務者
「プロセス図」(ステレオタイプで拡張したアクティビティ図)
「アセンブリライン図」(ステレオタイプで拡張したアクティビティ図)
ビジネス構造ビュー
ステークフォルダー:
作業実務者
「リソースモデリング」,「情報モデリング」,「組織モデリング」を行って,
リソース間の静的構造を明らかにする(クラス図を用いる).
ビジネスルールの記述にはOCLを活用する.
ビジネスの振舞いビュー
ステークフォルダー:
作業実務者
ビジネスの動的側面をモデリングする
(シーケンス図,コラボレーション図,ステートチャート図を用いる)
© Noriko Kanazawa
7
.ビジネスモデリングに役立つパターン
アナリシスパターン
Martin Fowler “Analysis Patterns: Reusable Object Models” 1997年
À OOによる分析モデリングのためのパターン
– 責任関係
•
•
•
•
•
Party(パーティー)
Organization Hierarchies(組織階層)
Organization Structure(組織構造)
Accountability(責任関係)
Accountability Knowledge Level(責任関係の知識レベル) ・・・
– 在庫管理と会計
•
•
•
•
•
Account(勘定)
Transactions(トランザクション)
Summary Account(要約勘定)
Memo Account(メモ勘定)
Posting Rules(転記ルール) ・・・
– 観測と測定
– 企業財務の観測 © Noriko Kanazawa
– トレーディングパッケージ
– トレーディング
•
•
•
•
取引契約
ポートフォリオ
呼び値
シナリオ
– 金融派生商品
8
データモデルパターン
ビジネスモデリングに役立つパターン
D. C. Hay, Data Model Patterns: Conventions of Thought, Dorset House, 1996
データモデリングのためのパターン
ビジネスアプリケーションの開発において,そのビジネス領域で必要となるデータ
/概念を明確化するアクティビティで利用できる.UMLモデリングでも利用可能.
z エンタープライズ世界をモデリングするパターン
z エンタープライズのモノをモデリングするパターン
z プロダクトとアクティビティをモデリングするパターン
z 契約のモデリング
z 会計のモデリング
z 原料調達のプランニングのモデリング
z プロセスマニュファクチャリングのモデリング
z ドキュメントのモデリング
z Lower-Level Conventions
(これまでのモデルを支えるモデリングの規則)
© Noriko Kanazawa
9
「契約」をモデリングするためのパターン
ビジネスモデリングに役立つパターン
D. C. Hay, Data Model Patterns: Conventions of Thought, Dorset House, 1996
Sales Order
Purchase Order
Person
Organization
Purpose
Given name
Birth date
Contract
from
the buyer in
Contract number
0..*
Order date
to
Terms
0..*
(Contract value)
the seller in
Party
Name
Address
composed of
0..* part of
Line Item
Quantity
Price
(Extended value)
0..*
for
bought via
0..*
for
Product Type
Model number
Description
Unit price
embodied in
0..*
an example of
Product
Serial number
{or}
Service
bought via
Description
Unit price
Products and Servicesパターン + Product and Product Typeパターン
© Noriko Kanazawa
10
ビジネスモデリングからソフトウェアシステムへ
分析モデルを
設計モデルに変換するためのパターン
M. Fowler, Patterns of Enterprise Application Architecture. Addison-Wesley, 2003
À Transaction Script: ビジネスロジックをトランザクションとして実現する
À Domain Model: 従来のOO手法.複雑なビジネスロジックを実現する
À Table Module: データベースのテーブルと,ビジネスロジックを実現
するクラスを対応させる
本
『ソフトウェア
アーキテクチャ』
戸澤さん
本
利用者
-タイトル
-著者
-出版社
-出版年
-価格
-ISBNコード
-氏名
-電話番号
-住所
-生年月日
+本を借りる()
貸出
借りる
-貸出し日
-返却予定日
ビジネス世界のモデル
ユーザーインタフェーズ
借りる
本
利用者
-タイトル
-著者
-出版社
-出版年
-価格
-ISBNコード
-氏名
-電話番号
-住所
-生年月日
+本を借りる()
貸出
借りる
-貸出し日
-返却予定日
データベース
ネットワーク
セキュリティ
ビジネスロジックを実現する
© Noriko Kanazawa
11