通俗地講,用例是文字形式的情節描述,用以說明某參與者使用系統以實現某些目標。
注意:用例不是圖形,而是文字。用例初學者的常見錯誤就是注重於次要的uml用例圖,而非重要的用例文字。
本質上,用例是通過編寫使用系統實現使用者目標的情節來發現和記錄功能性需求,也就是使用的案例(cases of use)
定義:參與者、場景和用例
參與者(actor)是某些具有行為的事物,可以是人(由角色標識)、計算機系統或者組織。例如:收銀員
場景(scenario)是參與者和系統之間的一系列特定的活動和互動,也稱為用例例項(use case instance)。場景是使用系統的乙個特定情節或用例的一條執行路徑。例如,使用現金成功購買商品的場景,或者由於信用開付款被拒絕造成的購買失敗場景。
通俗地講,用例(use case)就是一組相關的成功和失敗場景集合,用來描述參與者如何使用系統來實現其目標。
rup對用例進行如下的定義:
一組用例的例項,其中每個例項都是系統執行的一系列活動,這些活動產生了對某個參與者而言可觀察的返回值[rup]
用例和用例模型
up在需求製品中定義了用例模型(use-case model)。首先,這是所有書面用例的集合;同時,它是系統功能性和環境的模型。
用例是文字文件,而非圖形;用例模型主要是編寫文字的活動,而非製圖。
用例模型可以包含uml用例圖,以顯示用例和參與者的名稱和其關係。uml用例圖可以為系統及其環境提供良好的語境圖(context diagram),也為按名稱列出用例提供了快捷方式。
用例不是物件導向的,編寫用例時也不會進行oo分析。但這並不妨礙其有效性,用例可以被廣泛應用。也就是說,用例是經典ooa/d的關鍵需求輸入。
動機:為什麼使用用例
在軟體專案中,缺少使用者參與是專案失敗的主要原因之一。研究人員設計了他們自己能夠理解的複雜分析方法,但是一般的業務人員卻對此迷惑不解。因此,任何有利於使用者參與的方法都是絕對值得的。
用例是一種優秀的方法,是領域專家或者需求提供者自己編寫(或者參與編寫用例)用例成為可能,使與使用者溝通的工作難度降低。
用例的另乙個價值在於:強調了使用者的目標和觀點。
用例的優越性在於,能夠根據需要,對複雜程度和形式化程度進行增減調整。
定義:用例是功能性需求
用例就是需求,主要是說明系統如何工作的功能性或行為性需求。按照"furps+"需求型別,用例強調了"f"(功能性或行為性),但也可以用於其他類,特別是於用例緊密相關的那些型別。在up和其他的現代方法中(xp,tdd),用例被推薦作為發現和定義需求的核心機制。
用例是真正的需求(儘管不是所有的需求)。用例的主要思想(通常)是:為功能性需求編寫用例,從而降低詳細的老式特性列表的重要性或減少這種列表的使用。
定義:參與者的三種型別
參與者(actor)是任何具有行為的事物,在所討論系統(system under discussion, sud)呼叫其他系統的服務時,還包括起本身。主要參與者和協助參與者會出現在用例文字的活動步驟中。相對於sud,有三種參與者:
用例的三種常用表示法
用例能夠以不同形式化程度或格式進行編寫:
《UML和模式應用》讀書筆記(一)
在oo開發中,至關重要的能力是熟練地為軟體物件分配職責 分析 analysis 強調的是對問題和需求的調查研究,而不是解決方案 設計 design 強調的是滿足需求的概念上的解決方案 在軟體方面和硬體方面 而不是其實現。有益的分析和設計可以概括為 做正確的事 分析 和正確地做事 設計 物件導向分析,...
設計模式讀書筆記(一) UML
統一建模語言 unified modeling language,uml s 是一種視覺化的標準建模語言,是一種分析和設計語言,通過uml可以構造軟體系統的藍圖。uml通過統一的表示方法,讓不同知識背景的領域專家 系統分析設計人員和開發人員以及使用者可以方便的交流。1.uml的結構 5種檢視 vie...
UML讀書筆記(1)
uml的定義 unified modeling language 統一建模語言。在系統的開發過程中,最關鍵的一點是要用一種系統分析員,客戶,程式設計師和其他系統開發所涉及到的人員能夠理解和達成一致的方式來組織系統的設計過程,uml就提供了這種組織方式。uml的組成包括類圖,物件圖,用例圖,狀態圖,順...