首页 > 编程知识 正文

软件生命周期图,软件开发的生命周期分为几个阶段

时间:2023-05-04 08:18:25 阅读:109223 作者:4868

在开发模式的知识点中,软件生命周期的概念、各种开发模式的特点和应用场景。 主要开发模型有瀑布模型、增量模型、螺旋模型、喷泉模型、智能模型、v模型、RAD模型、CBSD模型、原型方法、XP方法、RUP方法等。

瀑布模型瀑布模型又称生命周期法,是生命周期法中最常用的开发模型,通过软件规划、需求分析、软件设计、程序编码、软件开发过程

软件规划:主要确定软件的开发目标及其可行性。

需求分析:在确认软件开发可行的基础上,详细分析软件需要实现的各项功能。 需求分析阶段是一个重要阶段,如果这个阶段进展顺利,可以为整个软件开发项目的成功奠定良好的基础。

软件设计:主要根据需求分析的结果,设计整个软件系统。 例如,系统框架设计、数据库设计等。 软件设计一般分为总体设计(概要设计)和详细设计。

程序代码:将软件设计结果转换为计算机可执行的程序代码。 在程序编制中,为了保证程序的可读性、可维护性,提高程序的执行效率,必须制定统一的、符合标准的编制规范。

软件测试:软件设计完成后,必须经过严密的测试,发现并纠正整个软件设计过程中存在的问题。 在测试过程中需要制定详细的测试计划,并严格按照测试计划进行操作,以减少测试的随意性。

软件维护:软件维护是软件生命周期中最长的时间段。 软件开发完成并投入使用后,由于多方面的原因,软件无法继续满足用户的要求,为了延长软件的使用寿命,软件需要维护。

变换模型变换模型(进化模型)在快速开发原型的基础上,根据用户在调用原型的过程中提出的反馈和建议,改进原型,获得原型的新版本,最终的软件

螺旋模型螺旋模型将瀑布模型和转换模型相结合,综合了两者的优点,增加了风险分析。 以样机为基础沿螺旋线从内到外旋转,每转一圈经过规划、风险分析、实施施工、客户评估等活动,开发样机的新版本。 经过多次螺旋上升的过程,得到最终的系统。

喷泉模型

喷泉模型支持软件复用和生命周期中多种开发活动的集成,主要支持面向对象的开发方法。 “喷泉”这个词本身就体现了反复和无间的特性。 系统的某一部分经常被多次重复,相关功能在每次重复时被编入进化的系统中。 无缝隙是指在开发活动中,分析、设计和编码之间没有明确的界限。

v型

在开发模式中,测试往往是亡羊补牢的事后行为,但也有以测试为中心的开发模式。 那就是v型。 v模型只得到了软件业内比较模糊的认可。 v模型主张测试不是事后的弥补行为,而是与开发过程同样重要的过程。

v模型描述了几个不同的测试级别,并描述了与这些级别相对应的生命周期中的不同阶段。 图中,左边是开发过程的各个阶段,与之相对应的是右边上升的部分,即测试过程的各个阶段。 请注意,不同的组织可能有不同的测试阶段名称。 V模型的价值在于,它非常清晰地表明了测试过程中存在的不同层次,并清楚地表明了这些测试阶段与开发过程中各阶段的对应关系。

单元测试的主要目的是处理编码过程中可能存在的各种错误。 例如,用户输入正在验证的边界值时出现错误。

集成测试的主要目的是检查详细设计中可能存在的问题,特别是各单元与其他程序部分之间的接口上可能存在的错误。

系统测试主要针对概要设计,检查系统作为整体是否有效运行。 例如,产品安装是否达到了预期的高性能。

验收测试通常由业务专家或用户进行,以确保产品真正满足用户的业务需求。

增量模型增量模型像原型实现模型和其他进化方法一样,本质上是迭代的。 但是,与原型实现不同,增量模型强调发布可操作每个增量的产品。 初始增量是最终产品的“可拆卸”版本,但它提供了为用户提供服务的功能,并为用户提供了一个评估平台。 增量模型的特点是引入了增量软件包的概念,不用等到所有需求都出来,只要有某个需求的增量软件包出来就可以开发。 增量软件包可能需要进一步适应和修改客户的需求,但只要此增量软件包足够小,其影响对整个项目来说是可以接受的。

RAD型号

快速APP应用开发(Rapid Application Development,RAD )模型是一种增量式软件开发过程模型,强调极短的开发周期。 RAD模型是瀑布模型的“快速”变种,通过大量使用可复用组件,采用基于组件的构建方法获得了快速开发。 如果您很了解需求,而且项目范围有限,则可以使用此模型立即创建功能完整的“信息系统”。 其过程从业务建模开始,是数据建模、过程建模、APP应用生成、测试、迭代。 使用RAD模型的软件过程如图所示。

在RAD模型的各个活动期间需要完成的任务如下。

>业务建模:以什么信息驱动业务过程运作?要生成什么信息?谁生成它?信息流的去向是哪里?由谁处理?可以辅之以数据流图。

数据建模:为支持业务过程的数据流,找数据对象集合,定义数据对象属性,与其他数据对象的关系构成数据模型,可辅之以E-R图。

过程建模:使数据对象在信息流中完成各业务功能。创建过程以描述数据对象的增加、修改、删除、查找,即细化数据流图中的处理框。

应用程序生成:利用第四代语言(4GL)写出处理程序,重用已有构件或创建新的可重用构件,利用环境提供的工具自动生成并构造出整个应用系统。

测试与交付,由于大量重用,一般只做总体测试,但新创建的构件还是要测试的。

基于构件的模型

构件(Component,组件)是一个具有可重用价值的、功能相对独立的软件单元。基于构件的软件开发(Component Based Software Development,CBSD)模型是利用模块化方法,将整个系统模块化,并在一定构件模型的支持下,复用构件库中的一个或多个软件构件,通过组合手段高效率、高质量地构造应用软件系统的过程。基于构件的开发模型融合了螺旋模型的许多特征,本质上是演化型的,开发过程是迭代的。基于构件的开发模型由软件的需求分析和定义、体系结构设计、构件库建立、应用软件构建、测试和发布5个阶段组成。

原型方法

软件原型是所提出的新产品的部分实现,建立原型的主要目的是为了解决在产品开发的早期阶段的需求不确定的问题,其目的是明确并完善需求、探索设计选择方案、发展为最终的产品。原型有很多种分类方法。从原型是否实现功能来分,软件原型可分为水平原型和垂直原型两种。水平原型也称为行为原型,用来探索预期系统的一些特定行为,并达到细化需求的目的。水平原型通常只是功能的导航,但并未真实实现功能。水平原型主要用在界面上。垂直原型也称为结构化原型,实现了一部分功能。垂直原型主要用在复杂的算法实现上。

XP方法

XP是一种轻量(敏捷)、高效、低风险、柔性、可预测、科学而且充满乐趣的软件开发方式。与其他方法论相比,其最大的不同在于:

在更短的周期内,更早地提供具体、持续的反馈信息。

迭代地进行计划编制,首先在最开始迅速生成一个总体计划,然后在整个项目开发过程中不断地发展它。

依赖于自动测试程序来监控开发进度,并及早地捕获缺陷。

依赖于口头交流、测试和源程序进行沟通。

倡导持续的演化式的设计。

依赖于开发团队内部的紧密协作。

尽可能达到程序员短期利益和项目长期利益的平衡。

RUP方法

RUP(Rational Unified Process)是一个统一的软件开发过程,是一个通用过程框架,可以应付种类广泛的软件系统、不同的应用领域、不同的组织类型、不同的性能水平和不同的项目规模。RUP是基于构件的,这意味着利用它开发的软件系统是由构件构成的,构件之间通过定义良好的接口相互联系。在准备软件系统所有蓝图的时候,RUP使用的是统一建模语言UML.与其他软件过程相比,RUP具有三个显著的特点:用例驱动、以基本架构为中心、迭代和增量。RUP中的软件过程在时间上被分解为四个顺序的阶段,分别是初始阶段、细化阶段、构建阶段和交付阶段。每个阶段结束时都要安排一次技术评审,以确定这个阶段的目标是否已经满足。如果评审结果令人满意,就可以允许项目进入下一个阶段。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。