基于java百货中心供应链管理系统(含源文件)
歡迎添加微信互相交流學(xué)習(xí)哦!
項目源碼:https://gitee.com/oklongmm/biye
百貨中心供應(yīng)鏈管理系統(tǒng)
?
百貨中心供應(yīng)鏈管理系統(tǒng)
摘要
近年來,隨著計算機技術(shù)的發(fā)展,以及信息化時代下企業(yè)對效率的需求,計算機技術(shù)與通信技術(shù)已經(jīng)被越來越多地應(yīng)用到各行各業(yè)中去。百貨中心作為物流產(chǎn)業(yè)鏈中重要的一環(huán),為了應(yīng)對新興消費方式的沖擊,從供貨到銷售的各個環(huán)節(jié)也迫切地需要實現(xiàn)信息化、自動化。而上面所提到的這些環(huán)節(jié),在二十世紀(jì)中期后被稱為“供應(yīng)鏈”,也是在本世紀(jì)初才在中國受到關(guān)注的一門新興科學(xué)。
本文就百貨中心供應(yīng)鏈管理系統(tǒng)的設(shè)計與開發(fā)展開論述,按照軟件工程開發(fā)的實際步驟,依次對該項目的可行性分析、需求分析、概要設(shè)計、詳細(xì)設(shè)計、系統(tǒng)實現(xiàn)以及系統(tǒng)測試分別進行闡述。
在查閱了各界媒體資料、分析了國內(nèi)外供應(yīng)鏈管理系統(tǒng)的基礎(chǔ)上,經(jīng)過認(rèn)真學(xué)習(xí)與不懈探索,利用J2EE技術(shù)和Mysql數(shù)據(jù)庫,最終完成了百貨中心供應(yīng)鏈管理系統(tǒng)的開發(fā),并經(jīng)過一系列測試及試用,達到了最初的設(shè)計目標(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研究內(nèi)容和組織結(jié)構(gòu)?? ?2
2開發(fā)工具及技術(shù)?? ?3
2.1開發(fā)工具?? ?3
2.2使用技術(shù)?? ?4
3可行性分析?? ?6
3.1法律的可行性?? ?6
3.2經(jīng)濟的可行性?? ?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采購部員工用例圖?? ?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ù)項的描述?? ?11
4.4.2數(shù)據(jù)流的描述?? ?12
4.4.3描述外部實體?? ?14
5系統(tǒng)設(shè)計?? ?15
5.1系統(tǒng)結(jié)構(gòu)設(shè)計?? ?15
5.2系統(tǒng)子模塊功能介紹?? ?15
5.3數(shù)據(jù)庫設(shè)計?? ?16
5.3.1數(shù)據(jù)庫概念設(shè)計(E-R模型)?? ?16
5.3.2數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計?? ?17
6系統(tǒng)實現(xiàn)?? ?20
6.1系統(tǒng)登錄界面?? ?22
6.2登錄成功界面?? ?23
6.3人事管理界面?? ?25
6.4合作公司管理界面?? ?26
6.5采購管理界面?? ?28
6.6庫存管理界面?? ?31
6.7銷售管理界面?? ?34
6.8經(jīng)營統(tǒng)計界面?? ?35
7系統(tǒng)測試?? ?35
7.1測試目的?? ?35
7.2測試方法?? ?36
7.3測試結(jié)果?? ?36
8總結(jié)?? ?37
參考文獻?? ?38
致謝?? ?39
?
1 ?引言
1.1 ?課題背景
隨著國內(nèi)物流行業(yè)的迅速發(fā)展,越來越多的企業(yè)認(rèn)識到了“供應(yīng)鏈”一詞的含義以及它對整個企業(yè)物流活動的重大意義,于是,“供應(yīng)鏈管理”也逐漸受到了大家的重視。供應(yīng)鏈管理主要涉及到四個領(lǐng)域:供應(yīng)、生產(chǎn)計劃、物流、需求[1]。職能領(lǐng)域主要包括產(chǎn)品工程、產(chǎn)品技術(shù)保證、采購、生產(chǎn)控制、庫存控制、倉儲管理、分銷管理[2]。在供應(yīng)鏈管理中涉及到如此廣泛、復(fù)雜的物流活動,要對其進行統(tǒng)籌、控制絕非易事,這也是我國企業(yè)目前在供應(yīng)鏈管理中亟待解決的難題。與此同時,互聯(lián)網(wǎng)和網(wǎng)絡(luò)技術(shù)的進步為我們解決這一問題提供了方案,借助互聯(lián)網(wǎng)及互聯(lián)網(wǎng)技術(shù),企業(yè)各個物流階段的大量數(shù)據(jù)可以得到及時傳輸,并通過日益成熟的算法或處理手段實現(xiàn)對這些數(shù)據(jù)的準(zhǔn)確分析,從而指導(dǎo)企業(yè)的物流活動或?qū)ξ磥碜龀鲱A(yù)測。百貨中心作為現(xiàn)在物流以及商業(yè)中的重要一環(huán),為了應(yīng)對新興消費方式的沖擊,其供應(yīng)鏈模式自然也有統(tǒng)籌優(yōu)化的必要,同時,Internet和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展也為供應(yīng)鏈的管理提供了新的手段。
SCM(Supply Chain Management)系統(tǒng)即供應(yīng)鏈管理系統(tǒng),利用計算機和Internet的優(yōu)點,將供應(yīng)鏈中的信息流加以收集并控制,只需要少量的人工,便可實現(xiàn)對整個供應(yīng)鏈進行監(jiān)管[3]。
國際上研究供應(yīng)鏈主要是開始于二戰(zhàn)后期的物流管理,主要從多級庫存以及生產(chǎn)-分銷的角度來研究供應(yīng)鏈的優(yōu)化問題。從最初的物流管理到供應(yīng)鏈管理,再到如今把供應(yīng)鏈增長到戰(zhàn)略管理來研究,花費了半個多世紀(jì)的時間。國內(nèi)對供應(yīng)鏈的研究起步較晚,國內(nèi)一些企業(yè)對于供應(yīng)鏈管理的認(rèn)識比較膚淺,直到1997年以后,隨著各種有關(guān)供應(yīng)鏈方面的研究和報道增多,人們對物流領(lǐng)域的這一新鮮事物的關(guān)注也逐漸升溫,直到今天,許多國外的知名公司如IBM、SAP都能為企業(yè)的供應(yīng)鏈管理提供一整套的解決方案,國內(nèi)近些年也出現(xiàn)了許多解決企業(yè)供應(yīng)鏈管理問題的公司和軟件[1]。但總體來說,對于這一門相對還很年輕的科學(xué),我們還有很長的路要走。
隨著我國經(jīng)濟結(jié)構(gòu)調(diào)整的深入,對企業(yè)節(jié)能減排的要求更加嚴(yán)格,企業(yè)只有通過強化環(huán)境保護的自我約束機制,來降低產(chǎn)品和生產(chǎn)過程相關(guān)的環(huán)境污染所帶來的生產(chǎn)經(jīng)營風(fēng)險。綠色供應(yīng)鏈管理能使整個供應(yīng)鏈的資源消耗和環(huán)境負(fù)作用最小,并能有效滿足日益增長的綠色消費需求,從而提高供應(yīng)鏈的競爭力。
因此,實施綠色供應(yīng)鏈管理是企業(yè)發(fā)展的必然趨勢,這對我國供應(yīng)鏈管理行業(yè)提出了更高的要求。
1.2 ?目的和意義
對于課題-百貨中心供應(yīng)鏈管理系統(tǒng),在了解了傳統(tǒng)SCM的基礎(chǔ)上,結(jié)合了計算機及Internet技術(shù)的優(yōu)點,旨在于簡化操作,提高效率,提高數(shù)據(jù)、信息的安全程度,為企業(yè)及其員工提供一個更加便捷高效的工作環(huán)境。
與傳統(tǒng)僅僅利用表格、賬目來實現(xiàn)對供應(yīng)鏈的管理,基于Web的百貨中心供應(yīng)鏈管理系統(tǒng)具有如下優(yōu)點:
1)?? ?信息存放在數(shù)據(jù)庫中,安全穩(wěn)定,便于備份;
2)?? ?不同職位的員工都可以使用一套系統(tǒng),節(jié)約成本、方便管理;
3)?? ?基于Web的辦公系統(tǒng),方便員工維護,無地域限制;
4)?? ?利用計算機將不同數(shù)據(jù)整合,方便企業(yè)管理、進行決策。
1.3 ?研究內(nèi)容和組織結(jié)構(gòu)
本文主要通過對百貨中心供應(yīng)鏈管理系統(tǒng)進行需求分析,結(jié)合供應(yīng)鏈管理的相關(guān)理論,設(shè)計出供應(yīng)鏈管理系統(tǒng)的各個功能模塊,并對其做出一定的說明指導(dǎo),方便使用者進行操作。
系統(tǒng)的主要研究內(nèi)容包括:
1)?? ?百貨中心供應(yīng)鏈管理系統(tǒng)的可行性分析
研究供應(yīng)鏈管理相關(guān)方面的知識,了解百貨中心供應(yīng)鏈的運作模式及現(xiàn)狀,分析確定開發(fā)本系統(tǒng)的必要性和可行性。
2)?? ?系統(tǒng)需求分析
確定業(yè)務(wù)流程,分析數(shù)據(jù)流向,完成數(shù)據(jù)流圖和系統(tǒng)用例圖的繪制,完成數(shù)據(jù)字典的制作。
3)?? ?系統(tǒng)概要/詳細(xì)設(shè)計
根據(jù)需求分析階段的結(jié)果,以提高百貨中心各層員工的工作效率為目的,將整個系統(tǒng)分成若干個小模塊,通過設(shè)計、編寫代碼實現(xiàn)不同功能,完成數(shù)據(jù)庫的搭建,最后將整個系統(tǒng)進行整合。
4)?? ?系統(tǒng)測試
對完成的系統(tǒng)進行條件許可下的測試,對系統(tǒng)的安全性、穩(wěn)定性、容錯性進行評估。
本文組織結(jié)構(gòu):
1)?? ?引言部分-闡述本系統(tǒng)的該項研究的目的和范圍,以及該項研究工作在國民經(jīng)濟中的實用價值與理論意義;本文所要解決的問題;論文內(nèi)容安排等。
2)?? ?開發(fā)工具及技術(shù)分析-對于本系統(tǒng)開發(fā)將要用到的開發(fā)工具及技術(shù)進行簡單的說明,并分析其優(yōu)勢。
3)?? ?系統(tǒng)需求分析-分析系統(tǒng)業(yè)務(wù)流程,為整個系統(tǒng)的設(shè)計開發(fā)打下基礎(chǔ)。
4)?? ?概要/詳細(xì)設(shè)計-依據(jù)前文的分析進一步設(shè)計系統(tǒng)的各模塊功能,為一些比較有難度的部分提供解決方案。
5)?? ?系統(tǒng)實現(xiàn)及測試-描述系統(tǒng)各模塊的功能并展示部分關(guān)鍵代碼,并且完成一些簡單的數(shù)據(jù)錄入測試。
2 ?開發(fā)工具及技術(shù)
2.1 ?開發(fā)工具
本設(shè)計主要利用MyEclipse和Tomcat服務(wù)器,加上Mysql數(shù)據(jù)庫進行開發(fā),同時使用Maven來輔助、簡化開發(fā)。下面對使用到的開發(fā)工具進行簡要的介紹。
1)?? ?MyEclipse
MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench,簡稱MyEclipse)是一個功能豐富的JavaEE開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate[4]。它是對EclipseIDE的擴展,是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持都十分不錯[5]。
2)?? ?Tomcat
Tomcat服務(wù)器是一個免費的開放源代碼的Web應(yīng)用服務(wù)器,它屬于輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,十分符合本項目的需求[6]。Tomcat運行時占用的系統(tǒng)資源小,擴展性好,支持負(fù)載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能,并且它仍在不斷地改進和完善中,因此十分受程序員的青睞。
3)?? ?Mysql
Mysql是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng))應(yīng)用軟件之一[7]。MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySql使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性;支持多種操作系統(tǒng);為多種編程語言提供了API;支持多線程,充分利用CPU資源;提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑;可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫[8]。
4)?? ?Maven
Maven是基于項目對象模型(POM),可以通過一小段描述信息來管理項目的構(gòu)建,報告和文檔的軟件項目管理工具。Maven是一個項目管理工具,它包含了一個項目對象模型 (Project Object Model),一組標(biāo)準(zhǔn)集合,一個項目生命周期(Project Lifecycle),一個依賴管理系統(tǒng)(Dependency Management System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(biāo)(goal)的邏輯。當(dāng)你使用Maven的時候,你用一個明確定義的項目對象模型來描述你的項目,然后Maven可以應(yīng)用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。
2.2 ?使用技術(shù)
1)?? ?JSP
JSP, 全名為Java Server Pages,是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)技術(shù)標(biāo)準(zhǔn)[9]。在傳統(tǒng)的網(wǎng)頁HTML文件中加入Java程序片段和JSP標(biāo)簽,就構(gòu)成了JSP網(wǎng)頁java程序片段可以操縱數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送E-mail等,實現(xiàn)建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,這樣大大降低了對客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可以訪問JSP網(wǎng)頁。
JSP的根本是一個簡化的Servlet設(shè)計,他實現(xiàn)了Html語法中的java擴張(以 <%, %>形式)。JSP與Servlet一樣,是在服務(wù)器端執(zhí)行的。通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽[10]。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶端。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。
2)?? ?SSH框架
SSH 為 struts + spring + hibernate的一個集成框架,是目前較流行的一種Web應(yīng)用程序開源框架[11]。集成SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層,以幫助開發(fā)人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護方便的Web應(yīng)用程序。其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn),利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。
采用上述開發(fā)模型,不僅實現(xiàn)了視圖、控制器與模型的徹底分離,而且還實現(xiàn)了業(yè)務(wù)邏輯層與持久層的分離[12]。這樣無論前端如何變化,模型層只需很少的改動,并且數(shù)據(jù)庫的變化也不會對前端有所影響,大大提高了系統(tǒng)的可復(fù)用性。而且由于不同層之間耦合度小,有利于團隊成員并行工作,大大提高了開發(fā)效率。
3)?? ?Tiles
Tiles 是一種JSP布局框架,主要目的是為了將復(fù)數(shù)的jsp頁面作為一個的頁面的部分機能,然后用來組合成一個最終表示用頁面用的,這樣的話,便于對頁面的各個機能的變更及維護。 Tiles使得struts在頁面的處理方面多了一種選擇。并且更容易實現(xiàn)代碼的重用。
4)?? ?JavaScript
JavaScript是一種基于對象和事件驅(qū)動并具有相對安全性的客戶端腳本語言[13]。同時也是一種廣泛用于客戶端Web開發(fā)的腳本語言,常用來給HTML(標(biāo)準(zhǔn)通用標(biāo)記語言的子集)網(wǎng)頁添加動態(tài)功能,比如響應(yīng)用戶的各種操作, 是一種動態(tài)、弱類型、基于原型的語言,內(nèi)置支持類。在HTML基礎(chǔ)上,使用JavaScript可以開發(fā)交互式Web網(wǎng)頁[14]。JavaScript的出現(xiàn)使得網(wǎng)頁和用戶之間實現(xiàn)了一種實時性的、動態(tài)的、交互性的關(guān)系,使網(wǎng)頁包含更多活躍的元素和更加精彩的內(nèi)容。JavaScript的一個重要功能就是面向?qū)ο蟮墓δ?#xff0c;通過基于對象的程序設(shè)計,可以用更直觀、模塊化和可重復(fù)使用的方式進行程序開發(fā)。
3 ?可行性分析
在進行系統(tǒng)開發(fā)時,會受到來自時間、資源等多方面的限制,因此,在每一個項目開發(fā)開始之前,首先進行系統(tǒng)的可行性分析就顯得十分重要,它可以減少項目開發(fā)的風(fēng)險,避免人力、物力、財力的浪費[15]。下面將就法律、經(jīng)濟和技術(shù)三方面對本項目進行討論。
3.1 ?法律的可行性
百貨中興供應(yīng)鏈管理系統(tǒng)是自主開發(fā)的管理系統(tǒng),開發(fā)過程中使用的開發(fā)工具及技術(shù)都是免費的,開源的,不存在侵權(quán)的問題,所有的源代碼都是親自編寫或直接由工具自動生成,沒有使用他人的項目成果或方案,因此在法律上是可行的。
3.2 ?經(jīng)濟的可行性
本系統(tǒng)所使用的開發(fā)工具都是開源的,為開發(fā)軟件節(jié)省了大量的金錢和時間,采用的技術(shù)也是完全開放的、免費的,達到了降低成本的目的。軟件對企業(yè)的硬件需求也不高,市場上的中低檔計算機也可以符合使用要求,同時由于利用了互聯(lián)網(wǎng),比一般的供應(yīng)鏈管理系統(tǒng)更加經(jīng)濟、效率。
3.3 ?技術(shù)的可行性
系統(tǒng)使用的開發(fā)工具是MyEclipse、Maven和Mysql數(shù)據(jù)庫,工具免費且小巧,安裝方便,簡單易學(xué)。并且采用了目前十分流行的J2EE技術(shù),因而有很多途徑找到相關(guān)的學(xué)習(xí)資料,在大學(xué)期間我也學(xué)習(xí)了許多相關(guān)的知識,包括對于數(shù)據(jù)庫和編程思想的學(xué)習(xí),使得在這個項目中更容易上手,能夠迅速投入到系統(tǒng)的設(shè)計開發(fā)中去。
4 ?需求分析
4.1 ?系統(tǒng)功能分析
經(jīng)過對百貨中心供銷流程的了解和對供應(yīng)鏈管理相關(guān)資料的分析,決定將系統(tǒng)用戶分成五類不同的用例,系統(tǒng)應(yīng)根據(jù)用例的不同職能實現(xiàn)不同的功能,經(jīng)過分析,系統(tǒng)應(yīng)具備人事管理、合作公司管理、采購訂單管理、庫存管理、銷售管理、經(jīng)營統(tǒng)計六大功能模塊。具體用例圖如下:
4.1.1 ?經(jīng)理用例圖
經(jīng)理用例-經(jīng)理應(yīng)是百貨中心的最高負(fù)責(zé)人之一,負(fù)責(zé)百貨中心大部分的業(yè)務(wù)管理及監(jiān)督工作,必要時也可以完成所有其他用例的操作,地位相當(dāng)于系統(tǒng)管理員,具有最高權(quán)限。
?
圖4.1 經(jīng)理用例圖
4.1.2 ?人事部員工用例圖
人事部員工用例-人事部員工主要操作系統(tǒng)的人事管理模塊,同時也可以進入經(jīng)營統(tǒng)計模塊查看。
?
圖4.2人事部員工用例圖
4.1.3 ?采購部員工用例圖
采購部員工用例-采購部員工主要負(fù)責(zé)操作系統(tǒng)的合作公司管理模塊和采購訂單管理模塊,同時也可以進入經(jīng)營統(tǒng)計模塊查看。
?
圖4.3采購部員工用例圖
4.1.4 ?物資部員工用例圖
物資部員工用例-物資部員工主要負(fù)責(zé)操作系統(tǒng)的庫存管理模塊,同時也可以進入經(jīng)營統(tǒng)計模塊查看。
?
圖4.4物資部員工用例圖
4.1.5 ?銷售部員工用例圖
銷售部員工用例-物資部員工主要負(fù)責(zé)操作系統(tǒng)的銷售管理模塊,同時也可以進入經(jīng)營統(tǒng)計模塊查看。
?
圖4.5銷售部員工用例圖
4.2 ?功能模塊需求分析
考慮到用戶可能對計算機操作不是十分熟悉,本系統(tǒng)應(yīng)具備操作簡便、界面友好的特點,再結(jié)合系統(tǒng)分析的結(jié)論,本系統(tǒng)還應(yīng)增加一個登錄模塊以實現(xiàn)不同用例登錄系統(tǒng)后可以進行不同的操作,具體分析如下:
1)?? ?系統(tǒng)界面簡潔大方,使用簡便,有友好的操作提示信息;
2)?? ?系統(tǒng)具有一定的安全性,避免惡意操作對系統(tǒng)及數(shù)據(jù)造成損害;
3)?? ?貼近實際用戶的工作情況,對一些關(guān)鍵數(shù)據(jù)提供打印、保存功能;
4)?? ?系統(tǒng)應(yīng)具備登錄、人事管理、合作公司管理、采購訂單管理、庫存管理、銷售管理、經(jīng)營統(tǒng)計七大功能。
4.3 ?數(shù)據(jù)流圖
根據(jù)之前的分析,繪制數(shù)據(jù)流圖。
4.3.1 ?頂層數(shù)據(jù)流圖
用戶通過輸入用戶名和密碼,來實現(xiàn)用戶登錄,登錄失敗時會給出相應(yīng)的提示并留在登錄頁面,登錄成功后可以順利進入供應(yīng)鏈管理系統(tǒng)。
?
圖4.6 系統(tǒng)頂層數(shù)據(jù)流圖
4.3.2 ?一層數(shù)據(jù)流圖
成功登錄的用戶可以進入不同的模塊完成相應(yīng)的操作,根據(jù)登錄用戶的身份不同,可以進行的操作也會不同。
?
圖4.7 系統(tǒng)第一層數(shù)據(jù)流圖
4.4 ?數(shù)據(jù)字典
數(shù)據(jù)字典的作用是對數(shù)據(jù)流圖中的各種成分進行詳細(xì)說明,作為數(shù)據(jù)流圖的細(xì)節(jié)補充,和數(shù)據(jù)流圖一起構(gòu)成完整的系統(tǒng)需求模型[16]。數(shù)據(jù)字典一般應(yīng)包括對數(shù)據(jù)項,數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)存儲和數(shù)據(jù)處理的說明。以下列出本系統(tǒng)的主要數(shù)據(jù)字典條目。
4.4.1 ?數(shù)據(jù)項的描述
表4.1 用戶信息數(shù)據(jù)項描述
數(shù)據(jù)項?? ?類型?? ?長度?? ?值范圍
ID?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間
用戶名?? ?文本?? ?255?? ?最多255個字符
密碼?? ?文本?? ?255?? ?最多255個字符
表4.2 合作公司數(shù)據(jù)項描述
數(shù)據(jù)項?? ?類型?? ?長度?? ?值范圍
ID?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間
公司名?? ?文本?? ?255?? ?最多255個字符
表4.3 采購訂單數(shù)據(jù)項描述
數(shù)據(jù)項?? ?類型?? ?長度?? ?值范圍
ID?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間
商品名?? ?文本?? ?255?? ?最多255個字符
數(shù)量?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間
價格?? ?數(shù)字?? ??? ?雙精度浮點型
表4.4 庫存信息數(shù)據(jù)項描述
數(shù)據(jù)項?? ?類型?? ?長度?? ?值范圍
ID?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間
產(chǎn)品名?? ?文本?? ?255?? ?最多255個字符
數(shù)量?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間
表4.5 銷售信息數(shù)據(jù)項描述
數(shù)據(jù)項?? ?類型?? ?長度?? ?值范圍
ID?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間
數(shù)量?? ?數(shù)字?? ?11?? ?00000000000至99999999999之間
價格?? ?數(shù)字?? ??? ?雙精度浮點型
4.4.2 ?數(shù)據(jù)流的描述
1)?? ?數(shù)據(jù)流編號:F1
數(shù)據(jù)流名:員工簡要信息
簡述:判斷用戶輸入的信息是否符合要求,登錄成功后用戶可根據(jù)自己的權(quán)限對系統(tǒng)進行操作
組成:用戶名+密碼
2)?? ?數(shù)據(jù)流編號:F2、F3、F4
數(shù)據(jù)流名:員工登錄信息
簡述:獲得與員工權(quán)限相關(guān)的信息,根據(jù)不同權(quán)限在頁面上顯示不同的操作選項
組成:ID+用戶名+密碼+真實姓名+所在部門
3)?? ?數(shù)據(jù)流編號:F5、F6
數(shù)據(jù)流名:員工信息
簡述:實現(xiàn)對員工信息的增、刪、改、查操作
組成:ID+用戶名+密碼+真實姓名+性別+年齡+所在部門+創(chuàng)建人+創(chuàng)建時間+修改人+修改時間
4)?? ?數(shù)據(jù)流編號:F7、F8
數(shù)據(jù)流名:合作公司信息
簡述:實現(xiàn)對合作公司信息的增、刪、改、查操作
組成:ID+公司名+負(fù)責(zé)人+公司地址+聯(lián)系電話+創(chuàng)建人+創(chuàng)建時間+修改人+修改時間
5)?? ?數(shù)據(jù)流編號:F9、F10
數(shù)據(jù)流名:采購訂單信息
簡述:實現(xiàn)對采購訂單信息的增、刪、改、查操作
組成:ID+商品名+數(shù)量+價格+運輸方式+貨物狀態(tài)+創(chuàng)建人+創(chuàng)建時間+修改人+修改時間
6)?? ?數(shù)據(jù)流編號:F11、F12
數(shù)據(jù)流名:庫存信息
簡述:實現(xiàn)對庫存信息的增、改、查操作
組成:ID+產(chǎn)品名+數(shù)量+存放位置+存放狀態(tài)+創(chuàng)建人+創(chuàng)建時間+修改人+修改時間
7)?? ?數(shù)據(jù)流編號:F13、F14
數(shù)據(jù)流名:銷售信息
簡述:實現(xiàn)對庫存信息的增、查操作
組成:ID +數(shù)量+價格+創(chuàng)建人+創(chuàng)建時間+修改人+修改時間
8)?? ?數(shù)據(jù)流編號:F15
數(shù)據(jù)流名:銷售人員信息
簡述:統(tǒng)計銷售人員情況
組成:姓名+銷售金額
9)?? ?數(shù)據(jù)流編號:F16
數(shù)據(jù)流名:采購人員信息
簡述:統(tǒng)計采購人員情況
組成:姓名+采購金額
10)?? ?數(shù)據(jù)流編號:F17
數(shù)據(jù)流名:銷售商品信息
簡述:統(tǒng)計銷售商品信息
組成:產(chǎn)品名+銷售總量
4.4.3 ?描述外部實體
1)?? ?外部實體名稱:經(jīng)理
簡述:系統(tǒng)管理員,具有最高權(quán)限
輸入的數(shù)據(jù)流:人事信息、合作公司信息、采購訂單信息、庫存信息、銷售信息
輸出的數(shù)據(jù)流:人事信息、合作公司信息、采購訂單信息、庫存信息、銷售信息、經(jīng)營統(tǒng)計
2)?? ?外部實體名稱:人事部員工
簡述:負(fù)責(zé)百貨中心的人事活動及管理
輸入的數(shù)據(jù)流:人事信息
輸出的數(shù)據(jù)流:人事信息、經(jīng)營統(tǒng)計
3)?? ?外部實體名稱:采購部員工
簡述:負(fù)責(zé)百貨中心與外部合作、采購的事物
輸入的數(shù)據(jù)流:合作公司信息、采購訂單信息
輸出的數(shù)據(jù)流:合作公司信息、采購訂單信息、經(jīng)營統(tǒng)計
4)?? ?外部實體名稱:物資部員工
簡述:負(fù)責(zé)管理百貨中心的倉庫、完成商品的入庫、出庫工作
輸入的數(shù)據(jù)流:庫存信息
輸出的數(shù)據(jù)流:庫存信息、經(jīng)營統(tǒng)計
5)?? ?外部實體名稱:銷售部員工
簡述:負(fù)責(zé)百貨中心的銷售工作
輸入的數(shù)據(jù)流:銷售信息
輸出的數(shù)據(jù)流:銷售信息、經(jīng)營統(tǒng)計
5 ?系統(tǒng)設(shè)計
5.1 ?系統(tǒng)結(jié)構(gòu)設(shè)計
按照需求分析階段的結(jié)果,本系統(tǒng)的結(jié)構(gòu)主要由兩部分構(gòu)成,首先是登錄模塊,之后會由登錄模塊中返回的結(jié)果給用戶展示可以進行的操作,包括人事管理、合作公司管理、采購訂單管理等六大類操作。系統(tǒng)結(jié)構(gòu)圖大致如下:
圖5.1 系統(tǒng)結(jié)構(gòu)圖
5.2 ?系統(tǒng)子模塊功能介紹
1)?? ?登錄模塊:用戶通過輸入用戶名和密碼來登錄系統(tǒng),如果輸入錯誤會返回登錄界面,成功登錄后用戶的登錄信息會存儲在瀏覽器中,系統(tǒng)會根據(jù)這些信息判斷該用戶的操作權(quán)限。
2)?? ?人事管理模塊:已經(jīng)登錄的符合權(quán)限的用戶可以在此模塊中查看公司員工信息,也可以根據(jù)需要添加、修改、刪除員工信息。
3)?? ?合作公司管理模塊:已經(jīng)登錄的符合權(quán)限的用戶可以在此模塊中查看合作公司信息,也可以根據(jù)需要添加、修改、刪除合作公司信息。
4)?? ?采購訂單管理模塊:已經(jīng)登錄的符合權(quán)限的用戶可以在此模塊中查看采購訂單信息,也可以根據(jù)需要添加、修改、刪除采購訂單信息。
5)?? ?庫存管理模塊:已經(jīng)登錄的符合權(quán)限的用戶可以在此模塊中查看商品庫存信息,也可以根據(jù)需要添加、修改、商品庫存信息。
6)?? ?銷售管理模塊:已經(jīng)登錄的符合權(quán)限的用戶可以在此模塊中查看商品銷售信息,也可以根據(jù)需要添加商品銷售信息。
7)?? ?經(jīng)營統(tǒng)計模塊:已經(jīng)登錄的用戶可以在此模塊中查看最佳銷售、最佳采購、最佳商品的信息。
5.3 ?數(shù)據(jù)庫設(shè)計
5.3.1 ?數(shù)據(jù)庫概念設(shè)計(E-R模型)
本系統(tǒng)實體與其屬性的關(guān)系用E-R模型表示如下(見下頁):
圖5.1 百貨中心供應(yīng)鏈管理系統(tǒng)E-R模型
5.3.2 ?數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計
根據(jù)上述模型,在將其轉(zhuǎn)化成關(guān)系模型后,在數(shù)據(jù)庫(數(shù)據(jù)庫名:chain)中創(chuàng)建如下5張表:
1)?? ?用戶表(表名:tb_chain_user)
用來存儲公司員工的表,主要用于系統(tǒng)的登錄判斷。包含用戶id、用戶名、密碼、真實姓名、性別、年齡、就職日期、是否為管理員、照片、所在部門、創(chuàng)建人、創(chuàng)建日期、更新人、更新日期字段。
表5.1用戶表(tb_chain_user)
?
2)?? ?合作公司表(表名:tb_chain_cooperation)
用來存儲百貨中心的合作公司的表,主要用于管理與百貨中心合作的公司及公司的商品。主要包含合作公司id、公司名、負(fù)責(zé)人、公司地址、聯(lián)系電話、創(chuàng)建人、創(chuàng)建日期、更新人、更新日期等字段。
表5.2 合作公司表(tb_chain_cooperation)
?
3)?? ?訂單表(表名:tb_chain_purchase)
用來存儲采購訂單的表,用于記錄采購的商品在入庫前的狀態(tài)。包含訂單id、商品名、數(shù)量、價格、運送方式、運送狀態(tài)、商品公司(合作公司)、創(chuàng)建人、創(chuàng)建時間、更新人、更新時間字段。
表5.3 訂單表(tb_chain_purchase)
?
4)?? ?庫存表(表名:tb_chain_stock)
用來存儲商品的表,用于顯示百貨中心倉庫中的貨物及其相關(guān)信息。包含商品id、商品名、數(shù)量、擺放位置、存儲狀態(tài)、創(chuàng)建人、創(chuàng)建時間、更新人、更新時間字段。
表5.4 庫存表(tb_chain_stock)
?
5)?? ?銷售單表(表名:tb_chain_sale)
用來存儲銷售信息的表,用于存儲百貨中心商品的銷售情況。包含銷售單id、數(shù)量、價格、商品id、用戶id、創(chuàng)建人、創(chuàng)建時間、更新人、更新時間字段。
表5.5 銷售單表(tb_chain_sale)
?
6 ?系統(tǒng)實現(xiàn)
在經(jīng)過了需求分析、概要設(shè)計和詳細(xì)設(shè)計后,便開始了百貨中心供應(yīng)鏈管理系統(tǒng)的實現(xiàn)階段,首先我利用Tiles結(jié)合JavaScript對頁面進行布局,之后再利用Maven完成整個項目框架的搭建,利用Hibernate反向工程生成Java實體類,再使用Struts和Spring完成之前設(shè)計的業(yè)務(wù)邏輯。部分關(guā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)營統(tǒng)計模塊關(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)登錄界面
項目發(fā)布后,在瀏覽器地址欄輸入http://localhost:8080,頁面會跳轉(zhuǎn)到webapp目錄下的index.jsp頁面并發(fā)送index.action請求,未登錄的用戶會再發(fā)送一個login.action請求并跳轉(zhuǎn)到login.jsp頁面。
?
圖6.1 系統(tǒng)登錄界面
如果未輸入用戶名/密碼,或輸入的用戶名/密碼不正確,點擊登錄按鈕后會給出出錯提示,提醒重新登錄。
?
圖6.2 登錄出錯提示
6.2 ?登錄成功界面
成功登錄的用戶會進入系統(tǒng)歡迎界面,整個界面是借助Tiles的幫助完成的,它讓系統(tǒng)可以在執(zhí)行不同的請求后只讓頁面的主題部分跳轉(zhuǎn),而網(wǎng)頁的頭、導(dǎo)航欄、尾部不跳轉(zhuǎn),節(jié)省了大量重復(fù)書寫代碼帶來的開銷。
根據(jù)用戶的身份不同,登錄后所能看到的操作選項也有所區(qū)別。
1)?? ?經(jīng)理登錄界面
在本系統(tǒng)中,經(jīng)理被定義為具有最高權(quán)限的用例,可以使用系統(tǒng)的所有功能,能夠看到系統(tǒng)所有的操作選項。
?
圖6.4 經(jīng)理登錄界面
2)?? ?人事部員工登錄界面
本系統(tǒng)中,人事部員工可以操作系統(tǒng)的人事管理模塊,因此進入系統(tǒng)后只能看到人事管理的操作選項以及經(jīng)營統(tǒng)計選項。
?
圖6.5 人事部員工登錄界面
其他部分員工登錄成功界面相似,故不再附圖。
6.3 ?人事管理界面
經(jīng)理、人事部員工可以進入人事管理界面對百貨中心的員工信息進行添加、刪除、修改、查看功能。
1)?? ?人事管理界面
用戶進入人事管理界面后,可以根據(jù)頁面的文字提示對人事信息進行相應(yīng)的操作,所有員工的主要信息被頁面上的表格列出并實現(xiàn)分頁功能。
?
圖6.6 人事管理界面
2)?? ?添加員工界面
用戶點擊人事管理界面上的“添加員工”按鈕進入添加員工界面,在本頁面中輸入要添加的員工的信息后,點擊保存,即可將新的員工信息添加進數(shù)據(jù)庫中,如果有關(guān)鍵的信息沒有正確輸入,頁面會給出相應(yīng)的提示。
?
圖6.7 添加員工界面
3)?? ?更新員工信息界面
類似于添加員工信息,修改員工信息界面實現(xiàn)了對單個員工信息的修改,同樣實現(xiàn)了出錯提示功能。
?
圖6.8 更新員工信息界面
4)?? ?刪除員工成功界面
成功刪除員工信息后會在頁面上給出綠色的成功提示信息。
?
圖6.9 刪除員工信息成功
5)?? ?刪除員工信息失敗界面
當(dāng)已經(jīng)登錄的用戶想要刪除自己的信息時,會給出刪除失敗的提示,因為已經(jīng)登錄的用戶不能刪除自己。
?
圖6.10 刪除員工信息失敗
6.4 ?合作公司管理界面
經(jīng)理、采購部員工可以登錄合作公司管理界面對合作公司進行添加、刪除、修改、查看操作。
1)?? ?合作公司管理界面
用戶進入合作公司管理界面后,可以根據(jù)頁面的文字提示對合作公司信息進行相應(yīng)的操作,所有合作公司的主要信息被頁面上的表格列出并實現(xiàn)分頁功能。
?
圖6.11 合作公司管理界面
2)?? ?添加合作公司界面
用戶點擊合作公司管理界面上的“添加合作公司”按鈕進入添加合作公司界面,在本頁面中輸入要添加的合作公司信息后,點擊保存,即可將新的合作公司信息添加進數(shù)據(jù)庫中,如果有關(guān)鍵的信息沒有正確輸入,頁面會給出相應(yīng)的提示。
?
圖6.12 添加合作公司
3)?? ?修改合作公司信息界面
類似于添加合作公司信息,修改合作公司信息界面實現(xiàn)了對單個合作公司信息的修改,同樣實現(xiàn)了出錯提示功能。
?
圖6.13 修改合作公司
4)?? ?刪除合作公司成功界面
成功刪除合作公司信息后會在頁面上給出綠色的成功提示信息。
?
圖6.14 刪除合作公司成功
6.5 ?采購管理界面
經(jīng)理、采購部員工可以進入采購管理界面,對采購訂單進行添加、刪除、修改、查看操作。其中添加的采購商品必須來自已經(jīng)有合作關(guān)系的公司。
1)?? ?采購管理界面
用戶進入采購管理界面后,可以根據(jù)頁面的文字提示對采購信息進行相應(yīng)的操作,所有采購訂單的主要信息被頁面上的表格列出并實現(xiàn)分頁功能。
?
圖6.15 采購管理界面
2)?? ?添加采購信息界面
用戶點擊采購管理界面上的“添加采購信息”按鈕進入添加采購信息界面,在本頁面中輸入要添加的采購信息后,點擊保存,即可將新的采購信息添加進數(shù)據(jù)庫中,如果有關(guān)鍵的信息沒有正確輸入,頁面會給出相應(yīng)的提示。
?
圖6.16 添加采購信息
3)?? ?修改采購信息界面
類似于添加采購信息,修改采購信息界面實現(xiàn)了對單個采購信息的修改,同樣實現(xiàn)了出錯提示功能。
?
圖6.17 修改采購信息
4)?? ?刪除采購信息成功界面
成功刪除采購信息后會在頁面上給出綠色的成功提示信息。
?
圖6.18 刪除采購信息成功
5)?? ?采購單明細(xì)界面
在采購管理界面點擊單個的采購信息鏈接,可以進入采購信息明細(xì)界面,在本頁面中可以看到本采購訂單的詳細(xì)信息。
?
圖6.19 采購信息明細(xì)
6)?? ?打印采購信息明細(xì)界面
在采購信息明細(xì)界面下方點擊“打印”按鈕,進入打印采購信息明細(xì)界面,可以將相應(yīng)的采購訂單詳細(xì)信息保存或打印。
?
圖6.20 打印采購信息明細(xì)
6.6 ?庫存管理界面
經(jīng)理、物資部員工可以進入庫存管理界面,并添加、修改庫存信息。
1)?? ?庫存管理界面
用戶進入庫存管理界面后,可以根據(jù)頁面的文字提示對庫存信息進行相應(yīng)的操作,所有庫存的主要信息被頁面上的表格列出并實現(xiàn)分頁功能。
?
圖6.21 庫存管理界面
2)?? ?添加庫存信息界面
用戶點擊庫存管理界面上的“添加庫存信息”按鈕進入添加庫存信息界面,在本頁面中輸入要添加的庫存信息后,點擊保存,即可將新的庫存信息添加進數(shù)據(jù)庫中,如果有關(guān)鍵的信息沒有正確輸入,頁面會給出相應(yīng)的提示。
?
圖6.22 添加庫存信息
3)?? ?修改庫存信息界面
類似于添加庫存信息,修改庫存信息界面實現(xiàn)了對單個庫存信息的修改,同樣實現(xiàn)了出錯提示功能。
?
圖6.23 修改庫存信息
4)?? ?庫存信息明細(xì)界面
在庫存管理界面點擊單個的庫存信息鏈接,可以進入庫存信息明細(xì)界面,在本頁面中可以看到本庫存的詳細(xì)信息。
?
圖6.24 庫存信息明細(xì)
5)?? ?打印庫存信息明細(xì)界面
在庫存信息明細(xì)界面下方點擊“打印”按鈕,進入打印庫存信息明細(xì)界面,可以將相應(yīng)的庫存詳細(xì)信息保存或打印。
?
圖6.25 打印庫存信息明細(xì)
6.7 ?銷售管理界面
經(jīng)理、銷售部員工可以進入銷售管理界面,并對銷售信息進行添加、查看操作。
1)?? ?銷售管理界面
用戶進入銷售管理界面后,可以根據(jù)頁面的文字提示對庫存信息進行相應(yīng)的操作,所有銷售情況被頁面上的表格列出并實現(xiàn)分頁功能。
?
圖6.26 銷售管理界面
2)?? ?添加銷售記錄界面
用戶點擊庫存管理界面上的“添加銷售記錄”按鈕進入添加銷售信息界面,在本頁面中輸入要添加的銷售信息后,點擊保存,即可將新的銷售信息添加進數(shù)據(jù)庫中,如果有關(guān)鍵的信息沒有正確輸入,頁面會給出相應(yīng)的提示。
?
圖6.27 添加銷售信息
6.8 ?經(jīng)營統(tǒng)計界面
所有權(quán)限的員工都可以查看百貨中心的經(jīng)營狀況,其中統(tǒng)計了銷售量前十的員工、采購額前十的員工和銷售數(shù)目前十的商品,方便員工了解公司經(jīng)營現(xiàn)狀,幫助決策層找到公司可能存在的問題。
?
圖6.28 經(jīng)營狀況統(tǒng)計
7 ?系統(tǒng)測試
7.1 ?測試目的
軟件測試(software testing),描述一種用來促進鑒定軟件的正確性、完整性、安全性和質(zhì)量的過程。在整個軟件生命周期中,軟件測試占了很大一部分比例,它是保證軟件質(zhì)量的關(guān)鍵環(huán)節(jié),也是降低軟件開發(fā)風(fēng)險的必要手段,軟件測試工作應(yīng)該貫穿整個項目開發(fā)的始終。
7.2 ?測試方法
1)?? ?白盒測試-白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,它是按照程序內(nèi)部的結(jié)構(gòu)測試程序,通過測試來檢測產(chǎn)品內(nèi)部動作是否按照設(shè)計規(guī)格說明書的規(guī)定正常進行,檢驗程序中的每條通路是否都能按預(yù)定要求正確工作。在系統(tǒng)開發(fā)初期,由于參數(shù)設(shè)置的失誤,我開發(fā)的系統(tǒng)經(jīng)常出現(xiàn)如下的錯誤:
?
圖7.1 系統(tǒng)出錯
經(jīng)過耐心的調(diào)試、測試,已經(jīng)基本解決了這些錯誤。
2)?? ?黑盒測試-黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在系統(tǒng)功能實現(xiàn)后,我也對系統(tǒng)進行了一部分文本錄入測試作為黑盒測試,解決了之前部分頁面文字提示錯誤、頁面跳轉(zhuǎn)錯誤的bug,但由于用戶測試的時間有限,還有一些有待改進的地方需要在實際使用中發(fā)現(xiàn)。
7.3 ?測試結(jié)果
實現(xiàn)了所有模塊的功能,修正了已經(jīng)發(fā)現(xiàn)的所有問題、錯誤。但系統(tǒng)還有許多不完善的地方,有待實踐階段的檢驗和提高。
?
8 ?總結(jié)
通過這次對百貨中心供應(yīng)鏈管理系統(tǒng)的設(shè)計與開發(fā),讓我進一步溫習(xí)了大學(xué)課堂上學(xué)到了軟件工程相關(guān)的知識,也使得書本上J2EE、數(shù)據(jù)庫相關(guān)的知識得到了實踐的機會,同時也對Jsp、JavaScript、Maven等有了進一步的了解,通過查詢相關(guān)的資料并學(xué)習(xí),我也發(fā)現(xiàn)了許多不足的地方,還有更多更新更實用的技術(shù),等著我去學(xué)習(xí)去鉆研。總之,經(jīng)過不懈的學(xué)習(xí)與調(diào)試,我的編程能力有了很大的提高,更重要的是,我也看到了自己仍需努力的方向。
?
參考文獻
[1]曹俊超,戴克商.物資管理理論與實務(wù).北京:清華大學(xué)出版社,2006.?
[2]羅伯特?M?蒙茲卡.劉秉鐮,李莉,劉洋譯.采購與供應(yīng)鏈管理.北京:中信出版社,2004.
[3]肯尼斯?萊桑斯,邁克爾吉林厄姆,鞠磊等譯.采購與供應(yīng)鏈管理.北京:電子工業(yè)出版社,2004.
[4] 劉京華等. Java Web整合開發(fā)王者歸來(JSP+Servlet+Struts+Hibernate+Spring).北京:清華大學(xué)出版社,2010.
[5] HUNT J,LFTUS C.精通J2EE-Java企業(yè)級應(yīng)用[M].北京:清華大學(xué)出版社,2004.
[6] LIANG Y D..Java語言程序設(shè)計[M].北京:機械工業(yè)出版社,2003.
[7] Angela Yochem.J2EE應(yīng)用與BEA WebLogic Server[M].北京:電子工業(yè)出版社,2005.
[8]陳天河.Java數(shù)據(jù)庫高級編程寶典[M].北京:電子工業(yè)出版社,2005.
[9]泰勒.JDBC數(shù)據(jù)庫編程與J2EE[M].北京:電子工業(yè)出版社,2004.
[10]顧兵.XML實用技術(shù)教程[M].北京:清華大學(xué)出版社,2007.
[11]丁寶康.數(shù)據(jù)庫實用教程[M].北京:清華大學(xué)出版社,2003.
[12]李剛. 輕量級Java+EE企業(yè)應(yīng)用實戰(zhàn)(第3版).北京:電子工業(yè)出版社,2012.
[13] 陳亞輝,繆勇.Struts2+Spring+Hibernate框架技術(shù)與項目實戰(zhàn).北京:清華大學(xué)出版社,2012.
[14] 劉勇軍,王電鋼. Java EE項目應(yīng)用開發(fā):基于Struts2,Spring,Hibernate.北京:電子工業(yè)出版社,2012.
[15] 埃克爾. Java編程思想(第4版).北京:機械工業(yè)出版社,2007.
[16] 張海藩.軟件工程導(dǎo)論[M].北京:清華大學(xué)出版社,2003.
?
總結(jié)
以上是生活随笔為你收集整理的基于java百货中心供应链管理系统(含源文件)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 神剑仙缘java_异界修真-神剑仙缘
- 下一篇: 购书中心管理信息系统(含源文件)