基于SSM的企业进销存管理系统的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于SSM的企业进销存管理系统的设计与实现我探究的企业进销存系管理系统是用SSM框架,还用了jp技术和
java编程语言和数据库myql完成的。

通过本系统,实现了客户管理,供
应商家管理,商品信息管理,出入库管理,销售管理等,可以有效提高企
业进销存管理效率。

本系统经过测试,运行效果稳定,操作方便、快捷,
是一个功能全面、实用性好、安全性高,并具有良好的可扩展性、可维护
性的企业进销存管理平台。

本系统的使用使管理人员从繁重的工作中解脱出来,实现无纸化,能
够有效的提高企业进销存管理效率。

因为时代的发展,商业上的竞争越来越激烈,企业要想生存并且谋求
发展,就必须要非常努力的寻求改变和增进管理水平。

企业间的竞争全方
位无死角的,要求企业有非常强大的生命力,可以迅速的做出反应。

这就
对企业各个部门的沟通、协调、合作提出了很高的要求:同步生产的步伐,咨询信息的共享,内部资源的调拨分发,让各个单位之间既有自己的独立
生产空间,也要能服从大局,为整个企业做出贡献。

随着已知技术的出现,为提高中小型公司在进货、销售、库存方面的管理能力,提高企业效率及
降低运营成本,我决定开发“企业进销存管理系统”。

我做的这个系统是
在电脑上运行的,能够做到科学、合理、实用、好用,它的结构和功能清晰,可以为企业带来诸多的便利,最终给企业降低成本、增加收益。

近来年,我国经济蓬勃向上,很多公司对于管理软件的投入不断加大,各种公司企业规模疯狂扩大,公司和企业在对于统筹和分配上的投入意愿
也越来越明显,愿意将大量资金投入到相关的领域。

我对这个项目进行了
非常细致的观察、调研和研究,发现了随着公司或企业产品的不断增多,
公司或企业的进货、销售、存储方面的压力也越来越大,用人工的方式进
行进货、销售、存储方面的信息登记,容易犯错误,因为数据的量非常多,因此需要对公司或企业在进货、销售、库存方面进行改进,提高运营的效率,降低运营的成本,避免因人工管理不善带来的漏洞,因此企业进销存
管理系统的运行和管理就显得尤为重要。

(二)研究现状网络高速发展,相关技术和概念层出不穷,相关方面
的发展十分迅猛,也使得网络的普及率越发向上。

据最新的报告,不完全
统计,光中国的网民数量就已经达到了7.54亿,超过了总人口的一半以上,占全球网民总数的五分之一。

而计算机在日常生活和企业、政府管理中,发挥了越来越重要的作用,颠覆了传统的一些技术和管理方式。

截止
到现在,全球排名前几的几家公司,都是互联网高科技企业,很多传统的
企业已经被高科技企业所取代,这足以说明互联网是未来的趋势。

例如很
多新技术的出现,更是颠覆性的存在,将我们曾经不敢想象的一切变成现实。

当今的时代是一个变革的时代,各种新技术层出不穷,5g,AI,智慧
医疗,智慧城市等,都展示出了极强的生命力,按照马云说的:未来将不
会有传统的实体业,只会有拥抱互联网+的实体业。

目前在国外来说,互
联网与传统实体业融合地更加紧密,这是我们中国下一步地发展目标,我
们也要像西方发达国家那样,去将互联网和传统实体业融合,这样才能带
来更大的效率和社会总体收益率。

而据我观察,目前来说,很多企业、学校、政府等,登记信息都还是
用的纯人工方式,就比如说企业的进销存系统,用户信息,客户信息,供
应商信息,商品信息,通常用手动的方式去统计和登记信息,因为数据量
庞大,非常容易出现错误,比如漏记,错记,信息不匹配等等,从这方面
来说,确实对企业的运行发展有非常大的影响,为了提高效率我特意去开
发了这套企业进销存系统。

(三)研究内容我编写的这个企业进销存系统的论文主要说明了企业
进销存系统的开发的过程中使用到的方法和技术,首先要对需求进行分析,其次再是设计系统,最后就是软件功能实现以及做一些测试,我在开始做
设个项目的论文之前去到我们北理珠的图书馆借了JSP书籍和MYSQL数据
库书籍等编程书籍,然后针对开发的企业进销存管理系统,借鉴他人已经
做过的系统,我在网上查找了一些系统并进行了研究,观察及调研他们的
系统结构是怎么样的,有什么功能,想清楚用户的需求是啥,然后才是写
代码,在写完代码后就会进行软件的测试和验收,这就是大致的开发流程。

这次我的论文有以下几个方面的内容,具体情况如下:一是绪论:
我从项目的现状和它的背景一同分析开发此系统的重要性。

二是相关技术:针对我开发这个系统所用到的编程等技术,进行了说
明三是系统分析:我从两个方面进行了阐述,包括项目的可行性,项目的
功能需求这两个方面去研究和探讨本次我开发的这个系统。

四是系统设计:功能模块设计和数据库设计这两部分内容都有专门的
表格和图片表示五是系统实现:对界面进行展示,对操作流程进行说明六
是系统测试:看看项目有没有达到要求,是否能按设想的运行二、系统关
键技术(一)JSP技术JSP(Java脚本页面)是Sun和许多参与建立的公司
所提倡的动态web技术。

将Java程序添加到传统的web页面HTML文件(某)。

htm,某。

Html)。

JSP这种能够独立使用的编程语言可以嵌入在html语言里面运行,
正因为JSP参照了许多编程语言的特性,使得JSP在web的脚本技术当中
也占有一定的重要位置,对于刚入门编程行业的初学者来讲,jp这种编
程语言不仅容易学习,而且还具备许多高级的特性。

在程序的开发过程中,使用jp也不失为一种正确的选择,像表单数据的收集操作以及字符串信
息的处理方面等等,jp都能很轻松地解决,帮助程序开发者省下许多时间。

JSP新版本的发布,这是一个新世纪的到来。

它有面向对象的全部机制,还保留了向下兼容的特性。

所以,运用JSP,可以自由的选择OS、Web服务器以及合适的数据库管理系统。

同时,我们在编码上也有选择的
余地,一种是面向过程,一种是面向对象,或兼而使用,可以称为混和方
式设计。

JSP的优点:编写一次,始终运行。

还有jp可以延展可以缩短的强大
优势,还有就是支持多种开发语言并且兼容性好,适用于很多平台顺利运行。

(二)MYSQL数据库大型系统的开发,对数据库也是有一定的要求。

数据库具有一定的优势,能够存储、修改、增加、删减数据。

在以前数据
库的功能只有保存数据和进行一些简单的管理操作,但是时代的进步和需
求的改变,现在的数据库正变得越来越复杂,功能也越来越多、越来越实用。

数据库最开始只能放少量的信息或者数据,到后来慢慢的增加了许多
功能,在现在,数据库甚至能放非常非常大量的信息和数据,相信在未来,它还会进一步发展,变得更加适应人类社会的需求。

(三)SSM框架SSM[7]全称是Spring+SpringMVC+MyBati的缩写,是
一个成熟又经典集成框架,是一种轻量级的企业级JavaEE平台,具有高
实用性和易扩展性,主要职责分为数据持久层、业务逻辑层、视图层和控
制层。

基于该框架应用可在普通Web容器中运行,无需获得EJB容器的支撑。

Spring是一个开源框架,它是一个轻量级的控制反转(IOC)和面向
切面(AOP)的容器框架[8]。

SpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。

SpringMVC分离了控制器、模型对象、分派器以及
处理程序对象的角色,这种分离让它们更容易进行定制[9]。

MyBati是一个基于Java的持久层框架。

它消除了几乎所有的JDBC
代码和参数的手工设置以及结果集的检索[10]。

MyBati使用简单的某ML
或注解用于配置和原始映射,将接口和Java的POJO映射成数据库中的记录。

三、系统分析(一)可行性分析可行性分析目的是研究这个project
的真实可行性,做一个项目不是为了自娱自乐,而是为了解决某种真实存
在的需求。

这种可行性的调研必须是对人类社会的发展有促进作用的,真
实解决人们生活或者商业上的需求的。

1.技术可行性本企业进销存管理系统主要采用JSP和MYSQL数据库
作为设计工具,学习起来非常容易并且使用便利。

企业进销存管理系统的硬件要求不是很严格,只要是个不太烂的机器,一般都能运行这个系统,如果配置再好一点,运行起来会更加没有压力,
体验也会更加好。

但是如果配置水平较低,整体的运行效率和运行效果就
可能不太行,这样会导致运行起来不顺畅,体验较差。

但目前来说,基本
上大家使用的设备,运行本企业进销存管理系统是绝对没问题的。

大学时,就选修或者自己学习了jp、myql等等相关的知识。

我的专
业是软件工程,我对软件测试,UML统一建模语言等课程都有较好的了解,拥有一定的系统分辨、开发和验证能力。

JSP以及MYSQL结合起来设计与
开发一套企业进销存管理系统,必定是没有任何问题的。

3.经济可行性从经济的可行性上进行分析,主要就是对投入和产出进行一个比较,判断是否值得,如果花费了大量精力、时间乃至金钱,却在产出上没有相应的结果,那就不是一个值得的项目。

企业进销存管理系统采用的软件都是微软的东西,开发周期短,这样可以节约很多的时间精力金钱,有开源节流的作用。

同时我们的系统非常简洁、对于设备的配置没有非常高的要求,能满足基本需求的设备,一般都能满足我们项目的运行,所以在经济层面上,这个项目是完全可行的。

根据以上几点理由,本项目在法律可行性上也是完全可行的。

(二)系统性能分析(1)系统的存储性:因为是一个涉及到进货、库存、销售的系统,所以数据库的设计和开发上会比较高要求,数据多,操作复杂,各种表链接,各种主键外键的关联,所以我这个系统是一个非常强大的系统,才能满足这个系统的需要。

(2)系统的易学性:这个系统应该是简洁明了的,能让用户迅速弄懂的。

系统是给用户用的,而不是给开发者自娱自乐的,如果一个系统设计得很高端,但是却给用户的使用造成非常大的困扰,或者让用户很难迅速地弄懂这个系统应该怎么使用,那着就是一个失败的系统,因为其不符合其设计出来的根本目的(3)系统的数据要求:数据的类型,种类之类的都要非常准确。

例如我们不能在姓名这一栏里输入一串数字。

并且这些数据应该是可以更新的,而不是完全不可修改的。

(4)系统稳定性:要求系统运行相对稳定,尽可能少的BUG,尽可能的流畅,尽可能地提供较好地交互体验和功能体验。

图3.1系统用例图(四)系统流程分析1.开发流程我对本项目所要做的系统在企业实际应用中做了调查,进而确定我项目的流程类型、设计模式以及开发流程。

第一是明白用户的需求是什么,进行需求分析;第
二是对管理模块和系统使用的数据库进行分析,然后编程,进行系统整合,最后对系统进行测试,修改BUG。

系统开发流程图如图3.2所示图3.2系
统开发流程图2.登录流程使用者进入前,必须要通过匹配的用户账户和
密码,才可登录到系统,系统登录流程图如图3.3所示。

图3.3系统登录流程图3.添加信息流程管理员登录后可进行信息的
添加操作,添加信息流程图如图3.4所示图3.4添加信息流程图四、系统
设计(一)系统概要设计企业进销存管理系统的特点就是利用
Brower/Server(B/S)结构,是一个适用于Internet环境下的模型结构,系统的开发为企业进销存管理提供了一个网络管理平台,让管理人员只要
上网就可实现企业进销存相关信息的管理操作。

本系统的工作原理图如图4.1所示:图4.1系统工作原理图(二)系统结构设计系统结构设计要
求我们对任务进行分解,分段完成这些细分的任务,最终再结合、统筹对
接成一个完整的大型项目。

在过程中呢,先确定我们细分的小领域要实现
什么功能,达到什么效果,对于每个细分任务而言,我们要了解一些基本
的信息,例如技术啦、测试啦等等。

然后要对每个小模块做一个初步设计,并在开发的过程中进行优化,设计出一个具体可实现的系统结构。

图4.2系统结构图(三)数据库设计数据库对于一个项目的影响非常
的大,它的好坏直接影响了项目的好坏。

其中数据库的设计也就是表结构
的设计,还有表之间的相互关联。

就比如用户信息表与销售信息表之间,
必定要有某些数据有关联,这样在后续的查询中,我们才能查找到相应的
想要的内容。

若表之间都是独立的,那就毫无作用和意义了。

1.数据库E-R图本企业进销存管理系统采用的是MYSQL数据库,数据
存储快,因为企业进销存管理系统,主要的就是对信息的管理,信息内容
比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信
息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体
之间的关系表达明确,下面我们用E-R图来具体表示。

E-R图是一种描述显示数据类型间的关系的数据描述方法,E-R图可
以完整地映射出现实模型的关系。

E-R图中的三个最为重要的元素就是实体、属性、关系。

E-R图即由这三点组成。

本企业进销存管理系统的E-R
图如下所示:(1)客户信息实体E-R图如图4.3所示:图4.3客户
信息E-R图(2)通知信息实体E-R图如图4.4所示:图4.4通知信息
E-R图(3)商品实体E-R图如图4.5所示:图4.5商品信息E-R图(4)供应商实体E-R图如图4.6所示:图4.6供应商信息E-R图(5)销售
实体E-R图如图4.7所示:图4.7销售信息E-R图(6)库存实体E-R
图如图4.8所示:图4.8库存信息E-R图2.数据库表设计本企业进销
存管理系统需要后台数据库,系统采用MYSQL数据库进行数据的存储,下
面介绍数据库中的各个表的详细信息。

图5.2公告管理界面(三)客户管理功能模块的实现管理员在客户管
理界面可以查看所有客户信息,并且可以进行添加,修改,删除和查询,
客户管理界面展示如图5.3所示。

图5-3客户管理界面(四)供应商管理功能模块的实现管理员在供应
商管理界面可以查看所有供应商信息,并且可以进行添加,修改,删除和
查询,供应商管理界面展示如图5.4所示。

图5.4供应商管理界面(五)商品类型管理功能模块的实现管理员在
商品类型管理界面可以查看所有商品类型信息,并且可以进行添加,修改,删除和查询,商品类型管理界面展示如图5.5所示。

图5.5商品类型管理界面(六)货架库存管理功能模块的实现管理员
在货架库存管理界面可以查看所有货架库存信息,并且可以进行添加,修改,删除和查询,货架库存管理界面如图5.6所示。

图5.6货架库存管理界面(七)采购订单管理功能模块的实现管理员
在采购订单管理界面可以查看所有采购订单信息,并且可以进行添加,修改,删除和查询,采购订单界面展示如图5.7所示。

图5.7采购订单界面(八)商品信息管理功能模块的实现管理员在商
品信息管理界面可以查看所有商品信息,并且可以进行添加,修改,删除
和查询,商品信息管理界面展示如图5.8所示。

图5.8商品信息管理界面(九)调拨单功能模块的实现管理员在调拨
单界面可以查看所有调拨单信息,并且可以进行添加,修改,删除和查询,调拨单界面展示如图5.9所示。

图5.9调拨单界面(十)销售管理功能模块的实现管理员在销售管理
界面可以查看所有销售信息,并且可以进行添加,修改,删除和查询,销
售管理界面展示如图5.10所示。

图5.10销售管理界面六、系统测试(一)测试目的系统测试也是非
常重要的一个模块,它主要判断系统是否符合要求,在功能上、运行上是
否符合预期。

若一个系统在测试的时候出现了问题,我们应当欢迎并且及
时的修改。

企业进销存管理系统完成了开发之后,就进入了测试环节,测试的主
要作用就是为了发现问题,找出问题,解决问题。

我们要以用户的视角去
使用这个软件,怎么可能出错我们就怎么来操作,只有这样,在真实的用
户使用场景上,才能尽可能少地减少BUG和错误,测试的过程会用到许多
方法,黑盒白盒等等等等,测试后的最后目的,就是让真正的用户在使用
的时候尽可能少遇到一些问题。

其次就是一些界面上的问题,也可以通过
测试来发现,例如某处比较辣眼睛,虽然功能没问题但在视觉上让人不舒服,这种涉及到用户体验的事情也是非常重要的,需要及时处理。

再者就
是逻辑问题,系统功能没问题,但用户使用的流程并不一定就是项目流程,用户可能会有自己的操作习惯,一旦大部分用户的使用习惯与我们软件的
开发流程不匹配,那就需要我们进行修改。

最严重的问题就是需求问题,
项目是为了解决需求的,不是为了好看的,如果连最基本的用户需求都无
法实现,或者实现效果不佳,那这个项目就相当于废了。

关于企业进销存
管理系统的测试,我们使用了测试用得最多的测试方法,即黑盒测试进行
企业进销存管理系统的测试。

(二)测试方案我们对测试需要有一个基本的预想和计划,不能随遇
而安甚至想到哪里做到哪里,那样肯定会导致遗漏和不完善。

测试是为了
发现问题,那就更需要我们做足计划,将所有可能的错误都测试一遍,从
而给真实用户的带来完美的使用体验。

所以我打算用白盒和黑盒测试来完
成我的这个测试白盒测试也就是构造测试,它可以让我们拆解程序,分析
程序的功能和定位,让我们对每个一功能进行测试,并可以非常直观地让
我们看到什么功能可以实现,什么功能不能实现。

性能测试也就黑盒测试,主要就说通过运行程序,来看一下各个功能
是否都能实现,会不会出现程序崩溃、运行逻辑错误、运行中途闪退等等
问题,主要就说模仿用户操作来进行测试,从而更贴近现实。

1.模块测试模块测试也就是单元测试,就是对代码或者说项目的每
一个模块,都进行测试,将拆分的任务拆开来测试,可以更好地让我们发
现问题,由小而大去进行改正。

2.集成测试:集成测试也是非常好的一种测试,主要是对整个系
统和子系统进行测试,主要是性能测试。

它也有它的优势:软件消耗低。

若有端口错误可以及时发现。

定位、筛查到出现错误的代码的位置。

d.语言的检查和修正4.性能测试性能测试也是有很多种类,主要测
试系统能不能支撑得起这个系统的的运行,例如负载啦,强度啦等等几个
方面,主要测试系统能不能真正运行得起来,会不会像天猫双十一那样在
多用户登录的时候崩溃掉: a.数据库可以先测试一下,包括各个表之间
的连接,数据输入输出会不会有问题,数据的种类与表格限定总类是否一致。

b.其次就是安全性的问题:例如登录的时候用户输入密码是否会导致
类型错误从而导致溢出,是否会导致系统崩溃或密码泄密。

c.然后就是兼容上的问题,例如可以在window还是io上运行,又或
者是否可以在wubantu上运行等等。

浏览器的兼容性;操作系统的兼容性;软件平台的兼容性;数
据库的兼容性。

5.验收测试:终于到了结尾性的工作了。

就是为了给用户看一下
我们的系统功能是否达到了预期的效果。

我采用了性能测试也就是黑盒测
试对系统进行测试。

其结果是分别是:有一定的差异在用户的需求。

再者就是结果与之差不了多少。

到了最后了,我们发现的问题都是与用户的需求存在一定的关联。

(三)测试策略为了方便用户使用企业进销存管理系统,以及尽可能
减少我们测试过程中可能出现的错误,或者漏测、多测等情况。

主要有以下这些方面的内容: 1.代码部分,可以进行单元测试、集
成测试、系统测试,然后对测试结果进行分析和观察,是否可行。

2.其次是找出他们哪些是可以测试的,哪些是不可以测试的,要做到
心中有数。

3.将测试计划或者方案写成文本,方便后续查看以及查漏补缺。

(四)测试分析测试的结果显示,我开发的这个软件项目基本可以达
到要求,功能完整,流程清晰,用户体验较好。

在视觉上也没有太大问题,给了几个朋友使用,他们都说界面非常简洁明了,能直入主题,不拖泥带水。

但在测试时也出现了一些问题,可能是因为自身水平的不足的原因。

其次系统的代码和数据库出现了非常多的冗余现象,都是因为对编程技术
的应用不够熟练,在日后我会加强自己的自身学习和能力,减少这样的冗
余现象。

继续磨练我的技术能力,成为一个优秀的程序员。

软件基本没问题,可以说是测试通过了。

总结本次开发的企业进销存管理系统已经接近尾声阶段了,在这次毕
业设计中,我学到了很多,到了很多,也算是对我的大学生涯有了一个交代。

这次的毕业设计让我对程序设计有了更深层次的理解,让我对一个项
目的生命周期、开发流程、所需的技术甚至是作为一个程序员的所需的水平,都有了深刻的认识。

说真的,我学到了很多,无论是需求分析,还是
系统的设计,具体功能的实现还有最后的测试工作,我都尽心尽力,亲历
亲为地去学、去做、去挑战自己。

其实开发的过程中,我也遇到过非常多
的问题,大的小的,方向性的技术性的。

比如在一开始,我就遇到了一个
方向性的问题,即这个系统到底需要怎么样的功能,因为我只是一个学生,进销存系统一般是企业、公司才会用到的软件,我作为一个没有接触过企
业项目的人,无法真真正正的了解他们所需的功能。

后来是一位师兄提醒
了我,他叫我去参考一下别人做的相类似的系统,看看别人的系统有什么
样的功能及特性,我焕然大悟,都说最好的老师就是竞争对手(或者说同
行吧),这句话果然没错。

后来我就去参考了客林ERP系统,通过研究他
们的系统,我最终确定了自己的软件需要什么样的功能。

在定好方向后,
就是代码的编写了,这部分是最难的,也是最有挑战的,我本身不是一个
水平特别高超的人,也比较心大,编码的时候容易出现逻辑错误以及一些
不应该出现的错误,例如少打分号,忘记括号,甚至是打错字母。

好在最
后我通过慢慢的检查和同学的帮助,解决了问题。

编码过程真的很心塞,
但最后做出来项目的时候,我又是那么地自豪与激动。

我做地这个系统虽
然没有特别完美,系统整体界面虽然不是很好看,但起码功能完成,界面
也不花哨,能给使用者带来相对较好地体验。

自己作为一个学生,水平肯定还是有限的,不能做到像企业员工或者
出来社会几年的程序员那样,做到尽善尽美。

但我以及尽自己最大的努力
和诚意,去做一个自己力所能及的系统,能够对我大学生涯做一个交代的
系统。

我很自豪,也非常骄傲。

相关文档
最新文档