软件工程讲义0934230.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《软件工程讲义0934230.pptx》由会员分享,可在线阅读,更多相关《软件工程讲义0934230.pptx(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第九章第九章 软件过程软件过程授课老师:清华大学计算机系授课老师:清华大学计算机系 殷人昆殷人昆 password qhdxjsjx 1什么是软件过程什么是软件过程软件过程是软件生存周期中的一系列相关软件软件过程是软件生存周期中的一系列相关软件工程活动的集合,活动是任务的集合。任务是工程活动的集合,活动是任务的集合。任务是将输入变换为输出的操作。将输入变换为输出的操作。活动的执行可以是顺序的,重复的,并行的、活动的执行可以是顺序的,重复的,并行的、嵌套的。嵌套的。每一个软件过程又是由一组工作任务、项目里每一个软件过程又是由一组工作任务、项目里程碑、软件工程产品和交付物以及质量保证点程碑、软件工
2、程产品和交付物以及质量保证点等组成。等组成。2软件过程软件过程公共过程框架公共过程框架公共过程框架公共过程框架框架活动框架活动框架活动框架活动任务集合任务集合任务集合任务集合工作任务工作任务工作任务工作任务里程碑、交付物里程碑、交付物里程碑、交付物里程碑、交付物SQASQA点点点点保护性活动保护性活动保护性活动保护性活动3软件过程的分类软件过程的分类 (ISO/IEC 12207)4基本过程基本过程1)获取过程获取过程 是需方为了获得一个软件产品所进是需方为了获得一个软件产品所进行的一系列活动。该过程从为获取该软件产行的一系列活动。该过程从为获取该软件产品的品的需求定义需求定义开始,经过开始,
3、经过招标准备招标准备,合同准合同准备备和和修改修改,对供方监督对供方监督,直到,直到验收验收完成。完成。2)供应过程供应过程 是供方为向需方提供软件产品所进是供方为向需方提供软件产品所进行的一系列活动。该过程从行的一系列活动。该过程从理解软件需求理解软件需求开开始,经过始,经过投标准备投标准备,签订合同签订合同,制定计划制定计划,实施计划及控制实施计划及控制,进行,进行评审评审和和评价评价,直至,直至完完成交付成交付。53)开发过程开发过程 是软件开发者根据合同开发和交是软件开发者根据合同开发和交付软件的一系列活动。包括的活动有:付软件的一系列活动。包括的活动有:过程过程实施准备实施准备,系统
4、需求分析系统需求分析,系统结构设计系统结构设计,软件需求分析软件需求分析,软件体系结构设计软件体系结构设计,软件详软件详细设计细设计,程序编码和单元测试程序编码和单元测试,软件集成软件集成,软件确认测试软件确认测试,系统集成系统集成,系统确认测试系统确认测试,软件安装软件安装,软件验收支持软件验收支持。4)运行过程运行过程 软件开发完成后,软件从开发环软件开发完成后,软件从开发环境转移到用户的实际运行环境。在运行时对境转移到用户的实际运行环境。在运行时对用户的要求提供帮助和咨询,对运行效果进用户的要求提供帮助和咨询,对运行效果进6 行评价。行评价。包括的活动有:包括的活动有:实施过程准备实施过
5、程准备,运运行测试行测试,系统向实际运行环境转移系统向实际运行环境转移,系统运系统运行行,对用户运行的支持对用户运行的支持,系统运行评价系统运行评价,用用户运行评价户运行评价。5)维护过程维护过程 维护人员提供维护软件产品的服维护人员提供维护软件产品的服务。包括的活动有:务。包括的活动有:过程实施准备过程实施准备,问题分问题分析析和和修改分析修改分析,修改实施修改实施,对维护进行评审对维护进行评审验收验收,移植移植,软件退役软件退役。7支持过程支持过程1)文档过程文档过程 文档过程是一个记录由某一过程文档过程是一个记录由某一过程或活动所产生的信息的过程。它由以下活或活动所产生的信息的过程。它由
6、以下活动组成:动组成:过程的实施准备过程的实施准备,设计与开发设计与开发,制作与发行制作与发行,维护维护。2)配置管理过程配置管理过程 该过程实施软件配置管理的该过程实施软件配置管理的活动。包括的主要活动有:活动。包括的主要活动有:过程实施准备过程实施准备,配置的确定配置的确定,配置的控制配置的控制,配置情况报告配置情况报告,配置的评价配置的评价,发行管理发行管理和和提交提交。83)质量保证过程质量保证过程 这是一个为使软件过程和软这是一个为使软件过程和软件产品符合规定需求,并按预定计划按时件产品符合规定需求,并按预定计划按时完成提供适当保证的过程。包括的主要活完成提供适当保证的过程。包括的主
7、要活动有:动有:过程实施准备过程实施准备,软件产品的质量保软件产品的质量保证证,软件过程的质量保证软件过程的质量保证。4)验证过程验证过程 确定系统或软件的需求是否完备确定系统或软件的需求是否完备和正确,以及每一阶段的软件产品是否达和正确,以及每一阶段的软件产品是否达到前一阶段对它的要求和条件。到前一阶段对它的要求和条件。包括的主包括的主要活动有:要活动有:过程实施准备过程实施准备,验证验证,合同验合同验证证,过程验证过程验证,需求验证需求验证,设计验证设计验证,代代码验证码验证,集成验证集成验证,文档验证文档验证。95)确认过程确认过程 确认需求和最终建立的系统或软确认需求和最终建立的系统或
8、软件是否满足原计划的特定应用。包括的主件是否满足原计划的特定应用。包括的主要活动有:要活动有:实施特定的测试实施特定的测试并并分析测试结分析测试结果果,确认软件产品的用途确认软件产品的用途,测试软件产品测试软件产品的适用性的适用性。6)审计过程审计过程 这一过程是要审计确定合作的另这一过程是要审计确定合作的另一方遵照需求、计划合同到什么程度的过一方遵照需求、计划合同到什么程度的过程。包括的主要活动有:程。包括的主要活动有:检验项目是否符检验项目是否符合需求合需求、计划计划、合同合同以及以及规格说明规格说明和和标准标准。107)联合评审过程联合评审过程 这是评价项目的某个活动或这是评价项目的某个
9、活动或阶段的执行情况,以及产品是否合乎要求阶段的执行情况,以及产品是否合乎要求的过程。包括的主要活动有:的过程。包括的主要活动有:过程实施准过程实施准备备,项目管理评审项目管理评审,技术评审技术评审。8)问题解决过程问题解决过程 这是一个用于分析和排除在这是一个用于分析和排除在开发、运行、维护或其它过程中发现的问开发、运行、维护或其它过程中发现的问题和不题和不一致的过程。一致的过程。11组织过程组织过程1)管理过程管理过程 管理包括进度管理、成本管理、管理包括进度管理、成本管理、质量管理、人员管理、资源管理、标准化管质量管理、人员管理、资源管理、标准化管理。管理的对象是进度、系统规模及工作量理
10、。管理的对象是进度、系统规模及工作量估算、经费、组织机构、人员、风险、质量、估算、经费、组织机构、人员、风险、质量、作业和环境配置等。包括的主要活动有:作业和环境配置等。包括的主要活动有:过过程实施准备程实施准备,制定计划制定计划,监控计划的实施监控计划的实施,评审和评价计划的完成程度评审和评价计划的完成程度,涉及到有关过涉及到有关过程的产品管理程的产品管理、项目管理项目管理和和任务管理任务管理。122)基础设施过程基础设施过程 该过程建立、维护各个过该过程建立、维护各个过程所需的基础设施。基础设施包括硬件、程所需的基础设施。基础设施包括硬件、软件、工具、技术、标准以及开发、运行、软件、工具、
11、技术、标准以及开发、运行、维护所需的各种基础设施。维护所需的各种基础设施。3)改进过程改进过程 该过程建立、评估、度量、控该过程建立、评估、度量、控制和改进软件生存周期的过程。主要活动制和改进软件生存周期的过程。主要活动是是制定一组组织计划制定一组组织计划,评估相关过程评估相关过程,实实施分析施分析、改进过程改进过程。4)培训过程培训过程 该过程为系统或软件产品提供该过程为系统或软件产品提供人员培训。主要活动有人员培训。主要活动有制定所需人员用人制定所需人员用人13 计划和培训计划,计划和培训计划,开发培训资料,开发培训资料,实施实施培训活动等。培训活动等。过程是针对确定的目的所实施的序列步骤
12、,过程是针对确定的目的所实施的序列步骤,例如软件开发过程。例如软件开发过程。(IEEE-STD-610)过程是使用资源将输入转化为输出的活动过程是使用资源将输入转化为输出的活动的系统。的系统。(ISO 9000:2000)过程是把输入转换为输出的一组彼此相关过程是把输入转换为输出的一组彼此相关的活动。的活动。(ISO/IEC 12207)过程的几个标准定义过程的几个标准定义14软件过程建模软件过程建模过程建模涉及软件产品的开发和维护、软件过程建模涉及软件产品的开发和维护、软件项目管理、过程管理和过程改进等各方面。项目管理、过程管理和过程改进等各方面。涉及过程的活动、角色、产品、资源和约束涉及过
13、程的活动、角色、产品、资源和约束等过程实体,还涉及到建模所用的方法。等过程实体,还涉及到建模所用的方法。1.考虑考虑过程所涉及实体的分类过程所涉及实体的分类1)以以活活动动为为中中心心的的建建模模:首首先先考考虑虑过过程程活活动动以以及及它它们们之之间间的的执执行行顺顺序序,再再收收集集与与各各个个活活动动相相关关的的其其他他数数据据,如如活活动动所所涉涉及及的的角角色色、产产品品、资资源源和和约约束束等等,从从而而建建立立过过程程模型。模型。152)以以角角色色为为中中心心的的建建模模:首首先先确确定定各各个个角角色色的的任任务务和和角角色色之之间间的的关关系系,再再以以角角色色为为中中心心
14、收收集集过过程程的的其其他他数数据据,如如活活动动、产产品品、资源和约束等,建立过程模型。资源和约束等,建立过程模型。3)以产品为中心的建模以产品为中心的建模 4)基于过程模板的建模基于过程模板的建模 2.考虑过程所采用的形式化方法的分类考虑过程所采用的形式化方法的分类1)过过程程程程序序设设计计方方法法:这这种种方方法法通通过过关关系系、谓谓词词和和触触发发器器等等机机制制对对软软件件过过程程的的功功能能、行为和对象进行详细、确定的算法描述。行为和对象进行详细、确定的算法描述。162)功功能能分分解解方方法法:这这种种方方法法用用一一组组反反映映输输入入-处处理理-输输出出关关系系的的数数学
15、学函函数数来来表表示示软软件件过过程程。这这组组函函数数可可按按照照语语法法进进一一步步分分解解,形形成成过过程程的的多多个个子子过过程程步步。这这种种分分解解一一直直进进行行下下去去,直直到到产产生生的的子子过过程程步步可可以以映映射射到到一个外部工具或由人操作的过程为止。一个外部工具或由人操作的过程为止。3)基基于于Petri的的建建模模方方法法:使使用用Petri网网有有效效地地形形式式化化描描述述软软件件过过程程的的并并发发性性和和活活动动与与产产品品之之间间的的关关系系,而而且且使使用用这这种种图图形形表表示示描描述软件过程,易于理解和管理。述软件过程,易于理解和管理。174)基基于
16、于规规则则的的建建模模方方法法:该该方方法法提提供供回回溯溯、向向前前链链接接、向向后后链链接接等等自自动动执执行行机机制制,以以及及规规则则推推理理、调调度度和和控控制制过过程程活活动动的的机机制制,为人们控制过程提供了灵活的手段。为人们控制过程提供了灵活的手段。5)基于知识的建模方法基于知识的建模方法:该该方方法法提提供供了了对对过过程程模模型型的的增增量量式式形形式式说说明明能能力力和和可可复复用用能能力力。该该方方法法使使用用面面向向对对象象的的技技术术把把过过程程知知识识(如如过过程程活活动动、过过程程实实施施者者、产产品品对对象象和和工工具具以以及及它它们们之之间间的的关关系系等等
17、)抽抽象象成成不不同同的的类,存放于知识库中。类,存放于知识库中。18过过程程建建模模时时,根根据据要要求求查查询询知知识识库库,获获取取有有关关过过程程活活动动及及其其他他成成分分的的抽抽象象描描述述,从从中中选选取取或或构构造造所所需需的的过过程程模模型型,并并对对其其进进行行分分析析和和推推理理,最最后后生生成成过过程程实实例例和和相相应应的的活活动动计计划划。用用这这种种方方法法构构造造的的过过程程模模型型是是活活动动的的类类的的层层次次结结构构,其其中中每每个个活活动动类类与与子子类类都都对对应应有有多多种种资资源源需需求求,如如要要加加工工的的数数据据、所所需需工工具具、开开发发角
18、角色色等等。用用类类的的继继承承关关系系描描述述可可以以表表示示各各种种过过程程关关系系,如如控制流、角色上下级、产品组成等。控制流、角色上下级、产品组成等。19软件过程的评估软件过程的评估对于不同的软件开发机构,在组织人员完成软对于不同的软件开发机构,在组织人员完成软件项目中所依据的管理策略有很大差别,因而件项目中所依据的管理策略有很大差别,因而软件项目所遵循的软件过程也有很大差别。我软件项目所遵循的软件过程也有很大差别。我们用软件们用软件过程过程的成熟度加以区别。的成熟度加以区别。所谓软件过程的成熟度是指一个软件过程被明所谓软件过程的成熟度是指一个软件过程被明确定义、管理、度量和控制的有效
19、程度。确定义、管理、度量和控制的有效程度。成熟度越高,说明软件过程能力改善的潜力越成熟度越高,说明软件过程能力改善的潜力越大。大。20软件过程软件过程成熟度成熟度的度量的度量(CMM)CMMCMM认为,过程就是为了达到给定目标所实认为,过程就是为了达到给定目标所实认为,过程就是为了达到给定目标所实认为,过程就是为了达到给定目标所实施的一系列步骤。它把人、工具和规程、方法施的一系列步骤。它把人、工具和规程、方法施的一系列步骤。它把人、工具和规程、方法施的一系列步骤。它把人、工具和规程、方法组织在一起。组织在一起。组织在一起。组织在一起。换言之,过程就是人们使用相应的规程、方法、换言之,过程就是人
20、们使用相应的规程、方法、换言之,过程就是人们使用相应的规程、方法、换言之,过程就是人们使用相应的规程、方法、工具和设备将原始材料(输入)转化为面向客工具和设备将原始材料(输入)转化为面向客工具和设备将原始材料(输入)转化为面向客工具和设备将原始材料(输入)转化为面向客户的产品(输出)所执行的一系列活动。户的产品(输出)所执行的一系列活动。户的产品(输出)所执行的一系列活动。户的产品(输出)所执行的一系列活动。软件过程就是软件开发人员开发和维护软件及软件过程就是软件开发人员开发和维护软件及软件过程就是软件开发人员开发和维护软件及软件过程就是软件开发人员开发和维护软件及相关产品的一套行为、方法、实
21、践及变换过程。相关产品的一套行为、方法、实践及变换过程。相关产品的一套行为、方法、实践及变换过程。相关产品的一套行为、方法、实践及变换过程。21CMM 定义定义软件过程成熟度为软件过程成熟度为一个特定软件过一个特定软件过程被明确和有效地定义、管理、测量和控制的程被明确和有效地定义、管理、测量和控制的程度程度。它是指对过程计划或定义水平、过程实。它是指对过程计划或定义水平、过程实施水平、过程管理和控制水平、过程改善潜力施水平、过程管理和控制水平、过程改善潜力等指标的综合评价。等指标的综合评价。软件能力成熟度等级则为软件开发组织在走向软件能力成熟度等级则为软件开发组织在走向成熟的途中几个成熟的途中
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 讲义 0934230
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内