图书管理系统.docx
- 文档编号:7572605
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:53
- 大小:222.64KB
图书管理系统.docx
《图书管理系统.docx》由会员分享,可在线阅读,更多相关《图书管理系统.docx(53页珍藏版)》请在冰豆网上搜索。
图书管理系统
一、课程设计的内容
这次课程设计采用VB作为前台应用程序的设计工具,用MSServer2000作为后台数据库,完成一个可以查询、修改、删除、添加学生信息、图书信息和图书借用信息的图书管理系统。
二、课程设计的要求与数据
主要是对图书馆的图书进行管理(录入、修改、删除、借阅),其中前三个由管理员进行操作,后一个通过管理员实现用户对图书的借阅。
三、课程设计应完成的工作
1.独立完成系统的分析、设计、编码、测试工作。
2.完成设计报告的撰写。
四、课程设计进程安排
序号
设计各阶段内容
地点
起止日期
1
查阅资料、分析题目、概要设计
分散
17周周三到周四
2
详细设计、编码
分散
17周周四到18周周五
3
调试
宿舍
18周周六
4
撰写设计报告
分散
18周周日
5
运行,提交
实验室
19周周四
6
7
8
9
10
11
五、应收集的资料及主要参考文献
[1].求是科技.《VisualC++数据库通用模块及典型系统开发实例导航》.—北京:
人民邮电出版社,2006.3
[2].李代平.《软件工程》.第二版.北京:
冶金工业出版社,2006.11
[3].王珊/萨师煊.《数据库系统概论》.第四版.-北京:
高等教育出版社,2006.5
[4].李春葆/曾平.《数据库原理与应用》,北京:
清华大学出版社,2005.
发出任务书日期:
2007年月日指导教师签名:
计划完成日期:
2007年月日基层教学单位责任人签章:
主管院长签章:
目录
第1章问题描述………………………………………………………………1
1.1图书管理系统简介…………………………………………………1
1.2数据需求……………………………………………………………1
1.3事务需求……………………………………………………………1
1.4系统开发平台………………………………………………………2
1.5网络拓扑结构………………………………………………………3
第2章解决方案………………………………………………………………3
2.1E-R模型设计………………………………………………………3
2.1.1实体列表……………………………………………………3
2.1.2系统的E-R模型……………………………………………3
2.2设计数据库…………………………………………………………4
2.2.1创建数据库…………………………………………………4
2.2.2创建数据表…………………………………………………4
2.3主窗体设计…………………………………………………………5
2.3.1添加控件……………………………………………………6
2.3.2设计登录界面………………………………………………6
2.3.3设计用户显示界面…………………………………………6
2.3.4设计管理员显示界面………………………………………6
第3章系统实现………………………………………………………………6
3.1开发环境……………………………………………………………6
3.2系统流程图…………………………………………………………7
3.3程序调试情况………………………………………………………7
3.4功能显示……………………………………………………………7
第4章结束语…………………………………………………………………13
附录:
源代码清单……………………………………………………………13
参考文献………………………………………………………………………41
第一章问题描述
1.1图书管理系统简介
本系统利用VB处理数据库的功能,实现对图书馆信息的管理。
主要功能为管理有用户、图书、借阅和管理者的信息等。
本系统的结构分为用户信息管理模块、书籍信息管理模块、借阅信息管理模块、管理者管理信息模块、查询处理模块。
1.2数据需求
根据系统的需求,首先将要记录的信息分类,要记录的信息如下。
(1)用户信息:
包括用户编号、姓名、密码、性别、出生日期、联系方式(联系电话、电子邮件、联系地址)、用户简介等。
(2)书籍信息:
包括图书编号、书名、丛书类别、作者、出版社、出版时间、图书简介等。
(3)借阅信息:
包括用户编号、图书编号、借书日期、应归还日期、超出还书天数等。
(4)管理者信息:
包括管理者编号、姓名、密码、性别、出生日期、联系方式(联系电话、电子邮件、联系地址)、管理员简介等。
根据这些需要,本系统需要“用户信息”表,“图书信息”表,“借阅信息”表和“管理者信息”表。
1.3事务需求
经过实际考察、咨询和分析,高等院校图书管理系统主要应该具有以下功能模块,如1.1图。
(1)任何人都可对图书信息进行查阅。
(2)在用户信息管理部分,要求如下:
●可以浏览用户自身信息。
●可以修改自身登陆密码、和其他(除用户编号外)用户基本信息。
●可以查询自身借阅信息及图书信息等
(3)在管理员信息管理部分,要求如下:
●可以浏览所有用户信息。
●可以浏览管理员自身信息。
●可以对所有用户信息进行维护,包括查询、修改、添加及删除等操作。
●可以修改自身登陆密码、和其他(除管理员编号外)管理员基本信息。
●可以添加管理员。
●可以对所有用户的借阅信息进行维护,包括查询、修改、添加及删除等操作。
●可以对图书信息进行维护,包括查询、修改、添加及删除等操作等。
图1.1系统业务逻辑关系
1.4系统开发平台
前台:
1、硬件要求:
CPU:
Pentium42.0GHz以上IBM兼容机
内存:
512MB以上容量
显卡:
32MB或以上显存之AGP接口显卡
2、软件要求:
操作系统:
MicrosoftWindows2000/XP
开发工具:
MicrosoftVisualBasic6.0
数据库服务器:
MicrosoftSQL2000Server
1.5网络拓扑结构
本设计采用客户机/服务器(C/S)体系,数据的储存管理功能较为透明性,可以合理均衡事务的处理,充分保证数据的完整性和一致性。
图1.2C/S模式结构
第二章解决方案
数据库主要着重于数据对象的属性和数据对象之间的关系的分析。
一般采用E-R图,即实体-关系模型来分析数据对象的属性和数据对象之间的关系。
2.1E-R模型设计
2.1.1实体列表
实体
描述
用户
所有注册用户,由用户编号标识
图书
图书馆所有图书,由图书编号标识
借阅
用户编号、图书编号、借阅日期、应归还日期、超出还书天数,由用户编号和图书编号标识
系统管理员
系统维护人员
2.1.2系统的E-R模型
该图书管理系统的E-R模型,如下图所示
图2.1图书管理系统的E-R图
2.2设计数据库
2.2.1创建数据库
(1)打开MSSQL工具“查询分析器”
(2)在查询窗口中键入下列SQL语句
createdatabaseBookSystem
执行上述SQL语句即可新建一名为BookSystem的数据库
2.2.2创建数据表
创建数据库后,为BookSystem数据库添加数据表,步骤如下。
(1)新建查询窗口
(2)在查询窗口中键入下列SQL语句
createtableUsers(//创建用户信息表
Uidchar(20)primarykey,//用户编号
Unamevarchar(20)notnull,//姓名
Upwdvarchar(16),//登陆密码
Usexchar
(2)check(Usexin('男','女')),//性别
Uborndatetime,//出生日期
Utelchar(13),//联系电话
Uemailvarchar(30),//电子邮件
Uaddrvarchar(50),//联系地址
Uremarkvarchar(300)//用户简介
)
createtableManagers(//创建管理员信息表
Midchar(20)primarykey,//管理员编号
Mnamevarchar(20)notnull,//姓名
Mpwdvarchar(16),//登陆密码
Msexchar
(2)check(Msexin('男','女')),//性别
Mborndatetime,//出生日期
Mtelchar(13),//联系电话
Memailvarchar(30),//电子邮件
Maddrvarchar(50),//联系地址
Mremarkvarchar(300)//管理员简介
)
createtableBooks(//创建图书信息表
Bidchar(10)primarykey,//图书编号
Bnamevarchar(50)notnull,//书名
Bclassvarchar(30),//图书分类
Bwritervarchar(50),//作者
Bbookmanvarchar(26),//出版社
Bborndatetime,//出版日期
Binstrvarchar(500)//图书简介
)
createtableUB(//创建用户借书记录
Uidchar(20),//用户编号
Bidchar(10),//图书编号
Borrow_timedatetime,//借书日期
Return_timedatetime,//应还书日期
Over_timesmallint,//超出还书天数
primarykey(Uid,Bid),//定义主键
foreignkey(Uid)referencesUsers(Uid),//外来键
foreignkey(Bid)referencesBooks(Bid)//外来键
)
(3)执行上述SQL语句即可创建相关表格
2.3主窗体设计
创建一个新的“标准EXE”类型的工程,在工程属性里设置工程名为“图书管理系统”。
将默认创建的窗体命名为“FrmMain”,把“FrmMain”作为本系统中的主界面。
在窗体中添加4个CommandButton控件和一个Label控件。
2.3.1添加控件
在控件箱中右击空白处,选择“部件”,在弹出的对话框中勾选
MicrosoftADODataControl6.0(SP6)(OLEDB)//用于连接数据库
MicrosoftDataGridControl6.0(SP6)(OLEDB)//用于显示数据
MicrosoftTabbedDialogControl6.0(SP6)//用于多窗口显示
这3个控件,点击确定。
2.3.2设计登录界面
设计登录界面,添加一个新的“窗体”,名为FrmLogin,作为本系统的登录界面.在登录窗体上添加3个Label控件,2个CommandButton控件,2个OptionButton控件和3个TextBox控件。
2.3.3设计用户显示界面
在当前工程中添加一个“窗体”,将窗体命名为“FrmUser”。
在窗体上添加1个ADODC控件、1个CheckBox控件、1个ComboBox控件、6个CommandButton控件、1个DataGrid控件、1个Frame控件、10个Label控件、1个SSTab控件、3个PictureBox控件和9个TextBox控件。
各按钮控件是为了执行相应的操作。
各TextBox控件和CheckBox控件用来显示数据库中的数据,这个功能通过设置DataBindings属性来实现。
2.3.4设计管理员显示界面
在当前工程中添加一个“窗体”,将窗体命名为“FrmMger”。
在窗体上添加1个ComboBox控件、5个CommandButton控件、1个DataGrid控件、4个Label控件、1个SSTab控件和1个TextBox控件。
各按钮控件是为了执行相应的操作。
各TextBox控件和CheckBox控件用来显示数据库中的数据,这个功能通过设置DataBindings属性来实现。
第三章系统实现
3.1开发环境
本系统使用VisualBasic语言进行开发。
适用内存不低于256M配备有Windows2000,Windows2003,WindowsXP系统的计算机。
3.2系统流程图
在本系统中准备通过如下窗体来实现数据维护的功能。
(1)主窗体:
管理着各个子窗体。
(2)“用户”子窗体:
管理用户信息、显示图书及借阅信息
(3)“管理员”子窗体:
管理用户、图书及借阅信息。
系统流程图如图3.1所示:
图3.1系统流程图
3.3程序调试情况
在把系统从一台计算机移植到另一台计算机时一定要把数据文件BookSystem.mdf和BookSystem_log.ldf同时移植,并对相应的提供服务的SQLServer服务器进行相应的修改,否则数据不能正确连接并显示。
注意修改的时候问题出现得比较多,我经常就是在某些机器上能运行,某些机器上又无法运行。
到现在都不清楚问题所在。
3.4功能显示
运行程序后首先显示主窗体,如图3.2所示。
图3.2主界面
单击“图书查询”,就会弹出如图3.3所示登录框。
图3.3图书查询界面
在查询编辑框中填入要查询的关键字,在查询类型选择相应的查询方式,若要查询所有图书(包括借出图书)则将所有勾选,若只查询未借出图书则将所有前面的勾去掉,然后点击搜索即可。
点击退出即可回到主界面。
在主界面点击登陆则弹出登陆对话框
图3.4登陆界面
在登录对话框中输入用户编号和密码,选择“普通用户”,单击“登陆”按钮,就会对用户身份进行认证,如果认证通过,那么就会弹出如图3.5、图3.6、图3.7所示的用户窗体。
图3.5用户窗体(图书查询)
图3.6用户窗体(用户基本信息)
图3.7用户窗体(借书记录)
点击注销即可返回主窗口。
图3.8登陆对话框
在登录对话框中输入管理员编号和密码,选择“管理员”,单击“登陆”按钮,就会对管理员身份进行认证,如果认证通过,那么就会弹出如图3.9、图3.10、图3.11、图3.12所示的用户窗体。
图3.9管理员窗体(图书信息)
图3.10管理员窗体(管理员基本信息)
图3.11管理员窗体(用户信息)
图3.12管理员窗体(借书记录)
第四章结束语
通过做课程设计,有几点感想,归纳如下。
1.扎实的理论基础。
如果不掌握它们,很难写出高水平的程序。
而这一点又是我们所缺乏的。
2.不钻牛角尖。
当遇到障碍的时候,暂时远离电脑,当重新开始工作的时候,也许会发现那些难题现在竟然可以迎刃而解。
3.多与别人交流。
三人行必有我师。
4.良好的编程风格。
注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终保持一致。
如果注释和代码不一致,那就更加糟糕。
5.数据库讲求的是整体,只有在整体的情况下完善局部,才能做出一个好的数据库。
但数据库的连接问题一直困扰着我。
某些机器无论如何加载数据库,都是无法和程序正常连接。
这个问题在我完成了设计之后都无法解决。
希望老师能给些指点。
还有就是借书记录的表,没有添加用户名字,失误啊!
附录:
源代码清单
附录1.1数据库操作模块
OptionExplicit
PublicconstrAsString'数据库连接信息
PublicrstAsADODB.Recordset'数据库内的记录
PublicconAsADODB.Connection
PublicSubconnect_db()
constr="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=BookSystem;DataSource="'数据库引擎+路径
Setcon=NewADODB.Connection'新建一个数据库连接
con.CursorLocation=adUseClient'用于客户端(ADOR)Recordset对象,游标库属性必须为adUseClient
con.ConnectionString=constr'连接信息
con.Open
EndSub
PublicSubsel_table(table_nameAsString,where_strAsString)
DimsqlAsString
Setrst=NewADODB.Recordset
sql="select*from"&table_name&""&where_str&""
rst.Opensql,con,adOpenDynamic,adLockOptimistic
rst.Requery
EndSub
PublicSubupd_table(table_nameAsString,set_strAsString,where_strAsString)
DimsqlAsString
sql="update"&table_name&"set"&set_str&"where"&where_str&""
con.BeginTrans
con.Executesql
con.CommitTrans
EndSub
PublicSubdel_table(table_nameAsString,whereAsString)
DimsqlAsString
sql="deletefrom"&table_name&""&where&""
con.Executesql
EndSub
PublicSubins_table(table_nameAsString,intoAsString,valuesAsString)
DimsqlAsString
sql="insertinto"&table_name&into&""&values&""
con.Executesql
EndSub
附录1.2主窗口代码
PrivateSubCommand1_Click()
OnErrorGoTogoywc
Callconnect_db
WithFrmUser
.Label1.Caption="游客"
.SSTab.TabEnabled(0)=False
.SSTab.TabEnabled
(1)=False
.SSTab.Tab=2
.Command6.Caption="退出"
.Height=6720
.Picture1.Visible=False
.Picture2.Visible=True
.Picture3.Visible=True
.Picture2.Top=960
.DataGrid1.Height=4350
.DataGrid1.Top=450
EndWith
Callsel_table("Books","")
SetFrmUser.DataGrid1.DataSource=rst
WithFrmUser.DataGrid1
.Columns(0).Caption="图书编号"
.Columns
(1).Caption="书名"
.Columns
(2).Caption="类型"
.Columns(3).Caption="作者"
.Columns(4).Caption="出版社"
.Columns(5).Caption="出版日期"
.Columns(6).Caption="图书简介"
EndWith
FrmUser.Label9.Caption="一共有"&rst.RecordCount&"本书"
UnloadMe
FrmUser.Show
ExitSub
goywc:
MsgBox("连接数据库失败")
EndSub
PrivateSubCommand2_Click()
FrmLogin.Show1
EndSub
PrivateSubCommand3_Click()
UnloadMe
EndSub
PrivateSubCommand4_Click()
FrmAbu.Show1
EndSub
附录1.3登陆界面代码
PrivateSubCommand1_Click()
OnErrorGoToywc
IfText1.Text=""Then
MsgBox("用户名不能空")
ExitSub
EndIf
IfText2.Text<>Text3.TextOrText2.Text=""OrText3.Text=""Then
MsgBox("密码输入错误")
ExitSub
EndIf
Callconnect_db
IfOption1.Value=TrueThen
Callsel_table("Users","whereUid='"&Text1.Text&"'andUpwd='"&Text2.Text&"'")
Ifrst.RecordCount>0Then
WithFrmUser
.SSTab.Tab=2
.Text1.Text=Text1.Text
.SSTab.Tab=2
.Height=6720
.Picture1.Visible=False
.Picture2.Visible=True
.Picture3.Visible=True
.Picture2.Top=960
.DataGrid1.Height=4350
.DataGrid1.Top=450
EndWith
Callconnect_db
Callsel_table("Books","")
SetFrmUser.DataGrid1.DataSource=rst
WithFrmUser
.DataGrid1.Columns(0).Caption="图书编号"
.DataGrid1.Columns
(1).Caption="书名"
.DataGrid1.Columns
(2).Caption="类型"
.DataGrid
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统