UML中用例之間的可視化表示

用例除了與參與者有關聯關系外,用例之間也存在著一定的關系,如泛化關系、包含關系、擴展關系等。

4.2.1? 包含關系

包含關系指的是兩個用例之間的關系,其中一個用例(稱為基本用例,Base Use Case)的行為包含了另一個用例(稱為包含用例,Inclusion Use Case)的行為。也就是說基本用例會用到包含用例,表示基本用例中重用包含用例中的步驟。在UML圖中,包含關系使用帶虛線的箭頭表示,并在線上標有<<include>>,如圖4.7所示。

在包含關系中,箭頭的方向是從基本用例到包含用例,也就是說,基本用例是依賴于包含用例的。

4.2.2? 擴展關系

擴展關系的基本含義與泛化關系類似。擴展關系是對基本用例的擴展,基本用例是一個完整的用例,即使沒有子用例的參與,也可以完成一個完整的功能。擴展的基本用例中將存在一個擴展點(Extension Point),只有當擴展點被激活時,子用例才會被執行。在擴展關系中,對于擴展用例(Extension Use Case)有更多的規則限制,即基本用例必須聲明若干擴展點;而擴展用例只能在這些擴展點上增加新的行為和含義。擴展關系是從擴展用例到基本用例的關系,它說明擴展用例定義的行為如何插入基本用例定義的行為中,也就是說擴展用例并不在基本用例中顯示。

在以下幾種情況下,可以使用擴展用例:

(1)表明用例的某一部分是可選的系統行為(這樣就可以將模型中的可選行為和必選行為分開)。

(2)表明只在特定條件(如例外條件)下才執行的分支。

(3)表明可能有一組行為,其中的一個或多個可以在基本用例中的擴展點處插入。所插入的行為和插入的順序取決于在執行基本用例時與主角進行的交互。

在UML圖中,擴展關系使用帶虛線的箭頭表示,并在線上標有<<extend>>,如圖4.8所示。在還書的過程中,只有在例外條件(讀者遺失圖書)的情況下,才會執行交罰款的分支。

4.2.3? 泛化關系

泛化關系指的是一般與特殊的關系。當多個用例共同擁有一種類似的結構和行為的時候,可以將它們的共性抽象成為父用例,其他的用例作為泛化關系中的子用例。在用例的泛化關系中,子用例是父用例的一種特殊形式,它繼承了父用例所有的結構、行為和關系。用例之間泛化關系如圖4.9所示。

4.2.4? 分組關系

在一些用例圖中,用例的數目可能很多,這時就需要把這些用例組織起來。這種情況在一個系統包含很多子系統時就會出現。另一種可能就是,當我們按順序和用戶會談,收集系統需求時,每個需求必須用一個單獨的用例來表達,這時就需要某種方式來對這些需求進行分類。

最直接的方法就是把相關的用例放在一個包中組織起來。一組用例可以放在一個文件夾中。

綜上所述,用例之間存在著一定的關系,這些關系既有聯系又有區別。在擴展關系中,基本用例是一個完整的用例,即是可以獨立存在的用例。一個基本用例在執行時,可以執行也可以不執行擴展部分。

在包含關系中,基本用例可能是、也可能不是一個完整的用例。在執行基本用例時,一定會執行包含用例部分。

當需要重復處理兩個或多個用例時,可以考慮使用包含關系,實現一個基本用例對另一個用例的引用。

當處理正常行為的變型而且只是偶爾描述時,可以考慮只用泛化關系。

當描述正常行為的變型而且希望采用更多的控制方式時,可以在基本用例中設置擴展點,使用擴展關系。

《UML 2.5基礎、建模與設計實踐》(李波,姚麗麗,朱慧)【摘要 書評 試讀】- 京東圖書 (jd.com)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/web/42268.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42268.shtml
英文地址,請注明出處:http://en.pswp.cn/web/42268.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

溫度傳感器的常見故障及處理方法

溫度傳感器作為現代工業、科研及日常生活中不可或缺的重要元件&#xff0c;其穩定性和準確性直接影響到設備的運行效率和安全。然而&#xff0c;由于各種因素的影響&#xff0c;溫度傳感器在使用過程中常會遇到一些故障。本文將針對這些常見故障進行分析&#xff0c;并提出相應…

如果你想手寫Linux系統

哈嘍&#xff0c;我是子牙老師。今天咱們聊聊這個話題吧&#xff0c;Linux作為當今科技世界的地基&#xff0c;我們越來越接近真理了&#xff0c;有木有&#xff1f; 這個文章的角度&#xff0c;你可能全網都很難找到第二篇如此系統講透這個問題的文章 你可能想問&#xff1a…

LabVIEW電滯回線測試系統

鐵電材料的性能評估依賴于電滯回線的測量&#xff0c;這直接關系到材料的應用效果和壽命。傳統的電滯回線測量方法操作復雜且設備成本高。開發了一種基于LabVIEW的電滯回線測試系統&#xff0c;解決傳統方法的不足&#xff0c;降低成本&#xff0c;提高操作便捷性和數據分析的自…

spring boot 3.x版本中集成spring security 6.x版本進行實現動態權限控制解決方案

一、背景 最近在進行項目從jdk8和spring boot 2.7.x版本技術架構向jdk17和spring boot 3.3.x版本的代碼遷移&#xff0c;在遷移過程中&#xff0c;發現spring boot 3.3.x版本依賴的spring security版本已經升級6.x版本了&#xff0c;語法上和spring security 5.x版本有很多地方…

Mysql中存儲引擎簡介、修改、查詢、選擇

場景 數據庫存儲引擎 數據庫存儲引擎是數據庫底層軟件組件&#xff0c;數據庫管理系統&#xff08;DBMS &#xff09;使用數據引擎進行創建、查詢、更新和刪除數據的操作。 不同的存儲引擎提供不同的存儲機制、索引技巧、鎖定水平等功能&#xff0c;使用不同的存儲引擎還可以…

【C++報錯已解決】Invalid Use of ‘this’ Pointer

&#x1f3ac; 鴿芷咕&#xff1a;個人主頁 &#x1f525; 個人專欄: 《C干貨基地》《粉絲福利》 ??生活的理想&#xff0c;就是為了理想的生活! 文章目錄 引言 一、問題描述1.1 報錯示例1.2 報錯分析1.3 解決思路 二、解決方法2.1 方法一&#xff1a;修正‘this’指針使用2…

React+TS前臺項目實戰(二十六)-- 高性能可配置Echarts圖表組件封裝

文章目錄 前言CommonChart組件1. 功能分析2. 代碼詳細注釋3. 使用到的全局hook代碼4. 使用方式5. 效果展示 總結 前言 Echarts圖表在項目中經常用到&#xff0c;然而&#xff0c;重復編寫初始化&#xff0c;更新&#xff0c;以及清除實例等動作對于開發人員來說是一種浪費時間…

LVS-DR負載均衡

LVS-DR負載均衡 LVS—DR工作模式 原理 客戶端訪問調度器的VIP地址&#xff0c;在路由器上應該設置VIP跟調度器的一對一的映射關系&#xff0c;調度器根據調度算法將該請求“調度“到后端真實服務器&#xff0c;真實服務器處理完畢后直接將處理后的應答報文發送給路由器&#xf…

EDI安全:如何在2024年保護您的數據免受安全和隱私威脅

電子數據交換&#xff08;EDI&#xff09;支持使用標準化格式在組織之間自動交換業務文檔。這種數字化轉型徹底改變了業務通信&#xff0c;消除了對紙質交易的需求并加速了交易。然而&#xff0c;隨著越來越依賴 EDI 來傳輸發票、采購訂單和發貨通知等敏感數據&#xff0c;EDI …

【跨境分享】中國商家如何卷到國外?電商獨立站和電商平臺的優勢對比

為什么要選擇獨立站而不是電商平臺 對于跨境電商經營者而言&#xff0c;采取多平臺、多站點的運營策略是至關重要的戰略布局。這一做法不僅有助于分散風險&#xff0c;避免將所有投資集中于單一市場&#xff0c;從而降低“所有雞蛋置于同一籃子”的隱患&#xff0c;而且有利于拓…

【友邦保險-注冊安全分析報告】

前言 由于網站注冊入口容易被黑客攻擊&#xff0c;存在如下安全問題&#xff1a; 暴力破解密碼&#xff0c;造成用戶信息泄露短信盜刷的安全問題&#xff0c;影響業務及導致用戶投訴帶來經濟損失&#xff0c;尤其是后付費客戶&#xff0c;風險巨大&#xff0c;造成虧損無底洞…

華為od相關信息分享

2024年OD統一考試&#xff08;D卷&#xff09;完整題庫&#xff1a;華為OD機試2024年最新題庫&#xff08;Python、JAVA、C合集&#xff09; 問 1.什么是華為od&#xff1f; 答&#xff1a;OD全稱是Outsourcing Dispacth&#xff0c;即外包派遣&#xff0c;是華為和外企德科…

金蝶云蒼穹-插件開發(三)關于基礎資料/單據實體的id

基礎資料/單據實體的id 每個基礎資料和單據的實體&#xff0c;都有一個id字段&#xff0c;這個id是其一個唯一性標識&#xff0c;就類似于這個實體的身份證號一樣。通常&#xff0c;這個id用來找到指定的實體。這個id在代碼中都是long類型接收的。 如果基礎資料/單據里面有字…

Kafka日志處理:深入了解偏移量查找與切分文件

我是小米,一個喜歡分享技術的29歲程序員。如果你喜歡我的文章,歡迎關注我的微信公眾號“軟件求生”,獲取更多技術干貨! Hello, 大家好!我是你們的技術小伙伴小米,今天要和大家分享一些關于Kafka日志處理的深入知識。我們將討論如何查看偏移量為23的消息,以及Kafka日志分…

重載、覆蓋(重寫)、重定義(同名隱藏)的區別 (超詳解)

&#x1f4da; 重載&#xff08;Overloading&#xff09;、覆蓋&#xff08;Overriding&#xff09;、重定義&#xff08;Hiding&#xff09;是面向對象編程中常見的概念&#xff0c;它們分別用于描述不同情況下函數或方法的行為。 目錄 重載&#xff08;Overloading&#xff…

ST7789 linux4.x驅動

文章目錄 ST7789 linux4.x驅動設備樹配置驅動程序編譯驅動測試驅動 ST7789 linux4.x驅動 設備樹配置 pinctrl_ecspi2_cs_1: ecspi2_cs_grp-1 {fsl,pins <MX6UL_PAD_CSI_DATA01__GPIO4_IO22 0x40017059>; };pinctrl_ecspi2_1: escpi2grp {fsl,pins <MX6UL_PAD_CSI_…

RocketMQ快速入門:主從、集群模式原理及搭建實操(十一)

目錄 0. 引言1. 前備知識1.1 namesrv集群模式1.2 broker集群模式1.2 broker主從復制原理 2. 集群部署2.1 環境準備2.2 配置講解2.3 一主多從模式部署2.4 多主無從模式部署2.5 多主多從模式部署 3. 總結 0. 引言 在學習完rocketmq的基礎知識后&#xff0c;我們進入rocketmq高可…

痙攣性斜頸對生活有哪些影響?

痙攣性斜頸&#xff0c;這個名字聽起來可能并不熟悉&#xff0c;但它實際上是一種神經系統疾病&#xff0c;影響著全球數百萬人的生活質量。它以一種無法控制的方式&#xff0c;使患者的頸部肌肉發生不自主的收縮&#xff0c;導致頭部姿勢異常。對于患者來說&#xff0c;痙攣性…

和Bug較勁的第n天:[Error: Unable to open snapshot file: No such file or directory]

問題描述 最近做了一個小demo&#xff0c;基于parcel的&#xff0c;在遷移倉庫的時候發生了一個報錯 [Error: Unable to open snapshot file: No such file or directory] 原因分析&#xff1a; 在遷移倉庫的時候&#xff0c;我將項目放入了一個以中文命名的文件夾里&#xf…

模電基礎 - 信號的運算和處理

目錄 一. 簡介 二. 加法 三. 減法 四. 乘法 五. 除法 六. 總結 一. 簡介 在模電基礎中&#xff0c;信號的運算和處理是非常重要的內容。 信號的運算包括加法、減法、乘法、除法等。通過使用集成運放&#xff0c;可以很容易地實現這些運算。例如&#xff0c;利用反相輸入…