超市收银系统j2ee课程设计.doc_第1页
超市收银系统j2ee课程设计.doc_第2页
超市收银系统j2ee课程设计.doc_第3页
超市收银系统j2ee课程设计.doc_第4页
超市收银系统j2ee课程设计.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

课课 程程 设设 计计 超市收银系统超市收银系统 课程名称 j2ee 程序设计 目 录 1 引言3 2 系统分析4 2.1 超市收银系统需求分析.4 2.2 超市收银系统静态模型.6 2.3 超市收银系统动态模型.8 2.4 系统目标.8 2.5 运行环境.8 3 超市收银系统具体功能描述及实现9 3.1 具体功能描述9 3.1.1 用户管理11 3.1.2 商品管理13 3.1.3 收银员管理15 3.1.4 收银管理17 3.1.5 退货管理18 3.1.6 销售收费19 3.1.7 结算找零20 3.1.8 退货录入21 4 网站整体设计22 4.1 css 样式单文件设计.22 4.2 mysql 数据库设计 22 4.2.1 超市收银系统库表设计.22 4.2.2 系统数据连接类.23 5 结束语24 鲁东大学本科课程设计 1 超市收银系统 蔡旸普 (信息与电子工程学院,软件工程专业,2011 级 1 班,20112212445) 摘摘 要:要: 超市收银管理系统是对超市的收款信息与库存盘点等进行管理的计算机网络 软件系统,它可完成超市中查询查询用户信息,更改用户信息,商品信息,更改 商品信息,查询收银员信息,更改收银员信息,退货信息,收益信息等。 关键词:关键词: 超市收银系统;jsp;数据库;设计与实现 1 引言引言 社会生活的现代化,使得市场的走向发生巨大变化,由于经济的发展,人 民对生活的需求已经不再满足于丰衣足食的低度要求,许多人们往往不是单纯 为满足生活必须去购买,而是凭着喜欢、意欲和感官去购买。如果一个商店能 够打动顾客、吸引顾客,自然会顾客盈门,而近几年新兴产业中超级市场 (supermarket)的现代化管理方式和便捷的购物方式,尤其是它轻松的购物环 境,往往是打动顾客,吸引顾客的最主要的原因,且良好的周密的销售服务更 是赢得信誉、吸引的顾客的优势所在。商品经济的高速现代化发展也促进了竞 争,使一切不甘落后的商家都争先恐后地采用最新的管理方法来加强自己的竞 争地位。因为,超市经营者如果不掌握当今市场发展的这一走向,不能将超市 现代化经营作为奴努力开拓的目标,就无法使经营活络、财源茂盛。 现代化事业的发展,也使超市的管理数段发生前所未有的革命,计算机的 运用正在发达国家的各类商店超市中普及。由于它能够准确记载和查询有关超 市经营活动的大量数据,帮助超市经营者掌握和分析营销情况,及时作出正确 决策,并且有利于商店内部财务、工资、人员、库存、销售情况等管理,因而 大大提高了现代超市的管理水平。国外很多发达资本主义国家的有关人士都在 开发超市管理系统,开发出很多大型的软件,由于本人能力有限,开发一个小 型超市管理系统,它可以使我们国内新起小型超市可以更好的操作。此系统的 有减少差错,节省人力、减少顾客购物时间,增加客流量,提高顾客满意度等 特点。我通过开发这个简单管理信息系统,巩固了以前所学的知识,提高了应 用能力。 鲁东大学本科课程设计 2 2 系统分析系统分析 网络应用开发技术在日新月异地进步,从而使网站应用系统的开发模式具 有多种选择性,达到同样的目标可以采用很多不同的方式,现代的应用系统越 来越成为一个庞大的集成方案,需要考虑不同的操作平台、不同的应用服务器、 不同的数据库、不同的编程语言、不同的传输介质等,现在有 windows、unix、linux 等各种服务器操作平台,有 access、sql server、oracle、db2、sybase 和 mysql 等数据库,有 asp、java、php、cgi、jsp、c+、vb 和 delphi 等工具,系统分析就是确 定是选择 windows + mysql + jsp 好还是 unix + oracle +java 合适,我们要 针对不同的应用场合进行分析。此外,各类软件和语言还在不断发展进步之中, 因此系统分析工作从很大程度上决定了系统开发的成败。 根据制作网站的需要,本系统选用 windows 操作系统, mysql 数据库和 jsp 技术。 2.1 超市收银系统需求分析 对于大型超市信息管理系统来说,通常它会把员工人事管理系统也包括在 内。由于现考虑的是小型超市,其可承担的研发支费也有限。所以在这个系统 中,要实现的功能主要如下: (1)对库存产品进行资料管理和统计; (2)对产品的进货单和产品的销售单进行录入管理和统计; (3)对进货、销售、库存情况进行查询; (4)对用户进行管理,通过用户名和密码进行登录; (5)对供应商基本信息的管理; (6)对赢利状况分析,进行营业统计; 根据需求确定以下功能模块: (1)本系统是多用户系统,用户可分为管理员和收银员两类,登录时系统 自动判断当前使用人员的权限,避免安全性问题。 超市收银系统 前台管理 后台管理 图 2.1.1 系统整体结构功能模块图 收银员登录系统,进入系统后,开始输入商品 id,销售收费,并可以退货, 收费完毕,系统自动清空销售临时数据 鲁东大学本科课程设计 3 图 2.1.2 前台管理功能模块图 管理员登录系统以后,可以对商品单位进行添加、删除、修改、查询操 作,可以对用户和收银员资料进行添加、删除、修改、查询操作,可以进行采 购入库操作,进行库存盘点操作,进行进货和退货统计操作,并查看收银信息。 图 2.1.3 前台管理功能模块图 本系统有收银员、管理员两种角色,包括登陆、管理用户信息、管理收银员信 息、管理商品信息、管理退货信息、管理收银信息等 8 个用例,用例图如下: 后台管理 用 户 管 理 商 品 管 理 收 银 员 管 理 收 银 管 理 退 货 管 理 前台管理 销 售 收 费 登 录 系 统 找 零 鲁东大学本科课程设计 4 图 2.1.4 超市收银系统用例图 2.2 超市收银系统静态模型 从前面的需求分析中,不难发现需要创建如下 10 个类,查询货物信息类、 查询收银员信息类、查询出货信息类、查询退货信息类、更新货物信息类,更 新收银员信息类、更新用户信息类,数据库连接类、数值计算类。如下图 2.5 所示。 图 2.2 超市收银系统类图 主要流程图 鲁东大学本科课程设计 5 图 3.7 用户登陆流程图 图 3.8 管理员更改用户信息流程图 鲁东大学本科课程设计 6 图 3.9 收银员整体操作流程图 2.3 超市收银系统动态模型 系统的动态模型可以使用交互作用图、时序图、和活动图来描述。 收支管理活动图如图 2.3。 图 2.3 收支管理活动图 鲁东大学本科课程设计 7 2.4 系统目标 系统以界面直观、易学易用、功能全面、系统稳定为主要特点,支持连锁 及多业态经营管理模式,能从根本上满足现代商业企业的管理高效、分析精确、 降低成本的要求,帮助企业实现物流、信息流、资金流的科学管理,为企业提 高自身竞争力奠定坚实的基础。 该系统主要实现以下目标: (1)对库存产品进行资料管理和统计; (2)对产品的进货单和产品的销售单进行录入管理和统计; (3)对进货、销售、库存情况进行查询; (4)对用户进行管理,通过用户名和密码进行登录; (5)对供应商基本信息的管理; (6)对赢利状况分析,进行营业统计; 2.5 运行环境 该系统为b/s三层结构,它的运行环境分客户端、应用服务器端和数据库服 务器端三部分。 以下是本系统的软件环境需求表: 表表2 软件环境需求表 3 超市收银系统具体功能描述及实现超市收银系统具体功能描述及实现 3.1 具体功能描述 登陆界面:主要包括登陆信息区和图片区。 客户端 应用服务器端 数据库服务器端 操作系统 最低要求: windows xp 最低要求: windows xp 最低要求: windows xp 应用程序ie6以上,及其 它常见浏览器 (如firefox) 。 tomcat5.5或其 他更新版本。 mysql5.5及其他 更新版本。 备注最佳分辨率 1366*768 tomcat6.0最佳mysql5.5最佳 鲁东大学本科课程设计 8 图 3.1 登陆界面 登陆信息区需要输出用户名,密码验证码。用户名、密码、验证码均不能为空, 为空时点击登陆会给出提示。所有字段不为空时,校验用户名密码是否正确, 错误时给出提示。用户名、密码正确时,校验验证码,错误给出提示。 正确填写用户名、密码和验证码后,通过对当前用户的权限校验,跳转到 管理员首页界面或者收银员首页界面。 鲁东大学本科课程设计 9 try string name=request.getparameter(“name“); session.setattribute(“name“,name); string pw=request.getparameter(“pw“); string rond=(string)session.getattribute(“rand“); string text=request.getparameter(“text“); connind c=new connind(); c.settext(name); c.setpw(pw); if(c.lpuser()=1) if(rond.equals(text) response.sendredirect(“admin.jsp“); else % alert(“验证码错误“); document.location.replace(“index.jsp“); alert(“验证码错误“); document.location.replace(“index.jsp“); alert(“用户名/密码错误“); document.location.replace(“index.jsp“); 鲁东大学本科课程设计 11 更改用户信息: 图 31.1-b 更改用户信息界面 管理员可以添加用户(只可以添加收银员用户) ,所有的用户都可以登陆,添加 时用户名和密码由管理员手动输入。 try string sub=request.getparameter(“sub“); string text1=request.getparameter(“text1“); string text2=request.getparameter(“text2“); string pw=request.getparameter(“pw“); if(sub.equals(“删除“) if(text1!=null document.location.replace(“updateuserinfo.jsp“); “/ “/ “/ “/ “/ “/ “/ “/ “/ “/ “/ “/ “/ 3.1.5 退货管理 退货管理主要包括查看退货信息功能。 鲁东大学本科课程设计 18 图 3.1.5 退货信息界面 查看退货信息: 查看退货信息就是展示以记录在退货档案上的数据。包括交易号,商品 id,进货数量,商品单价,退货原因等字段。 request.setcharacterencoding(“gb2312“); try string id=request.getparameter(“id“); string num1=request.getparameter(“num“); string price1=request.getparameter(“price“); string text=request.getparameter(“text“); int num=integer.parseint(num1); float price=float.parsefloat(price1); returnedinfo ri=new returnedinfo(); ri.setid(id); ri.setnum(num); ri.setprice(price); ri.settext(text); ri.setcount(count); ri.insertinfo(); catch(exception e) 鲁东大学本科课程设计 19 3.1.6 销售收费 销售收费界面,即收银员登陆后的主页。主要有商品查询信息区,购买商品信 息区,和按钮区组成。收银员可以录入商品 id 和商品数量,购买商品信息区将 记录展示已购买的货物,并计算出每样商品的总价。同一件商品可以多次录入。 界面采用 iframe 布局,中间部分镶嵌另一个页面,数据多时内部产生滚动条。 图 3.1.6 销售收费界面 cashier.jsp: string num1=request.getparameter(“num“); session.setattribute(“num“, num1); string text=request.getparameter(“text“); session.setattribute(“text“, text); session.setattribute(“name“,session.getattribute(“name“); grid.jsp: response.setcontenttype(“text/html;charset=gb2312“); request.setcharacterencoding(“gb2312“); string text=(string)session.getattribute(“text“); string num1=(string)session.getattribute(“num“); if(text=null|num1=null) throw new ioexception(“11“); selecttwoinfo sti=new selecttwoinfo(); sti.settext(text); int num2=integer.parseint(num1); sti.setnum(num2); sti.insertinfo(); 鲁东大学本科课程设计 20 3.1.7 结算找零 在销售收费界面内,如果录入信息后,点击结账则进入结算找零界面,计 算出总金额,输入实付金额后,点击确定计算出找零数,如图: 图 3.1.7 结算找零界面 找零: 鲁东大学本科课程设计 21 3.1.8 退货录入 在销售收费界面内,如果点击退货则进入退货信息录入界面,输入商品 id、商品件数、单价等信息点击确定存入退货信息,如图: 图 3.1.8 退货录入界面 try string id=request.getparameter(“id“); string num1=request.getparameter(“num“); string price1=request.getparameter(“price“); string text=request.getparameter(“text“); int num=integer.parseint(num1); float price=float.parsefloat(price1); returnedinfo ri=new returnedinfo(); ri.setid(id); ri.setnum(num); ri.setprice(price); ri.settext(text); ri.setcount(count); ri.insertinfo(); catch(exception e) 鲁东大学本科课程设计 22 4 网站整体设计网站整体设计 4.1 css 样式单文件设计 层叠样式单 css(cascading style sheets)是 w3c 给出的两种样式单语言 推荐标准之一。与 html 描述数据显示方式的传统方法相比具有表达效果丰富、 文档体积小、便于信息检索和可读性好等优点。 外部样式表文件不但可以提高代码复用性,而且有利于统一网站的整体风格。 本网站在前台界面和后台管理分别使用了样式单文件:style.css,网页中引用外 部样式表的语法分别为: 主要对前后台界面风格如: 字体的大小、超链接属性、滚动条风格等进行了统一的调整和规定。 4.2 mysql 数据库设计 4.2.1 超市收银系统库表设计 userinfo(用户信息表) cashierinfo(收银员信息表) 字段名称字段类型是否为空字段描述 gonghaointnot null工号 namevarchar(50)not null姓名 sexvarchar(50)not null性别 birthdayvarchar(50)not null生日 guitainumdecimal(10,2)not null柜台号 cash(超市销售信息表) 字段名称字段类型是否为空字段描述 idvarcharnot nullid 号 namevarcharnot null姓名 numintnot null数量 pricefloatnot null价格 sunfloatnot null总价格 字段名称字段类型是否为空字段描述 gonghaointnot null工号 passwordvarchar(50)not null密码 rolevarchar(50)not null角色 鲁东大学本科课程设计 23 goodsinfo(货物信息表) 字段名称字段类型是否为空字段描述 idvarcharnot nullid 号 namevarcharnot null姓名 pricefloatnot null价格 inpricefloatnot null进价 innumintnot null进货量 datavarcharnot null日期 outnumintnot null出货量 kucunintnot null库存 tuihuonumintnot null退货量 in_out(个人购买信息表) 字段名称字段类型是否为空字段描述 idvarcharnot nullid 号 namevarcharnot null姓名 numintnot null数量 pricefloatnot null价格 sumfloatnot null总金额 returned(退货表) 字段名称字段类型是否为空字段描述 countlongnot null总数 idvarcharnot nullid 号 numintnot null退货量 pricefloatnot null价格 reasonvarcharnot null原因 4.2.2 系统数据连接类 jdbc(java data base connectivity,java 数据库连接)是一种用于执行 sql 语句的 java api,可以为多种关系数据库提供统一访问,它由一组用 java 语言编写的类和接口组成。jdbc 为工具/数据库开发人员提供了一个标准的 api,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 java api 编写数据库应用程序,本系统就是采用 jdbc,读取 mysql 数据库。 本网站连接数据库的代码为: 鲁东大学本科课程设计 24 5 结束语结束语 通过这次的大作业的完成,收获了不少东西: 通过实验过程中的查找、整 理、修改和整合、改进,使我更加了解了完成一份 jsp 小系统的步骤,也知道 了以后再做类似的事情的步骤,会更有方向,更有经验。让我们真正从书本理 论和各种单独的程序步骤走出来,把他们组合到一起,更加深刻的了解了编程 的框架。熟练了写课程设计的论文,对论文的要求格式都有了大致的认识,也更加 的规范,为以后写毕业设计论文打下了良好的基础。 总之,这次试验让我把理论用于实践,更加的了解了 jsp。 private connection conn = null; private string driver = “com.mysql.jdbc.driver“; privatestringurl= “jdbc:mysql:/localhost/supermarketsys?user=root string user =“root“; string password = “root“; public conndb() try class.forname(driver); conn = drivermanager.getconnection(url, user, password); catch (classnotfoundexception e) e.printstacktrace(); catch (sqlexception e) e.printstacktrace(); 鲁东大学本科课程设计 25 毕业论文(设计)原创性声明毕业论文(设计)原创性声明 本人所呈交的本人所呈交的毕业论毕业论文(文(设计设计)是我在)是我在导师导师的指的指导导下下进进行的研究行的研究 工作及取得的研究成果。据我所知,除文中已工作及取得的研究成果。据我所知,除文中已经经注明引用的内容外,注明引用的内容外, 本本论论文(文(设计设计)不包含其他个人已)不包含其他个人已经发经发表或撰写表或撰写过过的研究成果。的研究成果。对对本本论论 文(文(设计设计)的研究做出重要)的研究做出重要贡贡献的个人

温馨提示

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

评论

0/150

提交评论