软件工程 课件.ppt

软件工程 课件.ppt

ID:57029130

大小:149.50 KB

页数:23页

时间:2020-07-26

软件工程 课件.ppt_第1页
软件工程 课件.ppt_第2页
软件工程 课件.ppt_第3页
软件工程 课件.ppt_第4页
软件工程 课件.ppt_第5页
资源描述:

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

1、第12章面向对象实现12.1程序设计语言12.2程序设计风格12.3测试策略12.4设计测试用例12.5小结1应用的实现应用的实现是在所有的类都被实现之后的事情。实际上,当把类开发出来时就已经实现了应用。每个类提供了完成应用所需要的某种功能。在C++和C中有一个main()函数。可以使用这个过程来说明构成应用的主要对象的那些类的实例。2面向对象的设计适宜用OOL来实现,理论上也可以用非OOL实现但不可取。若用非OOL编写面向对象程序,则程序员必须自己实现OOL编译程序自动提供的面向对象的概念和机制:类,继承,封装。若有可能,应选用OOL,因为它

2、的下述重要优点。12.1程序设计语言12.1.1面向对象语言OOL的优点31.一致的表示方法面向对象开发基于不随时间变化的、一致的表示方法OO模型:OOA,OOD,OOP。2.可重用性软件开发组织可重用OOA,OOD和OOP结果。3.可维护性保持文档与源程序一致的完全一致几乎不可能。OOL的可读性(对象名等)=可维护性。4选择面向对象语言应考虑的因素:1.将来能否占主导地位语言的生命力及稳定性:维护的考虑。2.可重用性影响重用的要素:封装,继承,多态。3.类库和开发环境语言、开发环境和类库这3个因素共同决定可重用性。类库是否提供有价值的类?开发

3、环境是否提供使用方便的类库编辑和浏览工具。12.1.3选择面向对象语言54.其他因素在选择编程语言时,应该考虑的其他因素还有:对用户学习面向对象分析、设计和编码技术所能提供的培训服务;在使用这个面向对象语言期间能提供的技术支持;能提供给开发人员使用的开发工具、开发平台、发行平台;对机器性能和内存的需求;集成已有软件的容易程度(调用其它语言的模块)。6为适应面向对象方法所特有的概念(例如,继承性)而必须遵循的一些新准则。12.2程序设计风格两种代码重用:1)本项目内的代码重用,2)重用旧/外项目的代码。1)内部重用:利用继承机制共享相同或相似的部

4、分12.2.1提高可重用性77两种代码重用:1)本项目内的代码重用,2)重用旧/外项目的代码。1)内部重用:利用继承机制共享相同或相似的部分12.2.1提高可重用性8实现两类重用的程序设计准则:1.提高方法的内聚一个方法(即服务)只完成单个功能,否则把它分解成几个更小的方法。2.减小方法的规模把规模过大的方法(代码长度超过一页纸),分解成几个更小的方法。3.保持方法的一致性功能相似的方法应该有一致的名字、参数特征(包括参数个数、类型和次序)、返回值类型、使用条件及出错条件等。94.把策略与实现分开两种不同类型的方法:策略与实现。策略方法(拼积木

5、)调用实现方法(积木)来完成任务(实现图案)。策略方法通常紧密依赖于具体应用。实现方法针对具体数据完成特定处理,用于实现复杂的算法。相对独立于应用,因此,较可能被重用。105.全面覆盖方法的实现不仅满足当前应用而且应该考虑其它应用的潜在需要。此外,方法对空值、极限值及界外值等异常情况也应该能够作出有意义的响应。6.尽量不使用全局信息应该尽量降低方法与外界的耦合程度,不使用全局信息,如类变量。117.利用继承机制继承是实现共享和提高重用的主要途径。(1)调用子过程:把公共的代码分离出来,构成一个被其他方法调用的公用方法,并在基类中定义它。(2)分

6、解因子。从不同类的相似方法中分解出不同的“因子”(即不同的代码),把余下的代码作为公用方法中的公共代码,把分解出的因子作为名字相同(多态性机制)算法不同的方法,放在不同类中定义,并被这个公用方法调用,如图所示。12(3)使用委托。仅当确实存在一般-特殊关系时,使用继承才是恰当的,否则,可以利用委托机制,如本书11.11.3小节所述。(4)把代码封装在类中。(与继承无关)把被重用的代码封装在类中比较安全和修改。13提高可重用性的准则,也能提高程序的可扩充性。此外,下列准则也有助于提高可扩充性:1.封装实现策略把类的实现策略(包括描述属性的数据结构

7、、修改属性的算法等)封装起来,将提高今后修改数据结构或算法的自由度。12.2.2提高可扩充性142.不要用一个方法遍历多条关联链一个方法应该只包含对象模型中的有限内容,除非内容与方法无关。否则将导致方法过分复杂,既不易理解,也不易修改扩充。3.避免使用多分支语句可以利用DO_CASE语句测试对象的内部状态,而不要用来根据对象类型选择应有的行为(强耦合),否则在增添新类时将不得不修改原有的代码。应该利用多态性机制,根据对象当前类型,自动决定应有的行为。154.精心确定公有方法公有方法是向公众公布的接口。对这类方法的修改往往会涉及许多其他类。为提高

8、稳定性,可修改性,降低维护成本,必须精心选择和定义公有方法。删除、增加或修改私有方法所涉及的面要窄得多,因此代价也比较低。16既应该考虑效率,也应该考

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

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

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