1、一、系统设计可行性 1.1 网上选课系统的产生网上选课系统是针对在校学生和教师使用的,从学生的角度来说,由于教学制度的改革,现在大部分的高等院校开始实行学生自主选课模式,传统的教学模式已经不能适应新的教学模式,如果还只是通过纸上的方式选课,一方面浪费大量的人力、物力,另一方面浪费时间以及在统计过程中不可避免的会出现差错。随着高校的人数增加,暴露出来的弊端会越来越多。因此,利用网络,使学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。从教室的角度来讲,同样可以节约大量的时间和减少工作量以及减少错误的发生率。1.2 可行性分析网上选课系统的可行性分析包括以后几个方面:1.技术可行性
2、由于校园网络的普遍应用,使得网上选课非常的方便,无需再进行网络的建设。基于 B/S 模式的选课系统更加适合校园网,使得学生可以在任何有校园网的地方完成选课过程。ASP.NET、C#语言在大二的时候学过了,而且数据库 Access 运用的比较熟练,大部分做起来还算得心应手,部分不会的现在上网也比较方便,可以在网上进行查找。2.经济可行性校园网应经普及,因此网络设备上不需要大的投入。加之,B/S 模式的系统只要求客户端具备浏览器的基本功能,就能实现网上选课。因此,从经济上来说,开发网上选课系统不需要很大的投入,硬件上只需要 Web 服务器和数据库服务器即可。3.操作可行性B/S 模式的最大优势就是
3、操作方便、如同浏览网页一样。综上所述,网上选课系统在高校中是可行的。二、系统的需求分析2.1 引言2.1.1 编写的目的本文档是对该学生选课系统的一个整体把握,以便在下一步的开发设计中更好的控制开发。本文档的预期读者是:设计人员开发人员管理和测试人员最终用户2.1.2 背景由于电脑时代的到来以及 internet 的迅速发展,电脑无处不在,当然各种工作效率也大幅提高,那么对于一个学校来说,开发一个好的学生选课系统势在必行。鉴此,特开发此学生选课系统,该系统实现了选课的网络化、信息化、现代化。2.2 任务概述2.2.1 目标本项目设定的目标如下:1. 系统能够提供友好的用户界面,使操作人员的工作
4、量最大限度的减少;2. 系统具有良好的运行效率,能够得到提高管理的目的;3. 系统应有良好的可扩充性,可以容易的加入其它系统的应用;4. 平台的设计具有一定的超前性,灵活性,能够适应信息管理工作的变化;5. 通过这个项目可以锻炼队伍,提高团队的开发能力和项目管理能力。2.2.2 用户特点由于本软件的最终用户是系统管理人员(即教务处的领导) ,对本系统不是那么的了解,而且领导们比较忙,对于后期的培训可能会没有时间,基于这一点我组认为应该把界面设计的一目了给教师和学生带来方便,同时还提高了教务处的工作效率。2.3 性能需求2.3.1 可用性学生选课系统应简单易用,用户能直接通过界面即可掌握所需功能
5、的操作方法,Web 操作端至少兼容 IE 浏览器。2.3.2 可靠性学生选课系统能长时间无故障运行,在学生选课阶段能够应对相应的数据吞吐量。2.3.3 速度性当用户进行操作时,系统应该及时地进行反应,反应的时间在2 秒以内。2.3.4 界面需求系统的界面要求如下:1) 页面内容:主题突出,栏目、菜单布置合理,内容丰富,文字准确,行文格式统一规范。2) 导航结构:具有明确的导航指示,便于理解,便于用户使用。3) 艺术风格:界面、版面形象清新悦目,布局合理,字号大小适宜,字体选 择合适,动静效果好,色彩和谐,与主题相吻合。2.3.5 开发性需求系统应具有十分的灵活性,以适应将来功能扩展的需求。2.
6、3.6 可扩展性需求系统设计应体现扩展性要求,以适应将来功能扩展的需求。2.3.7 数据精确度数据精确度要达到以下指标:1.具有较强的出错提示能力,并可自动记录出错信息。2.具有操作提示功能和必要的输入校验功能,界面切换时间不超过 3 秒。3.系统进行实时模糊查询时,不影响正常业务处理。4.本系统的数据量要具有并行处理至少 1000 个用户访问的能力。2.4 需求规定2.4.1 系统的基本功能描述网上选课系统是根据大学的选修课的网上申请和管理需求而进行设计的,目的是实现选修课的网上设置、申请功能。根据大学选修课管理的基本过程,网上选课系统应具备课程设置、课程查询、学生选课、管理员管理等基本功能
7、要求,如果想设置只有自己知道的密码,还可以修改密码(原始密码是学号) 。系统的主要使用者是:学生、开课教师和系统管理员。2.4.2 系统需求分析通过对系统需求进行分析,我们可以确定系统中有三类用户:系统管理员、教师和学生。各类用户的功能用表格具体描述如下:(1)系统管理员管理员维护整个系统,设置选课时段:选课前 学生不可登录,同时发布教师的基本情况;选课时 1.限制最大选课人数,防止系统崩溃;2. 排课、发布选课信息;3. 数据备份和恢复等;选课后 1.学生只可查询,管理员对选课结果进行统计;2.管理员查询选课情况,对学生的选课申请进行处理,进行用户管理。(2)教师排课前 撰写教师反馈,对排课
8、者提出排课意见,供排课者在排课时参考使用;排课后 查询课程的基本情况、学生情况。(3)学生在选课系统中查询课程、教师信息,查看教师反馈,提交选课申请,撤销申请,查询选课情况,登录系统,进行个人信息修改等与选课有关的活动。根据上面所述,对系统进行了分析,分为三个主要的功能:登录控制、排课和选课,分别对应三个子系统,即登录子系统、排课子系统和选课子系统。其中登录子系统是前提,排课子系统是基础,选课子系统是关键。登录子系统区分排课者(即系统管理员) ,教师和学生这三者的不同身份,给出不同的权限,在页面中根据身份判断其相应具有的权限,进行不同的操作。排课子系统主要供排课者使用,其中设定选课时间段,进行
9、排课并检测排课是否冲突、教室是否冲突,发布选课信息都是选课的前提和基础。选课子系统是本系统要实现的最终目的,选课子系统主要供学生选课使用,在这里可以进行与选课有关的活动,包括课程浏览查询、选课、退选课程。根据前面的需求分析所述,可以画出学生选课系统的功能结构图,如图所示:学生选课系统登录模块 选课模块 排课模块学籍信息模块修改密码模块选定课程模块帮助信息模块查询已选课程查询可选课程删除课程模块2.4.3 数据流图1.学生选课系统的顶层流图管 理 员网 上 选 课系 统排 课 结 果学 生选 课 信 息选 课 结 果选 课 结 果选课结果排课结果教 师教师反馈教 师 反 馈2.学生信息的数据流图
10、修改处理添加处理删除处理查询处理新生报到相关事项的修改学生信息表生成生成学 生输入查询信息生成管理员毕业生离校3.学生选课信息的数据流图添加处理修改处理学生选课信息学生选课学生选课信息学生选课信息学生选课信息查询处理想反悔或选错的课程删除处理想反悔或选错的课程学生管理员4.课程信息的数据流图添加处理修改处理课程信息学生选课学生选课信息学生选课信息学生选课信息查询处理条件不允许继续的课程删除处理条件不允许继续的课程学生管理员5.教师信息的数据流图添加处理修改处理教师信息教师信息教师信息教师信息 教师信息查询处理退休的老师或跳槽的老师删除处理退休的老师或跳槽的老师教师管理员2.5 数据库设计数据库
11、在一个信息管理中占有非常重要的地位,数据库结构设计的好坏直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据库存储的效率,保证数据的完整性和一致性。2.5.1 数据库概念设计结构根据上面的设计规划出得实体有:学生信息实体,选课信息实体,课程信息实体,教室信息实体,院系信息实体。各实体的描述 E-R 图如下图:NNN教师教工号姓名性别 职称电话学生学号专业性别姓名年级地址选课课程号 课程名 学时学分教 学N电话代教课程上课时间 上课地点教工号、学号:10 个 0-9 的数字组成,并且具有唯一性,出生日期姓名:字符串类型,2-20 个字节性别:字符串类型,2 字节,只能为“
12、男”或“女”职称:字符串类型,2-50 字节年级:字符串类型,2-20 字节课程号:8 个 0-9 的数字组成,具有唯一性课程名:字符串类型,2-50 字节学时:整型上课时间:字符串类型上课地点:字符串类型,2-20 字节2.5.2 数据库逻辑结构设计数据库的概念结构设计完毕后,可以将上面的数据库概念转换成某种数据库系统多支持的实际数据结构,也就是数据结构模型。学生信息表:用于记录学生的详细信息教师信息表:用于记录教师的详细信息课程信息表:用于记录课程信息,包括上课时间等学生选课信息表:用于记录学生的选课情况管理员信息表:用于记录管理员的详细信息根据上面的逻辑结构设计,设计相应的表结构如下所示
13、:1.管理员信息表字段 说明 类型(长度) 备注name 姓名 Char(20) 不为空sex 性别 Char(10) 不为空zgh 职工号 Varchar(20) 主键,不为空lxdh 联系电话 Varchar(30) 不为空2.学生选课信息表字段 说明 类型(长度) 备注name 姓名 Char(20) 不为空xh 学号 Varchar(20) 主键,不为空nj 年级 Char(20) 不为空kch 课程号 Int 外键,不为空kcm 课程名 Char(20) 不为空rkls 任课老师 Char(20) 不为空zdrs 最大选课人数 Int 不为空3.课程信息表字段 说明 类型(长度) 备
14、注kch 课程号 Int 主键,不为空kcm 课程名 Char(20) 不为空rkls 任课老师 Char(20) 不为空xs 学时 Int 不为空vf 学分 Int 不为空skjj 上课时间 Int 不为空skdd 上课地点 Char(20) 不为空4.教师信息表字段 说明 类型(长度) 备注name 姓名 Char(20) 不为空sex 性别 Char(10) 不为空zgh 职工号 Varchar(20) 主键,不为空zc 职称 Char(20) 不为空lxdh 联系电话 Varchar(30) 不为空sskc 所授课程 Char(20) 不为空5.学生信息表字段 说明 类型(长度) 备注
15、name 姓名 Char(20) 不为空sex 性别 Char(10) 不为空xh 学号 Varchar(20) 主键,不为空nj 年级 Char(20) 不为空csrq 出生日期 Char(20) 不为空lxdh 联系电话 Varchar(30) 不为空jtzz 家庭住址 Char(50) 不为空2.5.3 数据字典根据数据流程分析,对系统数据进行分析和汇总,建立系统数据字典。下面列出部分数据字典内容:1.管理员信息表姓名:管理员信息表别名:无描述:管理学生的选课情况定义:管理员信息表=姓名+性别+职工号+联系电话位置:数据库的管理员信息表2.学生选课信息表姓名:学生选课信息表别名:无描述:记录学生的选课情况定义:学生选课信息表=姓名+学号+年级+课程号+ 课程名+ 任课老师+最大选课人数位置:数据库的学生选课信息表3.课程信息表名字:课程信息表别名:无描述:记录课程信息定义:课程信息表=课程号+课程名+任课老师+学时+ 学分+ 上课时间+上课地点位置:数据库的课程信息表4.教师信息表名字:教师信息表别名:无描述:记录教师的个人信息定义:教师信息表=姓名+性别+职工号+职称+ 联系电话+ 所授课程位置:数据库的教师信息表5.学生信息表名字:学生信息表别名:无描述:记录学生的基本信息定义:学生信息表=姓名+性别+学号+年级+ 出生日期+ 联系电话+家庭住址位置:数据库的学生信息表