谈谈我对软件度量的理解

     

 软件度量这门课上了四五节课了吧!觉得没什么好学的,都是些理论的东西。关键上课老师的水平不怎么样,没什么深度,没什么激情!在我还没搞清楚这门课之前,先来谈谈我对软件度量的理解吧!看是不是很简单。这门课虽然没什么好学的,但是确实是很重要的,这个毋庸置疑!都是些理论和方法,很空,但是都是真理!

    什么是软件度量,怎样去度量软件?这就是这门课要回答的两个主要问题。软件工程作为一门工程学科,在开发软件的过程中,我们以项目为单位。完成一个个的项目,我们就完成了一个个软件的开发。既然是项目,就会用到一定量的结构化方法和管理流程。这就使得软件具有可度量性。软件度量应该是根据软件开发过程中具有的特殊属性,采用一定的方法或工具对这些属性进行一个综合逐层的评级。软件的好坏通过等级表现。软件度量在软件工程的地位应该是很重要的。不过,我相信很多中小型公司都不会进行这个环节,他们只要把软件按用户需求开发完收完付款后就说拜拜了。这是一种没有社会责任心的表现,我们的软件产业要得到优良的发展,取得技术上的突破,软件度量举足轻重!同时它也是经验的的总结,有利于我们开发出更加优秀的软件,从而提高公司的威信,其实对公司的长远发展还是有好处的。当然,小公司为了减少成本会略去这个环节!所以学这门课不能增加找工作砝码。

    那怎样去度量一个软件呢?度量些什么?那我们就首先要知道软件有什么东西了。最简单的是软件等于程序加数据结构加文档。那就度量这些东西呗。当然度量的话当然需要度量工具,软件也可以成为度量工具,或者应该还有人工的。比如说程序,我们可以度量代码,代码的量,代码的规范化,代码的冗余度。对于数据结构,我们就可以去分析里面的算法复杂度等等。对于文档,我们可以去评审文档的正确性,完整性等等。如果我们把软件模块化,我们就去度量各个模块的各种属性并做好评级。等等等,反正就是度量软件的属性!简单这样说完了。这些仅是本人看法,可能是误解,不求赞同。就随便写写,后面还是要认真学的!

一、软件度量介绍:

目的在于对此加以理解、预测、评估、控制和改善。没有软件度量,就不能从软件开发的暗箱中跳将出来。通过软件度量可以改进软件开发过程,促进项目成功,开发高质量的软件产品。度量取向是软件开发诸多事项的横断面,包括顾客满意度度量、质量度量、项目度量、以及品牌资产度量、知识产权价值度量,等等。度量取向要依靠事实、数据、原理、法则;其方法是测试、审核、调查;其工具是统计、图表、数字、模型;其标准是量化的指标。

二、软件度量发展历程:

如Lemmerich所言, 测量在科学领域有悠久的历史。相对早在1889年就定义好了度量单位~米的长度测量,温度的度量复杂的多。Fahrenheit和Celsius分别在1714年和1742年提出了基于某固定点间隔递增等级的温度度量方法。Celsius将100度和0度之间分为100个等份。但问题是一直不能唯一确定50摄氏度。而且长度的测量总是一个比例尺度,但是温度可能用间隔( 摄氏/华氏温度表) 或者比例尺度(开氏温度)来衡量。
今天,计算机在我们生活的每个领域几乎都扮演了非常重要的角色。在计算机上运行的软件也越来越重要。因此,可预测、可重复、准确地控制软件开发过程和软件产品已经非常重要。软件度量就是衡量软件品质的一种手段。 软件度量或者说软件工程度量领域是一个在过去30多年研究非常活跃的软件工程领域。软件度量(software measurement)和软件量度(software metrics)一样非常有名(译者注:为了区分,译者将software measurement和software metrics分别译成软件度量和软件量度,其实他们都可以表示软件度量)。但学界还没有明确这两个术语的区别。参照测量理论的相关术语,我们采用软件度量(software measurement)。从文献上看,这两个术语是同义词。量度(metric)在这里不作度量空间理解,它理解为:度量是客观对象到数字对象的同态映射。同态映射包括所有关系和结构映射。用另一句话说,软件品质和软件度量成直对关系。这是度量和软件度量的根本理念。

三、为什么需要软件度量 :

在软件开发中,软件度量的根本目的是为了管理的需要。利用度量来改进软件过程。人们是无法管理不能度量的事物。在软件开发的历史中,我们可以意识到,在60年代末期的大型软件所面临的软件危机反映了软件开发中管理的重要性。

没有对软件过程的可见度就无法管理;而没有对见到的事物有适当的度量或适当的准则去判断、评估和决策,也无法进行优秀的管理。我们说软件工程的方法论主要在提供可见度方面下工夫。但仅仅是方法论的提高并不能使其成为工程学科。这就需要使用度量。度量是一种可用于决策的可比较的对象。度量已知的事物是为了进行跟踪和评估。对于未知的事物,度量则用于预测。本专题将讨论软件度量的一些基本问题。但应认识到软件度量的成果是非常初步的,还需要大量工作才可能真正地做到实用化,但它的实用化成就将对软件的高质量和高速发展有不可估量的影响。那么, 一、什么是度量呢? 1、度量概念:度量存在于左右我们生活的很多系统的核心之中。在经济领域,度量决定着价格和付款的增加;在雷达系统中,度量使我们能透过云层探测到飞机;在医疗系统中,度量使得能够诊断某些特殊疾病;在天气预测系统中,度量是天气预报的基础;没有度量,技术的发展根本无法进行。度量的正式定义是: 度量 是指在现实的世界中,把数字或符号指定给实体的某一属性, 以便以这种方式来根据已明确的规则来描述它们.
因此,度量关注的是获取关于实体属性的信息。一个实体可以是一个实物,如人或房间;或者是一个事件,如旅行;或软件项目的测试阶段。属性是我们所关注的实体的特征或特性,如血压的高度(人)、时间(测试阶段)、范围或颜色(房间)、花销(旅行) 等。因此,说"度量事物"或"度量属性"的说法是不完全正确的;应该说"度量事物的属性"。"度量房间"的说法是模糊的;我们可以说度量它的长度、范围和温度等。同样说"度量温度"的说法也是模糊的,应该说:我们度量的是某一特定地理位置和特定情况下的温度。2、工程学科需要度量软件工程要的是有模型和理论支持的方法。
如在设计电路的时候我们应用欧姆定律。这个定律描述了电路中电阻、电流和电压三者之间的关系。但是这些理论已超出了一般意义上的科学方法的范畴,在这种范畴里最基本的东西是度量。度量除了在发展一个理论的过程中起作用外,我们使用度量并应用它们。因此设计一个特定电流和电阻的电路时我们就知道需要多大的电压。
如果没有度量,我们很难想象关于电子、机械、及普通工程的定律能得到发展。但事实上在软件工程的主流里度量却被忽略了。

四、论软件度量

一、 引言
随着信息技术的快速发展,软件已经成为支撑各行各业的核心力量。然而,随着软件规模的扩大和复杂性的增加,如何有效地管理和控制软件开发过程成为一个亟待解决的问题。软件度量作为解决这一问题的关键手段,日益受到业界的关注。

二、 软件度量的基本理论
本节将介绍软件度量的基本概念、发展历程和理论基础。首先阐述软件度量的定义、目的和意义,然后概述软件度量的基本原则和方法论,最后对软件度量的研究现状进行概述。

三、 软件度量的常用方法
本节将详细介绍几种常用的软件度量方法,包括代码行数、McCabe复杂度、Halstead复杂度等。对每种方法的原理、应用场景和优缺点进行深入分析,并通过实际案例进行说明。

四、 软件度量的实践应用
本节将结合实际项目,探讨软件度量在软件开发过程中的具体应用。首先介绍如何根据项目需求选择合适的度量方法和工具,然后通过案例分析阐述如何运用度量数据来评估软件开发进度、预测潜在风险和提高软件质量。

五、 软件度量的挑战与展望
本节将分析当前软件度量面临的挑战,如数据收集的难度、度量标准的多样性等。在此基础上,对未来软件度量技术的发展趋势进行展望,如人工智能在软件度量中的应用、多维度综合度量方法的发展等。

    

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋力向前123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值