

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 企業(yè)進貨訂單管理系統(tǒng)的設計與實現</p><p><b> 摘 要</b></p><p> 本課題針對現在小規(guī)模企業(yè)在訂單管理方面存在的一些問題進行了研究,發(fā)現小型企業(yè)員工數量不多,也沒有過多的資金自主開發(fā)出一整套的ERP管理系統(tǒng),但又迫切需要一個簡單實用的小型系統(tǒng)來實現公司內部訂單的自動化管理。本文將詳細介紹,為了解決小型企業(yè)中進貨員手
2、動管理自己的訂單易出錯,管理者不能及時了解公司訂單狀況等問題而設計的這個小型實用系統(tǒng)的實現過程,具體的,就是從課題背景的研究,到需求分析和主要實現技術的介紹,到系統(tǒng)模塊設計和數據庫建模過程,再到編碼實現、系統(tǒng)優(yōu)化和測試的過程。</p><p> 從整體上來講,系統(tǒng)開發(fā)設計,采用B/S架構,進貨員只要在瀏覽器中訪問系統(tǒng)即可,數據的處理都在服務器端進行,實現統(tǒng)一管理,保證了數據的一致性。在數據庫管理軟件選擇方面,使
3、用的是關系型數據庫管理系統(tǒng)SQL Server 2008,前端網頁使用JSP技術,并使用JQuery腳本語言優(yōu)化,實現前端校驗,優(yōu)化用戶體驗,后臺則使用安全性較高的Java語言做處理。</p><p> 在開發(fā)系統(tǒng)實現技術的選取方面,選擇了JSP和JavaBean的組合,而數據庫選擇的是應用廣泛的SQL Server 2008。JavaBean可重用的軟件組件滿足小型應用,同時使編程人員投入少量精力便可重用組件
4、,在簡單的應用中可以充分考慮。</p><p> 由于系統(tǒng)比較簡單,訪問量也不會很大,僅有公司內部員工訪問,因此開發(fā)的模式就采用比較簡單的模式,這樣不僅實現了應用程序邏輯和頁面顯示分離,使得界面設計更加簡單,而且架構搭建起來比較簡單,比較容易實現。</p><p> 在系統(tǒng)所有的開發(fā)工作完成以后,我根據需求,對系統(tǒng)的所有功能都進行了測試,沒有發(fā)現特別嚴重的缺陷,證明了系統(tǒng)的可行性和實用
5、價值。</p><p> 關鍵詞:進貨訂單管理,OMS(Order management system),B/S,JSP,JavaBean</p><p> Design and Implementation of</p><p> Enterprise Order Management System</p><p><b>
6、 Abstract</b></p><p> In view of the small-scale enterprise’s some problems in the order management, we put forward this Graduation Design Topic. Due to the number of employees is not much, and also
7、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 practical small system to realize the automated manageme
8、nt for internal orders. This paper will detail the following contents. In order to solve the problem th</p><p> In terms of the overall system development and design, we choose B/S architecture. The buyer c
9、an 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 architecture can realize the unified management, and can ensure t
10、he 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 Scr</p><p> In fact, th
11、e pattern which I choose in actual development process 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
12、 want to say, in this small system, JavaBean is a reusable component which plays a very important role.</p><p> Because the system is simple and the traffic is not big, only the company's internal staff
13、 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 r
14、ealize.</p><p> At the end of the development process, the system’s 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
15、 draw the conclusion that, the system has the feasibility and practical value. </p><p> Key words:B/S, OMS, JSP, JavaBean</p><p><b> 第一章 緒論</b></p><p> 1.1 課題的背景及意義&l
16、t;/p><p> 不論是大規(guī)模的跨國企業(yè),還是小規(guī)模的中小型企業(yè),想要提高工作效率和經濟效益,就必須依靠科學的管理手段,來提高工作效率和經濟效益。尤其是在一些小型企業(yè)里,公司規(guī)模比較小,沒有足夠的人員,也沒有足夠的資金來開發(fā)一套完整的ERP系統(tǒng),但是卻渴望使用小而實用的系統(tǒng)實現訂單管理的自動化。我們可以想象,不使用訂單管理系統(tǒng),完全靠進貨員自主管理自己的訂單,不僅容易出錯,而且企業(yè)管理者也不能及時了解訂單的狀態(tài),
17、如此一來,小型企業(yè)想要擴展規(guī)模,在訂單管理這一環(huán)節(jié)首先就收到了制約。因此,我們可以說訂單管理系統(tǒng)也是眾多管理軟件中最為關鍵的一個系統(tǒng),從供應商、商品、訂單等信息的自動化管理出發(fā),使公司管理實現高效,從而經濟效益也得到提升。所以說,對小規(guī)模的企業(yè)而言,開發(fā)一個小而且實用的訂單管理管理系統(tǒng)是非常必要的。</p><p> 針對上面的問題,我們可以得出結論,小公司開發(fā)一個簡單并且實用性強的小型系統(tǒng),勢在必行。規(guī)模大一
18、些的每個公司都有自己的現有的訂單管理系統(tǒng),對于不同類型的公司,在訂單管理方面的功能需求是有很大區(qū)別的,并且在訂單管理的模式基礎上,也都會有相應的擴展。但是,所有企業(yè)都有一個共同的目標,那就是,實現訂單信息管理的自動化,減少成本,提高經濟效益,讓企業(yè)的發(fā)展不受制約。所以,在為小型企業(yè)設計進貨員訂單管理系統(tǒng)時,就一定要考慮到實現訂單自動化管理時最為核心的東西。</p><p> 本課題主要研究的是進貨訂單的自動化管
19、理,初步了解后,發(fā)現目前常見的進貨訂單管理系統(tǒng)具有以下幾個功能模塊:</p><p> 供應商信息管理,在生成進貨訂單時,能方便的選擇合適的供應商。</p><p> 商品信息管理,進貨訂單大多數是基于商品的庫存量來實現。</p><p> 訂單信息瀏覽和查詢,進貨員和供應商能方便的查詢其相關訂單的執(zhí)行情況。</p><p> 訂單生
20、成,是進貨訂單管理系統(tǒng)中最為重要的一個功能。</p><p> 訂單執(zhí)行,管理員對生成的訂單進行授權執(zhí)行。</p><p> 用戶管理,在進貨訂單管理系統(tǒng)中,用戶主要指進貨員。</p><p><b> 1.2 課題分析</b></p><p> 本課題的要求是設計并實現一個實用性較強的進貨訂單管理系統(tǒng),該系統(tǒng)屬
21、于企業(yè)訂單管理系統(tǒng)中的一個分支系統(tǒng),但是,它也可以作為一個單獨的分支系統(tǒng)供進貨員和企業(yè)管理員進行使用。</p><p> 調查和分析后,得出進貨訂單管理系統(tǒng)至少應該包括如下幾個部分:</p><p> 一、前臺用戶(進貨員)系統(tǒng)部分:</p><p> 登錄:負責用戶權限檢查,驗證密碼。</p><p> 用戶注冊:可實現普通用戶(進
22、貨員)的注冊登錄。</p><p> 用戶信息修改:方便的實現用戶的相關基本信息的修改。</p><p> 商品信息搜索和查詢:查詢現有庫存商品的庫存量,以及相應的進貨需求狀態(tài)。</p><p> 供應商信息搜索和查詢:查詢供應商的相關信息。</p><p> 訂單信息查詢:列出已登錄的進貨員的訂單清單。</p><
23、;p> 訂單生成:根據商品庫存量情況,實現進貨操作,并且生成相應的進貨訂單。</p><p> 二、管理員系統(tǒng)部分:</p><p> 登錄后臺:負責用戶權限檢查,驗證密碼。</p><p> 用戶信息管理:可以凍結或者是解凍普通用戶(進貨員)的權限。</p><p> 供應商信息管理:實現供應商的添加、刪除工作。</p
24、><p> 商品信息管理:實現商品的添加、刪除功能。</p><p> 訂單信息管理:對已經生成的訂單完成執(zhí)行操作,使訂單生效。</p><p> 1.3 國內外研究現狀</p><p> 在國內,隨著互聯(lián)網技術在全世界的普及,基于互聯(lián)網技術的各種應用也蓬勃發(fā)展。同樣,基于互聯(lián)網技術的信息管理軟件和產品管理模式也開始出現,并得到眾多企業(yè)的
25、應用和推廣[1]。</p><p> 在國外很多公司都通過使用管理軟件,實現了企業(yè)的信息化,降低了生產成本,讓企業(yè)的發(fā)展速度有了質的飛躍。例如,美國福特汽車公司通過網上采購,使零部件的成本下降了30%,卡夫通用食品公司建立了3000萬客戶的個人檔案,美國1997年到2000年間的電子商務年均增長率達到了97%[2]。</p><p> 所以說,在企業(yè)信息化方面,國外的企業(yè)要比國內的企業(yè)
26、做的好一些,而且,國外的企業(yè)在這方面的認識也要比國內的企業(yè)更加的透徹。</p><p> 但是,企業(yè)訂單管理在實際的應用中,還是存在著一些問題的:</p><p> ?。?)缺乏對訂單的有效跟蹤和監(jiān)督;</p><p> ?。?)訂單結算不能夠及時處理;</p><p> ?。?)管理者難以對訂單數據重復利用[3]。</p>
27、<p> 1.4 論文組織結構</p><p> 圖1-1 論文組織結構圖</p><p><b> 第二章 系統(tǒng)概述</b></p><p><b> 2.1 需求分析</b></p><p> 進貨訂單管理系統(tǒng)用戶有兩大類,前臺的用戶是進貨員,后臺的用戶是系統(tǒng)管理員,也就是企
28、業(yè)的管理者。</p><p> 一、前臺用戶需求(進貨員)</p><p> 訪問系統(tǒng)的用戶在未登錄的時候,不可以查看供應商信息、商品信息,更不可以隨意生成訂單;系統(tǒng)需要提供新的進貨員可以注冊為系統(tǒng)新用戶的功能;登錄系統(tǒng)的進貨員可以查看供應商信息、搜索指定的供應商信息,可以查看商品信息、搜索指定的商品信息,可以瀏覽個人名下的訂單信息;進貨員發(fā)現商品需要進貨的時候,可以生成訂單;新生成的
29、訂單狀態(tài)都是未執(zhí)行的狀態(tài),只有在后臺的管理員授權可以執(zhí)行訂單,進貨員才可以執(zhí)行訂單。</p><p> 前臺用戶——進貨員的用例圖如下圖所示:</p><p> 圖2-1 進貨員用例圖</p><p> 二、后臺管理員需求(企業(yè)管理者)</p><p> 前臺需要提供鏈接可以直接進入后臺管理系統(tǒng);</p><p&g
30、t; 企業(yè)管理者以管理員身份登錄系統(tǒng),查看訂單狀態(tài),對新生成的訂單授權進貨員去執(zhí)行;可以增加、刪除、修改供應商信息,同樣可以管理商品信息和用戶信息;可以凍結已經注冊的進貨員,使其無法登錄系統(tǒng)。</p><p> 后臺用戶——企業(yè)管理者的用例圖如下圖所示:</p><p> 圖2-2 管理者用例圖</p><p> 2.2 主要實現技術</p>
31、<p><b> 2.2.1 JSP</b></p><p> 作為本課題設計的系統(tǒng)的前端顯示技術,JSP的全稱是Java Server Pages,是一種由Sun公司倡導,許多公司參與建立的一種動態(tài)網頁技術的標準。我們可以類比ASP技術來學習JSP,開發(fā)出屬于我們自己的JSP頁面。</p><p> 前端使用JSP開發(fā),有一個很大的好處,就是所開發(fā)出
32、來的Web應用同樣是跨平臺的,可以在Linux操作系統(tǒng)下運行,也可以在其他操作系統(tǒng)上運行。后端使用Java代碼可以實現操作數據庫,進行增、刪、改、查,也可以重定向網頁等,從來達到實現動態(tài)網頁所需要功能的目的。</p><p> 不論是Servlet還是JSP,它們都是在服務器端執(zhí)行的,通常返回該客戶端的就是一個HTML的文本文件,因此,瀏覽器就是在解析HTML文件而已。</p><p>
33、 之所以選擇JSP是因為JSP有以下明顯的優(yōu)勢:第一點,JSP和Java程序一樣,可以輕松實現一次編寫,到處運行;第二點,基本上可以做到開發(fā)環(huán)境任意選,部署環(huán)境任意選,擴展環(huán)境也任意選,相比ASP/PHP的局限性,JSP有這一明顯的優(yōu)勢。</p><p> 2.2.2 JavaBean</p><p> JSP對于在Web應用中集成JavaBean組件提供了良好的支持。這種支持主要體
34、現在代碼復用,縮短了開發(fā)時間。JavaBean組件可以用來執(zhí)行復雜的計算任務,負責與數據庫的交互,實現具體業(yè)務邏輯的封裝等,在JSP程序中常用來封閉事務邏輯、數據庫操作等,可以很好地實現業(yè)務邏輯和前臺程序(如JSP文件)的分離[8]。</p><p> 使用JavaBean可以減少JSP中的Java代碼量,而且能把應用的表達層和邏輯層分開,網頁設計人員可以只關心頁面的規(guī)劃,而Java程序員可以專心開發(fā) Java
35、Bean[6]。</p><p> 2.2.3 JQuery</p><p> JQuery是一個非常好的JavaScript框架,也是輕量級的JS庫,不僅很好的兼容CSS,還兼容各種瀏覽器。腳本語言的好處,就是讓用戶使用系統(tǒng)時的體驗更好。比如可以動態(tài)的校驗用戶填寫的表單數據,實現數據顯示的變化,也可以實現動畫效果,并且方便地為網站提供AJAX交互。還有,JQuery有一個特別大的優(yōu)勢
36、,就是它擁有非常全面的文檔說明,還有很多成熟的插件可供選擇,更沒有瀏覽器的兼容性問題,幫助開發(fā)設計人員減輕了負擔。</p><p> 本系統(tǒng)初步規(guī)劃,使用了JQuery腳本語言,優(yōu)化用戶體驗。比如,可以在新用戶注冊頁面,還有查詢顯示單行數據時,依靠JQuery來處理來實現的。</p><p> 2.2.4 AJAX</p><p> AJAX是每個網站都必須用
37、到的技術,可以用戶創(chuàng)建快速動態(tài)網頁。我們可以在網頁的后臺和服務器進行少量的數據交換,是網頁實現異步更新。也就是說,網頁可以在不重新加載整個頁面的情況下,進行部分更新。</p><p> 本系統(tǒng)初步設想,有檢測用戶名的功能,那么就可以使用AJAX來實現,和服務器進行少量數據交換就可以。</p><p> 圖2-3 JavaScript遠程腳本原理圖[4]</p><p
38、> 2.3 開發(fā)及運行環(huán)境</p><p> 計算機操作系統(tǒng):Windows7 旗艦版</p><p> 數據庫管理軟件:SQL Server 2008</p><p> 系統(tǒng)開發(fā)工具軟件:Eclipse</p><p> 系統(tǒng)運行服務器:Tomcat7</p><p> 單元測試工具:JUnit4&
39、lt;/p><p> 第三章 系統(tǒng)概要設計</p><p><b> 3.1 模塊設計</b></p><p> 從前面的需求分析中得知,必須應該把系統(tǒng)分為前臺和后臺兩個部分來設計,因此模塊也分為兩大類:前臺模塊和后臺模塊。</p><p> 進貨員在前臺系統(tǒng)的注冊、登錄功能,以及登錄后修改個人的注冊信息的功能組合在
40、一起構成注冊登錄模塊。進貨員在未登錄的時候只可以瀏覽進貨訂單列表,登錄后,進貨員才可以搜索并瀏覽商品信息,搜索并瀏覽供應商信息,查詢個人賬戶下的訂單執(zhí)行情況。在商品信息,以及供應商信息的基礎上,用戶可以生成進貨訂單,等到管理員授權再執(zhí)行采購計劃。</p><p> 后臺也有相應的管理員登錄模塊。進入后臺管理系統(tǒng)后,模塊應該有用戶權限管理,訂單信息管理,商品信息管理(添加,刪除,查詢),供應商管理(添加,刪除,查
41、詢)這幾個模塊。</p><p> 圖3-1為系統(tǒng)模塊總圖:</p><p> 圖3-1系統(tǒng)模塊總圖</p><p> 3.1.1 前臺模塊設計</p><p> ?。?)注冊登錄模塊:進貨員可以注冊、登錄、修改個人信息;</p><p> 圖3-1-1 注冊登錄模塊</p><p>
42、?。?)供應商查詢模塊:進貨員登錄可以查詢、瀏覽供應商信息;</p><p> (3)商品查詢模塊:進貨員登錄可以查詢商品信息,查詢供應商信息;</p><p> ?。?)訂單查詢模塊:進貨員登錄可以查詢個人賬戶下的訂單信息;</p><p> ?。?)訂單生成模塊:在商品信息以及供應商信息的基礎上,用戶可以生成進貨訂單。</p><p>
43、 3.1.2 后臺模塊設計</p><p> ?。?)訂單管理模塊:企業(yè)管理者可以授權進貨員是否執(zhí)行訂單;</p><p> ?。?)供應商管理模塊:企業(yè)管理者可以對供應商信息進行管理,包括增加、刪除、修改、查詢;</p><p> (3)商品管理模塊:企業(yè)管理者可以對商品信息進行管理,包括增加、刪除、查詢;</p><p> ?。?)用
44、戶管理模塊:企業(yè)管理者可以對注冊成功的用戶進行賬戶的凍結和解凍,為其是否可以登錄系統(tǒng)設置權限。</p><p><b> 3.2 數據庫建模</b></p><p> 本系統(tǒng)所要連接的數據庫需要存儲登錄系統(tǒng)的用戶信息,供應商信息,商品信息,訂單信息,四張表。對于數據庫表的設計,計劃通過使用PowerDesigner建模來實現,先建立概念數據模型,生成邏輯數據模型,
45、再生成物理數據模型,最后生成數據庫腳本文件,最終實現表的創(chuàng)建。</p><p> 3.2.1 概念數據模型</p><p> 概念數據模型的英文全稱是Conceptual Data Model,簡稱CDM。使用PowerDesigner輔助數據庫設計,其中的概念數據模型(CDM)可由E-R模型細化而建立,CDM是對現實應用實體及實體間聯(lián)系的抽象表示,使用CDM描述數據表及相關關系可以方
46、便系統(tǒng)理解,有利于系統(tǒng)的設計和維護,并且可以方便轉換成基于某種具體的DBMS的物理數據模型(PDM)[5]。</p><p> (1)使用PowerDesigner畫出先繪出所有的實體,如下圖所示:</p><p><b> 圖3-1 用戶信息</b></p><p><b> 圖3-2 商品信息</b></p
47、><p><b> 圖3-3供應商信息</b></p><p><b> 圖3-4 訂單信息</b></p><p> (2)繪制的概念數據模型:</p><p> 正確的繪制企業(yè)進貨訂單管理系統(tǒng)的E-R模型,也就是概念數據模型圖,是數據庫設計成功的第一步,不僅要將涉及的所有實體及其屬性正確繪出
48、,還要準確判斷各實體之間的聯(lián)系,因為這對后面生成邏輯和物理數據模型很重要,如果這一步出錯,外鍵的生成也將會出錯,直接導致數據庫的設計也將不會成功。</p><p> 分析之后,我們得到了企業(yè)進貨訂單管理系統(tǒng)的概念數據模型圖,如下圖所示:</p><p> 圖3-5 概念數據模型圖</p><p> 3.2.2 邏輯數據模型</p><p&g
49、t; 邏輯數據模型的英文全稱是Logic Data Model,簡稱LDM。</p><p> 利用繪制的概念數據模型生成的邏輯數據模型如下圖所示:</p><p> 圖3-6 邏輯數據模型圖</p><p> 3.2.3 物理數據模型</p><p> 邏輯數據模型的英文全稱是Physical Data Model,簡稱PDM。&
50、lt;/p><p> 利用繪制的概念數據模型生成的物理數據模型如下圖所示:</p><p> 圖3-7 物理數據模型圖</p><p><b> 3.3 界面設計</b></p><p> 頁面布局將通過使用標簽<jsp:include page=“……"/>將Jsp頁面進行嵌套組合,配合<
51、;table/>標簽來實現。</p><p> 圖3-8 頁面布局設計圖</p><p> 以下四個頁面是系統(tǒng)中所有頁面所共用的,是實現頁面布局的公共資源:</p><p> 導航欄——前臺系統(tǒng)命名為top.jsp,后臺系統(tǒng)命名為top_m.jsp;</p><p> 注冊、登錄、公告——left.jsp;</p>
52、<p> 版權信息——copyright.jsp。</p><p> 第四章 系統(tǒng)詳細設計與實現</p><p> 4.1 前臺系統(tǒng)實現</p><p> 進貨員是前臺系統(tǒng)的唯一用戶,進貨員訪問系統(tǒng),首先看到的是系統(tǒng)所有的進貨訂單列表,登錄系統(tǒng)后,可以查詢供應商信息,商品信息,和個人名下的所有訂單以及執(zhí)行情況,有進貨需求的商品則可以生成訂單。&l
53、t;/p><p> 4.1.1 前臺主界面</p><p> 當進貨員訪問系統(tǒng)時,系統(tǒng)主界面如下圖所示:</p><p> 圖4-1 系統(tǒng)前臺主界面</p><p> 在系統(tǒng)的左邊是登錄窗口,以及網站公告版,右邊顯示的是所有進貨訂單的列表信息。進貨員未登錄的時候,只可以瀏覽進貨訂單列表,只有登錄之后,才可以訪問其他四個模塊。</p&
54、gt;<p> 4.1.2 用戶注冊模塊</p><p> 用戶注冊信息填寫完畢后,點擊“確定保存”,若該用戶名不存在,則注冊成功,用戶資料修改頁面也跟這個界面類似。</p><p> 新用戶注冊時,如果用戶名為空時,單擊[檢測用戶名],提示信息如下:</p><p> 圖4-2 新用戶注冊——用戶名為空時檢測</p><p
55、> 新用戶注冊,如果用戶名存在時,單擊[檢測用戶名],提示信息如下:</p><p> 圖4-3 新用戶注冊——用戶名已經存在時檢測</p><p> 圖4-4 新用戶注冊——用戶名可以使用時檢測</p><p> 新用戶注冊,信息填寫正確,JQuery校驗提示隱藏,如下圖所示:</p><p> 圖4-5 新用戶注冊——信息
56、填寫正確</p><p> 圖4-6 新用戶注冊——單擊提交</p><p> 新用戶注冊,信息填寫有誤,JQuery校驗提示顯示,信息為空時進行提示,兩次密碼輸入不一致進行提示,Email格式不正確也進行提示,如下圖所示:</p><p> 圖4-7 新用戶注冊——信息填寫有誤</p><p> 圖4-8 用戶登錄成功</p&
57、gt;<p> 圖4-9 會員資料修改</p><p> 4.1.3 供應商查詢模塊</p><p> 進貨員登錄后,可以根據供應商編號或者供應商姓名查詢對應的供應商信息,也可以瀏覽所有的供應商信息。</p><p> 圖4-10 供應商信息瀏覽</p><p> 圖4-11 根據供應商編號查詢</p>
58、<p> 圖4-12 根據供應商名稱查詢</p><p> 圖4-13 根據供應商編號和名稱查詢</p><p> 4.1.4 商品查詢模塊</p><p> 點擊商品查詢,進入商品查詢界面,在商品列表中,將列出所有的商品信息,進貨需求表示當前商品的庫存量信息,分為有貨存或者需進貨兩種庫存信息。進貨員可以根據商品編號或者商品名稱查詢對應的商品信息,
59、也可以瀏覽所有的商品信息。如果有商品有進貨需求,單擊則可以生成對應的商品訂單信息。</p><p> 下圖為商品查詢界面:</p><p> 圖4-14 商品信息瀏覽</p><p> 圖4-15 根據商品編號查詢</p><p> 圖4-16 根據商品名稱查詢</p><p> 圖4-17 根據商品編號和名
60、稱查詢</p><p> 4.1.5 訂單查詢模塊</p><p> 進貨員可以查詢自己名下的所有訂單:</p><p> 圖4-18 查詢個人名下訂單</p><p> 4.1.6 訂單生成模塊</p><p> 訂單生成界面將根據所選的進貨商品,產生相應的進貨訂單。</p><p>
61、; 圖4-19 生成訂單</p><p> 圖4-20 訂單生成成功</p><p> 4.2 后臺系統(tǒng)實現</p><p> 后臺的用戶是系統(tǒng)管理員</p><p> 4.2.1 后臺主界面</p><p> 當管理員訪問系統(tǒng)時,登錄系統(tǒng)主界面如下圖所示:</p><p> 圖4
62、-21 管理員登錄后臺入口</p><p> 圖4-22 密碼錯誤是無法登錄</p><p> 圖4-23 密碼正確進入后臺主頁</p><p> 圖4-24 單擊“執(zhí)行”提示信息</p><p> 管理員進入后臺主頁以后,首先看到的是訂單管理模塊,在這個模塊中,管理員可以對新生成的訂單進行授權執(zhí)行,這樣,進貨員登錄系統(tǒng)后,看到訂單已
63、經授權執(zhí)行,就可以進行采購計劃了。</p><p> 4.2.2 供應商管理模塊</p><p> 供應商管理模塊中,可以進行供應商信息的添加、刪除、修改。</p><p> 圖4-25 供應商管理主界面</p><p> 圖4-26 添加供應商信息</p><p> 圖4-27 信息添加成功提示語</
64、p><p> 圖4-28 信息刪除成功提示語</p><p> 在跳轉到供應商信息修改界面中后,所有的信息都是預置在表單當中的,用戶可以在表單中修改,修改完成,點擊提交,如下圖所示:</p><p> 圖4-29 供應商信息修改</p><p> 4.2.3 商品管理模塊</p><p> 點擊用戶管理界面中右側
65、的“凍結/解凍”按鈕,就可完成用戶權限管理。訂單管理界面跟此界面差不多。</p><p> 圖4-30 商品管理主界面</p><p> 圖4-31 添加商品信息</p><p> 4.2.4 用戶權限管理模塊</p><p> 點擊用戶管理界面中右側的“凍結/解凍”按鈕,就可完成用戶權限管理,控制已經注冊用戶的訪問權限。</p
66、><p> 圖4-32 用戶管理主界面</p><p> 圖4-33 用戶凍結成功提示信息</p><p> 圖4-34 用戶解凍成功提示信息</p><p><b> 4.3 數據庫實現</b></p><p> 在此進貨訂單管理系統(tǒng)中,將主要實現用戶信息,商品信息,供應商信息,訂單信息的
67、管理。數據庫中需要存放四張表,分別為用戶表(users),商品表(goods),供應商表(suppliers),訂單表(orders)。</p><p> 前面,我們數據庫建模已經成功,之后,我們就可以利用前面建立好的物理數據模型,生成數據庫腳本文件,命名為OrderManage.sql,然后在SQL Server 2008中,先創(chuàng)建一個名為“OrderManage”的數據庫,再執(zhí)行OrderManage.sq
68、l”數據庫腳本文件,即可在數據庫中創(chuàng)建完成4個表,如下圖所示:</p><p> 圖4-35 數據庫創(chuàng)建成功</p><p><b> 1.用戶信息表:</b></p><p> 圖4-36 創(chuàng)建users表</p><p> 用戶信息表存放用戶的信息,用戶登錄的通行證是用戶名和密碼,所以用戶數據表中必須包含字段
69、userID表示用戶名、字段userPassword表示登錄密碼兩個信息,還有些其他的一些信息,比如userFreeze指的是用戶賬戶狀態(tài),狀態(tài)為凍結時字段的值為1,狀態(tài)為解凍時字段的值為0。</p><p><b> 2.商品信息表:</b></p><p> 圖4-37 創(chuàng)建goods表</p><p> 商品信息表主要描述進貨訂單管
70、理系統(tǒng)中的商品信息,其中字段goodID是商品ID號(此ID號為系統(tǒng)使用算法自動生成的),字段goodName是商品名稱,字段goodPrice是商品價格,字段goodNum是商品數量,字段goodProductor是商品生產商,字段goodState是商品狀態(tài)(主要描述商品庫存量是否足夠,是否要進貨)。</p><p><b> 3.供應商信息表:</b></p><
71、p> 圖4-38 創(chuàng)建supplier表</p><p> 供應商信息表主要描述供應商的一些相關信息,如字段supplierID是供應商ID(此ID和商品ID一樣,是系統(tǒng)使用算法自動生成的),還有字段supplierName是供應商名稱, 字段supplierAddress是供應商聯(lián)系地址,字段supplierEmail是供應商Email,字段supplierTel是供應商聯(lián)系電話。</p>
72、<p><b> 4.訂單信息表:</b></p><p> 圖4-39 創(chuàng)建orders表</p><p> 訂單信息表描述生成訂單所需要的信息,如字段orderID是訂單ID,字段userID是經手人ID,字段ordrePay是支付方式,字段orderCarry是運送方式,字段orderDate是訂單生成日期,字段orderNum是訂單中的商品
73、數量,字段orderPrice是訂單中的商品價格,字段orderState是訂單狀態(tài),字段supplierID是商品供應商。</p><p> 4.4 算法設計與實現</p><p> 4.4.1 分頁算法</p><p> ?。?)算法中涉及到的變量如下:</p><p> recordCount——待顯示的記錄總數</p>
74、;<p> pageSize——每頁顯示的記錄數</p><p> recordCount%pageSize——判斷要顯示的總頁數</p><p> maxPage——需要顯示的總頁數</p><p> ?。?)將待顯示的記錄總數和每頁顯示的記錄數進行相除運算,能整除,則相除得到的結果就是需要顯示的總頁數;不能整除,則相除得到的結果需要加1,用來
75、顯示余下的記錄數,用代碼表示如下:</p><p> if(recordCount % pageSize == 0)</p><p> maxPage = recordCount/pageSize;</p><p><b> else</b></p><p> maxPage = recordCount/page
76、Size + 1;</p><p> ?。?)request中以get方式傳遞待顯示頁碼Page(此處將變量Page的首字母大寫是為了與作用域變量page進行區(qū)分),可以實現頁碼傳遞的代碼表示如下:</p><p> String strPage=(String)request.getParameter("");</p><p> int p
77、age = Integer.parseInt(strPage);//page是待顯示頁碼</p><p> if(strPage == null)//如果剛開始request.getParameter(),得到的是空值</p><p><b> page = 1;</b></p><p> else if(((page-1)*page
78、Size+1)>recordCount){//如果在最后一頁</p><p> page=maxPage;</p><p><b> }</b></p><p> 4.4.2 主鍵值生成算法</p><p> 聲明的變量s為各個表作為主鍵字段的前綴字符串,一張表中的每條記錄都是一樣的,而后面三位,則是由算
79、法隨機生成的,具體代碼如下:</p><p> String s = "…….";</p><p> String arrykey[] = { "0", "1", "2", "3", "4", "5", "6", "7
80、", "8",</p><p> "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K&qu
81、ot; };</p><p> Random x = new Random();</p><p> for (int i = 1; i <= 3; i++) {</p><p> String temp = "";</p><p> int tempnum = x.nextInt(21);</p>
82、<p> temp = arrykey[tempnum];</p><p> s = s + temp;</p><p><b> }</b></p><p> 可以看出,for循環(huán)中語句的執(zhí)行次數為3次,每次隨機生成一個0-20的整數,然后以這個整數為數組下標,找到數組中元素對應的值,隨機進行組合。</p>
83、<p> 4.5 漢字亂碼解決方法</p><p> 在前端和后端通信的時候,必須在對request和response對象進行操作的時候,設置統(tǒng)一的編碼方式,中文可以設置為GBK、GB2312,也可以和JavaScript文件的編碼方式一樣,設置為UTF-8,總之,只要前端、后端采用的編碼統(tǒng)一,就可以解決漢字亂碼問題,設置表單中數據編碼方式的代碼如下:</p><p>
84、request.setCharacterEncoding("utf-8");</p><p> response.setCharacterEncoding("utf-8");</p><p> 在引入JS文件的時候,需要先在引入JS文件的頁面中設置編碼方式為UTF-8,代碼如下:</p><p> <script
85、src="……" type="text/javascript" charset="utf-8"></script></p><p> 同時,還需要設置JS文件在Eclipse中的編碼,如下圖所示:</p><p> 圖4-40 設置JS文件所在文件夾編碼為UTF-8</p><p>
86、 4.6 訪問權限控制</p><p> 本系統(tǒng)的很多頁面都是需要用戶登錄之后才可以訪問的,所以必須進行權限控制。</p><p><b> 實現的方法:</b></p><p> ?。?)在需要控制訪問權限的頁面起始處,添加:<jsp:include page=“safe.jsp”/>;</p><p>
87、; ?。?)在safe.jsp頁面中,使用:session.getAttribute("UserName");</p><p> 在session中取參數,判斷用戶名是否為空,作為是否登錄、是否擁有訪問頁面權限的依據,代碼如下:</p><p> if (session.getAttribute("UserName") == null) {<
88、;/p><p> out.println("<script language='javascript'>alert('您還沒有登錄!');</p><p> window.location.href=' /OrderManage/OMApp/index.jsp';</script>");</p
89、><p><b> }</b></p><p> 圖4-41 前臺系統(tǒng)未登錄提示信息</p><p> 圖4-42 后臺系統(tǒng)未登錄提示信息</p><p> 單擊確定后,返回index.jsp頁面,進行登錄。</p><p><b> 第五章 系統(tǒng)優(yōu)化</b></
90、p><p> 在系統(tǒng)的大部分功能都已經開發(fā)完成后,仍然發(fā)現系統(tǒng)中存在大量的冗余代碼,可讀性和可維護性都很差,所以,需要對系統(tǒng)進行優(yōu)化。</p><p> 5.1 冗余代碼合并</p><p> 系統(tǒng)中,頁面上最多的冗余代碼就是CSS樣式,由于系統(tǒng)頁面布局都是通過<table/>標簽的嵌套來實現的,所以,頁面不同位置的<table/>就有不同
91、的樣式,最初開發(fā)的時候,沒有對每一個頁面的布局有太細的規(guī)劃,所以,在開發(fā)的過程中,我在每個頁面中都寫了大量的CSS樣式來實現頁面布局,這樣隨著開發(fā)的進行,頁面越來越多,重復的CSS代碼也就越來越多,一旦想更改樣式,每一個頁面都要更改,工作量非常大,于是,對頁面上的CSS代碼進行提取和優(yōu)化就顯得十分必要。</p><p> 主要的優(yōu)化工作,就是對不同位置的<table/>標簽設置不同的class屬性,
92、然后,將頁面上共同的CSS樣式代碼放在table.css文件中,這樣一來,想調整樣式,只需要改變table.css文件就可以,而不再需要在頁面中一一修改。</p><p> 對頁面上CSS樣式代碼的優(yōu)化,不僅提高的了開發(fā)效率,使維護系統(tǒng)變的更加容易,而且更使頁面看起來干凈整潔。</p><p> 優(yōu)化的時候,將所有<table/>標簽的class屬性指定不同的值,從而在ta
93、ble.css文件中,進行樣式的控制,頁面中的代碼如下圖所示:</p><p> 圖5-1 <table/>標簽中的class屬性</p><p><b> 5.2 歸類頁面</b></p><p> 為了開發(fā)的方便,我在最初寫代碼的時候,將所有的頁面都放在根目錄下,隨著頁面的增多,查找起來非常的不方便,而且,程序一打開就看到
94、所有的頁面,視覺上也非常的不舒服,這時,對已開發(fā)好的所有頁面進行歸類就顯的非常重要了。當然,在歸類頁面的時候會出現很多問題,涉及到<a/>標簽鏈接地址的修改,資源加載路徑的正確性考慮等等。</p><p> 經過一天的不斷的嘗試,我終于總結出幾點在歸類頁面時應該注意的問題,首先,比如頭文件top.jsp、top_m.jsp,左側的登錄和公告欄頁面left.jsp,還有底部的文件copyright.j
95、sp等等,都是很多頁面共同引用的,所以,在引用這些公共的資源文件的時候,要使用絕對路徑,防止在不同的位置進行訪問時出現問題。而對于非公共資源,它們的訪問路徑則相對簡單,只要設置相對路徑可以了。</p><p> 當然,對頁面歸類之后,要進行大量的測試,確保頁面之間的跳轉要正確,不能報404錯誤。</p><p> 圖5-2 優(yōu)化后的頁面目錄結構</p><p>
96、 5.3 JQuery前端校驗</p><p> 使用JQuery對表單信息進行校驗,使用AJAX異步驗證表單數據的正確性,都可以使用戶體驗得到提升。</p><p> 比如,最初的注冊頁面,沒有任何腳本語言的校驗,只要用戶填寫了注冊信息,然后提交就可以注冊成功,但是如果用戶注冊的通行證已經存在,就會由于主鍵沖突而注冊失敗,但是用戶卻不知道什么原因,或者,用戶填寫了格式錯誤的Emai
97、l也可以注冊成功。所以,為了改進這些,就必須使用腳本語言來對表單數據進行校驗,實現用戶體驗效果的大幅提升。</p><p> 下面簡要介紹用JavaScript的輕量級框架——JQuery來實現的新用戶注冊信息校驗:</p><p> 圖5-3 用戶注冊校驗信息實現過程</p><p> (1)使用<span class="required&q
98、uot;></span>在JSP頁面中預設一個區(qū)域用來顯示紅色“*”,意為用戶必填的表單信息,配合JQuery中如下代碼:</p><p> 圖5-4 可使頁面顯示紅色“*”的JQuery代碼</p><p> ?。?)檢測用戶通行證是否已經存在的AJAX調用代碼:</p><p> 圖5-5 檢測通行證的AJAX調用代碼</p>
99、<p> 圖5-6 表單信息校驗代碼(部分)</p><p><b> 第六章 系統(tǒng)測試</b></p><p> 到了最后的測試階段,系統(tǒng)的主要功能都已經基本實現,現在的工作就是要對系統(tǒng)的實現所有功能進行測試</p><p><b> 6.1 單元測試</b></p><p>
100、 單元測試主要是使用在Eclipse中集成的JUnit4,對JSP頁面中調用的接口進行測試,由于系統(tǒng)功能的實現需要大量操作數據庫的接口,如果不對接口進行測試而直接在頁面中調用,一旦出現錯誤,查找起來會比較困難,反之,如果對開發(fā)的接口都進行了單元測試,保證在頁面中調用的接口都是正確的,那么,查找問題就會變得比較容易,開發(fā)速度自然也就變快了。</p><p> 作為一種單元測試工具JUnit4的一大好處就是我們無
101、需編寫業(yè)務代碼,運用簡單的斷言來驗證對錯即可[7]。</p><p> 以對UserBean中的getAlluser()方法為例,單元測試的方法如下:</p><p> ?。?)新建一個工程專門用來做單元測試,命名為OrderManageTestPro,由于需要對OrderManage這個項目中的類和方法做單元測試,所以,需要將OrderManage中的src以Link Source的方
102、式加入到新建的測試工程當中,當然為了不與原工程中的src文件夾沖突,必須進行重命名,如下圖所示:</p><p> 圖6-1 Link Source</p><p> ?。?)新建JUnit Test Case</p><p> 圖6-2 新建測試類</p><p> 圖6-3 測試方法代碼</p><p>
103、圖6-4 測試通過顯示結果</p><p> 圖6-5 測試失敗顯示結果</p><p> 最后,按照類似的方法,對需要進行單元測試的方法逐個進行測試,盡早發(fā)現問題并處理,提高開發(fā)效率。</p><p><b> 6.2 功能測試</b></p><p> 本系統(tǒng)涉及的業(yè)務和功能雖然不算復雜,但是進行功能測試也是
104、十分必要的,需要把頁面中涉及的所有元素都要考慮到。最直觀的,要看css文件、js文件、image圖片是否加載正確,顯示是否正常。再者,看頁面中對表單的操作是否都可以正確提交到數據庫保存,還有超鏈接是否鏈接正確。</p><p><b> 6.3 測試結果</b></p><p> 在單元測試和功能測試結束后,可以得出結論:基本滿足了用戶需求,具有一定的可行性和實用
105、價值。</p><p><b> 總結與展望</b></p><p> 本次畢業(yè)設計,從對課題的分析,到對系統(tǒng)需求的分析,再到系統(tǒng)的編碼實現,經歷了幾個月的時間。過程雖然漫長,卻也在實踐中學到了許多知識,也積累不少實際開發(fā)的經驗。</p><p> 在設計和實現數據庫的時候,我學到了很多有關數據庫設計方面的知識,明確了數據庫建模工具在數據
106、庫設計當中扮演著非常重要的角色,其中PowerDesigner就是一個我們應該熟練掌握的數據庫建模軟件,用PowerDesigner來繪制CDM,得到E-R模型圖,是數據庫設計的第一步,如果我們能夠通過先建模再來創(chuàng)建數據庫和相關的表,可以很大程度上提高項目開發(fā)中的工作效率。希望以后有更多的機會參與到數據庫的設計當中,也希望我以后可以更加熟練的運用PowerDesigner這個優(yōu)秀的建模工具軟件。</p><p>
107、 在設計和實現系統(tǒng)的時候,遇到了很多技術上的問題,少不了通過查找各種資料搜索問題的答案。進貨訂單管理系統(tǒng),作為企業(yè)訂單管理系統(tǒng)的一個分支系統(tǒng),是企業(yè)實現商品自動化管理不可缺少的一部分。我的實現技術是JSP,以前對JSP的認識很淺顯,但是經過邊做邊學的過程,我對JSP技術有了更深刻的理解和認識。</p><p> 因為缺乏實際的開發(fā)經驗,在準備階段耗費了很多時間調查研究進貨訂單的生成流程,但是,由于用戶信息管理
108、,商品信息管理,供應商信息管理在功能實現上使用了類似的方法,因此設計上沒有花費太多時間,但是細節(jié)上的實現問題還是花了很多的時間。當調試出現問題時,必須先看Console控制臺的日志,查看錯誤信息,定位到具體的某一行的代碼,進行解決。遇到不太容易解決的,可以使用debug模式,逐行調試。</p><p> 在實際開發(fā)畢業(yè)設計的過程中,我積累了很多有關數據庫建模和小型系統(tǒng)開發(fā)的經驗,還有一些常用的技巧。同時,我也認
109、識到自己沒有把很多知識理解透,更不能很好的將理論和實際結合起來。</p><p> 雖然系統(tǒng)的開發(fā)告一段落,但我深知,自己的系統(tǒng)當中還存在很多的不足有待完善,畢業(yè)之后,我會繼續(xù)完善和改進自己的程序,爭取做到更好。</p><p><b> 參考文獻</b></p><p> [1] 孫小錐,上官右黎,文福安. 基于輕量級J2EE框架的網絡
110、教學系統(tǒng)[J].計算機工程,2008,34(6):266-267.</p><p> [2] 莊麗. 企業(yè)訂單管理系統(tǒng)的設計與實現[D].吉林大學,2012.</p><p> [3] 吳曼霞. 企業(yè)訂單跟蹤管理系統(tǒng)的設計與實現[D].電子科技大學,2012.</p><p> [4] 鄭勇,盧捍華,孫雁飛,閔麗娟,王亞石. 基于Ajax和CORBA中間件的分
111、布式訂單管理系統(tǒng)[J]. 計算機技術與發(fā)展,2009,08:201-204.</p><p> [5] ]郭正華,楊義,郭吉萍,方平. 基于PowerDesigner的焊接企業(yè)資源數據庫建模[J]. 軟件導刊,2008,03:95-97.</p><p> [6] 彭兵,羅薇. 基于JavaBean的數據庫訪問技術[J]. 電腦知識與技術(學術交流),2007,13:21-22.<
112、;/p><p> [7] 費丹青,李思易. 單元測試工具TestNG和JUnit參數化研究[J]. 福建電腦,2011,11:44-45+13.</p><p> [8] 趙曉峰. 基于JSP與JavaBean技術的Web應用開發(fā)[J]. 深圳信息職業(yè)技術學院學報,2005,Z1:39-43.</p><p><b> 致 謝</b><
113、;/p><p> 畢業(yè)設計的完成,為我的大學生活畫上了一個圓滿的句號,雖然,這個過程中遇到了許多困難,卻因為許多人對我的幫助和支持,而變得特別有意義。我將會永遠記住最后努力拼搏的日子。</p><p> 我要非常感謝**老師在我大學的最后一個學習階段——完成畢業(yè)設計階段給自己的指導和幫助。沒有他們,我不可能如此順利的完成自己大學生涯的最后作業(yè),也不可能學到這么多讓我終身受用的寶貴經驗。從最
114、初的定題,到資料收集,到分析講解,到實際開發(fā),再到寫作、修改,到論文定稿,他們給了我耐心的指導和無私的幫助。為了指導我的畢業(yè)論文,老師放棄了自己的休息時間,他們的這種無私奉獻的敬業(yè)精神令人欽佩。在此我向他們表達我發(fā)自內心的感激之情。</p><p> 同時,感謝所有任課老師和所有同學在這四年來給我的指導和幫助,是他們教會了我專業(yè)知識,教會了我如何學習,教會了我如何做人。正是由于他們,我才能在各方面取得顯著的進步
115、,在此向他們表示我由衷的謝意,并祝所有的老師培養(yǎng)出越來越多的優(yōu)秀人才,桃李滿天下!</p><p> 一切的努力都是值得的,我的畢業(yè)論文——《企業(yè)進貨訂單管理系統(tǒng)的設計與實現》終于完成了,這意味著大學生活即將結束,我也將步入新的環(huán)境,開始新的生活。在大學階段,我在學習上和思想上都受益非淺,這除了自身的努力外,與各位老師、同學和朋友的關心、支持和鼓勵是分不開的。</p><p> 在本論
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)訂單管理系統(tǒng)畢業(yè)論文
- 商店進銷管理系統(tǒng)——進貨模塊設計與開發(fā)【畢業(yè)論文】
- 商店進銷管理系統(tǒng)—進貨模塊設計與開發(fā)【畢業(yè)論文】
- 畢業(yè)論文-企業(yè)員工管理系統(tǒng)的設計與實現
- 畢業(yè)論文——企業(yè)員工管理系統(tǒng)的設計與實現
- 畢業(yè)論文-企業(yè)員工管理系統(tǒng)的設計與實現
- 企業(yè)論壇管理系統(tǒng)的設計與實現-畢業(yè)論文
- 企業(yè)知識管理系統(tǒng)的設計與實現-畢業(yè)論文
- 畢業(yè)論文——企業(yè)員工管理系統(tǒng)的設計與實現
- 畢業(yè)論文(設計)企業(yè)員工管理系統(tǒng)的設計與實現
- 商店進銷管理系統(tǒng)——進貨模塊開發(fā)與設計畢業(yè)論文.doc
- idingfan訂餐系統(tǒng)訂單模塊的設計與實現[畢業(yè)論文]
- 企業(yè)項目管理系統(tǒng)的設計與實現_畢業(yè)論文設計1
- 畢業(yè)論文-企業(yè)員工管理系統(tǒng)的設計與實現---副本
- 畢業(yè)論文--企業(yè)人事管理系統(tǒng)設計與實現
- 開題報告--進貨訂單管理系統(tǒng)
- 企業(yè)在線會議管理系統(tǒng)的設計與實現[畢業(yè)論文]
- 企業(yè)人事管理系統(tǒng)的設計與實現畢業(yè)論文
- 企業(yè)人事管理系統(tǒng)設計與實現畢業(yè)論文
- 企業(yè)人事管理系統(tǒng)設計與實現畢業(yè)論文
評論
0/150
提交評論