UML(教学课件)PPT文件格式下载.ppt
《UML(教学课件)PPT文件格式下载.ppt》由会员分享,可在线阅读,更多相关《UML(教学课件)PPT文件格式下载.ppt(55页珍藏版)》请在冰豆网上搜索。
类图:
用来表示系统中的类和类之间的关系,它是对系统静态结构的描述。
对象图:
是类图的变体,两者之间的差别在于,对象图表示的是类的对象实例,而不是真实的类。
对象图是类图的一个范例。
序列图:
用来反映若干个对象之间的动态协作关系,也就是随着时间的流逝对象之间是如何交互的。
协作图:
和序列图的作用一样,反映的也是动态协作,除了显示消息变化称为交互外,协作图还显示了对象和它们之间的关系,称为上下文有关。
由于协作图或序列图都反映对象之间的交互,所以建模者可以任意选择一种反映对象间的协作,如果需要强调时间和序列,最好选择序列图,如果需要强调上下文相关,最好选择协作图。
状态图:
是对类所描述事物的补充说明,它显示了类的所有对象可能具有的状态,以及引起状态变化的事件。
活动图:
反映一个连续的活动流,相对于描述活动流来说,活动图更常用于描述某个操作执行时的活动状况。
构件图:
用来反映代码的物理结构部署图:
用来显示系统中软件和硬件的物理架构11/4/20225用UML对系统建模2、UML模型:
包含用例模型,静态模型,动态模型共三种用例模型:
从用户角度描述系统需求,是所有开发活动的指南。
包含:
一或者多张用例图静态模型:
描述系统的元素与元素间的关系。
包括:
类图,对象图,构件图,部署图动态模型:
描述系统随时间发展的行为。
状态图,序列图,协作图,活动图11/4/2022611/4/20227UML中的图类图对象图用例图顺序图协作图状态图活动图构件图实施图11/4/20228类图和对象图面面向向对对象象的的开开发发方方法法的的基基本本任任务务是是建建立立对对象象模模型型,是是软软件件系系统统开开发发的的基基础础。
UML中中的的对对象象类类图图(ClassDiagram)与与对对象象图图(ObjectDiagram)表表达达了了对对象象模模型型的的静静态态结结构构,能能够够有效地建立专业领域的计算机系统对象模型。
有效地建立专业领域的计算机系统对象模型。
一一、类类图图,是是面面向向对对象象模模型型的的最最基基本本的的模模型型元元素素,用用类类图图来来描描述述。
类类类类图图图图(Class(Classdiagram)diagram)由由系系统统中中使使用用的的类类以以及及它它们们之之间间的的关关系系组组成成,是是描描述述系系统统的的一一种种图图式式,分分为为长长式式和和短短式式。
类类及及类类型型名名均均用用英英文文大大写写字字母母开开头头,属属性性及及操操作作名名为为小小写写字字母母开开头头。
常常见见类类型型有有:
Char,Boolean,Double,Float,Integer,Object,Short,String等。
等。
类图是构建其它图的基础。
11/4/20229小汽车小汽车小汽车小汽车注册号:
注册号:
StringString日期:
日期:
CardataCardata速度:
速度:
IntegerInteger方向:
方向:
DirectionDirection属性:
类型属性:
类型类名类名类名类名操作操作操作操作类名类名类名类名对象是对象类的实例对象是对象类的实例(instance),用对象图来描述。
对象用对象图来描述。
对象图亦分长式和短式。
图亦分长式和短式。
对象名对象名对象名对象名:
类名类名类名类名属性属性属性属性操作操作操作操作对象名对象名对象名对象名类图与对象图类图与对象图丁丁丁丁一:
作家一:
作家姓名姓名姓名姓名=丁一丁一丁一丁一年龄年龄年龄年龄=30=30丁一办公室中的丁一办公室中的丁一办公室中的丁一办公室中的PC:
PC:
计算机计算机计算机计算机名称名称名称名称=Dell466=Dell466内存内存内存内存=64=64丁一家里的丁一家里的丁一家里的丁一家里的PC:
计算机计算机计算机计算机名称名称名称名称=长城长城长城长城PIIMMXPIIMMX内存内存内存内存=64=64对象图对象图11/4/202210
(1)
(1)
(1)
(1)属性属性属性属性(attribute)属性用来描述类的特征,表示需要处理的数据。
属性用来描述类的特征,表示需要处理的数据。
属性定义:
visibilityattribute-name:
type=initial-valueproperty-visibilityattribute-name:
type=initial-valueproperty-stringstring可见性可见性可见性可见性属性名:
类型属性名:
类型=缺省值缺省值缺省值缺省值约束特性约束特性约束特性约束特性其中:
可见性其中:
可见性(visibility)表示该属性对类外的元素是否可见。
表示该属性对类外的元素是否可见。
分为:
public(+)公有的,即模型中的任何类都可以访问该属性。
公有的,即模型中的任何类都可以访问该属性。
private(-)私有的,表示不能被别的类访问。
私有的,表示不能被别的类访问。
protected(#)受保护的,表示该属性只能被该类及其子类受保护的,表示该属性只能被该类及其子类访问。
访问。
如果可见性未申明,表示其可见性不确定。
11/4/202211
(2)
(2)
(2)
(2)操作操作操作操作对数据的具体处理方法的描述则放在操作部分,操作说明了对数据的具体处理方法的描述则放在操作部分,操作说明了该类能做些什么工作。
操作通常称为函数,它是类的一个组成部该类能做些什么工作。
操作通常称为函数,它是类的一个组成部分,只能作用于该类的对象上。
分,只能作用于该类的对象上。
操作定义:
visibilityoperating-name(parameter-list):
return-typeproperty-string可见性可见性可见性可见性操作名(参数表):
返回类型操作名(参数表):
返回类型约束特性约束特性约束特性约束特性其中:
可见性同上。
其中:
参数表:
参数名:
类型,参数表:
类型,Parameter-name:
type=default-value返回类型:
操作返回的结果类型。
返回类型:
类图的描述11/4/202212UML中类的关系有关联中类的关系有关联(association)、聚集聚集(aggregation)、泛化泛化(generalization)、依赖依赖(depending),实现。
实现。
一、关联一、关联一、关联一、关联关联是关联是表示表示实例之间的结构实例之间的结构关系关系公司公司员工员工0.*顾顾佣佣0.*工作于工作于管理管理1.*工人工人老板老板0.1图图AA顾佣关联顾佣关联UMLUML中类之间的关系中类之间的关系依赖表示类之间的使用关系。
依赖表示类之间的使用关系。
泛化泛化(概括概括)表示一般类和特殊类之间的关系。
表示一般类和特殊类之间的关系。
关联和聚集都表示实例之间的结构关系。
11/4/202213聚集是一种特殊的关联,它指出类间的聚集是一种特殊的关联,它指出类间的“整体整体-部分部分”关系关系。
关联。
关联又分为:
又分为:
11、聚集、聚集、聚集、聚集(aggregation)(aggregation)聚集:
整体类由部分类组成的关联,其中部分类可以独立于整聚集:
整体类由部分类组成的关联,其中部分类可以独立于整体类而存在。
体类而存在。
整体类整体类部分类部分类、组合、组合、组合、组合或组装或组装或组装或组装(composition)(composition)组装:
整体类由部分类组成的关联,其中部分类不可以独立于组装:
整体类由部分类组成的关联,其中部分类不可以独立于整体类而存在。
整体与部分同时存在。
整体类而存在。
整体类整体类部分类部分类窗口窗口工具框工具框显示区显示区标题标题聚集聚集窗口窗口标题标题工具框工具框显示区显示区组合关系组合关系项目项目人员人员11/4/202214三、泛化三、泛化三、泛化三、泛化泛化指出类之间的泛化指出类之间的“一般与特殊关系一般与特殊关系”,即继承关系。
父,即继承关系。
父类与子类之间构成类与子类之间构成类的分层结构类的分层结构类的分层结构类的分层结构。
一般类一般类特殊特殊人员人员教师教师学生学生抽象类抽象类抽象类抽象类指没有实例的类,定义一些抽象的操作,即不提供指没有实例的类,定义一些抽象的操作,即不提供实现方法的操作,只提供操作的特征。
并附以实现方法的操作,只提供操作的特征。
并附以abstract。
交叠泛交叠泛交叠泛交叠泛化化化化在继承树中,若存在某种具有公共父类的多重继在继承树中,若存在某种具有公共父类的多重继承,称为是交叠承,称为是交叠(overlapping)的。
否则是的。
否则是不交不交不交不交的的(disjoint)。
完全泛完全泛完全泛完全泛化化化化一般类特化出它所有的子类,称为完全泛化,记一般类特化出它所有的子类,称为完全泛化,记为为complete。
不完全泛不完全泛不完全泛不完全泛化化化化即未特化出它所有的子类,称为是即未特化出它所有的子类,称为是不完全泛化不完全泛化不完全泛化不完全泛化的,表示为的,表示为的,表示为的,表示为incomplete.11/4/202215三、泛化三、泛化三、泛化三、泛化complete人人女人女人男人男人性别性别完全泛化完全泛化交通工具交通工具drive()汽车汽车drive()轮船轮船drive()drive()启动启动轮子转动轮子转动drive()启动启动螺旋浆螺旋浆Person驾驶驾驶drive()是是抽象操作抽象操作泛化中的多态性泛化中的多态性及带识别名称的泛化及带识别名称的泛化propulsionpropulsionoverlapping交通工具交通工具重叠泛化重叠泛化汽车汽车船船水陆两栖车水陆两栖车11/4/202216继承性的实例继承性的实例泛化关系泛化关系图图形形abstract颜颜色色中心位置中心位置笔的粗细笔的粗细移移动()动()旋旋转()转()显显示示()()abstract2维维abstract定位定位填充类型填充类型缩放缩放填充填充多边形多边形边数边数顶点数顶点数显示显示园园直径直径显示显示旋转旋转线线端点端点显示显示0维维abstract点点显示显示样条样条控制点控制点显示显示弧弧半径半径起始角起始角弧度角弧度