四、详细设计
确定功能模块的参与者、数据库表、输入参数说明、前置条件、基本流程、异常流程、日志等信息。
各层次结构的接口定义
数据库设计:逻辑设计—>物理设计->安全性设计->优化
实施建议:
先对系统设计人员进行“专题”培训,让他们掌握必要的系统设计技能。
由于国内绝大多数的大学不开设“用户界面设计课程”,这导致大部分软件开发人员不善于设计用户界面。项目开发小组应当设法邀请用户界面设计专家参与(或指导)本软件的界面设计。
对系统设计过程中产生的所有有价值的文档进行配置管理。
输出文档:
产品详细设计说明书、数据物理设计模型(PDM)、自定义数据类型及BO数据类型文件、数据字典、系统测试用例、对象模型(OOM)
五、Coding
软件编码,各接口的实现。
单元测试。
实施建议:
对开发人员进行“高质量程序设计”培训,让他们掌握编写高质量程序的技能。
对开发人员进行“版本控制、代码审查、测试、改错”等方面的培训,提高他们的工作效率。
开发小组根据项目的资源、时间等限制因素,可以适当地减少测试的工作量。
对实现与测试过程中产生的所有代码和有价值的文档进行配置管理。
输出:
单元测试报告、代码评审报告
六、集成测试
根据系统测试用例测试系统的功能性需求,保证系统的正常功能处理及异常处理是否正确。
用户界面测试,重点是测试软件系统的易用性和视觉效果等。
健壮性测试,测试软件系统在异常情况下能否正常运行的能力。(容错能力和恢复能力)
安全性测试(这种测试一般能通过建行的fortify 软件评测即可)
如果产品需要安装,那么还得经过安装与反安装测试。
实施建议:
对系统测试人员进行必要的培训,提高他们的测试效率。
项目经理和测试小组根据项目的资源、时间等限制因素,设法合理地减少测试的工作量,例如减少“冗余或无效”的测试。
系统测试小组根据产品的特征,可以适当地修改本规范的各种文档模板。
对系统测试过程中产生的所有代码和有价值的文档进行配置管理。
为了调动测试者的积极性,建议企业或项目设立奖励机制,例如:根据缺陷的危害程度把奖金分等级,每个新缺陷对应一份奖金,把奖金发给第一个发现该缺陷的人。
输出:
系统测试报告、缺陷管理报告、操作手册
七、客户验收
成果审查。验收人员审查开发方应当交付的成果,如代码、文档等等。确保这些成果是完整的并且是正确有效的。
验收测试。验收人员对交付的产品进行全面的测试,确保产品功能、质量符合需求。
及时解决客户方发现的问题。
输出:
客户验收计划、验收测试用例、客户验收报告、验收操作手册
实施建议:
在客户验收之前,开发方对验收人员进行必要的产品培训。
开发方可以将系统测试用例给验收人员参考,以减少设计测试用例的时间。
开发方人员应当热情地协助验收人员。对验收人员发现的软件缺陷马上予以纠正;对于复杂的问题应当立即请示有关领导,不可拖延。在验收期间不可与客户争吵,给客户留下很好的印象。
对验收过程中产生的所有有价值的文档进行配置管理。