
C++でのプログラミングしています。
UMLのクラス図を描く場合、main()も「クラスとして」含むんですか?
main()の中ではオブジェクトを順番に作って実行させているだけです。
main()自体はクラスを持っていません。
自分の考えとしては、main()は「クラスではない」ので
含めるのはおかしいとは思っているのですが
含めない場合はどのように関連付けていけばいいのか分かりません。
例えば、main()の中に:
int main(int argc, char **argv)
{
MainWindow mWindow;
GraphWidget widget(&mWindow);
AnalogClock clock;
clock.setGraphWidget(&widget);
mWindow.setCentralWidget(&widget);
mWindow.show();
return app.exec();
}
というのがあったとしたら、
クラス間の関連性はどう示せばよいのでしょうか?
特にクラスAnalogClockはmain()でしか呼ばれていませんので
main()がクラスとして含まれないなら描きようがないです。
(ちなみに上のコードは単なる例ですから、理解できなくても心配いりません)
どうかよろしくお願いします。
No.5ベストアンサー
- 回答日時:
「いいえ」に近いと回答しておきましょう。
そもそも、UMLはC++言語のソースの意味を
不正確に一般化できるだけです。
これはC++言語ソースからUMLらしきものは
記述できるが、UMLからソースを再現できない
点からも明らかです。いずれにしても
main()にかかわらず様々な点で記述不能な場面
に遭遇します。
私見では「UMLは、不正確だが無いよりはましと思える、
ある瞬間のクラス間の関連が記述できる方法」
と考えたほうが良いと考えています。
UMLで書けなければ人間語で書きましょう。
ありがとうございます。
私自身も「いいえ」という答えを出したのですが
いまいち「なぜ?」の部分が引っ掛かっていました。しかし、
「C++言語ソースからUMLらしきものは記述できるが、
UMLからソースを再現できない」
を読んで納得しました。
肝心のUMLの方はmain()なしで
思ったよりもうまくまとめることが出来ました。
No.4
- 回答日時:
No.
UMLには複数のダイアグラムが定義されており、
クラス図のみで全てを表現することは想定されていません。
クラス間の静的な関係を表現するのがクラス図でありmainはここでは関係ありません。
MainWindow - GraphWidget - AnalogClock
というクラス間の依存関係/関連性が表現できれば十分と思います。
呼び出し順などについて言及するのであれば、私なら、
別途シーケンス図にでも「OS」外部エンティティなどからの生成/要求として表現します。
(抽象度的にmain自体の意味は薄いので「初期化で何が行われるか」が中心ですが)
# そして、多分ANo1さんの意見と同じではないかと。
ありがとうございます。
実はあれから回答が無かったので自己解決してしまいました。
私自身の出した答えも"No."でした。
もう少し早く回答してほしかったですね。
あと、本末転倒であるかどうかなど
この回答にはまっっったく関係ない蛇足です。
これは疑う余地は無いでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どこからも呼ばれていない無意...
-
同一パッケージにあるクラスが...
-
EclipseでJSPのコンパイルエラー
-
java eclipse 型に解決できません
-
dllと同じプロジェクトにする方法
-
Struts2のアクセスURLについて
-
IPアドレスの3バイト目の呼び方
-
main()を持つクラスが2つ以上...
-
標準モジュールとクラスモジュ...
-
VBAもしくはVB6:クラスの中で...
-
共通で使う関数を集めたクラス...
-
クラスモジュールの使い方が詳...
-
そんなにお金がなくても年に1度...
-
体育祭クラス全員参加のムカデ...
-
UMLのクラス図はmain()も含むん...
-
グローバルIPとプライベートIP...
-
Sub-LVDS規格とは
-
ATLとMFCの違いは何でしょうか?
-
成人式の後中3のクラスで集まろ...
-
eclipeでクラス作成ができない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
僕の出身中学校は200人同級生が...
-
今日は こどもの日 で、良い天...
-
どこからも呼ばれていない無意...
-
そんなにお金がなくても年に1度...
-
中学生です。 私は教室の黒板に...
-
恋愛
-
EclipseでJSPのコンパイルエラー
-
java eclipse 型に解決できません
-
共通で使う関数を集めたクラス...
-
main()を持つクラスが2つ以上...
-
同一パッケージにあるクラスが...
-
配列の重複する値とその個数を...
-
「隣の芝生は青く見える」現象...
-
重複エラーを解決するには
-
UMLのクラス図はmain()も含むん...
-
複数のクラスで共通した関数を...
-
VBAもしくはVB6:クラスの中で...
-
命名規約は連番でいいのか?
-
eclipse でクラスに色
-
3年間同じクラスになる確率
おすすめ情報