收藏 分销(赏)

图书管理系统设计文档.doc

上传人:精**** 文档编号:5421435 上传时间:2024-10-31 格式:DOC 页数:18 大小:290.54KB 下载积分:8 金币
下载 相关 举报
图书管理系统设计文档.doc_第1页
第1页 / 共18页
图书管理系统设计文档.doc_第2页
第2页 / 共18页


点击查看更多>>
资源描述
图书管理系统设计报告 学生姓名: 指导老师:单承刚 摘 要 本课程设计重要解决的是在图书馆中,实现计算机对图书借阅和读者的管理。在课程设计中,系统开发平台为Windows XP,程序设计设计语言采用Java,数据库采用SQL server,程序运营平台为Windows 98/2023/XP。在Java中可以实现的功能有图书管理、新书入库、读者管理、添加读者、系统管理员管理、借书、还书、续借等等。以MS SQL server作为各种信息资料的后台数据库。 本系统实现提供图书管理员对图书入库和出库以及图书借阅的管理。程序通过调试运营,初步实现了设计目的,并且通过适当完善后,将可以应用在图书馆前台解决实际问题。 关键词 Java程序设计;JDBC;ODBC; JDBC:JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可认为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员可以用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。 ODBC:  ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API运用SQL来完毕其大部分任务。ODBC自身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。 1 引 言 1.1 课程设计的目的 前言:图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者互相作用产生的借书信息、还书信息。因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有助于提高管理效率。 1.2 课程设计的意义 通过一个图书馆管理信息系统,使图书馆的信息管理工作系统化、规范化、自动化,从而达成提高公司人事管理效率的目的。 2 系统功能介绍 图书管理系统涉及八大模块:图书管理、新书入库、读者管理、添加读者、系统管理员管理、借书、还书、续借等模块。 2.1图书管理模块 该模块实现图书信息的查找、修改、删除功能。图1-1 图1-1 图书管理模块 2.2新书入库模块 该模块实现新书信息录入功能。图1-2 图1-2 新书入库模块 2.3读者管理模块 该模块实现新书信息录入功能。图1-3 图1-3 读者管理模块 2.4添加读者模块 该模块实现读者信息录入数据库功能。图1-4 图1-4 2.5借书模块 该模块实现图书借阅功能。图1-5 图1-5 2.6还书模块 该模块实现归还图书功能。图1-6 图1-6 2.7管理员管理模块 该模块实现添加删除管理员功能。图1-7 图1-7 3.数据结构和数据库设计 我们使用的的是MS SQL Sever2023的数据库,它功能强大,简朴易用。根据需要,我们建立了数据库(BOOKSDB.MDF),库中有4张物理表。 (1) Books表 该表用于存储图书信息,如图书id、书名、种类等等。 Book表 (2) Outbooks表 该表用于存储借出图书的日期时间、读者id。 Outbooks表 (3) Admin表 该表用于存储管理员的姓名、密码。 Admin表 (4) Users表---- 该表用于存储读者的信息,如读者id、读者姓名、性别、联系方式等。 User表 图1 图书管理系统业务流程图 图2 图书管理系统数据流程图 图3 图书管理系统概念数据模型 图4 图书管理系统面向对象模型 4. 系统代码设计分析 4.1 数据库连接模块 public class DBC { //数据源 public String url = "jdbc:odbc:test"; //创建connection对象 public Connection conn; public static DBC only; //创建DBC对象 public static DBC getInstance() { if (only == null) { return new DBC(); } else { return only; } } //创建数据库连接 public void getConnection() { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection(url); } catch (SQLException ex) { javax.swing.JOptionPane.showMessageDialog(null, ex.getMessage().toString()); } catch (ClassNotFoundException ex) { javax.swing.JOptionPane.showMessageDialog(null, ex.getMessage().toString()); } } //数据库查询方法 public ResultSet executeQuery(String sql) { ResultSet rs = null; try { getConnection(); Statement stmt = conn.createStatement(); rs = stmt.executeQuery(sql); } catch (SQLException ex) { javax.swing.JOptionPane.showMessageDialog(null, ex.getMessage().toString()); } return rs; } //更新,插入数据并返回是否成功 public boolean executeUpdate(String sql) { getConnection(); int i = 0; try { Statement stmt = conn.createStatement(); i = stmt.executeUpdate(sql); stmt.close(); conn.close(); } catch (SQLException ex) { javax.swing.JOptionPane.showMessageDialog(null, ex.getMessage().toString()); return false; } if (i > 0) { return true; } else { return false; } } } 4.2 借书模块 DBC dbc = DBC.getInstance(); ResultSet rs1=dbc.executeQuery("SELECT * FROM Books WHERE Bid = " + Integer.parseInt(txtBid.getText())); ResultSet rs2 = dbc.executeQuery("SELECT * FROM Users WHERE Uid = " + Integer.parseInt(txtUid.getText())); int uyue = 0; int bprice = 0; //查询是否有此书信息 try { rs1.next(); rs1.getInt("Bprice"); rs1.close(); } catch (SQLException ex1) { javax.swing.JOptionPane.showMessageDialog(this, "库中无此书信息!请重新确认。"); return; } //查询是否有该读者信息 try { rs2.next(); uyue = rs2.getInt("Uyue"); rs2.close(); } catch (SQLException ex2) { javax.swing.JOptionPane.showMessageDialog(this, "无此读者信息!请重新确认。"); return; } //判断余额是否允许租借本书 if (uyue < bprice) { javax.swing.JOptionPane.showMessageDialog(this, "该读者余额局限性以租借此书!"); return; } else { //更新相关数据并将该书库存量减1 if(Integer.parseInt(txtRenttime.getText()) < 0){ javax.swing.JOptionPane.showMessageDialog(this,"时间不能为负数!"); return; } if (dbc.executeUpdate("INSERT OutBooks VALUES (" + Integer.parseInt(txtBid.getText()) + "," + Integer.parseInt(txtUid.getText()) + "," + bprice + ",DEFAULT," + Integer.parseInt(txtRenttime.getText()) + ",DEFAULT,DEFAULT)") && dbc.executeUpdate( "UPDATE Books SET Bsum = Bsum-1 WHERE Bid =" + Integer.parseInt(txtBid.getText()))) { javax.swing.JOptionPane.showMessageDialog(this, "借书成功!"); } else { javax.swing.JOptionPane.showMessageDialog(this, "借书失败!请重试。"); } } 参考文献 [1] 刘萌.Java入门与提高实用教程[M].中国铁道出版社,2023.9 [2] 陈艳峰.Java数据库项目案例导航[M].北京:清华大学出版社,2023.8 [3].郑人杰,殷人昆等. 实用软件工程. 北京:清华大学出版社,1997 [4].徐孝凯. 面向对象程序设计实验. 北京:中央广播电视大学出版社,2023 [5].邵维忠,杨芙清. 面向对象的系统分析. 北京:清华大学出版社,1998 枣庄学院 《软件工程》课程设计报告 图书管理系统 叶 嵩 李 平 张芹芳 李 娜 系 计算机科学系 专 业 计算机科学与技术 班 级 学 号 学生姓名 指导教师 课程成绩 完毕日期 课程设计成绩评估 系 专 业 计算机科学与技术 班 级 学 号 学生姓名 指导教师 课程成绩 完毕日期 指导教师对学生在课程设计中的评价 评分项目 优 良 中 及格 不及格 课程设计中的发明性成果 学生掌握课程内容的限度 课程设计完毕情况 课程设计动手能力 文字表达 学习态度 规范规定 课程设计论文的质量 指导教师对课程设计的评估意见 综合成绩 指导教师签字 2023年 月 日
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服