罗耀祖 曹彩凤
摘要:建筑材料信息管理关乎着建筑公司的命脉,随着房地产业的飞速发展,以及项目管理水平的不断提高,迫切地要求相应的建筑材料信息管理系统随之更新与完善。在此,我们引入领域工程技术(Domain Engineering)的思想,利用构件式开发方法,设计出可重构的信息系统,以满足用户的需求。本文从领域工程的思想出发,介绍了建筑材料信息管理系统的体系结构、主要功能及其开发过程。
关键词:领域工程 构件 重构
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2016)05-0000-00
1引言
实现对建筑材料的合理化管理,使建筑工程能够顺利开展,是每一个建筑公私的目标。近年来,国内外的知名建筑公司都对材料的管理与使用提出了很高的要求,建立功能完善的建筑材料信息管理系统显得异常重要,通过相应的网络结构将建筑工程的各个部门联合起来,采集工程实施过程中的关键数据信息,并对数据进行分析,使公司朝着更加稳定、更加经济的方向发展。
然而,软件的更新速度十分惊人,并且过去基于功能结构的自上而下的开发模式不满足系统重构的性质,这样就给系统的更新与维护带来了较大的不便。近年来,随着领域工程[1]的引入,基于领域工程的软件构件式开发方法[2]越来越受到了开发人员的亲睐,因为这种开发方法提高了软件的重构性,使得新系统的开发周期更短,并且成本更低,从而在一定程度上缓解了软件危机[3]。
2基于领域工程的开发技术简介
领域工程实际上是为一组相似或相近系统的应用工程建立基本能力与必备基础的过程,且整个过程都围绕可复用构件展开。领域是指一组具有相似需求的应用系统所涵盖的功能区域。
领域工程就是从某个领域中现有的软件系统入手,找出其共性与可变性,建立领域分析模型,并以此为基础进行领域设计,从而获得领域设计模型。最后,依据领域分析模型和领域设计析模型开发出可复用的领域构件,建立构件库,当在某领域中进行新的系统开发时,可以利用构件库中现有的可复用构件进行系统的重组。
3领域工程思想在建筑材料信息管理系统中的应用
3.1建筑材料信息管理系统的领域分析
根据建筑公司日常工作的要求,本系统可分为四大功能模块,分别为基本资料、材料管理、报表中心、系统设置。每个模块又包含许多小模块,并且模块之间又有一定的联系,图1为系统的功能模块分析图。
本系统的领域分析尤其关心建筑领域中所有对象的动作,以及所有业务的共性与变化性,UML提供的用例图[4]具有鲜明的作用,它可以将系统的功能模型描述为用例模型,一组用例中的参与者包括它们之间的关系,都可以通过用例图展示出来,这样,从用户角度来看,系统的功能以及各功能的操作者都可以描述得淋漓尽致。在建筑材料管理过程中,各业务的主要参与者,抑或说用例分析中的角色参与者,实则建筑公司的工作人员,他们各自对应特定的功能模块,亦即用例。用例图从宏观上展现了建筑材料信息管理系统的基本领域需求,我们可以从构件式开发方法入手,逐一地建立该系统的业务过程模型、功能模型、领域类模型,这样我们就完成了领域分析建模的基本过程。
3.2建筑材料信息管理系统的领域设计
在领域分析模型的基础上,我们进行领域设计,对该系统建立基于领域工程的软件体系结构,并且抽象出建筑领域中相同的类,得到可复用的构件,当进行系统更新,或者开发同一领域的新系统时,我们可充分地利用已有构件的即插即用性,这样自然而然提高软件开发的效率和质量。
本系统采用的是层次化的软件体系结构,如图2所示。建筑材料信息管理系统的体系结构逻辑上分为四层,首先为应用界面层,其次为领域业务层、再者为中间件平台、最后为基础平台与支撑环境。
鉴于这种层次化的体系结构,用户、应用程序以及数据三者之间独立性便可以得到保证,各层次模块之间的藕合性得以降低,这样就更加有利于模块的重用。
在设计基于领域工程的建筑材料信息管理系统的体系结构之后,我们必须对该系统进行领域框架设计及领域设计建模。框架分为白合框架与黑盒框架,根据它们各自的特点,本系统将采用白盒与黑盒相辅相成的方法,通过挖掘模型中的共性和变化性,并且将共性映射为系统中的凝固点,将变化性映射为系统中的热点,进而根据领域的各种需求展开深入的研究与设计。
领域设计模型包括两个部分,其中一部分为对象结构建模,另一部分为对象行为建模,对象结构建模是在对象行为建模的基础上展开的,对象行为建模又可以使对象结构建模得到更严谨的补充和修正。总之,这两方面的内容并没有特别严格的过程界限,它们之间相辅相成,经常交替进行。建模之后,最终给出系统的构件图,如图3所示。
3.3建筑材料信息管理系统的领域实现
.NET服务器控件实际上是一种定义应用程序的用户界面构件,,服务器构件是一种基于浏览器的抽象的对象模型,.NET为我们提供了一种面向对象的编程方法,也就是当今流行的用户界面技术(WebForm),WebForm包含丰富的对象模型,拥有编译、封装、对象复用等诸多功能。服务器控件包含属性、方法以及事件这些基本单元,用户可以根据需要编写这些事件的响应函数。.NET服务器控件为开发者提供了一个WebControl基类,这个基类可以简化对构件的开发。在.NET中,我们可以使用一些比较常见的.NET构件来实现该系统的业务功能,如HTML服务器控件、WEB服务器控件、验证控件、CSS控件、一般构件、自定义构件等。
图4是用.NET构件[5]实现的系统主界面,由于篇幅有限,其它的就不一一介绍。
4结语
领域工程的最终目标是开发出可复用的构件与构架,为相同领域内系统的重组提供支持,从而提高系统的开发效率,节省在开发过程中所用到的人力与物力。
领域工程的开发过程包括领域分析、领域设计、领域实现三个阶段,本文运用面向对象的领域工程开发方法对建筑材料管理领域实施领域工程。首先,从建筑信息管理系统的功能模块入手,对该建筑领域的需求进行领域分析,理清系统中的共性与变化性,利用UML建模方法为该系统进行了领域分析建模。接着,在领域分析模型的基础上,同样运用UML建模方法,对该系统进行了领域设计建模,从而获取领域设计模型,并给出了系统的构件图。最后,对系统进行领域实现,得到可复用的资源。
参考文献
[1]李克勤,陈兆良,梅宏 等.领域工程概述[J].计算机科学,1999.
[2]任明仑,朱卫东,杨善林.基于构件的信息系统体系结构模型[J].小型微型计算机系统,2012.
[3]胡焕新,金细明,李文梅.中国的软件危机[J].新余高专学报,2000.