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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

4、息系統(tǒng)。</p><p>  關鍵詞:管理系統(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>  朗讀顯示對應的拉丁字符的拼音 字典</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 國內外發(fā)展現(xiàn)狀1</p><p>  1.2.1 國外研究現(xiàn)狀1</p><p>  1.2.2 國內研究現(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 相關技術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 經濟性7</p><p>  3

22、.1.2 技術性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)總體設計12</p><p>  4.1 系統(tǒng)總體架構與設計12</p><p>  4.1.1 設計原則12</p><p>  4.1.2 模塊劃分12</p><p>  

24、4.2 系統(tǒng)E-R圖13</p><p>  4.3 數(shù)據(jù)庫設計13</p><p>  5 功能模塊詳細設計及實現(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>  總結與展望31</b></p>

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

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

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

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

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

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

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

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

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

38、;/p><p>  庫存管理:庫存查詢、庫存盤點。</p><p><b>  (5)系統(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 相關技術</b></p><p>  2.1 ExtJs</p><p>  Ext JS(下簡稱Ext)是以HTML作為控件的骨干、CSS作為樣式的表現(xiàn)、以JavaScript作為粘合語言,可應用于IE/FireFox/Opera等的瀏覽器上的AJAX UI組件庫。</p><p>  Ext的產生,最早是在YUI的庫的基礎上擴展開來

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

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

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

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

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

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

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

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

48、Struts實現(xiàn)的重點在C(Controller),包括ActionServlet/RequestProcessor和我們定制的Action,也為V(View)提供了一系列定制標簽(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應用程序。Struts是基于面向對象設計的,它的實現(xiàn)重點在控制器(C)上,同時也為視圖提供了一系列定制標簽功能?;赟truts構架的Web應用程序基本上符合JSP Model 2 的設計標準,可以說是傳統(tǒng)MVC設計模式的一種變化類型。</p><p>  2.4 Hibernate&

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

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

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

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

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

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

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

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

58、貨,庫管,基本信息管理,系統(tǒng)管理五大子模塊。</p><p>  其操作范圍內的系統(tǒ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>  注:此用戶名和密碼都是管理員事先分配好的,此用戶只能有更改自己密碼的權限。 </p><p><b> ?。?)商品銷售</b></p><p>  此用戶具有查看并填寫銷售業(yè)務單,查看歷史銷售業(yè)務單,并可以更改

60、,刪除本用戶負責的銷售單。</p><p><b> ?。?)客戶退貨 </b></p><p>  此用戶具有查看并填寫客戶退貨單,查看歷史客戶退貨單,并可以更改,刪除本用戶負責的客戶退貨單。</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、碼都是管理員事先分配好的,此用戶只能有更改自己密碼的權限。 </p><p><b> ?。?)倉庫盤點</b></p><p>  此用戶具有查看并填寫,刪除,修改其負責倉庫產品入庫,出庫的功能。</p><p><b> ?。?)倉庫管理</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>  注:此用戶名和密碼都是管理員事先分配好的,此用戶只能有更改自己密碼的權限。 </p><p><b> ?。?)進貨管理</b></p><p>  此用戶具有查看并填寫進貨單,查看歷史

65、進貨單,并可以更改,刪除本用戶負責的進貨單。</p><p><b> ?。?)進貨退貨單</b></p><p>  此用戶具有查看并填寫進貨退貨單,查看歷史進貨退貨單,并可以更改,刪除本用戶負責的進貨退貨單。</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、:此用戶名和密碼都是管理員事先分配好的,此用戶只能有更改自己密碼的權限。 </p><p> ?。?)產品基本信息管理</p><p>  用戶具有查看并填寫產品基本信息單,查看產品基本信息單,并可以更改,刪除的產品基本信息單。</p><p> ?。?)客戶基本信息管理</p><p>  用戶具有查看并填寫客戶基本信息單

68、,查看客戶基本信息單,并可以更改,刪除的客戶基本信息單。</p><p> ?。?)供應商基本信息管理</p><p>  用戶具有查看并填寫供應商基本信息單,查看供應商基本信息單,并可以更改,刪除的供應商基本信息單。</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、管理員事先分配好的,此用戶只能有更改自己密碼的權限。 </p><p><b>  (2)用戶管理</b></p><p>  管理員可以查詢并填寫、修改、刪除用戶的功能。</p><p>  綜上所述,此子系統(tǒng)的功能需求可用如下圖表示:</p><p>  圖6 用戶管理模塊的功能</p>

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

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

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

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

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

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

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

78、gt;<p>  圖12 供應商信息管理界面</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>  //轉換成所需要的格式,傳遞到前臺顯示</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>  銷售貨物時,用戶可以填寫銷售單,并可以查看,修改,刪除銷售單,同時倉庫中該產品數(shù)量發(fā)生相應變動。&

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

91、進貨退貨時,用戶可以填寫進貨退貨單,并可以修改,查看,刪除進貨退貨單,同時倉庫中相應產品信息發(fā)生相應變動。</p><p>  5.4.2 實現(xiàn)原理</p><p>  用hibernate語句里的查詢、增加、修改、刪除語句,對數(shù)據(jù)庫里對應的進貨退貨單信息表,進貨信息表進行相應的操作。同時對產品倉庫表中的產品數(shù)量進行相應變動。</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>  倉庫盤點時,用戶可以進行產品入庫,產品出庫,入庫修改操作,同時可以進行相應地查詢。</p><

100、p>  倉庫管理時,用戶可以分配倉庫,修改倉庫,查詢、刪除倉庫。</p><p>  5.5.2 實現(xiàn)原理</p><p>  用hibernate語句里的查詢、增加、修改、刪除語句,對數(shù)據(jù)庫里對應的產品倉庫表,倉庫表進行相應的操作。</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ù)庫里對應的用戶表進行相應的操作。 </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ù)組當中 </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>  //返回產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>  應用數(shù)據(jù)庫:SQL Server2000;</p><p>  應用服務器:Tomcat6.0;</p><p><b>  6.2 系統(tǒng)測試</b></p><p>  6.2.1 測試項目說明</p><p>  測試是為了“發(fā)現(xiàn)程序中的

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論