《2021-2022年收藏的精品资料工程科技图书馆管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《2021-2022年收藏的精品资料工程科技图书馆管理系统的设计与实现.docx(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机系毕业论文 图书馆管理系统的设计与实现学 生:指 导 教 师:学科、专业:计算机信息管理一班日期:摘要图书管理系统是采用Visual Basic6.0开发的一个数据库管理系统。开发本系统的基本步骤:需求分析、系统概念设计、系统逻辑和物理设计、系统实现和维护。在系统分析中先后用数据字典、数据流程、系统的功能结构图、ER图分析了系统所需的各种数据。在系统的设计过程中,我们采用了模块独立设计法,比较详细的展现了各个模块的功能。在库和表的设计当中, 我们力求层次清晰,设计简单实用。在系统具体实行阶段中,我画出了各个窗体并给出了相应的事件和代码,以实现各个窗体的作用。关键词:数据库 SQL 语言
2、Visual Basic6.0 图书 图书管理AbstractLibrary management system is developed using Visual Basic6.0 a database management system. Development of the systems basic steps: needs analysis, concept design, system logic and physical design, system implementation and maintenance. Analysis in the system has a data
3、 dictionary, data flow, the system function block diagram, ER diagram of the system required a variety of data. In the system design process, we use the module independent design method, showing in more detail the function of each module. Table in the library and designs, we strive to level of clari
4、ty, the design is simple and practical. Specific implementation phase in the system, we carefully meticulous plot of each form and the corresponding event and code to achieve the role of each form. Keywords: Database SQL Language Visual Basic6.0 book library management 目录摘要I绪言- -Abstract.- -第1章概述- -
5、1.1开发背景- -1.2 开发目的- -1.3 功能概述- -第2章需求分析- -2.1图书管理现状- -2.2 数据流程图- -2.2.1图书管管理系统基本信息流程- -2.2.2读者信息管理基本信息流程图- -2.2.3借书管理基本信息流程图- -2.3.4还书管理基本信息流程图- -第3章详细设计- -3.1数据库的设计- -3.1.1图书信息表- -3.1.2事务信息表- -3.1.3读者信息表- -3.2功能模块的实现- -3.3登录模块- -第4章调试与分析- -4.1- -4.2- -结束语- -致谢参考文献绪言当今时代是飞速发展的的信息时代。在各行各业中离不开信息处理,这正是
6、计算机被广泛应用于信息管理系统的原因。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够
7、及时,准确,有效的查询和修改图书情况。第1章 概述1.1开发背景随着我国的经济的发展,大量的人才是社会发展的强大推动力,正因为如此政府也越来越重视教育。随着一系列措施的实施,我国的教育现状大为改观,学生的入学率大大提高,同时也有很多的学校建立了起来。为了给同学们增加课外知识,大部分的学校都考虑到要建立图书馆。从但是手工化的管理方式,显然成了学校正常工作中为了使学校的图书馆更好的服务与广大的老师和学生,提升对图书管理的信息化,编写了本图书管理系统。1.2 开发目的针对各大中专院校的图书管理现状,设计出适合一般学校的计算机辅助图书管理系统。实现对图书基本信息、读者基本信息进行计算机辅助管理,完成借
8、书和还书有关信息的记录、修改、查询、删除等一系列任务的计算机管理与实现.。1.3功能概述该系统界面完好,操作简便,能完成添加图书信息,修改图书信息,查询图书信息,添加读者类别,修改读者类别,查询读者信息,修改读者信息,添加删除管理员等一系列图书管理功能,开发本系统的总体任务是实现图书管理的系统化和自动化,帮助管理人员更好更高效地完成图书管理工作。本着实用性和介绍性的原则,整个系统由五大模块组成,每个大的模块又包括三至四个小的模块。一、 图书管理部分:包括图书信息管理和类别管理,其功能是实现对各部分数据内容进行添加、修改、查询等操作。二、 借阅管理部分:包括借书管理和还书管理,其功能是实现对各部
9、分数据内容的添加和查询等操作。三、 读者管理部分:包括读者信息管理和读者类别管理,其功能是实现对各部分数据内容的添加和修改等操作。四、 系统管理部分:包括修改系统用户密码和增加新用户两项功能。五、 帮助部分:显示关于信息。系统具有高效、易操作、易维护等特点,并且系统结构清晰、界面友好,功能较为齐全,能有效地协助管理人员进行图书管工作。如果想真正把它用到图书馆的图书自动化管理中,还需要读者对该系统进行一步的完善工作。第2章 需求分析需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因此必须准确完整地体现用户的要求。2.1图书管理现状随着计算机技术的飞速发展,其应用方面已渗透到社会生活
10、的各个领域。它已经成为我们学习和工作的得力助手。在学校,尤其是在一些高校,图书是学校的一项重要资源,图书的管理也是学校的一项常规性的重要工作。而长期以来,学生图书管理都是依赖人工进行的。现今,有很多的学校都已经开始使用计算机进行图书信息管理,并且起得良好的效果。近年来我校招生情况越来越好,所以图书管理工作越来越繁重,但由于种种原因,管理人员并没有增加,因此原有的人工管理工作已不能适应现行的工作需要。同时,陈旧的人工管理也不利于推广计算机应用。为使图书管理工作科学化、规范化,就必须采用计算机辅助管理。2.2数据流程图数据流程图(Data Flow DFD)是描述实际业务管理系统工作流程的一种图形
11、表示法。它描绘系统的逻辑模型图,其中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流程图是逻辑系统的图形表示,即使不是专业的计算机技术人员也容易理解,所以是极好的通信工具。此外,设计数据流程图只需考虑系统必须完成的基本逻辑功能,完全不需要考虑如何具体地实现这些功能,所以它也是软件设计的很好的出发点。图书管理系统主要是为了对图书、读者基本信息等进行计算机管理。下面就是功能模块的流程分析:2.2.1图书管管理系统基本信息流程流程分析:图书基本信息的流动首先是以图书编号为流动方向的依据,来达到添加、修改、记录、删除图书记录。为了数据的一致性,进行这些操作的同时,也对数据库中的
12、记录进行检查,检查是否有重复的记录。如有则不能进行添加。2.2.2读者信息管理基本信息流程图流程图分析:读者基本信息的流动首先是以读者的编号为依据,来达到添加、修改、查询、删除读者信息的记录。同时,也对数据库中的读者信息表的编号进行检查。2.2.3借书管理基本信息流程图流程图分析:借书管理基本信息的流动首先是以借阅编号为流动方向的依据,来达到添加、查询借书记录。为了数据的一致性,进行这些操作的同时,也对数据库中的记录进行检查,检查是否有重复的记录。如没有则可进行添加。2.3.4还书管理基本信息流程图流程图分析:借阅管理部分是实现对各部分数据内容的添加和查询操作,在借阅信息中包括图书编号、读者编
13、号,系统对借书日期进行自动添加。并通过添加功能来达到借阅信息表的数据的更新,通过查询功能可使管理员很快地了解借阅信息,从而避免书籍的丢失现象产生。通过上面对各个模块流程的分析,那么我们就不难对整个系统的大致流程有一个全面的认识。设计时采用了常用的自顶向下的瀑布式结构化设计方法。这样系统做起来后就便于用户操作。综合上面各个模块的分析,其总体流程图如图:启动界面登录连接数据库,验证管理员密码进入主画面数据管理记录浏览借还操作系统设置帮助显示关于信息读者借阅借阅归还添加删除记录记录书籍书籍管理员管理员添修删加改除第3章 详细设计3.1数据库的设计3.1.1图书信息表图 3-1图书信息表字段名数据类型
14、说明图书编号文本主键,字段大小4书名文本字段大小10类别文本字段大小10价格货币类型无出版社文本字段大小40入库日期日期/时间无是否借出文本字段大小43.1.2事务信息表图 3-2事务信息表字段名数据类型说明借阅编号自动编号无读者编号文本字段大小50图书编号文本字段大小50归还日期日期/时间无出借日期日期/时间无3.1.3读者信息表 图 3-3读者信息表字段名数据类型说明读者姓名文本字段大小10读者编号文本主键,字段大小4年龄数字无家庭住址文本字段大小103.2功能模块的实现在打开数据表之前应该先打开数据库,系统中创建了一个模块,该模块的作用是连接数据库以及数据库中数据的提取,因为系统需要频繁
15、的使用数据库中的数据,建立模块可以使程序简单化,模块的代码如下:Public cn As ADODB.Connection定义连接以及取记录的对象Public rst As ADODB.RecordsetPublic Function CnToDB() As BooleanOn Error GoTo Debug设定错误机制,当连接错误时转到Debug Set cn = New ADODB.Connection With cn设定访问数据库的参数,对象SQLserver .ConnectionString = provider=sqloledb;uid=sa;pwd=;server=. .Con
16、nectionTimeout = 5 .CursorLocation = adUseClient .Open .DefaultDatabase = booksysEnd With CnToDB = TrueExit FunctionDebug:当出错时,取消连接数据库 Set con = Nothing CnToDB = FalseEnd FunctionPublic Function QueryData(ByVal strSql As String) As Boolean On Error GoTo Debug If CnToDB = True Then当连接到数据库后才能取得记录 Set
17、rst = New ADODB.Recordset With rst定义取记录的参数 .Source = strSql .ActiveConnection = cn .CursorLocation = adUseClient .CursorType = adOpenDynamic .LockType = adLockOptimistic .Open End With QueryData = True End If Exit Function Debug: Set rst = Nothing QueryData = FalseEnd FunctionPublic Function getRS(B
18、yRef rst As ADODB.Recordset, ByVal strSql As String) As BooleanOn Error GoTo rsErr Set rst = New ADODB.Recordset With rst .Source = strSql .ActiveConnection = cn .CursorLocation = adUseClient .CursorType = adOpenDynamic .LockType = adLockOptimistic .Open End With If rst.State Then getRS = True Exit
19、Function End IfrsErr: getRS = False MsgBox Err.Number & Err.Description, vbCritical + vbOKOnly, 错误信息End Function3.3登录模块图3-4 系统登录界面如果使用系统就必须先登录到系统,用户使用登录模块登录系统。单击“登录”按钮的处理代码如下:string str_name; string str_password; string str_sql; /获取用户输入的登录用户名和密码 str_name = TextBoxUserName.Text.ToString().Trim(); /去除
20、用户名两边的空格 str_password = FormsAuthentication.HashPasswordForStoringInConfigFile(TextBoxMM.Text.ToString(), MD5); /查询相应的用户名和密码的SQL语句 str_sql = select ReaderName,ReaderLevel,readerID from tb_Reader where LibraryCardID= + str_name + and Readerpwd= + str_password + ; OleDbDataReader dr = ms.Datareader(st
21、r_sql); if (dr.Read() = true) /session变量记录用户名 Sessionuser = drReaderName.ToString().Trim(); /session变量记录管理员级别 Sessionuserlevel = drReaderLevel.ToString().Trim(); /Session变量记录读者的ID号 SessionuserID = drreaderID.ToString().Trim(); /Session变量记录读者的借阅证号 SessionuserCardID = str_name; /session变量记录读者的密码 Sessi
22、onuserPwd = str_password;/ ms.Close(); /返回跳转的目的页 string strweb = LoginManager.UserLevel(Sessionuserlevel.ToString(); Response.Write( alert(登录成功!即将跳转!);location= + strweb + ); else ms.Close(); this.LabelErrorMessage.Visible = true; this.LabelErrorMessage.Text = 您必须输入有效的用户名和密码!;提示登录成功图3-5登录成功提示登录的用户先弹
23、出提示登录成功并按用户级别自动跳转到相应的功能页面,判断用户级别的代码在业务逻辑层,代码如下:switch (strLevel) case 系统管理员: strLevel = a_UserReg.aspx; break; case 图书管理员: strLevel = BookBorrow.aspx; break; default: strLevel = ReaderQuery.aspx; break; return strLevel;系统主窗体的实现图 3-6其代码如下:Private rs As ADODB.RecordsetPrivate rs1 As ADODB.RecordsetPri
24、vate rs2 As ADODB.RecordsetPrivate strSql As StringPrivate Sub Command1_Click()borrow.ShowEnd SubPrivate Sub Command2_Click()reback.ShowEnd SubPrivate Sub Command4_Click()Text2.Text = If CnToDB = False Then MsgBox 网络未响应!出现此情况可能是与服务器没有物理连接或数据库不在指向的服务器上!, vbCritical + vbOKOnly, Connecting ErrorEnd IfO
25、n Error GoTo fmerr If QueryData(select * from book) = True Then Set DataGrid1.DataSource = rst Else MsgBox 查询失败! End If Exit Subfmerr: If rst.BOF = True And rst.EOF = True Then MsgBox 没有任何记录! End IfEnd SubPrivate Sub Command5_Click()delbook.ShowEnd SubPrivate Sub Image1_Click()Dim strF As String搜索按钮
26、 strF = select * from book where bookname like % & Text2.Text & %If QueryData(strF) Then Set DataGrid1.DataSource = rstEnd IfEnd SubPrivate Sub MDIForm_Load()Text2.Text = If CnToDB = False Then MsgBox 网络未响应!出现此情况可能是与服务器没有物理连接或数据库不在指向的服务器上!, vbCritical + vbOKOnly, Connecting ErrorEnd IfOn Error GoTo
27、fmerr If QueryData(select * from book) = True Then Set DataGrid1.DataSource = rst Else MsgBox 查询失败! End If Exit Subfmerr: If rst.BOF = True And rst.EOF = True Then MsgBox 没有任何记录! End If End SubPrivate Sub mun_add_data_recstu_Click()addreader.ShowEnd SubPrivate Sub mun_borr_giv_Click()reback.ShowEnd
28、SubPrivate Sub mun_borr_ow_Click()borrow.ShowEnd SubPrivate Sub mun_data_add_recbook_Click()addbook.ShowEnd SubPrivate Sub mun_del_book_Click()delbook.ShowEnd SubPrivate Sub mun_del_stu_Click()delreader.ShowEnd SubPrivate Sub mun_exp_borrow_Click()booktran.ShowEnd SubPrivate Sub mun_exp_stu_Click()r
29、eader.ShowEnd SubPrivate Sub mun_help_about_Click()about.ShowEnd SubPrivate Sub mun_rework_book_Click()reworkbook.ShowEnd SubPrivate Sub mun_rework_stu_Click()reworkreader.ShowEnd SubPrivate Sub mun_sys_admin_Click()addmange.ShowEnd SubPrivate Sub mun_sys_sys_Click()delmange.ShowEnd Sub数据管理的实现当单击数据管
30、理添加书籍记录菜单时,窗体如下:代码如下:Private Sub Command1_Click()Unload MeEnd SubPrivate Sub Command2_Click()On Error GoTo nore If MsgBox(确实要添加吗?, vbYesNo + vbQuestion, 提示) = vbYes Then Call upD rst.Update MsgBox 添加成功 End If Exit Subnore: MsgBox 图书编号重复或者输入错误!, vbOKOnly + vbCritical, 提示End SubPrivate Sub Form_Load()
31、Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = On Error GoTo fmerr If QueryData(select * from book) = True Then Else MsgBox 查询失败! End If Exit Subfmerr: If rst.BOF = True And rst.EOF = True Then MsgBox 没有任何记录! End IfEnd SubPrivate Sub upD() rst.AddNew rst.Fields(0).Valu
32、e = Text1.Text rst.Fields(1).Value = Text2.Text rst.Fields(2).Value = Text3.Text rst.Fields(3).Value = Text4.Text rst.Fields(4).Value = Text7.Text rst.Fields(5).Value = Text6.Text rst.Fields(6).Value = Text5.Text rst.UpdateEnd Sub添加读者的窗体代码如下:Private Sub Command1_Click()On Error GoTo errorIf MsgBox(确
33、实要添加吗?, vbYesNo + vbQuestion, 提示) = vbYes Then Call upD1 rst.Update MsgBox 添加成功 End If Exit Suberror: MsgBox 读者编号重复或者输入错误!, vbOKOnly + vbCritical, 提示End SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = On Error GoT
34、o fmerr If QueryData(select * from reader) = True Then Else MsgBox 查询失败! End If Exit Subfmerr: If rst.BOF = True And rst.EOF = True Then MsgBox 没有任何记录! End IfEnd SubPrivate Sub upD1() rst.AddNew rst.Fields(0).Value = Text1.Text rst.Fields(1).Value = Text2.Text rst.Fields(2).Value = Text3.Text rst.Fi
35、elds(3).Value = Text4.Text rst.Fields(4).Value = Text5.Text rst.UpdateEnd Sub当单击数据管理修改更改书籍菜单时,窗体如下:代码如下:Private Sub Command2_Click()On Error GoTo no Call upD2 rst.Update rst.MoveNext If rst.EOF Or rst.BOF Then rst.Move First End If Exit Subno: MsgBox 修改成功End SubPrivate Sub Command3_Click()Unload MeE
36、nd SubPrivate Sub Command5_Click()Dim strF As String strF = select * from book where bookid like % & Text1.Text & %If QueryData(strF) Then Text2.Text = rst.Fields(bookname).Value Text3.Text = rst.Fields(booktype).Value Text4.Text = rst.Fields(bookprice).Value Text5.Text = rst.Fields(bookstate).Value
37、 Text6.Text = rst.Fields(bookpublish).Value Text7.Text = rst.Fields(bookintime).ValueEnd IfEnd SubPrivate Sub Form_Load()Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = Text7.Text = End SubPrivate Sub upD2() rst.Fields(0).Value = Text1.Text rst.Fields(1).Value = Text2.T
38、ext rst.Fields(2).Value = Text3.Text rst.Fields(3).Value = Text4.Text rst.Fields(4).Value = Text5.Text rst.Fields(5).Value = Text6.Text rst.Fields(6).Value = Text7.TextEnd Sub当单击数据管理修改更改读者菜单时,窗体如下代码如下:Private Sub Command1_Click()Unload MeEnd SubPrivate Sub Command4_Click()On Error GoTo no Call upD3
39、rst.Update rst.MoveNext If rst.EOF Or rst.BOF Then rst.Move First End If Exit Subno: MsgBox 修改成功End SubPrivate Sub Command5_Click()Dim strF1 As String strF1 = select * from reader where readerid like % & Text1.Text & % If QueryData(strF1) Then Text2.Text = rst.Fields(readername).Value Text3.Text = r
40、st.Fields(readerage).Value Text4.Text = rst.Fields(readercity).Value Text5.Text = rst.Fields(email).Value End IfEnd SubPrivate Sub Form_Load()Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = End SubPrivate Sub upD3() rst.Fields(0).Value = Text1.Text rst.Fields(1).Value = Text2.Text rst.Fields(2).Value = Text3.Text rst.Fields(3).Value = Text4.Text rst.Fields(4).Value = Text5.TextEnd Sub当单击数据管理删除删除书籍菜单时,窗体如下代码如下:Private Sub Command1_Click()Unload MeEnd SubPrivate Sub Command2_Click()On Error GoTo no Call upD2 rst.Update rst.MoveNext If rs