您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 设计及方案 > 软件工程实验--户籍管理系统设计
软件工程实验报告功能需求分析系统包括查询管理、户口管理、人员管理三大部分。实现的基本功能有:1.实现户籍的查询,可分为普通用户查询和内部管理员的查询,普通用户只能查询基本信息,如身份证号、出生日期等。2.实现户籍的修改,包括户口的修改以及个人信息的修改。3.实现人员管理,包括人员的新建和迁入迁出。4.关于注销管理,包括人员注销和户口注销,同时需注明注销原因、证明材料等。功能实现说明A.登录模块在进行系统登陆过程中,登陆模块将调用数据库里的用户数据表,并对管理员和密码进行验证,只有输入了正确的管理员名和密码后,系统登陆才会成功。在登陆模块中,对系统的尝试登陆次数进行了限制,禁止用户无终止的进行系统登陆尝试,在本系统中,当用户对系统的三次登陆失败后,系统将自动禁止登陆,退出登陆模块。并在输入了错误的或者是不存在的管理员名和密码时,系统会给出出错信息提示,指明登陆过程中的错误输入或错误操作,以便用户进行正确的登陆。B.修改密码有相关证明的用户可以由管理员帮助修改密码,当两次输入密码都一致时,数据库中记录将更新在户口表中。注意:本模块有如下几点注意,密码确定后,是否能正确读取存储用户名和密码的数据表;如果管理员名和密码正确,是否能进入系统主窗体;当输入管理员名或密码错误时,是否能弹出信息框,给管理员提示。C.添加新建用户管理员需要两次输入密码,用来确保输入密码的正确,进入主界面,管理员选择人员模块中的新建,输入信息,系统将首先查询数据库中与用户相同的记录,如果有相同记录将提示用户重新输入相关信息。当确定数据库中没有相同的记录,并且两次输入密码一致时将把该条记录添加到数据库中。同样,如果从户口模块进入,则新建的户口信息添加到数据库中。注意:本系统的户口信息与个人用户信息是分开的,实现时,需要在界面中链接相关的个人信息表加以完整资料,并能相互查阅有关的信息。D.修改修改功能只能由管理员进入模块实现,用户可以出示有效证明由管理员实施修改,修改后的信息由系统存储在原表中。E.迁入由管理员将添加的迁入人员信息及其户口信息添加到数据库中,如果是将迁入人员添加到本地已有户口中,则进入添加用户模块中即可实现。F.迁出用户迁出后需要隐藏该户或是个人的信息,包括已注销的信息、注明迁往地及迁出原因。G.注销用户出示证明,由管理员注销个人或是户口信息,注销户口时,将该户号上的所有人员都一并注销,同时,记录相关信息并仍存储在原表中。数据流程图:顶层数据流图:新建查询权限查询户籍信息修改操作员迁出信息迁出注销注销信息第一层数据流图用户户籍管理系统姓名可查询身份证号信息第二层数据流图:姓名、身份证户号查询结果1查询管理用户5产生户籍2户籍管理户籍信息管理员3流动人员管理迁出信息4注销管理注销信息1.1查询个人人口信息管理员1.3浏览1.2查询户口户口信息数据模型分析与设计1)户口信息——管理员2.2修改户口2.1新建户口2.3新建人口2.4修改人口3.1户口迁出3.2人口迁出户口信息人注销信息人迁出信息户注销信息户迁出信息人口信息4.1人口注销4.2户口注销5.2生成个人户口5.1生成户主户口迁出日期户迁出信息迁往何地户主姓名户号户口信息何地迁入迁入日期登记日期住址户号户主姓名名户别注销情况是否已迁出2)户迁出信息4)人口信息:数据库设计:户籍系统包含信息主要有6类:户口信息、人口信息、户迁出信息、人迁出信息、户注销信息和人注销信息。人迁出信息身份证号迁出日期户号姓名迁往何地3)人迁出信息人口信息出生日期迁出时间出生地与户主关系性别文化程度民族籍贯婚姻状况工作单位职业户号迁入日期是否迁出姓名身份证号1.户口信息表Hinfor字段名意义字段类型字段大小可否为空关键字Hno户号Char20Notnull是Hname户主姓名Varchar20NotnullAdr住址Varchar50Nullregdata登记日期datetimeNullindata迁入日期datetimeNullwherein何地迁入varchar50Nullorout是否迁出Char2Nulldisa注销情况Char2Null2.人口信息表perinfor字段名意义字段类型字段大小可否为空关键字Name姓名Varchar20NotnullSex性别Char2Notnullrelation与户主关系Varchar20NotnullNation民族Varchar20Notnullprovince籍贯Char2NotnullBir出生日期DatetimeNullPlace出生地Varchar50Nullwenhua文化程度varchar10NullMarry婚姻状况Char4NotnullID身份证号Varchar50Null是Job职业Varchar20NullWadr工作单位Varchar50Nullindata迁入日期DatetimeNullwherein何地迁入Varchar50Nullorout是否迁出char2Null3.户迁出表Hout字段名意义字段类型字段大小可否为空关键字Number户号Varchar20Notnull是Hname户主姓名Varchar20Notnulloutdata迁出日期DatetimeNotnullwhereout迁往何地varchar50Notnull4.人迁出信息perout字段名意义字段类型字段大小可否为空关键字humname姓名Varchar20NotnullNumber户号Varchar20Notnull是ID身份证号Varchar50Notnull是outdata迁出日期DatetimeNotnullwhereout迁往何地varchar50Notnull5.户注销信息Hdis字段名意义字段类型字段大小是否为空关键字Number户号Varchar20Notnull是Numname户主姓名varchar10Notnulldisadata注销日期datetimeNotnullreason注销原因Varchar50Notnullprove证明材料Varchar50Notnull6.人注销信息perdis字段名意义字段类型字段大小是否为空关键字Name姓名Varchar20NotnullNumber户号varchar10Notnull是ID身份证号Varchar50是disadata注销日期Datetimereason注销原因varchar50prove证明材料Varchar50Notnull7.操作员信息operation字段名意义字段类型字段大小是否为空关键字name姓名varchar20Notnullcode编号int4Notnull是password密码char12Notnull模块分析与设计:户籍管理层次结构图:系统用户管理模块系统用户模块主要实现:用户登陆;添加用户;修改用户密码。功能:本模块的主要功能是对用户身份进行验证,只有系统的合法用户才能进入系统,并进行用户管理,包括添加用户和修改用户密码。系统登录流程图界面查询管理户口管理人员管理迁入管理迁入管理修改户口用户查询操作员查询户口迁出户口注销个人迁出人员注销迁入新建迁入新建修改户口1、登陆系统实现代码:OptionExplicitPrivateSubCommcancel_Click()EndEndSubPrivateSubCommok_Click()DimusernameAsStringDimpasswordAsStringDimlocal_dbAsStringDimCnnAsNewADODB.ConnectionDimrstAsNewADODB.RecordsetIfText1.Text=ThenMsgBox请输入用户名,,警告Text1.SetFocusElseIfText2.Text=ThenMsgBox请输入密码,,警告Text2.SetFocusEndIfIfText1.TextAndText2.TextThenSetCnn=NewADODB.ConnectionSetrst=NewADODB.RecordsetCnn.OpenProvider=Microsoft.Jet.OLEDB.4.0;DataSource=+App.Path&\data\db.mdb+;PersistSecurityInfo=False;'连接数据库username=Trim(Text1.Text)password=Text2.Textlocal_db=select用户名from用户表+_where用户表.用户名=+'+_username+'rst.Openlocal_db,CnnIfNot(rst.BOFAndrst.EOF)Thenrst.Closelocal_db=select密码from用户表+_where用户表.用户名=+'+_username+'and+_用户表.密码=+'+password+'rst.Openlocal_db,CnnIfNot(rst.BOFAndrst.EOF)Thenuserid=Text1.TextUnloadfrmdlIfusername=adminThenmainfrm.xitong.Enabled=Truemainfrm.bdb.Enabled=TrueElsemainfrm.xitong.Enabled=Falsemainfrm.bdb.Enabled=FalseEndIfmainfrm.ShowElseMsgBox您输入的密码不正确,请重新输入!,,警告Text2.Text=Text2.SetFocusEndIfElseMsgBox系统中无此用户,,警告Text1.Text=Text1.SetFocusEndIfEndIfEndIfEndSub2、添加用户实现代码:管理员需要两次输入密码,用来确保输入密码的正确,用户密码输入信息完毕,单击“确定”,系统将首先查询数据库中与该用户名相同的记录,如果有相同记录将提示用户重新输入用户名。当确定数据库中没有相同的记录,并且两次输入密码一致时将把该条记录添加到数据库中。单击“取消”按钮将取消添加用户的操作。PrivateSubCommcancel_Click()frmzj.HideText1.Text=Text2.Text=Text3.Text=mainfrm.guanli.Enabled=Truemainfrm.chaxun.Enabled=Truemainfrm.tongji.Enabled=TrueIfuserid=adminThenmainfrm.xitong.Enabled=Truemainfrm.bdb.Enabled=TrueElsemainfrm.xitong.Enabled=Falsemainfrm.bdb.Enabled=FalseEndIfGetStatus就绪EndSubPrivateSubCommok_Click()DimCnnAsNewADODB.ConnectionDimretAsNewADODB.RecordsetDimlocal_dbAsStringDimusernameAsStringDimpasswordAsStringIfText1.Text=ThenMsgBox用户名不能为空,,警告Text1.SetFocusElseIfText2.Text=ThenMsgBox密码不能为空,,警告Text2.SetFocusElseIfText3.Text=ThenMsgBox请确认密码,,警告Text3.SetFocusEndIfEndIfEndIfIfText2.Text=Text3.TextThenIfText1.TextAndText2.TextAndText3.TextThenusername=Trim(Text1.Text)password=Text2.TextSetCnn=NewADODB.ConnectionSetret=NewADODB.RecordsetCnn.OpenProvider=Microsoft.Jet.OLEDB.4.0;
本文标题:软件工程实验--户籍管理系统设计
链接地址:https://www.777doc.com/doc-153191 .html