- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
得到候选类 在使用“名词动词法”寻找类的时候,很多团队会在此耗费大量的时间,特别是对于中大型项目,这样很容易迷失方向。其实在此主要的目的是对问题领域建立概要的了解,无需太过咬文嚼字 书籍 计算机类书籍 非计算机类书籍 借阅记录 借阅记录列表 书籍列表 关联分析,建模,多重性分析,再建模 职责分析 书籍类:从需求描述中,可找到书名、类别、作者、出版社;同时从统计的需要中,可得知“定价”也是一个关键的成员变量。 书籍列表类:书籍列表就是全部的藏书列表,其主要的成员方法是新增、修改、查询(按关键字查询)、统计(按特定时限统计册数与金额)。 借阅记录类:借阅人(朋友)、借阅时间。 借阅记录列表类:主要职责就是添加记录(借出)、删除记录(归还)以及打印借阅记录 限定与修改 导航性分析:Book与BookList之间、BorrowRecord和BorrowList之间是组合关系均无需添加方向描述,而Book与BorrowRecord之间则是双方关联,也无需添加 约束:Book对象创建后就不能够被删除只能被修改,因此在Book类边上加上用自由文本写的约束 ;一本书要么属于计算机类,要么属于非计算机类,因此在ItBook和OtherBook间加了 “{Xor}”约束 限定符:一本书只有一册,因此只能够被借一次,因此对于一本Book而言只能有一个RecordId与其对应 专题二 什么是类 如何阅读类图 其他高级概念 如何绘制类图 类图应用说明 复合结构图 本专题小结 类图 知识图谱 专题二 什么是类 如何阅读类图 其他高级概念 如何绘制类图 类图应用说明 复合结构图 本专题小结 专题二 什么是类 如何阅读类图 其他高级概念 如何绘制类图 类图应用说明 复合结构图 本专题小结 面向对象思想 面向对象思想 每个对象都扮演了一个角色,并为其它成员提供特定的服务或执行特定的行为。 在面向对象世界中,行为的启动是通过将“消息”传递给对此行为负责的对象来完成的;同时还将伴随着执行要求附上相关的信息(参数);而收到该消息的对象则会执行相应的“方法”来实现需求 用类和对象表示现实世界,用消息和方法来模拟现实世界的核心思想 如何用UML表示一个类 名称:每个类都有一个惟一的名称,通常采用CamelCase格式表示 属性:是已被命名的类的特性,它描述该类实例中包含的信息 操作:是类所提供的服务,它可以由类的任何对象请求以影响其行为 属性名和操作名也通常采用CamelCase格式表示,只不过首字母通常为小写。 专题二 什么是类 如何阅读类图 其他高级概念 如何绘制类图 类图应用说明 复合结构图 本专题小结 示例类图 先看清有哪些类,然后看看类之间存在的关系,并结合多重性来理解类图的结构特点以及各个属性和方法的含义 读图过程 读出类:图中共有7个类,Order、OrderItem、Customer、Consignee、DeliverOrder、Peddlery、Prodcut 读出关系:从图中关系最复杂(也就是线最密集)的类开始阅读,本图中最复杂的就是Order类。1)OrderItem和Order之间是组合关系,根据箭头的方向可知Order包含了OrderItem。2)Order类和Customer、Consignee、DeliverOrder是关联关系。也就是说,一个订单和客户、收货人、送货单是相关的。 读图过程 多重性:用来说明关联的两个类之间的数量关系 产品是属于某个商户的,可以注册0到多个产品 Prodcut(0…n) Peddlery(1) 每个订单项中都包含着唯一的一个产品 Product(1) OrderItem(1) 每个商户可以有相关的0个或多个送货单 DeliverOrder(0…n) Peddlery(1) 每张送货单都对应着一个收货人 Consignee(1) DeliverOrder(1) 一张送货单对应订单中的一到多个订单项 OrderItem(1…n) DeliverOrder(1) 说明:系统根据订单项的产品所属的商户,将其分发给商户,拆成了多个送货单! 一个订单有一个或多个送货单 DeliverOrder(1…n) Order(1) 订单是由订单项组成的,至少要有一个订单项,最多可以有n个 OrderItem(1…n) Order(1) 每个订单只能够有一个收货人 Consignee(1) Order(1) 订单是属于某个客户的,网站的客户可以有0个或多个订单 Order(0…n) Customer(1) 分析 目标类及多重性 源类及多重性 读图过程—理解方法与图 Order类,有两个方法:dispatch()和clos
文档评论(0)