《软件工程方法与实践》—— 2.2 什么是软件过程-阿里云开发者社区

开发者社区> 华章计算机> 正文

《软件工程方法与实践》—— 2.2 什么是软件过程

简介: 软件的诞生及其生命周期是一个过程,我们总体上称这个过程为软件过程。软件过程是为了开发出软件产品,或者是为了完成软件工程项目而需要完成的有关软件工程的活动,每一项活动又可以分为一系列的工程任务。任何一个软件开发组织,都可以规定自己的软件活动,所有这些活动共同构成了软件过程。
+关注继续查看

本节书摘来自华章出版社《软件工程方法与实践》一 书中的第2章,第2.2节,作者窦万峰,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.2 什么是软件过程

2.2.1 软件过程的定义

软件的诞生及其生命周期是一个过程,我们总体上称这个过程为软件过程。软件过程是为了开发出软件产品,或者是为了完成软件工程项目而需要完成的有关软件工程的活动,每一项活动又可以分为一系列的工程任务。任何一个软件开发组织,都可以规定自己的软件活动,所有这些活动共同构成了软件过程。
必须有科学、有效的软件过程才能获得高质量的软件产品。因此,科学、有效的软件过程应该定义一组适合于所承担的项目特点的任务集合。通常,一个任务集合包括一组软件工程任务、里程碑和应该交付的产品。事实上,软件过程是一个软件开发机构针对某一类软件产品为自己规定的工作步骤,它应当是科学的、合理的,否则必将影响软件产品的质量。
软件过程是一个为了构造高质量软件所需完成的一系列活动的过程框架,即形成软件产品的一系列步骤,包括中间产品、资源、角色及过程中采取的方法、工具等范畴。软件过程是指软件整个生存周期,从需求获取、需求分析、设计、实现、测试到发布和维护的一个过程模型。一个软件过程定义了软件开发中采用的方法,还包含该过程中应用的技术—技术方法和自动化工具。过程定义一个框架,为有效交付软件工程技术,这个框架必须创建。软件过程构成了软件项目管理控制的基础,并且创建了一个环境以便于技术方法的采用、工作产品(模型、文档、报告、表格等)的产生、里程碑的创建、质量的保证、正常变更的正确管理。

2.2.2 软件过程框架

过程的制度化需要过程框架的支持。框架是实现整个软件开发活动的基础,那些与过程有关的角色、职责的定义以及实现都离不开框架的支持。框架是一个十分重要的概念。通常,框架中的角色可以为过程活动的执行提供帮助与指导,并且为过程活动的实施与监控提供工具与渠道。
任何一个过程都应该包含两个方面的内容:一是组织及管理框架,这包括实现软件过程改进活动时所涉及的角色与职责;二是方法及工具框架,这包括实现过程活动自动化以及实现不同角色及其职责时所需的设备与工具。
对于软件过程,我们将软件过程框架定义为企业运行的基本框架,并且能对软件过程改进活动提供支持与帮助。
为了实现一个有效的软件过程环境,软件过程框架应当设置相应的角色与职责。这些角色和相应的职责还应涵盖软件过程中所有的关键领域。对于软件过程改进环境而言,一个有效的框架应包含两部分:一是组织、管理的角色和职责,二是技术环境。
软件过程框架定义了若干小的框架活动,为完整的软件开发过程建立了基础。软件过程框架还包括了一些适用于各个软件过程的普适性活动,主要包括:

  • 沟通:软件相关共利益者之间大量的交流和协作。
  • 计划:为软件开发工作制订计划。
  • 建模:创建软件开发所涉及的各种模型和设计方案。
  • 构建:编码和测试活动。
  • 部署:将软件部署到运行环境中,并交付给用户。
    《系统和软件工程 软件生存周期过程》(ISO/IEO 12207:2008)标准将一个系统的生存周期过程分为两大类:系统语境的过程和针对软件开发的过程。系统语境的过程类包括4个过程组,分别是协议过程组、项目过程组、技术过程组和组织上项目使能过程组。针对软件开发的过程类包括3个过程组,即软件实现过程组、软件支持过程组和软件复用过程组。这些过程组又分别包含一组过程和相关的一系列活动。表2-1给出了这些过程和活动以及任务数。


表2-1 软件过程内容
a0c5eba503fd1594f90b264c701585ed4bc74a6f
d8b75df6d399c43770337d3326b35106258b62fb
6e1af08db1ae6112fd4e6aa557c06b4d4cf78588

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《团队软件过程(修订版)》—第1章1.5节TSPi过程
每个脚本都从相应活动的整体目的说明开始,举例来说,这些活动可以是开发需求文档、产生设计或者执行测试。每个脚本还包括入口准则和出口准则。入口准则详细说明了开始一个脚本之前要做的准备工作,出口准则详细说明了结束一个脚本时要完成的工作。
1077 0
《团队软件过程(修订版)》—第1章1.6节本书结构和流程
本书包括一个导读、4个主要部分、几个附录和一个索引。导读介绍了应该在何种场合以及如何使用本书。第一部分简要介绍了TSPi过程,解释了TSPi是什么,以及它为何是这种结构。
1160 0
《团队软件过程(修订版)》—第1章1.7节小结
TSPi过程采用了周期性开发策略。从一个小的功能集开始,小组能快速开发出产品的第一个可运行版本。之后,他们就能更好地规划和开发第二个周期的产品。如果有时间进行第三个周期,学习过程就能得到进一步的强化。周期性开发策略与成功的大型软件开发组织遵循的开发过程非常类似。
852 0
《软件工程方法与实践》—— 1.6 小结
软件是计算机系统中与硬件相对应的另一部分,是一系列程序、数据及其相关文档的集合。软件具有复杂性、一致性、退化性、易变性、移植性和高成本等特征。软件工程是由于软件危机的出现而被提出的,其主旨是以工程化的思想进行软件的开发与维护,目的是高效率地生产出高质量的软件。
1408 0
《团队软件过程(修订版)》—第1章1.4节TSPi的结构和流程
TSPi从团队制定开发策略开始。首先确定在第一个周期中要开发的最小合理产品,然后,估算在每个后续周期中要增加的产品功能的规模。这种方式基本可以保证你能完成最终产品的可运行的前期版本。
1137 0
开发直播app软件过程中的云存储和备份
随着科技不断地发展和进步,云技术的应用已经开始大面积的普及,云技术主要是指在广域网或局域网内将硬件、软件和网络等一系列资源统一起来,实现数据的计算、储存、共享和处理的一种托管技术。当然,开发直播app软件过程中也会需要这一技术的帮助,今天主要给大家分享一下云储存和云备份的相关知识。
974 0
十分钟快速玩转 Aliware MQ-阿里云消息队列Demo工程实践
本 Demo 主要目的在于帮助初次接触 Aliware MQ 的工程师,一步一步搭建 MQ 测试工程。Demo 程序以 Java 为例,包括普通消息、事务消息、定时消息的测试代码,以及相关 Spring 的配置示例。
9619 0
Serverless 工程实践 | Serverless 应用优化与调试秘诀
本文将以阿里云函数计算为例,提供了在线调试、本地调试等多种应用优化与调试方案。
173 0
AOE工程实践-银行卡OCR里的图像处理
AOE工程实践-银行卡OCR里的图像处理 作者:杨科 近期我们开发了一个银行卡 OCR 项目。需求是用手机对着银行卡拍摄以后,通过推理,可以识别出卡片上的卡号。 工程开发过程中,我们发现手机拍摄以后的图像,并不能满足模型的输入要求。
1771 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载