课程管理系统设计文档
- 格式:doc
- 大小:602.54 KB
- 文档页数:13
课程管理系统1 引言1.1 项目开发的背景随着计算机技术日渐成熟,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的课程信息进行管理,与手工管理相比拥有其无可比拟的优势。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、信息保存时间长等。
这些优点能够及大地提高学校课程管理的效率,也是学校管理科学化、正规化的重要条件和标志。
因此选择课程管理系统作为设计题目具有一定的学术价值和实际意义。
1.2 项目开发意义长期以来,学校基本都是使用传统人工的方式管理学生课程信息。
效率低、保密性差,随着计算机和网络技术的发展,使用计算机来管理课程信息已经成为发展趋势。
因此,课程管理系统作为学校管理不可缺少的部分,应为使用者提供充足的信息和快捷的查询手段。
2.1 项目总体规划基于JSP+Java+Servlet的课程管理系统的总体设计目标是为教师和学生提供一个课程管理的平台。
学生可以通过该系统快速地选择自己喜欢的课程;教师可以通过该系统查看自己所授课的选课情况;系统管理员可以根据需要对学生、教师、班级等信息进行维护。
为了满足上面提出的功能要求,基于JSP+Java+Servlet的课程管理系统需要达到以下目标。
●学生登录系统后可以进行课程选择,并且可以查看教师已经给出的某门课程的成绩,此外学生还可以更改自己的个人信息。
●教师登录系统后拥有是否接受学生选择自己所授的课程,以及给选择自己教授的课程的学生打分权限。
●系统管理员登录系统后可以修改系统中的全部信息,包括学生、教师、课程以及班级等信息。
2.2 系统需求分析2.2.1用户身份级别功能分析不同身份的用户对系统的使用权限有所不同。
系统管理员登录后可以对教师、班级和学生等系统信息进行修改,教师登录后可以查看选课情况并给出学生课程的成绩,学生登录后可以进行选课并查看自己某门课程的成绩。
其功能定义如图所示。
2.2.2 教师模块功能分析教师在本系统中拥有是否接受学生选课申请,以及给学生打分的权限,只有先接受学生的选课请求,才能给该生打分。
首先,教师登录后可以查看有哪些学生选择了自己所教授的课程,然后系统会列出该教师所带课程的班级,系统还会列出选报了该课程的所有学生(其中包括了该生的一些详细情况),在教师选择好学生以后,在这门课程结束时可以给出所有选择这门课的学生的成绩,在这之后系统会分析教师的输入是否正确(即是否为阿拉伯数字),否则提示输入错误。
其次,在教师给出了学生某门课程的成绩之后,系统会根据成绩来判断该生是否通过了该课程,如果该成绩大于或等于60分,则在该生的学生上加上该课程的学分。
其功能定义如图所示。
2.2.3 学生模块功能分析学生登录以后,可以选报课程。
系统会根据学生所在系及课程的预修课(课程有系别、预修课等属性)判断学生是否具备条件。
首先系统会列出所有满足该生系别以及该生还未选报的课程,和其预修课为“public”的公共课程。
如果该生选报了未满足预修课要求的课程,系统会给有相关的错误提示。
其次学生可以查看自己的成绩,包括该生已选课程的名称,学分以及该生的总分,如果教师还未给出成绩,则系统会有相关提示。
此外该生可以更改自己的个人信息,包括密码,电话号码等,其中要求密码不能为空。
其功能定义如图所示。
2.2.4 管理员模块功能分析管理员在本系统中拥有最高权限,包括修改学生、教师、课程以及班级信息。
其中“班级”是本系统中关键环节,同样也是数据库中的关键。
它直接与课程、教师、上课时间和地点联系,学生所选的课程也是要具体到某一个班级,所以首先班级号不能为空,其次要保证同一教师在同一时间不能同上两门课程。
在新增“课程”时,要求决定课程所在系以及其预修课(系统会动态列出现有的课程),其中课程所在系必须与预修课所在系一致(或者选择无预修课,或者预修课属性为public),否则系统会有错误提示。
其功能定义如图所示。
2.3 数据库设计使用Microsoft SQL Server 2008数据库作为后台数据库,SQL Server 2008系统具有强大的网上功能,可以在互联网上发布数据库中的数据。
在其中新建名称为“ClassDB”的数据库。
新建classes(班级信息表)、course(课程信息表)、teacher(教师信息表)、student(学生信息表)、admin(管理员信息表)、enrol(选课信息表)管理员信息表学生信息表教师信息表课程信息表其他一样创建。
2.4 系统流程及模块划分根据上面的需求分析,将系统分为以下几个模块。
●用户登录模块:负责验证系统中各级用户的登录信息。
并根据登录用户的不同级别转向不同的页面。
●学生功能模块:负责学生的选课,查看课程成绩和更改学生信息的操作。
●教师功能模块:负责审批学生选课、公布学生成绩的操作。
●管理员功能模块:负责课程、班级、教师和学生信息的添加、修改和删除等维护操作。
各模块的基本功能分别如图用户登录模块流程学生功能模块流程2.5 系统详细设计与实现利用MyEclipse集成开发环境新建一个web应用项目命名为“CourseManagement”创建项目成功后,按照模块分别创建JSP页面、Servlet类和JavaBean类。
2.5.1 用户登录模块用户登录模块包含以下页面、Servlet类和JavaBean类,如表所示。
用户登录模块中各页面和Java类功能说明页面和Java类功能描述Login_jsp 系统首页,提供用户登录信息输入接口验证用户的登录信息,若正确则根据用户级别转向不同的页面Login_confirm.javasqlBean.java 负责整个系统与数据库的连接和关闭操作2.5.2 教师模块教师模块包含以下页面、Servlet类和JavaBean类,如表所示。
页面和Java类功能描述choosestu.jsp 根据教师的ID号获得所带班级和课程,从而查询学生信息的页面displaystu.jsp 显示选择该课程的学生列表marking.jsp 教师给学生打分的页面teacher.jsp 教师登录成功后显示的功能页面determine.jsp 包含批准学生选课和打分等逻辑方法的JavaBean类MarkSvlt.jsp 执行批准学生选课和给学生打分等操作的Servlet类2.5.3 学生模块学生模块包含以下页面、Servlet类和JavaBean类,如表所示。
页面和Java类功能描述checkmark.jsp 学生成绩查询页面displayCourse.jsp 显示学生课选课程列表的页面student.jsp 学生登录成功后显示的功能页面更新学生注册信息页面updateinformation.jspcheckEnrol.java 用于学生选择课程的JavaBean类用于执行学生选课和查看成绩等操作的Servlet类StudentLoginSvlt.java2.5.4 管理员模块管理员模块包含以下页面、Servlet类和JavaBean类,如表所示。
页面和Java类功能描述admin.jsp 管理员登录界面AddClass.jsp 添加新班级信息AddCourse.jsp 添加新课程信息addteacher.jsp 添加新教师信息addstudent.jsp 添加新学生信息getclass.jsp 显示所有班级getcourse.jsp 显示所有课程getstudent.jsp 显示所有学生getteacher.jsp 显示所有教师updateclass.jsp 更新班级信息updatecourse.jsp 更新课程信息updatestudent.jsp 更新学生个人信息更新学生个人信息后的确认页面Updatestu_confirm.jspupdateteacher.jsp 更新教师信息classp.java 用于封装关于班级信息的业务逻辑方法的JavaBean类classsvlt.java 用于执行添加、删除、修改班级信息的Servlet类course.java 用于封装关于课程信息的业务逻辑方法的JavaBean类coursesvlt.java 用于执行添加、删除、修改课程信息的Servlet类student.java 用于封装关于学生信息的业务逻辑方法的JavaBean类studentsvlt.java 用于执行添加、删除、修改学生信息的Servlet类teacher.java 用于封装关于教师信息的业务逻辑方法的JavaBean类teachersvlt.java 用于执行添加、删除、修改教师信息的Servlet类2.5.5 web.xml 配置文件以上代码编写完成后,还需要编写web应用程序的配置文件web.xml,在其中配置系统中的Servlet类的映射。
2.7 项目测试(1)将项目部署到web服务器上之后,在浏览器中输入URL地址访问系统的首页,如图(2)以学生身份登录后,将显示如图所示的学生功能页面(3)单击图中的“选修课程”超级链接,进入选择课程页面,如图如图(5)在图中单击“更改信息”超级链接,将转向修改学生的注册信息页面,如图(6)在图中单击“注销”超级链接,将回到系统首页。
下面测试教师模块功能。
(1)以教师身份成功登录系统后,将显示如图所示的教师功能页面。
(2)在图中单击“挑选您的学生”超级链接,将显示该老师所带班级和课程的页面,如图(3)单击具体课程名称后面的“选择”超级链接后,将显示选择该门课程的学生详细信息,如图(4)单击学生姓名后面的accept超级链接,将批准该学生选课请求。
(5)在图(1)中单击“公布成绩”超级链接,在显示的选报该课程的学生名单后面单击score超级链接,将显示给该学生该课程打分的页面,如图所示。
下面测试管理员模块功能。
(1)以管理员身份成功登录后,将显示如图所示的管理员功能页面。
(2)单击“学生”超级链接,将显示现有学生列表页面。
在其中可以添加、删除和修改学生信息,如图所示。
(3)单击“新增学生”超级链接,将显示如图所示的新添学生页面。
(4)单击学生姓名后面的“删除”按钮,将删除对应的学生信息。