软件生命期模型

软件生命期模型

软件生存期模型是从软件项目需求定义直至软件经使用后废弃位置,跨越整个生存期的系统开发,运作和维护所实时的全部过程、活动和任何的结构框架

各个阶段介绍

  1. .需求分析:虽然是第一步, 但是这一步至关重要,因为它包含了获取害户需求与定义的信息,以及对需要解决的问题所能达到的最清断的描述。分析包含了理解客户的商业环境与约束,产品必需实现的功能,产品必需达到的性能水平,以及必需实现兼容的外部系统。在这一阶段所使用的技术 包括采访害户,使用案例和软件特色的“购物清单"。分析阶段的结果通常是-份正式的需求说明书, 这也是下一阶段的起始信息资料。
  2. 设计:这一步包括了“定义硬件和软件架构、组件、模块、界面和数据等来满足指定的需求。“它包括了硬件和软件架构的定义,确定性能和安全参数,设计数据存储容器和限制,选择集成开发环境(IDE) 和编程语言,并指定异常处理、资源管理和界面连接性的策曙。这一阶段还强调了用户接口的设计,包括与浏览和可用性相关的问题,这一阶段的输出结果是一份或多份设计说明书,这些说明书将在下一阶段使用。
  3. 编码:这一步包含了根据设计说明书来构建产品,通常,这一阶段是由开发团队来执行的,开发团队包括了程序员、界直设计师和其他的专家,他们使用的工具包括编译软件、调试软件.解释软件和媒体编辑软件。这一阶段将生成一个或多个产品组件,它们是根括每一条编码标准而编写的,并且经过了调试、测试并进行集成以满足系统架构的需求。对于大型开发团队而言,我建议使用版本控制工具来追踪代码树的变化,这样在出现问题的时候可以还原以前的版本。
  4. 安装测试:在这一阶段, 独立的组件和集成后的组件都将进行系统性验证以确保没有错误并且完全符合第一阶段所制定的需求,一个独立的质量保证小组将定义“测试实例"来评估产品是完全实现了需求还是只有部分满足。有三种测试方法可以使用:对独立的代码模块进行单元测试;对集成产品进行系统测试;以及客户参与的验收测试。如果发现了缺陷,将会对问题进行记录并向开发团队反馈以进行修正。在这一阶段,还有产品文档会经过准备、评估并发布,比如用户手册等。在产品通过测试并且被鉴定为符合需求的产品后,就会进入到安装阶段,这一阶段包括了在客户站点进行系统或产品的安装和使用,这可以通过互联网或者物理媒介进行,通常交付使用的产品都带有正式的版本号,这为今后的产品升级提供了便利。
  5. 维护:这一阶段发生在安装之后,包括了对整个系统或某个组件进行修改以改变属性或者提升性能,这些修改可能源于客户的需求变化或者系统使用中没有覆盖到的缺陷,通常,在维护阶段对产品的修改都会被记录下来并产生新的发布版本以确保客户可以从升级中获益。

模型分类

瀑布模型

  • 典型瀑布模型的划分
    • 问题定义-》问题研究-》需求分析-》软件设计-》编码-》测试 -》维护
  • 特点
    • 瀑布模型具有顶序性和依欢性
      • 以上一项活动中的结果作为本阶段的输入。
      • 利用这一输入实施该项活动应完成的内容
      • 给出该项活动的工作成果,作为输出传给下一项活动
      • 对该项活动实施的工作进行评审,若其工作得到确认,则继续下- -项活动
    • 瀑布项型最为突出的缺点是该模型缺乏灵活性

原型模型

该模型可以表示为:第-次这代(需求->设计>实现>测试>集成)->反馈>第二次这代(需求>设计>实现>测试>集成)->反馈…

  • 基本思想
    • 在获取一组基本的需求定义后,利用高级软件工具的开发环境,快速的建立一个目标系统的最初版本,并吧它交给用户试用,补充和修改,再进行新的版本开发,直到用户满意为止
    • 特征
      • 它是一个可运行的系统
      • 没有固定的生存期
      • 从需求分析到最终产品都可做原型,即可为不同月标做原型
      • 它必须快速、廉价
  • 优缺点
    • 优点
      • 可处理规糊需求,开发者和用户可以充分沟通
      • 原型系统可作为培训环境,有利于用户培训和开发同步
      • 原型系统给用户机会更改原先设想,不尽合理的系统
      • 原型系统可低风险开发柔性较大的计算机系统
      • 原型系统使系统更易维护,对用户更友好的机会
      • 原型系统使总的开发费用降低,时间缩短
    • 缺点
      • 资源规划和管理较为困难,随时更新文档也带来麻烦
      • 长期在原型环境上开发,容易忽略用户环境和原型环境的差别
      • 使用范围
      • 辅助分析和确定用户需求
      • 作为软件设计的一种工具
      • 作为一种解决不确定性问题的工具
      • 作为-种实验工月
      • 作为同步培训工具
      • 一次性的应用
      • 作为软件维护的辅助工具

在这里插入图片描述

喷泉模型

  • 认为软件生命同期的各个阶段是相互重叠和多次反复的
  • 主要用于面向对象方法中
  • 喷泉模型是一种以用户需求为动力,以对象作为驱动的硬型,适合于面向对象的开发方法。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型是 开发过程具有迭代型和无间隊性,迭代意味着模型中的开发活动常常需要車复多次。在迭代过程中不断地完善软件系统。无间隙是指开发活动(如分析、设计、编码〉之 间不存在明显的边界,也就是说,它不像瀑布模型那样,需求分析活动结束后才开始设计活动,设计活动结束后才开始编码活动,而是允许开发活动交叉、迭代地进行。
    该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无问院的特性。软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。由于对 象概念的引入,表达分析.设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无问隙,使其开发自然地包括复用。喷泉模型不像瀑布模型那样, 需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效 率,节省开发时间,适应于面向对象的软件开发过程。由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需费大的开发人员,因此不利于项目的管理。此外这种模 型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。
  • 优缺点
    • 优点
      • 喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进 行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。
    • 缺点
      • 由于喷泉模型在各个开发阶段是重疊的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加 大,尤其是面对可能随时加入各种信息、需求与资料的情况。
        在这里插入图片描述

螺旋模型

  • 在原型基础上, 进行多次原型反复增加风险评估,形成螺旋模型

  • 辗旋模型的图像表示为,在笛卡尔坐标的四个象限代表了四个活动

  • 优缺点

    • 优点

      • 设计上的灵活性,可以在项目的各个阶段进行变更。

      • 以小的分段来构建大型系统使成本计算变得简单容易。

      • 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。

      • 随着项目推进,客户始终掌握项目的最新信息.从而他或她能够和管理层有效地交互。

      • 客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。

    • 缺点

      • 很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,
      • 无法滿足当前用户需求。
        在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值