統(tǒng)一建模語言UML試驗報告_第1頁
統(tǒng)一建模語言UML試驗報告_第2頁
統(tǒng)一建模語言UML試驗報告_第3頁
統(tǒng)一建模語言UML試驗報告_第4頁
統(tǒng)一建模語言UML試驗報告_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學(xué)生實驗報告目錄實驗一UML建模基礎(chǔ)及用例圖.3實驗二對象圖及交互圖11實驗三UML類圖16實驗四包圖20實驗五狀態(tài)圖25實驗六活動圖30實驗七時序圖與協(xié)作圖34實驗一UML建?;A(chǔ)及用例圖實驗?zāi)康暮鸵?、 熟悉UMLIt模工具RationalRose的基本菜單及操作。2、 掌握UML勺可見性規(guī)則和構(gòu)造型的作用。3、 掌握用例的概念;掌握UMLffl例圖的組成及作用。4、 掌握用例與用例之間的各種關(guān)系。實驗內(nèi)容和步驟1、 練習(xí)使用建模工具建立各種UML圖形,并對圖形進行相應(yīng)編輯和修改。2、 認識各種UM民系及可見性符號,并用工具表示出來。UML系關(guān)聯(lián)關(guān)系表水方法依賴關(guān)系Cla=2依黯關(guān)系Cl

2、a=3泛化關(guān)系Class?茨化關(guān)系£>ClassS實現(xiàn)關(guān)系Class2實現(xiàn)關(guān)系OQinterface聚合關(guān)系Ciass3果臺美系Class2=可見性表水方法公有(Public)私有(Private)“-,受保護(Protected)“#,包內(nèi)公有(Package)“”o3什么是用例,什么是場景?用例和場景之間的關(guān)系是怎樣的?答:用例是外部可見的系統(tǒng)功能單元,這些功能由系統(tǒng)單元所提供,并通過一系列系統(tǒng)單元與一個或多個參與者之間交換的消息所表達。事件觸發(fā)時的情景便形成了場景4用例圖中有哪些組成元素?在UM葉是如何表示的?答:用例圖包含6個元素,分別是:參與者、用例、關(guān)聯(lián)關(guān)系、包含關(guān)

3、系、擴展關(guān)系以及泛化關(guān)系。參與者用人形圖標表示,用例圖用橢圓形符號表示,連線表示它們之間的關(guān)系。5用例與用例之間的包含關(guān)系、擴展關(guān)系和泛化關(guān)系各代表什么含義?它們之間有何區(qū)別?對以上三種關(guān)系各舉一例,畫出用例圖,并進行說明。答:包含關(guān)系:一個用例可以簡單地包含其他用例具有的行為,并把它所包含的用例行為作為自身行為的一部分。擴展關(guān)系:一個用例也可以被定義為基礎(chǔ)用例的增量擴展,這稱作擴展關(guān)系,擴展關(guān)系是把新的行為插入到已有用例中的方法。泛化關(guān)系:一個用例可以被特別列舉為一個或多個子用例。包含關(guān)系把幾個用例的公共步驟分離成一個單獨的被包含用例。被包含用例稱作提供者用例,包含用例稱作客戶用例,提供者用

4、例提供功能給客戶使用。用例間的包含關(guān)系允許包含提供者用例的行為到客戶用例的事件中包含關(guān)系使一C電機版匏能可以在一另一個用例中使用。(1)如果鬲個以i用例有大量一致而功能則可以將這個功能分解到另一*用例瞰d巽他即例也可卒和這個用例建立包含關(guān)系。署上輕廣個用例的功育虞能藐f以用包含關(guān)系建模兩個小用例網(wǎng)上預(yù)定填寫電子表格用例間的包含關(guān)系示例圖基礎(chǔ)用例的執(zhí)行不會涉及到擴展用例,只有特定的條件發(fā)生,用例間的擴展關(guān)系示例用例泛化當父用例能夠被使用時,任何子用例也可以被使用。子用例從父用例處繼承行為和屬性,還可以添加、覆蓋或改變繼承的行為。如果一個系統(tǒng)中一個或多個用例是某個一般用例的特殊化時,就需要使用用例

5、的泛化關(guān)系。預(yù)定用例間的泛化關(guān)系示例6為了滿足物業(yè)中介行業(yè)的信息化要求,甲公司基于詳盡的需求調(diào)研與分析,準備研發(fā)一套符合市場需要的、實用的信息管理系統(tǒng)。主要將實現(xiàn)客戶資料信息管理、客戶委托(出租、出售、租賃、購買)信息管理、業(yè)務(wù)線索生成與管理、房源狀態(tài)自動更新、權(quán)限管理、到期用戶管理、房源組合查詢等功能。該公司小王,通過多次的與潛在客戶的交流與溝通,完成了最初的用例模型的開發(fā),下是一個用例模型的局部:-一./打開房源信息頁面<<include>>拿O登錄信息房產(chǎn)經(jīng)紀人、C_)錄入房源信息Q>確認提交信息修改房源信息小李認為該模型不符合“用例建模”的思想,存在明顯的

6、錯誤。請用200字以內(nèi)說明錯誤所在,并說明應(yīng)該如何修改。答:用例是系統(tǒng)參與者與系統(tǒng)在交互過程中所需要完成的事務(wù)。確定參與者是房產(chǎn)經(jīng)濟人,還要分析系統(tǒng)所涉及的問題領(lǐng)域和系統(tǒng)運行的主要任務(wù)。根據(jù)系統(tǒng)的需求分析可確定:作為一個物業(yè)信息管理系統(tǒng),要實現(xiàn)客戶資料信息管理、客戶委托(出租、出售、租賃、購買)信息管理、業(yè)務(wù)線索生成與管理、房源狀態(tài)自動更新、權(quán)限管理、到期用戶管理、房源組合查詢等功能。參與者有房產(chǎn)經(jīng)紀人,對于房產(chǎn)經(jīng)紀人來說,系統(tǒng)維護操作主要包括:錄入,修改房源信息而登錄和確認信息是包含在登入和修改中的,包含關(guān)系的圖標按鈕應(yīng)用虛線箭頭。修改房產(chǎn)經(jīng)紀人7.閱讀下面的用例圖,說明該圖所表達的信息答:

7、客戶可以啟動“預(yù)定座位”功能。如果預(yù)定人數(shù)多,將執(zhí)行擴展用例“處理等候隊列”??偱_服務(wù)員可以啟動“安排座位”“辦理結(jié)賬”功能??蛻纛A(yù)定座位、服務(wù)員安排座位需要先“檢查座位信息”。服務(wù)員“辦理結(jié)賬”時需要“收款”,收款時可以現(xiàn)金支付也可以使用銀行卡,銀行卡必須是銀聯(lián)PO繇統(tǒng)。8、下圖是一個描述保險商務(wù)系統(tǒng)的簡單用例圖。根據(jù)該用例圖回答問題。保險商務(wù)系統(tǒng)a)“簽訂保險單”用例可能涉及到哪幾個實體類?答:客戶、保險員、保險單。b)現(xiàn)實生活中簽訂保單的基本流程如下:客戶提出購買需求,保險員根據(jù)客戶需求選擇相應(yīng)的保險服務(wù),客戶閱讀保險條款,同意后打印保單樣據(jù),客戶簽字并支付保金,保單開始生效,保險員做相

8、關(guān)系統(tǒng)紀錄。如需要根據(jù)以上信息,請列舉這個用例描述中可能存在擴展事件流。答:當客戶不同意保險條款時,將執(zhí)行擴展用例“退出簽訂保單”。c)保單管理用例在實際開發(fā)過程中可以泛化出若干小用例,列出可能存在的子用例,并且說明這些用例和“保單管理”用例之間應(yīng)該是什么關(guān)系?答:保單查詢、保單保存。泛化關(guān)系。7、在一個TelephoneSystem(電話系統(tǒng))中,用戶可以使用電話卡或?qū)Ψ礁犊顑煞N辦法來打電話。1)請畫出表本該場景的用例圖。2)在前圖的基礎(chǔ)上,繼續(xù)畫出可能存在的包含用例和擴展用例電話卡分析與討論1、總結(jié)UM妊軟件工程中的作用以及使用UM建模的必要性。答:UM里一種定義良好、易于表達、功能強大且

9、普遍適用的建模語言。它溶入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。它的作用域不限于支持面向?qū)ο蟮姆治雠c設(shè)計,還支持從需求分析開始的軟件開發(fā)的全過程。使用UMLW以對已有的用各種方法建立的模型進行描述,并比原來的方法描述得更好。在軟件開發(fā)的生命期方面,UML對于開發(fā)的要求具有無縫性。開發(fā)過程的不同階段可以采用相同的一套概念和表示法,在同一個模型中它們可以混合使用。在開發(fā)的不同階段,不必轉(zhuǎn)換概念和表示。這種無縫性對迭代式的、增量式軟件開發(fā)是至關(guān)重要的。在應(yīng)用領(lǐng)域方面,UML®用于各種應(yīng)用領(lǐng)域的建模,包括大型的、復(fù)雜的、實時的、分布式的、集中式數(shù)據(jù)或計算的。2、總結(jié)用例圖的重要作用,討論并

10、指出哪些場合下可以使用用例圖。答:用例圖顯示多個外部參與者以及他們與系統(tǒng)提供的用例之間的連接。通過用例建??梢詫ν獠康慕巧约八麄兯枰南到y(tǒng)功能建模。用例圖用于系統(tǒng)分析階段。3、討論用例分析技術(shù)和結(jié)構(gòu)化分析之間的關(guān)系和區(qū)別。?答:區(qū)別:用例分析是面向?qū)ο?ObjectOriented)的開發(fā)方法。結(jié)構(gòu)化系統(tǒng)開發(fā)方法是指把整個系統(tǒng)開發(fā)過程分成若干階段,每個階段進行若干活動,每項活動應(yīng)用系統(tǒng)標準、規(guī)范、方法和技術(shù),完成一個或多個任務(wù),形成符合給定規(guī)范的軟件產(chǎn)品。聯(lián)系:它們都可以是軟件的開發(fā)更容易4、在使用用例圖的時候應(yīng)該如何劃分用例,應(yīng)注意哪些問題?答:如何確定用例:a參與者需要從系統(tǒng)中獲取哪種

11、功能?及參與者要系統(tǒng)做什么?b參與者是否需要讀取、產(chǎn)生、刪除、修改或存儲系統(tǒng)中的某種信息?c系統(tǒng)的狀態(tài)改變是是否通知參與者?d是否存在影響系統(tǒng)的外部事件?e系統(tǒng)需要什么樣的輸入、輸出信息?需要注意的是:一定不要再用例圖中使用兩種命名方法。即在橢圓之外和橢圓之內(nèi)。實驗二對象圖及交互圖實驗?zāi)康暮鸵?、掌握對象的概念,對象的表示方法,掌握類與對象的關(guān)系。2、掌握時序圖(順序圖)與協(xié)作圖(通信圖)這兩種交互圖的概念及作用。3、掌握UML中靜態(tài)圖形和動態(tài)圖形的區(qū)別和聯(lián)系。4、掌握UMLM序圖與協(xié)作圖的基本圖形,了解它們各自的組成元素、特定作用和適用場合。5、重點掌握時序圖的畫法以及其中元素所代表的意義

12、。實驗內(nèi)容和步驟1、什么是對象,對象的三大特征是什么?UML中對象的表示方法有哪叱?答:對象代表一個單獨的,可確認的物體、單元或?qū)嶓w,它可以是具體的也可以是抽象的,在問題領(lǐng)域里有確切定義的角色。換句話說,對象是邊界非常清楚的任何事物。對象的三大特征是封裝、繼承和多態(tài)。NewClassUM沖對象的表示方法有:對象名和屬性。2、在下圖中最上面的對象的名稱是什么?該圖表示的意思是什么?請繪制出與其相應(yīng)的類圖。China:CountryfuJian:ProvincesiChuan:Province答;china:country.該圖表示福建省和四川省都包含在中國中相應(yīng)的類圖:3、說明對象圖的適用場景以

13、及它的優(yōu)缺點。答:對系統(tǒng)的設(shè)計視圖建模時,可以使用一組類圖完整地描述抽象的語義以及它們之間的關(guān)系。但是使用對象圖不能完整地描述系統(tǒng)的對象結(jié)構(gòu)。4、UM沖的時序圖與協(xié)作圖之間各有什么區(qū)別和聯(lián)系?答:兩者都是表示交互的方式,但時序圖描述時間交互的各種信息,協(xié)作圖描述的是和對象結(jié)構(gòu)相關(guān)的信息。5、在順序圖和協(xié)作圖中,應(yīng)如何表示“循環(huán)”,“判斷”等結(jié)構(gòu)?答:整個消息的傳遞過程就形成了一個完整的序列,因此通過在每個消息的前面加上一個用冒號隔開的順序號來表示其順序6、什么是消息?消息在交互中扮演什么角色?答:對象之間某種形式的通信,可以激發(fā)某個操作、喚起信號或?qū)е履繕藢ο蟮膭?chuàng)建或撤銷。兩個對象之間的單路通

14、信。7、 交互圖中有哪幾種消息?它們之間具體有何分別?應(yīng)如何表示?答:簡單消息:簡單控制流;同步:嵌套控制流異步:異步控制流??梢灾v一個簡單消息和一個同步消息合并成一個消息。對于消息的這幾種控制流不知道怎么具體區(qū)分,比如一個老師讓一個學(xué)生發(fā)言屬于什么消息?簡單控制流?簡單消息:做完一件事再做另外一件事。買票是同步;異步是不等結(jié)果的返回就去做另外一件事,比如洗衣服,洗衣機洗衣服的時候可以去做飯。乙方發(fā)送了一個消息后不必等待甲方回應(yīng)。而同步必須是等到回應(yīng)后才能做另外一件事。8、 假設(shè)有一系統(tǒng)得協(xié)作圖局部如圖所示,print方法的功能是將傳入的參數(shù)的值打印在屏幕上,fact方法是計算階乘,如果tes

15、t的初值為1,那么最終將打印出什么?(寫出計算過程)1:print(test):A2:*i=1.31,1:test=test+fact(test)>:B分析與討論1、思考類與對象之間的關(guān)系是怎樣的?各舉幾個實例,說明哪些是類,哪些是對象。答:類有3個分欄:名稱屬性和操作。對象只有兩個分欄:名稱和屬性。類的名稱分欄中只有類名。對象的名稱形式為“對象名:類名”,匿名對象的名稱形式為“:類名”。類的屬性分欄定義了所有屬性的特征。對象圖中不包含操作,因為對于屬于同一個類的對象而言,其操作是相同的。類使用關(guān)聯(lián)連接,關(guān)聯(lián)使用名稱、角色、多重性以及約束等特征定義。類代表的是對對象的分類,所以必須說明可

16、以參與關(guān)聯(lián)的對象的數(shù)目。對象使用鏈連接,鏈擁有名稱、角色,都是沒有多重性。對象代表的是單獨的實體,所有的類都是一對一的,因此不涉及到多重性。Country>Province是類,而china、fujian和sichuan分另U是這兩個類中的對象2、思考在具體場景中應(yīng)該如何區(qū)分類與對象。答:從定義和圖形表示發(fā)區(qū)分。對象就是類的實例,所以如果是抽像的不存在的就是類,而具體的存在的就是對象。討論并總結(jié)在建模過程中運用交互圖的重要作用及意義答:交互視圖描述了執(zhí)行系統(tǒng)功能的各個角色之間相互傳遞消息的順序關(guān)系。類元是對在系統(tǒng)內(nèi)交互關(guān)系中起特定作用的一個對象的描述,這使它區(qū)別于同類的其他對象。交互視圖

17、顯示了跨越多個對象的系統(tǒng)控制流程。交互視圖可用兩種圖來表示:順序圖和協(xié)作圖,它們各有不同的側(cè)重點順序圖的一個用途是用來表示用例中的行為順序。當執(zhí)行一個用例行為時,順序圖中的每條消息對應(yīng)了一個類操作或狀態(tài)機中引起轉(zhuǎn)換的觸發(fā)事件。協(xié)作圖的一個用途是表示一個類操作的實現(xiàn)。協(xié)作圖可以說明類操作中用到的參數(shù)和局部變量以及操作中的永久鏈。當實現(xiàn)一個行為時,消息編號對應(yīng)了程序中嵌套調(diào)用結(jié)構(gòu)和信號傳遞過程。實驗三UML類圖實驗?zāi)康暮鸵?、 掌握類的定義,類的3要素,UML中類的表示方法。2、 掌握類與類之間的各種關(guān)系代表的含義及表示方法。3、 實體類,邊界類,控制類,關(guān)聯(lián)類的概念和表示方法。4、 接口和抽象

18、類的概念和表示方法。類的多重性關(guān)系。5、 對一個類圖進行相關(guān)的描述。實驗內(nèi)容和步驟1、簡述類的定義,以及類的三要素答:類是對一組具有相同屬性、操作、關(guān)系和語義事物的描述。類的三要素是:類的名稱、屬性、操作。2、 類的屬性和方法的可見性有哪些?UM沖如何表示?答:類的屬性和方法的可見性有:公有public(符號“+”)、私有private(符號“-")和受保護protected(符號“#"),3、 已知三個類A.B和C.其中類A由類B的一個實類和類C的1個或多個實類構(gòu)成.請畫出能夠正確表示類A,B和C之間關(guān)系的UM醫(yī)圖.4、根據(jù)以下描述畫出類圖,并注明多重性關(guān)系:一個學(xué)生可以

19、選修多門課程,也可能沒有任何課程;一門課程可以被多個學(xué)生選修;一個老師可以教多門課程或者不教課;每門課程至少有一個老師,也可以有多個老師任教;每門課程可以有0或1本教材,每本教材只能用于一門課程。課程5、現(xiàn)有一系統(tǒng)需要對商品進行管理,包括添加,刪除商品,修改商品信息三項功能,畫出系統(tǒng)類圖。(商品信息包括商品編號,商品名稱,價格,生產(chǎn)廠商等)6、如果現(xiàn)在系統(tǒng)需求發(fā)生變化,需要能夠?qū)p壞商品進行打折,以及可以按照商品的顏色和外形進行查詢,則系統(tǒng)類圖應(yīng)該如何修改?7、 根據(jù)下面的代碼畫出Invoice類的類圖,要求標明各屬性的類型和可見性以及類方法。publicclassInvoice(public

20、doubleamount;publicDatedate=newDate();publicstringcustomer;publicstringspecification;publicstringadministrator=unspecified”;staticprivateintnumber_of_invoices()=0;publicinvoice();(number_of_invoices+;publicvoidprint(),System.out.println("Thenumberofinvoicesis"+intnumber_of_invoices);Invoic

21、estringadmnistratof=*unspeciiedh'doubleamountstringcu3tamer骷Dmtedale:newDate()number_of_invoices()=0stringspecitcationinvoice20publicvoid()8、 下圖是一個倉庫管理系統(tǒng)的類模型局部,其中IncomeOrder是指入庫單,OrderItem是指入庫中的每一項,Product則是產(chǎn)品信息。請指出模型中的錯誤,說明原因并改正類圖。答:Orderltem與IncomeOrder的關(guān)系并不是泛化關(guān)系,而應(yīng)該是包含關(guān)系。改正的類圖:分析與討論1、討論類圖在建模過

22、程中的重要作用。答:類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu),它不僅定義系統(tǒng)中的類,描述類之間的聯(lián)系,還包括類的內(nèi)部結(jié)構(gòu)。類圖描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個生命周期中都是有效的。通過分析用例和問題域,就可以得到相關(guān)的類,然后再把邏輯上相關(guān)的類封裝成包,這樣可以很好的體現(xiàn)系統(tǒng)的分層結(jié)構(gòu),是得系統(tǒng)層次關(guān)系一目了然。2、總結(jié)在設(shè)計繪制類圖的過程中應(yīng)注意哪些問題。答:UML類圖(ClassDiagram)是描述類、接口、協(xié)作以及它們之間關(guān)系的圖,用來顯示系統(tǒng)中各個類的靜態(tài)結(jié)構(gòu)。UML1圖是定義其他圖的基礎(chǔ),在UMia圖基礎(chǔ)上,可以使用狀態(tài)圖、協(xié)作圖、組件圖和配輅圖等進一步描述系統(tǒng)其他方面的特性。實驗四包圖實驗?zāi)?/p>

23、的和要求1、掌握UM囪的概念和作用。2、掌握包與包之間的各種依賴關(guān)系的區(qū)別3、掌握建立包與包之間依賴關(guān)系的方法。4、掌握建立包圖過程中需遵循的原則。實驗內(nèi)容和步驟1、 包屬于UML中的何種事物?有何作用?答:包是將多個元素組織為語義相關(guān)的組的通用機制。對于復(fù)雜系統(tǒng)進行建模時,經(jīng)常需要處理大量的類、接口、組件、節(jié)點和圖,這時就有必要將這些元素進行分類,即把語義相近并傾向于同一變化的元素組織起來加入同一個包中,以方便理解和處理整個模型。2、 UM沖包的表示方法有哪幾種?答:包的繪制用一個小矩形和一個大矩形表示。3、 包與包之間存在哪幾種關(guān)系?答:(1)引入和訪問依賴,用于在一個包中引入另一個包輸出

24、的元素。(2)泛化,用于說明包的家族。4、包與包之間的依賴關(guān)系有何特點?答:訪問依賴,用于在一個包中引入另一個包輸入的元素。5、如何避免包與包之間出現(xiàn)循環(huán)依賴關(guān)系?各舉一例。例如:A.dll中的類A引用到了B.dll中的類B,B.dll中的類B又引用到了程序A.dll中的類A。如果存在這種情況,除非兩個程序集(.net中dll就是一個程序集)均編譯通過,否則一個程序集出現(xiàn)錯誤就會導(dǎo)致另一個程序集也編譯不通過,于是讓這個編譯錯誤就會循環(huán)傳遞,使得編譯器告訴我們:兩個程序集不能編譯通過。(如圖1)圖1AssemblyA與AssemblyB之間的依賴關(guān)系下面是解決方案來解除這種循環(huán)依賴關(guān)系:1 .將

25、產(chǎn)生依賴的類型分離出來,放到另一個新的程序集AssemblyC中去。2 .使用接口來解除循環(huán)依賴:這種方式的具體做法(如圖2):2.1 .從被依賴的類中,提取出一個接口放到新的程序集中(接口中的成員是依賴類中所依賴的,當然被依賴的類是實現(xiàn)了該接口的)。2.2 依賴類去引用2.1中新建的程序集中的新接口。圖2使用接口解除兩個程序集的循環(huán)依賴關(guān)系6、 建立包圖應(yīng)注意哪些問題?答:1.包的命名要簡單、具有描述性。2.應(yīng)用包是為了簡化3.包應(yīng)該連貫。4.在包上用版型注明架構(gòu)層。5.避免包間的循環(huán)依賴。6.包依賴應(yīng)該反映內(nèi)部關(guān)系7、根據(jù)下圖判斷下面哪句話正確的說明了包之間的依賴關(guān)系。A) 對Packag

26、el包中的元素做了修改后,需檢查Package2包中的元素和Package3包中的元素是否要做相應(yīng)修改。B) 對Packagel包中的元素做了修改后,需檢查Package2包中的元素是否需要做相應(yīng)修改,如果是,則需繼續(xù)檢查是否Package3包中元素也要做相應(yīng)修改。對Package3包中的元素做了修改后,需檢查Package2包中的元素是否需要做相應(yīng)修改,如果是,則需繼續(xù)檢查是否Packagel包中元素也要做相應(yīng)修改。DD對Package3包中的元素做了修改后,需檢查Package2包中的元素和Packagel包中的元素是否要做相應(yīng)修改答:C8、下面包圖設(shè)計中是否存在問題?應(yīng)如何改進。A)答:

27、存在問題,出現(xiàn)了循環(huán)依賴關(guān)系,B修改后:A圖中B不能即依賴C同時還依賴E分析與討論1、結(jié)合一個具體例子,分析UMIM模過程中包圖所起的作用UIpackage(fromUseCaseView)Utillitypackage(fromUseCaseView)5答:作用:1)對語義上相關(guān)的元素進行分組;2)定義模型中的“語義邊界”;3)提供配輅管理單元;4)在設(shè)計時,提供并行工作的單元;5)提供封裝的命名空間,其中所有名稱必須惟實驗五狀態(tài)圖實驗?zāi)康暮鸵?、掌握狀態(tài)的定義和組成部分。2、掌握UML中狀態(tài)的表示方法。3、掌握轉(zhuǎn)換的定義及轉(zhuǎn)換的5要素。4、了解觸發(fā)事件、監(jiān)護條件、動作的定義。5、掌握閱讀

28、和繪制狀態(tài)圖的方法。實驗內(nèi)容和步驟1、什么叫做狀態(tài)?狀態(tài)由哪五個部分組成?答:描述系統(tǒng)里靜態(tài)事物的動態(tài)變化。狀態(tài)機由狀態(tài)、轉(zhuǎn)換、事件、活動和動作5部分組成。狀態(tài)圖圖標分3部分:名稱、內(nèi)部轉(zhuǎn)換和嵌套狀態(tài)圖。2、什么是轉(zhuǎn)換?UML中轉(zhuǎn)換的5要素是什么?答:轉(zhuǎn)換表示當一個特定事件發(fā)生或者某些條件得到滿足時,一個源狀態(tài)下的對象在完成特定的動作后將發(fā)生狀態(tài)轉(zhuǎn)變,轉(zhuǎn)向另一個目標狀態(tài)的狀態(tài)。5要素:源狀態(tài)、目標狀態(tài)、觸發(fā)事件、監(jiān)護條件、動作。3、觸發(fā)事件是什么?可以具體分為哪些事件?答:能夠引起狀態(tài)裝換的事件。信號、調(diào)用和時間段。4、改變事件和監(jiān)護條件有何異同?答:改變事件能引起動作的執(zhí)行及狀態(tài)的改變,改變

29、監(jiān)護條件能觸發(fā)轉(zhuǎn)換。5、什么叫做轉(zhuǎn)換?轉(zhuǎn)換可以分為哪幾種?答:轉(zhuǎn)換表示當一個特定事件發(fā)生或者某些條件得到滿足時,一個源狀態(tài)下的對象在完成特定的動作后將發(fā)生狀態(tài)轉(zhuǎn)變,轉(zhuǎn)向另一個目標狀態(tài)的狀態(tài)。轉(zhuǎn)換分為:外部轉(zhuǎn)換、內(nèi)部轉(zhuǎn)換、完成轉(zhuǎn)換、復(fù)合轉(zhuǎn)換。狀態(tài)和對象的關(guān)系是怎樣的?F面描述中哪些是對象,哪些是狀態(tài)?支票已付汽車停在那兒小王正在工作答:支票是對象,已付是狀態(tài);汽車是對象,停在那兒是狀態(tài);小王是對象,正在工作是狀態(tài)。說出下面狀態(tài)的狀態(tài)名和各種轉(zhuǎn)換、事件。Lightingentry/turnOndo/blinkFiveTimeseventPowerOff/powerSupplySelfexit/tu

30、rnoffeventSelfTest/defer狀態(tài)名:Lighting轉(zhuǎn)換:eventSelfTest/defer事件:入口動作entry/turnOndo/blinkFiveTimesl<eventPowerOff/powerSupplySelf出口動作exit/turnoff.Off'tunOn仃水/燒水X0n8、說出下面狀態(tài)圖所表達的信息。'答:狀態(tài)開始,狀態(tài)1:關(guān)閉,事件1沒水,打開放水,事件2燒水,狀態(tài)2打開,事件3水開了關(guān)閉,回到狀態(tài)1.分支1燒水時燒壞了,狀態(tài)結(jié)束。9、說出下面狀態(tài)圖所表達的信息,并指出藍色部分代表的含義。答;狀態(tài)開始,狀態(tài)1注冊課程,狀態(tài)

31、2課程評價,嵌套狀態(tài)圖1:開始,狀態(tài)實驗1,進入實驗室,事件1完成實驗,實驗2,完成實驗。嵌套狀態(tài)2:實驗室團隊項目,事件項目完成,結(jié)束。嵌套狀態(tài)3:開始,狀態(tài)考試,事件1考試及格,事件2考試不及格,課程不通過,補考。3個嵌套狀態(tài)后,課程通過。10、根據(jù)下面狀態(tài)圖回答問題。GFloorUPgoToFloor(n)上圖是一個表示電梯系統(tǒng)的狀態(tài)圖,該系統(tǒng)中Controller類和Motor類的詳細定義如下圖所示:根據(jù)類圖,完成上面狀態(tài)圖中A,B,C,D,E,F處的內(nèi)容。答:A是0,B是timeout,C是goToF100r<2,D是Motor.moveDown(),E是Motor.moveU

32、p(),F是Motor.stop()11、某銷售posM工作流程如下:當客戶到收銀臺后,收銀員逐一輸入用戶購買的商品,然后計算總金額,等待用戶付款,確定支付成功之后,完成收銀,等待下一個用戶。請為其畫出對應(yīng)的狀態(tài)圖。等戶卜收由E連一鋪f入用廣函頭咕商晶J計弊后、金頡東牙寺國占門款市確定支付山分析與討論1、 討論思考狀態(tài)圖在UM健模中可以起到什么樣的作用。答;狀態(tài)圖一般用于對系統(tǒng)中的某些對象,比如類,用例和系統(tǒng)的行為建模。它通過建立類對象的生存周期模型來描述對象隨時間變化的動態(tài)行為。2、 思考什么樣的情況下適合引入狀態(tài)圖進行建模。答:系統(tǒng)分析人員在對系統(tǒng)進行建模時,最先考慮的是基于狀態(tài)之間的控制

33、流,因為系統(tǒng)對象中的狀態(tài)變化最易發(fā)現(xiàn)和理解。這樣的情況下引入狀態(tài)圖進行建模比較好。實驗六活動圖實驗?zāi)康暮鸵?、掌握活動的概念以及表示方法。2、掌握活動圖中個元素表示的意義和表示方法。3、掌握分支、監(jiān)護條件、分岔、匯合和泳道的概念。4、掌握閱讀和繪制活動圖的方法。實驗內(nèi)容和步驟1、 什么是活動?UML中如何表示活動?答:活動是某件事情正在進行的狀態(tài)既可以是現(xiàn)實生活中正在進行的某一項工作,也可以是軟件系統(tǒng)某個類對象的一個操作?;顒訄D用圓角橢圓表示。2、 活動圖中包括哪些元素?分別如何表示?答:分支與合并、分叉與匯合等模型元素。分支與合并用實線箭頭表示,分叉與匯合用一條加粗的線段表示。圖形兀素表水

34、方法動作狀態(tài)平滑的圓角矩形活動狀態(tài)平滑的圓角矩形動作流帶箭頭的直線分支與合并空心小菱形分叉與匯合加粗的水平線泳道垂直實線,分隔的區(qū)域就是泳道對象流帶箭頭的虛線分岔和分支有什么區(qū)別,分別適用于什么樣的建模目標?答;分叉可以用來描述并發(fā)線程,每一個分叉可以有一個輸入轉(zhuǎn)換和兩個或多個輸出轉(zhuǎn)換,每一個轉(zhuǎn)換都可以是獨立的控制流。分支在軟件系統(tǒng)流程中很常見,它一般用于表示對象類所具有的條件行為。4、 活動圖中監(jiān)護條件和改變時間分別有何作用?兩者間的區(qū)別是什么?答:控制活動的處理過程,控制系統(tǒng)的行為。監(jiān)護條件是決定執(zhí)行與否,改變時間是決定什么時候執(zhí)行。5、 說明下面活動圖所表達的信息。答:否取消訂單或訂單超

35、過時限,如果是,則取消訂單,如果否,則進行收款。之后供應(yīng)商送貨,修改訂單項狀態(tài),然后判斷是否所有訂單已送貨完畢。如果是,那么訂單完成6、 用活動圖表示for(i=0;i<9;i+)循環(huán)7、 對于如下圖所示的活動圖,最大可能的并發(fā)線程數(shù)是幾個?答:五個分析與討論1、總結(jié)UM妊軟件工程中的作用以及使用UM建模的必要性。答:UML是一種功能強大的,面向?qū)ο蟮目梢暬到y(tǒng)分析的建模語言它的各個模型可以幫助開發(fā)人員更好地理解業(yè)務(wù)流程,建立更可靠,更完善的系統(tǒng)模型.從而使用戶和開發(fā)人員對問題的描述達到相同的理解,以減少語義差異,保障分析的正確性.。建立模型可以幫助開發(fā)者更好地了解正在開發(fā)的系統(tǒng)。便于開

36、發(fā)人員展現(xiàn)系統(tǒng),提供指導(dǎo)開發(fā)人員構(gòu)造系統(tǒng)的模板,記錄開發(fā)人員的決策。每個項目可以從建模中受益。甚至在自由軟件領(lǐng)域,模型可以幫助開發(fā)小組更好地規(guī)劃系統(tǒng)設(shè)計更快地開發(fā)。2、分小組討論利用“支付寶”進行網(wǎng)上購物的活動過程,并畫出活動圖,關(guān)于支付寶的相關(guān)說明可以登錄http:看。答:挑選寶貝一確認訂單-支付寶支付-支付成功3、針對前面的網(wǎng)上書店系統(tǒng),畫出用戶購書,商家發(fā)貨等過程的活動圖。實驗七時序圖與協(xié)作圖實驗?zāi)康暮鸵?、掌握時序圖與協(xié)作圖的概念及作用。2、掌握UML中靜態(tài)圖形和動態(tài)圖形的區(qū)別和聯(lián)系。3、掌握UMLM序圖與協(xié)作圖的基本圖形,了解它們各自的組成元素、特定作用和適用場合。4、重點掌握時序

37、圖的畫法以及其中元素所代表的意義。實驗內(nèi)容和步驟1、 UM沖的時序圖與協(xié)作圖之間各有什么區(qū)別和聯(lián)系?答:主要元素都是消息和類角色。相同點:(1)規(guī)定責(zé)任(2)支持消息(3)衡量工具區(qū)別:協(xié)作圖的重點是將對象的交互映射到它們之間的鏈上,即協(xié)作圖以對象圖的方式繪制各個參與對象,并且將消息和鏈平行放輅。時序圖可以描述對象的創(chuàng)建和撤銷的情況。而在協(xié)作圖中,對象要么存在要么不存在,除了通過消息描述或約束,沒有其他的方法可以表示對象的創(chuàng)建或結(jié)束。時序圖還可以表現(xiàn)對象的激活和去激活情況但對于協(xié)作圖來說,由于沒有對時間的描述,除了對消息進行解釋,它無法清晰地表示對象的激活和去激活情況。2、 在順序圖和協(xié)作圖中

38、,應(yīng)如何表示“循環(huán)”,“判斷”等結(jié)構(gòu)?答:通過對象的鏈符號,即一條連接兩個角色的實線路徑進行循環(huán),增加消息進行判斷。3、 什么是消息?消息在交互中扮演什么角色?答:對象之間某種形式的通信,它可以激發(fā)某個操作、喚起信號或?qū)е履繕藢ο蟮膭?chuàng)建或撤銷。4、 交互圖中有哪幾種消息?它們之間具體有何分別?應(yīng)如何表示?答:繪制兩個對象之間的異步消息、在兩個對象之間繪制消息、繪制反身消息、顯示過程調(diào)用返回的消息、繪制兩個對象之間的過程調(diào)用。消息使用箭頭表示,箭頭的類型表示了消息的類型。H:在兩個對象之間繪制消息t:繪制兩個對象之間的過程調(diào)用一:繪制兩個對象之間的異步消息F”:顯示過程調(diào)用返回的信息三:繪制反身消息5、 已知某一個用例實現(xiàn)的類圖如下,下面四個選項中的時序圖(圖中省略了消息編號、名稱和返回消息),畫出一個能和該類圖對應(yīng)的時序圖。6、假設(shè)有一系統(tǒng)得協(xié)作圖局部如圖所示,print方法的功能是將傳入的參數(shù)的值打印在屏幕上,fact方法是計算階乘,如果test的初值為1,那么最終將打印出什么?(寫出計算過程)1:print(test)2: *i=1.31,1:test=test+fact(test)>:B答:打E|3出28,1、test=1+1=2,2、test=2+2*1=4,3:test=4+4*3*2*1=28分析與討論1、 討論并總結(jié)在建模過程中運用交互圖的

溫馨提示

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

評論

0/150

提交評論