是一種把現實世界的需求捕獲下來的方法。用例定義了一組用例例項,其中每個例項都是系統所執行的一系列操作。簡而言之就是對系統功能的描述。舉例:做飯這個用例。要有材料,啟動用例的前提;用例執行完了就會有乙個結果,變成公尺飯。
a.獨立性。
b.用例的執行結果對參與者來說是可觀測的和有意義的。
c.這件事必須由乙個參與者發起。不存在沒有參與者的用例,用例不應該自動啟動,也不應該主動啟動另乙個用例。
d.用例必須有乙個動作和動作的受體。
e.乙個用例就是乙個需求單元、分析單元、設計單元、開發單元、測試單元、部署單元。
f.粒度。
1)用例的大小就叫做粒度。
2)粒度的選擇。
在專案過程中根據階段不同,使用不同的粒度
a.業務建模階段:用例的粒度以每個用例能夠說明一件事完整的事情為宜。
b.分析階段:概念建模階段,用例的粒度以每個用例能描述乙個完整的事件流為宜。可以理解為乙個用例描述一項完整業務中的乙個步驟。
c.系統建模階段:以乙個用例能夠描述操作者與計算機的一次完整互動為宜。
以上的就是一種劃分方法。實際上用例粒度的劃分依據最標準的方法是以該用例是否完成了參與者的某個完整目的為依據的。
不論粒度如何選擇,必須把握好的原則是在同乙個需求階段,所有用例的粒度應該是同乙個量級的。
通過問一下問題來獲取用例。a.您對系統有什麼期望?
b.您打算在這個系統裡做些什麼事情?
c.您做這件事的目的是什麼?
d.您做完這件事情希望乙個什麼樣的結果?
a.功能是脫離使用者的願望而存在的。
b.功能孤立的,給乙個輸入,通過計算機就有乙個固定輸出。
c.用例可以解釋為一系列完成乙個特定目標的「功能」的組合,針對不同的應用場景,才分解出「功能」。
用例是乙個完整目標,要達成目標要分幾個步驟,但只有完整的目標才是用例。比如去郵局寄信以完整目標作為用例如下圖
以步驟作為用例如下圖。
如果錯誤地使用步驟作為需求用例,你將無法準確地描繪參與者如何使用系統,也就無法準確地捕獲需求。
a.由於分不清楚目標和步驟而產生粒度錯誤。
b.在同乙個需求階段中的用例粒度大小不一。這是因為建模者心目中沒有乙個清楚的邊界,沒有時時檢查現階段處於哪個抽象層次而造成的。邊界不確定會導致參與者的混亂,進而導致用例的粒度不一。
(1)業務用例。
業務用例是用例版型中的一種,專門用於需求階段的業務建模。在為業務領域建立模型時應當使用這種版型。(2
)概念用例。
在實際的應用中很少被人使用,
uml也沒有為它預定版型,我們可以自己新增,在下面圖中
<>
就是乙個自定義的版型,用來與其他階段的用例版型區分,概念用例用於概念建模。
UML 核心元素之用例
乙個系統就是由各種各樣的願望組成的。乙個用例就是與參與者actor互動的,並且給參與者提供可觀測的有意義的結果的一系列活動的集合。例如你想做一頓飯吃,你需要完成煮飯和炒菜兩件事情,這兩件事情就是兩個用例。乙個完整的用例是有參與者 前置條件 場景 後置條件構成的。公尺 前置條件 電飯煲 場景一 蒸籠 ...
三 UML核心元素
對uml元素基礎定義的擴充套件。在系統之外與系統互動的某人或某事物,參與者包括業務主角和業務工人。可以通過一下三個問題區分業務主角和業 務工人 用例 use case 用例定義了一組用例例項,其中每個例項都是系統所執行的一系列操作,這些操作生成特定主角可以觀測的值。一 個完整的用例由參與者 前置條件...
UML 核心元素之包
包是一種容器,如同資料夾一樣。包是uml非常常用的乙個元素,它最主要的作用就是容納並為其他元素分類。包可以容納用例 業務實體 類圖等,也包含子包。分包的原則 1.如果將元素分為三個包a b c,那麼被分入同乙個包中的那些元素應當是相互聯絡緊密,甚至不可分割的。2.包的理想情況是修改a b c三個包中...