零售商店进销存管理系统的分析与设计毕业论文.doc_第1页
零售商店进销存管理系统的分析与设计毕业论文.doc_第2页
零售商店进销存管理系统的分析与设计毕业论文.doc_第3页
零售商店进销存管理系统的分析与设计毕业论文.doc_第4页
零售商店进销存管理系统的分析与设计毕业论文.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

零售商店进销存管理系统的分析与设计毕业论文目 录摘要IAbstractII一、关于零售商店进销存管理系统开发项目的需求分析1(一)、设计来源1(二)、现状分析1二、开发零售商店进销存管理系统的可行性分析2(一)、前言2(二)、可行性研究的前提31、系统要求32、设计目标43、可行性研究的方法4(三)技术可行性51、现有相关技术可行性52、处理流程8(四)、社会可行性8(五)、经济可行性10三、系统设计10(一)、系统功能描述10(二)、系统模块设计131、注册模块的设计132、登录模块的设计133、首页模块的设计134、商品信息模块的设计145、个人信息模块的设计146、后台管理模块的设计14(三)、数据字典141、数据库设计背景142、E-R模型153、数据库表的设计17(四)、系统数据流程图19四、系统实现19(一)、系统界面设计191、注册页面192、首页203、搜索页面214、具体商品页面215、个人信息页面226、后台管理页面22(二)、主要模块详细设计241、登录模块242、注册模块263、首页模块274、商品详细信息模块285、搜索模块366、后台商品信息管理模块37参考文献41致谢42一、关于零售商店进销存管理系统开发项目的需求分析(一)、设计来源我国的零售业发展日益迅速,但存在着商品信息不能有效地管理和完善,盘点率低等情况。这个系统依靠现代化的信息技术来管理零售商店,节省了大量的人力,物力,财力,改善了员工的工作条件,提高工作效率,减轻了劳动强度,加快了超市的经营和管理。(二)、现状分析零售行业在我国的经济发展中起着重要的作用。随着全球化和电子商务的兴起,各个零售商户之间的竞争变得日益激烈。计算机及电子商务的发展突破了时间上,空间上的限制,给零售行业带来了许多发展机会。但我国的信息化水平才处于刚刚起步的阶段。但随着技术发展,电脑操作和管理变得日益简化,电脑知识日趋普及,同时市场经济快速多变,竞争激烈,零售行业采用电脑管理进货、库存、销售等诸多环节也将成为趋势及必然。二、开发零售商店进销存管理系统的可行性分析(一)、前言随着我国经济的不断发展,我国的零售业随之也得到了快速的发展,但其经营管理也变得日益复杂。现在许多零售商店日常需要处理大量的库存信息,还要不断更新商品的销售信息和添加商品信息。如果要实时掌握这些不同种类的信息,开发这个系统是很有必要的。这个系统依靠现代化的信息技术来管理零售商店,它可以节省大量的人力,物力,财力,管理员可以快速对市场的变化做出相对应的策略,并且能够快速的反映出商品的进销存状况。同时还改善了员工的工作条件,提高工作效率和服务效率及质量。(二)、可行性研究的前提1、系统要求A. 功能:此系统包括6个模块:人事管理模块(包括客户信息管理、供应商信息管理等)。库存管理模块(包括商品入库、商品退货、库存查询等)。销售管理模块(包括商品销售数量、单价、统计日期等)。进货管理模块(包括进货信息的增删查改功能)。查询统计模块。系统设置模块。B. 性能:服务器端:实时获取商品进销存信息,并载入数据库。客户端(浏览器端):数据基本展示,通过条件查询展示数据。C. 输入/输出:商品进销存信息。D. 基本的数据流程和处理流程:通过数据库在浏览器端展示商品信息,工作人员通过浏览器进行商品信息的查看,个人信息的修改等。数据库通过工作人员的操作实时更新数据。E. 在安全与保密方面的要求:此系统为零售商店进销存管理系统,用户信息安全管理完善。对断电、死机、系统崩溃等问题有有力措施以保障数据不受损失。对交易有严格的安全保护措施。在网络数据传输方面有自己的编码方式,保证数据的安全可靠性。2、设计目标(1)本软件正常运行使用主要由两个版块支持,一方面是工作人员对商品销售的统计管理,另一方面管理员对商品的进货,库存,销售的管理。(2)整个应用软件实现的主要功能有:.管理员管理工作人员信息和商品信息。.工作人员注册登录,管理商品销售信息(3)大量用户可同时使用此软件,并且能保证软件各功能模块都能正常良好运行。3、可行性研究的方法(1)、社会调查:对各类零售商户使用零售商店进销存管理系统的需求;(2)、市场相关产品、同类产品(如淘宝网等已有产品)业务流程的调查。通过调查发现:我国的零售业发展日益迅速,但存在着商品信息不能有效地管理和完善,盘点率低等情况。进销存管理系统多采用VB或者asp页面进行开发,少有以Jsp作为展示界面的网站。这个系统依靠现代化的信息技术来管理零售商店,节省了大量的人力,物力,财力,改善了员工的工作条件,提高工作效率,减轻了劳动强度,加快了超市的经营和管理。(三)技术可行性1、现有相关技术可行性综合考虑各种开发技术,我选取了BS(浏览器服务器)模式的体系结构,基于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(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最 后由Spring做管理,管理struts和hibernate。系统的基本业务流程是: 在表示层中,首先通过JSP页面实现交互界面, 负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将 ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring IoC容器负责向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号char6 是Name名称 varchar50phone联系电话varchar12address联系地址varchar50others备注char50表名:goodsinfo(商品信息表)字段名字段含义类型长度允许空主键GoodsID商品编号int10是Name名称char10kind类别char10Unitcost进货单价Float10Salescost零售价Float10Qualitydate保质期char10Salesnum销售量Int15Kcamount库存量Int15others备注char15 表名:Supplierinfo(供应商信息表)字段名字段含义类型长度允许空主键SupplierID供货商号char6 是Name名称 varchar50Contactperson联系人varchar8phone联系电话varchar12address联系地址varchar50others备注char50 表名:admininfo(管理员信息表)字段名字段含义类型长度允许空主键AdminID管理员编号int10Username姓名char10Password密码varchar40others备注char15表名:rukuinfo(入库信息表)字段名字段含义类型长度允许空主键Goods_ID商品编号int10Name名称char10kind类别char10Unitcost进货单价Float10JHamount进货数量Int15price金额Long15SupplierID供应商编号int10Date日期Date15 表名:kucuninfo(库存信息表)字段名字段含义类型长度允许空主键Goods_ID商品编号int10Name名称char10Kc_amount库存量Int15 表名:salesinfo(销售信息表)字段名字段含义类型长度允许空主键GoodsID商品编号int10Name名称char10Salescost销售单价Float10Unitcost进货单价Float10salesNum销量Long15Salesprice销售额Long15Date日期Date15(四)、系统数据流程图图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)UserBean ub=ubb.getUserBean(u);request.getSession().setAttribute(userinfo, ub);if(ubb.checkAdmin(u)request.getRequestDispatcher(admin.jsp).forward(request, response);elserequest.getRequestDispatcher(userindex.jsp).forward(request, response);elserequest.getRequestDispatcher(login.jsp).forward(request, response);/验证用户是否合法public boolean checkUser(String u,String p)boolean b=false;try conn=new ConnDB().getConn();ps=conn.prepareStatement(select password from user where username=? limit 1);ps.setString(1, u);rs=ps.executeQuery();if(rs.next()String dbpasswd=rs.getString(1);if(dbpasswd.equals(p)b=true;/验证用户是否管理员public boolean checkAdmin(String u)boolean b=false;try conn=new ConnDB().getConn();ps=conn.prepareStatement(select grade from user where username=? limit 1);ps.setString(1, u);rs=ps.executeQuery();if(rs.next()int dbgrade=rs.getInt(1);if(dbgrade=5)/用户合法b=true;2、 注册模块用户在注册页面输入信息,提交到addempinfoAction进行操作,把新的用户信息存入数据库。 员工注册 员工注册 3、 首页模块首页使用table进行布局,分为四个部分,head主要是网站名称和登录注册,个人信息和购物车等链接,并且展示了网站图书的四个分类,tail是网站的版权等信息,left是一个静态的图片和文字展示,right部分为书籍展示,是任务比较繁重的部分。 4、 商品详细信息模块书籍详细信息可以通过点击书名进入,展示了书名,书号,价格,类型,出版社和简介等。页面上包含加入购物车和返回继续购物两个按钮,用户可以通过需要选择。 String goodsId=request.getParameter(id);GoodsBeanBo gbb=new GoodsBeanBo();GoodsBean gb=gbb.getGoodsBean(goodsId);request.setAttribute(goodsinfo, gb);request.getRequestDispatcher(showDetail.jsp).forward(request, response); img src=images/ width=350 height=280 / 价格:   ISBN: 类型: 出版商:   input name=Submit1 type=button class=common onclick=addGoods(); value=立即购买 / 5、 购物车模块通过哈希函数进行购物车的操作,可以向购物车添加书籍,对购物车内的书籍进行删除,全部删除和修改数量,并计算出总价。public class MyCartBo /定义一个hashmap,用于存放商品的id和数量HashMap hm=new HashMap();private Connection conn=null;private PreparedStatement ps=null;private ResultSet rs=null;/购物车的总价private int allPrice=0;public int getAllPrice()return this.allPrice;public String getGoodsNumById(String goodsId)return (String)hm.get(goodsId);/1 添加商品public void addGoods(String goodsId,String goodsNum)hm.put(goodsId, goodsNum);/2 删除商品public void delGoods(String goodsId)hm.remove(goodsId);/3 清空商品public void clear()hm.clear();/4 修改商品数量public void upGoods(String goodsId,String newNum)hm.put(goodsId, newNum);/5 查看购物车public ArrayList showMyCart()/泛型ArrayList al=new ArrayList();try String sql=select * from goods where goodsId in;Iterator it=hm.keySet().iterator();String sub=(;while(it.hasNext()/取出goodsIdString goodsId=(String)it.next();/判断goodsId是不是最后idif(it.hasNext()sub+=goodsId+,;elsesub+=goodsId+);sql+=sub;conn=new ConnDB().getConn();ps=conn.prepareStatement(sql);rs=ps.executeQuery();this.allPrice=0;while(rs.next()GoodsBean gb=new GoodsBean();int goodsId=rs.getInt(1);gb.setGoodsId(goodsId);gb.setGoodsName(rs.getString(2);gb.setGoodsIntro(rs.getString(3);int util=rs.getInt(4);gb.setGoodsPrice(util);gb.setGoodsNum(rs.getInt(5);gb.setPublisher(rs.getString(6);gb.setPhoto(rs.getString(7);gb.setType(rs.getString(8);this.allPrice=this.allPrice+util*Integer.parseInt(this.getGoodsNumById(goodsId+);al.add(gb);通过session传递购物车信息。/取出al购物车的物品 ArrayList al=(ArrayList)request.getAttribute(mycartinfo);MyCartBo mbo=(MyCartBo)session.getAttribute(mycart);购物车信息展示及修改。 选择书籍加入购物车确认订单信息完成订单 编号 名称 单价 数量 % for(int i=0;i ¥ input type=hidden name=goodsId value= /input type=text name=newNums size=7 value=/ a href=shoppingClServlet?type=delGoods&goodsId=删除 a href=ShowGoodsClServlet?type=showDetail&id=查看       您共选择了价值¥的商品,点此处继续购物。 6、 搜索模块只能针对书名进行书籍的详细搜索。public GoodsBean getGoodsBeanByN(String goodsName)GoodsBean gb=new GoodsBean();try conn=new ConnDB().getConn();ps=conn.prepareStatement(select * from goods where goodsName=?);ps.setString(1,goodsName);rs=ps.executeQuery();if(rs.next()gb.setGoodsId(rs.getInt(1);gb.setGoodsName(rs.getString(2);gb.setGoodsIntro(rs.getString(3);gb.setGoodsPrice(rs.getInt(4);gb.setGoodsNum(rs.getInt(5);gb.setPublisher(rs.getString(6);gb.setPhoto(rs.getString(7);gb.setType(rs.getString(8);7、后台书籍管理模块后台管理主要分为新增商品,商品管理,用户管理和订单管理。管理员可以添加新的书籍,对书籍、用户的信息进行修改和删除,可以查看和取消订单。商品管理部分代码:/添加书籍public boolean addBook(String goodsName,String goodsIntro,int goodsPrice,int goodsNum,String publisher,String photo,String type)boolean b = false;try conn = new ConnDB().getConn();ps = conn.prepareStatement(insert into goods(goodsName,goodsIntro,goodsPrice,goodsNum,publisher,photo,type) values(?,?,?,?,?,?,?) );ps.setString(1, goodsName);ps.setString(2, goodsIntro);ps.setInt(3, goodsPrice);ps.setInt(4, goodsNum);ps.setString(5, publisher);ps.setString(6, photo);ps.setString(7, type);int a = ps.executeUpdate();if(a = 1)b = true; catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return b;/修改书籍public boolean updateBook(String goodsId,String goodsName,String goodsIntro,int goodsPrice,int goodsNum,String publisher,String photo,String type)boolean b = false;try conn = new ConnDB().getConn();ps = conn.prepareStatement(update goods set goodsName=?,goodsIntro=?,goodsPrice=?,goodsNum=?,publisher=?,photo=?,type=? where goodsId=?);ps.setString(1, goodsName);ps.se

温馨提示

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

评论

0/150

提交评论