当前位置:文档之家› 网上选课系统课程设计文档

网上选课系统课程设计文档

《网上选课系统》课程设计20111 / 2012 学年第 1 学期姓名:____黄勇、王超、陈云_____ 专业:____计算机科学与技术_____ 班级:_______0905092___________ 指导教师:周蓓、周荣、许秀兰、王剑计算机科学与工程学院2011一、系统简介 (3)1.1系统基本功能简介 (3)1.2系统需求分析 (3)1.2.1业务流程分析 (4)1.2.2数据流分析 (8)1.2.3数据字典 (11)二、系统设计 (13)2.1数据库设计 (13)2.1.1概念结构设计 (13)2.1.2逻辑结构设计 (16)2.2系统模块设计 (22)三、系统实现 (25)3.1实现概况 (25)3.2 登录模块 (26)3.2.1程序流程图 (26)3.2.2关键代码 (26)3.3 排课模块 (29)3.4选课模块 (32)3.4.1程序流程图 (32)3.4.2选课的存储过程 (33)3.5其他模块简介 (34)3.6系统界面设计 (35)3.6.2选课主界面 (35)结论 (38)一、系统简介1.1系统基本功能简介网上选课系统是根据大学的选课的网上申请与管理而进行开发设计的是实现选课的网上申请与安排,管理。

此系统功能主要根据角色的不同而设置了不同的权限,例如管理员具管理此系统的全部权限(设置选课时间的开放时间),增删改学生,老师,管理员,发布选课信息,排课等。

学生随时都可以进入系统查看选课信息,等选课开放时间开放后能进行自主选课,取消所选课程。

教师没有时间限制,随时可以登录观看自己的上课时间,地点。

1.2系统需求分析通过对系统需求进行分析,系统中设有三类用户:管理员,教师,学生期末管理员开放成绩输入的时候输入学生成绩。

各用户的具体描述如下:(1)管理员描述:管理员维护整个系统,包括发布选课信息,设置选课时段,选课前学生只能登录查看选课通知,不能选课;选课结束,学生不能再进行选课更改,只能查看选课信息。

管理让学生所选的课程。

增删改学生、老师,管理员信息。

选课结束后,管理员手动进行排课,排课时数据库中有各种验证来验证排课信息的冲突,排完课后,发布排课信息,让老师,学生进行查看,设置成绩输入的开放时间。

(2)教师描述:只能查看选课通知,排课安排,根据上课时间,地点准备教学资料,期末管理员开放成绩输入的时候输入学生成绩。

(3)学生:描述:选课前查看选课通知,不能进行选课;等待到选课时间段后,根据自己的兴趣爱好进行选课,期间可以任意进行增删改自己的选课信息,选课时间过后,等待排课信息出来后,查看上课时间,地点,期末查看自己的学习成绩。

1.2.1业务流程分析(1)网上选课系统总体业务流程图如下图所示:(2)登录子系统主要验证不同的身份并取得不同的用户权限,进行不同的系统操作。

其业务流程图如下图所示:(3)排课子系统(设置可选课程)主要完成的设置选课时段,限制选大选课人数、手动排课并自动进行冲突检测、发布选课信息等功能。

其业务流程图如下所示:(4)选课子系统主要完成的是课程查询、选课、撤销选课申请、查询成绩。

其业务流程图如下图所示:(5)用户维护子系统主要完成是教师,学生信息的增、删、改,防止个别学生,老师应经不在此学校了,他还有信息在系统中。

1.2.2数据流分析根据业务流程分析,我们可以得到系统的数据流图。

(1)网上选课系统顶层数据流图如下图所示。

(2)网上选课系统第一层数据流图。

(2)展开登录处理过程数据流如下图所示:(3)排课过程(设置可选课程)的数据流图如下图所示。

(4)选课过程的数据流图如下图所示:(5)成绩输入的数据流如下图所示:1.2.3数据字典根据数据流程分析,对系统数据惊醒分析与汇总,建立系统数据字典。

下面列出绝大部分字典内容。

(1)登录系统名:网上选课系统条目名:登录输入:学生信息表,教师师表(管理员也在其中)输出:true, false描述:登录验证先进行根据学生表,教师表来筛选用户名,找不到则推出系统到登录界面,找到则验证其密码的正确性。

(2)选课系统名:网上选课系统条目名:选课输入:可选课程表,选课公告输出:学生选课表描述:学生在管理员开放时间的时候进行选课。

该规定有管理员自己手动规定,然后由管理员通过选课公告通知学生。

选课大概流程如下:学生单击对应课程前面的勾选框,当单击确定时候,信息被提交到服务器,服务器上的数据库中的存储过程检测其上课是否冲突,不冲突则直接写入到数据库中,有冲得课程系统自动取消上课有冲突的课程,完成后,显示学生的选课结果。

可选课程表包括排课表的全部信息,其每一个字段都是其外键。

如果一门课程应经达到最大的选课人数(虽然可选课程中还显示该课程可选,但实际上数据库中人数字段应经减少为0)。

(3)排课系统名:网上选课系统条目名:排课(设置可选课程)输入:时间表,课程表,教师信息表,教学楼表,院系表,专业表输出:可选课程表描述:管理员在排课过程中,依次根据下拉菜单选择课程,教师,地点,时间,院系,专业,人数限制。

全部勾选后,点击提交到服务器检测冲突,不冲突则写入进可选课程表,并显示在这一组勾选框下面的GRIDview中,否则系统自动忽略管理员的操作,不写入表中。

(4)设定选课时间段,成绩输入时间段系统名:网上选课系统条目名:设定选课时间段,成绩输入时间段输入:时间控件的选择的时间输出:选课时间段表描述:管理员在设置相应时间段的时候,系统会自动检测所设置的时间段是否应经过了当前的系统的时间,导致学生,教师都不能进行相应的操作,如果不冲突则提示设置成功,然后管理员更新选课公告通知学生,教师。

(5)管理用户信息系统名:网上选课系统条目名:管理用户信息输入:学生信息,教师信息输出:学生信息表,教师信息表描述:管理员根据日常学生,教师的变更增加,编辑,删除信息,在相应操作的时候应为设置级联关系,相应的信息也会一起改变不会出现错误信息。

二、系统设计2.1数据库设计2.1.1概念结构设计(一) 排课子系统1.系统涉及到的实体排课中所涉及的主要实体及其属性:(1)管理员{用户名,密码}(2)可选课程{课程名,教师名,授课地点,时间,院系,专业,人数} (3)选课时间段设置(开始时间段,结束时间)(4)选课公告(新闻标题,发布部门,有效期,新闻)(5)成绩输入时间段设置(开始时间,结束时间)2.E-R模型如图排课过程实体及其属性(二)选课子系统选课子系统所涉及到的主要实体及其属性有:(1)学生{用户名,密码}(2)可选课程{课程名,教师名,授课地点,时间,院系,专业,人数}选课实体及其属性选课过程E-R 图(三)成绩输入子系统成绩输入子系统所涉及到的主要实体及其属性有:(1)教师{用户名,密码}(2)学生成绩{学号,课程号,成绩}合并上述全部E-R图,得到系统总的E-R图,如下图所示:系统总的E-R图2.1.2逻辑结构设计根据以上分析,将E—R模型转换成逻辑模型,设计出本系统数据库。

根据需要,设计了15个数据表,如下所示:●课程表:该表记录了课程的相关信息,包括自动编号,课程代码,课程名称,备注,课程分类,课程类别。

●课程类别名表:该表记录了课程类别名的相关信息,包括自动编号,课程类别名,课程类别名称。

●上课教室表:该表记录了上课教室的相关信息,包括自动编号,教室代码,教室名称,备注。

●上课时间表:该表记录了上课时间的相关信息,包括自动编号,时间代码,时间名称,备注。

●院系信息表:该表记录了院系的相关信息,包括自动编号,院系所号,院系所名称。

●专业表:该表记录了专业的相关信息,包括自动编号,专业所号,专业所名称。

●菜单表:该表记录了菜单的相关信息,包括菜单编号,菜单名称,链接地址,父菜单编号,是否显示菜单,菜单描述。

●通知表:该表记录了通知的相关信息,包括自动编号,标题,院系所号,开始时间,结束时间,内容。

●角色权限表:该表记录了角色权限的相关信息,包括权限编号,角色编号,菜单编号。

●角色表:该表记录了角色的相关信息,包括自动编号,角色编号,角色名称,角色描述。

●成绩表:该表记录了学生成绩的相关信息,包括自动编号,学号,课程代码,成绩,职工号,专业所号。

●可选课程表:该表记录了学生可选课程的的相关信息,包括自动编号,课程代码,职工号,专业所号,时间代码,教室代码,院系所号,备注,人数。

●选课表:该表记录了学生选课的相关信息,包括自动编号,学号,职工号,课程代码,专业所号,备注,时间代码。

●学生信息表:该表记录了学生信息的相关信息,包括自动编号,学号,系名,院系所号,专业所号,密码,角色编号,备注,联系电话,电子邮件,QQ,家庭地址。

●教师信息表:该表记录了教师信息的相关信息,包括自动编号,职工号,系名,院系所号,角色编号,密码,备注,联系电话,电子邮件,QQ,家庭地址。

以上是在数据库中的基本表。

根据上面的逻辑结构设计,设计相应的表结构如下所示。

1.课程表(XK_DM_Course)该表记录了课程的相关信息,包括自动编号,课程代码,课程名称,备注,课程分类,课程类别,其结构如表2—1所示:2.课程类别名表(XK_DM_KKLBM)该表记录了课程类别名的相关信息,包括自动编号,课程类别名,课程类别名称,其结构如表2—2所示:3.上课教室表(XK_DM_Room)该表记录了上课教室的相关信息,包括自动编号,教室代码,教室名称,备注,其结构如表2—3所示:4.上课时间表(XK_DM_Time)该表记录了上课时间的相关信息,包括自动编号,时间代码,时间名称,备注,其结构如表2—4所示:5.院系信息表(XK_DM_YXSH)该表记录了院系的相关信息,包括自动编号,院系所号,院系所名称,其结构如表2—5所示:6.专业表(XK_DM_ZYSH)该表记录了专业的相关信息,包括自动编号,专业所号,专业所名称,其结构如表2—6所示:7.菜单表(XK_Modules)该表记录了菜单的相关信息,包括菜单编号,菜单名称,链接地址,父菜单编号,是否显示菜单,菜单描述,其结构如表2—7所示:8.通知表(XK_News)该表记录了通知的相关信息,包括自动编号,标题,院系所号,开始时间,结束时间,内容,其结构如表2—8所示:9.角色权限表(XK_RoleAuthorityList)该表记录了角色权限的相关信息,包括权限编号,角色编号,菜单编号,其结构如表2—9所示:10.角色表(XK_Roles)该表记录了角色的相关信息,包括自动编号,角色编号,角色名称,角色描述,其结构如表2—10所示:11.成绩表(XK_Score)该表记录了学生成绩的相关信息,包括自动编号,学号,课程代码,成绩,职工号,专业所号,其结构如表2—11所示:12.可选课程表(XK_SelectCourse)该表记录了学生可选课程的的相关信息,包括自动编号,课程代码,职工号,专业所号,时间代码,教室代码,院系所号,备注,人数,其结构如表2—12所示:13.选课表(XK_SelectCourseList)该表记录了学生选课的相关信息,包括自动编号,学号,职工号,课程代码,专业所号,备注,时间代码,其结构如表2—13所示:14.学生信息表(XK_StudentInfo)该表记录了学生信息的相关信息,包括自动编号,学号,系名,院系所号,专业所号,密码,角色编号,备注,联系电话,电子邮件,QQ,家庭地址,其结构如表2—14所示:15.教师信息表(XK_TeacherInfo)该表记录了教师信息的相关信息,包括自动编号,职工号,系名,院系所号,角色编号,密码,备注,联系电话,电子邮件,QQ,家庭地址,其结构如表2—15所示:表2—15 XK_TeacherInfo根据以上的分析,可以作出各表的关系图,如图所示。

相关主题