软件工程实验--户籍管理系统设计

更新时间:2024-11-06 13:45:06 阅读: 评论:0


2023年5月27日发(作者:modernism)

软件工程尝试陈述

功能需求阐发

系统包罗 查询办理、户口办理、人员办理三大局部。

实现的底子功能有:

1. 实现户籍的查询,可分为普通用户查询和内部办理员的查询,

普通用户只能查询底子信息,如身份证号、出生日期等。

2. 实现户籍的点窜,包罗 户口的点窜以及个人信息的点窜

3. 实现人员办理,包罗 人员的新建和迁入迁出。

4. 关于注销办理,包罗 人员注销和户口注销,同时需注明注销

原因、证明材料等。

功能实现说明

A. 登录模块

在进行系统登岸过程中,登岸模块将调用数据库里的用户数据

表,并对办理员和暗码进行验证,只有输入了正确的办理员名和暗码

后,系统登岸才会成功。

在登岸模块中,对系统的测验考试登岸次数进行了限制,禁止

用户无终止的进行系统登岸测验考试,在本系统中,当用户对系统的

三次登岸掉败后,系统将自动禁止登岸,退出登岸模块。并在输入了

错误的或者是不存在的办理员名和暗码时,系统会给出出错信息提

示,指明登岸过程中的错误输入或错误操作,以便用户进行正确的登

岸。

B. 点窜暗码

有相关证明的用户可以由办理员帮忙点窜暗码,当两次输入暗码

都一致时,数据库中记录将更新在户口表中。

注意:本模块有如下几点注意,暗码确定后,是否能正确读取存

储用户名和暗码的数据表;如果办理员名和暗码正确,是否能进入系

统主窗体;当输入办理员名或暗码错误时,是否能弹出信息框,给办

理员提示。

C. 添加新建用户

办理员需要两次输入暗码,用来确保输入暗码的正确,进入主界

面,办理员选择人员模块中的新建,输入信息,系统将首先查询数据

库中与用户不异的记录,如果有不异记录将提示用户从头输入相关信

息。当确定命据库中没有不异的记录,而且两次输入暗码一致时将把

该笔记录添加到数据库中。

同样,如果从户口模块进入,那么新建的户口信息添加到数据库

中。

注意:本系统的户口信息与个人用户信息是分开的,实现时,需

要在界面中链接相关的个人信息表加以完整资料,并能彼此查阅有关

的信息。

D. 点窜

点窜功能只能由办理员进入模块实现,用户可以出示有效

证明由办理员实施点窜,点窜后的信息由系统存储在原表中。

E. 迁入

由办理员将添加的迁入人员信息及其户口信息添加到数据库中,

如果是将迁入人员添加到当地已有户口中,那么进入添加用户模块中

即可实现。

F. 迁出

用户迁出后需要隐藏该户或是个人的信息,包罗 已注销的信息、

注明迁往地及迁出原因。

G. 注销

用户出示证明,由办理员注销个人或是户口信息,注销户口时,

将该户号上的所有人员都一并注销,同时,记录相关信息并仍存

储在原表中。

数据流程图:

顶层数据流图:

用户

新建

查询 权限查询 户籍信息

点窜

操作员 户籍办理系统

迁出信息

迁出

注销 注销信息

第一层数据流图

用户

姓名 可查询

身份证号 信息

1

5

发生

户籍

2

户籍信息

迁出信息

查询办理

办理员

户籍办理

4

3

流动听员办理

注销办理

注销信息

第二层数据流图:

姓名、身份证

办理员

户号 查询成果

12

11

查询个人

人口信息

13

浏览

查询户口

户口信息

新建户口户口信息

点窜户口

生成

户主

户口

户口迁出

户迁出信息

办理员

户口注销

户注销信息

新建人口

人口信息

点窜人口

人口迁出 生成

人迁出信息

个人

户口

人口注销

人注销信息

数据模型阐发与设计

1〕户口信息——

户别

户号

注销情况

户口信息

是否已迁出

住址

何地迁入

迁入日期 登记日期

2〕户迁出信息

迁出日期

户主姓名

户迁出信息

迁往何地

户号

3〕人迁出信息

迁出日期

户号

人迁出信息

迁往何地

身份证号 姓名

4〕人口信息:

姓名 与户主关系

身份证号

性别

迁出时间

是否迁出

人口信息

迁入日期

户号

职业

工作单元 婚姻状况

出生日

文化程度

数据库设计

户籍系统包含信息主要有6类:户口信息、人口信息、

迁出信息、人迁出信息、户注销信息和人注销信息。

1. 户口信息表Hinfor

字段名 意义 字段类型 字段大小 可否为空 关键字

Hno 户号 Char 20 ot null

Hname 20 ot null 户主姓名 Varchar

Adr 50 ull 住址 Varchar

regdata ull 登记日期 datetime

indata ull 迁入日期 datetime

wherein 50 ull 何地迁入 varchar

orout 2 ull 是否迁出 Char

disa 2 ull 注销情况 Char

2. 人口信息表perinfor

字段名 意义 字段类型 字段大小 可否为空 关键字

ame 姓名 Varchar 20 ot null

Sex 性别 Char 2 ot null

relation 20 ot null 与户主关系 Varchar

ation 20 ot null 民族 Varchar

province 2 ot null 籍贯 Char

Bir ull 出生日期 Datetime

Place 出生地 Varchar 50 ull

wenhua 文化程度 varchar 10 ull

Marry 婚姻状况 Char 4 ot null

ID 身份证号 Varchar 50 ull

Job 职业 Varchar 20 ull

Wadr 工作单元 Varchar 50 ull

indata 迁入日期 Datetime ull

wherein 何地迁入 Varchar 50 ull

orout 是否迁出 char 2 ull

3. 户迁出表Hout

字段名 意义 字段类型 字段大小 可否为空 关键字

umber 户号 Varchar 20 ot null

Hname 户主姓名 Varchar 20 ot null

outdata 迁出日期 Datetime ot null

whereout 迁往何地 varchar 50 ot null

4. 人迁出信息perout

字段名 意义 字段类型 字段大小 可否为空 关键字

humname 姓名 Varchar 20 ot null

umber 户号 Varchar 20 ot null

ID 身份证号 Varchar 50 ot null

outdata 迁出日期 Datetime ot null

whereout 迁往何地 varchar 50 ot null

5. 户注销信息Hdis

字段名 意义 字段类型 字段大小 是否为空 关键字

umber 户号 Varchar 20 ot null

10 ot null umname 户主姓名 varchar

ot null disadata 注销日期 datetime

50 ot null reason 注销原因 Varchar

50 ot null prove 证明材料 Varchar

6. 人注销信息perdis

字段名 意义 字段类型 字段大小 是否为空 关键字

ame 姓名 Varchar 20 ot null

umber 户号 varchar 10 ot null

ID 50 身份证号 Varchar

disadata 注销日期 Datetime

50 reason 注销原因 varchar

50 prove 证明材料 Varchar ot null

7. 操作员信息operation

字段名 意义 字段类型 字段大小 是否为空 关键字

name 姓名 varchar 20 ot null

code 编号 int 4 ot null

password 暗码 char 12 ot null

模块阐发与设计

户籍办理层次布局图:

界面

查询户口人员

办理 办理 办理

用户 操作迁入 点窜户口户口迁入 人员点窜个人

查询 员查办理 户口 迁出 注销 办理 注销 户口 迁出

迁入 新建 迁入 新建

系统用户办理模块

系统用户模块主要实现:

用户登岸;添加用户;点窜用户暗码。

功能:本模块的主要功能是对用户身份进行验证,只有系统的合法用

户才能进入系统,并进行用户办理,包罗 添加用户和点窜用户暗码。

系统登录流程图

1、登岸系统实现代码:

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

If = "" Then

MsgBox "请输入用户名", , "警告"

Else

If = "" Then

MsgBox "请输入暗码", , "警告"

End If

If <> "" And <> "" Then

"Provider=.4.0;Data Source=" + & ""

+ ";Persist Security Info=False;" '连接数据库

username = Trim()

local_db = "select 用户名 from 用户表" + _

" where 用户表.用户名=" + "'" + _

username + "'"

local_db, Cnn

If ot ( And ) Then

local_db = "select 暗码 from 用户表" + _

" where 用户表.用户名=" + "'" + _

username + "'and" + _

" 用户表.暗码=" + "'" + password + "'"

local_db, Cnn

If ot ( And ) Then

Unload frmdl

If username = "admin" Then

d = True

d = True

Else

d = False

d = False

End If

Else

MsgBox "您输入的暗码不正确,请从头输入!", , "警告"

= ""

End If

Else

MsgBox "系统中无此用户", , "警告"

= ""

End If

End If

End If

End Sub

2、添加用户实现代码:

办理员需要两次输入暗码,用来确保输入暗码的正确,用户暗码输入信息完

毕,单击“确定〞,系统将首先查询数据库中与该用户名不异的记录,如果有不

异记录将提示用户从头输入用户名。当确定命据库中没有不异的记录,而且两次

输入暗码一致时将把该笔记录添加到数据库中。

单击“打消〞按钮将打消添加用户的操作。

Private Sub Commcancel_Click()

= ""

= ""

= ""

d = True

d = True

d = True

If userid = "admin" Then

d = True

d = True

Else

d = False

d = False

End If

GetStatus "<就绪>"

End Sub

Private Sub Commok_Click()

Dim local_db As String

Dim username As String

Dim password As String

If = "" Then

MsgBox "用户名不克不及为空", , "警告"

Else

If = "" Then

MsgBox "暗码不克不及为空", , "警告"

Else

If = "" Then

MsgBox "请确认暗码", , "警告"

End If

End If

End If

If = Then

If <> "" And <> "" And <> "" Then

username = Trim()

"Provider=.4.0;Data Source=" + & ""

+ ";Persist Security Info=False;" '连接数据库

local_db = "select 用户名 from 用户表" + _

" where 用户表.用户名=" + "'" + username + "'"

local_db, Cnn

If ot ( And ) Then

MsgBox "对不起,此用户已存在", , "警告"

Else

local_db = "insert into 用户表(用户名,暗码)" + _

" values(" + "'" + username + "'," + "'" + password + "')"

e local_db

MsgBox "新用户添加成功!", , "提示"

= ""

= ""

= ""

d = True

d = True

d = True

If userid = "admin" Then

d = True

d = True

Else

d = False

d = False

End If

End If

End If

Else

If <> "" And <> "" Then

MsgBox "暗码不一致,请从头输入", , "警告"

End If

End If

End Sub

End Sub

3、查询点窜实现代码:

查询户号;查询点窜用户信息;

查询点窜人员信息;列表查询;

单击“查询点窜〞下拉菜单中的“查询户号〞选项即呈现“查询户号〞

对话框,操作员只需输入所要查询户口的户主身份证号即可获得该户

的户号信息

单击“查询点窜〞下拉菜单中的“查询点窜户信息〞选项,屏幕

中会呈现“查询点窜户口信息〞对话框,操作员在该窗口中输入户号

后单击查询按钮,即可呈现“查询点窜户信息〞对话框,在此对话框

中会显示关于该住户的信息,并可对该住户的户别及家庭住址等信息

进行点窜,所作点窜可及时记入相应的数据库系统中。

Option Explicit

Private Sub Command1_Click()

Unload frmuserlist

d = True

d = True

d = True

If userid = "admin" Then

d = True

d = True

Else

d = False

d = False

End If

GetStatus "<就绪>"

End Sub


本文发布于:2023-05-27 23:29:41,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/falv/fa/86/123369.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 站长QQ:55-9-10-26