Android 架構(gòu)師之路 目錄
用例圖主要用來描述 用戶绿鸣、需求疚沐、系統(tǒng)功能單元 之間的關(guān)系。它展示了一個外部用戶能夠觀察到的系統(tǒng)功能模型圖潮模。
【用途】:幫助開發(fā)團(tuán)隊(duì)以一種可視化的方式理解系統(tǒng)的功能需求亮蛔。
用例圖所包含的元素如下:
1. 參與者(Actor)
表示與您的應(yīng)用程序或系統(tǒng)進(jìn)行交互的用戶、組織或外部系統(tǒng)擎厢。用一個小人表示究流。
2. 用例(Use Case)
用例就是外部可見的系統(tǒng)功能,對系統(tǒng)提供的服務(wù)進(jìn)行描述动遭。 用橢圓表示
3. 子系統(tǒng)(Subsystem)
用來展示系統(tǒng)的一部分功能芬探,這部分功能聯(lián)系緊密。
4. 關(guān)系
用例圖中涉及的關(guān)系有:關(guān)聯(lián)沽损、泛化灯节、包含、擴(kuò)展;
如下表所示:
a. 關(guān)聯(lián)(Association)
表示參與者與用例之間的通信炎疆,任何一方都可發(fā)送或接受消息卡骂。
【箭頭指向】:指向消息接收方
b. 泛化(Inheritance)
就是通常理解的繼承關(guān)系,子用例和父用例相似形入,但表現(xiàn)出更特別的行為全跨;子用例將繼承父用例的所有結(jié)構(gòu)、行為和關(guān)系亿遂。子用例可以使用父用例的一段行為浓若,也可以重載它。父用例通常是抽象的蛇数。
【箭頭指向】:指向父用例
c. 包含(Include)
包含關(guān)系用來把一個較復(fù)雜用例所表示的功能分解成較小的步驟挪钓;
【箭頭指向】:指向分解出來的功能用例
d. 擴(kuò)展(Extend)
擴(kuò)展關(guān)系是指 用例功能的延伸,相當(dāng)于為基礎(chǔ)用例提供一個附加功能耳舅。
【箭頭指向】:指向基礎(chǔ)用例
e. 依賴(Dependency)
以上4中關(guān)系碌上,是UML定義的標(biāo)準(zhǔn)關(guān)系。 但VS2010的用例模型圖中浦徊,添加了依賴關(guān)系馏予,用帶箭頭的虛線表示
表示源用例依賴于目標(biāo)用例贡蓖;
【箭頭指向】:指向被依賴項(xiàng)
5. 項(xiàng)目(Artifact)
用例圖雖然是用來幫助人們形象地理解功能需求十酣,但卻沒多少人能夠通看懂它逼纸。很多時候跟用戶交流甚至用Excel都比用例圖強(qiáng)浙踢,VS2010中引入了“項(xiàng)目”這樣一個元素肆饶,以便讓開發(fā)人員能夠在用例圖中鏈接一個普通文檔纷捞。
用依賴關(guān)系把某個用例依賴到項(xiàng)目上
然后把項(xiàng)目-》屬性 的Hyperlink 設(shè)置到你的文檔上
這樣當(dāng)你在用例圖上 雙擊項(xiàng)目時对人,就會打開相關(guān)聯(lián)的文檔涛舍。
6. 注釋(Comment)
包含(include)暂筝、擴(kuò)展(extend)箩言、泛化(Inheritance) 的區(qū)別:
條件性:泛化中的子用例和include中的被包含的用例會無條件發(fā)生,而extend中的延伸用例的發(fā)生是有條件的焕襟;
直接性:泛化中的子用例和extend中的延伸用例為參與者提供直接服務(wù)陨收,而include中被包含的用例為參與者提供間接服務(wù)。
對extend而言鸵赖,延伸用例并不包含基礎(chǔ)用例的內(nèi)容务漩,基礎(chǔ)用例也不包含延伸用例的內(nèi)容。
對Inheritance而言它褪,子用例包含基礎(chǔ)用例的所有內(nèi)容及其和其他用例或參與者之間的關(guān)系饵骨;
一個用例圖示例: