




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
word文檔可自由復(fù)制編輯摘要印染企業(yè)進(jìn)銷存管理系統(tǒng)是一個(gè)基于Internet的應(yīng)用系統(tǒng),由于當(dāng)前的進(jìn)銷存管理工作基本還處于手工和半自動(dòng)信息化處理狀態(tài),而本系統(tǒng)就是應(yīng)運(yùn)而生的一個(gè)基于Internet的完全自動(dòng)信息化的系統(tǒng)。企業(yè)單位只需具備訪問(wèn)Internet的條件即可在系統(tǒng)發(fā)布的站點(diǎn)上進(jìn)行進(jìn)銷存的管理。在圖形化的人機(jī)界面中完成日常的進(jìn)銷存管理工作。一方面擺脫了時(shí)間和空間的限制,另一方面有效地解決了數(shù)據(jù)共享的問(wèn)題。本論文主要講述了利用JSP+Tomcat+MySql開(kāi)發(fā)一個(gè)基于WEB的印染企業(yè)進(jìn)銷存管理系統(tǒng)。通過(guò)開(kāi)發(fā)此系統(tǒng),詳細(xì)講述了數(shù)據(jù)庫(kù)的開(kāi)發(fā)以及核心程序的具體實(shí)現(xiàn)。整個(gè)系統(tǒng)以符合操作簡(jiǎn)便、界面友好、靈活、實(shí)用、安全的要求為出發(fā)點(diǎn),完成進(jìn)貨、銷售、庫(kù)存管理的全過(guò)程。提供了一套比較完善的印染企業(yè)進(jìn)銷存WEB系統(tǒng)開(kāi)發(fā)方案。關(guān)鍵詞:JSP,管理系統(tǒng),進(jìn)銷存ABSTRACTDyeingenterpriseinventorymanagementsystemisanInternet-basedapplicationsystem,sincethecurrentinventorymanagementworkisstillinthebasicmanualandsemi-automaticinformationprocessingstatement,andtherequirementofthesystemisafullyInternet-basedautomatedinformationsystem.EnterprisescanmanagelogisticsmanagementsystemsonlywiththeconditionsofInternetwhicharereleasedonthesite.Thepatternoftheman-machineinterfacecompleteinventorymanagementofthedailywork.Whileoutoftimeandspaceconstraintsandeffectivesolutiontothedatasharingproblem.ThispaperdescribestheuseofJSP+Tomcat+MySqldevelopmentofaWeb-baseddyeingenterpriselogisticsmanagementsystems.Throughthedevelopmentofthissystem,describestheconcreterealizationofthedevelopmentofthedatabaseandcoreprogram.Theentiresystemtocomplywiththesimple,friendlyinterface,flexible,practicalandsafetyrequirementsasastartingpointtocompletethepurchase,sale,inventorymanagementthroughouttheentireprocess.ProvideamorecompletedyeingenterpriseWebInvoicingSystemDevelopmentprogram.Keywords:JSP,ManagementSystem,Invoicing目錄摘要 IABSTRACT II第1章緒論 11.1背景11.2進(jìn)銷存系統(tǒng)的發(fā)展策略 11.3研究?jī)?nèi)容21.3.1開(kāi)發(fā)技術(shù)的分析 21.3.2本課題的可行性 21.3.3本課題的實(shí)現(xiàn)目標(biāo) 3第2章技術(shù)背景 42.1動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)42.2動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)的比較42.2.1JSP技術(shù)的強(qiáng)勢(shì) 42.2.2JSP技術(shù)的弱勢(shì) 52.3Tomcat服務(wù)器52.4MySql數(shù)據(jù)庫(kù)62.5本章小結(jié)6第3章需求分析 73.1需求分析原則73.2需求功能分析73.3本章小結(jié)10第4章系統(tǒng)設(shè)計(jì) 114.1系統(tǒng)分析114.1.1設(shè)計(jì)原則 114.1.2系統(tǒng)設(shè)計(jì)目標(biāo) 114.1.3系統(tǒng)的體系結(jié)構(gòu) 114.1.4數(shù)據(jù)流圖 124.2系統(tǒng)功能模塊124.3數(shù)據(jù)庫(kù)設(shè)計(jì)144.3.1數(shù)據(jù)庫(kù)設(shè)計(jì)原則 144.3.2數(shù)據(jù)庫(kù)E-R圖設(shè)計(jì) 144.3.3數(shù)據(jù)庫(kù)表單的設(shè)計(jì) 164.4本章小結(jié)19第5章系統(tǒng)實(shí)現(xiàn) 205.1編碼實(shí)現(xiàn)原則205.2系統(tǒng)模塊的設(shè)計(jì)與實(shí)現(xiàn)205.2.1系統(tǒng)設(shè)置管理模塊的設(shè)計(jì)與實(shí)現(xiàn) 205.2.2基礎(chǔ)信息管理模塊的設(shè)計(jì)與實(shí)現(xiàn) 225.2.3商品采購(gòu)模塊的設(shè)計(jì)與實(shí)現(xiàn) 245.2.4產(chǎn)品銷售模塊的設(shè)計(jì)與實(shí)現(xiàn) 265.2.5加工處理模塊的設(shè)計(jì)與實(shí)現(xiàn) 285.3本章小結(jié)29第6章系統(tǒng)測(cè)試 306.1軟件介紹306.2測(cè)試的作用和意義306.3測(cè)試方法306.4系統(tǒng)配置要求306.5測(cè)試用例316.5.1原料庫(kù)存模塊測(cè)試 316.5.2原料采購(gòu)模塊測(cè)試 326.5.3產(chǎn)品庫(kù)存模塊測(cè)試 326.5.4產(chǎn)品銷售模塊測(cè)試 336.6本章小結(jié)34第7章結(jié)論 35致謝 36參考文獻(xiàn) 37第1章緒論1.1背景隨著中國(guó)電子商務(wù)、互聯(lián)網(wǎng)業(yè)務(wù)的迅猛發(fā)展,國(guó)內(nèi)許多企業(yè)已跨入電腦網(wǎng)絡(luò)管理的時(shí)代,并因此提高了管理效率和市場(chǎng)競(jìng)爭(zhēng)力。目前印染行業(yè)大企業(yè)的規(guī)?;a(chǎn)與小批量多品種需求的矛盾日益突出,形成了目前印染行業(yè)的規(guī)模不經(jīng)濟(jì)性的現(xiàn)象。而隨著全球經(jīng)濟(jì)信息化的進(jìn)程和WTO的成功實(shí)現(xiàn),企業(yè)面臨著前所未有的機(jī)遇和挑戰(zhàn),在如此激變的社會(huì)形勢(shì)和激烈的市場(chǎng)競(jìng)爭(zhēng)下,印染企業(yè)需要提高內(nèi)部的管理水平,引進(jìn)精益生產(chǎn)的管理思想及模式,提高企業(yè)信息化的管理水平,在產(chǎn)品生產(chǎn)安排、工藝設(shè)計(jì)、物流管理、人員配備等方面的統(tǒng)籌安排將逐漸發(fā)揮企業(yè)的規(guī)模效益。形成以市場(chǎng)、銷售為龍頭的產(chǎn)、供、銷的柔性體系。因此,印染企業(yè)采用電腦管理進(jìn)貨、庫(kù)存、銷售等諸多環(huán)節(jié)也已成為趨勢(shì)及必然。在印染紡織企業(yè)進(jìn)貨、庫(kù)存、銷售環(huán)節(jié)中,由于商品種類繁多、業(yè)務(wù)量大、庫(kù)存管理復(fù)雜,使用手工操作的工作量很大,在操作過(guò)程中也很容易出現(xiàn)各種錯(cuò)誤。而采用計(jì)算機(jī)管理則可以大大提高日常工作的效率,不僅將原來(lái)由手工操作的進(jìn)貨、出貨及銷售這一整套流程用計(jì)算機(jī)進(jìn)行全程管理,而且消除了手工操作中可能存在的不確定因素,達(dá)到進(jìn)銷存管理流程清晰,從而能夠比較徹底地貫徹經(jīng)營(yíng)者的管理模式[1]。1.2進(jìn)銷存系統(tǒng)的發(fā)展策略根據(jù)我國(guó)企業(yè)進(jìn)銷存建設(shè)的現(xiàn)狀和存在的問(wèn)題,使我國(guó)企業(yè)進(jìn)銷存建設(shè)走上健康快速發(fā)展的軌道,在企業(yè)進(jìn)銷存建設(shè)方面應(yīng)采取如下對(duì)策:在組織實(shí)施方面,從傳統(tǒng)的工業(yè)項(xiàng)目管理體制轉(zhuǎn)向?qū)I(yè)化和產(chǎn)品化實(shí)施體制,確保系統(tǒng)的運(yùn)行維護(hù)和系統(tǒng)持續(xù)的升級(jí),走合作與分工并舉的道路。由此可造就一批以企業(yè)進(jìn)銷存系統(tǒng)為業(yè)務(wù)核心的、規(guī)模較大的專業(yè)軟件公司。在技術(shù)選擇方面:選擇與世界發(fā)展潮流吻合的技術(shù)。現(xiàn)在還在流行的技術(shù)并不能代表未來(lái)一定能夠流行。技術(shù)的標(biāo)準(zhǔn)化程度要高,開(kāi)放程度要好。關(guān)鍵應(yīng)用主張自主開(kāi)發(fā),發(fā)展民族產(chǎn)業(yè)。在技術(shù)結(jié)構(gòu)方面,盡快從C/S(Client/Server)結(jié)構(gòu)體系轉(zhuǎn)Browser/Server結(jié)構(gòu)體系,采用B/S思路,最終用戶界面統(tǒng)一為瀏覽器,應(yīng)用系統(tǒng)全部在服務(wù)器端,是標(biāo)準(zhǔn)的三層結(jié)構(gòu)體系。系統(tǒng)負(fù)載輕,開(kāi)放性好,系統(tǒng)維護(hù)升級(jí)方便[2]。系統(tǒng)設(shè)計(jì)方法:考慮到我國(guó)企業(yè)進(jìn)銷存軟件的現(xiàn)狀,采用生命周期法和快速原型法相結(jié)合,在已有產(chǎn)品的基礎(chǔ)上,以快速原型法為主。在實(shí)施方面遵循統(tǒng)一規(guī)范和分布實(shí)施的原則。在設(shè)計(jì)思想方面,從傳統(tǒng)的面向業(yè)務(wù)的設(shè)計(jì)轉(zhuǎn)向面向用戶的設(shè)計(jì),即將設(shè)計(jì)的著眼點(diǎn)放在用戶對(duì)象身上,設(shè)計(jì)視角范圍是整個(gè)內(nèi)部網(wǎng),在此基礎(chǔ)之上進(jìn)行相關(guān)業(yè)務(wù)設(shè)計(jì),將面向?qū)ο蟮乃枷胍氲较到y(tǒng)設(shè)計(jì)中去[3]。在實(shí)現(xiàn)方法方面,從傳統(tǒng)的結(jié)構(gòu)化設(shè)計(jì)轉(zhuǎn)向采用復(fù)雜適用系統(tǒng)理論進(jìn)行實(shí)現(xiàn),即從一般的業(yè)務(wù)需求中抽象出關(guān)鍵的復(fù)雜適應(yīng)系統(tǒng),該系統(tǒng)能夠適應(yīng)環(huán)境變化,系統(tǒng)使用越久,積累的有價(jià)值的東西就越多[3]。1.3研究?jī)?nèi)容本系統(tǒng)是基于B/S體系結(jié)構(gòu),采用JSP語(yǔ)言以及Java語(yǔ)言進(jìn)行開(kāi)發(fā),數(shù)據(jù)庫(kù)是當(dāng)前比較流行的MySql數(shù)據(jù)庫(kù),以及使用Tomcat作為系統(tǒng)開(kāi)發(fā)的服務(wù)器。1.3.1開(kāi)發(fā)技術(shù)的分析就現(xiàn)在開(kāi)發(fā)進(jìn)銷存的技術(shù)來(lái)說(shuō),主要集中分為三大類:基于C/S結(jié)構(gòu)的應(yīng)用程序開(kāi)發(fā),結(jié)合C/S結(jié)構(gòu)和Web技術(shù)的復(fù)合應(yīng)用程序,基于B/S結(jié)構(gòu)的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)。以下將分析這三類技術(shù)的各自優(yōu)缺點(diǎn):C/S結(jié)構(gòu)系統(tǒng):是傳統(tǒng)開(kāi)發(fā)模式,一般以數(shù)據(jù)庫(kù)和客戶端的兩層結(jié)構(gòu)實(shí)現(xiàn)[4]。也有加入中間件的三層或多層結(jié)構(gòu),早期是標(biāo)準(zhǔn)的系統(tǒng)模式,但隨著計(jì)算機(jī)技術(shù)的發(fā)展和網(wǎng)絡(luò)的發(fā)展,它已經(jīng)無(wú)法滿足現(xiàn)在的進(jìn)銷存工作,逐漸在被取代。C/S+Web技術(shù):是為了補(bǔ)充C/S結(jié)構(gòu)的不足,在C/S基礎(chǔ)上加入Web技術(shù)來(lái)實(shí)現(xiàn)對(duì)遠(yuǎn)程數(shù)據(jù)的獲取,但擁有一定局限性,如數(shù)據(jù)及時(shí)更新、軟件升級(jí)等問(wèn)題就無(wú)法很好解決。B/S結(jié)構(gòu)系統(tǒng):是采用動(dòng)態(tài)網(wǎng)頁(yè)技術(shù),加入進(jìn)銷存的開(kāi)發(fā)理念,完全適應(yīng)網(wǎng)絡(luò)進(jìn)銷存需求,也是現(xiàn)代進(jìn)銷存管理系統(tǒng)的首選技術(shù)[5]。就B/S結(jié)構(gòu)的開(kāi)發(fā),具體技術(shù)又有多種選擇:JSP+J2EE,ASP+IIS,ASP.net+Microsoft.NETFramework,PHP+Apache。1.3.2本課題的可行性可行性研究是系統(tǒng)開(kāi)發(fā)的前期工作,經(jīng)過(guò)仔細(xì)地分析決定問(wèn)題是否值得解決開(kāi)發(fā)。用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。經(jīng)濟(jì)性:當(dāng)前許多中小型企業(yè)都使用人工管理方式(即紙和筆)來(lái)管理企業(yè)的進(jìn)銷存,這樣的管理方式既困難又浪費(fèi)時(shí)間和成本,并且容易出現(xiàn)漏賬、差賬的情況,因此中小企業(yè)應(yīng)該向大型企業(yè)那樣采用先進(jìn)的管理方式,提高企業(yè)效率、降低企業(yè)運(yùn)營(yíng)成本。技術(shù)性:印染企業(yè)進(jìn)銷存管理系統(tǒng)從中小企業(yè)的實(shí)際出發(fā),可有效地管理印染企業(yè)的進(jìn)銷存情況,并降低企業(yè)運(yùn)營(yíng)成本、及時(shí)調(diào)整營(yíng)銷策略、提高庫(kù)房的利用率。在進(jìn)貨、庫(kù)存、銷售環(huán)節(jié)中,由于商品種類繁多、業(yè)務(wù)量大、庫(kù)存管理復(fù)雜,使用手工操作的工作量很大,在操作過(guò)程中也很容易出現(xiàn)各種錯(cuò)誤。而采用計(jì)算機(jī)管理則可以大大提高日常工作的效率,不僅將原來(lái)由手工操作的進(jìn)貨、出貨及銷售這一整套流程用計(jì)算機(jī)進(jìn)行全程管理,而且消除了手工操作中可能存在的不確定因素,達(dá)到進(jìn)銷存管理流程清晰,從而能夠比較徹底地貫徹經(jīng)營(yíng)者的管理模式。1.3.3本課題的實(shí)現(xiàn)目標(biāo)系統(tǒng)采用人機(jī)對(duì)話方式,界面美觀友好,信息查詢靈活、方便、快捷、準(zhǔn)確,數(shù)據(jù)存儲(chǔ)安全可靠。(1)實(shí)現(xiàn)企業(yè)內(nèi)一些基礎(chǔ)信息的設(shè)置及查詢。(2)商品的入庫(kù)、采購(gòu)?fù)素洝N售、銷售退貨流程清晰。(3)數(shù)據(jù)計(jì)算自動(dòng)完成,提高工作效率。(4)與供應(yīng)商和客戶之間的賬目清晰。(5)實(shí)現(xiàn)多條件查詢。(6)可方便快捷地查詢庫(kù)存信息,并可對(duì)商品價(jià)格進(jìn)行調(diào)整。第2章技術(shù)背景隨著因特網(wǎng)(Internet)在全球的迅猛發(fā)展和廣泛應(yīng)用,動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)也隨著它們的出現(xiàn)誕生了。下面對(duì)JSP動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)的原理和相關(guān)概念作概括性的敘述。2.1動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)所謂“動(dòng)態(tài)”,并不是指那幾個(gè)放在網(wǎng)頁(yè)上的GIF動(dòng)態(tài)圖片,在這里總結(jié)的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)有以下幾個(gè)特點(diǎn)。(1)交互性:即網(wǎng)頁(yè)會(huì)根據(jù)用戶要求和選擇而動(dòng)態(tài)的進(jìn)行改變和響應(yīng),將瀏覽器作為客戶端界面,這將是今后Web發(fā)展的趨勢(shì)。(2)自動(dòng)更新:即無(wú)須手動(dòng)更新HTML文檔,便會(huì)自動(dòng)生成新頁(yè)面,可以大大節(jié)省工作量。(3)因時(shí)因人而變:即當(dāng)不同的時(shí)間、不同的人訪問(wèn)同一網(wǎng)址時(shí)會(huì)產(chǎn)生不同的頁(yè)面。除了早期的CGI外,目前主流的動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)有JSP、ASP、PHP等,下面就JSP與其它幾種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)進(jìn)行比較。2.2動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)的比較JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶端的瀏覽器。JavaServlet是JSP技術(shù)的基礎(chǔ),而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要Java、Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用、完全面向?qū)ο?、具有平臺(tái)無(wú)關(guān)性且安全可靠、主要面向Internet的所有特點(diǎn)。2.2.1JSP技術(shù)的強(qiáng)勢(shì)(1)一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開(kāi)發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見(jiàn)的。(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理、消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。(4)多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開(kāi)發(fā)工具,而且有許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利地運(yùn)行于多種平臺(tái)之下。2.2.2JSP技術(shù)的弱勢(shì)(1)Java帶來(lái)優(yōu)點(diǎn)的同時(shí)也給自己帶來(lái)缺點(diǎn)。正是由于為了實(shí)現(xiàn)跨平臺(tái)的功能,為了實(shí)現(xiàn)較好的伸縮能力,所以極大地增加了產(chǎn)品的復(fù)雜性。(2)Java的運(yùn)行速度是用class常駐內(nèi)存來(lái)完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來(lái)確實(shí)是“最低性能價(jià)格比”了。從另一方面來(lái)說(shuō),它還需要硬盤空間來(lái)存儲(chǔ)一系列的.java文件和.class文件,以及對(duì)應(yīng)的版本文件。為了簡(jiǎn)明起見(jiàn),下面先將JSP、ASP、PHP三種流行語(yǔ)言列表做一下比較,如表2-1所示:表2-1JSP、ASP、PHP的性能比較JSPASPPHP運(yùn)行速度快較快較快運(yùn)行損耗較小較大較大運(yùn)行平臺(tái)大部分平臺(tái)均可Windows平臺(tái)Windows/UNIX平臺(tái)擴(kuò)展性好較好較差安全性好較差好函數(shù)支持多較少多組件支持支持支持不支持XML支持支持不支持支持2.3Tomcat服務(wù)器Tomcat是一個(gè)免費(fèi)的開(kāi)源的Serlvet容器,它是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache,Sun和其它一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總能在Tomcat中得到體現(xiàn)。與傳統(tǒng)的桌面應(yīng)用程序不同,Tomcat中的應(yīng)用程序是一個(gè)WAR(WebArchive)文件。WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類似,也是許多文件的一個(gè)壓縮包。這個(gè)包中的文件按一定目錄結(jié)構(gòu)來(lái)組織:通常其根目錄下包含有Html和JSP文件或者包含這兩種文件的目錄,另外還會(huì)有一個(gè)WEB-INF目錄,這個(gè)目錄很重要。通常在WEB-INF目錄下有一個(gè)web.xml文件和一個(gè)classes目錄,web.xml是這個(gè)應(yīng)用的配置文件,而classes目錄下則包含編譯好的Servlet類和JSP或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當(dāng)然也可以放到系統(tǒng)的CLASSPATH中,但那樣移植和管理起來(lái)不方便。在Tomcat中,應(yīng)用程序的部署很簡(jiǎn)單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。你在瀏覽器中訪問(wèn)這個(gè)應(yīng)用的JSP時(shí),通常第一次會(huì)很慢,因?yàn)門omcat要將JSP轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問(wèn)將會(huì)很快。2.4MySql數(shù)據(jù)庫(kù)MySql作為一種開(kāi)放源碼數(shù)據(jù)庫(kù),以其簡(jiǎn)單易用的特點(diǎn)被廣大用戶采用。MySql雖然是免費(fèi)的,但同Oracle,Sybase,Informix,Db2等商業(yè)數(shù)據(jù)庫(kù)一樣,具有數(shù)據(jù)庫(kù)系統(tǒng)的通用性:(1)數(shù)據(jù)庫(kù)管理系統(tǒng)。所謂的數(shù)據(jù)庫(kù)就是一些結(jié)構(gòu)化的數(shù)據(jù)的聯(lián)合體,要提供對(duì)這些數(shù)據(jù)的存取、增加、修改、刪除或更加復(fù)雜的數(shù)據(jù)抽取等操作,需要有一個(gè)支撐系統(tǒng),這就是數(shù)據(jù)庫(kù)管理系統(tǒng),MySql完全具有這方面的功能。(2)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。在數(shù)據(jù)庫(kù)的發(fā)展歷程中,曾出現(xiàn)過(guò)多種不同形式的數(shù)據(jù)庫(kù)系統(tǒng),但關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)以其優(yōu)越性而被廣為采用,像現(xiàn)在幾種廣泛使用的數(shù)據(jù)庫(kù)全為關(guān)系型數(shù)據(jù)庫(kù)。同樣,MySql也是關(guān)系型的數(shù)據(jù)庫(kù)系統(tǒng),支持標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語(yǔ)言。(3)開(kāi)放源碼數(shù)據(jù)庫(kù)。同商業(yè)性的數(shù)據(jù)庫(kù)相比,這是MySql最大的特點(diǎn)。MySql的源碼是公開(kāi)的,這就意味著任何人,只要遵守規(guī)則就可以對(duì)MySql的源碼進(jìn)行修改以符合自己特殊的需求。2.5本章小結(jié)本章簡(jiǎn)單扼要的對(duì)系統(tǒng)開(kāi)發(fā)所用到語(yǔ)言以及一些工具做了個(gè)簡(jiǎn)單的介紹。通過(guò)與其他語(yǔ)言的比較,說(shuō)明了JSP的優(yōu)勢(shì),以及不足之處。這章的主要目的是為了加強(qiáng)對(duì)系統(tǒng)開(kāi)發(fā)所涉及到的工具和技術(shù)的了解,為接下來(lái)的系統(tǒng)開(kāi)發(fā)奠定基礎(chǔ)。第3章需求分析3.1需求分析原則軟件的需求分析是從用戶的業(yè)務(wù)中提取出軟件系統(tǒng)能夠幫助用戶解決的業(yè)務(wù)問(wèn)題,通過(guò)對(duì)用戶業(yè)務(wù)問(wèn)題的分析,規(guī)劃出我們的軟件產(chǎn)品。這個(gè)步驟是對(duì)用戶業(yè)務(wù)需求的一個(gè)升華,是一個(gè)把用戶業(yè)務(wù)管理流程優(yōu)化,轉(zhuǎn)化為軟件產(chǎn)品,從而提升管理而實(shí)現(xiàn)的質(zhì)的飛躍,這一步是否成功,直接關(guān)系到開(kāi)發(fā)出來(lái)的軟件產(chǎn)品能否得到用戶認(rèn)可,順利交付給客戶,客戶能否真正運(yùn)用我們的產(chǎn)品幫助他解決業(yè)務(wù)或管理問(wèn)題。按照軟件工程對(duì)軟件開(kāi)發(fā)過(guò)程的描述,需求階段我們可以細(xì)分為需求調(diào)研和需求分析兩個(gè)小階段,需求調(diào)研需要充分細(xì)致的了解客戶目標(biāo),用戶業(yè)務(wù)內(nèi)容、流程等,這是一個(gè)對(duì)需求的采集過(guò)程,是進(jìn)行需求分析的基礎(chǔ)準(zhǔn)備。當(dāng)我們已經(jīng)了解、理解了用戶的業(yè)務(wù),于是可以開(kāi)始分析需求了。軟件系統(tǒng)的需求分析可以由產(chǎn)品工程師或系統(tǒng)分析員或兩者分階段合作完成全部的需求分析工作。3.2需求功能分析根據(jù)上述軟件需求的要求,現(xiàn)對(duì)本系統(tǒng)進(jìn)行分析。對(duì)于中小型的印染企業(yè)來(lái)說(shuō),一套簡(jiǎn)單的印染進(jìn)銷存軟件只需要有最基本的功能,即系統(tǒng)信息管理、原料采購(gòu)信息管理、產(chǎn)品銷售信息管理、物品加工信息管理以及基礎(chǔ)信息管理就可以了。接下來(lái)著重分析下原料采購(gòu)信息管理模塊以及產(chǎn)品銷售信息管理模塊。原料采購(gòu)信息管理:(1)原料入庫(kù)管理人員通過(guò)登錄系統(tǒng),進(jìn)入原料信息管理界面。在該界面上進(jìn)行原料入庫(kù)的錄入工作。對(duì)于有些商品,其價(jià)格可能會(huì)不時(shí)地改變,因此管理人員還能對(duì)庫(kù)存商品進(jìn)行增加,刪除,查詢和修改的管理工作。其流程視圖如圖3-1。(2)原料管理在完成了相應(yīng)的原料入庫(kù)等準(zhǔn)備任務(wù)之后,管理人員就可以通過(guò)系統(tǒng)對(duì)原料進(jìn)行相應(yīng)的分發(fā)工作,由于原料的采購(gòu)都是訂購(gòu)的,所以只要管理人員對(duì)原料和客戶以及倉(cāng)庫(kù)信息進(jìn)行維護(hù)就可以了。同時(shí)登錄者可以在原料管理界面對(duì)原料進(jìn)行增加,刪除,修改和查詢的管理工作。其流程視圖如圖3-2。原料信息庫(kù)原料信息庫(kù)原料錄入用戶登錄驗(yàn)證退出失敗成功圖3-1原料入庫(kù)增加增加原料管理界面用戶登錄驗(yàn)證退出失敗成功刪除查詢修改圖3-2原料管理(3)采購(gòu)明細(xì)單管理管理人員通過(guò)登錄系統(tǒng),進(jìn)入原料采購(gòu)信息管理界面。在該頁(yè)面進(jìn)行原料明細(xì)的錄入工作,同時(shí)還需要錄入供貨商、原料、采購(gòu)員和采購(gòu)單之間的聯(lián)系,這由程序來(lái)完成。其流程視圖如圖3-3。增加增加采購(gòu)管理界面用戶登錄驗(yàn)證退出失敗成功刪除查詢修改圖3-3采購(gòu)明細(xì)產(chǎn)品銷售信息管理:(1)產(chǎn)品出庫(kù)管理人員通過(guò)登錄系統(tǒng),進(jìn)入產(chǎn)品信息管理界面。在該界面上進(jìn)行產(chǎn)品出庫(kù)的錄入工作。其流程視圖如圖3-4。(2)產(chǎn)品管理在完成了相應(yīng)的產(chǎn)品出庫(kù)等準(zhǔn)備任務(wù)之后,管理人員就可以通過(guò)系統(tǒng)對(duì)產(chǎn)品進(jìn)行相應(yīng)的分發(fā)工作,由于產(chǎn)品的采購(gòu)都是訂購(gòu)的,所以只要管理人員對(duì)產(chǎn)品和客戶進(jìn)行維護(hù)就可以了。同時(shí)登錄者可以在產(chǎn)品管理界面對(duì)產(chǎn)品進(jìn)行增加,刪除,修改和查詢的管理工作。其流程視圖如圖3-5。產(chǎn)品信息庫(kù)產(chǎn)品信息庫(kù)產(chǎn)品錄入用戶登錄驗(yàn)證退出失敗成功圖3-4產(chǎn)品入庫(kù)增加增加產(chǎn)品管理界面用戶登錄驗(yàn)證退出失敗成功刪除查詢修改圖3-5產(chǎn)品管理(3)銷售明細(xì)單管理管理人員通過(guò)登錄系統(tǒng),進(jìn)入產(chǎn)品銷售管理界面。在該頁(yè)面進(jìn)行銷售產(chǎn)品明細(xì)的錄入工作,同時(shí)還需要錄入客戶、產(chǎn)品、銷售員和銷售單之間的聯(lián)系,這由程序來(lái)完成。其流程視圖如圖3-6。增加增加銷售管理界面用戶登錄驗(yàn)證退出失敗成功刪除查詢修改圖3-6銷售明細(xì)3.3本章小結(jié)本章簡(jiǎn)單介紹了需求分析的重要性以及對(duì)本系統(tǒng)的需求做了初步的設(shè)計(jì),并對(duì)部分模塊做出相應(yīng)的流程視圖,使系統(tǒng)功能更加清晰化,這樣做的目的是進(jìn)一步了解系統(tǒng)各功能模塊的實(shí)現(xiàn)過(guò)程及它們之間應(yīng)有的聯(lián)系,為下面的具體設(shè)計(jì)做好鋪墊。第4章系統(tǒng)設(shè)計(jì)4.1系統(tǒng)分析4.1.1設(shè)計(jì)原則在開(kāi)發(fā)過(guò)程中,根據(jù)需求和設(shè)計(jì)的需要,經(jīng)過(guò)反復(fù)考慮,確立了以下的設(shè)計(jì)原則。在我進(jìn)行的開(kāi)發(fā)設(shè)計(jì)過(guò)程中,也是嚴(yán)格按照這些原則進(jìn)行的??蓴U(kuò)展性原則:在系統(tǒng)的規(guī)劃、設(shè)計(jì)和實(shí)現(xiàn)中,充分考慮未來(lái)業(yè)務(wù)的發(fā)展和管理的變化。可用性原則:應(yīng)用軟件系統(tǒng)對(duì)硬件的要求不能脫離實(shí)際;同時(shí),在操作上應(yīng)具有友善的人機(jī)界面,盡量降低應(yīng)用系統(tǒng)對(duì)業(yè)務(wù)人員的技術(shù)要求;在系統(tǒng)的維護(hù)上,目標(biāo)系統(tǒng)應(yīng)使系統(tǒng)管理員方便地管理數(shù)據(jù)中心的數(shù)據(jù)、前后端的應(yīng)用程序以各底層支撐系統(tǒng)。4.1.2系統(tǒng)設(shè)計(jì)目標(biāo)印染企業(yè)的三大特點(diǎn)在于:用工多,設(shè)備多,工序多,印染行業(yè)的生產(chǎn)特點(diǎn)可以表現(xiàn)為連續(xù)化、多機(jī)臺(tái)、半自動(dòng)化操作,影響產(chǎn)品質(zhì)量的四大因素為原料、設(shè)備、工藝、人員,而市場(chǎng)需求也在朝著產(chǎn)品變化快、小批量、多品種的方向發(fā)展。為了使印染企業(yè)能夠跟上時(shí)代的發(fā)展,適應(yīng)多變的市場(chǎng),僅僅依靠人力已不足以推動(dòng)印染企業(yè)的發(fā)展,所以建立印染企業(yè)資源信息化管理是勢(shì)在必行的。本系統(tǒng)的總體目標(biāo)是作為印染企業(yè)資源計(jì)劃(ERP)整體規(guī)劃的重要組成部分進(jìn)行分析和設(shè)計(jì),充分利用計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、傳輸技術(shù)、數(shù)據(jù)庫(kù)技術(shù)等,實(shí)現(xiàn)一個(gè)商品采購(gòu)、產(chǎn)品銷售和資金管理相結(jié)合、功能強(qiáng)大、操作便利的印染企業(yè)進(jìn)銷存管理系統(tǒng)。系統(tǒng)需要建立染廠物料需求掌控流程:根據(jù)印染企業(yè)需求,生成原料采購(gòu)單,原料包括染料、胚布等。同時(shí)企業(yè)根據(jù)市場(chǎng)情況出售加工好的布料等產(chǎn)品,根據(jù)情況生成銷售單。系統(tǒng)要確保信息通暢,減少中間環(huán)節(jié),優(yōu)化管理流程。通過(guò)集中式管理,保證系統(tǒng)的正常運(yùn)行,隨時(shí)為管理層提供準(zhǔn)確、可靠的統(tǒng)計(jì)信息,同時(shí)力求兼顧系統(tǒng)的通用性、應(yīng)用的廣泛性、穩(wěn)定性和可移植性,設(shè)定不同訪問(wèn)權(quán)限,既保證系統(tǒng)及數(shù)據(jù)的完整和安全,又整合了企業(yè)的所有商務(wù)活動(dòng),為實(shí)現(xiàn)企業(yè)信息化奠定基礎(chǔ)。4.1.3系統(tǒng)的體系結(jié)構(gòu)本系統(tǒng)以計(jì)算機(jī)局域網(wǎng)和網(wǎng)絡(luò)間的遠(yuǎn)程通信為核心,面對(duì)大量繁雜的媒體信息,為提高數(shù)據(jù)傳輸效率,采用B/S體系結(jié)構(gòu)實(shí)現(xiàn)用戶端與服務(wù)器端的動(dòng)態(tài)交互。與傳統(tǒng)的C/S結(jié)構(gòu)相比,在這種由表示層(Browser)、功能層(WebServer)和數(shù)據(jù)庫(kù)服務(wù)層組成的三層結(jié)構(gòu)中,數(shù)據(jù)計(jì)算與數(shù)據(jù)處理集中在功能層。由于功能層的服務(wù)器性能容易提高,故可以很好地滿足用戶的需求;客戶端免維護(hù),只需完成數(shù)據(jù)的錄入與呈現(xiàn),其他邏輯操作均在服務(wù)器上完成,Web與數(shù)據(jù)庫(kù)之間實(shí)現(xiàn)信息的動(dòng)態(tài)交互。每個(gè)用戶對(duì)于進(jìn)銷存管理系統(tǒng)來(lái)說(shuō)都是分散的遠(yuǎn)程客戶端,通過(guò)Internet網(wǎng)絡(luò)的站點(diǎn)啟動(dòng)該系統(tǒng)后都可作為一個(gè)終端,通過(guò)WWW服務(wù)器(HTTP)提供服務(wù)訪問(wèn)企業(yè)網(wǎng)站。對(duì)于在每個(gè)站點(diǎn)(Browser端)進(jìn)入該系統(tǒng)的用戶,將顯示出企業(yè)系統(tǒng)的登錄界面,登錄界面業(yè)務(wù)包括員工注冊(cè)、員工登錄,登錄成功可直接進(jìn)入系統(tǒng),根據(jù)不同的權(quán)限進(jìn)行不同的操作。管理人員登錄后就可以進(jìn)行所有的操作。4.1.4數(shù)據(jù)流圖頂層數(shù)據(jù)流圖供貨商:供貨商原料退貨單單采購(gòu)訂單 原料退貨單單采購(gòu)訂單 查詢?nèi)藛T查詢?nèi)藛T印染進(jìn)銷存管理系統(tǒng)操作人員印染進(jìn)銷存管理系統(tǒng)操作人員 各類表單 各類表單產(chǎn)品退貨單產(chǎn)品訂單產(chǎn)品退貨單產(chǎn)品訂單客戶客戶圖4-1頂層數(shù)據(jù)流圖4.2系統(tǒng)功能模塊根據(jù)在需求階段,所做的需求分析的結(jié)果,整個(gè)系統(tǒng)被分解成為五個(gè)功能模塊。分別是:基礎(chǔ)設(shè)置模塊、系統(tǒng)管理模塊、商品采購(gòu)模塊、產(chǎn)品銷售模塊、物品加工處理模塊。系統(tǒng)功能結(jié)構(gòu)圖如圖4-2:印染企業(yè)進(jìn)銷存系統(tǒng)印染企業(yè)進(jìn)銷存系統(tǒng)基本信息設(shè)置商品采購(gòu)產(chǎn)品銷售物品加工管理系統(tǒng)設(shè)置商品信息供應(yīng)商信息商品采購(gòu)商品退貨產(chǎn)品銷售客戶退貨加工入庫(kù)加工出庫(kù)管理員信息管理用戶信息管理產(chǎn)品信息客戶信息倉(cāng)庫(kù)信息員工信息增、刪、改、查原料增、刪、改、查供貨商增、刪、改、查產(chǎn)品增、刪、改、查客戶增、刪、改、查倉(cāng)庫(kù)增、刪、改、查員工增、刪、改、查采購(gòu)單以及付款單增、刪、改、查退貨單增、刪、改、查原料以及半成品增、刪、改、查原料以及成品查看、修改用戶密碼以及權(quán)限查看、修改個(gè)人信息增、刪、改、查銷售單以及收款單增、刪、改、查退貨單圖4-2系統(tǒng)功能結(jié)構(gòu)圖4.3數(shù)據(jù)庫(kù)設(shè)計(jì)4.3.1數(shù)據(jù)庫(kù)設(shè)計(jì)原則構(gòu)建基于JSP的進(jìn)銷存系統(tǒng),數(shù)據(jù)庫(kù)設(shè)計(jì)的基本原則是各個(gè)庫(kù)應(yīng)當(dāng)為它所支持的管理目標(biāo)服務(wù)。在設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí),應(yīng)當(dāng)重點(diǎn)考慮以下幾個(gè)因素:(1)數(shù)據(jù)庫(kù)必須層次分明,布局合理。(2)數(shù)據(jù)庫(kù)必須高度結(jié)構(gòu)化,保證數(shù)據(jù)的結(jié)構(gòu)化、規(guī)范化和標(biāo)準(zhǔn)化,這是建立數(shù)據(jù)庫(kù)和進(jìn)行信息交換的基礎(chǔ)。數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)應(yīng)該遵循國(guó)家標(biāo)準(zhǔn)和行業(yè)標(biāo)準(zhǔn),尤其要重視編碼的應(yīng)用。(3)在設(shè)計(jì)數(shù)據(jù)庫(kù)的時(shí)候,一方面要盡可能地減小冗余度,減小存儲(chǔ)空間的占用,降低數(shù)據(jù)一致性問(wèn)題發(fā)生的可能性,另一方面,還要考慮適當(dāng)?shù)娜哂啵蕴岣哌\(yùn)行速度和降低開(kāi)發(fā)難度。4.3.2數(shù)據(jù)庫(kù)E-R圖設(shè)計(jì)E-R模型的“聯(lián)系”用于刻畫實(shí)體之間的關(guān)聯(lián)。一種完整的方式是對(duì)局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類型,依據(jù)需求分析的結(jié)果,考察局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類型之間是否存在聯(lián)系。若有聯(lián)系,進(jìn)一步確定是1:N,M:N,還是1:1等。還要考察一個(gè)實(shí)體類型內(nèi)部是否存在聯(lián)系,兩個(gè)實(shí)體類型之間是否存在聯(lián)系,多個(gè)實(shí)體類型之間是否存在聯(lián)系,等等。利用E-R方法進(jìn)行數(shù)據(jù)庫(kù)的概念設(shè)計(jì),可分成三步進(jìn)行:首先設(shè)計(jì)局部E-R模式,然后把各局部E-R模式綜合成一個(gè)全局模式,最后對(duì)全局E-R模式進(jìn)行優(yōu)化,得到最終的模式,即概念模式。印染企業(yè)進(jìn)銷存管理系統(tǒng)E-R圖如下:MNN日常業(yè)務(wù)原料管理產(chǎn)品管理帳單管理倉(cāng)庫(kù)管理員工管理供貨商管理訂單信息支付信息供貨商查詢供貨商信息1采購(gòu)客戶管理訂單信息支付信息客戶查詢用戶管理修改密碼修改權(quán)限系統(tǒng)登出系統(tǒng)用戶用戶名密碼權(quán)限客戶信息系統(tǒng)管理N管理員信息真實(shí)姓名密碼帳號(hào)管理管理銷售業(yè)務(wù)MNM1NMNN日常業(yè)務(wù)原料管理產(chǎn)品管理帳單管理倉(cāng)庫(kù)管理員工管理供貨商管理訂單信息支付信息供貨商查詢供貨商信息1采購(gòu)客戶管理訂單信息支付信息客戶查詢用戶管理修改密碼修改權(quán)限系統(tǒng)登出系統(tǒng)用戶用戶名密碼權(quán)限客戶信息系統(tǒng)管理N管理員信息真實(shí)姓名密碼帳號(hào)管理管理銷售業(yè)務(wù)MNM1N圖4-3印染企業(yè)進(jìn)銷存管理系統(tǒng)E-R圖4.3.3數(shù)據(jù)庫(kù)表單的設(shè)計(jì)本系統(tǒng)選用MySql數(shù)據(jù)庫(kù)來(lái)進(jìn)行數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì),根據(jù)系統(tǒng)的實(shí)際需求,主要包含以下幾個(gè)數(shù)據(jù)表:原料表單如表4-1所示:表4-1原料表單(wuping)字段名字段類型字段約束字段說(shuō)明idint(10)主鍵原料IDbhvarchar(20)NOTNULL原料編號(hào)typevarchar(10)原料類型namevarchar(20)原料名稱numInt(12)原料數(shù)量dwvarchar(10)原料單位djfloat原料單價(jià)cdvarchar(100)原料產(chǎn)地ckIdint(10)NOTNULL庫(kù)存ID采購(gòu)表單如表4-2所示:表4-2采購(gòu)單(buyList)字段名字段類型字段約束字段說(shuō)明idint(10)主鍵采購(gòu)單IDdjbhvarchar(20)NOTNULL單據(jù)編號(hào)ghs_idint(10)NOTNULL供貨商IDcgy_idint(10)NOTNULL采購(gòu)員IDoperatIdint(10)NOTNULL操作員IDcg_datedate采購(gòu)日期beizhutext備注說(shuō)明采購(gòu)明細(xì)表單如表4-3所示:表4-3采購(gòu)單明細(xì)表(buymingxi)字段名字段類型字段約束字段說(shuō)明idint(10)主鍵采購(gòu)單明細(xì)IDdjbhvarchar(20)NOTNULL單據(jù)編號(hào)wpIdint(10)NOTNULL物品IDnumint(12)物品數(shù)量jefloat物品金額djfloat物品單價(jià)ckIdint(10)NOTNULL倉(cāng)庫(kù)ID付款單據(jù)表如表4-4所示:表4-4付款單據(jù)(fkdj)字段名字段類型字段約束字段說(shuō)明idint(10)主鍵付款單據(jù)IDdibhvarchar(10)NOTNULL編號(hào)fkkhIdint(10)NOTNULL供貨商IDfkjefloat付款總金額yfjefloat已付金額operatIdint(10)NOTNULL操作人fkdatedate付款日期fkfsvarchar(10)付款方式cgIdint(10)NOTNULL采購(gòu)單ID供貨商表單如表4-5所示:表4-5供貨商表(ghs)字段名字段類型字段約束字段說(shuō)明idint(10)主鍵供貨商IDghs_bhvarchar(20)NOTNULL編號(hào)ghs_namevarchar(20)供貨商名稱ghs_addressvarchar(40)供貨商地址ghs_phonevarchar(20)供貨商電話ghs_emailvarchar(20)供貨商電子郵箱ghs_CompanyNamevarchar(40)供貨商公司名稱倉(cāng)庫(kù)表如表4-6所示:表4-6倉(cāng)庫(kù)表單(ck)字段名字段類型字段約束字段說(shuō)明idint(10)主鍵倉(cāng)庫(kù)IDckbhvarchar(20)NOTNULL倉(cāng)庫(kù)編號(hào)ck_namevarchar(20)倉(cāng)庫(kù)名稱ck_fzrvarchar(20)倉(cāng)庫(kù)主管原料退貨單如表4-7所示:表4-7原料退貨單(thlist)字段名字段類型字段約束字段說(shuō)明idint(10)主鍵原料退貨單IDdjbhvarchar(20)NOTNULL編號(hào)ghs_idint(10)NOTNULL供貨商IDcgy_idint(10)NOTNULL采購(gòu)員IDoperatIdint(10)NOTNULL操作員IDth_datedate退還時(shí)間fkfsvarchar(10)付款方式beizhutext備注說(shuō)明原料退貨明細(xì)單如表4-8所示:表4-8原料退貨明細(xì)單(thmingxi)字段名字段類型字段約束字段說(shuō)明idint(10)主鍵退貨明細(xì)IDdjbhvarchar(20)NOTNULL編號(hào)wpIdint(10)NOTNULL物品IDnumint(12)物品數(shù)量djflaot物品單價(jià)jeflaot物品金額用戶表如4-9所示:表4-9用戶表(loginperson)字段名字段類型字段約束字段說(shuō)明idint(10)主鍵用戶IDnamevarchar(20)NOTNULL名稱passwordvarchar(10)NOTNULL密碼typevarchar(10)NOTNULL類型codevarchar(20)NOTNULL帳號(hào)由于銷售表單與采購(gòu)表單類似,所以就不一一列出了。4.4本章小結(jié)本章分析了印染企業(yè)進(jìn)銷存管理系統(tǒng)的應(yīng)用需求,設(shè)計(jì)了系統(tǒng)的數(shù)據(jù)庫(kù)結(jié)構(gòu),并根據(jù)需求對(duì)系統(tǒng)功能進(jìn)行了劃分和細(xì)化。數(shù)據(jù)庫(kù)設(shè)計(jì)是建立數(shù)據(jù)及其應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開(kāi)發(fā)和建設(shè)中的核心技術(shù),建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù)。要設(shè)計(jì)出符合本系統(tǒng)具體應(yīng)用要求的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),就必需實(shí)際與用戶密切結(jié)合,進(jìn)行具體的深入的了解。第5章系統(tǒng)實(shí)現(xiàn)5.1編碼實(shí)現(xiàn)原則為了提供程序的可靠性、可讀性、可修改性、可維護(hù)性、可繼承性和一致性,在系統(tǒng)實(shí)現(xiàn)中,有必要按照一定的原則編寫程序代碼。實(shí)體一律寫為Entity,業(yè)務(wù)邏輯處理一律寫在DAO中。5.2系統(tǒng)模塊的設(shè)計(jì)與實(shí)現(xiàn)5.2.1系統(tǒng)設(shè)置管理模塊的設(shè)計(jì)與實(shí)現(xiàn)用戶首先通過(guò)登錄頁(yè)面進(jìn)行登錄,才能進(jìn)入系統(tǒng)首頁(yè)。如圖5-1是登錄頁(yè)面。用戶可在此進(jìn)行注冊(cè),本系統(tǒng)目前的用戶為企業(yè)的員工,用戶剛注冊(cè)時(shí)他的權(quán)限都是普通用戶,只有系統(tǒng)管理員同意才能對(duì)用戶開(kāi)放權(quán)限。當(dāng)用戶登錄成功后,用戶信息會(huì)保存在session中,并用來(lái)判斷用戶的權(quán)限圖5-1登錄首頁(yè)用戶登錄檢測(cè)的代碼如下:Stringid=request.getParameter("id");//獲取用戶帳號(hào)Stringpassword=request.getParameter("password");//獲取用戶密碼LoginDAOlp=newLoginDAO();//實(shí)例化對(duì)象if(lp.checkAccount(id,password,request)){//判斷密碼與帳號(hào)是否存在于數(shù)據(jù)庫(kù)中response.sendRedirect("../main/index.jsp");//是,則登錄成功進(jìn)入系統(tǒng)首頁(yè)}else{response.sendRedirect("loginout.jsp");//否,則登錄不成功。}checkAccount(id,password,request)方法用來(lái)檢測(cè)用戶是否存在,并且還能把用戶信息存到session中,它的代碼如下:LoginHeadentity=newLoginHead();//實(shí)例化對(duì)象conn.openConnection();//數(shù)據(jù)庫(kù)連接query1="select*fromloginpersonwherecode='"+id+"'andpassword='"+password+"'";//sql語(yǔ)句ResultSetrs1=conn.executeQuery(query1);//執(zhí)行sql語(yǔ)句if(rs1.next()){//如果在數(shù)據(jù)庫(kù)中存在,則獲取這些值 entity.code=id; entity.password=password; entity.id=rs1.getString("id"); =rs1.getString("name");entity.type=rs1.getString("type");}HttpSessionsession=req.getSession(true);//獲取會(huì)話對(duì)象session.setAttribute("userInfo",entity);//將用戶信息保存到session中系統(tǒng)根據(jù)type來(lái)判斷登錄用戶是否為管理員,如果type值為admin則該用戶為管理員。管理員的頁(yè)面如圖5-2所示:5-2管理員頁(yè)面從圖上可以看出管理員擁有修改用戶密碼以及權(quán)限的功能,其頁(yè)面如圖5-3所示,它的功能代碼為:<%Stringcode=request.getParameter("code");//獲取帳號(hào)Stringnewpsd=request.getParameter("newpsd");//獲取新的密碼Stringtype=request.getParameter("type");//獲取用戶類型Stringtype1="common";if("1".equals(type)){type1="admin";//如果type值為1,則修改type類型為管理員}LoginDAOld=newLoginDAO();//實(shí)例化對(duì)象Stringflag=ld.editPsdAndType(code,newpsd,type1);//修改密碼與權(quán)限的方法,并返回一個(gè)String類型的值//判斷是否修改成功if("true".equals(flag)){%><script>alert("修改成功!");//JavaScript,用來(lái)提示用戶是否修改成功</script><%}else{%><script>alert("修改失敗!");</script><%}%><script>window.close();//關(guān)閉窗口</script>5-3修改密碼與權(quán)限界面5.2.2基礎(chǔ)信息管理模塊的設(shè)計(jì)與實(shí)現(xiàn)基礎(chǔ)信息管理模塊主要有六個(gè)子模塊,不過(guò)它們的功能大都相似,因此接下來(lái)主要介紹下商品信息管理子模塊,其圖如5-4所示:5-4商品信息管理界面其增加商品功能的代碼為://獲取商品信息Stringwpbh=request.getParameter("wpbh");//獲取商品信息WuPingDaowpDao=newWuPingDao();//實(shí)例化對(duì)象wpDao.saveWp(wpbh,wpName,wptype,dw,dj,num,cd,ckId);//保存商品信息response.sendRedirect("spxx.jsp");//返回商品信息管理頁(yè)面其刪除商品功能代碼為:Stringid=request.getParameter("id");//獲取商品IdStringPage=request.getParameter("page");//獲取商品在分頁(yè)顯示中的頁(yè)碼WuPingDaowpDao=newWuPingDao();//實(shí)例化對(duì)象wpDao.deletWp(id);//根據(jù)商品Id刪除商品response.sendRedirect("spxx.jsp?page="+Page);//返回商品信息管理頁(yè)面商品修改的頁(yè)面如圖5-5所示:圖5-5商品修改頁(yè)面修改數(shù)據(jù)后,點(diǎn)擊保存按鈕,就可以保存修改的數(shù)據(jù)。其代碼為://獲取修改后的商品信息Stringid=request.getParameter("id");//獲取修改后的商品信息WuPingDaowpDao=newWuPingDao();//實(shí)例化對(duì)象wpDao.editWp(id,wp_bh,wp_name,wp_type,dw,dj,wp_num,wp_cd,ckId);//修改商品信息response.sendRedirect("spxx.jsp?page="+Page);//返回商品信息管理頁(yè)面5.2.3商品采購(gòu)模塊的設(shè)計(jì)與實(shí)現(xiàn)商品采購(gòu)頁(yè)面如圖5-6:圖5-6商品采購(gòu)頁(yè)面用戶通過(guò)此界面對(duì)采購(gòu)物品進(jìn)行管理,通過(guò)“新增”選項(xiàng)把物品錄入到數(shù)據(jù)庫(kù)中。頁(yè)面的第一行有一個(gè)“查找”選項(xiàng),用戶可以依據(jù)不同的字段條件來(lái)搜索與該字段相關(guān)的采購(gòu)單,非常方便、靈活。其在頁(yè)面的查看功能的查詢條件代碼如下:<tdheight="100%">字段名:<selectsize="1"name="chakan"width="20"><optionvalue="1"<%if("1".equals(chakanStatusValue)) out.println("selected");%>>顯示全部</option> <optionvalue="2"<%if("2".equals(chakanStatusValue)) out.println("selected");%>>單據(jù)編號(hào)</option> <optionvalue="3"<%if("3".equals(chakanStatusValue)) out.println("selected");%>>供方名稱</option> <optionvalue="4"<%if("4".equals(chakanStatusValue)) out.println("selected");%>>操作人員</option> <optionvalue="5"<%if("5".equals(chakanStatusValue)) out.println("selected");%>>業(yè)務(wù)員</option></select></td><tdheight="100%">條件:<selectsize="1"name="condition"width="20"> <optionvalue="1"<%if("1".equals(condition)) out.println("selected");%>>等于</option> <optionvalue="2"<%if("2".equals(condition)) out.println("selected");%>>類似</option> </select></td>查詢功能的實(shí)現(xiàn)代碼為:BuyDAObd=newBuyDAO();//實(shí)例化對(duì)象intrecordNum=0;//給數(shù)據(jù)記錄數(shù)量賦初值Vectorvt=newVector();//建立一個(gè)Vector對(duì)象if(search!=null){//search變量不為空,則進(jìn)行條件搜索//查詢采購(gòu)單數(shù)目總數(shù)recordNum=bd.getRecordNum(chakanStatus,chakanValue,condition);//獲取所有的采購(gòu)信息,保存在Vector對(duì)象中vt=bd.getBuylistInfo(chakanStatus,chakanValue,condition);}用戶通過(guò)點(diǎn)擊采購(gòu)單頁(yè)面的“查看”連接,進(jìn)入到采購(gòu)明細(xì)單頁(yè)面,其圖如圖5-7所示:圖5-7商品采購(gòu)單明細(xì)頁(yè)面在此界面用來(lái)管理采購(gòu)物品的明細(xì)信息,用戶可以查找每一筆采購(gòu)的具體信息,若有差錯(cuò),可以進(jìn)行修改,方便用戶進(jìn)行管理。增加明細(xì)頁(yè)面如圖5-8:圖5-8增加明細(xì)頁(yè)面用戶通過(guò)點(diǎn)擊“新增”按鈕,彈出一列空行,在空行中的物品編號(hào)字段中,有一個(gè)圖片按鈕,點(diǎn)擊它之后,會(huì)彈出原料詳細(xì)單,用戶根據(jù)自己的需要選取物品,由于每次購(gòu)入的物品的價(jià)格可能會(huì)有所不同,所以用戶還可以進(jìn)行修改。采購(gòu)明細(xì)增加功能的代碼如下://獲取采購(gòu)單信息Stringdjbh=request.getParameter("djbh");//獲取采購(gòu)單信息BuyDAObd=newBuyDAO();//實(shí)例化對(duì)象//保存采購(gòu)明細(xì)信息bd.saveCgList(djbh,ghs_id,cgy_id,newFkfs,Fdate,newMemo,loginId);response.sendRedirect("cglist.jsp");//返回采購(gòu)信息管理頁(yè)面用戶對(duì)采購(gòu)信息錄入完畢后,通過(guò)點(diǎn)擊頁(yè)面的“付款”按鈕,進(jìn)入付款單據(jù)頁(yè)面,其圖如下:圖5-9付款單據(jù)頁(yè)面用戶在此頁(yè)面根據(jù)采購(gòu)的信息,錄入相應(yīng)的付款信息,物品的總金額系統(tǒng)會(huì)自動(dòng)進(jìn)行計(jì)算,使用戶不必再重新計(jì)算。方便了用戶的操作。提高了工作效率。5.2.4產(chǎn)品銷售模塊的設(shè)計(jì)與實(shí)現(xiàn)在系統(tǒng)中產(chǎn)品銷售的功能設(shè)計(jì)與原料采購(gòu)的功能設(shè)計(jì)基本上沒(méi)有很大的差別,只是在業(yè)務(wù)操作方面有些區(qū)別。產(chǎn)品銷售頁(yè)面如圖5-10所示:圖5-10產(chǎn)品銷售頁(yè)面在此頁(yè)面用戶可以對(duì)產(chǎn)品銷售情況進(jìn)行管理,其功能代碼與商品采購(gòu)模塊中的功能類似,所以就不一一展開(kāi)了。添加產(chǎn)品銷售明細(xì)單頁(yè)面如圖5-11所示:圖5-11添加產(chǎn)品銷售明細(xì)單頁(yè)面用戶通過(guò)點(diǎn)擊“新增”按鈕,彈出一列空行,在空行中有一個(gè)圖片按鈕,點(diǎn)擊它之后,會(huì)彈出產(chǎn)品詳細(xì)單,用戶根據(jù)自己的需要選取產(chǎn)品,由于每次銷售的產(chǎn)品的價(jià)格可能會(huì)有所不同,所以用戶還可以進(jìn)行修改。5.2.5加工處理模塊的設(shè)計(jì)與實(shí)現(xiàn)加工出庫(kù)信息頁(yè)面如圖5-12所示:圖5-12加工出庫(kù)信息頁(yè)面用戶可以在該頁(yè)面對(duì)物品加工信息進(jìn)行操作,用戶根據(jù)實(shí)際情況添加、修改、刪除記錄。加工出庫(kù)詳細(xì)信息單頁(yè)面如圖5-13所示:圖5-13加工出庫(kù)詳細(xì)信息頁(yè)面此頁(yè)面詳細(xì)的記錄物品加工所需要的物品,以及生成的產(chǎn)品的詳細(xì)信息,系統(tǒng)會(huì)自動(dòng)計(jì)算出成本,還可以給產(chǎn)品定價(jià),計(jì)算出產(chǎn)品的總價(jià)。其生成原料單以及產(chǎn)品單的代碼如下://獲取原料或者半成品或者成品的信息StringckId=request.getParameter("ckId");Stringbh=request.getParameter("jgId");//獲取原料或者半成品或者成品的信息JgrkDAOjdDao=newJgrkDAO();//實(shí)例化加工類對(duì)象WuPingDaowpDao=newWuPingDao();//實(shí)例化商品類對(duì)象CpkcDAOcpDao=newCpkcDAO();//實(shí)例化產(chǎn)品類對(duì)象if("1".equals(states)){//變量state為“1”時(shí),生成原料單jdDao.saveJgmx(bh,wpId,num,dj,ckId,states);//生成原料單wpDao.editWuPing2(wpId,num);//原料庫(kù)存減少}if("2".equals(states)){//變量state為“2”時(shí),生成半成品單jdDao.saveJgmx(bh,wpId,num,dj,ckId,states);//生成半成品單wpDao.editWuPing1(wpId,num);//半成品存入原料庫(kù)存,原料庫(kù)存增加}if("3".equals(states)){//變量state為“3”時(shí),生成成品單jdDao.saveJgmx(bh,wpId,num,dj,ckId,states);//生成成品單cpDao.editCp1(wpId,num);//成品存入產(chǎn)品庫(kù)存,產(chǎn)品庫(kù)存增加}response.sendRedirect("jgck_bh.jsp?id="+bh+"&page="+Page);//返回采購(gòu)單查看頁(yè)面。加工入庫(kù)與加工出庫(kù)大致相似,在此就不一一展開(kāi)。5.3本章小結(jié)本章主要對(duì)系統(tǒng)設(shè)計(jì)的具體實(shí)現(xiàn)做了一個(gè)簡(jiǎn)單的分析。每個(gè)界面的功能特點(diǎn)是既獨(dú)立,又互相聯(lián)系。這一部分的重點(diǎn)在于實(shí)現(xiàn)各窗體功能時(shí),即可以方便用戶使用,又可以對(duì)系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行多維的訪問(wèn)和維護(hù)。為實(shí)現(xiàn)這一目標(biāo)就要先有細(xì)致的設(shè)計(jì)構(gòu)想,然后進(jìn)行多方面的運(yùn)行調(diào)試,發(fā)現(xiàn)問(wèn)題的同時(shí)馬上解決問(wèn)題。所以窗體功能的實(shí)現(xiàn)是整個(gè)系統(tǒng)實(shí)現(xiàn)過(guò)程中的精華所在。第6章系統(tǒng)測(cè)試6.1軟件介紹該軟件主要目的是將印染企業(yè)進(jìn)銷存工作規(guī)范化、合理化,以適應(yīng)工作的需要。系統(tǒng)主要使用Java,JSP語(yǔ)言以及Tomcat服務(wù)器和MySql數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)。主要使用Eclipse、EditPlus、Dreamweaver工具開(kāi)發(fā)系統(tǒng)。6.2測(cè)試的作用和意義系統(tǒng)測(cè)試是管理信息系統(tǒng)的開(kāi)發(fā)周期中的一個(gè)十分重要環(huán)節(jié)。盡管在系統(tǒng)開(kāi)發(fā)周期的各個(gè)階段均采取了嚴(yán)格的技術(shù)審查,但依然難免會(huì)留下錯(cuò)誤,如果沒(méi)有在投入運(yùn)行前的系統(tǒng)測(cè)試階段被發(fā)現(xiàn)并糾正,問(wèn)題遲早會(huì)在運(yùn)行中暴露出來(lái),到那時(shí)要糾正錯(cuò)誤將會(huì)付出更大的代價(jià)。系統(tǒng)測(cè)試占用的時(shí)間、花費(fèi)的人力和成本占軟件開(kāi)發(fā)的很大比例。統(tǒng)計(jì)表明,開(kāi)發(fā)較大規(guī)模的系統(tǒng),系統(tǒng)測(cè)試的工作量大約占整個(gè)軟件開(kāi)發(fā)工作量的40%-50%。而對(duì)于一些特別重要的大系統(tǒng),測(cè)試的工作量和成本更大,甚至超過(guò)系統(tǒng)開(kāi)發(fā)其他各階段的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 24741:2024 EN Information technology - Biometrics - Overview and application
- 【正版授權(quán)】 ISO 24322:2024 EN Timber structures - Methods of test for evaluation of long-term performance - Part 1: Wood-based products in bending
- 【正版授權(quán)】 ISO 5284:2025 EN Conveyor belts - List of equivalent terms
- 【正版授權(quán)】 ISO 22915-1:2024 EN Industrial trucks - Verification of stability - Part 1: General
- 2025年度高新技術(shù)產(chǎn)業(yè)園區(qū)運(yùn)營(yíng)承包經(jīng)營(yíng)合同
- 生物技術(shù)課程導(dǎo)入計(jì)劃
- 各行各業(yè)主管的共性與差異計(jì)劃
- 校外美術(shù)實(shí)踐基地建設(shè)計(jì)劃
- 老年醫(yī)學(xué)科醫(yī)生工作計(jì)劃
- 2025年灌裝機(jī)系列設(shè)備合作協(xié)議書
- GB/T 8151.12-2012鋅精礦化學(xué)分析方法第12部分:銀量的測(cè)定火焰原子吸收光譜法
- GB/T 4026-1992電器設(shè)備接線端子和特定導(dǎo)線線端的識(shí)別及應(yīng)用字母數(shù)字系統(tǒng)的通則
- 馬工程教材《公共財(cái)政概論》PPT-第二章 公共財(cái)政職能
- GB/T 15242.1-1994液壓缸活塞和活塞桿動(dòng)密封裝置用同軸密封件尺寸系列和公差
- GB/T 13762-2009土工合成材料土工布及土工布有關(guān)產(chǎn)品單位面積質(zhì)量的測(cè)定方法
- 釀酒工藝教案
- 地形圖的識(shí)別及應(yīng)用涉密地圖的保密管理課件
- 腹腔鏡手術(shù)的基本操作技巧課件
- 制造計(jì)量器具許可考核通用規(guī)范JJF12462010宣貫
- 隧道運(yùn)營(yíng)養(yǎng)護(hù)管理手冊(cè)-下冊(cè)
- 2023年山東司法警官職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試筆試題庫(kù)及答案解析
評(píng)論
0/150
提交評(píng)論