UML--静态图(类图、对象图、包图)

一、概述

类图、对象图和包图归类为静态图(也属于结构行为图)。
静态图显示了系统的静态结构,特别是存在事物的种类(例如类或者类型)的内部结构、相互之间的联系。尽管静态图可能包含具有或者描述暂时行为的事物的具体发生,但静态图不显示暂时性的信息。


二、类图

(一)概念
类图(Class Diagram)是描述类、接口、协作以及他们之间关系的图,用来显示系统中各个类的静态结构。
类图不仅显示系统内信息的结构,还描述系统内这些信息的行为。类图的一个重要目的是为其他图(如顺序图、交互图)定义一个基础。类图由多个类以及这些类之间的关系组成。

在系统设计阶段,类图直接引导面向对象的变成语言实现类。类图是生成代码的核心要图。
如果类图设计得好,整个系统的代码框架可以由类图自动生成,大大简化了系统编码所耗费的时间。因此,学会进一步利用类图,使得代码的编写变成一种自动化工作,而整个信息系统的建设中心都可以集中到分析设计上来。

(二)组成元素

1. 类
类(Class)是具有相似行为、属性和关系的一组对象的描述符,它分为三部分:名称、属性和操作(方法)
属性描述了类的一些特性,操作或者说方法是类要实现的事务。(名称是每个类必有的构成。)
很多时候,我们队操作的划分很难处理,例如充值这一操作,到底是划分到学生这一类中还是划分到卡这一类中。
这里我们就可以找到执行充值这一动作的人—学生。所以充值这一操作要划分到学生的类中。
这里写图片描述

(名称是每个类必有的构成。)
(属性可以有任意数目,也可以没有。)
(操作可以有任何数量或者根本没有。)

2. 接口
接口是在没有给出对象的实现和状态的情况下对对象行为的描述,接口包含操作但不包含属性,且他没有对外界可见的关联。
3. 协作
4. 关系
(1)依赖(Dependency)关系
依赖表示两个或多个模型元素之间语义上的关系。简单讲就是使用关系。
(2)泛化(Generalization)关系
继承。子类继承父类,就像孩子继承父亲的财产一样。
(3)关联(Association)关系
关联,就是两者之间具有关系,包括普通的联系、组合、聚合。
其中组合和聚合虽然都是整体-部分关系,但是要加以区分。组合是组成部分不可以单独成为个体,必须依赖于主体而存在。(例如,公司由部门组成,部门不能独立存在。)聚合恰恰相反,其部分可以独立存在。(例如,自行车由轮胎构成,轮胎是可以独立存在的)这就是聚合。
(4)实现(Realization)关系
一个类元描述了另一个类元的实现契约。例如,遥控器实现了电视机的换台接口。

@机房收费系统类图

这里写图片描述


三、对象图

(一)概念
对象图(Object Diagram)表示在某一时刻一组对象以及它们之间关系的图
(二)组成元素
1、对象图包含的元素:1、对象 2、连接 3、包
这里写图片描述
2、对象图建模过程
(1)确定参与交互的各对象的类。
(2) 确定类之间的关系,如依赖、泛化、关联和实现。
(3)针对交互在某特定时刻各对象的状态,使用对象图为这些对象建模。
(4) 建模时,根据建模的目标,绘制对象的关键状态和关键对象之间的连接关系。

@机房收费系统对象图
这里写图片描述


四、对象图与类图比较

类图对象图
类具有三个分栏:名称、属性、操作对象只有两个分栏:名称和属性
在类的名称分栏中只有类名对象的名称形式为“对象名:类名”,匿名对象的名称形式为“:类名”
类的属性分栏定义了所有属性的特征对象则只定义了属性的当前值,以便用于测试用例或例子
类中列出了操作对象图中不包括操作,因为对于同属于同一个类的对象而言,其操作是相同的
乐力只用关联连接,关联使用名称、角色、多重性以及约束等特征定义。
类代表的是对对象的分类,所以必须说明可以参与关联的对象的书数目
对象使用链连接,链拥有名称、角色,但是没有多重性。
对象代表的是单独的实体,所有的链都是一对一的,因此不涉及到多重性。

五、包图

(一)概念
包图(Package Diagram)是由包和包之间的关系构成,它是维护和控制系统总体结构的重要建模工具。

对复杂系统进行建模时,经常需要处理大量的类、接口、组件、节点和图,这时就有必要将这些元素进行分组,即把那些语义相近并倾向于一起变化的元素组织起来加入同一包,这样方便理解和处理整个模型。
( 二)设计原则
高内聚,低耦合
@机房收费系统包图
这里写图片描述

感谢阅读,欢迎指正,请顶!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨幂等

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值