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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

uml用例如何描述

發(fā)布時間:2023/12/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 uml用例如何描述 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

來源:http://space.itpub.net/118838/viewspace-483405

?

一、難點:

寫 好用例就必須理解以下三個概念: --范圍 scope:真正被討論的系統(tǒng)是什么? --主執(zhí)行者 primary actor: ? ?誰有要實現(xiàn)的目標(biāo)? --層次 level: ? 目標(biāo)泊層次是高,還是低? 經(jīng)典,現(xiàn)在只體會到先確定范圍和 主執(zhí)行者才能提到描述用例,還要在沉淀。經(jīng)驗只能借鑒而不能照搬!!!! 轉(zhuǎn): --------------------------- 正體字為原文,斜體字 為本人見解
1、用例是代表系統(tǒng)中各個項目相關(guān)人員之間就系統(tǒng)的行為所達(dá)成的契約。用例描述了在不同 條件下,系統(tǒng)對某一項目相關(guān)人員的請求所作出的響應(yīng)。
從文字上看,比較難理解,舉個比較經(jīng)典的例 子:某人在ATM機提款,這個本身就可以看作一個用例,只是它的層次比較高,細(xì)分下去,人可以在ATM上做什么?粗略一想,就有幾條:(1)查詢余額 (2)提款(3)轉(zhuǎn)帳(4)存款,這四點都可以獨立成為一個用例,而且執(zhí)行者都是人,簡單來說,用例就是描述執(zhí)行者和系統(tǒng)之間的交互的集合。
2、 從根本上說,用例是文本形式;他們是作為人與人之間,尤其是沒有受過專門培訓(xùn)的人員之間互相交流的一種手段。因此,簡單的文本通常是編寫用例的首選形式。
很 多人一看到“用例”這兩個字就和用例圖聯(lián)系在一起,就是一個小人,一個橢圓,中間有線連接那種圖,其實用例圖只是用例的圖形化表示,用例真正的內(nèi)容體現(xiàn)在 它的文本描述中,而且描述的語言和平時人們?nèi)粘懽鞯恼Z言一樣,一般有初中文化的人都看的懂。
3、 編寫用例必須掌握的三個概念:
(1) ? ? 范圍(scope):真正被討論的系統(tǒng)是什么?
(2) ? ? 主執(zhí)行者(primary actor):誰有要實現(xiàn)的目標(biāo)?
(3) ? ? 層次(level):目標(biāo)的層次是高還是低?
范圍很重要,這個和項目管理 里 面的項目范圍概念差不多,不過可能它的粒度小一點,有個可能一個用例只是一個項目的一小塊功能交互,只有明確好范圍,才能真正把握需求,但這個還需開發(fā)方 與客戶不斷的溝通才能確定。主執(zhí)行者與項目管理的項目干系人有些聯(lián)系,很多用例主執(zhí)行者就是項目干系人中的一員。
4、 只有一個用例模板是不夠的。至少要有兩個用例模板:一個是非正式的(或稱隨意的),在要求不嚴(yán)的項目中使用;另一個是完整正式的,在要求嚴(yán)格的項目中使 用。
無論正式還是非正式,只要能使客戶和開發(fā)人員能建立有效的溝通途徑,就是好用例,只是有時候一 些項目要求比較嚴(yán)格,文檔寫的也比較正式而已。
5、如果把用例作為需求來編寫,請謹(jǐn)記以下兩點
(1) ? ? 用例確實是需求。不必將用例轉(zhuǎn)變成行為需求的其他形式。
(2) ? ? 用例不是所有的需求。用例不詳細(xì)地描述外部接口、數(shù)據(jù)格式、業(yè)務(wù)規(guī)則和復(fù)雜公式。
需求包含用例,用 例屬于需求的一部分,這恰恰反應(yīng)了:“用例不是萬能的....”,下一句想必不用說都知道了吧,呵呵。
6、用例僅僅是行為需求,并且是所有的行為需 求。
注意后半句
小結(jié):這一章 主要是為用例定位,以及怎么樣在不同的環(huán)境和時間安排下編寫用例,使其達(dá)到最好的效果。
------------------------------------------------ 二、基本定義: 執(zhí) 行者 actor:任何具有行為的人或物。 項目相關(guān)人員 stakeholder :對被討論系統(tǒng)的行為有特定興趣的人或物。 主 執(zhí)行者 primary actor:啟動與被討論系統(tǒng)的一次交互活動,從而達(dá)到某一目標(biāo)的人或物。 用例 use case:規(guī)定被討論系統(tǒng)行為的契約。 范圍 scope:界定被討論的系統(tǒng)。 前置條件和保證 precondition and guarantee:在用例執(zhí)行之前和之后必須滿足的條件。 主成功場景 main success scenario:一切順利的情況。 擴展 extension:場景執(zhí)行過程中出現(xiàn) 的不同情況。 擴 展中的編號:是指在主成功場景中不同情況發(fā)生時所處的執(zhí)行步驟號碼(例如,步驟4a步驟4b是指主成功場景中步驟4的兩種不同情況) 下 劃線:當(dāng)一個用例引用另一個用例時,被引用的用例加下劃線。 ----詳細(xì) ?格式 ?begin ------ 用例名稱:?
通常為動賓詞組,體現(xiàn)出對用戶有價值的功能目標(biāo)?
類型:?
BUC|BUCR|SUC?

范 圍:?
寫出具體的SuD名稱?
層次:?
++|+|!|-|--?
優(yōu)先級:?
High|Medium|Low?

版 本:?
當(dāng)前版本?
作者:?
當(dāng)前版本的作者?
日期:?
當(dāng)前版本的日期?

變更歷史:?
歷史 版本號 (日期) 版本說明;變更事項 修訂者?

用例圖: 說明此用例的 SuD 以及主要用角關(guān)系(主用角、次用角、輔用角)和用例關(guān)系(包含、擴展、繼承)等?

相關(guān)用例:?
與此用例相關(guān)、存在重要聯(lián)系的用 例?

簡述/背景:?
說明此用例的主要目的,基本內(nèi)容和相關(guān)背景?
實現(xiàn)的特性:?
依次列出此用例實現(xiàn)的主要系統(tǒng)特 性(Feature)?

情節(jié)舉例:?
用具體的實例說明用例執(zhí)行的一個情況。?

主用角責(zé)權(quán)利:?
主用角: 責(zé)權(quán)利?

其他干系者責(zé)權(quán)利:?
說明除主用角外,其他次用角、干系人、外部系統(tǒng)的責(zé)權(quán)利,所扮演的角色?

干系者名 稱:責(zé)權(quán)利?
...?

后置狀態(tài)?
與條件?
最小保證:?
無論用例執(zhí)行成功或失敗,系統(tǒng)對所有干系者作出的 最小/最起碼的承諾?

保證條件說明?
成功保證:?
用例目標(biāo)成功達(dá)成后,系統(tǒng)為滿足所有干系者的利益而作出的承諾,達(dá)到的 狀態(tài)和滿足的條件?

成功狀態(tài)名稱:狀態(tài)說明,應(yīng)滿足的條件?
...?

失敗保證:?
用例目標(biāo)失敗后,系統(tǒng) 為滿足所有干系者的利益而作出的承諾,達(dá)到的狀態(tài)和滿足的條件?

失敗狀態(tài)名稱:狀態(tài)說明,應(yīng)滿足的條件?
...?
前置狀 態(tài)與條件:?
用例開始執(zhí)行前所處的狀態(tài)和/或應(yīng)滿足的條件?

狀態(tài)名稱:狀態(tài)說明,條件說明?
...?
觸發(fā)事 件:?
觸發(fā)用例從前置狀態(tài)開始執(zhí)行的事件?
基本流:?
說明一個最主要的成功執(zhí)行路徑?

{名稱標(biāo)記}?
步 驟編號 事件/步驟描述?
...?

公共流: 被此用例的其他動作流引用的公共步驟?

{動作流名稱}?
{片 斷名稱標(biāo)記}?
步驟編號 事件/步驟描述?
...?

擴展流:?


說明除基本流之外的其他成功流、 失敗流和可選、替換流?

{擴展名稱標(biāo)記}?
擴展位置引用?
擴展條件:?
擴展處理?

...?

擴 展點:?
此用例允許其他用例擴展插入的位置?

擴展點名稱 {擴展點在基本流、擴展流當(dāng)中的位置}?
技術(shù)和數(shù)據(jù)變化:?
此 用例執(zhí)行時,在技術(shù)和數(shù)據(jù)方面不同的做法?
非功能需求:?
(URPS+)?
包括易用性、可靠性、性能、可維護性等方面的要求?
業(yè) 務(wù)規(guī)則:?
作用于此用例的各項業(yè)務(wù)約束?

數(shù)據(jù)字段:?
說明此用例中用到數(shù)據(jù)的字段名稱、類型等細(xì)節(jié),可與領(lǐng)域模型聯(lián)系起 來?

未決問題:?
此用例當(dāng)前存在的問題?

備注:?
其他任何需要說明、補充的事項?

---- 詳細(xì) ?格式 ?end ------
三、例子 用例1:(符號)通過萬維網(wǎng)購買股票 (注:這里的符號可以是“黑盒”符號,表示程序運行在與萬維網(wǎng)相連的工作站上,表示所討論的系統(tǒng) 是一個計算機系統(tǒng),符號的使用完全可以根據(jù)個人的喜好來選擇,但對范圍和層次的標(biāo)記卻不是)
?主 執(zhí)行者:購買者
范圍:私人顧問/金融包
層次:用戶目標(biāo)
項目相關(guān)人員和利益:
?? ? ? ?購買者----購買股票,并希望所買股票能自動被加到PAF記錄中。
?? ? ? ?股票代理商----希望得到全部的購買信息。
前置 條件:用戶已經(jīng)打開PAF。
最小保證:有足夠的登錄信息,以便當(dāng)出現(xiàn)問題時,PAF能夠檢測到問題,并要求用戶提供更詳細(xì)的信息。
成功保 證:遠(yuǎn)程web 站點認(rèn)可此次購買事件;日志和用戶記錄被更新。
主 成功場景:
1、購買者選擇通過萬維網(wǎng)來購買股票。
2、PAF從用戶那里得到所用站點的名稱(如E*Trade、Schwab等)。
3、 PAF與該站點建立網(wǎng)絡(luò)連接,并保持控制權(quán)。
4、購買者在該站點上瀏覽并購買股票。
5、PAF截取站點的響應(yīng)信息,并更新購買者的記錄。
6、 PAF向用戶顯示更新后的記錄情況。
擴展:
2a、購買者要使用一個PAF不支持的站點:
?? ?2a1:系統(tǒng)從購買者那里獲取新建議,帶有取消用例的選項。
3a、在設(shè)置過程中,網(wǎng)絡(luò)發(fā)生故障:
?? ?3a1:系統(tǒng)向購買者報告錯誤,并建議他退回到前一步。
?? ?3a2:購買者或者此用例,或者重新再試。
4a、計算機系統(tǒng)崩潰或者在 交易過程中被關(guān)掉:
?? ?4a1:(這時,我們該怎么辦?)
4b、Web站點沒有及時認(rèn)可此次購買活動,而是把它推遲處理:
?? ?4b1:PAF把這次推遲事件記入日志,設(shè)置一個時鐘,定期向購買者詢問結(jié)果。
5a、Web站點沒有返回關(guān)于購買情況的必要信息:
?? ?5a1:PAF把缺少信息的事件記入日志,要求購買者更新存有疑問的交易
下 面是用例網(wǎng)站公告發(fā)布的用例描述 用例名稱:網(wǎng)站公告發(fā)布? 用例標(biāo)識號:202? 參與者:負(fù)責(zé)人? 簡要說明: 負(fù)責(zé)人用來填寫和修改家教網(wǎng)站首頁的公告,公告最終顯示在家教網(wǎng)站的 首頁上。? 前置條件: 負(fù)責(zé)人已經(jīng)登陸家教網(wǎng)站管理系統(tǒng)? 基本事件流: 1. 負(fù)責(zé)人鼠標(biāo)點擊“修改公告”按鈕 2. 系統(tǒng)出現(xiàn)一個文本框,顯示著原來的公告內(nèi)容 3. 負(fù)責(zé)人可以在文本框上修改公告,也可以完全刪除,重新寫新的公告 4. 負(fù)責(zé)人編輯完文本框,按“提交”按鈕,首頁公告就被修改 5. 用例終止? 其他事件流A1: 在按“提交”按鈕之前,負(fù)責(zé)人隨時可以按“返回”按鈕,文本框 的任何修改內(nèi)容都不會影響網(wǎng)站首頁的公告? 異常事件流: 1. 提示錯誤信息,負(fù)責(zé)人確認(rèn) 2. 返回到管理系統(tǒng)主頁面? 后置條件: 網(wǎng)站首頁的公告信息被修改? 注釋:無 例 子3 轉(zhuǎn):http://www.cnblogs.com/wxohyer/archive/2006/11/06/552363.html

用例:

用例視圖向外部用戶展示了其捕獲的系統(tǒng)、子系統(tǒng)、類 或者組件的行為。它將系統(tǒng)功能劃分成對執(zhí)行者和有意義的事物。而交互功能的部分被稱作用例。

是 代表系統(tǒng)中各個項目相關(guān)人員之間就形態(tài)行為。所達(dá)成的契約。

編寫用例必須掌握三個概念

  • 范 圍:真正被討論的系統(tǒng)是什么?
  • 主執(zhí)行者:誰有要實現(xiàn)的目標(biāo)?
  • 層 次:目標(biāo)的層次是高是低?

?

其它概念:

  • 執(zhí) 行者:任何具有行為的人或物
  • ? 項 目相關(guān)人員:對被討論的系統(tǒng)的行為有特定興趣的人或物
  • 主執(zhí)行者:啟動與被討論系統(tǒng)得一次交互活動,從而達(dá)到 某一個目標(biāo)的人或物
  • 用例:規(guī)定被討論系統(tǒng)行為的契約
  • 范圍:界 定被討論的系統(tǒng)
  • 前置條件和保證:在用例執(zhí)行之前和之后必須滿足的條件
  • 主 成功場景:一切順利的情況
  • 擴展:場景執(zhí)行過程中出現(xiàn)的不同情況

?

三 個命名的目標(biāo)層次

1.????????? 概 要層次
包含多個用戶目標(biāo)。在描述系統(tǒng)時,它們有如下三個方面的功能:
??????? 顯示用戶目標(biāo)運行的語境
??????? 顯示相關(guān)目標(biāo)的生命周期順序
??????? 為 低層用例(包括白色用例和藍(lán)色用例)提供一個目錄表。

2.????????? 用 戶目標(biāo)級
它是主執(zhí)行者努力使工作得以完成的目標(biāo),或是用戶使用系統(tǒng)的目標(biāo)。

3.????????? 子 功能級
是指那些再實現(xiàn)用戶目標(biāo)時可能會被用到的目標(biāo)。

用例模板
??? 用例圖只是簡單地可視化描述系統(tǒng),我們還需要對用例進行詳細(xì)的說明。為了明確的描述用例我們需要一個用例模板,但是至今并沒有統(tǒng)一的用例模板。用例模板的 內(nèi)容一般包括:簡要描述、前置條件、后置條件、基本事件流、備選事件流等等。
  簡要描述:對用例的角色、目的的簡要描述。
  前置條 件:執(zhí)行用例之前系統(tǒng)必須要處于的狀態(tài),或者要滿足的條件。
  后置條件:用例一旦執(zhí)行后系統(tǒng)所處的狀態(tài)。
  基本事件流:描述該用例的 基本流程,指每個流程都“正常”運作時所發(fā)生的事情,沒有任何備選流而只有最有可能發(fā)生的事件流。
  備選事件流:表示這個行為或流程是可選的或 備選的,并不是總要總要執(zhí)行它們。

下面是一個用例模板的示例:  

用例: < 編號 >< 名 稱 >

特 征信息:

???? 用例在系統(tǒng)中的目標(biāo)(用例目標(biāo)描述)

???? 范圍(當(dāng)前考慮的是哪個系統(tǒng))

???? 級別(概要任務(wù) / 首 要任務(wù) / 子功能)

???? 前提條件(用例執(zhí)行前系統(tǒng)用具有的狀態(tài))

???? 成功后繼條件(用例成功執(zhí)行后應(yīng)具有的狀態(tài))

???? 失效后繼條件(用例沒有完成目標(biāo)的狀態(tài))

???? 首要角色(與該用例關(guān)聯(lián)的首要角色)

???? 觸發(fā)(啟動該用例執(zhí)行的系統(tǒng)動作)

主 要步驟:

???? < 步驟編號 >< 動作描述 >

擴 展:

???? < 有變化情況的步 驟編號 >< 條件 >:< 動作或另外一個用例 >

變 異:

???? < 步驟或變化編號 >< 變異列表 >

相 關(guān)信息:(可選)

???? 優(yōu)先級(該用例對于系統(tǒng)組織 的關(guān)鍵程度)

???? 性能目標(biāo)(該 用例的執(zhí)行時間耗費)

???? 頻 度(該用例被執(zhí)行的頻度)

從屬用例:(可選)

下 屬用例:

與首要角色的聯(lián)系渠道(包括交互式、靜態(tài)文件、數(shù)據(jù)庫 等)

公 開問題:(可選)

posted on 2006-11-06 22:50?王興 ?閱讀 (474)?評論(1) ??編輯 ?收藏 ?網(wǎng)摘 ?所屬分類:?技術(shù)文章

評論

#1樓 ? [樓主 ] ?2006-11-07 22:09? 王興 ??????

用例名 稱:?
通常為動賓詞組,體現(xiàn)出對用戶有價值的功能目標(biāo)?
類型:?
BUC|BUCR|SUC?

范圍:?
寫 出具體的SuD名稱?
層次:?
++|+|!|-|--?
優(yōu)先級:?
High|Medium|Low?

版 本:?
當(dāng)前版本?
作者:?
當(dāng)前版本的作者?
日期:?
當(dāng)前版本的日期?

變更歷史:?
歷史 版本號 (日期) 版本說明;變更事項 修訂者?

用例圖: 說明此用例的 SuD 以及主要用角關(guān)系(主用角、次用角、輔用角)和用例關(guān)系(包含、擴展、繼承)等?

相關(guān)用例:?
與此用例相關(guān)、存在重要聯(lián)系的用 例?

簡述/背景:?
說明此用例的主要目的,基本內(nèi)容和相關(guān)背景?
實現(xiàn)的特性:?
依次列出此用例實現(xiàn)的主要系統(tǒng)特 性(Feature)?

情節(jié)舉例:?
用具體的實例說明用例執(zhí)行的一個情況。?

主用角責(zé)權(quán)利:?
主用角: 責(zé)權(quán)利?

其他干系者責(zé)權(quán)利:?
說明除主用角外,其他次用角、干系人、外部系統(tǒng)的責(zé)權(quán)利,所扮演的角色?

干系者名 稱:責(zé)權(quán)利?
...?

后置狀態(tài)?
與條件?
最小保證:?
無論用例執(zhí)行成功或失敗,系統(tǒng)對所有干系者作出的 最小/最起碼的承諾?

保證條件說明?
成功保證:?
用例目標(biāo)成功達(dá)成后,系統(tǒng)為滿足所有干系者的利益而作出的承諾,達(dá)到的 狀態(tài)和滿足的條件?

成功狀態(tài)名稱:狀態(tài)說明,應(yīng)滿足的條件?
...?

失敗保證:?
用例目標(biāo)失敗后,系統(tǒng) 為滿足所有干系者的利益而作出的承諾,達(dá)到的狀態(tài)和滿足的條件?

失敗狀態(tài)名稱:狀態(tài)說明,應(yīng)滿足的條件?
...?
前置狀 態(tài)與條件:?
用例開始執(zhí)行前所處的狀態(tài)和/或應(yīng)滿足的條件?

狀態(tài)名稱:狀態(tài)說明,條件說明?
...?
觸發(fā)事 件:?
觸發(fā)用例從前置狀態(tài)開始執(zhí)行的事件?
基本流:?
說明一個最主要的成功執(zhí)行路徑?

{名稱標(biāo)記}?
步 驟編號 事件/步驟描述?
...?

公共流: 被此用例的其他動作流引用的公共步驟?

{動作流名稱}?
{片 斷名稱標(biāo)記}?
步驟編號 事件/步驟描述?
...?

擴展流:?


說明除基本流之外的其他成功流、 失敗流和可選、替換流?

{擴展名稱標(biāo)記}?
擴展位置引用?
擴展條件:?
擴展處理?

...?

擴 展點:?
此用例允許其他用例擴展插入的位置?

擴展點名稱 {擴展點在基本流、擴展流當(dāng)中的位置}?
技術(shù)和數(shù)據(jù)變化:?
此 用例執(zhí)行時,在技術(shù)和數(shù)據(jù)方面不同的做法?
非功能需求:?
(URPS+)?
包括易用性、可靠性、性能、可維護性等方面的要求?
業(yè) 務(wù)規(guī)則:?
作用于此用例的各項業(yè)務(wù)約束?

數(shù)據(jù)字段:?
說明此用例中用到數(shù)據(jù)的字段名稱、類型等細(xì)節(jié),可與領(lǐng)域模型聯(lián)系起 來?

未決問題:?
此用例當(dāng)前存在的問題?

備注:?
其他任何需要說明、補充的事項

總結(jié)

以上是生活随笔為你收集整理的uml用例如何描述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。