[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: Java の開発生産性について




高橋です。

前橋さんwrite:
>>データ構造などの設計情報はUMLで見ましょう、というのも追加。
>
>ソースからツールで抽出でしょうか?
>
>そうでなくて、設計段階に描いた図を参照しましょう、ということ
>でしょうか?
>
>後者だとすると... ドキュメントは常に現実とズレているものなので...
>
>個人的な考えですけど、UMLのクラス図みたいなものは、要点*だけ*
>をざっと説明する時にはわかりやすくていいんですが、どうやったっ
>てアレに全ては盛り込めないので、補助的な役割しか果たせないの
>では、と思ってます。もちろん、それはそれで重要なんですが。

クラス内部設計の粒度でのデータ構造と、クラス群全体を扱う粒度での
データ構造とがあって、UMLのターゲットは後者です。数百から数千の
クラスから構成されるアプリケーションでは、UMLのレベルが主体と
なっているのが事実です。当然UMLのドキュメントとソースコードが
ずれていては問題外ですから、最近のUMLを扱うCASEツールではソース
と設計とが2wayで行き来できる機能が必須です。設計段階で書くという
ものではなく、常にソースコードと対応している設計ViewがUMLです。
# CASEツールを使う文化がないという現実問題はありますが。
# ツールが2wayでも、設計作業工程が1wayという現実も・・・
# (設計書を作る→コーディングする : 不可逆反応)
# 保守性のない設計がこうしてうまれる

>年齢の場合、Cなら、
>
>typedef int Age;
>
>で済みますが、Javaだと、intを使ってしまいそうな気がするんで
>すけれども。
いえ、classとして定義されるべきだろうという考えです。typedefは
intの読み替えに過ぎないので問題は解決されません。同じ年令でも
どちらが年上/年下かは存在しますし、例えば誕生日まであと何日かという
処理はintではできません。数え年と満年齢といった問題もありますし。
# 問題を先に書かずにこんな話しを持ち出すのはずるいかもしれませんね




------
Toru Takahashi
torutk@xxxxxxxxxx
http://www.alles.or.jp/~torutk/