基于Web图书标准管理系统设计与实现.docx

上传人:b****7 文档编号:11043272 上传时间:2023-02-24 格式:DOCX 页数:25 大小:383.57KB
下载 相关 举报
基于Web图书标准管理系统设计与实现.docx_第1页
第1页 / 共25页
基于Web图书标准管理系统设计与实现.docx_第2页
第2页 / 共25页
基于Web图书标准管理系统设计与实现.docx_第3页
第3页 / 共25页
基于Web图书标准管理系统设计与实现.docx_第4页
第4页 / 共25页
基于Web图书标准管理系统设计与实现.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

基于Web图书标准管理系统设计与实现.docx

《基于Web图书标准管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Web图书标准管理系统设计与实现.docx(25页珍藏版)》请在冰豆网上搜索。

基于Web图书标准管理系统设计与实现.docx

基于Web图书标准管理系统设计与实现

基于Web图书标准管理系统设计与实现

 

Web应用开发实践学年设计报告

学院名称:

计算机与信息工程学院

班级名称:

学生姓名:

学号:

题目:

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

指导教师:

起止日期:

 

简单软件系统设计学年设计任务书

学院

计算机与信息工程学院

专业

网络工程

课程名称

Web应用开发实践学年设计

题目

基于Web的图书管理系统

设计与实现

完成期限

2016年7月4日--2016年7月10日共1周

一、课程设计目的

1.巩固和加深学生对所学课程的基本知识的理解,综合这些课程中的理论知识,协作完成一个解决实际问题的应用程序;

2.根据选题需要,通过查阅手册和文献资料,培养分析和解决实际问题的能力;

3.熟练运用高级语言有关知识编写程序。

二、课程设计内容和设计要求

⑴掌握Web应用程序开发方法。

⑵根据软件工程规范要求,严格按需求分析、概要设计与详细设计、编码与测试等阶段,开发图书管理系统。

⑶题库系统的主要功能有图书信息增加、查询、修改和删除,图书信息报表输出,图书在线预约等。

⑷在实现系统功能的基础上,撰写学年设计报告

三、课程设计思路

首先根据系统特点确立开发模型,再通过对系统进行的需求分析研究,建立结构化分析模型,得出系统功能模块及数据流图,然后进行数据字典分析,确定数据的定义与属性,建立数据表,最后完成系统功能的实现;论述了图书管理系统的运行环境和前台、后台的设计:

本系统基于JAVA技术开发,可运行于Tomcat等WEB服务器软件下,前台使用HTML结合Struts标签库设计了前台JSP页面,后台使用SSH框架技术实现MVC三层结构设计了程序流程,并结合SQLServer数据库系统实现了数据的查询,插入,删除和修改。

最终设计出的系统实现了登录与退出,个人账户管理,图书管理,读者管理以及借书预约批阅等基本功能。

四、具体成果形式

程序和报告。

 

起止日期

工作内容

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]郝玉龙.JavaEE编程技术[M].北京:

清华大学出版社,2008.

[6]石双元.Web应用开发技术[M].北京:

清华大学出版社,2010.

指导教师

意见

 

(签字):

年月日

系(教研室)主任意见

 

(签字):

年月日

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

摘要:

随着计算机技术的飞速发展,电子信息化慢慢替代了企业管理的传统管理手法,采用管理系统是能够有效提高管理效率的。

图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理。

为了提高日常的图书管理效率,本文针对通常的图书管理流程,应用SSH框架和软件工程的设计思想对本系统进行开发。

主要实现的功能是:

登录与退出,个人账户管理,图书管理,读者管理以及借书预约批阅。

1.引言

1.1选题背景

通过调查,目前有很多图书馆还是采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。

如要对很长时间以前的图书进行更改就更加困难了。

基于这此问题,我们开发了图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。

1.2选题意义

为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特开发本系统以提高图书馆的管理效率。

使用该程序之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,给出统计表格,以便全面掌握图书的流通情况。

本系统是基于JAVA技术开发,可运行于Tomcat等WEB服务器软件下,前台使用HTML结合Struts标签库设计了前台JSP页面,后台使用SSH框架技术实现MVC三层结构设计了程序流程,并结合SQLServer数据库系统实现了数据的查询,插入,删除和修改。

最终设计出的系统实现了登录与退出,个人账户管理,图书管理,读者管理以及借书预约批阅等基本功能。

通过本学年设计的训练,

1.3主要内容及分工

本系统致力于建立灵活、方便的图书馆管理系统,主要有五大功能模块:

登录与退出,个人账户管理,图书管理,读者管理以及借书预约批阅。

1.登录与退出管理:

管理员登陆系统后可以对图书类别进行添加,更新和删除操作,退出管理系统后续重新登录。

2.个人账户管理:

对自己的账号密码进行修改,还可以管理系统管理员。

3.图书信息管理:

当管理员对图书类别信息添加完成后,就可以开始进行图书信息的录入了。

4.读者信息管理:

管理员可以添加新的读者信息,查看已经存在的读者信息,删除读者信息。

5.图书借阅管理:

管理员登陆系统后。

可以管理读者的借阅信息。

首先输入读者的借书证号,然后输入要借阅的图书和借阅时间,完成借阅的管理。

具体任务分工如下:

****:

具体主要负责图书管理系统的图书预约和用户登录登出两个模块;其中包括所涉及部分的代码、文档以及相关图的设计。

以及所涉及数据库的建立。

****:

主要负责读者信息管理和个人账号管理两个模块;其中包括所涉及部分的代码、文档以及相关图的设计。

以及所涉及数据库的建立。

****:

主要负责与图新信息管理相关的内容;其中包括所涉及部分的代码、文档以及相关图的设计。

以及所涉及数据库的建立。

1.4组织结构

本设计报告由引言,需求分析,系统设计,系统实现,测试结果,结束语,参考文献,致谢等9个部分组成,其中引言包含选题背景和选题意义,选题背景介绍该课题的背景,选题意义主要介绍在学年设计的过程中收获了什么。

需求分析包括系统流程图和系统功能图,系统流程图介绍系统的总体流程,系统功能图介绍主要实现的功能。

系统设计主要由界面设计和数据库设计组成,界面设计是对显示的页面进行设计,数据库设计是对开发功能所需要的数据库进行设计。

系统实现包括系统开发环境介绍,数据库连接代码和各个子功能的主要代码。

测试结果包含各个子功能的测试结果,结束语主要是对系统的总结,参考文献是系统设计实现过程中查阅的资料和书籍,致谢主要是对在这次课程设计中给予帮助的老师、同学和朋友表示感谢。

2.需求分析

本人主要负责的功能是个人信息管理以及读者信息的管理,具体如下:

2.1.1个人信息模块

该模块主要是负责对个人信息的修改,查询和注册,针对个人密码的修改,数据流程图如2-1所示:

图2-1修改密码模块数据流程图

2.1.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系统开发环境介绍

软件的开发环境会影响到数据库的设计,这里规定图书管理系统的开发环境如下:

开发环境:

windows7

开发工具:

MyEclipse10

数据库:

MicrosoftSQLServer2008

服务器:

Tomcat7.0

4.2数据库连接代码

本软件采用SSH框架进行的开发,连接数据库是让Hibernate完成的,连接代码如下:

class="mons.dbcp.BasicDataSource">

value="com.microsoft.sqlserver.jdbc.SQLServerDriver">

sqlserver:

//localhost:

1433;databaseName=db_bookMana">

4.3各个子功能的主要代码

4.3.1读者信息界面

(1)读者信息添加

核心代码:

UserAction.Java

publicStringuserAdd()

{

Stringsql="fromTUserwhereuserDel='no'anduserJiehao='"+userJiehao+"'";

ListuserList=userDAO.getHibernateTemplate().find(sql);

if(userList.size()>0)

{

this.setMessage("借书证号已存在。

请重新录入");

this.setPath("admin/user/userAdd.jsp");

return"succeed";

}//判断借书证号是否存在,存在返回重新输入,不存在返回succeed

TUseruser=newTUser();

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

publicvoidsave(TUsertransientInstance)

{//对操作进行保存

log.debug("savingTUserinstance");

//完成DAO对象的插入数据操作

try{

getHibernateTemplate().save(transientInstance);

log.debug("savesuccessful");

}catch(RuntimeExceptionre){

log.error("savefailed",re);

throwre;}

}

(2)读者信息查询和删除

核心代码:

UserAction.Java

publicStringuserDel()

{//定义删除

TUseruser=userDAO.findById(userId);

user.setUserDel("yes");

userDAO.attachDirty(user);

this.setMessage("删除成功");

this.setPath("userMana.action");

return"succeed";

}

publicStringuserMana()

{ListuserList=userDAO.findAll();///从数据库里面取出所有user

Maprequest=(Map)ServletActionContext.getContext().get("request");

//在Action里面获取request对象一种方法

request.put("userList",userList);

returnActionSupport.SUCCESS;

}

publicStringuserDetail()

{

TUseruser=userDAO.findById(userId);

Maprequest=(Map)ServletActionContext.getContext().get("request");

request.put("user",user);

returnActionSupport.SUCCESS;

}

TUserDAO.java

publicvoiddelete(TUserpersistentInstance)

{//定义删除方法

log.debug("deletingTUserinstance");

try

{

getHibernateTemplate().delete(persistentInstance);

log.debug("deletesuccessful");

}catch(RuntimeExceptionre)

{

log.error("deletefailed",re);

throwre;}

}

publicListfindAll()

{//定义查找方法

log.debug("findingallTUserinstances");

try

{

StringqueryString="fromTUserwhereuserDel='no'";

returngetHibernateTemplate().find(queryString);

}catch(RuntimeExceptionre)

{

log.error("findallfailed",re);

throwre;

}

}

4.3.2密码修改

核心代码:

adminAction.java

publicStringadminAdd()

{

TAdminadmin=newTAdmin();

admin.setUserName(userName);

admin.setUserPw(userPw);

adminDAO.save(admin);

this.setMessage("操作成功");

this.setPath("adminManage.action");

return"succeed";

}

TAdminDAO.java

publicvoidsave(TAdmintransientInstance){

log.debug("savingTAdmininstance");

try{

getHibernateTemplate().save(transientInstance);

log.debug("savesuccessful");

}catch(RuntimeExceptionre){

log.error("savefailed",re);

throwre;

}

}

//判断密码是否正确、新密码是否为空

functioncheck(){

varuserPwReal="${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);

}functioncallback(data){

document.getElementById("indicator").style.display="none";alert("修改成功");}

4.3.3管理员信息查询与删除

核心代码:

adminAction.java

publicStringadminManage()

{//用户管理

ListadminList=adminDAO.findAll();

Maprequest=(Map)ServletActionContext.getContext().get("request");

request.put("adminList",adminList);

returnActionSupport.SUCCESS;

}

publicStringadminDel()

{

adminDAO.delete(adminDAO.findById(userId));

this.setMessage("删除成功");

this.setPath("adminManage.action");

return"succeed";

}

TAdminDAO.java

publicvoiddelete(TAdminpersistentInstance){//定义删除方法

log.debug("deletingTAdmininstance");

try{

getHibernateTemplate().delete(persistentInstance);

log.debug("deletesuccessful");

}catch(RuntimeExceptionre){

log.error("deletefailed",re);

throwre;

}

}

publicTAdminfindById(java.lang.Integerid){//定义查询

log.debug("gettingTAdmininstancewithid:

"+id);

try{

TAdmininstance=(TAdmin)getHibernateTemplate().get(

"com.model.TAdmin",id);

returninstance;

}catch(RuntimeExceptionre){

log.error("getfailed",re);

throwre;

}

}

publicListfindByProperty(StringpropertyName,Objectvalue){

//根据外键值Name进行查询,显示

log.debug("findingTAdmininstancewithproperty:

"+propertyName

+",value:

"+value);

try{

StringqueryString="fromTAdminas

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿理论经验

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1