软件工程理论及应用

上传人:nu****n 文档编号:253257624 上传时间:2024-12-10 格式:PPT 页数:33 大小:988KB
收藏 版权申诉 举报 下载
软件工程理论及应用_第1页
第1页 / 共33页
软件工程理论及应用_第2页
第2页 / 共33页
软件工程理论及应用_第3页
第3页 / 共33页
资源描述:

《软件工程理论及应用》由会员分享,可在线阅读,更多相关《软件工程理论及应用(33页珍藏版)》请在装配图网上搜索。

1、,,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,,,,,,,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,,,,,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,,,,,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,书名:软件工程理论及应用,,ISBN,:,978-7-111-46404-4,,作者:周屹,,出版社:机械工业出版社,,本书配有电子课件,软件工程理论及

2、应用,ppt,课件,第,2,章 软件过程,软件工程理论及应用,ppt,课件,,2.1,软件过程规范,,2.2,软件过程成熟度模型,,初始级,,可重复级,,已定义级,,已管理级,,优化级,,2.3,软件过程管理案例,软件工程理论及应用,ppt,课件,通过下面这个“七人分粥”寓意的小故事,就很清楚地说明软件过程的重要性。,,有,7,个人曾经住在一起,每天分一大桶粥。要命的是,粥每天都是不够的。,,一开始,指定一人负责分粥事宜,很快大家发现,这个人为自己分的粥最多最好,于是推选出一个道德高尚的人出来分粥。强权就会产生腐败,大家开始挖空心思去讨好他,搞得整个小团体乌烟瘴气,显然这个方法不行。,软件工程

3、理论及应用,ppt,课件,,指定一个人分粥和一个人监督,起初比较公平,但到后来分粥的人与监督的人从权力制约走向“权力合作”,于是只有这两个人能吃饱,这种方法也失败了。,,谁也信不过,干脆大家轮流主持分粥,每人一天。虽然看起来平等了,但是每人在一周中只有,1,天吃得饱,其余,6,天都吃不饱,而且每天粥还有剩的,这种方法造成资源浪费。,,民主选举一个,3,人分粥委员会和一个,4,人监督委员会,实行集体领导,公平是做到了。但是,监督委员会经常提出各种议案,分粥委员会据理力争,等粥分完时,粥早就凉了,此方法效率太低。,,最后想出来一个方法,——,每个人轮流值日分粥,但分粥的那个人要最后一个领粥。令人惊

4、奇的是,结果,7,只碗里的粥每次都是一样多,就象用科学仪器量过一样。因为,每个主持分粥的人都认识到,如果每只碗里的粥不相同,他无疑将拿到那份最少的。,软件工程理论及应用,ppt,课件,同样是,7,个人,不同的流程和方法,就会造成迥然不同的结果,包括效率、成本上的差异。从这个故事可以看出,有什么流程,就有什么结果,流程决定了结果,过程管理可以化腐朽为神奇。,,一般的软件过程包括问题提出、软件需求说明、软件设计、软件实现、软件确认和软件演化等基本活动。,软件工程理论及应用,ppt,课件,2.1,软件过程规范,过程是活动的集合,活动是任务的集合。所有人类的活动可能都是一个过程,每一个人从其中得到了自

5、我价值的体现,这些活动产生一个表示或示例,或可被很多人反复使用,或可用于某些其他未考虑到的背景上。即产品能被自己或他人复用,从其中得到了一种满足感。软件过程是软件生存周期中的一系列相关的过程。,,软件过程有三层含义:个体含义,即指软件产品或系统在生存周期中的某一类活动的集合,如软件开发过程,软件管理过程等;整体含义,即指软件产品或系统在所有上述含义下的软件过程的总体;工程含义,即指解决软件过程的工程,它应用软件工程的原则、方法来构造软件过程模型,并结合软件产品的具体要求进行实例化,以及在用户环境下的运作,以此进一步提高软件生产率,降低成本。,软件工程理论及应用,ppt,课件,,2.1,标准体系

6、全貌,软件工程理论及应用,ppt,课件,图,2.2,软件生存期过程,软件工程理论及应用,ppt,课件,2.2,软件过程成熟度模型,1986,年,11,月,美国卡内基,.,梅隆大学软件工程研究所(,SEI/CMU,)在,Mitre,公司的支持下着手开发支持软件开发组织改进软件过程的“软件过程成熟度框架”。美国国防部提出,希望“软件过程成熟度框架”能用于评估软件开发组织承制软件的能力。,SEI/CMU,的,Humphrey,领导的小组,经过大量的调查、研究,于,1987,年开发了“软件过程评估”和“软件成熟度评价”两个模型,並进行了广泛的问卷调查。,1991,年,8,月公开发布软件能力成熟度模型,

7、(Capability Maturity Model for Software-CMM)CMM v1.0,。此模型在建立和发展之初,主要目的在于提供一种评价软件承接方能力的方法,为大型软件项目的招投标活动提供一种全面而客观的评审依据。而发展到后来,又同时被软件组织用于改进其软件过程。,软件工程理论及应用,ppt,课件,CMM,描述一条从无序的、混乱的过程到成熟的、有纪律的过程的改进途径,描绘出软件组织如何增加对软件开发和维护的过程控制,如何向软件工程和管理的优秀文化演变等方面的指导。,,关键过程域,(key process area),描述软件过程的属性,通过完成一组相互关联的活动,实现一组对

8、建立过程能力至关重要的目标。,图,2.3,能力成熟度级别与关键过程域,共同特性将描述关键过程域的关键实践组织起来。共同特性是一些属性,指明一个关键过程域的执行和规范化是否有效、可重复和可持续。共有,5,个共同特性:执行约定,执行能力,执行活动,测量和分析,验证实现。,,执行约定:执行约定描述机构为确保过程的建立和持续而必须采取的一些措施。典型内容包括建立机构策略和领导关系。,,执行能力:执行能力描述了项目或机构完整地实现软件过程所必须有的先决条件。典型内容包括资源、机构结构和培训。,,执行活动:执行活动描述了执行一个关键过程域所必需的活动、任务和规程。典型内容包括制定计划和规程、执行和跟踪以及

9、必要时采取纠正措施。,,测量和分析:测量和分析描述了为确定与过程有关的状态所需的基本测量实践。这些测量可用来控制和改进过程。典型内容包括可能采用的测量实例。,,验证实现:验证实现描述了为确保执行的活动与已建立的过程一致所采取的步骤。典型内容包括管理部门和软件质量保证组实施的评审和审核。,图,2.4 CMM,的内容和结构,如果要用简单的一句话来表达从一级到高一级所需要的努力的话,可以有:   从一级到二级的转化:规范化过程;   从二级到三级的转化:标准化、稳定的过程;   从三级到四级的转化:可预测的过程;   从四级到五级的转化:持续改进过程。,图,2.5 CMM,层次结构,除第一级外,

10、每一级是按完全相同的结构构成的。每一级包含了实现这一级目标的若干关键过程域,(KPA),,每个,KPA,进一步包含若干关键实施活动,(KP),,无论哪个,KPA,,它们的实施活动都统一按五个公共属性进行组织,即每一个,KPA,都包含五类,KP,即:执行约定,执行能力,执行活动,测量和分析,验证实现。,,目标每一个,KPA,都确定了一组目标。若这组目标在每一个项目都能实现,则说明企业满足了该,KPA,的要求。若满足了一个级别的所有,KPA,要求,则表明达到了这个级别所要求的能力。,,实施保证实施保证是企业为了建立和实施相应,KPA,所必须采取的活动,这些活动主要包括制定企业范围的政策和高层管理的

11、责任。,执行活动执行过程描述了执行,KPA,所需求的必要角色和步骤。在五个公共属性中,执行活动是唯一与,项目执行,相关的属性,其余四个属性则涉及企业,CMM,能力基础设施的建立。执行活动一般包括,计划,、执行的任务、任务执行的跟踪等。,,度量,分析度量分析描述了过程的度量和度量分析要求。典型的,度量,和度量分析的要求是确定执行活动的状态和执行活动的有效性。,初始级,,初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。也许,有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。,,软件工程管理制度缺乏

12、,过程缺乏定义、混乱无序。成功依靠的是个人的才能和经验,经常由于缺乏管理和计划导致时间、费用超支。管理方式属于反应式,主要用来应付危机。过程不可预测,难以重复。初始级具有明显的不成熟过程的特点。,可重复级,,基于类似项目中的经验,建立了基本的项目管理制度,采取了一定的措施控制费用和时间。管理人员可及时发现问题,采取措施。一定程度上可重复类似项目的软件开发。,,可重复级根据多年的经验和教训,人们总结出软件开发的首要问题不是技术问题而是管理问题。因此,第二级的焦点集中在软件管理过程上。一个可管理的过程则是一个可重复的过程,一个可重复的过程则能逐渐进化和成熟。,已定义级,,已将软件过程文档化、标准化

13、,可按需要改进开发过程,采用评审方法保证软件质量。可借助,CASE,工具提高质量和效率。,,在第二级仅定义了管理的基本过程,而没有定义执行的步骤标准,而且无论是管理还是工程开发都需要一套文档化的标准,并将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这个标准过程,剪裁出与项目适宜的过程,并执行这些过程。过程的剪裁不是随意的,在使用前需经过企业有关人员的批准。,已管理级,,针对制定质量、效率目标,并收集、测量相应指标。利用统计工具分析并采取改进措施。对软件过程和产品质量有定量的理解和控制。,,第四级的管理是量化的管理。所有过程需建立相应的度量方式,所有产品的质量,(,包括工作产品和

14、提交给用户的产品,),需有明确的度量指标。这些度量应是详尽的,且可用于理解和控制软件过程和产品。量化控制将使软件开发真正变成为一种,工业生产活动,。,优化级,,基于统计质量和过程控制工具,持续改进软件过程。质量和效率稳步改进。,,优化级第五级的目标是达到一个,持续改善,的境界。所谓,持续改善,是指可根据过程执行的反馈信息来改善下一步的执行过程,即优化执行步骤。如果一个企业达到了这一级,那么表明该企业能够根据实际的项目性质、技术等因素,不断调整软件生产过程以求达到最佳。,2.3,软件过程管理案例,应注意的是,并非实施了,CMM,软件项目的质量就能有所保障。,CMM,是一种资质认证,它可以证明一个

15、软件企业对整个软件开发过程的控制能力。按照,CMM,的思想进行管理与通过,CMM,认证并不能划等号。,CMM,认证并不仅仅是在,评估,软件企业的生产能力,整个评估过程同时还在帮助企业完善已经按照,CMM,建立的科学,工作流程,,发现企业在软件质量、生产进度以及成本控制等方面可能存在的问题,并且及时予以纠正。,CMM,用之于软件过程改进时,是通过按,CMM,给出的准则对软件过程实施评价,从而为作出改进决策和实施改进提供支持。所以,往往又把,CMM,在过程改进方面的应用看成是过程评价。,,(,1,)软件过程评价(,SPA,,,Software Process,Assessment,),目的是确定一

16、个组织的当前软件过程的状态,找出组织所面临的急需解决的与软件过程有关问题,进而有步骤地实施软件过程改进,使组织的软件过程能力不断提高。因此,软件过程评估关注一个组织的软件过程有哪些需改进之处及其轻重缓急。评估组采用,CMM,来指导他们进行调查、分析和排优先次序。组织可利用这些调查结果,参照,CMM,中的关键实践所提供的指导,规划本组织软件过程的改进策略。,,(,2,)软件能力评价(,SCE,,,Software Capability Evaluation,),目的是识别合格的能完成软件工程项目的承包商,或者监控承包商现有软件工作中软件过程的状态,进而提出承包商应改进之处。软件能力评价关注识别一

17、个特定项目在进度要求和预算限制内构造出高质量软件所面临的风险。在采购过程中可以对投标者进行软件能力评价。评价的结果,可用于确定在挑选承包商的风险,也可对现存的合同进行评价以便监控方的过程实施。从而识别出承包商的软件过程中潜在的可改进之处。,由于软件过程评价和软件能力评估是有关不同的两种应用,因此所用的具体方法有明显差异但是两者都以,CMM,模型及其衍生产品为基础,实施的几个大步骤基本相同。从选定评价,/,评估组后:   (,1,) 成熟度调查问卷作为现场访问的出发点;   (,2,) 用,CMM,作为指导现场调查研究的路线图;   (,3,) 针对,CMM,中的关键过程方面指出反映该组织软件过

18、程的强,弱之点;   (,4,) 根据所了解到的该组织达到,CMM,关键过程方面目标的情况描绘出该组织的软件过程的概貌;   (,5,) 向被审核者说明评估结果。,CMM,仅仅是模型,为了保证可靠且一致地使用它,美国卡内基,-,梅隆大学软件工程研究所围绕,CMM,拟制了一系列支持性文件(包括相应的评价框架,方法描述和实施指南)以及各种工具。使用,CMM,的大致思路是:   (,1,) 围绕,CMM,拟制出,CMM,评估框架(,CAF,),从,CAF,中归类出各类要求;   (,2,) 针对各类要求进行相应准备;   (,3,) 按,对象,及其需求采用适当的方法进行评定。,过程改善工作具有一切过

19、程所具有的固有特征,即需要循序渐进,不能一蹴而就;需要持续改善,不能停滞不前;需要联系实际,不能照本宣读;需要适应变革,不能固定不变。将,CMM/PSP/TSP,引人软件企业首先要对单位主管和主要开发人员进行系统的,培训,。另外一个有效的途径是自顶向下的课程培训,即从高层主管依次普及到下面的工程师。,培训,包括最基本的软件工程和,CMM,培训知识;专业领域知识等方面的培训;软件过程方面的培训。,图,2.6 CMM,与个人软件过程和小组软件过程的关系,,TSP,解决的主要问题:如何规划和管理一个软件开发团队。如何制订团队工作所需要的策略。如何定义和确定团队中每个角色的职责。如何为团队中每个成员分

20、配不同的角色。团队及其不同角色在整个开发过程的不同阶段应该做些什么,如何更好地发挥作用。在如何协调团队成员之间的任务,并跟踪报告团队整体的任务进度。采用哪些方法提高团队的协作能力。具体的工作启动流程如图,2.7,所示。,图,2.7 TSP,小组启动流程,本章小结,,软件过程是为了获得高质量的软件产品所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件能力成熟度模型(,CMM,)它是对于,软件,组织在定义、实施、,度量,、控制和改善其,软件过程,的实践中各个发展阶段的描述。,习题,简述软件过程的三层含义。,,简述,CMM,的发展历程。,,共同特性将描述关键过程域的关键实践组织起来,介绍,5,个共同特性。,,简述,CMM,的五个等级。,

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

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  sobing.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!