当前位置首页 > 计算机 > 架构及软件工程
搜柄,搜必应! 快速导航 | 使用教程

软件工程理论及应用

文档格式:PPT| 33 页|大小 988KB|2024-12-10 发布|举报 | 版权申诉
第1页
第2页
第3页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 33
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,,,,,,,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,,,,,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,,,,,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,书名:软件工程理论及应用,,ISBN,:,978-7-111-46404-4,,作者:周屹,,出版社:机械工业出版社,,本书配有电子课件,软件工程理论及应用,ppt,课件,第,2,章 软件过程,软件工程理论及应用,ppt,课件,,2.1,软件过程规范,,2.2,软件过程成熟度模型,,初始级,,可重复级,,已定义级,,已管理级,,优化级,,2.3,软件过程管理案例,软件工程理论及应用,ppt,课件,通过下面这个“七人分粥”寓意的小故事,就很清楚地说明软件过程的重要性有,7,个人曾经住在一起,每天分一大桶粥要命的是,粥每天都是不够的一开始,指定一人负责分粥事宜,很快大家发现,这个人为自己分的粥最多最好,于是推选出一个道德高尚的人出来分粥。

    强权就会产生腐败,大家开始挖空心思去讨好他,搞得整个小团体乌烟瘴气,显然这个方法不行软件工程理论及应用,ppt,课件,,指定一个人分粥和一个人监督,起初比较公平,但到后来分粥的人与监督的人从权力制约走向“权力合作”,于是只有这两个人能吃饱,这种方法也失败了谁也信不过,干脆大家轮流主持分粥,每人一天虽然看起来平等了,但是每人在一周中只有,1,天吃得饱,其余,6,天都吃不饱,而且每天粥还有剩的,这种方法造成资源浪费民主选举一个,3,人分粥委员会和一个,4,人监督委员会,实行集体领导,公平是做到了但是,监督委员会经常提出各种议案,分粥委员会据理力争,等粥分完时,粥早就凉了,此方法效率太低最后想出来一个方法,——,每个人轮流值日分粥,但分粥的那个人要最后一个领粥令人惊奇的是,结果,7,只碗里的粥每次都是一样多,就象用科学仪器量过一样因为,每个主持分粥的人都认识到,如果每只碗里的粥不相同,他无疑将拿到那份最少的软件工程理论及应用,ppt,课件,同样是,7,个人,不同的流程和方法,就会造成迥然不同的结果,包括效率、成本上的差异从这个故事可以看出,有什么流程,就有什么结果,流程决定了结果,过程管理可以化腐朽为神奇。

    一般的软件过程包括问题提出、软件需求说明、软件设计、软件实现、软件确认和软件演化等基本活动软件工程理论及应用,ppt,课件,2.1,软件过程规范,过程是活动的集合,活动是任务的集合所有人类的活动可能都是一个过程,每一个人从其中得到了自我价值的体现,这些活动产生一个表示或示例,或可被很多人反复使用,或可用于某些其他未考虑到的背景上即产品能被自己或他人复用,从其中得到了一种满足感软件过程是软件生存周期中的一系列相关的过程软件过程有三层含义:个体含义,即指软件产品或系统在生存周期中的某一类活动的集合,如软件开发过程,软件管理过程等;整体含义,即指软件产品或系统在所有上述含义下的软件过程的总体;工程含义,即指解决软件过程的工程,它应用软件工程的原则、方法来构造软件过程模型,并结合软件产品的具体要求进行实例化,以及在用户环境下的运作,以此进一步提高软件生产率,降低成本软件工程理论及应用,ppt,课件,,2.1,标准体系全貌,软件工程理论及应用,ppt,课件,图,2.2,软件生存期过程,软件工程理论及应用,ppt,课件,2.2,软件过程成熟度模型,1986,年,11,月,美国卡内基,.,梅隆大学软件工程研究所(,SEI/CMU,)在,Mitre,公司的支持下着手开发支持软件开发组织改进软件过程的“软件过程成熟度框架”。

    美国国防部提出,希望“软件过程成熟度框架”能用于评估软件开发组织承制软件的能力SEI/CMU,的,Humphrey,领导的小组,经过大量的调查、研究,于,1987,年开发了“软件过程评估”和“软件成熟度评价”两个模型,並进行了广泛的问卷调查1991,年,8,月公开发布软件能力成熟度模型,(Capability Maturity Model for Software-CMM)CMM v1.0,此模型在建立和发展之初,主要目的在于提供一种评价软件承接方能力的方法,为大型软件项目的招投标活动提供一种全面而客观的评审依据而发展到后来,又同时被软件组织用于改进其软件过程软件工程理论及应用,ppt,课件,CMM,描述一条从无序的、混乱的过程到成熟的、有纪律的过程的改进途径,描绘出软件组织如何增加对软件开发和维护的过程控制,如何向软件工程和管理的优秀文化演变等方面的指导关键过程域,(key process area),描述软件过程的属性,通过完成一组相互关联的活动,实现一组对建立过程能力至关重要的目标图,2.3,能力成熟度级别与关键过程域,共同特性将描述关键过程域的关键实践组织起来共同特性是一些属性,指明一个关键过程域的执行和规范化是否有效、可重复和可持续。

    共有,5,个共同特性:执行约定,执行能力,执行活动,测量和分析,验证实现执行约定:执行约定描述机构为确保过程的建立和持续而必须采取的一些措施典型内容包括建立机构策略和领导关系执行能力:执行能力描述了项目或机构完整地实现软件过程所必须有的先决条件典型内容包括资源、机构结构和培训执行活动:执行活动描述了执行一个关键过程域所必需的活动、任务和规程典型内容包括制定计划和规程、执行和跟踪以及必要时采取纠正措施测量和分析:测量和分析描述了为确定与过程有关的状态所需的基本测量实践这些测量可用来控制和改进过程典型内容包括可能采用的测量实例验证实现:验证实现描述了为确保执行的活动与已建立的过程一致所采取的步骤典型内容包括管理部门和软件质量保证组实施的评审和审核图,2.4 CMM,的内容和结构,如果要用简单的一句话来表达从一级到高一级所需要的努力的话,可以有:   从一级到二级的转化:规范化过程;   从二级到三级的转化:标准化、稳定的过程;   从三级到四级的转化:可预测的过程;   从四级到五级的转化:持续改进过程图,2.5 CMM,层次结构,除第一级外,每一级是按完全相同的结构构成的每一级包含了实现这一级目标的若干关键过程域,(KPA),,每个,KPA,进一步包含若干关键实施活动,(KP),,无论哪个,KPA,,它们的实施活动都统一按五个公共属性进行组织,即每一个,KPA,都包含五类,KP,即:执行约定,执行能力,执行活动,测量和分析,验证实现。

    目标每一个,KPA,都确定了一组目标若这组目标在每一个项目都能实现,则说明企业满足了该,KPA,的要求若满足了一个级别的所有,KPA,要求,则表明达到了这个级别所要求的能力实施保证实施保证是企业为了建立和实施相应,KPA,所必须采取的活动,这些活动主要包括制定企业范围的政策和高层管理的责任执行活动执行过程描述了执行,KPA,所需求的必要角色和步骤在五个公共属性中,执行活动是唯一与,项目执行,相关的属性,其余四个属性则涉及企业,CMM,能力基础设施的建立执行活动一般包括,计划,、执行的任务、任务执行的跟踪等度量,分析度量分析描述了过程的度量和度量分析要求典型的,度量,和度量分析的要求是确定执行活动的状态和执行活动的有效性初始级,,初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的也许,有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级软件工程管理制度缺乏,过程缺乏定义、混乱无序成功依靠的是个人的才能和经验,经常由于缺乏管理和计划导致时间、费用超支管理方式属于反应式,主要用来应付危机过程不可预测,难以重复。

    初始级具有明显的不成熟过程的特点可重复级,,基于类似项目中的经验,建立了基本的项目管理制度,采取了一定的措施控制费用和时间管理人员可及时发现问题,采取措施一定程度上可重复类似项目的软件开发可重复级根据多年的经验和教训,人们总结出软件开发的首要问题不是技术问题而是管理问题因此,第二级的焦点集中在软件管理过程上一个可管理的过程则是一个可重复的过程,一个可重复的过程则能逐渐进化和成熟已定义级,,已将软件过程文档化、标准化,可按需要改进开发过程,采用评审方法保证软件质量可借助,CASE,工具提高质量和效率在第二级仅定义了管理的基本过程,而没有定义执行的步骤标准,而且无论是管理还是工程开发都需要一套文档化的标准,并将这些标准集成到企业软件开发标准过程中去所有开发的项目需根据这个标准过程,剪裁出与项目适宜的过程,并执行这些过程过程的剪裁不是随意的,在使用前需经过企业有关人员的批准已管理级,,针对制定质量、效率目标,并收集、测量相应指标利用统计工具分析并采取改进措施对软件过程和产品质量有定量的理解和控制第四级的管理是量化的管理所有过程需建立相应的度量方式,所有产品的质量,(,包括工作产品和提交给用户的产品,),需有明确的度量指标。

    这些度量应是详尽的,且可用于理解和控制软件过程和产品量化控制将使软件开发真正变成为一种,工业生产活动,优化级,,基于统计质量和过程控制工具,持续改进软件过程质量和效率稳步改进优化级第五级的目标是达到一个,持续改善,的境界所谓,持续改善,是指可根据过程执行的反馈信息来改善下一步的执行过程,即优化执行步骤如果一个企业达到了这一级,那么表明该企业能够根据实际的项目性质、技术等因素,不断调整软件生产过程以求达到最佳2.3,软件过程管理案例,应注意的是,并非实施了,CMM,软件项目的质量就能有所保障CMM,是一种资质认证,它可以证明一个软件企业对整个软件开发过程的控制能力按照,CMM,的思想进行管理与通过,CMM,认证并不能划等号CMM,认证并不仅仅是在,评估,软件企业的生产能力,整个评估过程同时还在帮助企业完善已经按照,CMM,建立的科学,工作流程,,发现企业在软件质量、生产进度以及成本控制等方面可能存在的问题,并且及时予以纠正CMM,用之于软件过程改进时,是通过按,CMM,给出的准则对软件过程实施评价,从而为作出改进决策和实施改进提供支持所以,往往又把,CMM,在过程改进方面的应用看成是过程评价。

    1,)软件过程评价(,SPA,,,Software Process,Assessment,),目的是确定一个组织的当前软件过程的状态,找出组织所面临的急需解决的与软件过程有关问题,进而有步骤地实施软件过程改进,使组织的软件过程能力不断提高因此,软件过程评估关注一个组织的软件过程有哪些需改进之处及其轻重缓急评估组采用,CMM,来指导他们进行调查、分析和排优先次序组织可利用这些调查结果,参照,CMM,中的关键实践所提供的指导,规划本组织软件过程的改进策略2,)软件能力评价(,SCE,,,Software Capability Evaluation,),目的是识别合格的能完成软件工程项目的承包商,或者监控承包商现有软件工作中软件过程的状态,进而提出承包商应改进之处软件能力评价关注识别一个特定项目在进度要求和预算限制内构造出高质量软件所面临的风险在采购过程中可以对投标者进行软件能力评价评价的结果,可用于确定在挑选承包商的风险,也可对现存的合同进行评价以便监控方的过程实施从而识别出承包商的软件过程中潜在的可改进之处由于软件过程评价和软件能力评估是有关不同的两种应用,因此所用的具体方法有明显差异但是两者都以,CMM,模型及其衍生产品为基础,实施的几个大步骤基本相同。

    从选定评价,/,评估组后:   (,1,) 成熟度调查问卷作为现场访问的出发点;   (,2,) 用,CMM,作为指导现场调查研究的路线图;   (,3,) 针对,CMM,中的关键过程方面指出反映该组织软件过程的强,弱之点;   (,4,) 根据所了解到的该组织达到,CMM,关键过程方面目标的情况描绘出该组织的软件过程的概貌;   (,5,) 向被审核者说明评估结果CMM,仅仅是模型,为了保证可靠且一致地使用它,美国卡内基,-,梅隆大学软件工程研究所围绕,CMM,拟制了一系列支持性文件(包括相应的评价框架,方法描述和实施指南)以及各种工具使用,CMM,的大致思路是:   (,1,) 围绕,CMM,拟制出,CMM,评估框架(,CAF,),从,CAF,中归类出各类要求;   (,2,) 针对各类要求进行相应准备;   (,3,) 按,对象,及其需求采用适当的方法进行评定过程改善工作具有一切过程所具有的固有特征,即需要循序渐进,不能一蹴而就;需要持续改善,不能停滞不前;需要联系实际,不能照本宣读;需要适应变革,不能固定不变将,CMM/PSP/TSP,引人软件企业首先要对单位主管和主要开发人员进行系统的,培训,。

    另外一个有效的途径是自顶向下的课程培训,即从高层主管依次普及到下面的工程师培训,包括最基本的软件工程和,CMM,培训知识;专业领域知识等方面的培训;软件过程方面的培训图,2.6 CMM,与个人软件过程和小组软件过程的关系,,TSP,解决的主要问题:如何规划和管理一个软件开发团队如何制订团队工作所需要的策略如何定义和确定团队中每个角色的职责如何为团队中每个成员分配不同的角色团队及其不同角色在整个开发过程的不同阶段应该做些什么,如何更好地发挥作用在如何协调团队成员之间的任务,并跟踪报告团队整体的任务进度采用哪些方法提高团队的协作能力具体的工作启动流程如图,2.7,所示图,2.7 TSP,小组启动流程,本章小结,,软件过程是为了获得高质量的软件产品所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤软件能力成熟度模型(,CMM,)它是对于,软件,组织在定义、实施、,度量,、控制和改善其,软件过程,的实践中各个发展阶段的描述习题,简述软件过程的三层含义简述,CMM,的发展历程共同特性将描述关键过程域的关键实践组织起来,介绍,5,个共同特性简述,CMM,的五个等级。

    点击阅读更多内容
    卖家[上传人]:nuligan
    资质:实名认证
    相关文档
    正为您匹配相似的精品文档