




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)生實(shí)驗(yàn)報(bào)告目錄實(shí)驗(yàn)一 UML 建模基礎(chǔ)及用例圖 3實(shí)驗(yàn)二 對(duì)象圖及交互圖 . 11實(shí)驗(yàn)三 UML 類圖 16實(shí)驗(yàn)四 包圖. 20實(shí)驗(yàn)五 狀態(tài)圖 . 25實(shí)驗(yàn)六 活動(dòng)圖 . 30實(shí)驗(yàn)七 時(shí)序圖與協(xié)作圖 . 34實(shí)驗(yàn)一 UML建模基礎(chǔ)及用例圖實(shí)驗(yàn)?zāi)康暮鸵?、熟悉UML建模工具Rational Rose的基本菜單及操作2、 掌握UMU的可見(jiàn)性規(guī)則和構(gòu)造型的作用。3、 掌握用例的概念;掌握UML用例圖的組成及作用。4、 掌握用例與用例之間的各種關(guān)系。實(shí)驗(yàn)內(nèi)容和步驟1、練習(xí)使用建模工具建立各種 UML圖形,并對(duì)圖形進(jìn)行相應(yīng)編輯 和修改。2、 認(rèn)識(shí)各種UML關(guān)系及可見(jiàn)性符號(hào),并用工具表示出來(lái)。UML關(guān)
2、系關(guān)聯(lián)關(guān)系表示方法Clags2 關(guān)唳矣系Claas!依賴關(guān)系依輸笑索冷>C)ass3泛化關(guān)系汪化關(guān)系廠Class3實(shí)現(xiàn)關(guān)系聚合關(guān)系Ciass3Class2:=表示方法可見(jiàn)性公有(Public )“ +”私有(Private )“- ”受保護(hù)(Protected )“#”包內(nèi)公有(Package)“。3什么是用例,什么是場(chǎng)景?用例和場(chǎng)景之間的關(guān)系是怎樣的?答:用例是外部可見(jiàn)的系統(tǒng)功能單元,這些功能由系統(tǒng)單元所提 供,并通過(guò)一系列系統(tǒng)單元與一個(gè)或多個(gè)參與者之間交換的消息所 表達(dá)。事件觸發(fā)時(shí)的情景便形成了 場(chǎng)景4用例圖中有哪些組成元素?在 UML中是如何表示的?答:用例圖包含6個(gè)元素,分別是:
3、參與者、用例、關(guān)聯(lián)關(guān)系、 包含關(guān)系、擴(kuò)展關(guān)系以及泛化關(guān)系。參與者用人形圖標(biāo)表示,用例圖用橢圓形符號(hào)表示,連線表示 它們之間的關(guān)系。5用例與用例之間的包含關(guān)系、擴(kuò)展關(guān)系和泛化關(guān)系各代表什么含 義?它們之間有何區(qū)別?對(duì)以上三種關(guān)系各舉一例,畫(huà)出用例圖,并進(jìn)行說(shuō)明。答:包含關(guān)系:一個(gè)用例可以簡(jiǎn)單地包含其他用例具有的 行為,并把它所包含的用例行為作為自身行為的一部分。 擴(kuò)展關(guān)系:一個(gè)用例也可以被定義為基礎(chǔ)用例的增量擴(kuò)展,這 稱作擴(kuò)展關(guān)系,擴(kuò)展關(guān)系是把新的行為插入到已有用例中的方 法。泛化關(guān)系:一個(gè)用例可以被特別列舉為一個(gè)或多個(gè)子用例。 包含關(guān)系把幾個(gè)用例的公共步驟分離成一個(gè)單獨(dú)的被包含用 例。被包含用
4、例稱作提供者用例,包含用例稱作客戶用例,提供者用例提供功能給客戶使用。用例間的包含關(guān)系允許包含提 供者用例的行為到客戶用例的事件中。包含關(guān)系使一個(gè)用例的功能可以在另一個(gè)用例中使用。(1)如果兩個(gè)以上用例有大量一致的功能,則可以將這個(gè)功能分解到 另一個(gè)用例中。其他用例也可以和這個(gè)用例建立包含關(guān)系。(2)一個(gè)用例的功能太多時(shí),可以用包含關(guān)系建模兩個(gè)小用例。網(wǎng)上預(yù)定<<include»填與電子表格用例間的包含關(guān)系示例圖基礎(chǔ)用例的執(zhí)行不會(huì)涉及到擴(kuò)展用例,只有特定的條件發(fā)生,用例間的擴(kuò)展關(guān)系示例用例泛化當(dāng)父用例能夠被使用時(shí),任何子用例也可以被使用。子用例從父用例處繼承行為和屬性,
5、還可以添加、覆蓋或改變繼承的 行為。如果一個(gè)系統(tǒng)中一個(gè)或多個(gè)用例是某個(gè)一般用例的特殊化時(shí), 就需要使用用例的泛化關(guān)系。預(yù)定網(wǎng)上預(yù)定用例間的泛化關(guān)系示例6為了滿足物業(yè)中介行業(yè)的信息化要求,甲公司基于詳盡的需求 調(diào)研與分析,準(zhǔn)備研發(fā)一套符合市場(chǎng)需要的、 實(shí)用的信息管理系 統(tǒng)。主要將實(shí)現(xiàn)客戶資料信息管理、客戶委托(出租、出售、租賃、購(gòu)買(mǎi))信息管理、業(yè)務(wù)線索生成與管理、房源狀態(tài)自動(dòng)更新、 權(quán)限管理、到期用戶管理、房源組合查詢等功能。該公司小王,通過(guò)多次的與潛在客戶的交流與溝通,完成了最初的用例模型的開(kāi)發(fā),下是一個(gè)用例模型的局部:vvin clude>>登錄信息房產(chǎn)經(jīng)紀(jì)人確認(rèn)提交信息修改房源
6、信息I打開(kāi)房源信息頁(yè)面錄入房源信息小李認(rèn)為該模型不符合“用例建?!钡乃枷?,存在明顯的錯(cuò)誤 請(qǐng)用200字以內(nèi)說(shuō)明錯(cuò)誤所在,并說(shuō)明應(yīng)該如何修改。答:用例是系統(tǒng)參與者與系統(tǒng)在交互過(guò)程中所需要完成的事 務(wù)。確定參與者是房產(chǎn)經(jīng)濟(jì)人,還要分析系統(tǒng)所涉及的問(wèn)題領(lǐng) 域和系統(tǒng)運(yùn)行的主要任務(wù)。根據(jù)系統(tǒng)的需求分析可確定:作為 一個(gè)物業(yè)信息管理系統(tǒng),要實(shí)現(xiàn)客戶資料信息管理、客戶委托 (出租、出售、租賃、購(gòu)買(mǎi))信息管理、業(yè)務(wù)線索生成與管理、 房源狀態(tài)自動(dòng)更新、權(quán)限管理、到期用戶管理、房源組合查詢 等功能。參與者有房產(chǎn)經(jīng)紀(jì)人,對(duì)于房產(chǎn)經(jīng)紀(jì)人來(lái)說(shuō),系統(tǒng)維護(hù)操作主要包括:錄入,修改房源信息而登錄和確認(rèn)信息是包 含在登入和修改
7、中的,包含關(guān)系的圖標(biāo)按鈕應(yīng)用虛線箭頭。修改7閱讀下面的用例圖,說(shuō)明該圖所表達(dá)的信息答:客戶可以啟動(dòng)“預(yù)定座位”功能。如果預(yù)定人數(shù)多,將執(zhí)行 擴(kuò)展用例“處理等候隊(duì)列”??偱_(tái)服務(wù)員可以啟動(dòng)“安排座位” “辦理結(jié)賬”功能??蛻纛A(yù)定座位、 服務(wù)員安排座位需要先“檢查座位信息”。服務(wù)員“辦理結(jié)賬”時(shí)需 要“收款”,收款時(shí)可以現(xiàn)金支付也可以使用銀行卡,銀行卡必須是 銀聯(lián)POS系統(tǒng)。8下圖是一個(gè)描述保險(xiǎn)商務(wù)系統(tǒng)的簡(jiǎn)單用例圖。根據(jù)該用例圖回答 問(wèn)題。保險(xiǎn)商務(wù)系統(tǒng)a)“簽訂保險(xiǎn)單”用例可能涉及到哪幾個(gè)實(shí)體類?答:客戶、保險(xiǎn)員、保險(xiǎn)單。b)現(xiàn)實(shí)生活中簽訂保單的基本流程如下: 客戶提出購(gòu)買(mǎi)需求,保險(xiǎn) 員根據(jù)客戶需求
8、選擇相應(yīng)的保險(xiǎn)服務(wù), 客戶閱讀保險(xiǎn)條款,同意 后打印保單樣據(jù),客戶簽字并支付保金,保單開(kāi)始生效,保險(xiǎn)員 做相關(guān)系統(tǒng)紀(jì)錄。如需要根據(jù)以上信息,請(qǐng)列舉這個(gè)用例描述中 可能存在擴(kuò)展事件流。答:當(dāng)客戶不同意保險(xiǎn)條款時(shí),將執(zhí)行擴(kuò)展用例“退出簽訂保單”。c)保單管理用例在實(shí)際開(kāi)發(fā)過(guò)程中可以泛化出若干小用例,列出可能存在的子用例,并且說(shuō)明這些用例和“保單管理”用例之間應(yīng)該是什么關(guān)系?答:保單查詢、保單保存。泛化關(guān)系。7、在一個(gè)TelephoneSystem (電話系統(tǒng))中,用戶可以使用電話卡 或?qū)Ψ礁犊顑煞N辦法來(lái)打電話。1)請(qǐng)畫(huà)出表示該場(chǎng)景的用例圖。2)在前圖的基礎(chǔ)上,繼續(xù)畫(huà)出可能存在的包含用例和擴(kuò)展用例電
9、話卡分析與討論1、總結(jié)UML在軟件工程中的作用以及使用 UMI建模的必要性。答:UML是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的 建模語(yǔ)言。它溶入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。它的 作用域不限于支持面向?qū)ο蟮姆治雠c設(shè)計(jì), 還支持從需求分析開(kāi)始的 軟件開(kāi)發(fā)的全過(guò)程。使用UML可以對(duì)已有的用各種方法建立的模型進(jìn) 行描述,并比原來(lái)的方法描述得更好。在軟件開(kāi)發(fā)的生命期方面,UML 對(duì)于開(kāi)發(fā)的要求具有無(wú)縫性。開(kāi)發(fā)過(guò)程的不同階段可以采用相同的一 套概念和表示法,在同一個(gè)模型中它們可以混合使用。 在開(kāi)發(fā)的不同 階段,不必轉(zhuǎn)換概念和表示。這種無(wú)縫性對(duì)迭代式的、增量式軟件開(kāi) 發(fā)是至關(guān)重要的。在應(yīng)用
10、領(lǐng)域方面,UML適用于各種應(yīng)用領(lǐng)域的建模, 包括大型的、復(fù)雜的、實(shí)時(shí)的、分布式的、集中式數(shù)據(jù)或計(jì)算的。2、總結(jié)用例圖的重要作用,討論并指出哪些場(chǎng)合下可以使用用例圖。答:用例圖顯示多個(gè)外部參與者以及他們與系統(tǒng)提供的用例之間的連 接。通過(guò)用例建模可以對(duì)外部的角色以及他們所需要的系統(tǒng)功能建 模。用例圖用于系統(tǒng)分析階段。3、討論用例分析技術(shù)和結(jié)構(gòu)化分析之間的關(guān)系和區(qū)別。?答:區(qū)別:用例分析是面向?qū)ο? Object Oriented )的開(kāi)發(fā)方法。 結(jié)構(gòu)化系統(tǒng)開(kāi)發(fā)方法是指把整個(gè)系統(tǒng)開(kāi)發(fā)過(guò)程分成若干階段, 每個(gè)階 段進(jìn)行若干活動(dòng),每項(xiàng)活動(dòng)應(yīng)用系統(tǒng)標(biāo)準(zhǔn)、規(guī)范、方法和技術(shù),完成 一個(gè)或多個(gè)任務(wù),形成符合給定
11、規(guī)范的軟件產(chǎn)品。 聯(lián)系:它們都可以是軟件的開(kāi)發(fā)更容易4、在使用用例圖的時(shí)候應(yīng)該如何劃分用例,應(yīng)注意哪些問(wèn)題? 答:如何確定用例:a 參與者需要從系統(tǒng)中獲取哪種功能?及參與者要系統(tǒng)做什么?b 參與者是否需要讀取、 產(chǎn)生、刪除、修改或存儲(chǔ)系統(tǒng)中的某種信息?c 系統(tǒng)的狀態(tài)改變是是否通知參與者?d 是否存在影響系統(tǒng)的外部事件?e 系統(tǒng)需要什么樣的輸入、輸出信息?需要注意的是: 一定不要再用例圖中使用兩種命名方法。 即在橢圓之 外和橢圓之內(nèi)。實(shí)驗(yàn)二對(duì)象圖及交互圖實(shí)驗(yàn)?zāi)康暮鸵?、掌握對(duì)象的概念,對(duì)象的表示方法,掌握類與對(duì)象的關(guān)系。2、掌握時(shí)序圖(順序圖)與協(xié)作圖(通信圖)這兩種交互圖的概 念及作用。3、
12、掌握UML中靜態(tài)圖形和動(dòng)態(tài)圖形的區(qū)別和聯(lián)系。4、掌握UML時(shí)序圖與協(xié)作圖的基本圖形,了解它們各自的組成元 素、特定作用和適用場(chǎng)合。5、重點(diǎn)掌握時(shí)序圖的畫(huà)法以及其中元素所代表的意義。實(shí)驗(yàn)內(nèi)容和步驟UML中對(duì)象的表示方法1、什么是對(duì)象,對(duì)象的三大特征是什么?有哪些?答:對(duì)象代表一個(gè)單獨(dú)的,可確認(rèn)的物體、單元或?qū)嶓w,它可以 是具體的也可以是抽象的,在問(wèn)題領(lǐng)域里有確切定義的角色。 換句話 說(shuō),對(duì)象是邊界非常清楚的任何事物。對(duì)象的三大特征是封裝、繼承 和多態(tài)。UML中對(duì)象的表示方法有: 對(duì)象名和屬性。NewClass2、在下圖中最上面的對(duì)象的名稱是什么?該圖表示的意思是什 么?請(qǐng)繪制出與其相應(yīng)的類圖。C
13、hina:CountryfuJian:ProvincesiChuan:Province答;chi na:cou ntry.該圖表示福建省和四川省都包含在中國(guó)中相應(yīng)的類圖:3、說(shuō)明對(duì)象圖的適用場(chǎng)景以及它的優(yōu)缺點(diǎn)。答:對(duì)系統(tǒng)的設(shè)計(jì)視圖建模時(shí),可以使用一組類圖完整地描述抽象的 語(yǔ)義以及它們之間的關(guān)系。但是使用對(duì)象圖不能完整地描述系統(tǒng)的對(duì) 象結(jié)構(gòu)。4、UML中的時(shí)序圖與協(xié)作圖之間各有什么區(qū)別和聯(lián)系?答:兩者都是表示交互的方式,但時(shí)序圖描述時(shí)間交互的 各種信息,協(xié)作圖描述的是和對(duì)象結(jié)構(gòu)相關(guān)的信息。5、在順序圖和協(xié)作圖中,應(yīng)如何表示“循環(huán)”,“判斷”等結(jié)構(gòu)?答:整個(gè)消息的傳遞過(guò)程就形成了一個(gè)完整的序列,
14、因此通過(guò)在每個(gè)消息的前面加上一個(gè)用冒號(hào)隔開(kāi)的順序號(hào)來(lái)表示其順序6、什么是消息?消息在交互中扮演什么角色?答:對(duì)象之間某種形式的通信,可以激發(fā)某個(gè)操作、喚 起信號(hào)或?qū)е履繕?biāo)對(duì)象的創(chuàng)建或撤銷。兩個(gè)對(duì)象之間的單路通 信。7、交互圖中有哪幾種消息?它們之間具體有何分別?應(yīng)如何表示?答:簡(jiǎn)單消息:簡(jiǎn)單控制流;同步:嵌套控制流異步:異步控制流。 可以講一個(gè)簡(jiǎn)單消息和一個(gè)同步消息合并成一個(gè)消息。 對(duì)于消息的 這幾種控制流不知道怎么具體區(qū)分, 比如一個(gè)老師讓一個(gè)學(xué)生發(fā)言屬 于什么消息?簡(jiǎn)單控制流?簡(jiǎn)單消息:做完一件事再做另外一件事。 買(mǎi)票是同步;異步是不等結(jié)果的返回就去做另外一件事, 比如洗衣服, 洗衣機(jī)洗衣
15、服的時(shí)候可以去做飯。 乙方發(fā)送了一個(gè)消息后不必等待甲 方回應(yīng)。而同步必須是等到回應(yīng)后才能做另外一件事。8、假設(shè)有一系統(tǒng)得協(xié)作圖局部如圖所示,print方法的功能是將傳入的參數(shù)的值打印在屏幕上, fact 方法是計(jì)算階乘,如果test 的初值為 1,那么最終將打印出什么?(寫(xiě)出計(jì)算過(guò)程)1: prin t(test)2: *i=1.3 1.1: test二test+fact(test):A>:B分析與討論1、思考類與對(duì)象之間的關(guān)系是怎樣的?各舉幾個(gè)實(shí)例,說(shuō)明哪些 是類,哪些是對(duì)象。答:類有3個(gè)分欄:名稱屬性和操作。對(duì)象只有兩個(gè)分欄:名稱 和屬性。類的名稱分欄中只有類名。對(duì)象的名稱形式為“對(duì)
16、象名:類 名”匿名對(duì)象的名稱形式為“:類名”。類的屬性分欄定義了所有屬 性的特征。對(duì)象圖中不包含操作,因?yàn)閷?duì)于屬于同一個(gè)類的對(duì)象而言, 其操作是相同的。類使用關(guān)聯(lián)連接,關(guān)聯(lián)使用名稱、角色、多重性以 及約束等特征定義。類代表的是對(duì)對(duì)象的分類,所以必須說(shuō)明可以參 與關(guān)聯(lián)的對(duì)象的數(shù)目。對(duì)象使用鏈連接,鏈擁有名稱、角色,都是沒(méi) 有多重性。對(duì)象代表的是單獨(dú)的實(shí)體,所有的類都是一對(duì)一的,因此 不涉及到多重性。Country、Province 是類,而 china、fujian 禾口 sichuan 分別是這兩 個(gè)類中的對(duì)象2、思考在具體場(chǎng)景中應(yīng)該如何區(qū)分類與對(duì)象。答:從定義和圖形表示發(fā)區(qū)分。對(duì)象就是類的實(shí)
17、例,所以如果是抽像的不存在的就是類,而具體的存在的就是對(duì)象。3、討論并總結(jié)在建模過(guò)程中運(yùn)用交互圖的重要作用及意義。答:交互視圖描述了執(zhí)行系統(tǒng)功能的各個(gè)角色之間相互 傳遞消息的順序關(guān)系。類元是對(duì)在系統(tǒng)內(nèi)交互關(guān)系中起特定 作用的一個(gè)對(duì)象的描述,這使它區(qū)別于同類的其他對(duì)象。交 互視圖顯示了跨越多個(gè)對(duì)象的系統(tǒng)控制流程。 交互視圖可用 兩種圖來(lái)表示:順序圖和協(xié)作圖,它們各有不同的側(cè)重點(diǎn)順 序圖的一個(gè)用途是用來(lái)表示用例中的行為順序。 當(dāng)執(zhí)行一個(gè) 用例行為時(shí),順序圖中的每條消息對(duì)應(yīng)了一個(gè)類操作或狀態(tài) 機(jī)中引起轉(zhuǎn)換的觸發(fā)事件。協(xié)作圖的一個(gè)用途是表示一個(gè)類 操作的實(shí)現(xiàn)。協(xié)作圖可以說(shuō)明類操作中用到的參數(shù)和局部變
18、量以及操作中的永久鏈。當(dāng)實(shí)現(xiàn)一個(gè)行為時(shí),消息編號(hào)對(duì)應(yīng) 了程序中嵌套調(diào)用結(jié)構(gòu)和信號(hào)傳遞過(guò)程。實(shí)驗(yàn)三UML類圖實(shí)驗(yàn)?zāi)康暮鸵?、掌握類的定義,類的3要素,UML中類的表示方法。2、掌握類與類之間的各種關(guān)系代表的含義及表示方法。3、實(shí)體類,邊界類,控制類,關(guān)聯(lián)類的概念和表示方法。4、接口和抽象類的概念和表示方法。類的多重性關(guān)系。5、對(duì)一個(gè)類圖進(jìn)行相關(guān)的描述。實(shí)驗(yàn)內(nèi)容和步驟1、簡(jiǎn)述類的定義,以及類的三要素答:類是對(duì)一組具有相同屬性、操作、關(guān)系和語(yǔ)義事物的描述。類的 三要素是:類的名稱、屬性、操作。2、類的屬性和方法的可見(jiàn)性有哪些? UML中如何表示?答:類的屬性和方法的可見(jiàn)性有:公有public (符
19、號(hào)“ +”、私有private (符號(hào)“-”)和受保護(hù) protected (符號(hào)“ #”),3、已知三個(gè)類A.B和C.其中類A由類B的一個(gè)實(shí)類和類C的1個(gè) 或多個(gè)實(shí)類構(gòu)成.請(qǐng)畫(huà)出能夠正確表示類 A,B和C之間關(guān)系的 UML類圖.4、根據(jù)以下描述畫(huà)出類圖,并注明多重性關(guān)系:一個(gè)學(xué)生可以選修多門(mén)課程,也可能沒(méi)有任何課程;一門(mén)課程可以被多個(gè)學(xué)生選修; 一個(gè)老師可以教多門(mén)課程或者不教課; 每門(mén)課程至少有一個(gè)老師,也 可以有多個(gè)老師任教;每門(mén)課程可以有0或1本教材,每本教材只能 用于一門(mén)課程。課程.:15、現(xiàn)有一系統(tǒng)需要對(duì)商品進(jìn)行管理,包括添加,刪除商品,修改 商品信息三項(xiàng)功能,畫(huà)出系統(tǒng)類圖。(商品信
20、息包括商品編號(hào), 商品名稱,價(jià)格,生產(chǎn)廠商等)6、如果現(xiàn)在系統(tǒng)需求發(fā)生變化,需要能夠?qū)p壞商品進(jìn)行打折, 以及可以按照商品的顏色和外形進(jìn)行查詢,則系統(tǒng)類圖應(yīng)該如 何修改?7、根據(jù)下面的代碼畫(huà)出In voice類的類圖,要求標(biāo)明各屬性的類 型和可見(jiàn)性以及類方法。public class Inv oicepublic double amount;public Date date = new Date();public stri ng customer;public string specification;public stri ng adm ini strator = un specified”
21、; static private int nu mber_of_i nv oices()=0;public invoice ();nu mber_of_i nv oices+; 一一public void print () ” System.out.pri ntl n("Thenu mber of inv oices is”+intnu mber_of_i nv oices);string admnistrator = *unspeciiedh' double amountstring cdale 二 new Date()>int number_of_invoices(
22、) = 0string specitcat ioninvoice ( > (Jpublic void()8、下圖是一個(gè)倉(cāng)庫(kù)管理系統(tǒng)的類模型局部,其中IncomeOrder是指入庫(kù)單,Orderitem是指入庫(kù)中的每一項(xiàng),Product則是產(chǎn)品 信息。請(qǐng)指出模型中的錯(cuò)誤,說(shuō)明原因并改正類圖。答:Orderitem與IncomeOrder的關(guān)系并不是泛化關(guān)系,而應(yīng)該是包含關(guān)系。改正的類圖:分析與討論1、討論類圖在建模過(guò)程中的重要作用。答:類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu),它不僅定義系統(tǒng)中的類,描述類 之間的聯(lián)系,還包括類的內(nèi)部結(jié)構(gòu)。類圖描述的是一種靜態(tài)關(guān)系,在 系統(tǒng)的整個(gè)生命周期中都是有效的。 通
23、過(guò)分析用例和問(wèn)題域,就可以 得到相關(guān)的類,然后再把邏輯上相關(guān)的類封裝成包, 這樣可以很好的 體現(xiàn)系統(tǒng)的分層結(jié)構(gòu),是得系統(tǒng)層次關(guān)系一目了然。2、總結(jié)在設(shè)計(jì)繪制類圖的過(guò)程中應(yīng)注意哪些問(wèn)題。答:UML類圖(Class Diagram )是描述類、接口、協(xié)作以及它們之 間關(guān)系的圖,用來(lái)顯示系統(tǒng)中各個(gè)類的靜態(tài)結(jié)構(gòu)。UML類圖是定義其他圖的基礎(chǔ),在UML類圖基礎(chǔ)上,可以使用狀態(tài)圖、協(xié)作圖、組件圖 和配臵圖等進(jìn)一步描述系統(tǒng)其他方面的特性。實(shí)驗(yàn)四 包圖 實(shí)驗(yàn)?zāi)康暮鸵?1、掌握UML包的概念和作用。2、掌握包與包之間的各種依賴關(guān)系的區(qū)別。3、掌握建立包與包之間依賴關(guān)系的方法。4、掌握建立包圖過(guò)程中需遵循的原則
24、。 實(shí)驗(yàn)內(nèi)容和步驟 1、包屬于UML中的何種事物?有何作用?答:包是將多個(gè)元素組織為語(yǔ)義相關(guān)的組的通用機(jī)制。 對(duì)于復(fù)雜系統(tǒng) 進(jìn)行建模時(shí),經(jīng)常需要處理大量的類、接口、組件、節(jié)點(diǎn)和圖,這時(shí) 就有必要將這些元素進(jìn)行分類, 即把語(yǔ)義相近并傾向于同一變化的元 素組織起來(lái)加入同一個(gè)包中,以方便理解和處理整個(gè)模型。2、UML中包的表示方法有哪幾種?答: 包的繪制用一個(gè)小矩形和一個(gè)大矩形表示。3、包與包之間存在哪幾種關(guān)系?答:(1)引入和訪問(wèn)依賴, 用于在一個(gè)包中引入另一個(gè)包輸出的元素。( 2)泛化,用于說(shuō)明包的家族。4、包與包之間的依賴關(guān)系有何特點(diǎn)?答: 訪問(wèn)依賴,用于在一個(gè)包中引入另一個(gè)包輸入的元素。5、
25、如何避免包與包之間出現(xiàn)循環(huán)依賴關(guān)系?各舉一例。例如:A.dll中的類A引用到了 B.dll中的類B, B.dll中的類B又引用到了程序A.dll中的類A。如果存在這種情況,除非兩個(gè)程序集(.net 中 dll 就是一個(gè)程序集)均編譯通過(guò),否則一個(gè)程序集出現(xiàn)錯(cuò)誤就會(huì)導(dǎo)致另一個(gè)程序集也編譯不通過(guò),于是讓這個(gè)編譯錯(cuò)誤就會(huì)循環(huán)傳遞,使得編譯器告訴我們:兩個(gè)程序集不能編譯通過(guò)。(如圖1)圖1 AssemblyA與AssemblyB之間的依賴關(guān)系下面是解決方案來(lái)解除這種循環(huán)依賴關(guān)系:1將產(chǎn)生依賴的類型分離出來(lái),放到另一個(gè)新的程序集AssemblyC中去。2. 使用接口來(lái)解除循環(huán)依賴:這種方式的具體做法(如
26、圖2):2.1.從被依賴的類中,提取出一個(gè)接口放到新的程序集中(接口中 的成員是依賴類中所依賴的,當(dāng)然被依賴的類是實(shí)現(xiàn)了該接口的)。2.2依賴類去引用2.1中新建的程序集中的新接口。圖2使用接口解除兩個(gè)程序集的循環(huán)依賴關(guān)系6、建立包圖應(yīng)注意哪些問(wèn)題?答:1.包的命名要簡(jiǎn)單、具有描述性。2.應(yīng)用包是為了簡(jiǎn)化 3.包應(yīng) 該連貫。4.在包上用版型注明架構(gòu)層。5.避免包間的循環(huán)依賴。6. 包依賴應(yīng)該反映內(nèi)部關(guān)系7、根據(jù)下圖判斷下面哪句話正確的說(shuō)明了包之間的依賴關(guān)系。A) 對(duì)Packagel包中的元素做了修改后,需檢查Package2包中 的元素和Package3包中的元素是否要做相應(yīng)修改。B) 對(duì)Pa
27、ckagel包中的元素做了修改后,需檢查Package2包中 的元素是否需要做相應(yīng)修改,如果是,則需繼續(xù)檢查是否 Package3包中元素也要做相應(yīng)修改。C) 對(duì)Package3包中的元素做了修改后,需檢查Package2包中 的元素是否需要做相應(yīng)修改,如果是,則需繼續(xù)檢查是否 Packagel包中元素也要做相應(yīng)修改。D) 對(duì)Package3包中的元素做了修改后,需檢查Package2包中的元素和Packagel包中的元素是否要做相應(yīng)修改答:C8、下面包圖設(shè)計(jì)中是否存在問(wèn)題?應(yīng)如何改進(jìn)。答:存在問(wèn)題,出現(xiàn)了循環(huán)依賴關(guān)系,A7A圖中B不能即依賴C同時(shí)還依賴E。B修改后:分析與討論1、結(jié)合一個(gè)具體
28、例子,分析 UML建模過(guò)程中包圖所起的作用bussness objectpackage(f口e Uwe U日se Hi巳w)Ulpackage(from Use Case View)Utillity package(from Use Cas e View)Ul package (from Use Case View答:作用:1)對(duì)語(yǔ)義上相關(guān)的元素進(jìn)行分組;2)定義模型中的“語(yǔ)義邊界”;3)提供配臵管理單元;4)在設(shè)計(jì)時(shí),提供并行工作的單元;5)提供封裝的命名空間,其中所有名稱必須惟實(shí)驗(yàn)五 狀態(tài)圖 實(shí)驗(yàn)?zāi)康暮鸵?1、掌握狀態(tài)的定義和組成部分。2、掌握UML中狀態(tài)的表示方法。3、掌握轉(zhuǎn)換的定義及
29、轉(zhuǎn)換的5要素。4、了解觸發(fā)事件、監(jiān)護(hù)條件、動(dòng)作的定義。5、掌握閱讀和繪制狀態(tài)圖的方法。 實(shí)驗(yàn)內(nèi)容和步驟 1、什么叫做狀態(tài)?狀態(tài)由哪五個(gè)部分組成? 答:描述系統(tǒng)里靜態(tài)事物的動(dòng)態(tài)變化。狀態(tài)機(jī)由狀態(tài)、轉(zhuǎn)換、事件、 活動(dòng)和動(dòng)作 5 部分組成。狀態(tài)圖圖標(biāo)分 3 部分:名稱、內(nèi)部轉(zhuǎn)換和嵌 套狀態(tài)圖。2、什么是轉(zhuǎn)換? UML中轉(zhuǎn)換的5要素是什么?答:轉(zhuǎn)換表示當(dāng)一個(gè)特定事件發(fā)生或者某些條件得到滿足時(shí), 一個(gè)源 狀態(tài)下的對(duì)象在完成特定的動(dòng)作后將發(fā)生狀態(tài)轉(zhuǎn)變, 轉(zhuǎn)向另一個(gè)目標(biāo) 狀態(tài)的狀態(tài)。 5要素:源狀態(tài)、目標(biāo)狀態(tài)、觸發(fā)事件、監(jiān)護(hù)條件、動(dòng) 作。3、觸發(fā)事件是什么?可以具體分為哪些事件? 答:能夠引起狀態(tài)裝換的事件
30、。信號(hào)、調(diào)用和時(shí)間段。4、改變事件和監(jiān)護(hù)條件有何異同? 答:改變事件能引起動(dòng)作的執(zhí)行及狀態(tài)的改變, 改變監(jiān)護(hù)條件能觸發(fā) 轉(zhuǎn)換。5、什么叫做轉(zhuǎn)換?轉(zhuǎn)換可以分為哪幾種? 答:轉(zhuǎn)換表示當(dāng)一個(gè)特定事件發(fā)生或者某些條件得到滿足時(shí),一個(gè) 源狀態(tài)下的對(duì)象在完成特定的動(dòng)作后將發(fā)生狀態(tài)轉(zhuǎn)變, 轉(zhuǎn)向另一個(gè)目標(biāo)狀態(tài)的狀態(tài)。轉(zhuǎn)換分為:外部轉(zhuǎn)換、內(nèi)部轉(zhuǎn)換、完成轉(zhuǎn)換、復(fù)合轉(zhuǎn) 換。6、狀態(tài)和對(duì)象的關(guān)系是怎樣的?下面描述中哪些是對(duì)象,哪些是狀態(tài)?支票已付汽車(chē)停在那兒小王正在工作答:支票是對(duì)象,已付是狀態(tài);汽車(chē)是對(duì)象,停在那兒是狀態(tài); 小王是對(duì)象,正在工作是狀態(tài)。7、說(shuō)出下面狀態(tài)的狀態(tài)名和各種轉(zhuǎn)換、事件。Lighti ngen
31、 try / turn Ondo / bli nkFiveTimeseve ntPowerOf / powerSupplySelf exit / tur noffeve ntSelfTest / defer狀態(tài)名:Light ing轉(zhuǎn)換:eventSelfTest / defer事件:入口動(dòng)作entry / turn Ondo / blinkFivT(mes I:eve ntPowerOf / powerSupplySelf 出 口動(dòng)作 exit / turnoff水丿I /turnOff答:狀態(tài)開(kāi)始,狀態(tài)1關(guān)閉,事件1沒(méi)水,打開(kāi)放水,事件2燒水, 狀態(tài)2打開(kāi),事件3水開(kāi)了關(guān)閉,回到狀態(tài)1.分
32、支1燒水時(shí)燒壞了,狀態(tài)結(jié)束9、說(shuō)出下面狀態(tài)圖所表達(dá)的信息,并指出藍(lán)色部分代表的含義答;狀態(tài)開(kāi)始,狀態(tài)1注冊(cè)課程,狀態(tài)2課程評(píng)價(jià),嵌套狀態(tài)圖1: 開(kāi)始,狀態(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:開(kāi)始,狀態(tài)考試,事件1考試及格,事件2考試不及格,課程不 通過(guò),補(bǔ)考。3個(gè)嵌套狀態(tài)后,課程通過(guò)。10、根據(jù)下面狀態(tài)圖回答問(wèn)題。goToFloor (n)entry/ closeDoor do/ Dexit/ motor.stop()上圖是一個(gè)表示電梯系統(tǒng)的狀態(tài)圖,該系統(tǒng)中Controller類和Motor類的詳細(xì)定義如下圖所示
33、:根據(jù)類圖,完成上面狀態(tài)圖中 A,B,C,D,E,F處的內(nèi)容。答:A是 0,B是 timeout ,C是 goToFloor<2,D 是 Motor.moveDown(),E是 Motor.moveUp(),F 是 Motor.stop()11、某銷售POS機(jī)工作流程如下:當(dāng)客戶到收銀臺(tái)后,收銀員逐一 輸入用戶購(gòu)買(mǎi)的商品,然后計(jì)算總金額,等待用戶付款,確定支付成 功之后,完成收銀,等待下一個(gè)用戶。請(qǐng)為其畫(huà)出對(duì)應(yīng)的狀態(tài)圖。戶 卜收宅艮E逐一輛L兀 用廣購(gòu)女的商占占J等待)4告F隸M/_確走支忖' &完礦L也芒艮1分析與討論1、討論思考狀態(tài)圖在UML建模中可以起到什么樣的作用
34、。答;狀態(tài)圖一般用于對(duì)系統(tǒng)中的某些對(duì)象,比如類,用例和系統(tǒng)的行 為建模。它通過(guò)建立類對(duì)象的生存周期模型來(lái)描述對(duì)象隨時(shí)間變化的 動(dòng)態(tài)行為。2、思考什么樣的情況下適合引入狀態(tài)圖進(jìn)行建模。答:系統(tǒng)分析人員在對(duì)系統(tǒng)進(jìn)行建模時(shí), 最先考慮的是基于狀態(tài)之間 的控制流,因?yàn)橄到y(tǒng)對(duì)象中的狀態(tài)變化最易發(fā)現(xiàn)和理解。 這樣的情況 下引入狀態(tài)圖進(jìn)行建模比較好。實(shí)驗(yàn)六活動(dòng)圖實(shí)驗(yàn)?zāi)康暮鸵?、掌握活動(dòng)的概念以及表示方法。2、掌握活動(dòng)圖中個(gè)兀素表示的意義和表示方法。3、掌握分支、監(jiān)護(hù)條件、分岔、匯合和泳道的概念。4、掌握閱讀和繪制活動(dòng)圖的方法。實(shí)驗(yàn)內(nèi)容和步驟1、什么是活動(dòng)? UML中如何表示活動(dòng)?答:活動(dòng)是某件事情正在進(jìn)行
35、的狀態(tài)既可以是現(xiàn)實(shí)生活中正在進(jìn)行的 某一項(xiàng)工作,也可以是軟件系統(tǒng)某個(gè)類對(duì)象的一個(gè)操作。 活動(dòng)圖用圓 角橢圓表示。2、活動(dòng)圖中包括哪些元素?分別如何表示?答:分支與合并、分叉與匯合等模型元素。分支與合并用實(shí)線箭頭表 示,分叉與匯合用一條加粗的線段表示。圖形兀素表示方法動(dòng)作狀態(tài)平滑的圓角矩形活動(dòng)狀態(tài)平滑的圓角矩形動(dòng)作流帶箭頭的直線分支與合并空心小菱形分叉與匯合加粗的水平線泳道垂直實(shí)線,分隔的區(qū)域就是泳道對(duì)象流帶箭頭的虛線3、分岔和分支有什么區(qū)別,分別適用于什么樣的建模目標(biāo)?答;分叉可以用來(lái)描述并發(fā)線程,每一個(gè)分叉可以有一個(gè)輸入轉(zhuǎn)換和 兩個(gè)或多個(gè)輸出轉(zhuǎn)換,每一個(gè)轉(zhuǎn)換都可以是獨(dú)立的控制流。分支在軟 件
36、系統(tǒng)流程中很常見(jiàn),它一般用于表示對(duì)象類所具有的條件行為。4、活動(dòng)圖中監(jiān)護(hù)條件和改變時(shí)間分別有何作用??jī)烧唛g的區(qū)別是什么?答:控制活動(dòng)的處理過(guò)程,控制系統(tǒng)的行為。監(jiān)護(hù)條件是決定執(zhí)行與 否,改變時(shí)間是決定什么時(shí)候執(zhí)行。5、說(shuō)明下面活動(dòng)圖所表達(dá)的信息。-r r r廠供/常送貨、 I J廠修改耳單眄 xO浙仆訂單項(xiàng)c I 缶:Y闔工.訂敢完誠(chéng)答:用戶下訂單后系統(tǒng)生成送貨單,用戶選擇支付方式,判斷用戶是 否取消訂單或訂單超過(guò)時(shí)限,如果是,則取消訂單,如果否,則進(jìn)行 收款。之后供應(yīng)商送貨,修改訂單項(xiàng)狀態(tài),然后判斷是否所有訂單已 送貨完畢。如果是,那么訂單完成。6、 用活動(dòng)圖表示for (i=0 ; i&l
37、t;9;i+ )循環(huán)。Activity4o7、 對(duì)于如下圖所示的活動(dòng)圖,最大可能的并發(fā)線程數(shù)是幾個(gè)?Activity6答:五個(gè)分析與討論1、總結(jié)UML在軟件工程中的作用以及使用 UMI建模的必要性。答:UML是一種功能強(qiáng)大的,面向?qū)ο蟮目梢暬到y(tǒng)分析的建模語(yǔ)言它的各個(gè)模型可以幫助開(kāi)發(fā)人員更好地理解業(yè)務(wù)流程,建立更可靠,更完善的系統(tǒng)模型.從而使用戶和開(kāi)發(fā)人員對(duì)問(wèn)題的描述達(dá)到相同的ActivitylActivity3Activity2Activity5理解,以減少語(yǔ)義差異,保障分析的正確性建立模型可以幫助開(kāi)發(fā)者更好地了解正在開(kāi)發(fā)的系統(tǒng)。 便于開(kāi)發(fā)人員 展現(xiàn)系統(tǒng),提供指導(dǎo)開(kāi)發(fā)人員構(gòu)造系統(tǒng)的模板,記錄
38、開(kāi)發(fā)人員的決策。 每個(gè)項(xiàng)目可以從建模中受益。甚至在自由軟件領(lǐng)域,模型可以幫助開(kāi) 發(fā)小組更好地規(guī)劃系統(tǒng)設(shè)計(jì)更快地開(kāi)發(fā)。2、分小組討論利用“支付寶”進(jìn)行網(wǎng)上購(gòu)物的活動(dòng)過(guò)程,并畫(huà)出活動(dòng)圖,關(guān)于支付寶的相關(guān)說(shuō)明可以登錄看。答:挑選寶貝一確認(rèn)訂單-支付寶支付-支付成功3、針對(duì)前面的網(wǎng)上書(shū)店系統(tǒng),畫(huà)出用戶購(gòu)書(shū),商家發(fā)貨等過(guò)程的 活動(dòng)圖。實(shí)驗(yàn)七 時(shí)序圖與協(xié)作圖 實(shí)驗(yàn)?zāi)康暮鸵?1、掌握時(shí)序圖與協(xié)作圖的概念及作用。2、掌握UML中靜態(tài)圖形和動(dòng)態(tài)圖形的區(qū)別和聯(lián)系。3、掌握UML時(shí)序圖與協(xié)作圖的基本圖形,了解它們各自的組成元 素、特定作用和適用場(chǎng)合。4、重點(diǎn)掌握時(shí)序圖的畫(huà)法以及其中元素所代表的意義。 實(shí)驗(yàn)內(nèi)容和步
39、驟 1、UML中的時(shí)序圖與協(xié)作圖之間各有什么區(qū)別和聯(lián)系? 答:主要元素都是消息和類角色。相同點(diǎn):(1)規(guī)定責(zé)任( 2)支持消息( 3)衡量工具 區(qū)別:協(xié)作圖的重點(diǎn)是將對(duì)象的交互映射到它們之間的鏈上, 即協(xié)作 圖以對(duì)象圖的方式繪制各個(gè)參與對(duì)象,并且將消息和鏈平行放臵。 時(shí)序圖可以描述對(duì)象的創(chuàng)建和撤銷的情況。 而在協(xié)作圖中, 對(duì)象要么 存在要么不存在, 除了通過(guò)消息描述或約束, 沒(méi)有其他的方法可以表 示對(duì)象的創(chuàng)建或結(jié)束。 時(shí)序圖還可以表現(xiàn)對(duì)象的激活和去激活情況但 對(duì)于協(xié)作圖來(lái)說(shuō),由于沒(méi)有對(duì)時(shí)間的描述,除了對(duì)消息進(jìn)行解釋,它 無(wú)法清晰地表示對(duì)象的激活和去激活情況。2、在順序圖和協(xié)作圖中,應(yīng)如何表示“循環(huán)” ,“判斷”等結(jié)構(gòu)? 答:通過(guò)對(duì)象的鏈符號(hào),即一條連接兩個(gè)角色的實(shí)線路徑進(jìn)行循環(huán), 增加消息進(jìn)行判斷。3、什么是消息?消息在交互中扮演什么角色?答: 對(duì)象之間某種形式的通信,它可以激發(fā)某個(gè)操作、喚起信號(hào)或?qū)?致目標(biāo)對(duì)象的創(chuàng)建或撤銷。4、交互圖中有哪幾種消息?它們之間具體有何分別?應(yīng)如何表示?答:繪制兩個(gè)對(duì)象之間的異步消息、
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司職工餐廳用工合同范本
- 勞動(dòng)糾紛解除合同范本
- 公司聘用合同范本英語(yǔ)
- 出地轉(zhuǎn)讓合同范本
- 協(xié)會(huì)招商服務(wù)合同范本
- 醫(yī)院廢品合同范本
- 協(xié)議解除銷售合同范本
- 醫(yī)院融資合同范本
- 勞動(dòng)建筑合同范本
- 住宿方艙租賃合同范本
- JGJT10-2011 混凝土泵送技術(shù)規(guī)程
- 2023版設(shè)備管理體系標(biāo)準(zhǔn)
- 第7課互聯(lián)網(wǎng)應(yīng)用協(xié)議 課件 2023-2024學(xué)年浙教版(2023)初中信息技術(shù)七年級(jí)上冊(cè)
- 特殊問(wèn)題學(xué)生記錄表
- 踝關(guān)節(jié)骨性關(guān)節(jié)炎課件整理
- 中藥功效快快記憶法(完整版)
- 01S201室外消火栓安裝圖集
- 電機(jī)與電氣控制技術(shù)PPT完整全套教學(xué)課件
- 高處作業(yè)安全經(jīng)驗(yàn)分享
- 中國(guó)音樂(lè)學(xué)院音樂(lè)基礎(chǔ)知識(shí)(四級(jí))(基本樂(lè)科)備考試題庫(kù)(含答案)
- 裝飾材料復(fù)試清單
評(píng)論
0/150
提交評(píng)論