摘
要: 将二次建模方法应用在政府信息化软件的开发工作中,提出了在任务分解时,首先从需求中分解出独立特征和具体业务特征,再从具体业务特征中分别抽象出共性特征和具体业务的个性特征,并对共性特征和独立特征与具体业务的个性特征分别建模。应用实践表明,该方法提高了软件的可重用性,缩短了开发周期,便于维护,增强了开发政府信息化软件的实用性。
关键词: 政府信息化; 公共特征; 领域模型; 业务模型
政府信息化软件是面向政府部门、企事业单位,帮助有关部门的业务人员进行业务信息化管理的应用软件系统。政府信息化软件的研究与应用起源于20世纪80年代末,近年来,随着分布式技术、网络技术、数据库技术、软件系统集成技术等的发展,政府信息化软件的支撑技术日益成熟,无论从分析、设计到实现,从界面显示、数据存储到应用功能等各个方面都得到了很大的提高,政府信息化软件的应用范围迅速扩展。但是,政府信息化软件的开发过程中一直存在着开发效率低下、可靠性差、软件质量无法保证的遗憾,主要体现在:(1)开发进度难以控制,系统开发周期太长,开发成本高;(2)无法同步于业务办公环境的变化,使用寿命短,适用性差。这些问题在某种程度上影响了用户的应用积极性,使得开发者长期陷于无休止的维护工作,从而影响了我国政府信息化工作的进度和质量。
本文根据多年来政府信息化软件开发的实际工作经历,采用基于二次建模的软件开发方法,进行政府信息化软件的开发。该方法已在实际的软件开发中得以检验,结果证明:基本上可以解决上述存在的问题,并且对同类应用软件的开发也具有一定的参考作用。
1 政府信息化开发中二次建模的思想
传统软件工程的开发方法,是把整个开发过程划分为需求分析、软件设计、代码设计、测试和维护等几个有序的阶段。各阶段的工作都与具体业务密切相关,系统模型是以具体业务为基础、通过一次性建模构建的业务模型,这样的模型对业务内容、运作方式的变化十分敏感,对业务运作环境的持续稳定性具有较高的要求。然而,对于具体用户来讲,机构调整、工作模式的改变是十分现实的需求,这使得政府信息化软件可能在开发阶段由于需求的变化而不断返工,在运行阶段,又因需求变化“牵一发而动全身”使系统难以得到有效的维护,从而降低软件的可用性。
政府信息化软件并不是所有内容都与具体的业务直接相关。一方面,系统的一部分功能具有一些独立于具体业务的特征,例如:通用查询、系统设置、信息浏览等,简称为独立特征;另一方面,具体业务也存在一些共性特征,例如:流转、规划、审核等业务,其工作流可抽象归结为角色、活动、迁移条件以及相关数据、被调应用等要素的有机组合。将这些与具体业务非直接相关的独立特征和共性特征抽取出来并对其建模,称为领域建模[1]。领域模型与具体业务没有直接关联,因此,基于领域模型实现的系统模块具有一定的稳定性。但领域模型体现的是抽象的和局部的系统特征以及它们之间的关系,没有涵盖政府信息化软件的全部特征及具体业务,因此,需要以领域模型为基础建立覆盖全部系统需求的业务模型。这种设计方法包含了两次系统建模:领域建模和业务建模的过程,实现了政府信息化软件共性特征和变化性特征的分离,因而能在保证实现系统目标的前提下,提高各个模块的可重用性,使系统具有更强的适用性,在一定程度上可以降低系统的维护成本。图1为二次建模方法的示意图。
2 政府信息化软件的领域建模
政府信息化软件以业务办公为中心,涉及业务、文档、报表、图形等多种资源,收件、审批、上报、回复等多类操作,区划、部门、人员、职能等多种权限要素,是一种比较复杂的软件系统。对系统中这些要素进行概括和抽象,可归纳出以下几类实体:
(1)业务:特定用户所处理的相对独立的一项事物,具有一定的生命周期(从创建到结束),有比较固定的办理流程,用户办理业务时需要处理一些特定的文档、图形,输出规定格式的图表等。
(2)流程:业务在用户之间的流转过程,包括活动、变迁条件、被调应用等要素。用户在活动环节处理业务资料,触发系统内部处理过程,并实现活动的自动迁移。
(3)文档:用户办理业务过程中所涉及的各种材料,包括输入表、扫描材料、公文表格、多媒体电子档案等。用户根据权限对文档进行阅读、编辑、输出等操作。
(4)图形:业务办理及专题分析所涉及的图形材料,包括业务所包含的业务图件和办理业务时需参考的图件。图形按用途分类,以层来组织。
(5)报表:业务材料或其他信息按规定格式汇总输出。图形可按业务类型、区划、时间等要素统计生成报表。
(6)操作:指用户对系统资源的处理。如对文档的读、写、输出,对图形的缩放浏览,对业务的审批、发送等。
(7)角色:用户在系统中所具有的职能。对系统资源的处理权限先分配到角色,再建立用户与角色的对应关系,这样可兼顾权限配置的稳定性与灵活性。
(8)人员:即系统用户。人员须扮演一定的角色才能在系统中办理业务;政府信息化办公软件中的人员除按部门组织外,还需考虑服务区域的问题。
上述各类要素之间存在着复杂的联系,对其进行分析与梳理,可建立政府信息化软件领域模型,图2为高度简化的系统领域模型。
政府信息化软件领域模型的具体实现,即领域软件的开发。可采用基于构件的框架技术[2],在框架的指导下通过构件组装完成;也可以采用平台技术,基于领域模型开发系统平台,再在系统平台上,选择业务模型中适合不同业务需求的构件,搭建适合各种需求的应用系统。
3 政府信息化软件的业务建模
基于二次建模模式的政府信息化软件开发具有双重的生命周期:首先是进行领域分析、领域建模与实现的系统领域工程阶段;然后是在领域模型的指导下,对具体业务进行分析、建模与实现的实施工程阶段。后者与传统工程不同的是,在需求分析、软件设计、代码设计、测试与维护的各个阶段均需考虑已建立的领域模型。需求分析应在领域模型的指导下展开,领域模型中的特征单元是需求分析的重点关注对象;系统设计以领域模型为基础,业务模型是基于具体业务环境下的领域模型的扩展;代码设计阶段将模型特征实例化,并按照具体业务的结构和运转方式将其组装成应用系统;应用维护主要是针对业务实例的维护,而领域模型及领域软件的维护则属于系统领域工程的范畴。
以科技项目管理的规划、审批工作流为例来说明基于领域模型的业务建模,其模型如图3所示。图3(a)为抽象的业务流程领域模型[3],图3(b)为具体的预审业务流程模型。
政府信息化软件业务模型的实现也可以采用两种途径:若领域模型采用平台技术实现,则可以通过系统的构建平台直接构建业务模型,通过系统的运行平台对业务模型进行解析,实现系统的功能[4];若领域模型是以构件方式实现,则需要根据业务模型扩展新的应用构件,并编写“胶合”代码,将构件组装成应用系统。
4 基于二次建模模式的政府信息化软件的实现
科技项目管理是政府信息化软件应用的一个典型事例。作者通过对科技项目管理业务办公管理机制的调查与分析,建立了领域模型,并设计开发了科技项目管理政府信息化软件平台;基于系统平台,为某市科技局构建了业务模型,并将其应用于该局日常的业务办公管理中。
实践表明,采用二次建模模式分别建立系统领域模型和业务模型,可有效缩短业务模型的实现时间;同时,因为领域模型具有与业务无关的特性,应用系统维护的难度得以降低。在采用平台技术实现领域模型的情况下,用户经过简单的培训基本可做到自我维护系统。
政府信息化软件通过二次建模方式把传统的一次性建模过程分割为领域建模与业务建模两个阶段,实现了政府信息化软件共性特征和个性特征的分离,并在领域模型的基础上构件了系统的运行平台,兼顾了系统的稳定性和灵活性,增强了系统的适应性和可重用性,降低了系统的维护成本。从更高层次看,二次建模模式部分实现了软件技术与具体应用的分离,使软件工程师和实施工程师各司其责,因而有助于开发工作的分工和管理。
值得注意的是:政府信息化软件的领域建模必须基于对系统的深刻理解,建模人员必须具有高度的抽象思维能力,目前还没有完善的理论对领域建模进行指导。领域建模及平台或构件的开发具有较高难度,因而对于单个应用系统来讲,必然会增加系统开发的成本。但领域模型所具有的适应性使其可复用到其他类似的政府信息化软件中,领域建模及开发时投入的成本可以分摊到多个应用系统的设计与开发工作中。
参考文献
[1] 张伟, 梅宏. 一种面向特征的领域模型及其建模过程.软件学报,2003,14(8).
[2] 刘瑜, 张世琨, 王立福,等. 基于构件的软件框架与角色扩展形态研究.软件学报,2003,14(8):1364-1370.
[3] HOLLINGSWORTH D. The workflow reference model.TC00-1003:
UK, Workflow Management Coalition, 1995:29-31.
[4] 余井泉, 崔秉良. 可定制图文政务软件设计及其应用.国土资源信息化, 2003(4). |