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软件过程的基础设施

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

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

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

审核编辑 :李倩

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

    关注

    67

    文章

    4348

    浏览量

    85621
  • 过程
    +关注

    关注

    0

    文章

    19

    浏览量

    10590

原文标题:软件过程定义

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

收藏 人收藏

    评论

    相关推荐

    关于软件定义汽车,麦格纳怎么看

    事业部的专家何松和冯永升为我们介绍了麦格纳的能量与运动控制软件。 一睹为快   软件定义汽车到底会带来什么?对终端消费者而言将会获得哪些便利?   何:  我们 可以通过软件来构建产品
    的头像 发表于 04-11 10:43 273次阅读

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

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

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

    电子发烧友网站提供《软件定义无线电(SDR)基础知识.pdf》资料免费下载
    发表于 11-23 11:11 0次下载
    <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 407次阅读
    <b class='flag-5'>软件</b><b class='flag-5'>定义</b>汽车vECU虚拟控制器集成开发与测试

    构建一个灵活的软件定义数据中心

    电子发烧友网站提供《构建一个灵活的软件定义数据中心.pdf》资料免费下载
    发表于 08-29 15:35 0次下载
    构建一个灵活的<b class='flag-5'>软件</b><b class='flag-5'>定义</b>数据中心

    软件过程定义是什么 软件过程的要素包括哪些

    软件过程的完整定义还可能包括角色和能力、IT支持、软件工程技术和工具,以及执行过程所需的工作环境,以及用于确定执行
    的头像 发表于 08-28 10:45 771次阅读
    <b class='flag-5'>软件</b><b class='flag-5'>过程</b><b class='flag-5'>定义</b>是什么 <b class='flag-5'>软件</b><b class='flag-5'>过程</b>的要素包括哪些

    SWE.2软件架构设计

    过程ID : SWE.2 过程名称 : 软件架构设计 过程目的 : 软件架构设计过程目的是建立一
    的头像 发表于 08-24 09:43 502次阅读

    大陆集团如何“软件定义汽车”?

    软件定义汽车: 通过更改车辆的软件来重新定义其关键功能或性质。汽车企业希望成为汽车软件领域的强大后台,以适应快速改变的汽车市场需求。
    发表于 08-23 11:49 225次阅读
    大陆集团如何“<b class='flag-5'>软件</b><b class='flag-5'>定义</b>汽车”?

    软件定义的存储:重塑存储环境

    电子发烧友网站提供《软件定义的存储:重塑存储环境.pdf》资料免费下载
    发表于 08-10 16:54 0次下载
    <b class='flag-5'>软件</b><b class='flag-5'>定义</b>的存储:重塑存储环境

    软件定义数据中心

    电子发烧友网站提供《软件定义数据中心.pdf》资料免费下载
    发表于 08-10 16:10 0次下载
    <b class='flag-5'>软件</b><b class='flag-5'>定义</b>数据中心

    keil5+Env将变量定义到SDRAM中的过程

    其实要把特别大的变量(数组)定义到SDRAM中步骤很简单,但这个过程却困扰了我好久,此篇文章就作为个人学习笔记参考参考吧。
    的头像 发表于 08-02 14:39 1320次阅读
    keil5+Env将变量<b class='flag-5'>定义</b>到SDRAM中的<b class='flag-5'>过程</b>

    SuperCAT:软件定义EtherCAT运动控制器

    所谓软件定义控制,就是在标准化硬件之上(普通的X86工控机),将硬件虚拟化,然后通过软件来实现实时或者非实时控制。由于实现了硬件和软件的解耦,软件
    的头像 发表于 06-21 10:51 471次阅读
    SuperCAT:<b class='flag-5'>软件</b><b class='flag-5'>定义</b>EtherCAT运动控制器

    软件定义汽车的起源

    我们讨论了软件定义汽车的起源、软件的重要性,并指出了软件早已经存在于汽车之中,并非最近几年才出现的新生事物。而且,我们也认为软件将会决定一个
    的头像 发表于 06-14 11:11 709次阅读

    为什么说软件定义的车辆将汽车从工具变成了生活空间

    软件定义的车辆”这个术语是指车辆的许多关键特性和功能是通过软件来实现。从基于硬件到基于软件的这种转变,让汽车从功能性工具变成了用户的生活空间。除了解锁新的安全性、舒适性和便利性功能之
    的头像 发表于 05-17 09:31 507次阅读