清华大学郑人杰_殷仁昆教授_《软件工程讲解》

上传人:命****币 文档编号:105906386 上传时间:2019-10-14 格式:PPT 页数:108 大小:647.51KB
返回 下载 相关 举报
清华大学郑人杰_殷仁昆教授_《软件工程讲解》_第1页
第1页 / 共108页
清华大学郑人杰_殷仁昆教授_《软件工程讲解》_第2页
第2页 / 共108页
清华大学郑人杰_殷仁昆教授_《软件工程讲解》_第3页
第3页 / 共108页
清华大学郑人杰_殷仁昆教授_《软件工程讲解》_第4页
第4页 / 共108页
清华大学郑人杰_殷仁昆教授_《软件工程讲解》_第5页
第5页 / 共108页
点击查看更多>>
资源描述

《清华大学郑人杰_殷仁昆教授_《软件工程讲解》》由会员分享,可在线阅读,更多相关《清华大学郑人杰_殷仁昆教授_《软件工程讲解》(108页珍藏版)》请在金锄头文库上搜索。

1、软件工程,1,软件工程 第九章 软件过程,9.1 软件过程的概念 9.2 软件过程的建模 9.3 软件过程的评估与CMM模型 9.4 软件过程改进、评估与CMMI模型,软件工程,2,9.1 软件过程的概念,软件过程是软件生存周期中的一系列相关软件工程活动的集合,活动是任务的集合。任务是将输入变换为输出的操作。 活动的执行可以是顺序的,重复的,并行的、嵌套的。 每一个软件过程又是由一组工作任务、项目里程碑、软件工程产品和交付物以及质量保证点等组成。,9.1.1 什么是软件过程,软件工程,3,软件工程,4,软件过程的含义 个体含义: 软件或系统在生存周期中某一类活动的集合 整体含义: 软件过程的总

2、体 工程含义: 应用软件工程的原则、方法来构造软件过程模型,并结合软件的具体要求进行例化,以及在用户环境运作,软件工程,5,9.1.2 软件过程的构造,首先建立一个公共过程框架,其中定义了少量可用于所有软件项目的框架活动; 再给出各个框架活动的任务集合,使得框架活动能够适合于项目的特点和项目组的需求。 最后是保护伞活动,如软件质量保证、软件配置管理以及测量等,它们独立于任何一个框架活动并将贯穿于整个过程。,软件工程,6,软件过程构造,公共过程框架,框架活动,任务集合,工作任务,里程碑、交付物,SQA点,保护伞活动,软件工程,7,9.1.3 软件过程的模型,软件工程过程模型的选择基于项目和应用的

3、特点、采用的方法和工具、要求的控制和需交付的产品。 所有的软件开发都可以看成是一个问题循环解决过程,其中包括 4 个阶段: 状态捕获: 描述事物的当前状态; 问题定义: 标识需要解决的问题; 技术开发: 利用某些技术来解决问题; 方案综合: 导出最终结果(如文档、程序、数据、新的事务功能、新的产品)。,软件工程,8,为使软件过程模型适合于软件项目使用,需要开发过程技术工具,帮助软件开发组织分析它们当前的过程,组织工作任务,控制和监控进度,管理技术质量。,软件工程,9,使用过程技术工具,可以建造一个模型,模型包含前面提到的公共过程框架、任务集合及保护伞活动。 该模型一般表示成一个网络图,对其加以

4、分析,就能够确定典型的工作流,考察可能导致减少开发时间、降低开发成本的可选的过程结构。 一旦创建了一个可接受的过程,就可以使用其它过程技术工具来分配、监视、甚至控制在软件过程模型中定义的所有软件工程任务。,软件工程,10,9.1.4 软件过程的分类 (ISO/IEC 12207软件生命周期过程标准),该标准从多个角度阐述了软件生命周期各个过程中的活动,对规范软件开发过程,协调各类人员之间的关系,都具有指导作用。 该标准把所有过程分成三大类:基本过程,支持过程和组织过程。 基本过程是生命周期中的原动力,支持过程辅助基本过程的执行,组织过程用于建立、控制和改进生命周期过程。,软件工程,11,软件生

5、存周期过程 (ISO 12207:1995 / GB/T 8566-2001),软件工程,12,1. 基本过程,获取过程 是需方为了获得一个软件产品所进行的一系列活动。该过程从为获取该软件产品的需求定义开始,经过招标准备,合同准备和签订,对供方监督,直到验收完成。 供应过程 是供方为向需方提供软件产品所进行的一系列活动。该过程从理解软件需求开始,经过投标准备,签订合同,制定计划,实施计划及控制,进行评审和评价,直至完成交付。 开发过程 是软件开发人员根据合同开发和交付软件的一系列活动。主要的活动有:过程实施准,软件工程,13,备,系统需求分析,系统结构设计,软件需求分析,软件体系结构设计,软件

6、详细设计,程序编码和单元测试,软件集成,软件确认测试,系统集成,系统确认测试,软件安装,软件验收支持。 运行过程 软件开发完成后,软件从开发环境转移到用户的实际运行环境。在运行时对用户的要求提供帮助和咨询,对运行效果进行评价。主要的活动有:实施过程准备,运行测试,系统向实际运行环境转移,系统运行,对用户运行的支持,系统运行评价,用户运行评价。,软件工程,14,维护过程 维护人员提供维护软件产品的服务。主要的活动有:过程实施准备,问题分析和修改分析,修改实施,对维护进行评审验收,移植,软件退役。 文档过程 文档过程是一个记录由某一过程或活动所产生的信息的过程。主要活动有:过程的实施准备,设计与开

7、发,制作与发行,维护。 配置管理过程 该过程实施软件配置管理活动。主要活动有:过程实施准备,配置的确定,配置,2. 支持过程,软件工程,15,的控制,配置情况报告,配置的评价,发行管理和提交。 质量保证过程 这是一个为使软件过程和软件产品符合规定需求,并按预定计划按时完成提供适当保证的过程。主要活动有:过程实施准备,软件产品的质量保证,软件过程的质量保证。 验证过程 确定系统或软件的需求是否完备和正确,以及每一阶段的软件产品是否达到前一阶段对它的要求和条件。主要活动有:过程实施准备,验证,合同验证,过程验证,需求验证,设计验证,代码验证,集成验证,文档验证。,软件工程,16,确认过程 确认需求

8、和最终建立的系统或软件是否满足原计划的特定应用。主要的活动有:实施特定的测试并分析测试结果,确认软件产品的用途,测试软件产品的适用性。 审计过程 这一过程是要审计确定合作的另一方遵照需求、计划合同到什么程度的过程。主要的活动有:检验项目是否符合需求、计划、合同以及规格说明和标准。 联合评审过程 此过程评价项目的某个活动或阶段的执行情况以及产品是否合乎要求。主要活动有:过程实施准备,项目管理评审,技术评审。,软件工程,17,问题解决过程 这是一个用于分析和排除在开发、运行、维护或其它过程中发现的问题和不一致的过程。 一个支持过程可以被获取、供应、开发、运行和维护等基本过程调用,也可以被其他支持过

9、程调用,以保证项目成功和项目质量提高。 管理过程 管理包括进度管理、成本管理、质量管理、人员管理、资源管理、标准化管理。,3. 组织过程,软件工程,18,管理的对象是进度、系统规模及工作量估算、经费、组织机构、人员、风险、质量、作业和环境配置等。主要活动有:过程实施准备,制定计划,监控计划的实施,评审和评价计划的完成程度,涉及到有关过程的产品管理、项目管理和任务管理。 基础设施过程 该过程建立、维护各个过程所需的基础设施。基础设施包括硬件、相关的软件、工具、技术、标准以及开发、运行、维护所需的各种基础设施。 改进过程 该过程建立、评估、度量、控制和,软件工程,19,改进软件生存周期的过程。主要

10、活动是制定一组组织计划,评估相关过程,实施分析、改进过程。 培训过程 该过程为系统或软件产品提供人员培训。主要活动有制定所需人员用人计划和培训计计划, 开发培训资料, 实施培训活动等。 所有过程都遵守了两条基本原则:模块化和责任。所谓模块化是指各过程都已模块化,它们具有高内聚性和低耦合性,通常一个具体的过程完成一个独立的功能。所谓责任是指一个过程的执行应为某一部门的责任。,软件工程,20,17个过程之间的关系如图所示。图中最上面的矩形框中是组织过程,中间的矩形框描述了如何把过程应用于一个项目,最下面的矩形框是支持过程集。图中椭圆上的顺时针箭头表示plan-do-check-ack(PDCA)周

11、期。 图中,“E、F、M、P、T、U”分别代表执行(Execute)、反馈(Feedback)、管理(Manage)、实践(Participate)、任务(Task)和使用(Use)。 “E:n”表示执行第n个过程,图下部的矩形框中给出了过程编号。,4. 过程间的相互关系,软件工程,21,软件工程,22,过程是针对确定的目的所实施的序列步骤,例如软件开发过程。(IEEE-STD-610) 过程是使用资源将输入转化为输出的活动的系统。(ISO 9000 : 2000) 过程是把输入转换为输出的一组彼此相关的活动。(ISO/IEC 12207),过程的几个标准定义,软件工程,23,9.1.5 IS

12、O/IEC TR 15504 软件过程评估标准,ISO/IEC 12207 是从过程实施的角度对软件生命周期过程进行规范的标准, ISO/IEC TR 15504 是从过程评估的角度对软件过程进行规范的标准。 1. 概述 ISO/IEC TR 15504 为软件过程评估提供了一个框架,并为实施评估以确保各种级别的一致性和可重复性提出了一个最小需求。该需求有助于保持,软件工程,24,评估结果前后一致,并提供证据证明其级别、验证与需求相符。 过程评估活动可以在过程改进活动中执行,也可以作为能力确定过程的一部分执行。 ISO/IEC TR 15504 标准具有两维结构:一个是过程维,另一个是能力维。

13、 过程维 过程维是评估的基础,它的定义融合了一些ISO/ IEC 12207 软件生命周期过程的定义。,2. 标准的结构,软件工程,25,参考模型的二维结构,对照进行映射,过程维,能力维,软件工程,26,客户供应者 CUS (CustomerSupplier) 过程:这类过程有获取、供应、需求导出和操作等 4 个过程。 工程 ENG (Engineering) 过程:这类过程包括开发、系统与软件维护等 2 个过程。 支持 SUP (Support) 过程:这类过程包括文档、配置管理、质量保证、验证、确认、联合评审、审计和问题解决等 8 个过程。 管理 MAN (Management) 过程:这

14、类过程有管理、项目管理、质量管理和风险管理等 4 个过程。,软件工程,27,组织 ORG (Organization) 过程:这类过程包括组织调整、改进、人力资源管理、基础设施、测量和重用等 6 个过程。 能力维 在标准的第 2 部分所定义的能力等级,是一组过程和管理的属性,它们作为一个整体为软件供应者提供了改进过程实施能力的建议。每个等级都提供改进过程实施能力的建议,各个级别都制定了改进过程能力的合理的方法。 在参考模型中定义了 6 个能力级别,下面按从低到高的顺序介绍这 6 个级别的特点。,软件工程,28,第0级 不完备级 过程不完整,而且一片混乱。 第1级 已实施级 过程是依据直觉来实施

15、的,有一定的工作产品。 第2级 已管理级 责任明确,过程和过程的中间产品可管理。 第3级 可创建级 可以为不同目的定制预定义的过程,过程资源可管理。,软件工程,29,第4级 可预测级 各种度量使得过程的实施及实施结果可控制。 第5级 优化级 用于过程改进的定量度量。 在本标准中融合进了能力成熟度模型 (CMM) 类似的能力等级。用户可以通过不断提高能力等级的方法,提高自己的软件过程能力。,软件工程,30,9.2 软件过程的建模,软件过程建模是对实际软件过程的再工程。所有其他的工程活动都是基于建模活动的结果进行的。 过程建模技术包括建模目的、建模方法、建模语言、软件过程与过程模型的度量。 建模目

16、的决定了建模活动的范围; 建模方法和建模语言是对建模目的的支持和将过程模型形式化的手段; 对过程模型的度量与评估是修改和演进过程模,软件工程,31,型的基础,使得过程模型能够更好地与软件工程相吻合,并充分地反映一个组织的过程成熟度。 过程建模的目的主要是: 通过过程建模,可使人们对过程达到共识,共享过程知识,进行交流。 通过过程建模,人们可对过程活动和过程间的相互关系进行分析、比较和预测,以评估和改善过程的有效性。 过程模型可为小组和项目提供必要的过程信,软件工程,32,息和通信支持,使人们之间的协同工作更加有效。 对过程模型各部分的功效进行分析,找出可以改善的部分,从而支持严格管理下的过程进化。 过程模型可以帮助人们制定项目计划,监控、管理和协调项目的实施过程,估算软件创建或演进时各活动的进展。过程模型还可以成为过程度量的基础。通过过程模型可以复用定义良好的软件过程。可以针对具体项目的特点,对已有的过程进行剪裁或扩充,,软件工程,33,使之适合特定项目的需要。 通过过程模型可以复用定义良好的软件过程

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号