羅耀祖 曹彩鳳
摘要:建筑材料信息管理關(guān)乎著建筑公司的命脈,隨著房地產(chǎn)業(yè)的飛速發(fā)展,以及項目管理水平的不斷提高,迫切地要求相應(yīng)的建筑材料信息管理系統(tǒng)隨之更新與完善。在此,我們引入領(lǐng)域工程技術(shù)(Domain Engineering)的思想,利用構(gòu)件式開發(fā)方法,設(shè)計出可重構(gòu)的信息系統(tǒng),以滿足用戶的需求。本文從領(lǐng)域工程的思想出發(fā),介紹了建筑材料信息管理系統(tǒng)的體系結(jié)構(gòu)、主要功能及其開發(fā)過程。
關(guān)鍵詞:領(lǐng)域工程 構(gòu)件 重構(gòu)
中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2016)05-0000-00
1引言
實現(xiàn)對建筑材料的合理化管理,使建筑工程能夠順利開展,是每一個建筑公私的目標(biāo)。近年來,國內(nèi)外的知名建筑公司都對材料的管理與使用提出了很高的要求,建立功能完善的建筑材料信息管理系統(tǒng)顯得異常重要,通過相應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)將建筑工程的各個部門聯(lián)合起來,采集工程實施過程中的關(guān)鍵數(shù)據(jù)信息,并對數(shù)據(jù)進(jìn)行分析,使公司朝著更加穩(wěn)定、更加經(jīng)濟(jì)的方向發(fā)展。
然而,軟件的更新速度十分驚人,并且過去基于功能結(jié)構(gòu)的自上而下的開發(fā)模式不滿足系統(tǒng)重構(gòu)的性質(zhì),這樣就給系統(tǒng)的更新與維護(hù)帶來了較大的不便。近年來,隨著領(lǐng)域工程[1]的引入,基于領(lǐng)域工程的軟件構(gòu)件式開發(fā)方法[2]越來越受到了開發(fā)人員的親睞,因為這種開發(fā)方法提高了軟件的重構(gòu)性,使得新系統(tǒng)的開發(fā)周期更短,并且成本更低,從而在一定程度上緩解了軟件危機(jī)[3]。
2基于領(lǐng)域工程的開發(fā)技術(shù)簡介
領(lǐng)域工程實際上是為一組相似或相近系統(tǒng)的應(yīng)用工程建立基本能力與必備基礎(chǔ)的過程,且整個過程都圍繞可復(fù)用構(gòu)件展開。領(lǐng)域是指一組具有相似需求的應(yīng)用系統(tǒng)所涵蓋的功能區(qū)域。
領(lǐng)域工程就是從某個領(lǐng)域中現(xiàn)有的軟件系統(tǒng)入手,找出其共性與可變性,建立領(lǐng)域分析模型,并以此為基礎(chǔ)進(jìn)行領(lǐng)域設(shè)計,從而獲得領(lǐng)域設(shè)計模型。最后,依據(jù)領(lǐng)域分析模型和領(lǐng)域設(shè)計析模型開發(fā)出可復(fù)用的領(lǐng)域構(gòu)件,建立構(gòu)件庫,當(dāng)在某領(lǐng)域中進(jìn)行新的系統(tǒng)開發(fā)時,可以利用構(gòu)件庫中現(xiàn)有的可復(fù)用構(gòu)件進(jìn)行系統(tǒng)的重組。
3領(lǐng)域工程思想在建筑材料信息管理系統(tǒng)中的應(yīng)用
3.1建筑材料信息管理系統(tǒng)的領(lǐng)域分析
根據(jù)建筑公司日常工作的要求,本系統(tǒng)可分為四大功能模塊,分別為基本資料、材料管理、報表中心、系統(tǒng)設(shè)置。每個模塊又包含許多小模塊,并且模塊之間又有一定的聯(lián)系,圖1為系統(tǒng)的功能模塊分析圖。
本系統(tǒng)的領(lǐng)域分析尤其關(guān)心建筑領(lǐng)域中所有對象的動作,以及所有業(yè)務(wù)的共性與變化性,UML提供的用例圖[4]具有鮮明的作用,它可以將系統(tǒng)的功能模型描述為用例模型,一組用例中的參與者包括它們之間的關(guān)系,都可以通過用例圖展示出來,這樣,從用戶角度來看,系統(tǒng)的功能以及各功能的操作者都可以描述得淋漓盡致。在建筑材料管理過程中,各業(yè)務(wù)的主要參與者,抑或說用例分析中的角色參與者,實則建筑公司的工作人員,他們各自對應(yīng)特定的功能模塊,亦即用例。用例圖從宏觀上展現(xiàn)了建筑材料信息管理系統(tǒng)的基本領(lǐng)域需求,我們可以從構(gòu)件式開發(fā)方法入手,逐一地建立該系統(tǒng)的業(yè)務(wù)過程模型、功能模型、領(lǐng)域類模型,這樣我們就完成了領(lǐng)域分析建模的基本過程。
3.2建筑材料信息管理系統(tǒng)的領(lǐng)域設(shè)計
在領(lǐng)域分析模型的基礎(chǔ)上,我們進(jìn)行領(lǐng)域設(shè)計,對該系統(tǒng)建立基于領(lǐng)域工程的軟件體系結(jié)構(gòu),并且抽象出建筑領(lǐng)域中相同的類,得到可復(fù)用的構(gòu)件,當(dāng)進(jìn)行系統(tǒng)更新,或者開發(fā)同一領(lǐng)域的新系統(tǒng)時,我們可充分地利用已有構(gòu)件的即插即用性,這樣自然而然提高軟件開發(fā)的效率和質(zhì)量。
本系統(tǒng)采用的是層次化的軟件體系結(jié)構(gòu),如圖2所示。建筑材料信息管理系統(tǒng)的體系結(jié)構(gòu)邏輯上分為四層,首先為應(yīng)用界面層,其次為領(lǐng)域業(yè)務(wù)層、再者為中間件平臺、最后為基礎(chǔ)平臺與支撐環(huán)境。
鑒于這種層次化的體系結(jié)構(gòu),用戶、應(yīng)用程序以及數(shù)據(jù)三者之間獨(dú)立性便可以得到保證,各層次模塊之間的藕合性得以降低,這樣就更加有利于模塊的重用。
在設(shè)計基于領(lǐng)域工程的建筑材料信息管理系統(tǒng)的體系結(jié)構(gòu)之后,我們必須對該系統(tǒng)進(jìn)行領(lǐng)域框架設(shè)計及領(lǐng)域設(shè)計建模。框架分為白合框架與黑盒框架,根據(jù)它們各自的特點(diǎn),本系統(tǒng)將采用白盒與黑盒相輔相成的方法,通過挖掘模型中的共性和變化性,并且將共性映射為系統(tǒng)中的凝固點(diǎn),將變化性映射為系統(tǒng)中的熱點(diǎn),進(jìn)而根據(jù)領(lǐng)域的各種需求展開深入的研究與設(shè)計。
領(lǐng)域設(shè)計模型包括兩個部分,其中一部分為對象結(jié)構(gòu)建模,另一部分為對象行為建模,對象結(jié)構(gòu)建模是在對象行為建模的基礎(chǔ)上展開的,對象行為建模又可以使對象結(jié)構(gòu)建模得到更嚴(yán)謹(jǐn)?shù)难a(bǔ)充和修正??傊?,這兩方面的內(nèi)容并沒有特別嚴(yán)格的過程界限,它們之間相輔相成,經(jīng)常交替進(jìn)行。建模之后,最終給出系統(tǒng)的構(gòu)件圖,如圖3所示。
3.3建筑材料信息管理系統(tǒng)的領(lǐng)域?qū)崿F(xiàn)
.NET服務(wù)器控件實際上是一種定義應(yīng)用程序的用戶界面構(gòu)件,,服務(wù)器構(gòu)件是一種基于瀏覽器的抽象的對象模型,.NET為我們提供了一種面向?qū)ο蟮木幊谭椒ǎ簿褪钱?dāng)今流行的用戶界面技術(shù)(WebForm),WebForm包含豐富的對象模型,擁有編譯、封裝、對象復(fù)用等諸多功能。服務(wù)器控件包含屬性、方法以及事件這些基本單元,用戶可以根據(jù)需要編寫這些事件的響應(yīng)函數(shù)。.NET服務(wù)器控件為開發(fā)者提供了一個WebControl基類,這個基類可以簡化對構(gòu)件的開發(fā)。在.NET中,我們可以使用一些比較常見的.NET構(gòu)件來實現(xiàn)該系統(tǒng)的業(yè)務(wù)功能,如HTML服務(wù)器控件、WEB服務(wù)器控件、驗證控件、CSS控件、一般構(gòu)件、自定義構(gòu)件等。
圖4是用.NET構(gòu)件[5]實現(xiàn)的系統(tǒng)主界面,由于篇幅有限,其它的就不一一介紹。
4結(jié)語
領(lǐng)域工程的最終目標(biāo)是開發(fā)出可復(fù)用的構(gòu)件與構(gòu)架,為相同領(lǐng)域內(nèi)系統(tǒng)的重組提供支持,從而提高系統(tǒng)的開發(fā)效率,節(jié)省在開發(fā)過程中所用到的人力與物力。
領(lǐng)域工程的開發(fā)過程包括領(lǐng)域分析、領(lǐng)域設(shè)計、領(lǐng)域?qū)崿F(xiàn)三個階段,本文運(yùn)用面向?qū)ο蟮念I(lǐng)域工程開發(fā)方法對建筑材料管理領(lǐng)域?qū)嵤╊I(lǐng)域工程。首先,從建筑信息管理系統(tǒng)的功能模塊入手,對該建筑領(lǐng)域的需求進(jìn)行領(lǐng)域分析,理清系統(tǒng)中的共性與變化性,利用UML建模方法為該系統(tǒng)進(jìn)行了領(lǐng)域分析建模。接著,在領(lǐng)域分析模型的基礎(chǔ)上,同樣運(yùn)用UML建模方法,對該系統(tǒng)進(jìn)行了領(lǐng)域設(shè)計建模,從而獲取領(lǐng)域設(shè)計模型,并給出了系統(tǒng)的構(gòu)件圖。最后,對系統(tǒng)進(jìn)行領(lǐng)域?qū)崿F(xiàn),得到可復(fù)用的資源。
參考文獻(xiàn)
[1]李克勤,陳兆良,梅宏 等.領(lǐng)域工程概述[J].計算機(jī)科學(xué),1999.
[2]任明侖,朱衛(wèi)東,楊善林.基于構(gòu)件的信息系統(tǒng)體系結(jié)構(gòu)模型[J].小型微型計算機(jī)系統(tǒng),2012.
[3]胡煥新,金細(xì)明,李文梅.中國的軟件危機(jī)[J].新余高專學(xué)報,2000.