图书管理系统毕业设计论文 毕业设计去哪个网站找

游戏社区 2025-01-20 10:54:01

关于图书管理系统毕业设计论文,毕业设计去哪个网站找这个很多人还不知道,今天怡怡来为大家解答以上的问题,现在让我们一起来看看吧!

图书管理系统毕业设计论文 毕业设计去哪个网站找图书管理系统毕业设计论文 毕业设计去哪个网站找


图书管理系统毕业设计论文 毕业设计去哪个网站找


1、1 前言 41.1 目的 41.2 范围 41.3 有关本系统中的定义 42 资料引用 43 设计思路 43.1 数据层设计 5user_book表的触发器 5用户续借图书的存储过程 6到期催还表的视图 73.2 数据链接层设计 8UserBook Entity Bean设计 9UserConsumer Entity Bean设计 10UserLogBook Entity Bean设计 113.3 数据逻辑层设计 12TheBook Session Bean设计 13TheUser Session Bean设计 14TheLog Session Bean设计 153.4 网络应用层设计 15CheckValue bean 16EnCode bean 16JDBCBean bean 16Rank bean 16SetUp bean 16SplitPage bean 17UserLogin bean 17SearchBook bean 17SearchDeadline bean 17ValidateIMG servlet 17GetDelete servlet servlet 17GetBookSubmit servlet 18GetUserSubmit servlet 18GetRenewBook servlet 18GetBorrowBook servlet 18GetReturnBook servlet 184 程序架构 184.1 程序组织结构 184.2 功能权限划分 204.3 WEB程序/页面设计 214.4 本系统实现的功能 225 任务分工 221 前言1.1 目的本文档详细描述了图书管理系统的设计,主要是为开发人员提供,使其对本项目的构建和维护有深入的了解。

2、1.2 范围本文档的描述只针对图书管理系统的1.0版本。

3、1.3 有关本系统中的定义以下是本说明书中用到的专门术语的定义和外文首字母组词的原词组:术语或缩写 定义与描述booksMar 本系统的名称Reader 系统权限:普通读者BookAdmin 系统权限:图书UserAdmin 系统权限:用户SuperAdmin 系统权限:超级(系统)Undergraduate 系统用户角色:本科生Graduate 系统用户角色:研究生Teacher 系统用户角色:教师2 资料引用清华大学《应用软件平台与核心技术》讲义 顾明清华大学《应用软件平台与核心技术》助教文档 张伟业、魏岚、陈勇、林彩荣《精通EJB(第二版)》《J2EE应用与BEA Web Logic 》,刑国庆等译,电子工业出版社 2002.4《设计模式——可复用面向对象软件的基础》,Erich Gamma等,机械工业出版社3 设计思路本系统严格按照4层结构设计,分为数据层(SQL server),数据链接层(entity bean),数据逻辑层(session bean),网络应用层(ja bean, ja servlet, ja serverpage)。

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

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

6、数据链接层实现了和数据库的连接,作用在于屏蔽数据库和平台之间的异,做到底层无关性。

7、本层利用了模糊查找、多表映射、Relationship等技术,通过find,select方法数据的查找功能,抛出聚集对象或远程接口对象给下一层。

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

9、网络应用层完成页面跳转和页面显示等应用功能,还有一些附加功能如:验证,登录验证,等级控制,代码过滤,分页控制,输入值检测、借书日志打印、系统运行日志记录以及系统设置等。

10、(使用了JDBC实现存储过程和模糊查找图书的功能)3.1 数据层设计数据库表表名 功能描述user_consumer 记录了用户的所有信息user_book 记录了图书的所有信息user_logBook 记录了用户使用本系统的信息,保留了所有的借录,可作为系统日志和报表资料user_book表的触发器用到的触发器之一,作用:如果要注销的图书被外借没有归还,则回滚此删除作。

11、CREATE TRIGGER bookhelog ON dbo.user_bookFOR DELETEASdeclare @bookISBN varchar(50)select @bookISBN=book_ISBN from deletedif exists(select from user_logBook where logb_book_ISBN=@bookISBN andlogb_backdate is null)beginrollbackreturnend用户续借图书的存储过程利用存储过程实现用户续借图书的逻辑作,根据用户的当前信息判断其是否有续借的权限,并把处理结果输出到临时表中去。

12、CREATE PROCEDURE user_renew_book @xxxparm int ASCREATE TABLE ##temp(statement varchar(50))DECLARE @username varchar(50)SET @username=(select logb_cons_username from user_logBook where ID=@xxxparm)IF @username is nullBEGININSERT INTO ##temp VALUES ('The ID is not EXIST')RETURNENDDECLARE @timelimit intSET @timelimit=(select logb_timelimit from user_logBook where ID=@xxxparm)DECLARE @renewday intSET @renewday=(select cons_maxday from user_consumer where cons_username=@username)DECLARE @maxrenew intSET @maxrenew=(select cons_maxrenew from user_consumer where cons_username=@username)IF (@renewday@maxrenew)>=@timelimitBEGINupdate user_logBook set logb_timelimit=logb_timelimit+@renewday where ID=@xxxparm--update user_consumer set cons_maxrenews=cons_maxrenews-1 where cons_username=@usernameINSERT INTO ##temp VALUES ('renew successful')RETURNENDELSEBEGININSERT INTO ##temp VALUES ('You are not allowed to renew the book')RETURNENDGO到期催还表的视图利用DATEDIFF,DATEADD,CAST,GETDATE等函数从借录表中计算出到期的记录,然后根据此记录找出相应的读者信息,在网页上以email形式催还。

13、CREATE VIEW dbo.deadlineASSELECT 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_timelimitFROM dbo.user_logBook INNER JOINdbo.user_consumer ONdbo.user_logBook.logb_cons_username = dbo.user_consumer.cons_username INNERJOINdbo.user_book ONdbo.user_logBook.logb_book_ISBN = dbo.user_book.book_ISBNWHERE (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 DESC3.2 数据链接层设计entity beanUserBook 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 ?1UserConsumer 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 ?1UserLogBook 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 beanTheBook 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 网络应用层设计本层本着面向对象思想的封装性、数据模糊性、可重用性等原则设计。

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

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

16、CheckValue bean封装多个静态方法。

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

本文到这结束,希望上面文章对大家有所帮助。

版权声明:本文内容由互联。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发 836084111@qq.com 邮箱删除。