人口户籍管理系统.docx
《人口户籍管理系统.docx》由会员分享,可在线阅读,更多相关《人口户籍管理系统.docx(25页珍藏版)》请在冰豆网上搜索。
人口户籍管理系统
大型数据库技术设计报告
题目:
常德市人口户籍管理系统
学生姓名:
余智文
学号:
201217010152
专业班级:
计算机科学与技术12101班
同组姓名:
朱永波
指导教师:
丁一
设计时间:
2015年下学期
指导老师意见:
评定成绩:
签名:
日期:
目录
一、系统概述与任务要求2
二、系统需求分析2
数据描述2
系统接口说明8
功能需求分析8
性能需求8
系统开发可行性分析8
三、系统数据模型分析与设计9
四、数据库详细分析10
数据库逻辑结构设计10
五、系统功能模块分析与设计11
系统总体结构图12
各子系统功能分析12
六、参考文献16
七、附录、系统主要程序源代码16
常德市户籍管理信息系统
一、系统概述与任务要求
随着城市人口规模的扩大和公安部门对城市及农村人口管理工作规范性的逐渐增强,户籍管理工作的业务量急剧增大。
传统的手工方法,存在效率低、易出错等缺点,已经难以满足当前户籍管理工作的要求。
因此,结合当前日益成熟的计算机相关技术,开发一个专门针对户籍管理的系统已经非常必要了。
户籍管理信息系统是公安部门不可缺少的一部分,更是适应现代户籍制度并推动户籍管理走向科学化、规范化、自动化的必要条件。
该管理系统能够为用户提供充足的信息和快捷的查询手段,以帮助用户了解户籍工作的情况。
它大大改善了公安部门管理、查询户籍的基础工作环境,在一定程度上反映出户籍管理的现代化管理模式。
因此人口户籍管理信息系统的开发迫在眉睫。
任务要求:
本组两人共同分析需求,共同设计概念结构余逻辑结构。
组长负责户口信息、户口迁出入和系统用户;组员则负责人口管理表和人口迁出入管理。
数据库代码部分,由两人共同完成创建数据库和创建数据表部分,剩余内容分两部分,组长负责登录数据库添加用户和迁出入;组员负责登录数据库的查询、统计备份。
二、系统需求分析
数据描述
数据流图
数据字典
数据流的描述
数据流编号:
D—01
数据流名称:
户口登记
简述:
户籍民警对常住人员的资料进行登记
数据流来源:
户籍民警登记
数据流去向:
迁入管理模块、迁出管理模块、注销管理模块
数据项组成:
户号+登记日期+户别+户主姓名+家庭住址+与户主关系+身份证号+性别+籍贯+出生日期+出生地+工作单位+民族+婚姻状况+文化程度
数据流量:
约3人/天高峰流量:
约5人/天
数据流编号:
D—02
数据流名称:
户口迁入管理
简述:
户籍民警对迁入本区的户口资料进行登记
数据流来源:
户籍民警登记
数据流去向:
迁入管理模块
数据项组成:
户号+登记日期+户别+户主姓名+家庭住址+与户主关系+身份证号+性别+民族+婚姻状况+籍贯+出生日期+出生地+工作单位+文化程度
数据流量:
约10户/日高峰流量:
约15户/日
数据流编号:
D—03
数据流名称:
人口迁入管理
简述:
户籍民警对迁入本区的人口资料进行登记
数据流来源:
户籍民警登记
数据流去向:
迁入管理模块
数据项组成:
此人所属户的户号+添加一个新人到所属户+迁入一个新人到所属+姓名+身份证号+性别+籍贯+出生日期+出生地+文化程度+职业+工作单位
数据流量:
约30人/天高峰流量:
约50人/天
数据流编号:
D—04
数据流名称:
户口迁出管理
简述:
户籍民警对本区的户口迁出工作进行操作
数据流来源:
户籍民警登记
数据流去向:
迁出管理模块
数据项组成:
户号+登记日期+户别+户主姓名+家庭住址+迁入日期+自何地迁入+迁出日期+迁出到何地
数据流量:
约5户/天高峰流量:
约10户/天
数据流编号:
D—05
数据流名称:
人口迁出管理
简述:
户籍民警对本区的人口迁出工作进行操作
数据流来源:
户籍民警登记
数据流去向:
迁出管理模块
数据项组成:
所属户号+姓名+与户主关系+身份证号+性别+民族+籍贯+出生日期+出生地+文化程度+婚姻状况+职业+工作单位+迁入日期+自何地迁入+迁出日期+迁出到何地
数据流量:
约10人/天高峰流量:
约15人/天
数据流编号:
D—06
数据流名称:
户口注销管理
简述:
户籍民警对本区户口的注销工作进行操作
数据流来源:
户籍民警登记
数据流去向:
注销管理模块
数据项组成:
户号+登记日期+户别+户主姓名+家庭住址+迁入日期+自何地迁入
数据流量:
约1户/天高峰流量:
约3户/天
数据流编号:
D—07
数据流名称:
人口注销管理
简述:
户籍民警对本区人口的注销工作进行操作
数据流来源:
户籍民警登记
数据流去向:
注销管理模块
数据项组成:
所属户号+姓名+与户主关系+身份证号+性别+民族+籍贯+出生日期+出生地+文化程度+婚姻状况+职业+工作单位+迁入日期+自何地迁入
数据流量:
约3人/天高峰流量:
约5人/天
数据流编号:
D—08
数据流名称:
密码管理
简述:
系统管理员或用户本人可对使用本系统的用户的密码进行管理
数据流来源:
系统用户登记注册
数据流去向:
系统管理模块
数据项组成:
用户名+旧密码+新密码+密码确认
数据流编号:
D—09
数据流名称:
用户管理
简述:
户籍民警对可以获得本系统使用权限的用户的管理
数据流来源:
用户登记
数据流去向:
系统管理模块
数据项组成:
新增用户名+用户密码+密码确认
数据逻辑的描述
处理逻辑编号:
P—01
处理逻辑名称:
户口登记审核
简述:
审查常住户报告的人员资料是否填写正确
输入的数据流:
户口登记
处理描述:
常住户报告的家庭人数、年龄及出生日期、出生地等信息是否属实。
不正确的信息返回常住户,正确的转给登记人员登记资料、储存。
输出的数据流:
正确的信息、不确切的信息
处理逻辑编号:
P—02
处理逻辑名称:
迁入户口/人口审核
简述:
审核迁入户口/人口的信息资料是否正确
输入的数据流:
迁入人口/户口信息
处理描述:
迁入户口/人口所填报的信息如:
所属户号、姓名、年龄、职业等是否正确。
不正确的信息返回流动人员重新填报,正确的转给登记人员登记资料、储存。
输出的数据流:
正确的信息、不正确的信息
处理逻辑编号:
P—03
处理逻辑名称:
迁出户口/人口审核
简述:
审核迁出户口/人口信息资料是否正确
输入的数据流:
迁出户口/人口信息
处理描述:
迁出户口/人口所填报的信息如:
户号、姓名、身份证号等是否正确。
不正确的信息返回流动人员重新填报,正确的转给登记人员登记资料、储存。
输出的数据流:
正确的信息、不正确的信息
处理逻辑编号:
P—04
处理逻辑名称:
注销户口/人口审核
简述:
审核注销户口/人口信息资料是否正确
输入的数据流:
注销户口/人口信息
处理描述:
注销户口/人口信息资料是否正确。
不正确的信息返回操作人员核对,正确的转给登记人员登记资料、储存。
输出的数据流:
正确的信息、不正确的信息
处理逻辑编号:
P—05
处理逻辑名称:
用户信息审核
简述:
审核用户登记信息是否正确
输入的数据流:
用户名、密码
处理描述:
用户名及密码填充是否正确。
不正确的返回用户重新填写,正确的由管理员进行登记、存储。
输出的数据流:
正确的信息、不正确的信息
(1)数据存储的描述
数据存储编号:
F—01
数据存储名称:
用户登记
简述:
户口登记
数据存储组成:
户号+登记日期+户别+户主姓名+家庭住址+与户主关系+身份证号+性别+籍贯+出生日期+出生地+工作单位+民族+婚姻状况+文化程度
数据存储编号:
F—02
数据存储名称:
迁入户口/人口信息登记
简述:
迁入户口/人口各项信息的登记及资料统计
数据存储组成:
户号+登记日期+户别+户主姓名+家庭住址+与户主关系+身份证号+性别+民族+婚姻状况+籍贯+出生日期+出生地+工作单位+文化程度
数据存储编号:
F—03
数据存储名称:
迁出户口/人口信息登记
简述:
迁出户口/人口各项信息的登记及资料统计
数据存储组成:
户号+登记日期+户别+户主姓名+家庭住址+与户主关系+身份证号+性别+民族+婚姻状况+籍贯+出生日期+出生地+工作单位+文化程度
数据存储编号:
F—04
数据存储名称:
注销户口/人口信息登记
简述:
注销户口/人口各项信息的登记及资料统计
数据存储组成:
户号+登记日期+户别+户主姓名+家庭住址+与户主关系+身份证号+性别+民族+婚姻状况+籍贯+出生日期+出生地+工作单位+文化程度
数据存储编号:
F—05
数据存储名称:
系统用户的用户名及密码登记
简述:
系统用户的用户名名及密码的登记及资料统计
数据存储组成:
用户名+密码
(2)外部实体的描述
外部实体编号:
S—01
外部实体名称:
户口/人口
简述:
人员流动
功能需求分析
本系统采用自定向下方法开发,其功能模块主要有如下几个部分:
系统管理模块;迁入信息管理模块;迁出信息管理模块;注销信息模块管理;信息查询模块以及系统维护。
具体的功能描述如下:
迁入信息管理:
其功能是对迁入人口信息进行管理,收集、分类迁入人员情况,并进行相关查询。
迁出信息管理:
其功能是对迁出人口信息进行管理,收集、分类迁出人员情况,并进行相关查询。
注销信息管理:
其功能是对人员的注销及户口的注销情况进行管理,并进行相关查询。
系统管理:
其功能是为系统的使用者进行帐户和密码管理。
数据精确度
户口的户别、户主姓名、户号、住址、何地迁入、是否已迁出选用文本格式;登记日期及迁入日期选用时间日期型类型。
时间特性
该管理系统软件从启动到进入系统登录界面的时间正常情况下少于5秒,录入并更新数据的时间正常情况下少于10秒。
适用性
该管理系统软件适用于Windows98/Windows2000/WindowsMe/WindowsXP中文版下运行。
可行性分析
技术可行性
数据库技术在计算机软件邻域研究中一直是非常重要的主题。
近年来,随着WorldWideWeb(WWW)的猛增及Internet技术的迅速发展,数据库技术成为最热门技术之一。
经济可行性
系统设计并运行于当前流行的Windows系列操作系统,具有Windows传统的操作风格,对系统没有其它额外的要求。
系统投入使用后,很明显就是提高了户籍管理的工作效率,减轻了劳动量,改善了工作环境,有利于户籍民警发挥工作热情。
总之,系统具有较好的运营可行性。
综上所述,开发一个专门的《户籍管理系统》是可行的。
三、系统数据模型分析与设计
1)户口迁入信息E-R图
2)户口迁出信息E-R图
3)人口迁入信息E-R图
4)人口迁出信息E-R图
四、数据库详细分析
数据库逻辑结构设计
本系统数据库是由SQLServer2000数据库系统支持建立的,所以现在需要将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构.在上面的试题以及实体之间关系的基础上,形成数据库中表以及各个表之间的关系。
户籍管理系统数据库中各个表格的设计结果如下面的几个表示。
每个表表示在数据库中的一个数据表。
表一户口信息表
列名
数据类型
可否为空
ID(主键)
自动编号
NOTNULL
户别
文本
NOTNULL
户主姓名
文本
NOTNULL
户号
数字
NOTNULL
住址
文本
NOTNULL
登记日期
日期/时间
NOTNULL
迁入日期
日期/时间
NOTNULL
何地迁入
文本
NOTNULL
是否已迁出
文本
NOTNULL
表二户口迁出信息表
列名
数据类型
可否为空
ID(主键)
自动编号
NOTNULL
迁出日期
日期/时间
NOTNULL
迁往何地
文本
NOTNULL
户号
数字
NOTNULL
户主姓名
文本
NOTNULL
表五系统用户表
列名
数据类型
可否为空
ID(主键)
自动编号
NOTNULL
用户名
文本
NOTNULL
密码
文本
NOTNULL
五、系统功能模块分析与设计
系统总体结构图
系统用户管理模块
系统用户模块主要实现:
用户登陆;添加用户;修改用户密码。
功能:
本模块的主要功能是对用户身份进行验证,只有系统的合法用户才能进入系统,并进行用户管理,包括添加用户和修改用户密码。
用户进入系统登陆界面(如图)
在进行系统登陆过程中,登陆模块将调用数据库里的用户数据表,并对用户名和密码进行验证,只有输入了正确的用户名和密码后,系统登陆才会成功。
在登陆模块中,对系统的尝试登陆次数进行了限制,禁止用户无终止的进行系统登陆尝试,在本系统中,当用户对系统的三次登陆失败后,系统将自动禁止登陆,退出登陆模块。
并在输入了错误的或者是不存在的用户名和密码时,系统会给出出错信息提示,指明登陆过程中的错误输入或错误操作,以便用户进行正确的登陆。
输入项、输出项:
输入项为用户名和密码。
用户名和密码均为字符串,最大长度为10个字符,密码以“*”号显示(英文和数字算一个字符,汉字算两个字符)。
程序逻辑:
系统登陆流程图如图二所示:
当用户输入的用户名、密码与数据库中储存的用户用表中数据一致时,用户将进入系统操作界面(如图)
点击如图三中系统管理下拉菜单下的“添加用户”按钮(如图四)即可出现添加用户窗体(如图),在此窗体中,用户可添加新的授权使用本系统的用户的用户名及密码
用户需要两次输入密码,用来确保输入密码的正确,用户密码输入信息完毕,单击“确定”,系统将首先查询数据库中与新建用户名相同的记录,如果有相同记录将提示用户重新输入用户名。
当确定数据库中没有相同的用户名,并且两次输入密码一致时将把该条记录添加到数据库中。
单击“取消”按钮将取消添加用户的操作。
用户可以按照此方法修改自己的密码,选择菜单“系统管理/修改密码”,然后在出现的对话框中两次输入新的密码后,单击“确认”按钮,当两次输入密码们一致时,数据库中记录将更新。
系统管理员可以通过此方点击下拉菜单中的“删除用户”来删除用户,被删除的用户不再享有进入本系统进行操作的权限。
接口:
本模块为顶级模块,按确定按钮时,如果输入的用户名和密码正确,将调用系统主窗体模块,进入系统主窗体。
存储分配:
在用户按下确定按钮时,将读取存储用户名和密码的数据表,以对用户名和密码进行验证。
测试要点:
本模块有如下几个测试要点,按下确定按钮时,是否能正确读取存储用户名和密码的数据表;如果用户名和密码正确,是否能进入系统主窗体;当输入用户名或密码错误时,是否能弹出信息框,给用户提示。
迁入信息管理模块
添加迁入人员及其户口信息;
修改迁入人员及其户口信息;
查询迁入人员及其户口信息。
单击“户籍管理”下拉菜单中的“添加或迁入户口”选项出现“户口登记”对话框(如图)在此对话框中即可实现对户号、户别、户主姓名、家庭地址等信息的添加;单击“户籍管理”下拉菜单中的“添加或迁入人口”选项出现“添加或迁入人口验证”对话框,在该对话框中操作员只需输入此人所属户的户号,并进行“添加一个新人口到所属户”或“迁入一个新人口到所属户”的选项执行操作,亦可输入所属户户主身份证号直接查询所自户号。
迁出信息管理模块
添加迁出人员及其户口信息;
修改迁出人员及其户口信息;
查询查询人员及其户口信息;
单击“户籍管理”下拉菜单中的“迁出户口”或“迁出人口”选项即会出现相应的对话框:
“迁出户口”对话框(如图七)和“迁出人口”对话框(如图八),操作员只需输入迁出的户号或迁出人员的身份证号即可执行相应的操作。
注销信息管理模块
户口注销、人口注销;
单击“户籍管理”下拉菜单的“户口注销”或“人口注销”选项即会出现相应的会话框:
“注销户口”对话框和“注销人口”对话框,操作员只需输入注销的户号或注销人员的身份证号即可执行相应的操作。
六、参考文献
[1]廖彬山,黄维通.VisualBasic面向对象与可视化程序设计[M].北京:
清华大学出版社,2002.
[2] 周绪,管吏娜,白海波.SQLServer2000中文版入门与提高[M].北京:
清华大学出版社,2003.
[3]郑阿奇.VB实用教程.北京:
电子工业出版社
[4]郭胜,夏邦贵.VisualBasic数据库开发入门与范例解析[M].
北京:
机械工业出版社,2001.
七、附录、系统主要程序源代码
一.登陆系统
OptionExplicit
PrivateSubCommcancel_Click()
End
EndSub
PrivateSubCommok_Click()
DimusernameAsString
DimpasswordAsString
Dimlocal_dbAsString
DimCnnAsNewADODB.Connection
DimrstAsNewADODB.Recordset
IfText1.Text=""Then
MsgBox"请输入用户名",,"警告"
Text1.SetFocus
Else
IfText2.Text=""Then
MsgBox"请输入密码",,"警告"
Text2.SetFocus
EndIf
IfText1.Text<>""AndText2.Text<>""Then
SetCnn=NewADODB.Connection
Setrst=NewADODB.Recordset
Cnn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+App.Path&"\data\db.mdb"+";PersistSecurityInfo=False;"'连接数据库
username=Trim(Text1.Text)
password=Text2.Text
local_db="select用户名from用户表"+_
"where用户表.用户名="+"'"+_
username+"'"
rst.Openlocal_db,Cnn
IfNot(rst.BOFAndrst.EOF)Then
rst.Close
local_db="select密码from用户表"+_
"where用户表.用户名="+"'"+_
username+"'and"+_
"用户表.密码="+"'"+password+"'"
rst.Openlocal_db,Cnn
IfNot(rst.BOFAndrst.EOF)Then
userid=Text1.Text
Unloadfrmdl
Ifusername="admin"Then
mainfrm.xitong.Enabled=True
mainfrm.bdb.Enabled=True
Else
mainfrm.xitong.Enabled=False
mainfrm.bdb.Enabled=False
EndIf
mainfrm.Show
Else
MsgBox"您输入的密码不正确,请重新输入!
",,"警告"
Text2.Text=""
Text2.SetFocus
EndIf
Else
MsgBox"系统中无此用户",,"警告"
Text1.Text=""
Text1.SetFocus
EndIf
EndIf
EndIf
EndSub
二.添加用户
PrivateSubCommcancel_Click()
frmzj.Hide
Text1.Text=""
Text2.Text=""
Text3.Text=""
mainfrm.guanli.Enabled=True
mainfrm.chaxun.Enabled=True
mainfrm.tongji.Enabled=True
Ifuserid="admin"Then
mainfrm.xitong.Enabled=True
mainfrm.bdb.Enabled=True
Else
mainfrm.xitong.Enabled=False
mainfrm.bdb.Enabled=False
EndIf
GetStatus"<就绪>"
EndSub
PrivateSubCommok_Click()
DimCnnAsNewADODB.Connection
DimretAsNewADODB.Recordset
Dimlocal_dbAsString
DimusernameAsString
DimpasswordAsString
IfText1.Text=""Then
MsgBox"用户名不能为空",,"警告"
Text1.SetFocus
Else
IfText2.Text=""Then
MsgBox"密码不能为空",,"警告"
Text2.SetFocus
Else
IfText3.Text=""Then
MsgBox"请确认密码",,"警告"
Text3.SetFocus
EndIf
EndIf
EndIf
IfText2.Text=Text3.TextThen
IfText1.Text<>""AndText2.Text<>""AndText3.Text<>""Then
username=Trim(Text1.Text)
password=Text2.Text
SetCnn=NewADODB.Connection
Setret=NewADODB.Recordset
Cnn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+App.Path&"\data\db.mdb"+";PersistSecurityInfo=False;"'连接数据库
local_db="select用户名from用户表"+_
"where用户表.用户名="+"'"+username+"'"
ret.Openlocal_db,Cnn
IfNot(ret.EOFAndret.BOF)Then
ret.Close
MsgBox"对不起,此用户已存在",,"警告"
Text1.SetFocus
Else
ret.Close
local_db="insertinto用户表(用户名,密码)"+_
"values("+"'"+username+"',"+"'"+password+"')"
Cnn.Executelocal_db
MsgBox"新用户添加成功!
",,"提示"
frmzj.Hide
Text1.Text=""
Text2.Text=""
Text3.Text="