天天看點

UML,用例圖

用例圖是uml的重要組成部分,主要用來描述使用者的需求。

一.用例圖概述

1.組成部分:執行者、用例、執行者與用例之間的關系

   【執行者】使用系統的人或其他系統,可以是一個人、一個系統,甚至可以是一個軟體實體,如:定時器。

   【用例】描述的是使用者可見的需求,一個具體的使用者目标。由執行者執行。

   【兩者間關系】表示了一個執行者和一個用例之間的關系。

2.圖符

UML,用例圖

3.關系

主要用的三種關系:包含、泛化和擴充。

【包含關系】

● 含義 :使用包含用例來封裝一組跨越多個用例的相似動作,以便多個基礎用例複用。這種情況類似于在過程設計語言中,将程式的某一段算法封裝成一個子過程,然後再從主程式中調用這一子過程。

● 表示 :實箭頭加<include>

● 舉例 :機房收費系統中,管理者在結賬時有多個操作,其中包含注冊學生資訊、充值和退卡等。

●樣圖 :

UML,用例圖

【擴充關系】

● 含義 :擴充用例為基礎用例添加新的行為。擴充用例可以通路基礎用例的屬性,是以它能根據基礎用例中擴充點的目前狀态來判斷是否執行自己。但是擴充用例

對基礎用例不可見。 對于一個擴充用例,可以在基礎用例上有幾個擴充點。

● 表示 :實箭頭加<extend>

● 舉例 :機房收費系統中,有好幾項查詢結果都需要導出為excel表,其中各項查詢就屬于基礎用例,而導出excel表就屬于擴充用例。對于查詢而言,是否導出都

不受影響。

● 樣圖 :

UML,用例圖

【泛化關系】

● 含義 :子用例和父用例相似,但表現出更特别的行為;子用例将繼承父用例的所有結構、行為和關系。也就是通常說的繼承。

● 表示 : 空三角實箭頭

● 舉例 :機房收費系統中,最明顯的繼承關系就是三個不同級别的使用者。其中,一般使用者權限最低,管理者權限最高。

UML,用例圖

二.關系比較

其實,用例圖相對來說,還是比較簡單的。關鍵在于關系的選用。下面,就将三者做個比較。

首先,三者的側重點是不同的。

泛化側重表示子用例間的互斥性; 包含側重表示被包含用例對actor提供服務的間接性;擴充側重表示擴充用例的觸發不定性;

其次,在一個系統中,有些操作是肯定發生的,有些操作是未必發生的。

泛化和包含用例就屬于肯定發生的用例,而擴充用例屬于未必發生用例。

最後,可能在關系的選用上,每個人的了解不同,也會造成一定的偏差,是以,也不需要特别死闆而固定各種用例之間的關系,自己思考就好。

三.機房收費系統用例圖

【管理者】

UML,用例圖

【操作員】

UML,用例圖

【一般使用者】

UML,用例圖

四.學習心得

這是uml中的第一種圖的完工,花了很長的時間,剛開始必須對用例圖做一個進一步的詳細了解,這樣後面才有可能達到水到渠成的那一步。通過自己的實踐,對uml畫圖工具又熟悉了,對用例圖也熟悉了,對機房收費系統的需求也熟悉了。總之,實踐才是王道。

繼續閱讀