课程设计报告
课程名称: 学生选课系统的设计与实现
专业: 12级计算机科学与技术
姓名:
班级:
学号:
年月日
学生选课系统的设计与实现一、需求分析
1.设计背景
随着高校教学改革的不断深入,越来越多的高校都陆续采用了学分制。
高校大学生们可以根据自己兴趣和爱好来自由选择自己所喜爱的课程。
基于高校校园网的网上选课系统不仅克服了以往人工报送选课方式所暴露出的缺点与不足。
同时极大地提高了高校教务人员工作效率,极大地方便了高校师生。
网上学生选课系统在C/S的架构下采用了目前最流行的Internet的主流技术C#技术作为运行平台。
学生选课系统的推出,使得全校选课的维护、学生选课及查询、成绩录入、统计等工作均变得轻松高效,形成了教与学的积极互动,减轻了系统维护的成本与工作量,方便学生及老师的使用。
学生选课系统要求可以进行课程信息的录入,课程信息的浏览,可以按学分查询。
作为学生选课系统,我设计了对学生和老师的信息管理,选课系统包含的信息涉及信息多,所以这方面我额外的增加了这方面的信息管理。
2.设计目标
●系统能够提供友爱的用户界面,使操作人员的工作量最大限度地减少;
●系统具有良好的运行效率,能够达到提高效率的目的;
●系统应有良好的可扩充性,可以容易地加入其他系统的应用;
●通过这个项目可以锻炼自己,提高自己的开发能力和项目管理能力;
3..实现功能
本设计所开发的系统用户有三类:学生用户,教师用户,管理员用户。
当学校公布可以选课了,学生就应该急时登陆选课系统进行选课。
对学生来说,进行登陆选课,系统中有哪些可选的课程由管理员添加。
课程重要的信息之一就是该课程的老师。
当加入老师时,应该跟老师的信息相关联。
当老师登陆时,可以查看自己所教的课程的报名情况,以及学生对该课的评价等等信息。
学生和老师都不可能使用管理员的功能。
学生选课系统共设计4个模块,其功能介绍如下:
●登录模块:此模块实现用户的的注册和登录
●学生模块:
1)查询信息:查询学生自己信息
2)录入选课信息
●教师模块:
1)查询信息:查询教师自己信息
查询选课信息
●管理员模块:
1)学生信息管理:用于管理学生信息,实现对学生信息的增加,删除,修改等功能。
2)课程信息管理:用于管理课程信息,实现对课程信息的增加,删除,修改等功能。
3)选课系统:用于学生选课,提供学号和课程号,进行选课功能。
4)教师信息管理:用于管理教师信息,实现对教师信息的查询,以及对学生信息的增加,删除,修改等功能。
用户管理:用于对用户进行增加,删除,修改操作;
4.数据流图
(1)底层数据流图
(2)上层数据流图
二、概要设计
其功能流程图如下图所示:
三、数据库设计
1.概念结构设计
经过对数据的分析,ER图如下:
2.逻辑结构设计
ER图向关系模式的转换
①学生信息表:该表列出了所有在校学生的信息。
学生表=学号+姓名+性别+年级。
②系表:该表列出了所有在校院系信息。
系表=系编号+系名称
③院系表:该表列出了学生所在系信息。
院系表=学生学号+系名称
④课程信息表:该表对课程的内容做了详细的介绍。
课程表=课程号+课程名+学分。
⑤选课表:该表列出了学生选课情况
选课表=课程编号+学生学号
⑥教师信息表:该表列出了所有在校教师的信息。
教师表=编号+姓名+职称+教师密码
⑦教课表:该表列出了教师和课程的关系
教课表=课程号+教师号+选课人数
⑧用户表:该表列出注册用户的信息。
用户表=用户名+密码
前台展示中需要的视图设计
⑨学生信息管理视图(studentt):显示学生全部信息
学生信息管理表=学号+姓名+性别+所在系+年级
⑩教师信息管理视图(jk):显示教师全部信息
教师信息管理=教师号+教师名+职称+课程号+课程名
11 选课信息管理视图:当学生成功选课后,显示学生选课信息。
(xkgl)
选课信息表=学号+姓名+所选课程名+所选课程学分+所选课程教师名
课程表信息:显示学生选课情况
课程表信息=学号+姓名+所选课程名+所获学分
12 选课人数统计表(xkgls):计算每个课程的人数
选课人数统计视图=课程名+人数
13 教课信息视图(xksee):显示课程信息
教课信息视图=课程号+课程名+学分+教师名
3.数据库物理设计
本设计主要包括8个表,如下:
表1 学生表(student)
表2 系表(sdept)
表5 选课表(choice)
四、详细设计
1.程序运行环境
①系统实现语言采用C#语言编程,采用VS2008运行环境。
②数据管理采用Microsoft SQL Sever 2005数据库管理系统。
③系统操作平台采用微软操作系统Windows XP。
2.功能模块流程图
主流程图如下
管理员用户模块流程图
学生用户模块流程图
教师用户模块流程图
3.数据库的实施
(1)数据的载入
管理员用户局部数据(admin)
Username Userp
hly 123
wyj 123
学生信息局部数据
Sno Sname Ssex Grade Stup 51210901 韩丽媛女大三123
51210902 韩庚男大四123
教师信息局部数据
Tno Tname Zc teap
1 比尔盖茨教授12
2 郎朗博士12
课程信息局部数据
Sdeno sdept
1 计算机系
2 音乐
课程信息局部数据
Cno Cname cscore
1 音乐 2
2 操作系统 5
(2)应用程序的编码和调试:项目源代码
五、系统测试
(1)主页:用于用户登录与注册
(2)注册:如果用户没有注册,要提前注册,在选择用户类型时,会相应的弹出基本信息的填写。
例如:注册学生用户,点击单选按钮,“学生”,就会出现如下基本信息填写表
(3)管理员用户登录
(4)学生用户管理界面
(5)学生信息查询
修改
修改成功
(6)学生选课系统
选课成功
(7)查看课程表
(8)退课成功
再次查看课程表
(9)管理员用户登录成功
(10)管理员用户管理界面
(11)学生信息管理
学生信息查询
学生信息删除
新增学生信息
信息保存成功
显示新增加的学生信息
(12)教师管理界面
(13)课程管理界面
(14)用户管理界面
用户信息添加成功
显示新增加的用户信息
用户信息删除成功
显示用户删除成功界面
用户密码修改界面
返回用户管理界面显示用户密码修改成功
(15)教师用户界面登录,登录成功
(16)教师用户管理界面
(17)教师信息查询界面
(18)教师信息修改界面
修改成功界面
修改完成显示界面
(20)教师课程查询界面
按课程查询界面显示,显示并且显示选课人数
六、实习总结
通过这次课程设计,重新复习了C#语言,对windows窗体的操作,有了进一步的认识。
本次设计采用sql 2005管理数据库,通过建立基表,视图,并且对其进行新增,查询,修改,删除等操作,进一步巩固了对数据库的操作问题,复习了SQL语句。
本次设计采用C#语言,利用VS2008来设计前台界面,在对程序进行调试的过程中,本想对视图进行增删改操作,但是视图的修改影响多个基表,于是换了方法,采用对多个基表的操作。
基表的操作应该视图的显示,所以前台界面显示成功。
通过这些天的设计,从需求分析到调试程序成功,提高了我分析问题,解决问题的能力,为未来的工作打下了坚实的基础。