UMLについて知っておくべき重要なことは何ですか?


18

プログラムのデザインと動作の落書きをもっと合理化して、他の開発者と共通の言語にしたいです。

私はUMLを見て、原則としてそれが私が探しているもののようですが、それはやり過ぎのようです。私がオンラインで見つけた情報も非常に肥大化しており、学術的だと思われます。

UMLを同僚に説明するのに十分な英語の平易な方法で理解するにはどうすればよいですか?地上レベルでUMLを理解するための標準的なリソースは何ですか?


1
私は古いタイトルのほうが好きでしたが、少なくともその冒頭は「UMLの最も有用な10%は何ですか?」そうでなければ、良い編集!
ジョーイアダムス

あなたは既にドキュメントが書き出されている場合は、そのおそらくすでにUMLで、あなただけの彼らは文書のあなたのタイプを呼び出すことにしました何に精通していない
Ryathal

回答:


4

質問が好き-私が自分自身に尋ねたのと同じもの:

UMLを同僚に説明するのに十分な英語の平易な方法で理解するにはどうすればよいですか?地上レベルでUMLを理解するための標準的なリソースは何ですか?

ここに私が見つけたものがあります:

キックスタートの場合:私の選択はFowler's UML Distilledです。すでに述べたように、これは基本の抜粋です。定義、例、特定のタイプのダイアグラムを使用するかしないかのアドバイスです。また、本の表紙を読まずにUMLの特定の部分に集中したい場合にも参考になります。

より詳細でありながらわかりやすい英語の紹介: ダミーのためのUML 2は、私の同僚と私のために行われました。UML、その構文、使用方法を紹介するだけでなく、優れたプログラミングと設計の実践に関する多くのアドバイスを提供します。

2つの本には、どの構文がどのバージョンのUML標準に属するかについて、時々違いがあります。ただし、これらは細かく、UMLダイアグラムを使用して設計のアイデアを伝えるのに不可欠なものではありません。(例:UML 2が個別の多重度を許可するかどうか、つまり、特定のプロパティがちょうど0、1、Xを超える、またはXではなく、正確にX、Y、またはZオブジェクトを持つ可能性があることを示すかどうか。参加者の名前に下線を引く必要がある場合。 ..)

アカデミックではなく、言葉遣いの少ない完全な紹介:このブログには、UMLのさまざまな部分に関する記事があります:http : //blog.diadraw.com/category/uml/

それは教科書ではないので、網羅的ではありませんが、教科書以外の物語や例も使用しています。利用可能ないくつかの投稿は、UMLの概念を視覚的に紹介することに焦点を当てているため、テキストの読みを完全にスキップできます。


そのブログのリンクはいいです。
飯能フィエッツ

8

マーティン・ファウラーのUML Distilledが本当に好きでした。短くて甘く、ホワイトボードの議論に十分すぎるほど。いくつかのコピーを入手して、チームに渡します。


1
この本に言及して+1したので、答えを書いている間、それを完全に忘れてしまいました!
アレクサンダーガルキン

2
この本でのあなたの経験についてもう少し話していただけますか?

ダウン票の理由は何ですか?
ケビンクライン

1
チームリーダーになったときに最初にしたことの1つは、チームの全員にこの本のコピーを購入することでした。私たちのデザインを議論するための共通の語彙をすべて与えてくれました。若い男たちの何人かは、彼らが読んだ様々なデザインパターンブックの図をよりよく理解するのに役立ったと報告しました。
TMN

2
@kevincline通常、Amazonにリンクします。これは、リンクをStack ExchangeのリファラーURLに変換するためです。誰かがそのURLをクリックして購入すると、Stack Exchangeはお金を稼ぐことができます。また、Amazonからのタイトル、著者、ISBN情報を使用して、お気に入りの本屋で本を見つけるのも簡単です。
トーマスオーエンズ

5

ダイアグラムだけが常に役立つとは限りません。たとえば、ユースケース図では、ビジネスルールを詳細に伝えることはできません。クラス図は、そこからクラスコードとDLLを生成できるため、非常に便利です。

これらの図が最も便利だと思います。

  • ユースケース図
  • クラス図
  • アクティビティ図
  • シーケンス図

非常に多くの有用なリソースがありますが、これらを確認してください。

マークのコメントに応じて編集-1

私はこれらのリソースを日常的に使用していませんが、UML構文のクイックリファレンスとして機能します。上記のリソースは、UMLダイアグラムの迅速かつある程度包括的な表現を提供するために選択されます。一般的な図を表示し、新しいUMLユーザーがそれらの違いをすばやく確認できるようにします。最初のリソースであるビデオでは、ユースケースの詳細と、それが他の図とどのように関係しているかを説明しています。上記のリソースは、UMLまたはOODを学習したい人には十分ではないと予想されます。このようなトピックを学習することは元の質問では意図されていなかったと思います。


ClassSequence、およびActivityダイアグラムの+1 。ユーザーが写真を気に入っているように見えるため、レポートの優れたカバーであること以外は、ユースケース図にはまったく納得していません。
シェード

@Sjoerd、コメントありがとう。正しく指定したように、ユースケースはユーザーに愛されています。また、ユースケース図には多くの値があります。アクター(プライマリーおよびセカンダリー)を識別し、「CレベルCseケース」を発見できます。アクティビティ図やクラス図との関係が、仕様の結束を構築します。これらは、詳細なビジネスルールと完全な要件ドキュメントの代わりではないことに注意してください。
NoChance

これらのリソースでの経験について詳しく説明していただけますか?他の人ではなく、それらについては、UMLを理解するのに役立ちましたか?

@MarkTrapp、コメントと編集に感謝します。
NoChance

2

あなたがそれのたった10%に満足しているなら、あなたはUML本からそれを学ぼうとするべきではありません。むしろ、オブジェクト指向分析またはデザインパターンに関する優れた本を読む方がよいでしょう。これらの本は、探している10%を提供します。

それでもUMLのチュートリアルを探している場合は、このWebページ、特にUMLダイアグラムに関するこのエッセイをお勧めします(広告ではありません。個人的にはこのサイトとはまったく関係ありません)。単に図を参照して見てください。それらはほとんど自己説明的であり、OOPと一般にプログラムの設計とアーキテクチャを知っている限り、何が描かれているかを簡単に理解できます。

なぜこのページを正確に推奨するのですか?(コメントで尋ねた)

私が他の人よりも好きだった理由はいくつかあります:

  1. 最初のページにUML図の概要表が表示されます。
  2. この表には、すべてのUML2.0図の簡単な説明の他に、UML初心者が最も頻繁に使用されるUML図を識別するのに役立つ「学習優先度」列があります。
  3. それは同様のマシンレンダリング図が含まれているにもかかわらず、ほとんどの図は、手描き(おそらく、彼らがいるように見えるしている手描き)。私は、鉛筆と紙だけを使用してモデリングを行うことができ、最初の段階でUML視覚化ソフトウェアを詳しく調べる必要がないことを示す印と考えています。

これらの推奨事項に関するあなたの経験について詳しく説明していただけますか?他の人ではなく、それらについては、UMLを理解するのに役立ちましたか?

1

O'ReillyのUML 2.0 Pocket Referenceは、それよりも少し詳細ですが、必要なものをすばやく見つけるのに十分なほど小さいので、必要なときに説明があるので、おそらく最良の選択です。そして、それは最新のものです。これは、私がウェブで見つけた「UMLチートシート」やリファレンスカードには当てはまりません。これらはほとんどがUML 1.xについて説明しています


この本でのあなたの経験についてもっと話していただけますか?他の本ではなく、UMLの理解に役立ちましたか?

@マークトラップ:主に小さいため、細部や特殊なケースに迷うことなく、すべての必需品をすばやく見つけることができます。
マイケルボルグワード

0

これには3つの部分があります。

  1. 正式なUMLリファレンスを取得する

    新しい「言語」を学んでいるときはいつでも、それが本であろうとオンラインリソースであろうと、いつでも引き出して使用できるリファレンスを入手してください。UML Distilledは小さく、優れた説明があり、明確な図がたくさんあります。すべての機能を使用しなくても、いつでも戻って何かを表現する「正しい」方法を見ることができます。

  2. UMLを使用して物事をモデル化する

    参照ができたので、それを使用して、既存の小規模なシステムまたは使用し始めているシステムをモデル化します。ほとんどの場合、クラス図、シーケンス図、および状態図に固執することになるでしょう。不明な点がある場合は、参考文献にアクセスして「正しい」使用法を調べてください。それでも解決しない場合は、グーグルを試してみるか、Stack Overflowで確認してください。プログラミングと同じように、練習が重要です。

  3. 使用するいくつかの実際のプロジェクトでUMLを

    チームでUMLを使い始めるとき、それはあなたが構築した、または構築するシステムを理解するための単なるツールであることを忘れないでください。ダイアグラムの作成中に参照を確認する必要がありますが、厳密に規則に従うのではなく、情報の伝達に焦点を当てる必要があります。

高校のライティングクラスを思い出してください。あなたの教師は、「and」、「but」、または「or」で文を開始するのは恐らく重大な罪だと考えたでしょう。より多くの文章を作成し、英語をより細かく制御できるようになったため、ルールを曲げて効果を高める方法を学びました。UMLは、業界でもまったく同じ方法で使用する必要があります。


0

UMLを知っていれば、すべての図からアプリケーションの異なるビューが得られると思います。多くの本が利用可能です。

UMLがわからない場合は、既存のコードから反転したクラス/シーケンス図のみを作成するのが最も簡単です。既存のコードをUMLに反転し、クラス/シーケンス図内に独自のメモを追加するだけです。クラス図はアプリケーションの静的なビューを提供し、シーケンス図はメソッドのフロー、したがってアプリケーションの動作を説明します。UMLジョブが完了し、間違いなし:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.