学生考勤系统技术分析.docx
《学生考勤系统技术分析.docx》由会员分享,可在线阅读,更多相关《学生考勤系统技术分析.docx(19页珍藏版)》请在冰点文库上搜索。
数据库原理实训报告
题目 学生考勤系统
信息工程学院
二O一四年十二月
1.1论文选题的理由和实际意义 1
1.2国内外关于该课题的研究现状及趋势 2
2需求分析 4
2.1功能需求分析 4
2.2系统需求分析 5
3系统设计 6
3.1定义 6
3.2系统模块图 6
3.3E-R 8
3.4数据表 10
3.5用例列举 11
3.5.1数据表 11
352视图 14
3.5.3存储过程 14
4 结论 15
5参考文献 17
附录:
读书笔记 18
学生考勤系统分析报告
1刖百
1.1论文选题的理由和实际意义
学生考勤管理系统作为一个高校的基本管理,是学校对学生工作管理的基本依据。
开发考勤管理系统,正是完善高校信息化管理的重要环节。
人工考勤已很难满足学校规范化管理的要求,面对庞大的信息量,该方式现存在很多弊端。
因此,建立现代化的智能考勤管理系统势在必行。
这样也大大减轻了考勤工作人员的工作量,提高了工作效率,使原本复杂和枯燥无味的工作变得简单而轻松。
学生考勤管理程序是学校管理工作中一个比较重要的任务,过多的学生考勤管理程序工作给学校管理人员带来了很大麻烦的。
虽然原始的记录方法在一定的程度上可以解决问题,可是现在计算机已经走到了我们的生活,它的不足之处就显而易见了。
学生考勤管理程序,是一个对于学生考勤的管理系统,不仅大大减少了考勤管理人员的大量的工作,而且还方便了班级和学校对学生出课率的查询,只要通计算机登入本系统就能及时修改、更正学生的考勤信息,使信息真实、有效。
这样节省了大量人力物力,节省了宝贵的时间,大大提高了工作效率.
本文以“考勤管理系统”的设计和开发为例,系统地阐述了考勤系统的设计开发的全过程,包括系统整体设计,逻辑框架与数据流程,各个功能模块划分,系统功能模块的设计与具体实现等部分。
该系统侧重于学生考勤信息查询和数据库的维护,通过已编制好的程序,完成对用户的登录、考勤信息的添加、查询、统计,学生请假和销假等。
实现学生考勤数据采集、数据统计和信息查询过程的自动化,完善学生管理现代化,方便管理人员统计、考核学生出勤情况,方便学生管理部门查询、考核学生的出勤率,准确地掌握学生出勤情况和相关资料,有效地管理、掌握学生各项情况。
程序实践是本科生重要教学环节之一。
通过程序实践,强化学生的计算机应用技能,使学生验证、巩固和充实所学的理论知识,加深对相关内容的理解,拓宽知识面,培养学生的创新精神和实践能力。
学生考勤管理程序可以大大减缓学生考勤人员的工作量,方便了平时上课学生的出勤率的管理。
1.2国内外关于该课题的研究现状及趋势
学生考勤管理系统在国内外的高校中都有广泛的应用,与其相似的就有企业的上班签到系统。
学生考勤管理系统的开发条件低,开发周期短,功能结构相对简单,属于自行开发,自行使用。
所以国内外对学生考勤管理系统的研究也就不多,因此不存在法律上的版权争议。
长期以来,我国众多的院校都是采用传统的手工方式记录学生每日的出勤情况。
这种方式繁琐易错,准确性、透明度、实时性差,受人为因素影响过大,增加了人力资源成本。
同时使用传统人工记录考勤管理容易出现疏漏,甚至可能存在考勤监管人员因人情导致考勤不平等的情况,造成学生存在侥幸心理,无法解决问题,不利于学生的管理。
随着信息化社会的到来,国民素质的相应提高,学生的信息素养普遍增强,为院校合理的运用考勤管理系统提供了有力的人员保障。
现在的一些院校考勤管理,利用综合考勤管理系统,这种考勤管理系主要针对学生考勤记录等相关情况的管理。
另外,还具备学生请假、销假相关出勤情况的记录和分析汇总功能。
根据系统制定的考勤规则,自动分析出考勤结果。
2需求分析
2.1功能需求分析
考勤管理系统是高校对考勤实行了信息化管理,考勤管理中主要涉及的管理任务有4个方面:
学生基本信息管理、考勤信息管理、考勤查询浏览管理以及系统管理,实现学生考勤的录入、按班级统计、浏览、查询某学生全部考勤、请假、销假等功能。
因此,该系统使用VisualC及sqlserver数据库开发系统作了考勤管理系统。
学生的基本信息、学生考勤、系统用户管理,适用于各高等学校单位。
考勤系统的目的是为实现学生考勤数据采集、数据统计和信息查询过程的自动化,完善学生管理现代化,方便管理人员统计、考核学生出勤情况,方便学生管理部门查询、考核学生的出勤率;准确地掌握学生出勤情况,有效地管理、掌握学生流动情况。
本课题要实现的是学生考勤管理系统,在设计时应该有友好的用户界面,便于考勤管理员的操作,系统应有基本功能如下:
考勤管理员用户登录功能;学生考勤管理相关信息的管理功能;查询功能;
(1)用户界面需求
对于一个好的软件有一个友好的用户界面是很重要的。
用户界面应尽量做的简单、层次清晰明了,以最大限度为用户提供操作方便。
如尽量减少用户输入次数,多使用快捷按扭等。
(2)开发环境介绍
本系统使用的开发语言是VisualC6.0,数据库采用的是sqlserver,以WindowsXP系统为操作平台。
2.2系统需求分析
考勤管理系统能够提供学生考勤的情况记录,方便地对学生考勤进行评定。
考勤情况主要由考勤班干部记录然后上交到考勤管理员,需要设置人工添加的功能,如出勤记录、考勤统计、学生信息等,已备特殊情况的处理;还能够提供请假、休学和退学等情况的记录,并实现查询、添加、修改、删除、浏览等处理功能;能具有一定的安全性、协调性和完整性。
考勤管理者可直接操作各考勤情况,考勤管理人员功能的信息量大,数据安全性和保密性要求最高,本系统考勤管理人员全部开放,对非管理员不需密码,可直接进入进行查阅。
管理员可以浏览、查询、添加、删除、修改、统计学生考勤的基本信息;浏览、查询、统计、添加、删除和修改学生的基本信息,这部分功能由学生处管理人员执行。
考勤管理系统通过考勤信息判断并记录学生出勤信息,可以保证考勤数据的准确、公正、安全,减少考勤人员的工作负担,避免人为因素的干扰和弄虚作假现象;各管理用计算机及管理软件用Windows环境下的全中文界面平台,能灵活处理各种特殊情况,方便的修改各种基本信息,提供丰富的统计信息,查询方便,管理安全,操作简便易学。
3系统设计
3.1定义
(1)系统名称:
学生考勤管理系统
(2)数据库管理软件:
MicrosoftSQLServer
(3)数据库设计采用软件:
MicrosoftOfficeVisio2003
(4)系统采用C/S体系结构:
Client(客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server(服务器)端用于提供数据服务。
(5)运行平台:
windows2000/xp/linux
3.2系统模块图
此系统共有四个模块,分别为:
管理、查询、数据维护、统计。
考勤信息管理系统的主要体系如图3.1所示:
图3.1系统模块图
功能分析
(1)用户信息管理的功能:
添加、修改、删除和浏览用户详细信息。
管理考勤人员使用系统自己创建用户账号,用户的具体属性包括用户账号、用户密码。
(2)信息管理的功能:
学生信息、班级简况信息、班级成员信息、课程信息、考勤信息、请销假信息,管理人员可以对其进行添加、修改、删除和浏览等。
(3)学生考勤的录入功能:
考勤人员能够把学生的考勤记录(请假、销假等)输入到相应的数据库,也可对其进行添加、修改、删除。
(4)浏览功能:
考勤人员能够浏览学生考勤记录及历史考勤记录,能通过显示菜单浏览全部信息。
(5)查询功能:
考勤人员能够按学号、姓名查询某学生的考勤记录或按专业、班级查询某个班级的考勤记录。
(6)修改功能:
考勤人员具有修改学生的考勤记录,如请假、销假、旷课等记录。
(7)请销假功能:
考勤人员能够记录学生的请假、销假功能。
3.3E-R图
图3.2总体E-R图
3.4数据表
基于以上的功能分析,可为考勤系统创建6个数据表。
应用和维护都比较方便。
将其中的数据表设计如下表:
考勤表:
(学号,课程编号,考勤日期,考勤记录)
请销假表:
(学号,请假记录,请假日期,销假记录,销假日期)班级简况表:
(班级编号,班级名称,班主任,班长,人数)课程表:
(课程编号,课程名称,任课老师)
学生简况表:
(学号,姓名,性别,出生日期,联系方式)
账户表:
(账户,密码)
表3.1考勤表
字段
数据类型
长度
是否为主键
学号
文本
12
是
课程编号
文本
6
是
考勤日期
日期/时间
短日期
是
考勤记录
文本
4
否
表3.2请销假表
字段
数据类型
长度
是否为主键
学号
文本
12
是
请假记录
文本
3
否
请假日期
日期/时间
短日期
否
销假记录
文本
1
否
销假日期
日期/时间
短日期
否
表3.3班级简况表
字段
数据类型
长度
是否为主键
班级编号
文本
6
是
班级名称
文本
6
否
班主任
文本
6
否
班长
文本
6
否
人数
数字
整型
否
表3.4课程表
字段
数据类型
长度
是否为主键
课程编号
文本
6
是
课程名称
文本
10
否
任课老师
文本
6
否
表3.5学生简况表
字段
数据类型
长度
是否为主键
学号
文本
12
是
姓名
文本
6
否
性别
文本
1
否
出生日期
日期/时间
短日期
否
联系方式
文本
12
否
表3.6账户表
字段
数据类型
长度
是否为主键
帐户
文本
16
是
密码
文本
16
否
3.5用例列举
3.5.1数据表
(1)考勤表
Createtable考勤表
(学号char(12),
课程编号char(6),
考勤记录char(4)notnull,
primarykey(学号,课程编号,考勤记录),
考勤日期datetimenotnull,
);
(2)请销假表
Createtable请销假表
(学号char(12),
primarykey(学号),
请假记录char(6)notnull,
请假日期datetimenotnull,
销假记录char(l)notnull,
销假日期datetimenotnull,
);
(3)班级简况表
Createtable班级简况表
(班级编号char(6),
primarykey(班级编号),
班级名称char(6)notnull,
班主任char(6)notnull,
班长char(6)notnull,
人数intnotnull,
);
(4)课程表
Createtable课程表
(课程编号char(6),primarykey(课程编号),课程名称char(10)notnull,任课老师char(6)notnull,);
(5)学生简况表
Createtable学生简况表
(学号char(12),primarykey(学号),姓名char(6)notnull,性另char(l)notnull,出生日期datetimenotnull,联系方式char(12)notnull,);
(6)账户表
Createtable账户表
(账户char(16),primarykey(账户),密码char(16)notnull,);
3.5.2视图
(1)建立一个计科班的学生考勤表视图
Createview学生考勤表
As
Select班级编号,班级名称
From班级简况表
Where班级编号
(2)建立一个在班级编号为1101的学生简况表视图
Createview1101号班级学生的班级简况表
As
Select学号,姓名,出生日期,联系方式
From班级简况表Where班级编号=110「;
3.5.3存储过程
(1)存储过程pro,用于返回指定的女性学生
IFEXISTS(SELECTnameFROMsysobjects
WHEREname='学生简况表_pro'andtype=,p,)
DROPPROCEDURE_pro
GO
CREATEPROCEDURE学生简况表_proAS
SELECT*FROM学生简况表WHERE性别士女,
GO
EXECUTE学生简况表_pro
GO
4结论
基于本次课程设计中本系统的一些设计,下面对系统做一个总结,在整个设计中,主要的工作有:
需求分析,具体的系统设计,系统设计包括:
考勤信息,学生信息,学生请销假,班级简况,账户信息等。
在设计过程中,逐步了解到书本知识的重要,作为最基础的部分,带给我的是新的视角。
使我重新认识了数据库,对数据库的兴趣也明显增加了许多,最大的收获莫过于对系统的前期分析,可以从一个大的角度来判断整个系统的性能,从而分析出需要创建那些表实现整体的功能。
当然在设计中还有很多不足的地方,对于数据库的操作不够熟练,在整个系统考虑方面也有些许不足。
这次我主要做了创建表、存储过程、窗体、模块,一开始我觉得它就是创建一些表格,然后再用一些语句根据他们之间的关系,把它们组合在一起、在这之间遇到了一些麻烦、不过通过老师和同学的帮助还是解决了。
由于专业知识学得不牢靠,还要多多学习,比如对数据库SQL语言、视图等操作方法的生疏,以及对前台操作的设计操作,而且发现自己所涉及的知识面的不足,在考虑相关问题上的不全面,在今后的学习当中,我要努力改正自己的不足之处,多阅览各方面的知识并且多动手亲自实践。
经过数据库课程的学习,我掌握了创建数据库以及对数据库的操作的基础知识。
老师的教学耐心细致,课堂上我们有不理解的地方老师都反复讲解,不过那时我都在开小差,没有好好听,到现在才知道基础知识的掌握很重要、不过数据库这门课涉及到以前的知识不多,所以这次勉强做出了这次课程设计,现在我知
道了数据库这是一门很值得学的课程,学过获益匪浅。
5参考文献
[1]童爱红.VisualC#.NET应用教程,北京:
清华大学出版社,2004.
⑵杨晓光.VisualC#.NET程序设计,北京:
清华大学出版社;北京交通大学出版社2004.
[引周忠荣.数据库原理与应用(Access),北京:
清华大学出版社,2003.
[4]周学军SQLServer2000基础教程,北京:
清华大学出版社,2005.
附录:
读书笔记
学习数据库有感
经过一个学期的数据库课程的学习,我们掌握了创建数据库以及对数据库的操作的基础知识。
数据库这门课程涉及到以前的知识不多,是一门从头学起的课程,即使基础不是很好,只要认真听讲、复习功课,还是一门比较容易掌握的课。
课堂上讲的知识比较理论化,如果不动手就无法将知识转化为技能,而动手去做能够让我们将学过的知识在实践中运用,找到知识漏洞,并且能学到更多关于实际操作的知识和技巧。
并且培养了我们的自学能力。
第一次接触到SQL语言,虽然陌生,但是可以让我从头开始学,就算没有基础的人也可以学好。
刚开始练习SQL语言的时候,并不是很难,基本上都是按照老师的步骤来做,还很有成就感。
我们通过老师的一些PPT,我们可以巩固课内的知识,还可以学习内容相关的知识,更好地完成老师布置的作业。
基于我的水平有限,我学习数据库是从三方面入手的,一是学习表的设计规范和表间关系的设计;二是SQL语言的学习,包括视图和存储工程的学习;三是数据库系统本身的操作。
经过一学期的学习,我学到了很多。
关系数据库系统是支持关系数据模型的数据库系统,关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
关系数据结构就是一张张的二维表,关系操作通常包括:
选择(select)、投影(project)、连接(join)、除(divide)、并(union)、交(intersection)、差(difference)、增加(insert)、册邨余(delete)、修改(update)。
还有非常重要的是SQL查询语言了,SQL语言把复杂的数据操作过程全部都隐藏起来了,我们只需要关心做什么,设计相应的SQL语句,怎么做就由系统给我们做得好好的。
SQL语言分为四类:
数据查询、数据操纵、数据定义、数据控制。
当然我知道的还是很少很少,我要多看书,多学习。
经过了一学期的学习,我从起初对数据库的认识模糊到后来清晰,深入,我认为我学到了许许多多的东西。
除了这个以外,我在学习数据库课程过程中,接触到的软件工程思想,网上学习经验,以及利用网络的学习资源都很好的改善了我的学习。
我认为要想学好一门功课我们需要的是持之以恒的精神。
只要你从事计算机行业,就需要学习好数据库的基础知识,不论以后选择哪个方向,数据库的学习都不能放松。
古人云:
书到用时方恨少,知识学多了不会成为累赘,慢慢的积累,总有用到的时候。
给自己明确一个目标,剩下的就是向着这个目标努力,无论遇到什么困难,克服它就向成功迈进了一步。