【UML学习】--类图和对象图

 一、类图

     类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构是一种静态建模方法。建立类模型是整个软件开发和分析阶段最为重要的一个环节。  

      

      建立类模型主要有两个目的:

      (1)建立模拟真实世界的业务关系模型,解决功能性需求性需求问题。

      (2)使类与类之间的耦合度尽可能的低,这个并非是功能性需求问题而是质量问题。类模块之间耦合度越低,系统的维护和扩展越容易,系统的生存发展周期越长。

类图中的“类”与面向对象语言中的“类”的概念是对应的,是对现实世界中的事物的抽象

      类图中的事物及解释:

※  一个从上到下分为三部分,分别是类名、属性和操作,类名是必须有的。

※  类如果有属性,则每一个属性都必须有一个名字,另外还可以有其它的描述信息,如可见性、数据类型、缺省值等。

※  类如果有操作,则每一个操作也都有一个名字,其它可选的信息包括可见性、参数的名字、参数类型、参数缺省值和操作的返回值的类型等




※  接口

 一组操作的集合,只有操作的声明而没有实现

※  抽象类

 不能被实例化的类,一般至少包含一个抽象操作

※  模板类

一种参数化的类,在编译时把模版参数绑定到不同的数据类型,从而产生不同的类


二、对象图

     对象图只列出属性和状态值,而不列出行为。因为对象图关心系统对象瞬间状态,而不是每个对象所具有的行为。

     对象图=对象+链    Object Diagram= Object + Link

     对象是现实世界中的一个物理上或概念上具有自己状态和行为的实体。

     :很多时候,需要表达对象之间在系统的某一运行时刻是如何在一起工作的,这就需要表现对象之间的关系。对象图中就是用链来将这些对象连在一起,UML将其称为Link,即链,用实线表示,在链上加一个标签表示此链接的目的。



三、类图和对象图的区别

 类图

 对象图

 类具有3个分栏:名称、属性和操作

 对象只有两个分栏:名称和属性

 在类的名称分栏中只有类名

 对象的名称形式为“对象名:类名”,匿名对象的名称形式为“:类名”

 类的属性分栏定义了所有属性的特征

 对象则只定义了属性的当前值,以便用于测试用例或例子中

 类中列出了操作

 对象图中不包括操作,因为对于同属于同一个类的对象而言,其操作是相同的。

 类使用关联连接,关联使用名称、角色、多重性以及约束等特征定义。类代表的是对对象的分类所以必须说明可以参与关联的对象的数目

 对象使用链连接、链拥有名称、角色,但是没有多重性。对象代表的是单独的实体,所有的链都是一对一的,因此不涉及到多重性。



























附一张机房收费系统里面我的类图,第一次画的不太好,以后随着理解的深入还会慢慢完善。




【总结】

    UML的成功80%是因为类图,提到UML的时候有90%的人想到了类图,应用UML的时候100%应用了类图。如果说程序是一个人,那么类图就是这个人的躯体,动作语义是程序的灵魂。也就是说,只要有类图,一个程序已经基本成型了,看上去很像那么一回事了。UML在刻画程序的静态结构方面很成功,但是在刻画程序的动态语义时优势就没有那么明显了,所以每种图都有自己的适用范围,根据合适的时机用合适的图。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值