计划
1、确定软件开发总目标;
2、给出软件的功能、性能、可靠性以及接口等方面的设想;
3、研究完成该项目的可行性,探讨问题解决方案;
4、对可供开发使用的资源、成本、可取得的效益和开发进度作出估计;
5、制定完成开发任务的实施计划。
需求分析
对开发的软件进行详细的定义,由需求分析人员和用户共同讨论决定,哪些需求是可以满足的,并且给予确切的描述,写出软件需求说明书SRS (Software Requirement Specification)。
----------------------eg:计算器例子---------------------------
功能需求:
十进制加、减、乘、除
八进制加、减、乘、除
二进制加、减、乘、除
十六进制加、减、乘、除
性能需求:
32位十进制加法需在2秒内 完成
16位十六进制乘法需在10秒内完成
需求分析的分类:
软件研发的类型不同,需求的来源也不同,需求分析中的“用户”针对的具体对象也不同
1、针对产品的软件研发
需求来源:市场调研
用户:市场调研人员
特点:自己想研发什么,自己就来研发
2、针对项目的软件研发
需求来源:客户要求
用户:实际的客户
特点:别人想研发什么,我们帮着研发
设计
工作内容:
1、设计是软件工程的技术核心,这个阶段需要完成设计说明书
2、概要设计(HLD),在设计阶段把各项需求转换成相应的体系结构,每一部分是功能明确的模块;
3、详细设计(LLD),对每个模块要完成的工作进行具体的描述
------------------------计算器例子---------------------------------
1、概要设计
整个软件分成六个模块:界面模块、主控模块、加法模块、减法模块、乘法模块、除法模块,主控模块调用后四个模块。
加法模块包含五个函数:加法主函数、十进制加法函数、八进制加法函数、二进制加法函数、十六进制加法函数,主函数调用后四个函数。
2、详细设计
加法主函数的流程图(或者伪码)
---------------------------------------------------------------------------------------
编码(开发)
工作内容
把软件设计转换成计算机可以接受的程序,即写成以某个程序设计语言表示的源程序清单,使用RDBMS工具建立数据库。
----------------------------------计算器例子-----------------------------------------
用C语言实现详细设计说明书中描述的所有函数。
测试的工作内容
测试是检验软件是否符合客户需求,达到质量要求,一般由独立的小组执行,测试工作分为:
1、单元测试
2、集成测试
3、系统测试
-------------------------------------计算器例子-----------------------------
1、单元测试
参照LLD,对每一个函数进行测试
白盒测试
2、集成测试
参照HLD,对函数与函数的集成、模块与模块的集成进行测试
灰盒测试
3、系统测试
参照SRS,对每一个功能需求、性能需求等进行测试
运行与维护
这个阶段将软件交付用户投入正式使用,以后便进入维护阶段,可能有多种原因需要对它进行修改,如软件错误、系统软件升级、增强软件功能、提高性能等。
----------------------------计算器例子------------------------------
计算器提供给用户使用,用户在使用过程中如发现问题可通过技术支持人员反映,问题解决后为用户进行软件升级……