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