技术开发 频道

"再用式"软件开发方法

【IT168 技术文章】

    1 引言
    当前的软件开发多是针对具体情况的开发过程,开发者注重的是针对当前需求的设计及实现,对由此而产生的软件资源是否能为以后的软件开发者重用却想的很少。这种开发方法无形中造成了巨大的资源浪费。为改变这种现状,本文提出了"再用式"软件开发方法,该方法的出发点,就是在完成当前系统开发的基础上,同时考虑了未来其它系统的开发(当然也包括对原系统的再维护),为以后的软件开发提供尽可能多的可重用软件资源。
    "再用式"软件开发方法是在面向对象(以下简称OO)方法的基础上,针对一类(而不是单个)具有类似需求及特征的系统进行开发的。系统开发的数量越多,其优越性也就越明显。显然,这种方法会给软件开发造成一种非常有益的良性循环。

    2 "再用式"软件开发方法的要点
    2.1 以OO方法为基础
    在OO方法中,对象是可重用的最小单元,对象间的继承既是一种增量式的开发模式,也是一种有效的重用手段。从目前各支撑软件所提供的重用方式看,OO是最有效的一种,因此,"再用式"软件开发方法是在OO方法的基础上进行了补充,以增强软件的可重用性:其软件的可重用部件既可以是OO中的对象(或一组关系密切的对象集团),也可以是非OO方法中的可重用部件,如函数、数据类型、过程、操作、文档等等。
    对本方法来说,可重用的软件都是一种"部件"。部件是本方法重用的基本单位,也是本方法的核心。一般而言,我们可以把目前的部件分成这样几类:系统部件、组织部件、分子部件和原子部件。
    a 系统部件
    这其实就是系统的总体框架,也是本方法中粒度最大的部件。从总体上看,它与硬件中的主板类似。除了由程序、数据构成的框架外,还有一些开发规范,包括其中子部件的开发规范。一般来说,每一个具体的应用领域都需要一个系统部件。对开发者来说,应该建立自己的"系统部件库",尽量在工作中多储存不同领域的系统部件,以利日后的工作。
    最理想的情况,是能象硬件开发那样,由某个权威机构制定系统部件的开发规范,据此发布或开发各领域的系统部件,以最大限度地减少重复劳动,提高规范化程度,使软件开发工业化。
    b 组织部件
    这是一种嵌在系统部件上的子部件,它类似于硬件中的功能插板,也应有严格的规范。一般系统都要靠一个(或几个)组织部件来完成一个特定的任务。各个组织部件只有在系统部件的协调下,才能实现全系统的功能要求。一个系统构件可因其嵌入的组织部件的不同而构成不同的应用系统。
    如果制定规范的机构(或部门) 权威性强,制定的规范严格而又可操作,那么就完全可以象硬件插板一样,让不同的软件开发团体开发的组织部件在一种规范化的系统构件下兼容工作。这样会使软件的重用率大大提高,并能增大程序员们的选择余地。目前微软公司在其系统软件中所提供的一些公用类库可以认为是一种良好的开端,但权威性和规范性还值得怀疑(毕竟是个"民办"公司)。
    b 分子部件与原子部件
    这是本方法中粒度最小的部件,其作用类似硬件中的芯片。OO中使用的基类、派生类就是其典型代表。在这里,原子部件是永久不变的(这样可以增大软件的可重用性),分子部件重用原子部件,而组织部件又由分子部件组成。显然,必须注重原子部件的制作工作:在需要制作新的分子部件时,必须重用原子部件,若没有可重用的原子部件,再创建新的原子部件。原子部件的粒度需由具体情况决定,例如在开发某设计院的人事管理系统时,需要建立一个高级工程师的分子部件(类),我们可以有三种创建的方法:
    ①.直接按"高级工程师(类)"创建;
    ②.按"科技干部----高级工程师"创建;
    ③.按"职工----科技干部----高级工程师"创建。
    从本质上看,第3种方法是先创建一个原子部件----"职工",再创建科技干部、高级工程师,是符合再用式开发方法原则的。而第1、2种方法则不符合本方法。
    显然,以上所说的各类部件都必须在一个统一的软件规范下开发,只有保证了部件的规范化,才能保证开发的成功。
    因为再用式开发方法会在工作中产生一个可为所有开发人员共享的软件资源----部件库,那么以后的软件开发都可以在此基础上利用重用手段使用部件库,而不需要从零开始。在这里,只要都能遵守统一的软件规范,这些共享的部件库既可以由开发人员自己在工作中积累,也可以由软件开发商提供。
    2.2 应具备的开发环境
    在再用式开发方法中,人们需要与部件库交互工作,这样,就需要一个部件库的开发管理平台,这个平台应该提供对部件库的选择、浏览、查询和扩充(以不断充实部件库)等功能,同时还应提供编写部件文本的编辑器,以及与部件对应的语言调试、编译程序,以便制作、调试所产生的部件。如果条件许可,还应提供辅助学习功能,以帮助开发人员熟悉平台的情况。
    综上所述,部件库开发管理平台的组成情况可用图1表示。
    2.3 与快速原型法的结合
    在现实中,需求多变是个让开发人员头痛的问题,目前能有效地解决这一问题的当属快速原型法。但这种方法的最大缺点是开发成本较高,这一点限制了它的推广。而再用式软件开发方法采用快速原型法做需求分析,在后续阶段使用重用机制,就能有效地降低开发成本。
    2.4 需要的开发工具
    几乎所有的软件开发方法都需要开发工具的支持,再用式软件开发方法也不例外。一般而言,本方法需要这么几个平台:部件库开发管理平台、系统组装平台及维护平台。

0
相关文章