返 回

如何改进我们的工作

软件部经理 陈治伦

优耐达公司自成立以来,一直将软件开发作为公司的主要业务方向,在政府、公安、烟草、税务、邮电、金融等领域开发了大量的应用软件,由于公司始终坚持信誉第一的原则,并且经过不懈的努力,我们开发的项目都取得了成功,为客户提供了优秀的产品,同时也为公司在云南软件业树立了良好的形象。

然而,随着公司承担的项目越来越多、客户的要求越来越复杂多变、软件的规模越来越庞大、开发周期越来越短,原有的软件开发模式已不能跟上应用的需求,在这种形势下,如何提高软件的重用性、使软件开发产业化变得极为迫切。正好最近公司安排我准备了一个关于组件程序设计与多层软件结构开发的技术交流,所以和几位同事在软件开发模式和软件重用等方面作了一些探讨,现将所获心得献出,期望能抛砖引玉,更好地发展我们的事业。

软件开发过程一般都包含这几个阶段:需求分析、系统设计、编码、测试和维护。而在以往我们开发的大量应用系统中,每个软件的开发都是从头开始,在整个过程中存在大量的重复劳动。其实我们应该以已有的工作为基础,充分利用过去应用系统开发过程中积累的知识和经验。改进软件开发模式的目的,就是为了使软件开发从手工作坊式生产转变成大工厂生产,使我们的软件产业真正走上工程化、工业化的轨道;改进软件开发模式的方式,最重要的一点就是采用软件重用技术。通过软件重用,在新的应用系统开发过程中,可以充分利用已有的开发成果,消除不必要的重复劳动,避免重新开发可能引入的错误,进而提高软件开发的效率和质量。

软件重用可以分为几个层次:第一层是个人行为的软件重用:这一类在我们原来的开发中已经用到,如子程序、函数、过程等;第二层是开发小组级的软件重用,这一类我们也已经用到,但由于没有有意识地进行组织和管理,所以仍存在不少重复的开发;第三层是部门内各小组间的软件重用,我们对这一类情况几乎没有发生;第四层应该是有组织、有规范地在整个公司的每个项目开发中,都灌输软件重用的思想,一是尽可能地从以往开发的系统中抽取可重用的部分,二是对新开发的部分尽量做到便于以后的重用。

软件重用有代码级的重用和组件级的重用。我们原来的经验大多仅限于程序代码的重用,但这仅仅是一种较低层次的重用,由于缺乏统一的标准和规范、又局限于特定的程序开发语言,所以软件重用率不高。为了提高软件质量、积累和固化知识财富、并尽可能地缩短软件开发周期,我们应该大量采用组件化程序设计方法。

组件化程序设计方法强调真正的软件重用和高度的互操作性,它侧重于组件的生产和装配。组件的生产不仅仅是应用系统的要求,其本身也可以进入组件市场直接获取效益;组件的装配使得软件产品有可能用类似于搭积木的方式快速地建立起来,是提高软件生产效率和产品质量、减轻人员流动所带来的副作用、缩短设计开发周期的现实有效的途径。由于必须遵守一定的标准和规范,所以采用组件化程序设计方法可获得诸多优点:如独立于编程语言和开发环境、组件位置和进程透明、具有良好的可扩充性和可重用性等等。

基于以上分析,我们认为软件重用是在软件开发中避免重复劳动的有效解决方案,而最佳的软件重用模式即--组件化程序设计方法。