1、企业系统最终2论文宜宾职业技术学院毕业设计企业进销存管理系统的设计与实现系 部 电子信息工程系 专 业 名 称 计算机应用与维护 班 级 网络1081班 姓 名 龚 茂 利 学 号 200811624 指 导 教 师 唐 思 均 2010 年 09 月 25日企业进销存管理系统的设计与实现摘 要本进销存管理系统是一个基于Internet的应用管理系统。对于当前的企业进销存管理工作还有很多处于手工和半信息自动化的处理状态,一个完全信息自动化的进销存管路系统营运而生。整个系统界面美观、操作简便、灵活、实用、安全,能完成进货、销售、库存管理的全过程。由于此系统是基于Internet开发,所以企业单位
2、只需要具备访问Internet的条件即可在系统发布的站点上进行进销存的管理。在图形化的人机界面中完成日常的进销存管理工作。这样,一方面摆脱了时间和空间的限制,另一方面有效的解决了数据共享的问题。关键词:进货、销售、库存、管理目 录1 引 言 12 概 述 22.1 Java语言简介 22.2 JSP 简介 22.3 Tomcat简介 33 系统分析 43.1 需求分析 43.2 可行性分析 43.3 系统开发模式 43.4 系统开发工具及运行环境 54 系统总体设计 64.1 系统各模块功能规划 64.2 系统三层架构图 74.3 系统流程示意图 84.4 数据库的选用 94.5 数据连接池
3、94.6 系统主要用表 95 JavaBean编写 105.1 数据库连接 105.2 数据库操作 105.3 中文乱码处理 126 系统各功能模块设计 136.1 系统登录模块 136.2 系统主界面模块 146.3 基础信息管理模块 146.4 库存管理模块 176.5 商品销售模块 196.6 查询统计模块 206.7 往来管理模块 216.8 系统设置模块 22结束语 24致谢 25参考文献 26附录1 27企业进销存管理系统的设计与实现1 引 言当今世界,科学技术突飞猛进。计算机高效管理系统为代表的信息技术,以惊人的发展速度,迅速在各个领域运用,随着市场经济的发展,中小型企业之间的竞
4、争越来越激烈,迫切需要对内部资源进行整合优化、建立数据仓库,对客户资源、内部商业信息进行实时分析,充分管理,以达到降低成本,提高效率,扩大客户面的效果,来取得竞争优势。在企业管理中引进现代化的进销存管理软件是一种对内部资源喝外部资源进行整合的很好解决办法。实用进销存系统软件进行处理时,不仅能使企业方的劳动力成本大大降低,同时能使企业的管理更规范更合理,解决了企业中用于管理进出货以及销售,库存等众多繁琐、量大的工作而导致的:耗费人员过多,企业经营紊乱等众多问题。通过对小型企业的调查显示,对其销售管理,采购管理,库存管理进行全方位的了解分析,发现长期以来,很多小型企业销售业务一直用这最简单的人工管
5、理。企业物品的采购、库存、销售及核算等信息均使用手工管理,使得员工工作、量巨大、服务质量差、工作效率低。同时,由于对内部资源的反馈信息不能及时的处理,从而导致销售与内部资源管理脱节。最终造成企业在竞争处于不利的地位。这套进销存管理系统,目的就是为了处理一些小型企业销售和内部资源紊乱,低效的问题,使得在企业的日常经营及销售中,能够有迹可寻,随时提供企业内部资源信息,销售信息,减少不必要的劳动资本,从而使企业能够实现用最小的成本,获得最大的利润。2 概 述2.1 Java语言简介Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Jav
6、a实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面Java技术也不断更新。简单的说,Java具有以下的特性:简洁性、面向对象、分布式运算、健壮性、安全性、跨平台、可移植性。Java可以看做是一种真正的程序设计语言,也可以看做是一个完整的平台。作为一种程序语言,它简洁、面向对象、安全、健壮以及设用于Internet技术。而作为一个平台,它通过那些符合Sunday公司发布的标准APIs开发的应用,在操作系统、数据库、中间件
7、和其他第三方厂商提供的服务。Java的一些典型的应用有:GUI应用和Applets、分布式组件(EJB,RMI,CORBA等)、数据库以及数据库控制、Web服务器、消费设备和内置设备的应用(移动电话,PDAs,Smart卡,课携带摄像机)等。2.2 JSP 简介JSP是英文Java Server Pages的缩写,它是由Sunday公司首创的一种新型网页编程技术。JSP不但完全拥有Servlet的技术优点,而且JSP源码能过直接嵌入HTML之中,使得程序开发更为简化和快速。由于JSP技术是从Java编程语言中的Servlet技术扩展而来的,JSP当然也实现了Servlet所具有的动态页面与静态
8、页面的分离以及程序代码与硬件平台的无关性。JSP同当前主流的ASP、PHP网络编程语言相比,它具有以下几个优点:1.平台无关性:差不多所有的平台上,都可以见到一直的Java Servlet/JSP的Web Server/Application Server系统,它可以让用户在任意的环境下做开发,在任意的环境中做部署,在任意的环境中扩展功能,相比之下,ASP与PHP的局限性也是显而易见的。2.可移植性强:JSP继承了Java的一切特征,它使得JSP代码在一次编译之后,可以在任意的地方运行。3.运行效率搞:第一次请求一个JSP页面时,运行效率也许会比较低,但在此之后,JSP的运行效率比ASP、PH
9、P要高很多。4.组件的重用性:可重用的、跨平台的JavaBeans和EJB组件,为JSP程序的开发提供方便,我们可以将复杂的处理程序放到组件中,可以多次使用这些组件,极大的减少了在JSP页面中重写重复的代码。2.3 Tomcat简介Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。
10、因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是6.0。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。3 系统分析3.1 需求分析针对当前中小型企业的基本情况,要求系统需要满足以下要求:1. 由
11、于操作人员的计算机知识水平有限,因此要求系统具有良好的人机界面。2. 方便的数据查询功能,并支持多条件查询。3. 在各种单据中根据输入的基础数据自动计算金额,尽量减少人工干预。4. 对客户或供应商的往来账目进行有效管理,绝不存在假账、漏账、差账等情况。5. 通过计算机,能过直接查看仓库存储情况。6. 能过实时的对商品的价格进行调整。7. 对某一时间段内的某种商品的销售情况按数量货金额进行升序或降序排行。3.2 可行性分析通过计算机对企业进行全面的管理,满足了企业的现代化管理的要求。1.经济性当前许多中小型企业都使用人工管理方式(即纸和笔)来管理企业的进销存,这样的管理方式即困难又浪费时间和成本
12、,并且容易出现漏账、差账的情况,因此中小型企业应该向大型企业那样采用先进的管理方式,提高企业效率,降低企业运营成本。2.技术性企业进销存管理系统从中小型企业的实际出发,可有效的管理企业的进销存情况,并降低企业运营成本,及时调整营销策略、提高库房的利用率。3.3 系统开发模式本系统采用JSP+JavaBean的开发模式,该模式是JSP程序开发经典设计模式之一,适合小型或中型网站的开发。利用JavaBean技术,可以很容易的完成一些业务逻辑上的操作,能够满足本系统的开发和设计。JSP+JavaBean设计模式如图3.1所示图3.1 JSP+JavaBean设计模式图3.1中各步骤说明如下:第一步:
13、用户通过客户端浏览器请求服务器第二步:服务器接受用户请求后调用JSP页面第三步:在JSP页面中调用JavaBean第四步:在JavaBean中链接及操作数据库,或实现其他业务逻辑第五步:JavaBean将执行的结果返回JSP页面第六步:服务器读取JSP页面中的内容返回给客户端浏览器进行显示3.4 系统开发工具及运行环境1.开发工具:Myeclipse、Dreamweaver2.运行环境:Java 虚拟机:Java JDK1.6Web服务器:Tomcat 6.0 浏览器:IE5.0,推荐使用IE6.0 数据库: SQL Server 20004 系统总体设计4.1 系统各模块功能规划企业进销存管
14、理系统是一个典型的数据库开发应用程序,由基础信息管理、库存管理、商品销售、查询统计、往来管理、系统设置6部分组成。1.基础信息管理 该模块只要是对企业的客户信息、商品信息、供应商信息进行有效管理,并可实现按不同条件对这些数据进行查询。2.库存管理 该模块只要是对商品的入库及图库退货信息进行有效管理,对商品的价格进行调整,同时可按不同条件查询库存商品。3.商品销售 该模块主要只要是对商品的销售及销售退货信息进行有效管理。4.查询统计 该模块主要实现按不同条件查询商品的入库信息及销售信息,并可对某一时间段内某种商品的销售情况按数量或金额进行升序或降序排列。5.往来管理 该模块主要实现对商品的入库结
15、账、入库退货结账、销售结账、销售退货结账信息进行有效管理,同时可实现销售信息入库结账信息的查询操作。6.系统设置 该模块只要实现对操作员及操作密码进行有效管理。系统各模块功能结构如图4.1所示图4.1 系统总体功能结构图4.2 系统三层架构图系统三层构架有用户界面层、业务处理层和数据存储层组成,用户界面层主要包含JSP、和HTML文件,当用户在界面层进行操作时,就会调用业务处理层中相应的JavaBean方法,由JavaBean再对数据库查询相应的数据信息。最后由数据存储层传递信息给业务处理层,经处理之后显示在用户界面层。如图4.2所示图4.2系统三层架构图4.3 系统流程示意图系统的流程是一个
16、系统的关键,主要理清系统的逻辑关系,有了清晰地思路,便能提高系统的开发效率。本系统主要围绕库存管理,首先向供应商进货,存入库存,再将商品销售给客户。详细流程如图4.3所示图4.3系统流程图4.4 数据库的选用本系统是针对中小型企业开发的项目,而SQL Server 2000是由美国微软公司制作并发布的一种性能优越的关系型数据库管理系统,具有强大的数据库创建、开发、设计和管理功能。SQL Server 数据库在中小型项目上应用非常广泛。故采用SQL Server 2000数据库。4.5 数据连接池通常情况下,在每次访问数据库之前都要建立与数据库德连接,这将消耗一定的资源,并延长了访问数据库的时间
17、,如果是反问量相对较低的系统还可以,如果访问量较高,将严重影响系统的性能。本系统对数据的访问非常频繁,为了优化系统的性能,采取数据连接池技术。1.连接池优点节省数据连接的时间提高数据库连接的重复使用率解决了数据库对连接数量的限制2.在Tomcat中配置数据源在Tomcat安装目录下的conf/context.xml文件中输入如下代码/活动状态最大连接数 maxWait=10000 url=jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName=db_shopping4.6 系统主要用表参见附录15 JavaBean编写5.1 数据库连接该段代
18、码为数据连接池,通过数据连接池访问db_shopping数据库。JDBC2.0中提供了javax.sql.DataSource接口,在应用时不需要编写连接数据库代码,可以直接从数据源中获得数据库连接。package com.ybzy.dbconn;import java.sql.*;import javax.naming.*;import javax.sql.DataSource;public class DBConn public static synchronized Connection getConnection() throws Exception try Context initC
19、tx=new javax.naming.InitialContext(); /从Context中lookup数据源 Context envCtx=(Context)initCtx.lookup(java:comp/env); DataSource ds=(DataSource)envCtx.lookup(jdbc/ybzy);/获取连接池对象 return ds.getConnection(); catch(SQLException e) throw e; catch(NamingException e) throw e; 5.2 数据库操作DBResult类主要是对数据库的操作,如连接、关闭
20、数据库及执行SQL语句操作数据库。每一种操作对应一个方法。package com.ybzy.dbconn;import java.sql.*;import com.ybzy.dbconn.DBConn;public class DBResult private Connection con; public DBResult() try this.con=DBConn.getConnection(); catch (Exception e) e.printStackTrace(); /* * 用于获得执行SQL语句的ResultSet对象 */ public ResultSet getResul
21、t(String sql) try Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery(sql); return rs; catch(Exception e) return null; /* * 用于执行SQL语句没有返回值 */ public void doExecute(String sql) try Statement stmt=con.createStatement(); stmt.executeQuery(sql); catch(Exception e) /* * 用于获得执行SQL语句的Prepa
22、redStatement(预处理)对象 */ public PreparedStatement getPreparedStatement(String sql) try PreparedStatement pstmt=con.prepareStatement(sql); return pstmt; catch(Exception e) return null; /* * 关闭连接 */ public void closeCon() try this.con.close(); catch(Exception e) e.printStackTrace(); 5.3 中文乱码处理在JSP页面中经常出
23、现中文乱码的情况,我们可以指定编码方式,以清除乱码。package com.ybzy.chinese;import java.io.*;public class ToChinese public String trans(String chi) String result=null; byte temp; try temp=chi.getBytes(iso-8859-1); result=new String(temp); catch(UnsupportedEncodingException e) System.out.println(e.toString(); return result;
24、6 系统各功能模块设计6.1 系统登录模块该模块主要用于验证用户的身份及密码,在登陆页面中利用JavaScript脚本语言编写检测用户输入信息是否合法,并通过单击“登陆”按钮调用该函数,判断用户名或者密码是否为空,或者用户名或密码输入错误两种情况,如果用户名和密码都正确,则进入系统管理主界面。登陆界面如图6.1所示。图6.1用户登陆界面如果用户名或密码为空将提示如图6.2、6.3所示:图6.2提示输入用户名图6.3提示输入密码6.2 系统主界面模块为了在同一个页面中管理多个页面,本系统的设计采用了frame框架技术,将整个页面分为以下3个部分。页面显示区(top.jsp):主要用于显示网站的旗
25、帜、广告等。页面导航区(left.jsp):主要用于管理功能导航。页面操作区(main.jsp):主要完成各种管理功能。系统主界面如图6.4所示图6.4系统主界面6.3 基础信息管理模块基础信息管理模块包括客户信息管理、商品信息管理、供应商信息管理、商品信息查询、客户信息查询、供应商信息查询6个功能。1. 客户信息管理该功能主要是进行客户信息的录入工作,带*项为必填项。如图6.5所示图6.5客户信息登记2商品信息管理该功能主要是进行商品信息的录入工作,带*号为必填项,在复选框中选择相应的供应商之后再输入商品信息。如图6.6所示图6.6商品信息登记3供应商信息管理该功能主要是进行供应商信息的录入
26、工作,带*号项为必填。如图6.7所示图6.7供应商信息登记3. 商品信息查询该功能主要是进行商品信息的查询工作,用户可以选择不同的条件进行查询或者直接显示全部数据。如图6.8所示图6.8商品信息查询5. 客户信息查询该功能主要是进行客户信息的查询工作,用户可以选择不同的条件进行查询或者直接显示全部数据。如图6.9所示图6.9客户信息查询6. 供应商信息查询该功能主要是进行供应商信息的查询工作,用户可以选择不同的条件进行查询或者直接显示全部数据。如图6.10所示图6.10供应商信息查询6.4 库存管理模块库存管理模块包括商品入库、商品入库退货、库存查询、价格调整4个功能。1商品入库该功能主要是将
27、商品存入库存里面,用户在复选框里选择已登记的商品信息,再输入数量、单价等信息,带*号为必填项。如图6.11所示图6.11商品入库2商品入库退货该功能主要是进行商品的退货功能,用户在复选框中选择需要退货的商品,再输入其相应的信息即可。如图6.12所示图6.12商品退货3. 库存查询该功能主要是进行库存的信息查询工作,用户可选择不同的条件进行查询或者直接显示全部数据。如图6.13所示图6.13库存查询4. 价格调整该功能主要是对商品的价格进行调整,用户在复选框中选择需要调整价格的商品,然后输入调整的单价即可。如图6.14所示图6.14商品价格调整6.5 商品销售模块商品销售模块包括商品销售、销售退
28、货2个功能1. 商品销售该功能主要是进行商品的销售,用户可选择需销售的商品,再选择其客户,输入相应信息即可。如图6.15所示图6.15商品销售2. 销售退货该功能主要是进行商品销售退货的功能,用户可选择需退货的商品,再选择其客户,输入相应信息即可。如图6.16所示图6.16销售退货6.6 查询统计模块查询统计模块包括销售信息查询、商品入库查询、商品销售排行3个功能1. 销售信息查询该功能主要是进行商品销售信息的查询工作,用户可选择不同的查询条件以及相应的时间段进行查询或直接显示全部数据。如图6.17所示图6.17销售信息查询2. 商品入库信息查询该功能主要是进行商品入库信息的查询工作,用户可选
29、择不同的查询条件以及相应的时间段进行查询或直接显示全部数据。如图6.18所示图6.18商品入库查询3. 销售排行该功能主要是对商品销售的信息进行统计排行,用户可选择相应的时间段,按金额或数量对商品进行升序或降序的排列。如图6.19所示图6.19商品销售排行6.7 往来管理模块往来管理模块包括商品销售结账、入库退货结账、商品入库结账、销售退货结账、销售结账查询、入库结账查询6个功能1. 商品销售结账该功能主要是把商品销售未完全结账的再次清单,用户可通过不同的条件查询出账单进行结账。如图6.20所示图6.20商品销售结账2. 入库退货结账该功能主要是把入库退货未完全结账的再次清单,用户可通过不同的条件查询出账单进行结账。如图6.21所示图6.21入库退货结账3. 商品入库结账该功能主要是把商品入库未完全结账的再次清单,用户可通过不同的条件查询出账单进行结账。如图6.22所示图6.22商品入库结账4. 销售退货结账该功能主要是把销售退货未完全结账的再次清单,用户可通过不同的条件查询出账单进行结账。如图6.23所示图6.23销售退货结账5. 销售结账查询该功能主要是对商品销售结账的查询,用户可根据不同的条件以及选择相应的时间段进行查询。如图6.24所示
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1