版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件體系結(jié)構(gòu)實(shí)驗(yàn)報(bào)告項(xiàng)目名稱 UML實(shí)驗(yàn) 專業(yè)班級(jí) 軟件工程1307班學(xué) 號(hào) 3901130721姓 名 譚淇蔚 實(shí)驗(yàn)成績(jī):批閱教師:2015年 11 月 25 日實(shí)驗(yàn)1 UML實(shí)驗(yàn)實(shí)驗(yàn)學(xué)時(shí): 4 每組人數(shù): 1 實(shí)驗(yàn)類型: 3 (1:基礎(chǔ)性 2:綜合性 3:設(shè)計(jì)性 4:研究性)實(shí)驗(yàn)要求: 1 (1:必修 2:選修 3:其它)實(shí)驗(yàn)類別: 3 (1:基礎(chǔ) 2:專業(yè)基礎(chǔ) 3:專業(yè) 4:其它)一、實(shí)驗(yàn)?zāi)康?. 學(xué)會(huì)安裝和使用建模工具PowerDesigner,熟練使用PowerDesigner繪制常用的UML圖形,熟悉常用的UML符號(hào);2. 構(gòu)建用例模型來描述軟件需求,包括繪制用例圖,撰寫用例文檔并
2、制作用例檢查矩陣;3. 學(xué)習(xí)使用狀態(tài)圖描述對(duì)象的狀態(tài)及轉(zhuǎn)換;4. 學(xué)習(xí)使用活動(dòng)圖為業(yè)務(wù)流程建模;5. 學(xué)習(xí)使用順序圖描述對(duì)象之間的交互;6. 學(xué)習(xí)類圖的繪制;7. 學(xué)習(xí)從系統(tǒng)需求中識(shí)別類,并構(gòu)建相應(yīng)的面向?qū)ο竽P停?. 學(xué)習(xí)使用PowerDesigner實(shí)現(xiàn)正向工程和逆向工程。二、實(shí)驗(yàn)內(nèi)容1. 某酒店訂房系統(tǒng)描述如下:(1) 顧客可以選擇在線預(yù)訂,也可以直接去酒店通過前臺(tái)服務(wù)員預(yù)訂;(2) 前臺(tái)服務(wù)員可以利用系統(tǒng)直接在前臺(tái)預(yù)訂房間;(3) 不管采用哪種預(yù)訂方式,都需要在預(yù)訂時(shí)支付相應(yīng)訂金;(4) 前臺(tái)預(yù)訂可以通過現(xiàn)金或信用卡的形式進(jìn)行訂金支付,但是網(wǎng)上預(yù)訂只能通過信用卡進(jìn)行支付;(5) 利用信
3、用卡進(jìn)行支付時(shí)需要和信用卡系統(tǒng)進(jìn)行通信;(6) 客房部經(jīng)理可以隨時(shí)查看客房預(yù)訂情況和每日收款情況。繪制該酒店訂房系統(tǒng)的用例圖。2. 根據(jù)以下場(chǎng)景繪制用例圖:某企業(yè)為了方便員工用餐,為企業(yè)餐廳開發(fā)了一個(gè)訂餐系統(tǒng)(COS:Cafeteria Ordering System),企業(yè)員工可通過企業(yè)內(nèi)聯(lián)網(wǎng)使用該系統(tǒng)。該系統(tǒng)功能描述如下:(1) 企業(yè)的任何員工都可以查看菜單和今日特價(jià);(2) 系統(tǒng)的顧客是注冊(cè)到系統(tǒng)的員工,可以在線訂餐(以下操作均需先登錄)、注冊(cè)工資支付、修改訂餐信息和刪除訂餐信息,在注冊(cè)工資支付時(shí)需要通過工資系統(tǒng)進(jìn)行身份驗(yàn)證;(3) 餐廳員工是特殊的顧客,可以進(jìn)行備餐(系統(tǒng)記錄備餐信息)
4、、生成付費(fèi)請(qǐng)求和請(qǐng)求送餐,其中對(duì)于注冊(cè)使用工資支付的顧客生成付費(fèi)請(qǐng)求并發(fā)送給工資系統(tǒng);(4) 菜單管理員是餐廳員工的一種,可以管理菜單;(5) 送餐員也是餐廳員工的一種,可以打印送餐說明、記錄送餐信息(如送餐時(shí)間)以及記錄收費(fèi)(對(duì)于沒有注冊(cè)工資支付的顧客,由送餐員收取現(xiàn)金后記錄)。3. 根據(jù)以下場(chǎng)景繪制用例圖:某公司需開發(fā)一個(gè)反饋處理系統(tǒng)作為其CRM的一部分。系統(tǒng)基本功能描述如下:(1) 客戶可通過系統(tǒng)發(fā)布反饋信息;(2) 公司客戶關(guān)系(CR)部門員工也可以在系統(tǒng)中記錄反饋信息;(3) 業(yè)務(wù)部門的主管和員工均能看到本部門的反饋信息,但只有CR部門員工擁有修改與刪除反饋的權(quán)限;(4) 對(duì)于部分需
5、要調(diào)查以便驗(yàn)證其真實(shí)性并需要做相關(guān)處理的反饋信息,業(yè)務(wù)部門主管有權(quán)通過系統(tǒng)安排本部門員工調(diào)查及處理該反饋;(5) 反饋調(diào)查與處理完畢后,負(fù)責(zé)調(diào)查的員工可通過系統(tǒng)輸入反饋的詳細(xì)情況;(6) 公司高層可查看未決反饋統(tǒng)計(jì)報(bào)表和各業(yè)務(wù)部門的反饋統(tǒng)計(jì)報(bào)表;(7) 所有人員進(jìn)入本系統(tǒng)需先登錄。4. Draw a use case diagram for the following library system:The library stores various items that can be borrowed, including books and journals. Books can be b
6、orrowed by both staff and students, but only staff members can borrow journals. When a user borrows a book, their loan details are checked to ensure that they have no overdue books on loan, and have not already borrowed the maximum permitted number of books.Users can check their own loan details at
7、any time. Librarians are permitted to check the loan details of any user.Library users can reserve books that are currently out on loan. If three reservations have already been made for a given book, and a further reservation is made, a new copy will be ordered by the librarian.5. 某銀行準(zhǔn)備開發(fā)一個(gè)網(wǎng)上信用卡管理系統(tǒng)
8、 CCMS,該系統(tǒng)的基本功能為: (1) 信用卡申請(qǐng)。非信用卡客戶填寫信用卡申請(qǐng)表,說明所要申請(qǐng)的信用卡類型及申請(qǐng)者的基本信息,提交 CCMS登錄。如果信用卡申請(qǐng)被銀行接受,客戶會(huì)收到銀行的確認(rèn)函, 并告知用戶信用卡的有效期及信貸限額;否則銀行會(huì)發(fā)送一封拒絕函給該客戶??蛻羰盏酱_認(rèn)函后,需再次登錄 CCMS,用信用卡號(hào)和密碼激活該信用卡。激活操作結(jié)束后,CCMS將激活通知發(fā)送給客戶,告知客戶其信用卡是否被成功地激活。(2) 月報(bào)表生成。在每個(gè)月第一天的零點(diǎn),CCMS為每個(gè)信用卡客戶創(chuàng)建一份月報(bào)表,對(duì)該客戶上月的信用卡交易情況及交易額進(jìn)行統(tǒng)計(jì)。信用卡客戶可以登錄 CCMS查看月報(bào)表,也可以要求
9、CCMS提供打印出的月報(bào)表。 (3) 信用卡客戶信息管理。信用卡客戶的個(gè)人信息可以在 CCMS 中進(jìn)行在線的管理。每個(gè)信用卡客戶可以在線查詢其個(gè)人信息。 (4) 信用卡交易記錄。信用卡客戶使用信息卡進(jìn)行的每一筆交易都會(huì)記錄在 CCMS中。 (5) 交易信息查詢。信用卡客戶可以登錄 CCMS查詢并核實(shí)其信用卡交易記錄及交易額。 構(gòu)造該系統(tǒng)的用例模型,要求繪制用例圖,編寫相應(yīng)的用例文檔,還需提供用例追蹤矩陣。6. 根據(jù)以下描述繪制狀態(tài)圖:某銷售信息管理系統(tǒng)中銷售部員工可以提交訂單,剛提交的訂單為“初始”狀態(tài);系統(tǒng)管理員可以處理訂單,如果訂單無誤,則修改訂單為“備貨”狀態(tài),否則將訂單退還給提交訂單的
10、銷售部員工修改,員工此時(shí)可以取消訂單;倉(cāng)庫(kù)管理員備貨完畢后可將訂單狀態(tài)改為“發(fā)貨”狀態(tài);銷售部員工在確認(rèn)客戶已經(jīng)收到貨物后,可將訂單改為“關(guān)閉”狀態(tài)。7. 根據(jù)以下描述繪制某訂餐系統(tǒng)中顧客訂餐過程的活動(dòng)圖(要求繪制泳道):(1) 顧客請(qǐng)求查看菜單;(2) 系統(tǒng)顯示菜單和今日特價(jià);(3) 顧客選菜;(4) 系統(tǒng)顯示訂單和價(jià)格;(5) 顧客確認(rèn)訂單;(6) 系統(tǒng)顯示可送餐時(shí)間;(7) 顧客指定送餐時(shí)間、地點(diǎn)和支付方式;(8) 系統(tǒng)確認(rèn)接受訂單,然后發(fā)送Email給顧客以確認(rèn)訂餐,同時(shí)發(fā)送相關(guān)訂餐信息通知給餐廳員工。8. 根據(jù)如下描述繪制順序圖:在某在線訂房系統(tǒng)中,顧客輸入房間套數(shù)、房間類型、入住時(shí)
11、間、入住天數(shù)等信息,系統(tǒng)顯示符合要求的房間號(hào);顧客確定預(yù)訂的房間,系統(tǒng)顯示預(yù)付訂金信息;顧客輸入信用卡賬號(hào)和密碼,系統(tǒng)請(qǐng)求銀行信用卡系統(tǒng)提供支付服務(wù);銀行信用卡系統(tǒng)驗(yàn)證用戶信息并返回驗(yàn)證通過和支付成功消息;顧客請(qǐng)求系統(tǒng)打印預(yù)訂單和收據(jù),系統(tǒng)打印相關(guān)資料;預(yù)訂結(jié)束。9. 根據(jù)以下Java源代碼繪制相應(yīng)的順序圖:public class Sale private List<SalesProductItem> productItems = new ArrayList<SalesProductItem>public Money getTotal() Money total =
12、new Money();Money subTotal = null;for (SalesProductItem item : productItems) subTotal = item.getSubTotal();total.add(subTotal);return total;10. 根據(jù)以下描述繪制類圖,再正向工程生成Java源代碼(也可生成其他面向?qū)ο笳Z言的源代碼,如C+或C#等):圖形(Shape)可分為圓形(Circle)、矩形(Rectangle)、橢圓形(Ellipse)等具體圖形,在Shape類中提供了一個(gè)抽象的draw()方法用于繪制圖形,而在具體的圖形類中實(shí)現(xiàn)該抽象draw
13、()方法。提供一個(gè)圖形工廠類(ShapeFactory),該類提供一個(gè)靜態(tài)方法createShape(char type),其返回類型為Shape,參數(shù)type為所需繪制圖形對(duì)應(yīng)的代碼,例如“c”表示圓形,“r”表示矩形,“e”表示橢圓形等,在createShape()方法中,可以使用條件語句來判斷所需繪制圖形的類型,并根據(jù)參數(shù)的不同返回不同的具體形狀對(duì)象?!咀ⅲ骸皠?chuàng)建關(guān)系”是一種特殊的“依賴關(guān)系”】11. 根據(jù)以下描述繪制類圖:某商場(chǎng)會(huì)員管理系統(tǒng)包含一個(gè)會(huì)員類(Member),會(huì)員的基本信息包括會(huì)員編號(hào)、會(huì)員姓名、聯(lián)系電話、電子郵箱、地址等,會(huì)員可分為金卡會(huì)員(GoldMember)和銀卡會(huì)
14、員(SilverMember)兩種,不同類型的會(huì)員在購(gòu)物時(shí)可以享受不同的折扣;每個(gè)會(huì)員可以擁有一個(gè)或多個(gè)訂單(Order),每一個(gè)訂單又可以包含至少一條商品銷售信息(ProductItem),商品銷售信息包括訂單編號(hào)、商品編號(hào)、商品數(shù)量、商品單價(jià)和折扣等;每一條商品銷售信息對(duì)應(yīng)一類商品(Product),商品信息包括商品編號(hào)、商品名稱、商品單價(jià)、商品庫(kù)存量、商品產(chǎn)地等。12. 某基于C/S的即時(shí)聊天系統(tǒng)的注冊(cè)和登錄模塊功能描述如下:(1) 注冊(cè)功能:用戶通過注冊(cè)界面(RegisterForm)輸入新帳號(hào),系統(tǒng)檢測(cè)該帳號(hào)是否已存在,如果不存在則可注冊(cè)成功,否則提示“帳號(hào)已存在”,用戶再次輸入帳號(hào)
15、;用戶輸入其他個(gè)人信息;系統(tǒng)保存用戶個(gè)人信息;用戶個(gè)人信息包括帳號(hào)、密碼、姓名、性別、年齡、電話、電子郵箱等。(2) 登錄功能:用戶通過登錄界面(LoginForm)輸入賬號(hào)和密碼,系統(tǒng)將輸入的賬號(hào)和密碼與存儲(chǔ)在數(shù)據(jù)庫(kù)(User)表中的用戶信息進(jìn)行比較,驗(yàn)證用戶輸入是否正確,如果輸入正確則進(jìn)入主界面(MainForm),否則提示“輸入錯(cuò)誤”。現(xiàn)對(duì)這兩個(gè)模塊進(jìn)行設(shè)計(jì),要求如下:(1) 根據(jù)以上描述繪制類圖,要求分析出每個(gè)類中的主要方法;(2) 需要提供獨(dú)立的業(yè)務(wù)邏輯類和數(shù)據(jù)訪問類,考慮到數(shù)據(jù)庫(kù)的移植性,需提供抽象的數(shù)據(jù)訪問接口;(3) 盡量使用數(shù)據(jù)傳輸對(duì)象(DTO)來傳遞參數(shù),減少方法中參數(shù)的個(gè)
16、數(shù)。三、實(shí)驗(yàn)要求1. 正確安裝PowerDesigner;2. 熟練使用PowerDesigner繪制用例圖、狀態(tài)圖、活動(dòng)圖、順序圖和類圖;3. 需按照用例建模的流程,提供用例圖、用例文檔和用例追蹤矩陣;4. 熟練使用PowerDesigner實(shí)現(xiàn)正向工程和逆向工程;5. 使用UML2.X中的標(biāo)準(zhǔn)圖符繪制圖形,對(duì)于一些較為復(fù)雜的圖形,適當(dāng)增加文字注釋來進(jìn)行說明;6. 所繪制圖形必須正確、完整,需具有較好的可讀性,注意圖形中圖符和文字大小及布局。四、實(shí)驗(yàn)步驟1. 安裝PowerDesigner15.X;2. 熟悉PowerDesigner15.X的常用功能;3. 分析實(shí)例場(chǎng)景,識(shí)別執(zhí)行者;4.
17、識(shí)別用例及用例之間的關(guān)系;5. 使用PowerDesigner15.X繪制用例圖;6. 撰寫用例文檔;7. 創(chuàng)建用例追蹤矩陣;8. 使用PowerDesigner15.X繪制狀態(tài)圖;9. 分析訂餐系統(tǒng)中顧客訂餐過程的流程,繪制相應(yīng)的活動(dòng)圖;10. 分析在線訂房系統(tǒng)中顧客與系統(tǒng)之間的交互過程,繪制相應(yīng)的順序圖;11. 根據(jù)源代碼繪制相應(yīng)的順序圖;12. 根據(jù)描述繪制類圖并正向工程生成源代碼;13. 分析商場(chǎng)會(huì)員管理系統(tǒng)中實(shí)體類之間的關(guān)系,繪制相應(yīng)的類圖;14. 分析某基于C/S的即時(shí)聊天系統(tǒng)的注冊(cè)和登錄模塊的功能,繪制對(duì)應(yīng)的類圖。五、實(shí)驗(yàn)結(jié)果1. 酒店訂房系統(tǒng)用例圖:原題目:1. 某酒店訂房系統(tǒng)
18、描述如下:(1) 顧客可以選擇在線預(yù)訂,也可以直接去酒店通過前臺(tái)服務(wù)員預(yù)訂;(2) 前臺(tái)服務(wù)員可以利用系統(tǒng)直接在前臺(tái)預(yù)訂房間;(3) 不管采用哪種預(yù)訂方式,都需要在預(yù)訂時(shí)支付相應(yīng)訂金;(4) 前臺(tái)預(yù)訂可以通過現(xiàn)金或信用卡的形式進(jìn)行訂金支付,但是網(wǎng)上預(yù)訂只能通過信用卡進(jìn)行支付;(5) 利用信用卡進(jìn)行支付時(shí)需要和信用卡系統(tǒng)進(jìn)行通信;(6) 客房部經(jīng)理可以隨時(shí)查看客房預(yù)訂情況和每日收款情況。繪制該酒店訂房系統(tǒng)的用例圖。解答:場(chǎng)景分析:n 識(shí)別執(zhí)行者這里面用戶的執(zhí)行者有1. 顧客(使用系統(tǒng)在線預(yù)訂)2. 前臺(tái)服務(wù)員(利用系統(tǒng)直接前臺(tái)預(yù)訂)3. 客房部經(jīng)理(查看客房預(yù)訂情況和每日收款情況)4. 信用卡系
19、統(tǒng)(系統(tǒng)在信用卡支付時(shí)和信用卡系統(tǒng)進(jìn)行通信,信用卡系統(tǒng)屬于外部系統(tǒng)交互范疇,所以也屬于執(zhí)行者)n 識(shí)別用例這里面用例有這些:1. 在線預(yù)訂2. 前臺(tái)預(yù)訂房間3. 支付相應(yīng)定金4. 現(xiàn)金的形式進(jìn)行訂金支付5. 信用卡的形式進(jìn)行訂金支付6. 查看客房預(yù)訂情況7. 每日收款情況由于現(xiàn)金支付和信用卡支付都屬于支付范疇,所以我選擇用這兩個(gè)用例用擴(kuò)展關(guān)系來表示。可以使用泛化,但是其一,不好表示網(wǎng)上預(yù)訂只能通過信用卡進(jìn)行支付的情形,其二,增加了一個(gè)基用例會(huì)造成一個(gè)圖里的用例過多,造成雜亂,所以我選擇擴(kuò)展關(guān)系。n 繪制用例圖2. 訂餐系統(tǒng)用例圖:原題目:2. 根據(jù)以下場(chǎng)景繪制用例圖:某企業(yè)為了方便員工用餐,為
20、企業(yè)餐廳開發(fā)了一個(gè)訂餐系統(tǒng)(COS:Cafeteria Ordering System),企業(yè)員工可通過企業(yè)內(nèi)聯(lián)網(wǎng)使用該系統(tǒng)。該系統(tǒng)功能描述如下:(1) 企業(yè)的任何員工都可以查看菜單和今日特價(jià);(2) 系統(tǒng)的顧客是注冊(cè)到系統(tǒng)的員工,可以在線訂餐(以下操作均需先登錄)、注冊(cè)工資支付、修改訂餐信息和刪除訂餐信息,在注冊(cè)工資支付時(shí)需要通過工資系統(tǒng)進(jìn)行身份驗(yàn)證;(3) 餐廳員工是特殊的顧客,可以進(jìn)行備餐(系統(tǒng)記錄備餐信息)、生成付費(fèi)請(qǐng)求和請(qǐng)求送餐,其中對(duì)于注冊(cè)使用工資支付的顧客生成付費(fèi)請(qǐng)求并發(fā)送給工資系統(tǒng);(4) 菜單管理員是餐廳員工的一種,可以管理菜單;(5) 送餐員也是餐廳員工的一種,可以打印送餐
21、說明、記錄送餐信息(如送餐時(shí)間)以及記錄收費(fèi)(對(duì)于沒有注冊(cè)工資支付的顧客,由送餐員收取現(xiàn)金后記錄)。解答:場(chǎng)景分析:n 識(shí)別執(zhí)行者1. 企業(yè)的任何員工(查看菜單和今日特價(jià))2. 工資系統(tǒng)(外部系統(tǒng)執(zhí)行者,內(nèi)部用例注冊(cè)工資需要使用其來驗(yàn)證身份)3. 餐廳員工(備餐等活動(dòng))4. 菜單管理員(管理菜單等)5. 送餐員(打印送餐等等)6. 顧客n 識(shí)別用例1. 在線訂餐2. 查看菜單3. 查看今日特價(jià)4. 注冊(cè)工資支付5. 修改訂餐信息6. 刪除訂餐信息7. 身份驗(yàn)證8. 備餐9. 生成付費(fèi)請(qǐng)求10. 請(qǐng)求送餐11. 管理菜單12. 打印送餐說明13. 記錄送餐信息14. 記錄收費(fèi)15. 登錄16.
22、注冊(cè)n 繪制用例圖通過分析,該系統(tǒng)的執(zhí)行者包括員工、顧客、餐廳員工、菜單管理員、送餐員和工資系統(tǒng),員工與顧客之間具有泛化關(guān)系,顧客與餐廳員工之間具有泛化關(guān)系,餐廳員工與菜單管理員和送餐員之間具有泛化關(guān)系。3. 反饋處理系統(tǒng)用例圖:原題目:3. 根據(jù)以下場(chǎng)景繪制用例圖:某公司需開發(fā)一個(gè)反饋處理系統(tǒng)作為其CRM的一部分。系統(tǒng)基本功能描述如下:(1) 客戶可通過系統(tǒng)發(fā)布反饋信息;(2) 公司客戶關(guān)系(CR)部門員工也可以在系統(tǒng)中記錄反饋信息;(3) 業(yè)務(wù)部門的主管和員工均能看到本部門的反饋信息,但只有CR部門員工擁有修改與刪除反饋的權(quán)限;(4) 對(duì)于部分需要調(diào)查以便驗(yàn)證其真實(shí)性并需要做相關(guān)處理的反饋
23、信息,業(yè)務(wù)部門主管有權(quán)通過系統(tǒng)安排本部門員工調(diào)查及處理該反饋;(5) 反饋調(diào)查與處理完畢后,負(fù)責(zé)調(diào)查的員工可通過系統(tǒng)輸入反饋的詳細(xì)情況;(6) 公司高層可查看未決反饋統(tǒng)計(jì)報(bào)表和各業(yè)務(wù)部門的反饋統(tǒng)計(jì)報(bào)表;(7) 所有人員進(jìn)入本系統(tǒng)需先登錄。解答:場(chǎng)景分析:n 識(shí)別執(zhí)行者1. 客戶2. CR部門員工3. 公司員工4. 業(yè)務(wù)部門主管5. 業(yè)務(wù)部門員工6. 公司高層n 識(shí)別用例1. 發(fā)布反饋消息2. 記錄反饋消息3. 管理反饋消息(修改與刪除反饋消息的操作的歸納)4. 查看反饋消息5. 安排員工調(diào)查和處理6. 輸入反饋詳情7. 查看反饋統(tǒng)計(jì)報(bào)表(查看未決反饋統(tǒng)計(jì)報(bào)表和各業(yè)務(wù)部門的反饋統(tǒng)計(jì)報(bào)表)8. 登
24、錄n 繪制用例圖4. 圖書館系統(tǒng)(Library System)用例圖:原題目:4. Draw a use case diagram for the following library system:The library stores various items that can be borrowed, including books and journals. Books can be borrowed by both staff and students, but only staff members can borrow journals. When a user borrows a
25、 book, their loan details are checked to ensure that they have no overdue books on loan, and have not already borrowed the maximum permitted number of books.Users can check their own loan details at any time. Librarians are permitted to check the loan details of any user.Library users can reserve bo
26、oks that are currently out on loan. If three reservations have already been made for a given book, and a further reservation is made, a new copy will be ordered by the librarian.解答:場(chǎng)景分析:n 識(shí)別執(zhí)行者1. Users2. Librarian3. Staff4. Studentsn 識(shí)別用例1. Borrowed book2. Borrowed journal3. Check loan details4. Che
27、ck the loan details of any user5. Reserve books6. Ordere a new copy7. Ensure check no overdue books on loan8. Ensure not more than the maximum permitted number of booksn 繪制用例圖5. 網(wǎng)上信用卡管理系統(tǒng)CCMS的需求模型:原題目:5. 某銀行準(zhǔn)備開發(fā)一個(gè)網(wǎng)上信用卡管理系統(tǒng) CCMS,該系統(tǒng)的基本功能為: (1) 信用卡申請(qǐng)。非信用卡客戶填寫信用卡申請(qǐng)表,說明所要申請(qǐng)的信用卡類型及申請(qǐng)者的基本信息,提交 CCMS登錄。如果信用
28、卡申請(qǐng)被銀行接受,客戶會(huì)收到銀行的確認(rèn)函, 并告知用戶信用卡的有效期及信貸限額;否則銀行會(huì)發(fā)送一封拒絕函給該客戶??蛻羰盏酱_認(rèn)函后,需再次登錄 CCMS,用信用卡號(hào)和密碼激活該信用卡。激活操作結(jié)束后,CCMS將激活通知發(fā)送給客戶,告知客戶其信用卡是否被成功地激活。(2) 月報(bào)表生成。在每個(gè)月第一天的零點(diǎn),CCMS為每個(gè)信用卡客戶創(chuàng)建一份月報(bào)表,對(duì)該客戶上月的信用卡交易情況及交易額進(jìn)行統(tǒng)計(jì)。信用卡客戶可以登錄 CCMS查看月報(bào)表,也可以要求 CCMS提供打印出的月報(bào)表。 (3) 信用卡客戶信息管理。信用卡客戶的個(gè)人信息可以在 CCMS 中進(jìn)行在線的管理。每個(gè)信用卡客戶可以在線查詢其個(gè)人信息。 (
29、4) 信用卡交易記錄。信用卡客戶使用信息卡進(jìn)行的每一筆交易都會(huì)記錄在 CCMS中。 (5) 交易信息查詢。信用卡客戶可以登錄 CCMS查詢并核實(shí)其信用卡交易記錄及交易額。 構(gòu)造該系統(tǒng)的用例模型,要求繪制用例圖,編寫相應(yīng)的用例文檔,還需提供用例追蹤矩陣。(1) 用例圖:解答:場(chǎng)景分析:n 識(shí)別執(zhí)行者1. 非信用卡客戶2. 信用卡客戶3. 銀行n 識(shí)別用例1. 申請(qǐng)信用卡2. 登錄3. 查看月報(bào)表4. 打印月報(bào)表5. 發(fā)送確認(rèn)函6. 發(fā)送拒絕函7. 激活信用卡8. 查詢個(gè)人信息9. 管理個(gè)人信息10. 交易信息查詢n 繪制用例圖(2) 用例描述文檔:目 錄1. 用例編號(hào):UC001 用例名:申請(qǐng)信
30、用卡192. 用例編號(hào):UC002 用例名: 登錄203. 用例編號(hào):UC003 用例名: 激活信用卡204. 用例編號(hào):UC004 用例名: 發(fā)送確認(rèn)函215. 用例編號(hào):UC005 用例名: 發(fā)送拒絕函226. 用例編號(hào):UC006 用例名: 查看月報(bào)表227. 用例編號(hào):UC007 用例名: 打印月報(bào)表238. 用例編號(hào):UC008 用例名: 管理個(gè)人信息249. 用例編號(hào):UC009 用例名: 查詢個(gè)人信息2410. 用例編號(hào):UC010 用例名: 交易信息查詢251.用例編號(hào):UC001用例名:申請(qǐng)信用卡 用例名申請(qǐng)信用卡用例編號(hào)UC001執(zhí)行者非信用卡用戶前置條件CCMS系統(tǒng)運(yùn)行后
31、置條件銀行接收到信用卡申請(qǐng)基本路徑1. 非信用卡用戶填寫信用卡申請(qǐng)表的相關(guān)信息2. 包含用例“登錄”3. 非信用卡用戶提交信用卡申請(qǐng)表4. 系統(tǒng)處理信用卡申請(qǐng)表5. 系統(tǒng)向銀行發(fā)送非信用卡用戶申請(qǐng)表請(qǐng)求擴(kuò)展路徑無2.用例編號(hào):UC002用例名: 登錄用例名登錄用例編號(hào)UC002執(zhí)行者用戶前置條件用戶要與系統(tǒng)進(jìn)行信息交互后置條件用戶登錄了CCMS系統(tǒng)基本路徑1. 用戶填寫賬戶和密碼2. 系統(tǒng)驗(yàn)證用戶輸入的賬戶和密碼3. 用戶通過系統(tǒng)驗(yàn)證并登錄了CCMS系統(tǒng)擴(kuò)展路徑3a1:用戶沒通過系統(tǒng)驗(yàn)證,要求重新輸入賬戶和密碼非功能需求安全性:用戶密碼輸入錯(cuò)誤達(dá)到3次,則需要停止驗(yàn)證并鎖定用戶登錄,需要用戶等
32、待一段時(shí)間再進(jìn)行輸入。3.用例編號(hào):UC003用例名: 激活信用卡用例名激活信用卡用例編號(hào)UC003執(zhí)行者非信用卡用戶前置條件非信用卡用戶收到銀行確認(rèn)函后置條件通知用戶激活信用卡成功并將用戶由非信用卡用戶轉(zhuǎn)成信用卡用戶基本路徑1. 包含用例“登錄”2. 用戶提交信用卡號(hào)和密碼3. 系統(tǒng)驗(yàn)證信用卡號(hào)和密碼4. 系統(tǒng)激活信用卡5. 系統(tǒng)將屏幕顯示“激活成功”6. 系統(tǒng)將該用戶修改成信用卡用戶擴(kuò)展路徑無4.用例編號(hào):UC004用例名: 發(fā)送確認(rèn)函用例名發(fā)送確認(rèn)函用例編號(hào)UC004執(zhí)行者銀行前置條件銀行處理完信用卡申請(qǐng)后置條件客戶會(huì)收到銀行發(fā)送過來的確認(rèn)函, 并得知信用卡的有效期及信貸限額基本路徑1.
33、 銀行發(fā)送確認(rèn)函2. 銀行發(fā)送信用卡的有效期及信貸限額消息3. 用戶收到確認(rèn)函和消息擴(kuò)展路徑2a1:用戶未登錄時(shí),CCMS系統(tǒng)等待用戶登錄時(shí)再發(fā)送5.用例編號(hào):UC005用例名: 發(fā)送拒絕函用例名發(fā)送拒絕函用例編號(hào)UC005執(zhí)行者銀行前置條件銀行處理完信用卡申請(qǐng)后置條件客戶會(huì)收到銀行發(fā)送過來的拒絕函基本路徑1. 銀行發(fā)送拒絕函2. 用戶收到拒絕函擴(kuò)展路徑2a1:用戶未登錄時(shí),CCMS系統(tǒng)等待用戶登錄時(shí)再發(fā)送6.用例編號(hào):UC006用例名: 查看月報(bào)表用例名查看月報(bào)表用例編號(hào)UC006執(zhí)行者信用卡用戶前置條件用戶已登錄CCMS系統(tǒng)后置條件系統(tǒng)顯示月報(bào)表基本路徑1. 用戶發(fā)送查看月報(bào)表申請(qǐng)2. 系
34、統(tǒng)接收到申請(qǐng)3. 系統(tǒng)按照用戶提交申請(qǐng)中的月份等數(shù)據(jù)查詢相應(yīng)的月報(bào)表4. 系統(tǒng)在屏幕顯示出查詢到的月報(bào)表擴(kuò)展路徑 無7.用例編號(hào):UC007用例名: 打印月報(bào)表用例名打印月報(bào)表用例編號(hào)UC007執(zhí)行者信用卡用戶前置條件用戶已登錄CCMS系統(tǒng)后置條件用戶個(gè)人信息得到修改并修改了數(shù)據(jù)庫(kù)基本路徑1. 用戶發(fā)送查看月報(bào)表申請(qǐng)2. 系統(tǒng)接收到申請(qǐng)3. 系統(tǒng)按照用戶提交申請(qǐng)中的月份等數(shù)據(jù)查詢相應(yīng)的月報(bào)表4. 系統(tǒng)在屏幕顯示出查詢到的月報(bào)表擴(kuò)展路徑 無8.用例編號(hào):UC008用例名: 管理個(gè)人信息用例名管理個(gè)人信息用例編號(hào)UC008執(zhí)行者信用卡用戶前置條件用戶已登錄CCMS系統(tǒng)后置條件用戶個(gè)人信息得到修改并
35、更新了用戶的相關(guān)數(shù)據(jù)庫(kù)表基本路徑1. 用戶修改用戶的個(gè)人信息2. 用戶提交修改請(qǐng)求3. 系統(tǒng)處理請(qǐng)求4. 系統(tǒng)根據(jù)修改的信息更新系統(tǒng)數(shù)據(jù)庫(kù)的相關(guān)表5. 系統(tǒng)屏幕顯示修改成功擴(kuò)展路徑 無9.用例編號(hào):UC009用例名: 查詢個(gè)人信息用例名查詢個(gè)人信息用例編號(hào)UC009執(zhí)行者信用卡用戶前置條件用戶已登錄CCMS系統(tǒng)后置條件系統(tǒng)屏幕顯示個(gè)人信息基本路徑1. 用戶提交查看的申請(qǐng)2. 系統(tǒng)根據(jù)用戶的賬號(hào)等相關(guān)信息查詢數(shù)據(jù)庫(kù)3. 系統(tǒng)根據(jù)返回的數(shù)據(jù)庫(kù)信息顯示在屏幕上擴(kuò)展路徑 無10.用例編號(hào):UC010用例名: 交易信息查詢用例名交易信息查詢用例編號(hào)UC010執(zhí)行者信用卡用戶前置條件用戶已登錄CCMS系統(tǒng)
36、后置條件顯示交易記錄基本路徑1. 用戶提交查詢信用卡交易記錄的請(qǐng)求2. 系統(tǒng)接收用戶提交的請(qǐng)求3. 系統(tǒng)處理請(qǐng)求4. 系統(tǒng)根據(jù)用戶的賬號(hào)查詢其交易記錄5. 系統(tǒng)在屏幕顯示查詢到的交易記錄擴(kuò)展路徑 無(3) 用例追蹤矩陣:用例編號(hào)需求信用卡相關(guān)月報(bào)表相關(guān)信用卡客戶信息管理交易信息查詢UC001UC002UC003UC004UC005UC006UC007UC008UC009UC0106. 銷售信息管理系統(tǒng)訂單的狀態(tài)圖:原題目:6. 根據(jù)以下描述繪制狀態(tài)圖:某銷售信息管理系統(tǒng)中銷售部員工可以提交訂單,剛提交的訂單為“初始”狀態(tài);系統(tǒng)管理員可以處理訂單,如果訂單無誤,則修改訂單為“備貨”狀態(tài),否則將訂
37、單退還給提交訂單的銷售部員工修改,員工此時(shí)可以取消訂單;倉(cāng)庫(kù)管理員備貨完畢后可將訂單狀態(tài)改為“發(fā)貨”狀態(tài);銷售部員工在確認(rèn)客戶已經(jīng)收到貨物后,可將訂單改為“關(guān)閉”狀態(tài)。解:7. 訂餐系統(tǒng)活動(dòng)圖:原題目:7. 根據(jù)以下描述繪制某訂餐系統(tǒng)中顧客訂餐過程的活動(dòng)圖(要求繪制泳道):(1) 顧客請(qǐng)求查看菜單;(2) 系統(tǒng)顯示菜單和今日特價(jià);(3) 顧客選菜;(4) 系統(tǒng)顯示訂單和價(jià)格;(5) 顧客確認(rèn)訂單;(6) 系統(tǒng)顯示可送餐時(shí)間;(7) 顧客指定送餐時(shí)間、地點(diǎn)和支付方式;(8) 系統(tǒng)確認(rèn)接受訂單,然后發(fā)送Email給顧客以確認(rèn)訂餐,同時(shí)發(fā)送相關(guān)訂餐信息通知給餐廳員工解:8. 在線訂房系統(tǒng)順序圖:原題
38、目:8. 根據(jù)如下描述繪制順序圖:在某在線訂房系統(tǒng)中,顧客輸入房間套數(shù)、房間類型、入住時(shí)間、入住天數(shù)等信息,系統(tǒng)顯示符合要求的房間號(hào);顧客確定預(yù)訂的房間,系統(tǒng)顯示預(yù)付訂金信息;顧客輸入信用卡賬號(hào)和密碼,系統(tǒng)請(qǐng)求銀行信用卡系統(tǒng)提供支付服務(wù);銀行信用卡系統(tǒng)驗(yàn)證用戶信息并返回驗(yàn)證通過和支付成功消息;顧客請(qǐng)求系統(tǒng)打印預(yù)訂單和收據(jù),系統(tǒng)打印相關(guān)資料;預(yù)訂結(jié)束。解:9. 順序圖:原題目:9. 根據(jù)以下Java源代碼繪制相應(yīng)的順序圖:public class Sale private List<SalesProductItem> productItems = new ArrayList<S
39、alesProductItem>public Money getTotal() Money total = new Money();Money subTotal = null;for (SalesProductItem item : productItems) subTotal = item.getSubTotal();total.add(subTotal);return total;解:10. 類圖:原題目:10. 根據(jù)以下描述繪制類圖,再正向工程生成Java源代碼(也可生成其他面向?qū)ο笳Z言的源代碼,如C+或C#等):圖形(Shape)可分為圓形(Circle)、矩形(Rectangl
40、e)、橢圓形(Ellipse)等具體圖形,在Shape類中提供了一個(gè)抽象的draw()方法用于繪制圖形,而在具體的圖形類中實(shí)現(xiàn)該抽象draw()方法。提供一個(gè)圖形工廠類(ShapeFactory),該類提供一個(gè)靜態(tài)方法createShape(char type),其返回類型為Shape,參數(shù)type為所需繪制圖形對(duì)應(yīng)的代碼,例如“c”表示圓形,“r”表示矩形,“e”表示橢圓形等,在createShape()方法中,可以使用條件語句來判斷所需繪制圖形的類型,并根據(jù)參數(shù)的不同返回不同的具體形狀對(duì)象。【注:“創(chuàng)建關(guān)系”是一種特殊的“依賴關(guān)系”】解:類圖為:步驟如下:由于圖形(Shape)可分為圓形(
41、Circle)、矩形(Rectangle)、橢圓形(Ellipse)等具體圖形,而且Shape類中提供了一個(gè)抽象的draw()方法用于繪制圖形,所以說明了Shape類是一個(gè)抽象類。創(chuàng)建Shape類:點(diǎn)擊Class圖標(biāo),創(chuàng)建一個(gè)Class,如圖所示:雙擊這個(gè)Class然后修改如下:這是設(shè)置類為abstract類型下面是設(shè)置draw方法為abstract類型,因?yàn)槭浅橄蠓椒ǎ梢圆挥脤懛祷刂?,也就是不用寫具體塊,由軟件自動(dòng)生成就好:我們可以查看一下生成的代碼:發(fā)現(xiàn)生成的代碼并沒有錯(cuò)誤,可以進(jìn)行下一步的操作。下面是創(chuàng)建Shape類所具體泛化的類。圓形(Circle)、矩形(Rectangle)、橢圓
42、形(Ellipse)我舉一個(gè)為例子,那么舉圓形為例子。這個(gè)是類的創(chuàng)建,包括名字和它的修飾類型以及父類。我們?yōu)檫@個(gè)類增加一個(gè)默認(rèn)的構(gòu)造函數(shù)。點(diǎn)擊后會(huì)生成垃圾處理機(jī)制所用的finalize的函數(shù)方法,不過不需要它,所以可以把它刪掉,刪掉就不截圖了。它還要實(shí)現(xiàn)它所繼承的類的方法。點(diǎn)擊Override Inheited Operation,彈出如下的框這就是后面生成了具體的類我們可以查看一下代碼是否正確:發(fā)現(xiàn)代碼并沒有什么問題,所以我選擇弄下一個(gè)類。下面兩個(gè)類的創(chuàng)建過程是一樣的,所以我就不截圖了。接下來是創(chuàng)建一個(gè)工廠類。由于是通過type參數(shù)進(jìn)行判斷對(duì)象并創(chuàng)建對(duì)象,所以不打算將ShapeFactory
43、變成泛型類,就使用普通類型就好。下面是創(chuàng)建ShapeFactory的過程下面是參數(shù)然后添加其的get和set方法以下是自動(dòng)生成get和set函數(shù)添加createShape(char type)函數(shù)雙擊這個(gè)函數(shù)在這里面增加其參數(shù)由于要根據(jù)type的不同值來生成不同的對(duì)象類型,所以我們得在powerdesigner里面編輯代碼。編輯如下:if(type = 'c') return new Circle();else if(type = 'r') return new Rectangle();else if(type = 'e') return new
44、 Ellipse();else System.out.printIn("type is error"); return null; return null;如圖所示:接下來就是生成代碼啦這是生成的源代碼結(jié)構(gòu):源代碼:Circle.java/* * Module: Circle.java * Author: tqw * Purpose: Defines the Class Circle */import java.util.*;/* pdOid ec982f7f-e58f-4265-989c-613f227c5f27 */public class Circle extends
45、 Shape /* pdOid 875865f2-21a0-48de-9c9f-96850d587a6b */ public Circle() / TODO: implement /* pdOid b2df28a8-9e30-4fe5-843a-c35c7da1996b */ public void draw() / TODO: implement Ellipse.java/* * Module: Ellipse.java * Author: tqw * Purpose: Defines the Class Ellipse */import java.util.*;/* pdOid 6a57f
46、d84-7b75-4739-bc97-800480a809fe */public class Ellipse extends Shape /* pdOid 1a599aa0-dc55-456c-a039-d62fb86ad91d */ public Ellipse() / TODO: implement /* pdOid 620e5d14-92fe-4a32-93f5-7b8241344b58 */ public void draw() / TODO: implement Rectangle.java/* * Module: Rectangle.java * Author: tqw * Pur
47、pose: Defines the Class Rectangle */import java.util.*;/* pdOid 98043fef-cdff-4780-87c4-d0889fb66336 */public class Rectangle extends Shape /* pdOid 2c42fa4f-0b4f-4bbd-8dda-75ce27108c97 */ public Rectangle() / TODO: implement /* pdOid 10ad73ef-9098-4e03-a27a-d7e58dfc1063 */ public void draw() / TODO
48、: implement Shape.java/* * Module: Shape.java * Author: tqw * Purpose: Defines the Class Shape */import java.util.*;/* pdOid ac2a51a6-54e5-48d9-9502-d013e7503dd0 */public abstract class Shape /* pdOid cc1d8d18-d8b9-4c3d-88e5-678626cb4587 */ public abstract void draw();ShapeFactory.java/* * Module: S
49、hapeFactory.java * Author: tqw * Purpose: Defines the Class ShapeFactory */import java.util.*;/* pdOid 8f9a77e0-b2c0-43c0-8951-528d40f59668 */public class ShapeFactory /* pdOid b9c3a33f-11ad-49e9-a122-3bb4099c7bfa */ private char type; /* pdOid da7e2389-14ad-4e29-b132-edf0b2e41f6b */ public char getType() return type; /* param newType * pdOid d555316c-d696-4fff-b212-dc8828f0f0c8 */ public void setType(char newType) type = newType; /* param type * pdOid b45a21a7-178c-46c0-85ad-1fe46e403a14 */ public Shape createShape(char type) / TODO: implement if(type = 'c') return n
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 司法局駐村扶貧工作總結(jié)
- 土建瓦工清包合同(2篇)
- 4S店租賃合同文檔
- 深圳二手房全款過戶合同
- 鋼結(jié)構(gòu)工程供貨施工合同范本
- 健身器材租賃合同糾紛
- 長(zhǎng)沙市二手房贈(zèng)送家電合同
- 倉(cāng)儲(chǔ)物流中心施工合同
- 豬舍精細(xì)化施工合同
- 沙漠治理財(cái)政所施工合同
- 校服服務(wù)方案投標(biāo)方案
- 養(yǎng)老機(jī)構(gòu)安全管理培訓(xùn)課件
- (附答案)2024公需課《百縣千鎮(zhèn)萬村高質(zhì)量發(fā)展工程與城鄉(xiāng)區(qū)域協(xié)調(diào)發(fā)展》試題廣東公需科
- T-CAME 59-2023 醫(yī)院消毒供應(yīng)中心建設(shè)與運(yùn)行管理標(biāo)準(zhǔn)
- 4s店財(cái)務(wù)工作總結(jié)
- 2024外研版初中英語單詞表匯總(七-九年級(jí))中考復(fù)習(xí)必背
- 《海上風(fēng)電場(chǎng)工程巖土試驗(yàn)規(guī)程》(NB/T 10107-2018)
- 高中新校區(qū)辦學(xué)規(guī)劃方案
- 腎積水護(hù)理查房
- 無人機(jī)駕駛培訓(xùn)班合作協(xié)議
- 五年級(jí)上冊(cè)小數(shù)乘法豎式計(jì)算練習(xí)400題及答案
評(píng)論
0/150
提交評(píng)論