资源描述
基于VB学生试验课考勤系统研究和设计
学生:陈寻寻
指导老师:史卫三
淮南师范学院计算机和信息工程系
目录
【摘要】
伴随社会发展和信息技术进步,全球信息化趋势越来越显著。几乎没有一个学校不在走信息化道路,全部在用自己智慧将工作效率一步一步提升。在现在高校中,因为学生分布式教学,造成了教学管理不严谨性,使得部分学生产生了逃课旷课侥幸心理。所以老师任务不仅仅是教学,还要同时负担考勤等烦杂日常事务,这么就会严重影响到老师讲课时间,同时也影响了学生听课时间。所以,信息化给这么一个情况带来了一个契机,基于信息化考勤系统就在这种情况下变越来越受欢迎,它给老师带来了愈加高效处理考勤方法,使得教学能够比较顺利进行下去,不会再因为考勤等烦杂事务影响教学。
本系统含有较完备信息管理功效,经过使用本系统,高校老师能够在很短时间内完成学生考勤任务,并将考勤信息存入数据库,即有效保留了数据,方便以后对学生评定,又节省了考勤所花费时间,使之能够愈加好完成教学任务。全文共分为:序言、可行性分析、数据库需求分析、数据库总体设计、数据库具体设计、数据库连接等六部分,经过对高校学生考勤工作步骤具体分析,具体表述了系统业务步骤图、数据步骤图、数据字典、E-R图、数据库关系图,然后采取自顶向下几方法循序渐进地进行了系统模块设计、代码设计、数据库设计、人机界面设计及输入输出设计等。经过系统计划,充足表现了信息化在公安工作中关键性、立即性和实效性。
【关键词】Visual Basic6.0 SQL Server 学生考勤 C/S模式
第一章 项目需求分析
伴随计算机发展及网络技术应用,当今社会正快速向信息自动化社会前进,信息自动化作用也越来越大,尤其是各行业管理领域,智能化信息处理已是提升效率、规范管理、客观审查最有效路径。
传统学生考勤,关键是靠老师在课堂上点名或学生会抽查点名制度,学生人数多、考勤不全方面、数据不正确,尤其是点名考勤制花费了老师和学生大量时间且起不到太大效果。人员、部门之间信息传输因为经过手工或纸质表格交流而显得内容不够丰富,信息传输严重滞后使信息沟通大大受阻。这使得学生、老师、学校各部门之间不得不在和台帐信息沟通上花费大量时间和精力,既影响了整个学校管理工作效率,同时又使学校领导不能立即掌握最新最快学生出勤动态,给学校学风建设带来不利影响。
比如:
(1)考勤不全方面:一个学校班级、学生人数众多,学生会安排考勤工作人员极有限,任课老师也不可能每节课全部点名,所以高校学生考勤无法全方面地进行。
(2)数据不正确:点名考勤制花费了老师和学生大量时间:上课逐一逐一点名考勤,占用老师和学生大量时间。而且上大课,会常常出现点名时有些人代喊到方法,一二百人大教室也没法确定是真还是假,往往会助长学生逃课风气。
(3)资料共享程度低:老师手里掌握考勤统计常常会和系学生会、学校教务处考勤统计有出入。
所以,经过对学院学生考勤管理工作现实状况初步调查,发觉学校急需一套能够适应大量信息控制和数据处理考勤管理方案,方便用计算机正确高效处理方法和数据库紧凑严谨结构替换手工操作和纸质传输。因为学校格校区地跨面积大,学院、专业、学生数量多,对学校考勤工作开发一套能够进行实时处理信息管理系统,其迫切性也是不可忽略,具体表现以下:
有了上述原因,对院学生考勤工作急需一套管理信息系统,而科学管理迫切性也使得这套系统开发势在必行。
系统背景
现今社会,学校为了愈加好完善自己教育形式,为了愈加好管理学生在校情况,考勤作为一个学校基项管理,学生考勤系统软件已经成为学校管理关键取向点,她能够把事情复杂化转为简单化。
系统开发目标
考勤系统能够减轻本学院老师和后勤工作力度,也大大地提升了领导、老师之间工作效率。不仅达成了便于本校师生教学工作,而且在生活上和学习上学生考勤这个关键终止口,全部能让老师能够很轻松简明知道某学生一学期来在校表现,给和下定论。这次本大家所设计课题正是一个学校内管理学生在校情况表现。
系统开发目标
本系统考虑系统组成各环功效需求,利用vb语言和SQL Server 编应用系统。这套系统应该含有优异技术特征;配置必需数据库和应用服务程序;组织完整管理员操作界面。软件系统界面要美观,布局要合理,窗口内容尽可能简单明了提供信息,语言要通俗易懂,有层次感,分类要清楚明了。
第二章 可行性分析
2.1 系统分析
系统分析是指在管理信息系统开发生命周期中系统分析阶段各项活动和方法,应用系统思想和系统科学原理进行系统分析工作具体方法和技术。系统分析阶段是整个系统开发关键,通常来说,建立管理信息系统首先要做好系统计划,在此基础上才能分批地实现各个应用项目标开发。
系统调查关键任务是了解步骤做了什么,存在什么问题,所以调查内容应该包含:关键输入模块、关键输出模块、处理功效模块、数据存放模块和和其它系统关系。
学生考勤系统操作步骤是首先由学校购置考勤系统,安置在教学楼各放置点。每日日终,由对应老师或学生对考勤统计进行分类、统计,形成日报表。待月末统计,生成月报表,并上报学校对应部门,供领导审阅。
2.2 系统可行性分析
建设管理信息系统必需性取决和需求迫切性和实现可行性。所以在进行系统调查以后就应该进行可行性分析。可行性分析关键目标是:深入明确系统目标、规模和功效,对系统开发背景、必需性和意义进行调查分析并依据需求提出开发系统地初步方案和计划。它对初步调查进行复审,重新明确问题,对所提系统大致规模和目标及约束进行论证。
本系统含有较完备信息管理功效,经过使用本系统,在上课前五分钟老师登入考勤系统开始考勤,老师能够在很短时间内完成学生考勤任务,并将考勤信息存入数据库,即有效保留了数据,方便以后对学生评定,又节省了考勤所花费时间,使之能够愈加好完成教学任务。同时学校领导能够经过在线察看某班级同学在线情况。
所以本案例中对于学生考勤系统方案也要从技术可行性、使用可行性这两个方面进行分析,并论证学生考勤系统建设必需性和可能性。
2.3 社会可行性分析
伴随社会反展和信息技术进步,全球信息化趋势越来越显著。几乎没有一个学校不在走信息化路子,全部在用自己智慧将工作效率一步一步提升。在现在高校中,因为学生分布式教学,造成了教学管理不严谨性,使得部分学生产生了逃课旷课侥幸心理。所以老师任务不仅仅是教学,还要同时负担考勤等烦杂日常事务,这么就会严重影响到老师讲课时间,同时也影响了学生听课时间。所以,信息化给这么一个情况带来了一个契机,基于信息化考勤系统就在这种情况下变越来越受欢迎,它给老师带来了愈加高效处理考勤方法,使得教学能够比较顺利进行下去,不会再因为考勤等烦杂事务影响教学。
本学生考勤管理系统设计目标在于研究利用计算机自动化实现考勤管理系统方案设计,关键对教务处工作人员工作内容及工作方法进行分析研究,以实现计算机自动化办公软件系统。为教育管理者提供了一个新学生管理方法。这种方法能够大大减轻管理员工作负担,提升工作效率,为学校降低人力和物质资源消耗,使管理过程便利、快捷,大大缩短了管理时间和步骤。
对于教职员及学生考勤假如仍使用传统手工方法录入将是一项复杂工作。面对庞大信息量,该方法现关键存在以下弊端:
(1)浪费人力、效率低下。
(2)难避免考勤中弄虚作假现象。
(3)手工录入使考勤数据易丢失。
(4)考勤统计工作复杂繁重,难以确保统计结果正确性、立即性。
所以,人工考勤已极难满足学校规范化管理要求。建立现代化智能考勤管理系统势在必行。
2.4 技术可行性分析
学生考勤系统关键包含:用户登陆信息,老师对学生出勤信息录入,老师和对应课程信息录入,学生查看出勤信息,查询信息,统计信息和打印信息。考虑到本系统界面众多,所以本系统采取vb语言开发结合数据库SQL server 和Visual Basic6.0集成开发工具。
Microsoft SQL Server 使用了最实用数据构架,它经过对高端硬件平台和最新网络和存放技术支持,为企业级应用提供很好处理方案。本系统后台数据库设计是在Microsoft SQL Server 中完成。利用SQL Server 来创建后台数据库,SQL Server 是基于SQL用户/服务器(C/S)模式数据库系统,它采取图形化界面使数据库管理愈加简练、灵活。用其创建数据库含有较高安全性和稳定性。
我们使用Visual Basic 6.0开发了学生上课点名系统,本系统替换了传统人工操作,利用计算机辅助管理学生试验课日常出勤及缺勤情况既提升了点名科学性,也减轻了老师工作负担。利用SQL Server 进行数据库建立和编程设计,结合Visual Basic中WinSock控件实现了用户端和服务器模式学生考勤管理系统,利用菜单,按钮和树状节点并行方法实现了管理员登陆、学生考勤基础信息、学生请假管理、数据统计打印等功效,每类信息管理全部做到了对应信息查询功效。经测试本系统运行正常,经过本系统能够做到学生考勤信息规范管理。
2.5 经济可行性分析
学生考勤系统需要投资费用和未来运行维护费用,其中投资费用关键包含设备费用、购置软件费用、技术人员费用及其它费用(如因为工作方法改变需要增加其它开支)。本产品是使用vb语言在Visual Studio.NET环境下开发,所以购置者只需要装Microsoft SQL Server 即可进行使用。通常为了确保新系统运行可靠性,要求手工和计算机处理在一定时间并存,系统收益关键经过新系统提升工作效率,知道经营管理策略来实现,还有其它难以计算指标。
1、考勤管理中节省人力,降低了手工考勤相关人员,同时减轻了管理人员劳动强度。
2、降低成本及其其它费用,学校只需购置本产品在购置套Microsoft SQL Server数据库即可投入使用。
3、改善微弱步骤,提升了工作效率,同时让相关人对数据统计查询所使用时间大大缩短。
4、提升数据处理立即性和正确性。
5、考勤系统考勤效率得到了显著改善,使老师有更多精力教学生。
第三章 数据库设计
3.1 数据库概要
经过对系统分析针对《学生考勤系统》软件数据流图是比较清楚,对各功效模块来说全部比较有规律。所以得出数据流图,但完整图比较繁琐,所以分开各个功效模块数据流图。以下是个模块数据流图:
3.1.1 登录表数据流图
用户名及密码
身份验证
登录失败
登录成功
错
对
登录表
3.1.2 查询表数据流图
选择查询项目
查询条件
查询
显示
考勤数据表及相关表
3.1.3考勤数据流图
上下课登记
经过考勤人选着用户类型登入考系统给学生考勤,以后相关统计被统计到数据库中。
选择操作
考勤
请假登记
用户登记
缺勤登记
时间设置,班级和学生管理,上课情况
用户
3.1.4 管理员流图
信息管理
数据维护
用户管理
系统设置
统计查询
请假类别
添加
修改
删除
备份恢复
学生、课程、班级、用户
登录表信息载入
3.2考勤系统E-R图
学生和老师关系是多对多关系。比如一个学生能够让多个老师考勤,一个老师一样能够考勤多个学生。经过对学生考勤系统项目标分析得出以下系统E-R图。
学生
班级
学号
姓名
性别
年纪
入校时间
登录密码
学生考勤系统 E-R图1
学生
考勤
学生
M
M
3.3数据库分析
上课老师天天上课前进行考勤开始和下课后进行考勤结束,数据库中统计上课时间和下课时间,这些参数决定今天该学生是否出勤。
考勤人员天天上课后进行考勤开始和下课前进行考勤结束,数据库中统计上课时间和下课时间,假如一天上课期间全到,则整天全考勤全部打勾;不然,就有迟到、早退、旷课、或请假。按每节课算,必需在要求时间里考勤才算有效,考勤统计才会写入数据库。假如没有则意味着该节课没有出勤。
一、管理人员可对特殊情况人员进行修改出勤统计:
(1)、若一些人请假,无法考勤,管理员则经过管理路径修改其出勤情况;
(2)、每逢上缴出勤表格时,能够自动经过本系统导出EXCEL表,并打印出来;
(3)、能够查看在线人员情况。
二、实现方法
(1)、设置账号,给每个老师设置用户名账号,使其能够登记出勤;
(2)、管理员通道能够修改出勤统计;
(3)、经过数据统计计算学生出勤情况;
(4)、经过数据统计计算老师出勤情况;
3.4 数据库具体设计
3.4.1 数据字典
本系统使用Microsoft SQL Server ,针对学生考勤系统对学生考勤功效得到数据表,数据库中包含:登录表、学生信息表、班级信息表、请假表、上课情况类型表、上课时间表、旷课信息统计表、出勤信息统计表。
下面列出了十个表具体静态数据:
1) 登录表(以下表)TUser表
此表存放操作职员信息
字段
字段名
类型
宽度
是否为空
1.username
用户名
Varchar
50
否
2.password
密码
Varchar
50
否
3.realname
用户真实姓名
Varchar
50
4.regtime
注册时间
Varchar
50
5.permission
用户权限
Int
2
否
2)学生信息表(以下表)TWorker表
此表存放学生基础信息
字段
字段名
类型
宽度
是否为主键
1.departmentId
学生班级
Int
4
外键
2.workerId
学生学号
Int
50
是
3.workerName
学生姓名
Varchar
50
否
4.workerSex
学生性别
Varchar
10
否
5.workerage
学生年纪
Int
4
否
6.intoSchoolTime
入校时间
Varchar
50
否
7.workPas
学生密码
Varchar
50
否
3) 班级信息表(以下表)TDeparment表
此表存放班级信息
字段
字段名
类型
宽度
是否为主键
1.departmentId
班级号码
Int
4
是
2.departmentName
班级名称
Varchar
50
否
4)请假表(以下表)TQingjia表
此表存放请假信息
字段
字段名
类型
宽度
是否许可为空
1.departmentId
班级号码
Int
4
否
2.workerId
学生学号
Int
50
否
3.qjTime
请假时间
varchar
50
否
4.qjLength
请假时长
int
20
否
5.djTime
结假时间
varchar
50
否
6.qjReason
请假原因
varchar
50
否
7.xjTime
varchar
50
是
8.ynKg
5) 上课情况类型表(以下表)TWorkType表
字段
字段名
类型
宽度
是否许可为主键
1.typeId
类型号
Int
2
是
2.typeName
类型名称
Varchar
50
否
6) 上课时间表(以下表)TWorkTime表
字段
字段名
类型
宽度
是否许可为空
1.mstarTime
开课时间
Varchar
4
否
2.mleaveTime
下课时间
Varchar
50
否
3.astarTime
再次开课时间
varchar
50
否
4.aleaveTime
再次下课时间
Varchar
20
否
7) 旷课信息统计表(以下表)TKuangKe表
字段
字段名
类型
宽度
是否许可为空
1.departmentId
班级号码
Int
4
否
2.workerId
学生学号
Int
50
否
3.ccTime
旷课时间
varchar
50
否
4.ccArea
旷课地点
varchar
50
否
5.ccLength
旷课时长
int
20
否
6.dcTime
归课时间
varchar
50
否
7.xcTime
varchar
50
是
8.ccContent
旷课缘由
否
9.ynkg
8) 出勤信息统计表(以下表)TShangKe表
字段
字段名
类型
宽度
是否许可为空
1.departmentId
班级号码
Int
4
否
2.workerId
学生学号
Int
50
否
3.workday
开课日期
varchar
50
否
4.mstarTime
开课时间
Varchar
4
是
5.astarTime
再次开课时间
varchar
50
是
6.mleaveTime
下课时间
Varchar
50
是
7.aleaveTime
再次下课时间
Varchar
20
是
8.workmsType
开课时出勤情况
varchar
50
是
9.workmlType
下课时出勤情况
int
20
是
10.workasType
再次开课时出勤情况
varchar
50
是
11.workalType
再次下课时出勤情况
varchar
50
是
3.4.2 数据库建立
在SQL Server 里创建数据库有很多方法,这里采取SQL 语句来创建数据库。打开SQL Server 查询分析器,选择当地服务器,连接到SQL Server 数据库,登录名和密码均为xunxun。将SQL Server 语句复制在查询分析器里,然后实施SQL语句。SQL语句由以下两层结构组成:
(1)创建新数据库
use master
Create database db
Go
(2)使用create table语句建立数据库表。以登录表为例,SQL语句以下:
CREATE TABLE [TUser].[登录表] (
[used_username] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[used_ password] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[used_realname] [varchar] (50) COLLATE Chinese_PRC_CI_AS,
[used_regtime] [varchar] (50) COLLATE Chinese_PRC_CI_AS,
[used_ permission] [int] (2) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
3.5系统程序代码
使用vb语言在Visual Studio.NET环境下进行程序编写。这里以添加学生班级程序和上下课时间设置为例。
添加学生班级:
VERSION 5.00
Begin VB.Form frmDepAdd
BorderStyle = 3 'Fixed Dialog
Caption = "添加班级"
ClientHeight = 3675
ClientLeft = 45
ClientTop = 420
ClientWidth = 5535
Icon = "frmDepAdd.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3675
ScaleWidth = 5535
ShowInTaskbar = 0 'False
StartUpPosition = 2 '屏幕中心
Begin VB.CommandButton cmdreadd
Caption = "再次添加"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 2880
TabIndex = 5
Top = 2640
Width = 1215
End
Begin VB.CommandButton cmdadd
Caption = "添加"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 1200
TabIndex = 4
Top = 2640
Width = 975
End
Begin VB.TextBox txtbmName
Height = 495
Left = 1800
TabIndex = 3
Top = 1200
Width = 2535
End
Begin VB.TextBox txtaddbmId
BackColor = &H00C0FFFF&
Enabled = 0 'False
ForeColor = &H00FFFFFF&
Height = 495
Left = 1800
TabIndex = 1
Top = 360
Width = 2535
End
Begin VB.Label Label2
Caption = "班级名称"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 720
TabIndex = 2
Top = 1200
Width = 975
End
Begin VB.Label Label1
Caption = "班级号"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 960
TabIndex = 0
Top = 360
Width = 735
End
End
Attribute VB_Name = "frmDepAdd"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim strSql As String
Dim rs As New ADODB.Recordset
Dim num As Integer '存放对应学生号
Private Sub cmdadd_Click()
Dim departId As Integer
Dim departName As String
If txtbmName.Text = "" Then
MsgBox "班级名称不能有空值"
Exit Sub
Else
departId = Trim(txtaddbmId.Text)
departName = Trim(txtbmName.Text)
strSql = "insert into TDepartment (departmentId,departmentName) values(" _
& departId & ",'" & departName & "')"
TransactSQL (strSql)
MsgBox "添加成功"
End If
End Sub
Public Sub init() '初始化
txtbmName.Text = ""
num = 0
strSql = "select * from TDepartment order by departmentId"
Set rs = TransactSQL(strSql)
If Not rs.EOF And Not rs.BOF Then
rs.MoveLast
num = rs(0)
num = num + 1
Me.txtaddbmId.Text = CStr(num)
Else
Me.txtaddbmId.Text = 1
End If
End Sub
Private Sub cmdreadd_Click()
Call init
End Sub
Private Sub Form_Load()
num = 0
'初始化工号
strSql = "select * from TDepartment order by departmentId"
Set rs = TransactSQL(strSql)
If Not rs.EOF And Not rs.BOF Then
rs.MoveLast
num = rs(0)
num = num + 1
Me.txtaddbmId.Text = CStr(num)
Else
Me.txtaddbmId.Text = 1
End If
End Sub
上下课时间设置:
VERSION 5.00
Begin VB.Form frmSetTime
Caption = "正常上下课时间设置"
ClientHeight = 8550
ClientLeft = 60
ClientTop = 435
ClientWidth = 12990
Icon = "frmSetTime.frx":0000
LinkTopic = "Form1"
MDIChild = -1 'True
ScaleHeight = 8550
ScaleWidth = 12990
WindowState = 2 'Maximized
Begin VB.CommandButton cmdOK
Caption = "设定"
Height = 495
Left = 2280
TabIndex = 10
Top = 4560
Width = 1455
End
Begin VB.Frame Frame2
Caption = "下午"
Height = 2055
Left = 480
TabIndex = 1
Top = 2280
Width = 4455
Begin VB.TextBox aleaveTime
Height = 375
Left = 1920
TabIndex = 9
Top = 1080
Width = 2175
End
Begin VB.TextBox astartTime
Height = 375
Left = 1920
TabIndex = 8
Top = 360
Width = 2175
End
Begin VB.Label Label4
Caption = "下课时间"
Height = 615
Left = 840
TabIndex = 7
Top = 1080
Width = 855
End
Begin VB.Label Label3
Caption = "上课时间"
Height = 375
Left = 840
TabIndex = 6
Top = 360
Width = 975
End
End
Begin VB.Frame Frame1
Caption = "早晨"
Height = 2055
Left = 480
TabIndex = 0
Top = 240
Width = 4455
Begin VB.TextBox mleaveTime
Height = 375
Left = 1
展开阅读全文