软件项目管理(四)

上一篇介绍了软件项目的需求分析和任务分解,即软件项目的范围计划,那么对于一个软件项目来说,我们还需要知道它需要多少时间多少成本,如何得到这些数据就是这次要解决的问题,即项目的成本计划
在这里插入图片描述
在项目未完成之前谁也不能准确地得到项目所需要的成本,但是却可以通过估算得到大致的成本

对于软件项目估算来说:估算不是很准确,有误差;不要太迷信某些数学模型;项目经验数据非常重要

软件项目成本由软件项目规模决定,软件项目规模即工作量,一般的单位有LOC(lines of code有效代码行数)、FP(function point系统功能数量)、人月、人天、人年…

软件项目成本包括:完成软件规模相应付出的代价、待开发的软件项目需要的资金、人的劳动所消耗付出的成本是软件产品的主要成本、货币单位

估算的基本方法:
代码行估算法:从软件程序量的角度定义软件项目的规模

功能点估算法:与现实的技术语言没有关系,从系统的功能数量来测量其规模,通过评估、量化、加权得出功能点。功能点计算公式:FP=UFCTCF(UFC:未调整功能点计数。TCF:技术复杂度因子。)UFC包括:外部输入、外部输出、内部逻辑文件、外部接口文件、外部查询
用例点估算法:UCP =UUCP×TCF×ECF UUCP=UAW+UUCW (UCP: UUCP: 计算为调整的用例点 UAW: 计算未调整的角色的权值 UUCW:计算未调整的用例的权值 TCF:计算技术因子 ECF:计算环境因子)
类比 (自顶向下)估算法:估算人员根据以往项目的总成本来推算将要开发的项目的总成本。 适用情况:有类似的历史数据、信心不足的时候、要求不是非常精确估算的时候。
自下而上估算法:利用任务分解图(wbs),对各个具体工作包进行详细的成本估算,然后把成本加起来,得到总的项目成本。 相对比较准确,但是花费时间。
参数估算法:通过项目数据,进行回归分析,得出回归模型,根据参数模型估算成本。使用条件:存在成熟的项目估算模型、有良好的项目数据作为基础。 整体公式 E=a+b
S^c (E:以人月表示的工作量 a,b,c:经验导出的系数 S:主要的输入参数(通常是LOC,FP等))

专家估算法:由多位专家进行估算,综合得到估算值。

敏捷项目估算:story point,故事点用来度量一个story需要付出的工作成本。
成本预算:成本预算是将项目的总成本按照项目的进度分摊到各个工作单元中去。成本预算的目的是产生基线。

分配项目成本预算包括三种情况:给任务分配固定资源成本、给任务分配固定成本、给任务分配资源成本

给任务分配资源成本:与资源的基本费率紧密相连,设置资源费率

给任务分配固定资源成本:当一个项目的资源需要固定数量的资金时,可以向任务分配固定资源成本。例如:项目中的一个兼职人员成本

给任务分配固定成本:有些任务是固定成本的类型的任务,也就是说,管理者知道某项任务的成本不变,不管任务的工期有多长,或不管任务使用了那些资源。在这种情况下,管理者向任务直接分配成本。例如:某外包任务、培训任务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js中的时间与毫秒数互相转换

【1】js毫秒时间转换成日期时间var oldTime (new Date("2012/12/25 20:11:11")).getTime(); //得到毫秒数 //不是上面格式的时间需要转换//starttime 2012-12-25 20:17:24;starttime starttime.replace(new RegExp("-","gm"),"/");…

Spring Cloud Sleuth 中id的使用

Spring Cloud Sleuth采用的是Google的开源项目Dapper的专业术语。 Span:基本工作单元,发送一个远程调度任务 就会产生一个Span,Span是一个64位ID唯一标识的,Trace是用另一个64位ID唯一标识的,Span还有其他数据信息&…

软件项目管理(五)

在get到成本计划后,我们便要着手开始对项目的进度进行计划,即这次的核心计划之一进度计划。 进度计划的重要性:按时完成项目是项目经理最大的挑战之一,时间是项目规划中灵活性最小的因素,进度问题是项目冲突的主要原因…

BZOJ2301: [HAOI2011]Problem b(莫比乌斯反演)

Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) k,gcd(x,y)函数为x和y的最大公约数。Input 第一行一个整数n,接下来n行每行五个整数,分别表示a、b、c…

Js正则表达式数字或者带小数点的数字

function chk() {var patrn /^\d(\.\d)?$/;var result true;$("input[typetext]").each(function () {if (!patrn.exec(this.value)) {alert("请输入正确的数字!");result false;}})return result;}转载于:https://www.cnblogs.com/smzd/p/…

FastJson/spring boot: json输出

1.引入FastJson依赖包 <!-- FastJson --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.15</version></dependency>pom.xml参考 <project xmlns"http://maven.apa…

safari 调试iPhone web页面

safari设置-打开Safari偏好者设置&#xff0c;选中“高级菜单”&#xff0c;在页面最下方看到“在菜单中显示开发菜单”的复选框&#xff0c;在复选框内打钩&#xff0c;这样设置完毕就能在Safari菜单中看到开发菜单了iPhone 设置-打开iPhone手机设置app 选择Safari&#xff0c…

new函数

使用new函数是另一种创建变量的方式。创建一个未命名的T类型变量&#xff0c;初始化为T类型的零值&#xff0c;并返回其地址。例如&#xff1a; p : new(int)使用new函数创建变量和取其地址的普通局部变量没有不同&#xff0c;只是不需要引入声明时的一个名字&#xff0c;有语法…

软件项目管理

目 录 前言 2 如何做业务调研&#xff1f; 2.1 调研工作如何组织&#xff1f; 2.2 调研准备阶段容易犯哪些错误&#xff1f; 2.3 调研准备阶段容易犯哪些错误&#xff1f;) 2.4 调研准备阶段容易犯哪些错误&#xff1f; 2.5 现场调研阶段容易犯哪些错误&#xff1f; 2.…

Python 列表元组字典集合

列表&#xff08;list&#xff09; 有序性&#xff0c;可存储任意类型的值通过偏移存取&#xff0c;支持索引来读取元素&#xff0c;第一个索引为0 &#xff0c;倒数第一个索引为-1可变性 &#xff0c;支持切片、合并、删除等操作可通过索引来向指定位置插入元素可通过pop()方法…

ios兼容问题

滑动卡顿&#xff1a; -webkit-overflow-scrolling:touch; 转载于:https://www.cnblogs.com/smzd/p/7891722.html

postgresql 高可用 etcd + patroni 之二 patroni

os: centos 7.4 postgresql: 9.6.9 etcd: 3.2.18 patroni: 1.4.4 patroni etcd 是在一个postgrsql 开源大会上 亚信的一个哥们讲解的高可用方案。 依然是基于 postgreql stream replication。 ip规划 192.168.56.101 node1 master 192.168.56.102 node2 slave 192.168.56.103 …

vue对象侦测

http://blog.csdn.net/yihanzhi/article/details/74200618 数组&#xff1a;this.$set(this.arr,index,value) 转载于:https://www.cnblogs.com/smzd/p/8390626.html

Laravel 5.4 migrate时报错: Specified key was too long error

Laravel 5.4默认使用utf8mb4字符编码&#xff0c;而不是之前的utf8编码。因此运行php artisan migrate 会出现如下错误&#xff1a; [Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key leng…

springboot工具类

ClassPathResource 在类路径下读取资源 public final String getPath() public boolean exists() public InputStream getInputStream() WebUtils 获取web资源工具类 public static String getRealPath(ServletContext servletContext, String path) public static Object g…

MySQL中事物的详解

1. 事物的定义及特性 事务是一组操作数据库的SQL语句组成的工作单元&#xff0c;该工作单元中所有操作要么同时成功&#xff0c;要么同时失败。事物有如下四个特性&#xff0c;ACID简称“酸性”。 1&#xff09;原子性&#xff1a;工作单元中所有的操作要么都成功&#xff0c;要…

记了老是忘记那就写下来吧宏任务微任务

宏任务&#xff1a;script 定时器 微任务&#xff1a;promiss process.nexttick new Promise(function(resolve){console.log(3);//此为同步程序resolve();//同步 是否异步 由内部函数决定console.log(4); }).then(function(){ //。then 异步console.log(5); });async function…

SPRING自定义注入CONTROLLER变量

问题描述 在SpringMVC中默认可以注入Model&#xff0c;ModelAndView&#xff0c;RequestParam&#xff0c;PathVariable 等&#xff0c;那么这个是怎么实现的&#xff0c;以及怎么注入一个自定义的参数呢 HandlerMethodArgumentResolver 在SpringMVC中有一个接口HandlerMethod…

进程,线程

import os, timeif __name__ __main__:print(the calling process id:%d % os.getpid())# 创建进程pid os.fork()if pid 0:# 子进程print(the child pid is %d % os.getpid())time.sleep(3)elif pid > 0:# 父进程os.wait() # 等待子进程终止print([%d]bye-bye % os.getpi…