学生选课管理系统.docx
《学生选课管理系统.docx》由会员分享,可在线阅读,更多相关《学生选课管理系统.docx(23页珍藏版)》请在冰豆网上搜索。
学生选课管理系统
学生选课管理系统
目录
一、引言1
1.1背景1
二、总体设计1
2.1可行性分析1
2.2结构化设计2
2.3系统用例模型7
2.4.1动态模型10
2.4.1活动图10
2.4.2协作图12
2.4.3状态图13
2.4.4类图14
三、数据库设计15
3.1设计内容15
3.1设计要求16
3.1数据库表结构16
四、功能模块设计18
4.1学生模块设计18
3.1教师模块设计18
3.1管理员模块设计18
学生选修课管理系统
一、引言
1.1背景
“选课”是现在高校行政管理工作中一项很重要的课题。
而且是每个学期都必须要面对的问题。
选课工作做不好,学生不知道自己将要学习的课程,老师也不知道自己将要讲授的课程,教务处的排课计划、教室安排等其他调度工作也无从做起。
因此,如何解决高校教务管理中的选课工作便成为了如今各大高校面临的很实际的问题。
随着近几年高校的持续扩招,学生人数逐年增加。
为了满足广大学生的求学需要,各个高校的师资力量、硬件配置也随之增强。
这样一来,日常行政部门的工作也就越来越繁重,这一点在选课这块显得尤为突出。
而传统的手工操作,即费时又费力,而且容易出错,工作效率较低。
因此,拥有一套实用、高效、完善的在线选课系统就显得尤为重要,它可以提升高校的教育质量和教学管理质量,提高工作效率,降低行政成本。
大学期间总会有很多公共选修课,以往的选课方法是随堂报名。
这种方法虽然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有些课堂无人选课。
原因是传统的选课方法没有预见性,大家没有事先协调好。
并且学生选课存在这样的特点:
公选课较多,学生人数众多,学生可根据自己的专业及兴趣选择公选课程进行学习,而且学生对课程的要求有较大差异。
使用了网上选课系统以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好,学生通过本系统可以了解课题相关信息,进行自主选题,能够满足不同学生对不同题目的不同要求,有利于发挥学生的长处,而且能够充分利用学校的各类教学资源。
使用本系统有三个角色,即管理员、学生和教师用户。
管理员的权限最高,包括设置系统登陆信息,用户基本信息、选课信息的录入、查看、修改、删除等,同时还具有查询各个模块的功能。
老师和学生可以实现基本信息查询和进行选课的相关操作,如添加选课信息,退选等。
二、系统总体设计
2.1可行性分析
(1)经济上的可行性
系统界面友好,操作简单,系统的配置要求不高,实现可行,因此经济可行。
该系统可以容易实现学生、老师与学校之间的联系,在Internet上实现完成部分教务工作,提高办事效率。
(2)技术上的可行性
随着互联网的蓬勃发展,越来越多的机构将科研管理与Internet融合到一起,以方便个高校管理。
在这样一个社会背景下,基于Windows和SQLServer2005,运用先进的ASP.NET技术、先进的C#语言,采用B/S模式开发的学生网上选课系统,将学生、老师、管理员、有机地结合在一起,有效地提高管理水平和效率。
随着科学技术的不断提高,计算机科学日渐成熟,基于以上的技术在现今比较容易实现。
(3)操作上的可行性
该系统操作方便,简单。
2.2结构化设计
系统功能模块基本将本系统划分为三大模块,即学生选课模块、教师开课模块以及管理员管理模块。
(1)学生选课模块:
在这个模块中,允许学生修改个人信息,浏览基本的课程;并实现主要的选课功能,包括填写选课信息、查看已选课程、修改选课等。
(2)教师开课模块:
这个模块主要是让教师申请教课,同时教师可以修改个人信息、浏览基本课程以及查看学生的选课情况等。
(3)管理员管理模块:
这个模块的功能比较多,主要包括创建课程的指定任课老师、设定课程人数、统计学生选课信息、发通知等等。
(4)通用功能模块:
即用户登录、密码修改等功能的实现。
功能结构图
图2-1学生选课管理系统的功能图
2.3系统用例模型
(1)角色确定
①管理员:
对学生和教师基本资料维护,对课程基本资料进行添加、删除、更新或查询等;
②学生:
进行课程预览,选课信息查询,进行选课,成绩查询等;
③教师:
查询课程及课程报名人数情况,进行成绩评定等;
(2)确定用例
与管理员有关的用例:
发布通知、分配帐号密码、注销或修改用户状态、创建课程
定任课老师、设定课程人数、统计学生选课信息;
与学生有关的用例:
修改个人信息、选课操作、修改选课、浏览课程、查询成绩与教师有关的用例:
申请教课、浏览课题、查询学生选课情况、成绩评定
(3)建立系统用例图
如图所示的是学生选课系统的高层用例图、管理员管理子系统用例图、教师管理子系统用例图以及学生选课子系统的用例图。
图2-1学生选课系统的用例图
图2-2管理员管理子系统用例图
①发放通知:
此用例包含两种情况,一是相对于教师的,二是相对于学生的。
相对于教师,即对于选课信息录入后发放给教师的通知,相对于学生即是在安排完选课相应的教师、选课限定人数等规则后发放给学生的通知。
②学生及教师列表:
对于学生的个人信息、选课信息,教师的个人信息、对应教受的课程信息等的查询、删除、修改等操作。
③可选课程列表:
在限定人数已满或是人数不够不进行课程开设等情况下对于课程选择的限定。
④学生已选课程列表:
在课程修完教师评定相应成绩后,对于学生已选课程的成绩统计以及录入发放。
⑤管理员添加及密码修改:
根据实际情况进行添加、修改等。
图2-3教师管理子系统用例图
图2-4学生选课子系统用例图
2.4动态模型
动态模型包括活动图、顺序图和协作图等。
2.4.1活动图
图2-5描述的是学生选课操作的活动图。
在图中,学生从登录选课系统到选课完成需经历一系列过程。
首先输入用户名和密码登录系统,系统给出提示,若登录成功后则进行课程信息查询。
然后对信息进行详细查看,例如选课时间安排、教师安排、人数安排等,之后可点击选择课程并提交确认,此时系统也会给出提示,若成功选择给出课程详细信息,否则将提示人数已满的限制信息。
修改所选课程,也必须找到自己已选课程列表并进行删除,然后再按相同方法进行选课,最终完成选课。
当然修改课程过程中,也要注意修改时间的限定,因为管理员也要统计学生及其所选课程的信息,所以必须在规定时间进行修改。
经过活动图的可视化效果,可更清楚了解此过程。
图2-5学生选课操作的活动图
(1)顺序图
学生选课操作的顺序图及管理员管理操作的子系统分别如图2-6和图2-7所示。
图2-6学生选课操作顺序图
图2-7管理员管理操作子系统顺序图
2.4.2协作图
图2-8学生选课操作的协作图
图2-9描述了管理员管理操作时的协作图。
参与交互的对象有课程信息模块、课程安排模块及面向教师、学生。
此图主要考虑通过对象之间的交互共同完成选课操作的过程,各信息流向及标明的顺序更好诠释出管理员进行管理时所需对象及时间上的配合。
图2-9管理员管理操作的协作图
图2-10描述了教师评定成绩的协作图。
参与的交互对象有课程信息模块、成绩评定模块、成绩管理模块以及学生。
首先教师进入课程信息模块,选择自已所教授的选修课,进而得到所有学生信息。
然后通过反馈的信息及自己记录的考勤情况(如特定安排取消的课时等)进入成绩评定模块。
一般是将所有学生进行统一打分,若不是统一的情况或是有修改等情况都可进入成绩管理模块进行相应操作。
在规定日期前上交评定成绩信息后再反馈给学生。
图2-10教师评定成绩的协作图
2.4.3状态图
图2-11描述了学生这个特定对象所有可能的状态及其引起状态转移的事件。
学生在选课操作中其生存周期中所处的不同状态、转换时的条件,虽然看似较为简单,但并不可忽视。
对于此信息的详细设计,可进一步用于用类状态的设计和编制类。
图2-11学生登录选课的状态图
2.4.4类图
类模型是面向对象方法的核心,类模型从对象的角度描述系统的组成,描述对象及相互间的关系。
系统已在前面进行过简单描述,通过检查问题陈述中的所有名词短语和代词,得到初始类:
学生教师管理员选课操作选课管理申请教课
成绩管理成绩查询用户管理课程信息可选课程学生已选课程
经过分析最后得到教师、学生、管理员、课程信息及系统维护这几个类。
并标识出类的名称及属性。
如下图所示:
三、数据库设计
3.1数据库设计
3.1.1设计内容
设计一个以班级为单位的选课数据库,能够实现学生自主选课功能,并能实现学生信息、课程信息、学生选课信息、教室信息、授课教师信息等的创建、更新、删除、修改,数据库完整性检查、冲突检测、查询优化以及数据库角色、权限的分配,实现数据库的备份等事务处理以保证数据的完整性、一致性、安全性、可靠性。
图3-1学生选课系统总E-R图
3.1.2设计要求
1、功能要求:
(1)设计数据对象(表、视图、规则、函数等),完成学生自主选课,实现对于数据库完整性的检查;
(2)根据用户不同,指派不同权利:
管理员具有dbo权限,学生具有插入选课表、退课表权限,查询课程表权限,确保数据库的安全性;
(3)能够实现对于学生选课信息、课程信息、授课教师信息、教室使用信息的查询;
(4)设计触发器/存储过程,优化数据库查询、冲突检测、扩展数据库完整性和数据操纵功能;
(5)设计选课时间段,在指定时间段内,允许选课、退课;
(6)完成数据库的备份等事务处理,保证数据库的一致性,可靠性;
2、实现要求;
(1)根据功能要求,建立概念模型,设计各功能块的E-R图,对其合并,形成系统总E-R图,如图3-1所示。
(2)利用T-SQL实现数据库,关系表,视图,数据类型,存储过程及其他数据对象的建立、更新、修改及数据库完整性检查;
(3)利用企业管理器实现角色及用户权利的定义。
3.1.3数据库表结构
(1)表名:
学生信息表
标识:
Info_student
学生信息表包括学号、姓名、性别、出生日期、院部、专业、班级、密码8个字段。
描述:
学生在选课之前已经具备的各自的详细资料,并且由学院安排分配其密码(口令)。
表3-2
名称
字段名称
数据类型
长度
是否允许为空
学号
s_no
Char
10
No
姓名
s_name
Char
8
Yes
性别
sex
Char
2
Yes
出生日期
birthday
Datetime
10
Yes
院部
department
Char
20
Yes
专业
sp
Char
20
Yes
班级
class
Char
12
Yes
密码
pw
Char
12
No
(2)表名:
课程信息表
标识:
Info_course
课程信息表包括课程号、课程名称、学时、学分、教师、类型6个字段。
描述:
学生可以查询某门课程的详细情况,如课程简介、教材、课时、学分、考察方式和相关课程等内容。
表3-1
名称
字段名称
数据类型
长度
是否允许为空
课程号
c_name
Char
5
No
课程名称
c_no
Char
50
No
学时
s_time
Real
4
Yes
学分
scor
Real
4
Yes
教师
teac
Char
8
No
类型
typ
Char
20
Yes
(3)表名:
教师信息表
标识:
Info_teacher
教师信息表包括工号、姓名、性别、联系电话、密码5个字段。
、
表3-3
名称
字段名称
数据类型
长度
是否允许为空
工号
t_no
Char
10
No
姓名
t_name
Char
8
Yes
性别
sex
Char
2
Yes
联系电话
tel
Char
11
Yes
密码
Pw
Char
12
No
(4)表名:
学生选课信息表
标识:
Info_selected
学生选课信息表包括学号、姓名、班级、课程、学分5个字段。
描述:
学生可以查询自己已选的课程及修完课程后的学分。
表3-4
名称
字段名称
数据类型
长度
是否允许为空
学号
s_no
Char
10
No
姓名
s_name
Char
8
Yes
班级
class
Char
12
Yes
课程名称
c_no
Char
50
No
学分
scor
Real
4
Yes
四、功能模块设计
3.1登陆模块
3.1.1功能流程图
功能流程图如下图所示。
需要说明的问题:
(1)录入项检测使用javascript实现(各项必须非空)
(2)登陆.jsp页面也包含查询按钮,在此的登陆.jsp提交的数据只是用户名和密码。
3.1.2功能描述
(1)功能类型:
查询数据
(2)功能描述:
提高系统的安全性
(3)前提业务:
无
(4)后继业务:
02(管理模块)
(5)功能约束:
权限约束
(6)约束描述:
(7)操作权限:
图书馆管理员
3.1.3界面设计
(1)基础信息处理
动作说明:
动作编号
动作名称
动作描述
A01
登陆
点击登陆按钮提交数据到登陆数据处理页面
A02
重至
点击退重至按钮将当前信息恢复原先状态
A03
信息查询
点击将页面转至到信息查询页面
A04
学生信息查询
点击将页面转至学生信息查询页面
A05
基础信息
点击将显示基础信息
3.1.4登陆数据处理的内部逻辑
登陆数据处理:
关键点两点:
1,数据库连接;2,记录登陆信息及信息处理;
1,数据库连接:
2,记录登陆信息及信息处理:
当用户点击“登陆”按钮之后,数据将提交到登陆数据处理.jsp页面。
取得帐号密码这两个从页面传入的值,然后跟数据库当中管理员表中的账号和密码比较。
如果正确的话,在JSP的SESSION中存入一个标记属性,表示当前已经有管理员登陆了。
处理完毕后,跳转到管理页面,如果失败,则提示登陆失败,并重新进入到登陆页面。
3.2管理模块
3.2.1功能流程图
功能流程图如下所示:
需要说明的问题:
在选择相应的业务时,需要在当前的页面显示;并且在管理页面内,默认显示图书查询页面。
3.2.2功能描述
(1)功能类型:
其他
(2)功能概述:
总体归纳图书馆管理功能
(3)前提业务:
登陆模块(01)
(4)后续业务:
021,022,023,024,03
(5)功能约束:
权限约束
(6)约束描述:
(7)操作权限:
图书馆管理人员
3.2.3界面设计
(1)基本信息处理
动作说明如下:
动作编号
动作名称
动作描述
A01
入库管理
点击按钮将页面转至入库管理.jsp页面
A02
学生借书
点击按钮将页面转至学生借书.jsp页面
A03
学生还书
点击按钮将页面转至学生还书.jsp页面
A04
图书注销
点击按钮将页面转至图书注销.jsp页面
A05
图书查询
点击按钮将页面转至图书查询.jsp页面
(2)数据要求
功能类型:
其他
3.3学生信息查询模块
具体格式如下:
功能编号
032
功能名称
学生信息查询模块
内容
功能流程图
所属业务
图书馆管理
所属项目
图书馆管理系统
编写人
陈新光
完成时间
2007-11-26
页码
第12页
功能流程图
功能流程图如下图:
需要说明的问题:
录入项检测使用javascript来实现(各项非空);
操作权限:
面向所有用户
功能描述
(1)功能类型:
查询数据
(2)功能概述:
显示查询结果
(3)前提业务:
无
(4)后继业务:
(5)功能约束:
没有约束;
(6)约束描述:
(7)操作权限:
面向所有用户
界面设计
(1)基础信息处理
下表是动作说明:
动作编号
动作名称
动作描述
A01
确定
点击按钮提交数据到图书查询数据处理.jsp页面
A02
图书信息查询
点击按钮将页面转至图书信息查询.jsp页面
(2)数据要求
(1)功能类型:
数据查询
(2)数据描述:
页面显示字段见下表:
字段名称
长度
录入方式
是否非空项
数据检验
默认显示
请输入学号
10
文本框
Y
N
忽略此处..