Javawebapp課程設(shè)計(jì)報(bào)告
《電子商務(wù)網(wǎng)站》課程設(shè)計(jì)報(bào)告項(xiàng) 目 題 目電子拍賣(mài)平臺(tái)系統(tǒng)分析與設(shè)計(jì)學(xué) 生 姓 名班級(jí) / 學(xué)號(hào) 專(zhuān) 業(yè) 指導(dǎo)教師2011年10月制
《電子商務(wù)網(wǎng)站》課程設(shè)計(jì)報(bào)告
項(xiàng) 目 題 目電子拍賣(mài)平臺(tái)系統(tǒng)分析與設(shè)計(jì)學(xué) 生 姓 名班級(jí) / 學(xué)號(hào) 專(zhuān) 業(yè) 指導(dǎo)教師
2011年10月制
,1、系統(tǒng)概述
本系統(tǒng)實(shí)現(xiàn)的是一個(gè)網(wǎng)上拍賣(mài)系統(tǒng),可以實(shí)現(xiàn)在線登錄,注冊(cè);賣(mài)家上貨,
買(mǎi)家出價(jià)競(jìng)拍;拍賣(mài)商品列表、商品拍賣(mài)信息和商品搜索等功能,普通的Internet 用戶可以通過(guò)該系統(tǒng)注冊(cè)成為會(huì)員后可以上傳自己拍賣(mài)的產(chǎn)品和競(jìng)拍賣(mài)價(jià)的商品。
2、網(wǎng)站結(jié)構(gòu)分析與設(shè)計(jì)
2.1目標(biāo)設(shè)計(jì)
競(jìng)拍網(wǎng)站所要實(shí)現(xiàn)的功能如下。 會(huì)員注冊(cè):會(huì)員注冊(cè)信息和會(huì)員登錄驗(yàn)證 會(huì)員管理:會(huì)員資金管理 買(mǎi)家信息管理 賣(mài)家信息管理
2.2系統(tǒng)功能分析設(shè)計(jì)
競(jìng)拍網(wǎng)共分為三個(gè)模塊:會(huì)員注冊(cè)模塊、會(huì)員個(gè)人管理模塊和商品列表
和搜索模塊。其功能模塊劃分如圖所示:
2.3數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)
根據(jù)系統(tǒng)功能的設(shè)計(jì)要求和模塊劃分,表結(jié)構(gòu)設(shè)計(jì)如下:
2.4 數(shù)據(jù)庫(kù)需求分析
數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)如下。
會(huì)員信息表:自動(dòng)編號(hào)、用戶名、密碼和身份證號(hào)碼、資金、日期 商品信息表:自動(dòng)編號(hào)、商品名、上傳人、商品詳情
賣(mài)家信息表:會(huì)員編號(hào)、商品編號(hào)、商品價(jià)格、截止時(shí)間
商品競(jìng)拍成功信息列表:商品名、用戶名、競(jìng)拍時(shí)間、起初價(jià)格、最終價(jià)格、最成交時(shí)間
2.5、開(kāi)發(fā)環(huán)境
開(kāi)發(fā)工具:myeclipse
服務(wù)器軟件:tomcat
數(shù)據(jù)庫(kù):MySQL
3. 網(wǎng)站詳細(xì)設(shè)計(jì).
3.1網(wǎng)站流程設(shè)計(jì)
3.2數(shù)據(jù)庫(kù)功能設(shè)計(jì)
三個(gè)存儲(chǔ)過(guò)程:
Onsell:展示拍賣(mài)信息, 返回當(dāng)時(shí)拍賣(mài)的所有信息;
Buyingshow:展示某個(gè)商品詳細(xì)信息
Buying:當(dāng)用戶竟拍是執(zhí)行.
3.3 JAVA 控制層設(shè)置
POJO 包:與每一項(xiàng)功能相對(duì)應(yīng), 設(shè)置對(duì)象類(lèi)
DAO包:所有連接數(shù)據(jù)庫(kù)的代碼
Servlet:所有前臺(tái)頁(yè)面的操作過(guò)程.
3.4前臺(tái)設(shè)計(jì)
以JSP 為主, 輔助以JS 的主流技術(shù), 實(shí)現(xiàn)網(wǎng)頁(yè)的動(dòng)態(tài)效果和數(shù)據(jù)的動(dòng)態(tài)接收, 這里是項(xiàng)目最困難的地方.
4. 網(wǎng)站的實(shí)施
前臺(tái)后臺(tái)控制分布實(shí)施:
4.1, 初步軟件結(jié)構(gòu)實(shí)施
其中DAO 包里全部是與數(shù)據(jù)庫(kù)有關(guān)的連接數(shù)據(jù)庫(kù)模式。 POJO包里全部是業(yè)務(wù)需要的數(shù)據(jù)結(jié)構(gòu)類(lèi)。
SERVLET包里全部是邏輯控制的控制模式。
,WEBROOT包下全部是前臺(tái)頁(yè)面。
4.2數(shù)據(jù)庫(kù)的實(shí)施
1,按設(shè)計(jì)建立4張需要的表。
2,根據(jù)功能需要,寫(xiě)好存儲(chǔ)過(guò)程。
4.3前臺(tái)頁(yè)面的組織
共4個(gè)主要頁(yè)面;
Index.jsp onsell.jsp onbuy.jsp register.jsp 其頁(yè)面內(nèi)容大部分動(dòng)態(tài)生成,千姿百態(tài)。
,4.4后臺(tái)功能跟進(jìn)
內(nèi)部大量邏輯代碼,工作量非常之大。
5. 設(shè)計(jì)心得
通過(guò)這次的課程設(shè)計(jì),本組成員對(duì)電子商務(wù)基于B/S結(jié)構(gòu)下的開(kāi)發(fā),有了十足的了解,在利用MVC 模式開(kāi)發(fā)過(guò)程中我們對(duì)前臺(tái)顯示和后臺(tái)業(yè)務(wù)處理由了深入的認(rèn)識(shí),前臺(tái)和后臺(tái)的分工使得業(yè)務(wù)邏輯清晰,層次結(jié)構(gòu)明了。
本項(xiàng)目的核心技術(shù)是MVC 模型下的B/S結(jié)構(gòu),其中用到的MVC 模型有效的使這個(gè)項(xiàng)目的產(chǎn)品做到了結(jié)構(gòu)上的分離,于此同時(shí),對(duì)整個(gè)開(kāi)發(fā)來(lái)說(shuō),也起到了分模塊,分人員的效果。
--什么是MVC ?
M :Model ;V :View ;C:Control;
MVC 結(jié)構(gòu)使得我們條例清楚的架構(gòu)整個(gè)網(wǎng)站,Model 作為后臺(tái)模型,其中包括DAO 類(lèi)(業(yè)務(wù)邏輯),實(shí)體抽象類(lèi)(POJO );View 使用JSP 僅僅顯示表面結(jié)構(gòu),保證了整個(gè)業(yè)務(wù)的安全性;Control 使用Servlet 控制業(yè)務(wù)流程邏輯。
在團(tuán)隊(duì)合作方面, 這次的課程設(shè)計(jì)也給了我們很多的啟發(fā), 首先在前臺(tái)與后臺(tái)的銜接方面, 要預(yù)先規(guī)劃, 其次才是功能的實(shí)現(xiàn).
,在功能實(shí)現(xiàn)方面,我們團(tuán)隊(duì)在設(shè)計(jì)上考慮的比較周到,但是,當(dāng)開(kāi)發(fā)實(shí)現(xiàn)之后,正式的進(jìn)行邏輯業(yè)務(wù)上的實(shí)現(xiàn)時(shí),卻發(fā)現(xiàn)無(wú)論是當(dāng)初的業(yè)務(wù)設(shè)計(jì)還是數(shù)據(jù)庫(kù)的設(shè)計(jì)及存儲(chǔ)過(guò)程的設(shè)計(jì)上都出現(xiàn)了一些考慮不周的情況,比如:在一個(gè)業(yè)務(wù)實(shí)施當(dāng)中需要聯(lián)系到3到4個(gè)表才能解決業(yè)務(wù)邏輯,這樣的業(yè)務(wù)實(shí)施是很不合理的,對(duì)數(shù)據(jù)庫(kù)方面的要求是不當(dāng)?shù)模@是前期設(shè)計(jì)的嚴(yán)重失誤;這也是一次教訓(xùn),告訴我們團(tuán)隊(duì)在以后的開(kāi)發(fā)項(xiàng)目中,要對(duì)整個(gè)業(yè)務(wù)的邏輯進(jìn)行深刻的思考以及對(duì)整個(gè)業(yè)務(wù)流程進(jìn)行模擬的運(yùn)行操作。但是,問(wèn)題出現(xiàn)后,本小組并沒(méi)有束手無(wú)策,數(shù)據(jù)庫(kù)方面的設(shè)計(jì)者想到了用存儲(chǔ)過(guò)程來(lái)解決問(wèn)題,使得后臺(tái)操作人員只需要運(yùn)用一條語(yǔ)句(存儲(chǔ)過(guò)程)所對(duì)應(yīng)的Java 程序代碼就能實(shí)現(xiàn)聯(lián)表操作,利用存儲(chǔ)過(guò)程的開(kāi)發(fā)也讓我們長(zhǎng)了見(jiàn)識(shí),學(xué)到了知識(shí)。
在前臺(tái)方面javascript 的開(kāi)發(fā)運(yùn)用到了JQuery 這個(gè)框架,這是一個(gè)目前國(guó)內(nèi)外市場(chǎng)上相當(dāng)主流的前臺(tái)框架,宋冉冉運(yùn)用其框架使得我們的頁(yè)面變得生龍活虎,同時(shí)也參與了一部分后臺(tái)業(yè)務(wù)邏輯設(shè)計(jì),使得頁(yè)面前臺(tái)對(duì)用戶的體驗(yàn)有了本質(zhì)的飛躍,這莫過(guò)于組員平時(shí)的自學(xué)積累,他在這次的設(shè)計(jì)當(dāng)中成功的將自學(xué)的技術(shù)在實(shí)訓(xùn)中加以結(jié)合,在這次實(shí)訓(xùn)中,他也將課本上的知識(shí)付之與實(shí)踐,既鞏固了既學(xué)知識(shí),又將這些技術(shù)提高到了實(shí)踐的高度,但是和后臺(tái)設(shè)計(jì)人員徐嘉駿在前后臺(tái)數(shù)據(jù)交換上不能成功的對(duì)接(曾經(jīng))。說(shuō)明了2人對(duì)除自身所了解的知識(shí)外了解不深這也是一個(gè)教訓(xùn)。
在JSP 頁(yè)面設(shè)計(jì)中本組成員運(yùn)用了JSTL-EL 技術(shù)輕松而有效的使得后臺(tái)數(shù)據(jù)順利的,簡(jiǎn)單的在JSP 頁(yè)面中動(dòng)態(tài)生成,同時(shí)其也進(jìn)行了整個(gè)頁(yè)面的美工,美工效果得到了本組成員的一致好評(píng),同時(shí)制作了一部分的后臺(tái)業(yè)務(wù)功能。他在前臺(tái)美工上不僅使用了傳統(tǒng)的CSS 樣式表,在一些功能上也是用了JS 效果,使整個(gè)頁(yè)面的效果得到統(tǒng)一。
在開(kāi)發(fā)過(guò)程中遇到了很多爭(zhēng)議的問(wèn)題, 譬如前后臺(tái)的聯(lián)系問(wèn)題數(shù)據(jù)交換問(wèn)題等, 由于開(kāi)發(fā)團(tuán)隊(duì)成員中, 對(duì)個(gè)人的任務(wù)很了解, 對(duì)其他成員的技術(shù)不甚了解, 導(dǎo)致誤解. 導(dǎo)致前后臺(tái)數(shù)據(jù)交換產(chǎn)生了困難,瓶頸,但是,在此期間,團(tuán)隊(duì)組長(zhǎng)起到了統(tǒng)籌規(guī)劃,相互協(xié)調(diào)作用,使得AJAX ,MySQL 以及Servlet 之間的交互困難得以解決。從中,我們體會(huì)到:課程設(shè)計(jì)作為一個(gè)團(tuán)隊(duì)開(kāi)發(fā)的項(xiàng)目,互相協(xié)調(diào),相互合作,統(tǒng)籌規(guī)劃,目標(biāo)一致都是相當(dāng)重要的。雖然,這是一門(mén)電子商務(wù)的課
,程設(shè)計(jì),但是,我們用到了項(xiàng)目管理的相關(guān)知識(shí),使得一項(xiàng)任務(wù)用到了多門(mén)課程的知識(shí)結(jié)晶。
2011年10月
附錄2:用戶手冊(cè)
用戶手冊(cè)
1、 用戶環(huán)境配置:
數(shù)據(jù)庫(kù):mysql5.0以上
Java :JDK 和JRE6.0以上
服務(wù)器:TOM-CAT7.0以上
操作環(huán)境:建議使用myeclipse9.0
2、 軟件的使用:
1, 解壓壓縮包,將WebAppAuctionSys 包放在tomcat 的webapp 目錄下,修
,改根目錄(WebAppAuctionSysWEB-INFclasses?o)下的db.properties 文件,使數(shù)據(jù)庫(kù)配置與用戶吻合。
2, 用戶建立數(shù)據(jù)庫(kù),執(zhí)行軟件中的uctiondb.sql ,得到我們的數(shù)據(jù)庫(kù)結(jié)構(gòu)。 3, 此時(shí)啟動(dòng)TOM-CAT ,用戶可測(cè)試網(wǎng)頁(yè),在瀏覽器中輸入http://localhost:
8080/WebAppAuctionSys/Index,當(dāng)然域名是用戶自己定義的。
3、 軟件的編輯
1, 打開(kāi)myeclipse9.0
2, 導(dǎo)入軟件壓縮包下的Auction 項(xiàng)目,用戶可對(duì)本軟件進(jìn)行修改。
4、 版權(quán)聲明
本軟件版權(quán)歸mark 小組所有,本項(xiàng)目可用于交流學(xué)習(xí)使用,不得用于商業(yè)用途, 最終解釋權(quán)歸mark 小組