户籍管理系统的设计与实现
|
毕业设计说明书
户籍管理系统的设计与实现
专业 |
计算机科学与技术 |
学生姓名 |
郭 峰 |
班级 |
计算机121 |
学号 |
1210704106 |
指导教师 |
韩 立 毛 |
完成日期 |
2016年6月4日 |
户籍管理系统的设计与实现
摘 要:随着我国经济和社会的发展,人口的日益增多,第六次全国人口普查显示,中国目前人口总数为14亿人,针对人口的户籍管理是人口管理工作中的重要方面;同时伴随着信息技术的发展,如何有效地提高户籍管理的科学性、准确性是目前户籍管理随面对的一个重要课题;本系统主要目的是用来解决公安派出所对人口信息的管理,提高工作效率,简化流程,从而实现本系统为方便户籍管理人员工作,提高管理便捷性的意义。
本户籍管理系统的设计与设计是基于B/S模式的,根本原因在于本系统的用户为公安系统人员来管理系统,并不需要客户端,C/S模式设计起来更为复杂。同时为开发本系统采用了现在很成熟的技术手段,Meclipse专注于Web开发,而且有丰富的插件,自带Tomcat服务器,能够方便地在本机运行;Java拥有跨平台的特点,在不同的系统中通过虚拟机皆可运行,为户籍管理人员提供了便利性;数据保存方面采用了主流的SQLServer数据库,对于户籍信息的管理操作非常方便。本系统主要实现了户籍信息的修改、添加、删除、查找等功能。系统总体开发在个人PC机中完成,因为所设计的功能需要很全面,受时间和技术的限制,本系统在毕业设计期间还很难完善,因此仍有待于下一步的维护和升级。
由于本户籍管理系统的开发采用了较为成熟的技术,能够确保功能能够稳定的运行和实现,技术方面没有原创性的创新,重点更多的在于研究户籍管理系统的功能,各模块之间接口的连接,使系统简单易用,并达到了预期的效果,系统的各项功能基本完善 ,符合用户的使用需求。
关键词:户籍管理;信息系统;B/S模式
Design and Implementation of the Household
Registration System
Abstract:With the developmentof economy and society, the growing population, the sixth national census showsthat China's current population of 1.4 billion people, household management forthe population of the population in the management of an important aspect;accompanied by IT development, how to effectively improve the scientificmanagement of household registration, accuracy is an important issue currentlyfacing with household management; the main purpose is to solve the managementof the Police Stations of population information, improve work efficiency,streamline processes, for the convenience of the system in order to achievehousehold management staff work to improve the ease of administrationsignificance.
Design and design of thehousehold registration system is based on B / S model, the fundamental reasonis that the user of the system for the public security system personnel tomanage the system and does not require client, C / S model design them morecomplex. At the same time for the development of this system is now very maturetechnology, Meclipse focused on Web development, and has a wealth of plug-incomes with Tomcat server, can easily run natively; Java has a characteristiccross-platform, in different systems Jieke run virtual machines for householdmanagement provides convenience; data preservation with the mainstreamSQLServer database for the management of household registration information ofthe operation is very convenient; the main achievement of the householdregistration information to add, modify, delete, search and other functions.Overall systems development in the personal PC, complete because of the designfeatures a very comprehensive needs, time constraints and technology by thesystem during the graduation design is difficult to perfect, so the next stepremains to be maintained and upgraded.
Because the development of thehousehold registration system with a more mature technology, to ensure stableoperation and function can be realized, there is no original technologyinnovation, more emphasis is to study the function of the householdregistration system, the interface between each module connection, the system iseasy to use, and to achieve the desired effect, the function of the system isbasically sound, In line with user needs.
Key words:Household management; Information system; B / S Mode
目 录
1 绪论... 1
1.1课题背景... 1
1.2系统开发的意义... 1
2 开发环境与工具简介... 2
2.1 开发环境... 2
2.2 开发工具简介... 3
3 户籍管理系统设计与实现模型... 4
3.1 户籍信息登记模型... 4
3.2 人口信息的迁入迁出模型... 5
4 系统分析... 6
4.1 需求分析... 6
4.2 业务流程分析... 9
4.3 数据字典... 11
5 总体设计... 12
5.1 方案设计... 12
5.2 系统功能设计... 12
6 数据库设计... 14
6.1 概念设计... 14
6.2 SQL数据库表设计... 17
7 详细设计... 19
7.1户籍管理登录模块设计与实现... 19
7.3 用户管理模块设计与实现... 22
7.4 户籍登记平台模块设计与实现... 24
7.5 户籍信息管理模块设计与实现... 25
7.6 居民小组管理模块设计与实现... 27
8 系统调试与测试... 28
8.1 测试的重要性及目的... 28
8.2 测试的步骤... 29
8.3 测试的主要内容... 29
8.4 系统测试用例... 30
9 结论与展望... 31
9.1 设计结论... 31
9.2 课题展望... 32
参考文献... 33
致 谢... 34
户籍管理系统的设计与实现
1 绪论
1.1 课题背景
1.2 系统开发的意义
2 开发环境与工具简介
2.1 开发环境
本系统采用MyEclipse集成开发环境,JSP技术,java语言进行开发。使用的数据库为SQL Server。
a) JDK版本:1.7。
d) 客户端运行环境:Mozilla Firefox浏览器 。
2.2开发工具简介
第二,可扩展性高,软件集成度高,能够在个人PC上运行大型多处理器。
第三,支持Web技术,使用户能够方便地吧将数据库信息显示到到网页上,简单直观。
第四,与windows系统软件完全集成,采用了许多的windows的功能,如管理登录安全,邮件的收发等。
第五,使用图形用户界面操作,而不是dos命令,使系统更简单直观的进行数据库管理操作。
第六,拥有丰富的编程接口工具,编程,为开发者提供更多选择的可能。
3 户籍管理系统设计与实现模型
3.1 户籍信息登记模型
户籍信息登记主要包括这个人所在的小组分组,户口类型,户主的姓名,身份证,性别,出生日期,现住址,联系电话,教育程度,是否服兵役,工作单位,家庭成员情况等。户籍信息登记的E-R图如下图3-1所示:
3.2 人口信息的迁入迁出模型
4 系统分析
4.1 需求分析
4.1.1功能分析
分别是户籍查询修改、登记管理、户籍信息管理、报表打印、系统维护、系统管理等功能。
用户首先通过首页页面输入用户自己的个人账号+密码+验证码的方式进行身份验证,在当只有输入正确的账号一级密码后擦词汇显示系统登陆成功,最后方能够使用其中户籍管理系统中的功能。
进入系统后可以进行户籍管理的户籍信息的登记,可以创建新的户籍,添加新的户籍信息,方便公安管理人员进行户籍管理。
通过查询模块可以快速有效的找到需要的信息,找到后本系统还支持对报表的打印;管理员设置的居民小组分组情况也可以通过报表打印的方式打印出来。
4.1.2应用需求分析
4.1.3系统需求分析
4.1.4性能需求分析
4.1.5应用需求分析
服务器 |
硬件 |
处理器:Intel i3或更高性能 硬 盘:100G 或更大 内 存:2G 或更大 |
软件 |
Microsoft Windows 7 Tomcat 6.5服务器 Sqlserver 2005数据库 Jdk1.7 |
|
客户机 |
硬件 |
已安装相应软件的笔记或台式机 |
软件 |
微软 Windows 7 旗舰版 Mozilla Firefox浏览器或其他浏览器 |
4.1.6运行需求分析
硬件条件:Intel i3 CPU、2G RAM、100 G硬盘以上的笔记本或者台式机。
4.1.7其他需求分析
本次开发的户籍管理系统需要有较高的可靠性、软件可维护性高、在原有系统的基础上提高效率、用户使用过程中简单明了,操作简便的特点。系统的可维护性具体划分为几个方面,包括可可修改性、可读性、测试性等。系统的可靠性分为健壮性,在使用中健壮无错误,并且符合用户需求,确保系统的正确性。在系统软件的开发过程中,需要平衡各种矛盾的和舍弃不同部分不容易实现, 使用程度不高的功能,在规定的系统开发时间内,有限的经费,可以拥有的软件和硬件资源,综合起来利用已经有的资源来开发我们所需要的系统软件,使得各指标得到最大限度的实现。
4.2 业务流程分析
4.2.1 业务流程
户籍管理系统的业务流程直观的表现出了用户操作本系统的流程,通过业务流程分析可以简单明了并且清晰的了解户籍管理系统的整个处理流程;本系统的业务流程如图4-2所示。
图4-2 系统业务流图
4.2.2 系统流程图
户籍管理系统主要功能包括用户登录记录、居民小组设置、户籍信息登记、户籍信息管理、户籍明细查询、系统用户设置、用户密码修改;其中户籍登记平台只需要获取管理员权限就可以进行对居民的户籍信息进行登记;户籍的明细查询可以通过居民户籍所在的居民小组、户口的类型、户主的姓名这几项进行查询,支持模糊查询;本户籍管理系统的设计实现主要任务是可以对户籍信息进行全局化的管理,核心任务是对数据的修改、删除、查询等操作;居民小组设置主要是针对居民进行添加他们的社区公寓单元等的分组,以便于查找和管理,还提供了删除小组的功能;系统用户设置是超级管理员或者普通管理员拥有的权限,可以进行添加管理员,设置管理员的名称,登录密码,设置他们的状态,并显示他们账号的使用状态;用户登录记录主要查看管理员登录所显示的名称,密码,登录时间,登录的 IP,所用的操作系统,登录的结果是否成功,还可以对已经登录的用户信息进行删除。用户密码修改只能是是在当前用户登录的状态下,输入旧密码确认是用户本人正在登录使用,然后输入两次新密码进行确认,确定完成之后密码就成功修改,数据库对数据也进行删除、修改操作,最后退出系统,重新登录。系统功能流程图如图4-3所示。
图4-3 系统功能流程图
4.2.3 数据流图
数据流图主要是从后台数据库与系统页面之间的相互联系,既表面他们之间的关系,又阐述了该功能在底层是如何实现的,解释了用户界面操作完成后数据流向什么地方,清晰的表明了整个过程;本户籍管理系统设计与现实的数据流图如下图4-4所示。
图4-4 系统数据流
4.3 数据字典
a) 系统用户信息的数据字典
系统用户信息的数据字典如图4-5所示。
图4-5 系统用户信息的数据字典
b) 户籍登记信息数据字典
户籍登记信息数据字典如图4-6所示。
图4-6 户籍登记信息数据字典
c) 登录记录信息数据字典
登录记录信息数据字典如图4-7所示。
图4-7 登录记录信息数据字典
d) 户籍查询信息数据字典
户籍查询信息数据字典如图4-8所示。
图4-8 户籍查询信息数据字典
e) 信息管理数据字典
信息管理数据字典如图4-9所示。
图4-9 信息管理数据字典
5 总体设计
5.1 方案设计
户籍管理系统的设计与实现数据有前台和后台组成,由于本系统的特殊性,只需要管理员用户进行管理户籍信息的操作,所以前台只有登录功能,而没有其他的功能,登录进去后有7个JSP页面,主要功能有户籍登记,户籍明细查询,户籍信息的管理,居民小组设置,系统用户设置,管理员用户密码更改,还有管理员用户登录记录,安全退出系统。各功能都能够实现本系统的需求,管理员用户可以根据自己的需求到相应的功能页面中完成自己的任务,最主要的对居民户籍信息的添加,修改,查找和删除,提高工作效率,使办公变得简单可行。
5.2 系统功能设计
系统功能设计的任务主要是根据公安派出所的需要来开发软件系统,在开发的前期需要充分了解本系统的功能需求,然后考虑开发户籍管理系统的可行性,以及时间安排的进度;系统功能的设计方面主要分3部分,这3部分是系统的总体设计,系统的详细设计,数据库设计。
通过一段时间的对户籍管理系统的了解,和研究当前派出所户籍管理系统现状的前提下,决定了本次户籍管理系统开发的总体规划,本系统只需要针对管理员用户进行开发,而不需要针对普通的人,所以迸发性要求并不高,因此对服务器的性能要求并不是很高,所以在本机PC就可以作为服务器和客户机,管理员可以直接通过管理员的账号+密码+验证码即可,数据库后验证成功后进入系统的操作界面进行户籍信息的管理,其中主要的功能模块有户籍登记,户籍明细查询,户籍信息的管理,管理员用户登录记录,居民小组设置,管理员用户的密码修改模块,系统用户设置,系统的功能基本齐全,能够满足公安系统对户籍管理系统设计与实现所提出的要求。
a) 前台功能模块
由于户籍管理系统的特殊性,不需要普通居民进行登录操作,只需要管理员用户进行登录,所以系统前台登录较为简单,只需要账号、密码和验证码就可以进行登录;前台模块如图5-1所示。
图5-1 前台模块
b) 后台模块
后台模块主要由户籍登记,户籍明细查询,户籍信息的管理,居民小组设置,系统用户设置,管理员用户登录记录,用户的密码修改组成,其中部分模块与后台数据库是双向交互的,完成增加,删除,修改,查询功能,通过SQLServer数据库来完成对数据相应的操作。后台模块如图5-2所示。
图5-2 后台模块
6 数据库设计
户籍管理系统的设计最终是以数据为核心的,所有的操作最终的体现形式是数据上的变化,因此数据库设计就显得格外重要,是户籍管理系统的开发设计中最重要的部分,关系到数据能否正确的保存;本数据库要求满足存储数据量大的特点,能够实时的没有延迟的进行数据的更新,从而确保数据在处理检索的过程中具有一定的高效性。
随着计算机行业的蓬勃发展,和国家努力建设互联网+,推动现代化的进程,数据库也无时无刻不存在于我们的生活之中;如果没有计算机信息技术的告诉发展的话,我们就无法享受数据检索的方便快捷,节省了我们大量的工作时间,快速而有效地找到我们想要的信息;上世纪九十年代,数据库开始慢慢的发展,由个人电脑发展到互联网时代,开始了信息技术的第二次革命,数据库的重要性同时也达了前所未有的高度,数据库所涉及的面非常广泛,尤其是在办公自动化方面有这很大的便利,不仅仅提高了人们的工作效率,使之前传统的工作方式被抛弃,更解放了人们的双手,把经历用到其他地方去,其中就包括本次所设计的户籍管理系统,本系统所涉及的数据有一定的复杂性,采用了SQLServer数据库来进行记录数据,通过此方法能够实现对数据的实时操作,主要是修改、添加、查询、删除等。
6.1 概念设计
在本户籍管理系统的设计与实现中,总共有4个实体,这4个分别是管理员信息实体、人口迁移信息实体、户口信息实体人口信息实体。下面对这4 个实体进行详细介绍:
a) 户口信息实体
户口信息是本系统所直接管理的对象,是系统中的核心数据,户口信息实体中保存了出生日期、工作单位、联系电话、所属居民小组、户口类型、教育程度、现住址、身份证编号、性别、户主姓名、是否服兵役、何时迁入12个属性,其中的户口为主键,户口信息实体的E-R图如图6-1所示。
图6-1 户口信息实体E-R图
b) 人口信息实体
人口信息隶属于户口信息,他们之间存在一定的关系,人口信息有以下几个属性:性别、民族、身份证号、籍贯、姓名,人口信息实体的E-R图如图6-2所示。
图6-2 人口信息实体E-R图
c) 管理员信息实体
管理员信息有两个属性,分别为账号和密码。管理员的实体E-R图如图6-3所示。
图6-3 管理员实体E-R图
d) 人口迁移信息实体
人口迁移信息。包括迁入地、何时迁出、与户主的关系、户号、ID这5个属性。人口迁移信息实体E-R图如图6-4所示。
图6-4 人口迁移信息实体E-R图
e) 系统总体E-R图
最后将以上的单个模型融合为整体的E-R图,综合成一个系统的数据库管理E-R系统模型。系统总体E-R图如图6-5所示。
图6-5 系统总体E-R
6.2 SQL数据库表设计
在户籍管理系统的设计与实现中,需要对数据进行有效的管理和操作一达到系统所要实现的功能,在SQL Server数据库中共建立了6张表。分别为系统记录表、用户表、户籍信息登记表;用户登录记录表、性能参数记录表、居民小组设置这6张SQL数据库表。下面对这6张表进行介绍。
a) 用户表admin
admin表保存了用户的一些信息和权限。用户的ID、账号等其他信息都在其中。admin表如表6-1所示。
表6-1 用户表admin
字段的名称 |
数据的类型 |
数据的长度 |
是否可以是空 |
是否为主键(key) |
username |
nvarchar |
88 |
no |
no |
password |
nvarchar |
50 |
no |
no |
id |
int |
4 |
no |
no |
creattime |
datetime |
8 |
no |
no |
isuse |
int |
4 |
no |
no |
flag |
int |
4 |
no |
no |
quanxian |
nvarchar |
1000 |
no |
no |
logintimes |
int |
4 |
no |
no |
b) 用户登录记录表adminlog
adminlog表保存管理员用户登录的操作记录信息。Train表如表6-2所示。
表6-2 用户登录记录表adminlog
字段的名称 |
数据的类型 |
数据的长度 |
是否可以是空 |
是否为主键(key) |
id |
int |
4 |
no |
no |
username |
nvarchar |
50 |
no |
no |
password |
nvarchar |
88 |
no |
no |
loginip |
nvarchar |
50 |
no |
no |
logintime |
datetime |
8 |
no |
no |
ok |
nvarchar |
50 |
no |
no |
useros |
nvarchar |
50 |
no |
no |
c) 居民小组设置表jmxz
jmxz表保存了居民小组的分组情况。jmxz表如表6-3所示。
表6-3 居民小组设置表jmxz
字段的名称 |
数据的类型 |
数据的长度 |
是否可以是空 |
是否为主键(key) |
id |
int |
4 |
no |
no |
续表6-3
字段名称 |
数据类型 |
数据长度 |
是否允许为空 |
是否为主键 |
name |
nvarchar |
50 |
yes |
no |
addtime |
nvarchar |
88 |
yes |
no |
d) 户籍信息登记表hjinfo
hjinfo表存了户籍信息登记的信息。hjinfo表如表6-4所示。
表6-4 户籍信息登记表hjinfo
字段的名称 |
数据的类型 |
数据的长度 |
是否可以是空 |
是否为主键(key) |
id |
int |
4 |
no |
no |
jmxz |
varchar |
50 |
yes |
no |
name |
varchar |
50 |
yes |
no |
card |
varchar |
50 |
yes |
no |
bir |
varchar |
50 |
yes |
no |
tel |
varchar |
50 |
yes |
no |
htype |
varchar |
88 |
yes |
no |
sex |
varchar |
50 |
yes |
no |
address |
varchar |
50 |
yes |
no |
army |
varchar |
50 |
yes |
no |
familly |
varchar |
500 |
yes |
no |
remark |
varchar |
500 |
yes |
no |
addtime |
varchar |
50 |
yes |
no |
school |
varchar |
50 |
yes |
no |
place |
varchar |
50 |
yes |
no |
changeinfo |
varchar |
500 |
yes |
no |
adder |
varchar |
50 |
yes |
no |
e) 系统信息记录表system
system表记录了一些系统信息。system表如表6-5所示。
表6-5 系统信息记录表system
字段的名称 |
数据的类型 |
数据的长度 |
是否可以是空 |
是否为主键(key) |
id |
int |
4 |
no |
yes |
url |
nvarchar |
100 |
no |
no |
keyword |
nvarchar |
500 |
no |
no |
sitename |
nvarchar |
88 |
no |
no |
|
nvarchar |
100 |
no |
no |
description |
nvarchar |
500 |
no |
no |
续表6-5
字段名称 |
数据类型 |
数据长度 |
是否允许为空 |
是否为主键 |
state |
nvarchar |
50 |
no |
no |
copyright |
text |
16 |
no |
no |
record |
nvarchar |
50 |
no |
no |
dir |
nvarchar |
100 |
no |
no |
reasons |
nvarchar |
100 |
no |
no |
f) 性能参数记录表dtproperties
dtproperties表保存系统一些版本信息。dtproperties表如表6-6所示。
表6-6 性能参数记录表dtproperties
字段的名称 |
数据的类型 |
数据的长度 |
是否可以是空 |
是否为主键(key) |
id |
int |
4 |
no |
yes |
objectid |
int |
4 |
yes |
no |
version |
int |
3 |
no |
no |
uvalue |
nvarchar |
255 |
yes |
no |
lvalue |
image |
16 |
yes |
no |
property |
varchar |
88 |
no |
yes |
value |
varchar |
255 |
yes |
no |
7 详细设计
7.1户籍管理登录模块设计与实现
系统用户模块主要实现:实现账号登录。
功能:用于管理员通过账号登录,登陆成功,然后可以进行管内部功能的管理操作,其中的功能有添加用户,修改密码、删除用户。管理员用户进入户籍管理系统登陆界面如图7-1所示。
图7-1 用户登录模块
在管理员用户输入账号+密码+验证码的过程,登录模块会自动到SQLServer数据库中找到对应的用户信息进行核实验证;系统还将限制登录的数量,不能在一个平台多个账号同时登录,目的是为了确保一个时间段只有一个管理员进行管理户籍信息。程序逻辑:系统登陆流程图如图7-2所示。
图7-2 系统登陆流程图
用户登录模块主要功能代码:
String sysdir = systembean.getDir();
if(method.equals("one"))
{ //admin登录
String username =request.getParameter("username");
String password =request.getParameter("password");
if(username ==null||username.trim().equals(""))
{
request.setAttribute("message","请正确输入用户名!"); //输入用户名
else if(password == null||password.trim().equals(""))
{
request.setAttribute("message","请输入密码!"); //输入密码
request.getRequestDispatcher("index.jsp").forward(request,response);
}
7.2 系统主页面模块设计与实现
系统主界面显示了一些户籍管理系统的运行环境参数,给管理者提供管理和查看Tomcat服务器的户籍信息,在导航菜单左侧的树,使用户简便易用的进行点击操作,页面主要由三个IFRAME的页面组成,户籍管理系统的登录进入后,主页面如图7-3所示。
图7-3 系统主页面模块
7.3 用户管理模块设计与实现
管理员用户需要输入SQL数据库已经保存的账号+密码+动态的验证码,后台进行审核验证,3个信息都输入完毕,点击“OK”,系统将首先查询数据库具有相同名称的新用户记录有相同的记录,如果管理员账号有相同的,则提示输入重新输入未添加过的新账号。通过此方法可确保数据库中的管理员用户账号皆不同。点击下面页面中的“重置”,则添加用户的操作将取消。
当管理者需要修改自己的账号密码时,只需要进入用户密码修改页面就能更改,输入原密码,然后输入新密码,点击“确定”即可。数据库记录也最值更新。
系统管理员可以使用“用户设置”“删除”删除一个用户,删除用户不再有资格进入这个操作系统权限。
管理员用户可以点击进入“用户日志记录”页面,查看管理员的登录记录,而且还可以删除用户的登录记录;该系统用户设置如图7-4所示。
图7-4 系统用户设置模块
用户修改密码界面如图7-5所示。
图7-5 用户密码修改模块
添加用户的实现代码如下:
if(flag == Constant.SUCCESS){
request.setAttribute("message","增加管理员成功!"); //添加用户 request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request,response);}
else if(flag == Constant.SAME_NAME)
{
request.setAttribute("username",username);
request.setAttribute("message","该用户名已经存在!"); request.getRequestDispatcher(sysdir+"/system/user.jsp").forward(request,response);
}
用户登录记录界面如图7-6所示。
图7-6 用户登录记录模块
该页面的功能是用来实现对管理员的删除、修改和增加的操作,用jsp技术结合JavaScript技术,删除登录记录的代码如下:
public int delLog(int id[]){
DBOdbo=new DBO();
dbo.open();
try{
for(inti = 0;i<id.length;i++)
{
dbo.executeUpdate("deletefrom adminlog where id = '"+id[i]+"'");
} //删除用户登录记录
returnConstant.SUCCESS;
}catch(Exceptione){
e.printStackTrace();
returnConstant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
7.4 户籍登记平台模块设计与实现
户籍登记平台主要是进行添加居民户籍信息,从而达到公安派出所对户籍信息的管理,主要添加的信息包括:是否服兵役,居民所在的社区单元小组,性别,教育程度,户口类型,户主姓名,身份证编号,联系电话,工作单位,出生日期,住址。户籍登记平台如图7-7所示。
图7-7 户籍登记平台模块
本模块主要是用来记录登记户籍信息的,由文本域和输入文本框组成。
户籍登记信息中户口为实体,总共包含有14个属性,详细的户籍登记E-R图如7-8所示。
图7-8 户籍登记E-R图
部分代码如下:
intflag=pb.addHJ(jmxz, htype, name, card, sex, bir, address, tel, school, army,place, familly, changeinfo, remark, adder); //需要添加的户籍信息
if(flag==Constant.SUCCESS)
{
request.setAttribute("message","操作成功!");
request.getRequestDispatcher("admin/hj/index.jsp").forward(request,response);
}
else{
request.setAttribute("message","系统维护中,请稍后再试!");
request.getRequestDispatcher("admin/hj/index.jsp").forward(request,response);
}
7.5 户籍信息管理模块设计与实现
户籍信息管理可以查看SQL数据库中的所有的已经录入的户籍信息,根据用户需要查找到的户籍信息列表后面有查看、修改、删除功能的选项,点击功能按键可以查看详细的户籍信息、修改查找的户籍信息,删除已经失去作用户籍信息,或者错误的户籍信息。如图7-9所示。
图7-9 户籍信息管理模块
人口信息的查询是户籍管理系统的核心功能,详细的户籍信息查询过程流程图如图7-10所示。
图7-10 户籍信息查询流程图
部分查询功能代码如下所示:
public ListgetOneHJ(String id){
String sql = "select * from hjinfowhere id='"+id+"'"; //选择查看户籍信息
DBO dbo=new DBO();
list = new ArrayList();
dbo.open();
try{ //抓取户籍信息可能会出现的异常
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2=newArrayList();
/*列表信息*/
}return list;
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
dbo.close();}
7.6 居民小组管理模块设计与实现
居民小组管理主要功能是对有需要添加户籍信息的而没有对应的小组分组,需要哦重新进行添加居民所在的社区小组的信息,对居民住址进行对号入座,方便公安派出所管理居民的户籍信息,如图7-11所示。
图7-11 居民小组管理模块
该页面实现对居民小组的管理功能,具体代码如下:
if(method.equals("addTYPE")){
Stringname=request.getParameter("booktype");
int flag=pb.addTYPE(name);
if(flag==Constant.SUCCESS){
request.setAttribute("message","操作成功!");
request.getRequestDispatcher("admin/type/index.jsp").forward(request,response);}
else{
request.setAttribute("message","系统维护中,请稍后再试!");
request.getRequestDispatcher("admin/type/index.jsp").forward(request,response);
}}
8 系统调试与测试
在系统的设计过程当中,有一些错误是不可避免的,在编程过程中及时是有多年编程经验的技术大牛也不能确保不会发生错误。Myeclipse集成开发环境会自动识别java语法的错误,并且标记出来要求马上修改正确,这就致使这些语法问题容易标注出来,是的开发者容易进行修改;还有一种错误是由于开发的啥时候使用了错误的数学计算公式或者算法,这样的话错误就很难发现,这种类型的错误有隐蔽性强的特点,而令人头疼的是这些错误出现的不确定性,所以要解决这种类型的错误费时费力的,需要投入很多的精力来解决这个问题。
8.1测试的重要性及目的
a) 测试的重要性
而在软件开发周期中,软件的测试伴随着人间开发的整个周期中,即使软件开发已经结束了,在后期仍然需要进行大量的测试才能交付给用户,各种功能测试,迸发访问量达到一定的性能,在以前的瀑布模型中,开发人员开发出来的软件字需要在出现问题维护前进行测试,在交付给用户的软件并不能保证能够完全正常运行,时常会出现这样一种现象,就是在软件真是上线后,出现了各种bug,而影响了用户的使用体验。今年来,软件测试出现了一种新的规范标准,就是在软件开发的每个阶段都进行测试,从用户的实际使用的角度出发来检验该阶段的功能等其他方面的内容是否符合需求,这样就会提前发现并解决问题,对bug进行修复,不会出现最后完成系统开发后因为一个bug问题而牵一发动全身的状况。
在实际系统开发中,不论采用什么技术标准、方法、开发环境和开发工具,软件仍然会出现不可预测上的问题,在开发中错误是很难避免的,即使技术大牛也不能保证不出问题,这是不以人的意志为转移的,我们能做的是采用先进的技术,工具和规范化的方法降低错误发生的可能性,可以采用更先进开发工具,更加标准的开发过程,更加先进的开发方式,更加好的数据库,这样就可以尽量减少错误,在有可能出现的错误中,这就需要通过测试来找出来了,在测试中可利用专业的测试软件,这样能够提高测试的专业性和准确性。一个系统软件从提出来到最后的上线使用,软件测试的工作量占到总开发量的四成以上,而费用开销占到三成到四成之间,占比还是很高的,若把系统维护也放在内的话,测试费用占比会降低,但是这类似于在原有系统的基础上进行二次开发,所需要测试的内容和功能性测试也很多。
b) 测试的目的
系统软件测试的只有一个目的,就是通过测试尽可能发现系统内存在的错误,可以在系统内出错比较多的地方进行直接检查,还有系统内设计比较复杂可能会出错的地方。测试方法分为黑盒测试和白盒测试,技术要求比较高的是白盒测试,它是针对系统内部的代码,体系架构,逻辑安排,深层次进行检查测试,最终找到导致错误问题的根本所在;而黑盒测试是在不知道内部架构,不涉及代码的方面进行的,直接对系统软件的功能性能进行测试。在测试中如果没有找到问题的所在,则这种测试就失去了意义;最后通过测试发现的问题我们可以整理归纳错误的分布特征,帮助开发人员找出问题所在,在今后的开发中避免同样错误的出现,从而最终达到系统软件测试的目的,使软件能够成功上线并安全稳定的运行。
8.2 测试的步骤
在开发过程中,每个模块基本是相对独立开发的,同样对于测试来说也是按照固定的模块步骤进行的,每个步骤之间都有衔接性,是上一个步骤的延续,具有一定的逻辑性,每个小模块适用这种方法,而从系统整体的角度出发,测试则变得更为复杂,需要一定的逻辑步骤安排,所以主要有以下几个步骤组成:
a) 单个模块测试
主要检查每个功能模块,检查详细设计和代码编写中的错误,是属于局部性的。
b) 软件系统测试
该测试发现的问题通常是软件体系架构中的,需求说明中也有可能会出现错误。
c) 系统验收测试
在最后的验收阶段测试通常系统说明会有问题,需要在上线前仔细检查。
8.3 测试的主要内容
上面介绍了测试的目的和主要步骤,下面来说明一下测试所针对的主要内容,测试内容方面也具有一定的逻辑性,分为几个阶段:1.代码审查阶段、2.单元测试、3.集成测试阶段、4.系统测试阶段。下面详细介绍这几个阶段。
a) 单元测试
每个系统都含有不同的模块,称之为不同的单元,需要检查这些单元模块的功能是否符合实际需求,其中的编码是否有错误。
b) 集成测试
将不同模块集合起来同时测试,目的是测试各个模块之间的接口是否能够正确衔接,如果一个模块不能与两一个模块相结合,那么该模块就会失去实际作用,对系统造成严重的影响,影响功能的完整性,因此不能达到预期的功能效果;因为一个小的错误有可能导致整个数据的错误,这对开发人员和用户来说都是不能接受的,所以在单元测试的基础上集成测试是非常有必要存在的。
c) 确认测试
在上一步的集成测试完成之后,紧接着着的就是确认测试,目的是站在用户的角度来测试系统能否达到预期的效果,在各种会遇到的情况的前提下进行检查测试,模块之间的接口问题已经解决,剩下的是验证软件的有效性,软件的每个功能和需要达到的性能是否能够符合用户的期待,这就是确认测试的主要目的。
d) 系统测试
户籍信息管理系统开发完成后,需要与硬件进行配套运行测试,系统是否能与硬件相配合;系统的总体测试,测试的重点在迸发性测试、恢复性测试、、性能测试、强度测试、功能测试、安全测试。
经过上面的4个软件的测试步骤,本户籍管理系统已经基本符合用户的需求,可以正常的使用,测试成功完成。
8.4系统测试用例
a) 用户登录测试用例
系统用户登录测试用例如表8-1所示。
表8-1 用户登录用例
功能描述 |
管理员用户登录 |
|
测试目的 |
管理员用户登录中是否有不合规范 |
|
测试条件 |
管理员账号+密码表的数据已在数据库中 |
|
状态 |
预期结果 |
实际结果 |
不输入数据,直接点确定 |
显示“账号或密码错误” |
显示“账号或密码错误” |
错误输入账号/密码 |
显示“账号或密码错误” |
显示“账号或密码错误” |
正确输入账号+密码 |
进入主页面 |
进入主页面 |
b) 户籍信息查询测试用例。户籍信息查询测试用例如表8-2所示。
表8-2 列车查询用例
功能描述 |
户籍信息查询 |
|
测试目的 |
发现户籍信息查询功能中有可能会存在的问题 |
|
测试前提条件 |
SQL数据库中已经存放了有关户籍信息的表 |
|
查询状态 |
预期结果 |
实际结果 |
不输入户籍信息查询信息 |
显示“未输入查询信息” |
显示“未输入查询信息” |
不输入户籍所属小组信息 |
无显示结果 |
无显示结果 |
不输入“户主姓名”信息 |
无显示结果 |
无显示结果 |
不输入“户口类型”信息 |
无显示结果 |
无显示结果 |
输入完整的户籍信息 |
显示需要的户籍查询信息 |
显示需要的户籍查询信息 |
c) 管理员信息测试用例
管理员信息用例如表8-3所示。
表8-3 管理员信息用例
功能描述 |
管理员信息更改 |
|
测试目的 |
管理员信息变更是否有漏洞 |
|
条件 |
数据库中已有管理员表信息 |
|
测试状态 |
预期结果 |
实际结果 |
修改账号的密码两次输入不一致 |
显示“两次输入的密码不一致,重新输入” |
显示“两次输入的密码不一致,重新输入” |
删除管理员用户信息 |
“删除成功” |
“删除成功” |
9 结论与展望
9.1 设计结论
从去年确定毕业设计课题到具体实施阶段已经过去半年的时间,在这段时间里中是紧张而忙碌的,通过本次户籍管理系统的设计与实现,使我更加深刻地认识了本专业的理论基础、实践运用、技术处理的使用方法,将四年所学的知识融会贯通地使用,发挥出她的生产力的作用,从而最终到到学以致用的目的。
户籍管理系统是一门综合性很高的系统,它需要我了解各方面的知识,包括计算机领域、管理户籍的方式、系统统筹规划、数据处理分析、信息技术等,将其融为一体,本系统最终是以现代通信技术和计算机为基础的而统计和处理户籍信息,最终通过这种方式提高管理者的工作效率,改善工作方法,本系统采用的具体技术有JSP技术、Java语言、SQLServer数据库,Tomcat服务器,最终实现了预测功能、功能分析、功能控制、辅助设计、功能处理等, 因为本系统的开发工作是非常繁杂的系统工程,所以需要按照标准进行系统规划、分析、设计、实施、最后运行、测试这些开发步骤。
在户籍管理系统开发前应该首先了解系统有哪些特点,针对这些需要的特点去决定用户要使用一个什么样的系统,一级需要使用的范围是什么,只有在这些基本信息确定好后以此为基础在进行开发;在开发的过程中还要烤炉一些可行性的问题,包括经济的可行性,开发系统的成本需要多少;法律的可行性,在本户籍信息管理系统的开发中是否存在违反国家相关的法律法规,行业标准等;技术的可行性,从系统所需要的技术角度出发来审视用到的技术是否成熟可靠,技术难度能否在规定的时间内完成本次的系统设计;最后完成的系统还要确保健壮性、安全性、可靠性,支持一定程度的并发性等性能要求;最后是硬件性能是否符合系统要求,本户籍信息管理系统开发采用的是基于B/S模式的,个人PC机既作为服务端,同时也作为客户端,处理器采用的的是Intel i3,显卡采用AMD集成显卡,SQLServer数据库符合本系统的开发需求,因此所有的条件都符合的前提下才能够进行开发。在开发工作基本完成后,还需要进行性能测试,功能测试,下面的关于测试方面的内容已经在上一章节阐述完毕,系统的功能和性能等其他方面的指标基本符合要求,只是因为时间和技术等限制因素并不完备,仍然有待于后期的 完善与维护。
系统设计体会
在本次的系统设计开发过程中,我学习到了更多的关于户籍管理方面的知识,在技术角度方面有了更进一步的认识,包括JSP技术,SQL数据库的使用和设计,数据包括表的设计等方面,不一而足,在此过程中,不仅通过自学解了系统开发中所遇到的问题,而且激起了对软件开发更浓厚的兴趣,遇到问题不会逃避,而是通过百度,问身边的技术大牛等方式来解决,从百度中学习到了很多知识,老师同样也在我困难的时候作出指导,使我顺利度过困难,在这个过程中最重要的提升了我的自学能力,深入的理解了授人以鱼不如授人以渔的道理。让我在今后走入社会后更有信心和能力来面对各种问题。
9.2 课题展望
通过几个月的毕业设计,使我对系统开发真正有了进一步的认识,这是一个庞杂的工程想项目,不仅仅需要有扎实的理论基础,还需要有丰富的实践实战经验,这样才能更好地完成本次户籍管理系统的任务,本次系统设计的主要功能包括用户登录、户籍信息的登记、居民信息的查询、添加用户、修改/删除用户密码/登录记录、户籍信息的修改、迁入/迁出信息的登记等。由于设计时间和技术难度的局限性,有部分功能没有实现,并不完备,只能满足基本的对于户籍管理者的工作需求,我想在今后的户籍还需要添加社区概况、区域地图实时显示、财务信息管理、人事管理、事物管理、出生死亡登记注销等功能模块,是户籍管理系统更加完善,简化管理人员工作难度,提高工作效率,促进户籍信息管理的水平更进一步。
参考文献
[1] 刘亚军.数据库设计与应用[M].北京:清华大学出版社,2012.
[2] 侯友谊.Java与JSP基础[M].北京:中国铁道出版社,2007.
[3] 张海藩.软件工程导论(第四版)[M].北京:清华大学出版社,2013.
[4] 王国辉.Java数据库系统开发案例精选[M].北京:人民邮电出版社,2008.
[5] 赵明明.基于Eclipse平台的可视化软件架构建模环境[D].西安:电子科技大学,2011.
[6] 古丽米热·买买提.基于计算机软件开发的JAVA编程语言分析[D].新疆:新疆广播电视大学,2013.
[7] 陈锦伟.基于MySQL的空间数据库关键技术研究[D].南京:南京邮电大学,2013.
[8] 张筠.计算机网络可靠性分析与设计[D].杭州:浙江大学,2013.
[9] 王兆鹏.基于Web户籍信息管理系统的开发与设计[D].长春:吉林大学,2014 .
[10]李晓倩.社区户籍管理系统的设计与实现[D].成都:电子科技大学,2012.
致 谢
光阴似箭,时光荏苒,不知不觉学生时代即将结束;我也将正式走上社会,去开拓一块新的征程。在四年的时光里,回首往事,有无数的欢声笑语仍然历历在目,记忆犹新,仿佛就在昨天发生,曾经有过努力追求后而获得成功的喜悦,也有奋力争取而不可得的苦恼,然而所有的这些都随着时间的脚步离我远去,终将会尘封在我的记忆中,今后会经常拿出来回味这段美好的时光。首先在我前三年的大学时光里大部分的时间都奉献给了我们信息工程学院分团委,我把他作为自己的家来看待,感谢王源老师在我工作、生活和学习上的支持和帮助,感谢王爱军辅导员对我的 悉心栽培和教育,使我拥有更端正的人生态度;还有所有站在一线教学岗位的老师们,正是你们的兢兢业业的教育,才有了我们如今的知识,燃烧了自己,着凉了他人,感谢你们这思念之中所言传身教给我的一些。
户籍管理系统的设计与实现这项毕业设计需要应用到大学里所学的大部分知识和技能,使理论与实践相结合,将JSP技术、Java语言、Tomcat服务器、SQLServer数据库、Myeclipse集成开发环境综合起来,在此我要特别感谢韩立毛老师从毕业设计分组、课题的选择安排、每个阶段任务的把控监督、以及后期系统开发任务的检查,论文格式的具体要求都事无巨细的帮助我,使我在设计开发过程当中少走了很多弯路,韩老师这种认真负责人的态度让我肃然起敬,在今后的工作和生活当中,我也要以这种态度来对待事情,最后我真诚的表达我对韩立毛老师的敬重与感谢!
在十六年的求学过程中,与家人聚少离多,内心干到非常愧疚,父母已经养育了我二十年,不仅在物质上给予我支持,而且在精神上给与我鼓励与安慰,使我能够坦然面对生活的得意与失意,我想在今后的生活中我就是你们的港湾,我会用行动表达我的感恩之情。我还要感谢我身边的朋友刘宗周、韩亚根、吴英姿、朱迪等,他们在我毕设遇到困难的时候给与我鼓励与帮助,让我顺利度过困难,迎接下一个挑战。
最后,感谢我的母校盐城工学院给我带来了大学四年的美好时光,这是我人生中最美的记忆;在母校走得每一步路,上的每一节课,听的每一首歌,打的每一场球,都会永远深深烙印在我的青春纪念册中。
二〇一六年六月四日
户籍管理系统的设计与实现相关推荐
- 户籍管理系统的设计与实现(论文+PPT+源码)
摘 要 当今社会人们生活质量越来越高,人们对生活品质的追求不断提升,对于孩子求学,变更住所等情况时有发生,因此对于户籍变动管理就显得十分重要,管理用户的户籍信息可以有效防止信息错乱,信息管理过程中出现 ...
- 毕业设计 基于java web的户籍管理系统的设计与实现
文章目录 一.项目设计 1. 模块设计 户籍管理员设计 用户系统设计 2. 实现效果 二.部分源码 项目源码 一.项目设计 1. 模块设计 户籍管理员设计 1.用户信息管理模块:主要是管理用户的基本注 ...
- Java、JSP户籍管理系统的设计与实现
技术:Java.JSP等 摘要: 当今社会人们生活质量越来越高,人们对生活品质的追求不断提升,对于孩子求学,变更住所等情况时有发生,因此对于户籍变动管理就显得十分重要,管理用户的户籍信息可以有效防止信 ...
- 基于Jsp+Servlet的户籍管理系统(JavaWeb毕业设计、课程设计)
项目类型:JAVA WEB项目 项目名称:基于Jsp+Servlet的户籍管理系统 用户类型:2个角色(管理员+用户) 系统类型:后台管理系统 设计模式:jsp+Servlet+MVC 开发工具:E ...
- 基于Java的敬老院管理系统的设计和实现(论文+PPT+源码)
分类号_______________ 密级________________ UDC _______________ 学号_ ___ 毕业设计(论文) 毕业设计(论文)任务书 第1页 毕业设计(论文)题 ...
- 基于javaweb的社区居民户籍管理系统(java+ssm+jsp+js+html+mysql)
基于javaweb的社区居民户籍管理系统(java+ssm+jsp+js+html+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/my ...
- C语言函数及复杂数据结构的综合应用——简单户籍管理系统
最全C系列题目!从0到管理系统 一.C语言数据类型及输出--体重是否正常.球的体积.计算存银行利息and浮点数长度与精度 二.C语言运算符与表达式--输出逆序数and二进制包含0和1的数量and判断是 ...
- 【项目精选】户籍管理系统(视频+论文+源码)
点击下载源码 当今社会人们生活质量越来越高,人们对生活品质的追求不断提升,对于孩子求学,变更住所等情况时有发生,因此对于户籍变动管理就显得十分重要,管理用户的户籍信息可以有效防止信息错乱,信息管理过程 ...
- java计算机毕业设计汽车售后服务信息管理系统的设计与实现源程序+mysql+系统+lw文档+远程调试
java计算机毕业设计汽车售后服务信息管理系统的设计与实现源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计汽车售后服务信息管理系统的设计与实现源程序+mysql+系统+lw文档+远 ...
- [附源码]SSM计算机毕业设计户籍管理系统JAVA
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
最新文章
- mx3 android 5.1,魅族MX3揭晓:猎户座处理器5.1寸屏幕
- 【Android 组件化】路由组件 ( 路由组件结构 )
- MySQL是自主可控的吗_国产处理器那么多,究竟有哪些,是真正的“自主可控”?...
- 一起谈.NET技术,VS2010测试功能之旅:编码的UI测试(2)-操作动作的录制原理(下)...
- swt 键盘事件ctrl+c_跑Python的键盘可以很强大
- 谷歌移动应用强调设计元素:向极简风格转型
- Android测试——在Python中如何将Windows程序前台显示
- ue4渲染速度太慢_技术汇丨如何在UE4中实现最佳性能和高质量视觉效果
- Codeforces 439E Devu and Birthday Celebration 容斥
- vue-amap详细使用教程
- 属性变量,实例变量,全局变量
- 如何找到网站服务器的源代码_如何花3-5分钟找到网站Bug?
- 如何快速分享CAD图纸?CAD图纸怎么加密?
- 局域网计算机文件共享推理,行测技巧:类比推理的“第二规律”
- 医学方面的创业计划书_医学生创业计划书怎么写
- 联想服务器x86系统,联想接盘IBMX86服务器:未来成败在哪里? - 米扑博客
- unix系统病毒概述(转)
- [RK3399][Android7.1] Display中的VOP模块介绍
- 景观格局指数计算方法及代表的生态学意义(待补充)
- CCF计算机软件能力认证试题练习:201612-2 工资计算