基于JAVA超市账单管理系统毕业设计说明书(含源文件)1_第1页
基于JAVA超市账单管理系统毕业设计说明书(含源文件)1_第2页
基于JAVA超市账单管理系统毕业设计说明书(含源文件)1_第3页
基于JAVA超市账单管理系统毕业设计说明书(含源文件)1_第4页
基于JAVA超市账单管理系统毕业设计说明书(含源文件)1_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

1、基于java超市账单管理系统毕业设计说明书题 目:超市账单管理系统iii超市账单管理系统摘 要:随着科学技术的不断发展,计算机越来越普及,随之各种软件也相应而出。许许多多的企业也用上了相应的软件,来加快自身的发展。由于超市行业的不断壮大,也需要一套软件来相应的软件来管理。在这种情况下超市账单管理系统也应运而生。超市账单管理系统主要是对超市账单、供应商、用户的简单管理。本系统主要用java语言进行开发,mysql数据库和eclipse开发工具;主要用的核心技术是servlet,用来处理用户的请求和页面之间的跳转,jdbc(java data base connectivity)连接数据库实现处理

2、与数据库的交互。主要用的美工技术是div+css,javascript处理页面显示效果。本系统能更快,更方便的管理好整个工作流程中的各个模块,使工作效率达到最优化。关键词:java;servlet;div+css;javascript;mysql;超市账单管理系统;title:supermarket bill management systemabstract: along with the science and technology unceasing development, the computer more and more popular, with a variety of so

3、ftware is out. many companies also use the corresponding software, to accelerate the development of oneself. as a result of supermarket has grown, also need a set of software to the software to management. in this case the supermarket bill management system also emerge as the times require. supermar

4、ket bill management system is mainly the easy management of supermarket bills, suppliers, users. this system is mainly the use of java language development, database mysql and eclipse development tools; the main core technology is servlet, it used to handle user requests and

5、 jump between pages. jdbc(java data base connectivity)used to handle the interaction with the database .mainly using artist technical is div+css,javascript, handling page display effect. this system can be faster, more convenient management of the whole working process of each module, so that the wo

6、rk efficiency is optimized.keywords: java ,servlet,div+css,javascript,mysql,supermarket bill management system目 录摘 要iabstractii1 正文11.1研究背景分析11.2 超市账单管理系统的概述21.3所需软、硬件技术准备21.4可行性分析31.4.1 技术可行性31.4.2 经济可行性31.4.3 社会可行性32 需求分析42.1 需求分析的任务及主要内容42.2.1 具体业务的需求42.2 层次图42.3数据流图53 概要设计53.1 系统分析53.1.1 系统的总体分析

7、63.2 数据库的设计与实现63.2.1 数据库系统分析73.2.2 数据库物理实现74 详细设计94.1 servlet的详细应用94.2 特定模块的详细介绍94.2.1 登陆模块94.2.2 账单管理模块154.2.2 供应商管理模块214.2.3 用户管理模块265 系统测试32结 语33注 释34参考文献35致 谢37附录138 661 正文1.1研究背景分析超级市场是以顾客自选方式经营的大型综合性零售商场,又称自选商场。是许多国家特别是经济发达国家的主要商品零售组织形式。 超级市场于20世纪30年代初最先出现在美国东部地区 。我国超市市场形成于20世纪90年代初期,现在已经成为我国零

8、售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着超市行业的高速发展,最初的售货员站柜台的销售方式已不能满足现有的销售业的发展,因此迫切的需要引入新的管理技术。随着科学技术的高速发展,信息技术已经深深的影响着我国各行各业的发展。步入数字化时代,有巨大的数据信息等待着加工处理和传输,超市系统本就需要有一个强大的数据库支持,这就需要对数据库进一步的开发和利用,而对超市的销售管理,信息的存储和处理也显的尤其重要。要适应如今激烈的市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必不可少的。超市虽然具有各种优点,但当下,它仍存在零售企业所共有的落后的一面,例如:不能有效的管

9、理每种商品、收款结算速度慢,容易出现营业差错,不易进行商品调价,盘库效率低,而且商品的进、销、存不能保证同步更新,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。随着超市形态的高速发展,其经营管理也变的越为复杂,数据库的庞大支撑导致中间流通的数据量大增,中间的商业运转环节也越来越多,传统的管理模式已不能满足,而依靠现信息技术的超市管理系统管理超市,可以节省大量的人力物力,更重要的是能更快更稳的推动超市销售发展,协助管理者做出与时俱进适应市场变化的正确决策,加快超市经营管理效率。超市管理系统是超市对商品的信息化管理系统,本系统可以提高管理水平和工作效率,可以最大限度的减少人工操作带

10、来的错误,使用此系统主要为了实现商品管理的稳定性、可维护性等,从而达到提高商品管理效率并指导经营方向的目的。1.2 超市账单管理系统的概述 本系统的主要功能就是完成对供应商往来账添加的功能,每一批到货情况,是否付款等情况在这个管理模块中进行记录,并且标有记账时间,似的数据有依可循,供随时查询。此外可以根据商品的名称查出是否记录过,是否已经付款的功能。实现供应商信息的添加查询功能。本项目设计主要包括需求分析、数据库设计、项目设计、界面设计、调试及运行等几个大的部分。工作在迭代中展开,通过不断的完善每个环节,最终完成超市管理的需求,实现自动化办公。经过调研的初步需求分析,得出要设计的主要模块包括:

11、(1)账单管理模块,主要是管理超市账单,账单的编号、商品名称、商品数量、交易金额、是否付款、供应商名称、商品描述、账单时间。然后计算出顾客购买商品的总价,计算顾客实付金额和应付金额的差价。减少人工计算产生的错误。(2)供应商管理模块,主要管理与超市合作的供应商,有编号、供应商名称、供应商描述、联系人、电话、地址。(3)用户管理模块,主要管理管理超市的用户,有编号、用户名称、性别、年龄、电话、地址、权限。用户管理信息化,减少了人力资源的浪费。1.3所需软、硬件技术准备本系统的开发是面向数据库应用程序的开发。目前数据库技术发展日趋完善,可用于数据库开发的工具各种各样。本系统是采用mysql作为后台

12、数据库,本系统是运行在window xp平台上的,因此考虑到兼容性、开发成本以及开发的方便和简单,本系统使用免费的eclipse开发平台。为了高效、快捷的采购出库入库管理系统的开发。采取如下开发环境:网络环境:局域网。硬件环境:内存1g,硬盘80g。软件环境:(1)操作系统:windows xp版本。(2)数据库开发工具:mysql。(3)应用程序开发工具:eclipse。技术准备:(1)java基础(2)jsp技术(3)servlet技术(4) html,css(5)jquery的相关知识1.4可行性分析1.4.1 技术可行性 本系统戏是用java语言所编写的,java语言作为前导课程已经学

13、过。重点学习了jsp,最后又系统的学习了servlet,servlet这同时又是本系统应用的重点。从设计,开发,测试到最后的维护,都综合了所学的java知识。本系统所实现的是超市账单管理,因此在给定的时间内完成是绝对可行。制作本系统的软件均可以在网上免费获得,同时也可以获得开源的代码和图片。本组的技术人员有开发此类项目的经验。综上所述,此系统开发有可靠的技术支持,技术上是完全可行的。1.4.2 经济可行性对本组的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。由于本系统是作为毕业设计由我们学生自己开发的,在经济上的投入甚微,系统建成之

14、后将为超市行业提供很大的方便,因此在经济上是可行的。1.4.3 社会可行性本系统编程所使用的是网上的开源代码和图片,又不以获利为目的。因此不必承担任何法律责任2 需求分析2.1 需求分析的任务及主要内容 2.2.1 具体业务的需求主要模块包括:(1)账单管理模块,主要是管理超市账单,账单的编号、商品名称、商品数量、交易金额、是否付款、供应商名称、商品描述、账单时间。然后计算出顾客购买商品的总价,计算顾客实付金额和应付金额的差价。减少人工计算产生的错误。(2)供应商管理模块,主要管理与超市合作的供应商,有编号、供应商名称、供应商描述、联系人、电话、地址。(3)用户管理模块,主要管理管理超市的用户

15、,有编号、用户名称、性别、年龄、电话、地址、权限。用户管理信息化,减少了人力资源的浪费。2.2 层次图软件账 单 管 理 模 块用 户 管 理 模 块供 应 商 管 理 模 块图2-1层次图2.3数据流图经 理登 陆账单管理供应商管理用户管理数据维护存入数据库图2-2普通用户 理登 陆账单管理供应商管理数据维护存入数据库图2-33 概要设计3.1 系统分析在本系统中,分为基本信息的账单管理模块,供应商管理模块,用户管理模块。有2个角色:经理、普通用户名。1用户所具有功能(1) 经理拥有所有的模块的操作权限,(2) 普通用户除了对用户管理模块的操作权限意外所有模块的操作权限:对账单表,供应商表增

16、删改查。3.1.1 系统的总体分析在前面的系统功能分析中,将系统划分成4个模块,如图3-1:用户登录验证经理普通用户账单管理用户管理供应商管理图3-1 系统功能模块图 3.2 数据库的设计与实现数据库是此类系统的核心,系统中所有的信息都存储在数据库中,在所有jsp页面中通过jdbc与数据库连接,操作数据库中的数据,从而实现所有需要的功能。数据库软件有很多。本系统中数据库采用mysql作为数据库工具。数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的影响。一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后物理实现。系统分析中分析数据库用户需求,并画出e-r图直观地表示出数

17、据库系统的需求。逻辑设计中根据系统分析设计的一个关系模型。物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。3.2.1 数据库系统分析本系统的数据库实体主要有“账单”、“供应商”、“用户”。其中“账单”中的物品与“供应商”存在着联系,一个账单必须对应一个供应商,但供应商不一定只有一份账单,即供应商和账单之间一多对多的关系。如图:3-1 账单拥有m1供应商图3-1 账单供应商e-r图3.2.2 数据库物理实现经过数据库系统分析后,数据库的结构已经非常清晰,剩下的就是用一种数据库软件实现这样的结构。本系统

18、中数据库采用mysql作为数据库。首先我们在mysql中建一个数据库,命名为“supermarket”。 选中supermarket数据库,向数据库中添加3个表:gongyingshang,yonghu,zhangdan。下面是每个数据表中的属性。1) gongyingshang表。gongyingshang表用来存储供应商信息。 gongyingshang表字段名称数据类型gys_id数字gys_name文本gys_miaoshu文本gys_lianxiren文本gys_phone文本gys_chuanzhen数字gys_address数字表3-12) yonghu表。yonghu表用来存储

19、领登陆用户明细。 yonghu表字段名称数据类型yh_id数字yh_username文本yh_password文本yh_sex文本yh_age数字yh_phone数字yh_address文本yh_quanxian文本表3-23) zhangdan表。zhangdan表用来存储账单的信息。 zhangdan表字段名称数据类型zd_id数字zd_spmingcheng文本zd_spshuliang数字zd_jymoney数字zd_sfzhifu文本zd_gysname文本zd_spmiaoshu文本zd_data文本zd_danwei文本表3-34 详细设计4.1 servlet的详细应用在ser

20、vlet工作流程中,根据web.xml中的配置将拦截所有通过servlet的请求,并根据uri决定分发给doget还是dopost处理请求,然后调用相应的业务逻辑方法,调用相应的页面去执行响应。利用jdbc(java data base connectivity)技术处理与数据库连接,利用其servlet api所定义的接口和类来封装与数据库交互的相关操作,使对数据库的操作变得相当容易,减少开发时间,而且能对系统进行灵活的设计和实现,使系统的各模块容易维护和重用。4.2 特定模块的详细介绍 每个包都有其各自的作用,是杂乱的java文件分层,具有层次感,也可以很好地进行维护。4.2.1 登陆模块

21、 输入不同的角色名就会进入不同的模块,并完成相应的功能;登陆模块如图4-1所示如图 4-1代码:public class handellogin extends httpservletuseroper oper=new useroper();public void init(servletconfig config)throws servletexceptionsuper.init(config);public void destroy() super.destroy(); public void doget(httpservletrequest request, httpservletres

22、ponse response)throws servletexception, ioexception this.dopost(request, response);public void dopost(httpservletrequest request,httpservletresponse response)throws servletexception,ioexceptionrequest.setcharacterencoding("utf-8");response.setcharacterencoding("utf-8");response.s

23、etcontenttype("text/html;charset=utf-8");httpsession session=request.getsession(true);string op = request.getparameter("op");string opg= request.getparameter("opg");string opyh = request.getparameter("opyh");string zdgroup=request.getparameter("zdgroup&qu

24、ot;);system.out.println(zdgroup);string gysgroup=request.getparameter("gysgroup");login judgelogin = (login)(session.getattribute("login");if ("dologin".equals(op) dologin(request, response);return;if (judgelogin!=null&&!"".equals(judgelogin)if("经

25、理".equals(judgelogin.getyh_quanxian()if ("zd".equals(op)dolnquireszd(request,response);else if("zdadd".equals(op)dozdadd(request,response);else if("zdxinxi".equals(op) dozdxinxi(request,response);else if("修 改".equals(op) dozdxiugai(request,response);else

26、if("删 除".equals(op) dozddel(request,response);else if("组合查询".equals(zdgroup)dozdchaxun(request,response);else if("gys".equals(op)dolnquiresgys(request,response);else if("gysadd".equals(op) dogysadd(request,response);else if("gysxinxi".equals(op) dogy

27、sxinxi(request,response);else if("修 改".equals(opg)dogysxiugai(request,response);else if("删 除".equals(opg)dogysdel(request,response);else if("组合查询".equals(gysgroup)dogyschaxun(request,response);else if("yh".equals(op)dolnquiresyh(request,response);else if("

28、;yhadd".equals(op) doyhadd(request,response);else if("yhxinxi".equals(op) doyhxinxi(request,response);else if("修 改".equals(opyh)doyhxiugai(request,response);else if("删 除".equals(opyh)doyhdel(request,response);else if ("查询".equals(opyh) doyhchaxun(request,

29、response);else if("修改密码".equals(opyh) doyhmima(request,response);else if("修改密码".equals(op)doadminmimaxiugai(request,response);if("普通用户".equals(judgelogin.getyh_quanxian()if ("zd".equals(op)dolnquireszd(request,response);else if("zdadd".equals(op)dozd

30、add(request,response);else if("zdxinxi".equals(op) dozdxinxi(request,response);else if("修 改".equals(op) dozdxiugai(request,response);else if("删 除".equals(op) dozddel(request,response);else if("组合查询".equals(zdgroup)dozdchaxun(request,response);else if("gys

31、".equals(op)dolnquiresgys(request,response);else if("gysadd".equals(op) dogysadd(request,response);else if("gysxinxi".equals(op) dogysxinxi(request,response);else if("修 改".equals(opg)dogysxiugai(request,response);else if("删 除".equals(opg)dogysdel(request,

32、response);else if("组合查询".equals(gysgroup)dogyschaxun(request,response);else if("yh".equals(op)|"修改密码".equals(op)|"修改密码".equals(opyh)|"查询".equals(opyh)|"删 除".equals(opyh)|"修 改".equals(opyh)|"yhxinxi".equals(op)|"yhad

33、d".equals(op)information info=new information();string msg="对不起您没有那么高的权限"info.setmsg(msg);request.setattribute("info", info);request.getrequestdispatcher("mainwindow.jsp").forward(request, response);elseresponse.sendredirect("login.jsp");管理员(用户)登陆以后就会进入总页

34、面如图:4-2所示:在左侧可以看到管理员进来后(普通用户)各自的权限。 管理员登陆:如图 4-2普通用户登陆:如图 4-34.2.2 账单管理模块 管理员权限下的功能操作及代码如图 4-4代码:private void dolnquireszd(httpservletrequest request,httpservletresponse response)throws servletexception,ioexception httpsession session=request.getsession();list<zdbean> list=oper.zdlnquires();li

35、st<string> gysname=oper.zdgongyishang();if(list!=null)request.setattribute("list", list);session.setattribute("gysname", gysname);request.getrequestdispatcher("admin_bill_list.jsp").forward(request, response);return;else response.sendredirect("admin_bill_list

36、.jsp");private void dozdchaxun(httpservletrequest request,httpservletresponse response)throws servletexception,ioexception string zd_spmingcheng=request.getparameter("commodityname"); string zd_sfzhifu=request.getparameter("payment"); system.out.println(zd_spmingcheng); syst

37、em.out.println(zd_sfzhifu); list<zdbean> list=oper.zdchaxun(zd_spmingcheng,zd_sfzhifu);if(list!=null)request.setattribute("list", list);request.getrequestdispatcher("admin_bill_list.jsp").forward(request, response);return;else response.sendredirect("admin_bill_list.jsp

38、");代码:private void dozdadd(httpservletrequest request,httpservletresponse response)throws servletexception,ioexception string zd_id=request.getparameter("zdid").trim();string zd_spmingcheng=request.getparameter("zdproductname").trim();string zd_spshuliang=request.getparamete

39、r("zdtransnunber").trim();string zd_jymoney=request.getparameter("zdtransmoney").trim();string zd_sfzhifu=request.getparameter("payment").trim();string zd_gysname=request.getparameter("zdproducmanufacture").trim();string zd_spmiaoshu=request.getparameter("

40、;zdproducdesc").trim();string zd_danwei=request.getparameter("zdtransunits").trim();string zd_data=new simpledateformat("yyyy-mm-dd").format(new date().gettime();list params = new arraylist();params.add(zd_id);params.add(zd_spmingcheng);params.add(zd_spshuliang);params.add(z

41、d_jymoney);params.add(zd_sfzhifu);params.add(zd_gysname);params.add(zd_spmiaoshu);params.add(zd_data);params.add(zd_danwei);information info=oper.zdadd(params);request.setattribute("info", info);request.getrequestdispatcher("admin_bill_add.jsp").forward(request, response);代码:priv

42、ate void dozdxinxi(httpservletrequest request,httpservletresponse response) throws servletexception,ioexceptionstring zd_id =request.getparameter("id");zdbean zdbean = new zdbean();zdbean=oper.zdxinxi(zd_id);if(zdbean!=null)request.setattribute("zdbean", zdbean);request.getreques

43、tdispatcher("admin_bill_update.jsp").forward(request, response);如图 4-5代码:private void dozdxiugai(httpservletrequest request,httpservletresponse response)throws servletexception,ioexceptionstring zd_id=request.getparameter("zdid").trim();string zd_spmingcheng=request.getparameter(

44、"zdproductname").trim();string zd_spshuliang=request.getparameter("zdtransnunber").trim();string zd_jymoney=request.getparameter("zdtransmoney").trim();string zd_sfzhifu=request.getparameter("payment").trim();string zd_gysname=request.getparameter("zdprod

45、ucmanufacture").trim();string zd_spmiaoshu=request.getparameter("zdproducdesc").trim();string zd_danwei=request.getparameter("zdtransunits").trim();list params = new arraylist();params.add(zd_id);params.add(zd_spshuliang);params.add(zd_jymoney);params.add(zd_sfzhifu);params.

46、add(zd_gysname);params.add(zd_spmiaoshu);params.add(zd_danwei);params.add(zd_spmingcheng);information info=oper.zdxiugai(params);request.setattribute("info", info);request.getrequestdispatcher("admin_bill_update.jsp").forward(request, response);private void dozddel(httpservletreq

47、uest request,httpservletresponse response)throws servletexception,ioexceptionstring zd_id=request.getparameter("zdid").trim();information info=oper.zddel(zd_id);request.setattribute("info", info);request.getrequestdispatcher("admin_bill_update.jsp").forward(request, res

48、ponse);普通用户权限下功能操作及代码:图及代码同经理权限下图及代码4.2.2 供应商管理模块管理员权限下的功能操作及代码如图:4-6所示 如图 4-6代码:private void dogyschaxun(httpservletrequest request,httpservletresponse response) throws servletexception,ioexceptionstring gys_name=request.getparameter("commodityname").trim();string gys_miaoshu=request.getp

49、arameter("commoditymiaoshu").trim();list<gysbean> list=oper.gyschaxun(gys_name,gys_miaoshu);if(list!=null)request.setattribute("list", list);request.getrequestdispatcher("admin_supplier_list.jsp").forward(request, response);else response.sendredirect("admin_s

50、upplier_list.jsp");private void dolnquiresgys(httpservletrequest request,httpservletresponse response)throws servletexception,ioexception list<gysbean> list=oper.gyslnquires();if(list!=null)request.setattribute("list", list);request.getrequestdispatcher("admin_supplier_list

51、.jsp").forward(request, response);else response.sendredirect("admin_supplier_list.jsp");如图 4-7代码:private void dogysadd(httpservletrequest request,httpservletresponse response) throws servletexception,ioexceptionstring gys_id = request.getparameter("gysid").trim();string gys_

52、name =request.getparameter("gysname").trim();string gys_miaoshu=request.getparameter("gysmiaoshu").trim();string gys_lianxiren=request.getparameter("gyslianxi").trim();string gys_phone=request.getparameter("gysphone").trim();string gys_chuanzhen=request.getpar

53、ameter("gyschuanzhen").trim();string gys_address=request.getparameter("gysaddress").trim();list params = new arraylist();params.add(gys_id);params.add(gys_name);params.add(gys_miaoshu);params.add(gys_lianxiren);params.add(gys_phone);params.add(gys_chuanzhen);params.add(gys_addres

54、s);information info=oper.gysadd(params);request.setattribute("info", info);request.getrequestdispatcher("admin_supplier_add.jsp").forward(request, response);如图 4-8代码:private void dogysxinxi(httpservletrequest request,httpservletresponse response)throws servletexception,ioexceptio

55、n string gys_id = request.getparameter("id");gysbean gysbean=new gysbean();gysbean = oper.gysxinxi(gys_id);request.setattribute("gysbean", gysbean);request.getrequestdispatcher("admin_supplier_update.jsp").forward(request, response);如图 4-9代码:private void dogysxiugai(httpservletrequest request,httpservletresponse response) throws servletexception,ioexception string gys_id= request.getparameter("gysid").trim(); string gys_miaoshu = request.getparameter("gysmiaoshu").trim(); string g

温馨提示

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

评论

0/150

提交评论