UML用例建模的慨念和應用

2022-03-26 14:32:42 字數 2925 閱讀 3096

一. uml簡介

uml(統一建模語言,unified modeling language)是一種定義良好、易於表達、功能強大且普遍適用的視覺化建模語言。它融入了軟體工程領域的新思想、新方法和新技術。它的作用域不限於支援物件導向的分析與設計,還支援從需求分析開始的軟體開發的全過程。在系統分析階段,我們一般用uml來畫很多圖,主要包括用例圖、狀態圖、類圖、活**、序列圖、協作圖、構建圖、配置圖等等,要畫哪些圖要根據具體情況而定。其實簡單的理解,也是個人的理解,uml的作用就是用很多圖從靜態和動態方面來全面描述我們將要開發的系統。

二. 用例建模簡介

用例建模是uml建模的一部分,在我眼裡,它也是uml裡最基礎的部分。用例建模的最主要功能就是用來表達系統的功能性需求或行為。

依我的理解用例建模可分為用例圖和用例描述。用例圖由參與者(actor)、用例(use case)、系統邊界、箭頭組成,用畫圖的方法來完成。用例描述用來詳細描述用例圖中每個用例,用文字文件來完成。

1. 用例圖

參與者不是特指人,是指系統以外的,在使用系統或與系統互動中所扮演的角色。因此參與者可以是人,可以是事物,也可以是時 間或其他系統等等。還有一點要注意的是,參與者不是指人或事物本身,而是表示人或事物當時所扮演的角色。比如小明是圖書館的管理員,他參與圖書館管理系統的互動,這時他既可以作為管理員這個角色參與管理,也可以作為借書者向圖書館借書,在這裡小明扮演了兩個角色,是兩個不同的參與者。參與者在畫圖中用簡筆人物畫來表示,人物下面附上參與者的名稱。

用例是對包括變數在內的一組動作序列的描述,系統執行這些動作,並產生傳遞特定參與者的價值的可觀察結果。這是uml對用例的正式定義,對我們初學者可能有點難懂。我們可以這樣去理解,用例是參與者想要系統做的事情。對於對用例的命名,我們可以給用例取乙個簡單、描述性的名稱,一般為帶有動作性的詞。用例在畫圖中用橢圓來表示,橢圓下面附上用例的名稱。

系統邊界是用來表示正在建模系統的邊界。邊界內表示系統的組成部分,邊界外表示系統外部。系統邊界在畫圖中方框來表示,同時附上系統的名稱,參與者畫在邊界的外面,用例畫在邊界裡面。因為系統邊界的作用有時候不是很明顯,所以我個人理解,在畫圖時可省略。

箭頭用來表示參與者和系統通過相互傳送訊號或訊息進行互動的關聯關係。箭頭尾部用來表示啟動互動的一方,箭頭頭部用來表示被啟動的一方,其中用例總是要由參與者來啟動。

2. 用例描述

用例圖只是簡單地用圖描述了一下系統,但對於每個用例,我們還需要有詳細的說明,這樣就可以讓別人對這個系統有乙個更加詳細的了解,這時我們就需要寫用例描述。

對於用例描述的內容,一般沒有硬性規定的格式,但一些必須或者重要的內容還是必須要寫進用例描述裡面的。用例描述一般包括:簡要描述(說明)、前置(前提)條件、基本事件流、其他事件流、異常事件流、後置(事後)條件等等。下面說說各個部分的意思:

簡要描述:對用例的角色、目的的簡要描述;

前置條件:執行用例之前系統必須要處於的狀態,或者要滿足的條件;

基本事件流:描述該用例的基本流程,指每個流程都「正常」運作時所發生的事情,沒有任何備選流和異常流,而只有最有可能發生的事件流;

其他事件流:表示這個行為或流程是可選的或備選的,並不是總要總要執行它們;

異常事件流:表示發生了某些非正常的事情所要執行的流程;

後置條件:用例一旦執行後系統所處的狀態;

三. 用例圖和用例描述設計例項

這裡用我開發的乙個家教**來簡單的分析用例圖的畫法和用例描述的寫法。這個**我用uml完整的分析一下,以下我提取了用例圖和用例描述的部分。這個家教**分為前台客戶系統和後台管理系統。

前台客戶系統的用例圖如下:

後台管理系統用例圖如下:

四. 總結

其實用例建模並不是這麼簡單,它涉及到的知識還有很多,我這裡只是簡單的介紹一下,希望對初學uml建模的同學有所幫助。

一. uml簡介

uml(統一建模語言,unified modeling language)是一種定義良好、易於表達、功能強大且普遍適用的視覺化建模語言。它融入了軟體工程領域的新思想、新方法和新技術。它的作用域不限於支援物件導向的分析與設計,還支援從需求分析開始的軟體開發的全過程。在系統分析階段,我們一般用uml來畫很多圖,主要包括用例圖、狀態圖、類圖、活**、序列圖、協作圖、構建圖、配置圖等等,要畫哪些圖要根據具體情況而定。其實簡單的理解,也是個人的理解,uml的作用就是用很多圖從靜態和動態方面來全面描述我們將要開發的系統。

二. 用例建模簡介

用例建模是uml建模的一部分,在我眼裡,它也是uml裡最基礎的部分。用例建模的最主要功能就是用來表達系統的功能性需求或行為。

依我的理解用例建模可分為用例圖和用例描述。用例圖由參與者(actor)、用例(use case)、系統邊界、箭頭組成,用畫圖的方法來完成。用例描述用來詳細描述用例圖中每個用例,用文字文件來完成。

1. 用例圖

參與者不是特指人,是指系統以外的,在使用系統或與系統互動中所扮演的角色。因此參與者可以是人,可以是事物,也可以是時 間或其他系統等等。還有一點要注意的是,參與者不是指人或事物本身,而是表示人或事物當時所扮演的角色。比如小明是圖書館的管理員,他參與圖書館管理系統的互動,這時他既可以作為管理員這個角色參與管理,也可以作為借書者向圖書館借書,在這裡小明扮演了兩個角色,是兩個不同的參與者。參與者在畫圖中用簡筆人物畫來表示,人物下面附上參與者的名稱。

用例是對包括變數在內的一組動作序列的描述,系統執行這些動作,並產生傳遞特定參與者的價值的可觀察結果。這是uml對用例的正式定義,對我們初學者可能有點難懂。我們可以這樣去理解,用例是參與者想要系統做的事情。對於對用例的命名,我們可以給用例取乙個簡單、描述性的名稱,一般為帶有動作性的詞。用例在畫圖中用橢圓來表示,橢圓下面附上用例的名稱。

系統邊界是用來表示正在建模系統的邊界。邊界內表示系統的組成部分,邊界外表示系統外部。系統邊界在畫圖中方框來表示,同時附上系統的名稱,參與者畫在邊界的外面,用例畫在邊界裡面。因為系統邊界的作用有時候不是很明顯,所以我個人理解,在畫圖時可省略。

箭頭用來表示參與者和系統通過相互傳送訊號或訊息進行互動的關聯關係。箭頭尾部用來表示啟動互動的一方,箭頭頭部用來表示被啟動的一方,其中用例總是要由參與者來啟動。

UML 用例建模技巧

uml 用例建模技巧 從參與者的角度並以主動語態編寫用例。應該以主動語態 學生表明參加研習班意向 而不是被動語態 研習班意向被學生表明 來編寫用例。而且,應該從參與者的角度來編寫用例。畢竟,用例的目的是理解使用者如何對系統進行操作。編寫方案文字,而非功能需求。用例描述的是對參與者來說有價值的一系列行...

UML用例建模解析(二)

1 關聯關係 關聯關係是指執行者與用例之間的關係,又稱為通訊關係,如果某個執行者可以對某個用例進行操作,它們之間就具有關聯關係,如下圖所示,經理 有乙個功能為 檢視庫存報表 因此可以在執行者 經理 和用例 檢視庫存報表 之間建立乙個關聯關係,關聯關係用實線表示。2 泛化關係 執行者之間的關係只有一種...

UML用例建模解析(一)

uml 統一建模語言 是當前軟體開發中使用最為廣泛的建模技術之一,通過使用uml可以構造軟體系統的需求模型 用例模型 靜態模型 動態模型和架構模型。uml通過圖形和文字元號來描述乙個系統,它是繪製軟體藍圖的標準語言。熟練掌握uml建模技術是乙個優秀的軟體從業人員所必備的基本技能之一,越來越多的軟體企...