软件生命周期及研发模型
什么是软件生命周期
- 软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件 设计、编码、测试、软件发布维护的过程。
软件生命周期的三个时期
- 软件定义
问题定义——要解决的问题是什么
可行性研究——上一阶段所确定的问题是否有行得通的解决办法
需求分析——目标系统必须做什么
- 软件开发
概要设计——怎样实现目标系统
详细设计——应该怎样具体地实现这个系统
编码和单元测试——写出正确的容易理解、容易维护的程序模块
综合测试——通过各种类型的测试使软件达到预定的要求
- 运行维护
使软件持久地满足用户的需要
软件研发模型
大爆炸模式
特点:简单,计划、进度安排和正规开发过程几乎没有, 所有精力都花在开发软件和编写代码上,没有测试活动
边写边改模式
特点:开发组最初有粗略的想法,进行简单的设计,然后 开始漫长的来回编写、测试和修改缺陷的过程。适合快速 制作而且用完就扔的小项目,例如,原型范例和演示程序
瀑布模型
- 瀑布模型的特点
瀑布模型非常强调产品的定义→开发或者代码编制阶段只是其中单独的一块
瀑布模型各步骤是分立的\没有交叉
瀑布模型无法回溯→一旦进入某个步骤,就要完成该步骤的任务,然后才能向下继续——无法 回溯
每个阶段都要仔细验证,线性过程太理想化,越来越不适合现代软件的开发 模式
快速原型模型
- 快速原型模型的特点
克服瀑布模型的缺点,更好地满足用户的需求并减少由于软件需求不明确带 来的项目开发风险
适合预先不能确切定义需求的软件系统的开发
不适合大型系统的开发(适合开发