第9章-面向对象方法学解析课件.ppt

上传人(卖家):晟晟文业 文档编号:4514551 上传时间:2022-12-16 格式:PPT 页数:93 大小:1.04MB
下载 相关 举报
第9章-面向对象方法学解析课件.ppt_第1页
第1页 / 共93页
第9章-面向对象方法学解析课件.ppt_第2页
第2页 / 共93页
第9章-面向对象方法学解析课件.ppt_第3页
第3页 / 共93页
第9章-面向对象方法学解析课件.ppt_第4页
第4页 / 共93页
第9章-面向对象方法学解析课件.ppt_第5页
第5页 / 共93页
点击查看更多>>
资源描述

1、class ArPathTrack:public ArActionpublic:ArPathTrack(ArPose Pose);virtual ArPathTrack(void);virtual ArActionDesired*fire(ArActionDesired currentDesired);virtual void setRobot(ArRobot*robot);protected:ArRangeDevice*mySonar;ArActionDesired myDesired;public:PCI8360v myPCI;图图9.1 9.1 喷泉模型喷泉模型p“喷泉喷泉”这个词体现了

2、面向对象软这个词体现了面向对象软件开发过程件开发过程迭代和无缝迭代和无缝的特性的特性。图中。图中代表不同阶段的圆圈相互重叠,这明代表不同阶段的圆圈相互重叠,这明确表示两个活动之间存在交迭;而面确表示两个活动之间存在交迭;而面向对象方法向对象方法在概念和表示方法上在概念和表示方法上的一的一致性,保证了在各项开发活动之间的致性,保证了在各项开发活动之间的无缝过渡无缝过渡.p事实上,用面向对象方法开发软件事实上,用面向对象方法开发软件时,时,在分析、设计和编码等项开发活在分析、设计和编码等项开发活动之间并不存在明显的边界动之间并不存在明显的边界。图中在。图中在一个阶段内的向下箭头代表该阶段内一个阶段

3、内的向下箭头代表该阶段内的迭代(或求精)。图中较小的圆圈的迭代(或求精)。图中较小的圆圈代表维护,圆圈较小象征着采用了面代表维护,圆圈较小象征着采用了面向对象范型之后维护时间缩短了。向对象范型之后维护时间缩短了。MI 与钻石问题!与钻石问题!pAria Robot Aria Robot 程序程序 UML(Unified Modeling Language,统一建模语言统一建模语言)是一种是一种可视化的建模语言,它能让系统构造者用标准的、易于理解可视化的建模语言,它能让系统构造者用标准的、易于理解的方式建立起能够表达出他们想象力的系统蓝图,并且提供的方式建立起能够表达出他们想象力的系统蓝图,并且

4、提供了便于不同的人之间有效地共享和交流设计结果的机制。了便于不同的人之间有效地共享和交流设计结果的机制。交流思想是极为重要的。在交流思想是极为重要的。在UML出现以前,系统开发往出现以前,系统开发往往是无计划的议题。系统分析员尽力去获取客户的需求,用某往是无计划的议题。系统分析员尽力去获取客户的需求,用某种他自己能够理解种他自己能够理解(但客户不一定总能理解但客户不一定总能理解)的表示法来产生需的表示法来产生需求分析文档,然后将这个分析转交给求分析文档,然后将这个分析转交给个程序员或者一个程序个程序员或者一个程序员小组,并且期待着最后所开发出的系统正是客户所需要的。员小组,并且期待着最后所开发

5、出的系统正是客户所需要的。由于系统开发是由于系统开发是项人力活动,因此在开发过程的每个阶项人力活动,因此在开发过程的每个阶段中都很可能潜伏着错误。段中都很可能潜伏着错误。n系统分析员可能没有正确理解客户的需求。系统分析员可能没有正确理解客户的需求。n他编制的文档存户可能不能理解。他编制的文档存户可能不能理解。n系统分析的结果对程序员来说可能很不明确,随后程序员据系统分析的结果对程序员来说可能很不明确,随后程序员据此构造出的程序很可能不仅难以使用而且根本不是客户所需要此构造出的程序很可能不仅难以使用而且根本不是客户所需要的最初问题的解决方案。的最初问题的解决方案。怎么办呢?怎么办呢?在计算机时代

6、的早期,程序员们在编制程序之前几乎很少在计算机时代的早期,程序员们在编制程序之前几乎很少对手头问题进行详细的分析。对手头问题进行详细的分析。通常他们一开始就自底向上地编通常他们一开始就自底向上地编写程序,随着时间的进展代码不断扩充。在今天这样一个高商写程序,随着时间的进展代码不断扩充。在今天这样一个高商业风险的社会里,这样做被证明是不适当的。业风险的社会里,这样做被证明是不适当的。随着世界变得越来越复杂,存在于这个世界中的基于计算随着世界变得越来越复杂,存在于这个世界中的基于计算机的系统也增加了复杂性。机的系统也增加了复杂性。这些计算机系统通常包括多个硬件这些计算机系统通常包括多个硬件和软件单

7、元、跨越长距离的网络设施,还要连接到信息量堆积和软件单元、跨越长距离的网络设施,还要连接到信息量堆积如山的数据库上。如果你要创建一个成功的系统,如山的数据库上。如果你要创建一个成功的系统,怎么来对付怎么来对付这些问题的复杂性呢这些问题的复杂性呢?最关键的一点是要用一种系统分析员、最关键的一点是要用一种系统分析员、客户、程序员和其他系统开发所涉及到的人员之间能够照解和客户、程序员和其他系统开发所涉及到的人员之间能够照解和达成一致的方式来组织系统的设计过程达成一致的方式来组织系统的设计过程。UML就提供了这种组就提供了这种组织方式。织方式。可靠的设计需要一种能被系统分析员、开发人员和客户接受可靠的

8、设计需要一种能被系统分析员、开发人员和客户接受为标准的设计表示法,为标准的设计表示法,就象电子工程师在绘制电路图时所用的标就象电子工程师在绘制电路图时所用的标准表示法和在机械工程中被作为标准的三视图所用的表示法那样。准表示法和在机械工程中被作为标准的三视图所用的表示法那样。UML就是软件开发领域的这种表示法。就是软件开发领域的这种表示法。pUML的诞生的诞生 UML是是Grady Booch、James Rumbaugh和和Ivar Jacobson智智慧的结晶。他们被人们称为慧的结晶。他们被人们称为“UML三友三友”。这几位先生在。这几位先生在20世纪世纪80年代和年代和90年代的初期分别在

9、不同的组织里工作,各自设计他们年代的初期分别在不同的组织里工作,各自设计他们自己的面向对象分析与设计方法学。他们的方法学和其他同行竞自己的面向对象分析与设计方法学。他们的方法学和其他同行竞争者相比取得了卓越的成果。到争者相比取得了卓越的成果。到90年代中期,他们开始相互借鉴,年代中期,他们开始相互借鉴,然后决定相互合作共同推进这项工作。然后决定相互合作共同推进这项工作。1994年,年,Rumbaugh加入到加入到Ratinoal软件公司工作,而软件公司工作,而Booch早已经在那里工作。第二年早已经在那里工作。第二年Jacobson也加入了也加入了Rational公司的行列。公司的行列。后面的

10、事情,是具有历史意义的。后面的事情,是具有历史意义的。UML草案版开始在软件工业界流传开来,并且根据大量的草案版开始在软件工业界流传开来,并且根据大量的反馈信息做了大幅度修改。由于许多公司感到反馈信息做了大幅度修改。由于许多公司感到UML能够适应这些能够适应这些公司的战略目标,因此一个公司的战略目标,因此一个UML联盟蓬勃发展起来。联盟的成员联盟蓬勃发展起来。联盟的成员包括包括DEC、Hewlett-Packard、Intellicorp、Microsoft、OracIe、Rational和其他和其他些公司。些公司。1997年,应年,应“对象管理组织对象管理组织”(OMG)向外界征求标准建模向

11、外界征求标准建模语言的建议,联盟制订了语言的建议,联盟制订了UML 1.0版并提交给版并提交给OMG。后来联盟继续发展,产生了后来联盟继续发展,产生了UML 1.1版,提交给版,提交给OMG后,后,于于1997年被年被OMG采纳为标准。采纳为标准。1998年年OMG接管了接管了UML标准标准的维护工作,并且又制订了两个新的的维护工作,并且又制订了两个新的UML修订版。修订版。UML成为成为软件工业界事实上的标准,并且仍在不断发展。现在软件工业界事实上的标准,并且仍在不断发展。现在UML已已经到了经到了1.3版。版。类图描述类及类与类之间的静态关系。类图描述类及类与类之间的静态关系。类图是一种静

12、态模型,它是创建其他类图是一种静态模型,它是创建其他UML图的基础。图的基础。1.1.定义类定义类UML中类的图形符号为长方形,用两中类的图形符号为长方形,用两条横线把长方形分成上、中、下条横线把长方形分成上、中、下3个区个区域,分别放类的名字、属性和服务,域,分别放类的名字、属性和服务,如图如图9.5所示。其中下面两个区域可省所示。其中下面两个区域可省略。略。类名是一类对象的名字。名字应该是类名是一类对象的名字。名字应该是富于描述性的、简洁的而且无二义性富于描述性的、简洁的而且无二义性的。的。图图9.5 9.5 表示类的图表示类的图9.4.1 9.4.1 类图的基本符号类图的基本符号2.2.

13、定义属性定义属性3.3.定义服务定义服务3种基本类型种基本类型:一对一一对一(1(1:1)1)一对多一对多(1(1:M)M)多对多多对多(M(M:N)N)依据参与关联依据参与关联的对象的数目的对象的数目图图9.6 普通关联示例普通关联示例通常,关联是双向的,通常,关联是双向的,可在一个方向上为关联可在一个方向上为关联起一个名字,在另一个起一个名字,在另一个方 向 上 起 另 一 个 名 字方 向 上 起 另 一 个 名 字(也可不起名字)。(也可不起名字)。重数表示该类有多少个对象与对方的一个对象连接。重数表示该类有多少个对象与对方的一个对象连接。3 3 表示表示3 3个对象个对象0 01 1

14、 表示表示0 0到到1 1个对象个对象1 11515 表示表示1 1到到1515个对象个对象0 0*或或*表示表示0 0到多个对象到多个对象1+1+或或1 1*表示表示1 1到多个对象到多个对象未标明未标明 默认重数是默认重数是1 1。图图9.7 关联的角色关联的角色图图9.9 9.9 关联类示例关联类示例(1 1)共享聚集共享聚集图图9.10 9.10 共享聚集示例共享聚集示例(2 2)组合聚集:组合聚集:图图9.11 9.11 组合聚集示例组合聚集示例3.3.泛化泛化(1 1)普通泛化普通泛化图图9.12 9.12 抽象类示例抽象类示例图图9.139.13给出一个比较复杂的类图示例给出一个

15、比较复杂的类图示例图图9.13 9.13 复杂类图示例复杂类图示例(2 2)受限泛化受限泛化u可以给泛化关系可以给泛化关系附加约束条件,以进一步说明该泛化关系的使用方附加约束条件,以进一步说明该泛化关系的使用方法或扩充方法,这样的泛化关系称为受限泛化。法或扩充方法,这样的泛化关系称为受限泛化。预定义的约束有预定义的约束有4 4种:种:多重、不相交、完全和不完全多重、不相交、完全和不完全。这些约束。这些约束都是语义约束。都是语义约束。多重继承指的是,多重继承指的是,一个子类可以同时多次继承同一个上层基类一个子类可以同时多次继承同一个上层基类,例如图例如图9.149.14中的水陆两用类继承了两次交

16、通工具类。中的水陆两用类继承了两次交通工具类。图图9.14 9.14 多重继承示例多重继承示例图图9.15 9.15 友元依赖关系友元依赖关系图图9.16 细化关系示例细化关系示例图图9.17 9.17 自动售货机系统用例图自动售货机系统用例图我们可以修改售货用例,使我们可以修改售货用例,使之之既能提供售罐装饮料的常既能提供售罐装饮料的常规动作又能提供售散装饮料规动作又能提供售散装饮料的非常规动作。的非常规动作。图图9.189.18中把常规动作放在中把常规动作放在“售货售货”用例中,而把非常用例中,而把非常规动作放置于规动作放置于“售散装饮料售散装饮料”用例中,这两个用例之间的用例中,这两个用

17、例之间的关系就是扩展关系。在用例关系就是扩展关系。在用例图中,用例之间的扩展关系图中,用例之间的扩展关系图示为图示为带版类带版类扩展扩展的泛的泛化关系化关系。图图9.18 9.18 含扩展和使用关系的用例图含扩展和使用关系的用例图p 例:例:考虑销售系统的一个网点考虑销售系统的一个网点.活动者之一是客户,另一个是销活动者之一是客户,另一个是销售店员。售店员。用例用例1 1 销售店员结算一件销售店员结算一件商品商品1 1 顾客放商品到柜台顾客放商品到柜台2 2 店员用店员用UPC UPC 读取器扫描商读取器扫描商品上的品上的UPC UPC 码码3 3 系统在数据库中查找系统在数据库中查找UPC

18、UPC 码获得商品的描述和价格码获得商品的描述和价格4 4 系统发出可听见的蜂鸣系统发出可听见的蜂鸣5 5 系统用声音宣布商品的描系统用声音宣布商品的描述和价格述和价格6 6 系统加价格和商品类型到系统加价格和商品类型到当前发票当前发票7 7 系统加价格到调节税小计系统加价格到调节税小计错误情况错误情况1 1 UPC UPC 代码不能读取代码不能读取如果在第如果在第2 2 步之后步之后UPC UPC 码无效或没码无效或没有正确读取系统发出一声巨响有正确读取系统发出一声巨响错误情况错误情况2 2 商品不在数据库中商品不在数据库中如果在第如果在第3 3 步之后不能在数据库中步之后不能在数据库中找的该找的该UPC UPC 闪动终端上的手动输入闪动终端上的手动输入按钮接收店员输入的价格和税码设按钮接收店员输入的价格和税码设商品描述为未知商品进入第商品描述为未知商品进入第4 4 步步u21结帐:结帐:21 岁以下不允许结算酒类商品岁以下不允许结算酒类商品

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第9章-面向对象方法学解析课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|