高陈基于Java超市账单管理系统.doc
- 文档编号:1228147
- 上传时间:2023-04-30
- 格式:DOC
- 页数:63
- 大小:2.48MB
高陈基于Java超市账单管理系统.doc
《高陈基于Java超市账单管理系统.doc》由会员分享,可在线阅读,更多相关《高陈基于Java超市账单管理系统.doc(63页珍藏版)》请在冰点文库上搜索。
安徽农业大学经济技术学院
毕业论文(设计)
论文题目基于Java的超市账单管理系统
姓名高陈学号11540015
院系经济技术学院专业通信工程
指导教师周琼职称讲师
中国·合肥
二零一五年五月
安徽农业大学经济技术学院学士学位论文(设计)开题报告
课题名称
基于Java的超市账单管理系统
课题来源
导师指定
学生姓名
高陈
专业
通信工程
学号
11540015
指导教师姓名
周琼
职称
讲师
研究内容
1.账单的增加数据、修改数据、删除数据、查询数据。
2.供应商的增加数据、修改数据、删除数据、查询数据。
3.用户增加数据、修改数据、删除数据、查询数据。
4.数据库的应用。
研究计划
2014年12月01日~~~2015年01月01日,开题。
2015年01月01日~~~2015年03月01日,查资料,确定研究路线。
2015年03月01日~~~2015年04月15日,设计、试验、改进。
2015年04月15日~~~2015年05月15日,撰写论文。
2015年05月15日~~~准备论文答辩。
特色与创新
1.自主设计,稳定性好。
2.系统稳定,控制模式多。
3.系统具有较强的实际应用价值。
指导教师意见
教研室意见
学院意见
目录
1引言 1
2超市账单管理系统的概述 2
2.1所需软、硬件技术准备 2
2.2可行性分析 3
2.2.1技术可行性 3
2.2.2经济可行性 3
2.2.3社会可行性 4
3需求分析 4
3.1需求分析的任务及主要内容 4
3.1.1具体业务的需求 4
3.1.2层次图 4
3.1.3数据流图 5
4系统总体设计 5
4.1系统分析 5
4.2技术路线选择 6
4.2.1B/S架构 6
4.2.2jsp技术 6
4.2.3JDBC技术 6
4.2.4tomcat 7
4.2.5eclipse 7
4.3数据库的设计与实现 8
4.3.1数据库系统分析 9
4.3.2数据库物理实现 9
5详细设计 11
5.1Servlet的详细应用 11
5.2特定模块的详细介绍 11
5.2.1登录模块 12
5.2.2账单管理模块 14
5.2.3供应商管理模块 17
5.2.4用户管理模块 20
5.2.5退出系统理模块 23
6系统测试 23
7.结束语 23
参考文献 24
英文摘要 24
致谢 25
附录1 26
基于Java的超市账单管理系统
学生:
高陈指导老师:
周琼
(安徽农业大学经济技术学院合肥230036)
摘要:
随着科学的进步,网络变得越来越重要了。
很多的公司也应用了相应的软件,来加快自身的发展。
由于超市行业的不断壮大,也需要一套软件来相应的软件来管理。
在这种情下超市账单管理系统也就产生了。
在超市账单管理系统中主要是对账单、供应商、用户的简单管理。
在超市管理系统中主要实现了增加、删除、修改、查询信息的功能。
在该系统里由于信息量大不方便人们的查看,在这里运用了分页的方法方便人们的查看。
该系统主要使用Java语言来开发的,用oracle数据库来存储信息,用PL/SQL来登录数据库,并查看数据库表里的信息。
用eclipse软件编写代码。
在该系统里主要运用了Servlet来处理用户的请求和页面之间的跳转,JDBC是一种连接数据库的技术。
在超市里运用超市账单管理系统提高了工作效率,为人节省大量的时间。
关键词:
java,Servlet,PL/SQL,jsp,oracle,超市账单管理系统
1引言
超级市场最早产生于1930年的美国纽约。
1930年8月,美国人迈克尔·库仑(MichaelCullen)在美国纽约州开设了第一家超级市场——金库仑联合商店。
当时,美国正处在经济大危机时期,迈克尔·库超市仑根据他几十年食品经营经验精确设计了低价策略,并首创商品品种别定价方法。
它的超级市场平均毛利率只有9%,这和当时美国一般商店25-40%的毛利率相比是令人吃惊的。
为了保证售价的低廉,必须做到进货价格的低廉,只有大量进货才能压低进价,迈克尔·库仑就以连锁的方式开设分号,建立起保证大量进货的销售系统。
它首创了自助式销售方式,采取一次性集中结算。
第二次世界大战后,特别是50、60年代,超级市场在世界范围内得到较快的发展。
在我国,超级市场被引入始于1978年,当时称作自选商场。
1983年1月3日,中国第一家超级市场在北京市海淀区开业[1],那时购买者几乎都是外国人。
20多年后的今天,人们去超市购物已经成为生活中不可缺少的部分。
体育营销超级市场顾客让渡价值论明确地告诉商家:
谁能让消费者用最少的支出、最短的时间、最快的速度、最低的价格在最优质的服务下完成一次快乐的购物,谁便能最大化的占有市场竞争的优势。
这句话不仅看起来繁琐,而且做起来难度更大。
超市在我们周围随处可见,现在的商品种类越来越多,人们对商品的需求量也非常大。
这样工作人员对每个商品的详细信息和商品的供应商的详细信息,就不能够记得那么多和那么详细了。
超市工作人员也记不住太多的用户的详细信息,所以需要一套可以记住每个商品的详细信息、商品的供应商的详细信息和用户的详细信息,这时候超市账单管理系统就产生。
所以通过以上所述,超市账单管理系统是对高效率完成工作是很有必要的。
2超市账单管理系统的概述
超市账单管理系统主要是管理了账单、供应商、用户的信息。
实现对每个模块的增加、删除、修改、查询的功能。
每一批到货情况,是否付款等情况在这个管理模块中进行记录,并且标有记账时间,似的数据有依可循,供随时查询。
此外可以根据商品的名称查出是否已经付款的功能。
实现供应商信息的添加查询功能。
在账单管理模块主要记录了商品名称、编号、数量、交易金额、付款的状态、所属的供应商、该条商品的相关描述和商品添加时间。
方便人们对商品的了解。
在供应商模块中记录了供应商编号、供应商名称、供应商描述、联系人、联系人的号码,和该供应商的地址。
方便人们对供应商的充分了解。
在用户模块中记录了用户的详细信息。
如用户的名字、性别、年龄、电话、住址。
还有用户在超市的身份是普通用户还是经理,身份的不同进入的超市账单管理系统的模块是不同的。
2.1所需软、硬件技术准备
1.超市账单管理系统主要用到eclipse工具,使用oracle数据库来存储数据。
使用PL/SQL登录数据库,来查看数据的数据。
使用tomcat在浏览器里检测超市账单管理系统的效果。
软件环境:
(1)操作系统:
Windows7版本。
(2)数据库开发工具:
oracle。
(3)应用程序开发工具:
Eclipse。
(4)tomcat
技术准备:
(1)java基础
(2)jsp技术
(3)Servlet技术
(4)css
2.导入项目:
把项目导入Eclipse中,打开Eclipse,点击fileàimportàGeneralàExistingProjectsintoworksapceà再选中nextà然后再找项目的路径就可以了。
3.运行项目:
选中login.jsp右击找到runas,点击runonserver就可以了
管理员账号:
高陈
管理员密码:
aaa
2.2可行性分析
2.2.1技术可行性
本系统使用Java语言来编写的,Java在大学期间已经学过了,在图书管理借了相关学习资料,和在网络上学习了jsp、Servlet。
明白jsp和Servlet的用途和使用方法。
JSP和Servlet技术统称为:
Servlet-Jsp技术,Jsp的本质是Servlet类也就是Jsp被Jsp引擎编译之后会生成一个标准的Servlet类,Jsp是Html标签和Java代码组合而成的一个.jsp文件,jsp编译后生成的Servlet类里面Servlet通过输出流把html标签输出到浏览器显示生成动态的网页。
制作本系统的相关软件可以再网上进行下载,超市账单管理系统的相关图片网上也可供下载。
再说本人对Java方面比较感兴趣,以前做过一些简单的网页。
综合上面所述。
本系统的开发是完全可行的。
2.2.2经济可行性
从经济方面考虑,该系统不需要投入什么经济,只要懂的相关技术即可。
因此在经济上是可行的。
2.2.3社会可行性
本系统编程所使用的是网上的图片,又不以获利为目的。
因此不必承担任何法律责任。
3需求分析
3.1需求分析的任务及主要内容
3.1.1具体业务的需求
(1)在账单管理模块中主要对账单的增加、账单的修改、账单的删除、账单的查询。
查询时还可以进行分页浏览,也可以跳转到你想看的页面。
(2)在供应商管理模块中主要对供应商的增加、供应商的删除、供应商的修改和供应商的查询。
查询时还可以进行分页浏览,也可以跳转到你想看的页面。
(3)在用户管理模块中主要对用户的增加、用户的修改、用户的删除、用户的查询。
查询时还可以进行分页浏览,也可以跳转到你想看的页面。
3.1.2层次图
超市账单管理系统
退出模块
供应商管理模块
账单管理模块
用户管理模块
登录模块
图3-1超市管理系统总模块
3.1.3数据流图
账单管理
保存到数据库
维护数据
供应商管理
经理用户
用户管理
登录界面
退出系统
图3-2经理用户管理的模块
登录数据维护
存入数据库
账单管理
普通用户
登陆界面
退出系统
图3-3普通用户管理模块
4系统总体设计
4.1系统分析
在本系统中,分为基本信息的账单管理模块,供应商管理模块,用户管理模块。
有2个角色:
经理、普通用户名。
1.用户所具有功能
(1)经理
拥有所有的模块的操作权限。
(2)普通用户
对账单管理模块的操作权限。
4.2技术路线选择
4.2.1B/S架构
在超市账单管理系统中使用到了B/S架构,程序采用了浏览器/服务器的工作模式,又称为请求/响应。
其中“B”表示Browser,即浏览器。
而“S”则表示的是Server,即服务器。
使用B/S架构,在很大程度商上降低了对用户本地设备环境的要求。
同时,也极大地降低了程序维护的成本,非常方便。
4.2.2jsp技术
jsp是JavaServicePage的简称,jsp是运行在服务器端的Java页面,当web服务器接收到jsp请求是,首先会对jsp文件进行翻译,将编好的jsp文件通过jsp引擎转换成可识别的Java文件。
经过翻译后的jsp文件相当于我们编写好的Java源文件,此时仅有Java源文件是不够的,必须要将Java源文件编译成可执行的字节码文件。
Web容器接受了客户端的请求,经过翻译和编译两个阶段,生成了可被执行的二进制字节码文件,此时就进入执行阶段。
当执行结束后,会得到处理请求的结果,web容器再把生成的结果页面返回给客户端显示。
4.2.3JDBC技术
JDBC是一种Java数据库连接技术,能实现Java程序对各种数据库的访问有一组使用Java语言编写的类和接口组成,这些类和接口称为JDBCAPI,它们位于包Java.sql以及javax.sql中。
在项目开发中,使用JDBC可以实现应用程序与数据库之间进行数据的通信,JDBC主要作用是建立与数据库之间的访问连接,将编写好的sql语句发送到数据库进行执行,对数据库返回的执行结果进行处理。
在JDBC中有四个重要的环节:
DriverManager类:
管理JDBC驱动、Connection接口:
负责连接数据库并担任传递数据的任务、Statement接口:
由Connection产生,负责执行sql语句、Resultset接口:
负责保存Statement执行后所产生的查询结果。
4.2.4tomcat
在超市账单管理系统中我们使用了tomcat,tomcat是Apache基金会旗下的一款免费、开源的web服务器。
Web服务器是可以向发出请求的浏览器提供文档的程序,它的主要功能就是提供网上信息浏览服务。
Tomcat是一个小型的轻量级应用服务器,技术先进、性能稳定,占用资源小、速度快,安装tomcat的过程很简单,可以使用解压版,无需安装即可使用。
4.2.5eclipse
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
在Eclipse里写程序的代码。
图4-1eclipse
4.3数据库的设计与实现
数据库在超市账单管理系统中是最重要的,因为在超市账单管理系统里有的操作数据都是保存在数据库中,在所有jsp页面中通过JDBC与数据库连接,来操作数据库中的数据,从而实现所需的功能。
在本系统里可以通过PL/sql登陆数据,查看数据库里数据,数据库的设计是非常重要的一步,如果数据库表设计不好直接就决定了你后面的开发,不好的数据库表是制作不出好的系统。
一个好的数据库开发一班是要系统分析,再看逻辑设计,然后物理实现。
一般人们再设计数据库表时,都要经过全面的分析,画出E-R图来显示数据库系统的需求,我们现在用的是谁第二代数据库即关系型数据库。
用户编号
用户年龄
用户名称
用户电话
用户住址
用户
权限
图4-2用户E-R图
商品名称
商品数量
账单编号
账单
是否付款
交易金额
供应商名称
账单时间
商品描述
图4-3账单E-R图
供应商名称
供应商描述
地址
联系人
编号
供应商
电话
图4-4供应商E-R图
4.3.1数据库系统分析
关系型数据库的结构非常简单,只是包含单一的数据结构,关系数据库的数据结构虽然很简单却能够表达丰富的语义,描述出现实世界的实体以及实体间的各种关系。
在超市账单管理系统中,数据库中供应商和账单存在主外键关系,在账单表中billno是主键,providid为外键。
而在供应商表中providerno是主键,providerno相当于是账单表中外键。
这样账单表与供应商表就存在了关联。
用户表独立于账单表和供应商表。
4.3.2数据库物理实现
经过数据库系统分析后,数据库的结构已经非常清晰,剩下的就是用一种数据库软件实现这样的结构。
本系统中数据库采用Oracle作为数据库。
首先我们在Oracle中建一个数据库,命名为“shop”。
选中shop数据库,向数据库中添加3个表:
bill,provider,user。
下面是每个数据表中的属性。
1)provider表。
provider表用来存储供应商信息。
表4-1provider表
字段名称
数据类型
providerno
number
providername
Varchar2(50)
providerdescript
Varchar2(100)
provideruser
Varchar2(50)
providertel
number
provideraddress
Varchar2(500)
providerfax
Varchar2(50)
providenum
number
2)bill表。
bill表用来存储账单的信息。
表4-2bill表
字段名称
数据类型
billno
number
billname
Varchar2(50)
billnumber
number
billmoney
number
billpay
number
providid
number
goods
Varchar2(500)
billtime
Date
billdanwei
Varchar2(50)
billnum
number
3)user表。
user表用来存储领登录用户明细。
表4-3user表
字段名称
数据类型
username
Varchar2(50)
passowrd
Varchar2(50)
userno
number
usersex
number
userage
number
usertel
Varchar2(50)
useraddress
Varchar2(500)
userlimit
number
userid
number
5详细设计
5.1Servlet的详细应用
在Servlet工作流程中,根据web.xml中的配置将拦截所有通过servlet的请求,并根据URI决定分发给doGet还是doPost处理请求,然后调用相应的业务逻辑方法,调用相应的页面去执行响应。
利用JDBC(JavaDataBaseConnectivity)技术处理与数据库连接,利用其ServletAPI所定义的接口和类来封装与数据库交互的相关操作,使对数据库的操作变得相当容易,减少开发时间,而且能对系统进行灵活的设计和实现,使系统的各模块容易维护和重用。
5.2特定模块的详细介绍
每个模块都有其特定功能,用户分别分为普通用户和经理用户。
当普通用户登录时,进入的超市账单管理系统只显示账单管理模块和退出系统模块。
当经理用户登录时显示账单管理模块、供应商管理模块、用户管理模块、退出系统模块。
普通用户的账单管理模块、退出系统模块的功能和经理用户的账单管理模块、退出系统模块功能是一样的,所以下面只介绍经理用户来给大家展示超市账单管理系统功能。
5.2.1登录模块
1.在登录页面时,可以输入用户名与密码,当你没有输入用户名时,提交网页时,login.jsp进行客户端验证和LoginServlet.java进行服务端验证,会提示你用户名不能为空。
当你填写了用户名而没填写密码就提交页面,同样login.jsp进行客户端验证和LoginServlet.java进行服务端验证,会提示你密码不能为空。
当然你输入的用户名与密码不对时,提交页面到LoginServlet.java进行服务端验证,在LoginServlet里通过request.getPaarameter()的方法得到提交的信息,通过调用UserServiceImpl层里checklogin()的方法来检查提交来的用户名和密码是否正确,如果不正确,页面里通过提示你用户名或密码错误。
如果正确就提交到admin_index.jsp,在admin_left.jsp通过session判断用户是普通还是经理用户,如果是经理用户,显示账单管理模块、供应商管理模块、用户管理模块、退出系统四个模块。
如果是普通用户则只显示账单管理模块和退出系统两个模块。
当你填完用户名和密码时你想选择重填,这是你可以点击重置按钮,这时会清空你所填的内容,输入不同的角色名就会进入不同的模块,并完成相应的功能;登陆模块如图5-1所示。
图5-1登录页面
2.经理(用户)登录以后就会进入总页面如图5-2所示,在左侧可以看到经理进来后。
图5-2经理用户欢迎界面
3.普通用户登录,如图5-3所示。
图5-3普通用户登陆界面
5.2.2账单管理模块
1.点击账单管理模块时,通过GetBillsServlet的request.getParameter()获得请求数据并调用BillServiceImpl层里的getBillsByPage()的方法获得全部的账单商品的所有相关信息并把全部数据发送到admin_bill_list页面中,在该页面中显示全部的账单编号、商品名、商品数量、交易金额、是否付款、供应商名称、商品描述、账单时间。
如图5-4所示。
在账单管理现实中还可以通过组合查询查出你想要的商品名称,也可通过模糊查询查出含有什么文字的商品名,组合查询中还可以通过付款的状态来查询出你想要的结果,例如:
当你点击未付款时,账单管理所显示的是未付款的所有商品,而不显示付过款的商品名。
如图5-5所示。
在账单管理中可以同过每页显示的页数来设置当前页显示的商品条数,也可点击下一页来查看下一的记录,同样可点击上一页、首页、末页来查看相应页面的记录,也可在“转到”的后面填写你想要跳转到的页数,填写后点击go图标就会跳转到你所入的页面,当然如果你输入不是第一页和最后一页之间的数字,页面会显示在当前页。
如图5-6所示。
图5-4显示全部商品
图5-5组合查询
图5-6每页显示的条数
2.在账单管理中当你点击添加数据时,网页会跳到modify.jsp页面添加数据页面。
如图5-7所示。
页面中有些文本框后面有红色星,这说明该文本框是必填的,不能为空。
有些文本框后面没有红色星说明该文本框可填可不填。
当你的鼠标放到账单编号的文本框里时,该文本框后面的红色星消失并提示必须为纯数字。
当鼠标放到交易金额的文本框时,该文本框后面的红色星消失并提示最多两位小数数字,且不能为负数。
当鼠标放到交易数量的文本框时,该文本框后面的红色星消失并提示数量为正整数填完后点击确认时,modify.jsp进行客户端验证和BillSerclet.java通过request.getParameter()获得数据进行服务端验证。
如果数据全部符合要求则会保存成功,如果数据不符合要求页面则会给出相应提示。
当你点击返回时,则会返回到账单显示页面。
图5-7添加商品页面
3.在账单管理表格里商品名称一列,当你点击商品名称时,页面通过ToUpdateBillServlet获得该条商品所有数据提交到modify.jsp页面通过${}的方法显示所得到的数据,在此页面可以对数据进行修改。
如图5-8所示。
这里账单编号是不允许改变的,如果改变账单编号,提交时页面提示你账单不允许改变。
在该页面对交易金额和交易数量的要求增加数据的要求相同。
点击修改时DoAddBillServlet通过调用BillServiceImplements层的updateBill()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Java 超市 账单 管理 系统