第二周作业-软件工作量的估计

影响软件工作量的评估因素

  对于软件工作量的评估,会牵涉到的因素有很多。根据我的了解,有使用的方法或者工具、开发者的熟悉程度、以及(部门之间的)利益关系、对项目的理解评估人员的个性。基于各种因素考量最后出现的工作量评估会有比较大的区别。

1.使用的方法(工具)

  对于一个项目,如果甲是在现有的模块上去完成,而乙则是重新开始。那么他们对于这个项目工作量的评估也就自然不同了。现在假设一个项目由已搭建的前台和后台两个部分组成,甲方会认为他们需要处理的就是后台部分,工作量就是后台所需的时间,但是乙方可能会认为他们的工作量是前台和后台两部分的和,这样才是对整个项目的完成。

2.开发者的熟悉程度

  这个容易理解,如果是一般对语言或是技术掌握不熟悉的人,花费的时间和返工的时间、沟通的时间自然就要长一点。

3.(部门之间的)利益关系

  公司之间的外包项目,服务方就倾向于时间长一点,考虑的因素是假设用户需求会有一部分变化或者希望从中多賺钱。公司的部门之间也是类似,营销部门总是希望越快越好,但是开发部门总是认为营销部门没有更早提出需求等等。

4.对项目的理解或者评估人员的个性

  同样一个项目,类似微信,如果1000个用户数和1千万的用户数,做法上会有非常大的区别。

软件工作量的评估方法

  在此,分析几种常用的工作量评估方法:

  一、通过功能点对软件规模进行评估。此种方法是实际工作中常常突出的法宝,有着大量的追随者,但由于其原始定义比较抽象,实际工作量与功能点之间的函数关系并不明显,常常还受制于技术选择。比如说,对于统计当前使用系统的用户数这一要求来说,采用B/S方式就很直接,而传统的C/S似乎就得费些功夫,两者的工作量明显不同。又比如,C/S中弹出一个模态窗体是很简单的事,但对于B/S好像也得多想想。

  二、常用的评估方法还有类比法和专家法。由于历史数据的不丰富,类比法和专家法也很难奏效,更何况很多的企业也缺少使用这种评估方法的经验和数据。

  如何测量软件规模这个问题自软件工程诞生起就一直是这个领域的焦点问题。软件产品或项目的功能规模是涉及软件开发和交易的成本、项目资源投入的预测、项目维护成本的预算、项目质量管理的要求以及产品上市的时间等方面的关键指标。因此,进行软件产品的功能规模测量显得尤其重要。目前,国内外软件领域的专家对软件功能规模测量开展了极富成效的研究,提出了各类工业标准。

国际标准化组织ISO/IEC相继发表了4个功能规模测量方法的标准,它们是:

——ISO/IEC 19761(COSMIC-FFP方法);
——ISO/IEC 20926(IFPUG方法);
——ISO/IEC 20968(MkⅡ方法);
——ISO/IEC 24750(NESMA方法)。

  其中,COSMIC-FFP方法声明可以应用于管理信息系统(MIS)和实时类型二类软件,如,家电中的控制系统、飞机售票系统等等,但是该方法不适合于复杂算法的系统与处理连续变量的系统,如:专家系统、模拟系统、自学习系统、天气预报系统、声音和图象处理系统等。IFPUG方法声明可用于所有类型的软件,MkⅡ方法声明可用于逻辑事务能被确定的任何软件类型,NESMA方法非常类似于IFPUG方法也可以用于所有软件类型。就我了解的稍微多点的COSMIC-FFP方法,该方法的过程主要有两个阶段,第一个阶段是映射阶段,映射阶段的目的是将软件的功能需求分解为功能处理、数据组、数据属性;第二个阶段是度量阶段,度量阶段的目的是将功能处理分解为数据移动,计算功能规模。

时间: 2024-10-12 17:45:26

第二周作业-软件工作量的估计的相关文章

软件测试第二周作业 wordcount

软件测试第二周作业 wordcount Github地址 https://github.com/mxz96102/word_count PSP2.1表格 PSP2.1 PSP 阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 25 30 · Estimate · 估计这个任务需要多少时间 150 252 Development 开发     · Analysis · 需求分析 (包括学习新技术) 20 20 · Design Spec · 生成设计文档 0 0 · Desig

软件工程 第二周作业

##软件工程第二周作业 提出问题 1. 一般来说,想要自己的程序跑得又快又好,就要减少函数的反复调用,但有所得则必有所失,效能提高就有可能伴随着程序的稳定性的降低,这两者应该如何权衡呢? 2. 关于5.3.5 老板驱动的流程,这种开发流程模式存在着一些问题,那要如何解决这些问题呢? 这种模式当然也有它的问题. 领导对许多技术细节是外行. 领导未必懂得软件项目的管理,领导的权威影响了自由的交流和创造. 领导最擅长的管理方式是行政命令,这未必能管好软件团队或任何需要创造力的团队. 领导的精力有限,领

软件质量与测试第二周作业 WordCount

第二周作业 WordCount 一.Github 地址 https://github.com/llag9810/Software-Quality-and-Testing-Wordcount 二.PSP2.1 表格 PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 60 25 · Estimate · 估计这个任务需要多少时间 30 15 Development 开发 600 810 · Analysis · 需求分析 (包括学习新技术) 60 60 · D

解题报告——2018级2016第二学期第二周作业

解题报告——2018级2016第二学期第二周作业 D:迷宫问题 题目描述: 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线. 输入 一个5 × 5的二维数组,表示一个迷宫.数据保证有唯一解. 输出 左上角到右

马哥linux 培训第二周作业

注意:第二周作业,请将以下题目整理在51cto博客当中,完成后请将对应的博文链接地址提交在答案栏中,提交格式如下:学号+姓名+博文链接地址eg:1+张三+http://mageedu.blog.51cto.com/4265610/1794420 本周作业内容:1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 文件管理的命令有cp.mv.rm 复制命令:cp 用法: cp [-adfilprsu] 来源文件(source) 目标文件(destination) cp [o

第二周作业补交(请老师看一下)

#include<stdio.h> #include<math.h> int main(void) { int money,year; double rate,sum; printf("Enter money:"); scanf("%d",&money); printf("Enter year:"); scanf("%d",&year); printf("Enter rate:

魏昊卿——《Linux内核分析》第二周作业:了解操作系统是怎样工作的

魏昊卿——<Linux内核分析>第二周作业:了解操作系统是怎样工作的 一.实验部分 使用实验楼的虚拟机打开shell cd LinuxKernel/linux-3.9.4 qemu -kernel arch/x86/boot/bzImage 然后cd mykernel 您可以看到qemu窗口输出的内容的代码mymain.c和myinterrupt.c 使用自己的Linux系统环境搭建过程参见mykernel,其中也可以找到一个简单的时间片轮转多道程序内核代码 mymain.c myinterr

学习linux第二周作业

第二周作业: 本周作业内容: 1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. touch,rm,mv,cp,file,ls,chmod,chown,ln,rename, touch 修改文件atime,如果文件不存在,那么创建该文件. rm:删除文件. -r:循环删除,包含文件和目录 -f:强制删除,布询问. -i:询问是否删除. 默认情况下,系统自带别名,rm=rm -i mv:移动文件,可以在移动的过程中重命名文件或文件夹. 例如:移动重命名mytest1目录为

软件项目管理第二周作业

软件项目管理作业: 1.代码规范 代码就像美食一样,不仅好不好吃,卖相也很重要. 代码风格:简明.易读. 4个空格缩进,行宽100字符,复杂的表达式多用括号清楚的表示逻辑关系,不要好几条语句放在一行等等. 注释主要是知道程序做什么,为什么这样做,还有注意的地方提醒. 2.燃尽图.鱼刺图.甘特图 燃尽图:顾名思义,一堆木头烧完了,一开始挺多的,大事化小,越来越少,直到化为灰烬. 鱼刺图:貌似是鱼刺有很多,一个结果有很多原因且又相互有联系,有果必有因,找出问题的原因,解决问题. 甘特图:工作进度图,