用戶界面的UML建模11

然而,在用戶界面方面,重要的是要了解《boundary》類是如何與這個異常分層結構進行關聯的。

《exception》類的對象可以作為《control》類的對象。因此,《exception》類能夠聚合《boundary》類。

參見圖12,《exception》DatabaseFail 則是作為一個《control》類,來對《boundary》DatabaseFailUI類進行處理。可以使用構造型《handles》來標識《boundary》類及其控制者的關系。

6.1.2 UI 異常處理的行為

異常也會影響用戶界面的任務模型,這是因為它們能夠更改一次用戶交互中的活動控制流。例如,圖3(b)中的活動Perform search 在執行一次查詢時可能會引發一個數據庫異常(database exception)。

由于UML 的活動圖提供了一種分支標記,使得我們能夠直接建模那些在任務模型的控制流中所可能做出的改動。根據布爾型的警戒表達式,可選擇不同路徑外向轉移(outgoing transition)至不同的活動中去。為了對異常處理進行建模,圖13 中擴展了圖3(b)所示的活動圖。在執行Perform search 中發生異常時,活動Perform search之后的一個分支(標識為一個菱形)可以選擇不同的路徑來對控制流進行更改。當一個ODMGException 異常沒有被其處理者進行處理時, 警戒條件[non-solved ODMGExceptions] 便會將控制流的路徑選擇到HandleODMGException 活動上去。否則,控制流則按照正常的路徑進行(由關鍵字else 進行標識)。

圖13:任務模型中的異常

6.2 同步事件建模

同步UI(synchronous UIs)指的是那些當《boundary》對象可見(visible)時,能夠頻繁地對所顯示的數據進行更新的UI。否則便為異步UI(asynchronous UIs)。

用戶界面,特別是指圖形用戶界面,通常用異步消息(asynchronous messages)[4]來實現。所以另外一個需要考慮的問題便是,如何只使用異步消息來對同步UI 進行建模。解決這個問題的一般思路是,按照所要求的頻率通過數據更新來完成《boundary》對象的刷新(refresh)。由于事件的產生能夠引起UI 的更新,因此可將其作為同步UI 建模的一種可能的方法。在該種情況下,產生的事件稱為同步事件(synchronisation event)。我們能夠很自然地想到,《entity》對象能夠產生同步事件,因為它們是存儲更新數據的地方。而《boundary》和《control》對象也能夠產生同步事件,但是由于它們在產生每個同步事件時,需要對《entity》進行查詢來獲取所需的更新數據。

因此在這里,我們只考慮同步事件由《entity》對象產生這一種情況。

圖14 所示的類圖表明了一種可能的建模方法,即使用《entity》對象來產生同步事件。

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

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

相關文章

稀疏編碼 (Sparse Coding) 算法詳解與PyTorch實現

稀疏編碼 (Sparse Coding) 算法詳解與PyTorch實現 目錄 稀疏編碼 (Sparse Coding) 算法詳解與PyTorch實現1. 稀疏編碼 (Sparse Coding) 算法概述1.1 稀疏表示1.2 稀疏編碼的優勢2. 稀疏編碼的核心技術2.1 稀疏編碼的目標2.2 稀疏編碼的優化2.3 基向量的學習3. PyTorch實現稀疏編…

記錄一次面試中被問到的問題 (HR面)

文章目錄 一、你對公司的了解多少二、為什么對這個崗位感興趣三、不能說的離職原因四、離職原因高情商回復五、你的核心優勢是什么六、你認為你比其他面試候選人的優勢是什么七、不要提及情感 一、你對公司的了解多少 準備要點: 在面試前,對公司進行充分…

uniapp獲取安卓與ios的唯一標識

uniapp獲取安卓與ios的唯一標識 代碼如下: const info uni.getSystemInfoSync(); const platform info.platform; // 手機安卓還是蘋果if (info.platform ios) {// iosconsole.log(iOS 設備唯一標識:, info.deviceId);} else{//安卓console.log(系統信息:, use…

前端 圖片上鼠標畫矩形框,標注文字,任意刪除

效果: 頁面描述: 對給定的幾張圖片,每張能用鼠標在圖上畫框,標注相關文字,框的顏色和文字內容能自定義改變,能刪除任意畫過的框。 實現思路: 1、對給定的這幾張圖片,用分頁器綁定…

前端學習匯總

一、打包工具 1.1、vite vite:vite -- 開發環境 熱更新_vite 熱更新-CSDN博客 1.2、webpack 常用loader:webpack基礎---常用loader_webpack 常用loader-CSDN博客 loader:webpack4和webpack5區別1---loader_webpack4與webpack5處理圖片的…

ARIMA模型 (AutoRegressive Integrated Moving Average) 算法詳解與PyTorch實現

ARIMA模型 (AutoRegressive Integrated Moving Average) 算法詳解與PyTorch實現 目錄 ARIMA模型 (AutoRegressive Integrated Moving Average) 算法詳解與PyTorch實現1. ARIMA模型概述1.1 時間序列預測1.2 ARIMA的優勢2. ARIMA的核心技術2.1 自回歸 (AR)2.2 差分 (I)2.3 移動平…

如果商品信息更新,爬蟲會失效嗎?

當商品信息更新時,爬蟲是否失效取決于更新的具體內容。以下是一些可能影響爬蟲的因素: 可能導致爬蟲失效的情況 HTML結構變化:如果 yiwugo 平臺更新了商品詳情頁面的 HTML 結構,比如改變了元素的標簽、類名或 ID,那么…

Java調用外部接口有哪些方式

1.有哪些? 1.HttpURLConnection 1.介紹 1.這是Java標準庫提供的一個類,用于發送HTTP請求和接收響應 2.它不需要額外的依賴,但是API相對底層,編寫代碼時需要處理很多細節,如設置請求頭、處理連接和流等 2.代碼示例…

pandas系列----DataFrame簡介

DataFrame是Pandas庫中最常用的數據結構之一,它是一個類似于二維數組或表格的數據結構。DataFrame由多個列組成,每個列可以是不同的數據類型(如整數、浮點數、字符串等)。每列都有一個列標簽(column label)…

安裝完docker后,如何拉取ubuntu鏡像并創建容器?

1. 先docker拉取ubuntu鏡像 docker search ubuntu #搜索ubuntu 鏡像 docker pull ubuntu:22.04 #拉取ubuntu 鏡像 docker images #下載完成后,查看已經下載的鏡像 docker run --name ubuntu_container -dit ubuntu:22.04 /bin/bash # docker container -l 2.…

Qt監控系統遠程網絡登錄/請求設備列表/服務器查看實時流/回放視頻/驗證碼請求

一、前言說明 這幾個功能是近期定制的功能,也非常具有代表性,核心就是之前登錄和設備信息都是在本地,存放在數據庫中,數據庫可以是本地或者遠程的,現在需要改成通過網絡API請求的方式,現在很多的服務器很強…

詳細解釋 Vue 中的 h 函數和 render 函數:

Vue中的h函數和render函數是Vue中非常重要的函數,對Vue有著不可以或缺的作用,接下來讓我們了解一下! // 1. h 函數的基本使用 /*** h 函數是 createVNode 的別名,用于創建虛擬 DOM 節點(VNode)* h 函數參數…

結構型模式3.組合模式

結構型模式 適配器模式(Adapter Pattern)橋接模式(Bridge Pattern)組合模式(Composite Pattern)裝飾器模式(Decorator Pattern)外觀模式(Facade Pattern)享元…

服務器攻擊方式有哪幾種?

隨著互聯網的快速發展,網絡攻擊事件頻發,已泛濫成互聯網行業的重病,受到了各個行業的關注與重視,因為它對網絡安全乃至國家安全都形成了嚴重的威脅。面對復雜多樣的網絡攻擊,想要有效防御就必須了解網絡攻擊的相關內容…

Transformer 中縮放點積注意力機制探討:除以根號 dk 理由及其影響

Transformer 中縮放點積注意力機制的探討 1. 引言 自2017年Transformer模型被提出以來,它迅速成為自然語言處理(NLP)領域的主流架構,并在各種任務中取得了卓越的表現。其核心組件之一是注意力機制,尤其是縮放點積注意…

[python3]Excel解析庫-XlsxWriter

XlsxWriter 是一個用于創建 Excel .xlsx 文件的 Python 庫,它允許你編寫程序來生成 Excel 文件,而無需實際運行 Microsoft Excel 應用程序。XlsxWriter 支持寫入數據、應用格式化、插入圖表和圖形等多種功能,并且可以處理較大的數據集。它是一…

Linux下部署SSM項目

作者主頁&#xff1a;舒克日記 簡介&#xff1a;Java領域優質創作者、Java項目、學習資料、技術互助 文中獲取源碼 Linux部署SSM項目 打包項目 1、修改pom.xml文件&#xff0c;打包方式改為war <packaging>war</packaging>2、idea 通過maven的clean&#xff0c;…

Bytebase 3.0.1 - 可配置在 SQL 編輯器執行 DDL/DML

&#x1f680; 新功能 新增環境策略&#xff0c;允許在 SQL 編輯器內直接執行 DDL/DML 語句。 支持為 BigQuery 數據脫敏。 在項目下新增數據訪問控制及脫敏管理頁面。 在數據庫頁面&#xff0c;支持回滾到變更歷史的某個版本。 &#x1f514; 兼容性變更 禁止工單創建…

ansible 知識點【回顧梳理】

ansible 知識點 1. 劇本2. facts變量3. register變量4. include功能5. handlers6. when 條件7. with_items 循環8. Jinja2模板9. group_vars10. roles :star::star::star: 看起來字數很多&#xff0c;實際有很多是腳本執行結果&#xff0c;內容不多哦 1. 劇本 劇本很重要的就是…

LLM之RAG實戰(五十一)| 使用python和Cypher解析PDF數據,并加載到Neo4j數據庫

一、必備條件&#xff1a; python語言Neo4j數據庫python庫&#xff1a;neo4j、llmsherpa、glob、dotenv 二、代碼&#xff1a; from llmsherpa.readers import LayoutPDFReaderfrom neo4j import GraphDatabaseimport uuidimport hashlibimport osimport globfrom datetime …