使用案例圖:是用來描述使用者、需求,、系統功能單元之間的關係,它展示了一個外部使用者能夠觀察到的系統功能模型圖。
主要用途:以一種可視化的方式協助開發人員理解系統的功能需求
看下面的一張使用案例圖:
可以看出,使用案例圖由小人、橢圓和線條構成,在使用案例圖中它們代表什麼意思呢?
小人,即我們所說的角色。開發系統時候,在明確了系統有哪些使用者之後,進而總結使用本系統有哪些角色,不同的角色承擔的工作不一樣,使用該系統的功能也就不一樣,即我們根據不同的角色來思考我們的系統。
例如,機房收費系統當中,有三個小人(角色),一般使用者,操作員和管理員,它們在系統當中享有的許可權是不一樣的。
另外:角色可能是人,也可能不是人。有可能是另外的一個系統,本系統與另外一個系統互動話,可以將另外一個系統畫成某某角色。
橢圓,橢圓代表小人做些什麼事情,橢圓+橢圓裡面的動賓結構的文字,就是用例,這些用例表明了系統能做什麼事情。
例如,我們的機房收費系統,一般使用者可以查看學生餘額,修改密碼,操作員能夠進行註冊,儲值,退卡等。
線條:線條分為兩種,一種是角色和用例之間的線條,一種是用例與用例之間的線條。
首先,我們來看角色和用例之間的線條,有三種:無箭頭的,箭頭指向用例的,箭頭指向角色的。無論指向哪方,都用來聯絡角色(小人)和用例(橢圓),表示某某角色做什麼功能。
有箭頭的線條,表示角色與系統互動的過程當中,資料的流向,箭頭指向用例,說明角色要往系統錄入資料,箭頭指向角色,說明系統要往外輸出資料,沒有箭頭,沒有資料流向。
其次:用例與用例之間的線條,表示用例與用例之間的關係。中的標註:
標註1,泛化關係
泛化關係:子用例表示父用例的特殊形式,子用例從父用例處繼承屬性和方法,同時它也可以添加自己的行為,改變或覆蓋已繼承的行為。也就是說子用例它具有父用例的一般性,但是同時它又擴充了父用例,擁有自己的特殊性。當系統中,擁有一個或多個是一般用例的特化時,就使用泛化。
標註2:內含項目關聯性(Include)
把幾個用例的公用內容分離成一個單獨的被包含的用例(Usecase5)。
被包含用例稱為提供者用例。提供者用例提供功能給客戶用例(Usecase3、Usecase4)
內含項目關聯性主要用來將一個較複雜的用例所表示的功能分解成較小的步驟。
標註3:擴充關係
擴充關係是指用例功能的一個延伸,相當於為基礎用例提供一個附加功能。
例如:機房收費系統中,賬單查詢需要列印報表