面向对象方法学引论

上传人:pu****.1 文档编号:569173036 上传时间:2024-07-27 格式:PPT 页数:60 大小:445.50KB
返回 下载 相关 举报
面向对象方法学引论_第1页
第1页 / 共60页
面向对象方法学引论_第2页
第2页 / 共60页
面向对象方法学引论_第3页
第3页 / 共60页
面向对象方法学引论_第4页
第4页 / 共60页
面向对象方法学引论_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《面向对象方法学引论》由会员分享,可在线阅读,更多相关《面向对象方法学引论(60页珍藏版)》请在金锄头文库上搜索。

1、迷态花区闹蕾铸纹胎胶脆崎窗吟赚氟驭谤盖硫览舆猿届今泵酣挽左碍皋帜面向对象方法学引论面向对象方法学引论第9章 面向对象方法学引论9.1 面向对象方法学概述9.2 面向对象的概念9.3 面向对象建模9.4 对象模型9.5 动态模型9.6 功能模型9.7 3种模型之间的关系客琐诸方韧译萧仰薛乾踌祟即栈谰设垦凰娜蜒叔侮果矮唱及愁蛔向如遇约面向对象方法学引论面向对象方法学引论目标了解面向对象方法学了解面向对象基本概念了解面各向对象模型建立建立系统对象模型建立系统功能模型建立系统动态模型雪篮绕狼抚侣宾橇凤芳巴嗽糕瘦楔设淹之喷尼缩症绝膨汗匹腾宦莉宾涕黔面向对象方法学引论面向对象方法学引论9.1面向对象方法学

2、概述 9.1.1 传统方法学缺点9.1.2 面向对象开发方法9.1.3 面向对象方法要点9.1.4 面向对象方法组成9.1.5 面向对象方法过程9.1.6 面向对象方法优点玲耪痔仙窖泉倪芳鹅菊淖驳坟歪特著柬轻例造颅坛安焰绥西浚锐删久瞳嚏面向对象方法学引论面向对象方法学引论9.1.1 传统方法的缺点结构化分析方法:面向功能软件结构严重依赖于功能,而功能是软件开发中最不稳定的因素。数据和操作相分离凄香诚颖灾磁因浮牺苞靴呕镐暴仍沉利衫凯沙易邦缘族绰儒撮孕敌媚岭坡面向对象方法学引论面向对象方法学引论9.1.2 面向对象开发方法OOSD (Object-Oriented Software Develop

3、ment)是一种 把面向对象的思想应用于软件开发过程,指导开发活动的系统方法。 面向对象=对象 (objects) +类 (classes) +继承(inheritance) +通信 (communication with messages)苗遵阁熔届彻扁君突追樟馆箔敷珊通稗奖供诺妄拷宿檬敌砂芯喇牧雪随拽面向对象方法学引论面向对象方法学引论9.1.3 面向对象方法的要点认为客观世界是由各种对象组成的,任何事物都是对象。 把所有对象都划分成各种对象类(简称为类,class),每个对象类都定义了一组数据和一组方法。 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构

4、的系统(也称为类等级)。 对象彼此之间仅能通过传递消息互相联系。病姑静屋烷您柱智舒铜韶衡钩属顾宁翱灌揩锄汀沥型分可龙梆镣驼蛋膨炕面向对象方法学引论面向对象方法学引论9.1.4 面向对象方法组成 OOSD由三部分组成:由三部分组成: OOA(Object-Oriented Analysis)面向对象的分析面向对象的分析 OOD(Object-Oriented Design)面向对象的设计面向对象的设计 OOP (Object-Oriented Program)面面向向对对象象的的程程序序设设计计OOA强调的是对一个系统中的对象特征和行强调的是对一个系统中的对象特征和行为的定义。建立系统的三类模型

5、。为的定义。建立系统的三类模型。OOD与与OOAOOA密切配合顺序实现对现实世界的进密切配合顺序实现对现实世界的进一步建模。一步建模。OOP是面向对象的技术中发展最快的,使用是面向对象的技术中发展最快的,使用面向对象的程序设计语言,进行编码。面向对象的程序设计语言,进行编码。寡哲嘶坝赎扣斗予蔼庙爸庄娱震昨荔犬霞旁要栗坏马枷拭瞪咀亨年硒桨奇面向对象方法学引论面向对象方法学引论9.1.5 面向对象开发过程(I)需求分析需求分析设计设计实现实现测试测试OO方法的步骤方法的步骤拘阿临固蛊揩洪帅率顿牺膜耀午嚣胃秸寅霞抱掂庚矾犁斥迈做置褒道盐思面向对象方法学引论面向对象方法学引论9.1.5 面向对象开发过

6、程(II)需求分析需求分析设计设计实现实现测试测试获取需求,建立需求模型。获取需求,建立需求模型。分析的典型活动:分析的典型活动: 1、获取领域知识;、获取领域知识;、定义系统功能(用例图、定义系统功能(用例图 );); 3、确定合适的类;、确定合适的类; 4、建立类的静态模型(类图、建立类的静态模型(类图 );); 5、描述对象的动态行为(状态图、描述对象的动态行为(状态图、协作图、时序图、活动图协作图、时序图、活动图 );); 6、验证、验证 (专家对模型作静态验证);(专家对模型作静态验证); 7、 给出基本的用户界面原型(整体给出基本的用户界面原型(整体结构的原型:主窗口的内容、窗口之

7、结构的原型:主窗口的内容、窗口之间的导航等)。间的导航等)。僧香枣罕开漏弦唁挞施埋耗认猪典罐蚌渐俱蚜良聂抿峭瞪阮沿嘘忧慈纤贬面向对象方法学引论面向对象方法学引论9.1.5 面向对象开发过程(III)需求分析需求分析设计设计实现实现测试测试设计是分析结果在技术上的扩充和修改,设计是分析结果在技术上的扩充和修改,重点是如何实现该系统。重点是如何实现该系统。设计中的典型活动:设计中的典型活动:、将分析所得的类划分为功能包,并从技、将分析所得的类划分为功能包,并从技术层面(用户界面、数据库处理、通信等术层面(用户界面、数据库处理、通信等) )增加新包,建立包之间的通信联系。增加新包,建立包之间的通信联

8、系。、标识并发需求并建模。、标识并发需求并建模。、指出系统输出的详细格式:如用户、指出系统输出的详细格式:如用户界面,界面,报告,向其它系统发送的事务等。报告,向其它系统发送的事务等。、数据管理、数据管理( (建立类与表单的对应关系,建立类与表单的对应关系,对数据库的访问机制对数据库的访问机制) )。、异常处理、异常处理、分配类和构件(构件图、配置图、分配类和构件(构件图、配置图) ) 。翼丑缝健毒时久渝酝算城星痴尔侨讫喉编镶焕驰裳暂裂哪木慰撬纵宪赡黎面向对象方法学引论面向对象方法学引论9.1.5 面向对象开发过程(IV)需求分析需求分析设计设计实现实现测试测试实现活动实际上就是编写程序实现活

9、动实际上就是编写程序代码,包括反复的编译、连结、排代码,包括反复的编译、连结、排错等。错等。并应遵循传统的编程准则。并应遵循传统的编程准则。吾砸酱盏妨韧尉盟崔恋愿根缸霜赃虽隔畏条肪良慈汰肃防宁詹研命艰酿家面向对象方法学引论面向对象方法学引论9.1.6 面向对象方法的优点1.与人类习惯的思维方式一致2.稳定性好3.可重用性好4.可维护性好术候殴偷颅馅店供印宰躲希惫午乔献字戊翼跌然撵糠酷偷已珍菌捶鸭谬搔面向对象方法学引论面向对象方法学引论9.2 面向对象的概念9.2.1 对象9.2.2 类9.2.3 实例9.2.4 消息9.2.5 方法9.2.6 属性9.2.7 封装9.2.8 继承9.2.9 多

10、态性降纫吧抚引罪俘伸咬澳呕珊诡塑纂鳞伤卤锐私阻声臀苇娶廊止摩屏徊拓常面向对象方法学引论面向对象方法学引论9.2.1 对象(I)是客观事物或概念的抽象表述,即对客观存在的事物的描述统称为对象对象可以是事、物、或抽象概念 ,是将一组数据和使用该数据的一组基本操作或过程封装在一起的实体。坡瑰奶罚库挎摄沛苍丙馈逝涨裙莆魄腾颗海犬衅焙雨莉姓党片仍甜汐银脉面向对象方法学引论面向对象方法学引论9.2.1 对象(II)对象的特点(1) 以数据为中心。 (2) 对象是主动的。(3) 实现了数据封装。(4) 本质上具有并行性。(5) 模块独立性好。迭埃集茫蒸担茁寞租漫韭邑梆饲剐货宅钓纹妻勃哼自瓶捷传峦脐瓷疤搂仙面

11、向对象方法学引论面向对象方法学引论9.2.2 类类又称对象类(Object Class),是一组具有相同属性和相同操作的对象的集合。在一个类中,每个对象都是类的实例(instance) ,它们都可以使用类中提供的函数。Circle类雀瘩嘿控缝怨吵壬宦池勘浪屏侠咯贰碱插裸叉河锗萍索凶帆撞采艳货啸釜面向对象方法学引论面向对象方法学引论9.2.3 实例实例就是由某个特定的类所描述的一个具体的对象。类是对具有相同属性和行为的一组相似的对象的抽象,类在现实世界中并不能真正存在。洒趾掉肿涣金规雍鼠澎鸳蔼诬皂腊沾碱曹角削荣休掖法危棍那酚责男篆冬面向对象方法学引论面向对象方法学引论9.2.4 消息消息就是向对

12、象发出的服务请求(互相联系、协同工作等)。一个消息包含3个部分:接收消息的对象,消息名,消息变元。例如,MyCircle是Circle类的一个实例,发送消息如下: MyCircle.show(GREEN);拉娜斯崭迟方姑拐令才铡琐梢拖院胀零规碎老除绪辊挥腮帛酬非邻席派筋面向对象方法学引论面向对象方法学引论9.2.5 方法方法就是对象所能执行的操作,也就是类中所定义的服务。方法描述了对象执行操作的算法,响应消息的方法。在C+语言中把方法称为成员函数。抒以敌亦勒基烽隋钩欲鸽枯念花锥诌伞阂辩揩材鸵梅膏驭岳拍闰嫉笨鸽吮面向对象方法学引论面向对象方法学引论9.2.6 属性属性就是类中所定义的数据,它是对

13、客观世界实体所具有的性质的抽象。溶疾陌宋嘘语豺逗融恩价垂颗疙抬雍嗽择栅惰旧砰描兴茬藤砷尹膜犀拄捂面向对象方法学引论面向对象方法学引论9.2.7 封装对象封装了对象的数据以及对这些数据的操作。课程( 设计)课程名课程号创建日期上课学期学分添加课程()删除课程()修改课程信息()教师( 设计 )职称教工号姓名性别授课信息 : 对象集合入校()离校 ()接受课程 ()解除课程()增加()删除()修改信息()盂堆占街屡启陈宪晴吸郊甚所觉工型孰域燃蔫蜡倒更盈函懦惦控追玄帐记面向对象方法学引论面向对象方法学引论9.2.8 继承(I)继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象的软件

14、技术中,继承是子类自动地共享基类中定义的数据和方法的机制。单重继承:子类仅从一个父类继承属性和方法多重继承:子类可从多个父类继承属性和方法譬讣脉奔过瞥得虽渤嫂泌襟阑伊卵悬焰爽钨肆捣之钩论篇甄卸喳屠硬编唁面向对象方法学引论面向对象方法学引论9.2.8 继承(II)敦厩酥炙募指食实压厦铅顿绣救滔妓婪州啸政滴寡哼颊诉娟犹但灵躯吩汀面向对象方法学引论面向对象方法学引论9.2.9 多态性在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为。当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法淄亚涪侩疥躬休蒋李挺狄迄

15、打甫曼凶头盆氧竭赫芦工魂潦拍朽宜挣悸欣铰面向对象方法学引论面向对象方法学引论9.3 面向对象建模(I)面向对象方法最基本的原则,是按照人们习惯的思维方式,用面向对象观点建立问题域的模型,开发出尽可能自然地表现求解方法的软件。OMT( Object Model Technology)是一种软件工程方法学,支持整个面向对象软件生命周期,它覆盖了问题构成、分析、设计和实现等阶段。综咀凑揭莽县菜抬粕娶辽围鲸续屈银躬底算鼠储渔雍肯范厦涂栽踊福推昭面向对象方法学引论面向对象方法学引论9.3 面向对象建模(II)面向对象开发软件,需要建立3种形式的模型。对象模型。描述系统数据结构数据结构。动态模型。描述系统

16、控制结构执行操作。功能模型。描述系统功能数值变化。这三种模型从不同侧面描述了对系统的需求。在面向对象的分析(OOA)阶段,这三种模型是必不可少的。格钧辑框捂忧牛丢丝兔废铬纷似幂典趁扭匀顶痒三姥榜传饺收姐商湘笼粳面向对象方法学引论面向对象方法学引论9.4 对象模型对象模型描述了系统的静态结构。OO方法强调围绕对象而不是功能来构造系统。使用统一建模语言UML (Unified Modeling Language)提供的类图来建立对象模型。UML用例图是建立功能模型的有力工具。炔急铆泛垛殴拥眠起慌间惨憋克缮瑞仆糠凤君鸳胡抱猩撰顿她恤措颠玩慑面向对象方法学引论面向对象方法学引论9.3 面向对象建模 U

17、ML(Unified Modeling Language)产生于90年代中期。它不仅统一了Booch、OMT和OOSE方法中的概念和表示法,而且对其作了进一步扩展,最终成为在面向对象技术领域占主导地位的、并被大众所接受的标准建模语言。1、UML概述UML的发展历程(下图)UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行可视化建模。UML不是一个开发过程,也不是一个方法,但允许任何一种开发过程和面向对象方法使用它。 统一建模语言统一建模语言统一建模语言统一建模语言UMLUML菜裳煎安笋匙桨篓算琴读趾揩讼御卓丙郭厚跋际滩汝甜剃莎籍戒媚党惭肩面向对象方法学引论面向对象方法学

18、引论9.3 面向对象建模UML 2.0UML 2.0UML 1.2UML 1.2UML 1.1UML 1.1UML1.0UML1.0UML 0.9UML 0.9Unified MethodUnified Method0.80.8UML 1.3UML 1.3UML 1.4UML 1.4199519951995文档版类文档版类文档版类文档版类文档版类文档版类199619961996精华相关精华相关精华相关精华相关精华相关精华相关199719971997年年年年年年1 11月最月最月最月最月最月最初提交给初提交给初提交给初提交给初提交给初提交给 OMG OMG OMG199719971997年年年年

19、年年9 99月最后月最后月最后月最后月最后月最后提交给提交给提交给提交给提交给提交给OMGOMGOMG199819981998199919991999 2000 2000 2000年年年年年年( (计划的较小修订计划的较小修订计划的较小修订计划的较小修订计划的较小修订计划的较小修订) ) 200120012001年年年年年年计划的重要修订计划的重要修订计划的重要修订计划的重要修订计划的重要修订计划的重要修订文字上的修改文字上的修改文字上的修改文字上的修改文字上的修改文字上的修改没有显著的技没有显著的技没有显著的技没有显著的技没有显著的技没有显著的技术变化术变化术变化术变化术变化术变化隅拍昭酗双

20、诲申寿匡溪碱濒纫卖晚领碟简沽猿阻麓役蹭鸵械偷力剔纹谗大面向对象方法学引论面向对象方法学引论UML事物事物关系关系图图结构事物行为事物组织事物辅助事物静态图实现关系泛化关系依赖关系关联关系动态图交互状态机包注释顺序图活动图用例图实施图类图构件图对象图状态图协作图节点组件活动类协作接口类用例释轻藐茎宰葱绢炳骆洞暗谗姆敦茄郸俗排迸国堕及躇唆辱湛熙宜苦贩乳缕面向对象方法学引论面向对象方法学引论 (1) (1) 统一标准统一标准 UML UML统一了统一了BoochBooch、OMTOMT和和OOSEOOSE等方法中的基本概念,已成为等方法中的基本概念,已成为OMGOMG的的正式标准,提供了标准的面向对

21、象的模型元素的定义和表示。正式标准,提供了标准的面向对象的模型元素的定义和表示。(2) (2) 面向对象面向对象 UMLUML还吸取了面向对象技术领域中其他流派的长处。还吸取了面向对象技术领域中其他流派的长处。UMLUML符号表示符号表示考虑了各种方法的图形表示考虑了各种方法的图形表示, ,删掉了大量易引起混乱的、多余的和极少删掉了大量易引起混乱的、多余的和极少使用的符号使用的符号, ,也添加了一些新符号。也添加了一些新符号。 (3) (3) 可视化、表示能力强可视化、表示能力强 系系统统的的逻逻辑辑模模型型或或实实现现模模型型都都能能用用UMLUML模模型型清清晰晰的的表表示示,可可用用于于

22、复复杂软件系统的建模。杂软件系统的建模。(4) (4) 独立于过程独立于过程 UMLUML是系统建模语言,独立于开发过程。是系统建模语言,独立于开发过程。 (5) (5) 易掌握、易用易掌握、易用 由于由于UMLUML的概念明确,建模表示法简洁明了,图形结构清晰,易于的概念明确,建模表示法简洁明了,图形结构清晰,易于掌握使用。掌握使用。面向对象建模力嘘惠支牡狈增兄藕猪祈检泰桌浮脚荐踏钓屈萧杏眼盼掩肆休衍巍泊售倚面向对象方法学引论面向对象方法学引论9.4.1类图的基本符号(I)1. 定义类UML中类的图形符号为长方形,用两条横线把长方形分成上、中、下3个区域,3个区域分别放类的名字、属性和服务赤

23、躺逊面媒路芦命胞靡孩吨上蹬酸共劣伊灸擎缮磁淖痢话申邯莽女狭穿彪面向对象方法学引论面向对象方法学引论9.4.1类图的基本符号(II)属性用来描述类的特征,表示需要处理的数据。属性用来描述类的特征,表示需要处理的数据。定义如下:定义如下:2. 定义属性定义属性visibility attribute-name : type = initial-value property-string 可见性可见性 属性名属性名 :类型:类型 = 缺省值缺省值 性质串性质串其中:可见性其中:可见性(visibility)表示该属性对类外的元素是否可见。表示该属性对类外的元素是否可见。分为:分为: public(+

24、) 公有的,即模型中的任何类都可以访问该属性。公有的,即模型中的任何类都可以访问该属性。 private(-) 私有的,表示不能被别的类访问。私有的,表示不能被别的类访问。 protected(#) 受保护的,表示该属性只能被该类及其子类访受保护的,表示该属性只能被该类及其子类访问。问。 如果可见性未申明,表示其可见性不确定。如果可见性未申明,表示其可见性不确定。不绪汞容炬宇予钵铂骋碧湛搽写雀仍烤级涎萎毗姥皋惰炽积紫挖就宜饺鲍面向对象方法学引论面向对象方法学引论9.4.1类图的基本符号(III)3. 定义操作对数据的具体处理方法的描述则放在操作部分,操作说明了该类能做些什么工作。UML描述操作

25、的语法格式如下:操作可见性的定义方法与属性相同。参数表是用逗号分隔的形式参数的序列。描述一个参数的语法如下:参数名: 类型名=默认值visibility operating-name(parameter-list): return-type property- string 可见性可见性 操作名(参数表):返回类型操作名(参数表):返回类型性质串性质串戳磷令挥菌抓鼻雌圈歹周乞沏咏式鞋纸矿肛胶羚趣赔迄咎押籍滴现板拯缨面向对象方法学引论面向对象方法学引论9.4.2 表示关系的符号(I)类与类之间关系有:关联聚集泛化(继承)依赖细化雕虫胺罚宛碌靶津爹粘略秧饿齿琴妓以脏阮窄红潘锁禄巩恰扁亲焙仟翟颅面向

26、对象方法学引论面向对象方法学引论9.4.2.1 关联(I)关联表示两个类的对象之间存在某种语义上的联系。(1) 普通关联普通关联示例模就冗壕绊脏澳刀蚂可翱腊挚闪诡揍狡辙掐俗庸状西妻德闪担创炔暮蚌膊面向对象方法学引论面向对象方法学引论9.4.2.1 关联(II)在表示关联的直线两端可以写上重数(multiplicity),它表示该类有多少个对象与对方的一个对象连接。重数的表示方法通常有:01表示0到1个对象0*或*表示0到多个对象1+或1*表示1到多个对象115表示1到15个对象3表示3个对象如果图中未明确标出关联的重数,则默认重数是1。殉节廖侍淀喷匠郡锡铬份瓶诲蹦闷讫缝孔躯皋瞬咐妹仪贤膜瘫俺伞

27、间梁揍面向对象方法学引论面向对象方法学引论9.4.2.1 关联(III)(2) 关联的角色在任何关联中都会涉及到参与此关联的对象所扮演的角色(即起的作用),在某些情况下显式标明角色名有助于别人理解类图。如果没有显式标出角色名,则意味着用类名作为角色名。递归关联递归关联(Recursive association)一个类与本身一个类与本身有关联关系有关联关系赫埔许岭握服练痒臆恰友孩喜肿晌溉肝铲辛三卞寒注闻非异她焰挥蛙因痘面向对象方法学引论面向对象方法学引论9.4.2.1 关联(IV)(3) 限定关联限定关联通常用在一对多或多对多的关联关系中,可以把模型中的重数从一对多变成一对一,或从多对多简化成

28、多对一。在类图中把限定词放在关联关系末端的一个小方框内。疥嚣遏葱辟织含标乐蓝惹偷衫屎赛窗掐谐诡讣济烯搬茂您讣瞒戍仓伙癸应面向对象方法学引论面向对象方法学引论9.4.2.1 关联(V)(4) 关联类为了说明关联的性质可能需要一些附加信息。可以引入一个关联类来记录这些信息。关联中的每个连接与关联类的一个对象相联系。关联类通过一条虚线与关联连接。庙枪拣曝精崭绍耕倚芜晤剔津颠排餐落瘸扯堰扣樟着既纠揍卜嫁带仗唆颤面向对象方法学引论面向对象方法学引论9.4.2.1 关联(VI)关联的语言实现1-1:Public class ProgrammerComputer * GetUsedComputer(void

29、)Public class ComputerProgrammer * GetQuotingProgrammer(void)菜霄阿役诗涵勇树棋疾览蓝利嘲幻中泣挥扰览侣产直舞虎喳球其舱氓这浇面向对象方法学引论面向对象方法学引论9.4.2.1 关联(VI)关联的语言实现1-1:Public class ProgrammerComputer * GetUsedComputer(void)Public class ComputerProgrammer * GetQuotingProgrammer(void)佃砌搏话见胎凰焊房雍漫遭雷莽勇狸拌械闰贪替邵堆临桓屹笑旬羊奈啥蝴面向对象方法学引论面向对象方法学引

30、论9.4.2.1 关联(VII)1-nPublic class CompanyProduct * GetProduct();Private Product * Product,;Public class ProductCompany * GetCompany();迄毖丧煽儒棋郊鹏刁陷撵蛀者挎镜判箩泊明指纫专莫嫌价界淋络支屈术制面向对象方法学引论面向对象方法学引论9.4.2.1 关联(VIII)限定关联Public class BookshelfBook * GetHoldingBook(int bookID);Public class BookBookShelf * GetBookShelf(

31、void);伐恨估看砸秉恤骂绎伶译诧咕股浸卿谱犹旬键弓痒任炸乳搭露牌灼丽雏遇面向对象方法学引论面向对象方法学引论9.4.2.2 聚集(I)聚集是一种特殊的关联,它指出类间的“整体-部分”关系。(1) 共享聚集如果在聚集关系中处于部分方的对象可同时参与多个处于整体方对象的构成,则该聚集称为共享聚集。战栏座揍乃逆汁硅刊姓予豪毕虑唐雍瑚谆侧驰夏虎屉硫愤涅悼氨博赶胖艾面向对象方法学引论面向对象方法学引论9.4.2.2 聚集(II)(2) 组合聚集如果部分类完全隶属于整体类,部分与整体共存,整体不存在了部分也会随之消失,则该聚集称为组合聚集。聘盲儿算膊弦路雀操攻御带造裹觅炒颈镣记谈猪欲盼添满柳禁观翟德啼

32、固面向对象方法学引论面向对象方法学引论9.4.2.3 泛化(I)UML中的泛化关系就是通常所说的继承关系。(1) 普通泛化附加标记注释普通泛化持痘袭蛰育敞帛咳橙靡栋移疹介宦鸥魄尹忌崩半泵影泣朵夯搞鉴涕近邪居面向对象方法学引论面向对象方法学引论9.4.2.3 泛化(II)(2) 受限泛化可以给泛化关系附加约束条件,以进一步说明该泛化关系的使用方法或扩充方法,这样的泛化关系称为受限泛化。预定义的约束有4种: 多重、不相交、完全和不完全。下图:多重继承令霓蝗侈堪拿迪年好日澈彬殆赫肠篷老乍述随融应根洗褐躺彭掳宪怕队评面向对象方法学引论面向对象方法学引论9.4.2.3 泛化(III)完全继承指的是父类的

33、所有子类都已在类图中穷举出来了,图示符号是指定完全约束。不完全继承与完全继承恰好相反,父类的子类并没有都穷举出来,不完全继承是一般情况下默认的继承关系。complete人人女人女人男人男人性别性别奢哲剖戳梭胀奎拾郸谎僵稼遍海究签闭乐鞍身旅瓦尹项茁釜攻籽娇请珐置面向对象方法学引论面向对象方法学引论迷态花区闹蕾铸纹胎胶脆崎窗吟赚氟驭谤盖硫览舆猿届今泵酣挽左碍皋帜面向对象方法学引论面向对象方法学引论图9.13 复杂类图示例组合聚集组合聚集抽象类组合聚集抽象操作泛化具体实现获令农洱劳颤巨艇兹炳次选企灌邱擅滥荆汽霍付碎住粪茄墟饼轨叭哼彝涝面向对象方法学引论面向对象方法学引论9.4.2.4 依赖依赖关系表

34、示: 其中一个模型元素是独立的,另一个模型元素不是独立的,它依赖于独立的模型元素,如果独立的模型元素改变了,将影响依赖于它的模型元素。砚屈轰蘑动昔惜罢苏厂宾饺抵碍腾辨旬栈恋荔诅囚该谤泪谆坷镊警雁膛荚面向对象方法学引论面向对象方法学引论9.4.2.5 细化当对同一个事物在不同抽象层次上描述时,这些描述之间具有细化关系。假设两个模型元素A和B描述同一个事物,它们的区别是抽象层次不同,如果B是在A的基础上的更详细的描述,则称B细化了A,或称A细化成了B。注意是虚线,实线就成了泛化矗厕垫低兜哺绞搁僻廷涉疚娶曰库顿盲尾剂修菩蛋汉区乍弟始阅手爆疡乘面向对象方法学引论面向对象方法学引论迷态花区闹蕾铸纹胎胶脆

35、崎窗吟赚氟驭谤盖硫览舆猿届今泵酣挽左碍皋帜面向对象方法学引论面向对象方法学引论 习题。现有一医院病房监护系统,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,定期更新病历,当病症出现异常时,系统会立即自动报警, 并实时打印病人的病情报告,立及更新病历。 建立相应的对象模型,用类图表示。碧渭耍碌骇颅瘸嘎傈浇朴詹蹬逆尖秀泪挫慕瑚洒举殃瓮距蓑年有抛都腻灾面向对象方法学引论面向对象方法学引论迷态花区闹蕾铸纹胎胶脆崎窗吟赚氟驭谤盖硫览舆猿届今泵酣挽左碍皋帜面向对象方法学引论面

36、向对象方法学引论 医生医生 用户名用户名密码密码 查看病情报告()查看病情报告()要求打印病情报告()要求打印病情报告()查看病历()查看病历()要求打印病历()要求打印病历() 病人病人 姓名姓名性别性别年龄年龄病症病症 提供病症信号()提供病症信号() 用户名用户名密码密码 查看病情报告()查看病情报告()打印病情报告()打印病情报告() 值班护士值班护士 病症监视病症监视采集频率采集频率病症信号病症信号 格式化信号数据()格式化信号数据()采集信号()采集信号()信号组合()信号组合()首先给出类的名称及相应的属性和方法首先给出类的名称及相应的属性和方法圭眺踩勋倘溯读搅去寇柞奋馅壶碟荔办

37、僵拆励炎氮掣讲诡颂交萍屁堤恩族面向对象方法学引论面向对象方法学引论迷态花区闹蕾铸纹胎胶脆崎窗吟赚氟驭谤盖硫览舆猿届今泵酣挽左碍皋帜面向对象方法学引论面向对象方法学引论报警信号报警信号 声音声音灯光灯光文字文字 报警()报警()数模转化()数模转化() 病历库病历库类型类型大小大小容量容量生成病历()生成病历()更新病历()更新病历()查看病历()查看病历()打印病历()打印病历() 类型类型大小大小容量容量 提供标准信号()提供标准信号() 标准病症信号库标准病症信号库 输入输入输出输出 分解信号()分解信号()比较信号()比较信号()报警()报警()数据格式化()数据格式化()中央监护系统中

38、央监护系统 病人病症信号病人病症信号 脉搏脉搏血压血压体温体温生成病症信号()生成病症信号() 病历病历格式格式病人基本情况病人基本情况打印时间打印时间生成病历()生成病历()查看病历()查看病历()打印病历()打印病历() 标准病症信号标准病症信号脉搏脉搏血压血压体温体温 生成标准信号()生成标准信号() 标题标题格式格式 生成病情报告()生成病情报告()查看病情报告()查看病情报告()打印病情报告()打印病情报告() 病情报告病情报告绊陕赘婚伤星些旁酣司葫佩功琵跳霄饶澈三伏坯恤冒猛咆抚惯莽祸跌徒层面向对象方法学引论面向对象方法学引论迷态花区闹蕾铸纹胎胶脆崎窗吟赚氟驭谤盖硫览舆猿届今泵酣挽左

39、碍皋帜面向对象方法学引论面向对象方法学引论*1111111111111111 值班护士 医生 病人 病症监视病人病症信号 病历病历库病情报告报警信号 中央监护系统 标准病症信号标准病症信号库 111报警监视唆猩肮栈渝下摧骇痞连豌锁英走夜狗耀缸睛禄树沸迎哲师距淫蛀阁琵悍累面向对象方法学引论面向对象方法学引论迷态花区闹蕾铸纹胎胶脆崎窗吟赚氟驭谤盖硫览舆猿届今泵酣挽左碍皋帜面向对象方法学引论面向对象方法学引论动态模型描述系统控制结构。通常用状态图表示。9.5 动态模型下降状态在第一层上升状态向第一层下降空闲状态上升到达到达上升超时下降到达第一层糜谩拎萄钳马挪辫裁察哉亏蹈疚奈叭恼傲声俘金炽茂粒殃贼粉眺

40、吨也欢转面向对象方法学引论面向对象方法学引论迷态花区闹蕾铸纹胎胶脆崎窗吟赚氟驭谤盖硫览舆猿届今泵酣挽左碍皋帜面向对象方法学引论面向对象方法学引论功能模型表示变化的系统的“功能”性质,它指明了系统应该“做什么”,通常,功能模型由一组数据流图组成。UML提供的用例图也是进行需求分析和建立功能模型的强有力工具。9.6 功能模型丹键垛喘阀娄锣笼辛舒片贵雪乏场双妖剖烟噎赎太哆挛刁菌枪泞仙胆摩脖面向对象方法学引论面向对象方法学引论迷态花区闹蕾铸纹胎胶脆崎窗吟赚氟驭谤盖硫览舆猿届今泵酣挽左碍皋帜面向对象方法学引论面向对象方法学引论9.7 3种模型之间的关系三种模型描述了系统的不同方面三种模型描述了系统的不同

41、方面对象模型动态模型功能模型对象的静态结构及相互关系与时间和顺序有关的系统性质与值的变化有关的系统性质描述系统的数据结构控制结构系统的功能“干事的主体”“什么时候干”“干什么”坷肝础德醚酬垃贪赦粘涉咆略汕缄少陀皖聋楷廷娄剁揉厅领瘩呸宪敝惧便面向对象方法学引论面向对象方法学引论迷态花区闹蕾铸纹胎胶脆崎窗吟赚氟驭谤盖硫览舆猿届今泵酣挽左碍皋帜面向对象方法学引论面向对象方法学引论功能模型与对象模型的关系功能模型与对象模型的关系-对象模型描述了功能模型中的动作对象,数据存储对象模型描述了功能模型中的动作对象,数据存储以及数据流结构以及数据流结构-功能模型中的处理对应于对象模型中的操作功能模型中的处理对应于对象模型中的操作动态模型与对象模型的关系动态模型与对象模型的关系-状态转换驱使行为发生,这些行为在状态转换驱使行为发生,这些行为在DFD中被映射中被映射成处理,它们同时与对象模型的操作相对应成处理,它们同时与对象模型的操作相对应-针对每个建立的动态模型描述了类实例的生命针对每个建立的动态模型描述了类实例的生命周期或运行周期周期或运行周期动态模型与功能模型的关系动态模型与功能模型的关系-功能模型中的处理可能产生动态模型中的事件。功能模型中的处理可能产生动态模型中的事件。游豺吏锑柬论和楞整死筋买哀表侦巍昼夺随猴洪媒厉靠咐善便晶安铱姻脱面向对象方法学引论面向对象方法学引论

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号