[エッセンス] UML(統一モデリング言語)さまざまな図のまとめ

UML(統一モデリング言語)は、オブジェクト指向開発システム向けの製品を記述、視覚化、および文書化するための標準言語である統一モデリング言語です。以下では、9つのUML図+パッケージ図の基本概念と、各図の使用シナリオを紹介します。

 

1.基本的な概念  

  次の図に示すように、UML図はユースケースビュー、デザインビュー、プロセスビュー、実装ビュー、トポロジビューに分かれており、静的ビューと動的ビューに分けることができます。静的図は、ユースケース図、クラス図、オブジェクト図、パッケージ図、コンポーネント図、配置図に分かれています。動的図は、状態図、アクティビティ図、コラボレーション図、シーケンス図に分かれています。

  1.ユースケース図(UseCase Diagrams): 

    ユースケース図は、主に2つの質問に答えます。1.ソフトウェアを使用する人。2.ソフトウェアの機能。システムの機能はユーザーの視点から記述されており、各機能の実行者が指摘されており、ユーザーのユーザーを強調し、実行者に対してシステムが実行する機能を強調しています。

  2、类图(クラス図):

    ユーザーは、ユースケース図に基づいてクラスに抽象化し、クラスの内部構造とクラスとクラス間の関係を記述します。これは静的な構造図です。UMLクラス図では、一般化、実現、関連付け、集約、構成、および依存関係の関係が一般的です。

     さまざまな関係の順序:一般化=実装>構成>集約>関連付け>依存関係

  2.1。一般化

    [汎化関係]:継承関係であり、一般的で特別な関係を表し、サブクラスが親クラスのすべての特性と動作を継承する方法を指定します。例:タイガーは一種の動物です。つまり、タイガーの特性と動物の共通点を持っています。

    

  2.2。実装

    [実装関係]:クラスとインターフェースの関係であり、クラスがインターフェースのすべての機能と動作の実現であることを示します。

      

  2.3。関連付け

     [関連付け関係]:所有権の関係であり、1つのクラスに別のクラスの属性とメソッドを認識させます。たとえば、教師と生徒、夫婦の関連付けは双方向または単方向にすることができます。双方向の関連付けには2つの矢印がある場合とない場合があり、一方向の関連付けには1つの矢印があります。

          【コード実施例】:メンバー変数

      

  2.4。集計 

    【集計関係】:全体と部分の関係で、全体とは別の部分が存在できます車とタイヤの関係が全体的かつ部分的である場合、車を離れてもタイヤは存在し続ける可能性があります。

          集約関係は、強い関連付け関係の一種の関連付け関係です。関連付けと集約は文法的に区別できず、特定の論理関係を調べる必要があります。

          【コード実施例】:メンバー変数

      

  2.5。組み合わせ

    【組み合わせ関係】:全体と部分の関係ですが、全体がなければ部分は存在できません会社と部署が全体と一部の関係である場合、会社がなければ部署はありません。

         結合関係は、一種の関連関係であり、集約関係よりも強力です。通常の集約関係で全体を表すオブジェクトが、一部を表すオブジェクトのライフサイクルを担当する必要があります。

    【コード実施例】:メンバー変数

    [矢印とポイント]:実線と実線のダイヤモンド、ダイヤモンドは全体を指しています

          

  2.6。依存  

     [依存関係]:これは、使用の関係です。つまり、クラスの実現には別のクラスの支援が必要なので、双方向の相互依存を使用しないようにします。

        [コードのパフォーマンス]:ローカル変数、メソッドパラメータ、または静的メソッドの呼び出し

        【矢印とポイント】:矢印付きの点線はユーザーを指します

    

  2.7さまざまなクラス図の関係

    

  3.オブジェクト図:

   インタラクションプロセスの特定の瞬間におけるインタラクションに 参加している各オブジェクトの状態を示しますオブジェクトグラフは、特定の瞬間のクラスグラフのインスタンスと見なすことができます。

      

  4.ステートチャート図:

    これは、状態、遷移、イベント、およびアクティビティで構成される状態マシンであり、クラスオブジェクトのすべての可能な状態と、時間が発生したときの状態の遷移条件を記述するために使用されます。

      

  5.アクティビティ図(アクティビティ図):

     これは状態図の特殊なケースであり、これらの状態のほとんどはアクティブです。本質は、アクティビティからアクティビティへの制御のフローを記述するフローチャートです。    

相互作用図はオブジェクトからオブジェクトへの制御フローを強調し、アクティビティ図はアクティビティからアクティビティへの制御フローを強調します。

アクティビティ図は、プロセスの根拠、ビジネスプロセス、ワークフローを表現するテクノロジーです。

ビジネスプロセスとワークフロー、およびユースケースの実現とプログラムの実現さえもモデル化するために使用できます。

      

  5.1水泳レーンのある活動図

      スイムレーンは、各アクティビティを完了する責任がある人または部門を示します。

      

  5.2オブジェクトフローのアクティビティ図

    アクティビティ図でオブジェクトを説明する場合、関連するオブジェクトをアクティビティ図に配置し、依存関係を使用して、オブジェクトをアクション状態またはアクティビティ状態に接続し、作成、変更、キャンセルを行うことができます。このオブジェクトの使用方法は、オブジェクトストリーム。オブジェクトの流れは、矢印付きの点線で表されます。

    

  6.シーケンス図-シーケンス図(シーケンス図):

    発生順にメッセージをオブジェクト間で送信する順序を説明する相互作用図の一種。

    シーケンス図の主な目的は、ユースケースによって表されたニーズを、より正式なレベルの詳細な表現に変換することです。多くの場合、ユースケースは1つ以上のシーケンス図に洗練されています。同時に、シーケンス図は、さまざまなタイプの責任を割り当てる方法と、対応する各タイプの責任の理由をより効果的に説明しています。

    

  メッセージは、あるオブジェクトのライフラインから別のオブジェクトのライフラインへの矢印で表されます。矢印は、図の上から下に時系列で並べられています。 

  シーケンス図に含まれる要素:

  6.1ライフライン

    ライフラインの名前に下線を付けることができます。下線が使用されている場合、シーケンス図のライフラインがクラスの特定のインスタンスを表すことを意味します。

    

  6.2同期メッセージ

    同期的にメッセージを待機しています

    

  6.3非同期メッセージ

    待機せずに非同期でメッセージを送信する

        

  6.4注意

    

  6.5制約

    

  6.6組み合わせ    

    複合フラグメントは、インタラクティブな実行の条件と方法を解決するために使用されます。論理コンポーネントをシーケンス図で直接表すことができ、条件またはサブプロセスのアプリケーション領域を指定することにより、ライフラインの任意の部分の特別な条件およびサブプロセスを定義するために使用されます。一般的に使用される組み合わせフラグメントは、選択、オプション、ループ、並列です。

  7.コラボレーション図:

    メッセージを送受信するオブジェクトの組織的な関係を記述し、オブジェクト間の協調関係を強調する一種の相互作用図。タイミング図は時系列に配置され、ライティング図は空間構造に従って配置されます

    

 

  8.コンポーネント図(コンポーネント図):

    コンポーネント図は、システム内のコンポーネントとコンポーネントの間、またはクラスやインターフェースとコンポーネントの間の関係を表すために使用されます。このうち、構築図の関係は依存関係として示され、定義されたクラスまたはインターフェースとクラスの関係は依存関係または実装関係として示されます。

    

  9. 配置図:

    システムの実行時に処理されるノードと、ノードでアクティブなコンポーネントの構成について説明します。物理的な機器とそれらの間の接続を強調します。

配置モデルの目的:

特定のアプリケーションの主な展開構造を説明します。さまざまなハードウェア、ハードウェア内のソフトウェア、およびさまざまな接続プロトコルの表示を通じて、システムの展開方法を説明したり、システムの実行中にコンピューティングリソースの分散のバランスをとったり、合格したりできますこの接続は、組織のハードウェアネットワーク構造または組み込みシステム、およびさまざまなハードウェアとソフトウェアが関連する他のシステム操作モデルを示します。

第二に、数字の違い

  1.シーケンス図(タイミング図)とコラボレーション図

       シーケンス図とコラボレーション図はインタラクティブな図です。2つは意味的に同等であり、相互に変換できます。ただし、強調点は異なります。シーケンス図は時間シーケンスに焦点を当て、コラボレーション図はオブジェクト間の関係に焦点を当てています。

それらの共通点:シーケンス図とコラボレーション図は、オブジェクト間の相互作用を示します。

相違点:シーケンス図は、相互作用の時系列を強調しています。

           コラボレーション図は、相互作用の空間構造を強調しています。

    2.状態図VSアクティビティ図

      状態図とアクティビティ図はどちらも動作図です。状態図はアクションの結果の説明に重点を置き、アクティビティ図はアクションのアクションの説明に重点を置いています。状態図は、特定のオブジェクトの可能な状態とそれらの間の遷移を記述します。実際のプロジェクトでは、アクティビティ図は不要であり、次の条件を満たす必要があります:1.並列プロセスと動作が発生する; 2.アルゴリズムが説明される; 3.複数のユースケースにまたがるアクティビティ図。

    3.アクティビティ図VSインタラクティブ図

  どちらもオブジェクトとその転送の間の関係を伴います。違いは、相互作用図がメッセージを送信するオブジェクトを観察するのに対し、アクティビティ図はオブジェクト間で渡されるメッセージを観察することです。一見同じセマンティクスですが、システム全体をさまざまな角度から見ています。

3. UMLとソフトウェアエンジニアリング

  UMLダイアグラムはソフトウェアエンジニアリングの不可欠な部分であり、ソフトウェアエンジニアリングは、マクロの観点からソフトウェア開発の各プロセスの品質を保証します。UMLは、モデリング言語として、ソフトウェアエンジニアリングの要件をより効果的に満たします。

  次の図に示すように、ソフトウェア開発の各段階で必要なUML図。

  

  次の表は、UMLユーザーの図です。

  

 

オリジナル:https//www.cnblogs.com/jiangds/p/6596595.html

参考資料:

http://m.blog.csdn.net/article/details?id=38467715

http://www.cnblogs.com/wolf-sun/p/UML-collaboration-diagram.html

1665件のオリジナル記事が公開されました 1067件の賞賛 750,000回

おすすめ

転載: blog.csdn.net/universsky2015/article/details/105625806