UML用例图与类图
1、用例圖
用例圖是被稱為參與者的外部用戶所能觀察到的系統功能的模型圖。 (《UML參考手冊》)
用例圖列出系統中的用例和系統外的參與者,并顯示哪個參與者參與了哪個用例的執行(或稱為發起了哪個用例)。
用例圖多用于靜態建模階段(主要是業務建模和需求建模)。
1.1用例圖中的事物
1.1參與者(Actor)
在系統外部與系統直接交互的人或事物(如另一個計算機系統或一些可運行的進程)。
1.參與者是角色(role)而不是具體的人,它代表了參與者在與系統打交道的過程中所扮演的角色。所以在系統的實際運作中,一個實際用戶可能對應系統的多個參與者。不同的用戶也可以只對應于一個參與者,從而代表同一參與者的不同實例。
2.參與者作為外部用戶(而不是內部)與系統發生交互作用,是它的主要特征。
3.在后面的順序圖等中出現的“參與者”,與此概念相同,但具體指代的含義,視具體情況而定。
UML表示:
1.2用例(Use Case)
系統外部可見的一個系統功能單元。系統的功能由系統單元所提供,并通過一系列系統單元與一個或多個參與者之間交換的消息所表達 。
UML表示:
1.2用例圖中的關系
1.2.1關聯關系(參與者與用例之間)
表示參與者與用例之間的交互,通信途徑。
(關聯有時候也用帶箭頭的實線來表示,這樣的表示能夠顯示地表明發起用例的是參與者。)
UML表示:
1.2.2包含關系(用例與用例之間)
箭頭指向的用例為被包含的用例,稱為包含用例;箭頭出發的用例為基用例。包含用例是必選的,如果缺少包含用例,基用例就不完整;包含用例必須被執行,不需要滿足某種條件;其執行并不會改變基用例的行為。
UML表示:
1.2.3擴展關系(用例與用例之間)
箭頭出發的用例為被擴展的用例,稱為擴展用例;箭頭指向的用例為基用例。擴展用例是可選的,如果缺少擴展用例,不會影響到基用例的完整性;擴展用例在一定條件下才會執行,并且其執行會改變基用例的行為。
UML表示:
1.2.4泛化關系(參與者與參與者之間)
發出箭頭的事物“is a”箭頭指向的事物。泛化關系是一般和特殊關系,發出箭頭的一方代表特殊的一方,箭頭指向的一方代表一般一方。特殊一方繼承了一般方的特性并增加了新的特性。
UML表示:
這里來做個用例圖的小例子。
例1 參與者之間的泛化關系
參與者:經理,安全主管,保安
用例:管理人事,批準預算,批準安全證書,監視周邊
在參與者之間不存在泛化關系的情況下,各個參與者參與 用例的情況分別是:經理參與用例管理人事和批準預算;安全主管參與用例批準安全證書;保安參與用例監視周邊。由于安全主管與經理,安全主管與保安之間泛化關系的存在,意味著安全主管可以擔任經理和保安的角色,就能夠參與經理和保安參與的用例。這樣,安全主管就可以參與全部4個用例。但經理或者保安卻不能擔任安全主管的角色,也就不能參與用例批準安全證書。
首先,打開StarUML。
同時右鍵刪掉Main。
右鍵Model。
同樣可以修改用例圖的文件名。
這時候仍然右鍵Model,添加參與者與用例。
修改參與者與用例的名稱,并拖動到用例圖中。
最后添加參與者與參與者,用例與參與者之間的關系。
以此類推,找到參與者與用例相對應的關系,最后完成效果如下。
2、類圖
類圖以反映類的結構(屬性、操作)以及類之間的關系為主要目的,描述了軟件系統的結構,是一種靜態建模方法。
類圖中的“類”與面向對象語言中的“類”的概念是對應的,是對現實世界中的事物的抽象。
2.1類圖中的事物
2.1.1類
從上到下分為三部分,分別是類名、屬性和操作。類名是必須有的。
類如果有屬性,則每一個屬性都必須有一個名字,另外還可以有其它的描述信息,如可見性、數據類型、缺省值等。
類如果有操作,則每一個操作也都有一個名字,其它可選的信息包括可見性、參數的名字、參數類型、參數缺省值和操作的返回值的類型等。
2.1.2接口
一組操作的集合,只有操作的聲明而沒有實現。
2.1.3 抽象類
不能被實例化的類,一般至少包含一個抽象操作。
2.1.4 模版類
一種參數化的類,在編譯時把模版參數綁定到不同的數據類型,從而產生不同的類。
2.2類圖中的關系
2.2.1關聯關系
描述了類的結構之間的關系。具有方向、名字、角色和多重性等信息。一般的關 聯關系語義較弱。也有兩種語義較強,分別是聚合關系與組合關系。
其中包括單向關聯(Derected Association)與雙向關聯(Association)。
UML表示法:
單向關聯(Derected Association)
關聯關系本質就是依賴關系。
但是這種關系比依賴更強、不存在依賴關系的偶然性、關系也不是臨時性的,一般是長期性的,而且雙方的關系一般是平等的。
故箭頭指向被依賴的一方。
2.2.2聚合關系(Aggregration)
特殊關聯關系,指明一個聚集(整體)和組成部分之間的關系
箭頭指向整體。
2.2.3組合關系(Composition)
語義更強的聚合,部分和整體具有相同的生命周期
箭頭指向整體。
2.2.4依賴關系(Dependency)
定義兩個類,一個A類,一個B類,然后A類引用了B類,這種關系稱之為偶然性或者臨時性。同時當我們的B類發生變化的時候,那么影響到A類,這個關系稱之為依賴關系。
箭頭指向被依賴者。
2.2.5實現關系(Realization)
對應于類和接口之間的關系。
箭頭指向接口。
2.2.6泛化關系(Generalization)
在面向對象中一般稱為繼承關系,存在于父類與子類、父接口與子接口之間。
箭頭指向父類。
總結
- 上一篇: [转]RDL(C) Report Des
- 下一篇: Navicat for Mysql建立本