《学生考勤管理系统详细设计说明书.pdf》由会员分享,可在线阅读,更多相关《学生考勤管理系统详细设计说明书.pdf(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 学生考勤管理系统 -详细设计说明书 组长:XXX 组员:XXX XXX XXX XXX XXX*目 录 1.引言.2 1.1 编写目的.2 1.2 背景分析.2 1.3 参考资料.3 2总体设计.3 2.1 任务和目标.3 2.2 运行环境及条件概述.3 2.2.1 技术方面.3 2.2.2 经济方面.4 2.2.3 操作方面.4 3系统详细需求分析.3 3.1 学生需求描述.3 3.2 功能需求描述.4 3.3 详细系统运行环境及开发工具.5 3.31 相关开发工具简介.5 3.32 B/S(浏览器/服务器)简介.4 3.33 JSP 简介.5 4.总体方案确定.5 4.1 学生考勤管理前
2、台.6 4.2 学生考勤管理后台.7 5.系统详细设计.10 5.1 系统功能划分.10 5.1.1 请假系统模块.10 5.1.2 考勤系统模块.10 5.1.3 后台管理模块.10 5.2 数据字典.11 5.3 系统界面详细设计.12 5.3.1 登陆界面.12 5.3.2 系统主界面.13 5.3.3 添加学生信息界面.14 5.3.4 课程管理界面.15 6.数据库系统设计.15 6.1 逻辑结构设计.19 6.2 主要实体模型.20 6.3E-R 图分析.21 6.4 数据库表设计.21 7.软件测试.20 7.1 页面使用安全.21 7.2 请假系统测试.21 7.3 修改密码测
3、试.21 7.4 考勤管理测试.22 *1.引言 1.1 编写目的 20 世纪末,随着计算机科学的发展,数据库技术在 Internet 中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。本系统总体上由三大功能模块:请假系统模块、考勤系统模块、后台管理模块组成。系统涉及到高校三大类用户:学生、任课老师、系统管理员。本高校学生考勤管理系统用 JSP+SQL Server 2000 开发,开发过程中运用了页面模块化、信息发布的动态生成、静态页面显示等技术开发。本文重点介绍本系统的请假系统、考勤系统两大功能模块设计,
4、完成学生、任课老师、系统管理员三类用户功能的设计与实现。1.2 背景分析 目前高校校园信息化逐步完善,能有效地借助网络才能提高办事效率。如今各大高校针对师生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。因此学生考勤管理系统能进一步加强高校学风建设,维护正常的教学秩序,给学生创造一个优良的学习环境。目前高校学生上课考勤管理都是以任课老师上课点名,记录学生上课情况,对于时间比较长的请假,需要通过递交请假申请让班主任、院系领导都批准方能生效。这种的模式在目前高校管理中暴露了不可避免的弊端:一、学生请假不方便;二、学
5、生请假对任课老师不透明;三、学生对自己整个学期的上课出勤情况没有整体的统计信息;四、班主任对本班学生整个学期的上课出勤情况不易查看;五、院系领导、学校领导不容易把握学生上课的出勤情况。因此一个好的学生考勤管理系统在一定程度上可以解决这些弊端,本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。本系统涉及到高校六大类用户:学生、任课老师、班主任、院系领导、学校领导、教务管理员。*1.3 参考资料 1.赵文涛,数据库系统原理,中国矿业大学出版社,2006 2.安葳鹏,软件工程,中国矿业大学出版社,2007 3.Harkins Sales Susan,Dreamweaver MX
6、 数据库从入门到精通,电子工业出版社,2003 4.张晓东,JSP+Oracle 数据库开发与实例,清华大学出版社,2008 5.向隅编,数据库基础及应用,邮电大学出版社,2008 2总体设计 2.1 任务和目标 开发本系统的目的,就是要解决目前高校中关于学生请假与上课出勤管理中所面临的一系列问题。开发出高校学生考勤管理系统能有效地提高高校办事效率,解决目前高校学生请假及上课出勤管理问题,实现学生请假及上课出勤信息对任课教师、班主任、院系领导、学校领导透明,使班主任、院系领导及时把握学生的学习情况,及时与学生沟通,提高教学质量。2.2 运行环境及条件概述 2.2.1 技术方面 高校学生考勤管理
7、系统在目前的高校中使用还不普遍,但也有许多类似的成功案例:如教务管理系统、排课系统等。本系统采用 JSP,JavaScript 脚本语言、html 标识语言及 SQL Server 2000 数据库技术综合开发。JSP 是一种安全稳定的动态网页技术,目前国内各企业的电子商务系统,ERP 系统,银行信息系统等基本上都用 JSP 开发的。Microsoft SQL Server(基于结构化查询语言的数据库服务器)是基于客户/服务器结构的数据库管理系统,用户通过使用客户系统从服务器检索信息并进行本地操作,服务器关注数据库进程,而客户则关注信息的表示。为了使客户端能够从服务器中访问数据,服务器必须具备
8、以下两个关键特征:一、对在数据库中的数据提供单点访问。二、将处理和操作在客户端和服务器间进行分配。SQL Server 使用 Transact-SQL 语言来维护、*实现和访问数据库,Transact-SQL 是 SQL(Structured Query Language)的一个子集标准。SQL Server 有多种实用程序允许用户来访问它的服务,用户可用这些实用程序对SQL Server 进行本地管理或远程管理。2.2.2 经济方面 本系统使用 B/S 架构设计,使用市场上流行的动态网页技术,开发简单,使用度方便,不需要耗费大量的人力物力就能很快的开发出来,系统部署对软硬件要求不高,用户操作
9、简单,几乎不需要对用户进行专业培训就可使用本系统,所以从经济上讲是可行的。2.2.3 操作方面 本系统操作简单方便,只要懂得上网都能方便操作本系统,所以在操作上也是可行的。从以上可知,高校学生考勤管理系统的解决方案无论在技术,经济还是操作上都是可行的,且开发本系统具有一定的经济价值和实用价值。3.系统详细需求分析 3.1 学生需求描述 学生对本系统的主要需求是:在线请假以及查看在校期间所有的上课出勤信息。(1)在线请假需求:学生请假的全过程当中,学生可以随时查看请假的详细进展情况。(2)查看出勤信息需求:学生可以查看在校期间所有学期上课出勤的详细信息,如:查看“大学英语”这门课程在整个学期请假
10、、旷课多少次等信息。(3)其它需求:查看本人的基本信息,如本人的所属的院系、年级、专业、班级、学号、姓名、性别等,以及修改个人用户密码。3.2 功能需求描述 根据各类用户的需求描述,系统应当具备请假系统、考勤管理系统、后台管理系统这三大主要功能。请假系统功能需求:通过班主任以及院系领导批准请假信息。请假最长时间不能超过 1 个月,特殊情况除外。考勤管理功能需求:任课老师通过考勤管理系统,对学生上课出勤信息进行公开。请假系统要借助班主任才能完成,考勤管理系统要借助请假系统、班级课表安排才能完*成,然而每学年课表都在变化,班主任安排也有在变化,学生也在变化,因此必须要求后台管理系统能根据系统需求,
11、动态的、准确的更新系统数据。3.3 详细系统运行环境及开发工具 根据各用户的需求,以及系统各大功能的需求,经过大量的调查分析,针对本高校学生考勤管理系统选择以下开发工具进行开发:3.31 相关开发工具简介 系统结构:B/S(浏览器/服务器)开发语言:JSP 数据库:SQL Server 2000 开发工具:JDK 1.5 Dreamweaver Jcreator 3.32 B/S(浏览器/服务器)简介 B/S(Browser/Server,浏览器/服务器)模式又称 B/S 结构。它是随着 Internet技术的兴起,对 C/S 模式应用的扩展。在这种结构下,用户工作界面是通过 IE 浏览器来实
12、现的。B/S 模式最大的好处是运行维护比较简便,能实现不同的人员从不同的地点以不同的接入方式(比如 LAN,WAN,Internet/Intranet 等)访问和操作共同的数据;最大的缺点是对网络环境依赖性太强,由于各种原因引起网络中断都会造成系统瘫痪。3.33 JSP 简介 JSP 的全称是 Java Servlet Pages,它是 SUN 推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*htm)中加入 Java 程序片段和 JSP 标记,就构成了 JSP 页面。由 Web 服务器上的 JSP 引擎来处理 JSP 元素,生成调用 Bean,并用 JDBC 访问数据库(或
13、文件),最后以 HTML 或 XML 的形式返回浏览器。JSP 在 Servlet 类中编译,编译一次后存入内存,以后再调用时,不用再编译,所以速度很快。此外 JSP 还具有以下优点:(1)一次性编写,到处运行(除了系统之外,代码不用做任何更改);(2)系统的多平台支持;(3)强大的可伸缩性;(4)多样化和功能强大的开发工具支持;(5)支持服务器端组件;*4.总体方案确认 学生考勤管理系统全部采用 Web 方式,由前台操作和后台管理两部分构成。4.1 学生考勤管理前台 前台作为与用户直接交互的界面,在考虑功能的同时,也考虑了操作的简洁和方便性,目的是让大多数不懂电脑操作的客户,也能轻松的享受电
14、子商务网站给他们带来的便利。一、前台主要功能包括 登录、管理首页、学生信息、学生考勤、学生成绩、课程科目、员工信息、部门班级、信息维护等各大模块。二、学生考勤管理系统前台特色(一)、帐号保密机制 本系统除了传统的用户名和密码保护外,又利用 MD5 方式对密码进行了再次加密,由于这种加密是不可逆转的加密方式,即使后台数据库被盗,盗取者也无法找到管理员和用户的密码,这大大提高了客户帐号的安全性,使管理人员可以放心的把学生信息进行发布,后台管理采用三层加密机制,限制非本站链接直接进入后台管理文件(二)、常见的管理学生任务 网站前台页面显视栏目分为以下几种方式:(1)添加新学生(2)查看管理学生列表(
15、3)学生考勤(4)学生成绩(5)修改我的个人资料(6)退出系统(注销)(三)、人机化界面 网站采用菜单方式来管理网站页面,不但页面简洁,而且操作方便。(四)、强大的权限管理 网站管理人员可以对网站的各功能模块进行管理,而普通用户仅能查看信息,方便管理。系统前台结构图如下:*4.2 学生考勤管理后台 本系统后台管理在考虑学生考勤管理操作简便的同时,提供了强大的学生考勤管理模式。它包括管理员角色的设置,学生信息、学生考勤、学生成绩、课程科目、员工信息、部门班级、信息维护。一、后台管理功能列表 学生的添加、修改、删除。拥有权限者:任何权限的管理员 查看/管理学生列表 拥有权限者:任何权限的管理员 管
16、理学生考勤 拥有权限者:任何权限的管理员 管理学生成绩 拥有权限者:任何权限的管理员 修改我的个人资料 拥有权限者:任何权限的管理员 首页 管理目录 常见任务 您的班级 您的课程 登陆信息 添加新学生 管理学生列表 管理学生考勤 修改我的资料 管理学生成绩 退出系统 管理首页 学生信息 学生考勤 学生成绩 课程科目 信息维护 员工信息 部门班级*退出系统(注销)拥有权限者:任何权限的管理员 对首页新闻的添加、修改、删除和更改首页公告。拥有权限者:任何权限的管理员 添加、修改、删除课程科目 拥有权限者:任何权限的管理员 添加、修改、删除员工信息 拥有权限者:任何权限的管理员 添加、修改、删除部门
17、班级信息 拥有权限者:任何权限的管理员 可以添加、修改、删除常用的信息 拥有权限者:任何权限的管理员 二、管理使用说明 首选服务:-注销登陆:作为后台安全管理的必要条件之一,当后台管理员管理任务结束时,务必要点击注销登陆方可完全正常退出。-修改登陆密码:各权限管理员都要养成良好习惯,隔段时间修改一次密码,防范登陆密码被黑客破解而遭受到不必要的损失。-反馈程序 BUG:若您在使用本学生考勤管理系统时发现程序出错或其它需要改善的问题,请点击这里将 BUG 反馈给程序员。三、学生信息管理管理(一)、添加学生信息:管理员和添加人员可以通过这个功能向数据库中录入学生信息-方法是:在首页上点击常见任务下的
18、“添加新学生”*(二)、查看与修改:管理员和添加人员可以通过这个功能查看数据库中录入的学生列表。方法是:在首页上点击常见任务下的“查看/管理学生列表”四、用户管理 管理网站用户:此功能只有最高权限管理员拥有,可管理前台的所有个人用户,拥有查看、修改、删除权限,也可根据某用户查找此用户所有订单。利用查找用户功能可*查询到你需用查找的用户。管理后台用户:此功能只有最高权限管理员拥有,这是用来管理后台管理员的功能、可能添加、修改、删除新的管理员以及分配权限。5.系统详细设计 5.1 系统功能划分 根据系统用户的需求,将本系统按功能划分成三大功能模块:请假系统、考勤系统、后台管理系统。5.1.1 请假
19、系统模块 本模块的功能是在线请假的实现及管理,主要涉及两大类用户:学生、任课老师用户,学生通过此功能模块进行在线请假及查看请假记录信息;任课老师在线审批学生请假及查看请假记录信息。5.1.2 考勤系统模块 本模块的功能是学生考勤信息统计的实现、查看及管理,涉及六大类用户中的所有用户。学生在线查看自己所有学年的出勤信息;任课老师在线管理学生出勤信息;班主任、院系领导、学校领导查看不同的范围的学生出勤信息。5.1.3 后台管理模块 本模块的功能实现整个系统数据的同步更新及维护,只涉及系统管理员用户。系统管理员动态的管理学生信息、课表安排、学年安排等信息,是整个系统实现的基础。系统功能模块图:*学生
20、考勤管理系统学生教务管理员任课老师查看本人基本信息在线请假查看上课出勤信息查看本人信息及修改密码管理所教班级学生的上课出勤信息以及批准学生请假查看所教班级学生出勤信息管理学院院系年级专业班级的添加、删除和修改更新每学期每个班级课程及任课老师的安排查看学生上课出勤信息管理系统的请假考勤信息 系统功能结构 5.2 数据字典 数据字典,既用于描述数据流和数据存储的详细逻辑内容,也可用于描述外部项和处理逻辑的某些数据特性。数据流图:任课老师审批学生请假数据处理任课老师请假系统请假旷课请假记录出勤记录请假记录 程序流程图:*开始身份验证重新登录与数据库核对字段是否匹配用户类型教师主页管理员主页学生主页进
21、行相应操作结束NY 5.3 系统界面详细设计 5.3.1 登陆界面 用户登陆时操作页面如图所示:*输入用户名和密码,然后在选择用户类型就能登陆到相应的操作界面。如果用户名和密码不正确,会提示用户重新登录。5.3.2 系统主界面 进入此界面后可以进行以下操作,添加新学生、查看和管理学生列表、管理学生考勤、管理学生成绩、修改个人资料、退出系统。*5.3.3 添加学生信息界面 进入此界面后,不仅可以添加学生基本信息(姓名、性别、住址、电话、Email、出生日期、学历、职业、工作单位、照片、班级、入学日期、入学收费、经办人)还可以录入学生选课的相关信息。*5.3.4 课程管理界面 可以添加课程种类、课
22、程工作/名称、上级分类、学时、学分等相关信息。6.数据库系统设计 6.1 逻辑结构设计 整个系统各实体可用以下关系来表示(其中主键已用下划线标识):学生信息表(学号,姓名,性别,班级,专业,学院)课程信息表(编号,课程名称,学分,学时)任课老师信息表(编号,姓名,性别,班级,课程,学院)*教务管理员信息表(编号,姓名,职称,性别,权限)请假信息表(学生学号,申请时间,开始时间,请假原因,请假天数,节课数,审批状态)考勤表(班级名称,课程编号,考勤时间,出勤人数)学生上课缺勤记录表(学生学号,学生姓名,班级名称,课程名称,缺勤状态)6.2 主要实体模型 教务管理员姓名职称性别权限请假记录学生学号
23、申请时间请假原因请假天数开始时间班级出勤记录课程名称迟到人数出勤人数考勤时间班级名称学生出勤记录课程名称上课时间出勤情况学生学号旷课人数编号 6.3 E-R 图分析 E-R 图分析的目的是确定系统中所有实体、实体的属性及实体之间的联系,为设计数据库表结构打下基础。画 E-R 图通常使用自底向上的设计方法,首先对局部视图进行分析设计,然后再将局部视图合并,消除冲突和冗余,得到系统的总体 E-R 图。这里不再对局部视图进行设计,直接给出总体 E-R 图,如下图所示:*学生出勤学生出勤记录班级出勤记录选修课程请假请假记录批准任课老师提交讲授学院姓名性别班级专业学号学生学号课程号出勤情况上课时间学分学
24、时编号名称姓名编号性别学院课程班级111nmnn111n1 6.4 数据库表设计(1)教务管理员信息表 admin 字段名 字段类型 主/外键 字段约束 说明 编号 char(5)P Not Null 管理员编号 姓名 char(10)Not Null 管理员姓名 性别 char(1)Not Null 管理员性别 职称 char(20)Not Null 管理员职称 权限 char(10)Not Null 管理员权限 (2)学生基本信息表 student 字段名 字段类型 主/外键 字段约束 说明 学生学号 char(6)P Not Null 学生学号 姓名 char(10)Not Null 学
25、生姓名 性别 char(1)Not Null 性别 班级名称 char(13)Not Null 所在班级 专业 char(20)Not Null 所属专业*学院 char(20)Not Null 所属学院 (3)请假信息表 qingjia 字段名 字段类型 主/外键 字段约束 说明 学生学号 char(6)p Not null 学生学号 申请时间 char(14)Not null 请假时间 开始时间 char(14)Not null 开始时间 请假天数 smallint Not null 天数 请假原因 char(80)p Not null 原因 审批状态 char(5)Not null 审批
26、状态 节课数 char(5)Not null 几节课(4)任课老师信息表 teacher 字段名 字段类型 主/外键 字段约束 说明 老师编号 char(9)P Not Null 老师编号 老师姓名 char(20)Not Null 老师姓名 性别 char(1)Not Null 性别 所教班级 char(13)Not Null 所教班级 所教课程 char(20)Not Null 所教课程 所属学院 char(20)Not Null 所属学院(5)考勤表 kaoqin 字段名 字段类型 主/外键 字段约束 说明 班级名称 char(10)P Not Null 上课班级 课程编号 char(1
27、0)P Not Null 课程编号 考勤时间 char(10)Not Null 考勤时间 出勤人数 smallint Not Null 已到人数 迟到人数 smallint Not Null 迟到人数 旷课人数 smallint Not Null 旷课人数(6)上课缺勤记录表 queqin 字段名 数据类型 主/外键 字段约束 说明*学生学号 char(6)P Not Null 学生学号 学生姓名 char(10)Not Null 学生姓名 班级名称 char(5)Not Null 所在班级 课程名称 char(10)P Not Null 课程名称 缺勤状态 char(10)Not Null
28、缺勤情况 (7)课程信息表 course 字段名 字段类型 主/外键 字段约束 说明 课程编号 char(8)p Not null 课程编号 课程名称 char(20)Not null 课程名称 课程学分 char(20)Not null 课程学分 课程学时 char(20)Not null 课程学时 7.软件测试 7.1 页面使用安全测试 此测试过程主要是测试系统各个页面的安全性,即在用户没有登录的情况直接在浏览器地址中输入要打开的用户页面,或者用户以正确的用户名和密码进入系统后,直接在浏览器地址中输入别的用户的页面,测试各页面是否不需要用户登录就可使用,或者是否可以绕过身份验证。第 一 步
29、:在 用 户 没 登 陆 系 统 的 情 况 下,直 接 在 浏 览 器 中 输 入http:/127.0.0.1/kaoqin/student/student.jsp 此地址是学生用户首页的完全地址,看是否能打开操作。测试结果:提示用户还没登陆的错误信息。依次测试别的页面,别的用户,测试结果都是:提示用户还没登陆的错误信息。第二步:以学生正确的用户和密码进入学生系统后,在浏览器中输入任课老师首页地址,看是否能绕过身份验证,打开别的用户的页面。测试结果:提示没有权限的错误信息。用同样的方法测试别的页面,别的用户都得到了同样的测试结果,提示没有权限的错误信息。测试结果:通过以上测试可知,系统各个
30、页面都有很好的安全性,每个页面都不允*许用户在没有登陆的前提下访问,用户在登陆后,也不充许用户访问别的用户类型的页面,即不能绕过身份验证。7.2 请假系统测试 请假系统是学生用户的核心功能,由于涉及的用户比较多,此部分的测试是在几个同学的配合下完成,主要完成以下几个测试:(1)空值测试:在请假开始时间、结束时间、请假原因都为空或部分为空的情况下,直接点提交数据在线请假。测试结果:系统拒绝提交数据,并能正确的做出相应的提示,如*不能为空的错误信息。(2)错误的时间选择测试:在开始时间与结束时间选择的时间,把结束时间选择一个开始时间以前的时间,然后提交数据。测试结果:提示时间选择错误的提示信息。(
31、3)超前请假测试:开始时间选择一个与当前时间相差一个大于 7 天的日期请假。测试结果:提示只能提前7 天请假的错误信息。(4)超后请假测试:在开始时间中选择一个当前系统时间以前开始日期请假。测试结果:提示不能请过去时间的假的错误信息。(5)超长时间请假测试:在开始时间与结束时间中,选择一个相差 30 的日期请假。测试结果:提示不能请大于 30 天的请假。(6)重复请假测试:先申请一条当天日期的请假,申请成功后,再申请一条今天到明天两天的请假。测试结果:提示不能重复请假的错误信息。(7)小于 4 天的请假测试:开始时间与结束时间之差小于四天的请假测试。测试结果:提交数据后,在等待审批的请假记录中
32、出现一条新的记录,并显示了申请时间,班主任审批处显示了“等待批假”的提示信息,而院系审批处没有显示“等待批假”的提示信息。(8)大于 4 天的请假测试:开始时间与结束时间之差大于四天的请假测试:测试结果:提交数据后,在等待审批的请假记录中,班主任审批处以及院系领导审批处都提示“等待批假“的提示信息。(9)班主任批假测试:班主任进入系统后,测试审批学生请假。测试结果:小于四天的请假,班主任若同意了请假,则学生记录成功记录中出现了请假成功的记录。班主任同意的请假中同时也出现了此条记录。若不同意请假,则提示此学生请假失败。大于四天的请假,班主任若同意了请假,则出现等待院系审批的提示信息。(10)院系
33、批假测试:院系领导进入系统后,大于四天的记录,且班主任同意请假的记录出现在了等待审批的请假记录中。测试结果:同意请假,则学生、班主任、院系领导*用户中同时出现请假成功信息,不同意请假,则学生、班主任、院系领导同时出现请假失败的信息。7.3 修改密码测试(1)空值测试:在不输入原始密码、新密码、确认密码或部分为空的情况下,直接点击修改密码。测试结果:提示请输入原始密码的错误信息。(2)错误原始密码测试:输入错误原始密码,新密码、确认密码一致的测试。测试结果:提示原始密码不正确的错误信息。(3)确认密码不正确的测试:输入正确的原始密码,而确认密码不正确的测试。测试结果:提示确认密码不正确的错误信息。7.4 考勤管理测试(1)正确提示登记测试:进入指定的登记页面,修改系统日期看是否能根据系统日期的变化,显示出上过课,但学生信息没登记的提示信息。测试结果:若当前日期为2013-06-04前的所有没登记的考勤信息自动列出来,而且能自动识别课表安排的单/双周,更换时间,都能得到正确的结果。(2)考勤登记测试:进入指定页面后,一个学生在当天上课时已经请假成功了,任课老师提交数据时选择此学生旷课。测试结果:在考勤统计信息和详细信息中,出现了此学生请假的出勤信息。