企業(yè)進(jìn)銷存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
企業(yè)進(jìn)銷存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
免費(fèi)預(yù)覽已結(jié)束,剩余53頁可下載查看

下載本文檔

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

文檔簡介

1、畢業(yè)設(shè)計(jì)(論文)企業(yè)進(jìn)銷存管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名:宋澤誠指導(dǎo)教師:韓勝菊專業(yè)名稱:計(jì)算機(jī)科學(xué)與技術(shù)所在學(xué)院:信息工程學(xué)院2013年6月目錄隨著時(shí)代的發(fā)展,在現(xiàn)代化的商業(yè)管理中,需要處理的數(shù)據(jù)和信息越來越多。 大 量的數(shù)據(jù)和繁雜的數(shù)據(jù)項(xiàng)使得古老的手工處理數(shù)據(jù)的方式漸漸顯得力不從心。甚至有些信息處理的方式在手工處理的模式下是根本無法實(shí)現(xiàn)的,只能利用計(jì)算機(jī)的高運(yùn)行頻率來進(jìn)行迭代計(jì)算。本文的旨意在展示一個(gè)平臺(tái)的框架。 這個(gè)平臺(tái)為現(xiàn)代企業(yè)的進(jìn)、銷、存管理提供 了一個(gè)高度集成化的數(shù)據(jù)處理空間。本文所介紹的進(jìn)銷存管理系統(tǒng)為現(xiàn)代企業(yè)貿(mào)易過 程中的進(jìn)貨、銷售、庫存提供了一個(gè)自由靈活的模版。.通過對(duì)本系統(tǒng)的

2、進(jìn)一步業(yè)務(wù)擴(kuò) 展,可以使企業(yè)在管理中進(jìn)一步降低進(jìn)貨成本,減少盲目進(jìn)貨,合理分配倉庫,減少 資金占用并增強(qiáng)流通性,提升了企業(yè)的市場靈敏度,讓企業(yè)更具有市場競爭力。pse,采用了大中型企業(yè)常用的開源數(shù)據(jù)庫MySQL使用JSP技術(shù)開發(fā)前臺(tái)界面,JAVA語言進(jìn)行后臺(tái)業(yè)務(wù)處理。該系統(tǒng)界面簡單、操作方便,容易維護(hù)。關(guān)鍵詞:進(jìn)銷存管理系統(tǒng),S.S.H (Struts Hibernate ,Spring ),JAVA , JSPABSTRACTInv oici ng man ageme ntsystem is an importa nt part of bus in ess in formatio nman

3、ageme nt, facing the massive commodities in formati on, will be dealt with using human waste a lot of time, man power and material resources, and the accuracy of data operation.This paper presents an easy Invoicingmanagementsystem for the en tire process to form semi automatic process ing. The syste

4、m is desig nedto man age en terprises purchase, sales, inven tory, acco unts and other process. Usersthrough the use of this system can effectively reduce the bli nd for the en terprise topurchase, reduce purchase cost, reas on able control inventory, reduce capital to take upand enhance market sens

5、itivity, enhance the market competitive ness of en terprises.The content of graduati on desig n is to desig n and impleme nt a web based system,so the system is mainly to J2EE as a development base, the main use of struts2+spring+hiber nateand other frame used in comb in ati on, usingMyEclipse as a

6、development tool, using MYSQL as the database, with MacromediasDreamweaveras the in terface Ian dscap ing tools, the use of JAVA Ianguage development,page take the JSP dynamic homepage development tech no logy. This system in terface issimple, convenient operati on, easy maintenan ce.Keywords:Inv oi

7、c ingman ageme ntsystem ,Struts ,Hibernate ,Spri ng ,JAVA ,JSP第一章前言1.1研究目的和意義計(jì)算機(jī)技術(shù)的出現(xiàn),使人類的生產(chǎn)力有了質(zhì)的飛躍。計(jì)算機(jī)技術(shù)的出現(xiàn)促成了信 息集成化的高度發(fā)展, 由此進(jìn)入了知識(shí)的經(jīng)濟(jì)時(shí)代。 在知識(shí)經(jīng)濟(jì)時(shí)代, 管理信息系統(tǒng)MIS(Ma nageme nt In formationSystem)成為企業(yè)的生產(chǎn)和運(yùn)作不可或缺的管理工具。 管理信息系統(tǒng)是一門新的學(xué)科,它跨越了管理科學(xué)、系統(tǒng)工程學(xué)、運(yùn)籌學(xué)、統(tǒng)計(jì)學(xué)和 計(jì)算機(jī)科學(xué)等,在企業(yè)中起到了越來越重要的作用。我國的中小型企業(yè)眾多,它在我國的經(jīng)濟(jì)發(fā)展中占有重要的地位。

8、我國的中小企業(yè)數(shù)量多、分布廣、行業(yè)跨度大。 它面臨著國內(nèi)大型生產(chǎn)企業(yè)以及國外進(jìn)口商品和服務(wù)的嚴(yán)峻挑戰(zhàn)。國內(nèi)的大型國企央企及外資企業(yè)有著國內(nèi)中小企業(yè)沒有的大量的資金、豐富的管理經(jīng)驗(yàn)、先進(jìn)的技術(shù)手段和雄厚的政治資源。而且國內(nèi)的大型國企央企及外資企業(yè)已經(jīng)將類似于ERP這樣的信息管理系統(tǒng)應(yīng)用在實(shí)際生產(chǎn)中。 現(xiàn)狀對(duì)于中小企業(yè)的競爭非常不利。 推出這樣一套 集成化程度高,擴(kuò)展自由靈活的進(jìn)銷存管理系統(tǒng),比較符合中小企業(yè)的需求。較短地 開發(fā)周期降低了開發(fā)成本,也降低了中小企業(yè)信息化管理的費(fèi)用。在市場經(jīng)濟(jì)中,銷售是企業(yè)運(yùn)作的重要環(huán)節(jié)之一?,F(xiàn)在的大部分企業(yè)銷售網(wǎng)絡(luò)廣,分布在各個(gè)省市之間,傳統(tǒng)的人工傳遞信息顯然已經(jīng)

9、不適合這個(gè)時(shí)代的經(jīng)濟(jì)發(fā)展。本課題通過先進(jìn)的技術(shù)手段把進(jìn)銷存管理系統(tǒng)引入現(xiàn)代企業(yè)的信息管理中,通過技術(shù)手段把企業(yè)每天產(chǎn)生的大量抽象數(shù)據(jù)轉(zhuǎn)化為直觀可見的信息,為企業(yè)的決策者提供了真 實(shí)可靠的決策依據(jù)。1.2國內(nèi)外研究現(xiàn)狀國外目前做的進(jìn)銷存管理系統(tǒng),雖然現(xiàn)在產(chǎn)品都已經(jīng)相對(duì)成熟,(國外情況具體化)但是由于中西文化的差異的存在,進(jìn)銷存管理系統(tǒng)中的財(cái)務(wù)管理等模塊根本無法 在企業(yè)中使用。國外的財(cái)務(wù)管理流程跟國內(nèi)的差距很大。比如說,在國外的財(cái)務(wù)管理中應(yīng)收賬款和增值稅發(fā)票是放在一起進(jìn)行管理的,但是在國內(nèi),絕大部分企業(yè)都是先產(chǎn)生應(yīng)收的帳款,然后再進(jìn)行開票。而且,有時(shí)候需要把幾筆應(yīng)收的帳款合在一起進(jìn) 行增值稅發(fā)票開

10、票。如果把增值稅發(fā)票納入營收賬款進(jìn)行管理的話,財(cái)務(wù)人員便無法對(duì)財(cái)務(wù)流程進(jìn)行正確操作。而且很多稅務(wù)報(bào)表有由國家財(cái)務(wù)稅務(wù)部門的統(tǒng)一標(biāo)準(zhǔn)。根據(jù)目前從網(wǎng)上可以查得到的信息顯示,目前國內(nèi)存在的進(jìn)銷存管理系統(tǒng)花樣繁 多。比如美萍商業(yè)進(jìn)銷存管理系統(tǒng)9.7,其中包含有商品銷售管理系統(tǒng),庫存管理系(倉庫管理系統(tǒng))。系統(tǒng)界面簡潔,操作簡單,用戶可以輕松上手。由于系統(tǒng)基于C/S結(jié)構(gòu),大量的冗余數(shù)據(jù)存儲(chǔ)在本地,數(shù)據(jù)無法得到實(shí)時(shí)得更新,而且無論從數(shù)據(jù) 的角度還是版本升級(jí)的角度來講,本地更新的代價(jià)都相對(duì)較大。1.3研究內(nèi)容和方法研究內(nèi)容:如何建立運(yùn)行web上的項(xiàng)目,也就是如何熟悉MyEcpIies。如何架設(shè)可以解析web

11、內(nèi)容的服務(wù)器,并將web項(xiàng)目發(fā)布到服務(wù)器上。研究方法:查找資料,熟悉MyEcpIies的使用,如何創(chuàng)建基于web的項(xiàng)目,如何架設(shè)Tomcat服務(wù)器,如何把基于web的項(xiàng)目發(fā)布到Tomcat服務(wù)器上。本系統(tǒng)實(shí)現(xiàn)的對(duì)各種繁多商品信息的增、刪、改、查的功能,完全滿足的企業(yè)的 日常需求。系統(tǒng)最大限度地實(shí)現(xiàn)了易使用性、易維護(hù)性。系統(tǒng)運(yùn)行穩(wěn)定,安全可靠。界面簡潔友好,操作簡單靈活。實(shí)施規(guī)范的進(jìn)、銷、存一體化業(yè)務(wù)管理。強(qiáng)大的查詢分析功能。靈活、細(xì)分的權(quán)限控制功能(待實(shí)現(xiàn))。本系統(tǒng)是一款將進(jìn)貨、銷售、庫存進(jìn)行一體化管理的系統(tǒng)。由供應(yīng)商管理、商品管理、入庫管理、庫存管理、銷售管理、款項(xiàng)管理和系統(tǒng)管理(待實(shí)現(xiàn))等

12、模塊組成。第二章系統(tǒng)的開發(fā)環(huán)境及技術(shù)簡介2.1系統(tǒng)開發(fā)環(huán)境2.1.1 MyEclipse在開發(fā)本系統(tǒng)中所用到的開發(fā)的工具就是知名的Java項(xiàng)目的開發(fā)工具M(jìn)yEclipse。MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench,簡稱MyEclipse)是對(duì)Eclipse IDE的一種擴(kuò)展和延伸,利用MyEclipse,我們可以在對(duì)數(shù) 據(jù)庫和J2EE的開發(fā)與發(fā)布,以及在應(yīng)用程序服務(wù)器的整合當(dāng)中極大地提高系統(tǒng)的工 作效率。MyEclipse有完整的編碼、調(diào)試、測試和發(fā)布等單元,完美支持HTMLJSP、JavaScript各種語言,是一個(gè)功能十分強(qiáng)大的J2EE

13、集成開發(fā)環(huán)境。MyEclipse有7個(gè)結(jié)構(gòu)單元:J2EE模型,WEBT發(fā)工具,EJB開發(fā)工具,應(yīng)用程 序服務(wù)器連接器,J2EE項(xiàng)目部署支持,數(shù)據(jù)庫支持,MyEclipse幫助整合。這7個(gè)單元在Eclipse都有相應(yīng)的插件來實(shí)現(xiàn)這些功能。而在MyEclipse中,這7個(gè)單元被模塊化設(shè)計(jì),使得這7個(gè)單元都可以在不影響別的單元的情況下單獨(dú)進(jìn)行 擴(kuò)展和升級(jí)。換而言之,MyEclipse其實(shí)是Eclipse的一個(gè)插件,讓J2EE的開發(fā)環(huán)境集成性 更高,開發(fā)更加快捷高效的一個(gè)插件。2.1.2數(shù)據(jù)庫簡介數(shù)據(jù)庫使用的是MySQI開源數(shù)據(jù)庫。MySQL既然是一個(gè)開源的數(shù)據(jù)庫,那么顯而易見它代碼的可移植性很強(qiáng)。使

14、用C語言和C+編寫并且通過多種編譯器測試的MySQ支持AIX、FreeBSD HP-UX MacOSOpenBSDOS/2 Wrap Solaris、Windows等多種的操作系統(tǒng)。為多種編程語言提供 了API查詢。這些編程語言包括C、C+ Eiffel、Java、Perl、PHP Python、Ruby和Tel等。支持多線程并且充分利用CPU資源。對(duì)SQL語句的優(yōu)化可以有效提高查詢 速率,支持常見的多種編碼格式,既可以做為應(yīng)用程序在服務(wù)器發(fā)布又可以作為其他 軟件的一個(gè)庫,并且提供了多種多樣連接方式??梢蕴幚頁碛猩锨f條記錄的大型數(shù) 據(jù)庫。MySQL與其他的大型數(shù)據(jù)庫比如說Oracle、DB2

15、 SQL Server等相比,MySQ功 能有限、規(guī)模小,但是由于它開放源碼,成本低,而且對(duì)于中小企業(yè)來講它的功能綽 綽有余,受到了廣大中小企業(yè)用戶的歡迎。2.1.3 TomcatTomcat是一個(gè)輕量級(jí)的服務(wù)器程序,它運(yùn)行時(shí)占用很少的系統(tǒng)資源,有這很好 的擴(kuò)展性。并且任何一個(gè)程序員可以為它擴(kuò)展自己喜歡的功能,使得它可以被不斷地改進(jìn)和完善。Tomcat是JSP程序調(diào)試的首選服務(wù)器。它是Apache服務(wù)器的擴(kuò)展。當(dāng)配置好Apache服務(wù)器后便可以對(duì)HTML網(wǎng)頁進(jìn)行訪問并處理HTML網(wǎng)頁的請(qǐng)求。 但是它是獨(dú) 立運(yùn)行的服務(wù)器。 當(dāng)Tomcat配置正確的時(shí)候,Apache為HTMLK面服務(wù),而Tomc

16、at為JSP和Servlet容器服務(wù)。另外,Tomcat和IIS、Apache等Web服務(wù)器一樣,兼?zhèn)涮幚鞨TML頁面的強(qiáng)大功 能,并且它還是一個(gè)Servlet和JSP,獨(dú)立的Servlet容器是Tomcat服務(wù)器的默認(rèn)模式。2.2系統(tǒng)開發(fā)的思想與技術(shù)2.2.1 JSP技術(shù)與MVC莫式以及系統(tǒng)的基本框架本系統(tǒng)采用的是JSP技術(shù),是基于MVC莫式的開發(fā),使用的是S.S.H框架(struts2、spring、hibernate)來增加系統(tǒng)的開發(fā)速度。所謂的MVC模式是指Model-View-Controller的縮寫, 中文的翻譯為模式-視圖-控制器。程序本身就是用struts2和hibernat

17、e這兩個(gè)框架來實(shí)現(xiàn)模型層和控制器這兩層的代碼,jsp實(shí) 現(xiàn)視圖這一層的代碼。一般來說程序就是在數(shù)據(jù)庫和頁面之間起橋梁作用的,JSP頁面的請(qǐng)求先提交到action,再由傳遞到dao,再由dao進(jìn)行數(shù)據(jù)操作將所得值傳回到action,再由action將計(jì)算結(jié)果傳回到j(luò)sp頁面,action.主要處理來自jsp頁面的 請(qǐng)求,dao主要是處理和數(shù)據(jù)庫的交互操作,struts2主要是用在action,處理來自 于jsp頁面的請(qǐng)求,處理完請(qǐng)求之后跳轉(zhuǎn)回jsp頁面。Hibernate主要用在dao,包 括對(duì)數(shù)據(jù)庫的增、刪、改、查等操作,spring框架主要是用來控制程序的流程。2.2.2 S.S.H框架的優(yōu)

18、點(diǎn)S.S.H框架是J2EE應(yīng)用中struts2 + spring + hibernate三大免費(fèi)開源框架的綜合使用,它可以看成是一種工具,也可以是中間件。他是可以用來提高我們的開發(fā) 效率,提高我們的軟件產(chǎn)品的可維護(hù)性、可擴(kuò)展性乃至敏捷性的框架。他們里面有很多的優(yōu)秀的設(shè)計(jì)理念及模式的應(yīng)用。比如說,struts屬于MVC勺框架,關(guān)鍵是要了解MVC勺概念及大致的原理;而hibernate屬于ORM勺系統(tǒng),屬于數(shù)據(jù)持久層的解決 方案,同樣需要對(duì)ORM勺概念及原理有一個(gè)總體地了解。而spring屬于應(yīng)用程序的框架,其核心是IOC容器以及AOP在Spring中還集成了很多適用的東西,比如說對(duì)JDBC的封裝

19、、自己的MVC!架、對(duì)動(dòng)態(tài)語言的簡潔訪問等等,它由以下3個(gè)框架構(gòu)1.Struts2框架Struts2是Apache組織的一個(gè)開放源碼的項(xiàng)目。Struts2是一個(gè)比較好的MVC框架,提供了對(duì)開發(fā)MVC系統(tǒng)的底層的支持,它采用的主要的技術(shù)是Servlet,JSP和Custom tag library。其基本構(gòu)成如圖2.1所示。圖2.1 Struts框架工作流程2.Spring框架Spring提供對(duì)數(shù)據(jù)持久層、 業(yè)務(wù)事務(wù)層的支持, 是一個(gè)輕量級(jí)的容器。 提供了MVC莫式的WEB匡架, 封裝了一些常用的企業(yè)級(jí)服務(wù), 提供了一系列封裝接口。 整合 了各種各樣的框架, 類似于Struts、JSF、Hibe

20、rnate等。Spring框架由以下7個(gè)部分組成圖2.2 Spring框架構(gòu)成3.Hibernate框架Hibernate是一個(gè)開放源碼的ORM數(shù)據(jù)持久層的框架。Hibernate將關(guān)系型數(shù) 據(jù)庫實(shí)現(xiàn)了面向?qū)ο蟮乃枷?,它是一個(gè)將數(shù)據(jù)庫表實(shí)例化的工具,每一個(gè)數(shù)據(jù)持久化 類對(duì)應(yīng)一個(gè)數(shù)據(jù)庫表,表中的每行數(shù)據(jù)對(duì)應(yīng)一個(gè)實(shí)例。用戶只是需要直接使用面向?qū)?象的方法操作此數(shù)據(jù)持久化類的實(shí)例,即可以完成對(duì)數(shù)據(jù)庫表中數(shù)據(jù)的插入、刪除、 修改、讀取等操作。圖2.3 Hibernate框架第三章系統(tǒng)總體設(shè)計(jì)3.1需求分析3.1.1問題的提出一個(gè)企業(yè)賴以生存的根本是企業(yè)的產(chǎn)品價(jià)值,載體是產(chǎn)品。企業(yè)的采購、生產(chǎn)、銷售等主

21、要活動(dòng)全部是圍繞這產(chǎn)品進(jìn)行的。 當(dāng)企業(yè)還處于創(chuàng)業(yè)階段的時(shí)候,這些活動(dòng) 可以用手工或者簡單的文檔模式進(jìn)行記錄。隨著企業(yè)規(guī)模地?cái)U(kuò)大,這些活動(dòng)產(chǎn)生了大 量的信息,如果沿用創(chuàng)業(yè)初期記錄信息的方式, 工作量無疑是巨大的。大量重復(fù)的工 作增加的人力成本,而且出錯(cuò)率極高,誤差交大。企業(yè)在采購、生產(chǎn)、銷售活動(dòng)中目 前有如下幾個(gè)主要問題。1.科技時(shí)代的現(xiàn)代化產(chǎn)品往往需要多種的原料,不同規(guī)格的產(chǎn)品對(duì)原料規(guī)格的需求也不同,加之市場競爭的激烈,采購部門需要將供應(yīng)商信息進(jìn)行商務(wù)智能分析, 從而取得最優(yōu)采購方案。2.現(xiàn)代企業(yè)的產(chǎn)品往往經(jīng)過了十分繁復(fù)的工藝進(jìn)行制造,面向不同需求的客戶 有著各式各樣的規(guī)格。生產(chǎn)是一個(gè)中間環(huán)節(jié)

22、,生產(chǎn)數(shù)據(jù)承接著庫存、銷售的數(shù)據(jù),需 要實(shí)時(shí)更新。3.銷售部門需要實(shí)時(shí)了解庫存信息,方便調(diào)配貨物發(fā)送。銷售訂單需要發(fā)送給 采購部門,以便采購部門進(jìn)行原材料的制定。4.各個(gè)部門之間不能再進(jìn)行人工信息傳遞,這樣做既浪費(fèi)人力資源又容易產(chǎn)生 誤差。需要有統(tǒng)一的平臺(tái)統(tǒng)計(jì)信息,實(shí)時(shí)為采購部門更新供應(yīng)商和原材料信息,為生 產(chǎn)部門更新生產(chǎn)計(jì)劃,為銷售部門更新銷售訂單5.歷史記錄準(zhǔn)確的查詢,可以更準(zhǔn)確的分析和預(yù)測市場走向,為企業(yè)的決策領(lǐng)導(dǎo)提供有效地實(shí)時(shí)數(shù)據(jù)依據(jù)。6.商務(wù)智能擴(kuò)展,提供為數(shù)據(jù)進(jìn)行智能分析的接口。7.清晰的采購一生產(chǎn)一銷售企業(yè)活動(dòng)流程,讓各部門人員各司其職,保證信 息的準(zhǔn)確性、完整性和統(tǒng)一性。3.1

23、.2問題的分析將企業(yè)采購一生產(chǎn)一銷售的活動(dòng)流程轉(zhuǎn)變?yōu)檐浖鞒?,通過權(quán)限的分配和管理 讓各部門各司其職。具體流程如下。銷售部門推廣產(chǎn)品,下發(fā)產(chǎn)品訂單。然后由生產(chǎn)部門定制生產(chǎn)計(jì)劃,羅列出所需 原材料的清單,交給采購部門。采購部門根據(jù)原材料清單,對(duì)各個(gè)供應(yīng)商之間的情 況進(jìn)行分析,制定出采購計(jì)劃。采購事宜完成后記錄入庫,交由生產(chǎn)部門進(jìn)行生產(chǎn)。 生產(chǎn)計(jì)劃完成后將商品入庫,并對(duì)銷售部門做出提醒可以調(diào)配貨物。銷售部門從倉 庫中調(diào)配貨物后產(chǎn)生以訂單為索引的銷售記錄。3.2總體功能模塊本系統(tǒng)只有系統(tǒng)管理員這一個(gè)角色,系統(tǒng)管理員的功能主要包括供應(yīng)商管理、商品管理、入庫管理、庫存管理、銷售管理和款項(xiàng)的管理。總功能圖

24、如圖3-1所示。圖3-1.系統(tǒng)管理員功能需求分析3.3系統(tǒng)業(yè)務(wù)描述本系統(tǒng)中暫時(shí)只有系統(tǒng)管理員這一個(gè)角色。系統(tǒng)管理員可以進(jìn)行供應(yīng)商、商品、入庫、庫存、銷售款項(xiàng)等多種管理。用例圖如圖3-2所示圖3-2.系統(tǒng)業(yè)務(wù)用例圖第四章系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)4.1系統(tǒng)和數(shù)據(jù)庫的配置系統(tǒng)按照通用的B/S(瀏覽器、服務(wù)器)模式進(jìn)行設(shè)計(jì),如圖4-1所示。圖4-1.系統(tǒng)設(shè)計(jì)模式其中數(shù)據(jù)庫的設(shè)計(jì)在一個(gè)信息管理系統(tǒng)中非常重要,數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計(jì)直接影響了系統(tǒng)實(shí)現(xiàn)的效果和運(yùn)行的效率。 合理的設(shè)計(jì)可以保證數(shù)據(jù)庫執(zhí)行的效率, 保證其數(shù) 據(jù)的完整和統(tǒng)一。4.2概念模型設(shè)計(jì)概念模型設(shè)計(jì)指的是實(shí)體-聯(lián)系,即E-R圖。E-R方法是使用E-R圖

25、來描述顯示 世界,E-R圖包含三個(gè)基本組成成分:實(shí)體、聯(lián)系、屬性。它可以比較準(zhǔn)確地反映現(xiàn) 實(shí)世界的信息之間的聯(lián)系,直觀易懂,從概念設(shè)計(jì)上表示一個(gè)數(shù)據(jù)庫信息的組織狀況。本系統(tǒng)E-R圖如圖4-2所示。圖4-2.系統(tǒng)E-R圖4.3數(shù)據(jù)庫邏輯模型商品表(主鍵、商品是否刪除的標(biāo)志、商品號(hào)、商品名、關(guān)聯(lián)的供應(yīng)商ID)庫存表(主鍵、數(shù)量、關(guān)聯(lián)的商品ID)用戶表(主鍵、添加時(shí)間、密碼、用戶權(quán)限、真實(shí)姓名、用戶是否刪除標(biāo)志、用 戶名)進(jìn)貨表(主鍵、添加時(shí)間、訂單號(hào)、備注、進(jìn)貨價(jià)格、是否刪除、進(jìn)貨數(shù)量、是否付款狀態(tài)、關(guān)聯(lián)的商品ID)供應(yīng)商表(主鍵、供應(yīng)商是否刪除的標(biāo)志、聯(lián)系地址、聯(lián)系方式、供應(yīng)商名字)銷售表(主鍵

26、、添加時(shí)間、備注信息、價(jià)格、數(shù)量、付款狀態(tài)、銷售號(hào)、是否刪除銷售記錄的標(biāo)志、關(guān)聯(lián)的商品ID)4.4數(shù)據(jù)庫表結(jié)構(gòu)4-1.商品表名稱類型空備注id4-2.庫存表productlocBigi nt(20)kIn t(11)sha ngpinhaVarchar(25o5)sha ngpinnaVarchar(25me5)go ngyi ngshBigi nt(20)an gid主鍵商品是否刪除noyesyesyes名稱類型備注主鍵idBigi nt(20)no數(shù)量shulia ngIn t(11)no關(guān)聯(lián)的商品productidBigi nt(20)yesID,外鍵4-3.用戶表名稱類型空備注Bigi

27、 nt(20)主鍵iddatetimeno添加時(shí)間createtimeVarchar(255yes密碼)passwordIn t(11)yes用戶權(quán)限,0roleno表示系統(tǒng)管理員Varchar(255ture name)yes真實(shí)姓名userlockIn t(11)no除用戶是否刪user nameVarchar(255yes用戶名)4-4.進(jìn)貨表名稱類型空備注主鍵4-5.供應(yīng)商表名稱類型空備注iddatetimecreatetimeVarchar(255din gda nhao)infoVarchar(255jiage)jin huolockdoubleshulia ngIn t(11)s

28、tatusIn t(11)productidIn t(11)no訂單號(hào)yes備注yes進(jìn)貨價(jià)格yes是否刪除,0yes表示未刪除,1表no示刪除no進(jìn)貨數(shù)量no是否付款狀yes態(tài)關(guān)聯(lián)的商品IDBig int(20)Big int(20)添加時(shí)間Bigi nt(20)idIn t(11)no主鍵gongyin gshaVarchar(255供應(yīng)商是否n glockno)lia nxidizhi刪除yesVarchar(255聯(lián)系地址lia nxifa ngsyes)聯(lián)系方式hiVarchar(255yes供應(yīng)商名字min gzi)4-6.銷售表名稱類型空備注idBigi nt(20)no主鍵cr

29、eatetimedatetimeyes添加時(shí)間infoVarchar(255)yes備注信息jiagedoubleyes價(jià)格shulia ngIn t(11)no數(shù)量statusIn t(11)no付款狀態(tài),0表示未付款,1表xiaoshouhaoVarchar(255)yes示已付款xiaoshoulockIn t(11)no銷售號(hào)記錄的標(biāo)志,0表示未刪除,1表示刪除關(guān)聯(lián)的商品ID,外鍵4.5平臺(tái)數(shù)據(jù)表的設(shè)計(jì)在本平臺(tái)采用的數(shù)據(jù)庫是MySql數(shù)據(jù)庫。根據(jù)模塊的劃分,需要設(shè)計(jì)的數(shù)據(jù)表有6張,包括:供應(yīng)商表t_gongyingshang,進(jìn)貨表t_jinhuo,庫存表t_kucun,商品表t_pr

30、oduct,銷售表t_xiaoshou,用戶表t_user。供應(yīng)商表t_gongyingshang圖4-3.供應(yīng)商表建表語句為:CREATE TABLE t_g on gyi ngsha ng (id bigi nt(20) NOT NULL auto_i ncreme nt,gongyingshanglock int(11) NOT NULL,productidBigint(20)yes是否刪除銷售lia nxidizhi varchar(255) default NULL,lia nxifa ngshi varchar(255) default NULL,mi ngzi varchar(2

31、55) default NULL,PRIMARY KEY (id)ENGINES nn oDB DEFAULT CHARSET=utf8;進(jìn)貨表t_jinhuo圖4-4.進(jìn)貨表建表語句為:CREATE TABLE t_ji nhuo (id bigint(20) NOT NULL auto_increment,createtime datetime default NULL,din gda nhao varchar(255) default NULL,info varchar(255) default NULL,jiage double NOT NULL,jinhuolock int(11)

32、NOT NULL,shuliang int(11) NOT NULL,status int(11) NOT NULL,productid bigint(20) default NULL,PRIMARY KEY (id),KEY FK37BA29DEFB94BF2F (productid),CONSTRAINT FK37BA29DEFB94BF2F FOREIGN KEY (productid) REFERENCESt_product (id)ENGINE=I nn oDB DEFAULT CHARSET=utf8;庫存表t_kucun圖4-5.庫存表建表語句:CREATE TABLE t_ku

33、c un (id bigi nt(20) NOT NULL auto_i ncreme nt,shuliang int(11) NOT NULL,productid bigint(20) default NULL,PRIMARY KEY (id),KEY FK9EC6D0E7FB94BF2F (productid),CONSTRAINT FK9EC6D0E7FB94BF2F FOREIGN KEY (productid) REFERENCESt_product (id)ENGINE=I nn oDB DEFAULT CHARSET=utf8;商品表t_product圖4-6.商品表建表語句:C

34、REATE TABLE t_product (id bigi nt(20) NOT NULL auto_i ncreme nt,productlock int(11) NOT NULL,sha ngpin hao varchar(255) default NULL,sha ngpinn ame varchar(255) default NULL,gongyin gsha ngid bigi nt(20) default NULL,PRIMARY KEY (id),KEY FKA91FC0246F41F347 (go ngy in gsha ngid),CONSTRAINT FKA91FC024

35、6F41F347 FOREIGN KEY (gongyingshangid)REFERENCES t_go ngyi ngsha ng (id)ENGINES nn oDB DEFAULT CHARSET=utf8;銷售表t_xiaoshou圖4-7.銷售表建表語句:CREATE TABLE t_xiaoshou (id bigi nt(20) NOT NULL auto_i ncreme nt,createtime datetime default NULL,info varchar(255) default NULL,jiage double NOT NULL,shulia ng i nt

36、(11) NOT NULL,status int(11) NOT NULL,xiaoshouhao varchar(255) default NULL,xiaoshoulock int(11) NOT NULL,productid bigint(20) default NULL,PRIMARY KEY (id),KEY FKCA5A4DE5FB94BF2F (productid),CONSTRAINT FKCA5A4DE5FB94BF2F FOREIGN KEY (productid) REFERENCESt_product (id)ENGINE=I nn oDB DEFAULT CHARSE

37、T=utf8;用戶表t_user圖4-8.用戶表建表語句:CREATE TABLE t_user (id bigi nt(20) NOT NULL auto_i ncreme nt,createtime datetime default NULL,password varchar(255) default NULL,role i nt(11) NOT NULL,truen ame varchar(255) default NULL,userlock i nt(11) NOT NULL,user name varchar(255) default NULL,PRIMARY KEY (id)ENG

38、INES nn oDB DEFAULT CHARSET=utf8;第五章系統(tǒng)功能實(shí)現(xiàn)5.1程序的類圖5.1.1供應(yīng)商Gongyingshang類圖圖5-1.供應(yīng)商類對(duì)應(yīng)的程序代碼:public class Gongyingshang implements Serializableprivatestaticfinal long serialVersionUIDprivatelong id;privateStri ngmingzi ;privateStri nglia nxifa ngshi ;privateStri nglia nxidizhi ;privateint gongyingshang

39、lock ;publicint getGongyingshanglock() return gongyingshanglock ;public void setGongyingshanglock( int gongyingshanglock) this . gongyingshanglock = gongyingshanglock;5.1.2進(jìn)貨Jinhuo類圖圖5-2.進(jìn)貨類對(duì)應(yīng)的程序代碼:public class Jinhuo implements Serializableprivatestaticfinal long serialVersionUIDprivatelong idJpriv

40、ateProductproduct ;privatedoublejiage ;privateintshuliang ;privateDate createtime ;privateStri ngdin gda nhao;privateint status ;privateStri nginfo ;privateint jinhuolock ;publicint getJinhuolock() retur n jin huolock5.1.3庫存Kucun類圖圖5-3.庫存類 對(duì)應(yīng)的程序代碼:public class Kucun implements Serializable privatest

41、atic finallongserialVersionUIDprivatelong id ;private Product product ;private int shuliang ;IdGe neratedValue5.1.4商品Product類圖圖5-4.商品類對(duì)應(yīng)的代碼:public class Product implements Serializable private static final long serialVersionUIDprivate long id ;private String sha ngpinn ame ;private String sha ngpin

42、hao;private Gongyingshang gongyingshang ;private int productlock ;public int getProductlock() return productlock ;public void setProductlock( int productlock) this . productlock = productlock;Ma nyTo OneJoinColumnname=gongyingshangid)public Gongyingshang getGongyingshang() return gongyingshang ;publ

43、ic void setGongyingshang(Gongyingshang gongyingshang) this . gongyingshang = gongyingshang;5.1.5銷售Xiaoshou類圖圖5-5.銷售類對(duì)應(yīng)的代碼:public class Xiaoshou implements Serializableprivatestatic final long serialVersionUIDprivatelong id ;privateProduct product ;privatedouble jiage ;privateintshuliang ;privateDate

44、 createtime ;privateString xiaoshouhao;privateint status ;privateint xiaoshoulock ;privateString info ;public String getlnfo() return info ;public void setlnfo(String info) this .info = info;public int getXiaoshoulock() return xiaoshoulock ;public void setXiaoshoulock( int xiaoshoulock) this . xiaos

45、houlock = xiaoshoulock;public int getStatus() return status ;public void setStatus( int status) this . status = status;public String getXiaoshouhao() return xiaoshouhao;public void setXiaoshouhao(String xiaoshouhao) this . xiaoshouhao = xiaoshouhao;5.1.6用戶User類圖圖5-6.用戶類對(duì)應(yīng)的代碼:public class User implem

46、ents Serializableprivatestaticfinal long serialVersionUIDprivatelongid ;privateStringuser name;privateStringpassword;privateDate createtime ;privateStri ngtrue name;privateintuserlock ;privateintrole ; /public int getRole() return role ;public void setRole( int role) this . role = role;public int ge

47、tUserlock() return userlock ;public void setUserlock( int userlock) this . userlock = userlock;5.2程序的流程圖5.2.1供應(yīng)商模塊程序流程圖圖5-7.供應(yīng)商模塊程序流程圖5.2.2商品模塊程序流程圖圖5-8.商品模塊流程圖523用戶模塊程序流程圖圖5-9.用戶模塊流程圖524進(jìn)貨模塊程序流程圖圖5-10.進(jìn)貨模塊流程圖5.2.5銷售模塊程序流程圖圖5-11.銷售模塊流程圖5.2.6庫存模塊程序流程圖 圖5-12.庫存模塊流程圖5.3系統(tǒng)功能實(shí)現(xiàn)的主要框架5.3.1 S.S.H框架S.S.H框架就是

48、struts2 +spring +hibernate的簡稱,運(yùn)用3個(gè)框架的集成協(xié)作進(jìn)行使用,可以有效的提高程序員代碼編寫的效率,從而有效的降低項(xiàng)目開發(fā)的周期。5.3.2 hibernate配置文件vproperty name=proxool.pool_aliasDBPoovproperty name=proxool.xml proxool.xml vproperty n ame=c onnection .provider_classvproperty name=show_sql true true vproperty name=dialect vpropertyname=current_ses

49、sion_context_classthread vproperty name=update vmapp ing class =/vmapp ing class =/vmapp ing class =/vmapp ing class =/vmapp ing class =/vmapp ing class =/v/ sessi on-factory 這是Hibernate的配置文件,在該文件中vproperty name=proxool.xml proxool.xml 首先進(jìn)行的操作是加載了連接池的一個(gè)配置,就是加載了數(shù)據(jù)庫的連接信息,vproperty name=show_sql true t

50、rue 表示控制臺(tái)打印的SQL語句,并且對(duì)SQL語句進(jìn)行格式化表示當(dāng)前數(shù)據(jù)庫的語言是MYSQL都表示當(dāng)前數(shù)據(jù)庫建立起來的表和類之間的映射關(guān)系,比如vmappi ng class =/表示User類和t_user表之間的建立起來的對(duì)應(yīng)關(guān)系。533 struts配置文件vstruts vconstant name=value =UTF-8 / vpackage n ame=i ndex n amespace/ extends =struts-default index.jsp login.jsp $url $url v/action 這是struts的配置文件,該文件的作用主要起到來自JSP的請(qǐng)求

51、的跳轉(zhuǎn)分配的作用.該struts配置文件是個(gè)總的配置文件。534 spri ng配置文件Spring在本項(xiàng)目中主要用到了IOC的功能,就是把對(duì)象實(shí)例化vpropertyn ame=sessi onF actory vpropertyn ame=sessio nF actory 本段代碼是把DAO實(shí)例化的代碼,通過spring的IOC模式本段代碼是把ManageAction實(shí)例化的代碼,原理也是spring的IOC模式。5.4系統(tǒng)功能實(shí)現(xiàn)的主要模塊541登陸頁面圖5-13.登陸頁面登陸代碼:/用戶登錄操作:public String login() throws lOException Http

52、ServletRequest request = ServletActionContext.getRequest ();Stri ng user name = request.getParameter(username);String password = request.getParameter( password);User user = userDao.selectBea n( where user name = +user name + andpassword= +password + and userlock=0 );if (user!= null ) HttpSessi on se

53、ssi on = request.getSessi on();sessi on. setAttribute(ma nage, user);this .setUrl( index);return redirect ; else HttpServletResp onseServletActio nCon text.getResp on se();resp on se.setCharacterE ncodi ng(resp onseresponsegbk);.getWriter().print(vscript Ian guage=javascriptalert(用戶名或者賬號(hào)錯(cuò)誤);return n

54、 ull;本段代碼是程序的登陸代碼,首先從獲取從頁面輸入的用戶名和密碼,然后調(diào)用userDao.selectBean方法,從數(shù)據(jù)庫里取出該條記錄進(jìn)行判斷,如果該條記錄已經(jīng) 存在,則說明用戶登陸成功,同時(shí)把用戶信息存在session里面方便調(diào)用,如果記錄 為空,貝U跳轉(zhuǎn)到登陸頁面,同時(shí)提醒用戶錯(cuò)誤信息。542系統(tǒng)管理員主頁面圖5-14.系統(tǒng)管理員主頁面代碼如下:/程序入口操作public String index()HttpServletRequest request = ServletActionContext.getRequest ();if (request.getSession().ge

55、tAttribute(manage)=null )return success2;else retur n successl本段代碼是主頁面的后臺(tái)處理代碼,判斷用戶session的值是否為空,不為空則根據(jù)session的值的不同跳轉(zhuǎn)到不同的主頁,為空則跳轉(zhuǎn)到登陸界面。543商品管理主頁面圖5-15.商品管理主頁面代碼:/商品管理列表public String productlist() HttpServletRequest request = ServletActionContext.getRequest ();int currentpage = 1;int pagesize =20;if (

56、request.getParameter(pageNum)!= null )curre ntpage:Integer. parseInt (request.getParameter(pageNum);pagesize:Integer. parseInt (request.getParameter( numPerPage);Stri ng where = where productlock=0 order by id desc ;Stri ng where2 = where productlock=0 ;int total = productDao .selectBeanCount(where2

57、);request.setAttribute(list,productDao .selectBea nList(curre ntpage - 1) * pagesize, pagesize, where);request.setAttribute(totalCou nt , total);request.setAttribute(ps , pagesize);request.setAttribute(pn , currentpage);request.setAttribute(url, houtaimethod!productlist);this .setUrl( product/produc

58、tlist.jsp );return SUCCESS本段代碼是商品管理的主界面,可添加商品,更新商品和刪除商品等功能。通過productDao .selectBeanList(currentpage - 1)* pagesize, pagesize,where)來從數(shù)據(jù)庫中獲取商品的列表信息,最后通過this .setUrl( product/productlist.jsp );指定跳轉(zhuǎn)到的jsp頁面。544入庫管理主頁面圖5-16.入庫管理主頁面代碼:sb2.append( dingdanhao like %+dingdanhao+%);&! .equals(dingdanhao)s

59、b.append( dingdanhao like %+dingdanhao+%);sb.append(” and );sb2.append( and );/進(jìn)貨列表public String jinhuolist()throws Un supportedE ncod in gExcepti onHttpServletRequest request = ServletAct ionContext.getRequest ();Stri ng din gda nhao =request.getParameter(IIdingdanhao);Stri ng sha ngpinn ame =reque

60、st.getParameter(sha ngpinname);String gongyin gsha ng =request.getParameter(gongyingshang);Stri ng sha ngpin hao =request.getParameter(IIshangpinhao);Stri ng time1 = request.getParameter(time1II);String time2 = request.getParameter(time2II);Stri ngBuffer sb =n ewStringBuffer();sb.appe nd(” where );Strin gBuffer sb2 =n ew

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論