第1回.UMLで勉強しなおし。
ほるえ: おーい。又コーナー増えていますってっいうか、この「勉強しなおし」ってなに?
Masa: いゃー「連載でJavaゲーム作っちゃいます。」でも少し書いたけど、プログラムがちょっと大きくなってくるとプログラムの構造がぐちゃぐちゃになってきて後から見ても、全然わけがわからんプログラムになっちゃって・・・・。でUMLをやるついでに、これまでのプログラムを整理していくかって思ったんだよ。
ほるえ: ・・・つまりは、過去の清算をしながら、都合よくコーナーを増やしていくってことですね。
Masa: 過去の清算って、人のソフトを不良債権みたいにいいおって。

「ツールについて」

UMLってなに?てことは、いつものようにやりません(ほ:またか・・・)。とりあえずツールを使ってざくざくやっていこうと思います。UML用ツールにもピンきりあります(中には100万近いものも・・・)。とりあえず、フリーを中心に探してみました。

ソフト名 メーカー お得度 備考
Latte Ricksoft フリー(feasibility版、Profesionl版は未定らしい)
IIPSS フリー版
PatternWeaver 潟eクノロジックアート 05.11.05現在Webからのダウンロードはなくなっていました。
評価版は雑誌付録で入手か、直接連絡してもらうらしい。
Enterprise Architect SparxSystems Japan 30日限定使用の評価版あり。
製品版も17,325円からで結構手ごろな感じです。
僕はこれを使用中です。
Borland Together Edition for JBuilder X Developer Borland Japan 15日限定使用の評価版あり。
10万以下があるって情報もあるけれど、18万ぐらいの価格情報しか、ホームページには載っていませんでした。

Masa: というわけで、EAを使って、これからの説明をしていきます。といってもどれも、基本的な操作は同じだと思うので、好きなアプリを使ってもらえばいいと思います。
ほるえ: ま、そうでしょうね。(ちらっ)別にリベートをもらっているわけでもなさそうですしね。
Masa: ちらってのが気になるが・・・ま、いいか。では、これを使って、これまで作ってきたプログラムを「リバースエンジニアリング」してみます。コードから、UMLクラス図を起こすことをリバースエンジニアリングといいます。
ほるえ: ・・・・この本では、「ユースケース図」とか「シーケンス図」とか書いてあるけど・・・
Masa: まあ、そういう解説のページは世の中にいっぱいあるから、そちらにお任せすることにする。
ほるえ: また、それか・・・

「リバースエンジニアリングしてみる。」

構造が一番単純なので、「ラン&ラン」を「リバースエンジニアリング」してみます。hina22というクラスが「アクティブクラス」で「Enemy」と「mys」に関連しています。


良く見ると、Enemyとmysは同じような構造をしています。違いはキャラクタの色と大きさを変えている(ほ:あたりまえだー)ところです。ですので、EnemyとMyship(mysでは良くわからないので・・)を「汎化」して、「スーパークラス」Characterを作りました。EnemyとMyshipは、これを継承し描画部分paint(Graphics)を「オーバーライド」しています。


用語集
1)リバースエンジニアリング
ソースコードからUMLのクラス図などを起こすこと。

2)アクティブクラス
自分主体で動作するクラス

3)汎化、スーパークラス
これは、例で説明した方がわかるので・・・車で説明します。
「ヴィッツ」と「ノア」に対して、「トヨタ車」というように、一つ上位の概念にすることを「汎化」、したものが「スーパークラス」になります。
トヨタ車には、タイヤ、エンジンなどが実装されていて、「ヴィッツ」と「ノア」には、それぞれの型式などが「オーバーライド」されて、それぞれのクラスになります。
ちなみに、「タイヤ」や「エンジン」が実装されてない場合は、抽象クラスというものになります。

4)オーバーライド
スーパークラスとそれを継承したサブクラスで、同じメソッド名で同じ引数形式の場合、サブクラス側の処理が有効になること。



ほるえ: なんか、呪文が書いてあるぅ。うぅ・・ねむー。
Masa: キャラの設定が、お勉強タイプじゃないからな・・・。まぁこれもよしだ。
ほるえ: このシリーズは、ずっとこんな感じですか〜。耐えられないかも。
Masa: ま、なんか考えるよ。でもしばらく基礎だからね。次もなんかをリバースエンジニアリングして見ましょう。
ほるえ: 「連載でJavaゲーム作っちゃいます。」もよろしくお願いしますよ。

Copyright (C) 錬金術師Masa
新規:2005年11月05日