`
dragonxiangfu
  • 浏览: 156060 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

UML建模之类图(Class Diagram,UML图)

 
阅读更多

UML建模之类图(Class Diagram,UML图)

2010-08-31 作者:灵动生活 来源:灵动生活的Blogs

一、简介

类是对象的集合,展示了对象的结构以及与系统的交互行为。类主要有属性(Attribute)和方法(Method)构成,属性代表对象的状态,如果属性被保存到数据库,此称之为“持久化”;方法代表对象的操作行为,类具有继承关系,可以继承于父类,也可以与其他的Class进行交互。

类图展示了系统的逻辑结构,类和接口的关系。

二、类的构成

类主要有属性和方法构成。比如商品属性有:名称、价格、高度、宽度等;商品的方法有:计算税率,获得商品的评价等等。如下图

三、类之间的关系(Relationship)

关联(Association)

两个相对独立的对象,当一个对象的实例与另外一个对象的特定实例存在固定关系时,这两个对象之间就存在关联关系。

1、单向关联

A1->A2: 表示A1认识A2,A1知道A2的存在,A1可以调用A2中的方法和属性

场景:订单和商品,订单中包括商品,但是商品并不了解订单的存在。

类与类之间的单向关联图:

C#代码:

Public class Order

{

Public List<Product> order;

PublicvoidAddOrder(Product product )

{

order.Add(product);

}

}

Public Class Product

{

}

代码表现为:Order(A1)中有Product(A2)的变量或者引用

2、双向关联

B1-B2: 表示B1认识B2,B1知道B2的存在,B1可以调用B2中的方法和属性;同样B2也知道B1的存在,B2也可以调用B1的方法和属性。

场景:订单和客户,订单属于客户,客户拥有一些特定的订单

类与类之间的双向关联图

C#代码

Public class User

{

Public List<Order> GetOrder()

{

} return new List<Order>();

}

Public Class Order

{

Public User GetUserByOrderID(string OrderId )

{

Return new User();

}

}

3、自身关联

同一个类对象之间的关联

类与类之间自身关联图

4、多维关联(N-ary Association)

多个对象之间存在关联

场景:公司雇用员工,同时公司需要支付工资给员工

类与类之间的多维关联图:

5、泛化(Generalization)

类与类的继承关系,类与接口的实现关系。

场景:父与子、动物与人、植物与树、系统使用者与B2C会员和B2E会员的关系

类与类之间的泛化图:

系统的使用者包括:B2C会员、B2B会员和B2E会员。

接口的实现,动物都有吃的行为,而人是动物的一个具体实例,实现具体Eat的动作

6、依赖(Dependency)

类A要完成某个功能必须引用类B,则A与B存在依赖关系,依赖关系是弱的关联关系。C#不建议双相依赖,也就是相互引用

场景:本来人与电脑没有关系的,但由于偶然的机会,人需要用电脑写程序,这时候人就依赖于电脑。

类与类的依赖关系图

在程序中一般为 using 引用。

7、聚合(Aggregation)

当对象A被加入到对象B中,成为对象B的组成部分时,对象B和对象A之间为聚合关系。聚合是关联关系的一种,是较强的关联关系,强调的是整体与部分之间的关系。

场景:商品和他的规格、样式就是聚合关系。

类与类的聚合关系图

8、组合(Composite)

对象A包含对象B,对象B离开对象A没有实际意义。是一种更强的关联关系。人包含手,手离开人的躯体就失去了它应有的作用。

场景: Window窗体由滑动条slider、头部Header 和工作区Panel组合而成。

类与类的组合关系图

四、总结

本文针对类之间常用的关系进行了简单的描述,主要有:关联关系、泛化、依赖、聚合和组合。

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://smartlife.blog.51cto.com/1146871/284498

分享到:
评论

相关推荐

    UML建模之类图(ClassDiagram,UML图)

    类主要有属性(Attribute)和方法(Method)构成,属性代表对象的状态,如果属性被保存到数据库,此称之为“持久化”;方法代表对象的操作行为,类具有继承关系,可以继承于父类,也可以与其他的Class进行交互。类图...

    UML建模系列文章总结

    1、需求阶段如何书写Use Case 2.设计阶段如何画用例图(Use-Case Diagram) 3、类与类之间的关系图(Class Diagram,UML图) .......... 8、UML建模之数据建模(Data Model Diagram)

    UML建模-面向对象设计

    《UML建模-面向对象设计》系列文章描述了常见的一些UML图,主要包括了用例图(Use Case Diagram)、类图(Class Diagram)、活动图(Activity Diagram)、时序图(Sequence Diagram)、状态图(Statechart Machine ...

    UML建模系列文章.pdf

    《UML建模-面向对象设计》系列文章描述了常见的一些UML图,主要包括了用例图(Use Case Diagram)、类图(Class Diagram)、活动图(Activity Diagram)、时序图(Sequence Diagram)、状态图(Statechart Machine ...

    UML小结UML图UML例子

    UML小结,UML图,UML例子,类图/Class diagram 显示系统中的类和包,提供系统构件及其相互关系。静态结构建模;用例图/Use-case diagram 用例图从用户的角度描述系统功能的使用者和主要的系统操作流程。显示用例与参与者...

    PowerDesigner UML 建模简介(第一部分).pdf

    powerdesigner 面向对象分析,用例图,序列图,活动图……

    TopCoder UML 建模软件 version1.2.4

    实现了class diagram, sequence diagram,user case diagram, activity diagram,可以生成java,c#源码

    UML 文档 介绍建模和项目设计的重要概念和实施过程

    UML 重要启蒙文档 介绍建模和项目设计的重要概念和实施过程 UML 2.1 advances the successful UML 2.0 specification, and is quickly becoming the accepted standard for specifying, documenting and ...

    解析UML的静态建模

    UML的静态建模机制包括用例图(Use case diagram)、类图(Class diagram)、对象图(Object diagram )、包(Package)、构件图(Component diagram)和配置图(Deployment diagram)。

    UML建模工具 Jude 5.5.2 使用手册

    你可以用它来创建:Class diagram,UseCase/Statechart/Activity/Sequence/Collaboration/Component diagram/Deployment diagram等。本文将通过一系列的实例指导大家如何使用JUDE来画UML。通过一些实例去学习使用...

    CODESYS UML 4.1.1.0.package

    codesys UML 建模 插件 The UML (Unified Modeling Language) is a graphical language for specification, design and documentation of object oriented software. UML provides a generally intelligible ...

    UML图.pptx

    类图(ClassDiagram)属于结构图,常被用于描述一个系统的静态结构。讲解每一种模式时,都会有一个重要的部分,用统一建模语言(Unified Modeling Language,UML)给出的类图。UML是一种广泛接受的通过画图的方式描述...

    C++类图学习资料快速学会类图

     类和对象的建模,是UML建模的基础。我们认为,熟练掌握基本概念、区分不同抽象层次以及在实践中灵活运用,是三条最值得注意的建模基本原则。  UML的静态建模机制包括: 用例图(Use case diagram) 类图(Class ...

    UML类图怎么画学习示例

    UML类图(Class diagram)是统一建模语言(UML)的一种图形表示,用于显示系统的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系。 在类图中,每个类由一个包含类名、属性和方法的矩形表示,...

    软件工程 课程设计

    4、熟悉UML,主要了解UML中的9大图:Use case diagram(用例图)、Class diagram(类图)、Object diagram(对象图,Rose中没有)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)...

    UML建模——使用EA工具开发时序图实践及经验

    在EA工具建模平台上,提供如下常用设计模型:BusinessProcess业务流程模型Requirements需求分析模型UseCase用例模型DomainModel领域模型Class类设计模型Database数据库设计模型Component组件模型Dep

    UML及思维导图的理解与使用

    UnifiedModelingLanguage(UML)又称统一建模语言或标准建模语言。UML从考虑系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、序列图、协作图、构件图、部署图等9...1.类图(ClassDiagram)。展现了一组

    rational rose 建模

    rational rose 建模的九个图 用例图(Use Case Diagram) 序列图(Sequence Diagram) 协作图(Collaboration Diagram) 活动图(Activity Diagram) 状态图(State Diagram) 类图(Class Diagram) 对象图(Object...

    UML实验报告.pdf

    (2) 打开 Rose 中的 Logical View(逻辑视图) (3) 鼠标右键单击新建的"Class Diagram"包 (4) 添加类"借书记录" (5) 设置类的属性 (6) 设置类的方法(也是操作) (7)重复(4)—(6)步骤,为图添加...

Global site tag (gtag.js) - Google Analytics