為了能夠實現架構設計,概要層次的用例可以幫助我們建立業務架構概念,利用概要
層次的用例集中精力考慮了系統大的關係,專注於子系統和功能塊「黑盒」層面的狀態與
行為,而有意的忽視了本身細節層面的內容,這在很多情況下是架構設計所需要的。但從
另一方面來講,作為架構層面的需求分析,很多內容又需要從細節層面考慮,特別是各個
子系統和功能塊之間互動行為的描述應該細緻翔實,從這個範圍來說,很多架構層面的需
求分析又屬於使用者層面,因為這才有可能構建乙個初始的架構基線。
正是基於這樣兩個方面的考慮,我們需要把架構層面的一些行為以可實現方式,比較
詳細地描述出來。這樣一來,架構的用例文件編寫就顯得十分重要。這類文件的編寫既要
描述某些「黑箱」行為,更需要專注於用例之間行為關係的詳細分析。
假定我們需要設計乙個軟體配置管理工具系統,其中有乙個併發服務框架(concurrenc
service framework,csf)子系統,檔案資源序列訪問用例存在於這個框架之中,為了建立
架構層面的用例,首先畫出用例圖結構如下。
該結構的目標是:為了確保服務客戶處理檔案最新版本的時候,不至於受到併發修改的
困擾,客戶物件使用 csf 來保護**中的臨界區域,免受因為多執行緒而導致的非安全訪問。
作為框架設計必需的資訊,用例中還列出了技術或資料的可變情況。
用例名: 資源的序列訪問 用例層次
用例 id: c-1 使用者目標
主要參與者: 服務客戶物件
範圍: 併發服務框架(csf)
主事件流: 1,服務客戶請求資源鎖給予它特殊的資源訪問權。
2,資源鎖把控制權返回給服務客戶以使它能夠使用資源。
3,服務客戶使用資源。
4,服務客戶通知資源鎖它對資源的使用已經完成。
5,服務客戶結束後,資源鎖處理善後事宜。
擴充套件流: 2a,資源鎖發現發現客戶對資源已經具有訪問權:
2a1,資源鎖對請求實施資源鎖轉換策略(cs-1)。
2b,資源鎖發現資源已經分配給他人使用:
2b1,資源鎖實施相容性策略(cs-2),使客戶對資源也享有訪問權。
2c,資源鎖定的持續時間限制不為 0:
2c1,資源鎖啟動鎖定計時器。
3a,在客戶通知資源鎖完成對資源的使用之前,鎖定計時器計數時間到:
3a1,資源鎖向客戶程序傳送乙個異常訊號。
3a2,失敗!
4a,資源鎖發現服務客戶上的所計數器非 0:
4a1,資源鎖減少請求的引用個數。
4a2,成功!
5a,資源鎖發現資源當前未被使用:
5a1,資源鎖實施訪問選擇策略(cs-3),給處於掛起狀態的服務客戶
賦予訪問權。
5b,鎖定計時器仍然在執行:
5b1,資源鎖取消鎖定計時器的執行。
技術和資料可變
列表:1,特殊的訪問請求可以是:
獨佔訪問
共享訪問
2c,資源鎖的鎖定超時時間可以通過以下因素指定:
服務客戶
資源鎖定政策
全域性預設值
用例名: 實施資源鎖轉換策略 用例層次
用例 id: cs-1 子功能
主要參與者: 客戶物件
範圍: 併發服務框架(csf):處理策略
主事件流: 1,資源鎖驗證請求的訪問方式是獨佔訪問。
2,資源鎖驗證服務客戶已經具有共享訪問許可權。
3,資源鎖驗證沒有服務客戶等待更新其訪問許可權。
4,資源鎖驗證沒有其他的服務客戶在共享資源。
5,資源鎖賦予服務客戶對資源的獨佔訪問權。
6,資源鎖增加服務客戶鎖的個數。
擴充套件流: 1a,資源鎖發現請求的訪問方式是共享訪問:
1a1,資源鎖增加服務客戶鎖的個數。
1a2,成功!
2a,資源鎖發現服務客戶已經具有共享訪問許可權:
2a1,資源鎖增加服務客戶鎖的個數。
2a2,成功!
3a,資源鎖發現有另乙個服務客戶等待更新其訪問許可權:
3a1,通知服務客戶不能賦予它所請求的訪問許可權。
3a2,失敗!
4a,資源鎖發現有另乙個服務客戶正在使用資源:
4a1,資源鎖令服務客戶服務等待獲得資源訪問許可權(cs-4)
用例名: 實施訪問相容性策略 用例層次
用例 id: cs-2 子功能
主要參與者: 服務客戶物件
範圍: 併發服務框架(csf):處理策略
主事件流: 1,資源鎖驗證請求的訪問方式是共享訪問。
2,資源鎖驗證當前對資源的所有使用都是共享訪問。
擴充套件流: 2a,資源鎖發現請求的訪問方式是獨佔訪問:
2a1,資源鎖令服務客戶服務等待獲得資源訪問許可權(cs-4)
(程序的執行由鎖服務策略恢復)
2b, 資源鎖發現資源正在被以獨佔方式使用:
2b1,資源鎖令服務客戶服務等待獲得資源訪問許可權(cs-4)
可變情況: 1,相容性準則可以改變。
用例名: 實施訪問選擇策略 用例層次
用例 id: cs-3 子功能
主要參與者: 客戶物件
範圍: 併發服務框架(csf):處理策略
主事件流: 語境目標:資源鎖必須決定哪乙個等待請求(如果有的話)應該獲得服
注意:這個策略是乙個可變點。
1,資源鎖選擇等待時間最長的請求。
2,資源鎖將訪問許可權賦予被選中請求,途經是使其程序進入可執行狀態
擴充套件流: 1a,資源鎖發現沒有處於等待的請求:
1a1,成功!
1b,資源鎖發現有乙個請求正等待從共享訪問更新為獨佔訪問:
1b1,資源鎖選中這個等待更新的請求。
1c,資源鎖選中乙個請求共享訪問的請求:
1c1,資源鎖重複第一步,直到遇到乙個獨佔請求。
可變情況: 1,選擇順序準則可以改變。
用例名: 令服務客戶服務等待獲得資源訪問許可權 用例層次
用例 id: cs-4 子功能
主要參與者: 客戶物件
範圍: 併發服務框架(csf):處理許可權
主事件流: 1,資源鎖將服務客戶程序掛起。
2,服務客戶等待直到再次被恢復執行。
3,服務客戶程序被恢復執行。
擴充套件流: 1a,資源鎖發現乙個等待超時已被指定:
1a1,資源鎖啟動計時器。
2a,等待計時器時間到:
2a1,通知服務客戶其請求的訪問許可權不能得到。
2a2,失敗!
技術和資料可變
列表:1a1,鎖的等待超時時間可以通過下列因素指定:
服務客戶
資源鎖定策略
全域性預設值
翻譯 需求的用例文件管理
原文 問題 專家回答 很好的問題。不管是新建的還是現存的,各式文件對於許多的應用系統來說都是十分重要的。首先,來考慮一下文件到底是什麼,而用例又用來做什麼的。文件是一種資訊的集合,這些資訊能夠被分割 組織以及以各種不同的方式進行傳遞 列印成冊或網路等等 用例是一項簡單但卻強大的技術,它揭示了使用者需...
軟體工程大作業 用例文件要求
用例 用例就是一組相關的成功和失敗場景的集合,用來描述參與者如何使用系統來實現其目標。參與者參與者是任何具有行為的事物。參與者的三種型別 l 主要參與者,具有使用者目標,並通過使用系統的服務完成。例如收銀員。l 協助參與者,為系統提供服務,一般是計算機系統。比如說自動付費服務授權。l 幕後參與者,在...
全程建模 需求規格說明書和用例文件的關係
2004 06 28 08 57 53 風語者 需求規格說明書 與 用例文件 在軟體過程中誰先誰後?不考慮迭代。2004 06 28 09 01 49 青潤 需求規格說明書先出來。但是,要在用例文件開發完成後做補充修訂。2004 06 28 09 02 29 青潤 然後用例文件在按照需求規格說明書中...