实现阶段
规划和测试——组织产品的实现方案前,应确保事先有一个清楚的进度安排,而且进度安排必须为测试和调试留有充足的时间。
规划
1原型规划
为最终的系统建立一些实验型模型,以使开发人员能在没有目标系统的情况下就能着手工作。
1) 得决定系统的哪些部分能够进行原型构建
2) 决定如何构建,是全用软件还是买一个单板开发系统,在上面做些测试
3) 精确的制定系统如何从原型发展到最终的平台
4) 找到并分配构建原型所需的资料
2测试规划
确保你的实现进度中包括测试过程的时间耗费。时间长短取决于系统的复杂性。
实现阶段两个环节:
1) 当子系统完成时,叫单元测试
2) 当把子系统集成到较大的系统中时,集成测试
3种类型的测试
1) 代码的测试——程序正确性;确认测试到了源代码每条语句,即代码的覆盖测试。保存好代码测试所写的数据和测试程序。
2) 功能测试——系统是否按指定要求运行
3) 回归测试——检查系统是否能正确的处理其结果已被先前验证的数据。
单元测试采用代码测试,集成测试采用功能和回归测试
3源代码控制管理
有一个用于跟踪已生成代码的体系,该体系不仅是一个存储库(一中心数据库)而且还要有一种跟踪项目的各个细节部分状态的机制。使你能确定某一子程序是在建还是在调试,或已标记完成。
有许多用于管理群体编程项目的软件控制系统
4进度安排
考虑各种类型的工作:编程、硬件制作、测试、调试。
时常回过头检查进度安排并不惜对其修改,不要精确估计完成一个大型软件的时间,这样常常会低估工作分量。划分成一些小任务,对其估计工作量。
实现设计
1建立程序框架
自上而下的设计方法。先写主程序,确定整个程序的走向。获得一个高效运行的最终软件的构架,而且能知道底层功能是从何处调用的。有助于你定出所有子程序将共享的全局数据的细节。低层功能可用占位程序替代。
2分派子系统的开发
尽可能多工作能并行运行
3编写函数接口
对每个子系统,要以生成子系统接口作为入手点。接口结构在设计阶段应已定出。对于C,一个定义良好的函数原型的头文件很有帮助。
一个子系统将由一个同别的子系统打交道的API以及一些只从该子系统内部调用的内部子程序构成。程序员建立子系统的一个骨架版本,不但要确定出其内部API,而且要确定出内部子程序的函数原型(函数名、变量等)和重要的内部数据结构。
4监视进度
管理和软硬件工程的结合。要经常回头查看进度表,安排定期的会议,使大家保持同步。
坚持使用软件控制系统。
存储库有利于常用的子程序的重复利用,并且可能被用作将来的一些项目的代码的一种资源。
在整个开发周期中,如果你能确保目标和技术指标被清楚的陈述,人员沟通良好,并有些基本的控制机制(如源代码控制管理)和正规的回归测试到位,就有极大可能成功。