关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数
据结构设计说明书,组装测试计划。
3. 设计
软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将
软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一
个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和
可更换的功能单元。模块,然后进行模块设计。概要设计就是结构设计,其主要目标就是给
出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算
法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。
4. 编码
软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言
表示的
"源程序清单"。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的
选择以及保证软件产品的开发质量。
当前软件开发中除在专用场合,已经很少使用二十世纪
80 年代的高级语言了,取而
代之的是面向对象的开发语言。而且面向对象的开发语言和开发环境大都合为一体,大大
提高了开发的速度。
5. 测试
软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设
计一套出色的测试用例(测试数据和预期的输出结果组成了测试用例)。如何才能设计出
一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方
法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来
发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用
例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的
是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部
/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例
覆盖模块输出和输入接口。黑盒法。
6. 维护
维护是旨在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对
软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,
以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。
一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其
运行或工作时间可能持续五年至十年。那么它的维护阶段也是运行的这五年至十年期间。在
这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工
作本身特有的问题。做好软件维护工作,不仅能排除障碍,使软件能正常工作,而且还可