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

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

3天内不再提示

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

汽车电子工程知识体系 ? 来源:汽车电子系统与软件 ? 作者:c2c ? 2021-06-21 17:25 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

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

2.1 软件过程的类别

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

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

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

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

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

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

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

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

2.2 软件生命周期模型

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

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

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

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

2.3 软件过程的适应

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

2.4 实际考虑

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

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

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

责任编辑:lq6

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

    关注

    69

    文章

    5183

    浏览量

    89668
  • 软件过程
    +关注

    关注

    0

    文章

    4

    浏览量

    5121

原文标题:软件生命周期

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    固态电容按照介质种类来分为哪几种?

    固态电容按照介质种类主要分为 钽介质固态电容、铝介质固态电容、陶瓷介质固态电容(MLCC虽属陶瓷电容,但部分特殊结构可视为固态电容变种)以及聚合物介质固态电容(如导电高分子型) 。以下为具体分类
    的头像 发表于 07-25 16:10 ?208次阅读
    固态电容按照介质种类来<b class='flag-5'>分为</b><b class='flag-5'>哪几</b>种?

    单模光纤线分为几类?都有什么差异

    单模光纤线根据ITU-T国际标准(G.65x系列)主要分为以下六类,每类在传输性能、应用场景和成本上存在差异: G.652(常规单模光纤) 核心特性:零色散波长在1310nm附近,1550nm处损耗
    的头像 发表于 07-03 10:19 ?413次阅读

    晶圆减薄工艺分为哪几

    “减薄”,也叫 Back Grinding(BG),是将晶圆(Wafer)背面研磨至目标厚度的工艺步骤。这个过程通常发生在芯片完成前端电路制造、被切割前(即晶圆仍然整体时),是连接芯片制造和封装之间的桥梁。
    的头像 发表于 05-30 10:38 ?896次阅读

    几类宽带圆极化天线设计

    电子发烧友网站提供《几类宽带圆极化天线设计.pdf》资料免费下载
    发表于 05-28 14:07 ?0次下载

    功率放大器通常可以分为哪几类类型

    功率放大器是一种用于增加信号功率的电子设备,常见于无线通信、音频设备、广播电视等领域。根据工作原理、电路拓扑和应用领域的不同,功率放大器可以分为多种类型。下面西安安泰来介绍常见的几类功率放大器。 A
    的头像 发表于 03-20 11:07 ?533次阅读
    功率放大器通常可以<b class='flag-5'>分为</b><b class='flag-5'>哪几类</b>类型

    分布式存储有哪几种类型?

    分布式存储有哪几种类型?分布式存储系统是一种将数据分散存储在多台独立节点上的技术,根据数据模型可分为键值存储、列式存储、文档存储和图形存储等类型;按数据存储单位可分为基于文件、块和对象的存储;按
    的头像 发表于 02-20 11:00 ?746次阅读

    电源适配器类型分成哪几类呢?

    讲到电源适配器类型分成哪几类呢?对于这方面的问题下面来具体的了解下。   区别电源适配器这两种类型的方法主要从体积大小、重量、输出电压的范围差值来进行区别。电源适配器类型主要分为线性电
    发表于 01-17 09:40

    请问为ADC选Driver主要要看哪几项技术指标呢?

    to 20-Bit, Differential, High-Speed SAR Drivers,这时说THS4561就不适合做Delta-Sigma (ΔΣ) ADC Drivers吗?请问为ADC选Driver主要要看哪几项技术指标呢?
    发表于 12-16 06:00

    电机主要可以分为哪些类型?怎么分类?

    电机是将电能转换为机械能或将机械能转换为电能的设备。根据其工作原理和应用领域,电机可以分为多种类型。以下是对电机主要分类的介绍: 按工作原理分类: a) 直流电机(DC Motor):直流电机是将
    的头像 发表于 10-23 10:23 ?4609次阅读

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

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

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

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

    C2000软件控制的固件更新过程

    电子发烧友网站提供《C2000软件控制的固件更新过程.pdf》资料免费下载
    发表于 09-19 11:30 ?0次下载
    C2000<b class='flag-5'>软件</b>控制的固件更新<b class='flag-5'>过程</b>

    GUTOR备品备件主要包括哪几个组成部分?

    GUTOR备品备件主要包括哪几个组成部分?
    发表于 09-12 17:19

    linux系统的设备驱动一般分几类

    Linux系统的设备驱动是操作系统与硬件设备之间的桥梁,负责实现操作系统与硬件设备之间的通信和控制。Linux系统的设备驱动可以分为以下几类: 字符设备驱动 块设备驱动 网络设备驱动 音频设备驱动
    的头像 发表于 08-30 15:13 ?1116次阅读

    电力变压器按用途分为哪几

    电力变压器是电力系统中不可或缺的设备之一,它们在电能的传输和分配中发挥着重要作用。根据用途,电力变压器可以分为多种类型,每种类型都有其特定的应用场景和功能。 电力变压器的基本概念 电力变压器是一种
    的头像 发表于 08-26 10:18 ?1844次阅读