logo资料库

图书管理系统.docx

第1页 / 共85页
第2页 / 共85页
第3页 / 共85页
第4页 / 共85页
第5页 / 共85页
第6页 / 共85页
第7页 / 共85页
第8页 / 共85页
资料共85页,剩余部分请下载后查看
图书管理系统设计报告 一、需求分析 用户端: 1、用户或者管理员可以登陆进入图书管理系统界面,如果有账号可以直接 登陆,如果没有账号则先需要注册账号再进行登录。 2、用户可以对所需要借阅的图书进行查询,也可以查询自己已经借阅的书 籍的相关信息。 3、如果有需要借阅的图书可以先进行借阅,如果图书馆有该藏书则可以借 阅,如果图书馆该书籍被借空会对用户提醒,然后记录,并且修改图书管理系统 的相关信息。 4、用户可以通过信息提示功能查看记录并显示自己曾经在图书馆内借过的 图书。 5、用户可以通过图书管理系统还书,但是如果超过图书归还期限,则需要 在还书的同时缴纳逾期未还书的罚款。 管理端: 1、管理员可以对图书实现查询图书、添加图书、修改图书、删除图书的操 作。 2、管理员可以对用户实现查询用户、添加用户、修改用户、删除用户的操 作。 二、ER 图 用户端:
管理端: 三、逻辑结构设计 从理论‘E/R 模型’到理论‘关系模型’的整理转换,通过 E/R 模型到关系模型的转化, 可以得到如下关系模式: 用户端: 用户信息 属性:用户名、姓名、密码 主键:用户名 用户端界面信息 属性:借阅信息、预约信息、信息提示 主键:信息提示 图书信息 属性:索书号、书名、种类、作者、出版社、馆藏、可借 主键:索书号 违约罚款信息 属性: 主键:
管理端: 管理员信息 属性:用户身份、用户密码、用户名 主键:用户身份 用户信息 属性:用户名、姓名、密码 主键:用户名 图书信息 属性:图书编号、图书名称、图书种类、图书作者、出版社、图书数目 主键:图书编号 四、管理系统设计 (1)连接数据库 创建数据库连接类,最主要的是创建数据库连接类,封装了 Connection 、 Statement,用 ResultSet 接受结果集。编写数据库连接类方法:根据数据库驱动 包,获取数据连接,以便程序使用。封装执行方法(此方法执行 SQL,返回受影 响的行数)。 下面是创建的图书管理系统的数据库: #创建图书馆管理系统数据库 CREATE DATABASE library; #创建管理员用户信息表 CREATE TABLE user_admin( admin_id admin_name admin_pwd CHAR(20) PRIMARY KEY, CHAR(10) NOT NULL, CHAR(20) NOT NULL ); #创建一般用户信息表 CREATE TABLE user_usual( usual_id usual_name usual_pwd CHAR(20) PRIMARY KEY, CHAR(10) NOT NULL, CHAR(20) NOT NULL ); #创建图书信息表 CREATE TABLE book_infor( CHAR(20) CHAR(20) CHAR(20) book_id book_name book_kind book_author book_publish book_KVA book_SOC INT INT PRIMARY KEY, NOT NOT NULL, NULL, CHAR(20) NOT NULL, CHAR(20) NOT NULL, NOT NOT NULL, NULL );
#创建借书记录表 CREATE TABLE book_borrow( CHAR(20), CHAR(20), usual_id book_id time_borrow time_return is_order DATE DATE NOT NOT NULL, NULL, BOOL NOT NULL ); #创建图书预约表 CREATE TABLE usual_old usual_new book_id time_return book_order( CHAR(20) CHAR(20) NOT NOT NULL, NULL, CHAR(20) DATE NOT NOT NULL, NULL ); #创建操作日志表 CREATE TABLE log_infor( usual_id log_titl log_oper log_time CHAR(20) CHAR(10) CHAR(100) NOT DATE NOT NOT NULL, NULL, NULL, NOT NULL ); 5); 8); 20); INTO 40); INTO INTO INTO book_infor book_infor book_infor book_infor INSERT 北京工业出版社',5, INSERT 子工业出版社',8, INSERT 山东农业大学出版社',40, INSERT 清华大学出版社',20, INSERT ','清华大学出版社',10, INSERT 朔飞','南京工业大学出版社',2, INSERT 子瀛','西安电子科技大学出版社',4, INSERT ','电子工业出版社',5, INSERT ','清华大学出版社',2, INSERT ','浙江大学出版社',1, book_infor book_infor book_infor 5); 2); 1); INTO INTO 10); INTO book_infor VALUES('A120','数据结构','计算机','王红梅 VALUES('A121','计算机组成原理','计算机','唐 VALUES('A122','计算机操作系统','计算机','汤 2); 4); VALUES('A116','线性代数','数学','李永乐',' VALUES('A117','离散数学','数学','张三','电 VALUES('A118','高等数学','数学','李仁所',' VALUES('A119','设计模式','计算机','程杰',' INTO book_infor VALUES('A123','计算机网络','计算机','谢希仁 INTO VALUES('A124','C 程序设计','计算机','张三丰 INTO book_infor VALUES('A125','汇编语言','计算机','韦小宝
INTO book_infor INSERT ','南京林业大学出版社',10, INSERT 小甲鱼','清华大学出版社',40, INSERT 清华大学出版社',4, book_infor book_infor 4); INTO INTO 10); 40); VALUES('A128','javaweb','计算机','张继军',' VALUES('A126','51 单片机','计算机','李逍遥 VALUES('A127','python 语言基础','计算机',' INTO book_infor /*添加一条逾期罚款的测试数据*/ INSERT 羲之','浙江大学出版社',4, INSERT book_borrow 15',0); INTO VALUES('A111','mysql 必知必会','计算机','王 3); VALUES('111','A111','2020-03-12','2020-04- (2)运行思路 用户端: 创建注册和登陆页面,供一般用户和管理员创建账号使用,般管理员会早在 数据库的表中建好,所以这个注册页面供一般用户使用。用户注册分为用户名、 姓名、密码、确认密码四个文本框,注册好后会进入页面跳转。如果没有输入完 全,则会在下面提示注册需要填写全部信息,然后清空四个文本框内容,创建好 后则会在用户信息表进行更新。如果验证码错误会刷新一张新的验证码。 页面跳转进入用户登录,在输入用户名和密码后点击一下验证码图片,输入 验证码后进入登陆成功用户端界面,如果密码错误或者用户名错误都不会成功进 入用户端界面,会刷新页面,需要重新输入正确的用户名、密码、验证码才能等 路用户端界面。 在用户端界面的右上角有用户的基本信息,可以通过点击右上角的退出操 作,退出当前用户,也可以重新登陆新用户。 左边一栏为菜单栏,菜单栏分别有五项用户端界面的功能,点开都是空白的, 默认的用户端界面就是图书查询功能界面。图书查询功能界面默认显示全部图 书。可以根据索书号、书名、种类、作者进行图书查询操作,这些选项都是单选, 需要勾选之后填写相应的内容以达到查询图书的目的。 点开图书借阅功能,等待图书借阅后借阅信息结果会自动进行更新,会在图 书借阅页面显示用户的图书借阅信息,同时数据库也会跟着更新。图书归还操作 可以正常还书,如果超过应还时间则需要缴纳超时罚款。图书续借操作可以多续 借一个月,从截止日期后开始算,应还时间会多加一个月。 点开图书预约功能,等待图书预约后预约信息结果会自动进行更新(如果馆 藏为零则自动显示预约)会在图书预约页面显示用户的图书预约信息,同时数据 库也会跟着更新。 点开违约罚款功能,此项是针对未能在规定时间内归还图书则会有违约罚 款,违约罚款的计算方法是如果超过应还时间会计算应缴纳罚款,每超过一天需 要缴纳一元罚款。缴纳罚款需要扫描二维码,待罚款成功缴纳后会显示支付成功 界面(功能未完全实现)。 点开信息提示功能,信息提示用分页技术将全部的借书信息显示出来,可以 通过翻页查看自己曾经的借书记录。
管理端: 等待登陆成功后,左边是菜单,右边是操作进行的界面,上面是菜单操作的 按钮,按不同按钮可以跳转到不同界面。 查询图书可以单项查询也可以多项查询,在查询方式给出了图书编号、图书 名称、图书类别、图书作者、出版社、图书书目这几个选项可供多选。同时在下 面会显示“查询条件之间请以-间隔,并按顺序填写:如 bookId-bookName”的 字样以供使用者了解怎样查询图书。如果查询到书则会在下面显示查询到图书的 信息,就说明这本书存于这个图书管理系统的数据库里,从而可以对这本图书进 行 CRUD 的操作。 添加图书分别从图书编号、图书名称、图书种类、图书作者、出版社、图书 书目这六项进行添加,添加成功后会在数据库更新图书信息。需要注意的一点是 六个框的值不能为空,否则会报错,因为一本图书的各项信息都要齐全才能成功 添加进入数据库中。如果添加一本已经存在于数据库中的书,那么数据库不会产 生新的记录,而是会在原来图书的数目上进行增加。 修改图书分别分别从图书编号、图书名称、图书种类、图书作者、出版社、 图书书目这六项进行添加,修改成功后会在数据库更新图书信息。 删除图书通过图书编号这个主键可以将图书删除掉。 对用户的查询方式给出了用户名、姓名、用户密码这几个选项可供多选。同 时在下面会显示“查询条件之间请以-间隔:如 userId-userName”的字样以供使 用者了解怎样查询用户。如果查询到书则会在下面显示查询到图书的信息,就说 明这名用户存于这个图书管理系统的数据库里,从而可以对这名用户进行 CRUD 的操作。 添加用户一般是通过用户端的注册实现的,在管理端的添加注册是为了提前 将用户注册好,类似于学校这种帮学生注册学号一样。注意一点的是用户密码和 确认密码如果不一样则会显示报错,下面会显示添加成功的文本框。 修改用户下面显示提示信息“默认空表示不修改此项,确认则修改用户名为 ***的用户信息”,输入用户名、姓名、原密码、新密码后则可以进行修改密码 的操作,值得注意一点的是如果原密码和新密码相同则会报错,下面出现文本框 提示密码重复,则需要重新进行密码的设置。 删除用户跟删除图书一样,删除用户通过用户 id 这个主键可以将用户删除 掉。
五、管理系统实现 用户端 注册界面: 表单头部:实现用户注册 和 用户登录 的功能 表单主体:注册的信息(用户名、姓名、用户密码、确认密码), 以及用户提 交和重置表单的按钮 表单尾部:显示注册失败的返回信息,是一个设置为 readonly 属性的 text 注册页面实现代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> Insert title here