软件过程管理复习提纲

上传人:kms****20 文档编号:45707639 上传时间:2018-06-18 格式:PDF 页数:44 大小:1.17MB
返回 下载 相关 举报
软件过程管理复习提纲_第1页
第1页 / 共44页
软件过程管理复习提纲_第2页
第2页 / 共44页
软件过程管理复习提纲_第3页
第3页 / 共44页
软件过程管理复习提纲_第4页
第4页 / 共44页
软件过程管理复习提纲_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《软件过程管理复习提纲》由会员分享,可在线阅读,更多相关《软件过程管理复习提纲(44页珍藏版)》请在金锄头文库上搜索。

1、软件过程管理复习提纲第一讲:软件过程基础1 1 1 1、简史简史简史简史上世纪 50 年代机器比人贵重上世纪 60 年代80 年代软件危机和应对上世纪 80 年代质量问题叠现可靠性、安全性等问题问题问题问题规模是软件危机的最根本原因。质量问题一直困扰着整个行业,规模越大越糟糕。管理水平不高。理论基石:软件产品和服务的质量,很大程度上取决于生产和维护该软件或者服务的过程的质量。质量改进质量改进质量改进质量改进1.11.11.11.1CMMCMMCMMCMM 改进改进改进改进模型模型模型模型1.21.21.21.2敏捷敏捷敏捷敏捷敏捷软件开发宣言的敏捷软件开发宣言的敏捷软件开发宣言的敏捷软件开发宣

2、言的4 4 4 4 个简单的价值观:个简单的价值观:个简单的价值观:个简单的价值观:个体和交互个体和交互个体和交互个体和交互胜过胜过胜过胜过过程和工具过程和工具过程和工具过程和工具可以工作的软件可以工作的软件可以工作的软件可以工作的软件胜过胜过胜过胜过面面俱到的文档面面俱到的文档面面俱到的文档面面俱到的文档客户合作客户合作客户合作客户合作胜过胜过胜过胜过合同谈判合同谈判合同谈判合同谈判响应变化响应变化响应变化响应变化胜过胜过胜过胜过遵循计划遵循计划遵循计划遵循计划体 系 结构 试 探制 定 交付 计 划迭 代开 发验 收测 试难 点试 探不 确 定的 估 计确 定 的估 计隐 喻交 付 计 划

3、最 新 版 本用 户 认 可 小 交 付新 用 户 故 事差 错用 户 故 事测 试 用 例需 求下 一 次 迭 代制 定 迭代 计 划站 立会 议代 码 共享 编 程最 新版 本任 务 分 配下 一 个 任 务新 功 能验 收测 试或 未 通 过验 收 的 模 块交 流 与讨 论未 完 成 任 务用户故事交 付 计 划项 目 速率结对编程与人员轮换 持续地优化设计 循环冗余检测卡共 享 的信 息新 用 户 故 事新 项 目 速 率差 错 极限编程(极限编程(极限编程(极限编程(eXtremeeXtremeeXtremeeXtreme ProgrammingProgrammingProgram

4、mingProgramming)是敏捷过程中最负盛名的一个,其名称是敏捷过程中最负盛名的一个,其名称是敏捷过程中最负盛名的一个,其名称是敏捷过程中最负盛名的一个,其名称“极限极限极限极限”二字的含义是指把好的开发实二字的含义是指把好的开发实二字的含义是指把好的开发实二字的含义是指把好的开发实践运用到极致。践运用到极致。践运用到极致。践运用到极致。 极限编程的有效实践极限编程的有效实践极限编程的有效实践极限编程的有效实践客户作为开发团队的成员客户作为开发团队的成员客户作为开发团队的成员客户作为开发团队的成员客户代表客户代表客户代表客户代表使用用户素材使用用户素材使用用户素材使用用户素材短交付周期

5、短交付周期短交付周期短交付周期验收测试验收测试验收测试验收测试结对编程结对编程结对编程结对编程结对编程就是由两名开发人员在同一台计算机上共同编写结对编程就是由两名开发人员在同一台计算机上共同编写结对编程就是由两名开发人员在同一台计算机上共同编写结对编程就是由两名开发人员在同一台计算机上共同编写解决同一个问题的程序代码,通常一个人编码,另一个人对代码进行审解决同一个问题的程序代码,通常一个人编码,另一个人对代码进行审解决同一个问题的程序代码,通常一个人编码,另一个人对代码进行审解决同一个问题的程序代码,通常一个人编码,另一个人对代码进行审查与测试,以保证代码的正确性与可读性。结对编程是加强开发人

6、员相查与测试,以保证代码的正确性与可读性。结对编程是加强开发人员相查与测试,以保证代码的正确性与可读性。结对编程是加强开发人员相查与测试,以保证代码的正确性与可读性。结对编程是加强开发人员相互沟通与评审的一种方式。互沟通与评审的一种方式。互沟通与评审的一种方式。互沟通与评审的一种方式。测试驱动开发测试驱动开发测试驱动开发测试驱动开发极限编程强调极限编程强调极限编程强调极限编程强调“测试先行测试先行测试先行测试先行”。在编码之前,应该首先。在编码之前,应该首先。在编码之前,应该首先。在编码之前,应该首先设计好测试方案,然后再编程,直至所有测试都获得通过之后才可以结设计好测试方案,然后再编程,直至

7、所有测试都获得通过之后才可以结设计好测试方案,然后再编程,直至所有测试都获得通过之后才可以结设计好测试方案,然后再编程,直至所有测试都获得通过之后才可以结束工作。束工作。束工作。束工作。集体所有集体所有集体所有集体所有持续集成持续集成持续集成持续集成可持续的开发速度可持续的开发速度可持续的开发速度可持续的开发速度,累计时间资源)2.资源清单 (日期, 时间资源, 累计时间资源)3.日程计划(任务名称,需要时间资源,累计时间资源,完成时间)iii.质量计划原理和方法1.项目的质量计划中应当确定需要开展的质量保证活动。2.典型的质量保证活动包括个人评审、团队评审、单元测试、集成测试、系统测试以及验

8、收测试等。3.在质量计划中需要解决的关键的问题是该开展哪些活动,以及这些活动开展的程度,如时间、人数和目标分别是什么。4.注:需要将项目总体质量目标细分成若干小的目标,这样便于在过程中进行管理和控制。结合本书第 3 章中介绍的质量管理指标,yield,PQI 以及 A/FR 等,图 6- 4 给出了质量管理计划的示例。途中右下角是质量总体目标,即整个系统在系统测试之后总的缺陷数应当小于6.63 个。那么相应需要开展的质量保证活动以及每个活动的 yield 可以根据历史数据或者一般的行业数据确定。而每个质量管理活动所需时间则由 PQI 指标和 A/FR 指标加以确定。事实上,PQI 和 A/FR

9、 指标也是为了确保 yield 目标的实现。iv.风险计划1.风险管理的目的是在风险发生前,识别出潜在的问题,以便在产品或项目的生命周期中规划和实施风险管理活动,以消除潜在问题对项目产生的负面影响。2.风险管理大致分成两部分,即风险识别和风险应对。3.注:风险管理是一个持续的、前瞻的过程,此过程是项目管理的重要部分。有效的风险管理是通过相关干系人的合作与参与,尽早且积极地识别风险,制定项目风险管理计划。风险管理须同时考虑有关成本、进度、绩效及其他风险的内部及外部来源。因为在项目初期进行变更或修正的工作负荷,通常比在项目后期来得容易、花费较低及较不具破坏性,所以,早期及积极的风险侦测是重要的。风

10、险管理大致分成两部分,即风险识别和风险应对。4.风险识别a)识别与成本、进度及绩效相关的风险b)审查可能影响项目的环境因素c)审查工作分解结构的所有组件,作为风险识别的一部分,以协助确保所有的工作投入均已考虑d)审查项目计划的所有组件,作为风险识别的一部分,以确保项目在各方面均已考虑e)记录风险的内容、条件及可能的结果f)识别每一风险相关的干系人g)利用已定义的风险参数,评估已识别的风险h)依照定义的风险类别,将风险分类并分组i)排列降低风险的优先级5.风险应对a)识别风险之后,就应当制定相应的风险管理策略,以应对各类风险。b)典型的策略包括:风险转嫁,风险解决,风险缓解c)c)c)c)风险转

11、嫁风险转嫁风险转嫁风险转嫁风险转嫁是指通过某种安排,在放弃部分利益的同时,将部分的项目风险转嫁到其他的团队或者组织。比如有的公司采取外包的方式,把一部分有技术风险的产品组件交由其他公司开发,在放弃部分收益的同时,也规避了技术风险。d)d)d)d) 风险解决风险解决风险解决风险解决风险解决是指采取一些有效措施,使得风险的来源不再存在。这往往是一种预防性的手段。比如针对项目面临的技术风险,采取技术调研或者引进技术专家的手段,使得原有的风险来源不再存在或者存在可能性极低,从而测试解决该风险。e)e)e)e)风险缓解风险缓解风险缓解风险缓解风险缓解是指容忍风险的存在,采取一些措施监控风险,不让风险对项

12、目最终目标的实现造成负面影响。一般情况下,都需要制定相应的风险缓解计划。理性对待每个关键性的风险,研究可选择的应对方案,并对每个风险皆制定相应的行动过程,是风险缓解计划的关键内容。特定风险的风险缓解计划包括规避、降低及控制风险发生可能性的技术和方法,或降低风险发生时遭受的损失程度的方法,或上述两者。监控风险,当风险超过设定的阈值时,实施风险缓解计划,以使受冲击的部分回归到可接受的风险等级。只有当风险结果评定为高或无法接受时,才相应制定风险缓解计划和紧急应变计划,其它其他情况只需要适当监控即可。v.计划评审和各方承诺1.项目各项计划完成之后, 需要与各类计划的相关干系人开展评审工作,解决计划中相

13、互矛盾与不一致的地方,并获得参与项目的各方对项目计划的承诺。a)识别每一项计划所需支持,并与相关干系人协商承诺。b)记录所有的承诺,包括完整的承诺和临时的承诺,并确保由适当层次的人员签署。c)适时与资深管理人员一起审查承诺2.例如,配置管理计划涉及到所有的开发人员和配置管理人员的工作,而配置项的生成与纳入基线必须跟项目小组的开发计划相一致;项目的采购计划需要和供应商的供货计划或者开发计划相一致,而与项目小组的集成计划必须兼容;沟通计划必须与参与沟通活动的各方的日程计划相一致。还有一种更加特殊的情形,即全球化软件开发。在这种形式的项目组织中,软件开发人员往往分布在不同的地区,各个地区会有本地区的

14、团队的开发计划,这些开发计划作为整个项目整体计划的一部分,必须确保彼此兼容。集成的团队计划必须被团队成员、其它接口团队、以及其他相关的干系人所接受。识别每一项计划所需支持,并与相关干系人协商承诺。可用 WBS 为基础检查表,以确保所有工作都获得承诺。另外,在项目小组的沟通计划中,也可以定义每一项计划所需沟通和承诺的对象。记录所有的承诺,包括完整的承诺和临时的承诺,并确保由适当层次的人员签署。承诺必须文档化,以确保一致的相互理解,并可追踪及维护。临时性的承诺应附有相互关系的风险描述。适时与资深管理人员一起审查承诺。待审查的承诺包括内部承诺和外部承诺, 关键是识别各个承诺的最新状态,进而判断各个承

15、诺可被满足的程度。必要时,需要采取纠正措施2 2 2 2、上述计划该如何开发?上述计划该如何开发?上述计划该如何开发?上述计划该如何开发?3 3 3 3、团队项目进度如何跟踪与管理?团队项目进度如何跟踪与管理?团队项目进度如何跟踪与管理?团队项目进度如何跟踪与管理?a)进行项目跟踪的意义:i.在项目进展过程中开展跟踪活动的目的在于了解项目进度,以便在项目实际进展与计划产生严重偏离时,可采取适当的纠正措施。ii.项目进度滞后与否需要参照物,即项目计划。iii.项目跟踪需要管理针对偏差而采取的纠偏措施。b)例如:正如 Brooks 在人月神话一书中指出的那样,项目延迟整整一年是一次延迟一天慢慢积累

16、起来的。开展及时有效的项目跟踪就是期望及时发现项目实际进展与计划之间的偏差,及时处理这些偏差,从而消除累计的偏差对项目造成的负面影响。c)例如,在软件工程实践中,有一条流传非常广泛的经验总结,即向一个已经落后的项目中增加人手,往往导致项目更加落后。而在实践中,一旦出现项目落后的情况,往往都会采取增加人手的方法来应对。d)挣值管理办法i.项目的挣值管理方法(Earned Value Management,简称 EVM)是用来客观度量项目进度的一种项目管理方法。ii.EVM 采用与进度计划、成本预算和实际成本相联系的三个独立的变量,进行项目绩效测量。1.简单实现a)这种方式仅仅关注进度信息。在实现时,首先需要建立WBS,定义工作范围;其次为 WBS 中每一项工作定义一个价值(PV); 最后按照一定的规则将某一数值赋给已经完成的工作或者正在进行的工作。常用规则分别为 0-100 规则和 50-50 规则,前者只有当某项任务完成时,该任务的 PV

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

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