UML實驗指導書2011要點_第1頁
UML實驗指導書2011要點_第2頁
UML實驗指導書2011要點_第3頁
UML實驗指導書2011要點_第4頁
UML實驗指導書2011要點_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、江西理工大學UML實驗報告UML實驗指導書 目錄實驗一 用例圖3實驗二 UML類圖10實驗三 狀態圖14實驗四 活動圖19實驗五 時序圖與協作圖23實驗一 用例圖實驗目的和要求、 掌握用例的概念。、 掌握UML用例圖的組成、作用以及使用場合。、 掌握用例與用例之間的各種關系。、 學習針對具體場景使用用例圖進行分析說明的方法。、 掌握用例描述的概念和基本結構,以及用例描述的作用。實驗內容和步驟、 什么是用例,什么是場景?用例和場景之間的關系是怎樣的?答:用例是外部可見的系統功能單元,這些功能由系統單元所提供,并通過一系列系統單元與一個或多個參與者之間交換的消息所表達。事件觸發時的情景便形成了場景

2、、 用例圖中有哪些組成元素?在UML中是如何表示的?答:用例圖包含6個元素,分別是:參與者、用例、關聯關系、包含關系、擴展關系以及泛化關系。參與者用人形圖標表示,用例圖用橢圓形符號表示,連線表示它們之間的關系。、 用例與用例之間的包含關系、擴展關系和泛化關系各代表什么含義?它們之間有何區別?對以上三種關系各舉一例,畫出用例圖,并進行說明。答:包含關系:一個用例可以簡單地包含其他用例具有的行為,并把它所包含的用例行為作為自身行為的一部分。擴展關系:一個用例也可以被定義為基礎用例的增量擴展,這稱作擴展關系,擴展關系是把新的行為插入到已有用例中的方法。泛化關系:一個用例可以被特別列舉為一個或多個子用

3、例。包含關系把幾個用例的公共步驟分離成一個單獨的被包含用例。被包含用例稱作提供者用例,包含用例稱作客戶用例,提供者用例提供功能給客戶使用。用例間的包含關系允許包含提供者用例的行為到客戶用例的事件中。包含關系使一個用例的功能可以在另一個用例中使用。(1)如果兩個以上用例有大量一致的功能,則可以將這個功能分解到另一個用例中。其他用例也可以和這個用例建立包含關系。(2)一個用例的功能太多時,可以用包含關系建模兩個小用例。用例間的包含關系示例圖基礎用例的執行不會涉及到擴展用例,只有特定的條件發生,擴展用例才被執行。 用例間的擴展關系示例用例泛化當父用例能夠被使用時,任何子用例也可以被使用。子用例從父用

4、例處繼承行為和屬性,還可以添加、覆蓋或改變繼承的行為。如果一個系統中一個或多個用例是某個一般用例的特殊化時,就需要使用用例的泛化關系。用例間的泛化關系示例、 為了滿足物業中介行業的信息化要求,甲公司基于詳盡的需求調研與分析,準備研發一套符合市場需要的、實用的信息管理系統。主要將實現客戶資料信息管理、客戶委托(出租、出售、租賃、購買)信息管理、業務線索生成與管理、房源狀態自動更新、權限管理、到期用戶管理、房源組合查詢等功能。該公司小王,通過多次的與潛在客戶的交流與溝通,完成了最初的用例模型的開發,下是一個用例模型的局部:小李認為該模型不符合“用例建模”的思想,存在明顯的錯誤。請用200字以內說明

5、錯誤所在,并說明應該如何修改。答:用例是系統參與者與系統在交互過程中所需要完成的事務。確定參與者是房產經濟人,還要分析系統所涉及的問題領域和系統運行的主要任務。根據系統的需求分析可確定:作為一個物業信息管理系統,要實現客戶資料信息管理、客戶委托(出租、出售、租賃、購買)信息管理、業務線索生成與管理、房源狀態自動更新、權限管理、到期用戶管理、房源組合查詢等功能。參與者有房產經紀人,對于房產經紀人來說,系統維護操作主要包括:錄入,修改房源信息而登錄和確認信息是包含在登入和修改中的,包含關系的圖標按鈕應用虛線箭頭。修改后應該是:、 閱讀下面的用例圖,說明該圖所表達的信息。答:客戶可以啟動“預定座位”

6、功能。如果預定人數多,將執行擴展用例“處理等候隊列”。總臺服務員可以啟動“安排座位”“辦理結賬”功能。客戶預定座位、服務員安排座位需要先“檢查座位信息”。服務員“辦理結賬”時需要“收款”,收款時可以現金支付也可以使用銀行卡,銀行卡必須是銀聯POS系統。6、 下圖是一個描述保險商務系統的簡單用例圖。根據該用例圖回答問題。a) “簽訂保險單”用例可能涉及到哪幾個實體類?答:客戶、保險員、保險單。 b) 現實生活中簽訂保單的基本流程如下:客戶提出購買需求,保險員根據客戶需求選擇相應的保險服務,客戶閱讀保險條款,同意后打印保單樣據,客戶簽字并支付保金,保單開始生效,保險員做相關系統紀錄。如需要根據以上

7、信息,請列舉這個用例描述中可能存在擴展事件流。 答:當客戶不同意保險條款時,將執行擴展用例“退出簽訂保單”。c) 保單管理用例在實際開發過程中可以泛化出若干小用例,列出可能存在的子用例,并且說明這些用例和“保單管理”用例之間應該是什么關系?答:保單查詢、保單保存。泛化關系。7、在一個TelephoneSystem(電話系統)中,用戶可以使用電話卡或對方付款兩種辦法來打電話。1)請畫出表示該場景的用例圖。2)在前圖的基礎上,繼續畫出可能存在的包含用例和擴展用例。分析與討論、 總結用例圖的重要作用,討論并指出哪些場合下可以使用用例圖。答:用例圖顯示多個外部參與者以及他們與系統提供的用例之間的連接。

8、通過用例建模可以對外部的角色以及他們所需要的系統功能建模。用例圖用于系統分析階段。討論用例分析技術和結構化分析之間的關系和區別。答:區別:用例分析是面向對象(Object Oriented)的開發方法。結構化系統開發方法是指把整個系統開發過程分成若干階段,每個階段進行若干活動,每項活動應用系統標準、規范、方法和技術,完成一個或多個任務,形成符合給定規范的軟件產品。聯系:它們都可以是軟件的開發更容易3、 在使用用例圖的時候應該如何劃分用例,應注意哪些問題?答:如何確定用例:a 參與者需要從系統中獲取哪種功能?及參與者要系統做什么?b 參與者是否需要讀取、產生、刪除、修改或存儲系統中的某種信息?c

9、 系統的狀態改變是是否通知參與者?d 是否存在影響系統的外部事件?e 系統需要什么樣的輸入、輸出信息?需要注意的是:一定不要再用例圖中使用兩種命名方法。即在橢圓之外和橢圓之內。、 繼續分析類圖實驗中網上書店實例,畫出系統的用例圖。借閱者請求服務的用例圖圖書館管理員處理借書、還書的用例圖系統管理員進行系統維護的用例圖實驗二 UML類圖實驗目的和要求a) 掌握類的定義,類的3要素,UML中類的表示方法。b) 掌握類與類之間的各種關系代表的含義及表示方法。c) 實體類,邊界類,控制類,關聯類的概念和表示方法。d) 接口和抽象類的概念和表示方法。 類的多重性關系。e) 對一個類圖進行相關的描述。實驗內

10、容和步驟、 簡述類的定義,以及類的三要素答:類是對一組具有相同屬性、操作、關系和語義事物的描述。類的三要素是:類的名稱、屬性、操作。、 類的屬性和方法的可見性有哪些?UML中如何表示?答:類的屬性和方法的可見性有:公有public(符號“+”)、私有 private(符號“-”)和受保護protected(符號“#”),、 已知三個類A.B和C.其中類A由類B的一個實類和類C的1個或多個實類構成.請畫出能夠正確表示類A,B和C之間關系的UML類圖. 、 根據以下描述畫出類圖,并注明多重性關系:一個學生可以選修多門課程,也可能沒有任何課程;一門課程可以被多個學生選修;一個老師可以教多門課程或者不

11、教課;每門課程至少有一個老師,也可以有多個老師任教;每門課程可以有0或1本教材,每本教材只能用于一門課程。、 現有一系統需要對商品進行管理,包括添加,刪除商品,修改商品信息三項功能,畫出系統類圖。(商品信息包括商品編號,商品名稱,價格,生產廠商等)、 如果現在系統需求發生變化,需要能夠對損壞商品進行打折,以及可以按照商品的顏色和外形進行查詢,則系統類圖應該如何修改?、 根據下面的代碼畫出Invoice類的類圖,要求標明各屬性的類型和可見性以及類方法。public class Invoicepublic double amount;public Date date = new Date();pu

12、blic string customer;public string specification;public string administrator = “unspecified”;static private int number_of_invoices()=0;public invoice();number_of_invoices+;public void print() System.out.println("The number of invoices is”+ int number_of_invoices);、 下圖是一個倉庫管理系統的類模型局部,其中IncomeOrd

13、er是指入庫單,OrderItem是指入庫中的每一項,Product則是產品信息。請指出模型中的錯誤,說明原因并改正類圖。答:Orderltem與IncomeOrder的關系并不是泛化關系,而應該是包含關系。改正的類圖: 分析與討論分析與討論、 討論類圖在建模過程中的重要作用。答:類圖描述系統中類的靜態結構,它不僅定義系統中的類,描述類之間的聯系,還包括類的內部結構。類圖描述的是一種靜態關系,在系統的整個生命周期中都是有效的。通過分析用例和問題域,就可以得到相關的類,然后再把邏輯上相關的類封裝成包,這樣可以很好的體現系統的分層結構,是得系統層次關系一目了然。、 總結在設計繪制類圖的過程中應注意

14、哪些問題。答:UML類圖(Class Diagram)是描述類、接口、協作以及它們之間關系的圖,用來顯示系統中各個類的靜態結構。UML類圖是定義其他圖的基礎,在UML類圖基礎上,可以使用狀態圖、協作圖、組件圖和配置圖等進一步描述系統其他方面的特性。實驗三 狀態圖實驗目的和要求、 掌握狀態的定義和組成部分。、 掌握UML中狀態的表示方法。、 掌握轉換的定義及轉換的5要素。、 了解觸發事件、監護條件、動作的定義。、 掌握閱讀和繪制狀態圖的方法。實驗內容和步驟、 什么叫做狀態?狀態由哪五個部分組成?答:描述系統里靜態事物的動態變化。狀態機由狀態、轉換、事件、活動和動作5部分組成。狀態圖圖標分3部分:

15、名稱、內部轉換和嵌套狀態圖。、 什么是轉換?UML中轉換的5要素是什么?答:轉換表示當一個特定事件發生或者某些條件得到滿足時,一個源狀態下的對象在完成特定的動作后將發生狀態轉變,轉向另一個目標狀態的狀態。5要素:源狀態、目標狀態、觸發事件、監護條件、動作。、 觸發事件是什么?可以具體分為哪些事件?答:能夠引起狀態裝換的事件。信號、調用和時間段。、 改變事件和監護條件有何異同?答:改變事件能引起動作的執行及狀態的改變,改變監護條件能觸發轉換。、 什么叫做轉換?轉換可以分為哪幾種?答:轉換表示當一個特定事件發生或者某些條件得到滿足時,一個源狀態下的對象在完成特定的動作后將發生狀態轉變,轉向另一個目

16、標狀態的狀態。轉換分為:外部轉換、內部轉換、完成轉換、復合轉換。、 狀態和對象的關系是怎樣的? 下面描述中哪些是對象,哪些是狀態?支票已付汽車停在那兒小王正在工作答:支票是對象,已付是狀態;汽車是對象,停在那兒是狀態;小王是對象,正在工作是狀態。、 說出下面狀態的狀態名和各種轉換、事件。 Lighting entry / turnOn do / blinkFiveTimes eventPowerOff / powerSupplySelf exit / turnoff eventSelfTest / defer狀態名:Lighting轉換:eventSelfTest / defer事件:入口動作

17、entry / turnOn do / blinkFiveTimes eventPowerOff / powerSupplySelf出口動作exit / turnoff、 說出下面狀態圖所表達的信息。答:狀態開始,狀態1:關閉,事件1沒水,打開放水,事件2燒水,狀態2打開,事件3水開了關閉,回到狀態1.分支1燒水時燒壞了,狀態結束。、 說出下面狀態圖所表達的信息,并指出藍色部分代表的含義。答;狀態開始,狀態1注冊課程,狀態2課程評價,嵌套狀態圖1:開始,狀態實驗1,進入實驗室,事件1完成實驗,實驗2,完成實驗。嵌套狀態2:實驗室團隊項目,事件項目完成,結束。嵌套狀態3:開始,狀態考試,事件1考

18、試及格,事件2考試不及格,課程不通過,補考。3個嵌套狀態后,課程通過。10、根據下面狀態圖回答問題。上圖是一個表示電梯系統的狀態圖,該系統中Controller類和Motor類的詳細定義如下圖所示:根據類圖,完成上面狀態圖中A,B,C,D,E,F處的內容。答:A是0,B是timeout,C是goToFloor<2,D是Motor.moveDown(),E是Motor.moveUp(),F是Motor.stop()11、 某銷售POS機工作流程如下:當客戶到收銀臺后,收銀員逐一輸入用戶購買的商品,然后計算總金額,等待用戶付款,確定支付成功之后,完成收銀,等待下一個用戶。請為其畫出對應的狀態

19、圖。分析與討論、 討論思考狀態圖在UML建模中可以起到什么樣的作用。答;狀態圖一般用于對系統中的某些對象,比如類,用例和系統的行為建模。它通過建立類對象的生存周期模型來描述對象隨時間變化的動態行為。、 思考什么樣的情況下適合引入狀態圖進行建模。答:系統分析人員在對系統進行建模時,最先考慮的是基于狀態之間的控制流,因為系統對象中的狀態變化最易發現和理解。這樣的情況下引入狀態圖進行建模比較好。實驗四 活動圖實驗目的和要求、 掌握活動的概念以及表示方法。、 掌握活動圖中個元素表示的意義和表示方法。、 掌握分支、監護條件、分岔、匯合和泳道的概念。、 掌握閱讀和繪制活動圖的方法。、 掌握UML的可見性規

20、則和構造型的作用。實驗內容和步驟、 什么是活動?UML中如何表示活動?答:活動是某件事情正在進行的狀態既可以是現實生活中正在進行的某一項工作,也可以是軟件系統某個類對象的一個操作。活動圖用圓角橢圓表示。、 活動圖中包括哪些元素?分別如何表示?答:分支與合并、分叉與匯合等模型元素。分支與合并用實線箭頭表示,分叉與匯合用一條加粗的線段表示。圖形元素表示方法動作狀態平滑的圓角矩形活動狀態平滑的圓角矩形動作流帶箭頭的直線分支與合并空心小菱形分叉與匯合加粗的水平線泳道垂直實線,分隔的區域就是泳道對象流帶箭頭的虛線、 分岔和分支有什么區別,分別適用于什么樣的建模目標?答;分叉可以用來描述并發線程,每一個分

21、叉可以有一個輸入轉換和兩個或多個輸出轉換,每一個轉換都可以是獨立的控制流。分支在軟件系統流程中很常見,它一般用于表示對象類所具有的條件行為。、 活動圖中監護條件和改變時間分別有何作用?兩者間的區別是什么?答:控制活動的處理過程,控制系統的行為。監護條件是決定執行與否,改變時間是決定什么時候執行。、 說明下面活動圖所表達的信息。答:用戶下訂單后系統生成送貨單,用戶選擇支付方式,判斷用戶是否取消訂單或訂單超過時限,如果是,則取消訂單,如果否,則進行收款。之后供應商送貨,修改訂單項狀態,然后判斷是否所有訂單已送貨完畢。如果是,那么訂單完成。、 用活動圖表示for(i=0;i<9;i+)循環。、

22、 對于如下圖所示的活動圖,最大可能的并發線程數是幾個?答:五個分析與討論、 總結UML在軟件工程中的作用以及使用UML建模的必要性。答: UML是一種功能強大的,面向對象的可視化系統分析的建模語言,它的各個模型可以幫助開發人員更好地理解業務流程,建立更可靠,更完善的系統模型.從而使用戶和開發人員對問題的描述達到相同的理解,以減少語義差異,保障分析的正確性.。建立模型可以幫助開發者更好地了解正在開發的系統。便于開發人員展現系統,提供指導開發人員構造系統的模板,記錄開發人員的決策。每個項目可以從建模中受益。甚至在自由軟件領域,模型可以幫助開發小組更好地規劃系統設計更快地開發。、 分小組討論利用“支

23、付寶”進行網上購物的活動過程,并畫出活動圖,關于支付寶的相關說明可以登錄答:挑選寶貝確認訂單-支付寶支付-支付成功、 針對前面的網上書店系統,畫出用戶購書,商家發貨等過程的活動圖。實驗五 時序圖與協作圖實驗目的和要求、 掌握時序圖與協作圖的概念及作用。、 掌握UML中靜態圖形和動態圖形的區別和聯系。、 掌握UML時序圖與協作圖的基本圖形,了解它們各自的組成元素、特定作用和適用場合。、 重點掌握時序圖的畫法以及其中元素所代表的意義。實驗內容和步驟1、 UML中的時序圖與協作圖之間各有什么區別和聯系?答:主要元素都是消息和類角色。相同點:(1)規定責任(2)支持消息(3)衡量工具區別:協作圖的重點

24、是將對象的交互映射到它們之間的鏈上,即協作圖以對象圖的方式繪制各個參與對象,并且將消息和鏈平行放置。時序圖可以描述對象的創建和撤銷的情況。而在協作圖中,對象要么存在要么不存在,除了通過消息描述或約束,沒有其他的方法可以表示對象的創建或結束。時序圖還可以表現對象的激活和去激活情況但對于協作圖來說,由于沒有對時間的描述,除了對消息進行解釋,它無法清晰地表示對象的激活和去激活情況。2、 在順序圖和協作圖中,應如何表示“循環”,“判斷”等結構?答:通過對象的鏈符號,即一條連接兩個角色的實線路徑進行循環,增加消息進行判斷。3、 什么是消息?消息在交互中扮演什么角色?答:對象之間某種形式的通信,它可以激發某個操作、喚起信號或導致目標對象的創建或撤銷。4、 交互圖中有哪幾種消息?它們之間具體有何分別?應如何表示?答:繪制兩個對象之間的異步消息、在兩個對象之間繪制消息、繪制反身消息、顯示過程調用返回的消息、繪制兩個對象之間的過程調用。消息使用箭頭表示,箭頭的類型表示了消息的類型。:在兩個對象之間繪制消息:繪制兩個對象之間的過程調用:繪制兩個對象之間的異步消息:顯示過程調用返回的信息:繪制反身消息5、 已知某一個用例實現的類圖如下,下面四個選項中的時序圖(圖中省略了消息編號、名稱和返回消息),畫出一個能和

溫馨提示

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

評論

0/150

提交評論