Skip to content

動詞de!! モデリング ②「実践編」


Kenji_in_Verb_Modeling

平鍋

「モデリング」してますか?
今日は「動詞de!! モデリング」2回目、また、セイコーエプソン萩原さんにお願いします。
(動詞de!! モデリング ① 導入編は、こちら)

 


AYM 「漁夫の利」をモデリングする


hagiwara-san_verb_modeling

萩原さん

 

はい。これから実際にモデリングをしていきます。
今回の例題は、モデ脳の「漁夫の利」を使わせていただきます。
(モデ脳:http://www.umtp-japan.org/modules/modeno/ )

verb_modeling_UML1

この「漁夫の利」すが、蛤(ハマグリ)が日向ぼっこをしている時に、鷸(シギ)が、蛤を捕まえようとして、というような話に基づいています。この問題文を、先ほどの「機能の表現」に変えてみますと、このような機能一覧になります。

verb_modeling_uml2

「ハマグリの肉を掴む」、「ハマグリの殻を閉じる」というような形で、目的語と動詞で機能の一覧を作っています。
ここから、クラス図を作っていきます。

まず機能一覧がありますが、目的語の所をコピーしてください。

verb_modeling_uml3
それをastah* (professional 又は community)のクラス図上に貼り付けます。
目的語に対応するクラスが一覧として出ます。手順としては、目的語は「クラス」、動詞は「関連名」にします。

Astah_verb_modeling_uml5

ダミーのクラスを作ります。関連をひいて、そこに対して動詞をいれます。

verb_modeling_uml6_astah
「ハマグリの肉」に対しては、ハマグリの肉を「掴む」という機能になりますので、「ハマグリの肉を掴む」になります。

verb_modeling_uml7_astah



ハマグリの殻に対しては、ハマグリの殻を「閉じる」という形で「を閉じる」という関連名にします。その時に「を」とか「へ」とかいう助詞を、忘れないようにしていただけると良いと思います。

ここまででですね、目的語を「クラス」、動詞を「関連名」にするという所が出来ました。これをもう一度読み上げると、例えば、「ハマグリの肉を掴む」「ハマグリの殻を閉じる」とういう形で、元の機能一覧になります。

verb_modeling_8_uml_astah

「ハマグリの肉」と「ハマグリの殻」は、細かくなりすぎていますので、これを適切な粒度にすると、クラス図になっていきます。

例えば「ハマグリの肉」であれば、「の肉」や「の殻」という所が属性になりますので、属性として中に入れていきますね。「殻」も同様に「ハマグリの殻」に入れていきますね。

verb_modeling9_uml_astah

そうすると「ハマグリの肉」というクラスですが、「ハマグリの肉」の「肉」の部分は要らないですね。取っていただくと良いと思います。また、既に「ハマグリ」というクラスがありますので、そこに、属性の「肉」を移動していただければいいと思います。同じようにハマグリの「殻」も移動します。

verb_modeling_uml12_astah

次は、関連の処理です。「ハマグリの肉を掴む」という形で、「の肉」「を掴む」ですね。クラス名が「ハマグリ」になると「肉を掴む」という所が、関連名から抜けてしまいますので、関連名を「の肉を掴む」という形に修正してください。「ハマグリの殻」についても同じです。

verb_modeling_UML13_astah

「ハマグリ」クラスに「肉」「殻」を移動しましたので、この関連を、もう1回こちらの「ハマグリ」の方に付け替える、という形になります。

verb_modeling14_astah
元の「ハマグリの殻」「ハマグリの肉」のクラスについては、もう不要なので、モデルから削除していただければ良いと思います。同じような形で「シギのクチバシ」クラスも「何々の何々」という形なので、この「の」先が属性になります。

「シギ」についても、既にクラスがありますので「クチバシ」を「シギ」の方に移動していただきます。「シギのクチバシ」のクラスは消してください。

verb_modeling16_uml_astah

今度は「ダミーのクラスを消す」という手順に移っていきます。

これは「関連」を、主語となるクラスに繋ぎかえる、という形になります。
誰が「肉を掴むのか」といいますと「シギ」が肉をつかみますので、この関連は、主語となる「シギ」につなぎ直してください。
また、「ハマグリの殻を閉じる」のは「ハマグリ」自身でできますので、主語は「ハマグリ」になりますね。
そうなりますと「ハマグリは、ハマグリの殻を閉じる」という形でこれも問題ない。

verb_modeling17_uml_astah

では、次にハマグリを捕まえるのは誰でしょう、という事ですね。当初の問題文ですと「漁師」がハマグリを捕まえますので、この場合は、主語となるクラスを追加してください。

「漁夫」がハマグリを捕まえるという形になりますので、こういう形で繋ぎます。
読み上げますと「漁夫は、ハマグリを捕まえる」という形になりますね。

verb_modeling18_uml_astah

もう一つ、シギを捕まえるのも漁夫になりますので、これも「漁夫」の方に繋ぎ直してください。
次は、最後に残った「シギのクチバシを掴む」は何かというとですね、「ハマグリ」が掴んでますので、これは「ハマグリ」の方に繋ぎ直してください。これを読み上げますと、「ハマグリは、シギのクチバシを掴む」という形で読み上げてもOKですね。
最後に、ダミーのクラスが残ってますので、どのモデルとも繋がっていないことを確認して、削除していただければと思います。

verb_modeling19_uml_astah
そうすると、なかなかクラス図らしくなってきますね。

verb_modeling_last_uml


Kenji_in_Verb_Modeling

平鍋

 

今日は、萩原さんに「動詞」を使ったモデリング手法「動詞de!! モデリング」をご紹介いただきました。次回は「C言語編」でお目にかかりたいと思います。


補足

[関連リンク]

Advertisements

2 Comments »

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: