12. 项目管理
作者:Gakki
考点(分值:3 分)
- 进度管理(2 分)
- 质量管理
- 风险管理
1、进度管理
-
进度管理就是采用科学的方法,确定进度目标,编制进度计划和资源供应计划,进行进度控制,在与质量、成本目标协调的基础上,
实现工期目标。 -
具体来说,包括以下过程:
(1)活动定义:确定完成项目各项可交付成果而需要开展的具体活动。
(2)活动排序:识别和记录各项活动之间的先后关系和逻辑关系。
(3)活动资源估算:估算完成各项活动所需要的资源类型和数量。
(4)活动历时估算:估算完成各项活动所需要的具体时间。
(5)进度计划编制:分析活动顺序、活动持续时间、资源要求和进度制约因素,制订项目进度计划。
(6)进度控制:根据进度计划开展项目活动,如果发现偏差,则分析原因或进行调整。 -
进行
活动资源估算的方法主要有专家判断法、替换方案的确定、公开的估算数据、估算软件和自下而上的估算。- 专家判断法。专家判断法通常是由
项目成本管理专家根据以往类似项目的经验和对本项目的判断,经过周密思考,进行合理预测,从而估算出项目资源。进行预测的专家可以是任何具有专门知识或经过特别培训的组织和个人。 - 替换方案确定。资源估算是为了给项目预算明确空间,为早期的资源筹备提供数据,如果某项活动
存在替代方案,或提供的资源有替代支持可能,则需要明确声明。 - 公开的估算数据。有些公司会
定期地公开一些生产率或人工费率数据,其中包括很多国家和地区的劳动力交易、材料和设备信息。这些数据可以作为资源估算的参考。 - 估算软件。依靠软件的强大功能,可以定义资源可用性、费率,以及不同的资源日历。
- 自下而上的估算。把复杂的活动
分解为更小的工作,以便于资源估算。将每项工作所需要的资源估算出来,然后汇总即是整个活动所需要的资源数量。
- 专家判断法。专家判断法通常是由
-
COCOMO 模型:常见的软件规模估算方法。常用的
代码行分析方法作为其中一种度量估算单位,以代码行数估算出每个程序员工作量,累加得软件成本。模型按其详细程度可以分为三级:-
基本 COCOMO 模型:是一个静态单变量模型,它用一个已估算出来的原代码行数(LOC)为自变量的经验函数计算软件开发工作量。 -
中间 COCOMO 模型:在基本 COCOMO 模型的基础上,再用涉及产品、硬件、人员、项目等方面的影响因素调整工作量的估算。 -
详细 COCOMO 模型:在中间 COCOMO 模型的所有特性,将软件系统模型分为系统、子系统和模块3 个层次,更进一步考虑了软件工程中每一步骤(如分析、设计)的影响。
-
-
COCOMO Ⅱ 模型:COCOMO 的升级,也是以软件规模作为成本的主要因素,考虑多个成本驱动因子。该方法包括三个阶段性模型,即
应用组装模型、早期设计设计模型和体系结构阶段模型。包含三种不同规模估算选择:对象点、功能点和代码行。 -
进度安排的常用图形描述方法有 Gantt 图(甘特图)和项目计划评审计划( Program Evaluation & Review Technique,PERT)图。
Gantt 图 与 PERT 图
注:甘特图反应任务之间的并行关系!PERT 图表示活动的持续时间,不反应并行关系,但是反应了任务之间的依赖关系!
-
工具与技术 —— 关键路径法(必考:2 分)
-
关键路径:是项目的
最短工期,但却是从开始到结束时间最长的路径。进度网络图中可能有多条关键路径,因为活动会变化,因此关键路径也在不断变化中。(就是最长的那条路径) -
关键活动:关键路径上的活动,最早开始时间=最晚开始时间。通常,每个节点的活动会有如下几个时间:
-
最早开始时间(ES),某项活动能够开始的最早时间。 -
最早结束时间(EF),某项活动能够完成的最早时间。EF=ES+工期 -
最迟结束时间(LF)。为了使项目按时完成,某项活动必须完成的最迟时间 -
最迟开始时间(LS)。为了使项目按时完成,某项活动必须开始的最迟时间。LS=LF-工期。
-
-
这几个时间通常作为每个节点的组成部分,如图所示:
顺推:最早开始ES=所有前置活动最早完成EF的最大值;最早完成EF=最早开始ES+持续时间。逆推:最晚完成LF=所有后续活动最晚开始LS的最小值;最晚开始LS=最晚完成LF持续事件。- 顺推取最大,逆推取最小。
如图所示
- 总浮动时间:在
不延误项目完工时间且不违反进度制约因素的前提下,活动可以从最早开始时间推迟或拖延的时间量,就是该活动的进度灵活性。正常情况下,关键活动的总浮动时间为零。(针对路径) - 总浮动时间=
最迟开始LS-最早开始ES或最迟完成LF-最早完成EF或关键路径-非关键路径时长。 - 自由浮动时间:是指在
不延误任何紧后活动的最早开始时间且不违反进度制约因素的前提下,活动可以从最早开始时间推迟或拖延的时间量。(针对活动) - 自由浮动时间=
紧后活动最早开始时间的最小值-本活动的最早完成时间。
2、质量管理
- 质量是
软件产品特性的综合,表示软件产品满足明确(基本需求)或隐含(期望需求)要求的能力。 - 质量管理是指确定质量方针、目标和职责,并通过质量体系中的质量计划、质量控制、质量保证和质量改进来使其实现所有管理职能的全部活动。
- 主要包括以下过程:
- 质量规划:识别项目及其产品的质量要求和标准,并书面描述项目将如何达到这些要求和标准的过程。
- 质量保证:一般是每隔一定时间(例如:每个阶段末)进行的,主要通过系统的
质量审计(软件评审)和过程分析来保证项目的质量。
3.质量控制:实时监控项目的具体结果,以判断它们是否符合相关质量标准,制订有效方案,以消除产生质量问题的原因。
信息技术软件产品评价质量特性及其使用指南 GB/T 16260-2002。
软件质量标准
注意:6大特性,每个大特性下包含21个子特性!理解记忆吧,考试会考的!
2.2、McCall质量模型
- McCall质量模型
McCall质量模型
2.3、软件评审
-
质量两个必要条件:
设计的规格说明书符合用户标准,称为设计质量。程序按照设计规格说明书所规定的情况正确执行,称为程序质量。
-
软件容错技术:容错就是软件遇到错误的处理能力,实现容错的手段主要是冗余,包括下面四种冗余技术:
- 结构冗余:分为
静态、动态、混合冗余三种,当错误发生时对错误进行备份处理。 - 信息冗余:为检错和纠错在数据中
加上一段额外的信息,例如校验码原理。 - 时间冗余:
遇到错误时重复执行,例如回滚,重复执行还有错,则转入错误处理逻辑。 - 冗余附加技术:是指为实现结构、信息和时间冗余技术
所需的资源和技术,包括程序、指令、数据、存放和调动它们的空间和通道等。
- 结构冗余:分为
3、风险管理
-
风险管理就是要对项目风险进行认真的分析和科学的管理,这样,是
能够避开不利条件、少受损失、取得预期的结果并实现项目目标的,能够争取避免风险的发生或尽量减小风险发生后的影响。但是,完全避开或消除风险,或者只享受权益而不承担风险是不可能的。 -
风险管理计划编制:如何安排与实施项目的风险管理,制定下列各步的计划。 -
风险识别:识别出项目中已知和可预测的风险,确定风险的来源、产生的条件、描述风险的特征以及哪些项目可以产生风险,形成一个风险列表。 -
风险定性分析:对已经识别的风险进行排序,确定风险可能性与影响、确定风险优先级、确定风险类型。 -
风险定量分析:进一步了解风险发生的可能性具体由多大,后果具体由多严重。包括灵敏度分析、期望货币价值分析、决策树分析、蒙特卡罗模拟。 -
风险应对计划编制:对每一个识别出来的风险来分别制定应对措施,这些措施组成的文档称为风险应对计划。包括消极风险(避免策略、转移策略、减轻策略);积极风险(开拓、分享、强大) -
风险监控:监控风险计划的执行,检测残余风险,识别新的风险,保证风险计划的执行,并评价这些计划对减少风险的有效性。 -
项目风险:作用于项目上的
不确定的事件或条件,既可能产生威胁,也可能带来机会。 -
通过积极和合理的规划,
超过90%的风险都可以进行提前应对和管理。 -
风险应该
尽早识别出来,高层次风险应记录在章程里。 -
应由
对风险最有控制力的一方承担相应的风险。 -
承担风险程度与所得回报相匹配原则,承担的风险要有上限。 -
风险的属性:
- 随机性:风险事件
发生及其后果都具有偶然性(双重偶然)遵循一定的统计规律。 - 相对性:风险是
相对项目活动主体而言的。承受力不同,影响不同。风险承受力影响因素:收益大小(收益越大,越愿意承(担风险)投入大小(投入越大,承受能力越小);主体的地位和资源(级别高的人能承担较大的风险) - 风险的可变性:
条件变化,会引起风险变化。包括性质、后果的变化,以及出现新风险。
- 随机性:风险事件
-
风险的分类:(了解)
- 按照
后果的不同,风险可划分为纯粹风险(无任何收益)和投机风险(可能带来收益)。 - 按
风险来源划分,自然风险(天灾)和人为风险(人的活动,又可分为行为风险、经济风险、技术风险、政治和组织风险等)。 - 按
是否可管理划分,可管理(如内部多数风险)和不可管理(如外部政策),也要看主体管理水平。 - 按
影响范围划分,局部风险(非关键路径活动延误)和总体风险(关键路径活动延误)。 - 按
后果承担者划分:业主、政府、承包商、投资方、设计单位、监理单位、保险公司等。 - 按
可预测性划分:已知风险(已知的进度风险)、可预测风险(可能服务器故障)、不可预测风险(地震、洪水、政策变化等)。
- 按照
注意:以下的项目风险(项目风险,技术风险,商业风险)需要记忆,考试会考!
-
在信息系统项目中,从宏观上来看,风险可以分为
项目风险、技术风险和商业风险。 -
项目风险是指潜在的预算、进度、个人(包括人员和组织)、资源、用户和需求方面的问题,以及它们对项目的影响。项目复杂性、规模和结构的不确定性也构成项目的(估算)风险因素。项目风险威助到项目计划,一旦项目风险成为现实,可能会拖延项目进度,增加项目的成本。 -
技术风险是指潜在的
设计、实现、接口、测试和维护方面的问题。此外,规格说明的多义性、技术上的不确定性、技术陈旧、最新技术(不成熟)也是风险因素。技术风险威胁到待开发系统的质量和预定的交付时间。如果技术风险成为现实,开发工作可能会变得很困难或根本不可能。 -
商业风险
威胁到待开发系统的生存能力,主要有以下5种不同的商业风险:- 市场风险。开发的系统虽然很优秀但不是市场真正所想要的。
- 策略风险。开发的系统不再符合企业的信息系统战略。
- 销售风险。开发了销售部门不清楚如何推销的系统。
- 管理风险。由于重点转移或人员变动而失去上级管理部门的支持。
- 预算风险。开发过程没有得到预算或人员的保证。