软件项目管理复习资料。
第1章基础篇软件项目管理导论。
1. 软件商品特征:无形性,无损耗性,易复制性。
2.我国软件产业的特点:产业规模继续扩大;产业结构进一步调整;软硬融合趋势明显;出口继续看好,服务外包增强;区域布局日趋集中,中西两地区发展迅速。
3.项目的概念及特点。
概念:项目是人们通过努力运用新的方法,将人力的,材料的,财务的资源组织起来,在给定的费用和时间的约束下,完成一项独立的,一次性的工作任务,以期达到由数量和质量指标所限定的目标。
特点:一次性,明确的目的性,作为管理对象的整体性。(不确定性,不可逆性,临时性)
4.项目的生命周期包括的四个阶段:启动,计划,实施,结束。
5.项目管理的六个要素:范围,时间,成本,质量,组织,客户满意度。
时间,质量,成本这三个要素简称tqc。如果项目在tqc的约束内完成了工作范围内的工作,就可以说项目是成功的。
:国际项目管理协会。
其成员主要以大学,企业,研究机构的专家为主,它开发了一套项目管理知识体系,该知识体系把项目管理分为九个知识领域:集成管理,范围管理,时间管理,成本管理,质量管理,人力资源管理,沟通管理,风险管理和采购管理。
第二篇管理篇。
第二章软件项目需求管理。
1.软件需求质量度量的九个元素:正确性,无歧义,完备性,一致性,分级别,可验证性,可修改性,可跟踪性,可理解性。
2.需求变更的原因:
1)在项目的早期某些问题不可能完全被定义,软件需求是不完备的。这导致随着项目的进行,需求会发生改变,以便达到完备的程度。
2)随着软件项目的进行,软件开发人员对问题的理解会发生变化,这些变化也要反应到需求之中,可能导致需求变更。
3.变更管理过程:
1)变更描述:变更描述阶段始于一个被识别的需求问题或者是一份明确的变更提议。
2)变更分析:在变更分析阶段,要对提议的变更产生的影响进行评估。
3)变更实现:一旦在变更分析阶段得到了肯定的结论,既要接受变更,变更实现阶段开始。
第3章软件项目成本管理。
1.成本管理主要包括那几个方面:软件系统规模估算;软件项目成本估算;软件项目成本预算制定;软件项目成本监控。
2.软件项目成本估算方法:
1)专家判定:求中值和平均值;召开小组会议,delphi方法,wideband delphi方法。
2)类比:把当前项目和以前的类似项目进行比较,通过比较获得其工作量的估算值。
3)自顶向下:从项目的整体出发,既根据将要开发的软件项目的总体特性,结合以前的经验,推算出项目的总体成本和工作量,然后按照比例分配到各个组成部分中。
4)自底向上:把待开发的软件逐步细化,直到能明确工作量,由负责该部分的人给出工作量的估算值,然后把所有部分想加,就得到了软件开发的总工作量。
5)算法模型。
3.软件项目成本估算步骤:建立目标;规划需要的数据和资源;确定软件需求;拟定可行的细节;运用多种独立的技术和原始资料;比较并迭代各个估算值;随访跟踪。
4.成本管理常见问题:
1)项目成本估算不准确。
2)预算不详细。
3)成本预算变更不及时。
5.赢得值分析法(重点)
bcws:预算累计计划成本 acws:预算累计实际成本。
bcwp: 已完成工作量的预算值 acwp:已完成工作量的实际值。
绝对指标cev=bcwp —acwp 为负值表示超出成本,为正值表示有结余。
成本绩效指数cpi=bcwp/acwp cpi<1表示有结余 >1表示超支。
成本差异cv=bcwp-acwp, cv>0表示结余 cv<0表示超支。
进度差异sv=bcwp- bcws ,sv>0表示进度提前sv<0表示进度延误。
进度执行指数spi=bcwp/bcws,spi>1表示提前完成spi<1表示进度延误。
成本进度偏差csv=bcws-acwp
第4章软件项目进度管理。
1.时间管理原则。
1)区分重要和紧急关头。
2)适当运动二八定律(pareto原则)
3)合理预算。
4)有限反应。
5)果断决策。
6)大胆完整的授权。
7)例外管理。
8)效能与效率。
9)活动与效果。
2.确定活动之间的关系,对指定计划有很重要的影响。常见的关系有:
1)强制依赖关系,项目工作固有的特性,被称为硬逻辑关系。
2)自由依赖关系,由项目组定义的依赖关系,称为软逻辑关系。
3)外部依赖关系,项目与非项目活动之间的关系。
3.关键路径法(cpm)和计划评审技术(pert)都采用网络图来表示项目的任务,二者的相似点是:
cpm根据活动的依赖关系和确定的持续时间估算,计算项目的最早和最晚开始时间,最早和最晚结束时间以及时差,并确定关键线路。
pert利用活动的依赖关系和活动持续时间的三个权重估计值来计算项目的各种时间参数。
二者的区别有:中各项目持续的时间是不确定的,使用三个估计值的加权平均和概率方法进行估算,而cpm假设每项活动持续时间是确定值。
不仅考虑时间,还考虑费用,重点在于费用和成本的控制;而pert主要用于含有大量不确定性因素的大规模开发研究项目,重点在于时间控制。
4.工期估算可以采取哪几种方法:
1)专家评审形式,由有经验,有能力的人员进行分析和评估。
2)模拟估算,使用以前类似的活动作为未来活动工期的估算基础,计算评估工期。
3)定量型的基础工程。
4)保留时间。工期估算中预留一定比例作为冗余时间以应付项目风险。随着项目进展,冗余时间可以逐步减少。、
第5章软件项目风险管理。
1.风险的定义和属性:我们把风险定义为损失的可能性,这表示它有二大属性,可能性和损失。
2.造成损失是风险最为本质的一个特征。
3.风险管理的过程就是将一些不确定性因素加以辨别,分析,并进而转化为可接受的风险。
4.风险识别的依据:
1)项目计划,为风险预估提供基础。
2)历史经验,并不是所有的经验都实用,有时候经验反而会束缚项目的发展。
3)外部制度制约,如国家相关制度,劳动力问题,通货膨胀问题。。。
4)项目内部的不确定性。
5.风险识别的方法和技术。
1)核对清单,也可采用卡内基。梅隆软件工程研究所(cmu/sei)推荐的软件风险分类系统或者项目wbs作为核对清单。
2)头脑风暴法,会议负责人召集项目组所有人员参加会议,进行关于项目风险的自由讨论。
3)匿名风险报告机制,其对于识别与跟踪项目风险有良好的效果。
4)delphi法,不记名专家估算,可提问,但是相互之间不能讨论。
5)swot分析法,主要是分析项目内部优势,弱势,项目外部机会以及威胁等方面的代名词。
6.风险分析的过程及步骤:
1)定义风险度量准则,度量准则包括:可能性,后果和行动时间框架。
2)**风险影响:风险影响=风险发生可能性*风险后果。
3)评估风险:风险影响和行动时间决定了风险的相对严重程度。利用风险的严重程度可以判定其优先级别。此步骤主要目的在于找出最严重的问题。
4)风险排序:能更高效的处理风险,从而将影响减低到最小。
5)制定风险计划:风险计划是实施风险应对措施的依据和前提。其中包括确定风险设想,选择风险应对途径,设定风险阀值三个主要内容。其中阀值用于定义风险发生的开端。
7.风险分析技巧和方法:
1)因果关系分析法,用于揭示结果和原因之间的联系,以便追根述源,找出风险的原因。常用的有鱼骨法和5w法。
2)决策分析法,用于构建决策,用决策模型来代表真实世界里的问题。
3)差距分析法,差距分析法用于确定变量的差距。
4)pareto分析法,根据二八定律,所有项目风险的百分之80能够通过百分之20的已识别风险来说明。
5)敏感度分析法,通过改变每一个输入变量,其他变量保持正常值,来帮助确定模型对输入变量的敏感度。
8.风险的应对策略:
1)避免。2)转移,在处理财务方面问题时最为有效。
3)缓解。4)接受。
5)研究。6)储备。
7)退避。第6章软件项目配置管理。
1.软件过程中经常遇到的变更问题:
1)更新换代。
2)技术缺失。
3)资金。4)人员。
2.配置管理是在系统生命周期中对系统中的配置项进行标示和定义的过程。
3.软件配置管理是识别,定义系统中的配置项,在软件生命周期中控制它们的变更,记录并报告配置项和变更请求的状态,并验证它们的(完整性)和(正确性)的一个过程。
4.配置管理策划主要是确定团队明确过程及方法及如何进行各项活动。
5.软件配置管理有四个主要功能:配置标识,配置控制,配置状态报告,配置审核。
6.典型的变更控制流程包括变更请求,变更验证,变更评审,变更实施及核实变更结果等步骤。
7.配置审核的种类。
1)过程审核,目的是验证整个开发过程中的一致性。
2)功能审核,目的是验证功能和性能与软件需求规格说明中定义的需求的一致性。
3)物理审核,目的是验证已完成的版本和文档内部的一致性并准备交付。
4)质量系统审核,目的是独立评估是否符合软件质量保证计划。
第7章软件项目资源管理。
定律:向一个已经拖延的项目追加新的开发人员,可能会使这个项目完成的更晚。
2.人力资源的获取:是项目团队组建的关键。
在选拔成员时,成员的**渠道有3种,首先是在组织内部选拔合适的人选,其次是通过招聘吸收新成员。第三是通过熟悉的人员介绍,引进所需要的中高技术人才。
3.在项目成员中,项目经理是确保成功的关键,因此无论通过何种形式获取项目成员,在任命项目经理时需注意,其应该具备以下几项基本素质:
1)良好的交流沟通能力。
2)良好的文档能力。
3)解决冲突的能力和项目实践的经验。
4.软件资源管理中有许多曾经积累或者使用过的软件,我们称为可复用软件。可复用软件包括源**,软件开发方法,需求规格说明,设计结构,开发工具,支撑环境,测试分析数据和维护信息等。
5.软件资源的主要复用方式有以下几种。
1)源**的复用,属于最低级的复用,缺点是程序员需要花费大量时间和精力读懂源**,另一个是程序员经常会在复用的时候因为不适当的更改源**而导致错误的结果。
2)目标**复用,目前用的最多的一种方式。但是它会受限于编程语言,最大的缺点是没有办法和数据结合在一起、
3)设计结果复用,是对某个应用系统的设计模型的复用。
4)分析结果复用。
5)类模块复用,是随着面向对象技术的发展而产生的复用技术。它与库函数有着本质的区别,主要表现在:独立性高,高度可塑性,接口清晰,简明,类具有封装性。
6.软件复用的粒度。
1)小粒度复用,既小规模复用,主要表现为函数,子程序,面向对象中的类,方法的复用。
2)中粒度复用,中等规模复用,如软件设计结果的复用。
3)大粒度复用,大规模复用,如应用于系统的复用。复用对象是独立开发的应用程序或者是子系统。
第8章软件项目质量管理。
1.国际标准化组织和国际电工委员会2023年制定了软件质量标准,规定了软件质量可以用六个标准来评价:功能性,可靠性,易用性,效率,可维护性,可移植性。
软件项目管理复习
一 填空题。1 项目管理学科发展的三个特点是 全球化 多元化和专业化 2 需求工程的发展趋势是对象化 形式化和自动化。3 需求工程可分为需求开发和需求管理。4 评审有两类方式 一类是正式技术评审 同行评审 另一类是非正式技术评审。5 软件项目估算包括工作量的估算和成本估算两个方面。6 对于规模较大的...
软件项目管理复习
1 scm的目标与定义。答 scm的目标 1 标志变更 2 已标志的软件工作产品的变更是受控制的 3 确保变更正确实现 4 向受影响的组织和个人报告变更。定义 对产品进行标识 存储和控制,以维护其完整性 可追溯性和一致性,是开发和维护各个阶段管理软件演进过程的一种方法和规程。2 确定变更是否变化有哪...
软件项目管理复习
1 scm的目标与定义。答 scm的目标 1 标志变更 2 已标志的软件工作产品的变更是受控制的 3 确保变更正确实现 4 向受影响的组织和个人报告变更。定义 对产品进行标识 存储和控制,以维护其完整性 可追溯性和一致性,是开发和维护各个阶段管理软件演进过程的一种方法和规程。2 确定变更是否变化有哪...