您的当前位置:首页正文

门禁管理系统

2021-07-02 来源:易榕旅网
论文题目:关系型数据库在应用软件系统中的应用

.

C#+sql server2000校园门禁系统毕业设计

摘要

随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。

本系统主要用于学校门禁信息管理,总体任务是实现学生及外来人员出入信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种进出信息进行日常管理,如查询 、出校入校登记,本系统主要用于学校学生出入信息管理和外来人员的信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常门禁管理,本系统主要包括门禁系统包括数据库信息管理、用户信息管理、内部人员信息管理、外来人员信息管理、系统管理等功能。

关键字:门禁、窗体、域、数据库。

目录 绪论

1 系统开发环境与技术支持 1.1 开发工具的选择 1.1.1 C#简介

1.1.2 SQL SERVER 简介 1.2 设计工程框架

1.2.1 创建工程并设置主界面 1.2.2 添加类 1.3 系统运行环境 2 系统分析

2.1 系统可行性分析 2.2 系统体系结构设计 2.3 数据库结构设计 3 系统详细设计与实现 3.1 登陆模块

3.2 基本信息管理模块设计 3.2.1 学生信息模块 3.2.2 部门信息管理模块 3.2.3 教职工基本信息

3.3 管理模块设计 3.3 管理模块设计

3.3.1 学生出入信息管理模块 3.3.2 外来人员信息管理模块 3.3.3 教职工信息管理模块 3.4 查询模块设计 24

3.4.1 学生出入查询管理模块 24 3.4.2 外来人员查询管理模块 25 3.4.3 教职工查询管理模块 25 3.5 用户管理模块 27 结束语 28 致 谢 29 参考文献 30

绪论

门禁管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以门禁管理系统应该能够为用户提供充足的信息和快捷的登记手段。但一直以来人们使用传统人工的方式管理文件档案、查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。

作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。

随着网络技术的不断进步个信息技术的广泛普及,门禁系统为学校的保卫人员的工作效率提供了一个简捷的途径,大大的节约人工和时间,软件有可扩展性可方便将来的需求加入相关的功能模块,可广泛运用于各大高校,军事院校,初中、高中等。

1 系统开发环境与技术支持 1.1开发工具的选择

本系统采用面向对象的软件开发办法,以Microsoft公司的可视开发环境 C# 作为主要开发工具,使用SQL Server 2000作为关系数据库,并为C#编程语言中采用ADO数据库编程模型,配合功能强大的SQL查询语言实现建立关系数据库,放问数据库,对数据库的更新,较好地实现了预定的需求功能。

1.1.1C#简介

C# (C sharp) 是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。 正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选--无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML 网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。

最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

C#的特点

1. 简洁的语法

C#中用真正的关键字换掉了那些把活动模板库(Active Template Library,ALT)和COM搞得乱糟糟的伪关键字,如:OLE_COLOR,BOOL,DISPID_XXXX等。每种C#类型在.NET类库中都有了新名字。 2.精心地面向对象设计

C#具有面向对象的语言所应有的一切特性:封装、继承和多态。然而,通过精心地面向对象设计,从高级商业对象到系统级应用,C#是建造广泛组件的绝对选择。 C#类型中,每种类型都可以看作一个对象。C#提供一个叫装箱与拆箱的机制来完成这种操作,这个不会给使用者带来麻烦。

C#只允许单继承,从而避免了类型定义的混乱。在C#中没有了全局函数,没有了全局变量,也没有了全局常数,一切的一切都是封装在一个类中。使代码具有更好的可读性。 3.与Web的紧密结合

由于历史原因,现存的一些开发工具不能与WEB紧密地结合,SOAP的使用使得C#克服了这一缺陷。 C#组件将能够方便地为WEB服务,并允许它们通过INTERNET被运行在任何操作系统上的任何语言所调用。 4.完整的安全性与错误处理

C#会帮助开发者通过更少的代码完成相同的功能,不仅减轻我们程序员的工作量,还同时避免了错误的发生。C#中不能使用未初始化的变量。C#不支持不安全的指向,不能将整数指向引用类型。 5.版本处理技术

在C#语言中内置了版本控制功能。可以防止代码级错误和保留版本化的特性。还有一个特性:就是接口和接口继承的支持。这些特性可以保证复杂的软件可以被方便地开发和升级。

6.灵活性与兼容性

灵活性:在C#中,如果需要,你可以将某些类或者类的某些方法声明为非安全的。这样,你就能够使用指针、结构和静态数组,并且调用这些非安全的代码不会带来任何其它的问题。还有就是:它提供了delegates来模拟指针的功能。兼容性:在C#中允许与C风格的需要传递指针型参数的API进行交互操作,DLL的任何入口点都可以在程序

中进行访问。C#遵守.NET公用语言规范(CLS)从而保证了C#组件与其它语言组件间的互操作性。元数据概念的引入更是既保证了兼容性,又实现了类型安全。

1.1.2 SQL SEVER2000简介

SQL Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。

SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。

SQL SERVER 与其他语言的比较 Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。Microsoft Access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃,表现为英文“Service Unavailable”。

MS SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Microsoft Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。Microsoft SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。

MySql短小精悍,象access一样的文件型数据库,但比access强百倍,是真正多用户多任务的数据库系统,从Linux上移植过来的,安全性非常好,不过大部分操作是在dos下进行,虽然也有第三方开发的图形界面但并不好用。MySQL是跨多平台的数据库管理软件,可运行于LINUX、NT、UNIX等系统,可支持命令和图形化管理,对于一般的数据库足以应付了,占用系统资源较少,速度较快,而且是开源的。

Oracle各方面都比较成熟,但对硬件要求高,用于数据完整性、安全性要求较高的场合,能在所有主流平台上运行,完全支持所有的工业标准,采用完全开放策略。可以使客户选择最适合的解决方案,对开发商全力支持。平行服务器通过使一组结点共享同一簇中的工作来扩展服务器的能力,提供高可用性和高伸缩性的簇的解决方案,获得最高认证级别的iso标准认证,多层次网络计算,支持多种工业标准,可以用odbc,jdbc,oci等网络客

户连接,较复杂,同时提供gui和命令行,在windows和unix下操作相同,如果windows不能满足需要,用户可以把数据库移到unix中。其操作和设置比较复杂,适用于有一定操作经验的用户

区别于FoxPro、Access小型数据库,SQL Server是一个功能完备的数据库管理系统。它包括支持开发的引擎、标准的SQL语言、扩展的特性(如复制、OLAP、分析)等功能。而像存储过程、触发器等特性,也是大型数据库才拥有的。

SQL SEVER 2000的特点 1.上手容易

学习SQL Server是掌握其他平台及大型数据,如Oracle,Sybase,DB/2的基础。因为这些大型数据库对于设备、平台、人员知识的要求往往较高,而并不是每个人都具备这样的条件,且有机会去接触它们。但有了SQL Server的基础,再去学习和使用它们就容易多了。IT行业的实践经验充分证明了这一点。 2. 兼容性良好

由于今天Windows操作系统占领着主导地的位,选择SQL Server一定会在兼容性方面取得一些优势。另外,SQL Server 2000 除了具有扩展性,可靠性以外,还具有可以迅速开发新的因特网系统的功能。尤其是它可以直接存贮 XML 数据,可以将搜索结果以 XML格式输出等特点,有利于构建了异构系统的互操作性,奠定了面向互联网的企业应用和服务的基石。这些特点在.NET 战略中发挥着重要的作用。 3. 相对于7.0的忧越性

Microsoft SQL Server 2000是在SQL Server 7.0的基础上对性能、可靠性、质量以及易用性进行了扩展。SQL Server 2000中包含许多新特性,这些特性使其成为针对电子商务、数据仓库和在线商务解决方案的卓越的数据库平台。其增强的特性包括对丰富的扩展标记语言(XML)的支持、综合分析服务以及便捷的数据库管理。

4.电子商务

在使用由Microsoft SQL Server 2000关系数据库引擎的情况下,XML数据可在关系表中进行存储,而查询则能以XML格式将有关结果返回。此外,XML支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。你还可以使用Hypertext Transfer Protoc

ol(超文本传输协议,HTTP)来访问SQL Server 2000,以实现面向SQL Server 2000数据库的安全Web连接和无须额外编程的联机分析处理(OLAP)多维数据集。

5.数据仓库

Microsoft SQL Server 2000非常明显的改进就是增加了OLAP(联机分析处理)功能,这可以让很多中小企业用户也可以使用数据仓库的一些特性进行分析。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大

6.增强的在线商务

Microsoft SQL Server 2000简化了管理、优化工作,并且增强了迅速、成功的部署在线商务应用程序所需的可靠性和伸缩性。其中,用以提高可靠性的特性包括日志传送、在线备份和故障切换群集。在伸缩性方面的改进包括对多达32颗CPU和64 GB RAM的支持。通过自动优化和改进后的管理特性--诸如数据文件尺寸的自动管理、基于向导的数据库拷贝、自动内存管理和简化的故障切换群集安装与管理,在线商务应用程序能够被迅速部署并有效管理。

1.2 设计工程框架

1.2.1 创建工程并设置主界面

在登陆界面设置九个同的用户界面级别,运行超级管理员界面后如图所示设置有16个不同的管理界面主要包括:系统设置、管理员设置、学院机构管理、查询学生登记管理、学生登记管理、外来人员管理、教职工及院内家属管理、查

询外来人员信息、查询教职工信息、登记类型设置、事由设置、车辆品牌管理、车辆类型管理等

1.2.2 添加类 主要添加的类有:

学生类:[学号], [姓名], [性别], [年龄], [队部], [队长姓名], [入学时间], [学制]

登记类:[学号], [姓名], [登记类型], [外出时间], [时长], [回校时间], [事由], [说明]

外来人员类:[姓名], [性别], [人数], [被访人部门], [被访人], [有车否], [车牌号], [车辆品牌], [车型], [车辆颜色], [证件类型], [证件号], [进入时间], [出校时间]

教职工家属登记类:[姓名], [证件类型], [证件号], [出或入], [详细信息]

1.3 系统运行环境 1.3.1运行的硬件环境

(1)

(2)

2系统分析

2.1 可行性分析

学生出入管理信息,作为一个学校,就有一定的工作量存在,而学生出入管理信息,它的工作量可能是其它信息工作量的几倍,班级的增加、班级的查找、班级的修改;学生信息;出入信息管理;外来人员出入管理;统计等等,每个信息的数据都在不断地变化着,如果采用人工的方式进行操作,那么,一天的工作量,足以让人觉得比较繁琐,吃不消。针对这样的情况,采用让数据的查询变得简单化,数据变的更让每个人都在任何时刻都可以了解到。

本系统所采用的语言是C#,用SQL Server 2000数据库完成。该系统总体有五部分组成,包括学生出入信息查询、登记,数据库信息维护、用户登陆信息维护和外来人员出入信息查询,报表打印。通过本校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。

本系统主要信息流程为:数据库信息维护接受学生的信息,学生出入信息查询登记根据数据库信息维护的学生信息做出对所接收的信息合理性进行判断,并交于信息维护进行相应的修改,再把信息存入数据库中。最后进行打印。

采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。由于采用统一的数据信息,使相关资料能够快速地查询所需的数据、资料及其它信息的,使信息快速高效运行。

2.2门禁系统功能模块图

门禁系统 用户信息学生信息管理 外来人员管理 系统功能 用户注册管理 用户登录管理 出校信息管理 返校信息管理 违规信息管理 进校信息管理 出校信息管理 退出系统 2.3 数据库结构设计

本系统涉及到的信息主要有5类:学生出入信息、请假登记信息、校外人员出入信息、用户登录信息、后备信息。由于成绩信息和教师信息与学生信息关系密切,因此将这三类信息存放在同一数据库中,以提高多种信息同时读取的速度。按以上分析,将系统的数据库设计为三个:

一、学生数据库:

该数据库为中包含有以下各表:

1、学生出入表:记录学生的基本信息,是进行学生及其它各类信息处理的基础。 2、外来人员出入表:记录外来人员的出入信息。 3、教职工出入表:记录记录教职工的出入信息,。

4、用户登录表:用户登录的相关信息,如:何时登录,用户名,及登录位置等: 三、后备数据库:

该数据库主要保存两类信息:学生信息、学生出入信息。其数据表是按用户的要求在运行过程中动态建立的。

3 系统详细设计与实现 3.1 登陆模块

在登录模块中设好友好界面,在本软件中设了九个不同的用户登录级别分别分配给他们不同的权限如:系统管理员,门卫,宿舍门卫,教师,一般用户等。 3.2 基本信息管理模块设计

3.2.1 学生信息模块

3.2.2 部门信息管理模块 3.2.3 教职工基本信息

3.3 管理模块设计

3.3.1 学生出入信息管理模块 3.3.2 外来人员信息管理模块 3.3.3 教职工信息管理模块

3.4 查询模块设计

3.4.1 学生出入查询管理模块 3.4.2 外来人员查询管理模块 3.4.3 教职工查询管理模块

3.5 用户管理模块

第五章 总体设计

5.1 系统功能描述

本系统的主要任务是实现对学校的学生出入信息管理、外来人员出入信息管理、用户登陆信息管理,相关数据打印。其主要功能包括: 一、角色管理

角色属性:教师、校内住宿人员、学生、外来人员

1、学生属性:学号、姓名、性别、身份证号、系部、专业、宿舍、入学年份、毕业时间、用户ID、出入事由、出入时间 2、车辆属性:车牌号、品牌、颜色、车型。

3、教师属性:身份证号、姓名、性别、系部、学校部门、工作年限、职称用户ID、车辆、出入事由、出入时间

4、外来人员属性:身份证号、姓名、性别、出入事由、出入时间、车辆属性:车牌号、品牌、颜色、车型。

5、校内住宿人员属性:身份证号、姓名、性别、出入事由、出入时间、校内住址、车辆属性:车牌号、品牌、颜色、车型。

二、信息管理:

1、查询:管理人员查询、教师查询、学生查询

查询方式:学号、身份证、系部、宿舍、出入事由、出入时间。 2、添加:管理人员添加、教师添加。 添加方式:输入、拖动、文件导入。 添加内容:人员、车辆、入学新生信息。 3、更改:管理人员、教师。 4、删除:管理人员、教师删除。

删除内容:人员、车辆、毕业生信息。 三、其它功能:

插件添加(智能识别系统)、数据导入。 四、密码更改:角色密码更改。 五、权限 1、完全控制 2、修改 3、写入 4、删除

5、读取和运行 6、导入文件 7、输出文件 8、导入数据库 9、搜索 10、查看

11、密码设置 12、打印

5.3 数据库设计

5.4.2 表设计:

1、学生表结构:

表5.1

编号 1 2 3 4 5 6 7 9 10 11 2、队长表结构:

编号 1 2 3 4 5 6 7 3、带队表结构:

编号 1 2 3 4 5 4、学生出入表结构:

编号 1 2 3 4 5 6 7 8 字段名称 学号 姓名 区队 外出时间 返校时间 时长 事由 备注 字段类型 CHAR char char date Date char Char char 字段宽度 15 4 4 4 4 20 40 40 字段名称 学号 学生姓名 区队 队长姓名 队长电话 字段类型 CHAR CHAR char char char 字段宽度 15 10 10 5 15 字段名称 队长姓名 证件类型 证件号 大队 中队 所带年级 手机号码 字段类型 CHAR CHAR char Char char char Char 字段宽度 15 10 20 10 10 10 15 字段名称 学号 姓名 性别 出生日期 入学时间 家庭住址 区队 宿舍 政治面貌 专业

字段类型 CHAR CHAR CHAR DATE CHAR CHAR CHAR CHAR CHAR char 字段宽度 15 10 2 8 10 50 20 4 6 20

9 10 11

门口号 状态 结果

char char char 4 4 4 5,门口表 编号 1 2 编号 1 2 3 4 5 6 7 编号 1 2 3 4 5 6 7 8 编号 1 2 3 编号 1 2 3 4 5 编号 字段名称 门口号 门口名称 6、外来人员登记表 字段名称 姓名 证件类型 证件号 被访人姓名 事由 备注 门口号 8、临时出入表 字段名称 姓名 学号 外出时间 返校时间 时长 事由 备注 门口号 9、请假登记表 字段名称 姓名 学号 请假时间段 10、违规登记表 字段名称 姓名 学号 外出时间 返校时间 违规类型 11、管理员表 字段名称 字段类型 字段宽度 字段类型 Int char date date char 字段宽度 6 7 10 10 8 字段类型 char char char 字段宽度 6 7 30 字段类型 char char date date int char char int 字段宽度 15 7 10 10 6 40 40 6 字段类型 char char long char char char int 字段宽度 15 15 20 15 40 40 6 字段类型 Int char 字段宽度 6 7

1 2 3 4 5 6

管理员ID 姓名 用户名 密码 管理员类型 描述 bigInt char char char bingint varchar 8 8 255 255 8 50 第六章 详细设计

根据系统的主要功能及上一章的总体设计,系统开发进入第二个阶段:详细设计。在这一阶段的工作中,主要任务有以下几项:

1、根据原型化的开发原则,为系统的每个模块功能进行界面设计,作为进一步优化的基础。

2、进行系统的流程分析,为模块的细化做好准备。 3、对每个模块进行详细的算法设计。

3.1 系统界面设计

一、登录及系统主窗口界面设计

该部分界面主要包括登录窗口、系统主窗口:

本系统中使用到的数据表主要有班级表、出学生出入表、用户登录表、外来人员出入表、违规打印表、车型表及教职工家属登记表,由这八个表,组成了名为信息的数据库(如图一)。其中学生出入和外来人员出入登记管理是本系统主要的

(图一)

所有信息都是根据学生出入登记管理和外来人员出入登记管理进行有关的操作,主要的字段有:学号、姓名、年级、专业、性别、出生年月、政治面貌、宿舍、队部、入学时间、备注。其中日期的数据类型为日期/时间天型,其它的数据类型为文本型;学生出入表中字段为:学号、姓名、区队、出校时间、返校时间,请假时长、有无假条、备注;外来人员表中字段为:姓名、证件类型、证件号、进校时间、出校时间、被访人员、事由、车牌号、车型、颜色、备注;用户登录中的字段包括:用户名、密码、身份。

第七章 系统具体实现

7.1各功能的实现及界面 7.1.1 后台管理的实现及界面 7.1.2 学生出入管理的实现及界面 7.1.3 外来人员管理的实现及界面

结束语

门禁管理系统(打印统计)的完成,它在审核这一功能中能够对不同情况的资料进行设置和打印,针对需要的信息进行设置和打印。

主要参考文献

本系统的过程中,主要的参考文献有:

《Visual C#+SQL Server数据库开发与实例 》李律松 马传宝 李婷 编著 ---------------清华大学出版社

《完全自学手册C#2.0》 张立等编著-------------机械工业出版社

《数据库原理与应用----基于SQL Server 2000》李春葆 曾平 编著-------------------清华大学出版才社

附:源程序

因篇幅问题不能全部显示,请点此查看更多更全内容