户籍管理系统开发文档.docx
《户籍管理系统开发文档.docx》由会员分享,可在线阅读,更多相关《户籍管理系统开发文档.docx(12页珍藏版)》请在冰豆网上搜索。
![户籍管理系统开发文档.docx](https://file1.bdocx.com/fileroot1/2022-10/25/29fff0e5-eef2-4e6d-85c1-a5de91858676/29fff0e5-eef2-4e6d-85c1-a5de918586761.gif)
户籍管理系统开发文档
户籍管理系统开发文档
任务分工:
E20814067顾玉华(需求分析)
E20814101高嘉韶(数据流图、数据字典、实验代码)
E20814091鲁骥(总体设计、测试)
E20814099孙志强(详细设计、实验代码)
需求分析
进过分析,户籍管理系统的需求分析如下:
登陆系统分为游客登录和管理员登陆。
游客只有先通过注册才能登陆,登陆后可以进入户籍管理系统页面进行简单查询,简单查询通过按身份证查询和按姓名查询,查询结果不包含出生日期,身份证号码。
管理员通过登录页面,进入后台管理模块后,可以对所有户籍进行管理,包括户籍详细查询,
户籍新建,户籍修改,户籍迁出迁入,户籍注销。
具体功能如下:
1.详细查询:
按姓名查询和按身份证查询两种,可以查看所有户籍信息;
2.户籍新建:
新建一个户籍,要求有姓名、性别、年龄、出生日期、家庭住址、身份证号等信息,其中16岁以下可以不具有身份证号。
3.户籍修改:
可修改的户籍信息包括姓名、家庭住址、身份证号。
注:
姓名一经修改户籍信息中要增加一条曾用名的记录。
4.户籍迁出迁入:
对户籍进行迁出迁入登记,户籍的迁移必须保留历史信息,明确迁往那里或从那里迁入。
且时刻保留迁入迁出的最新信息。
5.户籍注销:
对户籍进行注销,必须有死亡证明书或其他特殊情况的证明材料,自动生成注销的相关信息记录,如注销日期、原因、证明材料的来历。
-1-
数据流图
-2-
管理员信息库
通行证清单
更新后通行证1.1
通行证验
证
通行证
1.2通
行证密
通行证办理员码修改
审核员信息库
通行证信息
更新后通行证1.1通行证1.2验证通行证通行证
修改
审核员通行证
办理员
办理员信息2.1修
改办理
员办理员信息表办理员清单
办理员信息库
-3-
数据字典:
名字:
户籍信息系统
别名:
信息系统
描述:
包括户籍新建、户籍修改、户籍迁移、户籍注销的户
籍管理系统。
定义:
户籍信息系统=户籍新建+户籍修改+户籍迁移+户籍注
销+户籍查询
位置:
名字:
户籍迁入迁出信息
别名:
迁入迁出
描述:
用户迁入本地和迁出本地带来的信息更改
定义:
户籍迁入迁出=户籍信息+[迁入地址|迁出地址](1{字
符}50)+[原迁入地址|原迁出地址](1{字符}50)
位置:
户籍系统
数据库
修改系统
名字:
身份证号码
别名:
居民身份证号码
描述:
公民的唯一的不变的法定号码
定义:
身份证号=行政区划分代码(6{数字}6)+出生日
期码(出生日期码=年+月+日)+顺序码(3{数字}3)+
校验码([数字|字符])
名字:
出生日期码
别名:
出生日期
描述:
用户出生时的日期,包括年月日
定义:
出生日期码=年(19+2{数字}2)+月(月=[0+非
零数字|10|11|12])+日(日=[0+非零数字|10|1+非零数字
|20|2+非零数字|30|31])
-4-
名字:
顺序码
别名:
系列码
描述:
一种用连续数字代表编码对象的码
定义:
顺序码=3{数字}3
位置:
名字:
校验码
别名:
检验码
描述:
校验码有中华人民共和国居民身份证的最后一位
定义:
校验码=[数字|字符]
字符=[a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|汉
字]数字=[0|1|2|3|4|5|6|7|8|9]
名字:
注销日期
别名:
描述:
用户被注销户籍时的时间
定义:
注销日期=年+月+日
年=19+2{数字}2
月=[0+非零数字|11|12]
日=[0+非零数字|1+非零数字|2+非零数字|30|31]
名字:
证明材料来历
别名:
材料来历
描述:
用户证明材料的来源
定义:
证明材料来历=1{字符}100
字符=[a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|
汉字]
-5-
名字:
办理员信息库
别名:
办理员数据库
描述:
定义:
办理员信息=工号+姓名+性别
字符=[a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|汉字]
迁入地址=1[字符]20
迁往地址=1[字符]20
户籍注销=[死亡证明书|特殊情况证明材料]+注销日期+原因+证明材料来历
注销日期=年+月+日
原因=1{字符}100
证明材料来历=1{字符}100
姓名=1{字符}10
性别=[m|f]
年龄=1{数字}3
出生日期=年+月+日
家庭住址=1{字符}50
身份证号=行政区划分代码+出生日期码+顺序码+校验码行政区划分代码=6{数字}6
出生日期码=年+月+日
顺序码=3{数字}3
校验码=[数字|字符]
年=19+2{数字}2
月=[0+非零数字|11|12]
日=[0+非零数字|1+非零数字|2+非零数字|30|31]字符=[a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|汉字]非零数字=[|1|2|3|4|5|6|7|8|9]
-6-
总体设计
层次图
模块划分:
1.权限验证
2.用户管理
3.户籍查询
4.户籍修改
5.户籍新建
6.户籍注销
7.数据库管理
-7-
系统主模块:
权限验证
用户管理
户籍管理系统户籍查询
户籍修改
户籍新建
户籍注销
数据库管理
系统层次图:
户籍管理系统
用户管理户籍信息管理权限验证
户籍新建户籍注销户籍修改户籍查询
修改查找查找添加查找查找删除显示
用户管理
修删添修
改除加改
用用新用
户户用户
口户权
令限
-8-
详细设计
1.系统主控平台
(1)主控平台界面设计
充分考虑易于操作的系统需求。
(2).主控平台的实现
1)主体框架:
使用MFCAppWizard创建一个单文档结构的应用程序工程,建立起系统主题框架,生产应用程序类(CSchoolApp)、文档类(CSchoolDoc),视图类(CSchoolView)和主框架类(CMainFram)。
2)菜单:
根据系统总体设计中功能模块的划分,使用资源编辑器创建系统菜单。
3)背景图:
通过修改系统视图类Paint事件处理函数OnPaint()来实现加载背景图。
2.权限验证模块
(1)权限验证IPO图
输入:
用户名和密码
处理:
1)用户登录对话框启动
2)从系统用户表中读取用户的名称信息,并写入用户名下拉框中,以方便下次登录
3)用户选择用户名并输入密码
4)从操作人员表中检查是否有相应的用户名和密码
5)如果用户名或密码错误,进行提示
6)如果用户名和相应的秘密正确,则提示该用户准备进行后面的操作
7)进入主控制平台
输出:
主控制平台
(2)权限验证模块的界面设计
宗旨:
便于操作、大方、美观
(3).权限验证模块的实现
根据权限验证的IPO图,通过定义CLoginDlg类来实现权限验证模块的功能。
3.用户管理模块
(1)用户管理IPO图
输入:
用户名、密码
处理:
1)用户管理对话框启动
2)从系统用户表中读取用户信息,并写入用户列表
3)根据系统管理员的选择进行相应的处理
输出:
更新的系统用户表
具体处理过程:
(1)增加新用户的处理
1)设置用户名编辑框为可用状态
2)根据管理员输入的用户名判断用户是否存在,如果存在提示错误,并要求重新输入
3)如果用户不存在,根据管理员输入的用户名、用户口令,用户权限的类别,在数据库中的用户表中添加新记录
4)提示新用户添加成功
(2)修改用户口令
1)在“用户列表”中选择需要编辑的用户
-9-
2)输入新的用户口令
3)确认操作
4)完成对数据库中系统用户表的相应操作
(3).删除指定用户的处理
1)在“用户列表”中选择需要删除的用户
2)删除操作
3)完成对数据库中系统用户表的相应操作
(2)用户管理模块的实现
根据用户管理模块的IPO图,通过定义CUserDlg类来实现用户管理模块的功能。
下面简述CUserDlg类的设计
1)CUserDlg类使用的用户表记录集类CUserSet,此类可实现与系统用户表的绑定,可以通过ClassWizard根据数据库表结构自动创建
2)添加用户或编辑某用户的相关资料
处理过程:
检查当前的状态为添加或者编辑,如果状态为添加,先检查用户名称是否已经存在,然后插入新的用户;如果为编辑状态,更新用户信息,更改相关组件的状态
3)删除指定的操作人员
处理过程:
判断“用户列表”中的每一行是否被选择;如果被选择,删除该用户;如果删除失败,提示用户
4.户籍查询模块
(1)户籍查询模块的IPO图
输入:
身份证号码或姓名
处理:
在户籍数据库中查找与搜索关键字相匹配的表项,并将其按一定顺序(身份证号码大小)整理好,显示在查询输出对话框
输出:
将符合条件的表项中所有的内容输出显示给用户或管理员查看
(2)户籍查询模块的PAD图
打开并读取数据库
逐项对关键字进行匹配
显示符合条件的表项中的所有内容
是否找到
提示用户没有找到
(3)户籍查询模块的实现
根据数据库相关知识,通过关键字的给出,在数据库中找到符合条件的表项,并整理输出。
5.户籍修改模块
(1)户籍修改模块的IPO图
输入:
身份证号码(鉴于身份证号码的唯一性)和修改内容
处理:
启动户籍档案编辑对话框,并将管理员选择的户籍档案信息显示到编辑对话框上,待管理员修改确认后,检查数据的合法性,然后将正确的数据更新到户籍档案数据库中,并更新列表显示内容,完成户籍修改操作
-10-
输出:
更新的户籍信息数据库
(2)户籍修改模块的PAD图
打开并读取数据库
根据用户提供的身份证号码进行查找
找到
提示用户没有找到
启动户籍编辑对话框
将查找到的表项输出
到编辑对话框待编辑define
找到修改表项
确认修改
检查数据合法性
提示用户数据不合WHILE数据不合法
法,继续修改表项
更新户籍数据库
6.户籍新建模块
(1)户籍新建模块的IPO图
输入:
户籍信息数据
处理:
启动户籍信息档案录入对话框,待管理员输入数据后检查数据的合法性,无误后将
数据添加到户籍信息数据库中,并更新数据列表,完成户籍新建的操作
输出:
更新的户籍信息数据库
(2)户籍新建模块的PAD图
创建并启动户籍信息编辑对话框
添加新户籍
更新户籍数据库
-11-
打开数据库
填写新户籍的相应信息添加新户籍
从界面获取记录到记录集
7.户籍注销模块
(1)户籍注销模块IPO图
输入:
身份证号码
处理:
将该身份证号码对应的户籍记录从户籍数据库中删除,并更新列表显示
输出:
更新后的户籍数据库和列表
(2)户籍注销模块PAD图
获取欲删除户口
的身份证号码
打开数据库
删除记录
更新列表显示
8.数据库管理模块