ch06UML类图及建模.ppt

  1. 1、本文档共107页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一台自动售货机能提供6种不同的饮料,售货机上有6个不同的按钮,分别对应这6种不同的饮料,顾客通过这些按钮选择不同的饮料。售货机有一个硬币槽和找零槽,分别用来收钱和找钱。现在为这个系统设计相应的类图? 课堂练习三 简答题 1.类图中的主要元素是什么? 2.类与类之间的主要关系哪几种?它们的含义是什么? 3.关联和依赖的不同有哪些? 4.简述关联和聚合的区别。 实例类图建模:成绩管理系统用例图 1.确定类和关联 首先要做的是通过分析用例图确定类及其关联。找到第一批类,确定它们的内容。 在用例图中,首先确定了Grades类和ReportCard类。接下来,通过同时使用参与者名称确定附加的类。这时将会确定Teacher类,Student类和Administrator类。 下面检查用例图并且确定各个功能所属的类: 发布报告卡一Grades类 记录分数一Grades类 更新分数一Grades类 保存分数一Grades类 加载分数一Grades类 登录一? 查看分数一Grades类 生成报告卡一ReportCard类 首先发现的是登录没有所属的类。可以添加一个Logon类来处理Logon用例。 现在可以开始创建类的关联: Teacher记录、更新、查看 Grades Administrator查看 Grades、生成ReportCards Student查看Grades ReportCards包含Grades 进一步创建类的关联: 增添WebSite类和Logon类 下一步通过添加多重性让类图的信息更加详细,并且对类图进行调整以便保证没有冗余的类和关联。 2.确定属性和操作 现在我们已经创建好了类和关联,可以开始添加属性和操作以便提供数据存储和需要的功能来完成系统功能。 在下图中可以看到,表示参与者的类没有显示属性和操作,这并不意味着它们不存在,而只是表示类图不需要该细节。 最后,为属性和操作提供参数、数据类型和初始值。如下图所示: 练习: 建模一个类图 在这个练习中,将会从用例图建模一个类图。读者应该遵循前面介绍的步骤来建模类图支持如下面用例图中用例。 练习步骤: 1)确定可以在用例图中找到的类。 2)创建关联类,给出它们的关联名词。 3)巩固相似的类。 4)确定任何合适的角色名。 5)为任何已经封装到另一个类中的独立功能添加类。 6)添加属性和操作以便提供类图中需要的功能。 7)为操作和属性提供数据类型和参数等信息 公司直销系统用例图 例 售票系统的类图 1)指出建模的类。 2)指出所有属性及其显示的数据类型。 3)指出所有显示的操作。 4)指出找到的关联。 5)指出建模的角色。 6)指出图中使用的多重性。 1.上图中的售票系统类图,它只是售票系统领域模型的一部分。 2.图中表示了几个重要的类,如Customer、Reservation、Ticket和Performance。 3.一个顾客可多次订票,但每一次订票只能由一个顾客来执行。 4.有两种订票方式:个人票或套票,前者只是一张票,后者包括多张票。 5.每场演出都有多张票可供预定,每张票对应一个唯一的座位号。 6.每次演出用剧目名、日期和时间来标识。 三、学习如何建模类图 创建类图需要两个反复执行的步骤: 1)确定类及其关联。 2)确定属性和操作。 如何发现定义类: 1.在要解决的问题中有没有必须存储或处理的数据,如果有这些数据可能需要抽象为类。 2.有没有外部系统,如果有,可以抽象为类 3.寻找系统的参与者,参与者有可能抽象为类 4.寻找系统中的角色,这些角色可以抽象为类 5.系统中有无控制设备,如果有,可以将这些设备抽象成设备类 开始创建类图的好起点就是用例图。如下面图书系统管理的用例图所示。 寻找类: 公司内部图书馆系统﹕公司每个成员通过局域网登录图书管理系统﹐然后预借书籍﹐图书管理员收到预借信息后﹐核准借阅﹐并通知借书人前来领书﹐告知相关事项。 领域模型 识别类 从发现和寻找领域模型、用例图、系统的需求描述中的名词,作为系统类的候选类。 是否需要为这些候选类创建类? 检查需求中是否存在与它们相关的身份和行为进行判断? 借阅者(Borrower)、图书(Book)、借阅信息(Loan)、图书标题(Title) 判断Borrower 具有身份,不同借书证号的借阅者是不同的人 借阅者具有借书和还书行为 类图中应有一个Borrower类 判断Loan

文档评论(0)

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

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

1亿VIP精品文档

相关文档