计算机专科毕业论文-超市管理信息系统分析与设计_第1页
计算机专科毕业论文-超市管理信息系统分析与设计_第2页
计算机专科毕业论文-超市管理信息系统分析与设计_第3页
计算机专科毕业论文-超市管理信息系统分析与设计_第4页
计算机专科毕业论文-超市管理信息系统分析与设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

摘要自5G开发并应用于网络设备以来,Internet技术发展迅速,使Java技术在WEB应用领域得到了快速发展,不但能方便浏览各项信息,同时也能通过收集数据提升企业管理水平,不仅方便了信息的管理和传递,而且节约了大量的资源。本课题的目的是设计并实现一个基于Java语言开发的大型商超信息管理系统,此系统包含了商超管理中的进货、分销、库存、人员管理、信息数据查询对比等功能。因此它不仅可以解决商超管理由于仓储过程中频繁处理不必要的人力浪费,同时提高了商超管理过程中的数据收集、分析计算的效率。关键词:商超管理;信息管理系统;Java;系统设计

引言设计背景近年来我国连锁商超行业发展较快,随着连锁分店的扩充,经营的规模、店面数量在不断扩大。2019年中国大型超市门店数量为5341个,同比增长12.2%,连锁百强销售规模近2.6万亿元,同比增长5.2%;其次超市百强销售收入达9792亿元,同比增长4.1%,约占全年社会食品零售总额的18.1%;时尚零售百强销售总额达到7328.40亿元,同比增长12.47%,高于社会消费品零售总额8.0%的同比增速。自2019年底以来,受疫情影响,各个大型商超也瞄准社区市场,其中京东、天猫、苏宁等等线上大型商超均在铺设社区服务店,因此根据市场需求打造一套大型商超信息管理系统已经刻不容缓。虽然商超信息管理系统并不能改善疫情问题,但社区服务店可减少社区常驻人员与其他外来人员的直接接触,从而减少疫情传播。同时大型商超信息管理系统作为企业管理软件旨在方便商超管理者的企业管理,服务于企业和客户。它能让且管理者方便的进行信息化管理,直观的分析计算并监察商超交易的各项信息数据;管理者可以根据员工所承担的角色赋予不同的管理权限。从企业来说,管理者可以根据数据了解管理成果,了解各阶层消费者的消费习惯,提高管理层的决策能力,提高工作效率,降低运营成本,增加市场竞争力。主要研究内容本论文主要依据西安电子科技大学网络与继续教育学院“大型商超信息管理系统的设计分析”这一科研课题来撰写的。使用面向对象的分析方法和基于对象组件的开发方法,可根据系统功能和要求进行项目改造,改造过程中保证类与类之间的接口不变,可避免需求变化导致的整体反复修改,这样可使本系统可重用性、可修改性、可扩充性更好。此系统着重于解决商超的进销、库存、信息统计分析等方面的管理。系统的设计思想开发技术大型商超信息管理系统是以Java语言基于SPringBoot+MyBatis开发的一套系统。其具体开发采用IntellijIDEA+jdk1.8+tomcat5.5+MySQL平台,前台使用WebStorm设计开发各个页面,采用Docker容器化部署,浏览器采用Chrome浏览器。主要开发技术包含SpringBoot、SpringSecurity、MyBatis、RabbitMq、Redis、MongoDb、Vue、Axios等等多种技术。下面是本系统开发设计的主要开发技术的简介。SSM框架技术SSM框架就是:SPring+SPringMVC+MyBatis。SpringSpring是一个开源框架,Spring是于2003

年兴起的一个轻量级的Java

开发框架,它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。SpringMVCSpring

SSM分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。MyBatisMyBatis是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQLMaps和DataAccessObjects(DAO)MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。MySQL数据库MySQL是一个小型关系型数据库管理系统,将数据保存在不同的表中。同时它还是支持多种存储引擎,支持多线程,充分利用CPU资源,MySQL的SQL机构化查询语言优化了SQL查询算法,大大的增加了查询速度并且提高了灵活性。项目的系统架构及需求分析技术架构大型商超信息管理系统的设计分析的项目又用户层、UI层、微服务层、数据层等部分组成,为PC、App、H5等客户端用户提供服务。业务流程举例:1.用户可以通过PC、手机等客户端访问系统。2.对于PC、H5等客户端请求,首先请求UI层,渲染用户界面。3.客户端UI请求服务层获取具体的业务操作。4.服务层将数据持久化到数据库。各模块说明如下:序号名称功能描述1用户层用户层描述了本系统所支持的用户类型包括:PC用户、app用户、h5用户,pc用户可通过浏览器访问本系统,app用户可通过手机访问系统,h5用户通h5页面访问系统。2UI层UI层描述了系统向PC用户、app用户、h5用户提供的产品界面。根据系统功能模块特点确定了UI层包括如下产品类型界面:订单流程、商品搜索、客户服务、帮助中心、订单管理、用户管理、商品管理、统计报表、权限管理等内容3微服务层为服务层将系统服务分为三类:前端服务、后端服务及系统服务。4数据层数据层描述了系统的数据存储的内容类型,持久化的业务数据使用MySQL和MongoDB保存,其中MongoDB中主要保存系统日志信息。消息队列:存储系统服务间通信的消息,本身提供消息存取服务,与微服务层的系统服务连接。索引库:存储商品信息的索引信息,本身提供索引维护及搜索的服务,与为服务层的系统服务链接。缓存:作为系统的缓存服务,存储课程信息、分类信息、用户信息等,与微服务层的所有服务连接,5外部系统接口各个角色的用户登录系统,会员管理,财务管理以及管理员或财务使用系统为客户提供发票等接口6DevOpsDevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。本项目供了许多开发、运营、维护支撑的系统,包括:Eureka服务治理中心:提供服务治理服务,包括:服务注册、服务获取等。SpringCloudConfig服务配置管理中心:提供服务配置管理服务,包括:配置文件更新、配置文件下发等。HystrixDashboard服务熔断监控:监控熔断的请求响应时间、成功率等。Zipkin服务追踪监控:监控服务调用链路健康情况。Jenkins持续集成服务:提供系统持续集成服务。Git/GitLab代码管理服务:提供git代码管理服务。ELK日志分析服务:提供elk日志分析服务,包括系统运行日志分析、告警服务。Docker容器化部署服务:将本系统所有服务采用容器化部署方式。Maven项目管理工具:提供管理项目所有的Java包依赖、项目工程打包服务。需求分析系统功能需求首先本系统旨在设计并实现一个基于JavaEE商超信息管理的系统,该系统开发采用的是SSM三层架构,对于页面逻辑和对象的持久化,是通过MVC来实现的,使用数据库MySQL和Web服务器。系统功能需求包括:1.首先从登陆端选择用户身份,经过登陆验证登录到相应主页;2.管理者可以查看并管理所有员工、会员、商品信息、进销信息等;3.同时管理者还可以自动导入商品信息,并对员工信息和产品信息等进行增删改查的操作;4.管理者在登陆后可以查看商品的各种信息,并对相关的信息进行分析;5.管理者可以对系统内的各种信息进行增删改查的管理。系统结构需求商超信息管理系统的中心对象是管理者、员工、会员。根据系统的功能需求和系统性能的需求可以推出,该系统的结构主要是两个方向,第一个描述的是管理者登录后,对员工及其权限进行管理,同时可以对商品信息进行管理,并对各项数据进行分析;第二个描述的是员工登录后可以对商品信息进行增删改查,也可对会员进行增删改查。图3.1是系统结构图:图3.1系统结构图系统数据库设计根据所实现的功能设计,可以建立它们之间的关系,进而实现逻辑构造功能,商超信息系统可以划分的实体又:职工信息实体、顾客信息实体、商品信息实体、供货商信息实体、进货单信息实体、销售信息实体、库存信息实体。字段名称字段类型长度主键/外键字段约束职工编号Char6PNOTNULL姓名Char8NOTNULL性别Char2NOTNULL籍贯Char4NULL学历Char4NOTNULL职位Char10NULL工资Int4NULL联系方式Char12NULL备注Text50NULL字段名称字段类型长度主键/外键字段约束账号Char6P/FNOTNULL密码Char6NOTNULL字段名称字段类型长度主键/外键字段约束商品编码Char6PNOTNULL供货商号Char6FNOTNULL名称Char80NOTNULL条形码Char15NOTNULL计量单位varChar4NOTNULL类别Char8NULL产地Char50NULL单价int6NOTNULL备注Text50NULL字段名称字段类型长度主键/外键字段约束进货单号char6P/FNOTNULL商品编码char6P/FNOTNULL进货价格int4NOTNULL数量int4NOTNULL金额int4NOTNULL进货人员编码char6FNOTNULL进货日期Date8FNOTNULL备注Text50NULL字段名称字段类型长度主键/外键字段约束销售单号Char6P销售人员编号char6F销售日期Date8商品编号char6P/F数量int4备注Text50系统实现系统的详细设计转换为计算机程序代码,其结构良好,清晰易读,而且方便维护。系统登录和主页面设计本系统用户在输入登录信息后要选择登录角色,如果登录信息不存在或者错误,系统将会提示“用户名或密码错误!”,页面采用HTML设计,提交form表单,点击登录后可直接提交至后台代码,并进行验证。登录界面如图所示:图4.1登录界面主界面通过DIV+CSS设置一个大盒子区域,然后在盒子区域内显示相关的信息,当用户在前端页面点击相关选择按钮,并点击“登录”按钮时,前端页面会对用户信息进行表单信息的提交,并根据安全控件的设置,对用户授予不同的权限,然后进入显示不同的管理界面,后台功能接口代码作为逻辑判断代码,对提交代码进行分析判断,然后反馈给前端页面,并在前端页面动态显示出相对应的工作人员的信息及权限信息。权限控制项目中我们将所有的资源(所有请求URL)都保护起来,实际环境下往往又一些资源不需要认证也可以访问,也就是匿名访问。直接将用户名和密码配置在配置文件中,而真实生产环境下的用户名和密码往往保存在数据库中;在配置文件中配置的密码使用明文,非常不安全,因此真实环境下密码需要进行加密。根据这些需求我们使用了SPring-security框架进行权限控制,权限控制代码如下:配置可匿名访问的资源<!‐‐http:用于定义相关权限控制指定哪些资源不需要进行权限校验,可以使用通配符‐‐><security:httpsecurity="none"pattern="/pages/a.html"/><security:httpsecurity="none"pattern="/paegs/b.html"/><security:httpsecurity="none"pattern="/pages/**"></security:http>通过上面的配置可以发现,某些目录下的文件在没有认证的情况下可以随意访问。设定登录界面根据使用的登录页面修改spring-security.xml文件填写指定页面名称,,加入表单登录信息的配置,关闭CsrfFilter过滤器。代码段1:<html><head><title>登录</title></head><body><formaction="/login.do"method="post">username:<inputtype="text"name="username"><br>password:<inputtype="password"name="password"><br><inputtype="submit"value="submit"></form></body></html>代码段2:<!‐‐form‐login:定义表单登录信息‐‐><security:form‐loginlogin‐page="/login.html"username‐parameter="username"password‐parameter="password"login‐processing‐url="/login.do"default‐target‐url="/index.html"authentication‐failure‐url="/login.html"/>代码段3:<!‐‐csrf:对应CsrfFilter过滤器disabled:是否启用CsrfFilter过滤器,如果使用自定义登录页面需要关闭此项,否则登录操作会被禁用(403)‐‐><security:csrfdisabled="true"></security:csrf>从数据库查询用户信息如果我们要从数据库动态查询用户信息,就必须按照springsecurity框架的要求提供一个实现接口的实现类,并按照框架的要求进行配置即可。框架会自动调用实现类中的方法并自动进行密码校验。对密码进行加密常见的密码加密方式有:3DES、AES、DES:使用对称加密算法,可以通过解密来还原出原始密码。MD5、SHA1:使用单向HASH算法,无法通过计算还原出原始密码,但是可以建立彩虹表进行查表破解。bcrypt:将salt随机并混入最终加密后的密码,验证时也无需单独提供之前的salt,从而无需单独处理salt问题加密后的格式一般为:加密后字符串的长度为固定的60位。其中:$是分割符,无意义;2a是bcrypt加密版本号;10是cost的值;而后的前22位是salt值;再然后的字符串就是密码的密文了。注解方式权限控制SpringSecurity除了可以在配置文件中配置权限校验规则,还可以使用注解方式控制类中方法的调用。例如Controller中的某个方法要求必须具有某个权限才可以访问,此时就可以使用SpringSecurity框架提供的注解方式进行控制。在spring-security.xml文件中配置组件扫描,用于扫描Controller;在spring-security.xml文件中开启权限注解支持;创建Controller类并在Controller的方法上加入注解进行权限控制。退出登录用户完成登录后SpringSecurity框架会记录当前用户认证状态为已认证状态,即表示用户登录成功了。对于推出功能,我们可以在spring-security.xml文件中进行配置,如果用户要退出登录,只需要请求URL地址就可以,同时会将当前session失效,最后跳转到登录页面。系统管理员端根据需求分析设定的管理员信息管理主要时针对管理员信息的添加、删除、修改,管理员信息的显示使用了分页功能,信息条能结构化显示,同时考虑到管理功能在系统中的辅助作用,此功能模块采用页面局部刷新,结果显示在一个页面,无需繁杂的跳转,主要点击管理员管理,即可完成操作,操作简单明了,如图4-2所示:图4.2员工信息管理图形报表在实际应用中,我们要展示的数据往往存储在数据库中,所以我们可以发送ajax请求获取数据库中的数据并转化为图表所需的数据,展示效果如图4-3所示:4.3商品信息报表关键技术-ElasticsearchElasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助我们用极快的速度去处理大规模数据。Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elaticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。系统测试系统测试是保证项目正常运行的重要手段,它贯穿整个系统开发生命周期,是对项目功能进行验证和确认的过程,其目的是尽快尽早发现系统中存在的问题——与用户需求、预先设计的不一致性。软件测试是软件开发过程中的重要阶段,不仅可以对项目进行严格把关,同时对软件需求分析、设计规范和编写代码都进行了最终的复核,把软件漏洞在交付客户时降到最小。通过软件开发的不同阶段的需求规范和必要的结构要求,通过详细的系统测试用例来进行测试,并且利用测试结果发现软件的BUG,同时提供解决问题的方案。界面测试首先,软件和用户交互最直接的时界面,软件的界面决定用户的第一印象。好的界面可以指导用户独立完成相应的操作,起到引导作用,合理的界面可以给用户带来良好的感觉和感官感受,相反,若界面设计糟糕,即使功能强大,也可能会给用户糟糕的使用体验和印象。本系统界面主要用HTML+JavaScript+css以及各种前端框架编写,图片由Photoshop和firework制作,并且经过设计者仔细观察和审视,每完成一个页面都通过浏览器进行测试。最后,本系统具体界面测试标准如下:合理性细则:按钮位置合理,大小合适,看起来和谐有序。数据列表输出有序,横竖排列分明紧凑。页面颜色搭配合理,不突兀,不刺眼。各个div标签界限清晰,边框颜色位置搭配合理。页面输入框提示信息简单明了,说明到位。运行过程中的错误标砖逻辑性强,界面显示友好。美观与协调性细则:1.各显示对象比例协调,不能出现比例失衡。2.页面布局设置合理,不宜泰国集中或分散,要做到合理利用显示页面空间。3.按钮尺寸在显示界面合理,不宜过大或过小,按钮空间分布合理。4.控件分布完成后,页面布局应合理,不宜出现大面积空置。5.字体的是指和页面匹配,大小适中。6.色彩搭配要协调,与背景色反差不宜过大。7.界面风格设计应一直,包括字体、颜色、大小等等,对于某些需要进行艺术处理的地方可零星设计,但总体风格应保持一致。8.用户可以自定义风格界面,可以根据自己喜好设置颜色、字体、大小等。功能测试系统功能应进行综合评测。发现系统各个功能可能存在的BUG。通过测试,对测试中获取的实验数据,可用作检验其构建的模型,并根据数据做出相应的决定。对系统薄弱环节或瓶颈问题进行修复。反复多次运行测试,不断改进系统的性能。页面测试前端输入框通过提交按钮绑定事件,验证输入框是否可以为空,是否为合格的字段要求;验证通过form表单把输入狂数据传入后台后,再对数据库数据进行比较。页面兼容性测试主要时对页面的效果进行验证,其主要内容如下:测试页面内容是否完整。页面显示是否正确,布局是否协调。页面能否正常显示设置后的效果。页面元素的测试主要是对页面的具体布局进行验证,主要内容如下:各个元素是否完成设置,并且能否正常显示。页面各个元素的外观、放置的位置。数据测试主要是对数据的增、删、改、查进行验证,其内容主要如下:1.启动时是否可以对数据进行正常初始化,并且初始化是否正常。2.处理功能是否按要求运行。3.运行、保存情况测试。4.对每个模块所具有的功能进行一一测试,测试后验证其操作结果的正确性。根据测试要求,测试结果如下表5-1所示。图5.1测试结果结束语本系统的开发主要是完成商超进货、销售、供货、员工等等的管理,本文只是整个商超信息管理系统的一部分内容,所以系统还存在较大的继续开发空间,这在做系统设计时已经考虑到了的,主要有以下几个方面:进一步完善系统功能,增加商务中心管理模块、网上商城、会员管

温馨提示

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

评论

0/150

提交评论