日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

设计模式(2)用例图之一

發布時間:2024/1/1 asp.net 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式(2)用例图之一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  • 導言
  • 用例
    • 簡介
    • 定義
    • 用例模型
    • 用例理解
    • 用例例子
  • 參與者執行者
    • 定義
    • 參與者角色和用戶區別
    • 主要參與者和次要參與者區別
      • 主要參與者和次要參與者的實例
    • 對參與者建模
      • 人類參與者
      • 外部系統參與者
      • 輸入設備參與者輸入輸出設備參與者
      • 計時器參與者
      • 注意
      • 參與者之間的泛化繼承關系
    • 如何識別執行者
      • 思路
      • 辨別誰是參與者

導言

為了說明用例圖,我們將先介紹用例的定義,然后介紹用例圖的相關內容,比如參與者、次要參與者等等。

用例

簡介

在用例建模方法中,功能性需求參與者(系統的用戶)和用例來描述。

參與者另可稱為執行者,執行者執行用例,參與者可以說是參與者參與了用例,或參與了用例的實現

定義

用例 定義了一個或多個參與者和系統之間的交互序列。

用例在系統中執行一系列動作,這些動作將生成特定執行者可見的價值結果
一個用例定義一組用例實例
在需求階段,用例模型將系統考慮成黑盒,并以包含用戶輸入和系統響應的敘述形式描述參與者和系統的交互

用例模型

用例模型用參與者和用例描述系統的功能性需求。系統被看作黑盒,即處理系統會做什么來響應參與者輸入,而不是系統如何做的內部細節。

用例理解

用例總是從參與者的輸入開始。典型地,一個用例包含了參與者和系統之間的交互序列。每個交互由參與者的輸入以及后續的系統響應組成。

參與者向系統提供輸入,而系統向參與者提供響應。

系統總是被考慮成為一個黑盒,使得其內部細節不會被暴露。盡管一個簡單的用例可能只包含參與者和系統之間的一個交互,但更為典型的用例是會由參與者和系統之間的多個交互組成。更復雜的用例也可能涉及了不止一位參與者。

用例例子

這里可以舉出一個例子:
簡單的銀行系統
自動提款機(ATM)允許客戶從他們的銀行賬戶中取款。這里有一個參與者“ATM客戶”(ATM Customer)和一個用例“取款”(Withdraw Funds),如下圖所示:

“取款”用例描述了客戶和系統之間的交互序列。用例始于客戶將一張ATM卡插入到讀卡器中,然后,客戶響應系統提示輸入密碼(PIN),最終客戶接收到ATM機發出的現金。

參與者(執行者)

定義

參與者(執行者)是在系統之外,透過系統邊界與系統進行有意義交互的任何事物。
參與者描繪了一個與系統交互的外部用戶(即在系統之外)

在用例建模中,參與者是與系統交互的唯一外部實體。換句話說,參與者是在系統之外的,不是系統的一部分
引入參與者(執行者)的目的:幫助確定系統邊界

參與者、角色和用戶區別

參與者代表了應用領域中扮演的一種角色;典型地,該角色是人類用戶扮演的。用戶是一個個體,而參與者代表了相同類型的所有用戶所扮演的角色。
比如,“銀行系統”(上面的實例)中有多位客戶,他們都由參與者ATM Customer來代表。因此,參與者ATM Customer是對一種用戶類型的建模;單個的客戶是該參與者的實例。
參與者常常是人類用戶。因為這個原因,所以,在UML中,參與者都是用人性圖標來表示的。在許多的信息系統中,人是唯一的參與者。但是在其他系統中,會有其他類型的參與者作為人類參與者的補充或者替代。
因此,參與者可能是一個和本系統通過接口連接的外部系統。在某些應用中,參與者還可以是外部輸入輸出(I/O)設備或計時器。外部I/O設備和計時器參與者在實時簽入系統中是非常普遍的。在這些系統中,本系統通過傳感器和執行器與外部環境進行交互。

主要參與者和次要參與者區別

主要參與者啟動用例。因此,用例始于主要參與者的輸入,系統必須相應主要參與者。
其他參與者稱為次要參與者,可以參與到用例中。

一個用例中的主要參與者,可以是另一個用例中的次要參與者。
至少有一個參與者必須從用例中獲得價值;通常,這就是主要參與者。

主要參與者和次要參與者的實例

主要參與者和次要參與者的實例如下圖:

參與者“遠程系統”(Remote System)啟動“生成監控數據”(Generate Monitoring Data)用例,該用例中遠程系統發送監控數據,向監控操作員顯示。在該用例中,”遠程系統”是主要參與者,它啟動了用例;“監控操作員”(Monitorig Operator)是次要參與者,它接收監控數據,并因此從該用例中獲得價值。

對參與者建模

人類參與者

人類參與者通常使用多種I/O設備與系統進行物理交互。人類參與者通過標準的I/O設備頻繁地與系統交互,例如鍵盤、顯示器或鼠標等。然而,在某些情況下,人類參與者也會通過非標準的I/O設備與系統交互,如各種各樣的傳感器。所有這些情況中,人是參與者,I/O設備不是參與者。因此,參與者是終端用戶
比如下面的例子

參與者是ATM客戶,他通過多種的I/O設備與“銀行系統”進行交互,包括了讀卡器、吐鈔機和憑條打印機,另外還有鍵盤和顯示器。

外部系統參與者

參與者可以是外部系統參與者,或者啟動(作為主要參與者)或者參與(次要參與者)用例。外部參與者的一個例子是“應急監控系統”中的“遠程系統”。“遠程系統”啟動“生成監控數據”用例,如下面所示:

遠程系統發送要顯示給監控操作員的監控數據。

輸入設備參與者(輸入/輸出設備參與者)

當用例中沒有人的參與、向系統通過外部輸入的參與者是輸入設備或I/O設備時,這種情況就會發生。

典型地,輸入設備參與者通過傳感器與系統交互。輸入設備參與者通過傳感器與系統交互。輸入設備參與者的一個例子是“監控傳感器”(Monitoring Sensor),它為“生成警報”(Generate Alarm)用例提供傳感器輸入,如下所示:

“監控操作員”(Monitoring Operator)在該用例中也是次要參與者。

計時器參與者

參與者可以是計時器參與者,周期性地向系統發送定時事件。當系統需要定時地輸出某些信息時,就需要周期性用例。

“報告計時器”(Report Timer)參與者啟動“顯示每日報告”(Display Daily Report)用例,該用例周期性地(比如,每天中午)準備一份每日報告,并將其顯示給用戶。如下圖所示:

在這個例子中,計時器是主要參與者,用戶是次要參與者。在計時器是主要參與者的用例中,通常是次要參與者(本例中的用戶)從用例中獲得價值。

注意

如果一個人類用戶可能會扮演兩個或兩個以上的獨立角色,則每個角色由不同的參與者來表示。
比如,同樣的用戶可能在不同的時間會扮演“ATM操作員”(ATM Operator)角色(當向ATM機現金吐鈔中補充現金時)和“ATM客戶”(ATM Customer)角色(當取現金時),于是會被建模成為兩個參與者

參與者之間的泛化(繼承)關系

在某些系統中,不同參與者可能擁有一些公共的角色,但其他的角色卻不相同。在這種情況下,這些參與者都被泛化,使得他們角色中的公共部分部分能被捕獲為泛化的參與者,而不同的部分則作為特化的參與者。
如下所示:

選取其中一部分

如何識別執行者?

執行者是指直接和系統交互的一類事物,執行者主要有如下三類:
(1) 直接使用系統的人,如使用一個庫存管理系統的倉庫管理員、倉儲部經理等用戶,倉庫管理員可以通過系統進行入庫和出庫操作,倉儲部經理可以通過系統查看各種報表,如庫存報表、財務報表等;
(2) 與該系統相關的其他系統,如在庫存管理系統中如果涉及到付款操作,需要使用另一個軟件——支付系統,此時支付系統就是庫存管理的執行者之一;
(3) 自動發生的事件,如時間、溫度等自動事件,如果庫存管理系統要求每晚零點執行一個數據匯總操作,此時時間就成為該操作的執行者。

思路

誰使用系統?
誰改變系統的數據?
誰從系統獲取信息?
誰需要系統的支持以完成日常工作任務?
誰負責維護、管理并保持系統正常運行?
系統需要和哪些外部系統交互?
有沒有自動發生的事件?

辨別誰是參與者

有時候并不能明確誰是參與者。實際上,最先的評估可能是不正確的。
例如,在報告失竊卡片的用例中,用戶參與者電話告知銀行他的ATM卡遭竊了。這看上去很明顯客戶是參與者,然而,如果客戶實際上是通過電話向銀行職員告知,而銀行職員實際上將信息錄入系統,那么銀行職員才是參與者。
在比如在公交上上,乘客要訂票上車。看上去是乘客訂票,實際上操作者卻是售票員,售票員與其售票系統進行交互。

接下來的文章會介紹如何識別用例,以及用例之間的關系,并配備實例進行一個建模過程的顯示。(請期待~~)

總結

以上是生活随笔為你收集整理的设计模式(2)用例图之一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。