图书管理系统设计.docx

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

图书管理系统设计.docx

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

图书管理系统设计.docx

图书管理系统设计

学年论文

(课程论文、课程设计)

 

题  目:

 图书管理系统 

作  者:

  

所在学院:

专业年级:

指导教师:

职  称:

   

 

2013年07月03日

1、问题描述

对图书馆图书管理流程进行设计一个能对图书、读者及图书借阅情况进行管理的图书馆管理系统。

要求该系统能满足管理人员对图书管理以及读者借阅需要,根据权限不同,用户具有不同的功能和操作界面。

1.1用户需求说明

本次数据库小学期的任务是设计与实现一个图书管理系统,该系统要求实现以下功能:

通过对现行图书馆业务的调查,明确了图书馆工作由图书管理、读者管理、借书服务和还书服务4部分组成。

用户对现有系统功能的描述如下:

(1)图书管理

1)对馆内的所有图书按类别统一编码;对各类图书建立图书登记卡,登记图书的主要信息。

2)新购的图书要编码和建卡,对遗失的图书要注销其图书登记卡。

(2)读者管理

1)建立读者信息表,对读者统一编号。

2)对新加盟的读者,将其信息加入到读者信息表中;对某些特定的读者,将其信息从读者信息表中删除。

3)当读者情况变化时,修改读者信息表中相应的记录。

(3)借书服务

1)未借出的图书要按类别上架,供读者查看。

2)建立借书登记卡,卡上记录着书号、读者姓名和编号、借书日期;将借书登记卡按用户单位、读者编号集中保管。

3)读者提出借书请求时,先查看该读者的借书卡,统计读者已借书的数量。

如果该读者无借书超期或超量情况,办理借书手续。

4)办理借书手续的方法是:

填写借书登记卡,管理员核实后读者可将图书带走。

(4)还书服务

1)读者提出还书要求时,先对照相应的借书卡,确认书号和书名无误后可办理还书手续。

2)办理还书手续的方法是:

在借书卡上填写还书时间,管理员签名;将已还的借书卡保管;收回图书。

3)将收回的图书上架,供读者查看和借阅。

2需求分析说明书

2.1数据流图

系统数据流图如下图所示,其中图1为顶层数据流图,图2、为第二层数据流图,图3为第三层数据流图。

(1)顶层数据流图

图1顶层数据流图

(2)第二层数据流图

图2第二层数据流图

(3)第三层数据流图

图3.1图书管理细化

图3.2借书管理细化

图3.3读者管理细化

2.2数据字典

下面对数据流图中的数据处理、数据流、数据存储等做进一步的说明。

1)数据项

经系统分析,图书管理系统的数据流图中所涉及的基本数据项如表1。

表1数据项

名称

描述

类型

格式

备注

管理员

用户名

管理员登录帐号

Varchar(50)

Xiaoming

密码

登录密码

Int

级别

登录该系统的级别

Vachar(20)

职工号

管理员的唯一编号

Int

职工名

管理员姓名

vachar

读者

姓名

读者名

Varchar

小明

编号

读者编号

Int

性别

Varchar

单位

Varchar

电话

Int

123456789125

图书

书号

Int

01

书名

Varchar

狂人日记

作者

Varchar

鲁迅

类别

Varchar

小说

出版社

Varchar

中国人民出版社

是否借出

Varchar

是/否

定价

Int

20.0

借书日期

datetime

2013-02-05

还书日期

datetime

2013-02-05

2)数据存储

经系统分析,图书管理系统的数据流图中所涉及的数据存储的说明如表2。

表2数据存储

名称

描述

组成

图书信息表

供读者方便查询图书信息

书号,类别,出版社,作者,书名,定价

图书借还情况表

图书的借出和归还情况

书号,读者编号,借书日期,还书日期,借书经办人,还书经办人

读者信息表

读者的信息

编号,姓名,单位,性别,电话

3)数据处理

经系统分析,图书管理系统的数据流图中所涉及的数据处理如表3

表3数据处理

名称

输入

处理

输出

录入

图书信息

需要录入的信息

a.)输入需要录入的信息

b.)若不存在,录入此信息

c.)若存在,说明该信息已经存在

d.)退出

录入信息是否成功

录入

读者信息

需要录入的信息

a.)输入需要录入的信息

b.)若不存在,录入此信息

c.)若存在,说明该信息已经存在

d.)退出

录入信息是否成功

录入

管理员信息

需要录入的信息

a.)输入需要录入的信息

b.)若不存在,录入此信息

c.)若存在,说明该信息已经存在

d.)退出

录入信息是否成功

查询

图书信息

需要查询的信息

a.)查询信息

b.)是否有此信息

c.)若有,点击查询,

d.)若没有,退出

查询

读者信息

需要查询的信息

a.)查询信息

b.)是否有此信息

c.)若有,点击查询,

d.)若没有,退出

修改

图书信息

需要修改的信息

a.)用户登录

b.)输入需修改的信息

c.)是否有权限修改

d.)若有权限,修改;否则退出

是否修改成功

修改

读者信息

需要修改的信息

a.)用户登录

b.)输入需修改的信息

c.)是否有权限修改

d.)若有权限,修改;否则退出

是否修改成功

删除

图书信息

需删除的信息

a.)输入此信息看它是否存在

b.)若存在,删除此信息

c.)若不存在,说明该信息不存在

d.)退出

图书信息删除是否成功

删除

读者信息

需删除的信息

a.)输入此信息看它是否存在

b.)若存在,删除此信息

c.)若不存在,说明该信息不存在

d.)退出

读者信息删除是否成功

选书

书本编号

a.)查询书本编号

b.)是否借出

c.)借出,则不能借

d.)未借出,能借

e.)退出

选课是否成功

 

概念模型设计

3.1识别实体间的联系

关系属性的设计包括属性名、数据类型、数据长度、该属性是否允许空值、是否为主码、是否为索引项及约束条件。

下面列出了图书读者库各表的属性设计情况的E-R图。

(如图4)

图4E-R图

3.2识别实体及实体的属性

将图书馆管理系统的E-R图转换为关系数据库的数据模型,其关系模式为:

图书(书号,类别,出版社,作者,书名,定价,借出否);

读者(编号,姓名,单位,性别,电话);

借阅(书号,读者编号,借书日期,还书日期,借书经办人,还书经办人)。

其中标注下划线的属性为主码。

4关系模型设计

4.1ER模型向关系模型的转换

根据概念模型向关系模型转换原则,可将系统的ER模型(图4)转换为下面五个关系:

读者reader(编号Rno,姓名Rname,性别Rsex,单位Rtitle、电话Rtel)

图书book(书号Bno、书名Bname、作者Bwriter、借出否Byes/no)

经办借阅RB(借书日期、还书日期)

4.2关系模式的优化

关系模型的优化过程包括数据依赖、确定范式级别并对关系模式进行必要的分解,最终得到合理的关系模型。

对于图书馆里系统分为以下关系模式:

管理员(用户登录名,密码,级别,职工编号,职工名);图书(书号,类别,出版社,作者,书名,定价,借出否);

读者(编号,姓名,单位,性别,电话);借阅(书号,读者编号,借书日期,还书日期,借书经办人,还书经办人)的分析得出属性之间存在下述函数依赖关系:

关系模式R的每一个属性值是不可再分的,因此每个关系模式均满足第一范式。

图书(书号,类别,出版社,作者,书名,定价,借出否)上存在函数依赖F:

书号—>(类别,出版社,作者,书名,定价,借出否),主键书号是单属性不存在子集指向非主属性,且每个非主属性完全依赖于码,因此满足第二范式。

且每一个非主属性对任何候选码都不存在传递依赖关系,所以满足第三范式。

读者(编号,姓名,单位,性别,电话)上存在函数依赖F:

编号—>(姓名,单位,性别,电话),主键书号是单属性不存在子集指向非主属性,且每个非主属性完全依赖于码,因此满足第二范式。

且每一个非主属性对任何候选码都不存在传递依赖关系,所以满足第三范式。

借阅(书号,读者编号,借书日期,还书日期,借书经办人,还书经办人)上存在函数依赖F:

书号,读者编号—>(,借书日期,还书日期,借书经办人,还书经办人),候选码的子集书号与其他非主属性不存在函数依赖,候选码的子集读者编号与其他非主属性不存在函数依赖,所以候选键书号,读者编号与其他非主属性之间不存在部分函数依赖,因此满足第二范式。

且每一个非主属性对任何候选码都不存在传递依赖关系,所以满足第三范式。

5.系统实现

在本次设计中图书管理系统系统有登录模块,图书信息修改,录入和删除模块的实现。

5.1界面设计

我们组实现的是图书管理系统系统。

对于图书管理系统的实现,有明确的分工。

删除模块

图10删除界面

图11删除确认界面

 

图12删除成功界面

 

6.关键代码

(1)删除登录模块的主要代码如下:

classDeleteextendsJDialogimplementsActionListener{

JLabelinput;

JTextFieldinputNumber;

Objectname[]={"编号","书名","出版社","出版日期"};

Objecta[][]=newObject[1][4];

JTabletable;

JButtondelete;

JPanelpane=newJPanel();

Connectioncon;

Statementsql;

ResultSetrs;

Stringnum;

Delete(){

 

input=newJLabel("请输入删除书的编号:

(以回车结束)");

inputNumber=newJTextField(20);

delete=newJButton("删除");

table=newJTable(a,name);

 

pane.add(input);

pane.add(inputNumber);

add(pane,BorderLayout.NORTH);

add(table,BorderLayout.CENTER);

add(delete,BorderLayout.SOUTH);

inputNumber.addActionListener(this);

delete.addActionListener(this);

setBounds(100,100,800,300);

setVisible(true);

}

publicvoidactionPerformed(ActionEvente){

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}catch(ClassNotFoundExceptioneee){

System.out.println(""+eee);

}

try{

num=inputNumber.getText().trim();

con=DriverManager.getConnection("jdbc:

odbc:

feng","fyl","1111");

sql=con.createStatement();

rs=sql.executeQuery("SELECT*FROMinsertBookwhere编号='"+num+"'");

booleanboo=rs.next();

if(boo==false){

JOptionPane.showMessageDialog(this,"编号不存在","提示",JOptionPane.WARNING_MESSAGE);

}

else{

a[0][0]=rs.getString

(1);

a[0][1]=rs.getString

(2);

a[0][2]=rs.getString(3);

a[0][3]=rs.getString(4);

table.repaint();

if(e.getSource()==delete){

intn=JOptionPane.showConfirmDialog(this,"确认要删除吗?

","确认对话框",JOptionPane.YES_OPTION);

if(n==JOptionPane.YES_OPTION){

sql=con.createStatement();

intk=sql.executeUpdate("DELETEFROMinsertBookWHERE编号='"+num+"'");

if(k==1)

{JOptionPane.showMessageDialog(this,"删除成功!

","删除",JOptionPane.PLAIN_MESSAGE);

setVisible(false);

}

else{

JOptionPane.showMessageDialog(this,"删除失败!

","删除",JOptionPane.ERROR_MESSAGE);

setVisible(false);

}

}

}

}

con.close();

}catch(SQLExceptionee){

System.out.println(ee);

}

}

}

1总结

通过本次课程设计,我对数据库的应用有了更深刻的体会。

网络系统都是离不开数据库的支持的。

数据库设计的是否合理,直接影响到系统的性能。

数据库理论对于实际应用有很大的指导意义。

本次课程设计的名称是图书管理系统,通过一周的学习,研究和开发,我选择的课题图书管理系统基本完成。

其功能基本符合网络上的用户要求,用户能够查询图书,浏览图书,管理员能够修改图书,添加课程,管理读者信息等。

尽管由于自己知识上的不足,有些地方有少许错误和容错性能比较低,但是还是可以基本完成图书管理系统应有的功能。

总的来说还是收获很大的,因为通过这次的团队合作,我首先对Java知识有了很深的了解,就是对数据库系统的分析和设计也有了很深的体会,虽然我们设计的数据库系统可能很有些不合理的地方,但是我们却很有收获。

可以说我们的这次系统是做的比较丑陋,功能还有很多不完善的地方,但是我可以说我们的收获很多。

我学到了以前没有学过的很多知识,这也是在大学期间里第一次比较完整的完成了一个小项目,虽然过程中遇到了许多困难,在同学和老师的帮助下一一克服了。

通过不断的发现问题,总结问题和解决问题的过程,使我在此次数据库作业设计中不断的提高,也使我对Java程序设计有了更深层次的认识和理解,懂得了灵活运用Java这个工具。

在计算机飞速发展的今天,懂得一门计算机语言技术是非常必要的。

同时,我们也清醒的认识到,只有自己肯努力,愿意去付出劳动,就能够得到属于我们自己所期望的东西。

尽管还是有许多的不完善之处,但是总的说来收获颇多。

最后,在此由衷的向我的指导老师表示衷心的感谢,是她的悉心指导和严格要求,才使我的课程设计有了较为完善的一面,最重要的是让我的能力得到了充分的锻炼。

 

新疆大学课程论文(设计)、学年论文评分表

题目

图书管理系统

作者

专业年级

指导教师

指导教师评语及

评分建议

 

指导教师:

年月日

(部)

同意指导老师的评阅意见。

 

学院或教研室主任:

年月日

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

当前位置:首页 > 高中教育 > 英语

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

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