高校选课系统.docx
《高校选课系统.docx》由会员分享,可在线阅读,更多相关《高校选课系统.docx(23页珍藏版)》请在冰豆网上搜索。
高校选课系统
1引言
当今时代是飞速发展的信息时代。
在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。
计算机的最到好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
随着在校大学生人数的不断增加,许多高校出现了许多个校区并存的局面,并且校区之间的地理位置跨度非常大,给高校选课带来了很大的不方便,数据处理手工操作,工作量大,出错率高,出错后不易更改,造成了时间上的浪费,教务系统的数据量也不断的上涨。
以往的选课方法是随堂报名。
这种方法虽然直接,但是造成选课的盲目性和教务处处理数据的繁重性。
为了减轻教务处工作,以及每个学生更好的选择自己所喜欢的科目,所以把选课变成网络化的形式是必须的。
学生选课作为一种信息资源的集散地,包含很多的信息数据的管理。
由于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统,规范的信息管理手段。
尽管有的学校有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发基本环境。
2可行性分析
2.1开发新系统的必要性
现在高校的专业、课程、人数都远远超过了以前,统计选课信息变得相当困难,所以针对这一现象,高校选课系统教好的解决了这一类问题,使选课方便网络化,课程信息统计的方便性自然而然成为了这个系统设计和实现所追求的目标。
针对学生选课这一环节,本系统从学生网上自主选课、教务处审核以及教师的课程发布三个大方面进行了设计,基本实现了学生的在线信息查询、选课功能以及教师对课程信息发布的管理等功能。
学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
2.2开发新系统的可行性
2.2.1管理上的可行性
学生选课系统是一款管理系统,教务处可以通过超级用户身份登录,对系统进行全面的管理,对新用户的添加,删除,对信息进行管理。
教务处可以对老师及同学的帐户进行管理。
老师、学生以及教务处不同身份的用户进入不同的界面,进行不同的操作。
教师可以发布自己本学期所要教的课程,以及对学生成绩进行管理。
同学可以通过查询本学期所开设课程进行选择。
具有良好的系统性能,友好的用户界面,以及良好的适用性。
2.2.2技术上的可行性
选课系统的开发对机器性能(硬件方面)的要求不高学院机房或是个人电脑的配置完全满足开发要求,程序设计语言(软件方面)已经很成熟像 C++ VC VB VF Delphi Java等都是比较成熟的编程工具数据库像SQLServer2000,DB2,Oracle 等提供的数据库桌面工具ODBC(OpenDataBaseConnectivity由微软(MICROSOFT)所发展的数据库(DATABASE)存取规格)都能够提供所需的技术,本系统客户端应用程序的开发采用Delphi7.0/8.0语言工具本系统采用C/S型开发结构。
2.2.3经济上的可行性
由于本系统是为学生选课管理使用的系统,目标系统开发需求比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限,装上该应用软件,即可使用系统。
而且,目标系统并不是十分的复杂,开发的周期较短,人员经济支出有限。
当系统开发完实际运行后,将很大程度上提高选课的效率。
系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。
所带来的经济回报将远超过支出,并且最重要的一点是该软件的开发可以给我们对系统的开发有个全面的认识。
从经济角度考虑,此信息系统开发可行。
2.2.4社会上的可行性
该高校选课信息管理系统为满足院校以及学生选课的需求产生,避免手工操作带来的繁琐,工作量大,耗时长,易出错等缺点,为广大师生提供方便,同时有利于促进信息技术的发展,有利于社会的进步,因此从社会角度来考虑,此系统开发可行。
2.3可行性结论
通过以上可行性分析,高校选课管理系统的开发在操作上、技术上、经济上、法律上都是可行的。
系统主要实现高校选课的管理,为老师和学生提供课程信息。
本系统完成学生选课、教师开课管理、教务处审核排课等功能。
3系统分析
3.1管理业务分析
3.1.1业务流程分析
在本系统中,有三类用户:
教务处,教师和学生。
三种不同的用户所具有的操作权限以及操作内容均不一样。
本选课系统中教务处的权力最大,负责向系统中添加学生和教师的个人信息以及教学楼教室信息以及对信息的审核。
教务处不参与开设课程、选择课程等,一切均由教师、学生自行完成。
但是须由教务处进行审核,然后设置一个选课时间段,在到达时间段以前,教师可以开设课程;到达时间段以后,学生可以登陆网站选择课程。
教师用户登陆网站后可以开设课程,为自己的课程编辑上课时间和地点,当系统中出现时间地点冲突的时候,系统向教师用户报告并推荐一个时间地点。
每门课程可以是必修或则选修,教师为每门课程设置一个学分,并可以在课程结束后给予分数,如果学生及格,学生将获得该课程的学分。
对于学生用户,每个学生除了必须选择必修课程外,还要选择选修课程,学生可以对自己选课信息锁定,以免不小心被修改。
当时候超过选课时段后,系统自动锁定学生的选课课程。
系统可以根据学生的选课信息,生成一份学生自己的课表。
课程结束后学生可登录网站查询成绩与学分。
系统的业务流程图如图1所示:
查询结果
课程表
教
务
处
学生
查询成绩
处理开课申请单
任课
教师
提交成绩单
查询课程安排
开课申请单
提交开课单
成绩单
不合格的申请单
选课处理
正选成功
选课单
合格的申请单
正选失败
提交选课单
课程档案
选课单
进行课程安排
成绩单
填写选课单
选课表单
任课
教师
3.1.2数据流程分析
顶层图:
管理系统高校选课
教师
学生
课表,名册
账号,密码
课表
学号,密码
密码错误
密码错误
课程信息
课程信息
计划课程安排
教务处
一层图:
学生
密码错误
学生选课系统
教务处编排课程系统
(选中)
课表
学号,密码
(无冲突)
(未选中)
计划课程安排
课程信息
课程信息
账号,密码
查上课名册
教师查询系统
教师
课表,名册
密码错误
名册
教务处
图1:
课表
课程信息
打印个人课表
学生信息
查询个人课表
登陆系统
输入个人信息
学生
个人课表
学号,密码
阅读信息
密码错误
按课程名
称排列课程
选课申请一
课程名称
专业,年级
判断是否有剩余名额
判断是否
有冲突
(有)
(无)
按教师排列课程
选课申请二
(无冲突)
教师名
(选中)
(有冲突)
选课申请
课程人数
课程安排
选课查看
教务处编
排课程系统
选课删除
(未选中)
图2:
课程安排
发布公告
填写公告
计划课程安排
输入课程
初始安排
教务处
课程信息
课程学员
课程信息
课程人数
查询不足
30人的课程
加入该课
程学生名单
计算剩余名额
选课
(无冲突)
学生选课系统
选中学生信息
(未选中)
(选中)
课程学员
课程删除
教师查询系统
点名册
课程安排
课程信息
课程信息
课程人数
图3:
打印课表
,名册
课表,名册
名册
查询课表
教师课表
查询学生资料
登陆系统
输入个人信息
教师
账号,密码
阅读公告
密码错误
教务处系统
3.2数据字典
3.2.1数据流定义
数据流编号:
D01-03
数据流名称:
名册
简述:
上课人员及课程的简单资料
数据流来源:
P3.2,P2.3
数据流去向:
教师,P3.2
数据流组成:
课程编码+课程名称+教师姓名+上课时间+上课周次+容量+人数+学生姓名+学生学号+学生班级+学生年级+学生专业+学生上课次数+学生回答问题次数+学生交作业次数
数据流量:
200份/学期
高峰流量:
300份/学期
3.2.2数据项定义
数据项编号:
I01-01
数据项名称:
课程编码
别名:
课程编码
简述:
课程的代号
类型及宽度:
整形,4位
取值范围:
“0001”-“9999”
数据项编号:
I01-02
数据项名称:
课程名称
别名:
课程名称
简述:
课程的名称
类型及宽度:
字符型,10位
取值范围:
1个汉字-10个汉字
数据项编号:
I01-03
数据项名称:
教师姓名
别名:
教师姓名
简述:
任课教师的姓名
类型及宽度:
字符型,4位
取值范围:
1个汉字-4个汉字
数据项编号:
I01-04
数据项名称:
上课时间
别名:
上课时间
简述:
课程的上课时间
类型及宽度:
时间型,5位
取值范围:
“00:
00”-“23:
59”
数据项编号:
I01-05
数据项名称:
上课周次
别名:
上课周次
简述:
课程上课是第几周到第几周
类型及宽度:
字符型,3位
取值范围:
“第01周”-“第99周”
数据项编号:
I01-06
数据项名称:
容量
别名:
容量
简述:
某个课程的容量
类型及宽度:
整型,3位
取值范围:
“000”-“999”
数据项编号:
I01-07
数据项名称:
人数
别名:
人数
简述:
某个课程的人数
类型及宽度:
整型,3位
取值范围:
“000”-“999”
数据项编号:
I01-08
数据项名称:
学生姓名
别名:
学生姓名
简述:
课程的学生姓名
类型及宽度:
字符型,4位
取值范围:
1个汉字-4个汉字
数据项编号:
I01-09
数据项名称:
学生学号
别名:
学生学号
简述:
学生的编号
类型及宽度:
整形,13位
取值范围:
“1999A00000000”-“2099S99999999”
数据项编号:
I01-10
数据项名称:
学生班级
别名:
学生班级
简述:
学生所在的班级
类型及宽度:
字符型,4位
取值范围:
1个汉字-4个汉字
数据项编号:
I01-11
数据项名称:
学生年级
别名:
学生年级
简述:
学生所在的年级
类型及宽度:
整形,3位
取值范围:
“00A”-“99S”
数据项编号:
I01-12
数据项名称:
学生专业
别名:
学生专业
简述:
学生所学习的专业
类型及宽度:
字符型,10位
取值范围:
1个汉字-10个汉字
数据项编号:
I01-13
数据项名称:
学生上课次数
别名:
学生上课次数
简述:
学生上课参加的次数
类型及宽度:
整形,2位
取值范围:
“00”-“99”
数据项编号:
I01-14
数据项名称:
学生回答问题次数
别名:
学生回答问题次数
简述:
学生上课回答问题或发表见解的次数
类型及宽度:
整形,2位
取值范围:
“00”-“99”
数据项编号:
I01-15
数据项名称:
学生交作业次数
别名:
学生交作业次数
简述:
学生课下完成作业的次数
类型及宽度:
整形,2位
取值范围:
“00”-“99”
数据项编号:
I01-01
数据项名称:
课程编码
别名:
课程编码
简述:
某个课程的代号
类型及宽度:
整形,4位
取值范围:
“0001”-“9999”
数据项编号:
I01-02
数据项名称:
课程名称
别名:
课程名称
简述:
某个课程的名称
类型及宽度:
字符型,10位
取值范围:
1个汉字-10个汉字
数据项编号:
I01-03
数据项名称:
教师姓名
别名:
教师姓名
简述:
任课教师的姓名
类型及宽度:
字符型,4位
取值范围:
1个汉字-4个汉字
数据项编号:
I01-04
数据项名称:
上课时间
别名:
上课时间
简述:
某个课程的上课时间
类型及宽度:
时间型,5位
取值范围:
“00:
00”-“23:
59”
数据项编号:
I01-05
数据项名称:
上课周次
别名:
上课周次
简述:
课程上课是第几周到第几周
类型及宽度:
字符型,3位
取值范围:
“第01周”-“第99周”
数据项编号:
I01-06
数据项名称:
上课地点
别名:
上课地点
简述:
所上课程的教室
类型及宽度:
字符型,4位
取值范围:
“一教000”-“三教999”
数据项编号:
I01-07
数据项名称:
合班标志
别名:
合班标志
简述:
所上课程主要的学生专业
类型及宽度:
字符型,20位
取值范围:
1个汉字-20个汉字
3.2.3数据存储定义
数据存储编号:
F1
数据存储名称:
课程安排
简述:
课程的安排情况
数据存储组成:
课程编码+课程名称+教师姓名+上课时间+上课周次+上课地点+合班标志
关键字:
课程编码
相关联的处理:
P2.1,P2.9,P1.8,P1.9。
4系统总体设计
4.1系统整体分析
在本系统中,有三类用户:
教务处,教师和学生。
三种不同的用户所具有的操作权限以及操作内容均不一样。
从操作功能上可以分为两个类:
一个是通用操作,主要实现用户的登录注销和修改密码等;另一种是为不同用户定制不同操作。
通用操作:
(1)登录与注销
每个用户都可以用自己的帐号登录系统。
用户操作完成后推出系统,注销后可以重新登录系统。
(2)修改密码
每个用户第一次登录都用默认密码(教师和学生与帐号一样)。
用户所具有功能:
(1)教务处管理员
设置选课时间段:
教务处管理员通过此项功能设置选课时段,只有在选课时间段里,学生才可以选择课程,超过此时间段,学生选课信息被自动所定,不得修改。
对学生与教师个人信息审核:
通过此项功能可以实现对教师和学生的个人信息的确认。
录入教学楼教室信息:
通过此项功能可以把学校里所有的教学楼教室的信息录入到系统中,以便教师在开设课程时候设置上课的教室。
编辑课程上课时间:
教师在开设了课程后,可以灵活地设置上课时间和地点。
(2)教师用户
显示和修改个人信息:
教师用户登录系统后,可以查看和修改教师的个人信息,如姓名,电话,E-mail地址等。
开设课程:
教师用户登录系统后,可以开设课程,可以设置该课程为必修课程或则选修课程,可以设置该课程的最大人数。
教师还可以为该课程设置一个前导课程,若学生没有学习或则选择前导课程则不能选择该课程。
给学生分数:
课程结束后,教师用户登录系统,可以为学过课程的学生给予相应的成绩,若及格,给予学生学分。
(3)学生用户
显示个人信息:
学生登录系统后,可以查看自己的个人信息,如姓名,性别,电话等。
查看必修课程:
学生登录后,可以查看所有的必修课程。
查看该课程的信息,上课时间地点,开课教师信息等。
选择选修课程:
学生登录系统后,在所有选修课程中可以选择至少两门选修课程。
同时可以查看相关信息。
锁定选课信息:
学生登录系统,确定了所选课程后,可以锁定自己的选课信息,以防被别人或则自己不小心修改。
查看最终选课信息:
学生登录系统后,可列出已选择的课程,若选课信息未被锁定,则可以退选,若所选课程少于两门,系统会提示选择的课程少于两门。
查看学分和成绩:
课程结束后,学生登录系统可查看自己学习课程的成绩和已获的学分。
4.2系统整体功能结构图
在前面的系统的系统功能分析中,将系统划分成13个模块,如图:
查询信息
用户登录身份验证模块验证用户名和密码,并根据不同的用户类型,跳转到对应的页面中。
设置选课时间模块提供给系统管理员修改选课时间段。
录入信息模块提供给系统管理员,用来录入学生和教师信息,以及录入教学楼教室等信息。
开设课程模块提供给教师用户,用来开设一门必修课程或则选修课程。
编辑课程时间地点模块提供给教师用户,编辑课程的上课时间地点友好的界面和操作。
评分模块用于教师用户给选修该教师开设的课程的学生评分。
查看课程模块包括查看必修课程、查看选修课程、查看已选课程、查看课程成绩单。
选课和锁定模块中实现选择选修课程和锁定选课信息的功能。
5系统详细设计
5.1数据库需求分析
用户的需求具体体现在对各种信息的提供和查询,数据库是此类系统的核心,系统中所有的信息都存储在数据库中,在所有ASP.NET页面中通过ADO.NET与数据库连接,操作数据库中的数据,从而实现所有需要的功能。
数据库软件有很多,本系统中数据库采用MicrosoftSQLServer2005作为数据库工具。
数据库是网站的核心,数据库设计的合理与否对网站的建设有着至关重要的影响。
一个良好的数据库开发过程一般是先系统分析,再逻辑设计,然后物理实现。
系统分析中分析数据库用户需求,并画出E-R图直观地表示出数据库系统的需求。
逻辑设计中根据系统分析设计的一个关系模型。
物理设计为逻辑设计中的数据模型选取一个最合理的应用环境的物理结构,通常选取一个常用数据库软件,用数据库软件创建与逻辑设计中数据模型对应的数据库。
针对学生选课系统的需求,总结如以下信息:
用户分学生用户、教师用户和管理员用户。
一个院系包括很多专业。
一个专业包括很多学生。
一个专业包括多门课程。
一门课程对应一位教师,一位教师可以教多门课程。
一个院系对应多个教师。
一个学生可选多门课程,每门课程可以由多名学生选学。
经过对上述系统功能的分析和需求总结,设计如下数据项:
教务处信息,包括用户名和密码。
教师,包括教师名教师工号、所属院系等。
学生,包括学生编号、学生姓名、所属院系、性别、所属专业等。
课程,包括课程名称、所属院系、所属专业及所属教师。
5.2数据库概念结构设计
由上述数据项,可以设计出能够满足用户需求的各种实体,以及他们之间的关系。
这些实体包含了各种具体的信息,通过相互之间的作用使整个数据库可以用一个E-R图表示。
实体之间关系的E-R图:
教务处
成绩
教师
管理
教授
课时
选课
学生
课程
实体之间关系的E-R图
教师
教务处
教师姓名
密码
用户名
所属院系
教师工号
教务处信息实体E-R图教师用户实体E-R图
所属专业
学生
性别
用户编号
课程
所属专业
课程编号
学生姓名
所属院系
所属院系
学生用户信息实体E-R图课程信息实体E-R图
5.3关系模式
教务处(用户名,密码)
教师(教师工号,教师姓名,所属院系)
学生(学生编号,姓名,性别,所属院系,所属专业)
课程(课程编号,所属院系,所属专业)
选课(学生编号,课程号,成绩)
教授(教师工号,课程编号,课时)
6总结
时光飞逝,流年似水,短短的设计即将结束,现在回头想想两周的设计,我对自己的这次设计有了更深,更新的体会。
在本次设计的全过程中,我对所学的知识有了一个比较系统的认识和理解。
涉及了各方面的知识,大大扩展了我的知识面,同时使我学会了如何使用所学的知识去解决一些实际的问题。
在设计中我深知自己掌握的知识还远远不够,掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。
把学到的知识应用到时间中去,多做多练,才可以把理论的精华发挥出来。
知识不是知道,了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。
而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在的联系。
习惯了应试教育的模式,刚开始课设的时候确实很难,不知道如何下手。
可是经过两天的查阅资料和上机实践,慢慢的开始了解了所需解决的难题和设计思路。
总体来说,我觉得开发一个系统的关键是需求分析,只有经过需求分析,才能确定系统所需实现的功能和解决的问题,才能明确设计的方向。
开发过程中的难题和关键是业务流程分析和数据流程分析,这关系到系统整体性和完整性,是系统实现各个功能和各模块之间调用的理论基础。
在界面设计工程中,需要与实际使用的环境与操作人员结合起来,是人性化设计的体现。
对于数据库的设计,应避免数据冗余和重复,但也不能缺少应有的数据存储,并且应是经过规范化设计的数据存储。
管理信息系统的开发是一个不断完善和更新的开发过程,需要在实践中不断的积累经验,初次开发的系统可能会有很多的漏洞和缺陷,所以没有选择业务处理比较复杂的项目,只是选取了其中的某个环节作为开发解决的问题。
通过这次设计,我学会了和别人配合工作,因为一个人所学的知识不可能面面俱到的,只有通过合作,发挥自己的优点,体现团队精神,才能使工作做得更为出色。
通过这次设计,我学到了许多书本上学不到的知识,增强了自己的动手能力。
即将毕业我十分珍惜这次锻炼的机会,我按部就班的完成了自己的设计任务,但由于自己的知识水平有限,仍然存在很多的不足之处,恳请老师多多指教!
当今的社会是竞争的社会,而人才的竞争则是竞争的焦点,毕业设计对于我们即将离校的同学来说,是离校前很好的一次锻炼,使我们各方面的能力都有了很大的提高,为我们踏出校门,走上社会增强了能力与自信!
计算机技术的高速发展,使我深深地认识到只有不断的加强学习,才能在计算机技术方面不至于被淘汰,而且这次课设使我对于开发一个管理信息系统有了初步的认识,并且掌握了基本的方法,也使我对于本专业有了更深的了解,也对信管专业多了一些信心。
对于开发过程中的有些无法解决的问题,我希望通过以后的学习可以予以解决。
今后,我还要加强学习,努力使自己掌握更多的知识,为祖国做出贡献。
参考文献
[1]陈禹.信息系统分析与设计.北京:
高等教育出版社,2008
[2]黄梯云.管理信息系统.北京:
高等教育出版社,2005
[3]J.L.Whitten,L.D.Bentley,肖刚,孙慧译.《系统分析与设计方法》.北京:
机械工业出版社,2007