大学课件面向对象设计方法.ppt
4.3 面向对象设计方法,OOD可分为两个阶段系统设计阶段 目标:设计系统的整体结构,选择构造系统的策略,包括:分解系统为子系统 子系统到硬件的映射数据管理策略问控制策略全局控制流机制的策略对象设计阶段,http:/,阔韶煎闰今原畅概枕得紧元虞瞅雹蓟袖陈跟佳浴疤噶盈反棱枢仔酚诉设芽【大学课件】面向对象设计方法面向对象方法导论,4.3.1 将OO分析模型转换到OO设计模型,用例,对象-关 系模型,类/对象模型,属性、,子 系 统 设 计,类及对象设计,消息设计,责任设计,分析模型,设计模型(Pressman),操作、,协作者,对象-行为模型,http:/,泡铰膀饵内驴铀釉西祟融犬淘夺狠爷夺宰把稻笔筏高舒石渝并贴安商送舔【大学课件】面向对象设计方法面向对象方法导论,将分析模型转换为软件设计,数据字典,数据流图,E-R图,状态变迁图,加,工,规,约,控制规约,数,据,对,描 述,象,数 据 设 计,体系结构设计,接口设计,过程设计,分析模型,设计模型,http:/,图冻沤鸥蚊习镭驭尤豹童朝贮骑俞戎叹击乃噶容帚乖纳鹤苹鳞簇浮拐外京【大学课件】面向对象设计方法面向对象方法导论,结构化设计的四个层次,数 据 设 计,体系结构设计,接口设计,过程设计,子 系 统 设 计,类及对象设计,消息设计,责任设计,面向对象设计的四个层次,http:/,偷陋弧攀糕锚访涨颅平蠢穿封绦篙趋或症城倒爆茬担筐差篡掸制陈载互钢【大学课件】面向对象设计方法面向对象方法导论,OOD的四个层次:子系统层:包含每个子系统的表示类和对象层:包含类层次和每个对象 的设计表示消息层:包含使得每个对象能够和其 协作者通信的细节,建立系 统的外部和内部接口责任层:包含针对每个对象的所有属性 和操作的数据结构和算法的设计,http:/,持欣丽讥准湖荒直简疗劈洗又真脑铸韵芍乏涟魔深旋点挎蝗阮爆羡溜子攀【大学课件】面向对象设计方法面向对象方法导论,OOA与OOD的本质:OOA是一个分类活动,即分析问题力图确定在开发解决方案时可应用的对象类,同时确定对象关系和行为。OOD使得软件工程师能够确定从类中导出的对象,以及这些对象的相互关联,此外,OOD描述了:对象间的关系如何达到;行为如何实现;对象间通信如何实现。,http:/,交酬团锥梁油禁况恋介涸鲸乱献融幅挪靡恿住韦卓罩雾赣块搁冯浴汲瞧阮【大学课件】面向对象设计方法面向对象方法导论,从OOA到OOD,逐渐扩充模型的过程 OOD分为两个阶段:高层设计(系统设计)低层设计(对象设计),http:/,锄寨买癌估暗疲掉锡京盖惕扳若瓣烂辣湖融铰募鹏晰刽疑邻庇柔共甸含彩【大学课件】面向对象设计方法面向对象方法导论,OOD过程流,对象设计,OOA,系统设计,http:/,暂心委涵伞器翌唉骆必届紧浦问轮雌釜肢雕翠督郑轴星珐佳澄传槛谐匡狮【大学课件】面向对象设计方法面向对象方法导论,OOD过程流,OOA,对象设计,系统设计,人机界面设计,数据管理设计,任务管理设计,http:/,园髓阴再染沥鸭泽吐耗棺兼醉隙摈伎甚措爪呕蜂娱钵唬谤沥羌芽饮牺脆柒【大学课件】面向对象设计方法面向对象方法导论,OMT的系统设计过程:,将分析模型划分为子系统确定需要并发处理的子系统并为它们分配 处理器描述子系统之间的通信选择实现数据管理和任务管理的基本策略确定人机交互构件确定系统资源的管理和控制,http:/,转岿冬俞悬芬擞锁氰躬没土察栅徽缎洞销世殷茶官辰煽活缆滤搞茎颐否扛【大学课件】面向对象设计方法面向对象方法导论,子系统设计划分子系统处理并发操作描述子系统间通信资源管理构件,http:/,锈就五焊粤蹭伯鸿囤瓮淀蹭拽勤挛顺军掀瞻普瓢联肯纱汐缸出逮赊绵颠先【大学课件】面向对象设计方法面向对象方法导论,系统分解:,子系统既不是一个对象也不是一个功能,而是类、关联、操作、事件和约束的内聚集合。定义子系统遵循的标准:子系统应有良好的接口除少数“通信类”,子系统中的类应只和 该子系统中的其它类协作子系统数目不应太多可在子系统内划分以降低复杂性,划分分析模型,子系统,http:/,蜀建抉选背札菌夹僚新猾刺译位缩刘浚猎抵淫怀捧赚赦近规焉翟汪钢吃江【大学课件】面向对象设计方法面向对象方法导论,客户端子系统,端子系统,服务器端子系统,端子系统,请求,请求,请求,合约,合约,子系统间通信,子系统间协作的模型,合约,一个合约提供了对一个子系统和另一个子系统交互方式的标注,http:/,危壤拈抉膨博瞥骆锭这殊冰郁瞎净益仪蝶慕分扰俘茎滓劳溃芹莽总鳞砖母【大学课件】面向对象设计方法面向对象方法导论,由OO分析模型转换到OO设计模型,用例图类 图交互图状态图,包图,方法描述:if A then Calculate Sales Tax Calculate Total Amount End if,设计带方法的类图,http:/,袄腐蚕格幽澈莽丘苑洋宇捣乍醉抑且御证酗明赫兜诺泅池体很坎俘羹穆准【大学课件】面向对象设计方法面向对象方法导论,客户支持系统,客户维护子系统,包图示例,库存管理子系统,订单输入子系统,目录维护子系统,订单执行子系统,http:/,显吭秤抱西瓤树虽猫魏荫焊脐扬刃丽骑窿眩性戚卓唉暮谎檬卿馒画捉顺赂【大学课件】面向对象设计方法面向对象方法导论,客户支持系统,包括设计类的包图示例,客户维护子系统,订单输入子系统,目录维护子系统,订单执行子系统,客户,目录,包,订单条目,订单交易,订单,退货条目,发运人,运输,http:/,你物免犹憾檀峪剐褐弄包拣啃题毙衙峰呀坚腺嗓仿案猜油铂拭褂况漫撞凌【大学课件】面向对象设计方法面向对象方法导论,系统内部,保险单,包图示例,客户,保险单填写界面,数据库界面(abstract),Oracle界面,Sybase界面,http:/,坷爱厨缸嚣曼消循谅现铃填眉云闺壬热总辊蝴和戒踊腿簿跑礼嫁瘸熟绊健【大学课件】面向对象设计方法面向对象方法导论,OOD导出的系统结构,数据管理,其它系统,文件RDBMSOODBMS,设备,系统交互界面,问题论域,人机交互界面,.,.,窗口,报告,http:/,激久庄栽愁键俊沾葡槛哈辩纯玻固账纯礼悦瘤俐胖评黑禾褂蒙慰佰哼大架【大学课件】面向对象设计方法面向对象方法导论,第三层数据库服务器,第二层后台库服务器,第一层前台客户机,http:/,羽学权徊睬母绿逢彩侮盖轴屁鸭撮幸缩算贸俺鼎猫招以镣冗匆劳盈囊哈布【大学课件】面向对象设计方法面向对象方法导论,对象设计 对象设计着重于对象及其相互交互的描述。在对象设计期间:属性数据结构和所有操作的过程的详细规约被创建。所有属性的可见性(公共的、私有的或保护的)被定义,对象间的接口被精化以定义完整的消息模型的细节。,http:/,赛普瓮或林券蒸围讣逸懂腊么芽宋直妆满站销锋拐怨琵渴鉴瞪堤魄痴甥氟【大学课件】面向对象设计方法面向对象方法导论,在对象设计过程中将分析模型转换为设计模型,分析模型 类 属性 方法 关系 行为,设计模型 对象 数据结构 算法 消息传递 控制,http:/,仁剁漓吊镊氯择旱署崭叮闭并恳沟嫉苹痔踌曝记来走陪恶屿兵献口似蕾式【大学课件】面向对象设计方法面向对象方法导论,Fichman和Kemerer提出的10种设计建模成分模块层次的表示数据定义规约过程逻辑的规约端到端处理序列的指明对象状态和变迁的表示类及层次的定义操作到类的赋予详细的操作定义消息连接的规约排它服务的标识,结构化方法所不支持的,http:/,榷臆雨打毫砧瑞橇锣灸夹奋哪参幢垛酮擎仰忻停裴注终绷真辜撰倍笛誊为【大学课件】面向对象设计方法面向对象方法导论,目前流行的OOD方法Booch方法 Booch认为:“设计的目的是为了渐进的实现创建一个系统结构,并制定系统的不同元素都必须采用的共同策略”。设计阶段的活动包括:系统结构计划策略设计发布计划,http:/,陡靶猴闹摇苫淄饰佬灵故滤赐腾渭瑟荷腻咨即崖叶抒翟禽创俘义现筷吊现【大学课件】面向对象设计方法面向对象方法导论,Booch方法使用的图形文档(表示法)包括六种图:类图对象图状态转换图交互图模块图进程图,从两个侧面组织系统模型,http:/,居霸左铭父蒸品锨蒋爆肥曰脐杖惭缠凭椰素妻动谤颤队淆咙亦诀儒撞拽俞【大学课件】面向对象设计方法面向对象方法导论,目前流行的OOD方法Coad-Yourdon方法 Coad-Yourdon方法特别强调OOA 与OOD采用完全一致的概念和表示法,使分析和设计之间不需要表示法的转换。,http:/,二几具嚏悄证咙官惹扫博掺怔柠嚷施壕桅慎冬衡肯汤幂媚侵领权帐记剁捣【大学课件】面向对象设计方法面向对象方法导论,主体层,类及对象层,结构层,属性层,服务层,问题域 部分(PDC),人机交互部分(HIC),任务管理部分(TMC),数据管理部分(DMC),OOD阶段建立,OOA 阶段模型,OOD由四个活动组成:,OOD模型及设计过程,http:/,腆维副肘寡心讨焚买露为侍酸创辱忠骗巷泼量刘谨椎韭轰栈祸沦妇姥叉惩【大学课件】面向对象设计方法面向对象方法导论,目前流行的OOD方法Rumbaugh方法(OMT)Rumbaugh方法(OMT)的OOD过程概述:进行系统设计进行对象设计实现在系统设计中定义的控制机制调整类结构以加强继承性设计消息序列以实现对象关系(关联)包装类和对象为模块,http:/,呕炎狭鲍廉畜捂绿借蒸锈馆食雀睁横序夸狸趋曙循簇盐饮芳洗绅辈载挽兑【大学课件】面向对象设计方法面向对象方法导论,目前流行的OOD方法Jacobson方法(OOSE)Jacobson方法(OOSE)是一种use case驱动的方法。,OOSE方法的过程与模型,分析,构造,测试,需求模型分析模型,设计模型实现模型,测试模型,OOSE的设计根据实现环境对分析模型进行细化,精确地定义对象的接口和操作的语义,其输出是设计模型。,http:/,椰蝉剧苍筏庚耀脓粳魁厅淤赣说隐夫示糊镍氮暂磋综左署岗啦絮雇祟诧瞬【大学课件】面向对象设计方法面向对象方法导论,OOSE的设计 OOSE的设计根据实现环境对分析模型进行细化,精确地定义对象的接口和操作的语义,其输出是设计模型。,http:/,伊加言粕谆敞椰日喷脾握峦拿违菇抱主攒教倡浑色村鲍椰痪哼兰玉蓖闲丰【大学课件】面向对象设计方法面向对象方法导论,统一的OOD方法UML被组织进两个主要的设计活动:系统设计 系统设计的主要目标是表示软件体系结构对象设计 对象设计着重于对象及其相互交互的描述,http:/,骸殆更辅仕忘章娟捷番般屑内臀临缄腮耀醛郁源身帐居酶诞溅试革临瑰骚【大学课件】面向对象设计方法面向对象方法导论,