《UML面向?qū)ο蠼;A(chǔ)》課后答案_第1頁
《UML面向?qū)ο蠼;A(chǔ)》課后答案_第2頁
《UML面向?qū)ο蠼;A(chǔ)》課后答案_第3頁
《UML面向?qū)ο蠼;A(chǔ)》課后答案_第4頁
《UML面向?qū)ο蠼;A(chǔ)》課后答案_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章UML概述1.請指出UML的三個主要的特性。1)UML是一種語言2)UML是用來建模的3)UML是統(tǒng)一的標準2.請指出三種以上現(xiàn)實生活中的常用模型,并說明它們分別在各自的領(lǐng)域中發(fā)揮了什么樣的作用。1)電路圖:電子產(chǎn)品設(shè)計、生產(chǎn)、維修2)園區(qū)沙盤:直觀、立體化地展示園區(qū)的景觀、布局3)地圖:導航、指路等3.請簡要說明建模的意義和建模的原則。建議能夠幫助我們按照實際情況或按我們需要的樣式對系統(tǒng)進行可視化;提供一種詳細說明系統(tǒng)的結(jié)構(gòu)或行為的方法;給出一個指導系統(tǒng)構(gòu)造的模板;對我們所做出的決策進行文檔化在建模時應(yīng)遵循以下原則:選擇要創(chuàng)建什么模型對如何動手解決問題和如何形成解決方案有著意義深遠的影響;每一種模型可以在不同的精度級別上表示;最好的模型是與現(xiàn)實相聯(lián)系的;單個模型是不充分的。對每個重要的系統(tǒng)最好用一組幾乎獨立的模型去處理4.請說明藍圖和草圖的區(qū)別,并簡單描述其適用的場景。藍圖一般是指采用CASE工具繪制的、正式的、規(guī)范的UML模型;而草圖則通常是指手工繪制的、規(guī)范度較低的在紙張的UML模型。對于局部的、重要性不高的、共享范圍較小的UML模型,直接將草圖掃描到電腦存檔即可;對于全局的、重要性高的、高度共享的,在草圖的基礎(chǔ)上用CASE工具繪制成為正式的藍圖,并將其納入統(tǒng)一的模型管理中5.說明UML適用的建模領(lǐng)域,以及其作用和主要的參與人員。業(yè)務(wù)建模,用來加強對業(yè)務(wù)領(lǐng)域的了解,以領(lǐng)域?qū)<覟橹?,需求分析人員是主力,系統(tǒng)分析員、架構(gòu)師可參與。需求模型,用來加強需求了解,便于技術(shù)決策,以需求分析人員為主,系統(tǒng)分析員是主力,領(lǐng)域?qū)<姨峁┲笇В軜?gòu)師和資深開發(fā)人員參與。設(shè)計模型:包括高層設(shè)計模型和詳細設(shè)計模型。高層設(shè)計模型以架構(gòu)師為主,系統(tǒng)分析員從需求方面提供支持,資深開發(fā)人員從技術(shù)實現(xiàn)方面提供支持。詳細設(shè)計模型則以資深開發(fā)人員為主,架構(gòu)師提供指導。實現(xiàn)模型:架構(gòu)師、資深開發(fā)人員(設(shè)計人員);以資深開發(fā)人員(設(shè)計人員)為主,架構(gòu)師提供總體指導。數(shù)據(jù)庫模型:架構(gòu)師、數(shù)據(jù)庫開發(fā)人員、資深開發(fā)人員(設(shè)計人員);以數(shù)據(jù)庫開發(fā)人員為主,架構(gòu)師提供指導,資深開發(fā)人員(設(shè)計人員)予以配合。6.UML是一種方法論嗎?并簡要說明理由。UML不是方法論。它僅僅是一種描述模型的標準語言,雖然滲透了許多方法論的基礎(chǔ)概念,但是卻沒有在標準中給出完整的方法指南。7.請簡要說明UML和面向軟件開發(fā)之間的關(guān)系。UML和面向?qū)ο筌浖_發(fā)之間有很強的關(guān)聯(lián)關(guān)系,甚至可以說是面向?qū)ο筌浖_發(fā)催生了UML。但是由于在UML的標準化和發(fā)展過程,有機地吸納了業(yè)務(wù)建模、工作流建模、數(shù)據(jù)庫建模等領(lǐng)域的標準規(guī)范,形成了一個適用性很強的標準。8.請簡要闡述在軟件開發(fā)過程中使用UML的必要性以及好處。軟件開發(fā)是一個很復雜的工程,而采用統(tǒng)一的建模語言來對軟件進行描述能夠使客戶、涉眾、開發(fā)人員對軟件能夠有更好的共識,也能夠有效地降低復雜性。第2章UML世界的構(gòu)成1.UML是由哪三個部分組成的,請分別說明它們的作用?;緲?gòu)造塊:也就是建模元素,是模型的主體UML規(guī)則:也就是支配基本構(gòu)造塊如何放在一起的規(guī)則公共機制:運用于整個UML模型中的公共機制、擴展機制2.請列舉出三個以上UML中的事物構(gòu)造塊,并說明適合用來表示“系統(tǒng)向用戶提供的功能”的構(gòu)造塊是什么。結(jié)構(gòu)事務(wù)、行為事物、分組事物、注釋事務(wù)。適合用來表示“系統(tǒng)向用戶提供的功能”的構(gòu)造塊是用例。3.如果你想對一個類的意義進行描述,那么應(yīng)該采用?請簡要說明原因。A.標記值B.規(guī)格描述C.注釋D.構(gòu)造型C標記值是用來為事物添加新特性的;規(guī)格描述用來對構(gòu)造塊的語法和語義進行文字敘述,使得可視化視圖和文字視圖的分離;構(gòu)造型是用來增加新事物的。而對于類的意義進行簡單描述,最合適的顯然還是注釋。4.圖2-26所示的符號表示的是什么?它是關(guān)系構(gòu)造塊還是事物構(gòu)造塊?圖2-26示例符號擴展關(guān)系,是關(guān)系構(gòu)造塊。5.可以包含其它事物構(gòu)造塊的構(gòu)造塊是什么?它屬于什么類型的事物構(gòu)造塊?可以包含其它事物構(gòu)造塊的構(gòu)造塊是包,它屬于分組事物構(gòu)造塊。6.在UML中定義了哪幾種可見性規(guī)則?其中package的含義是什么?定義了public、private、protected、package,package是指只有聲明在同一個包中的元素才能夠看到該元素。7.規(guī)格描述是一種事物構(gòu)造塊嗎?如果不是,它是什么?它的作用是什么?規(guī)格描述不是事物構(gòu)造塊,它是UML四種公共機制之一,用來對構(gòu)造塊的語法和語義進行文字敘述,使得可視化視圖和文字視圖的分離。8.標記值的作用是什么?它的表示法和約束的表示法有什么異同?在UML模型中如何區(qū)分它們?標記值是用來為事物添加新特性的。約束的表示法和標記值法類似,都是使用花括號括起來的串來表示,不過它是不能夠放在元素中的,而是放在相關(guān)的元素附近。9.構(gòu)造型的作用是什么?如果我們采用一個自定義的圖標來表示它,那么可能遇到的主要問題是什么?構(gòu)造型用來定義一些特定于某個領(lǐng)域或某個系統(tǒng)的構(gòu)造塊。用自定義的圖標有兩個問題:一是容易產(chǎn)生歧義,二是建模工具難以支持。10.約束有兩種表示法,它們分別是什么?約束的內(nèi)容可以以自由形式的文本來表示,也可以使用UML的OCL(對象約束語言)來精確定義。11.UML2.0在UML1的基礎(chǔ)上新增了三種圖,請指出它們的名稱和作用。1)復合結(jié)構(gòu)圖:描述類的運行時刻的分解2)定時圖:描述對象之間的交互,重點在于定時3)交互概觀圖:是一種順序圖與活動圖的混合12.在UML2.0中定義了四種交互圖,其中強調(diào)對象調(diào)用順序的是什么圖?順序圖13.交互概觀圖是哪兩種圖的綜合。順序圖與活動圖14.請繪制出類、用例和協(xié)作的圖形符號。15.在RUP的“4+1”視圖中,這個1表示的是什么,它有什么作用。這個1是用例視圖。它是最基本的需求分析模型,是可被最終用戶看到的系統(tǒng)行為的用例組成。常用的模型包括用例圖、交互圖、狀態(tài)圖、活動圖等16.適用于模型管理的是哪張圖。包圖第3章UML概述1.繪制一個表示類的UML元素,并指出它主要包含哪三個部分。類名、屬性、操作2.在對類名、屬性/方法名時,通常會遵循什么樣的規(guī)則?請舉例說明。對于類名通常采用CamelCase格式(大寫字線開頭、混合大小寫,每個單詞以大寫開始,避免使用特殊符號),盡可能避免使用縮寫,例如OrderDetail。圖3-30ClassA表示屬性名也采用CamelCase格式,但為了與類名進行區(qū)別,通常首字母以小寫開頭,例如productId。操作名的命名格式與屬性名類似,不過通常是動詞詞組。3.假設(shè)類ClassB是ClassA的子類,其中ClassA的屬性和方法如圖3-30所示,則ClassB能夠訪問的有哪些?子類只有private的成員無法訪問,因此可以訪問的屬性有mem02和mem03,可以訪問的方法有op1。4.在圖3-31中,是一個倉庫管理系統(tǒng)的類模型局部,其中IncomeOrder是指入庫單,OrderItem是指入庫中的每一項,Product則是產(chǎn)品信息。請指出模型中的錯誤,說明原因并改正錯誤。圖3-31倉庫管理系統(tǒng)類模型局部根據(jù)題意和模型不難得知,一個入庫單是由多個入庫單項(OrderItem)組成的,因此不可能只涉及一個產(chǎn)品,合理的方式應(yīng)該是入每個入庫單項(OrderItem)與產(chǎn)品一對一關(guān)聯(lián)。即應(yīng)該繪制為:5.在圖3-32中是一個“涉稅服務(wù)管理效能管理系統(tǒng)”中類模型的一個局部,請根據(jù)該圖回答以下問題。圖3-32涉稅服務(wù)效能管理系統(tǒng)類模型局部在描述“稅務(wù)審批服務(wù)申請”時,它主要包含哪幾個方面的內(nèi)容?它有幾種不同的類別?受理資料、受理提示、受理告知、納稅人、流轉(zhuǎn)記錄。包括行政許可類申請、涉稅服務(wù)類申請和行政審批類申請三類。對于每一條流轉(zhuǎn)記錄,可能與幾個“稅務(wù)審批服務(wù)申請”相關(guān)?與幾個處理人相關(guān)?每條流轉(zhuǎn)記錄只和一個“稅務(wù)審批服務(wù)申請”相關(guān),只與一個處理人相關(guān)。6.在圖3-32中,對于每個流轉(zhuǎn)記錄的處理人它的類型(窗口人員、核查人員、審批人員)是唯一的,也就是只可能取一種值。請在圖中加上表示這種規(guī)則的約束。圖3-33修改后的模型局部7.后來,開發(fā)人員又在圖3-32的基礎(chǔ)上進行了一些修改,其中有一個局部修改成了如圖3-33的內(nèi)容。請說明這些新增加的元素分別表示什么含義。has是關(guān)聯(lián)名稱,表示這種關(guān)聯(lián)是“擁有”關(guān)系?!吧暾圛D”是限定符,表示每一個流轉(zhuǎn)記錄只能用一個“申請ID”。8.根據(jù)對象所表示的內(nèi)容不同,可以將對象分為哪兩大類?請分別舉出幾個例子。引用對象和值對象??蛻簟a(chǎn)品、訂單都是引用對象的例子,日期、重量、高度等對象都是典型的值對象。9.嵌套類的概念是什么意思?如果類Student包含類Score,請使用你學過的、支持嵌套類的面向?qū)ο缶幊陶Z言將其表示出來。將一個類的定義放在另一個類定義的內(nèi)部。publicclassStudent{privateclassScore{…}}10.請簡要解釋主動類的概念,并說明它建模的意義,并通過1-2個實例來說明,主動類可以用來表示哪些設(shè)計元素。主動類的實例稱為主動對象,一個主動對象擁有一個控制線程并且能夠發(fā)起控制活動;它不在別的線程、堆?;驙顟B(tài)機內(nèi)運行,具有獨立的控制期。從某種意義上說,它就是一個線程。例如Socket服務(wù)器的監(jiān)聽線程就可以表示為主動類。11.以使用OCL語言來表示以下含義:在類examinee(考生)中,字段result(成績)的值大于零,小于75分(滿分)。examinee:result>0andresult<75在類Order中,其包含的支付信息是用其它類來表示,要么是表示貨到付款的類AfterBill,要么是網(wǎng)上轉(zhuǎn)賬的類BeforeBill。AfterBillxorBeforBill12.請簡要說明類圖的應(yīng)用領(lǐng)域,并重點說明在軟件系統(tǒng)建模應(yīng)用時的三種模型的關(guān)鍵點及區(qū)別。類圖主要可以應(yīng)用于業(yè)務(wù)性模型、軟件系統(tǒng)模型和數(shù)據(jù)庫邏輯模型。類圖應(yīng)用于軟件系統(tǒng)模型時,主要是用來構(gòu)建領(lǐng)域模型、分析模型和設(shè)計模型:領(lǐng)域模型是從面向?qū)ο蟮囊暯强创F(xiàn)實世界的結(jié)果,也就是通過類圖來描述現(xiàn)實世界中各種事物的關(guān)系。因此在構(gòu)建這個模型時,最主要的工作是找出相關(guān)的類,然后明明類之間的關(guān)聯(lián)關(guān)系,必要時加入一些多重性描述和業(yè)務(wù)規(guī)則約束。分析模型和領(lǐng)域模型是很相近的,甚至可以說領(lǐng)域模型是一種全局的業(yè)務(wù)分析模型。而在RUP中,分析模型主要是針對軟件系統(tǒng)的分析,領(lǐng)域模型則更多是偏重對業(yè)務(wù)領(lǐng)域的分析。設(shè)計模型則是在分析模型的基礎(chǔ)上添加設(shè)計元素的結(jié)果。與分析模型相比,設(shè)計模型中的類的屬性集更趨完善;更重要的是,它將加入模板類、參數(shù)類、抽象類/接口等設(shè)計元素,以及框架類的使用、設(shè)計模式的使用等。總的來說,設(shè)計模型是一種詳細設(shè)計模型,將能夠直接對編程予以指導。13.圖3-34是小張繪制的一張關(guān)于網(wǎng)上商城用戶管理的領(lǐng)域類圖,但其中存在一些問題,請指出錯誤并說明理由。圖3-34網(wǎng)上商城用戶管理領(lǐng)域類圖局部作為領(lǐng)域類圖不應(yīng)該涉及到實現(xiàn)類,因此不應(yīng)該引入諸如System.Data.Oracleclient和ArrayList之類與程序?qū)崿F(xiàn)直接相關(guān)的類。14.在繪制類圖時,第一步就是發(fā)現(xiàn)類,最常用的方法是什么?請簡要說明它的使用方法。發(fā)現(xiàn)類的方法有很多種,其中最廣泛應(yīng)用的莫過于“名詞動詞法”,其主要規(guī)則是從名詞與名詞短語中提取對象與屬性;從動詞與動詞短語中提取操作與關(guān)聯(lián);而所有格短短語通常表明名詞應(yīng)該是屬性而不是對象。15.復合結(jié)構(gòu)圖主要包括哪兩個部件?如圖3-35所示的部件,其各部分表示什么?含義是什么?圖3-35復合結(jié)構(gòu)圖圖例(1)角色名(2)類型(3)多重性16.根據(jù)以下系統(tǒng)描述,繪制出最初的類模型。該系統(tǒng)為指紋門禁系統(tǒng),它包括四個主要部件:主機、鎖控器、指紋采集器和電控鎖。系統(tǒng)中的每個電控鎖都有一個惟一的編號。鎖的狀態(tài)有兩種:“已鎖住”和“未鎖住”。主機上可以設(shè)置每把鎖的安全級別以及用戶的開鎖權(quán)限。只有當用戶的開鎖權(quán)限大于或等于鎖的安全級別并且處于“已鎖住”狀態(tài)時,才能將鎖打開。用戶的指紋信息、開鎖權(quán)限以及鎖的安全級別都保存在主機的數(shù)據(jù)庫中。用戶開鎖時,只需按一下指紋采集器。指紋采集器將發(fā)送一個中斷事件給鎖控器,鎖控器從指紋采集器讀取用戶的指紋并將指紋信息發(fā)送到主機,主機根據(jù)數(shù)據(jù)庫中存儲的信息來判斷用戶是否具有開鎖權(quán)限,若有且鎖當前處于“已鎖住”狀態(tài),則將鎖打開;否則系統(tǒng)報警。第4章對象圖1.對象特性的三要素是什么,請通過一個實際的例子來說明三要素的內(nèi)容。對象特性的三要素是狀態(tài)、行為和標識。2.“書”、“購物車”、“我的UML參考手冊(第二版)”、“銀行卡”、“號碼為136********的手機卡”中,哪些是對象,哪些是類。光從這些名字是否一定可以確定為是對象?“我的UML參考手冊(第二版)”、“號碼為136********的手機卡”應(yīng)該是對象。3.在圖4-5中最上面的對象的名稱是什么?該圖表示的意思是什么?請繪制出與其相應(yīng)的類圖。圖4-5對象圖實例China。該圖的意思是福建、四川等省份組成中國。4.請說明對象圖的適用場景以及它的優(yōu)缺點。對象圖適用于論證類模型的設(shè)計以及對源代碼進行分析和說明。其優(yōu)點是能夠直觀理解出系統(tǒng)運行時的實時狀態(tài),缺點是比較復雜,工作量大。5.請你找一段源程序,并繪制出與其相應(yīng)的對象圖。第5章對象圖1.包在UML中屬于哪一類的構(gòu)造塊?它的主要作用是什么?屬于分組事物構(gòu)造塊。通過“包”就可以把類、用例、構(gòu)件等元素聚集在一起,構(gòu)成更高層的單位。這樣就可以將它們作為一個成組的元素來進行可視化。2.包之間的依賴關(guān)系主要包括哪幾種,請分別舉個例子說明?!秛se》:DAO程序使用System.Data.SqlClient包完成對SQL服務(wù)器的訪問《import》:頁面與被引用的用戶控件之間的關(guān)系《access》:兩個相互之間可以訪問的包《trace》:不同版本的包3.包之間的各種依賴關(guān)系中,客戶包將把提供者包并入自己的命名空間的是哪個?《import》關(guān)系4.假設(shè)有一個溫度監(jiān)控系統(tǒng),用戶在MonitorGUI(監(jiān)控界面)上輸入查詢指令,然后QueryState包的程序?qū)⑴c溫感探頭連接,獲取當前的狀態(tài)信息,并存入數(shù)據(jù)庫,再返回給用戶界面。根據(jù)這一描述,小張繪制了如圖5-9所示的包圖。你認為其中存在什么問題,請試著修改?圖5-9溫度監(jiān)控系統(tǒng)包圖的局部在包圖中應(yīng)該避免出現(xiàn)這種循環(huán)依賴的情況??梢孕薷臑椋?.請解釋體系結(jié)構(gòu)建模和對成組元素建模有什么區(qū)別,并試著給一個你開發(fā)過的系統(tǒng)繪制表示其體系結(jié)構(gòu)的包圖。對體系結(jié)構(gòu)建模關(guān)鍵在于描述出系統(tǒng)采用的體系結(jié)構(gòu)模式;而對成組元素建模,主要是將建模元素組織成能作為一個集合進行命名和處理的分組。第6章用例圖1.請列舉出兩種以上現(xiàn)代需求分析技術(shù),并簡要地說明它們的特點。用例:描繪一個系統(tǒng)外在可見的需求情況,是代表系統(tǒng)中各個項目相關(guān)人員(風險承擔人,Stakeholder)之間就系統(tǒng)的行為所達成的契約用戶故事:由客戶參與編寫,說明他們需要系統(tǒng)為他們做什么,一般用客戶的術(shù)語編寫,其長度約為三句話左右特性:就是一個小的,具有客戶價值的功能2.在用例圖中參與者是什么,它屬于系統(tǒng)范圍之內(nèi)嗎?參與者是為了完成一個事件而與系統(tǒng)交互的實體,它不屬于系統(tǒng)范圍之內(nèi)。3.用例和使用場景之間是什么關(guān)系?與協(xié)作又是什么關(guān)系?用例是由一組用例實例組成的,用例實例也就是常說的“使用場景”,而協(xié)作是用例的實現(xiàn)。4.用例之間的擴展、泛化、包含三種關(guān)系有什么異同,請分別舉例說明。擴展關(guān)系:基用例是可以獨立于擴展用例存在的,只是在特定的條件下,它的行為可以被另一個用例的行為所擴展包含關(guān)系:被包含的用例(此例中的檢查座位詳情)不是孤立存在的,它僅作為某些包含它的更大的基用例(此例中的預訂座位、安排座位)的一部分出現(xiàn)泛化關(guān)系:用來表示參與者與參與者之間,用例與用例之間的特殊/一般化關(guān)系5.一個用例的描述,最基本的部分有哪些。用戶描述、用例名稱、用例概述、主參與者、基本事件流6.對于一個電子商務(wù)網(wǎng)站而言,以下哪些不是合適的用例,指出并說明理由。輸入支付信息用戶登錄將商品放入購物車結(jié)賬預訂商品郵寄商品查看商品詳情輸入支付信息:太小郵件商品:系統(tǒng)功能之外查看商品詳情:太小7.用例分析技術(shù)和結(jié)構(gòu)化分析相比,最大的區(qū)別是什么?請簡要地說明它們之間的關(guān)系。用例分析技術(shù)最大的特點是從用戶的角度來分析、組織需求。而結(jié)構(gòu)化分析更多是從系統(tǒng)的結(jié)構(gòu)上進行分析。8.為了滿足物業(yè)中介行業(yè)的信息化要求,甲公司基于詳盡的需求調(diào)研與分析,準備研發(fā)一套符合市場需要的、實用的信息管理系統(tǒng)。主要將實現(xiàn)客戶資料信息管理、客戶委托(出租、出售、租賃、購買)信息管理、業(yè)務(wù)線索生成與管理、房源狀態(tài)自動更新、權(quán)限管理、到期用戶管理、房源組合查詢等功能。該公司小王,通過多次的與潛在客戶的交流與溝通,完成了最初的用例模型的開發(fā),圖6-14是一個用例模型的局部:圖6-14物業(yè)管理系統(tǒng)用例模型局部(1)但小李認為該模型不符合“用例建?!钡乃枷?,存在明顯的錯誤。請用200字以內(nèi)說明錯誤所在,并說明應(yīng)該如何修改。1)主要錯誤:用例的分解太細,并沒有遵從每個用例為用戶傳遞一個有價值的結(jié)果的原則。在原設(shè)計中“打開房源信息頁面”、“錄入房源信息”、“確認提交信息”都只是一個操作步驟,因此不適合作為用例。2)修改方法:將“打開房源信息頁面”、“錄入房源信息”、“確認提交信息”合并為“新增房源信息”。(2)在上圖中構(gòu)造型“《include》”表示的是什么意思,它與“《extent》”之間的區(qū)別是什么?在用例模型中,構(gòu)造型“《include》”是用來表示包含關(guān)系。它通常用來表示被包含用例是被多包含用例使用的一個可復用模塊,而《extent》且通常用來表示對用例的擴展。9.請為圖6-4中的用例“預訂座位”(以及它包含的用例“檢查座位信息”和擴展用例“處理等候隊列”)編寫用例描述,10.說明用例模型是如何轉(zhuǎn)變成設(shè)計模型的,試著結(jié)合自己的開發(fā)實踐來說明。第7章交互圖1.交互是什么?請舉2-3個交互的實際例子。一次交互就是指在特定語境中,為了實現(xiàn)某一個目標,而在一組對象之間進行交換的一組消息所表示的行為。輸入用戶名、發(fā)送短信2.在UML2.0中定義了哪四種交互圖?其中強調(diào)控制流時間順序的是哪一種交互圖?哪兩種是基本交互圖?順序圖、通信圖、定時圖、交互概述圖強調(diào)控制流時間順序的是順序圖順序圖和通信圖是兩種基本交互圖3.在順序圖中和在通信圖中,分別應(yīng)該如何表示“循環(huán)”結(jié)構(gòu)的?在順序圖中,循環(huán)結(jié)構(gòu)可以使用一個交互片斷來表示在通信圖中,使用迭代標記來表示循環(huán)。迭代是通過在順序編號前加上一個迭代符“*”和一個可選的迭代表達式來表示的。對于迭代表達式,UML沒有強制規(guī)定什么語法,因此你可以使用任何可讀的、有意義的表達式來表示4.在交互圖中,消息編號有哪兩種形式?請分別說明它們的優(yōu)缺點。一種是無層次編號,它簡單直觀;另一種是嵌套的編號,它更易于表示消息的包含關(guān)系。5.在交互圖中,表示返回消息的符號是什么?表示異步消息符號是什么,異步消息指的是什么意思?返回消息符號:異步消息:異步模式:對象A發(fā)送了一個信號給對象B,那么A在發(fā)送完信號之后,就會繼續(xù)執(zhí)行,不會等待6.假設(shè)有一系統(tǒng)的協(xié)作圖局部如圖7-29所示,print方法的功能是將傳入?yún)?shù)的值打印在屏幕上;fact方法是用來計算階乘的,test的初值為1。那么將打印出什么?圖7-29協(xié)作圖局部打印的值是9。將執(zhí)行三次迭代,因此test的值是1!+2!+3!=9.7.根據(jù)以下Java源程序繪制出相應(yīng)的順序圖:publicclassPayroll{privatePayrollDBitsPayrollDB;privatePayrollDispositionitsDisposition;publicvoiddoPayroll(){ListemployeeList=itsPayrollDB.getEmployeeList();for(Iteratoriterator=employeeList.iterator();iterator.hasNext();){Stringid=(String)iterator.next();Employeee=itsPayrollDB.getEmployee(id);if(e.isPayDay()){doublepay=e.calculatePay();doubledeductions=e.calculateDeductions();itsDisposition.sendPayment(pay-deductions);}}8.根據(jù)以下Java源程序繪制出相應(yīng)的順序圖和通信圖:publicclassSale{privateList<SalesLineItem>lineItems=newArrayList<SalesLineItem>();publicMoneygetTotal(){Moneytotal=newMoney();Moneysubtotal=null;for(SalesLineItemlineItem:lineItems){Subtotal=lineItem.getSubtotal();total.add(subtotal);}returntotal;}}9.請說明圖7-30所示的協(xié)作圖的含義:圖7-30順序圖示例10.定時圖的作用是什么?請簡單說說它和順序圖的區(qū)別。11.有一個咖啡壺,它是由抽水泵和加熱板所組成的。它的規(guī)則是,在抽水泵打開和加熱板打開之間必須至少隔10秒鐘。當儲水容器變空時,抽水泵就要關(guān)閉,而回熱板繼續(xù)保持加熱,但不能夠超過15分鐘。請使用定時圖來表示這一規(guī)則。12.圖7-31是一個電梯控制系統(tǒng)的通信圖,其中Elevator表示電梯,Queue表示指令隊列,Order表示指令,ElevatorControl是電梯控制器,Button是電梯上的按鈕。請簡解釋該協(xié)作圖的含義:圖7-31通信圖示例第8章活動圖1.活動圖和順序圖之間有什么區(qū)別?它們的特點是什么,請結(jié)合實際的建模需要簡要說明。2.“在活動圖中,可以根據(jù)自己的需要,有多個初始節(jié)點和活動終點”,這一描述是否正確,請說明原因以及它們各自的圖形表示法。3.分岔和分支有什么區(qū)別,分別適用于什么樣的建模目標?4.在活動圖中,監(jiān)護條件有什么用?請舉例說明。5.如果我們想在活動圖中,表示出一個如下所示的for循環(huán),該如何做?請用活動圖來表示:for(i=0;i<9;i++)假設(shè),要表示的是對某個集合對象進行遍歷訪問,那么又應(yīng)該怎么做?6.在圖8-19中,(a)和(b)中那條“粗線段”表示的是分岔還是匯合,是否存在什么錯誤?圖8-19分岔與匯合7.在活動圖中泳道要怎么表示,在需要表示什么信息時,需要用到它?8.如果要表示出某個活動節(jié)點的輸入?yún)?shù)和輸出參數(shù),那么應(yīng)該如何做?如果還要表示異常的輸出信息,則應(yīng)該如何做?假設(shè)有一個活動節(jié)點,其功能是求最大值,要求傳入兩個實數(shù),返回較大的那個,如果輸入的不是實數(shù),則拋出異常。請用活動圖來表示它。9.在圖8-20中,有一個表示某公司銷售過程的一張活動圖,請閱讀并說明該圖所表示的含義。圖8-20簡單活動圖10.假設(shè)訂單的接收與關(guān)閉是由銷售人員負責,開票收款是由財務(wù)人員負責,準備貨物是由倉管負責。請將其修改成為帶泳道的活動圖,以體現(xiàn)這種分工。11.假設(shè),我們希望在活動圖中體現(xiàn)出:倉管人員是根據(jù)“訂單”來準備貨物的,因此銷售人員在收到訂單后,必須將訂單傳給倉管人員。應(yīng)該采用什么機制?請直接修改活動圖。12.在公司運轉(zhuǎn)一段時間后,財務(wù)人員對該流程提出了置疑,反應(yīng)說收款工作經(jīng)常滯后,客戶總是在收到貨物后的很長時間才付款。因此必須加以改進。請根據(jù)圖8-20和問題提出一個合理的修改意見,并用活動圖表示出來。另外,請保持問題11所做的修改,并對新流程做出相應(yīng)的體現(xiàn)。13.隨著該公司的客戶量的增長,客戶的涉及面也變得越來越廣,在發(fā)貨時不僅有包裹、EMS,還有空運、集裝箱等不同的手段。但如果直接在圖8-20中做修改,就會降低圖的可讀性,這時可以采用什么樣的建模手段。14.隨著訂單的增大,有時對一個訂單,可能需要進行多次發(fā)貨,這種業(yè)務(wù)邏輯應(yīng)該如何用活動圖建模。請用一個活動圖來表述。15.活動圖主要的應(yīng)用場景可以分為哪兩類,請簡要說明它們的區(qū)別,并舉一些實際的案例來說明。第9章交互概述圖1.交互概述圖有哪兩種形式,它們分別適用于什么場景?相對而言,哪一種會更加常用一些?一是活動圖的變體,它將活動節(jié)點進行細化,用一些小的順序圖來表示活動節(jié)點內(nèi)部的對象控制流;二是順序圖的變體,它用活動圖來補充順序圖。但相對而言后者是十分不常見的,因此UML的定義更傾向于將其稱為活動圖的變體。2.在交互概述圖中,嫁接在活動圖上的順序圖片斷是用什么方法來表示的?交互片斷3.請簡要說明交互概述圖在建模時的優(yōu)點和缺點。優(yōu)點:充分結(jié)合交互圖和活動圖的長處,在表達了對象到對象的控制流的同時,充分展示了從活動到活動的控制流。缺點:對于規(guī)模稍大的場景,它并不是一個很好的選擇,它將使模型的可讀性大大降低4.請簡要描述交互概述圖的繪制方法。理解活動控制流,并用活動圖表示出來;分析活動節(jié)點:用交互圖表述細節(jié)。5.請對ATM機的取款過程,制作一張交互概述圖。第10章狀態(tài)圖1.什么是狀態(tài),對象的狀態(tài)和對象的屬性有什么區(qū)別?2.在狀態(tài)機圖中,狀態(tài)由哪五個部分組成?3.圖10-17是一個某系統(tǒng)關(guān)于用戶管理的狀態(tài)機圖,請閱讀該圖并說明其含義。圖10-17用戶管理狀態(tài)機圖4.在圖10-17中,所涉及的所有轉(zhuǎn)換都屬于什么類型?在UML狀態(tài)機圖中共提供了哪幾種轉(zhuǎn)換類型。5.在轉(zhuǎn)換上標識的文字稱為什么?它由哪幾個部分組成?其中事件分為哪幾類,請分別以一個例子來說明。6.如果要在圖10-17的基礎(chǔ)上表達下述業(yè)務(wù)邏輯,應(yīng)該對這張狀態(tài)機圖做哪些修改:1)當用戶刪除后,還要自動完成該用戶數(shù)據(jù)的備份,并從系統(tǒng)中清除,假設(shè)我們可以調(diào)用deleteAllData(username)方法來實現(xiàn)。2)假設(shè)用戶在“已激活”狀態(tài),可以響應(yīng)“備份”命令,并調(diào)用backData()方法來完成。3)假設(shè)用戶在進入“已禁用”狀態(tài),將調(diào)用lockData()方法將其所屬的信息設(shè)置為禁止訪問,而將其解禁后,則調(diào)用unlockData()方法將其恢復。7.在狀態(tài)機圖中,自身轉(zhuǎn)換和內(nèi)部轉(zhuǎn)換的區(qū)別是什么?請舉例說明。8.復合狀態(tài)可以分為哪兩種類型,在圖形表示時它們的主要區(qū)別是什么。9.假設(shè)我們要將圖10-17中狀態(tài)“用戶已禁用”和“用戶已激活”合并為“用戶生效”狀態(tài),這時使用的是哪種類型的復合狀態(tài)?請用嵌套的復合狀態(tài)繪制出新的狀態(tài)機圖。10.在圖10-18所示的狀態(tài)機圖中,描述了學習駕照的過程。在該圖采用的復合狀態(tài)是什么類型?請說明該圖所表示的含義。圖10-18學習駕照過程狀態(tài)機圖11.在圖10-18中,什么時候才能夠從復合狀態(tài)“學習”轉(zhuǎn)換到“獲得駕照”中。12.在狀態(tài)“理論考試”和“駕駛考試”與其相應(yīng)的終態(tài)連接的線上,應(yīng)該有什么樣的描述?13.如果要表示必須在“理論考試”通過之后,才能夠安排“教練專人指導”,那么應(yīng)該如何建模。14.閱讀圖10-19所示的狀態(tài)機圖,并說明其含義。圖10-19頁面跳轉(zhuǎn)狀態(tài)機圖15.在圖10-19中符號“”表示的含義是什么?那么符號“”又表示什么?請簡要說明它們的區(qū)別。16.繪制狀態(tài)機圖的常用的步驟是什么?請簡要說明。17.某銷售POS機,它的工作流程是:當客戶到收銀臺后,收銀員逐一輸入用戶購買的商品,輸入完之后,計算出總金額,然后等待用戶付款,確定支付成功之后,完成收銀,等待下一個客戶。請為其繪制出相應(yīng)的狀態(tài)機圖。18.狀態(tài)機圖適用于什么場景。請分別舉例說明。第11章構(gòu)件圖1.請簡要說明構(gòu)件的五要素,并舉一個例子來說明。2.請闡述類與構(gòu)件之間的主要異同點,并指出在UML中構(gòu)件主要包括哪三種。3.構(gòu)件相關(guān)的接口有哪兩種類型?它們的圖示法分別是什么樣的?從關(guān)聯(lián)關(guān)系的角度來看,構(gòu)件與這兩種類型的接口之間是什么關(guān)系?4.在一張基本構(gòu)件圖中,構(gòu)件之間最常見的關(guān)系是什么?5.圖11-10是對callcenter.exe的結(jié)構(gòu)進行建模的結(jié)果,請說明該圖所表示的含義。圖11-10基本構(gòu)件圖6.請閱讀圖11-11所示的構(gòu)件圖,說明它表述的含義。圖11-11嵌套構(gòu)件圖7.請簡要說明嵌套構(gòu)件圖的繪制過程。8.請簡要說明構(gòu)件圖適用于哪些建模需求。第12章部署圖1.什么是節(jié)點,處理器和設(shè)備這兩種節(jié)點有什么區(qū)別?2.節(jié)點包含的元素主要是什么?請展開說明。3.請簡要說明部署圖的閱讀步驟。4.請閱讀圖12-7所示的部署圖,說明其所表示的含義:圖12-7示例部署圖5.請簡要說明部署圖繪制的兩個階段的主要任務(wù)。6.用部署圖來對嵌入式系統(tǒng)進行建模的最大好處是什么?在建模時,應(yīng)該遵循哪些要點?第13章需求建模基礎(chǔ)與實例1.需求有三個層次,請分別舉例說明。2.對于一個軟件系統(tǒng)而言,我們說需求可以分為三類,請指出這三類,并分別舉例說明。3.需求開發(fā)主要包括哪些關(guān)鍵活動,請按順序指出,并說明各自的主要任務(wù)。4.需求管理活動主要包括哪些?請分別說明其主要任務(wù)。5.閱讀以下描述,找出所有不正確的說法,并說明理由。(1)用例分析技術(shù)是一種需求捕獲最佳實踐。(2)設(shè)計約束不屬于需求階段考慮的內(nèi)容,它是設(shè)計階段要捕獲的信息。(3)用戶訪談的優(yōu)點是不夠深入、信息易失真。(4)如果要對數(shù)據(jù)流細節(jié)進行研究,應(yīng)該采用現(xiàn)場觀摩法。(5)需求基線一旦確立,在基線內(nèi)包含的內(nèi)容開發(fā)完之前,開發(fā)工作不響應(yīng)變更。(6)在需求調(diào)查之前,需要明確2W1H,其中1H指的是“How(如何實現(xiàn))”。(7)需求是由用戶需求、功能需求、非功能需求三個部分組成的。(8)業(yè)務(wù)需求是軟

溫馨提示

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

評論

0/150

提交評論