.目录
人口户籍管理信息系统
随着城市人口规模的扩大和公安部门对城市及农村人口管理工作规范性的逐渐增强,户籍管理工作的业务量急剧增大。传统的手工方法,存在效率低、易出错等缺点,已经难以满足当前户籍管理工作的要求。
因此,结合当前日益成熟的计算机相关技术,开发一个专门针对户籍管理的系统已经非常必要了。户籍管理信息系统是公安部门不可缺少的一部分,更是适应现代户籍制度并推动户籍管理走向科学化、规范化、自动化的必要条件。该管理系统能够为用户提供充足的信息和快捷的查询手段,以帮助用户了解户籍工作的情况。它大大改善了公安部门管理、查询户籍的基础工作环境,在一定程度上反映出户籍管理的现代化管理模式。因此人口户籍管理信息系统的开发迫在眉睫。
2.1.1数据流图
2.1.2数据字典
(1) 数据流的描述
数据流编号: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
数据流名称:用户管理
简 述:管理员对可以获得本系统使用权限的用户的管理
数据流来源:用户登记
数据流去向:系统管理模块
数据项组成:新增用户名+用户密码+密码确认
(2) 数据逻辑的描述
处理逻辑编号:P—01
处理逻辑名称:户口登记审核
简 述:审查常住户报告的人员资料是否填写正确
输入的数据流:户口登记
处理描述:常住户报告的家庭人数、年龄及出生日期、出生地等信息是否属实。不正确的信息返回常住户,正确的转给登记人员登记资料、储存。
输出的数据流:正确的信息、不确切的信息
处理逻辑编号:P—02
处理逻辑名称:迁入户口/人口审核
简 述:审核迁入户口/人口的信息资料是否正确
输入的数据流:迁入人口/户口信息
处理描述:迁入户口/人口所填报的信息如:所属户号、姓名、年龄、职业等是否正确。不正确的信息返回流动人员重新填报,正确的转给登记人员登记资料、储存。
输出的数据流:正确的信息、不正确的信息
处理逻辑编号:P—03
处理逻辑名称:迁出户口/人口审核
简 述:审核迁出户口/人口信息资料是否正确
输入的数据流:迁出户口/人口信息
处理描述:迁出户口/人口所填报的信息如:户号、姓名、身份证号等是否正确。不正确的信息返回流动人员重新填报,正确的转给登记人员登记资料、储存。
输出的数据流:正确的信息、不正确的信息
处理逻辑编号:P—04
处理逻辑名称:注销户口/人口审核
简 述:审核注销户口/人口信息资料是否正确
输入的数据流:注销户口/人口信息
处理描述:注销户口/人口信息资料是否正确。不正确的信息返回操作人员核对,正确的转给登记人员登记资料、储存。
输出的数据流:正确的信息、不正确的信息
处理逻辑编号:P—05
处理逻辑名称:用户信息审核
简 述:审核用户登记信息是否正确
输入的数据流:用户名、密码
处理描述:用户名及密码填充是否正确。不正确的返回用户重新填写,正确的由管理员进行登记、存储。
输出的数据流:正确的信息、不正确的信息
(3) 数据存储的描述
数据存储编号:F—01
数据存储名称:用户登记
简 述:户口登记
数据存储组成:户号+登记日期+户别+户主姓名+家庭住址+与户主关系+身份证号+性别 +籍贯+出生日期+出生地+工作单位+民族+婚姻状况+文化程度
数据存储编号:F—02
数据存储名称:迁入户口/人口信息登记
简 述:迁入户口/人口各项信息的登记及资料统计
数据存储组成:户号+登记日期+户别+户主姓名+家庭住址+与户主关系+身份证号+性别 +民族+婚姻状况+籍贯+出生日期+出生地+工作单位+文化程度
数据存储编号:F—03
数据存储名称:迁出户口/人口信息登记
简 述:迁出户口/人口各项信息的登记及资料统计
数据存储组成:户号+登记日期+户别+户主姓名+家庭住址+与户主关系+身份证号+性别 +民族+婚姻状况+籍贯+出生日期+出生地+工作单位+文化程度
数据存储编号:F—04
数据存储名称:注销户口/人口信息登记
简 述:注销户口/人口各项信息的登记及资料统计
数据存储组成:户号+登记日期+户别+户主姓名+家庭住址+与户主关系+身份证号+性别 +民族+婚姻状况+籍贯+出生日期+出生地+工作单位+文化程度
数据存储编号:F—05
数据存储名称:系统用户的用户名及密码登记
简 述:系统用户的用户名名及密码的登记及资料统计
数据存储组成:用户名+密码
(4) 外部实体的描述
外部实体编号:S—01
外部实体名称:户口/人口
简 述:人员流动
运行本系统的硬件基本要求如下:
CPU:至少Pentium400以上,建议使用Pentium800以上;
内存:至少32M以上,建议使用64M以上;
硬盘:至少20M硬盘空间;
显示器:14″显示器;
其它:键盘、鼠标、1.44MB软驱和光驱等。
内部接口
本系统,在打包成setup.exe后,能够在Windows 系统各版本中运行。
本系统采用自定向下方法开发,其功能模块主要有如下几个部分:系统管理模块;迁入信息管理模块;迁出信息管理模块;注销信息模块管理;信息查询模块以及系统维护。具体的功能描述如下:
迁入信息管理:其功能是对迁入人口信息进行管理,收集、分类迁入人员情况,并进行相关查询。
迁出信息管理:其功能是对迁出人口信息进行管理,收集、分类迁出人员情况,并进行相关查询。
注销信息管理:其功能是对人员的注销及户口的注销情况进行管理,并进行相关查询。
系统管理:其功能是为系统的使用者进行帐户和密码管理。
2.3.1性能需求
(1)数据精确度
户口的户别、户主姓名、户号、住址、何地迁入、是否已迁出选用文本格式;登记日期及迁入日期选用时间日期型类型。
(2)时间特性
该管理系统软件从启动到进入系统登录界面的时间正常情况下少于5秒,录入并更新数据的时间正常情况下少于10秒。
(3)适用性
该管理系统软件适用于Windows 98/Windows 2000/Windows Me/Windows XP中文版下运行。
(1)窗体特性
本系统采用Visual Basic 6.0开发软件制作,其窗体都是采用弹出式浮动窗体,在运行系统时,首先就是登陆窗口,进入系统之后就是典型的下拉式主窗体,其下拉菜单为各系统模块的相关子模块。
(2)输入输出时间
输入输出时间格式为年月日(YY-MM-DD)。
(1)技术可行性
数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,40多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,数据库技术成为最热门技术之一。
面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。开发一个软件是为了解决某些问题,这些问题所涉及的业务范围称作该软件的问题域。其应用领域不仅仅是软件,还有计算机体系结构和人工智能等。许多程序开发工具,如Delphi、Java等等,都支持面向对象的程序开发。
(2)经济可行性
系统设计并运行于当前流行的Windows系列操作系统,具有Windows传统的操作风格,对系统没有其它额外的要求。目前工作人员都有操作电脑的能力,通过提供一定的培训,都能够熟练操作管理系统。系统投入使用后,很明显就是提高了户籍管理的工作效率,减轻了劳动量,改善了工作环境,有利于工作人员发挥工作热情。总之,系统具有较好的运营可行性。
综上所述,开发一个专门的《户籍管理系统》是可行的。
1)户口迁入信息E-R图
word/media/image3_1.png
2)户口迁出信息E-R图
3)人口迁入信息E-R图
word/media/image6_1.png
4)人口迁出信息E-R图
本系统数据库是由SQL Server 2000数据库系统支持建立的,所以现在需要将上面的数据库概念结构转化为SQL Server 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构.在上面的试题以及实体之间关系的基础上,形成数据库中表以及各个表之间的关系。
户籍管理系统数据库中各个表格的设计结果如下面的几个表示。每个表表示在数据库中的一个数据表。
表一 户口信息表
表二 户口迁出信息表
表三 人口信息表
表四 人 口 迁 出 表
表五 系统用户表
5.2.1系统用户管理模块
系统用户模块主要实现:用户登陆;添加用户;修改用户密码。
功能:本模块的主要功能是对用户身份进行验证,只有系统的合法用户才能进入系统,并进行用户管理,包括添加用户和修改用户密码。
用户进入系统登陆界面(如图一)
(图一 系统登陆界面)
在进行系统登陆过程中,登陆模块将调用数据库里的用户数据表,并对用户名和密码进行验证,只有输入了正确的用户名和密码后,系统登陆才会成功。在登陆模块中,对系统的尝试登陆次数进行了限制,禁止用户无终止的进行系统登陆尝试,在本系统中,当用户对系统的三次登陆失败后,系统将自动禁止登陆,退出登陆模块。并在输入了错误的或者是不存在的用户名和密码时,系统会给出出错信息提示,指明登陆过程中的错误输入或错误操作,以便用户进行正确的登陆。
输入项、输出项:输入项为用户名和密码。用户名和密码均为字符串,最大长度为10个字符,密码以“*”号显示(英文和数字算一个字符,汉字算两个字符)。
程序逻辑:系统登陆流程图如图二所示:
(图二 系统登陆流程图)
当用户输入的用户名、密码与数据库中储存的用户用表中数据一致时,用户将进入系统操作界面(如图三)
(图三 系统操作界面)
点击如图三中系统管理下拉菜单下的“添加用户”按钮(如图四)即可出现添加用户窗体(如图五),在此窗体中,用户可添加新的授权使用本系统的用户的用户名及密码
(图四)
(图五 添加用户窗体)
用户需要两次输入密码,用来确保输入密码的正确,用户密码输入信息完毕,单击“确定”,系统将首先查询数据库中与新建用户名相同的记录,如果有相同记录将提示用户重新输入用户名。当确定数据库中没有相同的用户名,并且两次输入密码一致时将把该条记录添加到数据库中。
单击“取消”按钮将取消添加用户的操作。
用户可以按照此方法修改自己的密码,选择菜单“系统管理/修改密码”,然后在出现的对话框中两次输入新的密码后,单击“确认”按钮,当两次输入密码们一致时,数据库中记录将更新。
系统管理员可以通过此方点击下拉菜单中的“删除用户”来删除用户,被删除的用户不再享有进入本系统进行操作的权限。
接口:本模块为顶级模块,按确定按钮时,如果输入的用户名和密码正确,将调用系统主窗体模块,进入系统主窗体。
存储分配:在用户按下确定按钮时,将读取存储用户名和密码的数据表,以对用户名和密码进行验证。
测试要点:本模块有如下几个测试要点,按下确定按钮时,是否能正确读取存储用户名和密码的数据表;如果用户名和密码正确,是否能进入系统主窗体;当输入用户名或密码错误时,是否能弹出信息框,给用户提示。
5.2.2迁入信息管理模块
添加迁入人员及其户口信息;
修改迁入人员及其户口信息;
查询迁入人员及其户口信息。
单击“户籍管理”下拉菜单中的“添加或迁入户口”选项出现“户口登记”对话框(如图六)在此对话框中即可实现对户号、户别、户主姓名、家庭地址等信息的添加;单击“户籍管理”下拉菜单中的“添加或迁入人口”选项出现“添加或迁入人口验证”对话框,在该对话框中操作员只需输入此人所属户的户号,并进行“添加一个新人口到所属户”或“迁入一个新人口到所属户”的选项执行操作,亦可输入所属户户主身份证号直接查询所自户号。
(图六 “户口登记”对话框)
5.2.3迁出信息管理模块
添加迁出人员及其户口信息;
修改迁出人员及其户口信息;
查询查询人员及其户口信息;
单击“户籍管理”下拉菜单中的“迁出户口”或“迁出人口”选项即会出现相应的对话框:“迁出户口”对话框(如图七)和“迁出人口”对话框(如图八),操作员只需输入迁出的户号或迁出人员的身份证号即可执行相应的操作。
(图七 “迁出户口”对话框)
(图八 “迁出人口”对话框)
5.2.4注销信息管理模块
户口注销;
人口注销;
单击“户籍管理”下拉菜单的“户口注销”或“人口注销”选项即会出现相应的会话框:“注销户口”对话框和“注销人口”对话框,操作员只需输入注销的户号或注销人员的身份证号即可执行相应的操作。
5.2.5查询修改模块
查询户号;
查询修改用户信息;
查询修改人员信息;
列表查询;
单击“查询修改”下拉菜单中的“查询户号”选项即出现“查询户号”对话框,操作员只需输入所要查询户口的户主身份证号即可获得该户的户号信息。
单击“查询修改”下拉菜单中的“查询修改户信息”选项,屏幕中会出现“查询修改户口信息”对话框,操作员在该窗口中输入户号后单击查询按钮,即可出现“查询修改户信息”对话框,在此对话框中会显示关于该住户的信息,并可对该住户的户别及家庭住址等信息进行修改,所作修改可及时记入相应的数据库系统中。
5.2.6报表统计模块
查询户口报表;
查询人口报表;
单击“报表统计”下拉菜单中的“户口报表”或“人口报表”选项,可出现相应的关于户口表中信息的查询报表,并可自动统计当前所辖片区中登记户口总数以及已迁出户口数。以及人口表中信息的查询报表,并可自动统计当前所辖片区中登记的人口总数以及已迁出人口数。
5.2.7系统管理
查询用户列表;
添加用户;
删除用户;
修改用户密码;
5.2.8备份管理
对数据库中的数据进行备份;
单击“数据库管理”下拉菜单中的“备份数据库”即可弹出“备份数据库”窗体(如图九),操作员可进行的操作是将本系统中已经保存的数据信息备份到电脑的其他地方。
(图九 “备份数据库”窗体)
[1] 廖彬山,黄维通.Visual Basic 面向对象与可视化程序设计[M].北京:清华大学出版社,2002.
[2] 周绪,管吏娜,白海波.SQL Server 2000中文版入门与提高[M].北京:清华大学出版社,2003.
[3] 郑阿奇.VB 实用教程. 北京:电子工业出版社
[4] 郭胜,夏邦贵.Visual Basic数据库开发入门与范例解析[M].
北京:机械工业出版社,2001.
[5] 黄梯云.管理信息系统[M]. 北京:高等教育出版社,2001.
一.登陆系统
Option Explicit
Private Sub Commcancel_Click()
End
End Sub
Private Sub Commok_Click()
Dim username As String
Dim password As String
Dim local_db As String
Dim Cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
If Text1.Text = "" Then
MsgBox "请输入用户名", , "警告"
Text1.SetFocus
Else
If Text2.Text = "" Then
MsgBox "请输入密码", , "警告"
Text2.SetFocus
End If
If Text1.Text <> "" And Text2.Text <> "" Then
Set Cnn = New ADODB.Connection
Set rst = New ADODB.Recordset
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path & "\data\db.mdb" + ";Persist Security Info=False;" '连接数据库
username = Trim(Text1.Text)
password = Text2.Text
local_db = "select 用户名 from 用户表" + _
" where 用户表.用户名=" + "'" + _
username + "'"
rst.Open local_db, Cnn
If Not (rst.BOF And rst.EOF) Then
rst.Close
local_db = "select 密码 from 用户表" + _
" where 用户表.用户名=" + "'" + _
username + "'and" + _
" 用户表.密码=" + "'" + password + "'"
rst.Open local_db, Cnn
If Not (rst.BOF And rst.EOF) Then
userid = Text1.Text
Unload frmdl
If username = "admin" Then
mainfrm.xitong.Enabled = True
mainfrm.bdb.Enabled = True
Else
mainfrm.xitong.Enabled = False
mainfrm.bdb.Enabled = False
End If
mainfrm.Show
Else
MsgBox "您输入的密码不正确,请重新输入!", , "警告"
Text2.Text = ""
Text2.SetFocus
End If
Else
MsgBox "系统中无此用户", , "警告"
Text1.Text = ""
Text1.SetFocus
End If
End If
End If
End Sub
二.添加用户
Private Sub Commcancel_Click()
frmzj.Hide
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
mainfrm.guanli.Enabled = True
mainfrm.chaxun.Enabled = True
mainfrm.tongji.Enabled = True
If userid = "admin" Then
mainfrm.xitong.Enabled = True
mainfrm.bdb.Enabled = True
Else
mainfrm.xitong.Enabled = False
mainfrm.bdb.Enabled = False
End If
GetStatus "<就绪>"
End Sub
Private Sub Commok_Click()
Dim Cnn As New ADODB.Connection
Dim ret As New ADODB.Recordset
Dim local_db As String
Dim username As String
Dim password As String
If Text1.Text = "" Then
MsgBox "用户名不能为空", , "警告"
Text1.SetFocus
Else
If Text2.Text = "" Then
MsgBox "密码不能为空", , "警告"
Text2.SetFocus
Else
If Text3.Text = "" Then
MsgBox "请确认密码", , "警告"
Text3.SetFocus
End If
End If
End If
If Text2.Text = Text3.Text Then
If Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> "" Then
username = Trim(Text1.Text)
password = Text2.Text
Set Cnn = New ADODB.Connection
Set ret = New ADODB.Recordset
Cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path & "\data\db.mdb" + ";Persist Security Info=False;" '连接数据库
local_db = "select 用户名 from 用户表" + _
" where 用户表.用户名=" + "'" + username + "'"
ret.Open local_db, Cnn
If Not (ret.EOF And ret.BOF) Then
ret.Close
MsgBox "对不起,此用户已存在", , "警告"
Text1.SetFocus
Else
ret.Close
local_db = "insert into 用户表(用户名,密码)" + _
" values(" + "'" + username + "'," + "'" + password + "')"
Cnn.Execute local_db
MsgBox "新用户添加成功!", , "提示"
frmzj.Hide
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
mainfrm.guanli.Enabled = True
mainfrm.chaxun.Enabled = True
mainfrm.tongji.Enabled = True
If userid = "admin" Then
mainfrm.xitong.Enabled = True
mainfrm.bdb.Enabled = True
Else
mainfrm.xitong.Enabled = False
mainfrm.bdb.Enabled = False
End If
End If
End If
Else
If Text2.Text <> "" And Text3.Text <> "" Then
MsgBox "密码不一致,请重新输入", , "警告"
Text3.SetFocus
End If
End If
End Sub
End Sub
三.查询列表
Option Explicit
Private Sub Command1_Click()
Unload frmuserlist
mainfrm.guanli.Enabled = True
mainfrm.chaxun.Enabled = True
mainfrm.tongji.Enabled = True
If userid = "admin" Then
mainfrm.xitong.Enabled = True
mainfrm.bdb.Enabled = True
Else
mainfrm.xitong.Enabled = False
mainfrm.bdb.Enabled = False
End If
GetStatus "<就绪>"
End Sub
¥29.8
¥9.9
¥59.8