摘要:目前學生信息管理更趨復雜化和困難化,而學生成績管理系統的應用與發展也隨之顯得尤為重要。文章通過對學生成績管理系統進行可視化的需求分析與系統設計,并圍繞系統的開發,首先對UML(統一建模語言)建模概念和特點進行簡要介紹,然后針對學生成績管理系統的實際需求和業務模式,給出基于UML的系統需求模型,進而建立包含靜態模型和動態模型的系統分析模型。
關鍵詞:UML;學生成績管理系統;靜態建模;動態建模
中圖分類號:TP315文獻標識碼:A文章編號:1009-3044(2008)14-20895-03
1 引言
隨著計算機科學與技術的不斷發展,計算機技術滲透到各個領域。采用計算機信息技術和網絡技術來管理學生成績信息是大勢所趨,在提高學生成績信息處理的效率的同時,又能為廣大師生提供及時準確的學生成績信息就顯得尤為重要。因此對于學生成績管理系統的開發而言,如何快速有效地規范開發流程就是重中之重了,這直接決定了系統的穩定性、可靠性、安全性和實用性。為此,需要吸收和借鑒現有軟件工程領域理論和實踐的最新成果,研究和探索適宜的軟件工程方法,以推動學生成績管理系統的應用發展與技術擴充。基于UML的學生成績管理系統建模就是在這方面的嘗試。
2 UML建模步驟
UML(Unified Modeling Language,統一建模語言)是一種通用的可視化建模語言,用于對軟件進行描述、可視化處理、構造和建立軟件系統的文檔。UML(統一建模語言)可以對任何具有靜態結構和動態行為的系統進行建模。其建模可以歸為靜態建模和動態建模兩大類。UML(統一建模語言)給軟件開發過程帶來了能夠統一、一致等許多便利。
采用面向對象技術設計系統時,建模主要有三個步驟:首先是描述需求;然后根據需求建立系統的靜態模型,構造系統的靜態結構;接著是描述系統的行為,反映系統對象之間的動態關系。其中在第一步與第二步中應用UML的靜態建模,通過用例圖、類圖(包含包)、對象圖、組件圖和配置圖五個主要方面來描述系統。第三步應用UML的動態建模、它所建立的模型或者可以執行,或者表示執行時的時序狀態或交互關系。主要包括狀態圖、活動圖、順序圖和合作圖四個部分。
3 用UML對學生成績管理系統進行分析和設計
學生成績管理系統主要完成對學生在校成績信息的管理,并能夠將所需要的數據按照表格形式導出。該系統可以完成對學生成績的錄入、查詢,也可以實現學生成績的統計及打印等功能。通過對系統的分析,可得出系統功能圖(如圖1)。
3.1 系統需求描述
經過仔細分析和反復調查,確定系統的參與者(Actor),包括直接操作系統的超級管理員、普通管理員、學生、學生工作人員、以及可以與系統發生關聯的角色。其中超級管理員負責日常系統的維護與安全;普通管理員負責學生成績的錄入、查詢、統計、修改等;學生工作人員可通過該系統對學生的成績進行查詢與統計等;學生可通過該系統進行自己成績的查詢等。根據系統所完成的需求分析,繪制系統的用例圖(如圖2)。
3.2 建立系統的靜態模型
根據需求建立系統的靜態模型,構造系統的靜態結構。主要包括建立類圖、對象圖、包圖、組件圖和展開圖等。其中最主要的是建立系統的類圖。類圖是用來描述系統中類的靜態結構,它不僅定義類之間的聯系,如關聯、依賴、聚合等,還包括類的內部結構,如類的屬性和操作等。經過仔細分析,首先得到系統主要有以下的類:管理員類、用戶信息類、學生類、學生工作人員類、課程管理類、成績管理類、用戶管理類、課程選擇類、錄入類、查詢類、統計類、發布信息類等。
學生成績管理系統的主要類的屬性描述為:
類“管理員”的屬性有:管理員代號、密碼、備注等,以管理員代號為對象標識符。
類“用戶信息”的屬性有:用戶代號、密碼、信箱、備注等,以用戶代號為對象標識符。
類“學生”的屬性有:學號、姓名、性別、班級號、年級號、備注等,以學號為對象標識符。
類“學生工作人員”的屬性有:教師編號、姓名、性別、單位、單位編號等。以教師編號和單位編號為對象標識符。
類“課程管理”的屬性有:課程號、課程名、主要內容、適用專業、先修課程、教研室編號、備注等,以課程號和教研室編號為對象標識符。
類“成績管理”的屬性有:課程號、課程成績、班級號、學年、學期號、課程名、教師名、總學時、學分、備注等,以班級號、學年、學期號和課程號為對象標識符。
類“課程選擇”的屬性有:課程號、專業方向、學期號、課程類別、考試類別、考試方式、學分、總學時、講課學時、上機學時、實驗學時、課程設計周數、課程設計上機學時、生產實習周數、教學實習周數、畢業設計周數、備注等,以專業、學期號和課程號為對象標識符。
類“錄入”的屬性有:課程名稱、課程號、學年、學期號、成績、備注等,以學年、學期號、班級號和課程名稱為對象標識符。
類“查詢”的屬性有:課程名稱、課程號、學年、學期號、班級名稱、學號、成績、備注等,以學年、學期號、班級名稱、學號和課程名稱為對象標識符。
類“統計”的屬性有:課程名稱、課程號、學年、學期號、班級名稱、成績、總分、平均分、等級、備注等,以學年、學期號、班級名稱、學號和課程名稱為對象標識符。
類“發布信息”的屬性有:通知編號、通知標題、通知分類、通知時間、通知內容、備注等,以通知編號為對象標識符。
在分析過程中詳細地列舉了系統中關鍵的類,為了進行類分析,需要充分理解用例模型,然后確定類的屬性和操作。最后確定系統的類與類之間的關系,并最終分析出學生成績管理的靜態類圖(如圖3)。
3.3 建立系統的動態模型
在對系統分析與設計中,對分析階段的模型進行擴展和細化,對分析階段定義的類進一步擴充,通過定義新的類來處理技術方面的問題,并形成最后的UML模型。進行詳細設計的方法是對每個用例進行動態建模,動態建模是描述系統的行為,用來反映系統對象之間的動態關系。描述如何通過類圖中的對象協作實現用例中的功能。前面建立的類往往隨著動態建模的深入,發現存在缺陷或不夠完整,需要對分析中得到的域類圖進行不斷修正和調整,擴展形成業務邏輯包。同時,隨著對用戶界面、數據庫訪問等技術實現的深入建模,不斷建立新的用戶界面類(如窗體、控件)和數據訪問類,形成用戶界面包和數據訪問包。
用UML 的動態建模主要是建立系統交互圖和行為圖。其中交互圖包括順序圖和協作圖;行為圖則包括狀態圖和活動圖。
關于用戶界面包的類圖比較簡單,主要是通過界面設計,設計出窗體及控件等界面元素,并根據動態建模時需要涉及的用戶界面訪問動作,定義所引起的相關事件,這些方面都在窗體類中進行定義,并組成用戶界面包類中進行定義。
動態建模通常采用的方法是使用UML中的順序圖描述用例,一個順序圖針對某個用例中的一個“場景”進行分析。所謂“場景”是指一個用例中事件發展的一條路線。根據活動參與者的不同輸入或行為,通常一個用例會有多個“場景”,也就需要分析出多個順序圖。通過順序圖描述一個場景中各個對象之間所進行的通信,同時可以分析出系統中相應的類需要具備的操作,從而不斷擴充和細化類的設計。如果需要進一步描述類的狀態變化情況和操作流程,可以使用UML中的狀態圖和活動圖。圖4所示的是學生成績管理系統中用戶界面包用戶登錄的順序圖,圖中是以時間為序表示了用戶界面包登錄的全部過程。圖5則是學生成績管理系統中用戶界面包用戶登錄的協作圖。
4 結束語
在這個瞬息萬變的時代,要在合理的時間內開發出高質量的應用程序變得越來越困難。UML是一個通用的標準建模語言,可以對任何具有靜態結構和動態行為的系統進行建模。它的出現為學生成績管理系統的建模與設計提供了有力工具。UML適用于系統開發的不同階段,從需求規格描述直至系統完成后的測試和維護。由上面UML在學生成績管理系統的分析和設計的應用,可以看出利用基于UML的可視化的建模軟件工具,從而實現了該系統的面向對象的分析、設計與迭代開發。UML在本系統的開發過程中不僅簡潔準確地表述了設計和開發意圖,還有效地規范了開發流程,提高了軟件開發效率和水平。
參考文獻:
[1] (美)施穆勒 著;李虎,等譯. UML基礎案例與應用[M]. 人民郵電出版社, 2002.6.
[2] (美)拉曼. UML和模式應用[M]. 機械工業出版社, 2006.1.
[3] 孫杰. 基于UML教學管理信息系統的研究與實現[J]. 青島大學學報(工程技術版),2004,19(2).
[4] 張龍祥. UML與系統分析設計[M]. 北京:人民郵電出版社,2001.
[5] 申紅雪, 何培英, 韓哲新. 基于UML的MIS 系統開發[J]. 鄭州輕工業學院學報(自然科學版),2002,17(1).
[6] 樊康新. 用UML實現面向對象的MIS 系統分析與設計[J]. 南通工學院學報(自然科學版), 2004,3(3).
[7] 把振華. UML在開發銀行代收費系統中的應用[J]. 福建電腦,2004.(11).
[8] 孫毅中, 嚴榮華. 基于UML的城市規劃管理信息系統建模方法研究[J]. 測繪通報, 2005.6.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文