简化的图书借还系统的设计与开发设计说明书.doc_第1页
简化的图书借还系统的设计与开发设计说明书.doc_第2页
简化的图书借还系统的设计与开发设计说明书.doc_第3页
简化的图书借还系统的设计与开发设计说明书.doc_第4页
简化的图书借还系统的设计与开发设计说明书.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

简化的图书借还系统的设计与开发设计说明书 摘 要本系统采用Asp.Net作为开发平台,SQL Server 2000数据库,利用IIS搭建web服务器,开发出基于B/S架构的图书借阅管理系统。该系统实现了图书信息管理、图书借阅与归还、书籍查询、读者管理、统计等功能。系统操作简单,具有一定的实用性。关键词:ASP.Net; Web;SQL Server 2000 目 录1课题描述12设计过程22.1需求分析22.2数据库结构设计22.2.1 概念结构设计(E-R图)22.2.2 逻辑结构设计42.2.3物理结构设计42.3系统功能设计62.3.1功能模块结构图62.3.2各模块功能描述62.4系统界面设计与实现72.4.1系统登录界面72.4.2首页界面82.4.3系统设置界面92.4.4读者管理界面102.4.5图书信息管理界面102.4.6图书借阅界面122.4.7图书查询界面142.4.8还书页面142.4.9管理员修改密码界面162.5系统的功能测试172.5.1管理员登录测试172.5.2浏览器测试17总 结18参考文献19 1 课题描述图书馆信息化管理从最初的对图书馆业务管理实行信息化管理发展到对图书馆各个业务流程和网络化管理,并建立大规模的以个体文献目录联机查询为主的资源共享系统。进入21世纪后,图书管信息化管理充分利用计算机网络和信息技术,逐步实现不同载体的实体文献的信息化管理和多方位的联机查询。图书馆的正常运营中总是面对大量的读者信息,图书信息以及两者相互作用产生的借书信息,因此要对读者资源,图书资源,借书信息进行管理。本系统的开发就是在于提高图书管理的工作效率,加强图书馆的管理,全面实行计算机管理。开发工具:Visual Studio 2010 ;SQL Server 2000 2设计过程2.1需求分析一般通用的图书馆借阅管理系统包括系统管理、读者管理、编目、图书流通、统计、查询等功能。比较先进的能够在一个界面下实现图书、音像、期刊的管理,设置假期、设置暂离锁(提高安全性)、暂停某些读者的借阅权、导入导出读者、交换MARC数据、升级辅助编码库等。此外随着Internet应用的发展,一个完善的系统还应该提供无缝接入Internet的功能,通过IE浏览器让读者使用借阅资料查询、更换密码、预约、资料检索等功能。有些系统还能提供读者自助服务,可以开放一些客户机让读者自行管理密码、查询自己的借阅史、预约资料、检索资料等。在构造系统时,首先从需求出发构造数据库表,然后再由数据库结合需求划分系统功能模块。这样,就把一个大的系统分解成了几个小系统。这里把系统的层次划分为了两个部分:一个是一般用户态:即图书有服务子系统;另一个是管理员界面:提供图书的管理和维护功能。对于不同子系统之间的功换,采用了登录功能和用户注销功能。 系统划分了子系统后,下一步的工作是继续划分子系统的小模块。先考虑在进入子系统时应该做什么,进入系统之后又应该做什么,提供那些服务等。例如,对于图书信息服务子系统,在用户进入时首先得调用相关数据库表,找出用户的图书借阅情况;进入系统后,子系统得提供图书查询、图书借阅和还书功能。另外,针对本系统的特殊情况,同时也考虑系统的可移植性,在系统中增加了数据库路径的维护部分。2.2数据库结构设计2.2.1 概念结构设计(E-R图)(1) 概念结构设计是将分析得到的用户需求抽象为概念模型的过程,即在需求分析的基础上,设计出能够满足用户需求的各种实体以及它们之间的相互关系的模型。这样才能更好地、更准确地用某一DBMS实现这些需求,它是整个数据库设计的关键。概念结构的主要特点是能真实、充分地反映现实世界,易于理解,易于更改,易于向关系、网状、层次等各种数据模型转换。描述概念模型的有力工具是E-R模型。 (1)基于数据库管理系统的简易图书借阅管理系统的E-R图如图2.1所示。图2.1 简易图书馆管理系统总E-R图(2) 系统的部分实体属性E-R图如图2.2、2.3、2.4所示。 图2.2读者属性E-R图图2.3管理员属性E-R图图2.4图书属性E-R图2.2.2 逻辑结构设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。设计逻辑结构时一般要分三步进行,首先是将概念结构转换为一般的关系、网状、层次模型,其次是将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换,最后是对数据模型进行优化。基于B/S的简易图书借阅管理系统采用的是将E-R图向关系数据模型转换。以下是由概念模型向逻辑模型转化的关系模式:读者(读者条形码,读者姓名,读者性别,读这类型,证件类型,证件号,联系电话,E-mail,备注)管理员(管理员编号,管理员名称,管理员密码)图书(图书条形码,图书名称,图书类别,书架,出版社,作者,价格,借阅次数)2.2.3物理结构设计 数据库的物理结构设计是对于给定的逻辑数据模型,选取一个最合适应用环境的物理结构。数据库的物理结构指的是数据库在物理设备上的存储结构与存取方法,它依赖于给定的计算机系统。基于B/S的简易图书管理系统的数据库表结构如表2.12.3所示。表2.1读者信息表(tb_readerInfo)字段名注释类型长度允许空默认值readerBarCode读者条形码varchar50readerName读者姓名varchar50nullsex读者性别Char50nullreaderType读者类型Varchar50nullcertificateType证件类型Varchar50nullcertificate证件号Varchar50nulltel联系电话Varchar50nullemailE-mailVarchar50nullremark备注Varchar500null表2.2管理员信息表(tb_user)字段名注释类型长度允许空默认值userId管理员编号int4自动增长(1,1)userName管理员名称varchar50NulluserPwd管理员密码varchar50Null表2.3图书信息表(tb_bookInfo)字段名 注释 类型长度 允许空 默认值bookBarCode图书条形码varchar 100 bookName图书名称varchar 4 null bookType图书类别 int 4 null bookcase书架int 100 nullbookConcern出版社varchar 100 nullauthor作者varchar 80 nullprice价格money 8nullborrowSum借阅次数int 4 null2.3系统功能设计2.3.1功能模块结构图图2.5功能模块结构图2.3.2各模块功能描述1) 首页模块功能首页是各个登录页面的入口,链接了各个登录页面的超链接。2) 系统设置模块功能图书管信息:此功能是图书馆的具体信息。管理员设置:此功能是对管理员的权限的添加、删除以及添加新的管理员的权限。书架设置:对书架进行分类管理以及添加、修改、删除书架的功能。3) 读者管理模块功能读者类型管理:是对读者类型的添加、删除、修改等功能。读者信息管理:管理员对读者信息的详细录入,修改读者信息和删除读者信息的功能。4) 图书管理模块功能 图书类型管理:是对图书进行分类管理,对图书类型的添加、删除、修改等功能。 图书信息管理:管理员对图书信息的详细录入,修改图书信息和删除图书信息等功能。5) 图书借阅模块功能 图书借阅:该功能首先根据读者条形码查出读者信息,如若存在,则执行借书功能,然后再依据读者所需的书,根据书的条形码查询书是否存在,若存在,则借阅成功,否则借阅失败。 图书续借:该功能是用于实现读者所需书的续借功能。 图书归还:就是实现对读者以前所借书的归还。6) 系统查询模块功能 图书信息查询:根据书的条形码、名字、作者、类型、出版社等对图书的信息进行查询。 图书借阅查询:根据图书的条形码、书名、读者条形码等查询图书的借阅情况。7) 修改密码模块功能 该功能为了系统的安全性,管理员乙方自己密码丢失,可以修改自己的密码。8) 退出系统模块功能 该功能是为管理员退出系统所用,当管理员完成自己的工作后,要求退出系统则此功能就是为了实现管理员退出系统的。3系统界面设计与实现2.4.1系统登录界面系统首页,同时也是登录界面,在此界面中,管理可以根据自身情况登录到系统中 ,管理员登录界面如图2.6所示。图2.6 管理员登录界面相关代码:protected void btnEntry_Click(object sender, EventArgs e) string userName = txtName.Text; string Pwd = txtPwd.Text; string sql = select * from tb_user where userName= + userName + and userPwd= + Pwd + ; if (dataOperate.seleSQL(sql) 0) SessionuserName = txtName.Text; Response.Redirect(index.aspx); else RegisterStartupScript(, alert(登录失败); 2.4.2首页界面相关代码: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控件 2.4.3系统设置界面 系统设置的功能包括图书馆的详细信息设置、管理员权限设置、书架设置等。以管理员权限设置为例说明,此功能是对管理员的权限的添加、删除以及添加新的管理员的权限。管理员权限设置界面如图2.8所示。图2.8管理员权限设置界面相关代码: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); /返回是否拥有权限 2.4.4读者管理界面该界面是管理员对读者信息进行处理的页面,该界面如图2.9所示:图2.9读者信息管理界面相关代码如下: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(); 2.4.5图书信息管理界面该界面是管理员对图书的信息进行管理的页面,如图2.10所示:图2.10图书信息管理界面相关代码如下:protected void gvBookManage_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowType = DataControlRowType.DataRow) /设置图书类型 string bookType = e.Row.Cells2.Text.ToString(); /获取图书类型编号 string typeSql = select * from tb_bookType where TypeID= + bookType; SqlDataReader typeSdr = dataOperate.getRow(typeSql); typeSdr.Read(); /读取一条记录 e.Row.Cells2.Text = typeSdrtypeName.ToString(); /设置书架 string bookcase = e.Row.Cells3.Text.ToString(); /获取书架编号 string caseSql = select * from tb_bookcase where bookcaseID= + bookcase; SqlDataReader caseSdr = dataOperate.getRow(caseSql); caseSdr.Read(); /读取一条记录 e.Row.Cells3.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;); 2.4.6图书借阅界面管理员进入该页面后,可以根据读者的条形码或图书的条形码为读者提供图书借阅服务。相关界面如下图2.11所示。相关代码:protected void gvBookBorrow_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) /获取选中图书条形码 string bookBarCode = gvBookBorrow.DataKeyse.NewSelectedIndex.Value.ToString(); /创建SQL语句使用内联接连接条件为图书类型编号,查询条件为符合图书条形码的记录 string sql = select * from tb_bookInfo as a inner join tb_bookType as b on a.bookType=typeID where a.bookBarCode= + bookBarCode + ; SqlDataReader sdr = dataOperate.getRow(sql); /获取图书信息 sdr.Read(); /读取一条记录 int borrowDay = Convert.ToInt32(sdrborrowDay); /获取借阅天数 string bookName = sdrbookName.ToString(); /获取图书名称 string borrowTime = DateTime.Now.Date.ToShortDateString(); /获取借阅日期 string readerBarCode = txtReaderBarCode.Text; /获取读者条形码 string returnTime = DateTime.Now.Date.AddDays(borrowDay).ToShortDateString(); /获取应还日期 string readerName = txtReaderName.Text; /获取读者姓名 /创建SQL语句将图书借阅信息添加到图书借阅信息表中 string addSql = insert tb_bookBorrow values( + bookBarCode + , + bookName + , + borrowTime + , + returnTime + , + readerBarCode + , + readerName + ,); if (dataOperate.execSQL(addSql) /判断是否添加成功 /创建SQL更新图书信息表中符合图书条形码条件记录的借阅数 string updateSql = update tb_bookInfo set borrowSum=borrowSum+1 where bookBarCode= + bookBarCode + ; dataOperate.execSQL(updateSql); bindReaderInfo(); /重新绑定读者信息 gvBookBorrow.DataSource = null; /将数据源设置为空 gvBookBorrow.DataBind(); txtBookBarCode.Text = ; /将图书条形码文本框清空 RegisterStartupScript(, alert(添加成功!); else RegisterStartupScript(, alert(添加失败!); 2.4.7图书查询界面管理员进入该页面后可以根据不同的关键字查询图书的基本信息,界面如图2.12所示:图2.12图书系统查询界面相关代码如下:/查找搜索的图书信息 protected void btnSearch_Click(object sender, EventArgs e) string Condition = ddlCondition.Text; string key = ; if (ddlBookType.Visible) key = ddlBookType.SelectedValue; else key = txtKey.Text; sql = select * from tb_bookInfo where + Condition + like % + key + %; bindBookInfo(sql); txtKey.Text = ; 2.4.8还书页面该页面是管理员归还图书操作页面,如图2.13所示:相关代码如下: protected void btnReaderSearch_Click(object sender, EventArgs e) string readerBarCode = txtReaderBarCode.Text; string readerSql = select * from tb_readerInfo where readerBarCode= + readerBarCode + ; SqlDataReader sdr = dataOperate.getRow(readerSql); if (sdr.Read() txtReaderName.Text = sdrreaderName.ToString(); txtReaderSex.Text = sdrSex.ToString(); txtCertificateType.Text = sdrcertificateType.ToString(); txtCertificate.Text = sdrcertificate.ToString(); string readerTypeSql = select * from tb_readerType where id= + sdrreaderType.ToString(); SqlDataReader typeSdr = dataOperate.getRow(readerTypeSql); typeSdr.Read(); txtReaderType.Text = typeSdrtype.ToString(); int borrowNum = Convert.ToInt32(typeSdrnum); string selSql = select count(*) from tb_bookBorrow where readerBarCode= + readerBarCode + and isReturn =0; int alreadyNum = dataOperate.seleSQL(selSql); txtNum.Text = Convert.ToString(borrowNum - alreadyNum); string sql = select * from tb_bookBorrow where readerBarCode= + txtReaderBarCode.Text + and isReturn=0; bindGridView(sql); else RegisterStartupScript(, alert(图书条形码输入错误!);2.4.9管理员修改密码界面该界面是管理员对自己系统安全的一个维护,以防他人窃取信息,修改密码界面如图2.14所示:图2.14管理员修改密码界面相关代码如下: 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 (

温馨提示

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

评论

0/150

提交评论