UMLモデリング言語入門統一

統一モデリング言語入門

  統一モデリング言語(統一モデリング言語、UML)、ソフトウェアの青写真を設計するために使用される視覚的なモデリング言語であるオブジェクト管理グループによって1997年(OMG)は、オブジェクト指向のための国際標準モデリング言語として採用しました。それは、単純な、統一された、グラフィカルなことを特徴とする、動的ソフトウェア設計表現することができ、および静的情報を記憶します。

 

統一モデリング言語は、ソフトウェア開発のすべての段階のためのモデリングと可視化のサポートを提供します。また、さらに、設計時間の短縮、通信をより簡潔にする開発コストを削減するために、ソフトウェアエンジニアリング、ソフトウェア設計の分野で新しいアイデア、新しい方法や新技術に統合されています。そのアプリケーションは、非常に一般的なシステムの開発のためだけではなく、幅の広い、そして並列分散システムのモデリングに適合しています。

ビューの異なる角度からUMLターゲットシステムは、定義ユースケース図、クラス図、オブジェクト図、状態図、アクティビティ図、タイミング図、コラボレーション図、図部材、図の展開図の9種類を。

そして、このクラスのクラス図の関係は、しばしば使用されているソフトウェアのデザインパターンに焦点を当てています。また、実験の項で簡単にUMLモデリングツールを使用する方法について説明しますが、現在最も広く使用されている業界では、Rational Roseのです。多くの人々をUmlet使用し、それは一般的に小規模なソフトウェアシステムの開発・設計に使用されるシンプルで実用的な軽量なオープンソースUMLモデリングツール、です。


クラス、インタフェースとクラス図。

1.クラス

クラス(クラス)が動作し、データをカプセル化するプロパティ、メソッド、および関係同じ抽象オブジェクトは、オブジェクト指向プログラミング(OOP)の基礎である有し、そしてカプセル化、継承、および多型三つの特徴を有することを意味します。クラス名を含むUMLクラスにおいて、属性、操作及び分周器は矩形で表されています。

 

(1)クラス名(Name)は、文字列、例えば、学生です。

(2)のプロパティ(属性)は、属性クラス、すなわちクラスのメンバ変数を指します。次の形式でUML表記:

[可視性] Name属性:タイプ[=デフォルト]

例:-name:文字列

注意:「可視性」は属性クラス外の要素を表しているなど、目に見える(プライベート)、保護された(保護)、公共(パブリック)プライベートや友人(フレンドリー)クラス図の4種がシンボルであります+ - # 表します。

(3)操作(オペレーション)を使用することができる任意のオブジェクトクラスの挙動の一例は、あるクラスのメソッドのメンバーです。次の形式でUML表記:

[可視性]名(パラメータリスト)[:戻り値の型]

+ディスプレイ():void例については。

図1は、クラスの生徒UML表現を示しています。

学生カテゴリ

図1学生クラス


2.インタフェース

インターフェース(Interface)は特別なクラスであるが、クラスの構造を有するインスタンス化することができない、サブクラスだけによって達成することができます。これは、抽象操作が含まれていますが、プロパティが含まれていません。これは、外部の可視コンポーネントまたは操作のクラスを記載します。UMLでは、図に小さな円の名前とインターフェース。

なお、図2 UMDLに示すグラフィカルクラスインターフェースです。


2グラフインタフェース図。

 

クラス3.図。

図クラス(クラス図)は、システムを表示するために使用されるクラス、インタフェース、および静的モデルコラボレーション静的構造とそれらの間の関係。主に、人々がシステム分析と設計段階の重要な製品であるソフトウェアシステムの理解は、それがコーディングとテストに基づいて、重要なモデル系である簡素化を支援するソフトウェアシステムの設計記述を構築するために使用されます。

図クラスクラスは、直接プログラミング言語で実装することができます。ソフトウェア開発のライフサイクル全体のクラス図は、それが最も一般的なマップのオブジェクト指向システムをモデル化され、効果的です。図3に示すように、「計算された矩形と円形の周囲および面積」クラス図で、グラフィカルインタフェースは、面積と周長を計算するための抽象メソッドを持つ矩形と円形のクラスのコールにアクセスするためのこれらの2つの方法を達成します。

図3は、「計算の面積を有する長方形の外周を丸くされた」クラス図。


クラス間の関係

在软件系统中,类不是孤立存在的,类与类之间存在各种关系。根据类与类之间的耦合度从弱到强排列,UML 中的类图有以下几种关系:依赖关系、关联关系、聚合关系、组合关系、泛化关系和实现关系。其中泛化和实现的耦合度相等,它们是最强的。


1. 依赖关系

依赖(Dependency)关系是一种使用关系,它是对象之间耦合度最弱的一种关联方式,是临时性的关联。在代码中,某个类的方法通过局部变量、方法的参数或者对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一些职责。

在 UML 类图中,依赖关系使用带箭头的虚线来表示,箭头从使用类指向被依赖的类。图 4 所示是人与手机的关系图,人通过手机的语音传送方法打电话。

图4 依赖关系的实例


2. 关联关系

关联(Association)关系是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系,如老师和学生、师傅和徒弟、丈夫和妻子等。关联关系是类与类之间最常用的一种关系,分为一般关联关系、聚合关系和组合关系。我们先介绍一般关联。

关联可以是双向的,也可以是单向的。在 UML 类图中,双向的关联可以用带两个箭头或者没有箭头的实线来表示,单向的关联用带一个箭头的实线来表示,箭头从使用类指向被关联的类。也可以在关联线的两端标注角色名,代表两种不同的角色。

在代码中通常将一个类的对象作为另一个类的成员变量来实现关联关系。图 5 所示是老师和学生的关系图,每个老师可以教多个学生,每个学生也可向多个老师学,他们是双向关联。

图5 关联关系的实例


3. 聚合关系

聚合(Aggregation)关系是关联关系的一种,是强关联关系,是整体和部分之间的关系,是 has-a 的关系。

聚合关系也是通过成员对象来实现的,其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象而独立存在。例如,学校与老师的关系,学校包含老师,但如果学校停办了,老师依然存在。

在 UML 类图中,聚合关系可以用带空心菱形的实线来表示,菱形指向整体。图 6 所示是大学和教师的关系图。

图6 聚合关系的实例


4.组合关系

组合(Composition)关系也是关联关系的一种,也表示类之间的整体与部分的关系,但它是一种更强烈的聚合关系,是 cxmtains-a 关系。

在组合关系中,整体对象可以控制部分对象的生命周期,一旦整体对象不存在,部分对象也将不存在,部分对象不能脱离整体对象而存在。例如,头和嘴的关系,没有了头,嘴也就不存在了。

在 UML 类图中,组合关系用带实心菱形的实线来表示,菱形指向整体。图 7 所示是头和嘴的关系图。

图7 组合关系的实例


5.泛化关系

泛化(Generalization)关系是对象之间耦合度最大的一种关系,表示一般与特殊的关系,是父类与子类之间的关系,是一种继承关系,是 is-a 的关系。

在 UML 类图中,泛化关系用带空心三角箭头的实线来表示,箭头从子类指向父类。在代码实现时,使用面向对象的继承机制来实现泛化关系。例如,Student 类和 Teacher 类都是 Person 类的子类,其类图如图 8 所示。

泛化关系的实例


图8 泛化关系的实例

6.实现关系

实现(Realization)关系是接口与实现类之间的关系。在这种关系中,类实现了接口,类中的操作实现了接口中所声明的所有的抽象操作。

在 UML 类图中,实现关系使用带空心三角箭头的虚线来表示,箭头从实现类指向接口。例如,汽车和船实现了交通工具,其类图如图 9 所示。

实现关系的实例


图9 实现关系的实例

上述介绍了UML建模中的常见的属性,UML是一门可以深入研究的语言模式。这里只是简单的概述了其内容。以便以后查阅方便。

おすすめ

転載: www.cnblogs.com/cainiao-chuanqi/p/10958780.html