嵌入式系统功能概要设计说明_信息系统项目典型的生命周期模型

信息系统项目典型的生命周期模型包括瀑布模型、螺旋模型、迭代模型、V模型、原型化模型和敏捷开发模型。

一、瀑布模型

瀑布模型是一个经典的软件生命周期模型,一般将软件开发分为:可行性分析(计划)、需求分析、软件设计(概要设计、详细设计)、编码(含单元测试)、测试、运行维护等几个阶段。

91a8eea2a10aa2dc13422e226fa219d0.png

瀑布模型中每项开发活动具有以下特点:

(1)从上一项开发活动接受该项活动的工作对象作为输入。

(2)利用这一输入,实施该项活动应完成的工作内容。

(3)给出该项活动的工作成果,作为输出传给下一项开发内容。

(4)对该项活动的实施工作成果进行评审。若其工作成果得到确认,则继续进行下一项开发活动,否则返回前一项,甚至更前项的活动。尽量减少多个阶段间的反复。以相对来说较小的费用来开发软件。

二、螺旋模型

螺旋模型是一个演化软件过程模型,将原型实现的迭代特征与线性顺序(瀑布)模型中控制的和系统化的方面结合起来。使得软件的增量版本的快速开发成为可能。在螺旋模型中,软件开发是一系列的增量发布。在早期的迭代中,发布的增量可能是一个纸上的模型或原型:在以后的迭代中,被开发系统的更加完善的版本逐步产生。

c56877f06f0a5da1b3ea080e8a33dd42.png

螺旋模型四个象限分别标志每个周期所划分的四阶段:制订计划、风险分析、实施工程和客户评估。螺旋模型强调了风险分析,特别适用于庞大而复杂的、高风险的系统。

三、迭代模型

在大多数传统的生命周期中,阶段是以其中的主要活动命名的:需求分析、设计、编码、测试。传统的软件开发工作大部分强调一个序列化过程,其中一个活动需要在另一个开始之前完成。在迭代过程中,每个阶段都包括不同比例的所有活动。

23dae1540eb83cdba2e292206e77a87f.png

迭代式开发模型,水平方向为时间,从组织管理的角度描述整个阶段、迭代:核心工作流从结束角度描述迭代模型的静态组成部分,包括:业务建模、需求、分析与设计、实现、测试、部署。

各阶段主要任务如下:

(1)初始阶段:系统地描述项目的范围,选择可行的系统架构,计划和准备业务案例。

(2)细化阶段:细化构想,细化过程和基础设施,细化架构并选择构件。

(3)构造阶段:资源管理、控制和过程最优化,完成构件的开发并依评价标准进行测试,依构想的验收标准评估产品的发布。

(4)移交阶段:同步并使并发的构造增量集成到一致的实施基线中,与实施有关的工程活动(商业包装和生产、人员培训等),根据完整的构想和需求集的验收标准评估实施基线。

四、V模型

V模型从整体上看起来,就是一个V字型的结构,由左右两边组成。左边的下划线分别代表了需求分析、概要设计、详细设计、编码。右边的上划线代表了单元测试、集成测试、系统测试与验收测试。

V模型就是一个对称的结构,它的重要意义在于,非常明确的表明了测试过程中存在的不同的级别,并且非常清晰的描述了这些测试阶段和开发阶段的对一个关系。

(1)单元测试:验证软件单元是否按照单元规格说明(详细设计说明)正确执行,即保证每个最小的单元能够正常运行。单元测试一般由开发人员来执行,首先设定最小的测试单元,然后通过设计相应的测试用例来验证各个单元功能的正确性。

(2)集成测试:检查多个单元是否按照系统概要设计描述的方式协同工作。集成测试的主要关注点是系统能够成功编译,实现了主要的业务功能,系统各个模块之间数据能够正常通信等。

(3)系统测试:验证整个系统是否满足需求规格说明。

(4)验收测试:从用户的角度检查系统是否满足合同中定义的需求或者用户需求。

V模型的特点:

(1)V模型体现的主要思想是开发和测试同等重要,左侧代表的是开发活动,而右侧代表的是测试活动。

(2)V模型针对每个开发阶段,都有一个测试级别与之相对应。

(3)测试依旧是开发生命周期中的阶段,与瀑布模型不同的是,有多个测试级别与开发阶段对应。

(4)V模型适用于需求明确和需求变更不频繁的情形。

五、原型化模型

原型化模型第一步就是创建一个快速原型,能够满足项目干系人与未来的用户可以与原型进行交互,再通过与相关干系人进行充分的讨论和分析,最终弄清楚当前系统的需求,进行了充分了解之后,在原型的基础上开发出用户满意的产品。在实际的项目过程中,借助于组织过程资产以及快速模型软件,一般在需求分析的时候,就可以建立一些简单的原型。原型化模型是极具意义上的项目实践。

原型法认为在很难一下子全面准确地提出用户需求的情况下,首先不要求一定要对系统做全面、详细的调查、分析,而是本着开发人员对用户需求的初步理解,先快速开发一个运行系统,然后通过反复修改来实现用户的最终系统需求。

原型应当具备的特点如下:

(1)实际可行。

(2)具有最终系统的基本特性。

(3)构造方便、快速,造价低。

原型法的特点在于原型法对用户的需求是动态响应的、逐步纳入的,系统分析、设计与实现都是随着对一个工作模型的不断修改而同时完成的,相互之间并无明显界限,也没有明确分工。系统开发计划就是一个反复修改的过程。适于用户需求开始时定义不清、管理决策方法结构化程度不高的系统开发,开发方法更易被用户接受;但如果用户配合不好,盲目修改,就会拖延开发过程。

可以将原型分类如下:

(1)抛弃型原型,此类原型在系统真正实现以后就放弃不用了。

(2)进化型原型,在此类原型的从目标系统的一个或几个基本需求出发,通过修改和追加功能的过程逐渐丰富,演化成最终系统。

六、敏捷开发模型

敏捷开发是一种从20世纪90年代开始逐渐引起广泛关注的一种新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。

敏捷开发是一种以人为核心、迭代、循序渐进的开发方法,相对于传统软件开发方法的“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值