课堂考勤管理系统设计与实现毕业论文

来源:实践技能 发布时间:2020-09-03 点击:

课堂考勤管理系统设计与实现毕业论文 摘要 本设计是以Visual Studio 2010作为开发平台,C#作为开发语言,结合SQL server 2008数据库开发设计的课堂考勤管理系统。该系统的目标是统计学生的考勤与请假信息。系统功能特点是围绕管理员、教师、学生三类用户设计,主要实现的功能:查询功能,旷课、请假信息的录入功能,考勤信息的统计功能,通报报表的查询以及用户信息的添加、修改和删除的功能。

本论文介绍了该系统的设计与实现原理、功能特点和设计方案,而且还对开发过程中使用的关键技术进行了分析和讨论。

关键词:
Visual Studio 2010;
SQL server 2008;
课堂考勤 ABSTRACT We use Visual Studio 2010 as development platform, C# as development language, SQL server 2008 as database to the design is a class attendance management system. The system propose statistics the attendance and leave information. System function characteristics related to three kinds of users — administrators, teachers, students to design, mainly the implementation of functions of attendance, inputting truancy and leave, counting attendance, inquiring communicated statements, and adding, modifying and deleting the user information. This paper introduces system design and realization,function characteristics and design scheme.This paper analyzed and discussed key technologies the process of develoning. Key word: Visual Studio 2010;
SQL server 2008;
Class attendance 目 录 第一章 前 言 1 1.1 选题背景 1 1.2 设计目标 1 第二章 相关理论基础 2 2.1 课堂考勤管理系统开发环境简介 2 2.1.1 中文Visual Studio 2010简介 2 2.1.2 SQL server 2008简介 2 2.2 ADO技术链接数据库 3 第三章 系统分析 5 3.1 系统可行性分析 5 3.2模块需求分析及设计思想 6 3.2.1总体架构思想 6 3.2.2系统功能模块 6 第四章 系统设计 8 4.1 系统功能设计 8 4.1.1 系统登录流程图 8 4.1.2 系统功能模块图 8 4.2数据库设计 9 4.2.1 创建数据库 10 4.2.2数据库逻辑结构设计 10 4.3 数据库概念结构设计 10 第五章 系统实现 12 5.1普通用户功能具体实现 12 5.1.1 普通用户登录界面 12 5.2教师功能具体实现 15 5.2.1 教师用户功能界面 15 5.2.2 基本信息管理 15 5.3管理员功能具体实现 18 5.3.1 管理员功能界面 18 5.3.2 基本信息管理 19 第六章 系统测试 24 6.1系统测试的目的及意义 24 6.2系统测试的原则 24 6.3 测试的方法 24 6.3.1登录测试 24 6.3.2 界面测试 25 6.3.3 功能测试 25 6.3.4 需求测试 26 6.3.5性能测试 26 6.4 测试中其他要注意的地方 26 6.5 课堂考勤信息系统的测试 26 第七章 总 结 27 7.1 系统中需要改进的问题 27 7.2 展望 27 结 束 语 28 参 考 文 献 29 致 谢 30 附录 31 第一章 前 言 1.1 选题背景 目前高校校园信息化逐步完善,能有效地借助网络才能提高办事效率。如今学生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。因此学生考勤管理系统能进一步加强高校学风建设,维护正常的教学秩序,给学生创造一个优良的学习环境。

目前高校学生上课考勤管理都是以任课老师上课点名,记录学生上课情况,对于时间比较长的请假,需要通过递交请假申请让班主任、院系领导都批准方能生效。这种的模式在目前高校管理中暴露了不可避免的弊端:
一、学生请假不方便;

二、学生请假对任课老师不透明;

三、学生对自己整个学期的上课出勤情况没有整体的统计信息;

四、班主任对本班学生整个学期的上课出勤情况不易查看;

五、院系领导、学校领导不容易把握学生上课的出勤情况。

因此一个好的学生考勤管理系统在一定程度上可以解决这些弊端,本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。

1.2 设计目标 课堂考勤管理系统可主要实现下列目标:
实现考勤信息和请假信息的输入管理;

实现考勤信息的查询处理;

系统操作简单方便、界面简洁美观;

能够完成考勤的基本信息的操作和管理;

能够很好的预防人为因素产生的错误操作;

能够为用户提供多种条件的查询操作,为商品管理提供准确及时的数据;

具有很好的安全性,以保证数据的正确性。

第二章 相关理论基础 本系统主要采用Visual Studio 2010 和SQL Server 2008相结合的技术来进行开发,以 Visual Studio 2010为编程语言来进行的,而SQL Server 2008是作为后台数据库而开发的一个数据库管理系统。用户界面的设计与数据库的连接则使用的相关功能来完成的。

在系统需涉及的一些相关技术概述如下。

2.1 课堂考勤管理系统开发环境简介 下面简要介绍一下中文Visual Studio 2010和SQL Server 2008。

2.1.1 中文Visual Studio 2010简介 Visual Studio 2010是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community TechnologyPreview--CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持 IBM DB2和Oracle数据库。

2.1.2 SQL server 2008简介 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 操作系统上的应用。在本书中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server。

SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。在现今数据的世界里,公司要获得成功和不断发展,他们需要定位主要的数据趋势的愿景。微软的这个数据平台愿景帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求。微软将继续投入和发展以下的关键领域来支持他们的数据平台愿景:关键任务企业数据平台、动态开发、关系数据和商业智能。

SQL Server 2008 的特性包括:
u Internet 集成。

SQL Server 2008 数据库引擎提供完整的XML 支持。它还具有构成最大的Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2008 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且SQL Server 2008 支持 English Query 和 Microsoft 搜索服务等功能,在Web 应用程序中包含了用户友好的查询和强大的搜索功能。

u 可伸缩性和可用性。

同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。SQL Server 2008 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。

u 企业级数据库功能。

SQL Server 2008 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2008 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 SQL Server 2008 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。

u 易于安装、部署和使用。

SQL Server 2008 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server 2008 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据课堂考勤的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。

2.2 ADO技术链接数据库 微软公司的ADO (ActiveX Data Objects)
是一个用于存取数据源的COM组件。它提供了编程语言和统一数据访问方式OLE DB的一个中间层。允许开发人员编写访问数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。访问数据库的时候,关于SQL的知识不是必要的,但是特定数据库支持的SQL命令仍可以通过ADO中的命令对象来执行。

ADO包含一些顶层的对象:
连接,代表到数据库的连接;

记录集,代表数据库记录的一个集合;

命令,代表一个SQL命令;

记录,代表数据的一个集合;

流,代表数据的顺序集合;

错误,代表数据库访问中产生的意外;

字段,代表一个数据库字段;

参数,代表一个SQL参数;

属性,保存对象的信息。

ADO向程序员提供了很多好处。包括易于使用,熟悉的界面,高速度以及较低的内存占用。同传统的数据对象层次(DAO和RDO)不同,ADO可以独立创建。因此你可以只创建一个“Connection“对象,但是可以有多个,独立的“Recordset“对象来使用它。ADO针对客户/服务器以及WEB应用程序作了优化。

ADO 是基于OLE DB的访问接口,它是面向对象的OLE DB技术,继承了OLE DB的优点。属于数据库访问的高层接口。开发人员在使用ADO时,其实就是在使用OLE DB,不过OLE DB更加接近底层。ADO向我们提供了一个熟悉的,高层的对OLE DB的Automation封装接口。

第三章 系统分析 3.1 系统可行性分析 可行性分析的任务,并不是所有问题都有简单明显的解决办法,事实上,许多问题不可能在预定的系统规模之内解决。如果问题没有可行的解,那么花费这项开发工程上的任何时间、资源、人力和经费都是无谓的浪费。

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去解。怎样达到这个目的呢?当然不能靠主观猜想,而只能靠客观分析。必须分析几种主要的可能解法的利弊,从而判断原定的系统目标和规模是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度[1]。

因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。所以从以上的分析原则来看,我所设计的课堂考勤管理系统是一个规模不大的系统,但是目标明确,清晰的描述了对目标系统的一切限制和约束。本系统几乎能在所有的学校使用,当然它需要进一步的完善和更新。在使用过程中,要看它能不能带来效益,毕竟在现今社会效率是第一位的。从现实看,这还是有一定的实用价值的,从另一个角度看,现实社会发展飞速,尊重科技势在必行,因此这也是开发本系统的一个非常重要的原因。21世纪是计算机的时代,它必然取代一部分人的工作,高科技的监控系统进入社会生活的方方面面是发展的趋势。

本设计从以下三个方面进行可行性研究:
u 技术可行性。

“课堂考勤管理系统”是为课堂考勤管理人员开发的。本人采用Visual Studio 2010和SQL Server 2008技术开发课堂考勤管理系统,但是课堂考勤管理系统不是简单的数据处理与查询,还要实现运作流程、管理流程等。流程的实现有相当的难度,需要拟定系统的体系结构,确定所需要的信息技术和学生基本信息,分析并选择合适的开发方式,估算需要的开发时间长度,分析技术中潜在的风险,并提出解决的措施。在Visual Studio 2010中可以实现旷课信息查询、请假查询、信息输入、请假输入、数据处理等。

u 经济可行性。

成本方面:人力消耗免费,指导老师义务指导,所以开发本软件的成本是非常低的。

效益方面:为学校开发一个完整、合理的课堂考勤管理系统,可大大节余人力,减少手工劳动工作量,提高工作效率,以前需要多人干的工作,使用本系统只需一个人或几个人就能完成,且工作量和劳动强度大大降低。所以开发本软件可以为社会带来很好的经济效益。

从以上分析看开发本软件在经济上是可行的。

u 操作可行性。

本软件是为学校课堂考勤的管理者开发的,所有本软件的用户对象是学校课堂考勤的工作人员,由于本软件要设计成友好的界面,写出详细的使用说明,用户只需懂得简单的计算机操作知识,就能自由应用本软件。

所以从以上几个方面的分析来看,开发本软件是完全可行的。

3.2模块需求分析及设计思想 软件需求分析是软件开发周期的第一个阶段,也是关系到软件开始成败的关键步骤。准确、完整和规范化的软件需求是软件开发成功的关键。

3.2.1总体架构思想 本课堂考勤管理系统是为数据提供了更安全的存取模式。响应速度快。程序开发具有很强的针对性,因此,操作界面漂亮,形式多样,可以充分满足用户自身的个性化要求。

3.2.2系统功能模块 系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成。本课堂考勤管理系统需要完成功能主要有:
●课堂考勤管理各种信息的输入,包括旷课、请假、用户信息的输入,删除和修改等。

●课堂考勤管理各种信息的查询,包括学生个人信息,学生总体信息、请假等信息的查询。

² 管理员模块 首先对用户进行管理,用户进入管理界面,界面将会显示登录该系统的用户的基本信息,并且显示所有用户的基本信息,系统管理员可以对用户信息进行添加、修改和删除,而普通管理员将受到权限的限制,不能进行任何的操作,只能看到用户的基本信息。所有的用户都不能独立的进行信息注册,需经管理员进行添加。

² 学生信息查询模块 学生信息查询模块是对学生基本信息的管理,学生本人可以对信息进行查询但是不能进行添加、删除和录入,我们可以给每一个学生进行编号,以学号的不同来确定所操作的信息是否正确,而不至于因名称相同而增加工作量,信息的删除也只需将所要删除的基本信息写入信息框,然后点击删除按钮即可。

² 教师管理模块 教师管理模块可以查询所有学生的情况,以及旷课信息和请假信息的录入,以保证每个信息都是准确的,学生的姓名和学号都是统一的,可以减少数据库中的数据量。我们也可以对学生信息进行添加和删除。

² 信息录入模块 教师将学生信息录入后,就应该在录入管理中将学生信息进行录入处理,我们规定每一节课都将会有一个录入信息,定义一个时间,这样就会方便学生信息的查询和操作,可以节省数据库的数据量,方便管理。

² 查询管理 查询就是可以对课堂考勤中的信息以各种不同的条件查询学生的信息,查询条件分别可以从具体的时间、月份和周次进行,再选定表中以某一具体的查询条件进行课堂考勤信息的查询,查询的信息也会显示在对话框中。

第四章 系统设计 在进行了需求分析、确定了设计思想之后,就要进行系统的功能设计和数据库的设计。

4.1 系统功能设计 4.1.1 系统登录流程图 图4.1 系统登录流程图 4.1.2 系统功能模块图 在系统功能分析的基础上,考虑到Visual Studio 2010程序编制的特点在仔细分析了学校的数据图后,决定将整个系统分为两大模块,每个模块又有若干个子模块。整个系统功能模块如图4.2所示:
课堂考勤管理信息系统 基本信息 学生基本信息 旷课信息 请假信息 考勤管理 用户信息 录入管理 查询管理 用户管理 图4.2 系统功能模块图 4.2数据库设计 大多数应用系统都需要后台数据库地支持。在Windows操作系统中,SQL Server是最常见的网络后台数据库。本系统是采用SQL Server 2008数据库存储数据。

u 数据库系统体系结构 数据库的体系结构主要包括外模式,模式,内模式三级体系结构。模式又称概念模式,它反映数据库组织的全局逻辑观点,并不涉及数据的物理存储。模式位于总体概念级,故称数据库管理员视图。内模式又称存储模式,它具体描述数据是如何被组织并存放在外部存储器上。内模式由系统设计员选择一定的文件结构进行组织,也是由他们编辑存储程序实现数据存取,故内模式又称系统程序员视图。外模式是面向用户,是呈现在用户眼中的数据库,故外模式又称用户视图。

三个模式反映了三种不同的观点:模式表示了概念级数据库,体现对数据库的总体观;
内模式表示物理数据库,体现对数据库的存储观;
外模式表示用户数据库,体现了数据库的用户观。

u 数据库系统的组成 数据库系统是指实际可运行的按照数据库方式存储和维护并向应用程序提供数据或者信息支持的系统。一个完整的数据库系统由数据库,数据库管理系统,数据库应用程序,支持数据库运行的计算机软硬件环境以及数据库管理员等组成。

u 数据库设计理念 数据库设计有两个最重要的目标:满足应用功能需求和良好的数据库性能。满足应用功能需求,主要是能把用户当前应用以及可预知的将来应用所需要的数据以及其联系全部准确的存放于数据库中,并能根据用户的需求对数据进行合理的修改操作。

u 数据库设计内容 数据设计的内容主要有:数据库结构特性设计,数据库行为特性设计和数据库物理模式设计。数据库的结构特性设计是确定数据库的框架和数据结构。他是汇总各用户试图产生的全局逻辑结构。它反映了现实世界及其联系,能数据共享。在数据库系统中,数据库的行为和动作反映在数据库应用程序中,这些行为和动作主要包括数据库的记录的添加,删除,修改,数据库的查询和统计,事务处理和报表处理等。

4.2.1 创建数据库 本系统采用SQL作为数据库管理系统。先启动SQL Server 2008程序,然后创建名为“CourseSearch”的数据库。

打开数据库中工具栏的查询分析器,编写SQL语句,创建数据库表。表名分别dbo_login、dbo_absent、dbo_leave。

4.2.2数据库逻辑结构设计 现在需要将在上面的数据库概念结构转化为SQL Server 2008 数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。

通过对商品课堂考勤管理的内容和数据流程分析,设计数据项和数据结构如下:
●管理员信息,包括的数据项有用户名称、用户密码、用户级别;

●学生信息,包括的数据项有学号、姓名、年级、班级;

●录入信息,包括的数据项有学生姓名、旷课名称、旷课时间、请假信息等;

●查询信息,包括的数据项有旷课时间、课程名称、旷课周次等。

4.3 数据库概念结构设计 得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体结构,以及他们之间的关系,为以后的逻辑结构设计打下基础。

课堂考勤管理信息系统数据库中各个表格的设计结果如下面表格所示。每个表格所示在数据库中的一个表。

(1) 用户基本信息表 此表主要用来存储用户的基本信息,包括用户名、用户密码和级别等,可对学生信息进行录入、查询操作,用户可以跟据级别不同来对学生和其它信息进行不同的操作。

表4.3.1 用户信息 列名 数据类型 允许空值 账号 varchar(30) 否 用户名 varchar(30) 否 密码 varchar(30) 否 权限 varchar(30) 否 (2) 学生基本信息表 此表主要用来存储学生考勤的基本信息,包括学号、姓名、年级、班级、旷课时间、周次等,用于信息录入的操作。

表4.3.2 学生基本信息 列名 数据类型 允许空值 学号 varchar(50) 否 姓名 varchar(50) 否 班级 varchar(50) 否 年级 varchar(50) 否 专业 varchar(50) 否 旷课课程 varchar(50) 否 旷课时间 varchar(50) 否 旷课周次 varchar(50) 否 (3) 录入信息表 此表主要用来存储录入的基本信息,包括旷课时间、旷课周次、课程名,请假时间、请假周次、请假原因等,以实现信息的录入功能。

表4.3.2 录入信息 列名 数据类型 允许空值 学号 varchar(50) 否 姓名 varchar(50) 否 班级 varchar(50) 否 请假原因 varchar(5000) 否 请假时间 varchar(50) 否 请假周次 varchar(50) 否 第五章 系统实现 本系统主要采用Visual Studio 2010 技术来进行开发,以 Visual Studio 2010为编程语言,SQL Server 2008是作为后台数据库的考勤管理系统。主要实现三类用户的功能实现,包括普通用户、教师用户和管理员用户。普通用户主要实现基本的旷课信息和请假信息的查询,教师用户在普通用户的基础上实现考勤信息的录入功能和考勤信息的汇总,管理员用户则在教师用户的基础上实现考勤通报的审查以及用户信息的添加修改和删除的功能。本系统登录成功后会显示当前用户的姓名以及登录的具体时间。

5.1普通用户功能具体实现 本系统按用户类别及使用功能可以分为管理员登录、教师用户登录和普通用户登录。不同级别的用户具有不同的权限。所有用户的主操作界面不相同,每个用户登录只显示自己权限内能够使用的功能。普通用户登录只显示基本的查询功能。

5.1.1 普通用户登录界面 设计思路与要点:用户运行程序后,输入用户名与密码,程序根据用户名到后台数据库查询用户名和密码是否正确,如果正确则登陆成功! 系统登录界面如图5.1.1所示:
图5.1.1 登录界面 用户名或密码错误时,则会弹出对话框,如图5.1.2所示:
图5.1.2 提示对话框 核心代码如下:
string str = “select * from login where 账号=@zhanhao and 密码=@mima“; SqlParameter[] paras = { new SqlParameter(“@zhanhao“,zhanhao.Text), new SqlParameter(“@mima “,mima.Text ),}; ArrayList flag = DAL.DbHelperSQL.GetDataReader(str, “账号“,paras); if (flag.Count>0) {string sql = “select 权限 from login where 账号=“+“'“+zhanhao.Text+“'“; object quanxian = DAL.DbHelperSQL.GetSingle(sql); string sql1 = “select 用户名from login where 账号=“+“'“+zhanhao.Text+“'“; object name = DAL.DbHelperSQL.GetSingle(sql1); if (quanxian.ToString() == “学生“) { login.ActiveForm.Hide();//将form窗体隐藏 student f1 = new student(); f1.Show(); f1.DQYH1.Text = name.ToString();} Else if (quanxian.ToString() == “老?师簗“) { login.ActiveForm.Hide();//将form2窗体隐藏 teacher f1 = new teacher(); f1.Show(); f1.DQYH2.Text = name.ToString();} Else if (quanxian.ToString() == “管理员“) { login.ActiveForm.Hide();//将form2窗体隐藏 manager f1 = new manager(); f1.Show(); f1.DQYH3.Text = name.ToString();} } 用户登录通过后,系统将显示下一界面,输入查询信息的具体范围以及索引后则会显示所要查询的旷课信息,如图5.1.3所示 图5.1.3 信息查询界面 核心代码如下:
SqlParameter[] pars = {new SqlParameter(“@data“,data), new SqlParameter(“@xuehao“,textBox2.Text),}; string a = “Select * from absent where 学号=@xuehao and 旷课时间=@data“; ArrayList al = DAL.DbHelperSQL.GetDataReader(a, “学号“, pars); 5.2教师功能具体实现 设计思路与要点:用户运行程序后,输入用户名与密码,程序根据用户名到后台数据库查询用户名和密码是否正确,如果正确则登陆成功! 5.2.1 教师用户功能界面 用户登录通过后,系统将显示下一界面,如图5.2.1所示:
图5.2.1 系统界面 5.2.2 基本信息管理 包括课堂考勤信息管理、请假信息管理等。课堂考勤信息管理完成课堂考勤情况的录入和查询;
请假信息管理完成请假信息的添加和查询;
教师可以实现查询和录入的功能等。在录入操作中用选择时间、课程、学号的形式来完成录入的操作;
查询是通过根据查询条件以各种形式显示课堂考勤信息。

² 录入操作 录入操作即将需要添加的信息进行录入处理,这样可以大大减少因人为因素产生的错误。规范化课堂考勤的录入操作。要做录入操作首先确定所要输入的基本信息在用户的基本信息、课堂的基本信息中存在,若不在,则不能进行录入操作。旷课信息需输入学生基本信息和旷课课程和时间;
请假信息需输入请假时间和原因,如图5.2.2所示:
图5.2.2 信息录入界面 信息输入完成后点击提交按钮,提交成功后显示提示对话框,如图5.2.3所示:
图5.2.3 提示界面 核心代码如下:
string time1 = year2.Text + “/“ + yue2.Text + “/“ + ri2.Text; string sql = “insert into absent(年级,专业,旷课课程,旷课时间,学号,姓名) values(@f1,@f2,@f3,@f4,@f5,@f6)“; SqlParameter[] pars = { new SqlParameter(“@f1“,nj1.Text), new SqlParameter(“@f2“,zy1.Text), new SqlParameter(“@f3“,kcbj1.Text), new SqlParameter(“@f4“,time1.), new SqlParameter(“@f5“,xh1.Text ), new SqlParameter(“@f6“, xm1.Text),}; DAL.DbHelperSQL.ExecuteSql(sql, pars); MessageBox.Show(“信息添加成功!“, “信息提示“); ² 考勤结果统计操作 结果统计操作即将需要考勤信息进行统计处理,这样可以大大减少因人为因素产生的错误。规范化课堂考勤的统计操作。要做统计操作首先确定所要输入的基本信息在用户的基本信息、课堂的基本信息中存在,若不在,则不能进行统计操作。输入统计的时间范围以及统计类别即可进行统计操作。输入具体的统计时间范围和统计分类,则会显示统计结果,如图5.2.4所示:
图5.2.3 结果统计界面 核心代码如下:
dataGridView3.Columns.Clear(); string data = year31.Text + “%“; string num1 = GetNember(banji.Text, data)[0].ToString(); string num2 = GetNember(banji.Text, data)[1].ToString(); //第一列 DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn(); col.Name = “班级“; col.DataPropertyName = “banji“; dataGridView3.Columns.Add(col); //第二列 DataGridViewTextBoxColumn col1 = new DataGridViewTextBoxColumn(); col1.Name = “旷课人数“; col1.DataPropertyName = “kknumber“; dataGridView3.Columns.Add(col1); ; //第三列 DataGridViewTextBoxColumn col2 = new DataGridViewTextBoxColumn(); col2.Name = “请假人数“; col2.DataPropertyName = “qjnumber“; dataGridView3.Columns.Add(col2); //数据源 DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn(“banji“, typeof(string))); dt.Columns.Add(new DataColumn(“kknumber“, typeof(string))); dt.Columns.Add(new DataColumn(“qjnumber“, typeof(string))); dt.Rows.Add(new object[] { banji.Text, num1, num2 }); dataGridView3.DataSource = dt; 5.3管理员功能具体实现 设计思路与要点:用户运行程序后,输入用户名与密码,程序根据用户名到后台数据库查询用户名和密码是否正确,如果正确则登陆成功! 5.3.1 管理员功能界面 用户登录通过后,系统将显示下一界面,如图5.3.1所示:
图5.3.1 系统界面 5.3.2 基本信息管理 在实现教师用户功能的基础上,实现通报报表的查询和用户信息的管理,包括用户的添加、删除和修改。

² 通报报表查询 通报报表统计操作即将需要考勤信息进行统计处理,这样可以大大减少因人为因素产生的错误。规范化课堂考勤的统计操作。要做通报报表统计操作首先要输入统计的时间范围以及通报报表类型(即旷课次数范围)即可进行统计操作。界面如图5.3.2所示:
图5.3.2 通报报表操作界面 核心代码如下:
string sql2 = “select 姓名 from absent where 学号=“ + “'“ + test + “'“; string sql3 = “select 班级 from absent where 学号=“ + “'“ + test + “'“; string sql4 = “select 年级 from absent where 学号=“ + “'“ + test + “'“; string name = DAL.DbHelperSQL.GetSingle(sql2).ToString(); string banji = DAL.DbHelperSQL.GetSingle(sql3).ToString(); string grade = DAL.DbHelperSQL.GetSingle(sql4).ToString(); dt.Rows.Add(new object[] { name, test, banji, grade }); ² 用户管理模块 点击用户信息将会弹出用户信息管理的对话框,如图5.3.3所示:
图5.3.3 用户信息管理界面 点击添加按钮将会弹出信息添加对话框,录入所需添加的信息,点击确定即可。界面如图5.3.4所示:
图5.3.4 添加用户信息界面 核心代码如下:
uptate f1 = new uptate(); f1.zhanhao.Text=dataGridView5.Rows[dataGridView5.CurrentCell.RowIndex].Cells[dataGridView5.CurrentCell.ColumnIndex + 2].FormattedValue.ToString(); f1.name.Text=dataGridView5.Rows[dataGridView5.CurrentCell.RowIndex].Cells[dataGridView5.CurrentCell.ColumnIndex + 3].FormattedValue.ToString(); f1.mima1.Text=dataGridView5.Rows[dataGridView5.CurrentCell.RowIndex].Cells[dataGridView5.CurrentCell.ColumnIndex + 4].FormattedValue.ToString(); f1.mima2.Text=dataGridView5.Rows[dataGridView5.CurrentCell.RowIndex].Cells[dataGridView5.CurrentCell.ColumnIndex + 4].FormattedValue.ToString(); f1.quanxian.Text=dataGridView5.Rows[dataGridView5.CurrentCell.RowIndex].Cells[dataGridView5.CurrentCell.ColumnIndex + 5].FormattedValue.ToString(); f1.zhanhao.Enabled = false; 如果需要修改用户信息,点中所要修改的用户信息的一行,点击修改信息按钮将会弹出对话框,管理员可以修改密码,首先要输入用户的原始密码,然后输入新的密码,为了避免输入的密码不正确,系统要求再次点击确定即可。如图5.3.5所示:
图5.3.5 修改信息界面 核心代码如下:
string hd = dataGridView5.Rows[dataGridView5.CurrentCell.RowIndex].Cells[dataGridView5.CurrentCell.ColumnIndex + 2].FormattedValue.ToString(); SqlParameter[] pars = { new SqlParameter(“@zhanhao“,hd), DAL.DbHelperSQL.ExecuteSql(“delete from login where 账号=@zhanhao“, pars); dataGridView5.Rows.Remove(r); 如果需要删除用户,点中所要删除的用户信息的一行,点击信息删除,将会弹出提示对话框,再点击确认按钮即可。如图5.3.6所示:
图5.3.6 用户删除界面 核心代码如下:
string hd = dataGridView5.Rows[dataGridView5.CurrentCell.RowIndex].Cells[dataGridView5. CurrentCell.ColumnIndex + 2].FormattedValue.ToString(); SqlParameter[] pars = { new SqlParameter(“@zhanhao“,hd), DAL.DbHelperSQL.ExecuteSql(“delete from login where 账号=@zhanhao“, pars); dataGridView5.Rows.Remove(r); 第六章 系统测试 一般情况下,我们所开发出的程序总会存在一些问题,这就需要进行测试,测试的质量直接影响软件的质量。对于此系统的测试从以下几方面进行入手。

6.1系统测试的目的及意义 系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。  测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。应根据开发各阶段的需求、设计等文档或程序的内部结构精心设计测试用例,并利用这些实例来运行程序,以便发现错误。信息系统测试应包括软件测试、硬件测试和网络测试。硬件测试、网络测试可以根据具体的性能指标来进行,此处所说的测试更多的是指软件测试。

6.2系统测试的原则 软件测试的原则应该是:
  (1)应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。

  (2)测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。

  (3)程序员应避免检查自己的程序。

(4)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。

(5)充分注意测试中的群集现象。

(6)严格执行测试计划,排除测试的随意性。

(7)应当对每一个测试结果做全面检查。

(8)妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。

6.3 测试的方法 依据前面所说的测试对象,我们把测试划分为几个方面来进行测试。

6.3.1登录测试 登录测试是测试中直观的测试方法,输入登录时所需的信息就可以了,但是也会有以下几种会报错的地方,如果所输入的用户名和密码不匹配,则会出现提示窗口,请重新输入;
若输入的用户名不存在,系统也会弹出提示对话框,提示所输入的用户名不存在,请重新输入用户名。

6.3.2 界面测试 界面测试是测试过程中比较简单直观的一种测试方法,只要细心地按界面要求核对就行了。可这块往往是程序开发人员容易忽视和遗漏的地方,也是常常出Bug的地方。

下面是界面测试中经常出现的几种Bug:
(1)错别字,即界面中的标题或者文本内容中出现了错别字。这种Bug如果测试人员不细心,很难找出来,可能会出现在提示信息或界面中。

(2)出现了一些根本读不懂的内容,一般多出现在程序的提示信息和一些较长的文本中。这种情况基本上出现在拼起来显示的提示中,页面的简单陈述是通过变量拼组起来的,通过程序将字一个一个地输出来。通常是因为程序中的控制错误或是程序开发人员对程序没有进行认真的自测,导致出现这种Bug。

(3)程序员自创的词语,虽然意思对,但不符合界面的标准及需求。这种情况基本上是由于开发人员使用一些专业术语,并且混杂着自己的理解出现Bug,主要是由于开发过程中团队合作没有明确的分工,没有统一的规范用语。

(4)页面类似的内容中,明显有字体,字号不同的情况,使界面整体风格看上去不一致,这种情况只出现在没有样式表定义的情况下,或是已经定义的样式表,开发人员在开发过程中没有调用。

(5)标题相近的程序及模块,把标题弄混。这种情况多是因为业务方面的定义名称很相似或很类似,并且业务实体方面也很类似,开发人员在开发过程中忽略了开发名称和模块,只单独地实现其功能。

6.3.3 功能测试 顾名思义,功能测试主要是测试程序模块是否实现了设计中所有要求的功能。功能测试中需要注意的有:
(1)查询功能中,基本上按单一查询条件进行查询的,要对没有查询出结果的异常情况进行处理;

(2)录入功能中,需要注意的是前台设置的数值长度是否大于后台数值长度,以及前台与后台的数据结构是否相符,很多时候录入功能无法实现是由于这些原因。还有就是必须录入的字段的设置是否有误。

(3)测试删除功能中需要注意的是单击“删除”按钮后,若删除成功,则会弹出一个对话框,显示所删除的内容删除成功。另外,在删除多条记录的时候,要注意连续选中的几条记录是否真正都被删除了,即如果再按照这种查询方式查询,是否还能查询出来。有的时候需要在数据库中设一个标志位,而不是真正的物理删除。所以在下一次查询中,可能还会被查询出来,这主要是因为在查询条件中没有将标志位考虑在内。

(4)关于添加功能的测试,主要是看添加确认后是否所输入的数据在数据库表中是没有出现的。若添加的数据在数据库已经存储了,则添加失败。若成功,则弹出对话框,添加的数据成功。这是最基本的功能,需要注意的是看是否能把已经添加的数据也添加成功了。

(5)信息录入的测试,主要是看录入时,所输入的时间、课程名和一些基本信息在信息管理表中是否存在,若不存在,则信息录入操作将失败,不能进行信息的录入。

6.3.4 需求测试 针对需求测试,是测试中很重要的一个环节。因为需求是在软件设计,开发乃至软件测试中重要的依据。要针对需求测试,首先就要对项目的需求和业务有一定的了解。这些需求很多时候是在实现增,删,查,改这些基本功能之上,针对项目和相关业务所作的一些逻辑上的控制。这就要求程序员在设计和编码的时候要去充分理解考虑需求。

6.3.5性能测试 性能测试在软件的质量保证中起着重要的作用。通常我们把性能指标全部归结到硬件,操作系统和开发环境上,而忽略了代码本身性能上的考虑。性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。

6.4 测试中其他要注意的地方 时常有这样的情况发生,每个模块都能单独工作,但这些模块集成在一起之后却不能正常工作。其主要原因是,模块相互调用时接口会引入许多新问题。这就要求在进行程序设计和编码的时候要尽可能地从整体考虑。

错误本身出现在程序设计阶段,并非由于程序员编码造成的问题。这就要求我们无论是在开发还是测试阶段,对需求或程序设计存在疑问,应及时提出,及时解决。由于一些模块被修改了,对其他模块造成了影响而出现了新的Bug。发现这些Bug要求我们对程序整体的结构有基本的了解,清楚模块之间的一些联系。

6.5 课堂考勤信息系统的测试 在完成编码的工作以后,根据以上的方法和步骤进行了如下的测试:
界面测试:反复点击界面上的按钮及菜单,使界面风格尽可能的统一;

功能测试:对系统的几大功能模块逐一测试,尽最大可能发现其潜在的错误;

性能测试:测试程序的运行速度,以及程序的安全性;

需求测试:根据需求分析的内容,做出对部门进行管理的附加功能以及个性化的系统管理功能,给用户带来更大的方便;

通过这几方面的测试,及时修正了系统中存在的问题,提高了系统的性能。

第七章 总 结 整个课堂考勤管理考试系统主要包括上面所写的模块及功能,基本上能够覆盖了课堂考勤日常管理中的主要操作。由于时间、所学以及精力的关系,该系统还处于原型设计阶段,许多预想的模块还没有能够及时添加进去。系统的设计的部分也有些模块还可以更好的进行完善。

7.1 系统中需要改进的问题 本课堂考勤管理系统的设计和分析到目前为止还只是一个初始阶段,在这段时间的设计过程中,许多的不足。

l 系统只提供了键盘和鼠标的输入,没有提供条码扫描的输入。

l 系统没有提供打印输出的功能,如果需要打印还需借助其他的软件。

l 系统没有提供用户的工作日志和操作记录。

l 系统中的一些模块的功能的基本信息中并不全面,还有很多涉及到信息管理的要素没有添加进去。

l 系统只是提供了一个简单的功能,与现代化的课堂考勤管理还有一定的差距。

l 系统中的某些功能并没有真正的达到系统功能的方便、快捷。

l 系统的一些模块的功能是理论化的,在实际中还有许多更复杂的情况并没有考虑进去。在以后实际作用过程中还有很多地方需改进。

7.2 展望 对于一个学校的课堂考勤管理来说,该系统还只是一个雏形,没有完成的事情还很多。有了现有的系统原型,还要与学校进行沟通,根据录入的信息来对课堂考勤进行操作,有了请求才开始对课堂考勤进行操作,将他们实际操作中发现的问题考虑进去,在课堂考勤与课堂考勤之间需要进行调拨,逐步改进上面谈到的一些不足点,完善整个系统。另外,还需参照学校的其他系统,开发出与其他系统的接口。这样才能这正的令学校的管理系统达到完善,为学校提供更多的便利。

结 束 语 参 考 文 献 [1] 张海藩、软件工程导论(第五版)、北京:清华大学出版社、2008;

[2] 王瑞、于速、张雨.Visual Studio 2010数据库系统开发完全手册、人民邮电出版社、2006;

[3] 姜晓东、C#4.0权威指南、北京、 机械工业出版社、 2011年1月;

[4] C# Web编程、 北京 、人民邮电出版社、 2002年10月第一版;

[5] Chris H.Pappas WilliamH.Murray著、C# Web编程、北京人民邮电出版社、2002年第一版;

[6]王珊、数据库系统概论(第四版)、高等教育出版社、2006年5年第四版;

[7]陈英学、 ASP.NET深入编程、 北京希望电子出版社、2001年;

[8]刘杨等编著、突破C#编程实例五十讲、中国水利水电出版社、2002年;

[9]闪四清、 数据库系统原理与应用、清华大学出版社、2001年;

[10] 李真文、SQL Server 2000 Developer’s Guide 开发人员指南、北京希望电子出版社、2001年.

推荐访问:公司考勤管理系统设计与实现论文 高校学生考勤管理系统设计与实现 公司考勤管理系统设计与实现 考勤管理系统设计与实现 课堂考勤管理系统的设计与实现 ETC系统设计实现毕业论文 OA系统设计与实现 在线订餐系统设计与实现 问诊系统设计与实现 毕业论文小型房屋租凭管理系统设计与实现
上一篇:畜禽粪污项目实施方案
下一篇:县工信局深入开展安全生产专项整治行动

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有