版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第4章用例和用例圖一個系統(tǒng)的初始階段是從獲得需求開始的。一旦需求確定了,就可以在問題說明中確定用例。本章說明了如何從問題說明中提取用例以及如何建立用例圖模型。2023/2/11用例:基于用戶目標的需求組織形式立足開發(fā)者視角(銀行取款)系統(tǒng)要求用戶輸入合法的密碼系統(tǒng)能夠接受用戶錄入的取款金額系統(tǒng)能夠從帳戶中扣除取款金額系統(tǒng)允許選擇“打印數(shù)據(jù)”或者“不打印數(shù)據(jù)”系統(tǒng)能夠顯示交易結束信息2023/2/124.1識別用例圖用例圖最重要的作用是使最終用戶和開發(fā)者之間進行交流。在開發(fā)的初始階段,通過確定系統(tǒng)的參與者和主要用例來建立用例圖。在細化階段,把更多的詳細信息加入到已確定的用例中,用例模型將越來越成熟。2023/2/134.1識別用例圖建立一個系統(tǒng)的用例圖通常是開發(fā)過程中一個困難的部分。建立一個用例圖包括以下步驟:定義系統(tǒng)。確定參與者和用例。描述用例。定義用例和參與者之間的關系。定義用例之間的關系。2023/2/144.1識別用例圖客戶和開發(fā)者通過用例圖達成共識,用例圖包括以下幾個內(nèi)容:誰將與系統(tǒng)交互。(參與者)系統(tǒng)將做什么。(用例)需要什么接口。(關系)2023/2/154.2用例圖組件一、參與者(Actor):參與者代表的是與系統(tǒng)交互的任何人或任何事物。參與者是外部的,不是系統(tǒng)的組成部分,但如果要使用或支持參與者,則需要一個接口。AnActordefinesacoherentsetofrolesthatusersofusecasesplaywheninteractingwithusecases.Anactorhasoneroleforeachusecasewithwhichitcommunicates.2023/2/164.2用例圖組件一、參與者:參與者用于表示使用系統(tǒng)的對象,參與者可以是一個人或者一個系統(tǒng)。參與者由一個固定的圖形表示,并在圖形下面列出參與者的名字。2023/2/174.2用例圖組件每個參與者的名稱要反映參與者的角色,而不是它的功能或它的實例,所以給參與者提供一個最能描述其功能的合適名稱是非常重要的。并且我們要避免為代表人的參與者起一個實際人名。如:參與者張三是個“教師”,是他所扮演的角色。如果命名為“張三”就不對了。2023/2/184.2用例圖組件參與者如何確定?可以通過以下一些問題來幫助你確定參與者:誰使用系統(tǒng)的主要功能?誰從系統(tǒng)獲取信息?誰支持和維護系統(tǒng)?誰需要系統(tǒng)的支持以履行他們的日常職責?在組織里這個系統(tǒng)被用到哪里?與系統(tǒng)交互的是哪些硬件設備?與這個系統(tǒng)交互的其他系統(tǒng)是哪些?2023/2/194.2用例圖組件二、用例(UseCase)Thespecificationofasequenceofactions,includingvariants,thatasystem(orotherentity)canperform,interactingwithactorsofthesystem.Ausecaseisacoherentunitoffunctionalityprovidedbyasystem,asubsystem,oraclassasmanifestedbysequencesofmessagesexchangedamongthesystemandoneormoreoutsideinteractors(calledactors)togetherwithactionsperformedbythesystem.2023/2/1104.2用例圖組件用例簡介用例對參與者和系統(tǒng)之間的交互建立模型。它是通過參與者調用功能來啟動的,這將會產(chǎn)生一個可視化的結果。一個用例產(chǎn)生的結果必須是一個給系統(tǒng)用戶的特定值。用例的功能和結果必須是一個完整且有意義的事件流。它闡明了系統(tǒng)提供給參與者的功能。2023/2/1114.2用例圖組件用例的名稱用例通常具有名稱,該名稱通常簡要地描述了用例的功能。用例名稱通常以一個動詞開始,常用動賓結構表示。用例名稱顯示在用例圖標下面或者圖標里面。2023/2/1124.2用例圖組件用例的大小對于用例的具體大小沒有明確的規(guī)定。但一個用例應該包含一項主要功能,這項功能應該是完整的,是有始有終的。如:“轉帳”就是一個用例,而“驗證密碼”一般不看成是一個用例。2023/2/1134.2用例圖組件用例的文檔化一旦決定了每個用例將做什么和誰將調用它,就應該寫一個簡短的文本來描述這一點。這段描述在開發(fā)過程的初始階段完成,它應該以一些句子說明用例的目的,還應該說明用例提供的功能的高層次定義。2023/2/1144.2用例圖組件識別用例的方法使用已經(jīng)定義的參與者來識別用例。對于每個參與者,都需要回答一系列問題:參與者需要哪些功能?參與者需要什么支持?參與者如何與系統(tǒng)信息交互?用例必須一直與至少一個參與者相關聯(lián)。2023/2/1154.3用例關系用例之間的關系用例與用例之間有三種關系:包含關系(include):當一個用例一直使用另一個用例時就確定為包含關系。擴展關系(extend):當一個用例可能使用另一個用例時就為擴展關系。泛化關系(generalization):一個用例是另一個用例的一種,就是一個泛化關系。2023/2/1164.3用例關系1.包含關系包含關系是指用例可以簡單地包含其它用例具有的行為,并把它所包含的用例行為作為自身行為的一部分。AnincluderelationshipfromusecaseAtousecaseBindicatesthataninstanceoftheusecaseAwillalsoincludethebehaviorasspecifiedbyB.ThebehaviorisincludedatthelocationwhichdefinedinA.在UML中,包含關系是通過帶箭頭的虛線段加構造型<<include>>來表示的,箭頭由基礎用例指向被包含用例。2023/2/1174.3用例關系2.擴展關系在一定條件下,把新的行為加入到已有的用例中,獲得的新用例稱為擴展用例,原有的用例稱為基礎用例,從擴展用例到基礎用例的關系就是擴展關系。AnextendrelationshipfromusecaseAtousecaseBindicatesthataninstanceofusecaseBmaybeextendedbythebehaviorspecifiedbyA.在UML中,擴展關系是通過帶箭頭的虛線段加構造型<<extend>>來表示的,箭頭由擴展用例指向基礎用例。2023/2/1184.3用例關系Libraryusecasesincludingborrowingabook,returningaborrowedbook,andpayingalibraryfine2023/2/1194.3用例關系3.泛化關系用例的泛化關系指的是一個父用例可以被特化為多個子用例,而父用例和子用例之間的關系就是泛化關系。AgeneralizationfromusecaseAtousecaseBindicatesthatAisaspecializationofB.在UML中,用例的泛化關系是通過一個從子用例指向父用例的三角箭頭表示的,如右圖所示。2023/2/120例1建立項目與資源管理系統(tǒng)的Usecase圖系統(tǒng)的主要功能是:項目管理,資源管理和系統(tǒng)管理。項目管理包括項目的增加、刪除、更新。資源管理包括對資源和技能的添加、刪除和更新。系統(tǒng)管理包括系統(tǒng)的啟動和關閉,數(shù)據(jù)的存儲和備份等功能。2023/2/1214.4書寫用例文檔用例描述:用例名稱:取款前置條件:基本路徑:(1)客戶將卡插入ATM機,開始用例。(2)ATM顯示歡迎消息并提示客戶輸入密碼。(3)
客戶輸入密碼。(4)ATM確認密碼有效。如果無效則執(zhí)行子事件流a。(5)ATM提供以下選項:存錢,取錢,查詢。(6)用戶選擇取錢選項。(7)ATM提示輸入所取金額。(8)
用戶輸入所取金額。(9)
ATM確定該帳戶是否有足夠的金額。如果余額不夠,則執(zhí)行子事件流b。2023/2/1224.4書寫用例文檔(10)
ATM從客戶帳戶中減去所取金額。(11)
ATM向客戶提供要取的錢。(12)
ATM打印清單。ATM退出客戶的卡,用例結束。子事件流a:a1.
提示用戶輸入無效密碼,請求再次輸入;a2.如果三次輸入無效密碼,系統(tǒng)自動關閉,退出客戶銀行卡。子事件流b:b1.提示用戶余額不夠。b2.返回(5),等待客戶重新選擇。后置條件:結束取款事件。2023/2/1234.4書寫用例文檔前置后置條件(起點與終點)前置條件:開始用例前所必需的系統(tǒng)及其環(huán)境條件。注:前置條件必須是系統(tǒng)在用例開始前能檢測到的。后置條件:用例成功后系統(tǒng)應該具備的狀態(tài)。2023/2/1244.4書寫用例文檔前置后置條件2023/2/1254.4書寫用例文檔前置后置條件ATM自動取款機的取款用例的前置條件?
ATM用戶的帳戶里有足夠的金額2023/2/1264.4書寫用例文檔基本路徑描述
1.使用主動語言
2.句子必須以參與者或者系統(tǒng)做主語
3.每一句都要朝目標邁進
4.只書寫“可觀測的”
5.不要涉及界面細節(jié)
2023/2/1274.4書寫用例文檔使用主動語言
1.歐文從貝克漢姆處得到傳球,守門員...
2.貝克漢姆傳球給歐文,歐文射門,守門員撲救...3.用戶名和密碼被驗證
4.系統(tǒng)驗證用戶名和密碼
2023/2/1284.4書寫用例文檔每一句都要朝目標邁進參與者填寫姓名
參與者填寫電話參與者填寫聯(lián)系地址
參與者提交2023/2/1294.4書寫用例文檔句子必須以參與者或者系統(tǒng)做主語
參與者......
系統(tǒng)......2023/2/1304.4書寫用例文檔只書寫“可觀測的”系統(tǒng)通過ADO建立數(shù)據(jù)庫連接,傳送SQL查詢語句,從”零件”表查詢......
系統(tǒng)按照查詢條件搜索零件2023/2/1314.4書寫用例文檔不要涉及界面細節(jié)
會員從下拉框中選擇類別
會員在相應文本框中輸入查詢條件會員點擊”確定”按鈕2023/2/1324.4書寫用例文檔用例名稱:結賬用例描述:會員完成一次與商店的交易參與者:會員前置條件:會員已經(jīng)完成選購基本路徑:1.會員請求結賬2.系統(tǒng)檢查賬戶是否處于打開狀態(tài)3.系統(tǒng)檢查庫存是否滿足4.系統(tǒng)檢查會員提交的信息是否充分5.系統(tǒng)合計訂單總價6.系統(tǒng)顯示收費明細7.會員確認8.系統(tǒng)保存訂單信息,通知供應商發(fā)貨,減少相應庫存數(shù)量。2023/2/1334.4書寫用例文檔子事件流2a.賬戶未打開2a1.系統(tǒng)顯示“賬戶未打開,不能結賬”信息3a.庫存不能滿足3a1.系統(tǒng)顯示不能滿足庫存的訂單項3a2.會員修改訂單項數(shù)量4a.會員提交信息不充分4a1.系統(tǒng)告知會員需要補充的信息4a2.管理訂單7a.會員修改訂單7a1.管理訂單后置條件:把發(fā)貨信息告知供應商發(fā)貨2023/2/1344.5工資系統(tǒng)發(fā)掘參與者可以從發(fā)掘參與者開始定義一個用例模型??梢詮拇_定系統(tǒng)應做什么開始發(fā)掘參與者,這樣就可以看到與系統(tǒng)有關的一切事物。選擇參與者通常和用例中需要的抽象水平相關。最初,可以用一些參與者建立系統(tǒng)模型,而在反復設計的過程中,必須創(chuàng)建更多的參與者來建立更詳細的系統(tǒng)模型。2023/2/1354.5工資系統(tǒng)例如,應設法在定義工資系統(tǒng)的問題描述里發(fā)掘參與者和用例。2023/2/1364.5工資系統(tǒng)找出工資系統(tǒng)的參與者(1)員工->三類員工:小時工(HourlyEmployee)、正式工(SalariedEmployee)、臨時工(CommissionedEmployee)(三種不同的參與者)(2)工資管理員(PayrollAdministrator)(3)銀行(Bank)2023/2/1374.5工資系統(tǒng)發(fā)掘用例用例應該描述一個完整且有意義的、貫穿系統(tǒng)的工作流。并且以參與者可觀察到的值作為結果結束。如果用例僅僅描述功能的一小部分或是不完整的功能,就應該將它合并到其他更一般的用例中。如:RunPayroll(生成工資)是一個很好的用例,而CreatePaycheck用例就不是一個好的用例,它沒有包含一個完整且有意義的貫穿系統(tǒng)的工作流。它僅是RunPayroll用例的一部分,所以應該合并。2023/2/1384.5工資系統(tǒng)除RunPayroll外,還有幾個完整的用例:ManageTime、ManagePurchaseOrder、MaintainEmployeeInformationManage
Time用例提供記錄、修改、刪除和瀏覽在指定工作周內(nèi)工作時間的能力。Manage
PurchaseOrder用例提供增加、修改、刪除和瀏覽采購訂單的能力。MaintainEmployeeInformation用例提供增加、修改、刪除和瀏覽員工信息的能力。2023/2/1394.5工資系統(tǒng)用例的描述需要簡短地描述所選擇的用例,這樣就可以獲得系統(tǒng)的所有功能,還可以了解哪些用例和哪些參與者相聯(lián)系。用例描述用于說明用例是怎樣被啟動的,還應該明確說明用例的用途。但不必說明技術細節(jié)。2023/2/1404.5工資系統(tǒng)工資系統(tǒng)四個用例的描述:Manage
Time:任何類型的員工可以啟動這個用例,使員工可以對指定周的工作時間進行添加、刪除或瀏覽。Manage
PurchaseOrder:這個用例是由臨時工啟動的,它使臨時工可以對訂單進行添加、修改或瀏覽。2023/2/1414.5工資系統(tǒng)MaintainEmployeeInformation:這個用例由工資管理員啟動,它使管理員具有對工資系統(tǒng)所需的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025福建龍巖市上杭縣廬豐衛(wèi)生院招聘一體化鄉(xiāng)村醫(yī)生1人參考筆試題庫附答案解析
- 深度解析(2026)《GBT 26904-2020桃貯藏技術規(guī)程》
- 2025廣東肇慶市德慶縣教育局所屬公辦幼兒園招聘合同制工作人員26人考試參考試題及答案解析
- 2025江蘇南通市崇川區(qū)區(qū)屬國有企業(yè)下屬控股公司招聘8人備考筆試試題及答案解析
- 深度解析(2026)《GBT 25905.2-2010信息技術 通 用多八位編碼字符集 錫伯文、滿文名義字符、顯現(xiàn)字符與合體字 32點陣字型 第2部分:正黑體》
- 深度解析(2026)《GBT 25896.1-2010深度解析(2026)《設備用圖形符號 起重機 第1部分:通 用符號》》
- 深度解析(2026)《GBT 25892.4-2010信息技術 維吾爾文、哈薩克文、柯爾克孜文編碼字符集 32點陣字型 第4部分:庫非黑體》
- 2025上海生物技術學院招聘生物技術學院課題組動物實驗研究助理崗位1人備考筆試試題及答案解析
- 2025陜西西咸新區(qū)空港第一學校就業(yè)見習招聘8人參考筆試題庫附答案解析
- 2025廣東佛山市南海區(qū)國有資產(chǎn)監(jiān)督管理局財務總監(jiān)招聘1人備考筆試題庫及答案解析
- 2025年保密試題問答題及答案
- 建設工程工程量清單計價標準(2024版)
- 代建項目管理流程與責任分工
- cnc刀具刀具管理辦法
- DB14∕T 3069-2024 放射治療模擬定位技術規(guī)范
- 如何培養(yǎng)孩子深度專注
- 2024年餐飲店長年度工作總結
- 護理8S管理匯報
- 產(chǎn)前篩查標本采集與管理制度
- 2025勞動合同書(上海市人力資源和社會保障局監(jiān)制)
- 藥膳餐廳創(chuàng)新創(chuàng)業(yè)計劃書
評論
0/150
提交評論