软件开发办公-软件开发过程的定量监理

(2)如果没有历史数据,或者新项目与以前的项目有很大不同,可以使用成熟的估算模型,例如IBM模型、COCOMO模型或Putnam方法论,将软件项目规模转换为工作量。

这些模型通过研究不同类型组织中大量已完成的项目,得出项目规模与工作量之间的关系以及转换方法。 这些针对特定行业的模型可能不如您自己的历史数据那么准确,但它们非常有效。 目前还没有一个可以适用于所有软件类型和开发环境的估算模型。 在监理活动中,必须根据项目的实际情况谨慎使用这些模型得出的结果软件开发办公,或者可以使用多个模型来估计和掌握工作量。 基本范围并与实际工作量计划进行比较。

下面以IBM模型为例进行计算。 出于计算目的,我们应该使用逆向方法将功能点转换为等效的SLOC值。 此步骤可以使用表 4 中的语言等效表来完成:

因此,当使用Java 2完成上述项目(366个功能点)时,大约需要以下SLOC数:

L = 366×46 = 16386 行 = 16.386KLOC

E=5.2×L0.91=5.2×16.3860.91=66人/月

DOC = 49×L1.01 = 49×16.3861.01 = 826 页

3.制定计划

软件项目估算的第三步是根据工作量制定项目计划,包括人员安排、工作量分解、开始和完成时间等。您可以根据自己的历史数据或行业模型确定所需资源并实施将它们纳入项目计划。 项目工期可以利用上述IBM模型或McConnell给出的方法粗略给出(以IBM模型为例):

项目所需人员数量S=0.54×E0.6=0.54×660.6=7人

工程工期D=4.1×L0.36=4.1×16.3860.36=11个月

4. 成本估算

项目的成本估算包括很多因素:人工成本、办公费用、管理费用、设备和软件购置费用、场地租金、差旅费等。项目成本的估算取决于公司采用的成本计算方法。 有的公司,某些费用不计入项目成本,而是按照管理费用等进行分配。有的根据历史数据计算生产率衡量和每条线的成本,即线/PM(人月)和元/线。 然后用LOC的值乘以元/线得到成本,用LOC的值除以线/PM。 工作量。 具体选择可以根据公司的具体情况进行。

软件开发办公_做办公软件开发的公司有哪些_办公开发软件哪个好

注:本文举例的定量监督进度等估算方法只是众多方法中的一种。 笔者的目的是建议监理单位在工程监理过程中根据实际情况适当采用定量方法。 更多的估算方法可以参考软件评估方面的书籍和其他资料。

几种估算模型介绍

1.IBM模型

1977年,IBM的Walston和Felix提出了如下估计公式:

E = 5.2×L0.91,L是源代码行数(以KLOC为单位),E是工作负载(以PM为单位)

D = 4.1×L0.36,D为项目工期(月)

S = 0.54×E0.6,S为人员需求(以人为单位)

DOC=49×L1.01。 DOC 是文档数量(以页为单位)

在这个模型中,一条机器指令通常指的是一行源代码。 软件的源代码行数不包括程序注释、作业命令和调试器。 对于用非机器指令编写的源程序,例如汇编语言或高级语言程序,应考虑应转换为机器指令的源代码行数。

2.普特南模型

这是Putnam于1978年提出的模型,是一个动态多变量模型。 它假设整个软件开发生命周期中工作负载的特定分布。 该模型源自大型项目(总工作量为 30 人年或以上)收集的工作量分布,但也可以应用于较小的软件项目。

Putnam 模型可以导出一个“软件方程”,该方程将交付的源代码(源语句)行数与工作负载和开发时间联系起来。 其中,td 为开发持续时间(以年为单位),K 为软件开发和维护整个生命周期所花费的精力(以人年为单位),L 为源代码行数(以 LOC 为单位),Ck 为反映“阻碍程序员进步的限制”并随开发环境而变化的技术状态常量。 典型值的选取如下表所示。

3.COCOMO模型(构造成本模型)

这是由 TRW 公司开发的。 Boehm提出的结构成本估算模型是一种准确且易于使用的成本估算方法。 该模型中使用的基本量如下: DSI(源指令数)定义为代码或卡片形式的源程序的行数。 如果一行有两条语句,则算作一条指令。 它包括作业控制语句和格式语句,但不包括注释语句。 KDSI=1000DSI。 MM(以人月衡量)代表开发工作量。 TDEV(以月为单位)代表开发进度。 这是由工作量决定的。

(一)软件开发项目分类

在COCOMO模型中,考虑开发环境,软件开发项目的总体类型可以分为三种类型:组织型(Organic)、嵌入型(Embedded)和介于上述两类软件之间的半独立型(Semidetached)。

(2) COCOMO模型的分类

COCOMO模型根据其详细程度分为三个层次:基本COCOMO模型、中级COCOMO模型和详细COCOMO模型。 基本 COCOMO 模型是一个静态单变量模型,它使用(经验)函数以估计的源代码行数 (LOC) 作为自变量来计算软件开发工作量。 中间COCOMO模型以LOC为自变量的函数来计算软件开发工作量(此时称为名义工作量),然后利用涉及产品、硬件、人员、项目等属性的影响因素来调整工作量。 估计。 详细的COCOMO模型包含了中间COCOMO模型的所有特征,但是在用上述各种影响因素调整工作量估计时,还必须考虑对软件工程过程中每个步骤(分析、设计等)的影响。

信息工程监理的中心任务是对信息工程项目的进度目标、质量目标和风险防范实施有效的监督、协调和控制。 为了对软件项目开发过程的绩效进行监督和控制,有必要引入量化监督。 为此,本期将首先介绍进度的量化监控过程,下一期将介绍质量和风险的量化监控。

应用软件系统开发过程中,不仅存在信息不对称的风险,还存在各方信息处理能力不对称带来的风险; 不仅存在项目的特殊风险,还存在项目管理风险; 不仅存在经济风险,还有时间风险、心理风险等。

定量过程监督的目的是对软件项目的开发过程绩效进行定量监督和控制。 软件开发过程的性能决定了实施软件过程所获得的实际结果。

应用软件开发专业性很强,注重分工。 需求分析、总体设计、概要和详细设计、编码、测试、安装和维护等,每个流程都有其深度,涉及专业广泛,业务性和技术性较强,可视性差,风险高,可预测性是小。 即使应用软件承包商按照标准化开发模式的要求一步步进行,也会遇到许多不可预见的问题,更不用说承包商可能出现的违规行为。 信息系统的核心是软件。 由于软件项目的质量和进度难以有效监控,承包商是否不按照规范进行设计、实施和测试也不容易被发现。

软件开发办公_办公开发软件哪个好_做办公软件开发的公司有哪些

这些都导致许多信息系统工程项目不成功、不完整、长期无法收尾。 “豆腐渣”项目层出不穷,严重影响信息系统项目的质量和进度,不仅损害了合同双方的利益,也给国家和社会造成了许多不应有的损失。 因此,在软件开发监管过程中,引入定量的方法和手段软件开发办公,对应用软件开发过程的某些方面进行定量计算、分析和验证,或者采用定量的方法来分析和判断可能出现的故障和风险,或者提供执行者非常有必要提供数据进行核查,从而降低项目建设的风险,使投资信息系统发挥应有的作用。

软件开发量化监管的两个基本“点”

通过中国软件评测中心的大量监管实践,我们认识到,对应用软件开发过程进行量化监管可以从以下三个方面进行,即:软件开发进度监管、软件开发质量监管和软件开发质量监管。软件开发风险监管。 在进度、质量和风险的定量监管中,分别按照测量和估计两个步骤进行定量分析和监管。

指标:按照一定的指标标准收集和组织软件开发过程中产生的数据,例如代码行数(LOC)和功能点(FP)。 它为估算不准确、进展缓慢和可见性差等常见问题提供了纠正方法。

软件指标有两个主要功能。 一是利用软件指标建立项目基线; 二是收集项目当前的生产力和质量状态,利用基线评估项目当前状态,确定软件工程过程的改进目标。

估计:通常定义为对未来事实的非零概率的最乐观预测。 软件项目估算是项目计划活动的基础。 估算既是一门科学,也是一门艺术。 应该认识到,软件评估永远不会是一门精确的科学。

定量进度监控的四步法

估算软件项目的规模和进度一直是一件复杂的事情。 由于软件本身的复杂性、缺乏历史经验、缺乏估算工具以及一些人为错误等原因,软件项目的规模估算往往与实际情况相去甚远。 因此,它是监管工作的重点之一。

为了可靠地估算软件项目,我们采取以下 4 个步骤: 第一步是估算软件的规模。 这一般是通过计算LOC(源代码行数)或功能点(FP)来完成的,也可以根据流程来估算; 第二步是估计软件项目所需的工作量,以人月或人时为单位; 第三步,估算自然月项目进度; 第四步是估算项目成本。 下面我们来详细介绍一下。

1. 估算项目规模

软件项目的有效评估取决于有多少关于项目范围的原始信息可用。 通常,估算应基于需求的正式描述。 正式的需求描述可以是需求说明书、系统说明书或软件需求说明书等。如果一开始缺乏一些正式信息,也可以从口头描述或草稿开始估算工作。 获得有关项目范围的正式信息后,必须进行重新估算。 两种主要的估计方法是:

第一种方法是根据项目特点和算法进行估算。

例如,根据软件系统的输入、输出、查询、文件、外部接口等信息,采用功能点法来估算系统的规模。 基于功能点的估算是基于用例(Use Case)而不是软件功能来完成的。 通过研究初始应用需求来确定各种输入、输出、计算和数据库需求的数量和特征。 通常的步骤是:

A.计算输入、输出、查询、主控文件数量及接口要求。

B. 这些数据的加权乘法。 下表是典型的重量表。

C. 估计器可以根据复杂度判断以乐观、可能或悲观值调整总数。

D、使用以下方法计算功能点:

FP=总值×[0.65+0.01×ΣFi]

其中,“总值”为所有功能点条目的总和。

Fi(i=1至14)是基于表2中问题答案的“复杂性调整值”(0至5)。方程中的常数和信息域值的权重因子是凭经验确定的。

下面将以计算机辅助设计(CAD)应用程序为例,估算所开发软件包的输入、输出、查询、文件和外部接口。 出于此估计的目的,我们假设复杂性权重因子都是平均的。 根据软件范围的描述,对软件功能进行了分解,确定了几个主要功能:用户界面和控制功能、二维几何分析、三维几何分析、数据库管理、计算机图形显示功能、外围设备控制和设计分析模块。 最终可以得到如表2所示的估算表。

从表2得到的总值是318。

做办公软件开发的公司有哪些_软件开发办公_办公开发软件哪个好

接下来,估计 14 个复杂性权重因子(Fi,根据问题对项目的影响范围从 0 到 5)。 表 3 给出了因子值。

FP=总值×[0.65+0.01×ΣFi]=366

第二种方法是根据历史数据类比估算。

如果之前有做过类似的项目,并且知道其规模,可以将新项目的主要部分与原项目的相应部分进行比较,得出比例关系,比较各部分与原项目的比例。原项目的规模。 另外,计算出新项目的规模。 如果估算者经验丰富并且新项目与旧项目足够相似,则可以获得合理的估算。

然而,使用类比方法通常需要解决估计可重用代码的问题。 估计可重用代码量的最佳方法是程序员或系统分析师详细检查现有代码并估计需要重新设计的代码的百分比、需要重新编码或修改的代码的百分比以及需要在新项目中重用的代码的百分比。 需要重新测试的代码的百分比。 根据这三个百分比,可以使用以下公式计算等效的新代码行:

等效代码行数 = [(重新设计% + 重新编码% + 重新测试%)/3] × 现有代码行数

例如:有10000行代码,假设35%需要重新设计,55%需要重新编码,75%需要重新测试,那么等效代码行数可以计算为:

[(30% + 50% + 70%)/3]×10,000= 5,500 等效代码行。 即:复用这10000个代码相当于写了5500行代码。

2. 工作量估算

在估算软件规模并定义软件开发周期后,开始估算软件项目的工作量。 软件规模的估算结果是代码量,但软件项目的开发和实施过程不仅仅是编码工作。 事实上,这个过程中的编码工作量是最小的。 编写文档、架构设计、系统设计、测试和实施发布会占用大量的工作时间。 因此,估算软件项目的工作量就是确定和估算一个具有这样的代码量的项目所需要的各种任务,并将它们相加得到该项目的工作量。 从软件规模(代码量)来估算项目工作量主要采用以下两种方法:

(1)最好的方法是利用历史数据,根据以前做过的类似项目的规模与新项目的规模之间的比例关系,比较以前项目的工作量,找出新项目的工作量新项目。

使用该方法的前提条件是:a. 对前期项目规模和工作量的计量正确; b. 至少有一个先前项目与新项目规模相似; C。 新项目的开发周期、使用的开发方法、开发工具与以前的项目类似,开发人员的技能和经验不能与原来的人员相差太大。