面向?qū)ο蠓椒ㄅc技術(shù):UML 用例建模_第1頁
面向?qū)ο蠓椒ㄅc技術(shù):UML 用例建模_第2頁
面向?qū)ο蠓椒ㄅc技術(shù):UML 用例建模_第3頁
面向?qū)ο蠓椒ㄅc技術(shù):UML 用例建模_第4頁
面向?qū)ο蠓椒ㄅc技術(shù):UML 用例建模_第5頁
已閱讀5頁,還剩84頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

共89頁第1頁面向?qū)ο蠓椒ㄅc技術(shù)共89頁第2頁第四講UML&用例建模描述面向?qū)ο笮畔⑾到y(tǒng)的國際標(biāo)準(zhǔn):UML(UnifiedModelingLanguange)用例(UseCase)建模

捕獲完整的用戶需求共89頁第3頁4.1UML&RationalRose內(nèi)容提要:UML的基本概念類圖用例圖活動(dòng)圖順序圖Rose的使用實(shí)例共89頁第4頁4.1.1統(tǒng)一建模語言UMLUML(UnifiedModelingLanguage)是一種構(gòu)建軟件系統(tǒng)和文檔的通用可視化建模語言。UML能與所有的開發(fā)方法一同使用,可用于軟件開發(fā)的整個(gè)生命周期。UML能表達(dá)系統(tǒng)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)信息,并能管理復(fù)雜的系統(tǒng)模型,便于軟件團(tuán)隊(duì)之間的合作開發(fā)。UML不是編程語言,但支持UML語言的工具可以提供從UML到各種編程語言的代碼生成,也可以提供從現(xiàn)有程序逆向構(gòu)建UML模型。共89頁第5頁Rational三劍客JimRumbaughGradyBoochIvarJacobson4.1.1統(tǒng)一建模語言UML共89頁第6頁4.1.1統(tǒng)一建模語言UMLUML歷史:應(yīng)OOAD的需要而產(chǎn)生

由ObjectManagementGroup(OMG)推薦成為國際標(biāo)準(zhǔn)共89頁第7頁4.1.1統(tǒng)一建模語言UMLUML的地位:UML己成為描述當(dāng)今面向?qū)ο笙到y(tǒng)的國際標(biāo)準(zhǔn)UML成為當(dāng)前一個(gè)程序員所必須掌握的基礎(chǔ)知識(shí)從北大青鳥看標(biāo)準(zhǔn)的重要性共89頁第8頁UML9種圖:用例圖:需求捕獲,測試依據(jù)類圖:類以及類之間的相互關(guān)系對象圖:對象以及對象之間的相互關(guān)系構(gòu)件圖:構(gòu)件及其相互依賴關(guān)系部署圖:構(gòu)件在各節(jié)點(diǎn)上的部署順序圖:強(qiáng)調(diào)時(shí)間順序的交互圖協(xié)作圖:強(qiáng)調(diào)對象協(xié)作的交互圖狀態(tài)圖:類所經(jīng)歷的各種狀態(tài)活動(dòng)圖:對工作流程建模結(jié)構(gòu)行為4.1.1統(tǒng)一建模語言UML共89頁第9頁4.1.1統(tǒng)一建模語言UML各種圖之間的關(guān)系:用例圖是描述系統(tǒng)的外部視圖。靜態(tài)視圖(類圖,對象圖),物理視圖(構(gòu)件圖,部署圖)是描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。交互視圖(順序圖,協(xié)作圖)描述系統(tǒng)的內(nèi)部視圖。狀態(tài)圖描述單個(gè)類的動(dòng)態(tài)行為?;顒?dòng)圖描述系統(tǒng)的外部/內(nèi)部視圖。共89頁第10頁類圖靜態(tài)視圖是UML的基礎(chǔ),靜態(tài)視圖表示為類圖,主要是描述類和類之間的關(guān)系。繼承關(guān)聯(lián)PersonHouseresidence0..*owner0..*Financial

Institutionclientcreditor0..*0..*Mortgageprincipalrateterm關(guān)聯(lián)類{ordered}0..*1BankTrust

Company4.1.1統(tǒng)一建模語言UML共89頁第11頁用例圖用例圖描述各個(gè)執(zhí)行者在各個(gè)用例中的參與情況,描述系統(tǒng)為用戶所感知的外部視圖。用例圖的功能:捕獲系統(tǒng)用戶需求描述系統(tǒng)邊界指明系統(tǒng)外部行為指導(dǎo)系統(tǒng)開發(fā)者的功能開發(fā)系統(tǒng)建模的起點(diǎn),指導(dǎo)所有的類圖和交互圖的設(shè)計(jì)產(chǎn)生測試用例,用戶文檔估計(jì)項(xiàng)目大小和進(jìn)度。4.1.1統(tǒng)一建模語言UML共89頁第12頁用例圖用例可以參與多種關(guān)系:關(guān)聯(lián)、擴(kuò)展、泛化和包含。CustomerSalesmanSupervisorSaleManagementSupply執(zhí)行者用例系統(tǒng)邊界共89頁第13頁活動(dòng)圖活動(dòng)圖是用狀態(tài)機(jī)對工作流進(jìn)行建模的特殊形式,它和流程圖很類似,不過它支持并發(fā)控制。活動(dòng)圖一般不描述所有的運(yùn)算細(xì)節(jié),它顯示活動(dòng)的流,但不顯示執(zhí)行活動(dòng)的對象。活動(dòng)圖處于系統(tǒng)的外部和內(nèi)部視圖之間,所以它可以作為設(shè)計(jì)的起點(diǎn),為了完成設(shè)計(jì),每個(gè)活動(dòng)必須擴(kuò)展成一個(gè)和多個(gè)操作,每個(gè)操作被指派給特定的對象來實(shí)現(xiàn)。將商業(yè)組織控制的活動(dòng)劃分在一起,這類劃分可以通過分隔的區(qū)域來表達(dá),由于它們的外觀,每個(gè)區(qū)域稱為泳道(swimlane)。4.1.1統(tǒng)一建模語言UML共89頁第14頁活動(dòng)圖CustomerSalesStockroomRequestServicePayTakeOrderFillOrderDeliverOrderCollectOrder泳道共89頁第15頁帶有對象流的活動(dòng)圖CustomerSalesStockroomRequestServicePayTakeOrderFillOrderDeliverOrderCollectOrder泳道Order[Placed]Order[Entered]Order[Filled]Order[Delivered]對象共89頁第16頁順序圖順序圖用二維表來表示交互,縱向是時(shí)間軸,橫向是參與的角色以及它們交換的消息。角色的生命周期表現(xiàn)為生命線,一條垂直的線,在激活的時(shí)間段里是雙線,在狀態(tài)保持的時(shí)間里是虛線。消息表示為從一條生命線出發(fā)到另一條生命線的有向線,從上而下,表示消息的時(shí)間順序。4.1.1統(tǒng)一建模語言UML共89頁第17頁順序圖CallerOperatorCallee時(shí)間軸callacknumbercallacktalktransfer順序圖生命線激活狀態(tài)保持角色4.1.1統(tǒng)一建模語言UML共89頁第18頁4.1.2統(tǒng)一建模語言UML

UML工具用于輔助軟件開發(fā)者繪制系統(tǒng)UML圖形用于輔助軟件開發(fā)者設(shè)計(jì)系統(tǒng)用于輔助軟件開發(fā)者管理整個(gè)開發(fā)流程常用的UML工具:

Rose,Visio,Together,visualUML,JBuilder,等共89頁第19頁Rose的使用ROSE是美國Rational公司的面向?qū)ο蠼9ぞ?,利用這個(gè)工具,我們可以建立用UML描述的軟件系統(tǒng)的模型,而且可以自動(dòng)生成和維護(hù)C++、Java、VB、Oracle等語言和系統(tǒng)的代碼。ROSE的界面分為三個(gè)部分——Browser窗口、Diagram窗口和Document窗口。Browser窗口用來瀏覽、創(chuàng)建、刪除和修改模型中的模型元素;Diagram窗口用來顯示和創(chuàng)作模型的各種圖;而Document窗口則是用來顯示和書寫各個(gè)模型元素的文檔注釋。共89頁第20頁Rose的使用Browser窗口Diagram窗口Document窗口Specification對話框工具欄工具箱共89頁第21頁Rose的使用Browser窗口有四個(gè)視圖:UseCaseLogicalComponentDeployment共89頁第22頁Rose的使用在UseCase視圖的圖的類型有:用例圖、順序圖、協(xié)作圖和活動(dòng)圖。共89頁第23頁Rose的使用在Logical視圖中的類型有:類圖和狀態(tài)圖。共89頁第24頁Rose的使用在Component視圖的圖的類型有:組件圖。共89頁第25頁Rose的使用在Deployment視圖的圖的類型有:部署圖。共89頁第26頁Rose的使用-各種圖用例圖順序圖協(xié)作圖活動(dòng)圖共89頁第27頁Rose的使用-各種圖類圖狀態(tài)圖共89頁第28頁Rose的使用-各種圖組件圖部署圖共89頁第29頁實(shí)例-HelloWorld很多教科書上的第一個(gè)程序就是Helloworld,一個(gè)在屏幕上簡單地打印出“Helloworld!”語句的例子。在java中一個(gè)在瀏覽器中顯示“HelloWorld!”的Applet的代碼如下:

importjava.awt.Graphics;classHelloWorldextendsjava.applet.Applet{ publicvoidpaint(Graphicsg){g.drawString("HelloWorld!",10,10); }}共89頁第30頁實(shí)例-HelloWorld用例圖HelloWorld共89頁第31頁實(shí)例-HelloWorldHelloWorld類HelloWorldPaint()g.drawString("HelloWorld!",10,10)

注釋共89頁第32頁實(shí)例-HelloWorld類圖HelloWorldPaint()AppletGraphics

繼承使用依賴共89頁第33頁實(shí)例-HelloWorld順序圖:Thread:Toolkit:ComponentPeertarget:HelloWorldruncallbackLoophandleExposepaint共89頁第34頁參考書與資源鏈接[1]圖書館有關(guān)UML的書:UML與RationalRose從入門到精通很大篇幅介紹Rose的使用,適于入門UML參考手冊最經(jīng)典的書籍,由三劍客編寫,適于精通UML面向?qū)ο笤O(shè)計(jì)基礎(chǔ)用通俗易懂的語言描述了面向?qū)ο蟮母鱾€(gè)方面,適于面向?qū)ο蠹夹g(shù)的入門UMLProgrammingGuide設(shè)計(jì)核心技術(shù)中國人自己編寫的書籍,以中國人的視覺描述UML,是一本很不錯(cuò)的介紹UML設(shè)計(jì)的書。共89頁第35頁參考書與資源鏈接[2]資源鏈接中國UML論壇:大量有關(guān)UML的資源和討論,強(qiáng)烈推薦?。ational公司了解UML和Rose進(jìn)展的站點(diǎn)共89頁第36頁4.2用例建模用例(UseCase)是一種描述系統(tǒng)需求的方法,使用用例的方法來描述系統(tǒng)需求的過程就是用例建模。

共89頁第37頁傳統(tǒng)的需求表述方式“軟件需求規(guī)約”(SoftwareRequirementSpecification)

采用功能分解的方式來描述系統(tǒng)功能,在這種表述方式中,系統(tǒng)功能被分解到各個(gè)系統(tǒng)功能模塊中,通過描述細(xì)分的系統(tǒng)模塊的功能來達(dá)到描述整個(gè)系統(tǒng)功能的目的。共89頁第38頁

一個(gè)典型的軟件需求規(guī)約形式

共89頁第39頁傳統(tǒng)的需求表述方式缺點(diǎn):容易混淆需求和設(shè)計(jì)的界限,表述實(shí)際上已經(jīng)包含了部分的設(shè)計(jì)在內(nèi)。分割了各項(xiàng)系統(tǒng)功能的應(yīng)用環(huán)境,從各項(xiàng)功能項(xiàng)入手,很難了解到這些功能項(xiàng)是如何相互關(guān)聯(lián)來實(shí)現(xiàn)一個(gè)完整的系統(tǒng)服務(wù)的。

共89頁第40頁用例模型

從用戶的角度來看,他們并不想了解系統(tǒng)的內(nèi)部結(jié)構(gòu)和設(shè)計(jì),他們所關(guān)心的是系統(tǒng)所能提供的服務(wù),也就是被開發(fā)出來的系統(tǒng)將是如何被使用的,這就是用例方法的基本思想。

共89頁第41頁用例模型元素

參與者(Actor)

參與者是指存在于被定義系統(tǒng)外部并與該系統(tǒng)發(fā)生交互的人或其他系統(tǒng),他們代表的是系統(tǒng)的使用者或使用環(huán)境。

用例(UseCase)

用例用于表示系統(tǒng)所提供的服務(wù),它定義了系統(tǒng)是如何被參與者所使用的,它描述的是參與者為了使用系統(tǒng)所提供的某一完整功能而與系統(tǒng)之間發(fā)生的一段對話。共89頁第42頁用例模型元素通訊關(guān)聯(lián)(CommunicationAssociation)

通訊關(guān)聯(lián)用于表示參與者和用例之間的對應(yīng)關(guān)系,它表示參與者使用了系統(tǒng)中的哪些服務(wù)(用例),或者說系統(tǒng)所提供的服務(wù)(用例)是被哪些參與者所使用的。

共89頁第43頁用例模型元素模型元素在UML中的表述如下圖所示:

共89頁第44頁用例建模步驟識(shí)別系統(tǒng)邊界和參與者列出事件識(shí)別用例書寫用例文檔識(shí)別用例的關(guān)系共89頁第45頁識(shí)別系統(tǒng)邊界與參與者

---系統(tǒng)邊界共89頁第46頁識(shí)別系統(tǒng)邊界與參與者

---參與者(Actor)參與者在系統(tǒng)之外通過系統(tǒng)邊界與系統(tǒng)進(jìn)行有意義的交互的任何事物。共89頁第47頁識(shí)別系統(tǒng)邊界與參與者

---識(shí)別參與者要點(diǎn)參與者代表在系統(tǒng)邊界之外的真實(shí)事物,并不是系統(tǒng)的成分參與者透過系統(tǒng)邊界直接與系統(tǒng)交互,參與者的確定代表著系統(tǒng)邊界的確定交互是有意義的參與者可以是任何事物共89頁第48頁識(shí)別系統(tǒng)邊界與參與者

---參與者在系統(tǒng)外邊邊界系統(tǒng)共89頁第49頁識(shí)別系統(tǒng)邊界與參與者

---一個(gè)人可以擔(dān)任多個(gè)參與者參與者不同,所需的領(lǐng)域知識(shí)和交互技巧不同共89頁第50頁識(shí)別系統(tǒng)邊界與參與者

---直接與系統(tǒng)交互共89頁第51頁識(shí)別系統(tǒng)邊界與參與者

---直接與系統(tǒng)交互他算什么?共89頁第52頁識(shí)別系統(tǒng)邊界與參與者

---業(yè)務(wù)建模vs.系統(tǒng)建模共89頁第53頁識(shí)別系統(tǒng)邊界與參與者

---有意義的交互共89頁第54頁練習(xí)—識(shí)別系統(tǒng)邊界某企業(yè)開發(fā)一個(gè)企業(yè)管理系統(tǒng),要求該系統(tǒng)與原有的財(cái)務(wù)系統(tǒng)相連接某企業(yè)開發(fā)一個(gè)企業(yè)管理系統(tǒng),并且改造原有的財(cái)務(wù)系統(tǒng)使該系統(tǒng)成為企業(yè)管理系統(tǒng)的一部分。共89頁第55頁練習(xí)--識(shí)別參與者客戶給銷售員打來電話,銷售員在下班前將當(dāng)日訂貨單輸入系統(tǒng)共89頁第56頁練習(xí)--識(shí)別參與者系統(tǒng)每天晚上自動(dòng)形成進(jìn)貨報(bào)表,對這個(gè)系統(tǒng)而言誰是Actor共89頁第57頁練習(xí)--識(shí)別參與者尋呼臺(tái)系統(tǒng)。用戶如果預(yù)訂了天氣預(yù)報(bào),系統(tǒng)每日定時(shí)給用戶發(fā)布天氣預(yù)報(bào),如果氣溫達(dá)到35度系統(tǒng)還會(huì)提醒用戶防暑降溫警報(bào)。誰是尋呼臺(tái)系統(tǒng)的Actor用戶?時(shí)間?氣溫?共89頁第58頁練習(xí)--識(shí)別參與者商品銷售系統(tǒng)。顧客通過網(wǎng)絡(luò)下訂單之后,系統(tǒng)自動(dòng)計(jì)算出總計(jì)金額,稅金,運(yùn)費(fèi),并將稅務(wù)部分?jǐn)?shù)目傳遞給另外一個(gè)系統(tǒng),該系統(tǒng)是稅務(wù)機(jī)關(guān)的。問商品銷售系統(tǒng)有幾個(gè)Actor?共89頁第59頁識(shí)別系統(tǒng)邊界與參與者

---識(shí)別參與者的思路誰使用系統(tǒng)的主要功能?誰改變系統(tǒng)的數(shù)據(jù)?誰從系統(tǒng)獲取信息?誰需要系統(tǒng)的支持以完成日常工作任務(wù)?誰需要維護(hù)、管理并保持系統(tǒng)正常運(yùn)行?系統(tǒng)需要應(yīng)付(處理)哪些硬設(shè)備?系統(tǒng)需要和哪些外部系統(tǒng)交互?誰(或什么)對系統(tǒng)運(yùn)行產(chǎn)生的結(jié)果(值)感興趣?時(shí)間、氣溫等內(nèi)部外部條件共89頁第60頁識(shí)別系統(tǒng)邊界與參與者

---參與者的泛化關(guān)系經(jīng)理可以參與職員參與的所有用例共89頁第61頁識(shí)別系統(tǒng)邊界與參與者

---參與者的地位識(shí)別用例之前--重要有助于識(shí)別用例,寧多勿少開始書寫用例文檔以后--不重要涉及的參與者太多測試階段--重要需要從參與者的角度考慮共89頁第62頁用例建模步驟識(shí)別系統(tǒng)邊界和參與者列出事件識(shí)別用例書寫用例文檔識(shí)別用例的關(guān)系共89頁第63頁

列出事件外部事件:來自系統(tǒng)外部客戶+下訂單內(nèi)部事件:來自系統(tǒng)的內(nèi)部和時(shí)間有關(guān):每天晚上檢查賬戶共89頁第64頁

列出事件

---頭腦風(fēng)暴“主語+動(dòng)詞(+賓語)”主語:Actor的候選,乘客,顧客,店員。動(dòng)詞:表示行為。例如:買,發(fā)送,修改...賓語:動(dòng)詞所代表行為的目標(biāo)共89頁第65頁用例建模步驟識(shí)別系統(tǒng)邊界和參與者列出事件識(shí)別用例書寫用例文檔識(shí)別用例的關(guān)系共89頁第66頁

識(shí)別用例

--用例定義用例實(shí)例是系統(tǒng)執(zhí)行的一系列動(dòng)作,這些動(dòng)作將生成特定主角(參與者)可觀測的結(jié)果值。一個(gè)用例定義一組用例實(shí)例。通俗來說Actor使用系統(tǒng)達(dá)到某個(gè)目標(biāo)共89頁第67頁

識(shí)別用例

--用例的要點(diǎn)可觀測--〉用例止于系統(tǒng)邊界結(jié)果值--〉用例是目標(biāo)導(dǎo)向的系統(tǒng)執(zhí)行--〉結(jié)果值由系統(tǒng)生成由參與者觀測--〉業(yè)務(wù)語言,用戶觀點(diǎn)一組用例實(shí)例--〉用例的粒度共89頁第68頁

識(shí)別用例

--用例止于系統(tǒng)邊界共89頁第69頁

識(shí)別用例

--用例是目標(biāo)導(dǎo)向的系統(tǒng)的存在是因?yàn)椋簠⑴c者有一些需要使用它來滿足目標(biāo)共89頁第70頁識(shí)別用例

--業(yè)務(wù)語言,用戶觀點(diǎn)共89頁第71頁

識(shí)別用例

--用戶觀點(diǎn)非系統(tǒng)觀點(diǎn)系統(tǒng)觀點(diǎn)用戶觀點(diǎn)查看今日航班顯示今日航班處理訂票訂票旅客旅客系統(tǒng)觀點(diǎn)共89頁第72頁識(shí)別用例

--用例VS.功能用戶觀點(diǎn)系統(tǒng)觀點(diǎn)共89頁第73頁識(shí)別用例

--用例命名:參與者的角度(狀語+)動(dòng)詞+(定語+)賓語通過電話訂票電話訂票旅客旅客共89頁第74頁

識(shí)別用例

--用例粒度(1)粒度過細(xì),陷入功能分解過細(xì)的粒度,一般都會(huì)導(dǎo)致技術(shù)語言的描述,而不再是業(yè)務(wù)語言共89頁第75頁

識(shí)別用例

--用例粒度(2)常見的錯(cuò)誤:把交互的某個(gè)步驟當(dāng)作用例把系統(tǒng)活動(dòng)當(dāng)作用例共89頁第76頁

識(shí)別用例

--用例粒度(3):四輪馬車的錯(cuò)誤蛻變成關(guān)系數(shù)據(jù)庫的建?!跋到y(tǒng)就是數(shù)據(jù)的增刪改查”這是常犯的錯(cuò)誤,先關(guān)心數(shù)據(jù)的存儲(chǔ)和維護(hù),反而忽略了用戶的目的。共89頁第77頁

識(shí)別用例

--用例粒

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論