基于某Web图书管理系统设计与实现_第1页
基于某Web图书管理系统设计与实现_第2页
基于某Web图书管理系统设计与实现_第3页
基于某Web图书管理系统设计与实现_第4页
基于某Web图书管理系统设计与实现_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上Web应用开发实践学年设计报告学院名称: 计算机与信息工程学院 班级名称: 学生姓名: 学 号: 题 目:基于Web的图书管理系统设计与实现 指导教师: 起止日期: 简单软件系统设计学年设计任务书学 院计算机与信息工程学院专 业网络工程课程名称Web应用开发实践学年设计题 目基于Web的图书管理系统设计与实现完成期限2016年7月4日-2016年7月10日 共1周内容及任务一、课程设计目的1.巩固和加深学生对所学课程的基本知识的理解,综合这些课程中的理论知识,协作完成一个解决实际问题的应用程序;2.根据选题需要,通过查阅手册和文献资料,培养分析和解决实际问题的能力;3

2、.熟练运用高级语言有关知识编写程序。二、课程设计内容和设计要求 掌握Web应用程序开发方法。 根据软件工程规范要求,严格按需求分析、概要设计与详细设计、编码与测试等阶段,开发图书管理系统。 题库系统的主要功能有图书信息增加、查询、修改和删除,图书信息报表输出,图书在线预约等。 在实现系统功能的基础上,撰写学年设计报告三、课程设计思路首先根据系统特点确立开发模型,再通过对系统进行的需求分析研究,建立结构化分析模型,得出系统功能模块及数据流图,然后进行数据字典分析,确定数据的定义与属性,建立数据表,最后完成系统功能的实现;论述了图书管理系统的运行环境和前台、后台的设计:本系统基于JAVA技术开发,

3、可运行于Tomcat等WEB服务器软件下,前台使用HTML结合Struts标签库设计了前台JSP页面,后台使用SSH框架技术实现MVC三层结构设计了程序流程,并结合SQL Server数据库系统实现了数据的查询,插入,删除和修改。最终设计出的系统实现了登录与退出,个人账户管理,图书管理,读者管理以及借书预约批阅等基本功能。四、具体成果形式程序和报告。进度安排起止日期工作内容2016年7月4号至2016年7月4号系统分析2016年7月5号至2016年7月5号系统设计2016年7月6号至2016年7月6号系统实现2016年7月7号至2016年7月7号系统测试2016年7月8号至2016年7月9号撰

4、写学年设计报告2016年7月10号至2016年7月10号学年设计答辩主要参考资料1 高屹编. Web应用开发技术M.北京:清华大学出版社,2008.2 吴伟敏.网站设计与Web 应用开发技术M.北京:清华大学出版社,2011.3 赵生慧.Java面向对象程序设计M.北京:高等教育出版社,2007.4 万常选等.数据库系统原理与设计M.北京:清华大学出版社,2009.5 郝玉龙.Java EE编程技术M.北京:清华大学出版社,2008.6 石双元.Web 应用开发技术M.北京:清华大学出版社,2010.指导教师意见(签字): 年 月 日系(教研室)主任意见(签字): 年 月 日目 录专心-专注-

5、专业基于Web的图书管理系统设计与实现摘要:随着计算机技术的飞速发展,电子信息化慢慢替代了企业管理的传统管理手法,采用管理系统是能够有效提高管理效率的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理。为了提高日常的图书管理效率,本文针对通常的图书管理流程,应用SSH框架和软件工程的设计思想对本系统进行开发。主要实现的功能是:登录与退出,个人账户管理,图书管理,读者管理以及借书预约批阅。1.引言1.1选题背景通过调查,目前有很多图书馆还是采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书

6、的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这此问题,我们开发了图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。1.2选题意义为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特开发本系统以提高图书馆的管理效率。使用该程序之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,给出统计表格,以便全面掌握图书

7、的流通情况。本系统是基于JAVA技术开发,可运行于Tomcat等WEB服务器软件下,前台使用HTML结合Struts标签库设计了前台JSP页面,后台使用SSH框架技术实现MVC三层结构设计了程序流程,并结合SQL Server数据库系统实现了数据的查询,插入,删除和修改。最终设计出的系统实现了登录与退出,个人账户管理,图书管理,读者管理以及借书预约批阅等基本功能。通过本学年设计的训练,1.3主要内容及分工本系统致力于建立灵活、方便的图书馆管理系统,主要有五大功能模块:登录与退出,个人账户管理,图书管理,读者管理以及借书预约批阅。1.登录与退出管理:管理员登陆系统后可以对图书类别进行添加,更新和

8、删除操作,退出管理系统后续重新登录。2.个人账户管理:对自己的账号密码进行修改,还可以管理系统管理员。3.图书信息管理:当管理员对图书类别信息添加完成后,就可以开始进行图书信息的录入了。4.读者信息管理:管理员可以添加新的读者信息,查看已经存在的读者信息,删除读者信息。5.图书借阅管理:管理员登陆系统后。可以管理读者的借阅信息。首先输入读者的借书证号,然后输入要借阅的图书和借阅时间,完成借阅的管理。具体任务分工如下:*:具体主要负责图书管理系统的图书预约和用户登录登出两个模块;其中包括所涉及部分的代码、文档以及相关图的设计。以及所涉及数据库的建立。*:主要负责读者信息管理和个人账号管理两个模块

9、;其中包括所涉及部分的代码、文档以及相关图的设计。以及所涉及数据库的建立。 *:主要负责与图新信息管理相关的内容;其中包括所涉及部分的代码、文档以及相关图的设计。以及所涉及数据库的建立。1.4组织结构本设计报告由引言,需求分析,系统设计,系统实现,测试结果,结束语,参考文献,致谢等9个部分组成,其中引言包含选题背景和选题意义,选题背景介绍该课题的背景,选题意义主要介绍在学年设计的过程中收获了什么。需求分析包括系统流程图和系统功能图,系统流程图介绍系统的总体流程,系统功能图介绍主要实现的功能。系统设计主要由界面设计和数据库设计组成,界面设计是对显示的页面进行设计,数据库设计是对开发功能所需要的数

10、据库进行设计。系统实现包括系统开发环境介绍,数据库连接代码和各个子功能的主要代码。测试结果包含各个子功能的测试结果,结束语主要是对系统的总结,参考文献是系统设计实现过程中查阅的资料和书籍,致谢主要是对在这次课程设计中给予帮助的老师、同学和朋友表示感谢。2.需求分析本人主要负责的功能是个人信息管理以及读者信息的管理,具体如下:2.1.1个人信息模块该模块主要是负责对个人信息的修改,查询和注册,针对个人密码的修改,数据流程图如2-1所示:图2-1 修改密码模块数据流程图2.1.2读者管理模块该模块主要是针对读者信息的管理,包括查看读者信息、添加读者信息和修改读者信息等,数据流程图如2-2所示:图2

11、-2 读者信息管理模块数据流程图系统功能图本系统的系统结构是按照了自上向下的设计理念完成的。第一层是用户登录界面。第二层是系统主页,主要包括图书类别管理,图书信息管理、读者管理、借阅信息管理等,用户登录成功后可以转至各个管理功能。第四层即各个管理功能的所有功能。我所做的功能图如2-3所示:图2-3系统模块功能图3.系统设计3.1界面设计3.1.1读者信息界面(1)读者信息添加该页面采用JSP中的CSS和标签技术,定义了表格、文本框和单选按钮,当用户输入读者基本信息。单击“提交”按钮,即可完成读者录入操作。如图3-1所示:图3-1 读者信息添加界面(2)读者信息查询和删除该界面采用了CSS和表格

12、进行基本的布局,管理员通过登录可以查询读者基本信息。单击“删除”按钮,即可删除读者。如图3-2所示:图3-2读者信息查询与删除界面3.1.2个人信息界面(1)管理员密码修改该界面采用了CSS和表格进行布局,管理员重新输入新密码。单击“提交”按钮,即可完成密码修改操作。如图3-3所示:图3-3 密码修改界面(2)管理员信息的查询和删除该界面采用了CSS和表格进行基本的布局,在该页中可以查询管理员基本信息。单击“删除”按钮,即可删除多余的管理员。单击添加,可以进行管理员信息的添加。如图3-4所示:图3-4 管理员信息查询与删除界面(3)管理员信息的添加该界面采用了CSS和表格进行基本的布局,在该页

13、中可以输入基本信息,单击添加,可以进行管理员信息的添加。如图3-5所示:图3-5管理员信息添加3.2数据库设计本系统我所设计的功能中后台数据库需要设计2张数据表,分别为读者信息表(t_user)和管理员信息表(t_admin)。具体结构设计如下:(1)读者信息表(t_user)读者信息表主要用于存储读者信息如表3,主要字段有姓名、性别、年龄、住址、联系方式、借书证号等。如表3-1所示:表3-1 读者信息表字段名数据类型字段描述长度主键IDInt编号4NameVarchar姓名50SexVarchar性别50AgeInt年龄4AddressVarchar住址50TelVarchar联系方式50J

14、iehaoVarchar借书证号50(2)管理员信息表(admin)管理员信息表主要用于系统管理员的信息如表5,主要字段包括:编号、登陆账号、登陆密码。如表3-2所示:表3-2 管理员信息表字段名数据类型字段描述长度主键IDInt编号10Namevarchar登陆账号50Pwdvarchar登陆密码504.系统实现4.1系统开发环境介绍软件的开发环境会影响到数据库的设计,这里规定图书管理系统的开发环境如下:开发环境:windows 7开发工具:MyEclipse 10数据库:Microsoft SQL Server 2008服务器:Tomcat 7.0 4.2数据库连接代码本软件采用SSH框架

15、进行的开发,连接数据库是让Hibernate完成的,连接代码如下:<bean id="dataSource"class="mons.dbcp.BasicDataSource"><property name="driverClassName"value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property><property name="url"value="jdbc:sqlserve

16、r:/localhost:1433;databaseName=db_bookMana"></property><property name="username" value="sa"></property><property name="password" value=""></property></bean> 4.3各个子功能的主要代码4.3.1读者信息界面(1)读者信息添加核心代码:UserAction.Javapublic

17、 String userAdd()String sql="from TUser where userDel='no' and userJiehao='"+userJiehao+"'"List userList=userDAO.getHibernateTemplate().find(sql);if(userList.size()>0)this.setMessage("借书证号已存在。请重新录入");this.setPath("admin/user/userAdd.jsp");re

18、turn "succeed"/判断借书证号是否存在,存在返回重新输入,不存在返回succeedTUser user=new TUser();user.setUserJiehao(userJiehao);user.setUserRealname(userRealname);user.setUserAddress(userAddress);user.setUserSex(userSex);user.setUserTel(userTel);user.setUserAge(userAge);user.setUserEmail(userEmail);user.setUserDel(&

19、quot;no");userDAO.save(user);this.setMessage("操作成功");this.setPath("userMana.action");return "succeed"TUserDAO.javapublic void save(TUser transientInstance)/对操作进行保存log.debug("saving TUser instance");/ 完成DAO对象的插入数据操作trygetHibernateTemplate().save(transientI

20、nstance);log.debug("save successful"); catch (RuntimeException re)log.error("save failed", re);throw re;(2)读者信息查询和删除核心代码:UserAction.Javapublic String userDel()/定义删除TUser user=userDAO.findById(userId);user.setUserDel("yes");userDAO.attachDirty(user);this.setMessage("

21、;删除成功");this.setPath("userMana.action");return "succeed"public String userMana()List userList=userDAO.findAll();/从数据库里面取出所有userMap request=(Map)ServletActionContext.getContext().get("request");/在Action里面获取request对象一种方法request.put("userList", userList);ret

22、urn ActionSupport.SUCCESS;public String userDetail()TUser user=userDAO.findById(userId);Map request=(Map)ServletActionContext.getContext().get("request");request.put("user", user);return ActionSupport.SUCCESS;TUserDAO.javapublic void delete(TUser persistentInstance)/定义删除方法log.deb

23、ug("deleting TUser instance");trygetHibernateTemplate().delete(persistentInstance);log.debug("delete successful"); catch (RuntimeException re)log.error("delete failed", re);throw re;public List findAll()/定义查找方法log.debug("finding all TUser instances");tryString

24、 queryString = "from TUser where userDel='no'"return getHibernateTemplate().find(queryString); catch (RuntimeException re)log.error("find all failed", re);throw re;4.3.2密码修改核心代码:adminAction.javapublic String adminAdd()TAdmin admin=new TAdmin();admin.setUserName(userName);

25、admin.setUserPw(userPw);adminDAO.save(admin);this.setMessage("操作成功");this.setPath("adminManage.action");return "succeed"TAdminDAO.javapublic void save(TAdmin transientInstance) log.debug("saving TAdmin instance");try getHibernateTemplate().save(transientInstan

26、ce);log.debug("save successful"); catch (RuntimeException re) log.error("save failed", re);throw re;/判断密码是否正确、新密码是否为空<script language="javascript"> function check() var userPwReal="$sessionScope.admin.userPw" if(document.formPw.userPw.value !=userPwReal)

27、 alert("原密码不正确"); return ; if(document.formPw.userPw1.value ="") alert("新密码不能空"); return ; document.getElementById("indicator").style.display="block"loginService.adminPwEdit(document.formPw.userPw1.value,callback); function callback(data)document.get

28、ElementById("indicator").style.display="none" alert("修改成功"); </script>4.3.3管理员信息查询与删除核心代码:adminAction.javapublic String adminManage()/用户管理List adminList=adminDAO.findAll();Map request=(Map)ServletActionContext.getContext().get("request");request.put(&quo

29、t;adminList", adminList);return ActionSupport.SUCCESS;public String adminDel()adminDAO.delete(adminDAO.findById(userId);this.setMessage("删除成功");this.setPath("adminManage.action");return "succeed"TAdminDAO.javapublic void delete(TAdmin persistentInstance) /定义删除方法log

30、.debug("deleting TAdmin instance");try getHibernateTemplate().delete(persistentInstance);log.debug("delete successful"); catch (RuntimeException re) log.error("delete failed", re);throw re;public TAdmin findById(java.lang.Integer id) /定义查询log.debug("getting TAdmin

31、instance with id: " + id);try TAdmin instance = (TAdmin) getHibernateTemplate().get("com.model.TAdmin", id);return instance; catch (RuntimeException re) log.error("get failed", re);throw re;public List findByProperty(String propertyName, Object value) /根据外键值Name进行查询,显示log.de

32、bug("finding TAdmin instance with property: " + propertyName+ ", value: " + value);try String queryString = "from TAdmin as model where model."+ propertyName + "= ?"return getHibernateTemplate().find(queryString, value); catch (RuntimeException re) log.error(&

33、quot;find by property name failed", re);throw re;/弹出的确定删除对话框javascript代码<script language="javascript"> function adminDel(userId) if(confirm('您确定删除吗?') window.location.href="<%=path %>/adminDel.action?userId="+userId; function adminAdd() var url="<

34、%=path %>/admin/index/adminAdd.jsp" window.location.href=url; </script>5测试结果5.1个人信息管理的测试结果测试 1:名称:读者信息测试。 目的:测试办理借阅证功能。 进度安排:2016-7-8 内容:读者基本信息提交、合理性检查、合法性检查,办理借阅证。(1)点击管理员管理,进入管理员用户查询界面,如图5-1所示:图5-1 管理员管理界面(2)点击添加按钮,进入管理员用户添加界面,如图5-2所示:图5-2 管理员添加界面(3)输入账号和密码,点击提交,弹出添加成功,如图5-3所示:图5-3 管理员添加成功界面(4)添加成功后,再次进入管理员用户管理界面,可看到添加的管理员。如图5-4所示:图5-4 管理员管理界面测试结果:测试显示正常,数据能准确显示,未发现错误输出。测试2:名称:修改密码测试。 目的:测试修改密码功能。 进度安排:2016-7-8 内容:用户名、密码、新密码提交,合理性检查、合法性检查,更改密码(1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论