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

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

图书馆管理系统设计报告
一、实习题目:图书馆管理系统
二、实习工具:前台开发工具选择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
由于系统的子窗体较多,代码相应较多,这里不一一介绍了。

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

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

综合起来,主要体现在以下几个方面:。

相关主题