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

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

3天内不再提示

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

汽车电子工程知识体系 来源:汽车电子工程知识体系 2023-08-28 10:45 次阅读

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

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

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

0135b452-4538-11ee-a2ef-92fbcf53809c.png

图8.2。软件过程的要素

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

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

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

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

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

1.1软件过程管理

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

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

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

1.2软件过程的基础设施

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

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

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

编辑:黄飞

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

    关注

    2

    文章

    207

    浏览量

    18381
  • 软件过程
    +关注

    关注

    0

    文章

    4

    浏览量

    5036
  • 自然语言
    +关注

    关注

    1

    文章

    269

    浏览量

    13205

原文标题:软件过程定义

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

收藏 人收藏

    评论

    相关推荐

    基于CMM的软件维护过程管理及其工具研究

    本文介绍了基于CMM 的软件维护过程,提出了一种软件维护过程模型,并介绍了一种纠错性维护工具的设计及开发过程。关键词:
    发表于 09-01 08:18 3次下载

    软件过程建模方法研究

    软件过程建模方法研究:通过软件开发实践,人们逐步地认识到软件产品的质量在很大程度上依赖于产品开发时所使用的过程.
    发表于 10-31 09:00 14次下载

    什么是软件生存期过程

    什么是软件生存期过程 1 主题内容与适用范围   1.1 主题内容   本标准规定
    发表于 04-14 10:20 835次阅读

    软件生存期过程(2)

    软件生存期过程(2)  9 操作过程   操作过程含有操作者的活动和任务。  此过程包括
    发表于 04-14 11:00 310次阅读

    软件生存期过程(1)

    软件生存期过程(1)  6 获取过程   获取过程包含需方的活动和任务。此过程定义
    发表于 04-14 11:10 1080次阅读

    软件需求过程如何与整个工程过程相吻合?

    本部分介绍了软件需求过程,针对剩下的五个主题,并展示了需求过程如何与整个软件工程过程相吻合。 2.1过程
    的头像 发表于 01-11 09:58 1669次阅读

    SWE.2的软件架构设计

    过程ID:SWE.2 过程名称:软件架构设计 过程目的:软件架构设计过程目的是建立一个架构设计,
    的头像 发表于 01-11 10:36 2443次阅读

    软件过程是如何定义的?

    本主题涉及软件过程软件过程管理和软件过程基础设施的定义
    的头像 发表于 06-21 17:21 3150次阅读
    <b class='flag-5'>软件</b><b class='flag-5'>过程</b>是如何<b class='flag-5'>定义</b>的?

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

    本主题讨论软件过程的类别、软件生命周期模型、软件过程适应和实际考虑。
    的头像 发表于 06-21 17:25 4631次阅读

    软件过程管理和基础设施的定义

    本主题涉及软件过程软件过程管理和软件过程基础设施的定义
    的头像 发表于 08-11 09:40 1795次阅读

    简述Geant4 的软件开发过程

    整体发展的软件过程标准进行开发。所涉及软件的复杂性包括软件产品的广泛应用领域、庞大的代码量和类别的复杂性、规模和分布式性质合作本身的所有
    的头像 发表于 08-26 16:22 4793次阅读

    软件过程定义

    软件过程可以包括过程。例如,软件需求确认是一个用来确定需求是否会为软件开发提供充分基础的
    的头像 发表于 04-14 10:18 990次阅读

    阐述系统中软件定义和硬件定义

    软件到硬件,从硬件到软件;硬件定义并驱动软件软件定义并驱动硬件;软硬件系统的发展,是个螺旋上
    的头像 发表于 09-06 09:51 2562次阅读

    SWE.2软件架构设计

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

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

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