版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 2011 屆屆畢業(yè)設(shè)計(jì)說(shuō)畢業(yè)設(shè)計(jì)說(shuō)明明書書進(jìn)銷存管理系統(tǒng) 系 、 部: 計(jì)算機(jī)與信息科學(xué)系 學(xué)生姓名: 指導(dǎo)教師: 職稱 講師 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí): 計(jì)本 0701 班 完成時(shí)間: 2011.06 摘 要隨著時(shí)代的發(fā)展、科學(xué)的進(jìn)步,信息時(shí)代已經(jīng)遍布全球,計(jì)算機(jī)已廣泛地深入各行各業(yè),起著越來(lái)越巨大的作用。隨著市場(chǎng)商品的不斷增加,管理這些龐大的數(shù)據(jù)是非常困難的,因?yàn)樯唐返倪M(jìn)銷存信息是隨時(shí)變化的,因此必須對(duì)商品的進(jìn)銷存信息進(jìn)行動(dòng)態(tài)的管理,而這對(duì)于一個(gè)管理人員來(lái)說(shuō)是一件比較復(fù)雜的事情,存儲(chǔ),查詢,更新,刪除是必不可少的業(yè)務(wù)。為了能讓管理員從繁重的工作中解脫出來(lái),使管理員在使用一個(gè)軟件
2、以后能極其容易地對(duì)所有商品的進(jìn)銷存信息進(jìn)行管理,并且準(zhǔn)確無(wú)誤,輕松自如。因此開(kāi)發(fā)一個(gè)進(jìn)銷存管理系統(tǒng)軟件是當(dāng)務(wù)之急,也是本論文選題的重要意義和研究宗旨。由于 java 語(yǔ)言的簡(jiǎn)易,便用簡(jiǎn)便,服務(wù)器空間成本相對(duì)較低,并且有mircosoft 的支持,使得很多中小型的 web 系統(tǒng)采用此語(yǔ)言,而面向?qū)ο蟮膬?yōu)勢(shì)也使得開(kāi)發(fā)應(yīng)用程序變得非常容易,所以本系統(tǒng)采用 java 語(yǔ)言來(lái)編寫,開(kāi)發(fā)環(huán)境采用 eclipse,數(shù)據(jù)庫(kù)采用 sql server2000。本文簡(jiǎn)單介紹了進(jìn)銷存管理系統(tǒng)的基本信息管理、銷售管理、進(jìn)貨管理、庫(kù)存管理、系統(tǒng)管理的業(yè)務(wù)流程,結(jié)合管理信息系統(tǒng)開(kāi)發(fā)的理念,開(kāi)發(fā)了進(jìn)銷存管理信息系統(tǒng)。關(guān)鍵詞
3、:管理系統(tǒng);信息管理;java;sql server2000 abstractwith the development, scientific progress, the information age has been all over the world, 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 ve
4、ry difficult, because the commodity purchasing-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 business.in order to allow administrators to work freed from
5、 the heavy, let administrators in the use of a software is extremely easy to be able to manage the information of all the purchasing-sales-inventory information, and accurate, easier.therefore, a purchasing-sales-inventory information management system software development is a priority, but also th
6、e significance of this thesis topics and research purposes.because java is a simple language, they can be simplely used, relatively low cost of server space, and there mircosofts support, making many small and medium sized web system use this language, but also makes the advantages of object-oriente
7、d application development much easier, therefore, this program is writed with java language,and i use eclipse as development environment, sql server2000 as database. this paper briefly describes the the basic inventory management system, information management, sales management, purchasing managemen
8、t, inventory management, system management, business processes, combined with the concept of management information systems development, the development of the inventory management information systems.key words management system;information management;java;sql server2000 目 錄1 前言 .11.1 課題的目的和意義.11.2
9、國(guó)內(nèi)外發(fā)展現(xiàn)狀.11.2.1 國(guó)外研究現(xiàn)狀.11.2.2 國(guó)內(nèi)研究現(xiàn)狀.11.2.3 本人見(jiàn)解.21.3 課題主要工作.21.3.1 基于 java 的進(jìn)銷存管理系統(tǒng)主要功能.21.3.2 系統(tǒng)主模塊圖.32 相關(guān)技術(shù) .42.1 extjs.42.2 dwr.52.3 struts.52.4 hibernate.63 系統(tǒng)分析 .73.1 可行性分析.73.1.1 經(jīng)濟(jì)性.73.1.2 技術(shù)性.73.2 需求分析及系統(tǒng)功能.73.2.1 銷售子系統(tǒng)功能的需求.73.2.2 庫(kù)管子系統(tǒng)功能的需求.83.2.3 進(jìn)貨子系統(tǒng)功能的需求.93.2.4 基本信息管理子系統(tǒng)功能的需求.103.2.5 系
10、統(tǒng)管理子系統(tǒng)功能的需求.114 系統(tǒng)總體設(shè)計(jì) .124.1 系統(tǒng)總體架構(gòu)與設(shè)計(jì).124.1.1 設(shè)計(jì)原則.12 4.1.2 模塊劃分.124.2 系統(tǒng) e-r 圖.134.3 數(shù)據(jù)庫(kù)設(shè)計(jì).135 功能模塊詳細(xì)設(shè)計(jì)及實(shí)現(xiàn) .165.1 系統(tǒng)主界面.165.2 基本信息管理.165.2.1 功能分析.165.2.2 實(shí)現(xiàn)原理.165.2.3 核心代碼.185.3 銷售管理.195.3.1 功能分析.195.3.2 實(shí)現(xiàn)原理.195.3.3 核心代碼.205.4 進(jìn)貨管理.215.4.1 功能分析.215.4.2 實(shí)現(xiàn)原理.225.4.3 核心代碼.235.5 庫(kù)存管理.245.5.1 功能分析.2
11、45.5.2 實(shí)現(xiàn)原理.245.5.3 核心代碼.255.6 系統(tǒng)管理.265.6.1 功能分析.265.6.2 實(shí)現(xiàn)原理.275.6.3 核心代碼.286 系統(tǒng)測(cè)試 .296.1 系統(tǒng)開(kāi)發(fā)環(huán)境.296.2 系統(tǒng)測(cè)試.296.2.1 測(cè)試項(xiàng)目說(shuō)明.296.2.2 測(cè)試評(píng)價(jià).30 總結(jié)與展望 .31參考文獻(xiàn) .32致謝 .33 11 前言1.1 課題的目的和意義在市場(chǎng)經(jīng)濟(jì)中,銷售是企業(yè)運(yùn)行的重要環(huán)節(jié)。為了更好地推動(dòng)銷售,不少企業(yè)建立了分公司和代理制,通過(guò)分公司或代理把產(chǎn)品推向最終用戶。這些分公司或代理商大都分布在不同的地理位置,跨時(shí)空,跨時(shí)間的頻繁業(yè)務(wù)信息交流是這些企業(yè)業(yè)務(wù)的活動(dòng)的主要特點(diǎn)。在這
12、種形式下,傳統(tǒng)的依靠管理人員人工傳遞信息和數(shù) 據(jù)的管理方式就無(wú)法滿足企業(yè)日益增長(zhǎng)的業(yè)務(wù)需求了。課題研究目的通過(guò)進(jìn)銷存管理系統(tǒng),利用信息化手段把先進(jìn)的企業(yè)管理方法引入企業(yè)的實(shí)踐,為企業(yè)的管理改革提供切實(shí)易行的途徑。更重要的是,進(jìn)銷存管理系統(tǒng)可以及時(shí)通過(guò)信息技術(shù)把企業(yè)數(shù)據(jù)快速轉(zhuǎn)化為企業(yè)信息,進(jìn)而為相關(guān)管理者提供決策依據(jù)。 1.2 國(guó)內(nèi)外發(fā)展現(xiàn)狀1.2.1 國(guó)外研究現(xiàn)狀國(guó)外目前做的進(jìn)銷存管理系統(tǒng),雖然產(chǎn)品都已經(jīng)比較成熟,但由于中西文化的差異,進(jìn)銷存系統(tǒng)中的財(cái)務(wù)管理模塊根本無(wú)法在企業(yè)中使用。國(guó)外原先選擇的進(jìn)銷存產(chǎn)品,跟他們的財(cái)務(wù)管理實(shí)際流程相差很多。如在他們的財(cái)務(wù)管理模塊中,增值稅發(fā)票與應(yīng)收帳款是合在
13、一起管理的。但是在國(guó)內(nèi),大部分企業(yè)都是先產(chǎn)生應(yīng)收帳款,然后再進(jìn)行開(kāi)票。而且,有時(shí)候需要把幾筆應(yīng)收帳款和在一起進(jìn)行開(kāi)票。現(xiàn)在把增值稅發(fā)票與應(yīng)收帳款和在一起的話,財(cái)務(wù)人員在實(shí)際工作中就很難操作。另外在報(bào)表的格式上也有很大的差異,國(guó)外項(xiàng)目很難直接拿到中國(guó)企業(yè)中使用。1.2.2 國(guó)內(nèi)研究現(xiàn)狀根據(jù)目前從網(wǎng)上可查到的信息,國(guó)內(nèi)進(jìn)銷存管理系統(tǒng)多種多樣,如美萍商業(yè)進(jìn)銷存管理系統(tǒng) 9.7,其中包含商品銷售管理系統(tǒng) ,庫(kù)存管理系(倉(cāng)庫(kù)管理系統(tǒng)) 。軟件界面設(shè)計(jì)簡(jiǎn)潔, 美觀,其人性化的軟件流程,使普通用戶不需培訓(xùn)也能很快掌握軟件操作使用方法,上手極易,但是基于 c/s 結(jié)構(gòu),系統(tǒng)維護(hù)維護(hù),升級(jí)開(kāi)銷很大。 21.2.
14、3 本人見(jiàn)解 在各種先進(jìn)技術(shù)中,基于 web 的進(jìn)銷存管理系統(tǒng)方便與用戶交互,升級(jí),界面設(shè)計(jì)需要簡(jiǎn)潔,美觀,人性化的軟件流程,才能吸引更多的用戶。1.3 課題主要工作1.3.1 基于 java 的進(jìn)銷存管理系統(tǒng)主要功能本系統(tǒng)是根據(jù)人們?cè)谌粘I钪械膶?shí)際需求而開(kāi)發(fā)的,完全能夠?qū)崿F(xiàn)人們對(duì)各類商品信息及各類信息查詢的功能,通過(guò)本系統(tǒng)可以達(dá)到以下目標(biāo):(1)系統(tǒng)最大限度地實(shí)現(xiàn)了易使用性、易維護(hù)性;(2)系統(tǒng)運(yùn)行穩(wěn)定,安全可靠;(3)操作靈活,界面友好,充分滿足各類企業(yè)的進(jìn)銷存管理需求;(4)實(shí)施規(guī)范的進(jìn)、銷、存一體化業(yè)務(wù)管理;(5)強(qiáng)大的查詢分析功能;(6)靈活、細(xì)分的權(quán)限控制功能。本系統(tǒng)是一款將進(jìn)貨
15、、銷售、庫(kù)存進(jìn)行一體化管理的系統(tǒng)。系統(tǒng)由基本信息、進(jìn)貨管理、銷售管理、庫(kù)存管理和系統(tǒng)管理等模塊組成。特規(guī)劃功能模塊如下:(1)基本信息基礎(chǔ)信息模塊:商品信息、供應(yīng)商信息、客戶信息。(2)進(jìn)貨管理進(jìn)貨管理:商品進(jìn)貨、進(jìn)貨退貨。(3)銷售管理銷售管理:商品銷售、客戶退貨。(4)庫(kù)存管理庫(kù)存管理:庫(kù)存查詢、庫(kù)存盤點(diǎn)。(5)系統(tǒng)管理系統(tǒng)管理模塊:用戶管理、更改資料。 31.3.2 系統(tǒng)主模塊圖基基本信息管理進(jìn)進(jìn)貨管理系系統(tǒng)管理銷銷貨管理庫(kù)存貨管理基于java進(jìn)銷存管理 系統(tǒng)圖 1 系統(tǒng)主模塊圖 42 相關(guān)技術(shù)2.1 extjsext js(下簡(jiǎn)稱 ext)是以 html 作為控件的骨干、css 作為樣
16、式的表現(xiàn)、以 javascript 作為粘合語(yǔ)言,可應(yīng)用于 ie/firefox/opera 等的瀏覽器上的 ajax ui 組件庫(kù)。ext 的產(chǎn)生,最早是在 yui 的庫(kù)的基礎(chǔ)上擴(kuò)展開(kāi)來(lái),因此 ext 早期名字是yui-ext。在 2005 年下半年的時(shí)候,jack slocum 有一個(gè) ajax 項(xiàng)目需要維護(hù),他選擇了 yui 庫(kù)作為底層庫(kù),經(jīng)歷半年的時(shí)間都圍繞著 yui 進(jìn)行開(kāi)發(fā)。但是當(dāng)yui 變得越來(lái)越大,功能需求也越來(lái)越多,他逐漸發(fā)覺(jué)維護(hù) yui 并不是一件容易的事情。在工作的同時(shí),又接觸了 swing,java 平臺(tái)上的 ui 庫(kù),他用了極少的時(shí)間研究并著手改寫 yui,使之呈現(xiàn)較
17、先進(jìn)的 swing ui 理念。經(jīng)過(guò)一邊寫技術(shù)博客,一邊以 yui-ext 的形式開(kāi)放自己寫的 ui,包括 grid、tree 等呼聲很高的 ui 組件。在 jack 一手開(kāi)發(fā)和社區(qū)營(yíng)造下,此時(shí) yui-ext 已經(jīng)成為一個(gè)成熟的 ajax ui 框架,而且是獨(dú)立的框架,可不受 yui 的影響并且兼容jquery/prototype.js 的其他 js 庫(kù)。其時(shí)改名為 ext js(april 15th 2007)。在 2007 年 2 月,ext 獲得剛成立的公司的財(cái)務(wù)支持,因此又增加了許多強(qiáng)力的功能。到 ext 2.0 的時(shí)候已經(jīng)具備了 swing 很多的特性,即components/co
18、ntainers/layouts 等的概念紛紛應(yīng)用在內(nèi)。ext 2.0 是一個(gè)真正成熟的框架,各方面的完善程度較高,即使升級(jí)到后來(lái)的 3.0 無(wú)論底層結(jié)構(gòu)還是配置代碼均無(wú)須太大改動(dòng)。3.0 增加了 ext direct、datawriters、accessibility (aria)等更多的增強(qiáng)功能。時(shí)至今日,ext 已經(jīng)廣為人知,并且有越來(lái)越多人參與了 ext,而且 ext 在使用及擴(kuò)展上也越趨便利。較代表性的有基于 google gwt 的 gxt 和可視化設(shè)計(jì)師 desinger,因此越來(lái)越多用戶聲稱,就算不了解 javascipt 編程,只要透過(guò) desinger ide,通過(guò)鼠標(biāo)的操
19、作就可以擁有一個(gè) ajax 界面。另外一方面,許多人基于 ext 的基礎(chǔ)上演進(jìn)了不同后臺(tái)的整合方案,甚至手機(jī)上也可以運(yùn)行 ext! 52.2 dwrdwr(direct web remoting)是一個(gè)開(kāi)源的類庫(kù),可以幫助開(kāi)發(fā)人員開(kāi)發(fā)包含 ajax 技術(shù)的網(wǎng)站.它可以允許在瀏覽器里的代碼使用運(yùn)行在 web 服務(wù)器上的 java 函數(shù),就像它就在瀏覽器里一樣。它包含兩個(gè)主要的部分:允許 javascript 從 web 服務(wù)器上一個(gè)遵循了 ajax原則的 servlet 中獲取數(shù)據(jù)。另外一方面一個(gè) javascript 庫(kù)可以幫助網(wǎng)站開(kāi)發(fā)人員輕松地利用獲取的數(shù)據(jù)來(lái)動(dòng)態(tài)改變網(wǎng)頁(yè)的內(nèi)容。dwr 采取
20、了一個(gè)類似 ajax 的新方法來(lái)動(dòng)態(tài)生成基于 java 類的javascript 代碼.這樣 web 開(kāi)發(fā)人員就可以在 javascript 里使用 java 代碼就像它們是瀏覽器的本地代碼(客戶端代碼)一樣;但是 java 代碼運(yùn)行在 web 服務(wù)器端而且可以自由訪問(wèn) web 服務(wù)器的資源.出于安全的理由,web 開(kāi)發(fā)者必須適當(dāng)?shù)嘏渲媚男?java 類可以安全的被外部使用。這個(gè)從 java 到 javascript 的遠(yuǎn)程功能方法給 dwr 的用戶帶來(lái)非常像傳統(tǒng)的 rpc 機(jī)制,就像 rmi 或者 soap 一樣,而且擁有運(yùn)行在 web 上但是不需要瀏覽器插件的好處。dwr 不認(rèn)為瀏覽器/w
21、eb 服務(wù)器協(xié)議是重要的,而更樂(lè)于保證編程界面的簡(jiǎn)單自然.對(duì)此最大的挑戰(zhàn)就是把 ajax 的異步特性和正常 java 方法調(diào)用的同步特性相結(jié)合.在異步模式下,結(jié)果數(shù)據(jù)在開(kāi)始調(diào)用之后的一段時(shí)間之后才可以被異步訪問(wèn)獲取到.dwr 允許 web 開(kāi)發(fā)人員傳遞一個(gè)回調(diào)函數(shù),來(lái)異步處理 java函數(shù)調(diào)用過(guò)程。2.3 strutsstruts 只是一個(gè) mvc 框架(framework),用于快速開(kāi)發(fā) java web 應(yīng)用。struts 實(shí)現(xiàn)的重點(diǎn)在 c(controller),包括 actionservlet/requestprocessor 和我們定制的 action,也為 v(view)提供了一系
22、列定制標(biāo)簽(custom tag) 。但 struts 幾乎沒(méi)有涉及 m(model),所以 struts 可以采用 java 實(shí)現(xiàn)的任何形式的商業(yè)邏輯。 struts 是一種 mvc(model view controller)模式框架。它是 apache 基金會(huì)jakarta 項(xiàng)目組中的一個(gè) open source 項(xiàng)目,它能夠很好地幫助 java 開(kāi)發(fā)者通過(guò)j2ee 開(kāi)發(fā) web 應(yīng)用程序。struts 是基于面向?qū)ο笤O(shè)計(jì)的,它的實(shí)現(xiàn)重點(diǎn)在控制器(c)上,同時(shí)也為視圖提供了一系列定制標(biāo)簽功能?;?struts 構(gòu)架的 web 應(yīng)用程序基本上符合 jsp model 2 的設(shè)計(jì)標(biāo)準(zhǔn),可以
23、說(shuō)是傳統(tǒng) mvc 設(shè)計(jì)模式的一種變化類型。 62.4 hibernatehibernate 是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì) jdbc 進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得 java 程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。 hibernate 可以應(yīng)用在任何使用 jdbc 的場(chǎng)合,既可以在 java 的客戶端程序使用,也可以在 servlet/jsp 的 web 應(yīng)用中使用,最具革命意義的是,hibernate 可以在應(yīng)用 ejb 的 j2ee 架構(gòu)中取代 cmp,完成數(shù)據(jù)持久化的重任。hibernate 的核心接口一共有 5 個(gè),分別為:session、sessionfact
24、ory、transaction、query 和 configuration。這 5 個(gè)核心接口在任何開(kāi)發(fā)中都會(huì)用到。通過(guò)這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對(duì)這五的核心接口分別加以介紹。 session 接口:session 接口負(fù)責(zé)執(zhí)行被持久化對(duì)象的 crud 操作(crud 的任務(wù)是完成與數(shù)據(jù)庫(kù)的交流,包含了很多常見(jiàn)的 sql 語(yǔ)句。)。但需要注意的是 session 對(duì)象是非線程安全的。同時(shí),hibernate 的 session 不同于 jsp 應(yīng)用中的 httpsession。這里當(dāng)使用 session 這個(gè)術(shù)語(yǔ)時(shí),其實(shí)指的是 hibernate 中的se
25、ssion,而以后會(huì)將 httpsesion 對(duì)象稱為用戶 session。 sessionfactory 接口:sessionfactroy 接口負(fù)責(zé)初始化 hibernate。它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建 session 對(duì)象。這里用到了工廠模式。需要注意的是 sessionfactory 并不是輕量級(jí)的,因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常只需要一個(gè)sessionfactory 就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫(kù)時(shí),可以為每個(gè)數(shù)據(jù)庫(kù)指定一個(gè)sessionfactory。 configuration 接口:configuration 接口負(fù)責(zé)配置并啟動(dòng) hibernate,創(chuàng)建sessionfact
26、ory 對(duì)象。在 hibernate 的啟動(dòng)的過(guò)程中,configuration 類的實(shí)例首先定位映射文檔位置、讀取配置,然后創(chuàng)建 sessionfactory 對(duì)象。 transaction 接口:transaction 接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,可發(fā)人員也可以設(shè)計(jì)編寫自己的底層事務(wù)處理代碼。 query 和 criteria 接口:query 和 criteria 接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫(kù)查詢。它可以使用 hql 語(yǔ)言或 sql 語(yǔ)句兩種表達(dá)方式。 73 系統(tǒng)分析3.1 可行性分析通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)對(duì)對(duì)中小企業(yè)進(jìn)行全面的管理,滿足中小企業(yè)現(xiàn)代化管理需求。3.1.1 經(jīng)濟(jì)性中小企業(yè)運(yùn)行過(guò)
27、程中信息的系統(tǒng)化管理,數(shù)據(jù)統(tǒng)計(jì),為中小企業(yè)的經(jīng)營(yíng)決策提供了大量的數(shù)據(jù):強(qiáng)大的庫(kù)存盤點(diǎn)功能,簡(jiǎn)化了員工的日常工作,提高了員工的工作效率,也提高了中小企業(yè)的經(jīng)濟(jì)效益。3.1.2 技術(shù)性在高系統(tǒng)配置,高網(wǎng)絡(luò)帶寬服務(wù)的情況下,各個(gè)級(jí)別的管理員很容易通過(guò)網(wǎng)站對(duì)其操作范圍內(nèi)的系統(tǒng)內(nèi)容信息進(jìn)行操作管理,完成滿足日常經(jīng)營(yíng)、管理的要求。系統(tǒng)簡(jiǎn)單易學(xué),方便實(shí)用。界面在設(shè)計(jì)過(guò)程中要充分考慮管理人員和使用人員的習(xí)慣,操作要簡(jiǎn)單,數(shù)據(jù)錄入要迅速,規(guī)范可靠,統(tǒng)計(jì)要準(zhǔn)確,制表要靈活,適應(yīng)性強(qiáng)等。3.2 需求分析及系統(tǒng)功能通過(guò)調(diào)研和分析,本文將系統(tǒng)分成銷售,進(jìn)貨,庫(kù)管,基本信息管理,系統(tǒng)管理五大子模塊。其操作范圍內(nèi)的系統(tǒng)內(nèi)容
28、信息進(jìn)行操作管理,完成滿足日常經(jīng)營(yíng)、管理的要求。3.2.1 銷售子系統(tǒng)功能的需求(1)用戶登錄要進(jìn)入系統(tǒng)的用戶都要進(jìn)行登陸才能進(jìn)入系統(tǒng)界面,用戶打開(kāi)登陸框,輸入用戶名和密碼:用戶名和密碼輸入正確方可進(jìn)入系統(tǒng)。 8注:此用戶名和密碼都是管理員事先分配好的,此用戶只能有更改自己密碼的權(quán)限。 (2)商品銷售此用戶具有查看并填寫銷售業(yè)務(wù)單,查看歷史銷售業(yè)務(wù)單,并可以更改,刪除本用戶負(fù)責(zé)的銷售單。(3)客戶退貨 此用戶具有查看并填寫客戶退貨單,查看歷史客戶退貨單,并可以更改,刪除本用戶負(fù)責(zé)的客戶退貨單。綜上所述,此子系統(tǒng)的功能需求可用如下圖表示: 銷售管理子系統(tǒng)基用戶登陸系客戶退貨管理銷銷售管理圖 2
29、銷售管理字系統(tǒng)的主要功能圖3.2.2 庫(kù)管子系統(tǒng)功能的需求(1)用戶登錄要進(jìn)入系統(tǒng)的用戶都要進(jìn)行登陸才能進(jìn)入系統(tǒng)界面,用戶打開(kāi)登陸框,輸入用戶名和密碼:用戶名和密碼輸入正確方可進(jìn)入系統(tǒng)。注:此用戶名和密碼都是管理員事先分配好的,此用戶只能有更改自己密碼的權(quán)限。 (2)倉(cāng)庫(kù)盤點(diǎn)此用戶具有查看并填寫,刪除,修改其負(fù)責(zé)倉(cāng)庫(kù)產(chǎn)品入庫(kù),出庫(kù)的功能。(3)倉(cāng)庫(kù)管理 9管理員具有查看并填寫,刪除,修改倉(cāng)庫(kù)的功能。 綜上所述,此子系統(tǒng)的功能需求可用如下圖表示: 倉(cāng)庫(kù)管理子系統(tǒng)基用戶登陸系倉(cāng)庫(kù)管理銷倉(cāng)庫(kù)盤點(diǎn)圖 3 倉(cāng)庫(kù)管理模塊功能圖3.2.3 進(jìn)貨子系統(tǒng)功能的需求(1)用戶登錄要進(jìn)入系統(tǒng)的用戶都要進(jìn)行登陸才能進(jìn)
30、入系統(tǒng)界面,用戶打開(kāi)登陸框,輸入用戶名和密碼:用戶名和密碼輸入正確方可進(jìn)入系統(tǒng)。注:此用戶名和密碼都是管理員事先分配好的,此用戶只能有更改自己密碼的權(quán)限。 (2)進(jìn)貨管理此用戶具有查看并填寫進(jìn)貨單,查看歷史進(jìn)貨單,并可以更改,刪除本用戶負(fù)責(zé)的進(jìn)貨單。(3)進(jìn)貨退貨單此用戶具有查看并填寫進(jìn)貨退貨單,查看歷史進(jìn)貨退貨單,并可以更改,刪除本用戶負(fù)責(zé)的進(jìn)貨退貨單。綜上所述,此子系統(tǒng)的功能需求可用如下圖表示: 10進(jìn)貨管理子系統(tǒng)基用戶登陸系退貨管理銷進(jìn)貨管理圖 4 進(jìn)貨模塊功能圖3.2.4 基本信息管理子系統(tǒng)功能的需求(1)用戶登錄要進(jìn)入系統(tǒng)的用戶都要進(jìn)行登陸才能進(jìn)入系統(tǒng)界面,用戶打開(kāi)登陸框,輸入用戶名
31、和密碼:用戶名和密碼輸入正確方可進(jìn)入系統(tǒng)。注:此用戶名和密碼都是管理員事先分配好的,此用戶只能有更改自己密碼的權(quán)限。 (2)產(chǎn)品基本信息管理用戶具有查看并填寫產(chǎn)品基本信息單,查看產(chǎn)品基本信息單,并可以更改,刪除的產(chǎn)品基本信息單。(3)客戶基本信息管理用戶具有查看并填寫客戶基本信息單,查看客戶基本信息單,并可以更改,刪除的客戶基本信息單。(4)供應(yīng)商基本信息管理用戶具有查看并填寫供應(yīng)商基本信息單,查看供應(yīng)商基本信息單,并可以更改,刪除的供應(yīng)商基本信息單。綜上所述,此子系統(tǒng)的功能需求可用如下圖表示: 11 基本信息管理子 系統(tǒng)基用戶登陸產(chǎn)品基本信息管理供應(yīng)商基本信息管理客戶基本信息管理圖 5 基本
32、信息功能圖3.2.5 系統(tǒng)管理子系統(tǒng)功能的需求(1)用戶登錄要進(jìn)入系統(tǒng)的用戶都要進(jìn)行登陸才能進(jìn)入系統(tǒng)界面,用戶打開(kāi)登陸框,輸入用戶名和密碼:用戶名和密碼輸入正確方可進(jìn)入系統(tǒng)。注:此用戶名和密碼都是管理員事先分配好的,此用戶只能有更改自己密碼的權(quán)限。 (2)用戶管理管理員可以查詢并填寫、修改、刪除用戶的功能。綜上所述,此子系統(tǒng)的功能需求可用如下圖表示: 12 用戶管理子系統(tǒng)基用戶登陸系用戶管理圖 6 用戶管理模塊的功能 134 系統(tǒng)總體設(shè)計(jì)4.1 系統(tǒng)總體架構(gòu)與設(shè)計(jì)4.1.1 設(shè)計(jì)原則根據(jù)商品貿(mào)易原則,實(shí)現(xiàn)買賣雙方有效交易,特別在銷售,庫(kù)存,以及進(jìn)貨這三個(gè)模塊之間實(shí)現(xiàn)互聯(lián),以達(dá)到對(duì)產(chǎn)品信息進(jìn)行及
33、時(shí)更新及記錄。4.1.2 模塊劃分整個(gè)系統(tǒng)的模塊劃分如下:圖 7 各模塊在導(dǎo)航欄的體現(xiàn) 144.2 系統(tǒng) e-r 圖圖 8 進(jìn)銷存管理系統(tǒng) e-r 圖4.3 數(shù)據(jù)庫(kù)設(shè)計(jì)本系統(tǒng)采用微軟公司的 sql server2000 數(shù)據(jù)庫(kù)管理系統(tǒng),下面就該系統(tǒng)的數(shù)據(jù)庫(kù)表做如下設(shè)計(jì)(主鍵都是自動(dòng)增長(zhǎng)):產(chǎn)品基本信息表:產(chǎn)品的信息,與銷售,庫(kù)存,進(jìn)貨產(chǎn)品之間的信息一一對(duì)應(yīng),product_id 用來(lái)標(biāo)記產(chǎn)品編號(hào),產(chǎn)品 id 不一樣則無(wú)法進(jìn)行該產(chǎn)品的進(jìn)貨,銷售,庫(kù)存功能,表結(jié)構(gòu)如下表 1 產(chǎn)品基本信息表(product)字段名(理論)字段名(物理)字段類型長(zhǎng)度非空默認(rèn)主鍵外鍵關(guān)聯(lián)的表.字段名產(chǎn)品 id prod
34、uct_idint-是-是-產(chǎn)品類型 id pptype_idint-是-是ptype.ptype_id產(chǎn)品名稱pnamevarchar50是-條形碼 pisdnvarchar30否-生產(chǎn)廠商 pmadevarchar50是-產(chǎn)品進(jìn)價(jià)pinpriceint20否- 15產(chǎn)品類型表:產(chǎn)品的類型,字段 ptype_id 與產(chǎn)品基本信息表的字段pptype_id 相匹配,作為其外鍵,表結(jié)構(gòu)如下表 2 產(chǎn)品類型表(ptype)字段名(理論)字段名(物理)字段類型長(zhǎng)度非空默認(rèn)主鍵外鍵關(guān)聯(lián)的表.字段名類型 idptype_idint-是-是-類型名ptnamevarchar50是- 表 3 客戶基本信息表
35、(customer)字段名(理論)字段名(物理)字段類型長(zhǎng)度非空默認(rèn)主鍵外鍵關(guān)聯(lián)的表.字段名客戶 idcustomer_idint-是-是-客戶名稱cunamevarchar20是-客戶地址 cuaddressvarchar50否-標(biāo)志flagint-是1-客戶電話 cutelvarchar20否-表 4 供應(yīng)商信息表(supply)字段名(理論)字段名(物理)字段類型長(zhǎng)度非空默認(rèn)主鍵外鍵關(guān)聯(lián)的表.字段名供應(yīng)商 id supply_idint-是-是-供應(yīng)商名稱sunamevarchar20是-供應(yīng)商地址 suaddressvarchar50否-供應(yīng)商電話 sutelvarchar20否-標(biāo)志
36、flagint-是1-表 5 操作員表(user)字段名(理論)字段名(物理)字段類型長(zhǎng)度非空默認(rèn)主鍵外鍵關(guān)聯(lián)的表.字段名操作員 id user_idint-是-是-操作員名稱usernamevarchar20是-操作員密碼userpwdvarchar50否-操作員權(quán)限 userauthorint-是- 16表 6 銷售單(sale)字段名(理論)字段名(物理)字段類型長(zhǎng)度非空默認(rèn)主鍵外鍵關(guān)聯(lián)的表.字段名銷售單 idsale_idint-是-是-操作員 idsauser_idint-是-是user.user_id產(chǎn)品 id saproduct_idint-是-是pduct_
37、id客戶 idsacustomer_idint-是-是customer.customer_id銷售數(shù)量 sanumberint-是-銷售日期sadatevarchar20否-標(biāo)志flagint-是1-表 7 進(jìn)貨單(purchase)字段名(理論)字段名(物理)字段類型長(zhǎng)度非空默認(rèn)主鍵外鍵關(guān)聯(lián)的表.字段名進(jìn)貨單 idpurchase_idint-是-是-操作員 id puuser_idint-是-是user.user_id產(chǎn)品 id pproduct_idint-是-是pduct_id供應(yīng)商 idpsupply_idint-是-是supply.supply_id進(jìn)貨數(shù)量pu
38、numberint-是-進(jìn)貨日期pudatevarchar20否-標(biāo)志flagint-是1- 175 功能模塊詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)5.1 系統(tǒng)主界面模塊是本系統(tǒng)的界面,在本界面上集成了本系統(tǒng)的所有功能,共有五個(gè)功能菜單和 10 個(gè)子菜單(功能模塊) ,從而實(shí)現(xiàn)了本系統(tǒng)從銷售管理,進(jìn)貨管理,產(chǎn)品基本信息管理,庫(kù)存管理,系統(tǒng)管理等系統(tǒng)的具體功能。系統(tǒng)主界面如圖所示。圖 9 系統(tǒng)主界面5.2 基本信息管理5.2.1 功能分析方便用戶對(duì)產(chǎn)品基本信息,客戶信息,供應(yīng)商信息進(jìn)行多條件查詢,增加,修改,刪除。5.2.2 實(shí)現(xiàn)原理用 hibernate 語(yǔ)句里的查詢、增加、修改、刪除語(yǔ)句,對(duì)數(shù)據(jù)庫(kù)里對(duì)應(yīng)的產(chǎn) 18品
39、信息表,供應(yīng)商信息表,客戶信息表進(jìn)行相應(yīng)的操作。圖 10 產(chǎn)品基本信息管理界面圖 11 客戶信息管理界面 19圖 12 供應(yīng)商信息管理界面5.2.3 核心代碼/* * 數(shù)據(jù)庫(kù)中獲取所有 * param condtions 保存前臺(tái)傳遞的數(shù)據(jù) * return */ public listrange findall(map conditions) /數(shù)據(jù)庫(kù)讀出的所有顧客信息 list list=pojod.findall(); if(list.size()0) /轉(zhuǎn)換成所需要的格式,傳遞到前臺(tái)顯示 infolist=convertformat(list); return pageshow.pag
40、ehandle(conditions,infolist); else infolist.add(new customer(); return new listrange(infolist.sublist(0,1).toarray(),infolist.size(); 205.3 銷售管理5.3.1 功能分析銷售貨物時(shí),用戶可以填寫銷售單,并可以查看,修改,刪除銷售單,同時(shí)倉(cāng)庫(kù)中該產(chǎn)品數(shù)量發(fā)生相應(yīng)變動(dòng)。顧客退貨時(shí),用戶可以填寫銷售退貨單,并可以查看,修改,刪除銷售退貨單,同時(shí)倉(cāng)庫(kù)中產(chǎn)品數(shù)量發(fā)生相應(yīng)變動(dòng)。5.3.2 實(shí)現(xiàn)原理用 hibernate 語(yǔ)句里的查詢、增加、修改、刪除語(yǔ)句,對(duì)數(shù)據(jù)庫(kù)里對(duì)應(yīng)
41、的銷售單信息,銷售退貨表信息,客戶信息表進(jìn)行相應(yīng)的操作。同時(shí)對(duì)產(chǎn)品倉(cāng)庫(kù)表中的產(chǎn)品數(shù)量進(jìn)行相應(yīng)變動(dòng)。圖 13 銷售登記界面 21圖 14 銷售退貨界面圖 15 填寫銷售單界面5.3.3 核心代碼/* * 增加銷售單 * param s * return 最后一個(gè)銷售單 id 22 */ public int save(ios.web.form.sale.sale s) sale ss=new sale(); customer c=new customer(); /根據(jù)顧客 id 增加 c.setcustomerid(s.getsalcustomerid(); ss.setcustomer(c);
42、 /用戶的 id 保存在 session 中,從 session 中獲得 ios.pojo.sys.user u=new ios.pojo.sys.user(); u.setuserid(s.getsaluserid(); ss.setuser(u); ios.pojo.iosinfo.product p=new ios.pojo.iosinfo.product(); p.setproductid(s.getsalproductid(); ss.setproduct(p); ss.setsadate(s.getsadate(); ss.setsanumber(s.getsanumber();
43、sd.save(ss); /同時(shí)產(chǎn)品倉(cāng)庫(kù)表中相應(yīng)的產(chǎn)品數(shù)量減少 storehandle.decrenum(p,u,s.getsanumber(); return sd.findlastid(); 5.4 進(jìn)貨管理5.4.1 功能分析進(jìn)貨時(shí),用戶可以填寫進(jìn)貨單,并可以修改,查看,刪除進(jìn)貨單,同時(shí)倉(cāng)庫(kù)中相應(yīng)產(chǎn)品信息發(fā)生相應(yīng)變動(dòng)。進(jìn)貨退貨時(shí),用戶可以填寫進(jìn)貨退貨單,并可以修改,查看,刪除進(jìn)貨退貨單,同時(shí)倉(cāng)庫(kù)中相應(yīng)產(chǎn)品信息發(fā)生相應(yīng)變動(dòng)。 235.4.2 實(shí)現(xiàn)原理用 hibernate 語(yǔ)句里的查詢、增加、修改、刪除語(yǔ)句,對(duì)數(shù)據(jù)庫(kù)里對(duì)應(yīng)的進(jìn)貨退貨單信息表,進(jìn)貨信息表進(jìn)行相應(yīng)的操作。同時(shí)對(duì)產(chǎn)品倉(cāng)庫(kù)表中的產(chǎn)
44、品數(shù)量進(jìn)行相應(yīng)變動(dòng)。圖 16 購(gòu)買進(jìn)貨界面 圖 17 進(jìn)貨退貨界面 245.4.3 核心代碼 /* * 更新 * param s * return */ public boolean saveorupdate(ios.web.form.purchase.purchase s) purchase ss=new purchase(); supply c=new supply(); /根據(jù)顧客 id 增加 c.setsupplyid(s.getpsupplyid(); ss.setsupply(c); ios.pojo.sys.user u=new ios.pojo.sys.user(); u.se
45、tuserid(s.getpuserid(); ss.setuser(u); ios.pojo.iosinfo.product p=new ios.pojo.iosinfo.product(); p.setproductid(s.getpproductid(); ss.setproduct(p); ss.setpudate(s.getpudate(); ss.setpunumber(s.getpunumber(); ss.setpurchaseid(s.getpurchaseid(); boolean issuccess = true;try pojod.saveorupdate(ss); c
46、atch (exception e) issuccess = false;e.printstacktrace(); system.out.println(修改失敗); 25 return issuccess; 5.5 庫(kù)存管理5.5.1 功能分析倉(cāng)庫(kù)盤點(diǎn)時(shí),用戶可以進(jìn)行產(chǎn)品入庫(kù),產(chǎn)品出庫(kù),入庫(kù)修改操作,同時(shí)可以進(jìn)行相應(yīng)地查詢。倉(cāng)庫(kù)管理時(shí),用戶可以分配倉(cāng)庫(kù),修改倉(cāng)庫(kù),查詢、刪除倉(cāng)庫(kù)。5.5.2 實(shí)現(xiàn)原理用 hibernate 語(yǔ)句里的查詢、增加、修改、刪除語(yǔ)句,對(duì)數(shù)據(jù)庫(kù)里對(duì)應(yīng)的產(chǎn)品倉(cāng)庫(kù)表,倉(cāng)庫(kù)表進(jìn)行相應(yīng)的操作。 圖 18 倉(cāng)庫(kù)盤點(diǎn)界面 26圖 19 倉(cāng)庫(kù)管理界面5.5.3 核心代碼 /* * 根
47、據(jù)條件查詢 * param condtions * return */ public listrange getsalebyparames(map conditions) string productname=; string username=; /倉(cāng)庫(kù)名字 string dbasename=; tryproductname=(conditions.get(pname) !=null )?(conditions.get(pname).tostring():;username=(conditions.get(username) !=null)?(conditions.get(username)
48、.tostring() :;dbasename=(conditions.get(dbase) !=null)?(conditions.get(dbase).tostring() :; catch(exception ef) ef.printstacktrace(); 27 system.out.println(-傳遞的+productname+username+dbasename); /條件 sql 語(yǔ)句 string sql=from store as m where m.flag=1 and m.storeid !=0 ; if(!(.equals(productname) sql=sql
49、+and duct.pname= +productname+ ; if(!(.equals(dbasename) sql=sql+and m.dbase.dbasename= +dbasename+ ; if(!(.equals(username) sql=sql+and m.user.username= +username+; system.out.println(sql is:+sql); list slist=pojod.findbypropertyssql(sql); if(slist.size()0) return pageshow.pagehandle(condition
50、s,convertformat(slist); else infolist.add(new store(); return new listrange(infolist.sublist(0, 1).toarray(),infolist.size(); 5.6 系統(tǒng)管理5.6.1 功能分析管理員可以進(jìn)行分配用戶,修改用戶信息,同時(shí)查看,刪除用戶信息。 285.6.2 實(shí)現(xiàn)原理用 hibernate 語(yǔ)句里的查詢、增加、修改、刪除語(yǔ)句,對(duì)數(shù)據(jù)庫(kù)里對(duì)應(yīng)的用戶表進(jìn)行相應(yīng)的操作。 圖 20 用戶管理界面圖 21 分配操作員界面 295.6.3 核心代碼/* * 邏輯刪除 * param ids 要?jiǎng)h除的
51、 id 存放在數(shù)組當(dāng)中 * return */ public boolean delete(list ids) boolean issuccess=true; int saleid=0; try for(int i=0;iids.size();i+) saleid=(integer)ids.get(i); user s=pojod.findbyid(saleid); s.setflag(2); pojod.saveorupdate(s); catch (exception e) issuccess = false; e.printstacktrace(); system.out.println
52、(刪除失敗); /返回產(chǎn) id return issuccess; 306 系統(tǒng)測(cè)試6.1 系統(tǒng)開(kāi)發(fā)環(huán)境操作系統(tǒng):windows xp;開(kāi)發(fā)工具:myeclipse 6.0.1;開(kāi)發(fā)語(yǔ)言:uml;應(yīng)用數(shù)據(jù)庫(kù):sql server2000;應(yīng)用服務(wù)器:tomcat6.0;6.2 系統(tǒng)測(cè)試6.2.1 測(cè)試項(xiàng)目說(shuō)明測(cè)試是為了“發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程” ,測(cè)試的目的就是在系統(tǒng)投入生產(chǎn)性運(yùn)行之前,盡可能多的發(fā)現(xiàn)系統(tǒng)中的錯(cuò)誤。在測(cè)試過(guò)程中對(duì)每個(gè)功能逐一測(cè)試,其具體操作如下:(1)測(cè)試是否能夠正常登陸當(dāng)用戶輸入用戶名不存在,或用戶名與其所輸入的密碼不準(zhǔn)確時(shí),就無(wú)法正常登陸。必須輸入正確的用戶名和密碼。(2)測(cè)試基本信息,銷售,進(jìn)貨,倉(cāng)庫(kù)管理,系
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物(內(nèi)蒙古)-【八省聯(lián)考】河南、山西、陜西、內(nèi)蒙古、四川、云南、寧夏、青海八省2025年高考綜合改革適應(yīng)性演練聯(lián)考試題和答案
- 《法國(guó)園林》課件
- 小學(xué)生一年級(jí)30以內(nèi)加減法100題
- 高考新課標(biāo)語(yǔ)文模擬試卷系列之63
- 《梅花嶺記》課件
- 行政后勤治安防范措施
- 裝飾行業(yè)采購(gòu)經(jīng)驗(yàn)分享
- 飲品店服務(wù)員工作心得
- 《溫州地區(qū)特產(chǎn)》課件
- 裝修行業(yè)監(jiān)督裝修工程衛(wèi)生施工
- 上海上海市醫(yī)療急救中心招聘筆試歷年典型考題及考點(diǎn)附答案解析
- 《大數(shù)據(jù)分析技術(shù)》課程標(biāo)準(zhǔn)
- 2024年河南農(nóng)業(yè)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及參考答案
- 期末考試-公共財(cái)政概論-章節(jié)習(xí)題
- AED急救知識(shí)課件
- 高中物理課件:Tracker軟件在高中物理實(shí)驗(yàn)教學(xué)中的應(yīng)用-
- 肩痹(肩袖損傷)中醫(yī)臨床路徑及入院標(biāo)準(zhǔn)2020版
- 跟蹤審計(jì)服務(wù) 投標(biāo)方案(技術(shù)方案)
- 廣東省汕頭市金平區(qū)2023-2024學(xué)年七年級(jí)上學(xué)期期末語(yǔ)文試題
- (2024年)電工安全培訓(xùn)(新編)課件
- 2024年度新型紡織纖維
評(píng)論
0/150
提交評(píng)論