电子核心期刊浅析门禁系统的设计与实现
来源:核心期刊咨询网时间:12
摘要:摘要:在数字技术网络技术飞速发展的今天,门禁技术得到了迅猛的发展。门禁系统早已超越了单纯的门道及钥匙管理,它已经逐渐发展成为一套完整的出入管理系,它在工作环境安全、人事考勤管理等行政管理工作中发挥着巨大的作用。近年来,门禁系统得到了飞跃式
摘要:在数字技术网络技术飞速发展的今天,门禁技术得到了迅猛的发展。门禁系统早已超越了单纯的门道及钥匙管理,它已经逐渐发展成为一套完整的出入管理系,它在工作环境安全、人事考勤管理等行政管理工作中发挥着巨大的作用。近年来,门禁系统得到了飞跃式的发展,出现了智能卡门禁系统、指纹门禁系统和面部识别门禁系统等各种系统。它们在安全性、方便性和易管理性等方面各有特长,是确保各重要部门出入口安全的有效措施。门禁管理系统可以有效的管理企事业单位员工的出勤情况,规范人事制度管理,保证企事业单位的正常动作,是人力资产管理的重要组成部分。
关键词:门禁系统 网络技术 电子核心期刊
本系统的开发主要包括后台数据库的建立,维护以及前端应用程序的开发两个方面。系统采用目前比较流行的ADO数据访问技术,并将每个数据库表的字段和操作封装到类中使应用程序的各个窗体都能够共享对表的操作,无须重复编码,使程序更加易于维护,从而成功的将面向对象的程序设计思想运用到数据库运用程序设计中。
系统利用门禁管理对企业的人员出入进行智能管理,对员工的基本信息,考勤信息,统计查询等进行管理来提高企业的人事管理的效率,减低企业管理的成本。
系统具有权限管理功能,其权限分两种:系统管理员级权限、用户级权限。通过权限设计保证数据的安全性。
第一章 系统开发环境与分析
1.1 系统开发环境
开发数据库管理信息系统需要选择两种工具,即前台开发语言和后台数据库。VISUAL C++具有功能强大,通用性强和易于扩充等特点,与后端的SQL SERVER数据库相结合,提供一个高性能的管理信息系统解决方案。本设计采用VISUAL C++作为前台开发工具,SQL SERVER作为后台数据库。开发该系统需掌握VC++的基本编程方法、基本的SQL SERVER数据库管理方法,例如创建数据库,创建表,创建视图、ADO数据库访问技术、使用PHOTOSHOP进行简单的图片处理。
1.1.1 VC++简介
目前用于数据库开发的前端工具的开发环境有Delphi、Visual FoxPro、Visual Basic、PowerBuilder以及SOL Server等。随着Visual C++的数据库开发功能的不断增强.它作为一种方便易用的前端开发工具在实际开发中被广泛应用。
VC++的开发环境Developer, Studio包括文本编辑器,资源编辑器,项目建立工具,优化编辑器,增量连接器,源代码浏览器和集成调试器。Developer不仅可创建由VC++使用的文档,还可创建、查询和编辑任何Active文档。VC++对编译器和联接程序进行,使Visual C++支持com应用程序的开发,并大大简化com应用程序的开发工作。同时,编译器进一步优化了代码生成,执行速度更快,效率更高。VC++新增的/EH编译器开关,使程序开发人员能够充分利用C++的异常处理能力,程序有同步异常处理能力。
在VC++中主要使用向导(WIZAR)MICROSFT基本类型库(MICROSOFT,FOUNDATION,CLASS LIBRARY简称MFC)和活动模板库(ACTIVE TEMPLATE LIBRARY,简称ATL)来开发应用程序。VC++使用户可以建立强有力的数据库运用程序,能够快速的集成数据库访问。
1.1.2 SQL SERVER 2000简介
MICROOFT SQL SERVER 2000中文版(简称SQL SERVER 2000或SQL SERVER)是基于客户机/服务器(CLIENT/SERVER)模型的关系型数据库管理系统(DBMS),其特性包括:
SQL Server 2000 数据库引擎提供完整的XML支持。它还具有构成最大的 Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能
可伸缩性和可用性。 同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器
企业级数据库功能。 SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小!
1.1.3 选择ADO 数据访问的原因
Visual C + + 提供了对数据库的多种访问技术,例如ODBC、MFC ODBC、DAO、OLE DB、ADO 等。其中ADO 是最新的数据库访问工具,它提供了访问OLE DB 的应用程序编程接口,集成了数据访问对象DAO(data access objects) 和远程数据对象RDO ( remote data objects) 两者的优点。ADO 与OLE DB 都是基于COM (component objects model ) 接口的技术,使用这些技术可以避免使用ODBC 访问数据库的瓶颈,直接对数据库的驱动程序进行访问,这大大提高了访问速度。ADO 是一个OLE DB 提供者的客户,它自己可以被看作OLE DB 消费者,虽然实际上它只是代表客户使用数据。这样,ADO 处于客户应用程序和OLE DB 提供者之间,向应用程序提供一个更易于访问的数据库接口。
1.2 系统功能需求
企业门禁管理系统包括员工基本信息管理,考勤信息管理,统计查询,用户信息设置四个功能模块,功能需求具体如下:
一、能够对基本信息进行管理,包括企业员工个人信息及企业各部门信息的添加,修改,删除和查询。
二、对进出企业员工进行考勤的管理,包括出勤,加班,请假和出差信息。
三、自动生成考勤表,能够统计查询员工日考勤情况,月考勤情况及当日的缺勤人员列表。
1.3 系统功能模块设计
根据系统功能需求的分析,设计系统的体系结构, 在功能模块图中每一个功能模块都需要针对不同的表完成相同的数据库操作,即添加记录,修改记录,删除记录以及查询显示记录信息。四个主功能模块又都有其子功能模块。其功能模块图如图1-1所示。
图1-1 管理系统功能模块图
在系统初始化时,有两个默认的用户,系统管理员用户为ADMIN,普通用户为USERS,管理员用户拥有权限创建用户,修改用户信息以及删除用户;普通用户则只能修改自己的用户名和密码。这两个用户事先手动添加到数据库中(他们的默认密码是1)。
图1-2 用户管理功能模块关系图
运行系统后首先弹出登陆窗体,对用户的身份进行认证。系统首先确定用户是否是有效的用户,然后再确定用户的类型。
第1个过程是决定用户能否进入系统,第2个过程则根据用户的类型决定其权限。如果需要对普通用户进行管理,则使用ADMIN用户登陆;否则使用USERS用户登陆。如果需要创建其它用户,可以在系统用户信息设置模块中创建。在创建用户时,需要输入用户名与密码,并选择用户类型。ADMIN用户还可以修改和删除其它普通用户数据。
系统的流程分析如图1-3所示。
图1-3 系统流程分析图
在系统流程图中,每个用户有3次机会进行身份认证。如果3次输入的用户名与密码都无法与数据库中的数据匹配,则强制退出系统。
进入系统后,首先增加基本信息,基本信息设置模块包括节假日日期设置,部门信息管理,员工信息管理。节假日日期信息包括具体的日期数据;部门信息包括部门名称和部门描述;员工信息包括员工姓名,性别,生日,身份证号,办公电话,手机电话,所在部门等。
增加基本信息后,就可以添加考勤信息了。考勤信息包括出勤,加班,请假和出差等信息。出勤信息包括全勤,休息,旷工,迟到和早退等信息;加班信息包括员工信息,加班时间,加班类型和加班描述;请假信息包括员工信息,请假类型(病假,事假)和请假原因
统计查询模块包括日考勤统计表,月考勤统计表和当日缺勤人员列表。日考勤统计表包括员工编号,姓名,出勤日期,是否全勤,是否出差,是否事假,是否病假,是否旷工,是否休息,是否迟到,是否早退和备注,用户可以选择日期查看当日各员工的考勤信息;月考勤统计表的内容包括姓名,全勤天数,出差天数,事假天数,病假天数,旷工天数,休息天数,迟到天数和早退天数等信息,用户可以选择月份查看当月各员工的考勤信息;当日缺勤人员列表包括系统当前日期缺勤员工的姓名,部门名称和联系电话。
1.4 数据库结构
以下是对员工实体的E-R图进行分析:
图1-4 员工实体的E-R图
该系统数据库(CheckManage)中包含6个表:HOLIDAYSET(节假日信息表),DEPINFO(部门信息表),EMPINFO(员工信息表),CHECKINFO(考勤信息表),OVERTIME(加班信息表)和USERINFO(用户信息表)。下面分析部分表的结构。
表1-1 HOLIDAYSET属性:
名称 数据类型 大小 说明
ID Int 4 记录编号,主键
HolidayDate Char 10 节假日日期
HolidayName Varchar 50 节假日名称
节假日信息表表名为HOLIDAYSET,用来保存节假日信息,包括节假日时间,节假日名称,其中节假日编号为表的主键。
表1-2 DEPINFO的属性:
名称 数据类型 大小 说明
DepId Int 4 记录编号,主键
DepName Varchar 50 部门名称
DesCribes Varchar 250 部门功能描述
UID INT 4 上级部门编号
部门信息表表名DEPINFO,用来保存部门信息,包括部门名称,部门功能的描述等。其中部门编号为表的主键
表1-3 EMPINFO的属性:
字段名称 数据类型 大小 说明
EmpId Int 4 记录编号,主键
Name Varchar 50 员工姓名
Sex Char 2 性别
Birthday Varchar 20 生日
IdCard Varchar 20 身份证明
OfficePhone Varchar 30 办公电话
Mobile Varchar 30 移动电话
HireDate Varchar 20 到岗日期
DepId Int 4 所在部门
Mission Varchar 40 工作岗位
Duty Varchar 20 职务
Memo Varchar 400 备注信息
员工信息表表名EMPINFO,用来保存员工信息,包括员工姓名,性别,生日,身份证明,办公电话,移动电话的等信息。
表1-4 CHECKINFO的属性:
名称 数据类型 大小 说明
CheckDate Char 10 考勤日期
EMPID Int 4 员工编号
QUANQIN Char 2 是否全勤
CHUCHAI Char 2 是否出差
BINGJIA Char 2 是否病假
SHIJIA Char 2 是否事假
KUANGGONG Char 2 是否旷工
XIUXI Char 2 是否休息
CHIDAO Char 2 是否迟到
ZAOTUI Char 2 是否早退
MEMO Varchar 200 备注信息
考勤信息表表名CHECKINFO,用来保存考勤信息,包括出勤,出差,请假和旷工信息都保存在此表中。
表1-5 OVERTIME的属性:
名称 数据类型 大小 说明
otDate Char 10 加班日期
EmpId Int 4 员工编号
OtHour Smallint 2 加班时数
OtType Varchar 50 加班类型
Describes&nb
sp;Varchar 200 描述
加班信息表表名OVERTIME,用来保存加班信息,通过员工编号读取员工姓名。
表1-6 USERINFO的属性:
名称 数据类型 大小 说明
UserName Varchar 40 用户名
Psaawd Varchar 40 密码
UserType Int 4 用户类型
用户信息表表名USERINFO,用来保存用户信息:用户名与密码,用户类型(1-系统管理员,2-普通用户),两种用户类型代表两种权限。
在表的结构表中为了规定各表之间的关系,还定义了一组外键,如表1-7所示。
表1-7 外键定义:
关系名 主键表 主键字段 外键表 外键字段
FK-EMPINFO-DEPINFO DEPINFO DEPID EMPINFO DEPID
FK-CHECKINFO-EMPINFO EMPINFO EMPID CHECKINFO EMPID
FK-OVERTIME-EMPINFO EMPINFO EMPID OVERTIME EMPID
其关系图如图1-5所示:
图1-5 数据库关系图
第二章 工程框架设计
2.1设置主界面对话框
工程对话框名为CHECKMANAGE,默认的主对话框IDD-CHECKMANAGE-DIALOG。使用PHOTOSHOP工具制作适合自己的图片(bitmap.bmp)作为背景图片,设置主界面对话框的属性如下。
表2-1 主界面对话框的属性:
属性 设置值 具体说明
CAPTION 企业门禁管理系统 对话框的标题条文本
MINIMIZE BOX 选中 激活最小化按钮
主界面如图2-1所示:
图2-1 系统主界面图
2.2 为表创建类
系统为数据库的每一个表都创建了一个类,类的成员变量对应表的列,类的成员函数是对成员变量和表的操作。
一、CHOLIDAYSET类用来管理表HOLIDAYSET的数据库操作
表2-2 CHOLIDAYSET类的成员函数:
成员函数名 具体说明
CHOLIDAYSET 初始化成员函数
HAVEHOLIDAY 判断指定的节假日是否已经在数据库中,参数PARAHOLIDAY表示指定的节假日日期。返回-1表示不存在,返回1表示存在
VOID SQL-DELETE 删除指定的节假日记录,参数PARAID表示要删除的节假日的编号
VOID SQL-INSERT 插入新的节假日记录
VOID SQL-UPDATE 修改指定的节假日记录,参数PARAID表示要修改的节假日的编号
二、CDEPINFO类用来管理表DEPINFO的数据库操作
表2-3 CDEPINFO类的成员函数:
成员函数名 具体说明
CDEPINFO 初始化成员函数
HAVENAME 判断指定的部门名称是否已经在数据库中,参数PARANAME表示指定的部门名称。返回-1表示不存在,返回1表示存在
HAVESON 判断指定的部门是否存在下级部门,参数PARAID表示指定的部门编号。返回-1表示不存在,返回1表示存在
HAVEEMP 判断指定的部门是否包含员工,参数PARAID表示指定的部门编号
GETINFO 根据部门编号获取部门信息,参数PARAID表示指定的部门编号
SQLDELETE 删除指定的部门记录,参数PARAID表示要删除的部门记录的编号
SQLINSERT 插入新的部门记录。
SQLUPDATE 修改指定的部门记录。参数PARAID表示要修改的部门的编号
三、CEMPINFO类用来管理表EMPINFO的数据库操作。
表2-4 CEMPINFO类的成员函数:
成员函数名 具体说明
CEMPINFO 初始化成员函数
GETINFO 读取指定的员工记录。参数PARAID表示记录编号
SQLDELETE 删除指定的记录。参数PARAID表示删除编号
SQLINSERT 插入新的记录
SQLUPDATE 修改指定的记录。参数PARAID表示记录编号
四、CCHECKINFO类用来管理表CHECKINFO的数据库操作。
表2-5 CHECLINFO类的成员函数:
成员函数名 具体说明
CCHECKINFO 初始化成员函数
HAVEEMP 判断指定日期中指定员工是否存在考勤记录。参数PARACHECKDATE表示考勤日期,参数PARAEMPID表示员工编号
SQLDELETE 删除指定的记录
SQLINSERT 插入新的记录
UPDATEERRAND 更新出差信息
UPDATELEAVE 更新请假信息
UPDATEONDUTY 更新出差信息
五、COVERTIME类用来管理表OVERTIME的数据库操作。
表2-6 COVERTIME类的成员函数:
成员函数名 具体说明
COVERTIME 初始化成员函数
HAVEEMP 判断指定日期中指定员工是否存在加班记录。参数PARACHECKDATE表示考勤日期,参数PARAEMPID表示员工编号
SQLDELETE 删除指定的记录
SQLINSERT 插入新的记录
SQLUPDATE 更新加班信息
六、CUSERINFO类用来管理表USERINFO的数据库操作。
表2-7 CUSERS类的成员函数:
成员函数名 具体说明
CUSERINFO 初始化成员函数
GETINFO 读取指定的记录。参数PARAUSER表示要读取数据的用户名
ISEXISTUSER 判断指定用户名是否存在数据库中
SQLDELETE 删除指定的用户记录
SQLINSERT 插入新的用户记录
SQLUPDATE 修改指定的用户记录
&nbs
p;
第三章 系统功能模块介绍
3.1 用户登陆模块
用户要使用系统,首先必须通过系统的身份认证。登陆对话框如图3-1所示。
图3-1登陆对话框
对话框在启动时首先打开登陆对话框,在登陆对话框中,用户只有在通过身份认证后才能关闭对话框。因此可以判断用户是否已经通过了身份认证。登陆对话框的属性如下表:
表3-1设置主对话框的属性
属性 设置值 具体说明
ID IDD-LOGIN-DLALOG 对话框的ID值
CAPTION 登陆对话框 对话框的标题条文本
FONT NAME 宋体 设置对话框中的字体
FONT SIZE 9 设置对话框的字号
当用户单击“确定”按钮时,将测试用户名的有效性,看是否可以进入。
部分代码如下:
// 判断用户是否存在
if(!User.IsExistUser(m_User))
{
count++;
if(count < 3)
{
MessageBox("用户名不存在,请重新输入", "用户名错误", MB_ICONINFORMATION);
m_User = "";
m_Passwd = "";
UpdateData(FALSE);
GetDlgItem(IDC_USER_EDIT)->SetFocus();
return;
}
else
{
MessageBox("重试次数已到,不能再输入用户名和密码,即将退出系统!", "用户名错误", MB_ICONEXCLAMATION);
exit(0);
return;
}
}
COUNT是公共变量,用于登陆失败的次数。如果登陆失败达到3次,则退出系统。
3.2 基本信息设置模块
3.2.1 节假日日期设定模块
在基本信息设置里选择“节假日日期设定”,系统讲显示节假日信息。管理人员可以对节假日的日期和名称进行添加,修改,删除操作。在保存数据之前,系统会判断节假日记录是否存在,其窗口如图3-2所示:
图3-2节假日日期管理
3.2.2 部门管理模块
部门信息管理模块包括信息编辑对话框、部门信息对话框和部门信息选择对话框。管理员可以对部门信息进行添加,删除,修改操作,其窗口如图3-3所示:
图3-3 部门信息管理
3.2.3 员工管理模块
员工基本信息的对话框可以用来添加,修改,删除员工信息,系统使用编号变量来标记添加和修改的状态。如下图:
图3-4 员工信息管理
部分代码如下:
void CEmpManDlg::RefreshData()
{
UpdateData(TRUE); //从Tree控件中读取部门编号信息
int iDepId;
HTREEITEM node;
node = m_tree.GetSelectedItem();
iDepId = m_tree.GetItemData(node); //根据部门编号设置SELECT语句
CString cDepId;
cDepId.Format("%d", iDepId); //设置SELECT语句
CString cSource = "SELECT EmpId, Name AS 姓名, Sex AS 性别,"
" Birthday AS 生日, IdCard AS 身份证号, OfficePhone AS 办公电话,"
" Mobile AS 手机号码, HireDate AS 到岗日期, Mission AS 工作岗位,"
" Duty AS 职务, Memo AS 备注 FROM EmpInfo e, DepInfo d"
" WHERE e.DepId = d.DepId"; // 若选择的不是根节点
if(m_tree.GetItemData(node) != 0) //不是根节点
{ // 第2级节点
if(m_tree.GetItemData(m_tree.GetParentItem(node)) != 0)
{
cSource += " AND d.DepId = " + cDepId;
} // 第1级节点
else
{
cSource += " AND (d.UID = " + cDepId + " OR d.DepId = " + cDepId + ")";
}
} //刷新ADO Data控件的记录源
m_Adodc.SetRecordSource(cSource);
m_Adodc.Refresh();
//设置列宽度
_variant_t vIndex;
vIndex = long(0);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex = long(1);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
vIndex = long(2);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(30);
vIndex = long(3);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(75);
vIndex = long(4);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(135);
vIndex = long(5);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(75);
vIndex = long(6);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(85);
vIndex = long(7);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(70);
vIndex = long(8);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(120);
vIndex = long(9);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(45);
vIndex = long(10);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(60);
}
3.3 考勤管理模块
3.3.1 出勤管理模块
单击“选择部门”按钮,将在左侧的表格中显示选择部门中的所有员工信息。选择一个员工,会在右侧下方显示他的出勤状态。可对出勤状态进行添加、修改和删除功能。选择出勤状态后,单击“确定”,可以保存指定员工的出勤情况。系统通过获取当前选择的部门编号。然后根据选择部门编号获取部门中所有员工的出勤记录。窗口如图3-5所示:
图3-5 出勤管理
3.3.2 加班管理模块
进入加班信息管理框后,所有员工加班信息全部显示出来,便于查看。选择一个员工,可以对员工的加班信息进行添加、修改和删除,选确定后,保存员工加班信息。
3.3.3 请假管理模块
管理员进入请假信息管理模块后,可看到所有员工的请假信息。选择部门,就可以看到所选部门所有员工请假信息。请假分为病假和事假两种情况,并且需要输入请假原因。选择一个员工后,可对员工请假信息进行修改、删除,单击“确定”,保存信息。如果在出勤信息管理模块中已输入了出勤信息,则不能再输入请假信息。窗口如图3-6所示:
图3-6 请假管理
3.3.4 出差管理模块
进入出差信息管理后,可以看到所有员工的出差信息,选中一个员工后,可以对员工出差信息进行添加、修改和删除的功能,并可以对出差进行描述。单击“确定”,保存出差信息。如果在出勤信息管理模块中已输入了出勤信息,则不能再输入出差信息。
3.4 统计查询模块
3.4.1 日考勤统计表模块
日考勤统计表可以按日查看所有员工的出勤、加班、请假和出差等信息。当进入日考勤统计界面后,选择要查询的考勤日期,点击“查询”后,将显示该日的所有员工考勤记录。界面如下图:
图3-7 按日查询
3.4.2 月考勤统计表模块
月考勤统计表可以按月份统计所有员工的出勤天数、请假天数和出差天数信息。其中分别包括按月份统计所有员工的全勤天数、休息天数、旷工天数、迟到天数、早退天数、病假天数、事假天数和出差天数。进入按月查询模块后,点击部门后,进行查询,将显示该部门中的所有员工的月考勤信息,便于部门对员工月出勤情况的查询、考核。
3.4.3 当日缺勤人员列表模块
进入当日缺勤人员列表管理模块后,选择日期,可以查询当前系统日期中所有缺勤的员工信息,缺勤指病假、事假和旷假等情况,便于对员工的考核。
部分代码如下:
void CAbsenceDlg::RefreshData()
{
UpdateData(TRUE);
//根据部门编号设置SELECT语句
CString cTime;
cTime = CurrentTime.Format("%Y-%m-%d");
// 设置SELECT语句
CString cSource = "SELECT e.EmpId AS 员工编号, e
.Name AS 姓名, d.DepName AS 部门名称,"
" e.Mobile AS 联系电话 FROM DepInfo d, EmpInfo e"
" WHERE e.DepId = d.DepId AND e.EmpId IN"
" (SELECT EmpId FROM CheckInfo WHERE (ShiJia='是' OR BingJia='是' OR KuangGong='是')"
" AND CheckDate = '" + cTime + "')";
//刷新ADO Data控件的记录源
m_Adodc.SetRecordSource(cSource);
m_Adodc.Refresh();
//设置列宽度
_variant_t vIndex;
vIndex = long(0);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(00);
vIndex = long(1);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(130);
vIndex = long(2);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(130);
vIndex = long(3);
m_Datagrid.GetColumns().GetItem(vIndex).SetWidth(140);
}
3.5 用户信息设置模块
进入界面后,如果是以管理员身份登陆就可以对用户信息可进行添加、修改和删除。用户管理模块的界面如下:
结 论
经过初期的分析、中期的开发及后期的调试,如今企业门禁管理系统终于设计完毕,调试并运行通过了。
通过本次这次实习设计我感受良深,从中学到不少在学校在课堂上学不到的东西.通过实次实践我深刻的感觉到软件开发的艰辛及问题解决后的喜悦,它培养我们独立思考问题的能力,同时也增强了我的动手能力,为以后自己在所要从事工作奠定了基础。
通过本次的实践我对系统设计产生了浓厚的兴趣,体会到,在课堂上学习的理论固然重要,但是不去实践就不能完全了解它内涵,要多看有关程序开发及设计方面的书籍,拓宽自己的设计思路。在系统的开发过程中,一定要目的明确,一步一步的走,做到系统总体结构清晰,变量定义要统一,这一点我感受最深刻,也为之付出了不小的代价,光数据库结构及其字段定义就随系统更改了数次,浪费好多的时候和心血,所以开发初期问题的定义是十分重要的,一定要结构合理,考虑到系统的完整性。
我想通过我们在校学习的相关专业知识以及在实践中积累的些经验,在经过一段时间的磨练,对于开发系统来说不是很难的事,也并非只有专业人员才能开发设计。总之学海无涯,我们只有不断的学习,不断的进步,才能在瞬息万变、人才济济的社会竞争中,立于不败之地!
致 谢
本文是在我的导师岑岗教授亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,岑老师都始终给予我细心的指导和不懈的支持。
感谢大学里教过我的老师,四年里在学到专业知识之余也给了我很多人生的启示
在此,我还要感谢在一起愉快地度过大学生活的5号楼213各位舍友,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。
感谢蒋剑剑同学在系统调试过程中给予的帮助,他在代码纠错上所表现出来的细致与耐心给了我很大的感触!
在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!
最后我还要感谢培养我长大含辛茹苦的父母,谢谢你们!
参考文献
盛志伟.ADO数据访问方法[J], 金华职业技术学院学报,2005,(5)
王伟.Visual C++6.0进行数据库开发常用技术及ADO应用实例[J], 广播电视信息,2008,(9)
谭浩强.SQL Server 2000数据库实训教程[M].清华大学出版社 2007
董锐. VC中使用ADO管理SQL Server数据库[J].应用科技,2003
李鸿.开放型实验室网络门禁考勤管理系统设计[J]. 电脑与信息技术,2008,(12)
萨师煊,王珊.数据库系统概论[M],高等教育出版社,1991
陈丽春.智能化考勤系统设计[J], 温州师范学院学报,2006,(4)
高煌.智能门禁系统[J]. 福建轻纺, 2004,(6)
[9] 孙超. 在Visual C++中ADO对象如何访问数据库应用程序[J], 赤峰学院学报,2008
[10] 黄梯云.管理信息系统[M].高等教育出版社,2003
[11] 张国耀. 浅谈门禁系统[J]. 江西建材, 2005
[12] 冯为华.校园一卡通考勤及门禁管理系统的开发与研究[J]. 四川理工学院报,2006(2)
[13] S. Waks1. and N. Sabag. Technology Project Learning Versus Lab Experimentation Journal of Science Education and Technology, Vol. 13, No. 3, September 2004
[14] Christian Gross. Learning About Relational Database Data .Beginning VB 2008
转载请注明来自:http://www.qikan2017.com/lunwen/dzi/6085.html
相关论文阅读
- 2022-09-28创新要素对涉农科技型企业发展质量的影响
- 2022-09-19“一带一路”建设框架下中非经贸合作的机遇与挑战
- 2022-07-14多媒体计算机技术在广播电视工程中的应用
- 2022-07-12高校教务管理信息化的优势及发展趋势
- 2022-07-04探讨光伏发电技术中分布式控制的有效应用
- 2022-07-02计算机通信网络安全维护措施研究
- 2022-06-30在线实训教学模式在电子商务教学中的应用研究
- 2022-06-25低代码数据接口开发架构的研究与实现
- 2022-06-24区块链技术对审计模式优化的探索
- 2022-05-28云网安全防护运维管控的研究
期刊论文问答区
- 2025-05-13教师职称评审级别及所需学术成果材料
- 2025-04-24英文期刊发表论文几个版面起发
- 2025-01-21论文顺利通过审稿的8个操作
- 2025-01-11管理学类30本期刊(国自然基金委员会认定)
- 2025-01-02电刺激治疗相关文章选题推荐
- 2024-12-17植物学比较热门的论文选题
- 2024-12-03人事管理方面文章选题推荐和发表期刊
- 2024-11-18金融学专业的论文选题方向推荐
- 2024-11-01教育核心期刊有哪些
- 2024-07-12学术论文初审是谁在审?审什么?审多久?
电子信息优质期刊
- 1国家级《计算机与网络》
- 2国家级《解放军理论学习》
- 3省级《工程技术研究》
- 4核心级《无线电通信技术》
- 5省级《常州工学院学报》
- 6省级《计算力学学报》
- 7核心级《电子技术与软件工程》
- 8省级《天津大学学报:自然科学与工程技术版》
- 1国家级《计算机与网络》
- 2国家级《解放军理论学习》
- 3国家级《机电元件》
- 4国家级《中国电子科学研究院学报》
- 5国家级《电子科学学刊:英文版》
- 6国家级《材料科学技术学报:英文版》
- 7国家级《电光与控制 》
- 8国家级《测绘学报》
- 1省级《工程技术研究》
- 2省级《常州工学院学报》
- 3省级《计算力学学报》
- 4省级《天津大学学报:自然科学与工程技术版》
- 5省级《福建电脑》
- 6省级《计算机技术与发展》
- 7省级《深圳大学学报:理工版》
- 8省级《测绘科学与工程》
- 1核心级《无线电通信技术》
- 2核心级《电子技术与软件工程》
- 3核心级《润滑与密封》
- 4核心级《计算机应用与软件》
- 5核心级《电讯技术》
- 6核心级《固体电子学研究与进展》
- 7核心级《自动化学报》
- 8核心级《内蒙古大学学报:自然科学版》
最新期刊更新
- 《中国政府采购》
- 《中国政府采购》
- 《农业图书情报学刊》
- 《农业技术经济》
- 《水文地质工程地质》
- 《房地产世界》
- 《中央民族大学学报:哲》
- 《广州化学》
- 《物理学报》
- 《东方宝宝》
- 《新能源进展》
- 《热带农业科学》
- 《建筑经济》
- 《中国学校卫生》
精品推荐
- 12022-09-28创新要素对涉农科技型企业发展质量的影响
- 22022-09-19“一带一路”建设框架下中非经贸合作的机遇与挑战
- 32022-07-14多媒体计算机技术在广播电视工程中的应用
- 42022-07-12高校教务管理信息化的优势及发展趋势
- 52022-07-04探讨光伏发电技术中分布式控制的有效应用
- 62022-07-02计算机通信网络安全维护措施研究
- 72022-06-30在线实训教学模式在电子商务教学中的应用研究
- 82022-06-25低代码数据接口开发架构的研究与实现
- 12018-05-06机器人研究方向有哪些核心期刊比较好投
- 22017-09-07国内电气工程方面的普刊有哪些?
- 32018-03-02电气审稿较快的期刊
- 42022-02-26人工智能在财会领域的运用与应对策略
- 52021-11-17港口码头系统智能化应用的现状与发展
- 62022-02-26电气工程及其自动化技术在电力系统中的应用分析
- 72022-03-01数据管理视角下的内控信息化建设
- 82022-06-30在线实训教学模式在电子商务教学中的应用研究
- 12025-05-13教师职称评审级别及所需学术成果材料
- 22025-05-08人力资源专业论文发ssci
- 32025-05-08评职称著作合著快还是独著快
- 42025-04-24英文期刊发表论文几个版面起发
- 52025-04-24声音与振动杂志JOURNAL OF SOUND AND VIBRATION期刊收稿方向
- 62025-02-12“互联网+”时代的农产品营销与农业经济发展
- 72025-02-12羊肉消费市场调研
- 82025-02-12文创产品营销策略
- 12021-05-24刊号字母G、G0、G1、G2、G3、G4、G8是什么意思
- 22021-05-06论文引用率不能超过多少
- 32018-09-11语法翻译法的运用以及优缺点分析
- 42020-03-08发表在期刊上的论文一般多少字
- 52020-09-21疾控中心工作怎么评职称
- 62020-01-03新北大核心什么时候更新,几年更新一次
- 72020-03-08通讯作者和二作哪个含金量比较高
- 82021-02-23发表的期刊论文见刊的时候可以在知网查到吗