ImageVerifierCode 换一换
格式:DOCX , 页数:49 ,大小:263.32KB ,
资源ID:12128046      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12128046.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(书店管理系统的设计与实现.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

书店管理系统的设计与实现.docx

1、书店管理系统的设计与实现书店管理系统的设计与实现书籍销售管理模块学生姓名: 指导老师:摘 要 本课程设计主要解决书店的管理问题,设计开发一个简单的书店管理系统 ,实现分类登陆,书籍管理,仓库库存管理,会员管理以及各种查询等功能。在课程设计中,系统开发平台为Windows 7,程序设计语言采用Java,数据库采用Oracle Database 11g Express Edition,程序运行平台为Windows 7。程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以应用在普通书店的管理中,解决实际问题。关键词 书店管理系统;数据库;Java1 引言1.1课题背景随着科学技术的不断发

2、展,电子技术悄无声息地走进了我们生活的各个角落,无时无刻的不在影响和改善着我们生活的各个方面。同时,越来越多的人开始意识到计算机技术在日常生活中所起到的重大作用。如今,随着书店规模的不断扩大,书籍种类和数量的不断增加,使得人工管理模式的局限性越发突出。因此,利用计算机技术来优化书店管理具有重大的实际意义。计算机信息管理技术的应用,除了能在相当大的程度上代替人工作业,从而减少人员工作量,减轻工作负担,减少工作中因人为原因而产生的错误从而避免不必要的损失外,更重要的是能建立准确畅通、简便的信息流通渠道,为工作提供所需要的准确、及时的信息以帮助做出正确而及时的选择与决定,从而给采用这门技术的单位带来

3、了巨大的可见或不可见的利益与效益。1.2课程设计目的一个业绩好的书店每天都会销售出大量书籍,使用书店信息管理系统可以大大提高工作效率,减少工作中不必要的失误。与此同时,通过书店管理系统,我们可以知晓书籍的销售情况,从而进一步总结出哪些书籍最为畅销,而哪些书籍鲜有人问津,通过对销售状况的总结,我们就能够知道需要大量购进哪些书籍,以便获得更大的经济效益。而且,通过书店管理系统,我们可以对一些常来书店购书的客户实行适当的会员优惠,以留住一部分客户群体进行长期的合作,这样书店就能获取相当可观的经济效益。本论文旨在论述书店管理系统的设计与开发。通过书店管理系统的设计,熟练掌握Java、Oracle Da

4、tabase 10g Express Edition等工具软件,系统地掌握需求分析、数据库设计、编码实现、测试等软件开发的流程,提高自身分析问题、解决问题的能力。1.3课程设计任务本课程设计任务是通过开发一个数据库书店管理系统,学习数据库系统的设计与开发,采用JAVA和Oracle Database 11g Express Edition等软件为开发工具。通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库系统开发实践。在指导老师的帮助下,已经基本上成功地实现了设计任务书的要求,使得设计的数据库系统能够实现一般数据库的管理。2 系统结构分析2.1需求分析书店管

5、理系统是适应时代发展的需要,提高管理的效率而开发设计的。通过对信息的收集、存储、传递、统计、分析、综合查询、报表输出和信息共享,及时为书店管理人员提供全面、准确的各种数据。实现了书店管理的简单化和规划化,提高了书店的工作效率,从而使书店能够以少的投入获得更好的社会效益与经济效益。经过综合分析,确定了书店管理系统的主要包括以下功能:(1). 书籍信息管理功能系统设置包括书籍编号设置、书籍名称设置、书籍作者设置、出版社设置、书籍进价、书籍售价和书籍数量。基本信息管理模块可以实现添加和重置书籍信息功能:。(2). 会员信息管理功能系统设置包括会员编号设置、会员姓名设置、会员等级设置、会员折扣设置和会

6、员累计消费。基本信息管理模块可以实现查询和删除会员信息功能。(3). 账单信息管理功能 系统设置包括会员姓名设置和当前消费金额设置。通过此模块能基本实现修改会员信息功能。2.2 功能模块图1.根据上述的功能,可以设计出系统的总体功能模块,如图2.1所示。图2.1 书店管理系统功能模块示意图2.“书籍信息管理”功能模块用于书籍编号设置、书籍名称设置、书籍作者设置、出版社设置、书籍进价、书籍售价和书籍数量,其功能模块如图2.2所示。图2.2 书籍管理信息设置3“会员信息管理”功能模块用于会员编号设置、会员姓名设置、会员等级设置、会员折扣设置和累计消费设置,其功能模块如图2.3所示。 图2.3 会员

7、信息管理4“账单信息管理”功能模块用于会员姓名设置和当前消费金额设置,其功能模块如图2.4所示。 图2.4 账单信息管理3 系统数据库设计3.1 概念结构设计根据需求分析抽象出信息结构,可得该系统的E-R图。(1)书籍管理E-R图,如图3.1所示。图3.1 书籍管理E-R图(2)会员管理E-R图,如图3.2所示。图3.2 会员管理E-R图(3)账单管理E-R图,如图3.3所示。图3.3 账单管理E-R图3.2逻辑结构设计根据上述的概念结构设计出逻辑结构,将E-R图转换为关系模型。数据库Book包含以下5个表:书籍信息表book、会员信息表member 、账单信息表bill。(1) 书籍信息表b

8、ook 订单信息表book用来保存书籍编号、书籍名称、书籍作者、书籍出版社、书籍进价、书籍售价和数量等信息。表book 的结构如表3-1所示。 表3-1 表book的结构编号字段名称数据结构说明1Book_idVarchar2(10)记录书籍编号2Book_nameVarchar2(20)记录书籍名称3Book_authorVarchar2(20)记录书籍作者4Book_pressVarchar2(20)记录出版社5Book_sale_priceNumber(10)记录书籍售价6Book_purchase_priceNumber(10)记录书籍进价7Book_amountNumber(10)记

9、录书籍库存数量 通过对上面表的分析,查找等操作,所有模式都符合3NF。前面是通过前台来实现系统安全性的,我们也可以对数据库进行身份验证,可以从服务器角度建一个登录名,使得不同的服务器角色拥有不同的权限,从而实现对数据库的不同权限的管理,以此来增强书店管理系统的安全性。3.3数据库表的建立在设计数据库表结构之前,首先要创建一个数据库。本系统使用的数据库为Book。可以在企业管理器中创建数据库,也可以在查询分析器中执行以下TransactSQl语句:(1) 创建表Book CREATE TABLE BOOK ( BOOK_ID NUMBER(10), BOOK_NAME VARCHAR2(20),

10、 BOOK_AUTHOR VARCHAR2(20), BOOK_PRESS VARCHAR2(20), BOOK_SALE_PRICE NUMBER(10), BOOK_AMOUNT NUMBER(10), BOOK_PURCHASE_PRICE NUMBER(10) ) (2) 创建表Bookid CREATE TABLE BOOKID ( BOOK_ID NUMBER(10) )(3) 创建表memberCREATE TABLE MEMBER ( MEMBER_ID NUMBER(10) NOT NULL ENABLE, MEMBER_NAME VARCHAR2(20) NOT NULL

11、ENABLE, MEMBER_LEVEL NUMBER(20) NOT NULL ENABLE, MEMBER_REBATE FLOAT(2) DEFAULT 0.9 NOT NULL ENABLE, MEMBER_CONSUMPTION FLOAT(126) NOT NULL ENABLE )(4) 创建表bill CREATE TABLE BILL ( MEMBER_NAME VARCHAR2(10), MONEY NUMBER(10) )4 系统实现4.1 数据库的连接在该系统中使用的数据库是Oracle Database 11g Express Edition。客户端采用的是PL/SQ

12、L Developer。Java运行环境为Eclipse Indigo。在安装好了软件之后,数据库的连接设置在Eclipse里的Properties功能键中。 如图4.1所示图4.1 数据库连接在Java Build Path中的Libraries中,运行Add External JARs找到classes12.jar并添加,则此时已将数据库和Java程序成功连接。 4.2 系统功能模块设置(1) 设计书籍销售管理界面书籍销售管理界面可以用来查询书籍、将选定书籍加入购买目录和账单结算。创建一个选项卡面板,将其命名为OprationInfoPanel。选项卡面板的布局如图4.2所示。图4.2 面

13、板OprationInfoPanel的布局面板启动,当你点击查找功能键时,则会出现要查询的书籍信息,此时你可以实现将选定书籍加入购买目录。当用户单击“查询”按钮时,将执行findDao(String bookName)函数,通过模糊查询检索出相关书籍信息;当用户单击“加入购买目录”按钮时,将执行addShoppingCart(int bookId)函数,系统将会自动加选定书籍添加到购买目录中并在显示出来;当用户单击“账单结算”按钮时,将执行new BillDialog(float money),弹出账单结算对话框。(2) 设计账单结算管理对话框账单结算管理对话框可以用来结算账单信息。添加一个对

14、话框,将其命名为BillDialog。对话框的布局如图4.3所示。图4.3 对话框BillDialog的布局对话框启动,输入相关信息,当你点击“确认账单”时,将执行confirmBillDao(String memberName)函数,则会显示根据数据库所计算出客户所需支付金额,当点击“提交账单”时,将执行submitOrdersDao(OrderVo vo)函数,系统自动将本次交易的金额存入会员信息中,以便会员升级和下次调用会员信息。5 系统测试方案和测试报告5.1测试方案由于系统规模较小,所以没有安排单独的白盒测试,而是相应地将这部分测试归并到系统编码过程中。整个测试过程基于自顶向下测试的

15、组装模块的方法,先对主模块进行基本测试,然后在按深度优先策略逐一将子模块组装到主模块上进行测试,最后再对系统进行全面的整体测试。5.2测试过程(1)书籍销售管理主界面测试运行程序,登录成功后进入书籍销售管理界面,如图5.1所示:图5.1 书籍销售管理界面(2)书籍查询功能测试输入书籍名称可查询到自己想要的书籍信息,本查询为模糊查询,会显示包含所输入字符所有书籍,如图5.2所示:图5.2 模糊查询显示出的书籍分五本为一页,通过点击“上页”和“下页”按钮可以查询其他页码的书籍,如图5.3和5.4所示:图5.3 分页显示查询结果(a)图5.4 分页显示查询结果(b)(3)选择书籍并加入购买目录功能测

16、试选择查询出的一条数据,并单击加入购物车按钮,将自动把选中书籍添加到购买目录中,如图5.5所示:图5.5 添加书籍至购买目录(4)订单管理功能测试移除书籍:选定购买目录中的一本书,点击“移除”按钮,将自动把所选书籍从购买目录中移除,如图5.6所示:图5.6 移除书籍账单结算:点击“账单结算”,按钮,将自动弹出一个账单结算窗口,“订单查询”,如图5.7所示:图5.7 账单结算界面输入会员名称和实付金额,点击确认账单,将自动计算根据会员折扣后所需找零金额,如图5.8所示:图5.8 账单结算功能点击“提交账单”,将提示账单提交成功,将会吧数据传到数据库,并对相应的数据进行处理,如图5.9所示:图5.

17、9 提交账单6 结束语本系统完成了一个书店管理系统的基本功能,包括书籍销售管理、库存管理、会员管理等。我们小组将该系统分为三大模块,分别由三位小组成员负责,最后再一起汇总,经过不断的调试,所有功能经过测试均能够正确运行,操作简便,界面友好。通过小组合作完成本次课程设计,我对数据库这门课程有了更加深刻的理解,同时也能熟练的运用eclipse来编写较为简单的java程序,并且也使得自己在对系统数据库的分析、设计有更深刻的了解。我们在各自编写程序中遇到了很多问题,通过查阅相关资料,问题得到了解决,同时也学到了一定的java编程知识。另外,通过运用JDBC数据库连接技术,我对java数据库编程技术也有

18、了一定的了解和认识,希望通过以后的学习继续加深这方面知识的掌握。参考文献1王汝传.计算机图形学M.北京:人民邮电出版社,1999:123130.2刘榴娣,刘明奇,党长民.实用数字图像处理M.北京:北京理工大学出版,2000:1225.3 李彦,韩光林,李玉波. SQL SERVE完全自学手册M. 北京:电子工业出版社,20074 萨师煊,王珊. 数据库系统概论. 北京:高等教育出版社. 2005附录:部分程序代码/ 程序名称: MainFrame.java/ 程序功能:主界面/ 程序作者:漆盛/ 最后修改日期:2013-09-26package .view;import java.awt.Bo

19、rderLayout;import javax.swing.JFrame;import javax.swing.JTabbedPane;import .view.panel.MemberInfoPanel;import .view.panel.OprationInfoPanel;import .view.panel.WarehouseInfoPanel;public class MainFrame extends JFrame private static final long serialVersionUID = 1L; private JTabbedPane tab; private bo

20、olean flag; public MainFrame(boolean flag) this.flag=flag; init(); private void init() this.add(createTab(),BorderLayout.CENTER); this.setTitle(书店管理系统); this.setSize(1000, 700); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); this.setResi

21、zable(false); private JTabbedPane createTab() if(tab=null) tab=new JTabbedPane(); tab.add(书籍销售管理,new OprationInfoPanel(); if(flag) tab.add(仓库库存管理,new WarehouseInfoPanel(); tab.add(会员信息管理,new MemberInfoPanel(); return tab; /*书籍销售管理选项卡面板*/package .view.panel;import java.util.Vector;import javax.swing.

22、JButton;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.JTextField;import javax.swing.table.DefaultTableModel;import .action.OprationInfoPanelAction;import .vo.BookVo;import .vo.PageVo;public class OprationInfoPanel exte

23、nds JPanel private static final long serialVersionUID = 1L; SuppressWarnings(rawtypes) private Vector title = new Vector(); SuppressWarnings(rawtypes) private Vector title1 = new Vector(); private JScrollPane scroll; private DefaultTableModel model; private DefaultTableModel model1; private JTable t

24、able; private JTable cartTable; private OprationInfoPanelAction action = new OprationInfoPanelAction(this); private JTextField bookName = new JTextField(10); private int row = -1; private BookVo vo; private int rows = -1; private JPanel createOprationPanel; private JPanel createCartPanel; private JT

25、extField pageText = new JTextField(2); private PageVo pageVo; private JPanel pagePanel; private JLabel cartName = new JLabel(购买目录); private JScrollPane cartScroll; private int cartRow; public OprationInfoPanel() init(); private void init() this.setLayout(null); this.add(createOprationPanel(); create

26、OprationPanel.setBounds(0, 0, 1000, 40); this.add(createScroll(); scroll.setBounds(0, 45, 1000, 125); this.add(createPagePanel(); pagePanel.setBounds(0, 170, 1000, 40); this.add(cartName); cartName.setBounds(0, 200, 80, 40); this.add(createCartScroll(); cartScroll.setBounds(0, 240, 1000, 250); this.

27、add(createCartPanel(); createCartPanel.setBounds(0, 490, 1000, 50); private JPanel createPagePanel() if (pagePanel = null) pagePanel = new JPanel(); pagePanel.add(createBut(首页); pagePanel.add(createBut(上页); pagePanel.add(new JLabel(第); pagePanel.add(pageText); pagePanel.add(new JLabel(页); pageText.s

28、etEditable(false); pagePanel.add(createBut(下页); pagePanel.add(createBut(末页); return pagePanel; private JPanel createOprationPanel() if (createOprationPanel = null) createOprationPanel = new JPanel(); createOprationPanel.add(new JLabel(书籍名称:); createOprationPanel.add(bookName); createOprationPanel.ad

29、d(createBut(查询); createOprationPanel.add(createBut(加入购买目录); return createOprationPanel; private JPanel createCartPanel() if (createCartPanel = null) createCartPanel = new JPanel(); createCartPanel.add(createBut(刷新); createCartPanel.add(createBut(移除); createCartPanel.add(createBut(账单结算); return createCartPanel; private JScrollPane createScroll() if (scroll = null) scroll = new JScrollPane(createTable(); return scroll; private JScrollPane createCartScroll() if (cartScroll = null) cartScroll = new JScrollPane(createCartTable(); return cartScroll;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1