软件生命周期

本主题讨论软件过程的类别、软件生命周期模型、软件过程适应和实际考虑。软件开发生命周期(软件开发生命周期)包括用于指定软件需求并将其转换为可交付的软件产品的软件过程。软件产品生命周期(SPLC)包括一个软件开发生命周期加上额外的软件过程提供部署、维护、支持,进化,报废,和所有其他inception to retirement过程软件产品,包括软件配置管理、软件质量保证过程应用于整个软件产品的生命周期。一个软件产品生命周期可以包括多个用于演进和增强软件的软件开发生命周期。

单个的软件过程之间没有时间顺序。软件过程之间的时间关系由软件生命周期模型提供:软件开发生命周期或SPLC。生命周期模型通常强调模型中的关键软件过程以及它们在时间和逻辑上的相互依赖和关系。生命周期模型中软件过程的详细定义可以直接提供,也可以参考其他文档。

除了在软件过程之间传递时间和逻辑关系之外,软件开发生命周期模型(或在组织内使用的模型)还包括应用进入和退出标准的控制机制(例如,项目评审、客户批准、软件测试、质量关口、演示、团队共识)。一个软件过程的输出通常为其他过程提供输入(例如,软件需求为软件架构设计过程和软件构建和软件测试过程提供输入)。几个软件过程活动的并发执行可能产生一个共享的输出(例如,由不同团队开发的多个软件组件之间的接口规范)。一些软件过程可能被认为效率较低,除非同时执行其他软件过程(例如,软件需求分析期间的软件测试计划可以改进软件需求)。

2.1软件过程的类别

在软件开发和软件维护生命周期的各个部分中,已经定义了许多不同的软件过程。这些过程可以分为以下几类:

主要过程包括软件开发、操作和维护的软件过程。

支持过程在整个软件产品生命周期中间歇性地或连续地应用,以支持主要过程;它们包括软件过程,如配置管理、质量保证、验证和确认。

组织过程为软件工程提供支持;它们包括培训、过程度量分析、基础设施管理、投资组合和复用管理、组织过程改进,以及软件生命周期模型的管理。

跨项目过程,如复用、软件产品线和领域工程;它们在组织中涉及到不止一个软件项目。

软件过程除了上面列出的之外还包括以下内容。

项目管理过程包括计划和估计、资源管理、度量和控制、领导、管理风险、管理利益攸关方,以及协调软件开发和维护项目的主要、支持、组织和跨项目过程的过程。

软件过程也是为特定的需求而开发的,例如处理软件质量特征的过程活动(参见软件质量知识领域)。例如,软件开发期间的安全问题可能需要一个或多个软件过程来保护开发环境的安全并减少恶意行为的风险。开发软件过程也可以为建立对软件完整性的信任提供充分的依据。

2.2软件生命周期模型

软件的无形和可塑的本质允许了各种各样的软件开发生命周期模型,包括线性模型,在线性模型中,软件开发的各个阶段按照需要通过反馈和迭代依次完成,然后是集成、测试和单个产品的交付;到迭代模式,在这种模式下,软件会在迭代周期中以功能不断增加的方式开发;对于敏捷模型,通常包括向客户或用户代表频繁地展示可工作的软件,这些客户或用户代表在短的迭代周期中指导软件开发,从而产生可交付的工作软件的小增量。如果需要,增量的、迭代的和敏捷的模型可以将工作软件的早期子集交付到用户环境中。

线性软件开发生命周期模型有时被称为预测软件开发生命周期模型,而迭代和敏捷的软件开发生命周期被称为自适应软件开发生命周期模型。应该注意的是,在一个SPLC期间,根据维护活动的不同,可以使用不同的软件开发生命周期模型来执行各种维护活动。

各种软件开发生命周期模型的一个显著特征是管理软件需求的方式。线性开发模型通常在项目启动和计划期间尽可能地开发一套完整的软件需求。然后严格控制软件需求。软件需求的变更是基于由变更控制委员会处理的变更请求的(参见软件配置管理知识领域中的变更控制委员会中的请求、评估和批准软件变更)。基于在每个增量中实现的软件需求的划分,增量模型产生连续的工作增量,可交付软件。软件需求可能被严格控制,就像在线性模型中一样,或者随着软件产品的发展,在修改软件需求方面可能会有一些灵活性。敏捷模型可能在最初定义产品范围和高级特性;然而,设计敏捷模型是为了在项目期间促进软件需求的开发。

必须强调的是,软件开发生命周期从线性到敏捷并不是一条细的直线。不同方法的要素可纳入具体模式;例如,增量式软件开发生命周期模型可能包含顺序的软件需求和设计阶段,但是在软件构建期间允许相当大的灵活性来修改软件需求和架构。

2.3软件过程的适应

预定义的软件开发生命周期、splc和单个软件过程通常需要进行调整(或“剪裁”),以更好地满足本地需求。组织环境、技术创新、项目规模、产品关键性、法规要求、行业实践和企业文化可能决定需要的适应性。单个软件过程和软件生命周期模型(开发和产品)的适应可能包括向软件过程、活动、任务和过程添加更多的细节,以解决关键问题。它可能包括使用一组替代的活动来实现软件过程的目的和结果。适应还可能包括从开发或产品生命周期模型中删除明显不适用于待完成工作范围的软件过程或活动。

2.4实际考虑

在实践中,软件过程和活动经常是交叉的、重叠的,并且并发地应用。指定离散的软件过程的软件生命周期模型,具有严格指定的进入和退出标准以及规定的边界和接口,应该被视为必须适应的理想化,以反映组织环境和业务环境中的软件开发和维护的现实。

另一个实际的考虑事项:软件过程(如配置管理、构建和测试)可以进行调整,以促进软件的操作、支持、维护、迁移和报废。

在定义和裁剪软件生命周期模型时需要考虑的其他因素包括对标准、指示和策略的要求一致性;客户需求;软件产品的临界性;以及组织成熟度和能力。其他因素包括工作的性质(例如,对现有软件的修改与新的开发)和应用领域(例如,航空航天与汽车电子)。

(0)

相关推荐

  • “敏捷”适用于汽车软件开发吗?

    最近几年一直都有很多关于"敏捷"如何在汽车行业应用的讨论,看了一些文章,大都是说"敏捷"在IT行业如何的成功.提升了多少效率.帮助多少企业脱颖而出,因此汽车行业 ...

  • 软件工程背景知识及过程模型

    一.背景知识: 软件开发的基本过程: 需求定义→软件设计→软件实现→软件测试→软件维护 软件的定义: 软件=程序+数据+文档 程序:可以按照设计好的功能和性能要求执行的指令序列 数据:程序能正确处理信 ...

  • 软件工程学习要点

    一. 软件工程概述 1. 软件的概念及特点 定义:软件是程序.数据及开发.使用和维护程序所需要的所有文档 特点:软件是一个逻辑的而不是物理的产品 2. 软件危机的表现形式 1) 软件的开发成本和开发进 ...

  • 从敏捷开发到DevOps,殊途亦同归

    DevOps是敏捷在软件开发团队的另一应用,它借鉴敏捷开发方法,并提出了轻量化运维.目前,DevOps处于高速增长的阶段,基于DevOps的变革正在如火如荼地展开,尤其是在大企业中,DevOps受到了 ...

  • TMM——测试成熟度模型

    与软件能力成熟的模型CMM类似,测试成熟度模型TMM也是由5个成熟度等级组成,而且从成熟度等级二级开始,每个等级也都有各自特定的成熟度目标. 使用TMM可以帮助组织确定当前所处的测试过程成熟度级别,同 ...

  • 建立组织的生命周期模型应当考虑哪些因素?

    实施GJB5000A,即使刚入GJB5000A之门,实施标准二级的要求,组织也要先行建立起软件的生命周期模型.因为项目策划过程域的专用实践1.3要求定义项目的生命周期模型,组织如果没有定义组织生命周期 ...

  • 保持需求的一致理解应在软件开发的全生命周期进行

    需求的一致理解,在需求开发和管理实践域中非常重要. 如果开发人员没有和需求提供者对软件需求达成一致理解,就可能开发出一个和需求提供者原本想要的南辕北辙的软件来. 所以,我们的GJB5000标准中对此有 ...

  • 数字化工厂落地:西门子COMOS软件开拓全生命周期管理新视野

    数字化工厂落地:西门子COMOS软件开拓全生命周期管理新视野

  • 一个软件项目可以有多个生命周期模型吗?

    一个软件项目只能有一个生命周期模型. 因为每产生一个新的周期模型,都是因为原有的生命周期模型存在这样或那样的缺点(见下表),并不适合某种类型软件的开发. 生命周期模型 缺点 瀑布模型 瀑布模型的缺点是 ...

  • 员工生命周期管理

    员工的生命周期是什么? 员工生命周期是涵盖了员工与其工作所在组织之间的整个关系,这包括吸引阶段,即人们熟悉公司的过程,一直持续到他们离开组织为止.    在员工与企业之间这种持续关系中,我们分为7个阶 ...

  • 动力电池全生命周期管理

    动力电池全生命周期管理

  • 【原创】基于生命周期的工艺验证之工艺设计阶段

    手把手教您把控技术转移.工艺验证和清洁验证的相互关系学习通道扫描右方二维码即刻报名01 基于生命周期的工艺验证 基于生命周期的工艺验证方法,将工艺研发/设计.商业生产工艺验证.常规商业化生产中控制状态 ...

  • 企业在不同的时期,生存法则是不一样的,如何突破生命周期呢?

    △是新朋友吗?记得先给余导说商点个关注哦- 我们一个人的生命周期有婴儿期, 发育期.青春期.成长期, 然后有可能不长身高了,慢慢步入成熟期. 公司和人一样,也会经历这么一个过程. 每个时期有每个时期不 ...

  • 一文读懂用户全生命周期?

    诸葛君说:诸葛io以用户为中心,打通用户全生命周期数据,构建完整的用户画像并提供营销工具和分析平台,从而为企业实现数据驱动的精准营销和精细化运营提供完整的解决方案. 在诸葛io赋能企业提供精准营销和精 ...

  • 诸葛io CEO孔淼:用户全生命周期 数据赋能下的新营销(附PPT)

    诸葛君说:9月18日,诸葛io CEO孔淼出席WAW X十年数据峰会,并发表主题为<用户全生命周期 数据赋能下的新营销>的演讲,讲述了现在企业面临的获客难,转化低的难题,以及诸葛io三年来 ...