日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

基于java百货中心供应链管理系统(含源文件)

發(fā)布時(shí)間:2025/3/15 windows 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于java百货中心供应链管理系统(含源文件) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

歡迎添加微信互相交流學(xué)習(xí)哦!

項(xiàng)目源碼:https://gitee.com/oklongmm/biye

百貨中心供應(yīng)鏈管理系統(tǒng)

?
百貨中心供應(yīng)鏈管理系統(tǒng)
摘要
近年來(lái),隨著計(jì)算機(jī)技術(shù)的發(fā)展,以及信息化時(shí)代下企業(yè)對(duì)效率的需求,計(jì)算機(jī)技術(shù)與通信技術(shù)已經(jīng)被越來(lái)越多地應(yīng)用到各行各業(yè)中去。百貨中心作為物流產(chǎn)業(yè)鏈中重要的一環(huán),為了應(yīng)對(duì)新興消費(fèi)方式的沖擊,從供貨到銷售的各個(gè)環(huán)節(jié)也迫切地需要實(shí)現(xiàn)信息化、自動(dòng)化。而上面所提到的這些環(huán)節(jié),在二十世紀(jì)中期后被稱為“供應(yīng)鏈”,也是在本世紀(jì)初才在中國(guó)受到關(guān)注的一門新興科學(xué)。
本文就百貨中心供應(yīng)鏈管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)展開(kāi)論述,按照軟件工程開(kāi)發(fā)的實(shí)際步驟,依次對(duì)該項(xiàng)目的可行性分析、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)以及系統(tǒng)測(cè)試分別進(jìn)行闡述。
在查閱了各界媒體資料、分析了國(guó)內(nèi)外供應(yīng)鏈管理系統(tǒng)的基礎(chǔ)上,經(jīng)過(guò)認(rèn)真學(xué)習(xí)與不懈探索,利用J2EE技術(shù)和Mysql數(shù)據(jù)庫(kù),最終完成了百貨中心供應(yīng)鏈管理系統(tǒng)的開(kāi)發(fā),并經(jīng)過(guò)一系列測(cè)試及試用,達(dá)到了最初的設(shè)計(jì)目標(biāo)。

關(guān)鍵詞:供應(yīng)鏈,軟件工程,J2EE
?
supply chain management system of department store
Abstract
In recent years, with the development of computer technology, and the enterprise is in great demand of efficiency in the information era, computer technology and information technology has been increasingly applied to all walks of life. Department store is an important part of logistics industry chain, in order to cope with the emerging consumer's impact, from supplying marketing, every aspect needs to implement informatization and automation urgently. These aspects mentioned above came to be known as the "supply chain" in the middle of twentieth Century, which is a new science not attached attention from China until the beginning of this century.
In this paper, the design and development of supply chain management system of department store is described and analyzed, according to the actual steps of software engineering, ?the project feasibility analysis, demand analysis, outline design, detailed design, system implementation and system test are described individually.?
Under the base of consulting the media data, analyzing the supply chain management system at home and abroad. After study and exploration, ?finally the development of supply chain management system of department store is completed using J2EE technology and Mysql database. With a series of tests, the system has met the original design goals.

Key words: supply chain, software engineering,J2EE ?
目錄
1引言?? ?1
1.1課題背景?? ?1
1.2目的和意義?? ?2
1.3研究?jī)?nèi)容和組織結(jié)構(gòu)?? ?2
2開(kāi)發(fā)工具及技術(shù)?? ?3
2.1開(kāi)發(fā)工具?? ?3
2.2使用技術(shù)?? ?4
3可行性分析?? ?6
3.1法律的可行性?? ?6
3.2經(jīng)濟(jì)的可行性?? ?6
3.3技術(shù)的可行性?? ?6
4需求分析?? ?7
4.1系統(tǒng)功能分析?? ?7
4.1.1經(jīng)理用例圖?? ?7
4.1.2人事部員工用例圖?? ?7
4.1.3采購(gòu)部員工用例圖?? ?8
4.1.4物資部員工用例圖?? ?8
4.1.5銷售部員工用例圖?? ?9
4.2功能模塊需求分析?? ?9
4.3數(shù)據(jù)流圖?? ?10
4.3.1頂層數(shù)據(jù)流圖?? ?10
4.3.2一層數(shù)據(jù)流圖?? ?10
4.4數(shù)據(jù)字典?? ?11
4.4.1數(shù)據(jù)項(xiàng)的描述?? ?11
4.4.2數(shù)據(jù)流的描述?? ?12
4.4.3描述外部實(shí)體?? ?14
5系統(tǒng)設(shè)計(jì)?? ?15
5.1系統(tǒng)結(jié)構(gòu)設(shè)計(jì)?? ?15
5.2系統(tǒng)子模塊功能介紹?? ?15
5.3數(shù)據(jù)庫(kù)設(shè)計(jì)?? ?16
5.3.1數(shù)據(jù)庫(kù)概念設(shè)計(jì)(E-R模型)?? ?16
5.3.2數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)?? ?17
6系統(tǒng)實(shí)現(xiàn)?? ?20
6.1系統(tǒng)登錄界面?? ?22
6.2登錄成功界面?? ?23
6.3人事管理界面?? ?25
6.4合作公司管理界面?? ?26
6.5采購(gòu)管理界面?? ?28
6.6庫(kù)存管理界面?? ?31
6.7銷售管理界面?? ?34
6.8經(jīng)營(yíng)統(tǒng)計(jì)界面?? ?35
7系統(tǒng)測(cè)試?? ?35
7.1測(cè)試目的?? ?35
7.2測(cè)試方法?? ?36
7.3測(cè)試結(jié)果?? ?36
8總結(jié)?? ?37
參考文獻(xiàn)?? ?38
致謝?? ?39
?
1 ?引言
1.1 ?課題背景
隨著國(guó)內(nèi)物流行業(yè)的迅速發(fā)展,越來(lái)越多的企業(yè)認(rèn)識(shí)到了“供應(yīng)鏈”一詞的含義以及它對(duì)整個(gè)企業(yè)物流活動(dòng)的重大意義,于是,“供應(yīng)鏈管理”也逐漸受到了大家的重視。供應(yīng)鏈管理主要涉及到四個(gè)領(lǐng)域:供應(yīng)、生產(chǎn)計(jì)劃、物流、需求[1]。職能領(lǐng)域主要包括產(chǎn)品工程、產(chǎn)品技術(shù)保證、采購(gòu)、生產(chǎn)控制、庫(kù)存控制、倉(cāng)儲(chǔ)管理、分銷管理[2]。在供應(yīng)鏈管理中涉及到如此廣泛、復(fù)雜的物流活動(dòng),要對(duì)其進(jìn)行統(tǒng)籌、控制絕非易事,這也是我國(guó)企業(yè)目前在供應(yīng)鏈管理中亟待解決的難題。與此同時(shí),互聯(lián)網(wǎng)和網(wǎng)絡(luò)技術(shù)的進(jìn)步為我們解決這一問(wèn)題提供了方案,借助互聯(lián)網(wǎng)及互聯(lián)網(wǎng)技術(shù),企業(yè)各個(gè)物流階段的大量數(shù)據(jù)可以得到及時(shí)傳輸,并通過(guò)日益成熟的算法或處理手段實(shí)現(xiàn)對(duì)這些數(shù)據(jù)的準(zhǔn)確分析,從而指導(dǎo)企業(yè)的物流活動(dòng)或?qū)ξ磥?lái)做出預(yù)測(cè)。百貨中心作為現(xiàn)在物流以及商業(yè)中的重要一環(huán),為了應(yīng)對(duì)新興消費(fèi)方式的沖擊,其供應(yīng)鏈模式自然也有統(tǒng)籌優(yōu)化的必要,同時(shí),Internet和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展也為供應(yīng)鏈的管理提供了新的手段。
SCM(Supply Chain Management)系統(tǒng)即供應(yīng)鏈管理系統(tǒng),利用計(jì)算機(jī)和Internet的優(yōu)點(diǎn),將供應(yīng)鏈中的信息流加以收集并控制,只需要少量的人工,便可實(shí)現(xiàn)對(duì)整個(gè)供應(yīng)鏈進(jìn)行監(jiān)管[3]。
國(guó)際上研究供應(yīng)鏈主要是開(kāi)始于二戰(zhàn)后期的物流管理,主要從多級(jí)庫(kù)存以及生產(chǎn)-分銷的角度來(lái)研究供應(yīng)鏈的優(yōu)化問(wèn)題。從最初的物流管理到供應(yīng)鏈管理,再到如今把供應(yīng)鏈增長(zhǎng)到戰(zhàn)略管理來(lái)研究,花費(fèi)了半個(gè)多世紀(jì)的時(shí)間。國(guó)內(nèi)對(duì)供應(yīng)鏈的研究起步較晚,國(guó)內(nèi)一些企業(yè)對(duì)于供應(yīng)鏈管理的認(rèn)識(shí)比較膚淺,直到1997年以后,隨著各種有關(guān)供應(yīng)鏈方面的研究和報(bào)道增多,人們對(duì)物流領(lǐng)域的這一新鮮事物的關(guān)注也逐漸升溫,直到今天,許多國(guó)外的知名公司如IBM、SAP都能為企業(yè)的供應(yīng)鏈管理提供一整套的解決方案,國(guó)內(nèi)近些年也出現(xiàn)了許多解決企業(yè)供應(yīng)鏈管理問(wèn)題的公司和軟件[1]。但總體來(lái)說(shuō),對(duì)于這一門相對(duì)還很年輕的科學(xué),我們還有很長(zhǎng)的路要走。
隨著我國(guó)經(jīng)濟(jì)結(jié)構(gòu)調(diào)整的深入,對(duì)企業(yè)節(jié)能減排的要求更加嚴(yán)格,企業(yè)只有通過(guò)強(qiáng)化環(huán)境保護(hù)的自我約束機(jī)制,來(lái)降低產(chǎn)品和生產(chǎn)過(guò)程相關(guān)的環(huán)境污染所帶來(lái)的生產(chǎn)經(jīng)營(yíng)風(fēng)險(xiǎn)。綠色供應(yīng)鏈管理能使整個(gè)供應(yīng)鏈的資源消耗和環(huán)境負(fù)作用最小,并能有效滿足日益增長(zhǎng)的綠色消費(fèi)需求,從而提高供應(yīng)鏈的競(jìng)爭(zhēng)力。
因此,實(shí)施綠色供應(yīng)鏈管理是企業(yè)發(fā)展的必然趨勢(shì),這對(duì)我國(guó)供應(yīng)鏈管理行業(yè)提出了更高的要求。
1.2 ?目的和意義
對(duì)于課題-百貨中心供應(yīng)鏈管理系統(tǒng),在了解了傳統(tǒng)SCM的基礎(chǔ)上,結(jié)合了計(jì)算機(jī)及Internet技術(shù)的優(yōu)點(diǎn),旨在于簡(jiǎn)化操作,提高效率,提高數(shù)據(jù)、信息的安全程度,為企業(yè)及其員工提供一個(gè)更加便捷高效的工作環(huán)境。
與傳統(tǒng)僅僅利用表格、賬目來(lái)實(shí)現(xiàn)對(duì)供應(yīng)鏈的管理,基于Web的百貨中心供應(yīng)鏈管理系統(tǒng)具有如下優(yōu)點(diǎn):
1)?? ?信息存放在數(shù)據(jù)庫(kù)中,安全穩(wěn)定,便于備份;
2)?? ?不同職位的員工都可以使用一套系統(tǒng),節(jié)約成本、方便管理;
3)?? ?基于Web的辦公系統(tǒng),方便員工維護(hù),無(wú)地域限制;
4)?? ?利用計(jì)算機(jī)將不同數(shù)據(jù)整合,方便企業(yè)管理、進(jìn)行決策。
1.3 ?研究?jī)?nèi)容和組織結(jié)構(gòu)
本文主要通過(guò)對(duì)百貨中心供應(yīng)鏈管理系統(tǒng)進(jìn)行需求分析,結(jié)合供應(yīng)鏈管理的相關(guān)理論,設(shè)計(jì)出供應(yīng)鏈管理系統(tǒng)的各個(gè)功能模塊,并對(duì)其做出一定的說(shuō)明指導(dǎo),方便使用者進(jìn)行操作。
系統(tǒng)的主要研究?jī)?nèi)容包括:
1)?? ?百貨中心供應(yīng)鏈管理系統(tǒng)的可行性分析
研究供應(yīng)鏈管理相關(guān)方面的知識(shí),了解百貨中心供應(yīng)鏈的運(yùn)作模式及現(xiàn)狀,分析確定開(kāi)發(fā)本系統(tǒng)的必要性和可行性。
2)?? ?系統(tǒng)需求分析
確定業(yè)務(wù)流程,分析數(shù)據(jù)流向,完成數(shù)據(jù)流圖和系統(tǒng)用例圖的繪制,完成數(shù)據(jù)字典的制作。
3)?? ?系統(tǒng)概要/詳細(xì)設(shè)計(jì)
根據(jù)需求分析階段的結(jié)果,以提高百貨中心各層員工的工作效率為目的,將整個(gè)系統(tǒng)分成若干個(gè)小模塊,通過(guò)設(shè)計(jì)、編寫(xiě)代碼實(shí)現(xiàn)不同功能,完成數(shù)據(jù)庫(kù)的搭建,最后將整個(gè)系統(tǒng)進(jìn)行整合。
4)?? ?系統(tǒng)測(cè)試
對(duì)完成的系統(tǒng)進(jìn)行條件許可下的測(cè)試,對(duì)系統(tǒng)的安全性、穩(wěn)定性、容錯(cuò)性進(jìn)行評(píng)估。
本文組織結(jié)構(gòu):
1)?? ?引言部分-闡述本系統(tǒng)的該項(xiàng)研究的目的和范圍,以及該項(xiàng)研究工作在國(guó)民經(jīng)濟(jì)中的實(shí)用價(jià)值與理論意義;本文所要解決的問(wèn)題;論文內(nèi)容安排等。
2)?? ?開(kāi)發(fā)工具及技術(shù)分析-對(duì)于本系統(tǒng)開(kāi)發(fā)將要用到的開(kāi)發(fā)工具及技術(shù)進(jìn)行簡(jiǎn)單的說(shuō)明,并分析其優(yōu)勢(shì)。
3)?? ?系統(tǒng)需求分析-分析系統(tǒng)業(yè)務(wù)流程,為整個(gè)系統(tǒng)的設(shè)計(jì)開(kāi)發(fā)打下基礎(chǔ)。
4)?? ?概要/詳細(xì)設(shè)計(jì)-依據(jù)前文的分析進(jìn)一步設(shè)計(jì)系統(tǒng)的各模塊功能,為一些比較有難度的部分提供解決方案。
5)?? ?系統(tǒng)實(shí)現(xiàn)及測(cè)試-描述系統(tǒng)各模塊的功能并展示部分關(guān)鍵代碼,并且完成一些簡(jiǎn)單的數(shù)據(jù)錄入測(cè)試。
2 ?開(kāi)發(fā)工具及技術(shù)
2.1 ?開(kāi)發(fā)工具
本設(shè)計(jì)主要利用MyEclipse和Tomcat服務(wù)器,加上Mysql數(shù)據(jù)庫(kù)進(jìn)行開(kāi)發(fā),同時(shí)使用Maven來(lái)輔助、簡(jiǎn)化開(kāi)發(fā)。下面對(duì)使用到的開(kāi)發(fā)工具進(jìn)行簡(jiǎn)要的介紹。
1)?? ?MyEclipse
MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench,簡(jiǎn)稱MyEclipse)是一個(gè)功能豐富的JavaEE開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate[4]。它是對(duì)EclipseIDE的擴(kuò)展,是一個(gè)十分優(yōu)秀的用于開(kāi)發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開(kāi)源產(chǎn)品的支持都十分不錯(cuò)[5]。
2)?? ?Tomcat
Tomcat服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的Web應(yīng)用服務(wù)器,它屬于輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用,十分符合本項(xiàng)目的需求[6]。Tomcat運(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與郵件服務(wù)等開(kāi)發(fā)應(yīng)用系統(tǒng)常用的功能,并且它仍在不斷地改進(jìn)和完善中,因此十分受程序員的青睞。
3)?? ?Mysql
Mysql是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件之一[7]。MySQL所使用的SQL語(yǔ)言是用于訪問(wèn)數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。MySql使用C和C++編寫(xiě),并使用了多種編譯器進(jìn)行測(cè)試,保證源代碼的可移植性;支持多種操作系統(tǒng);為多種編程語(yǔ)言提供了API;支持多線程,充分利用CPU資源;提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑;可以處理?yè)碛猩锨f(wàn)條記錄的大型數(shù)據(jù)庫(kù)[8]。
4)?? ?Maven
Maven是基于項(xiàng)目對(duì)象模型(POM),可以通過(guò)一小段描述信息來(lái)管理項(xiàng)目的構(gòu)建,報(bào)告和文檔的軟件項(xiàng)目管理工具。Maven是一個(gè)項(xiàng)目管理工具,它包含了一個(gè)項(xiàng)目對(duì)象模型 (Project Object Model),一組標(biāo)準(zhǔn)集合,一個(gè)項(xiàng)目生命周期(Project Lifecycle),一個(gè)依賴管理系統(tǒng)(Dependency Management System),和用來(lái)運(yùn)行定義在生命周期階段(phase)中插件(plugin)目標(biāo)(goal)的邏輯。當(dāng)你使用Maven的時(shí)候,你用一個(gè)明確定義的項(xiàng)目對(duì)象模型來(lái)描述你的項(xiàng)目,然后Maven可以應(yīng)用橫切的邏輯,這些邏輯來(lái)自一組共享的(或者自定義的)插件。
2.2 ?使用技術(shù)
1)?? ?JSP
JSP, 全名為Java Server Pages,是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)技術(shù)標(biāo)準(zhǔn)[9]。在傳統(tǒng)的網(wǎng)頁(yè)HTML文件中加入Java程序片段和JSP標(biāo)簽,就構(gòu)成了JSP網(wǎng)頁(yè)java程序片段可以操縱數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)以及發(fā)送E-mail等,實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,這樣大大降低了對(duì)客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可以訪問(wèn)JSP網(wǎng)頁(yè)。
JSP的根本是一個(gè)簡(jiǎn)化的Servlet設(shè)計(jì),他實(shí)現(xiàn)了Html語(yǔ)法中的java擴(kuò)張(以 <%, %>形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的。通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽[10]。Web服務(wù)器在遇到訪問(wèn)JSP網(wǎng)頁(yè)的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁(yè)等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁(yè)所需要的功能。
2)?? ?SSH框架
SSH 為 struts + spring + hibernate的一個(gè)集成框架,是目前較流行的一種Web應(yīng)用程序開(kāi)源框架[11]。集成SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層,以幫助開(kāi)發(fā)人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的Web應(yīng)用程序。其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn),利用Hibernate框架對(duì)持久層提供支持,Spring做管理,管理struts和hibernate。
采用上述開(kāi)發(fā)模型,不僅實(shí)現(xiàn)了視圖、控制器與模型的徹底分離,而且還實(shí)現(xiàn)了業(yè)務(wù)邏輯層與持久層的分離[12]。這樣無(wú)論前端如何變化,模型層只需很少的改動(dòng),并且數(shù)據(jù)庫(kù)的變化也不會(huì)對(duì)前端有所影響,大大提高了系統(tǒng)的可復(fù)用性。而且由于不同層之間耦合度小,有利于團(tuán)隊(duì)成員并行工作,大大提高了開(kāi)發(fā)效率。
3)?? ?Tiles
Tiles 是一種JSP布局框架,主要目的是為了將復(fù)數(shù)的jsp頁(yè)面作為一個(gè)的頁(yè)面的部分機(jī)能,然后用來(lái)組合成一個(gè)最終表示用頁(yè)面用的,這樣的話,便于對(duì)頁(yè)面的各個(gè)機(jī)能的變更及維護(hù)。 Tiles使得struts在頁(yè)面的處理方面多了一種選擇。并且更容易實(shí)現(xiàn)代碼的重用。
4)?? ?JavaScript
JavaScript是一種基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語(yǔ)言[13]。同時(shí)也是一種廣泛用于客戶端Web開(kāi)發(fā)的腳本語(yǔ)言,常用來(lái)給HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集)網(wǎng)頁(yè)添加動(dòng)態(tài)功能,比如響應(yīng)用戶的各種操作, 是一種動(dòng)態(tài)、弱類型、基于原型的語(yǔ)言,內(nèi)置支持類。在HTML基礎(chǔ)上,使用JavaScript可以開(kāi)發(fā)交互式Web網(wǎng)頁(yè)[14]。JavaScript的出現(xiàn)使得網(wǎng)頁(yè)和用戶之間實(shí)現(xiàn)了一種實(shí)時(shí)性的、動(dòng)態(tài)的、交互性的關(guān)系,使網(wǎng)頁(yè)包含更多活躍的元素和更加精彩的內(nèi)容。JavaScript的一個(gè)重要功能就是面向?qū)ο蟮墓δ?#xff0c;通過(guò)基于對(duì)象的程序設(shè)計(jì),可以用更直觀、模塊化和可重復(fù)使用的方式進(jìn)行程序開(kāi)發(fā)。
3 ?可行性分析
在進(jìn)行系統(tǒng)開(kāi)發(fā)時(shí),會(huì)受到來(lái)自時(shí)間、資源等多方面的限制,因此,在每一個(gè)項(xiàng)目開(kāi)發(fā)開(kāi)始之前,首先進(jìn)行系統(tǒng)的可行性分析就顯得十分重要,它可以減少項(xiàng)目開(kāi)發(fā)的風(fēng)險(xiǎn),避免人力、物力、財(cái)力的浪費(fèi)[15]。下面將就法律、經(jīng)濟(jì)和技術(shù)三方面對(duì)本項(xiàng)目進(jìn)行討論。
3.1 ?法律的可行性
百貨中興供應(yīng)鏈管理系統(tǒng)是自主開(kāi)發(fā)的管理系統(tǒng),開(kāi)發(fā)過(guò)程中使用的開(kāi)發(fā)工具及技術(shù)都是免費(fèi)的,開(kāi)源的,不存在侵權(quán)的問(wèn)題,所有的源代碼都是親自編寫(xiě)或直接由工具自動(dòng)生成,沒(méi)有使用他人的項(xiàng)目成果或方案,因此在法律上是可行的。
3.2 ?經(jīng)濟(jì)的可行性
本系統(tǒng)所使用的開(kāi)發(fā)工具都是開(kāi)源的,為開(kāi)發(fā)軟件節(jié)省了大量的金錢和時(shí)間,采用的技術(shù)也是完全開(kāi)放的、免費(fèi)的,達(dá)到了降低成本的目的。軟件對(duì)企業(yè)的硬件需求也不高,市場(chǎng)上的中低檔計(jì)算機(jī)也可以符合使用要求,同時(shí)由于利用了互聯(lián)網(wǎng),比一般的供應(yīng)鏈管理系統(tǒng)更加經(jīng)濟(jì)、效率。
3.3 ?技術(shù)的可行性
系統(tǒng)使用的開(kāi)發(fā)工具是MyEclipse、Maven和Mysql數(shù)據(jù)庫(kù),工具免費(fèi)且小巧,安裝方便,簡(jiǎn)單易學(xué)。并且采用了目前十分流行的J2EE技術(shù),因而有很多途徑找到相關(guān)的學(xué)習(xí)資料,在大學(xué)期間我也學(xué)習(xí)了許多相關(guān)的知識(shí),包括對(duì)于數(shù)據(jù)庫(kù)和編程思想的學(xué)習(xí),使得在這個(gè)項(xiàng)目中更容易上手,能夠迅速投入到系統(tǒng)的設(shè)計(jì)開(kāi)發(fā)中去。
4 ?需求分析
4.1 ?系統(tǒng)功能分析
經(jīng)過(guò)對(duì)百貨中心供銷流程的了解和對(duì)供應(yīng)鏈管理相關(guān)資料的分析,決定將系統(tǒng)用戶分成五類不同的用例,系統(tǒng)應(yīng)根據(jù)用例的不同職能實(shí)現(xiàn)不同的功能,經(jīng)過(guò)分析,系統(tǒng)應(yīng)具備人事管理、合作公司管理、采購(gòu)訂單管理、庫(kù)存管理、銷售管理、經(jīng)營(yíng)統(tǒng)計(jì)六大功能模塊。具體用例圖如下:
4.1.1 ?經(jīng)理用例圖
經(jīng)理用例-經(jīng)理應(yīng)是百貨中心的最高負(fù)責(zé)人之一,負(fù)責(zé)百貨中心大部分的業(yè)務(wù)管理及監(jiān)督工作,必要時(shí)也可以完成所有其他用例的操作,地位相當(dāng)于系統(tǒng)管理員,具有最高權(quán)限。
?
圖4.1 經(jīng)理用例圖
4.1.2 ?人事部員工用例圖
人事部員工用例-人事部員工主要操作系統(tǒng)的人事管理模塊,同時(shí)也可以進(jìn)入經(jīng)營(yíng)統(tǒng)計(jì)模塊查看。
?
圖4.2人事部員工用例圖
4.1.3 ?采購(gòu)部員工用例圖
采購(gòu)部員工用例-采購(gòu)部員工主要負(fù)責(zé)操作系統(tǒng)的合作公司管理模塊和采購(gòu)訂單管理模塊,同時(shí)也可以進(jìn)入經(jīng)營(yíng)統(tǒng)計(jì)模塊查看。
?
圖4.3采購(gòu)部員工用例圖
4.1.4 ?物資部員工用例圖
物資部員工用例-物資部員工主要負(fù)責(zé)操作系統(tǒng)的庫(kù)存管理模塊,同時(shí)也可以進(jìn)入經(jīng)營(yíng)統(tǒng)計(jì)模塊查看。
?
圖4.4物資部員工用例圖
4.1.5 ?銷售部員工用例圖
銷售部員工用例-物資部員工主要負(fù)責(zé)操作系統(tǒng)的銷售管理模塊,同時(shí)也可以進(jìn)入經(jīng)營(yíng)統(tǒng)計(jì)模塊查看。
?
圖4.5銷售部員工用例圖
4.2 ?功能模塊需求分析
考慮到用戶可能對(duì)計(jì)算機(jī)操作不是十分熟悉,本系統(tǒng)應(yīng)具備操作簡(jiǎn)便、界面友好的特點(diǎn),再結(jié)合系統(tǒng)分析的結(jié)論,本系統(tǒng)還應(yīng)增加一個(gè)登錄模塊以實(shí)現(xiàn)不同用例登錄系統(tǒng)后可以進(jìn)行不同的操作,具體分析如下:
1)?? ?系統(tǒng)界面簡(jiǎn)潔大方,使用簡(jiǎn)便,有友好的操作提示信息;
2)?? ?系統(tǒng)具有一定的安全性,避免惡意操作對(duì)系統(tǒng)及數(shù)據(jù)造成損害;
3)?? ?貼近實(shí)際用戶的工作情況,對(duì)一些關(guān)鍵數(shù)據(jù)提供打印、保存功能;
4)?? ?系統(tǒng)應(yīng)具備登錄、人事管理、合作公司管理、采購(gòu)訂單管理、庫(kù)存管理、銷售管理、經(jīng)營(yíng)統(tǒng)計(jì)七大功能。
4.3 ?數(shù)據(jù)流圖
根據(jù)之前的分析,繪制數(shù)據(jù)流圖。
4.3.1 ?頂層數(shù)據(jù)流圖
用戶通過(guò)輸入用戶名和密碼,來(lái)實(shí)現(xiàn)用戶登錄,登錄失敗時(shí)會(huì)給出相應(yīng)的提示并留在登錄頁(yè)面,登錄成功后可以順利進(jìn)入供應(yīng)鏈管理系統(tǒng)。
?
圖4.6 系統(tǒng)頂層數(shù)據(jù)流圖
4.3.2 ?一層數(shù)據(jù)流圖
成功登錄的用戶可以進(jìn)入不同的模塊完成相應(yīng)的操作,根據(jù)登錄用戶的身份不同,可以進(jìn)行的操作也會(huì)不同。
?
圖4.7 系統(tǒng)第一層數(shù)據(jù)流圖
4.4 ?數(shù)據(jù)字典
數(shù)據(jù)字典的作用是對(duì)數(shù)據(jù)流圖中的各種成分進(jìn)行詳細(xì)說(shuō)明,作為數(shù)據(jù)流圖的細(xì)節(jié)補(bǔ)充,和數(shù)據(jù)流圖一起構(gòu)成完整的系統(tǒng)需求模型[16]。數(shù)據(jù)字典一般應(yīng)包括對(duì)數(shù)據(jù)項(xiàng),數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)處理的說(shuō)明。以下列出本系統(tǒng)的主要數(shù)據(jù)字典條目。
4.4.1 ?數(shù)據(jù)項(xiàng)的描述
表4.1 用戶信息數(shù)據(jù)項(xiàng)描述
數(shù)據(jù)項(xiàng)?? ?類型?? ?長(zhǎng)度?? ?值范圍
ID?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間
用戶名?? ?文本?? ?255?? ?最多255個(gè)字符
密碼?? ?文本?? ?255?? ?最多255個(gè)字符

表4.2 合作公司數(shù)據(jù)項(xiàng)描述
數(shù)據(jù)項(xiàng)?? ?類型?? ?長(zhǎng)度?? ?值范圍
ID?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間
公司名?? ?文本?? ?255?? ?最多255個(gè)字符

表4.3 采購(gòu)訂單數(shù)據(jù)項(xiàng)描述
數(shù)據(jù)項(xiàng)?? ?類型?? ?長(zhǎng)度?? ?值范圍
ID?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間
商品名?? ?文本?? ?255?? ?最多255個(gè)字符
數(shù)量?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間
價(jià)格?? ?數(shù)字?? ??? ?雙精度浮點(diǎn)型

表4.4 庫(kù)存信息數(shù)據(jù)項(xiàng)描述
數(shù)據(jù)項(xiàng)?? ?類型?? ?長(zhǎng)度?? ?值范圍
ID?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間
產(chǎn)品名?? ?文本?? ?255?? ?最多255個(gè)字符
數(shù)量?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間

表4.5 銷售信息數(shù)據(jù)項(xiàng)描述
數(shù)據(jù)項(xiàng)?? ?類型?? ?長(zhǎng)度?? ?值范圍
ID?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間
數(shù)量?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間
價(jià)格?? ?數(shù)字?? ??? ?雙精度浮點(diǎn)型
4.4.2 ?數(shù)據(jù)流的描述
1)?? ?數(shù)據(jù)流編號(hào):F1
數(shù)據(jù)流名:員工簡(jiǎn)要信息
簡(jiǎn)述:判斷用戶輸入的信息是否符合要求,登錄成功后用戶可根據(jù)自己的權(quán)限對(duì)系統(tǒng)進(jìn)行操作
組成:用戶名+密碼
2)?? ?數(shù)據(jù)流編號(hào):F2、F3、F4
數(shù)據(jù)流名:員工登錄信息
簡(jiǎn)述:獲得與員工權(quán)限相關(guān)的信息,根據(jù)不同權(quán)限在頁(yè)面上顯示不同的操作選項(xiàng)
組成:ID+用戶名+密碼+真實(shí)姓名+所在部門
3)?? ?數(shù)據(jù)流編號(hào):F5、F6
數(shù)據(jù)流名:員工信息
簡(jiǎn)述:實(shí)現(xiàn)對(duì)員工信息的增、刪、改、查操作
組成:ID+用戶名+密碼+真實(shí)姓名+性別+年齡+所在部門+創(chuàng)建人+創(chuàng)建時(shí)間+修改人+修改時(shí)間
4)?? ?數(shù)據(jù)流編號(hào):F7、F8
數(shù)據(jù)流名:合作公司信息
簡(jiǎn)述:實(shí)現(xiàn)對(duì)合作公司信息的增、刪、改、查操作
組成:ID+公司名+負(fù)責(zé)人+公司地址+聯(lián)系電話+創(chuàng)建人+創(chuàng)建時(shí)間+修改人+修改時(shí)間
5)?? ?數(shù)據(jù)流編號(hào):F9、F10
數(shù)據(jù)流名:采購(gòu)訂單信息
簡(jiǎn)述:實(shí)現(xiàn)對(duì)采購(gòu)訂單信息的增、刪、改、查操作
組成:ID+商品名+數(shù)量+價(jià)格+運(yùn)輸方式+貨物狀態(tài)+創(chuàng)建人+創(chuàng)建時(shí)間+修改人+修改時(shí)間
6)?? ?數(shù)據(jù)流編號(hào):F11、F12
數(shù)據(jù)流名:庫(kù)存信息
簡(jiǎn)述:實(shí)現(xiàn)對(duì)庫(kù)存信息的增、改、查操作
組成:ID+產(chǎn)品名+數(shù)量+存放位置+存放狀態(tài)+創(chuàng)建人+創(chuàng)建時(shí)間+修改人+修改時(shí)間
7)?? ?數(shù)據(jù)流編號(hào):F13、F14
數(shù)據(jù)流名:銷售信息
簡(jiǎn)述:實(shí)現(xiàn)對(duì)庫(kù)存信息的增、查操作
組成:ID +數(shù)量+價(jià)格+創(chuàng)建人+創(chuàng)建時(shí)間+修改人+修改時(shí)間
8)?? ?數(shù)據(jù)流編號(hào):F15
數(shù)據(jù)流名:銷售人員信息
簡(jiǎn)述:統(tǒng)計(jì)銷售人員情況
組成:姓名+銷售金額
9)?? ?數(shù)據(jù)流編號(hào):F16
數(shù)據(jù)流名:采購(gòu)人員信息
簡(jiǎn)述:統(tǒng)計(jì)采購(gòu)人員情況
組成:姓名+采購(gòu)金額
10)?? ?數(shù)據(jù)流編號(hào):F17
數(shù)據(jù)流名:銷售商品信息
簡(jiǎn)述:統(tǒng)計(jì)銷售商品信息
組成:產(chǎn)品名+銷售總量
4.4.3 ?描述外部實(shí)體
1)?? ?外部實(shí)體名稱:經(jīng)理
簡(jiǎn)述:系統(tǒng)管理員,具有最高權(quán)限
輸入的數(shù)據(jù)流:人事信息、合作公司信息、采購(gòu)訂單信息、庫(kù)存信息、銷售信息
輸出的數(shù)據(jù)流:人事信息、合作公司信息、采購(gòu)訂單信息、庫(kù)存信息、銷售信息、經(jīng)營(yíng)統(tǒng)計(jì)
2)?? ?外部實(shí)體名稱:人事部員工
簡(jiǎn)述:負(fù)責(zé)百貨中心的人事活動(dòng)及管理
輸入的數(shù)據(jù)流:人事信息
輸出的數(shù)據(jù)流:人事信息、經(jīng)營(yíng)統(tǒng)計(jì)
3)?? ?外部實(shí)體名稱:采購(gòu)部員工
簡(jiǎn)述:負(fù)責(zé)百貨中心與外部合作、采購(gòu)的事物
輸入的數(shù)據(jù)流:合作公司信息、采購(gòu)訂單信息
輸出的數(shù)據(jù)流:合作公司信息、采購(gòu)訂單信息、經(jīng)營(yíng)統(tǒng)計(jì)
4)?? ?外部實(shí)體名稱:物資部員工
簡(jiǎn)述:負(fù)責(zé)管理百貨中心的倉(cāng)庫(kù)、完成商品的入庫(kù)、出庫(kù)工作
輸入的數(shù)據(jù)流:庫(kù)存信息
輸出的數(shù)據(jù)流:庫(kù)存信息、經(jīng)營(yíng)統(tǒng)計(jì)
5)?? ?外部實(shí)體名稱:銷售部員工
簡(jiǎn)述:負(fù)責(zé)百貨中心的銷售工作
輸入的數(shù)據(jù)流:銷售信息
輸出的數(shù)據(jù)流:銷售信息、經(jīng)營(yíng)統(tǒng)計(jì)
5 ?系統(tǒng)設(shè)計(jì)
5.1 ?系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
按照需求分析階段的結(jié)果,本系統(tǒng)的結(jié)構(gòu)主要由兩部分構(gòu)成,首先是登錄模塊,之后會(huì)由登錄模塊中返回的結(jié)果給用戶展示可以進(jìn)行的操作,包括人事管理、合作公司管理、采購(gòu)訂單管理等六大類操作。系統(tǒng)結(jié)構(gòu)圖大致如下:


圖5.1 系統(tǒng)結(jié)構(gòu)圖
5.2 ?系統(tǒng)子模塊功能介紹
1)?? ?登錄模塊:用戶通過(guò)輸入用戶名和密碼來(lái)登錄系統(tǒng),如果輸入錯(cuò)誤會(huì)返回登錄界面,成功登錄后用戶的登錄信息會(huì)存儲(chǔ)在瀏覽器中,系統(tǒng)會(huì)根據(jù)這些信息判斷該用戶的操作權(quán)限。
2)?? ?人事管理模塊:已經(jīng)登錄的符合權(quán)限的用戶可以在此模塊中查看公司員工信息,也可以根據(jù)需要添加、修改、刪除員工信息。
3)?? ?合作公司管理模塊:已經(jīng)登錄的符合權(quán)限的用戶可以在此模塊中查看合作公司信息,也可以根據(jù)需要添加、修改、刪除合作公司信息。
4)?? ?采購(gòu)訂單管理模塊:已經(jīng)登錄的符合權(quán)限的用戶可以在此模塊中查看采購(gòu)訂單信息,也可以根據(jù)需要添加、修改、刪除采購(gòu)訂單信息。
5)?? ?庫(kù)存管理模塊:已經(jīng)登錄的符合權(quán)限的用戶可以在此模塊中查看商品庫(kù)存信息,也可以根據(jù)需要添加、修改、商品庫(kù)存信息。
6)?? ?銷售管理模塊:已經(jīng)登錄的符合權(quán)限的用戶可以在此模塊中查看商品銷售信息,也可以根據(jù)需要添加商品銷售信息。
7)?? ?經(jīng)營(yíng)統(tǒng)計(jì)模塊:已經(jīng)登錄的用戶可以在此模塊中查看最佳銷售、最佳采購(gòu)、最佳商品的信息。
5.3 ?數(shù)據(jù)庫(kù)設(shè)計(jì)
5.3.1 ?數(shù)據(jù)庫(kù)概念設(shè)計(jì)(E-R模型)
本系統(tǒng)實(shí)體與其屬性的關(guān)系用E-R模型表示如下(見(jiàn)下頁(yè)):


圖5.1 百貨中心供應(yīng)鏈管理系統(tǒng)E-R模型

5.3.2 ?數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)
根據(jù)上述模型,在將其轉(zhuǎn)化成關(guān)系模型后,在數(shù)據(jù)庫(kù)(數(shù)據(jù)庫(kù)名:chain)中創(chuàng)建如下5張表:
1)?? ?用戶表(表名:tb_chain_user)
用來(lái)存儲(chǔ)公司員工的表,主要用于系統(tǒng)的登錄判斷。包含用戶id、用戶名、密碼、真實(shí)姓名、性別、年齡、就職日期、是否為管理員、照片、所在部門、創(chuàng)建人、創(chuàng)建日期、更新人、更新日期字段。
表5.1用戶表(tb_chain_user)
?
2)?? ?合作公司表(表名:tb_chain_cooperation)
用來(lái)存儲(chǔ)百貨中心的合作公司的表,主要用于管理與百貨中心合作的公司及公司的商品。主要包含合作公司id、公司名、負(fù)責(zé)人、公司地址、聯(lián)系電話、創(chuàng)建人、創(chuàng)建日期、更新人、更新日期等字段。
表5.2 合作公司表(tb_chain_cooperation)
?
3)?? ?訂單表(表名:tb_chain_purchase)
用來(lái)存儲(chǔ)采購(gòu)訂單的表,用于記錄采購(gòu)的商品在入庫(kù)前的狀態(tài)。包含訂單id、商品名、數(shù)量、價(jià)格、運(yùn)送方式、運(yùn)送狀態(tài)、商品公司(合作公司)、創(chuàng)建人、創(chuàng)建時(shí)間、更新人、更新時(shí)間字段。
表5.3 訂單表(tb_chain_purchase)
?
4)?? ?庫(kù)存表(表名:tb_chain_stock)
用來(lái)存儲(chǔ)商品的表,用于顯示百貨中心倉(cāng)庫(kù)中的貨物及其相關(guān)信息。包含商品id、商品名、數(shù)量、擺放位置、存儲(chǔ)狀態(tài)、創(chuàng)建人、創(chuàng)建時(shí)間、更新人、更新時(shí)間字段。
表5.4 庫(kù)存表(tb_chain_stock)
?
5)?? ?銷售單表(表名:tb_chain_sale)
用來(lái)存儲(chǔ)銷售信息的表,用于存儲(chǔ)百貨中心商品的銷售情況。包含銷售單id、數(shù)量、價(jià)格、商品id、用戶id、創(chuàng)建人、創(chuàng)建時(shí)間、更新人、更新時(shí)間字段。

表5.5 銷售單表(tb_chain_sale)
?
6 ?系統(tǒng)實(shí)現(xiàn)
在經(jīng)過(guò)了需求分析、概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)后,便開(kāi)始了百貨中心供應(yīng)鏈管理系統(tǒng)的實(shí)現(xiàn)階段,首先我利用Tiles結(jié)合JavaScript對(duì)頁(yè)面進(jìn)行布局,之后再利用Maven完成整個(gè)項(xiàng)目框架的搭建,利用Hibernate反向工程生成Java實(shí)體類,再使用Struts和Spring完成之前設(shè)計(jì)的業(yè)務(wù)邏輯。部分關(guān)鍵代碼及最終程序的運(yùn)行效果如下:
1)?? ?登錄模塊關(guān)鍵代碼
public String logon() {
? ? ? ? UserEntity userEntity = userService.getUserEntity(username, password);
? ? ? ? if (userEntity != null) {
? ? ? ? ? ? ActionContext.getContext().getSession().put("user", userEntity);
? ? ? ? ? ? return SUCCESS;
? ? ? ? } else {
? ? ? ? ? ? this.addActionError("用戶名或者密碼不正確");
? ? ? ? ? ? return INPUT;
? ? ? ? }
? ? }

2)?? ?增、刪、改、查功能調(diào)用關(guān)鍵代碼
public String list() {
? ? ? ? if (userEntityPaginationBean == null) {
? ? ? ? ? ? userEntityPaginationBean = new PaginationBean<UserEntity>();
? ? ? ? }
? ? ? ? userEntityPaginationBean = userService.pagedList(userEntityPaginationBean);
? ? ? ? return SUCCESS;
? ? }
public String show() {
? ? ? ? userEntity = userService.getUserEntity(userEntity);
? ? ? ? return SUCCESS;
? ? }
public String add() {
? ? ? ? return SUCCESS;
? ? }
public String update() {
? ? ? ? userEntity = userService.getUserEntity(userEntity);
? ? ? ? return SUCCESS;
? ? }
public String delete() {
? ? ?? ?try{
? ? ?? ??? ?userService.delete(userEntity);
? ? ?? ??? ?list();
? ? ?? ??? ?this.addActionMessage("用戶刪除成功!");
? ? ?? ??? ?}
? ? ? ? catch(Exception e){
? ? ? ? ?? ?list();
? ? ? ? ?? ?this.addActionMessage("刪除失敗,不能刪除已登錄用戶!");
? ? ? ? }?
? ? ? ? return SUCCESS;
? ? }
public String save() {
? ? ? ? userService.saveOrUpdateEntity(userEntity);
? ? ? ? list();
? ? ? ? this.addActionMessage("用戶操作成功!");
? ? ? ? return SUCCESS;
? ? }

3)?? ?經(jīng)營(yíng)統(tǒng)計(jì)模塊關(guān)鍵代碼
public List<Object[]> top10BestSale() {
? ? ? ? HibernateTemplate tmpl = getHibernateTemplate();
? ? ? ? return tmpl.execute(new HibernateCallback<List<Object[]>>() {
? ? ? ? ? ? public List<Object[]> doInHibernate(Session session) throws HibernateException, SQLException {
? ? ? ? ? ? ? ? SQLQuery query = session.createSQLQuery("select t1.real_name, sum(t2.amount) total_amount from tb_chain_user t1 " +
? ? ? ? ? ? ? ? ? ? ? ? "left join tb_chain_sale t2 on t1.USER_ID = t2.user_id " +
? ? ? ? ? ? ? ? ? ? ? ? "group by t1.real_name " +
? ? ? ? ? ? ? ? ? ? ? ? "order by total_amount desc " +
? ? ? ? ? ? ? ? ? ? ? ? "limit 0, 10");
? ? ? ? ? ? ? ? List results = query.list();
? ? ? ? ? ? ? ? return (List<Object[]>)results;
? ? ? ? ? ? }
? ? ? ? });
? ? }
public List<Object[]> top10BestPurchases() {
? ? ? ? HibernateTemplate tmpl = getHibernateTemplate();
? ? ? ? return tmpl.execute(new HibernateCallback<List<Object[]>>() {
? ? ? ? ? ? @SuppressWarnings("unchecked")
? ? ? ? ? ? @Override
? ? ? ? ? ? public List<Object[]> doInHibernate(Session session) throws HibernateException, SQLException {
? ? ? ? ? ? ? ? SQLQuery query = session.createSQLQuery("select t1.real_name, sum(t2.amount) total_amount from tb_chain_user t1 " +
? ? ? ? ? ? ? ? ? ? ? ? "left join tb_chain_purchase t2 on t1.USER_ID = t2.user_id " +
? ? ? ? ? ? ? ? ? ? ? ? "group by t1.real_name " +
? ? ? ? ? ? ? ? ? ? ? ? "order by total_amount desc " +
? ? ? ? ? ? ? ? ? ? ? ? "limit 0, 10");
? ? ? ? ? ? ? ? List results = query.list();
? ? ? ? ? ? ? ? return (List<Object[]>)results;
? ? ? ? ? ? }
? ? ? ? });
? ? }
public List<Object[]> top10BestProduct() {
? ? ? ? HibernateTemplate tmpl = getHibernateTemplate();
? ? ? ? return tmpl.execute(new HibernateCallback<List<Object[]>>() {
? ? ? ? ? ? @SuppressWarnings("unchecked")
? ? ? ? ? ? @Override
? ? ? ? ? ? public List<Object[]> doInHibernate(Session session) throws HibernateException, SQLException {
? ? ? ? ? ? ? ? SQLQuery query = session.createSQLQuery("select t1.`product`, sum(t2.`QUANTITY`) total_quantity from tb_chain_stock t1 " +
? ? ? ? ? ? ? ? ? ? ? ? "left join tb_chain_sale t2 on t1.`COO_ID` = t2.stock_id " +
? ? ? ? ? ? ? ? ? ? ? ? "group by t1.product " +
? ? ? ? ? ? ? ? ? ? ? ? "order by total_quantity desc");
? ? ? ? ? ? ? ? List results = query.list();
? ? ? ? ? ? ? ? return (List<Object[]>)results;
? ? ? ? ? ? }
? ? ? ? });
? ? }

6.1 ?系統(tǒng)登錄界面
項(xiàng)目發(fā)布后,在瀏覽器地址欄輸入http://localhost:8080,頁(yè)面會(huì)跳轉(zhuǎn)到webapp目錄下的index.jsp頁(yè)面并發(fā)送index.action請(qǐng)求,未登錄的用戶會(huì)再發(fā)送一個(gè)login.action請(qǐng)求并跳轉(zhuǎn)到login.jsp頁(yè)面。
?
圖6.1 系統(tǒng)登錄界面
如果未輸入用戶名/密碼,或輸入的用戶名/密碼不正確,點(diǎn)擊登錄按鈕后會(huì)給出出錯(cuò)提示,提醒重新登錄。
?
圖6.2 登錄出錯(cuò)提示
6.2 ?登錄成功界面
成功登錄的用戶會(huì)進(jìn)入系統(tǒng)歡迎界面,整個(gè)界面是借助Tiles的幫助完成的,它讓系統(tǒng)可以在執(zhí)行不同的請(qǐng)求后只讓頁(yè)面的主題部分跳轉(zhuǎn),而網(wǎng)頁(yè)的頭、導(dǎo)航欄、尾部不跳轉(zhuǎn),節(jié)省了大量重復(fù)書(shū)寫(xiě)代碼帶來(lái)的開(kāi)銷。
根據(jù)用戶的身份不同,登錄后所能看到的操作選項(xiàng)也有所區(qū)別。
1)?? ?經(jīng)理登錄界面
在本系統(tǒng)中,經(jīng)理被定義為具有最高權(quán)限的用例,可以使用系統(tǒng)的所有功能,能夠看到系統(tǒng)所有的操作選項(xiàng)。

?
圖6.4 經(jīng)理登錄界面
2)?? ?人事部員工登錄界面
本系統(tǒng)中,人事部員工可以操作系統(tǒng)的人事管理模塊,因此進(jìn)入系統(tǒng)后只能看到人事管理的操作選項(xiàng)以及經(jīng)營(yíng)統(tǒng)計(jì)選項(xiàng)。
?
圖6.5 人事部員工登錄界面
其他部分員工登錄成功界面相似,故不再附圖。
6.3 ?人事管理界面
經(jīng)理、人事部員工可以進(jìn)入人事管理界面對(duì)百貨中心的員工信息進(jìn)行添加、刪除、修改、查看功能。
1)?? ?人事管理界面
用戶進(jìn)入人事管理界面后,可以根據(jù)頁(yè)面的文字提示對(duì)人事信息進(jìn)行相應(yīng)的操作,所有員工的主要信息被頁(yè)面上的表格列出并實(shí)現(xiàn)分頁(yè)功能。
?
圖6.6 人事管理界面
2)?? ?添加員工界面
用戶點(diǎn)擊人事管理界面上的“添加員工”按鈕進(jìn)入添加員工界面,在本頁(yè)面中輸入要添加的員工的信息后,點(diǎn)擊保存,即可將新的員工信息添加進(jìn)數(shù)據(jù)庫(kù)中,如果有關(guān)鍵的信息沒(méi)有正確輸入,頁(yè)面會(huì)給出相應(yīng)的提示。
?
圖6.7 添加員工界面
3)?? ?更新員工信息界面
類似于添加員工信息,修改員工信息界面實(shí)現(xiàn)了對(duì)單個(gè)員工信息的修改,同樣實(shí)現(xiàn)了出錯(cuò)提示功能。
?
圖6.8 更新員工信息界面
4)?? ?刪除員工成功界面
成功刪除員工信息后會(huì)在頁(yè)面上給出綠色的成功提示信息。
?
圖6.9 刪除員工信息成功
5)?? ?刪除員工信息失敗界面
當(dāng)已經(jīng)登錄的用戶想要?jiǎng)h除自己的信息時(shí),會(huì)給出刪除失敗的提示,因?yàn)橐呀?jīng)登錄的用戶不能刪除自己。
?
圖6.10 刪除員工信息失敗
6.4 ?合作公司管理界面
經(jīng)理、采購(gòu)部員工可以登錄合作公司管理界面對(duì)合作公司進(jìn)行添加、刪除、修改、查看操作。
1)?? ?合作公司管理界面
用戶進(jìn)入合作公司管理界面后,可以根據(jù)頁(yè)面的文字提示對(duì)合作公司信息進(jìn)行相應(yīng)的操作,所有合作公司的主要信息被頁(yè)面上的表格列出并實(shí)現(xiàn)分頁(yè)功能。
?
圖6.11 合作公司管理界面
2)?? ?添加合作公司界面
用戶點(diǎn)擊合作公司管理界面上的“添加合作公司”按鈕進(jìn)入添加合作公司界面,在本頁(yè)面中輸入要添加的合作公司信息后,點(diǎn)擊保存,即可將新的合作公司信息添加進(jìn)數(shù)據(jù)庫(kù)中,如果有關(guān)鍵的信息沒(méi)有正確輸入,頁(yè)面會(huì)給出相應(yīng)的提示。

?
圖6.12 添加合作公司
3)?? ?修改合作公司信息界面
類似于添加合作公司信息,修改合作公司信息界面實(shí)現(xiàn)了對(duì)單個(gè)合作公司信息的修改,同樣實(shí)現(xiàn)了出錯(cuò)提示功能。

?
圖6.13 修改合作公司
4)?? ?刪除合作公司成功界面
成功刪除合作公司信息后會(huì)在頁(yè)面上給出綠色的成功提示信息。
?
圖6.14 刪除合作公司成功
6.5 ?采購(gòu)管理界面
經(jīng)理、采購(gòu)部員工可以進(jìn)入采購(gòu)管理界面,對(duì)采購(gòu)訂單進(jìn)行添加、刪除、修改、查看操作。其中添加的采購(gòu)商品必須來(lái)自已經(jīng)有合作關(guān)系的公司。
1)?? ?采購(gòu)管理界面
用戶進(jìn)入采購(gòu)管理界面后,可以根據(jù)頁(yè)面的文字提示對(duì)采購(gòu)信息進(jìn)行相應(yīng)的操作,所有采購(gòu)訂單的主要信息被頁(yè)面上的表格列出并實(shí)現(xiàn)分頁(yè)功能。
?
圖6.15 采購(gòu)管理界面

2)?? ?添加采購(gòu)信息界面
用戶點(diǎn)擊采購(gòu)管理界面上的“添加采購(gòu)信息”按鈕進(jìn)入添加采購(gòu)信息界面,在本頁(yè)面中輸入要添加的采購(gòu)信息后,點(diǎn)擊保存,即可將新的采購(gòu)信息添加進(jìn)數(shù)據(jù)庫(kù)中,如果有關(guān)鍵的信息沒(méi)有正確輸入,頁(yè)面會(huì)給出相應(yīng)的提示。

?
圖6.16 添加采購(gòu)信息
3)?? ?修改采購(gòu)信息界面
類似于添加采購(gòu)信息,修改采購(gòu)信息界面實(shí)現(xiàn)了對(duì)單個(gè)采購(gòu)信息的修改,同樣實(shí)現(xiàn)了出錯(cuò)提示功能。
?
圖6.17 修改采購(gòu)信息
4)?? ?刪除采購(gòu)信息成功界面
成功刪除采購(gòu)信息后會(huì)在頁(yè)面上給出綠色的成功提示信息。
?
圖6.18 刪除采購(gòu)信息成功
5)?? ?采購(gòu)單明細(xì)界面
在采購(gòu)管理界面點(diǎn)擊單個(gè)的采購(gòu)信息鏈接,可以進(jìn)入采購(gòu)信息明細(xì)界面,在本頁(yè)面中可以看到本采購(gòu)訂單的詳細(xì)信息。
?
圖6.19 采購(gòu)信息明細(xì)
6)?? ?打印采購(gòu)信息明細(xì)界面
在采購(gòu)信息明細(xì)界面下方點(diǎn)擊“打印”按鈕,進(jìn)入打印采購(gòu)信息明細(xì)界面,可以將相應(yīng)的采購(gòu)訂單詳細(xì)信息保存或打印。
?
圖6.20 打印采購(gòu)信息明細(xì)
6.6 ?庫(kù)存管理界面
經(jīng)理、物資部員工可以進(jìn)入庫(kù)存管理界面,并添加、修改庫(kù)存信息。
1)?? ?庫(kù)存管理界面
用戶進(jìn)入庫(kù)存管理界面后,可以根據(jù)頁(yè)面的文字提示對(duì)庫(kù)存信息進(jìn)行相應(yīng)的操作,所有庫(kù)存的主要信息被頁(yè)面上的表格列出并實(shí)現(xiàn)分頁(yè)功能。

?
圖6.21 庫(kù)存管理界面
2)?? ?添加庫(kù)存信息界面
用戶點(diǎn)擊庫(kù)存管理界面上的“添加庫(kù)存信息”按鈕進(jìn)入添加庫(kù)存信息界面,在本頁(yè)面中輸入要添加的庫(kù)存信息后,點(diǎn)擊保存,即可將新的庫(kù)存信息添加進(jìn)數(shù)據(jù)庫(kù)中,如果有關(guān)鍵的信息沒(méi)有正確輸入,頁(yè)面會(huì)給出相應(yīng)的提示。

?
圖6.22 添加庫(kù)存信息
3)?? ?修改庫(kù)存信息界面
類似于添加庫(kù)存信息,修改庫(kù)存信息界面實(shí)現(xiàn)了對(duì)單個(gè)庫(kù)存信息的修改,同樣實(shí)現(xiàn)了出錯(cuò)提示功能。
?
圖6.23 修改庫(kù)存信息
4)?? ?庫(kù)存信息明細(xì)界面
在庫(kù)存管理界面點(diǎn)擊單個(gè)的庫(kù)存信息鏈接,可以進(jìn)入庫(kù)存信息明細(xì)界面,在本頁(yè)面中可以看到本庫(kù)存的詳細(xì)信息。

?
圖6.24 庫(kù)存信息明細(xì)
5)?? ?打印庫(kù)存信息明細(xì)界面
在庫(kù)存信息明細(xì)界面下方點(diǎn)擊“打印”按鈕,進(jìn)入打印庫(kù)存信息明細(xì)界面,可以將相應(yīng)的庫(kù)存詳細(xì)信息保存或打印。
?
圖6.25 打印庫(kù)存信息明細(xì)
6.7 ?銷售管理界面
經(jīng)理、銷售部員工可以進(jìn)入銷售管理界面,并對(duì)銷售信息進(jìn)行添加、查看操作。
1)?? ?銷售管理界面
用戶進(jìn)入銷售管理界面后,可以根據(jù)頁(yè)面的文字提示對(duì)庫(kù)存信息進(jìn)行相應(yīng)的操作,所有銷售情況被頁(yè)面上的表格列出并實(shí)現(xiàn)分頁(yè)功能。
?
圖6.26 銷售管理界面
2)?? ?添加銷售記錄界面
用戶點(diǎn)擊庫(kù)存管理界面上的“添加銷售記錄”按鈕進(jìn)入添加銷售信息界面,在本頁(yè)面中輸入要添加的銷售信息后,點(diǎn)擊保存,即可將新的銷售信息添加進(jìn)數(shù)據(jù)庫(kù)中,如果有關(guān)鍵的信息沒(méi)有正確輸入,頁(yè)面會(huì)給出相應(yīng)的提示。
?
圖6.27 添加銷售信息
6.8 ?經(jīng)營(yíng)統(tǒng)計(jì)界面
所有權(quán)限的員工都可以查看百貨中心的經(jīng)營(yíng)狀況,其中統(tǒng)計(jì)了銷售量前十的員工、采購(gòu)額前十的員工和銷售數(shù)目前十的商品,方便員工了解公司經(jīng)營(yíng)現(xiàn)狀,幫助決策層找到公司可能存在的問(wèn)題。
?
圖6.28 經(jīng)營(yíng)狀況統(tǒng)計(jì)
7 ?系統(tǒng)測(cè)試
7.1 ?測(cè)試目的
軟件測(cè)試(software testing),描述一種用來(lái)促進(jìn)鑒定軟件的正確性、完整性、安全性和質(zhì)量的過(guò)程。在整個(gè)軟件生命周期中,軟件測(cè)試占了很大一部分比例,它是保證軟件質(zhì)量的關(guān)鍵環(huán)節(jié),也是降低軟件開(kāi)發(fā)風(fēng)險(xiǎn)的必要手段,軟件測(cè)試工作應(yīng)該貫穿整個(gè)項(xiàng)目開(kāi)發(fā)的始終。
7.2 ?測(cè)試方法
1)?? ?白盒測(cè)試-白盒測(cè)試也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照設(shè)計(jì)規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行,檢驗(yàn)程序中的每條通路是否都能按預(yù)定要求正確工作。在系統(tǒng)開(kāi)發(fā)初期,由于參數(shù)設(shè)置的失誤,我開(kāi)發(fā)的系統(tǒng)經(jīng)常出現(xiàn)如下的錯(cuò)誤:
?
圖7.1 系統(tǒng)出錯(cuò)
經(jīng)過(guò)耐心的調(diào)試、測(cè)試,已經(jīng)基本解決了這些錯(cuò)誤。
2)?? ?黑盒測(cè)試-黑盒測(cè)試也稱功能測(cè)試,它是通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用。在系統(tǒng)功能實(shí)現(xiàn)后,我也對(duì)系統(tǒng)進(jìn)行了一部分文本錄入測(cè)試作為黑盒測(cè)試,解決了之前部分頁(yè)面文字提示錯(cuò)誤、頁(yè)面跳轉(zhuǎn)錯(cuò)誤的bug,但由于用戶測(cè)試的時(shí)間有限,還有一些有待改進(jìn)的地方需要在實(shí)際使用中發(fā)現(xiàn)。
7.3 ?測(cè)試結(jié)果
實(shí)現(xiàn)了所有模塊的功能,修正了已經(jīng)發(fā)現(xiàn)的所有問(wèn)題、錯(cuò)誤。但系統(tǒng)還有許多不完善的地方,有待實(shí)踐階段的檢驗(yàn)和提高。
?
8 ?總結(jié)
通過(guò)這次對(duì)百貨中心供應(yīng)鏈管理系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā),讓我進(jìn)一步溫習(xí)了大學(xué)課堂上學(xué)到了軟件工程相關(guān)的知識(shí),也使得書(shū)本上J2EE、數(shù)據(jù)庫(kù)相關(guān)的知識(shí)得到了實(shí)踐的機(jī)會(huì),同時(shí)也對(duì)Jsp、JavaScript、Maven等有了進(jìn)一步的了解,通過(guò)查詢相關(guān)的資料并學(xué)習(xí),我也發(fā)現(xiàn)了許多不足的地方,還有更多更新更實(shí)用的技術(shù),等著我去學(xué)習(xí)去鉆研??傊?#xff0c;經(jīng)過(guò)不懈的學(xué)習(xí)與調(diào)試,我的編程能力有了很大的提高,更重要的是,我也看到了自己仍需努力的方向。

?
參考文獻(xiàn)
[1]曹俊超,戴克商.物資管理理論與實(shí)務(wù).北京:清華大學(xué)出版社,2006.?
[2]羅伯特?M?蒙茲卡.劉秉鐮,李莉,劉洋譯.采購(gòu)與供應(yīng)鏈管理.北京:中信出版社,2004.
[3]肯尼斯?萊桑斯,邁克爾吉林厄姆,鞠磊等譯.采購(gòu)與供應(yīng)鏈管理.北京:電子工業(yè)出版社,2004.
[4] 劉京華等. Java Web整合開(kāi)發(fā)王者歸來(lái)(JSP+Servlet+Struts+Hibernate+Spring).北京:清華大學(xué)出版社,2010.
[5] HUNT J,LFTUS C.精通J2EE-Java企業(yè)級(jí)應(yīng)用[M].北京:清華大學(xué)出版社,2004.
[6] LIANG Y D..Java語(yǔ)言程序設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2003.
[7] Angela Yochem.J2EE應(yīng)用與BEA WebLogic Server[M].北京:電子工業(yè)出版社,2005.
[8]陳天河.Java數(shù)據(jù)庫(kù)高級(jí)編程寶典[M].北京:電子工業(yè)出版社,2005.
[9]泰勒.JDBC數(shù)據(jù)庫(kù)編程與J2EE[M].北京:電子工業(yè)出版社,2004.
[10]顧兵.XML實(shí)用技術(shù)教程[M].北京:清華大學(xué)出版社,2007.
[11]丁寶康.數(shù)據(jù)庫(kù)實(shí)用教程[M].北京:清華大學(xué)出版社,2003.
[12]李剛. 輕量級(jí)Java+EE企業(yè)應(yīng)用實(shí)戰(zhàn)(第3版).北京:電子工業(yè)出版社,2012.
[13] 陳亞輝,繆勇.Struts2+Spring+Hibernate框架技術(shù)與項(xiàng)目實(shí)戰(zhàn).北京:清華大學(xué)出版社,2012.
[14] 劉勇軍,王電鋼. Java EE項(xiàng)目應(yīng)用開(kāi)發(fā):基于Struts2,Spring,Hibernate.北京:電子工業(yè)出版社,2012.
[15] 埃克爾. Java編程思想(第4版).北京:機(jī)械工業(yè)出版社,2007.
[16] 張海藩.軟件工程導(dǎo)論[M].北京:清華大學(xué)出版社,2003.


?

總結(jié)

以上是生活随笔為你收集整理的基于java百货中心供应链管理系统(含源文件)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。