软件开发度量规范(软件开发国家标准规范) 软件开发

本篇文章给大家谈谈软件开发度量规范,以及软件开发国家标准规范对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

  • 1、软件开发成本有哪些?
  • 2、软件成本评估都包含哪些内容?
  • 3、浅谈软件开发过程的质量度量技术
  • 4、如何确定软件的开发成本价格?

软件开发成本有哪些?

所谓售前成本,就是在合同签订前,乙方为这个项目做商务、做演示、做售前调研等付出的成本(人工费、办公费、差旅费等)。倒霉的是,并不是每个售前项目都可以签单,更倒霉的是,一般情况下丢单的比签单的多,这些丢单的售前项目,成本往哪里去呢,自然需要由签下的项目弥补。

直接人工成本。

每个开发团队包括很多岗位,如项目实施经理、需求分析师、系统架构师、程序员、测试工程师、美工、客服等,这些岗位的人,都是需要吃饭的,都需要发工资、交五险一金。一个项目要做好,离不开这些岗位通力合作。即使只看直接人工成本,也远远不止程序员的工资社保。

开发工具及设备成本。

团队在开发过程中需要各种开发工具,有些工具是开源免费的,但也有很多工具是要收费的。当然,一般来说,每个团队都有很多开发项目,这个成本分摊到每个项目并不高,几乎可以忽略不计。但是,有的时候,有些特殊的设备是为这个项目专门采购的,那么这个成本就不能忽视了。

间接人工成本。

软件成本评估都包含哪些内容?

完整的软件造价评估应该包含哪些?

1 估算基础

对估算对象(需求、任务等)的拆分颗粒度定义了上限与下限,以提升估算的准确度。

完备识别了估算对象,没有遗漏的需求或任务。

估算人员经过了估算方法的系统培训。

定义了组织级的估算方法。

2 规模估算

从不估算规模或经验估算规模升级为客观度量规模,比如采用国际标准的功能点方法或自定义的规模度量方法,无论是哪种方法,规模与工作量之间应该是强相关的才是合理的。

如果对本公司的项目而言,规模与工作量不强相关,也可以是复杂度等其他因子,对这些因子应该也与工作量做了相关性分析,与工作量应该强相关才是合理的。

3 工作量估算

建立了从规模的客观度量用定量模型推算出项目总工作量。

建立了工作量分布百分比的性能基线,可以从总工作量推算各阶段或各类任务的工作量。比如开发的工作量、测试的工作量。

能够用PPB或PPM推算出各种关键活动的最少投入工作量,比如需求评审的工作量、代码评审的工作量、系统测试的工作量等。

工作量的估算结果应该是一个区间,而不是单点值。如,总工作量不超过100人月。

4 成本估算

从工作量到成本有定量的计算方法。

成本的估算结果应该也是一个区间,而不是单点值。比如不超过30万,或者在25到30万之间等。

5 工期估算

识别了项目的关键路径与关键链。

对项目的工期进行了模拟,得到满足项目工期要求的概率有多大。如果概率太低,对关键路链上的任务、投入的资源与需要完成的需求进行了优化。

6 评审与修订估算

保存了估算记录,估算结果经过了评审。

随着需求和任务的明确,在开发过程中修订了估算结果。

7 持续改进估算过程

对比了估算结果与实际结果,对估算偏差率建立了过程性能基线或过程性能模型。

总结了估算有关的经验教训。

对估算方法和过程进行了持续优化。

跟踪检查了估算方法与过程在组织级的落地实施情况。

浅谈软件开发过程的质量度量技术

浅谈软件开发过程的质量度量技术

摘要:本文讨论软件开发过程中度量对质量管理的重要性。如果没有度量,没有对软件过程的可见度,就无法控制软件质量。

关键词:软件开发质量度量

软件工程的唯一目标是生产出高质量的软件“。软件质量保证”(Software Quality Assurance,简称SQA)是一种应用于整个软件过程的保护性活动。目的是验证在软件开发过程中是否遵循了合适的过程和标准。SQA应用软件质量度量技术使其在软件生命周期各阶段均得以保证。

软件度量是测度。测度用于整个软件过程:辅助估算、质量控制、生产率评估、及项目控制,目的是改进它。软件工程管理和其它工程管理相比有其特殊性。首先,软件是知识产品,进度和质量都难以度量,生产效率也难以保证。其次,软件系统复杂程度也是超乎想象的。正因为软件如此复杂和难以度量,为生产出高质量的软件这个目的,软件工程质量度量显得更加重要。

1、软件需求是进行“质量”度量的基础软件质量度量考虑两种不同的质量:设计质量和符合质量。设计质量包括系统的需求、规约和设计。符合质量则主要关注实现问题,如果实现了设计、得到的系统满足需求和性能目标,则符合质量较高,缺乏需求符合性则质量不高;指定的质量标准定义了一组软件开发的准则,缺乏开发标准就缺少质量“;隐含需求”没有满足,软件质量也值得怀疑。

为了保证软件产品满足需求,质量控制应用于整个开发周期的一系列审查、复审和测试。质量控制的任务就是策划可行的质量管理活动,然后正确地执行和控制这些活动以保证绝大多数的缺陷可以在开发过程中被发现。质量控制在创建工作产品的过程中还包括一个反馈循环。度量和反馈相结合,使得监测产品不满足规约时可调整开发过程。质量控制将视为整个制造过程的一部分。

2、软件度量的三个步骤

软件度量有数据收集、度量计算及度量评估三个必须执行的步骤。要度量软件质量,可通过创建一个包含过程及产品测量的数据库,让软件工程师及管理者能够更好地了解他们所做的工作及所开发的产品各个时段的质量状态。

软件工程是一种层次化技术,包括过程、方法和工具,它对技术或实体的分析、设计、建造、验证和管理。其基础是过程层,软件过程是建造高质量软件需要完成的任务框架,它定义了软件开发中采用的方法,而方法层是技术上如何实现,工具层对过程和方法提供自动化和半自动化工具的支持。软件工程探索软件开发过程的研究现状,以有组织的质量保证为基础。质量管理刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程方法的`不断出现。

3、软件工程用技术度量评估质量软件工程的最高目标就是产生高质量的系统、应用软件或产品。为了达到这个目标,软件工程师必须掌握在成熟的软件过程背景下对有效的方法及现代化的工具(如CASE)之应用。由于硬件成本持续降低,可支持运行CASE工具的工作站和网络已经成为软件工程使用的工作平台,CASE工具可完成一些特定的软件开发过程。这些工具提供给软件设计者以图形方式描述软件设计的能力,这样就易于维护、易于交叉检查、易于理解。除此之外,优秀的软件工程师及优秀的软件工程管理者必须不时评估是否能够达到高质量的目标。

4、有用的软件质量的测量指标

为了保证软件质量,人们用直接的或间接的测量方法测度质量因素,书中提出四种常用测量指标:正确性:正确性是软件完成所需的功能的程度。正确性的最常用的测量是每千行(KLOC)的缺陷数,在这里,缺陷定义为验证出来的与需求不符的地方。

可维护性:指遇到错误时程序能被修改的容易程度;环境发生变化时程序能够适应的容易程度,用户希望改变需求时程序被增强的容易程度。可维护性无法直接测量,采用间接测量。如面向时间的度量用平均修改时间(mean-time-to-change,MTTC),即分析改变的需求、设计合格的修改方案、并将修改的结果发布给用户所花的时间。

完整性:现在软件完整性日益重要。它测量系统在安全方面的抗攻击能力。这些攻击可能发生在软件的三个主要成分上:程序、数据及文档。为了测量完整性必须加入两个附加的属性:威胁和安全性。一个系统的完整性可以定义为:完整性=Σ[l—威胁×(1—安全性)]可用性:即“用户友好性”。根据四个特性量化“用户友好性”:(1)学会系统所需的体力的和/或智力的投入;(2)使用系统达到中等效率所需的时间;(3)当系统由某个具有中等效率的人使用时,测量到的生产率的净增长率(与被该系统替代的老系统相比);以及(4)用户对系统的态度的主观评估(可以通过调查表获得)。

上述的四个因素仅仅是被建议作为软件质量测量显的众多因素中的一个样板,软件质量因素还有:健壮性、效率、可用性、风险、可理解性、可维修性、灵活性(适应性)、可测试性、可移植性(、有一种定量度量的方法是:用原来程序设计和调试的成本除移植时需用的费用)。可再用性、可运行性等等。

5、结语

差异控制是软件工程质量控制的核心。要生产出高质量的软件,就要注意差异控制,注意项目需求分析。在需求分析阶段要注意:(1)质量指标对不同人群、不同目的、不同时段要求可能不同,具体质量控制指标需供需双方共同约定;(2)质量指标与度量标准、目的相关,一般的情况是高指标具有高技术难度、需要高投入、较长开发期;(3)软件开发不同于其他产品的制造,软件的整个过程都是设计过程(没有制造过程);(4)软件开发不需要使用大量的物质资源,而主要是人力资源。

充分认识软件工程的目标,为确保目标实现切实采用的软件度量技术,控制所有过程的质量,满足顾客和组织内部双方的需要和利益,定期评价质量体系,生产出高质量软件。 ;

如何确定软件的开发成本价格?

软件开发成本估算过程可进一步细分为软件规模估算、工作量估算、成本估算和确定软件开发成本等四个过程。

其中成本估算需要对直接人力成本、间接人力成本、间接非人力成本及直接非人力成本分别进行估算。

国家标准《GB/T 36964-2018 软件工程 软件开发成本度量规范》中建议的软件开发成本估算基本流程如下图所示:

国家准中的四个估算过程,层层递进,逐步细化,最终达到科学、一致的成本估算。

一、软件规模估算

通常情况下,规模估算是软件成本估算过程的起点。

估算规模是后续计算软件项目的工作量、成本和进度的主要输入,是项目范围管理的关键,因此,在条件允许的情况下,应首先进行规模估算。

在规模估算过程中,需要注意以下情况:

1.在规模估算开始前,应根据可行性研究报告或类似文档明确项目需求及系统边界。项目需求除包含最基本的业务需求外,还应进行初步的子系统/模块划分,并对每一子系统或模块的基本用户需求进行说明,以保证可以根据项目需求进行规模预估。

2.依据项目特点和需求详细程度不同,通常估算人员在选择估算方法时应采用纳入国际标准的功能点方法进行功能规模估算,在适用IFPUG或NESMA方法时,可以根据需求的粒度和管理需要,选择预估功能点方法、估算功能点方法或者详细功能点方法。

3.若当前的项目需求极其模糊或不确定,可不进行规模估算,而直接采用类比法或类推法估算工作量和成本。

二、工作量估算

在完成规模估算后,应当开展工作量估算工作,若当前项目未开展规模估算,也可直接启动工作量估算工作。

工作量估算时,可采用方程法、类比法、类推法、功能点法:

方程法:即基于基准数据建立参数模型,通过输入各项参数,确定估算值。

类比法:即将待估算项目的部分属性与类似的一组基准数据进行比对,进而确定估算值。

类推法:即将待估算项目的部分属性与高度类似的一个或几个已完成项目的数据进行比对,并进行适当调整后确定估算值。

功能点法:从用户视角出发,通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。功能点规模度量方法在国际上的应用已经比较广泛,并且已经取代代码行成为最主流的软件规模度量方法。

在开展工作量估算的过程中,需要注意以下情况:

1.当需求极其模糊或不确定时,如果此时具有高度类似的历史项目,则可直接采用类推法,充分利用历史项目数据来粗略估算工作量。

2.当需求极其模糊或不确定时,如果此时具有与本项目部分属性类似的一组基准数据,则可直接采用类比法,充分利用基准数据来粗略估算工作量。

3.对于规模估算已经开展的项目,可采用方程法,通过输入各项参数,确定待估算项目的工作量。若客户或高层对项目的工期有明确的要求时,在采用方程法估算工作量时,工期要求有可能是方程的参数之一。

4.为追求估算的准确性,建议在条件允许的情况下,可采用两种估算方法,对估算结果进行交叉验证,若估算结果差别不大,可直接使用两种估算结果的平均值或以某种估算结果为准,若差别较大,需进行差异分析。

5.工作量的估算结果宜为一个范围而不是单一的值。

三、成本估算

在获得了工作量估算结果后,可采用科学的方法进行成本估算。

在成本估算过程中,应需要注意的情况:

1.类比法和类推法,同样适用于需求极其模糊或不确定时的成本估算;

2.间接成本是否与工作量估算结果相关取决于间接成本分摊计算方式。在绝大多数组织,项目周期越长,项目组成员越多,其分摊的间接成本就越高,此时项目的间接成本与工作量估算结果直接相关;

3.直接非人力成本通常与工作量估算结果无关,宜单独分项测算;

4. 成本估算结果,也通常为一个范围,而不是单一的值。

四、确定软件开发成本

在《软件工程 软件开发成本度量规范》中,将软件开发成本分为四类,主要是为便于对成本构成(即哪些成本属于开发成本,哪些不属于开发成本)进行清晰界定。

而在实际确定软件开发成本时,通常并不是分别测定四类成本,加和后获得总成本,而是通常采用以下两种方式确定总成本:

1.根据人力成本费率及工作量估算直接人力成本和间接成本之和,再加上直接非人力成本,获得总成本;

2.根据规模综合单价和软件规模,测算出直接人力成本和间接成本之和,再加上直接非人力成本,获得总成本。

在进行软件的规模、工作量、成本估算时应遵循以下原则:

1.在规模估算时,应根据项目特点和需求的详细程度选择合适的估算方法;

2.充分利用基准数据,采用方程法、类比法或类推法,对工作量和成本进行估算;

3.工作量和成本的估算结果宜为一个范围值;

4.在进行成本估算时,如有明确的工期要求,应充分考虑工期对项目成本的影响,可以根据项目实际情况以及工期对项目的影响程度,对成本的估算结果进行调整;

5.成本估算过程中宜采用不同的方法分别估算并进行交叉验证。如果不同方法的估算结果产生较大差异,可采用专家评审方法确定估算结果,也可使用较简单的加权平均方法;

6.在软件项目的不同场景下(如预算、招投标、项目计划和变更管理等)采用国家标准时,相关要求见国家标准中附录A。

除了上述主要原则外,我们还需注意在使用基准数据时:

1. 对于委托方和第三方,建议使用或参考软件行业基准数据进行估算。估算模型的调整因子的增减或取值有可能随着行业基准数据的变化而变化。

2.对于开发方,在引入行业基准数据的基础上,可逐步建立组织级基准数据库,以提高估算精度。组织级基准数据定义应与行业基准数据定义保持一致,以便于与行业基准数据进行比对分析,并持续提升组织能力。

关于软件开发度量规范和软件开发国家标准规范的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

在线客服
途傲科技
快速发布需求,坐等商家报价
2024-11-23 04:04:27
您好!欢迎来到途傲科技。我们为企业提供数字化转型方案,可提供软件定制开发、APP开发(Android/iOS/HarmonyOS)、微信相关开发、ERP/OA/CRM开发、数字孪生BIM/GIS开发等。为了节省您的时间,您可以留下姓名,手机号(或微信号),产品经理稍后联系您,免费帮您出方案和预算! 全国咨询专线:18678836968(同微信号)。
🔥线🔥
您的留言我们已经收到,现在添加运营微信,我们将会尽快跟您联系!
[运营电话]
18678836968
取消

选择聊天工具: