Modeling by Verb

55
株式会社 株式会社 株式会社 株式会社 ©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! 推進本部 推進本部 推進本部 推進本部 品質生産技術部 品質生産技術部 品質生産技術部 品質生産技術部 生産技術 生産技術 生産技術 生産技術 萩原 萩原 萩原 萩原 豊隆 豊隆 豊隆 豊隆 動詞 動詞 動詞 動詞de!! 描いて変形、読上げて確認 描いて変形、読上げて確認 描いて変形、読上げて確認 描いて変形、読上げて確認

description

セイコーエプソン株式会社、萩原豊隆さんによる、新しいモデリング手法、 「動詞de!! モデリング 」のプレゼンテーションです。 ・ソフトウェアの振る舞いは動詞で表現できます。しかし今までのモデリング手順では、“動詞”を適切に扱えませんでした。例えば名詞つまり目的語に着目する一方で、付随する動詞を無視して振る舞いを漏らす。あるいは「○○制御」クラスのように振る舞いがすべて“制御”という言葉に隠れてしまう。いずれも動詞の取り扱いのまずさに起因します。 ・そこで目的語と共に動詞も同時にクラス図へ変換する手法を作りました。モデリングツールを使って、目的語と動詞の組み合わせをサクサクとクラス図に変換していきます。クラス図の良し悪しは読み上げて確認です。単純かつ明快なので誰もがセンスに依存せずにモデリングできるようになります。

Transcript of Modeling by Verb

セイコーエプソン株式会社セイコーエプソン株式会社セイコーエプソン株式会社セイコーエプソン株式会社

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング

IT推進本部IT推進本部IT推進本部IT推進本部 ソフトウェア品質・生産技術部ソフトウェア品質・生産技術部ソフトウェア品質・生産技術部ソフトウェア品質・生産技術部

ソフトウェア生産技術トレーニンググループソフトウェア生産技術トレーニンググループソフトウェア生産技術トレーニンググループソフトウェア生産技術トレーニンググループ

萩原萩原萩原萩原 豊隆豊隆豊隆豊隆

動詞動詞動詞動詞de!! モデリングモデリングモデリングモデリング~描いて変形、読み上げて確認~~描いて変形、読み上げて確認~~描いて変形、読み上げて確認~~描いて変形、読み上げて確認~

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 2

「動詞「動詞「動詞「動詞de!! モデリング」とは?モデリング」とは?モデリング」とは?モデリング」とは?

� ソフトウェアの振る舞いは動詞で表現できます。しかし今までソフトウェアの振る舞いは動詞で表現できます。しかし今までソフトウェアの振る舞いは動詞で表現できます。しかし今までソフトウェアの振る舞いは動詞で表現できます。しかし今までのモデリング手順では、のモデリング手順では、のモデリング手順では、のモデリング手順では、“動詞動詞動詞動詞”を適切に扱えませんでした。を適切に扱えませんでした。を適切に扱えませんでした。を適切に扱えませんでした。

例えば名詞つまり目的語に着目する一方で、付随する動詞例えば名詞つまり目的語に着目する一方で、付随する動詞例えば名詞つまり目的語に着目する一方で、付随する動詞例えば名詞つまり目的語に着目する一方で、付随する動詞を無視して振る舞いを漏らす。あるいは「○○制御」クラスのを無視して振る舞いを漏らす。あるいは「○○制御」クラスのを無視して振る舞いを漏らす。あるいは「○○制御」クラスのを無視して振る舞いを漏らす。あるいは「○○制御」クラスのように振る舞いがすべてように振る舞いがすべてように振る舞いがすべてように振る舞いがすべて“制御制御制御制御”という言葉に隠れてしまう。という言葉に隠れてしまう。という言葉に隠れてしまう。という言葉に隠れてしまう。

いずれも動詞の取り扱いのまずさに起因します。いずれも動詞の取り扱いのまずさに起因します。いずれも動詞の取り扱いのまずさに起因します。いずれも動詞の取り扱いのまずさに起因します。

� そこで目的語と共に動詞も同時にクラス図へ変換する手法をそこで目的語と共に動詞も同時にクラス図へ変換する手法をそこで目的語と共に動詞も同時にクラス図へ変換する手法をそこで目的語と共に動詞も同時にクラス図へ変換する手法を作りました。モデリングツールを使って、目的語と動詞の組み作りました。モデリングツールを使って、目的語と動詞の組み作りました。モデリングツールを使って、目的語と動詞の組み作りました。モデリングツールを使って、目的語と動詞の組み合わせをサクサクとクラス図に変換していきます。クラス図の合わせをサクサクとクラス図に変換していきます。クラス図の合わせをサクサクとクラス図に変換していきます。クラス図の合わせをサクサクとクラス図に変換していきます。クラス図の良し悪しは読み上げて確認です。単純かつ明快なので誰も良し悪しは読み上げて確認です。単純かつ明快なので誰も良し悪しは読み上げて確認です。単純かつ明快なので誰も良し悪しは読み上げて確認です。単純かつ明快なので誰もがセンスに依存せずにモデリングできるようになります。がセンスに依存せずにモデリングできるようになります。がセンスに依存せずにモデリングできるようになります。がセンスに依存せずにモデリングできるようになります。

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 3

自己紹介自己紹介自己紹介自己紹介

担当業務:ソフトウェア工学の導入推進担当業務:ソフトウェア工学の導入推進担当業務:ソフトウェア工学の導入推進担当業務:ソフトウェア工学の導入推進

� 名前:名前:名前:名前: 萩原萩原萩原萩原 豊隆豊隆豊隆豊隆

� 所属部門所属部門所属部門所属部門� ITITITIT推進本部推進本部推進本部推進本部 ソフトウェア品質・生産技術部ソフトウェア品質・生産技術部ソフトウェア品質・生産技術部ソフトウェア品質・生産技術部

� ソフトウェア生産技術トレーニンググループソフトウェア生産技術トレーニンググループソフトウェア生産技術トレーニンググループソフトウェア生産技術トレーニンググループ

� 経歴経歴経歴経歴� IEEE1394 WDMIEEE1394 WDMIEEE1394 WDMIEEE1394 WDMドライバ開発ドライバ開発ドライバ開発ドライバ開発

� 業務用小型プリンタのアーキテクチャ設計業務用小型プリンタのアーキテクチャ設計業務用小型プリンタのアーキテクチャ設計業務用小型プリンタのアーキテクチャ設計

� 社外活動社外活動社外活動社外活動� 一般社団法人ヘルスソフトウェア推進協議会一般社団法人ヘルスソフトウェア推進協議会一般社団法人ヘルスソフトウェア推進協議会一般社団法人ヘルスソフトウェア推進協議会

技術教育委員会技術教育委員会技術教育委員会技術教育委員会 オブザーバーオブザーバーオブザーバーオブザーバー

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 4

出展書籍出展書籍出展書籍出展書籍

『『『『モデルベース開発とエンジニア育成の最前線モデルベース開発とエンジニア育成の最前線モデルベース開発とエンジニア育成の最前線モデルベース開発とエンジニア育成の最前線』』』』

http://www.amazon.co.jp/dp/4906864066

目次

■開発技術編

• 第1 章 モデルベース開発の概要

• 第2 章 制御系分野におけるモデルベース開発技術

• 第3 章 MBD 適用の実例と勘所

• 第4 章 情報系/ 組込み系分野におけるモデリング

• 第5 章 複合分野にまたがるモデルベース開発

■人材育成編

• 第6 章 MBD エンジニア育成のフレームワーク

• 第7 章 MBD エンジニア育成の実践事例

• 第8 章 MBD エンジニア育成に関するパネル討議

詳しくはこちらを参照ください詳しくはこちらを参照ください詳しくはこちらを参照ください詳しくはこちらを参照ください

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 5

動詞動詞動詞動詞de!! モデリングモデリングモデリングモデリング

目標:目標:目標:目標: センスに依存しないモデリングを実現するセンスに依存しないモデリングを実現するセンスに依存しないモデリングを実現するセンスに依存しないモデリングを実現する

1. 教えられないという問題教えられないという問題教えられないという問題教えられないという問題

2. 明確な手順と規準を用意する明確な手順と規準を用意する明確な手順と規準を用意する明確な手順と規準を用意する

3. モデリングの具体論モデリングの具体論モデリングの具体論モデリングの具体論

4. 成果と課題成果と課題成果と課題成果と課題

5. まとめまとめまとめまとめ

ⅠⅠⅠⅠ. 教えられないという問題教えられないという問題教えられないという問題教えられないという問題

ⅠⅠⅠⅠ.教えられないという問題.教えられないという問題.教えられないという問題.教えられないという問題

ⅡⅡⅡⅡ.明確な手順と規準を用意する.明確な手順と規準を用意する.明確な手順と規準を用意する.明確な手順と規準を用意する

ⅢⅢⅢⅢ.モデリングの具体論.モデリングの具体論.モデリングの具体論.モデリングの具体論

ⅣⅣⅣⅣ.成果と課題.成果と課題.成果と課題.成果と課題

ⅤⅤⅤⅤ. まとめまとめまとめまとめ

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 6

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 7

ⅠⅠⅠⅠ. 教えられないという問題教えられないという問題教えられないという問題教えられないという問題

センスに依存する部分が多いと教えられないセンスに依存する部分が多いと教えられないセンスに依存する部分が多いと教えられないセンスに依存する部分が多いと教えられない� “できる人できる人できる人できる人”ならならならなら“できるできるできるできる”では業務で使えないでは業務で使えないでは業務で使えないでは業務で使えない

1. 手順を言語化できない手順を言語化できない手順を言語化できない手順を言語化できない

2. 良いと悪いとを判断できない良いと悪いとを判断できない良いと悪いとを判断できない良いと悪いとを判断できない

3. 真似して習得ではアートと同じ真似して習得ではアートと同じ真似して習得ではアートと同じ真似して習得ではアートと同じ

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 8

1. 手順を言語化できない手順を言語化できない手順を言語化できない手順を言語化できない

「できるけど説明できない」では展開できない「できるけど説明できない」では展開できない「できるけど説明できない」では展開できない「できるけど説明できない」では展開できない

� 手順を言語化手順を言語化手順を言語化手順を言語化して、誰でも実践可能にするして、誰でも実践可能にするして、誰でも実践可能にするして、誰でも実践可能にする

モデルの出典:モデルの出典:モデルの出典:モデルの出典: 「組み込み分野のための「組み込み分野のための「組み込み分野のための「組み込み分野のためのUMLモデルカタログ」モデルカタログ」モデルカタログ」モデルカタログ」 2010年年年年10月月月月1日日日日 UMTP, Japan

お手本を見ながらお手本を見ながらお手本を見ながらお手本を見ながらのスキル向上はのスキル向上はのスキル向上はのスキル向上は良い方法!良い方法!良い方法!良い方法!

しかし習得スキルはしかし習得スキルはしかし習得スキルはしかし習得スキルは属人的な技能属人的な技能属人的な技能属人的な技能となりとなりとなりとなり展開できない展開できない展開できない展開できない

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 9

2. 良いと悪いとを判断できない良いと悪いとを判断できない良いと悪いとを判断できない良いと悪いとを判断できない

良し悪しを良し悪しを良し悪しを良し悪しをセンスの有無センスの有無センスの有無センスの有無にしてはいけないにしてはいけないにしてはいけないにしてはいけない

� 規準が無いとセンスの問題になってしまう規準が無いとセンスの問題になってしまう規準が無いとセンスの問題になってしまう規準が無いとセンスの問題になってしまう

これがダメでこれがダメでこれがダメでこれがダメで

これが良いは、これが良いは、これが良いは、これが良いは、なぜなのか?なぜなのか?なぜなのか?なぜなのか?

モデルの出典:モデルの出典:モデルの出典:モデルの出典: UMTPModelingForum2010 「組み込み分野のためのモデルカタログ」講演資料「組み込み分野のためのモデルカタログ」講演資料「組み込み分野のためのモデルカタログ」講演資料「組み込み分野のためのモデルカタログ」講演資料

組み込み分科会組み込み分科会組み込み分科会組み込み分科会 副主査副主査副主査副主査 (株)エクスモーション(株)エクスモーション(株)エクスモーション(株)エクスモーション 芳村美紀芳村美紀芳村美紀芳村美紀 氏氏氏氏

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 10

3. 真似して習得ではアートと同じ真似して習得ではアートと同じ真似して習得ではアートと同じ真似して習得ではアートと同じ

技術技術技術技術(Art)(Art)(Art)(Art)から工学技術から工学技術から工学技術から工学技術(Engineering)(Engineering)(Engineering)(Engineering)へ移行するへ移行するへ移行するへ移行する

� 科学的な理論に基き、誰でも実践できること科学的な理論に基き、誰でも実践できること科学的な理論に基き、誰でも実践できること科学的な理論に基き、誰でも実践できること

必要なこと必要なこと必要なこと必要なこと

1.1.1.1. 解くべき問題を捉える方法解くべき問題を捉える方法解くべき問題を捉える方法解くべき問題を捉える方法

• 解くべき問題=解くべき問題=解くべき問題=解くべき問題=情報処理の目的情報処理の目的情報処理の目的情報処理の目的を的確に捉えるを的確に捉えるを的確に捉えるを的確に捉える

• 目的を俯瞰することで、整理し本質化する目的を俯瞰することで、整理し本質化する目的を俯瞰することで、整理し本質化する目的を俯瞰することで、整理し本質化する

2.2.2.2. 問題からソフトウェア構造を作る方法問題からソフトウェア構造を作る方法問題からソフトウェア構造を作る方法問題からソフトウェア構造を作る方法

• 情報処理の目的を反映する情報処理の目的を反映する情報処理の目的を反映する情報処理の目的を反映する構造構造構造構造を作るを作るを作るを作る

• 目的を反映するだけでなく、目的を反映するだけでなく、目的を反映するだけでなく、目的を反映するだけでなく、良い構造良い構造良い構造良い構造にするにするにするにする

保守性と移植保守性と移植保守性と移植保守性と移植性が高い性が高い性が高い性が高い

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 11

4. まとめまとめまとめまとめ

センスに依存する部分が多いと教えられないセンスに依存する部分が多いと教えられないセンスに依存する部分が多いと教えられないセンスに依存する部分が多いと教えられない

ポイントポイントポイントポイント

1.1.1.1. 「できるけど説明できない」では展開できない「できるけど説明できない」では展開できない「できるけど説明できない」では展開できない「できるけど説明できない」では展開できない

2.2.2.2. 良し悪しを良し悪しを良し悪しを良し悪しをセンスの有無センスの有無センスの有無センスの有無にしてはいけないにしてはいけないにしてはいけないにしてはいけない

3.3.3.3. 技術技術技術技術(Art)(Art)(Art)(Art)から工学技術から工学技術から工学技術から工学技術(Engineering)(Engineering)(Engineering)(Engineering)へ移行するへ移行するへ移行するへ移行する

ⅡⅡⅡⅡ. 明確な手順と規準を用意する明確な手順と規準を用意する明確な手順と規準を用意する明確な手順と規準を用意する

ⅠⅠⅠⅠ.教えられないという問題.教えられないという問題.教えられないという問題.教えられないという問題

ⅡⅡⅡⅡ.明確な手順と規準を用意する.明確な手順と規準を用意する.明確な手順と規準を用意する.明確な手順と規準を用意する

ⅢⅢⅢⅢ.モデリングの具体論.モデリングの具体論.モデリングの具体論.モデリングの具体論

ⅣⅣⅣⅣ.成果と課題.成果と課題.成果と課題.成果と課題

ⅤⅤⅤⅤ. まとめまとめまとめまとめ

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 12

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 13

ⅡⅡⅡⅡ. 明確な手順と規準を用意する明確な手順と規準を用意する明確な手順と規準を用意する明確な手順と規準を用意する

誰でもできる誰でもできる誰でもできる誰でもできる技法技法技法技法を用意してトレーニングするを用意してトレーニングするを用意してトレーニングするを用意してトレーニングする

� 技法技法技法技法(method)(method)(method)(method)=手順=手順=手順=手順(procedure)(procedure)(procedure)(procedure)+規準+規準+規準+規準(criteria)(criteria)(criteria)(criteria)

1.1.1.1. 誰でもできる手順誰でもできる手順誰でもできる手順誰でもできる手順

2. 妥当性を確認する規準妥当性を確認する規準妥当性を確認する規準妥当性を確認する規準

3.3.3.3. 変換の正しさを検証する規準変換の正しさを検証する規準変換の正しさを検証する規準変換の正しさを検証する規準

※※※※定義の出典:定義の出典:定義の出典:定義の出典: 「ずっと受けたかったソフトウェア設計の授業」(飯泉純子、大槻繁「ずっと受けたかったソフトウェア設計の授業」(飯泉純子、大槻繁「ずっと受けたかったソフトウェア設計の授業」(飯泉純子、大槻繁「ずっと受けたかったソフトウェア設計の授業」(飯泉純子、大槻繁 共著共著共著共著, 2011年)年)年)年)

※※※※

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 14

1. 誰でもできる手順誰でもできる手順誰でもできる手順誰でもできる手順

BeforeBeforeBeforeBeforeからからからからAfterAfterAfterAfterへの変換手順を用意するへの変換手順を用意するへの変換手順を用意するへの変換手順を用意する

� 冗長であっても、一歩ずつ進める手順とする冗長であっても、一歩ずつ進める手順とする冗長であっても、一歩ずつ進める手順とする冗長であっても、一歩ずつ進める手順とする

特徴特徴特徴特徴

1.1.1.1. 変換手順である変換手順である変換手順である変換手順である

正しいものを正しく変換すれば最後まで正しい正しいものを正しく変換すれば最後まで正しい正しいものを正しく変換すれば最後まで正しい正しいものを正しく変換すれば最後まで正しい

� トップダウン的トップダウン的トップダウン的トップダウン的に進める手順はに進める手順はに進める手順はに進める手順は分かりやすい分かりやすい分かりやすい分かりやすい

2.2.2.2. 途中で間違いを修正できる途中で間違いを修正できる途中で間違いを修正できる途中で間違いを修正できる

とは言え、間違いに気づき修正できることは重要!とは言え、間違いに気づき修正できることは重要!とは言え、間違いに気づき修正できることは重要!とは言え、間違いに気づき修正できることは重要!

� 早期に修正しながら早期に修正しながら早期に修正しながら早期に修正しながらボトムアップ的ボトムアップ的ボトムアップ的ボトムアップ的に作り上げるに作り上げるに作り上げるに作り上げる

構造化分析と同じ構造化分析と同じ構造化分析と同じ構造化分析と同じ

実際に役に立つ設計手法に実際に役に立つ設計手法に実際に役に立つ設計手法に実際に役に立つ設計手法にトップダウンのものはないトップダウンのものはないトップダウンのものはないトップダウンのものはない

※※※※株式会社株式会社株式会社株式会社 一一一一

大槻繁氏の言葉大槻繁氏の言葉大槻繁氏の言葉大槻繁氏の言葉

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 15

1.1 分かりやすい規準も設定する分かりやすい規準も設定する分かりやすい規準も設定する分かりやすい規準も設定する

正しいものを正しく作っているかを判断する正しいものを正しく作っているかを判断する正しいものを正しく作っているかを判断する正しいものを正しく作っているかを判断する

� 間違いに間違いに間違いに間違いにすぐに気づくことすぐに気づくことすぐに気づくことすぐに気づくことが重要が重要が重要が重要

規準の種類規準の種類規準の種類規準の種類

1.1.1.1. 妥当性確認妥当性確認妥当性確認妥当性確認((((validationvalidationvalidationvalidation))))の規準の規準の規準の規準

正しいこと正しいこと正しいこと正しいことを確認するを確認するを確認するを確認する

� 作るものは目的を満たしているか?作るものは目的を満たしているか?作るものは目的を満たしているか?作るものは目的を満たしているか?

2.2.2.2. 検証検証検証検証(verification)(verification)(verification)(verification)の規準の規準の規準の規準

正しく行っていること正しく行っていること正しく行っていること正しく行っていることを検証するを検証するを検証するを検証する

� 途中で間違いが混入していないか?途中で間違いが混入していないか?途中で間違いが混入していないか?途中で間違いが混入していないか?

気づいたら、その場で気づいたら、その場で気づいたら、その場で気づいたら、その場ですぐに直すすぐに直すすぐに直すすぐに直す

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 16

2. 妥当性を確認する規準妥当性を確認する規準妥当性を確認する規準妥当性を確認する規準

デバイスデバイスデバイスデバイス タイマータイマータイマータイマー

手順手順手順手順

読み上げて、クラス名、関連名、ロール名の正しさを確認する読み上げて、クラス名、関連名、ロール名の正しさを確認する読み上げて、クラス名、関連名、ロール名の正しさを確認する読み上げて、クラス名、関連名、ロール名の正しさを確認する� 「「「「タイマータイマータイマータイマーは、は、は、は、デバイスデバイスデバイスデバイス を節電するを節電するを節電するを節電する」と読む。」と読む。」と読む。」と読む。

� 「「「「タイマータイマータイマータイマーは、は、は、は、節電指示者節電指示者節電指示者節電指示者の役割で、の役割で、の役割で、の役割で、デバイスデバイスデバイスデバイス を節電するを節電するを節電するを節電する」」」」

� 「「「「タイマータイマータイマータイマーが節電するとき、が節電するとき、が節電するとき、が節電するとき、デバイスデバイスデバイスデバイスはははは省電力デバイス省電力デバイス省電力デバイス省電力デバイスの役割になる」の役割になる」の役割になる」の役割になる」

をををを節電する節電する節電する節電する 節電指示者節電指示者節電指示者節電指示者省電力デバイス省電力デバイス省電力デバイス省電力デバイス

正確に読み上げるため正確に読み上げるため正確に読み上げるため正確に読み上げるため必ず助詞を書く必ず助詞を書く必ず助詞を書く必ず助詞を書く

読み上げたとき読み上げたとき読み上げたとき読み上げたとき機能機能機能機能が目的を満たしているが目的を満たしているが目的を満たしているが目的を満たしている� 読み上げると、読み上げると、読み上げると、読み上げると、機能を表現する文章機能を表現する文章機能を表現する文章機能を表現する文章になるになるになるになる

「クラス図の美しさ」などで「クラス図の美しさ」などで「クラス図の美しさ」などで「クラス図の美しさ」などでなく、日本語で確認するなく、日本語で確認するなく、日本語で確認するなく、日本語で確認する

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 17

3. 変換の正しさを検証する規準変換の正しさを検証する規準変換の正しさを検証する規準変換の正しさを検証する規準

ブザーブザーブザーブザー

キー状態キー状態キー状態キー状態

パネルパネルパネルパネル

を取得するを取得するを取得するを取得する

を鳴動するを鳴動するを鳴動するを鳴動する

Keyロックロックロックロック を有効を有効を有効を有効にするにするにするにする

同じものには同じものには同じものには同じものには同じ名前を付同じ名前を付同じ名前を付同じ名前を付けるけるけるける

「キーの状態」「キーの状態」「キーの状態」「キーの状態」と言えると言えると言えると言える

ブザーブザーブザーブザー

キーキーキーキー

- 状態状態状態状態

- ロックロックロックロック

パネルパネルパネルパネル

の状態の状態の状態の状態をををを取得する取得する取得する取得する

を鳴動するを鳴動するを鳴動するを鳴動する

のロックのロックのロックのロックを有効にを有効にを有効にを有効にするするするする

同じものを同じものを同じものを同じものを統合する統合する統合する統合する

統合で複統合で複統合で複統合で複数の関連数の関連数の関連数の関連ができるができるができるができる

情報がモレな情報がモレな情報がモレな情報がモレないように名前いように名前いように名前いように名前を言い換えるを言い換えるを言い換えるを言い換える

変換前後で変換前後で変換前後で変換前後で読み上げ結果読み上げ結果読み上げ結果読み上げ結果が一致しているが一致しているが一致しているが一致している� 読み上げ結果が同じなら読み上げ結果が同じなら読み上げ結果が同じなら読み上げ結果が同じなら変換に間違いはない変換に間違いはない変換に間違いはない変換に間違いはない

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 18

4. まとめまとめまとめまとめ

誰でもできる誰でもできる誰でもできる誰でもできる技法技法技法技法を用意してトレーニングするを用意してトレーニングするを用意してトレーニングするを用意してトレーニングする

ポイントポイントポイントポイント

1.1.1.1. BeforeBeforeBeforeBeforeからからからからAfterAfterAfterAfterへの変換手順を用意するへの変換手順を用意するへの変換手順を用意するへの変換手順を用意する

2.2.2.2. 読み上げたとき機能が目的を満たしている読み上げたとき機能が目的を満たしている読み上げたとき機能が目的を満たしている読み上げたとき機能が目的を満たしている

3.3.3.3. 変換の前後で読み上げ結果が一致している変換の前後で読み上げ結果が一致している変換の前後で読み上げ結果が一致している変換の前後で読み上げ結果が一致している

ⅢⅢⅢⅢ. モデリングの具体論モデリングの具体論モデリングの具体論モデリングの具体論

ⅠⅠⅠⅠ.教えられないという問題.教えられないという問題.教えられないという問題.教えられないという問題

ⅡⅡⅡⅡ.明確な手順と規準を用意する.明確な手順と規準を用意する.明確な手順と規準を用意する.明確な手順と規準を用意する

ⅢⅢⅢⅢ.モデリングの具体論.モデリングの具体論.モデリングの具体論.モデリングの具体論

ⅣⅣⅣⅣ.成果と課題.成果と課題.成果と課題.成果と課題

ⅤⅤⅤⅤ.まとめ.まとめ.まとめ.まとめ

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 19

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 20

ⅢⅢⅢⅢ. モデリングの具体論モデリングの具体論モデリングの具体論モデリングの具体論

機能一覧をクラス図へ変換する手順を作った機能一覧をクラス図へ変換する手順を作った機能一覧をクラス図へ変換する手順を作った機能一覧をクラス図へ変換する手順を作った

� 要求を機能(目的語+動詞)として捉える要求を機能(目的語+動詞)として捉える要求を機能(目的語+動詞)として捉える要求を機能(目的語+動詞)として捉える

1. 機能を定義する機能を定義する機能を定義する機能を定義する

2. 機能をクラス図に対応付ける機能をクラス図に対応付ける機能をクラス図に対応付ける機能をクラス図に対応付ける

3. クラスの粒度をそろえるクラスの粒度をそろえるクラスの粒度をそろえるクラスの粒度をそろえる

4. 空のクラスを削除する空のクラスを削除する空のクラスを削除する空のクラスを削除する

5. 本質的な関連に整理する本質的な関連に整理する本質的な関連に整理する本質的な関連に整理する

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 21

1. 機能を定義する機能を定義する機能を定義する機能を定義する

目的語と動詞で、目的語と動詞で、目的語と動詞で、目的語と動詞で、目的となる機能目的となる機能目的となる機能目的となる機能を捉えるを捉えるを捉えるを捉える

� 機能とは、機能とは、機能とは、機能とは、目的語目的語目的語目的語++++動詞動詞動詞動詞であるであるであるである

情報処理の情報処理の情報処理の情報処理の

※※※※出典:出典:出典:出典: 「新・「新・「新・「新・VEの基本の基本の基本の基本 価値分析の考え方とプロセス」(土屋裕価値分析の考え方とプロセス」(土屋裕価値分析の考え方とプロセス」(土屋裕価値分析の考え方とプロセス」(土屋裕 監修、産能大学監修、産能大学監修、産能大学監修、産能大学VE研究グループ研究グループ研究グループ研究グループ 著、著、著、著、1998年)を元に作成年)を元に作成年)を元に作成年)を元に作成

機能の表現機能の表現機能の表現機能の表現

<定義の対象><定義の対象><定義の対象><定義の対象> <目的語><目的語><目的語><目的語><動詞><動詞><動詞><動詞> <制約条件><制約条件><制約条件><制約条件>

腕時計は腕時計は腕時計は腕時計は 時刻時刻時刻時刻 を示すを示すを示すを示す ±±±±10秒/月差秒/月差秒/月差秒/月差

機能機能機能機能 (言葉のモデル)(言葉のモデル)(言葉のモデル)(言葉のモデル)機能の割付対象機能の割付対象機能の割付対象機能の割付対象

記述のポイント記述のポイント記述のポイント記述のポイント

• 定義の対象を一般化して捉えないで、定義の対象を一般化して捉えないで、定義の対象を一般化して捉えないで、定義の対象を一般化して捉えないで、対象特有のはたらき対象特有のはたらき対象特有のはたらき対象特有のはたらきを定義するを定義するを定義するを定義する

「を制御する」ではダメ「を制御する」ではダメ「を制御する」ではダメ「を制御する」ではダメ

※※※※

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 22

1.1 機能一覧を作る機能一覧を作る機能一覧を作る機能一覧を作る

クラス図に対応づける機能を一覧表にしておくクラス図に対応づける機能を一覧表にしておくクラス図に対応づける機能を一覧表にしておくクラス図に対応づける機能を一覧表にしておく

� 構造に反映する機能をすべて洗い出す構造に反映する機能をすべて洗い出す構造に反映する機能をすべて洗い出す構造に反映する機能をすべて洗い出す

目的語目的語目的語目的語 動詞動詞動詞動詞 制約条件制約条件制約条件制約条件

ホームタイムの都市情報ホームタイムの都市情報ホームタイムの都市情報ホームタイムの都市情報 を設定するを設定するを設定するを設定する アジャストボタンでアジャストボタンでアジャストボタンでアジャストボタンで

時刻時刻時刻時刻 をデジタル表示するをデジタル表示するをデジタル表示するをデジタル表示する 12/24時モードで表示方時モードで表示方時モードで表示方時モードで表示方法を決める法を決める法を決める法を決める

時刻時刻時刻時刻 をアナログ表示するをアナログ表示するをアナログ表示するをアナログ表示する

アラームアラームアラームアラーム を鳴らすを鳴らすを鳴らすを鳴らす アラーム時刻の場合アラーム時刻の場合アラーム時刻の場合アラーム時刻の場合

ストップウォッチストップウォッチストップウォッチストップウォッチ を計測開始するを計測開始するを計測開始するを計測開始する

機能一覧の記述例機能一覧の記述例機能一覧の記述例機能一覧の記述例

Who(だれがだれがだれがだれが)、、、、What(何を何を何を何を)、、、、

When(いついついついつ)、、、、Where(どこでどこでどこでどこで)、、、、

How mach(どの程度)(どの程度)(どの程度)(どの程度)

How to (どのようにどのようにどのようにどのように) などなどなどなど※※※※この機能一覧の記述例は、「ずっと受けたかったソフトウェア設計の授業」この機能一覧の記述例は、「ずっと受けたかったソフトウェア設計の授業」この機能一覧の記述例は、「ずっと受けたかったソフトウェア設計の授業」この機能一覧の記述例は、「ずっと受けたかったソフトウェア設計の授業」 (飯泉(飯泉(飯泉(飯泉純子純子純子純子 、大槻繁、大槻繁、大槻繁、大槻繁 共著)の第5章共著)の第5章共著)の第5章共著)の第5章 「振舞い」の腕時計の例題を参考に作成した「振舞い」の腕時計の例題を参考に作成した「振舞い」の腕時計の例題を参考に作成した「振舞い」の腕時計の例題を参考に作成した

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 23

1.2 機能を事前に整理する機能を事前に整理する機能を事前に整理する機能を事前に整理する

USDMUSDMUSDMUSDMで整理しておくと機能一覧を作りやすいで整理しておくと機能一覧を作りやすいで整理しておくと機能一覧を作りやすいで整理しておくと機能一覧を作りやすい

� 要求に現れる要求に現れる要求に現れる要求に現れる目的語目的語目的語目的語とととと動詞動詞動詞動詞を一覧に反映するを一覧に反映するを一覧に反映するを一覧に反映する

要求 M01-02 複数のキーワードを組み合わせてメールを検索できる

理由 可能性のあるキーワードで確実にメールを見つけたい

□ M01-02-1 検索したいキーワードを入力できる

□ M01-02-2 複数のキーワードを「AND」と「OR」でつなぐことができる

□ M01-02-3 キーワードは最大8個まで指定できる

要求 M01-03 検索されたメールをリスト表示して、そこからメールを選択して表示する

理由 該当するメールが複数あるときは内容を確認して絞り込みたい

□ M01-03-1 検索されたメールの「Subject」を一覧で見せる

□ M01-03-2 メールが10件を超えるときはスクロールバーを表示する

・・・・

USDMによる要求と要求仕様の整理例による要求と要求仕様の整理例による要求と要求仕様の整理例による要求と要求仕様の整理例 ※※※※ USDM : Universal Specification Describing Manner

主に構造(クラス図)に主に構造(クラス図)に主に構造(クラス図)に主に構造(クラス図)に反映される機能反映される機能反映される機能反映される機能

主に関数内に反主に関数内に反主に関数内に反主に関数内に反映される機能映される機能映される機能映される機能

※※※※ 出典:出典:出典:出典: 「要求を仕様化する技術表現する技術「要求を仕様化する技術表現する技術「要求を仕様化する技術表現する技術「要求を仕様化する技術表現する技術 改定第2版」改定第2版」改定第2版」改定第2版」 (清水吉男(清水吉男(清水吉男(清水吉男 著、著、著、著、2010年)年)年)年) の要求仕様の記述例の要求仕様の記述例の要求仕様の記述例の要求仕様の記述例

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 24

2. 機能をクラス図に対応づける機能をクラス図に対応づける機能をクラス図に対応づける機能をクラス図に対応づける

目的語目的語目的語目的語はクラス、はクラス、はクラス、はクラス、動詞動詞動詞動詞は関連名にするは関連名にするは関連名にするは関連名にする

目的語目的語目的語目的語 動詞動詞動詞動詞

キー状態キー状態キー状態キー状態 を取得するを取得するを取得するを取得する

ブザーブザーブザーブザー を鳴動するを鳴動するを鳴動するを鳴動する

LED を点滅するを点滅するを点滅するを点滅する

ブザーブザーブザーブザー

規準規準規準規準

� 目的語をクラスにしている目的語をクラスにしている目的語をクラスにしている目的語をクラスにしている

� 助詞と動詞を関連にしている助詞と動詞を関連にしている助詞と動詞を関連にしている助詞と動詞を関連にしている

キー状態キー状態キー状態キー状態

LED

を取得するを取得するを取得するを取得する

を鳴動するを鳴動するを鳴動するを鳴動する

を点滅するを点滅するを点滅するを点滅する

関連を記述する都合関連を記述する都合関連を記述する都合関連を記述する都合上、空クラスを置く上、空クラスを置く上、空クラスを置く上、空クラスを置く

目的語をク目的語をク目的語をク目的語をクラスにするラスにするラスにするラスにする

機能一覧表機能一覧表機能一覧表機能一覧表

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 25

2.1 機能一覧から作ったクラス図機能一覧から作ったクラス図機能一覧から作ったクラス図機能一覧から作ったクラス図

機能一覧をクラス図に対応づける機能一覧をクラス図に対応づける機能一覧をクラス図に対応づける機能一覧をクラス図に対応づける

� クラスと関連を読み上げると機能一覧に戻るクラスと関連を読み上げると機能一覧に戻るクラスと関連を読み上げると機能一覧に戻るクラスと関連を読み上げると機能一覧に戻る

ホームタイムの都市ホームタイムの都市ホームタイムの都市ホームタイムの都市情報を設定する情報を設定する情報を設定する情報を設定する

時刻をデジタル時刻をデジタル時刻をデジタル時刻をデジタル表示する表示する表示する表示する

目的語が同じなら、関連目的語が同じなら、関連目的語が同じなら、関連目的語が同じなら、関連も同じクラスにつなぐも同じクラスにつなぐも同じクラスにつなぐも同じクラスにつなぐ

便宜上の便宜上の便宜上の便宜上の空クラス空クラス空クラス空クラス

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 26

3. クラスの粒度をそろえるクラスの粒度をそろえるクラスの粒度をそろえるクラスの粒度をそろえる

細かくなったクラスを統合する細かくなったクラスを統合する細かくなったクラスを統合する細かくなったクラスを統合する

ブザーブザーブザーブザー

規準規準規準規準

� 同じものには、同じ名前をつけている同じものには、同じ名前をつけている同じものには、同じ名前をつけている同じものには、同じ名前をつけている

� 属性レベルのクラスを統合している属性レベルのクラスを統合している属性レベルのクラスを統合している属性レベルのクラスを統合している

� 統合したクラスの関連をつなぎ直している統合したクラスの関連をつなぎ直している統合したクラスの関連をつなぎ直している統合したクラスの関連をつなぎ直している

キー状態キー状態キー状態キー状態

を取得するを取得するを取得するを取得するを鳴動するを鳴動するを鳴動するを鳴動する

Keyロックロックロックロック を有効を有効を有効を有効にするにするにするにする

同じものには同じものには同じものには同じものには同じ名前を付同じ名前を付同じ名前を付同じ名前を付けるけるけるける

「キーの状態」「キーの状態」「キーの状態」「キーの状態」と言えると言えると言えると言える

ブザーブザーブザーブザー

キーキーキーキー

- 状態状態状態状態

- ロックロックロックロック

の状態の状態の状態の状態をををを取得する取得する取得する取得する

を鳴動するを鳴動するを鳴動するを鳴動するのロックのロックのロックのロックを有効にを有効にを有効にを有効にするするするする

同じものを同じものを同じものを同じものを統合する統合する統合する統合する

統合で複統合で複統合で複統合で複数の関連数の関連数の関連数の関連ができるができるができるができる

情報がモレな情報がモレな情報がモレな情報がモレないように名前いように名前いように名前いように名前を言い換えるを言い換えるを言い換えるを言い換える

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 27

3.1 粒度が適正化されたクラス図粒度が適正化されたクラス図粒度が適正化されたクラス図粒度が適正化されたクラス図

クラスの粒度を適正化するとクラスの粒度を適正化するとクラスの粒度を適正化するとクラスの粒度を適正化すると属性属性属性属性が現れるが現れるが現れるが現れる

� 属性化で言葉の散らばりも、少し解消する属性化で言葉の散らばりも、少し解消する属性化で言葉の散らばりも、少し解消する属性化で言葉の散らばりも、少し解消する

統合で関連をつ統合で関連をつ統合で関連をつ統合で関連をつなぎなおしたなぎなおしたなぎなおしたなぎなおした

「の都市コード」「の都市コード」「の都市コード」「の都市コード」等は属性として等は属性として等は属性として等は属性として取り込まれる取り込まれる取り込まれる取り込まれる

属性レベルのク属性レベルのク属性レベルのク属性レベルのクラスを統合したラスを統合したラスを統合したラスを統合した

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 28

4. 空のクラスを削除する空のクラスを削除する空のクラスを削除する空のクラスを削除する

関連をつなぎ直して、空クラスを削除する関連をつなぎ直して、空クラスを削除する関連をつなぎ直して、空クラスを削除する関連をつなぎ直して、空クラスを削除する

規準規準規準規準

� 読み上げたとき読み上げたとき読み上げたとき読み上げたとき主語となるクラス主語となるクラス主語となるクラス主語となるクラスに関連をつなぎ直しているに関連をつなぎ直しているに関連をつなぎ直しているに関連をつなぎ直している

� 関連が無くなった空のクラスを削除している関連が無くなった空のクラスを削除している関連が無くなった空のクラスを削除している関連が無くなった空のクラスを削除している

ブザーブザーブザーブザー

キーキーキーキー

- 状態状態状態状態

- ロックロックロックロック

パネルパネルパネルパネル

の状態をの状態をの状態をの状態を取得する取得する取得する取得する

を鳴動するを鳴動するを鳴動するを鳴動する

のロックのロックのロックのロックを有効にを有効にを有効にを有効にするするするする

LED

を点滅するを点滅するを点滅するを点滅する

ブザーブザーブザーブザー

キーキーキーキー

- 状態状態状態状態

- ロックロックロックロック

パネルパネルパネルパネル

の状態をの状態をの状態をの状態を取得する取得する取得する取得する

を鳴動するを鳴動するを鳴動するを鳴動する

のロックのロックのロックのロックを有効にを有効にを有効にを有効にするするするする

LEDを点滅を点滅を点滅を点滅するするするする

関連をつな関連をつな関連をつな関連をつなぎなおすぎなおすぎなおすぎなおす

空のクラス空のクラス空のクラス空のクラスを削除するを削除するを削除するを削除する

をロックするをロックするをロックするをロックするをロックするをロックするをロックするをロックする

主語=目的語なら主語=目的語なら主語=目的語なら主語=目的語なら自分自身につなぐ自分自身につなぐ自分自身につなぐ自分自身につなぐ

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 29

4.1 空クラスを削除したクラス図空クラスを削除したクラス図空クラスを削除したクラス図空クラスを削除したクラス図

空クラスを削除すると、クラス図らしくなる空クラスを削除すると、クラス図らしくなる空クラスを削除すると、クラス図らしくなる空クラスを削除すると、クラス図らしくなる

� つなぎなおすときに、つなぎなおすときに、つなぎなおすときに、つなぎなおすときに、モレが見つかるモレが見つかるモレが見つかるモレが見つかる

主語=目的語なら主語=目的語なら主語=目的語なら主語=目的語なら自分自身につなぐ自分自身につなぐ自分自身につなぐ自分自身につなぐ

機能一覧が不完機能一覧が不完機能一覧が不完機能一覧が不完全だと孤立する全だと孤立する全だと孤立する全だと孤立する

空クラスへの空クラスへの空クラスへの空クラスへの関連が無くなる関連が無くなる関連が無くなる関連が無くなる

モレていたモレていたモレていたモレていたクラスを補うクラスを補うクラスを補うクラスを補う

制約条件からも制約条件からも制約条件からも制約条件からも主語となるクラ主語となるクラ主語となるクラ主語となるクラスを特定できるスを特定できるスを特定できるスを特定できる

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 30

5. 本質的な関連に整理する本質的な関連に整理する本質的な関連に整理する本質的な関連に整理する

細かい関連細かい関連細かい関連細かい関連はメソッドとしてクラスに取り込むはメソッドとしてクラスに取り込むはメソッドとしてクラスに取り込むはメソッドとしてクラスに取り込む

規準規準規準規準

� 関連をメソッドとしてクラスに取り込んでいる関連をメソッドとしてクラスに取り込んでいる関連をメソッドとしてクラスに取り込んでいる関連をメソッドとしてクラスに取り込んでいる

� 取り込んだ関連を本質的な関連に置き換えている取り込んだ関連を本質的な関連に置き換えている取り込んだ関連を本質的な関連に置き換えている取り込んだ関連を本質的な関連に置き換えている

パネルパネルパネルパネル

キーキーキーキー

- 状態状態状態状態

- 検出検出検出検出

の状態をの状態をの状態をの状態を取得する取得する取得する取得する

チャイルド・ロックのチャイルド・ロックのチャイルド・ロックのチャイルド・ロックの場合、場合、場合、場合、の検出を可の検出を可の検出を可の検出を可能にする能にする能にする能にする

条件付条件付条件付条件付き関連き関連き関連き関連 パネルパネルパネルパネル

-

- チャイルドロックを判定するチャイルドロックを判定するチャイルドロックを判定するチャイルドロックを判定する()

キーキーキーキー

- 状態状態状態状態

- 検出検出検出検出

+ 検出を可能にする検出を可能にする検出を可能にする検出を可能にする()

+ 検出を不能にする検出を不能にする検出を不能にする検出を不能にする()

+ 状態を取得する状態を取得する状態を取得する状態を取得する()

制御元制御元制御元制御元条件判定は非条件判定は非条件判定は非条件判定は非公開メソッドとし公開メソッドとし公開メソッドとし公開メソッドとして取り込まれるて取り込まれるて取り込まれるて取り込まれる

関連名の動詞は、関連名の動詞は、関連名の動詞は、関連名の動詞は、公開メソッドとして公開メソッドとして公開メソッドとして公開メソッドとして取り込まれる取り込まれる取り込まれる取り込まれる

の検出を不の検出を不の検出を不の検出を不能にする能にする能にする能にする

制御対象制御対象制御対象制御対象

を確認するを確認するを確認するを確認する

確認元確認元確認元確認元

確認先確認先確認先確認先

を無効にするを無効にするを無効にするを無効にする

制御元制御元制御元制御元

制御対象制御対象制御対象制御対象

確認元確認元確認元確認元制御元制御元制御元制御元

制御対象制御対象制御対象制御対象

ロールが異ロールが異ロールが異ロールが異なる関連はなる関連はなる関連はなる関連は統合しない統合しない統合しない統合しない確認先確認先確認先確認先

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 31

5.1 関連を整理したクラス図関連を整理したクラス図関連を整理したクラス図関連を整理したクラス図

関連を整理すると、クラス図として完成する関連を整理すると、クラス図として完成する関連を整理すると、クラス図として完成する関連を整理すると、クラス図として完成する

� あとは洗練させるだけ!あとは洗練させるだけ!あとは洗練させるだけ!あとは洗練させるだけ!

関連をメソッドと関連をメソッドと関連をメソッドと関連をメソッドとして取り込んだして取り込んだして取り込んだして取り込んだ

複数の関連が複数の関連が複数の関連が複数の関連が統合された統合された統合された統合された

自分自身への関自分自身への関自分自身への関自分自身への関連はプライベート連はプライベート連はプライベート連はプライベート関数になる関数になる関数になる関数になる

とりあえずとりあえずとりあえずとりあえず

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 32

5.2 関連の統合関連の統合関連の統合関連の統合

関連の統合は、関連の統合は、関連の統合は、関連の統合は、機能系統図機能系統図機能系統図機能系統図で考えるで考えるで考えるで考える

� 「「「「何のために?何のために?何のために?何のために?」と問い、上位機能を抽出する」と問い、上位機能を抽出する」と問い、上位機能を抽出する」と問い、上位機能を抽出する

ストップウォッチストップウォッチストップウォッチストップウォッチストップウォッチストップウォッチストップウォッチストップウォッチを計測開始するを計測開始するを計測開始するを計測開始する

ストップウォッチストップウォッチストップウォッチストップウォッチを計測終了するを計測終了するを計測終了するを計測終了する

で経過時間を計るで経過時間を計るで経過時間を計るで経過時間を計る

<目的><目的><目的><目的><手段><手段><手段><手段>

上位機能上位機能上位機能上位機能 下位機能下位機能下位機能下位機能

メソッドとしてメソッドとしてメソッドとしてメソッドとして取り込まれる取り込まれる取り込まれる取り込まれる

関連名になる関連名になる関連名になる関連名になる

機能のイン機能のイン機能のイン機能のインタフェースタフェースタフェースタフェース 関数のイン関数のイン関数のイン関数のイン

タフェースタフェースタフェースタフェース

機能系統図機能系統図機能系統図機能系統図

(何のために?)(何のために?)(何のために?)(何のために?)

VEで活用するで活用するで活用するで活用する図の一種図の一種図の一種図の一種

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 33

(参考ツール参考ツール参考ツール参考ツール) astah*

� 国産の国産の国産の国産のUMLツール。ツール。ツール。ツール。 ( http://astah.change-vision.com )

� さくさく編集できるので動詞さくさく編集できるので動詞さくさく編集できるので動詞さくさく編集できるので動詞de!! モデリングに便利。モデリングに便利。モデリングに便利。モデリングに便利。

� 例えば、、、例えば、、、例えば、、、例えば、、、� 属性や操作を、ドラッグ属性や操作を、ドラッグ属性や操作を、ドラッグ属性や操作を、ドラッグ&ドロップでクラス間移動できる。ドロップでクラス間移動できる。ドロップでクラス間移動できる。ドロップでクラス間移動できる。� キーワード検索キーワード検索キーワード検索キーワード検索(Ctrl-F)でキーワード検索・ハイライトすることで、言でキーワード検索・ハイライトすることで、言でキーワード検索・ハイライトすることで、言でキーワード検索・ハイライトすることで、言

葉の散らばりが確認できる。葉の散らばりが確認できる。葉の散らばりが確認できる。葉の散らばりが確認できる。

操作をクラス間で移動操作をクラス間で移動操作をクラス間で移動操作をクラス間で移動

検索によって同じ言葉がハ検索によって同じ言葉がハ検索によって同じ言葉がハ検索によって同じ言葉がハイライトイライトイライトイライト

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 34

6. まとめまとめまとめまとめ

機能一覧をクラス図へ変換する手順を作った機能一覧をクラス図へ変換する手順を作った機能一覧をクラス図へ変換する手順を作った機能一覧をクラス図へ変換する手順を作った

ポイントポイントポイントポイント

1.1.1.1. 目的語と動詞で、目的語と動詞で、目的語と動詞で、目的語と動詞で、目的となる機能目的となる機能目的となる機能目的となる機能を捉えるを捉えるを捉えるを捉える

2.2.2.2. 目的語はクラス、動詞は関連名にする目的語はクラス、動詞は関連名にする目的語はクラス、動詞は関連名にする目的語はクラス、動詞は関連名にする

3.3.3.3. 細かくなったクラスを統合する細かくなったクラスを統合する細かくなったクラスを統合する細かくなったクラスを統合する

4.4.4.4. 関連をつなぎ直して、空クラスを削除する関連をつなぎ直して、空クラスを削除する関連をつなぎ直して、空クラスを削除する関連をつなぎ直して、空クラスを削除する

5.5.5.5. 細かい関連細かい関連細かい関連細かい関連はメソッドとしてクラスに取り込むはメソッドとしてクラスに取り込むはメソッドとしてクラスに取り込むはメソッドとしてクラスに取り込む

ⅣⅣⅣⅣ. 成果と課題成果と課題成果と課題成果と課題

ⅠⅠⅠⅠ.教えられないという問題.教えられないという問題.教えられないという問題.教えられないという問題

ⅡⅡⅡⅡ.明確な手順と規準を用意する.明確な手順と規準を用意する.明確な手順と規準を用意する.明確な手順と規準を用意する

ⅢⅢⅢⅢ.モデリングの具体論.モデリングの具体論.モデリングの具体論.モデリングの具体論

ⅣⅣⅣⅣ.成果と課題.成果と課題.成果と課題.成果と課題

ⅤⅤⅤⅤ. まとめまとめまとめまとめ

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 35

ⅣⅣⅣⅣ. 成果と課題成果と課題成果と課題成果と課題

適用事例も出始め定量的な効果も上がっている適用事例も出始め定量的な効果も上がっている適用事例も出始め定量的な効果も上がっている適用事例も出始め定量的な効果も上がっている

1. C言語でのモデル駆動開発言語でのモデル駆動開発言語でのモデル駆動開発言語でのモデル駆動開発

2. 低リソース環境での低リソース環境での低リソース環境での低リソース環境でのSPLE挑戦挑戦挑戦挑戦

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 36

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 37

1. C言語でのモデル駆動開発言語でのモデル駆動開発言語でのモデル駆動開発言語でのモデル駆動開発

モデル駆動開発モデル駆動開発モデル駆動開発モデル駆動開発(MDD)(MDD)(MDD)(MDD)へつなげることができたへつなげることができたへつなげることができたへつなげることができた

� CCCC言語を使う技術者でも言語を使う技術者でも言語を使う技術者でも言語を使う技術者でもMDDMDDMDDMDDを実践できたを実践できたを実践できたを実践できたオブジェクト指向オブジェクト指向オブジェクト指向オブジェクト指向開発が未経験の開発が未経験の開発が未経験の開発が未経験の

JEITAソフトウェアエンジニアリング技術分科会ソフトウェアエンジニアリング技術分科会ソフトウェアエンジニアリング技術分科会ソフトウェアエンジニアリング技術分科会

2009年度ワークショップ発表で発表2009年度ワークショップ発表で発表2009年度ワークショップ発表で発表2009年度ワークショップ発表で発表

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 38

1.1 定量的な効果定量的な効果定量的な効果定量的な効果

後続機種において部品化の効果も出ている後続機種において部品化の効果も出ている後続機種において部品化の効果も出ている後続機種において部品化の効果も出ている

� 再利用しやすい構造も作りこむことができた再利用しやすい構造も作りこむことができた再利用しやすい構造も作りこむことができた再利用しやすい構造も作りこむことができた

1.1.1.1. 再利用性再利用性再利用性再利用性

後続機種で高い再利用率を実現できた後続機種で高い再利用率を実現できた後続機種で高い再利用率を実現できた後続機種で高い再利用率を実現できた

� コンポーネント再利用率=コンポーネント再利用率=コンポーネント再利用率=コンポーネント再利用率=91%91%91%91%※※※※ コンポーネント再利用率コンポーネント再利用率コンポーネント再利用率コンポーネント再利用率=.h=.h=.h=.hとととと.c.c.c.cのペアを修正無く再利用できた割合のペアを修正無く再利用できた割合のペアを修正無く再利用できた割合のペアを修正無く再利用できた割合

2.2.2.2. 生産性生産性生産性生産性

再利用性の向上が生産性の向上にもつながった再利用性の向上が生産性の向上にもつながった再利用性の向上が生産性の向上にもつながった再利用性の向上が生産性の向上にもつながった

� 開発工数の開発工数の開発工数の開発工数の20%20%20%20%削減削減削減削減

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 39

2. 低リソース環境での低リソース環境での低リソース環境での低リソース環境でのSPLE挑戦挑戦挑戦挑戦

厳しいリソース環境でも適用できた厳しいリソース環境でも適用できた厳しいリソース環境でも適用できた厳しいリソース環境でも適用できた

� SPLESPLESPLESPLEの基盤となるコンポーネントも作ったの基盤となるコンポーネントも作ったの基盤となるコンポーネントも作ったの基盤となるコンポーネントも作った

JEITAソフトウェアエンジニアリング技術分科会ソフトウェアエンジニアリング技術分科会ソフトウェアエンジニアリング技術分科会ソフトウェアエンジニアリング技術分科会

2011年度ワークショップ発表で発表2011年度ワークショップ発表で発表2011年度ワークショップ発表で発表2011年度ワークショップ発表で発表

※※※※SPLE : Software Product Line Engineering

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 40

2.1 定量的な効果定量的な効果定量的な効果定量的な効果

トレーニング後にさらにトレーニング後にさらにトレーニング後にさらにトレーニング後にさらに品質と生産性品質と生産性品質と生産性品質と生産性が向上したが向上したが向上したが向上した

� 単にモデル化するよりも高い効果がでた単にモデル化するよりも高い効果がでた単にモデル化するよりも高い効果がでた単にモデル化するよりも高い効果がでた

1.1.1.1. 部門独自で取り組んだとき部門独自で取り組んだとき部門独自で取り組んだとき部門独自で取り組んだとき

品質悪化に歯止めができ生産性も向上した品質悪化に歯止めができ生産性も向上した品質悪化に歯止めができ生産性も向上した品質悪化に歯止めができ生産性も向上した

� 不具合を不具合を不具合を不具合を80%80%80%80%削減、開発期間を削減、開発期間を削減、開発期間を削減、開発期間を30%30%30%30%削減した削減した削減した削減した

2.2.2.2. トレーニング受講後の継続開発トレーニング受講後の継続開発トレーニング受講後の継続開発トレーニング受講後の継続開発

コンポーネントが改善されて品質が安定したコンポーネントが改善されて品質が安定したコンポーネントが改善されて品質が安定したコンポーネントが改善されて品質が安定した

� 不具合発生率は、引き続き低く抑えられている不具合発生率は、引き続き低く抑えられている不具合発生率は、引き続き低く抑えられている不具合発生率は、引き続き低く抑えられている

� 生産性がさらに生産性がさらに生産性がさらに生産性がさらに40%40%40%40%向上した向上した向上した向上した

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 41

3. まとめまとめまとめまとめ

適用事例も出始め定量的な効果も上がっている適用事例も出始め定量的な効果も上がっている適用事例も出始め定量的な効果も上がっている適用事例も出始め定量的な効果も上がっている

ポイントポイントポイントポイント

1.1.1.1. モデル駆動開発へつなげることができたモデル駆動開発へつなげることができたモデル駆動開発へつなげることができたモデル駆動開発へつなげることができた

2.2.2.2. 厳しいリソース環境でも適用できた厳しいリソース環境でも適用できた厳しいリソース環境でも適用できた厳しいリソース環境でも適用できた

ⅤⅤⅤⅤ. まとめまとめまとめまとめ

ⅠⅠⅠⅠ.教えられないという問題.教えられないという問題.教えられないという問題.教えられないという問題

ⅡⅡⅡⅡ.明確な手順と規準を用意する.明確な手順と規準を用意する.明確な手順と規準を用意する.明確な手順と規準を用意する

ⅢⅢⅢⅢ.モデリングの具体論.モデリングの具体論.モデリングの具体論.モデリングの具体論

ⅣⅣⅣⅣ.成果と課題.成果と課題.成果と課題.成果と課題

ⅤⅤⅤⅤ.まとめ.まとめ.まとめ.まとめ

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 42

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 43

ⅤⅤⅤⅤ. まとめまとめまとめまとめ

センスに依存しないモデリングを実現するセンスに依存しないモデリングを実現するセンスに依存しないモデリングを実現するセンスに依存しないモデリングを実現する

ポイントポイントポイントポイント

1. センスに依存する部分が多いと教えられないセンスに依存する部分が多いと教えられないセンスに依存する部分が多いと教えられないセンスに依存する部分が多いと教えられない

2. 誰でもできる技法を用意してトレーニングする誰でもできる技法を用意してトレーニングする誰でもできる技法を用意してトレーニングする誰でもできる技法を用意してトレーニングする

3. 機能一覧をクラス図へ変換する手順を作った機能一覧をクラス図へ変換する手順を作った機能一覧をクラス図へ変換する手順を作った機能一覧をクラス図へ変換する手順を作った

4. 適用事例も出始め定量的な効果も上がっている適用事例も出始め定量的な効果も上がっている適用事例も出始め定量的な効果も上がっている適用事例も出始め定量的な効果も上がっている

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 44

Tips.名前をつけて詳細を無視する名前をつけて詳細を無視する名前をつけて詳細を無視する名前をつけて詳細を無視する

名前付け名前付け名前付け名前付けはソフトウェア工学の基本であるはソフトウェア工学の基本であるはソフトウェア工学の基本であるはソフトウェア工学の基本である� 黎明期の指摘を黎明期の指摘を黎明期の指摘を黎明期の指摘をやり切ることやり切ることやり切ることやり切ることができていないができていないができていないができていない

抽象化の定義抽象化の定義抽象化の定義抽象化の定義

� 演算に演算に演算に演算に名前をつけて名前をつけて名前をつけて名前をつけて、、、、その動作の仕組みを無視することその動作の仕組みを無視することその動作の仕組みを無視することその動作の仕組みを無視すること

� データにデータにデータにデータに名前をつけて名前をつけて名前をつけて名前をつけて、、、、その構造の詳細を無視することその構造の詳細を無視することその構造の詳細を無視することその構造の詳細を無視すること

ルーチンが行うことをすべて表現する。ルーチンが行うことをすべて表現する。ルーチンが行うことをすべて表現する。ルーチンが行うことをすべて表現する。

ルーチン名には、すべての出力とすべての副作用が記述されていなければならない。ルーチン名には、すべての出力とすべての副作用が記述されていなければならない。ルーチン名には、すべての出力とすべての副作用が記述されていなければならない。ルーチン名には、すべての出力とすべての副作用が記述されていなければならない。

・・・・・・・・・・・・ 「コードコンプリート-完全なプログラミングを目指して」「コードコンプリート-完全なプログラミングを目指して」「コードコンプリート-完全なプログラミングを目指して」「コードコンプリート-完全なプログラミングを目指して」 ステーブステーブステーブステーブ マコネルマコネルマコネルマコネル 著著著著,1994,1994,1994,1994

※※※※E.W.Dijkstra, C.A.R Hoare, O-J.Dahl,

“構造化プログラミング構造化プログラミング構造化プログラミング構造化プログラミング”,1972 (日本語訳日本語訳日本語訳日本語訳 1975)

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 45

Tips. やり切っていないだけやり切っていないだけやり切っていないだけやり切っていないだけ

パルナスは語るパルナスは語るパルナスは語るパルナスは語る

� What are the most exciting/promising What are the most exciting/promising What are the most exciting/promising What are the most exciting/promising software engineering ideas or techniques on software engineering ideas or techniques on software engineering ideas or techniques on software engineering ideas or techniques on the horizon?the horizon?the horizon?the horizon?

� I don't think that the most promising ideas are I don't think that the most promising ideas are I don't think that the most promising ideas are I don't think that the most promising ideas are on the horizon. on the horizon. on the horizon. on the horizon. They are already hereThey are already hereThey are already hereThey are already here and and and and have been here for years have been here for years have been here for years have been here for years but are not being but are not being but are not being but are not being used properlyused properlyused properlyused properly....

� 既にやるべきエンジニアリングはある。ただそ既にやるべきエンジニアリングはある。ただそ既にやるべきエンジニアリングはある。ただそ既にやるべきエンジニアリングはある。ただそれをきちんとやっていないだけれをきちんとやっていないだけれをきちんとやっていないだけれをきちんとやっていないだけ

※※※※D.L.Parnas “ACMのフェローインタビューのフェローインタビューのフェローインタビューのフェローインタビュー”,2007 URL:http://www.sigsoft.org/SEN/parnas.html

Q.

A.

©SEIKO EPSON CORPORATION 2009. All rights reserved.

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 47

(おまけおまけおまけおまけ)モデ脳の問題をモデリングするモデ脳の問題をモデリングするモデ脳の問題をモデリングするモデ脳の問題をモデリングする

モデ脳検定に受かることはできるのか?モデ脳検定に受かることはできるのか?モデ脳検定に受かることはできるのか?モデ脳検定に受かることはできるのか?

1. 問題文問題文問題文問題文

2. 機能一覧を作る機能一覧を作る機能一覧を作る機能一覧を作る

3. 機能一覧からクラス図を作る機能一覧からクラス図を作る機能一覧からクラス図を作る機能一覧からクラス図を作る

4. クラスの粒度を適正化するクラスの粒度を適正化するクラスの粒度を適正化するクラスの粒度を適正化する

5. 空クラスを削除する空クラスを削除する空クラスを削除する空クラスを削除する

6. 関連を整理する関連を整理する関連を整理する関連を整理する

7. モデリングの結果モデリングの結果モデリングの結果モデリングの結果

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 48

1. 問題文問題文問題文問題文

モデ脳のモデ脳のモデ脳のモデ脳の““““漁夫の利漁夫の利漁夫の利漁夫の利””””をモデリングしてみるをモデリングしてみるをモデリングしてみるをモデリングしてみる

� 漁師が利益が得ることを示せるか?漁師が利益が得ることを示せるか?漁師が利益が得ることを示せるか?漁師が利益が得ることを示せるか?

蛤(ハマグリ)が日向ぼっこをしていたところに、鷸(シギ)がやってきて、蛤の肉をつかみました。蛤も、負けじと殻をとじて、鷸のくちばしをはさみました。どっちも離そうとせず、ずっと争っていたところに漁師が来て、鷸と蛤をいっぺんに捕まえてしまいました。

問題文問題文問題文問題文

※※※※出典:出典:出典:出典: UMTP モデ脳検定モデ脳検定モデ脳検定モデ脳検定 <http://www.umtp-japan.org/modules/modeno/>

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 49

2. 機能一覧を作る機能一覧を作る機能一覧を作る機能一覧を作る

クラス図に対応づける機能を一覧表にしておくクラス図に対応づける機能を一覧表にしておくクラス図に対応づける機能を一覧表にしておくクラス図に対応づける機能を一覧表にしておく

� 構造に反映する機能をすべて洗い出す構造に反映する機能をすべて洗い出す構造に反映する機能をすべて洗い出す構造に反映する機能をすべて洗い出す

目的語目的語目的語目的語 動詞動詞動詞動詞 制約条件制約条件制約条件制約条件

ハマグリの肉ハマグリの肉ハマグリの肉ハマグリの肉 を掴むを掴むを掴むを掴む シギが掴むシギが掴むシギが掴むシギが掴む

ハマグリの殻ハマグリの殻ハマグリの殻ハマグリの殻 を閉じるを閉じるを閉じるを閉じる ハマグリが閉じるハマグリが閉じるハマグリが閉じるハマグリが閉じる

シギのクチバシシギのクチバシシギのクチバシシギのクチバシ を挟むを挟むを挟むを挟む 殻を閉じるとき殻を閉じるとき殻を閉じるとき殻を閉じるとき

ハマグリハマグリハマグリハマグリ を捕まえるを捕まえるを捕まえるを捕まえる 争っているとき争っているとき争っているとき争っているとき

シギシギシギシギ を捕まえるを捕まえるを捕まえるを捕まえる 争っているとき争っているとき争っているとき争っているとき

機能一覧の記述例機能一覧の記述例機能一覧の記述例機能一覧の記述例

Who(だれがだれがだれがだれが)、、、、What(何を何を何を何を)、、、、

When(いついついついつ)、、、、Where(どこでどこでどこでどこで)、、、、

How mach(どの程度)(どの程度)(どの程度)(どの程度)

How to (どのようにどのようにどのようにどのように) などなどなどなど

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 50

3. 機能一覧からクラス図を作る機能一覧からクラス図を作る機能一覧からクラス図を作る機能一覧からクラス図を作る

機能一覧をクラス図に対応づける機能一覧をクラス図に対応づける機能一覧をクラス図に対応づける機能一覧をクラス図に対応づける

� クラスと関連を読み上げると機能一覧に戻るクラスと関連を読み上げると機能一覧に戻るクラスと関連を読み上げると機能一覧に戻るクラスと関連を読み上げると機能一覧に戻る

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 51

4. クラスの粒度を適正化するクラスの粒度を適正化するクラスの粒度を適正化するクラスの粒度を適正化する

クラスの粒度を適正化するとクラスの粒度を適正化するとクラスの粒度を適正化するとクラスの粒度を適正化すると属性属性属性属性が現れるが現れるが現れるが現れる

� 属性化で言葉の散らばりも、少し解消する属性化で言葉の散らばりも、少し解消する属性化で言葉の散らばりも、少し解消する属性化で言葉の散らばりも、少し解消する

統合で関連をつ統合で関連をつ統合で関連をつ統合で関連をつなぎなおしたなぎなおしたなぎなおしたなぎなおした

属性レベルのク属性レベルのク属性レベルのク属性レベルのクラスを統合したラスを統合したラスを統合したラスを統合した

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 52

5. 空クラスを削除する空クラスを削除する空クラスを削除する空クラスを削除する

空クラスを削除すると、クラス図らしくなる空クラスを削除すると、クラス図らしくなる空クラスを削除すると、クラス図らしくなる空クラスを削除すると、クラス図らしくなる

� つなぎなおすときに、つなぎなおすときに、つなぎなおすときに、つなぎなおすときに、モレが見つかるモレが見つかるモレが見つかるモレが見つかる

主語=目的語なら主語=目的語なら主語=目的語なら主語=目的語なら自分自身につなぐ自分自身につなぐ自分自身につなぐ自分自身につなぐ

モレていたクラスモレていたクラスモレていたクラスモレていたクラスを主語として補うを主語として補うを主語として補うを主語として補う

制約条件からも制約条件からも制約条件からも制約条件からも主語となるクラ主語となるクラ主語となるクラ主語となるクラスを特定できるスを特定できるスを特定できるスを特定できる

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 53

6. 関連を整理する関連を整理する関連を整理する関連を整理する

関連を整理すると、クラス図として完成する関連を整理すると、クラス図として完成する関連を整理すると、クラス図として完成する関連を整理すると、クラス図として完成する

� モデ脳解答例とは異なる結果になるモデ脳解答例とは異なる結果になるモデ脳解答例とは異なる結果になるモデ脳解答例とは異なる結果になる

関連をメソッドと関連をメソッドと関連をメソッドと関連をメソッドとして取り込んだして取り込んだして取り込んだして取り込んだ

複数の関連が複数の関連が複数の関連が複数の関連が統合された統合された統合された統合された

自分自身への関自分自身への関自分自身への関自分自身への関連はプライベート連はプライベート連はプライベート連はプライベート関数になる関数になる関数になる関数になる

漁夫の利のモデリング結果漁夫の利のモデリング結果漁夫の利のモデリング結果漁夫の利のモデリング結果

モデ脳解答例モデ脳解答例モデ脳解答例モデ脳解答例

※※※※解答例の出典:解答例の出典:解答例の出典:解答例の出典: UMTP モデ脳検定モデ脳検定モデ脳検定モデ脳検定 <http://www.umtp-japan.org/modules/modeno/>

©SEIKO EPSON CORPORATION 2014. All rights reserved. 動詞de!! モデリング 54

7. 結果結果結果結果

モデルは作れるが、モデルは作れるが、モデルは作れるが、モデルは作れるが、漁夫の利漁夫の利漁夫の利漁夫の利は見出せないは見出せないは見出せないは見出せない

ポイントポイントポイントポイント

1.1.1.1. 問題文にない機能はモデリングできない問題文にない機能はモデリングできない問題文にない機能はモデリングできない問題文にない機能はモデリングできない

「漁師が利益を得る」という機能は問題文にない「漁師が利益を得る」という機能は問題文にない「漁師が利益を得る」という機能は問題文にない「漁師が利益を得る」という機能は問題文にない

� 問題文にない機能はモデルに表現できない問題文にない機能はモデルに表現できない問題文にない機能はモデルに表現できない問題文にない機能はモデルに表現できない

� とは言え、途中で気づく可能性はあるとは言え、途中で気づく可能性はあるとは言え、途中で気づく可能性はあるとは言え、途中で気づく可能性はある

2.2.2.2. ““““コトコトコトコト””””に関するモデリング力が弱いに関するモデリング力が弱いに関するモデリング力が弱いに関するモデリング力が弱い

「争い」のようなコトはクラスに表現できない「争い」のようなコトはクラスに表現できない「争い」のようなコトはクラスに表現できない「争い」のようなコトはクラスに表現できない

� 機能一覧でコトを表現しておく必要がある機能一覧でコトを表現しておく必要がある機能一覧でコトを表現しておく必要がある機能一覧でコトを表現しておく必要がある

©SEIKO EPSON CORPORATION 2009. All rights reserved.