惠民便利超市管理系统设计_第1页
惠民便利超市管理系统设计_第2页
惠民便利超市管理系统设计_第3页
惠民便利超市管理系统设计_第4页
惠民便利超市管理系统设计_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

题目:惠民便利超市管理系统设计目录TOC\o"1-3"\h\u摘要 第1章绪论1.1系统开发背景随着计算机技术的发展和互联网的普及,我们的生活方式也在随之不断的改变,信息技术的各种应用系统扩展到生活中的各行各业。处于互联网时代的今天,各行业每天都会有大量的相关数据信息需要进行相应的处理,而超市作为生活中必不可少的一部分,自然也离不开计算机技术的帮助。随着生活水平的提升,超市销售这种销售方式在我国发展迅速,经营模式也变得更加复杂,之前陈旧的超由于数据库应用系统能够精准的记录各类信息,并且能够方便对数据的查阅,能够帮助经营人员快速了解经营情况,精准做出决策,提升超市的运营水平。随着超市日趋庞大的数据和业务,计算机作为解决这个问题的最有效的管理工具,超市系统和计算机的结合能够更好地推动超市管理走向系统和规范市管理体系已经跟不上时代的节奏,且超市与其他行业不同,超市商品信息繁杂,与第三方交互密切,所以必须要引入新的管理方式。如今,计算机技术已经广泛普及,生活中各处都能看见计算机技术的应用,中小型超市管理自然也可以引入计算机技术进行管理。将计算机系统应用到超市管理上,首先,能够极大提升员工的工作效率,节省大量的人力物力,其次,能够让管理人员即时获取销售、进货信息的反馈,从全局的角度综合的分析超市运营情况,更迅速的做出判断和反应,提高超市的运营水平REF_Ref21883\w\h[1]。因此,我们需要开发一个稳定可靠,功能齐全,操作便捷,能提升工作效率的管理系统。1.2超市管理现状分析随着经济的发展,超市在我国迅速普及,如今,在城市的每个街区,超市也是随处可见,而信息化时代的到来,也使得它的经营模式变得更为复杂,首先,纯人工记账管理,效率低下,容易出现各种错误,给管理带来不便,所以必须要使用高效的管理系统。其次,超市每天销售及进货数量庞大,如果不能及时进行统计分析,容易使得经营者做出错误决定,因此超市管理系统变得必不可少。如今随着超市规模的不断扩大,超市管理系统在大型连锁超市中已经代替了传统的人工计算和管理,而且大型超市的管理系统发展到今天也已日趋成熟REF_Ref22102\w\h[2]。但是,大型的超市管理系统的功能过于强大并不适合小型的超市管理系统,它会降低中小型超市的工作效率,不适合中小型超市的管理需求REF_Ref22161\w\h[3]。而许多中小型超市因为信息的繁琐,且没有成熟的管理机制,多做了许多不必要的工作,影响了本身的经营情况,阻碍了自身的发展。目前国内的小型便利超市仍然没有采用一个高效、现代化的管理方式,绝大多数仍处于手工管理阶段,虽然有一部分超市采用的POS终端收费,商品的进货、库存、盘点结账和汇总等工作还是手工完成,从而导致其出现管理方面的缺陷,如商品统计困难、结账效率低、实时分析能力差等REF_Ref22360\w\h[4]。为此,为惠民便利超市这种中小型便利超市开发便利超市管理系统是必要的。1.3研究的意义和目的超市这种经营模式越来越广泛,但是如今仍然有许多中小型超市依然使用着传统的管理模式。随着信息化时代来临,超市需要更加高效、更加方便的管理方式来支持超市的运营。如今,许多中小型超市的信息数据管理仍然有着很多缺陷,例如,交易金额不准确、商品数量统计困难、账目统计错误等,这些错误容易给经营者造成不必要的一些损失,导致超市错过一些宝贵的商机。经营者若想要避免这些错误,就需要依靠数据库应用系统,精准有效的管理这些数据,并能够可靠的对数据进行分析,从而减少人为失误,提高运营效率。因此通过研究,给中小型超市经营者提供更高效的管理方式,使得其管理更为方便迅捷,是非常必要的。研究目的在于通过设计一套超市管理系统,节省超市管理过程中浪费的人力物力,降低经营成本,将个人的管理失误风险降低,能够让员工更高效的完成工作,让管理人员更清晰的了解经营状况,使得数据信息的安全性和可靠性得到有效保障,让各部分的数据信息能够被更加有效的使用,从而提高超市经营能力。1.4研究内容及方法许多传统的中小型超市管理仍然采用人工记账或者Excel表格统计来实现,这种管理方式既浪费了员工的大量劳动力,并且可能还会出现各种难以避免的错误,最终达不到完美的管理效果。因此我们采用数据库应用系统来满足经营者的需求,实现完整的超市信息管理,让本系统的使用者只要在电脑界面进行简单的操作就能完成一些超市的繁琐的信息处理,毫无疑问,本系统能够使得繁琐机械式的传统超市管理模式变得更加简单,方便。并且本系统能够对超市的信息进行统计分析,使得经营者能够根据结果制定更好的经营计划,降低运营成本。与传统的超市管理模式相比,本系统有种许多优势,例如以下几点:与传统的超市信息存储不同,传统的超市信息一般存储于纸质材料或电脑文件夹中,容易被系统外人员查阅,而本系统会将读取的超市信息数据存储到MySQL数据库之中,不知道数据库密码的人员无法查阅超市信息,能够给超市信息很好的保护。由于超市信息存储在数据库之中,我们能够对数据进行备份,相比于传统模式,能够避免数据的遗失和错漏,而且数据存储于数据库中,数据能够被更好的整理,数据之间也能完全一一对应,更加安全可靠。传统模式的进货销售账单汇总的过程一般都是人工统计,这种统计方法浪费大量时间还不一定能够获取准确的结果,而本系统设计了一个统计报表模板,通过该模板,我们能够直接让系统生成简洁明了的销售折线图,通过折线图,不仅能查阅销售记录,也能直观的看出超市的经营情况。该模板能够节省使用者的时间,让管理工作更有效率。系统使用了用户登录模块,能够更好的保护系统的安全性。使用了登录模块,本系统只有系统工作人员才能够进入本系统,在本系统内查阅信息,保证了超市信息的安全性。传统模式在结账收银时,一般采用人工现金收银找零,这种找零方式容易出现计算错误,并且较为繁琐。本系统支持现金支付和支付宝支付,现金支付能够根据收取金额计算找零金额,而支付宝支付只需要获取客户的付款码便能进行收银,更为方便,可以极大提高员工作效率。1.5文章组织结构本文一共可分为七章,主要完成惠民超市管理系统的设计与实现。组织结构如下:第一章:绪论,叙述了本系统研发的研究背景和研究意义,并对超市管理的现状进行了分析,介绍了系统研发过程中研究内容和方法。第二章:相关理论与技术,主要介绍了开发过程中用到的相关技术和有关开发工具。第三章:系统分析,首先对系统的需求进行分析,在此基础上,然后对系统的功能进行分析,设计了七大功能模块。第四章:系统设计,首先对系统的数据库进行了相关的设计,包括E-R图和相关数据结构设计,然后简要说明了系统设计开发环境。第五章:系统实现,在本章主要介绍了系统主要的七大功能模块:用户登录模块、前台收银模块、销售订单管理模块、采购管理模块、基础信息管理模块、销售数据统计模块、个人密码修改模块的实现。第六章:系统测试,介绍了测试的概念,对本系统测试的内容以及相应的测试结果。第七章:总结和展望,介绍了本文的总结和自己开发过程中的收获,提出了系统中的不足和改进方向。第2章相关理论与技术本系统采用Eclipse、Mysql和Tomcat作为开发工具。本系统通过Java技术里的SSM框架和数据库技术来实现。数据库技术用于存储超市的信息数据以及对超市相关数据进行操作。使用Java技术提供前后端信息交互,并对一些数据进行后端处理。2.1SSM框架简介SSM框架是对Spring框架、SpringMVC框架、Mybatis框架三个框架的整合,是一种标准的MVC模式。其中,Spring主要用于业务对象的管理,SpringMVC主要用于对视图的管理以及请求的转发,Mybatis主要用于和数据库的连接以及操作。2.1.1Spring框架Spring框架是Java平台的一个开源的基于IOC(反转控制)和AOP(面向切面编程)结构的J2EE系统框架。Spring是一个开源容器框架,它集成各类型的工具,通过核心的Bean

factory实现了底层的类的实例化和生命周期的管理。在整个框架中,各类型的功能被抽象成一个个的Bean,这样就可以实现各种功能的管理,包括动态加载和切面编程REF_Ref22484\w\h[5]。其中,IOC是Spring的基础,实现Bean的创建和管理,而AOP是Spring的重要组成部分,将核心业务功能和切面功能分别独立进行开发,然后再交织到一起。Spring进一步改变和扩展了J2EE的思想,使其成为一个更加开放、清晰、全面和高效的开发框架REF_Ref22631\w\h[6]。Spring能够将表现层、业务层、持久层整合起来,为开发者提供更高的灵活性,降低了业务对象管理的复杂度,简化了开发者对数据库的一些操作,而且它的低入侵设计也降低了代码对于框架的依赖,增强了组件的复用性。2.1.2SpringngMVC框架SpringMVC框架用以解决前端的访问和请求。在Web应用开发过程中,SpringMVC框架容纳了包括JSP在内的大量视图技术,可以灵活配置REF_Ref22837\w\h[7]。SpringMVC有着清晰的角色划分:前端控制器、请求到处理器映射、处理器适配器、视图解析器、处理器或页面控制器,并且分工明确,扩展性强,能够与Spring进行无缝结合,越来越多的开发者选择MVC。2.1.3Mybatis框架Mybitas作为持久层框架,主要用于数据库和Spring之间的信息交互,通过XML或者注解将对象和相应的SQL关联到一起。Mybatis不会对相关的数据库和应用程序的设计产生任何影响,具有较大的灵活性,并且通过DAO层,将数据库数据访问和业务功能逻辑完全分离,极大降低了SQL语句和应用程序之间的耦合性。Mybatis通过XML表达式语言,可以动态的生成SQL语句,与JDBC相比,简化了大量的代码量,是最流行的Java互联网持久框架。Mybatis的功能结构可分为三层:API接口层、数据处理层和基础支撑层。API接口层主要用于提供各种API接口,开发者可以通过这些API对数据库进行操作;数据处理层主要负责对SQL语句的相关操作,根据SQL语句对数据库进行操作;基础支撑层负责最基础的功能服务,如加载配置、事务管理和数据库连接管理等基础功能,为其他层提供基础支撑。可以将MyBatis理解成是一个用来管理数据增删改查的框架REF_Ref23029\w\h[8]。2.2数据库技术理论介绍2.2.1数据库简介数据库,什么是数据库?顾名思义,是指按数据的结构来组织、存储数据的仓库REF_Ref23085\w\h[9]。在数据库发展的这50年里,数据库技术飞速发展,Ashton-Tate公司引入了微机产品dBaseⅡ,形成了\t"/item/%E6%95%B0%E6%8D%AE%E5%BA%93%E6%8A%80%E6%9C%AF/_blank"关系数据库管理系统,数据库技术开始应用于计算机上,到了80年代中后期,人们使用局域网技术将计算机连接形成网络,计算机之间可以共享数据库信息,被称为客户机/服务器数据库结构。现在数据库技术已经是现代信息科学与技术的重要组成,各类管理系统的核心。数据库技术的广泛应用,不仅解决了数据信息的存储问题和组织问题,并且增强了数据信息的安全性。数据库技术有着许多优点,例如:(1)数据库技术有着数据共享性,这也是数据库技术最显著的特点。与传统的人工管理数据不同,当使用了数据库技术,用户能够自由的使用数据库中的信息数据,数据能够在同一时间被不同用户使用,提高了工作效率。(2)数据独立性是数据库技术的一个基本特征,能够减少应用程序和数据库中的数据之间的依赖关系,增强逻辑数据独立性和物理数据独立性。(3)在传统的文件管理系统中,经常会在不同位置存放相同的数据信息,如果某一处信息改变,其他位置的数据也要跟着改变,否则会造成数据的错误,如果使用数据库技术,就能极大的减少数据的冗余,避免数据之间的不一致。因此,与传统的信息数据管理模式相比,数据库技术可以说优点众多。2.2.2关系型数据库当今社会存在多种模型的数据库,如层次模型、网状模型、关系模型、面向对象模型、对象关系模型等等,其中层次模型和网状模型也被称为非关系模型,各种数据模型各有优缺点REF_Ref23313\w\h[10]。目前关系数据库是数据库应用系统的主流。关系型数据库通过表来存储数据,许多个表的结合就组成了数据库。。对于关系型数据库,关系模型的关系模型结构分为:关系:一个关系就可以看作一张行和列构成的二维表格。属性:即二维表的每一列就是一个属性。元组:即二维表的每一行就是一个元组。主码:即唯一一个用来确认一个元组的数据。域:属性取值的范围内数据的集合。关系模型:用于对关系的描述。虽然关系模型的结构十分简单,但是能够用来表现出实体之间的各种各样的关系。关系型数据库有着许多优点,例如:(1)通过行和列的形式进行存储,相对于网状模型、层次模型来说容易理解,且方便查询和读取。(2)操作比较方便,关系型数据库使用结构化查询语言(SQL)来操作数据库,而SQL功能强大,应用广泛,用来操作数据库十分方便。(3)关系型数据库遵守ACID原则,重视数据的一致性,可以充分满足数据库的操作要求,对于事务的处理更加方便有效。当然,关系型数据库也有着一些缺点,因为关系型数据库重视数据的一致性,数据库的读写性能受到了一定的影响,一旦处理海量数据,效率就会很低。但是作为一个中小型超市管理系统的数据库,关系型数据库是十分合适的。2.3相关开发工具介绍2.3.1EclipseEclipse是著名的自由集成开发环境(IDE),主要用于Java语言的开发。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。Eclipse支持各种应用程序开发工具构建,也支持工具来操作任意内容类型,比如html,css,JavaScript等,促进工具在不同内容类型和工具提供者之间无缝集成。Eclipse有着强大的可扩展性和开放性。所有选择clipse作为开发工具。2.3.2MySQLMySQL是一个传统的关系型数据库管理系统,将数据保存在不同的表里,而不是所有数据都放在一个仓库里,加快了MySQL的读取速度,大大提高了它的灵活性和可管理性。MySQL它的开放式的架构让用户的可选择性更强,而且功能稳定,性能卓越,在遵守GPL协议的前提下,可以免费使用和修改,受到众多开发者的喜爱。虽然MySQL与很多其他的数据库软件相比有很多缺点和劣势,比如领域受限,开发和维护存储过程困难,功能不够完善等等,但是MySQL对于个人开发者和大部分中小型企业来说,完全能够满足需求,并且MySQL作为开源软件,使用成本较低,性能出色。因为MySQL体积小,性能优越,使用成本低,且可靠稳定,能够做到多线程,多用户,所以选择MySQL作为数据库。2.3.3TomcatTomcat是一种servlet/jsp容器,是在sum公司的JSWDK基础上的一个Servlet和Jsp的规范标准实现,因为Tomcat能够给使用者提供性能稳定且免费的服务,深受个人开发者和部分企业的喜爱,是目前较为流行的web应用服务器。Tomcat是一种轻量级应用服务器,在中小型系统中和并发访问下被普遍使用,其主要优势在于运行是占有系统资源较少,并且支持负载均衡和一些开发应用系统常见功能,适用于JSP程序的调试与开发。2.4本章小结本章主要介绍了开发本系统所使用到的相关技术以及开发工具,对于SSM框架技术,本章主要介绍了构成SSM的Spring、SpringMVC、Mybatis三大框架。关于数据库技术,本章主要介绍了数据库的发展和优势,以及关系型数据库的优缺点。并对三个主要开发工具进行了简述。系统分析3.1可行性分析3.1.1系统的技术可行性本系统的开发主要由Java的SSM框架和MySQL数据库进行开发,通过SSM框架可以很好的将业务层、持久层和视图层相结合,MySQL数据库也能够将超市的相关数据安全可靠的保存,通过这种开发的技术进行的成功开发案例有很多,因此在技术上是可行的。3.1.2系统的经济可行性从目前我国超市产业的繁盛发展来看,在进一步的发展中想必会更加繁盛,若超市企业想在较低的成本投入的基础上得到更高的效益和利润,就必然要开发和使用一个在管理和维护等方面费用都较低并且易于操作且安全性能够得到保障的操作系统REF_Ref23692\w\h[11]。开发一套合适的超市管理系统,能够节省超市的大量人力物力,而且更加稳定可靠,能够给超市带来更好的经济效益,因此,本系统在经济上是可行的。3.1.3系统的操作可行性在计算机相对普及的今天,人们基本上对计算机的操作都有着一定程度的了解,对于网页的浏览也都能够正常操作。本系统基于B/S结构,在浏览器上进行界面的操作,而且操作界面简洁,功能完整,系统用户能够轻易的掌握系统的操作的方法。因此,本系统在操作上是可行的。3.2功能需求分析在进行超市管理系统设计之前,我们首先应该进行超市的需求分析。我们设计的系统是中小型超市管理系统,首先应该大致了解超市业务的一些基本流程,然后根据这些基本流程来设计系统。主要的一些功能需求如下:(1)商品供应商的管理:超市的经营离不开与供应商的合作,因此就需要对供应商的具体信息进行有效的管理。商品供应商的主要信息应该包含供应商的名称、供应商所在地址、商品供应商的电话联系方式以及该供应商主要经营的商品种类,而对商品供应商的信息管理应该包括添加新的供应商信息,删除废弃的供应商信息并将与其相关的数据信息进行修改,对商品供应商信息进行调整维护,能够快速查询到用户需要的供应商信息。(2)商品信息管理:商品是超市最重要的一个部分,是超市的灵魂所在,所以在超市管理中,商品信息的管理是重中之重,商品的信息应该包括商品名称、商品价格、生产日期、保质期、商品编码、商品产家、商品计量单位、出产地、商品种类等属性。对商品信息的管理应该包含添加商品信息,删除商品信息,修改商品信息以及查询商品信息这些基础功能,并且能够导出商品信息的Excel表格。(3)员工信息管理:员工负责超市的销售经营,对于中小型超市而言,并不需要大量员工和过多层次的级别划分,员工的信息也不需要过于复杂。员工的信息主要包含员工的姓名、员工的工作编码、员工性别、手机号码、员工生日、工资、职位以及需要使用到本系统的员工的登录密码。员工信息管理的主要功能包含添加员工、删除员工、个人密码修改、员工信息修改、员工信息查询。(4)销售订单管理:超市每天的交易往来是海量的,因此销售订单的管理是必不可少的,销售订单包括订单编号、订单日期、订单总金额、销售员工编号以及会员卡号(非会员此项为空)。对于销售订单的管理,应该能够删除订单,能够查阅订单内部的详细商品信息以及商品数量。(5)会员业务管理:会员一般是经常来超市消费的顾客,超市可以在不侵犯顾客隐私的前提下,为顾客开通会员。会员信息包含了会员卡号、会员姓名、注册日期以及总的消费金额。会员的管理业务主要包括会员的注销、添加会员以及对会员消费记录的查询。(6)收银业务管理:前台收银是销售的重要部分,前台收银能够录入顾客购买的商品,生成并添加订单,收银时能够进行找零的计算,并且应该支持支付宝付款码的支付。(7)采购信息管理:超市管理者可以根据商品库存数量来决定是否需要进货,进货完成后需要对采购单进行管理。采购单的信息主要包括采购单编码、采购的商品信息、采购日期、供应商信息以及是否到货。对采购单的管理主要是到货的确认、采购单删除以及能够根据日期进行采购单查询。(8)销售统计数据生成:系统可以根据销售情况销售本月内的销售金额折线图,能够让使用者清晰的了解本月的经营情况。系统也能生成当日各种商品种类的销售信息饼状图以及本月商品销售排行,用户可以直观的了解各类商品销售情况。以上的叙述就是对中小型超市管理系统的一个整体功能需求分析。3.3本章小结本章分为两部分,首先对开发本系统的技术可行性、经济可行性、法律可行性进行了全面分析,然后介绍了开发一个中小型超市管理系统的功能需求分析,需求分析叙述了开发本系统的基础需求的功能。第4章系统设计4.1数据库设计4.1.1系统E-R图数据库设计的不合理,会造成数据的冗余,也会提高程序代码部分的复杂程度,还会影响到系统的运行速度,进而影响到用户的体验REF_Ref23784\w\h[12]。数据库设计的基础就是建立系统的概念数据模型,描述系统概率数据模型常用的方法是实体-联系(Entity-Relationship)方法,也叫E-R方法,使用的工具称为E-R图REF_Ref23813\w\h[13]。其中E-R图的三个基本要素分为实体、属性以及联系。下面介绍本系统中实体间的联系,在画E-R图时,我们用矩形表示实体、用椭圆表示属性、使用菱形表示联系REF_Ref23842\w\h[14]。员工的属性包括员工编码、员工姓名、员工性别、电话号码、员工生日、员工工资、员工职位、员工登录密码。员工编码为该实体的唯一标识。如图4.1所示。图4.1员工实体和属性商品的属性包括商品编码、商品名称、商品种类、生产日期、商品价格、商品单位、库存数量、生产厂商、生产地、保质期、商品折扣。商品编码为该实体的唯一标识。如图4.2所示。图4.2商品实体和属性会员的属性包括会员卡号、会员姓名、会员注册日期以及总消费金额。会员卡号为该实体的唯一标识。如图4.3所示。图4.3会员实体和属性供应商的属性包括供应商编码、供应商名称、联系电话、供应商地址。供应商编码为该实体的唯一标识。如图4.4所示。图4.4供应商实体和属性购物订单的属性包括订单号、订单日期、总价格、收银员员工编码、会员卡号。订单号为实体的唯一标识。如图4.5所示。图4.5购物订单属性和实体订单子项的属性包括ID、订单编号、商品编码、商品数量、日期。ID为实体的唯一标识。如图4.6所示。图4.6订单子项属性和实体采购单的属性包括采购单编号、采购商品编码、采购数量、商品价格、总价格、采购日期、供应商编码、到货状态。其中采购单编号为实体的唯一标识。如图4.7所示。图4.7采购单的实体和属性设计完各个实体的E-R图,然后对各个实体之间的联系进行分析。一个供应商可以提供多张采购单,而一张采购单只能来源于一个供应商,供应商和采购单的关联是一对多(1:N)。一种商品可以来源多个采购单,而一张采购单只用来购买一种商品,故而商品和采购单的关联是一对多(1:N)。一张销售订单只能有一个收银员工,而一个员工能收银多张订单,员工和销售订单的关联是一对多(1:N)。一张销售订单可以有多个订单子项,而一个订单子项只能来源于一张订单,订单和订单子项的关联是一对多(1:N)。一件商品可以存在多张销售订单,而一张销售订单也可以有多件商品,商品和销售订单的关联是多对多(N:M)。如图4.8所示。图4.8实体之间的联系4.1.2数据库逻辑设计完成了数据库的E-R图的设计,下面就对本系统的数据库表的逻辑结构进行具体的说明:(1)员工信息表用于存储本系统的基础员工信息,如表4.1所示:表4.1员工信息表序号字段说明字段名数据类型长度约束1员工编码staffcodevarchar32主键2员工姓名staffnamevarchar103性别staffsexvarchar34电话号码staffphonevarchar155员工生日staffbirthdaydate续表4.2员工信息表序号字段说明字段名数据类型长度约束6工资staffsalaryfloat7密码passwordvarchar208职位staffroleint3外键(2)商品信息表主要用于存储超市商品的基础信息,如表4.2所示:表4.2商品信息表序号字段说明字段名数据类型长度约束1商品编码productcodevarchar32主键2商品名称productnamevarchar303商品种类编码productcategorycodevarchar32外键4生产日期productdatedate5价格productpricefloat6单位productunitvarchar47生产厂商productsupplyvarchar308生产地productplacevarchar309数量productnumberint810折扣discountdouble11保质期expirydateint3(3)供应商信息表用于存储超市供应商的基本信息,如表4.3所示:表4.3供应商信息表序号字段说明字段名数据类型长度约束1供应商编码providecodevarchar32主键2供应商名称providenamevarchar303联系电话providephonevarchar154地址provideaddressvarchar60(4)会员信息表用于存储会员的基础信息,如表4.4所示:表4.4会员信息表序号字段说明字段名数据类型长度约束1会员卡号membercardvarchar32主键2会员姓名membernamevarchar103总消费额totalcastfloat4注册日期regdatedate(5)销售订单表主要用于对销售信息的记录和保存,如表4.5所示:表4.5销售订单表序号字段说明字段名数据类型长度约束1订单编号ordernovarchar32主键2订单日期orderdatedate3总价格totalpricedouble4收银员员工编码orderstaffcodevarchar32外键5会员卡号membercardvarchar32外键(6)订单子项表用于对各个订单的具体子项进行存储,如表4.6所示:表4.6订单子项表序号字段说明字段名数据类型长度约束1IDidint4主键2订单编号ordernovarchar32外键3商品编码productcodevarchar32外键4数量numberint85日期itemdatedate(7)采购单信息表主要用于对采购单的信息进行管理,如表4.7所示:表4.7采购单信息表序号字段说明字段名数据类型长度约束1采购单编号stockcodevarchar32主键2采购数量numberint83单价pricefloat4总价格totalpricefloat5采购日期stockdatedate6到货状态stockstateint37供应商编码providecodevarchar32外键8商品编码productcodevarchar32外键(8)供应商经营商品种类表:用于存储供应商经营的商品种类,如表4.8所示:表4.8供应商经营种类表序号字段说明字段名数据类型长度约束1IDidint5主键续表4.8供应商经营种类表序号字段说明字段名数据类型长度约束2供应商编码providecodevarchar32外键3商品种类编码categorycodeVarchar32外键(9)商品种类表:存储商品种类信息,如表4.9所示:表4.9商品种类表序号字段说明字段名数据类型长度约束1IDidint5主键2商品种类编码categorycodevarchar323商品种类名称categorynameVarchar32员工职位信息表表4.10员工职位信息表序号字段说明字段名数据类型长度约束1IDidint5主键2职位编码rolecodevarchar323职位名称rolenameVarchar304.2功能模块设计在上一章功能需求分析完成后,就需要通过对需求分析的结果进行所需的功能设计,通过对系统的需求分析,可以将整个系统分为七大模块,这些模块分别是用户登录模块、前台收银模块、销售订单管理模块、采购管理模块、基础信息管理模块、销售数据统计模块、个人密码修改模块,功能模块结构图如下图4.9所示:图4.9系统主要功能模块图对各个主要功能模块进行功能设计:用户登录模块:通过登录模块,系统可以确认是否为用户在登录系统,能够更好的保护系统安全,并且在登录时,能够通过对用户账户的识别,判断用户的使用权限,跳转到不同的操作界面。前台收银模块:前台收银模块主要负责对顾客购买商品进行录入,并生成相应的订单,并对顾客是否为会员进行查询。支付时分为现金支付和支付宝支付,当顾客选择现金支付时,可以实现找零功能,当支付宝支付时,通过获取顾客的付款码进行支付。主要功能设计如图4.10所示:图4.10前台收银结构图销售订单管理模块:通过订单管理模块,能够对超市销售的订单进行按日期的查询,对一些无用的订单可以删除,也能查阅订单内部的商品及购买数量等详细信息。采购管理模块:采购管理主要负责对商品进行进货,选择采购商品的供应商,当采购的商品到货时,可以进行商品到货确认的操作。并且能够对采购单进行相应的管理,查询商品是否到货,以及删除过时的采购单。功能设计如图4.11所示:图4.11采购管理结构图基础信息管理模块:基础信息管理模块可以分为商品信息管理模块、供应商信息管理模块、会员信息管理模块和员工信息管理模块四个小模块,这四个模块的基本功能都相差无几,主要就是用以对数据信息的添加、查询、删除和修改的基本操作,添加数据时,可以通过Excel表单批量导入,也可以将数据批量导出成Excel表单。其中会员信息管理模块还可以对会员的消费记录进行查询。基础功能结构如图4.12所示:图4.12基础信息管理结构图销售数据统计模块:销售数据统计模块能够将一个月的每日销售金额进行汇总,并且以直观的折线图形式呈现给系统用户,同时也能将本日的商品种类销售比以饼状图的形式反馈给用户,让用户能够清晰的了解经营情况。具体功能结构如图4.14所示:图4.13销售数据统计结构图个人密码修改模块:该模块的设计主要是为了增强系统的安全性,当用户认为自己的原密码不过安全时,可以对密码进行修改。当修改密码时,首先要输入一次原密码,在原密码正确的情况下,再输入两次新密码,并保证两次输入信息一致,否则将会出现错误提示。这七大功能模块,涵盖了本系统的全部基础功能。然后通过这些功能模块,设计实现出适合使用的中小型超市管理系统。4.3系统开发环境本系统主要采用Java进行开发,具体开发环境如下:操作系统:Win10;开发工具:eclipse、Tomcat;数据库:MySQL;4.4本章小结本章主要介绍了系统设计,首先对数据库进行了逻辑的分析设计,描绘了系统开发过程中的E-R图,并具体的说明了各个表的具体字段和数据类型,对系统的各个功能模块进行了分析设计,并简要介绍了本系统开发环境。第5章系统实现在前面几章,完成了对系统的分析和基本设计,本章将根据之前的数据库表的结构和内容以及各个功能模块的设计,进行编码实现,从而达到本系统的所有功能需求。5.1用户登录模块的实现用户做为软件的使用者与维护者,有着较高的权限,用户的使用与应用系统的安全以及超市的运行具备直接关联,因此用户运用的密码需要完成全面的加密程序,这样才能让软件体系运行在安全的环境中REF_Ref23940\w\h[15]。登录模块的大致流程图如图5.1所示:图5.1用户登录模块流程图当输入账号或者密码没有权限或者错误时,无法进入系统,系统将会自动提示账号或密码错误,如果绕开登录界面直接进入内部管理界面时,系统将会自动拦截,跳转到登录界面,提示未登录。当输入的信息全部正确时,就能够成功进入系统。能够根据登录用户的权限跳转到不同的操作界面。这些功能阻止了未经授权直接进入系统的行为,保证了系统的安全性。5.2采购管理模块登录到主界面之后,能够在商品管理界面对特定商品进行采购,进入采购页面后,系统会提供所采购商品的供应商列表,用户能够自主选择合适的供应商,并填写所需采购数量。实现效果如图5.2所示:图5.2商品采购界面采购完成后,可以对采购信息进行管理,可以根据采购日期和是否到货进行信息查询,当采购商品到货时,可以点击确认到货按钮进行确认,同时实现对采购订单的删除功能。具体实现页面如图5.3所示:图5.3采购单管理界面对采购到货确认的主要源代码如下:@RequestMapping("/sys/stockstate")publicStringstockstate(@RequestParamStringstockcode) { ss.stocksetstate(stockcode);//通过采购单编号将到货状态进行修改 Stocks=ss.findStockByid(stockcode);//通过采购单编号查找采购单 intnum=s.getNumber();//获取采购商品数量 Stringproductcode=s.getProductcode();Productpp=ps.findProductById(productcode);intnumber=pp.getProductnumber();number=number+num;ps.setproductnumber(number,productcode);//对采购商品的库存数量修改return"redirect:/sys/stocklist";//确认完毕,跳转到list界面}5.3前台收银模块在进行前台收银时,首先要在系统中录入顾客购买商品的信息和购买数量,以及顾客的会员卡号,并且有现金支付和支付宝支付两种支付方式进行支付,具体实现效果如图5.4所示:图5.4收银商品录入界面前台收银模块的流程图如图5.5所示:图5.5前台收银功能流程图如果选择现金支付的方式,跳转到现金支付的界面,显示该订单的大致信息,系统将根据收银时间生成相应的订单号,用户可以在系统中录入顾客支付的金额,并显示需要找回多少金额给顾客,若顾客为会员,某些商品享有一定优惠。收银完成后会在系统将自动保存订单信息,实现界面如图5.6所示:图5.6现金收银界面如果顾客选择支付宝支付,就会跳转到支付宝支付的界面,并显示订单的大致信息,收银员可以录入顾客所展示的支付宝付款码,收银时不需要顾客输入支付宝密码,直接完成收银,具体实现效果如图5.7所示:图5.7支付宝收银界面其中支付宝支付的主要源代码如下:Configs.init("perties");//调用Configs.init()设置默认参数AlipayTradeServicetradeService=newAlipayTradeServiceImpl.ClientBuilder().build();StringoutTradeNo=request.getParameter("orderno");//获取订单编号Stringsubject="惠民超市消费";StringtotalAmount=request.getParameter("nowtotalprice");StringauthCode=request.getParameter("authCode");//获取顾客付款码StringstoreId="NJ_001";StringtimeoutExpress="5m";AlipayTradePayRequestBuilderbuilder=newAlipayTradePayRequestBuilder().setOutTradeNo(outTradeNo) .setSubject(subject) .setAuthCode(authCode) .setTotalAmount(totalAmount) .setStoreId(storeId) .setTimeoutExpress(timeoutExpress);//创建条码支付请求builder,设置请求参数AlipayF2FPayResultresult=tradeService.tradePay(builder);//调用tradePay方法获取当面付应答5.4基础信息管理模块基础信息管理模块分为四个小模块,分别为商品信息管理模块、员工信息管理模块、会员信息管理模块以及供应商信息管理模块。四个小模块的基础功能差别不大,下面分别一一实现。5.4.1商品信息管理模块该模块用于维护超市中商品的基本信息,能够根据商品的名称和商品种类对商品进行查询,并且能够增加商品和商品种类,对商品的基本信息进行修改和删除操作。具体实现效果如图5.8所示:图5.8商品信息管理界面5.4.2员工信息管理模块该模块用于对员工信息的基本管理,能够根据员工的名字和职位进行员工查询,并实现基本的增加、删除、修改操作,具体实现效果如图5.9所示:图5.9员工管理界面5.4.3会员管理模块该模块用于会员信息的管理,可以根据输入的会员卡号查询会员信息以及会员的消费记录的订单,输入要新增的会员卡号和姓名可以新增会员,并且能够注销会员。实现效果如图5.10所示:图5.10会员信息管理界面5.4.4供应商管理模块该模块对供应商的信息进行管理,能够实现对供应商的增删改查的基础功能,实现效果如图5.11所示:图5.11供应商管理界面5.5个人密码修改模块该模块用于对用户的密码进行修改,提高用户信息的安全性,需要输入原密码,以及输入两次新密码,如果原密码错误,则提示密码错误,如果两次新密码输入不一致,则提示两次输入不一致,具体效果如图5.12所示:图5.12个人密码修改界面密码修改的主要源代码如下:Stringpassword=request.getParameter("password1");//获取输入的原密码 Stringmopass=request.getParameter("mopass");//获取新密码Staffstaff=(Staff)session.getAttribute("userOnlogin");Stringnowpwd=staff.getPassword();//获取当前用户密码 Stringstaffcode=staff.getStaffcode();//获取当前用户编码if(password.equals(nowpwd))//如果原密码正确{ ss.pwdModify(mopass,staffcode);//对密码进行修改 return"redirect:/sys/info";//返回修改界面}具体的密码修改流程图如图5.13所示:图5.13个人密码修改流程图5.6销售订单管理模块通过本模块,能够对超市以往的订单进行管理,能够根据订单日期进行订单查询,同时能够查看各个订单的购买商品详细信息,以及删除所选订单。实现效果如图5.14所示:图5.14销售订单管理界面5.7数据统计模块该模块能够对超市的经营情况进行汇总,生成一个月内每日的销售金额折线图,也能够生成每日销售商品种类比例的饼状图,也能够实现本月销售商品排行功能,其中销售金额折线图如图5.15所示:图5.15营业额折线图界面每日销售的商品种类比例饼状图实现效果如图5.16所示:图5.16商品销售比例饼状图界面本月的销售商品数量排行实现效果如图5.17所示:图5.17本月商品销量排行图5.8本章小结本章在系统设计的基础上,对本系统的七大模块:用户登录模块、前台收银模块、销售订单管理模块、采购管理模块、基础信息管理模块、销售数据统计模块、个人密码修改模块的实现进行了具体的说明,并给出了实现效果图和相关流程图。第6章系统测试当系统设计完成后,应该对本系统进行系统测试,系统测试是应用系统开发很重要的一个步骤,通过该步骤,能够发现系统中的疏漏和错误,程序的设计是否能够满足需求,从而进行完善和改进,提高系统的可靠性。6.1测试的概念软件测试是软件生命周期中开发阶段后期的重要步骤,也是软件质量保证的关键步骤REF_Ref24669\w\h[16]。在系统开发的过程中,系统测试的过程是必不可少的,只有对系统进行全方位且合理的测试,才能保证系统能够正常的运行,经过多次的测试,才能更好的满足实际需求。测试工作作为十分重要的工作环节需要被明确,因为在先进的社会中对测试软件工作还存在很多不解甚至是错误的观念,测试工作要想顺利地进行,这种观念当被抛诸脑外REF_Ref24701\w\h[17]。6.2功能测试6.2.1登录模块测试对用户登录模块进行测试,主要是是对用户名及密码等信息进行分析测试,当输入的用户名和密码符合要求时才能够登录系统,用户名必须是字母和数字的组合,如果输入不符合语法规则,或者输入的登录信息和数据库内的不匹配,会提示错误,要求重新输入,如图6.1所示:图6.1登录测试具体的登录模块测试表如下表6.1所示:表6.1登录用例测试表账号密码期望结果实际结果结果分析admin1234正确成功登录正确liuxx12344错误账号或密码错误正确duanyu00000正确成功登录正确dfdsf213erre错误账号或密码错误正确6.2.2基础信息管理模块测试基础信息管理模块分为供应商管理、员工信息管理、会员信息管理、商品信息管理四个小模块,对四个小模块分别进行增加、删除、修改、查询操作测试,根据结果分析这些操作是否完全实现。对四个小模块的功能测试的相应的操作基本相同,这里以员工信息管理为例,当点击某个员工的删除按钮时,会弹出是否删除的弹窗提示,确认之后,进入数据库查看该员工的信息是否被删除,这是对删除功能的测试。在页面上方输入查询信息,点击查询按钮时,界面会显示被查询的员工信息。当添加或修改员工信息时,信息填写完毕并点击添加之后,在数据库内查看是否添加或修改完成,并且当输入不符合语法规则的信息时,系统会提示错误。错误提示如图6.2所示:图6.2信息输入错误提示警告图6.2.3销售订单管理模块测试对于该模块的测试主要是测试对销售订单信息的删除、查询以及查看详细信息的操作是否能够不出差错的实现,当点击某订单的详细信息按钮能否正常查看详细信息进行测试操作,当输入查询条件信息时能否准确找到要查询的信息进行测试。当订单删除订单信息时给出是否删除警告,确认后订单信息是否还存在进行查看。删除时提示如图6.3所示:图6.3订单删除提示图6.2.4前台收银模块测试对于前台收银模块,首先对其录入商品的情况进行测试,是否能够准确的录入商品,当录入相同商品时,应该只是增加采购商品的数量,不会新增一项商品栏。然后对现金支付进行测试,当使用现金支付时,能否准确的计算找零金额,如果是会员,是否进行了相应的商品折扣优惠,收银完成之后,订单是否被保存到数据库之中。最后对支付宝支付进行测试,当支付宝收银完成之后,是否能够成功接收支付成功的消息,顾客方是否会接收支付完成的通知,收银员输入顾客付款码的长度是否符合付款码长度标准,不符合时,文本框显示红色进行提醒。如图6.4所示:图6.4付款码输入错误提示图6.2.5个人密码修改模块测试对于该模块的测试,主要是测试能否将账号的密码正确修改,修改完成后再次登录系统是否可以正常登录,当原密码不对时或者两次输入不一致是否给出相应的提示。密码修改输入错误提示如图6.5所示:图6.5密码输入错误提示图6.2.6数据统计模块测试数据统计模块测试主要测试统计的数据是否准确,绘制的相应图表是否准确。6.2.7采购管理模块采购管理模块测试首先测试能否正常进行采购,生成相应的采购单,然后当在采购单中确认到货后,商品的库存数量是否会自动的相应增加,在查询框输入查询条件后是不是能够准确找到符合条件的采购单,根据条件查询的采购单信息如图6.6所示:图6.6条件查询后的采购信息界面6.3测试结果对各个模块进行测试之后,各个模块的基本功能都能够正常运行,测试出来的相关bug也已经进行了修改,各个模块能够满足基本的功能需求,能够在正常反应时间内完成相应操作。6.4本章小结本章是在系统实现之后对于系统的测试,首先给出了测试的概念,然后对系统的各个模块的功能进行了测试并描述了相应的测试结果。第7章总结和展望7.1总结随着计算机技术的快速发展,数据库应用技术必将被越来越广泛的使用和更多的关注。通过几个月的技术学习、阅读文献、系统开发和调试,惠民便利超市管理系统在老师的悉心教导下,能够基本实现应有的功能。在开发本系统之前,并没有系统的学习过Java的J2ee知识以及SSM框架的应用,对数据库的认识也只是进行简单的增删改查操作,通过本

温馨提示

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

评论

0/150

提交评论