《超市进销存管理系统的设计与应用.docx》由会员分享,可在线阅读,更多相关《超市进销存管理系统的设计与应用.docx(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘 要 基于信息化管理,能够方便超市对商品、客户、销售、库存等信息的实时掌控,提高员工的工作效率,降低超市管理成本,为此开发这套超市进销存给管理系统。这个系统的核心技术采用SSH (strtus2 , spring和hibernate)开源框架的Web项目,以MVC编程思想和MySQL数据技术,让整个架构清晰明了,便于开发。其中包含了以下几个模块:供应商管理、客户管理、商品信息管理、统计报表作为本系统的核心。另外还有用户权限管理,作为系统安全访问的保障。报表功能够实现资金出纳的运营情况了解,这样几个模块使得超市进销存系统整个架构一目了然,简单而实用。关键词: SSH;数据库;进销存管理系统目
2、录1. 前言11.1 课题的背景11.2 目的和意义11.3 系统设计思想12. 系统开发的相关技术介绍12.1 SSH框架技术简介22.2 MySQL技术简介22.3 MVC设计模式23. 系统的可行性及需求分析33.1 可行性分析33.1.1 技术可行性33.1.2 经济可行性33.1.3 操作可行性33.2 系统功能需求33.2.1 系统目标33.2.2 功能分析43.2.3 系统用例分析图43.3 系统性能要求53.4 运行环境需求53.4.1 硬件环境53.4.2 软件环境54. 系统设计与实现64.1 系统整体功能设计64.1.1 系统层次架构图64.1.2 角色信息模块74.1.
3、3 商品信息模块74.1.4 商品进货信息模块74.1.5 商品销售信息模块84.1.6 商品库存信息查询模块84.1.7 财务信息统计查询模块94.2 数据库设计94.2.1 数据库表结构和E-R图94.2.2 数据库物理结构设计104.3 系统实现125. 系统运行及测试145.1 系统运行结果145.1.1 用户登陆145.1.2 用户信息管理145.1.3 用户权限管理155.1.4 商品信息管理155.1.5 进货管理165.1.6 销售管理165.1.7 库存管理175.1.8 统计报表175.2 系统测试185.2.1 测试方法185.2.2 测试结果186. 总结19参考文献2
4、0III超市进销存管理系统的设计与应用1. 前言 1.1 课题的背景 自从90年代开始,中国的经济发展快速,既是信息化时代,又是知识经济时代,互联网开始大量普及,普大众的生活生活水平普遍提高,同时中国加入WTO,与世界接轨,慢慢开始接触到国外的生活方式,无论从购物还是消费观念已经开始转变,而且大量的国外商家,入驻到中国,给国内的企业造成很大的冲击和影响,国内的商铺开始慢慢转型,添加新的管理模式,信息和自动化管理成为主要角色,不论从进货,销售,库存等都大大节约了企业的人力成本,同时也能够提高企业的工作效率。 1.2 目的和意义 为了能够让超市的自动化和信息化的得到实现,那么开发一款超市进销存管理
5、系统是信息自动化管理中的重要一步,因为目前国内的很多超市采用的都是纸张和手工作业,这样很容易产生,追溯,查账,盘点等问题。而且纸张的保存周期时间短。容易造成数据的丢失和损坏。而超市进销存管理系统,是一个买进,卖出,库存为一体的信息管理系统,首先,对于货物的基本信息方便管理,更好的维护客户以及供应商信息,能够及时的了解库存以及销售状况,对于数据的保存也能够永久的保存和维护。其次从人力成本来说,只需要简单的培训,就可以让操作人员对此系统进行管理和维护,我们开发的是一个既简单又直观的操作环境,大大减少了人力成本,而且通过这个系统还能够及时的了解超市的运营状况,以及产品信息。最后这也是超市实现自动化管
6、理的重要环节。因此开发一套超市进销存管理系统对一个对于零售行业实现自动化管理有着重大意义。 1.3 系统设计思想首先无论开发以及设计任何一个系统,我们都要有一个清晰的思路框架,以及一个市场需求的调查,通过调研,此次开发的系统通过从两方面着手,一个是层次,一个是业务。划分成以下几个模块: 角色管理 用户管理 商品信息管理 进货管理, 销售管理, 库存管理, 报表功能。开发这次超市进销存系统,主要通过MVC 设计思想与SSH框架计入的融合,其中MVC包含三层架构,模型层(使用Hibernate框架技术通过对JaveBean操作来对数据库操作),控制层(利用Struts框架技术进行数据层和视同层的数
7、据处理和流程的控制,同时Spring框架则有效的连接hibernate和strutus,负责整个架构管理,同时提供其他的一些功能)和最后在视图层(通过JSP模板展示给用户,进行相互沟通)。这样让我们有清晰的思路来对系统分析的更透彻,对系统的开发有很大帮助。2. 系统开发的相关技术介绍 此次的超市进销存管理系统是采用J2EE平台开发的Web 项目。J2EE是一款强大的技术架构,J2EE让开发变得更简单和优化,同时也增加了可移植性、安全与再用价值,此系统采用比较流行的开源框架SSH集成框架。同时使用MySQL数据库管理系统。 2.1 SSH框架技术简介SSH框架主要由strtus, spring和
8、hibernate 三个Java架构集成而成。比较流行的开源框架,因构建灵活和方便扩展的的特点,经常用于多层Web应用程序的开发, Struts是一个基于MVC设计模式的Web应用框架,负责MVC的分离,将页面从业务逻辑分离出来,是页面更加灵活多变,不会影响业务逻辑,简化了web应用程序的开发,让开发更加高效,而Struts2是webwork和 Struts1的综合体,是以WebWork为核心,采用拦截器机制对用户的请求进行处理。Stuts2主要流程如下: 发送请求 过滤器StrutsPrepareAndExecuteFilter拦截请求核心控制器FilterDispatcher核心控制器,根
9、据用户的请求来选用恰当的业务代理 拦截器链不仅能自动根据用户的请求来应用,还可以通过用户自定义 回调Action的execute方法或自定义的action方法,首先这些方法会获得用户请求的参数,然后执行某种数据库的操作 返回result视图,处理的结果会被输出到浏览器中 对于一些复杂的企业应用开发,我们可以采用最常用也是最受欢迎的Java应用程序开发框架,也即是上述提到的Spring,拥有高性能,易于测试,可重用的特点,主要包含两个重要功能IOC和AOPIOC简单来说是具有控制反转与依赖注入两层含义的一种设计模式。第一层是,转移控制权:从传统古板的程序控制升级到灵活的容器控制;第二层是依赖注入
10、:当相互依赖的对象分离之后,可以在Spring配置文件中,体现她们的依赖关系。那么由于它们的依赖关系仅仅建立在使用期间,则说明其不需要NEW一个对象。AOP,这一超越传统编程思想的切面思想,取得了历史性的成就。它的特殊执行力表现在:运行过程许多面与面之间可以添加用户想插入的逻辑。 最后一个Hibernate是一个开发源代码的对象映射框架,它可以简化数据库的操作,将原本复杂的编程思维,变为简单的编程思维。它对JDBC,进行了简单的对象封装,把POJO与数据库表建立一种映射关系,属于一种全自动orm框架,包括SQL语句的生成都是可以自动生成与自动执行的。这样一来简化开发。通过修改一个“持久化”对象
11、的属性从而修改数据库表中对应的记录数据。提供线程和进程两个级别的缓存提升应用程序性能。有丰富的映射方式将Java对象之间的关系转换为数据库表之间的关系。屏蔽不同数据库实现之间的差异。在Hibernate中只需要通过“方言”的形式指定当前使用的数据库,就可以根据底层数据库的实际情况生成适合的SQL语句。非侵入式:Hibernate不要求持久化类实现任何接口或继承任何类,POJO即可。 2.2 MySQL技术简介 MySQL是一个可以登录许多用户,以及多个线程相关联的大数据管理操作系统,特别是网页应用方面,非常有针对性。MySQL能够更好地体验它优点,他是在客户机服务器结构的基础上形成的,一种数据
12、库。日常操作系统都基本上可以运行,加上它的许多优势,例如:时速快、成本低、可以优化SQL语言、体积小等等,是很多中小型网站优先选择的数据库。 2.3 MVC设计模式MVC模型是通过 Model View Controller( 模型-视图-控制器)的应用而创设的网络应用程序的一种设计模式。 模型: 业务逻辑包含了业务数据的加工与处理以及相应的基础服务(为了保证业务逻辑能够正常进行的事务、安全、权限、日志等等的功能模块) 视图:展现模型处理的结果;另外,还要提供相应的操作界面,方便用户使用。 控制器:视图发请求给控制器,由控制器来选择相应的模型来处理;模型返回的结果给控制器,由控制器选择合适的视
13、图。3. 系统的可行性及需求分析最近这些年来,互联网迅速发展,各种系统开始融入到企业管理当中,因为原有的纯人工管理方式,无法能够满足企业的需求,而计算机应用和辅助管理也在各个行业中普遍应用,其中包括零售业,对于超市的管理,也开始朝着数字化管理靠拢,那么一个好的超市进销存管理系统,则能够让超市的管理变得更加高效和快捷,同时也能降低超市的管理成本。 3.1 可行性分析 对于一个系统的应用,我们要针对各方面的分析,其中包括他的技术的可行性,经济的可行性,还有操作的可行性,所以针对超市进销存管理系统,我们将从这几方面进行研究和和探讨。 3.1.1 技术可行性 针对这个系统我们使用的是SSH框架技术,利
14、用struts2,Hibermate,spring的优势,采用MVC思想,利用struts框架,将model(模型)、view(视图)、control(控制器)分散设计,这样一来,可以使开发人员在分析和处理问题方面减少了许多压力,也缩短了时间,最终整体提高效率,具有可维护性和接解耦性。表示层的呈现是由struts完全负责的。然而, spring可以利用它的IOC和AOP来实现业务的完成,最后 hibernate可以延长数据的保存时间直至数据库,经过MySQL数据库此系统的开发经过这一系列技术的结合最终构成SSH框架,其可行性是值得肯定的。 3.1.2 费用的可行性此次系统的开发,主要涉及的费用
15、包括前期的开发费用,和硬件的投入费用,但是从长期的管理和运营成本来说降低了管理费用和人力成本。相信在未来此系统带来的收益远远超过投入成本。 3.1.3 操作可行性 此系统操作简单,只需要两台电脑,一台服务器端,一台能够运行浏览器的客户端。 3.2 系统功能需求 3.2.1 系统目标 超市进销存管理系统主要包含以下几个功能:角色管理 ,用户管理 ,商品资料信息管理,批发商管理,渠道管理,库存管理,报表功能。 3.2.2 功能分析 通过调研和考察,针对用户的需求进行探讨,研究需求功能的合理性,可实施性从而进行有组织有架构的论述,采用从上而下的原理。 角色管理:设置系统管理员账户,通过管理员账户来对
16、这个系统进行角色,权限,信息添加,修改,和删除的管理。 用户管理:通过系统管理员可以对不同角色下的用户管理,还可以进行修改与删除。商品管理可以分为四大类: 商品信息管理:主要对商品的基础资料管理(例如:商品名称、商品所属类别、其单位、进货价、零售价、库存数量、生产商、以及备注)对其可以进行添加、删除和整改。 进货管理:主要对的购进商品的信息进行管理(例如:商品编号、商品型号、商品单位、商品名称、采购单价、进购总价)同理也可以添加、删除和修改。 销售管理:主要对销售货品进行管理(例如:商品编号、商品型号、商品单位、商品名称、出售单价、出售总价)可以进行增加、删除与修改。 数量管理:对超市的库存商
17、品的信息进行登记分析与记录。 3.2.3 系统架构分析图 此次开发的超市进销存管理系统架构分析图如图所示。图 系统架构分析图3.3 系统性能要求 安全性:权限级别设置,只有拥有管理员的账户才能对数据库进行操作。 稳定性:环境稳定性,进行稳定测试,确保系统运行环境稳定。 兼容性:拥有良好的兼容性,确保和其他的软件和硬件相兼容。 合理性:系统设计的合理性,符合客户需求,以及实际情况。 完善性:系统功能的完善性,完善需求,多方面考虑,确保系统的完整性,有良好的扩展能力。 3.4 运行环境需求3.4.1 硬件环境CPU: Intel(R) Core(TM) i7-5600U。 内存:16G大小。 硬盘
18、:250G以上空间大小。 3.4.2 软件环境 操作系统:Windows10操作系统。开发工具:MyEclipse 。Java开发环境:JDK。Web服务器: Tomcate7.0。数据库:MySQL数据库。 浏览器:IE浏览器。4. 系统设计与实现 4.1 系统整体功能设计 系统的整体功能对用户的需求进行分析,而采用多模块化,进行分析设计,然后连接在一起形成一个整体的多功能系统。 4.1.1 系统层次架构图 系统层次模块图是按层对系统的模块进行分解,通过这个图能过清晰的看出各个模块的功能和联系,具体如图:图 4.1.2 角色信息模块在此模块中,管理员对角色的进行管理,角色包含操作员、供应商和
19、客户。而管理员可以分别对这些角色的信息进行增加、修改和删除。具体如图:图 4.1.3 商品信息模块在这个模块中,管理员和操作人员主要对商品信息进行管理,负责商品基础属性信息的添加,修改和删除 具体架构图如图所示:图 4.1.4 商品进货信息模块 在这个模块中,管理员和操作员可以进行供应商进货和退货管理,其中包括登记、修改和删除,具体架构图如图所示: 图 4.1.5 商品销售信息模块 在这个模块中,管理员与操作员配合分别管理好销售出库与客户退货,分别可以对这两个管理进行登记、修改与删除,具体架构图如图所示:具体信息如图所示:图 4.1.6 商品库存信息查询模块 在此模块中,管理员本身或者通过添加
20、操作员来对库存信息进行管理,库存信息主要包含当前库存查询和库存报警查询,然而这个模块可以分别对如下所示的两个模块进行查询,当前库存查询结果的作用是统计商品的当前库存的多少,库存报警查询的作用是呈现当前库存数量情况在下限量以下的商品。具体情况见下图:图 4.1.7 财务信息查询模块 在此模块中,管理员或者操作人员可以查看超市资金的流入流出情况,查询条件主要有按日查询和按月查。具体如图所示:图4.2 数据库设计数据库是所有系统开发中的一个重要模块,第一需要满足应用系统的业务需求,更好的表达数据间的关系。第二:一个优秀的数据库,可以使数据在保持其信息,完整准确一致的情况下将占用的空间降到最小。最后,
21、它还可以加快数据的读取速度以及数据的查询效率。 4.2.1 数据库结构和E-R关系图 整合超市进销存管理系统之后,我们对其系统业务的逻辑进行分析来看,可以快速确定上述系统的E-R关系图,情况如下图:图 4.2.2 数据库物理结构设计任何一个数据库的开发,先从数据库表结构开始,表结构设计师数据库逻辑设计的重要组成部门,直接影响数据库的性能。在进行准确无误的业务的供应和逻辑功能分析过后,上述系统的主要数据表可以进行整体的结构分析和设计,其中包含:权限管理表、商品信息表、用户管理表等。用户权限管理表,字段名主要包含:菜单编号与名称、图片编号、菜单的存储路径与类型、包括订单号以及图标。具体情况如下图:
22、图用户信息管理表,字段名主要包括:角色编号、角色名称、备注。具体如图图 商品信息表,字段名主要包括:商品编号、商品名称、商品型号、类别编号、类别名称、单位、采购价、销售价、库存数量、库存资金、库存下限、生产厂商、标志、备注。具体如图所示:图 进货信息表,字段名主要包括:进货入库单据编号、供应商编号供应商名称、日期、应付金额、实付金额、付款标志、使用者编号、使用者姓名备注。具体如图所示:图 销售信息表,各字段名主要包括:销售出库单据编号、客户编号、客户姓名、日期、应付金额、实付金额、存本金额、付款标志、用户编号、用户姓名、备注。具体如图图 4.3 系统实现上述的系统主要是利用与整合SSH框架结构
23、与JSP,J2EE共同作用的情况下,经由MyEclipse的辅助开发,设计而成的一款超市商品的进销管理系统,其中WEB服务器为Tomcate7.0。上述的三个结构都属于开发可扩展高度封装的框架,他们在执行开发的情况下,将漏洞出现的概率降到了最低。 第一:新建一个名为MyStock.的Web 项目。 第二:在添加Struts2息息相关的jar包的情况下添加Database Driver这个适合的数据库驱动。当然,在上述系统,我们常用的是MySQL,所以应该添加的是MySQL数据库驱动。第三:除去MyEclipse的默认jar包之外,还必须增加与Spring息息相关的jar包,选上Spring W
24、eb Liberaies 3.0这一jar包。第四:添加Hibernate支持包外,还应该添加另外四个包,关于Spring的包 Spring Configuration file被Hibernate Configuration所选择,三大框架结构结合作用以后所有的Bean完全由Spring来管理,那么Hibernate的配置文件也自然而然地由Spring中的spring-basic.xml进行管理,将spring和struts的启动设置代码增加到web.xml文件中:如下图所示: 图从spring-basic.xml中增加以下的代码,这样用来完成对hibernate和spring的一系列管理:
25、大致如图: 图(1) 系统由spring-bean.xml的映射文件来衔接DAO层,最终根据客户和供应商来演示业务逻辑的操作步骤;实际代码演示见下图所示: 图那么涉及到DAO的实现层填写业务逻辑板块,其可以用来访问数据的对象,在这次系统中它实现这一操作大多利用HibernateTemplate()中封装的途径 见下图: 图Hibernate处理数据库有许多优点,其中最重要的表现在,它只针对于对象进行简单方便的操作,不需要编写基础而又复杂的的SQL语句。当然这一数据库的操作也是直接面向对象的。5. 系统操作及检测 5.1 系统运行结果开发此系统,经过需求的调查,模块设计和实际的编程之后,将基于S
26、SH框架的源代码,通过MyEclipse软件,架设到Tomcat 7.0 上测试运行,每个模块的运行情况如下 5.1.1 用户登陆 点击登录界面,用户可以通过输入自己正确的用户名与密码,如果成功则顺利登录系统的index.jsp主界面,如果输入错误,则不能成功登录并提示密码或用户名错误,如图所示:图 5.1.2 用户信息管理 通过管理员账户登录系统之后,进入到用户管理,用户账号是指登录名,设置密码,选择对应的角色,或者默认不选,然后可以添加账户,添加完也可以进行修改和删除操作。如图所示:图 5.1.3 用户权限管理 从管理员的账户系统入手,进入到自己的用户管理。对于用户的访问限制,我们可以针对
27、其类别进行不同的设置。不管是进货入库还是退货出库,还有与客户息息相关的销售管理,最后就是库存数量的统计。界面如图所示。图 5.1.4 商品信息管理 商品的信息管理可以包含类别管理和内容属性管理这两类,对于商品类别已经知道的情况,管理员可以再对其进行添加和完善。例如商品的名称、单位、零售价、批发价、库存数量甚至对于特殊的商品类别添加的信息可以增加备注等。然后我们还可以对这些信息进行修改和删除。 具体信息如图所示。图 5.1.5 进货管理 在进货管理中,我们可以对批发商与批发商之间的进货与退货行为进行管理,这样一来,能够并重查询入库与退货记录。 如图所示:图 5.1.6 销售管理 进入到销售管理,
28、可以对销售给客户和客户退货进行操作(即:销售出库和客户退货),同时能够查询销售记录和客户退货记录。 如图所示:图 5.1.7 库存管理 库存管理程序当中,可以清楚的查到超市产品的剩余库存数量。进货、退货以及销售等原因都会影响库存管理当中的库存数量。由此可见,库存管理对于商品销售具有高效意义。 如图所示。图 5.1.8 统计报表 进入到统计报表,可以通过商品销售统计,商品销售统计,清晰地了解,商品的进出情况,也能够通过月统计和月统计,了解到超市的商品的盈利情况,同时也方便查询超市的客户和供应商信息。 如图所示:图 5.2 系统测试 系统测试是整个软件开发的重要环节,测试的目的是迅速对系统进行测试
29、,并对测试出现的问题进行分析和解决。当然就算是在整个开发过程中对所有的板块进行了检测,但却无法完全保证模块与模块之间准确无误链接在一起。 5.2.1 测试方法 上述提到的系统软件测试主要通过黑盒测试的方法来检测系统的全部功能正常使用情况。一般来说,从最基本的软件界面和功能开始检测,然后陆续对界面的输入输出错误进行测试,登录测试,数据库访问测试。 5.2.2 测试结果 因本次系统中测试功能很多,所以我们这次以用户登录模块和用户信息管理模块测试为主。 (1)用户登录模块测试结果 用户登录模块测试,主要是检测用户是否输入正确的用户名和密码,若是,则立即成功登录;当出现密码和用户名错误的情况下,将提示
30、密码和用户名错误登录模块测试结果:输入正确用户名和密码登录成功:输入错误的用户名和密码登录失败: (2)用户信息管理模块测试结果 可以进行修改添加删除,用户的信息管理模块的测试见下表2所示。添加超市员工(张三) 成功供应商(苏宁)成功客户(小区)成功修改超市员工 (张三)成功供应商(苏宁)成功客户(小区)成功删除超市员工 (张三)成功供应商(苏宁)成功客户(小区)成功6. 总结经过一段时间的努力,论文初步完成,感谢导师的指导和意见,也让我在迷茫中有了方向,从开题报告到初稿,也了解自己需要朝着哪个方向努力,在这次开发超市进销存管理系统中,通过不断的翻阅和查找资料,学习到了很多,不仅有SSH框架技
31、术、对MySQL这一数据库技术熟知又很好的掌握,还学习到了MVC设计思想。同时在对于超市进销存系统功能和框架调研中,也熟悉了这套系统的业务逻辑。这次学习中也发现自己很多不足之处,由于自身不够精通的编码能力,和逻辑能力,限制了整个系统的框架相对比较简单。同时编写代码不熟练,会出现很多的bug.功能上也会有一些缺陷。这也与自身的经验有关,所以在未来多翻阅书籍,参加项目的实施在平时就应该多结合理论与实践,培养良好的汇总和反省习惯,还应该有目的地总结工作成果,最好可以有自己的一个针对于一些问题的通用结构以及个人的源码库、最后逐渐进化为框架。参考文献1 吕俊亚 超市进销存管理系统的设计与实现探讨 北京交
32、通大学 2008 2 张岩张宁 基于C/S架构的超市进销存管理系统的设计与实现北京石油化工学院学报,20133 王雨竹,高飞MySQL 入门经典 J机械工业出版社,2013,4 王伟红王守城,于玲玲超市进销存管理系统的分析与设计J现代商业,2006,08: 54-555 陈俟伶,张红实 SSH框架项目教程 水利水电出版社 20136 张楠超市进销存管理系统的设计与实现技术与市场,20167 程科仁超市管理系统的设计与实现D大连理工大学,20138 胡建宏商品进销存管理系统D兰州大学,20079 张红梅华文立 基于NET三层架构的超市进销存管理系统的设计与实现齐齐哈尔大学学报,201210 刘华敏,李玉进销存管理系统的设计与实现J电脑知识与技术,200828