软件生命周期的三个时期:
软件定义
1.问题定义
2.可行性研究
3.需求分析
软件开发
1.概要设计
2.详细设计
3.编码和单元测试
4.综合测试
运行维护
• 使软件持久地满足用户的需要
软件生命周期:
定义:软件开发全部过程、活动和任务的结构框架,
是从可行性研究到需求分析、软件 设计、编码、测试、软件发布维护的过程。
软件研发模型
瀑布模型
特点:• 瀑布模型非常强调产品的定义
• 瀑布模型各步骤是分立的\没有交叉
• 瀑布模型无法回溯
• 每个阶段都要仔细验证,线性过程太理想化,
越来越不适合现代软件的开发 模式
快速原型模型
特点: • 克服瀑布模型的缺点,
更好地满足用户的需求并减少由于软件需求不明确带 来的项目开发风险
• 适合预先不能确切定义需求的软件系统的开发
• 不适合大型系统的开发(适合开发小型的、灵活性高的系统)
• 前提要有一个展示性的产品原型,
因此在一定程度上可能会限制开发人员的 创新
螺旋模型
特点:• 开始不必详细定义所有细节
• 从小开始,定义重要功能,努力实现
• 接受反馈,进入下一次循环
• 测试活动贯穿于每个循环
敏捷开发
流程:• 产品经理调研客户需求
• 项目经理接收到需求,分配任务
• 迭代周期,每日站会
• 交付客户进行确认
• 进入下一个迭代周期…直到交付客户的所有需求
测试人员的服务对象
项目经理(开发经理、测试经理)
产品经理
程序员
文档编写人员
技术支持
市场人员
管理层和项目相关人员
用户