Project Planning:SE"/>
Chapter23:Project Planning:SE
文章目录
- Chapter23:Project Planning
- 23.1 brief
- 23.2 Project scheduling 项目进度安排
- 23.2.1 The project planning process
- 23.2.2 Schedule representation 展示
- 23.3 Software pricing 项目成本估算
- 23.3.1 两种估算方法
- 23.3.2 Algorithmic cost modelling 算数模型
- 23.3.3 常见的成本估算模型:COCOMO 2
- 23.3.4 一些解释
- 23.3.5 Project duration and staffing
Chapter23:Project Planning
主要掌握 Bar Chart、COCOMO 模型
23.1 brief
-
关注两个问题:(1)项目进度安排、(2)项目成本估算。
-
What is Project Planning?
把工作分成若干部分,分配给项目组成员;并且预测可能出现的问题以及对应的解决方案。
可能需要一个概要性的软件需求。
为 setting a price for the system to customers 提供参考信息.
-
What a project plan sets out ?
项目计划列出了:可用资源、分解任务、工作进度安排
《计划书》分成了若干个部分:
-
其他的 Plan:
23.2 Project scheduling 项目进度安排
23.2.1 The project planning process
-
The project planning process
(1)识别限制、识别风险、定义里程碑和可交付的内容。(2)定义进度安排。
(3)进行相应的开发工作、以及管控
-
Project scheduling
1)Project scheduling 决定如何组织工作在一个项目中作为单独的任务,当和如何执行这些任务。
2)你估算每个任务需要完成的时间 estimate the calendar time,所需要的努力,以及谁来完成已经确定的任务。
3)你还必须估计完成每项任务所需的资源 estimate the resources ,如服务器上所需的磁盘空间、专用硬件(如模拟器)上所需的时间,以及旅行预算。
-
Milestones and deliverables
里程碑:能评价项目的一些点,比如系统交付的测试点。
交付物:向客户进行交付的工作产品。
23.2.2 Schedule representation 展示
-
Schedule representation
项目进度安排:一般会用图形来表示,Graphical notations
Bar charts (甘特图、条形图),通用的,表示项目进度安排的图形。
-
在做甘特图之前,先给出这样一张表
描述了:任务、每个任务需要的时间、彼此之间的依赖关系。
23.3 Software pricing 项目成本估算
23.3.1 两种估算方法
-
软件的成本估算问题
-
Estimation techniques
对软件的工作量、成本,进行估算,有两大类型的方法:
1)基于经验的方法。【基于管理者以前从事的项目经验来估算,邀请一些有经验的老手,然后综合一下他们的预测结果】2)算术模型。【采用公式的方法进行成本估算,利用了项目的属性,比如规模、开发特性、人员经验】
我们这里主要介绍第二种方法。
23.3.2 Algorithmic cost modelling 算数模型
-
Algorithmic cost modelling
A是一个常数,依赖于组织机构B是一个指数因子,和项目大小有关,但不是成比例的。
M是一个乘积因子,反应了产品过程和参与开发人员的一些属性。
Size是代码量Code Size,可以用(千代码行、功能点、对象点等)
这是一个通用的模型,但是在估算的时候,可能会采用不同的 A/B/M的值。
-
估算准确性(影响成本估算结果的因子):
-
随着阶段的推进,估算越发精确:
横轴:代表软件开发的的递进过程。
纵轴:x 代表最终的成本值。
23.3.3 常见的成本估算模型:COCOMO 2
-
常见的成本估算模型:COCOMO 2 Model
COCOMO是:构造性成本模型的缩写。(1981年第一代 COCOMO 81,现在落伍了)
COCOMO 2 Model又有4种子类型。(*下图建议听ppt)
-
【子类型一】:Application composition model 的计算公式
采用:应用点、对象点,来计算软件的工作量。PM:Person-Months
NAP:Number of Application Point
PROD:productivity(生产率,即:每月能产生的application points)
这个公式考虑了复用的代码,
开发者的经验、能力,和 PROD 之间的关系
所以不同经验的人,成本估算的效率准确度会相差很大。 -
【子类型二】:Early design model
在需求已经完成的情况下,进行成本估算。
这公式就是通用公式的模板,我们要确认的就是A,B,MA有一个初始值2.94,B有范围1.1~1.24, Size的单位是千行源代码(通常指的是以机器语言的代码行数,会有一个换算公式,将高级语言–>机器语言),M是由7个乘积因子相乘得到的。
-
【子类型三】:The resue model
复用代码,可以是黑盒,也可以是白盒。
如果是白盒复用的话,代表有复用的代码里,有些部分需要修改。
采用2步进行估算第一步:我们先算出来,等价的,新代码的行数ESLOC。
ASLOC代表自动生成的新代码的行数;
AT:自动生成代码的百分比
AAM:调整系数,一方面要考虑到修改复用代码的代价,还有理解如何集成复用代码
第二步:计算 Effort
-
【子类型四】:Post-architecture model
和 early model 的对比:1)公式是一样的。
2)乘积因子 M 的组成不一样。early model 里, M 由 7 个相关值乘积得出,现在变成 17 个。
要开发的新代码的行数
Code Size 依据三点进行估算。
23.3.4 一些解释
-
公式中的指数项:B
B 主要取决于 5 个 规模因子【项目是不是新的?客户是否参与其中?风险分析?团队合作能力?
过程成熟度?】,对这5个因子求和,除100,再加1.01,得到B。举个例子看看
-
M 的17个属性值值可以分为4个方面
Product attributes . Computer attributes . Personnel attributes . Project attributes .
举个例子:
23.3.5 Project duration and staffing
在我们计算完工作量,即:person-month的时候,我们就可以估算出一个 calendar time,即,预计的完成工期 TEDV。这个 TEDV 和 项目开发的人数 没有特别大的联系,因为软件的项目开发,不是单纯的靠人多堆出来的,因为人多了之后沟通成本等也会增加。
更多推荐
Chapter23:Project Planning:SE
发布评论