访客管理系统的开发摘要本文首先对访客管理系统作了简要的分析,包括需求分析和可行性分析;其次对系统的设计思路作了详尽的说明,介绍了系统的具体实施过程,各个模块的创建与设计,并提供了所需的各代码段。
通过对访客管理系统实施过程的详细介绍和说明,基本描述了该系统的设计和开发过程,最后针对系统调试和测试要注意的问题作了说明,并简单介绍了该系统的运行环境以及如何使用系统。
【关键字】系统流程,系统设计,数据库,1.1系统概述应用背景与系统功能随着计算机技术的不断发展,公司、企业和机关的计算机化管理已经逐渐普及,计算机技术已经深入到企业管理的各个方面。
例如本章中所要设计的访客管理系统、利用它就可以安全、可靠的管理公司、企业的访客记录,不仅可以保障公司安全更可以提高公司的管理水平和形象。
本系统是一个小型访客管理系统,Visual Basic开发来进行数据库操作、系统开发的,总体任务是实现访客的登记、查询和本管理系统的用户权限维护和使用记录。
本系统主要完成的功能有: 记录访客的基本资料,包括访客姓名、性别、来访时间、访问理由等,井将访客的资料存入访客资料数据表中。
用户数据的维护,即维护用户数据表,完成各种对用户的操作,如用户登录、添加用户、更改密码和查看用户资料等。
用户使用.如查看访客资料,查看用户资料(依用户权限杳着,可以按姓名、性别、来访时间、来访原因查看)等。
用户操作记录,记录每个用户的访问时间,以及用户进行的操作。
用户权限管理,按照数据表里记录的权限,允许其执行相应的功能。
1.2 系统预览用户成功登陆成功后进入系统的主界面,如图1-1所示图1-1 系统主界面-访客登记系统的主界面主要包括以下几部分:1)菜单2)工具栏3)当前用户状态说明4)程序主窗口1.2 系统设计1.2.1系统设计思想本系统主要完成访客资料的记录和查询,为此,系统必须能够维护一个记录访客洋细资料的数据表,对该表进行写入和读出数据的操作。
与此同时本系统还要给护用户权限,这样系统必须维护用户资料数据表,管理用户ID,密码和用户权限类型。
系统还要能够记录和查询用户的一个操作。
记录用户操作的数据表。
记录用户lD 、所进行的操作类型.以及该操作的具体时间等首先用户登录系统时,程序要从己有的用户资料数据表中读出用户名和密码。
检验该密码和用户输入的密码是否匹配,只有用户名在数据库中存在,且密码庄确时,用户才能进入系统。
当有访客来访需要登记时,程序就将用户填写的访客资料写入访客资料数据表中。
管理员查询访客资料时,程序又从数据库中读出访客记录。
修改密码和添加新用户资料时,也能完成数据库的写入操作,另外,用户和管理员的某个操作会记录到用户操作记录数据表中。
当管理员查询这些记录时,再从该表中按照管理员的查询要求读出。
1.2.2 系统功能模块划分根据上述的系统总体设计思想的分析,将系统分为以下几部分:.访客管理模块:用于实现访客资料记录和访客资料查询功能。
.用户管理模块;用实现用登录管理,用户资料管理和用户权限管理等功能.记录管理模块:用于实现自动添加用户操作记录和查询操作记录功能系统功能图3 一7 所示的系统功能模块图图1-2系统功能模块图1.2.3 系统流程分析本系统流程比较简单,用户登录检验成功后,就进入系统。
用户选择不同的操作,有些操作需要判断权限,然后对数据库进行相应的操作。
系统流程图如图3-8所示。
图3-8 系统流程图.3.3 数据库设计对于开发数据库应用系统而言,大致可分为数据库分析、设计和应用程序分析、设计两部分。
数据库的合理设计在系统设计中占有非常重要的她位,它可以提高数据存储效率,保证数据的完整致。
要设计出一个性能良好的数据库应用系统并不是一件简中的工作。
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的及将来可能增加的需求。
本系统以下几个步骤来设计数据库:(1)数据库需求分析。
(2)数据库概念结构设计。
(3)数据库逻辑结构设计。
1.3.1 数据库需求分析现在要设计的数据库系统要应用于访客登记管理,所以必须充分满足访客登记管理的各种要求。
此系统要求登记每一位访客的资料,并允许有权限的用户查询这些资料,也因为这样.系统必须同时维护用户数据,对每个操作都要判断用户权限是否符合要求,系统还记录每个用户的每次操作,以便系统管理员能查看所有用户的操作历史记录、通过上述分析,数据库设计必须满足以下几点:.用户可记录访客资料。
.高级用户和系统管理员可查询访客资料。
为了查询访客资料.可查询字段在访客登记时必须设为必填字段,以供杳询:如访客妙名、性别、来访时间、来访原因及记录用户的ID.系统管理员可查询用户操作记求:为了查询操作记求,可查询字段在每次记录操作时必须设为必填字段:如用户ID 、操作时间和操作类型(登记访客资料、查询访客资料、更改密码、添加新用户、查看用户资料、查看操作记录).用户ID 必须唯一.每个用户ID 必须对应一个用户类型(普通用户、高级用户、系统管理员),以便在进仃某些操作时判断权限。
.用户记录可以添加和修改。
.系统管理员可以查看用户资料。
访客登记和用户操作记录中的用户字段必须和用户表中的用户ID 相关联。
1.3.2 数据库概念结构设计通过对此系统的总体分析,我们可以得到大概的实体一关系模型图3-10 访客管理系统的E-R 模型1.3.3 数据库逻辑结构设计数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
访客管理系统数据库中各个表的设计结果如表1-1、表1-2、表1-3所示。
每个表格表示在数据库中的一个表,数据库由三个数据表组成;一个是访客登记表(guestinfo),第二个是用户信息数据表(userinfo),第三个是用户操作记录数据表(userrecord)。
表1-1 访客登记数据表(guestinfo)表1-2用户信息数据表表1-3用户操作记录数据表1.4 数据库的生成与配置1.4.1 建立数据库首先使用Access 新建一个数据库。
命名为Guest.mdb 该数据库包含3 个数据表:.储存访客信息的表Guestlnfo 。
.储存用户信息的表Userinfo。
.储存用户操作信息的表UserRecord1.4.2 设计数据表以上各表建立完成后,分别将1.3.3 中设计的字段信息填入表的设计视图中图3 。
12 用户信息表Userlnfo 的设计现图对于各个数据表中某些取值固定的字段,为了避免错误和简化输入,可以设置字段的取值范围。
具体方法是:首先单击字段属性中的”查阅”选项卡.然后将”显示控件’‘属性改为“列表框”,行来源类型属性改为值列表,在行来源中输入字段的取值,各个取值之间用;分开。
按上述步骤建好这3 个数据表的结构后.接着建立表之间的关系,在Access 系统中建立表之间的关系也非常容易。
选择菜单【工具】·【关系】命令,者单由工具栏上的【关系】图标,打开Access 关系视图首先在“显示表”对话框中将需要建立关系的表添加到“关系”窗口中,然后直接拖动鼠标,将要建立又系的字段连接起来.便会有一条实线连接在两字段之间,这样就建立好表之间的关系了。
在建立了数据表之间的关系后,建立关系的字段属性将不能再更改,要更改则必须先取消关系,更改字段属性后再重新建立连接.因此通常在各数据表都建立得比较完善后才建立数据表之间的关系1.5 公共模块启动Visual Basic 6.0 后,新建一个标准EXE 工程,然后将该工程保存,选择保存路径,并命名为访客管理系统工程。
接着给该工程添加一个模块。
选择菜单【工程】-【添加模块】命令,命名为Mdipublic。
此模块的主要功能是定义公共变最和公共类型。
1.5.1添加全局变量首先我们加入两个全局变量,它们的名称和功能如下 : 定义数据类型1.5.2下面用到的Usertype数据类型定义如下:1.5.3 定义公共函数AddRec函数用于记录所有的用户操作,需要应用于各个窗体,因此在此模块中定义为公共函数,具体定义和功能参见程序3-1 。
至此,本程序中需要用到的公共变量和公共函数已经添加完毕.接下来添加各个操作界向窗口。
3.6 用户登录界面设计首先设计的是用户登录界面。
此界面主要有两个功能;.连接数据库。
.检验用户登录。
1.6.1设计用户登录窗体控件布局选择菜单【工程】-【添加窗体】命令,或者在工程资源管理器中用鼠标右键单击工程,在弹出的快捷菜单中选择【添加】-【添加窗体】命令,在工程中添加个窗体,命名为frm_login。
1.6.2用户登陆界面编辑状态预览添加各个控件及设置的属性后.适当地调整各控件的人小和位置.得到如图3-4所示的登录界面设计视图。
1.6.3用户登录界面设计完成后,接着就需要编写代码来实现该界面的相应功能。
首先给出该界面的流程图.然后分别讲述各部分的实现代码.1 .登录界面代码流程图3 一16 登录界面代码实现流程2.Form_Load 过程这是系统启动界面,因此首先在FormLoad 过程连接数据库,以便检验需要登录用户ID和密码。
另外本过程也检验本程序是否已经启动过,以避免程序重复运行。
具体代码如例程3 一2 所示。
例程32 Forme 劫ad 过程3 .【登录】和【取消】按钮的实现代码在用户登录界面,我们主要实现【登录】和【取消】两个按钮的功能,当用户单击【登录】按钮后,程序应该检验用户输入的ID 是否存在,密码是否正确,正确则将用户资料存入内存并进入系统。
如果单击【取消】按钮则退出程序。
下面的例程3 一3 就是这部分的具体实现代码。
3.7 用户管理界面设计用户登录界面完成后,接着设计几个需要用到的功能界面,首先是用户管理界面,此界面主要有以下几个功能;.修改用户密码。
.添加新用户。
.查看用户资料。
1.7.1设计用户管理界面控件布局在工程中添加一个窗体,命名为frm_user。
接着按表3-5 所示的设置为用户管理窗体添加控件(己有控件只需设置属性即可)。
表1-5 用户管理窗体及其控件属性的设置listView 控件LvQuery的设置如下:建立ListView 控件并按照表1-3所示命名设置属性后,用鼠标右键单击该控件.在弹出的快捷菜单中选择【属性】命令,然后在弹出的对话框中选择列首选项卡,单击【插入列】按钮,依次给日listview 控件添加4个列,用户ID 、用户名、用户类型和备注,再调整各个列的列宽到合适的大小1.7.2 用户管理界面编辑状态预览正确按照上述内容设置各个控件的属性后.然后适当地调整各神件的大小和位置.可得到如图3 一17 所示的用户管理界面设计视图。
其中和LvQuery 列表框在设计视图中是重叠在一起的‘3.7.3 用户管理界面的实现代码界面设计完成后,接着编写代码实现用户管理界面的相应功能。