当前位置: 首页 > article >正文

系统开发基础——开发模型

目录

  • 前言
  • 软件开发模型
    • 1.瀑布模型
    • 2.V模型
    • 3.极限编程XP
    • 4.增量模型
    • 5.喷泉模型
    • 6.原型模型
    • 7.螺旋模型
    • 8.统一过程UP
  • 相关题目
    • 1.快速原型模型
    • 2.增量模型
    • 3.喷泉模型
    • 4.敏捷开发方法
    • 5.极限编程
    • 6.螺旋模型

前言

本笔记为备考软件设计师时的重点知识点笔记,关于系统开发基础——开发模型

软件开发模型

1.瀑布模型

请添加图片描述

特点
阶段划分明确,易管理,但不适应需求突然变化
适合项目
已有完整文档,需求明确不易变更

2.V模型

请添加图片描述

特点
开发阶段和测试阶段一一对应
适合项目
需求不易变更,开发与测试紧密度高,可尽快发现问题

3.极限编程XP

特点
强调快速响应需求变化,采用迭代和增量的方式进行开发
适合项目
需求不明,可持续改动
核心价值观

  1. 个体沟通
  2. 可工作软件
  3. 客户反馈
  4. 灵活变化

原则

  1. 快速制定计划
  2. 系统快速交付
  3. 信息传达合理
  4. 简单设计
  5. 反思行为
  6. 集体工作
  7. 持续开发
  8. 编码标准
  9. 信任伙伴
  10. 学习他人
  11. 软件持续迭代
  12. 用户为中心

4.增量模型

在这里插入图片描述

特点
软件模块化,软件递增式开发,分批交付

适合项目
软件产品可分批交付,系统可被模块化
注意:第一个增量为核心产品

5.喷泉模型

在这里插入图片描述

特点
连续迭代无间隙,面向对象

适合项目
已用户需求为动力,以面向对象为中心

6.原型模型

在这里插入图片描述

7.螺旋模型

在这里插入图片描述

特点
融合瀑布模型,演化模型,加入风险分析

适合项目
庞大、复杂、高风险

8.统一过程UP

特点
用例驱动,以架构为中心迭代和增量

四大步骤

  1. 初始
  2. 细化
  3. 建构
  4. 交付

相关题目

1.快速原型模型

以下关于快速原型模型优点的叙述中,错误的是(C)

  • A.有助于满足用户的真实需求
  • B.适用于大型软件系统的开发
  • C.开发人员快速开发出原型模型,因此可以加速软件开发过程,节约开发成本
  • D.原型系统已经通过与用户的交互得到验证,因此对应的规格说明文档能正确的描述用户需求

相关解析
原型开发适用于需求不明确的系统,整个过程在不断的探索需求,开发成本高

2.增量模型

以下关于增量模型优点的叙述中,不正确的是(D)

  • A.强调开发阶段性早期计划
  • B.第一个可交付版本所需要的时间少和成本低
  • C.开发由增量表示的小系统所承担的风险小
  • D.系统管理成本低、效率高、配置简单

相关解析
增量模型的优点:

  1. 阶段划分明确,易管理
  2. 第一个可交付版本所需要的时间和成本少
  3. 开发由增量表示的小系统所承担的风险小

增量模型的缺点:

  1. 管理发生的成本、进度和配置的负责性可能辉超出组织的能力

3.喷泉模型

喷泉模型是一种适合于面向(A)开发方法的软件过程模型。该过程模型的特点不包括(D)

问题一:

  • A.对象
  • B.数据
  • C.数据流
  • D.事件

问题二:

  • A.以用户需求为动力
  • B.支持软件重用
  • C.具有迭代性
  • D.开发活动之间存在明显的界限

相关解析

喷泉模型是一种适合于面向对象开发方法的软件过程模型

特点:

  1. 以用户需求为动力
  2. 支持软件重用
  3. 具有迭代性

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.它不适用于大型软件开发

相关解析

螺旋模型特点:

  • 引入了其他模型不具备的风险分析
  • 在每个迭代阶段构件原型是螺旋模型用以减小风险的途径
  • 螺旋模型更适合大型的昂贵的系统级的软件应用

http://www.kler.cn/news/351006.html

相关文章:

  • 电子设备老化实验怎么做?
  • 【Blender】 学习笔记(一)
  • 图像处理中的图像重建
  • Java项目-基于springboot框架的原创歌曲分享系统项目实战(附源码+文档)
  • python离线安装依赖
  • 实操 maxkey对接三方文档
  • 数据结构 ——— 顺序表和链表的区别以及各自的优缺点
  • 使用Tftpd32工具数据互传是一种什么体验?SSD201/202D开发板演示,深圳触觉智能嵌入式方案商
  • Git上传命令汇总
  • stm32 rtx操作系统 堆(heap) 栈(stack) keil在线监测
  • 模板匹配的交通标志识别系统MATLAB
  • AI-基本概念-训练集、验证集、测试集
  • 前端vue部署网站
  • 卷积神经网络(CNN)-Padding介绍
  • 每日OJ题_牛客_小乐乐改数字_模拟_C++_Java
  • 护眼台灯横评:书客、柏曼、明基哪款使用体验好,又能护眼?
  • 【安当产品应用案例100集】023-企业内部对Oracle数据库动态凭据的管理
  • golang一个轻量级基于内存的kv存储或缓存
  • USB驱动程序知识介绍
  • es kibana .logstash离线集群安装
  • 总结ES6—ES13新特性
  • java导出带图形的word
  • BP8523D非隔离5V100MA输出SOP7贴片AC-DC电源芯片
  • 【开源】第三期:数字货币程序化交易终端开源
  • 产品更新|DuoPlus云手机APP预装、批量管理功能新上线!
  • 微信小程序启动相机功能