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

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

3天内不再提示

软件过程定义

汽车电子工程知识体系 来源:汽车电子硬件设计 作者:汽车电子硬件设计 2022-04-14 10:18 次阅读

本主题涉及软件过程、软件过程管理和软件过程基础设施的定义。

如上所述,软件过程是一组相互关联的活动和任务,它们将输入的工作产品转换为输出的工作产品。软件过程的描述至少包括所需的输入、转换工作活动和生成的输出。如图8.2所示,一个软件过程可能还包括它的进入和退出标准,以及将工作活动分解成任务,这些任务是服从管理责任的最小的工作单元。过程输入可以是触发事件,也可以是另一个过程的输出。在过程可以开始之前,应该满足进入标准。在成功结束过程之前,应该满足所有指定的条件,包括输出工作产品或工作产品的验收标准。

软件过程可以包括子过程。例如,软件需求确认是一个用来确定需求是否会为软件开发提供充分基础的过程;它是软件需求过程的一个子过程。需求验证的输入通常是软件需求说明书和执行验证所需的资源(人员、验证工具、足够的时间)。需求验证活动的任务可能包括需求评审、原型设计和模型验证。这些任务包括个人和团队的工作分配。需求验证的输出通常是一个经过验证的软件需求规范,它为软件设计和软件测试过程提供了输入。需求验证和软件需求过程的其他子过程经常以各种方式交叉和迭代;

b86c6a16-bb92-11ec-aa7f-dac502259ad0.png

图8.2。软件过程的要素

在软件开发或修改期间,软件需求过程及其子过程可能会被多次输入和退出。

软件过程的完整定义还可能包括角色和能力、IT支持、软件工程技术和工具,以及执行过程所需的工作环境,以及用于确定执行过程的效率和有效性的方法和度量(关键性能指标)。

此外,一个软件过程可能包括交叉的技术、协作和管理活动。

定义软件过程的符号包括用自然语言描述的构成活动和任务的文本列表;数据流图;状态图;BPMN;IDEF0;佩特里网;以及UML活动图。过程中的转换任务可以定义为过程;过程可以指定为一组有序的步骤,也可以指定为执行任务时要完成的工作的检查表。

必须强调的是,没有最好的软件过程或软件过程集。对于每个项目和每个组织环境,必须选择、调整和应用软件过程。不存在理想的过程或过程集。

1.1软件过程管理

软件过程管理的两个目标是实现完成软件过程和生产工作产品的系统方法所产生的效率和效果——无论是在个人、项目还是组织层面——以及引入新的或改进的过程。

过程的改变期望一个新的或修改的过程将提高过程的效率和/或有效性,以及产生的工作产品的质量。变更到一个新的过程,改进一个已经存在的过程,组织的变更,和基础结构的变更(技术的插入或者工具中的变更)是紧密相关的,因为所有这些通常都是以改进软件产品的成本,开发进度,或者质量为目标的。过程变更不仅对软件产品有影响;他们经常导致组织变更。变更过程或引入新过程可能会在整个组织中产生连锁反应。例如,IT基础设构建具和技术中的变更通常需要过程变更。

在第一次部署其他新过程时,现有过程可能会被修改(例如,在软件开发项目中引入检查活动可能会影响软件测试过程——参见软件质量知识领域和软件测试知识领域中的评审和审计)。这些情况也可以称为“过程演进”。“如果是广泛的修改,则很可能需要改变组织文化和业务模式,以适应过程的改变。”

1.2软件过程的基础设施

建立、实现和管理软件过程和软件生命周期模型通常发生在单个软件项目的层次上。然而,跨组织的软件过程和软件生命周期模型的系统应用可以为组织内的所有软件工作提供好处,尽管它需要组织层面的承诺。软件过程基础设施可以提供过程定义、解释和应用过程的策略,以及用于实现过程的过程描述。此外,软件过程基础结构可能提供资金、工具、培训,以及为建立和维护软件过程基础结构而被分配责任的人员。

软件过程基础结构是不同的,这取决于组织的大小和复杂性以及在组织内进行的项目。小型、简单的组织和项目有小型、简单的基础设施需求。大型、复杂的组织和项目必然具有更大、更复杂的软件过程基础设施。在后一种情况下,可能会建立各种组织单位(例如软件工程过程组或指导委员会)来监督软件过程的实现和改进。

一种常见的误解是,建立软件过程基础设施和实现可重复的软件过程将增加软件开发和维护的时间和成本。引入或改进软件过程是有成本的;然而,经验表明,通过提高效率,避免返工,以及更可靠和负担得起的软件,实现软件过程的系统改进往往会导致更低的成本。过程性能因此影响软件产品质量。

审核编辑 :李倩

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

    关注

    69

    文章

    4684

    浏览量

    87066
  • 过程
    +关注

    关注

    0

    文章

    19

    浏览量

    10606

原文标题:软件过程定义

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

收藏 人收藏

    评论

    相关推荐

    emc软件定义存储的未来发展

    随着数字化转型的加速,数据存储需求日益增长。EMC(易安信)作为全球领先的数据存储解决方案提供商,其软件定义存储(SDS)技术在满足企业存储需求方面发挥着重要作用。 一、技术发展 集成人工智能和机器
    的头像 发表于 11-01 15:28 218次阅读

    软件定义汽车引发的产品开发大变革

    软件定义汽车的设计初衷是在汽车整个生命周期内通过无线更新不断增强。基于云的虚拟化新技术允许开发始于芯片量产之前,并延续到汽车上路之后。
    的头像 发表于 11-01 11:44 287次阅读

    恩智浦S32 CoreRide平台推动软件定义汽车快速演进

    软件定义汽车(SDV)正在汽车行业掀起一场颠覆性的变革。面对SDV全新的产品架构和商业模式,汽车制造商和开发者也在积极寻求更快速、更高效的开发方法,以应对迈向SDV过程中的诸多挑战。
    的头像 发表于 10-12 11:34 425次阅读

    华纳云:如何理解软件定义网络?和传统网络相比有哪些优势?

    概述 软件定义网络(SDN)是一种将网络资源抽象到虚拟化系统中的 IT 基础架构方法。这被称为网络虚拟化。SDN 将网络转发功能与网络控制功能分离开来,目的是创建可集中管理且可编程的网络,这也
    的头像 发表于 09-26 16:03 367次阅读
    华纳云:如何理解<b class='flag-5'>软件</b><b class='flag-5'>定义</b>网络?和传统网络相比有哪些优势?

    使用MATLAB、Simulink和Polyspace加速软件定义汽车开发

    开发软件定义汽车 (SDV) 时,开发团队必须具备新的能力,例如进行连续的软件发布,减少软件更改的交付周期以及尽可能减少部署失败。同时,平台团队需要为车载计算机和区域控制器创建新
    的头像 发表于 09-05 09:57 298次阅读
    使用MATLAB、Simulink和Polyspace加速<b class='flag-5'>软件</b><b class='flag-5'>定义</b>汽车开发

    基于MSPM0 MCU的软件定义玻璃LCD解决方案

    电子发烧友网站提供《基于MSPM0 MCU的软件定义玻璃LCD解决方案.pdf》资料免费下载
    发表于 08-31 10:11 0次下载
    基于MSPM0 MCU的<b class='flag-5'>软件</b><b class='flag-5'>定义</b>玻璃LCD解决方案

    软件定义存储ExponTech WDS助力企业级关键业务

    软件定义存储ExponTech WDS助力企业级关键业务
    的头像 发表于 06-13 09:47 297次阅读
    <b class='flag-5'>软件</b><b class='flag-5'>定义</b>存储ExponTech WDS助力企业级关键业务

    FUXA基于Web的过程可视化软件案例

    FUXA——基于Web的过程可视化软件
    发表于 04-24 18:32 0次下载

    新思科技携手AWS加速软件定义汽车的验证

    流媒体视频、声控操作、功能多样化的APP......以前属于智能手机的功能,在软件定义汽车(SDV)时代,也可以同样出现在汽车上。汽车早就已经不单是四个轮子的交通工具了,它更是搭载先进软件的智能机器
    的头像 发表于 01-17 09:15 732次阅读

    ​简单认识软件定义存储(SDS)

    软件定义存储(SDS)即利用分布式和虚拟化等软件技术,将存储硬件资源按需进行分割和重新组合,达到灵活按需拓展、提高存储利用率等目标。在数字经济发展背景下,SDS高度符合数据基础设施发展演进趋势。
    的头像 发表于 01-02 11:07 853次阅读
    ​简单认识<b class='flag-5'>软件</b><b class='flag-5'>定义</b>存储(SDS)

    什么是“软件定义汽车”?各大车企的软件定义汽车战略

    要实现软件定义汽车,除了电子/电气架构的升级,用于软硬件分离解耦的集成ECU(电子控制单元)也是必不可少的。另外还提到,为此需要一种称为“虚拟机(hypervisor)”的技术在单个ECU上运行多个虚拟ECU功能。
    发表于 12-22 11:11 489次阅读
    什么是“<b class='flag-5'>软件</b><b class='flag-5'>定义</b>汽车”?各大车企的<b class='flag-5'>软件</b><b class='flag-5'>定义</b>汽车战略

    定义和实施帮你对软件测试进行全解析

    软件测试 是软件开发过程中的一项重要环节,它的目的是确保软件能够满足预期的需求和质量标准,为客户提供高质量的产品或服务。本文将从定义和实施角度对软件
    的头像 发表于 12-21 14:25 442次阅读

    软件定义无线电(SDR)基础知识

    电子发烧友网站提供《软件定义无线电(SDR)基础知识.pdf》资料免费下载
    发表于 11-23 11:11 1次下载
    <b class='flag-5'>软件</b><b class='flag-5'>定义</b>无线电(SDR)基础知识

    软件定义光网络技术与应用

    电子发烧友网站提供《软件定义光网络技术与应用.pdf》资料免费下载
    发表于 11-10 11:44 1次下载
    <b class='flag-5'>软件</b><b class='flag-5'>定义</b>光网络技术与应用

    软件定义汽车vECU虚拟控制器集成开发与测试

    软件定义汽车”即软件将深度参与到汽车的定义、开发、验证、销售、服务等过程中,并不断改变和优化各个过程
    发表于 11-09 11:49 986次阅读
    <b class='flag-5'>软件</b><b class='flag-5'>定义</b>汽车vECU虚拟控制器集成开发与测试