大学生上课考勤系统开发案例析解解析

上传人:最**** 文档编号:116622831 上传时间:2019-11-16 格式:DOC 页数:9 大小:1MB
返回 下载 相关 举报
大学生上课考勤系统开发案例析解解析_第1页
第1页 / 共9页
大学生上课考勤系统开发案例析解解析_第2页
第2页 / 共9页
大学生上课考勤系统开发案例析解解析_第3页
第3页 / 共9页
大学生上课考勤系统开发案例析解解析_第4页
第4页 / 共9页
大学生上课考勤系统开发案例析解解析_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《大学生上课考勤系统开发案例析解解析》由会员分享,可在线阅读,更多相关《大学生上课考勤系统开发案例析解解析(9页珍藏版)》请在金锄头文库上搜索。

1、“实用U盘大学生上课考勤系统”开发案例析解尹红泽 作者简介:尹红泽(1967 ),男,云南凤庆人,临沧师范高等专科学校信息科学与技术系副教授,教研方向:数据库方向教学与科研。(临沧师范高等专科学校,云南 临沧 677000)摘要:本文描述“实用U盘大学生上课考勤系统”设计开发的主要过程,并给出两种开发环境Vfp9.0和Access2003下的主要功能设计样例。关键词:U盘;大学生;考勤系统;案例析解一、开发背景大学上课一般都要进行考勤,但大多数考勤还是采用手工方式,缺勤数据记录往往有较大的随意性,缺勤数据容易丢失或不完整,也不方便统计或统计工作量较大或统计不准确;大学老师上课很多在多媒体教室,

2、采用电子教案或电子课件,这也给电子考勤的实现带来了方便。为了提高大学老师上课考勤管理的系统性、规范性和准确性,同时考虑到开发环境VFP9.0的性能特点,可以开发一个可在U盘免安装运行的大学生上课考勤管理系统。二、大学生上课考勤过程的业务流程通过我们调查分析,得到如下大学生上课考勤过程的业务流程如图1:图1 大学生上课考勤系统业务流程图三、大学生上课考勤系统的数据流图由上分析可以得到大学生上课考勤系统的顶层数据流图如下:图2 大学生上课考勤系统顶层数据流图数据流图一般要有数据字典配合进行详细的分析说明,在这里,省略掉传统的数据字典的分析。后面将使用实用DD代替。四、数据存储需求由上可得本系统的数

3、据需求:课程信息包括:课号,课名等学生信息包括:学号,姓名,性别,班级,班主任,专业,系考勤信息包括:课程,学生,教师,教室,开课单位,缺勤类别,缺勤原因,学年,学期,日期,时间(或时段)五、功能需求分析本系统要提供的主要功能如下:1、能对参加考勤的课程进行管理(添加、删除、修改)2、能对参加考勤的学生进行管理(添加、删除、修改)3、能对上课缺勤的学生进行快速登记(添加)4、能对上课缺勤信息进行维护(删除、修改)5、能对缺勤信息方便快捷地按学生、班级、课程、开课单位、学年学期等进行查询、统计和打印6、能导出缺勤信息为Excel或txt格式7、能对数据库进行备份和恢复六、总体ER图 通过对上述数

4、据需求和功能需求分析,可得本系统的总体ER图如下:图3 实用U盘大学生上课考勤系统的总体ER图七、关系模型由上述概念模型(ER图),按照转换原则,可得本系统的原始逻辑模型(关系模型)如下:1、课程关系(课号,课名)2、学生关系(学号,姓名,性别,班级,班主任,专业,系)3、考勤关系(课号,学号,教师,教室,缺勤类别,缺勤原因,年,月,日,时,学年,学期,开课单位)八、关系模式的规范化为了减少数据存储异常,提高数据库存储性能等,需要对原始关系模型(包括每一个关系模式)进行分析,并规范之,使之至少达到3NF。(一)规范前:课程关系:BCNF学生关系:2NF考勤关系:3NF(二)规范后:1、课程关系

5、(课号,课名),达到BCNF2、学生关系(学号,姓名,性别,班级代号),达到3NF3、班级关系(班级代号,班名,班主任,专业,系,班长,人数,男生),达到2NF(因有:专业系)短路结论:一个上课老师要考勤的班毕竟不多,此关系模式到第2范式也可以。4、考勤关系(课号,学号,教师,教室,缺勤代号,缺勤原因,年,月,日,时段,学年,学期,开课单位),达到3NF。(三)模型优化规范后的关系模型,还可能根据需要,进行优化分析,以满足实际物理模型(与具体DBMS有关)的实现要求等。1、优化方案1:(1)课程关系(课号,课名),达到BCNF(2)学生关系(学号,姓名,性别,班级代号),达到3NF(3)班级关

6、系(班级代号,班名,班主任,专业,系,班长,人数,男生),达到2NF(4)考勤关系(课号,学号,教师,教室,缺勤代号,缺勤原因,日期,时段,学年,学期,开课人),达到3NF(5)考勤类型关系(缺勤代号,缺勤类别),达到BCNF2、优化方案2:(1)课程关系(课号,课名),达到BCNF(2)学生关系(学号,姓名,性别,班级代号),达到3NF(3)班级关系(班级代号,班名,班主任,专业,系,班长,人数,男生),达到2NF(4)考勤关系(课号,学号,教师,教室,缺勤代号,缺勤原因,日期,时段代号,学年代号,学期代号,开课人代号),达到3NF(5 考勤类型关系(缺勤代号,缺勤类别),达到BCNF(6)

7、时段关系(时段代号,时段名称,起止时间),达到BCNF(7)学年关系(代号,学年),达到BCNF(8)学期关系(代号,学期),达到BCNF(9)开课单位关系(代号,开课人),达到BCNF九、实用DD(采用优化方案1,即5关系模型)实用数据字典(DD)是为了设计实现数据库物理模型或为了以后维护数据库方便而在数据库实现前或后,采用表格方式等将数据库元数据记录下来。本系统的实用DD如表1、表2、表3、表4、表5:表1 课程信息表:字段名数据类型宽度关键字否外键否含义默认值约束课号整型是课程代号课号0课名字符型40课程名称说明:设计时可增加“参与考勤否”字段,默认值“是”,方便编程表2 学生信息表字段

8、名数据类型宽度关键字否外键否含义默认值约束学号字符型9是学号数字姓名字符型10姓名性别字符型2性别女性别=“男”or性别=“女” 班号整型是班级代号班号0表3 班级信息表字段名数据类型宽度关键字否外键否含义默认值约束班号整型是班级代号班号0班名字符型20班级名称班主任字符型10班主任专业字符型20专业系字符型10系名班长字符型10班长人数整型总人数人数=男生男生整型男生数说明:实现时可增加“参与考勤否”字段,默认值“是”,参与考勤的班级的学生才能参与考勤表4 考勤信息表字段名数据类型宽度关键字否外键否含义默认值约束考勤编号整型是考勤编号考勤编号0课号整型是是课程代号课号0学号字符型9是是学号数

9、字日期日期型是日期Date()时段字符型4是时段上午教师字符型10考勤人教室字符型20教室缺勤代号字符型1是缺勤代号0缺勤原因备注型10缺勤原因学年字符型9考勤学年输入掩码:2099-2099学期字符型2考勤学期上|下开课人字符型20开课单位表5 缺勤类型信息表:字段名数据类型宽度关键字否外键否含义默认值约束缺勤代号字符型1是缺勤代号0缺勤类别字符型4缺勤类别十、实现关系数据库 关系数据库可以在不同的DBMS实现,在VFP中实现的关系数据库如图4所示。数据库名:Dxskq.dbc数据库表名:Kc.dbf,Xs.dbf,Bj.dbf,Kq.dbf,Kqlx.dbf图4 在VFP中实现的关系数据库

10、在Access 2003中实现的关系数据库如图5所示。图5 在Access 2003中实现的关系数据库十一、系统功能结构由前述系统功能需求分析和数据存储需求分析可得本系统功能结构图如图6所示。图6 大学生上课考勤系统功能结构图十二、详细设计详细设计是指选择一个具体的集成开发环境(IDE),编程实现系统功能。(一)本系统的缺勤信息管理功能模块的设计(VFP9.0环境)如下:1、功能分析:考勤登记的结果缺勤信息需要进行管理,采用表格方式,数据环境用视图。可以浏览缺勤数据。可以对缺勤类型和缺勤原因等可能或应该修改的数据进行修改,其它数据禁止修改。可以保存修改后的结果,准备采用datachecher类

11、实现缓冲和保存。可以删除错误的缺勤记录。2、功能设计:缺勤信息管理表单运行时如图7所示。图7 缺勤信息管理表单设计图 “删除”按钮的实现思路是这样的:选中一行记录,单击“删除”,询问要删除吗?回答“否”,返回(Return),否则用Delete命令或SQL的delete from命令删除当前记录,指针往上移一条。“删除”按钮的click事件:select kqcDelkqbh=Allt(str(kq.考勤编号)if 6=Messagebox(真要删除考勤编号为: +cDelkqbh+ 的这条考勤信息吗?,4+32,删除提示) delete select kq skip -1 if bof()

12、go top endif wait window 考勤编号为: +cdelkqbh+ 的考勤信息已删除! nowait timeout 3 thisform.grdkq.setfocusendif运行表单,测试“删除”效果如图8所示,功能正常。图8 删除缺勤信息测试效果图(二)本系统的考勤登记功能模块的设计(Access 2003环境)如下:1、功能分析:考勤登记主要功能就是上课后教师可以启动考勤系统,选择当前课程和学生进行缺勤情况登记。2、功能设计:考勤登记功能的实现思路是:上课教师启动考勤登记单击添加自动产生考勤编号自动获得当前日期、学年、学期选择课程、学生、时段和缺勤类型等信息检验缺勤信

13、息合法保存(进库)。考勤登记运行时如图9所示。图9 考勤登记功能的实现(Access 2003环境)“保存”按钮的click事件(VBE环境):Private Sub cmdSave_Click() 按钮的名称叫cmdSave,则按钮的单击事件过程叫cmdSave_Click()On Error GoTo Err_cmdSave_Click 不选择课号 If IsNull(课号) Or 课号 = 0 Then 课号也不允许空,但其默认值是0,所以有两个判断! MsgBox 请选择课号!, vbOKOnly + vbInformation, 提示 Me.课号.SetFocus Exit Sub Else Me.课号.SetFocus End If 不选择学号 If IsNull(学号) Then 学号是主键,但不是自动编号的主键,不允许空,但其默认值不是0,所以只有一个判断就行

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号