图书管理系统—数据库课程设计.doc

上传人:laozhun 文档编号:2395312 上传时间:2023-02-17 格式:DOC 页数:21 大小:919.50KB
返回 下载 相关 举报
图书管理系统—数据库课程设计.doc_第1页
第1页 / 共21页
图书管理系统—数据库课程设计.doc_第2页
第2页 / 共21页
图书管理系统—数据库课程设计.doc_第3页
第3页 / 共21页
图书管理系统—数据库课程设计.doc_第4页
第4页 / 共21页
图书管理系统—数据库课程设计.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《图书管理系统—数据库课程设计.doc》由会员分享,可在线阅读,更多相关《图书管理系统—数据库课程设计.doc(21页珍藏版)》请在三一办公上搜索。

1、数学与计算机学院课程设计说明书课 程 名 称: 大型数据库-课程设计 课 程 代 码: 8424141 题 目: 图书管理系统 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 2012 年 6 月 10 日完 成 时 间: 2012 年 6 月 27 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书撰写质量(45)总 分(100)指导教师签名: 年 月 日目 录 1 引 言11.1 问题的提出11.2国内外研究的现状11.5任务与分析12.程序的主要功能22.1登录功能22.2图书基本信息管理22.3借书卡管理22.4借书功能22.5还书功能

2、22.6超期未还提醒功能24 总体设计44.1系统总体框架图44.2程序E-R44.3表结构54.4视图65 程序说明76 模块分析126.1 登录模块126.2 图书基本信息管理模块126.3 借书卡管理126.4 借书模块126.5 还书模块126.6 超期未还提醒模块137 系统测试148 结论17 1 引 言 1.1 问题的提出 在现代化的学校图书馆管理当中,图书管理系统具有不可或缺的作用。然而,用大型软件系统用在学校系统当中,不啻于“杀鸡用牛刀”,因此小型的的软件对于学校有十分重要作用。某学校出于这种目的制作了这个图书管理系统。1.2国内外研究的现状 国产图书馆信息管理系统展示会暨高

3、等学校图书馆信息管理系统研讨会最近在北京邮电大学召开。此次大会汇集了全国28个省市的296人参加,共有27家国内软件公司的产品参展,几乎包括了所有目前国内最优秀的图书馆管理系统。这次的展示仅限于国产管理系统的参加,旨在为国产图书馆自动化管理系统提供一个展示自己的机会,并鼓励各地图书馆在现有条件下选择购买国内系统软件,以支持民族产业的发展。笔者参观了这次展示会,想就此对现在的国产图书馆管理信息系统的整体情况作一分析和探讨。这次展示会给人留下的总体印象可以说是令人振奋的,在参展的27家单位中,既有一些是在图书馆自动化开发中起步较早的机构,如科图公司(深圳图书馆)、北图文津信息开发中心等,也有一些是

4、新近成立的开发机构,如北大图书馆、北邮图书馆、深圳大学图书馆、江苏高校文献信息管理开发组等。可以看出,这些新出现的开发机构多半是一些著名的高校图书馆,他们在国家的统一领导和鼓励下,联合本校计算机系的专家,在这一领域,独立自主地进行大胆的探索和研究,并借鉴吸收国外成功和失败的经验,开发研制成功了一批国产自动化管理系统。1.5任务与分析本课题主要的目的是根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的2. 程序的主要功能2.1登录功能只有成功登录了才能进入系统。2

5、.2图书基本信息管理能够对图书进行新增、修改、删除、查询等操作。2.3借书卡管理能够对借书卡进行新增、修改、注销、查询等操作。2.4借书功能能够针对指定借书卡、指定图书进行借出操作。2.5还书功能能够查询针对指定借书卡所借的书,并能对该书进行归还操作。2.6超期未还提醒功能每天都会实时统计出当天有哪些在借图书超过最迟归还日期,并且进行提醒3 程序运行平台JRE1.5 + netbeans7.0 + SQL 5.5具体操作如下:启动SQL服务,执行所需的数据表建表相关sql。打开netbeans导入源代码工程,部署到内置的tomcat服务器中。然后启动tomcat Web服务器,在任意浏览器地址

6、栏中输入http:/127.0.0.1:8080/LibraryManageSystem 即可访问。4 总体设计4.1系统总体框架图图4.1 系统总体框架图4.2程序E-R 图3.1 登录信息E-R图 图3.2 图书E-R图 图 3.3 借阅卡信息E-R图4.3表结构表1 lms_user表字段类型约束默认值说明user_namevarchar(40)PK用户名passwordvarchar(40)not null密码表2 lms_book_infor表字段类型约束默认值说明book_codevarchar(50)PK图书编码bar_codevarchar(50)not null条形码book

7、_typevarchar(100)图书分类信息namevarchar(100)书名authorvarchar(80)作者publishervarchar(80)出版社publish_timedate出版时间statevarchar(10)图书状态priceVARCHAR2(20 BYTE)定价4.4视图表3 lms_vi视图字段类型是否可空insertableupdatabledeletable说明book_codevarchar(50)YesYesYesYes图书编码bar_codevarchar(50)YesYesYesYes条形码book_typevarchar(100)YesYesYe

8、sYes图书分类信息namevarchar(100)YesYESYESYES书名authorvarchar(80)NoYESYESYES作者publishervarchar(80)NoYESYESYES出版社publish_timedateYesYESYESYES出版时间statevarchar(10)YesYESYESYES图书状态priceVARCHAR2(20 BYTE)YesYESYESYES定价5 程序说明 LmsBookInforPO类的声明(图书信息封装类)public class LmsBookInforPO private long id;/主键IDprivate Strin

9、g bookCode;/图书编码private String barCode;/条形码private String bookType;/图书分类private String name;/图书名private String author;/作者private String publisher;/出版社private String publishTime;/出版时间private double price;/定价private String state;/图书状态public long getId() /获取主键IDreturn id;public void setId(long id) /设置主

10、键IDthis.id = id;public String getBookCode() /获取图书编码return bookCode;public void setBookCode(String bookCode) /设置图书编码this.bookCode = bookCode;public String getBarCode() /获取条形码return barCode;public void setBarCode(String barCode) /设置条形码this.barCode = barCode;public String getBookType() /获取图书分类信息return

11、bookType;public void setBookType(String bookType) /设置图书分类信息this.bookType = bookType;public String getName() /获取书名return name;public void setName(String name) /设置书名this.name = name;public String getAuthor() /获取作者return author;public void setAuthor(String author) /设置作者this.author = author;public Strin

12、g getPublisher() /获取出版社return publisher;public void setPublisher(String publisher) /设置出版社this.publisher = publisher;public String getPublishTime() /获取出版时间return publishTime;public void setPublishTime(String publishTime) /设置出版时间this.publishTime = publishTime;public double getPrice() /获取定价return price

13、;public void setPrice(double price) /设置定价this.price = price;public String getState() /获取图书状态return state;public void setState(String state) /设置图书状态this.state = state; ControllerServlet类的声明(控制并响应前台请求)public class ControllerServlet extends HttpServlet /* * 构造函数 */public ControllerServlet() super();/*

14、* 析构函数 */public void destroy() super.destroy(); / Just puts destroy string in log/ Put your code here/* * 响应get请求 * param request the request send by the client to the server * param response the response send by the server to the client * throws ServletException if an error occurred * throws IOExce

15、ption if an error occurred */public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doPost(request, response);/* * 响应post请求 * param request the request send by the client to the server * param response the response send by the server to the cl

16、ient * throws ServletException if an error occurred * throws IOException if an error occurred */public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(utf-8);final String ACTION_NAME = request.getParameter(actionN

17、ame);/判断请求类型,分别调用不同方法进行处理try if(login.equals(ACTION_NAME)this.loginCheck(request, response);else if(queryCards.equals(ACTION_NAME)this.queryBorrowCards(request, response);else if(addCard.equals(ACTION_NAME)this.addBorrowCard(request, response);else if(queryBooks.equals(ACTION_NAME)this.queryBooksInf

18、o(request, response);else if(queryCardById.equals(ACTION_NAME)this.queryBorrowCardById(request, response);else if(borrowBooks.equals(ACTION_NAME)this.addBorrowBooks(request, response);else if(queryBorrowedBooks.equals(ACTION_NAME)this.queryBorrowedBooksInfo(request, response);else if(returnBooks.equ

19、als(ACTION_NAME)this.returnBooks(request, response);else if(addBook.equals(ACTION_NAME)this.addBook(request, response); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();6 模块分析6.1 登录模块系统将根据用户输入的用户名、密码,去查询数据库用户表。看是否存在对应记录,如果存在,则直接跳转到图书管理页面,否则则重新登录。6.2 图书基本信息管理模块点击查询,页面会收集输入的查询条

20、件,发起AJAX请求,传入到后台进行解析,然后生成数据库查询SQL语句访问图书信息表,查询并返回相应记录。然后前台再重修构造表格。点击添加,弹出新增对话框,录入相关书籍信息后,页面会讲信息收集然后发起AJAX请求,后台进行解析,然后生成对应SQL语句,插入到图书信息表中。编辑功能与新增功能类似,略6.3 借书卡管理点击查询,页面会收集录入的查询条件,然后向后台发起AJAX请求,后台根据传入的查询条件,生成借书卡表的访问SQL进行查询。然后将查询结果返回前台页面,页面将会重修构造结果表格。添加功能类似书籍添加,略6.4 借书模块先查询选择出需要借书的人,然后再在下方选择需要借出的书,然后勾选需要

21、借阅的书籍,点击借出,页面便会将这些信息发送到后台。后台会先解析一共需要插入几条数据到借书信息表中,然后生成响应写表SQL并执行,借书表中会保存图书信息表的主键ID,借书证表的主键ID。6.5 还书模块通过用户输入的借书证号,点击查询,页面会向后台发起AJAX请求。后台查询数据库的借书表,然后返回所借阅的书籍信息。此时可以勾选对应需要归还的书籍记录,再点击还书,会再向后台发起AJAX请求。后台会再借书表中找到对应记录,然后修改归还状态字段为“已还”,并记录下归还时间。6.6 超期未还提醒模块每次进入这个页面,系统会自动根据当前时间,对数据库图书信息表、借书表进行查询统计,生成一个图书信息总体描

22、述呈现在页面里,包括了那些超过最迟归还期限仍未归还的书籍。7 系统测试首先进入MyEclipse,启动tomcat服务器。然后在任意浏览器地址栏中输入http:/127.0.0.1:8080/LibraryManageSystem 进行访问7.1登录实现了登录功能。7.2图书基本信息管理实现了图书基本信息的增删改查功能。7.3借书卡管理实现了借书卡的增改查功能。7.4借书模块实现了借书功能。7.5还书模块实现了还书功能。7.6超期提醒功能实现了超期提醒功能默认登录用户名密码:admin password8 结论功能上麻雀虽小五脏俱全,创新点在于紧跟当前时代趋势,果断舍弃C/S架构,采用了B/S架构,并且运用了当今最流行的AJAX技术,很大的提升了系统的可访问性、用户体验性。通过本次课程设计,感慨写一个好的程序很难,特别是用户体验上。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号