首页 > 其他分享 >【UML软件分析】常见软件过程模型

【UML软件分析】常见软件过程模型

时间:2022-09-23 09:48:34浏览次数:43  
标签:需求 模型 瀑布 原型 UML 软件 快速

前言

为什么写这篇博客:软件工程是一门大学科,想学好必先理解总结归纳。

这篇文章说了什么:
介绍了常见的软件过程模型,介绍各个模型的特点,优缺点,以及适用场景


一、典型的过程模型

  • 传统瀑布模型-1970年提出

从上面图片发现瀑布模型是有反馈环的:当在后面阶段发现前面阶段的错误时,需要沿反馈线返回前面的阶段 修正前面阶段的产品之后再回来继续完成后面阶段的任务

  • 瀑布模型的优缺点

    因为是要完全按照文档来开始,文档本身不规范,不经过一系列的分析的话,最后会造成寸步难行。

  • 瀑布模型适用场景

    1. 需要稳定,变化小,且一次性能获得全部需求(这样就不会经常改文档了)
    2. 软件开发人员经验丰富,对领域十分熟悉(因为要严格按照文档来进行)
    3. 软件项目本身风险低
  • 瀑布模型适用场景

    瀑布模型要求严格,那肯定是要在那些功能,性能明确的项目上,而且项目没有变化需求。


2.快速原型

问:为什么要快速原型模型?
答:现实中有的项目对于需求是会经常改变的(当然也少不了不懂行的),比如那种操作系统,财务系统等等,这个时候使用快速模型就是一个非常好的选择了~~

  • 快速原型模型

    • 快速构建一个在计算机上运行的原型系统,让用户试用原型,收集用户反馈,获取用户需求
  • 基本思想

    • 系统的需求贯彻整个模型(逐步完善) ,比如:你开发了一个功能,用户觉得OK,那就留下,继续开发下一个,可以让用户很快的看见功能
  • 与瀑布模型的比较

可以看见上面的图片瀑布模型每一层还要验证上面一层,看看是否符合规范,而快速模型直接验证通过就下一层了,大大节省了时间

  • 原型的分类

    • 废弃型(throw away):

      也称为快速建立需求规格原型RSP法(Rapid Specific Protoyping)

      当需求确认时废弃原型,按照瀑布模型规范进行。

    • 追加型(add on):

      也称为快速建立渐进原型RCP法(Rapid Cyclic Protoyping)

      当模型创建好添加功能,需要的话还可以进行扩充,不废弃,最终成为原型模型(产品)

  • 快速原型的开发过程

    快速原型模型从流程图上来看,只要满意且符合立马做出,不符合也可以更快的很甲方沟通方便修正改进

  • 快速原型法处理过程

    客户全程在评,只要客户满意就OK~~

  • 快速原型的特点

  1. 线性开发模型(不带“反馈环”)
  2. 减少开发的需求不确定性和盲目性
  3. 开发系统能满足需求,修改小(一次就搞好)
  • 快速原型的适用范围
  1. 已有产品(原型)
  2. 简单而熟悉的领域
  3. 有快速原型的开发工具
  4. 进行升级和移植
  • 快速原型的优缺点

    缺点:
    快速(功能不齐全就一个样子)
    资源规划管理较为困难
    对开发环境要求高

    优点:
    处理模糊需求
    用户参与
    快速


3.增量模型(Incremental model)

基本思想:软件模块化,把软件产品作为一系列增量组件来设计编码
(先创建一个具备基本功子系统,然后对其完善)

  • 特点
    系统模块化和组件化

  • 优点
    系统模块化分批次的提交软件产品,使用户可及时的了解项目的进展
    开发顺序灵活

  • 缺点
    要求待开发的软件系统可以被模块化

  • 使用范围
    项目分批次的交付
    项目管理人员把握全局的水平较高


4.螺旋模型(Spiral model)

介绍:1988年 巴利玻姆,将瀑布模型和快速原型模型结合起来,强调风险分析

这个图是从内道到外道 风险分析-》软件需求-》需求确认...

  • 优缺点

这个模型适合复杂的,高风险的大型项目(因为每个阶段有风险评估,而且细致)


5.喷泉模型(Fountain model)

喷泉模型以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开发工程

  • 特点
    迭代无间隙

  • 优点缺点

喷泉模型适用面向对象的软件开发


标签:需求,模型,瀑布,原型,UML,软件,快速
From: https://www.cnblogs.com/cxtd/p/16698121.html

相关文章

  • UML _ 状态机图
    概述对现实世界中事物的观察现实世界中的各种事物通常都有一个生命周期。在事物被创建后,经过一定阶段的变迁,它可能就结束或消亡了。例如:生物会经历出生、成长、衰老和......
  • AIDL简单通讯模型
    新建一个AIDL服务端Project将该Project命名为AIDLServerApplication新建一个AIDL接口文件命名为ITestService定义一个测试接口voidtest();源码(包名是重点!!!)packa......
  • 路由器、集线器、交换机分别工作在OSI七层协议模型的哪一层
    路由器三层(网络层);集线器一层(物理层);普通交换机二层(数据链路层)。现在也有工作在第三层的交换机。OSI七层网络模型由下至上为1至7层,分别为物理层(Physicallayer),数......
  • Windows最值得安装的软件,这6款中一定有你想要的
    软件越多未必就会提高工作、学习效率,在软件使用方面,在于一个“精”。今天和大家分享的我自己目前在用的几款Windows软件,这其中一定也有你想要的: 1.FastStoneCapture......
  • 我对软件工程的一些理解
    这是我第一次学习软件工程这门课程,下面我将结合网上收集到的资料、上课学到的相关知识和我的一些个人想法来写一下我对软件工程的理解。软件工程是指导计算机软件开发和维......
  • 《UML面向对象建模与设计》———2022夏末的枫萏
    OLD一、枫萏  嗨,大家好!既然大家都能在班级内看见自己的名字了,那我就来跟大家介绍一下我的另一个名字吧——枫萏(dàn),或许它的一代名大家会更容易熟悉一些:疯蛋。  我......
  • 应用软件测试用例设计方法
    1、引言测试设计遵循与软件设计相同的工程原则。好的软件设计包含几个对测试设计进行精心描述的阶段。这些阶段是:测试策略测试计划测试描述测试过程上述四个测试设计阶段适......
  • 房产中介管理软件第7课:T4模板的使用
    因为创建Model、Repository、Service、Controller有大量重复的工作。除了一些通用的方法会整合到BaseRepository和BaseService里,剩余的还需要自定义。这时候就需要T4模板......
  • VS Code摸鱼神器,让你快速开发AI模型
    摘要:ModelArtsVSCode插件一键接入云上开发环境介绍及操作指导对于习惯于使用本地VSCodeIDE的开发者,受限于本地资源,采用本地开发加云上调测的远程开发方式不失为一种更......
  • uos安装安转软件
    1.chrome安装wget-q-O-https://dl.google.com/linux/linux_signing_key.pub|sudoapt-keyadd-sudoapt-getupdatesudoapt-getinstallgoogle-chrome-st......