《軟件體系結(jié)構(gòu)》實驗指導(dǎo)書解讀
《《軟件體系結(jié)構(gòu)》實驗指導(dǎo)書解讀》由會員分享,可在線閱讀,更多相關(guān)《《軟件體系結(jié)構(gòu)》實驗指導(dǎo)書解讀(55頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、前言 軟件體系結(jié)構(gòu)課程是計算機科學(xué)與技術(shù)本科專業(yè)的一門重要的專業(yè)課.通過本課程的學(xué)習(xí),使學(xué)生在已有的計算機軟硬件基礎(chǔ)知識、程序設(shè)計知識、數(shù)據(jù)庫和網(wǎng)絡(luò)通信知識的基礎(chǔ)上系統(tǒng)掌握面向?qū)ο笙到y(tǒng)分析與設(shè)計的基本方法和技術(shù),并具有針對特定環(huán)境下的應(yīng)用問題進行信息系統(tǒng)開發(fā)(包括系統(tǒng)分析,設(shè)計與實現(xiàn))的能力。通過學(xué)習(xí)本課程學(xué)生可以理解和掌握軟件體系結(jié)構(gòu)的分析和設(shè)計方法,掌握面向?qū)ο笙到y(tǒng)分析和設(shè)計的建模標準UML語言,能夠利用Rational Rose(或Microsoft Viso)軟件以某一信息系統(tǒng)為例進行系統(tǒng)分析和設(shè)計。 本課程主要介紹系統(tǒng)原理的基本概念、系統(tǒng)開發(fā)過程RUP、對面向?qū)ο蠓治龊兔嫦?/p>
2、對象設(shè)計的方法、對面向?qū)ο蠓治龊驮O(shè)計的建模標準UML等內(nèi)容。 通過本課程的學(xué)習(xí),學(xué)生掌握的知識、內(nèi)容及掌握的程度要求為: 1. 使學(xué)生理解面向?qū)ο蟮男畔⑾到y(tǒng)的開發(fā)過程、系統(tǒng)分析和設(shè)計的原則和方法; 2. 使學(xué)生掌握UML語言的基礎(chǔ)知識,以及UML在面向?qū)ο蟮能浖到y(tǒng)分析和設(shè)計中的應(yīng)用,并能使用UML工具建立系統(tǒng)模型; 3. 使學(xué)生掌握在UML系統(tǒng)模型下應(yīng)用高級語言建立應(yīng)用系統(tǒng)的方法; 4. 通過案例教學(xué)和實驗,提高學(xué)生在應(yīng)用面向?qū)ο蠹夹g(shù)開發(fā)軟件方面的動手能力和解決問題的能力,并鼓勵創(chuàng)新。 本實驗所要求的建模工具為Rational Rose 2003。
3、 目 錄 實驗一 用例圖及進度安排 5 實驗二 活動圖 10 實驗三 狀態(tài)圖 18 實驗四 類 24 實驗五 類的關(guān)系 31 實驗六 交互圖 35 實驗七 對象圖和包 43 實驗八 組件圖和配置圖 45 實驗九 正向工程 52 實驗一 用例圖及進度安排 一、實驗?zāi)康? 1.熟悉用例圖的基本功能和使用方法。 2.掌握如何使用建模工具繪制用例圖方法。 3.學(xué)習(xí)使用Microsoft Project對題目進行進度安排。 二、實驗器材 1.計算機一臺。 2.Rational Rose 工具軟件。 三、實驗內(nèi)容 根據(jù)實例,如“圖書館管理系統(tǒng)
4、”開發(fā)進度,在完成對系統(tǒng)的需求建模,得到用例模型后,應(yīng)針對每個用例進行業(yè)務(wù)分析,說明其具體的業(yè)務(wù)流程,現(xiàn)系統(tǒng)分析部指派您完成該項任務(wù)。要求: 對其中主要功能的用例書寫書面用例。 四、實驗步驟 書寫“刪除讀者信息”用例的書面用例。一般應(yīng)包含以下信息: (1)管理員在錄入界面,輸入待刪除的讀者名; (2)“業(yè)務(wù)邏輯”組件在數(shù)據(jù)庫中,查找待刪除的讀者名; (3)如果不存在,則顯示出錯信息,返回步驟(1),如果存在則繼續(xù); (4)“業(yè)務(wù)邏輯”組件判斷“待刪除的讀者”是否可以刪除; (5)如果不可以,則顯示出錯信息,返回步驟(8),如果可以則繼續(xù); (6)在數(shù)據(jù)庫中,刪除相關(guān)信息;
5、(7)顯示刪除成功信息; (8)結(jié)束。 分析: 在圖書管理系統(tǒng)中,管理員首先登錄系統(tǒng),系統(tǒng)驗證通過后,管理方可向系統(tǒng)查詢數(shù)據(jù),在查詢后,系統(tǒng)會給出提示,有沒有找到相關(guān)的數(shù)據(jù),管理員根據(jù)系統(tǒng)查詢的返回結(jié)果,進行下一步的操作,就是刪除讀者,在刪除的過程中,系統(tǒng)會對查詢得到的結(jié)果判斷該記錄是否可以刪除,若可以刪除,則給刪除提示,若不能刪除,也給相關(guān)的提示信息。 繪圖步驟: (1)在用例圖上雙擊main,出現(xiàn)如圖1.1所示,為繪制用例圖做好準備。 圖1.1 (2)在圖中的工具欄選取Actor圖標,在右邊的圖中添加一個Actor,并輸入名稱:administrator,如圖1.2所
6、示。 (3)在左邊的工具欄中,選取用例的圖標,在右邊的圖中畫出一個用例,并輸入用例的名稱:login 。 圖1.2 (4)按照步驟(3),繪制出如圖1.4和圖1.5的兩個用例。 圖1.3 圖1.4 圖1.5 (5)在繪出了用例后,接下來的是繪制參與者與用例實現(xiàn),如圖1.6所示。 圖1.6 (6)根據(jù)步驟(5),同時完成如圖1.7和圖1.8。此
7、時,刪除讀者用例圖就到此完成。其系統(tǒng)查詢讀者信息等其他的功能會在時序圖和活動圖中描繪。 (7)根據(jù)分析情況,進一步添加或細化用例圖。 圖1.7 圖1.8 五、實驗報告要求 1. 整理實驗結(jié)果。 2. 小結(jié)實驗心得體會。 實驗二 活動圖 一、實驗?zāi)康? 1.熟悉活動圖的基本功能和使用方法。 2.掌握如何使用建模工具繪制活動圖方法。 二、實驗器材 1.計算機一臺。 2.Rational Rose 工具軟件。 三、實驗內(nèi)容 根據(jù)實例,如“圖書館管理系統(tǒng)”開發(fā)進度,在完成對系統(tǒng)的需求建模,得到用例模型后,應(yīng)針對每個用例進行業(yè)務(wù)分析
8、,說明其具體的業(yè)務(wù)流程,現(xiàn)系統(tǒng)分析部指派您完成該項任務(wù)。要求: 用活動圖來描述系統(tǒng)中已知用例的業(yè)務(wù)過程: 1.描述刪除讀者用例。 四、實驗步驟 繪制“刪除讀者信息”用例的活動圖。刪除讀者信息一般按照以下步驟進行: (1)管理員在錄入界面,輸入待刪除的讀者名; (2)“業(yè)務(wù)邏輯”組件在數(shù)據(jù)庫中,查找待刪除的讀者名; (3)如果不存在,則顯示出錯信息,返回步驟(1),如果存在則繼續(xù); (4)“業(yè)務(wù)邏輯”組件判斷“待刪除的讀者”是否可以刪除; (5)如果不可以,則顯示出錯信息,返回步驟(8),如果可以則繼續(xù); (6)在數(shù)據(jù)庫中,刪除相關(guān)信息; (7)顯示刪除成功信息; (8)
9、結(jié)束。 繪圖步驟: (1)在用例圖中,找到刪除的用例,如圖2.1所示,在刪除用例上單擊右鍵,在彈出的快捷菜單中選“New”,Rose工具也會彈出一個菜單,選”Activity Diagram”,選中后單擊,便可以新建好一個活動圖。如圖2.2所示。 圖 2.1 圖2.2 (2)新建好活動圖后,雙擊刪除的活動圖,得到如圖2.3所示,然后把在左邊的工具欄內(nèi)點擊“Swinlane“,在右邊的圖添加一個泳道,如圖2.4所示,并命名為administrator.按照此步驟,再添加另一個泳道,并命名為SystemTool,得到圖2.5。 圖2.3 (3)接著在左邊的工具上選取開始點
10、,并在administrator的泳道上添加,如圖2.6所示;添加完開始結(jié)點后,再來為此活動圖添加活動,圖2.7所示,在左邊的工具欄上選中Activity這個圖標,在administrator這邊的泳道上添加一個活動,命名為登錄(login),再在開始結(jié)點和活動登錄(login)之間添加活動關(guān)系,如圖2.8所示。 圖2.4 圖2.5 圖2.6 圖2.7 圖2.8
11、(3)完成步驟(2)后,登錄輸入需要對輸入的信息進行驗證,則在圖中添加一個驗證框,如圖2.9所示:添加驗證框后,驗證的內(nèi)容,如果通過,則允許管理員進行查詢操作,如圖2.10所示;如不能通過,則結(jié)束,如圖2.11所示。 圖2.9 圖2.10 圖2.11 (4)驗證后,下一步的操作是查詢需要刪除的記錄,添加一個活動,命名為delete,如圖2.12和圖2.13所示。 圖2.12 圖2.13 (5)最后,在刪除后,系統(tǒng)會返回操作結(jié)果給操作者,圖2.14所示;刪除成功或刪除失敗系統(tǒng)都會有信息返回給操作者。 (7)根據(jù)分析設(shè)計情況,進一步添加或細化活動圖。
12、圖2.14 五、實驗報告要求 1. 整理實驗結(jié)果。 2. 小結(jié)實驗心得體會。 實驗三 狀態(tài)圖 一、實驗?zāi)康? 1.熟悉狀態(tài)圖的基本功能和使用方法。 2.掌握如何使用建模工具繪制狀態(tài)圖方法。 二、實驗器材 1.計算機一臺。 2.Rational Rose 工具軟件。 三、實驗內(nèi)容 通過前面內(nèi)容的學(xué)習(xí),完成了對“圖書館管理系統(tǒng)”的需求的初步分析,得出系統(tǒng)的用例圖和相應(yīng)的活動態(tài)。通過這兩類圖我們可以初步了解系統(tǒng)的業(yè)務(wù)處理過程,但對業(yè)務(wù)處理過程的處理狀態(tài)間轉(zhuǎn)換了解仍不夠,這不利于設(shè)計人員對系統(tǒng)業(yè)務(wù)的進一步理解,而狀態(tài)圖能從對象的動態(tài)行為的角度去描述系統(tǒng)的業(yè)務(wù)活動。因此
13、,指派你運用本節(jié)所學(xué)的狀態(tài)圖,完成如下任務(wù): 1. 完成圖書業(yè)務(wù)模塊中還書用例的狀態(tài)圖。 四、實驗步驟 1.業(yè)務(wù)分析:由前面章節(jié)對圖書館管理系統(tǒng)中的還書主要業(yè)務(wù)的描述和分析可知,還書業(yè)務(wù)的動態(tài)行為是由:空閑(idle)、圖書查找(finding)、還書(reversion)、失?。‵ailure)、歸還成功(Success)5種狀態(tài)及激活相互轉(zhuǎn)換的事件。 2.繪制狀態(tài)圖:請您根據(jù)分析運用UML繪制還書用例的狀態(tài)圖。 分析: 還書的狀態(tài)圖,還書的主要業(yè)務(wù)都是由管理員來完成,首先管理員必須先登錄系統(tǒng),并通過驗證后,便可以進行下一步的操作,查找該書的相關(guān)信息,如存在,則進行還書操作,如不
14、存在該信息,則給出提示信息; 繪圖步驟: (1)在用例圖中的還書(revesion)用例,單擊右鍵,如圖3.1所示,新建一個狀態(tài)圖,命名為revesion狀態(tài)圖,圖3.2所示。 圖3.1 圖3.2 (2)雙擊“receivesion”狀態(tài)圖,展開后,在左邊的工具欄上選取一個實心圓點,此結(jié)點為開始結(jié)點,圖3.3所示;當還書的時候,操作者先要詢問系統(tǒng)的狀態(tài),如果系統(tǒng)忙,操作者則必需等待,因此,得到系統(tǒng)的兩種狀態(tài),如圖3.5所示。 圖3.3 圖3.4 圖3.5 (3)操作者在詢問系統(tǒng)和狀態(tài)后,得到的圖3.6所示兩種狀態(tài),如果系統(tǒng)忙,操作者必需要等待、結(jié)束,如圖3
15、.7和圖3.8所示,重返步驟(1)。 圖3.6 圖3.7 圖3.8 (4)如系統(tǒng)空閑,則進行對還書的信息進行查詢操作,圖3.9所示;查詢也有兩種結(jié)果,一是查詢得到該書的相關(guān)信息,二查詢不到該書的相關(guān)信息;則此時有兩種狀態(tài),需要建立兩種狀態(tài),如圖3.10所示。 圖3.9 圖3.10 (5)最后,操作者進行了操作后,系統(tǒng)會給出操作的結(jié)果給操作者;操作成功或失敗,都會有提示信息給出。整個的還書的過程便完成;圖3.11所示。 (7)根據(jù)分析設(shè)計情況,進一步添加或細化狀態(tài)圖。 圖3.11 五、實驗報告要求 1.整理實驗結(jié)果。 2.小結(jié)實驗心得體會。
16、 實驗四 類 一、實驗?zāi)康? 1.理解類的基本概念。 2.掌握如何從需求分析中抽象出類的方法。 3.掌握在Rational Rose中繪制類的操作方法。 二、實驗器材 1.計算機一臺。 2.Rational Rose 工具軟件。 三、實驗內(nèi)容 通過前面內(nèi)容的學(xué)習(xí),完成了對“圖書館管理系統(tǒng)”的需求的初步分析,得出系統(tǒng)的用例圖和相應(yīng)的活動態(tài)和狀態(tài)圖。通過這兩類圖我們可以初步了解系統(tǒng)的業(yè)務(wù)處理流程?,F(xiàn)在需要對系統(tǒng)進行靜態(tài)建模,這就需要從系統(tǒng)的用例圖、活動圖和狀態(tài)圖去尋找和發(fā)現(xiàn)類。因此,指派你運用本節(jié)所學(xué)的有關(guān)如何抽象出類的知識,完成如下任務(wù): 1. 尋找和抽象出書籍管理功
17、能中的類。 四、實驗步驟 1.分析:由前面章節(jié)對圖書館管理系統(tǒng)中的書籍管理功能可知,該模塊是由書籍信息類、書目類、新增書籍界面類、修改書籍界面類、刪除書籍界面類和書籍管理類6個類組成。 2.繪制類的步驟: (1)打開前面初步構(gòu)建的UML模型文件; (2)打開Rose中的邏輯視圖(Logical View),選擇分析模型(analysis model)目錄。并在其下創(chuàng)建一個子目錄并命名為:“圖書館業(yè)務(wù)功能”。 (3)用鼠標右擊“圖書館業(yè)務(wù)功能”在彈出來的菜單中選擇“New→Class diagram”項,創(chuàng)建類圖,如圖4.1所示。 (4)雙擊新建的類圖,并點右邊控件集中選中的類的圖
18、標,并用鼠標在圖中分別拖出一個類圖,并命名為Book,如圖4.2所示。 圖4.1 圖4.2 (5)接下來的一步為設(shè)置類的屬性,在新的類中雙擊該類,在打開屬性面板中,可以看到在此可以設(shè)置類的屬性和方法等其他的信息,圖4.3所示;后撞擊Attributes這個欄目,此欄目為設(shè)置類的屬性的選項,在圖中間的單擊右鍵,可以看到有一個“Insert”的選項,選中這個選項,圖4.4所示,后在出現(xiàn)的對話框中輸入相關(guān)信息如圖4.5所示;如書本的ISBN號,在Type這個方框內(nèi)輸入此屬性的類型值,同時可以看到一欄可以設(shè)置此屬性的訪問權(quán)限,一般這些屬性都設(shè)置Private這個權(quán)限,如圖4.6所示。
19、這個類的其他屬性也可以按照以上的做法設(shè)置,最后得到的結(jié)果是圖4.7所示。 圖4.3 圖4.4 圖4.5 圖4.6 (6)設(shè)置好類的屬性,現(xiàn)在來設(shè)置類的方法(也是操作),雙擊類后在彈出的菜單上選operations這個選項,可以看到圖4.8所示,在圖中的空白地方,單擊右鍵,在彈出的菜單中選insert這個選項,也就只有這個選項可用,見圖4.9
20、,接著輸入方法名,同時可以設(shè)置該方法的返回類型,也可以在Documentations的方框內(nèi)填寫一些相關(guān)的方法說明,如圖4.12所示,設(shè)置好該方法的訪問權(quán)限,見圖4.13。類的其他方法也可以按上面來設(shè)置好,最后,得到該類的其他方法見類4.14。 圖4.7 圖4.8 圖4.9 圖4.10 圖4.11
21、 圖4.12 圖4.13 圖4.14 (7)至此,類的方法和屬性都設(shè)置好了,如圖4.15所示。 圖4.15 (8)接下來為書目類設(shè)置,按照上面的步驟可以設(shè)置好該類的屬性和方法,如圖4.16和圖4.17所示。 圖4.16 圖4.17 (9)最后,繪制出由分析得出的各個類,如圖4.18所示,此時
22、,類圖便完成。 (10)根據(jù)分析情況,進一步細化添加相關(guān)的類。 圖4.18 五、實驗報告要求 1.整理實驗結(jié)果。 2.小結(jié)實驗心得體會。 實驗五 類的關(guān)系 一、實驗?zāi)康? 1.理解類間關(guān)系的基本概念。 2.掌握描繪類間關(guān)系的方法。 3.掌握在Rational Rose中繪制類關(guān)系的操作方法。 二、實驗器材 1.計算機一臺。 2.Rational Rose 工具軟件。 三、實驗內(nèi)容 通過對前面內(nèi)容的學(xué)習(xí),使我們完成了“圖書館管理系統(tǒng)”的需求分析,并從業(yè)務(wù)對象中抽象出了類。我們知道類通常是不會單獨存在,而是由關(guān)聯(lián)、泛化、依賴等關(guān)系相互協(xié)作來靜態(tài)描述業(yè)務(wù)系
23、的。因此,我們在找出系統(tǒng)中所存在的類的前提下,需要進一步對業(yè)務(wù)對象間如何聯(lián)系進行建?!,F(xiàn)指派你運用本節(jié)所學(xué)的相關(guān)知識,完成如下任務(wù): 1.對書籍管理功能中的類的關(guān)系建模。 四、實驗步驟 1.分析:由前面章節(jié)對圖書館管理系統(tǒng)中的書籍管理業(yè)務(wù)分析和對該業(yè)務(wù)的抽象出來的類可知,圖書館的主要靜態(tài)模型類圖是由書籍管理類、書類、書目類、管理員類、用戶類和各種界面操作類組成。其中用戶類與管理員類是泛化的關(guān)系,而其它類之間均是關(guān)聯(lián)關(guān)系。 2.請根據(jù)教材中示例部分在Rational Rose中繪制類間的關(guān)系。 繪圖步驟: (1)打開上面做好的類圖,添加管理員類,用戶類,界面類。首先,添加一人管理
24、員類,圖5.1,并按照上面所說方法添加類的各種屬性和方法,見圖5.2、圖5.3。 (2)可以依照上面的操作來添加其他的類,如:用戶類(Reader類)、界面類(ActionForm),添加完后結(jié)果如圖5.4 和圖5.5所示; (3)其他的類添加完后,就可以為各個類添加關(guān)系了,由關(guān)聯(lián)、泛化、依賴等關(guān)系相互協(xié)作來靜態(tài)描述業(yè)務(wù)系,所以,各個類的關(guān)系也由這幾個關(guān)系來完成。如圖5.6所示:Person類是administrator類和reader類兩個類的父類,他們之間為泛化關(guān)系。administrator類和reader類是繼承Person類。BoobItem類是繼承Book類的,其他的類為一般的
25、依賴關(guān)系,最后,連接完線條便得到圖5.6。 (4)根據(jù)分析設(shè)計情況,進一步細化各類之間的關(guān)系。 圖5.1 圖5.2 圖5.3 圖.5.4 圖5.5 圖5.6 五、實驗報告要求 1.整理實驗結(jié)果。 2.小結(jié)實驗心得體會。 實驗六 交互圖 一、實驗?zāi)康? 1.理解時序圖的基本概念。 2.理解協(xié)作圖的基本概念。 3.掌握在Rational Rose中繪制交互圖的操作方法。 二、實驗器材 1.計算機一臺。 2.Rational Rose 工具軟件。 三、實驗內(nèi)容 通過對教學(xué)內(nèi)容的學(xué)習(xí),使我們完成了“圖書館管理系統(tǒng)”的需求分析,
26、并從業(yè)務(wù)對象中抽象出了類?,F(xiàn)在需要對前面所給出的用例進行實現(xiàn),而用例的實現(xiàn)主要由交互圖來指定和描述系統(tǒng)的動態(tài)特性?,F(xiàn)指派你運用本節(jié)所學(xué)的相關(guān)知識,完成如下任務(wù): 1.對書籍管理功能中的用例進行動態(tài)建模。 四、實驗步驟 1.分析:根據(jù)演示部分對圖書業(yè)務(wù)功能模塊中的交互操作進行動態(tài)建模的操作步驟和方法,請你對書籍管理模塊中的交互操作進行動態(tài)建模。該模塊中主要存在新增書籍、修改書籍信息和刪除書籍三種交互操作。 2.請根據(jù)教材中示例部分在Rational Rose中繪制上述的交互圖。 繪圖步驟: (1)在Rose軟件的左邊欄目上的Logicl View單擊右鍵,新建一個時序圖,時序圖是交互
27、圖一種表示,可以用時序來表示,如圖6.1;在此,先簡單介紹一下其用法:圖中的直線箭頭是發(fā)送消息;虛線箭頭是返回消息;曲折線是對象自己給自己發(fā)送消息并調(diào)用。 (2)接下來的是添加類,系統(tǒng)中的類是其他的方法的邊界,在上面做好的類找到可以直接拖拉來圖中,見圖6.2 和圖6.3所示。 圖6.1 圖6.2 圖6.3 (3)添加類后,便可以添加方法了,開始是必需是外面的實體向系統(tǒng)發(fā)送消息,如圖6.4所示,是管理員登錄時向系統(tǒng)發(fā)送的消息; 圖6.4 (5)可以按上一步的方法來完成其他的方法,如viladate(驗證),返回驗證結(jié)果,當用戶收到結(jié)果后,可以正常登錄后便能進行增
28、加圖書,見圖6.5到圖6.9。最后得到的時序圖如圖6.10所示。 圖6.5 圖6.6 圖6.7 圖6.8 圖6.9 圖6.10 (6)完成了時序圖后,可以按F5鍵便得到增加圖書的協(xié)作圖,見圖6.11所示。 圖6.11 (7)剩下的更新圖書信息和刪除圖書信息的交互圖在此不再一一詳細的介紹,其繪圖方法跟繪制增加圖書的方法一樣,最后得到見圖6.12 到圖6.15 圖6.12 圖6.13 圖6.14 圖6.15 五、實驗報告要求 1.整理實驗結(jié)果。 2.小結(jié)實驗心得體會。 實驗七 對象圖和包 一、實驗?zāi)康? 1
29、.對象圖的基本概念。 2.包的基本概念。 3.掌握在Rational Rose中繪制對象圖和包。 二、實驗器材 1.計算機一臺。 2.Rational Rose 工具軟件。 三、實驗內(nèi)容 “圖書館管理系統(tǒng)”的分析和設(shè)計已按計劃完成類圖和交互圖的分析與設(shè)計,不過當這份文檔提交給圖書館的使用人員審查時,他們認為最好能用一個實例來說明系統(tǒng)的運作,現(xiàn)系統(tǒng)分析部指派您完成該項任務(wù),為系統(tǒng)繪制一張對象圖。 1.以借書過程為例繪制對象圖; 四、實驗步驟 為了更好的描述借書過程,根據(jù)圖7.1繪制借書過程中某一時刻的對象圖 1 圖7.1 (1) 確定對象的值 假定管理員在為讀者“S0
30、5001”辦理“UML Guide”的借書手續(xù),這時首先彈出一個借書窗口“l(fā)fLend”,在其上輸入讀者ID和書名,點擊“借書”按鈕。這里lfLend對象將調(diào)用業(yè)務(wù)管理者類bmMain對象的findBookByName方法去獲取一個書名為“UML Guide”的Book對象bLend,然后bmMain再通過lendBook方法,去調(diào)用bLend對象findFreeItem方法,去查找一本可借閱的圖書,這里假定找到圖書iLend,然后使用setLoanState更改iLend的借閱狀態(tài)為“借出”,完成借書過程。 表7.1描述了在成功設(shè)置iLend對象借閱狀態(tài)為“借出”狀態(tài)時,與借書過程有關(guān)的各
31、對象的值。 表7.1 類名 對象名 屬性值 方法 LendFrame lfLend BookName=”UML Guide” ReaderID=”S05001” lendBook BookManager bmMain findBookByName lendBook Book bLend BookName=”UML Guide” ISBN=”ISBN12315” findFreeItem Item iLend ISBN=”ISBN12315” ItemID=”B05001” getItemID setLoanState (2) 繪圖,根
32、據(jù)(1)中的描述,繪制出當iLend狀態(tài)變更時,系統(tǒng)中各對象的狀態(tài)如圖7.2所示。 (3)根據(jù)分析設(shè)計情況,進一步設(shè)計對象和包之間的關(guān)系。 圖7.2 五、實驗報告要求 1.整理實驗結(jié)果。 2.小結(jié)實驗心得體會。 實驗八 組件圖和配置圖 一、實驗?zāi)康? 1.理解組件圖的基本概念。 2.理解組件圖的應(yīng)用:邏輯配置。 3.理解配置圖的基本概念。 4.理解配置圖的應(yīng)用:物理配置。 5.掌握組件圖和配置圖繪制的方法。 二、實驗器材 1.計算機一臺。 2.Rational Rose 工具軟件。 三、實驗內(nèi)容 “圖書館管理系統(tǒng)”的分析和設(shè)計已按計劃完成類圖
33、和交互圖的分析與設(shè)計,下一步將完成系統(tǒng)的組件圖和配置圖,現(xiàn)系統(tǒng)分析部指派您完成如下任務(wù): 1. 完成系統(tǒng)的組件圖。 四、實驗步驟 1. 繪制組件圖 分析: “圖書館管理系統(tǒng)”中,通過分析可以發(fā)現(xiàn)類圖中的類應(yīng)分為4個部分: 1.用戶接口模塊(UI),主要負責系統(tǒng)和用戶的交互,包括Frame類,Dialog類等。 2.業(yè)務(wù)對象模塊(BO),主要負責處理系統(tǒng)中的業(yè)務(wù)計算,如借書,還書等功能的具體操作。 3.數(shù)據(jù)存儲模塊(DB),主要負責處理對數(shù)據(jù)的存儲。 4.通用工具模塊(UTIL),包括系統(tǒng)中通用函數(shù)。 通過一個主程序StartClass來啟動。由于系統(tǒng)中的類較多,這里以業(yè)務(wù)對
34、象模塊(BO)為例來講解如何創(chuàng)建組件圖,BO模塊中包括: Item類:書目類,表示一本實際存在的書籍或雜志; Loan類:借書業(yè)務(wù)類,將借閱者和圖書館關(guān)聯(lián)起來,一個Loan對象表示借出的一本書; BorrowerInfomation類:借閱者信息類,表示一個借閱者; Title類:表示一種書或一種雜志。如《C++編程思想》就是一種書,用1個title表示,如果有2本這樣的書,則需要用2個Item表示。 Reservation類:預(yù)定信息類,表示一個預(yù)定信息。 Item類和Loan類之間互相依賴,Loan類和BorrowerInfomation類之間互相依賴,BorrowerInf
35、omation類和Reservation類之間互相依賴,Reservation類和Title之間互相依賴,Title和Item類之間互相依賴。 繪圖步驟: (1)在組件視圖中雙擊Main圖,出現(xiàn)圖8.1,為編輯組件圖做好準備,這時繪圖工具欄中的圖標如圖中橢圓所示,其中具體含義可參看本節(jié)“補充圖標”一段的介紹。 圖8.1 (2)在組件視圖中,從工具欄中選擇MainProgram圖標,在右邊的繪圖區(qū)中添加一個新組件,并取名StartClass.java表明新增一個主程序。 圖8.2 (3)選擇新創(chuàng)建的組件,點擊鼠標右鍵,在彈出的菜單中選擇“Open Sepcification”
36、,彈出圖10.3對話框。 (4)在對話框中,可以修改組件的名稱,設(shè)置組件的類型,指定實現(xiàn)的語言。這里新組件的名稱定為“StartClass.java”,組件構(gòu)型為Main Program(Rose中提供了多種構(gòu)型,大部分在補充圖標一段中均有簡單的介紹),實現(xiàn)語言為JAVA(Rose中默認的是分析語言Analysis),修改結(jié)果如圖8.4所示。 圖8.3 圖8.4 (5)組件圖描述的是系統(tǒng)的實現(xiàn)視圖,因此要指定實現(xiàn)組件功能的文件。點擊File選項卡,在列表框中點擊鼠標右鍵,在彈出的菜單中選擇“Insert File”,彈出文件對話框。在對話框中,鍵入StartClass.java
37、,點擊“打開”按鍵,這時對話框如圖8.5所示。 圖8.5 (6)雙擊StartClass.java,彈出是否創(chuàng)建對話框,詢問是否創(chuàng)建文件,選擇“YES”,彈出記事本,這時可輸入相應(yīng)的源程序(注意:如果這里選擇的文件已經(jīng)存在,則不會彈出創(chuàng)建文件對話框,而是直接顯示相應(yīng)文件內(nèi)容)。 (7)創(chuàng)建相應(yīng)的包。選擇包圖標,在右圖中創(chuàng)建。這里同樣需要對每個組件打開“Open Specification”對話框,設(shè)置具體的屬性,對“包”組件來說需要在Files選項卡中指明與其對應(yīng)的目錄。創(chuàng)建完畢的組件圖如圖8.6所示。 圖8.6 (8)選擇業(yè)務(wù)對象包(BO),雙擊,打開業(yè)務(wù)對象包的詳細組件圖
38、,這里根據(jù)分析的結(jié)果分別創(chuàng)建Title.java,Item.java,Loan.java,BorrowerInfomation.java,Reservation.java組件,并設(shè)置好每個組件的構(gòu)型和對應(yīng)的文件。創(chuàng)建好的BO包組件圖如圖8.7。 圖10.7 (9)創(chuàng)建依賴關(guān)系。在本節(jié)“關(guān)系”一段中,已經(jīng)描述過依賴關(guān)系使用虛線表示,因此根據(jù)分析中的結(jié)果,在圖中將相互依賴的組件連接即可。完成后的組件圖如圖8.8。 圖8.8 2. 繪制配置圖 分析: “圖書館管理系統(tǒng)”目前開發(fā)的是一個單機版系統(tǒng),其中所有的運算均在一臺機器上完成,但是由于打印報表的需要,系統(tǒng)還應(yīng)配備一臺打印機。因
39、此得出系統(tǒng)中存在2個節(jié)點: ① 一臺主機,其類型是Processor。 ② 一臺打印機,其類型是Device。 繪圖步驟: (1)瀏覽窗口中選擇“Deployment View”,彈出如圖8.9所示窗口。 圖8.9 (2)在圖中添加分別添加一個Processer和Device,并分別命名為“computer with java support”和“Printer”,添加完畢后,其結(jié)果如圖8.10所示。 圖8.10 (3)為節(jié)點添加連接關(guān)系。全圖如圖8.11。 圖8.11 五、實驗報告要求 1.整理實驗結(jié)果。 2.小結(jié)實驗心得體會。 實驗九 正向工程
40、 一、實驗?zāi)康? 1.理解正向工程的基本概念。 2.利用Rose工具生成代碼框架。 3.在實現(xiàn)過程中使用轉(zhuǎn)換后的代碼。 4.Java編程綜合練習(xí)。 二、實驗器材 1.計算機一臺。 2.Rational Rose 工具軟件。 三、實驗內(nèi)容 現(xiàn)在,“圖書館管理系統(tǒng)”的分析和設(shè)計工作已經(jīng)基本完成,即將進入編碼階段。為了加快編碼進度,可以利用建模工具執(zhí)行正向工程,將系統(tǒng)中的模型轉(zhuǎn)換成指定語言類型的代碼框架,現(xiàn)要求您完成該項任務(wù)。 四、實驗步驟 使用Rose工具將設(shè)計的模型通過正向工程生成代碼框架。按照使用Rose工具生成代碼的6步基本步驟可以順利的完成代碼框架的生成工作。 (1)
41、檢查模型, (2)創(chuàng)建組件 (3)將類映射到組件 (4)設(shè)置代碼生成屬性 (5)選擇類,組件和包 (6)生成代碼 步驟: (1) 在上面做好的類圖和組件圖,瀏覽窗口中選擇“Component View”;見圖9.1。 (2) 本例是用實現(xiàn)administrator類為例來講一下怎樣實現(xiàn)正向工程,首先在左邊的工具欄內(nèi)選一個組件,并命名為administrator類,并找到這個類。 (3) 在上面的圖中找到administrator類后,把它拖拉到剛才建好的組件圖里面,見圖9.2所示。 圖9.1 圖9.2 (4)做完上一步后,雙擊該組件,在找開的
42、對話框中,選“Files”這個選項,如圖9.3那樣設(shè)置。 圖9.3 (5)做完一步后,右鍵單擊該組件,便會看到有一項為“Java/J2EE”,如圖9.4所示,當鼠標移到該項上時會有彈出快捷菜單“Generate Code“,見圖9.5,接下來會一另一個對話框出現(xiàn),選擇剛才添加的類點擊中間的“Assige”鍵,圖9.6示。到此,正向工程生成代碼做完,不過,生成的代碼沒有具體的代碼,有類的屬性和方法,但沒有方法,這需要程序員編寫。 圖9.4 圖9.5 圖9.6 以下為所生成的administrator.java的部分源代碼 //Source file: D:\\UML
43、\\1\\administrator.java public class administrator extends Person { public String name; public String Id; /** * @roseuid 46F9CE9B01B5 */ public administrator() { } } (6)其他的類的正向工程生成代碼同上面的方法一樣,在此不再一一介紹。 (7)請盡量實現(xiàn)你所作類圖和組件圖所涉及的代碼。 五、實驗報告要求 1.整理實驗結(jié)果。 2.小結(jié)實驗心得體會。 55
- 溫馨提示:
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)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。