0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

软件过程主要分为哪几类?

汽车电子工程知识体系 来源:汽车电子系统与软件 作者:c2c 2021-06-21 17:25 次阅读

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

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

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

2.1 软件过程的类别

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

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

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

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

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

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

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

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

2.2 软件生命周期模型

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

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

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

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

2.3 软件过程的适应

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

2.4 实际考虑

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

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

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

责任编辑:lq6

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件
    +关注

    关注

    69

    文章

    4688

    浏览量

    87073
  • 软件过程
    +关注

    关注

    0

    文章

    4

    浏览量

    5057

原文标题:软件生命周期

文章出处:【微信号:QCDZYJ,微信公众号:汽车电子工程知识体系】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    弧焊变压器主要分为哪几类

    弧焊变压器是弧焊电源的一种,主要用于电弧焊过程中,为焊接电弧提供稳定的电压和电流。弧焊变压器的设计和制造需要考虑多种因素,包括焊接电流、电压、电弧稳定性、功率因数等。以下是对弧焊变压器主要分类的介绍
    的头像 发表于 10-10 10:59 272次阅读

    弧焊变压器主要分为哪几类?它们都有哪些特点?

    弧焊变压器是用于电弧焊的变压器,其主要作用是将电网电压转换为适合电弧焊的电压和电流。弧焊变压器的分类和特点如下: 弧焊变压器的分类: 弧焊变压器主要分为以下几类: a) 交流弧焊变压器
    的头像 发表于 10-10 10:29 207次阅读

    软开关电路可以分为哪几类

    软开关电路是一种在电力电子领域中广泛应用的技术,它通过减少开关器件在开关过程中的电压和电流应力,从而降低开关损耗、提高效率、减小电磁干扰等。软开关电路可以分为以下几类: 零电压开关(ZVS)电路 零
    的头像 发表于 08-14 11:06 470次阅读

    温度传感器分为哪几类

    温度传感器是一种将温度信号转换为电信号的传感器,广泛应用于工业、农业、医疗、气象等领域。根据其工作原理和特点,温度传感器可以分为以下几类: 热电偶温度传感器 热电偶温度传感器是一种利用热电效应将温度
    的头像 发表于 06-19 11:09 655次阅读

    电容器击穿分为哪几类

    击穿大致可以分为电击穿、热击穿和局部放电击穿三类。 一、电击穿 定义:电击穿是一个复杂的电子过程,可以通过本征击穿理论和“雪崩”击穿理论等多种描述方法来解释。本征击穿理论关注材料的内在特性,而“雪崩”击穿理
    的头像 发表于 06-09 17:06 1376次阅读

    数控机床按工艺用途分类可分为哪几类

    数控机床(Numerical Control Machine Tools,简称NC机床)是一种通过数控系统控制机床运动和加工过程的自动化机床。根据工艺用途,数控机床可以分为以下五类:车床、铣床、钻床
    的头像 发表于 06-07 10:16 1943次阅读

    光伏储能系统有哪几类

    光伏储能系统根据其应用场景和功能需求可以分为几类,每一类都有其特定的用途和特点。
    的头像 发表于 04-22 17:02 991次阅读

    嵌入式微处理器的架构分为哪几类模块

    嵌入式微处理器的架构可以分为以下几类模块: 中央处理单元(CPU):嵌入式微处理器的核心部分,负责执行指令、进行数据运算和控制任务。它包括控制单元(CU)和算术逻辑单元(ALU)。 存储器模块:用于
    的头像 发表于 04-21 09:55 918次阅读

    嵌入式微处理器的架构分为哪几类

    首先,让我们从宏观的角度了解嵌入式微处理器的架构分类。它们主要可以分为以下几类
    的头像 发表于 04-07 15:25 616次阅读

    降噪是什么原理 降噪方法分为哪几

    降噪是什么原理 降噪方法分为哪几种  降噪是指通过一系列技术手段减少或消除环境中存在的噪声干扰,从而提高音频、图像、信号等的质量或清晰度。降噪的原理主要涉及信号处理、数字滤波、统计学等方面的知识
    的头像 发表于 03-14 16:55 6728次阅读

    偏振成像技术分为哪几类?分别有何特点?

    偏振成像可以获取目标的空间、光强以及偏振信息,由目标物体发出或反射的光线携带的偏振信息
    的头像 发表于 03-01 10:31 911次阅读

    焊接电弧根据提供的电源特点不同可分为哪几类

    焊接电弧根据提供的电源特点不同可分为以下几类: 直流电弧焊(DC):直流电弧焊是使用直流电源进行焊接的一种方法。直流电弧焊可以细分为直流电弧熔化焊(Direct Current Arc
    的头像 发表于 02-27 11:16 663次阅读

    rfid标签分为几类,各有什么特点

    RFID(Radio-Frequency Identification)技术是一种无线识别技术,通过无线电波识别并读取目标对象上的存有信息的电子标签。根据功能和尺寸的不同,RFID标签可以分为几类
    的头像 发表于 01-30 14:56 2404次阅读

    屏蔽双绞线分为哪几类

    屏蔽双绞线种类根据屏蔽方式的不同分为两类,即SFTP和FTP。 SFTP是指双屏蔽双绞线,而FTP则是采用整体屏蔽的屏蔽双绞线。需要注意的是,屏蔽只在整个电缆装有屏蔽装置,并且在两端正确接地的情况下
    的头像 发表于 11-22 10:26 1746次阅读

    什么是激光通信?激光通信主要分为哪几类

    激光,是利用单色光进行受激辐射后产生的光,特点是方向性强、亮度高、单色性好、相干性强。
    的头像 发表于 11-16 09:22 2866次阅读
    什么是激光通信?激光通信<b class='flag-5'>主要</b><b class='flag-5'>分为</b><b class='flag-5'>哪几类</b>?