文章目录
- 一. 软件开发过程
- 1. 什么是过程
- 2. 如何保证最终交付的是用户满意的产品
- (1). 怎么有效控制呢?
- (2). 过程的方法
- 3. 软件过程包括哪些基本活动
- (1). 软件开发总体活动过程
- (2). 软件开发基本活动
- 1. 问题定义
- 2. 需求开发
- 3. 软件设计
- 4. 软件构造
- 5. 软件测试
- 6. 软件维护
- (3). 软件开发管理
- 1. 软件项目管理
- 2. 软件配置管理
- 4. 软件过程模型
- (1). 常见的软件过程模型
- 1. 瀑布模型
- 2. 原型化模型
- 3. 迭代式开发
- 4. 可转换模型
- 二. 敏捷开发过程
- 1. 传统的瀑布模型
- 2. 软件开发之道
- (1). 软件开发是否可以实现一个完整、详尽的计划?软件项目能否预先考虑到所有的风险?
- (2). 您是想获取一些更有价值的交付产品呢,还是只想完成进度表!!
- (3). 互联网产品的开发特点
- 3. 敏捷开发方法
- (1). 定义
- (2). 敏捷方法:适应而非预测
- (3). 敏捷宣言
- (4). 敏捷开发方法
- 4. 传统开发 vs. 敏捷开发
一. 软件开发过程
1. 什么是过程
过程是一组将输入转换为输出的相互关联或相互作用的活动
2. 如何保证最终交付的是用户满意的产品
在于对软件开发过程进行有效控制
(1). 怎么有效控制呢?
- 规定过程实现方法和步骤
- 对过程进行监控
(2). 过程的方法
3. 软件过程包括哪些基本活动
(1). 软件开发总体活动过程
(2). 软件开发基本活动
1. 问题定义
2. 需求开发
3. 软件设计
4. 软件构造
5. 软件测试
6. 软件维护
(3). 软件开发管理
1. 软件项目管理
2. 软件配置管理
4. 软件过程模型
软件过程为了获得高质量软件而进行的一系列任务,定义了完成各项任务的工作步骤,把任务、人员、工具密切的结合在一起
(1). 常见的软件过程模型
1. 瀑布模型
缺点:
只有到测试阶段才能真正的确认和验证软件的功能和性能
但是这个时候所有的代码都已经开发完成了,很难返回去纠正需求问题和设计的缺陷,确实对变化的适应。
目前很少在业界使用,各个阶段完全固定,增加工作量,只有在开发结束才能看见结果
2. 原型化模型
软件开发作为一个问题求解过程,应该具备什么特点?
- 软件开发具有迭代性
迅速建造可运行的模型,让用户和开发人员观察是否合适和恰当
3. 迭代式开发
主要内容
主要分类
适用于:网络公开网课网站
4. 可转换模型
适用:汽车防抱死系统
1. 传统的瀑布模型
现在已经被敏捷开发所取代
2. 软件开发之道
(1). 软件开发是否可以实现一个完整、详尽的计划?软件项目能否预先考虑到所有的风险?
(2). 您是想获取一些更有价值的交付产品呢,还是只想完成进度表!!
(3). 互联网产品的开发特点
- 快鱼吃慢鱼
- 版本发布成本很低
- 追求创新
- 需要快速响应用户的变化
- 需求不确定性高
- 关注用户行为
3. 敏捷开发方法
(1). 定义
敏捷开发是一种基于更紧的团队协作、能够有效应对快速变化需求、快速交付高质量软件的迭代和增量的新型软件开发方法。
(2). 敏捷方法:适应而非预测
(3). 敏捷宣言
(4). 敏捷开发方法
4. 传统开发 vs. 敏捷开发