图书管理系统课程设计报告.docx
- 文档编号:9142669
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:30
- 大小:341.12KB
图书管理系统课程设计报告.docx
《图书管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《图书管理系统课程设计报告.docx(30页珍藏版)》请在冰豆网上搜索。
图书管理系统课程设计报告
《管理信息系统》
课程设计报告书
设计题目:
图书管理系统
专业:
计算机科学与技术班级:
学生姓名:
学号:
指导教师:
2014年6月
信息工程学院
摘要
图书馆管理系统是采用Java做前台,后台数据库则采用的是SQLServer2008,本系统提供6个功能模块,分别是图书类别管理模块、图书信息管理模块、读者信息管理模块、新书订购管理模块、图书借阅模块,以及系统维护模块。
这6个模块里又有许多子模块,通过这些模块之间的相互连接与配合,完成操作员发出的各种指令。
图书馆管理系统是一个供内部人员使用的系统。
而图书馆的工作人员也分为两类,一类是操作人员,主要负责图书的借阅和归还的工作;一类是管理员,除了操作人员的所有功能外,还能够对书籍列表、书籍信息、读者信息等进行管理。
此设计的图书馆管理系统的系统功能和业务流程,并对系统进行详细的数据分析和设计采用SQLServer2008数据库作为后台数据库,java作为前台的开发语言
关键词:
管理信息系统图书馆管理系统JavaSQLServer2008
第一章绪论
1.1管理信息系统概述
定义:
所谓MIS(管理信息系统--ManagementInformationSystem)系统,现代管理信息系统是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以企业战略竞优、提高效益和效率为目的,支持企业的高层决策、中层控制、基层运作的集成化的人机系统。
特点:
1.面向管理决策
2.综合性
3.人机系统
4.现代管理方法和手段相结合的系统
5.多学科交叉的边缘科学
功能:
(1)数据处理功能
(2)预测功能
(3)计划功能
(4)控制功能
(5)辅助决策功能
1.2课题背景
当今由于信息技术的飞速发展,图书馆作为社会知识信息媒介的功能日益重要,网络环境下的信息资源建设知识仓库的设计,开放存取学术交流模式,知识管理系统,智能检索,数字参考咨询,数字图书馆领域成为图书馆系统的研究方向。
管理发展至今,综合发展的整体趋势已日渐明显。
引进新方法,吸收新思想是促进图书馆系统发展的必要条件。
因此,图书馆系统的研究要坚持理论与技术相融合,开展跨学科的交叉研究;要坚持理论与实践相结合,面对现实,回答现实所提出的最迫切的问题;要坚持基础研究和应用研究,前者对后者起指导作用,后者反过来对前者起丰富和发展的作用;要正确处理现实、历史、理论三者之间的关系,这是推进管理系统研究的重要方法
第二章需求分析
2.1功能需求
图书馆管理系统有6个功能模块,分别是图书类别管理模块,图书信息管理模块,读者信息管理模块,新书订购管理模块,图书借阅模块以及系统维护模块。
其中各功能模块的具体说明如下:
图书类别管理模块:
该模块主要负责管理图书馆的图书种类信息,如图书种类的名称、图书类别编号等信息。
图书信息管理模块:
该模块主要负责管理图书馆的图书信息,如图书编号、图书名称、作者、出版社等信息。
读者信息管理模块:
该模块主要负责管理图书馆的读者信息,如读者编号、读者姓名等信息。
图书订购管理模块:
该模块主要负责管理图书馆的新书订购信息,包括新书的基本信息。
图书借阅管理模块:
该模块主要负责图书馆的书籍借阅和归还信息,包括图书借阅、图书搜索2个子模块。
系统维护模块:
该模块主要负责图书馆的工作人员信息,包括用户管理和更改系统口令两个子模块。
2.2系统用例图设计
图书馆管理系统是一个内部人员使用的系统,也就是说不是所有的人都能够使用它,只有图书馆的工作人员才能使用。
而图书馆的工作人员也分为两类,一类是操作人员,主要负责图书的借阅和归还的工作;一类是管理员,除了操作人员的所有功能外,还能够对书籍列表,书籍信息,读者信息等进行管理。
下面以管理员为例绘制其所对应的用例图如图2.2所示。
图2.2管理员用例图
2.3绘制系统流程图
本系统首先需要对用户的身份进行识别,只有合法的用户才能进入系统,否则将无法进入系统。
进入系统后,首先打开系统主窗体,在系统首页的菜单栏或者功能区可以选择各种导航链接来进行各种操作。
由于不同权限的用户对于系统有不同的功能,下面以功能最多的管理员为例,其系统流程图如图2.3所示。
图2.3系统流程图
2.4系统的开发环境
图书馆管理系统的具体开发环境要求如下:
(1)系统开发平台:
Eclipse。
(2)数据库管理系统软件:
SQLServer2008。
(3)运行平台:
Windows7。
(4)Java开发包:
JDK5.0以上。
(5)分辨率:
800×600以上。
第三章相关技术介绍
3.1前台开发工具语言
Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。
由SUN公司1995年推出。
特点:
封装、多态、继承三大特点。
3.2数据库简介
SQLServer2008在Microsoft的数据平台上发布,可以组织管理任何数据。
可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。
可以对数据进行查询、搜索、同步、报告和分析之类的操作。
数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。
SQLServer2008允许使用Microsoft.NET和visualstudio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过MicrosoftBizTalkServer进行的业务流程中使用数据。
信息工作人员可以通过日常使用的工具直接访问数据
特点:
·可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
·高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。
·智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息
第四章系统模型构建
4.1系统用例图设计
图书馆管理系统是一个内部人员使用的系统,也就是说不是所有的人都能够使用它,只有图书馆的工作人员才能使用。
而图书馆的工作人员也分为两类,一类是操作人员,主要负责图书的借阅和归还的工作;一类是管理员,除了操作人员的所有功能外,还能够对书籍列表,书籍信息,读者信息等进行管理。
下面以管理员为例绘制其所对应的用例图如图1.1所示。
图1.1管理员用例图
4.2绘制系统流程图
本系统首先需要对用户的身份进行识别,只有合法的用户才能进入系统,否则将无法进入系统。
进入系统后,首先打开系统主窗体,在系统首页的菜单栏或者功能区可以选择各种导航链接来进行各种操作。
由于不同权限的用户对于系统有不同的功能,下面以功能最多的管理员为例,其系统流程图如图1.2所示。
图1.2系统流程图
4.3数据库概念设计
本系统一共设计规划出6个实体,分别是图书类别信息实体、图书信息实体、读者信息实体、操作员实体、图书借阅信息实体以及图书订购信息实体。
图书的类别有很多,因此可以建立一个图书馆类别信息表,专门用来保存图书的类别信息。
图书类别信息实体E-R图如图4.3.1所示。
图4.3.1图书类别信息实体E-R图
对于图书馆来说最重要的就是要管理其下的书籍,所以需要建立一个图书信息表,用来保存图书的所有信息。
图书信息实体E-R图如图4.3.2所示。
图4.3.2图书信息实体E-R图
要想在图书馆借书首先需要进行登记。
所以需要建立一个读者信息表来保存图书馆的所有读者的登记信息。
读者信息实体E-R图如图4.3.3所示。
图4.3.3读者信息实体E-R图
图书馆里一般有一个以上的系统操作员,需要建立一个操作员信息表,用来保存操作员的身份信息。
操作员信息实体E-R图如图4.3.4所示。
图4.3.4操作员信息实体E-R图
图书馆最大的功能就是能够借书,这时需要建立一个图书借阅信息表,用来保存读者的借书信息。
图书的借阅信息实体E-R图如图4.3.5所示。
图4.3.5图书的借阅信息实体E-R图
图书馆除了借书,还需要到出版社或其他代理商订购新书,这是需要建立一个图书订购信息表,用来保存所有的订购信息。
图书订购信息实体E-R图如图4.3.6所示。
图4.3.6图书订购信息实体E-R图
4.4数据逻辑结构设计
根据设计好的各实体E-R图创建数据库的逻辑结构,本系统采用了送了SQLServer2008数据库,数据库名称为library.数据库library包含以下6个表:
图书信息表book_inf、图书管理员表book_user、图书类别表book_kinds、读者信息表book_reader、图书订购表bookadd、图书借阅表book_borrow
数据库各表的结构如下:
(1)图书信息表book_inf用来储存所有的图书信息,包括图书编号、类别编号、图书名称、作者、数量、出版社、以及书籍价格7个字段。
该表的逻辑结构如表4.4.1所示。
表4.4.1图书信息表
字段名
数据类型
是否主键
描述
book_id
文本(varchar)
是
图书编号
book_sid
整数(int)
否(外键)
类别编号
book_name
文本(varchar)
否
图书名称
book_writer
文本(varchar)
否
作者
book_publish
文本(varchar)
否
出版社
book_number
整数(int)
否
数量
book_price
整数(int)
否
书籍价格
(2)图书管理员表book_user用来保存操作员信息,包括操作员编号、用户名、是否为管理员、密码4个字段。
该表的逻辑结构如表4.4.2所示。
表4.4.2操作员信息表
字段名
数据类型
是否主键
描述
user_id
整数(int)
是(自动递增)
操作员编号
user_name
文本(varchar)
否
用户名
user_limits
文本(varchar)
否
是否为管理员
user_password
文本(varchar)
否
密码
(3)图书类别信息book_kinds表用来储存所有的图书类别信息,包括图书类别编号、图书类别名称2个字段。
该表的逻辑结构如表4.4.3所示。
表4.4.3图书类别信息表
字段名
数据类型
是否主键
描述
id
整数(int)
是
图书类别编号
typeName
文本(varchar)
否
图书类别名称
(4)读者信息表book_reader用来储存所有的读者信息,包括读者姓名、读者班级、电话号码、读者编号4个字段。
该表的逻辑结构如表4.4.4所示。
表4.4.4读者信息表
字段名
数据类型
是否主键
描述
reader_name
文本(varchar)
是
读者姓名
reaser_class
文本(varchar)
否
读者班级
reader_tel
文本(varchar)
否
电话号码
reader_id
整数(int)
是
读者编号
(5)图书订购信息表bookadd用来保存图书馆的所有订购信息,包括书籍编号、图书名称、订购日期、订购数量、图书价格5个字段。
该表的逻辑结构如表4.4.5所示。
表4.4.5图书订购信息表
字段名
数据类型
是否主键
描述
bookadd_id
整数(int)
是
书籍编号
bookadd_name
文本(varchar)
否
图书名称
bookadd_number
整数(int)
否
订购数量
bookadd_price
整数(int)
否
图书价格
bookadd_time
日期时间(datetime)
订阅时间
(6)图书借阅信息表book_borrow用来保存所有图书的借阅信息,包括借阅编号、书籍名称、借书数量、读者编号、图书价格、借书日期6字段。
该表的逻辑结构如表4.4.6所示。
表4.4.6图书借阅信息表
字段名
数据类型
是否主键
描述
borrow_id
整数(int)
是(自动递增)
借阅编号
borrow_name
文本(varchar)
否(外键)
书籍名称
borrow_number
整数(int)
否(外键)
借书数量
borrow_reaser_id
文本(varchar)
否(外键)
读者编号
borrow_price
整数(int)
否
图书价格
borrow_time
日期时间(datetime)
否
借书日期
第五章系统实现
5.1系统登录模块
对于图书馆管理系统而言,不是所有的用户都是可以使用的,所有需要添加一个登陆模块。
通过该模块来对用户的合法性进行判断,只有合法的用户才能进入到系统。
整个登陆模块的实现非常简单,相信读者能够快速掌握其开发过程。
登录模块的运行结果如图5.1所示。
图5.1系统登录界面
5.2主窗体模块
图书馆管理系统的主窗体。
图5.2主窗体界面
5.3图书类别管理模块
图书类别管理模块包含两个子模块,分别是图书类别添加和图书类别修改。
其中图书类别添加模块用来录入新的图书类别信息,图书列别修改模块用来修改已有的图书列别信息。
系统界面如图5.3所示。
图5.3图书类别修改界面
5.4图书信息管理模块
图书信息管理模块包含两个子模块,分别是图书信息添加和图书信息修改。
其中图书信息添加模块用来录入新的图书信息,图书信息修改模块用来修改已有的图书信息。
图5.4图书信息添加界面和修改
5.5图书信息管理模块
读者信息管理模块包含两个子模块,分别是读者信息添加和读者信息修改与删除。
其中读者信息添加模块用来录入新的读者信息,读者信息修改与删除模块用来修改和删除已有的读者信息。
其系统运行界面如图5.5所示。
图5.5读者信息管理模块运行界面
5.6图书订购管理模块
图书订购管理模块包含两个子模块,分别是新书订购和验收新书。
其中新书订购模块用来录入新的图书信息,验收新书模块用来验收新书信息。
其系统运行界面如图5.6所示。
图5.6新书订购管理界面
5.7图书借阅管理模块
图书借阅管理模块包含三个子模块,分别是新书借阅和图书搜索。
其中图书借阅模块用来录入读者信息及所借阅的图书的信息,图书搜索模块用来为读者提供图书搜索功能。
其系统运行界面如图5.7.1和5.7.2所示。
图5.7.1图书借阅管理界面
图5.7.2图书查询界面
5.8系统维护模块
系统维护模块包含两个子模块,分别是更改口令和用户管理。
其中更改口令模块用来更改管理员登陆系统口令,用户管理模块用来添加新的用户及对用户进行修改和删除。
其系统运行界面如图5.8.1和5.8.2所示
图5.8.1更改密码界面
图5.8.2用户管理界面
总结与心得
这次图书馆管理系统的设计真是让我绞尽脑汁,经过了两周才做好。
其实制作管理系统我们现在看来已经不是难事,难的是如何去构思,如何去想。
做系统要用心去做,我从中也学到很多知识,知道如何去综合多门学科中的知识,编程能力也有了很大提高,另外也有很多心得体会。
本系统是一个最基本的图书馆管理系统,可扩展性很大,系统的执行效率也比较高。
这些天的设计,我深刻体会到软件开发是相当辛苦的,但成功以后的喜悦也是非常美妙的,投入的越多,获得的快乐与充实感越多。
本课题在选题及研究过程中得到杨老师和董老师的亲切关怀和悉心指导下完成的。
两位老师严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。
从课题的选择到项目的最终完成,杨老师喝董老师都始终给予我细心的指导和不懈的支持。
周老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向杨老师和董老师致以诚挚的谢意和崇高的敬意。
参考文献
[1]黄梯云《管理信息系统》高等教育出版社2009
[2]陈伟《SQLServer20088数据库应用与开发教程》清华大学出版社2007
[3]张桂珠等《Java面向对象程序设计》北京邮电大学出版社2003
[4]毕光吉《Java程序设计实例教程》冶金工业出版社2007
附录
源码
packageutil;//连接数据库
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.ResultSetMetaData;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.util.HashMap;
importjava.util.LinkedList;
publicclassDBTools{
privateStatementstmt=null;
privateConnectionconn=null;
privateResultSetrs=null;
static{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
}
publicDBTools(){
Stringurl="jdbc:
sqlserver:
//localhost:
1433;DatabaseName=library";
Stringusername="sa";
Stringpassword="519519";
try{
conn=DriverManager.getConnection(url,username,password);
stmt=conn.createStatement();
}catch(SQLExceptione){
e.printStackTrace();
}
}
publicintupdate(Stringsql){
try{
inti=stmt.executeUpdate(sql);//影响的行数
returni;
}catch(SQLExceptione){
e.printStackTrace();
return-1;//有异常
}
}
privateResultSetquery(Stringsql){
try{
rs=stmt.executeQuery(sql);
returnrs;
}catch(SQLExceptione){
e.printStackTrace();
returnnull;
}
}
publicLinkedList
//rs->LinkedList
query(sql);
try{
ResultSetMetaDatamt=rs.getMetaData();//结果集结构数据,结果集里有哪些字段
LinkedList
while(rs.next()){
HashMap
for(inti=1;i<=mt.getColumnCount();i++){
StringcolumnName=mt.getColumnName(i);
Stringvalue=rs.getString(columnName);
map.put(columnName,value);
}
list.add(map);
}
returnlist;
}catch(SQLExceptione){
e.printStackTrace();
returnnull;
}
}
publicvoidclose(){
try{
if(rs!
=null)
rs.close();
}catch(SQLExceptione){
e.printStackTrace();
}
try{
if(stmt!
=null)
stmt.close();
}catch(SQLExceptione){
e.printStackTrace();
}
try{
if(conn!
=null)
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
packagecom.jlgs.liryary.shells;//用户登录
importorg.eclipse.swt.SWT;
publicclassDengLuShellextendsShell{
privateTexttext;
privateTexttext_1;
privateProgressBarprogressBar;
publicstaticbooleanisSuccess=false;
publicstaticStringUser_id;
publicstaticStringUser_name;
privateMessageBoxbox;
Stringsql;
inti;
/**
*Launchtheapplication.
*@paramargs
*/
publicstaticvoidstart(){
try{
Displaydisplay=Display.getDefault();
DengLuShellshell=newDengLuShell(display);
shel
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)