印染企业进销存管理系统_第1页
印染企业进销存管理系统_第2页
印染企业进销存管理系统_第3页
印染企业进销存管理系统_第4页
印染企业进销存管理系统_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

word文档可自由复制编辑摘要印染企业进销存管理系统是一个基于Internet的应用系统,由于当前的进销存管理工作基本还处于手工和半自动信息化处理状态,而本系统就是应运而生的一个基于Internet的完全自动信息化的系统。企业单位只需具备访问Internet的条件即可在系统发布的站点上进行进销存的管理。在图形化的人机界面中完成日常的进销存管理工作。一方面摆脱了时间和空间的限制,另一方面有效地解决了数据共享的问题。本论文主要讲述了利用JSP+Tomcat+MySql开发一个基于WEB的印染企业进销存管理系统。通过开发此系统,详细讲述了数据库的开发以及核心程序的具体实现。整个系统以符合操作简便、界面友好、灵活、实用、安全的要求为出发点,完成进货、销售、库存管理的全过程。提供了一套比较完善的印染企业进销存WEB系统开发方案。关键词:JSP,管理系统,进销存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进销存系统的发展策略 11.3研究内容21.3.1开发技术的分析 21.3.2本课题的可行性 21.3.3本课题的实现目标 3第2章技术背景 42.1动态网页技术42.2动态网页技术的比较42.2.1JSP技术的强势 42.2.2JSP技术的弱势 52.3Tomcat服务器52.4MySql数据库62.5本章小结6第3章需求分析 73.1需求分析原则73.2需求功能分析73.3本章小结10第4章系统设计 114.1系统分析114.1.1设计原则 114.1.2系统设计目标 114.1.3系统的体系结构 114.1.4数据流图 124.2系统功能模块124.3数据库设计144.3.1数据库设计原则 144.3.2数据库E-R图设计 144.3.3数据库表单的设计 164.4本章小结19第5章系统实现 205.1编码实现原则205.2系统模块的设计与实现205.2.1系统设置管理模块的设计与实现 205.2.2基础信息管理模块的设计与实现 225.2.3商品采购模块的设计与实现 245.2.4产品销售模块的设计与实现 265.2.5加工处理模块的设计与实现 285.3本章小结29第6章系统测试 306.1软件介绍306.2测试的作用和意义306.3测试方法306.4系统配置要求306.5测试用例316.5.1原料库存模块测试 316.5.2原料采购模块测试 326.5.3产品库存模块测试 326.5.4产品销售模块测试 336.6本章小结34第7章结论 35致谢 36参考文献 37第1章绪论1.1背景随着中国电子商务、互联网业务的迅猛发展,国内许多企业已跨入电脑网络管理的时代,并因此提高了管理效率和市场竞争力。目前印染行业大企业的规模化生产与小批量多品种需求的矛盾日益突出,形成了目前印染行业的规模不经济性的现象。而随着全球经济信息化的进程和WTO的成功实现,企业面临着前所未有的机遇和挑战,在如此激变的社会形势和激烈的市场竞争下,印染企业需要提高内部的管理水平,引进精益生产的管理思想及模式,提高企业信息化的管理水平,在产品生产安排、工艺设计、物流管理、人员配备等方面的统筹安排将逐渐发挥企业的规模效益。形成以市场、销售为龙头的产、供、销的柔性体系。因此,印染企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。在印染纺织企业进货、库存、销售环节中,由于商品种类繁多、业务量大、库存管理复杂,使用手工操作的工作量很大,在操作过程中也很容易出现各种错误。而采用计算机管理则可以大大提高日常工作的效率,不仅将原来由手工操作的进货、出货及销售这一整套流程用计算机进行全程管理,而且消除了手工操作中可能存在的不确定因素,达到进销存管理流程清晰,从而能够比较彻底地贯彻经营者的管理模式[1]。1.2进销存系统的发展策略根据我国企业进销存建设的现状和存在的问题,使我国企业进销存建设走上健康快速发展的轨道,在企业进销存建设方面应采取如下对策:在组织实施方面,从传统的工业项目管理体制转向专业化和产品化实施体制,确保系统的运行维护和系统持续的升级,走合作与分工并举的道路。由此可造就一批以企业进销存系统为业务核心的、规模较大的专业软件公司。在技术选择方面:选择与世界发展潮流吻合的技术。现在还在流行的技术并不能代表未来一定能够流行。技术的标准化程度要高,开放程度要好。关键应用主张自主开发,发展民族产业。在技术结构方面,尽快从C/S(Client/Server)结构体系转Browser/Server结构体系,采用B/S思路,最终用户界面统一为浏览器,应用系统全部在服务器端,是标准的三层结构体系。系统负载轻,开放性好,系统维护升级方便[2]。系统设计方法:考虑到我国企业进销存软件的现状,采用生命周期法和快速原型法相结合,在已有产品的基础上,以快速原型法为主。在实施方面遵循统一规范和分布实施的原则。在设计思想方面,从传统的面向业务的设计转向面向用户的设计,即将设计的着眼点放在用户对象身上,设计视角范围是整个内部网,在此基础之上进行相关业务设计,将面向对象的思想引入到系统设计中去[3]。在实现方法方面,从传统的结构化设计转向采用复杂适用系统理论进行实现,即从一般的业务需求中抽象出关键的复杂适应系统,该系统能够适应环境变化,系统使用越久,积累的有价值的东西就越多[3]。1.3研究内容本系统是基于B/S体系结构,采用JSP语言以及Java语言进行开发,数据库是当前比较流行的MySql数据库,以及使用Tomcat作为系统开发的服务器。1.3.1开发技术的分析就现在开发进销存的技术来说,主要集中分为三大类:基于C/S结构的应用程序开发,结合C/S结构和Web技术的复合应用程序,基于B/S结构的动态网页技术。以下将分析这三类技术的各自优缺点:C/S结构系统:是传统开发模式,一般以数据库和客户端的两层结构实现[4]。也有加入中间件的三层或多层结构,早期是标准的系统模式,但随着计算机技术的发展和网络的发展,它已经无法满足现在的进销存工作,逐渐在被取代。C/S+Web技术:是为了补充C/S结构的不足,在C/S基础上加入Web技术来实现对远程数据的获取,但拥有一定局限性,如数据及时更新、软件升级等问题就无法很好解决。B/S结构系统:是采用动态网页技术,加入进销存的开发理念,完全适应网络进销存需求,也是现代进销存管理系统的首选技术[5]。就B/S结构的开发,具体技术又有多种选择:JSP+J2EE,ASP+IIS,ASP.net+Microsoft.NETFramework,PHP+Apache。1.3.2本课题的可行性可行性研究是系统开发的前期工作,经过仔细地分析决定问题是否值得解决开发。用最小的代价在尽可能短的时间内确定问题是否能够解决。经济性:当前许多中小型企业都使用人工管理方式(即纸和笔)来管理企业的进销存,这样的管理方式既困难又浪费时间和成本,并且容易出现漏账、差账的情况,因此中小企业应该向大型企业那样采用先进的管理方式,提高企业效率、降低企业运营成本。技术性:印染企业进销存管理系统从中小企业的实际出发,可有效地管理印染企业的进销存情况,并降低企业运营成本、及时调整营销策略、提高库房的利用率。在进货、库存、销售环节中,由于商品种类繁多、业务量大、库存管理复杂,使用手工操作的工作量很大,在操作过程中也很容易出现各种错误。而采用计算机管理则可以大大提高日常工作的效率,不仅将原来由手工操作的进货、出货及销售这一整套流程用计算机进行全程管理,而且消除了手工操作中可能存在的不确定因素,达到进销存管理流程清晰,从而能够比较彻底地贯彻经营者的管理模式。1.3.3本课题的实现目标系统采用人机对话方式,界面美观友好,信息查询灵活、方便、快捷、准确,数据存储安全可靠。(1)实现企业内一些基础信息的设置及查询。(2)商品的入库、采购退货、销售、销售退货流程清晰。(3)数据计算自动完成,提高工作效率。(4)与供应商和客户之间的账目清晰。(5)实现多条件查询。(6)可方便快捷地查询库存信息,并可对商品价格进行调整。第2章技术背景随着因特网(Internet)在全球的迅猛发展和广泛应用,动态网页技术也随着它们的出现诞生了。下面对JSP动态网页技术的原理和相关概念作概括性的叙述。2.1动态网页技术所谓“动态”,并不是指那几个放在网页上的GIF动态图片,在这里总结的动态网页技术有以下几个特点。(1)交互性:即网页会根据用户要求和选择而动态的进行改变和响应,将浏览器作为客户端界面,这将是今后Web发展的趋势。(2)自动更新:即无须手动更新HTML文档,便会自动生成新页面,可以大大节省工作量。(3)因时因人而变:即当不同的时间、不同的人访问同一网址时会产生不同的页面。除了早期的CGI外,目前主流的动态网页技术有JSP、ASP、PHP等,下面就JSP与其它几种动态网页技术进行比较。2.2动态网页技术的比较JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JavaServlet是JSP技术的基础,而且大型的Web应用程序的开发需要Java、Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用、完全面向对象、具有平台无关性且安全可靠、主要面向Internet的所有特点。2.2.1JSP技术的强势(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理、消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且有许多可以免费得到,并且其中许多已经可以顺利地运行于多种平台之下。2.2.2JSP技术的弱势(1)Java带来优点的同时也给自己带来缺点。正是由于为了实现跨平台的功能,为了实现较好的伸缩能力,所以极大地增加了产品的复杂性。(2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来确实是“最低性能价格比”了。从另一方面来说,它还需要硬盘空间来存储一系列的.java文件和.class文件,以及对应的版本文件。为了简明起见,下面先将JSP、ASP、PHP三种流行语言列表做一下比较,如表2-1所示:表2-1JSP、ASP、PHP的性能比较JSPASPPHP运行速度快较快较快运行损耗较小较大较大运行平台大部分平台均可Windows平台Windows/UNIX平台扩展性好较好较差安全性好较差好函数支持多较少多组件支持支持支持不支持XML支持支持不支持支持2.3Tomcat服务器Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总能在Tomcat中得到体现。与传统的桌面应用程序不同,Tomcat中的应用程序是一个WAR(WebArchive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和JSP文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和JSP或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为Tomcat要将JSP转化为Servlet文件,然后编译。编译以后,访问将会很快。2.4MySql数据库MySql作为一种开放源码数据库,以其简单易用的特点被广大用户采用。MySql虽然是免费的,但同Oracle,Sybase,Informix,Db2等商业数据库一样,具有数据库系统的通用性:(1)数据库管理系统。所谓的数据库就是一些结构化的数据的联合体,要提供对这些数据的存取、增加、修改、删除或更加复杂的数据抽取等操作,需要有一个支撑系统,这就是数据库管理系统,MySql完全具有这方面的功能。(2)关系型数据库管理系统。在数据库的发展历程中,曾出现过多种不同形式的数据库系统,但关系型数据库管理系统以其优越性而被广为采用,像现在几种广泛使用的数据库全为关系型数据库。同样,MySql也是关系型的数据库系统,支持标准的结构化查询语言。(3)开放源码数据库。同商业性的数据库相比,这是MySql最大的特点。MySql的源码是公开的,这就意味着任何人,只要遵守规则就可以对MySql的源码进行修改以符合自己特殊的需求。2.5本章小结本章简单扼要的对系统开发所用到语言以及一些工具做了个简单的介绍。通过与其他语言的比较,说明了JSP的优势,以及不足之处。这章的主要目的是为了加强对系统开发所涉及到的工具和技术的了解,为接下来的系统开发奠定基础。第3章需求分析3.1需求分析原则软件的需求分析是从用户的业务中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出我们的软件产品。这个步骤是对用户业务需求的一个升华,是一个把用户业务管理流程优化,转化为软件产品,从而提升管理而实现的质的飞跃,这一步是否成功,直接关系到开发出来的软件产品能否得到用户认可,顺利交付给客户,客户能否真正运用我们的产品帮助他解决业务或管理问题。按照软件工程对软件开发过程的描述,需求阶段我们可以细分为需求调研和需求分析两个小阶段,需求调研需要充分细致的了解客户目标,用户业务内容、流程等,这是一个对需求的采集过程,是进行需求分析的基础准备。当我们已经了解、理解了用户的业务,于是可以开始分析需求了。软件系统的需求分析可以由产品工程师或系统分析员或两者分阶段合作完成全部的需求分析工作。3.2需求功能分析根据上述软件需求的要求,现对本系统进行分析。对于中小型的印染企业来说,一套简单的印染进销存软件只需要有最基本的功能,即系统信息管理、原料采购信息管理、产品销售信息管理、物品加工信息管理以及基础信息管理就可以了。接下来着重分析下原料采购信息管理模块以及产品销售信息管理模块。原料采购信息管理:(1)原料入库管理人员通过登录系统,进入原料信息管理界面。在该界面上进行原料入库的录入工作。对于有些商品,其价格可能会不时地改变,因此管理人员还能对库存商品进行增加,删除,查询和修改的管理工作。其流程视图如图3-1。(2)原料管理在完成了相应的原料入库等准备任务之后,管理人员就可以通过系统对原料进行相应的分发工作,由于原料的采购都是订购的,所以只要管理人员对原料和客户以及仓库信息进行维护就可以了。同时登录者可以在原料管理界面对原料进行增加,删除,修改和查询的管理工作。其流程视图如图3-2。原料信息库原料信息库原料录入用户登录验证退出失败成功图3-1原料入库增加增加原料管理界面用户登录验证退出失败成功删除查询修改图3-2原料管理(3)采购明细单管理管理人员通过登录系统,进入原料采购信息管理界面。在该页面进行原料明细的录入工作,同时还需要录入供货商、原料、采购员和采购单之间的联系,这由程序来完成。其流程视图如图3-3。增加增加采购管理界面用户登录验证退出失败成功删除查询修改图3-3采购明细产品销售信息管理:(1)产品出库管理人员通过登录系统,进入产品信息管理界面。在该界面上进行产品出库的录入工作。其流程视图如图3-4。(2)产品管理在完成了相应的产品出库等准备任务之后,管理人员就可以通过系统对产品进行相应的分发工作,由于产品的采购都是订购的,所以只要管理人员对产品和客户进行维护就可以了。同时登录者可以在产品管理界面对产品进行增加,删除,修改和查询的管理工作。其流程视图如图3-5。产品信息库产品信息库产品录入用户登录验证退出失败成功图3-4产品入库增加增加产品管理界面用户登录验证退出失败成功删除查询修改图3-5产品管理(3)销售明细单管理管理人员通过登录系统,进入产品销售管理界面。在该页面进行销售产品明细的录入工作,同时还需要录入客户、产品、销售员和销售单之间的联系,这由程序来完成。其流程视图如图3-6。增加增加销售管理界面用户登录验证退出失败成功删除查询修改图3-6销售明细3.3本章小结本章简单介绍了需求分析的重要性以及对本系统的需求做了初步的设计,并对部分模块做出相应的流程视图,使系统功能更加清晰化,这样做的目的是进一步了解系统各功能模块的实现过程及它们之间应有的联系,为下面的具体设计做好铺垫。第4章系统设计4.1系统分析4.1.1设计原则在开发过程中,根据需求和设计的需要,经过反复考虑,确立了以下的设计原则。在我进行的开发设计过程中,也是严格按照这些原则进行的。可扩展性原则:在系统的规划、设计和实现中,充分考虑未来业务的发展和管理的变化。可用性原则:应用软件系统对硬件的要求不能脱离实际;同时,在操作上应具有友善的人机界面,尽量降低应用系统对业务人员的技术要求;在系统的维护上,目标系统应使系统管理员方便地管理数据中心的数据、前后端的应用程序以各底层支撑系统。4.1.2系统设计目标印染企业的三大特点在于:用工多,设备多,工序多,印染行业的生产特点可以表现为连续化、多机台、半自动化操作,影响产品质量的四大因素为原料、设备、工艺、人员,而市场需求也在朝着产品变化快、小批量、多品种的方向发展。为了使印染企业能够跟上时代的发展,适应多变的市场,仅仅依靠人力已不足以推动印染企业的发展,所以建立印染企业资源信息化管理是势在必行的。本系统的总体目标是作为印染企业资源计划(ERP)整体规划的重要组成部分进行分析和设计,充分利用计算机网络技术、传输技术、数据库技术等,实现一个商品采购、产品销售和资金管理相结合、功能强大、操作便利的印染企业进销存管理系统。系统需要建立染厂物料需求掌控流程:根据印染企业需求,生成原料采购单,原料包括染料、胚布等。同时企业根据市场情况出售加工好的布料等产品,根据情况生成销售单。系统要确保信息通畅,减少中间环节,优化管理流程。通过集中式管理,保证系统的正常运行,随时为管理层提供准确、可靠的统计信息,同时力求兼顾系统的通用性、应用的广泛性、稳定性和可移植性,设定不同访问权限,既保证系统及数据的完整和安全,又整合了企业的所有商务活动,为实现企业信息化奠定基础。4.1.3系统的体系结构本系统以计算机局域网和网络间的远程通信为核心,面对大量繁杂的媒体信息,为提高数据传输效率,采用B/S体系结构实现用户端与服务器端的动态交互。与传统的C/S结构相比,在这种由表示层(Browser)、功能层(WebServer)和数据库服务层组成的三层结构中,数据计算与数据处理集中在功能层。由于功能层的服务器性能容易提高,故可以很好地满足用户的需求;客户端免维护,只需完成数据的录入与呈现,其他逻辑操作均在服务器上完成,Web与数据库之间实现信息的动态交互。每个用户对于进销存管理系统来说都是分散的远程客户端,通过Internet网络的站点启动该系统后都可作为一个终端,通过WWW服务器(HTTP)提供服务访问企业网站。对于在每个站点(Browser端)进入该系统的用户,将显示出企业系统的登录界面,登录界面业务包括员工注册、员工登录,登录成功可直接进入系统,根据不同的权限进行不同的操作。管理人员登录后就可以进行所有的操作。4.1.4数据流图顶层数据流图供货商:供货商原料退货单单采购订单 原料退货单单采购订单 查询人员查询人员印染进销存管理系统操作人员印染进销存管理系统操作人员 各类表单 各类表单产品退货单产品订单产品退货单产品订单客户客户图4-1顶层数据流图4.2系统功能模块根据在需求阶段,所做的需求分析的结果,整个系统被分解成为五个功能模块。分别是:基础设置模块、系统管理模块、商品采购模块、产品销售模块、物品加工处理模块。系统功能结构图如图4-2:印染企业进销存系统印染企业进销存系统基本信息设置商品采购产品销售物品加工管理系统设置商品信息供应商信息商品采购商品退货产品销售客户退货加工入库加工出库管理员信息管理用户信息管理产品信息客户信息仓库信息员工信息增、删、改、查原料增、删、改、查供货商增、删、改、查产品增、删、改、查客户增、删、改、查仓库增、删、改、查员工增、删、改、查采购单以及付款单增、删、改、查退货单增、删、改、查原料以及半成品增、删、改、查原料以及成品查看、修改用户密码以及权限查看、修改个人信息增、删、改、查销售单以及收款单增、删、改、查退货单图4-2系统功能结构图4.3数据库设计4.3.1数据库设计原则构建基于JSP的进销存系统,数据库设计的基本原则是各个库应当为它所支持的管理目标服务。在设计数据库系统时,应当重点考虑以下几个因素:(1)数据库必须层次分明,布局合理。(2)数据库必须高度结构化,保证数据的结构化、规范化和标准化,这是建立数据库和进行信息交换的基础。数据结构的设计应该遵循国家标准和行业标准,尤其要重视编码的应用。(3)在设计数据库的时候,一方面要尽可能地减小冗余度,减小存储空间的占用,降低数据一致性问题发生的可能性,另一方面,还要考虑适当的冗余,以提高运行速度和降低开发难度。4.3.2数据库E-R图设计E-R模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。利用E-R方法进行数据库的概念设计,可分成三步进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局模式,最后对全局E-R模式进行优化,得到最终的模式,即概念模式。印染企业进销存管理系统E-R图如下:MNN日常业务原料管理产品管理帐单管理仓库管理员工管理供货商管理订单信息支付信息供货商查询供货商信息1采购客户管理订单信息支付信息客户查询用户管理修改密码修改权限系统登出系统用户用户名密码权限客户信息系统管理N管理员信息真实姓名密码帐号管理管理销售业务MNM1NMNN日常业务原料管理产品管理帐单管理仓库管理员工管理供货商管理订单信息支付信息供货商查询供货商信息1采购客户管理订单信息支付信息客户查询用户管理修改密码修改权限系统登出系统用户用户名密码权限客户信息系统管理N管理员信息真实姓名密码帐号管理管理销售业务MNM1N图4-3印染企业进销存管理系统E-R图4.3.3数据库表单的设计本系统选用MySql数据库来进行数据库的逻辑设计,根据系统的实际需求,主要包含以下几个数据表:原料表单如表4-1所示:表4-1原料表单(wuping)字段名字段类型字段约束字段说明idint(10)主键原料IDbhvarchar(20)NOTNULL原料编号typevarchar(10)原料类型namevarchar(20)原料名称numInt(12)原料数量dwvarchar(10)原料单位djfloat原料单价cdvarchar(100)原料产地ckIdint(10)NOTNULL库存ID采购表单如表4-2所示:表4-2采购单(buyList)字段名字段类型字段约束字段说明idint(10)主键采购单IDdjbhvarchar(20)NOTNULL单据编号ghs_idint(10)NOTNULL供货商IDcgy_idint(10)NOTNULL采购员IDoperatIdint(10)NOTNULL操作员IDcg_datedate采购日期beizhutext备注说明采购明细表单如表4-3所示:表4-3采购单明细表(buymingxi)字段名字段类型字段约束字段说明idint(10)主键采购单明细IDdjbhvarchar(20)NOTNULL单据编号wpIdint(10)NOTNULL物品IDnumint(12)物品数量jefloat物品金额djfloat物品单价ckIdint(10)NOTNULL仓库ID付款单据表如表4-4所示:表4-4付款单据(fkdj)字段名字段类型字段约束字段说明idint(10)主键付款单据IDdibhvarchar(10)NOTNULL编号fkkhIdint(10)NOTNULL供货商IDfkjefloat付款总金额yfjefloat已付金额operatIdint(10)NOTNULL操作人fkdatedate付款日期fkfsvarchar(10)付款方式cgIdint(10)NOTNULL采购单ID供货商表单如表4-5所示:表4-5供货商表(ghs)字段名字段类型字段约束字段说明idint(10)主键供货商IDghs_bhvarchar(20)NOTNULL编号ghs_namevarchar(20)供货商名称ghs_addressvarchar(40)供货商地址ghs_phonevarchar(20)供货商电话ghs_emailvarchar(20)供货商电子邮箱ghs_CompanyNamevarchar(40)供货商公司名称仓库表如表4-6所示:表4-6仓库表单(ck)字段名字段类型字段约束字段说明idint(10)主键仓库IDckbhvarchar(20)NOTNULL仓库编号ck_namevarchar(20)仓库名称ck_fzrvarchar(20)仓库主管原料退货单如表4-7所示:表4-7原料退货单(thlist)字段名字段类型字段约束字段说明idint(10)主键原料退货单IDdjbhvarchar(20)NOTNULL编号ghs_idint(10)NOTNULL供货商IDcgy_idint(10)NOTNULL采购员IDoperatIdint(10)NOTNULL操作员IDth_datedate退还时间fkfsvarchar(10)付款方式beizhutext备注说明原料退货明细单如表4-8所示:表4-8原料退货明细单(thmingxi)字段名字段类型字段约束字段说明idint(10)主键退货明细IDdjbhvarchar(20)NOTNULL编号wpIdint(10)NOTNULL物品IDnumint(12)物品数量djflaot物品单价jeflaot物品金额用户表如4-9所示:表4-9用户表(loginperson)字段名字段类型字段约束字段说明idint(10)主键用户IDnamevarchar(20)NOTNULL名称passwordvarchar(10)NOTNULL密码typevarchar(10)NOTNULL类型codevarchar(20)NOTNULL帐号由于销售表单与采购表单类似,所以就不一一列出了。4.4本章小结本章分析了印染企业进销存管理系统的应用需求,设计了系统的数据库结构,并根据需求对系统功能进行了划分和细化。数据库设计是建立数据及其应用系统的技术,是信息系统开发和建设中的核心技术,建立数据库及其应用系统,使之能够有效地存储数据。要设计出符合本系统具体应用要求的数据库应用系统,就必需实际与用户密切结合,进行具体的深入的了解。第5章系统实现5.1编码实现原则为了提供程序的可靠性、可读性、可修改性、可维护性、可继承性和一致性,在系统实现中,有必要按照一定的原则编写程序代码。实体一律写为Entity,业务逻辑处理一律写在DAO中。5.2系统模块的设计与实现5.2.1系统设置管理模块的设计与实现用户首先通过登录页面进行登录,才能进入系统首页。如图5-1是登录页面。用户可在此进行注册,本系统目前的用户为企业的员工,用户刚注册时他的权限都是普通用户,只有系统管理员同意才能对用户开放权限。当用户登录成功后,用户信息会保存在session中,并用来判断用户的权限图5-1登录首页用户登录检测的代码如下:Stringid=request.getParameter("id");//获取用户帐号Stringpassword=request.getParameter("password");//获取用户密码LoginDAOlp=newLoginDAO();//实例化对象if(lp.checkAccount(id,password,request)){//判断密码与帐号是否存在于数据库中response.sendRedirect("../main/index.jsp");//是,则登录成功进入系统首页}else{response.sendRedirect("loginout.jsp");//否,则登录不成功。}checkAccount(id,password,request)方法用来检测用户是否存在,并且还能把用户信息存到session中,它的代码如下:LoginHeadentity=newLoginHead();//实例化对象conn.openConnection();//数据库连接query1="select*fromloginpersonwherecode='"+id+"'andpassword='"+password+"'";//sql语句ResultSetrs1=conn.executeQuery(query1);//执行sql语句if(rs1.next()){//如果在数据库中存在,则获取这些值 entity.code=id; entity.password=password; entity.id=rs1.getString("id"); =rs1.getString("name");entity.type=rs1.getString("type");}HttpSessionsession=req.getSession(true);//获取会话对象session.setAttribute("userInfo",entity);//将用户信息保存到session中系统根据type来判断登录用户是否为管理员,如果type值为admin则该用户为管理员。管理员的页面如图5-2所示:5-2管理员页面从图上可以看出管理员拥有修改用户密码以及权限的功能,其页面如图5-3所示,它的功能代码为:<%Stringcode=request.getParameter("code");//获取帐号Stringnewpsd=request.getParameter("newpsd");//获取新的密码Stringtype=request.getParameter("type");//获取用户类型Stringtype1="common";if("1".equals(type)){type1="admin";//如果type值为1,则修改type类型为管理员}LoginDAOld=newLoginDAO();//实例化对象Stringflag=ld.editPsdAndType(code,newpsd,type1);//修改密码与权限的方法,并返回一个String类型的值//判断是否修改成功if("true".equals(flag)){%><script>alert("修改成功!");//JavaScript,用来提示用户是否修改成功</script><%}else{%><script>alert("修改失败!");</script><%}%><script>window.close();//关闭窗口</script>5-3修改密码与权限界面5.2.2基础信息管理模块的设计与实现基础信息管理模块主要有六个子模块,不过它们的功能大都相似,因此接下来主要介绍下商品信息管理子模块,其图如5-4所示:5-4商品信息管理界面其增加商品功能的代码为://获取商品信息Stringwpbh=request.getParameter("wpbh");//获取商品信息WuPingDaowpDao=newWuPingDao();//实例化对象wpDao.saveWp(wpbh,wpName,wptype,dw,dj,num,cd,ckId);//保存商品信息response.sendRedirect("spxx.jsp");//返回商品信息管理页面其删除商品功能代码为:Stringid=request.getParameter("id");//获取商品IdStringPage=request.getParameter("page");//获取商品在分页显示中的页码WuPingDaowpDao=newWuPingDao();//实例化对象wpDao.deletWp(id);//根据商品Id删除商品response.sendRedirect("spxx.jsp?page="+Page);//返回商品信息管理页面商品修改的页面如图5-5所示:图5-5商品修改页面修改数据后,点击保存按钮,就可以保存修改的数据。其代码为://获取修改后的商品信息Stringid=request.getParameter("id");//获取修改后的商品信息WuPingDaowpDao=newWuPingDao();//实例化对象wpDao.editWp(id,wp_bh,wp_name,wp_type,dw,dj,wp_num,wp_cd,ckId);//修改商品信息response.sendRedirect("spxx.jsp?page="+Page);//返回商品信息管理页面5.2.3商品采购模块的设计与实现商品采购页面如图5-6:图5-6商品采购页面用户通过此界面对采购物品进行管理,通过“新增”选项把物品录入到数据库中。页面的第一行有一个“查找”选项,用户可以依据不同的字段条件来搜索与该字段相关的采购单,非常方便、灵活。其在页面的查看功能的查询条件代码如下:<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");%>>单据编号</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");%>>业务员</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>查询功能的实现代码为:BuyDAObd=newBuyDAO();//实例化对象intrecordNum=0;//给数据记录数量赋初值Vectorvt=newVector();//建立一个Vector对象if(search!=null){//search变量不为空,则进行条件搜索//查询采购单数目总数recordNum=bd.getRecordNum(chakanStatus,chakanValue,condition);//获取所有的采购信息,保存在Vector对象中vt=bd.getBuylistInfo(chakanStatus,chakanValue,condition);}用户通过点击采购单页面的“查看”连接,进入到采购明细单页面,其图如图5-7所示:图5-7商品采购单明细页面在此界面用来管理采购物品的明细信息,用户可以查找每一笔采购的具体信息,若有差错,可以进行修改,方便用户进行管理。增加明细页面如图5-8:图5-8增加明细页面用户通过点击“新增”按钮,弹出一列空行,在空行中的物品编号字段中,有一个图片按钮,点击它之后,会弹出原料详细单,用户根据自己的需要选取物品,由于每次购入的物品的价格可能会有所不同,所以用户还可以进行修改。采购明细增加功能的代码如下://获取采购单信息Stringdjbh=request.getParameter("djbh");//获取采购单信息BuyDAObd=newBuyDAO();//实例化对象//保存采购明细信息bd.saveCgList(djbh,ghs_id,cgy_id,newFkfs,Fdate,newMemo,loginId);response.sendRedirect("cglist.jsp");//返回采购信息管理页面用户对采购信息录入完毕后,通过点击页面的“付款”按钮,进入付款单据页面,其图如下:图5-9付款单据页面用户在此页面根据采购的信息,录入相应的付款信息,物品的总金额系统会自动进行计算,使用户不必再重新计算。方便了用户的操作。提高了工作效率。5.2.4产品销售模块的设计与实现在系统中产品销售的功能设计与原料采购的功能设计基本上没有很大的差别,只是在业务操作方面有些区别。产品销售页面如图5-10所示:图5-10产品销售页面在此页面用户可以对产品销售情况进行管理,其功能代码与商品采购模块中的功能类似,所以就不一一展开了。添加产品销售明细单页面如图5-11所示:图5-11添加产品销售明细单页面用户通过点击“新增”按钮,弹出一列空行,在空行中有一个图片按钮,点击它之后,会弹出产品详细单,用户根据自己的需要选取产品,由于每次销售的产品的价格可能会有所不同,所以用户还可以进行修改。5.2.5加工处理模块的设计与实现加工出库信息页面如图5-12所示:图5-12加工出库信息页面用户可以在该页面对物品加工信息进行操作,用户根据实际情况添加、修改、删除记录。加工出库详细信息单页面如图5-13所示:图5-13加工出库详细信息页面此页面详细的记录物品加工所需要的物品,以及生成的产品的详细信息,系统会自动计算出成本,还可以给产品定价,计算出产品的总价。其生成原料单以及产品单的代码如下://获取原料或者半成品或者成品的信息StringckId=request.getParameter("ckId");Stringbh=request.getParameter("jgId");//获取原料或者半成品或者成品的信息JgrkDAOjdDao=newJgrkDAO();//实例化加工类对象WuPingDaowpDao=newWuPingDao();//实例化商品类对象CpkcDAOcpDao=newCpkcDAO();//实例化产品类对象if("1".equals(states)){//变量state为“1”时,生成原料单jdDao.saveJgmx(bh,wpId,num,dj,ckId,states);//生成原料单wpDao.editWuPing2(wpId,num);//原料库存减少}if("2".equals(states)){//变量state为“2”时,生成半成品单jdDao.saveJgmx(bh,wpId,num,dj,ckId,states);//生成半成品单wpDao.editWuPing1(wpId,num);//半成品存入原料库存,原料库存增加}if("3".equals(states)){//变量state为“3”时,生成成品单jdDao.saveJgmx(bh,wpId,num,dj,ckId,states);//生成成品单cpDao.editCp1(wpId,num);//成品存入产品库存,产品库存增加}response.sendRedirect("jgck_bh.jsp?id="+bh+"&page="+Page);//返回采购单查看页面。加工入库与加工出库大致相似,在此就不一一展开。5.3本章小结本章主要对系统设计的具体实现做了一个简单的分析。每个界面的功能特点是既独立,又互相联系。这一部分的重点在于实现各窗体功能时,即可以方便用户使用,又可以对系统数据库进行多维的访问和维护。为实现这一目标就要先有细致的设计构想,然后进行多方面的运行调试,发现问题的同时马上解决问题。所以窗体功能的实现是整个系统实现过程中的精华所在。第6章系统测试6.1软件介绍该软件主要目的是将印染企业进销存工作规范化、合理化,以适应工作的需要。系统主要使用Java,JSP语言以及Tomcat服务器和MySql数据库来实现。主要使用Eclipse、EditPlus、Dreamweaver工具开发系统。6.2测试的作用和意义系统测试是管理信息系统的开发周期中的一个十分重要环节。尽管在系统开发周期的各个阶段均采取了严格的技术审查,但依然难免会留下错误,如果没有在投入运行前的系统测试阶段被发现并纠正,问题迟早会在运行中暴露出来,到那时要纠正错误将会付出更大的代价。系统测试占用的时间、花费的人力和成本占软件开发的很大比例。统计表明,开发较大规模的系统,系统测试的工作量大约占整个软件开发工作量的40%-50%。而对于一些特别重要的大系统,测试的工作量和成本更大,甚至超过系统开发其他各阶段的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论