私は、具体的なクラスが純粋な仮想メソッドを定義する抽象クラスから継承するいくつかのUMLを描画しています。具体的なクラスにもこのメソッドを表示する必要がありますか?それは、抽象クラスから継承することによって暗示されます。UMLでは、抽象メソッドの具体的な実装を示す必要がありますか?
答えて
いいえ、あなたは必要ありません。実際には、一般的に、あなたよりもUMLに入れないでくださいは、コードを生成しようとしていない限り、あなたが言っていることを明確にする必要があります。
私がUMLについて知っている最良のガイドは、Martin FowlerのUML Distilledです。
私はちょうどこのリンクを見つけて、それはあなたが行うようになっています/
http://java-x.blogspot.com/2007/01/implementing-visitor-pattern-in-java.html
あなたはブログを持っている一人の人がしたので、あなたはしなければならないと確信していますか? –
パターンを説明するのに便利です。一般的な声明として、情報を追加せずに複雑さを増す。 –
をUMLについての面白いところは、それはかなり緩んで多様な定義を持っていることです。 UMLと呼ばれるほとんどのものは実際にはそれほど多くのブロック図ではありません。 UMLの実装にはあいまいさがたくさんあります。
プレゼンテーションやアーキテクチャーのダイアグラムでこれを行っている場合は、「言葉」とのあいまいさをかなり気にすることができます。アプリケーションを使用してコードを生成する場合は、その特定のアプリケーションのドキュメントを確認する必要があります。
多くのCASEツールは、そのプロパティを見てクラスをクリックしたときに継承されたメソッドをサブクラスのメソッドのリストの一部として表示します(いくつかのCASEツールにはダイアグラムに継承されたメソッドも示しています)
+1 "神の禁じられた"。私はあなたがUMLの "スケッチャー"であり、MDAのファンではない、チャーリーだと思っています。仰るとおりです。私は、ソフトウェアの救済としてのUMLの新婚旅行がやってきたと思います。 – duffymo
私は "コンピュータ支援ソフトウェアエンジニアリング"でPhDの仕事をたくさんやっていましたが、UMLの厳密な詳細の有用性は確信できません。 –
UML Distilledで標準化していれば、UMLの方が優れているかもしれません。 –