【《基于SSM框架的企业进销存管理系统设计》16000字(论文)】_第1页
【《基于SSM框架的企业进销存管理系统设计》16000字(论文)】_第2页
【《基于SSM框架的企业进销存管理系统设计》16000字(论文)】_第3页
【《基于SSM框架的企业进销存管理系统设计》16000字(论文)】_第4页
【《基于SSM框架的企业进销存管理系统设计》16000字(论文)】_第5页
已阅读5页,还剩31页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

基于SSM框架的企业进销存管理系统设计目前企业还是采用一些比较传统方式对进销存进行管理。大量的纸质文档造成了人力资源浪费、过程繁冗,历时拖沓等困难。进销存库存数量的增加,流程的复杂等导致对于进销存库存的管理工作也越来越难。尽管企业管理者中心提出了一些规范方式,但是效果并不理想,也没有从根本上解决问题。为加强对企业进销存管理的进货、存货、检查、验收以及经费管理,该系统结合相关技术为项目学生、指导教师、学院管理员和学校教务处之间提供有效的沟通平台。将信息化形式应用到企业的创新创业管理体系中能够提升管理效率,通过信息化的系统可以及时的处理和审批企业货物进销存,会调动员工极大的积极性,保障企业货物进销存的质量和工作进度。企业进销存管理管理系统的开发是基于Windows操作系统,采用常见的软件开发平台Eclipse部署开发环境,通过Spring+SpringMVC+MyBatis框架与简易数据库MySQL联动实现数据的查询、添加、修改、删除。通过一整套体系设计开发实现一个具有系统设置、使用仓库系统的使用仓库系统的用户信息统计统计、系统日志、企业仓库系统的货物对应的供应商名单管理、仓库系统的货物的信息细节管理、仓库里面货物的进入信息统计、仓库系统的货物进入和退出的一些信息统计管理、销售退货管理、仓库系统的货物的销售信息管理、仓库所有货物的统计分析等功能的企业进销存管理管理系统设计设计与实现系统。目录摘要 I第1章引言 11.1开发背景 11.2开发意义 21.3研究现状 3第2章相关理论及技术分析 42.1SSM框架 42.2Java技术 42.3Tomcat服务器 62.4IDEA简介 62.5基于KPI体系的MD5和RSA技术 6第3章需求分析 73.1可行性分析 73.2系统功能设计 83.3性能需求 93.4其他需求 103.5数据库设计 113.5.1用户登录表 113.5.2供应商信息表 123.5.3产品信息表 133.5.4销售信息表 133.5.5菜单信息表 143.5.6登录日志表 14第4章系统详细设计与实现 154.1登录界面 154.2菜单管理 164.3角色管理 174.4修改密码 184.5日志列表 194.6供应商管理 194.7商品管理 204.8进货管理 214.9库存盘点 224.10进货退货管理 234.11销售信息管理 244.12销售退货管理 254.13统计分析 26第5章系统测试与结果分析 275.1测试方法介绍 275.2登录进销存系统模块测试 285.3查看进销存信息模块测试 285.4进销存测试 295.5数据完整性测试 295.6界面测试 305.7访问控制测试 305.8性能测试 305.9测试结论 31第6章结论 33参考文献 35致谢 36就国内外的企业进销存管理系统的发展程度而言,目前国内北方大多数传统型企业均采用纸质版的进、存、退货存单,而纸质版的存单有易丢、易损坏、易失误等缺点;而国外大多数传统型企业均已采用线上版本的企业进销存管理系统,具有简单实用等特点。相对而言,国内企业应该学习国外企业的这种进销存管理模式,且就系统应用前景来说,国内有很大的应用前景。目前我们进入了科技突飞猛进发展的阶段,从互联网Web应用看,其在短时间内得到了大范围推广使用,实现了日新月异的发展,使其发展成人们生活过程中不可或缺的一种产品。就企业进销存市场而言,其属于倍受人们青睐的一种活动,现如今依旧有不少人依旧会在忙碌之余选择逛一逛,但是,从传统角度看,大多数进销存市场均处于线下状态,对于希望在短时间内查看的人员而言,显得非常麻烦。在当前人们十分忙碌的生活状态下,为实现更加方便快捷地对企业进销存市场进行管理,研发设计复杂性不强的企业进销存系统,可以实现该目的。与此同时,在当前科学技术日新月异发展的前提下,让人们进一步认可企业进销存市场。自多年前推出JavaWeb应用之后,其便得到了非常之快的发展,特别是近年来,其用户规模越来越大,该应用在人们生活中扮演着更加重要的角色,使大家的工作与生活因此而发生变化。人们在运用该应用的基础上,碎片化时间变得越来越多,再加上目前一直在优化完善该应用功能与性能,所以为数不少的用户逐步开始重视方便快捷的Web网站发展方向,Web网站市场能进了大量的开发团队,其今后发展空间十分之巨大。从企业进销存市场看,其聚焦了大量的企业需求用户,属于全球领域中一种有效的传播品牌的渠道。该市场将交易和实用性二者有机结合起来,能够让企业需求者将发现渠道进一步拓展。这些年,在互联网及其Web应用突飞猛进发展的基础上,出现了许许多多类型不一的企业进销存Web网站,让大家的可选择性变得更多。正因为如此,为数不少的互联网Web应用用户,开始对企业进销存系统予以重视。经过了多年的发展,国外进销存管理系统已经相对完善,而在该发展时间段中,为数不少的开发人士一直在对该系统的算法进行研究,致力于促进用户感知水平的进一步提升。也许是由于企业需求者的偏好在状态与时间发生改变之后,相应地出现了变化,从企业进销存市场看,资金雄厚的开发企业一直对其不感兴趣,投资热情不高,正因为如此,导致有着优异功能的平台与客户端因此而消失。在我国,就企业进销存市场而言,其尚未得到大范围的推广普及,或许便有上述原因。现阶段,就企业进销存系统来说,大部分依旧以大平台为依托而存在。现在也一直在丰富与优化完善该系统功能,以京东、淘宝为例,目前的用户规模仍旧十分庞大。就此类应用而言,均在持续提升与发展过程中,然而从企业进销存系统方面看,还需针对性地研发设计更为完善的系统。根据国人的用户习惯以及互联网收集的大数据信息对企业进销存系统管理系统的使用页面进行了个性化定制。不同企业进销存系统管理系统对产品本身的侧重点也不尽相同,有的侧重于使用起来的便利性和高效率的事宜处理,有的侧重于整个产品的兼容性和美观性,不同的企业群体喜欢不同的风格,随着国内企业进销存系统管理行业的快速发展,企业进销存系统管理系统的需求将会越来越大,在这种大情况下,设计并研发更前沿的企业进销存系统管理系统是非常有必要的。本课题将通过常见开发工具与语言设计并开发企业进销存系统管理系统针对目前存在的这种现状进行解决。相比于目前市场上其他企业进销存系统系统而言,本课题所设计与开发的企业进销存系统系统主要是基于网站版的系统文件,和市场上其他PC端EXE文件相比,基于网站的企业进销存系统管理系统可以通过用户的浏览器直接打开使用,避免了EXE文件卡顿并过度依赖用户电脑配置,对于中小型非主营业务的企业进销存系统来说,既可以快速完成登记又可以对系统进行快速的掌握。对于这种零散的企业进销存系统管理人员来说极大地提升了工作效率的同时可以接待更多的旅客。对于整个企业进销存系统行业的发展来说,弥补了企业进销存系统关系系统的其他潜在市场。无论是对个人还是整体来说都是非常有意义的。目前,在科学技术突飞猛进发展之后,为数不少的传统文化因此受到猛烈冲击,不断退出人们的视野范围。对于企业进销存市场来说,在此大环境下,需要人们的传承。通过互联网调查数据了解到,现阶段在进销存市场中依旧还有近4200万人。综上可知,现阶段依旧有着不少的人对企业进销存市场是充满热爱的。这些年,人工智能获得了迅猛发展,再加上多品牌得到了多媒体的强有力宣传推介后,人们开始意识到,企业进销存市场再度实现了回归,越来越多的人开始对该活动进行关注与了解。在互联网Web应用在短时间内大范围推广后,该应用平台面临着更加激烈的竞争形势。现阶段人们所熟悉的,主要有鸿蒙、Java、黑莓、C#等开发语言。就这些开发语言与系统而言,不包括C#与Java在内,其余的发展时间并不是很长,市场占有率不高。与C#进行对比,就Java而言,其代码具有开源性特点,效应非常之高,后台为Google作支撑,其用户群体规模相对较为庞大。从Java系统方面看,因为其市场优势十分明显,于是诞生了大量基于该系统的游戏与程序,相应地,它们的用户群体也具有一定规模。哪怕是目前人工智能获得了突飞猛进的发展,但是从现实生活看,依旧想通过网络进行信息浏览,因此可以对企业进销存市场进行便捷浏览的系统,能够让人们获得更多乐趣,这是非常重要的。研发设计复杂性不强的企业进销存系统,能够使普通爱好人士可以对现阶段市场中的众多品牌进行浏览与交易。综上,以SSM为前提设计实现的企业进销存系统,不管是今后发展潜力,还是应用价值,都十分之大。就国外互联网市场而言,无论是技术成熟度还是传统企业的转型进度都要快于国内,目前国外很多地方都已经实现了线上办公、线上处理事宜、传统行业转型线上+线下搭配的业务方式。在进销存管理行业,国外的用户可以直接通过登录互联网上的系统实现进销存管理功能,作为进销存管理企业,也可以快速与旅客互动,按照用户的需求来确认方案,比如ECI、

HIS进销存系统进销存业资讯系统有限公司、OPERAOPERA等国外进销存管理系统已经发展的如火如荼。由于国内互联网的起步本身就落后于国外很多年,因此在互联网转型方面也是相对国内的进销存管理系统的发展基本上也是效仿国外先进的系统,比如目前国内比较常见的连锁进销存的管理系统前身北京泰能、中小型进销存管理系统的金天鹅等其主要管理模式和设计模式以及系统架构大多数都与国外的相似。系统整体业务流程和需求目标清晰,框架搭设、MyBatis的动态SQL、多参入参等问题是主要预期难点。基于SSM框架的企业进销存的设计与实现采用的架构是常见是B/S架构,系统使用Java语言,数据库使用MySQL,服务器使用Tomcat部署,系统使用SSM框架,前端页面主要用AJAX设计,开发工具是IDEA,基本硬件环境具备。充分考虑到安全性问题,设计了基于PKI的安全体系,MD5、RSA双重加密保护。SSM框架为Spring、SpringMVC、MyBatis三个框架相结合。整个框架大体上分为controller层、service层、dao层、view层。(1)SpringSpring框架为一个开源的基于J2EE的应用程序框架,尤其针对bean的生命周期进行管理的轻量级应用程序框架。Spring框架可以单独使用,也可以和其他框架搭配结合使用。(2)SpringMVCSpringMVC框架是一个基于Java开发语言的,实现了WebMVC的请求驱动型框架,即使用了MVC的设计模式思想。SpringMVC框架在开发JavaWeb应用程序中几乎提供了几乎完美的功能。(3)MyBatisMyBatis框架是一个可持久层的框架,它支持但并不仅限于自定义SQL、高级映射及存储过程(类似于PL\SQL的存储过程)。MyBatis可以通过XML或者注解来配置接口或实体类等。此次开发设计后台管理系统时,选择的搭配为Java与由Java拓展而形成的其他框架。主要是因为Java有着五个方面的突出特征:(1)安全性:Java属于面对对象的一种语言,发展相对成熟。Java在封装单个包、单个方法代码方面做得十分完善,达到了极致[3]。开发系统过程中,选择了Java语言,安全风险非常之小。从Java官方网站看,每个礼拜均会将新的语言补丁包及API发布出来,让开发人员能够对前期项目中存在的bug和漏洞进行及时弥补,就此而言,导致Java在市场中的地位变得越来越稳固。(2)类库的超凡影响:从Java语言看,就其类库而言,在一系列语言中是最全面的。其全方面打包与封装了底层语法,同时会适时更新类库。其类库大多在JAVA-API内存放,且API占用空间不大,在20MB以下,用户能够通过API对众多的类及详细方法进行查询,结合实际场景作出搭配与使用。(3)效能性高:开发过程中选择了Java语言的项目,性能优势十分明显,就此而言,这是由其JVM虚拟机所决定的。在Java语言中,JVM属于其内置的一个虚拟机,对JDK进行安装时,便会同步对该虚拟机进行安装,且通过该虚拟机来完成项目的编译与运行。由全球顶尖团队负责编写该虚拟机的底层代码。与其他语言进行对比,在把控性能方面,其更加严格。(4)动态特性:从Java语言看,其还有一个突出的特点,即智能化、灵活化的动态特性。该语言能够结合开发人员的编写习惯,且根据其常用语法,基于此自动地对其所需编写的代码进行提前补充,或者在对项目连贯性场景进行考虑后,对开发人员作出提示,让其选择通过何种措施对何种问题进行处理。就此特点而言,便得大量开发人员的进入门槛进一步下降。若项目规模确实十分巨大,运用该特性能够让开发人员更好地识别及纠正错误,初级、成熟开发人员,均需具备此种能力。(5)健壮性:对Java语言来说,其之所以能够拥有如此之高的市场占有率,主要是其具有多态、封装与继承这三个突出的特性。和其他语言一样,不管是开发,还是总体架构,该语言均具有十分成熟的一套体系,能够在非常之短的时间内达到修复补丁、更新各类版本的目的[4]。从开发领域看,通过大量开发人员的实践可知,Java语言具有稳定性、健壮性的特点。使用人员能够结合差异化的项目需求情况,针对性地选择相应的排版模式。与此同时,IDEA的GUI界面操作难度不大,简洁明了,且可以自动和文件系统同步。与此同时,还能够自动分析代码,将具有一定风险性、与规范不符的代码检测出来,同时加亮进行显示。对类中方法进行智能化检测,如果仅存在1个方法名,则能够自动输入代码,基于此降低编写剩余代码的强度。IntelliJIDEA内部集成了多种编码常用工具,如Maven的包管理工具、数据库管理、CVS软件版本管理工具等。同时IntelliJ可以很轻松的实现在本地连接SpringBoot官方网站以创建SpringBoot模板项目。直接将后台设计的模板准备就绪,减少了各种配置文件和配置过程,使得开发者能够集中精力在实现软件的具体要求上。SpringBoot自带服务器,无需部署WAR文件,即可在服务器上运行,为系统上线和投入使用提供了方便。其突出特征如下:开源具有无偿性、便捷、复杂性弱。内存占用空间较小,在20MB以内,且兼容与配置开发工具的能力十分之强,市场中基本上所有的开发工具,均能够通过Tomcat来运行或搭建服务器。从开发领域看,不管是教学者,还是初学者,Tomcat是其十分重要的一种开发工具。与此同时,在现阶段大部分的Java延展开发框架中,Tomcat便属于框架的重要构成内容,开发人员无须再对Tomcat环境进行搭建。从开发工具方面看,现阶段我国市场中份额较大的,主要有IDEA、MyEclipse与Eclipse,就后两种而言,往往是初学开发人士的主要选择。原因在于,二者有着更加开放的使用版权,且中文适配程度更好,许多初学人士对此十分偏爱,然而在后期进入成熟开发时期时,往往会由于频繁调用及复杂项目的原因,导致其使用存在一定限制。然而,就此限制性问题而言,通过第一种编辑器能够有效进行处理,所以就第一种开发工具而言,所使用的开发人员通常拥有一定编辑水平。在项目开发方面,IDEA以后两种工具为前提,对大量快捷键进行了完善,其中最为关键的一点在于,实现了自动整理与协调流行的代码包及开发框架架构,使得开发人员前、后期进行调速的过程中,无须投入更多的时间与精力。(1)MD5MD5信息摘要算法是一种可以随机产生一个16字节的散列值的被大量使用的密码散列函数。此算法主要用于确保信息传递的一致性。(2)RSARSA公开密钥密码体制使用不同的加密秘钥和解密密钥,加密秘钥为公开而解密密钥为非公开,解密密钥依赖于加密秘钥,但却不能通过加密秘钥得出解密密钥。随着国外进销存管理系统的不断发展,国内大多数企业已越来越重视线上进销存系统的开发,但仍没有绝对完善的系统上线。因此本章将针对系统的可行性分析、性能需求及功能需求进行详细描述,同时将系统的数据库进行论述。功能需求、性能需求、可行性分析及数据库设计如下。(1)技术可行性在技术层面而言,设计与开发企业进销存系统所使用的技术都是开发人员常用到的,系统本身其实也没有涉及到非常高要求的性能指标与多功能融合的场景,因此技术选用常见的开发语言即JAVA语言、数据库方面考虑到系统本身的体量与使用的客户群体以及开发者的角色,本次将使用开源免费的中小型数据库MySQL进行数据存储,系统的UI界面主要采用已经非常成熟的JAVAGUI技术进行实现[5]。整体来看在技术层面完全是没有问题的。(2)经济可行性对于软件工程开发项目,使项目能够利用最先进的开发技术、设计工具、安全策略来进行设计的同时,也要保证系统在投入运用的过程中,可帮助企业的材料和产品的进销管理工作,发挥基于智能化和半自动化的技术优势,并实现成本节省,创造更多的实用价值和利润。由于本次的编程和开发方案,笔者是借鉴专业的书籍和个人的技术经验,来进行开发的,部分开源软件和开发工具,诸如Tomcat开源技术、JAVA编程工具,也可在开放网站上免费收集和下载,并且具有方便组装,运行速率快的特点。因而,整体而言,本系统的总开发成本,控制在4000元的标准。其中,成本花销较多的是服务器的成本支出,由于系统使用了云平台提供的数据云应用程序,而这些程序是收费的,因而租赁云端服务器的开销在300元左右,而这属于可控性成本,且会帮助企业创造更多的附加价值和社会效益。所以从经济成本考虑,这些成本是合理且可行的。(3)操作可行性由于系统同时需要加强对供应商及上下游合作者的资料、品牌、地址等的信息化管理,因而,添加了音频模块,以加强一级和二级用户之间的通讯交流,音频可为用户提供基于便捷的语音交流渠道,因而在本系统中占有非常重要的地位,可节省公司和用户之间的交流成本和业务运营管理成本。再者,也方便用户的使用,由于本系统使用基于联接计算机和网络PC端的浏览工具,因而用户在在登陆和操作系统的过程中,非常方便和快速,且无须掌握和使用复杂的计算机知识。因而,从操作层面来看,本系统也具有极好的可行性。本课题主要是针对企业进销存市场,设计和开发一个用户使用的企业进销存管理系统。系统具备的功能分别是:用户的增删改查、进货的增删改查、退货的增删改查、存货的增删改查、系统管理等功能模块。经过本人的分析,查阅相关材料后设计了本课题的功能模块图。用户管理:可以增加、编辑、删除每一个权限用户的属性。系统日志:可以记录所有用户每一次登录此系统的具体时间。供应商管理:可以增加、删除、修改、删除每一个供应商的名称、电话、联系人、联系电话和地址等信息。商品管理:可以将商品信息从本地导入进系统,并可以在增加、修改、删除、编辑每一个商品的具体信息。进货管理:可以将进货单从本地导入进系统并且可以在线支付进货的金额,并且可以根据操作员、支付方式、时间等具体属性进行查询进货存单。库存盘点:可以在线调整、删除已有库存,但不可在此功能模块中增加库存中所没有的商品信息。进货退货:可以在线进行支付退款产生的金额,并且可以根据操作员、支付方式、时间等属性查询进货退货存单。销售管理:可以在线添加销售单并支付销售单,且可以根据操作员、状态、金额等属性查询销售存单。销售退货:可以在线查询并支付退货金额。统计分析:可以按日统计、按月统计、按年统计并自动根据销售金额和退款金额画出曲线图。功能结构图如图3.2所示。图3.2功能结构图管理员模块管理员的权限为超级权限,可以通过登录实现仓库里面货物的进入信息统计、使用仓库系统的使用仓库系统的用户信息统计统计、使用仓库系统的使用仓库系统的用户信息统计列表统计、使用仓库系统的用户信息统计、仓库里面货物的进入信息统计、仓库系统的货物进入和退出的一些信息统计管理、企业仓库系统的货物对应的供应商名单管理、仓库系统的货物的信息细节管理、仓库系统的货物的销售信息管理、仓库所有货物的统计分析等权限。仓库员模块仓库员的权限为次顶级权限,可以通过登录系统实现进企业仓库系统的货物对应的供应商名单管理、仓库系统的货物的信息细节管理、仓库里面货物的进入信息统计、使用仓库系统的货物进入和退出的一些信息统计管理等操作。销售员模块销售员的权限为最低级权限,销售员可以通过登录系统实现仓库系统的货物的销售信息管理、销售退货管理、仓库所有货物的统计分析等与个人信息。(1)安全性对基于SSM框架的企业进销存来说,核心作用在于,管理者在运用音频合成技术的基础上,借助互联网系统平台发布及展示出去。从安全角度看,重点需关注的是,非法者也许会篡改发布出去的页面,或者通过书籍进行泄密,等等,造成发布出去的信息与相关要求不符,或有悖于有关规定。第一,就系统技术角度而言,系统开发便选用了有着很强安全性、很高封装性的语言;第二,从系统权限管理方面看,权限仅开放于管理员,除此之外的用户仅具备合成音乐或者浏览的功能,有着十分之小的权限范围。综上,就此系统来说,安全是得到保障的,完全与有关要求相符。(2)开放性和可扩充性对于企业用户而言,要求使本系统可以帮助企业加强对材料采购和产品销售的数据统计和业务流程管理,因而,要进行部署和开发之时,要求系统的各项核心功能,都可根据规划的设计流程如期完成,且可以在运行过程中,不会存在较多的bug,可具有兼容其他平台的运行优点。因而本次编程使用了JAVA开发语言,从而使系统可具有跨平台运作的特点,仅在用户端上安装JDK,便可以运行JAVA编程的语境,设计出JVM虚拟机。再者,系统在后期也可以方便使用大数据技术,即使用百度云和阿里云等的服务器,来进行部署。这样可使系统在任何时候,都可以进行性能扩充,并且在升级改造过程中,不会对以往的程序和模块运行,带来功能的损坏并造成运行问题。现在几乎全部已经上线的系统都必须具有可移植性,在测试开发平台可以正常使用而在用户环境出现各种那是绝不可行的,而本系统是作为一款在线进存销管理系统,可移植是必不可需的,且JAVA语言具有可移植性,跨平台性,兼容各大技术框架的优点,因此本系统决定使用Java语言进行开发,且可以保证本系统具有易于易植和运行效率稳定的性能特征。为使系统具有强大的业务交互性能和运行特点,因而通过应用SSM技术框架,来加强对系统的多功能设计,例如,用户之间可以使用的音频合成技术,来进行语音通信交流,同时管理人员也可以通过编程和更新视图和音频信息,并对外进行发布,且可根据需求进行变更和修改。再者,网页的数据访问也考虑到数据的安全保护,当用户在进行访问和通讯查询之时,不容易被非法用户冒用身份,进行数据篡改,从而导致企业的商业机密和用户个人资料数据的泄密。再者,从技术性能来考虑,本系统使用了高级编程语言来提高数据的封装等级,并且各模块仅向指定的用户开放,没有获得管理员授权的用户不能随着访问系统的内部程序。与此同时,系统的平台部署考虑兼容其他外部设备的联接和通讯,基于使用了JAVA编程工具,来实现程序开发并提供自动化编程,从而大大缩短了程序化设计的周期和时间,并且使系统具有跨平台和加强集成数据管理的性能优点。最后,为保证本系统可方便企业后续加强对进销数据的维护管理,也使其具有易于移植和方便升级和维护的特点。通过对课题的需求分析和一些实体分析后,我们在详细设计里面可以主要对系统数据库方面的设计进行形象和实体化,每个实体与实体之间都有他们对应的关系,我们还需要将这些关系进行连接和绑定。表3.5关系模式表natureofthedataRelationshipnameAttribute实体使用仓库系统的用户信息统计数据库中的特征编号、用户名、性别,密码、姓名、地址实体供应商信息数据库中的特征编号、企业名称、电话、地址、联系人姓名、联系人电话实体产品信息数据库中的特征编号、产品数据库中的特征编号、产品名称、产品价格、总销售额实体菜单栏信息数据库中的特征编号、名称、路径、图标实体进货信息数据库中的特征编号、金额、产品数据库中的特征编号、支付类型、支付状态、操作人、详情、时间数据库结构设计主要是将数据库中的实体的具体属性设计出来,因为每个实体都有其独特的一些属性也有一些公用的属性,这些对是非常重要的,也是来来区分属性与属性、实体与实体之间的重要依据。用户登录表用户登录表(USER_ERMU)中包含了用户唯一码(id_ermu)、用户名(username_ermu)、用户登录密码(pswd_ermu)、用户权限(rolled_ermu)、用户头像(photo_ermu)、用户性别(usr_sex)、账号年限(age_ermu)、用户地址(adr_ermu)等字段,具体详情如表3.5.1所示。表3.5.1用户登录表(USER_NAME)序号数据库字段字段类型字段长度存储内容备注1id_ermuint10用户唯一码主键2username_ermuvarchar20用户名非空3pswd_ermuvarchar20用户登录密码非空4roleld_ermuInt11用户权限非空5photo_ermuvarchar128用户头像非空6age_ermuint3账号年限非空7adr_ermuvarchar128用户地址非空在用户登录表中,id_ermu为用户唯一识别码,为主键;username_ermu为用户名,不可以为空;pswd_ermu为用户登录密码,长度不得小于3位(在Java代码中实现);releld_ermu位用户权限,管理员位1,仓库员为2,销售员为3;photo_ermu为用户头像,从本地地址中上传;age_ermu为账号已经使用的年限。供应商信息表供应商信息表(SUPPLIER_ERMU)中包含了供应商唯一码、供应商公司名称、供应商公司电话、供应商地址、供应商控股人、供应商控股人电话,具体详情见表3.5.2所示。表3.5.2供应商信息表(SUPPLIER_ERMU)序号数据库字段字段类型字段长度存储内容备注1id_ermuint11供应商唯一码主键2name_ermuvarchar128供应商公司名称非空3tel_ermuvarchar32供应商公司电话非空4adr_ermuvarchar128供应商公司地址非空5contactN_ermuvarchar32供应商控股人非空6contactP_ermuvarchar11控股人电话非空在供应商信息表中,id_ermu为供应商唯一码,为主键;name_ermu为供应商公司名称,非空;tel_ermu为供应商公司电话,非空;adr_ermu为供应商公司地址,非空;contactN_ermu为供应商控股人,非空;contactP_ermu为控股人电话,为11位(在Java代码中实现)。产品信息表产品信息表(PRODUCT_ERMU)中包含了产品信息码、商品名称、出产地、尺寸、类型、个数类型、价格、出版社,具体详见表3.5.3所示。表3.5.3产品信息表(PRODUCT_ERMU)序号数据库字段字段类型字段长度存储内容备注1supplierId_emint11产品信息码主键2name_ermuvarchar128商品名称非空3place_ermuvarchar128出产地非空4spec_ermuvarchar64尺寸非空5pk_ermuvarchar64类型非空6unit_ermuvarchar32个数类型非空7price_ermufloat8价格非空8remark_ermudatetime256出版社非空在产品信息表中,supplierId_em为产品信息码,为主键;name_ermu为商品名称,非空;place_ermu为出产地,非空;spec_ermu为尺寸,非空;pk_ermu为类型,非空;unit_ermu为个数类型,非空;price_ermu为价格,需为浮点类型,非空;remark_ermu为出版社,非空。销售信息表销售信息表(SELL_DETAIL_ERMU)中包含了销售码、产品名称、价格、产品数量、总价格,具体详情见表3.5.4所示。表3.5.4销售信息表(SELL_DETAIL_ERMU)序号数据库字段字段类型字段长度存储内容备注1sellId_ermuint11销售码主键2productN_emvarchar128产品名称非空3price_ermufloat8价格非空4proNum_ermuint5产品数量非空5totalMony_emfloat8总价格非空在销售信息表中,sellId_ermu为销售码,为主键;productN_em为产品名称,非空;price_ermu为价格,非空;proNum_ermu为产品数量,非空;totalMony_em为总价格,总价格为产品数量*产品数量,非空。菜单信息表菜单信息表(MENU_ERMU)中包含了菜单图标码、菜单名称、对应函数或地址、菜单样式,具体详情见表3.5.5所示。表3.5.5菜单信息表(MENU_ERMU)序号数据库字段字段类型字段长度存储内容备注1parentId_ermuint11菜单图标码主键2name_ermuvarchar32菜单名称非空3url_ermuvarchar128对应函数或地址非空4icon_ermuvarchar32菜单样式非空在菜单信息表中,parentId_ermu为菜单图标码,为主键;name_ermu为菜单名称,非空;对应函数或地址为此菜单按钮点击是对应的函数或跳转到的制定页面,非空;icon_ermu为菜单样式icon-cross、icon-add等,非空。登录日志表登录日志表(LOG_ERMU)中包含了登录编号、详细信息、登录时间,具体详情见表3.5.6所示。表3.5.6登陆日志表(LOG_ERMU)序号数据库字段字段类型字段长度存储内容备注1id_ermuint11登录编号主键2content_ermuvarchar255详细信息非空3createTime_emdatatime登录时间非空在登陆日志表中,id_ermu为登录编号,从1开始依次增加,为主键;content_ermu为详细信息,内容为登录系统的账号和密码,非空;createTime_em为登录时间,记录了每次每个用户登录系统的具体时间。本章主要实现了每一个模块的具体功能。此企业进销存管理系统分为三个模块,为管理员模块,仓库管理员模块以及销售员管理模块,但是在本质上说,二级权限及三级权限只是在超级权限的基础上减少部分功能。所以只要完成超级权限所应具备的功能,二级权限及三级权限所具备的功能也就相对实现了。本章具体实现了如进货、查货、退货、编辑货物信息等功能(在超级权限下)。使用超级管理员账号密码admin,并在下方输入正确的验证码,点击登录按钮,登录到本系统。登录界面如图4.1所示。图4.1如图4.1所示,用户点击登录按钮将三个表单中的数据发送到服务器中,并与数据库中的数据相比较,如果一致,则跳转到登陆后的首页,如果不一致,会根据不同的错误弹出不同的提示框,核心代码如下:@RequestMapping(value="/login",method=RequestMethod.POST)@ResponseBodypublicMap<String,String>loginActErmu(Useruser_ermu,Stringcpacha,HttpServletRequestrequest){if(user_ermu==null){ret.put("type","error");ret.put("msg","请填写用户信息!");returnret;}}如图4.2所示,在菜单管理界面中可以根据超级管理员的需求自定义增加、修改或删除左侧的导航菜单栏,也可以也可以给二级菜单添加按钮。图4.2管理员每一次点击按钮都依赖于底层Java代码的实现,核心代码如下:@RequestMapping(value="/add",method=RequestMethod.POST)@ResponseBodypublicMap<String,String>add(Menumenu_ermu)但是如果管理员填写错误,就会提示相关信息,部分核心代码如下:if(menu==null){ret.put("type","error");ret.put("msg","请填写正确的菜单信息!");returnret;}超级管理员进入到权限管理界面,可以根据需求更改每一个用户的权限,也可以添加或删除一个角色信息。图4.3当用户点击添加按钮时,可以填写需要的角色信息,部分核心代码如下:@RequestMapping(value="/add",method=RequestMethod.POST)@ResponseBodypublicMap<String,String>add_em01(Rolerole_ermu001)当用户进入到修改密码页面时,系统会读取当前的用户名及当前密码,然后当用户输入两次密码时,会根据JS函数来对比两次输入是否一样。图4.4如图4.4所示,部分核心代码如下:functioncheckpassword_ermu(){varpassword_em=document.getElementById("pw").value;varrepassword_em=document.getElementById("repw").value;if(password_em==repassword_em){document.getElementById("tishi").innerHTML="<br><fontcolor='green'>两次密码输入一致</font>";document.getElementById("submit").disabled=false;}else{document.getElementById("tishi").innerHTML="<br><fontcolor='red'>两次输入密码不一致!</font>";document.getElementById("submit").disabled=true;}}用户每次登陆时,系统都会记录用户每次登陆的具体时间,而且管理员也可以手动填写想要增加的日志。如图4.5所示。图4.5如图···系统自动获取日志,而当管理员想要填写日志但是填写错误的时候,系统会弹出相对的弹窗,部分核心代码如下所示:Map<String,String>ret=newHashMap<String,String>();if(log==null){ret.put("type","error");ret.put("msg","请填写正确的日志信息!");returnret;}在供应商列表页面中,用户可以添加、编辑和删除供应商信息,而每一系更改信息都是通过jsp页面传送数据到服务器到数据库进行修改的,如图4.6所示。图4.6如图4.6所示,在此只展示添加供应商的功能,而如果用户错误地或者未填写了供应商信息,系统就会弹出来错误提示框,部分核心代码如下:@RequestMapping(value="add",method=RequestMethod.POST)@ResponseBodypublicMap<String,String>add_ermu(Suppliersupplier_ermu){if(StringUtils.isEmpty(supplier_ermu.getName_ermu())){ret.put("type","error");ret.put("msg","请填写供应商名称!");returnret;}}在商品列表中,当用户每一次跳转到此界面中,页面都会显示所有的商品信息,用户可以增加、修改和删除商品。如图4.7所示。图4.7如图4.7所示在此只展示删除商品信息功能,通过搜索产品信息码来确定需要删除的商品信息,然后在数据库中删除该商品,部分核心代码如下所示:@RequestMapping(value="/delete",method=RequestMethod.POST)@ResponseBodypublicMap<String,String>delete_ermu(Longid_ermu)用户登录界面后可以对货物进行编辑和查看,也可以在线支付进货费用,,进货管理是此系统的核心功能。如图4.8所示。图4.8如图4.8所示,在此只展示在线支付进货单功能(假定系统中的余额足够并且默认从系统中扣款),部分核心代码如下:@RequestMapping(value="add",method=RequestMethod.POST)@ResponseBodyPublicMap<String,String>add_ermu1(StringproductList_Ermu,OrderInorderIn_Ermu,HttpServletRequestrequest_ermu)用户进入到库存盘点界面中,仅可以对已有库存进行调整和删除库存操作,还可以根据特定属性进行模糊查询功能。如图4.9所示。图4.9如图4.9所示,在此只展示模糊查询功能,如用户可以根据大概时间进行模糊查询,部分核心代码如下:@RequestMapping(value="/list",method=RequestMethod.POST)@ResponseBodyPublicMap<String,Object>getList_Ermu(@RequestParam(name="payType",required=false)IntegerpayType)用户进入到进货退货管理界面后,可以进行添加退货单,查看退货单,支付退货单,模糊查询操作。如图4.10所示。图4.10如图4.10所示,在此只展示查看退货单功能,用纸只需要选择列表并点击查看进货单,页面发送数据到服务器,并在数据库中查询此存单的具体退货商品信息,部分核心代码如下所示:@RequestMapping(value="/list",method=RequestMethod.GET)publicModelAndViewlist_ermu(ModelAndViewmodel_ermu)用户登录到销售信息列表后,可以进行添加销售单、查看销售单、支付销售单操作。如图4.11所示。图4.11如图4.11所示,添加销售单功能只需要用户填写正切的销售单数据,即可添加到销售列表中,部分核心代码如下:@RequestMapping(value="add",method=RequestMethod.POST)@ResponseBodypublicMap<String,String>add_ermu2(StringproductList_Ermu2,Sellsell_ermu,HttpServletRequestrequest_ermu2)用户进入到销售退货管理页面中,可以进行添加退货单、支付退货单、查看退货单操作。如图4.12所示。图4.12如图4.12所示,模糊查询功能只需要用户选择特定的范围即可实现模糊查询功能,部分核心代码如下:queryMap.put("offset",page_ermu.getOffset());queryMap.put("pageSize",page_ermu.getRows());ret.put("total",stockService.getTotal(queryMap));ret.put("rows",stockService.findList(queryMap));用户在统计信息页面中可以根据按日统计、按月统计、按年统计查看销售金额和退款金额的曲线图。如图4.13所示。图4.13如图4.13所示,实现此功能需要先获取统计数据,也就是要根据销售和退货的状态来动态地变化此图,部分核心代码如下:@RequestMapping(value="/get_stats",method=RequestMethod.POST)@ResponseBodypublicMap<String,Object>getStats(@RequestParam(name="type",defaultValue="statsDay")Stringtype)

无论是模块化设计或是程序编程开发,基于使用了轻量级SSM技术框架,从而使各阶段的开发流程和开工进度,大大提高效率,并且几乎不存在设计难点和重大的缺陷问题。由于使用Java编程工具,因而,对各核心模块的编程开发几乎是一次性编程,且无须进行繁琐和重复的代码开发和修改,再者,在对产品进行质量检测和性能测试的环节过程中,也进行了一次性的全面排查,大多的程序问题和漏洞也可以开发过程中,及时的发现和解决掉,因而最后验交产品之时的测试工作量,也大大的减少。测试的目的主要是在于立足于用户利益立志,以加强对产品的品质保证,通过对产品的不足和bug进行检测和调试处理,来提交合格的应用系统交给客户使用。以下,将将对系统测试的方法和样例进行探讨,并总结测试的方案和经验成果。对于现代智能系统的测试通常要是注重软件程序测试,而如今国内外先进的技术测试方法和测试原理,非常的丰富和多样化。对于开发者而言,需要保证系统的界面、程序响应、数据交互能够发挥正常的功能,且方便用户理解和上手操作。因而,无论从哪方面出发,都需要对各种细小的漏洞进行检测和调试处理。为保证系统能够正常的投入应用和发挥应有的价值,因而,本次采用的测试方法,主要包括以下的两种主流方法:一是黑盒测试方法。其主要是探寻系统的边界值、数据误差、视图和页面反馈是否出错,重点是对软件和应用程序的合理性和常规性进行质量检测。由于黑盒测试的技术测试效果较显著,且要求测试人员有较高的专业测试及判断能力,因而,需要至少能够检测出系统80%的漏洞和大小bug。这是在于即使系统有细小的这bug存在,都可能在后期影响到用户的体验甚至造成用户的经济损失。鉴于此,应注重对使用频率较多的程序进行模块化测试,包括检验数据的交互和程序的应用速率是否符合标准等等。二是白盒测试方法。这一方法是注重对系统的底层数据的保护,也即注重对数据的安全保护的测试,以注重用户的资料和数据安全防护为测试目的。虽然本系统对用户严格和相应的权限限制,但是为规避非法者的入侵和攻击,因而,我们需要使用白盒方法来加强对系统安全策略和防火墙功能的测试。此外由于在系统当中,使用了多种开源软件和有大量的代码程序,因而,需要对代码的运行和结构设计是否存在漏洞,对是否导致用户无法查询数据和实现对数据的调试和处理等问题,来进行重点的测试和漏洞修复。综上所述,要提交合格的产品交付给用户,就需要考虑系统的各个环节和性能的完整性和有效性,因而,经过综合考虑,本文中主要结合了黑白盒这两种测试方法来进行针对性的测试。此为登录进销存系统模块测试,通过此测试可以判断页面是否可以正常访问和是否产生错误如表5.2所示。表5.2登录进销存系统模块测试表模块名称测试用例预计结果实际结果是不允许为空与预期结果相同,可以满足登录进销存系统电脑打开浏览器,双击页面访问打开页面访问打开与预期结果相同,可以满足登录进销存系统电脑打开浏览器,按钮页面访问打开页面访问打开与预期结果相同,可以满足登录进销存系统电脑打开浏览器,多应用页面访问打开页面访问打开与预期结果相同,可以满足登录进销存系统电脑打开浏览器,重启页面访问打开页面访问打开与预期结果相同,可以满足登录进销存系统电脑打开浏览器,关闭页面访问打开页面访问打开与预期结果相同,可以满足此为查看进销存信息模块测试,通过此测试结果可以查看是否可以正确得查看进销存信息,如表5.3所示。表5.3登录进销存系统模块测试表模块名称测试用例预计结果实际结果实际结果与预期结果是否相同且可以满足续表5.3模块名称测试用例预计结果实际结果实际结果与预期结果是否相同且可以满足查看进销存信息查看进销存信息查看进销存信息查看进销存信息与预期结果相同,可以满足查看进销存信息查看进销存信息查看进销存信息查看进销存信息与预期结果相同,可以满足查看进销存信息查看进销存信息查看进销存信息查看进销存信息与预期结果相同,可以满足此为进销存测试,通过此测试可以查看进销存注册功能、使用用户进销存功能、使用仓库系统的用户信息统计修改功能是否可以正常使用。测试结果如表5.4所示。表5.4功能测试表功能预计结果预计结果是不允许为空与预期结果相同,可以满足进销存注册功能正常使用正常使用与预期结果相同,可以满足使用用户进销存功能正常使用正常使用与预期结果相同,可以满足使用仓库系统的用户信息统计修改功能正常使用正常使用与预期结果相同,可以满足此测试为数据完整性测试,通过此测试可以判断是否可以准确输入和显示输入的内容和资料信息。测试结果如表5.5所示。表5.5数据完整性测试表模块测试预期需求预期结果实测结果可准确输入内容和信息信息录入正确可行与预期的需求相同续表5.5模块测试预期需求预期结果实测结果可显示用户的资料信息信息显示正确可行与预期的需求相适应此测试为界面测试,通过此测试可以判断系统是否可以使用鼠标点击功能、录入错误时系统是否会提示、放大缩小是否影响界面现有布局。测试结果如表5.6所示。表5.6系统界面和模块页面测试表系统界面测试预计需求预期结果实测结果鼠标可点击并进行页面跳转页面可跳转可行与预期的需求相适应界面信息可正确显示页面信息可显示可行与预期的需求相适应录入错误时系统会发出报错提示可发出报错提示可行与预期的需求相适应放大和缩小界面时布局和信息不会出乱且可正常显示页面和信息显示正常可行与预期的需求相适应访问模块的用户的等级和权限,大不相同,因而要对获得授权的用户是否可以正常访问模块和进行程序操作管理,进行样例测试和分析。具体见下表5.7。表5.7用户权限访问和程序控制测试用户权限及操作测试功能预计需求预期结果实测结果用户是否可进行系统的模块单元全部功能是否可进入系统首页界面可行与预期的需求相适应用户是否可进行业务操作全部功能是否可访问模块和进行业务操作可行与预期的需求相适应性能测试就是通过自动化的测试工具来测试系统在正常运行下的各种性能。通过负载测试和压力测试来观察该系统是不允许为空达到了当初设计系统时的标准。在运行该企业进销存系统时可以发现该企业进销存系统的运行速度快,无卡壳,能快速的进行操作不会耽误时间。图6.1系统运行性能图信息化管理系统的测试和质量检验,需要优先注重软件和模块程序性的测试,对此,通过选择注册样例,对用户是否可以完成注册和访问进系统,进行测试,用户的输入条件不能为空和非法字符,当系统检测后台数据是否有该名用户,则可判断用户的合法身份,并充许用户的登陆和访问。整体而言,本系统的注

温馨提示

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

最新文档

评论

0/150

提交评论