软件过程管理期末复习重点
软件过程管理复习提纲.doc
1.简述软件过程成熟度的标准(1)软件过程能力高;(2)软件过程性能可预见性;(3)软件过程规范化;(4)过程的一致性;(5)过程的丰富性;(6)过程的可视性;(7)过程的稳定性;(8)过程的不断改进。
2.什么是阶段评审以及它的作用是什么?前一阶段交付的成果通常要接受是否已经完成和准确的审查,即阶段评审(1)决定项H是否进入下一阶段(2)发现和纠正缺陷3.软件开发项目的全过程(1)新项日的启动阶段;(2)市场调研阶段;(3)技术论证阶段;(4)项日计划和日程制定阶段;(5)管理层评审阶段;(6)产品特性描述阶段;(7)资源分配阶段;(8)产品开发和发布阶段4.MSF过程模型(Process Model)的特点(1)目标驱动而非任务驱动(2)外部可见的里程碑(3)应提交项的变更管理(4)递进的版木发布策略(5)风险驱动的进度管理(6)项口组集体参与(7)管理产品质量5.MSF的5个阶段是什么?构想、计划、开发、稳定、发布阶段。
6.软件估算的内容(1)软件T作产品的规模估算;(2)软件项冃的丁作量估算;(3)软件项冃的成本估算;(4)软件项冃的进度估算;(5)项目所需耍的人员、计算机等资源估算7 •为什么需要定义活动责任矩阵?(1)是软件项H计划的一个组成部分(2)明确、清晰说明项目的职责区域(3)帮助项目组成员了解他们的任务和职责,以及要参与的工作(4)帮助项冃组成员了解与其相关的人员(5)帮助项冃组成员预计其工作量8.需求管理的内容:(1)参与需求分析和评审的人员;(2)软件需求文档;(3)需求分析过程;(4)需求变更9.常用的规模佔算方法包扌舌?(1)代码行方法;(2)功能点分析方法;(3)面向对象软件的对象点方法10.为什么需要基线?(1)变化不可避免;(2)软件产品的变化不利于软件开发;(3)需要控制变化、软件产品保持一定程度的稳定11.瀑布模型的风险和缺点?(1)获得完善的需求规约是非常困难的;(2)难以适应快速变化需求;(3)系统太大时,难以一次做完;(4)反馈信息慢;(5)极可能引起开发后期的大量返工,如返工到需求、设计等早期活动12.请简述敏捷过程的思想?(1)敏捷软件开发方法的思想是现代管理理念的延伸,其核心是以人为本,发挥人的主观能动性。
软件项目管理期末复习要点
第一说一下试卷考试构造:软件项目管理期末复习重点1.名词解说( 1’x10=10’)2.填空题3.判断题(2’x10=20’)4.简答题(5’x5=25’)5.阐述题(15 分一题)王老师给了大多数题但不是所有一、名词解说题1.项目:项目是为达成某个独到的产品或服务所做的一次性任务。
2.项目管理:项目管理是对项目各个方面的计划、监察和控制,并激励项目的所有参加人员去达到项目的时间、质量、成本、性能等多方面的目标。
3.投资回报期:投资回收期是指用软件项目投资方案所产生的净利润赔偿初始投资所需要的时间。
4.原始资本投资:这个诚心没找到,找了半个小时啊5. QA(Quality Assuance)---质量保证经过成立和保持质量管理系统来保证产质量量没有问题,是过程质量审计者。
在我们软件开发过程中,QA 也就是质量构成员。
QA 所关注的是软件产质量量保证系统。
QC(Quality Control)--- 质量控制查验产品的质量,保证产品切合客户的需求;是产质量量检查者。
在软件开发过程中,QC其实就是测试构成员。
QC所关注的是产品,而非整个系统。
6.净现值:净现值=将来的回报总数-原来的投资总数7.项目利益人( Stakeholder ):项目利益人是指踊跃参加项目或其利益在项目履行中或成功后遇到踊跃或悲观影响的组织和个人8.转动计划:转动计划方法是一种动向编制计划的方法,依据“近细远粗”的原则拟订一准期间内的计划,而后依据计划的履行状况和环境变化,调整和订正将来的计划,并逐期向后挪动。
把短期计划和中期计划联合起来的一种计划方法。
9.网络计划方法:一种应用网络模型直观地表示软件开发众多工作(工序)之间的逻辑关系与时间关系,对达成软件工程项目所需时间、花费、资源进行求解和优化的计划方法,其基本种类是重点路线法 / 计划评审技术( CPM/ PERT计-划评审法 Program Evaluation and Review Techinque)。
软件过程管理期末复习重点
软件过程管理期末复习第一章1.软件过程分为五个过程:工程过程,支持过程,管理过程,组织过程,客户—供应商过程2.工程过程包括:系统需求和设计,软件需求分析,软件开发设计,软件设计实施,集成并测试软件,集成并测试系统,系统与软件的维护。
3.支持过程:文档编制,配置管理过程,质量保证过程,验证工作产品,确认工作产品,联合评审,审核,解决问题。
4.软件过程规范:对输入/输出和活动所构成的过程进行明文规定或约定俗成的标准。
过程规范的影响和作用1.消极影响的存在和消除Fred Brooks “创造力来自个人,而不是组织结构或者过程”2.规范存在的必要性3.过程规范的作用帮助团队实现共同的目标一个规范的软件过程必将能带来稳定的、高水平的过程质量过程规范使软件组织的生产效率更高工程过程是软件系统、产品的定义、设计、实现以及维护的过程。
开发过程:定义并开发软件产品的活动过程,包括需求分析、软件设计和编程等。
运行过程:在规定的环境中为其用户提供运行计算机系统服务的活动过程,包括软件部署维护过程:提供维护软件产品服务的活动过程,也就是通过软件的修改、变更,使软件系统保持合适的运行状态,这一过程包括软件产品的移植和退役。
软件支持过程:文档编制、配置管理、质量保证、验证、确认、联合评审、审核、问题解决5.上述相应规范:软件基本过程规范,软件支持过程规范,软件组织过程规范。
6.软件标准最具有代表性的有两类:ISO标准体系和IEEE标准体系。
第二章1.CMM/CMMI的五个等级:初始级,可重复级,已定义级,已管理级,优化级。
2.成熟度等级的行为特征:p381.初始级:具有明显的不成熟过程的特点2.可重复级/受管理级:建立了管理软件项目的方针和实施这些方针的规程,使软件项目的有效管理过程制度化,有能力去跟踪成本、进度和质量。
一个有效过程可特征化为已文档化的、已实施的、可培训的和可测量的软件过程3.已定义级:包含一组协调的、集成的、适度定义的软件工程过程和管理过程,具有良好的文档化、标准化,使软件过程具有可视性、一致性、稳定性和可重复性,软件过程被集成为一个有机的整体4.已管理级:已管理级的软件过程是量化的管理过程。
软件过程管理考试复习资料
一、绪论(1)1. 软件与软件产业的发展过程软件管理工程的发展,经历了从20世纪70年代开始以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征的结构化生产时代,到90年代中期,以CMM模型的成熟和日益为市场接受为标志,已经进入以过程成熟度模型CMM、个体软件过程PSP和团队软件过程TSP为标志的以过程为中心的时代,而软件发展第三个时代,即软件工业化生产时代,以90年代中期软件过程技术的成熟和面向对象技术、构件技术的发展为基础,已经渐露端倪。
一、绪论(2)2. 软件危机及其原因软件特殊性:软件成本高;软件开发的进度难于控制;估计软件工作量很困难;软件质量难于保证;修正维护软件困难。
软件企业的4个困难:需求的完全识别;软件产品需求的完全传递;软件产品相关的变更控制;软件产品相关技术的快速变化。
软件构建的核心就是管理复杂度。
软件是由人开发的,人的智力与软件的复杂度之间存在矛盾。
软件复杂度与软件的规模有很大关系,另外也与模块间的耦合度、模块内的内聚性等因素有关。
一、绪论(3)3. 过程及其要素软件开发项目是在规定的成本和时间内,开发和提交满足客户某些需求的软件产品。
项目的三个基本特征是:成本、进度和质量(代表软件在多大程度上满足客户的要求)。
对于机构而言,包含多个项目,而实现机构的高质量和生产率,依赖于三个因素:过程、人和技术。
其中过程不仅仅是一系列步骤,还包含了机构所积累的经验,包含了机构可以从已成功的项目中所学到的一切。
一、绪论(4)4. CMM与软件产业管理是影响软件研发项目全局的因素,而技术只影响局部。
1987年9月,美国卡内基-梅隆大学软件工程研究所发布了软件过程成熟度框架,并提供了软件过程评估和软件能力评价两种评估方法和软件成熟度提问单。
4年之后,SEI将软件过程成熟度框架进化为软件能力成熟度模型(Capability Maturity Model For Software,简称SW-CMM)。
软件工程期末考知识点归纳(自制)
需求分析工具,任务,内容需求分析也称为需求工程,是一个非常重要而有很复杂的,需要交替进行,反复迭代的过程。
需求分析过程通过执行初步沟通、需求导出、分析与精化、可行性研究、协商和沟通、规格说明、验证和变更管理八个不同的活动来完成。
非形式技术主要包括会谈、调查表和场景技术,用于获取用户需求和系统需求。
排错调试(debug)又称排错或纠错调试的任务就是根据测试时所发现的错误,找出原因和具体的位置,进行改正调试工作:对错误进行定位并分析原因,即诊断;对于错误部分重新编码以改正错误;重新测试软件项目管理计划的重要方面项目是指一系列独特的、复杂的并相互关联的活动。
项目参数包括项目范围、质量、成本、时间、资源。
项目三维管理:时间维:即把整个项目的生命周期划分为若干个阶段,从而进行阶段管理。
知识维:即针对项目生命周期的各个不同阶段,采用和研究不同的管理技术方法。
保障维:即对项目人力、财力、物力、信息等后勤保障管理。
特点项目管理是一项比较复杂的工作项目管理具有创造性项目管理的对象是项目或被当作项目来处理的作业项目负责人(或项目经理)在项目管理中起着非常重要的作用项目管理需要集权领导和建立专门的项目组织项目管理的方法、工具和手段具有先进性、开放性五个阶段启动阶段:用户提出需求,开发人员进行需求分析,确定可行性,编写项目实施计划。
计划阶段:创建项目范围文档和项目计划,项目范围详细描述项目范围。
实施阶段:实施阶段意味着项目正在进一步设计、编码、测试,小组成员正在创造项目需要的可交付产品。
控制阶段:项目经理开始监督小组成员的工作,将项目的进度、任务和预算控制在正常的范围内。
收尾阶段:项目负责人和用户批准和签署项目,交付产品。
项目的收尾阶段标志着项目的正式结束。
测试目标,执行过程没找到Sa(结构化分析)结果结构化分析方法是一种自顶向下,逐步分解的面向数据和数据流的建模方法。
结构化分析(SA,Structured Analysis)方法是20世纪70年代,由E.Yourdon等人倡导的一种适用于大型数据处理系统的、面向数据流的需求分析方法。
重点复习软工
重点复习软工软工(软件工程)是计算机科学与工程领域的一门重要学科,旨在研究以科学原理与工程技术为基础,以经济、可靠和高质量为目标,开发和维护复杂软件系统的学科体系。
对于计算机相关专业的学生来说,软工是一门必不可少的课程。
本文将介绍关于软工的重点复习内容,以帮助读者更好地准备软工考试。
一、软件开发生命周期软件开发生命周期指的是从软件项目的规划到最终交付使用的整个过程。
它包含了需求分析、设计、编码、测试、维护等阶段。
在复习软工时,需要了解各个阶段的主要任务和活动,以及它们之间的关系和依赖。
1. 需求分析阶段:需求分析是软件开发的第一步,目的是识别出用户需求并定义功能和性能要求。
在这个阶段,需要学习如何进行需求获取、需求分析和需求建模等技术和方法。
2. 设计阶段:设计阶段是将需求转化为可执行的规划和设计方案的阶段。
这个阶段包括系统架构设计、详细设计、数据库设计等。
在复习软工时,需要了解常用的设计原则和设计模式,如单一职责原则、开放封闭原则、工厂模式、观察者模式等。
3. 编码阶段:编码阶段是将设计好的方案转化为计算机可执行代码的阶段。
在复习软工时,需要熟悉常用的编程语言和开发工具,如Java、C++、Eclipse、IntelliJ IDEA等。
同时,还需要了解编码规范和代码质量管理的重要性。
4. 测试阶段:测试阶段是为了发现和修复软件中存在的问题和错误。
在复习软工时,需要熟悉各种测试方法和技术,如单元测试、集成测试、系统测试、性能测试等。
此外,还需要了解测试用例的设计和执行,以及错误跟踪和修复的方法。
5. 维护阶段:维护阶段是软件开发生命周期中最后一个阶段。
它主要涉及对软件进行改进和修复。
在复习软工时,需要了解维护活动的类型和方法,如改正性维护、适应性维护、完善性维护等。
二、软件开发方法论软件开发方法论是指在软件开发过程中使用的一套规范和约束,它们可以指导和帮助开发团队更好地组织和管理软件项目。
在复习软工时,需要了解以下几种常见的软件开发方法论。
软件项目管理复习要点
1.项目质量管理的责任人是项目经理。
2.功能点输入是用来进行系统规模评估的一种手段。
3.当项目有多个人参与,比如2个项目成员使用不同版本的设计说明书,那么他们是用配置管理系统来进行协同工作。
理解配置管理的概念,比如软件配置管理的目的是建立和维护整个生存期中软件项目产品的完整性和可追朔性。
4.理解并记忆cv、sv、cpi、spi等几个指标,上课也重点解析过。
2. 三个关键指标(1)计划工作量预算费用(BCWS),指某阶段计划完成工作量所需的预算成本。
(2)已完成工作量实际费用(ACWP),指某阶段完成实际工作量所消耗的费用。
(3)已完成工作量预算成本(BCWP),即挣得值,指在某阶段实际完成工作的价值。
5.在客户接受项目的交付结果之前,项目经理检查交付结果的质量。
6.理解什么是项目基线,基线发生变更时必须通过基线变更控制流程处理,比如项目基线发生变更应该经过项目管理委员会授权执行。
项目基线是特指项目的规范、应用标准、进度指标、费用指标以及人员和其他资源使用指标等7.理解什么是网络图,这个一定要掌握。
(网络图:由工序和事件组成的具有一个发点和一个收点的有向赋权图。
)8.Pert计算公式,用来对一个任务进行历时估算。
PERT估算;pert =(悲观工期+乐观工期+4×最可能工期)/6标准差 =(悲观-乐观)/6PERT对各个项目活动的完成时间按三种不同情况估计:1、乐观时间(optimistic time)--任何事情都顺利的情况,完成某项工作的时间。
2、最可能时间(most likely time)--正常情况下,完成某项工作的时间。
3、悲观时间(pessimistic time)--最不利的情况,完成某项工作的时间ai表示第i项活动的乐观时间,mi--表示第i项活动的最可能时间,bi表示第i项活动的悲观时间。
pert =(ai+bi+4*mi)/69.一定要掌握wbs工作分解结构,比如工作分解结构作用有:防止遗漏工作、为项目估算提供依据、确定团队成员责任等功能。
软件质量管理——考试复习完整
名词解释:1、服务:是向客户提供相应的技术支持、帮助和关心等的行为。
服务也是一种无形的产品,是对有形产品的补充。
2、客户:不仅包括接受产品或服务的组织或个人,而且包括潜在的客户,所以更广义的含义,客户是公司为实现目标所需要的产品和过程而影响到的人。
3、直接客户:P94、产品:是指“过程的结果或过程的中间结果”。
产品有四种通用的类别:硬件、软件、服务和流程性材料等。
依产品的存在形式,又可将产品分为有形的和无形的。
5、软件缺陷:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
6、质量成本:质量成本是为确保和保证满意的质量而发生的费用以及没有达到满意的质量所造成损失的总和,即包括保证费用和损失费用。
7、配置项:所有在软件过程中产生的信息,总称为软件配置项,主要包括:①计算机程序(源代码和可执行程序);②描述计算机程序的文档(针对技术开发者和用户);③数据(包含在程序内部或外部)。
8、软件配置管理:SCM简单而言就是管理软件的变化,应用于软件工程过程,通常由相应的工具、过程和方法学组成。
在整个软件的开发活动中占有很重要的位置。
9、全面质量管理:P233“一个组织以质量为中心,以全员参与为基础,目的在于通过让顾客满意和本组织所有成员及社会受益而达到长期成功的管理途径。
” TQM就是全面的、全过程的、全员的和科学的质量管理的指导思想10、软件度量:?P13511、组织:是指“职责、权限和相互关系得到安排的一组人员及设施。
组织是由两个或两个以上的个人为了实现共同的目标组合而成的有机整体12、外部客户:不是组织内部的组成部分,但是受本组织活动影响的个人和组织。
外部客户是在传统意义上大家所认知的客户13、间接接客户:?P915、软件配置管理:SCM简单而言就是管理软件的变化,应用于软件工程过程,通常由相应的工具、过程和方法学组成。
山东大学-软件过程与管理复习重点整理
PDCA:Plan-Do-Check-Action计划-执行-检查-行动/戴明环 MSG:管理层指导组 SEPG:软件工程过程组 WBS:工作分解结构(以可交付成果为导向的对满足项目目标和开 发交付产物的项目相关工作进行的分解) SPI:软件过程改进
4. PROBE估算产品规模的基本流程
5. 相关性和显著性描述什么 相关性——描述的是两组变化的数据之间相互关联的程度。 显著性——描述的是两组数据的相关关系出现的偶然程度,显著性 越小越好。 6. 应用PROBE方法估算规模时,A,B,C,D四类方法的数据要
求是什么
7. 质量指标的含义和计算 ① Yield指标:用来度量每个阶段在消除缺陷方面的效率
TSP:团队软件过程(能够提供:①一个已经定义的团队构建过程 ②一个团队作业框架③一个有效的管理环境)
RUP:统一过程(6条开发经验“最佳实践”:迭代式开发、管理需 求、使用基于构件的体系结构、可视化建模、验证软件质量、控制软件 变更)
XP:极限编程(是敏捷过程中最负盛名的一个,有效实践有:重 构、使用隐喻、TDD、验收测试、结对编程)
(1)理论上,A/FR的值越大,往往意味着越高的质量。 (2)过高的A/FR往往意味着做了过多的评审,反而会导致开 发效率的下降。 (3)在PSP中A/FR的期望值就是2.0 ③ PQI:用以度量PSP过程的整体质量
=设计质量*设计评审质量*代码评审质量*代码质量*程序质 量
设计质量:设计的时间应该大于编码的时间 设计评审质量:设计评审的时间应该大于设计时间的50% 代码评审质量:代码评审时间应该大于编码时间的50% 代码质量:代码的编译缺陷密度应当小于10个/千行 程序质量:代码单元测试缺陷密度应当小于5个/千行 ④ Review Rate 评审速度:用以指导软件工程师开展有效评审的指标
软件工程导论期末复习重点
软件工程导论期末复习重点软件工程期末复习一、软件工程学概述1.软件危机:计算机开发和维护的过程中所遇到的一系列问题名词解释(需要加上软件危机产生的原因)对用户的要求没有完整准确的认识就匆忙着手编写程序论述题(需要加上软件危机的典型表现)01.对软件开发成本和嫉妒的估计常常不准确02.用户对已完成软件系统的不满意情况经常发生03.软件的质量靠不住2.软件工程:指导计算机开发和维护的一门工程学科?名词解释3.软件工程方法学的三要素:方法、工具、过程4.软件生命周期的三个时期:软件定义、软件开发、运行维护01.软件定义时期的三个阶段:问题定义、可行性研究、需求分析02.软件开发时期的四个阶段:总体设计、详细设计、编码、单元测试,综合测试,前两个称系统设计,后两个称系统实现03.软件维护时期:只要任务是使软件持久的满足用户的需要,具体的说,当软件在使用过程中发现错误时应该加以纠正,当环境改变时应修改软件以适应新的环境,当用户有新的需要时,应该及时改进软件以满足用户新的需求,本时期不在划分阶段,但是每一次维护活动本质上都是一次压缩和简化了的定义和开发过程5.可行性研究的结果是客户做出是否继续这项工程的决定的重要依据,只有投资取得较大收益的的那些工程项目才是值得继续进行下去的6.需求分析的目标是:确定出系统必须具备哪些功能,和用户密切配合,充分交流信息,以得出经过系统确认的系统逻辑模型7.软件维护的四类维护活动:01.改正性维护:改正和诊断在使用过程中发生的软件错误02.适应性维护:修改软件以适应新的环境变化03.完善性维护:根据用户的需求改善和扩充软件使它更完善04.预防性维护:为将来的维护活动事先做准备8.瀑布模型: ?论述题01.传统的瀑布模型开发软件的特点A.阶段间具有顺序性和依赖性B.推迟实现的观点C.质量保证的观点02.软件配置:程序、文档、数据03.注释有什么用:提高代码的可读性(有待补充)二、可行性研究1.可行性研究的目的:就是用最小的代价在尽可能短的时间内确定问题是否能够解决2.从三个方面研究每种解法的可读性;01.技术可行性:使用现在的技术能实现这个系统吗?02.经济可行性:这个系统的经济效益能超过它的开发成本吗?03.操作可行性:系统的操作方式在这个用户组织内能行得通吗?3.系统流程图:是概括的描绘物理系统的传统工具。
武汉大学软件过程管理复习提纲
武汉大学软件过程管理复习提纲软件过程管理复习提纲,仅供参考,祝各位考试顺利!1. CMM分哪几个成熟度等级?每个等级的名称是什么?有什么含义?CMM分为5个成熟度等级,分别是初始级、可重复级、已定义级、已管理级、优化级,具体含义如下:初始级组织缺乏明文的管理办法,软件工作没有稳定的环境,制定了计划又不执行,反应式驱动工作开展。
紧急情况下已定的规程丢在一边,急于编码和测试。
个别项目的成功依赖于某个有经验的管理人员。
个别管理人员能顶住削减过程的压力,但他们离职则全然不同。
规定的过程无法克服由于缺乏有效管理带来的不稳定性。
现象往往表现为过程无一定之规,项目进度、预算、功能及产品质量无法保证,项目的实施不可预测。
初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。
也许,有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。
可重复级建立了为跟踪成本、进度和功能的基本项目管理过程。
基于以往项目经验,制定了过程实施规范,使类似的项目可再次成功。
能追踪成本、进度、功能,及时发现问题。
如有分包,其质量也能得到控制。
第二级的管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面。
其中项目管理分为计划过程和跟踪监控过程两个过程。
通过实施这些过程,从管理角度可以看到一个按计划执行的且阶段可控的软件开发过程。
已定义级制定了组织的标准过程文件,这是软件工程基础设施的重要组成部分。
建立了组织的软件工程过程组(SEPG),负责软件过程活动。
制定和实施了人员培训大纲,保证人员能够胜任岗位知识和技能要求。
针对特定项目,可将标准软件过程(OSSP)进行剪裁。
项目成本、工期和功能已受控,质量可跟踪。
管理者了解所有项目对技术进步的要求。
在第二级仅定义了管理的基本过程,而没有定义执行的步骤标准。
在第三级则要求制定企业范围的工程化标准,而且无论是管理还是工程开发都需要一套文档化的标准,并将这些标准集成到企业软件开发标准过程中去。
软件项目管理期末复习题集与参考答案解析
软件项⽬管理期末复习题集与参考答案解析软件项⽬管理期末复习题及参考答案⼀、单项选择题(1)赶⼯⼀个任务时,你应该关注(C )A. 尽可能多的任务B. ⾮关键任务C. 加速执⾏关键路径上的任务D. 通过成本最低化加速执⾏任务(2)下列哪个不是项⽬管理计划的⼀部分?(C)A. ⾥程碑图⽰B. 进度C. 数据库设计D. 风险清单(3)对⼀个任务进⾏进度估算时,A是乐观者,估计是6天完成,B是悲观者,估计是24天完成,C是有经验者认为最有可能是12天完成,那么这个任务的历时估算是介于10天到16天的概率是()E1=(O+4M+P)/6 δ1=(P-O)/6A. 50%B. 68.3%C. 70%D. 99.7%(4)关于浮动,下⾯除了哪个之外都是不正确的?(b )A. 每个任务都有浮动B. 只有复杂的项⽬有浮动C. 浮动是在不增加项⽬成本的条件下,⼀个活动可以延迟的时间量D. 浮动(时间)是在不影响项⽬完成时间的前提下,⼀个活动可以延迟的时间量(5)关于⽹络图,下⾯哪个是不正确的?(D )A. ⽹络图可⽤于安排计划B. ⽹络图展⽰任务之间的逻辑关系C. ⽹络图可⽤于跟踪项⽬D. ⽹络图可⽤于详细的时间管理(6)需求分析是回答系统必须( a )的问题A. 做什么B. 怎么做C. 何时做D. 为谁做(7)为了有效地管理项⽬,应该将⼯作分解为更⼩的部分,以下各项中,哪⼀项不能说明任务应该分解到什么程度?(A )A. 可以在80⼩时内完成B. 不能再进⼀步进⾏逻辑细分了C. 可由⼀个⼈完成D. 可以进⾏实际估算(8)下⾯哪个不是需求管理的过程(D )A. 需求设计B. 需求获取C. 需求分析D. 需求变更(9)(a )是⽤系统的功能数量来测量其规模,与实现产品所使⽤的语⾔和技术没有关系的。
A. 功能点B. 对象点C. 代码⾏D. ⽤例点(10)如果你是某项⽬的项⽬经理,你已经估算出每个单元的成本是¥129。
这个项⽬⼀共有1200单元,你采⽤什么估算⽅法?(b )A. ⾃下⽽上估算法B. 类⽐估算法C. 专家估算法D. 参数估算法(11)风险的三个属性是(c)A. 风险发⽣的时间、地点、负责⼈B. 风险事件、时间、影响C. 风险事件、概率、影响D. 风险数量、风险影响程度、概率(12)“质量成本”是⼀个项⽬管理概念,它说明了下列哪项成本(a )A. 额外需求的成本B. 需求变更的成本C. 确保符合需求的成本D. 固定成本(13)在风险分析过程中,确定已经识别的⼀个风险事件是⽆法避免的,也是不能减轻的,也不能投保,这是⼀个关键的风险事件,⼀旦发⽣可能造成项⽬的失败,项⽬经理最佳的选择是(C )A. 降低风险的级别,项⽬团队将找到⼀个克服故障的⽅法B. 特别关注,加强管理该风险事件和所有的相关事件C. 让风险评估⼩组继续分析该风险事件,直到降低预期影响D. 忽略风险评估,因为不管赋予什么值,都只是⼀个估算。
软件项目管理复习资料
项目管理过程过程管理:对过程进行管理,目的是让过程能够被共享、复用,并得到持续的改进。
软件过程管理:注重循序渐进的积累,积累项目中的各个环节的实践经验和项目管理的实践经验,保证生产力持续发展。
过程管理和项目管理的关系:项目管理用于保证项目的成功,过程管理用于管理最佳实践,两者相辅相成、相互促进。
项目管理过程:在项目的生命周期内,对项目实施的各阶段所实施的一系列管理控制过程。
各阶段的工作特点各有不同。
管理过程的目标:在预定的时间内,实现本阶段的交付目标。
交付物要通过验收,满足特定的质量要求和功能要求。
里程碑:中间交付物的完成具有标志性作用,常被作为项目实施的里程碑。
典型的软件开发过程模型:瀑布(简单、易用、直观,前一阶段的输出是后一阶段的输入,活动间存在因果关系,不允许变更或限制变更,适合的项目,项目开始时需求和解决方案都很明确,短期、小项目),V模型(适合的项目项目开始时需求和解决方案都很明确,对系统性能、安全要求高的项目),快速应用开发,原型模型,增量式模型,螺旋式模型,渐进式阶段项目管理主要阶段(启动,计划,执行控制,结束)启动:完成项目初期的准备工作,项目前期文档的编制,项目经理的选派,项目团队的确定,项目管理制度的建立制定项目手册:项目目的或开展项目的理由经营需要或本项目对应的产品要求满足顾客、赞助人以及其他相关者的需要项目经理及权限级别总体预算项目总体里程碑、进度表参与项目的外部职能组织组织、环境、外部制约因素成功案例,包括投资收益率WBS优势:把项目分解为更小的、更便于管理的多项工作,定义了整个项目的范围,未列入WBS的工作不是项目工作,提高对成本、时间、资源估算的精确度软件开发过程的定义、剪裁和改进软件开发过程:为开发软件项目而执行的一项具有明确任务的具体工作选择软件开发过程模型,确定和描述活动,确定和描述活动间关系,文档化软件开发过程,文档化如何剪裁过程(Step1:定义剪裁软件开发过程的规则Step2:定义剪裁过程的评审要求Step3:文档化上述规则和要求)文档化如何改善过程(Step1: 定义改善过程的规则Step2: 定义改善过程的评审要求Step3: 文档化上述规则和要求)软件需求管理软件需求——软件产品的目标用户对该软件产品的功能、性能、设计约束和其它方面的期望和要求软件需求分析——从用户处获得需求、形成与用户需求相一致的、可供阅读的软件需求规格说明书需求分析的任务——通过对应用问题及其环境的理解和分析,准确、一致和完全地刻划用户需求,并达成一致,形成软件需求规格说明书需求管理:为什么需要对软件需求进行管理需求管理的内容(参与需求分析和评审的人员软件需求文档需求分析过程需求变更)收集软件需求(收集软件需求文档化收集的软件需求)软件需求建模(需求建模技术面向数据流的需求建模技术面向对象的需求建模技术UMLUse case 图交互图(顺序图,协作图)类图状态图活动图)撰写软件需求规格说明书(SRS) 评审软件需求控制软件需求的变更小结:1获取软件需求对于软件项目的开发十分重要2一个好的软件需求应该满足许多条件3必须对软件需求进行有效的管理软件度量软件度量:软件度量(Metrics)是指对软件产品、软件开发过程或者资源的简单属性的一种定量描述软件测量是对软件产品、软件开发过程和资源复杂属性的定量描述估算对软件产品、软件开发过程和资源复杂属性的定量描述软件度量内容:产品:软件开发过程中所生成的各种文档和程序过程:与软件开发有关的各种活动,如设计、编码等资源:软件开发过程中所需的支持,如人员、工具等软件度量的方法:面向规模的度量(用软件代码行数目来表示软件项目规模二个层次内部属性软件产品、过程和资源本身所具有的属性,如软件产品的复杂度、程序长度等,易于度量外部属性软件产品、过程和资源与外部环境(用户、管理人员等)间的关系,如成本、效益、可靠性、可维护性等,难以度量,但由内部属性所决定生产率: PM = L / E, L表示代码总量(单位:KLOC),E表示软件工作量(单位:人月)生产率的含义:工作量(需求+设计+编码+测试?),代码量(什么程序语言?包括注释?)每千行代码的平均成本:CKL = S / L,S为软件项目总开销文档与代码比: Dl = Pd / L,Pd表示文档页数代码出错率: EQRl = Ne / L,Ne表示代码出错的数目)面向功能的度量类比估算项目成本和工作量估算(根据规模估算成本和工作量估算FP或LOC的期望值e = (a + 4m + b)/6a、m、b分别为乐观值、悲观值和可能值依据历史数据估算出工作量和成本根据PM = FP(LOC)/E 计算出工作量根据C = S/FP(LOC) 计算出成本E——工作量(人月)S——软件项目总开销PM——生产率C——人月成本(薪水))软件质量度量度量是提高组织软件开发能力成熟度的一种重要措施和有效手段,在软件项目实施过程中坚持度量,收集数据实施前(记录估算数据),实施中(对过程、产品和资源进行度量),记录并保存其结果。
软件项目管理-期末复习
挣值分析方法的绝对差异分析变量
两个差异分析变量
• 项目进度差异(Schedule Variance,SV)
计算公式是:
SV EV ( BCWP ) PV ( BCWS )
BC不变,WS变成WP所造成的进度差异。大于零为好,小于零不好
• 项目成本差异(Cost Variance,CV)
计算公式是:
SPI EV ( BCWP ) PV ( BCWS )
BC不变,WS变成WP所造成的项目成本或造价的相对差异程度。 其大于1为好,小于1不好 • 成本绩效指数(Cost Performance Index,CPI) 计算公式为:
CPI EV ( BCWP ) AC ( ACWP )
WP不变,BC变为AC所造成的项目成本或造价的相对差异程度。 其大于1为好,小于1不好
5
进度偏差SV SV>0 SV<0 项目在成本预算控 制之内,但进度落 后 成本超支且进度落 后,项目计划失去 控制
成本偏差CV
项目在成本预算控 制之内,并且进度 提前 项目成本超支,但 进度提前
CV>0
CV<0
用挣值分析进行项目成本预测
• 预测项目未来完工成本或时间:
– 假定项目未完工部分按目前的效率的预测方 法
成本预算值
进度预算值
总预算 CPI
SPI
计划完成时间
7
挣值分析举例
挣值分析举例(续)
检查点:第8周
成本差异: 进度差异: 成本绩效指数: 进度绩效指数: 趋势预测 :
CV=BCWPACWP = 5468= 14
SV=BCWPBCWS = 5464= 10 CPI = BCWP/ACWP=54/68 =0.79 SPI = BCWP/BCWS=54/64 = 0.84
软件过程管理复习提纲
过程的定义过程规范软件生命周期的过程需求软件生命周期标准软件过程建模软件过程管理不当--软件危机绝大多数软件企业长期面临“产品质量低下、进度延误、成本高昂”的共性问题,就像患了恶劣的慢性病,难以根除。
1969年,“软件危机”,数十年后,司空见惯,习以为常了。
软件过程管理的目的:最大限度地提高软件产品的质量与软件开发过程的生产率。
过程的定义《牛津简明词典》中,“过程”被定义为活动与操作的集合,例如一系列的生产阶段或操作。
《书氏大词典》定义“过程”是用于产生某结果的一整套操作、一系列的活动、变化以及作为最终结果的功能。
IEEE-Std-610定义“过程”是为完成一个特定的目标而进行的一系列操作步骤,如软件开发过程。
SEI-CMM 定义过程是用于软件开发及维护的一系列活动、方法及实践。
实现、管理和支持过程之间的关系:过程一般可分为实现过程、管理过程、支持过程。
软件过程包括?软件过程(software process),是人们用来开发和维护软件及产品的活动、方法、实践和改进的集合。
软件过程包括?(作业1)需求分析、概要设计、详细设计、编码、测试、……上面几点仅属于基本过程软件过程的分类和组成软件基本过程(实现过程):软件获取、供应、开发、运行和维护的过程,包括需求分析、软件设计、编码等过程。
软件支持过程:包括文档编制过程、配置管理过程、质量保证过程、验证和确认过程(测试过程)、评审过程等。
软件组织过程:对软件主要过程和支持过程的组织保证过程,包括管理过程、基础设施过程、改进过程和培训过程。
软件生存周期过程(简称IEC)工程过程(Engineering Process, ENG)支持过程(Support Process, SUP)管理过程(Management Process, MAN)组织过程(Organization Process, ORG)客户-供应商过程(Customer-supplier Process, CUS)**ISO/IEC15504软件生存周期过程软件过程定义的层次性1)公共(通用)软件过程。
软件过程与管理课程期末复习题
软件过程与软件管理课程复习题解释相关概念或术语 (2)1、软件工程 (2)2.软件过程 (2)3.软件过程工程: (2)4.软件配置管理 (2)5.CMM: (2)CMM中的关键过程域 (3)CMM中的关键实践 (3)CMM中的SEPG (3)6、PSP: (3)7、TSP: (4)8、USDP/RUP (4)9、SWEBOK (4)10、SCM (5)二、简要回答下列问题 (5)一、PSP和TSP中质检过失比(A/FR)是一个重要的质量度量参数。
请简要说明A/FR分别小于1和大于2时对过程的意义。
(5)二、TSP中的SUMQ的作用。
(5)三、在软件配置管理系统中检入与检出是基本功能。
请解释该功能的作用。
(6)四、CMM的主要用途。
(6)五、PSP过程脚本的主要步骤。
(7)六、简要说明“项目计划总结表”在PSP中的作用。
(8)七、CMM中属于管理类别的关键过程域。
(9)八、简要说明PSP中程序规模与生产率的估计过程。
(9)九、软件基线库的要求是建立软件配置管理数据库系统。
请简要给出软件配置管理数据库系统中的主要功能。
(9)十、软件工程过程组与软件工程组的主要区别。
(9)十一、度量与分析在CMM中的作用。
(10)十二、TSP的启动过程主要包括的步骤及其要点。
(10)十三、TSP中小组角色有哪些? (10)十四、在TSP中开发计划需要填写哪些表格? (10)十五、TSP中PDF指标是什么?有何意义? (10)十六、UML中活动图可以用来描述什么? (10)十七、TSP的主要过程。
(10)十八、ROSE的基本功能有哪些 (11)十九、ROSE是否可以支持从USE CASE自动导出类/对象结构? (11)二十、ROSE是否可以支持从类/对象结构自动导出详细代码? (11)三、论述题 (11)1、从PSP的过程框架出发,谈谈PSP带来的益处。
(11)2.从PSP、TSP、CMM所关注的焦点,简要论述PSP、TSP、CMM之间的关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件过程管理期末复习第一章1、软件过程分为五个过程:工程过程,支持过程,管理过程,组织过程,客户—供应商过程2、工程过程包括:系统需求与设计,软件需求分析,软件开发设计,软件设计实施,集成并测试软件,集成并测试系统,系统与软件的维护。
3、支持过程:文档编制,配置管理过程,质量保证过程,验证工作产品,确认工作产品,联合评审,审核,解决问题。
4、软件过程规范:对输入/输出与活动所构成的过程进行明文规定或约定俗成的标准。
过程规范的影响与作用1.消极影响的存在与消除Fred Brooks “创造力来自个人,而不就是组织结构或者过程”2.规范存在的必要性3.过程规范的作用帮助团队实现共同的目标一个规范的软件过程必将能带来稳定的、高水平的过程质量过程规范使软件组织的生产效率更高工程过程就是软件系统、产品的定义、设计、实现以及维护的过程。
开发过程:定义并开发软件产品的活动过程,包括需求分析、软件设计与编程等。
运行过程:在规定的环境中为其用户提供运行计算机系统服务的活动过程,包括软件部署维护过程:提供维护软件产品服务的活动过程,也就就是通过软件的修改、变更,使软件系统保持合适的运行状态,这一过程包括软件产品的移植与退役。
软件支持过程:文档编制、配置管理、质量保证、验证、确认、联合评审、审核、问题解决5、上述相应规范:软件基本过程规范,软件支持过程规范,软件组织过程规范。
6、软件标准最具有代表性的有两类:ISO标准体系与IEEE标准体系。
第二章1、CMM/CMMI的五个等级:初始级,可重复级,已定义级,已管理级,优化级。
2、成熟度等级的行为特征:p381.初始级:具有明显的不成熟过程的特点2.可重复级/受管理级:建立了管理软件项目的方针与实施这些方针的规程,使软件项目的有效管理过程制度化,有能力去跟踪成本、进度与质量。
一个有效过程可特征化为已文档化的、已实施的、可培训的与可测量的软件过程3.已定义级:包含一组协调的、集成的、适度定义的软件工程过程与管理过程,具有良好的文档化、标准化,使软件过程具有可视性、一致性、稳定性与可重复性,软件过程被集成为一个有机的整体4.已管理级:已管理级的软件过程就是量化的管理过程。
在上述已定义级的基础上,可以建立有关软件过程与产品质量的、一致的度量体系,采集详细的数据进行分析,从而对软件产品与过程进行有效的定量控制与管理。
5.优化级:不断改善组织的软件过程能力与项目的过程性能,利用来自过程与来自新思想、新技术的先导性试验的定量反馈信息,使持续过程改进成为可能。
为了预防缺陷出现,组织有办法识别出弱点并预先针对性地加强过程4、框架式软件组织对技术、实践、方法、过程与经验的有序积累,就是知识管理。
5、过程能力并不就是保障成功的唯一因素,影响产品/项目质量的关键因素还包括开发技能与组织管理,这三者相辅相成,缺一不可。
过程文化的类型1.过程至上,奉过程为教条,一切围绕着过程,组织、质量与效率都服从于过程,过程的执行严格,过程结果可靠、稳定,认为生产的“东西”就是过程的一个节点,只就是全局的一部分。
但效率较低,缺乏灵活性、创造性。
2.以过程为焦点,关注过程,强调过程的重要性,但不拘于过程,让过程服从于质量与效率、服从于组织的业务目标……3.过程只能起辅助作用,人决定一切, 过程可能流于形式…、、第三章1、软件工程过程与管理过程都在标准化基础上成为一个有机整体,并帮助项目经理与技术人员更有效地从事开发工作。
2、组织过程焦点的目的就是:建立起软件组织对软件过程活动的责任,包括促进并保持对软件过程的了解、协助、制定、维护、评估以及改进的活动3、作为组织与项目实施的软件过程的先决条件,执行能力一般指:提供资源、分派职责与人员培训。
4、组织过程焦点的执行能力具备如下几点:A、建立一个负责整个组织的软件过程活动的工作组。
B、为软件过程活动提供足够的资源与资金。
C、组织软件过程活动的组员进行培训。
D、软件工程组与其她工程组的组员接受软件过程活动的相关培训5、软件过程体系结构:用户需求,需求,系统设计,详细设计,编码、单元测试,子系统测试,集成测试,系统测试,验收测试。
6、PSP分为哪四个等级?对各个等级进行简单说明。
PSP0目前的过程时间记录缺陷记录缺陷类别标准PSP0.1代码规范规模度量过程改进建议PSP1规模估计测试报告PSP1.1计划任务计划时间表PSP2代码评审设计评审PSP2.1设计模版PSP3周期开发个体度量过程个体计划过程个体质量管理过程个体循环过程第四章P88 基于用例的需求获取过程模型 用户需求P96 需求变更控制需求变更控制策略(1)项目启动阶段的变更预防(2)项目实施阶段的需求变更(3)项目收尾阶段的总结P99 课后习题1.请说明需求的三个层次分别就是什么,并对其进行简要说明业务需求:反映了组织机构或客户对系统、产品的概括的目标要求,它在项目视图与范围文档中予以说明用户需求:文档描述了用户使用系统而完成的任务的集合,用户需求在用户案例文档货方案脚本中予以说明功能需求:定义了开发人员必须实现的软件功能,她源于用户需求2.请阐述需求分析的主要步骤与方法需求分析的目的就是对各种需求信息进行分析,消除错误与刻画细节等。
常用的需求分析方法有“问答分析法”,“结构化分析法”,“面向对象分析法”。
这一阶段分析人员的主要任务就是对用户的需求进行鉴别,综合与建模,清除用户需求的模糊性,歧义性与不一致性,分析系统的数据要求,为原始问题及目标软件建立逻辑建模。
分析人员要将对原始问题的理解与软件开发经验结合起来,以便发现哪些要求就是由于用户的片面性或短期行为所导致的不合理要求,哪些就是用户尚未提出单但有真正价值的潜在需求3.请说明基于用例的需求分析过程用户需求:1、确定执行者2、确定用例功能需求:1、从用户需求阶段获取的所有用例中选择一个具有最高优先级用例2、场景分析3、用例分解4、用例判定5、对生育的用例重复2~4步4.请简要说明需求变更控制的流程与注意事项流程上面的图,注意事项:需求变更时,要提出变更申请,还要由需求变更控制委员会(CCB)对提出的申请进行评估,评估的内容包括需求的重要性、时间与资金等。
评估之后要做出通过与否的决定。
如果CCB确认了提交的变更请求,则将指派某人对原来的需求进行修改,并对其进行验证,最终才实施该需求的变更第五章1、软件过程的技术架构P100 习题p100, 习题1 找不到P100没习题2、过程模型模式包括:面向对象的软件过程开发,面向构件的软件过程开发,软件开发迭代模式,软件开发并行模式。
3、软件开发过程在很大程度上依赖于发现与纠正缺陷的过程,但一旦缺陷被发现之后,软件过程的控制并不能降低大多的成本,更有效的方法就是开展预防缺陷的活动、防止在开发期间引入缺陷。
4、在开发周期的每个阶段实施根本原因分析为有效开展缺陷预防活动提供依据。
5、原因分析的目的在于识别导致缺陷与其她问题的根本原因,在理解已定义过程与实施已定义过程的基础上,确定这些缺陷产生的根源与这些根源存在的程度,从而找出对策、采取措施消除问题的根源。
原因分析与缺陷分析在开发周期的每个阶段实施根本原因分析(root cause analysis),为有效开展缺陷预防活动提供依据。
通过制订原因分析计划、选择缺陷分析数据而找出原因、实施建议措施、评价变更的效果、记录数据等多个环节,最终完成这一活动。
经常使用的工具有:数据库系统、过程建模工具、统计分析包。
6、P109 软件过程的技术流程示意图7、P111开发设计1.系统定义2.设计标准与准则的属性3.设计方法4.产品构件设计5.设计文档9、软件开发过程就是知识传递与知识转换的过程。
10、知识传递包括:纵向传递与横向传递纵向传递就是一个具有很强时间顺序性的接力过程,指软件产品与技术知识从需求分析阶段到设计阶段、从设计阶段到编程阶段、从开发阶段到维护阶段、从产品上一个版本到当前版本的知识传递过程。
横向传递就是指软件产品与技术知识在不同团队之间的传递过程11.知识传递的有效方法:P1191 、重点就是做好人的工作,即在组织过程管理中加强这一环节,包括团队文化的建设、员工的教育与培训等2、需求文档、产品规格说明书等的评审、复审,起着一箭双雕的作用,即就是质量保证的一种措施,也就是一种知识传递的方式3、使用同一的语言来描述领域知识、设计模型与程序实现等,使大家对同样的一个问题有着同样认识,减少知识传递的难度与成本4、建立良好的反馈机制,文档管理系统、知识库与论坛等,都有利于知识的共享与传递12、P124 习题3对于有效的知识传递,有什么具体的最佳实践?创造愉快活跃的团队关系;对团队的适时定期的培训;对新进的员工进行足够的培训,并为每个新人配一个资深的工程师辅导或者帮助这个新人第六章1、版本控制主要分为:版本的访问与同步控制、版本的分支与合并2、P139 项目风险评估项目风险:就是指潜在的预算、进度、人力、资源、客户及需求等方面的问题以及对软件项目的影响。
风险识别作为风险管理的第一步,主要就是识别哪些风险可能影响项目进度并记录具体风险的各方面特征。
为了更好地识别项目风险,可以从下面的两个方面进行考虑:1、项目的前提、假设与制约因素2、可与本项目类比的先例风险估计有几个方面的目的:1、加深对项目自身与环境的理解2、进一步寻找实现项目目标的可行方案3、就是项目所有的不确定性与风险都经过充分、系统而又有条理的考虑4、明确不确定性对项目其她各个方面的影响,估计与比较项目各种方案或行动路线的风险大小,从中选择出威胁最少,机会最多的方案或行动路线风险事件分析方法:1、情景分析2、比率/范围分析3、概率分析4、敏感分析风险识别与风险分析的目的就就是要让决策者能够在问题发生之前就准备好深思熟虑地应对措施。
风险应对总的指导原则就是,参加项目的各方应该尽可能的互相合作以得到有用的风险分担。
对于已经确认的风险通常可做出以下几种反应,保留风险,减小风险,转移风险与避免风险3.P143 制定项目计划项目计划阶段需要解决的问题:怎么做?项目计划必须描述您如何去完成目标。
这包括取得最终结果之前的所有交付,以及完成每个交付所需要完成的工作。
项目里通常还需要包括项目风险,预测哪里会出现问题并提供可能的应对措施什么时候做?吧项目工作排序,估计每项工作需要多少时间完成,确定出阶段交付日期,并最终制定一个日程表。
谁来做?所有的任务都需要人来做,根据技术与能力将人员分配到具体的任务上创建WBS的基本法则每个工作工作单元在WBS只能出现一次概要任务就是对其下所有任务的总结每个WBS的条目都有单独的人员负责与实际要做的工作情形保持一致建立WBS时应让项目组员参予每个WBS条目都应备案WBS既要灵活又要不失控制日程与人员安排:任务排序,时间安排,人员分配第七章1、P153 软件质量方针与计划质量计划的输入因素:质量方针、项目范围陈述、产品说明、标准与规则、其她工作输出质量计划的制定步骤:了解项目的基本概况,收集项目有关资料。