图书管理系统综合课程设计报告.docx

上传人:b****5 文档编号:15219577 上传时间:2023-07-02 格式:DOCX 页数:22 大小:776.47KB
下载 相关 举报
图书管理系统综合课程设计报告.docx_第1页
第1页 / 共22页
图书管理系统综合课程设计报告.docx_第2页
第2页 / 共22页
图书管理系统综合课程设计报告.docx_第3页
第3页 / 共22页
图书管理系统综合课程设计报告.docx_第4页
第4页 / 共22页
图书管理系统综合课程设计报告.docx_第5页
第5页 / 共22页
图书管理系统综合课程设计报告.docx_第6页
第6页 / 共22页
图书管理系统综合课程设计报告.docx_第7页
第7页 / 共22页
图书管理系统综合课程设计报告.docx_第8页
第8页 / 共22页
图书管理系统综合课程设计报告.docx_第9页
第9页 / 共22页
图书管理系统综合课程设计报告.docx_第10页
第10页 / 共22页
图书管理系统综合课程设计报告.docx_第11页
第11页 / 共22页
图书管理系统综合课程设计报告.docx_第12页
第12页 / 共22页
图书管理系统综合课程设计报告.docx_第13页
第13页 / 共22页
图书管理系统综合课程设计报告.docx_第14页
第14页 / 共22页
图书管理系统综合课程设计报告.docx_第15页
第15页 / 共22页
图书管理系统综合课程设计报告.docx_第16页
第16页 / 共22页
图书管理系统综合课程设计报告.docx_第17页
第17页 / 共22页
图书管理系统综合课程设计报告.docx_第18页
第18页 / 共22页
图书管理系统综合课程设计报告.docx_第19页
第19页 / 共22页
图书管理系统综合课程设计报告.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

图书管理系统综合课程设计报告.docx

《图书管理系统综合课程设计报告.docx》由会员分享,可在线阅读,更多相关《图书管理系统综合课程设计报告.docx(22页珍藏版)》请在冰点文库上搜索。

图书管理系统综合课程设计报告.docx

图书管理系统综合课程设计报告

附件1:

计算机科学与工程学院课程设计报告

题目全称:

图书借阅管理系统设计与开发

题目难度等级:

4

指导老师:

胡旺职称:

学生姓名:

陈朝先学号:

2014060105002班号:

计算机五班

平时(上机)(10分)

计算机使用技能(10分)

课程设计报告(20分)

计算机专业技能(60分)

加分项(不超过5分)

总分

备注:

如参加答辩,请答辩老师给出计算机专业技能(60分)的分数。

请指导教师给出除计算机专业技能(60分)以外的其他分数。

如参加答辩,请答辩老师签字:

主要任务:

用java语言结合mysql开发一个图书管理软件。

 

详细功能描述:

图书管理模块:

增删改查图书信息;

借书管理模块:

删改查借书记录;

还书管理模块:

增改查还书记录;

预约管理模块:

增删改查图书预约记录。

预期成果或目标:

一个图形化的图书管理软件,能实现图书的入库出库,借书还书以及预约功能

指导老师评语:

 

指导教师签字:

综合课程设计图书管理系统

摘要:

本次课程设计研究的对象是一个图书管理系统。

利用数据库相关的知识,结合java语言进行的开发。

在开发中使用了mysql数据库,进行对数据的综合管理。

使用了mysqlworkbench进行辅助的操作,完成了开始阶段的数据库设计工作。

Java语言的开发选择的是itellijidea。

本次开发完成了课程设计的基本要求,实现了系统的两个端口,分别是管理员管理端与学生用户端。

系统管理员可以用该系统进行书籍的增加,批量导入,删除,以及信息的修改。

同学也可以通过管理员借书。

管理员可以查看到所有的信息。

学生端学生可以借书,还书,但是只能看到自己的信息不能看到其他同学的信息。

关键词mysqljava学生端管理员端

第1章引言

1.1课程设计研究背景

当今社会在各种管理系统越来越只能的情况下,随之而来的各种管理系统也是层出不穷,同时也参差不齐。

很多的管理系统做的很大,同时也就需要很大的维护费用。

不过要是一个小的机构或者是单位,比如学校的一些工作室或者是活动中心,他们有自己的图书室,不过没有相关的图书管理系统。

要是弄一个图书馆一样的管理系统就有点杀鸡用牛刀的做法。

而且大型的图书管理系统不仅仅费用高,维护困难,升级也很困难。

于是开发小型的图书管理系统就显得尤为重要了。

 

1.2课程设计内容

设计图形化界面的DBMS图书管理系统。

设计数据库的数据结构,包括存储结构,借阅结构查询结构,增加以及删除结构。

设计并编码实现图书借阅管理软件。

图书管理模块:

增删改查图书信息;

借书管理模块:

删改查借书记录;

还书管理模块:

增改查还书记录;

预约管理模块:

增删改查图书预约记录。

1.3报告组织结构

1.引言

2.相关技术基础

3.系统需求分析和总体设计

4.系统详细设计和实现

5.系统测试

6.总结与展望

7.参考文献

 

第2章相关技术基础

2.1数据库知识

(一)数据库的创建

a)数据库创建

创建图书系统数据库数据库创建的语句

创建table以及学生信息系统,只有在学生信息系统中的学生才能进行图书的借阅

(二)数据库的增加

a)插入数据

插入学生信息以及图书信息

(三)数据库的删除

a)删除数据库中不再需要的目录,主要是已经出库的书进行记录的删除

b)对已经离开学校的学生信息进行删除

(四)数据库的修改

a)学生借书,还书,对借阅记录进行修改。

书本信息有误的也能进行修改

b)学生注册或者学生信息有变动的需要进行一个修改操作

(五)数据库的查询

a)数据库的聚类查询,统计已经借阅书本的数目

b)查询提供了各种各样的查询方式,通过书名,书号以及作者

学生信息查询则是通过学生学号统一查询

 

2.2java基本知识

(一)Java简介

a)Java是一种电脑编程语言,拥有跨平台、面向对象、泛型编程的特性。

 任职于太阳电脑的詹姆斯·高斯林(James Gosling)等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设定在家用电器等小型系统的程式语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通讯。

由于这些智能化家电的市场需求没有预期的高,太阳公司放弃了该项计划。

随着1990年代互联网的发展,太阳公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。

Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

 

b)Java编程语言的风格十分接近C++语言。

继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指針,改以引用取代,同时移除原C++与原来运算符重载,也移除多重继承特性,改用接口取代,增加垃圾回收器功能。

在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。

太阳公司对Java语言的解释是:

“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言” 

c)Java不同于一般的编译语言和解释语言。

它首先将源代码编译成字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。

在早期JVM中,这在一定程度上降低了Java程序的运行效率。

但在J2SE1.4.2发布后,Java的执行速度有了大幅提升。

 

d)与传统型态不同太阳公司在推出Java时就将其作为开放的技术。

全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。

“Java语言靠群体的力量而非公司的力量”是太阳公司的口号之一,并获得了广大软件开发商的认同。

这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司后来推出了与之竞争的.NET平台以及模仿Java的C#语言。

后来太阳公司被甲骨文公司并购,Java也随之成为甲骨文公司的产品。

(二)Java面向对象基础

a)将图书信息,学生信息分别封装成一个独立的类。

同时又跟数据库中的数据库设计相互一致。

提供了对对象的访问器以及修改器。

同时在设计的时候还采用不同的构造方法,充分的发挥了数据结构为运行效率带来的提升

b)程序设计模式的合理运用。

包括单例模式,单一职能原则的运用,以及工厂模式等的运用

(三)Java图形界面设计,swing图形界面设计

a)使用java中的swing包进行图形界面的开发,实现基本的图形界面,使得操作更加的人性化,极大的提升了用户的用户体验

(四)Jdbc开发包接口程序设计

a)使用jdbc进行数据库与java语言的连接。

通过jdbc接口实现了java开发平台与数据库的访问。

为数据的操作提供了桥梁。

2.3,mysql简介

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。

在2008年1月16号被Sun公司收购。

而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

MySQL的官方网站的网址是:

2.4本章小结

Java是一种面向对象的语言,用它来进行开发,极大的节约了开发的时间,同时也降低了开发者的开发难度。

Mysql数据库同时是一个比较简单易用的数据库,不像oracle那样大,维护起来也很方便。

同时java与mysql的沟通有了jdbc也变得简单易行。

所以综合以上两点,开发本系统也就自然的选择了java以及mysql了。

第3章系统需求分析和总体设计

3.1需求分析

●管理员能进行图书的增加删除(入库与出库),包括书号,书名,作者,图书所在图书馆的位置,等。

●管理员帮学生进行借书操作,修改图书的借阅信息

●管理员进行学生姓名,学生学号的录入与删除

●管理员进行学生信息的修改,包括学生的学号,姓名,以及登录密码

●学生对书本的借阅信息的修改,从而实现书本的借阅

●学生对书本预约信息的修改,从而实现书本的预约

 

3.2总体设计

系统功能设计

(一)管理员端

a)管理员登录

b)对书本的管理以及对学生信息的管理

c)增加书本信息到数据库

d)删除数据库中的书本信息

e)修改数据库中的书本信息

f)修改书本的借阅信息,实现帮学生借书还书

g)批量从excel表格导入书本信息

h)对学生信息的增加录入

i)对学生信息的删除

j)修改学生的信息,登录名,密码以及姓名

(二)学生端

a)不同学生的登录

b)登录的查询书本信息

c)实现查询自己已经借阅的书本信息

d)实现查询图书馆中所有的书本信息

e)实现借阅图书功能(借书数目不能超过十本)

f)实现还书功能

g)实现图书的预约功能

h)已经被人预约的图书只有预约的那个同学才能借

概念结构设计:

ER图-数据库

 

逻辑结构设计:

数据表

设计了两张数据库的表格

1.书本信息表格:

属性设置如下

a)书号(主键)

b)书名

c)位置

d)作者

e)借书人

f)预约人

2.学生信息表格:

属性设置如下

a)学生学号(主键)

b)学生姓名

c)学生的登录密码

3.3本章小结

根据总体的需求我们将设计的数据库中采用两张表格,一张是学生信息的表格额,一张是书本信息的表格。

两张表格合理的利用了数据库的资源同时也不会造成存储空间得的浪费。

本数据库的表格设计是按照需求来设计的。

一方面,我们在设计系统的时候就考虑到将这个系统分成两个部分,一个是学生管理模块一个是管理员管理模块。

同时在管理员模块中又分成两个独立的管理模块。

一个是对书本信息的修改一个是对学生信息的修改。

在学生管理的端口是学生进行书本信息的修改操作。

综上,于是数据库就设计了两个表格。

一个用于管理学生的信息。

一个用于管理书本的信息。

两个表格的互相制约以及相互间的约束关系使得整个数据库形成了一个整体。

同时考虑到java代码中设计的类的概念也是书本是一个类,学生是一个实体类。

于是将书本信息以及学生信息分别设计成两个表就更加的合理了。

第4章系统详细设计和实现

4.1**模块设计和实现

总共分成两个大的模块:

管理员使用的模块以及学生使用的模块,管理员使用的模块中又分成两个小的模块

A.管理员模块:

i.管理书本信息模块

添加导入书本信息:

管理员能够通过界面一个个的添加图书的信息。

同时间还能从excel表格中导入相关的图书信息,为了减少不必要的不合理数据进入数据库,在管理员插入书本信息的时候还会进行书本信息的检,要是没有填写完整的书本信息的书是不被允许插入数据库的。

同时在导入数据的同时也是设计了不满足要求的书本信息是不能进入数据库。

在导入的第一步就会对所选的文件进行过滤。

不满足条件的文件是不会显示在面板中的。

同时也会有提示面板进行一些不合法数据的提示。

修改书本信息模块:

管理员能清楚的看到修改书本信息的面板。

只要是点击每条书本信息对应的那个修改按钮,修改信息的面板就会弹出来然后管理员就能对其中的信息就行修改。

同时通过管理员借书也是通过这个面板就行修改的,但是这里有可能会出现一个学生借书的数目超过十本,那么现在系统就会提示他,不让他借书成功。

同时他修改的信息也不允许被保存

删除书本信息模块:

书本信息是统一由管理员进行管理的,每个书本信息的后面都有一个选择按钮,只要是选中的书,当管理员点击删除按钮之后所有选中的书本信息将会被删除,为了防治管理员的错误操作,还进行了一些列的提示信息。

要求管理员再次确认是不是要删除

查询书本信息模块:

管理员能够通过不同的搜索条件进行书本的查询操作。

可以通过关键字是书本的书号,书名,作者来进行查询,设计具有人性化

管理学生信息模块

学生信息的添加:

也就是学生的注册。

学生注册模仿的现实生活中的管理系统的要求。

学生的注册一般都是管理员来完成的。

注册信息不完全的人不能注册。

没有注册的学生是不能借书的。

同时,在添加学生信息的同时信息不完整的学生也是不能注册的。

要是信息不完整系统也会给出相应的提示,告诉使用者信息不完整,需要再次填写或者是完善信息。

学生信息的修改:

这个功能设计也是跟现实生活接轨的,学生通过管理员才能修改自己的信息这样以保证信息的同步。

同时学生的学号以及姓名是不能修改的,这样才能保证学生的信息与借书系统中的数据的同步

学生信息的删除:

学生可以注册就能注销。

当学生离开学校之后需要对图书馆中的信息进行注销操作。

每个学生信息的后面都有一个选择按钮,只要是选中的书,当管理员点击删除按钮之后所有选中的书本信息将会被删除,为了防止管理员的错误操作,还进行了一些列的提示信息。

要求管理员再次确认是不是要删除

 

B.学生管理模块:

借书还书:

就是对数据进行修改。

当一个学生登录进入自己的系统之后,系统就能知道他是哪个人了。

然后根据他的信息首先将他借阅的书本信息显示在界面上。

然后在另一个所有的书本信息窗口他也能看到所有图书信息,能看到所有图书的书号,书名,位置,作者,以及能不能借,能不能预约。

不过他不能看到是谁借了那本书,还有是谁预约了那本书,这样就对用户的隐私进行了一定的保密作用。

然后他还是跟管理员一样的可以在搜索框中输入图书的信息,以及选不同的搜索条件进行搜索。

借书还书预约都是一件很简单的事情,只要用户点击一下借书或者是预约的那个按钮,然后系统就会自动为他借书或者是预约书

分模块介绍

4.*本章小结

图书管理系统设计之初考虑的一个因素就是要保证数据的可靠性,绝对不允许任何的不合理的数据进入数据库。

另一个就是用户操作的界面的友好性。

保证有很好的用户体验。

结合这两点,在设计数据库以及语言逻辑的时候就一定是避免了不对的数据的进入。

要是没有达到要求的数据,在语言层面就是通不过的,java语言会直接扔给他一个对话框告诉他数据是什么地方不合理,同时这也体现了操作界面的友好性。

管理员管理图书和用户信息的的两个界面是从一个基本的界面继承而来的,两个界面的整体布局几乎一致。

只是在细节上进行了不同的一些设计。

在每个面板上无论是管理员还是用户都能清楚的看到自己能做些什么,能怎么做这件事。

 

第5章系统测试

5.1测试环境

◆Java环境搭建的测试:

⏹首先安装jdk,通过修改环境变量后,在命令行中输入java–version能显示出java的版本信息来,说明java的环境已经搭建好了。

◆编译器环境的测试

⏹从官网上下载itellijideacommunity编译器,安装之后进行编译器的配置。

首先选择编译所需额jdk,然后新建helloworld工程进行编译器环境的测发现能运行输出结果

◆数据库运行测试

⏹在mysql中新建数据库,然后新建表格,在新建的表中插入数据,删除数据,以及在修改数据。

测试正常,进入下一步

◆数据库与java编译器的连接测试

⏹在网上下载jdbcmysqljavaconnector在idea中新建项目工工程,在工程的结构目录中添加入jdbc然后进行项目的重构。

在工程中新建一个mysqlutil的类专门用来访问数据库以及对数据库进行一切的数据操作。

在这个类中所有的方法都申明为静态方法,这样就可以通过类直接进行访问了。

⏹在mysqlutil中写好数据库的连接方法的时候,接下来就是进行测试了,当编译器上输出一个连接成功,于是我知道数据库的连接已经成功了。

接下来我要做的一方面就是开始做我的项目,不断的扩大我的项目,同时也不断的完善这个美好的mysqlutil类,总之一切的数据库操作是他的了。

5.2测试结果

1.首先是整体的界面测试,下面是运行截图及其

2.然后是登录进去后的管理员界面及其功能测试

3.其次是管理员管理图书界面及其功能测试

添加图书

修改图书信息

我们对我们刚刚添加的那个学生的信息进行修改

我们将借书人改成一个没有注册的了,于是系统提示我们他没有注册,不能进行借书或者是预约

删除图书信息

我们能在界面上看到已经删除的书已经不在了

测试搜索

4.再次是管理员管理学生信息界面及其功能测试

添加

修改:

 

借阅查询:

 

删除

 

同时以上功能还可以结合查询面板使用,快速定位学生的位置

5.学生用户界面及其功能测试

才进来就能在左上角看到学生的姓名信息

借书:

还书:

预约

已经被被人预约的书自己不能借,只能借没有被预约或者是自己预约的

同时也可以结合搜索功能进行搜索快速定位

 

5.*本章小结

在本次的功能测试中,还有很多的功能,比如搜索以及换页功能这些没有演示,还有有的操作错误的提示没有演示,一是截图太多,二是已经将主要的功能以及作用展示的比较清楚了。

通过此次的体验,感觉挺不错的,这个系统用起来不论是在人性化上还是在对信息的处理上都是严密而不失友好性的。

 

第6章总结与展望

由于此次时间有限,没有来得及将图形界面做的很漂亮,本来已经设计了一套UI的,不过没有时间来进行UI的设计了,也没有时间进行PS以及AI的绘图制作。

所以希望要是有时间的话能将界面做的更加的好看以及人性化,能给用户以更加友好的体验。

同时还希望能在后期能继续测试系统,就本人写代码的过程看还是有些地方存在一些bug的,只是不是很明显也不是很影响,所以可能现在还没有发现,希望后期能在发现之后对本系统在进行一次很好的修改,使得这个系统更加的完善。

参考文献

[1]Y.DanielLiang著李娜译java语言程序设计基础篇机械工业出版社

[2]java连接mysql数据库丛林听雨的博客

[3]javaswing数据库编程开源中国

附录:

代码下载地址:

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2