零售商店进销存管理系统的分析与设计毕业论文.docx
《零售商店进销存管理系统的分析与设计毕业论文.docx》由会员分享,可在线阅读,更多相关《零售商店进销存管理系统的分析与设计毕业论文.docx(38页珍藏版)》请在冰豆网上搜索。
零售商店进销存管理系统的分析与设计毕业论文
零售商店进销存管理系统的分析与设计毕业论文
一、关于零售商店进销存管理系统开发项目的需求分析
(一)、设计来源
我国的零售业发展日益迅速,但存在着商品信息不能有效地管理和完善,盘点率低等情况。
这个系统依靠现代化的信息技术来管理零售商店,节省了大量的人力,物力,财力,改善了员工的工作条件,提高工作效率,减轻了劳动强度,加快了超市的经营和管理。
(二)、现状分析
零售行业在我国的经济发展中起着重要的作用。
随着全球化和电子商务的兴起,各个零售商户之间的竞争变得日益激烈。
计算机及电子商务的发展突破了时间上,空间上的限制,给零售行业带来了许多发展机会。
但我国的信息化水平才处于刚刚起步的阶段。
但随着技术发展,电脑操作和管理变得日益简化,电脑知识日趋普及,同时市场经济快速多变,竞争激烈,零售行业采用电脑管理进货、库存、销售等诸多环节也将成为趋势及必然。
二、开发零售商店进销存管理系统的可行性分析
(一)、前言
随着我国经济的不断发展,我国的零售业随之也得到了快速的发展,但其经营管理也变得日益复杂。
现在许多零售商店日常需要处理大量的库存信息,还要不断更新商品的销售信息和添加商品信息。
如果要实时掌握这些不同种类的信息,开发这个系统是很有必要的。
这个系统依靠现代化的信息技术来管理零售商店,它可以节省大量的人力,物力,财力,管理员可以快速对市场的变化做出相对应的策略,并且能够快速的反映出商品的进销存状况。
同时还改善了员工的工作条件,提高工作效率和服务效率及质量。
(二)、可行性研究的前提
1、系统要求
A.功能:
此系统包括6个模块:
人事管理模块(包括客户信息管理、供应商信息管理等)。
库存管理模块(包括商品入库、商品退货、库存查询等)。
销售管理模块(包括商品销售数量、单价、统计日期等)。
进货管理模块(包括进货信息的增删查改功能)。
查询统计模块。
系统设置模块。
B.性能:
服务器端:
实时获取商品进销存信息,并载入数据库。
客户端(浏览器端):
数据基本展示,通过条件查询展示数据。
C.输入/输出:
商品进销存信息。
D.基本的数据流程和处理流程:
通过数据库在浏览器端展示商品信息,工作人员通过浏览器进行商品信息的查看,个人信息的修改等。
数据库通过工作人员的操作实时更新数据。
E.在安全与保密方面的要求:
此系统为零售商店进销存管理系统,用户信息安全管理完善。
对断电、死机、系统崩溃等问题有有力措施以保障数据不受损失。
对交易有严格的安全保护措施。
在网络数据传输方面有自己的编码方式,保证数据的安全可靠性。
2、设计目标
(1)本软件正常运行使用主要由两个版块支持,一方面是工作人员对商品销售的统计管理,另一方面管理员对商品的进货,库存,销售的管理。
(2)整个应用软件实现的主要功能有:
①.管理员管理工作人员信息和商品信息。
②.工作人员注册登录,管理商品销售信息
(3)大量用户可同时使用此软件,并且能保证软件各功能模块都能正常良好运行。
3、可行性研究的方法
(1)、社会调查:
对各类零售商户使用零售商店进销存管理系统的需求;
(2)、市场相关产品、同类产品(如淘宝网等已有产品)业务流程的调查。
通过调查发现:
我国的零售业发展日益迅速,但存在着商品信息不能有效地管理和完善,盘点率低等情况。
进销存管理系统多采用VB或者asp页面进行开发,少有以Jsp作为展示界面的网站。
这个系统依靠现代化的信息技术来管理零售商店,节省了大量的人力,物力,财力,改善了员工的工作条件,提高工作效率,减轻了劳动强度,加快了超市的经营和管理。
(三)技术可行性
1、现有相关技术可行性
综合考虑各种开发技术,我选取了B/S(浏览器/服务器)模式的体系结构,基于SSH框架模式进行JSP的WEB应用开发。
用户使用浏览器完成人机交互,JSP页面和支持JSP处理的Web服务器共同完成了进销存管理系统的功能.
(1)、JSP技术
JSP是一种动态网页标准技术,由Sun公司所倡导、多家公司一起参与而建立,它为创建显示动态生成的Web页面提供了一个简单且快捷的方法,结合了跨平台和跨网站服务器的支持。
JSP是一项将静态HTML和动态生成的HTML巧妙的结合到一起的技术。
JSP技术可以将脚本语言嵌入到HTML或XML文档中。
在JSP文件被传送到客户端之前,JSP文件的语法就在服务器端被解析,脚本程序也被转化为Servlet来进行处理,而产生的Servlet将生成动态的HTML数据,并发送到客户端进行显示。
访问JSP文件的方法主要由两种:
一种方法是由浏览器发送对JSP文件的请求,JSP调用Bean组件来执行任务,并且将生成的动态内容发送到浏览器的组件;另一种方法则是客户端直接将请求发送到Servlet,由Servlet来负责生成动态内容,然后再激活一个JSP文件以便显示所生成的内容。
(2)、SSHE框架模式
SSH为struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。
集成SSH框架的系统从职责上分为四层:
表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。
其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。
具体做法是:
用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(DataAccessObjects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。
系统的基本业务流程是:
在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。
在业务层中,管理服务组件的SpringIoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。
而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。
采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。
这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。
而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。
(4)、社会可行性
目前超市管理信息系统已经在大型的超市中得到了广泛的应用,超市管理需要现代化和信息化,只有合理地运用信息化的管理,才能在市场竞争中立于不败。
超市管理信息系统不仅能够提高经营者的回报,而且能够随时掌握市场的动向,为经营者提供必要的市场信息,解决了经营者最需要解决的迫切问题,同时管理信息系统对操作人员的素质要求不高,也合理地节约了成本的投入。
(5)、经济可行性
超市管理系统的投入,能够提高工作效率,减少工作人员,从而减少人力资本的投入,根据核算,系统投入三个月后,就能够基本收回开发系统的。
其相关费用计算如下:
1投资及效益分析
1.1支出
1.1.1基本建设投资
机器设备(电脑一台)4000元
电费30元
合计4030元
1.1.2其他一次性支出
因目前由本人开发,若不计算薪资等成本支出,无其他一次性支出。
1.1.3非一次性支出
不可知费用500元
共计500元
投资共计4530元
1.2收益
1.2.1一次性收益
无
1.2.2非一次性收益
无
1.2.3不可定量的收益
待用户习惯后,掌握的是无限量的客户资源和供应商资源及对商店带来的经济效益。
1.3收益/投资比
可见:
商品销售数量。
不可见:
效率提高,质量提高等。
1.4投资回收周期
投资回收周期视软件使用情况定。
投资,从经济角度来说,本系统开发完全必要。
三、系统设计
(一)、系统功能描述
1、使用系统流程图:
图3-1系统流程图
2、商品信息管理流程图
图3-2商品信息管理块流程图
3、进销存信息管理流程图
图3-3进销存信息管理流程图
4、人员信息管理流程图:
图3-4用户信息管理流程图
本系统正常运行使用主要由两个版块支持,一方面是工作人员对商品的销售管理,另一方面管理员对商品进销存,工作人员等的管理。
整个应用软件实现的主要功能有:
管理员对工作人员管理,商品信息管理,进销存管理。
大量用户可同时使用此软件,并且能保证软件各功能模块都能正常良好运行。
Ø、系统模块设计
1、注册模块的设计
——实现功能:
实现没有账号的新到用户的注册功能;
注册模块是用来向用户提供注册功能的。
用户只需要填写自己的相关信息,点击注册按钮把数据提交到后台,对数据库进行操作。
2、登录模块的设计
——实现功能:
已经拥有系统账号的用户的登录功能;
登录模块是用来向用户提供登录功能的,系统会首先验证用户信息是否为空,且是否是正确的用户信息。
系统验证这些数据成功后,会跳转到用户的个人信息页面或者后台管理页面。
如果验证不成功会停留在登录页面。
3、首页模块的设计
——实现功能:
实现用户对首页的访问;
首页的使用频率很高,功能就是提供用户对首页的访问。
用户打开网站就来到首页,在进行其他操作的时候也可以通过点击网站名称或者其他按钮返回首页。
首页是一个比较特殊的页面,要同时展示不同模块部分中的不同数据部分。
4、商品信息模块的设计
——实现功能:
对书商品详细信息进行展示,提供加入增加,修改,删除的操作;
商品信息模块通过商品id进行跳转,展示了商品的详细信息,如商品名,商品号,类型,价格,库存量,销售量等。
5、个人信息模块的设计
——实现功能:
实现个人信息管理。
个人信息模块可以查看用户的个人信息,并对之进行修改。
6、后台管理模块的设计
——实现功能:
管理员对商品、进销存信息、工作人员的信息进行管理。
管理员登录后台管理后,可以添加、修改和删除商品;修改用户信息和删除用户;查看商品销售或库存情况。
(3)、数据字典
1、数据库设计背景
在数据库应用系统的开发过程中,数据库的结构设计是其中非常重要的一个环节。
数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。
所以在尽量全面考虑用户的各种需求的前提下,进行了数据库设计。
2、E-R模型
(1)、商品信息实体图
商品信息实体图反映的是商品的各项数据,包括ID,商品名,商品类型,商品进价,商品售价,保质期,销售量,库存量,其他。
3-5商品信息实体图
(2)、工作人员信息实体图
用户信息实体图反映了涉及工作人员的使用频率最频繁的信息集合。
包括了ID,用户名,联系电话,地址,备注。
图3-6工作人员信息实体图
(3)、订单信息实体图
订单信息实体图反映的是订单各种信息,订单号,用户id,
图3-8订单信息实体图
(4)、订单详细信息实体图
订单详细信息实体图反映的是订单的详细信息,也就是一个订单号对应的用户购买的书籍的id和购买数量。
图3-9订单详细信息实体图
3、数据库表的设计
本系统建立4个数据库表:
图书信息表,用户信息表,订单信息表,订单详细信息表。
数据库名:
jinxiaocunguanlixitong
表名:
empinfo(员工信息表)
字段名
字段含义
类型
长度
允许空
主键
EmpID
员工ID号
char
6
是
Name
名称
varchar
50
phone
联系电话
varchar
12
address
联系地址
varchar
50
others
备注
char
50
√
表名:
goodsinfo(商品信息表)
字段名
字段含义
类型
长度
允许空
主键
GoodsID
商品编号
int
10
是
Name
名称
char
10
kind
类别
char
10
√
Unitcost
进货单价
Float
10
Salescost
零售价
Float
10
Qualitydate
保质期
char
10
Salesnum
销售量
Int
15
√
Kcamount
库存量
Int
15
√
others
备注
char
15
表名:
Supplierinfo(供应商信息表)
字段名
字段含义
类型
长度
允许空
主键
SupplierID
供货商号
char
6
是
Name
名称
varchar
50
Contactperson
联系人
varchar
8
phone
联系电话
varchar
12
address
联系地址
varchar
50
others
备注
char
50
√
表名:
admininfo(管理员信息表)
字段名
字段含义
类型
长度
允许空
主键
AdminID
管理员编号
int
10
√
Username
姓名
char
10
Password
密码
varchar
40
others
备注
char
15
√
表名:
rukuinfo(入库信息表)
字段名
字段含义
类型
长度
允许空
主键
Goods_ID
商品编号
int
10
√
Name
名称
char
10
kind
类别
char
10
√
Unitcost
进货单价
Float
10
JHamount
进货数量
Int
15
√
price
金额
Long
15
√
SupplierID
供应商编号
int
10
√
Date
日期
Date
15
√
表名:
kucuninfo(库存信息表)
字段名
字段含义
类型
长度
允许空
主键
Goods_ID
商品编号
int
10
√
Name
名称
char
10
Kc_amount
库存量
Int
15
表名:
salesinfo(销售信息表)
字段名
字段含义
类型
长度
允许空
主键
GoodsID
商品编号
int
10
√
Name
名称
char
10
Salescost
销售单价
Float
10
Unitcost
进货单价
Float
10
salesNum
销量
Long
15
√
Salesprice
销售额
Long
15
√
Date
日期
Date
15
√
(四)、系统数据流程图
图3-6数据流程图
四、系统实现
(一)、系统界面设计
1、员工注册页面
注册页面简单大方,采用css布局控制。
在注册之后会自动跳转到员工登录主页。
图4-1员工注册页面
2、员工登录页面
图4-2员工登录
3、管理员登陆页面
图4-3管理员登录页面
4、增加商品信息页面
图4-4增加商品信息页面
4.5商品的修改和删除
5、个人信息页面
个人信息页面用户可以查看和修改个人信息,管理订单等。
图4-5个人信息页面
6、后台管理页面
管理员进入后台,可以添加书籍,对书籍、用户、订单进行管理。
图4-6后台管理页面
7、购物车页面
购物车页面可以对已添加到购物车的书籍进行删除或对数量进行修改,也可以返回继续购物。
图4-7购物车页面
8、订单信息页面
订单信息确认可以查看确认用户的个人信息,购物车信息等。
图4-8订单信息页面
(二)、主要模块详细设计
1、登录模块
登录模块主要是验证和跳转。
这里有两次验证,一次主要是把用户输入的用户名和密码提交到loginCL2与数据库内的数据进行验证,如果验证不成功,则会停留在登录页面,如果验证成功,则会跳转到对应模块页面。
第二次验证则是对是否管理员的验证,如果登录的是管理员,就跳转到后台管理页面,如果是普通用户,则根据用户userid跳转到用户的个人信息页面。
if(ubb.checkUser(u,p)){
UserBeanub=ubb.getUserBean(u);
request.getSession().setAttribute("userinfo",ub);
if(ubb.checkAdmin(u)){
request.getRequestDispatcher("admin.jsp").forward(request,response);
}else{
request.getRequestDispatcher("userindex.jsp").forward(request,response);
}
}else{
request.getRequestDispatcher("login.jsp").forward(request,response);
}
//验证用户是否合法
publicbooleancheckUser(Stringu,Stringp){
booleanb=false;
try{
conn=newConnDB().getConn();
ps=conn.prepareStatement("selectpasswordfromuserwhereusername=?
limit1");
ps.setString(1,u);
rs=ps.executeQuery();
if(rs.next()){
Stringdbpasswd=rs.getString
(1);
if(dbpasswd.equals(p)){
b=true;
}
……
//验证用户是否管理员
publicbooleancheckAdmin(Stringu){
booleanb=false;
try{
conn=newConnDB().getConn();
ps=conn.prepareStatement("selectgradefromuserwhereusername=?
limit1");
ps.setString(1,u);
rs=ps.executeQuery();
if(rs.next()){
intdbgrade=rs.getInt
(1);
if(dbgrade==5){
//用户合法
b=true;
……
}
2、注册模块
用户在注册页面输入信息,提交到addempinfoAction进行操作,把新的用户信息存入数据库。
员工注册
<%@includefile="top.jsp"%>