[cppll:9377] Re: [御意見拝聴] UML をソフトの基本設計で使いますか?
小林@那須です。皆様、貴重な御意見、ありがとうございます。また亀レス、
纏めレスで失礼しました。
ひだかさん> 個人的な趣味の問題だとは思いますが、小林さんの考えが実装方向
ひだかさん>(m_lstpClVrfyIntfBase がSTLコンテナであるとか、どれがポインタで
ひだかさん>どれがメンバ変数であるか)に寄りすぎているから、
寺田さん>UML の段階では単に
寺田さん> A <>-----(*) B
UML の教科書を見直して見ました。クラス図での関連は "is a" "has a" だけ
ではない、もっと広い、抽象的なものとして掴もうとしていること気づきまし
た。基本設計の初期段階では、クラスの関連をポインタ名詞ではなく、own,
reffer,contain などの動詞で表すことを主張していました。たぶん、最も基
本的な矢印だけの関連から、下のように詳細化していくことを主張している
のだと考え直しました。
classA -------------> classB
↓
own
classA <>--------->(*) classB
↓
pointer
classA <>--------->(*) classB
ぶーちゃん>先のメールで書いたコラボレーション図が小林さんの C++ コードより解りや
ぶーちゃん>すいと主張するつもりはありません。
解ります。上のようなクラス図が展開されていることを前提にすれば、コラボ
レーション図のほうがわかりやすくなるとも思います。
森野さん>私の場合、UMLという以前に、全体の構成図がほしいんですよね。
同感です。でも独り善がりの図を書いても、人様に伝わらないのが苦しいところです。
渋川さん>僕はストーリーカード、タスクカード、CRCカードを使います。特にCRCカード。
調べてみました。「 CRCとは、クラス(CLASS)、責務(Responsibility)、
協調(Collaboration)の略語で、これらを3×5インチのカードに記入する。
このカードおよび、ブレーンストーミング、ロールプレイが本書で紹介する手
法の軸となる。」私自身は京大カードのころから、カードは書きっぱなしにな
るだけで、使いこなせません。性格もあるのでしょうが。
渋川さん>僕はUMLのメリットというのは、やはりコードの全体像をビジュアルに把握する
渋川さん>できるようにすることだと思います。コードと1対1に対応させたモデルドリブ
渋川さん>ンアーキテクチャとかはC++には不似合いな気がします。
同感です。詳細ドキュメントはプログラム・コードとテストに任せるべきだと
考えます。膨大な詳細ドキュメントはメンテが不可能であり、信用できません。
また誰も読みません。
皆様の御意見を参考に UML 記述に再挑戦してみます。ありがとうございまし
た。
===============================
EMAIL kenji@...
小林憲次
===============================
纏めレスで失礼しました。
ひだかさん> 個人的な趣味の問題だとは思いますが、小林さんの考えが実装方向
ひだかさん>(m_lstpClVrfyIntfBase がSTLコンテナであるとか、どれがポインタで
ひだかさん>どれがメンバ変数であるか)に寄りすぎているから、
寺田さん>UML の段階では単に
寺田さん> A <>-----(*) B
UML の教科書を見直して見ました。クラス図での関連は "is a" "has a" だけ
ではない、もっと広い、抽象的なものとして掴もうとしていること気づきまし
た。基本設計の初期段階では、クラスの関連をポインタ名詞ではなく、own,
reffer,contain などの動詞で表すことを主張していました。たぶん、最も基
本的な矢印だけの関連から、下のように詳細化していくことを主張している
のだと考え直しました。
classA -------------> classB
↓
own
classA <>--------->(*) classB
↓
pointer
classA <>--------->(*) classB
ぶーちゃん>先のメールで書いたコラボレーション図が小林さんの C++ コードより解りや
ぶーちゃん>すいと主張するつもりはありません。
解ります。上のようなクラス図が展開されていることを前提にすれば、コラボ
レーション図のほうがわかりやすくなるとも思います。
森野さん>私の場合、UMLという以前に、全体の構成図がほしいんですよね。
同感です。でも独り善がりの図を書いても、人様に伝わらないのが苦しいところです。
渋川さん>僕はストーリーカード、タスクカード、CRCカードを使います。特にCRCカード。
調べてみました。「 CRCとは、クラス(CLASS)、責務(Responsibility)、
協調(Collaboration)の略語で、これらを3×5インチのカードに記入する。
このカードおよび、ブレーンストーミング、ロールプレイが本書で紹介する手
法の軸となる。」私自身は京大カードのころから、カードは書きっぱなしにな
るだけで、使いこなせません。性格もあるのでしょうが。
渋川さん>僕はUMLのメリットというのは、やはりコードの全体像をビジュアルに把握する
渋川さん>できるようにすることだと思います。コードと1対1に対応させたモデルドリブ
渋川さん>ンアーキテクチャとかはC++には不似合いな気がします。
同感です。詳細ドキュメントはプログラム・コードとテストに任せるべきだと
考えます。膨大な詳細ドキュメントはメンテが不可能であり、信用できません。
また誰も読みません。
皆様の御意見を参考に UML 記述に再挑戦してみます。ありがとうございまし
た。
===============================
EMAIL kenji@...
小林憲次
===============================
▼ スレッド
- 9357: [御意見拝聴] UML をソフトの基本設計で使いますか? ょうか。使われるとしたらどのように使わ kenji
- └9358: こちら↓でポストするほうがベストかと存じます。 UML-jp ML http://www.tech-arts.co.jp/oo/mail.html □■ Wraith the Trickster
- └9359: UML の使い方は、言語、分野により変わってくると思います。JAVA と C++ で は UML の使いか方も変 kenji
- └9360: ちっす。 書いたソースコードから、Doxygenなんかを使って、コラボレーション図を出 して、見 Shin'ya MORINO
- └9361: UML では、記号のフォーマットや意味が不完全にしか統一されていないと思い ます。教科書によ kenji
- ├9362: ちわ。 Doxygenの生成する絵では、コラボレーション図と書いてありますが、正確に こういうや Shin'ya MORINO
- ├9363: 本によって細かな違いが多いのはそのとおりですね。準拠している UML のバー ジョンも違って boochang
- │└9364: 見て来ました。納得できました。クラス図ならば、クラス宣言と、クラス・ポ インタ・メンバ kenji
- │ ├9365: どれがメンバ変数であるか)に寄りすぎているから、 コードのほうがわかりやすい、ということ HIDAKA Takahiro
- │ ├9373: 綺麗には、行かないんですよね。 全部のコードを、絵に開いても、頭にはいらないっす。 せめ Shin'ya MORINO
- │ ├9374: 僕が以前に流したメールですが、メンバー変数の表現だけでもこれだけの表現が 考えられます Shibukawa Yoshiki
- │ └9376: 「ソフトの基本設計の段階では」と書かれていますが,コード断片の方が分かり やすいと仰って Y.Terada
- │ └9377: 纏めレスで失礼しました。 ひだかさん> 個人的な趣味の問題だとは思いますが、小林さんの考 kenji
- └9366: ユースケース(の書き方は)は別にメモでも何でも構わないと思います。 開発対象のシステム(ソ Hidehiko AKASAKA
- ├9367: たしかに、クラスを関連付けするのはポインタとは限りません。しかし、分析 の段階では、何 boochang
- └9375: 赤坂さんのように UML を使いこなしていらっしゃる方の意見が聞けて喜んでいます。 テストを kenji
- └9378: いいえ、私は未だUMLに弄ばれています。(C++も同様です(^^;;) それ自体は悪いことではないですよ Hidehiko AKASAKA