毕业设计(论文)-ASP.NET图书馆管理系统.doc_第1页
毕业设计(论文)-ASP.NET图书馆管理系统.doc_第2页
毕业设计(论文)-ASP.NET图书馆管理系统.doc_第3页
毕业设计(论文)-ASP.NET图书馆管理系统.doc_第4页
毕业设计(论文)-ASP.NET图书馆管理系统.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

焦作师专图书馆管理系统论文 编号 焦作师范高等专科学校毕 业 论文(设 计) 论文题目 图书馆管理系统 系 (部)计算机与信息工程系专 业 计算机应用技术 班 级 计应0801 学 号 12950083021 学生姓名 牛 会 敏 指导教师 靳 继 红 职 称 讲 师 2011 年 5 月目录摘要(2)第一章 概述(3)1.1 开发背景(3)1.2开发环境(3)1.2.1 系统运行环境(3)1.2.2 开发工具(3)1.3 系统建设的目标.(3)第二章 系统分析(4)2.1系统需求分析(4)2.2系统功能分析(5)2.3可行性分析 .(5)第三章 系统总体结构设计(6)3.1系统模块的设计(6)3.1.1系统主页面(6)3.1.2各模块功能实现的设计(7)3.2不同功能模块的划分(10)3.3数据库的设计(11)3.4安全设计(14)第四章 系统详细设计(16)4.1代码设计(16)4.2人机界面设计(34)第五章 系统的维护设计(35)第六章 总结.(35)致谢(35)图书馆管理系统摘要:图书馆管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端的应用程序的开发两个方面。对于前者要求建立数据的一致性和完整性,对于后者则要求应用程序功能的完备,易用等的特点。 基于上述考虑本系统主要利用Microsoft Visual Studio2005作前端的应用开发工具 ,利用SQL Server 2005作为 后台的数据库,利用WINDOWSXP作为系统平台;而全部采用Microsoft的操作系统及其应用开发工具开发的图书管理系统。 首先介绍的是开发环境及所用到的基础知识。其次是系统的设计过程,包括系统分析、功能实现和系统的调试、设计过程中遇到的难点问题等。本系统充分利用了ASP.NET 与Microsoft Visual Studio2005开发前台应用程序,SQL Server 2005开发后台数据库的优势,使系统更加完善。关键词:图书馆管理系统;需求;功能;SQL Server 2005;Microsoft Visual Studio2005;ASP.NET第一章 概述1.1开发背景本系统是以某职业学校图书馆为背景,结合图书馆的实际运行情况,经过一番详细调查,为该学校开发的图书管理系统,该学校现有学生1000多,教职工200多人,该图书馆面向学生和教职工开放,对提高学生的知识水平,和丰富业余文化生活有不可估量的作用。 随着学校规模的扩大,学生及员工对知识需求的增加,对借阅图书的频率也在不断的增加,需要有一个健全的图书管理服务,保证图书借阅的流畅进行,及时完成借还手续,提高对职工服务的满意度。这就需要图书管理能够及时更新库存图书,补充新书,对借阅手续有更有效,高速的管理。而购买大型通用的图书管理系统,对中小图书馆来说,要付出昂贵的代价,有些部分也未必能适合实际需要,有的功能又会显得多余,因此根据此图书馆的实际需要自行开发一套图书管理系统,再根据以后的需求进行更新修改十分有必要。1.2开发环境1.2.1系统运行环境 硬件方面的配置:CPU:intel P4 3.06G硬盘:320G内存:2G操作系统:Windows Server 2003 家族、Windows 2000或winXP的操作系统网络的性能:网络连接正常软件方面:IE浏览器SQL Server 2005 Microsoft Visual Studio 2005以上配置经测试,适合开发对用户机要求能正常使用网页浏览器,操作系统不限,能正常连接网络,网络建义使用宽带接入。其它硬件方面不做要求。1.2.2开发工具IE浏览器 、SQL Server 2005、Microsoft Visual Studio 2005 及ASP.NET 2.01.3系统建设的目标采用计算机管理图书借阅,提高借阅效率。优化图书管理过程,是借阅,还书,补充等各功能一体化。减少大量重复的手工劳动,及时了解图书库的现状,规范借阅流程。第二章 系统分析2.1系统需求分析当决定要开发一个信息系统时,首先要对信息系统的需求进行分析,需求分析要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。 获得当前系统的处理流程,在此首先假设当前系统是手工处理系统。手工处理流程大致是这样的。读者将要借的书和借阅证交给工作人员,工作人员将每本书附带的描述书信息的卡和读者借阅证一起放在一个小格栏,并在借阅证和每本书上贴的借阅信息。这样借书过程就完成了。还书时读者将要还的图书交给工作人员,工作人员图书信息找到相应的书卡和借阅证,并填写相应的还书信息。 建立目标系统的逻辑模型。分析目标系统与当前系统逻辑上的差别,明确目标系统到底要“做什么”,从而从当前系统的逻辑模型导出目标系统的逻辑模型。在对上述流程进行分析后,我们对新的图书处理流程进行整理,图书馆借还书过程如下: 借书过程:读者从架上选到所需图书后,将图书和借书卡交管理人员,管理人员用码阅读器将图书和借书卡上的读者条形码读入处理系统。系统根据读者条码从读者文件和借阅文件中找到相应记录;根据图书上的条码从图书文件中找到相应记录,读者如果有如下列情况之一将不予办理借书手续。 读者所借阅图书已超过该读者容许的最多借书数目。 该读者记录中有止借标志。 该读者还有已超过归还日期而仍未归还的图书。 该图书暂停外借。 若读者符合所有借书条件时,予以借出。系统在借阅文件中增加一条记录,记入读者码、图书条码、借阅日期等内容。 还书过程:还书时读者只要将书交给管理人员,管理员将书上的图书条码读入系统,系统从借阅文件上找到相应记录,填上还书日期后写入借阅历史文件,并从借阅文件上删去相应记录,为了对图书管理系统做完整的描述,还需要对上面得到的逻辑模型做一些补充首先采用图形的方式描述图书管理系统的用户界面,这样做的目的是保证整个系统的用户界面的一致性,同时也有助于后续的开发人员更好地理解系统需要实现的功能其次,说明图书管理系统的一些特珠性能要求。 前面着重对借还书流程进行了说细的阐述,下面介绍图书管理系统的总体功能要求。简单的图书管理系统主要包括下面的功能: 图书借还处理:完成读者借书还书这一业务流程。 系统设置处理:完成管理员对图书馆信息的修改、管理员的添加和删除、书架的修改删除和添加的处理流程。读者管理的处理:完成管理员对读者类型管理和读者档案管理的添加、修改和删除的处理流程。图书管理的处理:完成管理员对图书类型设置和图书档案管理的添加、修改和删除的处理流程。系统查询:图书档案查询和图书借阅查询的处理流程。 更改口令:更改登录口令。退出系统:返回登录界面。2.2 系统功能分析系统功能分析是在系统开发的总体任务的基础上完成。图书馆管理信息系统需要完成功能主要有: (1) 有关读者种类标准的制定,包括种类编号、种类名称、借书数量等。(2) 读者类型信息的查询、添加、修改、删除等。(3) 读者基本信息,包括读者姓名、读者性别、读者类型、证件类型、证件号码、联系电话、电子邮件地址、备注等。 (4) 读者基本信息的查询、添加、修改、删除等。 (5) 图书类型标准的制定、类型信息的输入,包括类别名称、可借天数等。(6) 图书类型信息的查询、添加、修改、删除等 (7) 图书信息的输入,包括书条形码、图书名称、图书类型、图书书架、作者姓名、出版社名称、图书定价、借阅次数等。(8) 图书信息的查询、添加、修改和删除。 (9) 借书信息的查询,通过读者条形码查找信息,包括读者姓名、性别、读者类型、证件类型、证件号码、可借数量;通过图书条形码查找图书。 (10) 还书信息的输入和查询,通过读者条形码查看读者信息,包括读者姓名、性别、读者类型、证件类型、证件号码、可借数量;通过图书条形码查找图书,然后删除读者信息。(11) 图书续借的查询,通过读者条形码查找读者信息,包括读者姓名、性别、读者类型、证件类型、证件号码、可借数量;通过图书条形码查找图书,比较可借图书数量办理图书续借手续等。2.3可行性分析本系统开发的主要目的就是提高图书借阅的效率,基于该校的图书借阅人次和图书量的增大,为了更方便大家借阅图书,所以此系统的开发是必要的,也是可行的。第三章 系统总体结构设计3.1系统模块的设计3.1.1系统主页面图1 前台登录前台用户登录,可以是管理员或者是学生图2 管理员登录进去后主页面管理员登录进去后的主页面,管理员可以对系统设置,读者信息,图书信息,图书的借还,口令进行更改,图书信息的查询等等,进行相关的处理。Stu用户可以进行借阅和浏览,但是没有对图书信息添加、修改和删除信息的权限。44用户可以查阅,有系统设置和图书借阅的权限。3.1.2各模块功能实现的设计系统设置模块:包括图书馆信息、管理员设置和书架信息的添加、修改和删除等。如下图:图3 图书馆信息读者管理模块:包括读者类型管理和读者档案管理,主要读者类型信息和读者信息的添加、修改和删除等。如下图:图4 读者类型管理图书管理模块:包括图书类型设置、图书档案管理,及图书类型信息的添加、修改和删除,图书档案信息的添加、修改和删除及打印图书信息等功能的实现和设计等。如下图:图5 图书类型设置图书借还模块:包括图书借阅、图书续借和图书归还,图书借阅通过图书条形码查找读者信息,包括读者姓名,性别、读者类型、证件类型、证件号码、可借数量等,再通过图书条形码查找借阅图书信息;图书续借和读者借阅的功能基本一样,只是查看读者可借图书数量,可借通过图书管理添加读者信息;图书归还,通过图书条形码查看读者借阅信息,然后通过图书管理删除归还图书的读者信息。如下图:图6 图书借阅系统查询模块:包括图书档案查询和图书借阅查询,其中图书档案查询通过输入相应的查询条件包括条形码、书名、图书类别、出版社或作者查询图书档案信息;图书借阅查询通过输入相应的查询条件包括图书条形、书名和读者条形码。如下图:图书档案查询:图7 图书档案查询图书借阅查询:图8 图书借阅查询更改口令界面:图9 更改口令界面退出系统:返回登录界面3.2不同功能模块的划分主要有系统设置、读者管理、图书管理、图书借还、系统查询和更改口令等几个主要的功能模块。功能模块划分如下图所示:图书馆信息用户登录系统设置图书借还读者管理图书管理系统查询更改口令读者类型管理读者档案管理图书类型设置图书档案管理图书借阅图书续借图书归还图书档案查询图书借阅查询管理员设置书架设置退出登录图10 功能模块图3.3数据库的设计创建数据库表:(1) 管理权限设置表 如下图所示:图11管理权限表(2) 图书借阅信息表如图所示:图12图书借阅信息表(3) 书架管理信息表:如图所示:图13书架管理信息表(4) 图书信息表:如图所示:图14 图书信息表(5) 图书类型表:如下图所示:图15 图书类型表(6) 图书馆信息表:如图所示:图16图书馆信息表(7) 读者信息表:如图所示:图17读者信息表(8) 读者类型表:如图所示:图18读者类型表(9) 用户表:如图所示:图19用户表3.4安全设计考虑到系统的安全性,设置只对使用该系统的用户才使用和处理相关信息的权限,其他非用户无权限。第四章 系统详细设计4.1代码设计(1) 登录模块的代码设计设计代码如下:public partial class entry : System.Web.UI.Page private string connString = Data Source=.;Initial Catalog=db_tsrj;Integrated Security=True; /连接数据库 private SqlConnection sqlCon; private SqlDataReader sqlDa; protected void Page_Load(object sender, EventArgs e) if (SessionuserName = null | SessionuserName.ToString() = ) txtName.Focus(); else Response.Redirect(newPass.aspx); protected void btnEntry_Click(object sender, EventArgs e) string userName = txtName.Text; string Pwd = txtPwd.Text; try sqlCon = new SqlConnection(connString); if (sqlCon.State = ConnectionState.Closed) sqlCon.Open(); SqlCommand sqlCmd = new SqlCommand(); sqlCmd.Connection = sqlCon; sqlCmd.CommandText = select * from tb_user where userName= + userName + and userPwd= + Pwd + ; sqlDa = sqlCmd.ExecuteReader(); if (SessionuserName = null | SessionuserName.ToString() = ) if (sqlDa.HasRows) while (sqlDa.Read() if (txtPwd.Text.Trim() = sqlDauserPwd.ToString().Trim() & txtName.Text.Trim() = admin) SessionuserName = txtName.Text.Trim(); FormsAuthentication.RedirectFromLoginPage(txtName.Text, false); FormsAuthentication.SetAuthCookie(txtName.Text, false); Response.Redirect(index.aspx); else if (txtPwd.Text.Trim() = sqlDauserPwd.ToString().Trim() SessionuserName = txtName.Text.Trim(); FormsAuthentication.RedirectFromLoginPage(txtName.Text, false); FormsAuthentication.SetAuthCookie(txtName.Text, false); Response.Redirect(index.aspx); else if (txtPwd.Text.Trim() != sqlDauserPwd.ToString() Response.Write(alert(密码输入错误!); else Response.Write(alert(非法登录,没有此用户!); else Response.Redirect(newPass.aspx); catch (SqlException ex) Response.Write(alert( + ex.Message + ); finally if (sqlCon.State = ConnectionState.Open) sqlCon.Close(); (2) 主页和代码设计:图20 用户登录后的主页面代码如下:public partial class _Default : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (SessionuserName != null) /判断用户是否登录 bindBookInfo(); /调用自定义方法用来绑定图书借阅排行 else Response.Redirect(entry.aspx); /跳转到登录页面 protected void bindBookInfo() string sql = select top 10 * from tb_bookInfo order by borrowSum desc; /设置SQL语句 gvBookTaxis.DataSource = dataOperate.getDataset(sql, tb_bookInfo); /获取图书信息数据源 gvBookTaxis.DataBind(); /绑定GridView控件 protected void gvBookTaxis_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowIndex != -1) /判断GridView控件中是否有值 int id = e.Row.RowIndex + 1;/将当前行的索引加上一赋值给变量id e.Row.Cells0.Text = id.ToString();/将变量id的值传给GridView控件的每一行的单元格中 if (e.Row.RowType = DataControlRowType.DataRow) /绑定图书类型 string bookType = e.Row.Cells3.Text.ToString(); /获取图书类型编号 string typeSql = select * from tb_bookType where TypeID= + bookType; SqlDataReader typeSdr = dataOperate.getRow(typeSql); typeSdr.Read(); /读取一条数据 e.Row.Cells3.Text = typeSdrtypeName.ToString(); /设置图书类型 /绑定书架 string bookcase = e.Row.Cells4.Text.ToString(); /获取书架编号 string caseSql = select * from tb_bookcase where bookcaseID= + bookcase; SqlDataReader caseSdr = dataOperate.getRow(caseSql); caseSdr.Read(); e.Row.Cells4.Text = caseSdrbookcaseName.ToString(); /设置书架 /设置鼠标悬停行的颜色 e.Row.Attributes.Add(onMouseOver, Color=this.style.backgroundColor;this.style.backgroundColor=lightBlue); e.Row.Attributes.Add(onMouseOut, this.style.backgroundColor=Color;); (3) 图书馆信息的修改及代码设计:图21 图书馆信息修改图public partial class libraryInfo : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (SessionuserName != null) /判断管理员是否登录 if (getSet() /判断是否拥有权限 if (!IsPostBack) bindLibrary(); else Response.Write(alert(您没有此权限);location=index.aspx;); else Response.Redirect(entry.aspx); /返回到登录页面 protected void btnSave_Click(object sender, EventArgs e) string libraryName = txtLibraryName.Text; string curator = txtCurator.Text; string tel = txtTel.Text; string address = txtAddress.Text; string email = txtEmail.Text; string net = txtNet.Text; string upbuildTime = txtUpbuildTime.Text; string remark = txtRemark.Text; string sql = update tb_library set libraryName= + libraryName + ,curator= + curator + ,tel= + tel + ,address= + address + ,email= + email + ,net= + net + ,upbuildTime= + upbuildTime + ,remark= + remark + ; if (dataOperate.execSQL(sql) RegisterStartupScript(, alert(保存成功!); else RegisterStartupScript(, alert(保存失败!); /自定义方法判断当前管理员是否拥有管理此页面的权限 public bool getSet() string userName = SessionuserName.ToString(); /获取管理员登录名 string sql = select * from tb_admSet where userName= + userName + ; SqlDataReader sdr = dataOperate.getRow(sql); sdr.Read(); /读取一条记录 return Convert.ToBoolean(sdrsystemSet); /返回是否拥有权限 /自定义方法显示图书馆信息 public void bindLibrary() string sql = select * from tb_library; SqlDataReader sdr = dataOperate.getRow(sql); sdr.Read(); txtLibraryName.Text = sdrlibraryName.ToString(); /获取图书馆名称 txtCurator.Text = sdrcurator.ToString(); /获取馆长 txtTel.Text = sdrtel.ToString(); /获取电话 txtAddress.Text = sdraddress.ToString(); /获取地址 txtEmail.Text = sdremail.ToString(); /获取电子邮件 txtNet.Text = sdrnet.ToString(); /获取网址 txtUpbuildTime.Text = sdrupbuildTime.ToString(); /获取建馆时间 txtRemark.Text = sdrremark.ToString(); /获取备注 (4) 更改口令的代码设计:public partial class newPass : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (SessionuserName != null) /判断管理员是否登录 txtUserName.Text = SessionuserName.ToString(); else Response.Redirect(entry.aspx); /返回到登录页面 protected void btnSave_Click(object sender, EventArgs e) string sql=select * from tb_user where userName=+SessionuserName.ToString()+; SqlDataReader sdr=dataOperate.getRow(sql); sdr.Read(); if (txtOldPass.Text = sdruserPwd.ToString() string upSql = update tb_user set userPwd= + txtNewPass.Text + where userName=+SessionuserName.ToString()+; if (dataOperate.execSQL(upSql) RegisterStartupScript(, alert(更新成功!); else RegisterStartupScript(, alert(更新失败!); else RegisterStartupScript(, alert(原始密码输入错误); (5) 读者信息的代码设计:public partial class readerInfo : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (SessionuserName != null) /判断管理员是否登录 if (getSet() /判断是否拥有权限 bindReaderInfo(); else Response.Write(alert(您没有此权限);location=index.aspx;); else Response.Redirect(entry.aspx); /返回到登录页面 public void bindReaderInfo() string sql = select * from tb_readerInfo as a inner join tb_readerType as b on a.readerType=b.id; gvReaderInfo.DataSource = dataOperate.getDataset(sql, tb_readerInfo); gvReaderInfo.DataKeyNames = new string readerBarCode ; gvReaderInfo.DataBind(); public bool getSet() string userName = SessionuserName.ToString(); /获取管理员登录名 string sql = select * from tb_admSet where userName= + userName + ; SqlDataReader sdr = dataOperate.getRow(sql); sdr.Read(); /读取一条记录 return Convert.ToBoolean(sdrreaderManage); /返回是否拥有权限 protected void gvReaderInfo_RowDeleting(object sender, GridViewDeleteEventArgs e) string id = gvReaderInfo.DataKeyse.RowIndex.Value.ToString(); string sql = delete tb_readerInfo where readerBarCode= + id + ; dataOperate.execSQL(sql); bindReaderInfo(); (6) 读者类型的代码设计:public partial class readerType : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (SessionuserName != null) /判断管理员是否登录 if (getSet() /判断是否拥有权限 bindReaderType(); /自定义方法显示读者类型信息 else Response.Write(alert(您没有此权限);location=index.aspx;); else Response.Redirect(entry.aspx); /返回到登录页面 /自定义方法判断管理员是否拥有当前页面的权限 public bool getSet() string userName = SessionuserName.ToString(); /获取管理员登录名 string sql = select * from tb_admSet where userName= + userName + ; SqlDataReader sdr = dataOperate.getRow(sql); sdr.Read(); /读取一条记录 return Convert.ToBoolean(sdrreaderManage); /返回是否拥有权限 /自定义方法显示读者类型信息 public void bindReaderType() string sql = select * from tb_readerType; gvReaderType.DataSource = dataOperate.getDataset(sql, tb_readerType); gvReaderType.DataKeyNames = new

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论