学生考勤系统复习课程.docx
《学生考勤系统复习课程.docx》由会员分享,可在线阅读,更多相关《学生考勤系统复习课程.docx(23页珍藏版)》请在冰豆网上搜索。
学生考勤系统复习课程
学生考勤系统
题目:
程序文档
专业:
计算机科学与技术
姓名:
学号:
完成日期:
2015年06月20日
一.
1.1课题研究背景
随着现代化信息技术的不断进步,计算机已成为用来进行学校管理运作不可或缺的一部分。
以前的考勤工作都由教师完成,不仅浪费人力物力,而且也无法保证准确性和透明度,给管理带来了许多不便。
现在利用计算机来管理考勤工作,大大降低了教师的工作量,也提高了教师的工作效率。
普通高校生源的不断增加,学生人数激增,其管理难度也越来越大,如何优化学生的日常管理也成为了一个大众化的课题。
考勤管理系统是学校日常管理的重要方面,出勤率的高低能直接体现出一个学生的基本素质和学习态度。
大学生常因为网络、游戏等原因缺课耽误学习。
因此大学生的考勤管理已经成为学校管理的一个重要部分。
目前高校学生上课考勤管理都是以任课老师上课点名,记录学生上课出勤情况,学期末根据上课出勤表及作业登记表对学生平时成绩打分,然后把数据上交到各院系。
学生请假以传统的写请假条的形式向各自班主任请假,时间长的请假,要班主任、院系领导都批准方能生效。
这种的模式在目前高校管理中暴露出了许多弊端:
一是学生请假对任课老师不透明,造成对学生上课出勤误记的情况;二是学生上课出勤表对班主任不透明,班主任很难与学生及时有效的沟通;三是学生对自己上课出勤情况没有实时的信息。
1.2研究目的及意义
在高校管理中,学生是学校里最大群体,其管理十分复杂。
由于每门课的出勤情况直接影响学生在某门课结束后,能否参加这门课的考试。
所以,学生的出勤率直接和学生顺利完成学业有着密切相关的联系。
由于高校上课还存在着一位教师上多个班级,或者一位教师上大课等特点,用传统的点名考勤的方法,不仅会占用大量的上课时间,而且也不能真实的反映学生的到课情况,导致学生出勤情况的报告与统计工作难度极大。
虽然每个班主任和任课老师都参与考勤信息的收集,但考勤信息的汇总和统计仍很繁琐。
学生考勤管理系统是在长时间的教学调查后,根据教学的实际情况,开发出一个实用的系统模块,上课教师可以在课前或课后,对学生的考勤情况进行抽查,并把结果记录到系统,在学期结束时可以很方便的看出学生平时表现。
该考勤系统的一些必具体来说,本系统就是为了达成以下几点目的:
1.完善学生管理系统;
2.方便教师和同学了解实时考勤及请假情况。
3.更加直观的显现出学生每堂课的出勤情况。
1.3课题内容简介
学生考勤管理系统就是用计算机作为基础平台,利用计算机强大的分析处理数据的能力,帮助教师管理学生,教师打考勤、审批请假,学生查询自己的考勤信息,均不受地点限制。
通过本系统软件,能帮助教师和学生利用计算机,快速方便的对学生考勤情况进行输入、输出、修改和查询的所需操作,使考勤工作更加便捷、直观、合理,更有效的降低了学生因请假不及时造成的考勤误记情况本系统包括以下功能:
1.面向学生的功能:
A.学生登录;
B.学生个人考勤信息的查询。
2.面向教师的功能:
A.教师登录;
B.对学生考勤情况进行输入,修改和删除。
C.对学生考勤、请假信息的查询。
3.若学生请假通过教师的审批,在教师点名时,状态一栏将默认为“请假”。
4.系统可以导出学生的考勤情况的EXCEL表格,表格中可以看见学生每堂课的出勤情况。
二、考勤系统关键技术
2.1开发背景
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。
目前,我国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到各个领域,并且正在成为信息社会的重要支柱。
在这样的大背景下,学生考勤管理系统,它已进入人类社会的各个领域并发挥着越来越重要的作用。
学习计算机知识不仅仅是为了掌握一种技能,更重要的是:
它能启发人们对先进科技的向往,激发创新意识,推动对新知识的学习,培养自学能力,锻炼动手实践的本领。
利用计算机管理,可以加强校园的信息管理,从而达到并完成为教师和学生服务的目的。
2.2系统开发环境需求
2.2.1开发语言ASP.NET
ASP.NET并不是ASP的简单的升级,它是.netFramework的一部分,而.netFramework是微软.net平台的一个重要的组成部分,它是一组用于程序开发的类库,这个类库的规模相当庞大,并且还在不断的更新中。
几乎可以胜任任何程序的开发。
而且.net是可以跨平台的,用它编写的程序不用重写就可以在不同的平台下运行,就像java应用程序一样。
这也是微软用.net平台与JAVA抗衡的一大优势。
ASP.NET是建立在通用语言运行时刻库(CLR)上的应用程序框架。
他用来在服务器端构建功能强大的web应用程序。
ASP.NET是M的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。
ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。
可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。
ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#)创作应用程序。
另外,任何ASP.NET应用程序都可以使用整个.NETFramework。
开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。
这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。
微软为ASP.NET设计了这样一些策略:
易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
2.2.2开发平台VisualStudio2008
VisualStudio2008是微软开发的visualstudio系列开发工具的最新版本,微软公司在2007年11月初发布新一代企业级应用开发平台.NETFramework3.5和开发工具VisualStudio2008。
现代信息部门的开发团队必须因应高度竞争的商业环境,快速进行应用软件系统的设计、开发、测试以及部署带领企业赢得市场。
大部分的软件开发团队,都面临以下几项挑战:
开发团队间的沟通困难,开发工具形形色色,分散且难以互相整合开发程序、开发标准难以建立。
MicrosoftVisualStudio2008开发工具系列,有许多令人期盼已久的强化功能,提供更高的程序开发效率、更精简的程序代码、与更佳的安全性。
包括.NETFramework3.5、ASP.NET2.0、64-bit程序开发支持、新的WindowsForm程序设计、以及对行动装置解决方案的全新开发支持。
2.2.3数据库MicrosoftSQLServer2005
数据库系统克服了文件系统的缺陷,提供了对数据更高级、更有效的管理。
目前世界上已有数以万计的数据库系统在运行,其应用已深入到人类社会生活的各个领域,从学校管理、银行业务,资源分配、经济预测一直到信息检索、档案管理、普查、统计等,并在通信网络基础上,建立了许多国际性的联机检索系统。
数据库技术从产生的开始沿着层次、网状、关系等三个分支发展。
数据库设计的一个重要目标是数据独立性,也就是应该使用程序和数据库的数据结构之间相互独立,不受影响。
经过三十余年的发展,数据库技术在理论和应用上都已相当成熟。
数据库技术和网络技术相结合产生了分布式数据库技术。
数据库技术与面向对象技术相结合产生了面向对象数据库。
数据库技术仍在不断发展中。
数据库的种类很多,小型桌面数据库有Access、Excel、FoxPro等,大型的数据库有Oracle、Sybase、Informix和SQLServer等。
小型数据库使用简单,可以满足日常的工作需要,而大型数据库有高效、完善的安全访问机制,足以应付每天上万次的访问量。
在学生考勤管理系统中,两种类型的数据库都可能用到。
SQLServer是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力,提供了以Web标准为基础的扩展数据库编程功能。
丰富的XML和Internet标准支持允许使用内置的存储过程以XML格式轻松存储和检索数据。
SQLServer提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,进一步拓展应用空间,带来新的商业应用机遇。
例如,XML数据库与WebService的支持将使您的应用实现Internet数据互联,.Net集成极大的扩展了开发空间,异构数据集成、ServiceBroker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL扩展带来了诸多灵活性。
C#、VB.Net、XQuery、XMLA、ADO.Net2.0、SMO、AMO等都将成为SQLServer数据平台上开发数据相关应用的有力工具。
2.3系统目标
学生考勤管理系统是在长时间的教学调查后,根据教学的实际情况,开发出一个实用的系统模块,上课教师可以在课前或课后,对学生的考勤情况进行抽查,并把结果记录到系统,在学期结束时可以很方便的看出学生平时表现。
该考勤系统的一些必具体来说,本系统就是为了达成以下几点目标:
1)完善学生管理系统。
2)方便教师和同学了解实时考勤及请假情况。
3)更加直观的显现出学生每堂课的出勤情况。
为达到以上的开发目的。
应遵循一定的设计和开发与原则:
1)模块接口定义清晰;
2)基础类库和接口设计合理,尽量建立扩展的接口和抽象类;
3)数据库操作使用标准SQL语句,如果一定要使用有差别的SQL语句,则尽量集中在一起,以减少将来维护和移植的难度;
4)使用的通用的数据库访问代码,对将来的维护是一个很大的简化。
5)将不同的功能模块放在不同的文件夹下面,大大提高了系统代码的可读性,从而大大提高了可维护性。
6)采用开放的标准和工具等。
2.4系统需求
2.4.1系统性能需求
学生考勤管理系统的特性要求该系统需要具备以下几个主要特性:
1)实用性:
学生考勤管理系统在设计时必须遵循的一个重要原则,就是以考勤为系统设计的中心。
具体来说,应用系统应能实现用户特定的需求,操作界面友好、方便,功能设置符合用户的习惯和要求。
2)易维护:
管理员能够简单方便地管理系统,并对系统进行日常维护;随着系统信息的变更或增加、数据规模的增大,系统升级、维护应该易于操作;各子系统、功能模块的设计应具有良好的灵活性,保证在系统建设过程中后期系统功能的实现不影响前期已投入使用的系统功能。
3)安全性:
系统应充分考虑信息的安全性,建立完善的多层次的安全保障体系。
4)可扩展:
系统在设计时应充分考虑到业务开发不断推进的需要,降低系统在扩展新的业务功能时的复杂度。
5)开放性:
系统在体系结构和数据交换协议等方面应遵循标准和开放的原则,以确保具有良好的互操作性、可移植和可扩充性。
2.4.2系统功能需求
系统主要功能模块如下所示:
1)面向学生的功能:
学生登录;学生个人考勤信息的查询。
2)面向教师的功能:
.教师登录;对学生考勤情况进行输入,修改和删除;对学生考勤、请假信息的查询。
3)若学生请假通过班主任老师的审批,在教师点名时,状态一栏将默认为“请假”。
4)系统可以导出学生的考勤情况的EXCEL表格,表格中可以看见学生每堂课的出勤情况。
三、系统总体设计
3.1系统设计原理
本系统在设计中使用了面向对象的设计原理,是因为:
1.面向对象设计不再是单纯的从代码的第一行一直编到最后一行,而是考虑如何创建类和对象,利用类和对象来简化程序设计,并提供代码的封装和重用性,便于程序的维护与扩展。
2.所谓的对象是一种抽象的名称,用来对应实现世界存在的"东西"。
一个窗口、一个按钮、一个菜单都可视为一个对象,而按钮对象、菜单对象、又会出现在窗口对象中,因此按钮对象、菜单对象便是窗口的组件之一。
对象内部的数据是不能随意更改的,必须接收从对象外部传递来的信息,再由对象按其方法加以处理。
用户无需知道其任何细节,操作是封闭的,对象之间能通过函数调用相互通信。
3.类可视为一个产品模具、一个模块。
在面向对象设计中,类是对象的原型,是对象的制作器。
类的概念是面向对象程序设计最重要的特征。
所谓类,是指由数据结构及其相关操作所形成的集合,描述该类任何一个对象的共同的行为特征,是对一组性质相同的对象的程序描述,概括了对象的共同性质和数据。
4.设计的学生考勤系统也是建立在一系列类基础之上的,其编程的思想是:
先根据一定的需要创建一系列的子类或直接调用asp提供的基类,编制程序时,由这些类派生出相应的对象,所派生出的对象继承了其父类所有的功能,而且具有很好的封装性,这样就可利用派生出的对象像搭积木一样来设计自己的程序。
打个比方,就比如要制造一台机器,首先要制造各种零件的模具,然后用制造好的模具生产出所需的零件,所有这些做完后,剩下的就只是如何把这些零件组装起来,这样一台机器就很容易制造出来了。
实际编程也是如此。
每个表单都是由一定数量的对象按某一种方式组合在一起的,程序编制的核心是类的设计。
3.2功能模块设计
模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成其中每个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。
为了降低软件系统的复杂性,提高可理解性、可维护性,必须把系统划分成为多个模块。
但是模块不能任意划分,应尽量保持其独立性。
模块的独立性指每个模块只能完成系统要求的独立的自功能,并且与其他模块的联系最少而且接口简单。
模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果。
模块独立性很重要,主要有两条理由:
第一,有效的模块化软件比较容易开发出来,这个优点尤其重要。
第二,独立的模块化比较容易测试和维护。
模块独立程度可以由两个定性标准度量,这两个标准分别称为内聚和偶合。
偶合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。
从以上两点可以得出结论:
好的模块是具有高内聚低耦合的特点。
四、数据库设计
4.1数据库设计规则
数据库在一个信息发布系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。
合理的数据库结构可以提高数据库存储效率,保证数据的完整性和一致性。
设计数据库系统时应充分了解用户各个方面的需求,包括现有系统的需求以及将来可能增加的需求在信息世界中,信息从客观事物出发流经数据库,通过决策机构最后又回到客观世界,信息的这一循环经历了三个领域:
信息世界,数据世界,现实世界。
现实世界的事物反映到人的头脑中,人的大脑对它有个认识过程,经过分析(选择、命名、分类等)进入信息世界。
这些信息再进一步加工、编码,然后进入数据世界,而软件系统的开发工作需要考虑这两个方面的问题,也就是要考虑系统开发所需要的数据,以及如何对这些数据进行操作。
这两个问题贯穿了整个软件系统的开发过程,这也就是数据库的设计问题,软件设计的一个核心。
数据库设计的主要任务是针对一个给定的应用环境,在给定的硬件环境、操作系统、以及数据库管理信息系统等软件环境下,创建一个性能良好的数据库模式,建立数据库及其应用系统,使之能有效地收集、存储、操作和管理数据,满足用户地各类需求。
数据库设计通常是在一个通用的DBMS支持下,即利用现成的DBMS作为开发的基础。
4.2数据库概念结构设计
概念结构设计的主要任务是根据用户需求设计数据库的概念数据模型。
概念模型独立于具体的数据库管理系统,它描述的是从用户角度看到的数据库,反映了用户的现实环境,而与数据库将来怎样实现无关。
在需求分析基础上设计出能够满足用户各种需求的实体及它们之间的关系,从而为以后的逻辑结构设计作好铺垫。
图4-1管理员信息E-R图
图4-2教师信息E-R图
图4-3学生信息E-R图
4.3数据库逻辑结构设计
4.3.1数据表设计
管理员信息表对存放管理用户名、密码、权限进行管理
表4-1管理员信息表
序号
列名
数据类型
长度
小数位
标识
主键
允许空
默认
说明
1
id
int
是
否
2
Userid
varchar
30
是
管理员编号
3
username
varchar
200
是
管理员名称
4
roleid
int
200
是
角色编号
5
Rolename
varchar
200
是
角色名称
教师信息表存放对教师进行管理
表4-2教师信息表
序号
列名
数据类型
长度
小数位
标识
主键
允许空
默认
说明
1
teacherid
int
是
否
2
teachername
varchar
200
是
教师名称
3
password
varchar
200
是
密码
4
secrecy
varchar
100
是
安全密码
5
secrecyanswer
varchar
200
是
安全问题
6
email
varchar
50
是
邮箱
7
nation
varchar
200
是
民族
8
jiguan
varchar
200
是
籍贯
9
age
varchar
200
是
年龄
10
sex
varchar
10
是
性别
11
birthday
datetime
是
生日
12
tel
varchar
200
是
电话
13
mobile
varchar
200
是
移动电话
14
regtime
datetime
是
注册时间
15
regip
varchar
20
是
登录IP
16
logtimes
int
是
登录次数
17
lastlogip
varchar
20
是
最后登录IP
18
lastlogtime
datetime
是
最后登录时间
19
description
varchar
2000
是
备注
20
userid
varchar
50
是
编号
学生信息表对学生进行管理
表4-3学生信息表
序号
列名
数据类型
长度
小数位
标识
主键
允许空
默认
说明
1
studentid
int
是
否
2
studentname
varchar
200
是
学生名称
3
password
varchar
200
是
密码
4
secrecy
varchar
100
是
安全密码
5
secrecyanswer
varchar
200
是
安全问题
6
email
varchar
50
是
邮箱
7
grade
varchar
50
是
年级
8
major
varchar
50
是
专业
9
xueyuan
varchar
200
是
学院
10
nation
varchar
200
是
民族
11
jiguan
varchar
200
是
籍贯
12
age
varchar
200
是
年龄
13
sex
varchar
10
是
性别
14
birthday
datetime
是
生日
15
tel
varchar
200
是
电话
16
mobile
varchar
200
是
移动电话
17
regtime
datetime
是
注册时间
18
regip
varchar
20
是
登录IP
19
logtimes
int
是
登录次数
20
lastlogip
varchar
20
是
最后登录IP
21
lastlogtime
datetime
是
最后登录时间
22
description
varchar
2000
是
备注
23
userid
varchar
50
是
编号
考勤信息表对学生考勤信息进行管理
表4-4考勤信息表
序号
列名
数据类型
长度
小数位
标识
主键
允许空
默认
说明
1
id
int
是
否
2
title
varchar
200
是
标题
3
studentname
varchar
200
是
学生名称
4
studentid
varchar
200
是
学生编号
5
ClassA
varchar
50
是
班级
6
kaoqinren
varchar
200
是
老师
7
status
varchar
200
是
情况
8
kaoqintime
datetime
是
时间
9
buzhu
text
是
结果
10
shijianduan
varchar
200
是
时间段
11
kejie
varchar
200
是
课节
请假信息表对学生请假进行管理
表4-5请假信息表
序号
列名
数据类型
长度
小数位
标识
主键
允许空
默认
说明
1
id
int