学生选课管理系统的开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第八章项目实训-学生选课管理系统的开
发
8.1 需求分析
8.1.1 选课工作流程分析
新的学年,系统管理人员首先对学生进行基本的信息录入,然后安排老师和所开的课程,系统默认生成的学生和教师登陆系统密码为888888。学生登陆系统后自身实际情况,查看教师信息,查看课程信息,选择课程。每举行一次考试后由任课老师对成绩录入,任课老师根据实际情况对录入的成绩进行维护,各位同学对以上录入的信息可以根据自己的需要进行适当的查询。
8.1.2 系统具体需求分析
系统的具体需求如下:
●系统管理员学校全体学生的信息管理,对教师和课程信息进行录入和必要的维护。
●教师查看选课学生和成绩录入等。
●学生查询课程、选课、退课和成绩查询等。
8.1.3 系统设计分析
本系统的功能主要分为如下几类
●课程管理用于对各学期课程的开设和修改
●教师信息管理添加、修改和删除教师信息等。
●学生信息管理添加、修改和删除学生信息等。
●成绩管理用于对成绩的输入、修改。
●选课管理用于学生对课程的查询和选课、退课等。
8.2 用户角色及功能结构
本系统用户角色主要有三类:系统管理员、老师和学生。
●系统管理员可进行老师信息管理、学生信息管理和课程信息管理等工作,如图8-1
所示。
●教师可以进行学生信息查询、选课查询和成绩录入等工作,如图8-2所示。
●学生可以进行选课信息查询、选课、退课和成绩查询等工作,如图8-3所示。
管理员模块
课程信息管理
管理员登录
教师信息管理学生信息管理修改密码
图8-1 管理员能图
教师模块
查看成绩信息
教师登录
查看选课学生查看所有课程修改密码
图8-2 教师功能图
学生模块
查看成绩信息
学生登录
查看选课信息
学生选课
修改密码
图8-3 学生功能图
8.3 系统功能模块设计
本系统从功能上可以分为三大模块:学生模块、教师模块和系统管理员模块。以下对各模块进行说明。
● 学生模块:学生登录、查看选课信息、选课、查看成绩和修改密码等。 ● 教师模块:教师登录、查询选课学生、成绩管理和修改密码等。
● 系统管理员模块:管理员登录、教师信息管理、学生信息管理、课程信息管理和修
改密码。系统模块图如图8-4所示。
教师子系统查看成绩信息
教师登录
查看选课学生查看所有课程修改密码
管理员子系统
课程信息管理
管理员登录
教师信息管理学生信息管理修改密码
学生子系统查看成绩信息
学生登录
查看选课信息
学生选课
修改密码选课系统
图 8-4 系统模块图
8.4 数据库设计
8.4.1数据库概念设计
通过对学生选课进行的需求分析、网站流程设计以及系统功能结构的确定,规划出系统中使用的数据实体对象分别为“管理员”、“学生”、“教师”、和“课程”四个实体,核心的实体E-R图在第六章已经给出。
8.4.2 数据库表的逻辑结构设计
本系统定义的数据库中包含以下5张个表,下面介绍这些表的结构。
●t bAdmin (管理员信息表)
表tbAdmin用于保存管理员的基本信息,如表8.1所示。
表8.1 管理员信息表
序号字段描述类型和长度是否为空说明
1 aname 用户名varchar(20)否主键
2 apwd 密码varchar(50) 否MD5加密
表tbStudent用来保存学生信息如表8.2所示
表8.2 学生信息表
序号字段描述类型和长度是否为空说明
1 sno 学号char(10) 否主键
2 sname 学生姓名char(20) 否
3 ssex 学生性别char(2) 是
4 sclass 学生班级char(20) 是
5 sdept 学生系别char(20) 是
6 spwd 学生密码varchar(50) 否MD5加密
表tbTeacher用来保存教师信息如表8.3所示。
表8.3 教师信息表
序号字段描述类型和长度是否为空说明
1 tno 教师编号char(10) 否主键
2 tname 教师姓名char(20) 是
3 tsex 教师性别char(2) 是
4 tdept 教师系别char(20) 是
5 temail 教师邮箱char(50) 是
6 tpwd 教师密码varchar(40) 否MD5加密
表tbCourse用来保存课程信息如表8.4所示。
表8.4 课程信息表
序号字段描述类型和长度是否为空说明
1 cno 课程号char(10) 否主键
2 tno 教师编号char(20) 否外键
3 cname 课程名char(50) 是
4 ccredit 学分float 是
5 cdescribe 课程描述text 是
表tbSC用来保存学生选课信息如表8.5所示。
表8.5 选课信息表
序号字段描述类型和长度是否为空说明
1 scId Id号int 否主键(自增)
2 sno 学号char(10) 否外键
3 cno 课程号char(10) 否外键
4 grade 成绩char(10) 是
8.5 Web.Config文件配置
为了使应用程序方便移植,需要在应用程序配置文件(Web.Config文件)中设置数据库连接信息。连接数据库代码(代码位置:光盘/ElectiveSystem/web.config)如下:
connectionString="server=.;database=dbChooseCourse;uid=ChooseCourse; pwd=ChooseCourse"/> ...... 8.6 公共类的编写 开发项目中以类的形式来组织、封装一些常用的方法和事件,不仅可以提高代码的复用率,也大大方便了代码的管理。 在学生选课系统中共建了4个公共类,具体如下。 ●Alert:用于管理在项目中用到的多种页面跳转提示框,如直接跳转、提示信息并 跳转等。 ●Common:用于管理在项目中用的公共类,如MD5加密,清除脚本等。 ●DBBase:用于管理在项目中对数据库的各种操作,如连接数据库、获取数据表 DataTable等。 ●RandomImg:用于管理在项目组用到的获取随机验证码。 因为数据库操作类DBBase类在本书第七章(7.11 数据库操作类DBBase简介和使用)中已经进行了详细的介绍。下面主要介绍RandomImg类、Alert类和Common类的创建过程。1.类的创建 在创建类时,用户可以在该项目中找到App_Code文件夹,如果项目中没有App_Code 文件夹,用户可以在项目上单击鼠标右键,在弹出的菜单中选择“添加文件夹”,添加一个App_Code文件夹。新建好文件夹后点击鼠标右键,在弹出菜单中选择“添加新项”,在弹出的“添加新项”对话框中选择“类”,并将其命名,单击“添加”按钮即可创建一个新类。