一、项目
项目是一段时间内为了创造某种独特产品或服务而采取的一种努力。 项目管理是通过项目经理和项目组织的努力,运用系统理论的方法对项目及其资源进行计划、组织、协调、控制,旨在实现项目的特定目标的管理方法体。
关注点(4P):人员(People)—— 产品(Product) ——过程(Process) ——项目(Project)
二、项目计划
项目计划实际上是一个对项目规模、工作量、成本、进度等方面的估算,同时将人员、时间、计算机资源等各类资源统筹安排,对项目的成功起到非常重要的作用。
三、软件估算
软件估算是指以准确的调查资料和项目信息为依据,从估算对象的历史、现状及其规律性出发,运用科学的方法,测定估算对象的规模、所需工作量和成本。
1、估算内容:软件规模、工作量、进度。
2、估算方法:基于分解技术的估算和基于经验模型的估算两大类。
- 第一类的常见方法有:功能点法、代码行法(LOC,Line of Code)等
- 第二类的常见方法有:Delphi估算法、微软的由底而上估算法等
(1)功能点【FP】估算法(IBM法)
FP =UFC*TCF
FP:功能点
UFC:未调整功能点计数
TCF:技术复杂度因子
【复杂度权重因】
项 简单 一般 复杂
外部输入 3 4 6
外部输出 4 5 7
外部查询 3 4 6
外部文件 5 7 10
内部文件 7 10 15
【功能点】
项 简单 一般 复杂
外部输入 6 * 3 2 * 4 3 * 6
外部输出 7 * 4 7 * 5 0 * 7
外部查询 0 * 3 2 * 4 4 * 6
外部文件 5 * 5 2 * 7 3 * 10
内部文件 9 * 7 0 * 10 2 * 15
总计UFC 301
TCF=0.65+0.01(sum(Fi)): Fi:0-5,TCF:0.65-1.35
【技术复杂度因子】
F1 可靠的备份和恢复 F2 数据通信
F3 分布式函数 F4 性能
F5 大量使用的配置 F6 联机数据输入
F7 操作简单性 F8 在线升级
F9 复杂界面 F10 复杂数据处理
F11 重复使用性 F12 安装简易性
F13 多重站点 F14 易于修改
【技术复杂度因子的取值范围】
0-不存在或者没有的影响
1-不显著的影响
2-相当的影响
3-平均的影响
4-显著的影响
5-强大的影响
FP=UFC*TCF
UFC=301
TCF=0.65+0.01(14*3)=1.07
FP=301*1.07=322
(2)Dephi估算法
【工作分解WBS】
在项目计划的开始,第一步是要决定哪些任务需要完成。这个工作可以通过一种叫做工作分解结构(Work Breakdown Structure,WBS)的机制进行展开,其中将任务按照层次的结构由上到下逐步进行分解。
每项工作任务同时也给出了对应的工作量,使用单位“人天(PD)”表示。
对每项工作包应存在两个评估值——期望的工作量和为潜在问题预留的缓冲量。
- 资深专家对项目进行WBS
- 各自估计每条工作项的工作量,向他人阐述理由。
- 如果差异比较大,听取意见后,重新估算。
- 如此反复估算2-4次,工作量会越来越趋近,取平均值。
四、软件开发进度管理
软件的开发进度计划绘制图有两种常用的就是:Gantt图、PERT图
1、Gantt图
Gantt图形象地描绘了任务的分解,及每个作业的开始和结束时间,优点是直观简明、容易掌握和绘制,但有三个缺点:
(1)不能显示地描绘各项作业间的依赖关系;
(2)进度的关键部分不明确,难以判断哪些部分是主攻和主控的对象;
(3)计划中有潜力的部分及潜力的大小不明确,往往造成潜力的浪费。
2、PERT图
网络计划技术可以有效解决甘特图存留的问题。目前应用比较广泛的两种计划方法是关键路径法(Critical Path Method,简称CPM)、计划评审技术(Program Evaluation and Review Technique,简称PERT)。
圆圈 | 表示事件(一项作业的开始或结束) | ||||
箭头 | 表示作业。箭头进入表示此作业结束,箭头离开表示此作业的开始 | ||||
实线箭头 | 表示具体存在的作业 | ||||
虚线箭头 | 表示虚拟作业,只为了表示作业之间的依赖关系。 | ||||
最早时刻(EET)
| |||||
最迟时刻(LET)
| |||||
机动时间=(LET)结束-(EET)开始-持续时间 | |||||
关键路径(CPM)——耗时最长的路径
|