李 冶
摘要:采用面向?qū)ο蟮乃枷?以Rational統(tǒng)一過程(RUP)作為軟件開發(fā)方法,以統(tǒng)一建模語言(UML)為分析設(shè)計描述語言,基于B/S模式,Web編程技術(shù)完成;以面向?qū)ο笏枷虢Y(jié)合O/R Mapping技術(shù)完成關(guān)系型數(shù)據(jù)庫的設(shè)計,在應(yīng)用程序和數(shù)據(jù)庫層面設(shè)計了安全防護策略。該系統(tǒng)運行效率高,具有良好的穩(wěn)定性、可擴展性和可維護性。
關(guān)鍵詞:成人教務(wù)管理;UML;統(tǒng)一過程;對象關(guān)系映射
中圖分類號:G473文獻標志碼:A文章編號:1673-291X(2009)14-0266-02
1 引言
成人教育是中國高等教育資源的必要補充。大力發(fā)展成人教育對解決當前就業(yè)、提高農(nóng)民工素質(zhì)、建設(shè)老年人社會等問題作用重大。提高管理水平,尤其是適合時代發(fā)展的教務(wù)管理水平是發(fā)展成人教育的重要發(fā)面。建立以計算機科學技術(shù)為核心的教務(wù)管理系統(tǒng)無疑是個有效途徑。
采用面向?qū)ο蟮乃枷?以RUP作為軟件開發(fā)方法,基于B/S模式Web編程技術(shù)針對成人教育教務(wù)管理的業(yè)務(wù)特點完成系統(tǒng)的開發(fā),保證了系統(tǒng)應(yīng)用的先進性,表現(xiàn)在運行效率高,具有良好的穩(wěn)定性、可擴展性和可維護性。
與國內(nèi)外現(xiàn)有的系統(tǒng)相比,本系統(tǒng)具有應(yīng)用技術(shù)先進、功能全、針對性強、結(jié)構(gòu)形式模塊化、操作簡單等特點。根據(jù)沈陽師范大學成人教育學院的應(yīng)用情況上看,效果良好。
2 RUP與系統(tǒng)模型
RUP(統(tǒng)一軟件開發(fā)過程)是一個面向?qū)ο笄一诰W(wǎng)絡(luò)的程序開發(fā)方法論,將軟件生命周期在時間上分解為四個階段,分別是初始階段、細化階段、構(gòu)建階段、交付階段。
成人教務(wù)管理系統(tǒng)的模型體系是指在RUP的指導下,利用UML 13 種關(guān)系圖集合,涵蓋從需求到部署的軟件系統(tǒng)開發(fā)的所有方面。這當中包括靜態(tài)的結(jié)構(gòu)關(guān)系圖(如類、對象和部署)和動態(tài)行為關(guān)系圖(如序列、活動和狀態(tài))。
2.1系統(tǒng)設(shè)計的RUP初始階段
初始階段的最主要工作就是建立基本需求。RUP的迭代特性意味著各個階段都可以采用進化方式,在初始階段只是大體了解系統(tǒng)各項業(yè)務(wù)需求,并以用例圖的形式對業(yè)務(wù)建模。初始階段的進化式方式在相當大定程度上解決了長期困擾軟件工程需求階段的難題:范圍的確定。具體說表現(xiàn)在范圍過大和軟件的需求方需求變更率高這兩點上,這也恰恰是進行RUP迭代的驅(qū)動力。
用例圖展示系統(tǒng)將提交的功能,它的內(nèi)容決定了其他視圖的開發(fā)。用例圖還是確認和最終驗證系統(tǒng)的主要依據(jù)。根據(jù)成人教務(wù)管理的業(yè)務(wù)分析,確定了教務(wù)員子系統(tǒng)的用例視圖如圖1所示。
2.2系統(tǒng)設(shè)計的RUP細化階段
這個階段要完成靜態(tài)設(shè)計、持久對象設(shè)計、動態(tài)模型設(shè)計、界面設(shè)計等。在面向?qū)ο蟮姆治龊驮O(shè)計思想里,這些設(shè)計主要體現(xiàn)在實現(xiàn)各用例的類的設(shè)計、類之間關(guān)系的設(shè)計以及類之間如何配合協(xié)調(diào)以完成功能的設(shè)計上。系統(tǒng)的設(shè)計要依照用例圖中不同層次用例間的依賴關(guān)系及業(yè)務(wù)邏輯的從簡單到復雜、從低級到高級的次序來進行。
2.1.1教學計劃信息添加用例的設(shè)計
通過圖2(見下頁)可見,專業(yè)、課程和教學計劃是實體類,添加界面屬于接口類,在界面和教學計劃以及界面和課程、和專業(yè)之間都存在著完成控制邏輯的控制類。圖3(見下頁)是教學計劃管理用例中涉及的實體類結(jié)構(gòu)。
2.1.2畢業(yè)生驗印用例的設(shè)計
畢業(yè)生驗印用例的實現(xiàn)稍顯復雜,這里的復雜是復雜在業(yè)務(wù)邏輯上,用例中的類不一定復雜,這也正是面向?qū)ο笤O(shè)計思想下應(yīng)用UML工具的強大之處。圖4(見下頁)是序列圖。
從圖4中分析可知,畢業(yè)生驗印用例中涉及到的邊界類、控制類、和實體類并非怎樣復雜,構(gòu)造的方法和前面的是一樣的,不同之處在于容器類的使用,容器類是緊密結(jié)合于具體的實現(xiàn)工具的。這個用例的類圖模型如圖5所示。
驗印過程如下:
首先,生成一個表頭的緩存內(nèi)容是要驗印的課程,采用Map結(jié)構(gòu),Key中存儲課程的編號,Value存儲課程對象。設(shè)計這個緩存形成結(jié)果集時過濾,因為通過Hibernate獲取學生實體后,可以加載到該學生的所有成績,而通過這些成績又可以獲得相應(yīng)的課程,這樣就會把一個學生所選過的所有課程得到,但是驗證不需要全部的課程。
其次,生成表頭對象。表頭對象由兩部分組成,一是學生號、姓名和專業(yè),二是驗印課程名列;這個對象可以在生成表頭緩存時生成。注意在這個過程中需要對課程所處在表頭中的位置加以定義。
第三步,生成表數(shù)據(jù)對象。這里實際上進行的是交叉數(shù)據(jù)的處理,即根據(jù)學生的列表生成表數(shù)據(jù)對象。在這個過程中需要一個記錄緩存,用于保存從和學生關(guān)聯(lián)的所有課程中要驗證的課程和課程在表頭的位置。最后遍歷表頭列表,根據(jù)緩存中的位置將課程的成績存入到表數(shù)據(jù)對象中。
3 數(shù)據(jù)庫設(shè)計
成人教務(wù)管理系統(tǒng)的數(shù)據(jù)庫采用當今主流數(shù)據(jù)庫——關(guān)系型數(shù)據(jù)庫,數(shù)據(jù)模型是關(guān)系數(shù)據(jù)模型,管理軟件是RDBMS。關(guān)系型數(shù)據(jù)庫數(shù)學基礎(chǔ)嚴格,采用二維表格結(jié)構(gòu)來表示實體以及實體之間一對一,一對多和多對多的聯(lián)系。而系統(tǒng)的設(shè)計是遵循面向?qū)ο蠹夹g(shù)的,面向?qū)ο蟮囊幌盗性怼⒎椒?、?jīng)驗還不能直接應(yīng)用于關(guān)系型數(shù)據(jù)庫,用O/R Mapping結(jié)合實體模型設(shè)計關(guān)系型數(shù)據(jù)庫。
4系統(tǒng)安全方面的防范機制
基于B/S結(jié)構(gòu)的MIS的安全性是多種因素的總和,是一種范圍遠超單個應(yīng)用程序的策略的結(jié)果。在本課題的研究過程中,關(guān)注的是應(yīng)用程序及數(shù)據(jù)庫安全隱患。
在成人教務(wù)管理系統(tǒng)的設(shè)計過程中,應(yīng)用程序及數(shù)據(jù)庫安全隱患具體表現(xiàn)在系統(tǒng)的應(yīng)用域內(nèi)用戶越權(quán)操作和基于B/S的Web攻擊。
針對前者,Java架構(gòu)和完善的權(quán)限處理可在一定程度上加以防范,對于后者,可從以下幾點加以解決:
(1)系統(tǒng)中對用戶密碼的保護包括如下幾項:
* 限制密碼的最小長度,規(guī)定密碼的設(shè)置不得少于兩種字符;
* 限制錯誤登入的次數(shù);
* 記錄設(shè)置時間,超限后提示修改密碼;
(2)在數(shù)據(jù)的訪問中,多使用存儲過程或者參數(shù)化的命令;(3)定時備份數(shù)據(jù)庫;(4)使用操作時間限制,這在編程中可以使用SESSION實現(xiàn);(5)對關(guān)鍵數(shù)據(jù),應(yīng)在傳輸和存儲的時候使用加密技術(shù)。
5 結(jié)束語
系統(tǒng)的設(shè)計調(diào)試以及試運行已經(jīng)在沈陽師范大學成人教育學院得到驗證,效果良好,符合業(yè)務(wù)要求,系統(tǒng)的穩(wěn)定性、高效性和功能可擴展性得到了好評。后續(xù)研究可考慮充分利用網(wǎng)絡(luò)資源實現(xiàn)教師與學生之間對課程乃至相關(guān)知識的傳授渠道和方式的拓展,增加學生和管理人員對教師的評價等。