郭子源
摘要
目前,隨著互聯(lián)網(wǎng)的廣泛普及應(yīng)用,計算機軟件產(chǎn)業(yè)已經(jīng)深刻影響著社會各行業(yè)的發(fā)展.較早之前,快速準確的開發(fā)符合客戶需求的軟件產(chǎn)品是比較困難的,但隨著軟件復(fù)用的研究與發(fā)展,以及軟件產(chǎn)品線的產(chǎn)生,使得可以在滿足用戶個性化需求的前提下,通過產(chǎn)品線的定制以及調(diào)整,快速有效的生產(chǎn)軟件產(chǎn)品本文對教學(xué)服務(wù)管理領(lǐng)域進行了研究,并運用領(lǐng)域工程方法給出解決方案,從而為該領(lǐng)域內(nèi)一系列新系統(tǒng)的設(shè)計與開發(fā)提供了可復(fù)用資產(chǎn),有助于提高該領(lǐng)域的軟件開發(fā)質(zhì)量和效率。同時基于實際應(yīng)用背景,運用領(lǐng)域工程的成果設(shè)計開發(fā)了教學(xué)服務(wù)管理系統(tǒng),初步對本方案可行性進行了驗證。
【關(guān)鍵詞】教學(xué)服務(wù)管理 軟件產(chǎn)品線 領(lǐng)域工程 可變性
1 緒論
目前,社會各行業(yè)己開始廣泛應(yīng)用軟件系統(tǒng),而軟件企業(yè)需要縮短軟件產(chǎn)品上市時間,并在保證軟件質(zhì)量的前提下,縮減開發(fā)中的開銷成本。在軟件產(chǎn)業(yè)發(fā)展過程中,根據(jù)軟件大規(guī)模復(fù)用以及軟件密集型系統(tǒng)的研究,產(chǎn)生了軟件產(chǎn)品線技術(shù)。軟件產(chǎn)品線著眼于領(lǐng)域內(nèi)一系列相似系統(tǒng),新系統(tǒng)的需求往往與己有系統(tǒng)存在很多相似性,使用軟件產(chǎn)品線就可以達到節(jié)省軟件開發(fā)過程開銷、提高開發(fā)效率的作用。
軟件產(chǎn)品線包括領(lǐng)域工程和應(yīng)用工程兩個生命周期。在進行領(lǐng)域工程的過程中,為了表達領(lǐng)域內(nèi)存在的相似性,引入了特征作為工具,面向特征的分析已經(jīng)是最流行的領(lǐng)域分析方法。在軟件產(chǎn)品線中,所有產(chǎn)品通常都可以利用特征模型表示出來,這樣就可以利用一組特征的特定組合,來表達所有產(chǎn)品的特性。
2 面向特征領(lǐng)域分析方法
面向特征的領(lǐng)域分析方法是由SEI提出的,在眾多領(lǐng)域中被成功應(yīng)用,它被認為是最為實用的領(lǐng)域建模技術(shù)之一。FODA方法中最關(guān)鍵的就是通過領(lǐng)域模型對領(lǐng)域中的特征進行明確的表達,并由此建立出特征模型。
面向特征的領(lǐng)域分析方法主要包含兩個工作階段上下文分析(語境分析)和領(lǐng)域建模。
2.1 上下文分析
該階段的主要目標是通過分析和評估領(lǐng)域內(nèi)元素和領(lǐng)域外元素之間的關(guān)系,來界定相應(yīng)領(lǐng)域的領(lǐng)域范圍。最終建立領(lǐng)域涉眾表及領(lǐng)域字典等用以表達領(lǐng)域上下文。
2.2 領(lǐng)域建模
該階段的主要任務(wù)是對領(lǐng)域內(nèi)一組系統(tǒng)所存在的共性特征和可變特征進行獲取,最終完成對領(lǐng)域模型構(gòu)建。
3 教學(xué)服務(wù)管理領(lǐng)域分析
本文所研究的范圍是教學(xué)服務(wù)管理領(lǐng)域。教學(xué)服務(wù)管理系統(tǒng)需要統(tǒng)一地對教師、學(xué)生以及教務(wù)管理員所涉及的相關(guān)事宜,如課程資源、作業(yè)、教務(wù)通知、教學(xué)反饋等各個方面進行管理,并承擔(dān)起教學(xué)和管理平臺的重任。
在領(lǐng)域分析過程中,我們對教學(xué)服務(wù)管理的共性和可變性特征進行捕獲、選擇、抽象和表達。構(gòu)建出的領(lǐng)域模型主要由行為層、功能層以及服務(wù)層三個層次組成。
3.1 領(lǐng)域服務(wù)層分析
該層的主要任務(wù)是找出領(lǐng)域內(nèi)存在的服務(wù),獲得每個服務(wù)具有的服務(wù)特征。這些特征既包括了領(lǐng)域共性特征,也包括領(lǐng)域變化性特征。
3.2 領(lǐng)域功能層分析
該層的主要任務(wù)是通過對領(lǐng)域內(nèi)服務(wù)功能的分析,獲得相應(yīng)的功能特征。領(lǐng)域功能層特征分為可選特征和必選特征:可選特征能良好的反映領(lǐng)域內(nèi)的系統(tǒng)之間的差異性;必選特征是領(lǐng)域中所有的系統(tǒng)都必須擁有的特征。以作業(yè)管理這一領(lǐng)域服務(wù)為例,必選特征包括布置作業(yè)、提交作業(yè)、批閱作業(yè),可選特征包括查看結(jié)果,如圖1所示。
3.3 行為特點層分析
該層的主要任務(wù)是得到領(lǐng)域功能具有的行為特點,主要包含了分析執(zhí)行時前期及后期的行為特點。前期行為特點包括前期準備、前置條件等后期行為特點包括控制權(quán)限的變化、后置條件等。以領(lǐng)域服務(wù)層中布置作業(yè)特征為例,相應(yīng)的行為特點分析結(jié)果如圖1所示。
4 教學(xué)服務(wù)管理領(lǐng)域體系結(jié)構(gòu)設(shè)計
利用分層的體系結(jié)構(gòu)可以很好的降低B/S架構(gòu)中系統(tǒng)存在的耦合度,因此分層體系結(jié)構(gòu)被廣泛使用。我們設(shè)計了如圖2所示的教學(xué)服務(wù)管理系統(tǒng)多層體系結(jié)構(gòu)。
該體系機構(gòu)的具體各層分解如下:
4.1 基礎(chǔ)構(gòu)件層
該層處在系統(tǒng)的最底層,主要包括了提供系統(tǒng)支持的基礎(chǔ)構(gòu)件。在該層通過對數(shù)據(jù)進行代碼封裝,并以一定的組織形式構(gòu)成數(shù)據(jù)構(gòu)件。該層為其上層提供調(diào)用接口,有效的支持了系統(tǒng)各業(yè)務(wù)的完成與實現(xiàn)。
4.2 原子業(yè)務(wù)構(gòu)件層
該層是在對業(yè)務(wù)細化的前提下,組織和整合基礎(chǔ)構(gòu)件層所提供的構(gòu)件。最終形成一系列數(shù)據(jù)處理構(gòu)件、界面構(gòu)件等。
4.3 基礎(chǔ)業(yè)務(wù)構(gòu)件層
該層的構(gòu)件可以直接面向具體的應(yīng)用,直接處理部分相關(guān)業(yè)務(wù),但并不能滿足所有應(yīng)用的需求。該層構(gòu)件是通過組織若干個原子業(yè)務(wù)層所提供的原子構(gòu)件而形成的。
4.4 通用應(yīng)用構(gòu)件層
通過基礎(chǔ)業(yè)務(wù)構(gòu)件以及原子構(gòu)件等一系列小粒度構(gòu)件原料的組織整合,最終形成了該層構(gòu)件。該層構(gòu)件在級別上處于領(lǐng)域子系統(tǒng)級別。當(dāng)然不同的領(lǐng)域,不同的業(yè)務(wù)所產(chǎn)生的通用應(yīng)用構(gòu)件也就不盡相同。
4.5 領(lǐng)域應(yīng)用構(gòu)件層
該層是將上述幾層的構(gòu)件進行篩選、聚合、組裝而形成的更加復(fù)雜的領(lǐng)域應(yīng)用構(gòu)件,最終形成符合特定領(lǐng)域需求的通用領(lǐng)域構(gòu)件。
5 教學(xué)服務(wù)管理領(lǐng)域?qū)崿F(xiàn)
J2EE是一個被廣泛認可的工業(yè)標準,是由多個行業(yè)內(nèi)權(quán)威企業(yè)共同發(fā)起的標準。J2EE提供了支持HTTP訪問的Servlets和JSP.對業(yè)務(wù)邏輯封裝的EJB(Enterprise Java Beans)組件技術(shù)、以及對XML的全面支持。J2EE提供了一系列支持良好的實現(xiàn)機制,來對不同行業(yè)的特定需求進行適應(yīng),在使用J2EE做為開發(fā)平臺時,系統(tǒng)可以有很強的穩(wěn)定性、可移植性、易維護性。
在完成教學(xué)服務(wù)管理系統(tǒng)的領(lǐng)域分析和設(shè)計之后,我們應(yīng)用J2EE及框架技術(shù)進行功能模塊的實現(xiàn)。根據(jù)實際教學(xué)服務(wù)管理系統(tǒng)的特定需求,我們對領(lǐng)域的工作流程、用戶權(quán)限、界面顯示等進行了定制。本教學(xué)服務(wù)管理系統(tǒng)實現(xiàn)了作業(yè)管理、考試安排、教學(xué)反饋、論壇中心、個人中心等功能模塊。教學(xué)服務(wù)管理系統(tǒng)的學(xué)生主界面如圖3。
6 總結(jié)
本文采用了基于領(lǐng)域工程的軟件開發(fā)方法設(shè)計實現(xiàn)了教學(xué)服務(wù)管理系統(tǒng),相比傳統(tǒng)開發(fā)方式,軟件質(zhì)量及效率都有所提升。但由于時間、精力及研究方向的深度探索等問題,仍然存在很多可以改進之處:領(lǐng)域工程整個過程需要不斷精化及循環(huán)回溯,今后在新需求的基礎(chǔ)上,對教學(xué)服務(wù)管理系統(tǒng)領(lǐng)域再進行領(lǐng)域工程,使領(lǐng)域可復(fù)用資產(chǎn)得到擴展及精化;此外,特征的溯源性這一方面也是值得深入研究的,通過特征的追根溯源,可以完成由特征到體系結(jié)構(gòu)的平滑過渡。
參考文獻
[1]鄧小娥.軟件產(chǎn)品線工程方法的研究和應(yīng)用[D].東華大學(xué),2011.
[2]Bjorner,Dines.A survey of domainengineering.Software EngineeringConference(APSEC),2012 19th Asia-Pacific.
[3]周錦程,王丹,余泉,夏開建,洪華軍.基于領(lǐng)域工程的構(gòu)件化可擴展管理信息系統(tǒng)[J].計算機系統(tǒng)應(yīng)用,2010(12).
[4]A component-based approach tothe design and implementationof assembly automation system.Proceedings of the Institution ofMechanical Engineers,PartB:Journalof Engineering Manufacture,2007.
[5]崔發(fā)強.基于領(lǐng)域工程的構(gòu)件化預(yù)算管理系統(tǒng)設(shè)計與實現(xiàn)[D].電子科技大學(xué),2012.
[6]DeePak Alur,John Crupl,Dan Malks.Core J2EE patterns[M].機械工業(yè)出版社.2002.1 .
[7]格根其.基于教學(xué)服務(wù)系統(tǒng)的數(shù)據(jù)庫存儲過程的研究[D].天津科技大學(xué),2014.