




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南科技学院课程设计报告课程名称:面向对象程序设计课程设计课程设计题目:图书信息管理系统系:数学与计算科学系专 业:信息与计算科学年级、班:2008级1班姓 名:XXX学 号:XXXXXXX指导教师:牛志毅职 称:讲师2011年6月自我评分我的自我评分是80,下面是我评分的理由。首先,我在老师给的程序上完善了图书管理系统的一些基本功能,如增加、修改、删除、查询,其中查询功能,我添加了一个函数,JOptionPane.showInputDialog(null,选择查找方式:, Input, JOptionPane.INFORMATION_MESSAGE,null,possibleValues,possibleValues0);实现了可以按多种方式查找,如按图书编号,按图书名称,但此时主要是在Java界面的控制台显示其内容。然后,我通过查阅书籍,上网查询,添加了函数JOptionPane.showInputDialog(),实现了简单的图像界面,但因为时间跟水平有限,所以图行界面效果尚未没达到预期的目标。最后,我将数据存储在数据库(Oracle Database 10g)中,通过本地协议纯Java驱动程序,连接了数据库,使其数据库当中的数据随着界面的操作而随时更新。用java.sql.PreparedStatement这个java.sql.Statement接口的一个变种,可以使用参数化SQL语句,用java.sql.ResultSet这个接口抽象了运行SQL select语句的结果,提供了访问结果的方法,这个接口可以用来来访问各记录中不同的字段。目录自我评分.I第1章 摘要.1第2章 系统功能介绍.1 2.1系统思路设计简介.1 2.2系统流程.2第3章 数据库设计.2 3.1数据库需求分析.23.2数据库概念结构设计.2第4章 系统功能实现.3 4.1连接数据库模块设计 .3 4.2主界面功能实现.4 4.3图书添加功能的实现.6 4.4图书浏览功能实现.8 4.5图书删除功能实现.9 4.6图书修改功能实现.10 4.7图书信息查询功能实现.11第5章 总结 .14第6章 参考文献.143第1章 摘 要在当今这个知识经济时代,知识的大爆炸带来了图书业的大发展,图书数量急剧增加,时间的增长,再查询时就需要在众多的资料中查找,费时费力,手工操作使得图书的信息管理工作混乱而复杂。基于这个问题,开发一个智能的、操作简单的、使用方便的图书信息管理系统是非常有必要的,而本系统需要实现也正是图书信息管理系统的基本功能。图书信息管理系统主要具备书籍管理的基本功能将图书信息存储于系统的数据库当中,管理员可以添加新图书、修改错误的图书和删除不存在的图书,并可以查阅图书信息的情况。图书信息管理系统是一个典型的数据库应用系统,主要涉及数据的读写和数据的传递,利用数据库Oracle Database 10g软件和Eclipse3.62工具,采用java语言进行开发不存在技术方面的问题。所以,本次课程设计的题目是:图书信息管理系统。首先构思,针对图书信息管理系统进行需求分析和功能分析,然后进入数据库的设计阶段,对其概念设计、逻辑设计、物理设计进行分析。最后实现了其功能模块的详细设计,以上是我的任务安排。下面就是我的具体实践过程安排:一:查阅相关资料,针对系统的需求分析、功能分析二:数据库设计-概念设计(E-R图的设计等)、逻辑设计(表及视图的设计)三:数据库设计-功能模块详细设计关键词 Java oracle 面向对象 图书信息管理系统第2章 系统功能设计思路2.1系统思路设计简介本人设计的图书信息管理系统是图形信息输入和在Java控制台中输入并存。本系统主要用于对图书馆日常工作的管理,主要任务是用计算机图书各种信息进行日常的管理,如增加、修改、删除、查询图书的管理等。本系统实现了图书馆的信息自动化管理,完成了图书管理系统的基本功能,该系统主要是在Java界面的控制台显示其内容,其数据是存储在数据库当中,数据库当中的数据随着界面的操作而随时更新。主要功能是用于书籍信息的管理,新书的入库、图书查询、删除图书、图书修改。2.2系统流程系统图书信息管理流程如下图1所示 结束更新数据库选择菜单选项数据库连接开始系统模块功能结构分析图如图2所示图书管理信息系统 添加图书修改图书退出系统查询图书删除图书图2 注:可以选择所需要的功能模块来实现所要的执行功能如下说明A) 添加图书功能:图书信息存储到数据库当中(主要包括图书的编号、书名、作者、出版社、出版日期、图书简介、图书类别等);B)修改图书功能:把数据库当中存在的图书查找出来,再对其进行修改和存储;C)删除图书功能:对数据库中没有此书和不想存储的图书信息进行删除操作;D)查询图书功能:查询工作人员对图书信息的了解,主要按照图书的编号查询图书信息;第3章 数据库设计3.1数据库需求分析 数据库结构要能充分满足各种信息的输入和输出,收集基本数据,数据结构处理的流程,组成一份详尽的数据字典,为具体设计做准备。针对一般图书管理系统的需求,通过对数据管理工作过程的内容和数据流程的分析,得到其系统的逻辑模型,设计如下数据项和数据结构:l 图书(图书编号,图书名称,作者,出版社,出版日期,图书简介,图书类型)l 用户(用户名,密码)3.2数据库概念结构设计 本系统用到的数据库表的ER图如图3出版日期简介编号种类图书出版社作者书名 图书表information用来保存图书信息,结构如表1表1 图书表information第4章 系统功能实现4.1连接数据库模块设计系统对图书所需要的信息都存储于数据库当中,要对这些数据信息进行操作,就必须连接数据库,为了省去每次操作都要编写连接数据库程序的步骤,我们把连接数据库操作封装到一个类DBhelp.java中,在不同的模块中调用这个类就可以对数据库进行连接,执行相应的数据库操作,这样就使得连接数据库安全高效,程序代码简洁清晰,也符合java面向对象的思想。连接数据库类DBhelp.java的代码如下:package mypackage;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class DBHelp /这部分是数据库连接static final String driver = oracle.jdbc.driver.OracleDriver;static final String user = system;static final String pass = 123;static final String url = jdbc:oracle:thin::1521:xe;/获得connection连接方法public static Connection getConn() Connection conn = null;try Class.forName(driver);conn = DriverManager.getConnection(url, user, pass); catch (ClassNotFoundException e) System.out.println(出现异常! + e.getMessage();/ TODO Auto-generated catch blocke.printStackTrace(); catch (SQLException e) System.out.println(出现异常! + e.getMessage();/ TODO Auto-generated catch blocke.printStackTrace();System.out.println(数据库连接成功!);return conn;/关闭数据库连接方法public static void getClose(Connection conn, PreparedStatement stmt,ResultSet rs) try if (rs != null) rs.close(); else if (stmt != null) stmt.close(); else if (conn != null) conn.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();4.2主界面功能实现在系统的主界面中,包括六个功能(主功能4个):添加图书功能,查询图书功能,删除和修改图书功能。运行界面如图4。图4其技术实现代码具体如下:Scanner buf = new Scanner(System.in);void menu() throws Exception int choice;do System.out.println(数学与计算科学系0801班周小玲设计nn);System.out.println();System.out.println( 图书管理系统主菜单界面 );System.out.println();System.out.println( .输入图书信息 );System.out.println( .预览图书信息 );System.out.println( .查找图书信息 );System.out.println( .删除图书信息 );System.out.println( .修改图书信息 );System.out.println( .安全退出 );System.out.println();System.out.print( 请输入您的选择(1-6):);choice = Integer.parseInt(buf.next();switch (choice) case 1:add();break;case 2:browse();break;case 3:search();break;case 4:delete();break;case 5:update();break;case 6:End();break; while (true);4.3图书添加功能的实现 图书入库是图书管理系统中不可缺少的部分,用于图书入库,通过界面中文本框接受书籍信息,然后将此信息写入到oracle数据库中。运行界面如图5所示,运行成功提示如图6。 图5 图6 其技术实现的代码如下:/ 实现增加(建立)图书信息void add() throws IOException, SQLException Connection conn = DBHelp.getConn();/连接数据库PreparedStatement stmt = null;ResultSet rs = null;System.out.print(n请输入图书信息(以书名为0结束)n);/ 用数组informationi来暂存图书的序号,并用compareTo方法确定判定是否应该写入新信息String name = JOptionPane.showInputDialog(请输入图书名称:);while (pareTo(0) != 0) String id = JOptionPane.showInputDialog(请输入图书编号:);String author = JOptionPane.showInputDialog(请输入图书作者:);String publish = JOptionPane.showInputDialog(请输入图书出版社:);String date = JOptionPane.showInputDialog(请输入出版日期:);String information = JOptionPane.showInputDialog(请输入图书简介:);String kind = JOptionPane.showInputDialog(请输入图书类别:);String sql = insert into INFORMATION(id,name,author,publish,outdate,information,kind)values (+ + id+ ,+ + name+ ,+ + author+ ,+ + publish+,+ + date+ ,+ + information + , + + kind + );stmt = conn.prepareStatement(sql);if (stmt.execute()System.out.println(添加失败);elseSystem.out.println(添加成功);name = JOptionPane.showInputDialog(请输入下一个图书名称:);DBHelp.getClose(conn, stmt, rs);/关闭数据库,释放内存4.4图书浏览功能实现选择菜单运行界面如图7所示。图7其技术实现代码如下: /预览所有图书信息并打印至控制台void browse() try Connection conn = DBHelp.getConn();PreparedStatement book2 = conn.prepareStatement(select * from information);ResultSet rss = book2.executeQuery();/执行SQL select语句,赋值给rssSystem.out.println(-);System.out.println( 图书信息表 );System.out.println(-);System.out.println(图书编号 书名 作者 出版社 出版日期 简介 图书类别 );System.out.println(-);while (rss.next() /ResultSet目前只提供基本的顺序读取数据的能力,而遍历操作通过next()来完成String bnu = rss.getString(1);String bname = rss.getString(2);String bauthor = rss.getString(3);String bpublish = rss.getString(4);String bdate = rss.getString(5);String binformation = rss.getString(6);String bkind = rss.getString(7);System.out.println(bnu+ +bname+ + bauthor + + bpublish + + bdate+ + binformation + + bkind); catch (Exception e) System.out.println(browse函数出现异常: + e.getMessage();4.5图书删除功能实现图书删除用于删除书籍信息,管理员以图书编号查询,然后到oracle数据库中表查询相应的记录,若存在则将此记录信息读出来,将此记录从表中删除。若表中不存在相应的记录,则提示无此书。运行界面如图8所示。(编号2被删除了) 图8其技术具体实现的代码如下:void delete() Connection conn = DBHelp.getConn();PreparedStatement stmt = null;String sql = ;try sql = delete from INFORMATION where id=+ JOptionPane.showInputDialog(请输入你需要删除信息的图书编号:) + ;stmt = conn.prepareStatement(sql);if (!stmt.execute()System.out.println(刪除成功!);else System.out.println(删除失败!);DBHelp.getClose(conn, stmt, null); catch (Exception e) System.out.println(刪除失敗,请核对编号! + e.getMessage();4.6图书信息修改功能实现其主要是通过图书的编号和书名来查询的,其运行界面如图8所示。图8其具体的技术实现代码如下:void update() Connection conn= DBHelp.getConn();PreparedStatement stmt=null;ResultSet rs=null;String id=JOptionPane.showInputDialog(请输入你需要修改信息的图书编号:); String name = JOptionPane.showInputDialog(请输入图书名称:);String author = JOptionPane.showInputDialog(请输入图书作者:);String publish = JOptionPane.showInputDialog(请输入出版社:);String date = JOptionPane.showInputDialog(请输入出版日期:);String information = JOptionPane.showInputDialog(请输入图书简介:);String kind = JOptionPane.showInputDialog(请输入图书类别:);tryString sql=update information set name=+name+,author=+author+,publish=+publish+,outdate=+date+,information=+information+,kind=+kind+ where id=+id+; stmt=conn.prepareStatement(sql); if(stmt.execute() System.out.println(修改失败); else System.out.println(修改成功);catch (Exception e) System.out.println(修改失敗,请核查! + e.getMessage(); DBHelp.getClose(conn, stmt, rs);4.7图书信息查询功能实现 其主要是通过图书的编号和书名来查询某一本图书信息,其运行界面如图9图10图11所示。图9图10图11其主要代码如下:void search() Connection conn = DBHelp.getConn();String sql=null;try String possibleValues = 按编号精确查找, 按书名查找 ;String selectedValue = (String) JOptionPane.showInputDialog(null,选择查找方式:, Input, JOptionPane.INFORMATION_MESSAGE, null,possibleValues, possibleValues0);if (selectedVpareTo(按编号精确查找) = 0) String sid = JOptionPane.showInputDialog(请输入你需要查找信息的图书编号:);sql = select * from INFORMATION where id= + sid + ; else String sid = JOptionPane.showInputDialog(请输入你需要查找信息的图书书名:);sql = select * from INFORMATION where name like % + sid+ % ;PreparedStatement stmt = conn.prepareStatement(sql);ResultSet rss = stmt.executeQuery();System.out.println(-);System.out.println( 图书信息表 );System.out.println(-);System.out.println(书名 图书编号 作者 出版社 出版日期 简介 图书类别 );System.out.println(-);while (rss.next() String bid = rss.getString(1);String bname = rss.getString(2);String bauthor = rss.getString(3);String bpublish = rss.getString(4);String bdate = rss
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-广西-广西殡葬服务工二级(技师)历年参考题库典型考点含答案解析
- 焊工基础知识培训课件看板
- 2025年中级卫生职称-主管技师-核医学技术(中级)代码:377历年参考题库典型考点含答案解析
- 2025年药学职称考试-辽宁省-辽宁省药学(初级药师)历年参考题库含答案解析(5套)
- 热网安全知识培训内容课件
- 2025年职业技能鉴定-冷作工-冷作工职业技能监定(初级)历年参考题库含答案解析(5套)
- 2025年综合评标专家-湖北-湖北综合评标专家(工程施工类)历年参考题库含答案解析(5套)
- 2025年综合评标专家-新疆-新疆综合评标专家(交通运输厅)历年参考题库含答案解析(5套)
- 热水壶消防安全知识培训课件
- 烧结厂安全知识培训课件
- 2025年计算机一级考试题库(附答案)
- 2025年全国统一高考数学试卷(新高考二卷)试卷与答案
- 人卵母细胞成熟度分级
- 2025年高考真题【地理】试卷含答案(全国新课标卷)
- 2025年四川大学生服务基层项目招募考试(医学基础知识)历年参考题库含答案详解(5套)
- 刑法基本原则课件
- 2025年会议接待考试题库
- 2025年贵州省中考英语试卷
- 政府职能边界界定-洞察及研究
- 新疆疫苗管理办法
- 2025年重庆出租车资格证区域考试题库区域考试
评论
0/150
提交评论