畢業(yè)設(shè)計(jì)畢業(yè)論文進(jìn)貨訂單管理系統(tǒng)_第1頁
畢業(yè)設(shè)計(jì)畢業(yè)論文進(jìn)貨訂單管理系統(tǒng)_第2頁
畢業(yè)設(shè)計(jì)畢業(yè)論文進(jìn)貨訂單管理系統(tǒng)_第3頁
畢業(yè)設(shè)計(jì)畢業(yè)論文進(jìn)貨訂單管理系統(tǒng)_第4頁
畢業(yè)設(shè)計(jì)畢業(yè)論文進(jìn)貨訂單管理系統(tǒng)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、企業(yè)進(jìn)貨訂單管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)III企業(yè)進(jìn)貨訂單管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘 要本課題針對現(xiàn)在小規(guī)模企業(yè)在訂單管理方面存在的一些問題進(jìn)行了研究,發(fā)現(xiàn)小型企業(yè)員工數(shù)量不多,也沒有過多的資金自主開發(fā)出一整套的ERP管理系統(tǒng),但又迫切需要一個簡單實(shí)用的小型系統(tǒng)來實(shí)現(xiàn)公司內(nèi)部訂單的自動化管理。本文將詳細(xì)介紹,為了解決小型企業(yè)中進(jìn)貨員手動管理自己的訂單易出錯,管理者不能及時了解公司訂單狀況等問題而設(shè)計(jì)的這個小型實(shí)用系統(tǒng)的實(shí)現(xiàn)過程,具體的,就是從課題背景的研究,到需求分析和主要實(shí)現(xiàn)技術(shù)的介紹,到系統(tǒng)模塊設(shè)計(jì)和數(shù)據(jù)庫建模過程,再到編碼實(shí)現(xiàn)、系統(tǒng)優(yōu)化和測試的過程。從整體上來講,系統(tǒng)開發(fā)設(shè)計(jì),采用B/S架構(gòu),進(jìn)貨員

2、只要在瀏覽器中訪問系統(tǒng)即可,數(shù)據(jù)的處理都在服務(wù)器端進(jìn)行,實(shí)現(xiàn)統(tǒng)一管理,保證了數(shù)據(jù)的一致性。在數(shù)據(jù)庫管理軟件選擇方面,使用的是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)SQL Server 2008,前端網(wǎng)頁使用JSP技術(shù),并使用JQuery腳本語言優(yōu)化,實(shí)現(xiàn)前端校驗(yàn),優(yōu)化用戶體驗(yàn),后臺則使用安全性較高的Java語言做處理。在開發(fā)系統(tǒng)實(shí)現(xiàn)技術(shù)的選取方面,選擇了JSP和JavaBean的組合,而數(shù)據(jù)庫選擇的是應(yīng)用廣泛的SQL Server 2008。JavaBean可重用的軟件組件滿足小型應(yīng)用,同時使編程人員投入少量精力便可重用組件,在簡單的應(yīng)用中可以充分考慮。由于系統(tǒng)比較簡單,訪問量也不會很大,僅有公司內(nèi)部員工訪問,

3、因此開發(fā)的模式就采用比較簡單的模式,這樣不僅實(shí)現(xiàn)了應(yīng)用程序邏輯和頁面顯示分離,使得界面設(shè)計(jì)更加簡單,而且架構(gòu)搭建起來比較簡單,比較容易實(shí)現(xiàn)。在系統(tǒng)所有的開發(fā)工作完成以后,我根據(jù)需求,對系統(tǒng)的所有功能都進(jìn)行了測試,沒有發(fā)現(xiàn)特別嚴(yán)重的缺陷,證明了系統(tǒng)的可行性和實(shí)用價值。關(guān)鍵詞:進(jìn)貨訂單管理,OMS(Order management system),B/S,JSP,JavaBeanDesign and Implementation ofEnterprise Order Management SystemAbstractIn view of the small-scale enterprises so

4、me problems in the order management, we put forward this Graduation Design Topic. Due to the number of employees is not much, and also the small companies do not have much money to independently develop a set of ERP Management System. In fact, the small-scale enterprises urgently need a simple and p

5、ractical small system to realize the automated management for internal orders. This paper will detail the following contents. In order to solve the problem that the buyer how to manage their own orders more effectively and more quickly, also to overcome the challenge that the managers can not learn

6、the status of the order in time, we designed the small practical system. The paper includes Purchase Order Management System OMSs (Order Management System) background of topic analysis, system requirements analysis, overall design, implementation process and testing process, and detailed development

7、 scheme of the system is mainly introduced.In terms of the overall system development and design, we choose B/S architecture. The buyer can access system in the browser. As long as the data processing is on the server, this provided buyer with great convenience. Obviously, a system with B/S architec

8、ture can realize the unified management, and can ensure the consistency of the data in the database. We save the data using a Relational Database Management System named SQL Server 2008, and choose JSP as front page language. We choose the Scripting Language called JQuery to optimize the system even

9、 realize the front-end check. So that in terms of user experience, there will be a lot of improvement. At last, I want to say the website background processing code is Java, a language with high security to do the background processing.In fact, the pattern which I choose in actual development proces

10、s is JSP + JavaBean + SQL Server 2008. This pattern can realize the separation between the front and back. And also, it makes the interface design friendly. At last, I want to say, in this small system, JavaBean is a reusable component which plays a very important role.Because the system is simple a

11、nd the traffic is not big, only the company's internal staff access, the development mode can choose a relatively simple one. Not only separate the application logic and the page display, makes the interface design friendly, but also make the architecture easy to build, easy to realize.At the en

12、d of the development process, the systems all functions are tested and I can find no especially serious defects. All of the tests are based on system requirements. So we may safely draw the conclusion that, the system has the feasibility and practical value. Key words:B/S, OMS, JSP, JavaBean企業(yè)進(jìn)貨訂單管理

13、系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)48目 錄第一章 緒論11.1 課題的背景及意義11.2 課題分析11.3 國內(nèi)外研究現(xiàn)狀21.4 論文組織結(jié)構(gòu)2第二章 系統(tǒng)概述42.1 需求分析42.2 主要實(shí)現(xiàn)技術(shù)52.3 開發(fā)及運(yùn)行環(huán)境6第三章 系統(tǒng)概要設(shè)計(jì)83.1 模塊設(shè)計(jì)83.2 數(shù)據(jù)庫建模93.3 界面設(shè)計(jì)12第四章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)144.1 前臺系統(tǒng)實(shí)現(xiàn)144.2 后臺系統(tǒng)實(shí)現(xiàn)244.3 數(shù)據(jù)庫實(shí)現(xiàn)304.4 算法設(shè)計(jì)與實(shí)現(xiàn)324.5 漢字亂碼解決方法334.6 訪問權(quán)限控制34第五章 系統(tǒng)優(yōu)化365.1 冗余代碼合并365.2 歸類頁面365.3 JQuery前端校驗(yàn)37第六章 系統(tǒng)測試406.1 單元測

14、試406.2 功能測試426.3 測試結(jié)果42總結(jié)與展望43參考文獻(xiàn)44致 謝45第一章 緒論1.1 課題的背景及意義不論是大規(guī)模的跨國企業(yè),還是小規(guī)模的中小型企業(yè),想要提高工作效率和經(jīng)濟(jì)效益,就必須依靠科學(xué)的管理手段,來提高工作效率和經(jīng)濟(jì)效益。尤其是在一些小型企業(yè)里,公司規(guī)模比較小,沒有足夠的人員,也沒有足夠的資金來開發(fā)一套完整的ERP系統(tǒng),但是卻渴望使用小而實(shí)用的系統(tǒng)實(shí)現(xiàn)訂單管理的自動化。我們可以想象,不使用訂單管理系統(tǒng),完全靠進(jìn)貨員自主管理自己的訂單,不僅容易出錯,而且企業(yè)管理者也不能及時了解訂單的狀態(tài),如此一來,小型企業(yè)想要擴(kuò)展規(guī)模,在訂單管理這一環(huán)節(jié)首先就收到了制約。因此,我們可以說

15、訂單管理系統(tǒng)也是眾多管理軟件中最為關(guān)鍵的一個系統(tǒng),從供應(yīng)商、商品、訂單等信息的自動化管理出發(fā),使公司管理實(shí)現(xiàn)高效,從而經(jīng)濟(jì)效益也得到提升。所以說,對小規(guī)模的企業(yè)而言,開發(fā)一個小而且實(shí)用的訂單管理管理系統(tǒng)是非常必要的。針對上面的問題,我們可以得出結(jié)論,小公司開發(fā)一個簡單并且實(shí)用性強(qiáng)的小型系統(tǒng),勢在必行。規(guī)模大一些的每個公司都有自己的現(xiàn)有的訂單管理系統(tǒng),對于不同類型的公司,在訂單管理方面的功能需求是有很大區(qū)別的,并且在訂單管理的模式基礎(chǔ)上,也都會有相應(yīng)的擴(kuò)展。但是,所有企業(yè)都有一個共同的目標(biāo),那就是,實(shí)現(xiàn)訂單信息管理的自動化,減少成本,提高經(jīng)濟(jì)效益,讓企業(yè)的發(fā)展不受制約。所以,在為小型企業(yè)設(shè)計(jì)進(jìn)貨

16、員訂單管理系統(tǒng)時,就一定要考慮到實(shí)現(xiàn)訂單自動化管理時最為核心的東西。本課題主要研究的是進(jìn)貨訂單的自動化管理,初步了解后,發(fā)現(xiàn)目前常見的進(jìn)貨訂單管理系統(tǒng)具有以下幾個功能模塊:供應(yīng)商信息管理,在生成進(jìn)貨訂單時,能方便的選擇合適的供應(yīng)商。商品信息管理,進(jìn)貨訂單大多數(shù)是基于商品的庫存量來實(shí)現(xiàn)。訂單信息瀏覽和查詢,進(jìn)貨員和供應(yīng)商能方便的查詢其相關(guān)訂單的執(zhí)行情況。訂單生成,是進(jìn)貨訂單管理系統(tǒng)中最為重要的一個功能。訂單執(zhí)行,管理員對生成的訂單進(jìn)行授權(quán)執(zhí)行。用戶管理,在進(jìn)貨訂單管理系統(tǒng)中,用戶主要指進(jìn)貨員。1.2 課題分析本課題的要求是設(shè)計(jì)并實(shí)現(xiàn)一個實(shí)用性較強(qiáng)的進(jìn)貨訂單管理系統(tǒng),該系統(tǒng)屬于企業(yè)訂單管理系統(tǒng)中的

17、一個分支系統(tǒng),但是,它也可以作為一個單獨(dú)的分支系統(tǒng)供進(jìn)貨員和企業(yè)管理員進(jìn)行使用。調(diào)查和分析后,得出進(jìn)貨訂單管理系統(tǒng)至少應(yīng)該包括如下幾個部分:一、前臺用戶(進(jìn)貨員)系統(tǒng)部分:登錄:負(fù)責(zé)用戶權(quán)限檢查,驗(yàn)證密碼。用戶注冊:可實(shí)現(xiàn)普通用戶(進(jìn)貨員)的注冊登錄。用戶信息修改:方便的實(shí)現(xiàn)用戶的相關(guān)基本信息的修改。商品信息搜索和查詢:查詢現(xiàn)有庫存商品的庫存量,以及相應(yīng)的進(jìn)貨需求狀態(tài)。供應(yīng)商信息搜索和查詢:查詢供應(yīng)商的相關(guān)信息。訂單信息查詢:列出已登錄的進(jìn)貨員的訂單清單。訂單生成:根據(jù)商品庫存量情況,實(shí)現(xiàn)進(jìn)貨操作,并且生成相應(yīng)的進(jìn)貨訂單。二、管理員系統(tǒng)部分:登錄后臺:負(fù)責(zé)用戶權(quán)限檢查,驗(yàn)證密碼。用戶信息管理:

18、可以凍結(jié)或者是解凍普通用戶(進(jìn)貨員)的權(quán)限。供應(yīng)商信息管理:實(shí)現(xiàn)供應(yīng)商的添加、刪除工作。商品信息管理:實(shí)現(xiàn)商品的添加、刪除功能。訂單信息管理:對已經(jīng)生成的訂單完成執(zhí)行操作,使訂單生效。1.3 國內(nèi)外研究現(xiàn)狀在國內(nèi),隨著互聯(lián)網(wǎng)技術(shù)在全世界的普及,基于互聯(lián)網(wǎng)技術(shù)的各種應(yīng)用也蓬勃發(fā)展。同樣,基于互聯(lián)網(wǎng)技術(shù)的信息管理軟件和產(chǎn)品管理模式也開始出現(xiàn),并得到眾多企業(yè)的應(yīng)用和推廣1。在國外很多公司都通過使用管理軟件,實(shí)現(xiàn)了企業(yè)的信息化,降低了生產(chǎn)成本,讓企業(yè)的發(fā)展速度有了質(zhì)的飛躍。例如,美國福特汽車公司通過網(wǎng)上采購,使零部件的成本下降了30%,卡夫通用食品公司建立了3000萬客戶的個人檔案,美國1997年到2

19、000年間的電子商務(wù)年均增長率達(dá)到了97%2。所以說,在企業(yè)信息化方面,國外的企業(yè)要比國內(nèi)的企業(yè)做的好一些,而且,國外的企業(yè)在這方面的認(rèn)識也要比國內(nèi)的企業(yè)更加的透徹。但是,企業(yè)訂單管理在實(shí)際的應(yīng)用中,還是存在著一些問題的:(1)缺乏對訂單的有效跟蹤和監(jiān)督;(2)訂單結(jié)算不能夠及時處理;(3)管理者難以對訂單數(shù)據(jù)重復(fù)利用3。1.4 論文組織結(jié)構(gòu)圖1-1 論文組織結(jié)構(gòu)圖第二章 系統(tǒng)概述2.1 需求分析進(jìn)貨訂單管理系統(tǒng)用戶有兩大類,前臺的用戶是進(jìn)貨員,后臺的用戶是系統(tǒng)管理員,也就是企業(yè)的管理者。一、前臺用戶需求(進(jìn)貨員)訪問系統(tǒng)的用戶在未登錄的時候,不可以查看供應(yīng)商信息、商品信息,更不可以隨意生成訂

20、單;系統(tǒng)需要提供新的進(jìn)貨員可以注冊為系統(tǒng)新用戶的功能;登錄系統(tǒng)的進(jìn)貨員可以查看供應(yīng)商信息、搜索指定的供應(yīng)商信息,可以查看商品信息、搜索指定的商品信息,可以瀏覽個人名下的訂單信息;進(jìn)貨員發(fā)現(xiàn)商品需要進(jìn)貨的時候,可以生成訂單;新生成的訂單狀態(tài)都是未執(zhí)行的狀態(tài),只有在后臺的管理員授權(quán)可以執(zhí)行訂單,進(jìn)貨員才可以執(zhí)行訂單。前臺用戶進(jìn)貨員的用例圖如下圖所示:圖2-1 進(jìn)貨員用例圖二、后臺管理員需求(企業(yè)管理者)前臺需要提供鏈接可以直接進(jìn)入后臺管理系統(tǒng);企業(yè)管理者以管理員身份登錄系統(tǒng),查看訂單狀態(tài),對新生成的訂單授權(quán)進(jìn)貨員去執(zhí)行;可以增加、刪除、修改供應(yīng)商信息,同樣可以管理商品信息和用戶信息;可以凍結(jié)已經(jīng)注

21、冊的進(jìn)貨員,使其無法登錄系統(tǒng)。后臺用戶企業(yè)管理者的用例圖如下圖所示:圖2-2 管理者用例圖2.2 主要實(shí)現(xiàn)技術(shù)2.2.1 JSP作為本課題設(shè)計(jì)的系統(tǒng)的前端顯示技術(shù),JSP的全稱是Java Server Pages,是一種由Sun公司倡導(dǎo),許多公司參與建立的一種動態(tài)網(wǎng)頁技術(shù)的標(biāo)準(zhǔn)。我們可以類比ASP技術(shù)來學(xué)習(xí)JSP,開發(fā)出屬于我們自己的JSP頁面。前端使用JSP開發(fā),有一個很大的好處,就是所開發(fā)出來的Web應(yīng)用同樣是跨平臺的,可以在Linux操作系統(tǒng)下運(yùn)行,也可以在其他操作系統(tǒng)上運(yùn)行。后端使用Java代碼可以實(shí)現(xiàn)操作數(shù)據(jù)庫,進(jìn)行增、刪、改、查,也可以重定向網(wǎng)頁等,從來達(dá)到實(shí)現(xiàn)動態(tài)網(wǎng)頁所需要功能的

22、目的。不論是Servlet還是JSP,它們都是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個HTML的文本文件,因此,瀏覽器就是在解析HTML文件而已。之所以選擇JSP是因?yàn)镴SP有以下明顯的優(yōu)勢:第一點(diǎn),JSP和Java程序一樣,可以輕松實(shí)現(xiàn)一次編寫,到處運(yùn)行;第二點(diǎn),基本上可以做到開發(fā)環(huán)境任意選,部署環(huán)境任意選,擴(kuò)展環(huán)境也任意選,相比ASP/PHP的局限性,JSP有這一明顯的優(yōu)勢。2.2.2 JavaBeanJSP對于在Web應(yīng)用中集成JavaBean組件提供了良好的支持。這種支持主要體現(xiàn)在代碼復(fù)用,縮短了開發(fā)時間。JavaBean組件可以用來執(zhí)行復(fù)雜的計(jì)算任務(wù),負(fù)責(zé)與數(shù)據(jù)庫的交互,實(shí)現(xiàn)具體

23、業(yè)務(wù)邏輯的封裝等,在JSP程序中常用來封閉事務(wù)邏輯、數(shù)據(jù)庫操作等,可以很好地實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺程序(如JSP文件)的分離8。使用JavaBean可以減少JSP中的Java代碼量,而且能把應(yīng)用的表達(dá)層和邏輯層分開,網(wǎng)頁設(shè)計(jì)人員可以只關(guān)心頁面的規(guī)劃,而Java程序員可以專心開發(fā) JavaBean6。2.2.3 JQueryJQuery是一個非常好的JavaScript框架,也是輕量級的JS庫,不僅很好的兼容CSS,還兼容各種瀏覽器。腳本語言的好處,就是讓用戶使用系統(tǒng)時的體驗(yàn)更好。比如可以動態(tài)的校驗(yàn)用戶填寫的表單數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)顯示的變化,也可以實(shí)現(xiàn)動畫效果,并且方便地為網(wǎng)站提供AJAX交互。還有,J

24、Query有一個特別大的優(yōu)勢,就是它擁有非常全面的文檔說明,還有很多成熟的插件可供選擇,更沒有瀏覽器的兼容性問題,幫助開發(fā)設(shè)計(jì)人員減輕了負(fù)擔(dān)。本系統(tǒng)初步規(guī)劃,使用了JQuery腳本語言,優(yōu)化用戶體驗(yàn)。比如,可以在新用戶注冊頁面,還有查詢顯示單行數(shù)據(jù)時,依靠JQuery來處理來實(shí)現(xiàn)的。2.2.4 AJAXAJAX是每個網(wǎng)站都必須用到的技術(shù),可以用戶創(chuàng)建快速動態(tài)網(wǎng)頁。我們可以在網(wǎng)頁的后臺和服務(wù)器進(jìn)行少量的數(shù)據(jù)交換,是網(wǎng)頁實(shí)現(xiàn)異步更新。也就是說,網(wǎng)頁可以在不重新加載整個頁面的情況下,進(jìn)行部分更新。本系統(tǒng)初步設(shè)想,有檢測用戶名的功能,那么就可以使用AJAX來實(shí)現(xiàn),和服務(wù)器進(jìn)行少量數(shù)據(jù)交換就可以。圖2-

25、3 JavaScript遠(yuǎn)程腳本原理圖42.3 開發(fā)及運(yùn)行環(huán)境計(jì)算機(jī)操作系統(tǒng):Windows7 旗艦版數(shù)據(jù)庫管理軟件:SQL Server 2008系統(tǒng)開發(fā)工具軟件:Eclipse系統(tǒng)運(yùn)行服務(wù)器:Tomcat7單元測試工具:JUnit4第三章 系統(tǒng)概要設(shè)計(jì)3.1 模塊設(shè)計(jì)從前面的需求分析中得知,必須應(yīng)該把系統(tǒng)分為前臺和后臺兩個部分來設(shè)計(jì),因此模塊也分為兩大類:前臺模塊和后臺模塊。進(jìn)貨員在前臺系統(tǒng)的注冊、登錄功能,以及登錄后修改個人的注冊信息的功能組合在一起構(gòu)成注冊登錄模塊。進(jìn)貨員在未登錄的時候只可以瀏覽進(jìn)貨訂單列表,登錄后,進(jìn)貨員才可以搜索并瀏覽商品信息,搜索并瀏覽供應(yīng)商信息,查詢個人賬戶下的

26、訂單執(zhí)行情況。在商品信息,以及供應(yīng)商信息的基礎(chǔ)上,用戶可以生成進(jìn)貨訂單,等到管理員授權(quán)再執(zhí)行采購計(jì)劃。后臺也有相應(yīng)的管理員登錄模塊。進(jìn)入后臺管理系統(tǒng)后,模塊應(yīng)該有用戶權(quán)限管理,訂單信息管理,商品信息管理(添加,刪除,查詢),供應(yīng)商管理(添加,刪除,查詢)這幾個模塊。圖3-1為系統(tǒng)模塊總圖:圖3-1系統(tǒng)模塊總圖3.1.1 前臺模塊設(shè)計(jì)(1)注冊登錄模塊:進(jìn)貨員可以注冊、登錄、修改個人信息;圖3-1-1 注冊登錄模塊(2)供應(yīng)商查詢模塊:進(jìn)貨員登錄可以查詢、瀏覽供應(yīng)商信息;(3)商品查詢模塊:進(jìn)貨員登錄可以查詢商品信息,查詢供應(yīng)商信息;(4)訂單查詢模塊:進(jìn)貨員登錄可以查詢個人賬戶下的訂單信息;(

27、5)訂單生成模塊:在商品信息以及供應(yīng)商信息的基礎(chǔ)上,用戶可以生成進(jìn)貨訂單。3.1.2 后臺模塊設(shè)計(jì)(1)訂單管理模塊:企業(yè)管理者可以授權(quán)進(jìn)貨員是否執(zhí)行訂單;(2)供應(yīng)商管理模塊:企業(yè)管理者可以對供應(yīng)商信息進(jìn)行管理,包括增加、刪除、修改、查詢;(3)商品管理模塊:企業(yè)管理者可以對商品信息進(jìn)行管理,包括增加、刪除、查詢;(4)用戶管理模塊:企業(yè)管理者可以對注冊成功的用戶進(jìn)行賬戶的凍結(jié)和解凍,為其是否可以登錄系統(tǒng)設(shè)置權(quán)限。3.2 數(shù)據(jù)庫建模本系統(tǒng)所要連接的數(shù)據(jù)庫需要存儲登錄系統(tǒng)的用戶信息,供應(yīng)商信息,商品信息,訂單信息,四張表。對于數(shù)據(jù)庫表的設(shè)計(jì),計(jì)劃通過使用PowerDesigner建模來實(shí)現(xiàn),先

28、建立概念數(shù)據(jù)模型,生成邏輯數(shù)據(jù)模型,再生成物理數(shù)據(jù)模型,最后生成數(shù)據(jù)庫腳本文件,最終實(shí)現(xiàn)表的創(chuàng)建。3.2.1 概念數(shù)據(jù)模型概念數(shù)據(jù)模型的英文全稱是Conceptual Data Model,簡稱CDM。使用PowerDesigner輔助數(shù)據(jù)庫設(shè)計(jì),其中的概念數(shù)據(jù)模型(CDM)可由E-R模型細(xì)化而建立,CDM是對現(xiàn)實(shí)應(yīng)用實(shí)體及實(shí)體間聯(lián)系的抽象表示,使用CDM描述數(shù)據(jù)表及相關(guān)關(guān)系可以方便系統(tǒng)理解,有利于系統(tǒng)的設(shè)計(jì)和維護(hù),并且可以方便轉(zhuǎn)換成基于某種具體的DBMS的物理數(shù)據(jù)模型(PDM)5。(1)使用PowerDesigner畫出先繪出所有的實(shí)體,如下圖所示:圖3-1 用戶信息圖3-2 商品信息圖3-

29、3供應(yīng)商信息圖3-4 訂單信息(2)繪制的概念數(shù)據(jù)模型:正確的繪制企業(yè)進(jìn)貨訂單管理系統(tǒng)的E-R模型,也就是概念數(shù)據(jù)模型圖,是數(shù)據(jù)庫設(shè)計(jì)成功的第一步,不僅要將涉及的所有實(shí)體及其屬性正確繪出,還要準(zhǔn)確判斷各實(shí)體之間的聯(lián)系,因?yàn)檫@對后面生成邏輯和物理數(shù)據(jù)模型很重要,如果這一步出錯,外鍵的生成也將會出錯,直接導(dǎo)致數(shù)據(jù)庫的設(shè)計(jì)也將不會成功。分析之后,我們得到了企業(yè)進(jìn)貨訂單管理系統(tǒng)的概念數(shù)據(jù)模型圖,如下圖所示:圖3-5 概念數(shù)據(jù)模型圖3.2.2 邏輯數(shù)據(jù)模型邏輯數(shù)據(jù)模型的英文全稱是Logic Data Model,簡稱LDM。利用繪制的概念數(shù)據(jù)模型生成的邏輯數(shù)據(jù)模型如下圖所示:圖3-6 邏輯數(shù)據(jù)模型圖3.

30、2.3 物理數(shù)據(jù)模型邏輯數(shù)據(jù)模型的英文全稱是Physical Data Model,簡稱PDM。利用繪制的概念數(shù)據(jù)模型生成的物理數(shù)據(jù)模型如下圖所示:圖3-7 物理數(shù)據(jù)模型圖3.3 界面設(shè)計(jì)頁面布局將通過使用標(biāo)簽<jsp:include page=“"/>將Jsp頁面進(jìn)行嵌套組合,配合<table/>標(biāo)簽來實(shí)現(xiàn)。圖3-8 頁面布局設(shè)計(jì)圖以下四個頁面是系統(tǒng)中所有頁面所共用的,是實(shí)現(xiàn)頁面布局的公共資源:導(dǎo)航欄前臺系統(tǒng)命名為top.jsp,后臺系統(tǒng)命名為top_m.jsp;注冊、登錄、公告left.jsp;版權(quán)信息copyright.jsp。第四章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)

31、4.1 前臺系統(tǒng)實(shí)現(xiàn)進(jìn)貨員是前臺系統(tǒng)的唯一用戶,進(jìn)貨員訪問系統(tǒng),首先看到的是系統(tǒng)所有的進(jìn)貨訂單列表,登錄系統(tǒng)后,可以查詢供應(yīng)商信息,商品信息,和個人名下的所有訂單以及執(zhí)行情況,有進(jìn)貨需求的商品則可以生成訂單。4.1.1 前臺主界面當(dāng)進(jìn)貨員訪問系統(tǒng)時,系統(tǒng)主界面如下圖所示:圖4-1 系統(tǒng)前臺主界面在系統(tǒng)的左邊是登錄窗口,以及網(wǎng)站公告版,右邊顯示的是所有進(jìn)貨訂單的列表信息。進(jìn)貨員未登錄的時候,只可以瀏覽進(jìn)貨訂單列表,只有登錄之后,才可以訪問其他四個模塊。4.1.2 用戶注冊模塊用戶注冊信息填寫完畢后,點(diǎn)擊“確定保存”,若該用戶名不存在,則注冊成功,用戶資料修改頁面也跟這個界面類似。新用戶注冊時,如

32、果用戶名為空時,單擊檢測用戶名,提示信息如下:圖4-2 新用戶注冊用戶名為空時檢測新用戶注冊,如果用戶名存在時,單擊檢測用戶名,提示信息如下:圖4-3 新用戶注冊用戶名已經(jīng)存在時檢測圖4-4 新用戶注冊用戶名可以使用時檢測新用戶注冊,信息填寫正確,JQuery校驗(yàn)提示隱藏,如下圖所示:圖4-5 新用戶注冊信息填寫正確圖4-6 新用戶注冊單擊提交新用戶注冊,信息填寫有誤,JQuery校驗(yàn)提示顯示,信息為空時進(jìn)行提示,兩次密碼輸入不一致進(jìn)行提示,Email格式不正確也進(jìn)行提示,如下圖所示:圖4-7 新用戶注冊信息填寫有誤圖4-8 用戶登錄成功圖4-9 會員資料修改4.1.3 供應(yīng)商查詢模塊進(jìn)貨員登

33、錄后,可以根據(jù)供應(yīng)商編號或者供應(yīng)商姓名查詢對應(yīng)的供應(yīng)商信息,也可以瀏覽所有的供應(yīng)商信息。圖4-10 供應(yīng)商信息瀏覽圖4-11 根據(jù)供應(yīng)商編號查詢圖4-12 根據(jù)供應(yīng)商名稱查詢圖4-13 根據(jù)供應(yīng)商編號和名稱查詢4.1.4 商品查詢模塊點(diǎn)擊商品查詢,進(jìn)入商品查詢界面,在商品列表中,將列出所有的商品信息,進(jìn)貨需求表示當(dāng)前商品的庫存量信息,分為有貨存或者需進(jìn)貨兩種庫存信息。進(jìn)貨員可以根據(jù)商品編號或者商品名稱查詢對應(yīng)的商品信息,也可以瀏覽所有的商品信息。如果有商品有進(jìn)貨需求,單擊則可以生成對應(yīng)的商品訂單信息。下圖為商品查詢界面:圖4-14 商品信息瀏覽圖4-15 根據(jù)商品編號查詢圖4-16 根據(jù)商品名

34、稱查詢圖4-17 根據(jù)商品編號和名稱查詢4.1.5 訂單查詢模塊進(jìn)貨員可以查詢自己名下的所有訂單:圖4-18 查詢個人名下訂單4.1.6 訂單生成模塊訂單生成界面將根據(jù)所選的進(jìn)貨商品,產(chǎn)生相應(yīng)的進(jìn)貨訂單。圖4-19 生成訂單圖4-20 訂單生成成功4.2 后臺系統(tǒng)實(shí)現(xiàn)后臺的用戶是系統(tǒng)管理員4.2.1 后臺主界面當(dāng)管理員訪問系統(tǒng)時,登錄系統(tǒng)主界面如下圖所示:圖4-21 管理員登錄后臺入口圖4-22 密碼錯誤是無法登錄圖4-23 密碼正確進(jìn)入后臺主頁圖4-24 單擊“執(zhí)行”提示信息管理員進(jìn)入后臺主頁以后,首先看到的是訂單管理模塊,在這個模塊中,管理員可以對新生成的訂單進(jìn)行授權(quán)執(zhí)行,這樣,進(jìn)貨員登錄

35、系統(tǒng)后,看到訂單已經(jīng)授權(quán)執(zhí)行,就可以進(jìn)行采購計(jì)劃了。4.2.2 供應(yīng)商管理模塊供應(yīng)商管理模塊中,可以進(jìn)行供應(yīng)商信息的添加、刪除、修改。圖4-25 供應(yīng)商管理主界面圖4-26 添加供應(yīng)商信息圖4-27 信息添加成功提示語圖4-28 信息刪除成功提示語在跳轉(zhuǎn)到供應(yīng)商信息修改界面中后,所有的信息都是預(yù)置在表單當(dāng)中的,用戶可以在表單中修改,修改完成,點(diǎn)擊提交,如下圖所示:圖4-29 供應(yīng)商信息修改4.2.3 商品管理模塊點(diǎn)擊用戶管理界面中右側(cè)的“凍結(jié)/解凍”按鈕,就可完成用戶權(quán)限管理。訂單管理界面跟此界面差不多。圖4-30 商品管理主界面圖4-31 添加商品信息4.2.4 用戶權(quán)限管理模塊點(diǎn)擊用戶管理

36、界面中右側(cè)的“凍結(jié)/解凍”按鈕,就可完成用戶權(quán)限管理,控制已經(jīng)注冊用戶的訪問權(quán)限。圖4-32 用戶管理主界面圖4-33 用戶凍結(jié)成功提示信息圖4-34 用戶解凍成功提示信息4.3 數(shù)據(jù)庫實(shí)現(xiàn)在此進(jìn)貨訂單管理系統(tǒng)中,將主要實(shí)現(xiàn)用戶信息,商品信息,供應(yīng)商信息,訂單信息的管理。數(shù)據(jù)庫中需要存放四張表,分別為用戶表(users),商品表(goods),供應(yīng)商表(suppliers),訂單表(orders)。前面,我們數(shù)據(jù)庫建模已經(jīng)成功,之后,我們就可以利用前面建立好的物理數(shù)據(jù)模型,生成數(shù)據(jù)庫腳本文件,命名為OrderManage.sql,然后在SQL Server 2008中,先創(chuàng)建一個名為“Orde

37、rManage”的數(shù)據(jù)庫,再執(zhí)行OrderManage.sql”數(shù)據(jù)庫腳本文件,即可在數(shù)據(jù)庫中創(chuàng)建完成4個表,如下圖所示:圖4-35 數(shù)據(jù)庫創(chuàng)建成功1用戶信息表:圖4-36 創(chuàng)建users表用戶信息表存放用戶的信息,用戶登錄的通行證是用戶名和密碼,所以用戶數(shù)據(jù)表中必須包含字段userID表示用戶名、字段userPassword表示登錄密碼兩個信息,還有些其他的一些信息,比如userFreeze指的是用戶賬戶狀態(tài),狀態(tài)為凍結(jié)時字段的值為1,狀態(tài)為解凍時字段的值為0。2商品信息表:圖4-37 創(chuàng)建goods表商品信息表主要描述進(jìn)貨訂單管理系統(tǒng)中的商品信息,其中字段goodID是商品ID號(此ID號

38、為系統(tǒng)使用算法自動生成的),字段goodName是商品名稱,字段goodPrice是商品價格,字段goodNum是商品數(shù)量,字段goodProductor是商品生產(chǎn)商,字段goodState是商品狀態(tài)(主要描述商品庫存量是否足夠,是否要進(jìn)貨)。3供應(yīng)商信息表:圖4-38 創(chuàng)建supplier表供應(yīng)商信息表主要描述供應(yīng)商的一些相關(guān)信息,如字段supplierID是供應(yīng)商ID(此ID和商品ID一樣,是系統(tǒng)使用算法自動生成的),還有字段supplierName是供應(yīng)商名稱, 字段supplierAddress是供應(yīng)商聯(lián)系地址,字段supplierEmail是供應(yīng)商Email,字段supplierTe

39、l是供應(yīng)商聯(lián)系電話。4訂單信息表:圖4-39 創(chuàng)建orders表訂單信息表描述生成訂單所需要的信息,如字段orderID是訂單ID,字段userID是經(jīng)手人ID,字段ordrePay是支付方式,字段orderCarry是運(yùn)送方式,字段orderDate是訂單生成日期,字段orderNum是訂單中的商品數(shù)量,字段orderPrice是訂單中的商品價格,字段orderState是訂單狀態(tài),字段supplierID是商品供應(yīng)商。4.4 算法設(shè)計(jì)與實(shí)現(xiàn)4.4.1 分頁算法(1)算法中涉及到的變量如下:recordCount待顯示的記錄總數(shù)pageSize每頁顯示的記錄數(shù)recordCount%page

40、Size判斷要顯示的總頁數(shù)maxPage需要顯示的總頁數(shù)(2)將待顯示的記錄總數(shù)和每頁顯示的記錄數(shù)進(jìn)行相除運(yùn)算,能整除,則相除得到的結(jié)果就是需要顯示的總頁數(shù);不能整除,則相除得到的結(jié)果需要加1,用來顯示余下的記錄數(shù),用代碼表示如下:if(recordCount % pageSize = 0)maxPage = recordCount/pageSize;elsemaxPage = recordCount/pageSize + 1;(3)request中以get方式傳遞待顯示頁碼Page(此處將變量Page的首字母大寫是為了與作用域變量page進(jìn)行區(qū)分),可以實(shí)現(xiàn)頁碼傳遞的代碼表示如下:Strin

41、g strPage=(String)request.getParameter("");int page = Integer.parseInt(strPage);/page是待顯示頁碼if(strPage = null)/如果剛開始request.getParameter(),得到的是空值page = 1;else if(page-1)*pageSize+1)>recordCount)/如果在最后一頁page=maxPage;4.4.2 主鍵值生成算法聲明的變量s為各個表作為主鍵字段的前綴字符串,一張表中的每條記錄都是一樣的,而后面三位,則是由算法隨機(jī)生成的,具體代碼如

42、下:String s = "."String arrykey = "0", "1", "2", "3", "4", "5", "6", "7", "8","9", "A", "B", "C", "D", "E", "F", "G", &qu

43、ot;H", "I", "J", "K" ;Random x = new Random();for (int i = 1; i <= 3; i+) String temp = ""int tempnum = x.nextInt(21);temp = arrykeytempnum;s = s + temp;可以看出,for循環(huán)中語句的執(zhí)行次數(shù)為3次,每次隨機(jī)生成一個0-20的整數(shù),然后以這個整數(shù)為數(shù)組下標(biāo),找到數(shù)組中元素對應(yīng)的值,隨機(jī)進(jìn)行組合。4.5 漢字亂碼解決方法在前端和后端通信的時候,必須在對r

44、equest和response對象進(jìn)行操作的時候,設(shè)置統(tǒng)一的編碼方式,中文可以設(shè)置為GBK、GB2312,也可以和JavaScript文件的編碼方式一樣,設(shè)置為UTF-8,總之,只要前端、后端采用的編碼統(tǒng)一,就可以解決漢字亂碼問題,設(shè)置表單中數(shù)據(jù)編碼方式的代碼如下:request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");在引入JS文件的時候,需要先在引入JS文件的頁面中設(shè)置編碼方式為UTF-8,代碼如下:<script src=""

45、 type="text/javascript" charset="utf-8"></script>同時,還需要設(shè)置JS文件在Eclipse中的編碼,如下圖所示:圖4-40 設(shè)置JS文件所在文件夾編碼為UTF-84.6 訪問權(quán)限控制本系統(tǒng)的很多頁面都是需要用戶登錄之后才可以訪問的,所以必須進(jìn)行權(quán)限控制。實(shí)現(xiàn)的方法:(1)在需要控制訪問權(quán)限的頁面起始處,添加:<jsp:include page=“safe.jsp”/>;(2)在safe.jsp頁面中,使用:session.getAttribute("UserName&

46、quot;);在session中取參數(shù),判斷用戶名是否為空,作為是否登錄、是否擁有訪問頁面權(quán)限的依據(jù),代碼如下:if (session.getAttribute("UserName") = null) out.println("<script language='javascript'>alert('您還沒有登錄!');window.location.href=' /OrderManage/OMApp/index.jsp'</script>");圖4-41 前臺系統(tǒng)未登錄提示信息圖4

47、-42 后臺系統(tǒng)未登錄提示信息單擊確定后,返回index.jsp頁面,進(jìn)行登錄。第五章 系統(tǒng)優(yōu)化在系統(tǒng)的大部分功能都已經(jīng)開發(fā)完成后,仍然發(fā)現(xiàn)系統(tǒng)中存在大量的冗余代碼,可讀性和可維護(hù)性都很差,所以,需要對系統(tǒng)進(jìn)行優(yōu)化。5.1 冗余代碼合并系統(tǒng)中,頁面上最多的冗余代碼就是CSS樣式,由于系統(tǒng)頁面布局都是通過<table/>標(biāo)簽的嵌套來實(shí)現(xiàn)的,所以,頁面不同位置的<table/>就有不同的樣式,最初開發(fā)的時候,沒有對每一個頁面的布局有太細(xì)的規(guī)劃,所以,在開發(fā)的過程中,我在每個頁面中都寫了大量的CSS樣式來實(shí)現(xiàn)頁面布局,這樣隨著開發(fā)的進(jìn)行,頁面越來越多,重復(fù)的CSS代碼也就越來

48、越多,一旦想更改樣式,每一個頁面都要更改,工作量非常大,于是,對頁面上的CSS代碼進(jìn)行提取和優(yōu)化就顯得十分必要。主要的優(yōu)化工作,就是對不同位置的<table/>標(biāo)簽設(shè)置不同的class屬性,然后,將頁面上共同的CSS樣式代碼放在table.css文件中,這樣一來,想調(diào)整樣式,只需要改變table.css文件就可以,而不再需要在頁面中一一修改。對頁面上CSS樣式代碼的優(yōu)化,不僅提高的了開發(fā)效率,使維護(hù)系統(tǒng)變的更加容易,而且更使頁面看起來干凈整潔。優(yōu)化的時候,將所有<table/>標(biāo)簽的class屬性指定不同的值,從而在table.css文件中,進(jìn)行樣式的控制,頁面中的代碼

49、如下圖所示:圖5-1 <table/>標(biāo)簽中的class屬性5.2 歸類頁面為了開發(fā)的方便,我在最初寫代碼的時候,將所有的頁面都放在根目錄下,隨著頁面的增多,查找起來非常的不方便,而且,程序一打開就看到所有的頁面,視覺上也非常的不舒服,這時,對已開發(fā)好的所有頁面進(jìn)行歸類就顯的非常重要了。當(dāng)然,在歸類頁面的時候會出現(xiàn)很多問題,涉及到<a/>標(biāo)簽鏈接地址的修改,資源加載路徑的正確性考慮等等。經(jīng)過一天的不斷的嘗試,我終于總結(jié)出幾點(diǎn)在歸類頁面時應(yīng)該注意的問題,首先,比如頭文件top.jsp、top_m.jsp,左側(cè)的登錄和公告欄頁面left.jsp,還有底部的文件copyrig

50、ht.jsp等等,都是很多頁面共同引用的,所以,在引用這些公共的資源文件的時候,要使用絕對路徑,防止在不同的位置進(jìn)行訪問時出現(xiàn)問題。而對于非公共資源,它們的訪問路徑則相對簡單,只要設(shè)置相對路徑可以了。當(dāng)然,對頁面歸類之后,要進(jìn)行大量的測試,確保頁面之間的跳轉(zhuǎn)要正確,不能報(bào)404錯誤。圖5-2 優(yōu)化后的頁面目錄結(jié)構(gòu)5.3 JQuery前端校驗(yàn)使用JQuery對表單信息進(jìn)行校驗(yàn),使用AJAX異步驗(yàn)證表單數(shù)據(jù)的正確性,都可以使用戶體驗(yàn)得到提升。比如,最初的注冊頁面,沒有任何腳本語言的校驗(yàn),只要用戶填寫了注冊信息,然后提交就可以注冊成功,但是如果用戶注冊的通行證已經(jīng)存在,就會由于主鍵沖突而注冊失敗,但

51、是用戶卻不知道什么原因,或者,用戶填寫了格式錯誤的Email也可以注冊成功。所以,為了改進(jìn)這些,就必須使用腳本語言來對表單數(shù)據(jù)進(jìn)行校驗(yàn),實(shí)現(xiàn)用戶體驗(yàn)效果的大幅提升。下面簡要介紹用JavaScript的輕量級框架JQuery來實(shí)現(xiàn)的新用戶注冊信息校驗(yàn):圖5-3 用戶注冊校驗(yàn)信息實(shí)現(xiàn)過程(1)使用<span class="required"></span>在JSP頁面中預(yù)設(shè)一個區(qū)域用來顯示紅色“*”,意為用戶必填的表單信息,配合JQuery中如下代碼:圖5-4 可使頁面顯示紅色“*”的JQuery代碼(2)檢測用戶通行證是否已經(jīng)存在的AJAX調(diào)用代碼:圖

52、5-5 檢測通行證的AJAX調(diào)用代碼圖5-6 表單信息校驗(yàn)代碼(部分)第六章 系統(tǒng)測試到了最后的測試階段,系統(tǒng)的主要功能都已經(jīng)基本實(shí)現(xiàn),現(xiàn)在的工作就是要對系統(tǒng)的實(shí)現(xiàn)所有功能進(jìn)行測試6.1 單元測試單元測試主要是使用在Eclipse中集成的JUnit4,對JSP頁面中調(diào)用的接口進(jìn)行測試,由于系統(tǒng)功能的實(shí)現(xiàn)需要大量操作數(shù)據(jù)庫的接口,如果不對接口進(jìn)行測試而直接在頁面中調(diào)用,一旦出現(xiàn)錯誤,查找起來會比較困難,反之,如果對開發(fā)的接口都進(jìn)行了單元測試,保證在頁面中調(diào)用的接口都是正確的,那么,查找問題就會變得比較容易,開發(fā)速度自然也就變快了。作為一種單元測試工具JUnit4的一大好處就是我們無需編寫業(yè)務(wù)代碼

53、,運(yùn)用簡單的斷言來驗(yàn)證對錯即可7。以對UserBean中的getAlluser()方法為例,單元測試的方法如下:(1)新建一個工程專門用來做單元測試,命名為OrderManageTestPro,由于需要對OrderManage這個項(xiàng)目中的類和方法做單元測試,所以,需要將OrderManage中的src以Link Source的方式加入到新建的測試工程當(dāng)中,當(dāng)然為了不與原工程中的src文件夾沖突,必須進(jìn)行重命名,如下圖所示:圖6-1 Link Source(2)新建JUnit Test Case圖6-2 新建測試類圖6-3 測試方法代碼圖6-4 測試通過顯示結(jié)果圖6-5 測試失敗顯示結(jié)果最后,按

54、照類似的方法,對需要進(jìn)行單元測試的方法逐個進(jìn)行測試,盡早發(fā)現(xiàn)問題并處理,提高開發(fā)效率。6.2 功能測試本系統(tǒng)涉及的業(yè)務(wù)和功能雖然不算復(fù)雜,但是進(jìn)行功能測試也是十分必要的,需要把頁面中涉及的所有元素都要考慮到。最直觀的,要看css文件、js文件、image圖片是否加載正確,顯示是否正常。再者,看頁面中對表單的操作是否都可以正確提交到數(shù)據(jù)庫保存,還有超鏈接是否鏈接正確。6.3 測試結(jié)果在單元測試和功能測試結(jié)束后,可以得出結(jié)論:基本滿足了用戶需求,具有一定的可行性和實(shí)用價值??偨Y(jié)與展望本次畢業(yè)設(shè)計(jì),從對課題的分析,到對系統(tǒng)需求的分析,再到系統(tǒng)的編碼實(shí)現(xiàn),經(jīng)歷了幾個月的時間。過程雖然漫長,卻也在實(shí)踐中學(xué)到了許多知識,也積累不少實(shí)際開發(fā)的經(jīng)驗(yàn)。在設(shè)計(jì)和實(shí)現(xiàn)數(shù)據(jù)庫的時候,我學(xué)到了很多有關(guān)數(shù)據(jù)庫設(shè)計(jì)方面的知識,明確了數(shù)據(jù)庫建模工具在數(shù)據(jù)庫設(shè)計(jì)當(dāng)中扮演著非常重要的角色,其中PowerDesigner就是一個我們應(yīng)該熟練掌握的數(shù)據(jù)庫建模軟件,用PowerDesigner來繪制CDM,得到E-R模型圖,是數(shù)據(jù)庫設(shè)計(jì)的第一步,如果我們能夠通過先建模再來創(chuàng)建數(shù)據(jù)庫和相關(guān)的表,可以很大程度上提高項(xiàng)目開發(fā)中的工作效率。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論