ch06_UML类图.ppt

  1. 1、本文档共109页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.鉴别器 鉴别器用来说明泛化的作用。它们指示出泛化关联中的子类应用于相关超类时的角色。鉴别器的标记符非常简单,在关联的空箭头的旁边标注即可,如下图所示。 在下面的示例中,使用了鉴别器来表示 Flywheel和 Afterbumer子类是Part类的类型,如下图 所示。 一个更加详细的示例如下图所示,其中为4个指定了重叠约束的类图添加了鉴别器。 三、端点标记符 讨论关联的有序、排序和导航。有序和排序允许向读者说明与超类相关的子类指定了特定的顺序,而使用导航可以指定处理流遍历关联关系的方向。 1.有序和排序 有序约束用来说明一个类的对象以某个次序与另一个类的对象 相关。这种标记符并没有指定顺序。排序约束表示类中的对象在与关联中其他类对象相关是排序好的。可以在任何关系的底部添加有序约束和排序约束,如下图所示。 2.导航 对于读者前面看到的关联,导航都是双向的。可以从一个类到另一个类双向使用关系中向用户公开的属性。如果你不想让自己的系统或者特定的类关系以这种方式操作,可以指定单向的导航。导航使用指向被访问类的开放箭头表示。 练习:建模类图的多个关联 在这个练习中,将使用所有类型的关联以及关联注释和端点标记符来创建一个类图。综合运用所学的知识从需求构造一个类图。 下面是前面的货存清单系统Part类的更加详细需求清单,从这些信息构造一个类图。 两个或者多个Parts组装成一个Product。Product类可以访问Part类,反之则不行。 3个Parts类型(Flywheel,Cog和Afterburner)不能构成货存清单系统中零件的完整清单,但是这里我们只考虑这3个零件。 Flywheel有两种不同的规格:tooth flywheel和 gear flywheel,它们之间没有任何相似性。 Afterburner可以分类为turbo或者hydro。这两种类型都可以分拆为ballistic类型。 ballistic hydro和 ballistic turbo加力燃烧室由 plutonium marbles组成,后者已经组装好。 4.3 UML类图建模案例 例1 图书管理系统的类图建模 1、图书管理系统的用例图模型如下: 2.确定类和关联 首先要做的是通过分析用例图确定类及其关联。找到第一批类,确定它们的内容。 在用例图中,可首先确定了如下对象类:借阅者(Borrower)类,书刊(Title)类,物理书(Book)类,借阅记录(Loan),预定记录(Reservation), 图书管理员(librarian)等六个类。 实体类图 3.建立类图 用户界面类图 类图 类图 2)依赖关系 依赖关系是指一个类的元素使用了另一个类。依赖关系描述类之间的引用关系。 3)泛化关系 泛化关系是描述类之间的继承关系。利用泛化来表达类之间的相似性 。 练习:阅读一个类图 在这个练习中,将会通过识别到目前为止学习的UML标记符来阅读下面的类图,如图所示。 练习步骤: 1)指出建模的类。 2)指出所有属性及其显示的数据类型。 3)指出所有显示的操作。 4)指出找到的关联。 5)指出建模的角色。 6)指出图中使用的多重性。 例 售票系统的类图 上图中的售票系统类图,它只是售票系统领域模型的一部分。图中表示了几个重要的类,如Customer、Reservation、Ticket和Performance。一个顾客可多次订票,但每一次订票只能由一个顾客来执行。有两种订票方式:个人票或套票,前者只是一张票,后者包括多张票。每场演出都有多张票可供预定,每张票对应一个唯一的座位号。每次演出用剧目名、日期和时间来标识。 三、学习如何建模类图 创建类图需要两个反复执行的步骤: 1)确定类及其关联。 2)确定属性和操作。 开始创建类图的好起点就是用例图。如下面成绩管理的用例图所示。 1.确定类和关联 首先要做的是通过分析用例图确定类及其关联。找到第一批类,确定它们的内容。 在用例图中,首先确定了Grades类和ReportCard类。接下来,通过同时使用参与者名称确定附加的类。这时将会确定Teacher类,Student类和Administrator类。 下面检查用例图并且确定各个功能所属的类: 发布报告卡一Grades类 记录分数一Grades类 更新分数一Grades类 保存分数一Grades类 加载分数一Grades类

文档评论(0)

linyin1994 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档