尹鐵巖, 韓江霞, 李靜波
(吉林大學(xué) a. 商學(xué)院; b. 公共計(jì)算機(jī)教學(xué)與研究中心, 長春 130012)
近年來, 系統(tǒng)開發(fā)方法得到了飛速發(fā)展, 并且在高校選課系統(tǒng)中得到了廣泛應(yīng)用。其中, 生命周期法和原型法已成為應(yīng)用最為廣泛的系統(tǒng)開發(fā)方法。隨著高校招生規(guī)模不斷擴(kuò)大, 學(xué)生選課及成績管理的信息量大幅增加, 使用傳統(tǒng)的生命周期法和原型法在可擴(kuò)充性和交互性等方面往往無法達(dá)到用戶的實(shí)際需求。主要表現(xiàn)在: 功能不穩(wěn)定、 不支持封裝, 易產(chǎn)生漏洞、 軟件和硬件不支持靈活配置、 安全性不高, 用戶賬號(hào)被盜、 信息擁堵和系統(tǒng)崩潰?;赨ML(Unified Modeling Language)開發(fā)方法的提出, 有效地解決了這些問題。
面向?qū)ο蟮南到y(tǒng)開發(fā)方法, 具有反復(fù)迭代的特點(diǎn), 使開發(fā)的系統(tǒng)能適應(yīng)用戶需求。UML統(tǒng)一建模語言, 融合了面向?qū)ο箝_發(fā)方法的主要技術(shù), 使用統(tǒng)一的語義和符號(hào)為系統(tǒng)各開發(fā)階段建立模型, 使系統(tǒng)建模過程標(biāo)準(zhǔn)化, 統(tǒng)一化和規(guī)范化, 避免了傳統(tǒng)開發(fā)方法在不同開發(fā)階段轉(zhuǎn)換語義和表示方法的鴻溝。用例圖、 靜態(tài)結(jié)構(gòu)圖、 動(dòng)態(tài)行為圖和物理實(shí)現(xiàn)圖4種圖形化表現(xiàn)形式[1], 產(chǎn)生的模型易于理解, 便于開發(fā)人員與用戶之間溝通, 從而能及時(shí)得到用戶的反饋信息。由于UML建模方法可有效解決選課系統(tǒng)安全性低和信息擁堵問題, 提高選課系統(tǒng)管理水平, 因此已成為業(yè)界研究熱點(diǎn)。
筆者以高校選課系統(tǒng)為研究對(duì)象, 基于面向?qū)ο蟮乃枷? 提出了UML建模方法, 分別從業(yè)務(wù)建模、 需求建模、 分析與設(shè)計(jì)、 部署與實(shí)現(xiàn)4個(gè)階段進(jìn)行了系統(tǒng)分析, 給出了多種UML視圖。建模結(jié)果表明, 該方法保證了可重用性和封裝性, 使用該方法開發(fā)的選課系統(tǒng)可滿足用戶實(shí)際需求。
業(yè)務(wù)建模集中在業(yè)務(wù)本身及其與工作流相互作用的實(shí)體, 以便在設(shè)計(jì)系統(tǒng)前理解業(yè)務(wù)邏輯。因此, 高校選課業(yè)務(wù)可以作為一個(gè)業(yè)務(wù)用例圖, 顯示業(yè)務(wù)參與者(利用高校選課業(yè)務(wù)的實(shí)體)和業(yè)務(wù)用例(為業(yè)務(wù)參與者提供有價(jià)值的一組相關(guān)工作流)之間的關(guān)系。高校選課業(yè)務(wù)主要指提供在線選課、 退課和查詢信息等服務(wù)。圖1是高校選課業(yè)務(wù)用例圖。
圖1 選課業(yè)務(wù)用例圖
如圖1所示, 高校選課業(yè)務(wù)參與者有學(xué)生和教師。學(xué)生的業(yè)務(wù)用例主要有選課、 退課和查看成績; 教師的業(yè)務(wù)用例主要是記錄成績。
需求建模是在業(yè)務(wù)建?;A(chǔ)上, 結(jié)合系統(tǒng)的思想, 進(jìn)行需求分析。好的需求管理是項(xiàng)目成功的第1因素?,F(xiàn)今, 雖然系統(tǒng)開發(fā)技術(shù)日益完善, 但不能得到完整、 正確以及無二義性的需求, 仍然導(dǎo)致了大量系統(tǒng)開發(fā)以失敗告終??梢? 系統(tǒng)需求分析在系統(tǒng)開發(fā)設(shè)計(jì)過程中具有不可忽視的重要性。高校選課系統(tǒng)的需求建模主要任務(wù)是識(shí)別系統(tǒng)參與者和用例, 從而構(gòu)建系統(tǒng)用例模型。
從系統(tǒng)的角度看, 參與者是與系統(tǒng)進(jìn)行交互的外部實(shí)體, 而用例是參與者在系統(tǒng)中執(zhí)行的一系列動(dòng)作。根據(jù)高校選課系統(tǒng)的需求調(diào)查, 可識(shí)別的系統(tǒng)參與者有: 學(xué)生、 教師和管理員[2]。而參與者涉及的主要用例及其用例描述[3]如表1所示。
表1 高校選課系統(tǒng)用例描述
根據(jù)上述識(shí)別的參與者和用例及其所屬關(guān)系構(gòu)建的高校選課系統(tǒng)用例模型[4]如圖2所示。學(xué)生參與者的主要用例有: 選課、 退課、 教學(xué)質(zhì)量評(píng)價(jià)及查詢成績、 課程介紹等信息; 教師參與者主要用例有: 錄入成績、 提交成績及查詢選課情況、 個(gè)人課表等信息; 管理員參與者主要用例有: 學(xué)生管理、 教師管理和課程管理。
圖2 高校選課系統(tǒng)用例圖
系統(tǒng)分析與設(shè)計(jì)是在系統(tǒng)需求建?;A(chǔ)上, 發(fā)現(xiàn)類及其聯(lián)系, 從而構(gòu)建系統(tǒng)的靜態(tài)結(jié)構(gòu)模型和動(dòng)態(tài)行為模型, 以實(shí)現(xiàn)需求階段捕獲的功能和任務(wù)。
高校選課系統(tǒng)的靜態(tài)結(jié)構(gòu)可通過類圖描述。類圖構(gòu)建了一個(gè)系統(tǒng)藍(lán)圖, 是定義其他圖的基礎(chǔ)。而對(duì)類的分析則是繪制類圖的基礎(chǔ)。為實(shí)現(xiàn)高內(nèi)聚和低耦合, 利用UML擴(kuò)展機(jī)制, 可將高校選課系統(tǒng)所有類劃分成如下模板類:
1) 用戶類是所有參與者類的父類;
2) 學(xué)生、 教師和管理員類是用戶類的子類;
3) 學(xué)生信息類負(fù)責(zé)學(xué)生信息處理;
4) 學(xué)生個(gè)人課表信息類、 自學(xué)重修信息類、 考試信息類、 選課情況信息類以及成績信息類是學(xué)生信息類的子類;
5) 課程信息類負(fù)責(zé)課程信息處理;
6) 專業(yè)推薦課表信息類、 課程介紹信息類、 教室信息類以及選課學(xué)生信息類是課程信息類的子類;
7) 教師信息類負(fù)責(zé)教師信息處理;
8) 教師個(gè)人課表信息類是教師信息類的子類。
根據(jù)已確定的實(shí)體類及其聯(lián)系構(gòu)建的高校選課系統(tǒng)類圖[5]如圖3所示。該類圖改良了源代碼的可讀性、 可維護(hù)性和可重用性, 且將屬性和操作封裝起來, 防止漏洞, 從而保障了系統(tǒng)安全性。
圖3 高校選課系統(tǒng)類圖
為表達(dá)高校選課系統(tǒng)的內(nèi)部動(dòng)態(tài)和行為特點(diǎn), 在系統(tǒng)靜態(tài)結(jié)構(gòu)構(gòu)建基礎(chǔ)上, 還需構(gòu)建系統(tǒng)動(dòng)態(tài)行為結(jié)構(gòu)。選課系統(tǒng)動(dòng)態(tài)行為模型構(gòu)建可通過活動(dòng)圖、 序列圖、 協(xié)作圖和狀態(tài)圖加以描述[6]。它們從不同角度刻畫了系統(tǒng)用例或?qū)ο笤跁r(shí)間、 狀態(tài)中的交互關(guān)系。由于活動(dòng)圖與狀態(tài)圖類似, 序列圖與協(xié)作圖可相互轉(zhuǎn)換, 本節(jié)主要設(shè)計(jì)“選課”用例的活動(dòng)圖和序列圖。
活動(dòng)圖描述了系統(tǒng)從一個(gè)活動(dòng)到另一個(gè)活動(dòng)的控制流, 即系統(tǒng)用例的具體功能實(shí)現(xiàn)流程。為形象化學(xué)生選課的合作進(jìn)程, 構(gòu)建了“選課”用例的活動(dòng)圖[7](見圖4)。圖4中有兩個(gè)泳道: 學(xué)生和系統(tǒng)。學(xué)生在初始狀態(tài)點(diǎn)擊選課, 系統(tǒng)檢驗(yàn)選課是否合理: 如不合理, 則拒絕選課; 如合理, 則添加課程。在此基礎(chǔ)上, 系統(tǒng)判斷添加課程是否成功: 如成功, 則顯示添加成功; 如不成功, 則顯示添加失敗。
序列圖和協(xié)作圖稱為交互圖, 用來顯示某個(gè)特定的用例在某個(gè)特定的場景下對(duì)象之間發(fā)生的交互, 其中序列圖強(qiáng)調(diào)交互過程中的時(shí)間順序。通過序列圖的構(gòu)建, 系統(tǒng)開發(fā)人員能發(fā)現(xiàn)潛在問題, 從而為在網(wǎng)絡(luò)上測(cè)試應(yīng)用程序做好準(zhǔn)備。圖5是“選課”用例的序列圖, 對(duì)象之間消息的傳遞包括登錄和選課兩個(gè)過程。
1) 登錄。 學(xué)生輸入用戶名和密碼向選課系統(tǒng)請(qǐng)求身份驗(yàn)證, 系統(tǒng)檢驗(yàn)用戶名和密碼, 保障成功登錄。
2) 選課。學(xué)生在選課界面點(diǎn)擊選課, 系統(tǒng)檢驗(yàn)選課的合理性, 以保障成功選課[8]。
圖4 選課活動(dòng)圖 圖5 選課序列圖
完成選課系統(tǒng)的邏輯設(shè)計(jì)后, 下一步工作是設(shè)計(jì)系統(tǒng)的物理實(shí)現(xiàn), 組件圖和部署圖是為面向?qū)ο笙到y(tǒng)的物理實(shí)現(xiàn)建模的兩種圖[9]。
組件圖表達(dá)了組件之間的組織和依賴關(guān)系, 保證了系統(tǒng)的可重用性和可維護(hù)性。結(jié)合高校選課系統(tǒng)的用例建模和需求建模, 可識(shí)別系統(tǒng)的5種可重用組件有: 選課系統(tǒng)應(yīng)用程序組件、 學(xué)生模塊組件、 教師模塊組件、 管理員模塊組件和信息記錄模塊組件, 構(gòu)建的組件圖如圖6所示。
選課系統(tǒng)設(shè)計(jì)的最終結(jié)果是部署圖。部署圖顯示了系統(tǒng)中軟件和硬件的物理架構(gòu), 包括網(wǎng)絡(luò)布局及組件在網(wǎng)絡(luò)中的位置, 闡明了系統(tǒng)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)及其之間的關(guān)系[10]。圖7是高校選課系統(tǒng)的部署圖[11]。為減輕選課服務(wù)器的壓力, 將選課應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器分布于兩個(gè)不同的服務(wù)器節(jié)點(diǎn)上, 以提高系統(tǒng)反應(yīng)速度, 從而解決了選課高峰期信息擁堵、 系統(tǒng)崩潰問題。
圖6 高校選課系統(tǒng)組件圖 圖7 高校選課系統(tǒng)部署圖
UML統(tǒng)一建模語言是一種功能強(qiáng)大的面向?qū)ο蟮慕UZ言, 它描述了一個(gè)系統(tǒng)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為。筆者以高校選課系統(tǒng)為例, 以UML建模方法為開發(fā)思路, 通過運(yùn)用系統(tǒng)用例圖、 類圖、 活動(dòng)圖、 序列圖、 組件圖和部署圖對(duì)系統(tǒng)分析和設(shè)計(jì)過程進(jìn)行了重新優(yōu)化。以此構(gòu)建的系統(tǒng)具備可重用性, 無需更改代碼即可對(duì)系統(tǒng)進(jìn)行優(yōu)化和重構(gòu)。并且, 類圖的封裝性和組件圖的可維護(hù)性提高了系統(tǒng)的安全性。部署圖中選課應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器的分布保障了信息的暢通。
筆者的研究說明數(shù)據(jù)模型的系統(tǒng)性和靈活性可通過運(yùn)用先進(jìn)的建模技術(shù)進(jìn)行保障。面向?qū)ο蠓椒馨严到y(tǒng)中所有角色作為對(duì)象, 把隸屬于每個(gè)角色的屬性和操作封裝在一起, 既符合人們的思維習(xí)慣, 也便于系統(tǒng)的修改與升級(jí)。UML統(tǒng)一建模語言能夠?qū)φ麄€(gè)開發(fā)過程提供多視角、 易懂的表達(dá), 并融合了多種建模方法的優(yōu)點(diǎn), 具有廣闊的應(yīng)用前景。
參考文獻(xiàn):
[1]BALRAM S, DRAGICEVIC S. Modeling Collaborative GIS Processes Using Soft Systems Theory, UML and Object Oriented Design [J]. Transaction in GIS, 2006, 10(2): 199-218.
[2]KARETSOS S, MANOUSELIS. Modeling an E-Government Observatory for Rural SMEs Using UML with RUP [J]. Operational Research, 2011, 11(1): 59-75.
[3]WU X, CHEN J, LI R, et al. Modeling a Web-Based Remote Monitoring and Fault Diagnosis System with UML and Component Technology [J]. Journal of Intelligent Information Systems, 2006, 27(1): 5-19.
[4]曹衍龍, 汪杰. UML2.0基礎(chǔ)與RSA建模實(shí)例教程 [M]. 北京: 人民郵電出版社, 2011.
CAO Yan-long, WANG Jie. UML 2.0 Foundation and RSA Modeling Instance Tutorial [M]. Beijing: People’s Posts and Telecommunications Press, 2011.
[5]陳世基. 基于UML建模技術(shù)的智能選課系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J]. 計(jì)算機(jī)與現(xiàn)代化, 2007(2): 46-48.
CHEN Shi-ji. Design and Implementation of Intelligent Elective System Based on the UML Modeling Technology [J]. Computer and Modern, 2007(2): 46-48.
[6]胡荷芬, 張帆, 高斐. UML系統(tǒng)建?;A(chǔ)教程 [M]. 北京: 清華大學(xué)出版社, 2010.
HU He-fen, ZHANG Fan, GAO Fei. UML-Based System Modeling Basic Course [M]. Beijing: Tsinghua University Press, 2010.
[7]劉錦萍. 基于UML及B_S架構(gòu)網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J]. 嘉興學(xué)院學(xué)報(bào), 2007, 196(6): 89-92.
LIU Jin-ping. The Design and Implementation of Online Course Selection System Based on UML and B_S Architecture [J]. Journal of Jiaxing College, 2007, 19(6): 89-92.
[8]王安邦. 基于UML的網(wǎng)上選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 南京: 南京理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 2009.
WANG An-bang. The Design and Implementation of Online Course Selection System Based on UML [D]. Nanjing: Computer Science and Technology Institute, Nanjing University of Science and Technology, 2009.
[9]王鳳斌, 段隆振, 李向軍. UML面向?qū)ο蠼T诠芾硇畔⑾到y(tǒng)中的應(yīng)用 [J]. 計(jì)算機(jī)與現(xiàn)代化, 2005(2): 119-122.
WANG Feng-bin, DUAN Long-zhen, LI Xiang-jun. The Application of UML Object Oriented Modeling in the Management Information System [J]. Computer and Modern, 2005(2): 119-122.
[10]王少鋒. 面向?qū)ο蠹夹g(shù)UML教程 [M]. 北京: 清華大學(xué)出版社, 2004.
WANG Shao-feng. The UML Tutorial of Object Oriented Technology [M]. Beijing: Tsinghua University Press, 2004.
[11]孫鵬飛, 黃磊. 基于面向?qū)ο蟮木W(wǎng)上選課系統(tǒng)設(shè)計(jì)模型構(gòu)建 [D]. 北京: 北京交通大學(xué)經(jīng)濟(jì)管理學(xué)院, 2012.
SUN Peng-fei, HUANG Lei. Modeling Build of the Online Course Selection System Based on Object-Oriented [D]. Beijing: School of Economics and Management, Beijing Jiaotong University, 2012.