手機(jī)銷售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第1頁(yè)
手機(jī)銷售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第2頁(yè)
手機(jī)銷售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第3頁(yè)
手機(jī)銷售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第4頁(yè)
手機(jī)銷售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGEIV長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說明書題目:手機(jī)銷售網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)產(chǎn)品設(shè)計(jì)工藝設(shè)計(jì)方案設(shè)計(jì)√類型:學(xué)生姓名:_________________學(xué)號(hào):_______________學(xué)院:____軟件學(xué)院_____________專業(yè):____軟件開發(fā)方向__________班級(jí):_____軟開1331班___________學(xué)校指導(dǎo)教師:______企業(yè)指導(dǎo)教師:_______________2016年5月1日摘要隨著信息化社會(huì)的不斷發(fā)展,電子商務(wù)在人們生活的領(lǐng)域已隨處可見,人們可以足不出戶,通過互聯(lián)網(wǎng)選購(gòu)自己所需的商品,通過網(wǎng)上支付或貨到付款的形式進(jìn)行付款。這樣的方式給人們的生活帶來的極大的方便,人們可以不受時(shí)間和地點(diǎn)的限制,選購(gòu)商品,對(duì)于商家而言,通過互聯(lián)網(wǎng)的方式銷售商品,可以減輕經(jīng)濟(jì)的負(fù)擔(dān),但是這種銷售方式,由于存在購(gòu)物量繁多,給人工管理增加了極大的負(fù)擔(dān),因此,如何處理好快速銷售與管理之間的關(guān)系,成為了商家們關(guān)心的問題。傳統(tǒng)的商品管理通過手工記錄的形式記錄下來,每月進(jìn)行統(tǒng)計(jì)等等,這樣的管理形式存在諸多不足之處,首先,手工記錄工作量大,或多或少有商品丟失數(shù)據(jù)的情況,其次是管理方面,由于數(shù)據(jù)多導(dǎo)致統(tǒng)計(jì)非常繁瑣,比如傳統(tǒng)的手機(jī)銷售方式是人們到實(shí)體店中購(gòu)買手機(jī),銷售員進(jìn)行記錄,這樣的方式不僅影響的手機(jī)的銷售,在管理方面工作也非常繁瑣。針對(duì)以上問題,設(shè)計(jì)開發(fā)了手機(jī)銷售網(wǎng)站,本網(wǎng)站前臺(tái)主要使用JSP作為開發(fā)語(yǔ)言,后臺(tái)使用SqlServer2005作為數(shù)據(jù)庫(kù)管理系統(tǒng),開發(fā)環(huán)境是MyEclipse,服務(wù)器采用tomcat,開發(fā)出的一個(gè)基于Web技術(shù)的B/S結(jié)構(gòu)的手機(jī)銷售網(wǎng)站。關(guān)鍵詞:網(wǎng)上銷售;訂單管理;JSP;B/S結(jié)構(gòu);手機(jī)銷售目錄TOC\o"1-2"\h\z\t"標(biāo)題3,3,標(biāo)題4,4"摘要 I1.緒論 11.1課題背景 11.2目的和意義 11.3開發(fā)工具及技術(shù) 11.3.1開發(fā)工具 MyEclipse Tomcat SqlServer 21.3.2JSP 21.3.3JavaScript 31.4軟硬件需求 32.需求分析 42.1需求調(diào)研 42.2可行性分析 42.2.1技術(shù)的可行性 42.2.2經(jīng)濟(jì)的可行性 42.2.3操作可行性 42.2.4法律的可行性 52.3系統(tǒng)用例分析 52.3.1普通用戶用例圖 52.3.2管理員用例圖 52.3.3會(huì)員用例圖 62.4功能模塊需求分析 72.5性能需求分析 82.5.1系統(tǒng)的安全性 82.5.2數(shù)據(jù)的完整性 93.系統(tǒng)分析與設(shè)計(jì) 103.1系統(tǒng)分析10 3.2數(shù)據(jù)庫(kù)的分析與設(shè)計(jì) 103.2.1數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì) 103.2.2數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì) 123.2.3數(shù)據(jù)庫(kù)的連接原理 134.系統(tǒng)功能實(shí)現(xiàn) 174.1系統(tǒng)登陸頁(yè)面實(shí)現(xiàn) 174.2總體功能模塊 184.2.1系統(tǒng)主頁(yè)面 184.2.2會(huì)員購(gòu)物功能實(shí)現(xiàn) 194.2.3會(huì)員注冊(cè)功能 264.2.4訂單查詢功能 294.3中文亂碼問題處理 315.系統(tǒng)測(cè)試 325.1系統(tǒng)測(cè)試目的與意義 325.2測(cè)試過程 325.2.1主頁(yè)面的登錄模塊測(cè)試 325.3其他錯(cuò)誤處理 33結(jié)論 34參考文獻(xiàn) 35致謝36PAGE371.緒論1.1課題背景隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展[1],人們的生活方式也發(fā)生了許多改變,在互聯(lián)網(wǎng)上,人們可以隨時(shí)隨地獲取信息,可以發(fā)布信息和網(wǎng)上購(gòu)物等,其中,網(wǎng)上購(gòu)物的發(fā)展最為突出?,F(xiàn)如今,各種各樣的商品都可以通過網(wǎng)上購(gòu)物的形式進(jìn)行銷售,客戶可以隨時(shí)瀏覽商品信息,可以在線咨詢等。然而,隨著網(wǎng)上購(gòu)物在人們生活中不斷受到歡迎,使用的人也越來越多,在于商品的管理方面,也遇到了問題,如何能使得商品以最多的速度銷售,同時(shí),也可以實(shí)現(xiàn)高效的管理成為迫切需要解決的問題。1.2目的和意義為了解決在實(shí)體店中銷售手機(jī)遇到的問題,開發(fā)設(shè)計(jì)了此手機(jī)銷售網(wǎng)站,該網(wǎng)站中,利用圖片展示及文字介紹的形式代替實(shí)體店中費(fèi)時(shí)的介紹形式,人們可以隨意瀏覽手機(jī)不受限制,在后臺(tái)管理方面,管理員通過手機(jī)入庫(kù),展示及出庫(kù)的形式,完成整個(gè)手機(jī)商城管理功能。手機(jī)銷售網(wǎng)站[2],手機(jī)信息是由管理員將將需要入庫(kù)的手機(jī)信息錄入系統(tǒng)中,系統(tǒng)將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,長(zhǎng)期保存,管理員可以隨時(shí)查詢信息,可以對(duì)商品信息進(jìn)行維護(hù),普通用戶可以不登錄系統(tǒng),進(jìn)行產(chǎn)品瀏覽,需要購(gòu)物時(shí),需要登錄系統(tǒng)才可購(gòu)買。1.3開發(fā)工具及技術(shù)1.3.1開發(fā)工具此次設(shè)計(jì)主要采用MyEclipse[3]加Tomcat后臺(tái)服務(wù)器進(jìn)行,設(shè)計(jì)過程中頁(yè)面主要使用JSP技術(shù)完成,下面對(duì)MyEclipse、Tomcat和SqlServer數(shù)據(jù)庫(kù)進(jìn)行簡(jiǎn)要介紹。MyEclipseMyEclipse[4]全稱MyEclipseEnterpriseWorkbench即我們通常說的企業(yè)級(jí)工作平臺(tái),它是在Eclipse的基礎(chǔ)上對(duì)IDE進(jìn)行了相關(guān)的擴(kuò)展與升級(jí),能夠支持現(xiàn)代多種開源的產(chǎn)品,通過MyEclipse與JAVAEE以及數(shù)據(jù)庫(kù)軟件的有效結(jié)合,能夠極大地提高開發(fā)的效率。同時(shí)在該平臺(tái)能夠同時(shí)進(jìn)行編譯、調(diào)試、運(yùn)行等多項(xiàng)功能。Tomcat在通過JAVA[5]技術(shù)實(shí)現(xiàn)系統(tǒng)的開發(fā)過程中,避免不了服務(wù)器的使用,而經(jīng)常用到的即是Tomcat服務(wù)器,該服務(wù)器屬于一種免費(fèi)的開源式應(yīng)用服務(wù)器,普遍應(yīng)用于中小型系統(tǒng)的開發(fā)。Tomcat[6]近些年來憑借其所占內(nèi)存小,運(yùn)行速度快,穩(wěn)定性強(qiáng)等諸多優(yōu)點(diǎn)深受廣大軟件以及網(wǎng)站開發(fā)者的喜愛,特別對(duì)于一個(gè)新手而言,很容易就能夠掌握它的使用方法。SqlServerMicrosoftSQLServer2005[7]是微軟的一款數(shù)據(jù)庫(kù)軟件,是一個(gè)基于關(guān)系型數(shù)據(jù)庫(kù)模型建立的數(shù)據(jù)庫(kù)系統(tǒng)。它主要能夠保存足夠多的數(shù)據(jù)信息,利用其豐富的SQL語(yǔ)言,可以完成對(duì)數(shù)據(jù)的操縱。SQLServer2005數(shù)據(jù)庫(kù)還易于移植,只需將所建好的數(shù)據(jù)分離后,便可將數(shù)據(jù)庫(kù)移植到其他的機(jī)器的數(shù)據(jù)庫(kù)中,同時(shí),SQLServer2005還具有強(qiáng)大的圖形界面,易于學(xué)習(xí)和使用。本系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)選用SQLServer20005數(shù)據(jù)庫(kù)是因?yàn)楝F(xiàn)如今網(wǎng)站及系統(tǒng)開發(fā)中運(yùn)用非常廣泛,其數(shù)據(jù)庫(kù)操縱語(yǔ)句豐富,對(duì)數(shù)據(jù)的存取速度快,而物流信息管理系統(tǒng)是一個(gè)數(shù)據(jù)量大且數(shù)據(jù)也需要維護(hù)的系統(tǒng),它強(qiáng)大的圖形界面運(yùn)用更加方便[8]。1.3.2JSPJSP技術(shù)[9]是一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn),此技術(shù)與其他技術(shù)相比,其開發(fā)的web應(yīng)用是可以跨平臺(tái)運(yùn)行瀏覽的,能夠適合在不同的操作系統(tǒng)環(huán)境下使用。JSP技術(shù)實(shí)現(xiàn)的網(wǎng)頁(yè)頁(yè)面除了html,div,css等代碼主要是通過嵌入Javascript腳本語(yǔ)言,從而形成了JSP動(dòng)態(tài)網(wǎng)頁(yè)頁(yè)面。JSP的工作原理[10]如下:(1)當(dāng)JSP頁(yè)面文件被請(qǐng)求時(shí),JSP文件將被轉(zhuǎn)換成為JAVA源文件,并將其編譯成class文件,并加載到內(nèi)存中。(2)加載后,系統(tǒng)為其創(chuàng)建一個(gè)Servlet()實(shí)例,并調(diào)用jspService()方法。(3)執(zhí)行jspService(),瀏覽器將html中的內(nèi)容返回給客戶端。1.3.3JavaScriptJavaScript[11]是一種基于客戶端的腳本語(yǔ)言,廣泛應(yīng)用于動(dòng)靜態(tài)網(wǎng)站的開發(fā)建設(shè)過程中,其最重要的特點(diǎn)是面向?qū)ο?,即可通過更加直觀、模塊化的方式來對(duì)程序進(jìn)行開發(fā)。它的重要性體現(xiàn)在其能夠與html,java程序語(yǔ)言等實(shí)現(xiàn)交互連接,從而設(shè)計(jì)出更加完美的網(wǎng)站或者系統(tǒng)[12]。1.4軟硬件需求硬件需求:CPU:Pentium以上計(jì)算機(jī)內(nèi)存:512M以上軟件需求:操作系統(tǒng)版本:WindowsXP/vista/Win7開發(fā)工具:MyEclipse6.0.1后臺(tái)服務(wù)器:ApacheTomcat6.0開發(fā)語(yǔ)言:Java瀏覽器:IE6.02.需求分析2.1需求調(diào)研在項(xiàng)目的開始是需求調(diào)研,經(jīng)過一系列的調(diào)查發(fā)現(xiàn),實(shí)際生活中的手機(jī)銷售管理存在諸多不足之處,由于每日客流量多,手工記錄銷售記錄方式容易造成數(shù)據(jù)丟失,同時(shí),也不利于管理員進(jìn)行數(shù)據(jù)統(tǒng)計(jì)和查詢,因此設(shè)計(jì)了手機(jī)銷售網(wǎng)站。2.2可行性分析開發(fā)任何一個(gè)系統(tǒng),都會(huì)受到時(shí)間和資源上的限制。因此,在每一個(gè)項(xiàng)目開發(fā)之前,都要進(jìn)行可行性分析,可以減少項(xiàng)目的開發(fā)風(fēng)險(xiǎn),避免人力、物力和財(cái)力的浪費(fèi)。下面就技術(shù)、經(jīng)濟(jì)、操作和法律四個(gè)方面來介紹。2.2.1技術(shù)的可行性本系統(tǒng)開發(fā)工具是MyEclipse和SqlServer數(shù)據(jù)庫(kù),開發(fā)語(yǔ)言是Java,主要使用了J2EE的技術(shù),java是一種面向?qū)ο缶幊陶Z(yǔ)言,簡(jiǎn)單易學(xué)而且靈活方便。大三時(shí)就學(xué)習(xí)了java課程,大四期間也系統(tǒng)的了解了J2EE的知識(shí),會(huì)員訂單管理系統(tǒng)總體上開發(fā)難度不高,數(shù)據(jù)庫(kù)的設(shè)計(jì)和操作是本系統(tǒng)設(shè)計(jì)的核心。在大學(xué)期間學(xué)習(xí)過軟件工程,軟件測(cè)試,UML統(tǒng)一建模語(yǔ)言等課程,每個(gè)學(xué)期也會(huì)完成對(duì)應(yīng)的課程設(shè)計(jì),具備一定的系統(tǒng)分析、設(shè)計(jì)和測(cè)試能力。因此,完成系統(tǒng)實(shí)現(xiàn)在技術(shù)上完全具有可行性[13]。2.2.2經(jīng)濟(jì)的可行性手機(jī)的銷售在日常生活中具有非常大的市場(chǎng)需求,因此,管理者不僅要雇用許多員工,對(duì)電子商城的手機(jī)進(jìn)行銷售,同時(shí),在管理方面,不僅效率低,并且容易出現(xiàn)差錯(cuò),為了可以更好的處理以上問題,利用信息化管理可以管理工作更加系統(tǒng)化、快速化、全面化,不僅可以減輕管理的工作量,在手機(jī)的銷售方面,也能減少經(jīng)濟(jì)支出,所以在經(jīng)濟(jì)上具有完全的可行性。2.2.3操作可行性本系統(tǒng)開過程中很好的考慮了人機(jī)界面的結(jié)合,輸入信息頁(yè)面大多數(shù)都是下拉框的選擇形式,在某些頁(yè)面,信息可以自動(dòng)生成,無需輸入,時(shí)間的輸入也是用的日歷控件,操作簡(jiǎn)便,對(duì)操作人員的要求很低,只需對(duì)WINDOWS操作熟練,加之對(duì)本系統(tǒng)的操作稍加培訓(xùn)即可工作,而且本系統(tǒng)可視性非常好,所以在技術(shù)上不會(huì)有很大難度。2.2.4法律的可行性手機(jī)銷售網(wǎng)是自行開發(fā)的電子商城網(wǎng)站,是很有實(shí)際意義的電子銷售平臺(tái),開發(fā)環(huán)境軟件和使用的數(shù)據(jù)庫(kù)都是開源代碼,開發(fā)這個(gè)系統(tǒng)不同于開發(fā)普通的系統(tǒng)軟件,不存在侵權(quán)等問題,即法律上是可行的。2.3系統(tǒng)用戶用例圖2.3.1普通用戶用例圖登錄手機(jī)商城登錄手機(jī)商城商品信息瀏覽商品分類瀏覽公告信息瀏覽普通用戶圖2.1普通用戶用例圖普通用戶可以不進(jìn)行身份驗(yàn)證,瀏覽網(wǎng)上信息;2.3.2管理員用例圖管理員可以對(duì)系統(tǒng)后臺(tái)數(shù)據(jù)進(jìn)行管理,可以管理系統(tǒng)用戶等,主要有四大模塊:會(huì)員管理,商品管理,訂單管理,公告管理及分類管理等;其中分類管理中,分為大分類和小分類。圖2.2管理員后臺(tái)管理用例圖管理員可以登錄后臺(tái)管理系統(tǒng)進(jìn)行如上圖所示的的多項(xiàng)管理。2.3.3會(huì)員用例圖登錄手機(jī)商城登錄手機(jī)商城訂單信息查詢會(huì)員購(gòu)物車會(huì)員信息維護(hù)會(huì)員公告信息查詢圖2.3會(huì)員操作用例圖會(huì)員可以購(gòu)買商城的商品,購(gòu)買成功后生成個(gè)人訂單,在個(gè)人會(huì)員管理中心,可以查詢會(huì)員的信息,訂單信息及購(gòu)物車等。2.4功能模塊需求分析手機(jī)銷售網(wǎng)手機(jī)銷售網(wǎng)普通用戶會(huì)員用戶管理員用戶商品信息查詢公告信息查詢商品信息查詢公告信息查詢購(gòu)物車信息查詢訂單信息查詢商品管理會(huì)員管理訂單管理公告管理圖2.2系統(tǒng)功能模塊圖由上圖可以知道本系統(tǒng)最大的特點(diǎn)是使用操作簡(jiǎn)單、友好的提示信息。本系統(tǒng)將實(shí)現(xiàn)以下基本功能:(1)普通用戶商品信息,公告信息瀏覽功能,當(dāng)用戶不需要購(gòu)買商品時(shí),可以不需要注冊(cè)會(huì)員;(2)管理員用戶具有會(huì)員信息管理、商品信息管理、訂單管理、公告管理及分類管理等功能(3)會(huì)員購(gòu)物功能,當(dāng)需要購(gòu)買商品時(shí),需要用注冊(cè)成功的會(huì)員賬號(hào)密碼登錄系統(tǒng),購(gòu)買的商品信息生成相應(yīng)訂單;普通用戶功能模塊圖描述了普通用戶登錄手機(jī)商城后可以進(jìn)行的操作;管理員功能模塊圖說明:管理員是功能最多的一種用戶角色。(1)會(huì)員管理模塊:在該模塊中完成會(huì)員信息管理功能,會(huì)員信息管理提供會(huì)員的查詢、增加、修改和刪除等功能操作。(2)商品管理模塊:在該模塊中可以添加新的商品信息,可以對(duì)現(xiàn)有商品信息進(jìn)行修改和刪除操作。(3)訂單管理模塊:在該模塊中可以查詢系統(tǒng)內(nèi)所有的會(huì)員產(chǎn)生的訂單信息。(4)公告管理模塊:管理員在公告管理模塊可以添加新的公告信息,可以刪除現(xiàn)有的公告信息。2.5性能需求2.5.1系統(tǒng)的安全性手機(jī)銷售網(wǎng)在管理權(quán)限上要嚴(yán)格進(jìn)行控制,具體要求如下:普通用戶可以瀏覽網(wǎng)站信息,購(gòu)物時(shí)需要檢驗(yàn)會(huì)員信息,若是本站會(huì)員,可以購(gòu)買商品,查詢個(gè)人訂單信息及購(gòu)物車信息,管理員用戶通過管理員登錄界面登錄后臺(tái)管理系統(tǒng),對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行維護(hù)。對(duì)系統(tǒng)用戶權(quán)限做以上控制,可以確保系統(tǒng)的嚴(yán)密性和安全性。2.5.2數(shù)據(jù)的完整性1.各種記錄信息的完整性,信息記錄內(nèi)容不能為空2.各種數(shù)據(jù)間相互聯(lián)系的正確性3.相同數(shù)據(jù)在不同記錄中的一致性3.系統(tǒng)分析與設(shè)計(jì)3.1系統(tǒng)分析圖3.1系統(tǒng)構(gòu)架圖設(shè)計(jì)開發(fā)手機(jī)銷售網(wǎng)站,網(wǎng)站前臺(tái)使用JSP這種種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),此技術(shù)與其他技術(shù)相比,其開發(fā)的web應(yīng)用是可以跨平臺(tái)運(yùn)行瀏覽的,能夠適合在不同的操作系統(tǒng)環(huán)境下使用,后臺(tái)使用SqlServer2005作為數(shù)據(jù)庫(kù)管理系統(tǒng),開發(fā)環(huán)境是MyEclipse,服務(wù)器采用tomcat,開發(fā)出的一個(gè)基于Web技術(shù)的B/S三層結(jié)構(gòu)的手機(jī)銷售網(wǎng)站3.2數(shù)據(jù)庫(kù)的分析與設(shè)計(jì)數(shù)據(jù)庫(kù)是整個(gè)系統(tǒng)的核心,數(shù)據(jù)庫(kù)設(shè)計(jì)質(zhì)量的高低直接影響到整個(gè)系統(tǒng)質(zhì)量的好壞,因此在進(jìn)行網(wǎng)站或者系統(tǒng)的開發(fā)時(shí)數(shù)據(jù)庫(kù)的設(shè)計(jì)顯的尤為重要。通常數(shù)據(jù)庫(kù)設(shè)計(jì)主要有以下幾個(gè)基本的步驟組成:需求分析,概念設(shè)計(jì),邏輯與物理設(shè)計(jì)等。3.2.1數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)概念設(shè)計(jì)是一種數(shù)據(jù)庫(kù)的概念結(jié)構(gòu),它在建立整個(gè)系統(tǒng)的過程中是基于數(shù)據(jù)庫(kù)分析的基礎(chǔ)之上的。接著進(jìn)行視圖設(shè)計(jì)、集成等,最終得出結(jié)果。概念設(shè)計(jì)采用的是實(shí)體-聯(lián)系(E-R)模型的設(shè)計(jì)方法。通過該方法,能夠形象地將系統(tǒng)中所涉及到的實(shí)體以及其屬性連接在一起根據(jù)此種方法,并結(jié)合系統(tǒng)概念模型的特點(diǎn),建立E-R模型圖。實(shí)體間關(guān)系屬性實(shí)體實(shí)體間關(guān)系屬性實(shí)體(1)會(huì)員信息實(shí)體E-R圖如圖3.2所示:圖3.2會(huì)員信息實(shí)體E-R圖會(huì)員信息擁有的屬性有:用戶名,密碼,姓名,所在地,地址,郵編,證件類型,證件號(hào)碼(2)訂單信息實(shí)體E-R圖如圖3.3所示圖3.3訂單信息實(shí)體E-R圖訂單信息屬性有:訂單號(hào),商品數(shù)量,用戶名,用戶姓名,付款方式,訂單日期,運(yùn)送方式(3)管理員信息E-R圖如圖3.4所示圖3.4管理員信息實(shí)體E-R圖管理員擁有的屬性有:賬號(hào),密碼(4)商品信息E-R圖如圖3.5所示圖3.5商品信息實(shí)體E-R圖商品屬性:商品編號(hào),類別編號(hào),商品名稱,生產(chǎn)商,價(jià)格,現(xiàn)價(jià)。3.2.2數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)我們知道,數(shù)據(jù)庫(kù)概念模型獨(dú)立于任何特定的數(shù)據(jù)庫(kù)管理系統(tǒng),因此,需要根據(jù)具體使用的數(shù)據(jù)庫(kù)管理系統(tǒng)的特點(diǎn)進(jìn)行轉(zhuǎn)換。即轉(zhuǎn)化為按計(jì)算機(jī)觀點(diǎn)處理的邏輯關(guān)系模型,E-R模型向關(guān)系數(shù)據(jù)庫(kù)模型轉(zhuǎn)換應(yīng)遵循下列原則:*每一個(gè)實(shí)體要轉(zhuǎn)換成一個(gè)關(guān)系*所有的主鍵必須定義非空(NOTNULL)*對(duì)于二元聯(lián)系應(yīng)按照一對(duì)多、弱對(duì)實(shí)、一對(duì)一、多對(duì)多等聯(lián)系來定義外鍵。根據(jù)E-R模型,商場(chǎng)VIP消費(fèi)管理系統(tǒng)建立了以下邏輯數(shù)據(jù)結(jié)構(gòu),下面是各數(shù)據(jù)表的詳細(xì)說明。(1)會(huì)員信息表主要是記錄了會(huì)員基本信息。表結(jié)構(gòu)如表3.1所示。表3.1會(huì)員信息表(tb_member)列名數(shù)據(jù)類型長(zhǎng)度允許空是否主鍵說明idint4否是編號(hào)usernamevarchar50否否用戶名trueNamevarchar50否否用戶姓名Passwordvarchar50否否密碼Cityvarchar50否否所在地Addressvarchar50否否詳細(xì)地址Postcodevarchar50否否郵編cardIDvarchar20否否證件號(hào)碼cardTypevarchar20否否證件種類(2)商品信息表中保存著商城的全部商品信息,表結(jié)構(gòu)如圖3.2所示。表3.2商品信息表(tb_goods)列名數(shù)據(jù)類型長(zhǎng)度允許空是否主鍵說明idInt4否是編號(hào)TypeidInt4否否類別編號(hào)goodsNamevarchar50否否商品名稱Intrducevarchar50否否生產(chǎn)商Pricevarchar50否否價(jià)格nowPricevarchar50否否現(xiàn)價(jià)(3)訂單信表中保存著所有會(huì)員購(gòu)物產(chǎn)生的訂單基本信息。表結(jié)構(gòu)如表3.3所示。表3.3訂單信息表(tb_order)列名數(shù)據(jù)類型長(zhǎng)度允許空是否主鍵說明idint4否是編號(hào)Bnumbervarchar50否否數(shù)量Usernamevarchar50否否用戶名trueNamevarchar50否否用戶姓名Addressvarchar50否否詳細(xì)地址Payvarchar50否否付款方式Carryvarchar50否否運(yùn)送方式orderDatevarchar20否否訂單日期(4)管理員信息表主要記錄的管理員的賬號(hào)信息,包括用戶名和密碼,表結(jié)構(gòu)如表3.4所示。表3.4管理員信息表(tb_manager)列名數(shù)據(jù)類型長(zhǎng)度允許空是否主鍵說明userIdint4否是編號(hào)userNamevarchar50否否用戶名userPwvarchar50否否密碼3.2.3數(shù)據(jù)庫(kù)的連接原理采用JDBC連接數(shù)據(jù)庫(kù)的方式,只需在工程中導(dǎo)入對(duì)應(yīng)數(shù)據(jù)庫(kù)的jar包,就可以方便的對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接,在程序中,用Class.forName()方法來加載驅(qū)動(dòng)程序,在用DriverManager的getConnection()方法就可以創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接。程序采用的是DAO模式來操作數(shù)據(jù)庫(kù),該模式也叫數(shù)據(jù)訪問對(duì)象模式,屬于JAVA編程中的一種被廣泛應(yīng)用的經(jīng)典模式,其主要的工作原理是獲取抽象數(shù)據(jù)中的方法。其思想如圖3.10所示:封裝使用封裝使用DataSourceDataAccessObjectBusinessObjectDataSourceDataAccessObjectBusinessObject創(chuàng)建/使用獲取/修改創(chuàng)建/使用獲取/修改DataTransferObjectDataTransferObject圖3.10DAO模式類圖圖中BussinessObject是業(yè)務(wù)對(duì)象,是使用DAO模式的客戶端;DataTransferObject數(shù)據(jù)傳輸對(duì)象,在應(yīng)用程序不同層次之間傳輸對(duì)象,在一個(gè)分布式應(yīng)用程序中,通??梢蕴岣哒淼男阅?;DataObjectAcces數(shù)據(jù)輸入/輸出對(duì)象封裝了對(duì)數(shù)據(jù)源的一些基本操作;DataSource指的是數(shù)據(jù)源。可以從圖中看出,DAO模式分離了業(yè)務(wù)邏輯和數(shù)據(jù)羅即將,是的編寫的軟件具有良好的層次式體系結(jié)構(gòu)。本系統(tǒng)為了方便數(shù)據(jù)庫(kù)的操作,主要使用getConnection的對(duì)象來接一個(gè)數(shù)據(jù)庫(kù)(建立一個(gè)類getConnection),代碼如下:publicConnectionconn=null;//定義一個(gè)Connection對(duì)象publicStatementstmt=null;//定義一個(gè)Statement對(duì)象publicResultSetrs=null;//定義一個(gè)ResultSet對(duì)象staticStringsd="sun.jdbc.odbc.JdbcOdbcDriver";staticStringsc="jdbc:odbc:db_shop";publicstaticConnectiongetConnection(){ Connectionconn=null; try{ Stringdriver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; Stringurl="jdbc:sqlserver://localhost:1433;databaseName=db_shop"; Stringuser="sa"; Stringpassword="123456"; Class.forName(driver); conn=DriverManager.getConnection(url,user,password); } catch(Exceptione){ System.err.println(e.getMessage()); } returnconn; }在程序需要連接數(shù)據(jù)庫(kù)的地方,只需要生成一個(gè)getConnection的對(duì)象,就可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接并操作。3.3設(shè)計(jì)的基本思想設(shè)計(jì)思想遵循以下幾點(diǎn):1.采用B/S模式來對(duì)系統(tǒng)進(jìn)行開發(fā)與設(shè)計(jì),即通過網(wǎng)頁(yè)的形式來展示系統(tǒng),這種方式不僅符合現(xiàn)代大眾的需求,同時(shí)維護(hù)方便,成本低。2.使用面向?qū)ο蟮脑O(shè)計(jì)理念來進(jìn)行開發(fā)。此種理念能夠有效地保證系統(tǒng)的完整性。3.模使用模塊化設(shè)計(jì)方法。模塊化設(shè)計(jì)的優(yōu)點(diǎn)在于能夠使程序的結(jié)構(gòu)更加清晰,對(duì)于代碼的重載有很大的好處。4.簡(jiǎn)單方便的系統(tǒng)界面。設(shè)計(jì)簡(jiǎn)單友好的系統(tǒng)界面,方便用戶較快的適應(yīng)系統(tǒng)的操作。5.速度優(yōu)先原則。由于此工具最重要的評(píng)測(cè)標(biāo)準(zhǔn)就是速度,因此在設(shè)計(jì)過程中,具體過程盡量做到資源占用少,速度快。6.設(shè)計(jì)既要突出重點(diǎn),又要細(xì)致周到。要符合設(shè)計(jì)需求,在有可能改進(jìn)的地方進(jìn)行擴(kuò)充,使系統(tǒng)更適應(yīng)用戶的需要。4.系統(tǒng)功能實(shí)現(xiàn)系統(tǒng)經(jīng)過需求分析、可行性分析、數(shù)據(jù)庫(kù)設(shè)計(jì)后接著就需要對(duì)程序進(jìn)行設(shè)計(jì)與編寫,在實(shí)現(xiàn)系統(tǒng)功能過程中,必須要對(duì)系統(tǒng)的每個(gè)功能進(jìn)行不斷的測(cè)試,對(duì)編碼進(jìn)行針對(duì)性的調(diào)試,保證系統(tǒng)完成后的穩(wěn)定性。4.1系統(tǒng)登陸頁(yè)面實(shí)現(xiàn)1.描述:為了保證系統(tǒng)的安全性及穩(wěn)定性,管理員進(jìn)入后臺(tái)管理系統(tǒng)之前需要跳轉(zhuǎn)至登錄界面進(jìn)行身份驗(yàn)證,輸入正確的賬號(hào)和密碼登錄后臺(tái)管理系統(tǒng)。2.程序運(yùn)行效果圖如圖4-1所示:圖4-1管理員登陸頁(yè)面設(shè)計(jì)3.在登陸頁(yè)面輸入用戶名和密碼以,點(diǎn)擊提交按鈕,跳轉(zhuǎn)到登陸的jsp中,在該jsp中會(huì)對(duì)所輸入的用戶名,密碼,驗(yàn)證碼進(jìn)行判斷,驗(yàn)證通過進(jìn)入對(duì)應(yīng)的頁(yè)面,Login_M_deal.jsp關(guān)鍵代碼:會(huì)員登錄主要實(shí)現(xiàn)功能代碼如下:connDBconn=newconnDB();chStrchStr=newchStr();Stringmanager=chStr.chStr(request.getParameter("manager"));//此處必須進(jìn)行編碼轉(zhuǎn)換,否則輸入中文用戶名時(shí)將出現(xiàn)亂碼try{ ResultSetrs=conn.executeQuery("select*fromtb_managerwheremanager='"+manager+"'"); if(rs.next()){ StringPWD=request.getParameter("PWD"); if(PWD.equals(rs.getString("PWD"))){ session.setAttribute("manager",manager); response.sendRedirect("index.jsp"); }else{ out.println("<scriptlanguage='javascript'>alert('您輸入的管理員或密碼錯(cuò)誤!');window.location.href='../index.jsp';</script>"); } }else{ out.println("<scriptlanguage='javascript'>alert('您輸入的管理員或密碼錯(cuò)誤!');window.location.href='../index.jsp';</script>"); }}catch(Exceptione){ out.println("<scriptlanguage='javascript'>alert('您的操作有誤!');window.location.href='../index.jsp';</script>");}4.2總體功能模塊4.2.1系統(tǒng)主頁(yè)面圖4-2系統(tǒng)主頁(yè)面如圖4-2所示的是本購(gòu)物系統(tǒng)的主頁(yè)面,通過主頁(yè)面,可看到本系統(tǒng)的大部分功能,其中包括導(dǎo)航的新品上架、特價(jià)商品、會(huì)員資料修改、購(gòu)物車、查看訂單以及銷售排行等信息。在網(wǎng)站的主體頁(yè)面,能夠了解到特價(jià)商品、新品上架、商品分類、商城公告以及廣告招商等信息。4.2.2會(huì)員購(gòu)物功能實(shí)現(xiàn)1.描述:用戶登錄本網(wǎng)站,當(dāng)要購(gòu)買商品時(shí),需要校驗(yàn)是否是本站的會(huì)員,是本站的會(huì)員,可以購(gòu)買商品的鏈接,否則需要注冊(cè)本站會(huì)員,會(huì)員信息登錄成功后,購(gòu)買的商品以在購(gòu)物車中查看,生成的訂單可以在訂單查詢中查看。2.程序運(yùn)行效果圖如圖4-3,4-4,4-5,4-6,4-7所示:圖4-3會(huì)員登錄頁(yè)面圖4-4商品信息圖4-5購(gòu)物車頁(yè)面圖4-6生成訂單頁(yè)面圖4-7訂單生成成功提示實(shí)現(xiàn)代碼如下://確定購(gòu)買手機(jī)<% floatsum=0; intID=-1; Stringgoodsname=""; for(inti=0;i<cart.size();i++){ goodselementgoodsitem=(goodselement)cart.elementAt(i); sum=sum+goodsitem.number*goodsitem.nowprice; ID=goodsitem.ID; if(ID>0){ ResultSetrs_goods=conn.executeQuery("select*fromtb_goodswhereID="+ID); if(rs_goods.next()){ goodsname=rs_goods.getString("goodsname"); } } %><tralign="center"valign="middle"><tdwidth="32"height="27"><%=i+1%></td><tdwidth="109"height="27"><%=ID%></td><tdwidth="199"height="27"><%=goodsname%></td><tdwidth="59"height="27">¥<%=goodsitem.nowprice%></td><tdwidth="51"height="27"><inputname="num<%=i%>"size="7"type="text"class="txt_grey"value="<%=goodsitem.number%>"onBlur="check(this.form)"></td><tdwidth="65"height="27">¥<%=(goodsitem.nowprice*goodsitem.number)%></td><tdwidth="34"><ahref="cart_move.jsp?ID=<%=i%>"><imgsrc="images/del.gif"width="16"height="16"></a></td><scriptlanguage="javascript"> <!-- functioncheck(myform){ if(isNaN(myform.num<%=i%>.value)||myform.num<%=i%>.value.indexOf('.',0)!=-1){ alert("請(qǐng)不要輸入非法字符");myform.num<%=i%>.focus();return;} if(myform.num<%=i%>.value==""){ alert("請(qǐng)輸入修改的數(shù)量");myform.num<%=i%>.focus();return;} myform.submit(); } --> </script> <% } %></tr></table> </form><tablewidth="100%"height="52"border="0"align="center"cellpadding="0"cellspacing="0"><tralign="center"valign="middle"> <tdheight="10">  </td><tdwidth="24%"height="10"colspan="-3"align="left"> </td> </tr><tralign="center"valign="middle"><tdheight="21"class="tableBorder_B1"> </td><tdheight="21"colspan="-3"align="left"class="tableBorder_B1">合計(jì)總金額:¥<%=sum%></td></tr><tralign="center"valign="middle"><tdheight="21"colspan="2"><ahref="index.jsp">繼續(xù)購(gòu)物</a>|<ahref="cart_checkout.jsp">去收銀臺(tái)結(jié)賬</a>|<ahref="cart_clear.jsp">清空購(gòu)物車</a>|<ahref="#">修改數(shù)量</a></td></tr></table>//確定訂單實(shí)現(xiàn):<%chStrchStr=newchStr();connDBconn=newconnDB();if(session.getAttribute("cart")==""){ out.println("<scriptlanguage='javascript'>alert('您還沒有購(gòu)物!');window.location.href='index.jsp';</script>");}StringUsername="";Username=(String)session.getAttribute("username");if(Username!=""){try{ResultSetrs_user=conn.executeQuery("select*fromtb_Memberwhereusername='"+Username+"'");if(!rs_user.next()){ session.invalidate(); out.println("<scriptlanguage='javascript'>alert('請(qǐng)先登錄后,再進(jìn)行購(gòu)物!');window.location.href='index.jsp';</script>"); return;}else{ Stringusername=chStr.chStr(request.getParameter("username")); Stringtruename=chStr.chStr(request.getParameter("truename")); Stringaddress=chStr.chStr(request.getParameter("address")); Stringpostcode=request.getParameter("postcode"); Stringtel=request.getParameter("tel"); Stringpay=chStr.chStr(request.getParameter("pay")); Stringcarry=chStr.chStr(request.getParameter("carry")); Stringbz=chStr.chStr(request.getParameter("bz")); intorderID=0; //計(jì)算打折 floatrebate=1; ResultSetrs_rebate=conn.executeQuery("selectrebatefromV_Memberwhereusername='"+username+"'"); if(rs_rebate.next()){} Vectorcart=(Vector)session.getAttribute("cart"); intnumber=0; floatnowprice=(float)0.0; floatsum=(float)0; floatTotalsum=(float)0; Stringflag="True"; inttemp=0; intID=-1; //插入訂單主表數(shù)據(jù) floatbnumber=cart.size(); Stringsql="insertintotb_Order(bnumber,username,truename,address,postcode,tel,pay,carry,rebate,bz)values("+bnumber+",'"+username+"','"+truename+"','"+address+"','"+postcode+"','"+tel+"','"+pay+"','"+carry+"',"+rebate+",'"+bz+"')"; temp=conn.executeUpdate_id(sql);if(temp==0){ flag="false"; }else{ orderID=temp; } Stringstr=""; //插入訂單明細(xì)表數(shù)據(jù) for(inti=0;i<cart.size();i++){ goodselementmygoodselement=(goodselement)cart.elementAt(i); ID=mygoodselement.ID; nowprice=mygoodselement.nowprice*rebate; number=mygoodselement.number; sum=nowprice*number; str="insertintotb_order_Detail(orderID,goodsID,price,number)values("+orderID+","+ID+","+nowprice+","+number+")"; temp=conn.executeUpdate(str); Totalsum=Totalsum+sum; if(temp==0){ flag="false"; } } //更新會(huì)員信息 Stringsql_up="updatetb_MembersetAmount=Amount+"+Totalsum+"whereusername='"+username+"'"; temp=conn.executeUpdate(sql_up); if(temp==0){ flag="false"; } //更新會(huì)員等級(jí) ResultSetrs_Amount=conn.executeQuery("selectAmountfromtb_Memberwhereusername='"+username+"'"); if(rs_Amount.next()){ intAmount=0; Amount=rs_Amount.getInt("Amount"); ResultSetrs_grade=conn.executeQuery("selectTop1grade,Amountfromtb_rebatewhereAmount<="+Amount+"orderbygradedesc"); if(rs_grade.next()){ intgrade=0; grade=rs_grade.getInt("grade"); Stringsql_upgrade="updatetb_Membersetgrade="+grade+"whereusername='"+username+"'"; temp=conn.executeUpdate(sql_upgrade); if(temp==0){ flag="false"; } } } if(flag.equals("false")){ out.println("<scriptlanguage='javascript'>alert('訂單無效');history.back();</script>"); }else{ session.removeAttribute("cart"); out.println("<scriptlanguage='javascript'>alert('訂單生成,請(qǐng)記住您的訂單號(hào)["+orderID+"]');window.location.href='index.jsp';</script>"); } conn.close();}}catch(Exceptione){out.println(e.toString());}}else{ session.invalidate(); out.println("<scriptlanguage='javascript'>alert('請(qǐng)先登錄后,再進(jìn)行購(gòu)物!');window.location.href='index.jsp';</script>");}%>4.2.3會(huì)員注冊(cè)功能1.描述:普通用戶當(dāng)需要購(gòu)買商城的商品時(shí),需要注冊(cè)本站會(huì)員,輸入相關(guān)會(huì)員信息,保存到會(huì)員信息表中,jsp頁(yè)面根據(jù)用戶所輸入的信息,首先判斷所注冊(cè)的用戶名是否存在,不存在則可以注冊(cè),校驗(yàn)功能由Js方法openwin()完成。2.程序效果圖如下圖4-8所示:圖4-8會(huì)員注冊(cè)輸入信息頁(yè)面圖4-9用戶名校驗(yàn)3.流程圖如下圖4-10所示: 圖4-10會(huì)員注冊(cè)流程圖會(huì)員注冊(cè)需要遵守流程,判斷先決條件是否成立,否則不予注冊(cè)4.實(shí)現(xiàn)代碼如下:會(huì)員信息管理關(guān)鍵代碼://會(huì)員用戶名校驗(yàn)功能代碼<scriptlanguage="javascript"> functionopenwin(UID){ if(UID==""){ alert("請(qǐng)輸入用戶名!"); myform.username.focus(); return; } varstr="checkUserName.jsp?username="+UID; window.showModalDialog(str,"","dialogWidth=300px;dialogHeight=150px;status=no;help=no;scrollbars=no");}</script>}//會(huì)員注冊(cè)信息提交實(shí)現(xiàn)代碼<%connDBconn=newconnDB();request.setCharacterEncoding("gb2312");Stringusername=member.getUsername();ResultSetrs=conn.executeQuery("select*fromtb_Memberwhereusername='"+username+"'");if(rs.next()){ out.println("<scriptlanguage='javascript'>alert('該用戶名已經(jīng)存在,請(qǐng)重新注冊(cè)!');window.location.href='register.jsp';</script>");}else{ intret=0;MemberDaoImplins_member=newMemberDaoImpl();ret=ins_member.insert(member); if(ret!=0){out.println("<scriptlanguage='javascript'>alert('用戶注冊(cè)成功!');window.location.href='index.jsp';</script>");}else{out.println("<scriptlanguage='javascript'>alert('用戶注冊(cè)失?。?);window.location.href='register.jsp';</script>");}}%> 4.2.4訂單查詢功能1.描述:在管理員操作界面,點(diǎn)擊訂單管理,可以查詢本站所有會(huì)員的訂單信息。2.程序效果圖如下圖4-11所示圖4-11管理員訂單管理界面3.實(shí)現(xiàn)代碼如下:<%Stringstr=(String)request.getParameter("Page");if(str==null){ str="0";}intpagesize=10;rs.last();intRecordCount=rs.getRow();intmaxPage=0;maxPage=(RecordCount%pagesize==0)?(RecordCount/pagesize):(RecordCount/pagesize+1);intPage=Integer.parseInt(str);if(Page<1){ Page=1;}else{ if(((1)*pagesize+1)>RecordCount){ Page=maxPage; }}rs.absolute((1)*pagesize+1);for(inti=1;i<=pagesize;i++){ orderID=rs.getInt("orderID"); bnumber=rs.getInt("bnumber"); truename=rs.getString("truename"); pay=rs.getString("pay"); carry=rs.getString("carry"); rebate=rs.getFloat("rebate"); orderDate=rs.getString("orderDate"); enforce=rs.getInt("enforce"); %> <tralign="center"> <tdheight="24"><ahref="order_detail.jsp?ID=<%=orderID%>"><%=orderID%></a></td> <td><%=bnumber%></td> <td><%=truename%></td> <td><%=pay%></td> <td><%=carry%></td> <td><%=orderDate%></td> <td><%if(enforce==0){%><ahref="order_enforce.jsp?ID=<%=orderID%>"><imgsrc="../images/enforce.gif"width="16"height="16"></a> <%}else{%>已執(zhí)行<%}%></td> </tr>4.3中文亂碼問題處理在程序中經(jīng)常會(huì)遇到中文亂碼的情況,如果手動(dòng)的在servlet和jsp頁(yè)面進(jìn)行設(shè)置,相當(dāng)麻煩。因此,編寫了chStr類文件處理字符轉(zhuǎn)換:代碼如下:publicStringchStr(Stringstr){if(str==null){str="";}else{try{str=(newString(str.getBytes("iso-8859-1"),"GB2312")).trim();//String類的getBytes方法是一個(gè)取得字符串編碼類型的函數(shù),trim()方法用于去除字符串的收尾空格}catch(Exceptione){e.printStackTrace(System.err);}}returnstr;}publicStringconvertStr(Stringstr1){if(str1==null){str1="";}else{try{//replaceAll(Stringstr1,Stringstr2)方法為JDK1.4.x的新方法,使用str2替換字符串中的所有str2字符串str1=str1.replaceAll("<","<");//替換字符串中的"<"和">"字符,保證HTML標(biāo)記的正常輸出str1=str1.replaceAll(">",">");str1=str1.replaceAll(""," ");//空格符str1=str1.replaceAll("\r\n","<br>");//回車換行符}catch(Exceptione){e.printStackTrace(System.err);}}returnstr1;}5.系統(tǒng)測(cè)試5.1系統(tǒng)測(cè)試目的與意義系統(tǒng)測(cè)試是整個(gè)系統(tǒng)開發(fā)過程中不可或缺的流程,通過系統(tǒng)測(cè)試不僅能夠保證系統(tǒng)的正常運(yùn)行,同時(shí)提高系統(tǒng)的性能,保證系統(tǒng)運(yùn)行的穩(wěn)定,對(duì)于后期的維護(hù)與管理是至關(guān)重要的。系統(tǒng)測(cè)試的任務(wù)是盡可能找出系統(tǒng)中存在的問題,保證系統(tǒng)的穩(wěn)定性、可靠性,高效性等。在系統(tǒng)測(cè)試過程中,一般采用三個(gè)步驟來依次對(duì)系統(tǒng)進(jìn)行測(cè)試即模塊、組裝、確認(rèn)等流程。通過嚴(yán)格執(zhí)行此三個(gè)流程,確保最終的系統(tǒng)的可靠。5.2測(cè)試過程在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論