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