跟我学统一建模语言UML——软件系统概要设计中所涉及的UML类图实现示例
时间:2025-03-09
时间:2025-03-09
跟我学统一建模语言UML——软件系统概要设计中所涉及的UML类图实现示例
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
1.1跟我学统一建模语言UML——软件系统概要设计中所涉及的UML类图实现示例
1.1.1UML类图
1、UML类图
(1)类图
类是面向对象模型的最基本的模型元素。类图表达为了实现某一用例中的一组对象类之间的静态结构,以及它们之间的联系和交互。
(2)类图的作用
主要体现在描述结构和联系:类图描述系统中类的静态结构,它不仅定义系统中的类,表示类之间的联系(关联、依赖、聚合等),还包括类的内部结构(类的属性和操作)。(3)类与类之间的联系
类与类之间的联系可以分为两种:结构性联系(静态联系)和行为性联系(动态联系)。
1)结构性联系指类的继承与派生、父类与子类间的聚合、组合、泛化/特化等。
2)行为性联系指类之间可以通过消息联系,通过系统预定义或用户自定义的语义联
系。
(4)类的UML的图示
类是对象的集合,这些对象有共同的结构特征、行为特征、联系和语义;在UML中类的图形表示为实线矩形框。
但要注意的是:
在类图中不一定要列出全部的成员内容。如在建立分析模型或设计模型时,可以只列出类名,在图中只需要着重表达类之间的联系;在建立实现模型时,再在类图中给出类的组成成员属性和操作方法等方面的详细内容。如下图所示:
杨教授大学堂,版权所有,盗版必究。1/20页
跟我学统一建模语言UML——软件系统概要设计中所涉及的UML类图实现示例
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
2、类中的属性成员及其UML的图示
(1)属性(成员变量)
类中的成员属性表示的形式为:可视性属性名(多重性):类型=初始值
其中的可视性可以为:公共、保护和私有三种不同的形式,而类型也就是数据类型,依赖于所选择的编程实现的语言。
(2)类的static成员属性
所应该注意的是,对类的成员属性也就是static成员属性在类图中的表示为带下划线的形式。如下面的Compute类中的“oneUSBDevice”成员属性的表示方式。
杨教授大学堂,版权所有,盗版必究。2/20页
跟我学统一建模语言UML——软件系统概要设计中所涉及的UML类图实现示例
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
杨教授大学堂,版权所有,盗版必究。 3/20页
3、类中的方法成员及其UML 的图示
(1)类中的操作(成员方法)
操作是类的行为特征或动态特征,用于对服务或实体相关的操作建模。一个类可以有操作并且可以允许有多个不同的操作,当然也可以没有。没有一个功能操作方法的类经常用于表达数据。
功能操作方法在类图中位于最底部,同时用文字串说明。其表示为:
可视性 操作名(参数列表):返回列表{性质}
注意:
操作在实现阶段经常用函数完成,例如,+carDrive(speed :Integer, direction:Direction)。
(2)类中的操作的类型
1) 实现者操作(Implementor operations ):实现一些业务功能。实现者操作可从交互图
中找到。
2) 管理者操作(Manager operations ):管理对象的生成和构造。例如,类的构造器和
删除器。
3) 访问操作(Access Operations ):属性通常是专用或保护的,但其他类可能要浏览或
改变某个类的属性,可以通过访问操作实现。 应该,通过对每个属性建立Get 和Set 操作来实现。
4、类的职责 类的职责主要指的是类所担任的任务,类的设计要完成什么样的功能,要承担的义务。一个类可以有多种不同的职责,设计得好的类一般至少有一种职责,在定义类的时候,将类的职责分解成为类的属性和方法。
跟我学统一建模语言UML——软件系统概要设计中所涉及的UML类图实现示例
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
通常在UML中在类图的最下方用单独的部分列出类的职责,类的职责其实只是一段或多段文本描述。
5、类的关联(Association)
(1)关联的含义
关联是一种结构化的关系,指一种对象和另一种对象有联系。它是对具有共同结构特性、行为特性、关系和语义的链接的描述。
(2)关联的UML图示
在UML的类图中,关联用一条实线将类连接在一起。如果是单向关联,则在关联端加箭头表示方向。如果是双向关联则不用。
(3)关联的重数
由于关联有两元关系和多元关系。而两元关系是指一种一对一的关系,多元关系是一对多或多对一的关系。
杨教授大学堂,版权所有,盗版必究。4/20页
跟我学统一建模语言UML——软件系统概要设计中所涉及的UML类图实现示例
杨教授大学堂精心创作的优秀程序员职业提升必读系列资料
并且在关联端可以标出关联中的数量关系——重数(多重性)。关联端的多重性规定该类中有多少个对象参与该关联。常用的有
1)“0..1”:表示零到1个对象
2)“1”:表示1个对象
3)“0..*或者*”:表示零到多个对象
4)“5..17”:表示5 到17个对象