课程设计图书信息管理系统1.docx

上传人:b****5 文档编号:4962755 上传时间:2022-12-12 格式:DOCX 页数:19 大小:168.34KB
下载 相关 举报
课程设计图书信息管理系统1.docx_第1页
第1页 / 共19页
课程设计图书信息管理系统1.docx_第2页
第2页 / 共19页
课程设计图书信息管理系统1.docx_第3页
第3页 / 共19页
课程设计图书信息管理系统1.docx_第4页
第4页 / 共19页
课程设计图书信息管理系统1.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

课程设计图书信息管理系统1.docx

《课程设计图书信息管理系统1.docx》由会员分享,可在线阅读,更多相关《课程设计图书信息管理系统1.docx(19页珍藏版)》请在冰豆网上搜索。

课程设计图书信息管理系统1.docx

课程设计图书信息管理系统1

湖南科技学院

课程设计报告

 

课程名称:

面向对象程序设计课程设计

课程设计题目:

图书信息管理系统

系:

数学与计算科学系

专业:

信息与计算科学

年级、班:

2008级1班

姓名:

XXX

学号:

XXXXXXX

指导教师:

牛志毅

职称:

讲师

 

2011年6月

 

自我评分

我的自我评分是80,下面是我评分的理由。

首先,我在老师给的程序上完善了图书管理系统的一些基本功能,如增加、修改、删除、查询,其中查询功能,我添加了一个函数,JOptionPane.showInputDialog(null,"选择查找方式:

","Input",JOptionPane.INFORMATION_MESSAGE,null,possibleValues,possibleValues[0]);实现了可以按多种方式查找,如按图书编号,按图书名称,但此时主要是在Java界面的控制台显示其内容。

然后,我通过查阅书籍,上网查询,添加了函数JOptionPane.showInputDialog("…………"),实现了简单的图像界面,但因为时间跟水平有限,所以图行界面效果尚未没达到预期的目标。

最后,我将数据存储在数据库(OracleDatabase10g)中,通过本地协议纯Java驱动程序,连接了数据库,使其数据库当中的数据随着界面的操作而随时更新。

用java.sql.PreparedStatement这个java.sql.Statement接口的一个变种,可以使用参数化SQL语句,用java.sql.ResultSet这个接口抽象了运行SQLselect语句的结果,提供了访问结果的方法,这个接口可以用来来访问各记录中不同的字段。

 

目录

自我评分...........................................................I

第1章摘要.........................................................1

第2章系统功能介绍..................................................1

2.1系统思路设计简介...........................................1

2.2系统流程...................................................2

第3章数据库设计....................................................2

3.1数据库需求分析.............................................2

3.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章参考文献....................................................14

 

第1章摘要

在当今这个知识经济时代,知识的大爆炸带来了图书业的大发展,图书数量急剧增加,时间的增长,再查询时就需要在众多的资料中查找,费时费力,手工操作使得图书的信息管理工作混乱而复杂。

基于这个问题,开发一个智能的、操作简单的、使用方便的图书信息管理系统是非常有必要的,而本系统需要实现也正是图书信息管理系统的基本功能。

图书信息管理系统主要具备书籍管理的基本功能——将图书信息存储于系统的数据库当中,管理员可以添加新图书、修改错误的图书和删除不存在的图书,并可以查阅图书信息的情况。

图书信息管理系统是一个典型的数据库应用系统,主要涉及数据的读写和数据的传递,利用数据库OracleDatabase10g软件和Eclipse3.62工具,采用java语言进行开发不存在技术方面的问题。

所以,本次课程设计的题目是:

图书信息管理系统。

首先构思,针对图书信息管理系统进行需求分析和功能分析,然后进入数据库的设计阶段,对其概念设计、逻辑设计、物理设计进行分析。

最后实现了其功能模块的详细设计,以上是我的任务安排。

下面就是我的具体实践过程安排:

一:

查阅相关资料,针对系统的需求分析、功能分析

二:

数据库设计-------概念设计(E-R图的设计等)、逻辑设计(表及视图的设计)

三:

数据库设计-------功能模块详细设计

关键词Javaoracle面向对象图书信息管理系统

第2章系统功能设计思路

2.1系统思路设计简介

本人设计的图书信息管理系统是图形信息输入和在Java控制台中输入并存。

本系统主要用于对图书馆日常工作的管理,主要任务是用计算机图书各种信息进行日常的管理,如增加、修改、删除、查询图书的管理等。

本系统实现了图书馆的信息自动化管理,完成了图书管理系统的基本功能,该系统主要是在Java界面的控制台显示其内容,其数据是存储在数据库当中,数据库当中的数据随着界面的操作而随时更新。

主要功能是用于书籍信息的管理,新书的入库、图书查询、删除图书、图书修改。

2.2系统流程

系统图书信息管理流程如下图1所示

系统模块功能结构分析图如图2所示

 

图2

注:

可以选择所需要的功能模块来实现所要的执行功能如下说明

A)添加图书功能:

图书信息存储到数据库当中(主要包括图书的编号、书名、作者、出版社、出版日期、图书简介、图书类别等);

B)修改图书功能:

把数据库当中存在的图书查找出来,再对其进行修改和存储;

C)删除图书功能:

对数据库中没有此书和不想存储的图书信息进行删除操作;

D)查询图书功能:

查询工作人员对图书信息的了解,主要按照图书的编号查询图书信息;

第3章数据库设计

3.1数据库需求分析

数据库结构要能充分满足各种信息的输入和输出,收集基本数据,数据结构处理的流程,组成一份详尽的数据字典,为具体设计做准备。

针对一般图书管理系统的需求,通过对数据管理工作过程的内容和数据流程的分析,得到其系统的逻辑模型,设计如下数据项和数据结构:

●图书(图书编号,图书名称,作者,出版社,出版日期,图书简介,图书类型)

●用户(用户名,密码)

3.2数据库概念结构设计

本系统用到的数据库表的E—R图如图3

 

 

图书表information用来保存图书信息,结构如表1

表1图书表information

第4章系统功能实现

4.1连接数据库模块设计

系统对图书所需要的信息都存储于数据库当中,要对这些数据信息进行操作,就必须连接数据库,为了省去每次操作都要编写连接数据库程序的步骤,我们把连接数据库操作封装到一个类DBhelp.java中,在不同的模块中调用这个类就可以对数据库进行连接,执行相应的数据库操作,这样就使得连接数据库安全高效,程序代码简洁清晰,也符合java面向对象的思想。

连接数据库类DBhelp.java的代码如下:

packagemypackage;

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

publicclassDBHelp{

//这部分是数据库连接

staticfinalStringdriver="oracle.jdbc.driver.OracleDriver";

staticfinalStringuser="system";

staticfinalStringpass="123";

staticfinalStringurl="jdbc:

oracle:

thin:

@0.0.0.0:

1521:

xe";

//获得connection连接方法

publicstaticConnectiongetConn(){

Connectionconn=null;

try{

Class.forName(driver);

conn=DriverManager.getConnection(url,user,pass);

}catch(ClassNotFoundExceptione){

System.out.println("出现异常!

"+e.getMessage());

//TODOAuto-generatedcatchblock

e.printStackTrace();

}catch(SQLExceptione){

System.out.println("出现异常!

"+e.getMessage());

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

System.out.println("数据库连接成功!

");

returnconn;

}

//关闭数据库连接方法

publicstaticvoidgetClose(Connectionconn,PreparedStatementstmt,

ResultSetrs){

try{

if(rs!

=null){

rs.close();

}elseif(stmt!

=null){

stmt.close();

}elseif(conn!

=null){

conn.close();

}

}catch(SQLExceptione){

//TODOAuto-generatedcatchblock

e.printStackTrace();

}

}

}

4.2主界面功能实现

在系统的主界面中,包括六个功能(主功能4个):

添加图书功能,查询图书功能,删除和修改图书功能。

运行界面如图4。

图4

其技术实现代码具体如下:

Scannerbuf=newScanner(System.in);

voidmenu()throwsException{

intchoice;

do{

System.out.println("☆★☆★☆★☆数学与计算科学系0801班★周小玲★设计★☆★☆★☆\n\n");

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){

case1:

add();

break;

case2:

browse();

break;

case3:

search();

break;

case4:

delete();

break;

case5:

update();

break;

case6:

End();

break;

}

}while(true);

}

 

4.3图书添加功能的实现

图书入库是图书管理系统中不可缺少的部分,用于图书入库,通过界面中文本框接受书籍信息,然后将此信息写入到oracle数据库中。

运行界面如图5所示,运行成功提示如图6。

图5

图6

其技术实现的代码如下:

//实现增加(建立)图书信息

voidadd()throwsIOException,SQLException{

Connectionconn=DBHelp.getConn();//连接数据库

PreparedStatementstmt=null;

ResultSetrs=null;

System.out.print("\n请输入图书信息(以书名为0结束)\n");

//用数组information[i]来暂存图书的序号,并用compareTo方法确定判定是否应该写入新信息

Stringname=JOptionPane.showInputDialog("请输入图书名称:

");

while(pareTo("0")!

=0){

Stringid=JOptionPane.showInputDialog("请输入图书编号:

");

Stringauthor=JOptionPane.showInputDialog("请输入图书作者:

");

Stringpublish=JOptionPane.showInputDialog("请输入图书出版社:

");

Stringdate=JOptionPane.showInputDialog("请输入出版日期:

");

Stringinformation=JOptionPane.showInputDialog("请输入图书简介:

");

Stringkind=JOptionPane.showInputDialog("请输入图书类别:

");

Stringsql="insertintoINFORMATION(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("添加失败");

else

System.out.println("添加成功");

name=JOptionPane.showInputDialog("请输入下一个图书名称:

");

}

DBHelp.getClose(conn,stmt,rs);//关闭数据库,释放内存

}

4.4图书浏览功能实现

选择菜单运行界面如图7所示。

图7

其技术实现代码如下:

//预览所有图书信息并打印至控制台

voidbrowse(){

try{

Connectionconn=DBHelp.getConn();

PreparedStatementbook2=conn.prepareStatement("select*frominformation");

ResultSetrss=book2.executeQuery();//执行SQLselect语句,赋值给rss

System.out

.println("-------------------------------------------------------------------------------");

System.out

.println("★★★图书信息表★★★");

System.out

.println("-------------------------------------------------------------------------------");

System.out

.println("图书编号书名作者出版社出版日期简介图书类别");

System.out

.println("-------------------------------------------------------------------------------");

while(rss.next()){//ResultSet目前只提供基本的顺序读取数据的能力,而遍历操作通过next()来完成

Stringbnu=rss.getString

(1);

Stringbname=rss.getString

(2);

Stringbauthor=rss.getString(3);

Stringbpublish=rss.getString(4);

Stringbdate=rss.getString(5);

Stringbinformation=rss.getString(6);

Stringbkind=rss.getString(7);

System.out.println(bnu+""+bname

+""+bauthor+""

+bpublish+""+bdate

+""+binformation+""

+bkind);

}

}catch(Exceptione){

System.out.println("browse函数出现异常:

"+e.getMessage());

}

}

4.5图书删除功能实现

图书删除用于删除书籍信息,管理员以图书编号查询,然后到oracle数据库中表查询相应的记录,若存在则将此记录信息读出来,将此记录从表中删除。

若表中不存在相应的记录,则提示无此书。

运行界面如图8所示。

(编号2被删除了)

图8

其技术具体实现的代码如下:

voiddelete(){

Connectionconn=DBHelp.getConn();

PreparedStatementstmt=null;

Stringsql="";

try{

sql="deletefromINFORMATIONwhereid='"

+JOptionPane.showInputDialog("请输入你需要删除信息的图书编号:

")+"'";

stmt=conn.prepareStatement(sql);

if(!

stmt.execute())

System.out.println("刪除成功!

");

else{

System.out.println("删除失败!

");

}

DBHelp.getClose(conn,stmt,null);

}catch(Exceptione){

System.out.println("刪除失敗,请核对编号!

"+e.getMessage());

}

}

4.6图书信息修改功能实现

其主要是通过图书的编号和书名来查询的,其运行界面如图8所示。

图8

其具体的技术实现代码如下:

voidupdate(){

Connectionconn=DBHelp.getConn();

PreparedStatementstmt=null;

ResultSetrs=null;

Stringid=JOptionPane.showInputDialog("请输入你需要修改信息的图书编号:

");

Stringname=JOptionPane.showInputDialog("请输入图书名称:

");

Stringauthor=JOptionPane.showInputDialog("请输入图书作者:

");

Stringpublish=JOptionPane.showInputDialog("请输入出版社:

");

Stringdate=JOptionPane.showInputDialog("请输入出版日期:

");

Stringinformation=JOptionPane.showInpu

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

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

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