学生考勤管理系统的设计.docx
《学生考勤管理系统的设计.docx》由会员分享,可在线阅读,更多相关《学生考勤管理系统的设计.docx(29页珍藏版)》请在冰豆网上搜索。
![学生考勤管理系统的设计.docx](https://file1.bdocx.com/fileroot1/2023-2/22/788894bb-579a-4b22-8e73-f95c10ddc478/788894bb-579a-4b22-8e73-f95c10ddc4781.gif)
学生考勤管理系统的设计
湖南人文科技学院
本科生毕业设计
题目:
学生考勤管理系统的设计
学生姓名:
学号09409144
系部:
通信与控制工程系
专业年级:
电子信息工程2009级
指导教师:
职称:
湖南人文科技学院教务处制
湖南人文科技学院本科毕业设计诚信声明
本人郑重声明:
所呈交的本科毕业设计,是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本设计不含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
作者签名:
年月日
学生考勤管理系统的设计
摘要:
在学校,尤其是在各大高校,学生上课考勤是学校对学生的一项重要的考核指标,学生上课的出勤率更是对教师授课质量的客观评价。
而长期以来,学生考勤信息管理都是依赖人工进行的,不仅烦杂,也造成了时间和人力的浪费,且其中存在人工管理中的许多不可控因素。
因此,使用计算机对学生考勤信息进行管理,具有手工管理所无法比拟的优点。
例如:
搜索快捷、查询方便、可靠性强、存储容量大、保密性能好、成本较低等,这些优点能够极大地提高工作效率,也是学校科学化、信息化、正规化管理的重要条件。
因此,开发一套学生考勤管理系统是很有必要的事情,它改变了教师以及学生考勤人员点名及签到等费时的登记考勤信息的管理方式,大大地方便了平时上课学生的出勤率的管理。
本系统阐述了考勤系统的设计开发的全过程,包括系统整体设计,各个功能模块划分,系统功能模块的设计与具体实现等部分。
该系统侧重于学生考勤信息查询和数据库的维护,通过已编制好的程序,完成对用户的登录、考勤信息的添加、查询、统计、学生请假等,本系统使用VisualC++与数据库Access编写完成,实现学生考勤信息的记录和管理,为教师的考勤工作提供便利。
该系统界面直观,操作方便,交互性好。
关键词:
VisualC++6.0;Access;MFC;学生考勤系统
DesignofStudentAttendanceManagementSystem
Abstract:
Inschools,especiallyinthemajoruniversities,thestudentsoftheclassattendanceforstudentsisanimportantassessmentindicators,Studentattendanceinclassismoreobjectiveevaluationofteachingquality.Foralongtime,theinformationofstudentattendancemanagementisdependentonmanualinformationmanagementconducted.itisnotonlytroublesome,butalsocausesawasteoftimeandmanpower,andinwhichthereisalotofmanualmanagementuncontrollablefactors.Therefore,usingcomputerstomanagestudentattendanceinformation,ithastheadvantageofmanualmanagementcannotbecompared.Forexample,itsearchesforfast,convenientquery,withreliabilityandhighperformance,largestoragecapacity,confidentiality,lower-costadvantagesandsoon,Theseadvantagescouldgreatlyimproveworkefficiency,itisalsoacriticalconditionsfortheschoolscientific,informationandstandardizedmanagement.SoDevelopastudentattendancemanagementsystemisanecessarything,ItchangedtheFacultyandstudentattendance,namingandregistrationfeeregistrationofabsenceofinformationmanagementthatgreatlyfacilitatesthenormalschoolstudents'attendancemanagement.
Thissystemdescribestheattendancesystemdesignanddevelopmentprocess,Itincludestheoveralldesignofthesystem,thefunctionmodulepartition,systemfunctionmoduledesignandimplementationofcomponents.Thesystemfocusesonstudentattendanceinformationqueryanddatabasemaintenance,Bypreparedprograms,completetheaddauserlogin,attendanceinformation,queries,statistics,studentsleaveetc.,thesystemusesVisualC++andDatabaseAccesspreparationcompleted,itcanachievingstudentattendancerecordsandinformationmanagement,Tofacilitatetheattendanceofteacherswork.Thesystemshouldhaveagoodinterface,easytooperateandgoodinteractivity.
KeyWords:
VisualC++6.0;Access;MFC;Studentattendancesystem
第1章绪论
1.1课题背景
20世纪末,随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。
学生考勤管理程序是信息管理系统的一个子系统,一个基于单机版的系统。
因为随着计算机技术的不断进步与发展,计算机已经深入到人们日常生活的每个角落,例如:
政府部门,企事业单位,学校等等。
该系统开发功能主要包括:
管理员可以通过计算机设置学生考勤管理程序,打印供学校及个人使用。
学风是高等学校办学思想、人才培养质量和管理水平的重要标志,也是学生思想品质、学习态度和综合素质的重要体现,是学生思想政治教育和校园精神文明建设及高校校风的重要组成部分[1]。
良好的学风对于提高教学水平和人才培养质量,促进学生的全面发展和健康成长有着十分重要的意义。
学风建设是一个系统工程,是大学理念和大学精神的重要体现。
为构建我系学风建设的长效机制,营造良好的学习氛围,创造良好的育人环境,提高教学质量及人才培养质量,促进学校教育事业的发展,充分发挥自律会组织的功能,根据现在学生的实际情况,特制定本学生考勤管理系统。
程序实践是本科生重要教学环节之一。
通过程序实践,强化学生的计算机应用技能,使学生验证、巩固和充实所学的理论知识,加深对相关内容的理解,拓宽知识面,培养学生的创新精神和实践能力[2]。
学生考勤管理程序是学校管理工作中一个比较重要的任务,过多的学生考勤管理程序工作给学校管理人员带来了很大麻烦的。
虽然原始的记录方法在一定的程度上可以解决问题,可是现在计算机已经走到了我们的生活,它的不足之处就显而易见了。
学生考勤管理程序,是一个对于学生考勤的管理系统,不仅大大减少了考勤管理人员的大量的工作,而且还方便了班级和学校对学生出课率的查询,只要通计算机登入本系统就能及时修改、更正学生的考勤信息,使信息真实、有效。
这样节省了大量人力物力,节省了宝贵的时间,大大提高了工作效率.用C语言进行了该系统的编写。
操作上力争实现人性化、合理化,满足学校、老师、非计算机管理人员的使用和查看。
1.2国内外的研究现状
传统的学生考勤都是通过老师或学生干部点名和签到进行的,他花费了很多时间和人力,学校统计也烦杂,不便于学校管理。
21世纪是一个信息化时代,因此,一些国家学生考勤管理系统在国内外的高校中都有广泛的运用,与其相似的就有企业指纹考勤机插卡打卡等系统。
目前,国内的考勤技术已经趋向成熟,有一些CPU内核均为科学院自主研发的考勤机器,像中控品牌的产品已经远销欧美、中非、东亚等,无论从质量、模具、品质均不输于其他国家。
而学生考勤管理系统的开发条件低,开发周期短、功能结构相对简单,属于自行开发,自行使用。
所以国内外对学生考勤管理系统的研究也就不多。
因此不存在法律上的版权争议。
1.3研究的目的与意义
在学校,尤其是在各大高校,学生上课考勤是学校对学生的一项重要的考核指标,学生上课的出勤率更是对教师授课质量的客观评价。
而长期以来,学生考勤信息管理都是依赖人工进行的,面对如此众多的学生信息、教师信息和课程信息,考勤信息的统计分析,只能靠教师根据考勤记录手工计算进行统计分析,其工作量可想而知。
不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可控因素,造成了信息管理的某些不规范。
作为计算机应用的一部分,使用计算机对学生考勤信息进行管理,具有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高的效率,也是学校科学化、正规化管理的重要条件。
目前高校学生上课考勤管理都是以任课老师上课点名,记录学生上课情况,对于时间比较长的请假,需要通过递交请假申请让班主任、院系领导都批准方能生效。
这种模式在目前高校管理中暴露了不可避免的弊端。
1.学生请假不方便
2.学生请假对任课老师不透明
3.学生对自己整个学期的上课出勤情况没有整体的统计信息
4.班主任对本班学生整个学期的上课出勤情况不易查看
5.院系领导、学校领导不容易把握学生上课的出勤情况。
因此,开发这样一套管理软件是很有必要的事情,因为一个好的学生考勤管理系统在一定程度上可以解决这些弊端而本系统主要针对的就是目前高校学生上课出勤管理而设计的信息系统。
1.4研究内容
目前,学生上课出勤的信息是通过上课教师手动登记和统计的。
每个学期都有大量的登记记录,手动统计工作量非常大,而且容易出错。
为了减轻教师的负担提高统计数据的准确性,考勤系统采用计算机管理。
这是采用信息技术对传统学生考勤管理方式的替代和提升。
为了能够使系统开发成功,学生考勤系统解决方案应切合实际的教学需求和发展的趋向,在实施考勤系统的设计之前,必须对一系列问题进行科学的论证,如系统的需求分析、系统总体规划、学生考勤系统的功能和实施方案、运行学生考勤系统的软件和硬件配置、学生考勤系统的管理方法等等。
本系统采用VC++中的MFC封装的各API函数和Access作为后台的数据库管理工具来实现学生考勤管理。
主要包括用户登录,考勤管理,查询,统计,系统管理等功能模块来实现学生考勤的录入、按班级统计、浏览、查询某学生全部考勤、迟到、早退、请假、旷课等功能。
因此,该系统使用VC++及Access数据库开发系统作了考勤管理系统。
学生的基本信息、学生考勤、系统用户管理,适用于各高等学校单位。
考勤系统的目的是为实现学生考勤数据采集、数据统计和信息查询过程的自动化,完善学生管理现代化,方便管理人员统计、考核学生出勤情况,方便学生管理部门查询、考核学生的出勤率;准确地掌握学生出勤情况,有效地管理、掌握学生流动情况[5]。
学生考勤管理系统在目前的学校中使用还不普遍,但也有许多类似的成功案例:
如教务管理系统、成绩管理系统、排课系统等。
本设计课题是基于VisualC++6.0开发环境下的MFC设计的的一款对话框界面和数据库结合的一个应用程序。
该课题主要分为:
系统的登陆界面,考勤信息的主界面以及连接数据库三大部分。
系统阐述了考勤系统的设计开发的全过程,包括系统整体设计,各个功能模块划分,系统功能模块的设计与具体实现等部分[8]。
该系统侧重于学生考勤信息查询和数据库的维护,通过已编制好的程序,完成对用户的登录、考勤信息的添加、查询、统计、学生请假等,本系统使用VisualC++与数据库Access编写完成,实现学生考勤信息的记录和管理,为教师的考勤工作提供信息。
学生考勤管理系统的使用用户主要分二类:
1.管理员用户
管理员可以实现本系统信息的管理与维户功能,能够实现对学生信息的管理、教师信息的管理、班级信息的管理、课程信息管理和学校开课信息的管理等功能。
并可以对学生的考勤情况进行统计和分析。
2.学生用户
以学生用户的身份登录后,可以查看自身的考勤信息,详细了解自己学习的情况。
第2章实现系统的工具介绍
2.1开发工具
2.1.1VC++简介
VC++6.0是Microsoft公司推出的一个基于Windows系统平台、可视化的集成开发环境,它的源程序按C++语言的要求编写,并加入了微软提供的功能强大
的MFC(MicrosoftFoundationClass)类库[1]。
其中大部分WindowsAPI函数和Windows控件都是由MFC封装的,它几乎涵盖了整个Windows操作系统的功能。
在Windows图形环境下,MFC不仅给用户提供了应用程序的框架,而且还提供了各种创建应用程序的组件,这样就节省了开发人员从头设计、创建和管理一个标准Windows应用程序所需的程序的时间,因而提高了做事的效率,也减轻了程序技术员的负担,这样,技术员能从一个高的起点编程,写出更加优化有效的程序代码。
另外,它还提供了大量的实用代码,指导新手用户在编程时实现所需要的技术效果和功能效果。
因此,使用VC++提供的高度可视化的应用程序开发工具和MFC类库,可使应用程序开发变得简单[1]。
它具有以下特点:
1.面向window的IDE(集成开发环境)。
VC的IDE为用户提供了快速编程的框架,大大的提高编程的效率。
2.集编辑、编译、连接、调试等功能;
3.两种编程方式:
基于WindowsAPI的C编程方式,VC将大量的API进行封装,通过MFC提供给程序员,提高工作效率,但同时开发难度和工作量也很高;基于MFC的C++编程方式,代码运行效率相对较低,但开发难度小,开发工作量小,源代码效率高[2]。
4.VisualC++6.0是Windows平台上的C++编程环境,它是一个功能强大的可视化软件工具,产生的可执行.exe文件小巧精悍、运操作方便、行速度快。
5.VisualC++6.0还有其他的优势:
比如强大的AppWizard的支持,方便强大的ClassWizard。
2.1.2MFC简介
MFC,微软基础类(MicrosoftFoundationClasses),同VCL类似,是一种ApplicationFramework,随微软VisualC++ 开发工具发布。
该类库提供了大量的可共用和可重复使用的类库供程序技术人员使用。
而其中大部分所使用的类均是从CObject直接或间接派生而成,只有少部分类除外[5]。
MFC中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。
因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。
MicrosoftVisualC++提供了相应的工具来完成这个工作:
AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;ClassWizard还可把代码添加到框架文件里面;最后,编译,则通过类库实现了应用程序特定的逻辑[5]。
下面介绍最重要的MFC。
CWnd:
窗口,它是大多数“看得见的东西”的父类(Windows里几乎所有看得见的东西都是一个窗口,大窗口里有许多小窗口),比如视图CView、框架窗口CFrameWnd、工具条CToolBar、对话框CDialog、按钮CButton,etc;一个例外是菜单(CMenu)不是从窗口派生的。
该类很大,一开始也不必学,知道就行了。
CDocument文档,负责内存数据与磁盘的交互。
最重要的是OnOpenDocument(读入),OnSaveDocument(写盘),Serialize(读写)
CView视图,负责内存数据与用户的交互。
包括数据的显示、用户操作的响应(如菜单的选取、鼠标的响应)。
最重要的是OnDraw(重画窗口),通常用CWnd:
:
Invalidate()来启动它。
另外,它通过消息映射表处理菜单、工具条、快捷键和其他用户消息。
我们自己需要的很多功能都要添加进去,我们经常要用到它,所以对他的操作要求非常熟练。
CDC设备文本。
无论是显示器还是打印机,都是画图给用户看。
这图就抽象为CDC。
CDC与其他GDI(图形设备接口)一起,完成文字和图形、图像的显示工作。
把CDC想象成一张纸,每个窗口都有一个CDC相联系,负责画窗口。
CDC有个常用子类CClientDC(窗口客户区),画图通常通过CClientDC完成[4]。
CDialog对话框
CWinApp应用程序类。
它类似于C语言中的主函数,是程序执行的入口和管理者,负责程序的建立和处理以及主窗口和文档模板的建立。
最常用的函数InitInstance():
初始化。
CGdiObject及子类,用于向设备文本画图。
它们都需要在使用前选进DC。
CPen笔,画线
CBrush刷子,填充
CFont字体,控制文字输出的字体
CBitmap位图
CPalette调色板
CRgn区域,指定一块区域可以用于做特殊处理。
CFile文件。
最重要的不外是Open(打开),Read(读入),Write(写)
CString字符串。
封装了C中的字符数组,非常实用。
CPoint点,就是(x,y)对
CRect矩形,就是(left,top,right,bottom)
CSize大小,就是(cx,cy)对(宽、高)
MFC编程的优点如下:
1.使用模块化、标准化和统一化的程序代码结构,有利于程序的构建,也提高了程序员写代码的效率。
2.MFC的类库提供了很多的工具,方便了进行程序设计,提高了编程效率。
如利用MFCAppWizard创建MFC应用程序框架,利用ClassWizard方便地对Windows消息进行管理。
3.MFC做了封装,提高了开发效率,只比传统的WindowsC程序低5%左右。
并且在MFC应用程序中还允许混合使用传统的WindowsAPI函数。
其它优势:
完全支持Windows所有的函数、控件、消息、菜单及对话框;具有良好的稳定性和可移植性,更符合微软的风格等。
2.2数据库
MicrosoftOfficeAccess是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。
它是微软OFFICE的一个成员,在包括专业版和更高版本的office版本里面被单独出售[4]。
MSACCESS以它自己的格式将数据存储在基于AccessJet的数据库引擎里。
它还可以直接导入或者链接数据(这些数据存储在其他应用程序和数据库)。
软件开发人员和数据架构师可以使用MicrosoftAccess开发应用软件,“高级用户”可以使用它来构建软件应用程序。
和其他办公应用程序一样,ACCESS支持VisualBasic宏语言,它是一个面向对象的编程语言,可以引用各种对象,包括DAO(数据访问对象),ActiveX数据对象,以及许多其他的ActiveX组件。
可视对象用于显示表和报表,他们的方法和属性是在VBA编程环境下,VBA代码模块可以声明和调用Windows操作系统函数[6]。
MicrosoftAccess在很多地方得到广泛使用,例如小型企业,大公司的部门。
Access的用途体现在两个方面:
1.用来进行数据分析:
Access有强大的数据处理、统计分析能力,利用Access的查询功能,可以方便地进行各类汇总、平均等统计。
并可灵活设置统计的条件。
比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便,这一点是Excel无法与之相比的。
这一点体现在:
会用Access,提高了工作效率和工作能力。
2.用来开发软件:
Access用来开发软件,比如生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是:
易学!
非计算机专业的人员,也能学会。
低成本地满足了那些从事企业管理工作的人员的管理需要,通过软件来规范同事、下属的行为,推行其管理思想。
(VB、.net、C语言等开发工具对于非计算机专业人员来说太难了,而access则很容易)。
这一点体现在:
实现了管理人员(非计算机专业毕业)开发出软件的“梦想”,从而转型为“懂管理+会编程”的复合型人才[7]。
另外,在开发一些小型网站WEB应用程序时,用来存储数据。
例如ASP+Access。
这些应用程序都利用ASP技术在InternetInformationServices运行.比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/MicrosoftSQLServer.
ACCESS的用途更多,体现在很多方面:
表格模板。
只需键入需要跟踪的内容,Access便会使用表格模板提供能够完成相关任务的应用程序。
Access可处理字段、关系和规则的复杂计算,以便您能够集中精力处理项目。
您将拥有一个全新的应用程序,其中包含能够立即启动并运行的自然UI。
创建和运行旧数据库。
尽情享用对您的现有桌面数据库(ACCDB/MDB)的支持[10]。
它具有以下优势:
1.提高速度和减少代码量。
你可以用几种技巧来提高你的编码速度,但是却找不到有效的算法的替代者。
接下来的这几点建议可以提高你的编码速度同时又减少你的应用程序消耗的存储空间。
2.用整形数进行数学运算。
即使MicrosoftAccess会使用一个联合处理器来处理浮点型算术,整型数算术也总是要快一些。
当你的计算不含有小数,尽量使用整型或长整型而不是变量或双整型。
整型除法同样也要比浮点除法要快。
在使用其他一些有效的数据类型时会警告:
没有任何东西可以替换有效的运算法则。
3.避免使用过程调用。
避免在循环体中使用子程序或函数调用。
每一次调用都因额外的工作和时间而给编码增大了负担。
每一次调用都要求把函数的局部变量和参数压栈,而栈的大小是固定的,不能随便加大,并且同时还要于MicrosoftAccess共享[1