软件工程 第8章--面向对象设计课件.ppt

软件工程 第8章--面向对象设计课件.ppt

ID:56966093

大小:1.53 MB

页数:73页

时间:2020-07-22

软件工程 第8章--面向对象设计课件.ppt_第1页
软件工程 第8章--面向对象设计课件.ppt_第2页
软件工程 第8章--面向对象设计课件.ppt_第3页
软件工程 第8章--面向对象设计课件.ppt_第4页
软件工程 第8章--面向对象设计课件.ppt_第5页
资源描述:

《软件工程 第8章--面向对象设计课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章面向对象设计(Object-OrientedDesign)§1面向对象设计的准则§2启发规则§3软件重用§4系统分解:设计问题域子系统;设计人机交互子系统;设计任务管理子系统;设计数据管理子系统§5设计类中的服务§6设计关联§7设计优化§8小结1传统方法将分析模型转换为设计数据字典数据流图实体关系图状态迁移图加工规格说明控制规格说明数据对象描述过程设计接口设计体系结构设计数据设计2OO方法将分析模型转换为设计用例对象-关系模型CRC索引卡片对象-行为模型属性、操作、协作者服务设计消息设计类及对象设计子系统设计3§1.OOD准则:优秀软件设

2、计的一个重要特点是容易维护回顾:SD准则包括ModularizationAbstractionInformationhidingModuleindependence对于OOD有类似的准则:1、Module=Object§1.OOD准则4§1.OOD准则Procedureabstraction:在SD中已讨论Dataabstraction:Class即是一种抽象数据类型。外界无须知道实现方法就可按照类协议(classdescriptionprotocol)*使用class中定义的数据。Parameterabstraction:将数据

3、类型作为参数处理。*Classdescriptionprotocol:Thecompletedefinitionofallproperties,features,andmethodsthataredescriptiveofanyobjectthatisaninstanceofaclass.[TimothyBuddAnIntroductiontoObject-OrientedProgrammingAddison-WesleyPublishingCompany,Inc.1991]2、Abstraction:抽出事物的本质特性,暂不考虑其细节,使设计

4、从具体实现方法中超脱。5§1.OOD准则例:C++中的“模板”(template)templateclassarray_n{private:Titems[n];//定义了T类型的向量元素共n个};main(){……array_nw;//w是有1000个元素的复向量……}6§1.OOD准则3、Informationhiding=Encapsulationofobject4、Coupling:交互耦合(interactivecoupling):通过传递message发生要求降低参数个数和参数复

5、杂性减少objects发送接收message的个数aslooseaspossible继承耦合(inheritancecoupling):要求ParentclassIS_Achildclassashighaspossible7§1.OOD准则一般-特殊内聚(general-particularcohesion):Highg-pcohesionHighinheritancecoupling5、Cohesion:服务内聚(servicecohesion):一个服务只完成一个功能。类内聚(classcohesion):一个类只有一个用途

6、,否则分解之。6、Reusability(详见§3)8§2.启发规则1、设计结果清晰易懂,应做到:①用词一致——按习惯用法命名。不同classes中相似的methods最好取同一名字。②使用已有的protocol。③尽量减少message模式的数目。④避免模糊定义。2、一般-特殊结构的深度应适当(约100个classes,则设计7±2层)9§2.启发规则3、设计简单的class(定义不超过一页纸或两屏)。应注意:①避免过多attributes;②能用简单的语句描述一个class的任务;③objects之间合作关系要简单;④避免过多methods

7、(7个)。问题:设计出大量的classes,使结构复杂度增加。解决:划分主题,提高可理解性。4、使用简单的protocol,减少message中传递的parameters5、使用简单的method(CASE可考虑用inheritance替代)。6、把设计变动减至最小。10理想的设计变动情况111、概念:知识重用(例如软件工程知识的重用)方法和标准重用(例如OO方法和国家规定的软件开发规范的重用)软件成分的重用§3.软件重用(SoftwareReuse)知识工程源码剪贴——无法溯源,无配置管理Include——修改后所有包含了此段代码的程

8、序都须重新编译。Inheritance——无须改动原有代码想象一下,stdio.h被改动之后……重用软件成分有三个级别:①代码重用:12§3.软件重

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。