張曉紅,薛培軍,周曉莉
(中州大學 實驗中心,鄭州450044)
實驗教學是高等院校教學工作的重要組成部分,它在培養學生綜合素質和創新能力方面有著不可替代的重要作用。隨著網絡技術的發展,高校實驗室的功能已經由過去單一的“做實驗”功能,發展為集教學、科研、開發等多種功能為一體的功能,其工作也隨之復雜,主要包括設備管理、教學任務、試驗項目、規章制度等。為此,本文分析研究了集方便性、實用性和易操作性于一體的實驗管理系統。
UML(Unified Modeling Language)是一種標準的圖形建模語言,是一種用于對軟件系統模型繪制可視化描述的工具,它是面向對象分析和設計過程中重要的建模工具,不僅支持面向對象的分析與設計,還支持從需求分析開始的軟件開發的全過程。使用UML建模有助于軟件開發人員繪制出有利于交流的清晰模型,使軟件開發易于實施。本文以實驗室管理系統為實例,討論如何使用UML進行面向對象的系統建模。
統一建模語言UML是面向對象軟件開發中的一種可視化的、通用的、統一的圖形模型語言,是面向對象分析和設計過程中重要的建模工具。UML的定義包括UML語義和UML表示法兩部分。
(1)UML語義通過其元模型來嚴格定義,元模型為UML的所有元素在語法和語義上提供了簡單、一致和通用的定義性說明,使開發者能在語義上取得一致,消除了因人而異的表達方法所造成的影響,并且還支持對元模型的擴展定義。
(2)UML表示法 定義了UML符號的表示法,為軟件開發者或者開發工具使用這些圖形符號和文本語法為系統建模提供了標準。這些圖形符號和文字所表達的是應用級的模型,在語義上,它是UML元模型的實例。
標準建模語言UML共包括10種圖:用例圖、類圖、對象圖、包圖、狀態圖、活動圖、順序圖、協作圖、組件圖和配置圖。
UML是一種通用的標準建模語言,其建模機制包括靜態建模和動態建模兩大類。
靜態建模機制定義了系統中重要對象的屬性和操作以及這些對象相互之間的關系,包括用例圖、類圖、對象圖、包圖、構件圖和配置圖。其中用例圖主要描述系統的外部行為;類圖和對象圖分別定義類和對象以及它們的屬性和操作;包圖描述系統的分層結構;組件圖描述代碼組件的物理結構及各部件之間的依賴關系。配置圖定義了系統中軟硬件的物理體系結構,動態建模機制定義了對象的時間特性和對象為完成目標任務而相互進行通信的機制,用狀態圖、順序圖、協作圖、活動圖來表示。其中狀態圖描述了類的對象所有可能的狀態以及事件發生時狀態的轉移條件;順序圖用于顯示對象之間的動態合作關系,它強調對象之間消息發送的順序,同時也顯示對象之間的交互過程;協作圖與順序圖相似,它描述對象間的動態合作關系,除顯示信息交換外,協作圖還顯示對象以及它們之間的關系。活動圖描述滿足用例要求所要進行的活動以及活動間的約束關系,有利于識別并行活動。
本系統主要針對實驗室管理中需要解決的各種具體問題進行開發。系統主要功能模塊為基本信息管理、實驗管理、教學管理、資產管理、系統維護等,實現對實驗室基本信息提供在線維護和查詢。而在進行數據交換及客戶端數據顯示時,采用WEB技術,集課程安排,課程演示及答疑、考試,管理員、教師、學生互動等多種功能為一體。系統能產生較好的社會經濟效益和廣泛的應用前景。
以實驗管理系統為例,結合UML工具軟件繪制圖形,主要使用UML中的用例圖、順序圖來進行系統分析。
UML是用來建立模型的,用模型來描述系統的靜態特征及其動態特征。用例圖強調從用戶的角度看到的或需要的系統功能,被稱為參與者的外部用戶所能觀察到的系統功能的模型圖。因此在分析階段針對不同參與者在實驗過程中所承擔的角色和工作內容的不同,采用用例圖作為與用戶的溝通方式,建立系統的靜態模型。
(1)發現參與者(Actors)
參與者是指與系統交互的人或物。參與者也叫角色,它觸發用例,并與用例進行信息交換,分為3類:系統的使用者(即用戶),外部系統,時間。其中系統使用者是最重要的參與者,要弄明白誰是參與者首先要確定系統的邊界,可以通過詢問用戶以下問題來幫助確定參與者:
誰使用系統的主要功能(主要使用者是誰)?
誰需要系統支持他們的日常工作?
誰來維護、管理系統使它正常工作(輔助使用者)?
系統需要控制其他外部資源嗎?
系統需要與其他系統進行交互嗎?
有對系統產生的結果感興趣的人或事物嗎?
在本系統中通過分析得出系統參與者為學生、教師、管理員。在命名這些角色時,應該注意是按照作用命名而不是按位置命名,這樣容易得到穩定的角色,位置名隨時改變,而利用作用命名,就不必在每次增加新位置或改變位置時更新模型。
(2)用例(Use Case)的獲取
一旦獲取了參與者,就可以較為容易地對每個參與者提出問題以獲取用例。常見的問題有如下:
參與者要求系統必須提供哪些功能(也就是參與者需要做什么)?
參與者需要讀、產生、刪除、修改或者存儲的系統信息有哪些類型?
必須提醒參與者的系統事件有哪些?或者參與者必須提醒系統的事件有哪些?怎樣把這些事件表示成用例中的某項功能?
為了完整地描述用例,還需要知道參與者的某些典型功能能否被系統自動實現。在處理參與者和用例時,不必過分關心它們之間的確切關系,因為我們真正關心的是用例,參與者只不過是獲取這些用例的途徑之一。針對一個比較復雜的系統,要列出所有用例的清單常常十分困難,確定用例時有兩個準則:首先,每個用例都應該對其角色提供有價值的服務,視角色實現預定的目標,這個準則有助于避免確定的用例太小;其次,確保每個用例都向主要角色提供有價值的服務,這個準則有助于避免用例太大。
通過分析確定出實驗管理系統的用例有基本信息管理、實驗管理、教學管理、資產管理、系統維護。
(3)創建參與者與用例關系圖
在參與者和用例之間存在關聯關系,這種類型的關聯關系通常涉及到Actors和Use Case之間的通信關聯關系。通過分析業務模型,結合上面我們提到的用例的獲取方法,在對整個系統的結構有了大致了解之后,需要在不同層次上對實驗管理系統中的基本信息管理、實驗管理、教學管理、資產管理、系統維護的用例進行抽象,描述系統中用例的關系。如圖1所示頂層用例圖。

圖1 系統頂層用例圖
接下來對頂層用例圖進行細化,例如對教學管理用例細化如下:

圖2 教學管理用例圖
表現系統流程以及系統元素之間的交互關系可以用兩種視圖:順序圖與協作圖。其中順序圖是最常用的動態模型,順序圖是按時間排序的交互圖,顯示對象之間消息的線性流動。而協作圖以對象實例為中心,著重顯示與對象之間的關系。在建模工具ROSE中可以利用功能菜單在兩個圖之間進行轉換,以學生查詢課表為例建立的順序圖如圖3所示。從該圖中可以清晰地看到各個對象的順序信息。
本系統在分析實驗室管理系統的基礎上,給出了采用UML和建模工具對其進行面向對象的建模分析,從而降低了系統的復雜性,提高了軟件的開發質量及效率。在對系統做核心的建模分析和設計后,本系統開發采用C#.net技術,后臺數據庫則采用微軟的SQL Server 2005系統,基于B/S模式實現。該系統可使廣大的師生都參與到實驗室管理中來,減少實驗室管理人員的工作量,有助于提高學生的實驗技能和自我管理能力;在規范實驗室的使用和管理上有很強的實用性。

圖3 查詢課表順序圖
[1]劉超,張莉.可視化面向對象建模技術[M].北京:北京航空航天大學出版社,1999.
[2]邵維忠,梅宏.統一建模語言UML述評[J].計算機研究與發展,1999,36(4).
[3]邵維忠,楊芙清.面向對象的系統分析[M].北京:清華大學出版社,南寧:廣西科學技術出版社,1998.
[4]董愛美.UML建模技術在機房管理系統中的應用研究[J].山東輕工業學院:自然科學版,2010(1).
[5]梁卓韜.基于構件模型和UML建模的信息系統的分析與應用[D].合肥工業大學,2010.