2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p>  2011屆畢業(yè)設(shè)計說明書</p><p><b>  進銷存管理系統(tǒng)</b></p><p><b>  摘 要</b></p><p>  隨著時代的發(fā)展、科學(xué)的進步,信息時代已經(jīng)遍布全球,計算機已廣泛地深入各行各業(yè),起著越來越巨大的作用。隨著市場商品的不斷增加,管理這些龐大的數(shù)據(jù)是非常困難的,因

2、為商品的進銷存信息是隨時變化的,因此必須對商品的進銷存信息進行動態(tài)的管理,而這對于一個管理人員來說是一件比較復(fù)雜的事情,存儲,查詢,更新,刪除是必不可少的業(yè)務(wù)。為了能讓管理員從繁重的工作中解脫出來,使管理員在使用一個軟件以后能極其容易地對所有商品的進銷存信息進行管理,并且準(zhǔn)確無誤,輕松自如。因此開發(fā)一個進銷存管理系統(tǒng)軟件是當(dāng)務(wù)之急,也是本論文選題的重要意義和研究宗旨。</p><p>  由于Java語言的簡易,

3、便用簡便,服務(wù)器空間成本相對較低,并且有Mircosoft的支持,使得很多中小型的Web系統(tǒng)采用此語言,而面向?qū)ο蟮膬?yōu)勢也使得開發(fā)應(yīng)用程序變得非常容易,所以本系統(tǒng)采用Java語言來編寫,開發(fā)環(huán)境采用Eclipse,數(shù)據(jù)庫采用SQL Server2000。</p><p>  本文簡單介紹了進銷存管理系統(tǒng)的基本信息管理、銷售管理、進貨管理、庫存管理、系統(tǒng)管理的業(yè)務(wù)流程,結(jié)合管理信息系統(tǒng)開發(fā)的理念,開發(fā)了進銷存管理信

4、息系統(tǒng)。</p><p>  關(guān)鍵詞:管理系統(tǒng);信息管理;Java;SQL Server2000</p><p><b>  ABSTRACT</b></p><p>  With the development, scientific progress, the information age has been all over the wo

5、rld, the computer has been widely used in variety of fields, played an increasingly significant role. With the increasing market commodity,managing these large data become very difficult, because the commodity purchasing

6、-sales-inventory information is subject to change, so we have to management the dynamic information, which is a complexthing for a administrator, storage, query, update, delete is essential for</p><p>  Beca

7、use Java is a simple language, they can be simplely used, relatively low cost of server space, and there Mircosoft's support, making many small and medium sized Web system use this language, but also makes the advant

8、ages of object-oriented application development much easier, Therefore, this program is writed with Java language,and I use Eclipse as development environment, SQL Server2000 as database. </p><p>  This pape

9、r briefly describes the the basic inventory management system, information management, sales management, purchasing management, inventory management, system management, business processes, combined with the concept of ma

10、nagement information systems development, the development of the inventory management information systems.</p><p>  朗讀顯示對應(yīng)的拉丁字符的拼音 字典</p><p>  可翻譯 50 多種語言</p><p><b>  ???

11、</b></p><p><b>  ??</b></p><p><b>  ?? ???! </b></p><p><b>  nazdar!</b></p><p>  Es ist sehr interessant!</p><p>

12、;  Buongiorno Principessa!</p><p>  hoje está ensolarado</p><p>  Je parle un petit peu français.</p><p>  Wie bitte?</p><p>  haydi gidelim</p><p&

13、gt;  ¿Cómo estás?</p><p>  Vær så snill</p><p>  ??? ??? ?????</p><p>  Wie gehts?</p><p>  La voiture</p><p><b>  hello<

14、/b></p><p>  ?? ???? ??????? ???.</p><p>  mijn vriend</p><p><b>  ??????</b></p><p>  miracoloso</p><p>  Wie heißen Sie?</p>&

15、lt;p><b>  παραλ?α</b></p><p><b>  Pardon ??</b></p><p><b>  s? t?</b></p><p><b>  さようなら</b></p><p><b>  rouge&l

16、t;/b></p><p><b>  Простите</b></p><p>  Ich bin vierzig Jahre alt</p><p><b>  escargots</b></p><p><b>  χρησμ??</b></p>&l

17、t;p><b>  ?????</b></p><p><b>  ????</b></p><p><b>  ???????</b></p><p><b>  děti</b></p><p><b>  Hjelp!</b&g

18、t;</p><p>  Je ne sais pas !</p><p>  Key words management system;information management;Java;SQL Server2000</p><p><b>  目 錄</b></p><p><b>  1 前言1

19、</b></p><p>  1.1 課題的目的和意義1</p><p>  1.2 國內(nèi)外發(fā)展現(xiàn)狀1</p><p>  1.2.1 國外研究現(xiàn)狀1</p><p>  1.2.2 國內(nèi)研究現(xiàn)狀1</p><p>  1.2.3 本人見解2</p><p>  

20、1.3 課題主要工作2</p><p>  1.3.1 基于java的進銷存管理系統(tǒng)主要功能2</p><p>  1.3.2 系統(tǒng)主模塊圖3</p><p><b>  2 相關(guān)技術(shù)4</b></p><p>  2.1 ExtJs4</p><p>  2.2 Dwr5

21、</p><p>  2.3 Struts5</p><p>  2.4 Hibernate6</p><p><b>  3 系統(tǒng)分析7</b></p><p>  3.1 可行性分析7</p><p>  3.1.1 經(jīng)濟性7</p><p>  3

22、.1.2 技術(shù)性7</p><p>  3.2 需求分析及系統(tǒng)功能7</p><p>  3.2.1 銷售子系統(tǒng)功能的需求7</p><p>  3.2.2 庫管子系統(tǒng)功能的需求8</p><p>  3.2.3 進貨子系統(tǒng)功能的需求9</p><p>  3.2.4 基本信息管理子系統(tǒng)功能的需求

23、10</p><p>  3.2.5 系統(tǒng)管理子系統(tǒng)功能的需求11</p><p>  4 系統(tǒng)總體設(shè)計12</p><p>  4.1 系統(tǒng)總體架構(gòu)與設(shè)計12</p><p>  4.1.1 設(shè)計原則12</p><p>  4.1.2 模塊劃分12</p><p>  

24、4.2 系統(tǒng)E-R圖13</p><p>  4.3 數(shù)據(jù)庫設(shè)計13</p><p>  5 功能模塊詳細設(shè)計及實現(xiàn)16</p><p>  5.1 系統(tǒng)主界面16</p><p>  5.2 基本信息管理16</p><p>  5.2.1 功能分析16</p><p>

25、;  5.2.2 實現(xiàn)原理16</p><p>  5.2.3 核心代碼18</p><p>  5.3 銷售管理19</p><p>  5.3.1 功能分析19</p><p>  5.3.2 實現(xiàn)原理19</p><p>  5.3.3 核心代碼20</p><p>

26、;  5.4 進貨管理21</p><p>  5.4.1 功能分析21</p><p>  5.4.2 實現(xiàn)原理22</p><p>  5.4.3 核心代碼23</p><p>  5.5 庫存管理24</p><p>  5.5.1 功能分析24</p><p> 

27、 5.5.2 實現(xiàn)原理24</p><p>  5.5.3 核心代碼25</p><p>  5.6 系統(tǒng)管理26</p><p>  5.6.1 功能分析26</p><p>  5.6.2 實現(xiàn)原理27</p><p>  5.6.3 核心代碼28</p><p> 

28、 6 系統(tǒng)測試29</p><p>  6.1 系統(tǒng)開發(fā)環(huán)境29</p><p>  6.2 系統(tǒng)測試29</p><p>  6.2.1 測試項目說明29</p><p>  6.2.2 測試評價30</p><p><b>  總結(jié)與展望31</b></p>

29、<p><b>  參考文獻32</b></p><p><b>  致謝33</b></p><p><b>  1 前言</b></p><p>  1.1 課題的目的和意義</p><p>  在市場經(jīng)濟中,銷售是企業(yè)運行的重要環(huán)節(jié)。為了更好地推動銷售

30、,不少企業(yè)建立了分公司和代理制,通過分公司或代理把產(chǎn)品推向最終用戶。這些分公司或代理商大都分布在不同的地理位置,跨時空,跨時間的頻繁業(yè)務(wù)信息交流是這些企業(yè)業(yè)務(wù)的活動的主要特點。在這種形式下,傳統(tǒng)的依靠管理人員人工傳遞信息和數(shù) 據(jù)的管理方式就無法滿足企業(yè)日益增長的業(yè)務(wù)需求了。課題研究目的通過進銷存管理系統(tǒng),利用信息化手段把先進的企業(yè)管理方法引入企業(yè)的實踐,為企業(yè)的管理改革提供切實易行的途徑。更重要的是,進銷存管理系統(tǒng)可以及時通過信息技術(shù)把

31、企業(yè)數(shù)據(jù)快速轉(zhuǎn)化為企業(yè)信息,進而為相關(guān)管理者提供決策依據(jù)。 </p><p>  1.2 國內(nèi)外發(fā)展現(xiàn)狀</p><p>  1.2.1 國外研究現(xiàn)狀</p><p>  國外目前做的進銷存管理系統(tǒng),雖然產(chǎn)品都已經(jīng)比較成熟,但由于中西文化的差異,進銷存系統(tǒng)中的財務(wù)管理模塊根本無法在企業(yè)中使用。國外原先選擇的進銷存產(chǎn)品,跟他們的財務(wù)管理實際流程相差很多。如在他們的

32、財務(wù)管理模塊中,增值稅發(fā)票與應(yīng)收帳款是合在一起管理的。但是在國內(nèi),大部分企業(yè)都是先產(chǎn)生應(yīng)收帳款,然后再進行開票。而且,有時候需要把幾筆應(yīng)收帳款和在一起進行開票?,F(xiàn)在把增值稅發(fā)票與應(yīng)收帳款和在一起的話,財務(wù)人員在實際工作中就很難操作。另外在報表的格式上也有很大的差異,國外項目很難直接拿到中國企業(yè)中使用。</p><p>  1.2.2 國內(nèi)研究現(xiàn)狀</p><p>  根據(jù)目前從網(wǎng)上可查到

33、的信息,國內(nèi)進銷存管理系統(tǒng)多種多樣,如美萍商業(yè)進銷存管理系統(tǒng) 9.7,其中包含商品銷售管理系統(tǒng) ,庫存管理系(倉庫管理系統(tǒng))。軟件界面設(shè)計簡潔, 美觀,其人性化的軟件流程,使普通用戶不需培訓(xùn)也能很快掌握軟件操作使用方法,上手極易,但是基于C/S結(jié)構(gòu),系統(tǒng)維護維護,升級開銷很大。</p><p>  1.2.3 本人見解 </p><p>  在各種先進技術(shù)中,基于Web的進銷存管理系統(tǒng)方

34、便與用戶交互,升級,界面設(shè)計需要簡潔,美觀,人性化的軟件流程,才能吸引更多的用戶。</p><p>  1.3 課題主要工作</p><p>  1.3.1 基于java的進銷存管理系統(tǒng)主要功能</p><p>  本系統(tǒng)是根據(jù)人們在日常生活中的實際需求而開發(fā)的,完全能夠?qū)崿F(xiàn)人們對各類商品信息及各類信息查詢的功能,通過本系統(tǒng)可以達到以下目標(biāo):</p>

35、<p>  (1)系統(tǒng)最大限度地實現(xiàn)了易使用性、易維護性;</p><p> ?。?)系統(tǒng)運行穩(wěn)定,安全可靠;</p><p> ?。?)操作靈活,界面友好,充分滿足各類企業(yè)的進銷存管理需求;</p><p>  (4)實施規(guī)范的進、銷、存一體化業(yè)務(wù)管理;</p><p>  (5)強大的查詢分析功能;</p>&

36、lt;p> ?。?)靈活、細分的權(quán)限控制功能。</p><p>  本系統(tǒng)是一款將進貨、銷售、庫存進行一體化管理的系統(tǒng)。系統(tǒng)由基本信息、進貨管理、銷售管理、庫存管理和系統(tǒng)管理等模塊組成。特規(guī)劃功能模塊如下:</p><p><b>  (1)基本信息</b></p><p>  基礎(chǔ)信息模塊:商品信息、供應(yīng)商信息、客戶信息。</p&

37、gt;<p><b> ?。?)進貨管理</b></p><p>  進貨管理:商品進貨、進貨退貨。</p><p><b> ?。?)銷售管理</b></p><p>  銷售管理:商品銷售、客戶退貨。</p><p><b>  (4)庫存管理</b><

38、;/p><p>  庫存管理:庫存查詢、庫存盤點。</p><p><b> ?。?)系統(tǒng)管理</b></p><p>  系統(tǒng)管理模塊:用戶管理、更改資料。</p><p>  1.3.2 系統(tǒng)主模塊圖</p><p>  圖1 系統(tǒng)主模塊圖</p><p><b&

39、gt;  2 相關(guān)技術(shù)</b></p><p>  2.1 ExtJs</p><p>  Ext JS(下簡稱Ext)是以HTML作為控件的骨干、CSS作為樣式的表現(xiàn)、以JavaScript作為粘合語言,可應(yīng)用于IE/FireFox/Opera等的瀏覽器上的AJAX UI組件庫。</p><p>  Ext的產(chǎn)生,最早是在YUI的庫的基礎(chǔ)上擴展開來

40、,因此Ext早期名字是YUI-Ext。在2005年下半年的時候,Jack Slocum有一個AJAX項目需要維護,他選擇了YUI庫作為底層庫,經(jīng)歷半年的時間都圍繞著YUI進行開發(fā)。但是當(dāng)YUI變得越來越大,功能需求也越來越多,他逐漸發(fā)覺維護YUI并不是一件容易的事情。在工作的同時,又接觸了Swing,Java平臺上的UI庫,他用了極少的時間研究并著手改寫YUI,使之呈現(xiàn)較先進的Swing UI理念。經(jīng)過一邊寫技術(shù)博客,一邊以YUI-Ex

41、t的形式開放自己寫的UI,包括Grid、Tree等呼聲很高的UI組件。在Jack一手開發(fā)和社區(qū)營造下,此時YUI-Ext已經(jīng)成為一個成熟的AJAX UI框架,而且是獨立的框架,可不受YUI的影響并且兼容jQuery/Prototype.js的其他JS庫。其時改名為Ext JS(April 15th 2007)。</p><p>  在2007年2月,Ext獲得剛成立的公司的財務(wù)支持,因此又增加了許多強力的功能。到

42、Ext 2.0的時候已經(jīng)具備了Swing很多的特性,即components/containers/layouts等的概念紛紛應(yīng)用在內(nèi)。Ext 2.0是一個真正成熟的框架,各方面的完善程度較高,即使升級到后來的3.0無論底層結(jié)構(gòu)還是配置代碼均無須太大改動。3.0增加了Ext Direct、DataWriters、Accessibility (ARIA)等更多的增強功能。</p><p>  時至今日,Ext已經(jīng)廣為

43、人知,并且有越來越多人參與了extjs.com/forum這個討論社群,一同交換意見,改進Ext,而且Ext在使用及擴展上也越趨便利。較代表性的有基于Google GWT的GXT和可視化設(shè)計師Desinger,因此越來越多用戶聲稱,就算不了解JavaScipt編程,只要透過Desinger IDE,通過鼠標(biāo)的操作就可以擁有一個Ajax界面。另外一方面,許多人基于Ext的基礎(chǔ)上演進了不同后臺的整合方案,甚至手機上也可以運行Ext! <

44、;/p><p><b>  2.2 Dwr</b></p><p>  DWR(Direct Web Remoting)是一個開源的類庫,可以幫助開發(fā)人員開發(fā)包含AJAX技術(shù)的網(wǎng)站.它可以允許在瀏覽器里的代碼使用運行在WEB服務(wù)器上的JAVA函數(shù),就像它就在瀏覽器里一樣。</p><p>  它包含兩個主要的部分:允許JavaScript從WEB

45、服務(wù)器上一個遵循了AJAX原則的Servlet中獲取數(shù)據(jù)。另外一方面一個JavaScript庫可以幫助網(wǎng)站開發(fā)人員輕松地利用獲取的數(shù)據(jù)來動態(tài)改變網(wǎng)頁的內(nèi)容。</p><p>  DWR采取了一個類似AJAX的新方法來動態(tài)生成基于JAVA類的JavaScript代碼.這樣WEB開發(fā)人員就可以在JavaScript里使用Java代碼就像它們是瀏覽器的本地代碼(客戶端代碼)一樣;但是Java代碼運行在WEB服務(wù)器端而且

46、可以自由訪問WEB 服務(wù)器的資源.出于安全的理由,WEB開發(fā)者必須適當(dāng)?shù)嘏渲媚男㎎ava類可以安全的被外部使用。</p><p>  這個從JAVA到JavaScript的遠程功能方法給DWR的用戶帶來非常像傳統(tǒng)的RPC機制,就像RMI或者SOAP一樣,而且擁有運行在WEB上但是不需要瀏覽器插件的好處。</p><p>  DWR不認為瀏覽器/WEB服務(wù)器協(xié)議是重要的,而更樂于保證編程界面

47、的簡單自然.對此最大的挑戰(zhàn)就是把AJAX的異步特性和正常JAVA方法調(diào)用的同步特性相結(jié)合.在異步模式下,結(jié)果數(shù)據(jù)在開始調(diào)用之后的一段時間之后才可以被異步訪問獲取到.DWR允許WEB開發(fā)人員傳遞一個回調(diào)函數(shù),來異步處理Java函數(shù)調(diào)用過程。</p><p>  2.3 Struts</p><p>  Struts只是一個MVC框架(Framework),用于快速開發(fā)Java Web應(yīng)用。

48、Struts實現(xiàn)的重點在C(Controller),包括ActionServlet/RequestProcessor和我們定制的Action,也為V(View)提供了一系列定制標(biāo)簽(Custom Tag)。但Struts幾乎沒有涉及M(Model),所以Struts可以采用JAVA實現(xiàn)的任何形式的商業(yè)邏輯。 </p><p>  Struts是一種MVC(Model View Controller)模式框架。它是

49、Apache基金會Jakarta項目組中的一個Open Source 項目,它能夠很好地幫助Java開發(fā)者通過J2EE開發(fā)Web應(yīng)用程序。Struts是基于面向?qū)ο笤O(shè)計的,它的實現(xiàn)重點在控制器(C)上,同時也為視圖提供了一系列定制標(biāo)簽功能?;赟truts構(gòu)架的Web應(yīng)用程序基本上符合JSP Model 2 的設(shè)計標(biāo)準(zhǔn),可以說是傳統(tǒng)MVC設(shè)計模式的一種變化類型。</p><p>  2.4 Hibernate&

50、lt;/p><p>  Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。

51、</p><p>  Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務(wù)控制。下面對這五的核心接口分別加以介紹。</p><p>  Session接口:Session接口負責(zé)執(zhí)行被持久化對

52、象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個術(shù)語時,其實指的是Hibernate中的session,而以后會將HttpSesion對象稱為用戶session。</p><p>  SessionFactory接口:

53、SessionFactroy接口負責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲源的代理,并負責(zé)創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當(dāng)需要操作多個數(shù)據(jù)庫時,可以為每個數(shù)據(jù)庫指定一個SessionFactory。</p><p>  Configuration接口:Configurat

54、ion接口負責(zé)配置并啟動Hibernate,創(chuàng)建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對象。</p><p>  Transaction接口:Transaction接口負責(zé)事務(wù)相關(guān)的操作。它是可選的,可發(fā)人員也可以設(shè)計編寫自己的底層事務(wù)處理代碼。</p><p&

55、gt;  Query和Criteria接口:Query和Criteria接口負責(zé)執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語言或SQL語句兩種表達方式。</p><p><b>  3 系統(tǒng)分析</b></p><p>  3.1 可行性分析</p><p>  通過計算機網(wǎng)絡(luò)對對中小企業(yè)進行全面的管理,滿足中小企業(yè)現(xiàn)代化管理需求。</p&

56、gt;<p>  3.1.1 經(jīng)濟性</p><p>  中小企業(yè)運行過程中信息的系統(tǒng)化管理,數(shù)據(jù)統(tǒng)計,為中小企業(yè)的經(jīng)營決策提供了大量的數(shù)據(jù):強大的庫存盤點功能,簡化了員工的日常工作,提高了員工的工作效率,也提高了中小企業(yè)的經(jīng)濟效益。</p><p>  3.1.2 技術(shù)性</p><p>  在高系統(tǒng)配置,高網(wǎng)絡(luò)帶寬服務(wù)的情況下,各個級別的管理員

57、很容易通過網(wǎng)站對其操作范圍內(nèi)的系統(tǒng)內(nèi)容信息進行操作管理,完成滿足日常經(jīng)營、管理的要求。</p><p>  系統(tǒng)簡單易學(xué),方便實用。界面在設(shè)計過程中要充分考慮管理人員和使用人員的習(xí)慣,操作要簡單,數(shù)據(jù)錄入要迅速,規(guī)范可靠,統(tǒng)計要準(zhǔn)確,制表要靈活,適應(yīng)性強等。</p><p>  3.2 需求分析及系統(tǒng)功能</p><p>  通過調(diào)研和分析,本文將系統(tǒng)分成銷售,進

58、貨,庫管,基本信息管理,系統(tǒng)管理五大子模塊。</p><p>  其操作范圍內(nèi)的系統(tǒng)內(nèi)容信息進行操作管理,完成滿足日常經(jīng)營、管理的要求。</p><p>  3.2.1 銷售子系統(tǒng)功能的需求</p><p><b> ?。?)用戶登錄</b></p><p>  要進入系統(tǒng)的用戶都要進行登陸才能進入系統(tǒng)界面,</

59、p><p>  用戶打開登陸框,輸入用戶名和密碼:用戶名和密碼輸入正確方可進入系統(tǒng)。</p><p>  注:此用戶名和密碼都是管理員事先分配好的,此用戶只能有更改自己密碼的權(quán)限。 </p><p><b> ?。?)商品銷售</b></p><p>  此用戶具有查看并填寫銷售業(yè)務(wù)單,查看歷史銷售業(yè)務(wù)單,并可以更改

60、,刪除本用戶負責(zé)的銷售單。</p><p><b>  (3)客戶退貨 </b></p><p>  此用戶具有查看并填寫客戶退貨單,查看歷史客戶退貨單,并可以更改,刪除本用戶負責(zé)的客戶退貨單。</p><p>  綜上所述,此子系統(tǒng)的功能需求可用如下圖表示:</p><p>  圖2 銷售管理字系統(tǒng)的主要功能圖<

61、;/p><p>  3.2.2 庫管子系統(tǒng)功能的需求</p><p><b> ?。?)用戶登錄</b></p><p>  要進入系統(tǒng)的用戶都要進行登陸才能進入系統(tǒng)界面,</p><p>  用戶打開登陸框,輸入用戶名和密碼:用戶名和密碼輸入正確方可進入系統(tǒng)。</p><p>  注:此用戶名和密

62、碼都是管理員事先分配好的,此用戶只能有更改自己密碼的權(quán)限。 </p><p><b>  (2)倉庫盤點</b></p><p>  此用戶具有查看并填寫,刪除,修改其負責(zé)倉庫產(chǎn)品入庫,出庫的功能。</p><p><b>  (3)倉庫管理</b></p><p>  管理員具有查看并填寫

63、,刪除,修改倉庫的功能。</p><p>  綜上所述,此子系統(tǒng)的功能需求可用如下圖表示:</p><p>  圖3 倉庫管理模塊功能圖</p><p>  3.2.3 進貨子系統(tǒng)功能的需求</p><p><b> ?。?)用戶登錄</b></p><p>  要進入系統(tǒng)的用戶都要進行登陸才

64、能進入系統(tǒng)界面,</p><p>  用戶打開登陸框,輸入用戶名和密碼:用戶名和密碼輸入正確方可進入系統(tǒng)。</p><p>  注:此用戶名和密碼都是管理員事先分配好的,此用戶只能有更改自己密碼的權(quán)限。 </p><p><b>  (2)進貨管理</b></p><p>  此用戶具有查看并填寫進貨單,查看歷史

65、進貨單,并可以更改,刪除本用戶負責(zé)的進貨單。</p><p><b> ?。?)進貨退貨單</b></p><p>  此用戶具有查看并填寫進貨退貨單,查看歷史進貨退貨單,并可以更改,刪除本用戶負責(zé)的進貨退貨單。</p><p>  綜上所述,此子系統(tǒng)的功能需求可用如下圖表示:</p><p>  圖4 進貨模塊功能圖

66、</p><p>  3.2.4 基本信息管理子系統(tǒng)功能的需求</p><p><b> ?。?)用戶登錄</b></p><p>  要進入系統(tǒng)的用戶都要進行登陸才能進入系統(tǒng)界面,</p><p>  用戶打開登陸框,輸入用戶名和密碼:用戶名和密碼輸入正確方可進入系統(tǒng)。</p><p>  注

67、:此用戶名和密碼都是管理員事先分配好的,此用戶只能有更改自己密碼的權(quán)限。 </p><p>  (2)產(chǎn)品基本信息管理</p><p>  用戶具有查看并填寫產(chǎn)品基本信息單,查看產(chǎn)品基本信息單,并可以更改,刪除的產(chǎn)品基本信息單。</p><p> ?。?)客戶基本信息管理</p><p>  用戶具有查看并填寫客戶基本信息單

68、,查看客戶基本信息單,并可以更改,刪除的客戶基本信息單。</p><p> ?。?)供應(yīng)商基本信息管理</p><p>  用戶具有查看并填寫供應(yīng)商基本信息單,查看供應(yīng)商基本信息單,并可以更改,刪除的供應(yīng)商基本信息單。</p><p>  綜上所述,此子系統(tǒng)的功能需求可用如下圖表示:</p><p>  圖5 基本信息功能圖</p&g

69、t;<p>  3.2.5 系統(tǒng)管理子系統(tǒng)功能的需求</p><p><b> ?。?)用戶登錄</b></p><p>  要進入系統(tǒng)的用戶都要進行登陸才能進入系統(tǒng)界面,</p><p>  用戶打開登陸框,輸入用戶名和密碼:用戶名和密碼輸入正確方可進入系統(tǒng)。</p><p>  注:此用戶名和密碼都是

70、管理員事先分配好的,此用戶只能有更改自己密碼的權(quán)限。 </p><p><b>  (2)用戶管理</b></p><p>  管理員可以查詢并填寫、修改、刪除用戶的功能。</p><p>  綜上所述,此子系統(tǒng)的功能需求可用如下圖表示:</p><p>  圖6 用戶管理模塊的功能</p>

71、;<p><b>  4 系統(tǒng)總體設(shè)計</b></p><p>  4.1 系統(tǒng)總體架構(gòu)與設(shè)計</p><p>  4.1.1 設(shè)計原則</p><p>  根據(jù)商品貿(mào)易原則,實現(xiàn)買賣雙方有效交易,特別在銷售,庫存,以及進貨這三個模塊之間實現(xiàn)互聯(lián),以達到對產(chǎn)品信息進行及時更新及記錄。</p><p>

72、  4.1.2 模塊劃分</p><p>  整個系統(tǒng)的模塊劃分如下:</p><p>  圖7 各模塊在導(dǎo)航欄的體現(xiàn)</p><p>  4.2 系統(tǒng)E-R圖</p><p>  圖8 進銷存管理系統(tǒng)E-R圖</p><p>  4.3 數(shù)據(jù)庫設(shè)計</p><p>  本系統(tǒng)采用微軟

73、公司的SQL Server2000數(shù)據(jù)庫管理系統(tǒng),下面就該系統(tǒng)的數(shù)據(jù)庫表做如下設(shè)計(主鍵都是自動增長):</p><p>  產(chǎn)品基本信息表:產(chǎn)品的信息,與銷售,庫存,進貨產(chǎn)品之間的信息一一對應(yīng),product_id用來標(biāo)記產(chǎn)品編號,產(chǎn)品ID不一樣則無法進行該產(chǎn)品的進貨,銷售,庫存功能,表結(jié)構(gòu)如下</p><p>  表1 產(chǎn)品基本信息表(product)</p><

74、p>  產(chǎn)品類型表:產(chǎn)品的類型,字段ptype_id與產(chǎn)品基本信息表的字段pptype_id相匹配,作為其外鍵,表結(jié)構(gòu)如下</p><p>  表2 產(chǎn)品類型表(ptype)</p><p>  表3 客戶基本信息表(customer)</p><p>  表4 供應(yīng)商信息表(supply)</p><p>  表5 操作員表(

75、user)</p><p>  表6 銷售單(sale)</p><p>  表7 進貨單(purchase)</p><p>  5 功能模塊詳細設(shè)計及實現(xiàn)</p><p>  5.1 系統(tǒng)主界面</p><p>  模塊是本系統(tǒng)的界面,在本界面上集成了本系統(tǒng)的所有功能,共有五個功能菜單和10個子菜單(功能模

76、塊),從而實現(xiàn)了本系統(tǒng)從銷售管理,進貨管理,產(chǎn)品基本信息管理,庫存管理,系統(tǒng)管理等系統(tǒng)的具體功能。系統(tǒng)主界面如圖所示。</p><p><b>  圖9 系統(tǒng)主界面</b></p><p>  5.2 基本信息管理</p><p>  5.2.1 功能分析</p><p>  方便用戶對產(chǎn)品基本信息,客戶信息,供應(yīng)

77、商信息進行多條件查詢,增加,修改,刪除。</p><p>  5.2.2 實現(xiàn)原理</p><p>  用hibernate語句里的查詢、增加、修改、刪除語句,對數(shù)據(jù)庫里對應(yīng)的產(chǎn)品信息表,供應(yīng)商信息表,客戶信息表進行相應(yīng)的操作。</p><p>  圖10 產(chǎn)品基本信息管理界面</p><p>  圖11 客戶信息管理界面</p&

78、gt;<p>  圖12 供應(yīng)商信息管理界面</p><p>  5.2.3 核心代碼</p><p><b>  /**</b></p><p>  * 數(shù)據(jù)庫中獲取所有</p><p>  * @param condtions 保存前臺傳遞的數(shù)據(jù)</p><p><b

79、>  * @return</b></p><p><b>  */</b></p><p>  public ListRange findAll(Map conditions){</p><p>  //數(shù)據(jù)庫讀出的所有顧客信息</p><p>  List<Customer> list=p

80、ojod.findAll();</p><p>  if(list.size()>0){</p><p>  //轉(zhuǎn)換成所需要的格式,傳遞到前臺顯示</p><p>  infoList=convertFormat(list);</p><p>  return PageShow.pageHandle(conditions,infoLi

81、st);</p><p><b>  }else{</b></p><p>  infoList.add(new Customer());</p><p>  return new ListRange(infoList.subList(0,1).toArray(),infoList.size());</p><p>&l

82、t;b>  }</b></p><p><b>  }</b></p><p><b>  5.3 銷售管理</b></p><p>  5.3.1 功能分析</p><p>  銷售貨物時,用戶可以填寫銷售單,并可以查看,修改,刪除銷售單,同時倉庫中該產(chǎn)品數(shù)量發(fā)生相應(yīng)變動。&

83、lt;/p><p>  顧客退貨時,用戶可以填寫銷售退貨單,并可以查看,修改,刪除銷售退貨單,同時倉庫中產(chǎn)品數(shù)量發(fā)生相應(yīng)變動。</p><p>  5.3.2 實現(xiàn)原理</p><p>  用hibernate語句里的查詢、增加、修改、刪除語句,對數(shù)據(jù)庫里對應(yīng)的銷售單信息,銷售退貨表信息,客戶信息表進行相應(yīng)的操作。同時對產(chǎn)品倉庫表中的產(chǎn)品數(shù)量進行相應(yīng)變動。</p

84、><p>  圖13 銷售登記界面</p><p>  圖14 銷售退貨界面</p><p>  圖15 填寫銷售單界面</p><p>  5.3.3 核心代碼</p><p><b>  /**</b></p><p><b>  * 增加銷售單</

85、b></p><p>  * @param s</p><p>  * @return 最后一個銷售單ID</p><p><b>  */</b></p><p>  public int save(ios.web.form.sale.Sale s){</p><p>  Sale ss=

86、new Sale();</p><p>  Customer c=new Customer();</p><p>  //根據(jù)顧客ID增加</p><p>  c.setCustomerId(s.getSalCustomerId());</p><p>  ss.setCustomer(c);</p><p>  //

87、用戶的ID保存在session中,從session中獲得</p><p>  ios.pojo.sys.User u=new ios.pojo.sys.User();</p><p>  u.setUserId(s.getSalUserId());</p><p>  ss.setUser(u);</p><p>  ios.pojo.ios

88、info.Product p=new ios.pojo.iosinfo.Product();</p><p>  p.setProductId(s.getSalProductId());</p><p>  ss.setProduct(p);</p><p>  ss.setSadate(s.getSadate());</p><p>  s

89、s.setSanumber(s.getSanumber());</p><p>  sd.save(ss);</p><p>  //同時產(chǎn)品倉庫表中相應(yīng)的產(chǎn)品數(shù)量減少</p><p>  StoreHandle.decreNum(p,u,s.getSanumber());</p><p>  return sd.findlastID();&

90、lt;/p><p><b>  }</b></p><p><b>  5.4 進貨管理</b></p><p>  5.4.1 功能分析</p><p>  進貨時,用戶可以填寫進貨單,并可以修改,查看,刪除進貨單,同時倉庫中相應(yīng)產(chǎn)品信息發(fā)生相應(yīng)變動。</p><p>  

91、進貨退貨時,用戶可以填寫進貨退貨單,并可以修改,查看,刪除進貨退貨單,同時倉庫中相應(yīng)產(chǎn)品信息發(fā)生相應(yīng)變動。</p><p>  5.4.2 實現(xiàn)原理</p><p>  用hibernate語句里的查詢、增加、修改、刪除語句,對數(shù)據(jù)庫里對應(yīng)的進貨退貨單信息表,進貨信息表進行相應(yīng)的操作。同時對產(chǎn)品倉庫表中的產(chǎn)品數(shù)量進行相應(yīng)變動。</p><p>  圖16 購買進

92、貨界面</p><p>  圖17 進貨退貨界面</p><p>  5.4.3 核心代碼</p><p><b>  /**</b></p><p><b>  * 更新</b></p><p>  * @param s</p><p><

93、b>  * @return</b></p><p><b>  */</b></p><p>  public boolean saveorupdate(ios.web.form.purchase.Purchase s){</p><p>  Purchase ss=new Purchase();</p><

94、;p>  Supply c=new Supply();</p><p>  //根據(jù)顧客ID增加</p><p>  c.setSupplyId(s.getPsupplyId());</p><p>  ss.setSupply(c);</p><p>  ios.pojo.sys.User u=new ios.pojo.sys.Use

95、r();</p><p>  u.setUserId(s.getPuserId());</p><p>  ss.setUser(u);</p><p>  ios.pojo.iosinfo.Product p=new ios.pojo.iosinfo.Product();</p><p>  p.setProductId(s.getPpro

96、ductId());</p><p>  ss.setProduct(p);</p><p>  ss.setPudate(s.getPudate());</p><p>  ss.setPunumber(s.getPunumber());</p><p>  ss.setPurchaseId(s.getPurchaseId());</

97、p><p>  boolean isSuccess = true;</p><p><b>  try {</b></p><p>  pojod.saveorupdate(ss);</p><p><b>  } </b></p><p>  catch (Exception

98、e) {</p><p>  isSuccess = false;</p><p>  e.printStackTrace();</p><p>  System.out.println("修改失敗");</p><p><b>  } </b></p><p>  retur

99、n isSuccess;</p><p><b>  }</b></p><p><b>  5.5 庫存管理</b></p><p>  5.5.1 功能分析</p><p>  倉庫盤點時,用戶可以進行產(chǎn)品入庫,產(chǎn)品出庫,入庫修改操作,同時可以進行相應(yīng)地查詢。</p><

100、p>  倉庫管理時,用戶可以分配倉庫,修改倉庫,查詢、刪除倉庫。</p><p>  5.5.2 實現(xiàn)原理</p><p>  用hibernate語句里的查詢、增加、修改、刪除語句,對數(shù)據(jù)庫里對應(yīng)的產(chǎn)品倉庫表,倉庫表進行相應(yīng)的操作。</p><p>  圖18 倉庫盤點界面</p><p>  圖19 倉庫管理界面</p&

101、gt;<p>  5.5.3 核心代碼</p><p><b>  /**</b></p><p><b>  * 根據(jù)條件查詢</b></p><p>  * @param condtions</p><p><b>  * @return</b></p

102、><p><b>  */</b></p><p>  public ListRange getSaleByParames(Map conditions){</p><p>  String productName="";</p><p>  String username="";&l

103、t;/p><p><b>  //倉庫名字</b></p><p>  String dbasename="";</p><p><b>  try{</b></p><p>  productName=(conditions.get("pname") !=nul

104、l )?(conditions.get("pname").toString()):"";</p><p>  username=(conditions.get("username") !=null)?(conditions.get("username").toString()) :"";</p>&l

105、t;p>  dbasename=(conditions.get("dbase") !=null)?(conditions.get("dbase").toString()) :"";</p><p>  }catch(Exception ef){</p><p>  ef.printStackTrace();</p>

106、;<p><b>  }</b></p><p>  System.out.println("-------------------傳遞的"+productName+username+dbasename);</p><p><b>  //條件SQL語句</b></p><p>  Str

107、ing sql="from Store as m where m.flag=1 and m.storeId !=0 ";</p><p>  if(!("".equals(productName))){</p><p>  sql=sql+"and m.product.pname= '"+productName+"

108、;' ";</p><p><b>  }</b></p><p>  if(!("".equals(dbasename))){</p><p>  sql=sql+"and m.dbase.dbasename= '"+dbasename+"' ";&

109、lt;/p><p><b>  } </b></p><p>  if(!("".equals(username))){</p><p>  sql=sql+"and m.user.username= '"+username+"'";</p><p&

110、gt;<b>  } </b></p><p>  System.out.println("sql is:"+sql);</p><p>  List<Store> slist=pojod.findByPropertysSQL(sql);</p><p>  if(slist.size()>0){

111、</p><p>  return PageShow.pageHandle(conditions,convertFormat(slist));</p><p><b>  }else{</b></p><p>  infoList.add(new Store());</p><p>  return new ListRa

112、nge(infoList.subList(0, 1).toArray(),infoList.size());</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  5.6 系統(tǒng)管理</b></p><p>  5.6.1

113、 功能分析</p><p>  管理員可以進行分配用戶,修改用戶信息,同時查看,刪除用戶信息。</p><p>  5.6.2 實現(xiàn)原理</p><p>  用hibernate語句里的查詢、增加、修改、刪除語句,對數(shù)據(jù)庫里對應(yīng)的用戶表進行相應(yīng)的操作。 </p><p>  圖20 用戶管理界面</p><p> 

114、 圖21 分配操作員界面</p><p>  5.6.3 核心代碼</p><p><b>  /**</b></p><p><b>  * 邏輯刪除</b></p><p>  * @param ids 要刪除的ID存放在數(shù)組當(dāng)中 </p><p><b>

115、  * @return</b></p><p><b>  */</b></p><p>  public boolean delete(List ids){</p><p>  boolean isSuccess=true;</p><p>  int saleId=0;</p><p&

116、gt;<b>  try {</b></p><p>  for(int i=0;i<ids.size();i++){</p><p>  saleId=(Integer)ids.get(i);</p><p>  User s=pojod.findById(saleId);</p><p>  s.setFlag

117、(2);</p><p>  pojod.saveorupdate(s);</p><p><b>  }</b></p><p>  } catch (Exception e) {</p><p>  isSuccess = false;</p><p>  e.printStackTrace(

118、);</p><p>  System.out.println("刪除失敗");</p><p><b>  } </b></p><p><b>  //返回產(chǎn)ID</b></p><p>  return isSuccess;</p><p><

119、b>  }</b></p><p><b>  6 系統(tǒng)測試</b></p><p>  6.1 系統(tǒng)開發(fā)環(huán)境</p><p>  操作系統(tǒng):Windows Xp;</p><p>  開發(fā)工具:Myeclipse 6.0.1;</p><p><b>  開發(fā)語言

120、:UML;</b></p><p>  應(yīng)用數(shù)據(jù)庫:SQL Server2000;</p><p>  應(yīng)用服務(wù)器:Tomcat6.0;</p><p><b>  6.2 系統(tǒng)測試</b></p><p>  6.2.1 測試項目說明</p><p>  測試是為了“發(fā)現(xiàn)程序中的

121、錯誤而執(zhí)行程序的過程”,測試的目的就是在系統(tǒng)投入生產(chǎn)性運行之前,盡可能多的發(fā)現(xiàn)系統(tǒng)中的錯誤。</p><p>  在測試過程中對每個功能逐一測試,其具體操作如下:</p><p> ?。?)測試是否能夠正常登陸</p><p>  當(dāng)用戶輸入用戶名不存在,或用戶名與其所輸入的密碼不準(zhǔn)確時,就無法正常登陸。必須輸入正確的用戶名和密碼。</p><p

122、> ?。?)測試基本信息,銷售,進貨,倉庫管理,系統(tǒng)管理五個模塊功能是否正常執(zhí)行</p><p>  在測試銷售管理下添加銷售單時,要輸入產(chǎn)品數(shù)量,否則無法變更倉庫中相應(yīng)的產(chǎn)品數(shù)量,只有準(zhǔn)確輸入各個產(chǎn)品信息才能成功添加銷售單。</p><p>  在測試進貨管理下添加進貨單時,要輸入產(chǎn)品數(shù)量,否則無法變更倉庫中相應(yīng)的產(chǎn)品數(shù)量,只有準(zhǔn)確輸入各個產(chǎn)品信息才能成功添加進貨單。</p&

123、gt;<p>  在測試倉庫管理下分配倉庫管理時,倉庫與用戶必須保證一對一的關(guān)系,否則提示“添加不成功”。</p><p>  在測試基本信息下添加產(chǎn)品時,必須要輸入產(chǎn)品所有信息,否則會提示錯誤信息:“輸入不能為空”。</p><p> ?。?)測試是否能夠?qū)崟r更新產(chǎn)品信息</p><p>  測試庫存管理下的產(chǎn)品入庫,產(chǎn)品出庫,必須輸入與銷售單,進貨

124、單管理模塊相同的業(yè)務(wù)編號才能查詢到所要得到的產(chǎn)品實時信息。否則無法執(zhí)行。</p><p>  6.2.2 測試評價</p><p> ?。?)測試結(jié)果:功能基本都能實現(xiàn)</p><p> ?。?)軟件能力:經(jīng)測試該軟件在各方面綜合性能較好。</p><p> ?。?)存在不足:系統(tǒng)前臺腳本比較大,第一次加載時候比較慢,有待完善和提高。<

125、;/p><p> ?。?)測試結(jié)論:該系統(tǒng)基本滿足進銷存管理系統(tǒng)的功能,除了不足之處外,其他功能基本都能實現(xiàn)。</p><p><b>  總結(jié)與展望</b></p><p>  通過對本系統(tǒng)的開發(fā),我對軟件開發(fā)過程有了更清晰地了解,首先是問題的定義,需求分析,然后是概要設(shè)計,詳細設(shè)計等,并對軟件測試的方法,手段有了較深的理解,同時對制造業(yè)的流程有

126、了一個系統(tǒng)的認識。在開發(fā)過程中海認真學(xué)習(xí)了與系統(tǒng)相關(guān)的知識,極大地拓寬了我的知識面,我感到收獲不小。</p><p>  在系統(tǒng)開發(fā)初期,必須要熟悉企業(yè)的管理流程,初步了解進銷存管理的相關(guān)知識,這樣才能進入到設(shè)計的過程中去。從開始熟悉這些知識到對整體設(shè)計有所了解,在從概要設(shè)計、詳細設(shè)計到開始編碼,以及最后的測試,正果過程感覺很充實,雖然遇到不少困難,但當(dāng)我通過自己查資料,或是向指導(dǎo)老師請教以及向同學(xué)請教,而設(shè)計出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論