- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第21章 实现方面的问题21.1 引言21.2 程序设计语言的考虑1.谈到复用时除了复用代码,还可以复用事务规则、需求、环境、文档、体系结构、测试计划等。软件工程生存期内所有的工作结果都可以被复用。2.可以使用非面向对象程序设计语言来实现面向对象的程序.只学习了C++的语法,而没有学习任何有关面向对象的开发模式。其结果就是自顶向下,从功能上分解对象。应首先在OOA和OOD方面对程序员进行培训.21.3 一个迭代的软件开发过程1.通用的迭代的软件开发过程 如果各个项目阶段和工作结果在一个有控制的和可管理的方式下可以重做,那么我们认为这样的软件开发过程是一个迭代的过程。 我们认为对于大而复杂的软件系统,采用迭代的软件开发过程(项目的各阶段在有控制可管理的方式下可重做)是极其重要的。图21.1这个过程是专门针对面向对象的开发方法的, 称为基于线程的开发过程.从概念上,可以认为线程就是事件的分片实现并不是以瀑布流水的方式组织起来的.OOD工作表格其它信息,文献,手册,类似产品等预分析活动基本模型OOAOOD预分析工作产品(OOA工作表格,E/R,初始GUI布局)图形用户界面设计分设计模型初始GUI布局(包括各种功能定义,数据定义等。)各种软件需求GUI配各种需求定义,建模各OOP种需求支持包括:追踪能力矩阵,配置管理,各种管理报告,各种度量等Deploy-ment实现支持产品项目数据库21.5 对基于对象的设计进行测试 将系统级测试与对象级测试区分开是很重要的。21.5.1 系统级的测试1.黑盒测试 测试是基于系统级的规格说明.规格说明包括需求定义模型、事件-响应模型和用户界面规格说明。测试目的:要证实功能的执行与规格说明相一致。测试方法:建立应用论域的场景(即使用事例),这些场景将从用户的角度来捕捉系统行为。 这是一种最有效的方法。测试环境:必须要有实际用户,最好是在一个真实的应用环境中进行。测试人员:熟悉开发方法学的人员和用户。优点:不需要特殊的测试环境。注意:要保存所有测试的日志和记录。2.白盒测试 基于各设计文档中所定义的内部系统结构。文档包括EROI图、OOA和OOD模型以及GUI设计文件等。能为EROI图中所定义的类识别的每个事件都必须经过验证。各个类之间的协同(消息)以及EROI图中所定义的对事件的响应也必须经过验证。 这种验证不包括服务级的测试。 白盒测试是在相关的黑盒测试完成之后进行的。 最好是由不属于该项目组织的人员来执行。由一个项目组的成员来测试另一个项目组的工作成果,往往是很有效的。21.5.2 对象级的测试1 对象级的测试独立于任何特定的应用系统,必须在通用的复用环境中执行。2.对象级黑盒测试是通过一个对象级的测试台来完成的。测试台能够让对象接收消息,并能对所生成的消息进行显示、捕捉和分析。黑盒测试应当由开发组进行。每个对象还应带有一个用户手册。3.对象级的白盒测试也是由开发组完成的。主要是对所有的服务及其组成部分进行检查。要使用特定的测试平台。测试平台能将所要测试的对象从其它对象中分离出来,从而独立于其它对象和应用环境。 《结束》初始线程标识需求选择一个线程将线程标记于矩阵中与开发组会商要更改RDM 吗?修改RDM要建立或修改线程吗?基于线程的实现流程图将线程分布到各组将线程分布到各组产生OOM线程段产生数据库实现方案需要产生数据库 吗?产生实现方案评审线程线程可接受吗?解除处理基于线程的实现流程图(续) RAD对象之间的消息传递都通过函数或子程序调用来完成。实例连接、泛化-特化关系、整体-部分关系由RAD对象间的共享变量实现。比较传统的RAD方法与面向对象的RAD方法。??????应用系统数据库应用系统各DMC对象数据库??事务规则事务规则各PDC对象传统RAD面向对象RAD
文档评论(0)