ImageVerifierCode 换一换
格式:PPT , 页数:72 ,大小:984.50KB ,
资源ID:13362745      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/13362745.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(UML建模 (7).ppt)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

UML建模 (7).ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,5,章,UML,类图,软件学院:宋 波,20,11,20,12,学年,第,1,学期,软件工程专业,(2009,级全日制本科,),知识点,类的定义,类规范与类的应用,属性、操作规范与应用,关联关系、关联规范与应用,泛化关系、泛化规范与应用,依赖关系、依赖规范与应用,聚集关系、聚合规范与应用,学习目标,掌握类图的基本概念,掌握类图的

2、基本操作,掌握类规范与类的应用,掌握属性规范与应用、操作规范与应用,掌握关联规范与应用、泛化规范与应用,掌握依赖规范与应用、聚合规范与应用,掌握逻辑包规范与应用,课堂练习:,画出模型图,能正确表示出以下要求:,一个雇员最多有一个经理;,经理管理多个雇员;,经理不管理任何雇员。,Employee,Manager,0.n,1,5.4,聚集和组成关系,关联关系的基本形式是,双向的,,这表明关联关系两端的类的,地位是平等,的。,关联关系又是一种,结构,关系,其中的,角色,代表着一个类的对象在另一个类中的,存在,,即类中的对象是相互拥有的。,当需要打破这种平等关系,而强调类与对象之间有向的拥有关系时,可

3、以用,聚集,或,组成,关系对,关联,关系进行修饰,以表示类和对象之间的,拥有,关系。,5.4.1,聚集关系,聚集用端点带有,空心菱形,的线段表示,空菱形,与聚集类相连接,箭头的方向,是从,部分,指向,整体,。,聚集(,Aggregation,)是表示两个类之间的,整体,与,部分,的关系,表明聚集关系中的,客户端,是以,供应端的类的对象,作为其一部分。,在聚集关系的客户端的类被称为,聚集类,,聚集类的实例是聚集对象。,位于聚集关系的供应端的类的实例是被聚集对象,包含,或,拥有,的部分;,如果两个类具有聚集关系,则表示其中的,聚集对象,在物理上是由其他对象构造而来的,或逻辑上包含另一个对象,,聚集

4、对象,具有其部分的所有权。,生成的,Java,源代码,public class circle,private double radius;,public style theStyle;,public class style,private Color color;,private Boolean isFilled;,public circle theCircle;,没有添加角色名,CPU,1,个人计算机,音箱,主机,键盘,鼠标,显示器,1,1,1,1,1,2,磁盘驱动器,声卡,显卡,内存,连接到,1,1,*,1,2,1,实例,实例,在上个例子中的每个部分都属于一个整体,但聚集的关系并不是只有这

5、种情况。,例如:在一个家庭影院系统中,电视机和影碟机可以共用一个遥控器,那么这个遥控器既是电视机的组成部分,也是影碟机的组成部分。,聚集上的约束,有时一个聚集体可能有多种部分体组成,这些部分体之间是,“,Or”,关系。,我们在两个整体部分关系线之间加上一花括号括起来的,“,Or”,来表示这个,约束,,并用,虚线,连接这两个关系线。,实例,一顿饭,汤,沙拉,主食,甜点,1,1,1,1,1,or,5.4.2,组成关系,组成(,Composition,)表示的也是类之间的整体与部分的关系。,组合关系中的整体与部分具有相同的,生存周期,,即,整体,不存在了,,部分,也会随之消失。,组合是一种特殊形式的

6、聚集。,组成关系,组合用端点带有实心菱形的线段表示,实心菱形与组合类相连接,箭头的方向是从部分指向整体。,组成,组成是强类型的聚集。组成中的每个部分体只能属于一个整体。,咖啡桌,桌腿,桌面,1,1,1,课堂练习:,沈阳师范大学是由多个学院组成。,在,Windows,操作系统下,窗口是由菜单和按钮组成的。,课堂练习:,一个电子邮件消息由邮件头、邮件体和未指明数目的附件构成的。描述它们之间的关系。,5.5,泛化关系,泛化用从,子类,指向,父类,的箭头表示,指向父类的是一个,空三角形,。,在,父类,中已经定义的属性和操作,在,子类,中不需要再定义。,UML,中的泛化可以直接映射为,Java,语言的,

7、extends,关键字。,单重继承关系,Java,源代码,public class phoneCard,public class NoneNumPhoneCard,extends,phoneCard ,public class NumPhoneCard,extends,phoneCard ,5.6,依赖关系,Course(,课程,),类是独立的供应者,Schedule(,课程表,),类是依赖于,Course,类的客户类,课程表类的操作,add,和,remove,都使用了课程类中的数据,课程类是这两个操作的参数的类型,一旦课程发生变化,课程表也要随之改变。,5.6,依赖关系,两个类之间的,依赖,

8、Dependency),关系表明其中的一个类,(,客户类,课程表,),依赖于另一个类,(,供应类,课程,),所提供的,某些,服务,。,UML,中的依赖关系表示为一个,带虚线,的箭头,箭头所指向的类是,供应类,(,被依赖的类,),,箭头的出发点的类是,客户类,。,接口,接口是一系列,操作,的集合,它指定了一个,类,,或者一个,部件,所能提供的,服务,。,接口只能拥有操作,不能拥有属性。,接口可以用一个类图标表示。,接口名前可以带有构造型,,以与类的省略表示形式相区别。,接口也可以用一个,小圆,表示,在圆的下面是,接口的名字,。,实现,接口强调的是类的,外部行为规范,,它不强调此动态行为的,实现

9、方法,。,在,UML,中,如果要描述某个类实现了给定的接口,就可以使用,实现,(Realization),关系。,实现,实现,关系是用一个以,空心三角形,为终点的,虚线,箭头,箭头指向的分类符是,接口,或,用例,。,实现关系还有一种图形表示形式,它只用于接口的图标表示法,,实现,关系被绘制为一条连接接口或部件的,实线,。,实现关系,Java,源代码,public interface shapes,public abstract Double getArea();,public abstract Double getCircum();,Java,源代码,class circle implemen

10、ts shapes,private double radius;,public Double getArea(),return null;,public Double getCircum(),return null;,Java,源代码,class square implements shapes,private Integer width;,private Integer height;,public Double getArea(),return null;,public Double getCircum(),return null;,5.8,抽象类,没有具体对象的类称为,抽象类,(Abst

11、ract Class),。,抽象类一般作为,父类,,用于描述其他类,(,子类,),的公共属性和行为。,5.8,抽象类,抽象类中一般都带有抽象方法,:,抽象方法,是用来描述抽象类的所有,子类,应具有什么样的行为,抽象方法只标记出,返回值、方法的名称和参数表,,方法的,具体实现细节,并不详细地书写出来,而是由继承抽象类的,子类,来实现。,抽象类的子类一定要实现抽象类中的抽象方法,否则这个子类仍然是一个,抽象类,。,抽象类,Java,源代码,public abstract class Vehicle,public abstract Void run();,public class Ship exte

12、nds Vehicle,public void run(),return null;,public class Car extends Vehicle,public void run(),return null;,接口与抽象类的区别,接口只能拥有,操作,,不能拥有,属性,;,而抽象类可以含有,属性,,接口中声明的所有方法都没有,实现部分,,而抽象类中某些方法可以有,具体的实现,。,课堂练习:阅读抽象类,边界类,边界类是描述,系统,与,参与者,之间交互的抽象要素。,边界类只是对系统与参与者之间交互的,抽象建模,,并不表示交互的具体内容及交互界面的具体形式。,边界类,边界类,位于系统与外界的交界处

13、窗体(,Form,)、对话框(,Dialog Box,)、以及表示通信协议(例如,,TCP/IP,)的类、直接与外部设备交互的类、直接与外部系统交互的类等都是边界类的例子。,边界类,对于每一个,参与者,,都应该至少设置一个,边界类,,以表示参与者与系统所进行的交互处理。,如果这个参与者与系统存在频繁的交互,并且各个交互内容之间不存在较密切的关系,就需要为,这个参与者,的每一种交互内容设置一个,边界类,。,实体类,实体类是系统表示,客观实体,的抽象要素。,像书店信息系统中的“书目”、“书单”等都属于实体类。,实体类保存的是放进,持久存储体,的信息:,所谓持久存储体是指像,数据库系统,、,文件

14、等可以永久存储数据的介质。,实体类,一般地,每个,实体类,在数据库中有对应的,表,,实体类中的,属性,对应数据库中表的,字段,。,但这并不意味着实体类和数据库中的表是一一对应的。,有可能是,一个实体类,对应,多个表,,也可能是,多个实体类,对应,一个表,。,控制类,控制类是负责其他类工作的类。,每个用例,通常有,一个控制类,,控制用例中的事件发生顺序。,控制类也可以在多个用例间共用。其他类并不向控制类发送消息,而是由控制类发出很多消息。,“出售图书”控制类,总结:,类图中的组成元素:,类、接口、协助、关系、注释、约束和包;,关系把类、协作、接口连接在一起构成一个图;,约束是对某些类和接口进行

15、约束。,类的种类:,抽象类,不能直接实例化的类;,接口,接口中的方法都是抽象方法;,关联类,它的属性与两个都有关,但都不属于其中的一个;,模板类,(,参数化类,),在类实例化时,再确定参数的类型;,主动类和嵌套类。,5.10,类图建模,类图建模需要反复执行以下两个步骤:,确定类及其关联。,确定属性和操作。,1.,确定类和关联,(,1,)可以通过分析用例图确定类及其关联。通过图,3.8,的用例图分析,可以确定,Grades,和,ReportCards,两个类。,1.,确定类和关联,(,2,)通过用例图中的参与者名称,可以确定,Teacher,、,Student,和,Administrator,三

16、个附加类。,(3),检查用例图中各个用例(功能)所属的类:,发布学生成绩报告单,Grades,类。,输入成绩,Grades,类。,更新成绩,Grades,类。,保存成绩,Grades,类。,加载成绩,Grades,类。,查询成绩,Grades,类。,生成学生成绩报告单,ReportCards,类。,系统登录,Login,类。,(,4,)创建类之间的关联:,Teacher,发布,Grades,。,Teacher,输入,Grades,。,Teacher,更新,Grades,。,保存,Grades,。,加载,Grades,。,Teacher,查询,Grades,。,Student,查询,Grades

17、Administrator,查询,Grades,。,Administrator,生成,ReportCards,。,归类为,Teacher,维护,Grades,归类为,Grades,类的私有操作,Grades,类提供查询成绩操作,Grades,类与,ReportCards,类是组成关系,系统的类之间的关联如下,Teacher,维护,Grades,。,Login,允许访问一个,WebSite,。,WebSite,显示,Grades,。,Teacher,通过,Login,查询,Grades,。,Administrator,通过,Login,查询,Grades,。,Administrator,生

18、成,ReportCards,。,Student,通过,Login,查询,Grades,。,Grades,类与,ReportCards,类之间是组成关系。,学生成绩系统的类模型,1,2,3,4,5,6,7,8,(,6,)标识出类关联之间的多重性,一个,Teacher,至少维护一个,Grades,一个,Grades,只由一个,Teacher,维护,一个,Grades,只包含在一个,ReportCards,中,一个,ReportCards,至少包含一个,Grades,一个,Administrator,至少生成一个,ReportCards,一个,ReportCard,只由一个,Administrato

19、r,生成,学生成绩系统的类模型,2,确定属性和操作,(,1,),Grades,类,输入成绩,InputGrades(),更新成绩,UpdateGrades(),分发成绩,Distribute(),存储成绩,SaveGrades(),加载成绩,LoadGrades(),(,2,),ReportCard,类,生成学生成绩报告单,Generate(),(,3,),WebSite,类,用户名,UserName,用户密码,Password,登录功能,Login(),查询成绩,ViewGrades(),学生成绩系统的类模型,综合案例分析:,沈阳:张三,电子商务网站,北京蛋糕店,北京:李四,订货人,电子商务

20、网站,各地蛋糕店,收货人,订货人,网站,商户,收货人,收货人,送货单,商户,订单项,怎样阅读,UML,类图,重点把握三项内容:类、关系、多重性。阅读顺序应遵循的原则:,首先搞清楚每个类的语义;,其次理解类间关系;,第三,结合多重性来理解类图的结构特点以及个个属性和方法的含义。,1.,理解类的语义,该类图包含,7,个类:,order(,订单,),,,orderitlm(,订单项,),customer(,顾客,),consignee(,收货人,),delierorder(,送货单,),peddlery(,商户,),product(,产品,),且每个类都定义了若干属性和方法。,2.,分析类关系,关系

21、包含关联,(,包括聚合、组合,),、泛化、实现、依赖四种,在类图中,类之间存在的关系通常就包括这几种。,阅读类图时,从图中最复杂的类开始。在本例中,这个类就是,oeder(,订单,),。然后逐一地分析该类与其他类之间的关系。,(1)order,与,orderitlm,之间是组合关系,根据箭头的方向可知是,orderitlm,组合为,order,。即,order,包含了,orderitlm,。,(2)order,和,customer,、,consignee,、,deliverorder,是关联关系,即一个订单和客户、收货人、送货单是相关的。,第二复杂关系的类就是,deliverorder(,送货

22、单,),,和它相关的也有,4,个类:,order,、,orderltem congsinee,、,peddlery,,即表示送货单与订单是相关的,同时还关联到订单项。另外,它与商户、收货人的关联关系也是很显然的。,分析完这两个类之后,会发现图中的几乎所有的关系都已经明了,只剩下一个,product,(产品),与它关联的类是,peddlery,和,orderltem,,显然产品属于某个商户的,订单项中必须指出是哪种商品。,3.,分析关联的多重性,order,类包含了两个方法:,dispatch(),和,close(),,它们分别实现“分拆订单生成送货单“和”完成订单“,而在,deliveorde

23、r(),类中有一个,close(),方法,同理它表示”完成订单“。,在,orderitem,中有一个,statechange(),方法和,deliverstate,,它们是用来改变其”是否交给收货人“标志位的。,阅读:先调用,order,的,dispatche(),方法,它将根据包含的,orderitem,中的产品信息来按供应商分拆成若干个,deliverorder,。商户登录系统后即可获取,deliverorder,,并执行完后调用,close(),方法。,这时,将调用,orderitem,的,statechange(),方法来改变其状态。,同时,再调用,order,的,close,方法。判

24、断该,order,的所有的,ordeitem,是否都送到了,如果是就其,close(),掉。,源类,目标类,关联分析,Customer(1),Order(0,n),订单是属于某个客户的,网站的客户可以有,0,个或多个订单,Order(1),Consignee(1),每个订单只能够有一个收货人,Order(1),OrderItem(1,n),订单是由订单项组成的,至少要有一个订单项,最多可以有,n,个,Order(1),DeliverOrder(1,n),一个订单有一个或多个送货单,说明:系统根据订单项的产品所属的商户,将其分发给商户,拆成了多个送货单!,DeliverOrder(1),Orde

25、rItem(1,n),一张送货单对应订单中的一到多个订单项,DeliverOrder(1),Consignee(1),每张送货单都对应着一个收货人,Peddlery(1),DeliverOrder(0,n),每个商户可以有相关的,0,个或多个送货单,OrderItem(1),Product(1),每个订单项中都包含着唯一的一个产品,Peddlery(1),Prodcut(0,n),产品是属于某个商户的,可以注册,0,到多个产品,4,关联的导航性,对象的消息只能沿着导航箭头的方向发送给另一对象。,可以从对象,order,向,consignee,导航,但不能从,consignee,向,Order,

26、导航。即在,Order,中可以获取其相应的,Consignee,,而从,Consignee,不能了解,Order,。,总 结,离开了类之间的关系,类模型仅仅只是一堆代表领域词汇的杂乱矩形方框。,关系说明这些词汇表达的概念之间的连接,这样才能完整地说明我们所建模的对象。,关联是类之间最基础的概念性连接。关联的多重性说明了一个类的多少个对象能够和另一个类的单个对象发生联系。和类一样关联也可以有自己的属性和操作。,总 结,一个类可以继承其他类的属性和操作。继承了属性和操作的了叫子类,被继承的类叫父类或超类。通过在初步类模型中寻找不同类的共同属性和操作可以发现类之间的继承关系。,抽象类只是为了提供其他类继承的基类之用,它本身不产生对象实例。,在依赖关系中一个类使用了另一个类。,类图给出了类的一般性定义。在某一特定时刻,及时对类的具体实例建模则要使用对象图。,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服