夏春梅
摘 要:隨著軟件開發(fā)技術(shù)的不斷發(fā)展,各種軟件系統(tǒng)的設(shè)計方法不斷涌現(xiàn)。為了構(gòu)建高效可靠的教務(wù)系統(tǒng),在設(shè)計時采用基于DCOM模型的多層體系結(jié)構(gòu)和面向構(gòu)件的方法,設(shè)計了一個基于構(gòu)件化思想開發(fā)的系統(tǒng)。此教務(wù)系統(tǒng)集成平臺為一個三層C/S結(jié)構(gòu)的系統(tǒng),實現(xiàn)中間件的功能。在此論述了該教務(wù)管理系統(tǒng)的設(shè)計思想、系統(tǒng)功能和系統(tǒng)架構(gòu)。該系統(tǒng)的開發(fā)為軟件開發(fā)人員和管理人員提供了一種新的思路和技術(shù)手段,并將軟件復(fù)用的思想更好地應(yīng)用到開發(fā)領(lǐng)域中。
關(guān)鍵詞:構(gòu)件; 中間件; 教務(wù)系統(tǒng); C/S結(jié)構(gòu); B/S結(jié)構(gòu)
中圖分類號:TN964?34 文獻標識碼:A 文章編號:1004?373X(2013)02?0042?03
0 引 言
教務(wù)管理系統(tǒng)的發(fā)展大體經(jīng)過了2個主要階段:第一階段是從20世紀的80年代到90年代初期,這一階段主要是以單機版的獨立業(yè)務(wù)系統(tǒng)為主體。這一階段的教務(wù)管理系統(tǒng)功能上相互獨立,教務(wù)數(shù)據(jù)主要以獨享的方式存在;第二階段從90年代的中后期開始,這一階段是網(wǎng)絡(luò)版教務(wù)管理系統(tǒng)發(fā)展階段,它以數(shù)據(jù)庫和局域網(wǎng)為基礎(chǔ)開發(fā)。這時的教務(wù)管理系統(tǒng)將計算機技術(shù)與網(wǎng)絡(luò)技術(shù)、現(xiàn)代教育技術(shù)和信息技術(shù)相結(jié)合,設(shè)計上開始注重數(shù)據(jù)共享,分散處理、集中優(yōu)化,信息安全可靠。這大大提高了學(xué)校教務(wù)管理的效率,避免了重復(fù)工作。
我國的教務(wù)管理系統(tǒng)目前主要有3種形式[1]:基于局域網(wǎng)方式、客戶機/服務(wù)器方式、瀏覽器/服務(wù)器方式。但是前兩種方式相對于瀏覽器/服務(wù)器方式有明顯的缺陷,瀏覽器/服務(wù)器方式仍然居于主流地位。
現(xiàn)代寬帶技術(shù)和校園網(wǎng)的發(fā)展為構(gòu)建教務(wù)管理系統(tǒng)奠定了相關(guān)的硬件基礎(chǔ)。同時基于三層B/S結(jié)構(gòu)的Web數(shù)據(jù)庫[2]技術(shù)和多種開發(fā)平臺的發(fā)展成熟也為其提供了可靠的軟件支撐。從經(jīng)濟性和實用性上考慮,構(gòu)建基于網(wǎng)絡(luò)的教務(wù)管理系統(tǒng)是當(dāng)前網(wǎng)絡(luò)教學(xué)資源建設(shè)的重要任務(wù)及發(fā)展方向。文中將重點討論構(gòu)件化思想在教務(wù)管理系統(tǒng)開發(fā)中的應(yīng)用。
1 構(gòu)件化技術(shù)研究
1.1 構(gòu)件的定義
軟件構(gòu)件在70~80年代主要指可以復(fù)用的程序段,也稱為代碼件。到了90年代,廣泛認為軟件構(gòu)件應(yīng)當(dāng)包括分析件、設(shè)計件、代碼件和測試件??蚣?、軟件提醒結(jié)構(gòu)等很多新的概念也隨之產(chǎn)生。1995年,Will Tracz又提出軟件構(gòu)件應(yīng)該具備以下的屬性:可用性、有用性、適應(yīng)性、質(zhì)量、可移植性。
最近幾年,隨著基于構(gòu)件的軟件開發(fā)技術(shù)的不斷發(fā)展和Java、分布式對象、Client/Server等技術(shù)的涌現(xiàn),對構(gòu)件又出現(xiàn)了許多新的定義。共同要素是[3]:軟件構(gòu)件是單獨開發(fā)并具有特定功能的軟件單位,用于與其他構(gòu)件及支撐環(huán)境組裝成應(yīng)用系統(tǒng)。軟件構(gòu)件的定義從開始提出到形成共識,經(jīng)歷了幾十年的演化。
目前,在軟件構(gòu)件的基礎(chǔ)上又提出了Web構(gòu)件的概念:Web構(gòu)件是Internet環(huán)境下面向服務(wù)的智能軟件實體,它包含明確目標指向的描述內(nèi)容和清晰契約性質(zhì)的接口。它既可以被單獨發(fā)布和調(diào)用,又可以同其他Web構(gòu)件進行組裝,構(gòu)成粒度更大的Web構(gòu)件[4]。
1.2 軟件構(gòu)件的特征
從上面對構(gòu)件的討論可以看出,構(gòu)件應(yīng)具備下面的基本特征:復(fù)用(reusability)、組裝(compositability)、封裝(encapsulizability)、定制(customizability)、粗粒度(coarse granularity)、自治性(autonomy)、集成特征(integration character)、接口連接機制。
簡單地地說,軟件構(gòu)件是一種特殊的軟件單元,它能夠?qū)崿F(xiàn)一定的功能,解決某一領(lǐng)域的問題,并且實現(xiàn)方法是透明的。
2 教務(wù)管理系統(tǒng)
2.1 教務(wù)管理系統(tǒng)的設(shè)計思想
針對傳統(tǒng)的教務(wù)管理工作繁雜、手工勞動多的缺點,將構(gòu)建一個高效可靠的教務(wù)系統(tǒng)。在設(shè)計時采用基于DCOM模型的多層體系結(jié)構(gòu)和面向構(gòu)件的方法,設(shè)計一個基于構(gòu)件化思想開發(fā)的系統(tǒng)。
此教務(wù)系統(tǒng)集成平臺為一個三層C/S結(jié)構(gòu)的系統(tǒng),將實現(xiàn)中間件的功能。它將涵蓋教務(wù)管理中的各種業(yè)務(wù),實現(xiàn)學(xué)生信息管理、教學(xué)計劃管理、選課、排課、評教等多種功能,形成以網(wǎng)絡(luò)為載體的一體化管理模式。管理人員、教師、學(xué)生都可以通過網(wǎng)絡(luò)登陸來訪問該教務(wù)系統(tǒng)。
在設(shè)計時,采用基于DCOM模型[5]的多層體系結(jié)構(gòu)和面向構(gòu)件的方法[6]。服務(wù)器上安裝Win NT操作系統(tǒng),數(shù)據(jù)庫采用國際上比較成熟的Oracle 10i,Web應(yīng)用服務(wù)器采用Oracle Application Server,客戶機采用B/S結(jié)構(gòu)和C/S結(jié)構(gòu)的子系統(tǒng)??蛻舳藨?yīng)用程序用ASP.NET開發(fā),WEB應(yīng)用程序用Oracle Application Server開發(fā)工具開發(fā)。
從圖3可以看到,該系統(tǒng)架構(gòu)實現(xiàn)了界面和邏輯的分離。它將最常用的對象和業(yè)務(wù)邏輯都封裝在了應(yīng)用服務(wù)器中,利用中間層的應(yīng)用服務(wù)器對客戶端提供服務(wù)。學(xué)生、教師和其他管理人員可以通過瀏覽器登陸教務(wù)處網(wǎng)站,通過服務(wù)器訪問Web應(yīng)用程序服務(wù)器從而訪問數(shù)據(jù)庫,這是多層的B/S結(jié)構(gòu);而教務(wù)處的各科室人員和學(xué)校各個院系都是通過客戶端程序連接到Web應(yīng)用程序服務(wù)器來訪問數(shù)據(jù)庫,這是多層C/S結(jié)構(gòu)。以上連接均采用了容錯機制和負載平衡機制[9],使得系統(tǒng)更加穩(wěn)定和高效。
在實現(xiàn)時,將本系統(tǒng)分為了四個層次:表示層[10] 、業(yè)務(wù)層、數(shù)據(jù)訪問層和數(shù)據(jù)層。最下面是數(shù)據(jù)層,也就是數(shù)據(jù)庫,即存儲數(shù)據(jù)的地方;數(shù)據(jù)訪問層可以通過本機或局域網(wǎng)來訪問下面的數(shù)據(jù)層;而業(yè)務(wù)層可以調(diào)用數(shù)據(jù)層的服務(wù),從而間接訪問數(shù)據(jù)層,完成對數(shù)據(jù)庫的各種操作;數(shù)據(jù)訪問層和業(yè)務(wù)層一起構(gòu)成了整個應(yīng)用系統(tǒng)的中間層。表示層是用戶輸入輸出的場所,它可以將數(shù)據(jù)展示給用戶,如圖4所示。
圖4 教務(wù)管理系統(tǒng)的四個層次
在上面的層次結(jié)構(gòu)中,數(shù)據(jù)層一般采用集中式管理,實現(xiàn)數(shù)據(jù)的持久存儲,其功能由數(shù)據(jù)庫服務(wù)器提供。應(yīng)用服務(wù)器則由業(yè)務(wù)層和數(shù)據(jù)訪問層兩部分組成。數(shù)據(jù)訪問層可以直接訪問數(shù)據(jù)庫,從而減少了客戶到數(shù)據(jù)庫的連接,也隱藏了數(shù)據(jù)庫的實現(xiàn)細節(jié)。當(dāng)數(shù)據(jù)庫發(fā)生改變時,只需修改數(shù)據(jù)訪問層的方法,接口可以保持不變,從而業(yè)務(wù)層無需做任何改變。表示層可以通過客戶端程序?qū)崿F(xiàn)對業(yè)務(wù)層的訪問,也可以通過瀏覽器實現(xiàn)對業(yè)務(wù)層的訪問。
綜上所述,本教務(wù)管理系統(tǒng)采用了多層混合體系結(jié)構(gòu)。它結(jié)合使用了C/S結(jié)構(gòu)和B/S的結(jié)構(gòu)。利用DCOM在數(shù)據(jù)訪問層和業(yè)務(wù)層提供了強大的基礎(chǔ)設(shè)施服務(wù),結(jié)合B/S和C/S的多層分布式體系結(jié)構(gòu)形成了基于DCOM的軟件開發(fā)方法。從而使得在開發(fā)中只需專注于業(yè)務(wù)邏輯規(guī)則的開發(fā),而事務(wù)的同步處理、資源的池管理、對共享資源的序列化訪問等基礎(chǔ)設(shè)施的服務(wù)由DCOM來為我們提供。這樣系統(tǒng)的開發(fā)周期大大縮短,系統(tǒng)的健壯性和穩(wěn)定性也得到了可靠的保障。
3 結(jié) 語
本文對構(gòu)件化的思想做了研究和探討,并針對教務(wù)系統(tǒng)做了理論上的分析。由此得到如下結(jié)論:此教務(wù)系統(tǒng)集成平臺為一個三層C/S結(jié)構(gòu)的系統(tǒng),實現(xiàn)中間件的功能。整個教務(wù)系統(tǒng)的設(shè)計采用構(gòu)件化的思想,應(yīng)用套接字編程的方式來構(gòu)造系統(tǒng)。構(gòu)建高效可靠的教務(wù)系統(tǒng)是本文的主旨,雖然做了大量的工作,但還存在一些問題,這些問題是下一步工作的重點。
參考文獻
[1] 祝艷.教務(wù)信息管理系統(tǒng)在高校發(fā)展中的應(yīng)用[J].網(wǎng)絡(luò)與信息,2012(3):18?20.
[2] 徐潔磐.現(xiàn)代數(shù)據(jù)庫系統(tǒng)教程[M].北京:希望電子出版社,2002.
[3] 王志堅,費玉奎,婁淵清.軟件構(gòu)件技術(shù)及其應(yīng)用[M].北京:科學(xué)出版社,2006.
[4] FEI Yu?kui, WANG Zhi?Jian. A concept model of Web components [C]// Proceedings of 2004 IEEE International Conference on Services Computing. [S.l.]: IEEE, 2004: 464?475.
[5] 劉念,張恒國,張楠.基于UML的GIS模型研究與COM/DCOM實現(xiàn)[J].計算機工程與設(shè)計,2007,28(9):2177?2180.
[6] 黃柳青,王滿紅.構(gòu)件中國[M].北京:清華大學(xué)出版社,2006.
[7] LILIUS J, PALTOR I. A tool for verifying UML models [C]// Proc. of the 14th Int. Conference on Automated Sotfware Engineering. [S.l.]: IEEE Computer Society Press, 1999: 255?258.
[8] KOZACZYNSKI W, BOOEH G. Component?based embedded software Engineering [J]. IEEE Software, 1998, 9: 34?36.
[9] 姚全珠,孔偉.基于模糊邏輯技術(shù)的中間件負載平衡機制[J]. 計算機工程,2010,36(20):83?85.
[10] 張亞飛,張娜.至理:精通ASP.NET3.5網(wǎng)絡(luò)開發(fā)技術(shù)[M].北京:電子工業(yè)出版社,2009.