




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、武漢理工大學軟件綜合設計課程設計報告書學 號: 課 程 設 計課程名稱軟件綜合設計設計題目基于UML的飲料自動售貨機系統(tǒng)設計學 院計算機科學與技術專 業(yè)計算機科學與技術班 級姓 名指導教師2012年1月11日課程設計任務書學生姓名: 專業(yè)班級: 計算機 班 指導教師: 工作單位:計算機科學與技術學院 題 目: 基于UML的飲料自動售貨機系統(tǒng)設計初始條件:理論:學完UML及軟件體系結構課程,掌握一種計算機高級語言的使用。實踐:計算機科學系實驗中心提供計算機及軟件開發(fā)環(huán)境。要求完成的主要任務: (包括課程設計工作量及其技術要求,以及說明書撰寫等具體要求)(1)系統(tǒng)分析(包括系統(tǒng)描述(問題域描述)、
2、用例模型、分析類圖)。(2)系統(tǒng)設計(包括系統(tǒng)的邏輯模型如設計類圖、順序圖、狀態(tài)圖及組件圖等)。(3)系統(tǒng)實施(包括信息代碼設計、數(shù)據(jù)庫設計、輸入設計、輸出設計、用戶界面設計和處理過程的設計以及最終的程序設計)。(4)編制好程序后,設計若干測試用例,上機測試并通過所設計的程序系統(tǒng)。(5)設計報告格式按附件要求書寫。課程設計報告書正文的內容應包括: 1問題描述;2用例模型及分析類圖的描述;3設計類圖、核心用例的順序圖與狀態(tài)圖、組件圖等的描述;4信息代碼設計、數(shù)據(jù)庫設計、輸入設計、輸出設計的描述;5用戶界面設計和處理過程的設計的描述;6給出軟件的測試方法和測試結果。7設計的特點、不足、收獲與體會。
3、時間安排:設計安排三周(1820周):第一周周1至周3:完成系統(tǒng)分析;周4-周5:完成系統(tǒng)設計。第二周周1至周2:完成系統(tǒng)實施中的信息代碼設計、數(shù)據(jù)庫設計、輸入設計、輸出設計、用戶界面設計和處理過程的設計。第二周周3至第三周周3:完成系統(tǒng)實施中的程序設計。第三周周4至周5:撰寫課程設計報告。指導教師簽名: 年 月 日系主任(或責任教師)簽名: 年 月 日基于UML的飲料自動售貨機系統(tǒng)設計1 問題描述1.1 關于自動售貨機自動售貨機像磁卡電話、銀行柜員機一樣,以方便、新穎、文明、晝夜服務等特點,成為發(fā)達國家不可缺少的便民配套設施。如今的自動售貨機可以為顧客提供多種服務。顧客可以根據(jù)自己的需要選擇
4、商品并投入錢幣,售貨機接收錢幣,售出商品。1.2 飲料自動售貨機的設計該設計模擬自動售貨機的工作原理和方式,完成出售商品、接收錢幣、找零錢等功能。與系統(tǒng)交涉的人有兩類:廠商和顧客。廠商在每周固定時間查看售貨機中的飲料數(shù)量和錢幣數(shù)量情況,并根據(jù)計劃適當添加飲料和修改飲料的價格。同時,送貨員也可以根據(jù)需要修改進入密碼。顧客投入錢幣,根據(jù)顯示的價格和余量選擇飲料,并等待售貨機的響應。自動售貨機所做的響應:如果售貨機中沒有該種飲料,則提示顧客選擇其他飲料或者選擇退錢。如果售貨機中有該種飲料,則判斷顧客所投錢幣是否足夠,如果不夠,則提示顧客錢幣不足,繼續(xù)投幣。如果顧客所投的錢幣剛好夠(不需要找零錢),則
5、售出飲料,交易結束。如果需要找零錢,則判斷是否有適當?shù)牧沐X可以找,如果有,則售出飲料,找出零錢,交易結束;否則,提示顧客選擇其他飲料或者選擇退錢。實際生活中的售貨機可能有更加強大的功能和更完善的處理,這里只模擬一個售貨機系統(tǒng),所以只實現(xiàn)其核心原理。2 用例模型及模塊劃分2.1 系統(tǒng)功能模塊劃分 系統(tǒng)模塊劃分圖如圖2-1所示。圖2-1 模塊劃分2.2 系統(tǒng)用例模型描述系統(tǒng)涉及的角色有:顧客和廠商。系統(tǒng)用例模型如圖2-2:圖2-2 用例圖3 類圖、核心用例的順序圖與狀態(tài)圖、組件圖3.1 類圖 系統(tǒng)的類圖設計如圖3-1所示。圖3-1 類圖 分析得出有5個類,“顧客類”、“銷售類”、“廠商類”、 “飲
6、料類”和“數(shù)據(jù)庫操作類”。顧客類的活動有“投幣”和“選擇飲料”;銷售類有三個活動分別為“累加金額”、“銷售飲料”和“找零”;廠商類有一個屬性為“密碼”,有三個活動分別為 “配置飲料”、“設置價格”和“修改密碼”;飲料類有三個屬性分別為“飲料名稱”、“飲料價格”和“飲料數(shù)量”;數(shù)據(jù)庫操作類有一個屬性為“數(shù)據(jù)源”,有兩個活動分別為“數(shù)據(jù)查詢”和“數(shù)據(jù)增、刪、改”。顧客類和飲料類的關系為依賴關系,銷售類和飲料類的關系為依賴關系,飲料類和廠商類的關系為依賴關系,顧客類、銷售類、廠商類和飲料類與數(shù)據(jù)庫操作類的關系均為依賴關系。3.2 核心用例的順序圖3.2.1 廠商時序圖 廠商時序圖設計如圖3-2所示。
7、圖3-2 廠商時序圖時序圖分析:商家放置飲料觸發(fā)飲料計數(shù)器,開始計數(shù),放置結束后點擊確定,返回添加成功信息。商家設置飲料價格觸發(fā)金額計數(shù)器,并返回設置成功信息。商家修改密碼觸發(fā)密碼修改器,在輸入合法的情況下,返回修改成功信息。3.2.2 顧客時序圖 顧客時序圖設計如圖3-3所示。圖3-3 顧客時序圖 時序圖分析:顧客往飲料售貨機里投幣,觸發(fā)金額計算器,當累加的金額足夠觸發(fā)了飲料計數(shù)器,對飲料的數(shù)量進行判斷,顧客根據(jù)顯示的價格和余量選擇飲料,如果飲料足夠且金額足夠的狀態(tài)下,觸發(fā)飲料計數(shù)器減少飲料的數(shù)量掉出飲料同時觸發(fā)金額計算器,計算剩余金錢,出幣。顧客想取消交易,可以直接按退幣按鈕,出幣。3.3
8、 狀態(tài)圖 狀態(tài)圖設計如圖3-4所示。圖3-4 狀態(tài)圖3.4 組件圖 組件圖設計如圖3-5所示。圖3-5 組件圖4 信息代碼設計、數(shù)據(jù)庫設計、輸入設計、輸出設計4.1 信息代碼設計(1)設計用C#.NET語言,編程環(huán)境為Microsoft Visual Studio 2005。(2)首先創(chuàng)建“Welcome”對話框,即初始界面。再根據(jù)用戶身份分為顧客和廠商,這樣分別創(chuàng)建兩個“專區(qū)”。(3)“顧客專區(qū)”為新建的Windows窗體改造,所以需要創(chuàng)建一個類,稱為class CustomerFrm,并且添加相應的控件。在窗體加載時便調用數(shù)據(jù)庫顯示各飲料的價格和余量。顧客可以每次選擇一種飲料,所以用單選按
9、鈕實現(xiàn)。在投入錢幣時,這里用點擊按鈕來模擬投幣動作,下面有文本框顯示投幣的金額。當顧客選擇飲料確定購買后,系統(tǒng)調用數(shù)據(jù)庫中的信息判斷是否有顧客所選飲料,并計算顧客投入錢幣是否足夠,是否需要找零等問題。之后,系統(tǒng)會彈出一個提示框提示顧客現(xiàn)在的交易情況,分以下三種情況:沒有該種飲料并提示選擇另一種、有該種飲料但沒有適合的零錢、交易成功并找零。(4)廠商需要通過“登陸”對話框輸入密碼后才能進入“廠商專區(qū)”,默認密碼為“123456”。而“廠商專區(qū)”也是新建的Windows窗體,所以創(chuàng)建一個class DealerFrm類,并添加控件。在窗體加載時dataGridView組件綁定數(shù)據(jù)庫,會顯示飲料和錢
10、幣的詳細信息。廠商可以選擇各飲料執(zhí)行“設置價格”和“增加飲料”的行為,點擊“確定”后數(shù)據(jù)庫更新數(shù)據(jù)。此外,廠商還可以修改密碼,來保證后臺的安全性。4.2 數(shù)據(jù)庫設計4.2.1 E-R圖圖4-1:E-R圖數(shù)據(jù)庫描述:錢幣有面值和數(shù)量兩種屬性,其中,面值是主屬性。廠商有密碼一種屬性。飲料有名稱、單價和數(shù)量三種屬性,其中名稱是主屬性。數(shù)據(jù)庫中按名稱存儲各種飲料若干。廠商可以調配飲料數(shù)量,也可以設置飲料價格。4.2.2 數(shù)據(jù)庫表(1) 廠商表,如表4-1所示。記錄廠商的登錄密碼。表4-1 CDealer(廠商表)列名數(shù)據(jù)類型長度主鍵/外鍵說明passwordvarchar20主鍵密碼(2) 飲料表,如
11、表4-2所示。記錄飲料的詳細信息。表4-2 CDrink(飲料表)列名數(shù)據(jù)類型長度主鍵/外鍵說明drink_namevarchar20主鍵飲料名稱pricefloat飲料單價amountint飲料數(shù)量(3) 錢幣表,如表4-3所示。記錄售貨機中的錢幣信息。表4-3 CMoney(錢幣表)列名數(shù)據(jù)類型長度主鍵/外鍵說明par_valuevarchar10主鍵錢幣面值amountint錢幣數(shù)量4.3 輸入、輸出設計(1)創(chuàng)建數(shù)據(jù)庫之后,先初始化,設置一定的錢幣數(shù)量和飲料數(shù)量,并且設置默認的飲料價格。而廠商信息表中,設置初始密碼為“123456”。(2)輸入設計。廠商登陸時設計兩種情況:輸入正確的密
12、碼和錯誤的密碼。而在輸入添加飲料數(shù)量和修改飲料價格時,設計輸入為正確的數(shù)字和不合法的情況。在修改密碼時,設計輸入兩次合法且相同的密碼和其他情況。顧客在購買飲料時設計選擇一種已賣完的飲料和一種未完的飲料。投入錢幣時,設計投入小于飲料價格的、等于飲料價格的和大于飲料價格的錢幣。(3)預期的輸出。每種正確的輸入,系統(tǒng)都能正確響應,或能順利進入下一個界面,或能成功修改數(shù)據(jù)庫,或能顯示新的信息,或能提示操作成功。5 用戶界面設計和處理過程設計5.1 用戶界面設計:(1)歡迎界面,如圖4-2所示。圖4-2:系統(tǒng)的歡迎界面界面描述:用戶選擇任意一種身份,確定后進入到相應的操作界面。(2)廠商登錄界面,如圖4
13、-3所示。圖4-3:廠商登陸界面 界面描述:廠商輸入售貨機后臺的密碼,登陸成功將進入到送貨員專區(qū)。(3)廠商專區(qū)界面,如圖4-4所示。圖4-4:廠商功能區(qū)界面描述:在窗體加載時,左邊可以直接查看飲料和錢幣的詳細信息;中間可以選擇一種飲料設置價格和添加數(shù)量;右邊可以修改廠商登錄密碼。點擊“完成”退出廠商專區(qū)。(4)顧客專區(qū)界面,如圖4-5所示。圖4-5:顧客功能區(qū)界面描述:顧客可以點擊“1元”和“5角”模擬投幣情況,下面的文本框可以顯示投幣數(shù)量和金額,每次可以選擇一種飲料進行購買。5.2 處理過程設計(1)在“歡迎”界面中,當選擇“顧客”時,會進入到“顧客專區(qū)”;如果選擇“廠商”,則會彈出一個登
14、陸對話框,讓廠商輸入密碼進行驗證,驗證成功后進入“廠商專區(qū)”。 (2)廠商可以根據(jù)界面中現(xiàn)實的飲料信息進行添加飲料和修改價格。首先選定一種飲料,然后輸入增加數(shù)量或者新價格。若是合法的輸入,則操作成功并更新數(shù)據(jù)庫;若輸入不合法,則報錯并清空文本框。另外,廠商還可以修改密碼,若兩次密碼輸入一致并合法,則操作成功,更新數(shù)據(jù)庫;否則,系統(tǒng)報錯并清空文本框。(3)顧客可以投入1元和5角兩種硬幣,在投幣過程中數(shù)據(jù)庫更新,且有文本框顯示投幣信息。在界面加載時便顯示了飲料的價格和余量,顧客可根據(jù)需要選擇一種飲料,然后確定購買。若該飲料無貨,則提示用戶選擇其他飲料或退幣。若投入金額小于該飲料單價,則提示用戶繼續(xù)
15、投幣或選擇其他飲料。若投入金額等于該飲料單價,則賣出一瓶飲料并更新數(shù)據(jù)庫。若投入金額大于該飲料價格,則查詢數(shù)據(jù)庫是否有合適的找零策略:若可以找零,則賣出一瓶飲料并找出零錢,更新數(shù)據(jù)庫;若無法找零(庫中沒有5角而需要找零5角),則提示顧客選擇其他價格合適的飲料或者選擇退幣。若在交易過程中顧客想中止交易,可以點擊“退幣”按鈕,售貨機退出錢幣并更新數(shù)據(jù)庫。6 測試方法和測試結果6.1 測試方法 在系統(tǒng)制作完成后,使用單元測試和系統(tǒng)測試方法,對系統(tǒng)進行了功能測試和健壯性測試。6.2 初始化 先初始化數(shù)據(jù)庫中的數(shù)據(jù):設置飲料有六種類型,即芬達、可樂、礦泉水、咖啡和七喜,并分別設置初始價格和數(shù)量。設置錢幣
16、有兩種類型,即1元和5角,并設置初始數(shù)量。設置廠商初始登錄密碼為“123456”。6.3 廠商登錄(1)測試用例: 輸入錯誤密碼,如“123abc”; 輸入正確密碼,“123456”。(2)預期結果: 系統(tǒng)返回密碼錯誤信息,確定后密碼框清空; 登錄成功,進入“廠商專區(qū)”界面。(3)測試結果: 用例的結果如圖6-1所示,符合預期要求。 用例的結果與預期結果相同。 圖6-1 密碼錯誤6.4 設置價格和添加飲料(1)測試用例: 在價格文本框輸入零,即“0”; 在價格文本框輸入正確的數(shù)字,如“4.5”; 在數(shù)量文本框輸入負數(shù),如“-3”。 在數(shù)量文本框輸入正確的數(shù)字,如“4”。(2)預期結果: 返回錯
17、誤信息,確定后文本框清空; 提示價格更新成功,并更新數(shù)據(jù)庫。 返回錯誤信息,確定后文本框清空; 提示飲料添加成功,并更新數(shù)據(jù)庫。(3)測試結果: 各用例結果依次如圖6-2-a、6-2-b、6-2-c和6-2-d所示。 圖6-2-a 價格不合法 圖6-2-b 價格更新成功 圖6-2-c 數(shù)量不合法 圖6-2-d 添加成功6.5 修改密碼(1)測試用例: 密碼文本框兩次輸入不一致; 輸入密碼位數(shù)大于15或小于6,如輸入5位 兩次密碼一致且輸入合法,如“123abc” (2)預期結果: 返回不一致信息,確定后文本框清空; 返回位數(shù)不合法信息,確定后文本框清空; 密碼修改成功,并更新數(shù)據(jù)庫。 (3)測
18、試結果: 各用例結果依次如圖6-3-a、6-3-b和6-3-c所示。 圖6-3-a 輸入不一致 圖6-3-b 密碼長度不合法 圖6-3-c 密碼修改成功6.6 購買飲料(1)測試用例: 假設飲料和錢幣充足,投入錢幣金額小于選定飲料價格; 假設飲料和錢幣充足,投入錢幣金額等于選定飲料價格; 假設飲料和錢幣充足,投入錢幣金額大于選定飲料價格; 假設某種飲料無庫存,顧客選擇購買該飲料; 假設庫中無5角硬幣,顧客投幣金額大于所選飲料價格, 且需找零金額包含5角。(2)預期結果: 返回金額不足信息,提示繼續(xù)投幣; 提示購買成功,并更新數(shù)據(jù)庫,確定后情況投幣計價文本框; 提示購買成功并找零,并更新數(shù)據(jù)庫,
19、確定后情況投幣計價文本框; 返回售完信息,提示選擇其他飲料或退幣; 返回無法找零信息,提示選擇其他飲料或退幣。 (3)測試結果: 各用例結果依次如圖6-4-a、6-4-b、6-4-c、6-4-d和6-4-e所示。圖6-4-a 金額不足 圖6-4-b 購買成功(不需找零) 圖6-4-c 購買成功(找零) 圖6-4-d 飲料已售完 圖6-4-e 無法找零7 設計的特點、不足、收獲與體會7.1 設計的特點與不足 本次課程設計將自動售貨機用程序模擬,完成了其基本功能,如添加飲料、設置價格、修改密碼和購買飲料。設計中對于錢幣的要求限制為一元和五角,是結合實際情況投入硬幣的結果,并且有找零功能,這樣設計比較適合以后售貨機的發(fā)展趨勢。廠商可以查看已有飲料和錢幣信息,這樣可以知道一周之內各種飲料的售出情況,從而可以適當調整各種飲料的供應量,以追求最大化的利潤。在需要找零時,系統(tǒng)自動瀏覽數(shù)據(jù)庫中的錢幣信息,計算各種可能的組合,判斷是否可以找零,并進行提示成功或失敗。 系統(tǒng)的設計還是有些缺憾的,如預期想在飲料已售完的情況下限制用戶選擇該飲料,但因實現(xiàn)較為復雜而暫時放棄,還是有改進空間的。7.2 收獲與體會 通過對飲料自動售貨機系統(tǒng)的設計
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京市通州區(qū)2024-2025學年高二上學期期末考試生物學試題(含答案)
- 產(chǎn)品使用體驗數(shù)據(jù)收集表
- 農民合作社互助保險協(xié)議
- 農村新型農業(yè)組織發(fā)展合作協(xié)議
- 鄉(xiāng)村有機果園經(jīng)營管理協(xié)議
- 物資采購框架協(xié)議
- 人力資源派遣與服務外包合同
- 生產(chǎn)物料采購周期表
- 西游記中的團隊精神與道德啟示評析
- 《星系與宇宙探索概述:九年級地理教學教案》
- 核心素養(yǎng)導向下的高中歷史大單元教學設計研究課題設計論證
- 員工入職登記表
- 2024年新疆維吾爾自治區(qū)招聘事業(yè)單位工作人員考試真題
- 科技創(chuàng)新在環(huán)境保護中的重要作用研究報告
- 2025年濟源職業(yè)技術學院單招職業(yè)技能測試題庫學生專用
- 《金融市場分析方法》課件
- 卵巢癌的篩查:如何進行卵巢癌的早期篩查
- 2025年南網(wǎng)數(shù)字集團公開選聘高頻重點模擬試卷提升(共500題附帶答案詳解)
- 5G基站建設的審批流程與標準
- 西門子S7-1200 PLC應用技術項目教程(第3版) 考試復習題
- 人工智能在招聘行業(yè)的應用
評論
0/150
提交評論