软件开发过程模型

什么是软件开发过程

    软件开发过程模型是为获得高质量的软件系统所需完成的一系列任务的框架。它规定 了完成各项任务的工作步骤。在软件工程的初期,软件生命期这一概念被提出。这是用标准的形式表示和定义了软件生存过程。所谓软件生命期是指软件从软件计划开始,经历需 求分析和定义、设计、编码、测试、运行、维护直到废止为止的期间

常见模型

瀑布模型

在这里插入图片描述
瀑布模型的特点:

  • 瀑布式开发模型是最早的、依据软件生命期而提出的软件开发模型,亦称软件生命期模型
  • 瀑布式开发模型如上图所示,其中软件的开发过程分为六个阶段,每个阶段都有明确的分工和任务,并产生一定的书面结果。
  • 各阶段之间是紧密相关的,后一阶段的工作 依据前一阶段的工作结果而开展。阶段间具有顺序性和依赖性,各阶段必须完成规定的文档,从而在审查文档的基础上保证软件的质量等。

传统的瀑布式模型也存在诸多问题:

  • 在实际开发工作中,用户不可能一开始就使自己的需求很清晰,通常是在开发过 程中逐渐完善的。另外,当某些需求比较含糊时,如系统的友好用户界面等,将导致软 件开发人员不一定能开发出使用户满意的软件系统,再加上在开发过程中用户的需求可 能发生变化,也导致软件开发工作按瀑布式模型的步骤又得从头开始,这显然是不合理的。
  • 由于模型各阶段的界线划分清晰,也比较独立,而且参加人员和开发人员也都相对 独立,因此在阶段间移交信息(文档)的过程中,由于个人的理解不同,、或者当事人不在 时,容易产生误解。这容易导致开发出的软件系统与用户需求产生偏差。
  • 用户的参与程度不够。因为软件的运行版本要等到测试后才能出现,用户也只能在 需求分析与定义阶段和测试阶段的后期参与到开发工作中,因此,用户在相当长的一段时 间内没有参与到软件开发中。

快速原型模型

在这里插入图片描述
快速原型的特点

  • 所谓“原型”通常是指 一种与原物的结构、大小和一般功能接近的形式或设计。
  • 软件原型是指待开发的软件系统的部分实现。而快速原型是在完成最终可运行软件系 统之前快速建立实验性的、可在计算机上运行的程序(原型),然后给予评价的过程。
  • 快速 原型模型的基本思想是快速建立一个实现了若干功能(不要求完全)的可运行模型来启发、 揭示和不断完善用户需求,直到满足用户的全部需求为止。

快速原型模型的不足之处

  • 用户易于视原型为正式产品。用户看到的是软件系统的可执行版本,他们并不知道 某些原型是临时拼凑出来的,并且也不知道为尽快让系统运行而没有保证软件系统 的总体质量和可维护性。故当他们知道软件系统要重建时,往往认为只要稍作修改 就可获得最终的软件系统。
  • 快速原型系统对于软件系统的开发环境要求较多,这也在一定程度上影响了其使用 的范围和实用价值。

渐增式模型

在这里插入图片描述
渐增式模型的特点

  • 能在短时间向用户提交可完成部分功能的产品。
  • 能逐步增强产品功能,以使用户有较充裕的时间学习和适应新的软件系统。

渐增式模型的不足

  • 在把每个新增的构件或功能集成到现有的软件系统中时,必须不破坏该软件系统。
  • 在设计软件系统的体系结构时,要充分考虑其开放性,加入新构件的过程必须简单 和方便。例如,在使用渐增式开发模型开发字处理系统时,首先可实现基本的文件 处理、编辑和文档生成功能,然后再实现拼写与语法检查功能,最后完成高级的页 面排版功能等。

螺旋式模型

在这里插入图片描述


在这里插入图片描述

螺旋式模型的特点

  • 适用于软件开发机构内部开发大规模软件项目。
  • 对于可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为 软件开发的一个重要目标。
  • 减少过多测试或测试不足所带来的风险。

面向对象的开发模型

在这里插入图片描述

面向对象的开发模型的特点

  • 虽然各个阶段像瀑布式模型一样顺序排列,但在实际开发中,这些阶段之间呈现一 种过程交替、工作循环和信息反馈的复杂关系。有一部分分析工作必须在设计之前 进行,另外一些分析工作则需与其他部分的设计和实现工作并行地进行,因而呈现 出非线性的工作方式。
  • 软件系统的表达形式在整个开发模型中都是相同的,即面向对象方法中把类及其结 构作为系统的表达单元,无论哪一个阶段都以渐增的方式不断地进化或细化这些表 达单元。例如,在分析阶段“类及结构”反映的是问题空间中实体的抽象关系,而在 设计阶段它反映的是求解空间中技术实现方案,实现阶段反映的是计算机的数据结 构及其控制逻辑。
  • 开发模型支持软件的重用。这主要是面向对象的开发过程中采用了概念封装和实现 的隐藏技术等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值