软件过程管理复习提纲

上传人:lis****211 文档编号:116196062 上传时间:2022-07-05 格式:DOCX 页数:33 大小:45.27KB
收藏 版权申诉 举报 下载
软件过程管理复习提纲_第1页
第1页 / 共33页
软件过程管理复习提纲_第2页
第2页 / 共33页
软件过程管理复习提纲_第3页
第3页 / 共33页
资源描述:

《软件过程管理复习提纲》由会员分享,可在线阅读,更多相关《软件过程管理复习提纲(33页珍藏版)》请在装配图网上搜索。

1、过程的定义过程规范软件生命周期的过程需求软件生命周期标准软件过程建模软件过程管理不当-软件危机绝大多数软件企业长期面临“产品质量低下、进度延误、成本高昂”的共性问题,就像患了恶劣的慢性病,难以根除。1969年,“软件危机”,数十年后,司空见惯,习以为常了。软件过程管理的目的:最大限度地提高软件产品的质量与软件开发过程的生产率。过程的定义牛津简明词典中,“过程”被定义为活动与操作的集合,例如一系列的生产阶段或操作。书氏大词典定义“过程”是用于产生某结果的一整套操作、一系列的活动、变化以及作为最终结果的功能。IEEE-Std-610定义“过程”是为完成一个特定的目标而进行的一系列操作步骤,如软件开

2、发过程。SEICMM定义过程是用于软件开发及维护的一系列活动、方法及实践。实现、管理和支持过程之间的关系:过程一般可分为实现过程、管理过程、支持过程。软件过程包括?软件过程(softwareprocess),是人们用来开发和维护软件及产品的活动、方法、实践和改进的集合。软件过程包括?(作业1)需求分析、概要设计、详细设计、编码、测试、上面几点仅属于基本过程软件过程的分类和组成软件基本过程(实现过程):软件获取、供应、开发、运行和维护的过程,包括需求分析、软件设计、编码等过程。软件支持过程:包括文档编制过程、配置管理过程、质量保证过程、验证和确认过程(测试过程)、评审过程等。软件组织过程:对软件

3、主要过程和支持过程的组织保证过程,包括管理过程、基础设施过程、改进过程和培训过程。软件生存周期过程(简称IEC)工程过程(EngineeringProcess,ENG)支持过程(SupportProcess,SUP)管理过程(ManagementProcess,MAN)组织过程(OrganizationProcess,ORG)客户-供应商过程(Customer-supplierProcess,CUS)*ISO/IEC15504软件生存周期过程1 软件过程定义的层次性)公共(通用)软件过程。2 )组织标准软件过程。3 )项目自定义的软件过程。软件生命周期的过程需求软件工程过程工程过程是软件系统、

4、产品的定义、设计、实现以及维护的过程。P10开发过程:定义并开发软件产品的活动过程,包括需求分析、软件设计(功能性与非功能性)和编程等。运行过程:在规定的环境中为其用户提供运行计算机系统服务的活动过程,包括软件部署维护过程:提供维护软件产品服务的活动过程,也就是通过软件的修改、变更,使软件系统保持合适的运行状态,这一过程包括软件产品的移植和退役。软件支持过程文档编制明确如何写文档(标准)?写什么文档(各类文档)?规定文档的内容?相关的输出产品?根据定义的标准与已确定的计划来编写、审查、修改和发布所有文档。按已定义的标准和具体的规则维护文档。文献综述、开题报告、毕业论文、内容及系统、阶段性的检查

5、、答辩配置管理进行配置管理最低要求是保证重要工作成果不发生混乱。如果没有配置管理?最大的麻烦就是工作成果被覆盖。新的覆盖老的版本,后果?Checkout/checkin,时间间隔?(例:ghost)如同入库出库,必须做好所有记录,严格坚持出入库检查。确保配置项的完全性与一致性。P126质量保证健康定义,古代/现代?最高境界:“零缺陷”?Microsoft,航空航天什么时间进行?制定出计划与进度表。确定有关标准、方法、规程与工具,所需的资源、组织及其组织成员的职责。保证各类相关的计划进度保持一致。验证(见作业)(1)根据需要验证的工作产品所制定的规范(如产品规格说明书)实施必要的检验活动:(2)

6、有效地发现各类阶段性产品所存在的缺陷,并跟踪和消除缺陷。验证强调的是在开发过程中对工作产品进行检查,尽早发现问题验证(VER:保证做的对,验证规格需求按钮响应时间为1秒确认(见作业)确认强调的是,在真实的使用环境中,确保软件能达到预期的效果。如:尽快发出一个小版本,在实际环境中运行起来,尽快发现确认其中的问题。一般来说,调试、试用、验收测试等都是确认的工作。确定(VAL:保证做对的产品,属于性能需求。1. 大容量存储,响应时间为1秒(多线程后台处理来解决这个问题)联合评审与客户、供应商以及其他利益相关方(或独立的第三方)对开发的活动和产品进行评估。为联合评审的实施制定相应的计划与进度,跟踪评审

7、活动,直至结束。2. 审核判断是否与指定的需求、计划以及合同相一致。由合适的、独立的一方来安排对产品或过程的审核工作。以确定其是否符合特定需求问题解决提供及时的、有明确职责的以及文档化的方式,以确保所有发现的问题都经过相应的分析并得到解决。提供一种相应的机制,以识别所发现的问题并根据相应的趋势采取行动。软件管理过程对其它四个过程的实践活动提供指导、跟踪和监控的过程。1. 项目管理过程是计划、跟踪和协调项目执行及生产所需资源的管理过程。2. 立项管理是决策行为,决策是指“做正确的事情”立项后,目标是“正确地做事情”(正确二Y)为过程和执行制定计划,进行项目规划(城市规划)制定进度表;项目监控;成

8、本估计;项目间接口等结项管理与立项管理相对应质量管理过程是对项目产品和服务的质量加以管理,从而获得最大的客户满意度。以客户的质量需要为基础;定义质量度量标准并实时检查;未达到质量目标要及时采取相应的措施等风险管理过程,在整个项目的生命周期中对风险不断的识别、诊断和分析,回避风险、降低风险或消除风险,并在项目以及组织层次上建立有效的风险管理机制被刻画为风险的事件最终可能发生也可能不发生。人们对待风险有两种态度:3. 被动态度(“救火模式”)主动态度(“防火模式”)=风险管理属于“防火模式”量化管理风险:风险严重性,风险可能性,风险系数子合同商管理过程,选择合格的子合同商并对其进行管理的过程软件管

9、理的四个过程?(作业2)软件组织过程组织过程是软件组织用来建立和实现由相关的生命周期过程和人员组成的基础结构并不断改进这种结构的过程。业务规划过程业务规划过程是为组织与项目成员提供对远景的描述以及企业文化的介绍,从而使项目成员能更有效地工作。(明确保每个人都有明确定义的工作)定义过程定义过程是建立一个可重复使用的过程定义库,指导其他四个过程(裁剪)改进过程改进过程是为了满足业务变化的需要,提高过程的效率与有效性,而对软件过程进行持续的评估、度量、控制和改善的过程(进一步裁剪)人力资源和培训过程人力资源和培训过程,为项目或其它组织过程提供培训合格的人员所需的活动基础设施过程基础设施过程是建立生存

10、周期过程基础结构、为其他过程建立和维护所需基础设施的过程(软件工程环境)软件客户供应商的过程客户供应商过程是内部直接影响到客户、外部直接影响开发、向客户交付软件以及软件正确操作与使用的过程,包括:1)获取过程:以客户为主导的。以客户的需求为起点,以客户对产品或服务的认同与接受为终点。从确定需要获取的软件系统、产品或服务开始,然后制定和发布标书、选择供方和管理获取过程,直到验收软件系统、产品或服务。该过程的成功实施会导致最终生成一个明确的合同或条约,清楚地描述出客户与供应方的期望、职责与义务。2)客户需求管理过程:在整个软件生命周期中,针对不断变化的客户需求加以收集、处理和跟踪,并建立软件需求的

11、基准线,以作为项目中软件开发活动过程和产品度量和变更管理的基础收集,处理,跟踪同样重要。需求是产品的根源,需求工作的优劣对产品影响最大。(河流污染)3)供应过程:按客户、事先规定的要求对软件进行包装、发布与安装的活动过程确定包装、发布以及安装软件的有关要求软件有效地被安装与使用。软件达到需求定义中所规定的质量水平。4)软件操作过程:确定和管理由于引入并发操作软件而带来的操作上的风险。按要求的步骤和在要求的操作环境中运行软件。提供操作上的技术支持,以便解决操作过程中出现的问题确保软件(或主机系统)有足够的能力满足用户的需求。5)客户支持过程:基于实施情况,确定客户所需要的支持服务。通过提供适当的

12、服务来满足客户的需求。针对客户对产品本身及其相应的支持服务的满意程度进行持续的评估作业:1. 软件过程包括?2. 软件管理的四个过程?软件项目管理包括哪几个主要管理,了解项目经理的职能。(上网或查资料,要求写满一页)第二章:过程成熟度标准软件过程不成熟的特点软件过程成熟的标准3个基本概念:软件过程能力、软件过程性能、软件过程成熟度1)软件过程能力:遵循软件过程后能够实现预期结果的程度。(关注预期结果)该指标是对能力的一种衡量,用它可以预测一个组织(企业)在承接下一个软件项目时,所能期望得到的最可能的结果。例如:如果能按要求完成三年的高中学习,你有能力考上大学2)软件过程性能:表示遵循一个软件过

13、程后所得到的实际结果。(关注已得到的结果)由于项目要求和客观环境的差异,导致预期和结果不相符合。软件过程性能不可能充分反应软件过程整体能力,即软件过程能力受限于它的环境。例如:如果没考上大学,不代表你的能力不行,可能是其它原因引起的。3)软件过程成熟度是指一个具体的软件过程被明确地定义、管理、评价、控制和产生实效的程度。成熟度表明了组织(企业)实施软件过程的实际水平。组织软件过程成熟度能力的提高=从而提高软件过程能力从而使软件的质量、生产率和生产周期得到改善。从而达到良好的软件过程性能软件过程成熟的标准软件过程能力高:能达到预期结果,不断提高自身能力。软件过程性能可预见性:积累了有关过程性能的

14、大量历史数据,对效率,成本,质量能做出准确的估计。过程的可视性:软件组织的能力是已知的/软件过程定义清晰;过程的每个阶段进出的标准,执行的方法和规则清楚/人员职责清楚。过程的稳定性:有纪律的过程软件过程规范化:过程定义、方法和规则等文档化,所有过程标准化,有规则可循。过程的一致性:软件过程被正确无误地传递到不同的团队。已定义的过程是真正的标准。过程的丰富性:各种子过程过程的不断改进:通过可控的先导性试验和成本效率分析对过程进行持续改进。(可持续发展)能力成熟度模型概述CMM的基本内容CMI是软件过程能力成熟度模型(CapacityMaturityModel,CMM的简称,1991年正式推出了C

15、MM版。cmM描述一条从无序的、混乱的过程到成熟的、有纪律的过程的改进途径。CMM建立起一个标准,对照这个标准就能以可重复的方式判断组织软件过程的成熟度CMM建立的目的:确定成熟度,找改进策略。内容和结构(缩写)每个成熟度等级由若干个关键过程域(KPA组成。不同的成熟度关注的过程域不同。下一层为上一层的基础,先有物质文明,后有精神文明每个KPA用若干关键实践(KP加以描述。实施这些关键实践,就实现了关键过程区域的目标。(Flash中的关键帧)关键实践以5个共同特点(CommoFneatures)加以组织:执行约定、执行能力、执行的活动、测量和分析、验证实施。执行约定(CommitmenttoP

16、erform,简称CO:企业为了保证过程建立和继续起作用必须采取的一些措施。例:建立机构策略。执行能力(AbilitytoPerform,简称AB:组织和项目实施软件过程的先决条件。执行能力一般指提供资源、分派职责和人员培训。 执行的活动(ActivitiesPerformed,简称AC:指实施关键过程区域所必需的角色和规程。执行的活动一般包括制订计划和规程、执行活动、跟踪与监督并在必要时采取纠正措施。(只有此条与项目执行相关)测量和分析(MeasurementandAnalysis,简称ME:对过程进行测量和对测量结果进行分析。验证实施(VerifyingImplementation,简称V

17、E:保证按照已建立的过程执行活动的步骤。例:评审和审计。十几年来,CMM勺改进工作一直不断地进行。美国国防部希望把现在所有的、以及将被开发出来的各种能力成熟度模型,集成到一个框架中去。到2000年,CMM演化成为CMMI(CapabilityMaturityModelIntegration,能力成熟度模型集成)。CMMI不仅适合软件,而且适合于软件硬件结合的系统,这是对CMM最大的改进。CMMI介绍P(37)模型学科源模型软件SW-CMM,草案版本系统工程EIA/731集成化产品与过程开发IPD-CMM,版本CMMI项目的成就之一就是在软件和系统工程之间实现了较高的集成化程序。软件和系统工程集

18、成后产生了一个公共的过程域集。过程成熟度级别(1) 成熟度等级的行为特征初始级具有明显的不成熟过程的特点软件过程的特点是杂乱无章,有时甚至混乱,几乎没有定义过程的规则或步骤。所谓“过程”,往往是“就这么干”而言。(2) 开发过程中不断地出现危机,以及不断的“救火”。甚至遇到危机就放弃原计划过程,反复编码和测试。(3) 偶尔成功完全依赖个人努力和杰出的专业人才,能力只是个人的特性,而不是开发组织的特性。一旦优秀人物离去,项目就无法继续。(4) 过分的承诺,常作出良好的承诺:如“按照软件工程方式,有序的工程来工作”;或达到高目标的许诺。但实际上却出现一系列问题。(5) 软件过程是不可确定的和不可预

19、见的。(过程是随意的)。这类组织也在开发产品,但其成果是不稳定的,不可预见的,不可重复的。也就是说,软件的计划、预算、功能和产品的质量都是不可确定和不可预见的。做事情(考研)要有计划,有跟踪,有文档可查。可重复级/受管理级:根据多年的经验和教训,人们总结出软件开发的首要问题不是技术问题而是管理问题。因此,第二级的焦点集中在软件管理过程上。可重复级/受管理级建立了管理软件项目的方针和实施这些方针的规程,使软件项目的有效管理过程制度化,有能力去跟踪成本、进度和质量。一个有效过程可特征化为已文档化的、已实施的、可培训的和可测量的软件过程。达到二级证明已经进入规模开发(特征):(1)进行较为现实的承诺

20、,可按以前在同类项目上的成功经验建立的必要过程准则来确保再一次的成功。(2) 主要是逐个项目地建立基本过程管理条例来加强过程能力。(3) 建立了基本的项目管理过程来跟踪成本、进度和功能。(4) 管理工作主要跟踪软件经费支出、进度及功能。识别在承诺方面出现的问题。(5) 采用基线(BASELINE来标志进展、控制完整性。已定义级:第二级中存在的问题:仅定义了管理的基本过程,而没有定义执行的步骤标准;按项目制定软件过程,而不是总结各种项目的成功经验,使之规则化已定义级包含一组协调的、集成的、适度定义的软件工程过程和管理过程,具有良好的文档化、标准化,使软件过程具有可视性、一致性、稳定性和可重复性,

21、软件过程被集成为一个有机的整体(特征):(1)无论管理方面或工程方面的软件过程都已文件化、标准化,并综合成软件开发组织的标准软件过程。(2) 软件过程标准被应用到所有的工程中,用于编制和维护软件。有的项目也可根据实际情况,对软件开发组织的标准软件过程进行剪裁。(3) 在从事一项工程时,产品的生产过程、花费、计划以及功能都是可以控制的,从而软件质量也可以控制。(4) 软件工程过程组负责软件活动。(5) 在全组织范围内安排培训计划。已管理级:已管理级的软件过程是量化的管理过程。在上述已定义级的基础上,可以建立有关软件过程和产品质量的、一致的度量体系,采集详细的数据进行分析,从而对软件产品和过程进行

22、有效的定量控制和管理。(量化控制将使软件开发真正变成为一种工业生产活动)第四级软件产品是高质量的(特征):(1)制定了软件过程和产品质量的详细而具体的度量标准,软件过程和产品质量都可以被理解和控制。(2) 软件组织的能力是可预见的,原因是软件过程是被明确的度量标准所度量和操作。超过限制范围时,采取措施予以而使软件产品具有可预测的高质量。具有良好定义及一致数据库,保存收集到的数据,可用于各项目的软件过程需要改进的地方已管理级需要改进的地方:(1)缺陷防范,不仅仅在发现了问题时能及时改进,而且应采取特定行动防止将来出现这类缺陷。(2) 主动进行技术变动管理、标识、选择和评价新技术,使有效的新技术能

23、在开发组织中施行。(3) 进行过程变动管理,定义过程改进的目的,经常不断地进行过程改进。优化级:第五级的目标是达到一个持续改善的境界,所谓持续改善是指可根据过程执行的反馈信息来改善下一步的执行过程,即优化执行步骤优化级:不断改善组织的软件过程能力和项目的过程性能利用来自过程和来自新思想、新技术的先导性试验的定量反馈信息,使持续过程改进成为可能。为了预防缺陷出现,组织有办法识别出弱点并预先针对性地加强过程理解成熟度等级CMM是一个描述模型,或者说是一个规范。CMM处在调试的抽象层次上,使之不会过多限制一个组织如何去实施软件过程,而是告诉一个组织应该达到的软件过程能力和框架。相当于学英语时的英语大

24、纲,告诉你应该达到的什么水平,但不会限制你如何去学习。成熟度等级的过程特征第4级,对软件产品的质量、开发进度和其它开发目标进行有效的评估和预测(量化管理)第5级,其焦点是软件过程的持续改进成熟度各个级别的软件过程特征,如表2-2所示。CMMI过程域CMM和CMM过程域的比较分析软件过程的可视性PSP/TSP和CMMS成的软件过程框架个体软件过程(PersonalSoftwareProcess,PSP帮助软件开发团队中的个体软件工程师改善其个人能力和素质的组织过程PSP告诉软件工程师:如何计划要做的工作、如何有效的按照计划来执行工作、如何按照计划跟踪自己的性能、如何提高程序质量团队软件过程TSP

25、团队软件过程(TeamSoftwareProcess,TSP)属于团队软件开发过程:用于指导项目组中的成员如何有效地规划和管理所面临的项目开发任务并且告诉管理人员如何指导软件开发队伍。始终以最佳状态来完成工作。TSP实施集体管理与自己管理自己相结合的原则。PSP/TSPPSP/TSP/CM之间的关系组织的过程目标作业:举出一些具体的例子说明过程不成熟性。通过查找资料,详细介绍CMM勺第二、三、四、五等等级的核心过程域?PSP/TSP/CMI之间的关系?软件过程的组织管理CMMS成1. 组织过程焦点:1.执行约定2.执行能力3.执行活动4.测量与分析5.验证实施执行约定(1)组织应该遵循一个文档

26、化的关于协调软件流程的制定和改进活动的组织方针(2)高级管理人员发起对软件过程制定和改进的组织活动(3)高级管理人员监督软件过程的制定和改进的组织活动执行能力(1)建立一个负责整个组织的软件过程活动的工作组(2)为软件过程活动提供足够的资源和资金(3)组织软件过程活动的组员进行培训(4)软件工程组和其他工程组的组员接受软件过程活动的相关培训执行活动(1)发现问题:定期评估软件过程并根据评估结果制订相应的更改计划(2)制定计划:组织制定和维护有关软件过程和改进活动的计划(3)改进工作:协调组织的标准软件过程和项目自定义的软件过程的制定和改进工作(4)保存数据:协调组织的软件过程数据库的使用(5)

27、尝试新方法:新过程、新方法、新工具的评价、监控和推广(6)培训:对有关组织和项目的软件过程培训进行统一管理(7)通知:及时将有关软件过程制定和改进的活动通知与实施软件过程相关的组和人员组织过程焦点-评估测量和分析(两个比较)每次软件过程的评估结果与以往的评估结果和建议的比较。已经完成的工作量以及实际消耗的资源与计划的比较。2. 实施验证(要求领导的足够重视)评审软件过程制定和改进活动的进展状态。分析在低层次上无法解决的矛盾和问题。各项活动的组织、实施、审核以及结果。总结验证结果组织过程定义组织过程定义:在组织层上定义软件过程。(各个项目通用的过程)组织过程定义的目的:是开发和维护一组可用的软件

28、过程财富(softwareprocessassets),(成功经验)用来改进跨越各个项目的过程性能,为组织的长期发展奠定基础。软件过程财富可用于开发、执行和维护标准软件过程和项目定义软件过程。软件过程财富主要包含如下内容:组织标准软件过程、软件生命周期的描述、过剪裁指南和准则、组织软件过程数据库、软件过程的有关文档库PSP/TSF和CMh组成的软件过程框架个体软件过程(PersonalSoftwareProcess,PSP)帮助软件开发团队中的个体软件工程师改善其个人能力和素质的组织过程PSP告诉软件工程师:如何计划要做的工作、如何有效的按照计划来执行工作、如何按照计划跟踪自己的性能、如何提高

29、程序质量团队软件过程TSP团队软件过程(TeamSoftwareProcess,TSP)属于团队软件开发过程:用于指导项目组中的成员如何有效地规划和管理所面临的项目开发任务、并且告诉管理人、如何指导软件开发队伍。始终以最佳状态来完成工作。TSP实施集体管理与自己管理自己相结合的原则。PSP过程框架PSP的目的:为了改善软件工程师的开发性能,对项目有一个比较准确的把握。PSP过程由一系列方法、表格、脚本等组成,用以指导软件开发人员计划、度量和管理他们的工作。PSP过程框架*PSP成熟度模型PSP是一个具有4个等级的成熟度框架。4个等级分别为:个体度量过程-PSP0/、个体计划过程-PSP1/、个

30、体质量管理过程-PSP2/、个体循环过程-PSP3&TSP小组软件过程(了解)TSP解决的主要问题:如何规划和管理一个软件开发团队。如何制订团队工作所需要的策略。如何定义和确定团队中每个角色的职责。如何为团队中每个成员分配不同的角色。团队及其不同角色在整个开发过程的不同阶段应该做些什么,如何更好地发挥作用。在如何协调团队成员之间的任务,并跟踪报告团队整体的任务进度。采用哪些方法提高团队的协作能力。作业:1. 选择一门学习课程,进行PSP(的时间记录日志,以7天为周期。2. 上网查询一个好的TSP的标准,并举一具体的TSP启动后的例子。3. 介绍PSP成熟度模型。软件过程的需求管理*软件需求包括

31、三个不同的层次:业务需求、用户需求、功能需求(也包括非功能需求)。业务需求业务需求:是企业的发展要求,企业运行的思路,系统目标。这类需求通常来自与高层,从总体上描述了为什么要开发系统(why),组织希望达到什么目标。比如“希望实施CRM后公司的客户满意度达到80以上”就是一条组织愿景。这些最高级别的需求数量很少(2-5条)。1 用户需求用户需求:是具体的用户需要通过你的软件达到某种的目标。客户都会说我想怎么怎么样。是指描述用户使用产品必须要完成什么任务?用户需求描述了用户能使用系统来做些什么(what),这个层次的需求是非常重要的。用户需求层次上的重心转移到如何收集用户的需求上需求分析是很难的

32、,因为很多需求是隐性的,很难获取,更难保证需求完整,而需求又是易变的。2 功能需求功能需求:要涉及一些需求分析了,它是对于用户需求的具体实现。这个客户也可能不能告诉你应该怎么样,而要依赖你自己的设计。功能需求描述的是开发人员如何设计具体的解决方案来实现这些需求(how),其数量往往比用户需求高一个数量级。系统分析员描述开发人员在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。需求获取的方法需求研讨会、头脑风暴、用例模型、访谈、角色扮演、原型法需求确认-如何保证需求规格说明书的质量?需求跟踪:需求状态已建议该需求已被有权提出需求的人建议已批准该需求已被分析,估计了其对项目余下部分

33、的影响(包括成本和对项目其余部分的干扰),已有一个确定的产品版本号或编号,软件开发团队已同意实现该项需求已实现使用所选择的方法已验证了实现的需求,例如测试和检测,审查该需求跟踪与测试用例相符。该需求现在被认为完成已删除计划的需求已被删除,并包含一个原因说明和作出删除决定的人员正向跟踪:以用户需求为切入点,检查用户需求说明书或需求规格说明书中的每个需求是否都能在后继工作产品中找到对应点。逆向跟踪:检查设计文档、代码、测试用例等工作产品是否都能在需求规格说明书中找到出处。正向跟踪和逆向跟踪合称为“双向跟踪”。*需求变更控制流程:需求变更控制策略:(1)项目启动阶段的变更预防开发方与客户方达成“事不

34、过三”的约定(2)项目实施阶段的需求变更(3)项目收尾阶段的总结如果你是项目经理,你将如何预防客户多次变更需求问题?通常情况下开发方是不敢得罪客户的,但是无原则地退让将使开发小组陷入困境。解决这个问题最好的办法是事先建立“游戏规则”开发方与客户方达成“事不过三”的约定(符合中国人的习惯),即允许客户变更三次需求;如果客户第四此变更需求,开发方有权拒绝,除非客户愿意补偿开发方的损失。软件过程的技术管理复习软件过程分为哪五个过程?客户-供应商过程,工程过程,支持过程,管理过程,组织过程。为了实现软件开发的基本过程的目标,需要支持过程、管理过程和组织过程等协助。其中,重要一点就是组织结构和技术架构的

35、支持。软件过程的技术架构主要是指用于软件工程过程成功实现与过程改进的技术基础设施。1. 过程技术架构的层次和内容软件过程的技术架构组成P101数据和文档的存储、检索工具针对整个组织标准软件过程的、全局性工具过程分析和决策支持工具帮助项目经理完成项目组特定的软件过程软件过程模式模式是解决某个问题的通用方法。软件过程剪裁的技术方法软件过程度量和评估工具软件过程的技术架构软件过程的技术架构的一个主要目的就是充分利用好过程中所存在的各种资源。软件过程资源涵盖了软件过程的各个关键过程域。具有不同的形式。P102复习:软件过程的财富包括?P59软件过程资源的管理软件过程的问题分析和决策方法软件过程管理中,

36、必然会遇到各种问题,如何解决?找出原因,针对问题产生的原因进行处理,获得最终解决方案就是一个决策过程。过程问题解决的系统方法原因分析和缺陷分析软件开发过程在很大程度上依赖于发现和纠正缺陷的过程。在开发周期的每个阶段实施根本原因分析(rootcauseanalysis),为有效原因分析的目的在于识别导致缺陷和其他问题的根本原因。=目的是找到根源=采取措施消除根源=防止将来再次发生同类问题。软件中的缺陷(Defect或Bug)是软件开发过程中的“副产品”。通常,缺陷会导致软件产品在某种程度上不能满足用户的需要。每一个软件组织都知道必须妥善处理软件中的缺陷。如何处理?通过制订原因分析计划、选择缺陷分

37、析数据而找出原因、实施建议措施、评价变更的效果、记录数据等多个环节,最终完成这一活动。缺陷能够引起软件运行时产生的一种不希望或不可接受的外部行为结果,软件测试过程简单说就是围绕缺陷进行的。缺陷是软件开发过程的“副产品”,如果出现缺陷,作为项目经理的人,对缺陷的跟踪管理一般而言需要达到什么目标?对缺陷的跟踪管理一般而言需要达到以下的目标:1. 确保每个被发现的缺陷都能够被解决;解决:(处理方式必须能够在开发组织中达到一致)被修正、在下一个版本中修正、不修正收集缺陷数据并根据缺陷趋势曲线识别测试过程的阶段;收集缺陷数据并在其上进行数据分析,作为组织的过程财富。决策分析与决定知识传递P118纵向传递

38、是一个具有很强时间顺序性的接力过程。纵向传递指软件产品和技术知识从需求分析阶段到设计阶段、从设计阶段到编程阶段、从开发阶段到维护阶段、从产品上一个版本到当前版本的知识传递过程。(1)从需求分析阶段到设计阶段从需求文档、产品设计规格说明书转换为:分析模型、设计模型、数据模型(2)从设计阶段到编程阶段从分析模型、设计模型、数据模型转换为:编程语言最后,发布软件产品,又试图完整地复原用户的需求。用户需求和产品功能特性的差异,可以看做是知识传递的失真程度,这种程度越大,产品质量越低。知识传递过程中,失真越早,在后继的过程中知识的失真会放大得更厉害。强调需求的意义。横向传递是指软件产品和技术知识在不同团

39、队之间的传递过程。横向传递是一个实时性的过程。不同产品线的开发团队之间,新老员工之间。在软件项目团队中,不同的角色有不同的责任和特定的任务,但是一个项目的成功需要团队协作,需要相互之间的理解和支持,也必然要求不同知识的相互交流。配置管理配置管理的主要工作包括通过创建软件配置管理库、定义配置项(包括需求、分析设计模型、代码、文档、测试用例、测试数据等)以及建立和维护软件的基线。1. 软件过程的项目管理软件过程的项目管理有效的项目管理是在用来实现项目具体目标的规定时间内,对组织机构资源进行计划、引导和控制工作。软件配置管理概念硬件配置:每种部件都需要有用于识别的编号,版本号可以区别同类部件的不同设

40、计。软件配置:记录哪些版本,哪些构件组成了整个软件系统,易变化,比硬件配置管理难度大。(1)配置是在技术文档中明确说明最终组成软件产品的功能或物理属性。(2)配置项:在软件生存周期内所产生的各种应纳入管理范围的系统构成成分。包括各种管理文档和技术文档,源程序与目标代码,以及运行所需的各种数据等配置管理的资源对象P126表6-1(3)基线基线是评审过的一个或多个软件配置项,每一个基线都是下一步开发的出发点和基础,而且只有通过正式的变更控制流程才能被更改。(4)配置管理库配置管理库也称受控库,用于存储软件配置项以及相关配置管理信息软件配置控制主要包括存取控制:控制存取权限,保证产品一致性版本控制:

41、记录了软件系统的中间状态。变更控制:为变更提供明确的流程。经授权与批准才能实施。产品发布的控制:保证了提交给客户的软件产品是完整的、正确的。基线控制:基线是项目储存库中每个工件版本在特定时期的一个“快照”。它提供一个正式标准,随后的工作基于此标准,并且只有经过授权后才能变更这个标准。建立一个初始基线后,以后每次对其进行的变更都将记录为一个差值,直到建成下一个基线。基线是软件生存周期中各开发阶段末尾的特定点,又称里程碑。*图6-2不同的基线基线?基线是评审过的一个或多个软件配置项,每一个基线都是下一步开发的出发点和基础,而且只有通过正式的变更控制流程才能被更改。基线是软件生存周期中各开发阶段(A

42、起始,B末尾)的特定点,又称里程碑,包括:包括:计划基线、需求基线、设计基线、编码基线、测试基线基线控制,填写下面的空缺:软件配置控制软件配置控制主要包括A存取控制B版本控制C变更控制D产品发布的控制请说出下面几条分别属于哪种控制?1.保证了提交给客户的软件产品是完整的、正确的。2,保证产品一致性3.为变更提供明确的流程。经授权与批准才能实施。3. 记录了软件系统的中间状态。版本控制分为?版本的访问控制和同步控制。下面操作是针对版本的A.访问控制还是B.同步控制检出/检入(Checkout/Checkin)可写/可读,可写是针对真正的工作文件,而可读,则是针对源文件的缓冲副本版本控制分支再合并

43、变更控制导致软件开发困难的一个原因就是软件的可变性变更控制委员会(ChangeControlBoard,CCB)变更控制的7个阶段1.提交:(1)缺陷请求(2)增强请求2.接收:项目接收提交的变更请求并进行跟踪。1. 评估:(1)根据缺陷的严重程度和修复缺陷的重要性来评估缺陷的优先级。2. (2)评估增强请求的优先级决策:(1)缺陷的决策与所处的阶段有关早期,将缺陷分配给开发人员,由开发人员决定做什么。后期,开发人员进行评估,但没有决策权,由项目领导人的批准。(2)所有的增强请求放在一起进行权衡,进行决策实现(1)修复缺陷后,变更文档。(2)增强请求涉及新特性或新功能。3. 验证:(1)缺陷:

44、是否消除了该缺陷。(2)增强:验证所做的变更是否满足该增强请求的需要。4. 完成:由提交请求的原有请求者中止这一循环过程。项目规模估算的方法常用的规模估算方法:(1)代码行方法(应用最广)(2)功能点分析方法(3)面向对象软件的对象点方法项目成本的组成P135项目成本的组成(1)直接成本:人力成本、硬件设备、软件费用(2)间接成本:项目管理成本、一般管理成本*项目成本的估算方法(1)经验估算法(2)比例法(3)工作分解结构表(WBS)自上而下自下而上举例成本估算-人工成本:完成一个工作包,需要:25个/人天,平均,水为:230元/人天,各项福利占薪水的40%,非工作时间占总工作时间的12%。计

45、算此工作包的人工成本为:=(1+)*230*25=X举例成本估算设备成本设备成本主要是设备的折旧费用:项目总历时40天。需要10台服务器,单价为8000元,预计使用5年。20台PC单价为3800,预计使用4年。采用年限平均法计算天折旧率为:设备单价/(使用年限*12*30)设备成本Y为:?Y=(10*8000/(5*12*30)+20*3800/(4*12*30)*40举例成本估算管理成本项目的管理费用为所有直接成本的一定百分比,假设本项目为20%,则本项目的一般管理费用Z为:Z=(X+Y)*20%此项目总成本为X+Y+Z项目风险管理风险识别分三步收集资料风险形势估计根据直接或间接的症状将潜在

46、的风险识别出来。常用的风险识别方法:检查单、文件审核、头脑风暴、德尔菲法、访谈、SWO分析、图表分析德尔菲法:采用匿名发表意见的方式,即专家之间不得互相讨论,不发生横向联系,只能与调查人员联系;通过多轮次调查专家对问卷所提问题的看法,经过反复征询、归纳、修改,最后汇总成专家基本一致的看法,作为预测的结果。这种方法具有广泛的代表性,较为可靠。SWO分析:是一种环境分析方法。优势(Strengths);劣势(Weaknesses);竞争市场上的机会(Opportunities);威胁(Threats)*道斯矩阵定量的风险分析量化的风险分析通常需要对事实进行更详细的分析,较之主观的风险分析往往更为可

47、靠。主要的量化分析方法有:比率/范围分析、概率分析、敏感性分析复习软件需求包括三个不同的层次:WBS工作分解结构创建WBS勺基本法则(学科划分)每个工作单元在WBS只能出现一次概要任务是对其下所有任务勺总结每个WBS勺条目都有单独的人员负责与实际要做勺工作情形保持一致建立WBS寸应让项目组员参予每个WBS条目都应备案WBS既要灵活又要不失控制任务排序(学科排序)制定日程安排-项目网络图箭线图法(ArrowDiagramMethod,ADM)或称为双代号网络图法(Activity-On-Arrow,AOA)前导图法(顺序图法,PrecedenceDiagrammingMethod,PDM)或称为

48、单节点网络图法(AON,ActivityonNode),箭线图法(ADM)1、请找出关键路径?2、写出各节点的最早发生时间,最迟发生时间?练习:请分别计算工作B、C和E的自动浮动时间。为了抢进度,在进行工作G时加班赶工,因此将该项工作的时间压缩了7天(历时8天)。请指出此时的关键路径,并计算工期。责任矩阵用距阵的形式列出对某项任务负责的人或资源项目跟踪和控制了解成员的工作情况调整工作安排,合理利用资源促进计划内容的完善促进项目经理对人员的认识促进对项目工作量的估计统计并了解项目总体进度有利于人员考核项目过程的跟踪和控制信息收集被动接受:项目成员自动发出项目的相关信息,项目经理在接收到之后,进行

49、整理分析。主动接受:项目经理通过各种手段主动收集项目信息。问题分析和处理需求变动需要遵循需求变动控制的流程。任务的实际进度落后于计划进度,该如何解决?1. 调整工作策略,优化网络图,例如重排活动之间顺序,压缩关键路径长度。2. 增加资源(1)或者使用经验丰富的员工。(2)尽可能地调配非关键路径上的资源用于关键路径上的任务。.3赶工4.并行项目计划案例:建造地牢说明:你是路易10世的俘虏。他要给自己的城堡增加三个新地牢,让你做一个规划。干得好就释放,干不好就终生监禁。小地牢很难设计,要12周,但容易建成,1周即可;中地牢设计要5周,施工要6周;大地牢设计只要1周,但建造要用9周。你有一个设计师和

50、一个建筑师,设计师不会建造而建筑师不会设计。要建好这三个地牢,你规划的工期是几周?不同的思路理性的选择思路一的缺点:从一开始就关注单个产品这样的细节,容易造成只见树木,不见森林思路二的关键:建造可以根据设计的整体安排进行调整,要取得最佳效果必须安排好工作的起点与排序可行方案甘特图尽可能让某一地牢的建造在其它地牢设计的过程中进行,以达到节省时间的目的。例题某工厂需要生产四个部件A,B,C,D。每个部件都需要先设计完成后,才能进行加工,另外,该工厂只有一个设计师和一个加工员,设计师不会加工而加工员不会设计。设计师和加工员在设计或加工每个部件上所需的工时(包括加工前的准备时间以及加工后的处理时间)如

51、下表若以AB、CD零件顺序安排加工,则共需29小时。适当调整零件加工顺序,可产生不同实施方案,在各种实施方案中,完成四个零件加工至少共需要多少小时?请画出甘特图1、小测试适当调整零件加工顺序,可产生不同实施方案,在各种实施方案中,完成四个零件加工至少共需要多少小时?(10分)加工的顺序是(10分)请画出甘特图(20分)2、如下图所示的网络计划图中关键路径是(10分),全部计划完成的时间是(10分)。3、软件需求包括三个不同的层次?(10分)4、变更控制的7个阶段?(10分)5、基线是?(10分)。6、基线控制,填写下面的空缺(10分)参考答案:1、22小时CDAB2、如下图所示的网络计划图中关

52、键路径是_abcefg,全部计划完成的时间是24。3、软件需求包括三个不同的层次?(10分)业务需求:用户需求:功能需求4、变更控制的7个阶段?(10分)提交、接收、评估、决策、实现、验证、完成5、基线是(10分)评审过的一个或多个软件配置项,每一个基线都是下一步开发的出发点和基础,而且只有通过正式的变更控制流程才能被更改。6、项目计划归纳为下面几个问题:项目说明书一般已经阐述了前面两个问题,在进行到项目计划阶段,重点需要解决后面三个问题:怎么做?-WBS什么时候做?把项目工作排序,最终制定一个日程表。P146谁来做?根据技术和能力将人员分配到具体的任务上。任务分配矩阵问题分析和处理P150补

53、充需求变动,应该如何处理?需要遵循需求变动控制的流程。1. 提交:在提交阶段,将对变更软件系统的请求进行记录。2. 接收:项目接收提交的变更请求并进行跟踪。3. 评估:浏览所有新提交的变更请求,对变更影响范围和修改程度,为确定是否有必要进行变更提供参考依据。4. 决策:决定选择实现一个变更请求。5. 实现:针对不的变更给出解决方案。6. 验证:1. 缺陷:是否消除了该缺陷。2. 增强:验证所做的变更是否满足该增强请求的需要。完成:由提交请求的原有请求者中止这一循环过程。软件过程的质量管理软件过程的质量管理产品质量是生产出来的,不是检验出来的。威廉戴明软件的质量是软件开发各个阶段质量的综合反映,

54、因此软件的质量管理贯穿了整个软件开发周期。为了更好地管理软件产品质量,首先需要制定项目的质量计划。然后,在软件开发的过程上,需要进行技术评审和软件测试,并进行缺陷跟踪。质量计划质量计划是进行项目质量管理、实现项目质量方针和目标的具体规划。(1) 质量计划是针对具体的软件开发制定的,总体过程包括了4个阶段:计划的编制、实施、检查调整、总结制定质量计划的方法和技术利益/成本分析:满足质量需求的主要的利益是减少重复性工作。(2) 基准:比较实际或计划项目的实话与其他同类项目的实施过程。(3) 流程图:原因结果图、系统流程图试验设计:在实施过程中,不断加强对质量计划执行情况的检查,发现问题和及时调整。

55、软件评审不管你有没有发现他们,缺陷总是存在,问题只是你最终发现它们时,需要多少纠正成本。评审的投入把质量成本从昂贵的、后期返工转变为早期的缺陷发现。一一卡尔威格*评审方法P162(1)临时评审(Adhocreview):最不正式的一种评审方法(2)轮查(Passroud):又称分配审查法作者将评审内容发给评审员,并收集反馈意见。(3)走查(Walkthrough):作者向一组同事介绍产品,收集意见。作者占主导地位。(4)小组评审(GroupReview):评审是有计划的和结构化的,接近于最正式的评审技术。5)审查(Inspection):比评审更严格。案例P163各种评审方法都是交替使用的。对

56、于最可能产生风险的工作成果,要采用最正式的评审方法。1. 需求分析报告需要采用哪种评审?2. 核心代码需要采用哪种评审?3. 一般的代码需要采用哪种评审?1. A临时评审B轮查C走查D.小组评审或审查缺陷分析缺陷分析看图得结论鱼骨图是非常重要和也是经常使用的一种缺陷分析方法,又称因果分析图.鱼骨图分析法是从主刺到小刺的思维.先找到最主要的问题,分析导致此问题的因素后,再逐层递推(正向)分析导致各个小问题的因素,对最小的问题提出解决方案,从而使主要的问题得到解决.(反向)采用鱼骨图进行根本原因分析时,主要的分析如下:1. 确定问题或特性2. 确定主要问题原因的类别(5M)1.人力:造成问题产生人

57、为的因素有哪些2.机械:软、硬件条件对于事件的影响3. 物料:基础的准备以及原材料4. 方法:与事件相关的方式与方法问题是否正确有效5. 环境:内外部环境因素的影响根据问题类别,确定细节原因质量度量的作用1.有效的沟通和改进可见性。1.支持跨越组织所有级别的涉众之间的沟通2.尽早的发现和更正问题。3. 作出关键的权衡。跟踪特定的项目目标1.项目是按时间计划进行的吗?5.管理风险。6. 有助于决策。7. 计划未来的项目。度量要素获得准确的项目进展的测量是一个永恒的挑战。团队成员所提供的状态数据,得到的结果往往是不一致,不准确和难以比较的。家长问这一学期学的怎么样?个人提供的信息往往是不准确的。软

58、件度量:1.项目度量:规模、成本、工作量、进度等2.产品度量:质量度量3. 过程度量:成熟度、管理、生命周期等基于缺陷的质量度量(whenwho):测试过程中发现缺陷的权重(测试小组及其他小组发现的缺陷):产品发布后发现缺陷的权重:新增加的和修改的千行代码数:测试过程中测试小组发现的缺陷权重:测试小组发现的所有缺陷1.代码质量度量:这个质量指标的值越低,说明发现缺陷越少,同时说明开发小组完成的代码质量越高。(WTP+WF)/KCSI2.产品质量度量:遗留给客户的缺陷的权重。WF/KCSI3. 测试改进质量度量:测试小组发现的缺陷权重和产品规模之间的关系。WTTP/KCSI4. 测试效率度量测试

59、小组发现的缺陷和产品总缺陷的关系。WT/(WTP+WF)软件过程的评估和改进软件过程改进不是目标,而是一条漫漫长路。如果你不知道身在何处,任何地图都与事无补。瓦特汉弗莱(WattHumphrey)软件开发组织的类型软件开发组织的类型组织独立承担某项新产品的全程开发和维护,开发过程不受外部因素影响。组织完成所开发的软件产品的主体部分,但要将次要部分交给第三者完成或集成第三方的软件产品。组织缺乏独立完成软件产品开发的能力,从软件承包商接受软件产品开发的子项目,接受指导下完成项目。CMMI表示方法过程度量的内容*软件过程性能的度量1.软件过程能力度量(1)需求管理和需求开发能力;(2)技术解决能力、因果分析能力和决策分析能力;项目计划能力、项目监督和控制能力、合同管理能力和集成化项目管理能力;(3) 质量管理能力、配置管理能力和风险管理能力;(4) 组织级过程定义能力、组织级培训能力、组织级改革能力和产品集成能力。过程效率和质量度量的结合过程度量的流程单选10题:每题/2分填空20题:每题/1分简答题五题:每题/5分案例分析题:10分+10分+15分画*为老师要求掌握或熟记的

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

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

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


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