您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 山东大学软件过程管理复习
1.IDEAL模型包含那几个阶段及含义?IDEAL模型解决了软件组织在各种质量改进环境下的需要,包括了软件过程改进周期中的五个阶段I:Initiating开始D:Diagnosing诊断、评价E:Establishing建立A:Acting执行L:Leveraging调整2.CMM/CMMI、PSP、TSP、RUP、XP、SCRUM、PDCA、MSG、SEPG、WBS、SPICMM:软件能力成熟度模型。五个级别:初始级、可重复级、已定义级、已经管理级、优化级CMMI:软件能力成熟度模型集成(整合三个模型:SE-CM、SW-CMM、SDCE)PSP:个体软件过程(着重于软件开发人员的个人能力提升,体现在估算能力、计划能力、计划执行以及质量管理等方面)TSP:团队软件过程(能够提供:①一个已经定义的团队构建过程②一个团队作业框架③一个有效的管理环境)RUP:统一过程(6条开发经验“最佳实践”:迭代式开发、管理需求、使用基于构件的体系结构、可视化建模、验证软件质量、控制软件变更)XP:极限编程(是敏捷过程中最负盛名的一个,有效实践有:重构、使用隐喻、TDD、验收测试、结对编程)SCRUM:是一种迭代式增量软件开发过程,通常用于敏捷软件开发PDCA:Plan-Do-Check-Action计划-执行-检查-行动/戴明环MSG:管理层指导组SEPG:软件工程过程组WBS:工作分解结构(以可交付成果为导向的对满足项目目标和开发交付产物的项目相关工作进行的分解)SPI:软件过程改进3.软件过程与软件质量的关系软件工程是为了以一种高效的方式提供高质量的软件产品的工程学科。以往的经验和理论表明,产品的质量取决于过程的质量。只有很好地控制了生产过程的质量,才能获得高质量的产品。软件的开发效率也部分取决于软件过程的效率。1)低劣的设计是导致在软件开发中返工、不易维护以及用户不满的主要原因。2)充分设计可以显著减少最终程序的规模,提升质量。3)设计本身也是一种排错的过程4.PROBE估算产品规模的基本流程5.相关性和显著性描述什么相关性——描述的是两组变化的数据之间相互关联的程度。显著性——描述的是两组数据的相关关系出现的偶然程度,显著性越小越好。6.应用PROBE方法估算规模时,A,B,C,D四类方法的数据要求是什么7.质量指标的含义和计算①Yield指标:用来度量每个阶段在消除缺陷方面的效率PhaseYield(某个阶段缺陷消除的效率)=100*(某阶段发现的缺陷个数)/(某阶段注入的缺陷个数+进入该阶段前遗留的缺陷个数)ProcessYield(第一次编译之前消除缺陷的效率)=100*(第一次编译前发现的缺陷个数)/(第一次编译前注入的缺陷个数);②A/FR:用以指导软件工程师合理安排评审和测试时间的指标=PSP质检成本/PSP失效成本(1)理论上,A/FR的值越大,往往意味着越高的质量。(2)过高的A/FR往往意味着做了过多的评审,反而会导致开发效率的下降。(3)在PSP中A/FR的期望值就是2.0③PQI:用以度量PSP过程的整体质量=设计质量*设计评审质量*代码评审质量*代码质量*程序质量设计质量:设计的时间应该大于编码的时间设计评审质量:设计评审的时间应该大于设计时间的50%代码评审质量:代码评审时间应该大于编码时间的50%代码质量:代码的编译缺陷密度应当小于10个/千行程序质量:代码单元测试缺陷密度应当小于5个/千行④ReviewRate评审速度:用以指导软件工程师开展有效评审的指标(PSP中,代码评审速度小于200LOC/小时,文档评审速度小于4Page/小时)⑤DRL缺陷消除效率比:度量不同缺陷消除手段消除缺陷的效率=其他阶段每小时发现的缺陷数/该测试阶段每小时发现的缺陷数8.两阶段小组评审的过程,如何估算小组评审之后评审对象遗留的缺陷数(1)小组评审只有两个人参加。假设评审人员A和B分别发现了a个缺陷和b个缺陷,其中c个缺陷两人同时发现。利用捕鱼(统计学中经典的估算池塘中鱼总数的方法,即先捕一网,对所有捕获的鱼进行标记,再将鱼放回池塘,过一段时间,再捕一网,那么通过该网中被标记的鱼的数目和未被标记的鱼的数目比例,即可大致测算整个池塘的鱼总数的方法。这个是解释,考试不用谢。打字手疼。)的思想,选择a-c和b-c中较大值,如果相等则可以任选一值。假设a-c是选定的值,那么就可以估算出评审对象经过小组评审之后,还遗留a*b/c-(a+b-c)个缺陷。(2)小组有多人参加。小组评审如果有多人参与,那么情况就会相对复杂,我们采取一个简化的计算方法,即选择某个独立发现缺陷最多的评审员作为A,而其他所有参与人员的整体作为B。那么我们仍然可以使用上述的方式来估算小组评审之后评审对象中遗留的缺陷数。9.失效成本、质检成本、预防成本的差异是质量成本的三个组成部分失效成本——分析失效现象、查找原因、做必要的修改所消耗的成本。质检成本——评价软件产品,确定其质量状况所消耗的成本。预防陈本——识别缺陷根本原因、采取措施预防其再次发生所消耗的成本。为了操作方便,在PSP中对上述定义稍作简化,PSP中主要关注失效成本和质检成本,而预防成本一般包含在总结阶段以及平时评审检查表的维护中,因此,不专门进行计算。PSP中定义的失效成本为编译时间和单元测试时间之和,PSP中定义的质检成本为设计评审时间与代码评审时间之和10.PSP中各设计模板的作用操作规格模板OST:描述系统与外界的交互,可以用来定义测试场景和测试用例,也可以作为和系统用户讨论需求的基础功能规格模板FST:描述系统对外的接口,是一种静态信息的描述状态规格模板SST:可以精确定义程序的所有的状态、状态之间的转换以及伴随着每次状态转换的动作逻辑规格模板LST:可以精确描述系统的内部静态逻辑。(为了消除描述的二义性,一般建议用伪代码配合形式化符号来描述设计结果)11.正确的状态机设计应该满足哪些要求(完整性和正交性)状态转换完整性:对于状态机中任何一个状态,对应的所有条件组合,下一个状态的转换都有定义。状态转换正交性:对于状态机中任何一个状态,其所有下一个状态的转换条件不能相同,简言之,在一个正确状态机中,任何一个状态,当对应的条件组合一样时,其下一个状态必须唯一定义验证方法:1)检验状态机,消除死循环和陷阱状态。2)检查状态转换,验证完整性和正交性。3)评价状态机,检验是否体现设计意图12.PSP中验证设计主要有哪些方法?各有什么优势和不足状态机验证:符号化验证:将描述设计的逻辑规格(一般用伪代码程序表示)用代数符号来表示,然后系统地开展分析和验证步骤:1)识别伪码程序中的关键变量2)将这些变量用代数符号表示,重写伪码程序3)分析伪码程序的行为优缺点:实施简单,可以给出一般化的验证结果,很多时候是唯一提供全面验证的方式应用于验证复杂算法,特别是遗留系统的改造,来识别和理解原有的设计不适用于有复杂逻辑的场合,纯手工的验证,容易引入一些人为的错误执行表验证:用一种有序的方法来跟踪伪码程序的执行状况,分析程序行为,从而验证设计步骤:1)识别伪码程序的关键变量;2)构建表格,表格左侧填入主要程序步骤,右侧填入关键变量;3)初始化被选定的变量;4)跟踪被选择的关键变量的变化情况,从而判断程序行为优缺点:可以用以复杂逻辑的验证,实施简单,结果可靠每次只能验证一个用例,手工验证既耗时,容易出错跟踪表验证:是对执行表验证方法的一种扩充步骤:1)识别伪码程序的关键变量;2)构建表格,表格左侧填入主要程序步骤,右侧填入关键变量;3)初始化被选定的变量;4)识别将伪码程序符号化的机会,并加以符号化;5)定义并且优化用例组合;6)跟踪被选择的关键变量的变化情况,从而判断程序行为正确性验证:将伪码程序当成数学定理,采用形式化方法加以推理和验证步骤:1)分析和识别用例;2)对于复杂伪码程序的结构,应用正确性检验的标准问题逐项加以验证;3)对于不能明确判断的复杂程序结构,使用跟踪表等辅助验证13.解释客户需求、产品需求和产品组件需求的区别和联系客户需求:描述客户的期望。客户在实际工作中碰到了一些问题,希望通过软件系统来帮忙解决这些问题,客户的这种解决问题的愿望,就是客户需求。产品需求:描述开发团队所提供的解决方案。针对客户需求,开发团队设计出一个可以帮助客户解决工作中碰到的问题的方案,该方案往往就表述为产品需求。产品组件需求:描述组成产品的各个组件的需求价格。联系:产品需求是对客户需求的一个提炼和精化,把客户需求真正表述为开发人员够理解的语言,同样,产品需求需要进行验证,以确保客户的真实意图得到了体现。产品组件需求与产品需求相比,这是在更细小的颗粒上,更为细致地描述了上述解决方案中的某个组建的功能、性能、形式等。14.产品集成有哪些典型的策略,优缺点是什么①大爆炸集成策略:将所有已经完成的组件放在一起,进行一次集成测试用例最少,每个用例测试次数最少难以定位缺陷位置,系统越复杂,规模越大,问题越突出②逐一添加集成策略:与大爆炸集成策略相反,采取一次添加一个组建的方式进行集成很容易定位缺陷的位置需要测试的用例最多,大量的回归测试会消耗很多时间③集簇集成策略:是对逐一添加集成策略的改进,把有相似功能或者有关联的模块优先进行集成,形成可以工作的组件,然后以组件为单位继续进行较高层次的集成测试效率提升,可以尽早获得一些可以工作的组件,有利于其他组件测试工作的开展缺点是过于关注个别组件,缺乏系统的整体观,不能尽早发现系统级的缺陷④扁平化集成策略:要求尽快构建一个可以工作的扁平化系统,优先集成高层的部件,然后逐步将各个组件、模块的真正实现加入系统可以尽早发现系统层面的缺陷是为了确保完成系统,需要大量的打“桩”,即提供一些直接提供返回值的伪实现,不能覆盖整个系统应该处理的多种状态。15.项目计划阶段需要制定哪些计划?约定的内容是什么?任务计划、日程计划、质量计划、风险计划项目各项计划完成之后,需要与各类计划的相关干系人开展评审工作,解决计划中相互矛盾与不一致的地方,并获得参与项目的各方对项目计划的承诺。1)识别每一项计划所需支持,并与相关干系人协商承诺2)记录所有的承诺,包括完整的承诺和临时的承诺,并确保由适当层次的人员签署3)适时与资深管理人员一起审查承诺16.什么是风险?风险应对的方法。风险:可能会给项目目标的实现带来负面影响的潜在问题·风险转嫁:通过某种安排,在放弃部分利益的同时,将部分的项目风险转嫁到其他的团队或者组织·风险解决:采取一些有效措施,使得风险的来源不再存在。是一种预防性的手段。如针对面临的技术风险,采取技术调研、引进技术专家的手段,使得原有的风险来源不再存在或者存在可能性极低。·风险缓解:容忍风险的存在,采取一些措施监控风险,不让风险对项目最终目标的实现造成负面影响。需要制定相应的风险缓解计划,理性对待每个关键性的风险,研究可选择的应对方案,并对每个风险皆制定相应的行动过程。17.挣值管理方法的原理(EVM)是用来客观度量项目进度的一种项目管理方法采用与进度计划、成本预算和实际成本相联系的三个独立的变量,进行项目绩效测量·BAC表示按照PV值的曲线,当项目完成的时候所需预算或者时间·成本差异CV=EV-AC,表示的是已经完成的的工作与所消耗的成本的差异。可以表示为消耗的时间,也可以表示为消耗的资金。·成本差异指数CPI=EV/AC,表示单位成本创造的价值。1表示超支,=1表示与预期一致,1表示成本低于预期。·日程偏差SV=EV–PV,表示进度偏差。0表示进度落后,=0表示进度正常,0表示进度超前。·日程偏差指数SPI=EV/PV·预计完成成本EAC=AC+(BAC-EV)/CPI=BAC/CPI,表示的是按照目前的进展以及成本消耗情况,整个项目完成的时候所需消耗的成本。18.BAC、PV、EV、AC、CV、SV、CPI、SPI、EACBAC:项目总预算PV:计划价值EV:挣值AC:实际成本CV:成本差异SV:日程偏差CPI:成本差异指数SPI:日程偏差指数EAC:预计完成成本19.项目跟踪的意义1)开展
本文标题:山东大学软件过程管理复习
链接地址:https://www.777doc.com/doc-2477644 .html