本系统应当包括学生、任课老师、系统管理员三类用户,这三类用户对系统的需求简要概括如下
学生用户需求描述
学生对本系统的主要需求是:在线请假以及查看在校期间所有的上课出勤信息。
在线请假需求:学生在网上填写好请假的起止日期,请假原因后,就可以向本学期本班班主任提出请假申请,由任课老师审批后。在在线请假的全过程当中,学生可以随时查看请假的详细进展情况。
查看出勤信息需求:学生可以查看在校期间所有学期上课出勤的详细信息,如:整个学期请假、旷课、迟到、早退了多少次,以及具体的时间、任课老师姓名、第几节课等详细信息。
其它需求:查看本人的基本信息,如本人的所属的院系、年级、专业、班级、学号、姓名、性别等,以及修改个人用户密码,查看本班课表安排。
任课老师用户需求描述
任课老师对系统的主要需求是:管理所教班级学生的上课出勤信息以及查看所教班级学生的上课出勤信息。
管理学生上课出勤需求:根据学校安排的课表,随着时间的变化,自动列出还没有在网上公布的学生上课出勤信息,系统自动根据学生请假系统,决定学生上课出勤的最终结果。
查看学生出勤信息需求:查看所教班级学生整个学期上出勤统计信息及详细信息。
系统管理员用户需求描述
系统管理员有系统的最高权限,负责系统所需所有数据的动态同步更新以及维护,根据系统针对各用户的设计,基本功能需求如下:
1、管理系统所有用户的添加、删除、修改等。
功能需求描述
根据各类用户的需求描述,系统应当具备请假系统、考勤管理系统、后台管理系统这三大主要功能。
请假系统功能需求:通过实际调查分析得出,目前高校中的请假流程是学生若要请假,必须先写好请假条先任课老师审批。
考勤管理功能需求:任课老师通过考勤管理系统,对学生上课出勤信息进行公开,但由于任课老师忙于教学,为了能及时准确无误的对学生出勤情况公开,要求系统能自动提示任课老师对上完课了,但还没公布的出勤信息进行网上公布。
后台管理功能需求:后来管理主要是用来管理系统操作的数据,因为高校每学年的学生都在变化,有新生入学,也有学生毕业。请假系统要借助班主任安排才能完成,考勤管理系统要借助请假系统、班级课表安排才能完成,然而每学年课表都在变化,班主任安排也有在变化,学生也在变化,因此必须要求后台管理系统能根据系统需求,动态的、准确的更新系统数据。
系统开发工具
根据各用户的需求,以及系统各大功能的需求,经过大量的调查分析,针对本高校学生考勤管理系统选择以下开发工具进行开发:
系统结构:B/S (浏览器/服务器)
开发语言:JAVA/JSP
数据库:SQL Server
开发工具:JDK Dreamweaver Eclipse
服务器端容器:Tomcat
1.引言 5
1.1 开发意义 5
1.2 课题意义 6
2.项目概述 6
2.1 可行性研究 6
2.1.1 经济可行性 6
2.1.2 技术可行性 6
2.1.3 运行可行性 6
2.1.4 时间可行性 7
2.1.5 法律可行性 7
3. 需求分析 8
3.1 功能需求 8
3.2 性能需求 9
4. 相关技术介绍 9
4.1 JSP技术简介 9
4.2 JSP工作原理 10
4.3 JSP体系结构 10
4.4 JSP的特点 11
4.5 系统数据库连接 12
4.6 MySQL介绍 15
4.7 BS模式与C/S模式的比较分析 17
4.8 JDBC介绍 18
5. 数据库分析与设计 20
5.1 数据库设计原则 20
5.2 设计数据库 20
CREATE TABLE `t_s_attachment` (
`ID` varchar(32) NOT NULL,
`attachmentcontent` longblob,
`attachmenttitle` varchar(100) DEFAULT NULL,
`businesskey` varchar(32) DEFAULT NULL,
`createdate` datetime DEFAULT NULL,
`extend` varchar(32) DEFAULT NULL,
`note` longtext,
`realpath` varchar(100) DEFAULT NULL,
`subclassname` longtext,
`swfpath` longtext,
`BUSENTITYNAME` varchar(100) DEFAULT NULL,
`INFOTYPEID` varchar(32) DEFAULT NULL,
`USERID` varchar(32) DEFAULT NULL,
PRIMARY KEY (`ID`),
KEY `FK_mnq23hlc835n4ufgjl7nkn3bd` (`USERID`),
CONSTRAINT `FK_mnq23hlc835n4ufgjl7nkn3bd` FOREIGN KEY (`USERID`) REFERENCES `t_s_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `t_s_base_user` (
`ID` varchar(32) NOT NULL,
`activitiSync` smallint(6) DEFAULT NULL,
`browser` varchar(20) DEFAULT NULL,
`password` varchar(100) DEFAULT NULL,
`realname` varchar(50) DEFAULT NULL,
`signature` blob,
`status` smallint(6) DEFAULT NULL,
`userkey` varchar(200) DEFAULT NULL,
`username` varchar(10) NOT NULL,
`departid` varchar(32) DEFAULT NULL,
`debit` decimal(5,2) DEFAULT '0.00',
PRIMARY KEY (`ID`),
KEY `FK_15jh1g4iem1857546ggor42et` (`departid`),
CONSTRAINT `FK_15jh1g4iem1857546ggor42et` FOREIGN KEY (`departid`) REFERENCES `t_s_depart` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `t_s_base_user` VALUES ('402881e5455f7eca01455f7f46290044',1,NULL,'c44b01947c9e6e3f','管理员',NULL,1,NULL,'admin','402881e5455f7eca01455f7f45b80015',100.00),('402881e54596fb2e014596fefd8c0001',NULL,NULL,'8f6958dabefcff2f','刘德华',NULL,1,NULL,'liu','402881e54586e3be014586ea3dc70007',100.00),('402881e54596fb2e014596fefefc0004',NULL,NULL,'283e0ba3d8220f7a','李连杰',NULL,1,NULL,'lee','402881e54586e3be014586ea3dc70007',100.00);
DROP TABLE IF EXISTS `t_s_config`;
CREATE TABLE `t_s_config` (
`ID` varchar(32) NOT NULL,
`code` varchar(100) DEFAULT NULL,
`content` longtext,
`name` varchar(100) NOT NULL,
`note` longtext,
`userid` varchar(32) DEFAULT NULL,
PRIMARY KEY (`ID`),
KEY `FK_m3q8r50ror4fl7fjkvd82tqgn` (`userid`),
CONSTRAINT `FK_m3q8r50ror4fl7fjkvd82tqgn` FOREIGN KEY (`userid`) REFERENCES `t_s_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `t_s_depart`;
CREATE TABLE `t_s_depart` (
`ID` varchar(32) NOT NULL,
`departname` varchar(100) NOT NULL,
`description` longtext,
`parentdepartid` varchar(32) DEFAULT NULL,
PRIMARY KEY (`ID`),
KEY `FK_knnm3wb0bembwvm0il7tf6686` (`parentdepartid`),
CONSTRAINT `FK_knnm3wb0bembwvm0il7tf6686` FOREIGN KEY (`parentdepartid`) REFERENCES `t_s_depart` (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;