收藏 分销(赏)

基于Web图书管理系统设计与实现.doc

上传人:丰**** 文档编号:4892362 上传时间:2024-10-17 格式:DOC 页数:23 大小:490.54KB
下载 相关 举报
基于Web图书管理系统设计与实现.doc_第1页
第1页 / 共23页
基于Web图书管理系统设计与实现.doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述
6、重新使用是指多次或用另一种方法来使用已用过的物品,它也是减少垃圾的重要方法。 19、细胞也是生物最基本的功能单位,生物的呼吸、消化、排泄、生长、发育、繁殖、遗传等生命活动都是通过细胞进行的。 9、物质的变化一般分为物理变化和化学变化。化学变化伴随的现象很多,最重要的特点是产生了新物质。物质发生化学变化的过程中一定发生了物理变化。 24、目前,我国的航天技术在世界上占有相当重要的位置。“长征四号”运载火箭的顺利发射,载人飞船“神舟”五号和“神舟”六号和“神舟”七号也已经发射成功,“嫦娥”一号探月卫星又发射成功。 4、“我迈出了一小步,但人类迈出了一大步。”这句话是阿姆斯特朗说的。 8、我们把铁钉一半浸在水里,一半暴露在空气中,过几天我们发现铁钉在空气中的部分已经生锈,在水中的部分没有生锈。通过实验,我们得出铁生锈与空气有关。 20、在水中生活着许我微生物,常见的有草履虫、变形虫、喇叭虫、眼虫、团藻等。 答:硫酸铜溶液的颜色逐渐变浅,取出铁钉后,发现浸入硫酸铜溶液中的那部分变红了。 9、物质的变化一般分为物理变化和化学变化。化学变化伴随的现象很多,最重要的特点是产生了新物质。物质发生化学变化的过程中一定发生了物理变化。 答:优点:占地小,避免了垃圾污染地下水,产生的热量还可以用来发电。 Web应用开发实践学年设计报告 学院名称: 计算机与信息工程学院 班级名称: 学生姓名: 学 号: 题 目:基于Web的图书管理系统设计与实现 指导教师: 起止日期: 简单软件系统设计学年设计任务书 学 院 计算机与信息工程学院 专 业 网络工程 课程名称 Web应用开发实践学年设计 题 目 基于Web的图书管理系统 设计与实现 完成期限 2016年7月4日--2016年7月10日 共1周 内 容 及 任 务 一、课程设计目的 1.巩固和加深学生对所学课程的基本知识的理解,综合这些课程中的理论知识,协作完成一个解决实际问题的应用程序; 2.根据选题需要,通过查阅手册和文献资料,培养分析和解决实际问题的能力; 3.熟练运用高级语言有关知识编写程序。 二、课程设计内容和设计要求 ⑴ 掌握Web应用程序开发方法。 ⑵ 根据软件工程规范要求,严格按需求分析、概要设计与详细设计、编码与测试等阶段,开发图书管理系统。 ⑶ 题库系统的主要功能有图书信息增加、查询、修改和删除,图书信息报表输出,图书在线预约等。 ⑷ 在实现系统功能的基础上,撰写学年设计报告 三、课程设计思路 首先根据系统特点确立开发模型,再通过对系统进行的需求分析研究,建立结构化分析模型,得出系统功能模块及数据流图,然后进行数据字典分析,确定数据的定义与属性,建立数据表,最后完成系统功能的实现;论述了图书管理系统的运行环境和前台、后台的设计:本系统基于JAVA技术开发,可运行于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号 撰写学年设计报告 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. 指导教师 意见 (签字): 年 月 日 系(教研室)主任意见 (签字): 年 月 日 目 录 摘要 1 1.引言 1 1.1选题背景 1 1.2选题意义 1 1.3主要内容及分工 1 1.4组织结构 2 2.需求分析 2 2.1系统流程图 2 2.1.1个人信息模块 2 2.1.2读者管理模块 3 2.2系统功能图 3 3.系统设计 4 3.1界面设计 4 3.1.1读者信息界面 4 3.1.2个人信息界面 4 3.2数据库设计 5 4.系统实现 6 4.1系统开发环境介绍 6 4.2数据库连接代码 6 4.3各个子功能的主要代码 6 4.3.1读者信息界面 6 4.3.2密码修改 9 4.3.3管理员信息查询与删除 9 5测试结果 11 5.1个人信息管理的测试结果 11 5.2读者信息管理的测试结果 13 6.结束语 16 参考文献 18 致谢 19 基于Web的图书管理系统设计与实现 摘要:随着计算机技术的飞速发展,电子信息化慢慢替代了企业管理的传统管理手法,采用管理系统是能够有效提高管理效率的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理。为了提高日常的图书管理效率,本文针对通常的图书管理流程,应用SSH框架和软件工程的设计思想对本系统进行开发。主要实现的功能是:登录与退出,个人账户管理,图书管理,读者管理以及借书预约批阅。 1.引言 1.1选题背景 通过调查,目前有很多图书馆还是采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。 基于这此问题,我们开发了图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。 1.2选题意义 为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特开发本系统以提高图书馆的管理效率。使用该程序之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,给出统计表格,以便全面掌握图书的流通情况。 本系统是基于JAVA技术开发,可运行于Tomcat等WEB服务器软件下,前台使用HTML结合Struts标签库设计了前台JSP页面,后台使用SSH框架技术实现MVC三层结构设计了程序流程,并结合SQL Server数据库系统实现了数据的查询,插入,删除和修改。最终设计出的系统实现了登录与退出,个人账户管理,图书管理,读者管理以及借书预约批阅等基本功能。通过本学年设计的训练, 1.3主要内容及分工 本系统致力于建立灵活、方便的图书馆管理系统,主要有五大功能模块:登录与退出,个人账户管理,图书管理,读者管理以及借书预约批阅。 1.登录与退出管理:管理员登陆系统后可以对图书类别进行添加,更新和删除操作,退出管理系统后续重新登录。 2.个人账户管理:对自己的账号密码进行修改,还可以管理系统管理员。 3.图书信息管理:当管理员对图书类别信息添加完成后,就可以开始进行图书信息的录入了。 4.读者信息管理:管理员可以添加新的读者信息,查看已经存在的读者信息,删除读者信息。 5.图书借阅管理:管理员登陆系统后。可以管理读者的借阅信息。首先输入读者的借书证号,然后输入要借阅的图书和借阅时间,完成借阅的管理。 具体任务分工如下: ****:具体主要负责图书管理系统的图书预约和用户登录登出两个模块;其中包括所涉及部分的代码、文档以及相关图的设计。以及所涉及数据库的建立。 ****:主要负责读者信息管理和个人账号管理两个模块;其中包括所涉及部分的代码、文档以及相关图的设计。以及所涉及数据库的建立。 ****:主要负责与图新信息管理相关的内容;其中包括所涉及部分的代码、文档以及相关图的设计。以及所涉及数据库的建立。 1.4组织结构 本设计报告由引言,需求分析,系统设计,系统实现,测试结果,结束语,参考文献,致谢等9个部分组成,其中引言包含选题背景和选题意义,选题背景介绍该课题的背景,选题意义主要介绍在学年设计的过程中收获了什么。需求分析包括系统流程图和系统功能图,系统流程图介绍系统的总体流程,系统功能图介绍主要实现的功能。系统设计主要由界面设计和数据库设计组成,界面设计是对显示的页面进行设计,数据库设计是对开发功能所需要的数据库进行设计。系统实现包括系统开发环境介绍,数据库连接代码和各个子功能的主要代码。测试结果包含各个子功能的测试结果,结束语主要是对系统的总结,参考文献是系统设计实现过程中查阅的资料和书籍,致谢主要是对在这次课程设计中给予帮助的老师、同学和朋友表示感谢。 2.需求分析 2.1系统流程图 本人主要负责的功能是个人信息管理以及读者信息的管理,具体如下: 2.1.1个人信息模块 该模块主要是负责对个人信息的修改,查询和注册,针对个人密码的修改,数据流程图如2-1所示: 图2-1 修改密码模块数据流程图 2.1.2读者管理模块 该模块主要是针对读者信息的管理,包括查看读者信息、添加读者信息和修改读者信息等,数据流程图如2-2所示: 图2-2 读者信息管理模块数据流程图 2.2系统功能图 本系统的系统结构是按照了自上向下的设计理念完成的。第一层是用户登录界面。第二层是系统主页,主要包括图书类别管理,图书信息管理、读者管理、借阅信息管理等,用户登录成功后可以转至各个管理功能。第四层即各个管理功能的所有功能。我所做的功能图如2-3所示: 图2-3系统模块功能图 3.系统设计 3.1界面设计 3.1.1读者信息界面 (1)读者信息添加 该页面采用JSP中的CSS和标签技术,定义了表格、文本框和单选按钮,当用户输入读者基本信息。单击“提交”按钮,即可完成读者录入操作。如图3-1所示: 图3-1 读者信息添加界面 (2)读者信息查询和删除 该界面采用了CSS和表格进行基本的布局,管理员通过登录可以查询读者基本信息。单击“删除”按钮,即可删除读者。如图3-2所示: 图3-2读者信息查询与删除界面 3.1.2个人信息界面 (1)管理员密码修改 该界面采用了CSS和表格进行布局,管理员重新输入新密码。单击“提交”按钮,即可完成密码修改操作。如图3-3所示: 图3-3 密码修改界面 (2)管理员信息的查询和删除 该界面采用了CSS和表格进行基本的布局,在该页中可以查询管理员基本信息。单击“删除”按钮,即可删除多余的管理员。单击添加,可以进行管理员信息的添加。如图3-4所示: 图3-4 管理员信息查询与删除界面 (3)管理员信息的添加 该界面采用了CSS和表格进行基本的布局,在该页中可以输入基本信息,单击添加,可以进行管理员信息的添加。如图3-5所示: 图3-5管理员信息添加 3.2数据库设计 本系统我所设计的功能中后台数据库需要设计2张数据表,分别为读者信息表(t_user)和管理员信息表(t_admin)。具体结构设计如下: (1)读者信息表(t_user) 读者信息表主要用于存储读者信息如表3,主要字段有姓名、性别、年龄、住址、联系方式、借书证号等。如表3-1所示: 表3-1 读者信息表 字段名 数据类型 字段描述 长度 主键 ID Int 编号 4 √ Name Varchar 姓名 50 Sex Varchar 性别 50 Age Int 年龄 4 Address Varchar 住址 50 Tel Varchar 联系方式 50 Jiehao Varchar 借书证号 50 (2)管理员信息表(admin) 管理员信息表主要用于系统管理员的信息如表5,主要字段包括:编号、登陆账号、登陆密码。如表3-2所示: 表3-2 管理员信息表 字段名 数据类型 字段描述 长度 主键 ID Int 编号 10 √ Name varchar 登陆账号 50 Pwd varchar 登陆密码 50 4.系统实现 4.1系统开发环境介绍 软件的开发环境会影响到数据库的设计,这里规定图书管理系统的开发环境如下: 开发环境:windows 7 开发工具:MyEclipse 10 数据库:Microsoft SQL Server 2008 服务器:Tomcat 7.0 4.2数据库连接代码 本软件采用SSH框架进行的开发,连接数据库是让Hibernate完成的,连接代码如下: <bean id="dataSource" class="mons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"> </property> <property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=db_bookMana"> </property> <property name="username" value="sa"></property> <property name="password" value="123456"></property> </bean> 4.3各个子功能的主要代码 4.3.1读者信息界面 (1)读者信息添加 核心代码:UserAction.Java public 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"); return "succeed"; }//判断借书证号是否存在,存在返回重新输入,不存在返回succeed TUser 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("no"); userDAO.save(user); this.setMessage("操作成功"); this.setPath("userMana.action"); return "succeed"; } TUserDAO.java public void save(TUser transientInstance) {//对操作进行保存 log.debug("saving TUser instance"); // 完成DAO对象的插入数据操作 try { getHibernateTemplate().save(transientInstance); log.debug("save successful"); } catch (RuntimeException re) { log.error("save failed", re); throw re; } } (2)读者信息查询和删除 核心代码:UserAction.Java public String userDel() {//定义删除 TUser user=userDAO.findById(userId); user.setUserDel("yes"); userDAO.attachDirty(user); this.setMessage("删除成功"); this.setPath("userMana.action"); return "succeed"; } public String userMana() { List userList=userDAO.findAll();///从数据库里面取出所有user Map request=(Map)ServletActionContext.getContext().get("request"); //在Action里面获取request对象一种方法 request.put("userList", userList); return 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.java public void delete(TUser persistentInstance) {//定义删除方法 log.debug("deleting TUser instance"); try { getHibernateTemplate().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"); try { String 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.java public String adminAdd() { TAdmin admin=new TAdmin(); admin.setUserName(userName); admin.setUserPw(userPw); adminDAO.save(admin); this.setMessage("操作成功"); this.setPath("adminManage.action"); return "succeed"; } TAdminDAO.java public void save(TAdmin transientInstance) { log.debug("saving TAdmin instance"); try { getHibernateTemplate().save(transientInstance); 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) { 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.getElementById("indicator").style.display="none"; alert("修改成功"); } </script> 4.3.3管理员信息查询与删除 核心代码:adminAction.java public String adminManage() {//用户管理 List adminList=adminDAO.findAll(); Map request=(Map)ServletActionContext.getContext().get("request"); request.put("adminList", adminList); return ActionSupport.SUCCESS; } public String adminDel() { adminDAO.delete(adminDAO.findById(userId)); this.setMessage("删除成功"); this.setPath("adminManage.action"); return "succeed"; } TAdminDAO.java public void delete(TAdmin persistentInstance) {//定义删除方法 log.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 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.debug("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("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="<%=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) 点击修改用户密码界面,进入用户密码修改,输入用户名和原始密码,再输入新密码,点击修改,若原密码对,责提示操作成功,如图5-5所示: 图5-5密码修改成功界面 若原始密码输入错误,则提示密码错误,如图5-6所示: 图5-6 密码修改失败界面 测试结果:测试显示正常,数据能准确显示,未发现明显错误输出。 5.2读者信息管理的测试结果 (1)点击读者信息管理,进入读者信息管理界面,显示读者信息。如图5-7所示: 图5-7 读者信息界面 (2) 点击添加按钮,进入读者信息添加界面,填写读者基本信息,如图5-8所示: 图5-8 读者信息添加界面 (3) 填写读者基本信息,点击提交按钮,若借书证号不重复,则显示操作成功对话框,如图5-9所示: 图5-9 读者信息添加成功界面 (4) 点击确定按钮,返回读者查询界面,查询目前的所有读者,如图5-10所示: 图5-10 读者信息管理界面 (5) 对无效的读者信息进行管理,点击删除按钮,弹出是否删除,显示如图5-11所示: 图5-11 读者信息删除界面 (6) 点击确定按钮,弹出删除成功界面,点击确认,会再返回读者查询界面,这时,无效的数据已经删除。删除成功界面如图5-12所示: 图5-12 无效用户删除成功界面 测试结果:测试显示正常,数据能准确显示,未发现明显错误输出。 6.结束语 在本次图书馆管理系统的设计与开发过程中,通过一次次的失败,我已能熟练运用“JSP”、“SSH”框架、“SQL Server数据库”等相关技术,通过此次设计与开发,把所学的知识进行融会贯通,通过遇到的难题和想办法去解决它,从而获取新的知识,边学边用,完善自己的知识体系结构。但由于时间仓促,个人经验的不足,还不能让这个系统各个功能都做到完美,程序的逻辑较为复杂,我相信我还要有一段漫长的研究过程,不过通过这次论文的写作和系统设计,我觉得我真的学到了很多,给我以后的工作中提供了很大帮助和经验。参考文献 [1] 高屹编. Web应用开发技术[M].北京:清华大学出版社,2008. [2] 吴伟敏.网站设计与Web 应用开发技术[M].北京:清华大学出版社,2011. [3] 赵生慧.Java面向对象程序设计[M].北京:高等教育出版社,2007. [4] 万常选等.数据库系统原理与设计[M].北京:清华大学出版社,2009. [5] 郝玉龙.Java EE编程技术[M].北京:清华大学出版社,2008. [6] 石双元.Web 应用开发技术[M].北京:清华大学出版社,2010. 致谢 在学年设计完成之际,我要特别感谢我的指导老师热情关怀和悉心指导。在我开发系统的过程中,老师倾注了大量的心血和汗水,同时也得到了许多同学的帮助和宝贵建议,在此一并致以诚挚的谢意。感谢所有关心、支持、帮助过我的良师益友。 指导教师评语 成绩评定 指导教师签名: 填表日期: 年 月 日
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服