软件工程第七章

第七章 软件生产周期过程与管理

**大家想一起学习交流的可以加群,QQ:755422568。**

一、软件生产周期过程概述

软件生存周期过程分为三类:基本过程、支持过程、组织过程。
(填空题,简述三个过程定义——简答题)

(1)、基本过程

基本过程是指那些与软件生产直接相关的活动集。

基本过程分为五个过程:

获取过程、供应过程、开发过程、运行过程、维护过程。

开发过程包括以下活动:

过程实现、系统需求分析(建立系统需求规格说明)、系统体系结构设计(建立系统的顶层体系结构)、软件需求分析(建立软件需求规格说明,联合复审)、软件体系结构设计(联合复审)、软件详细设计、软件编码和测试、软件集成、软件合格性测试、软件安装、软件验收支持。

(2)、支持过程

支持过程是指有关各方按他们的目标所从事的一系列相关支持活动集

支持过程分为:

文档过程、配置管理过程、质量保证过程、验证过程、确认过程、联合复审过程、审计过程和问题解决过程。

配置管理过程包括以下活动:

过程实现、配置标识、配置控制、配置状态统计、配置评价、发布管理和交付。

(3)、组织过程

组织过程是指那些软件生产组织有关的活动集。

组织过程分为以下过程:
管理过程、基础实施过程、培训过程和改进过程。

管理过程包含以下活动:

启动与范围定义、规划、测量、执行和控制、评审和评价、结束处理。

(3)、《ISO/IEC系统与软件工程—软件生存周期过程12207—2008》标准简介

为获取方获取一个软件产品或服务,为供应方开发、运行、维护、提供和销毁一个软件产品,建立一种软件生存周期框架,包含过程、活动和任务,并通过过程分类、过程描述——一种良好的定义技术、给出它们之间的关系。
为软件生存周期过程的定义、控制和改进提供一个过程,即生存周期模型管理过程。

系统语境的过程类包括4个过程组:

协议过程组、项目过程组、技术过程组、组织上项目使能过程组。

针对软件开发的过程类包括3个过程:

软件实现过程组、软件支持过程组、软件复用过程组。

软件复用过程组包括3个过程:

领域工程过程、复用程序管理过程、复用资产管理过程。

二、过程描述

(1)、供应过程

意图:为获取方提供满足所协商需求的产品或服务。
活动和任务:供应方应按可用的组织策略和规程实施活动和任务。

(2)、软件实施过程

意图:为了生产一个已规约系统的元素,作为一个软件产品或服务而实现的。
活动和任务:项目应该按可用的组织策略和规程,实施活动和任务。

(3)、软件需求分析过程

意图:建立系统软件部分的需求。
活动和任务:项目应该按可用的组织策略和规程,实施活动和任务。

(4)、软件体系结构设计

意图:为软件的实现及其可以按需求进行验证,提供一种设计。
活动和任务:按可用的组织策略和规程,实施活动和任务,并保持与系统体系结构设计的一致性。

(5)、软件验证过程

意图:证实一个过程或项目的每一软件工作产品/服务是否正确地反映了所规约的需求。
活动和任务:按可用的组织策略和规程,实施活动和任务。

验证:需求验证、设计验证、代码验证、集成验证、文档验证

(6)、软件确认过程

意图:证实所期望使用的软件工作产品是否满足其需求。
活动和任务:按可用的组织策略和规程,实施活动和任务。

验证是通过提供的客观证据,证实规约的需求是否满足。
确认是通过提供的客观证据,证实有关特定期望的使用或应用的需求是否满足。

三、应用说明

执行系统中确定的功能主要包括3大功能:控制功能、耦合功能、软件本身提供的功能

(1)、剪裁

意图:使这一标准的过程满足以下特定情况:
1)、围绕一个组织,其中该组织在一个协议中使用了这一标准。
2)、营销一个项目,其中要求该项目满足一个引用该标准的协议。
3)、反映一个组织的需要,其中该组织要供给产品或服务。

四、软件生存周期模型

(1)、瀑布模型

将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作。
规定了各个开发阶段的活动:系统需求、软件需求、需求分析、设计、编码、测试和运行。(填空题

对软件工程的主要贡献为:
1)、在决定系统怎样做之前存在一个需求阶段,它鼓励对系统做什么进行规约。
2)、在系统构造之前存在一个设计阶段,它鼓励规划系统结构。
3)、在每一阶段结束时进行评审,从而允许获取方和用户的参与。
4)、前一步可作为下一步被认可的、文档化的基线,并允许基线和配置早期接受控制。

突出的缺点:
无法通过开发活动澄清本来不够确切的软件需求,可能导致开发出的软件并不是用户真正需要的软件、无疑要进行返工或不得不在维护中纠正需求的偏差。

(2)、增量模型(被工业界采用)

增量模型指出需求可以分组,形成一个个的增量,并形成一个结构

增量模型的突出优点:(简答题)
1)、第一个可交付版本所需要的成本和时间是较少的,从而可减少开发由增量表示的小系统所承担的风险。
2)、由于很快发布了第一个版本,因此可以减少用户需求的变更。
3)、允许增量投资,即在项目开始时可以仅对一个或两个增量投资。
增量模型的主要缺点:
1)、如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来的增量的不稳定。
2)、如果需求不想早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布。
3)、由于进度和配置的复杂性,可能会增大管理成本,超出组织的能力。

(3)、演化模型(表达了一种有弹性的过程模式)

演化模型是针对事先不能完整定义需求的软件开发的。

主要特征:该模型显示地把需求获取扩展到需求阶段,即为第二个构造增量,使用第一个构造增量来精化需求。
演化模型的主要不足:
1)、很容易弱化需求分析阶段的工作。

(4)、螺旋模型

螺旋模型是在瀑布模型和演化模型的基础上,加入两者所忽略的风险分析所建立的一种软件开发模型。

4个活动:

制定计划——确定软件目标,选定实施方案,弄清项目开发的限制条件。
风险分析——分析所选方案,考虑如何识别和消除风险。
实施工程——实施软件开发。
客户评估——评价开发工作,提出修正建议。

螺旋模型增大了决策和降低风险的空间,扩大了增量模型的管理范围。

(4)、喷泉模型(支持面向对象技术的软件开发)

喷泉模型体现了软件创建所固有的迭代和无间隙的特征。

五、过程规划与管理

(1)、过程建立

1)、选择软件生存周期模型
2)、细化所选择的生产周期模型
3)、为每一个活动或任务标识合适的实列数目
4)、确定活动的时序关系,并检查信息流。

(2)、软件生存周期过程的监控

1)、进展与进度的跟踪。
2)、质量数据趋势的跟踪。
3)、设计、编码和测试计划复审记录和动作的检查。
4)、变更要求和测试异常报告趋势的检查。
5)、关键资源的有效使用。
6)、与项目组成员的交谈。

发布了31 篇原创文章 · 获赞 4 · 访问量 1522

猜你喜欢

转载自blog.csdn.net/qq_38471554/article/details/100797630