欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

    软件工程图书管理系统课程设计.doc

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

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

    软件工程图书管理系统课程设计.doc

    -软件工程课程设计20212021年度第二学期题 目图书管理系统专 业计算机科学与技术班 级小组成员摘要:在计算机日渐走进普通家庭的今天,对于个人来讲,采用一套行之有效的图书管理系统来管理自己的图书是非常方便的;对图书管理部门来讲,以前单一的手工检索已不能满足人们的要求,伴随着工业化、信息化的高速开展,图书的数目越来越庞大,图书种类也是越来越多样化;因而往往是投入了大量的人力、物力和财力却得不到高效的管理效率。为了便于图书资料的管理、满足人们的需求,不必浪费大量的时间消耗在图书检索上,这就需要有一个有效的图书管理软件来帮助人们管理,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、便捷和智能化管理,到达提高图书借阅信息管理效率的目的。采用数据库技术生成的图书馆借阅管理系统将会极大地方便借阅者并简化图书馆管理人员和工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。基于这个问题,开发了大学图书馆借阅系统。系统采用C/S模式,实现了借还书的方便、高效性、有效性和及时性。本文通过作者设计和开发一个中小型高校图书馆管理系统的实践,阐述了高校图书管理软件中所应具有的根本功能、设计、实现。关键词:图书借阅;人员管理;图书维护;一、课程设计的目的与要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。具体如下:1. 学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;2. 进一步加强和提高软件工程文档的编写能力;3. 培养协作能力和团队精神。二、设计正文1 概述1.1课题题目:图书馆管理系统1.2系统的主要目标:本系统目标是实现以下功能: 实现新增书籍信息的入录、已存图书信息的修改及删除; 实现对在校学生的根本信息的查询和毕业学生根本信息的编辑管理;实现超期书籍归还时的罚款功能;实现借阅信息的查询功能;1.3 系统的开发环境及运行环境:操作系统: Windows *P数据库系统:SQL Server2005建模工具: starUml软件开发工具: MyEclipse软件Web效劳器:IE浏览器或者是MyEclipse软件系统发布平台2 系统需求分析系统开发的总体目标是实现图书馆管理的系统化和自动化,缩短借阅者的等待时间,方便借阅者的查询和借阅;减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而到达提高图书管理效率的目的。系统功能实现的主要任务是对读者信息、管理员信息、图书资料信息、借阅信息、归还图书信息、罚款信息的根本信息的操作及外理。概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息构造(概念模型)的过程,它是整个数据库设计的关键。2.1 E-R图mmmnnn11n读者类别属于罚款管理员借阅馆 室属于图 书维护归还读 者1nnn读 者图2.1图书管理系统 E-R图E-R图说明:各ER图各实体的属性如下所示:图书:Book(BookID, BookNo, BookName, BookWriter, BookPublish, BookPrice, BookDate, BookClass, BookMain, BookPrim, BookCopy, BookState,BookRN)读者:Reader(ReaID, ReaName, ReaSe*, ReaNo, ReaLBID, ReaType, ReaDep, ReaGrade, ReaPref, ReaDate)管理员:Maneger(MID, MName, MSe*, Mpwd, MAuth, MTeleph, MAddre) 馆室:Room(RoomNo,RoomMID,RoomNum,RoomAddre)读者类别:ReaderTpye(LBID, LBName, LBnum, LBbq*, LBq*)各ER图中联系的属性如下所示:借阅信息:Borrow (BookID,ReaderID,BookName,BookWriter, Outdate,YHdate)借阅历史:History(BookID,ReaderID,BookName, BookWriter, Outdate,Indate)罚款信息:Fine(BookID,ReaderID,BookName, Outdate,Indate, Fine, CLState, MID)2.2数据流图 图2.2 顶层数据流顶层数据流图:第2层数据流图:读者借阅,读者还书,读者查询,管理员查询,管理员修改第3层数据流图:读者借阅第3层数据流图:读者还书第3层数据流图:查询图书信息、读者信息、借阅历史信息、罚款信息第3层数据流图:管理员添加、删除、修改图书信息第3层数据流图:管理员添加、删除、修改读者信息第3层数据流图:管理员添加、删除、修改系统用户信息3. 系统总体设计3.1 设计问题域子系统图书管理系统是实现学生借书、还书、查书以及超期处理,管理员信息的增加、删除、更新及修改,读者资料的统计与查询的一个平台,整个图书管理系统共分为4个系统,分别为图书维护子系统,人员资源管理子系统,借还效劳子系统和查询效劳子系统,分别用于完成各自的功能。以下为图书管理系统总体设计图和各个子系统的功能模块说明:1总体设计图图书管理系统图书维护子系统人员资源管理子系统借还效劳子系统查询效劳子系统添加新书到图书删除过期图书修改馆藏图书罚款效劳归还效劳借阅效劳修改用户信息删除无效用户添加新用户个人信息查询图书查询效劳图3.1 图书管理系统总体设计图2各模块功能系统功能模块功能图书维护子系统新书的入库,过期图书的删除以及馆藏图书的更新人员资源管理子系统用户的添加、删除以及用户信息的修改操作借还效劳子系统图书的借还以及超期罚款操作查询效劳子系统图书查询和个人信息查询操作表3-1 图书管理系统功能模块表3.2 设计数据管理子系统1数据库表编号数据项数据项名称与其他数据库关系存储类型说明1BookID图书条码号char(9)条码号2BookNo图书索书号char(10)索书号3BookName图书名char(20)书名4BookWriter图书作者char(8)作者5BookPublish图书char(20)6BookPrice图书单价char(7)单价7BookDate图书出版日期datetime出版日期8BookClass图书分类char(20)类别9BookMain图书摘要char (200)摘要10BookPrim图书关键字char (30)关键字11BookCopy图书副本数char (5)副本数12BookState图书是否可借char(10)状态13BookRNo所属馆室号同RoomNochar(5)馆室号14ReaID读者条码号char(9)条码号15ReaName读者*char(10)*16ReaSe*读者性别char(2)性别17ReaNo读者*char (9)*18ReaLBID读者类别编号同LBIDchar(5)类别编号19ReaType读者类型char(20)类型20ReaDep读者所在学院char(20)学院21ReaGrade读者所属年级char(5)年级22ReaPre读者所读专业char(20)专业23ReaDate读者办证时间datetime办证时间24OutDate借阅日期datetime借阅时间25InDate归还日期datetime归还时间26YHDate应还日期datetime应还时间27Fine罚款金额char(3)罚款金额28CLState是否交纳罚金char(8)处理状态29LBID类别编号同ReaLBIDchar(5)类别编号30LBName读者类别名char(20)类别名31LBnum能最多借书数char(5)借阅数量32LBbq*最长持有时间char(4)借阅期限33LBq*借阅卡有效期char(3)有效期限34MID管理员编号同RoomMIDchar(10)编号35MName管理员*char(10)*36MSe*管理员性别char(2)性别37Mpwd管理员口令char(8)口令38MAuth管理员级别char(4)权限级别39MTeleph管理员char(15)40MAddre管理员地址char(30)住址41RoomNo馆室号同BookRNochar(5)馆室号42RoomMID馆室管理员号同MIDchar(10)编号43RoomNum馆室内图书数char(5)数量44RoomAddre馆室地址char(20)地址表3-2 数据项列表2数据库表构造数据结构编号数据构造名数据构造含义组成DS-1Book馆藏图书信息BookID,BookNo,BookName,BookWriter,BookPublish,BookPrice,BookDate,BookClass, BookMain,BookPrim,BookCopy,BookState,BookRNo DS-2Reader读者信息ReaID, ReaName, ReaSe*, ReaNo, ReaLBID, ReaType, ReaDep, ReaGrade, ReaPref, ReaDate, DS-3Borrow借阅信息BookID,ReaID,BookName,BookWriter, Outdate,YHdateDS-4History借阅历史BookID,ReaID,BookName,BookWriter, Outdate,IndateDS-5Fine罚款信息BookID,ReaID,BookName,Outdate,Indate,Fine, CLState,MIDDS-6ReaderType读者类别LBID, LBName, LBnum, LBbq*, LBq*DS-7Maneger管理员信息MID,MName,MSe*,Mpwd,MAuth,MTeleph,MAddreDS-8Room馆室信息RoomNO, RoomMID, RoomNum, RoomAddre 表3-3数据构造列表列名数据类型可否为空说明BookIDCharnot null图书编号BookNoCharnot null图书的索书号BookNameCharnot null图书的书名BookWriterCharnot null图书作者BookPulishCharnot null图书BookPriceChar图书的单价BookDateDate出版日期BookClassChar图书的分类BookMainChar图书的摘要BookPrimChar图书的关键字BookCopyChar图书的副本数BookStateCharnot null图书是否可借BookRNoCharnot null图书所在馆室号表 馆藏图书信息表列名数据类型可否为空说明ReaIDCharnot null读者编号ReaNameCharnot null读者*ReaSe*Charnot null读者性别ReaNoCharnot null读者*ReaLBIDCharnot null读者类别编号ReaTypeChar读者类型ReaDepChar读者所在学院ReaPrefChar读者所属专业ReaGradeChar读者的年级ReaDateDatenot null办证日期表 读者信息表列名数据类型可否为空说明MIDCharnot null管理员编号MNameCharnot null管理员*MSe*Char管理员性别MpwdCharnot null管理员密码MAuthCharnot null管理员权限MTelephChar管理员MAddreChar管理员地址表 管理员信息表列名数据类型可否为空说明RoomNoCharnot null馆室号RoomMIDCharnot null馆室管理员编号RoomNumChar馆室拥有图书数目RoomAddreChar馆室地址表 馆室信息表列名数据类型可否为空说明LBIDCharnot null读者类别编号LBNameCharnot null读者类别名LBnumCharnot null允许借阅图书最大数LBbq*Charnot null持有图书最长期限LBq*Charnot null借阅证期限表3.4.5 读者类别信息表列名数据类型可否为空说明ReaIDCharnot null读者编号BookIDCharnot null图书编号BookNameCharnot null图书名BookWriterChar作者OutdateDatenot null借阅时间IndateDate归还时间YHdateDatenot null应还时间FineChar罚款金额CLStateChar处理状态MIDCharnot null管理员编号表 借阅信息表3.3 设计人机交互子系统1用户分类本系统的用户可分为三类:管理员用户;读者用户。2用户描述管理员用户的描述: 管理员用户在整个图书管理系统中起到管理和维护的作用,对读者和图书的信息进展管理和维护以及设置权限等职责。读者用户的描述: 读者用户在本系统中主要具有管理自己的账户的权限,借阅和还书的信息和图书查询的权限还有超期必修缴纳一定的金额。3设计命令层次系统的人机交互子系统的内容和准则:本图书管理系统的人机交互子系统在根据不同的用户身份登陆到不同的页面,然后按照不同的用户只能进展用户权限内的操作,其构造图如下:管理员用户界面读者用户界面主系统界面图3.5 人机交互子系统构造图主系统界面读者信息的修改读者资料的统计读者资料的查询读者信息的登记图书借还管理图书信息的修改图书入库出库管理员信息修改管理员信息的登记超期缴纳罚款读者资料管理图书管理管理员信息更改图书查询借还读者信息的更改读者用户管理员用户图3-6 细化命令组织方式4. 系统流程图开场输入用户名、密码验证用户名、密码提示用户登录失败进入相应的用户页面选择相关管理操作平安退出系统验证正确完毕是否图4-1 系统用户登录流程图4.2 读者用户注册流程图开场填写用户名、密码、验证码等验证用户填写是否合法提示相应错误对话框,要求重新输入提示拥护注册成功跳转到用户登入页面是否合法?完毕图4-2 读者用户注册流程图是否4.3 新书入库流程图开场退出转到添加书籍页面填写书籍信息点击添加填写编号提示重新填写编号重新添加书籍提示添加成功课程编号是否重复?否是图4-3 新书入库流程图4.4读者借书流程图开场完毕点击借提示书籍已不存在跳转到借书页面馆藏是否还有?继续借书?是否是否图4-4 读者借书流程图5. 系统实现本系统采用了三层架构来实现,即分为用户界面层UI、业务逻辑层BLL和数据访问层DAL,用户界面层是展示给用户的界面,方便用户与系统进展交互;业务逻辑层是对系统业务实体的封装,完成系统业务功能;数据访问层直接与数据库打交道,为业务逻辑层提供底层的数据库操作。5.1 Database类主要是与数据库连接,提供数据库操作功能,代码如下:package connection;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLE*ception;import java.sql.Statement;public class ConnectionManager /SQL驱动类名称private static final String CLS = ".microsoft.sqlserver.jdbc.SQLServerDriver"/数据库地址private static final String URL = "jdbc:sqlserver:/localhost:1433;DatabaseName=Library"/数据库用户名private static final String USER = "sa"/相应用户名的密码private static final StringPASS = "123456"/* * 获取连接的方法 * * return Connection con */public static Connection getConnection() Connection con = null;try Class.forName(CLS); catch (ClassNotFoundE*ception e) System.out.println("SQL驱动类没找到!");e.printStackTrace();try con = DriverManager.getConnection(URL, USER, PASS); catch (SQLE*ception e) System.out.println("DriverManager.getConnection(URL, USER, PASS)中异常!");e.printStackTrace();return con;/* * 关闭连接 connection * * param connection * Connection */public static void closeConnection(Connection connection) if (connection != null) try connection.close(); catch (SQLE*ception e) System.out.println("关闭connection时异常! ");e.printStackTrace();/* * 关闭statement * * param statement * Statement */public static void closeStatement(Statement statement) if (statement != null) try statement.close(); catch (SQLE*ception e) System.out.println("关闭statemen时异常! ");e.printStackTrace();/* * 关闭preparedStatement * * param preparedStatement * PreparedStatement */public static void closePaPreparedStatement(PreparedStatement preparedStatement) if (preparedStatement != null) try preparedStatement.close(); catch (SQLE*ception e) System.out.println("关闭preparedStatement时异常! ");e.printStackTrace();/* * 关闭 resultSet * * param resultSet * ResultSet */public static void closeResultset(ResultSet resultSet) if (resultSet != null) try resultSet.close(); catch (SQLE*ception e) System.out.println("关闭resultset时异常! ");e.printStackTrace();5.2 UserBase类是所有系统角色用户的基类,完成用户注册功能,代码如下:<% page language="java" import="java.util.*" pageEncoding="gbk"%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html><head><title>欢送注册</title></head><script type="te*t/javascript">function checkReaderRegister()if(document.ReaderRegister.ReaderName.value="") alert("请输入读者注册*!");return false;else if(document.ReaderRegister.Password1.value ="") alert("请输入密码! ");return false;else if(document.ReaderRegister.Password1.value != document.ReaderRegister.Password2.value) alert("两次输入的密码不一致!");return false;else return true;</script><body background="./images/bg01.jpg"><center><font size="5" color="#ff00ff">读者信息</font></center><br><form name="ReaderRegister" method="post" action="dealRegister.jsp"><center><table width="400" border="0" height="202"><tr><td>读者*</td><td><input type="te*t" name="ReaderName" value="" /></td><td><center><font color="#FF0000">*</font></center></td></tr><tr><td>读者工作单位</td><td><input type="te*t" name="WorkUnit" value="" /></td><td><center><font color="#FF0000">*</font></center></td></tr><tr><td>读者联系方式</td><td><input type="te*t" name="PhoneNum" value="" /></td><td><center><font color="#FF0000">*</font></center></td></tr><tr><td>读者家庭住址</td><td><input type="te*t" name="Address" value="" /></td><td><center><font color="#FF0000">*</font></center></td></tr><tr><td>密码</td><td><input type="password" name="PassWord1" value="" /></td><td><center><font color="#FF0000">*</font></center></td></tr><tr><td>再次输入密码</td><td><input type="password" name="PassWord2" value="" /></td><td><center><font color="#FF0000">*</font></center></td></tr></table><input type="submit" value="注册"onclick="return checkReaderRegister()"><input type="reset" value="重置"></center></form></body></html>5.3系统登录页面代码如下:<% page language="java" import="java.util.*" pageEncoding="gbk"%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html><head><title>登录</title><meta -equiv="Content-Type" content="te*t/html; charset=gb2312"></head><script language="JavaScript" type="">function checkisnull() if(document.readerLogin.readerid.value="") alert("请输入读者名!"); return false; else if(document.readerLogin.passWord.value="")alert("请输入密码!"); return false;</script><body bgcolor="#339900"><marquee scrollAmount=4 width="100%" onmouseover=stop()onmouseout=start()><font size="5" color="#82D900">欢送登陆</font></marquee><form name="readerLogin" method=post action="dealLogin.jsp"><!- 登录成功和失败进入不同的页面 -><br><center><input type="radio" value="reader" name="state" />读者<input type="radio" value="admin" name="state" />管理员</center><br /><center>请输入账号:<input type="te*t" name="readerid" value="" /></center><br /><center>请输入密码:<input type="password" name="passWord" value="" /></center><br /><center><input type="submit" name="submit" value="登陆"onclick="return checkisnull()" /><input type="reset" name="resut" value="重置" /></center></form></body></html>5.4用户借书界面代码如下:<% page language="java" import="java.util.*" pageEncoding="gbk"%><%page import="entity.Borrow"%><%page import="entity.BorrowDbOperation"%><%page import="entity.BookDbOperation"%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html><head><title>borrowNow.jsp</title></head><body background="./images/winter2.jpg"><%/借了没还的 %><h2>当前借阅:</h2><%request.setCharacterEncoding("gbk");String readerid = request.getParameter("readerid");/这个参数从top.jsp获取List<Borrow> borrowliList = new ArrayList<Borrow>();BorrowDbOperation borrowDbOperation = new BorrowDbOperation();borrowliList = borrowDbOperation.getBorrowsByReaderId(readerid);BookDbOperation bookDbOperation = new Bo

    注意事项

    本文(软件工程图书管理系统课程设计.doc)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开