图书管理系统设计文档.doc
《图书管理系统设计文档.doc》由会员分享,可在线阅读,更多相关《图书管理系统设计文档.doc(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年 月 日- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 设计 文档
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文