UML中,类图的使用最为广泛,一个类图包括三部分:
-
generalization(泛化)
子类与父类之间的继承关系,子类可以overwrite父类的方法或参数;还可以实现多态(polymorphism)。表示“is a kind of”的关系
-
notes and comments
可以对类做注释,之间用虚线表示,无箭头。
-
dependency(依赖)
表示两个元素之间,如果一个发生改变,也会影响到另一个,之间用一条虚线加箭头表示。在类中,依赖的关系有如下几种:一个类向另一个发送消息;一个类把另一个当做本类数据的一部分;一个类当做另一个类方法中的参数。依赖关系应该被谨慎控制,不然我们对程序做的任何改动都会造成连锁反应。应该把表现与逻辑解耦。依赖的情况,可以用很多关键字表示。
- <<call>> 源端(调用方、元素)调用目标(target)的方法
- <<create>> 源端(调用方)创建目标对象
- <<derive>> 源端(调用方)由目标对象衍生出来(??
)
- <<instantiate>> 源端(调用方)是目标端的一个实例(如果源端是一个类,那么目标端就是一个元类(metaclass))
- <<permit>> 目标端允许源端访问它的私有(private)属性
- <<realize>> 源端是目标端的一个实现(implementation)
- <<refine>> 修饰表示不同语义等级之间的关系(??
)
- <<substitute>> 源端可以替代目标对象
- <<trace>>
- <<use>> 源端需要目标端的实现
要降低元素之间的依赖程度,要防止循环依赖。
-
Constraint Rules
限制条件一般写在{}中,如:{限制名称:限制条件解释},在Design by Contract有三种情况:
-
post-condition
(事后条件) 限制操作后应该得到的结果
-
pre-condition(事先条件) 限制操作之前应该有如何的操作
-
invarian(不变条件) 限制操作中,类中某个条件不会变,如一个账户,在增加xx钱,再减少xx钱,余额是一定的。
-
补充1:聚集(aggregation)和组合(composition),这个是需要从上下文的语义关系才能看出来的。聚集的意思是:当需要对“整体/部分”关系建模时,其中一个类描述了一个较大的事物(“整体”),它有较小的事物(“部分”)组成。把这种关系称为聚集,它描述了“has a”的关系,意思是整体对象拥有部分对象,用一条直线加上一个空菱形表示,空菱形指向整体一端,例如汽车对象和发动机、轮子对象的关系。组合使用一条直线加上一个实菱形表示,与聚集的区别是,两个类之间的关系式(contains a),两个类之间是强关联,一个类销亡,另一个类也肯定消亡。
-
补充2:http://www.iteye.com/topic/37302
-
补充3:当需要表示静态的属性或方法时,须在相应的属性和方法下面画一条实线。当命名接口时,需要在接口名上方加上<<interface>>标签。
分享到:
相关推荐
C# and UML class diagram,这是有关C#和UML class diagram的一个详细讲解和比较应用
UML class diagram
UML簡介_Class Diagram 学习ERD的
UML Class Diagram Tutorial and tutorial for dia software
UML知识之二:类图的设计
UML TUTORIAL UML CLASS DIAGRAM
2.2 UML 2 Class Diagram 5 2.2.1 Class Diagrams 5 2.3 UML 2 Object Diagrams 11 2.3.1 Object Diagrams 11 2.4 UML 2 Composite Structure Diagram 13 2.4.1 Composite Diagrams 13 2.5 UML 2 Component Diagram ...
UML use case diagram, class diagram, package diagram, object diagram, composite structure diagram, interaction diagram, sequence diagram, communication diagram, interaction overview diagram, activity...
类主要有属性(Attribute)和方法(Method)构成,属性代表对象的状态,如果属性被保存到数据库,此称之为“持久化”;方法代表对象的操作行为,类具有继承关系,可以继承于父类,也可以与其他的Class进行交互。类图...
Robert C. Martin写的介绍UML class diagram的专栏文章,短小精悍
UML类图大全
codesys UML 建模 插件 The UML (Unified Modeling Language) is a ...Language: the class diagram and the state diagram, for the 32 Bit and 64 Bit version of the CODESYS Development System in one package.
《UML建模-面向对象设计》系列文章描述了常见的一些UML图,主要包括了用例图(Use Case Diagram)、类图(Class Diagram)、活动图(Activity Diagram)、时序图(Sequence Diagram)、状态图(Statechart Machine ...
利用eclipse自动生成UML class diagram的方法 1.在eclipse中自动下载GEF ① 工具栏→帮助→安装新软件 ②输入下载地址http://download.eclipse.org/tools/gef/updates/releases/并勾选GEF Common 如果eclipse右下...
powerdesigner 面向对象分析,用例图,序列图,活动图……
UML小结,UML图,UML例子,类图/Class diagram 显示系统中的类和包,提供系统构件及其相互关系。静态结构建模;用例图/Use-case diagram 用例图从用户的角度描述系统功能的使用者和主要的系统操作流程。显示用例与参与者...
1、需求阶段如何书写Use Case 2.设计阶段如何画用例图(Use-Case Diagram) 3、类与类之间的关系图(Class Diagram,UML图) .......... 8、UML建模之数据建模(Data Model Diagram)
文档条理清晰,是对网上书店的业务流程经过仔细考虑后进行的的系统分析和设计过程,该文档为英文版本,对网上书店的主要6个业务流程分别画了sequence diagram,collaborationdiagram和activity diagram这三种uml图来...