欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    简化的图书借还系统的设计与开发设计说明书.doc

    • 资源ID:3990602       资源大小:671.50KB        全文页数:20页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    简化的图书借还系统的设计与开发设计说明书.doc

    简化的图书借还系统的设计与开发设计说明书 摘 要本系统采用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) Session"userName" = txtName.Text; Response.Redirect("index.aspx"); else RegisterStartupScript("", "<script>alert('登录失败')</script>"); 2.4.2首页界面相关代码:protected void Page_Load(object sender, EventArgs e) if (Session"userName" != 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 = Session"userName".ToString(); /获取管理员登录名 string sql = "select * from tb_admSet where userName='" + userName + "'" SqlDataReader sdr = dataOperate.getRow(sql); sdr.Read(); /读取一条记录 return Convert.ToBoolean(sdr"systemSet"); /返回是否拥有权限 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 = typeSdr"typeName".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 = caseSdr"bookcaseName".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(sdr"borrowDay"); /获取借阅天数 string bookName = sdr"bookName".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("", "<script>alert('添加成功!')</script>"); else RegisterStartupScript("", "<script>alert('添加失败!')</script>"); 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 = sdr"readerName".ToString(); txtReaderSex.Text = sdr"Sex".ToString(); txtCertificateType.Text = sdr"certificateType".ToString(); txtCertificate.Text = sdr"certificate".ToString(); string readerTypeSql = "select * from tb_readerType where id=" + sdr"readerType".ToString(); SqlDataReader typeSdr = dataOperate.getRow(readerTypeSql); typeSdr.Read(); txtReaderType.Text = typeSdr"type".ToString(); int borrowNum = Convert.ToInt32(typeSdr"num"); 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("", "<script>alert('图书条形码输入错误!')</script>");2.4.9管理员修改密码界面该界面是管理员对自己系统安全的一个维护,以防他人窃取信息,修改密码界面如图2.14所示:图2.14管理员修改密码界面相关代码如下: protected void btnSave_Click(object sender, EventArgs e) string sql="select * from tb_user where userName='"+Session"userName".ToString()+"'" SqlDataReader sdr=dataOperate.getRow(sql); sdr.Read(); if (txtOldPass.Text = sdr"userPwd".ToString() string upSql = "update tb_user set userPwd='" + txtNewPass.Text + "' where userName='"+Session"userName".ToString()+"'" if (dataOperate.execSQL(upSql) RegisterStartupScript("", "<script>alert('更新成功!')</script>"); else RegisterStartupScript("", "<script>alert('更新失败!')</script>"); else RegisterStartupScript("", "<script>alert('原始密码输入错误')</script>");4系统测试测试了网站系统中的每一个模块,测试内容包括模块的前台以及后台。每个模块作为一个独立体运行时,运行正常。备注:数据库达到最大连接数为10,因为用个人pc机作为服务器,其限制了最大连接数。部分单元测试如下:2.5.1管理员登录测试登录窗口中需要输入管理员名称和密码,测试失败如图2.16所示:图2.15 登录失败2.5.2浏览器测试将基于web的投稿与稿件处理系统在不同浏览器上(IE浏览器6和Mozilla Firefoxe)对网页进行了测试,结果表明此系统对所选的浏览器的适应性。总 结经过两周的时间,我在曹阳老师的指导下利用ASP.Net和网页制作等相关知识完成了简易的图书管理系统的制作,该系统对管理员提供的有登录、个人信息管理、对读者的添加、读者的管理、图书类型管理、图书信息管理、图书的借阅与归还、对所借或还书籍的查询、统计等功能。总体来说基本完成该系统所必须的功能,但是,在很多小细节处理上还不是很完美,比如在图书信息汇总等,应给予分类汇总。然而没有经过验证,这样会导致很多误输入从而不符合现实生活中的要求,究其原因是由于知识结构不完整,比如若在表单内容提交上用正则表达式来限定其内容的话就比较切合实际生活,而且可以优化代码结构,提高系统的整体性能。参考文献1 尚俊杰.网络程序设计ASPM. 北京;清华大学出版社2004;3,8-12.2 郑阿奇.ASP程序设计教程M.北京,机械工业出版社,20053 施伯乐,丁宝康,汪卫. 数据库系统教程M. 北京;高等教育出版社 2008;17-18.4 邹明.基于B/S结构的通用数据库管理模块的实现J.北京;硅谷,2009,165(21):106 .5 梁娜,禹农,杨国青.基于B/S计算模型的Web技术在电子商务中的应用.山东利技大学学报(自然科学版),20036 黄明,梁旭.ASP信息系统设计与开发实例M.北京:机械工业出版社,20057 何东建,朱俊平.网页设计与Web编程M.西安:西安交通大学出版社,20048 齐治昌,谭庆平,宁洪.软件工程M.北京:高等教育出版社,2004

    注意事项

    本文(简化的图书借还系统的设计与开发设计说明书.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开