当前位置:文档之家› 图书馆管理系统课程设计报告.doc

图书馆管理系统课程设计报告.doc

图书馆管理系统设计报告
一、实习题目:图书馆管理系统
二、实习工具:前台开发工具选择Visual Basic 6.0;后台数据库选择Access;中间层采用ADO数据访问技术,将对数据库的操作以类的形式封装。

三、实习目的:通过建立一个图书馆管理系统来管理图书。

掌握Visual Basic 的语言特点和编程技巧,熟悉控件的属性、事件和方法。

掌握用ADO控件访问数据库的技术,实现在数据库中的添加、查询和删除等操作。

四、实习内容:
1)需求分析:在进行一个项目的设计之前,先要进行必要的需求分析。

图书馆信息系统要求完成如下基本功能:
➢可以实现图书的类别管理和图书的信息管理。

对图书的各种信息的查询,包括逐个浏览,以及对图书信息的增加、删除和修改操作。

另外,可以根据输入的信息来检索某个图书的信息。

➢可以实现读者的类别管理和读者的信息管理。

对读者的各种信息的查询,包括逐个浏览,以及对读者信息的增加、删除和修改操作。

另外,可以根据输入的信息来检索某个读者的信息。

➢可以实现图书借阅管理。

包括借书信息、还书信息以及相关信息的查询。

➢可以实现对系统管理。

2)结构设计:根据上面的需求分析,开发设计不同的窗体系统,每一个窗体实现不同的功能,可以设计下面的几个模块。

➢图书管理模块:用来实现图书类别和信息管理。

➢读者管理模块:用来实现读者类别和信息管理。

➢图书借阅管理模块:用来实现借书和还书管理。

➢系统管理模块:用来实现用户的增加和修改等操作。

系统功能模块图如下:
3)
这里的数据库采用Access,用ADO作为连接数据对象。

设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。

数据库设计一般包括如下几个步骤:
➢数据库需要分析。

➢数据库概念结构设计。

➢数据库逻辑结构设计。

数据库需求分析
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入,收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后而后具体设计打下基础。

数据库逻辑结构设计
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图,转换为与选用的具体机器上的DBMS产品所支持的数据模型相符合的逻辑结构。

E-R图向关系模型转换的结果如下所示:
读者类别表(种类编号、读者种类、借书数量、借书期限、有效期限)。

读者信息表(读者编号、读者姓名、读者种类)。

图书类别表(类别编号、类别名称)。

图书信息表(图书编号、图书名称、图书类别、作者姓名、出版社名称、出版日期、价格、登记日期)。

借书信息表(图书编号、图书名称、图书作者、图书类别、出版社)。

4)实现代码:(类似代码略)
主窗体代码:在本项目中,子菜单事件都是Click事件,这里先给出主窗体部分的代码。

下面是响应“添加图书类别”子菜单Click事件,调出添加图书类别窗体代码。

Private Sub tjts_Click()
添加图书类别.Show
End Sub
下面是响应“添加读者信息”子菜单Click事件,调出添加读者信息窗体代码。

Private Sub tjdx_Click()
添加读者信息.Show
End Sub
各子窗体的代码:在各个子窗体建立好后,就可以根据各个子窗体的功能给它们添加相应代码了。

查询借书信息子窗体代码
Private Sub Command1_Click()
Dim sql As String
Dim rs_find As New ADODB.Recordset
Dim conn As New ADODB.Connection
conn.Open "provider=; data source=" & App.Path & "\database.mdb"
If Option1.Value = True Then
sql = "select * from 书籍信息where 是否被借出='是'"
End If
If Option2.Value = True Then
sql = "select * from 书籍信息where 是否被借出='否'"
End If
If Option3.Value = True And Text1.Text <> "" Then
sql = "select * from 借阅信息where 读者姓名='" & Text1.Text & "'" ElseIf Option3.Value = True And Text1.Text = "" Then
MsgBox "请输入读者姓名!", vbOKOnly + vbExclamation
Text1.SetFocus
Exit Sub
End If
rs_find.CursorLocation = adUseClient
rs_find.Open sql, conn, adOpenKeyset, adLockPessimistic
DataGrid1.AllowAddNew = False
DataGrid1.AllowDelete = False
DataGrid1.AllowUpdate = False
Set DataGrid1.DataSource = rs_find
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
由于系统的子窗体较多,代码相应较多,这里不一一介绍了。

五、实习心得体会
通过一周紧张的实习让我对前面学过的许多课程有了更为深刻的理解,也是我对这几年所学的东西的一个综合体现。

这次设计使我感受颇深,让我真正体会到了整个过程给我带来的无奈与快乐。

综合起来,主要体现在以下几个方面:
首先,急于求成的心情给我带来了很大的困难。

主要是开发系统前考虑的问题比较片面,上手操作时相对来说较盲目。

给后面的开发带来了很大的不便。

但经过查一些相关资料,将问题一一解决了,使得后来的工作才得以顺利进行。

其次,在编程语言的熟悉程度也让我对整个开发过程受到了一定的阻碍。

因为以前只独立编制过一些简易程序,而那些程序涉及面比较窄,实现的功能相当有限,从而要求对语言的熟悉程序不高。

然而这次设计,不但难度大时间短,而且还要求对一些算法比较熟悉,否则将延迟工作速度,必须停下来再去学习,后因时间问题,本系统还有一些不尽如意之处。

总的来说,这次的实习设计为我即将踏入社会提供了一次锻炼的舞台。

让我对几年来所学的专业课有了更为深刻的认识,使知识得到了融会贯通,得到了比以往学习任何一门课都有大的提高和进步。

对于我们来讲,我们每天都在学习,但书本上的东西只是个理论,如果不把它应用于实践中,这门课可以说对我们来讲完全没有意义。

这个系统的开发,对我来讲不仅仅是一次实习,它不但使我学会了一门开发语言,更重要的是在学习的过程中,所有的问题要自已去面对,有问题也只有靠自已去解决,在学习和解决这些困难的过程中提高了我学习的能力、解决问题的能力和实际工作的能力,学到了许多书本以外的知识,这让我对以后的学习充满了信心。

这次实习设计虽说不能堪称完美,但我会在以后的时间里尽量的完善它,不断的对它进行升级,解决系统可能出现的问题。

相关主题