全开架图书馆管理系统还书模块毕业论文.docx
- 文档编号:28808305
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:24
- 大小:871.45KB
全开架图书馆管理系统还书模块毕业论文.docx
《全开架图书馆管理系统还书模块毕业论文.docx》由会员分享,可在线阅读,更多相关《全开架图书馆管理系统还书模块毕业论文.docx(24页珍藏版)》请在冰豆网上搜索。
全开架图书馆管理系统还书模块毕业论文
福建工程学院
FUJIANUNIVERSITYOFTECHNOLOGY
毕业论文(设计)
题目:
全开架图书管理系统的设计与实现
学生:
XXX
指导老师:
XXX
专业:
XXX
班级:
XXX
学号:
XXXX
全开架图书管理系统的设计与实现
摘要:
全开架借阅是当今高校图书馆发展的必然趋势。
实行全开价借阅,不仅方便读者,大大促进图书馆资源的开发和利用,而且也能全方面体现图书馆的综合服务功能。
全开架借阅不仅简化手续,方便读者,保证了信息的完整性和准确性,而且大大提高了图书及信息的利用率,节省了大量的时间。
将“以藏为主”的服务方式转变为“以用为主”的服务方式,充分体现管理员主动服务的能力。
在图书馆开发的一些理论的指引下,历经几代中外图书馆学者大力提倡和实践,图书馆的全开架服务,成为当今图书馆开放管理的重要基础。
我国部分先进图书馆和和级少数有条件的高校图书馆也纷纷采用了这种方式。
这种方式为图书馆的现代化搭建了基础平台,为图书馆的可持续发展提供了保证。
与之相反,“闭架式”,“书库式”的管理方式已制约了高校图书馆的发展。
因此,高校图书馆实行全开架借阅方式势在必行。
关键字:
全开架、图书管理、系统、图书馆、现代化
目录
1选题背景3
1.1全开架图书馆的优势3
1.2全开架图书馆开放管理的必然趋势4
1.3全开架图书馆设计的开发环境4
1.4全开架图书馆设计的功能简介4
2可行性分析5
2.1技术可行性5
2.2经济可行性5
2.3社会可行性5
3需求分析5
3.1系统的需求分析5
3.2功能需求分析5
4全开架图书馆个人设计实现部分6
4.还书模块的代码设计完善及还书模块系统设计界面的功能调试6
4.1还书模块的代码设计完善6
4.2用户登录.............................................................12
4.3图书类别管理.........................................................13
4.4图书归还管理........................................................14
5.还书模块的数据流图...........................................15
6.系统的测试16
6.1系统测试的定义16
6.2图书管理系统测试的内容及方法16
6.3设计测试的方法17
6.4系统测试案例与分析17
7谢辞19
8参考文献及附录20
1选题背景
1.1全开架图书馆的优势
全开架借阅管理系统与“闭架式”,“书库式”管理系统相比,显示其独特的优势,为读者和管理者提供了满意的操作平台,充分发挥了各自的主题作用。
实行全开价借阅,不仅方便读者,大大促进图书馆资源的开发和利用,而且也能全方面体现图书馆的综合服务功能。
全开架借阅不仅简化手续,保证了信息的完整性和准确性,而且大大提高了图书及信息的利用率,节省了大量的时间。
将“以藏为主”的服务方式转变为“以用为主”的服务方式,充分体现管理员主动服务的能力。
这是读者和管理员都满意的服务方式
1.2全开架图书馆开放管理的必然趋势
十七世纪被誉为“图书学开山鼻祖”的法国学者加布里埃.诺迪指出:
“图书馆应当对公众开放”。
在图书馆开发的一些理论的指引下,历经几代中外图书馆学者大力提倡和实践,图书馆的全开架服务,成为当今图书馆开放管理的重要基础。
西方发达国家图书馆凭借雄厚的经济实力和技术实力早已实现了开架借阅。
我国部分先进图书馆和和级少数有条件的高校图书馆也纷纷采用了这种方式。
这种方式为图书馆的现代化搭建了基础平台,为图书馆的可持续发展提供了保证。
与之相反,“闭架式”,“书库式”的管理方式已制约了特别是高校图书馆的发展。
因此,图书馆实行全开架借阅方式势在必行。
1.3全开架图书馆设计的开发环境
系统是以JavaServerPages2.0开发环境作为主要开发工具,使用MySQL作为关系数据库,配合功能强大的SQL查询语言实现建立关系数据库,访问数据库,对数据库的更新,较好地实现了预定的需求功能。
使用了客户端/服务器结构,并使用MySQL创建中心数据库,提供完整的XML支持,还具有构成Web站点的数据存储组件所需的可伸缩性、可用性和安全功能等特点。
可伸缩性和可用性。
同一个数据库引擎可以在不同的平台上使用。
此外,MySQL支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。
数据库功能。
数据库引擎充分保护数据的完整性,同时将管理上千个并发修改数据库用户的开销减到最小。
SQL分布式查询可以引用来自不同数据源的数据,就好像数据是SQL数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。
可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器中
1.4全开架图书馆设计的功能简介
全开架图书馆主要实现了5个方面的功能:
1.图书查询,对图书进行查询,可查询书本的当前状态和相关信息;2.借阅管理,包括书籍借阅和书籍归还的管理;3.图书管理,主要实现书库的管理和书籍的管理,包括书库的建立和删除,新书的入库和废书的删除等;4.借阅者管理,是对借阅者信息和借阅进行管理;5.系统管理,是对系统的权限管理。
系统设计利用JSP开发工具和Mysql数据库来开发这个图书管理系统。
系统要解决的图书管理所要解决的问题,可以满足图书管理基本要求,包括添加、修改删除管理等功能。
系统能根据用户的需求,快捷方便的为读者提供借阅服务。
2可行性分析
2.1技术可行性
对于现在的pc机和开发软件配置都能满足的软件需要,一个班级开发一个系统,有相应的人力,和林老师的帮助支持,技术上是可行的。
图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。
这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。
计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。
2.2经济可行性
开发需求较低,加上成熟的软硬件环境、目标系统并不是十分复杂和开发周期较短,人员经济支出有限。
开发完成运行后,为使用者带来便利,为系统的进一步推广创造了条件,经济收益将远超过投资。
从经济角度考虑,此系统开发可行。
2.3社会可行性
目前已有很多成功开发图书馆管理系统的先例,社会需要图书馆管理的现代化和信息化。
图书馆管理系统开发和运行与国家的政策法规不存在任何冲突和抵触之处。
另外,图书馆管理系统所采用的操作和工作方式符合工作人员和读者的日常习惯,而且操作方便灵活,便于学习。
具有可行性。
3需求分析
3.1系统的需求分析
系统的主要目的是实现一个全开架图书管理系统。
系统有2类用户分别为管理员、读者会员。
管理员经口令认证进人系统后,管理员可完成维护系统的功能,包括管理图书和管理会员。
读者则完成查询图书、修改个人资料、查询个人借阅信息的功能,工作完成后可以退出系统。
系统需要用到的技术有,Eclipse,Dreamweaver的开发工具和运用jsp+serverlet+javabean的开发模式,还有java语言的相关技术。
数据库我们用到mysql数据库的相关技术。
3.2功能需求分析
随着图书的日益增多,传统的手工图书管理不仅工作量大,而且容易出现问题。
图书管理设计的内容非常复杂而且繁多,比如拥有图书信息录入管理、用户信息管理、图书借阅管理和归还管理,图书的查询和修改等。
由于系统主要是为方便管理员定制开发的,因此针对图书管理的实际工作而言,经过了反复地论证,最终确定了图书管理系统的设计方案,图书管理系统的主要功能为:
(1)用户登录。
管理员或会员根据工作证和密码登录系统进行身份验证。
(2)查询图书。
登录系统后进行图书检索,并可以通过点击图书名称查看书本详细信息。
可以查看到书本的所有信息及借阅信息。
(3)添加图书。
只有管理员登录成功后才能添加图书。
通过点击导航条上的“添加图书“超链接进入添加图书页面,填好后点提交,就进数据库了。
(4)修改图书。
只有管理员登录成功后才能修改图书。
通过点击导航条上的“修改图书“超链接进入修改图书页面,修改好后点提交,就进数据库了。
(5)删除图书。
只有管理员登录成功后才能修改图书。
通过点击导航条上的“删除图书“超链接进入删除图书页面,点删除就可将书删除。
(6)修改和查询个人信息。
4全开架图书馆个人设计实现部分
4.还书模块的代码设计完善及还书模块系统设计界面的功能调试
4.1还书模块的代码设计完善
struts展现层
/**
用户登录页面展现
**/
publicActionForwardlogin(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse){
returnmapping.findForward("login");
}
/**
用户登录信息验证,成功登录显示用户主页面
否则给予提示信息
***/
publicActionForwarddoLogin(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse){
Stringtype=((DynaActionForm)form).getString("type");
if("manager".equals(type)){
//管理员登陆验证
Managersmanager=(Managers)((DynaActionForm)form).get("manager");
ManagerscurrentManager=managerBiz.login(manager);
if(currentManager==null){
ActionMessageserrors=newActionMessages();
errors.add(ActionMessages.GLOBAL_MESSAGE,newActionMessage(
"error.accessDeny"));
if(!
errors.isEmpty()){
saveErrors(request,errors);
}
returnmapping.findForward("login");
}else{
request.getSession().setAttribute("loginManager",currentManager);
try{
request.getRequestDispatcher("borrow.do?
o=returnDefault")
.forward(request,response);
}catch(ServletExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnnull;
}
}else{
//处理学生登陆情况
Useruser=(User)((DynaActionForm)form).get("user");
Objecto=this.managerBiz.checkUser(user);
if(o.getClass().getName().equals("com.wangluo076.entity.User")){
request.getSession().setAttribute("loginUser",user);
try{
request.getRequestDispatcher("borrow.do?
o=returnBooks&id="+user.getId()).forward(request,response);
}catch(ServletExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
returnnull;
}
ActionMessageserrors=newActionMessages();
errors.add(ActionMessages.GLOBAL_MESSAGE,newActionMessage(
o.toString()));
if(!
errors.isEmpty()){
saveErrors(request,errors);
}
returnmapping.findForward("login");
}
}
spring业务层:
/**
业务层管理员登录代信息
具体的业务操作代码
**/
publicManagerslogin(Managersmanager){
List
for(Managersmanagers:
manas){
if(managers.getLoginId().equals(manager.getLoginId())&&managers.getLoginPwd().equals(manager.getLoginPwd())){
returnmanager;
}
}
returnnull;
}
/**
验证学生登录信息
**/
publicObjectcheckUser(Useruser){
Stringhql="fromUsertwheret.code='"+user.getCode()+"'";
List
Useruser1;
users=this.userDao.find(hql);
if(users.size()>0){
user1=users.get(0);
if(user.getUserName().equals(user1.getUserName()))
returnuser1;
else
return"passworderror!
";
}
else
return"studentnotfound!
";
}
publicManagersDAOgetManagerDao(){
returnmanagerDao;
}
publicvoidsetManagerDao(ManagersDAOmanagerDao){
this.managerDao=managerDao;
}
publicUserDAOgetUserDao(){
returnuserDao;
}
publicvoidsetUserDao(UserDAOuserDao){
this.userDao=userDao;
}
hibernate持久层:
/**
保存用户
或者管理员信息
**/
publicvoidsave(ManagerstransientInstance){
log.debug("savingManagersinstance");
try{
getHibernateTemplate().save(transientInstance);
log.debug("savesuccessful");
}catch(RuntimeExceptionre){
log.error("savefailed",re);
throwre;
}
}
/**
删除用户
或者管理员信息
**/
publicvoiddelete(ManagerspersistentInstance){
log.debug("deletingManagersinstance");
try{
getHibernateTemplate().delete(persistentInstance);
log.debug("deletesuccessful");
}catch(RuntimeExceptionre){
log.error("deletefailed",re);
throwre;
}
}
/**
查询用户信息,
根据用户ID
**/
publicManagersfindById(java.lang.Integerid){
log.debug("gettingManagersinstancewithid:
"+id);
try{
Managersinstance=(Managers)getHibernateTemplate().get(
"com.wangluo076.entity.Managers",id);
returninstance;
}catch(RuntimeExceptionre){
log.error("getfailed",re);
throwre;
}
}
publicListfindByExample(Managersinstance){
log.debug("findingManagersinstancebyexample");
try{
Listresults=getHibernateTemplate().findByExample(instance);
log.debug("findbyexamplesuccessful,resultsize:
"
+results.size());
returnresults;
}catch(RuntimeExceptionre){
log.error("findbyexamplefailed",re);
throwre;
}
}
publicListfindByProperty(StringpropertyName,Objectvalue){
log.debug("findingManagersinstancewithproperty:
"+propertyName
+",value:
"+value);
try{
StringqueryString="fromManagersasmodelwheremodel."
+propertyName+"=?
";
returngetHibernateTemplate().find(queryString,value);
}catch(RuntimeExceptionre){
log.error("findbypropertynamefailed",re);
throwre;
}
}
publicListfindByLoginId(ObjectloginId){
returnfindByProperty(LOGIN_ID,loginId);
}
publicListfindByRealName(ObjectrealName){
returnfindByProperty(REAL_NAME,realName);
}
/**
列出所有的用户信息
**/
publicListfindByLoginPwd(ObjectloginPwd){
returnfindByProperty(LOGIN_PWD,loginPwd);
}
publicListfindByLasrLoginIp(ObjectlasrLoginIp){
returnfindByProperty(LASR_LOGIN_IP,lasrLoginIp);
}
publicListfindAll(){
log.debug("findingallManagersinstances");
try{
StringqueryString="fromManagers";
returngetHibernateTemplate().find(queryString);
}catch(RuntimeExceptionre){
log.error("findallfailed",re);
throwre;
}
}
publicManagersmerge(ManagersdetachedInstance){
log.debug("mergingManagersinstance");
try{
Managersresult=(Managers)getHibernateTemplate().merge(
detachedInstance);
log.debug("mergesuccessful");
returnresult;
}catch(RuntimeExceptionre){
log.error("mergefailed",re);
throwre;
}
}
publicvoidattachDirty(Managersinstance){
log.debug("attachingdirtyManagersinstanc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 开架 图书馆 管理 系统 模块 毕业论文