版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 現(xiàn)代企業(yè)由于業(yè)務(wù)量巨大,需借助電子計(jì)算機(jī)的幫助進(jìn)行管理從而實(shí)現(xiàn)其更好的業(yè)務(wù)運(yùn)作。大連新世紀(jì)食品公司通過其在線訂單管理系統(tǒng)可以降低運(yùn)營(yíng)成本,實(shí)現(xiàn)采購過程標(biāo)準(zhǔn)化,減少事務(wù)性工作,提高效率,方便靈活的信息查詢服務(wù),給企業(yè)提供更強(qiáng)的競(jìng)爭(zhēng)力。</p><p> 本論文主要闡述如何實(shí)現(xiàn)基于Struts的食品
2、訂單管理系統(tǒng)的實(shí)現(xiàn)。食品訂單管理系統(tǒng)是基于B/S模式的應(yīng)用程序,采用Tomcat作為Web服務(wù)器容器,采用MySQL數(shù)據(jù)庫保存訂單數(shù)據(jù)。該系統(tǒng)是在B/S架構(gòu)下采用Struts框架設(shè)計(jì)實(shí)現(xiàn)的,采用并擴(kuò)展了MVC設(shè)計(jì)模式,分成表現(xiàn)層、控制層、模型層、數(shù)據(jù)庫持久層。系統(tǒng)的開發(fā)平臺(tái)是J2EE,數(shù)據(jù)庫持久層采用Hibernate框架來設(shè)計(jì)與實(shí)現(xiàn)的。食品訂單管理系統(tǒng)將從功能、運(yùn)行穩(wěn)定性、數(shù)據(jù)安全性,用戶體驗(yàn)度等方面研究完善食品訂單管理系統(tǒng)。通過該項(xiàng)
3、目,了解并運(yùn)用軟件工程所學(xué)知識(shí),熟悉企業(yè)級(jí)的軟件開發(fā)流程,熟練使用My Eclipse等開發(fā)工具、Java開發(fā)語言,對(duì)Spring、Struts、Hibernate等技術(shù)有一個(gè)全面的了解與掌握,從而更好的把握目前主流的Web開發(fā)技術(shù)。</p><p> 關(guān)鍵詞:訂單管理系統(tǒng);Struts;Spring;Hibernate;MVC;J2EE</p><p><b> ABSTR
4、ACT</b></p><p> A modern enterprise as a result of the enormous volume of business, use computer to manage in order to help better achieve its business operations. Dalian New Century Food Company, thr
5、ough its online order management system can reduce operating costs, achieve standardization of the procurement process and reduce transactional work, mention anything about efficiency, convenience and flexible informatio
6、n services, to provide a more competitiveness. </p><p> 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
7、Tomcat as a Web server, using Oracle database data preservation orders. 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 l
8、ayer, control layer, model layer, a database persistence layer. System development platform is J2EE, database persistence layer us</p><p> Key words:order management system;Struts;Spring;Hibernate;MVC;J2EE&
9、lt;/p><p><b> 目 錄</b></p><p> 第一章 緒論1</p><p> 1.1 選題背景1</p><p> 1.2 國(guó)內(nèi)外現(xiàn)狀介紹1</p><p> 1.3 內(nèi)容安排2</p><p> 第二章 相關(guān)技術(shù)
10、介紹3</p><p> 2.1 軟件架構(gòu)與開發(fā)平臺(tái)3</p><p> 2.2 B/S模式JavaWeb開發(fā)框架介紹4</p><p> 2.3 訂單系統(tǒng)開發(fā)環(huán)境8</p><p> 第三章 訂單管理系統(tǒng)需求分析10</p><p> 3.1 功能需求10</p>&
11、lt;p> 3.2 非功能需求14</p><p> 第四章 訂單管理系統(tǒng)的設(shè)計(jì)16</p><p> 4.1 系統(tǒng)總體設(shè)計(jì)16</p><p> 4.2 接口設(shè)計(jì)17</p><p> 4.3 數(shù)據(jù)庫設(shè)計(jì)20</p><p> 第五章 訂單管理系統(tǒng)的實(shí)現(xiàn)25</
12、p><p> 5.1 視圖層的配置及顯示控制26</p><p> 5.2 業(yè)務(wù)邏輯層功能實(shí)現(xiàn)27</p><p> 5.3 數(shù)據(jù)庫持久存儲(chǔ)層30</p><p> 第六章 總結(jié)31</p><p> 6.1 論文總結(jié)31</p><p> 6.2 前景展望3
13、1</p><p><b> 參考文獻(xiàn)32</b></p><p><b> 外文資料</b></p><p><b> 中文譯文</b></p><p><b> 致謝</b></p><p><b> 第一
14、章 緒論</b></p><p><b> 1.1 選題背景</b></p><p> 大連新世紀(jì)食品有限公司為了能夠及時(shí)獲得美國(guó)總公司下達(dá)的采購任務(wù),并按照需求進(jìn)行采購,并且實(shí)現(xiàn)整個(gè)業(yè)務(wù)流程電子化,希望構(gòu)建一套公司的業(yè)務(wù)訂單管理系統(tǒng)。通過構(gòu)建電子商務(wù)系統(tǒng),有效地解決了以前手工管理的諸多不足,提高了企業(yè)的整體管理水平,方便了企業(yè)與客戶之間的信息
15、交流與共享,提高了企業(yè)內(nèi)部的工作效率,并為企業(yè)節(jié)約了大量銷售成本,提高了企業(yè)效益,其具有的優(yōu)勢(shì)具體體現(xiàn)在以下幾方面:(1)降低運(yùn)營(yíng)成本:同時(shí)有效提高與供應(yīng)商的協(xié)同水平。另外即使供應(yīng)商大量增加,運(yùn)行成本增加也極為有限,甚至可以做到幾乎不增加新成本。(2)業(yè)務(wù)規(guī)范化、自動(dòng)化:包括簡(jiǎn)化了采購訂單流程,實(shí)時(shí)的交易信息查詢,公平、公開的競(jìng)爭(zhēng)環(huán)境。(3)促使采購人員角色轉(zhuǎn)化:包括提高工作效率,轉(zhuǎn)變采購人員角色,支持決策的服務(wù)。(4)提供信息查詢服務(wù)
16、:包括企業(yè)信息管理,信息發(fā)布平臺(tái)。綜上所述,企業(yè)級(jí)電子商務(wù)交易解決方案緊緊圍繞企業(yè)的業(yè)務(wù)的運(yùn)作特點(diǎn),以優(yōu)化采購流程、縮短企業(yè)與供應(yīng)商的距離為目標(biāo),涵蓋企業(yè)電子商務(wù)鏈的所有需求,是為企業(yè)向互聯(lián)網(wǎng)轉(zhuǎn)型的得力工具。</p><p> 1.2 國(guó)內(nèi)外現(xiàn)狀介紹</p><p> 國(guó)外,尤其是西方發(fā)達(dá)國(guó)家由于互聯(lián)網(wǎng)起步早,在電子商務(wù)方面的發(fā)展快、比我國(guó)成熟、功能更完善。發(fā)達(dá)國(guó)家電子商務(wù)是商務(wù)推動(dòng)
17、型。以歐美等國(guó)為例,電子商務(wù)業(yè)務(wù)開發(fā)的如火如荼。在美國(guó),電子商務(wù)實(shí)踐早于電子商務(wù)概念,企業(yè)的商務(wù)需求推動(dòng)了網(wǎng)絡(luò)和電子商務(wù)技術(shù)的進(jìn)步,并促成電子商務(wù)概念的形成。當(dāng)Internet時(shí)代到來的時(shí)候,美國(guó)已經(jīng)有了一個(gè)比較先進(jìn)和發(fā)達(dá)的電子商務(wù)基礎(chǔ)。在法、德等歐洲國(guó)家,電子商務(wù)所產(chǎn)生的營(yíng)業(yè)額已占商務(wù)總額的1/4,在美國(guó)則已高達(dá)1/3以上,而歐美國(guó)家電子商務(wù)的開展也不過才十幾年的時(shí)間。在美國(guó),美國(guó)在線(AOL)、雅虎、電子港灣等著名的電子商務(wù)公司在1
18、995年前后開始賺錢,到2000年創(chuàng)造了7.8億美元,IBM、亞馬遜書城、戴爾電腦、沃爾瑪超市等電子商務(wù)公司在各自的領(lǐng)域更是取得了令人不可思議的巨額利潤(rùn)。</p><p> 中國(guó)電子商務(wù)始于1997年,它更多的是技術(shù)拉動(dòng)型,這是在發(fā)展模式上中國(guó)電子商務(wù)與歐美的重要區(qū)別,同時(shí)這也是中國(guó)電子商務(wù)發(fā)展的一大特點(diǎn)?! ≈袊?guó)電子商務(wù)發(fā)展迅猛,2007年全國(guó)電子商務(wù)交易總額達(dá)2.17萬億元,比上年度增長(zhǎng)90%。中國(guó)網(wǎng)絡(luò)購物
19、發(fā)展迅速,2008年6月底,網(wǎng)絡(luò)購物用戶人數(shù)達(dá)到6329萬,半年內(nèi)增加36.4%。截至2008年12月,電子商務(wù)類站點(diǎn)的總體用戶覆蓋已經(jīng)從9000萬戶提升至9800萬戶。中國(guó)第一大電子商務(wù)企業(yè)阿里巴巴08年第一季度用戶數(shù)已達(dá)6200萬,一季度交易額突破188億人民幣,同比增長(zhǎng)170%,已接近沃爾瑪去年全年在中國(guó)市場(chǎng)213億元的成交額。從統(tǒng)計(jì)數(shù)據(jù)上可以看出中國(guó)電子商務(wù)市場(chǎng)的前景和潛力都是非常巨大的,做好企業(yè)自身的電子商務(wù)平臺(tái)對(duì)于其今后的發(fā)
20、展可謂是至關(guān)重要。 </p><p><b> 1.3 內(nèi)容安排</b></p><p> 本次畢業(yè)課程設(shè)計(jì)研究了解了整個(gè)企業(yè)級(jí)的業(yè)務(wù)開發(fā)流程,討論了食品訂單管理系統(tǒng)的需求分析、設(shè)計(jì)與實(shí)現(xiàn)、系統(tǒng)測(cè)試。學(xué)習(xí)并使用Struts、Spring、Hibernate等Web框架開發(fā)技術(shù),熟悉My Eclipse, MySQL, Tomcat等開發(fā)工具的配置,并對(duì)其熟練運(yùn)
21、用,實(shí)現(xiàn)訂單系統(tǒng)的完整編碼并測(cè)試完善,深入理解基于B/S模式的Web應(yīng)用程序開發(fā)的MVC三層設(shè)計(jì)的技術(shù)的實(shí)現(xiàn)原理,完善訂單管理系統(tǒng)功能,提高其可靠性,健壯性,易用性,擁有良好的用戶體驗(yàn)度。</p><p> 第二章介紹與開發(fā)系統(tǒng)相關(guān)的背景技術(shù),包括有Struts, Spring, Hibernate等關(guān)于MVC架構(gòu)的框架知識(shí)介紹。</p><p> 第三章介紹訂單管理系統(tǒng)的需求分析,包
22、括功能性與非功能性。</p><p> 第四章進(jìn)行訂單系統(tǒng)的總體設(shè)計(jì),包括架構(gòu)設(shè)計(jì),數(shù)據(jù)庫設(shè)計(jì)。其中架構(gòu)設(shè)計(jì)包括分層架構(gòu),訂單管理模塊,用戶登錄管理等模塊設(shè)計(jì)。</p><p> 第五章詳細(xì)介紹訂單管理系統(tǒng)如何實(shí)現(xiàn),如何在系統(tǒng)中融入J2EE,實(shí)現(xiàn)MVC框架等技術(shù)。</p><p> 第六章進(jìn)行論文總結(jié)與前景展望。</p><p> 第
23、二章 相關(guān)技術(shù)介紹</p><p> 2.1 軟件架構(gòu)與開發(fā)平臺(tái)</p><p> 本次畢業(yè)設(shè)計(jì)開發(fā)的訂單管理系統(tǒng)的使用者是分布在各個(gè)地方的,包括位于美國(guó)的總公司,中國(guó)的大連、北京等地,因而訂單管理系統(tǒng)是基于網(wǎng)絡(luò)的,根據(jù)用戶需求決定采用B/S模式進(jìn)行系統(tǒng)開發(fā)。B/S模式是B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),隨著Internet技術(shù)的興起,而發(fā)展而來
24、,且B/S模式下最好的開發(fā)語言也是java。在這種結(jié)構(gòu)下,用戶界面完全通過瀏覽器的訪問實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成流行的MVC結(jié)構(gòu)。B/S結(jié)構(gòu)利用不斷成熟和普及的瀏覽器技術(shù)實(shí)現(xiàn),并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu),本次畢設(shè)系統(tǒng)開發(fā)將涉及到體現(xiàn)MVC設(shè)計(jì)模式的開發(fā)框架。</p><p> 在選擇開發(fā)語言時(shí)曾考慮過兩種方案
25、,分別是使用微軟的C#語言與.Net平臺(tái)與SUN公司的java語言與J2EE平臺(tái)。</p><p> 2.1.1 方案一:C#與.net平臺(tái)</p><p> C#是微軟開發(fā)的語言,它是運(yùn)行在.net平臺(tái)上的產(chǎn)品。C#是一種安全的、穩(wěn)定的、簡(jiǎn)單的,由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言。它在繼承C和C++強(qiáng)大功能的同時(shí)去掉了一些它們的復(fù)雜特性(例如沒有宏和模版,不允許多重繼承)。C
26、#綜合了VB簡(jiǎn)單的可視化操作和C++的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.NET開發(fā)的首選語言。它看起來與Java有著驚人的相似,但是C#與Java有著明顯的不同它包括了諸如單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運(yùn)行的過程。但它與java還是存在很大的不同,它借鑒了Delphi的一個(gè)特點(diǎn),與COM(組件對(duì)象模型)是直接集成的,而且它是微軟公司.NET wind
27、ows網(wǎng)絡(luò)框架的主角。</p><p> 并且C#成為ECMA與ISO標(biāo)準(zhǔn)規(guī)范。C#看似基于C++寫成,但又融入其它語言如Delphi、Java、VB等 [1]。</p><p> C#語言具有很多優(yōu)點(diǎn),尤其是有C++基礎(chǔ)的話入門也很快,且個(gè)人認(rèn)為.net平臺(tái)也可能成為未來的趨勢(shì),但由于C#程序的運(yùn)行需要裝有.net框架平臺(tái)的支持,而且由于C#是非開源的,如果在今后系統(tǒng)的實(shí)現(xiàn)中出現(xiàn)問題
28、不好找到解決方案,經(jīng)過綜合考慮后還是決定選用sun公司的java語言與J2EE平臺(tái)作為開發(fā)語言與平臺(tái)。</p><p> 2.1.2 方案二:Java與J2EE平臺(tái)</p><p> Java是由已被Oracle(甲骨文)收購的Sun公司于1995年5月推出的Java程序設(shè)計(jì)語言和Java平臺(tái)的總稱。Java的出現(xiàn)主要是由于互聯(lián)網(wǎng)的誕生,它是面向?qū)ο缶幊陶Z言,不同于C語言是面向過程的
29、語言,java語言的特性主要可概括為:面向?qū)ο?,分布式,健壯性,安全性,體系結(jié)構(gòu)中立,可移植,高性能,多線程。用Java實(shí)現(xiàn)的HotJava瀏覽器由于其支持Java applet充分顯示了Java的魅力:跨平臺(tái)、動(dòng)態(tài)的Web、Internet計(jì)算。Java被廣泛接受并推動(dòng)了Web的迅速發(fā)展,常用的瀏覽器現(xiàn)在均支持Java applet。另一方面,Java技術(shù)也不斷更新 [2]。Java平臺(tái)由Java虛擬機(jī)(Java Virtual Ma
30、chine)和Java 應(yīng)用編程接口(Application Programming Interface、簡(jiǎn)稱API)構(gòu)成。Java 應(yīng)用編程接口為Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴(kuò)展部分。在硬件或操作系統(tǒng)平臺(tái)上安裝一個(gè)Java平臺(tái)之后,Java應(yīng)用程序就可運(yùn)行?,F(xiàn)在Java平臺(tái)已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序</p><p> Java分為三個(gè)體系JavaSE(J
31、ava2 Platform Standard Edition,java平臺(tái)標(biāo)準(zhǔn)版),JavaEE(Java 2 Platform,Enterprise Edition,java平臺(tái)企業(yè)版),JavaME(Java 2 Platform Micro Edition,java平臺(tái)微型版)。經(jīng)過仔細(xì)的考慮與選擇比較后,java語言的跨平臺(tái)性以及其開源性成為本次畢業(yè)設(shè)計(jì)系統(tǒng)開發(fā)選擇其的主要原因。JavaEE也稱為J2EE平臺(tái),是本次畢業(yè)設(shè)計(jì)系統(tǒng)
32、實(shí)現(xiàn)的平臺(tái)。</p><p> 2.2 B/S模式JavaWeb開發(fā)框架介紹</p><p> 2.2.1 Struts框架</p><p> 在介紹struts框架之前,先介紹傳統(tǒng)的jsp模式1與jsp模式2,jsp的兩種模式分別如圖2-1與圖2-2所示:</p><p> 圖2-1 jsp模式1</p>&
33、lt;p> 圖2-2 jsp模式2</p><p> 在jsp模式1架構(gòu)中,jsp頁面獨(dú)立地負(fù)責(zé)處理請(qǐng)求和發(fā)送反饋給客戶端。這里仍然有內(nèi)容和表現(xiàn)的分離,因?yàn)樗械臄?shù)據(jù)訪問是使用bean完成的。盡管模式1架構(gòu)應(yīng)該很適合簡(jiǎn)單應(yīng)用,但是對(duì)于復(fù)雜的實(shí)現(xiàn)是不可取的。這種結(jié)構(gòu)的任意使用通常會(huì)導(dǎo)致大量的腳本和java代碼嵌入到j(luò)sp頁面中,特別是在有大量的請(qǐng)求需要處理的情況下。這樣的情況在開發(fā)小程序時(shí)可能不會(huì)有
34、太大問題,但隨著程序規(guī)模的擴(kuò)大,團(tuán)隊(duì)人員合作完成項(xiàng)目時(shí),這種開發(fā)模式將帶來極大的弊端,程序的緊耦合性,將給今后的修改,帶來極大麻煩。</p><p> Jsp模式2,是一個(gè)為動(dòng)態(tài)內(nèi)容服務(wù)的混合方案,因?yàn)樗瑫r(shí)使用了servlet和jsp。它利用了兩種技術(shù)的優(yōu)勢(shì),使用jsp產(chǎn)生表現(xiàn)層而servlet負(fù)責(zé)執(zhí)行任務(wù)。在這里,servlet扮演控制器的角色,負(fù)責(zé)請(qǐng)求處理和產(chǎn)生jsp要使用的bean和對(duì)象,以及根據(jù)客戶的
35、動(dòng)作決定下一步轉(zhuǎn)發(fā)到哪一個(gè)jsp頁面。特別要注意的是jsp頁面內(nèi)部并沒有處理邏輯;它只是簡(jiǎn)單地負(fù)責(zé)取得可能是servelet事先創(chuàng)建的對(duì)象和bean,并為在了靜態(tài)模版中插入從servlet釋放出動(dòng)態(tài)內(nèi)容。這樣能形成表現(xiàn)與內(nèi)容的分離,使得開發(fā)團(tuán)隊(duì)里的程序開發(fā)者和頁面美工的角色與責(zé)任能夠清晰。程序的應(yīng)用越復(fù)雜,使用模式2帶來的好處就越多。</p><p> 下面介紹說明幾個(gè)有關(guān)MVC設(shè)計(jì)模式的基本概念 [3]:&l
36、t;/p><p> 框架(Framework):軟件架構(gòu)中的框架是指可以重用的,可復(fù)用的設(shè)計(jì)構(gòu)件,其代碼可重用性較大,多用來產(chǎn)生定制程序。</p><p> 模型(Model):就是封裝了數(shù)據(jù)和所有基于這些數(shù)據(jù)的操作方法,主要是事務(wù)邏輯。</p><p> 視圖(View):就是封裝的用戶界面的相關(guān)信息,用于基于瀏覽器的數(shù)據(jù)顯示。</p><p
37、> 控制器(Control):就是封裝外界作用于對(duì)數(shù)據(jù)流向的控制和模型的操作等。</p><p> MVC模式:模型+視圖+控制器的模式(Model+view+Controler)。</p><p> Servlet:是用Java編寫的Server端程序,提供對(duì)客戶端程序的響應(yīng)。</p><p> Struts框架(本文簡(jiǎn)稱“Struts”)是Apac
38、he Jakarta項(xiàng)目組的一個(gè)開源項(xiàng)目的組成部分,目前應(yīng)用最廣泛、最成熟的實(shí)現(xiàn)MVC框架之一,它是開放源代碼,該框架為應(yīng)用系統(tǒng)的開發(fā)者提供了一個(gè)成本低廉、功能強(qiáng)大、結(jié)構(gòu)清晰、擴(kuò)展容易及維護(hù)方便的平臺(tái) [4]。</p><p> 圖2-1是從MVC的角度來觀察Struts框架中的組件 [5]:</p><p> 圖2-1 Struts概覽圖</p><p>
39、; Struts框架的基本構(gòu)成如圖2-3所示。 </p><p> 圖2-3 Struts基本構(gòu)成圖</p><p> Controller:控制器由ActionServlet類來實(shí)現(xiàn),它是Struts框架中的核心組件。ActionServlet繼承了javax.servlet.http.HttpServlet類,它在MVC模型中扮演控制器的角色。ActionServlet主要
40、負(fù)責(zé)接收HTTP請(qǐng)求信息,根據(jù)配置文件struts-config.xml的配置信息,把請(qǐng)求轉(zhuǎn)發(fā)給適當(dāng)?shù)腁ction對(duì)象。如果該Action對(duì)象還不存在,ActionServlet會(huì)先創(chuàng)建這個(gè)Action對(duì)象 [6]。 </p><p> Model:模型表示應(yīng)用程序的狀態(tài)和業(yè)務(wù)邏輯。ActionForm Bean在會(huì)話級(jí)或請(qǐng)求級(jí)表示模型的狀態(tài),而不是在持久級(jí)。它可以表示客戶的表單數(shù)據(jù),JSP文件使用Struts
41、標(biāo)簽讀取來自ActionForm Bean的信息。對(duì)于大型應(yīng)用,業(yè)務(wù)邏輯通常由Java Bean組件來實(shí)現(xiàn)。</p><p> 在ActionForm類中提供了validate()方法,它用于對(duì)客戶提交的表單數(shù)據(jù)進(jìn)行驗(yàn)證(Validation)。通常,在validate方法中只是對(duì)表單數(shù)據(jù)進(jìn)行一般性的語法或格式檢查。Validate()方法返回一個(gè)ActionErrol對(duì)象。如果表單驗(yàn)證失敗,在ActionFo
42、rm對(duì)象中就會(huì)包含一個(gè)或多個(gè)ActionError對(duì)象。如果validate()方法返回null或者返回一個(gè)不包含ActionError的ActionError對(duì)象,那么就表示表單驗(yàn)證成功 [7]。</p><p> View:視圖就是一組JSP文件。在這些JSP文件中沒有業(yè)務(wù)邏輯,也沒有模型信息,只有標(biāo)簽,這些標(biāo)簽可以是標(biāo)準(zhǔn)的JSP標(biāo)簽或者Struts標(biāo)簽庫中的標(biāo)簽。 </p><p>
43、; 2.2.2 Spring框架</p><p> 由于EJB的復(fù)雜性,而本次畢業(yè)設(shè)計(jì)實(shí)現(xiàn)的訂單管理系統(tǒng)是一個(gè)輕量級(jí)的企業(yè)運(yùn)用,Spring恰恰是解決問題的最好方案。Spring是一個(gè)開源框架,它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可
44、以從Spring中受益。簡(jiǎn)單來說,Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。輕量性:完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的,Spring應(yīng)用中的對(duì)象不依賴于Spring的特定類。控制反轉(zhuǎn):一個(gè)對(duì)象依賴的其它對(duì)象會(huì)通過被動(dòng)的方式傳遞進(jìn)來,而不是這個(gè)對(duì)象自己創(chuàng)建或者查找依賴對(duì)象。面向切面:Spring提
45、供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)進(jìn)行內(nèi)聚性的開發(fā)。正是基于這些優(yōu)秀的特性,Spring是本次畢設(shè)訂單管理系統(tǒng)實(shí)現(xiàn)替代EJB的最好框架 [8]。 </p><p> 2.2.3 Hibernate框架</p><p> 訂單管理系統(tǒng)涉及到數(shù)據(jù)交互,必然需要數(shù)據(jù)庫的支持,在程序進(jìn)行開發(fā)時(shí)需要編寫數(shù)據(jù)庫連接驅(qū)動(dòng),每進(jìn)行一次數(shù)據(jù)交互都涉及到數(shù)據(jù)庫操作,這就需
46、要每次都與數(shù)據(jù)庫建立連接,對(duì)數(shù)據(jù)進(jìn)行操作完成后還需要進(jìn)行關(guān)閉連接,非常繁瑣與低效率 [9]。而Hibernate是對(duì)JDBC進(jìn)行了輕量級(jí)的封裝,一種高效強(qiáng)大的持久層查詢服務(wù)器,以面向?qū)ο蟮姆绞剑鉀Q數(shù)據(jù)庫的交互問題 [10]。與此同時(shí),它還是一種非強(qiáng)迫性的解決方案,可以與Java服務(wù)器和一些數(shù)據(jù)庫進(jìn)行平穩(wěn)地集成。Hibernate是一個(gè)工具,而不是一個(gè)J2EE服務(wù)器,利用它來做為持久層的技術(shù)方案,還可以基于它來完成對(duì)EJB3.0標(biāo)準(zhǔn)的實(shí)
47、現(xiàn) [11]。 </p><p> 圖2-5是Hibernate體系結(jié)構(gòu)方案,抽象出應(yīng)用層,脫離JDBC/JTA API的底層,Hibernate來負(fù)責(zé)與數(shù)據(jù)庫交互 [12]。 </p><p> 圖2-5 Hibernate體系結(jié)構(gòu)方案圖</p><p> 2.3 訂單系統(tǒng)開發(fā)環(huán)境</p><p> 開發(fā)訂單管理系統(tǒng)的機(jī)器為
48、宏基個(gè)人筆記本電腦。</p><p> 硬件設(shè)備詳細(xì)信息見表2-1。</p><p> 表2-1 系統(tǒng)開發(fā)機(jī)器硬件參數(shù)</p><p> 開發(fā)系統(tǒng)使用的主要開發(fā)軟件有My Eclipse試用版,Tomcat,Microsoft Visio等。</p><p> 軟件環(huán)境詳細(xì)信息見表2-2。</p><p>
49、; 表2-2 軟件開發(fā)環(huán)境</p><p> 第三章 訂單管理系統(tǒng)需求分析</p><p><b> 3.1 功能需求</b></p><p> 食品訂單管理系統(tǒng)是大連新世紀(jì)食品有限公司的內(nèi)部使用系統(tǒng),使用者為美國(guó)公司總部,中國(guó)公司采購部,出口部,財(cái)務(wù)部,還有給其供貨的供應(yīng)商與蘑菇工廠。大連新世紀(jì)食品公司組織架構(gòu)如圖3-1
50、:</p><p> 圖3-1 大連新世紀(jì)食品公司組織架構(gòu)圖</p><p> 大連新世紀(jì)公司項(xiàng)目的第一階段完成訂單管理系統(tǒng),它的需求是從美國(guó)公司下達(dá)采購計(jì)劃開始,追蹤到采購過程管理,直到貨物裝箱出口發(fā)運(yùn)截止。通過該訂單管理系統(tǒng)完成由美國(guó)總公司下發(fā)訂單,采購部門接收訂單,并由采購部門發(fā)布訂購信息,供應(yīng)商提供商品信息,采購部門對(duì)商品信息做出篩選,并判斷采購計(jì)劃是否需要修改,在采購計(jì)
51、劃需要修改時(shí)向美國(guó)總部進(jìn)行反饋,反饋后美國(guó)公司從新制定采購計(jì)劃,按新計(jì)劃下單。如果不需要修改直接將訂單轉(zhuǎn)給出口部,出口部向供應(yīng)商及工廠下訂單訂貨,再由供應(yīng)商及工廠按照備貨單備貨,出口部根據(jù)驗(yàn)收單對(duì)采購產(chǎn)品進(jìn)行驗(yàn)貨,再根據(jù)裝箱單負(fù)責(zé)驗(yàn)貨裝箱,并向財(cái)務(wù)部發(fā)放付款通知,財(cái)務(wù)部能夠通過付款通知進(jìn)行查詢確認(rèn),同時(shí)財(cái)務(wù)部獲得對(duì)賬單,通知美國(guó)總部付款。</p><p> 3.1.1 用例描述與用例圖</p>
52、<p><b> 1.美國(guó)公司</b></p><p> 美國(guó)公司根據(jù)市場(chǎng)需求確定訂購產(chǎn)品的信息(包括產(chǎn)品種類,數(shù)量,級(jí)別等);每周報(bào)一次在庫產(chǎn)品庫存量;接受中國(guó)采購部門的信息反饋,并作出回復(fù);負(fù)責(zé)付款審批;還可以對(duì)訂購產(chǎn)品進(jìn)行實(shí)時(shí)查詢即訂單處于何種狀態(tài)(包括采購中,驗(yàn)貨中,付款,裝船等)。其用例圖可表示為圖3-2:</p><p> 圖3-2
53、美國(guó)公司用例圖</p><p><b> 2. 采購部</b></p><p> 向供應(yīng)商發(fā)訂購信息(包括產(chǎn)品種類,數(shù)量,級(jí)別等);跟供應(yīng)商了解詳細(xì)產(chǎn)品信息;根據(jù)以上信息,進(jìn)而與供應(yīng)商/工廠確定價(jià)格,判斷什么時(shí)間給美國(guó)公司出這批貨,以及建議美國(guó)調(diào)整采購日期和數(shù)量,形成信息反饋;采購部要能接受美國(guó)公司查詢了解這些貨完成到什么程度,提供產(chǎn)品最新信息。 </p&g
54、t;<p> 另外采購部采購分為兩種情況:</p><p> A.對(duì)外部供應(yīng)商采購的流程:</p><p> a)美國(guó)公司下達(dá)采購計(jì)劃出口部</p><p> b)采購部向供應(yīng)商詢價(jià)</p><p> c)跟供應(yīng)商確定價(jià)格</p><p> d)下發(fā)訂單:一家或幾家供應(yīng)商</p>
55、<p> e)供應(yīng)商裝箱發(fā)貨(一期項(xiàng)目,系統(tǒng)的流程管理到這里)如何獲得成功發(fā)貨反饋</p><p> f)監(jiān)控海運(yùn)過程,在途庫存</p><p><b> g)貨到美國(guó)</b></p><p><b> h)按合同時(shí)間付款</b></p><p> i)質(zhì)量有問題,追溯回來:最
56、終成品每箱一定是一家供應(yīng)商的貨,完全可追溯。</p><p> B. 對(duì)內(nèi)部加工廠采購(與“對(duì)外部供應(yīng)商采購”類似,但多出以下幾個(gè)特性)</p><p> a)多了一個(gè)收原料的環(huán)節(jié),包括原料詢價(jià),原料定價(jià),下發(fā)原廠</p><p> b)工廠驗(yàn)收情況,和財(cái)務(wù)銜接</p><p> c)供應(yīng)商評(píng)估,給原料打分</p>&l
57、t;p><b> d)加工過程</b></p><p> e)委托加工(自采原料)和“對(duì)內(nèi)部加工廠采購”一樣。</p><p> 采購部用例圖如圖3-3所示:</p><p> 圖3-3 采購部用例圖</p><p><b> 3. 供應(yīng)商/工廠</b></p>
58、<p> 提供產(chǎn)品信息:包括產(chǎn)品(交貨日期,價(jià)格,質(zhì)量規(guī)格等級(jí)等詳細(xì)信息)。根據(jù)訂單備貨,提供查詢(產(chǎn)品的詳細(xì)信息),提供查詢(產(chǎn)品詳細(xì)信息)。</p><p> 工廠還需在系統(tǒng)中錄入:生產(chǎn)進(jìn)度;產(chǎn)量;出口數(shù)量;出成率;廢品數(shù)量;</p><p> 供應(yīng)商用例圖如圖3-4所示:</p><p> 圖3-4 供應(yīng)商用例圖</p>
59、<p><b> 4. 出口部</b></p><p> 根據(jù)從采購部獲得的信息,下采購訂單(訂單包括內(nèi)容),接受供應(yīng)商發(fā)來的驗(yàn)貨單,驗(yàn)貨(合格標(biāo)準(zhǔn)),檢驗(yàn)合格形成裝箱單,通知財(cái)務(wù)付款。</p><p> 出口部用例圖如圖3-5:</p><p> 圖3-5 出口部用例圖</p><p><
60、b> 5. 財(cái)務(wù)部</b></p><p> 接受出口部的付款通知,并向供應(yīng)商查詢核實(shí)價(jià)格,生成對(duì)賬單;輸入付款發(fā)票信息;以備美國(guó)公司查詢;如果供應(yīng)商有網(wǎng)絡(luò)條件,可以查詢對(duì)賬。</p><p> 財(cái)務(wù)部用例圖如圖3-6:</p><p> 圖3-6 財(cái)務(wù)部用例圖</p><p> 對(duì)用例的描述與用例圖的綜合分
61、析,訂單管理系統(tǒng)整體功能可以用圖3-7描述:</p><p> 圖3-7 訂單管理系統(tǒng)功能圖</p><p> 3.2 非功能需求</p><p> 3.2.1 健壯性</p><p> 系統(tǒng)采用java語言開發(fā),程序具有一定的可靠性,可以正確地運(yùn)行在不同環(huán)境下,可移植性高。當(dāng)出現(xiàn)硬件性故障時(shí),如web服務(wù)器,數(shù)據(jù)庫服務(wù)器停
62、止提供服務(wù)或網(wǎng)絡(luò)故障發(fā)生時(shí),停電,系統(tǒng)將不能正常提供服務(wù)。 </p><p> 3.2.2 用戶友好性</p><p> 通過普通瀏覽器即可以使用本系統(tǒng),界面簡(jiǎn)潔大方,使用方便,用戶體驗(yàn)度良好。當(dāng)用戶發(fā)出請(qǐng)求對(duì)資源的訪問時(shí),系統(tǒng)將對(duì)用戶身份驗(yàn)證,當(dāng)用戶具有合法的權(quán)限時(shí),允許訪問資源。</p><p> 3.2.3 有效性</p><
63、;p> 一般客戶通過自己的機(jī)器訪問系統(tǒng)時(shí),只要其機(jī)器裝有瀏覽器即可訪問本系統(tǒng),可以有效使用系統(tǒng)進(jìn)行相關(guān)業(yè)務(wù)操作。</p><p> 3.2.4 可維護(hù)性</p><p> 系統(tǒng)是架構(gòu)在B/S模式上的應(yīng)用程序,部署方便,由于是分層架構(gòu),層與層之間松耦合,其中的一層改變不影響其它層,如果用戶頁面需求發(fā)生改變,則只需改動(dòng)視圖層,大大減少工作量新版本覆蓋以前版本,在容器內(nèi)重新發(fā)布即可
64、。</p><p> 3.2.5 可移植性</p><p> 本訂單管理系統(tǒng)本來就是基于網(wǎng)絡(luò)的,將來如果由于業(yè)務(wù)發(fā)展,需要對(duì)程序及服務(wù)器重新部署都非常容易,因?yàn)椴捎胘ava跨平臺(tái)語言開發(fā),J2EE本身即可以看作是一個(gè)平臺(tái),在不同的平臺(tái)間移植部署都很方便。</p><p> 第四章 訂單管理系統(tǒng)的設(shè)計(jì)</p><p> 4.1
65、 系統(tǒng)總體設(shè)計(jì)</p><p> 系統(tǒng)總體設(shè)計(jì)包括,系統(tǒng)分層架構(gòu)設(shè)計(jì),數(shù)據(jù)設(shè)計(jì),系統(tǒng)功能主要為用戶角色管理、訂單管理,包括(生成、接收、處理、查詢、反饋),用戶訂購產(chǎn)品的庫存動(dòng)態(tài)查詢、倉儲(chǔ)運(yùn)輸管理。</p><p> 訂單處理業(yè)務(wù)流程如圖4-1:</p><p> 圖4-1 訂單處理業(yè)務(wù)流程圖</p><p> 4.1.1 系
66、統(tǒng)分層架構(gòu)</p><p> 訂單管理系統(tǒng)是基于B/S模式上的,運(yùn)用MVC模式,將訂單系統(tǒng)分為,顯示層,控制層,模型層,數(shù)據(jù)庫持久層。</p><p> 系統(tǒng)分層架構(gòu)示意如圖4-2:</p><p> 圖4-2 系統(tǒng)分層架構(gòu)示意圖</p><p><b> 4.2 接口設(shè)計(jì)</b></p>
67、<p> 訂單管理系統(tǒng)的接口設(shè)計(jì)主要分為兩大類,頁面顯示與中間業(yè)務(wù)邏輯處理接口、中間業(yè)務(wù)邏輯與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互接口。這樣進(jìn)行接口設(shè)計(jì)是基于程序的分層架構(gòu),自上而下瀑布型開發(fā)流程,層與層之間確定接口,定義好接口函數(shù),功能,層內(nèi)獨(dú)立編程。</p><p> 頁面顯示層與邏輯層主要的接口設(shè)計(jì)如表4-1:</p><p> 表4-1 頁面層與邏輯層接口設(shè)計(jì)</p>
68、;<p> 中間業(yè)務(wù)邏輯層與數(shù)據(jù)存儲(chǔ)層主要的接口設(shè)計(jì)如表4-2:</p><p> 表4-2 業(yè)務(wù)邏輯層與數(shù)據(jù)層接口設(shè)計(jì)</p><p><b> 表4-2 續(xù)</b></p><p> 4.3 數(shù)據(jù)庫設(shè)計(jì)</p><p> 訂單管理系統(tǒng)數(shù)據(jù)庫主要是為客戶業(yè)務(wù)服務(wù)的,用戶在通過瀏覽器
69、在頁面上的各項(xiàng)操作,都有數(shù)據(jù)庫在后臺(tái)動(dòng)態(tài)支持。</p><p> 用戶從最開始的登錄系統(tǒng),到發(fā)布采購信息,下采購訂單,直至最后整個(gè)業(yè)務(wù)流程結(jié)束,全程都有數(shù)據(jù)庫提供的服務(wù)。</p><p> 根據(jù)用戶需求,設(shè)計(jì)時(shí)將數(shù)據(jù)庫表分為三大類:訂單類,商品類,部門人員類。之所以如此進(jìn)行分類,是基于用戶的實(shí)際業(yè)務(wù)需要。部門類劃分的是系統(tǒng)的使用人員,將它們歸為一張表便于對(duì)用戶進(jìn)行管理,分為公司人員、供
70、貨商、國(guó)外采購單位。由于業(yè)務(wù)主要是關(guān)于訂貨,采購的原因,涉及到眾多的表單,包括采購計(jì)劃單、采購計(jì)劃反饋單、詢價(jià)單、報(bào)價(jià)單、訂貨單、退貨單、變更單、驗(yàn)收單、賠償單、付款單。商品類的表單包括各種不同類型的商品。</p><p> 4.3.1 訂單類</p><p> 訂單類數(shù)據(jù)庫表單的詳細(xì)設(shè)計(jì)如下:</p><p> 采購計(jì)劃單(OrderPlanForm)如表
71、4-3:</p><p> 表4-3 采購計(jì)劃單數(shù)據(jù)庫表</p><p> 采購計(jì)劃反饋單(OrderPlanFeedBackForm)如表4-4:</p><p> 表4-4 采購計(jì)劃反饋單數(shù)據(jù)庫表</p><p> 詢價(jià)單(PriceInquireForm)如表4-5:</p><p> 表4
72、-5 詢價(jià)單數(shù)據(jù)庫表</p><p> 報(bào)價(jià)單(PriceFeedBackForm)如表4-6:</p><p> 表4-6 報(bào)價(jià)單數(shù)據(jù)庫表</p><p> 訂貨單(ProductOrderForm)如表4-7:</p><p> 表4-7 訂貨單數(shù)據(jù)庫表</p><p> 退貨單(Pro
73、ductReturnForm)如表4-8:</p><p> 表4-8 退貨單數(shù)據(jù)庫表</p><p> 變更單(PlanChangeForm)如表4-9:</p><p> 表4-9 變更單數(shù)據(jù)庫表</p><p> 驗(yàn)收單(ProductCheckForm)如表4-10:</p><p> 表
74、4-10 驗(yàn)收單數(shù)據(jù)庫表</p><p> 賠償單(CompensateForm)如表4-11:</p><p> 表4-11 賠償單數(shù)據(jù)庫表</p><p> 10、付款單(PaymentForm)如表4-12:</p><p> 表4-12 付款單數(shù)據(jù)庫表</p><p> 4.3.2
75、 商品類</p><p> 1、商品類型(SP_type)如表4-13:</p><p> 表4-13 商品類型數(shù)據(jù)庫表</p><p> 4.3.3 部門人員類</p><p> 1、國(guó)外采購單位(Fdepartment)如表4-14:</p><p> 表4-14 國(guó)外采購單位據(jù)庫表<
76、/p><p> 2、供貨商(Provider)如表4-15:</p><p> 表4-15 供貨商數(shù)據(jù)庫表</p><p> 3、公司人員(Worker)如表4-16:</p><p> 表4-16 公司人員數(shù)據(jù)庫表</p><p> 第五章 訂單管理系統(tǒng)的實(shí)現(xiàn)</p><p
77、> 訂單管理系統(tǒng)的實(shí)現(xiàn)采用分層架構(gòu),程序架構(gòu)主要分三層,用戶頁面顯示層,中間業(yè)務(wù)邏輯層,數(shù)據(jù)庫持久存儲(chǔ)層??杀硎緸閳D5-1:</p><p> 圖5-1 系統(tǒng)分層實(shí)現(xiàn)</p><p> 由上層向下層進(jìn)行調(diào)用,即視圖表示層向業(yè)務(wù)邏輯層提接口需求,業(yè)務(wù)邏輯層向數(shù)據(jù)庫持久化層提接口需求。層與層之間通過接口進(jìn)行連接,上層的具體如何實(shí)現(xiàn)與下層的具體實(shí)現(xiàn)沒有關(guān)系。各層充分做到松耦合。
78、實(shí)現(xiàn)高內(nèi)聚,低耦合,采用分而治之的思想,把問題劃分開來各個(gè)解決,易于控制,延展和分配資源。這樣分層設(shè)計(jì)后各層可分開編碼,分開測(cè)試,階段性進(jìn)行代碼整合,加快系統(tǒng)開發(fā) [13]。</p><p> 程序代碼結(jié)構(gòu)樹如圖5-1:</p><p> 圖5-1 程序代碼結(jié)構(gòu)樹</p><p> 5.1 視圖層的配置及顯示控制</p><p>
79、; 系統(tǒng)所有頁面層的實(shí)現(xiàn)原理相同,以用戶登錄跳轉(zhuǎn)到不同界面為例進(jìn)行說明。用戶進(jìn)入訂單管理系統(tǒng)首頁,可以通過用戶名與密碼進(jìn)行登錄。通過Struts的From表單接收用戶輸入的數(shù)據(jù)字段后存入From表單,控制層主要負(fù)責(zé)接受用戶在頁面的輸入,跳轉(zhuǎn)到相應(yīng)的StrutsAction中進(jìn)行處理,調(diào)用模型層的功能方法,實(shí)現(xiàn)與數(shù)據(jù)庫的交互,最后重定向到不同的視圖,將處理結(jié)果返回給用戶 [14]。</p><p> 控
80、制層的配置信息以及每個(gè)action的跳轉(zhuǎn)信息都在struts-cfg.xml文件中,struts相關(guān)文件如圖5-2所示。</p><p> 圖5-2 struts相關(guān)文件</p><p> 其中tld文件為struts的標(biāo)簽庫文件,主要供View層使用,如logic標(biāo)簽實(shí)現(xiàn)列表的顯示。Struts-config.xml是struts的配置信息文件,主要包括action的跳轉(zhuǎn)、fo
81、rm的對(duì)應(yīng)等。Web.xml是整個(gè)項(xiàng)目的web配置信息,也包括struts的配置,如圖5-3所示。</p><p> 圖5-3 web.xml中配置struts的控制器</p><p> 在用戶通過瀏覽器訪問系統(tǒng)首頁,進(jìn)行登錄后不同用戶是如何進(jìn)入到不同的頁面,即struts如何將控制層將模型層與視圖層聯(lián)系在一起的,struts-config.xml如圖5-6所示。</p>
82、<p> 圖5-6 控制器配置文件struts-config.xml</p><p> 在<action-mappings>中配置了許多<action>,以首頁登錄action為例,path是指視圖層調(diào)用的路徑名,type指接受該action處理的struts Action類,name表示對(duì)應(yīng)表單,forward指執(zhí)行完action后跳轉(zhuǎn)到哪個(gè)視圖。在登錄頁面,不同
83、的部門人員輸入自己的用戶id與密碼成功后跳轉(zhuǎn)到相對(duì)應(yīng)的頁面,失敗則返回首頁重新進(jìn)行登錄。系統(tǒng)中其它頁面的各種操作都是基于此種原理,不一一進(jìn)行實(shí)現(xiàn)原理說明。</p><p> 5.2 業(yè)務(wù)邏輯層功能實(shí)現(xiàn)</p><p> 業(yè)務(wù)邏輯層在整個(gè)系統(tǒng)實(shí)現(xiàn)當(dāng)中起著承上啟下的作用,上層通過業(yè)務(wù)邏輯層實(shí)現(xiàn)對(duì)底層的調(diào)用。通過業(yè)務(wù)邏輯層完成用戶在頁面的操作與后臺(tái)數(shù)據(jù)庫之間的數(shù)據(jù)交互 [15]。</
84、p><p> 訂單管理系統(tǒng)主要的業(yè)務(wù)邏輯如表5-1所示:</p><p> 表5-1 業(yè)務(wù)邏輯實(shí)現(xiàn)函數(shù)</p><p><b> 表5-1 續(xù)</b></p><p> 下面通過國(guó)外部門用戶登錄及用戶將采購信息錄入到數(shù)據(jù)庫來說明業(yè)務(wù)邏輯是如何實(shí)現(xiàn)其功能的。</p><p> 國(guó)外
85、工作人員進(jìn)入到首頁后,首頁如圖5-7所示,在頁面的對(duì)話框中在用戶名處對(duì)應(yīng)的文本框輸入用戶id,密碼對(duì)應(yīng)的文本框輸入密碼,在部門選擇下拉菜單中選擇自己對(duì)應(yīng)的部門。</p><p> 圖 5-7 訂單管理系統(tǒng)首頁</p><p> 輸入選擇完成后,點(diǎn)擊提交按鈕,ActionForm會(huì)接收一個(gè)User的表單,它包含了String類型的四個(gè)字段id、password、name、depar
86、tment。將其中的id、password、department信息通過函數(shù)調(diào)用傳給getUserValidate(String id ,String password,String department),此函數(shù)的功能就是負(fù)責(zé)驗(yàn)證用戶的合法性,函數(shù)的實(shí)現(xiàn)如圖5-8:</p><p> 圖5-8 函數(shù)getUserValidate實(shí)現(xiàn)</p><p> 從圖中可以看到,該函數(shù)負(fù)責(zé)
87、調(diào)用與數(shù)據(jù)庫交互的模型層函數(shù)驗(yàn)證用戶信息,用戶通過驗(yàn)證后,由配置文件重新定向到新的頁面,進(jìn)入到采購計(jì)劃管理頁面,選擇錄入采購計(jì)劃進(jìn)入如圖5-9所示頁面:</p><p> 圖 5-9 錄入采購計(jì)劃</p><p> 在采購計(jì)劃單頁面輸入的數(shù)據(jù)信息被封裝在一個(gè)PurchasePlan的form表單中,業(yè)務(wù)邏輯函數(shù)makepurchaseplantodb(PurchasePlan p
88、urchasePlan)負(fù)責(zé)實(shí)現(xiàn)將接收到的信息存入數(shù)據(jù)庫中,makepurchaseplantodb(PurchasePlan purchasePlan)函數(shù)的實(shí)現(xiàn)過程如圖5-10所示:</p><p> 圖5-10 函數(shù)makepurchaseplantodb實(shí)現(xiàn)</p><p> 函數(shù)接收到傳過來的參數(shù)信息后,調(diào)用與數(shù)據(jù)庫交互的模型層函數(shù),對(duì)信息進(jìn)行存儲(chǔ),此過程執(zhí)行成功后將會(huì)
89、對(duì)用戶的操作進(jìn)行反饋。</p><p> 這樣一來整個(gè)用戶從登錄到成功輸入采購計(jì)劃的業(yè)務(wù)就完成了。在這個(gè)過程中設(shè)計(jì)了兩個(gè)主要的模塊,一個(gè)是對(duì)用戶進(jìn)行身份驗(yàn)證,一個(gè)是執(zhí)行訂單操作模塊。系統(tǒng)的其它功能實(shí)現(xiàn)就不一一進(jìn)行闡述了。</p><p> 5.3 數(shù)據(jù)庫持久存儲(chǔ)層</p><p> 訂單管理系統(tǒng)的數(shù)據(jù)存儲(chǔ)采用MySQL數(shù)據(jù)庫,通過JDBC訪問數(shù)據(jù)庫。系統(tǒng)加上
90、了hibernate框架后,并不是傳統(tǒng)的直接對(duì)數(shù)據(jù)庫操作,通過Hibernate的ORM映射,從數(shù)據(jù)庫中抽象出業(yè)務(wù)對(duì)象,程序調(diào)用Hibernate接口程序?qū)崿F(xiàn)數(shù)據(jù)庫表數(shù)據(jù)的增刪查改 [16]。業(yè)務(wù)邏輯層對(duì)數(shù)據(jù)的操作通過向數(shù)據(jù)庫持久化層提出接口方法來實(shí)現(xiàn)。業(yè)務(wù)邏輯層不用關(guān)心下層的數(shù)據(jù)庫操作。下表是業(yè)務(wù)邏輯層向數(shù)據(jù)庫持久化層提出的接口方法 [17]。 </p><p> 表5-2 數(shù)據(jù)庫表單</p>
91、;<p><b> 第六章 總結(jié)</b></p><p><b> 6.1 論文總結(jié)</b></p><p> 本次畢業(yè)設(shè)計(jì)完成了訂單管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),深入理解了BS架構(gòu)相對(duì)傳統(tǒng)CS應(yīng)用程序架構(gòu)的優(yōu)勢(shì),理解了MVC設(shè)計(jì)模式的原理,研究了分層架構(gòu),通過擴(kuò)展MVC模式,將M擴(kuò)展為模型層和數(shù)據(jù)庫持久層,這種分層設(shè)計(jì)使得程
92、序具有低耦合性,低耦合設(shè)計(jì)使得當(dāng)數(shù)據(jù)庫發(fā)生改變時(shí),模型層的邏輯處理不用改變,而邏輯層增刪時(shí),數(shù)據(jù)持久層也能正常提供服務(wù)。</p><p> 使用Hibernate框架實(shí)現(xiàn)數(shù)據(jù)庫底層交互,使訂單管理系統(tǒng)進(jìn)行數(shù)據(jù)交互十分容易,開發(fā)效率得到提升,維護(hù)代價(jià)也相應(yīng)降低。在Hibernate之上開發(fā)數(shù)據(jù)庫持久層接口,極大地提高了效率,hibernate的緩存機(jī)制也使得數(shù)據(jù)的訪問更快速 [18]。</p>&l
93、t;p> 整個(gè)訂單管理系統(tǒng),經(jīng)歷了需求分析、系統(tǒng)架構(gòu)分層、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、系統(tǒng)測(cè)試等過程,熟悉了軟件工程的開發(fā)流程。在系統(tǒng)分析設(shè)計(jì)過程中,采用面向?qū)ο蠓椒?,通過用例圖、類圖、序列圖對(duì)系統(tǒng)進(jìn)行建模,熟練掌握了使用Visio繪制相關(guān)視圖的方法。</p><p><b> 6.2 前景展望</b></p><p> 隨著互聯(lián)網(wǎng)的越來越普及,基于B
94、/S架構(gòu)的應(yīng)用程序市場(chǎng)需求很大,應(yīng)用范圍也非常廣,日漸趨于成熟穩(wěn)定。作為B/S架構(gòu)的訂單管理系統(tǒng)今后在電子商務(wù)B2C,B2B方面將會(huì)有非常大的市場(chǎng),利潤(rùn)空間巨大。本次畢業(yè)設(shè)計(jì)由于時(shí)間原因,所做出的成果還有許多不足之處,但此次畢業(yè)設(shè)計(jì)使我對(duì)專業(yè)方面的學(xué)習(xí)有了更進(jìn)一步的理解。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]webcasts.C#介
95、紹[EB/OL].http://baike.baidu.com/view/6590.htm,2009-05-25.</p><p> [2]Will Iverson.輕松掌握Hibernate J2EE開發(fā)者指南[M].北京:清華大學(xué)出版社, 2007.16—21.</p><p> [3]杰與杰.Struts技術(shù)介紹[EB/OL].http://blog.csdn.net
96、/xjjcn/archive/2006/03/06/617218.aspx, 2006-03-06.</p><p> [4]廖義奎.struts編程基礎(chǔ)與實(shí)例精講[M].北京:中國(guó)電力出版社,2006.39—41. </p><p> [5]Yang Kaiying.Research and Implementation of Struts Framework [J].Micro C
97、omputer Application,2005.6(2):27—29.</p><p> [6]Cbuck Cavaness.Jakarta Struts [M].北京:清華大學(xué)出版社,2007.119—121.</p><p> [7]孫衛(wèi)琴.Tomcat與java web開發(fā)技術(shù)詳解[M].北京:電子工業(yè)出版社,2004.234—235.</p><p>
98、 [8]Naveen Balani.Spring框架架簡(jiǎn)介[EB/OL].http://www.ibm.com/developerworks/ cn/ java/ wa-spring1/,2009-05-20.</p><p> [9]付京周.java數(shù)據(jù)庫持久層開發(fā)實(shí)踐[M].北京:人民郵電出版社,2007.3—4.</p><p> [10]劉洋.精通hibernate [M].
99、北京:清華大學(xué)出版社,2007.8—10.</p><p> [11]Hibernate.Hibernate官方中文參考手冊(cè)[EB/OL].http://www.hibernate.org,2002-06-07.</p><p> [12]Hibernate.Hibernate3.2參考文檔[EB/OL].http://www.hibernate.org,2002-06-07.<
100、/p><p> [13]Andy Khan.Java Excel API [EB/OL].http://www.andykhan.com/jexcelapi/,2001-11-14.</p><p> [14]M Blum.A simple unpredictable pseudo random number generator [J].Society for Industrial and
101、 Applied Mathematics,17(1):45—47.</p><p> [15]Sartaj Sahni.Data Structures Algorithms and Allpplications in C++[M].北京:機(jī)械工業(yè)出版社,2006.434—436.</p><p> [16]謝楊.J2EE究竟是什么[EB/OL].http://www.ccw.com.c
102、n/htm/center/tech/02_6_7_2.asp,2002-06-07.</p><p> [17]java高手.Java高手談?wù)揌ibernate的發(fā)展之路[EB/OL].http://friend365.javaeye.com /blog /111617,2007-08-17. </p><p> [18]曲朝陽.基于Struts+Hibernate架構(gòu)的應(yīng)用系統(tǒng)設(shè)計(jì)與
103、實(shí)現(xiàn)[J].東北電力大學(xué)學(xué)報(bào),26(4):18—22.</p><p><b> 外文資料</b></p><p> 英文標(biāo)題:Teaching a Service Course in Software Engineering</p><p> 出處:ASEE/IEEE Frontiers in Education Conference&
104、lt;/p><p> 作者:Henry L.Welch</p><p><b> 中文譯文</b></p><p> 英文標(biāo)題:Teaching a Service Course in Software Engineering</p><p> 出處:ASEE/IEEE Frontiers in Education
105、Conference</p><p> 作者:Henry L.Welch</p><p><b> 軟件工程課程的教學(xué)</b></p><p> 摘要——獨(dú)立軟件的快速發(fā)展導(dǎo)致大量產(chǎn)生向非軟件工程學(xué)科(如計(jì)算機(jī)工程師,計(jì)算機(jī)科學(xué)家)介紹軟件工程的概況課程的產(chǎn)生。軟件工程畢業(yè)生學(xué)位項(xiàng)目(SE2004)和軟件工程知識(shí)體系(SWEBOK)的指導(dǎo)
106、方針即是兩大軟件工程方針并廣泛被接受。本篇論文將討論這些政策的推薦和建議一個(gè)該課程題目的合適范圍以及深度剖析軟件工程的課程。向軟件工程師所提供的高校級(jí)別的軟件工程長(zhǎng)期課程的大綱會(huì)和MSOE教學(xué)中成功的案例一起展示。近來,軟件工程課程的改變使得MSOE的課程從4分的大學(xué)教育向3分的??平逃D(zhuǎn)移。其新課程大綱亦將在論文中展示。</p><p><b> 介紹</b></p>&l
107、t;p> 軟件工程的學(xué)科出現(xiàn)在計(jì)算機(jī)早期的年代,約是二十世紀(jì)五十年代。隨著軟件體系的逐漸龐大和復(fù)雜,軟件工程的發(fā)展變得不再是簡(jiǎn)單的靠幾個(gè)熟悉計(jì)算機(jī)項(xiàng)目的工程師和科學(xué)家便能預(yù)測(cè)。為了滿足需要,一幫有純熟技巧并經(jīng)過訓(xùn)練的專家為了軟件發(fā)展提供了大量幫助并使其成為今天所熟知的樣子。最初,軟件工程只被看作計(jì)算機(jī)的分支方面,但是到了九十年代中后期便逐漸成為獨(dú)立的學(xué)科。并在2003年被ABET承認(rèn)為第一軟件工程學(xué)位項(xiàng)目。軟件工程更被ASEE承
108、認(rèn)為一門嚴(yán)格的學(xué)科。</p><p> 作為獨(dú)立的學(xué)科,軟件工程如今被認(rèn)為是向其他工程學(xué)科和計(jì)算機(jī)科學(xué),信息技術(shù)提供結(jié)構(gòu)和內(nèi)容指導(dǎo)的學(xué)科。就像機(jī)械工程向電學(xué)工程師提供機(jī)械課程和電學(xué)工程向機(jī)械工程師提供電學(xué)課程一樣,軟件工程向更大的工程學(xué)科范圍提供課程是十分重要的。</p><p> 本篇論文將展示高校級(jí)別軟件工程課程的教學(xué)大綱(CS489)和證明各種組成軟件工程出版物選擇理由的建議的充
109、分性。這門學(xué)科介紹軟件工程向其他領(lǐng)域的成功將會(huì)被展示。而且,一個(gè)??栖浖こ虒W(xué)科大概的大綱亦一并展示。</p><p><b> 軟件工程的組織協(xié)會(huì)</b></p><p> 隨著軟件工程成為獨(dú)立的學(xué)科。大量的技術(shù)學(xué)者和有興趣的教授為了更好的認(rèn)證技術(shù),組織了軟件工程知識(shí)的核心結(jié)構(gòu)。兩個(gè)最著名的意圖制定軟件工程元素的組織是SE2004和SWEBOK。這些組織力圖使軟
110、件工程劃分為幾個(gè)領(lǐng)域,但是各自采取了有所不同的方法去定義技術(shù),訓(xùn)練和方法。下面將會(huì)詳細(xì)介紹。</p><p><b> I. SE2004</b></p><p> 在兩個(gè)標(biāo)準(zhǔn)當(dāng)中,SE2004方針對(duì)教育者發(fā)展軟件工程學(xué)位項(xiàng)目最有幫助。它代表IEEE計(jì)算機(jī)協(xié)會(huì)和計(jì)算機(jī)械組織的聯(lián)合。SE2004注重大學(xué)四年傳授學(xué)生技術(shù),訓(xùn)練和方法。而且SE2004包括對(duì)某方面學(xué)習(xí)的
111、教育時(shí)數(shù)和學(xué)習(xí)單元[3, p. 21]。增加的指導(dǎo)是以19個(gè)課程的方式提供,這會(huì)對(duì)建議在學(xué)位項(xiàng)目的學(xué)習(xí)過程中完成的任務(wù)的組織和安排又很大的幫助。SE2004提供10個(gè)知識(shí)領(lǐng)域: 計(jì)算 本質(zhì)(CMP) ,數(shù)學(xué)和工程基本規(guī)律 (FND) ,專業(yè)學(xué)習(xí)(PRF) ,軟件模型和 分析(MAA) ,軟件設(shè)計(jì)(DES) ,軟件 認(rèn)證和生效(VAV) ,軟件演化(EVL) ,軟件進(jìn)程(PRO) ,軟件質(zhì)量(QUA) ,和軟件管理(MGT).每個(gè)知識(shí)領(lǐng)域
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)(論文)+基于struts的圖書預(yù)訂管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于Struts框架的訂單供貨系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于struts的體育商城網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于struts2技術(shù)bbs論壇系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于struts的電子銀行畢業(yè)設(shè)計(jì)系統(tǒng)開題報(bào)告
- 基于Struts的圖片管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于web的畢業(yè)設(shè)計(jì)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 基于Struts的工程管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Struts的家校通管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Struts的醫(yī)院管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Struts架構(gòu)的庫存管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Struts高校教務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于STRUTS框架的合同管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Struts框架的商場(chǎng)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Struts架構(gòu)的物資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于web的畢業(yè)設(shè)計(jì)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于Struts的通用權(quán)限管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Struts的汽車租賃管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Struts框架的物資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Struts技術(shù)的公文管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論