版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘 要現(xiàn)代企業(yè)由于業(yè)務量巨大,需借助電子計算機的幫助進行管理從而實現(xiàn)其更好的業(yè)務運作。大連新世紀食品公司通過其在線訂單管理系統(tǒng)可以降低運營成本,實現(xiàn)采購過程標準化,減少事務性工作,提高效率,方便靈活的信息查詢服務,給企業(yè)提供更強的競爭力。本論文主要闡述如何實現(xiàn)基于struts的食品訂單管理系統(tǒng)的實現(xiàn)。食品訂單管理系統(tǒng)是基于b/s模式的應用程序,采用tomcat作為web服務器容器,采用mysql數(shù)據(jù)庫保存訂單數(shù)據(jù)。該系統(tǒng)是在b/s架構下采用struts框架設計實現(xiàn)的,采用并擴展了mvc設計模式,分成表現(xiàn)層、控制層、模型層、數(shù)據(jù)庫持久層。系統(tǒng)的開發(fā)平臺是j2ee,數(shù)據(jù)庫持久層采用hibernat
2、e框架來設計與實現(xiàn)的。食品訂單管理系統(tǒng)將從功能、運行穩(wěn)定性、數(shù)據(jù)安全性,用戶體驗度等方面研究完善食品訂單管理系統(tǒng)。通過該項目,了解并運用軟件工程所學知識,熟悉企業(yè)級的軟件開發(fā)流程,熟練使用my eclipse等開發(fā)工具、java開發(fā)語言,對spring、struts、hibernate等技術有一個全面的了解與掌握,從而更好的把握目前主流的web開發(fā)技術。關鍵詞:訂單管理系統(tǒng);struts;spring;hibernate;mvc;j2eeabstract a modern enterprise as a result of the enormous volume of business, us
3、e computer to manage in order to help better achieve its business operations. dalian new century food company, through its online order management system can reduce operating costs, achieve standardization of the procurement process and reduce transactional work, mention anything about efficiency, c
4、onvenience and flexible information services, to provide a more competitiveness. this paper focuses on how to achieve food struts-based order management system. food order management system is based on b/s mode applications, using tomcat as a web server, using oracle database data preservation order
5、s. the system is used in the bs framework struts framework designed to achieve, and expand the use of the mvc design pattern, into the performance of layer, control layer, model layer, a database persistence layer. system development platform is j2ee, database persistence layer using hibernate frame
6、work to design and implementation. food orders from the management system functionality, operation stability, data security, user experience research, such as order management systems to improve food. through the project, to understand and study the use of software engineering knowledge, are familia
7、r with enterprise-class software development processes, such as proficiency in the use of eclipse development tools, java development language, spring, struts, hibernate and other new technologies from a comprehensive understanding and grasp in order to better grasp of the current mainstream of web
8、development technologies. key words:order management system;struts;spring;hibernate;mvc;j2ee目 錄 第一章 緒論11.1 選題背景11.2 國內外現(xiàn)狀介紹11.3 內容安排2第二章 相關技術介紹32.1 軟件架構與開發(fā)平臺32.2 b/s模式javaweb開發(fā)框架介紹42.3 訂單系統(tǒng)開發(fā)環(huán)境8第三章 訂單管理系統(tǒng)需求分析103.1 功能需求103.2 非功能需求14第四章 訂單管理系統(tǒng)的設計164.1 系統(tǒng)總體設計164.2 接口設計174.3 數(shù)據(jù)庫設計20第五章 訂單管理系統(tǒng)的實現(xiàn)255.1 視圖
9、層的配置及顯示控制265.2 業(yè)務邏輯層功能實現(xiàn)275.3 數(shù)據(jù)庫持久存儲層30第六章 總結316.1 論文總結316.2 前景展望31參考文獻32外文資料中文譯文致謝第一章 緒論1.1 選題背景大連新世紀食品有限公司為了能夠及時獲得美國總公司下達的采購任務,并按照需求進行采購,并且實現(xiàn)整個業(yè)務流程電子化,希望構建一套公司的業(yè)務訂單管理系統(tǒng)。通過構建電子商務系統(tǒng),有效地解決了以前手工管理的諸多不足,提高了企業(yè)的整體管理水平,方便了企業(yè)與客戶之間的信息交流與共享,提高了企業(yè)內部的工作效率,并為企業(yè)節(jié)約了大量銷售成本,提高了企業(yè)效益,其具有的優(yōu)勢具體體現(xiàn)在以下幾方面:(1)降低運營成本:同時有效提
10、高與供應商的協(xié)同水平。另外即使供應商大量增加,運行成本增加也極為有限,甚至可以做到幾乎不增加新成本。(2)業(yè)務規(guī)范化、自動化:包括簡化了采購訂單流程,實時的交易信息查詢,公平、公開的競爭環(huán)境。(3)促使采購人員角色轉化:包括提高工作效率,轉變采購人員角色,支持決策的服務。(4)提供信息查詢服務:包括企業(yè)信息管理,信息發(fā)布平臺。綜上所述,企業(yè)級電子商務交易解決方案緊緊圍繞企業(yè)的業(yè)務的運作特點,以優(yōu)化采購流程、縮短企業(yè)與供應商的距離為目標,涵蓋企業(yè)電子商務鏈的所有需求,是為企業(yè)向互聯(lián)網(wǎng)轉型的得力工具。1.2 國內外現(xiàn)狀介紹國外,尤其是西方發(fā)達國家由于互聯(lián)網(wǎng)起步早,在電子商務方面的發(fā)展快、比我國成熟
11、、功能更完善。發(fā)達國家電子商務是商務推動型。以歐美等國為例,電子商務業(yè)務開發(fā)的如火如荼。在美國,電子商務實踐早于電子商務概念,企業(yè)的商務需求推動了網(wǎng)絡和電子商務技術的進步,并促成電子商務概念的形成。當internet時代到來的時候,美國已經(jīng)有了一個比較先進和發(fā)達的電子商務基礎。在法、德等歐洲國家,電子商務所產(chǎn)生的營業(yè)額已占商務總額的1/4,在美國則已高達1/3以上,而歐美國家電子商務的開展也不過才十幾年的時間。在美國,美國在線(aol)、雅虎、電子港灣等著名的電子商務公司在1995年前后開始賺錢,到2000年創(chuàng)造了7.8億美元,ibm、亞馬遜書城、戴爾電腦、沃爾瑪超市等電子商務公司在各自的領域
12、更是取得了令人不可思議的巨額利潤。中國電子商務始于1997年,它更多的是技術拉動型,這是在發(fā)展模式上中國電子商務與歐美的重要區(qū)別,同時這也是中國電子商務發(fā)展的一大特點。中國電子商務發(fā)展迅猛,2007年全國電子商務交易總額達2.17萬億元,比上年度增長90%。中國網(wǎng)絡購物發(fā)展迅速,2008年6月底,網(wǎng)絡購物用戶人數(shù)達到6329萬,半年內增加36.4%。截至2008年12月,電子商務類站點的總體用戶覆蓋已經(jīng)從9000萬戶提升至9800萬戶。中國第一大電子商務企業(yè)阿里巴巴08年第一季度用戶數(shù)已達6200萬,一季度交易額突破188億人民幣,同比增長170%,已接近沃爾瑪去年全年在中國市場213億元的成
13、交額。從統(tǒng)計數(shù)據(jù)上可以看出中國電子商務市場的前景和潛力都是非常巨大的,做好企業(yè)自身的電子商務平臺對于其今后的發(fā)展可謂是至關重要。1.3 內容安排本次畢業(yè)課程設計研究了解了整個企業(yè)級的業(yè)務開發(fā)流程,討論了食品訂單管理系統(tǒng)的需求分析、設計與實現(xiàn)、系統(tǒng)測試。學習并使用struts、spring、hibernate等web框架開發(fā)技術,熟悉my eclipse, mysql, tomcat等開發(fā)工具的配置,并對其熟練運用,實現(xiàn)訂單系統(tǒng)的完整編碼并測試完善,深入理解基于b/s模式的web應用程序開發(fā)的mvc三層設計的技術的實現(xiàn)原理,完善訂單管理系統(tǒng)功能,提高其可靠性,健壯性,易用性,擁有良好的用戶體驗度
14、。第二章介紹與開發(fā)系統(tǒng)相關的背景技術,包括有struts, spring, hibernate等關于mvc架構的框架知識介紹。第三章介紹訂單管理系統(tǒng)的需求分析,包括功能性與非功能性。第四章進行訂單系統(tǒng)的總體設計,包括架構設計,數(shù)據(jù)庫設計。其中架構設計包括分層架構,訂單管理模塊,用戶登錄管理等模塊設計。第五章詳細介紹訂單管理系統(tǒng)如何實現(xiàn),如何在系統(tǒng)中融入j2ee,實現(xiàn)mvc框架等技術。第六章進行論文總結與前景展望。第二章 相關技術介紹2.1 軟件架構與開發(fā)平臺本次畢業(yè)設計開發(fā)的訂單管理系統(tǒng)的使用者是分布在各個地方的,包括位于美國的總公司,中國的大連、北京等地,因而訂單管理系統(tǒng)是基于網(wǎng)絡的,根據(jù)用
15、戶需求決定采用b/s模式進行系統(tǒng)開發(fā)。b/s模式是b/s結構,即browser/server(瀏覽器/服務器)結構,隨著internet技術的興起,而發(fā)展而來,且b/s模式下最好的開發(fā)語言也是java。在這種結構下,用戶界面完全通過瀏覽器的訪問實現(xiàn),一部分事務邏輯在前端實現(xiàn),但是主要事務邏輯在服務器端實現(xiàn),形成流行的mvc結構。b/s結構利用不斷成熟和普及的瀏覽器技術實現(xiàn),并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構造技術。這種結構更成為當今應用軟件的首選體系結構,本次畢設系統(tǒng)開發(fā)將涉及到體現(xiàn)mvc設計模式的開發(fā)框架。在選擇開發(fā)語言時曾考慮過兩種方案,分別是使用微軟的c#語言與.net平臺與sun
16、公司的java語言與j2ee平臺。2.1.1 方案一:c#與.net平臺c#是微軟開發(fā)的語言,它是運行在.net平臺上的產(chǎn)品。c#是一種安全的、穩(wěn)定的、簡單的,由c和c+衍生出來的面向對象的編程語言。它在繼承c和c+強大功能的同時去掉了一些它們的復雜特性(例如沒有宏和模版,不允許多重繼承)。c#綜合了vb簡單的可視化操作和c+的高運行效率,以其強大的操作能力、優(yōu)雅的語法風格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.net開發(fā)的首選語言。它看起來與java有著驚人的相似,但是c#與java有著明顯的不同它包括了諸如單一繼承、接口、與java幾乎同樣的語法和編譯成中間代碼再運行的過程。但它與
17、java還是存在很大的不同,它借鑒了delphi的一個特點,與com(組件對象模型)是直接集成的,而且它是微軟公司.net windows網(wǎng)絡框架的主角。并且c#成為ecma與iso標準規(guī)范。c#看似基于c+寫成,但又融入其它語言如delphi、java、vb等 1。c#語言具有很多優(yōu)點,尤其是有c+基礎的話入門也很快,且個人認為.net平臺也可能成為未來的趨勢,但由于c#程序的運行需要裝有.net框架平臺的支持,而且由于c#是非開源的,如果在今后系統(tǒng)的實現(xiàn)中出現(xiàn)問題不好找到解決方案,經(jīng)過綜合考慮后還是決定選用sun公司的java語言與j2ee平臺作為開發(fā)語言與平臺。2.1.2 方案二:jav
18、a與j2ee平臺java是由已被oracle(甲骨文)收購的sun公司于1995年5月推出的java程序設計語言和java平臺的總稱。java的出現(xiàn)主要是由于互聯(lián)網(wǎng)的誕生,它是面向對象編程語言,不同于c語言是面向過程的語言,java語言的特性主要可概括為:面向對象,分布式,健壯性,安全性,體系結構中立,可移植,高性能,多線程。用java實現(xiàn)的hotjava瀏覽器由于其支持java applet充分顯示了java的魅力:跨平臺、動態(tài)的web、internet計算。java被廣泛接受并推動了web的迅速發(fā)展,常用的瀏覽器現(xiàn)在均支持java applet。另一方面,java技術也不斷更新 2。jav
19、a平臺由java虛擬機(java virtual machine)和java 應用編程接口(application programming interface、簡稱api)構成。java 應用編程接口為java應用提供了一個獨立于操作系統(tǒng)的標準接口,可分為基本部分和擴展部分。在硬件或操作系統(tǒng)平臺上安裝一個java平臺之后,java應用程序就可運行?,F(xiàn)在java平臺已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣java程序可以只編譯一次,就可以在各種系統(tǒng)中運行。java分為三個體系javase(java2 platform standard edition,java平臺標準版),javaee(java 2
20、platform,enterprise edition,java平臺企業(yè)版),javame(java 2 platform micro edition,java平臺微型版)。經(jīng)過仔細的考慮與選擇比較后,java語言的跨平臺性以及其開源性成為本次畢業(yè)設計系統(tǒng)開發(fā)選擇其的主要原因。javaee也稱為j2ee平臺,是本次畢業(yè)設計系統(tǒng)實現(xiàn)的平臺。2.2 b/s模式javaweb開發(fā)框架介紹2.2.1 struts框架在介紹struts框架之前,先介紹傳統(tǒng)的jsp模式1與jsp模式2,jsp的兩種模式分別如圖2-1與圖2-2所示:圖2-1 jsp模式1圖2-2 jsp模式2在jsp模式1架構中,jsp頁
21、面獨立地負責處理請求和發(fā)送反饋給客戶端。這里仍然有內容和表現(xiàn)的分離,因為所有的數(shù)據(jù)訪問是使用bean完成的。盡管模式1架構應該很適合簡單應用,但是對于復雜的實現(xiàn)是不可取的。這種結構的任意使用通常會導致大量的腳本和java代碼嵌入到jsp頁面中,特別是在有大量的請求需要處理的情況下。這樣的情況在開發(fā)小程序時可能不會有太大問題,但隨著程序規(guī)模的擴大,團隊人員合作完成項目時,這種開發(fā)模式將帶來極大的弊端,程序的緊耦合性,將給今后的修改,帶來極大麻煩。jsp模式2,是一個為動態(tài)內容服務的混合方案,因為它同時使用了servlet和jsp。它利用了兩種技術的優(yōu)勢,使用jsp產(chǎn)生表現(xiàn)層而servlet負責執(zhí)
22、行任務。在這里,servlet扮演控制器的角色,負責請求處理和產(chǎn)生jsp要使用的bean和對象,以及根據(jù)客戶的動作決定下一步轉發(fā)到哪一個jsp頁面。特別要注意的是jsp頁面內部并沒有處理邏輯;它只是簡單地負責取得可能是servelet事先創(chuàng)建的對象和bean,并為在了靜態(tài)模版中插入從servlet釋放出動態(tài)內容。這樣能形成表現(xiàn)與內容的分離,使得開發(fā)團隊里的程序開發(fā)者和頁面美工的角色與責任能夠清晰。程序的應用越復雜,使用模式2帶來的好處就越多。下面介紹說明幾個有關mvc設計模式的基本概念 3:框架(framework):軟件架構中的框架是指可以重用的,可復用的設計構件,其代碼可重用性較大,多用來
23、產(chǎn)生定制程序。模型(model):就是封裝了數(shù)據(jù)和所有基于這些數(shù)據(jù)的操作方法,主要是事務邏輯。視圖(view):就是封裝的用戶界面的相關信息,用于基于瀏覽器的數(shù)據(jù)顯示??刂破鳎╟ontrol):就是封裝外界作用于對數(shù)據(jù)流向的控制和模型的操作等。mvc模式:模型+視圖+控制器的模式(model+view+controler)。servlet:是用java編寫的server端程序,提供對客戶端程序的響應。struts框架(本文簡稱“struts”)是apache jakarta項目組的一個開源項目的組成部分,目前應用最廣泛、最成熟的實現(xiàn)mvc框架之一,它是開放源代碼,該框架為應用系統(tǒng)的開發(fā)者提供了
24、一個成本低廉、功能強大、結構清晰、擴展容易及維護方便的平臺 4。圖2-1是從mvc的角度來觀察struts框架中的組件 5:圖2-1 struts概覽圖struts框架的基本構成如圖2-3所示。 圖2-3 struts基本構成圖controller:控制器由actionservlet類來實現(xiàn),它是struts框架中的核心組件。actionservlet繼承了javax.servlet.http.httpservlet類,它在mvc模型中扮演控制器的角色。actionservlet主要負責接收http請求信息,根據(jù)配置文件struts-config.xml的配置信息,把請求轉發(fā)給適當?shù)腶ctio
25、n對象。如果該action對象還不存在,actionservlet會先創(chuàng)建這個action對象 6。 model:模型表示應用程序的狀態(tài)和業(yè)務邏輯。actionform bean在會話級或請求級表示模型的狀態(tài),而不是在持久級。它可以表示客戶的表單數(shù)據(jù),jsp文件使用struts標簽讀取來自actionform bean的信息。對于大型應用,業(yè)務邏輯通常由java bean組件來實現(xiàn)。在actionform類中提供了validate()方法,它用于對客戶提交的表單數(shù)據(jù)進行驗證(validation)。通常,在validate方法中只是對表單數(shù)據(jù)進行一般性的語法或格式檢查。validate()方法
26、返回一個actionerrol對象。如果表單驗證失敗,在actionform對象中就會包含一個或多個actionerror對象。如果validate()方法返回null或者返回一個不包含actionerror的actionerror對象,那么就表示表單驗證成功 7。view:視圖就是一組jsp文件。在這些jsp文件中沒有業(yè)務邏輯,也沒有模型信息,只有標簽,這些標簽可以是標準的jsp標簽或者struts標簽庫中的標簽。 2.2.2 spring框架由于ejb的復雜性,而本次畢業(yè)設計實現(xiàn)的訂單管理系統(tǒng)是一個輕量級的企業(yè)運用,spring恰恰是解決問題的最好方案。spring是一個開源框架,它是為了
27、解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。spring使用基本的javabean來完成以前只可能由ejb完成的事情。spring的用途不僅限于服務器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何java應用都可以從spring中受益。簡單來說,spring是一個輕量級的控制反轉(ioc)和面向切面(aop)的容器框架。輕量性:完整的spring框架可以在一個大小只有1mb多的jar文件里發(fā)布。并且spring所需的處理開銷也是微不足道的。此外,spring是非侵入式的,spring應用中的對象不依賴于spring的特定類??刂品崔D:一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自
28、己創(chuàng)建或者查找依賴對象。面向切面:spring提供了面向切面編程的豐富支持,允許通過分離應用的業(yè)務邏輯與系統(tǒng)級服務進行內聚性的開發(fā)。正是基于這些優(yōu)秀的特性,spring是本次畢設訂單管理系統(tǒng)實現(xiàn)替代ejb的最好框架 8。 2.2.3 hibernate框架訂單管理系統(tǒng)涉及到數(shù)據(jù)交互,必然需要數(shù)據(jù)庫的支持,在程序進行開發(fā)時需要編寫數(shù)據(jù)庫連接驅動,每進行一次數(shù)據(jù)交互都涉及到數(shù)據(jù)庫操作,這就需要每次都與數(shù)據(jù)庫建立連接,對數(shù)據(jù)進行操作完成后還需要進行關閉連接,非常繁瑣與低效率 9。而hibernate是對jdbc進行了輕量級的封裝,一種高效強大的持久層查詢服務器,以面向對象的方式,解決數(shù)據(jù)庫的交互問題
29、 10。與此同時,它還是一種非強迫性的解決方案,可以與java服務器和一些數(shù)據(jù)庫進行平穩(wěn)地集成。hibernate是一個工具,而不是一個j2ee服務器,利用它來做為持久層的技術方案,還可以基于它來完成對ejb3.0標準的實現(xiàn) 11。 圖2-5是hibernate體系結構方案,抽象出應用層,脫離jdbc/jta api的底層,hibernate來負責與數(shù)據(jù)庫交互 12。 圖2-5 hibernate體系結構方案圖2.3 訂單系統(tǒng)開發(fā)環(huán)境開發(fā)訂單管理系統(tǒng)的機器為宏基個人筆記本電腦。硬件設備詳細信息見表2-1。表2-1 系統(tǒng)開發(fā)機器硬件參數(shù)參數(shù)服務器數(shù)據(jù)庫服務器開發(fā)(測試)機器cpuceleon c
30、pu 1.8ghzceleon cpu 1.8ghz內存ddr2 1gb ddr2 1gb硬盤st3160812as 80gst3160812as 80g 開發(fā)系統(tǒng)使用的主要開發(fā)軟件有my eclipse試用版,tomcat,microsoft visio等。軟件環(huán)境詳細信息見表2-2。表2-2 軟件開發(fā)環(huán)境軟件服務器開發(fā)(測試)機器數(shù)據(jù)庫服務器操作系統(tǒng)windows xpwindows xp數(shù)據(jù)庫軟件mysqlmysqljdk/jre1.6.0_051.6.0_05web serverapache tomcat 6.0程序開發(fā)工具my eclipse 6.0jsp開發(fā)工具dreamweave
31、r瀏覽器internet explorer 7.0第三章 訂單管理系統(tǒng)需求分析3.1 功能需求食品訂單管理系統(tǒng)是大連新世紀食品有限公司的內部使用系統(tǒng),使用者為美國公司總部,中國公司采購部,出口部,財務部,還有給其供貨的供應商與蘑菇工廠。大連新世紀食品公司組織架構如圖3-1:圖3-1 大連新世紀食品公司組織架構圖大連新世紀公司項目的第一階段完成訂單管理系統(tǒng),它的需求是從美國公司下達采購計劃開始,追蹤到采購過程管理,直到貨物裝箱出口發(fā)運截止。通過該訂單管理系統(tǒng)完成由美國總公司下發(fā)訂單,采購部門接收訂單,并由采購部門發(fā)布訂購信息,供應商提供商品信息,采購部門對商品信息做出篩選,并判斷采購計劃是否需要
32、修改,在采購計劃需要修改時向美國總部進行反饋,反饋后美國公司從新制定采購計劃,按新計劃下單。如果不需要修改直接將訂單轉給出口部,出口部向供應商及工廠下訂單訂貨,再由供應商及工廠按照備貨單備貨,出口部根據(jù)驗收單對采購產(chǎn)品進行驗貨,再根據(jù)裝箱單負責驗貨裝箱,并向財務部發(fā)放付款通知,財務部能夠通過付款通知進行查詢確認,同時財務部獲得對賬單,通知美國總部付款。3.1.1 用例描述與用例圖1美國公司美國公司根據(jù)市場需求確定訂購產(chǎn)品的信息(包括產(chǎn)品種類,數(shù)量,級別等);每周報一次在庫產(chǎn)品庫存量;接受中國采購部門的信息反饋,并作出回復;負責付款審批;還可以對訂購產(chǎn)品進行實時查詢即訂單處于何種狀態(tài)(包括采購中
33、,驗貨中,付款,裝船等)。其用例圖可表示為圖3-2:圖3-2 美國公司用例圖2. 采購部向供應商發(fā)訂購信息(包括產(chǎn)品種類,數(shù)量,級別等);跟供應商了解詳細產(chǎn)品信息;根據(jù)以上信息,進而與供應商/工廠確定價格,判斷什么時間給美國公司出這批貨,以及建議美國調整采購日期和數(shù)量,形成信息反饋;采購部要能接受美國公司查詢了解這些貨完成到什么程度,提供產(chǎn)品最新信息。 另外采購部采購分為兩種情況:a.對外部供應商采購的流程:a)美國公司下達采購計劃出口部b)采購部向供應商詢價c)跟供應商確定價格d)下發(fā)訂單:一家或幾家供應商e)供應商裝箱發(fā)貨(一期項目,系統(tǒng)的流程管理到這里)如何獲得成功發(fā)貨反饋f)監(jiān)控海運過
34、程,在途庫存g)貨到美國h)按合同時間付款i)質量有問題,追溯回來:最終成品每箱一定是一家供應商的貨,完全可追溯。b. 對內部加工廠采購(與“對外部供應商采購”類似,但多出以下幾個特性)a)多了一個收原料的環(huán)節(jié),包括原料詢價,原料定價,下發(fā)原廠b)工廠驗收情況,和財務銜接c)供應商評估,給原料打分d)加工過程e)委托加工(自采原料)和“對內部加工廠采購”一樣。采購部用例圖如圖3-3所示:圖3-3 采購部用例圖3. 供應商/工廠提供產(chǎn)品信息:包括產(chǎn)品(交貨日期,價格,質量規(guī)格等級等詳細信息)。根據(jù)訂單備貨,提供查詢(產(chǎn)品的詳細信息),提供查詢(產(chǎn)品詳細信息)。工廠還需在系統(tǒng)中錄入:生產(chǎn)進度;產(chǎn)量
35、;出口數(shù)量;出成率;廢品數(shù)量;供應商用例圖如圖3-4所示:圖3-4 供應商用例圖4. 出口部根據(jù)從采購部獲得的信息,下采購訂單(訂單包括內容),接受供應商發(fā)來的驗貨單,驗貨(合格標準),檢驗合格形成裝箱單,通知財務付款。出口部用例圖如圖3-5:圖3-5 出口部用例圖5. 財務部接受出口部的付款通知,并向供應商查詢核實價格,生成對賬單;輸入付款發(fā)票信息;以備美國公司查詢;如果供應商有網(wǎng)絡條件,可以查詢對賬。財務部用例圖如圖3-6:圖3-6 財務部用例圖對用例的描述與用例圖的綜合分析,訂單管理系統(tǒng)整體功能可以用圖3-7描述:圖3-7 訂單管理系統(tǒng)功能圖3.2 非功能需求3.2.1 健壯性系統(tǒng)采用j
36、ava語言開發(fā),程序具有一定的可靠性,可以正確地運行在不同環(huán)境下,可移植性高。當出現(xiàn)硬件性故障時,如web服務器,數(shù)據(jù)庫服務器停止提供服務或網(wǎng)絡故障發(fā)生時,停電,系統(tǒng)將不能正常提供服務。 3.2.2 用戶友好性通過普通瀏覽器即可以使用本系統(tǒng),界面簡潔大方,使用方便,用戶體驗度良好。當用戶發(fā)出請求對資源的訪問時,系統(tǒng)將對用戶身份驗證,當用戶具有合法的權限時,允許訪問資源。3.2.3 有效性一般客戶通過自己的機器訪問系統(tǒng)時,只要其機器裝有瀏覽器即可訪問本系統(tǒng),可以有效使用系統(tǒng)進行相關業(yè)務操作。3.2.4 可維護性系統(tǒng)是架構在b/s模式上的應用程序,部署方便,由于是分層架構,層與層之間松耦合,其中的
37、一層改變不影響其它層,如果用戶頁面需求發(fā)生改變,則只需改動視圖層,大大減少工作量新版本覆蓋以前版本,在容器內重新發(fā)布即可。3.2.5 可移植性本訂單管理系統(tǒng)本來就是基于網(wǎng)絡的,將來如果由于業(yè)務發(fā)展,需要對程序及服務器重新部署都非常容易,因為采用java跨平臺語言開發(fā),j2ee本身即可以看作是一個平臺,在不同的平臺間移植部署都很方便。第四章 訂單管理系統(tǒng)的設計4.1 系統(tǒng)總體設計系統(tǒng)總體設計包括,系統(tǒng)分層架構設計,數(shù)據(jù)設計,系統(tǒng)功能主要為用戶角色管理、訂單管理,包括(生成、接收、處理、查詢、反饋),用戶訂購產(chǎn)品的庫存動態(tài)查詢、倉儲運輸管理。訂單處理業(yè)務流程如圖4-1:圖4-1 訂單處理業(yè)務流程圖
38、4.1.1 系統(tǒng)分層架構訂單管理系統(tǒng)是基于b/s模式上的,運用mvc模式,將訂單系統(tǒng)分為,顯示層,控制層,模型層,數(shù)據(jù)庫持久層。系統(tǒng)分層架構示意如圖4-2:圖4-2 系統(tǒng)分層架構示意圖4.2 接口設計訂單管理系統(tǒng)的接口設計主要分為兩大類,頁面顯示與中間業(yè)務邏輯處理接口、中間業(yè)務邏輯與數(shù)據(jù)庫進行數(shù)據(jù)交互接口。這樣進行接口設計是基于程序的分層架構,自上而下瀑布型開發(fā)流程,層與層之間確定接口,定義好接口函數(shù),功能,層內獨立編程。頁面顯示層與邏輯層主要的接口設計如表4-1:表4-1 頁面層與邏輯層接口設計接口函數(shù)定義函數(shù)類型函數(shù)參數(shù)返回值departmentbeanarraylist無departme
39、ntsgetbusinessarrayliststring idbusinesssgetorderstatearraylistint stateresultgetpricefeedbackarrayliststring purchaseplanidpricefeedbacksgetproductsarraylist無productsgetpurchaseidexistbooleanstring idresultgetpurchaseplansofbusinessarraylistint apurchaseplansgetuservalidatebooleanstring id, string
40、password, string departmentture or falseinboxstorebooleaninbox inboxresultmakebusinesstodbvoidpurchaseplan purchaseplan無productcheckstorebooleanproductcheck productcheckresultpurchaseplanfeedbackstorebooleanpurchaseplanture or falsepurchaseplaninputdbbooleanpurchaseplan purchaseplanresultsetbusiness
41、statevoidstring id,int a無storepricefeedbackbooleanpricefeedback pfbresultgetrequireamountintstring productid,date date,int currentstock,string useridneedtoorderamount中間業(yè)務邏輯層與數(shù)據(jù)存儲層主要的接口設計如表4-2:表4-2 業(yè)務邏輯層與數(shù)據(jù)層接口設計接口函數(shù)定義函數(shù)類型函數(shù)參數(shù)返回值getdatefrombusinessdatestring iddategetdeparmentsresultset無rsgetdepartmen
42、tfromuserstringstring iddep表4-2 續(xù)接口函數(shù)定義函數(shù)類型函數(shù)參數(shù)返回值getpasswordfromuserstringstring idpawdgetpricefeedbackresultsetstring purchaseplanidrsgetproductresultset無rsgetpurchaseplanidfrombusinessstringstring ididgetpurchaseplansofbusinessresultsetint arsgetstatefrombusinessarraylistint statelistgetstockamou
43、ntintstring productid,string useridstockinsertstatetobusinessvoidstring purchaseplanid,date date,int state無makepurchaseplantodbbooleanstring id,string userid,string productid,double amount,double price,date dateresultproductcheckstorebooleanproductcheck productcheckresultqueryonshipresultsetstring p
44、roductid,string useridrssetbusinessstatevoidstring id,int a無storedatatoinboxbooleanstring date,string purchaseplanid,string useridresultstorepricefeedbackbooleanstring userid,string purchaseplanid,double priceresultgetidfrompurchaseplanbooleanstring idresult4.3 數(shù)據(jù)庫設計訂單管理系統(tǒng)數(shù)據(jù)庫主要是為客戶業(yè)務服務的,用戶在通過瀏覽器在頁面上
45、的各項操作,都有數(shù)據(jù)庫在后臺動態(tài)支持。用戶從最開始的登錄系統(tǒng),到發(fā)布采購信息,下采購訂單,直至最后整個業(yè)務流程結束,全程都有數(shù)據(jù)庫提供的服務。根據(jù)用戶需求,設計時將數(shù)據(jù)庫表分為三大類:訂單類,商品類,部門人員類。之所以如此進行分類,是基于用戶的實際業(yè)務需要。部門類劃分的是系統(tǒng)的使用人員,將它們歸為一張表便于對用戶進行管理,分為公司人員、供貨商、國外采購單位。由于業(yè)務主要是關于訂貨,采購的原因,涉及到眾多的表單,包括采購計劃單、采購計劃反饋單、詢價單、報價單、訂貨單、退貨單、變更單、驗收單、賠償單、付款單。商品類的表單包括各種不同類型的商品。4.3.1 訂單類訂單類數(shù)據(jù)庫表單的詳細設計如下:1、
46、 采購計劃單(orderplanform)如表4-3:表4-3 采購計劃單數(shù)據(jù)庫表字段名稱數(shù)據(jù)類型允許空備注idstring否主鍵(單據(jù)編號)sptypeidstring是貨物類別amountdouble是采購數(shù)量unitint是數(shù)量單位deaddatedate是交貨日期pricedouble是最高價格placestring是訂貨單位datedate是填單日期stateint是單據(jù)處理狀態(tài)workeridstring是填單員工編號2、 采購計劃反饋單(orderplanfeedbackform)如表4-4:表4-4 采購計劃反饋單數(shù)據(jù)庫表字段名稱數(shù)據(jù)類型允許空備注idstring否主鍵(單據(jù)編
47、號)orderplanformidstring是對應采購計劃單的主鍵pricedouble是變更最高價格amountdouble是變更采購數(shù)量deaddatedate是變 更交貨日期datedate是填單日期stateint是單據(jù)處理狀態(tài)workeridstring是填單員工編號3、 詢價單(priceinquireform)如表4-5:表4-5 詢價單數(shù)據(jù)庫表字段名稱數(shù)據(jù)類型允許空備注idstring否主鍵(單據(jù)編號)orderplanformidstring是對應采購計劃單的主鍵sptypeidstring是貨物類別amountdouble是采購數(shù)量unitint是數(shù)量單位deaddate
48、date是交貨日期datedate是填單日期workeridstring是填單員工編號4、 報價單(pricefeedbackform)如表4-6:表4-6 報價單數(shù)據(jù)庫表字段名稱數(shù)據(jù)類型允許空備注idstring否主鍵(單據(jù)編號)orderplanformidstring是對應采購計劃單的主鍵sptypeidstring是貨物類別pricedouble是單價amountdouble是供貨商能提供的數(shù)量lowamountdouble是最低需要的數(shù)量deaddatedate是交貨日期providerstring是供貨單位datedate是填單日期stateint是接受、拒絕5、 訂貨單(prod
49、uctorderform)如表4-7:表4-7 訂貨單數(shù)據(jù)庫表字段名稱數(shù)據(jù)類型允許空備注idstring否主鍵(單據(jù)編號)pricefeedbackformidstring是對應報價單的主鍵amountdouble是采購數(shù)量unitint是數(shù)量單位pricedouble是單價deadlinedate是交貨日期placeint是訂貨單位providerstring是供貨商編號datedate是填單日期stateint是供貨商確認、未確認workeridstring是處理員編號6、 退貨單(productreturnform)如表4-8:表4-8 退貨單數(shù)據(jù)庫表字段名稱數(shù)據(jù)類型允許空備注idstr
50、ing否主鍵productorderformidstring是對應訂貨單的主鍵reasonstring是退貨的原因datedate是填單日期worker_idstring是驗收員編號7、 變更單(planchangeform)如表4-9:表4-9 變更單數(shù)據(jù)庫表字段名稱數(shù)據(jù)類型允許空備注idstring否主鍵orderplanformidstring是對應采購計劃單的主鍵reasonint是變更類型(取消采購計劃、其他)amountdouble是采購數(shù)量deaddatedate是交貨日期datedate是填單日期worker_idstring是出口部人員編號8、 驗收單(productchec
51、kform)如表4-10:表4-10 驗收單數(shù)據(jù)庫表字段名稱數(shù)據(jù)類型允許空備注idstring否主鍵productorderformidstring是對應訂單的主鍵resultint是驗收結果(合格、不合格)reasonstring是不合格的原因datedate是填單日期worker_idstring是驗收員編號9、 賠償單(compensateform)如表4-11:表4-11 賠償單數(shù)據(jù)庫表字段名稱數(shù)據(jù)類型允許空備注idstring否主鍵productorderformidstring是對應訂單的主鍵amountdouble是賠償數(shù)額reasonstring是賠償原因datedate是填單
52、日期worker_idstring是填表人編號10、付款單(paymentform)如表4-12:表4-12 付款單數(shù)據(jù)庫表字段名稱數(shù)據(jù)類型允許空備注idstring否主鍵productorderformidstring是對應訂單的主鍵amountdouble是采購數(shù)量pricedouble是單價deadlinedate是交貨日期sumdouble是付款額datedate是填單日期stateint是付款單狀態(tài)(處理中、已處理)4.3.2 商品類1、商品類型(sp_type)如表4-13:表4-13 商品類型數(shù)據(jù)庫表字段名稱數(shù)據(jù)類型允許空備注idstring否主鍵namestring是商品名稱d
53、escriptionstring是商品描述4.3.3 部門人員類1、國外采購單位(fdepartment)如表4-14:表4-14 國外采購單位據(jù)庫表字段名稱數(shù)據(jù)類型允許空備注idstring否主鍵namestring是單位名稱descriptionstring是單位描述phone_numberstring是聯(lián)系方式leaderstring是負責人編號2、供貨商(provider)如表4-15:表4-15 供貨商數(shù)據(jù)庫表字段名稱數(shù)據(jù)類型允許空備注idstring否主鍵namestring是供貨商名稱leaderstring是負責人phonestring是聯(lián)系電話addressstring是地址pwdstring是登
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 健康信息學中的大數(shù)據(jù)分析-深度研究
- 農業(yè)文化在農業(yè)品牌建設中的作用-深度研究
- 地區(qū)政策支持與產(chǎn)業(yè)發(fā)展匹配-深度研究
- 基于人工智能的地質預報模型-深度研究
- 智能調度與控制平臺-深度研究
- VOCs源頭控制策略-深度研究
- 創(chuàng)新創(chuàng)業(yè)團隊建設-深度研究
- 2025年川北幼兒師范高等??茖W校高職單招職業(yè)適應性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年山西運城農業(yè)職業(yè)技術學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025年山西同文職業(yè)技術學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 南通市2025屆高三第一次調研測試(一模)地理試卷(含答案 )
- 2025年上海市閔行區(qū)中考數(shù)學一模試卷
- 2025中國人民保險集團校園招聘高頻重點提升(共500題)附帶答案詳解
- 重癥患者家屬溝通管理制度
- 法規(guī)解讀丨2024新版《突發(fā)事件應對法》及其應用案例
- 小學二年級數(shù)學口算練習題1000道
- 納布啡在產(chǎn)科及分娩鎮(zhèn)痛的應用
- DZ/T 0462.4-2023 礦產(chǎn)資源“三率”指標要求 第4部分:銅等12種有色金屬礦產(chǎn)(正式版)
- 化學-福建省龍巖市2024屆高三下學期三月教學質量檢測(一模)試題和答案
- 凸優(yōu)化在經(jīng)濟學與金融學中的應用
- 家譜、宗譜頒譜慶典講話
評論
0/150
提交評論