《(java)面向对象程序设计课程设计报告图书管理系统》由会员分享,可在线阅读,更多相关《(java)面向对象程序设计课程设计报告图书管理系统(19页珍藏版)》请在金锄头文库上搜索。
1、(Java)面向对象程序设计课程设计报告-图书管理系统面向对象程序设计课程设计报告 学生姓名:学 院: 班 级: 题 目: 张学阳 陈 洋 刘 睿学 号:理学院1009300132 1009300109 1009300122数学与应用数学 图书管理系统 职称 2012年12月2日目 录 目 录 . I一、选题背景 . 1二、算法设计 . 22.1 功能要求 . 22.2 功能的实现 . 2三、程序及功能说明 . 33.1 图书基本结构 . 33.2 函数信息 . 43.3 系统基本结构 . 5四、结果分析 . 6五、总 结 . 12六、课程设计心得体会 . 13参考文献 . 14源程序 . 1
2、5 -I- 一、选题背景在调研农村中学时发现这些农村中学图书室都藏书达六、七万余册,但其现行图书管理工作都是采用传统的手工管理,经过对其图书管理工作中的图书信息、读者管理及借阅管理工作做全面调查研究,其现行手工流程具体分析如下:(1)图书登记:对上级分配、学校购入和社会捐赠的图书进行图书信息登记;(2)读者登记:图书管理员根据学校档案室提供的教师花名册和学生花名册进行读者登记,然后填发借书证,学生毕业和教师调出时将其借书证注销。(3)借阅管理:读者特别是学生读者持借书证到图书室借阅图书,图书管理员将借阅日期填写在书籍卡片上,将卡片夹在借书证中间,存放在图书室,学生看完后,送还所借书籍,收回借书
3、证或另借其它书籍。传统人工管理图书方式存在着许多缺点,如:效率低、保密性差, 一方面导致借书者对图书室藏书情况不了解,图书室究竟有哪些图书也不知道;另一方面图书管理员对图书管理工作倍感头痛,因为时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,耗费劳动力大,难于避免错误的产生。如今计算机已经普及,管理者可以通过计算机来实现对图书的管理,借书者也可以通过计算机来查询自己想看的图书是否已被借走,因此给管理者和借书者都带来很大的方便,因此图书管理系统便产生了,它对图书的管理发挥着重要的作用,其原因有以下几个方面:(1)计算机可以代替人工进行许多繁杂的劳动;(2)计算机可以大
4、大的提高管理者的工作效率;(3)计算机可以使敏感文档更加安全;(4)可以存储图书室的图书信息、读者信息和借阅信息,安全、高效;(5)只需一名图书管理员即可操作系统,节省大量人力;(6)可以迅速查到所需信息,图书管理系统可以为借书者提供充足的信息和快捷的查询手段,借书者能够及时查询图书信息,更好地为借书者服务。 -1- 二、算法设计2.1 功能要求我们设计的图书管理系统主要用于对图书馆日常工作的管理,主要任务是用计算机图书各种信息进行日常管理,如查询、修改、增加、删除图书的管理等。本系统实现了图书馆的信息化管理,完成了图书馆管理系统的基本功能。根据上述系统功能分析,按照结构化程序设计的要求,得到
5、系统的功能结构图,如下图所示。 2.2 功能的实现我们所要建立的系统主体思想是建立两个类,一个建立用户对象,另一个用来建立图书对象,图书的建立都是建立在用户对象基础上的,也就是说,建立用户对象后才能建立图书对象,一个用户对应多个图书对象,通过方法对图书信息实现查询、删除、插入等一些基本操作。在此过程中我们实现了数据库的连接,将数据库中的信息导入到图书对象数组中并保存,反过来将图书对象的信息插入到数据库中,将数据库中的数据转化成电子表格的形式,实现了数据的导出。 -2- 三、程序及功能说明3.1 图书基本结构对于图书对象,我们定义了6个属性,结构图和信息表如下所示:图书属性结构图 -3- 3.2
6、 函数信息程序中用到的函数及函数的信息如下表和下图所示-4- 函数结构示意图 3.3 系统基本结构通过与数据库的连接实现信息的导入和导出,基本结构图如下所示 -5- 四、结果分析Access原始数据 导入后的数据 数据库连接时有如下操作,选择“控制面板”-“管理工具”-“数据源(ODBC)”,有如下界面 在“ODBC数据源管理器”中,单击“添加”按钮,并选择“Microsoft Access Driver(*.mdb)”驱动程序-6- 在“数据源名”中填入employee 然后单击“选择”按钮,选择创建的Access表,并保存。 -7- 选择3显示出现有图书信息,选择1添加图书信息,其中添加方
7、式分为两种,手动输入和数据库连接输入,具体结果如下 选择数据库连接添加了数据库里的图书信息,选择3查询如下 -8- 选择手动输入图书信息,将图书基本信息输入保存,选择y或Y继续添加,任意键返回上一界面 选择4通过输入出厂号删除图书信息 -9- 选择2查询图书信息,分3种方式查询,选择1按作者查询,选择2按出版社查询,选择3按出版号查询,选择0返回上界面,查询结果如下 -10- 选择5借阅书籍,将是否借出属性的值改为“yes”,选择3显示结果如下 选择6归还图书,将是否借出属性的值改为“no”,选择3显示结果如下 -11- 五、总 结图书管理系统主要是要求实现对图书信息的查询、插入、删除等功能,
8、后来又自己添加了连接数据库功能和借还书显示功能。整体里思想是首先建立用户类,在用户类的基础上又建立了图书类,通过图书类建立图书对象数组,每一个对象包括图书名称、图书作者、图书出版社、图书出版号、是否已经借出、图书总量属性,查询功能可以将这些信息显示出来,查询功能可以显示全部的图书信息,也可以通过给定图书出版号、作者姓名、出版社查询图书信息,通过给定图书编号删除图书信息,可以手动输入图书的信息,也可以连接数据库,将数据库里面的数据插入到图书对象中,反过来也可以将图书信息插入到数据库中,在通过数据库将图书信息转化为电子表格,实现了数据的导出,在借还书过程中,是否已经借出属性会发生相应的改变,插入和
9、删除图书信息后,图书总量也会改变。每一个功能都包含在一个方法中,通过调用来实现。在完成系统的过程中也遇到了很多问题,比如连接数据库时,数据库的某些语句Java无法识别造成连接出错,还有一些由于Java语句本身的局限性,造成的一些错,比如有些属性需要赋值给其他变量才能实现一些要求等等只有对Java语句了解才能将错误排除,最终经过我们共同商讨,将这些错误都一一解决。完成课程设计的过程中,也有一些很好的想法,由于自身能力不足复杂性,没能得到实现,比如在电子表格的导出时,通过查询资料了解到可以添加一些包,经过Java语句来实现,但包需要下载,语句又太多,因此没有采用,还有在数据向数据库插入时,我们采用
10、的方法是逐条插入,本意是全部一次性插入,通过查询资料也没有得到解决,要实现这些功能,系统会更加完善。 -12-六、课程设计心得体会刚开始拿到题目时感觉思路很混乱,要实现的功能很多,不知从何下手,后来经过仔细的思考后发现也没有那么那,只要把思路理清楚还是很容易上手的,由于之前做过C语言、数据结构、数据库的课程设计,整体的流程还是很清楚的,重点的Java功能的实现,还有就是如何连接数据库,将这些问题解决后完成课程设计就没什么问题了,当然要解决这些问题也不是很容易,与平时的课内试验相比要实现的功能增加很多,类里面的方法也增多,写程序时会有更多的错误存在,有时一个很简单的错误隐藏的很深,要花很长的时间才会发现,数据库的连接之前没有接触过,通过查阅书籍后知道了它的连接方式和一些基本的Java的连接程序,连接成功后通过数据库的查询、插入、删除等操作就可以对实验功能的实现。要完成课程设计。光靠一个人的力量是不够的,需要一个组的共同努力才能完成,因为一个人的能力是有限的,一个人查找错误肯定没有三个人快,一个人的思路也没有三个人的思路广阔。在完成课程设计的过程中,我们分工明确,出现问题共同讨论,找出解决问题的最佳方法。基本功能实现后,我们对程序反复修改不断完善,最后将系统做到尽量完善。通过这次课程设计,我们学会的不只是知识,更学会了完成一个系统的流程和团队合作。 由于之前没有学过C+,初次接触Ja