图书管理系统.docx

上传人:b****6 文档编号:7572605 上传时间:2023-01-25 格式:DOCX 页数:53 大小:222.64KB
下载 相关 举报
图书管理系统.docx_第1页
第1页 / 共53页
图书管理系统.docx_第2页
第2页 / 共53页
图书管理系统.docx_第3页
第3页 / 共53页
图书管理系统.docx_第4页
第4页 / 共53页
图书管理系统.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

图书管理系统.docx

《图书管理系统.docx》由会员分享,可在线阅读,更多相关《图书管理系统.docx(53页珍藏版)》请在冰豆网上搜索。

图书管理系统.docx

图书管理系统

一、课程设计的内容

这次课程设计采用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

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1