UML
2022-05-05 12:07:14 0 举报
AI智能生成
UML是在开发阶段,说明、可视化、构建和书写一个面向对象软件密集系统的制品的开放方法。最佳的应用是工程实践,对大规模,复杂系统进行建模方面,特别是在软件架构层次,已经被验证有效。统一建模语言(UML)是一种模型化语言。模型大多以图表的方式表现出来。一份典型的建模图表通常包含几个块或框,连接线和作为模型附加信息之用的文本。这些虽简单却非常重要,在UML规则中相互联系和扩展。
作者其他创作
大纲/内容
简单介绍
类图
类名
洗衣机
属性
品牌名称
型号名称
序列号
容量
操作
开启
关闭
加衣物
对象图
对象是类的一个实例
用例图
从用户的观点对系统进行描述
用户
洗衣机
洗衣服
状态图
描述特定状态
婴儿
儿童
成年人
顺序图
系统的静态结构
过程1234567
活动图
时间顺序进行规划
协作图
系统各组成部分相互协作完成
构件图
软甲架构
部署图
计算机物理体系结构
其他
注释note
虚线连接
组成结构图
人
思想
身体
交互纵览图
顺序图加协作图
人、图书馆数据系统---借书
人、图书馆、保安---审核
借书完成
计时图
对象在某一阶段的时间
包图
几个类图组合成一个包
面对对象
常识
对象
类的一个实例
人是类,某个人是对象(身高、体重、年龄)
一些概念
对象具有自身的结构,也就是说它具有属性(特性)和行为。
对象的行为包括他所能执行的操作。
属性和操作合起来被称为特征。
符号约定
类名以大写字母开头
包含多个单词的类名每个单词的第一个字母都大写
特征(属性和操作)的名字以小写字母开式、
多个单词组成的特征名,所有的单词连接到一起,除了第一个字母小写,其他每个单词的第一个字母都大写
操作名的后面跟上一对括号
面对对象的概念
抽象
过滤掉对象的一部分特性和操作直到只剩下你所需要的属性和操作。
抽象是对于建模者来说最重要的技术,也就是说要搞清楚什么应该纳入模型中,什么应该舍去。
继承
家用电器
appliance
洗衣机、电冰箱、烤箱、收音机
洗衣机是家用电器的子类(subclass),家用电器是电冰箱的超类(superclass)
超类也可以继承其他超类,从而成为其他超类的子类
多态性
不同的类具有相同名称的操作,例如打开关闭等
每个类都能够自己知道如何执行相应的同名称(打开)操作。这就是多态性
封装
封装意味着对象和其他对象和外部世界隐藏了自己要做什么,因此他也被称为信息隐藏。
对象总要给外部世界提供一个接口,来初始化这些操作。
消息传递
一个对象发送一个操作消息(或请求)给另一个对象,接收消息的对象就执行这个操作。
消息传递之间通过对应的接口进行传输
关联
对象之间以某种形式发生联系
举例:开机是单向关联,结婚是双向关联。
一个类可以和多个其他的类关联。
聚集
聚集是对象之间的另一种关联。
聚集对象和它的组成对象之间具有强关联,这种聚集被称为组成。
运用面对对象
类的可视化表示
类:矩形表示一个类的图标,类名首字母大写。
包:用文件夹表示,名字是一个文本串
如果洗衣机WashingMachine(类)是家用品Househould(包)的一部分,那么这个类的名字为Household::WashingMashine.包名在左,类名在右。
属性
类的特征,描述了类的对象所具有的一系列特性值。一个类可以具有零个到多个属性。
单字属性名小写。如果属性名包含了多个字,这些字要合并,并且除了第一个字外其余字母要大写。属性名列表放在类名之下,并且和类名之间用分割线隔开。
WashingMachine
brandName
modeName
serialName
capacity
命名实例
对象名首字母小写,后面跟一个冒号,冒号后面是该对象所属的类名。并且整个名字要带下划线。
累的属性在该类的对象中都有具体值
还可以指明属性的附加信息。在类的图标里,可以指定每个属性值的类型。
浮点型、整数型、布尔型、字符串等
操作
类能做的事情,或者你能对类做的事情。和属性名的表示类似,单字操作名小写。如果包含了多个字,这些字要合并,并且除了第一个字外其余字首字母要大写。
操作名列表放在属性名列表之下,两者之间用分割线隔开。
可以为操作制定附加信息。在操作名后面的括号中可以说明操作所需要的参数和参数的类型。有一种操作叫函数,她在完成操作后要返回一个返回值。可以指明函数的返回值以及返回值的类型。
属性、操作和可视化表达
可以只给出类名,而将属性或者操作区空着。
只显示类的一部分属性和操作,可以在列表的后面加上三个小点“……”
构造型:是UML提供的拓展机制:它允许你创建新的模型元素已解决问题,构造型用双尖角括号《》扩出关键字来表示。
职责和约束
职责描述了类能做什么---也就是类的属性和操作能完成什么任务。
职责是消除二义性的一种非形式化的方法
约束是通过一种非常形式化的表他来施加约束,以使模型元素的语义定义更加明确。
附加注释
可以包含图形也可以包含文本
小结
UML的类图标是有一个矩形表示。类名字、属性、操作和职责都在区域中有各自的方框。
可以使用构造型来组织属性和操作名列表。可以使用类的省略表示法,只表示类的一部分属性和操作。
可以在类图标中制定属性的类型和初始值,还可以指明操作执行时所需要的参数和参数的类型。对于一个操作来说这些附加信息被称为型构。
关系
关联
关联上的约束
类之间的连接叫做关联
关联不只是一个类;连接另一个类那么简单。好几个类可以连接到同一个类。
有时,两个类之间的关联随后就有一个规则。可以通过关联线附近加注一个约束来说明这个规则
例如:银行职员为顾客提供服务,但是服务的顺序要依靠有序的排队进行。在模型中可以通过在顾客类附近加上一个花括号括起来的有序来说明这个规则(也就是指明约束)
另一种约束是OR,通过在两条关联线之间连一条虚线,虚线上标注OR来表示约束
例如:在高中生高考选专业时,选择专业或者商务。
关联类
与类相同,关联也具有自己的属性和操作。这称为关联类
关联类的可视化表示方式与一般的类相同,但是要用一条虚线把关联类和对应的关联线连接起来。
链
关联也有实例,如果一个特定的队员小丽一个特定的球队,那么两者之间的 小李 关系就叫做一个链
链的名字也要加下划线
多重性
表示多重性的方法是在参与关联的类附近的关联线上注明多重性数值。
例如,球员(5)---球队(1)
使用*来表示许多和多个。在一种语境中,两点代表Or(或)关系
例如1..*表示一对一个或者多个
分支主题
限定关联
当一个类的对象必须要选择规则中另一个类的特定对象来满足关联中的角色时,第一个类必须要依赖一个具体的属性值来找到正确的对象。这个属性值通常是一个标识符号,例如一个ID
它的符号是一个小型矩形框,把作为一对多多重性的一部分的类连在一起
自身关联
一个类可能和他自己发生关联,这样的关联被称为自身关联,
继承和泛化
在UML中用父类到子类之间的连线来表示继承关系。父类连线部分,指向父类的一端带有一个空心三角形箭头。这种连接类型的含义为 is a kind of (属于... ...的一种)
一个类可能没有父类,这种没有父类的被称为基类或根类
一个类也可以没有子类,没有子类的类被称为叶类
如果一个类恰好只有一个父类,这样的继承关系叫做单继承。如果一个类有多个父类,这样的继承就是多继承。
分支主题
0 条评论
下一页