《計算機科學(xué)與技術(shù)課程設(shè)計超市會員管理系統(tǒng).doc》由會員分享,可在線閱讀,更多相關(guān)《計算機科學(xué)與技術(shù)課程設(shè)計超市會員管理系統(tǒng).doc(20頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、目 錄1、 需求分析.31.1 系統(tǒng)概述.31.2 具體分析.31.3 用戶需求.52、 系統(tǒng)概要設(shè)計.52.1 系統(tǒng)總體設(shè)計.52.2 系統(tǒng)功能模塊設(shè)計.52.3 數(shù)據(jù)庫設(shè)計.73、 詳細(xì)設(shè)計.133.1 數(shù)據(jù)處理封裝圖.133.2 系統(tǒng)設(shè)計.144、 編程實現(xiàn).154.1 登錄界面實現(xiàn).154.2 會員管理實現(xiàn).164.3 消費管理實現(xiàn).195、 課程設(shè)計體會.20參考文獻(xiàn).211、 需求分析1.1 系統(tǒng)概述該超市會員管理系統(tǒng)的用戶將是超市管理員或類似群體,提供方便、快捷的管理與維護(hù)。系統(tǒng)要求采用B/S模式進(jìn)行架構(gòu),使用的腳本語言為JSP,與oracle數(shù)據(jù)庫進(jìn)行交互。分為前臺瀏覽器端和后
2、臺服務(wù)器端兩部分。瀏覽器端主要功能有UI輸出和與用戶的交互等,服務(wù)器端則主要用于數(shù)據(jù)庫的維護(hù)、數(shù)據(jù)之間的存取等操作。1.2 具體分析1.2.1 功能需求分析該超市會員管理系統(tǒng)有四大模塊:用戶登錄模塊,會員管理模塊,統(tǒng)計分析模塊,賬戶管理模塊。用戶登錄模塊:該模塊需要用戶輸入用戶名和密碼,如果通過身份驗證則可以連接到數(shù)據(jù)庫。如果忘記密碼,則可以通過回答注冊時設(shè)置的問題找回密碼。如果輸入次數(shù)超過5次,則需要等待10分鐘才能重新輸入。會員管理模塊:該模塊主要實現(xiàn)會員的注冊,修改,退出,查詢等操作。會員有多種級別,級別的高低與消費總額成正比。不同的級別擁有不同的優(yōu)惠服務(wù)。剛注冊的會員有初級級別的優(yōu)惠。
3、會員可使用會員卡購買超市中的商品,每名會員只能注冊一張會員卡。當(dāng)需要補辦會員卡,或其他修改會員信息的操作可以通過修改來執(zhí)行。其中會員查詢可以通過不同的方式進(jìn)行查詢,以得到想要的數(shù)據(jù)。統(tǒng)計分析模塊:該模塊主要是統(tǒng)計系統(tǒng)當(dāng)中一些重要信息,比如會員消費習(xí)慣、商品信息統(tǒng)計等有價值的信息。將會提供多種統(tǒng)計方式,比如輸入收入階層統(tǒng)計會員數(shù),或者統(tǒng)計購買同一種類商品的人數(shù),等等。消費管理模塊:該模塊提供會員消費界面,既會員購買了哪些商品,商品單價,購買數(shù)量等信息。會員確定購買后,將所購買商品插入數(shù)據(jù)庫中消費記錄表,同時更改會員卡的消費總額,余額等信息。并且,根據(jù)消費總額是否達(dá)到一定限額,決定會員卡的級別是否
4、升級。1.2.2 數(shù)據(jù)需求分析會員信息表:會員ID,姓名,性別,年齡,聯(lián)系方式,地址,收入階層,卡號。會員卡信息表:卡號,消費總額,卡內(nèi)余額,序列號,級別ID,注冊時間。(序列號唯一標(biāo)識會員卡)級別表(用于查詢會員消費后的級別):級別ID,級別名稱,最小金額,最大金額,級別優(yōu)惠。消費記錄表(用于記錄會員消費的記錄):消費ID,卡號,消費金額,消費時間,商品條形碼,購買數(shù)量。商品信息表:商品條形碼,單價,商品名稱,數(shù)量,種類。為了便于查詢會員信息和消費記錄,添加了兩個視圖,由于查詢頻率高的數(shù)據(jù)。會員信息視圖:會員姓名,性別,年齡,聯(lián)系方式,地址,收入階層,會員卡號,注冊時間,消費總額,余額,級別
5、名稱。消費記錄視圖:會員卡號,消費金額,消費時間,商品名稱,購買數(shù)量,商品單價。1.2.3 性能要求分析數(shù)據(jù)精確度:該系統(tǒng)主要是能夠正確處理消費金額,以求能正確管理會員卡的金額。因此大多數(shù)需要處理小數(shù)的計算,這要求有足夠的精確度。時間特性:在時間方面,該系統(tǒng)力求在用戶能夠等待的時間范圍內(nèi)輸出,并將結(jié)果反映給用戶。適應(yīng)性:系統(tǒng)操作方式盡可能簡單,界面友好,運行環(huán)境盡可能向下兼容,與其他軟件的借口和開發(fā)環(huán)境發(fā)生變化時,應(yīng)具有較強的適應(yīng)能力和通用性,在數(shù)據(jù)結(jié)構(gòu)、程序變化不大時,能在不同的系統(tǒng)上使用,最好能跨越平臺。1.2.4 運行環(huán)境操作系統(tǒng):Microsoft Windows XP 或更高數(shù)據(jù)庫:
6、 Oracle10g瀏覽器: 主流瀏覽器,如IE1.3 用戶需求該系統(tǒng)要求具有友好的用戶界面和良好的硬件、軟件接口。同時,要求具有良好的健壯性,當(dāng)程序出錯時,能在一定局限內(nèi)允許錯誤的存在,而不使系統(tǒng)運行出現(xiàn)錯誤。另外,該系統(tǒng)還要求讓用戶能夠輕松上手,便捷的使用。2、 系統(tǒng)概要設(shè)計2.1 系統(tǒng)總體設(shè)計超市會員管理系統(tǒng)用戶登錄模塊消費管理會員管理模塊圖2.1 系統(tǒng)總圖2.2 系統(tǒng)功能模塊設(shè)計會員管理的功能模塊如下圖所示:會員管理會員注冊會員信息修改會員退出會員信息查詢圖2.2.1 會員管理圖圖2.2.2 統(tǒng)計分析圖消費管理的功能模塊如下圖所示:消費管理會員消費會員卡充值圖2.2.3 消費管理圖2.
7、3 數(shù)據(jù)庫設(shè)計2.3.1 數(shù)據(jù)庫主功能模塊E-R圖“會員”表的E-R圖:會員會員ID姓名性別年齡收入階層卡號地址聯(lián)系方式圖2.3.1.1 會員表“會員卡”表的E-R圖:會員卡卡號ID消費總額序列號注冊時間余額級別ID圖2.3.1.2 會員卡表“級別”表的E-R圖:級別級別ID級別名稱最小值最大值級別優(yōu)惠圖2.3.1.3 級別表“消費記錄”表的E-R圖:消費記錄卡號消費ID消費金額購買數(shù)量商品條形碼消費時間圖2.3.1.1 消費記錄表“商品信息”表的E-R圖:商品信息條形碼單價種類數(shù)量商品名稱圖2.3.1.5 商品信息表各實體之間關(guān)系的E-R圖:會員會員卡級別消費記錄商品信息注冊擁有消費查詢11
8、P11mn1圖2.3.1.6 其中兩個視圖的E-R圖如下:會員相關(guān)信息表:會員相關(guān)信息姓名性別年齡聯(lián)系方式地址收入階層卡號注冊時間余額級別名稱圖2.3.1.7 會員相關(guān)信心視圖會員消費記錄視圖:會員消費記錄卡號消費時間商品名稱單價購買數(shù)量消費金額余額圖2.3.1.8 會員消費記錄視圖2.3.2 關(guān)系模型其中實下劃線是主鍵,虛下劃線是外鍵會員(會員ID,姓名,性別,年齡,聯(lián)系方式,地址,收入階層,卡號)會員卡(卡號,消費總額,余額,序列號,注冊時間,級別ID)級別(級別ID,級別名稱,最小值,最大值,級別優(yōu)惠)消費記錄(消費ID,消費時間,消費金額,條形碼,購買數(shù)量,卡號)商品記錄(條形碼,單價
9、,商品名稱,數(shù)量,種類)2.3.3 數(shù)據(jù)庫定義會員信息表:字段名稱字段類型是否為空約束字段說明memIDNumber(5)否主鍵會員IDmemNamevarchar2(10)否會員姓名genderVarchar2(6)是Male,fe性別agenumber(2)是年齡telephonevarchar2(20)是唯一性聯(lián)系方式addressvarchar2(30)是地址incomeVarchar2(10)是check收入階層cardNonumber(10)是外鍵卡號會員卡表:字段名稱字段類型是否為空約束字段說明cardNonumber(10)否主鍵卡號totPricenumber(14,2)是累
10、計消費總額balPriceNumber(14,2)是卡內(nèi)余額regTimeDATE是注冊時間serNumchar(20)否唯一性會員卡序列號gradeIDNumber(2)是會員卡級別級別表:字段名稱字段類型是否為空約束字段說明gradeIDNumber(2)否主鍵級別IDgrageNamevarchar2(10)否級別名稱lowLimitNumber(14,2)是金額下限upLimitNumber(14,2)是金額上限YouhuiNumber(3,2)是會員打折優(yōu)惠消費記錄表:字段名稱字段類型是否為空約束字段說明expIDNumber否主鍵消費IDexpPriceNumber(14,2)是消
11、費金額expTimeDATE是消費時間barCodechar(20)是外鍵條形碼expNumNumber(4)是購買數(shù)量cardNonumber(10)是外鍵卡號商品信息表:字段名稱字段類型是否為空約束字段說明barCodeVarchar2(20)否主鍵條形碼unitPriceNumber(10,4)是商品單價goodNamevarchar2(20)是商品名稱goodNumNumber(6)是商品數(shù)量goodSortvarchar2(10)是商品種類3、 詳細(xì)設(shè)計根據(jù)以上的概要設(shè)計對本系統(tǒng)的問題描述、系統(tǒng)模塊的規(guī)劃、系統(tǒng)結(jié)構(gòu)的設(shè)計以及對數(shù)據(jù)庫的設(shè)計,其系統(tǒng)的規(guī)劃就比較清晰了。在系統(tǒng)的設(shè)計語言中
12、使用了JSP+Servlet+JavaBean+JDBC的設(shè)計模式,使用現(xiàn)在標(biāo)膠流行的三層結(jié)構(gòu)模式架構(gòu)。此系統(tǒng)采用MVC模式進(jìn)行設(shè)計,以此其中包含了大量的數(shù)據(jù)處理類,下面我將通過圖示相應(yīng)模塊的具體實現(xiàn)。同時,給出系統(tǒng)中用到的各個封裝類的整體布局和規(guī)劃,還有其中實現(xiàn)的數(shù)據(jù)處理。3.1 數(shù)據(jù)處理封裝圖DBConnection類負(fù)責(zé)專門連接數(shù)據(jù)庫并被其他數(shù)據(jù)庫表處理類使用。創(chuàng)建類Members用以實現(xiàn)會員管理模塊中各個功能的具體實現(xiàn)。Members類的具體實現(xiàn)有以下幾個功能:Members.java封裝類RegisterMember會員注冊UpdateMember會員信息修改QuitMember會員
13、退出Connection成員變量下面創(chuàng)建了四個Servlet用于處理從表單傳來的數(shù)據(jù),并反饋給客戶端。其中包括有會員注冊,會員更新,會員消費,會員卡充值,四個servlet。MemReg會員注冊MemUpd會員修改MemExp會員消費AddMoney會員卡充值Servlet3.2 系統(tǒng)設(shè)計總框架圖:描述了系統(tǒng)的基本結(jié)構(gòu)和模塊之間的調(diào)用關(guān)系。在下圖中所示的反映了整個系統(tǒng)的模塊間的關(guān)系。DBConnection:getConnectionlogin.jsp密碼錯誤marketMain.jsp主界面驗證通過marExpense.jsp消費管理界面marMember.jsp會員管理界面memReg.j
14、spmemUpd.jspmemQue.jspmemQuit.jspMemExpMemUpdQuery.jspquitMem.jspmemExp.jspaddMoney.jspMemExpAddMoney驗證密碼圖3.2 總框架圖4、 編程實現(xiàn)4.1 登錄界面實現(xiàn)4.1.1 登錄界面 4.1.2 代碼實現(xiàn)連接數(shù)據(jù)庫核心代碼:登錄后主界面:代碼如下: base href= My JSP marketMain.jsp starting page !- 超市會員管理系統(tǒng) 會員管理!- 統(tǒng)計分析 - 消費管理 退出 4.2 會員管理實現(xiàn)4.2.1 會員管理界面 會員注冊界面:會員修改界面:會員查詢界面:
15、會員查訊界面;4.3 消費管理實現(xiàn)4.3.1 消費管理界面 4.3.2 核心代碼:會員消費界面:會員卡充值界面:代碼如下:5、 課程設(shè)計體會本次設(shè)計性實驗,真的遇到不少問題,最主要的是連接數(shù)據(jù)庫的時候,老是連接不上,不斷地修改程序也沒有起色,上網(wǎng)查了一下資料,發(fā)現(xiàn)是電腦內(nèi)置不行,經(jīng)過一番修改與嘗試,終于勉強地將實驗弄出來。實驗并不完美,有幾個功能還有缺陷,以后會加以修改。6、 參考文獻(xiàn)1 王珊,薩師煊數(shù)據(jù)庫系統(tǒng)概論。高等教育出版社2 馬曉玉,孫巖等Oracle10g數(shù)據(jù)庫管理應(yīng)用于開發(fā)。清華大學(xué)出版社3 覃華,韋兆文,陳琴JSP2.0大學(xué)教材。機械工業(yè)出版社4 周亞輝JAVA數(shù)據(jù)庫系統(tǒng)項目開發(fā)實踐。科學(xué)出版社窗體頂端窗體底端