派生開発カンファレンス 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
© Copyright 2024 Paperzz