图书管理系统vb+Access.docx

上传人:b****6 文档编号:3368105 上传时间:2022-11-22 格式:DOCX 页数:21 大小:852.33KB
下载 相关 举报
图书管理系统vb+Access.docx_第1页
第1页 / 共21页
图书管理系统vb+Access.docx_第2页
第2页 / 共21页
图书管理系统vb+Access.docx_第3页
第3页 / 共21页
图书管理系统vb+Access.docx_第4页
第4页 / 共21页
图书管理系统vb+Access.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

图书管理系统vb+Access.docx

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

图书管理系统vb+Access.docx

图书管理系统vb+Access

前言..............................................................................................1

作业背景.........................................................................................1

选题说明.........................................................................................2

工作业绩.........................................................................................2

第一章管理信息系统概要

1)系统开发前提.........................................................................3

2)系统开发目的.........................................................................3

第二章

管理信息系统需求分析

1)

2)

3)

现行业务描述.......................................................................4

现行管理系统存在问题分析及解决方案

系统技术和功能可行性分析.............................................7

第三章

管理信息系统设计

1)

2)

3)

系统设计的任务和原则.....................................................8

数据库的设计...................................................................10

登录界面设计...................................................................13

第四章

系统执行情况

1)书籍出借/归还......................................................................17

2)系统执行过程.......................................................................18

结束语...............................................................................20

致谢...................................................................................20

主要参考文献................................................................................21

-0-

图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数

据库的建立和维护以及前端应用程序的开发两个方面。

对于前者要

求建立起数据一致性和完整性强、数据安全性好的库。

而对于后者则要求应用程序功能完备,易使用等特点。

因此,我们结合开入式图书馆的要求,深入的学习了《Visual

Basic6.0中文版入门与提高》、《VisualBasic6.0程序设计》、《

Access2007数据库开发全书》等全书,并对VisualBasic6.0和

Access数据库技术进行了较深入的实际应用,主要完成对图书管理

系统的需求分析、功能模块划分、数据库模式分析,并由此设计了

数据库结构和应用程序。

系统运行结果证明,本文所设计的图书管

理系统可以满足借阅者、图书馆工作人员管理三方面的需要。

选题说明:

我们选择开发的是个简单易于操作的图书管理系统

1.作业背景:

考虑到开发的图书管理系统是为了达到“人机结

合”有效的减轻借阅者或是管理员的手工操作不便,有效的达到信

息的最优化,易查化。

在正式开始创建一个图书管理系统之前有些

前提工作,它包括有对用户的需求进行分析以及构思出理想中想象

的或者运行后的界面,为以后的创建理清思路,使创建更方便,快捷。

首先进行的是系统分析即对系统需求的功能,系统运作的流程图和

系统E-R图的分析,建立图式模型。

其中E-R图的建立是创建数据

-1-

库的核

-2-

心工作。

2、

选题说明:

本图书馆系统的主要实现是解决图书馆馆存图

书量大,查询起来费时费力,而且专业图书所占的比重小,管理方

法简单图书的利用率低,管理成本高,图书的可利用率和安全性偏

低等等问题,在了解图书管理的以上问题的基础上,我们充分应用

起自己所学的专业知识,研发出一个新的系统来能够科学合理的管

理图书,达到既省时又省力的状态,有效的提高图书的利用率。

三、工作业绩

1、个人主要工作;负责编写实验报告,对系统代码进行核查验证,处理相关系统图片等

2、主要收获;对VisualBasic有了个初步的认识,更深入的

了解了如何用Access建立一个数据库并对系统进行相关数据的管理,

在此基础上也学会了对开发一个管理信息系统的过程有了一个初步的系统的认识。

3、自我评价:

在没做系统前,对VisualBasic还有ACCESS都

只是有个粗略的了解,在这次做系统的过程中发现自己所了解的相

关知识还有很多方面的欠缺,就通过图书馆查阅相关书籍和在网上查询相关信息等多个渠道对VisualBasic和Access有了个更深入的

认识,查询了相关系统设计思路,从中了解到了系统设计的很多注

意事项和相关要求等等,在整个系统的设计过程中,自己的知识面

得到了很大的提高,也改变了我原来对系统设计的一些错误认识,

3

更重要的是在通过这次系统设计增强了我的软件开发的浓厚兴趣。

第一章

1)系统开发前提

管理信息系统概要

目前,随着网络技术的飞速发展,各行各业都在追求信息化,以

防在信息时代落伍,而普通高校也如此,图书馆是高校师生获得知

识的一个重要渠道。

因此一个健全的图书管理系统就必不可少,图

书管理系统的使用大大的提高了图书馆的工作效率,很好的节省了

大量的人力、物力和财力资源。

管理信息系统的开发是一个开发周

期长、技术要求高、影响因素多的复杂系统工程,因此制定一个完

善、可行、合理的开发计划,不仅是系统开发成功的保证,而且可以提高效率、节省时间、降低成本。

2)系统开发目的

由于在过去人们对信息管理的主要方式是基于文本、表格等

纸质的手工处理之上的,而用手工进行图书借阅管理存在多种弊

端,其中包括图书过于繁多,包含很多的信息数据的管理对于图书

借阅情况如:

借阅天数、超过限定借阅时间等等的统计和核实,往

往采用对借阅卡的人工查询进行,对借阅天数等用人工计算、手抄

进行。

信息处理工作量大,容易出错;由于数据繁多,容易丢失,

且不易查找。

总的来说缺乏系统、规范的管理手段人们操控起来是

很困难的;因此,使用电子化的管理手段将是大势所趋,建立一个

图书管理系统也是图书管理部门提高工作效益的有效手段。

系统能

够合理高效地利用图书资源,使得图书借阅更加的科学合理。

-4-

第二章管理信息系统需求分析1)现行业务描述

对于一个图书管理系统来说,图书的查询及数据的维护管理是其中

的核心环节。

在现现行的图书管理中存在几个共同的问题:

1、

图书种类过多,数据庞大;这是几乎所有图书馆都会遇到的

共同问题,各种不同种类的图书馆为这些图书入库,进行添加于

维护增加了很多的难题,对这些数据的反复输入,往往造成庞大的工作量和较低的效率。

2、

查询图书困难,每天的借阅情况,读者借阅的到期、还书情

况,各项数据的汇总和统计情况必须由管理员统计上报,图书库

总管理员才能考虑对图书馆的硬件如某类书的需求数量进行改变已向上级申报。

3、

图书毁坏及图书破损;在借阅过程中难免此类现象的发生,

如何及时发现及事后对毁坏图书进行淘汰和更新也是个需要解决的问题。

4、

不能及时归还图书;经常有读者超过借阅期的情况发生,对

此类读者的超期信息提示也是图书借阅管理工作中必须解决的问题之一。

通过调查,一般图书馆组织结构图如下:

-5-

通过调研了解到,该图书馆各个部门负责的主要业务如下:

(1)采编组主要负责图书采编工作,包括购置新书、打印编目、

增加数量。

(2)目录厅主要负责读者查询工作,包括可借图书;新书目录;借书情况

(3)借阅组主要负责图书流通、查询统计、借阅查询等工作。

(4)阅览室、工具书室主要负责读者阅览工作,包括:

阅览各种杂志、报纸、阅览各种工具书。

下面绘制出图书馆流通业务中借书的流程图。

(1)读者在目录厅查阅索引卡;

(2)读者写出所借图书的分类号、种次号、交给图书管理员,并出示本人的借书证;

(3)图书管理员根据图书的分类号、种次号到书库找书;

(4)将图书交给读者,并由读者填写所借图书的借书卡。

-6-

(5)图书管理员把借书卡保存到写有该读者借书证号的口袋里。

2)现行管理系统存在问题分析和解决方案

该图书馆工作大部分还是进行着手工管理,工作起来效率很

低,并且不能及时了解图书馆各类图书的存库,学生们比较需求的

图书等等,不便于动态及时地调整图书结构,以便更好地适应当前

学生的借阅需求。

手工管理还存在这许多弊端,由于不可避免的人

为因素,经常造成数据的遗漏、误报。

计算机信息化管理有着储存

信息量大、速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。

基于以上的对问题的分析,利用计算机给我们提供信息,

及时地调整学校图书馆图书结构,并且对学生们的借阅过程形成一整套动态的管理就十分必要了。

图书馆信息系统的建立,需要进行用户的需求调查与分析,以

确定系统目标,提出解决问题的详细方案,这是系统建设的重要环

节。

学校图书馆规模相对于商业图书馆小,但要有着完善的图书信

息,对每一册书要有详细的记录信息,功能上对系统的需求是全面

的。

因此对用户的需求可分为四个方面:

一方面是图书馆工作人员

通过计算机来管理各类图书,分类编号,调整图书结构,增加图书

库存,适应学生的需求;二方面是学生们能通过计算机来查询浏览

图书馆中的图书,来确定自已需要的书籍,为借阅做好准备;三方

-7-

面是工作人员对学生们的借书证发放,登记能作好全面的掌握,及

时得到每个借书证的当前状态和历史借阅记录;四方面也是图书馆的核心工作,对图书的借阅管理。

得出图书馆的业务流程图如下:

3)系统技术和功能可行性分析

通过对该图书馆的各个方面进行了具体的了解之后,现对该单位开发图书管理系统的可行性进行分析。

技术上可行:

该系统所需硬件设备,市场上销售且价格较低,甚至可以使用原有的设备,软件上,操作系统采用Windows系列操作系统,数据库管理系统采用VisualBasic、access

管理上可行:

该学校的图书馆有很多的管理体制,每位借书人均

有借书证,同时图书馆还为每位借书人建立了档案。

因此管理上可

行。

另外,图书馆管理人员对开发该系统也是大力支持的,同时制定了培训计划,并进行了实施MIS的物质准备和工作准备。

-8-

第三章管理信息系统设计

系统设计在整个开发过程中起着重要的作用。

它将系统分析阶段建

立的功能模型转化为系统的结构模型,并做好编程前的一切准备。

系统分析是定义系统干什么的问题,而设计阶段是解决怎么干的问

题。

它从系统的目标出发,建立系统的总体结构,规划系统的规模,

建立各个基础部分,并说明它在整个系统中的作用及相互关系。

1)系统设计的任务和原则

系统分析阶段的主要任务包括:

数据库设计(即数据存储文件的

设计)、系统结构设计、系统流程设计、系统功能模块设计等。

系统

设计的总原则是:

保证系统设计目标的视线,并在此基础上是技术

资源的运用达到最佳。

系统设计中,应遵循以下原则:

系统性原则、可靠性原则、管理可接受性原则

数据库设计的目标:

1数据存储合理,要符合数据库设计的3个

范式。

即:

表中每一个值都是院子项,只显示一次;表中每行都必

须可以被唯一地区分;表中不会又多余的已存在其他表中包含的非关键字信息。

2数据对象的关系清晰明了,符合业务逻辑。

3保证数

据的完整性。

4数据库系统该换时,原有的系统设计要便于转移,减少代码重写。

5维护方便

-9-

图3-1

总体E-R图

图3-2

读者E-R图

-10-

图3-3

图书E-R图

图3-4

2)数据库设计

管理员E-R图

数据库采用了Microsoft推出的Access数据库,,这是微软集成到Office中的一个桌面数据库,能够快速方便的和Office的其他套件综合使用。

由于Access具有显著的简易性和有效性,大量的桌面数据库系统都采用Access作为后台数据库。

-11-

书籍信息E-R图

借阅信息E-R图

用户表E-R图

-12-

(1)本系统中涉及到的主要实体及其属性有:

tblbooK(图书管理)表:

{图书编号,,书名,作者,出版社,出版日期,价格,tblCard(借书证)表:

{借书证编号,,姓名,男女,}

tblLoan(借阅)表:

{借书证编号,图书编号,借书日期,还书日期,}tblOperator(操作员)表:

{操作员编号,姓名,密码,}

TblOperator

操作员表,定义操作员的ID和密码,作为系统登录检查的依据,提供唯一的管理员ID。

TblLoan

借阅表,通过借书证ID和图书ID反映图书的借阅关系。

TblCard

借书证表,提供读者信息等,同时包括借书证是否可用,提供唯一的借书证ID。

TblBook

图书表,保存馆内所有图书的信息,提供唯一的图书ID

(2)本系统的实体----联系(E-R)图

-13-

3)登录界面设计

系统进行登录时,用户单击了菜单“登录”,此时系统开始显示登录窗口。

PrivateSubmnuSysLogin_Click()

frmLogin.ShowvbModal

IfCurrentUser.LoginSuccessThen

Me.Caption=App.Title&"("&CurrentUser.Name&")"

Else

Me.Caption=App.Title&"(未登录)"

EndIf

EndSub

程序首先显示frmLogin窗口,由于这个窗口是模态

(vbModal)显示的,因此如果用户只能关闭这个窗口后才能进行其他的操作。

VB的窗口分成模块窗口和非模态窗口两种,普通情况下都是非模态窗口,但是多数对话框是模态窗口。

程序的后面使用了一个结构体,这个结构体在公共模块定

义,程序的任何地方都可以访问这个结构体,同时程序初始化了一个全局变量CurrentUser。

该变量用来指示当前是否有用户登陆,用户的ID和名称是什么等信息。

TypeUsers

IDAsInteger

NameAsString

PasswordAsString

LoginSuccessAsBoolean

EndType

PublicCurrentUserAsUsers

-14-

登录窗口实现代码:

OptionExplicit

DimcntAsInteger'记录确定次数

PrivateSubcmdCancle_Click()

UnloadMe

EndSub

PrivateSubcmdOK_Click()

DimsqlAsString

Dimrs_loginAsNewADODB.Recordset

DimconnAsNewADODB.Connection

conn.Open"provider=Microsoft.Jet.OLEDB.4.0;datasource="&App.Path&"\database.mdb"IfTrim(Text1.Text)=""Then

MsgBox"用户名不能为空,请重新输入!

"

Text1.SetFocus

Else

sql="select*from用户表whereuser_ID='"&Trim(Text1.Text)&"'"

rs_login.Opensql,conn,adOpenKeyset,adLockPessimistic

Ifrs_login.EOF=TrueThen

MsgBox"没有这个用户,请重输入!

",vbOKOnly+vbExclamation,""

Text1.Text=""

Text1.SetFocus

Else

username=Text1.Text

IfTrim(rs_login.Fields

(1))=Trim(Text2.Text)Then

UnloadMe

图书馆理系统.Show

Else

MsgBox"密码不正确,请重新输入!

",vbOKOnly+vbExclamation,""Text2.SetFocus

Text2.Text=""

EndIf

EndIf

-15-

EndIf

cnt=cnt+1

Ifcnt=3Then

UnloadMe

EndIf

EndSub

PrivateSubForm_Load()

cnt=0

EndSub

“系统运行”实现代码:

PrivateSubCommand1_Click()

IfText2=""Then

MsgBox"请输入姓名"Text2.SetFocus

-16-

Else

sql="select*fromborrowwhere读者姓名='"+Trim(Text2.Text)+"'"ado.ConnectionString=constr'连接字符串

ado.RecordSource=sql'社顶记录员

ado.Refresh

grid.Refresh

EndIf

EndSub

PrivateSubForm_Load()

constr="provider=microsoft.jet.oledb.4.0;"&"datasource="&App.Path&"\library1.mdb"EndSub

“图书归还”实现代码:

PrivateSubCommand1_Click()

IfText1=""Then

MsgBox"请输入读者姓名"

Text1.SetFocus

Else

sql="select*fromborrowwhere读者姓名='"+Trim(Text1.Text)+"'"ado.ConnectionString=constr'连接字符串

ado.RecordSource=sql'社顶记录员

ado.Refresh

grid.Refresh

EndIf

EndSub

PrivateSubForm_Load()

constr="provider=microsoft.jet.oledb.4.0;"&"datasource="&App.Path&"\library1.mdb"

-17-

1)

第四章系统执行情况书籍出借/归还

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Text;

usingSystem.Windows.Forms;

namespace借_还书籍登记

{

publicpartialclassForm1:

Form

{

publicForm1()

{

InitializeComponent();

}

privatevoidbutton4_Click(objectsender,EventArgse){

}

}

}

新书入库的程序段采用了更为完备的功能,它首先检测用户输

-18-

入是否合法,然后整理用户的输入信息,通过Database的Execute方法将SQL语句写入到数据库中,由于写入过程有可能出错(数据

库共享冲突、硬件故障等),所以代码段中使用了差错控制机制,VB的差错控制通过两个语句来完成

OnErrorGotoLine_Indentity

或者

OnErrorResumeNext

其中第一句表示如果发生错误时将转到Line_Indentity开始的

地方进行处理,第二句表示如果发生错误时强制程序继续运行以后的语句。

str1="LibID"

str2=Chr(34)&Text1.Text&Chr(34)

2)系统执行过程

#include

#include

#include

#include

#include

#defineSTACK_INIT_SIZE10

#defineOK1

#defineTRUE1

#defineFALSE0

#defineERROR0

findbook()

{

FILE*fp;

charbookname[10];

intture,i;

fp=fopen("book.txt","r");

printf("请输入你要查找的书名\n");

scanf("%s",bookname);

-19-

for(i=0;fread(&book[i],sizeof(structbook),1,fp)!

=0;i++)

{

if(strcmp(bookname,book[i].bookname)==0)

{

if(book[i].turefalse==1)

{

printf("这本书的详细资料是:

%d%s%s此书现在无人借阅\n按任意键返回\n",book[i].booknum,book[i].bookname,book[i].bookcreat);

}

else{printf("这本书已经有人借出\n");fclo

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

当前位置:首页 > 小学教育 > 语文

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

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