




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué)生實(shí)驗(yàn)報告課程名稱:統(tǒng)一建模語言uml 年 級: 2010 專 業(yè):信息管理與信息系統(tǒng) 學(xué) 號:10056007姓 名: 李恒 指導(dǎo)教師: 于同洋 實(shí)驗(yàn)地點(diǎn):管理學(xué)院綜合實(shí)驗(yàn)室 2011 學(xué)年至 2012 學(xué)年度第 2 學(xué)期目錄實(shí)驗(yàn)一 uml建?;A(chǔ)及用例圖3實(shí)驗(yàn)二 對象圖及交互圖11實(shí)驗(yàn)三 uml類圖16實(shí)驗(yàn)四 包圖20實(shí)驗(yàn)五 狀態(tài)圖25實(shí)驗(yàn)六 活動圖30實(shí)驗(yàn)七 時序圖與協(xié)作圖34實(shí)驗(yàn)一 uml建?;A(chǔ)及用例圖實(shí)驗(yàn)?zāi)康暮鸵?、 熟悉uml建模工具rational rose的基本菜單及操作。2、 掌握uml的可見性規(guī)則和構(gòu)造型的作用。3、 掌握用例的概念;掌握uml用例圖的組成及作用。4、
2、 掌握用例與用例之間的各種關(guān)系。實(shí)驗(yàn)內(nèi)容和步驟1、 練習(xí)使用建模工具建立各種uml圖形,并對圖形進(jìn)行相應(yīng)編輯和修改。2、 認(rèn)識各種uml關(guān)系及可見性符號,并用工具表示出來。uml關(guān)系表示方法關(guān)聯(lián)關(guān)系依賴關(guān)系泛化關(guān)系實(shí)現(xiàn)關(guān)系聚合關(guān)系可見性表示方法公有(public)“+”私有(private)“-”受保護(hù)(protected)“#”包內(nèi)公有(package)“”。3什么是用例,什么是場景?用例和場景之間的關(guān)系是怎樣的? 答:用例是外部可見的系統(tǒng)功能單元,這些功能由系統(tǒng)單元所提供,并通過一系列系統(tǒng)單元與一個或多個參與者之間交換的消息所表達(dá)。事件觸發(fā)時的情景便形成了場景4用例圖中有哪些組成元素?在u
3、ml中是如何表示的? 答:用例圖包含6個元素,分別是:參與者、用例、關(guān)聯(lián)關(guān)系、包含關(guān)系、擴(kuò)展關(guān)系以及泛化關(guān)系。參與者用人形圖標(biāo)表示,用例圖用橢圓形符號表示,連線表示它們之間的關(guān)系。5用例與用例之間的包含關(guān)系、擴(kuò)展關(guān)系和泛化關(guān)系各代表什么含義?它們之間有何區(qū)別?對以上三種關(guān)系各舉一例,畫出用例圖,并進(jìn)行說明。 答:包含關(guān)系:一個用例可以簡單地包含其他用例具有的行為,并把它所包含的用例行為作為自身行為的一部分。擴(kuò)展關(guān)系:一個用例也可以被定義為基礎(chǔ)用例的增量擴(kuò)展,這稱作擴(kuò)展關(guān)系,擴(kuò)展關(guān)系是把新的行為插入到已有用例中的方法。泛化關(guān)系:一個用例可以被特別列舉為一個或多個子用例。包含關(guān)系把幾個用例的公共步
4、驟分離成一個單獨(dú)的被包含用例。被包含用例稱作提供者用例,包含用例稱作客戶用例,提供者用例提供功能給客戶使用。用例間的包含關(guān)系允許包含提供者用例的行為到客戶用例的事件中。包含關(guān)系使一個用例的功能可以在另一個用例中使用。(1)如果兩個以上用例有大量一致的功能,則可以將這個功能分解到另一個用例中。其他用例也可以和這個用例建立包含關(guān)系。(2)一個用例的功能太多時,可以用包含關(guān)系建模兩個小用例。用例間的包含關(guān)系示例圖基礎(chǔ)用例的執(zhí)行不會涉及到擴(kuò)展用例,只有特定的條件發(fā)生,擴(kuò)展用例才被執(zhí)行。 用例間的擴(kuò)展關(guān)系示例用例泛化當(dāng)父用例能夠被使用時,任何子用例也可以被使用。子用例從父用例處繼承行為和屬性,還可以添加
5、、覆蓋或改變繼承的行為。如果一個系統(tǒng)中一個或多個用例是某個一般用例的特殊化時,就需要使用用例的泛化關(guān)系。用例間的泛化關(guān)系示例6為了滿足物業(yè)中介行業(yè)的信息化要求,甲公司基于詳盡的需求調(diào)研與分析,準(zhǔn)備研發(fā)一套符合市場需要的、實(shí)用的信息管理系統(tǒng)。主要將實(shí)現(xiàn)客戶資料信息管理、客戶委托(出租、出售、租賃、購買)信息管理、業(yè)務(wù)線索生成與管理、房源狀態(tài)自動更新、權(quán)限管理、到期用戶管理、房源組合查詢等功能。該公司小王,通過多次的與潛在客戶的交流與溝通,完成了最初的用例模型的開發(fā),下是一個用例模型的局部:小李認(rèn)為該模型不符合“用例建?!钡乃枷耄嬖诿黠@的錯誤。請用200字以內(nèi)說明錯誤所在,并說明應(yīng)該如何修改。
6、答:用例是系統(tǒng)參與者與系統(tǒng)在交互過程中所需要完成的事務(wù)。確定參與者是房產(chǎn)經(jīng)濟(jì)人,還要分析系統(tǒng)所涉及的問題領(lǐng)域和系統(tǒng)運(yùn)行的主要任務(wù)。根據(jù)系統(tǒng)的需求分析可確定:作為一個物業(yè)信息管理系統(tǒng),要實(shí)現(xiàn)客戶資料信息管理、客戶委托(出租、出售、租賃、購買)信息管理、業(yè)務(wù)線索生成與管理、房源狀態(tài)自動更新、權(quán)限管理、到期用戶管理、房源組合查詢等功能。參與者有房產(chǎn)經(jīng)紀(jì)人,對于房產(chǎn)經(jīng)紀(jì)人來說,系統(tǒng)維護(hù)操作主要包括:錄入,修改房源信息而登錄和確認(rèn)信息是包含在登入和修改中的,包含關(guān)系的圖標(biāo)按鈕應(yīng)用虛線箭頭。修改后應(yīng)該是:7.閱讀下面的用例圖,說明該圖所表達(dá)的信息。 答:客戶可以啟動“預(yù)定座位”功能。如果預(yù)定人數(shù)多,將執(zhí)行
7、擴(kuò)展用例“處理等候隊(duì)列”。總臺服務(wù)員可以啟動“安排座位”“辦理結(jié)賬”功能。客戶預(yù)定座位、服務(wù)員安排座位需要先“檢查座位信息”。服務(wù)員“辦理結(jié)賬”時需要“收款”,收款時可以現(xiàn)金支付也可以使用銀行卡,銀行卡必須是銀聯(lián)pos系統(tǒng)。8、下圖是一個描述保險商務(wù)系統(tǒng)的簡單用例圖。根據(jù)該用例圖回答問題。a) “簽訂保險單”用例可能涉及到哪幾個實(shí)體類?答:客戶、保險員、保險單。 b) 現(xiàn)實(shí)生活中簽訂保單的基本流程如下:客戶提出購買需求,保險員根據(jù)客戶需求選擇相應(yīng)的保險服務(wù),客戶閱讀保險條款,同意后打印保單樣據(jù),客戶簽字并支付保金,保單開始生效,保險員做相關(guān)系統(tǒng)紀(jì)錄。如需要根據(jù)以上信息,請列舉這個用例描述中可能
8、存在擴(kuò)展事件流。 答:當(dāng)客戶不同意保險條款時,將執(zhí)行擴(kuò)展用例“退出簽訂保單”。c) 保單管理用例在實(shí)際開發(fā)過程中可以泛化出若干小用例,列出可能存在的子用例,并且說明這些用例和“保單管理”用例之間應(yīng)該是什么關(guān)系?答:保單查詢、保單保存。泛化關(guān)系。7、在一個telephonesystem(電話系統(tǒng))中,用戶可以使用電話卡或?qū)Ψ礁犊顑煞N辦法來打電話。1)請畫出表示該場景的用例圖。2)在前圖的基礎(chǔ)上,繼續(xù)畫出可能存在的包含用例和擴(kuò)展用例。 分析與討論、 總結(jié)uml在軟件工程中的作用以及使用uml建模的必要性。 答:uml是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語言。它溶入了軟件工程領(lǐng)域的新思
9、想、新方法和新技術(shù)。它的作用域不限于支持面向?qū)ο蟮姆治雠c設(shè)計(jì),還支持從需求分析開始的軟件開發(fā)的全過程。使用uml可以對已有的用各種方法建立的模型進(jìn)行描述,并比原來的方法描述得更好。在軟件開發(fā)的生命期方面,uml對于開發(fā)的要求具有無縫性。開發(fā)過程的不同階段可以采用相同的一套概念和表示法,在同一個模型中它們可以混合使用。在開發(fā)的不同階段,不必轉(zhuǎn)換概念和表示。這種無縫性對迭代式的、增量式軟件開發(fā)是至關(guān)重要的。在應(yīng)用領(lǐng)域方面,uml適用于各種應(yīng)用領(lǐng)域的建模,包括大型的、復(fù)雜的、實(shí)時的、分布式的、集中式數(shù)據(jù)或計(jì)算的。2、總結(jié)用例圖的重要作用,討論并指出哪些場合下可以使用用例圖。答:用例圖顯示多個外部參與
10、者以及他們與系統(tǒng)提供的用例之間的連接。通過用例建模可以對外部的角色以及他們所需要的系統(tǒng)功能建模。用例圖用于系統(tǒng)分析階段。3、討論用例分析技術(shù)和結(jié)構(gòu)化分析之間的關(guān)系和區(qū)別。?答:區(qū)別:用例分析是面向?qū)ο螅╫bject oriented)的開發(fā)方法。結(jié)構(gòu)化系統(tǒng)開發(fā)方法是指把整個系統(tǒng)開發(fā)過程分成若干階段,每個階段進(jìn)行若干活動,每項(xiàng)活動應(yīng)用系統(tǒng)標(biāo)準(zhǔn)、規(guī)范、方法和技術(shù),完成一個或多個任務(wù),形成符合給定規(guī)范的軟件產(chǎn)品。聯(lián)系:它們都可以是軟件的開發(fā)更容易4、 在使用用例圖的時候應(yīng)該如何劃分用例,應(yīng)注意哪些問題?答:如何確定用例:a 參與者需要從系統(tǒng)中獲取哪種功能?及參與者要系統(tǒng)做什么?b 參與者是否需要讀取
11、、產(chǎn)生、刪除、修改或存儲系統(tǒng)中的某種信息?c 系統(tǒng)的狀態(tài)改變是是否通知參與者?d 是否存在影響系統(tǒng)的外部事件?e 系統(tǒng)需要什么樣的輸入、輸出信息?需要注意的是:一定不要再用例圖中使用兩種命名方法。即在橢圓之外和橢圓之內(nèi)。實(shí)驗(yàn)二 對象圖及交互圖實(shí)驗(yàn)?zāi)康暮鸵蟆?掌握對象的概念,對象的表示方法,掌握類與對象的關(guān)系。、 掌握時序圖(順序圖)與協(xié)作圖(通信圖)這兩種交互圖的概念及作用。、 掌握uml中靜態(tài)圖形和動態(tài)圖形的區(qū)別和聯(lián)系。、 掌握uml時序圖與協(xié)作圖的基本圖形,了解它們各自的組成元素、特定作用和適用場合。、 重點(diǎn)掌握時序圖的畫法以及其中元素所代表的意義。實(shí)驗(yàn)內(nèi)容和步驟、 什么是對象,對象的三
12、大特征是什么?uml中對象的表示方法有哪些?答:對象代表一個單獨(dú)的,可確認(rèn)的物體、單元或?qū)嶓w,它可以是具體的也可以是抽象的,在問題領(lǐng)域里有確切定義的角色。換句話說,對象是邊界非常清楚的任何事物。對象的三大特征是封裝、繼承和多態(tài)。uml中對象的表示方法有:對象名和屬性。、 在下圖中最上面的對象的名稱是什么?該圖表示的意思是什么?請繪制出與其相應(yīng)的類圖。答;china:country.該圖表示福建省和四川省都包含在中國中。相應(yīng)的類圖:、 說明對象圖的適用場景以及它的優(yōu)缺點(diǎn)。答:對系統(tǒng)的設(shè)計(jì)視圖建模時,可以使用一組類圖完整地描述抽象的語義以及它們之間的關(guān)系。但是使用對象圖不能完整地描述系統(tǒng)的對象結(jié)構(gòu)
13、。、 uml中的時序圖與協(xié)作圖之間各有什么區(qū)別和聯(lián)系? 答:兩者都是表示交互的方式,但時序圖描述時間交互的各種信息,協(xié)作圖描述的是和對象結(jié)構(gòu)相關(guān)的信息。、 在順序圖和協(xié)作圖中,應(yīng)如何表示“循環(huán)”,“判斷”等結(jié)構(gòu)? 答:整個消息的傳遞過程就形成了一個完整的序列,因此通過在每個消息的前面加上一個用冒號隔開的順序號來表示其順序、 什么是消息?消息在交互中扮演什么角色? 答:對象之間某種形式的通信,可以激發(fā)某個操作、喚起信號或?qū)е履繕?biāo)對象的創(chuàng)建或撤銷。兩個對象之間的單路通信。、 交互圖中有哪幾種消息?它們之間具體有何分別?應(yīng)如何表示? 答:簡單消息:簡單控制流; 同步:嵌套控制流 異步:異步控制流。可
14、以講一個簡單消息和一個同步消息合并成一個消息。 對于消息的這幾種控制流不知道怎么具體區(qū)分,比如一個老師讓一個學(xué)生發(fā)言屬于什么消息?簡單控制流?簡單消息:做完一件事再做另外一件事。買票是同步;異步是不等結(jié)果的返回就去做另外一件事,比如洗衣服,洗衣機(jī)洗衣服的時候可以去做飯。乙方發(fā)送了一個消息后不必等待甲方回應(yīng)。而同步必須是等到回應(yīng)后才能做另外一件事。、 假設(shè)有一系統(tǒng)得協(xié)作圖局部如圖所示,print方法的功能是將傳入的參數(shù)的值打印在屏幕上,fact方法是計(jì)算階乘,如果test的初值為1,那么最終將打印出什么?(寫出計(jì)算過程)分析與討論、 思考類與對象之間的關(guān)系是怎樣的?各舉幾個實(shí)例,說明哪些是類,哪
15、些是對象。答:類有3個分欄:名稱屬性和操作。對象只有兩個分欄:名稱和屬性。類的名稱分欄中只有類名。對象的名稱形式為“對象名:類名”,匿名對象的名稱形式為“:類名”。類的屬性分欄定義了所有屬性的特征。對象圖中不包含操作,因?yàn)閷τ趯儆谕粋€類的對象而言,其操作是相同的。類使用關(guān)聯(lián)連接,關(guān)聯(lián)使用名稱、角色、多重性以及約束等特征定義。類代表的是對對象的分類,所以必須說明可以參與關(guān)聯(lián)的對象的數(shù)目。對象使用鏈連接,鏈擁有名稱、角色,都是沒有多重性。對象代表的是單獨(dú)的實(shí)體,所有的類都是一對一的,因此不涉及到多重性。country、province是類,而china、fujian和sichuan分別是這兩個類
16、中的對象、 思考在具體場景中應(yīng)該如何區(qū)分類與對象。答:從定義和圖形表示發(fā)區(qū)分。對象就是類的實(shí)例,所以如果是抽像的不存在的就是類,而具體的存在的就是對象。、 討論并總結(jié)在建模過程中運(yùn)用交互圖的重要作用及意義。 答:交互視圖描述了執(zhí)行系統(tǒng)功能的各個角色之間相互傳遞消息的順序關(guān)系。類元是對在系統(tǒng)內(nèi)交互關(guān)系中起特定作用的一個對象的描述,這使它區(qū)別于同類的其他對象。交互視圖顯示了跨越多個對象的系統(tǒng)控制流程。交互視圖可用兩種圖來表示:順序圖和協(xié)作圖,它們各有不同的側(cè)重點(diǎn)順序圖的一個用途是用來表示用例中的行為順序。當(dāng)執(zhí)行一個用例行為時,順序圖中的每條消息對應(yīng)了一個類操作或狀態(tài)機(jī)中引起轉(zhuǎn)換的觸發(fā)事件。協(xié)作圖的
17、一個用途是表示一個類操作的實(shí)現(xiàn)。協(xié)作圖可以說明類操作中用到的參數(shù)和局部變量以及操作中的永久鏈。當(dāng)實(shí)現(xiàn)一個行為時,消息編號對應(yīng)了程序中嵌套調(diào)用結(jié)構(gòu)和信號傳遞過程。實(shí)驗(yàn)三 uml類圖實(shí)驗(yàn)?zāi)康暮鸵蟆?掌握類的定義,類的3要素,uml中類的表示方法。、 掌握類與類之間的各種關(guān)系代表的含義及表示方法。、 實(shí)體類,邊界類,控制類,關(guān)聯(lián)類的概念和表示方法。、 接口和抽象類的概念和表示方法。 類的多重性關(guān)系。、 對一個類圖進(jìn)行相關(guān)的描述。實(shí)驗(yàn)內(nèi)容和步驟、 簡述類的定義,以及類的三要素答:類是對一組具有相同屬性、操作、關(guān)系和語義事物的描述。類的三要素是:類的名稱、屬性、操作。、 類的屬性和方法的可見性有哪些?
18、uml中如何表示?答:類的屬性和方法的可見性有:公有public(符號“+”)、私有 private(符號“-”)和受保護(hù)protected(符號“#”),、 已知三個類a.b和c.其中類a由類b的一個實(shí)類和類c的1個或多個實(shí)類構(gòu)成.請畫出能夠正確表示類a,b和c之間關(guān)系的uml類圖. 、 根據(jù)以下描述畫出類圖,并注明多重性關(guān)系:一個學(xué)生可以選修多門課程,也可能沒有任何課程;一門課程可以被多個學(xué)生選修;一個老師可以教多門課程或者不教課;每門課程至少有一個老師,也可以有多個老師任教;每門課程可以有0或1本教材,每本教材只能用于一門課程。、 現(xiàn)有一系統(tǒng)需要對商品進(jìn)行管理,包括添加,刪除商品,修改商
19、品信息三項(xiàng)功能,畫出系統(tǒng)類圖。(商品信息包括商品編號,商品名稱,價格,生產(chǎn)廠商等)、 如果現(xiàn)在系統(tǒng)需求發(fā)生變化,需要能夠?qū)p壞商品進(jìn)行打折,以及可以按照商品的顏色和外形進(jìn)行查詢,則系統(tǒng)類圖應(yīng)該如何修改?、 根據(jù)下面的代碼畫出invoice類的類圖,要求標(biāo)明各屬性的類型和可見性以及類方法。public class invoicepublic double amount;public date date = new date();public string customer;public string specification;public string administrator = “uns
20、pecified”;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);、 下圖是一個倉庫管理系統(tǒng)的類模型局部,其中incomeorder是指入庫單,orderitem是指入庫中的每一項(xiàng),product則是產(chǎn)品信息。請指出模型中的錯誤,說明原因并改正類圖。答:orderltem與incomeorder的關(guān)系并不
21、是泛化關(guān)系,而應(yīng)該是包含關(guān)系。改正的類圖: 分析與討論、 討論類圖在建模過程中的重要作用。答:類圖描述系統(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)系一目了然。、 總結(jié)在設(shè)計(jì)繪制類圖的過程中應(yīng)注意哪些問題。答:uml類圖(class diagram)是描述類、接口、協(xié)作以及它們之間關(guān)系的圖,用來顯示系統(tǒng)中各個類的靜態(tài)結(jié)構(gòu)。uml類圖是定義其他圖的基礎(chǔ),在uml類圖基礎(chǔ)上,可以使用狀
22、態(tài)圖、協(xié)作圖、組件圖和配置圖等進(jìn)一步描述系統(tǒng)其他方面的特性。實(shí)驗(yàn)四 包圖實(shí)驗(yàn)?zāi)康暮鸵蟆?掌握uml包的概念和作用。、 掌握包與包之間的各種依賴關(guān)系的區(qū)別。、 掌握建立包與包之間依賴關(guān)系的方法。、 掌握建立包圖過程中需遵循的原則。實(shí)驗(yàn)內(nèi)容和步驟、 包屬于uml中的何種事物?有何作用?答:包是將多個元素組織為語義相關(guān)的組的通用機(jī)制。對于復(fù)雜系統(tǒng)進(jìn)行建模時,經(jīng)常需要處理大量的類、接口、組件、節(jié)點(diǎn)和圖,這時就有必要將這些元素進(jìn)行分類,即把語義相近并傾向于同一變化的元素組織起來加入同一個包中,以方便理解和處理整個模型。、 uml中包的表示方法有哪幾種?答:包的繪制用一個小矩形和一個大矩形表示。、 包與
23、包之間存在哪幾種關(guān)系?答:(1)引入和訪問依賴,用于在一個包中引入另一個包輸出的元素。(2)泛化,用于說明包的家族。、 包與包之間的依賴關(guān)系有何特點(diǎn)?答:訪問依賴,用于在一個包中引入另一個包輸入的元素。、 如何避免包與包之間出現(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)圖1 assem
24、blya 與assemblyb之間的依賴關(guān)系下面是解決方案來解除這種循環(huán)依賴關(guān)系:1.將產(chǎn)生依賴的類型分離出來,放到另一個新的程序集assemblyc中去。2.使用接口來解除循環(huán)依賴:這種方式的具體做法(如圖2):2.1. 從被依賴的類中,提取出一個接口放到新的程序集中(接口中的成員是依賴類中所依賴的,當(dāng)然被依賴的類是實(shí)現(xiàn)了該接口的)。2.2 依賴類去引用2.1中新建的程序集中的新接口。圖2 使用接口解除兩個程序集的循環(huán)依賴關(guān)系、 建立包圖應(yīng)注意哪些問題?答: 1.包的命名要簡單、具有描述性。2.應(yīng)用包是為了簡化3.包應(yīng)該連貫。4.在包上用版型注明架構(gòu)層。5.避免包間的循環(huán)依賴。6.包依賴應(yīng)該
25、反映內(nèi)部關(guān)系、 根據(jù)下圖判斷下面哪句話正確的說明了包之間的依賴關(guān)系。a) 對package1包中的元素做了修改后,需檢查package2包中的元素和package3包中的元素是否要做相應(yīng)修改。b) 對package1包中的元素做了修改后,需檢查package2包中的元素是否需要做相應(yīng)修改,如果是,則需繼續(xù)檢查是否package3包中元素也要做相應(yīng)修改。c) 對package3包中的元素做了修改后,需檢查package2包中的元素是否需要做相應(yīng)修改,如果是,則需繼續(xù)檢查是否package1包中元素也要做相應(yīng)修改。d) 對package3包中的元素做了修改后,需檢查package2包中的元素和pa
26、ckage1包中的元素是否要做相應(yīng)修改。答:c、 下面包圖設(shè)計(jì)中是否存在問題?應(yīng)如何改進(jìn)。a)b答:存在問題,出現(xiàn)了循環(huán)依賴關(guān)系,a圖中b不能即依賴c同時還依賴e。b修改后:分析與討論、結(jié)合一個具體例子,分析uml建模過程中包圖所起的作用。; 答:作用:1)對語義上相關(guān)的元素進(jìn)行分組;2)定義模型中的“語義邊界”;3)提供配置管理單元;4)在設(shè)計(jì)時,提供并行工作的單元;5)提供封裝的命名空間,其中所有名稱必須惟一實(shí)驗(yàn)五 狀態(tài)圖實(shí)驗(yàn)?zāi)康暮鸵蟆?掌握狀態(tài)的定義和組成部分。、 掌握uml中狀態(tài)的表示方法。、 掌握轉(zhuǎn)換的定義及轉(zhuǎn)換的5要素。、 了解觸發(fā)事件、監(jiān)護(hù)條件、動作的定義。、 掌握閱讀和繪制狀
27、態(tài)圖的方法。實(shí)驗(yàn)內(nèi)容和步驟、 什么叫做狀態(tài)?狀態(tài)由哪五個部分組成?答:描述系統(tǒng)里靜態(tài)事物的動態(tài)變化。狀態(tài)機(jī)由狀態(tài)、轉(zhuǎn)換、事件、活動和動作5部分組成。狀態(tài)圖圖標(biāo)分3部分:名稱、內(nèi)部轉(zhuǎn)換和嵌套狀態(tài)圖。、 什么是轉(zhuǎn)換?uml中轉(zhuǎn)換的5要素是什么?答:轉(zhuǎn)換表示當(dāng)一個特定事件發(fā)生或者某些條件得到滿足時,一個源狀態(tài)下的對象在完成特定的動作后將發(fā)生狀態(tài)轉(zhuǎn)變,轉(zhuǎn)向另一個目標(biāo)狀態(tài)的狀態(tài)。5要素:源狀態(tài)、目標(biāo)狀態(tài)、觸發(fā)事件、監(jiān)護(hù)條件、動作。、 觸發(fā)事件是什么?可以具體分為哪些事件?答:能夠引起狀態(tài)裝換的事件。信號、調(diào)用和時間段。、 改變事件和監(jiān)護(hù)條件有何異同?答:改變事件能引起動作的執(zhí)行及狀態(tài)的改變,改變監(jiān)護(hù)條件
28、能觸發(fā)轉(zhuǎn)換。、 什么叫做轉(zhuǎn)換?轉(zhuǎn)換可以分為哪幾種?答:轉(zhuǎn)換表示當(dāng)一個特定事件發(fā)生或者某些條件得到滿足時,一個源狀態(tài)下的對象在完成特定的動作后將發(fā)生狀態(tài)轉(zhuǎn)變,轉(zhuǎn)向另一個目標(biāo)狀態(tài)的狀態(tài)。轉(zhuǎn)換分為:外部轉(zhuǎn)換、內(nèi)部轉(zhuǎn)換、完成轉(zhuǎn)換、復(fù)合轉(zhuǎn)換。、 狀態(tài)和對象的關(guān)系是怎樣的? 下面描述中哪些是對象,哪些是狀態(tài)?支票已付汽車停在那兒小王正在工作答:支票是對象,已付是狀態(tài);汽車是對象,停在那兒是狀態(tài);小王是對象,正在工作是狀態(tài)。、 說出下面狀態(tài)的狀態(tài)名和各種轉(zhuǎn)換、事件。 lighting entry / turnon do / blinkfivetimes eventpoweroff / powersupply
29、self exit / turnoff eventselftest / defer狀態(tài)名:lighting轉(zhuǎn)換:eventselftest / defer事件:入口動作entry / turnon do / blinkfivetimes eventpoweroff / powersupplyself出口動作exit / turnoff、 說出下面狀態(tài)圖所表達(dá)的信息。答:狀態(tài)開始,狀態(tài)1:關(guān)閉,事件1沒水,打開放水,事件2燒水,狀態(tài)2打開,事件3水開了關(guān)閉,回到狀態(tài)1.分支1燒水時燒壞了,狀態(tài)結(jié)束。、 說出下面狀態(tài)圖所表達(dá)的信息,并指出藍(lán)色部分代表的含義。答;狀態(tài)開始,狀態(tài)1注冊課程,狀態(tài)2課程
30、評價,嵌套狀態(tài)圖1:開始,狀態(tài)實(shí)驗(yàn)1,進(jìn)入實(shí)驗(yàn)室,事件1完成實(shí)驗(yàn),實(shí)驗(yàn)2,完成實(shí)驗(yàn)。嵌套狀態(tài)2:實(shí)驗(yàn)室團(tuán)隊(duì)項(xiàng)目,事件項(xiàng)目完成,結(jié)束。嵌套狀態(tài)3:開始,狀態(tài)考試,事件1考試及格,事件2考試不及格,課程不通過,補(bǔ)考。3個嵌套狀態(tài)后,課程通過。10、根據(jù)下面狀態(tài)圖回答問題。上圖是一個表示電梯系統(tǒng)的狀態(tài)圖,該系統(tǒng)中controller類和motor類的詳細(xì)定義如下圖所示:根據(jù)類圖,完成上面狀態(tài)圖中a,b,c,d,e,f處的內(nèi)容。答:a是0,b是timeout,c是gotofloor2,d是motor.movedown(),e是motor.moveup(),f是motor.stop()11、 某銷售po
31、s機(jī)工作流程如下:當(dāng)客戶到收銀臺后,收銀員逐一輸入用戶購買的商品,然后計(jì)算總金額,等待用戶付款,確定支付成功之后,完成收銀,等待下一個用戶。請為其畫出對應(yīng)的狀態(tài)圖。 分析與討論、 討論思考狀態(tài)圖在uml建模中可以起到什么樣的作用。答;狀態(tài)圖一般用于對系統(tǒng)中的某些對象,比如類,用例和系統(tǒng)的行為建模。它通過建立類對象的生存周期模型來描述對象隨時間變化的動態(tài)行為。、 思考什么樣的情況下適合引入狀態(tài)圖進(jìn)行建模。答:系統(tǒng)分析人員在對系統(tǒng)進(jìn)行建模時,最先考慮的是基于狀態(tài)之間的控制流,因?yàn)橄到y(tǒng)對象中的狀態(tài)變化最易發(fā)現(xiàn)和理解。這樣的情況下引入狀態(tài)圖進(jìn)行建模比較好。實(shí)驗(yàn)六 活動圖實(shí)驗(yàn)?zāi)康暮鸵蟆?掌握活動的概念
32、以及表示方法。、 掌握活動圖中個元素表示的意義和表示方法。、 掌握分支、監(jiān)護(hù)條件、分岔、匯合和泳道的概念。、 掌握閱讀和繪制活動圖的方法。實(shí)驗(yàn)內(nèi)容和步驟、 什么是活動?uml中如何表示活動?答:活動是某件事情正在進(jìn)行的狀態(tài)既可以是現(xiàn)實(shí)生活中正在進(jìn)行的某一項(xiàng)工作,也可以是軟件系統(tǒng)某個類對象的一個操作。活動圖用圓角橢圓表示。、 活動圖中包括哪些元素?分別如何表示?答:分支與合并、分叉與匯合等模型元素。分支與合并用實(shí)線箭頭表示,分叉與匯合用一條加粗的線段表示。圖形元素表示方法動作狀態(tài)平滑的圓角矩形活動狀態(tài)平滑的圓角矩形動作流帶箭頭的直線分支與合并空心小菱形分叉與匯合加粗的水平線泳道垂直實(shí)線,分隔的區(qū)
33、域就是泳道對象流帶箭頭的虛線、 分岔和分支有什么區(qū)別,分別適用于什么樣的建模目標(biāo)?答;分叉可以用來描述并發(fā)線程,每一個分叉可以有一個輸入轉(zhuǎn)換和兩個或多個輸出轉(zhuǎn)換,每一個轉(zhuǎn)換都可以是獨(dú)立的控制流。分支在軟件系統(tǒng)流程中很常見,它一般用于表示對象類所具有的條件行為。、 活動圖中監(jiān)護(hù)條件和改變時間分別有何作用?兩者間的區(qū)別是什么?答:控制活動的處理過程,控制系統(tǒng)的行為。監(jiān)護(hù)條件是決定執(zhí)行與否,改變時間是決定什么時候執(zhí)行。、 說明下面活動圖所表達(dá)的信息。答:用戶下訂單后系統(tǒng)生成送貨單,用戶選擇支付方式,判斷用戶是否取消訂單或訂單超過時限,如果是,則取消訂單,如果否,則進(jìn)行收款。之后供應(yīng)商送貨,修改訂單項(xiàng)
34、狀態(tài),然后判斷是否所有訂單已送貨完畢。如果是,那么訂單完成。、 用活動圖表示for(i=0;i9;i+)循環(huán)。、 對于如下圖所示的活動圖,最大可能的并發(fā)線程數(shù)是幾個?答:五個分析與討論、 總結(jié)uml在軟件工程中的作用以及使用uml建模的必要性。答: uml是一種功能強(qiáng)大的,面向?qū)ο蟮目梢暬到y(tǒng)分析的建模語言,它的各個模型可以幫助開發(fā)人員更好地理解業(yè)務(wù)流程,建立更可靠,更完善的系統(tǒng)模型.從而使用戶和開發(fā)人員對問題的描述達(dá)到相同的理解,以減少語義差異,保障分析的正確性.。建立模型可以幫助開發(fā)者更好地了解正在開發(fā)的系統(tǒng)。便于開發(fā)人員展現(xiàn)系統(tǒng),提供指導(dǎo)開發(fā)人員構(gòu)造系統(tǒng)的模板,記錄開發(fā)人員的決策。每個項(xiàng)
35、目可以從建模中受益。甚至在自由軟件領(lǐng)域,模型可以幫助開發(fā)小組更好地規(guī)劃系統(tǒng)設(shè)計(jì)更快地開發(fā)。、 分小組討論利用“支付寶”進(jìn)行網(wǎng)上購物的活動過程,并畫出活動圖,關(guān)于支付寶的相關(guān)說明可以登錄/查看。答:挑選寶貝確認(rèn)訂單-支付寶支付-支付成功、 針對前面的網(wǎng)上書店系統(tǒng),畫出用戶購書,商家發(fā)貨等過程的 活動圖。實(shí)驗(yàn)七 時序圖與協(xié)作圖實(shí)驗(yàn)?zāi)康暮鸵蟆?掌握時序圖與協(xié)作圖的概念及作用。、 掌握uml中靜態(tài)圖形和動態(tài)圖形的區(qū)別和聯(lián)系。、 掌握uml時序圖與協(xié)作圖的基本圖形,了解它們各自的組成元素、特定作用和適用場合。、 重點(diǎn)掌握時序圖的畫法以及其中元素所代表的意義。實(shí)驗(yàn)
36、內(nèi)容和步驟1、 uml中的時序圖與協(xié)作圖之間各有什么區(qū)別和聯(lián)系?答:主要元素都是消息和類角色。相同點(diǎn):(1)規(guī)定責(zé)任(2)支持消息(3)衡量工具區(qū)別:協(xié)作圖的重點(diǎn)是將對象的交互映射到它們之間的鏈上,即協(xié)作圖以對象圖的方式繪制各個參與對象,并且將消息和鏈平行放置。時序圖可以描述對象的創(chuàng)建和撤銷的情況。而在協(xié)作圖中,對象要么存在要么不存在,除了通過消息描述或約束,沒有其他的方法可以表示對象的創(chuàng)建或結(jié)束。時序圖還可以表現(xiàn)對象的激活和去激活情況但對于協(xié)作圖來說,由于沒有對時間的描述,除了對消息進(jìn)行解釋,它無法清晰地表示對象的激活和去激活情況。2、 在順序圖和協(xié)作圖中,應(yīng)如何表示“循環(huán)”,“判斷”等結(jié)構(gòu)?答:
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 印刷服務(wù)合同
- 手破碎機(jī)設(shè)備買賣合同
- 聘用出納合同增加多場景
- 生產(chǎn)車間承包合同協(xié)議
- 機(jī)械工程勞務(wù)分包合同
- 河北化工醫(yī)藥職業(yè)技術(shù)學(xué)院《中學(xué)生物課堂教學(xué)技能訓(xùn)練》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州華立科技職業(yè)學(xué)院《數(shù)據(jù)挖掘與決策管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧波衛(wèi)生職業(yè)技術(shù)學(xué)院《界面化學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 宜春學(xué)院《需求工程》2023-2024學(xué)年第二學(xué)期期末試卷
- 宿州職業(yè)技術(shù)學(xué)院《水質(zhì)工程學(xué)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 中國古代服飾文化135張課件
- 《道德與法治》五下第一單元《我們一家人》教案
- 拔罐技術(shù)操作流程圖
- 真空泵日常操作標(biāo)準(zhǔn)作業(yè)指導(dǎo)書
- 鋼筋保護(hù)層厚度試驗(yàn)檢測記錄表
- 南寧市海綿城市規(guī)劃設(shè)計(jì)導(dǎo)則-圖文課件
- 階段1 古代中華文明的起源與奠基-先秦 課時1 先秦時期的社會經(jīng)濟(jì) 課件-2022屆高三歷史一輪復(fù)習(xí)
- 電焊工安全教育培訓(xùn)課件
- 公共關(guān)系理論與實(shí)務(wù)ppt課件(完整版)
- 外研版五年級下冊小學(xué)英語全冊教學(xué)課件PPT
- 中國石油大學(xué)(華東)-朱超-答辯通用PPT模板
評論
0/150
提交評論