目录
前言
本笔记为备考软件设计师时的重点知识点笔记,关于系统开发基础——开发模型
软件开发模型
1.瀑布模型
特点
阶段划分明确,易管理,但不适应需求突然变化
适合项目
已有完整文档,需求明确不易变更
2.V模型
特点
开发阶段和测试阶段一一对应
适合项目
需求不易变更,开发与测试紧密度高,可尽快发现问题
3.极限编程XP
特点
强调快速响应需求变化,采用迭代和增量的方式进行开发
适合项目
需求不明,可持续改动
核心价值观
- 个体沟通
- 可工作软件
- 客户反馈
- 灵活变化
原则
- 快速制定计划
- 系统快速交付
- 信息传达合理
- 简单设计
- 反思行为
- 集体工作
- 持续开发
- 编码标准
- 信任伙伴
- 学习他人
- 软件持续迭代
- 用户为中心
4.增量模型
特点
软件模块化,软件递增式开发,分批交付
适合项目
软件产品可分批交付,系统可被模块化
注意:第一个增量为核心产品
5.喷泉模型
特点
连续迭代无间隙,面向对象
适合项目
已用户需求为动力,以面向对象为中心
6.原型模型
7.螺旋模型
特点
融合瀑布模型,演化模型,加入风险分析
适合项目
庞大、复杂、高风险
8.统一过程UP
特点
用例驱动,以架构为中心迭代和增量
四大步骤
- 初始
- 细化
- 建构
- 交付
相关题目
1.快速原型模型
以下关于快速原型模型优点的叙述中,错误的是(C)
- A.有助于满足用户的真实需求
- B.适用于大型软件系统的开发
- C.开发人员快速开发出原型模型,因此可以加速软件开发过程,节约开发成本
- D.原型系统已经通过与用户的交互得到验证,因此对应的规格说明文档能正确的描述用户需求
相关解析
原型开发适用于需求不明确的系统,整个过程在不断的探索需求,开发成本高
2.增量模型
以下关于增量模型优点的叙述中,不正确的是(D)
- A.强调开发阶段性早期计划
- B.第一个可交付版本所需要的时间少和成本低
- C.开发由增量表示的小系统所承担的风险小
- D.系统管理成本低、效率高、配置简单
相关解析
增量模型的优点:
- 阶段划分明确,易管理
- 第一个可交付版本所需要的时间和成本少
- 开发由增量表示的小系统所承担的风险小
增量模型的缺点:
- 管理发生的成本、进度和配置的负责性可能辉超出组织的能力
3.喷泉模型
喷泉模型是一种适合于面向(A)开发方法的软件过程模型。该过程模型的特点不包括(D)
问题一:
- A.对象
- B.数据
- C.数据流
- D.事件
问题二:
- A.以用户需求为动力
- B.支持软件重用
- C.具有迭代性
- D.开发活动之间存在明显的界限
相关解析
喷泉模型是一种适合于面向对象开发方法的软件过程模型
特点:
- 以用户需求为动力
- 支持软件重用
- 具有迭代性
4.敏捷开发方法
敏捷开发方法Scrum的步骤不包括(B)
- A.Product Backlog
- B.Refactoring
- C.Sprint Backlog
- D.Sprint
相关解析
- Product Backlog(产品代办清单)
- Refactoring(重构)
- Sprint Backlog(Sprint待办事项清单)
- Sprint(冲刺迭代)
5.极限编程
以下关于极限编程(XP)的最佳实践的叙述中,不正确的是(B)
- A.只处理当前的需求,使设计保持简单
- B.编写完程序之后编写测试代码
- C.可以按日甚至按小时为客户提供可运行的版本
- D.系统最终用户代表应该全程配合XP团队
相关解析
极限编程12个最佳实践:
- 简单设计(只处理当前的需求,使设计保持简单)
- 测试先行(先写测试代码,然后再编写程序)
- 持续集成(可以按日甚至按小时为客户提供可运行的版本)
- 现场用户(系统最终用户代表应该全程配合XP团队)
- 计划游戏(快速制定计划、随着细节的不断变化而完善)
- 小型发布(系统的设计要能够尽可能早地交付)
- 隐喻(找到合适的比喻传达信息)
- 重构(重新审视需求和设计,重新明确地描述它们以符合新的和现有的需求)
- 结对编程
- 集体代码所有制
- 每周工作40小时
- 编码标准
6.螺旋模型
以下关于螺旋模型的叙述中,不正确的是(D)
- A.它是风险驱动的,要求开发人员必须具有丰富的风险评估知识和经验
- B.它是可以降低过多测试或测试不足带来的风险
- C.它包含维护周期,因此维护和开发之间没有本质区别
- D.它不适用于大型软件开发
相关解析
螺旋模型特点:
- 引入了其他模型不具备的风险分析
- 在每个迭代阶段构件原型是螺旋模型用以减小风险的途径
- 螺旋模型更适合大型的昂贵的系统级的软件应用