中南大學(xué)軟件體系結(jié)構(gòu)實驗報告-實驗1_第1頁
中南大學(xué)軟件體系結(jié)構(gòu)實驗報告-實驗1_第2頁
中南大學(xué)軟件體系結(jié)構(gòu)實驗報告-實驗1_第3頁
中南大學(xué)軟件體系結(jié)構(gòu)實驗報告-實驗1_第4頁
中南大學(xué)軟件體系結(jié)構(gòu)實驗報告-實驗1_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

/《軟件體系結(jié)構(gòu)》實驗報告項目名稱UML實驗專業(yè)班級軟件1403學(xué)號3901140302姓名溫睿誠實驗成績:批閱教師:2016年12月4日實驗1UML實驗實驗學(xué)時:4每組人數(shù):1實驗類型:3(1:基礎(chǔ)性2:綜合性3:設(shè)計性4:研究性)實驗要求:1(1:必修2:選修3:其它)實驗類別:3(1:基礎(chǔ)2:專業(yè)基礎(chǔ)3:專業(yè)4:其它)一、實驗?zāi)康?.學(xué)會安裝和使用建模工具PowerDesigner,熟練使用PowerDesigner繪制常用的UML圖形,熟悉常用的UML建模符號;2.構(gòu)建用例模型來描述軟件需求,包括繪制用例圖,撰寫用例文檔并制作用例檢查矩陣;3.學(xué)習(xí)使用狀態(tài)圖描述對象的狀態(tài)及轉(zhuǎn)換;4.學(xué)習(xí)使用活動圖為業(yè)務(wù)流程建模;5.學(xué)習(xí)使用順序圖描述對象之間的交互;6.學(xué)習(xí)類圖的繪制;7.學(xué)習(xí)從系統(tǒng)需求中識別類,并構(gòu)建相應(yīng)的面向?qū)ο竽P停?.學(xué)習(xí)使用PowerDesigner實現(xiàn)正向工程和逆向工程;9.學(xué)習(xí)使用組件圖描述每個功能所在的組件位置以及它們之間的關(guān)系;10.學(xué)習(xí)使用部署圖描述軟件中各個組件駐留的硬件位置以及這些硬件之間的交互關(guān)系。二、實驗內(nèi)容1.某酒店訂房系統(tǒng)描述如下:(1)顧客可以選擇在線預(yù)訂,也可以直接去酒店通過前臺服務(wù)員預(yù)訂;(2)前臺服務(wù)員可以利用系統(tǒng)直接在前臺預(yù)訂房間;(3)不管采用哪種預(yù)訂方式,都需要在預(yù)訂時支付相應(yīng)訂金;(4)前臺預(yù)訂可以通過現(xiàn)金或信用卡的形式進(jìn)行訂金支付,但是網(wǎng)上預(yù)訂只能通過信用卡進(jìn)行支付;(5)利用信用卡進(jìn)行支付時需要和信用卡系統(tǒng)進(jìn)行通信;(6)客房部經(jīng)理可以隨時查看客房預(yù)訂情況和每日收款情況。繪制該酒店訂房系統(tǒng)的用例圖。2.根據(jù)以下場景繪制用例圖:某企業(yè)為了方便員工用餐,為企業(yè)餐廳開發(fā)了一個訂餐系統(tǒng)(COS:CafeteriaOrderingSystem),企業(yè)員工可通過企業(yè)內(nèi)聯(lián)網(wǎng)使用該系統(tǒng)。該系統(tǒng)功能描述如下:(1)企業(yè)的任何員工都可以查看菜單和今日特價;(2)系統(tǒng)的顧客是注冊到系統(tǒng)的員工,可以在線訂餐(以下操作均需先登錄)、注冊工資支付、修改訂餐信息和刪除訂餐信息,在注冊工資支付時需要通過工資系統(tǒng)進(jìn)行身份驗證;(3)餐廳員工是特殊的顧客,可以進(jìn)行備餐(系統(tǒng)記錄備餐信息)、生成付費請求和請求送餐,其中對于注冊使用工資支付的顧客生成付費請求并發(fā)送給工資系統(tǒng);(4)菜單管理員是餐廳員工的一種,可以管理菜單;(5)送餐員也是餐廳員工的一種,可以打印送餐說明、記錄送餐信息(如送餐時間)以及記錄收費(對于沒有注冊工資支付的顧客,由送餐員收取現(xiàn)金后記錄)。3.Drawausecasediagramforthefollowinglibrarysystem:Thelibrarystoresvariousitemsthatcanbeborrowed,includingbooksandjournals.Bookscanbeborrowedbybothstaffandstudents,butonlystaffmemberscanborrowjournals.Whenauserborrowsabook,theirloandetailsarecheckedtoensurethattheyhavenooverduebooksonloan,andhavenotalreadyborrowedthemaximumpermittednumberofbooks.Userscanchecktheirownloandetailsatanytime.Librariansarepermittedtochecktheloandetailsofanyuser.Libraryuserscanreservebooksthatarecurrentlyoutonloan.Ifthreereservationshavealreadybeenmadeforagivenbook,andafurtherreservationismade,anewcopywillbeorderedbythelibrarian.4.某銀行準(zhǔn)備開發(fā)一個網(wǎng)上信用卡管理系統(tǒng)CCMS,該系統(tǒng)的基本功能為:(1)信用卡申請。非信用卡客戶,說明所要申請的信用卡類型及申請者的基本信息,提交CCMS登錄。如果信用卡申請被銀行接受,客戶會收到銀行的確認(rèn)函,并告知用戶信用卡的有效期及信貸限額;否則銀行會發(fā)送一封拒絕函給該客戶??蛻羰盏酱_認(rèn)函后,需再次登錄CCMS,用信用卡號和密碼激活該信用卡。激活操作結(jié)束后,CCMS將激活通知發(fā)送給客戶,告知客戶其信用卡是否被成功地激活。(2)月報表生成。在每個月第一天的零點,CCMS為每個信用卡客戶創(chuàng)建一份月報表,對該客戶上月的信用卡交易情況及交易額進(jìn)行統(tǒng)計。信用卡客戶可以登錄CCMS查看月報表,也可以要求CCMS提供打印出的月報表。(3)信用卡客戶信息管理。信用卡客戶的個人信息可以在CCMS中進(jìn)行在線的管理。每個信用卡客戶可以在線查詢其個人信息。(4)信用卡交易記錄。信用卡客戶使用信息卡進(jìn)行的每一筆交易都會記錄在CCMS中。(5)交易信息查詢。信用卡客戶可以登錄CCMS查詢并核實其信用卡交易記錄及交易額。構(gòu)造該系統(tǒng)的用例模型,要求繪制用例圖,編寫相應(yīng)的用例文檔,還需提供用例追蹤矩陣。5.根據(jù)以下描述繪制狀態(tài)圖:某銷售信息管理系統(tǒng)中銷售部員工可以提交訂單,剛提交的訂單為“初始”狀態(tài);系統(tǒng)管理員可以處理訂單,如果訂單無誤,則修改訂單為“備貨”狀態(tài),否則將訂單退還給提交訂單的銷售部員工修改,員工此時可以取消訂單;倉庫管理員備貨完畢后可將訂單狀態(tài)改為“發(fā)貨”狀態(tài);銷售部員工在確認(rèn)客戶已經(jīng)收到貨物后,可將訂單改為“關(guān)閉”狀態(tài)。6.某航空公司會員積分系統(tǒng)描述如下:乘客只要辦理該航空公司的會員卡,即可成為普卡會員,普卡會員可以升級到銀卡會員或金卡會員。非會員不能積累里程數(shù)。每年年末,系統(tǒng)根據(jù)會員在本年度累積的里程數(shù)對下一年會員等級進(jìn)行調(diào)整。普卡會員在一年內(nèi)累積的里程數(shù)若滿25000英里但不足50000英里,則自動升級為銀卡會員;若累積的里程數(shù)在50000英里以上,則自動升級為金卡會員。銀卡會員在一年內(nèi)累積的里程數(shù)若在50000英里以上,則自動升級為金卡會員。若一年內(nèi)沒有達(dá)到對應(yīng)級別要求的里程數(shù),則自動降低會員等級。金卡會員一年內(nèi)累積的里程數(shù)若不足25000英里,則自動降級為普卡會員;若累積的里程數(shù)達(dá)到25000英里,但是不足50000英里,則自動降級為銀卡會員。銀卡會員一年內(nèi)累積的里程數(shù)若不足25000英里,則自動降級為普卡會員。請根據(jù)以上描述繪制會員對象的狀態(tài)圖。7.根據(jù)以下描述繪制某訂餐系統(tǒng)中顧客訂餐過程的活動圖(要求繪制泳道):(1)顧客請求查看菜單;(2)系統(tǒng)顯示菜單和今日特價;(3)顧客選菜;(4)系統(tǒng)顯示訂單和價格;(5)顧客確認(rèn)訂單;(6)系統(tǒng)顯示可送餐時間;(7)顧客指定送餐時間、地點和支付方式;(8)系統(tǒng)確認(rèn)接受訂單,然后發(fā)送Email給顧客以確認(rèn)訂餐,同時發(fā)送相關(guān)訂餐信息通知給餐廳員工。8.某在線拍賣網(wǎng)站的拍賣流程描述如下:(1)賣方在網(wǎng)站上發(fā)起一次拍賣,并設(shè)置本次拍賣的起拍價。(2)賣方確定拍賣標(biāo)的以及拍賣標(biāo)的保留價(若在拍賣時間結(jié)束時,所有出價均低于拍賣標(biāo)的保留價,則本次拍賣失?。?。(3)賣方在網(wǎng)站上發(fā)布本次拍賣品的介紹。(4)買方參與拍賣,給出競拍價,多個買方可以出價。(5)賣方選擇接受一個競拍價作為成交價,買方在線支付,結(jié)束拍賣。根據(jù)以上描述繪制活動圖(要求繪制泳道)。9.根據(jù)如下描述繪制順序圖:在某在線訂房系統(tǒng)中,顧客輸入房間套數(shù)、房間類型、入住時間、入住天數(shù)等信息,系統(tǒng)顯示符合要求的房間號;顧客確定預(yù)訂的房間,系統(tǒng)顯示預(yù)付訂金信息;顧客輸入信用卡賬號和密碼,系統(tǒng)請求銀行信用卡系統(tǒng)提供支付服務(wù);銀行信用卡系統(tǒng)驗證用戶信息并返回驗證通過和支付成功消息;顧客請求系統(tǒng)打印預(yù)訂單和收據(jù),系統(tǒng)打印相關(guān)資料;預(yù)訂結(jié)束。10.根據(jù)以下Java源代碼繪制相應(yīng)的順序圖:publicclassSale{ privateList<SalesProductItem>productItems=newArrayList<SalesProductItem>; publicMoneygetTotal(){ Moneytotal=newMoney(); MoneysubTotal=null; for(SalesProductItemitem:productItems){ subTotal=item.getSubTotal(); total.add(subTotal); } returntotal; }}11.根據(jù)以下描述繪制類圖,再正向工程生成Java源代碼(也可生成其他面向?qū)ο笳Z言的源代碼,如C++或C#等):圖形(Shape)可分為圓形(Circle)、矩形(Rectangle)、橢圓形(Ellipse)等具體圖形,在Shape類中提供了一個抽象的draw()方法用于繪制圖形,而在具體的圖形類中實現(xiàn)該抽象draw()方法。提供一個圖形工廠類(ShapeFactory),該類提供一個靜態(tài)方法createShape(chartype),其返回類型為Shape,參數(shù)type為所需繪制圖形對應(yīng)的代碼,例如“c”表示圓形,“r”表示矩形,“e”表示橢圓形等,在createShape()方法中,可以使用條件語句來判斷所需繪制圖形的類型,并根據(jù)參數(shù)的不同返回不同的具體形狀對象?!咀ⅲ骸皠?chuàng)建關(guān)系”是一種特殊的“依賴關(guān)系”】12.根據(jù)以下描述繪制類圖:某商場會員管理系統(tǒng)包含一個會員類(Member),會員的基本信息包括會員編號、會員姓名、聯(lián)系電話、電子郵箱、地址等,會員可分為金卡會員(GoldMember)和銀卡會員(SilverMember)兩種,不同類型的會員在購物時可以享受不同的折扣;每個會員可以擁有一個或多個訂單(Order),每一個訂單又可以包含至少一條商品銷售信息(ProductItem),商品銷售信息包括訂單編號、商品編號、商品數(shù)量、商品單價和折扣等;每一條商品銷售信息對應(yīng)一類商品(Product),商品信息包括商品編號、商品名稱、商品單價、商品庫存量、商品產(chǎn)地等。13.某基于C/S的即時聊天系統(tǒng)的注冊和登錄模塊功能描述如下:(1)注冊功能:用戶通過注冊界面(RegisterForm)輸入新帳號,系統(tǒng)檢測該帳號是否已存在,如果不存在則可注冊成功,否則提示“帳號已存在”,用戶再次輸入帳號;用戶輸入其他個人信息;系統(tǒng)保存用戶個人信息;用戶個人信息包括帳號、密碼、姓名、性別、年齡、電話、電子郵箱等。(2)登錄功能:用戶通過登錄界面(LoginForm)輸入賬號和密碼,系統(tǒng)將輸入的賬號和密碼與存儲在數(shù)據(jù)庫(User)表中的用戶信息進(jìn)行比較,驗證用戶輸入是否正確,如果輸入正確則進(jìn)入主界面(MainForm),否則提示“輸入錯誤”?,F(xiàn)對這兩個模塊進(jìn)行設(shè)計,要求如下:(1)根據(jù)以上描述繪制類圖,要求分析出每個類中的主要方法;(2)需要提供獨立的業(yè)務(wù)邏輯類和數(shù)據(jù)訪問類,考慮到數(shù)據(jù)庫的移植性,需提供抽象的數(shù)據(jù)訪問接口;(3)盡量使用數(shù)據(jù)傳輸對象(DTO)來傳遞參數(shù),減少方法中參數(shù)的個數(shù)。14.根據(jù)以下描述,使用組件圖對所述源代碼文件進(jìn)行建模:Help.h是一個頭文件,被Calculate.cpp和Filter.cpp引用,而Calculate.cpp又引用了Filter.cpp。此外,F(xiàn)ilter.cpp還引用了頭文件FileReader.h,Display.cpp又依賴于Calculate.cpp的運算結(jié)果。 15.某電子商務(wù)網(wǎng)站的硬件部署情況如下:(1)客戶可通過瀏覽器訪問該網(wǎng)站,以實現(xiàn)查詢商品、在線購物、注冊、登錄等功能;(2)電子商務(wù)網(wǎng)站的界面文件和業(yè)務(wù)邏輯代碼以war文件的方式部署在一臺Web服務(wù)器上,該服務(wù)器使用Tomcat作為Web服務(wù)器中間件;(3)為了降低Web服務(wù)器的負(fù)載,該網(wǎng)站的數(shù)據(jù)庫部署在另一臺服務(wù)器中,Web服務(wù)器通過網(wǎng)絡(luò)連接數(shù)據(jù)庫服務(wù)器;(4)為了實現(xiàn)在線支付功能,網(wǎng)站需要與銀行提供的網(wǎng)上銀行系統(tǒng)進(jìn)行通信;(5)考慮到系統(tǒng)的安全性,系統(tǒng)的后臺管理通過C/S方式來實現(xiàn),后臺管理程序打包成jar文件,管理員在自己的工作電腦中通過該jar文件中的數(shù)據(jù)庫訪問模塊直接訪問數(shù)據(jù)庫服務(wù)器,以實現(xiàn)對網(wǎng)站數(shù)據(jù)的增刪改查等操作和管理。根據(jù)以上描述繪制該電子商務(wù)網(wǎng)站的部署圖。三、實驗要求1.正確安裝PowerDesigner;2.熟練使用PowerDesigner繪制用例圖、狀態(tài)圖、活動圖、順序圖、類圖、組件圖和部署圖;3.需按照用例建模的流程,提供用例圖、用例文檔和用例追蹤矩陣;4.熟練使用PowerDesigner實現(xiàn)正向工程和逆向工程;5.使用UML2.X中的標(biāo)準(zhǔn)圖符繪制圖形,對于一些較為復(fù)雜的圖形,適當(dāng)增加文字注釋來進(jìn)行說明;6.所繪制圖形必須正確、完整,需具有較好的可讀性,注意圖形中圖符和文字大小及布局。四、實驗步驟1.安裝PowerDesigner15.X;2.熟悉PowerDesigner15.X的常用功能;3.分析實例場景,識別執(zhí)行者;4.識別用例及用例之間的關(guān)系;5.使用PowerDesigner15.X繪制用例圖;6.撰寫用例文檔;7.創(chuàng)建用例追蹤矩陣;8.使用PowerDesigner15.X繪制狀態(tài)圖;9.使用PowerDesigner15.X繪制活動圖;10.使用PowerDesigner15.X繪制順序圖;11.使用PowerDesigner15.X繪制類圖,并正向工程生成源代碼;12.使用PowerDesigner15.X繪制組件圖;13.使用PowerDesigner15.X繪制部署圖。五、實驗結(jié)果1.酒店訂房系統(tǒng)用例圖:2.訂餐系統(tǒng)用例圖:3.圖書館系統(tǒng)(LibrarySystem)用例圖:4.網(wǎng)上信用卡管理系統(tǒng)CCMS的需求模型:(1)用例圖: (2)用例描述文檔: (3)用例追蹤矩陣:5.銷售信息管理系統(tǒng)中訂單對象的狀態(tài)圖: 6.航空公司會員積分系統(tǒng)中會員對象的狀態(tài)圖: 7.訂餐系統(tǒng)活動圖: 8.在線拍賣網(wǎng)站拍賣流程活動圖:9.在線訂房系統(tǒng)順序圖:10.源代碼對應(yīng)的順序圖:11.類圖:源代碼:/************************************************************************Module:Shape.java*Author:溫睿誠*Purpose:DefinestheClassShape***********************************************************************/importjava.util.*;/**@pdOidd441b20d-f4d2-4238-a6c4-698a591b9d33*/publicabstractclassShape{/**@pdOid4f77af56-5595-447b-998e-2d6e3f62e8f6*/publicabstractvoiddraw();}/************************************************************************Module:Circle.java*Author:溫睿誠*Purpose:DefinestheClassCircle***********************************************************************/importjava.util.*;/**@pdOidaa5d04eb-1082-4103-b912-2cde4e6b88b7*/publicclassCircleextendsShape{/**@pdOid8e7e9461-d13c-48b1-a4bb-53de19fc678e*/publicvoiddraw(){//TODO:implement}}/************************************************************************Module:Rectangle.java*Author:溫睿誠*Purpose:DefinestheClassRectangle***********************************************************************/importjava.util.*;/**@pdOid0b3e43a3-2821-4f6a-a11b-ed15b854ea38*/publicclassRectangleextendsShape{/**@pdOidf6563643-07dc-48e5-8fba-3f20e86b524f*/publicvoiddraw(){//TODO:implement}}/************************************************************************Module:Ellipse.java*Author:溫睿誠*Purpose:DefinestheClassEllipse***********************************************************************/importjava.util.*;/**@pdOid783783ab-b83e-4867-bfbe-f6b8e8136b2c*/publicclassEllipseex

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。