第九章软件工程面向对象实现.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 面向对象实现;测试: 同样是保证软件可靠性的主要措施; 目标同样也是用尽可能低的测试成本和尽可能少的测试方案(用例),发现尽可能多的错误。 但,封装、继承和多态等机制,带来一些新特点,增加了测试和调试的难度。 需通过实践,探索适合的、更好的测试方法。;一、程序设计语言; ③ 类库和开发环境 语言、开发环境和类库三因素的综合,共同决定了可重用性。考虑类库时,不仅应考虑语言是否提供了类库,还应考虑类库中提供了哪些有价值的类。 随着类库的日益成熟和丰富,需要开发人员自己编写的代码将越来越少。 为便于积累可重用的类和重用已有的类,在开发环境中,除提供基本软件工具外,还应提供使用方便的类库编辑工具和浏览工具。(类库浏览工具应具有较强的联想功能);④ 其他因素 ● 对用户学习面向对象技术所能提供的培训服务; ● 在使用这个面向对象语言期间能提供的技术支持; ● 能提供给开发人员使用的开发工具、开发平台、发行平台, 对机器性能和内存的需求,集成已有软件的容易程度等。 ;二、程序设计风格;1、提高可重用性 ;② 减小方法的规模 若某个方法规模过大(代码长度超过一页纸),即应将其分解为几个更小的方法。 ③ 保持方法的一致性 一般而言,功能相似的方法应有一致的名字、参数特征(包括参数个数、类型、次序)、返回值类型、使用条件及出错条件等。;◆ 策略方法 负责做出决策,提供变元,并且管理全局资源。 不直接完成计算或实现复杂的算法,只检查系统运行状态、处理出错情况。 紧密依赖于具体应用,这类方法比较容易编写,也比较容易理解。 ◆ 实现方法 负责完成具体的操作,但并不做出是否执行这个操作的决定,也不知道为何执行这个操作。 若在执行过程中发现错误,仅返回执行状态。由于实现方法是自含式算法,相对独立于具体应用,因此在其他应用系统中也可能重用它们。 为提高可重用性,在编程时不应将策略和实现放在同一个方法中,而应将算法的核心部分放在一个单独的具体实现方法中。为此需要从策略???法中提取具体参数,作为调用实现方法的变元。;⑤ 全面覆盖 若输入条件的各种组合都可能出现时,应针对所有组合写出方法,而不能仅针对当前用到的组合情况写方法。 如:在当前应用中需要写一个方法,以获取表格中第一个元素,则至少还应该为获取表中最后一个元素再写一个方法。 此外,一个方法不应只处理正常值,对空值、极限值及界外值等异常情况也应能做出有效响应。(容错);⑥ 尽量不使用全局信息 尽量降低方法与外界的耦合程度,是降低耦合度的主要措施。 ⑦ 利用继承机制 是实现共享和提高重用程度的主要途径。 ◆ 调用子过程 将公共代码分离出来(最简单做法),构成一个被其他方法调用的公用方法,并在基类中定义这个公用方法,供派生类中的方法调用。 ◆ 分解因子 有时是提高“相似类”代码可重用性的一个有效途径。 从不同类的相似方法中分解出不同的“因子”(即不同的代码),余下的代码作为公用方法中的公共代码。将分解出的因子作为名字相同而算法不同的方法,放在不同类中定义,并被这个公用方法调用。(基类); ◆ 使用委托 继承关系的存在意味着子类“即是”父类。因此,父类所有方法和属性应该都适用于子类。但仅当确实存在一般-特殊关系时,使用继承才是恰当的。继承机制使用不当将造成程序难于理解、修改和扩充。 当逻辑上不存在一般-特殊关系时,为重用已有的代码,可利用委托机制。 ◆ 将代码封装在类中 程序员往往希望重用以其他方法编写的、解决同一类应用问题的程序代码。重用这类代码的一个比较安全的途径,是将被重用的代码封装在类中。 如:开发一个数学分析应用系统的过程中,已知有现成的实现矩阵变换的商用软件包,程序员不想用C++重写这个算法,于是定义一个矩阵类把这个商用软件包的功能封装在该类中。;2、提高可扩充性 ;③ 避免使用多分支语句 可利用“DO_CASE语句”测试对象的内部状态,而不要用来根据对象类型选择应有的行为,否则在增添新类时将不得不修改原有的代码。应合理利用多态性机制,根据对象当前类型,自动决定应有的行为。;④ 精心确定公有方法 公有方法是公开的接口,对这类方法的修改往往会涉及许多其他类,因而修改公有方法的代价通常都比较高。 为提高可修改性,降低维护成本,须精心选择和定义公有方法。私有方法是仅在类内部使用的方法,通常可利用私有方法来实现公有方法。删除、增加或修改私有方法所涉及的面要窄得多,因而代价也较低。

文档评论(0)

135****0879 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档