摘要:本欧亚超市的进销存管理系统将系统整体通过不同层次和业务将系统划分为多个功能模块,用户管理模块、供应商管理模块、客户管理模块、商品管理模块等。各个模块主要是采用MVC的设计思想通过SSH开源程序架构进行实现,即JSP负责前台页面的显示,ACTION作为前台页面请求和后台逻辑处理的连接交互,MODEL负责业务逻辑的处理,DAO为数据持久层作为Java对象和数据库之间的数据传输,整个系统的设计分析清楚,思路清晰,有助于系统快速高效的开发。这个系统有用户注册。该系统具有用户登录、添加,删除、查询、修改以及商品管理问题等功能,测试表明该系统达到了预期的要求。
关键词:SSH; 数据库; 系统开发;
1概述
信息技术的时代。互联网技术的快速应用促进了硬件和软件的快速发展。与超市传统的人工管理相比,欧亚超市进销存管理系统具有很大的优势。首先,计算机可以记录并保管货物的详细信息,节省了人力和物力。其次,电脑比人精度好,失误少。企业需要新的管理模式。替代落后的人工管理模式,设计完善的高效率欧亚超市的进口和销售管理系统。
2概要设计
近年来,随着计算机和互联网进入企业,人们开始接触认知企业系统管理,在国内,原有的企业管理方式不能够再适应时代的发展,计算机辅助管理已经广泛普及。对企业的进货销售等一系列的行为进行系统化数字化管理是适应时代发展的需要,是企业谋求新发展的必然前提,企业的系统化管理让企业变得高效、快捷,同时也能节约企业管理成本。
2.1功能分析
所谓系统的功能分析,就是分析用户提出的具体的功能需求,分析这些功能是否合理,通过现有的技术能实现这些需求。分析时,主要从上到下分别论述。
系统级模块图是根据系统层模块分解,可直观地反映系统每个模块功能。
图1 欧亚超市进销存管理系统的层次模块图
2.2数据库分析
2.2.1实体的分析
系统实现了角色管理实体、用户管理实体、商品管理实体、采购管理实体、销售管理实体、库存管理实体、统计数据实体等其他实体,管理包括用户角色增加、修正、删除,可以增加超市员工、供应商和顾客的信息。用户管理主要是增加或删除、修改各种用户角色的管理信息。商品管理是对各种种类的商品进行进货、存入管理分类、保管商品等详细信息。
2.2.2系统实体之间的联系
通过对欧亚超市管理系统中所需实体以及属性的分析,我们已经对于欧亚超市管理系统的数据模型有了一定的了解,由此我们可以确定二十一大实体之间的联系。
(1)用户实体功能分析:系统管理员可以登录管理页面,对本系统的用户名、密码等进行信息的添加、修改、删除。
(2)角色实体功能分析:管理者添加、修改、删除自己添加的不同角色的权限信息。
(3)商品实体功能分析:商品实体可以增加商品的种类和商品的具体信息商品名、商品的型号、种类、单位、采购价格、销售价格、备注、删除、修改。调查生产厂家,库存。
(4)供应商实体功能分析:可以实现对超市的供应商实体名称、电话、地址的增加、删除和修改。
(5)客户实体功能分析:姓名、电话、地址、备注的增加、删除和修改。
(6)进货单实体功能分析:供应商姓名、日期等信息进行查看,应付金额和实付金额的删除和修改。
(7)出库单实体功能分析:可以实现对超市的出库信息进行统计记录。
(8)报损单实体功能分析:可以直观地看出报损的编号和收货日期。
(9)报溢单实体功能分析:可以直观地看出报溢的编号和收货日期。
(10)退货单实体功能分析:可以查看超市的供应商名称、收货日期、应付金额、实付金额。
(11)商品类别实体功能分析:商品名称、商品类别的增加、删除和修改。
(12)菜单实体功能分析:菜单名称、菜单类别、菜单图标的增加、删除和修改。
3详细设计
通过系统分析和概要设计,对欧亚超市进销存管理系统已经有了一个比较详细的了解。本系统使用Struts作为表现层,使用Hibernate作为持久层对数据库进行操作,使用Spring管理业务层组件、持久层组件和表现层的控制器组件,使用MySQL数据库作为存储信息的载体。
图2 欧亚超市进销存管理系统的类图
整个视图层主要是由jsp页面来完成,而为了更好地实现的欧亚超市进销存管理系统的页面效果,本系统采用了Struts框架中的index页面框架标签来设计页面。将主体页面拆分成上中下三部分。整个视图层主要包括一下几个jsp页面文件。
1.login.jsp登录页面。
2.index.jsp主框架页面。
3.exception.jsp异常报错页面。
4.chusearch.jsp销售单据查询页面。
5.chuku.jsp销售出库页面(出库单的增删改查)
6.mingxi.jsp退货单据查询
7.tuiku.jsp客户退货(客户退货单的增删改查)
8.jinhuo.jsp进货入库(进货单的增删改查)
9.jinsearch.jsp进货页面。
10.tuihuo.jsp退货出库(退货单的增删改查)
11.baojing.jsp库存报警
12.baosun.jsp库存报损(报损单的增删改查)
13.baoyi.jsp商品报溢(报溢单的增删改查)
14.biansearch.jsp报损报溢查询
15.kcsearch.jsp当前库存查询
16.home.jsp欧亚超市管理系统文字
17.beifen.jsp数据库备份管理
18.role.jsp角色管理(角色的增删改查)
19.user.jsp用户管理(用户的增删改查)
20.gystj.jsp供应商结算查询
21.role.jsp用户权限页面。(角色增加权限)
22.spcjt.jsp统计页面(按日、按月进行交易统计)。
23.gys.jsp供应商管理(供应商的增删改查)
24.kc.jsp起初库存查询页面
25.kh.jsp客户管理(客户的增删改查)
26.spxx.jsp商品管理(商品的增删改查)
3.1数据库连接模块的创建
Struts框架的MVC开发模式完成,其中包结构也是按照MVC模式进行分层,整体开发分五个包,分别是action,dao,biz,utils,pojo。其中Action可以看作Servlet控制层,Dao是数据库连接持久化层,pojo则是JavaBean与Model模式层的实体类共同构成视图层,biz是业务逻辑层,与dao层进行交互,Util是通用工具包。
本模块所包含的类如下:
1.UserAction类用于记录系统的用户信息,并完成登陆和注销的操作。
2.sAction类用于记录销售订单的信息,并且实现对销售订单的增删改查等功能。
3.Spxx类用于记录商品的信息,并且实现对商品的增删改查等功能。
4.JhAction类用于记录进货单的信息,并且实现对进货单的增删改查等功能。
5.Gys类用于记录供应商的信息,并且实现对供应商的增删改查等功能。
3.2用户模块的详细设计
用户模块主要给用户登录、创建用户、用户分配角色等功能,主要包括index.jsp,login.jsp。本模块主要包括UserAction类、BaseDao类,userBiz类的设计以及UserBizImpl类的设计。而本模块主要包含的是用户登录、创建用户的功能。
1.用户登录的过程
(1)用户在jsp登录页面输入登录信息的账号和密码。
(2)在jsp页面用JavaScript对用户输入数据格式信息和是否有效进行检查。
(3)在数据库表格中判断是否存在某一列满足用户名和密码为用户输入的数据信息,存在则通过。
(4)将用户的基本信息全部保存在session对象中。
(5)全部正常,跳转到欧亚超市进销存管理系统首页。
2.创建的过程
(1)用户在jsp管理用户页面输入具体信息。
(2)UserAction接受参数。
(3)向用户表里插入用户信息。
(4)全部正常,提示增加成功。
3.3欧亚超市进销存管理系统的页面及主要核心算法设计
出入库整个算法的流程:
(1)管理员通过期初入库页面提交请求给KcAction进行某些商品的期初入库,记录期初入库单的主表信息以及明细表信息,如果dao层返回true,则再将期初入库单的商品明细保存在库存账表中。每一次保存明细在库存表之前会按照商品id、当前年月查询库存账表中是否已有该商品的期初入库数,如果存在则相加并更新数据库,不存在则新增。
(2)如果有进货单,管理员通过进货单页面提交请求给JhAction进行某些商品的进货入库,记录进货入库单的主表信息以及明细表信息,如果dao层返回true,则再将进货入库单的商品明细保存在库存账表中。每一次保存明细在库存表之前会按照商品id、当前年月查询库存账表中是否已有该商品的入库数,如果存在则相加并更新数据库,不存在则新增。
(3)客户进行退货处理后,马上提交给JhAction的请求进行一些商品的退货入库功能,记录退货单的主表信息和明细表信息。如果dao层返回true,填写相应的入库单和入库清单,把入库单的商品清单保存在库存里。每次保管明细根据库存表前面的商品id、现在的年月在库存账上查看该商品的入库数量。如果有的话,配合更新数据库。
(4)系统管理员增加销售出库单,立刻提交请求给XsAction,for循环通过商品id查询当月的库存账表。如果期初数量+入库数量-出库数量大于出库单相应商品数量则保存销售出库单的主表和明细表信息。如果dao层返回true,再将出库数量保存早库存账表中。
(5)系统管理员增加退货单,立刻提交请求给XsAction,for循环通过商品id查询当月的库存账表。如果期初数量+入库数量-出库数量大于退货单相应商品数量则保存退货出库单的主表和明细表信息。如果dao层返回true,再将出库数量保存早库存账表中。
(6)系统管理员生成报损单或报溢单则要对库存账表进行修改,进行相应地入库、出库操作维持库存与现状的一致性。
(7)Jhd进货单对象。
(8)jhBiz.saveOrUpdateJhd(pojo,djsps):保存商品进货单信息,进入商品进货单JhBizImpl业务层。
(9)Jhdsp进货单商品明细对象。
(10)jhdsp.setSpname(jo.getString("spname")):为进货单商品明细对象设置商品名称属性。
(11)Spxx spxx=(Spxx)baseDao.loadById(Spxx.class,jhdsp.get Spid()):通过basedao与系统数据库进行交互,load By Id通过商品主键查找系统数据库的对象。
(12)Integer kcsl=spxx.getKcsl()+jhdsp.getSl();进货得到商品的库存数量,加上该入货单的库存数量。
(13)baseDao.saveOrUpdateAll(spList)保存商品进货明细单信息。
(14)jhBiz.findDjByParams(tab,wheres.toString()根据参数查找进货单据。
(15)wheres:用StringBuffer拼接的sql条件语句。
按日统计分析库存:
(1)计算某个日期所有商品的入库单的数量、资金
(2)计算某个日期所有商品的退货单的数量、资金
(3)findTjfxRi:按日统计分析的控制器层
(4)tongjiBiz.findTjfxRi(wheres.toString(),dates):按日统计分析的业务逻辑层接口,实现相应逻辑层的具体方法
(5)baseDao:基础dao层的类,包含所有数据执行的基本方法
(6)findByHql(hql.toString()):执行相应的hql进行数据的查找,返回list对象
(7)Iterator it=list.iterator():进行list的遍历,将每个商品的相应日期的入库数量加在一起
(8)this.outString(tongjiBiz.findTjfxRi(wheres.toString(),dates)):把最后的结果以字符串格式返回给前端页面显示
(9)String year=String.valueOf(cs.get(Calendar.YEAR)):取得日期当中的年
(10)xszj+=Double.valueOf(obj[1].toString()):将对象中的字符串对象转化成浮点数对象进行计算
3.4开发工具及环境
操作系统:Windows7
编程语言:Java、JSP、Html、Css、Java Script
数据库系统:MySQL
开发工具:MyEclipse 10.0
应用框架:SSH MVC
服务器运行环境:Tomcate6.0
4系统实现
本欧亚超市的采购和存取管理系统经过需求分析、功能设计、具体系统编程的实现,得到了基于shh框架的欧亚超市进销存管理系统源码,该源码通过myeclipse集成工具部署到tomca服务器上运行,各模块的运行结果如下所述。
图3 系统用户信息管理界面
5结束语
在这次欧亚超市进销存管理系统的设计和开发过程中,我学到了很多知识。同时也认识到了自己的不足。首先,对软件的开发流程有了更详细的了解。在进行系统开发时,首先对系统实现的功能进行详细调查之后,设计合理的数据库表结构,最后使用SSH框架实现系统的业务逻辑。
感谢校方的支持和老师的有益帮助。特别是我尊敬的导师裴志松老师对我本次毕业设计的开发程序和毕业论文的全过程给予了很大的帮助,我从老师那里学到了很多Java的技术知识,他认真负责的工作态度和深刻的理论知识水平都让我受益良多。他无论是理论上还是实践上都给了我很大的帮助,使我得到了很大的提高,这对我今后的工作和学习有很大的帮助。在此表示衷心的感激!
参考文献
[1]ZHOU Qian,DUAN Wan-suo,MU Mu,FENG Rong.Influence of Positive and Negative Indian Ocean Dipoles on ENSO via the Indonesian Throughflow:Results from Sensitivity.
[2]Experiments[J].Advances in Atmospheric Sciences,2015(6)783-793.YAN XiaoMei,SUN Che.An altimetric transport index for Kuroshio inflow northeast of Taiwan Island[J].Science China(Earth Sciences),2015(5):697-706.
[3]王永洋.基于B/S结构的小型连锁超市进销存系统的研究[D].沈阳建筑大学,2012.
[4]王伟红,王守城,于玲玲.欧亚超市进销存管理系统的分析与设计[J].现代商业,2006(8):54-55.
[5]尤凤英.欧亚超市进销存管理系统[J].济南职业学院学报,2007(1):78-80+94.
[6]杨永福.基于J2EE企业管理信息系统的研究与开发[D].武汉理工大学,2006.
[7] 程科仁.超市管理系统的设计与实现[D].大连理工大学,2013.
[8] 胡建宏.商品欧亚超市进销存管理系统[D].兰州大学,2007.
[9] 史鑫.欧亚超市进销存管理系统的设计与应用[D].吉林大学,2009.
[10]闵春华.基于J2EE的零售业管理信息系统的设计与实现[D].电子科技大学,2011.
第3章系统设计3.1数据库设计3.1.1概念结构(1)住户信息数据库结果设计,通过对以往小区物业管理实际需求情况及常用的信息分析,其住户信息主要包括了住户编号、房屋编号、户主名称、联系电话以及联系地址等信息,其结果图如图3.1所示。3.1.2实...
3.5系统安全性设计为保证进销存管理系统信息安全性需求,需要对系统的信息传递、数据库储存、网络传输、系统操作等方面进行设计。系统安全性设计主要从用户管理、存取控制管理、数据加密管理、系统访问审查、系统备份和恢复等方面进行设计。1、用户管理:...
第4章系统的设计与实现4.1数据库整体设计与E-R图数据库设计是结合收集到的实际情况和数据,在编制数据库系统时,根据设计数据库的原则和编写、计数据库的原则,在符合系统平台的功能性需求和数据算法符合当前所设定的数据库编写、传输的过程。数据库...
一、总体功能设计学生选课系统是直接与学生进行选择教学实验课程有关的信息系统。系统信息的共享是通过一个统一的数据库的存取来实现的。学生选课信息管理系统的主要功能如下。1.用户登录模块。这个系统包括用户登录、添加用户、用户密码修改三部分。通过...
数据挖掘技术是软件工程领域中一项新的应用技术,可以将数据信息转化成知识与信息的方式,能够满足人们对信息的大量需求.在软件工程领域中,数据挖掘技术可以应用到漏洞数据库、源代码库、版本信息记录等数据库中进行大量数据信息的挖掘.因此,数据挖掘技术也称...
0引言网络软件的使用频率很高,校园资源网已经是现代社会必不可少的工具,是人们生活的一部分,是迄今为止对人类社会生活改变深刻的一种网络新形态。校园资源网作为一种资源信息共享系统,已经成为网络时代出现的一种标志性的时代产物,为人们的学习和工作...
一、系统开发的目的《数据库原理与应用》是软件工程及其相关专业的一门重要的专业基础课,为了丰富学生的课外学习方式和可以更加灵活地安排学习时间,让教师和学生及时了解学生对教材内容的掌握程度,同时作为客观评价学生平时成绩的一种手段,我们开发了《...
摘要随着中国互联网和经济的不断发展以及人们生活水平的提高,旅游行业越来越强,发展一发不可收拾。旅游行业综合了食、...
随着智能手机的应用,GPS、wifi技术的成熟,关于手机订餐应用的需求也逐渐增---手机订外卖、手机订餐方便了客户。例如,去餐厅用餐前客户可以在手机APP上查看当前餐厅是否有空位,可以预订餐位,且在出发前就可在手机点餐,并注明到店时间,到店后无需等待就...
第一章绪论1.1课题研究背景和意义现如今找工作已成为一个不容忽视的难题。传统的人才招聘模式,对于求职者来说费时费力,并且找到合适岗位的概率很...