《uml面向对象建模基础》 类图 - oscar lab.ppt

《uml面向对象建模基础》 类图 - oscar lab.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《uml面向对象建模基础》 类图 - oscar lab

Agenda 什么是类 如何阅读类图 其他高级概念 如何绘制类图 类图应用说明 复合结构图 本章小结 复合结构图的组成部分 通过 “部件(Part)”和“连接器(Connector)”来表示类的内部结构 部件也称为结构化部分,它是一个代表上下文关系中的一个对象或一组对象的元素,也可以是类中的一部分。部件具有名称、类型和多重性 连接器:是一种上下文中的关联,它用来连接两个部件 复合结构图实例 该类由“命令解析”、“485通信”和“数据组装”三个部分组成,命令解析提供了getState(获取状态)和setState(设置状态)两个接口; 根据传入数据的不同, 由“485”通信来完成数据 的获取或设置的任务; 并且根据最终的执行结 果,进行“数据封装”, 调用外部的storeData接 口来实现数据的存储 Agenda 什么是类 如何阅读类图 其他高级概念 如何绘制类图 类图应用说明 复合结构图 本章小结 本章小结 首先,从一个现实生活中的例子开始引入面向对象思想的本质,并且详细地说明了UML中类的表示法 接着讲述了阅读类图的方法、技巧和相关的知识:关系、多重性、导航箭头、角色名称、导出属性、限定符、约束;接口/抽象类、关联类、模板类、主动类、嵌套类;OCL 类图的绘制方法,类图的功能与作用 复合结构图的基础知识 重点复习内容:面向对象基础, * * * * * * * 作用域 * * * * * * * * * * * * * 面向对象思想 每个对象都扮演了一个角色,并为其它成员提供特定的服务或执行特定的行为。 在面向对象世界中,行为的启动是通过将“消息”传递给对此行为负责的对象来完成的;同时还将伴随着执行要求附上相关的信息(参数);而收到该消息的对象则会执行相应的“方法”来实现需求 用类和对象表示现实世界,用消息和方法来模拟现实世界的核心思想 如何用UML表示一个类 名称:每个类都有一个惟一的名称,通常采用CamelCase格式表示 属性:是已被命名的类的 特性,它描述该类实例中 包含的信息 操作:是类所提供的服务, 它可以由类的任何对象请求以影响其行为 属性名和操作名也通常采用CamelCase格式表示,只不过首字母通常为小写。 Agenda 什么是类 如何阅读类图 其他高级概念 如何绘制类图 类图应用说明 复合结构图 本章小结 示例类图 先看清有哪些类,然后看看类之间存在的关系,并结合多重性来理解类图的结构特点以及各个属性和方法的含义 读图过程 读出类:图中共有7个类,Order、OrderItem、Customer、Consignee、DeliverOrder、Peddlery、Prodcut 读出关系:从图中关系最复杂(也就是线最密集)的类开始阅读,本图中最复杂的就是Order类。 1)OrderItem和Order之间是组合关系,根据箭头的方向可知Order包含了OrderItem。 2)Order类和Customer、Consignee、DeliverOrder是关联关系。也就是说,一个订单和客户、收货人、送货单是相关的。 读图过程 多重性:用来说明关联的两个类之间的数量关系 源类及多重性 目标类及多重性 分析 Customer(1) Order(0…n) 订单是属于某个客户的,网站的客户可以有0个或多个订单 Order(1) Consignee(1) 每个订单只能够有一个收货人 Order(1) OrderItem(1…n) 订单是由订单项组成的,至少要有一个订单项,最多可以有n个 Order(1) DeliverOrder(1…n) 一个订单有一个或多个送货单 说明:系统根据订单项的产品所属的商户,将其分发给商户,拆成了多个送货单! DeliverOrder(1) OrderItem(1…n) 一张送货单对应订单中的一到多个订单项 DeliverOrder(1) Consignee(1) 每张送货单都对应着一个收货人 Peddlery(1) DeliverOrder(0…n) 每个商户可以有相关的0个或多个送货单 OrderItem(1) Product(1) 每个订单项中都包含着唯一的一个产品 Peddlery(1) Prodcut(0…n) 产品是属于某个商户的,可以注册0到多个产品 读图过程—理解方法与图 Order类,有两个方法:dispatch()和close(),从名字中可以猜出它们分别实现“分拆订单生成送货单”和“完成订单”。而在DeliveOrder()类中则有一个Close()方法,同理它应该表示“完成送货”。而在OrderItem中有一个stateChange()方法和deliverState,不难猜出它就是用来改变其“是否交给收货人”标志位的 先调用Order的

文档评论(0)

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

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

1亿VIP精品文档

相关文档