资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,UML,结构,构造块,这些是基本,UML,建模元素(事物、关系和图),公共机制,达到特定目标的公共,UML,方法。,(,规格说明等,),构架,系统构架的,UML,视图。,(,可见性,完整性等,),5/18/2026,1,1,、,UML,构造块,物件,(,事物,),这些是建模元素本身。,(,结构、行为、分组、注释,),关系,这些把物件联系在一起,关系说明两个或多个物件是如何语义相关的。,(,依赖、关联、泛化、实现,),图,这些是,UML,模型的视图,它们展现物件的集合。(,9,种),5/18/2026,2,1,),UML,物件,UM L,物件可以分成:,结构物件,UML,模型的名词,如类、接口、协作、用例、活动类、组件、节点。,行为物件,UML,模型的动词,如交互、状态机。,分组物件,包,它用于把语义上相关的建模元素分组为内聚的单元。,注解物件,注解,它附加到模型以捕获特殊信息。,属性,用例,包,结点,状态,组件,类,操作,对象,属性,操作,接口,注释,5/18/2026,3,2,),UML,关系,关联,组合,(,组装,),聚合,(,聚集,),依赖,实现,泛化(继承,概括),5/18/2026,4,用,UML,对系统建模,1,、,UML,中的图:,用例图、类图、对象图、状态图、序列图、协作图、活动图、构件图、部署图共九种,用例图:用于显示若干角色,以及这些角色与系统提供的用例之间的连接关系。,类图:用来表示系统中的类和类之间的关系,它是对系统静态结构的描述。,对象图:是类图的变体,两者之间的差别在于,对象图表示的是类的对象实例,而不是真实的类。对象图是类图的一个范例。,序列图:用来反映若干个对象之间的动态协作关系,也就是随着时间的流逝对象之间是如何交互的。,协作图:和序列图的作用一样,反映的也是动态协作,除了显示消息变化称为交互,外,协作图还显示了对象和它们之间的关系,称为上下文有关。由于协作图或序列图都反映对象之间的交互,所以建模者可以任意选择一种反映对象间的协作,如果需要强调时间和序列,最好选择序列图,如果需要强调上下文相关,最好选择协作图。,状态图:是对类所描述事物的补充说明,它显示了类的所有对象可能具有的状态,以及引起状态变化的事件。,活动图:反映一个连续的活动流,相对于描述活动流来说,活动图更常用于描述某个操作执行时的活动状况。,构件图:用来反映代码的物理结构,部署图:用来显示系统中软件和硬件的物理架构,5/18/2026,5,用,UML,对系统建模,2,、,UML,模型:,包含用例模型,静态模型,动态模型共三种,用例模型:从用户角度描述系统需求,是所有开发活动的指南。包含:一或者多张用例图,静态模型:描述系统的元素与元素间的关系。包括:类图,对象图,构件图,部署图,动态模型:描述系统随时间发展的行为。包含:状态图,序列图,协作图,活动图,5/18/2026,6,5/18/2026,7,UML,中的图,类图,对象图,用例图,顺序图,协作图,状态图,活动图,构件图,实施图,5/18/2026,8,类图和对象图,面向对象的开发方法的基本任务是建立对象模型,是软件系统开发的基础。,UML,中的对象类图,(Class Diagram),与对象图,(Object Diagram),表达了对象模型的静态结构,能够有效地建立专业领域的计算机系统对象模型。,一、类图,,是面向对象模型的最基本的模型元素,用类图来描述。,类图,(Class diagram),由系统中使用的类以及它们之间的关系组成,是描述系统的一种图式,,分为长式和短式。类及类型名均用英文大写字母开头,属性及操作名为小写字母开头。常见类型有:,Char,Boolean,Double,Float,Integer,Object,Short,String,等。,类图是构建其它图的基础。,5/18/2026,9,小汽车,注册号:,String,日期:,Cardata,速度:,Integer,方向:,Direction,属性:类型,类名,操作,类名,对象是对象类的实例,(instance),用对象图来描述。对象图亦分长式和短式。,对象名,:,类名,属性,操作,对象名,类图与对象图,丁,一:作家,姓名,=,丁一,年龄,=30,丁一办公室中的,PC:,计算机,名称,=Dell 466,内存,=64,丁一家里的,PC:,计算机,名称,=,长城,PII MMX,内存,=64,对象图,5/18/2026,10,(1),属性,(,attribute,),属性用来描述类的特征,表示需要处理的数据。,属性定义:,visibility attribute-name:type=initial-value property-string,可见性 属性名:类型,=,缺省值,约束特性,其中:可见性,(,visibility),表示该属性对类外的元素是否可见。,分为:,public,(,+,),公有的,即模型中的任何类都可以访问该属性。,private,(,-,),私有的,表示不能被别的类访问。,protected,(,#,),受保护的,表示该属性只能被该类及其子类访问。,如果可见性未申明,表示其可见性不确定。,5/18/2026,11,(2),操作,对数据的具体处理方法的描述则放在操作部分,操作说明了该类能做些什么工作。操作通常称为函数,它是类的一个组成部分,只能作用于该类的对象上。,操作定义:,visibility operating-name(parameter-list):return-type property-,string,可见性 操作名(参数表):返回类型,约束特性,其中:可见性同上。,参数表:参数名:类型,,Parameter-name:type=default-value,返回类型:操作返回的结果类型。,类图的描述,5/18/2026,12,UML,中类的关系有关联,(association),、,聚集,(aggregation),、,泛化,(generalization),、,依赖,(depending),实现。,一、关联,关联是,表示,实例之间的结构关系,公司,员工,0.,*,顾 佣,0.*,工作于,管理,1.,*,工人,老板,0.1,图,A,顾佣关联,UML,中类之间的关系,依赖表示类之间的使用关系。泛化,(,概括,),表示一般类和特殊类之间的关系。关联和聚集都表示实例之间的结构关系。,5/18/2026,13,聚集是一种特殊的关联,它指出类间的“整体,-,部分”关系,。关联,又分为:,1,、聚集,(aggregation),聚集:整体类由部分类组成的关联,其中部分类可以独立于整体类而存在。,整体类,部分类,、组合 或组装,(composition),组装:整体类由部分类组成的关联,其中部分类不可以独立于整体类而存在。整体与部分同时存在。,整体类,部分类,窗口,工具框,显示区,标题,聚集,窗口,标题,工具框,显示区,组合关系,项目,人员,5/18/2026,14,三、泛化,泛化指出类之间的“一般与特殊关系”,即继承关系。父类与子类之间构成,类的分层结构,。,一般类,特殊,人员,教师,学生,抽象类,指没有实例的类,定义一些抽象的操作,即不提供实现方法的操作,只提供操作的特征。并附以,abstract,。,交叠泛,化,在继承树中,若存在某种具有公共父类的多重继承,称为是交叠,(overlapping),的。否则是,不交,的,(disjoint),。,完全泛,化,一般类特化出它所有的子类,称为完全泛化,记为,complete,。,不完全泛,化,即未特化出它所有的子类,称为是,不完全泛化,的,表示为,incomplete.,5/18/2026,15,三、泛化,complete,人,女人,男人,性别,完全泛化,交通工具,drive,(),汽车,drive,(),轮船,drive,(),drive,(),启动,轮子转动,drive,(),启动,螺旋浆,Person,驾驶,drive,(),是,抽象操作,泛化中的多态性,及带识别名称的泛化,propulsion,propulsion,overlapping,交通工具,重叠泛化,汽车,船,水陆两栖车,5/18/2026,16,继承性的实例,泛化关系,图 形,abstract,颜 色,中心位置,笔的粗细,移 动(),旋 转(),显 示(),abstract,2 维abstract,定位,填充类型,缩放,填充,多边形,边数,顶点数,显示,园,直径,显示,旋转,线,端点,显示,0 维abstract,点,显示,样条,控制点,显示,弧,半径,起始角,弧度角,显示,1,维,abstract,定位,缩放,维数,5/18/2026,17,OrderLine,Quantity:Integer,isSatisfied,1,*,1,*,1,*,Customer,name,address,CreditRating,(),Order,dataReceived,isPrepaid,number:String,dispatch,(),close,(),Personal Customer,creditCard,Corporate Customer,contactName,creditRating,creditLimit,remind,(),billForMonth,(),Employee,Product,0.1,+,LineItem,泛化关系,5/18/2026,18,用例建模技术,用于,描述系统的功能需求。,在宏观上给出模型的总体轮廓。,通过对典型用例的分析,使开发者能够有效地了解用户的需求。,用例建模概述,贸易经理,风险分析,设置边界,进行交易,交易估价,更新帐目,include,include,extend,营销人员,超越边界,评价,记帐系统,销售人员,用例图,5/18/2026,19,用例模型,(Use case model),用例模型描述的是外部执行者,(,Actor,),所理解的系统功能。它描述了待开发系统的功能需求。,它驱动了需求分析之后各阶段的开发工作,不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和检测所开发的系统,从而影响到开发工作的各个阶段和,UML,的各个模型。,用例模型,由,若干个,用例图构成,用例图中主要描述执行者和用例之间的关系。,在,UML,中,构成用例图的主要元素是用例和执行者及其它们之间的联系。,创建用例模型的工作包括:,定义系统、确定执行者和用例、描述用例、定义用例间的关系、确认模型。,5/18/2026,20,一、执行者,(Actor),执行者是指用户在系统中所扮演的角色。执行者在用例图中是用类似人的图形来表示,但执行者可以是人,也可以是一个外界系统。,注意:用例总是由执行者启动的。,供货,买饮料,取货款,客户,供货人,收银员,自动售货系统,5/18/2026,21,二、用例,二、用例,(use case),从本质上讲,一个用例是用户与计算机之间的一次典型交互作用。在,UML,中,用例被定义成系统执行的一系列动作(功能)。,用例有以下特点,:,用例捕获某些用户可见的需求,实现一个具体的用户目标。,用例由执行者激活,并将结果值反馈给执行者。,用例必须具有功能上的完整描述。,二、用例,5/18/2026,22,用例图的元素,用例图,用例图描述了系统的功能需求,它是从执行者的角度来理解系统,由“执行者”、“用例”和“用例之间的关系”,3,类模型元素构成,。,图中还有另外两种类型的连接,即,include,和,extend,关系,是两种不同形式的泛化关系。,用例,2,用例,A,用例,执行者,用例,1,用例,3,用例,B,include,include,extend,(a),(b),(c),include,表示一个用例使用另一个用例。,(,一定要先做,),如图,(b),要实现用例,1,2,必顺要先去实现用例,3,Extend,通过向被扩展的用例添加动作来扩展用例。,(,不是非要做的,如图,(c),实现用例,A,不一定必要先实现用例,B),5/18/2026,23,用例图实例,用例图实例,金融贸易系统,贸易经理,风险分析,设置边界,进行交易,交易估价,更新帐目,包含,包含,扩展,营销人员,超越边界,评价,记帐系统,销售人员,5/18/2026,24,例,1,建立项目与资源管理系统的,Use case,图,系统的主要功能是:项目管理,资源管理和系统管理。项目管理包括项目的增加、删除、更新。资源管理包括对资源和技能的添加、删除和更新。系统管理包括系统的启动和关闭,数据的存储和备份等功能。,1,、分析确定系统的执行者,(,角色,),项目管理员、资源管理员、系统管理员、备份数据系统。,项目管理,资源管理和系统管理。,2,、确定用例,3,、对用例进行分解,画出下层的,Use case,图,对上层的用例进行分解,并将执行者分配到各层次的,Use case,图,中。,角色:,角色职责:,角色职责识别:,角色描述模板,还,应画出,相应的执行者描述模板及用例描述模板。,5/18/2026,25,例,1,项目与资源管理系统(,PRMS,),添加技能,删除技能,更新技能,资源管理员,添加资源,删除资源,更新资源,查找技能,包含,查找资源,包含,包含,包含,把技能指,定给资源,从资源中,清除技能,Extend,Extend,资源管理,Use Case,图,Use Case,图可以自顶而下不断精化,抽象出不同层次的,Use Case,图。,系统管理员,项目管理员,资源管理员,资源管理,项目管理,系统管理,备份系统,PRMS,高层,Use Case,图,5/18/2026,26,例,1,项目与资源管理系统(,PRMS,),项目,管理员,添加项目,删除项目,更新项目,添加活动,删除活动,更新活动,查找项目,Use,添加任务,Use,把技能指,定给资源,从资源中,清除技能,Extend,Extend,删除任务,更新任务,Extend,Extend,Extend,Extend,Extend,Extend,项目管理,Use Case,图,系统管理员,系统管理,Use Case,图,添加技能,存储数据,启动系统,关闭系统,查找技能,Use,Use,Use,备份资,源数据,备份项,目数据,Extend,Extend,Use,备份数据,备份系统,5/18/2026,27,顺序图存在两个轴,:,水平轴表示一组对象,垂直轴表示时间。,顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。,对象间的通信通过在对象的生命线之 间消息来表示,消息的箭头类型指明消息的类型。,2.5.5,顺序图,(,序列图,),顺序图,(Sequence Diagram),用来描述对象之间动态的交互行为,着重体现对象间,消息传递的时间顺序,。,对象图,一、,概述,5/18/2026,28,当收到消息时,接收对象立即开始执行活动,即对象被激活了,通过在对象生命线上显示一个细长矩形框来表示激活。,二、,消息,5/18/2026,29,:Computer,:Printer Server,:Printer,:Queue,Print(file),Printer free,Print(file),Printer busy,Store(file),带分支的顺序图,:C1:c,:D1:D,:D2:D,Op(),Op2(),Op3(),Op4(),有循环标记的顺序图,Send message op2,until,5/18/2026,30,呼叫者,交换,接受者,拿起,话筒,响,拨号声,拨号码,路由,选择,鸣响音,停音,响铃声,接,电话,停,铃声,A,B,C,D,E,B-A1S,C-B10S,通过网络选择通话路径,E-D,保险服务器,保险系统配置,配置,保险系统的配置图,配置图各结点之间进行交互的通信路径称为连接,连接表示系统中的结点存在着联系,用结点之间的的连线表示连接,在连接的连线上要标注通信类型。,如图,.,5/18/2026,55,
展开阅读全文