软件工程理论及应用课件

上传人:pu****.1 文档编号:587729661 上传时间:2024-09-06 格式:PPT 页数:33 大小:1,005KB
返回 下载 相关 举报
软件工程理论及应用课件_第1页
第1页 / 共33页
软件工程理论及应用课件_第2页
第2页 / 共33页
软件工程理论及应用课件_第3页
第3页 / 共33页
软件工程理论及应用课件_第4页
第4页 / 共33页
软件工程理论及应用课件_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《软件工程理论及应用课件》由会员分享,可在线阅读,更多相关《软件工程理论及应用课件(33页珍藏版)》请在金锄头文库上搜索。

1、书名:软件工程理论及应用 ISBN: 978-7-111-46404-4作者:周屹出版社:机械工业出版社本书配有电子课件软件工程理论及应用 ppt 课件软件工程理论及应用软件工程理论及应用 ppt 课件软件工程理论及应用2.1软件过程规范2.2软件过程成熟度模型2.2.1初始级2.2.2可重复级2.2.3已定义级2.2.4已管理级2.2.5优化级2.3软件过程管理案例软件工程理论及应用 ppt 课件软件工程理论及应用通过下面这个“七人分粥”寓意的小故事,就很清楚地说明软件过程的重要性。有7个人曾经住在一起,每天分一大桶粥。要命的是,粥每天都是不够的。一开始,指定一人负责分粥事宜,很快大家发现,

2、这个人为自己分的粥最多最好,于是推选出一个道德高尚的人出来分粥。强权就会产生腐败,大家开始挖空心思去讨好他,搞得整个小团体乌烟瘴气,显然这个方法不行。软件工程理论及应用 ppt 课件软件工程理论及应用指定一个人分粥和一个人监督,起初比较公平,但到后来分粥的人与监督的人从权力制约走向“权力合作”,于是只有这两个人能吃饱,这种方法也失败了。谁也信不过,干脆大家轮流主持分粥,每人一天。虽然看起来平等了,但是每人在一周中只有1天吃得饱,其余6天都吃不饱,而且每天粥还有剩的,这种方法造成资源浪费。民主选举一个3人分粥委员会和一个4人监督委员会,实行集体领导,公平是做到了。但是,监督委员会经常提出各种议案

3、,分粥委员会据理力争,等粥分完时,粥早就凉了,此方法效率太低。最后想出来一个方法每个人轮流值日分粥,但分粥的那个人要最后一个领粥。令人惊奇的是,结果7只碗里的粥每次都是一样多,就象用科学仪器量过一样。因为,每个主持分粥的人都认识到,如果每只碗里的粥不相同,他无疑将拿到那份最少的。软件工程理论及应用 ppt 课件软件工程理论及应用同样是7个人,不同的流程和方法,就会造成迥然不同的结果,包括效率、成本上的差异。从这个故事可以看出,有什么流程,就有什么结果,流程决定了结果,过程管理可以化腐朽为神奇。一般的软件过程包括问题提出、软件需求说明、软件设计、软件实现、软件确认和软件演化等基本活动。软件工程理

4、论及应用 ppt 课件软件工程理论及应用2.1软件过程规范过程是活动的集合,活动是任务的集合。所有人类的活动可能都是一个过程,每一个人从其中得到了自我价值的体现,这些活动产生一个表示或示例,或可被很多人反复使用,或可用于某些其他未考虑到的背景上。即产品能被自己或他人复用,从其中得到了一种满足感。软件过程是软件生存周期中的一系列相关的过程。软件过程有三层含义:个体含义,即指软件产品或系统在生存周期中的某一类活动的集合,如软件开发过程,软件管理过程等;整体含义,即指软件产品或系统在所有上述含义下的软件过程的总体;工程含义,即指解决软件过程的工程,它应用软件工程的原则、方法来构造软件过程模型,并结合

5、软件产品的具体要求进行实例化,以及在用户环境下的运作,以此进一步提高软件生产率,降低成本。软件工程理论及应用 ppt 课件软件工程理论及应用2.1 标准体系全貌软件工程理论及应用 ppt 课件软件工程理论及应用图2.2软件生存期过程 软件工程理论及应用 ppt 课件软件工程理论及应用2.2软件过程成熟度模型1986年11月,美国卡内基.梅隆大学软件工程研究所(SEI/CMU)在Mitre公司的支持下着手开发支持软件开发组织改进软件过程的“软件过程成熟度框架”。美国国防部提出,希望“软件过程成熟度框架”能用于评估软件开发组织承制软件的能力。SEI/CMU的Humphrey领导的小组,经过大量的调

6、查、研究,于1987年开发了“软件过程评估”和“软件成熟度评价”两个模型,並进行了广泛的问卷调查。1991年8月公开发布软件能力成熟度模型(Capability Maturity Model for Software-CMM)CMM v1.0。此模型在建立和发展之初,主要目的在于提供一种评价软件承接方能力的方法,为大型软件项目的招投标活动提供一种全面而客观的评审依据。而发展到后来,又同时被软件组织用于改进其软件过程。 软件工程理论及应用 ppt 课件软件工程理论及应用CMM描述一条从无序的、混乱的过程到成熟的、有纪律的过程的改进途径,描绘出软件组织如何增加对软件开发和维护的过程控制,如何向软件

7、工程和管理的优秀文化演变等方面的指导。关键过程域(key process area)描述软件过程的属性,通过完成一组相互关联的活动,实现一组对建立过程能力至关重要的目标。 软件工程理论及应用图2.3 能力成熟度级别与关键过程域 软件工程理论及应用共同特性将描述关键过程域的关键实践组织起来。共同特性是一些属性,指明一个关键过程域的执行和规范化是否有效、可重复和可持续。共有5个共同特性:执行约定,执行能力,执行活动,测量和分析,验证实现。执行约定:执行约定描述机构为确保过程的建立和持续而必须采取的一些措施。典型内容包括建立机构策略和领导关系。执行能力:执行能力描述了项目或机构完整地实现软件过程所必

8、须有的先决条件。典型内容包括资源、机构结构和培训。执行活动:执行活动描述了执行一个关键过程域所必需的活动、任务和规程。典型内容包括制定计划和规程、执行和跟踪以及必要时采取纠正措施。测量和分析:测量和分析描述了为确定与过程有关的状态所需的基本测量实践。这些测量可用来控制和改进过程。典型内容包括可能采用的测量实例。验证实现:验证实现描述了为确保执行的活动与已建立的过程一致所采取的步骤。典型内容包括管理部门和软件质量保证组实施的评审和审核。软件工程理论及应用图2.4 CMM的内容和结构 软件工程理论及应用如果要用简单的一句话来表达从一级到高一级所需要的努力的话,可以有: 从一级到二级的转化:规范化过

9、程;从二级到三级的转化:标准化、稳定的过程; 从三级到四级的转化:可预测的过程;从四级到五级的转化:持续改进过程。软件工程理论及应用图2.5 CMM层次结构软件工程理论及应用除第一级外,每一级是按完全相同的结构构成的。每一级包含了实现这一级目标的若干关键过程域(KPA),每个KPA进一步包含若干关键实施活动(KP),无论哪个KPA,它们的实施活动都统一按五个公共属性进行组织,即每一个KPA都包含五类KP即:执行约定,执行能力,执行活动,测量和分析,验证实现。目标每一个KPA都确定了一组目标。若这组目标在每一个项目都能实现,则说明企业满足了该KPA的要求。若满足了一个级别的所有KPA要求,则表明

10、达到了这个级别所要求的能力。实施保证实施保证是企业为了建立和实施相应KPA所必须采取的活动,这些活动主要包括制定企业范围的政策和高层管理的责任。 软件工程理论及应用执行活动执行过程描述了执行KPA所需求的必要角色和步骤。在五个公共属性中,执行活动是唯一与项目执行相关的属性,其余四个属性则涉及企业CMM能力基础设施的建立。执行活动一般包括计划、执行的任务、任务执行的跟踪等。度量分析度量分析描述了过程的度量和度量分析要求。典型的度量和度量分析的要求是确定执行活动的状态和执行活动的有效性。 软件工程理论及应用2.2.1初始级初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。也许,有

11、些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。软件工程管理制度缺乏,过程缺乏定义、混乱无序。成功依靠的是个人的才能和经验,经常由于缺乏管理和计划导致时间、费用超支。管理方式属于反应式,主要用来应付危机。过程不可预测,难以重复。初始级具有明显的不成熟过程的特点。软件工程理论及应用2.2.2可重复级基于类似项目中的经验,建立了基本的项目管理制度,采取了一定的措施控制费用和时间。管理人员可及时发现问题,采取措施。一定程度上可重复类似项目的软件开发。可重复级根据多年的经验和教训,人们总结出软件开发的首要问题不是技术问题

12、而是管理问题。因此,第二级的焦点集中在软件管理过程上。一个可管理的过程则是一个可重复的过程,一个可重复的过程则能逐渐进化和成熟。软件工程理论及应用2.2.3已定义级已将软件过程文档化、标准化,可按需要改进开发过程,采用评审方法保证软件质量。可借助CASE工具提高质量和效率。在第二级仅定义了管理的基本过程,而没有定义执行的步骤标准,而且无论是管理还是工程开发都需要一套文档化的标准,并将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这个标准过程,剪裁出与项目适宜的过程,并执行这些过程。过程的剪裁不是随意的,在使用前需经过企业有关人员的批准。 软件工程理论及应用2.2.4已管理级针对制

13、定质量、效率目标,并收集、测量相应指标。利用统计工具分析并采取改进措施。对软件过程和产品质量有定量的理解和控制。第四级的管理是量化的管理。所有过程需建立相应的度量方式,所有产品的质量(包括工作产品和提交给用户的产品)需有明确的度量指标。这些度量应是详尽的,且可用于理解和控制软件过程和产品。量化控制将使软件开发真正变成为一种工业生产活动。 软件工程理论及应用2.2.5优化级基于统计质量和过程控制工具,持续改进软件过程。质量和效率稳步改进。优化级第五级的目标是达到一个持续改善的境界。所谓持续改善是指可根据过程执行的反馈信息来改善下一步的执行过程,即优化执行步骤。如果一个企业达到了这一级,那么表明该

14、企业能够根据实际的项目性质、技术等因素,不断调整软件生产过程以求达到最佳。软件工程理论及应用2.3软件过程管理案例应注意的是,并非实施了CMM软件项目的质量就能有所保障。CMM是一种资质认证,它可以证明一个软件企业对整个软件开发过程的控制能力。按照CMM的思想进行管理与通过CMM认证并不能划等号。CMM认证并不仅仅是在评估软件企业的生产能力,整个评估过程同时还在帮助企业完善已经按照CMM建立的科学工作流程,发现企业在软件质量、生产进度以及成本控制等方面可能存在的问题,并且及时予以纠正。 软件工程理论及应用CMM用之于软件过程改进时,是通过按CMM给出的准则对软件过程实施评价,从而为作出改进决策

15、和实施改进提供支持。所以,往往又把CMM在过程改进方面的应用看成是过程评价。(1)软件过程评价(SPA,Software Process Assessment),目的是确定一个组织的当前软件过程的状态,找出组织所面临的急需解决的与软件过程有关问题,进而有步骤地实施软件过程改进,使组织的软件过程能力不断提高。因此,软件过程评估关注一个组织的软件过程有哪些需改进之处及其轻重缓急。评估组采用CMM来指导他们进行调查、分析和排优先次序。组织可利用这些调查结果,参照CMM中的关键实践所提供的指导,规划本组织软件过程的改进策略。(2)软件能力评价(SCE,Software Capability Evalu

16、ation),目的是识别合格的能完成软件工程项目的承包商,或者监控承包商现有软件工作中软件过程的状态,进而提出承包商应改进之处。软件能力评价关注识别一个特定项目在进度要求和预算限制内构造出高质量软件所面临的风险。在采购过程中可以对投标者进行软件能力评价。评价的结果,可用于确定在挑选承包商的风险,也可对现存的合同进行评价以便监控方的过程实施。从而识别出承包商的软件过程中潜在的可改进之处。软件工程理论及应用由于软件过程评价和软件能力评估是有关不同的两种应用,因此所用的具体方法有明显差异但是两者都以CMM模型及其衍生产品为基础,实施的几个大步骤基本相同。从选定评价/评估组后:(1) 成熟度调查问卷作

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

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

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

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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