1、软件工程实验报告u 功能需求分析系统涉及查询管理、户口管理、人员管理三大某些。实现基本功能有:1. 实现户籍查询,可分为普通顾客查询和内部管理员查询,普通顾客只能查询基本信息,如身份证号、出生日期等。2. 实现户籍修改,涉及户口修改以及个人信息修改 。3. 实现人员管理,涉及人员新建和迁入迁出。4. 关于注销管理,涉及人员注销和户口注销,同步需注明注销因素、证明材料等。功能实现阐明A. 登录模块在进行系统登陆过程中,登陆模块将调用数据库里顾客数据表,并对管理员和密码进行验证,只有输入了对的管理员名和密码后,系统登陆才会成功。 在登陆模块中,对系统尝试登陆次数进行了限制,禁止顾客无终结进行系统登
2、陆尝试,在本系统中,当顾客对系统三次登陆失败后,系统将自动禁止登陆,退出登陆模块。并在输入了错误或者是不存在管理员名和密码时,系统会给出出错信息提示,指明登陆过程中错误输入或错误操作,以便顾客进行对的登陆。B. 修改密码有有关证明顾客可以由管理员协助修改密码,当两次输入密码都一致时,数据库中记录将更新在户口表中。注意:本模块有如下几点注意,密码拟定后,与否能对的读取存储顾客名和密码数据表;如果管理员名和密码对的,与否能进入系统主窗体;当输入管理员名或密码错误时,与否能弹出信息框,给管理员提示。C. 添加新建顾客管理员需要两次输入密码,用来保证输入密码对的,进入主界面,管理员选取人员模块中新建,
3、输入信息,系统将一方面查询数据库中与顾客相似记录,如果有相似记录将提示顾客重新输入有关信息。当拟定数据库中没有相似记录,并且两次输入密码一致时将把该条记录添加到数据库中。同样,如果从户口模块进入,则新建户口信息添加到数据库中。注意:本系统户口信息与个人顾客信息是分开,实现时,需要在界面中链接有关个人信息表加以完整资料,并能互相查阅关于信息。D. 修改修改功能只能由管理员进入模块实现,顾客可以出示有效证明由管理员实行修改,修改后信息由系统存储在原表中。E. 迁入由管理员将添加迁入人员信息及其户口信息添加到数据库中,如果是将迁入人员添加到本地已有户口中,则进入添加顾客模块中即可实现。F. 迁出顾客
4、迁出后需要隐藏该户或是个人信息,涉及已注销信息、注明迁往地及迁出因素。G. 注销顾客出示证明,由管理员注销个人或是户口信息,注销户口时,将该户号上所有人员都一并注销,同步,记录有关信息并仍存储在原表中。数据流程图:顶层数据流图:顾客 新建 查询 权限查询 户籍信息修改 操作员 迁出信息户籍管理系统 迁出 注销 注销信息第一层数据流图1查询管理顾客5产生户籍2户籍管理姓名 可查询身份证号 信息户籍信息管理员3流动人员管理迁出信息4注销管理注销信息第二层数据流图:11查询个人人口信息 姓名、身份证管理员13浏览 户号 查询成果12查询户口户口信息 管理员2.2修改户口2.1新建户口2.3新建人口2
5、.4修改人口3.1户口迁出3.2人口迁出户口信息人注销信息人迁出信息户注销信息户迁出信息人口信息4.1人口注销4.2户口注销5.2生成个人户口5.1生成户主户口u 数据模型分析与设计1)户口信息户口信息何地迁入迁入日期登记日期住址户号户主姓名 名户别注销状况与否已迁出2)户迁出信息迁出日期户迁出信息迁往何地户主姓名户号人迁出信息身份证号迁出日期户号姓名迁往何地3)人迁出信息4)人口信息:人口信息出生日期迁出时间出生地与户主关系性别文化限度民族籍贯婚姻状况工作单位职业户号迁入日期与否迁出姓名身份证号数据库设计:户籍系统包括信息重要有6类:户口信息、人口信息、户迁出信息、人迁出信息、户注销信息和人
6、注销信息。1. 户口信息表Hinfor字段名意义字段类型字段大小可否为空核心字Hno户号Char20Not null是Hname户主姓名Varchar20Not nullAdr住址Varchar50Nullregdata登记日期datetimeNullindata迁入日期datetimeNullwherein何地迁入varchar50Nullorout与否迁出Char2Nulldisa注销状况Char2Null2. 人口信息表perinfor字段名意义字段类型字段大小可否为空核心字Name姓名Varchar20Not nullSex性别Char2Not nullrelation与户主关系 Va
7、rchar20Not nullNation民族Varchar20Not nullprovince籍贯Char2Not nullBir出生日期DatetimeNullPlace出生地Varchar50Nullwenhua文化限度varchar10NullMarry婚姻状况Char4Not nullID身份证号Varchar50Null是Job职业Varchar20NullWadr工作单位Varchar50Nullindata迁入日期DatetimeNullwherein何地迁入Varchar50Nullorout与否迁出char2Null3. 户迁出表Hout字段名意义字段类型字段大小可否为空核
8、心字Number户号Varchar20Not null是Hname户主姓名Varchar20Not nulloutdata迁出日期DatetimeNot nullwhereout迁往何地varchar50Not null4. 人迁出信息perout字段名意义字段类型字段大小可否为空核心字humname姓名Varchar20Not nullNumber户号Varchar20Not null是ID身份证号Varchar50Not null是outdata迁出日期DatetimeNot nullwhereout迁往何地varchar50Not null5. 户注销信息Hdis字段名意义字段类型字段大
9、小与否为空核心字Number户号Varchar20Not null是Numname户主姓名varchar10Not nulldisadata注销日期datetimeNot nullreason注销因素Varchar50Not nullprove证明材料Varchar50Not null6. 人注销信息perdis字段名意义字段类型字段大小与否为空核心字Name姓名Varchar20Not nullNumber户号varchar10Not null是ID身份证号Varchar50是disadata注销日期Datetimereason注销因素varchar50prove证明材料Varchar50N
10、ot null7. 操作员信息operation字段名意义字段类型字段大小与否为空核心字name姓名varchar20Not nullcode编号int4Not null是password密码char12Not nullu 模块分析与设计:户籍管理层次构造图:界面查询管理户口管理人员管理迁入管理迁入管理修改户口顾客查询操作员查询户口迁出户口注销个人迁出人员注销迁入新建迁入新建修改户口系统顾客管理模块系统顾客模块重要实现:顾客登陆;添加顾客;修改顾客密码。功能:本模块重要功能是对顾客身份进行验证,只有系统合法顾客才干进入系统,并进行顾客管理,涉及添加顾客和修改顾客密码。系统登录流程图1、登陆系统
11、实当代码:Option ExplicitPrivate Sub Commcancel_Click()EndEnd SubPrivate Sub Commok_Click()Dim username As StringDim password As StringDim local_db As StringDim Cnn As New ADODB.ConnectionDim rst As New ADODB.RecordsetIf Text1.Text = ThenMsgBox 请输入顾客名,警告Text1.SetFocusElseIf Text2.Text = ThenMsgBox 请输入密码,
12、警告Text2.SetFocusEnd IfIf Text1.Text And Text2.Text ThenSet Cnn = New ADODB.ConnectionSet rst = New ADODB.RecordsetCnn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + App.Path & datadb.mdb + ;Persist Security Info=False; 连接数据库username = Trim(Text1.Text)password = Text2.Textlocal_db = select 顾客名
13、from 顾客表 + _ where 顾客表.顾客名= + + _username + rst.Open local_db,CnnIf Not (rst.BOF And rst.EOF) Thenrst.Closelocal_db = select 密码 from 顾客表 + _ where 顾客表.顾客名= + + _ username + and + _ 顾客表.密码= + + password + rst.Open local_db,CnnIf Not (rst.BOF And rst.EOF) Thenuserid = Text1.TextUnload frmdlIf username
14、 = admin Thenmainfrm.xitong.Enabled = Truemainfrm.bdb.Enabled = TrueElsemainfrm.xitong.Enabled = Falsemainfrm.bdb.Enabled = FalseEnd Ifmainfrm.ShowElseMsgBox 您输入密码不对的,请重新输入!,警告Text2.Text = Text2.SetFocusEnd IfElseMsgBox 系统中无此顾客,警告Text1.Text = Text1.SetFocusEnd IfEnd IfEnd IfEnd Sub2、添加顾客实当代码:管理员需要两次
15、输入密码,用来保证输入密码对的,顾客密码输入信息完毕,单击“拟定”,系统将一方面查询数据库中与该顾客名相似记录,如果有相似记录将提示顾客重新输入顾客名。当拟定数据库中没有相似记录,并且两次输入密码一致时将把该条记录添加到数据库中。单击“取消”按钮将取消添加顾客操作。Private Sub Commcancel_Click()frmzj.HideText1.Text = Text2.Text = Text3.Text = mainfrm.guanli.Enabled = Truemainfrm.chaxun.Enabled = Truemainfrm.tongji.Enabled = TrueI
16、f userid = admin Thenmainfrm.xitong.Enabled = Truemainfrm.bdb.Enabled = TrueElsemainfrm.xitong.Enabled = Falsemainfrm.bdb.Enabled = FalseEnd IfGetStatus End SubPrivate Sub Commok_Click()Dim Cnn As New ADODB.ConnectionDim ret As New ADODB.RecordsetDim local_db As StringDim username As StringDim passw
17、ord As StringIf Text1.Text = ThenMsgBox 顾客名不能为空,警告Text1.SetFocusElseIf Text2.Text = ThenMsgBox 密码不能为空,警告Text2.SetFocusElseIf Text3.Text = ThenMsgBox 请确认密码,警告Text3.SetFocusEnd IfEnd IfEnd IfIf Text2.Text = Text3.Text ThenIf Text1.Text And Text2.Text And Text3.Text Thenusername = Trim(Text1.Text)passw
18、ord = Text2.TextSet Cnn = New ADODB.ConnectionSet ret = New ADODB.RecordsetCnn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + App.Path & datadb.mdb + ;Persist Security Info=False; 连接数据库local_db = select 顾客名 from 顾客表 + _ where 顾客表.顾客名= + + username + ret.Open local_db,CnnIf Not (ret.EOF And ret
19、.BOF) Thenret.CloseMsgBox 对不起,此顾客已存在,警告Text1.SetFocusElseret.Closelocal_db = insert into 顾客表(顾客名,密码) + _ values( + + username + , + + password + )Cnn.Execute local_dbMsgBox 新顾客添加成功!,提示frmzj.HideText1.Text = Text2.Text = Text3.Text = mainfrm.guanli.Enabled = Truemainfrm.chaxun.Enabled = Truemainfrm.t
20、ongji.Enabled = TrueIf userid = admin Thenmainfrm.xitong.Enabled = Truemainfrm.bdb.Enabled = TrueElsemainfrm.xitong.Enabled = Falsemainfrm.bdb.Enabled = FalseEnd IfEnd IfEnd IfElseIf Text2.Text And Text3.Text ThenMsgBox 密码不一致,请重新输入,警告Text3.SetFocusEnd IfEnd IfEnd SubEnd Sub3、查询修改实当代码:查询户号;查询修改顾客信息;查
21、询修改人员信息;列表查询;单击“查询修改”下拉菜单中“查询户号”选项即浮现“查询户号”对话框,操作员只需输入所要查询户口户主身份证号即可获得该户户号信息单击“查询修改”下拉菜单中“查询修改户信息”选项,屏幕中会浮现“查询修改户口信息”对话框,操作员在该窗口中输入户号后单击查询按钮,即可浮现“查询修改户信息”对话框,在此对话框中会显示关于该住户信息,并可对该住户户别及家庭住址等信息进行修改,所作修改可及时记入相应数据库系统中。Option ExplicitPrivate Sub Command1_Click()Unload frmuserlistmainfrm.guanli.Enabled = Truemainfrm.chaxun.Enabled = Truemainfrm.tongji.Enabled = TrueIf userid = admin Thenmainfrm.xitong.Enabled = Truemainfrm.bdb.Enabled = TrueElsemainfrm.xitong.Enabled = Falsemainfrm.bdb.Enabled = FalseEnd IfGetStatus End Sub