6.5.1 网络财务系统的开发环境描述
6.5.1.1 网络财务系统开发环境的重要特性
网络财务系统开发环境(NFSDE,Net Financial System Development Environment)是指用来支撑某种系统开发方法或遵循某种系统处理模型而进行网络财务系统开发的一组协调一致的工具,是支持系统分析、设计、实施及维护等网络财务系统的整个生存周期全部活动的,把方法、组织管理和计算机化的工具集于一身的构架。从这个描述,可以看出网络财务系统开发环境的几个重要特性。
(1)集合性网络财务系统开发环境是一组相互独立的开发工具的集合。这些工具有支持系统分析及设计的工具、语言工具、质量保证工具和配置管理工具等。因此,从某种意义上说,它是一个网络财务系统开发用的工具箱。
(2)整体性与一致性网络财务系统开发环境是由一组工具以及作为后援的信息数据库和软部件库,按照一定的模式组织而成的一个整体化构架。它具有统一的开发方法或系统处理模型、统一的后援信息数据库和软部件库以及统一的用户接口。
(3)通用性及适应性环境应该在网络财务系统生存周期的各个阶段能为开发人员提供尽可能多的支持。而且,环境应该尽量少依靠硬件环境,因而具有较强的可移植性。
(4)可扩充性网络财务系统开发环境应能根据需要逐步扩充和完善。因此它应该向用户提供扩充的接口,由用户自行增加新的工具、新的信息资源和软部件等。
6.5.1.2 网络财务系统开发环境的构成
网络财务系统开发环境主要由三库一接口组成,即信息数据库、软部件库、工具库和交互式的人机界面。
其中,软部件库是开发环境的一个重要后援组成部分之一。软部件指的是具有某种完整功能的程序段。它们或者是一个供用户或其他部件调用的子程序、过程,或者是一个功能模块,甚至是某种功能相对固定的子系统。从外部看,它们具有三个共同的特点。
(1)各软部件相对独立,各有自己的功能,部件间没有必然的联系;
(2)它们都具有变量传递的能力和调用部件时要遵循的有关说明;
(3)这些部件有较高的可重用性,能够被不同的用户共享。
软部件通常是面向用户的,但同时又包含对工具库的支持。软部件可以由用户根据需要进行装载、组合等操纵。由软部件使用的场合不同,软部件库也可分为子程序库、过程库、模型库、可重用软件库等。
信息数据库是开发环境的另一个重要后援组成部分。它由两类信息构成。一类是面向用户(即网络财务系统开发人员)的信息,包括供用户参考用的知识性信息(如各种软件规范说明、文件格式、图标符号解释等)和反映开发环境配置的服务信息(如软部件目录、工具库清单等)。这些信息可以由用户通过人机界面直接存取与修改。另一类是面向环境的信息,包括支持各种软部件、工具和环境本身工作的基础信息,例如驱动软部件和工具运行的基础资料、工具加工的毛坯、半成品和成品等。这些信息由软部件库和工具库控制存取。随着人工智能技术的引入,信息数据库将会逐渐增加知识的成分。
工具库是一个辅助网络财务系统开发的组合式实用链接库。它由支持网络财务系统开发各阶段的单个工具组成(例如各种程序生成器、文件编辑器、报表格式生成器、菜单生成器和测试资料发生器等)。工具库与软部件库的不同是:软部件库的某个子集可以作为网络财务系统的可重用成分,而工具库与网络财务系统是分离的。与“可重用性”相比,它更加强调的是“工具性”。
交互式人机界面是开发环境与网络财务系统开发人员之间的接口部件。它充分运用终端设备和具有强有力交互功能的屏幕显示技术、图形处理技术、窗口技术和菜单技术等。向用户提供一个友好的,以三库为基础的统一接口。
目前,关于网络财务系统开发环境还有一些其他的描述。由于环境对网络财务系统开发过程在支持形式和程度上的不同,网络财务系统开发环境也可以称为网络财务系统生成系统(NFSGS,NFS Genendon System),网络财务系统开发系统(NFSDS,NFS Deve1opment System)和网络财务系统辅助开发系统(NFSAD,NFS Assistant Deve1opment System)等。
6.5.2 网络财务系统开发环境的方法与策略
6.5.2.1 建立网络财务系统开发环境的基本方法
建立网络财务系统开发环境是一项复杂的工程。除了以软件设计的理论、模型、方法论和表示法等软件工程的理论和规范为基础之外,开发的方法与策略也是一个重要的问题。根据目前大多数网络财务系统开发工具或环境的研制实践来看,主要有如下三种基本方法。
(1)工具集成法这种方法是在收集现有各类软件开发工具(实用程序)的基础上,经过整理和挑选,在统一它们之间的资料交换方式的同时,按照环境支持目标的统一构架,把它们集成在一起。这就是人们通常说的工具箱。这种方法运用工具建立基础数据库、生成或编辑网络财务系统的程序模块和文件资料,以及支持网络财务系统开发各阶段的管理等,所以这是一种基于软件生成技术的方法。
(2)可重用软件后援法这种方法是在收集已有的网络财务系统通用程序模块的基础上,对它们进行优化和改造,提高其可重用性,建立一个可重用软部件库。开发人员根据系统的总体功能结构,从中选用合适或相近的部件经修改后进行组合,从而达到快速构成网络财务系统的框架的目的。这是一种基于软件组合技术的方法。
(3)形式化技术法这种方法的关键是建立一种对网络财务系统仿形式化描述,开发环境有一组形式描述的规则和支持这种形式化描述的一个编译系统。这种方法的自动化程度比较高,用户只需给出所要建立的网络财务系统的形式描述,就能由开发环境对描述进行合法性检验,并将网络财务系统的形式描述自动转换成可执行的机器码。因此,这是一种基于面向对象的形式化技术的方法。
上述三种基本方法各有不同的技术路线,在建立网络财务系统开发环境时采用哪一种方法,应该根据目标,特别是环境开发人员的技术基础和知识结构来决定,方法之间可以互相补充,综合运用。
6.5.2.2 建立网络财务系统开发环境的策略
建立网络财务系统开发环境是一件周期比较长,工作量大而且要求比较高的任务,必须注意选择合适的开发策略。主要的策略如下。
(1)应用成熟的技术,特别是沿用在实践中已被证明是成熟的工具、方法和技术,以降低成本和减少风险。
(2)快速开发原型,以较快的速度先建成开发环境的一个“样机”,或者是开发环境核心部分的一个框架。通过原型的实践,再行修改、扩充,从而减少盲目性,减少最终建成开发环境所出现的失误。
(3)采用增量实现法,开发环境的功能、可重用软部件和工具,在数量上和性能上都可以先形成一个子集,然后逐步完善和扩充。
6.5.3 网络财务系统的开发环境实例
6.5.3.1 网络财务生成系统(NFSGS,NFS Genendon System)
这是一个作者自行开发的网络财务生成系统。其设计目标是由软件开发人员和企业财务管理人员通过系统提供的交互机制,选择系统中预先编制好的标准软部件和根据用户对输入、输出的描述而自动生成的输入输出部件,快速有效地生成企业的网络财务系统。
采用NFSGS生成的网络财务系统由四个部分构成。
(1)资料字典NFSDD,它包括了该网络财务系统的所有数据项及其完整约束的描述;
(2)关系数据库NFSDB;
(3)程序系统NFSP,即进行信息加工处理,产生所需结果的运行系统;
(4)文件资料NFSDOC,包括网络财务系统运行过程中要参考的资料,如功能说明书,使用说明书等。
用户运用NFSGS生成一个网络财务系统的过程如下:通过“NFS定义”选择企业特征和网络财务系统模型,然后根据功能选择NFSGS内的部件,若系统中还不具有某种部件,用户可以自行编制,或在已有部件的基础上改造成新部件。用户将新部件的描述,新部件实体以及新部件与部件库中其他部件的关系通过“一般部件描述”送入系统,经过系统加工处理后,将其插入部件库中。企业特征的描述,网络财务系统模型及部件选择都是交互式的。通过“I/O部件描述”,对网络财务系统的输入输出进行描述。输入部分应描述格式、数据项和数据项之间的关系及数据输入后的处理动作等。而输出部分应描述报表的格式和资料来源。NFSGS根据I/O描述自动生成I/O部件。完成上述工作后,激活系统生成命令,就可以得到由NFSDD、NFSDB、NFSPS和NFSDOC组成的网络财务系统。
NFSGS的部件定义为:
部件=(程序基元,资料基元,文件基元)
程序基元相当于一个程序模块,一般用高级语言或类似的语言完成相应的功能;资料基元反映了程序基元对公共资料的组织要求,这些公共资料将构成网络财务系统的综合数据库;文件基元是对该部件程序基元、资料基元和部件本身的说明性文件资料,它为最终的网络财务系统的文件资料提供素材。选择部件的主要依据是其功能,因此,对用户而言,部件应可识别,以便用户理解该部件的功能和适用范围,正确地进行选择。在NFSGS中提供了一种专门描述部件的语言,其描述具有面向问题、精确和无二义的性质。
NFSGS生成的I/O部件,是系统提供面向用户的描述语言,由用户根据自己的需要给出格式的描述,然后由系统自动生成的。
NFSGS提供一种能够在部件定义时,既定义部件要求的公共资料,也定义为公共资料操作的序列的方法。在生成数据库时将程序中对公共资料或资料基元的操作转换成对数据库的操作。
可重用部件库是NFSGS的核心,其目标是管理可重用部件,支持网络财务系统的生成。主要包括如下各点。
(1)部件存储保证库内部件的联系,使库内组织结构具有完整性和一致性;
(2)部件的选取和理解支持用户从多个角度对部件进行选取和理解;
(3)部件合成部件的最根本属性是其可重用性,它可与其他部件组合生成更大的部件。可把目标系统也看成一个具有抽象功能的部件实体。这样,网络财务系统的开发过程就是一些功能和逻辑上相关的部件的有机组合过程,是从程序模块到系统的层次构造过程。当然,部件组合时,要对部件进行实例化,使之适合特定应用的需要。并且,部件合成前要进行合成检查,被合成的部件要满足一定的约束条件,以保证部件合成的一致性和完整性。也就是说,网络财务系统的开发过程就是系统功能分解、企业特征描述、网络财务系统模型选择、部件选择、I/O接口定义,合成检查、部件合成(包括数据库生成)、编译、连接装配和测试等一系列操作的序列。
6.5.3.2 网络财务系统的辅助开发系统(NFSADS,NFS Assistant Deve1opment System)
这是作者在网络财务系统的应用和开发实践中逐步探索并成功研制的一个NFS辅助开发系统。该系统的设计目标是向用户提供一个企事业网络财务系统的通用框架、功能与资料描述的接口以及支持网络财务系统开发各阶段的项目管理和文档生成的工具库。用户只需要给出网络财务系统的功能描述,基础数据库文件的结构描述,数据采集、加工处理和输出资料的来源、算法和格式的描述,NFS-ADS就可以快速建成目标系统的主体构架。然后由人工补充开发系统的少量特殊部件,将它挂入到主体构架中,就可以完成对目标系统的建造过程。
主体构架是根据网络财务系统的功能描述,从NFS-ADS的可重用软部件库中选择有关部件与特殊部件组合而成的。组成主体构架的可重用软部件与特殊部件的比例决定了NFS-ADS辅助开发网络财务系统的自动化程度。我们的努力方向就是要使人工补充的特殊部件越少越好。NFS-ADS的重点工作之一,就是在收集各种功能和结构都比较好的程序模块的基础上,对它们进行完善和改造,提高其可重用性,然后将它们作为一个个的软部件组织成为一个易于管理的软部件库。
其中,信息数据库目前主要存储着面向环境的信息。例如供文档生成或编辑用的文件副本,用作图形文件编辑用的基本图形元素,启动部件和工具运行的基础资料,以及项目管理的资料等。面向用户的信息有NFS-ADS的资源信息、求助信息和软件工程规范信息等。
软部件库目前主要包括两种可重用的部件:一种是供用户或其他部件调用的子程序或过程,例如各种用于屏幕处理、测试外设状态和用于交互式问答的小程序段;另一种是有某种完整功能的程序模块,例如专用画面显示程序、菜单执行程序、通用表格打印程序等。甚至是某些功能集成的子系统,例如实现基础代码对照表管理(包括录入、查询、删改和打印输出等功能)子系统,功能齐全的系统保密管理子系统等。
工具库目前主要有三类工具:一类是系统定义(或描述)及维护用的工具,包括对功能的定义和资料描述,例如用于描述目标系统功能的菜单生成器,用于资料描述的数据库文件结构生成器,报表格式生成器等;另一类是合成目标系统的工具,包括可重用软部件的选择与系统主体构架的生成等;还有一类是项目管理与文档生成用的工具,例如项目进度管理与人员分工管理程序,系统功能结构图(SFD)生成器,数据流程图(DFD)生成/编辑器和资料字典(DD)生成器等。
到目前为止,已开发的NFS-ADS功能如下。
(1)NFS功能定义包括系统功能的描述,主控程序画面管理,菜单生成和菜单参数的维护。
(2)NFS资料描述包括基础代码数据库文件的建立与维护,输出报表格式的生成与维护。
(3)NFS系统合成包括系统主体构架的程序系统合成与数据库合成。
(4)NFS文档生成与编辑包括系统功能结构图生成,数据流程图编辑,数据库文件的结构字典生成,系统说明书编辑,系统使用说明书编辑与打印程序清单等。
(5)NFS项目管理包括立项登记,进度与人员分工管理。
由于NFS-ADS处在不断研制和完善的过程中,其功能与结构还会不断扩展。就目前已经开发的功能来看,经过在几个系统的实际开发过程中使用,已经收到缩短开发周期、提高软件质量、减少程序调试工作量和提高系统对环境的适应性等比较明显的效果。