JSP新生报到管理文档格式.docx

上传人:b****6 文档编号:22189162 上传时间:2023-02-03 格式:DOCX 页数:21 大小:291.55KB
下载 相关 举报
JSP新生报到管理文档格式.docx_第1页
第1页 / 共21页
JSP新生报到管理文档格式.docx_第2页
第2页 / 共21页
JSP新生报到管理文档格式.docx_第3页
第3页 / 共21页
JSP新生报到管理文档格式.docx_第4页
第4页 / 共21页
JSP新生报到管理文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

JSP新生报到管理文档格式.docx

《JSP新生报到管理文档格式.docx》由会员分享,可在线阅读,更多相关《JSP新生报到管理文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

JSP新生报到管理文档格式.docx

3.2.2新生信息功能具体实现13

3.3主要类图及类说明14

3.4设计过程遇到的问题及问题解决15

3.4.1用户登录时不能成功登录15

3.4.2在前台页面发现页面样式不能按照预定要求显示出来15

3.4.3验证码刷新问题15

3.5软件测试(单元测试)15

3.5.1单元测试技术15

3.5.2Junit测试16

第4部分系统使用手册18

4.1硬件环境19

4.2软件环境19

4.3使用说明19

4.3.1数据库操作说明19

4.3.2系统操作说明19

致谢20

参考资料21

 

新生报到管理系统

前言

1软件系统的开发背景和商业价值

借助现代信息技术和管理理论,建立现代管理信息系统是当今社会的重要趋势。

随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。

面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。

通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。

尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。

计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。

为了适应信息时代发展,提高学校的工作效率和办学水平,实现现代化大学的运行机制和高水平的管理,体现大学中计算机的特色,使计算机的使用成为学校对学生进行有效管理的重要组成部分。

用计算机来管理新生报到可以避免不必要的资源浪费。

用计算机来管理新生报到可以作到在新生前来报到时给其分配相关资源,存储其相关信息则可以避免所分配的学号、床位号中间呈现空缺的现象也节省了教务处工作人员的工作强度,避免了提前去做新生的相关分配工作。

“新生报到管理系统”可对每届前来报到的新生登记其基本信息并将其基本信息录入到数据库中,如此就可以避免将已被录取但不打算前来读书的学生的相关信息存储进在校学生的相关数据库中,同时使用该系统可以实现新生信息的有序存储,使得检索迅速、查找方便、并且提高了可靠性。

2技术介绍

(1)Jsp技术

用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。

网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。

JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。

插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。

目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。

JSP页面由HTML代码和嵌入其中的Java代码所组成。

服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。

JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。

JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。

(2)JavaBean技术

JavaBean是一种JAVA语言写成的可重用组件。

为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。

JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露称为属性。

众所周知,属性名称符合这种模式,其他Java类可以通过自省机制发现和操作这些JavaBean属性。

用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。

用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。

JavaBean是java类,属于某些特定的译码指导方针,并且扩展了适应性和范围,允许用户访问内部的属性和方法。

通过这些,JavaBean类可以用于下列方法:

1)在IDE中,JavaBean的功能允许应用开发者浏览其中的方法,即使JavaBean是被编译的,并且无法利用原始的源文件。

2)在RemoteMethodInvocation(RMI)的分布式风格中,这项功能听起来并不让人兴奋,但是在未来的包含企业版的JavaBean后,将改变这种情况。

3)为了JavaBean的属性值和状态可以保存到磁盘上。

这里说的有些简单,如果想了解更多的东西,可以查阅一些资料。

(3)Servlet技术

JavaServlet是与平台无关的服务器端组件,它可以运行在Servlet容器中。

Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet和客户的通信采用“请求/响应”的模式。

Servlet的框架的核心是javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口。

在Servlet接口中定义了5个方法,其中有3个方法代表了Servlet的生命周期:

init方法,负责初始化Servlet对象

service方法,负责响应客户的请求

destroy方法,当Servlet对象退出生命周期时,负责释放占用的资源。

(4)Dao设计模式

使用数据访问对象(DAO)模式来抽象和封装所有对数据源的访问。

DAO管理着与数据源的连接以便检索和存储数据。

 

DAO实现了用来操作数据源的访问机制。

依赖于DAO的业务组件为其客户端使用DAO提供更简单的接口。

DAO完全向客户端隐藏了数据源实现细节。

由于当低层数据源实现变化时,DAO向客户端提供的接口不会变化,所有该模式允许DAO调整到不同的存储模式,而不会影响其客户端或者业务组件。

重要的是,DAO充当组件和数据源之间的适配器。

(5)连接池技术

连接池技术的核心思想是:

连接复用,通过建立一个数据库连接池以及一套连接使用、分配、管理策略,使得该连接池中的连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。

另外,由于对JDBC中的原始连接进行了封装,从而方便了数据库应用对于连接的使用(特别是对于事务处理),提高了开发效率,也正是因为这个封装层的存在,隔离了应用的本身的处理逻辑和具体数据库访问逻辑,使应用本身的复用成为可能。

连接池主要由三部分组成:

连接池的建立、连接池中连接的使用管理、连接池的关闭式。

第1部分项目需求说明

本项目分为管理员模块和用户模块,其中管理员模块分为管理员登陆、用户信息管理、楼宇信息管理、寝室信息管理、班级信息管理、专业信息管理及新生信息管理,用户模块分为用户登陆及用户注册。

1.1管理员模块

管理员模块是本项目的主要模块,它包含着本项目的大部分操作信息,它的具体内容如下。

1.1.1管理员登录

管理员登录时需要进行身份验证,如果该用户是普通用户就不能登陆到管理员操作后台。

如果是管理员登录,就可以进入后台页面,对学生、班级、寝室、专业、楼宇进行录入、删除、修改、查询等操作。

1.1.2用户信息管理

对用户信息的基本操作:

用户信息录入,用户信息修改,用户信息删除,用户信息多条件模糊查询,用户信息分页,用户信息多条删除。

其中录入能够实现用户图片的上传、查看和修改。

1.1.3楼宇信息管理

对楼宇信息的基本操作:

楼宇信息录入,楼宇信息修改,楼宇信息删除,楼宇信息多条件模糊查询,楼宇信息分页,楼宇信息多条删除。

1.1.4寝室信息管理

对寝室信息的基本操作:

寝室信息录入,寝室信息修改,寝室信息删除,寝室信息多条件模糊查询,寝室信息分页,寝室信息多条删除。

其中查询能够查询出所有未满寝室并显示人数。

1.1.5专业信息管理

对专业信息的基本操作:

专业信息录入,专业信息修改,专业信息删除,专业信息多条件模糊查询,专业信息分页,专业信息多条删除。

1.1.6班级信息管理

对班级信息的基本操作:

班级信息录入,班级信息修改,班级信息删除,班级信息多条件模糊查询,班级信息分页,班级信息多条删除。

1.1.7新生信息管理

对新生信息的基本操作:

新生信息录入,新生信息修改,新生信息删除,新生信息多条件模糊查询,新生信息分页,新生信息多条删除。

其中查询能够查询出查询某省市人数和人员列表,查询某专业人数和人员列表,查询某班级人数和人员列表,查询某楼人数和人员列表,查询某楼某层人数和人员列表,查看某寝室人员信息,查询某楼某专业人数和人员列表,查询某楼某专业某班级人数和人员列表。

1.2用户模块

用户模块是针对普通用户而设计的一个模块,它的具体内容如下。

1.2.1用户登录

普通用户登录时需要进行身份验证,如果该用户是普通用户它只能进行新用户注册等简单操作。

1.2.2新用户注册

新用户注册功能针对的是普通用户,如果想要对整个后台进行操作必须要经过管理员的同意,提升普通用户的权限为管理员才能进行管理员的相关功能操作,具体功能信息如上。

1.3系统功能结构图

本项目权限分为管理员和普通用户,不同权限的用户具有不同的功能操作,具体功能结构如下图所示:

图1功能结构图

第2部分数据库表设计

数据库表的设计是一个项目比较核心的环节,它的设计好坏直接关系到整个项目的质量,以下是本项目的具体表设计:

2.1用户表

用户表(users)表主要存储管理员和普通用户信息,其结构如下表所示:

用户表表1

表名

user(用户表)

列名

类型定义

空/非空

PK

字段描述

默认值

userId

int(4)

Notnull

用户ID

No

userName

varchar(25)

用户名

password

密码

trueName

真实姓名

phone

联系电话

email

邮箱

userRole

用户角色

image

varchar(50)

头像图片

补充说明

这个是用户信息表,存储用户操作信息。

2.2楼宇表

楼宇表(build)存储楼宇信息,其结构如下表所示:

楼宇表表2

build(楼宇表)

bid

楼宇ID

buildName

楼宇名

buildNumber

int(3)

楼宇层数

receiveNumber

int(10)

容纳人数

inNumber

已住人数

property

varchar(4)

楼宇属性

这个是楼宇信息表,存储楼宇操作信息。

2.3寝室表

寝室(dormitory)表存储寝室信息,其结构如下表所示:

寝室表表3

dormitory(寝室表)

Did

寝室ID

dormitoryName

varchar(20)

寝室名

receiveNumbers

InNumbers

locationFloor

所在楼层

所在楼宇ID

这个是寝室信息表,存储寝室操作信息。

2.4专业表

专业表(specialty)存储相关专业信息,其结构如下表所示:

专业表表4

specialty(专业表)

mid

专业ID

majorName

专业名称

pname

专业负责人姓名

sex

char

(2)

性别

officePlace

办公室

这个是专业信息表,存储专业操作信息。

2.5班级表

班级表(classes)存储班级相关信息,其结构如下表所示:

班级表表5

classes(班级表)

cid

班级ID

className

班级名

uname

班级负责人

phoneNumber

联系方式

所属专业ID

这个是班级信息表,存储班级操作信息。

2.6新生信息表

新生信息表(studentinfo)存储新生信息,其结构如下表所示:

新生信息表表6

studentinfo(新生信息表)

sid

新生ID

stuName

姓名

stuSex

birthday

出生日期

province

varchar(15)

省籍

city

市籍

phones

dormitoryId

所在寝室ID

classNames

班级名称

所在专业ID

这个是新生信息表,存储新生操作信息。

2.7数据库表关系图

数据库表是用于存储信息,它们之间通过主外键进行关联,以便于项目在操作的过程中检索查询和存储信息,其表关系如下图所示:

图2数据库结构图

表关系说明:

用户表(users)表主要存储管理员和普通用户信息,楼宇表(build)存储楼宇信息它与寝室表和班级表通过楼宇编号关联,寝室(dormitory)表存储寝室信息他与学生表通过寝室编号关联,新生信息表(studentinfo)存储新生信息他与专业表通过专业编号关联,专业表(specialty)存储专业信息它与班级表通过专业编号关联,班级表(classes)存储班级相关信息。

第3部分系统实现

3.1界面设计

本系统是一个管理系统在进行所有操作之前必须经过登陆页面,进行登录操作,用户名和密码正确才能进入。

登录页面显示

在地址栏输入:

http:

//localhost:

8080/StudentReport

超级管理员用户名:

admin,密码:

123456

在用户输入正确的用户名和密码之后将会登录到系统主界面,在这里管理员可以对整个系统进行相关操作。

主界面显示

在用户登录成功后,可以看见以上界面,在上图左面是相关功能模块操作按钮也就是用户快捷面板为了能方便快捷的访问系统功能,避免每次访问树形菜单较深级次的繁琐操作,用户可将通过导航栏中的收藏按钮,将当前页面收藏到该面板中;

该面板出现在所有业务页面,用户可以随时访问自己定义的功能页面。

该导航在首页以面板形式出现,在其他页面以下拉菜单形式出现,在图的右面是具体功能的显示页面,在这里可以看到相关操作数据和具体的操作功能,用户可以根据导航完成操作。

3.2主要功能实现

在进行本项目设计与实现时,本项目的着重点主要在寝室信息管理和学生信息管理,下面对其具体进行介绍。

3.2.1寝室信息管理功能具体实现

在寝室信息管理模块中主要是针对寝室信息进行管理,其主界面如下图所示:

图5寝室信息管理主界面图

在寝室信息管理模块,如图所示,点击编辑按钮可对相应记录进行修改操作,修改成功后返回上述页面,点击删除按钮可以删除相应记录,下面有一个全选按钮,点击全选按钮可以进行多条删除,最下面是分页功能,显示了相应记录数和页数,同时可以点击首页、上一页、下一页和未页查看相应记录,还可以直接跳转到某页,在最上面是多条件模糊查询,可根据相应填写信息查出相应记录。

3.2.2新生信息功能具体实现

图6新生信息管理主界面图

在新生信息管理模块,如图所示,点击编辑按钮可对相应记录进行修改操作,修改成功后返回上述页面,点击删除按钮可以删除相应记录,下面有一个全选按钮,点击全选按钮可以进行多条删除,最下面是分页功能,显示了相应记录数和页数,同时可以点击首页、上一页、下一页和未页查看相应记录,还可以直接跳转到某页,在最上面是多条件模糊查询,可根据相应填写信息查出相应记录,同时上面还有一个文件上传功能。

3.3主要类图及类说明

在实体类在一个项目中的作用是非常重要的它可以封装属性信息,同时对外部提供一个接口,供外部调用,其具体信息如下图所示:

图7主要实体类图

本项目中主要有七个实体类,其中.login实体类主要为用户登录服务,他提供了一个封装用户名和密码setter和getter方法,而user实体类主要封装用户信操作息,build实体类封装楼宇操作信息,classes实体类封装班级操作信息,studentInfo实体类封装学生操作信息,specialty实体类封装专业操作信息,dormitory实体类封装寝室操作信息,其中setter方法用来封装传来的信息,并提供一个getter方法,方便外部调用。

3.4设计过程遇到的问题及问题解决

在进行设计编写代码中,遇到了很多的问题,如连接池配置问题,javaScript错误等等,以下只列出三个例子。

3.4.1用户登录时不能成功登录

问题:

在部署好工程,打开登录页面输入正确用户名,密码时始终报空指针异常。

解决方法:

经过仔细检查发现连接池配置不正确,配置正确后发现报找不到驱动jar包错误,经过仔细检查,发现没有把mysql驱动jar包放到common文件夹下的lib文件夹下。

3.4.2在前台页面发现页面样式不能按照预定要求显示出来

在设计寝室信息管理页面时发现显示页面始终显示错误样式。

通过检查前台页面和CSS样式表,发现CSS样式表中对页面对齐方式写成了Left,以及在前台页面中调用代码少写‘<

%’。

3.4.3验证码刷新问题

刚开始自己写的验证码刷新代码始终不好使。

经过自己仔细修改,找到错误但发现此时的验证码刷新是对整个页面进行刷新,这并不符合程序要求,最后通过网络资源找到一段代码随机生成一个数字,让图片缓冲区认为不是同一个缓冲区,解决了验证码刷新,页面不刷新问题。

3.5软件测试(单元测试)

3.5.1单元测试技术

单元测试针对每个程序的模块,主要测试5个方面的问题:

模块接口、局部数结构、边界条件、独立路径和错误处理。

(1)模块接口

这是对模块接口进行的测试,检查进入程序单元的数据流是否正确。

对模块接口数据流的测试必须在任何其他测试之前进行,因为如果不能确保数据正确的输入和输出的话,所有的测试都是无意思的。

(2)局部数据结构

在模块工作的过程中,必须测试其内部的数据能否保持完整性,包括内部数据的内容、形式及关系不发生错误。

(3)路径测试

在单元测试中,最主要的测试是针对路劲的测试。

在用例必须能够发现有于计算错误不正确的判断或不正常的控制流而产生的错误

(4)边界条件

经验表明,软件在边界处发生问题。

边界测试是软件测试的最后一部,十分重要,必须采取边界值分析方法来设计测试用例,认真仔细的测试为限制数据处理而设置的边界处,看模块能否正常工作。

(5)出错处理

测试出错的重点是模块在工作时候发生错误,其中出错处理设施是否有效。

程序运行中出现的异常现象并不奇怪,良好的设计应该预先估计到投入到运行偶可能发生的错误,并给出相应的处理措施,使得用户不至于束手无策。

测试用例将软件测试的行为活动做一个科学化的组织归纳.目的是能够将软件测试的行为转化成可管理的模式;

同时测试用例也是将测试具体量化的方法之一。

设计测试用例通过非路径分析得到测试用例、寻找尚未测试过的路径并生成相应的测试用例、通过指定特定路径并生成相应的测试用例。

3.5.2Junit测试

以下表是测试用例,主要用于下面的测试:

测试表表7

测试函数

输入ID

对应用户名

数据库中是否存在

预期结果

objectImpl类下的

objDel(intid)方法

1

xiaoming

存在

true

在测试时:

myeclipse

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

当前位置:首页 > 高等教育 > 农学

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

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