




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
論文題目基于B/S模式小型網(wǎng)上購(gòu)物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——服務(wù)器端學(xué)院:軟件學(xué)院專(zhuān)業(yè):年級(jí)班級(jí):學(xué)號(hào):學(xué)生姓名:指導(dǎo)教師:職稱(chēng):目錄基于B/S模式小型網(wǎng)上購(gòu)物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——服務(wù)器端 51. 摘要 52. 技術(shù)選型 61. 62. 62.1 Web基礎(chǔ) 62.2 前端技術(shù) 62.2.1 JavaScript 62.2.2 CSS 62.2.3 miniui 62.3 后臺(tái)技術(shù) 72.3.1 Servlet 72.3.2 JSP 72.3.3 SSH框架 72.4 數(shù)據(jù)管理技術(shù) 92.4.1 MySql數(shù)據(jù)庫(kù)管理系統(tǒng) 92.4.2 sql數(shù)據(jù)庫(kù)操作語(yǔ)言 92.5 開(kāi)發(fā)工具的選擇 102.5.1 應(yīng)用程序開(kāi)發(fā)環(huán)境MyEclipse10.5 102.5.2 Tomcat6.0應(yīng)用服務(wù)器 102.5.3 PowerDesigner 103. 需求分析 113. 113.1 系統(tǒng)模塊具體需求 113.2 系統(tǒng)流程分析 113.2.1 用戶注冊(cè) 113.2.2 用戶登陸 123.2.3 商品信息顯示 133.2.4 商品信息管理 133.2.5 訂單管理 133.2.6 注銷(xiāo)登出 144. 詳細(xì)設(shè)計(jì) 154. 154.1 系統(tǒng)總體架構(gòu) 154.2 系統(tǒng)用例圖 164.3 系統(tǒng)模塊設(shè)計(jì) 164.3.1 系統(tǒng)前臺(tái)模塊 164.3.2 后臺(tái)系統(tǒng)信息管理 174.4 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 184.4.1 數(shù)據(jù)表之間的結(jié)構(gòu) 184.4.2 數(shù)據(jù)表字段 184.5 基礎(chǔ)界面設(shè)計(jì) 214.5.1 注冊(cè)界面設(shè)計(jì) 214.5.2 登陸界面設(shè)計(jì) 214.5.3 后臺(tái)用戶信息界面管理 214.6 系統(tǒng)部署圖 225. 編碼實(shí)現(xiàn) 225. 225.1 環(huán)境的搭建 225.2 我的項(xiàng)目編碼規(guī)范 236. 測(cè)試回調(diào) 246. 246.1 異常 246.2 使用JUnit進(jìn)行單元測(cè)試 246.3 debug的使用 247. 參考文獻(xiàn) 248. 致謝 24基于B/S模式小型網(wǎng)上購(gòu)物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——服務(wù)器端摘要隨著Internet的蓬勃發(fā)展,網(wǎng)絡(luò)購(gòu)物中心作為電子商務(wù)的一種形式存在,正在以其高效、低成本的優(yōu)勢(shì),逐步成為新興的經(jīng)營(yíng)模式和理念。網(wǎng)絡(luò)購(gòu)物正適應(yīng)了當(dāng)今社會(huì)快節(jié)奏地生活,使顧客足不出戶便可以方便快捷輕松地選購(gòu)自己喜歡的商品。本系統(tǒng)以SSH三大框架在網(wǎng)絡(luò)上架構(gòu)一個(gè)動(dòng)態(tài)的電子商務(wù)網(wǎng)站,它是在Windows7下,以MySql為數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái),Tomcat為應(yīng)用服務(wù)器,采用JAVA語(yǔ)言技術(shù)開(kāi)發(fā)的網(wǎng)上購(gòu)物系統(tǒng)。本系統(tǒng)分前臺(tái)和后臺(tái)兩部分,前臺(tái)的使用者有注冊(cè)用戶和未注冊(cè)用戶,主要功能包括用戶注冊(cè),購(gòu)物車(chē)管理,訂單管理等功能;后臺(tái)的使用者是管理員,主要有括商品管理,用戶信息管理等功能。該網(wǎng)站系統(tǒng)建立后,是一個(gè)動(dòng)態(tài)交互的具有商品信息提供、用戶信息管理、商品信息管理等的網(wǎng)絡(luò)購(gòu)物系統(tǒng)網(wǎng)站。關(guān)鍵詞:網(wǎng)絡(luò)購(gòu)物系統(tǒng)B/S模式MySql數(shù)據(jù)庫(kù)SSH開(kāi)發(fā)框架DesignandImplementationoftheBrowserforSmallOnlineShoppingSystembasedonB/SModelAbstractWiththevigorousdevelopmentoftheInternet,onlineshoppingcenterasaformofelectroniccommerceisforitshighefficiencyandlowcostadvantage,graduallybecometheemergingbusinessmode.Onlineshoppingisadaptedtothefastpaceintoday'ssocietylife,whichmakepeopleneverleavehomecanconvenientlyandeasilychooseandbuytheirfavoriteproducts.TheSSHdevelopmentframeworkwasusedtosetupthenetworkarchitectureofadynamice-commercesites.TheonlineshoppingsystemisundertheenvironmentofWindows7,withMySqldatabasedevelopmentplatform,Tomcatastheapplicationserver,andbasedonJAVAlanguage.Thissystemdividestwopartsoftheforegroundandbackground.TheforegroundpartincludesregisteredusersandNonRegisteredUser.Themainfeaturesincludeuserregistration,shoppingcartmanagement,ordermanagement,andotherfunctions.Thebackgroundpartisusedbyadministrator,mainlyincludingcommoditymanagement,userinformationmanagement,andotherfunctions.Thisonlineshoppingsystemisadynamicinteractivewebsite,whichcanprovideinquiryofcommodityinformation,customerinformationmanagementandcommodityinformationmanagement.Keywords:onlineshoppingsystem;B/Smode;MySqldatabase;SSHdevelopmentframework1前言互聯(lián)網(wǎng)的興起一定程度上改變了整個(gè)社會(huì)的交易方式,國(guó)內(nèi)各大企業(yè)在二十世紀(jì)90年代互聯(lián)網(wǎng)興起之時(shí),就產(chǎn)生了通過(guò)網(wǎng)絡(luò)進(jìn)行交易的新型商業(yè)模式。但是在網(wǎng)站上企業(yè)的信譽(yù)難以認(rèn)證、網(wǎng)上交易的法律法規(guī)不健全、物流不發(fā)達(dá)等一系列的原因,限制了電子商務(wù)發(fā)展的步伐。最近你年來(lái)的各大電子商務(wù)公司的發(fā)展,例如阿里巴巴的淘寶、天貓,京東商城等一系列網(wǎng)絡(luò)購(gòu)物交易平臺(tái)的興起,大大促進(jìn)了社會(huì)的發(fā)展,大大改變了人們的生活方式。如今涌現(xiàn)的網(wǎng)購(gòu)熱潮是科技進(jìn)步和人類(lèi)文明不可逆轉(zhuǎn)的時(shí)期,同時(shí)也出現(xiàn)了很多購(gòu)物和支付平臺(tái)。比如淘寶網(wǎng)(),淘寶是中國(guó)深受歡迎的網(wǎng)購(gòu)零售平臺(tái),目前擁有近5億的注冊(cè)用戶數(shù),每天有超過(guò)6000萬(wàn)的固定訪客,同時(shí)每天的在線商品數(shù)已經(jīng)超過(guò)了8億件,平均每分鐘售出4.8萬(wàn)件商品。截止2011年年底淘寶網(wǎng)單日交易額峰值達(dá)到43.8億元,創(chuàng)造270.8萬(wàn)直接且充分就業(yè)機(jī)會(huì)。2技術(shù)選型下面介紹的所有技術(shù),都是通過(guò)此購(gòu)物系統(tǒng)的方方面面淋漓盡致地體現(xiàn)。你會(huì)發(fā)現(xiàn),看似枯燥的Web技術(shù)也是可以如此振奮人心。Web基礎(chǔ)web開(kāi)發(fā)包括前端和后后端的開(kāi)發(fā)。前端技術(shù)前端技術(shù)主要包括JavaScript和CSSJavaScriptJavaScript是網(wǎng)景公司開(kāi)發(fā)的一種在瀏覽器端執(zhí)行的腳本語(yǔ)言。要嵌入Html文本中才能運(yùn)行。JavaScript的主要作用:數(shù)據(jù)驗(yàn)證操作網(wǎng)頁(yè),實(shí)現(xiàn)一些動(dòng)態(tài)效果訪問(wèn)瀏覽器,獲得瀏覽器的一些信息。如獲得瀏覽器的類(lèi)型,版本ajax核心技術(shù)之一javascript的一些特點(diǎn):javascript是類(lèi)c的語(yǔ)言;腳本保存在js文件里,也可以直接寫(xiě)在html里;它是基于對(duì)象的語(yǔ)言,不是面向?qū)ο蟮恼Z(yǔ)言,比如沒(méi)有一定義類(lèi)的語(yǔ)法,也沒(méi)有繼承和多態(tài);它是一門(mén)弱類(lèi)型的語(yǔ)言,即變量在聲明時(shí),不能明確聲明其類(lèi)型變量的類(lèi)型是在運(yùn)行時(shí)確定,并且可以隨時(shí)改變。JavaScript有三個(gè)部分組成,即ECMAScript、DOM和BOMCSSCSS,cascadingstylesheet,級(jí)聯(lián)樣式表。CSS為網(wǎng)頁(yè)提供表現(xiàn)的形式,即按照W3C的建議,實(shí)現(xiàn)一個(gè)比較好的網(wǎng)頁(yè)設(shè)計(jì),應(yīng)該按照的規(guī)則:網(wǎng)頁(yè)的結(jié)構(gòu)與數(shù)據(jù),應(yīng)該寫(xiě)在.html里網(wǎng)頁(yè)的表現(xiàn)形式,應(yīng)該寫(xiě)在js文件里網(wǎng)頁(yè)的行為,應(yīng)該寫(xiě)在文件里這樣做的原因是,將網(wǎng)頁(yè)的數(shù)據(jù)、表現(xiàn)、行為分離。方便代碼的維護(hù)CSS將數(shù)據(jù)和表現(xiàn)分離,將表現(xiàn)寫(xiě)進(jìn)css文件里面。CSS通過(guò)選擇器找到Html標(biāo)記,瀏覽器會(huì)根據(jù)選擇器找到匹配的標(biāo)記,然后施加樣式miniuiminiui是一個(gè)快速Web開(kāi)發(fā)的一個(gè)開(kāi)源框架。使用Html的配置界面,可以減少很多的開(kāi)發(fā)代碼。內(nèi)置了內(nèi)存懶加載、低內(nèi)存開(kāi)銷(xiāo)、快速界面布局等機(jī)制。并具有豐富的表格控件和樹(shù)形控件。并與JQuery無(wú)縫集成以及跨平臺(tái)的支持。因此,在后臺(tái)使用對(duì)用戶、商品以及訂單的管理的時(shí)候,使用miniui非常方便和簡(jiǎn)潔。后臺(tái)技術(shù)ServletServlet是sun公司制定的一種用來(lái)擴(kuò)展服務(wù)器功能的組件規(guī)范。這種組件需要符合特定的規(guī)范,并且實(shí)現(xiàn)了部分功能的需要部署到容器上(如Tomcat容器)上才能運(yùn)行的軟件模塊。早期的Web服務(wù)器(ApacheWebServer)只能處理靜態(tài)資源請(qǐng)求,這種靜態(tài)資源請(qǐng)求就是事先將編寫(xiě)好的Html文件保存到服務(wù)器特定的文件夾下面。不能處理動(dòng)態(tài)資源的請(qǐng)求,即要根據(jù)用戶的請(qǐng)求參數(shù)進(jìn)行計(jì)算,生成新的Html頁(yè)面。返回給用戶。擴(kuò)展Web服務(wù)器功能的方式,早期是使用CGI程序來(lái)擴(kuò)展的CGI(CommonGatewayInterface通用網(wǎng)關(guān)接口)。CGI程序可以使用Perl、C++等語(yǔ)言進(jìn)行編寫(xiě)。CGI程序開(kāi)發(fā)相對(duì)復(fù)雜,可移植性差,比如沒(méi)有代碼的優(yōu)化會(huì)導(dǎo)致性能很差。而Servelt也可以用來(lái)擴(kuò)展Web服務(wù)器功能。JSPJSP,即JavaServerPage。是sun公司制定的一種服務(wù)器端動(dòng)態(tài)頁(yè)面的生成技術(shù)規(guī)范。雖然使用Servlet也可以生成動(dòng)態(tài)的頁(yè)面,但是過(guò)于繁瑣,需要使用out.print()將html的文檔元素一同輸出,并且不利于代碼的維護(hù)。例如,頁(yè)面需要發(fā)生改變,需要修改java代碼。因此,為了簡(jiǎn)化動(dòng)態(tài)頁(yè)面的開(kāi)發(fā),sun制定了這樣一個(gè)規(guī)范。一直以來(lái),JSP到底是前端技術(shù)還是后端技術(shù)一直備受爭(zhēng)議。但是從JSP的本質(zhì)上看,也就是JSP的運(yùn)行機(jī)制上說(shuō),JSP應(yīng)當(dāng)屬于后臺(tái)技術(shù)。因?yàn)椋琂SP作為顯示層,兼容HTML標(biāo)簽,但是一個(gè)JSP想要顯示給用戶看,需要首先將JSP頁(yè)面轉(zhuǎn)換成一個(gè)Servlet,最終通過(guò)Servlet響應(yīng)用戶的請(qǐng)求這個(gè)轉(zhuǎn)換過(guò)程的規(guī)則由應(yīng)用服務(wù)器容器來(lái)完成就,如Tomcat,JSP頁(yè)面轉(zhuǎn)換成一個(gè)Servlet后,這個(gè)Servlet將在容器根目錄下的work\Catalina\localhost\appName\org\apache\jsp\jsp所在的應(yīng)用路徑下面。如在應(yīng)用ego的Web-Root下面有一個(gè)main.jsp頁(yè)面,那么在運(yùn)行的時(shí)候,將在容器的work\Catalina\localhost\ego\org\apache\jsp\main_jsp.java文件,此文件就是容器在JSP這種規(guī)范下生成的Servelt,可以進(jìn)一步分析此Servlet的代碼會(huì)發(fā)現(xiàn)。里面會(huì)初始化有很多的的隱含屬性,如:request、response、page、config、session、application等屬性,這就是為什么在編寫(xiě)JSP、的時(shí)候,不用聲明這些屬性就可以直接使用的原因。在外面下面的應(yīng)用但中會(huì)有非常明顯的體現(xiàn)。Servlet是后臺(tái)技術(shù),顯而易見(jiàn)的,JSP也屬于后臺(tái)技術(shù)。他只是Servlet的一個(gè)變種,而這種變種是一種技術(shù)規(guī)范。用來(lái)簡(jiǎn)化Servlet的頁(yè)面編程。SSH框架Struts2框架在JavaEE的Web應(yīng)用初期,除了使用Servlet規(guī)范技術(shù)意外,普遍是在JSP的頁(yè)面源碼中,用Html和Java代碼混用的開(kāi)發(fā)模式,不可避免地要把表現(xiàn)層和業(yè)務(wù)邏輯層代碼混合在一起,給前期開(kāi)發(fā)和后期維護(hù)帶來(lái)了很大的困難。為了擺脫這種現(xiàn)狀,把邏輯代碼從表現(xiàn)層分離出來(lái),2002年,CarigMcClanhan采用了MVC的設(shè)計(jì)模式開(kāi)發(fā)出了Struts。后來(lái)該框架產(chǎn)品一度被認(rèn)為是最廣泛、最流行Java的Web應(yīng)用框架。MVC不是一種框架,而是一種設(shè)計(jì)思想。M-Model模型層。模型層負(fù)責(zé)業(yè)務(wù)邏輯。業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)處理邏輯。V-View 視圖層。視圖負(fù)責(zé)顯示界面和用戶交互。C-Control 控制層。控制器是模型層M和視圖層V之間的橋梁,用于控制流程。Struts2采用MVC的設(shè)計(jì)模式。struts2是struts1的升級(jí)產(chǎn)品。是在struts1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并的全新的struts2框架。Struts2并非簡(jiǎn)單的struts1的升級(jí)。Struts的幾個(gè)核心包括Action、Result、Interceptor、ValueStack和OGNL標(biāo)簽庫(kù)。struts2的核心技術(shù)將會(huì)在項(xiàng)目中有具體的體現(xiàn)。/Hibernate框架Hibernate是開(kāi)源的、用于封裝數(shù)據(jù)訪問(wèn)層的組件。是數(shù)據(jù)訪問(wèn)層框架(或持久層框架)。之前通過(guò)JDBC/SQL語(yǔ)句從數(shù)據(jù)庫(kù)中訪問(wèn)或操作數(shù)據(jù),而Hibernate就是封裝了這些操作,專(zhuān)門(mén)用于數(shù)據(jù)訪問(wèn)層的的組件技術(shù)。Hibernate解決了程序員在做DAO開(kāi)發(fā)的時(shí)候遇到的幾大問(wèn)題:SQL語(yǔ)句過(guò)于繁瑣,和數(shù)據(jù)庫(kù)的耦合度高。(Hibernate用的是HQL)不同的數(shù)據(jù)庫(kù)之間的SQL不同,導(dǎo)致移植困難二維關(guān)系表和對(duì)象之間的數(shù)據(jù)結(jié)構(gòu)不匹配Hibernate的工作原理是對(duì)象和關(guān)系之間的映射,即ORM。使用Hibernate主要也就是為了使用它的這種機(jī)制。基于這種映射,會(huì)存在幾種映射之間的關(guān)系。包括集合映射、關(guān)聯(lián)關(guān)系映射、繼承映射以及組件映射。/Spring框架Spring框架用于整合軟件開(kāi)發(fā)中的各種框架,提供了組建之間的松耦合平臺(tái),目的是將耦合度降到最低,即解耦。使用Spring框架,主要是使用Spring容器的兩個(gè)主要特性:IOC和AOPIOC:InverseOfControl反向控制或控制反轉(zhuǎn)。控制指的就是程序相關(guān)類(lèi)之間的依賴關(guān)系。傳統(tǒng)觀念的設(shè)計(jì)中,通常由調(diào)用者來(lái)創(chuàng)建被調(diào)用這的實(shí)例,在Spring容器中,創(chuàng)建被調(diào)用的實(shí)例不再由調(diào)用者來(lái)完成,而是由Spring容器來(lái)完成,依賴關(guān)系被反轉(zhuǎn)了,稱(chēng)之為控制反轉(zhuǎn)。目的就是為了獲得更好的擴(kuò)展性和良好的維護(hù)性。AOP:AspectOrientedProgramming,面向切面編程,可以通過(guò)預(yù)編譯的方式和運(yùn)行動(dòng)態(tài)代理實(shí)現(xiàn)不修改源碼的前提下給程序動(dòng)態(tài)統(tǒng)一添加功能的一種技術(shù)。Struts2中的攔截器,用的就是AOP的思想。Spring也是一個(gè)非常優(yōu)秀的框架。一般來(lái)說(shuō),使用Spring框架的主要作用是:使用IOC整合各種組件(各種Bean);使用AOP來(lái)進(jìn)行事務(wù)管理。Spring有幾個(gè)核心模塊,包括DAO、ORM、JEE、AOP、Web。可以整合各種不同的框架。http://spring.io/數(shù)據(jù)管理技術(shù)MySql數(shù)據(jù)庫(kù)管理系統(tǒng)MySql是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),有瑞典MySqlAB公司開(kāi)發(fā),目前屬于Oracle公司。關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣增加了速度并提高了靈活性。在應(yīng)用里使用MySql的原因有幾點(diǎn)。首先,它是完全免費(fèi)的;其次,它占用內(nèi)存資源小,使用簡(jiǎn)單。sql數(shù)據(jù)庫(kù)操作語(yǔ)言sql,結(jié)構(gòu)化查詢語(yǔ)言,是一種數(shù)據(jù)庫(kù)查詢和程序設(shè)計(jì)語(yǔ)言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng);同時(shí)也是數(shù)據(jù)庫(kù)腳本文件的擴(kuò)展名。sql是高級(jí)的非過(guò)程化編程語(yǔ)言,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。它不要求用戶指定對(duì)數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫(kù)系統(tǒng)。如Oracel、DB2等等。Oracle比其他數(shù)據(jù)庫(kù)管理系統(tǒng)的最大優(yōu)勢(shì)就是速度快。在本W(wǎng)eb應(yīng)用中,使用了Hibernate的Hql進(jìn)行對(duì)數(shù)據(jù)庫(kù)的操作,但是底層它只是根據(jù)不同的數(shù)據(jù)庫(kù)的sql進(jìn)行了封裝,生成了通用的Hql,與具體數(shù)據(jù)庫(kù)無(wú)關(guān)。Hibernate會(huì)根據(jù)不同的方言,生成不同的操作數(shù)據(jù)庫(kù)的sql。開(kāi)發(fā)工具的選擇應(yīng)用程序開(kāi)發(fā)環(huán)境MyEclipse10.5MyEclipse是現(xiàn)今國(guó)內(nèi)企業(yè)流行的基于Eclipse的商業(yè)開(kāi)發(fā)工具M(jìn)yEclipse的最新版本。Eclipse是IBM公司主導(dǎo)下的一款開(kāi)源免費(fèi)的可做基礎(chǔ)Java項(xiàng)目的開(kāi)開(kāi)發(fā)工具,大多數(shù)基于Eclipse二次開(kāi)發(fā)的使用開(kāi)發(fā)工具,例如MyEclipse、IBMWSAD、NetBean等都是商業(yè)產(chǎn)品。MyEclipse幾種了開(kāi)源和商業(yè)軟件的開(kāi)發(fā)支持的大多數(shù)框架,方便易用,功能強(qiáng)大,獲得廣大開(kāi)發(fā)者的喜愛(ài)。它支持開(kāi)發(fā)基于Spring、Hibernate、Struts、JSF、JPA、EJB、WebService等JavaEE技術(shù)的項(xiàng)目。Tomcat6.0應(yīng)用服務(wù)器目前支持JSP的應(yīng)用服務(wù)器是較多的,Tomcat是其中較為流行的一個(gè)Web服務(wù)器,Tomcat是一個(gè)免費(fèi)的開(kāi)源的Serlvet容器,在Tomcat中,應(yīng)用程序的部署簡(jiǎn)單,只需將WAR放到Tomcat的webapp目錄下,Tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。在瀏覽器中訪問(wèn)這個(gè)應(yīng)用的Jsp時(shí),通常第一次會(huì)很慢,因?yàn)門(mén)omcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問(wèn)將會(huì)很快。Tomcat也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁(yè)面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet。Tomcat不僅僅因?yàn)槠涿赓M(fèi),功能強(qiáng)大,更因?yàn)槠溟_(kāi)放性,越來(lái)越受到人們的重視。在這里我選擇使用Tomcat作為我的應(yīng)用服務(wù)器。PowerDesignerPowerDesigner是Sybase公司的CASE工具集,使用它可以方便地對(duì)管理信息系統(tǒng)進(jìn)行分析設(shè)計(jì),他幾乎包括了數(shù)據(jù)庫(kù)模型設(shè)計(jì)的全過(guò)程。利用PowerDesigner可以制作數(shù)據(jù)流程圖、概念數(shù)據(jù)模型、物理數(shù)據(jù)模型,還可以為數(shù)據(jù)倉(cāng)庫(kù)制作結(jié)構(gòu)模型,也能對(duì)團(tuán)隊(duì)設(shè)計(jì)模型進(jìn)行控制。他可以與許多流行的數(shù)據(jù)庫(kù)設(shè)計(jì)軟件,例如PowberBuilder,Delphi,VB等相配合使來(lái)縮短開(kāi)發(fā)時(shí)間和使系統(tǒng)設(shè)計(jì)更優(yōu)化。Powerdesigner是能進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)的強(qiáng)大的軟件,是一款開(kāi)發(fā)人員常用的數(shù)據(jù)庫(kù)建模工具。使用它可以分別從概念數(shù)據(jù)模型(ConceptualDataModel)和物理數(shù)據(jù)模型(PhysicalDataModel)兩個(gè)層次對(duì)數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)。在這里,概念數(shù)據(jù)模型描述的是獨(dú)立于數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)的實(shí)體定義和實(shí)體關(guān)系定義;物理數(shù)據(jù)模型是在概念數(shù)據(jù)模型的基礎(chǔ)上針對(duì)目標(biāo)數(shù)據(jù)庫(kù)管理系統(tǒng)的具體化。這是一個(gè)強(qiáng)大的數(shù)據(jù)庫(kù)設(shè)計(jì)工具,使用DataArchitect可利用實(shí)體-關(guān)系圖為一個(gè)信息系統(tǒng)創(chuàng)建"概念數(shù)據(jù)模型"-CDM(ConceptualDataModel)。并且可根據(jù)CDM產(chǎn)生基于某一特定數(shù)據(jù)庫(kù)管理系統(tǒng)的"物理數(shù)據(jù)模型"-PDM(PhysicalDataModel)。還可優(yōu)化PDM,產(chǎn)生為特定DBMS創(chuàng)建數(shù)據(jù)庫(kù)的SQL語(yǔ)句并可以文件形式存儲(chǔ)以便在其他時(shí)刻運(yùn)行這些SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)。另外,DataArchitect還可根據(jù)已存在的數(shù)據(jù)庫(kù)反向生成PDM、CDM及創(chuàng)建數(shù)據(jù)庫(kù)的SQL腳本。需求分析系統(tǒng)模塊具體需求用戶注冊(cè):系統(tǒng)應(yīng)該具有用戶通過(guò)合法填寫(xiě)注冊(cè)表單,提交注冊(cè)信息進(jìn)行注冊(cè),并成為系統(tǒng)的合法用戶的功能;用戶登陸:用戶在注冊(cè)以后,系統(tǒng)將用戶的信息保存到數(shù)據(jù)庫(kù)。當(dāng)用戶登陸時(shí),系統(tǒng)應(yīng)該具有將登陸表單信息和數(shù)據(jù)庫(kù)信息作對(duì)比,驗(yàn)證用戶的合法性。并完成登陸操作;商品管理:系統(tǒng)具有對(duì)商品進(jìn)行增刪查改的能力;系統(tǒng)賦予后臺(tái)管理員這一權(quán)限;訂單管理:系統(tǒng)應(yīng)該具有對(duì)用戶的訂單進(jìn)行管理的能力;商品顯示:系統(tǒng)應(yīng)該具有對(duì)商品進(jìn)行分類(lèi)顯示的能力;購(gòu)物車(chē)管理:系統(tǒng)應(yīng)具有對(duì)用戶的購(gòu)物車(chē)進(jìn)行增刪改查的能力。系統(tǒng)流程分析用戶注冊(cè)在網(wǎng)上能夠購(gòu)買(mǎi)商品的用戶一定是改系統(tǒng)中已經(jīng)注冊(cè)了的合法用戶,因此,系統(tǒng)必須提供注冊(cè)功能。注冊(cè)流程如下:用戶登陸用戶能夠在網(wǎng)上順利地購(gòu)買(mǎi)商品,必須是用戶已經(jīng)登陸系統(tǒng)。所以,用戶登陸是系統(tǒng)最基礎(chǔ)的一個(gè)模塊。流程如下:商品信息顯示用戶直接登陸網(wǎng)站主頁(yè),即可查看網(wǎng)站的相關(guān)信息。系統(tǒng)會(huì)將商品分好類(lèi)顯示給用戶。商品信息管理訂單管理訂單管理是系統(tǒng)的一個(gè)購(gòu)物系統(tǒng)的核心部分。已經(jīng)登陸的用戶將滿意的商品放入購(gòu)物車(chē),確認(rèn)購(gòu)物車(chē)的商品為自己要購(gòu)買(mǎi)的商品后。單擊生成訂單按鈕,系統(tǒng)根據(jù)購(gòu)物車(chē)的商品生成一張用戶的訂單。注銷(xiāo)登出詳細(xì)設(shè)計(jì)系統(tǒng)總體架構(gòu)系統(tǒng)用例圖系統(tǒng)模塊設(shè)計(jì)系統(tǒng)前臺(tái)模塊模塊名稱(chēng)模塊描述注冊(cè)1用戶打開(kāi)瀏覽器,加載EGO系統(tǒng)注冊(cè)界面2填寫(xiě)注冊(cè)表單,在此過(guò)程中,為提高操作的人性化。發(fā)送ajax到后臺(tái)驗(yàn)證需要驗(yàn)證的文本域,并將結(jié)果返回給用戶3提交注冊(cè)表單到服務(wù)器,由服務(wù)器處理表單信息4系統(tǒng)將發(fā)送驗(yàn)證碼到客戶填寫(xiě)的郵箱。客戶去自己的注冊(cè)郵箱提取注冊(cè)碼。寫(xiě)入驗(yàn)證碼文本域。完成注冊(cè)。并將用戶的信息存在session中。可直接登陸到主頁(yè)。注:兩次密碼輸入必須一致;驗(yàn)證碼必須匹配;郵箱必須在系統(tǒng)中還不存在;確認(rèn)注冊(cè)后,系統(tǒng)會(huì)發(fā)送一條信息到注冊(cè)的郵箱登陸1打開(kāi)瀏覽器,加載EGO登陸界面2填寫(xiě)登陸表單信息,確認(rèn)登陸3系統(tǒng)去數(shù)據(jù)庫(kù)里面select,與用戶填寫(xiě)的表單信息equals。查看是否為true4登陸ok,跳轉(zhuǎn)到主頁(yè)面,主頁(yè)面上顯示用戶的登陸信息。注銷(xiāo)1前提:用戶已經(jīng)登陸到系統(tǒng)2點(diǎn)擊注銷(xiāo)按鈕,將session的email重置為null,即可完成注銷(xiāo)操作商品信息瀏覽1不管是已經(jīng)注冊(cè)的用戶還是尚未注冊(cè)的用戶,都可以登陸到系統(tǒng)的主頁(yè)進(jìn)行商品信息的瀏覽2系統(tǒng)將會(huì)分類(lèi)顯示用戶的商品購(gòu)物車(chē)1登陸的用戶才能進(jìn)入購(gòu)物車(chē),沒(méi)有登陸的用戶不能進(jìn)入購(gòu)物車(chē)2購(gòu)物車(chē)提供對(duì)已經(jīng)購(gòu)買(mǎi)商品的數(shù)量修改、刪除、從刪除區(qū)域恢復(fù)到選擇區(qū)域3系統(tǒng)提供對(duì)商品價(jià)格的總價(jià)計(jì)算4點(diǎn)擊結(jié)算按鈕,生成訂單按鈕訂單1訂單確認(rèn)時(shí),將訂單的信息寫(xiě)入數(shù)據(jù)庫(kù)的同時(shí),也將訂單的明細(xì)寫(xiě)入數(shù)據(jù)庫(kù)。2跳轉(zhuǎn)到收貨地址填寫(xiě)表單后臺(tái)系統(tǒng)信息管理商品信息界面管理數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)表之間的結(jié)構(gòu)數(shù)據(jù)表字段t_user(用戶表)字段名字段類(lèi)型字段說(shuō)明是否主鍵是否可為空idint(10)用戶id編號(hào)YNnicknamevarchar(50)用戶昵稱(chēng)NYpasswordvarchar(50)用戶登陸密碼NNemailvarchar(50)用戶注冊(cè)郵箱N(xiāo)Nuser_integralint(12)用戶積分NNis_email_verifychar(3)是否已經(jīng)認(rèn)證NYemail_verify_codevarchar(50)用戶驗(yàn)證碼NYlast_login_timetimestamp最后登陸時(shí)間NYlast_login_ipvarchar(15)最后登陸IPNYregister_timebigint(20)注冊(cè)時(shí)間NYt_receive_address(收貨地址表)字段名字段類(lèi)型字段說(shuō)明是否主鍵是否可為空idint(10)收貨地址idYNuser_idint(10)用戶idNNreceive_addressvarchar(50)收貨地址NNfull_addressvarchar(50)收貨詳細(xì)地址NNpostal_codevarchar(20)郵政編碼NNmobilevarchar(30)電話NYphonevarchar(30)手機(jī)NY說(shuō)明:user_id是外鍵,引用t_user表的id字段;一個(gè)用戶可以有多個(gè)收貨地址t_order(訂單表)字段名字段類(lèi)型字段說(shuō)明是否主鍵是否可為空idvarchar(36)訂單idYNuser_idint(10)用戶idNNstatusint(10)訂單狀態(tài)NNorder_timebigint(20)訂單產(chǎn)生時(shí)間NNorder_descvarchar(100)訂單詳情NYtotal_pricedouble總計(jì)NNreceive-namevarchar(100)收貨人姓名NYfull_addressvarchar(200)收貨人地址NYpostal_codevarchar(8)收貨人郵政編碼NYmobilevarchar(30)電話NYphonevarchar(20)手機(jī)NYt_item(訂單明細(xì))字段名字段類(lèi)型字段說(shuō)明是否主鍵是否可為空idint(10)訂單明細(xì)idYNorder_idint(10)訂單id(外鍵)NNproduct_idint(10)商品id(外鍵關(guān)聯(lián)t_product表)NNproduct_namevarchar(50)商品名稱(chēng)NNego_pricedoubleego價(jià)格NNfixed_pricedouble市場(chǎng)(固定)價(jià)NNproduct_numint(100)商品數(shù)量NNamountdouble總額NN說(shuō)明:order_id是外鍵,引用t_order表的id字段;一張訂單可以有多條訂單明細(xì)t_category(商品類(lèi)別表)字段名字段類(lèi)型字段說(shuō)明是否主鍵是否可為空idint(10)商品類(lèi)別idYNturnint(10)NNen_namevarchar(200)類(lèi)別英文名NNch_namevarchar(200)商品中文名NNdescriptionvarchar(300)商品類(lèi)別說(shuō)明NYparent_idint(10)父類(lèi)別idNY說(shuō)明:parent_id應(yīng)用自己表中的id字段。說(shuō)明一個(gè)大類(lèi)別可以有幾個(gè)小的類(lèi)別:如小說(shuō)類(lèi)別可以分為現(xiàn)代小說(shuō)、言情小說(shuō)、都市小說(shuō)等多個(gè)類(lèi)別t_product(商品信息表)字段名字段類(lèi)型字段說(shuō)明是否主鍵是否可為空idint(10)商品編號(hào)YNproduct_namevarchar(100)商品中文名NNproduct_en_namevarchar(100)商品英文名NYdescriptionvarchar(200)商品描述NYadd_timebigint(20)添加時(shí)間NYego_pricedoubleego價(jià)格NNfixed_pricedouble市場(chǎng)(固定)價(jià)NNkeywordsvarchar(100)關(guān)鍵詞NYhas_deletedint(1)是否已經(jīng)刪除NN默認(rèn)0product_picvarchar(100)商品圖片路徑NYrepertory_numint(11)庫(kù)存數(shù)量NYsell_numint(11)已賣(mài)出數(shù)量NYt_category_product字段名字段類(lèi)型字段說(shuō)明是否主鍵是否可為空idint(10)商品和商品類(lèi)型之間的關(guān)系的idYNcategory_idint(10)商品類(lèi)型idNNproduct_idint(10)商品idNN說(shuō)明:類(lèi)別(t_category)和商品(t_product)是多對(duì)多的對(duì)應(yīng)關(guān)系,此表用來(lái)維護(hù)這種多對(duì)多的關(guān)系。即一個(gè)類(lèi)別可以有多件商品,一件商品可以屬于多個(gè)類(lèi)別t_book字段名字段類(lèi)型字段說(shuō)明是否主鍵是否可為空idint(10)書(shū)編碼YNauthorvarchar(100)作者NNpublishingvarchar(100)出版社NNpublish_timebigint(20)出版時(shí)間NNword_numbervarchar(20)字?jǐn)?shù)NYwhich_editionvarchar(100)版次NYtotal_pageint(4)總頁(yè)數(shù)NYprint_timebigint(20)打印時(shí)間NYprint_numberint(4)打印數(shù)量NYisbnvarchar(50)isbn書(shū)碼NYauthor_summaryvarchar(100)作者結(jié)語(yǔ)NNcataloguevarchar(100)書(shū)目錄NN說(shuō)明:書(shū)籍(t_book)和商品(t_product)共同組成一個(gè)商品的所有信息。t_product是商品具有的共性的結(jié)合。基礎(chǔ)界面設(shè)計(jì)注冊(cè)界面設(shè)計(jì)用戶注冊(cè)0001-1用戶注冊(cè)界面0001-2用戶注冊(cè)界面表單屬性序號(hào)對(duì)象標(biāo)記名類(lèi)型位數(shù)I/O必填?說(shuō)明1文本框TEXT100IYEmail地址2文本框TEXT100IY昵稱(chēng)3文本框TEXT100IY密碼4文本框TEXT10IY確認(rèn)密碼5文本框BUTTONIY驗(yàn)證碼6按鈕BUTTONI注冊(cè)0001-3控制層動(dòng)作處理設(shè)計(jì)將表單填寫(xiě)完整后,按注冊(cè)按鈕,提交表單到服務(wù)器,系統(tǒng)進(jìn)行用戶注冊(cè)登陸界面設(shè)計(jì)用戶登陸0002-1用戶登陸界面0002-2用戶登陸界面表單屬性序號(hào)對(duì)象標(biāo)記名類(lèi)型位數(shù)I/O必填?說(shuō)明1文本框TEXT100IY用戶名2文本框TEXT100IY密碼5按鈕BUTTONI登陸0002-3控制層動(dòng)作處理設(shè)計(jì)將登陸表單填寫(xiě)完整,按登陸按鈕,將用戶表單數(shù)據(jù)提交驗(yàn)證,給出反饋,反饋結(jié)果有兩種結(jié)果,一種是用戶登陸用戶名或密碼錯(cuò)誤;一種是登陸成功,進(jìn)入主頁(yè),并顯示登陸用戶名后臺(tái)用戶信息界面管理這里是后臺(tái)的用戶信息管理界面的相關(guān)描述,其他模塊如:商品管理、訂單管理、購(gòu)物車(chē)管理等模塊的界面管理類(lèi)似,這里不再闡述羅列。0003-1后臺(tái)用戶信息界面0003-2后臺(tái)用戶信息界面表格屬性序號(hào)對(duì)象標(biāo)記名類(lèi)型位數(shù)I/O必填?說(shuō)明1按鈕添加buttoni添加用戶按鈕2按鈕編輯buttoni編輯用戶按鈕5按鈕刪除buttoni刪除用戶按鈕6按鈕查詢buttoni查詢用戶按鈕7文本框查詢框textI查詢文本框Grid主體部分商品名稱(chēng)商品英文名上架時(shí)間ego單價(jià)市場(chǎng)價(jià)是否已刪除庫(kù)存銷(xiāo)量關(guān)鍵字描述0003-3控制層動(dòng)作處理設(shè)計(jì)顯示用戶信息:點(diǎn)擊添加按鈕,跳轉(zhuǎn)到添加的頁(yè)面,添加完后確認(rèn)完成。編輯用戶信息:點(diǎn)擊編輯按鈕,將選定的用戶信息帶出,修改完成后,確認(rèn)保存。查詢用戶信息:在查詢框中輸入用戶的nickname的全部或一部分,系統(tǒng)會(huì)去數(shù)據(jù)庫(kù)查找nickname包含此字符的所有記錄。并顯示。刪除用戶:選中需要?jiǎng)h除的用戶條數(shù),點(diǎn)擊刪除按鈕。即可將用戶信息刪除。系統(tǒng)部署圖客戶端通過(guò)瀏覽器向WEB服務(wù)器發(fā)出請(qǐng)求,如需操作數(shù)據(jù)庫(kù),則再由WEB服務(wù)器向數(shù)據(jù)庫(kù)服務(wù)器發(fā)出請(qǐng)求,對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。操作完成后,由數(shù)據(jù)庫(kù)服務(wù)器將結(jié)果返回WEB服務(wù)器,WEB服務(wù)器以動(dòng)態(tài)網(wǎng)頁(yè)的形式返回客戶端,由瀏覽器將返回結(jié)果顯示給用戶。這是一種非常典型的B/S架構(gòu)的應(yīng)用。B/S建立在廣域網(wǎng)上,面向不同的用戶群,分散地域,這是以局域網(wǎng)為基礎(chǔ)的C/S無(wú)法做到的。與操作系統(tǒng)平臺(tái)關(guān)系不大。B/S結(jié)構(gòu)利用不斷成熟和普及的技術(shù)實(shí)現(xiàn)原來(lái)復(fù)雜專(zhuān)用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開(kāi)發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù),這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu),作為最終用戶,只要通過(guò)WEB瀏覽器,各種處理任務(wù)都可以調(diào)用系統(tǒng)資源來(lái)完成,這樣大大簡(jiǎn)化了客戶端,同時(shí)也減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量。編碼實(shí)現(xiàn)環(huán)境的搭建在搭建SSH開(kāi)發(fā)環(huán)境的時(shí)候,有兩種方式。一種是直接從各個(gè)官網(wǎng)下載所需要的jar包,如Struts2(/)Hibernate(/)Spring(/) 另一種方式是直接使用MyEclipse添加Struts2、Hibernate、Spring的支持。在工程上右鍵單擊,在彈出的菜單中選擇MyEclipse→AddStrutsCapabilities進(jìn)行添加strtus2的支持;接著MyEclipse→AddSpringCapabiities添加Spring的支持;最后MyEclipse→AddHibernateCapatilities添加Hibernate的支持。在添加這些支持的時(shí)候,系統(tǒng)會(huì)自動(dòng)將這些框架所需的Jar包引入工程中。最后引入其他包的支持,如文件上傳以及郵件的發(fā)送所需的包等等。但是這些包很多時(shí)候會(huì)出現(xiàn)沖突,也很容易出現(xiàn)版本不兼容的情況。這些問(wèn)題都是可以通過(guò)查看控制臺(tái)的消息進(jìn)行解決。都會(huì)有相關(guān)提示。 在服務(wù)器啟動(dòng)的時(shí)候,配置Spring容器的啟動(dòng)。在web.xml文件中加入如下代碼:<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 資金收支管理辦法作用
- 車(chē)輛行駛臺(tái)賬管理辦法
- 道孚縣周轉(zhuǎn)房管理辦法
- 道路施工圍擋管理辦法
- 邢臺(tái)市潔凈室管理辦法
- 鄭州物業(yè)倉(cāng)儲(chǔ)管理辦法
- 部委食堂用餐管理辦法
- 部門(mén)存量資金管理辦法
- 部門(mén)職責(zé)分工管理辦法
- 郫縣畜禽養(yǎng)殖管理辦法
- 裝配式結(jié)構(gòu)吊裝施工計(jì)算書(shū)
- 2024安徽蕪湖市中江城建集團(tuán)限公司下屬子公司社會(huì)招聘60人公開(kāi)引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(kù)(共500題)答案詳解版
- 放射科疑難病例分析討論記錄
- 設(shè)備運(yùn)輸投標(biāo)方案(技術(shù)方案)
- 韓國(guó)冰雪運(yùn)動(dòng)發(fā)展經(jīng)驗(yàn)及啟示
- 《交替?zhèn)髯g1》課程教學(xué)大綱
- 2024年教師招聘考試-小學(xué)音樂(lè)教師招聘筆試歷年真題薈萃含答案
- 梁平舊亂賬清理設(shè)計(jì)方案
- 絲蟲(chóng)病藥物研發(fā)研究
- 反恐組織機(jī)構(gòu)管理制度
- 電氣化鐵路牽引網(wǎng)故障測(cè)距原理
評(píng)論
0/150
提交評(píng)論