講演資料 - 派生開発推進協議会(AFFORDD)

派生開発カンファレンス 2014年
年6月
月6日
日
USDMの他分野への応用
の他分野への応用 経験発表
経験発表
USDM2UML
~要求をクラス図へ変換し早期に
~要求をクラス図へ変換し早期にモレを見つける~
早期にモレを見つける~
セイコーエプソン株式会社
IT推進本部
IT推進本部 ソフトウェア品質・生産技術部
ソフトウェア品質・生産技術部
ソフトウェア生産技術トレーニンググループ
萩原 豊隆
©SEIKO EPSON CORPORATION 2014. All rights reserved.
自己紹介
担当業務:ソフトウェア工学の導入推進
名前: 萩原 豊隆
所属部門
ソフトウェア生産技術トレーニンググループ
プロセス改善、ソフトウェア工学の導入でQCD
プロセス改善、ソフトウェア工学の導入でQCDを向
QCDを向上させる
を向上させる
経歴
IEEE1394 WDMドライバ開発
WDMドライバ開発
業務用小型プリンタのアーキテクチャ設計
社外活動
ET2013 スペシャルセッション C4
「実践的なモデルベース開発技術者の
実践的なモデルベース開発技術者の育成」パネラー
なモデルベース開発技術者の育成」パネラー
UMTPモデリング技術
UMTPモデリング技術セミナー
モデリング技術セミナー
『匠のモデリング技術の伝承と普及』
匠のモデリング技術の伝承と普及』講師
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
2
. 要求モレという問題
Ⅰ.要求モレという問題
USDMでは要求モレに対する手立てが少ない
Ⅱ.要求をクラス図に変換する手順
Ⅲ.変換を通じて見つかる要求モレ
Ⅳ.成果と課題
Ⅴ. まとめ
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
3
1. USDMの適用範囲
の適用範囲
USDMは要求の表現に重点を置く記法である
USDMは要求の表現に重点を置く記法である
要求の発見と洗練の手立ては薄い
USDMの
の
カバー範囲
ユースケースなど
他手法とつなぐ
要求の発見
要求の表現
要求の洗練
出典: AFFORDD勉強会資料
勉強会資料 USDM1.2 を元に作成した
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
4
2. USDMにおける要求の発見
における要求の発見
要求モレへの対応方法は限定的になる
昇華によって要求のモレに気づく場合もある
昇華の事例
要求 MAL01-02
理由
□
MAL01-02-1
□
MAL01-02-2
□
MAL01-02-3
□
MAL01-02-4
理由を共有し
ない仕様
A認D
超R
Subject
新たに要求を立て
仕様を移動する
出典: AFFORDD勉強会資料
勉強会資料 USDM1.2 を元に作成した
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
5
3. 要求モレによる影響
設計構造は要求モレによって崩れる
「すっかり忘れていた」は対処しづらい
悪影響
1. 設計構造が崩れる
•
•
2.
建て増し
温泉旅館状態
時間が無いので場当たり的に対応する
うまく追加要求に対応できず構造が崩れる
非機能要求が実現できない
•
•
データ構造の不適合でパフォーマンスがでない
タスク構造が崩れで動作が不安定
タスク構造が崩れで動作が不安定になる
動作が不安定になる
信頼性の欠如
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
6
. 要求をクラス図へ変換する手順
Ⅰ.要求モレという問題
Ⅱ.要求を
要求をクラス図に変換する手順
クラス図に変換する手順
要求は機械的な手順でクラス図へ変換できる
Ⅲ.変換を通じて見つかる要求モレ
変換を通じて見つかる要求モレ
Ⅳ.成果と課題
Ⅴ. まとめ
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
7
1. USDMの要求と機能
の要求と機能
粒度の揃った目的語
粒度の揃った目的語と
目的語と動詞が要求に現れる
動詞が要求に現れる
動詞で表現される振る舞い
動詞で表現される振る舞いで機能が決まる
振る舞いで機能が決まる
USDMによる要求と要求仕様の整理例
による要求と要求仕様の整理例
USDM : Universal Specification Describing Manner
要求 M01-02
理由
□
M01-02-1
□
M01-02-2
□
主に構造(クラス図)に
反映される機能
A認D
超R
主に関数内に反
映される機能
M01-02-3
要求 M01-03
理由
□
M01-03-1
□
M01-03-2
Subject
容0
出典: 「要求を仕様化する技術表現する技術 改定第2版」 (清水吉男 著、2010年)
年) の要求仕様の記述例
著、
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
8
1.1 機能とは何か?
情報処理の
目的語と動詞で、目的となる機能
目的語と動詞で、目的となる機能を捉える
目的となる機能を捉える
機能とは、目的語
機能とは、目的語+
動詞である
目的語+動詞である
機能の表現
<定義の対象> <目的語><動詞>
<目的語> <動詞>
腕時計は
機能の割付対象
時刻
を示す
<制約条件>
±10秒/月差
秒/月差
機能 (言葉のモデル)
記述のポイント
• 定義の対象を一般化して捉えないで、対象特有のはたらき
定義の対象を一般化して捉えないで、対象特有のはたらきを定義する
対象特有のはたらきを定義する
「を制御する」ではダメ
出典: 「新・VEの基本
年)を元に作成した
「新・ の基本 価値分析の考え方とプロセス」(土屋裕 監修、産能大学VE研究グループ
監修、産能大学 研究グループ 著、1998年)を元に作成した
著、
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
9
2. 要求から機能一覧を作る
USDMの要求から機能一覧を作る
USDMの要求から機能一覧を作る
事前に整理されているので機能の粒度
事前に整理されているので機能の粒度が揃う
機能の粒度が揃う
機能一覧の記述例
目的語
複数のキーワード
メール
動詞
を組み合わせる
を検索する
検索されたメール
メール
選択済みのメール
をリスト表示する
を選択する
を表示する
「要求を仕様化する技術表現する技術 改定第2版」 (清水吉男 著、2010年)
年) の要求仕様
著、
の要求仕様の
仕様の
記述例から作成した
2014/06/06
構造(クラス図)に
反映される粒度
制約条件
キーワードで
リスト表示から
Who(だれが
だれが)、
何を)、
だれが 、What(何を
何を 、
When(いつ
いつ)、
どこで)、
いつ 、Where(どこで
どこで 、
How mach(どの程度)
(どの程度)
How to (どのように
どのように)
どのように など
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
10
3. 機能をクラス図に対応づける
目的語はクラス、
目的語はクラス、動詞
はクラス、動詞は関連名にする
動詞は関連名にする
関連を記述する都合
上、空クラスを置く
機能一覧表
目的語
動詞
キー状態
を取得する
ブザー
を鳴動する
を点滅する
LED
を鳴動する
LED
を点滅する
を取得する
キー状態
ブザー
目的語をク
ラスにする
規準
目的語をクラスにしている
助詞と動詞を関連にしている
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
11
4. クラスの粒度をそろえる
細かくなったクラスを統合する
Keyロック
ロック
ブザー
統合で複
数の関連
ができる
を有効
にする
のロック
を有効に
する
を取得する
を鳴動する
の状態を
の状態を
取得する
を鳴動する
キー
同じものには
同じ名前を付
ける
キー状態
ブザー
「キーの状態」
と言える
- 状態
- ロック
情報がモレな
いように名前
を言い換える
同じものを
規準
統合する
同じものには、同じ名前をつけている
属性レベルのクラスを統合している
統合したクラスの関連をつなぎ直している
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
12
5. 空のクラスを削除する
関連をつなぎ直して、空クラスを削除する
空のクラス
を削除する
パネル
主語=目的語なら
自分自身につなぐ
をロックする
をロックする
パネル
のロック
を有効に
する
LED
関連をつな
ぎなおす
の状態を
取得する
を鳴動する
を点滅する
キー
- 状態
- ロック
を点滅
する
のロック
を有効に
する
の状態を
取得する
を鳴動する
キー
ブザー
LED
- 状態
- ロック
ブザー
規準
読み上げたとき主語となるクラス
読み上げたとき主語となるクラスに関連をつなぎ直している
主語となるクラスに関連をつなぎ直している
関連が無くなった空のクラスを削除している
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
13
6. 本質的な関連に整理する
細かい関連はメソッドとしてクラスに取り込む
細かい関連はメソッドとしてクラスに取り込む
制御元
条件付
き関連
パネル
パネル
条件判定は非
公開メソッドとし
て取り込まれる
-
制御元
確認元
制御元
確認元
- チャイルドロックを判定する()
チャイルドロックを判定する
チャイルド・ロックの
場合、の検出を可
場合、の検出を可
能にする
の検出を不
能にする
確認先
- 状態
- 検出
を確認する
制御対象
キー
キー
制御対象
を無効にする
の状態を
取得する
制御対象
- 状態
- 検出
ロールが異
なる関連は
統合しない
確認先
+ 検出を可能にする()
検出を可能にする
+ 検出を不能にする()
検出を不能にする
+ 状態を取得する()
状態を取得する
関連名の動詞は、
規準
公開メソッドとして
取り込まれる
関連をメソッドとしてクラスに取り込んでいる
取り込んだ関連を本質的な関連に置き換えている
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
14
. 変換を通じて見つかる要求モレ
変換を通じて見つかる要求モレ
Ⅰ.要求モレという問題
Ⅱ.要求をクラス図に変換する手順
Ⅲ.変換を通じて見つかる要求
変換を通じて見つかる要求モレ
通じて見つかる要求モレ
変換の過程でモレが見つかるタイミングがある
Ⅳ.成果と課題
Ⅴ.まとめ
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
15
1. クラス図へ変換した事例
機械的な手順で短時間にサクサク変換する
この事例では40分程度で変換を完了!
この事例では 分程度で変換を完了!
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
16
2. 機能一覧で見つかるモレ
動詞が不足すると、そもそも機能一覧を作れない
振る舞い(動詞)の不足は要求モレである
の不足は要求モレである
出典: AFFORDD勉強会資料
勉強会資料 USDM1.2
要求 PRT11 A 予想との乖離が一定以上開いたときは通知する
B 商品毎に設定され
商品毎に設定されている当日の売上数量の予測に対
設定されている当日の売上数量の予測に対
して、実売データとの間に大きな開きがある
して、実売データとの間に大きな開きがあるときは警
開きがあるときは警
告メッセージをマネージャのPC画面に出す
告メッセージをマネージャの 画面に出す
すべての要求を並べたと
きに機能
きに機能(目的語+動詞)に
モレがないこと
目的語
売り上げ数量の予測
予測と実績の差
警告メッセージ
2014/06/06
Bの表現なら機能一覧
の表現なら機能一覧にできる
の表現なら機能一覧にできる
動詞
を設定する
を確認する
を画面に出す
一覧化で曖昧な
制約条件
表現も見つかる
当日分を商品毎に
当日分を商品毎に
・ 予実に大きな乖離があるとき
・ マネージャーのPC画面へ
マネージャーの 画面へ
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
17
3. 変換途中で見つかるモレ
変換途中で見つかるモレ
主に関連をつなぎなおす時にモレが見つかる
名詞(クラス
名詞 クラス)や
クラス や動詞(関連
動詞 関連)のモレとして気づく
関連 のモレとして気づく
空クラスへの
関連が無くなる
制約条件からも
主語となるクラ
スを特定できる
モレていた
クラスを補う
主語=目的語なら
自分自身につなぐ
機能一覧が不完
全だと孤立する
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
18
4. 機能を通して見つかるモレ
機能を通して見つかるモレ
コミュニケーション図を作るとモレが見つかる
モレがあると主要機能を通すことができない
主要な機能
1. 省電力状態に移行する
2. 省電力から復帰する
クラス図
コミュニケーション図
主要な振る舞いのモレ
で、呼び出しに必要な
関連が不足する
関連が不足する
モレがあれば、
途中で処理が
止まる
2014/06/06
機能に付随する品質
要求のヒントにもなる
目的語のモレで、関
数を収容するクラス
がなくなる
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
補助的な振る舞いの
補助的な振る舞いの
モレで、呼び出し先の
関数がなくなる
関数がなくなる
19
5. モレを要求仕様に反映する
見つかった名詞と動詞のモレを要求に反映する
短時間の
短時間のモデリングの試行でも効果がでる
ユース
ケース
要求を
追記する
検証シナリオ
を作る
要求
仕様書
考え込まずにサクサクと
考え込まずにサクサクと
変換してモレを見つける
要求を追記・更新する
要求を追記・更新する
仕様化の前
に変換する
機能要求
要求をクラス図
へ変換する
クラス図
コミュニケーション
構造を
図を作る
更新する
振る舞いの
検証シナリオ
コミュニケーション図
アーキテクチャ設計
&規模見積り
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
20
6. USDMとモデリング
とモデリング
目的が同じなのでモデリングの役割を変える
要求分析でなく構造への変換手順
要求分析でなく構造への変換手順とする
構造への変換手順とする
とは言え、もともと要求
分析の記法なので曖昧
な箇所も発見できる
分析モデリング
user
manager
・
・
・
専門家
開発経験者
エキスパート
出典: ソフトウェア工学実践の基礎
落水 浩一郎 著
2014/06/06
何かきっかけを
見つけてくる
要求を (現象的な要求をとにかく集める)
決める
体系的
完全
requirements
無矛盾 でない
本質的な
情報を補う
厳密
最少
Inter
view
USDMでは
ではmodelの代わり
の代わり
では
整理する
に記述フォーマットの工夫で
厳密性を保つ
現実世界のモデル model
Semi formal method
を用いて厳密にもれな
く表現する
オブジェクトモデル
ダイナミックモデル
機能モデル
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
21
. 成果と課題
Ⅰ.要求モレという問題
Ⅱ.要求をクラス図に変換する手順
Ⅲ.変換を通じて見つかる要求モレ
Ⅳ.成果と課題
新規開発はできるが派生開発は不十分である
Ⅴ. まとめ
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
22
1. 定性的な効果
要求仕様作成の動機付けにもなっている
USDMとの連携にも手ごたえを感じている
USDMとの連携にも手ごたえを感じている
<アンケートによる評価>
・ USDMからの言葉の洗い出しをきっちりやっておく
からの言葉の洗い出しをきっちりやっておく
ことでその後のクラス分析のやり易さにつながると
感じた。
・ しっかりとUSDMで記載された要求仕様書をまず用
で記載された要求仕様書をまず用
しっかりと
意する必要があり、そのための準備が前もって行っ
てあれば尚効率的に設計できたと感じました。
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
23
1.1 アンケートの方法
トレーニングの受講者へアンケートを実施した
トレーニングは延べ200
トレーニングは延べ200名以上が受講している
200名以上が受講している
満足度
《質問》
質問》
0%
6% 0%
36%
58%
とても勧め
たい
まあまあ勧
めたい
どちらとも言
えない
あまり勧め
たくない
勧めたくな
い
本トレーニングの受講を他の人に勧
めたいと思いますか?
理解度
2%1% 0%
32%
《質問》
質問》
65%
本トレーニングの内容は理
解できましたか?
よく理解で
きた
まあまあ理
解できた
どちらとも言
えない
あまり理解
できない
まったく理解
できない
調査期間:2011年
年3月~
月~2012年
年7月、回答数:
月、回答数:110名
名
調査期間:
月~
月、回答数:
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
24
2. 定量的な効果
従来のモデリングよりも生産性が向上した
トレーニングで品質
トレーニングで品質と
生産性に効果があった
品質と生産性に効果があった
独自にモデリング
を実施したとき
1.
部門独自で取り組んだとき
品質悪化に歯止めができ生産性も向上した
不具合を80%
不具合を80%削減、開発期間を
80%削減、開発期間を30%
削減、開発期間を30%削減した
30%削減した
2.
トレーニング受講後の継続開発
USDMから
から
クラス図に変換
コンポーネントが改善されて品質が安定した
不具合発生率は、引き続き低く抑えられている
生産性がさらに40%
生産性がさらに40%向上した
40%向上した
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
25
2.1 適用領域
電池駆動のデバイスに対して適用した
低リソース環境でも実践可能であった
ポイント
電源が電池である
健康向け:生体情報のセンシングデバイス
CPU4/8/16ビット
CPU4/8/16ビット
RAM 数Kbyte/ROM128KByte
アセンブラ/C
アセンブラ/C言語のみの開発環境
/C言語のみの開発環境
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
26
3. 残った課題
派生開発への対応が不十分である
追加要求のマージでafter
追加要求のマージでafterのモデルは作れる
afterのモデルは作れる
ただし
追加機能
Before
パネル
同じ手順で
マージする
目的語
動詞
ブザー
を鳴動する
LED
を点滅する
After
LED
パネル
を点滅する
-
-
制御元
確認元
- ロックを判定する()
ロックを判定する
制御元
- ロックを判定する()
ロックを判定する
確認元
を無効にする
を無効にする
を確認する
を確認する
キー
制御
対象
キー
制御
対象
- 状態
- 検出
- 状態
- 検出
確認先
+ 検出を可能にする()
検出を可能にする
+ 検出を不能にする()
検出を不能にする
+ 状態を取得する()
状態を取得する
2014/06/06
を鳴動する
差分のレビュー
は間違い探し
ブザー
確認先
+ 検出を可能にする()
検出を可能にする
+ 検出を不能にする()
検出を不能にする
+ 状態を取得する()
状態を取得する
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
27
3.1 変更という関心事
UMLには
UMLには変更指示
には変更指示という関心事を扱う図がない
変更指示という関心事を扱う図がない
抜本的な解決にはUML
抜本的な解決にはUML自体の対応が必要
UML自体の対応が必要
「IEEE-Std-1471-2000: Recommented Practice for
Archtectural Description of Software-Intensive
Systems Conceptual Framework」を元に作成した
派生開発では、変更を
指示するという関心事
変更を表現で
きる図がない
関心事
Viewと
とModelとを
とを
合わせたものが図
視点
機能や構造
という視点
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
28
. まとめ
Ⅰ.要求モレという問題
Ⅱ.変換でモレを見つける
Ⅲ.モデリングの具体論
Ⅳ.成果と課題
Ⅴ.まとめ
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
29
. まとめ
要求をクラス図へ変換し早期に
要求をクラス図へ変換し早期にモレを見つける
早期にモレを見つける
ポイント
1. USDMでは要求モレに対する手立てが少ない
では要求モレに対する手立てが少ない
2. 要求は機械的な手順でクラス図へ変換できる
3. 変換の過程でモレが見つかるタイミングがある
4. 新規開発はできるが派生開発は不十分である
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
30
©SEIKO EPSON CORPORATION 2009. All rights reserved.
モデリングの実例
腕時計のクラス図を作ってみよう!
1.
2.
3.
4.
5.
6.
7.
2014/06/06
機能一覧を作る
機能一覧を作る
機能をクラス図に対応づける
クラスの粒度をそろえる
空のクラスを削除する
本質的な関連に整理する
モデリング手法への感想
まとめ
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
32
1. 機能一覧を作る
機能要求を元に機能
機能要求を元に機能一覧を作る
要求を元に機能一覧を作る
構造(クラス図)に
反映される粒度
USDMから作ると
USDMから作ると機能
から作ると機能の粒度
機能の粒度が揃う
の粒度が揃う
機能一覧の記述例
目的語
ホームタイムの都市情報
時刻
動詞
を設定する
をデジタル表示する
時刻
アラーム
ストップウォッチ
をアナログ表示する
を鳴らす
アラーム時刻の場合
を計測開始する
この機能一覧の記述例は、「ずっと受けたかったソフトウェア設計の授業」 (飯泉
純子 、大槻繁 共著)の第5章 「振舞い」の腕時計の例題を参考に作成した
2014/06/06
制約条件
アジャストボタンで
12/24時モードで表示方
時モードで表示方
法を決める
Who(だれが
だれが)、
何を)、
だれが 、What(何を
何を 、
When(いつ
いつ)、
どこで)、
いつ 、Where(どこで
どこで 、
How mach(どの程度)
(どの程度)
How to (どのように
どのように)
どのように など
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
33
2. 機能をクラス図に対応づける
機能一覧をクラス図に対応づける
クラスと関連を読み上げると機能一覧に戻る
便宜上の
空クラス
目的語が同じなら、関連
も同じクラスにつなぐ
ホームタイムの都市
情報を設定する
時刻をデジタル
表示する
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
34
3. クラスの粒度をそろえる
属性が現れる
クラスの粒度を適正化すると属性
クラスの粒度を適正化すると
属性
が現れる
属性化で言葉の散らばりも、少し解消する
属性レベルのク
ラスを統合した
統合で関連を
つなぎなおした
「の都市コード」
等は属性として
取り込まれる
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
35
4. 空のクラスを削除する
空クラスを削除すると、クラス図らしくなる
つなぎなおすときに、モレが見つかる
つなぎなおすときに、モレが見つかる
空クラスへの
関連が無くなる
制約条件からも
主語となるクラ
スを特定できる
モレていた
クラスを補う
主語=目的語なら
自分自身につなぐ
機能一覧が不完
全だと孤立する
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
36
5. 本質的な関連に整理する
関連を整理すると、クラス図として完成する
あとは洗練させるだけ!
とりあえず
関連をメソッドと
して取り込んだ
自分自身への関
連はプライベート
関数になる
複数の関連が
統合された
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
37
6. モデリング手法への感想
分かりやすい手順と規準が評価されている
勘と経験からの脱却に手ごたえを感じている
<アンケートによる評価>
・ 機械的にモデリングができることは、複数人でまわ
すプロジェクトをこなす上で大変重要なことだと思い
ます。それをある程度実現できるというところはすご
く有用性がある仕組みだと感じました。
・ モデルとは経験と勘によるものが多いと思っていま
したが、機械的にできる部分が多いことを実感しま
した。
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
38
7. まとめ
腕時計のクラス図を作ってみよう!
ポイント
1. 機能要求を元に機能一覧を作る
機能要求を元に機能一覧を作る
2. 機能一覧をクラス図に対応づける
3. クラスの粒度を適正化すると属性が現れる
4. 空クラスを削除すると、クラス図らしくなる
5. 関連を整理すると、クラス図として完成する
6. 分かりやすい手順と規準が評価されている
2014/06/06
©SEIKO EPSON CORP. 2014 USDM2UML 要求をクラス図に変換する
39