




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录1引言 4 1.1课题背景 .41.2 课程设计目的 .41.3 课程设计任务 .42 系统结构分析 52.1 需求分析 .52.2 系统模块图 .63 数据库设计.93.1 概念结构设计 .93.2 逻辑结构设计 . 103.3 数据库表的建立 .104 系统实现 1 24.1 数据库的连接 .124.2 系统功能模块设计 135 功能测试 155.1 订单界面 155.2 各功能模块的测试 166 结束语 18致谢 19参考文献 20附录 21书店管理系统的设计与实现订单信息管理模块学生姓名:冯淑华指导老师:唐汇国摘 要 本课程设计主要解决书店的管理问题 , 设计开发一个简单的书店管理
2、系统, 实现分类登陆 ,人员管理 ,书籍管理,订单管理以及各种查询,报表等功能。在课程设计中, 系统开发平台为 Windows 7, 程序设计语言采用 Java, 数据库采用 Oracle Database 10g Express Edition, 程序运行平台为 Windows 7 。程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以应用在网上书店的管理中,解决实际问题。关键词 书店管理系统;数据库; JavaThe Design and Implementation of theBookstore Management System Order information man
3、agement moduleStudent name: Feng Shuhua Advisor : TANG Hui-guoAbstract This course is designed mainly to solve the management issues of the bookstore which include the design and development of a simple bookstore management systems , clas sification landing achievement , personnel management , book
4、management , order management and various queries orreports functions . In curriculum design ,our system development platform isWindows 7 and programming language uses the Java and database uses OracleDatabase 10g Express Edition, and the program run platform makes use ofWindows 7 . After debugging
5、and running , The program is preliminary designedto achieve objectives, and properly perfect so that it can be applied in themanagement of the online bookstore to solve practical problems .Keywords Bookstore management system; Database; Java1 引言1.1 课题背景Internet 的迅速发展正以前所未有的深度和广度影响和改善着人类生活的各个方面,越来越多的
6、人开始意识到 Internet 所起到的重大作用 .随着书店规模的不断扩大,员工人数的不断增多, 使得书店管理的手工操作管理模式的局限性越发突出 . 本书店管理系统应用了科学的管理模式对员工.书籍 .订单信息进行管理和维护,并且还提供了给类报表的打印 ,使原本非常复杂的手工管理变得简洁明了。计算机信息管理技术的应用,除了能在相当大的程度上代替人工作业,从而减少人员工作量,减轻工作负担,减少工作中因人为原因而产生的错误从而避免不必要的损失外,更重要的是能建立准确畅通、简便的信息流通渠道,为工作提供所需要的准确、及时的信息以帮助做出正确而及时的选择与决定,从而给采用这门技术的单位带来了巨大的可见或
7、不可见的利益与效益。1.2 课程设计目的书店的不断扩张,需要更为人性化的管理。因而设计一个好的书店管理系统,能够提高书店的管理效率,创造更多的社会价值和经济价值。本论文旨在论述书店管理费系统的设计与开发。通过书店管理系统的设计, 熟练掌握 Java 、 Oracle Database 10g Express Edition等工具软件,系统地掌握需求分析、数据库设计、编码实现、测试等软件开发的流程,提高自身分析问题、解决问题的能力。1.3 课程设计任务本课程设计任务是通过开发一个数据库书店管理系统,学习数据库系统的设计与开等软件为开发工具。通过对发,采用 Java 和 Oracle Databa
8、se 10g Express Edition计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库系统开发实践。在指导老师的帮助下,已经基本上成功地实现了设计任务书的要求,使得设计的数据库系统能够实现一般数据库的管理。2 系统结构分析2.1 需求分析书店管理系统是适应时代发展的需要,提高管理的效率而开发设计的。通过对信息的收集、存储、传递、统计、分析、综合查询、报表输出和信息共享,及时为书店管理人员提供全面、 准确的各种数据。 实现了书店管理的简单化和规划化, 提高了书店的工作效率,从而使书店能够以少的投入获得更好的社会效益与经济效益。经过综合分析,确定了书店管理系统
9、的主要包括以下功能:(1) . 登陆管理功能登陆设置包括员工登陆。基本信息需要正确的员工姓名和密码才可以登陆。(2) . 员工管理功能系统设置包括员工编号设置、员工姓名设置、员工性别设置、员工生日设置和备注。基本信息管理模块可以实现查询和删除员工信息功能。(3) . 书籍管理功能系统设置包括图书名称设置、书籍编号设置、书籍出版社设置、书籍数量设置、书籍价格设置和书籍备注信息。基本信息管理模块可以实现添加和重置书籍信息功能:(4) . 订单管理功能系统设置包括客户姓名设置、订单日期设置、订单编号设置和经手人信息。基本信息管理模块可以实现删除订单信息功能,以及对订单的模糊查询。(5) . 订单详单
10、管理功能系统设置包括客户姓名设置、订单日期设置、订单编号设置、书籍名称设置、书籍 数目设置、图书单价设置和经手人信息。基本信息管理模块可以实现查询订单详单信息功台匕 目匕。2.2 功能模块图1 .根据上述的功能,可以设计出系统的总体功能模块,如图 2.1所示。图2.1书店管理系统功能模块示意图2 .“雇员信息设置”功能模块用于雇员编号管理、雇员姓名管理、雇员性别管理、雇员生日管理以及备注信息管理,其功能模块如图2.2所示。图2.2雇员信息设置3 . “书籍信息管理”功能模块用于图书名称管理、书籍编号管理、出版社信息、书籍数量管理、书籍价格管理以及备注信息,其功能模块如图2.3所示。图2.3书籍
11、信息管理4 . “订单详单信息管理”功能模块用于销售信息统计查询以及医生效益统计查询, 其功能模块如图2.4所示。图2.4订单详单信息管理5 .“订单信息管理”功能模块用于订单编号管理、客户姓名管理、经手人姓名管理、订单日期管理,其功能模块如图2.5所示。图2.5订单信息管理6 .“顾客信息设置”功能模块用于顾客编号管理、顾客姓名管理、联系方式管理、权限 密码信息管理,其功能模块如图2.6所示。图2.6顾客信息管理本系统将用户划分为一种类型,即书店员工用户。管理员可以管理其他用户的信息,在所有方面所有管理员的权限相同3数据库设计3.1 概念结构设计根据需求分析抽象出信息结构,可得该系统的E-R
12、图(1) .雇员E-R图,如图3.1所示。图3.1用户E-R图根据分E-R图和需求分析,可得到总E-R图,如图3.10所示。图3.10总体E-R图3.2 逻辑结构设计根据上述的概念结构设计出逻辑结构,将 E-R图转换为关系模型。数据库 Bookmanage包含以下 5个表:员工信息表Employee、书籍信息表BookInfo 、订单信息表BookOrders、顾客信息表 Customs、订单详单表 OrderDetail 。(1) .订单信息表BookInfo订单信息表BookInfo 用来保存书籍编号、书籍名称、书籍价格、书籍类型、书籍标记、出版社和库存等信息。表BookInfo 的结构如
13、表3-2所示。表3-2 表BookInfo 的结构编号字段名称数据结构说明1BookIDVarchar2(12)记录书籍编号2BookNameVarchar2(40)记录书籍名称3Pricenumber记书籍价格4BookTypeVarchar2(20)记录书籍类型5BookRemarkVarchar2(20)记录书籍标记6PublisVarchar2(20)记录出版社7Stocknumber记录书籍库存通过对上面表的分析,插入,删除,查找等操作,所有模式都符合3NF前面是通过前台来实现系统安全性的,我们也可以对数据库进行身份验证,可以从服务器角度建一个登录名,使得不同的服务器角色拥有不同的权
14、限,从而实现对数据库的不同权限的管理,以此来增强书店管理系统的安全性。3.3 数据库表的建立在设计 数据库表结构之前,首先要创建一个数据 库。本系统使用的数 据库为Bookmanage 。可以在企业管理器中创建数据库,也可以在查询分析器中执行以下Transact SQl 语句:(1) .创建表 BookOrders创建表BookOrders(订单信息表),它的代码如下:create table BookOrders(OrdID varchar2(12),TotalPrue number(8),CusID varchar2(12),EmpID varchar2(12),OrdDate date,
15、primary key(OrdID,CusID,EmpID),foreign key(CusID) references Customs(CusID),foreign key(EmpID) references Employee(EmpID);GO(2) . 创建表 OrderDetail创建表 OrderDetail (订单详单信息表) ,它的代码如下:create table OrderDetail(OrdID varchar2(12),BookID varchar2(12),BookCount number- -primary key(OrdID)- -foreign key(OrdID
16、) references Orders(OrdID),- -foreign key(BookID) references BookInfo(BookID);4 系统实现4.1 数据库的连接在该系统中使用的数据库是Oracle Database 10g Express Edition 。客户端采用的是 PL/SQL Developer 。 Java 运行环境为 Eclipse Indigo 。在安装好了软件之后,数据库的连接设置在Eclipse 里的 Properties 功能键中。 如图 4.1 所示图 4.1 数据库连接在 Java Build Path 中的 Libraries 中,运行
17、Add External JARs 找至Uojdbc14_g.jar 并添加,则此时已将数据库和 Java 程序成功连接。4.2 系统功能模块设置(1) . 设计订单信息管理对话框订单信息管理对话框可以用来删除和查询订单信息。添加一个对话框,将其命名为ContentPane 。对话框的布局如图 4.2 所示。图 4.2 对话框 ContentPane 的布局对话框启动,当你点击查找功能键时,则会出现要查询的订单信息,此时你可以实现删除。当用户单击“查询”按钮时, 将执行 ChazhaoYuangongInfo() 函数; 当用户单击“删除”按钮时,将执行ShanchuYuanfongInfo(
18、) 函数,在删除数据之前,程序要是否选择了要删除的订单记录,否则会提示请“请选中一行” 。设计订单详单信息管理对话框订单信息管理对话框可以用来删除和查询订单信息。添加一个对话框,将其命名为ContentPane 。对话框的布局如图 4.3 所示。图 4.3 对话框 ContentPane 的布局对话框启动,当你点击查找功能键时,则会出现要查询的订单细则信息,此时你可以实现查询。当用户单击“查询”按钮时,将执行ChazhaoYuangongInfo() 函数。5 功能测试该程序实现了书店管理系统应有的功能,即登陆设置功能、员工信息管理功能、顾客 信息管理功能、书籍信息管理功能和订单信息管理和订单
19、详单管理功能。5.1 订单信息管理程序运行时,登陆后点击“订单管理”便进入订单管理界面.点击“订单详单”便进入订单详单管理界面。如图 5.1 所示图 5.1 订单管理界面和订单详单管理界面5.2 各功能模块的实现各功能的实现均与设计对话框相符合,如订单信息管理,当用户选择该项时,会弹出订单信息管理对话框, 用户可以进行删除以及查询等操作, 界面如图 5.2 所示 ,其他界面的功能也都一一实现,完成了该系统的功能要求。图 5.2 订单信息管理对话框6 结束语经过这些天的努力,本次课程设计终于完成了。通过这次课程设计,使我对数据库这门课程有了更深入的理解,数据库是一门实践性较强的课程,为了学好这门
20、课程,必须在掌握理论知识的同时,加强上机实践。在本次课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写程序的能力,培养了基本的、良好的程序设计技能。这次课程设计同样提高了我的综合运用所学知识的能力。并对Java语言有了更深入的了解。由于我的经验和知识的不足,在程序中还存在很多缺陷。经过这次课程设计,我的知识得到了很大提高,经验也更加丰富。今后我会更多的学习编程技巧,不断的提高程序理解和设计能力致谢在这次数据库的课程设计中,曾遇到过不少问题,单靠我个人的努力,很难按时完成该课程设计。在此,我衷心感谢我的指导老师彭玉旭。彭玉旭老师认真负责的工作态 度,严谨的治学精神和深厚
21、的理论水平都使我获益非浅。另外,还要感谢学校领导、辅导 员、各位同学对我们的关怀、帮助,为我们提供了良好的设计环境以及各方面的支持。参考文献1 李彦,韩光林,李玉波. SQL SERVE 完全自学手册 M. 北京:电子工业出版社,20072 萨师煊,王珊. 数据库系统概论. 北京:高等教育出版社. 20053 Y.DanieI Liang.Java. 万波 . JAVA 语言程序设计M. 第六版 . 北京:机械工业出版社, 2008附录 部分程序代码/ 程序名称: BookDenglu.java/ 程序功能:登陆管理/ 程序作者:冯淑华/ 最后修改日期: 2012-09-12/* 订单类 */
22、public class OrdersVo private String ordersID;private String cusName;private String empName;private String bookName;private String bookPrice;private String bookCount;private String totalPrice;private String ordersDate;public String getOrdersID() return ordersID;public void setOrdersID(String ordersI
23、D) this.ordersID = ordersID;public String getCusName() return cusName;public void setCusName(String cusName) this.cusName = cusName;public String getEmpName() return empName;public void setEmpName(String empName) this.empName = empName;public String getBookName() return bookName;public void setBookN
24、ame(String bookName) this.bookName = bookName;public String getBookPrice() return bookPrice;public void setBookPrice(String bookPrice) this.bookPrice = bookPrice;public String getBookCount() return bookCount;public void setBookCount(String bookCount) this.bookCount = bookCount;public String getTotal
25、Price() return totalPrice;public void setTotalPrice(String totalPrice) this.totalPrice = totalPrice;public String getOrdersDate() return ordersDate;public void setOrdersDate(String ordersDate) this.ordersDate = ordersDate;/* 订单信息 */public class OrdersDao implements IOrdersDao private PreparedStateme
26、nt pstm;private ResultSet rs;private int rowNum;private Connection conn;private String sql;Overridepublic List queryOrders(OrdersVo temp) / TODO Auto-generated method stubDBUtil du = new DBUtil();List list = new ArrayList();OrdersVo vo = null;try conn = du.getConnect();sql = select BookOrders.Ordid,
27、 BookOrders.Orddate, bookinfo.price,customs.cusname,employee.empname,BookInfo.Bookname,onOrderDetail.Bookcount from BookOrders inner join OrderDetailBookOrders.Ordid = OrderDetail.Ordid inner join customs on BookOrders.Cusid= customs.cusid inner join employee on BookOrders.Empid = employee.empid cus
28、toms.cusName = ?;inner join BookInfoon OrderDetail.BookidBookInfo.Bookidwherepstm = conn.prepareStatement(sql);pstm.setString(1, temp.getOrdersID();rs = pstm.executeQuery();while (rs.next() String ordersID = rs.getString(ORDID);String cusName = rs.getString(CUSNAME);String empName = rs.getString(EMP
29、NAME);String ordersDate = rs.getString(ORDDATE);vo = new OrdersVo();vo.setOrdersID(ordersID);vo.setCusName(cusName);vo.setEmpName(empName);vo.setOrdersDate(ordersDate);list.add(vo); catch (ClassNotFoundException e) / TODO Auto-generated catch block e.printStackTrace(); catch (SQLException e) / TODO
30、Auto-generated catch blocke.printStackTrace(); finally du.free(conn, pstm, rs);return list;Overridepublic List queryAllOrders() / TODO Auto-generated method stubDBUtil du = new DBUtil();List list = new ArrayList();OrdersVo vo = null;try conn = du.getConnect();sql = select BookOrders.Ordid, BookOrder
31、s.Orddate, bookinfo.price,customs.cusname,employee.empname,BookInfo.Bookname,onOrderDetail.Bookcount from BookOrders inner join OrderDetailBookOrders.Ordid = OrderDetail.Ordid inner join customs on BookOrders.Cusid= customs.cusid inner join employee on BookOrders.Empid = employee.empidinner join Boo
32、kInfo on OrderDetail.Bookid = BookInfo.Bookid;pstm = conn.prepareStatement(sql);rs = pstm.executeQuery();while (rs.next() String ordersID = rs.getString(ORDID);String cusName = rs.getString(CUSNAME);String empName = rs.getString(EMPNAME);String ordersDate = rs.getString(ORDDATE);vo = new OrdersVo();
33、vo.setOrdersID(ordersID);vo.setCusName(cusName);vo.setEmpName(empName);vo.setOrdersDate(ordersDate);list.add(vo); catch (ClassNotFoundException e) / TODO Auto-generated catch block e.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); finally du.free(conn
34、, pstm, rs);return list;Overridepublic List queryOrdersDetail(OrdersVo temp) / TODO Auto-generated method stubDBUtil du = new DBUtil();List list = new ArrayList();OrdersVo vo = null;try conn = du.getConnect();sql = select BookOrders.Ordid, BookOrders.Orddate, bookinfo.price,customs.cusname,employee.
35、empname,BookInfo.Bookname,OrderDetail.Bookcount from BookOrders inner join OrderDetail onBookOrders.Ordid = OrderDetail.Ordid inner join customs on BookOrders.Cusid= customs.cusid inner join employee on BookOrders.Empid = employee.empidinner join BookInfo on OrderDetail.Bookid = BookInfo.Bookid wher
36、eBookOrders.ordId = ?;pstm = conn.prepareStatement(sql);pstm.setString(1, temp.getOrdersID();rs = pstm.executeQuery();while (rs.next() String ordersID = rs.getString(ORDID);String cusName = rs.getString(CUSNAME);String empName = rs.getString(EMPNAME);String bookName = rs.getString(BOOKNAME);String b
37、ookCount = rs.getString(BOOKCOUNT);String bookPrice = rs.getString(PRICE);String ordersDate = rs.getString(ORDDATE);vo = new OrdersVo();vo.setOrdersID(ordersID);vo.setCusName(cusName);vo.setEmpName(empName);vo.setBookName(bookName);vo.setBookCount(bookCount);vo.setBookPrice(bookPrice);vo.setOrdersDa
38、te(ordersDate);list.add(vo); catch (ClassNotFoundException e) / TODO Auto-generated catch block e.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace(); finally du.free(conn, pstm, rs);return list;Overridepublic List queryAllOrdersDetail() / TODO Auto-genera
39、ted method stubDBUtil du = new DBUtil();List list = new ArrayList();OrdersVo vo = null;try conn = du.getConnect();sql = select BookOrders.Ordid, BookOrders.Orddate, bookinfo.price,customs.cusname,employee.empname,BookInfo.Bookname,OrderDetail.Bookcount from BookOrders inner join OrderDetail onBookOr
40、ders.Ordid = OrderDetail.Ordid inner join customs on BookOrders.Cusid= customs.cusid inner join employee on BookOrders.Empid = employee.empidinner join BookInfo on OrderDetail.Bookid = BookInfo.Bookid;pstm = conn.prepareStatement(sql);rs = pstm.executeQuery();while (rs.next() String ordersID = rs.ge
41、tString(ORDID);String cusName = rs.getString(CUSNAME);String empName = rs.getString(EMPNAME);String bookName = rs.getString(BOOKNAME);String bookCount = rs.getString(BOOKCOUNT);String bookPrice = rs.getString(PRICE);String ordersDate = rs.getString(ORDDATE);vo = new OrdersVo();vo.setOrdersID(ordersI
42、D);vo.setCusName(cusName);vo.setEmpName(empName);vo.setBookName(bookName);vo.setBookCount(bookCount);vo.setBookPrice(bookPrice);vo.setOrdersDate(ordersDate); list.add(vo); catch (ClassNotFoundException e) / TODO Auto-generated catch block e.printStackTrace(); catch (SQLException e) / TODO Auto-gener
43、ated catch block e.printStackTrace(); finally du.free(conn, pstm, rs);return list;Overridepublic Boolean deleteOrders(OrdersVo temp) / TODO Auto-generated method stubDBUtil du = new DBUtil();boolean bool = false;try conn = du.getConnect();sql = delete from bookorders where ordid = ?;pstm = conn.prep
44、areStatement(sql);pstm.setString(1, temp.getOrdersID();int flag1 = pstm.executeUpdate();sql = delete from orderdetail where ordid = ?;pstm = conn.prepareStatement(sql);pstm.setString(1, temp.getOrdersID();int flag2 = pstm.executeUpdate();if(flag1 != -1) & (flag2 != -1) ) bool =true; catch (ClassNotFoundException e) / TODO Auto-generated catch block e.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finally du.free(conn, pstm, rs);retu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财务管理盈利能力答辩
- 2023四年级数学上册 3 角的度量第1课时 线段、直线、射线和角教学设计 新人教版
- 2023二年级数学下册 五 加与减第8课时 算得对吗2教学设计 北师大版
- 药店执照转让协议与药店承包经营合同6篇
- Unit2第1课时Section A (1a~Pronunciation)教学设计 -2024-2025学年人教版英语七年级上册
- 2023三年级数学上册 一 生活中的大数 学会购物教学设计 冀教版
- 激光表演协议与激光设备买卖合同5篇
- 10 夺取抗日战争和人民解放战争的胜利 第三课时 教学设计-2023-2024学年道德与法治五年级下册(部编版)
- 6《仙人掌与莲》教学设计-2023-2024学年科学三年级下册冀人版
- 25王戎不取道旁李教学设计-2024-2025学年四年级上册语文统编版
- 砌墙施工班组劳务分包合同
- 2025年内蒙古自治区中考一模语文试题(原卷版+解析版)
- 生物-四川省宜宾市、乐山市、自贡市普通高中2022级(2025届)第二次诊断性测试(宜宾乐山自贡三市二诊)试题和答案
- 【初中生物】食物中营养物质课件2024-2025学年人教版生物七年级下册
- 2025-2030中国儿科用药行业深度调研及投资前景预测研究报告
- 2025年宁波卫生职业技术学院单招职业技能测试题库附答案
- 2025年共青团入团积极分子考试测试试卷题库及答案
- 桩基工程技术标投标文件(技术方案)
- 【艾青诗选】40《解冻》思维导图+批注
- 《庐山古诗词》课件
- 金属加工机械制造行业分析报告
评论
0/150
提交评论