版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《軟件工程》實驗報告——飯卡管理系統(tǒng)開發(fā)文檔
TOC\o"1-4"\h\u——飯卡管理系統(tǒng)開發(fā)文檔 1前言 41可行性研究 41.1系統(tǒng)概述 41.2初步的系統(tǒng)分析設(shè)計 41.3技術(shù)可行性分析 71.4經(jīng)濟/效益可行性分析 71.4.1支出方面 71.4.2收益方面 81.5系統(tǒng)開發(fā)計劃 82需求分析 82.1總體目標(biāo) 82.2具體目標(biāo) 92.3系統(tǒng)數(shù)據(jù)建模 92.4系統(tǒng)功能建模 92.5數(shù)據(jù)字典 123總體設(shè)計 153.1系統(tǒng)結(jié)構(gòu)圖 153.2數(shù)據(jù)庫設(shè)計 173.2.1邏輯設(shè)計要點 183.2.2物理結(jié)構(gòu)設(shè)計要點 193.2.3觸發(fā)器設(shè)計 203.3系統(tǒng)模塊IPO圖 213.3.1驗證用戶登錄功能模塊 213.3.2用戶注冊功能管理模塊 223.3.3查詢用戶詳細信息功能模塊 233.3.4用戶掛失功能模塊 243.3.5用戶消費功能模塊 253.3.6用戶查詢消費歷史功能模塊 273.3.7新建持卡者功能模塊 283.3.8存款功能模塊 293.3.9注銷用戶功能模塊 303.3.10更改學(xué)生信息功能模塊 313.3.11掛失,解鎖功能模塊 323.3.12查詢更改消費歷史功能模塊 333.3.13數(shù)據(jù)庫功能模塊 344詳細設(shè)計 354.1登錄模塊詳細設(shè)計 354.2學(xué)生信息模塊詳細設(shè)計 364.3消費模塊詳細設(shè)計 385系統(tǒng)實現(xiàn) 405.1編碼過程與特點 405.2部分功能模塊實現(xiàn) 405.2.1對消費模塊進行實現(xiàn)與測試 405.2.2對登陸模塊進行實現(xiàn)與測試 435.2.3對查詢模塊的實現(xiàn)與測試 465.3測試 495.3.1本系統(tǒng)的測試計劃 495.3.2測試方法和步驟 505.3.3測試過程 506維護 606.1系統(tǒng)維護工作內(nèi)容 606.2系統(tǒng)維護策略 617總結(jié)與體會 617.1總結(jié) 617.2體會 61前言本文檔根據(jù)軟件工程的基本原理、開發(fā)方法以及開發(fā)過程進行了多次的討論與實踐,主要包括可行性研究、需求分析、總體設(shè)計、詳細設(shè)計、編碼、測試等章節(jié),每一章節(jié)都圖文并茂地闡述具體的設(shè)計過程。1可行性研究1.1系統(tǒng)概述隨著高校擴招,大學(xué)生人數(shù)的逐年遞增。關(guān)于學(xué)生生活切身利益的日常消費亟需解決,全國高校校園卡的升級,也是提高學(xué)生日常生活質(zhì)量的一種方式。校園卡將安全、消費、學(xué)習(xí)集為一身,需要新的校園卡管理系統(tǒng)給予管理部門的技術(shù)支持。如校園卡管理系統(tǒng)采取銀行卡的金融功能與校園卡的校務(wù)管理功能整合的方式,使師生操作更方便。校園卡系統(tǒng)的建設(shè),為學(xué)校實現(xiàn)財務(wù)統(tǒng)一管理提供科學(xué)的、現(xiàn)代化的手段,將提高學(xué)校的管理水平,極大提高效率。1.2初步的系統(tǒng)分析設(shè)計根據(jù)校園卡管理所涉及的領(lǐng)域,將校園卡的業(yè)務(wù)分為學(xué)生與商戶信息管理、消費記錄收益記錄管理、飯卡信息管理三大類,形成初步的業(yè)務(wù)流程圖如下1.2.1、1.2.2、1.2.3圖所示。圖1.2.1學(xué)生消費業(yè)務(wù)流圖圖1.2.2學(xué)生信息查詢業(yè)務(wù)流圖圖1.2.3商戶信息查詢業(yè)務(wù)流圖根據(jù)以上業(yè)務(wù)流圖可以畫出數(shù)據(jù)流圖,如圖1.2.4、1.2.5。圖1.2.4頂層數(shù)據(jù)流圖圖1.2.50層數(shù)據(jù)流圖根據(jù)初步的分析,我們需要管理員表,學(xué)生表,和飯卡信息表等。初步的數(shù)據(jù)字典如下:名稱:管理員描述:對飯卡管理系統(tǒng)管理的人員定義:管理員=工號+密碼+姓名+性別+聯(lián)系方式工號=字符/20位密碼=字符/20位姓名=字符/20位 性別=【男/女】聯(lián)系方式=字符/11位位置:管理員表名稱:學(xué)生描述:在校的學(xué)生定義:學(xué)生=學(xué)號+姓名+性別+聯(lián)系方式+宿舍學(xué)號=字符/12位姓名=字符/10位 性別=【男/女】 聯(lián)系方式=字符/11位宿舍=字符/8位位置:學(xué)生表名稱:飯卡描述:飯卡管理系統(tǒng)被操作的對象定義:飯卡=卡ID+余額+卡狀態(tài)+消費限額+卡密碼+學(xué)號卡ID=字符/8位余額=浮點型(>=0) 卡狀態(tài)=字符/4位 卡上額=浮點型(>=0) 卡密碼=字符/6位 學(xué)號=字符/12位位置:飯卡信息表1.3技術(shù)可行性分析對于高校人數(shù)數(shù)據(jù)量大約是萬級左右,數(shù)據(jù)量并不大,對數(shù)據(jù)庫的性能要求技術(shù)完全可行。對于每個學(xué)生消費并發(fā)性不高,消費補助數(shù)據(jù)庫修改可以對接銀行接口。同時,為了高質(zhì)量完成本軟件系統(tǒng)開發(fā)工作,還需要遵循如下準(zhǔn)則:好戰(zhàn)略數(shù)據(jù)的規(guī)劃,建立穩(wěn)定的信息模型;在功能模型的劃分上,按組織機構(gòu)來劃分子系統(tǒng)或模塊;應(yīng)用軟件的開發(fā)設(shè)計,要充分考慮應(yīng)用軟件的適應(yīng)性,建立友好的人機界面。綜上所述,系統(tǒng)的實現(xiàn)技術(shù)上完全可行。1.4經(jīng)濟/效益可行性分析1.4.1支出方面借助校園本身的數(shù)據(jù)進行管理,數(shù)據(jù)庫本地存儲。除編程人力支出并無其他經(jīng)濟消費。(1)工作負荷人工操作頻繁加減存款。工作繁瑣,枯燥,容易出錯,完成工作所需要的時間較長,工作效率比較低。(2)費用開支由于運行現(xiàn)有系統(tǒng)所引起的費用開支,如人力、設(shè)備、空間、支持性服務(wù)、材料等項開支以及開支總額。(3)人員配備由于現(xiàn)有系統(tǒng)的技術(shù)性含量比較低,操作不便,工作量大,因此需要較多的人才能完成工作。而新系統(tǒng)將具有較高的技術(shù)操作性,但它確使工作變得較為簡便,因此只需要少量的高素質(zhì)人才就可完成。1.4.2收益方面項目投入使用后,將有效的提高高校校園卡管理工作中所涉及的信息管理,學(xué)生管理,商鋪管理的效率,減少信息管理上的人力投入和出現(xiàn)錯誤的概率,對于校園卡的管理使用極為有利。1.5系統(tǒng)開發(fā)計劃本項目初步計劃在3周內(nèi)完成需求分析、原型設(shè)計工作,隨后在3天內(nèi)完成代碼編寫和初步調(diào)試工作,再后在2周內(nèi)完成內(nèi)部測試、改進、修補和公開測試工作。2需求分析2.1總體目標(biāo)本系統(tǒng)力求讓飯卡管理變得傻瓜化,集成學(xué)生管理以及在學(xué)校運營商戶營業(yè)狀況地智能化管理。2.2具體目標(biāo)前端:刷卡消費、確認身份(門禁)2)公共:查詢使用記錄、掛失、拾遺查詢3)管理:新開、充值、掛失、解掛、注銷、補辦、消費保護、設(shè)置密碼2.3系統(tǒng)數(shù)據(jù)建模初步的E-R圖設(shè)計,如圖2.3圖2.3初步E-R圖2.4系統(tǒng)功能建模如圖2.4.1為頂層數(shù)據(jù)流圖,分為四個實體,分別為學(xué)生,管理員,刷卡機、刷卡員圖2.4.1頂層數(shù)據(jù)流圖0層數(shù)據(jù)流圖如圖2.4.2將學(xué)生與商戶信息管理、飯卡信息管理、消費記錄等數(shù)據(jù)流進行第一步細化圖2.4.20層數(shù)據(jù)流圖如圖2.4.3-2.4.5位1層數(shù)據(jù)流圖,分別細化的是學(xué)生信息管理,飯卡信息管理,商戶營業(yè)信息管理。如圖2-4-3新增飯卡/入駐商戶的數(shù)據(jù)流處理過程,學(xué)生基本表提供基本數(shù)據(jù)流后,數(shù)據(jù)經(jīng)過處理流入飯卡基本表2.4.3學(xué)生信息管理數(shù)據(jù)流圖如圖2.4.4位飯卡消費/掛失過程:2.4.4飯卡信息管理如圖2.4.5為消費收益數(shù)據(jù)處理過程:2.4.5商戶信息管理數(shù)據(jù)流圖2.5數(shù)據(jù)字典名稱:管理員描述:對飯卡管理系統(tǒng)管理的人員定義:管理員=工號+密碼+姓名+性別+聯(lián)系方式工號=字符/20位密碼=字符/20位姓名=字符/20位 性別=【男/女】聯(lián)系方式=字符/11位位置:管理員表名稱:學(xué)生描述:在校的學(xué)生定義:學(xué)生=學(xué)號+姓名+性別+聯(lián)系方式+宿舍學(xué)號=字符/12位姓名=字符/10位 性別=【男/女】 聯(lián)系方式=字符/11位宿舍=字符/8位位置:學(xué)生表名稱:刷卡員描述:對飯卡進行刷卡操作的人員定義:刷卡員=工號+姓名工號=字符/8位姓名=字符/20位位置:刷卡員表名稱:飯卡描述:飯卡管理系統(tǒng)被操作的對象定義:飯卡=卡ID+余額+卡狀態(tài)+消費限額+卡密碼+學(xué)號卡ID=字符/8位余額=浮點型(>=0) 卡狀態(tài)=字符/4位 卡上額=浮點型(>=0) 卡密碼=字符/6位 學(xué)號=字符/12位位置:飯卡信息表名稱:刷卡機描述:消費付款定義:刷卡機=機號+位置+刷卡員工號機號=字符/4位 位置=字符/50位 刷卡員工號=字符/8位位置:刷卡機信息表名稱:消費信息表描述:飯卡管理系統(tǒng)中記錄消費的信息定義:飯卡=卡ID+刷卡機號+消費時間+消費金額卡ID=字符/8位 刷卡機號=字符/4位 消費時間=字符/14位 消費金額=浮點型(>=0)位置:消費信息表名稱:飯卡管理描述:管理員對飯卡進行管理定義:飯卡管理=管理員工號+卡ID+操作時間+管理類別+管理內(nèi)容+充值金額 管理員工號=字符/20位卡ID=字符/8位操作時間=字符/14位管理類別=字符/8位管理內(nèi)容=字符/50位充值金額=浮點型/(>=0)位置:飯卡管理信息表名稱:消費額描述:描述消費款額定義:消費額=浮點型(>=0)位置:消費信息表名稱:余額描述:顯示卡上的現(xiàn)有金額數(shù)定義:余額=浮點型(>=0)位置:飯卡信息表名稱:充值金額描述:對管理員充值金額的統(tǒng)計定義:充值金額=浮點型(>=0)位置:飯卡管理信息表名稱:消費限額描述:若消費超過限額則需要輸入密碼定義:消費限額=浮點型(>=0)位置:飯卡信息表3總體設(shè)計3.1系統(tǒng)結(jié)構(gòu)圖系統(tǒng)的0層數(shù)據(jù)流圖,以及1層細化數(shù)據(jù)流圖如圖3.1.1-3.1.4所示。圖3.1.10層數(shù)據(jù)流圖圖3.1.21層數(shù)據(jù)流圖(消費記錄細化)圖3.1.31層數(shù)據(jù)流圖(飯卡信息管理模塊細化)圖3.1.41層數(shù)據(jù)流圖(學(xué)生與商戶信息管理模塊細化)功能結(jié)構(gòu)圖如圖3.1.5所示。圖3.1.5系統(tǒng)功能模塊圖3.2數(shù)據(jù)庫設(shè)計3.2.1邏輯設(shè)計要點管理員表(工號,密碼,姓名,性別,聯(lián)系方式)工號密碼姓名性別聯(lián)系方式學(xué)生(學(xué)號,姓名,性別,聯(lián)系方式,宿舍)學(xué)號姓名性別聯(lián)系方式宿舍飯卡信息表(卡ID,余額,卡狀態(tài),消費限額,密碼,學(xué)號)卡ID余額卡狀態(tài)消費限額密碼學(xué)號刷卡機表(機號,位置,刷卡員工號)機號位置刷卡員工號刷卡員表(刷卡員工號,姓名)刷卡員工號姓名消費信息表(機號,卡ID,消費時間,消費金額)機號卡ID消費時間消費金額飯卡管理表(管理員工號,卡ID,操作時間,操作類型,操作內(nèi)容,充值金額)管理員工號卡ID操作時間操作類型操作內(nèi)容充值金額3.2.2物理結(jié)構(gòu)設(shè)計要點管理員表數(shù)據(jù)項類型主鍵備注工號char(20)是不為空密碼char(20)否不為空姓名char(20)否不為空性別char(2)否可為空聯(lián)系方式char(11)否可為空學(xué)生表數(shù)據(jù)項類型主鍵備注學(xué)號char(12)是不為空姓名char(10)否不為空性別char(2)否可為空聯(lián)系方式char(11)否可為空宿舍char(8)否可為空飯卡信息表數(shù)據(jù)項類型主鍵備注卡IDchar(8)是不為空余額float否可為空卡狀態(tài)char(4)否可為空消費限額float否可為空密碼char(6)否可為空學(xué)號char(12)否外鍵刷卡機表數(shù)據(jù)項類型主鍵備注機號char(4)是不為空位置char(50)否可為空刷卡員工號char(8)否外鍵刷卡員表數(shù)據(jù)項類型主鍵備注刷卡員工號char(8)是不為空姓名char(20)否可為空消費信息表數(shù)據(jù)項類型主鍵備注機號char(4)是不為空卡IDchar(8)是外鍵消費時間char(14)是不為空消費金額float否可為空飯卡管理信息表數(shù)據(jù)項類型主鍵備注管理員工號char(20)是外鍵卡IDchar(8)是外鍵操作時間char(14)是不為空操作類型char(8)否不為空操作內(nèi)容char(50)否可為空充值金額float否可為空3.2.3觸發(fā)器設(shè)計由于在消費和充值時,需要對余額進行更新操作,因此需要添加對應(yīng)的觸發(fā)器如下:createtriggerUpdateCardRemain1onConsumeforupdate,insertas updateCard setCardRemain-= (selecttop1ConNumfromConsume whereConsume.CardNoIN (selectCardNofrominserted) orderbyContimedesc ) whereCard.CardNoin (selectCardNofrominserted)createtriggerUpdateCardRemain2onManCardforupdate,insertas updateCard setCardRemain+= (selecttop1ChargeNumfromManCard whereManCard.CardNoIN (selectCardNofrominserted) orderbyManTimedesc ) whereCard.CardNoin (selectCardNofrominserted)3.3系統(tǒng)模塊IPO圖3.3.1驗證用戶登錄功能模塊功能描述對登錄系統(tǒng)的用戶進行身份驗證。模塊IPO表系統(tǒng)名稱飯卡管理系統(tǒng)模塊名稱用戶登錄模塊編號1作者翟天亨日期2015/12/25模塊描述用于系統(tǒng)對用戶的登錄進行身份驗證調(diào)用模塊數(shù)據(jù)庫模塊被調(diào)用模塊無輸入項目用戶名,密碼,用戶類型,驗證碼格式用戶名:varchar(20)密碼:varchar(20)類別:char(10)驗證碼:char(4)處理1、用戶輸入用戶名、密碼,選擇用戶類型及輸入驗證碼2、模塊獲得用戶名密碼等信息3、模塊調(diào)用數(shù)據(jù)庫表進行比較及程序進行驗證碼校驗4、模塊返回登錄信息輸出用戶登錄成功或登錄失敗。局部數(shù)據(jù)元素數(shù)據(jù)庫表約束條件驗證碼驗證注釋需要數(shù)據(jù)庫用戶表主要算法【登錄】按鈕:驗證用戶的合法性。【取消】按鈕:關(guān)閉用戶登錄窗口?!咀浴堪粹o:彈出用戶注冊功能窗口。3.3.2用戶注冊功能管理模塊功能描述用戶注冊一個登錄帳號。模塊IPO表系統(tǒng)名稱飯卡管理系統(tǒng)模塊名稱用戶注冊模塊編號2作者翟天亨日期2015/12/25模塊描述學(xué)生用戶注冊登錄帳號調(diào)用模塊數(shù)據(jù)庫模塊被調(diào)用模塊無輸入項目用戶名,密碼,確認密碼,綁定學(xué)號,綁定飯卡號,驗證碼格式用戶名:varchar(20)密碼:varchar(20)學(xué)號:nvarchar(50)飯卡號:nvarchar(50)驗證碼:char(4)處理用戶點擊登錄頁面的注冊鏈接系統(tǒng)返回注冊頁面用戶輸入注冊信息系統(tǒng)調(diào)用數(shù)據(jù)庫模塊進行數(shù)據(jù)信息比對信息確認無誤系統(tǒng)彈出注冊成功對話框輸出注冊成功或失敗局部數(shù)據(jù)元素數(shù)據(jù)庫表約束條件驗證碼驗證注釋需要數(shù)據(jù)庫用戶表及持卡者信息表主要算法【注冊】按鈕:注冊一個新用戶?!救∠堪粹o:關(guān)閉登錄窗口?!痉祷氐卿洝堪粹o:返回上層界面。3.3.3查詢用戶詳細信息功能模塊功能描述用于用戶查詢本人信息。模塊IPO表系統(tǒng)名稱飯卡管理系統(tǒng)模塊名稱查詢用戶詳細信息模塊編號3作者翟天亨日期2015/12/25模塊描述用于用戶查詢本人詳細信息調(diào)用模塊數(shù)據(jù)庫模塊被調(diào)用模塊無輸入項目點擊按鈕格式無處理用戶登錄成功進入用戶界面用戶點擊查詢用戶詳細信息系統(tǒng)根據(jù)用戶登錄的帳號從數(shù)據(jù)庫中查詢用戶的信息系統(tǒng)顯示查詢出的信息輸出用戶的詳細信息局部數(shù)據(jù)元素數(shù)據(jù)庫中持卡者信息表及照片表約束條件無注釋需要數(shù)據(jù)庫中持卡者信息表及照片表主要算法【查詢用戶詳細信息】按鈕:顯示用戶信息?!静樵兿M歷史】按鈕:查詢用戶的消費歷史?!緬焓А堪粹o:用戶掛失飯卡?!鞠M】按鈕:進入用戶消費界面。【上傳照片】按鈕:上傳用戶照片。【提交照片】按鈕:確認上傳照片。3.3.4用戶掛失功能模塊功能描述用于用戶掛失自己的飯卡。模塊IPO表系統(tǒng)名稱飯卡管理系統(tǒng)模塊名稱用戶掛失模塊編號4作者翟天亨日期2015/12/25模塊描述用于用戶掛失自己的卡調(diào)用模塊數(shù)據(jù)庫模塊被調(diào)用模塊無輸入項目點擊按鈕格式無處理用戶登錄進入用戶界面用戶點擊掛失按鈕系統(tǒng)根據(jù)用戶登錄的帳號查詢用戶信息系統(tǒng)顯示用戶學(xué)號及飯卡好信息用戶確認信息,點擊掛失按鈕系統(tǒng)彈出確認對話框用戶點擊確認,提交掛失系統(tǒng)更改用戶信息并添加記錄到系統(tǒng)中輸出掛失成功局部數(shù)據(jù)元素數(shù)據(jù)庫中飯卡信息表及飯卡歷史表約束條件注釋需要數(shù)據(jù)庫用戶表主要算法【掛失】按鈕:掛失自己的帳號?!敬_定】按鈕:確認所掛失的帳號?!救∠堪粹o:返回掛失界面。3.3.5用戶消費功能模塊功能描述用于用戶消費使用。模塊IPO表系統(tǒng)名稱飯卡管理系統(tǒng)模塊名稱用戶消費模塊編號5作者翟天亨日期2015/12/25模塊描述用于用戶消費使用調(diào)用模塊數(shù)據(jù)庫模塊被調(diào)用模塊無輸入項目點擊按鈕,消費金額格式消費金額:數(shù)字類型處理用戶登錄系統(tǒng)進入用戶界面用戶點擊消費按鈕系統(tǒng)根據(jù)用戶帳號返回用戶飯卡號及余額用戶輸入消費金額用戶點擊消費系統(tǒng)查詢消費金額是否小于余額當(dāng)小于余額是系統(tǒng)彈出確認對話框用戶確認消費系統(tǒng)返回消費成功對話款及修改數(shù)據(jù)庫余額并添加歷史記錄輸出確認用戶消費局部數(shù)據(jù)元素數(shù)據(jù)庫中飯卡信息表及飯卡歷史表及用戶表約束條件消費輸入框中限定為數(shù)字輸入,其他字符無法輸入進去注釋需要數(shù)據(jù)庫中飯卡信息表及飯卡歷史表及用戶表(4)主要算法【消費】按鈕:消費金額?!厩蹇铡堪粹o:清空消費金額?!敬_定】按鈕:確認消費金額?!救∠堪粹o:返回消費界面。3.3.6用戶查詢消費歷史功能模塊功能描述用于用戶查詢自己卡的歷史記錄模塊IPO表系統(tǒng)名稱飯卡管理系統(tǒng)模塊名稱用戶查詢消費歷史模塊編號6作者翟天亨日期2015/12/25模塊描述用于用戶查詢自己卡的歷史記錄調(diào)用模塊數(shù)據(jù)庫模塊被調(diào)用模塊無輸入項目起始時間,終止時間,款額,操作格式起始時間:datetime終止時間:datetime款額:float操作:char(20)處理用戶登錄系統(tǒng)進入用戶界面用戶點擊查詢消費歷史系統(tǒng)根據(jù)用戶登錄的帳號返回用戶所有歷史記錄用戶輸入查詢條件系統(tǒng)根據(jù)查詢條件查詢數(shù)據(jù)庫系統(tǒng)返回查詢結(jié)果輸出用戶根據(jù)查詢條件查詢的結(jié)果局部數(shù)據(jù)元素用戶表及飯卡歷史表約束條件只能查詢本卡,時間通過鼠標(biāo)點入,操作類型由下拉框輸入注釋需要數(shù)據(jù)庫用戶表及飯卡歷史表(4)主要算法【查找】按鈕:選擇起始時間查詢用戶消費歷史?!厩蹇铡堪粹o:清空所輸入的款額,操作。3.3.7新建持卡者功能模塊功能描述用于管理員錄入新建學(xué)生信息。模塊IPO表系統(tǒng)名稱飯卡管理系統(tǒng)模塊名稱新建持卡者模塊編號7作者翟天亨日期2015/12/25模塊描述用于管理員錄入新建學(xué)生的信息調(diào)用模塊數(shù)據(jù)庫模塊被調(diào)用模塊無輸入項目學(xué)號|工號,飯卡號,姓名,電話,性別,地址,照片格式學(xué)號|工號:nvarchar(50)飯卡號:nvarchar(50)姓名:char(20)電話:char(10)性別:char(20)地址:char(50)照片:jpg,bmp,png處理管理員登錄系統(tǒng)進入管理員界面管理員打開新建持卡者信息管理員輸入信息并選擇照片管理員點擊提交系統(tǒng)將信息寫入數(shù)據(jù)庫中系統(tǒng)彈出信息錄入成功對話框輸出信息錄入成功對話框局部數(shù)據(jù)元素輸入信息到持卡者信息表及飯卡歷史表約束條件所有信息必須填寫完整除照片信息外。注釋需要數(shù)據(jù)庫中持卡者信息表及飯卡歷史表主要算法【提交】按鈕:提交用戶信息。【清空】按鈕:清空所填用戶信息?!旧蟼髡掌堪粹o:上傳用戶照片?!敬_定】按鈕:建卡成功,返回操作。3.3.8存款功能模塊功能驗證用于管理員對用戶的充值。模塊IPO表系統(tǒng)名稱飯卡管理系統(tǒng)模塊名稱存款模塊編號8作者翟天亨日期2015/12/25模塊描述用于管理員對用戶的充值調(diào)用模塊數(shù)據(jù)庫模塊被調(diào)用模塊無輸入項目學(xué)號|工號,充值金額格式學(xué)號|工號:nvarchar(50)充值金額:float處理管理員登錄系統(tǒng)進入管理員界面管理員輸入要充值的學(xué)生學(xué)號管理員點擊充值按鈕系統(tǒng)根據(jù)管理員輸入的學(xué)生學(xué)號查詢學(xué)生信息返回到充值頁面管理員輸入充值金額管理員點擊提交按鈕系統(tǒng)彈出確認對話框管理員確認系統(tǒng)彈出充值成功對話框輸出充值成功對話框局部數(shù)據(jù)元素輸出信息記錄到飯卡信息表及飯卡歷史表約束條件注釋需要數(shù)據(jù)庫飯卡信息表、飯卡歷史表(4)主要算法【充值】按鈕:充值金額?!敬_定】按鈕:確定充值金額。【取消】按鈕:取消充值并返回。3.3.9注銷用戶功能模塊功能描述用于管理元對畢業(yè)學(xué)生及過期用戶的注銷。模塊IPO表系統(tǒng)名稱飯卡管理系統(tǒng)模塊名稱注銷模塊編號9作者翟天亨日期2015/12/25模塊描述用于管理員對畢業(yè)學(xué)生及過期用戶注銷調(diào)用模塊數(shù)據(jù)庫模塊被調(diào)用模塊無輸入項目學(xué)號|工號格式學(xué)號|工號:nvarchar(50)處理管理員登錄系統(tǒng)進入管理員界面管理員輸入要注銷的學(xué)生學(xué)號管理員點擊注銷按鈕系統(tǒng)根據(jù)管理員輸入的學(xué)號進行查詢系統(tǒng)顯示查詢結(jié)果在注銷頁面管理員核對信息并提交注銷系統(tǒng)接收信息寫入數(shù)據(jù)庫并刪除注銷用戶的飯卡歷史信息輸出是否注銷對話框及注銷成功對話框局部數(shù)據(jù)元素寫入記錄到飯卡歷史表及飯卡信息表約束條件注釋需要數(shù)據(jù)庫飯卡歷史表及飯卡信息表主要算法【注銷此卡】按鈕:注銷次飯卡?!敬_定】按鈕:確認注銷次卡?!救∠堪粹o:返回注銷界面。3.3.10更改學(xué)生信息功能模塊功能描述用于管理員對需要更改的學(xué)生信息進行查詢更改。模塊IPO表系統(tǒng)名稱飯卡管理系統(tǒng)模塊名稱更改學(xué)生信息模塊編號10作者翟天亨日期2015/12/25模塊描述用于管理員對需要更改的學(xué)生信息進行查詢更改調(diào)用模塊數(shù)據(jù)庫模塊被調(diào)用模塊無輸入項目學(xué)號|工號,飯卡號,姓名,電話,性別,地址,照片格式學(xué)號|工號:nvarchar(50)飯卡號:nvarchar(50)姓名:char(20)電話:char(10)性別:char(20)地址:char(50)照片:jpg,bmp,png處理管理員登錄系統(tǒng)進入管理員界面管理員輸入要更改信息的學(xué)生學(xué)號系統(tǒng)根據(jù)學(xué)生學(xué)號查詢數(shù)據(jù)庫系統(tǒng)返回學(xué)生信息到更改學(xué)生信息頁面管理員修改要更改的學(xué)生信息管理員提交更改后的學(xué)生信息系統(tǒng)接收信息寫入數(shù)據(jù)庫中系統(tǒng)彈出更新成功對話框輸出更新成功對話框局部數(shù)據(jù)元素寫入記錄到持卡者信息表及照片表約束條件學(xué)生學(xué)號無法更改注釋需要數(shù)據(jù)庫持卡者信息表及照片表(3)主要算法【提交】按鈕:確認提交所填的資料信息?!緞h除】按鈕:刪除每一個信息?!厩蹇铡堪粹o:清空所有信息?!旧蟼髡掌堪粹o:上傳更改用戶照片信息。3.3.11掛失,解鎖功能模塊功能描述用于管理員對掛失用戶進行解鎖并對需要掛失用戶進行掛失。模塊IPO表系統(tǒng)名稱飯卡管理系統(tǒng)模塊名稱掛失,解鎖模塊編號11作者翟天亨日期2015/12/25模塊描述用于管理員對掛失用戶進行解鎖及對需要掛失用戶進行掛失調(diào)用模塊數(shù)據(jù)庫模塊被調(diào)用模塊無輸入項目學(xué)號|工號格式學(xué)號|工號:nvarchar(50)處理管理員登錄進入管理員頁面管理員輸入要掛失或解鎖的用戶學(xué)號系統(tǒng)根據(jù)管理員輸入的信息進行查詢系統(tǒng)返回信息到頁面管理員點擊掛失或解鎖按鈕系統(tǒng)接收信息寫入數(shù)據(jù)庫系統(tǒng)彈出掛失成功或解鎖成功對話框輸出掛失成功或解鎖成功對話框局部數(shù)據(jù)元素寫入記錄到飯卡歷史表及更新飯卡信息表約束條件注銷卡及已上鎖的卡系統(tǒng)不予此操作注釋需要數(shù)據(jù)庫用戶表主要算法【掛失此卡】按鈕:掛失需要掛失的飯卡?!窘怄i此卡】按鈕:解鎖需要解鎖的飯卡?!敬_定】按鈕:確認掛失,解鎖的飯卡?!救∠堪粹o:取消掛失,解鎖,并返回上層界面。3.3.12查詢更改消費歷史功能模塊功能描述用于管理員對用戶消費歷史進行查詢更改模塊IPO表系統(tǒng)名稱飯卡管理系統(tǒng)模塊名稱查詢更改消費歷史模塊編號12作者翟天亨日期2015/12/25模塊描述用于管理員對用戶消費歷史進行查詢更改調(diào)用模塊數(shù)據(jù)庫模塊被調(diào)用模塊無輸入項目學(xué)號|工號,起始時間,終止時間,款額,操作格式學(xué)號|工號:nvarchar(50)起始時間:datetime終止時間:datetime款額:float操作:char(20)處理管理員登錄系統(tǒng)進入管理員頁面管理員點擊查詢更改消費歷史按鈕系統(tǒng)根據(jù)管理員輸入的學(xué)號信息進行查詢并返回該學(xué)號的歷史信息,如果管理員沒有輸入學(xué)號信息則返回所有學(xué)生的歷史信息管理員在更改歷史頁面上重新選擇查詢條件系統(tǒng)根據(jù)查詢條件返回結(jié)果管理員對結(jié)果進行更改系統(tǒng)接收更改信息寫入數(shù)據(jù)庫輸出更改信息成功對話框局部數(shù)據(jù)元素更改飯卡歷史表中的記錄約束條件注釋需要數(shù)據(jù)庫用戶表(3)主要算法【刪除】按鈕:刪除選定的消費記錄。【清空】按鈕:清空消費記錄。【查找】按鈕:查找指定的消費記錄。3.3.13數(shù)據(jù)庫功能模塊功能描述記錄系統(tǒng)所有數(shù)據(jù)信息。模塊IPO表系統(tǒng)名稱飯卡管理系統(tǒng)模塊名稱數(shù)據(jù)庫模塊模塊編號13作者翟天亨日期2015/12/25模塊描述記錄系統(tǒng)所有數(shù)據(jù)信息調(diào)用模塊無被調(diào)用模塊無輸入項目持卡者信息表,飯卡歷史表,飯卡信息表,用戶表,照片表格式無處理系統(tǒng)調(diào)用的各個處理輸出學(xué)生信息表,商鋪表,飯卡表,飯卡信息表,用戶表局部數(shù)據(jù)元素?zé)o約束條件無注釋各表數(shù)據(jù)類型給定4詳細設(shè)計4.1登錄模塊詳細設(shè)計登錄模塊的程序流程圖圖4.1登陸模塊流程圖偽代碼設(shè)計Begin用戶登錄輸入用戶名,密碼,驗證碼if(用戶名/密碼/驗證碼==””)則給出相應(yīng)提示信息否則連接數(shù)據(jù)庫If(Count<=0)則提示用戶名或者密碼錯誤否則調(diào)用frmMangerMainEnd4.2學(xué)生信息模塊詳細設(shè)計圖4.2學(xué)生信息管理模塊流程圖偽代碼設(shè)計注:在本系統(tǒng)中,查詢操作涉及學(xué)生發(fā)卡信息查詢和商戶查詢,查詢的過程基本相同,但查詢出后對結(jié)果的處理有些不同,這里只進行一種簡單描述:Begin查詢學(xué)生信息輸入學(xué)號if(學(xué)號為空)則提示錯誤信息否則連接數(shù)據(jù)庫if(學(xué)號&&密碼錯誤)則提示學(xué)號/密碼錯誤否則{進入查詢區(qū)域UsesqlsentencetoSelect;Textbox.Text=result;End}4.3消費模塊詳細設(shè)計消費模塊作為一個獨立的模塊單獨建立了一個工程,在此模塊用戶是無法進行查詢?nèi)魏涡畔ⅲ惶峁╋埧ㄏM功能。流程圖如圖4.3圖4.3消費模塊流程圖偽代碼設(shè)計開始GetcardnumberPosnumberpriceThenif(price>limit){輸入卡號密碼if(密碼正確)則continueelse提示密碼錯誤,重新輸入}if(余額>消費金額)余額=余額–消費金額否則提示余額不足結(jié)束5系統(tǒng)實現(xiàn)5.1編碼過程與特點編譯語言:C#編譯環(huán)境:visualstudio2010框架:WPF數(shù)據(jù)庫:對數(shù)據(jù)庫進行查詢,修改5.2部分功能模塊實現(xiàn)5.2.1對消費模塊進行實現(xiàn)與測試運行界面截圖具體代碼分析對數(shù)據(jù)庫進行查詢并將查詢結(jié)果顯示在界面相應(yīng)位置上。具體代碼如下:namespaceTheCardManagerSystem_Server{///<summary>///frmLogin.xaml的交互邏輯///</summary>publicpartialclassfrmLogin:Window{SQLconectsqlconnect;DataSetds;stringusr;stringpsw;stringcode;IdentifyingCodevalidCode;stringsql;publicfrmLogin(){InitializeComponent();sqlconnect=newSQLconect();}privatevoidconBtn_Click(objectsender,RoutedEventArgse){usr=usrTextBox.Text.Trim();psw=pswTextBox.Password.ToString().Trim();code=codeTextBox.Text.Trim();if(usrTextBox.Text=="")MessageBox.Show("請輸入用戶名!","錯誤信息",MessageBoxButton.OK,MessageBoxImage.Error);elseif(pswTextBox.Password.ToString()=="")MessageBox.Show("請輸入密碼!","錯誤信息",MessageBoxButton.OK,MessageBoxImage.Error);elseif(!String.Equals(validCode.CheckCode,code,StringComparison.CurrentCultureIgnoreCase)||codeTextBox.Text=="")MessageBox.Show("驗證碼錯誤!","錯誤信息",MessageBoxButton.OK,MessageBoxImage.Error);else{sql="selectManNo,ManPswfromManagerwhereManNo='"+usr+"'andManPsw='"+psw+"'";ds=sqlconnect.GetDs(sql);if(ds.Tables[0].Rows.Count>0){frmManagerMainMain=newfrmManagerMain(usr);Main.Show();this.Hide();}else{MessageBox.Show("有戶名或密碼錯誤,請重新輸入","錯誤信息",MessageBoxButton.OK,MessageBoxImage.Error);}}}privatevoidWindow_Loaded(objectsender,RoutedEventArgse){validCode=newIdentifyingCode (5,IdentifyingCode.CodeType.Alphas);codeImage.Source=BitmapFrame.Create(validCode.CreateCheckCodeImage());}privatevoidcodeImage_MouseDown(objectsender,MouseButtonEventArgse){validCode=newIdentifyingCode(5,IdentifyingCode.CodeType.Alphas);codeImage.Source=BitmapFrame.Create(validCode.CreateCheckCodeImage());}}}5.2.2對登陸模塊進行實現(xiàn)與測試運行界面截圖具體代碼分析界面上有三個需要判斷的數(shù)據(jù),分別是用戶名,密碼以及驗證碼。如果為空或者經(jīng)數(shù)據(jù)庫查詢后用戶名與密碼不匹配或者驗證碼輸入錯誤則提示錯誤信息,不然則通過驗證進入下一界面,具體代碼如下:namespaceTheCardManagerSystem_Server{///<summary>///frmLogin.xaml的交互邏輯///</summary>publicpartialclassfrmLogin:Window{SQLconectsqlconnect;DataSetds;stringusr;stringpsw;stringcode;IdentifyingCodevalidCode;stringsql;publicfrmLogin(){InitializeComponent();sqlconnect=newSQLconect();}privatevoidconBtn_Click(objectsender,RoutedEventArgse){usr=usrTextBox.Text.Trim();psw=pswTextBox.Password.ToString().Trim();code=codeTextBox.Text.Trim();if(usrTextBox.Text=="")MessageBox.Show("請輸入用戶名!","錯誤信息",MessageBoxButton.OK,MessageBoxImage.Error);elseif(pswTextBox.Password.ToString()=="")MessageBox.Show("請輸入密碼!","錯誤信息",MessageBoxButton.OK,MessageBoxImage.Error);elseif(!String.Equals(validCode.CheckCode,code,StringComparison.CurrentCultureIgnoreCase)||codeTextBox.Text=="")MessageBox.Show("驗證碼錯誤!","錯誤信息",MessageBoxButton.OK,MessageBoxImage.Error);else{sql="selectManNo,ManPswfromManagerwhereManNo='"+usr+"'andManPsw='"+psw+"'";ds=sqlconnect.GetDs(sql);if(ds.Tables[0].Rows.Count>0){frmManagerMainMain=newfrmManagerMain(usr);Main.Show();this.Hide();}else{MessageBox.Show("有戶名或密碼錯誤,請重新輸入","錯誤信息",MessageBoxButton.OK,MessageBoxImage.Error);}}}privatevoidWindow_Loaded(objectsender,RoutedEventArgse){validCode=newIdentifyingCode(5,IdentifyingCode.CodeType.Alphas);codeImage.SourceBitmapFrame.Create(validCode.CreateCheckCodeImage());}privatevoidcodeImage_MouseDown(objectsender,MouseButtonEventArgse){ validCode=newIdentifyingCode(5,IdentifyingCode.CodeType.Alphas);codeImage.Source=BitmapFrame.Create(validCode.CreateCheckCodeImage());}}}5.2.3對查詢模塊的實現(xiàn)與測試運行界面截圖具體代碼分析通過輸入卡號對數(shù)據(jù)庫進行查詢,如果查到需要的信息則顯示在界面相應(yīng)位置上,如果沒有該卡號或者卡號輸入錯誤則提示錯誤,具體代碼如下:privatevoidbutton3_Click(objectsender,RoutedEventArgse){stringCardID=textBox9.Text.Trim();if(Validator.IsCardNo(CardID)){sql="select*fromStuInfo,CardwhereCardNo='"+CardID+"'andCard.StuNo=StuInfo.StuNo";sqlconnect=newSQLconect();ds=sqlconnect.GetDs(sql);if(ds.Tables[0].Rows.Count>0){textBox10.Text=ds.Tables[0].Rows[0][0].ToString();textBox11.Text=ds.Tables[0].Rows[0][1].ToString();textBox12.Text=ds.Tables[0].Rows[0][2].ToString();textBox13.Text=ds.Tables[0].Rows[0][3].ToString();textBox14.Text=ds.Tables[0].Rows[0][4].ToString();textBox15.Text=ds.Tables[0].Rows[0][6].ToString();textBox16.Text=ds.Tables[0].Rows[0][7].ToString();if(textBox16.Text.Trim()=="掛失")textBox16.Foreground=Brushes.Red;elsetextBox16.Foreground=Brushes.Black;textBox17.Text=ds.Tables[0].Rows[0][8].ToString();available=true;}else{available=false;MessageBox.Show("沒有該飯卡,請確認后重新輸入!","錯誤信息",MessageBoxButton.OK,MessageBoxImage.Error);textBox9.Clear();textBox10.Clear();textBox11.Clear();textBox12.Clear();textBox13.Clear();textBox14.Clear();textBox15.Clear();textBox16.Clear();textBox17.Clear();}}else{MessageBox.Show("卡號格式錯誤,請重新輸入","卡號錯誤",MessageBoxButton.OK,MessageBoxImage.Error);textBox9.Clear();textBox10.Clear();textBox11.Clear();textBox12.Clear();textBox13.Clear();textBox14.Clear();textBox15.Clear();textBox16.Clear();textBox17.Clear();}}5.3測試5.3.1本系統(tǒng)的測試計劃系統(tǒng)的每一個模塊都需要進行單元測試,只有在通過了單元測試后,才能進行系統(tǒng)的集成測試。在所有的集成測試(包括模塊測試、系統(tǒng)測試)都完成以后,方可在用戶參與下進行驗收測試。只有通過了用戶的驗收測試后,系統(tǒng)才能交給最終的用戶。在系統(tǒng)項目及其所屬的各個模塊的編制與開發(fā)期間,要進行各種測試活動,準(zhǔn)確記錄、及時分析并妥善保存有關(guān)這些測試的記錄,是確保系統(tǒng)運行的重要條件。在系統(tǒng)測試中,應(yīng)有專人負責(zé)收集、匯總與保存有關(guān)系統(tǒng)測試的記錄。具體如下:需求分析階段列出的系統(tǒng)的每個功能都要求是“可測試的”。設(shè)計階段每個具體功能的實現(xiàn)都要考慮到其測試用例的設(shè)計。編碼實現(xiàn)階段對每個模塊做單元測試,然后做集成測試。最后和用戶一起做驗收測試。系統(tǒng)測試是為了驗證各階段所完成的工作是否滿足需求分析和詳細設(shè)計要求,識別出期望的結(jié)果和真正結(jié)果之間的差別,以便修正系統(tǒng)設(shè)計和代碼實現(xiàn)中的潛在錯誤,保證系統(tǒng)運行的正確性和功能完備性,提高系統(tǒng)運行的性能。5.3.2測試方法和步驟本系統(tǒng)采取以黑盒測試方案為主,白盒測試方案為輔的測試方法。先分別進行單元測試,再進行集成測試,遵循自底向上的策略。對于每一個測試用例都有考慮到合法和非法的測試情況。5.3.3測試過程5.3.3.1單元測試(黑盒測試)用戶登錄模塊測試:表1“用戶登錄模塊”輸入條件等價類表輸入等價類有效等價類無效等價類登錄信息無空值且與數(shù)據(jù)庫信息匹配并且輸入驗證碼2.無效用戶名3.無效密碼4.存在空值5.驗證碼錯誤表2有效等價類測試用例表測試數(shù)據(jù)期望結(jié)果覆蓋的有效等價類1.用戶名(admin)、密碼(admin)、驗證碼(輸入正確)輸入有效1表3無效等價類測試用例表測試數(shù)據(jù)期望結(jié)果覆蓋的無效等價類1.用戶名(aaaaaa)、密碼(admin)、驗證碼(輸入正確)2.用戶名(管理員)、密碼(admin)、驗證碼(輸入正確)無效輸入2用戶名(admin)、密碼(aaaaa)、驗證碼(輸入正確)2.用戶名(admin)、密碼(123456)、驗證碼(輸入正確)無效輸入3用戶名(admin)、密碼()、驗證碼(輸入正確)用戶名()、密碼(admin)、驗證碼(輸入正確)用戶名(admin)、密碼(admin)、驗證碼()無效輸入41.用戶名(admin)、密碼(admin)、驗證碼(輸入錯誤)無效輸入5持卡者信息管理測試:表4“查詢持卡者信息測試”輸入條件等價類表輸入等價類有效等價類無效等價類持卡者登錄信息1.顯示持卡者信息2.無效持卡者表5有效等價類測試用例表測試數(shù)據(jù)期望結(jié)果覆蓋的有效等價類1.201301012.20130102輸入有效1表6無效等價類測試用例表測試數(shù)據(jù)期望結(jié)果覆蓋的無效等價類持卡者無效輸入2飯卡信息管理測試:表7“加鎖與解鎖”輸入條件等價類表輸入等價類有效等價類無效等價類管理員登錄信息1.提示“是否掛失學(xué)號為的飯卡”2.此卡已上鎖管理員登錄信息3.顯示“是否解鎖學(xué)號為的飯卡”4.請輸入學(xué)號|工號5.學(xué)號|工號不存在,出現(xiàn)異常表8有效等價類測試用例表測試數(shù)據(jù)期望結(jié)果覆蓋的有效等價類登陸:用戶名(admin)、密碼(admin)、驗證碼(輸入正確);查詢:學(xué)號(20130101)點擊“掛失”輸入有效1登陸:用戶名(admin)、密碼(admin)、驗證碼(輸入正確);查詢:學(xué)號(20130101)點擊“解掛”輸入有效3表9無效等價類測試用例表測試數(shù)據(jù)期望結(jié)果覆蓋的無效等價類登陸:用戶名(admin)、密碼(admin)、驗證碼(輸入正確);查詢:學(xué)號(20130102)點擊“掛失”無效輸入2登陸:用戶名(admin)、密碼(admin)、驗證碼(輸入正確);點擊“解掛”無效輸入4登陸:用戶名(admin)、密碼(admin)、驗證碼(輸入正確);點擊“解掛”查詢:學(xué)號(20130103)無效輸入5表10“充值”輸入條件等價類表輸入等價類有效等價類無效等價類管理員登錄信息,點擊“充值”1.可填寫充值金額2.提示“請輸入學(xué)號|工號”3.提示“沒有找到此學(xué)生”4.充值金額為負表11有效等價類測試用例表測試數(shù)據(jù)期望結(jié)果覆蓋的有效等價類登陸:用戶名(admin)、密碼(admin)、驗證碼(輸入正確);查詢:學(xué)號(20130101)點擊“充值”,金額100輸入有效1表12無效等價類測試用例表測試數(shù)據(jù)期望結(jié)果覆蓋的無效等價類登陸:用戶名(admin)、密碼(admin)、驗證碼(輸入正確);點擊“充值”無效輸入2登陸:用戶名(admin)、密碼(admin)、驗證碼(輸入正確);查詢:學(xué)號(20130103)無效輸入3登陸:用戶名(admin)、密碼(admin)、驗證碼(輸入正確);查詢:學(xué)號(20130101)點擊“充值”,金額-100無效輸入4表13“修改卡密碼”輸入條件等價類表輸入等價類有效等價類無效等價類管理員登錄信息,點擊“修改卡密”1.可填寫密碼2.提示“請輸入學(xué)號|工號”3.提示“沒有找到此學(xué)生”4.密碼為空表14有效等價類測試用例表測試數(shù)據(jù)期望結(jié)果覆蓋的有效等價類登陸:用戶名(admin)、密碼(admin)、驗證碼(輸入正確);查詢:學(xué)號(20130101)點擊“修改卡密”,密:123輸入有效1表15無效等價類測試用例表測試數(shù)據(jù)期望結(jié)果覆蓋的無效等價類登陸:用戶名(admin)、密碼(admin)、驗證碼(輸入正確);點擊“修改卡密”無效輸入2登陸:用戶名(admin)、密碼(admin)、驗證碼(輸入正確);查詢:學(xué)號(20130103)無效輸入3登陸:用戶名(admin)、密碼(admin)、驗證碼(輸入正確);查詢:學(xué)號(20130101)點擊“充值”無效輸入4飯卡消費記錄管理測試:表16“查詢飯卡消費記錄”輸入條件等價類表輸入等價類有效等價類無效等價類持卡者登錄信息,點擊“查詢消費記錄”1.消費記錄根據(jù)查詢條件正確顯示在控件中2.消費記錄未顯示出來3.顯示出來的記錄與查詢條件不匹配表17有效等價類測試用例表測試數(shù)據(jù)期望結(jié)果覆蓋的有效等價類登陸:用戶名(admin)、密碼(admin)、驗證碼(輸入正確);查詢:學(xué)號(20130101)點擊“查詢消費記錄”輸入有效1表18無效等價類測試用例表測試數(shù)據(jù)期望結(jié)果覆蓋的無效等價類登陸:用戶名(admin)、密碼(admin)、驗證碼(輸入正確);查詢:學(xué)號(20130101)點擊“查詢消費記錄”無效輸入2、35.3.3.2集成測試(白盒測試)持卡者信息管理模塊的測試:①利用申請飯卡模塊完成申請者的飯卡和學(xué)號綁定任務(wù),然后調(diào)用查詢持卡者信息模塊看剛注冊的持卡者信息能否查詢到。若查到則進入下一步,否則查找錯誤。②若在查詢過程中發(fā)現(xiàn)此持卡者的某項記錄有誤,調(diào)用修改持卡者信息模塊修改這個不正確的記錄,以完善此持卡者的信息,如果可以進入下一步,否則查找錯誤。③調(diào)用查詢持卡者信息模塊查詢上面所說的持卡者,看看是否修改了該持卡者不正確的記錄,如果是,并且該持卡者再無其余不正確的記錄則此次測試成功,否則發(fā)現(xiàn)錯誤,立即回到第二步繼續(xù)測試。流程圖程序圖測試路徑:路徑1:1->2->3->5->1路徑2:1->2->3->4->7路徑3:1->2->3->4->6->4->7測試用例:路徑1:輸入飯卡信息管理測試:①利用加鎖與解鎖模塊完成對卡的鎖定任務(wù),然后調(diào)用消費模塊看剛加鎖的卡號能否進行消費,若不能則進入下一步,否則查找錯誤。
②利用加鎖與解鎖模塊完成對卡的解鎖任務(wù),然后調(diào)用消費模塊看剛加鎖的卡號能否進行消費,若能則進入下一步,否則查找錯誤。③若在消費過程中發(fā)現(xiàn)余額不足,則調(diào)用充值功能模塊增加可利用款額,以完成消費,如果可以進入下一步,否則查找錯誤④調(diào)用充值模塊增加可用款額,然后調(diào)用消費模塊進行消費,看之前不足的余額是否增加,可以消費,如果可以進入下一步,否則查找錯誤或重復(fù)本次操作。⑤利用注銷功能模塊完成消除卡信息的任務(wù),然后調(diào)用加鎖與解鎖模塊檢測卡是否還存在,若存在則重復(fù)此過程,否則查找錯誤。 流程圖程序圖測試路徑:路徑1:1->2路徑2:1->3->4路徑3:1->3->5->6路徑4:1->3->5->7->8->10->15路徑4:1->3->5->7->8->9->7->8->10->15飯卡消費記錄管理測試:①調(diào)用查詢飯卡消費記錄模塊功能,若在查詢過程中發(fā)現(xiàn)此卡的某項記錄有誤,則調(diào)用修改飯卡消費記錄模塊修改這個不正確的記錄,以完善此卡的信息,如果可以進入下一步,否則查找錯誤。②調(diào)用查詢飯卡消費記錄模塊查詢上面所說的卡,看看是否修改了該卡不正確的記錄,如果是,并且該卡再無企業(yè)不正確的記錄則此次測試成功,否則發(fā)現(xiàn)錯誤,立即回到第一步繼續(xù)測試。流程圖程序圖測試路徑:路徑1:1->2->4路徑2:1->2->3->5->2->4路徑3:1->2->3->5->3->5->2->45.3.3.3系統(tǒng)測試與回歸測試完成了各個模塊的測試后,要進行系統(tǒng)測試。系統(tǒng)測試是針對整個產(chǎn)品系統(tǒng)進行的測試,目的是驗證系統(tǒng)是否滿足了需求規(guī)格的定義,找出與需求規(guī)格不相符合或與之矛盾的地方。在系統(tǒng)測試的任何一個階段,只要發(fā)現(xiàn)了錯誤,就要盡可能及時更正。更正后還要檢驗已經(jīng)發(fā)現(xiàn)的缺陷有沒有被正確的修改和修改過程中有沒有引發(fā)新的缺陷,即回歸測試。另外,每當(dāng)一個新的模塊被當(dāng)作集成測試的一部分加進來的時候,軟件環(huán)境都很發(fā)生改變,即建立起新的數(shù)據(jù)流路徑,還有可能激活了新的控制邏輯。這些改變可能會使原本工作得很正常的功能產(chǎn)生錯誤。因此在集成測試策略的環(huán)境中,要進行回歸測試,就是對部分已通過測試的功能要再次進行測試,以保證系統(tǒng)在新環(huán)境下能正常工作。6維護6.1系統(tǒng)維護工作內(nèi)容沒有文檔的軟件,不能稱之為軟件,更談不到產(chǎn)品,所以我們在設(shè)計飯卡管理系統(tǒng)的時候主要從以下兩個方面做好維護:注釋說明文檔每次在發(fā)布更新的時候,我們都要在說明文檔中單獨標(biāo)記出更新的內(nèi)容以方便使用者。6.2系統(tǒng)維護策略本飯卡管理系統(tǒng)依賴于數(shù)據(jù)庫數(shù)據(jù)的實時更新,一旦數(shù)據(jù)庫的數(shù)據(jù)沒有及時更新到每個對應(yīng)的表或者出現(xiàn)觸發(fā)器失效的情況,應(yīng)該立即啟用應(yīng)急的措施。具體如下:建立一個備用數(shù)據(jù)庫,在主數(shù)據(jù)庫失靈的時候可以使用備用數(shù)據(jù)來保證系統(tǒng)的正確運行。備份數(shù)據(jù)庫使用云備份軟件在運行的時候每個小時自動從數(shù)據(jù)庫中調(diào)用學(xué)生飯卡余額并保存在一個臨時的文檔中,每個小時都替換更新一次。當(dāng)無法使用本地數(shù)據(jù)庫時也無法使用云端數(shù)據(jù)庫的時候,軟件自動生成一個文檔來記錄數(shù)據(jù)庫失效的時候的消費數(shù)據(jù),記錄關(guān)鍵數(shù)據(jù),在數(shù)據(jù)恢復(fù)的時候保證數(shù)據(jù)的時時更新,但是當(dāng)數(shù)據(jù)庫失效的時候,系統(tǒng)不能提供查詢操作,但是可以依靠之前生成的余額文檔來提供消費功能,保證學(xué)生飯卡的正常使用,此時,學(xué)生飯卡的信息是直接保存在文檔中的,當(dāng)數(shù)據(jù)庫恢復(fù)連接的時候再將文檔中的數(shù)據(jù)更新到數(shù)據(jù)庫。7總結(jié)與體會7.1總結(jié)經(jīng)過為期8周的軟件工程實驗課程,一個6人的團隊反復(fù)經(jīng)過討論與實踐,體驗到用軟件工程的思想來設(shè)計和編寫軟件的科學(xué)性以及必要性。8周過后,我們團隊通過努力成功復(fù)現(xiàn)出想要的結(jié)果,即飯卡管理系統(tǒng)。該系統(tǒng)面向?qū)W生和商戶,學(xué)生可以新辦、查詢、修改飯卡信息,商戶可以入駐、查詢盈利信息,遺憾的是沒有能夠?qū)崿F(xiàn)在設(shè)計初期希望的門禁功能。本系統(tǒng)具有良好的用戶體驗和容錯機制。系統(tǒng)采用WPF編碼,在界面數(shù)據(jù)的處理上采用單獨的驗證類來驗證信息是否合法;為了增加安全性,在登錄窗口處增加驗證碼類,用于生成和檢驗驗證碼信息;而在數(shù)據(jù)庫連接方面,也設(shè)計了單獨的數(shù)據(jù)庫連接類,類內(nèi)包含豐富的方法可供用戶調(diào)用。7.2體會石曉霞心得體會:為期八周的課程設(shè)計結(jié)束了,課程設(shè)計是我們專業(yè)課程知識綜合應(yīng)用的實踐訓(xùn)練,這是我們邁向社會,從事職業(yè)工作前一個必不可少的過程.”千里之行始于足下”,可以很好的形容我們這次的軟件工程設(shè)計。在軟件設(shè)計之初,我們就系統(tǒng)具體功能曾經(jīng)發(fā)生了很多爭執(zhí),我們的小組曾經(jīng)一度陷入了僵局,全組六個人為幾個功能爭執(zhí)不下,比如學(xué)生的權(quán)限問題,可以查詢自己飯卡的哪些信息,再比如掛失的時候,具體流程應(yīng)該如何實現(xiàn),學(xué)生的飯卡應(yīng)不應(yīng)該設(shè)置為唯一的卡號,掛失的時候是新生成一個全新的卡號還是延續(xù)使用老卡的卡號等等這些細節(jié)問題我們都一起討論了許久,當(dāng)一個個功能設(shè)計都確定下來后,組長進行了明確的分工,我根據(jù)組員設(shè)計的數(shù)據(jù)流圖將每一個數(shù)據(jù)整理下來,整理出的數(shù)據(jù)字典經(jīng)過幾次確認,我立刻清晰了這次設(shè)計中的所有元素,在后面的軟件運行維護策略的時候,我清楚的認識到,數(shù)據(jù)庫,是這個軟件的血液,沒有了數(shù)據(jù)的軟件就是一個空架子,數(shù)據(jù)的價值,遠遠大于數(shù)據(jù)的本身,在這個軟件中,我體會到了軟件和數(shù)據(jù)之間的聯(lián)系是千絲萬縷的,必須兼得并且處理得當(dāng),才能做出一個好軟件。當(dāng)我們完成了一些編碼后,系統(tǒng)可以實現(xiàn)一些功能并且可以對數(shù)據(jù)進行一定的處理,我覺得該系統(tǒng)目前還是一個概念的樣本,如果有大量的數(shù)據(jù)同時需要處理,那么我們目前的軟件有“崩潰”的危險,這也是為什么軟件需要不斷的維護的原因。雖然這只是一個實驗,但是他的意義遠大于單純的編碼,我明白了一個軟件從誕生到死亡這個過程究竟是什么在影響著他,也為我日后成為一個軟件設(shè)計師做了一個很好的開始。高澍陽心得體會:一個我感覺不能再熟悉的飯卡管理系統(tǒng)在設(shè)計過程中我們遇到了不少問題,很多在我們作為消費者的時候根本不會考慮的一些問題在設(shè)計軟件的時候都成為了不得不重視的問題。例如是用戶使用系統(tǒng)的權(quán)限應(yīng)該如何分配,卡號的限制金額應(yīng)該輸入多少需要要求輸入密碼。在使用Visio制作數(shù)據(jù)流圖和E-R圖的時候,從一開始不太會畫到后
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人貨車租賃與智能物流配送平臺合作合同4篇
- 二零二五年度農(nóng)產(chǎn)品代銷與農(nóng)產(chǎn)品標(biāo)準(zhǔn)化生產(chǎn)合作合同
- 2025年度棉花新品種研發(fā)與應(yīng)用推廣合同3篇
- 2025版家政服務(wù)行業(yè)農(nóng)民工勞動合同示范3篇
- 二零二五年度農(nóng)業(yè)用地土地租賃與農(nóng)業(yè)廢棄物處理合作合同4篇
- 2025年度智慧城市建設(shè)貸款合同-@-1
- 2025年度商業(yè)街區(qū)傳單派發(fā)與管理合同范本3篇
- 2025年度面粉產(chǎn)品專業(yè)銷售代理合同樣本4篇
- 2025年度美麗鄉(xiāng)村綠化景觀苗木種植與景觀設(shè)計合同
- 2025年度物流配送中心承包管理合同4篇
- 足浴技師與店內(nèi)禁止黃賭毒協(xié)議書范文
- 中國高血壓防治指南(2024年修訂版)要點解讀
- 2024-2030年中國光電干擾一體設(shè)備行業(yè)發(fā)展現(xiàn)狀與前景預(yù)測分析研究報告
- 湖南省岳陽市岳陽樓區(qū)2023-2024學(xué)年七年級下學(xué)期期末數(shù)學(xué)試題(解析版)
- 農(nóng)村自建房安全合同協(xié)議書
- 杜仲葉藥理作用及臨床應(yīng)用研究進展
- 4S店售后服務(wù)6S管理新規(guī)制度
- 高性能建筑鋼材的研發(fā)與應(yīng)用
- 無線廣播行業(yè)現(xiàn)狀分析
- 漢語言溝通發(fā)展量表(長表)-詞匯及手勢(8-16月齡)
- 高速公路相關(guān)知識講座
評論
0/150
提交評論