admin管理员组

文章数量:1530923

2024年3月8日发(作者:)

精品文档 下载后可编辑复制

目 录

目 录 ............................................................. I

摘 要 ............................................................. I

ABSTRACT .......................................................... II

第1章 问题定义 ................................................... 1

1.1 引言 ...................................................... 1

1.2开发背景 ................................................... 1

1.3问题描述 ................................................... 1

第2章 可行性分析 ................................................ 3

2.1 引言 ...................................................... 3

2.2 目的和意义 ................................................ 3

2.3 可行性分析 ................................................ 3

第3章 需求分析 .................................................. 5

3.1 引言 ...................................................... 5

3.2 用户需求描述 .............................................. 5

3.2.1学生用户需求描述 ..................................... 5

3.2.2任课老师用户需求描述 ................................. 5

3.2.3班主任用户需求描述 ................................... 6

3.2.4院(系)领导用户需求描述 ............................. 6

3.2.5学校领导用户需求描述 ................................. 6

3.2.6系统管理员用户需求描述 ............................... 6

3.3功能需求描述 ............................................... 7

3.4系统开发工具 ............................................... 7

3.5相关开发工具简介 ........................................... 7

3.5.1 B/S(浏览器/服务器)简介 ............................ 7

3.5.2 JAVA/JSP简介 ........................................ 8

3.6 系统功能划分 .............................................. 8

3.7 数据字典 .................................................. 9

3.8 数据流图 ................................................. 11

精品文档 下载后可编辑复制

3.9运行需求 .................................................. 12

3.9.1 最低配置 ........................................... 12

3.9.2 建议配置 ........................................... 12

第4章 总体设计 ................................................. 13

4.1 引言 ..................................................... 13

4.2 系统布局设计 ............................................. 13

4.3 总体结构图 ............................................... 14

4.4 本人主要工作任务 ......................................... 15

第5章 详细设计 ................................................. 16

5.1 引言 ..................................................... 16

5.2 系统功能流程图 ........................................... 16

5.3系统目录结构设计 .......................................... 17

5.4 数据库设计与实现 ......................................... 17

5.4.1 实体模型 ........................................... 17

5.4.2 E-R模型 ............................................ 18

5.4.3 数据库的逻辑设计 ................................... 19

5.4.4 数据库表的创建 ..................................... 19

5.4.5 数据库的建立 ....................................... 21

5.5 前端操作页面设计 ......................................... 21

5.5.1 系统登陆设计 ....................................... 21

5.5.2 学生用户功能设计 ................................... 21

5.5.3 任课老师用户功能设计 ............................... 22

5.5.4 班主任用户功能设计 ................................. 23

5.5.5 院系领导用户功能设计 ............................... 23

5.5.6 学校领导用户功能设计 ............................... 24

第6章 编码 ..................................................... 25

6.1用户操作页面编码 .......................................... 25

6.1.1 系统登陆编码 ....................................... 25

6.1.2 学生用户功能编码 ................................... 27

6.1.3 任课老师用户功能编码 ............................... 30

精品文档 下载后可编辑复制

6.1.4 班主任用户功能编码 ................................. 34

6.1.5 院系领导用户功能编码 ............................... 35

6.2 数据库连接池编码 ......................................... 38

6.2.1数据库连接池程序编码 ................................ 38

6.2.2 连接池配置文件 ..................................... 41

第7章 软件测试 ................................................. 43

7.1 引言 ..................................................... 43

7.2 测试方案 ................................................. 43

7.2.1 黑盒测试 ........................................... 43

7.2.2 白盒测试 ........................................... 43

7.2.3 其它测试方案 ....................................... 43

7.2.4 本系统所采用测试方案 ............................... 43

7.3 测试过程 ................................................. 44

7.3.1 用户登陆测试 ....................................... 44

7.3.2 页面使用安全测试 ................................... 44

7.3.3学生用户测试 ........................................ 45

7.3.4任课老师用户测试 .................................... 46

7.3.5班主任用户测试 ...................................... 46

7.3.6院系领导/学校领导用户测试 ........................... 47

总 结 ............................................................ 48

参考文献 .......................................................... 49

致 谢 ............................................................ 50

附 录 ............................................................ 51

附录一:文献资料 ............................................. 51

原文 ..................................................... 51

译文 ..................................................... 53

附录二、系统部署及使用手册 ................................... 57

开发工具的安装与配置 ..................................... 57

系统部署 ................................................. 59

用户操作手册 ............................................. 60

精品文档 下载后可编辑复制

摘 要

本系统主要针对目前高校学生在线请假以及学生上课出勤管理而设计的信息系统。本系统总体上由三大功能模块:请假系统模块、考勤系统模块、后台管理模块组成。系统涉及到高校六大类用户:学生、任课老师、班主任、院系领导、学校领导、系统管理员。

本高校学生考勤管理系统用JSP+SQL Server 2000开发,开发过程中运用了页面模块化、信息发布的动态生成、静态页面显示等技术开发。本论文重点介绍本系统的请假系统、考勤系统两大功能模块设计,完成学生、任课老师、班主任、院系领导、学校领导五类用户功能的设计与实现。

关键词:考勤管理;在线请假;JSP

精品文档 下载后可编辑复制

ABSTRACT

The system is an information system designed for asking for leave on line

for students and managing attendance of is generally divided

into three main modules: the module for asking for on-line leave , the module for

managing attendance of undergraduate and the module for backstage

management. There are different customers in the university operating the

system,such as student, teacher, a teacher in charge of a class,department

leader, school leader, administrator.

The system is developed with the help of Jcreator,JSP(java、javascript、html)and SQL Server 2000. The key techniques used in the process of

development are: the page modularization, dynamic generating and static page

showing of information, etc. And the thesis focuses on the introduction of the

system’s attendance management and the management of asking for leave

it develops the function of student, teacher, a teacher in charge of a

class,department leader, school leader on the whole.

Key word: attendance management;online ask for leave; JSP

精品文档 下载后可编辑复制

第1章 问题定义

1.1 引言

问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”, 在此阶段中,主要是弄清本课题需要解决的问题根本所在,以及此课题所需的资源等。

1.2开发背景

目前高校校园信息化逐步完善,高校师生借助校园网有效的提高了办事效率。各大高校针对师生的成绩查询系统、教务管理系统、招生就业系统、BBS、校园网站等系统在各大高校纷纷出现,对全校师生的学习、生活、管理、办公带来了便利。

目前高校学生上课考勤管理都是以任课老师上课点名,记录学生上课出勤情况,学期末根据上课出勤表及作业登记表对学生平时成绩打分,然后把数据上交到各院系。学生请假以传统的写请假条的形式向各自班主任请假,时间长的请假,要班主任、院系领导都批准方能生效。这种的模式在目前高校管理中暴露出了许多弊端:一是学生请假不方便;二是学生请假对任课老师不透明,造成对学生上课出勤误记的情况;三是学生上课出勤表对班主任不透明,班主任很难知道本班学生上课的出勤情况,不便于与学生及时有效的沟通;四是学生对自己整个学期的上课出勤情况没有整体的统计信息。五是院系领导、学校领导更加把握不住学生上课的出勤情况。

1.3问题描述

上述所说高校对学生考勤和请假面临的问题涉及多类用户,系统使用范围是在全校校园网内,由于用户分布广泛,且存在很大差异,如:知识结构的差异、计算机硬件配置的差异、操作系统的差异等。因此本系统设计应当采用典型的B/S(浏览器/服务器)的构架进行设计,操作简单直观,对硬件要求低,最好能实现跨平台。跨平台一是指客户端用户操作的跨平台,二是指服务器端的跨平台,即可以将服务器部署在所有操作平台上。系统应当有很好的扩展性,与当前高校中现有的系统很好集成。

目前随着IT技术的不断创新与发展,新的技术不断推出,各种企业实现信息化的解决方案不断成熟。面向对象程序设计语言的广泛使用,各种成熟

精品文档 下载后可编辑复制

关系数据库的不断完善与推出,再加上面向对象的软件开发过程广泛应用,软件开发过程变得越来越容易,开发出的系统变得越来越实用,许多企业使用信息系统后,明显提高了办事效率,带来了很大的经济收入。目前流行的基于B/S结构的解决方案主要有ASP,JSP,PHP等技术。本系统选用JSP技术开发,使用当前流行的SQL Server 2000数据库管理系统来存储数据,主要解决学生在线请假、在线考勤管理以及后台数据的维护与更新。

精品文档 下载后可编辑复制

第2章 可行性分析

2.1 引言

这个阶段要回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决方法吗?”为了回答这个问题,需要一次大大压缩和简化了的系统分析和设计的过程,也就是在较抽象的高层次上进行的分析和设计的过程。可行性研究应该比较简短,这个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决方法。

2.2 目的和意义

开发本系统的目的,就是要解决目前高校中关于学生请假与上课出勤管理中所面临的一系列问题。

开发出高校学生考勤管理系统能有效地提高高校办事效率,解决目前高校学生请假及上课出勤管理问题,实现学生请假及上课出勤信息对任课教师、班主任、院系领导、学校领导透明,使班主任、院系领导及时把握学生的学习情况,及时与学生沟通,提高教学质量。

2.3 可行性分析

技术可行性:高校学生考勤管理系统在目前的高校中使用还不普遍,但也有许多类似的成功案例:如教务管理系统、排课系统等。本系统采用JSP,JavaScript脚本语言、html标识语言及SQL Server 2000数据库技术综合开发。JSP是一种安全稳定的动态网页技术,目前国内各企业的电子商务系统,ERP系统,银行信息系统等基本上都用JSP开发的。Microsoft SQL Server(基于结构化查询语言的数据库服务器)是基于客户/服务器结构的数据库管理系统,用户通过使用客户系统从服务器检索信息并进行本地操作,服务器关注数据库进程,而客户则关注信息的表示。为了使客户端能够从服务器中访问数据,服务器必须具备以下两个关键特征:一、对在数据库中的数据提供单点访问。二、将处理和操作在客户端和服务器间进行分配。SQL Server使用Transact-SQL语言来维护、实现和访问数据库,Transact-SQL是SQL(Structured Query Language)的一个子集标准。SQL Server有多种实用程序允许用户来访问它的服务,用户可用这些实用程序对SQL Server进行本地管理或远程管理。

精品文档 下载后可编辑复制

经济可行性:本系统使用B/S架构设计,使用市场上流行的动态网页技术,开发简单,使用度方便,不需要耗费大量的人力物力就能很快的开发出来,系统部署对软硬件要求不高,用户操作简单,几乎不需要对用户进行专业培训就可使用本系统,所以从经济上讲是可行的。

法律可行性:本系统拥有自主知识产权,没有使用任何违法的软件也没有交易任何非法的商品,所以在法律上是可行的。

操作可行性:本系统操作简单方便,只要懂得上网都能方便操作本系统,所以在操作上也是可行的。

分析结果:从以上的分析可知,高校学生考勤管理系统的解决方案无论在技术,经济还是法律以及操作上都是可行的,且开发本系统具有一定的经济价值和实用价值。

精品文档 下载后可编辑复制

第3章 需求分析

3.1 引言

这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。

3.2 用户需求描述

用户是系统的最终使用者,开发系统的目的是要用户最终很好的使用系统,最终为用户带来各种便利。本系统要解决高校学在线请假以及上课考勤管理两大问题,通过对高校的实际调查分析,本系统应当包括学生、班主任、任课老师、院系领导、学校领导、系统管理员六类用户,这六类用户对系统的需求简要概括如下:

3.2.1学生用户需求描述

学生对本系统的主要需求是:在线请假以及查看在校期间所有的上课出勤信息。

在线请假需求:学生在网上填写好请假的起止日期,请假原因后,就可以向本学期本班班主任提出请假申请,超过三天的请假,由班主任审批后,再由院系领导审批。在在线请假的全过程当中,学生可以随时查看请假的详细进展情况。

查看出勤信息需求:学生可以查看在校期间所有学期上课出勤的详细信息,如:查看“高等数学”这门课程在整个学期请假、旷课、迟到、早退了多少次,以及具体的时间、任课老师姓名、第几节课等详细信息。

其它需求:查看本人的基本信息,如本人的所属的院系、年级、专业、班级、学号、姓名、性别等,以及修改个人用户密码,查看本班课表安排。

3.2.2任课老师用户需求描述

任课老师对系统的主要需求是:管理所教班级学生的上课出勤信息以及查看所教班级学生的上课出勤信息。

管理学生上课出勤需求:根据学校安排的课表,随着时间的变化,自动列出还没有在网上公布的学生上课出勤信息,系统自动根据学生请假系统,决定学生上课出勤的最终结果。

查看学生出勤信息需求:查看所教班级学生整个学期上出勤统计信息及

精品文档 下载后可编辑复制

详细信息。

其它需求:查看上课课表,本人基本信息以及修改个人用户密码。

3.2.3班主任用户需求描述

班主任对本系统的主要需求是:审批本班学生本学期的在线请假以及查看本班学生本学期所有课程的上课出勤信息。

审批学生请假需求:本班学生本学期在线请假申请后,自动提示班主任有等待审批的请假信息,班主任针对请假申请信息进行学生请假审批,以及对请假信息回复。

查看学生上课出勤信息需求:查看本班学生整个学期有关课程的上出勤统计信息及详细信息。

其它需求:查看本班学生的基本信息、修改个人用户密码等。

3.2.4院(系)领导用户需求描述

院系领导对系统的主要需求是:审批本院系学生超过三天的请假以及查看本院系学生上课出勤信息。

审批请假需求:当学生请超过三天的假,经班主任审批同意后,系统自动提交给任何一个最先进入系统的院系领导审批请假,以及针对请假回复。

查看本院系学生出勤信息需求:输入查询条件后,系统根据查询条件列出本院系学生相关的上课出勤信息。

其它需求:查看本院系有关基本信息以及修改个人用户密码等。

3.2.5学校领导用户需求描述

学校领导对系统的主要需求是:查看全校学生上课出勤信息。

查看出勤信息需求:输入查询条件后,系统根据查询条件列出本校学生相关的上课出勤信息。

其它需求:查看有关全校的基本信息以信修改个人用户密码等。

3.2.6系统管理员用户需求描述

系统管理员有系统的最高权限,负责系统所需所有数据的动态同步更新以及维护,根据系统针对各用户的设计,基本功能需求如下:

1、管理学校各院系、年级、专业、班级的添加、删除、修改等。

2、管理每个学期每个班级的课程安排及指定班主任和任课老师。

3、管理系统所有用户。

精品文档 下载后可编辑复制

4、管理全校课表安排。

5、管理全校每学年开学的起止时间。

6、管理系统的请假、考勤信息。

3.3功能需求描述

根据各类用户的需求描述,系统应当具备请假系统、考勤管理系统、后台管理系统这三大主要功能。

请假系统功能需求:通过实际调查分析得出,目前高校中的请假流程是学生若要请假,必须先写好请假条先由本学年班主任审批,超过四天的请假,还要等待院系领导审批通过后才能生效。请假最长时间不能超过1个月,特殊情况除外。

考勤管理功能需求:任课老师通过考勤管理系统,对学生上课出勤信息进行公开,但由于任课老师忙于教学,为了能及时准确无误的对学生出勤情况公开,要求系统能自动提示任课老师对上完课了,但还没公布的出勤信息进行网上公布。

后台管理功能需求:后来管理主要是用来管理系统操作的数据,因为高校每学年的学生都在变化,有新生入学,也有学生毕业。请假系统要借助班主任安排才能完成,考勤管理系统要借助请假系统、班级课表安排才能完成,然而每学年课表都在变化,班主任安排也有在变化,学生也在变化,因此必须要求后台管理系统能根据系统需求,动态的、准确的更新系统数据。

3.4系统开发工具

根据各用户的需求,以及系统各大功能的需求,经过大量的调查分析,针对本高校学生考勤管理系统选择以下开发工具进行开发:

系统结构:B/S (浏览器/服务器)

开发语言:JAVA/JSP

数据库:SQL Server 2000

开发工具:JDK 1.5 Dreamweaver Jcreator

服务器端容器:Tomcat 5.5

3.5相关开发工具简介

3.5.1 B/S(浏览器/服务器)简介

B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着

精品文档 下载后可编辑复制

Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN,

Internet/Intranet等)访问和操作共同的数据;最大的缺点是对网络环境依赖性太强,由于各种原因引起网络中断都会造成系统瘫痪。

3.5.2 JAVA/JSP简介

JAVA是SUN公司推出的完全面向对象的语言,它有很好的跨平台性、安全性、重用性等特点。

JSP的全称是Java Servlet Pages,它是SUN推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*htm)中加入Java程序片段和JSP标记,就构成了JSP页面。由Web服务器上的JSP引擎来处理JSP元素,生成调用Bean,并用JDBC访问数据库(或文件),最后以HTML或XML的形式返回浏览器。JSP在Servlet类中编译,编译一次后存入内存,以后再调用时,不用再编译,所以速度很快。

3.6 系统功能划分

根据系统用户的需求,将本系统按功能划分成三大功能模块:请假系统、考勤系统、后台管理模块,涉及到六大类用户:学生、任课教师、班主任、院系领导、学校领导、系统管理员。

1、 请假系统模块

本模块的功能是在线请假的实现及管理,主要涉及三大类用户:学生、班主任及院系领导用户,学生通过此功能模块进行在线请假及查看请假记录信息;班主任在线审批学生请假及查看请假记录信息;院系领导在线审批学生长时间的请假及查看请假记录信息。

2、 考勤系统模块

本模块的功能是学生考勤信息统计的实现、查看及管理,涉及六大类用户中的所有用户。学生在线查看自己所有学年的出勤信息;任课老师在线管理学生出勤信息;班主任、院系领导、学校领导查看不同的范围的学生出勤信息。

3、 后台管理管理

本模块的功能实现整个系统数据的同步更新及维护,只涉及系统管理员

精品文档 下载后可编辑复制

用户。系统管理员动态的管理学生信息、课表安排、学年安排等信息,是整个系统实现的基础。

3.7 数据字典

数据词典,既用于描述数据流和数据存储的详细逻辑内容,也可用于描述外部项和处理逻辑的某些数据特性。数据词典把数据的最小组成单位看作数据元素,若干个数据元素组成数据结构。它通过对数据元素和数据结构的定义,来描述数据流和数据存储的逻辑内容。它相当于字典的作用,当用户或软件人员想了解某一数据的含义时,查查字典就可以了。

名字:学生信息表

别名:学生

定义:学生基本详细信息

描述:学生=stu_number+stu_name+stu_sex+stu_password+class_id

位置:用户登录

名字:任课老师信息表

别名:任课老师

定义:任课老师基本详细信息

描述:任课老师=teacher_id+teacher_name+teacher_password+college_id

位置:用户登录

名字:班主任信息表

别名:班主任

定义:班主任基本详细信息

描述:班主任=class_teacher_id+class_teacher_name+class_teacher_password+

college_id

位置:用户登录

精品文档 下载后可编辑复制

名字:院系领导信息表

别名:院系领导

定义:院系领导基本详细信息

描述:院系领导=college_leader_id+college_leader_name+

college_leader_password+college_id

位置:用户登录

名字:学校领导信息表

别名:学校领导

定义:学校领导基本详细信息

描述:学校领导=school_id+school_name+school_password

位置:用户登录

名字:请假信息表

别名:请假

定义:学生请假详细信息

描述:请假= class_id+year_id+stu_number+qingjia_yuanyin+start_time+

end_time+day_number+qingjia_time+class_teacher_status+class_teacher_sp_

time+class_teacher_restore+college_leader_status+college_leader_id+

college_leader_sp_time+college_leader_restore

位置:学生、班主任、院系领导请假系统

名字:上课考勤登记信息表

别名:考勤登记

定义:任课老师对所教课程的登记情况

描述:考勤登记= id+record_time+sk_time

位置:任课老师考勤管理页面

精品文档 下载后可编辑复制

名字:学生上课出勤息表

别名:出勤

定义:学生上课的出勤情况。

描述:出勤= id+sk_time+stu_number+stu_status

位置:学生、任课老师、班主任、院系领导、学校领导考勤系统

3.8 数据流图

数据流程图是结构化系统分析的工具。它既可以表达数据在系统内部的逻辑流向及存储,又可以表达系统的逻辑功能和数据的逻辑变换。数据流程图既能表达现行人工系统的数据流程和逻辑处理功能,也能表达自动化系统的数据流程和逻辑处理功能。

请假记录

学生请假

同意

班主任审批

同意

同意 不同意

不同意

图3-1请假系统数据流图

请假成功

院系领导审批

请假失败

Fig3-1 the system’s of asking for leave dataflow pursueing

请假

任课老师

出勤记录

旷课

数据处理

迟到

早退

图3-2考勤系统数据流图

请假系统

请假记录

Fig3-2 attendance system’s dataflow pursueing

精品文档 下载后可编辑复制

3.9运行需求

3.9.1 最低配置

服务器端:

1)硬件需求:处理器 Intel Pentium III 内存 128M 硬盘 40G

2)软件需求:Windows 98 Microsoft Internet Explorer 4.01 JDK 1.5

SQL Server 2000 数据库 Tomcat 5.0

客户端 :

1)硬件需求: 处理器 Intel奔腾133或相当的处理器 内存 64M 硬盘 10G

2)软件需求: Windows 98 Microsoft Internet Explorer 4.01

3.9.2 建议配置

服务器端:

1)硬件需求:处理器 Intel Pentium IV 2.8G 内存 256M 硬盘 80G

2)软件需求:Microsoft Windows 2000/XP JDK 1.5 Tomcat 5.5

SQL Server2000 数据库 Microsoft Internet Explorer 6.0

客户端 :

1)硬件需求:处理器 Intel Pentium IV 1.8或相当的处理

内存128M 硬盘 20G

2)软件需求: Windows 2000/XP Microsoft Internet Explorer 6.0

精品文档 下载后可编辑复制

第4章 总体设计

4.1 引言

经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候。

4.2 系统布局设计

系统页面采用框架来设计,不同的用户有不同的功能菜单,但都有统一的风格,这给页面的使用和维护都带来了很大的便利,特别是在代码重用方面起了很大作用。本系统各用户的页面设计如图4-1所示:

图4-1 系统布局图

Fig4-1 System’s layout map

Banner

功能菜单

页面主体

Bottom

区——可以在此展示系统标识、页面归属等信息。

2.功能菜单区——提供系统可供操作的功能列表。

4.页面主体区——显示页面格式化数据页面主体区显示的内容,将依据页面在系统中的作用而定。

区——可设计为显示系统所有权等信息。

精品文档 下载后可编辑复制

4.3 总体结构图

根据系统功能的要求,高校学生考勤管理系统各个模块之间的层次结构如图4-2所示:

图4-2 系统功能结构示意图

高校学生考勤管理系统

请假系统

考勤系统

后台管理

Fig.4-2 Structure sketch map of the system’s function

按用户划分,系统结构图如图4-3所示:

图4-3 系统用户结构示意图

高校学生考勤管理系统

学生

班主任

任课老师

院系领导

学校领导

管理员

Fig.4-3 Structure sketch map of the System’s user

请假系统子功能模块层次结构图如图4-4所示:

学生在线请假模块

图4-4 请假系统结构示意图

请假系统子模块

班主任审批模块 院系领导审批模块

Fig.4-4 Structure sketch map of the system asking for leave

精品文档 下载后可编辑复制

考勤系统子功能模块的层次结构如图4-5所示:

图4-5 考勤系统结构示意图

考勤管理子模块

任课老师提交数据 各用户查询考勤数据

Fig.4-5 Structure sketch map of the system checking attendance

4.4 本人主要工作任务

本高校学生考勤管理系统分成三大功能模块来实现,本人主要负责:请假系统、考勤系统两大功能模块,涉及前五大类用户:学生、班主任、任课老师、院系领导、学校领导。后台管理功能模块,即系统管理员的功能由同组的同学来实现。

精品文档 下载后可编辑复制

第5章 详细设计

5.1 引言

总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计是软件开发时期的第三个阶段,也是软件设计的第二步。其任务就是把解法具体化,也就是回答下面这个关键的问题:“应该怎样具体地实现这个系统呢?”,通过详细设计应该得出对目标系统的精确描述,给出各个模块的详细过程性描述。从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。

5.2 系统功能流程图

1)主功能流程:

学生

在线

请假

开始

用户登陆

班主任

查看考勤信息

审批请假

任课老师

查看考勤信息

提交考勤信息

院系领导

查看考勤信息

审批请假

学校领导

查看考勤信息

查看考勤信息

退出系统

结束

图5-1 主界面流程图

Fig.5-1 main pages’s flow diagram

精品文档 下载后可编辑复制

5.3系统目录结构设计

系统首页

WEB-INF 系统配置目录

public 公共目录

image 图片目录

student 学生目录

teacher 任课老师目录

class_teacher 班主任目录

college_leader 院系领导目录

school_leader 学校领导目录

admin 系统管理员目录

account_manager 账号管理目录

class_teacher 班主任指定目录

college_manager 院系管理目录

admin子目录 course_manager 课表安排目录

kecheng_manager 课程管理目录

kaoqin_manager 考勤管理目录

qingjia 请假管理目录

year_manager 学年安排目录

5.4 数据库设计与实现

5.4.1 实体模型

Fig5-2 entity chart of the records submited to by teacher

记录ID

老师提交记录

提交时间

上课时间

图5-1任课老师提交记录实体图

精品文档 下载后可编辑复制

Fig5-3 attribute model of the record asking for leave

学生学号

学年代号

请假原因

班级代号

开始时间

院系回复

结束时间

院系领导姓名

请假记录

院系审批时间

请假天数

申请时间

院系审批状态

班主任审批时班主任回复

班主任审批状图5-3 请假记录属性模型

图5-4学生出勤记录属性模型

Fig5-4 attribute model of the record going on duty

出勤ID 上课时间

学生出勤记录

出勤情况 学号

5.4.2 E-R模型

Fig5-5 the E-R model of the records asking for leave

学生

1

请假

n

请假记录

图5-5 学生-请假记录E-R模型

精品文档 下载后可编辑复制

学生

1

出勤

1

出勤记录

图5-6 学生—出勤记录E-R模型

Fig5-6 E-R model of the records going on duty

5.4.3 数据库的逻辑设计

根据系统功能设计的要求以及功能模块的划分,对于系统数据库,可以列出以下数据项和数据结构:

考勤登记表:课程安排代号、记载时间、上课时间。

学生上课出勤信息表:上课时间代号、上课时间、学号、出勤状态。

请假信息表:请假代号、班级代号、学年代号、学号、请假原因、开始时间、结束时间、请假天数、申请时间、班主任审批状态、班主任审批时间、班主任回复、院系领导审批状态、院系领导代号、院系领导审批时间、院系领导回复

5.4.4 数据库表的创建

根据数据库需求的分析,建立如下3个基本数据表。

表5-1 请假信息表(qingjia)

列名

id

数据类型

Int(4)

是否为空

否(主键)(自动生成)

class_id

year_id

stu_number

qingjia_yuanyin

start_time

end_time

day_number

qingjia_time

varchar(10)

varchar(20)

varchar(20)

班级代号

学期代号

学生学号

请假原因

开始时间

结束时间

请假天数

申请请假时间

说明

请假代号

varchar(200) 否

datetime

datetime

Int(4)

datetime

否(默认0)

精品文档 下载后可编辑复制

class_teacher_status Int(4) 否(默认值:0) 班主任审批状态

class_teacher_sp_time datetime 是 班主任审批时间

class_teacher_restore

college_leader_status

varchar(200) 是

Int(4)

班主任回复

否(默认值:0) 院系领导审批状态

college_leader_id

college_leader_sp_time

varchar(20)

datetime

院系领导代号

院系领导审批时间

college_leader_restore varchar(200) 是 院系领导回复

备注:status 表示审批状态:0为等待审批,1为同意请假,2为不同意请假。

表5-2 任课老师提交出勤信息记录表(record)

列名

record_id

id

record_time

sk_time

数据类型

Int(4)

Int(4)

datetime

datetime

是否为空 说明

否(自动生成) 代号

与表course_time中id关联

老师考勤记载时间

上课时间

表5-3 学生上课出勤记录表(kaoqin_record)

列名

kaoqin_id

id

sk_time

Stu_number

Stu_status

数据类型

Int(4)

Int(4)

datetime

Varchar(20)

Varchar(1)

是否为空 说明

否(自动生成) 代号

与表course_time中id关联

上课时间

学生学号

学生上课考勤状态

说明:stu_status的值为:“2”表示旷课。“3”表示迟到。“4”表示早退。“5”表示请假。

精品文档 下载后可编辑复制

5.4.5 数据库的建立

打开SQL Server2000下面的[企业管理器],登录之后,选择[新建数据库]命令,给数据库起名为kaoqin。然后通过设计器创建数据表,刚才已经说明了需要不同的数据表来分管,它们分别是“qingjia”,“kaoqin_record”,“record”等,有关这些数据表的信息见上图。

5.5 前端操作页面设计

5.5.1 系统登陆设计

当不同的用户使用系统时,都要事先进行身份验证。用户在“用户名”处输入系统管理员分配的用户,选择正确的用户类型,最后输入正确密码后方能进行系统,用户名、用户类型、密码任一一个输入有误,系统都将拒绝用户使用此系统,若用户忘记了用户名或密码,请与管理员联系,本系统不支持在线找回密码功能。学生用户的用户名为学生本人的学号,密码也是学号,其它用户的用户名、密码由系统管理员指定。

本系统在设计时,严格考虑好了系统的安全性,不允许用户不经登陆直接使用系统的任何一个网页,用户也不能绕过身份验证,即:假如一个学生用户用正确的用户名和密码进行系统后,就算他知道管理用户或其它用户的某个网页地址,也是不能打开,进行操作的,系统将自动提示没权限的错误信息。

5.5.2 学生用户功能设计

根据学生用户的需求,系统实现了在线请假、查看上课出勤信息、查看个人基本信息这三大主要功能。系统针对学生用户设计如下功能菜单:基本信息、请假系统、考勤信息、查看课表、修改密码、安全退出、帮助。在基本信息功能菜单中,学生可以查看自己的学号、姓名、性别、院系、年级、专业、班级号信息。在请假系统功能菜单中,实现了在线请假申请功能,以及查看等待审批的请假信息、请假成功的请假信息、请假失败的请假信息。在考勤信息菜单下,学生可以查看本学年以及历史学年上课出勤的统计信息及详细信息。在查看课表功能菜单中,学生可以查看当前学期的课表安排,以及历年的课表安排。修改密码功能菜单,学生可以修改自己的密码。本系统还自带帮助文件,方便用户在使用过程中随时查阅。

学生用户的在线请假,在班主任或院系领导还没批假之前可以由学生自

精品文档 下载后可编辑复制

行删除,若班主任审批了请假,则学生不能删除申请记录,学生不能重复请假,因此学生请假时应当慎重。

根据学生用户请假的需求,学生三天内的请假(包括三天)只需班主任批准后就可生效,四天(包括四天)以上的请假,必须先由班主任同意,然后学校同意,请假方能生效,超过30天的请假不能在线请假。请假开始时间必须在请假结束时间之前,否则系统自动提示出错信息,且请假时,必须指定请假开始时间,请假结束时间,以及请假原因,请假时不必要指定班主任,系统会自动根据本学期的班级与班主任安排,找到班主任,并将信息自动交给对应班主任进行审批处理,超过四天的请假还将自动交给任何一个院系领导审批处理。系统还约定学生网上请假只能提前一个星期。

请假开始时间与结束时间的约定:请假时间学生可自动选择,也可自己输入日期,但是必须输入正确的日期格式,否则系统将出错,建议学生选择日期还不手动输入,以免出错。假若学生只请一天假,则开始时间与结束时间都选择要请假的那一天,如:一个学生2006年5月30日要请假,则开始时间、结束时间都选择2006-05-30,系统在进行处理时,自动把请假的时间设为从2006-05-30 00:00:00开始,2006-05-30 23:00:00结束。同样,请超过一天的假也是以这种方式处理的。

在请假的详细记录中,有学生请假有关所有详细信息,包括学生请假的申请时间、开始时间、结束时间、天数、原因、审批时间、回复、请假成功与否等所有有关请假的信息,学生可以随时查看请假进展情况。

5.5.3 任课老师用户功能设计

根据任课老师用户需求,系统实现了任课老师在线公布学生上课出勤信息、查看学生考勤信息两大基本功能。系统针任课老师用户设计以下功能菜单:

查看课表、考勤管理、考勤信息、修改密码、安全退出、帮助。在查看课表功能菜单下,任课老师可以查看本学期自己所带课程的上课时间以及所教班级的一些基本信息。在考勤管理功能菜单中,系统比较智能的根据当前日期自动提示当前学年还没登记的学生上课出勤表。在考勤信息功能菜单中,任课老师可以查看已经记录的学生上课出勤信息,既可以查看学生上课出勤统计信息,也可以考勤学生上课出勤统计信息,还可以做适当的修改。

精品文档 下载后可编辑复制

考勤管理功能是任课老师用户最主要的功能,任课老师上完课后,将传统的学生上课出勤情况在网上进行公布,使学生上课出勤信息及时准备对对班主任、院系领导、学校领导透明。根据任课老师用户的需求,系统实现了自动提示任课老师提交数据的功。根据课表安排,将本学期上完课的,还没提交数据的学生出勤情况自动提示任课老师提交数据,实现了智能化管理。比如说一个老师在2006-5-30进入了系统,那么这个老师在本学期,也就是2006-5-30之前上过的课,但还没提交数据出勤登记信息自动显示出来,等待任课老师提交数据,且任课老师在提交数据时,若学生在上课的那天请了假,且请假成功了,那么系统自动将学生出勤记录记为请假,任课老师无法记载学生为旷课等情况。

任课老师在考勤信息当中,可以查看所教过的学生上课出勤的详细信息及统计信息,从而到了学期末,可以方便任课老师根据上课出勤情况对学生平时成绩打分。

5.5.4 班主任用户功能设计

根据班主任用户功能的需求,系统实现了游览班级信息、审批本班学生在线请假、及上课考勤信息三大基本功能。系统针对班主任用户设计如下功能菜单:班级信息、请假系统、考勤信息、修改密码、安全退出、帮助。在班级信息功能菜单中,班主任用户可以查看本班学生的基本信息如:年级、专业、班级、学生学号、姓名、性别。在请假系统功能菜单中,班主任可以审批本班学生的在线请假,以及查看审批学生请假的历史记录,如:同意的请假记录和不同意的请假记录。在考勤信息功能菜单中,班主任用户可以查看本班学生所有课程的上课出勤信息,包括出勤详细信息及出勤统计信息。

班主任用户在整个系统中是学生请假的决策者,学生请假必须经班主任同意后,才能提交给院系领导审批请假。班主任在审批学生请假时,可以对学生的请假返回反馈意见,以对学生说明不同意请假的原因,或向院系领导说明情况的真实性以更好的方便学生请假。班主任另外一大功能是查看本班学生本学期的所有考勤信息,包括详细信息和统计信息,这样班主任可以及时有效的与本班同学沟通,提高办事效率,提高学生的学习成绩。

5.5.5 院系领导用户功能设计

根据院系领导的用户需求,系统实现了查看本院系信息、审批本院系学

精品文档 下载后可编辑复制

生请假、查看考勤信息三大基本功能。系统针对院系领导用户设计如下功能菜单:院系信息、请假系统、考勤统计、班主任信息、任课老师信息、班主任安排信息、院系课表、修改密码、安全退出、帮助。在院系信息功能菜单中,院系领导可以查看本院系的专业信息、班级信息、学生信息。在请假系统功能菜单中,院系领导可以审批经班主任同意的长时间请假,并可查看审批请假的历史记录。在考勤统计功能菜单中,院系领导可以查看本院系各班级考勤统计数据、查寻学生请假信息、考勤信息等。另外在班主任信息、任课老师信息中院系领导可以查看本院系班主任、任课老师的一些基本信息。在院系课表中可以查看本院系当前学年或历年课表安排。

院系领导用户的主要功能是查询本院系学生上课的考勤信息及审批学生请假。院系领导可以查询本院系某个班的考勤信息,也可以查询本院系某个人的考勤信息,在查询个人考勤统计信息时,是一个模糊查询,可以根据一个完整学号,唯一的查出一个学生考勤信息,也可输入部分学号、姓名列出所有相关的考勤记录。院系领导还可查看本院系的一些基本信息,如:专业、班级、任课老师、班主任等一些基本信息。

5.5.6 学校领导用户功能设计

根据学样领导用户的功能,本系统实现了查看全校基本信息及学生考勤信息这两在基本功能。针对院系领导用户设计如下功能菜单:学校信息、考勤信息、院系领导信息、班主任信息、任课老师信息、班主任安排信息、全校课表、修改密码、安全退出、帮助。在学校信息功能菜单下,学校领导可以查看有关本校的一些基本信息,包括:院系信息、专业信息、班级信息、学生信息等。在考勤统计功能菜单下,学校领导可以分院系,班级查看学生考勤统计数据也可以查寻学生上课出勤信息。

学校领导用户的功能与院系领导用户的功能基本上相同,只是查看信息的范围不一样,院系领导只能查看本院系的信息,而学校领导可以查看全校学生、任课老师、班主任等所有相关信息。由于与院系领导设计基本上一致,不再重复。

精品文档 下载后可编辑复制

第6章 编码

6.1用户操作页面编码

6.1.1 系统登陆编码

用户登陆时操作页面如图6-1所示:

部分代号:

„„

<%

racterEncoding("GBK");

username=ameter("username");

password=ameter("password");

Type=(String)ameter("type");

char userType=(0);

if(username==null

||("")){

n("

");

n("

用户名或密码输入非法!请返回重新输入!

");

n("返回");

n("

");

return;

}

图6-1 用户登陆页面

Fig 6-1 the page of debarkation by user

|| password==null || ("")

精品文档 下载后可编辑复制

switch(userType){

case '1' : {sql="select * from stu_user where stu_id='"+username;

sql+="' and stu_password='"+password+"'";

rs=eQuery(sql);

if(()){

ribute("userType",Type);

ribute("userName",username);

InactiveInterval(60*60*24);

direct("/kaoqin/student/");

}else{

n("

");

n("

用户名或密码不正确

");

n("返回");

n("

");

}

();

break;

}

„„„„

%>

各页面身份验证代码:如check_

<%

if(ribute("userType")!=null

&& !ribute("userType").equals("")){

String userType=(String)ribute("userType");

if(!("1"))

direct("/kaoqin/public/error_");

}else{

direct("/kaoqin/public/error_");

}

精品文档 下载后可编辑复制

%>

只要在所有的学生用户页面中加入上面的代码后,用户必须先登陆后才能打开网页,且不能绕过身份验证。同样的页面对应各用户还有check_class_等

6.1.2 学生用户功能编码

根据系统详细设计,学生用户操作页面如图6-2所示:

图6-2 学生请假系统页面

Fig 6-2 The page of the system asking for leave

请假功能的实现的程序流程图如图6-3所示:

精品文档 下载后可编辑复制

班主任审批请假

等待班主任审批

学生请假记录

T=0 C=0 N=?

T=0 C=0 N=? T=1 C=0 N=? T=2 C=0 N=?

N

请假失败

图6-3请假系统流程图

请假成功 请假失败

T=1 C=0 N>=4

T=1 C=1 N>=4 T=1 C=2 N>=4

院系审批请假

N<4 请假成功

N>=4等待院系审批

Fig 6-3the flow chart of the system asking for leave

说明:T 表示班主任对请假审批结果。默认值:0

C 表示院系领导对请假审批结果。默认值:0

N 表示学生请假天数。默认值:0

T、C的值为:0、等待审批。 1、同意请假。2、不同意请假。

功能实现部分代码:

package qingjia;

public class QJ_Record{

精品文档 下载后可编辑复制

public int day_number=0;

public int class_teacher_status=0;

public int college_leader_status=0;

public QJ_Record(int T,int C,int N){

_teacher_status=T;

e_leader_status=C;

_number=N;

}

}

package qingjia;

public class QingJia{

public int judge(QJ_Record record){ //行判断,返回值为1:请假成功;

int T=_teacher_status; //等审批的请假。返回值为-1:失败的请假

int C=e_leader_status;

int N=_number;

int result=0;

if(T==0&&C==0)

result=0;

if(T==2&&C==0)

result=-1;

if(T==1&&C==0)

if(N>=1&&N<4)

result=1;

if(T==1&&N>=4)

if(C==0)

result=0;

else if(C==1)

result=1;

对请假记录进返回值为0:

精品文档 下载后可编辑复制

}

else

result=-1;

return result;

}

6.1.3 任课老师用户功能编码

根据任课老师详细设计的要求,设计任课老师操作页面如图6-4所示:

图6-4任课老师考勤管理页面

Fig 6-4 the page of attendance management of teacher

部分代码:

kq_manager_

„„

<%

format=new DateFormat("yyyy/MM/dd HH:mm:ss");

String cur_time_2=(cur_time);

String sql_t="select * from year where year_id='"+year_id+"'";

ResultSet rs_t=eQuery(sql_t);

if(rs_()){

year_id=rs_ing("year_id");

year_name=rs_ing("year_name");

year_start=rs_estamp("year_start");

year_end=rs_estamp("year_end");

精品文档 下载后可编辑复制

}

();

ar calendar=new ianCalendar();

e(cur_time);

(,()-1); //限置任课老师不能管理当天学生的出勤

ar

ianCalendar();

ar

ianCalendar();

calendar_e(year_start);

calendar_e(year_end);

ResultSet _rs=null;

String _sql="";

String week_name="";

format_1=new DateFormat("yyyy/MM/dd HH:mm:ss");

format_2=new DateFormat("yyyy/MM/dd");

format_3=new DateFormat("yyyy/MM/dd");

String grade_name="";

String sp_name="";

String class_number_name="";

String kecheng_name="";

_sql="select distinct

calendar_2=new

calendar_1=new

kecheng_name,sp_name,grade_name,class_number_name from course_info

where year_id='"+year_id+"' and teacher_id='"+teacher_id+"' and

kecheng_id='"+kecheng_id+"' and class_id='"+class_id+"'";

_rs=eQuery(_sql);

if(_()){

grade_name=_ing("grade_name");

sp_name=_ing("sp_name");

精品文档 下载后可编辑复制

class_number_name=_ing("class_number_name");

kecheng_name=_ing("kecheng_name");

}

();

%>

<%= year_name %><%= kecheng_name %>

<%= grade_name %>级 <%= sp_name %> <%= class_number_name %>班 等待登记的上课考勤信息

<%

int subDate=e(calendar_1,calendar);

do{

String before_time=format_(e());

String

before_time_2=format_(e());

String

before_time_3=format_(e());

int zhou=subDate/7+1;

int day_of_week=(calendar__OF_WEEK);

switch(day_of_week){

case 1: week_name="星期日";break;

case 2: week_name="星期一";break;

精品文档 下载后可编辑复制

case 3: week_name="星期二";break;

case 4: week_name="星期三";break;

case 5: week_name="星期四";break;

case 6: week_name="星期五";break;

case 7: week_name="星期六";break;

}

_sql="select

class_id='"+class_id+"'

*

and

from course_info where

and year_id='"+year_id+"'

teacher_id='"+teacher_id+"' and week_name='"+week_name+"' and

kecheng_id='"+kecheng_id+"'";

_rs=eQuery(_sql);

if(_()){

do{

String status=_ing("status");

int pd=zhou%2;

if(("1")&&pd==0)

continue;

if(("2")&&pd==1)

continue;

int id_2=_("id"); //检查是否以经登记

String sql_2="select * from record where id='"+id_2+"'

and sk_time='"+before_time_3+"'";

ResultSet rs_2=eQuery(sql_2);

if(rs_())

continue;

%>

精品文档 下载后可编辑复制

<%

();

}while(_());

();

}

(,()-1);

subDate--;

}while((calendar_1)&&(calendar_2));

();

%>

„„

6.1.4 班主任用户功能编码

根据班主任用户的详细设计要求,设计班主任用户操作页面如图6-5所示:

图6-5班主任审批请假操作页面

Fig 6-5 the page of the leave examined and approved by teacher in charge of a class

精品文档 下载后可编辑复制

部分代码:

„„

<%

format=new DateFormat("yyyy-MM-dd HH:mm:ss");

String sp_time=(cur_time);

sql="update qingjia set

class_teacher_status='"+qj_sp+"',class_teacher_restore='"+restore+"',class_teacher_sp_time='"+sp_time+"' where id='"+id+"'";

eUpdate(sql);

();

direct("qingjia_");

%>

„„

6.1.5 院系领导用户功能编码

根据院系领导用户详细设计的需求,设计院系领导用户操作页面如图6-6所示:

部分代码:

select_

图6-6院系领导查询学生考勤信息页面

Fig6-6 the page of attendance information checked by college leader

精品文档 下载后可编辑复制

„„

<%

racterEncoding("GBK");

sql="select * from student_c_s_c where

college_id='"+college_id+"' and";

String sql_2="";

stu_number=ameter("stu_number");

stu_name=ameter("stu_name");

if(stu_("")&&!stu_("")){

sql_2=sql+" stu_name like '%"+stu_name+"%'";

}else if(!stu_("")&&stu_("")){

sql_2=sql+" stu_number like '%"+stu_number+"%'";

}else{

sql_2=sql+" stu_name like '%"+stu_name+"%' and

stu_number like '%"+stu_number+"%'";

}

%>

考勤统计首页

全院考勤统计信息  

查询  

刷新  

返回


精品文档 下载后可编辑复制

查询学生考勤统计信息

formCheck(this)">

上课时间 星期 第几周 课时
登记
<%= before_time_2 %> <%= week_name %> 第<%= zhou %>周 <%=_ing("lesson_name") %>

学号: 姓名:


<%

ResultSet rs_stu=null;

rs_stu=eQuery(sql_2);

if(rs_()){

do{

精品文档 下载后可编辑复制

%>

<%

}while(rs_());

}else{

%>

<%

}

%>

„„

align="center">

6.2 数据库连接池编码

6.2.1数据库连接池程序编码

/* SQL Server 2000 连接池对数据库的所有操作 */

package SQLBean;

import .*;

import .*;

import .*;

精品文档 下载后可编辑复制

public class DBConn{

public Context ctx=null;

public Connection cnn=null;

Statement stmt=null;

ResultSet rs=null;

DataSource ds=null;

public DBConn(){ //构造函数,查找连接池资源

try{

ctx=new InitialContext();

if(ctx==null)

throw new Exception("not environment");

ds=(DataSource)("java:comp/env/jdbc/kaoqin");

if(ds==null)

throw new Exception("not find dataBase");

}catch(Exception e){

}

}

n(sage());

//执行所有的查寻操作

public ResultSet executeQuery(String sql){

try{

cnn=nection();

stmt=Statement(_SCROLL_SENSITIVE,_READ_ONLY);

rs=eQuery(sql);

}catch(SQLException e){

}

return rs;

}

n(sage());

精品文档 下载后可编辑复制

//执行所有的删除,修改、添加操作

public int executeUpdate(String sql){

int result=0;

try{

cnn=nection();

stmt=Statement(_SCROLL_SENSITIVE,_READ_ONLY);

result=eUpdate(sql);

}catch(SQLException e){

}

return result;

}

//关闭与数据库的连接

public void close() throws SQLException{

try{

if(rs!=null){

();

}

if(stmt!=null){

();

}

if(cnn!=null){

();

}

if(ctx!=null){

();

}

n(sage());

}catch(Exception e){

n(sage());

精品文档 下载后可编辑复制

}

}

}

6.2.2 连接池配置文件

配置文件:(注:针对Tomcat 5.5)

name="jdbc/kaoqin"

type="urce"

removeAbandoned="true"

removeAbandonedTimeout="15"

maxActive="200"

maxIdle="40"

maxWait="5000"

username="sa"

password="8482134"

driverClassName=""

url="jdbc:jtds:sqlserver://127.0.0.1:1433/kaoqin"

/>

配置文件 (注:针对Tomcat 5.5)

name="jdbc/kaoqin"

type="urce"

removeAbandoned="true"

removeAbandonedTimeout="15"

maxActive="200"

maxIdle="40"

maxWait="5000"

username="sa"

精品文档 下载后可编辑复制

password="8482134"

driverClassName=""

url="jdbc:jtds:sqlserver://127.0.0.1:1433/kaoqin"

/>

精品文档 下载后可编辑复制

第7章 软件测试

7.1 引言

在开发软件的过程中,人们使用了许多保证软件质量的方法分析、设计和实现软件,但难免还会在工作中犯错误。这样,在软件产品中就会隐藏许多错误和缺陷,尤其是对规模大、复杂性高的软件更是如此。所以,必须进行认真、计划、彻底的软件测试。

7.2 测试方案

7.2.1 黑盒测试

黑盒测试,又称为功能测试。对于软件测试而言,黑盒测试把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。也就是说,黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。该测试方案的设计技术主要有:等价划分、边界值分析以及错误推测法等。

7.2.2 白盒测试

白盒测试的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否能按预定要求正确工作。故白盒测试又被称为是结构测试。该测试方案的设计技术主要有逻辑覆盖法等。

7.2.3 其它测试方案

除了以上两种测试方案外,还有其它的测试方案。包含所有可能情况的测试称为穷尽测试。对于实际程序而言,穷尽测试通常是不可能做到的。因为不可能对每一种可能的情况都进行测试。

7.2.4 本系统所采用测试方案

基于以上测试方法,本人选取的是模块测试和系统测试,模块测试部分由本人程序设计过程中自主完成,系统测试部分由同学模拟各种用户登录代为完成。

精品文档 下载后可编辑复制

7.3 测试过程

7.3.1 用户登陆测试

用户登陆测试是测试系统访问的安全性,以及各个页面的设计的安全性,测试方案如下(表6-1)所示:

表 6-1

用户类型

学生

任课老师

班主任

院系领导

学校领导

用户名 密码 空密码 错误密码/用户名 错误类型

2002162122 2002162122 否

041002

048001

xinxi_02

school

123456

123456

123456

123456

说明:上表中的“否”表示拒绝访问,没有通过系统的身份验证。“是”

表示可以访问系统。

通过上表反复测试黑盒测试可知,系统用户在登陆安全方面不存在问题,用户必须选择正确的类型,使用正确的用户名、密码方能使用此系统。

7.3.2 页面使用安全测试

此测试过程主要是测试系统各个页面的安全性,即在用户没有登录的情况直接在浏览器地址中输入要打开的用户页面,或者用户以正确的用户名和密码进入系统后,直接在浏览器地址中输入别的用户的页面,测试各页面是否不需要用户登录就可使用,或者是否可以绕过身份验证。

第一步:在用户没登陆系统的情况下,直接在浏览器中输入127.0.0.1/kaoqin/student/ 此地址是学生用户首页的完全地址,看是否能打开操作。测试结果:提示用户还没登陆的错误信息。依次测试别的页面,别的用户,测试结果都是:提示用户还没登陆的错误信息。

第二步:以学生正确的用户我和密码进入学生系统后,在浏览器中输入任课老师首页地址:127.0.0.1/kaoqin/teacher/ 看是否能绕过身份验证,打开别的用户的页面。测试结果:提示没有权限的错误信息。用同样的方法测试别的页面,别的用户都得到了同样的测试结果:提示没有权限的错误信息。

本文标签: 系统请假信息用户学生

更多相关文章

xp系统

安装Windows10系统后,CPU 不再支持虚拟化解决方案

6小时前

小米的游戏本&#xff0c;之前是支持虚拟化的&#xff0c;安装过好几次虚拟机。 最近重新安装了Windows10系统后&#xff0c;CPU不再支持虚拟化了&#xff0c;具体表现为安装VMWare失败

windows10系统如何将程序做成服务运行

6小时前

1.首先下载&#xff1a; 下载Instsrv.exe和Srvany.exe Instsrv.exe可以给系统安装和删除服务 Srvany.exe可以让程序以服务的方式运行 本人网盘链接&#xff1a; https:

windows10系统ping包显示时间,记录日志(亲测可用)

6小时前

使用管理员加打windows10中的Windows PowerShell&#xff0c;使用以下命令开始ping单纯查看 ping.exe -t 8.210.0.141 |Foreach{"{0} - {1}&qu

计算机无法安装ae,Windows10系统AE软件无法安装如何处理

6小时前

AE软件是一款图形视频处理软件&#xff0c;功能非常强大。不过&#xff0c;一些朋友在Windows10系统电脑中总会遇到AE软件不能安装的问题&#xff0c;这该怎么办呢&#xff1f;接下来&

服务器千兆网卡显示百兆,windows10系统查看网卡是千兆还是百兆的方法

6小时前

在电脑中&#xff0c;通常是配备有网卡&#xff0c;而如今很多新主板配备的都是千兆网络接口&#xff0c;以更好的满足未来大宽带用户需求&#xff0c;但是许多windows10系统想要查看自己的电脑网卡

Windows10系统搜索框空白

6小时前

强烈推荐文章&#xff1a;屏蔽csdn百度推广广告和屏蔽广告后上栏提醒 <-点击进入 小白日常&#xff1a; 在桌面上按住Shift键(不要松) 鼠标右击&#xff1a;之后 点击进入Windows

Windows10系统飞秋软件不信任防火墙

6小时前

Windows10系统飞秋软件不信任防火墙 控制面板—系统和安全—windows Defender防火墙—允许的应用—添加飞秋允许。

windows11第一个更新包 10月累积更新 适合基于 x64 的系统 (KB5006674)

6小时前

链接&#xff1a;https:pan.baidus11AbU5kBVpY895_70hyavRg  提取码&#xff1a;7777

windows系统win10将chrome加入环境变量的方法步骤

6小时前

描述&#xff1a;windows系统win10将chrome加入环境变量的方法步骤 步骤&#xff1a; chrome图标右键属性-找到目标路径-复制目录 我的电脑-右键属性-高级系统设置-环境变量-找到变量Path-新建

Win11系统Windows.old能删除吗?Windows.old怎么删?

6小时前

Win11系统Windows.old能删除吗&#xff1f;Windows.old文件夹怎么删&#xff1f;有很多升级成Win11的朋友发现C盘里面有个Windows.old文件夹占了很多的空间&#xff0c;大家

Ubuntu系统下访问Windows磁盘

6小时前

遇到在Ubuntu系统内不能访问windows磁盘时 先检查是否安装ntfs-3 打开终端&#xff0c;输入命令&#xff1a;sudo apt-get install ntfs-3g 之后修复挂载错误&#xff0

windows系统开启openoffice服务、libreoffice服务

6小时前

openoffice服务 1、从openoffice官网下载安装windows版openoffice Apache OpenOffice - Official DownloadOfficial Apache OpenOffice dow

新手必需知道的查看Windows系统是否被重启的方法

6小时前

方式一&#xff1a;通过命令systeminfo 在dos命令行(桌面window图标R同时按下,输入cmd进入环境)&#xff1b;在环境内输入systeminfo进行查看&#xff1b; 如&#xff

Ubuntu系统搜狗拼音无法输出

5小时前

某日心血来潮:在Ubuntu 18.06 64位操作系统安装了搜狗拼音输入法(系统自带的中文输入法太垃圾了),一通捣鼓,加上滋滋不倦、坚持不懈的努力后终于安装成功了(中间百度了许多方法),安装后发现搜狗输入法打不出中文(这可太cao了),不

在Linux系统 Fedora 25 安装 搜狗拼音输入法

5小时前

题记&#xff1a;由于使用fedora 25默认的输入法感觉不太习惯&#xff0c;所以折腾想更换成搜狗输入法&#xff0c;导致之前的输入法也不能用了&#xff0c;查了半天资料终于弄好了。 1.查看已

Ubuntu14.04系统下搜狗拼音输入法遇到的问题

5小时前

使用过程中输入法遇到异常,重装n次仍未解决问题. 后无意中发现一种方法解决了此问题: 1.彻底卸载搜狗拼音输入法 http:jingyan.baiduarticle9faa723154c3dc473d28cb41.html

关于win10系统镜像下载安装问题

3小时前

前言&#xff1a;之前由于各种意外&#xff0c;驱动问题&#xff0c;等等&#xff0c;会造成系统不正常&#xff0c;无法解决&#xff0c;只能使用究极秘技》重装系统&#x

win7、win8旗舰版系统下载、32位、64位

59分钟前

&#xfeff;&#xfeff; win7 win8 64位 32位 旗舰版 win7 32位旗舰版系统&#xff1a; ed2k:|file|cn_windows_7_ultimate_x86_dvd_x15-

解决装XP系统后开机可能遇到蓝屏的情况

29分钟前

1.解决方案之一&#xff08;针对某一种情况&#xff0c;用过成功&#xff0c;希望可以有所帮助&#xff09;&#xff1a;进入电脑BIOS&#xff0c;设置一下硬盘类型为兼容模式

计算机系统组装流程,电脑安装系统的步骤和知识

29分钟前

电脑的操作系统是电脑重要的部分&#xff0c;一台电脑要是无操作系统的话则无法正常运行&#xff0c;无操作系统的电脑也就是摆饰品&#xff0c;目前市面上的操作系统主要是Windows10和Windows7两个版本

发表评论

全部评论 0
暂无评论

最新文章

学号 姓名 性别 年级 专业 班级
考勤详细信息
<%= rs_ing("stu_number") %> <%= rs_ing("stu_name") %> <%= rs_ing("stu_sex") %> <%= rs_ing("grade_name") %> 级 <%= rs_ing("sp_name") %> <%= rs_ing("class_number_name") %> 班

href="stu_kq_?stu_number=<%=

rs_ing("stu_number") %>">查看

没有此学生记录!