1、学生选课管理系统分析报告目录一、背景介绍31、选题背景32、系统改进的必要性3二、管理功能层次分析4三、现有流程分析6(一)现有业务流程6(二)现有数据流程9四、存在的问题12(一)选课流程问题121、登录问题122、选课过程12(二)选课系统信息不完备12五、改进方案13(一)业务流程优化13(二)数据流程优化16(三)系统信息完善18(四)数据库设计191、实体关系图的概念设计192、实体关系图193、数据表文件的结构和说明21六、可行性分析241、经济可行性分析242、技术可行性分析243、组织与管理可行性分析244、操作的可行性分析25七、总结2525一、背景介绍1、选题背景教务处在正
2、常运营中必须面对大量课程、学生信息以及两者间相互联系产生的选课信息.如此繁杂的信息如果用人工的方式进行信息的采集与匹配,势必会在复杂繁多的数据中出现错误,而检查成本确是相当高昂的。同时,教务处的管理效率也不会太高。因此需要对课程资源、学生信息、选课信息、修改信息进行管理,及时了解各个环节中信息的变更,有利于管理效率的提高。这也就是学生选课系统。学生选课系统,分为三大模块:学生模块,教师模块和管理员模块.对于用户模块来说,分三个部分,首先学生用户可以通过输入账号密码在网上完成选课,查询课表并修改自己的信息;其次,教师用户在登录可以查看担任的课程,可以查看所选自己课程的学生信息。而管理员模块,则可
3、以添加、查询、修改、删除、查看所有学生和教师用户课程排布的信息,并且可以对其信息进行简单的管理。该系统用于提高教务处的工作效率,有利于学校加速其实现教务信息化的进程,方便用户之间信息的交流,简化学生选课的流程。2、系统改进的必要性鉴于选课系统能提高管理机构的管理效率,也就是教务处的管理效率,同时也简化了学生的选课程序。于教务处而言,管理和维护选课系统关系到其自身的效率,选课系统的繁杂,在一定程度上会相对的增加教务处的管理负担。而选课系统并不是万能的,在学生选课过程中也会出现一些特殊情况,如专业课选不上,这些都只能通过和教务处协调来解决。而这些问题的出现,也说明了我们现行的选课系统并不是特别完善
4、的,需要对系统进行改进,从而减少出错的可能性。对于学生而言,在实际生活但中有出现这样一种状况,有时候专业课选不上,有时候自己选课的时候明明是选了这门课,但是在期末的时候发现没有这门课。这对于学生来说也是存在很大的风险的。实际情况是有同学的体育课与必修课冲突,并列了时间,这可以视为是教务处信息出现错误.信息匹配出现问题。而对于教师来说,对于所选课程的学生的成绩录入是一个花费时间较长的工作,需要一个一个的录入。这样发生意外的情况会多一些。同样对教师的工作效率影响也挺大。一些简单的问题,出现在学生、教师以及教务处之间,这也表明我们的选课系统仍然存在问题,也需要对其进行改进,由此提高教务处的工作管理效
5、率,减少失误的发生.以至于学生、教师以及教务处之间都能够达到最优化。二、管理功能层次分析教务处:对学生、教师选课进行管理和统计,及系统状态的查看、维护,并生成选课报表,排课报表.所涉及的信息包括课程信息,教师信息以及学生信息。根据教学任务,负责编制全校课表排课表,编制学分制班级课表,学分制各年级的排课、选课各项工作.教师:确认教学及自己的开课情况,学生选课情况,以及期末登记学生成绩等。学生:根据本人的学号和密码以及验证码登陆系统,进行相关操作。可以核实自己的选课信息,查看教师教室、上课时间等课程信息以便选课,查看选课结果,个人课表等。西南财经大学教务管理系统网上选课网上报名学生全员评教个人信息
6、维护信息查询国家考试报名本专业选课英语口语体育课公选课个人信息密码修改全校课表查询学生个人课表学生考试查询成绩查询等级考试查询培养计划教材领用教室查询转专业查询学生选课情况查询学生补考查询转专业申请辅修报名返回首页公共信息教纲维护教学信息员帮助选课帮助成绩录入帮助管理功能结构层次图三、现有流程分析学生登陆系统匹配 选课信息进入本专业 选课系统点击课程号开始第一轮预选必修课不选课出现选课 信息有误教务处选修课上课时间冲突继续选课系统随机 筛选是否选上第三轮选课第二轮选课否更新选修成功是是是否否课表(一)现有业务流程第一轮选课:提示时间冲突 不能选课第二轮选课:第二轮选课 是否超过 选课人数是否上
7、课时间冲突是提示 时间冲突否选课成功更新继续选课是否学生确认信息有误必修课选修课教务处 扩容第三轮选课特殊情况产生冲突 重新选课无误教务处课表第三轮选课:第三轮选课跨专业 选课试听后 退、选课 是否超过 选课人数是产生冲突 重新选课否上课时间冲突提示 时间冲突否选课成功更新继续选课是否选课结束教务处反馈信息课表业务流程说明:第一轮:初选时每门课程无容量限制,选课的先后对结果无影响,当选课人数超过额定的容量时,系统将进行随机筛选。同学们在初选结束后,关注自己所选课程的随机筛选结果,如果被筛选出去,就需要准备进行第二轮选课。第二轮:系统将对初选报名人数超额的课程自动随机筛选,只保留计划人数。同学们
8、可以在第二轮选课阶段查看筛选情况,被筛掉的同学按照先到先选的原则,选择其他未满员的课程,选满为止。第三轮:本轮为补、改选和跨专业选课,学生可对已选课程进行退选、补选;对全校各年级、各专业开放所有容量未选满的专业限选课,学生通过跨专业选课所选的课程学分均作为自由选修课学分。(二)现有数据流程数据流程图:反馈信息任教信息第一轮选课查询信息第二轮选课查询信息第三轮选课查询信息其余专业选课信息本专业选课信息所有专业选课信息系统匹配P1学生选课管理系统处理P2教务处学生学生任课教师教务处学生顶层数据流程图二层数据流程图学生选课管理系统处理第二轮学生选课数据第一轮学生选课数据第一轮选课系统处理P2.1第二
9、轮选课系统处理P2.2第三轮选课系统处理P2.3本专业选课信息其他专业选课信息第一轮学生选课数据第一轮选课查询信息第二轮选课查询信息第三轮选课查询信息任教信息反馈信息三层数据流程图第一轮选课管理系统处理选课数据本专业选课信息学生选课信息数据库D1第一轮选课P2.1.1系统随机筛选P2.1.2学生数据第一轮选课查询信息第一轮学生选课数据三层数据流程图第二轮选课管理系统处理课程短缺信息课程增补信息第一轮选课信息学生选课信息数据库D2第二轮抢课P2.2.1教务处处理P2.2.2学生数据第二轮选课查询信息第二轮学生选课数据三层数据流程图第三轮选课管理系统处理第三轮选课查询信息选课数据学生选课变动数据其
10、他专业选课信息第二轮选课信息第一轮选课信息学生选课信息数据库D3跨专业选课P2.3.2试听后退、选课P2.3.1学生数据选课数据学生选课信息数据库D4任教信息反馈信息数据流程图说明学生选课数据流程图主要是将教务处排课、学生选课及选课信息查询等过程中所掌握的相应的数据进行处理的过程,绘制成一套完整的数据流程图。学生选课管理系统需要实现的是将所有的由教务处输入的数据转换为学生与教师所需的数据信息,并将处理后的数据信息反馈给教务处。现有的和改进后的学生选课管理系统数据流程图均主要分三个层次,分别为学生选课管理系统的顶层数据流层图,二层数据流程图,三层数据流程图.学生选课管理系统顶层数据流程图主要是反
11、映学生选课管理系统从运行环境,即教务处中取得经由系统匹配的本专业和其他专业选课信息的输入数据和为学生、教师提供选课的查询信息以及反馈给教务处的选课信息等输出数据。第二层数据流程图,需要对顶层数据流程图中“学生选课管理系统处理这一操作进行分解,以得到更详细的系统处理过程.。第三层数据流程图,是对第二层学生选课数据流程图中每一轮选课系统处理的继续分解,提供选课信息数据流向的详细信息.至此,学生选课管理系统的所有处理都基本明确,可以得到一套相对完整的分层的学生选课管理信息系统的数据流程图.四、存在的问题(一)选课流程问题1、登录问题 我校的选课分为三轮,第一轮和第三轮由于登陆时间分散的原因,不存在系
12、统繁忙登陆不上的问题。但在第二轮选课的开始,除了因上课无法及时抢课的同学,其余所有要抢课的学生几乎同时登录教务管理系统,人数太多,服务器根本无法承受,就导致了所有人都无法登录,不断的刷新,不断地被提醒系统繁忙,即便侥幸登录进去,不久就会自动退出.不仅系统崩溃,选课的同学也都很崩溃.这也是我们学校选课系统中存在的最大的问题。2、选课过程 首先,我们学校有三轮选课,在两个学期,时间战线拉的比较长。其次,选课过程中操作比较繁琐,对于教务处已经安排了老师的必修课程,我们还是要选中提交,没有任何意义。并且每一门课程需要选择是否预订教材,事实上,这跟我们实际有没有教材完全没有影响,这项设计完全是形同虚设,
13、但在选课时,必须选中是或否才能提交。这就很不合理。(二)选课系统信息不完备进入选课系统,每一门课程都有课程介绍和对应授课老师介绍的设置,但实际上课程介绍没有内容,老师介绍也都很简单,同学从中几乎得不到什么有用的信息。尤其对于选修课,从课程名称上只能了解大概的内容,但很多名称都太笼统,所包含内容非常宽泛,同学们根本无法了解具体会学习哪些方面.还有一些选修课,大多数同学从课程名称里什么也得不到,不知道这门课是讲什么的。因此,很多同学上了课之后才发现与想象当中大相径庭,有些并非兴趣所在,有些则非能力所擅长。学生在选课过程中可能会出现必修课漏选的情况,系统并没有相应的提醒,也没有每个学期应选课程学分的
14、参照比对,一些同学可能会因此没有选到课,带来很多麻烦。生成、更新课表是否否是无误有误否是登陆选课系统服务器中人数是否超过限制教务处学生确认课表进入本专业必修课确认流程匹配登陆者信息显示正在排队人数系统植入课程表反馈教务处排必修课课表点击课程号开始第一轮预选上课时间是否冲突提示时间冲突 不能选课选修成功是否继续选课第一轮选课后反馈调整第一轮选课结束系统随机筛选进入本专业选修课选修流程五、改进方案(一)业务流程优化改进后业务流程图第一轮选课管理系统第二轮选课管理系统课表开学后第二轮选课超过选课人数是提示冲突 重新选课否上课时间冲突否选课成功继续选课是否教务处跨专业选课选修课选课点击课程号开始选课试
15、听后是否退课选课结束服务器中人数是否超过限制匹配登陆者信息显示正在排队人数反馈信息是是否是否业务流程优化说明:排队系统介绍:进入选课系统之前,为确保服务器正常运转,将引入排队系统。排队系统,是根据服务器承载能力,对超额访问进行限制的系统。在访问人数超过服务器承载能力之后,发出登陆请求的用户将经过排队后才能进入服务器.此时用户不能即刻进入选课系统,用户界面将显示用户在队伍中的位置(之前还有多少人),以及预计排队时间.当已进入选课系统的用户退出以后,排队用户才可以进入系统。已进入服务器的用户如果长时间没有响应,将踢出系统.引入排队系统能在一定程度上减轻服务器压力,保证先进入系统的用户能正常使用系统
16、一切可用功能.缓解以往过多用户同时登录时系统崩溃,所有用户都无法使用系统的问题。如此能大幅度提高服务器使用效率,保证系统在访问高峰期也能正常使用。业务流程说明:第一轮选课:初选时必修课由教务处统一安排,学生登录系统确认是否有错。如果有误反映至教务处.选修课每门课程无容量限制,选课的先后对结果无影响,当选课人数超过额定的容量时,系统将进行随机筛选。系统将对初选报名人数超额的课程自动随机筛选,只保留计划人数。学生在初选结束后,查看自己所选课程的随机筛选结果,如果被筛掉,准备进行第二轮选课。在第一轮选课结束后,学生仍可复查课程表。系统也将选课结果反馈至教务处。教务处根据系统数据以及学生反映情况在假期
17、进行课程调整,增补或者缩减.第二轮选课:同样在进入选课系统之前,为确保服务器正常运转,将引入排队系统.根据服务器承载能力进行限制访问。后发出请求的用户将排队进入服务器.已进入服务器的用户如果长时间没有响应,将踢出系统。本轮在开学后进行,为跨专业选课以及选修课的抢选。本轮按照先到先选的原则,学生选择未满员的课程,选满为止.同时在试听过后,学生可对已选课程进行退选、补选。并对全校各年级、各专业开放所有容量未选满的专业限选课,学生通过跨专业选课所选的课程学分均作为自由选修课学分。按照先到先选的原则学生选择未满员的课程,选满为止。(二)数据流程优化反馈信息任教信息第一轮选课查询信息第二轮选课查询信息其
18、余专业选课信息本专业选课信息所有专业选课信息系统匹配P1学生选课管理系统处理P2教务处学生任课教师教务处学生顶层数据流程图第一轮学生选课数据第一轮选课系统处理P2.1第二轮选课系统处理P2.2本专业 选课信息第一轮选课查询信息其他专业 选课信息任教信息第一轮选课查询信息反馈信息二层数据流程图学生选课管理系统处理选课数据本专业选课信息学生选课信息数据库D1第一轮选课P2.1.1系统随机筛选选修课变动数据P2.1.2必修课 固定数据第一轮选课查询信息选修课 变动数据选课数据系统处理P2.1.3第一轮学生选课数据教务处调整P2.1.4调整、更新信息反馈信息三层数据流程图第一轮选课管理系统处理第三轮选
19、课查询信息其他专业 选课信息第一轮学生 选课数据学生选课信息数据库D2其他专业选课信息三层数据流程图第二轮选课管理系统处理任教信息反馈信息跨专业选课P2.2.4试听后退课P2.2.1学生数据本专业抢、选课P2.2.2学生选课变动数据教务处处理P2.2.3课程短缺信息课程增补信息学生选课 变动数据学生数据改进后数据流程图说明:改进后的数据流程图与现有的数据流程图的主要不同之处在于由三轮选课查询信息数据的输出改进为两轮选课查询信息数据输出。改进前后的不同在顶层数据流程图体现为减少了流向学生的第三轮选课查询信息数据的输出.第二层数据流程图的改进是将三轮选课系统处理融合、精简为两轮选课系统处理,并将第
20、三轮选课系统处理的其他专业选课信息数据的输入,选课查询信息的输出改进到第二轮选课系统处理.改进后的第三层数据流程图相较于改进前,在第一轮由学生选课信息数据库流出的学生数据进一步细化为必修课固定数据、选修课变动数据,并对系统随机筛选后的数据进行系统处理,由教务处调整后再输出相应数据;第二轮增加了本专业抢选课处理后的数据反馈给教务处处理,酌情增减课程环节。(三)系统信息完善由于系统信息不完善给同学们带来了诸多不便,因此针对这个问题,我们也提出了改进方案。1、课程介绍一定不能是形同虚设的,要介绍这门课会讲授的内容,有一个教学大纲,方便同学了解并做出选择.2、对于老师的介绍,不能只有学历和现在的职位,
21、还应该有老师擅长的领域,研究方向,科研项目等的介绍.学生需要通过老师学习的不仅仅是课堂上讲授的知识,还应该有更多的课外知识。3、选课结束后,系统自动生成如下表格,学生在选课之后进行信息核对,跟查询课程表同理。已选课程核对表课程名称本学期应选学分本学期已选学分未选学分是否选满必修课通识基础课大学科基础课专业必修课专业方向课实践环节课选修课通识核心课通识选修课自由选修课体育项目英语模块课计算机应用模块课公选课跨专业选修课(四)数据库设计1、实体关系图的概念设计在我们的数据库系统中共有6个实体:学生、教师、管理员、专业、院系、课程。(1)学生的属性:学号、姓名、性别、生日、密码(2)教师的属性:工号
22、、姓名、性别、生日、密码、职称(3)管理员的属性:工号、姓名、性别、生日、密码、权限标志(4)专业的属性:专业号码、专业名、辅导员、联系方式、专业介绍(5)院系的属性:系号码、系名称、系主任、联系方式、系介绍(6)课程的属性:课程号码、学时、学分、课程介绍(7)控制设置属性:选课控制、成绩录入控制2、实体关系图各个实体的E-R图如下所示:学生教师管理员专业系课程学号姓名性别密码工号姓名性别密码职称联系方式工号姓名性别密码联系方式专业号专业名专业介绍辅导员联系方式系号系名系介绍系主任联系方式课程号课程名学时学分课程介绍最大限选人数然后,将以上实体之间联系表示出来,画出数据库系统的ER图,如下:N
23、1M11N专业号码专业名学号辅导员联系方式专业介绍专业属于系学生教师课程管理员系号码系名系介绍系主任系联系方式性别姓名密码工号姓名性别密码属于属于选课讲授工号姓名性别密码联系方式职称课程号课程名课程介绍学时学分管理管理管理1NNN11NNN3、数据表文件的结构和说明3.1 逻辑转换根据ER图可以将系统中的概念模型转换为具体的表(即关系)结构,共分为7个关系,详细信息如下所示:学生(学号、专业号码、姓名、性别、密码)教师(教师工号、系号码、姓名、性别、密码、职称)管理员(管理员工号、姓名、性别、密码、权限标志)专业(专业号码、系号码、专业名、辅导员、联系方式、专业介绍)院系(系号码、系名称、系主
24、任、联系方式、系介绍)课程(课程号码、学时、学分、课程介绍)选课信息(学号、课程号码、教师工号、成绩)3。2数据表文件的结构和说明为方便,根据上述文字描述,用英文简写为表和列取名,确定列的数据类型及必要的约束规则,给出如下所示数据库表的基本结构及说明:(1)学生信息表(tb_student)列名说明数据类型约束StudentNum学号char(10)主码MajorNum专业号码char(10)not null,引用tb_major的外码StudentName姓名varchar(10)Not nullStudentSex性别char(2)not null,取“男或“女”StudentPasswo
25、rd密码varchar(20)not null,(2)教师信息表(tb_teacher)列名说明数据类型约束TeacherNum教师工号char(10)主码DeptNum院系号码char(10)not null,引用tb_dept的外码TeacherName姓名varchar(10)not nullTeacherSex性别char(2)not null,取“男”或“女”TeacherTitle职称varchar(20)(3)管理员信息表(tb_manager)列名说明数据类型约束ManagerNum管理员工号char(10)主码ManagerName姓名varchar(10)not nullM
26、anagerSex性别char(2)not null,取“男”或“女”(4)专业信息表(tb_major)列名说明数据类型约束MajorNum专业号码char(10)主码DeptNum系号码char(10)not null,引用tb_dept的外码MajorName专业名varchar(20)not nulMajorAssistant辅导员varchar(10)not nullMajorTel联系方式varchar(15)not null(5)院系信息表(tb_dept)列名说明数据类型约束DeptNum系号码char(10)主码DeptName系名称varchar(20)not nullDe
27、ptChairman系主任varchar(10)not nullDeptTel联系方式varchar(15)not nullDeptDesc系介绍textnot null(6)课程信息表(tb_course)列名说明数据类型约束CourseNum课程号码char(10)主码CourseName课程名varchar(20)not nullCourseCredit学分floatnot nullCourseClass学时smallintnot nullCourseDesc课程介绍textnot null(7)选课信息表(tb_choose)列名说明数据类型约束StuCourseID选课编号int主码
28、,自动递增StudentNum学号char(10)not null,引用tb_student的外码CourseNum课程号码char(10)not null,引用tb_course的外码TeacherNum教师工号char(10)not null,引用tb_student的外码Grade成绩smallint(8)控制设置表(tb_ctrl)列名说明数据类型约束IfTakeCourse选课控制char(1)not null,取“0”或“1IfInputGrade成绩录入控制char(1)not null,取“0”或“1备注:选课和成绩录入功能的开放和禁止,0为禁止,1为开放.六、可行性分析原系统
29、为正方教务管理系统的一个子系统学生选课系统,主要用于学校的学生选课管理。通过使用该系统可以加强学校对学生选课的管理,实现学校学生选课管理的自动化、系统化、高效化。提高学校的管理效率。考虑到学校投入约束、改进系统成本等问题,我们针对原系统流程复杂、高峰期难以登陆等种种问题提出的修改意见,还需经过可行性分析.1、经济可行性分析解决登录难的问题,最简单直接的方式就是购买先进的服务器.但这明显与预算要求不符合。因此我们的改进方案以流程改进为主,对现有实物资源不做变动,旨在提高资源的运用效率。同时改进系统不可避免的会造成人力成本的增加,因此我们的改进更多体现在对程序的优化,力求在最低成本限制内对系统进行
30、尽可能有效的改进.因此现今学校的系统开发的预算可以满足此次对该学生选课管理系统进行修改的投入.2、技术可行性分析本次改进只是针对流程设计的改进,技术上没有多大难度.具体难度体现在对程序结构的优化以及功能顺序调整.我们的改进引入了排队系统,不过该系统需要做的只是一个逻辑判断与信息反馈,属于难度不高的程序设计.学校现有一批从事管理信息系统开发与维护的技术人员,并且我校还有计算机科学专业。于此同时,据了解,现在为我校提供该教务系统的方正公司,也会根据用户的要求对此系统进行改进升级。因此我校有能力在现有选课系统上加以改进,从而达到优化系统的目的.3、组织与管理可行性分析管理信息系统是管理人员进行决策的
31、辅助手段,原有系统流程的复杂性加大了管理的难度,在一定程度上降低了管理效率。优化后的流程简单易操作,减轻了管理压力,组织起来也能收到更好的效果.更重要的是改进后的系统解决了高峰期难以登陆的问题,并且使信息反馈路径更为清晰.在一定程度上减少了因系统问题造成的选课问题,减轻了教务处人工操作量,提高了组织管理效率。4、操作的可行性分析该学生选课系统界面设计变得更加全面,内容增添要求比以往更高.针对以往系统中标识不明的问题进行了优化,使界面更加易懂,给予用户的信息反馈更加清楚,在关键环节的提示更为到位.优化第一轮选课时直接植入课表,同学无需再重复操作选择必修课,较少了操作步骤。同时管理员管理更加方便,
32、用户查询也很简单,丰富了学生的可使用性,也在很大程度上改进了操作的便利性。从以上四点来看,我们小组对于选课系统的改进是切实可行的,并且可以提高系统效率,解决一直困扰同学的诸多问题.使系统更加简洁、易于操作。七、总结此次作业我们运用了结构化的方法针对我校现有的管理信息系统的学生选课系统进行分析、改进与重新设计。我校现行的学生选课分三轮进行。第一轮选课,我们进行本专业可选必修和选修课程的预选.第二轮选课,选课人数超过选课容量的课程,系统将随机筛选,剩余课程最大容量的同学人数。第三轮选课,是为期一星期的跨专业选课和试听后的退、选课。我校选课系统相对比较完善,设计人性化,但仍存在第二轮选课时登录困难,
33、程序繁琐,信息不完整等有待改进的问题.针对登录困难问题,我们提出了引进排队系统的解决方案,在缓解系统登录压力的同时使同学们的选课更加公平,更加高效.我校现行选课方案分三轮进行,程序繁琐,持续时间长,效率有待提高,对此,我们将选课过程融合后精简为两轮选课。改进后,学生本专业的必修课程将由系统直接植入。改进后的第一轮选课为本专业选修课程的预选和系统随机筛选。开学后进行第二轮的跨专业和选修课选课,选修课选课包括抢选和试听后的退、选课.我校现有选课系统还存在信息不完整的问题。学生应选、已选课程的性质和学分信息等欠缺,教师信息、课程介绍等信息不完整.我们认为可通过在系统内建立一张反映学生每学期应选、已选课程的信息对照表,完善教师信息、课程介绍等来改善这一问题。我们小组在完成这次作业过程中,积极讨论,明确分工,中间也遇到一些问题,但通过及时向老师进行请教,最终使之得以解决。这次作业对我们来说是一个新的挑战.在实践过程中我们发现没有真正动手做仅仅在课堂上的理解是不够的。作业涉及的很多知识我们不熟悉,从头至尾遇到很多问题,但我们查阅了大量的资料及不断地修改之后,一份完整的报告才得以成形。通过这次作业我们深刻的体会到做学问一定要严谨,无论是业务流程图的判断还是数据流程图的分层,每一个细节都要准确无误,否则可能失之毫厘差以千里.虽然这次作业做的很辛苦,中间也遇到一些困难,但的确颇有收获。