超市账单管理系统设计_第1页
超市账单管理系统设计_第2页
超市账单管理系统设计_第3页
超市账单管理系统设计_第4页
超市账单管理系统设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、 Oracle数据库管理期末考核设计方案书题 目 超市账单管理系统的设计与实现 学 院 xxxxxxxxxxxxxxxxxxxxxx 专 业 xxxxxxxxxxxxxxxxxxxxxx 学生姓名 xxxxxxxxxxxxxxxxxxxxxx Oracle用户名xxxx 密码 xxxx 学 号 xxxx 年级 xxxx 指导教师 xxxx 职称 xxxx 2014 年 6 月 27 日超市帐单管理系统的设计与实现专 业:计算机科学与技术学 号:xxxx学 生:xxxx指导老师: xxxx摘 要:随着科学技术的不断发展,计算机越来越普及,随之各种软件也相应而出。许许多多的企业也用上了相应的软件,

2、来加快自身的发展。由于超市行业的不断壮大,也需要一套软件来相应的软件来管理。在这种情况下超市账单管理系统也应运而生。超市账单管理系统主要是对超市账单、供应商、用户的简单管理。本系统主要用java语言进行开发,Oracle数据库和myeclipse开发工具;主要用的核心技术是Servlet,用来处理用户的请求和页面之间的跳转,JDBC(Java Data Base Connectivity)连接数据库实现处理与数据库的交互。页面使用的是JSP。本系统能更快,更方便的管理好整个工作流程中的各个模块,使工作效率达到最优化。关键字: java;servlet;Oracle;jsp;目录1绪 论11.1

3、研究背景11.2 项目概述22 需求分析32.1业务需求32.2 项目功能需求32.3 程序流程图52.4 Oracle介绍62.5 MVC设计模式63 概要设计83.1 系统分析83.2 项目包结构设计94 详细设计104.1 界面设计104.2 数据库设计134.2.1 数据库表的设计134.2.2 数据库连接185 系统测试21小 结22I1绪 论1.1研究背景超级市场是以顾客自选方式经营的大型综合性零售商场,又称自选商场。是许多国家特别是经济发达国家的主要商品零售组织形式。 超级市场于20世纪30年代初最先出现在美国东部地区 。我国超市市场形成于20世纪90年代初期,现在已经成为我国零

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

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

6、来的错误,使用此系统主要为了实现商品管理的稳定性、可维护性等,从而达到提高商品管理效率并指导经营方向的目的。1.2 项目概述本系统的主要功能就是完成对供应商往来账添加的功能,每一批到货情况,是否付款等情况在这个管理模块中进行记录,并且标有记账时间,似的数据有依可循,供随时查询。此外可以根据商品的名称查出是否记录过,是否已经付款的功能。实现供应商信息的添加查询功能。本系统本身是一个较为简单的项目,所以包含的模块不是太多。经过分析得出主要涉及模块包括:管理员模块:可以对账单中的数据进行增删改查,对供应商的数据进行增删改查。能够对用户的数据进行增删改查。用户模块:对账单中的数据进行增删改查,能对用户

7、本身的数据进行修改。2 需求分析2.1业务需求超市账单管理主要用于对超市的交一张单进行管理,如账单录入,账单修改,账单删除,以及和超市相关的供应商、用户的管理。所谓账单,就是超市与供应商进行交易的凭据。超市采购部的志愿、超市的部门经理是该系统的目标用户。主要涉及模块包括:管理员模块:可以对账单中的数据进行增删改查,对供应商的数据进行增删改查。能够对用户的数据进行增删改查。用户模块:对账单中的数据进行增删改查,能对用户本身的数据进行修改。2.2 项目功能需求序号功能列表1登录:使用用户名和密码登录,成功进入主界面。否则将提示出错信息2账单操作:账单的增删改查,在操作工程中会根据用户权限判断是否能

8、够操作,权限不足返回出错信息。3用户操作:用户的增删改查,在操作过程中根据用户权限判断操作范围。4供应商操作:供应商的增删改查,在操作过程中根据用户的权限判断是否能够操作供应商。权限不足返回出错信息。2.3 程序流程图2.4 Oracle介绍Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。劳伦斯·埃里森和他的朋友,之前的同事Bob Miner和Ed Oates在1977年建立了软件开发实验室咨询公司(SDL,Software Development Laboratories)。

9、ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。Oracle数据库最新版本为Oracle Database 12c。Oracle

10、数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。2.5 MVC设计模式 模块、视图和控制器(MVC)模式是80年代Smalltalk-806出现的一种软件设计模式,现在已经被广泛使用。MVC

11、模式是一个描述重现问题及其解决方案的设计范式,其中控制器位于视图和模块之间,对视图如何与模块交互进行管理,这使得视图能够完全独立于控制器和模型,可以轻松实现客户端的设计。将控制器和模型分开就可以在互不影响的情况下修改任何一方。这样有助于减少各个部分之间的关联性。随着电子邮件系统的应用,各领域可以随时方便地进行信息的交流而无须掌握复杂的技术,从而改进了传统的信息交流的模式。MVC设计模式把一个软件组件区分为三个不同的部分:model、view、controller。模型(MODEL)模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑,代表组件状态和低级行为的部分,它管理着自己的状态并且处理

12、所有对状态的操作,Model自己本身并不知道使用自己的view和controller是谁,系统维护着它和view之间的关系,当Model发生了改变系统还负责通知相应的view。视图(VIEW)视图是应用程序中用户界面相关的部分,是用户能看到并与之交互的界面。它代表了管理Model所含有的数据的一个视觉上的呈现,一个Model可以有一个以上的view。控制器(CONTROLLER)控制器的工作就是根据用户的输入,控制用户界面数据显示更新Model对象状态,并管理着Model和用户之间的交互的控制,它提供了一些方法去处理当Model的状态发生了变化时的情况。modelviewcontroller3

13、 概要设计本章将在需求分析的基础上较详细的给出每个模块的名称,实现一些细节,加深读者对项目的理解,同时同时也理清思路,保证后面的开发编码工作可以顺利的进行。3.1 系统分析在本系统中,分为管理员模块,用户管理模块。有两个角色:管理员和普通用户。管理员:拥有所有模块的操作权限普通用户:可以对账单进行操作,本人的资料进行操作。用户登录系统功能模块图:验证普通会员用户管理供应商管理账单管理管理员3.2 项目包结构设计 本设计包括三个包。com.db包中的DBOperation是连接数据库的类。BillOperaion主要是实现账单的增删查改操作。SupplierOperation主要是实现供应商的增

14、删查改。USOperation主要是实现用户的增删查改。com.entity包中的Bill类是用来记录数据库中的账单信息,Supplier类是用来记录数据库中的供应商信息,US是用来记录数据库中的用户信息。Com.Servlet包中的类LoginServlet根据URI决定分发给doGet还是doPost处理请求,然后调用相应的业务逻辑方法,调用相应的页面去执行响应。利用JDBC(Java Data Base Connectivity)技术处理与数据库连接,利用其Servlet API所定义的接口和类来封装与数据库交互的相关操作,使对数据库的操作变得相当容易,减少开发时间,而且能对系统进行灵活

15、的设计和实现,使系统的各模块容易维护和重用。 224 详细设计4.1 界面设计登录界面public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException /* * Servlet的doPost方法 */public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException response

16、.setContentType("text/html;charset=gbk");PrintWriter out = response.getWriter();String user=""user=request.getParameter("username");user=user=null?null:new String(user.getBytes("ISO-8859-1"),"gbk");String passWord=""passWord=request.getPara

17、meter("password");List<US> users=USOperation.select();int n=0;for (int i = 0; i < users.size(); i+) if(user.equals(users.get(i).getUserName()&&passWord.equals(users.get(i).getPassWord()HttpSession session=request.getSession(true);session.setAttribute("username",

18、user);session.setAttribute("password",passWord );RequestDispatcher view =request.getRequestDispatcher("main.jsp");view.forward(request, response);break;elsen+;主界面账单管理界面管理员登录用户管理界面用户登录本人信息管理界面管理员登录供应商管理界面用户登录供应商管理界面4.2 数据库设计数据库是此类系统的核心,系统中所有的信息都存储在数据库中,在所有jsp页面中通过JDBC与数据库连接,操作数据库中

19、的数据,从而实现所有需要的功能。数据库软件有很多。本系统中数据库采用Oracle作为数据库工具。数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的影响。4.2.1 数据库表的设计本系统有三张表:BILL(账单信息表),SUPPLIER(供应商信息表),US(用户信息表,包括管理员用户和普通用户)。物理数据图:建表代码:create table BILL( BILLID NUMBER not null, GOODSNAME VARCHAR2(20) not null, GOODSNUM NUMBER not null, MONEY BINARY_DOUBLE not null,

20、ISPAY VARCHAR2(4) not null, SUPPLIERNAME VARCHAR2(20) not null, GOODSDESCRIBLE VARCHAR2(40) not null, BILLTIME DATE not null)tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );alter table BILL add constraint BILLID primary key (BILLID) using

21、 index tablespace USERS pctfree 10 initrans 2 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );commit;create table US( USERID NUMBER not null, USERNAME VARCHAR2(20), SEX VARCHAR2(10), AGE NUMBER, TELPHONE VARCHAR2(20), ADDRESS VARCHAR2(20), POWER VARCHAR2(20), PASSWORD VARCHAR2

22、(20)tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );alter table US add constraint USERID primary key (USERID) using index tablespace USERS pctfree 10 initrans 2 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );commit

23、;create table SUPPLIER( SUPPLIERID NUMBER not null, SUPPLIERNAME VARCHAR2(20), SUPPLIERDESCRIBLE VARCHAR2(40), LINKMAN VARCHAR2(20), TELPHONE VARCHAR2(20), ADDRESS VARCHAR2(40)tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );alter table SU

24、PPLIER add constraint SUPPLIERID primary key (SUPPLIERID) using index tablespace USERS pctfree 10 initrans 2 maxtrans 255 storage ( initial 64K minextents 1 maxextents unlimited );commit;插入数据后得到表:BILL表:SUPPLIER表:US表: 4.2.2 数据库连接 数据库的初始化/* * 数据库的初始化 * return */private DBOperation getDB()DBOperation d

25、bo1=new DBOperation();dbo1.setDriver("oracle.jdbc.driver.OracleDriver");dbo1.setUrl("jdbc:oracle:thin:54:1522/orcl");dbo1.setUser("B_LIYZ");dbo1.setPassWord("123");return dbo1;数据库的属性/* * 定义类的属性 */private String driver=null;/连接数据库的驱动private String ur

26、l=null;/连接数据库所需要的URLprivate String user=null;/连接数据库时所需要的用户名private String passWord=null;/连接数据库时所需要的密码连接数据库的工具/* * 连接时所需要的工具 */private Connection conn=null;private PreparedStatement ps=null;private ResultSet rs=null;连接数据库及关闭数据库/* * 连接数据库 */public void connectionDB()try /注册驱动Class.forName(driver);/建立数

27、据库的连接conn=DriverManager.getConnection(url,user,passWord); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finally /* * 关闭数据库 */private void closeDB() try if(rs!=null)rs.close();if(ps!=null)ps.close();if(conn!=null)conn.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();5 系统测试软件测试是整个软件开发过程中一段非常重要的阶段,在测试过程中如能按照测试的基本过程来进行测试,这样在测试完一个软件后,软件的质量能有

温馨提示

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

评论

0/150

提交评论