基于JSP的选课系统
一.概述
1.1设计题目及实现目标
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为
人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视。是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。学生选课系统就是为了管理好选课信息而设计的。学生选课系统的将使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。
学习Web应用程序的开发(B/S方式),JSP编程技术开发选课系统;通过编程实践掌握JSP的动态网页与MySql数据库相结合的技术;通MVC(模型-视图-控制)架构模式,使其在开发过程中得以应用。
实现系统有较好的可维护性、可靠性、可理解性、效率。易于用户理解和操作。可维护性包括了可读性、可修改性、可测试性、等含义。可靠性通常包括正确性和健壮性。开发过程中,在各种矛盾的目标之间作权衡,并在一定的限制的条件下(时间、可用的软、硬件资源等),使上述各方面最大限度的得到满足。
1.2 开发环境简介
实验中采用的开发环境: 编译器:JDK1.6
Web服务器:Tomcat6.0
插件开发平台:MyEclipse8.5 数据库服务器:MySQL5.0
二.系统需求
2.1 系统功能描述
学生选课系统是典型的信息管理系统(MIS),本系统是根据现代化校园的发
展而设计的基于jsp的学生选课管理系统,本系统就是为了管理好选课信息而设计的。
学生选课系统需要满足来自两方面的需求,这三个方面分别是学生和老师。学生的需求是查询系的课程、学生选课情况;选课管理员的功能,包括对学生、
基于jsp的选课系统
选课进行管理和统计。学生可以直接查看选课情况,学生可以根据本人学号和密码登录系统,还可以进行本人课程情况的查询、修改和维护部分个人信息及对所在专业的所有班级进行成绩查询。
管理员可以浏览、查询、修改、统计选课的基本信息;浏览、查询、统计和修改学生选课的基本信息设计不同用户的操作权限和登陆方法对所有用户开放的学生选课查询和个人部分信息维护查看个人情况信息维护学生个人密码根据选课情况对数据库进行操作并生成报表根据选课情况对数据库进行操作并生成报表查询及统计各种信息维选课信息维护工作人员和管理员信息维护学生信息处理信息的完整性。
1) 学生信息模块完成学生的登陆,然后根据各位同学所在的系不同,调用相
应的选课模块。
2) 其中学生登录模块的功能是验证登录人员确实存在的学生,学生启动本系
统后,系统提示输入学生学号码和密码(输出登陆密码及学生的学号)验证后进入主控操作界面。
3) 课程信息管理有学生已经选择的科目和可以选择的科目,学生同时可以在
规定时间内对自己选择的科目进行修改,学生必需先登陆才能进行对课程的选课否则不能进入选课系统.
2.2系统功能模块
1.系统用户由三类组成:教师、学生和管理员; 2.管理员负责的主要功能: ?课程审核,课程统计,成绩查看; ?课程管理(删除和修改)
?选课管理(实现选课功能开放和禁止、教师成绩输入开放和禁止)
3.学生模块:主要包括学生选课模块、学生查询模块和学生部分信息修改模块。
4.教师通过登录,可以添加课程,查看选课学生的基本信息,可以输入成
绩;
2.3 E-R图
实体-联系图(Entity-Relation Diagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段,形成一个独立于机器,独立于DBMS的ER图模型。 通常将它简称为ER图,相应地可把用ER图描绘的数据模型称为ER模型。ER图
4080409 基于jsp的选课系统
提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。
学号 学期号 专业名 姓名 性别 课程号 课程名称 课程简介 课程状态 学生 班级号 老师号 属于 专业号 学期 选修 课程 课程性质 密码 系别名 专业 成绩 专业名 讲授 无 专业号 属于 教师号 教师 系科 属于 系名 系代号 姓名 专业号 三.数据库逻辑结构设计
3.1 数据库的需求设计
密码 数据库技术是信息资源管理最有效的手段。数据库设计是指:对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。方便显示和方便查询,建立两层:数据库的基本层-表和数据库的视图。
3.2概念结构设计阶段
(1) 定义实体
基于jsp的选课系统
实体集成员都有一个共同的特征和属性集,可以从收集的源材料——基本数据资料表中直接或间接标识出大部分实体。分析可是本系统包含的实体有:院系tbDept、专业tbProfession 老师、tbTea 学生、tbStudent 课程、tbCourse 选课、tbSC 管理员、tbAdministrator (2)定义联系
根据实际的业务需求和规则,使用实体联系矩阵来标识实体间的二元关系,然后根据实际情况确定出连接关系的势、关系名和说明,确定关系类型,是标识关系、非标识关系(强制的或可选的)还是非确定关系、分类关系。根据本系统确定的联系有院系和专业是一对多关系,专业和学生也是一对多关系,老师和课程也是一对的关系,专业和课程也是一对多关系 。学生和课程为多对多关系。 (3)定义码
通过引入交叉实体除去上一阶段产生的非确定关系,然后从非交叉实体和独立实体开始标识侯选码属性,以便唯一识别每个实体的实例,再从侯选码中确定主码。为了确定主码和关系的有效性,通过非空规则和非多值规则来保证,即一个实体实例的一个属性不能是空值,也不能在同一个时刻有一个以上的值。院系tbDept(主键:系别)、专业tbProfession(主键:专业号,外键:系别) 老师、tbTea(主键:老师号,外键:课程号) 学生、tbStudent(主键:学生号,外键:专业号) 课程、tbCourse(主键:课程号 外键:专业号,老师号) 选课、tbSC(联合主键:学生号和课程号,外键:学生号,课程号) 管理员、tbAdministrator(主键:管理员号)。
(4)定义属性
从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者。定义非主码属性,检查属性的非空及非多值规则。此外,还要检查完全依赖函数规则和非传递依赖规则,保证一个非主码属性必须依赖于主码、整个主码、仅仅是主码。 定义表主要代码: 院系表 tbDept 字段名 Dept_no 类型 varchar 长度 20 40 长度 20 40 20 长度 20
是否为主键 可否为空 是 否 否 是 说明 院系号 院系名 说明 专业号 专业名 院系号 说明 老师号 Dept_name varchar 专业表 tbProfession 字段名 Pro_no Pro_name 类型 varchar varchar 是否为主键 可否为空 是 否 否 否 是 是 Dept_no varchar 老师表 tbTeacher 字段名 Tea_no 类型 varchar 是否为主键 可否为空 是 否 4080409 基于jsp的选课系统
Tea_name Tea_pwd varchar varchar 40 40 20 长度 20 40 20 20 500 40 否 否 否 是 是 是 老师名 老师号 院系号 说明 科目号 科目姓名 科目性质 科目状态 学期 科目简介 院系号 Pro_no varchar 课程表 tbCourse 字段名 Cno Cname Cnature Cstate Cterm Cintro Pro_no 类型 char varchar varchar varchar int varchar varchar 是否为主键 可否为空 是 否 否 否 否 否 否 否 是 是 是 是 是 是 Tea_no varchar 20 否 是 老师号 Cstate 为1代表该科 活动,0代表 锁定,活动即学生可以进行选课老师不可以评分,锁定即学生不可以选课,但是老师确可以评分。 学生信息表tbStudent 字段名 Sno Sname Spwd Ssex Sclass Sterm 类型 char varchar varchar varchar varchar int 长度 20 40 40 10 40 40 长度 20 20 20 是否为主键 可否为空 是 否 否 否 否 否 否 否 否 是 是 是 是 是 是 否 说明 学生学号 学生姓名 学生密码 学院性别 班级 学期 入学时间 学生密码 说明 学生号 科目号 成绩 Sentertime Int Pro_no varchar 选课表 tbSC 字段名 Sno Cno Grade 类型 varchar varchar varchar 是否为主键 可否为空 是 是 否 否 是 是 3.3 关系图
基于JSP的选课系统报告(含源文件)



