天天看點

UML,類圖

類圖是所有面向對象模組化方法的核心部分,描述了系統的靜态結構。

一.類圖概述

1.組成部分 : 類、類間關系

【類】 具有相同屬性和相同方法的對象的集合。

【類間關系】 表示了兩個類之間的關系。

2.圖符

UML,類圖

3.關系

二.如何繪制類圖

理論知識都清楚了,可要動手開始畫的時候,怎不知道從何開始。于是,還是先定下個繪制類圖的步驟吧,掌握全局很重要。

1.需求描述。

2.發現類。

3.篩選類,得到候選類。

4.關聯分析,模組化;多重分析,再模組化。

5.限定與修改

三.機房收費系統畫類圖前的分析

【需求描述】

機房收費系統,我們用vb實作了第一遍了,對其整個系統也是了如指掌。下面就用文字來描述一遍:

系統中,可供三類使用者使用,分别為一般使用者、操作員和管理者。其中,這三類使用者最大的差別就在于權限。權限不同,各類使用者所能執行的操作也就不同。

先了解權限最低一級的使用者即一般使用者的各項工作,分别為:幫助學生查詢餘額、上機記錄、充值記錄、上機狀态以及修改密碼。在實作查詢功能之時,很簡單,都是将卡号輸入,系統就會自動将結果按照不同方式顯現。可能是卡号不存在,也可能是顯示正常的查詢結果。

再者是操作員,其需要做的是:注冊、充值、退卡,查詢收取金額、返還金額數、學生上機統計資訊、工作記錄,以及學生基本資訊維護。通過填寫一系列資訊,完成某個同學的卡号注冊;通過卡号,可以充值或是退卡;通過卡号、日期、金額等一些選項,系統實作組合查詢功能。另外,其也繼承了一般使用者所有的各項工作權限。

最後是管理者這一類,他要做的工作很簡單,包括最初的基本資料設定、添加或删除使用者、結賬、檢視日/周結賬單以及檢視正在值班老師。為了友善上機收費的查詢情況,管理者可以通過結賬單對收費進行列印報表。除此之外,也同時繼承了一般使用者與操作員的各項工作權限。

【篩選類】

“系統”是指要開發的系統本身,無須對其模組化。

“使用者”是指系統所要面向的人的統稱,其中他們都具有使用者名、使用者id等基本資訊,是以可對其進行模組化。

“一般使用者”、“操作員”、“管理者”,很明顯,都是此系統重要的使用者類的執行個體化對象。

“學生”,同樣也是不可缺少的一類,其包含姓名、性别、學号等各種基本屬性。

“卡”,這也算是一大類吧,一張卡,包含的資訊還是很多的,卡号、餘額、各種記錄等。

“各項金額數”、“各項工作記錄”都是查詢的結果,可能是一個數字,也可能是一些資訊集合,都無須對其模組化。

【候選類或對象】

綜上分析,機房收費系統中所得出的類或執行個體化後的對象共包括六個,分别為:使用者、一般使用者、操作員、管理者、學生和卡。

【分析與模組化】

UML,類圖

【職責分析,詳細類圖】

使用者類:為此次系統中面向的終端人員,是對此系統進行操作的人員的統稱。其屬性包含:使用者名稱和使用者id。

管理者:此次系統權限最大的使用者,其主要的成員方法是:基本資料設定、編輯使用者、結賬、檢視賬單及正在值班人員。

操作員:主要是對卡進行各種操作的人員。其主要職責是注冊、充值、辦理退卡;其中也可執行各種查詢功能,包含收取金額、金額返還、上機統計資訊、學生基本資訊的維護和操作員的工作記錄。

一般使用者:其主要是實作一些關于幫助學生查詢或修改各項卡号資訊,如查詢餘額、上機記錄、充值記錄、上機狀态以及修改密碼的操作。

卡類:一張基本的上機卡,包含的屬性有辦卡人使用者名、使用者号以及學生基本資訊。

學生類:一個學生一張卡,包含各種基本的資訊是:卡号、學号、學生姓名、性别、年級、專業、班級等。

UML,類圖

第一次分析機房收費系統的類圖,一定還有很多地方分析有錯誤或沒有周全考慮的地方。不過通過這一次的學習,自己還是又對類圖有了進一步更深的了解。學習是需要反複的,以後一定還需要回到這裡,重新畫出一張更好的uml類圖的。