图书管理系统设计Word格式.docx
《图书管理系统设计Word格式.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
(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)
职工号
管理员的唯一编号
职工名
管理员姓名
vachar
读者
姓名
读者名
Varchar
小明
编号
读者编号
性别
单位
电话
123456789125
图书
书号
01
书名
狂人日记
作者
鲁迅
类别
小说
出版社
中国人民出版社
是否借出
是/否
定价
20.0
借书日期
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.)若不存在,说明该信息不存在
图书信息删除是否成功
读者信息删除是否成功
选书
书本编号
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);
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){
intk=sql.executeUpdate("
DELETEFROMinsertBookWHERE编号='
if(k==1)
{JOptionPane.showMessageDialog(this,"
删除成功!
JOptionPane.PLAIN_MESSAGE);
setVisible(false);
else{
删除失败!
JOptionPane.ERROR_MESSAGE);
con.close();
}catch(SQLExceptionee){
System.out.println(ee);
1总结
通过本次课程设计,我对数据库的应用有了更深刻的体会。
网络系统都是离不开数据库的支持的。
数据库设计的是否合理,直接影响到系统的性能。
数据库理论对于实际应用有很大的指导意义。
本次课程设计的名称是图书管理系统,通过一周的学习,研究和开发,我选择的课题图书管理系统基本完成。
其功能基本符合网络上的用户要求,用户能够查询图书,浏览图书,管理员能够修改图书,添加课程,管理读者信息等。
尽管由于自己知识上的不足,有些地方有少许错误和容错性能比较低,但是还是可以基本完成图书管理系统应有的功能。
总的来说还是收获很大的,因为通过这次的团队合作,我首先对Java知识有了很深的了解,就是对数据库系统的分析和设计也有了很深的体会,虽然我们设计的数据库系统可能很有些不合理的地方,但是我们却很有收获。
可以说我们的这次系统是做的比较丑陋,功能还有很多不完善的地方,但是我可以说我们的收获很多。
我学到了以前没有学过的很多知识,这也是在大学期间里第一次比较完整的完成了一个小项目,虽然过程中遇到了许多困难,在同学和老师的帮助下一一克服了。
通过不断的发现问题,总结问题和解决问题的过程,使我在此次数据库作业设计中不断的提高,也使我对Java程序设计有了更深层次的认识和理解,懂得了灵活运用Java这个工具。
在计算机飞速发展的今天,懂得一门计算机语言技术是非常必要的。
同时,我们也清醒的认识到,只有自己肯努力,愿意去付出劳动,就能够得到属于我们自己所期望的东西。
尽管还是有许多的不完善之处,但是总的说来收获颇多。
最后,在此由衷的向我的指导老师表示衷心的感谢,是她的悉心指导和严格要求,才使我的课程设计有了较为完善的一面,最重要的是让我的能力得到了充分的锻炼。
新疆大学课程论文(设计)、学年论文评分表
题目
图书管理系统
作者
专业年级
指导教师
指导教师评语及
评分建议
年月日
院
(部)
或
教
研
室
意
见
同意指导老师的评阅意见。
学院或教研室主任: