软件工程讲义09_第1页
软件工程讲义09_第2页
软件工程讲义09_第3页
软件工程讲义09_第4页
软件工程讲义09_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第九章软件过程授课老师:清华大学计算机系殷人昆yinrk432@

passwordqhdxjsjx1什么是软软件过程程软件过程程是软件件生存周周期中的的一系列列相关软软件工程程活动的的集合,,活动是是任务的的集合。。任务是是将输入入变换为为输出的的操作。。活动的执执行可以以是顺序序的,重重复的,,并行的的、嵌套套的。每一个软软件过程程又是由由一组工工作任务务、项目目里程碑碑、软件件工程产产品和交交付物以以及质量量保证点点等组成成。2软件过程程公共过程框架框架活动任务集合工作任务里程碑、交付物SQA点保护性活动3软件过程程的分类类(ISO/IEC12207)4基本过程程获取过程程是需方为为了获得得一个软软件产品品所进行行的一系系列活动动。该过过程从为为获取该该软件产产品的需求定义义开始,经经过招标准备备,合同准备备和修改,对供方监监督,直到验收完成。供应过程程是供方为为向需方方提供软软件产品品所进行行的一系系列活动动。该过过程从理解软件件需求开始,经经过投标准备备,签订合同同,制定计划划,实施计划划及控制制,进行评审和评价,直至完成交付付。5开发过程程是软件开开发者根根据合同同开发和和交付软软件的一一系列活活动。包包括的活活动有::过程实施施准备,系统需求求分析,系统结构构设计,软件需求求分析,软件体系系结构设设计,软件详细细设计,程序编码码和单元元测试,软件集成成,软件确认认测试,系统集成成,系统确认认测试,软件安装装,软件验收收支持。运行过程程软件开发发完成后后,软件件从开发发环境转转移到用用户的实实际运行行环境。。在运行行时对用用户的要要求提供供帮助和和咨询,,对运行行效果进进6行评价。。包括的活活动有::实施过程程准备,运行测试试,系统向实实际运行行环境转转移,系统运行行,对用户运运行的支支持,系统运行行评价,用户运行行评价。维护过程程维护人员员提供维维护软件件产品的的服务。。包括的的活动有有:过程实施施准备,问题分析析和修改分析析,修改实施施,对维护进进行评审审/验收收,移植,软件退役役。7支持过程程文档过程程文档过程程是一个个记录由由某一过过程或活活动所产产生的信信息的过过程。它它由以下下活动组组成:过程的实实施准备备,设计与开开发,制作与发发行,维护。配置管理理过程该过程实实施软件件配置管管理的活活动。包包括的主主要活动动有:过程实施施准备,配置的确确定,配置的控控制,配置情况况报告,配置的评评价,发行管理理和提交。8质量保证证过程这是一个个为使软软件过程程和软件件产品符符合规定定需求,,并按预预定计划划按时完完成提供供适当保保证的过过程。包包括的主主要活动动有:过程实施施准备,软件产品品的质量量保证,软件过程程的质量量保证。验证过程程确定系统统或软件件的需求求是否完完备和正正确,以以及每一一阶段的的软件产产品是否否达到前前一阶段段对它的的要求和和条件。。包括的主主要活动动有:过程实施施准备,验证,合同验证证,过程验证证,需求验证证,设计验证证,代码验证证,集成验证证,文档验证证。9确认过程程确认需求求和最终终建立的的系统或或软件是是否满足足原计划划的特定定应用。。包括的的主要活活动有::实施特定定的测试试并分析测试试结果,确认软件件产品的的用途,测试软件件产品的的适用性性。审计过程程这一过程程是要审审计确定定合作的的另一方方遵照需需求、计计划合同同到什么么程度的的过程。。包括的的主要活活动有::检验项目目是否符符合需求求、计划、合同以及规格说明明和标准。10联合评审审过程这是评价价项目的的某个活活动或阶阶段的执执行情况况,以及及产品是是否合乎乎要求的的过程。。包括的的主要活活动有::过程实施施准备,项目管理理评审,技术评审审。问题解决决过程这是一个个用于分分析和排排除在开开发、运运行、维维护或其其它过程程中发现现的问题题和不一致的过过程。11组织过程程管理过程程管理包括括进度管管理、成成本管理理、质量量管理、、人员管管理、资资源管理理、标准准化管理理。管理理的对象象是进度度、系统统规模及及工作量量估算、、经费、、组织机机构、人人员、风风险、质质量、作作业和环环境配置置等。包包括的主主要活动动有:过程实施施准备,制定计划划,监控计划划的实施施,评审和评评价计划划的完成成程度,涉及到有有关过程程的产品品管理、项目管理理和任务管理理。12基础设施施过程该过程建建立、维维护各个个过程所所需的基基础设施施。基础础设施包包括硬件件、软件件、工具具、技术术、标准准以及开开发、运运行、维维护所需需的各种种基础设设施。改进过程程该过程建建立、评评估、度度量、控控制和改改进软件件生存周周期的过过程。主主要活动动是制定一组组组织计计划,评估相关关过程,实施分析析、改进过程程。培训过程程该过程为为系统或或软件产产品提供供人员培培训。主主要活动动有制定所需需人员用用人13计划和培培训计划划,开开发培训训资料,,实施施培训活活动等。。过程是针针对确定定的目的的所实施施的序列列步骤,,例如软软件开发发过程。。(IEEE-STD-610)过程是使使用资源源将输入入转化为为输出的的活动的的系统。。(ISO9000::2000)过程是把把输入转转换为输输出的一一组彼此此相关的的活动。。(ISO//IEC12207)过程的几几个标准准定义14软件过程程建模过程建模模涉及软软件产品品的开发发和维护护、软件件项目管管理、过过程管理理和过程程改进等等各方面面。涉及及过程的的活动、、角色、、产品、、资源和和约束等等过程实实体,还还涉及到到建模所所用的方方法。考虑过程所涉涉及实体体的分类类以活动为为中心的的建模:首先考虑虑过程活活动以及及它们之之间的执执行顺序序,再收收集与各各个活动动相关的的其他数数据,如如活动所所涉及的的角色、、产品、、资源和和约束等等,从而而建立过过程模型型。15以角色为为中心的的建模:首先确确定各个个角色的的任务和和角色之之间的关关系,再再以角色色为中心心收集过过程的其其他数据据,如活活动、产产品、资资源和约约束等,,建立过过程模型型。以产品为为中心的的建模基于过程程模板的的建模考虑过程程所采用用的形式式化方法法的分类类过程程序序设计方方法:这种方方法通过过关系、、谓词和和触发器器等机制制对软件件过程的的功能、、行为和和对象进进行详细细、确定定的算法法描述。。16功能分解解方法:这种方方法用一一组反映映输入-处理-输出关系系的数学学函数来来表示软软件过程程。这组组函数可可按照语语法进一一步分解解,形成成过程的的多个子子过程步步。这种分解解一直进进行下去去,直到到产生的的子过程程步可以以映射到到一个外外部工具具或由人人操作的的过程为为止。基于Petri的建模方方法:使用Petri网有效地地形式化化描述软软件过程程的并发发性和活活动与产产品之间间的关系系,而且且使用这这种图形形表示描描述软件件过程,,易于理理解和管管理。17基于规则则的建模模方法:该方法法提供回回溯、向向前链接接、向后后链接等等自动执执行机制制,以及及规则推推理、调调度和控控制过程程活动的的机制,,为人们们控制过过程提供供了灵活活的手段段。基于知识识的建模模方法: 该方方法提供供了对过过程模型型的增量量式形式式说明能能力和可可复用能能力。该该方法使用用面向对对象的技技术把过过程知识识(如过程活活动、过过程实施施者、产产品对象象和工具具以及它它们之间间的关系系等)抽象成不不同的类类,存放放于知识识库中。。18过程建模模时,根根据要求求查询知知识库,,获取有有关过程程活动及及其他成成分的抽抽象描述述,从中中选取或或构造所所需的过过程模型型,并对对其进行行分析和和推理,,最后生生成过程程实例和和相应的的活动计计划。用用这种方方法构造造的过程程模型是是活动的的类的层层次结构构,其中中每个活活动类与与子类都都对应有有多种资资源需求求,如要要加工的的数据、、所需工工具、开开发角色色等。用用类的继继承关系系描述可可以表示示各种过过程关系系,如控控制流、、角色上上下级、、产品组组成等。。19软件过程程的评估对于不同同的软件件开发机机构,在在组织人人员完成成软件项项目中所所依据的的管理策策略有很很大差别别,因而而软件项项目所遵遵循的软软件过程程也有很很大差别别。我们们用软件件过程的成熟度度加以区区别。所谓软件件过程的的成熟度度是指一一个软件件过程被被明确定定义、管管理、度度量和控控制的有有效程度度。成熟度越越高,说说明软件件过程能能力改善善的潜力力越大。。20软件过程程成熟度的度量(CMM)CMM认为,过过程就是是为了达达到给定定目标所所实施的的一系列列步骤。。它把人人、工具具和规程程、方法法组织在在一起。。换言之,,过程就就是人们们使用相相应的规规程、方方法、工工具和设设备将原原始材料料(输入入)转化化为面向向客户的的产品((输出))所执行行的一系系列活动动。软件过程程就是软软件开发发人员开开发和维维护软件件及相关关产品的的一套行行为、方方法、实实践及变变换过程程。21CMM定义软件过程程成熟度度为一个特定定软件过过程被明明确和有有效地定定义、管管理、测测量和控控制的程程度。它是指指对过程程计划或或定义水水平、过过程实施施水平、、过程管管理和控控制水平平、过程程改善潜潜力等指指标的综综合评价价。软件能力力成熟度度等级则则为软件件开发组组织在走走向成熟熟的途中中几个具有明确确定义的的表征软软件能力力成熟度度的平台台。每一个成成熟度等等级为过过程继续续改进达达到下一一个等级级提供一一个基础础。22软件过程程成熟度度等级分为5级:初始级、、可重复复级、可可定义级级、可管管理级、、可优化化级。优化级54321可管理级可定义级可重复级初始级23经反馈得得以改进进的过程结果生产率和质量风险可管理级级保持优化化的组织织,但仍仍为人员密密集的过过程技术变更更、问题题分析、、问题预防防过程度量量、过程程分析、、量化质量量计划培训、测测试、技技术常规规和评审、、过程关关注、标标准和过程程项目管理理、项目目策划、、配置管理理、软件件质量保证(量化的)已度量的的过程(量化的)已定义且制度化化的过程程(直觉的)过程依赖赖于个人人个别的、、混乱的的过程优化级可定义级级可重复级级初始级45321主要需解解决的问问题特征等级24各成熟度度等级的的特征初始级组织缺乏乏明文的的管理办办法,软软件工作作没有稳稳定的环环境,制制定了计计划又不不执行,,反应式式驱动工工作开展展。紧急情况况下已定定的规程程丢在一一边,急急于编码码和测试试。个别项目目的成功功依赖于于某个有有经验的的管理人人员。25个别管理理人员能能顶住削削减过程程的压力力,但他他们离职职则全然然不同。。规定的过过程无法法克服由由于缺乏乏有效管管理带来来的不稳稳定性。。现象往往往表现为为过程无无一定之之规,项项目进度度、预算算、功能能及产品品质量无无法保证证,项目目的实施施不可预预测。可重复级级建立了为为跟踪成成本、进进度和功功能的基基本项目目管理过过程。26基于以往往项目经经验,制制定了过过程实施施规范,,使类似似的项目目可再次次成功。。能追踪成成本、进进度、功功能,及及时发现现问题。。如有分包包,其质质量也能能得到控控制。可定义级级制定了组组织的标标准过程程文件,,这是软软件工程程基础设设施的重重要组成成部分。。建立了组组织的软软件工程程过程组组SEPG,负负责软件件过程活活动。27制定和实实施了人人员培训训大纲,,保证人人员能够够胜任岗岗位知识识和技能能要求。。针对特定定项目,,可将标标准软件件过程进进行剪裁裁。项目成本本、工期期和功能能已受控控,质量量可跟踪踪。管理者了了解所有有项目对对技术进进步的要要求。可管理级级已为产品品和过程程建立了了量化的的目标。。28对项目的的过程活活动,包包括生产产率和质质量均作作了度量量。利用过程程数据库库收集和和分析过过程的信信息。可量化评评价项目目过程和和产品。。可有效地地控制过过程和产产品的性性能,使使其限制制在规定定的范围围内。新应用领领域的风风险可知知可控。。可预知产产品的质质量。优化级29集中注意意于过程程的持续续改进。。自知过程程的薄弱弱环节,,可预防防缺陷的的出现。。可通过对对当前过过程的分分析,评评价对新新技术或或将出现现的变更更作出评评价。重视探索索创新活活动,并并将成功功的创新新推广。。出现的缺缺陷得到到分析,,找出原原因,防防止再次次发生,,教训为为其它项项目吸取取。30软件过程程能力软件过程程能力描描述(开开发组织织或项目目组)遵遵循其软软件过程程能够实实现预期期结果的的程度。。软件过程程性能则则表征((开发组组织或项项目组))遵循其其软件过过程所得得到的实实际结果果。软件过程程性能描描述已得得到的实实际结果果,而软软件过程程能力则则描述最最可能的的预期结结果。为什么要要提高过过程能力力?对于顾客客,较高高的过程程能力意意味着::31开发组织能能够更好好地响应应自己的的要求软件产品品的成本本更低能更好地地满足最最终用户户要求对于开发发组织,,较高的的过程能能力表明明:软件产品品开发和和维护成成本较低低开发周期期较短由于有效效的项目目风险分分析和工工作量投投入估计计,增强强了达到到成本和和进度目目标的能能力提高了满满足量化化设计和和质量目目标的能能力32关键过程程域KPA(KeyProcessArea)除去初始始级以外外,其它它每一个个成熟度度等级都都有若干干个引导导软件机机构改进进软件过过程的要要点,称称为关键键过程域域。它们们确定了了实现一一个成熟熟度级必必需解决决的问题题,它们们的实施施对于达达到该成成熟度等等级的目目标起着着保证作作用。CMM定义关键键过程域域为一个个互相关联联的若干干软件实实践活动动和有关关基础设设施的集合。。33每一个关关键过程程领域确确定一组组相应的的活动,,完成这这些活动动,就可可认为已已达到了了改进过过程能力力的一组组重要的的目标。。3435KPA目标需求管理控制项目需求,建立软件工程和管理任务的基线。保持软件计划、产品和任务与需求相一致。软件项目计划用文档记录估计,并在项目计划和跟踪时使用。规划并用文档记录项目任务和责任。相关小组和个人在他们应承担的项目责任上取得一致意见。第2级(可重重复级))KPA的目标36KPA目标软件项目跟踪和监督根据计划跟踪实际的结果和绩效。当实际的结果和绩效明显地偏离软件计划时,采取正确的行动,设法消除偏差。对责任的变更必须得到相关小组和个人认可。软件子合同管理主承包者与子承包者对他们承担的任务取得一致意见。主承包者根据责任跟踪子承包者的实际结果。主承包者和子承包者保持联系。主承包者根据责任跟踪子承包者的实际绩效。37KPA目标软件质量保证规划软件质量保证任务。客观地验证软件产品和任务是否坚持合适的标准、过程和需求。通知相关小组和个人关于他们在软件质量保证方面的任务和结果。由高层管理人员解决项目中不能解决的不相容问题。软件配置管理规划软件配置管理任务。标识、控制和使用选定的软件工作制品。控制对所标识的软件工作制品的变更。通知相关小组和个人关于软件基线的情况和内容。38KPA目标整体化软件管理项目已定义的软件过程是一种专用型的标准软件过程。根据已定义的软件过程规划和管理软件项目。组间协调所有相关的小组都同意客户的需求。所有小组都同意不同小组间应承担的责任。小组标识、跟踪和解决组间的问题。同行评审规划同行评审任务。标识软件工作制品中的缺陷并消除它们。第3级(可定定义级))KPA的目标39KPA目标组织过程焦点建立系统工程过程组SEPG并担负起职责。基于一个标准过程找出当前过程的优点和缺点,制定有关活动的计划。使软件过程开发与软件过程改进的活动保持一致。组织过程定义制定和维护组织的标准软件过程。收集、评审与应用有关标准软件过程的信息,制订过程剪裁与改进的方针。软件产品工程定义软件工程的有关任务,进行合理集成并保证一致性。保证软件各工作制品之间的一致性。40KPA目标培训规划建立培训计划。培训范围包括技术和管理两个方面。对培训过程进行记录,对培训效果进行评价以确定培训方案的质量。第4级(可度度量级))KPA的目标41KPA目标定量过程管理计划定量过程管理任务。定量地控制项目定义的软件过程的过程绩效。组织的标准软件过程的过程能力用量化的指标进行衡量。软件质量管理计划项目的软件质量管理任务。定义软件产品质量的可测目标及它们的等级。量化实现软件产品的质量目标的实际进程并对它进行管理。42第5级(优化化级)KPA的目标KPA目标过程变更管理制定针对持续过程改进的计划。组织软件过程活动的参与者遍及整个组织。组织的标准软件过程和项目定义的软件过程都能持续地改进。技术变更管理为引入技术变更制定计划。对新技术进行评估,以确定新技术对产品质量和生产率的影响。在组织的整个日常活动中引入适合的新技术。43KPA目标缺陷预防有计划地进行缺陷预防活动

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论