软件工程中的可重用性研究

2010-04-07 11:55温美娜
河北开放大学学报 2010年4期
关键词:编程语言源代码程序设计

高 波, 温美娜

(秦皇岛广播电视大学,河北 秦皇岛 066000)



软件工程中的可重用性研究

高 波, 温美娜

(秦皇岛广播电视大学,河北 秦皇岛 066000)

作为用工程化方法构建和维护有效、实用和高质量的软件学科,软件工程已经成为国内外各大软件公司普遍使用的开发共识。研究软件工程的方法、工具、过程,最大限度地提高这三个方面中的可重用性是企业提高自身效率、降低开发成本、树立企业品牌的最佳途径。

软件工程; 可重用; 构件

随着国内经济的快速发展,各软件企业也从初期创业过渡到平稳发展,这时软件工程中的可重用性就显得尤为重要。

一、软件工程的概论

20世纪60年代末期,随着硬件技术的飞速发展,大容量、高速度计算机的出现,使计算机的应用范围迅速扩大,软件开发急剧增长,高级语言开始出现。软件系统的规模越来越大,复杂程度越来越高,软件开发中的问题也越来越突出。原来的个人设计方式已不再能满足要求,迫切需要改变软件生产方式,提高软件生产效率,由此软件危机开始爆发。为了研究、解决软件危机,诞生了一门新兴学科——软件工程学。它把软件作为工程对象来研究,从技术措施和组织管理两个方面来研究、解决软件危机。

软件工程研究如何用系统化、规范化、数量化等工程原则和方法去进行软件产品的开发。在现代软件开发中,软件已经形成了大规模的产品市场。因此,软件产品的生产也必将走上工业化的道路,软件工程也就越来越重要。在研究软件工程的过程中发现,一个好的软件工程,应该是选取适宜的开发模型,采用合适的设计方法,提供高质量的工程支持以及重视开发过程的管理,由此归纳出软件工程应该包括三个要素:方法、工具和过程。

二、软件工程方法的可重用

对软件工程的可重用而言,主要就是从软件的分析、设计、编码来体现它的可重用性。系统分析的可重用,是对某些事物或某些问题的抽象程度更高的概括,受系统设计技术和软件编程实现条件的影响少,因此可重用性也就越大。在系统分析层面,既可以不依附于具体应用而专门开发一些可重用的模块,也可以在一个系统的分析结果中归纳出可重用于其他新系统的分析。

系统设计的可重用,受实现环境的影响较少,所以可重用的机会多,因此需要作的修改就少。既可以传承于系统分析的重用,归纳出可重用于其他新系统的设计,也可以独立于具体的应用,有计划地开发出一些可重用的设计模块。

代码的可重用,包括目标代码和源代码的可重用。现在大部分的高级编程语言的运行支持系统都提供了连接、绑定等一些库来实现目标代码的可重用。大规模地实现源代码的可重用只有依靠含有大量可重用构件的构件库。在源代码的编写过程中,针对某一个应用或算法可能会重复用到的情况,也可以将其构件化,以便灵活组合,适应各种不同的应用。源代码的注释是保证编码可重用的一个重要指标。即使完全不懂编程语言,通过逐句读注释,也能够知道所实现的功能,这样的注释才是好的可重用性应该具备的条件。

三、软件工程工具的可重用

软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。目前,已经推出了许多软件开发,数据管理等方面的软件工具,这些软件工具集成起来,建立起称之为计算机辅助软件工程的软件开发支撑系统。

在软件开发过程中,需要建立的软件环境包括编程语言、编程工具、数据库、版本管理工具、文档编辑工具以及可能用到的特殊工具,如数据传输工具、绘图打印工具等。对软件工程的可重用而言,主要是编程语言、编程工具、数据库、版本管理组成的软件环境的可重用。

在选择编程语言方面:目前的主流高级编程语言主要有JAVA和NET等,对服务器的底层编程语言主要有C++和COBOL等。NET是微软公司主要推行的技术,依托于微软强大的技术支持。JAVA是SUN公司推出的Java程序设计语言,跨平台是其最大的优势。C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言,它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等泛型程序设计等多种程序设计风格。COBOL是一种适合于商业及数据处理的底层程序设计语言,特别适合于银行、工厂等大型数据处理,可以使商业数据处理过程精确表达。在选择编程工具方面主要有商用和开源两种。选择商用的编程工具可以获得商用级的技术支持。开源的编程工具则降低了开发费用,并且现在如Eclipse这样的开源开发工具已经完全达到了商用级别。在选择数据库方面:目前的数据库工具很多,大型的数据库如IBM公司的DB2,Oracle公司的Oracle,微软公司的SQL Server。中小型的如MySQL、Access等。根据自己公司的实力,选择适合自己项目的软件环境,是整个软件开发过程的基础,也是可重用性的重要决定因素。

四、软件工程过程的可重用

软件工程的过程是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。过程定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变化所需要的管理、及软件开发各个阶段完成的任务。

开发方法和项目管理方法都是由企业自身管理水平所决定的,是在开发过程中总结出来的经验,可以根据实际项目应用适合的开发方法和项目管理方法。因此,对软件工程的可重用性而言,主要就是提高文档的可重用。但是人们发现,随着软件工程的发展,大型软件的开发过程中,项目参与人数越来越多,不同的团队,不同的组之间需要共同的规范来约束,这些落实到纸上,就是各个阶段形成的文档。

在交付的文档中,对软件工程的可重用性而言,主要是分析、设计阶段的文档。这两个阶段又有两个方面的文档,规范类文档和实现类文档。规范类文档是项目开发中的标准,记录如模块命名方法、变量命名规范、编程书写格式、模块定义说明等信息。这些在软件工程中可以直接重用。而实现类的文档是在分析、设计的时候形成的成果,是实现阶段的编程依据,所以这类文档的可重用性显得尤为重要。实现类文档若要实现可重用,除了要作好分析、设计之外,还对文档的编写者提出了严谨、负责的要求。只有将文档做成标准化,才能最大限度地实现可重用。

五、结束语

研究提高软件工程中的可重用性对软件企业的发展有重要意义。软件企业要想做大、做强,一定要在提高自身竞争力上狠下工夫,而一个软件企业的竞争力就是开发的高质量产品。通过软件工程中的可重用性研究,把企业的高质量产品延续下去,形成自己的开发风格,让我国的软件企业真正立足国内,走向世界。

[1]邓良松,刘海岩,陆丽娜.软件工程[M].西安:西安电子科技大学出版社,2001.

[2]张海藩.软件工程导论[M].北京:清华大学出版社,2008.

2010-04-19

高波(1978-),男,河北秦皇岛人,助教,工程硕士,主要从事网络教育、软件工程理论研究。

TP311.5

A

1008-469X(2010)04-0010-02

猜你喜欢
编程语言源代码程序设计
压力-体积转换在CFC编程语言中的实现解析
基于TXL的源代码插桩技术研究
基于Visual Studio Code的C语言程序设计实践教学探索
Java编程语言的特点与应用
从细节入手,谈PLC程序设计技巧
软件源代码非公知性司法鉴定方法探析
浅谈不同编程语言对计算机软件开发的影响
基于语法和语义结合的源代码精确搜索方法
高职高专院校C语言程序设计教学改革探索
揭秘龙湖产品“源代码”