学生选课管理系统讲解.docx

上传人:b****2 文档编号:2840373 上传时间:2023-05-04 格式:DOCX 页数:35 大小:243.40KB
下载 相关 举报
学生选课管理系统讲解.docx_第1页
第1页 / 共35页
学生选课管理系统讲解.docx_第2页
第2页 / 共35页
学生选课管理系统讲解.docx_第3页
第3页 / 共35页
学生选课管理系统讲解.docx_第4页
第4页 / 共35页
学生选课管理系统讲解.docx_第5页
第5页 / 共35页
学生选课管理系统讲解.docx_第6页
第6页 / 共35页
学生选课管理系统讲解.docx_第7页
第7页 / 共35页
学生选课管理系统讲解.docx_第8页
第8页 / 共35页
学生选课管理系统讲解.docx_第9页
第9页 / 共35页
学生选课管理系统讲解.docx_第10页
第10页 / 共35页
学生选课管理系统讲解.docx_第11页
第11页 / 共35页
学生选课管理系统讲解.docx_第12页
第12页 / 共35页
学生选课管理系统讲解.docx_第13页
第13页 / 共35页
学生选课管理系统讲解.docx_第14页
第14页 / 共35页
学生选课管理系统讲解.docx_第15页
第15页 / 共35页
学生选课管理系统讲解.docx_第16页
第16页 / 共35页
学生选课管理系统讲解.docx_第17页
第17页 / 共35页
学生选课管理系统讲解.docx_第18页
第18页 / 共35页
学生选课管理系统讲解.docx_第19页
第19页 / 共35页
学生选课管理系统讲解.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学生选课管理系统讲解.docx

《学生选课管理系统讲解.docx》由会员分享,可在线阅读,更多相关《学生选课管理系统讲解.docx(35页珍藏版)》请在冰点文库上搜索。

学生选课管理系统讲解.docx

学生选课管理系统讲解

数据库系统原理及其应用教程

课程设计报告

设计题目诜修课程管理系统的设计与实现

指导教师

摘要

随着计算机技术的日新月异,极大的推动的各个行业的信息化进程。

各大高校也急需进行信息化改革,以促进教学质量和工作效率快速提升。

本文是在对各大高校全校公开课学生选课情况进行实地调查后,进行详细分析讨论后撰写的学生选课管理系统数据库设计报告。

全文从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计。

每一阶段都进行了详细的分析。

接下来的实现、运行与维护阶段,还进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文的参考文献。

本系统主要功能是对学生选课及相关信息进行管理。

较行业同类产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方便。

数据库的安全性更高,对用户访问权限进行了严格控制。

数据存取速度更快,使用年限更长。

可以很好的满足高校公开课学生选课的要求,极大的提高了学校的工作效率。

关键字:

学生选课管理系统;分析;设计

一、概述4

1.1设计背景26

1.2设计目的28

1.3设计内容32

二、需求分析15

2.1功能分析7

2.2工作流图6

2.3数据流图7

2.4数据字典11

三、概念模型设计14

3.1实体之间的联系14

3.2E-R图15

四、逻辑设计18

4.1概念模型向关系模型的转换19

4.2概念模型的优化20

五、源代码及查询截图21

5.1数据库的存储结构21

5.2实现24

5.3人机界面设计26

5.4系统测试28

5.5运行维护32

六、总结32

参考文献33

概述

1.1设计背景可行性研究的目的是用最小的代价在尽可能的短的时间内确定数据库系统是否可能开发、是否值得开发、是否可以开发(在该报告中主要是考查《学生选课管理系统》是否可能开发、是否值得开发、是否可以开发)。

其实质是在较高层次上以较抽象方式进行的、简化的压缩的需求分析和概要设计过程。

1.2设计目的

系统实现后,极大的方便对学生进行选课和选课后临时班级的安排管理,学生选课信息的管理。

避免在安排课程信息的滞后,减少信息交流的烦琐过程及其带来的开销。

促进高校教育的计算机信息化进程,提高学校的工作效率。

对于系统的本身而言,应该具有较高的实用性、安全性。

能够极大的满足学生选课,以及学校对选课信息的管理。

1.3设计内容

调查学校教务处,设计用于管理全校学生选修课活动的系统。

主要功能有:

1全校选修计划课程管理;

2全校选修开课课程管理;

3全校学生选课管理;

4全校选修课成绩管理;能够实现课程的查询,修改与删除功能。

需求分析

2.1功能分析

主要功能:

教师和学生登陆系统的帐号和密码,初始都分别为教师和学号,登陆后密码

可以修改。

其中教师的职位可以是管理员。

管理员和非管理员的老师及学生对系统的操作具有不同的权限。

管理员登陆系统,对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。

管理员还可以对授课老师的信息进行增加、删除、修改、查询。

教师登陆系统,能查看自己的个人信息,及所授课的

班级的所有学生的本门课程的成绩信息,并能进行增加和修改。

学生登陆系统,能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,以及课程的成绩。

系统自动分配学生选课后的临时班级。

性能要求:

管理员发布的信息、学生选课的信息以及管理员和学生对系统操作的信息必须及时的反映在本系统上,且无差错。

输入要求:

具有很好的容错性和兼容性

输出要求:

应迅速、准确、实时

2.2工作流图

系统需求:

用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。

这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。

而前台显示部分,应具有人性化的界面,方便用户操作。

因各个学校的实际情况不同,系统应该具有兼容性。

例如:

一些学校学生人数较多,同时登陆系统,系统承载的负荷就很大。

系统需要同时处理很大的数据量,这时系统不会因此崩溃。

系统还应该具有较强的安全性,保证身份不同的用户,不能越权操作。

非合法用户不能对数据进行操作。

功能需求:

通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵盖了,学校的教职工、在校师生。

特别是对已经运行了与本系统同类产品的学校的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息:

(1)学生的需求:

能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩;

(2)教师的需求:

能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;

(3)管理员的需求:

对学生选课情况进行管理,包括发布选课信息,对学

生的选课情况进行查看。

管理员还可以对授课老师的信息进行管理。

2.3数据流图

系统顶层图:

根据系统主要信息的处理功能,整个系统可以看作登陆管理,用户选课管理

两个部分。

从而得出了学生选课管理系统的顶层图如下所示:

F9

学生选课管理系统顶层图

注:

F1:

用户登陆信息F2:

用户注册信息F3:

用户基本信息F4:

用户基本信息

F5:

学生选课信息清单F6:

学生选课信息F7:

登陆错误信息F8:

系统反馈用户信息F9:

用户信息清单F10:

修改密码后的用户信息

数据流程图一层分解图

(1)用户登陆管理。

用户在登陆时,系统会进行判断。

用户一共有三种类

型,分别是学生,教师和管理员。

其中,一部分教师是管理员。

在登陆的只有学生和教师两种类型,管理员的身份由系统自行判断。

在判定时需要查询用户信息库。

用户信息库,包括学生注册信息,教师注册信息,管理员信息等。

学生选课管理系统一层分解图一一登陆管理,如下图所示:

学生选课管理系统一层分解图一一登陆管理

注:

F2.1:

学生登陆信息F2.2:

教师登陆信息F2.3:

管理员登陆信息

F7.1:

用户身份信息F7.2:

修改密码的错误信息

(2)用户操作管理。

在登陆管理进行判断后,发送学生登陆信息,教师登

陆信息,管理员登陆信息的其中一种。

根据用户身份信息的不同,进入不同的管

理界面,相应的操作的功能,权限都有所不同。

如下图所示:

学生选课管理系统一层分解图一一学生管理

注:

F3.1:

原始学生信息F5.1:

学生更新后的选课信

F6.1:

学生查询的选课信息F8.1:

学生操作后返回的信息

学生选课管理系统一层分解图一一教师管理

注:

F3.2:

原始教师信息5.2:

教师更新后的选课信息

F6.2:

教师查询的选课信息F8.1:

教师操作后返回的信息

学生选课管理系统一层分解图一一管理员管理

注:

F3.3:

原始管理员信息F9.1更新后的用户信息F6.3:

管理员查询的选课信息

F8.1:

管理员操作后返回的信息F5.3:

管理员更新后的选课信息

数据流程图二层分解图

(1)学生管理。

将P2.1进行分解,学生管理包括,查看选课信息和个人信息,进行选课、重新选课。

学生选课管理系统二层分解图一一学生管理如下图所示:

学生选课管理系统二层分解图一一学生管理

学生选课管理系统二层分解图一一教师管理

注:

F3.2.1:

教师个人信息F3.2.2:

学生个人信息

F5.2.2:

增加后的学生成绩信息F5.2.3:

修改后的学生成绩信息

(3)教师管理。

将P2.3进行分解,管理员管理包括,1.管理学生信息,包括对学生信息的查询、增加,修改,删除;2.管理教师信息,包括对教师信息的查询、增加,修改,删除;3.选课信息管理,包括发布选课信息,增加,修改,删除选课课程等。

学生管理系统二层分解图一一学生管理如下图所示:

学生选课管理系统二层分解图一一管理员管理

注:

F3.3.1:

原始学生信息F3.3.2:

原始教师信息F3.3.3:

原始课程信息

F3.3.4:

原始教室信息F9.1.1:

修改后学生信息F9.1.2:

修改后的教师信息

F9.1.3:

修改后的课程信息F9.1.3:

修改后的班级信息

2.4数据字典

数据流条目

用户登陆信息数据流条目

编号

F1

数据流名称

用户登陆信息

来源

用户

去向

P1:

登陆管理

简述

用户在登陆时输入的账号、密码和验证码

组成

用户名+密码+身份+验证码

用户身份信息数据流条目

 

编号

F2

数据流名称

用户身份信息

来源

P1:

登陆管理

去向

P2:

用户操作管理

简述

登陆系统判断用户身份后发送的信息

组成

用户名+密码+身份+验证码

 

用户注册信息数据流条目

编号

F3

数据流名称

用户注册信息

来源

用户信息库

去向

P1:

登陆管理

简述

系统从用户信息库中查询出来的用户注册信息

组成

[学生注册信息]+[教师注册信息]+[管理员注册信息]

 

用户基本信息数据流条目

编号

F4

数据流名称

用户基本信息

来源

D1:

用户信息库

去向

P2:

用户操作管理

简述

系统从用户信息库中查询出来的用户基本信息

组成

[学生信息]+[教师信息]+[管理员信息]

 

用户基本信息数据流条目

编号

F5

数据流名称

学生选课信息清单

来源

P2:

用户操作管理

去向

D2:

选课信息库

简述

用户操作数据后存入选课信息库中的信息

组成

学号+课程号+成绩

 

用户基本信息数据流条目

编号

F6

数据流名称

学生选课信息

来源

D2选课信息库

去向

P2:

用户操作管理

简述

用户操作数据后存入选课信息库中的信息

组成

学号+课程号+成绩+[班级信息]

用户基本信息数据流条目

编号

F7

数据流名称

登陆错误信息

来源

D2选课信息库

去向

P2:

用户操作管理

简述

用户登陆时,输入的用户名,密码或验证码错误

组成

错误信息

 

用户基本信息数据流条目

编号

F8

数据流名称

系统反馈用户信息

来源

D2选课信息库

去向

P2:

用户操作管理

简述

用户进行操作后,系统反馈给用户信息

组成

查询或操作显示的信息,或错误提示信息

 

用户基本信息数据流条目

编号

F9

数据流名称

用户信息清单

来源

P2:

用户选课管理

去向

D1:

用户信息库

简述

用户操作数据后存入用户信息库中的信息

组成

[学生信息]+[教师信息]+[管理员信息]

 

用户基本信息数据流条目

编号

F10

数据流名称

修改密码后的用户信息

来源

P1:

登陆管理

去向

D1:

用户信息库

简述

用户修改密码后存入用户信息库的信息

组成

用户名+密码+身份

数据处理

登陆管理数据处理

编号

P1

名称

登陆管理

输入流

F1、F3

输出流

F2、F7、F10

简述

对登陆信息进行管理

处理

判断用户登陆时输入登陆信息是否正确

 

用户操作管理数据处理

编号

P2

名称

用户操作管理

输入流

F2、F4、F6

输出流

F5、F8

简述

用户相关操作的管理

处理

根据用户的不同,进行不同的的用户操作管理

数据存储

数据存储处理

编号

数据存储名

输入数据流

删除数据流

流量

D1

用户信息库

F9、F10

F3、F4

D2

选课信息库

F6

F5

三、概念模型设计

3.1实体之间的联系

根据需求分析,归结出合适的联系:

1、一个学生最多能够选两门课,一门课可以被多个学生选

2、一个老师最多能教一门课,一门课可以被多个老师教授,

3、教师中只有一个是管理员

4、一个学生可以属于不超过两个临时班级,一个临时班级可以有多名学生

5、一名教师可以在多个临时班级上课,一个临时班级只有一名教师教授

3.2E-R图

局部E-R图

(1)学生课程联系E-R图

学生课程联系E-R图

(2)教师课程关系E-R图

开始时间

结束时一间--

学分

课程号

身份

性别

系部

年龄

班级名

N

属于

人数

地点

密码

学号

姓名

性别

教师名

教师号

讲授

密码

年龄

课程名

教师课程关系E-R图

(3)学生临时班级联系E-R图

课程

教师

临时班级

学生

 

 

学生临时班级联系E-R图

(4)管理员教师关系实体E-R图

管理员教师关系E-R图

(5)教师班级关系实体E-R图

教师临时班级联系E-R图

 

(6)课程临时班级关系实体E-R图

课程临时班级联系E-R图

N

临时班级

全局E-R图

学生选课全局E-R图

 

四、逻辑设计

4.1概念模型向关系模型的转换

根据需求分析中的E-R图,通过对实体的属性和之间的联系的分析,我们将其由概念模型向关系模型转化,并且根据范式化理论进行优化

1:

N联系的转化的关系模式

(1)教师课程联系概念模型向关系模型的转化

教师表(教师号,教师名,性别,年龄,身份,密码,课程号)

课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)

(2)教师临时班级联系概念模型向关系模型的转化

教师表(教师号,教师名,性别,年龄,身份,密码)

临时班级表(班级号,班级名,人数,地点,教师号)

(3)课程临时班级联系概念模型向关系模型的转化

临时班级表(班级号,班级名,人数,地点,课程号)

课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)

M:

N联系的转化的关系模式

(1)学生选课联系概念模型向关系模型的转化

学生表(学号,姓名,性别,年龄,系部,密码)

课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)

选课表(学号,课程号,成绩)

(2)学生班级联系概念模型向关系模型的转化

学生表(学号,姓名,性别,年龄,系部,密码)

临时班级表(班级号,班级名,人数,地点)

学生班级关系表(学生号,班级号)

4.2概念模型的优化

确定范式级别

根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF

实施规范化处理

由于学生选课联系的关系模式、学生班级的关系模式和教师管理员联系的关系模式已经不存非平凡且非函数依赖额多值依赖,所以在这里不需要做处理。

各个关系模式的函数依赖集如下:

教师课程联系:

F={教师号-教师名,教师号一性别,教师号一年龄,

教师号—身份,教师号—密码,教师号—课程号}

班级临时班级联系:

F={班级号—班级名,班级号一人数,班级号一地点,班级号一教师号}

课程临时班级联系:

F={班级号—班级名,班级号—人数,班级号—地点,班级号—课程号}

选课联系:

F={(学号,课程号)—成绩}

学生班级联系:

F={(学生号,班级号)}

(1)教师课程联系概念模型向关系模型的优化

教师表(教师号,教师名,性别,年龄,身份,密码)

课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)

教师课程联系(教师号,课程号)

(2)教师临时班级联系概念模型向关系模型的优化

教师表(教师号,教师名,性别,年龄,身份,密码)

临时班级表(班级号,班级名,人数,地点)

教师临时班级关系(班级号,教师号)

(3)课程临时班级联系概念模型向关系模型的优化

临时班级表(班级号,班级名,人数,地点)

课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)

课程临时班级关系(班级号,课程号)

经过规范化处理后的所有关系模如下:

学生表(学号姓名,性别,年龄,系部,密码)

课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)

教师表(教师号,教师名,性别,年龄,身份,密码)临时班级表(班级号,班级名,人数,地点)

教师课程关系(教师号,课程号)

教师临时班级关系(班级号,教师号)

选课表(学号,课程号,成绩)

学生临时班级关系表(学生号,班级号)

课程临时班级关系(班级号,课程号)

五、源代码及查询截图

5.1数据库的存储结构

通过需求分析,概要设计和逻辑设计流程得到本系统的数据库结构

数据库的表设计

进一步确定上一章逻辑设计中设计好的关系模式中各个数据项的类型和长

度,将每个关系转换为数据库中的二维表格,并确定了各个表的主键和外键,得到以下表结构:

学生表

字段名称

字段含义

数据类型及长度

约束

默认值

Sno

学号

varchar(15)

主键

Sname

姓名

varchar(15)

非空

Ssex

性别

varchar

(2)

Sage

年龄

int

>0或<40

Sclass

班级

varchar(15)

Sdept

系部

varchar(20)

Spass

密码

varchar(15)

非空

 

教师表

字段名称

字段含义

数据类型及长度

约束

默认值

Tno

教师号

varchar(15)

主键

Tname

姓名

varchar(15)

非空

Tsex

性别

varchar

(2)

Tage

年龄

int

>0或<100

Tpass

密码

varchar(15)

Status

身份

varchar(10)

课程表

字段名称

字段含义

数据类型及长度

约束

默认值

Cno

课程号

varchar(15)

主键

Cname

课程名

varchar(15)

非空

Credit

学分

int

Ctime

年龄

varchar(15)

Cbegintime

班级

varchar(15)

 

临时班级表

字段名称

字段含义

数据类型及长度

约束

默认值

Csno

课程号

varchar(15)

主键

Csname

课程名

varchar(15)

非空

Address

地址

varchar(15)

Number

人数

Int

>=0或<=100

 

选课表

字段名称

字段含义

数据类型及长度

约束

默认值

Sno

课程号

varchar(15)

主键,外键

1

Cname

课程名

varchar(15)

主键,外键

Grade

成绩

Int

>=0或<=100

1

 

学生临时班级关系表

字段名称

字段含义

数据类型及长度

约束

默认值

Sno

学号

varchar(15)

主键,外键

Csno

班级号

varchar(15)

主键,外键

 

教师课程关系表

字段名称

字段含义

数据类型及长度

约束

默认值

Tno

教师号

varchar(15)

主键,外键

Cno

课程号

varchar(15)

外键

 

教师临时班级关系表

字段名称

字段含义

数据类型及长度

约束

默认值

Csno

班级号

varchar(15)

主键,外键

Tno

教师号

varchar(15)

外键

 

课程临时班级关系表

字段名称

字段含义

数据类型及长度

约束

默认值

Csno

班级号

varchar(15)

主键,外键

Cno

课程号

varchar(15)

外键

数据的存放位置的设计

根据本系统的数据库的使用情况,主数据文件信息量大且使用频繁将其存储在高速存储器(硬盘)上。

将表和表上的索引存储在不同的磁盘上以便提高查询效率,同时这样可以提高物理I/O读写效率。

数据库备份文件和日志文件等文件因为使用频率小而且数据量非常大,存放在低速存储设备上。

关系模式的存取方法

关系模式采用索引存取方法与聚簇存取方法共用。

数据库安全性

在数据库中,由于用户的身份不同,对数据库的访问权限也就不同。

管理员几乎能够对所有的用户自定义表进行操作(包括增、删、改、查)。

但根据实际情况,学生一旦选课成功,管理员是无法对其选课信息进行修改。

同样,学生与教师对数据库的访问权限就更加小了。

这样也就保证了数据库安全性。

另外一方面,数据库表中,各表之间根据实体完整性、参照完整性、域完整性设置了各种约束。

一旦一张表被非法操作,如删除,修改。

也会影响其它的表。

所以这就要求DBA定时进行备份,防止当数据丢失时,引起不可估量的损失。

5.2实现

根据概要设计和逻辑设计的结果,在计算机上建立实际的数据库结构,导入

数据进行程序调试。

数据库的实现

(1)创建数据库Student

createdatabaseStudent

on

name='学生选课管理库',

filename=学生选课管理库.mdf',

size=5,

maxsize=15,

filegrowth=2

视图的实现

(1)创建查询可供选择课程的视图

createviewcinfo

as

select

course.cname,course.ccredit,class.address,course.ctime,course.cbegintime,course.cendtime,class.number,course.cno,class.csname,class.csno

fromcourse,tc,class,cc

wherecourse.cno=tc.cnoandcourse.cno=cc.cnoandclass.csno=cc.csno

(2)创建教师信息视图

createviewtinfo

as

selectteacher.tno,teacher.tname,teacher.tsex,teacher.tage,status,course.cnamefromteacher,course,tc

whereteacher.tno=tc.tnoandtc.cno=course.cno;

(3)创建教师教师授课视图

createviewtcinfo

as

selectteacher.tno,teacher.tname,course.cno,course.cname

fro

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2