- 56.88 KB
- 2022-05-17 13:47:57 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
四川师范大学本科毕业设计学生考勤管理系统的设计与实现学生姓名学号所在系计算机科学与技术系专业名称计算机科学与技术班级指导教师四川师范大学二○一二年五月
学生考勤管理系统的设计与实现学生:指导教师:摘要:本高校学生考勤管理系统用JSP+SQLServer2000开发,开发过程中运用了页面模块化、信息发布的动态生成、静态页面显示等技术开发。本论文重点介绍本系统的请假系统、考勤系统两大功能模块设计,完成学生、任课老师、班主任、院系领导、学校领导五类用户功能的设计与实现。关键词:考勤管理在线请假JSPStudents"testsystemdesignandimplementationAbstract:Thesystemisaninformationsystemdesignedforaskingforleaveonlineforstudentsandmanagingattendanceofundergraduate.Itisgenerallydividedintothreemainmodules:themoduleforaskingforon-lineleave,themoduleformanagingattendanceofundergraduateandthemoduleforbackstagemanagement.Therearedifferentcustomersintheuniversityoperatingthesystem,suchasstudent,teacher,ateacherinchargeofaclass,departmentleader,schoolleader,administrator.ThesystemisdevelopedwiththehelpofJcreator,JSP(java、javascript、html)andSQLServer2000.Thekeytechniquesusedintheprocessofdevelopmentare:thepagemodularization,dynamicgeneratingandstaticpageshowingofinformation,etc.Andthethesisfocusesontheintroductionofthesystem’sattendancemanagementandthemanagementofaskingforleaveonline.Anditdevelopsthefunctionofstudent,teacher,ateacherinchargeofaclass,departmentleader,schoolleaderonthewhole.KeyWords:attendancemanagementonlineaskforleaveJSP目录1概述61.1引言61.2开发背景61.3问题的描述62可行性的分析72.1引言7
2.2目的和意义72.3可行性的分析73需求分析83.1引言83.2用户需求描述83.2.1学生用户的需求描述83.2.2任课老师用户的需求描述83.2.3班主任用户需求描述83.2.4院(系)领导用户需求描述93.2.5学校领导用户需求描述93.2.6系统管理员用户需求描述93.3功能需求描述93.4系统开发工具103.5相关的开发工具简介103.5.1B/S(浏览器/服务器)简介103.5.2JAVA/JSP简介103.6系统功能划分103.7数据字典113.8数据流图113.9运行需求123.9.1最低配置123.9.2建议配置124总体设计134.1引言134.2系统的布局设计134.4本人主要的工作任务145详细设计145.1引言145.2系统功能的流程图145.3系统目录的结构设计155.4数据库的设计与实现155.4.1实体模型15
5.4.2E-R模型图165.4.3数据库的逻辑设计175.4.4数据库表的创建175.4.5数据库的建立185.5前端操作页面的设计185.5.1系统登陆的设计185.5.2学生用户的功能设计185.5.3任课老师用户的功能设计195.5.4班主任用户的功能设计195.5.5院系领导用户的功能设计195.5.6学校领导用户功能设计196编码206.1用户操作页面的编码206.1.1系统登陆的编码206.1.2学生用户功能编码206.1.3任课老师用户功能编码216.1.4班主任用户功能编码216.1.5院系领导用户功能编码226.2数据库连接池编码226.2.1数据库连接池程序编码227软件的测试237.1引言237.2测试的方案237.2.1本系统所采用的测试方案237.3测试的过程247.3.1用户登陆测试247.3.2页面使用安全的测试247.3.3学生用户测试257.3.4任课老师用户的测试257.3.5班主任用户的测试267.3.6院系领导/学校领导用户的测试268结束语................................................................26
参考文献27
学生考勤管理的设计与实现1概述1.1引言问题定义阶段须要回答的主要问题是:“所要解决的问题是什么?”,其中最重要的是了解此课题要解决问题的根本所在和所需要的资源等。1.2开发背景目前各大高校校园信息化逐步完善,高校师生利用校园网有效的提高了办事效率。各大高校对于教务的管理系统、师生的成绩查询系统、招生的就业系统、BBS、校园网站等各个系统在各个高校都一一出现,对全校教师和同学们的学习、生活、管理、办公等都带来了极大的便利。目前各个高校的学生上课所采用的考勤管理都是以任课教师上课点名,记录下学生上课出勤的情况,学期期末再根据上课出勤表以及作业登记表对学生平时的成绩进行打分,最后把数据上交到各院系。学生请假都以传统的写请假条的形式向各自的班主任请假,若请假时间长,需要班主任、院系领导都批准方能生效。这种模式在目前绝大部分高校管理中出现了极大的弊端。1.3问题描述上面所术的关于各大高等学校对于学生的考勤以及请假所面临的各种问题涉及到了很多类的用户,该系统所用的范围都是在整个校园的校园网内,因为较广泛的用户分布,并且有很大的差异。所以该系统设计应该采用B/S这样的构架来进行设计,操作简单且直观、硬件要求低,当然最好能实现跨平台。如此系统应当有较好的扩展性,且要与当前高校中已有的系统存在很好的集成。如今在IT技术的不断更新与发展下,很多企业的信息实现化也随之不断在成熟。面对广泛程序语言的运用于设计,以及各种成熟的关系数据库的完善、推出,加之广泛运用面向对象这样的软件开发,这使得软件开发变得简单很多,开发系统也变得实用许多,大部分企业使用这样的信息系统后,办事效率不仅提高了,而且也收到了更大的经济收入。JSP、ASP、PHP等技术是如今基于B/S结构所采用的方案。该系统采用了JSP技术来进行开发,存储数据使用了流行的SQLServer2000数据库管理系统,学生在线考勤管理、在线请假、后台数据的维护和更新等都成功被解决了。2可行性的分析2.1引言在此阶段需要弄懂的问题是:上个阶段所确定的问题如今到底有没有可行
的解决方法。要解决该问题,我们需要进行大大的压缩、简化的系统分析与设计过程。可行性的研究不是具体的解决问题,会比较简单!而研究性问题的范围,关于这个问题是否值得去探索去解决,寻找的解决方案有是否可行呢?2.2目的和意义解决现今各大高校中对于学生的请假和上课的出勤管理中所面临的种种问题是开发该系统的目的所在。有效地提高各大高等学校的办事的效率,解决各大高校学生的请假和上课的出勤管理问题,实现学生的请假和上课的出勤信息对班主任或是任课教师、各大领导等及时了解学生的学习情况,这些都是开发高校学生考勤管理系统的目的。这样有利于与学生及时进行沟通,提高校的教学质量。2.3可行性的分析技术的可行性:该系统在如今的高校中的使用还并不广泛,尽管这样,依然有很多相似的成功案例。该系统所采用的脚本语言是JavaScript。利用了JSP、html标识语言和SQLServer2000数据库技术进行综合开发。如此安全稳定的JSP动态网页技术,国内很多企业、银行的商务系统和各种信息系统都是采用它来开发的。MSS(基于结构化的查询语言数据库服务器)一种是基于客户/服务器结构化的数据库管理系统,通过使用客户系统用户可以从服务器的检索信息了解并进行本地的相关操作,客户关注信息的相关表示,服务器关注数据库的相关进程。经济的可行性:该系统在架构设计上开发上使用的都是比较简单方便的设计技术,所消耗的人力物力很少,所要求的部署硬件要求也很低,这样简单易于操作的系统,在经济上是非常可行的。法律的可行性:在知识产权上该系统拥有自主权,并没有随意使用其他有违法规的软件同时也没有任何非法的商品交易,因此在法律上它也是可行的。操作的可行性:本系统操作非常简单方便,你懂得上网,那么操作该系统就你就没问题,因此在操作上也是可行的。分析结果:通过各种分析可得出,该系统在经济、法律、操作等都具有很好的可行性,其性价比很好,所以它是值得开发采用的。3需求分析3.1引言这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。
3.2用户需求描述用户就是系统最终的使用者,开发系统的目的在于让用户最终能很好的使用该系统,最终为各个用户带来各种方便。该系统主要是解决高校学在线请假以和上课考勤管理两个重大问题,经过对各大高校的实际调查与分析,该系统包了括学生、班主任、任课教师、院系领导、学校领导、系统管理员等六类用户,而这六类用户对系统的需求简要概括如下:3.2.1学生用户的需求描述学生对该系统主要的需求是:在线请假需求和查看在校期间所有的上课出勤信息。在线请假的需求:学生可以在网上填写好请假的起止日期、请假缘由后,就可以向班班主任提出请假的申请,若超过三天的请假时间,就由班主任审批后,再由院系领导审批。在此请假的全部过程当中,学生可以随时通过网络查自己请假的详细进展情况。查看出勤信息的需求:学生完全可以查看在校期间所有学期的上课出勤信息。3.2.2任课老师用户的需求描述任课老师对系统的主要的需求是:管理及查看所教班级学生的上课出勤信息。管理学生上课出勤的需求:依据学校安排的各个课表,随着时间的变化,系统会自动地将还没有在网上公布的学生上课出勤信息列出,系统会自动的根据学生请假系统,最终决定学生上课出勤率的结果。查看学生出勤信息的需求:查看所教的班级学生整个学期以来的出勤统计的详细信息。其它的需求:查看上课的课表,本人的基本信息以和修改个人的用户密码。3.2.3班主任用户需求描述班主任对本系统的主要需求是:审批以及查看本班学生本学期的在线请假和所有课程的上课出勤等相关信息。审批学生的请假需求:学生在本学期在线请假申请后,自动提示该班主任有等待审批的请假信息,班主任再针对请假申请信息进行学生请假审批和对请假信息的回复。查看学生上课出勤的信息需求:查看本班学生在整个学期有关课程上的出勤统计的详细信息。其它的需求:查看该班学生基本信息、修改个人的用户密码等。3.2.4院(系)领导用户需求描述院系领导对系统的需求是:审批本院系所有学生中超过三天请假的和查看本院系学生上课的出勤信息。审批请假的需求:当有学生请假时间超过三天的,由所在班
班主任审批同意后,系统就会自动提交信息给任何一个最先进入系统的院系领导审批请假,和针对请假的回复。查看本院系学生出勤信息的需求:直接输入查询的条件,系统自动会根据查询条件列出相关的上课出勤信息。其它的需求:查看本院系相关的基本信息和修改个人的用户密码等。3.2.5学校领导用户需求描述查看全校学生上课出勤的相关信息也就是学校领导对系统主要的需求。要查看出勤的信息:直接输入相关的查询的条件,学生的相关上课出勤信息就会自动根据查询条件列出。有关其它的需求:查看全校的基本信息、修改个人的用户的密码等。3.2.6系统管理员用户需求的描述系统的最高权限是系统管理员,系统管理员要负责同步更新和维护系统所有数据的动态,下面是基本的功能需求:l学校所有相关信息,进行添加、修改、删除。l各个班级的课程安排、班主任和任课教师的相关信息。l整个系统全部的用户。l全校课表的相关安排。l全校每个学期开学的时间和结束的时间。l整个系统的请假和考勤信息。3.3功能需求描述根据以上各类用户的各种需求描述,该系统必须具备请假系统、考勤管理系统、后台管理系统这三大重要功能。请假系统的功能需求:据调查分析,目前很多高校中的请假流程是学生如果要请假,必须先写好请假条首先由班主任审批,超过四天的请假时间,还必须要等待院系领导审批通过后才能生效。请假的时间最长不能超过1个月,特殊情况除外。考勤管理的功能需求:任课老师必须通过考勤管理系统,对学生上课出勤信息进行公开,但因为任课老师忙于教学,为了准确无误的对学生出勤情况进行及时公开,这需要系统能自动地提示任课老师对上完课后,却还未公布的出勤信息在网上进行公布。后台管理的功能需求:后来的管理最主要是用来管理系统操作的数据,由于每学年各个高校的学生都在变化,有新生入学、有学生毕业。3.4系统开发工具根据各用户和系统各大功能的需求,经过大量的调查与分析,对于本高校学生考勤管理系统选择以下开发工具进行开发:
系统结构:B/S开发语言:JAVA/JSP数据库:SQLServer2000开发工具:JDK1.5DreamweaverJcreator服务器端容器:Tomcat5.53.5相关的开发工具简介3.5.1B/S(浏览器/服务器)简介“B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据;最大的缺点是对网络环境依赖性太强,由于各种原因引起网络中断都会造成系统瘫痪。”3.5.2JAVA/JSP简介“JAVA是SUN公司推出的完全面向对象的语言,它有很好的跨平台性、安全性、重用性等特点。JSP的全称是JavaServletPages,它是SUN推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*htm)中加入Java程序片段和JSP标记,就构成了JSP页面。3.6系统功能划分根据系统用户的各个需求,本系统可以按功能划分成三大功能模块:请假系统模块、考勤系统模块、后台管理模块,涉及到的用户六大类:学生、任课老师、班主任、院系领导、学校领导、系统管理员。l请假系统模块:该模块的功能是实现在线请假和管理,最重要涉及到三大类用户:学生用户、班主任用户及院系领导用户,学生用户可以通过此功能模块在线进行请假和查看请假信息记录;班主任可在线审批和查看学生请假及记录信息;院系领导可在线审批学生长时间的请假和查看请假信息记录。l考勤系统模块:该模块的功能是实现学生考勤信息的统计、查看及管理,涉及到所有用户。学生可以在线查看了解自己所有学年的出勤的相关信息;任课教师也可以在线管理学生出勤的相关信息;班主任、院系领导、学校领导都可查看不同范围的学生出勤的相关信息。l后台管理管理:
该模块的功能是实现整个系统数据的同步更新和维护,只虚涉及系统管理员。系统管理员可以动态的管理学生的相关信息、课表安排、学年安排等,这是整个系统要实现的基础所在。3.7数据字典数据词典,不但可用于描述数据流和数据存储的详细逻辑内容,还可用于描述外部项和处理逻辑的某些数据特性。数据词典把最小组成单位看作数据元素,N干个数据元素组成数据结构。通过对数据元素和结构的定义,来描述数据流和存储的逻辑内容。就相当于字典的作用,当用户或软件人员想了解某一数据的含义时,查字典便可。3.8数据流图数据流程图是系统结构化分析的工具。它不但可以表达数据在系统内部的逻辑流向,而且还可以表达系统逻辑功能和数据逻辑变换。数据流程图不但能表达现行人工系统的数据流程以及逻辑处理功能,更能表达自动化系统的数据流程以及逻辑处理功能如下图:图3.8-1请假系统数据流图图3.8-2考勤系统数据流图3.9运行需求3.9.1最低配置-1最低配置服务器端需求表硬件需求处理器IntelPentiumIII内存128M硬盘40G软件需求Windows98MicrosoftInternetExplorer4.01JDK1.5SQLServer2000数据库Tomcat5.0-2最低配置客户端需求表硬件需求处理器Intel奔腾133或相当的处理器内存64M硬盘10G软件需求Windows98MicrosoftInternetExplorer4.013.9.2建议配置3.9.2-1建议配置服务器端需求表硬件需求处理器IntelPentiumIV3.2G内存256M硬盘90G软件需求MicrosoftWindows2000/XPJDK1.5Tomcat5.5SQLServer2000数据库MicrosoftInternetExplorer6.03.9.2-2建议配置服务器端需求表客硬件需求处理器IntelPentiumIV1.8或相当的处理内存256M硬盘30G软件需求Windows20002/XPMicrosoftInternetExplorer6.0
4总体设计4.1引言通过需求分析阶段的工作,系统必须要“做什么”已弄清楚了,现在决定的是该“怎样做”了。4.2系统的布局设计系统页面主要采用框架来设计,不同的用户拥有不同的功能菜单,但是都有统一的风格,这让页面的使用和维护变得更加方便,尤其是对代码重用方面有很大的帮助。该系统各个用户的页面设计如图4-1所示:图4.2-1系统布局图4.3总体的结构图学生考勤管理系统各模块之间的层次结构按用户划分,系统结构图如下:图4.3-1系统用户结构示意图图4.3-2请假系统结构示意图图4.3-3考勤系统结构示意图4.4本人主要的工作任务本校学生考勤管理系统分三大功能模块进行来实现,本人要负责的是:请假和考勤系统两大功能模块,涉及到的用户有:学生、班主任、任课老师、院系领导、学校领导。5详细设计5.1引言总体的设计阶段用较抽象概括的方式来提出解决问题的办法。详细设计是软件开发时期的第三个阶段,也是第二步。它的任务就是把解法具体化,经过详细设计应得出对目标系统的精准描述,详细地给出各模块的过程性描述。这样在编码阶段便可把此描述直接翻译成某种程序语言书写的程序。5.2系统功能的流程图1)主功能流程:图5.2-1主界面流程图5.3系统目录的结构设计图5.3-1系统目录结构的设计图5.4数据库的设计与实现5.4.1实体模型图5.4.1-1任课老师提交记录实体图图5.4.1-2请假记录属性模型
图5.4.1-3学生出勤记录属性模型图5.4.2E-R模型图图-1学生请假记录E-R模型图5.4.3数据库的逻辑设计依各个功能设计及分析,可列出下面的相关数据项以及数据结构:-1相关数据项及数据结构信息表考勤登记课程安排代号、记载时间、上课时间学生上课出勤信息上课时间代号、上课时间、学号、出勤状态请假信息请假代号、班级代号、学年代号、学号、请假原因、开始时间、结束时间、请假天数、申请时间、班主任审批状态、班主任批时间、班主任回复、院系领导审批状态等5.4.4数据库表的创建依据数据库需求分析,建立基本的数据表如下。-1请假的信息表列名数据的类型是否为空说明idInt(4)否(主键)请假的代号class_idvarchar(10)否班级的代号year_idvarchar(25)否学期的代号stu_numbervarchar(25)否学生的学号qingjia_yuanyinvarchar(250)否请假的原因start_timedatetime否开始的时间end_timedatetime否结束的时间day_numberInt(4)否(默认0)请假的天数qingjia_timedatetime否申请请假的时间class_teacher_statusInt(4)否(默认值为0)班主任的审批状态class_teacher_sp_timedatetime是班主任的审批时间class_teacher_restorevarchar(250)是班主任的回复college_leader_statusInt(4)否(默认值为0)院系领导的审批状态college_leader_idvarchar(25)是院系领导的代号college_leader_sp_timedatetime是院系领导的审批时间college_leader_restorevarchar(250)是院系领导的回复表5.4.4-2任课老师提交出勤信息的记录表列名数据的类型是否为空值说明
record_idInt(4)否(自动生成)代号idInt(4)否与表course_time中id关联record_timedatetime否老师考勤得记载时间sk_timedatetime否上课的时间表5.4.4-3学生上课出勤的记录表列名数据的类型是否为空值说明kaoqin_idInt(4)否(自动生成)代号idInt(4)否与表course_time中id关联sk_timedatetime否上课得时间Stu_numberVarchar(20)否学生的学号Stu_statusVarchar(1)否学生上课的考勤状态5.4.5数据库的建立打开SQLServer2000的[企业管理器],登录后,选择[新建数据库]这个命令,给数据库起名kaoqin。然后经过设计器创建数据表。5.5前端操作页面的设计5.5.1系统登陆的设计不同的用户使用系统,都需要事先进行身份验证。在“用户名”处,用户输入系统管理员分配的用户,选择正确的类型,在输入正确密码后才能进行系统,以上任何一个输入有误,系统都将拒绝用户使用该系统,如果用户忘记了用户名或是密码,请尽快与系统管理员联系,因为该系统不支持在线找回密码功能。学生用户的用户名和密码都是该学生的学号,而其它用户的用户名和密码是由系统管理员指定。该系统的设计,严格考虑了系统的安全性,不允许任何用户不经登陆而直接使用该系统的任何一个网页,用户也不能绕过身份验证。5.5.2学生用户的功能设计据学生用户的需求,该系统实现了在线请假、查看个人基本信息、查看上课出勤信息这三大重要功能。该系统针对学生用户设计了以下功能菜单:基本信息、考勤信息、请假系统、修改密码、查看课表、安全退出、帮助。通过基本信息功能菜单,学生便可查看自己的姓名、性别、学号、院系、年级、专业、班级号等信息。通过请假系统功能菜单,实现了在线请假申请功能、查看等待审批的请假信息、请假成功或失败的请假信息。通过考勤信息菜单,学生可查看历史学年上课出勤的统计信息。通过查看课表功能菜单,学生可查看历年的课表安排。通过修改密码功能菜单,学生便可修改自己的密码。通过本系统自带的帮助文件,用户在使用过程中可随时查阅。
5.5.3任课老师用户的功能设计据任课老师用户的需求,系统实现了任课老师在线公布学生上课出勤信息和查看学生考勤信息两大基本功能。针任课老师用户系统设计了以下功能菜单:查看课表、考勤信息、考勤管理、修改密码、安全退出、帮助等。通过查看课表功能菜单,任课老师可查看本学期自己所带课程的上课时间以和所教班级的一些基本信息。通过考勤管理功能菜单,系统可以比较智能的根据当前日期自动地提示当前学年还没登记的学生上课出勤表。通过考勤信息功能菜单,任课老师可查看已记录的学生上课出勤信息,这样不但可以查看学生上课出勤统计信息,还可以考勤学生上课出勤统计信息,最后还可以做适当的修改。任课老师用户最主要的功能是考勤管理功能,在任课老师上完课后,把传统的学生上课出勤情况在网上公布,及时准备学生上课出勤信息并对班主任、院系领导、学校领导透明。5.5.4班主任用户的功能设计根据班主任用户的功能需求,系统实现了浏览班级信息、审批学生在线请假和上课考勤信息三大基本功能。针对班主任用户系统设计了如下功能菜单:班级信息、考勤信息、请假系统、修改密码、安全退出、帮助。通过班级信息功能菜单,班主任可以查看本班学生的基本信息。5.5.5院系领导用户的功能设计根据院系领导用户的需要,系统实现了查看本院系信息和学生考勤信息、以及审批本院系学生请假的几大基本功能。学院系领导用户的系统设计信息如下:有院系、班主任、任课老师、请假系统、考勤统计、班主任安排等。通过院系信息功能菜单、请假系统功能菜单、考勤统计功能菜单就可以完成相关的信息查询。查询本院系学生上课的考勤信息和审批学生请假是院系领导用户的主要功能。院系领导用户可以查询院系某个班的考勤信息,同时也可以查询院系某个人的考勤信息,当然在查询个人考勤的统计信息时,这是一个模糊的查询,可根据完整学号,查出一个学生考勤信息,但也可输入部分学号、姓名依次列出所有相关的考勤记录。院系领导通过该系统还可查看本院系相关的一些基本信息。5.5.6学校领导用户功能设计查看学校领导用户的功能,查看全校基本信息和学生考勤信息这两大基本功能都由该系统实现了。对于院系领导用户系统设计了以下功能信息菜单:学校、院系领导、班主任、任课老师、班主任安排、考勤、全校课表、修改密码、安全退出、帮助等信息。通过学校信息的功能菜单、考勤统计功能菜单,学校领导便可以查看有关本校的一些
相关的基本信息。各个菜单功能的合理安排设计实现了相关信息的查询。学校领导用户、院系领导用户他们的的功能大致上是一样的,只是查看的范围有所不一样,院上和系上的领导只可以查看到本学院本系的信息,而全校的学生、班主任、任课老师等所有相关的信息只有学校的领导可以查看到。因为与院系领导设计上基本一致,所以不再重复。6编码6.1用户操作页面的编码6.1.1系统登陆的编码用户登陆时操作页面如下图所示:-1用户的登录页面6.1.2学生用户功能编码根据系统详细设计,学生用户操作页面如图所示:图6.1.2-1学生请假系统页面6.1.3任课老师用户功能编码根据任课老师详细设计的要求,设计任课老师操作页面如图所示:图6.1.3-1任课老师考勤管理页面6.1.4班主任用户功能编码根据班主任用户的详细设计要求,设计班主任用户操作页面如图所示:图6.1.4-1班主任审批请假操作页面6.1.5院系领导用户功能编码根据院系领导用户详细设计的需求,设计院系领导用户操作页面如图6-6所示:图6.1.5-1院系领导查询学生考勤信息页面6.2数据库连接池编码6.2.1数据库连接池程序编码/*SQLServer2000连接池对数据库的所有操作*/packageSQLBean;importjavax.naming.*;importjavax.sql.*;importjava.sql.*;publicclassDBConn{publicContextctx=null;publicConnectioncnn=null;
Statementstmt=null;ResultSetrs=null;DataSourceds=null;publicDBConn(){//构造函数,查找连接池资源try{ctx=newInitialContext();if(ctx==null)thrownewException("notenvironment");ds=(DataSource)ctx.lookup("java:comp/env/jdbc/kaoqin");if(ds==null)thrownewException("notfinddataBase");}catch(Exceptione){System.err.println(e.getMessage());}}7软件的测试7.1引言开发软件这个过程中,大家使用了很多保证软件质量的方法分析、设计以及实现软件,然而避免不了还会在工作中犯一些小错误。这在软件产品中就隐藏着许多错误和缺陷,尤其是规模大和复杂性高的软件。因此,必须进行认真、仔细、计划、彻底的软件测试。7.2测试的方案本系统所采用的测试方案基于各种测试方法,本人选取的是模块测试与系统测试,主要的模块测试部分由本人程序设计过程中自主完成!7.3测试的过程7.3.1用户登陆测试用户登陆的测试是测试系统访问的安全性和各个页面的设计的安全性,测试方案如下所示:表-1测试方案表用户的类型用户名密码错误密码或用户名错误的
空值密码类型学生2021120762021102076否否否任课老师051002234567否否否班主任058001234567否否否院系领导linxin_02234567否否否学校领导school234567否否否经过上表反复测可知,在登陆安全方面系统用户不存在问题,各个用户必须选择正确的类型,使用正确的用户名和密码才可以正常使用该系统。7.3.2页面使用安全的测试该测试过程主要是测试系统各页面的安全性,也即是在用户没有登录的情况下直接在浏览器地址中输入要打开的用户页面,亦或是用户用正确的用户名和密码进入系统后,在浏览器地址栏中直接输入别的用户的页面,测试各个页面是否不需要用户登录便可使用,或是否可以绕过身份验证成功。第一步:如果用户没登陆,在地址栏中直接输入学生用户的首页的完整地址,查看到底能不能进行操作。测试出得到的结果是:用户还没有进行登陆这样的错误信息提示。按照相同的方法,依次测试其它页面和用户,测试的结果都是:用户还未没有进行登陆这样的错误信息提示。第二步:输入正确的用户及密码进入学生系统,在地址栏中正确地输入任课教师的首页地址,查看能不能跳过身份认证,再打开其他的页面。测试得到的是:没有任何权限这样的错误信息提示。用同样的方法去测试其他的页面用户,其他的用户都得到一样的测试结果信息:无权限。测试的结果:通过各种测试,系统各个页都有很好的安全性,每个页面都不允许用户在没有登陆的前提下访问,用户在登陆后,也不充许用户访问别的用户类型的页面,即不能绕过身份验证。7.3.3学生用户测试学生用户的核心功能是请假系统,主要完成以下的几个测试:Ø空值的测试:请假开始时间空值、结束的时间空值、请假原因空值、或部分为空值,在这样的的情况下,点击提交数据,在线请假。测试的结果:系统拒绝提交数据,并能正确的做出相应的提示,如**不可以为空的错误信息。Ø错误时间选择测试:在开始时间和结束时间选择的时候,把结束时间选择一个开始时间以前的时间,最后提交数据。测试的结果:提示的时间选择错误的提示信息。
Ø超前请假的相关测试:选开始时间和当前时间相差大于一个礼拜的日期请假。测试的结果:提示出只能提前7天请假时间的错误信息。Ø超后请假的相关测试:选开始时间在目前系统的时间以前的日期进行请假。测试的结果:提示出不能请过去时间假期的错误信息。Ø超长时间的请假测试与超后请假的测试方法类似。Ø重复的请假的相关测试:首先申请一条关于当天日期的请假,成功后,再申请一条从今天至明天的相关请假。测试的结果:提示出不能重复的请假的错误信息。Ø小于4天的请假测试:开始的时间和结束的时间之差小于四天的请假测试。测试的结果:提交的数据后,在等待审批请假的记录中出现一条新记录,且显示出了申请的时间,班主任审批处显示了“等待批假”的提示信息,然而院系的审批处没有显示“等待批假”的提示信息。Ø大于4天的请假测试与小于4天的请假测试类似。Ø班主任批假的测试:班主任进入系统,测试审批学生的请假。测试的结果:少于四天的请假,班主任如果同意了请假,那么学生的记录成功中出现了请假成功的记录。班主任同意的请假中同时也出现了该条记录。如果班主任不同意请假,那么提示此学生的请假失败。多于四天的请假,班主任如果同意了请假,则出现等待院系的审批的提示信息。Ø院系批假的测试与班主任批假的测试类似。Ø修改密码的相关测试Ø空值的相关测试:在任何密码都依依为空值的情况下,我们直接点击密码。测试出得到的结果:系统提示出请输入原始的密码这样的错误信息。Ø错误原始密码的测试与确认的密码不正确的测试类似。任课老师用户的测试a.考勤管理的测试正确提示登记的相关测试:从指定的登记页面进入后,把系统的日期进行修改,看看能否根据系统日期的相关变化,显示出学生上过课,但却没有进行登记的提示信息。测试的相关结果:如果目前的日期为2012-03-30,则本学期在2012-03-30前的所有没有登记的考勤信息系统会自动显示,依依列出来,而且能自动识别课表安排的单/双周。更换的时间后,大家就都能得到正确的结果了。b.考勤登记的测试进入指定的页面后,某个学生在当天上课时已经请假成功,然而任课老师提交数据时选择此学生旷课。测试的结果:在考勤统计信息与
详细信息中,出现了此学生请假的出勤信息。7.3.5班主任用户的测试a.班级信息的测试测试,某个班主任是否可以同时带多个班级且每个学期带不同的班。测试的结果:班主任能同时带多个班,且每学期可以带不同的班级。b.考勤信息的测试测试班主任是否可以查看本班每个学生该学期的考勤统计信息。测试的结果:班主任能查看本班每个学生本学期的考勤统计信息也即是详细信息。7.3.6院系领导/学校领导用户的测试空值查询的测试:在查询学生的考勤信息页面中,不输入查询条件就进行查询测试。测试得结果:提示出必须要有一个查询条件的错误信息。单条件下查询的测试与上类似。8结束语经过多个月的努力,高校学生的考勤管理系统中的两大功能模块:请假系统与考勤系统在指导老师的全心指导下,在同学的积极帮助下,基本功能顺利地完成。在数据库开发方面,我学到了不少关于JSP与SQLServer2000的知识。开发时遇到了很多的困难,但是通过努力与老师同学们的帮助,最终还是迎刃而解了。这次的毕业设计是按照软件工程学的方法来进行设计与开发的。在开发过的程中,认真调查和分析了用户的需求,及时准备了详细的文档资料,这让我在开发的过程中少走了许多的弯路。本次设计开发的系统比较庞大,涉及了较多的用户,数据库的设计比较的复杂,让我深刻地体会到了软件开发是一项集体的项目,单单靠一个人的力量想解决所有的问题是很困难的,谢谢老师的指导!参考文献:[1]杨学瑜:JSP入门与提高,北京清华大学出版社,2002.3,P24-P37[2]肖金秀:JSP程序设计教程,北京冶金工业出版社,2003.10,P20-P54[3]印旻:Java语言与面向对象程序设计,北京清华大学出版社,3003.8,P43-P61[4]赛奎春:JSP工程应用与项目实践,北京机械工业出版社,2005.2,P47-P62[5]鲁晓东:JSP软件工程案例精解,北京电子工业出版社,2005.1,P24-P36[6]皮德常:Java2简明教程,北京清华大学出版社,2021.2,P19-P63[7]萨师煊:数据库系统概论,高等教育出版社,2004.1,P33-P72[8]张海藩:软件工程导论,清华大学出版社,2021.2,P32-P67
[9]屈辉立:JSP网站编程教程,北京希望电子出版社,2002.6,P37-P67[10]孙卫琴:Tomcat与JavaWeb开发技术详解,北京电子工业出版社,2021.1,P42-P7