1、VB学生实验课考勤管理系统 作者: 日期:2 个人收集整理 勿做商业用途基于VB学生实验课考勤系统的研究与设计学生:陈寻寻指导老师:史卫三淮南师范学院计算机与信息工程系目录【摘要】随着社会的发展和信息技术的进步,全球信息化的趋势越来越明显。几乎没有一个学校不在走信息化的道路,都在用自己的智慧将工作效率一步一步的提升。在现在的高校中,由于学生的分布式教学,造成了教学管理的不严谨性,使得一些学生产生了逃课旷课的侥幸心理.所以教师的任务不仅仅是教学,还要同时负担考勤等烦杂的日常事务,这样就会严重影响到教师的授课时间,同时也影响了学生的听课时间。因此,信息化给这样的一个状况带来了一个契机,基于信息化的
2、考勤系统就在这种情况下变的越来越受欢迎,它给教师带来了更加高效的处理考勤的方法,使得教学能够比较顺利的进行下去,不会再因为考勤等烦杂事务影响教学.本系统具备较完备的信息管理功能,通过使用本系统,高校教师能够在很短的时间内完成学生的考勤任务,并将考勤信息存入数据库,即有效的保存了数据,方便以后对学生的评定,又节省了考勤所耗费的时间,使之能够更好的完成教学任务.全文共分为:前言、可行性分析、数据库需求分析、数据库总体设计、数据库详细设计、数据库连接等六部分,通过对高校学生考勤工作流程的具体分析,详细表述了系统的业务流程图、数据流程图、数据字典、ER图、数据库关系图,然后采用自顶向下的几方法循序渐进
3、地进行了系统的模块设计、代码设计、数据库设计、人机界面设计及输入输出设计等。通过系统的规划,充分体现了信息化在公安工作中的重要性、及时性和实效性.【关键词】Visual Basic6。0 SQL Server 2000 学生考勤 C/S模式 第一章 项目需求分析随着计算机的发展及网络技术的应用,当今社会正快速向信息自动化社会前进,信息自动化的作用也越来越大,特别是各行业的管理领域,智能化信息处理已是提高效率、规范管理、客观审查的最有效途径。传统的学生考勤,主要是靠老师在课堂上点名或学生会抽查点名制度,学生人数多、考勤不全面、数据不准确,特别是点名考勤制耗费了老师和学生大量的时间且起不到太大的效
4、果。人员、部门之间的信息传递由于通过手工或纸质表格交流而显得内容不够丰富,信息传递的严重滞后使信息的沟通大大受阻。这使得学生、教师、学校各部门之间不得不在与台帐信息的沟通上花费大量的时间和精力,既影响了整个学校管理的工作效率,同时又使学校领导不能及时掌握最新最快的学生出勤动态,给学校学风的建设带来不利的影响。例如:(1)考勤不全面:一个学校班级、学生人数众多,学生会安排的考勤工作人员极有限,任课老师也不可能每节课都点名,所以高校的学生考勤无法全面地进行.(2)数据不准确:点名考勤制耗费了老师和学生大量的时间:上课逐个逐个点名考勤,占用老师和学生大量的时间。而且上大课,会经常出现点名时有人代喊到
5、的方式,一二百人的大教室也没法确定是真还是假,往往会助长学生逃课的风气.(3)资料的共享程度低:老师手里掌握的考勤记录经常会与系学生会、学校教务处的考勤记录有出入.因此,通过对学院学生考勤管理工作现状的初步调查,发现学校急需一套可以适应大量信息控制和数据处理的考勤管理方案,以便用计算机准确高效的处理方法和数据库紧凑严谨的结构代替手工操作和纸质传递.由于学校格校区地跨面积大,学院、专业、学生数量多,对学校的考勤工作开发一套能够进行实时处理的信息管理系统,其迫切性也是不可忽视的,具体体现如下:有了上述原因,对院学生考勤工作急需一套管理信息系统,而科学管理的迫切性也使得这套系统的开发势在必行。系统背
6、景现今的社会,学校为了更好的完善自己的教育形式,为了更好的管理学生在校情况,考勤作为一个学校的基项管理,学生考勤系统软件已经成为学校管理的重要取向点,他能够把事情的复杂化转为简单化.系统开发目的考勤系统能够减轻本学院老师和后勤的工作力度,也大大地提高了领导、老师之间的工作效率。不但达到了便于本校师生的教学工作,而且在生活上和学习上学生考勤这个重要的终结口,都能让老师可以很轻松简明的知道某学生一学期来在校的表现,给与下定论.这次本人们所设计的课题正是一个学校内管理学生在校情况的体现。系统开发目标本系统考虑系统组成各环的功能需求,运用vb语言以及SQL Server 2000编的应用系统。这套系统
7、应该具有先进的技术特征;配置必要的数据库和应用服务程序;组织完整的管理员操作界面。软件系统的界面要美观,布局要合理,窗口的内容尽量简单明了提供的信息,语言要通俗易懂,有层次感,分类要清晰明了.第7页第二章 可行性分析2。1 系统分析系统分析是指在管理信息系统开发的生命周期中系统分析阶段的各项活动和方法,应用系统思想和系统科学的原理进行系统分析工作的具体方法和技术.系统分析阶段是整个系统开发的关键,一般来说,建立管理信息系统首先要做好系统规划,在此基础上才能分批地实现各个应用项目的开发.系统调查的主要任务是了解流程做了什么,存在什么问题,所以调查的内容应该包括:主要输入模块、主要输出模块、处理功
8、能模块、数据存储模块以及与其它系统的关系。学生考勤系统操作流程是首先由学校购置考勤系统,安置在教学楼各放置点。每日日终,由相应老师或学生对考勤记录进行分类、统计,形成日报表.待月末统计,生成月报表,并上报学校相应部门,供领导审阅。2.2 系统的可行性分析 建设管理信息系统的必要性取决与需求的迫切性和实现的可行性。因此在进行系统调查之后就应该进行可行性分析。可行性分析的主要目标是:进一步明确系统的目标、规模和功能,对系统开发的背景、必要性和意义进行调查分析并根据需求提出开发系统地初步方案和计划。它对初步调查进行复审,重新明确问题,对所提系统大致规模和目标及约束进行论证.本系统具备较完备的信息管理
9、功能,通过使用本系统,在上课前五分钟老师登入考勤系统开始考勤,老师能够在很短的时间内完成学生的考勤任务,并将考勤信息存入数据库,即有效的保存了数据,方便以后对学生的评定,又节省了考勤所耗费的时间,使之能够更好的完成教学任务。同时学校领导可以通过在线察看某班级同学的在线情况。因此本案例中对于学生考勤系统的方案也要从技术可行性、使用可行性这两个方面进行分析,并论证学生考勤系统建设的必要性和可能性.2。3 社会可行性分析随着社会的反展和信息技术的进步,全球信息化的趋势越来越明显。几乎没有一个学校不在走信息化的路子,都在用自己的智慧将工作效率一步一步的提升。在现在的高校中,由于学生的分布式教学,造成了
10、教学管理的不严谨性,使得一些学生产生了逃课旷课的侥幸心理。所以教师的任务不仅仅是教学,还要同时负担考勤等烦杂的日常事务,这样就会严重影响到教师的授课时间,同时也影响了学生的听课时间。因此,信息化给这样的一个状况带来了一个契机,基于信息化的考勤系统就在这种情况下变的越来越受欢迎,它给教师带来了更加高效的处理考勤的方法,使得教学能够比较顺利的进行下去,不会再因为考勤等烦杂事务影响教学.本学生考勤管理系统的设计目的在于研究利用计算机自动化实现考勤管理系统方案设计,主要对教务处工作人员的工作内容及工作方式进行分析研究,以实现计算机自动化办公软件系统。为教育管理者提供了一种新的学生管理方式。这种方式可以
11、大大减轻管理员的工作负担,提高工作效率,为学校减少人力与物质资源的消耗,使管理过程便利、快捷,大大缩短了管理时间以及流程.对于教职工及学生的考勤如果仍使用传统的手工方式录入将是一项复杂的工作。面对庞大的信息量,该方式现主要存在以下弊端: (1)浪费人力、效率低下。(2)难避免考勤中的弄虚作假现象。(3)手工录入使考勤数据易丢失。(4)考勤统计工作复杂繁重,难以保证统计结果的正确性、及时性。因此,人工考勤已很难满足学校规范化管理的要求。建立现代化的智能考勤管理系统势在必行。2.4 技术可行性分析学生考勤系统主要包括:用户的登陆信息,教师对学生出勤信息的录入,教师和对应的课程信息的录入,学生查看出
12、勤信息,查询信息,统计信息和打印信息。考虑到本系统界面众多,因此本系统采用vb语言开发结合数据库SQL server 2000以及Visual Basic6.0集成开发工具. Microsoft SQL Server 2000使用了最实用的数据构架,它通过对高端硬件平台以及最新的网络和存储技术的支持,为企业级的应用提供很好的解决方案。本系统的后台数据库的设计是在Microsoft SQL Server2000 中完成的.利用SQL Server 2000来创建后台数据库,SQL Server 2000是基于SQL客户/服务器(C/S)模式的数据库系统,它采用图形化界面使数据库管理更加简洁、灵活
13、。用其创建的数据库具有较高的安全性和稳定性。我们使用Visual Basic 6。0开发了学生上课点名系统,本系统取代了传统的人工操作,利用计算机辅助管理学生实验课的日常出勤及缺勤情况既提高了点名的科学性,也减轻了老师的工作负担。利用SQL Server 2000进行数据库的建立和编程设计,结合Visual Basic中的WinSock控件实现了客户端与服务器模式的学生考勤管理系统,利用菜单,按钮和树状节点并行的方式实现了管理员登陆、学生考勤基本信息、学生请假管理、数据统计打印等功能,每类信息的管理都做到了相应信息的查询功能。经测试本系统运行正常,通过本系统可以做到学生考勤信息的规范管理。2.
14、5 经济可行性分析学生考勤系统需要投资费用和未来的运行维护费用,其中投资费用主要包括设备费用、购买软件费用、技术人员的费用及其他费用(如由于工作方式改变需要增加的其他开支)。本产品是使用vb语言在Visual Studio.NET环境下开发,因此购买者只需要装Microsoft SQL Server2000 即可进行使用。通常为了保证新系统运行的可靠性,要求手工和计算机处理在一定时间并存,系统的收益主要通过新系统提高工作效率,知道经营管理策略来实现,还有其他难以计算的指标。1、考勤管理中节省的人力,减少了手工考勤的相关人员,同时减轻了管理人员的劳动强度.2、降低成本及其其他费用,学校只需购买本
15、产品在购买套Microsoft SQL Server2000数据库即可投入使用。3、改进薄弱环节,提高了工作效率,同时让相关人对数据的统计查询所使用的时间大大缩短。4、提高数据处理的及时性和正确性。5、考勤系统考勤的效率得到了明显的改善,使老师有更多的精力教学生。第32页第三章 数据库设计3.1 数据库概要通过对系统的分析针对学生考勤系统软件的数据流图是比较清晰的,对各功能模块来说都比较有规律。所以得出数据流图,但完整的图比较繁琐,因此分开各个功能模块的数据流图.以下是个模块的数据流图:3。1。1 登录表数据流图用户名及密码身份验证登录失败登录成功错对登录表3。1.2 查询表数据流图选择查询项
16、目查询条件查询显示考勤数据表及相关表3.1.3考勤数据流图上下课登记通过考勤人选着用户类型登入考系统给学生考勤,之后相关记录被记录到数据库中.选择操作考勤请假登记用户登记缺勤登记时间设置,班级以及学生的管理,上课情况用户3.1。4 管理员流图信息管理数据维护用户管理系统设置统计查询请假类别添加修改删除备份恢复学生、课程、班级、用户登录表信息载入3.2考勤系统ER图学生和老师的关系是多对多的关系。例如一个学生可以让多个老师考勤,一个老师同样可以考勤多个学生。通过对学生考勤系统项目的分析得出以下系统E-R图。学生班级学号姓名性别年龄入校时间登录密码学生考勤系统 ER图1学生考勤学生MM3.3数据库
17、分析上课老师每天上课前进行考勤开始和下课后进行考勤结束,数据库中记录上课时间和下课时间,这些参数决定今天该学生是否出勤。考勤人员每天上课后进行考勤开始和下课前进行考勤结束,数据库中记录上课时间和下课时间,如果一天上课期间全到,则整天全考勤都打勾;否则,就有迟到、早退、旷课、或请假.按每节课算,必须在规定的时间里考勤才算有效,考勤记录才会写入数据库.如果没有则意味着该节课没有出勤.一、管理人员可对特殊情况人员进行修改出勤记录:(1)、若某些人请假,无法考勤,管理员则通过管理路径修改其出勤情况;(2)、每逢上缴出勤表格时,可以自动通过本系统导出EXCEL表,并打印出来;(3)、可以查看在线人员的状
18、况.二、实现方式(1)、设立账号,给每个老师设立用户名账号,使其可以登记出勤;(2)、管理员通道可以修改出勤记录;(3)、通过数据记录计算学生的出勤情况;(4)、通过数据记录计算老师的出勤情况;3.4 数据库详细设计3.4.1 数据字典本系统使用Microsoft SQL Server 2000,针对学生考勤系统对学生的考勤功能得到数据表,数据库中包括:登录表、学生信息表、班级信息表、请假表、上课情况类型表、上课时间表、旷课信息统计表、出勤信息统计表.下面列出了十个表的具体静态数据:1) 登录表(如下表)TUser表此表存放操作员工的信息字段字段名类型宽度是否为空1.username用户名Va
19、rchar50否2.password密码Varchar50否3。realname用户真实姓名Varchar504。regtime注册时间Varchar505。permission用户权限Int2否2)学生信息表(如下表)TWorker表此表存放学生的基本信息字段字段名类型宽度是否为主键1。departmentId学生班级Int4外键2.workerId学生学号Int50是3.workerName学生姓名Varchar50否4.workerSex学生性别Varchar10否5.workerage学生年龄Int4否6.intoSchoolTime入校时间Varchar50否7.workPas学生密
20、码Varchar50否3) 班级信息表(如下表)TDeparment表此表存放班级的信息字段字段名类型宽度是否为主键1。departmentId班级号码Int4是2。departmentName班级名称Varchar50否4)请假表(如下表)TQingjia表此表存放请假信息字段字段名类型宽度是否允许为空1.departmentId班级号码Int4否2.workerId学生学号Int50否3。qjTime请假时间varchar50否4.qjLength请假时长int20否5。djTime结假时间varchar50否6。qjReason请假原因varchar50否7.xjTimevarchar5
21、0是8。ynKg5) 上课情况类型表(如下表)TWorkType表字段字段名类型宽度是否允许为主键1。typeId类型号Int2是2。typeName类型名称Varchar50否6) 上课时间表(如下表)TWorkTime表字段字段名类型宽度是否允许为空1.mstarTime开课时间Varchar4否2。mleaveTime下课时间Varchar50否3。astarTime再次开课时间varchar50否4。aleaveTime再次下课时间Varchar20否7) 旷课信息统计表(如下表)TKuangKe表字段字段名类型宽度是否允许为空1.departmentId班级号码Int4否2。work
22、erId学生学号Int50否3.ccTime旷课时间varchar50否4。ccArea旷课地点varchar50否5.ccLength旷课时长int20否6.dcTime归课时间varchar50否7。xcTimevarchar50是8.ccContent旷课缘由否9.ynkg8) 出勤信息统计表(如下表)TShangKe表字段字段名类型宽度是否允许为空1。departmentId班级号码Int4否2.workerId学生学号Int50否3.workday开课日期varchar50否4。mstarTime开课时间Varchar4是5.astarTime再次开课时间varchar50是6。ml
23、eaveTime下课时间Varchar50是7.aleaveTime再次下课时间Varchar20是8。workmsType开课时出勤情况varchar50是9.workmlType下课时出勤情况int20是10.workasType再次开课时出勤情况varchar50是11。workalType再次下课时出勤情况varchar50是3。4.2 数据库的建立在SQL Server 2000里创建数据库有很多方法,这里采用SQL语句来创建数据库.打开SQL Server 2000的查询分析器,选择本地服务器,连接到SQL Server 2000数据库,登录名和密码均为xunxun。将SQL Se
24、rver 2000语句复制在查询分析器里,然后执行SQL语句。SQL语句由如下两层结构构成:(1)创建新数据库use masterCreate database dbGo(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 (
25、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 PRIMARYGO3。5系统程序代码使用vb语言在Visual Studio.NET环境下进行的程序编写。这里以添加学生班级程序和上下课时间设置为例。添加学生班级:VERSION 5。00Begin VB。Form frmDepAdd BorderStyle = 3 Fixed Dialog Captio
26、n = ”添加班级 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 = ”再次添加
27、 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
28、 = 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 = &H00C0FFF
29、F 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 = 49
30、5 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 EndEndAttr
31、ibute VB_Name = ”frmDepAddAttribute VB_GlobalNameSpace = FalseAttribute VB_Creatable = FalseAttribute VB_PredeclaredId = TrueAttribute VB_Exposed = FalseDim strSql As StringDim rs As New ADODB.RecordsetDim num As Integer 存放相应的学生号Private Sub cmdadd_Click()Dim departId As IntegerDim departName As Stri
32、ngIf txtbmName。Text = Then MsgBox ”班级名称不能有空值 Exit SubElsedepartId = Trim(txtaddbmId。Text) departName = Trim(txtbmName.Text)strSql = ”insert into TDepartment (departmentId,departmentName) values(” _ & departId ”,” departName ) TransactSQL (strSql)MsgBox 添加成功End IfEnd SubPublic Sub init() 初始化txtbmName
33、。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 IfEnd SubPrivate Sub cmdreadd_Click() Call initEnd SubPrivate
34、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.00Begin VB。Form frmS
35、etTime 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 T
36、abIndex = 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