《图书借阅管理系统—毕业设计说明书概要(共22页).doc》由会员分享,可在线阅读,更多相关《图书借阅管理系统—毕业设计说明书概要(共22页).doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上图书借阅管理系统摘要:图书借阅管理系统是现代智能办公系统的重要组成部分。因此,在本论文中详细介绍了图书借阅管理系统从开发到使用的过程。论文首先从背景上说明了图书借阅管理实现信息化的重要性;然后对所用到的软件进行了简单的介绍;再通过简单的需求分析来说明在图书借阅管理系统应该具备哪些功能;然后构建一个数据库,并对数据库中各张表进行分析组建相应的关系;在需求分析和数据库都完成后,再进行系统设计;然后,该论文有对系统编写了使用说明书;最后,对此次系统的设计进行了总结。系统中使用Microsoft Visual Studio 2005, Access软件进行代码和数据库的设计,
2、主要实现了图书的借还书管理,读者信息的管理以及对图书信息的管理。关键字:图书管理;借阅;还书Abstract: Library book Lending Management System is an important component part of the (IOA), therefore, In this paper details the lending management system from development to use the process.Firstly, from the background shows lending management realize
3、 the importance of information technology; then the software used a simple introduction; then through a simple needs analysis to illustrate the lending management system which features should have; and then build a database, and database tables to analyze the formation of the corresponding relations
4、hip; in requirements analysis and database are complete, then the system design; then, the paper has written a manual on the system; Finally, the design of the system summarized. System using Microsoft Visual Studio 2005, Access software code and database design, the main achievement of the manageme
5、nt of borrowing and returning books, readers of books of information management and information management.Keyword: library management ; borrow ; return books前言:当今社会是一个飞速发展的信息时代,随着计算机技术的普及,让大多数的办公事业通过计算机技术实现了信息的现代化,网络化。图书馆对很多学生来说是个每天都会去的地方,在哪里他们可以获取他们想要的知识,同时也可以从图书馆借阅资料,以方便出图书馆后仍能继续查看资料。因此,图书馆作为一个信息
6、量大的环境,计算机已被用来协助图书管理员来管理读者、图书、和读者借还书的信息。在信息化还不流行的时代,通常图书馆里的信息都是通过手工的方式来记录,这种方式工作量大,出错率高,也不容易修改各种信息。人工的记录信息都是以纸质的方式来记录信息的,大量的信息记录容易造成资源的浪费,同时也污染了环境。手工操作时,管理员记录信息时不仅要进行将所有的信息写到纸张上,还需要在借还书时对记录的数据进行修改,又是同样的工作要重复好几遍,让费了人力物力;读者很难进行图书查询,只能在一个一个书架上找,让费了时间,有时也不一定能够找到。为了能够解决这些问题,我们需要建立一个图书借阅管理系统,是图书借阅和管理能够规范化,
7、系统化,提高信息处理的速度和准确性,还能够优化图书借阅管理的流程,减轻管理员的工作压力,减少读者查询信息所浪费的时间。一、系统概述及开发工具1. 系统概述本图书借阅管理系统针对于人工管理图书借阅时的各种功能,设置了两种人员的使用权限,一个是系统管理员,还有一个是普通用户;系统管理员主要有读者信息管理、添加图书信息、浏览图书信息、借还书管理等功能,而普通用户只具备了查询图书等功能。2. 开发工具Microsoft Visual Studio 2005C#是一种面向对象的、运行于. NET Framework 之上的高级程序设计语言,具有许多优良的特性和广泛的应用背景。C#(读作“C sharp”
8、)是Microsoft公司推出的一种以C/C+为基础的新的开发语言。作为一种新的程序设计语言,主要具有一下特点:简洁的语法、精心地面向对象设计、与Web的紧密结合、完整的安全性与错误处理、版本处理技术、灵活性与兼容性。C#在带来对应用程序的快速开发能力的同时,并没有牺牲C与C+程序员所关心的各种特性。它忠实地继承了C和C+的优点。如果你对C或C+有所了解,你会发现它是那样的熟悉。即使你是一位新手,C#也不会给你带来任何其它的麻烦,快速应用程序开发(Rapid Application Development,RAD)的思想与简洁的语法将会使你迅速成为一名熟练的开发人员。 Microsoft Of
9、fice AccessMicrosoft Office Access是由微软发布的关联式。它结合了 Microsoft Jet Database Engine 和两项特点,是 Microsoft Office 的系统程式之一。Assess能够存取 Access/Jet、,或者任何 兼容数据库内的资料。熟练 的和资料分析师利用它来开发,而一些不熟练的程序员和非程序员的进阶用户则能使用它来开发简单的应用软件。Access是Office系列软件中用来专门管理数据库的应用软件。Access应用程序就是一种功能强大且使用方便的关系型数据库管理系统,一边也称关系型数据库管理软件。他可运行于各种Micros
10、oft Windows系统环境中,由于它继承了Windows的特性,不仅易于使用,而且界面友好,如今在世界各地广泛流行。它并不需要数据库管理着具有专业的程序设计水平,任何非专业的用户都可以用它来创建功能强大的数据库管理系统。二、系统分析在计算机尚未在图书馆广泛使用之前人们都是用纯手工的方法进行图书的管理、借阅和归还,还有对读者信息的管理。一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证信息记录下来,并在借阅证和每本书贴的借阅条上填写借阅信息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信
11、息找到相应的书卡和借阅证信息,并填好相应的还书信息,这样还书过程就完成了。但是这样的操作不仅需要大量的人力,还需投入大量的物力,而且在查询信息时极其不方便。这样就降低了管理员的工作效率,出错率也大大提高,也让图书信息的更新放慢了速度。但在计算机技术流行的今天,计算机的图书馆里系统已经完全代替了手工,实现了信息化的图书管理。在实现图书借阅管理的信息化过程中,我们需要实现手工操作下的所有功能。如:能够输入图书的综合情况和进行新书入库、现有图书信息修改以及删除; 能够实现对读者档案的查询和编辑管理;能够进行借阅历史的查询功能。设计图书借阅管理系统主要是利用数据库和VS软件编制一个管理软件,用以实现图
12、书、读者以及日常工作等多项管理。同时对整个系统的分析、设计过程给出一个完整论证。如:图书信息的批量录入和删除、图书信息的查询、读者信息的录入和删除。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。其中主要包括以下功能(如图1):图1 图书借阅管理系统功能模块图管理员权限设置图书管理图书基本信息登记登记图书的相关信息包括图书编号,图书名称,作者,出版日期,出版社,类型,数量,价格还有与之相关的备注。 显示书目详细资料时,要求显示图书编号,图书名称,作者,出版日期,出版 社,类型,
13、数量,价格还有与之相关的备注。读者信息管理读者信息登记登记新读者的相关信息包括借书证编号,姓名,性别,电话,身份证,密码,罚款,身份,和与之相关的备注。 显示读者详细信息时,要求显示借书证编号,姓名,性别,电话,身份证,密码,罚款,身份,和与之相关的备注。读者借阅查询能够显示出读者的个人信息和图书的相关信息。图书借阅管理借阅登记提供借阅登记表,登记借阅者信息和需要借的相关图书的信息。判断该图书是否已经借出,如已经借出则提示。借出书后,将相关信息添加到借出书表中。返还登记通过读者相关信息的填写,和图书编号的填写,显示出借出图书的相关信息。将该书的归还时间记录在借书表中。借阅信息查询提供借阅的书目
14、列表,包括图书名称,作者,借阅书籍数。2、普通用户权限图书信息查询图书信息的查询用户通过相关要求的输入,系统能够显示出符合用户需求的图书的相关信息。图书借阅查询用户在登录系统后可以查看自己的借书情况,以便自己的借书方便。用户密码修改用户可以通过系统的相关操作,修改自己的密码,保证了自己密码的可靠性。三、系统设计1. 后台数据库设计在本套系统中,设计了6张数据表,这些数据表分别用来存储与图书相关的信息、与读者相关的信息。下面分别介绍这些表的数据结构。表1 图书信息表字段名类型及长度说明备注BIDvarchar(50)图书编号主关键字BNamevarchar(50)图书名BWritervarcha
15、r(50)作者BPublishvarchar(50)出版社BDatedate出版日期BPricevarchar(50)价格BNumvarchar(50)数量Typevarchar(50)类型BRemarkvarchar(50)备注表2 借出信息表字段名类型及长度说明备注OID自动编号系统自动生产编号主关键字BIDvarchar(50)图书编号PIDvarchar(50)读者编号ODatedate借出日期表3 读者身份信息表字段名类型及长度说明备注identityvarchar(50)身份主关键字longTimeint最长借阅时bigNumint最大借阅数表4 用户权限表字段名类型及长度说明备注
16、MNamevarchar(50)用户名主关键字MCodevarchar(50)密码manage是/否权限1work是/否权限2query是/否权限3表5 读者信息表字段名类型及长度说明备注PIDvarchar(50)借书证编号主关键字PNamevarchar(50)姓名PSexvarchar(50)性别PPhonevarchar(50)电话PNvarchar(50)身份证PCodevarchar(50)密码PMoneyint罚款identityvarchar(50)身份PRemarkvarchar(50)备注sys是/否权限表6 图书类型表字段名类型及长度说明备注TID自动编号系统自动生产编号
17、主关键字typevarchar(50)类型tRemarkvarchar(50)类型描述数据库关系图体现了数据库各个表之间的联系,直观而清晰为系统的开发提供了方便。对于上述几个表,他们的关系图2所示图2 数据库关系图2程序设计我们总会想到我们在图书馆借书时,一个是管理员可以登录界面,还有就是读者自己也能登录系统进行信息的查看。在设计时,需要根据使用者的类型来制作,在这里可以使用来个单选按钮来让用户进行选择,在选择用户后,我们通过文本框中用户编码和密码,然后通过确定按钮的添加点击来对比文本框中的信息与数据库中的信息是否相符,是否能够登录系统。如图3:图3 登录界面代码如下:private void
18、 btAdd_Click(object sender, System.EventArgs e)if(name.Text.Trim()=|password.Text.Trim()=) /由判断文本框中的内容给出相应提示MessageBox.Show(请输入用户名和密码,提示);elseoleConnection1.Open(); /打开数据库OleDbCommand cmd=new OleDbCommand(,oleConnection1); /定义命令对象if (radioManage.Checked=true) /判断选择的用户是否是管理员string sql=select * from m
19、anager where MName=+name.Text.Trim()+ and MCode=+password.Text.Trim()+; /SQL语句表示选择出与文本框中已知条件相同的管理员的相关信息cmd.CommandText=sql;if (null!=cmd.ExecuteScalar()this.Visible=false; /隐藏登录窗口main main=new main();/创建并打开主界面main.Tag=this.FindForm();OleDbDataReader dr;cmd.CommandText=sql;dr=cmd.ExecuteReader();dr.R
20、ead();main.menuItem1.Visible=(bool)(dr.GetValue(2);/与上一行相同,都是由通过对数据的读取和核对将管理员能够操作的界面显示出来main.statusBarPanel2.Text=name.Text.Trim();main.statusBarPanel6.Text=管理员;/将单选按钮中选择的内容显示在主界面下方的statusBarPanel中main.ShowDialog(); elseMessageBox.Show(用户名或密码错误,警告);/选择读者的代码如同管理员的一样在设计,应该设计一个主界面,在主界面中,可以添加一个主菜单,将每个相同
21、类型的共能够放在同一个功能区中,然后可以设置下拉式菜单来添加各个不同的功能。同时,每个功能能够连接到属于每个功能的界面上。如图4:图4 主界面代码如下:private void menuItem8_Click(object sender, System.EventArgs e)addUser = new AddUser(); /建立新的界面for(int x=0;x=0&dataGrid1.DataSource!=null&dataGrid1dataGrid1.CurrentCell!=null)oleConnection1.Open();string sql=select * from bo
22、ok where type=+ds.Tablestype.RowsdataGrid1.CurrentCell.RowNumber0.ToString().Trim()+;/定义命令对象,并执行语句OleDbDataReader dr;/读取数据dr = cmd.ExecuteReader();if (dr.Read()MessageBox.Show(删除类型+ds.Tablestype.RowsdataGrid1.CurrentCell.RowNumber0.ToString().Trim()+失败,请先删掉该类型图书!,提示);dr.Close(); elsedr.Close();sql =
23、 delete * from type where type not in(select distinct type from book) and TID += +ds.Tablestype.RowsdataGrid1.CurrentCell.RowNumber2.ToString().Trim()+;cmd.CommandText = sql;cmd.ExecuteNonQuery();MessageBox.Show(删除类型+ds.Tables0.RowsdataGrid1.CurrentCell.RowNumber0.ToString().Trim()+成功,提示);oleConnect
24、ion1.Close(); elsereturn;对读者的管理,图书信息的管理代码就如图书类型的添加删除修改相似,在这里就不一一介绍。借书和还书管理,在读者借书时,管理员要根据要求填写相应的信息。设计过程中,通过数据绑定,在图书证号输入后,提取数据将读者表中的相应记录提取出来显示在,借阅者信息的文本框中,图书信息也就如读者信息一样提取数据显示出来,借书操作就是通过SQL语句的编写将新的借书记录添加到借书表中。如图9:图9 借书代码如下:private void textPID_KeyDown(objectsender,System.Windows.Forms.KeyEventArgs e) ;
25、 /打开数据库string sql1 = select PName as 姓名,PSex as 性别,PN as 身份证,PMoney as 罚款,identity as 身份 +from person where PID= + textPID.Text.Trim() + ;string sql3 = select BID from bookOut where PID = + textPID.Text.Trim() + ; ; /定义命令对象 ; /创建DataSet对象结构,填充数据到DataSet对象的“PName和BID”表中,定义Datatable对象if (ds.Tables0.Ro
26、ws.Count != 0)textPName.Text = ds.Tablesperson.RowsdataGrid2.CurrentCell.RowNumber0.ToString().Trim();/通过绑定,将数据库中与编号相对应的信息提取出来显示在相应的文本框中for (int x = 0; x ds.Tablesbookid.Rows.Count; x+)string sql2 = select book.BID as 图书编号,BName as 图书名,BWriter as 作者,BPublish as 出版社,BDate as 出版日期,BPrice as 价格, +type
27、as 类型,ODate as 借书日期,(select longTime from identityinfo where identity=(select identity from person where PID= + textPID.Text.Trim() + ) + as 最长借书时间,dateAdd(m,最长借书时间,ODate) as 应还日期from book,bookOut where book.BID=bookOut.BID and book.BID = + ds.Tablesbookid.Rowsx0 + + and PID= + textPID.Text.Trim() +
28、 ;OleDbDataAdapter adp2 = new OleDbDataAdapter(sql2, oleConnection1);adp2.Fill(ds, bookout);dataGrid1.DataSource = ds.Tablesbookout.DefaultView;dataGrid1.CaptionText = 已借图书 + ds.Tablesbookout.Rows.Count + 本;/关闭数据库private void btOut_Click(object sender, System.EventArgs e)/借书if (textPID.Text.Trim()=|
29、textBID.Text.Trim()=)MessageBox.Show(请输入完整信息,提示);elseoleConnection1.Open();string sql=select * from bookOut where BID=+textBID.Text.Trim()+ and PID=+textPID.Text.Trim()+;/定义命令对象,在数据库中执行上面的SQL语句 if (null!=cmd.ExecuteScalar()MessageBox.Show(你已经借了一本该书,提示);elsesql = insert into bookOut (BID,PID,ODate) v
30、alues (+textBID.Text.Trim()+,+textPID.Text.Trim()+,+date1.Text.Trim()+); /获取或设置欲对数据源执行的SQL命令、存储过程名称、数据库名称cmd.ExecuteNonQuery();/关闭数据库MessageBox.Show(借出成功,提示); 在读者还书时,管理员也应根据要求填写相应的信息。还书程序的设计就如同借书程序设计一样的原理。如图10:图10 还书代码如下:private void btIn_Click(object sender, System.EventArgs e)/还书if (textBID.Text.T
31、rim()=null) MessageBox.Show(请填写图书编号,提示);else;/打开数据库string sql = delete * from bookOut where BID = +textBID.Text.Trim()+,and PID=+textPID.Text.Trim()+;/定义命令对象,并执行SQL语句cmd.ExecuteNonQuery();MessageBox.Show(还书成功,提示);读者在进入系统后,能够查看自己所需的图书是否图书库存还有,也能够查看自己已经借过多少图书以及自己这些图书在什么时候之前还,同样读者还可以随时修改自己的密码,这样有助于自己密码
32、的安全性的维护。查询图书,设计时,应该考虑到,读者有些时候查询图书时并不能够就记住图书的名字,因此,我们不仅要通过图书名来查询,还要能够通过图书编号和作者名来查询自己所需的图书,在编写代码时,通过文本框中输入的信息来编写相应的SQL语句,然后通过数据绑定来将图书的信息显示在datagridview中。如图11:图11 图书查询代码如下:private void btQuery_Click(object sender, System.EventArgs e)string sql1 = (BNum-(select count(*) from bookOut where ;string sql =
33、select BID as 图书编号,BName as 图书名,BWriter as 作者,BPublish as 出版社,BDate as 出版日期,BPrice as 价格,+BNum as 数量,type as 类型,BRemark as 备注, ;if (textID.Text.Trim() != )sql1 = sql1+ BID= +textID.Text.Trim()+) as 库存数量;sql = sql+sql1+from book where BID= +textID.Text.Trim()+;else if (textName.Text.Trim() != );/同上el
34、se if (textWriter.Text.Trim() != );/同上elseMessageBox.Show(请输入查询条件,提示);return;oleConnection1.Open();/打开数据库;/定义命令对象,并执行语句;/创建DataSet对象结构ds.Clear();/定义Datatable对象,并初始化表dataGrid1.DataSource=ds.Tables0.DefaultView;dataGrid1.CaptionText=共有+ds.Tables0.Rows.Count+条查询记录;oleConnection1.Close();查询自己所借图书记录,借阅者信息及借阅情况的查询就如同管理员浏览用户一样,通过对dataGrid的数据绑定,编写SQL语句将借阅者信息和借阅者的借书情况查