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

上传人:土8路 文档编号:10333519 上传时间:2021-05-09 格式: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 1 引引 言言.1 1.1 问题的提出 .1 1.2 国内外研究的现状.1 1.5 任务与分析.1 2.2.程序的主要功能程序的主要功能.2 2.1

2、 登录功能.2 2.2 图书基本信息管理.2 2.3 借书卡管理.2 2.4 借书功能.2 2.5 还书功能.2 2.6 超期未还提醒功能.2 4 总体设计总体设计.4 4.1 系统总体框架图.4 4.2 程序 E-R.4 4.3 表结构.5 4.4 视图.6 5 5 程序说明程序说明.7 6 6 模块分析模块分析.12 6.1 登录模块 .12 6.2 图书基本信息管理模块 .12 6.3 借书卡管理 .12 6.4 借书模块 .12 6.5 还书模块 .12 6.6 超期未还提醒模块 .13 7 7 系统测试系统测试.14 8 8 结论结论.17 1 引引 言言 1.1 问题的提出问题的提

3、出 在现代化的学校图书馆管理当中,图书管理系统具有不可或缺的作用。然而, 用大型软件系统用在学校系统当中,不啻于“杀鸡用牛刀” ,因此小型的的软件对于学 校有十分重要作用。某学校出于这种目的制作了这个图书管理系统。 1.2 国内外研究的现状国内外研究的现状 国产图书馆信息管理系统展示会暨高等学校图书馆信息管理系统研讨会最近 在北京邮电大学召开。此次大会汇集了全国 28 个省市的 296 人参加,共有 27 家国 内软件公司的产品参展,几乎包括了所有目前国内最优秀的图书馆管理系统。这次 的展示仅限于国产管理系统的参加,旨在为国产图书馆自动化管理系统提供一个展 示自己的机会,并鼓励各地图书馆在现有

4、条件下选择购买国内系统软件,以支持民 族产业的发展。笔者参观了这次展示会,想就此对现在的国产图书馆管理信息系统 的整体情况作一分析和探讨。这次展示会给人留下的总体印象可以说是令人振奋的, 在参展的 27 家单位中,既有一些是在图书馆自动化开发中起步较早的机构,如科 图公司(深圳图书馆) 、北图文津信息开发中心等,也有一些是新近成立的开发机 构,如北大图书馆、北邮图书馆、深圳大学图书馆、江苏高校文献信息管理开发组 等。可以看出,这些新出现的开发机构多半是一些著名的高校图书馆,他们在国家 的统一领导和鼓励下,联合本校计算机系的专家,在这一领域,独立自主地进行大 胆的探索和研究,并借鉴吸收国外成功和

5、失败的经验,开发研制成功了一批国产自 动化管理系统。 1.5 任务与分析任务与分析 本课题主要的目的是根据所学的数据库原理与程序设计的知识,能够针对一个 小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测 试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的 2. 程序的主要功能 2.1 登录功能登录功能 只有成功登录了才能进入系统。 2.2图书基本信息管理图书基本信息管理 能够对图书进行新增、修改、删除、查询等操作。 2.3借书卡管理借书卡管理 能够对借书卡进行新增、修改、注销、查询等操作。 2.4借书功能借书功能 能够针对指定借书卡、指定图书进行借出操作。

6、2.5还书功能还书功能 能够查询针对指定借书卡所借的书,并能对该书进行归还操作。 2.6超期未还提醒功能超期未还提醒功能 每天都会实时统计出当天有哪些在借图书超过最迟归还日期,并且进行提醒 3 3 程序运行平台程序运行平台 JRE1.5 + netbeans7.0 + SQL 5.5 具体操作如下:启动 SQL 服务,执行所需的数据表建表相关 sql。打开 netbeans 导入源代码工程,部署到内置的 tomcat 服务器中。然后启动 tomcat Web 服务器,在 任意浏览器地址栏中输入 http:/127.0.0.1:8080/LibraryManageSystem 即可访问。 4 总

7、体设计总体设计 4.14.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

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

9、码 book_typevarchar(100)YesYesYesYes 图书分类信息 namevarchar(100)YesYESYESYES 书名 authorvarchar(80)NoYESYESYES 作者 publishervarchar(80)NoYESYESYES 出版社 publish_timedateYesYESYESYES 出版时间 statevarchar(10)YesYESYESYES 图书状态 priceVARCHAR2(20 BYTE)YesYESYESYES 定价 5 程序说明 LmsBookInforPOLmsBookInforPO 类的声明类的声明( (图书信息

10、封装类图书信息封装类) ) public class LmsBookInforPO private long id;/主键 ID private String bookCode;/图书编码 private String barCode;/条形码 private String bookType;/图书分类 private String name;/图书名 private String author;/作者 private String publisher;/出版社 private String publishTime;/出版时间 private double price;/定价 private

11、String state;/图书状态 public long getId() /获取主键 ID return id; public void setId(long id) /设置主键 ID this.id = id; public String getBookCode() /获取图书编码 return bookCode; public void setBookCode(String bookCode) /设置图书编码 this.bookCode = bookCode; public String getBarCode() /获取条形码 return barCode; public void s

12、etBarCode(String barCode) /设置条形码 this.barCode = barCode; public String getBookType() /获取图书分类信息 return bookType; public void setBookType(String bookType) /设置图书分类信息 this.bookType = bookType; public String getName() /获取书名 return name; public void setName(String name) /设置书名 this.name = name; public Stri

13、ng getAuthor() /获取作者 return author; public void setAuthor(String author) /设置作者 this.author = author; public String getPublisher() /获取出版社 return publisher; public void setPublisher(String publisher) /设置出版社 this.publisher = publisher; public String getPublishTime() /获取出版时间 return publishTime; public v

14、oid setPublishTime(String publishTime) /设置出版时间 this.publishTime = publishTime; public double getPrice() /获取定价 return price; public void setPrice(double price) /设置定价 this.price = price; public String getState() /获取图书状态 return state; public void setState(String state) /设置图书状态 this.state = state; Contr

15、ollerServletControllerServlet 类的声明类的声明( (控制并响应前台请求控制并响应前台请求) ) public class ControllerServlet extends HttpServlet /* * 构造函数 */ public ControllerServlet() super(); /* * 析构函数 */ public void destroy() super.destroy(); / Just puts destroy string in log / Put your code here /* * 响应 get 请求 * param request

16、 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 IOException if an error occurred */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException

17、, 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 client * throws ServletException if an error occurred * throws IOException if an error occurred */ public void doPost(HttpServ

18、letRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8); final String ACTION_NAME = request.getParameter(actionName); /判断请求类型,分别调用不同方法进行处理 try if(login.equals(ACTION_NAME) this.loginCheck(request, response); else if(queryCards.equals

19、(ACTION_NAME) this.queryBorrowCards(request, response); else if(addCard.equals(ACTION_NAME) this.addBorrowCard(request, response); else if(queryBooks.equals(ACTION_NAME) this.queryBooksInfo(request, response); else if(queryCardById.equals(ACTION_NAME) this.queryBorrowCardById(request, response); els

20、e if(borrowBooks.equals(ACTION_NAME) this.addBorrowBooks(request, response); else if(queryBorrowedBooks.equals(ACTION_NAME) this.queryBorrowedBooksInfo(request, response); else if(returnBooks.equals(ACTION_NAME) this.returnBooks(request, response); else if(addBook.equals(ACTION_NAME) this.addBook(re

21、quest, response); catch (Exception e) / TODO Auto-generated catch block e.printStackTrace(); 6 模块分析 6.16.1 登录模块登录模块 系统将根据用户输入的用户名、密码,去查询数据库用户表。看是否存在对应记 录,如果存在,则直接跳转到图书管理页面,否则则重新登录。 6.26.2 图书基本信息管理模块图书基本信息管理模块 点击查询,页面会收集输入的查询条件,发起 AJAX 请求,传入到后台进行解析, 然后生成数据库查询 SQL 语句访问图书信息表,查询并返回相应记录。然后前台再重 修构造表格。 点击添

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

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

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

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1