图书管理系统文档-图书管理系统文档下载

本文目录一览:

求图书管理系统

目录

目录 2

1 前言 4

1.1 目的 4

1.2 范围 4

1.3 有关本系统中的定义 4

2 资料引用 4

3 设计思路 4

3.1 数据层设计 5

user_book表的触发器 5

用户续借图书的存储过程 6

到期催还表的视图 7

3.2 数据链接层设计 8

UserBook Entity Bean设计 9

UserConsumer Entity Bean设计 10

UserLogBook Entity Bean设计 11

3.3 数据逻辑层设计 12

TheBook Session Bean设计 13

TheUser Session Bean设计 14

TheLog Session Bean设计 15

3.4 网络应用层设计 15

CheckValue bean 16

EnCode bean 16

JDBCBean bean 16

Rank bean 16

SetUp bean 16

SplitPage bean 17

UserLogin bean 17

SearchBook bean 17

SearchDeadline bean 17

ValidateIMG servlet 17

GetDelete servlet servlet 17

GetBookSubmit servlet 18

GetUserSubmit servlet 18

GetRenewBook servlet 18

GetBorrowBook servlet 18

GetReturnBook servlet 18

4 程序架构 18

4.1 程序组织结构 18

4.2 功能权限划分 20

4.3 WEB程序/页面设计 21

4.4 本系统实现的功能 22

5 任务分工 22

1 前言

1.1 目的

本文档详细描述了图书管理系统的设计,主要是为开发人员提供,使其对本项目的构建和维护有深入的了解。

1.2 范围

本文档的描述只针对图书管理系统的1.0版本。

1.3 有关本系统中的定义

以下是本说明书中用到的专门术语的定义和外文首字母组词的原词组:

术语或缩写 定义与描述

booksManager 本系统的名称

Reader 系统权限:普通读者

BookAdmin 系统权限:图书管理员

UserAdmin 系统权限:用户管理员

SuperAdmin 系统权限:超级管理员(系统管理员)

Undergraduate 系统用户角色:本科生

Graduate 系统用户角色:研究生

Teacher 系统用户角色:教师

2 资料引用

清华大学《应用软件平台与核心技术》讲义 顾明

清华大学《应用软件平台与核心技术》助教文档 张伟业、魏岚、陈勇、林彩荣

《精通EJB(第二版)》

《J2EE应用与BEA Web Logic Server》,刑国庆等译,电子工业出版社 2002.4

《设计模式——可复用面向对象软件的基础》,Erich Gamma等,机械工业出版社

3 设计思路

本系统严格按照4层结构设计,分为数据层(SQL server),数据链接层(entity bean),数据逻辑层(session bean),网络应用层(java bean, java servlet, java serverpage)。

四层之间完全独立,可以部署在四台服务器上运行,体现了分布式应用的思想。

数据层的功能严格来说是实现基本的数据存储(逻辑处理功能应该全部交给CMP管理),但因为学习原因,在数据库中也用到了一些逻辑处理,如使用了存储过程+系统级临时表处理读者续借图书的功能、使用触发器防止未还书的用户和未归还的图书被注销以及使用视图检测借书记录实现到期催还功能。

数据链接层实现了和数据库的连接,作用在于屏蔽数据库和平台之间的差异,做到底层无关性。本层利用了模糊查找、多表映射、Relationship等技术,通过find,select方法数据的查找功能,抛出聚集对象或远程接口对象给下一层。

数据逻辑层实现了对数据的逻辑处理,例如将远程接口对象转化为值对象、将聚集对象转化为值对象向量、利用日期类完成查找两个特定日期之间的记录等相对复杂的计算。

网络应用层完成页面跳转和页面显示等应用功能,还有一些附加功能如:图片验证,登录验证,等级控制,代码过滤,分页控制,输入值检测、借书日志打印、系统运行日志记录以及系统设置等。(使用了JDBC实现存储过程和模糊查找图书的功能)

3.1 数据层设计

数据库表

表名 功能描述

user_consumer 记录了用户的所有信息

user_book 记录了图书的所有信息

user_logBook 记录了用户使用本系统的信息,保留了所有的借书记录,可作为系统日志和报表资料

user_book表的触发器

用到的触发器之一,作用:如果要注销的图书被外借没有归还,则回滚此删除操作。

CREATE TRIGGER bookhavelog ON dbo.user_book

FOR DELETE

AS

declare @bookISBN varchar(50)

select @bookISBN=book_ISBN from deleted

if exists(select * from user_logBook where logb_book_ISBN=@bookISBN and

logb_backdate is null)

begin

rollback

return

end

用户续借图书的存储过程

利用存储过程实现用户续借图书的逻辑操作,根据用户的当前信息判断其是否有续借的权限,并把处理结果输出到临时表中去。

CREATE PROCEDURE user_renew_book @xxxparm int AS

CREATE TABLE ##temp(statement varchar(50))

DECLARE @username varchar(50)

SET @username=(select logb_cons_username from user_logBook where ID=@xxxparm)

IF @username is null

BEGIN

INSERT INTO ##temp VALUES ('The ID is not EXIST')

RETURN

END

DECLARE @timelimit int

SET @timelimit=(select logb_timelimit from user_logBook where ID=@xxxparm)

DECLARE @renewday int

SET @renewday=(select cons_maxday from user_consumer where cons_username=@username)

DECLARE @maxrenew int

SET @maxrenew=(select cons_maxrenew from user_consumer where cons_username=@username)

IF (@renewday*@maxrenew)=@timelimit

BEGIN

update user_logBook set logb_timelimit=logb_timelimit+@renewday where ID=@xxxparm

--update user_consumer set cons_maxrenews=cons_maxrenews-1 where cons_username=@username

INSERT INTO ##temp VALUES ('renew successful')

RETURN

END

ELSE

BEGIN

INSERT INTO ##temp VALUES ('You are not allowed to renew the book')

RETURN

END

GO

到期催还表的视图

利用DATEDIFF,DATEADD,CAST,GETDATE等函数从借书记录表中计算出到期的记录,然后根据此记录找出相应的读者信息,在网页上以email形式催还。

CREATE VIEW dbo.deadline

AS

SELECT TOP 100 PERCENT dbo.user_logBook.logb_cons_username,

dbo.user_logBook.logb_outdate, DATEADD([day], dbo.user_logBook.logb_timelimit,

CAST(dbo.user_logBook.logb_outdate AS datetime)) AS deadline_date, GETDATE()

AS now_date, dbo.user_consumer.cons_name, dbo.user_consumer.cons_kind,

dbo.user_consumer.cons_rank, dbo.user_consumer.cons_email,

dbo.user_consumer.cons_maxrenew, dbo.user_consumer.cons_maxbook,

dbo.user_logBook.logb_book_ISBN, dbo.user_book.book_name,

dbo.user_book.book_kind, dbo.user_book.book_storage, dbo.user_book.book_rank,

dbo.user_logBook.logb_timelimit

FROM dbo.user_logBook INNER JOIN

dbo.user_consumer ON

dbo.user_logBook.logb_cons_username = dbo.user_consumer.cons_username INNER

JOIN

dbo.user_book ON

dbo.user_logBook.logb_book_ISBN = dbo.user_book.book_ISBN

WHERE (DATEDIFF([day], DATEADD([day], dbo.user_logBook.logb_timelimit,

CAST(dbo.user_logBook.logb_outdate AS datetime)), GETDATE()) = 0) AND

(dbo.user_logBook.logb_backdate IS NULL)

ORDER BY dbo.user_logBook.logb_cons_username DESC

3.2 数据链接层设计

entity bean

UserBook Entity Bean设计

userbook remotehome接口

方法 描述

findAllBook 得到所有的图书信息

findByISBN 通过图书的书号得到图书的信息

findSearcher 利用关键字模糊查找图书信息

selectUserByBookISBN

(userbook remote) 利用select方法实现多表相关的查找

findSearcher实现模糊查找的代码:

select object(p) from UserBook as p where p.bookName like concat(concat('%',?1),'%') or p.bookAuthor like ?1 or p.bookKind like ?1 or p.bookPublish like ?1 or p.bookAbstract like ?1 or p.bookISBN like concat(concat('%',?1),'%') or p.bookRemark like ?1

UserConsumer Entity Bean设计

UserConsumer remotehome接口

方法 描述

findAllUser 查找所有的用户信息

findByUsername 通过用户名查找用户信息

findSearcher 利用关键字模糊查找用户信息

selectBookByUsername

(userconsumer remote) 利用select方法实现多表相关的查找

findSearcher实现模糊查找的代码:

select object(p) from UserConsumer as p where p.consUsername like concat(concat('%',?1),'%') or p.consSerial like ?1 or p.consName like concat(concat('%',?1),'%') or p.consRemark like ?1 or p.consEmail like ?1

UserLogBook Entity Bean设计

UserLogBook remotehome接口

方法 描述

findallbybookISBN 查找此书所有的借阅记录

findbybookISBN 查找此书当前的借出记录

findallbyusername 查找此用户所有的借阅记录

findbyusername 查找此用户当前的借出书记录

findbacklog 得到所有已经归还图书的借书记录

findoutlog 得到所有尚未归还图书的借书记录

findbyID 通过记录流水号查找借书记录

findlogbyday 查找某一日期的借书记录

(模糊匹配,例如提交“2004-5”可得到最终记录时间——借阅或归还在2004年5月份的所有借书记录)

findallog 得到所有的借书记录

FindLogByDay通过模糊匹配得到一组最终记录时间的代码:

select object(p) from UserLogBook as p where ( p.logbBackdate is null and p.logbOutdate like concat(concat('%',?1),'%') ) or ( p.logbBackdate is not null and p.logbBackdate like concat(concat('%',?1),'%') )

3.3 数据逻辑层设计

session bean

TheBook Session Bean设计

TheBook bean

实现图书的增删改查以及模糊搜索、通过书查读者等功能

方法内部实现所有的逻辑处理和转化,返回到远程接口值对象或值对象向量

TheUser Session Bean设计

TheUser bean

实现用户(读者)的增删改查以及模糊搜索、通过读者查书等功能

方法内部实现所有的逻辑处理和转化,返回到远程接口值对象或值对象向量

TheLog Session Bean设计

TheLog bean

主要实现对日志(借书记录)的各项操作,提供多种获得日志的方法(按读者、按图书、按日期、按借还状态等),方法内部实现所有的逻辑处理和转化,返回到远程接口值对象或值对象向量,另外还有如下方法:

方法 功能

public boolean userBorrowBook(String username, String bookISBN) 以一个事务封装读者借书的所有逻辑操作,借书成功返回真值,无法借书返回假值,调用enCode bean对中文进行转码

public boolean userReturnBook(String logbid) 以一个事务封装读者还书的所有逻辑操作,即实现使一笔借书记录销账的功能,调用enCode bean对中文进行转码

public Vector showLogBetweenDays(String dayBegin, String dayEnd) 返回两个日期之间的所有日志,主要利用Calendar类实现

3.4 网络应用层设计

本层本着面向对象思想的封装性、数据模糊性、可重用性等原则设计。

本着系统运行错误在系统中打印(System.out.println)、用户输入和误操作错误导向友好的错误处理页并给出友好的提示的错误处理原则。

每次对会话bean的调用写入系统运行日志文件,默认路径是C:\\booksManagerLog.dat。

CheckValue bean

封装多个静态方法。

可以用于检测某表中某个字段是否已经存在某个值(可用于检测重名用户、重号图书)、检测用户名合法性、检测密码合法性、检测年龄合法性、检测电子邮件合法性、检测数字合法性、检测日期合法性等。

EnCode bean

封装编码转码工作:

html显示转码,例如:将转为,将转为rt;,将数据库中的换行转为html中的换行等等,这样可以屏蔽用户提交文本中的可执行代码。

可重载的中文转码。

密码的加密和解密编码。

JDBCBean bean

封装所有的数据库操作。包括一个带结果集返回的SQL执行方法和一个不带结果集返回的SQL执行方法。

Rank bean

封装4种权限(普通读者、用户管理员、图书管理员、系统管理员)的页面访问,相当于页面加锁功能。

SetUp bean

public static String title="SuperLibrary";//系统名称

public static String dbS="booksManagerDS";//数据库的JNDI名

public static String errorPage="dealError.jsp?theError=";//友好的错误处理页,用get方法传递出错原因

public static String homePage="default.jsp";//默认首页

//权限-------------------------------------------------------------------------

public static String Reader="Reader";//读者

public static String UserAdmin="UserAdmin";//用户管理员

public static String BookAdmin="BookAdmin";//图书管理员

public static String SuperAdmin="SuperAdmin";//系统管理员

//等级-------------------------------------------------------------------------

public static String Undergraduate="Undergraduate";//本科生

public static int UndergraduateRenew=1;//本科生可续借的次数

public static int UndergraduateMaxday=30;//本科生一次可借的天数

public static String Graduate="Graduate";//研究生

public static int GraduateRenew=2;//研究生可续借的次数

public static int GraduateMaxday=45;//研究生一次可借的天数

public static String Teacher="Teacher";//教师

public static int TeacherRenew=3;//教师可续借的次数

public static int TeacherMaxday=60;//教师一次可借的天数

//----------------------------------------------------------------------------

public static int rsPerPage=5;//每页显示记录的数量

public static int minBooks=4;//系统默认的最小借书数

SplitPage bean

将数据记录分页的逻辑实现和页面显示(最简,可在外部由样式表美化)封装在一个bean中,重用时实际只需要传递一个记录集数量的为参数即可,可重用。一般作为session级java bean在页面中被调用,在会话中保存用户对此页面的访问状态,在会话结束之前始终记忆用户访问此页对应的页码。

UserLogin bean

将用户登录的逻辑实现和页面显示(最简,可在外部由样式表美化)封装在一个bean中,包括对用户各种登录情况的处理,可重用。

SearchBook bean

利用JDBC实现模糊查找和按指定类别精确查找图书的功能。

SearchDeadline bean

利用JDBC调用视图实现到期图书的催还功能。

ValidateIMG servlet

动态生成含有随机验证码的图片,在生成图片的同时将验证码写入session中,与用户的登录输入比较。可有效的防止机器人登录。

GetDelete servlet servlet

处理图书、用户、日志的注销操作,根据返回值进行相应页面的跳转。

GetBookSubmit servlet

处理图书的入库和图书信息的修改,根据返回值进行相应页面的跳转。

GetUserSubmit servlet

处理用户的注册和用户信息的修改,根据返回值进行相应页面的跳转。

GetRenewBook servlet

处理用户续借图书的请求(JDBC调用存储过程实现),从系统临时表中读取状态值,根据状态值进行相应页面的跳转。

GetBorrowBook servlet

处理用户的借书请求,将用户借书限额已满、库存为零等错误导向友好的错误页,如果借书成功则跳转到图书信息页面,并给与相应的提示。

GetReturnBook servlet

处理用户的还书请求,如果还书成功则跳转到用户的借书记录页面,并给与相应的提示。

4 程序架构

4.1 程序组织结构

说明:图书搜索和用户登录看作系统外部功能,通过JDBC直接调用数据库,其中用户登录模块封装在一个java bean中,可重用。另外,用户续借图书是通过存储过程实现,从而绕过了使用CMP技术管理事务的实体bean。

本系统其余程序的组织结构严格按照下图实现:

程序组织结构图

4.2 功能权限划分

站点页面地图

权限名称 系统定义字符 权限 可访问页面

普通读者 Reader 查看自己的信息(还书、续借);

修改自己的信息;

查看图书(借书); userModify

userView

booklist

图书管理员 BookAdmin 拥有普通读者的权限;

图书的增删改查;

到期催还; userModify

userView

booklist

bookAdder

bookModify

deadline

用户管理员 UserAdmin 拥有普通读者的权限;

用户的增删改查; userModify

userView

booklist

userRegister

userModify

userList

系统管理员 SuperAdmin 拥有图书管理员和用户管理员的权限;

查看系统日志;

删除系统日志;

系统设置; 包括setupSYS.jsp(系统设置,利用application级java bean控制整个应用程序)在内的所有页面

4.3 WEB程序/页面设计

利用input style="ime-mode:disabled"代码关闭客户端的输入法,实现用户名、密码不能出现中文的问题。

利用onfocus=this.select() onmouseover=this.focus()代码使文本框自动吸附获得焦点,方便用户输入。

利用WMODE="transparent"参数使flash的背景透明,更好的融入网页。

在每页中,利用代码:

IFRAME frameBorder=0 height=88 marginHeight=0 marginWidth=0 scrolling=no src="../iframe/top.htm" width=755 BORDERCOLOR="#000000"/IFRAME

IFRAME frameBorder=0 height=68 marginHeight=0 marginWidth=0 scrolling=no src="../iframe/below.htm" width=755 BORDERCOLOR="#000000"/IFRAME

嵌入上下导航条,使网站导航明确,方便用户浏览。

在网页头部加入代码:

meta HTTP-EQUIV="pragma" CONTENT="no-cache"

meta HTTP-EQUIV="expires" CONTENT="0"

使客户端不缓存网页,保证了客户每次浏览该页都从服务器获得最新的版本,以求正确显示。

提供智能搜索(获得尽可能多的匹配)和精确搜索(获得尽可能精确的匹配)图书,服务器端编程都采用模糊查找的方式。

在客户端用javascript对表单提交进行第一次验码,通过后提交到服务器端,再进行第二次验码,验码包括:用户名是否重复、年龄是不是合适的数字,两次密码输入的是否一致、电子邮件是否合法、密码是否太短、用户名是否太短、用户名密码是否为空等等。

利用随机生成JPG图片验证码的方法,防止机器人登录。

在页面中使用session级java bean实现分页,在会话中保存用户对此页面的访问状态,在会话结束之前始终记忆用户访问此页对应的页码。

在页面中使用application级java bean实现安全的系统设置,当服务器启动后,即可对系统运行参数进行应用程序级的设置,只要服务器不关闭,此设置始终有效且作用于所有用户,如果设置不慎造成系统错误或想恢复系统默认设置,则只需重新启动服务器即可。

在对会话bean的调用包ejbClient中,创建系统运行日志,通过包中的writeF类写入web服务器的C:\\booksManagerLog.dat中,可做查询用。

4.4 本系统实现的功能

确定图书的基本信息,有书名、作者、出版日期、当前借阅状态等属性

系统的使用者包括读者、图书管理员、用户管理员、系统管理员四种

读者可以查询图书;图书管理员可以完成图书管理、借阅管理;读者管理员可以完成读者管理的功能;系统管理员可以使用系统的所有功能

图书管理:新书登记,图书查询,图书注销;

借阅管理:借书,还书,查询到期读者

读者管理:增加读者、删除读者、查询读者、读者类别管理(设置研究生,本科生,教师的可借册数,可借天数,可续借次数等)

系统管理:系统管理员使用,包括用户权限管理(增加用户,删除用户,密码修改等),系统借书日志,系统运行日志,系统设置等功能

页面输入有验码,密码存取有加密

图书到期催还

体现分层设计思想,使用MVC架构

实现了多个Beans,Bean之间实现了对应的关系

使用了EJB QL,事务控制等

使用了jsp-sessionBean-entityBean-数据库模式

数据库使用了触发器和存储过程等一些高级技术

JAVA 图书管理系统,怎么用流读取TXT文档在控制台显示

像这种常用的IO流读取问题,一般都有人给你封装好了,你直接拿来用就行。 比如

apache的 common-io jar。使用举例:

File f = new File("d:\\data.txt");

System.out.println(FileUtils.readFileToString(f)); //读取成一个字符串

ListString lines = FileUtils.readLines(f); //每行读取,把string封装到list列表里

怎么样很方便吧

图书馆 管理信息系统

图书馆管理信息系统 1.引言1.1 编写目的编写本文档的目的是根据数据库系统分析分析与设计人员和客户(图书读者)沟通的结果,对用户需求进行了全面细致的分析,深入描述《图书管理系统》的功能和性能与界面,确定该系统设计的限制和定义时的其他有效性需求。该数据库综合设计作业规格说明书的读者对象是45042LWM数据库系统设计和实现小组各个成员,主要包括系统的设计与文档编辑人员,数据库实现人员和系统测试人员,版权归45042LWM数据库系统设计与开发小组所有,严禁外传。1.2 项目背景随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理系统与软件,为此45042LWM数据库系统设计与开发小组通过组员之间的沟通与协调,结合所学数据库知识和相关教材,实现了《图书管理系统》的功能和性能。图书管理系统LMSV1.0是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。该系统软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的DOS、WINDOWS系列等操作系统上使用。除此以外,LMSV1.0可通过访问权限控制以及数据备份功能,确保数据的安全性。1.3 定义文档中采用的专门术语的定义及缩略词简要如下:LMS:Library Management System,图书管理系统;该系统:亦指Library Management System,图书管理系统;45042LWM:是图书管理数据库系统设计与开发小组组名。1.4 参考资料[1]郑人杰,殷人昆,陶永雷。《实用软件工程》(第二版)。北京:清华大学出版社,1997。[2]王珊,萨师瑄。《数据库系统概论》。高等教育出版社,2006年。[3]张立洪,郑利强等。《轻松掌握SQL》。电子工业出版社,2000年。[4]黄明,梁旭。《Visual Basic信息系统设计与开发实例》。机械工业出版社,2005年3月。[5]刘涛等。《Visual Basic数据库开发系统实例导航》。人民邮电出版社,2005年1月。2.任务概述2.1 目标《图书管理系统》针对的用户是单个中小型图书室或者个人,藏书的种类和数量较少,读者的数量和来源受到一定的限制。相应的需求有:1.能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括: 1) 图书信息的录入、删除及修改。 2) 图书信息的多关键字检索查询。 3) 图书的出借、返还和资料统计。2.能够对一定数量的读者进行相应的信息存储与管理,这其中包括: 1) 读者信息的登记、删除及修改。  2) 读者资料的统计与查询。3.能够对需要的统计结果提供列表显示输出。4.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。2.2 运行环境Intel系列或者AMD 2500 以上系列等PC台式机或者便携式电脑等;运行时占用内存:≤5MB;所需硬盘空间:≤20MB;操作系统平台:中文Windows2000/XP或更高版本;数据库开发与实现工具:SQLServer2000个人版。2.3 条件与限制我们认为,一个更为完善的图书管理系统,应提供更为便捷与强大的信息查询功能,如相应的网络操作及服务,由于开发时间和所掌握的知识技能有限,该系统并未提供这一功能。对信息的保护手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,不能防止恶意的破坏,安全性能有待进一步完善。安全性这也是今后开发数据库系统一个不容忽视的问题。3.数据描述3.1 静态数据图书管理系统的静态数据包括:图书书籍信息: 书籍编号;书籍名称;书籍作者;出版社名称;出版日期;书籍页码;图书分类;图书状态; 读者: 读者编号;读者姓名;读者性别;种类编号;读者工作单位;读者电话号码;读者电子邮件地址;登记日期;读者密码; 借阅信息: 借阅编号;读者编号;读者姓名;书籍编号;书籍名称;出借日期;还书日期; 用户:   用户名;用户密码; 用户类型(权限级别);读者种类信息:种类编号;种类名称;借书期限;有效期限; 书籍类别信息:类别编号;类别名称;关键词;3.2 动态数据输入数据:   查询方式、查询关键字;  新建图书项、读者项;  图书项、读者项相应纪录更改;  备份数据恢复所需的数据备份文件;  借阅、返还的图书序号、读者借阅证号;  受限操作所需的密码;输出数据: 查询关键字确定的数据库记录的子集;  统计结果;  信息录入、删改结果(成功或失败);  图书借阅、返还操作结果并且可以显示出是否归还;  数据备份输出的数据备份文件;内部数据: 查询操作建立的索引;3.3 数据库描述数据库采用MicrosoftSQLServer2000数据库。数据库系统名称为45042LWM图书管理数据库系统。4.用户需求分析需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。4.1 抽取用户语义本系统着重从用户角度入手,主要涉及图书信息、系统用户信息、读者信息、图书借阅等多种数据管理。不同的用户享有不同的服务,而且是不同的角色。从系统管理的角度可将图书分为三类:图书信息管理、系统用户管理、读者数据管理。图书信息管理包括图书借还、查询等操作,系统用户管理包括系统用户类别和用户数据管理,读者数据管理包括读者类别管理和个人数据的录入、修改和删除。作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。我们主要从不同用户需求分析入手,分析设计结合参考资料而得出图书管理系统主要应具有以下功能:图书借阅者的需求是查询图书室所存的图书;图书馆工作人员对图书借阅者的借阅及还书要求进行操作,形成借书或还书报表给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对工作人员、图书借阅者、图书进行管理和维护,及系统状态的查看、维护等。图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。一般情况下,图书借阅者只应该查询和维护本人的借书情况和个人信息。图书馆工作人员有修改图书借阅者借书和还书记录的权限。图书馆管理人员,数据安全性和保密性要求最高。45042LWM数据库系统设计与开发小组设计的图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,赋予其最高权限,管理员在删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。同时对不同的读者来说,不但可以浏览图书,而且他们有各自不同的借书期限,这就是所谓的资深读者和普通读者的区别吧。 4.2 数据流图和数据字典图书管理系统的总体功能如下:(1) 图书的出借;(2) 图书的返回;(3) 图书信息查询;(4) 图书的增加与删除;(5) 图书管理员(系统管理员)查询统计图书和读者信息;(6) 图书管理系统数据备份;(7) 图书管理系统数据恢复;(8) 图书管理员口令修改等功能; 4.2.1 读者借书过程:(1)数据流图:A.图书信息;B.读者信息;C.图书访问记录;D.日期;(2)数据词典:A.数据源点描述:a. 名称:读者简要描述:借书、还书、查询及登记注册有关数据流:所借书本数目:b. 名称:日期简要描述:当日日期有关数据流:年月日数目: B. 数据流名词条描述:a.数据流名:读者ID说明:用以携带读者的唯一识别标识数据流来源:读者数据流去向:借书检验每个数据量流通量: b.数据流名:图书说明:记录图书的主要相关信息数据流来源:读者数据流去向:借书检验c.数据流名:借书信息说明:用于传递读者号和图书号数据流来源:借书检验数据流去向:借书登记d.数据流名:日期说明:提供当前日期信息数据流来源:日历数据流去向:借书检验,借书登记e.数据流名:读者信息说明:用于记录登记入库的读者信息数据流来源:读者库数据流去向:借书检验f.数据流名:图书信息说明:用于记录登记入库的图书信息数据流来源:图书库数据流去向:借书检验C.数据文件词条描述:a.数据文件名:读者信息表简述:存放读者信息输入数据:输出数据:读者信息数据文件组成:读者信息表由“读者信息”组成存储方式:关键码b.数据文件名:图书信息表简述:存放图书信息输入数据:输出数据:图书信息数据文件组成:图书信息表由“图书信息”组成存储方式:关键码 4.2.2 读者还书过程: 和上述3.4.1 读者借书过程相类似,有所不同的就是一个是读者借书,而这个是还书过程,数据词典不再赘述,数据流图如下: 图书读者 还书检验 还书登记检验错误还书信息图书访问记录 日历还书返回信息

4.2.3 读者查询书籍过程:(1)数据流图: D读者 查询许可检验数据查询图书访问记录读者库图书库检验错误 用户信息)查询信息日历A查询结果CB

A.图书信息;B.读者信息;C.图书访问记录;D.日期;

课程设计:图书管理系统 要求:建立图书资料文档,要求具有插入,更新,删除,查询等功能,使用菜单显示

的发展背景

数据库技术和互联网的飞速发展,因此,他们已成为现代信息技术的重要组成部分,是计算机信息系统和计算机应用的基础与核心。的数据对于任何一个企业的重要资产,以及如何有效地利用这些数据为企业的发展发挥着极其重要的作用。的快速发展,中国的市场经济,并在持续改善人们的生活水平,图书馆藏书的树木逐渐增加,这也挑战的图书管理技术,在人工管理风格不再适合在环境现在,取而代之的是一个国家的最先进的图书馆管理系统,使用PowerBuilder库管理系统,让管理人员方便快速管理,查询,借阅,录入工作。

2。需要分析

2.1系统目标

图书管理信息系统是典型的管理信息系统(MIS),其开发主要包括建立和维护后端数据库和前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性。数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。

整个系统的开发任务是实现各种系统化,规范化,自动化。

2.2的需求定义

图书馆管理系统的开发。整体设计,系统开发的目标是实现系统化,规范化和自动化图书馆管理,集中管理的书籍。

图书馆信息管理系统,主要功能为管理的读者,书籍,借阅,查询,删除,和管理员信息。该系统结构分为读者品类管理,阅读器文件管理,管理类型的书籍,书籍和记录管理,流程管理以及书籍,读者管理可以查看读者的信息,读者信息维护。图书馆管理人员可以查看图书的信息,可以保持图书信息。贷款管理可以显示当前数据库中的图书借阅,借阅信息保持。该系统主要解决的问题是使用关键字来查询数据库。

系统的功能框图如下:

图2-1系统功能框图

需求一般图书馆管理信息系统,图书馆管理内容的过程和数据流分析,设计,如数据项,如下图所示:

读者

属性:读者学号姓名的读者,读者的性别,电话号码,这里的老师,有效日期,到期日期,非法状态,累计库

主键的读者了解

书籍,信息

属性:ISBN,标题,作者,出版商,日出版,介绍

主键:ISBN

管理员信息

属性:主键的工号,姓名,性别,电话,家庭住址

:作业号 / 2.3数据流

作为学生图书馆管理系统的要求2.3.1读者:

1。各种方式(如标题,编号)查询图书馆的馆藏情况。

2。方便的图书借阅,续借,归还图书。

3。可查询的基本信息,借阅图书情况。

4。熟悉的图书馆管理系统的使用。

读者进入系统的工作流程图如下:

2-1进入系统的工作流程图

2.3.2馆员作为一名图书管理员,他们库管理系统要求:

方便的登记簿条目,取消旧的书。

能够方便地新生登记或者注销毕业的学生信息(基本信息,借用信息)。

3。释放,如各高校学生借阅图书扩展的情况下,博物馆收藏的情况下,在任何时间和其他高校学生的信息库中的信息可随时了解。的

图书管理员的工作流程图如下:

2-2馆员工作流程图

3。

说明系统功能分析系统开发的总体任务的基础上完成的。该系统的主要功能是完成第5部分:

(1)基本入门,,删除等基本操作。

1。的书分类标准,分类信息的输入,包括的类别编号,类别名称,关键字,注释,信息等。

2。类的书籍信息的查询,,包括的类别编号,类别名称,关键字,注释,信息等。

3。输入图书信息,书号,书名,图书类别,作者姓名,发布者的名称,出版日期,书页,关键词,登记日期,备注信息等。

(2)申请借书证模块。

1。新生申请借书证。

2。办理借书证丢失。

(3)库函数。

1。图书馆信息输入,包括#库,读多读者的名字,书号,书名,借书日期,备注。

2。图书馆信息查询,,包括库#读卡器ID读卡器名称,书号,书名,图书馆日期,票据,信息等。

(4)还书。

1。图书信息的输入,数字阅读器ID读码器名称,书号,这本书的名字,库日期,包括书籍,书日期备注。

2。查询和信息的书籍,其中包括#的书,读多读者的名称,书号,书名,借书日期,日期的书籍,笔记,资料。

(5)可以方便地查询书籍。自动延长给定的消息

设计

概念模型ER图如下:

(1)的读者信息类实体ER图

4-1读者实体ER图

(2)类的书籍实体ER图

4-2类的书籍实体ER图

(3)库实体ER图:

4-3图书实体ER图

(4)投诉管理实体ER图:

4-4投诉管理实体ER图

4-5实体之间的关系ER图

BR /

借用关系(读者,管理员,图书三元关系)

图4-6 CDM图

。逻辑模型设计和优化

“关系模型”的理论“ER模型理论的完成转换,ER模型到关系模型的转换,你可以得到以下关系模式:BR

属性/的借贷关系:工作数量,读者学号,ISBN,是否续借图书馆日期截止日期备注。

主键:工号,读者学号,ISBN

管理员_书关系

属性:工号,ISBN,添加时间,无论在博物馆

主键:作业号,ISBN

经理_师生关系

设计的概念属性:工号,读者学号,确认后也

主键:工号,读者学号模型得到PowerDesigner的CDM图,转换成相应的PDM图:

BR /

PDM图

5.1图书信息表

列名数据类型为空

ISBN数据类型为varchar

标题数据类型为varchar否否

的数据类型为varchar

出版varchar是

出版日期日期时间数据类型为varchar

5.2读者信息表

出的数据类型的名称可以空

读者学习号数据类型为varchar

读者姓名VARCHAR

读者性别数据类型为varchar

电话数据类型为varchar

教师VARCHAR BR /

5.3管理员信息表

列名数据类型的可行性空

号的工作VARCHAR是否

名称为varchar

性别数据类型为varchar无

手机数据类型为varchar

首页地址数据类型为varchar

表5.4借贷

难道是空

号字符的数据类型的列名不

ISBN字符

读者了解数字字符无

借日期日期时间

日期的日期时间没有

是否续约字符是否

5.5管理员_书 BR /列名

工号为空数据类型char无

ISBN字符无

添加时间datatime是

厅字符是否是

5.6管理员_学生

列名数据类型可能会清空

号字符

读者学习也确认字符没有

物理设计和数字字符实施

\实施的“数据库”,安排的物理文件并建立索引的索引

6.1为了提高搜索的速度表中的元组从理论“关系模式”,实现实际执行的关键代码索引表索引表项,应根据如下:

(1)读者(读者学习数)

(2)图书信息( ISBN)

(3)管理信息(工号)

(4)贷款(工号,读者学号,ISBN)

(5)的管理员_书(工号,ISBN)

(6)管理员_学生(工号,读者的学生人数)

6.2 SQL语句

如下:

/ * ======== ================================================== ==== * /

/ *表:图书信息* /

/ * ========================== ==================================== * /

创建表的图书信息/(

ISBN CHAR(20)不为空,

书名CHAR(20),

CHAR(10),

出版CHAR(15),

出版日期CHAR(30),

介绍CHAR(160),

图书信息的主要约束PK_键(ISBN)

/ * = ================================================== =========== * /

/ *索引:图书信息_PK * /

/ * ================== ============================================ * /

创建唯一索引图书信息_PK上的图书信息(

ISBN ASC

/ * ============ ================================================== * /

/ *表:投诉* /

/ * =============================== =============================== * /

创建表的投诉

工作号CHAR(10)不为空,

学生ID CHAR(10)不为空,

一个字母的意见CHAR(100),

投诉日CHAR(30),在

受诉??日期CHAR(30),

约束PK_投诉的主要关键(工号,学号)

/ *() ================================================== ====================================== * /

/ *指数:投诉_PK * /

/ * ========================================== ==================== * /

创建唯一索引的投诉(投诉_PK

ASC,号

学生ID ASC

/ * ============================== ================================ * /

/ *指数:投诉_FK * /

/ * ================================================ ============== * /

创建索引的投诉(投诉_FK

工号ASC

/ * ================================================ ============== * /

/ *指数:投诉2_FK * /

/ * ================ ============================================== * / /创建索引投诉(投诉2_FK的,

)学生ID ASC

/ * ================= ============================================== * / / / *表:注册* /

/ * =================================== =========================== * /

创建表登记

工作数字符( 10)

学号CHAR(10)不为空,

ISBN CHAR(20)不为空,

证书的日期CHAR(30)不为空,不为空

还预订日期CHAR(30)NOT NULL,

非法状态CHAR(160)

累计库CHAR(160)

备注CHAR(160),

约束PK_注册主键(工号,学号,ISBN)

/ * ========================= ===================================== * /

/ *指数:注册_ PK * /

/ * ========================================== ==================== * /

注册_PK登记(

工作号ASC

学生ID ASC创建唯一索引,

ISBN ASC

/ * ============================ ================================== * /

/ *指数:注册_FK * / / / * ============================================== ================ * /

创建索引注册_FK注册(

工号ASC

);

/ * =========================================== =================== * /

/ *指数:注册2_FK * /

/ * =========== ================================================== * /

创建索引注册2_FK登记(

学生ID ASC

/ * ========= ================================================== ==== * /

/ *指数:注册3_FK * /

/ * ========================== ==================================== * /

创建索引注册(注册3_FK BR / ISBN ASC

);

/ * ============================= ================================= * /

/ *表:管理员信息* / / * =============================================== =====名称========== * /

创建表的管理员信息

作业号CHAR(10)不为空,

CHAR( 10),

色情电话服务CHAR(5),

CHAR(15),

所在院系CHAR(25),

约束PK_管理员信息的主键(作业号)

);

/ * ================================== ============================ * /

/ *指数:管理员信息_PK * /

/ * = ================================================== =========== * /

创建唯一索引管理员信息_PK管理员信息(

号ASC

/ * ================================================== ============ * /

/ *表:读者信息* /

/ * ================== ============================================ * /

创建表的读者信息

号院CHAR(10)不为空,

名char(10),

性别CHAR(5),

手机CHAR(15),

其中,院系CHAR(25),

约束PK_读者信息的主键(学号)

/ * = ================================================== =========== * /

/ *指数:读者信息_PK * /

/ * ================== ============================================ * /

创建唯一索引,读者信息_PK的读者(

学生ID ASC

7。 7.1管理员操作

主要数据操作语句

(1)注册(登记)INSERT INTO

VALUES管理员(工号,姓名,性别,电话,家庭住址,备注)( ##姓名#性别#手机##注意家庭地址)

说明:管理员,以获得一个独特的工号,注册操作后,查询和数据可以被收集的工作号码。

(2)取消(取消注册中)

DELETE

从供应商

WHERE(工号=#工号);

(3)个人信息(更新)

更新管理员

设置(数量=#工号,姓名=#姓名,性别=#性别,电话=#电话,家庭地址=#家庭地址)

WHERE(作业数= #工号)

(4)增加的书籍(addbooks)

INSERT INTO图书的ISBN,书名,作者,出版者,出版日期,简介,

VALUES(#ISBN, ,#,##标题按出版日期#关于#注)INSERT INTO

管理员_书表(工号,ISBN,添加时间,无论是在大厅)

VALUES(#作业号#ISBN#添加时间,到#

删除图书

WHERE(ISBN#ISBN)

删除的书籍(deletebooks)无论是在霍尔)

(5)(6)书(updatebooks)

:UPDATE书(标题=#标题#按=#出版社出版日期=

出版日期资料=#简介)

WHERE(ISBN =#ISBN)

(1)注册(登记)

INSERT INTO读者(读者学习数字,读者的姓名,读者性别联系电话,所在之处,BR / 7.2读者有效日期,到期日期,非法状态,累计图书馆,备注)

VALUES(#读者的学生人数,#读者姓名,#的读者性别,#联系电话系

生效日期,###,其中非法状态和到期日,#累计库,#备注)

说明:注册操作后,读者得到一个唯一的ID,这个ID来查询和自己的信息。

(2)取消(注销)

DELETE读者

读者学生ID =#读者的学生人数(WHERE)

(3)个人信息(更新) UPDATE读者集(读者姓名=#姓名的读者,联系电话=#电话

地方部门=#,其中部的生效日期=#有效日期,到期日期=#到期日, /“非法状态”=#非法状态,累计图书馆=#累计图书馆备注=#备注)

WHERE(读者学习数=#读者的学生人数)

(4)查询(选择)

SELECT ISBN标题,作者,出版商

WHERE国际标准书号ISBN或标题=#标题

操作

7.3管理员的借贷关系(1)读者的信息(插入)插入

INSERT INTO借(工作数量读者的学生人数,ISBN,是否续借图书馆日期书籍,笔记)

VALUES(工号,#读者学生ID# ISBN编号是否续约,#库日期

书日期注)

(2)不断更新的信息(更新)

①更新借给信息

UPDATE借

SET (库日期=#库日书日期=库日期+30是否续约= 0)

WHERE(工号=#号和读者学习数=#读者的学生证和ISBN =#ISBN) BR / UPDATE管理员_书籍

SET(无论是在馆= 0)

WHERE(ISBN =#ISBN)

UPDATA学生

的SET(累计库=累计库+1)

WHERE(读者学生ID =#读者的学生人数)

的的INSERT INTO管理员_学生(工号,读者学会数量,还ISBN确认),

VALUES(#在职号,学生#读者,“0”,#ISBN))

该②更新更新信息

UPDATE借

SET(是否续期=#是否续约)

(工号=工作数量和读者学习数=#读者的学生证和ISBN =#ISBN)

(3)更新还书

UPDATE,管理员_书

SET(无论是在博物馆= 1),

WHERE(ISBN =#ISBN)

UPDATE管理员_学生

的SET(确认= 1“)

WHERE(编号#工作数量和读者的学生ID =#读者学习数字和ISBN =#ISBN)


原文链接:http://527256.com/38808.html

相关文章

访客
访客
发布于 2022-10-01 10:49:53  回复
性和完整性。数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 整个系统的开发任务是实现各种系统化,规范化,自动化。 2.2的需求定义图书馆管理系统的开发。整体设计,系统开发的目标是
访客
访客
发布于 2022-10-01 19:30:59  回复
tring errorPage="dealError.jsp?theError=";//友好的错误处理页,用get方法传递出错原因 public static String homePage="default.jsp"

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

返回顶部