6软件项目规模成本估算
- 格式:ppt
- 大小:2.71 MB
- 文档页数:15
软件项目的规模估计历来是比较复杂的事,因为软件本身的复杂性、历史经验的缺乏、估算工具缺乏以及一些人为错误,导致软件项目的规模估计往往和实际情况相差甚远。
因此,估计错误已被列入软件项目失败的四大原因之一。
软件工程师经常会被问到,编一个什么什么样的软件需要多长时间、多少钱。
面对这个问题,有不少人很犯难,因为,第一用户的需求太不具体,第二,自己缺乏一个科学的估计方法。
下面是几种软件项目规模的估计方法。
概念介绍先介绍一个衡量软件项目规模最常用的概念--LOC(Line of Code),LOC指所有的可执行的源代码行数,包括可交付的工作控制语言(JCL:Job Control Language)语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等。
一代码行(1LOC)的价值和人月均代码行数可以体现一个软件生产组织的生产能力。
组织可以根据对历史项目的审计来核算组织的单行代码价值。
例如,某软件公司统计发现该公司每一万行C语言源代码形成的源文件(.c和.h文件)约为250K。
某项目的源文件大小为3.75M,则可估计该项目源代码大约为15万行,该项目累计投入工作量为240人月,每人月费用为10000元(包括人均工资、福利、办公费用公滩等),则该项目中1LOC的价值为:(240×10000)/150000=16元/LOC改项目的人月均代码行数为:150000/240=625LOC/人月方法一、Delphi 法Delphi法是最流行的专家评估技术,在没有历史数据的情况下,这种方式适用于评定过去与将来,新技术与特定程序之间的差别,但专家"专"的程度及对项目的理解程度是工作中的难点,尽管Delphi技术可以减轻这种偏差,专家评估技术在评定一个新软件实际成本时通常用得不多,但是,这种方式对决定其它模型的输入时特别有用。
Delphi法鼓励参加者就问题相互讨论。
这个技术,要求有多种软件相关经验人的参与,互相说服对方。
软件项目价格评估目前国际上通行的也比较科学的估算方法是采用功能点分析方法,使用此方法能够真实、准确地计算出计算机软件的价值以作为市场交易价格的参照依据。
1.价格评估公式:项目建设费Q=咨询服务费P+项目建设费M(软件开发费D+实施费S+维护费W)+验收测试费C+工程监理费G2.项目建设费计算公式:软件开发费D=工作量(人月)*软件人员月人工费用=(项目功能点*开发成本系数/7。
5/22)*(3。
23B)开发成本系数:3000个功能以下3.5人工时/FP-4.0人工时/FP3000-8000个功能以下4.0人工时/FP-4。
5人工时/FP实施费S =工作量(人月)*软件人员月人工费用=(项目功能点*实施成本系数/7。
5/22)*(3.23B)分布式实施项目的系数实施成本系数=开发成本系数*(0。
2+(n-1)*k)比例因子K:0。
08<=k〈=0。
15具体按项目实施难度而定维护费W=工作量(人月)*软件人员月人工费用=(项目功能点*维护成本系数/7.5/22)*(3。
23B)维护成本系数=(开发成本系数+实施成本系数)*p比例因子P一般为15%—20%软件人员月人工费用=(工资+奖金+福利+办公成本+资源储备+基础建设+税收利润)*(1+管理费用百分比)=3。
23B•软件开发费D:软件开发费用指对项目进行详细需求分析,系统设计,编码,测试等方面的工作而需支出的费用,取费主要依据项目规模(功能点),开发成本系数和软件人员月人工费,我方根据(附录四:软件功能说明表),对软件的功能进行分析认为:软件项目难度一般,由于各单位对报表的需求不一,所以编制报表的工作量较多,按照软件规模的大小,我们设定软件开发成本系数为4.1.软件功能点计算复杂加权因子表(Complexity weights Factor)系数范围采用系数用户输入数EI 3-6 4 用户输出数EO4—75 用户查询表EQ3—65内部逻辑文件数ILF7-1512外部接口文件数EIF5-1061.软件功能表数据表接口文件外部查询逻辑表报表数功能225 24 0231复杂系数4 6 5125功能点数8830 120 01155合计UFC13932.软件开发费用计算表计算公式UFC*开发成本系数/7.5/22*3.23B开发成本系数4。
软件项目管理课程设计实验报告学院:计算机科学与技术学院专业:软件工程班级:0801班学号:2008001468姓名:何飞指导教师:林福平时间:2011年11月 25 日实验三: 项目规模成本估算一、实验目的:1.了解项目成本估算包含的内容;2.掌握项目成本的估算方法。
二、实验内容:1.按标准估值法(1)聘请了5位专家,他们对开发成本的最小规模、最大规模及最可能规模的估值如下表。
(2)由于采用B/S结构,通过计算,修正系数为1。
25。
开发成本采用最有可能规模进行计算:最小规模平均值A=(190000+195000+180000+185000+175000)/5=185000(元)最大规模平均值B=(230000+235000+200000+220000+240000)/5=225000(元)最可能规模平均值M=(210000+215000+190000+205000+220000)/5=208000(元)由此可得:开发成本=修正系数*(A+4*M+B)/6 =1。
25*207000=258750(元)管理成本和质量成本=开发成本*管理质量系数=258750*0.28=72450(元)项目直接成本=开发成本+管理成本+质量成本=258750+72450=331200(元)项目间接成本=直接成本*间接成本系数=331200*0。
25=82800(元)项目总估算成本=直接成本+间接成本=331200+82800=414000(元)由此可得:利润=项目总估算成本* 0.3=414000*0。
3=124200(元)项目的报价=项目总估算成本+利润=414000+124200=538200(元)2.按COCOMO模型法(1)代码行估算大约在5KLOC;(2)属于组织型项目;(3)符合中级COCOMO模型;(4)开发费用为1.2万元/人月;(5)考虑成本因素。
开发成本=总计人月数*人月单价=19*1。
2=22。
软件系统开发成本估算法功能点估算含例子目录一、功能点估算法概念 (1)二、功能点估算法的特点 (1)三、功能点分析的步骤(含例子) (1)3.1 识别项目的类型 (2)3.2 识别项目的范围和边界 (2)3.3 按不同功能点计算 (3)3.3.1功能点估算分类 (3)3.3.2识别功能点的重要原则 (3)3.3.3内部逻辑文件与外部接口文件 (4)3.3.4事务类型功能点的计算规则 (8)3.3.5计算调整因子 (13)3.3.6计算调整后的功能点个数 (24)3.4 总结 (31)一、功能点估算法概念功能点估算法是软件项目管理众多方法中比较有技术含量的一个,也是最实用的一个.在软件项目管理中项目计划制定的优劣、合理直接关系到项目的成败,项目计划中对项目范围的估算又尤为重要。
如果项目负责人对项目的规模没有一个比较客观的认识,没有对工作量、所需资源、完工时间等因素进行估算,那么项目计划也就没有存在的意义.二、功能点估算法的特点项目范围的估算在CMMI的“MA”度量分析管理和“PP"项目计划中均有涉及。
对软件项目范围的估算有很多种方法,常见的是LOC代码行和FP功能点法.它们之间的区别和关系如下:•功能点估算法常用在项目开始或项目需求基本明确时使用,这时进行估算其结果的准确性比较高.假如这个时候使用LOC代码行估算法,则误差会比较大。
•使用功能点估算法无需懂得软件使用何种开发技术。
LOC代码行估算法则与软件开发技术密切相关.•功能点估算法是以用户为角度进行估算,LOC代码行估算法则是以技术为角度进行估算.•通过一些行业标准或企业自身度量的分析,功能点估算法是可以转换为LOC代码行的.在项目刚开始的时候进行功能点估算可以对项目的范围进行预测。
在项目开发的过程中由于需求的变更和细化可能会导致项目范围的蔓延,计算出来的结果会与当初估计的不同.因此,在项目结束时还需要对项目的范围情况重新进行估算,这个时候估算的结果才能最准确反映项目的规模。
软件工程中的软件项目预算与成本控制软件开发是一个复杂而庞大的过程,需要耗费大量的资源和资金。
对于软件项目的成功实施,预算的合理规划和成本的有效控制是至关重要的。
本文将从软件项目预算制定和成本控制两个方面进行讨论,探讨软件工程中的软件项目预算与成本控制的重要性及其实施方法。
一、软件项目预算制定软件项目预算制定是软件工程中的重要环节,它直接关系到项目资金的合理分配和项目进展的顺利进行。
下面是软件项目预算制定的几个关键步骤:1. 定义项目范围和目标:在制定预算之前,首先需要明确项目的范围和目标。
这包括确定项目的需求和功能,并根据这些需求和功能评估资源的需求。
2. 估算资源需求:在这一步骤中,需要对项目所需的人力资源、硬件设备、软件工具等进行估算。
通过与相关人员的讨论和分析,可以得出准确的资源需求。
3. 编制预算计划:根据资源需求和项目目标,制定详细的预算计划。
这个计划应包括项目的各个阶段的预算,以及每个阶段所需要的资源和资金。
4. 确定预算控制措施:为了确保项目预算的有效控制,需要确定一些预算控制措施,如制定预算监控机制、定期审查项目进展以及监测资源使用情况等。
二、软件项目成本控制软件项目成本控制是在项目执行过程中,对项目成本进行监控和管理的过程。
下面是软件项目成本控制的几个关键步骤:1. 成本估算:在软件项目开始之前,需要对项目的各个方面进行成本估算。
这包括人员工资、硬件和软件采购、办公设备租赁等各项成本。
通过成本估算,可以得出项目的总成本。
2. 成本分析:根据实际开展的项目活动和消耗的资源,对项目成本进行详细的分析。
这可以帮助项目团队了解哪些方面的成本较高,以及如何优化成本分配。
3. 成本监控:通过制定成本监控措施,对项目成本进行监控。
这包括进行成本的实时跟踪,及时发现和解决成本偏差,确保项目成本不超出预算。
4. 成本控制策略:为了降低项目成本,需要采取一些有效的控制策略。
例如,优化资源分配,提高人员的工作效率,节约硬件和软件的采购成本等。
软件工程造价估算方案一、引言在软件开发过程中,造价估算是非常重要的环节,它涉及到资源的投入和回报,决定了项目的成本和效益。
正确的造价估算方案可以有效地帮助项目管理者和团队规划和控制项目,并为客户提供合理的成本预算。
本文将就软件工程造价估算的相关内容进行分析和讨论,提出一种可行的造价估算方案。
二、软件工程造价估算的重要性1. 造价估算对项目决策的影响在软件工程项目中,正确的造价估算可以为项目决策提供重要参考。
通过对项目的成本和效益进行预估,可以帮助项目管理者决定是否进行某一项目,以及合理地规划项目的资源分配和进度安排。
2. 造价估算对项目管理的作用造价估算是项目管理的基础,它直接影响着项目的计划、控制和执行。
准确的造价估算可以帮助项目团队合理地安排资源和工作,提高项目的效率和质量。
3. 造价估算对客户的意义对客户而言,造价估算是选择合作伙伴和确定项目成本的重要参考。
准确的造价估算可以帮助客户做出明智的决策,保证项目可以按时、按质地完成。
三、软件工程造价估算的方法1. 单项加总法单项加总法是较为简单的造价估算方法,它是通过对项目各项资源的成本进行单独估算,然后进行加总计算得出项目的总成本。
这种方法适用于较为简单的项目,对资源需求和成本的了解较为清晰的情况下。
2. 参数估算法参数估算法是通过对具体项目参数的估算来确定项目成本,主要是根据历史数据和类似项目的经验来进行预估。
这种方法适用于相对规范化和标准化的项目,对历史数据和经验的要求较高。
3. 模型估算法模型估算法是通过建立数学模型来估算项目的成本,主要是通过对项目的规模、复杂度、风险等因素进行分析和计算得出成本预算。
这种方法适用于复杂的项目,对因素之间的关联和影响进行分析的要求较高。
四、软件工程造价估算的步骤1. 确定造价估算的目标在进行造价估算前,需明确估算的目标和要求,包括成本、资源和进度等方面的考虑。
根据项目的具体情况确定造价估算的重点和侧重点,为估算提供方向和依据。
软件成本估算应用案例分析本文以某公司开发一套人力资源管理系统为例来讲解软件成本估算的方法及过程。
项目需求:某甲方需要一套人力资源管理系统,该软件企业想要去投标,甲方单位业务部门人员列出了比较原始的业务需求,具体需求描述如下:1)组织架构管理对公司的组织架构进行维护和图形化显示,包括部门、岗位等信息。
可以对部门进行新建、修改、删除、合并、改变归属关系、设定岗位人数并根据已录入的档案信息自动显示实际岗位人数。
支持部门、岗位信息的EXCEL模板导入功能。
可以对岗位进行新建、修改、查询、删除等,岗位信息包括岗位说明、相关联工资级别等。
2)招聘管理对于空缺岗位生成招聘申请,人力资源主管和部门主管审批后自动发布到外部招聘渠道。
可以查询招聘信息或删除已过期的招聘信息。
对应聘人员信息进行管理,将得到的简历、面试情况录入到系统并进行维护。
3)档案管理对员工的信息进行管理,包括员工基本信息(如姓名、年龄、性别、岗位、电话、邮件等)、家庭档案信息、培训记录、工作记录。
还包括员工照片、社保号码等。
授权用户可以对员工档案进行查询或进行修改(如调动、离职、绩效考核信息填写等)4)人力地图将公司的全部或某部门组织架构图显示出来,并可查看员工的基本信息。
本人可以维护部分个人信息,如手机号码、个人主页地址、个人说明等。
5)培训管理制订公司年度培训计划进行管理,并对每次公司级培训建立培训记录并对培训效果进行分析。
提供年度培训计划的建立、修改、审核、审批等功能。
对每次培训进行管理,可自动发送培训通知,培训后填写培训满意度、培训总结。
可以对某时间段内的培训或选定培训进行培训效果的比较和分析6)人力资源分析包括基于人数的分析和基于部门的分析。
基于人数的分析包括统计各岗位、各部门、各学历、各年龄段的人数、各岗位/部门实际人数和空缺人数等。
基于部门的分析包括分析各部门到岗率、入/离职情况、岗位构成、学历构成、年龄构成等。
7)报表中心授权用户可查看或打印员工基本信息、培训信息、工作情况、考核情况、并提供人力资源常用模板(如离职申请、培训申请等)的下载和打印。
软件开发成本估算软件开发成本估算主要指软件开发过程中所花费的工作量及相应的代价。
不同与传统的工业产品,软件的成本不包括原材料和能源的消耗,主要是人的劳动的消耗。
另外,软件也没有一个明显的制造过程,它的开发成本是以一次性开发过程所花费的代价来计算的。
因此,软件开发成本的估算,应是从软件计划、需求分析、设计、编码、单元测试、集成测试到认证测试,整个开发过程所花费的代价作为依据的。
软件开发成本估算的经验模型1.Putnam 模型1978年Putnam提出的,一种动态多变量模型。
L = Ck * K1/3 * td4/3其中: L-----------源代码行数(以LOC计)K-----------整个开发过程所花费的工作量(以人年计)td-----------开发持续时间(以年计)Ck----------技术状态常数,它反映“妨碍开发进展的限制”,取值因开发环境而异,见下表从上述方程加以变换,可以得到估算工作量的公式: K = L3/(Ck3*td4)还可以估算开发时间: td = [L3/(Ck3*K)]1/42.COCOMO模型(constructive cost model)这是由TRW公司开发,Boehm提出的结构化成本估算模型。
是一种精确的、易于使用的成本估算方法。
COCOMO模型中用到以下变量:DSI-------源指令条数。
不包括注释。
1KDSI = 1000DSI。
MM-------开发工作量(以人月计) 1MM = 19 人日 = 152 人时 =1/12 人年TDEV-----开发进度。
(以月计)COCOMO模型中,考虑开发环境,软件开发项目的类型可以分为3种:1.组织型(organic): 相对较小、较简单的软件项目。
开发人员对开发目标理解比较充分,与软件系统相关的工作经验丰富,对软件的使用环境很熟悉,受硬件的约束较小,程序的规模不是很大(<50000行)2.嵌入型(embedded): 要求在紧密联系的硬件、软件和操作的限制条件下运行,通常与某种复杂的硬件设备紧密结合在一起。
软件项目报价方法软件项目报价方法一、引言在软件项目中,报价是一个至关重要的环节。
合理的报价不仅能够帮助企业获得利润,还能确保项目的成功实施。
本篇文章将详细介绍软件项目报价的方法,包括成本估算、利润考虑、报价策略等。
我们将尽力确保内容的完整性和可操作性。
二、成本估算在制定报价策略之前,我们需要先对软件项目的成本进行估算。
这包括人力成本、物资成本、间接费用等。
下面我们将详细介绍各个方面的考虑因素。
1.人力成本人力成本是软件项目的主要成本之一。
我们需要考虑以下因素:(1)技能水平:不同技能水平的员工对应不同的薪资。
在估算人力成本时,我们需要根据员工的能力和经验来评估其薪资水平。
(2)工时成本:根据员工的工作时间和工作效率,我们可以计算出每个员工的工时成本。
在估算时,我们需要考虑到员工可能需要花费额外的时间来解决问题或者应对突发事件。
(3)人员数量:根据项目需求,我们需要确定所需的人员数量。
这包括开发人员、测试人员、项目经理等。
2.物资成本物资成本包括购买软件、硬件设备以及相关配件的成本。
在估算时,我们需要考虑到设备的维护费用和折旧费用。
此外,还需要考虑到软件许可费用和升级费用。
3.间接费用间接费用包括租金、水电费、保险费等。
在估算时,我们需要考虑到这些费用与项目规模和持续时间的关系。
三、利润考虑在报价时,我们不仅要考虑成本,还需要考虑利润。
合理的利润能够保证企业的生存和发展。
下面我们将介绍几个考虑因素:4.市场状况:在制定报价时,我们需要了解市场需求和竞争对手的报价情况。
这有助于我们制定一个更具竞争力的报价。
5.项目风险:不同的项目有不同的风险等级。
对于高风险项目,我们可能需要制定更高的报价以补偿可能出现的损失。
6.客户价值:对于一些高价值的客户,我们可能需要制定更低的报价以获得更多的机会。
同时,对于一些低价值的客户,我们可能需要制定更高的报价以保护企业利润。
7.合同条款:在签订合同时,我们需要仔细审查合同条款以确保企业的利益得到保障。