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

软件过程模型

软件过程概念

软件生命周期

软件过程

在工作产品构建过程中,所需完成的工作活动,动作和任务的集合。

软件过程模型

软件过程评估

能力成熟度模型(CMM)

传统软件过程模型

瀑布模型(第一个软件过程模型,1970年模型)

  • 线性模型
  • 推迟实现

缺点:

  • 增加工作量
  • 开发风险大
  • 早期错误发现晚
  • 不适应需求变化

适用于需求明确,技术成熟,管理严的

V模型(瀑布模型的变种)

原型模型(原型化模型,快速原型模型)

原型:一个部分开发的产品,让客户和开发人员能够检查

阶段:

原型构建:

系统开发:

优点:

减少需求不明确带来的风险。

缺点:

增量模型:

增量:满足用户需求的一个子集,能完成一定功能,小而可用的软件。

增量的方式:

增量方式:

迭代方式:

特点:

  • 非整体式的开发,进化式的
  • 从需求出发

优点:

螺旋模型:

把开发活动和风险管理放一起

适用:风险较大的复杂模型

喷泉模型:(只适用于面向对象的开发)

优点:

缺点:严格管理;文档

现代开发模型:

机遇构建的开发模型:(适用于系统之间有共性)

考虑焦点为集成

  1. 需求分析
  2. 构建分析
  3. 系统设计
  4. 开发集成

统一过程模型:

基于面向对象

三个视角:

动态,静态,实践

适合大团队大项目

实践视角最佳实践:

  1. 迭代式开发
  2. 管理需求
  3. 基于构-体系结构
  4. 可视化建模
  5. 验证软件质量
  6. 控制软件变更

静态结构:

角色,活动,产物,工作流

动态视角:

 

敏捷开发过程:(2001.2,敏捷软件开发宣言)

  1. 个体交互
  2. 可工作软件
  3. 客户合作
  4. 响应变化

敏捷开发方法:极限编程,

敏捷软件过程是基本原理和开发准则的结合

优点:

快速响应变化

可持续开发速度

适应场合:

需求模糊且经常改变,商业竞争环境

选择过程模型:

如何选择软件过程模型:

  1. 前期需求明确-瀑布
  2. 用户无系统使用经验,-原型
  3. 不确定因素多0-增量,螺旋
  4. 需求不稳定-增量
  5. 资金成本无法一步到位-增量
  6. 完成多个独立功能开发,每个功能内部-瀑布
  7. 全新系统的开发,总体设计后-增量或并行
  8. 编码人员工作经验少-不用敏捷或迭代

案例

1:医疗设备控制软件-瀑布

2:校园一卡通的:增量

3:智能化小区:原型化+增量


    http://www.kler.cn/a/517688.html

    相关文章:

  • VSCode下EIDE插件开发STM32
  • 零碎的知识点(九):|| 。||是什么?
  • STM32 硬件I2C读写
  • Cloudflare通过代理服务器绕过 CORS 限制:原理、实现场景解析
  • 嵌入式MCU面试笔记2
  • AIP-128 声明友好接口
  • python动态全局缓存配置
  • 【论文+源码】 SeqDiffuSeq带有序列到序列生成的编码器变压器的文本扩散模型
  • OpenCV相机标定与3D重建(65)对图像点进行去畸变处理函数undistortPoints()的使用
  • 洛谷P1469 找筷子
  • Scala语言的移动应用开发
  • 使用select函数创建多线程TCP服务端
  • Skia使用Dawn后端在Windows窗口中绘图
  • 反向代理模块1
  • 第五天 Labview数据记录(5.1 INI配置文件读写)
  • python+playwright自动化测试(九):expect断言和expect_xxx()元素及事件捕获
  • 隐马尔科夫模型HMM
  • HDLC,pap,chap网络
  • C语言初阶--折半查找算法
  • Titans 架构下MAC变体的探究
  • polars as pl
  • 消息队列:春招面试的重要知识模块
  • Mono里运行C#脚本34—内部函数调用的过程
  • 【Prometheus】RabbitMQ安装部署,如何通过prometheus监控RabbitMQ
  • 【qt信号槽】
  • YOLOV11改进1-检测头篇