软件工程实验户籍管理系统设计.docx
- 文档编号:6415154
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:21
- 大小:205.29KB
软件工程实验户籍管理系统设计.docx
《软件工程实验户籍管理系统设计.docx》由会员分享,可在线阅读,更多相关《软件工程实验户籍管理系统设计.docx(21页珍藏版)》请在冰豆网上搜索。
软件工程实验户籍管理系统设计
软件工程实验报告
◆功能需求分析
系统包括查询管理、户口管理、人员管理三大部分。
实现的基本功能有:
1.实现户籍的查询,可分为普通用户查询和内部管理员的查询,普通用户只能查询基本信息,如XX号、出生日期等。
2.实现户籍的修改,包括户口的修改以及个人信息的修改。
3.实现人员管理,包括人员的新建和迁入迁出。
4.关于注销管理,包括人员注销和户口注销,同时需注明注销原因、证明材料等。
功能实现说明
A.登录模块
在进行系统登陆过程中,登陆模块将调用数据库里的用户数据表,并对管理员和密码进行验证,只有输入了正确的管理员名和密码后,系统登陆才会成功。
在登陆模块中,对系统的尝试登陆次数进行了限制,禁止用户无终止的进行系统登陆尝试,在本系统中,当用户对系统的三次登陆失败后,系统将自动禁止登陆,退出登陆模块。
并在输入了错误的或者是不存在的管理员名和密码时,系统会给出出错信息提示,指明登陆过程中的错误输入或错误操作,以便用户进行正确的登陆。
B.修改密码
有相关证明的用户可以由管理员帮助修改密码,当两次输入密码都一致时,数据库中记录将更新在户口表中。
注意:
本模块有如下几点注意,密码确定后,是否能正确读取存储用户名和密码的数据表;如果管理员名和密码正确,是否能进入系统主窗体;当输入管理员名或密码错误时,是否能弹出信息框,给管理员提示。
C.添加新建用户
管理员需要两次输入密码,用来确保输入密码的正确,进入主界面,管理员选择人员模块中的新建,输入信息,系统将首先查询数据库中与用户相同的记录,如果有相同记录将提示用户重新输入相关信息。
当确定数据库中没有相同的记录,并且两次输入密码一致时将把该条记录添加到数据库中。
同样,如果从户口模块进入,则新建的户口信息添加到数据库中。
注意:
本系统的户口信息与个人用户信息是分开的,实现时,需要在界面中相关的个人信息表加以完整资料,并能相互查阅有关的信息。
D.修改
修改功能只能由管理员进入模块实现,用户可以出示有效证明由管理员实施修改,修改后的信息由系统存储在原表中。
E.迁入
由管理员将添加的迁入人员信息及其户口信息添加到数据库中,如果是将迁入人员添加到本地已有户口中,则进入添加用户模块中即可实现。
F.迁出
用户迁出后需要隐藏该户或是个人的信息,包括已注销的信息、注明迁往地及迁出原因。
G.注销
用户出示证明,由管理员注销个人或是户口信息,注销户口时,将该户号上的所有人员都一并注销,同时,记录相关信息并仍存储在原表中。
数据流程图:
顶层数据流图:
用户
新建
查询权限查询户籍信息
修改
操作员
迁出信息
户籍管理系统
迁出
注销注销信息
第一层数据流图
1
查询管理
用户
5
产生户籍
2
户籍管理
XX可查询
XX号信息
户籍信息
管理员
3
流动人员管理
迁出信息
4
注销管理
注销信息
第二层数据流图:
1.1
查询个人
人口信息
XX、XX
管理员
1.3
浏览
户号查询结果
1.2
查询户口
户口信息
◆数据模型分析与设计
1)户口信息——
4)人口信息:
数据库设计:
户籍系统包含信息主要有6类:
户口信息、人口信息、户迁出信息、人迁出信息、户注销信息和人注销信息。
1.户口信息表Hinfor
字段名
意义
字段类型
字段大小
可否为空
关键字
Hno
户号
Char
20
Notnull
是
Hname
户主XX
Varchar
20
Notnull
Adr
住址
Varchar
50
Null
regdata
登记日期
datetime
Null
indata
迁入日期
datetime
Null
wherein
何地迁入
varchar
50
Null
orout
是否迁出
Char
2
Null
disa
注销情况
Char
2
Null
2.人口信息表perinfor
字段名
意义
字段类型
字段大小
可否为空
关键字
Name
XX
Varchar
20
Notnull
Sex
性别
Char
2
Notnull
relation
与户主关系
Varchar
20
Notnull
Nation
民族
Varchar
20
Notnull
province
籍贯
Char
2
Notnull
Bir
出生日期
Datetime
Null
Place
出生地
Varchar
50
Null
wenhua
文化程度
varchar
10
Null
Marry
婚姻状况
Char
4
Notnull
ID
XX号
Varchar
50
Null
是
Job
职业
Varchar
20
Null
Wadr
工作单位
Varchar
50
Null
indata
迁入日期
Datetime
Null
wherein
何地迁入
Varchar
50
Null
orout
是否迁出
char
2
Null
3.户迁出表Hout
字段名
意义
字段类型
字段大小
可否为空
关键字
Number
户号
Varchar
20
Notnull
是
Hname
户主XX
Varchar
20
Notnull
outdata
迁出日期
Datetime
Notnull
whereout
迁往何地
varchar
50
Notnull
4.人迁出信息perout
字段名
意义
字段类型
字段大小
可否为空
关键字
humname
XX
Varchar
20
Notnull
Number
户号
Varchar
20
Notnull
是
ID
XX号
Varchar
50
Notnull
是
outdata
迁出日期
Datetime
Notnull
whereout
迁往何地
varchar
50
Notnull
5.户注销信息Hdis
字段名
意义
字段类型
字段大小
是否为空
关键字
Number
户号
Varchar
20
Notnull
是
Numname
户主XX
varchar
10
Notnull
disadata
注销日期
datetime
Notnull
reason
注销原因
Varchar
50
Notnull
prove
证明材料
Varchar
50
Notnull
6.人注销信息perdis
字段名
意义
字段类型
字段大小
是否为空
关键字
Name
XX
Varchar
20
Notnull
Number
户号
varchar
10
Notnull
是
ID
XX号
Varchar
50
是
disadata
注销日期
Datetime
reason
注销原因
varchar
50
prove
证明材料
Varchar
50
Notnull
7.操作员信息operation
字段名
意义
字段类型
字段大小
是否为空
关键字
name
XX
varchar
20
Notnull
code
编号
int
4
Notnull
是
password
密码
char
12
Notnull
◆模块分析与设计:
户籍管理层次结构图:
系统用户管理模块
系统用户模块主要实现:
用户登陆;添加用户;修改用户密码。
功能:
本模块的主要功能是对用户身份进行验证,只有系统的合法用户才能进入系统,并进行用户管理,包括添加用户和修改用户密码。
系统登录流程图
1、登陆系统实现代码:
OptionExplicit
PrivateSubmcancel_Click()
End
EndSub
PrivateSubmok_Click()
DimusernameAsString
DimpasswordAsString
Dimlocal_dbAsString
DimnAsNewADODB.Connection
DimrstAsNewADODB.Recordset
IfText1.Text=""Then
MsgBox"请输入用户名",,"警告"
Text1.SetFocus
Else
IfText2.Text=""Then
MsgBox"请输入密码",,"警告"
Text2.SetFocus
EndIf
IfText1.Text<>""AndText2.Text<>""Then
Setn=NewADODB.Connection
Setrst=NewADODB.Recordset
n.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,n
IfNot(rst.BOFAndrst.EOF)Then
rst.Close
local_db="select密码from用户表"+_
"where用户表.用户名="+"'"+_
username+"'and"+_
"用户表.密码="+"'"+password+"'"
rst.Openlocal_db,n
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
2、添加用户实现代码:
管理员需要两次输入密码,用来确保输入密码的正确,用户密码输入信息完毕,单击“确定”,系统将首先查询数据库中与该用户名相同的记录,如果有相同记录将提示用户重新输入用户名。
当确定数据库中没有相同的记录,并且两次输入密码一致时将把该条记录添加到数据库中。
单击“取消”按钮将取消添加用户的操作。
PrivateSubmcancel_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
PrivateSubmok_Click()
DimnAsNewADODB.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
Setn=NewADODB.Connection
Setret=NewADODB.Recordset
n.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+App.Path&"\data\db.mdb"+";PersistSecurityInfo=False;"'连接数据库
local_db="select用户名from用户表"+_
"where用户表.用户名="+"'"+username+"'"
ret.Openlocal_db,n
IfNot(ret.EOFAndret.BOF)Then
ret.Close
MsgBox"对不起,此用户已存在",,"警告"
Text1.SetFocus
Else
ret.Close
local_db="insertinto用户表(用户名,密码)"+_
"values("+"'"+username+"',"+"'"+password+"')"
n.Executelocal_db
MsgBox"新用户添加成功!
",,"提示"
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
EndIf
EndIf
Else
IfText2.Text<>""AndText3.Text<>""Then
MsgBox"密码不一致,请重新输入",,"警告"
Text3.SetFocus
EndIf
EndIf
EndSub
EndSub
3、查询修改实现代码:
查询户号;查询修改用户信息;
查询修改人员信息;列表查询;
单击“查询修改”下拉菜单中的“查询户号”选项即出现“查询户号”对话框,操作员只需输入所要查询户口的户主XX号即可获得该户的户号信息
单击“查询修改”下拉菜单中的“查询修改户信息”选项,屏幕中会出现“查询修改户口信息”对话框,操作员在该窗口中输入户号后单击查询按钮,即可出现“查询修改户信息”对话框,在此对话框中会显示关于该住户的信息,并可对该住户的户别及家庭住址等信息进行修改,所作修改可及时记入相应的数据库系统中。
OptionExplicit
PrivateSubmand1_Click()
Unloadfrmuserlist
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 实验 户籍管理 系统 设计