




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 面向對象系統(tǒng)分析與設計實驗 實驗報告書 面向對象系統(tǒng)分析與設計起止日期: 2015 年 10 月 19 日 至 2015 年 11 月 19 日學生姓名惠大賀班級軟件工程1201學號12408300123成績指導教師(簽字)計算機與通信學院2015年 11月 19日 56 目 錄實驗一 用例圖及進度安排-03實驗二 活動圖-08實驗三 狀態(tài)圖-16實驗四 類-23實驗五 類的關系-30實驗六、七 交互圖-34實驗八、九 對象圖和包-43實驗十、十一 組件圖和部署圖-45實驗十二 正向工程-51實驗總結 -56實驗一 用例圖及進度安排1、實驗步驟(1)在進行實驗前,首先要熟悉好Rose軟件的基
2、本使用規(guī)范,了解相關文件的建立說明,開始新的工程建立。在用例圖上雙擊main,出現(xiàn)如圖1.1所示,為繪制用例圖做好準備。圖1.1(2)在圖中的工具欄選取Actor圖標,在右邊的圖中添加一個Actor,并輸入名稱:administrator,如圖1.2所示。(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。此時,刪除讀者用例
3、圖就到此完成。其系統(tǒng)查詢讀者信息等其他的功能會在時序圖和活動圖中描繪。(7)根據(jù)分析情況,進一步添加或細化用例圖。圖1.72、實驗結果圖1.83、心得體會用例圖的建立主要是要能夠理解Actor和用例,每個Actor給他如何去分配不同的用例,在這個設計過程中是需要花大量時間去思考和設計的,在實驗中我經過多次的整理與修改,最終確定了這種設計結果。實驗二 活動圖1、實驗步驟(1)這次實驗是進行活動圖的設計,在活動圖中,仍然可以在上次實驗的基礎上進行設計,建立心得活動圖的文件,開始實驗的設計。在用例圖中,找到刪除的用例,如圖2.1所示,在刪除用例上單擊右鍵,在彈出的快捷菜單中選“New”,Rose工具
4、也會彈出一個菜單,選”Activity Diagram”,選中后單擊,便可以新建好一個活動圖。如圖2.2所示。圖 2.1圖2.2(2)新建好活動圖后,雙擊刪除的活動圖,得到如圖2.3所示,然后把在左邊的工具欄內點擊“Swinlane“,在右邊的圖添加一個泳道,如圖2.4所示,并命名為administrator.按照此步驟,再添加另一個泳道,并命名為SystemTool,得到圖2.5。圖2.3(3)接著在左邊的工具上選取開始點,并在administrator的泳道上添加,如圖2.6所示;添加完開始結點后,再來為此活動圖添加活動,圖2.7所示,在左邊的工具欄上選中Activity這個圖標,在adm
5、inistrator這邊的泳道上添加一個活動,命名為登錄(login),再在開始結點和活動登錄(login)之間添加活動關系,如圖2.8所示。圖2.4 圖2.5 圖2.6圖2.7 圖2.8(3)完成步驟(2)后,登錄輸入需要對輸入的信息進行驗證,則在圖中添加一個驗證框,如圖2.9所示:添加驗證框后,驗證的內容,如果通過,則允許管理員進行查詢操作,如圖2.10所示;如不能通過,則結束,如圖2.11所示。圖2.9圖2.10圖2.11(4)驗證后,下一步的操作是查詢需要刪除的記錄,添加一個活動,命名為delete,如圖2.12和圖2.13所示。圖2.12圖2.13(5)最后,在刪除后,系統(tǒng)會返回操作
6、結果給操作者,圖2.14所示;刪除成功或刪除失敗系統(tǒng)都會有信息返回給操作者。2、實驗結果圖2.143、心得體會活動圖是UML用于對系統(tǒng)的動態(tài)行為建模的另一種常用工具,它描述活動的順序,展現(xiàn)從一個活動到另一個活動的控制流?;顒訄D在本質上是一種流程圖。活動圖著重表現(xiàn)從一個活動到另一個活動的控制流,是內部處理驅動的流程。活動圖的設計過程中在對開始點和結束點的設計是非常重要的,同時不同的階段也有不同的控制流程,還要考慮到整個活動狀況下所遇到的各種不同的情景模式,進行相應的策略設計。實驗三 狀態(tài)圖1、實驗步驟(1)在用例圖中的還書(revesion)用例,單擊右鍵,如圖3.1所示,新建一個狀態(tài)圖,命名為
7、revesion狀態(tài)圖,圖3.2所示。圖3.1圖3.2(2)雙擊“receivesion”狀態(tài)圖,展開后,在左邊的工具欄上選取一個實心圓點,此結點為開始結點,圖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)忙,操作者必需要等待、結束,如圖3.7和圖3.8所示,重返步驟(1)。圖3.6圖3.7圖3.8(4)如系統(tǒng)空閑,則進行對還書的信息進行查詢操作,圖3.9所示;查詢也有兩種結果,一是查詢得到該書的相關信息,二查詢不到該書的相關
8、信息;則此時有兩種狀態(tài),需要建立兩種狀態(tài),如圖3.10所示。圖3.9圖3.10(5)最后,操作者進行了操作后,系統(tǒng)會給出操作的結果給操作者;操作成功或失敗,都會有提示信息給出。整個的還書的過程便完成;圖3.11所示。2、實驗結果圖3.113、 心得體會狀態(tài)圖(Statechart Diagram)主要用于描述一個對象在其生存期間的動態(tài)行為,表現(xiàn)為一個對象所經歷的狀態(tài)序列,引起狀態(tài)轉移的事件(Event),以及因狀態(tài)轉移而伴隨的動作(Action)。一般可以用狀態(tài)機對一個對象的生命周期建模,狀態(tài)圖用于顯示狀態(tài)機(State Machine Diagram),重點在與描述狀態(tài)圖的控制流。
9、狀態(tài)是指在對象的生命周期中的某個條件或者狀況,在此期間對象將滿足某些條件、執(zhí)行某些活動活活等待某些事件。所有對象都有狀態(tài),狀態(tài)是對象執(zhí)行了一系列活動的結果,當某個事件發(fā)生后,對象的狀態(tài)將發(fā)生變化。實驗四 類1、實驗步驟(1)打開前面初步構建的UML模型文件;(2)打開Rose中的邏輯視圖(Logical View),選擇分析模型(analysis model)目錄。并在其下創(chuàng)建一個子目錄并命名為:“圖書館業(yè)務功能”。(3)用鼠標右擊“圖書館業(yè)務功能”在彈出來的菜單中選擇“NewClass diagram”項,創(chuàng)建類圖,如圖4.1所示。(4)雙擊新建的類圖,并點右邊控件集中選中的類的圖標,并用鼠
10、標在圖中分別拖出一個類圖,并命名為Book,如圖4.2所示。圖4.1圖4.2(5)接下來的一步為設置類的屬性,在新的類中雙擊該類,在打開屬性面板中,可以看到在此可以設置類的屬性和方法等其他的信息,圖4.3所示;后撞擊Attributes這個欄目,此欄目為設置類的屬性的選項,在圖中間的單擊右鍵,可以看到有一個“Insert”的選項,選中這個選項,圖4.4所示,后在出現(xiàn)的對話框中輸入相關信息如圖4.5所示;如書本的ISBN號,在Type這個方框內輸入此屬性的類型值,同時可以看到一欄可以設置此屬性的訪問權限,一般這些屬性都設置Private這個權限,如圖4.6所示。這個類的其他屬性也可以按照以上的做
11、法設置,最后得到的結果是圖4.7所示。 圖4.3 圖4.4 圖4.5 圖4.6(6)設置好類的屬性,現(xiàn)在來設置類的方法(也是操作),雙擊類后在彈出的菜單上選operations這個選項,可以看到圖4.8所示,在圖中的空白地方,單擊右鍵,在彈出的菜單中選insert這個選項,也就只有這個選項可用,見圖4.9,接著輸入方法名,同時可以設置該方法的返回類型,也可以在Documentations的方框內填寫一些相關的方法說明,如圖4.12所示,設置好該方法的訪問權限,見圖4.13。類的其他方法也可以按上面來設置好,最后,得到該類的其他方法見類4.14。 圖4.7 圖4.8 圖4.9 圖4.10 圖4.
12、11 圖4.12 圖4.13 圖4.14(7)至此,類的方法和屬性都設置好了,如圖4.15所示。圖4.15(8)接下來為書目類設置,按照上面的步驟可以設置好該類的屬性和方法,如圖4.16和圖4.17所示。 圖4.16 圖4.17(9)最后,繪制出由分析得出的各個類,如圖4.18所示,此時,類圖便完成。2、實驗結果圖4.183、 心得體會類圖是面向對象系統(tǒng)建模中最常用和最重要的圖,是定義其它圖的基礎。類圖主要是用來顯示系統(tǒng)中的類、接口以及它們之間的靜態(tài)結構和關系的一種靜態(tài)模型。類圖的設計中,類名的選取是一個必不可少的環(huán)節(jié),什么樣的類名決定了之后對軟件編碼過程中的困難程度,盡量使用能夠識別的,容易
13、理解的參數(shù)名、類名、屬性和方法,便于之后的維護工作。實驗五 類的關系1、 實驗步驟(1)打開上面做好的類圖,添加管理員類,用戶類,界面類。首先,添加一人管理員類,圖5.1,并按照上面所說方法添加類的各種屬性和方法,見圖5.2、圖5.3。(2)可以依照上面的操作來添加其他的類,如:用戶類(Reader類)、界面類(ActionForm),添加完后結果如圖5.4 和圖5.5所示;(3)其他的類添加完后,就可以為各個類添加關系了,由關聯(lián)、泛化、依賴等關系相互協(xié)作來靜態(tài)描述業(yè)務系,所以,各個類的關系也由這幾個關系來完成。如圖5.6所示:Person類是administrator類和reader類兩個類
14、的父類,他們之間為泛化關系。administrator類和reader類是繼承Person類。BoobItem類是繼承Book類的,其他的類為一般的依賴關系,最后,連接完線條便得到圖5.6。(4)根據(jù)分析設計情況,進一步細化各類之間的關系。圖5.1圖5.2圖5.3圖.5.4圖5.52、 實驗結果圖5.63、 心得體會類圖中最重要的四大關系是關聯(lián)關系(association)“、”聚合關系(aggregation)“、”合成關系(compostion)“和”依賴關系(dependency)。關聯(lián)關系是類與類之間的聯(lián)結,它使一個類知道另一個類的屬性和方法。聚合是整體和部分之間的關系,是通過成員變量
15、來實現(xiàn)的。合成關系是關聯(lián)關系的一種,是比聚合關系還要強的關系。它要求普通的聚合關系中代表整體的對象負責代表部分的對象的生命周期。依賴關系也是類與類之間的聯(lián)結,依賴總是單向的。依賴關系在Java或C+語言中體現(xiàn)為局部變量、方法的參數(shù)或者對靜態(tài)方法的調用。實驗六、七 交互圖1、實驗步驟(1)在Rose軟件的左邊欄目上的Logicl View單擊右鍵,新建一個時序圖,時序圖是交互圖一種表示,可以用時序來表示,如圖6.1;在此,先單間介紹一下用法:圖中的直線箭頭是發(fā)送消息;虛線箭頭是返回消息;曲折線是對象自己給自己發(fā)送消息并調用。 (2)接下來的是添加類,系統(tǒng)中的類是其他的方法的邊界,在上面做好的類找
16、到可以直接拖拉來圖中,見圖6.2 和圖6.3所示。圖6.1圖6.2圖6.3(3)添加類后,便可以添加方法了,開始是必需是外面的實體向系統(tǒng)發(fā)送消息,如圖6.4所示,是管理員登錄時向系統(tǒng)發(fā)送的消息;圖6.4(5)可以按上一步的方法來完成其他的方法,如viladate(驗證),返回驗證結果,當用戶收到結果后,可以正常登錄后便能進行增加圖書見圖6.5到圖6.9。最后得到的時序圖如圖6.10所示。圖6.52、實驗結果圖6.6圖6.7圖6.8圖6.9圖6.10(6)完成了時序圖后,可以按F5鍵便得到增加圖書的協(xié)作圖,見圖6.11所示。圖6.11(7)剩下的更新圖書信息和刪除圖書信息的交互圖在此不再一一詳細
17、的介紹,其繪圖方法跟繪制增加圖書的方法一樣,最后得到見圖6.12 到圖6.15圖6.12圖6.13圖6.14圖6.153、心得體會一次交互就是指在特定語境中,為了實現(xiàn)某一個目標,而在一組對象之間進行交換的一組消息所表示的行為,交互片斷操作符assert是用來表示內容所描述的行為是執(zhí)行過程中那個時刻唯一的有效行為。如果執(zhí)行到這個片斷的前面,則說明該片斷就一定會發(fā)生。它通常和ignore或consider一起使用,以斷言某種特定種類的消息行為。交互圖的設計能夠更加清楚表示各個事件的關系和操作順序。實驗八、九 對象圖和包1、 實驗步驟為了更好的描述借書過程,根據(jù)圖8.1繪制借書過程中某一時刻的對象圖
18、圖8.1(1) 確定對象的值假定管理員在為讀者“S05001”辦理“UML Guide”的借書手續(xù),這時首先彈出一個借書窗口“l(fā)fLend”,在其上輸入讀者ID和書名,點擊“借書”按鈕。這里lfLend對象將調用業(yè)務管理者類bmMain對象的findBookByName方法去獲取一個書名為“UML Guide”的Book對象bLend,然后bmMain再通過lendBook方法,去調用bLend對象findFreeItem方法,去查找一本可借閱的圖書,這里假定找到圖書iLend,然后使用setLoanState更改iLend的借閱狀態(tài)為“借出”,完成借書過程。表8.1描述了在成功設置iLend
19、對象借閱狀態(tài)為“借出”狀態(tài)時,與借書過程有關的各對象的值。表8.1類名對象名屬性值方法LendFramelfLendBookName=”UML Guide”ReaderID=”S05001”lendBookBookManagerbmMainfindBookByNamelendBookBookbLendBookName=”UML Guide”ISBN=”ISBN12315”findFreeItemItemiLendISBN=”ISBN12315”ItemID=”B05001”getItemIDsetLoanState圖8.1(2) 繪圖,根據(jù)(1)中的描述,繪制出當iLend狀態(tài)變更時,系統(tǒng)中各
20、對象的狀態(tài)如圖8.2所示。(3)根據(jù)分析設計情況,進一步設計對象和包之間的關系。2、實驗結果圖8.23、 心得體會UML包圖中描繪兩個或更多的包以及這些包之間的依賴關系。包是UML中的一種結構,用來將各種建模元素(如用例或者類)分組組織起來。包的符號是文件夾的樣子,可以應用于任何UML圖中。任何圖中如果只包含包(以及包之間的依賴),都可以看作是UML包圖。UML包圖實際上是UML2中的一個新概念,在UML1中一直是非正式的部分,過去被稱為UML包圖的東西實際上通常是僅僅包含包的UML類圖或UML用例圖。UML對象圖(ObjectDiagram)是顯示了一組對象和他們之間的關系。使用UML對象圖
21、來說明數(shù)據(jù)結構,類圖中的類或組件等的實例的靜態(tài)快照。UML對象圖和類圖一樣反映系統(tǒng)的靜態(tài)過程,但它是從實際的或原型化的情景來表達的。UML對象圖顯示某時刻對象和對象之間的關系。一個UML對象圖可看成一個類圖的特殊用例,實例和類可在其中顯示。對象也和合作圖相聯(lián)系,合作圖顯示處于語境中的對象原型(類元角色)。實驗十、十一 組件圖和部署圖1、實驗步驟(1)在組件視圖中雙擊Main圖,出現(xiàn)圖10.1,為編輯組件圖做好準備,這時繪圖工具欄中的圖標如圖中橢圓所示,其中具體含義可參看本節(jié)“補充圖標”一段的介紹。圖10.1(2)在組件視圖中,從工具欄中選擇MainProgram圖標,在右邊的繪圖區(qū)中添加一個新
22、組件,并取名StartClass.java表明新增一個主程序。圖10.2(3)選擇新創(chuàng)建的組件,點擊鼠標右鍵,在彈出的菜單中選擇“Open Sepcification”,彈出圖10.3對話框。(4)在對話框中,可以修改組件的名稱,設置組件的類型,指定實現(xiàn)的語言。這里新組件的名稱定為“StartClass.java”,組件構型為Main Program(Rose中提供了多種構型,大部分在補充圖標一段中均有簡單的介紹),實現(xiàn)語言為JAVA(Rose中默認的是分析語言Analysis),修改結果如圖10.4所示。圖10.3圖10.4(5)組件圖描述的是系統(tǒng)的實現(xiàn)視圖,因此要指定實現(xiàn)組件功能的文件。點
23、擊File選項卡,在列表框中點擊鼠標右鍵,在彈出的菜單中選擇“Insert File”,彈出文件對話框。在對話框中,鍵入StartClass.java,點擊“打開”按鍵,這時對話框如圖10.5所示。圖10.5(6)雙擊StartClass.java,彈出是否創(chuàng)建對話框,詢問是否創(chuàng)建文件,選擇“YES”,彈出記事本,這時可輸入相應的源程序(注意:如果這里選擇的文件已經存在,則不會彈出創(chuàng)建文件對話框,而是直接顯示相應文件內容)。(7)創(chuàng)建相應的包。選擇包圖標,在右圖中創(chuàng)建。這里同樣需要對每個組件打開“Open Specification”對話框,設置具體的屬性,對“包”組件來說需要在Files選項
24、卡中指明與其對應的目錄。創(chuàng)建完畢的組件圖如圖10.6所示。圖10.6(8)選擇業(yè)務對象包(BO),雙擊,打開業(yè)務對象包的詳細組件圖,這里根據(jù)分析的結果分別創(chuàng)建Title.java,Item.java,Loan.java,BorrowerInfomation.java,Reservation.java組件,并設置好每個組件的構型和對應的文件。創(chuàng)建好的BO包組件圖如圖10.7。圖10.7(9)創(chuàng)建依賴關系。在本節(jié)“關系”一段中,已經描述過依賴關系使用虛線表示,因此根據(jù)分析中的結果,在圖中將相互依賴的組件連接即可。完成后的組件圖如圖10.8。2、實驗結果圖10.82. 繪制部署圖分析:TJKD的圖書
25、管理系統(tǒng)目前開發(fā)的是一個單機版系統(tǒng),其中所有的運算均在一臺機器上完成,但是由于打印報表的需要,系統(tǒng)還應配備一臺打印機。因此得出系統(tǒng)中存在2個節(jié)點: 一臺主機,其類型是Processor。 一臺打印機,其類型是Device。繪圖步驟:(1)瀏覽窗口中選擇“Deployment View”,彈出如圖10.9所示窗口。圖10.9(2)在圖中添加分別添加一個Processer和Device,并分別命名為“computerwith java support”和“Printer”,添加完畢后,其結果如圖10.10所示。圖10.10(3)為節(jié)點添加連接關系。全圖如圖10.11。圖10.113、 心得體會組件
26、圖提供系統(tǒng)的物理視圖,它的用途是顯示系統(tǒng)中的軟件與其他軟件組件(例如,庫函數(shù))的依賴關系。組件圖可以在一個非常高的層次上顯示,從而僅顯示粗粒度的組件,也可以在組件包層次上顯示。部署圖表示該軟件系統(tǒng)如何部署到硬件環(huán)境中。它的用途是顯示該系統(tǒng)不同的組件將在何處物理地運行,以及它們將如何彼此通信。因為部署圖是對物理運行情況進行建模,系統(tǒng)的生產人員就可以很好地利用這種圖。組件圖和部署圖的交互使用,加深了我對自己所做系統(tǒng)的業(yè)務認識,不斷更新和優(yōu)化。實驗十二 正向工程1、實驗步驟(1) 在上面做好的類圖和組件圖,瀏覽窗口中選擇“Component View”;見圖12.1。(2) 本例是用實現(xiàn)administrator類為例來講一下怎樣實現(xiàn)正向工程,首先在左邊的工具欄內選一個組件,并命名為administrator類,并找到這個類。(3) 在上面的圖中找到administrator類后,把它拖拉到剛才建好的組件圖里面,見圖12.2所示。圖12.1圖12.2(4)做完上一步后,雙擊該組件,在找開的對話框中,選“Files”這個選項,如圖12.3那樣設置。圖12.3(5) 做完一步后,右鍵單擊該組件,便會看到有一項為“Java/J2EE”,如圖12.4所示,當鼠標移到該項上時會有彈出快捷菜單“Generate Code“,見圖12.5,接下來會一另一個對話框出現(xiàn),選擇剛才添加的類點
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房顫手術治療
- 集合的基本運算
- 便秘手術治療
- 五年級英語精讀課程實施計劃
- 2024屆吉林省長春汽開區(qū)四校聯(lián)考中考數(shù)學對點突破模擬試卷含解析
- 小學體育活動組織措施
- 2025年老年人健康教育服務計劃
- 肺癌個案護理講解
- 分級護理質量控制標準體系
- 醫(yī)療機構人員配備及材料保障措施
- 小學英語人教PEP版三至六年級全冊單詞詞匯默寫打印
- 2023-2024學年湖南省長沙市長沙縣八年級(下)月考數(shù)學試卷(6月份)(含答案)
- 2023年基金從業(yè)資格考試知識點、考點總結
- JGJ80-2016 建筑施工高處作業(yè)安全技術規(guī)范
- 2023年新疆烏魯木齊一中自主招生物理試卷試題(含答案)
- 國開(河北)2024年《中外政治思想史》形成性考核1-4答案
- 巴金名著導讀《激流三部曲》
- 吸煙與肺結核雙重危害的防范
- 石油開采業(yè)的大數(shù)據(jù)應用與數(shù)據(jù)分析
- 中心靜脈導管相關血流感染課件
- 風濕免疫疾病的患者教育和自我管理
評論
0/150
提交評論