学生实验选课管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

延安大学
课程设计书
学院计算机学院
专业软件工程
班级软件10班
题目学生实验选课管理系统
教师李竹林
学生魏媛媛、仇梅梅、张佩、许娅云
一、需求分析
1.1目的和意义
实验选课系统作为教学过程中一个不可或缺的环节,实验选课系统是为了更好地管理实验选课信息而建立的。

该系统将选课信息更加规范化、系统化、程序化。

避免选课系统的随意性,提高信息处理的速度和准确性。

能够及时、准确、高效的查询或者修改实验选课信息。

局域网的开放为学生选课带来很大的便捷,学生可以在公共机房或者宿舍通过校园网进行选课,在选课期间内,学生可以灵活的修改自己的选课信息,大大提高了学校选课工作的效率。

教务处的教师可以依据选课子系统对选课信息进行合理的管理,使得学生选课工作更加系统化和自动化,提高了学校的工作效率。

为广大师生及相关工作人员节省了实间。

1.2内容和要求
本实验将设计出一个网上实验选课系统,其要求如下:
1:系统用户组成:管理员、教师、学生;
2:管理员主要功能:对教师及学生信息的增、删、改;对课程信息进行增、删、改;对选课信息进行开放或禁止,对教师成绩的录入进行开放或禁止;
3:学生登录后,可以查询选课信息、选课、成绩查询、修改密码;
4:教师登录后,可以查看选课学生和课程的基本信息、录入学生成绩、统计分数段人数;
1.3功能分析
该系统包括学生、教师、管理员三类用户,学生的功能包括课程信息查询、选课、退课及成绩的查询;教师的功能包括查看选课学生的基本信息,修改学生信息,录入学生成绩;管理员的功能有对教师学生基本信息的修改,对课程信息的修改,其系统功能模块如图1:
1.5数据流图
图1 学生选课管理系统第一层数据流图
图2 实验选课
图3 管理
图4 申请课程1.6数据流
1.7处理过程
过程一
过程二
过程三
过程四
二、E---R图
2.1概念设计
在此实验选课系统中共有5个实体:学生、教师、管理员、课程、实验室(1)学生的属性:学号、姓名、性别、年龄、密码、院系、班级、入学日期
(2)教师的属性:职工号、姓名、性别、密码、所教课程、所属院系
(3)课程的属性:课程号、课程名、任课教师、学分、学时、上课时间
(4)管理员的属性:编号、姓名、年龄、性别
(5)实验室的属性:实验室号、实验室名、实验内容
2.2 E---R图
各个实体的E—R图如下:
图5学生
图6 教师
图7 课程
图8 管理员
图9 实验室
然后,将以上实体的联系表示出来,画出数据库系统的E—R图,如图10所示:
图10 学生实验选课管理系统E—R图
三、逻辑结构设计
3.1逻辑转换
根据图10的E—R图可以将系统中的概念模型转化为具体的表(即关系)结构,共分六个关系,详细信息如下所示:
学生(学号、姓名、性别、年龄、入学日期、院系、专业、班级)
教师(教师工号、姓名、性别、年龄、所教课程、所属院系)
管理员(管理员号、姓名、性别、年龄)
课程(课程号、课程名、任课教师、学分、时间、学时)
实验室(实验室号、实验室内容)
选课信息(学号、课程号、成绩)
3.2细化表结构
为方便,根据上述文字描述,用英文简写为表和列取名,确定列的数据类型及必要的约束规则,给出如下的数据库表的基本结构和说明:
(1)学生信息表
(2)教师信息表
(3)管理员信息表
(6)选课信息表
四、数据库实施
本章节主要包括创建表、添加数据、创建必要的视图和查询4.1创建表
1)tb_student 学生信息表
CREATE TABLE tb_student (
Sno char(14) PRIMARY KEY,
Sname char(8),
Ssex char(4),
Sage int(8),
Sdate char(10),
Sdept char(20),
Sspec char(20)
Sclass varchar(20)
)
2)tb_teacher 教师信息表
CREATE TABLE tb_teacher(
Tno char(4) PRIMARY KEY,
Tname char(8),
Tage int(8),
Tsex char(4)
Tcourse char(20),
Tdepr char(20)
)
(3) tb_guanliyuan管理员信息表
CREATE TABLE tb_guanliyuan(
Gno char(4) NOT NULL PRIMARY KEY,
Gname varchar(8) NOT NULL,
Gsex char(4) NOT NULL,
Gage int(8) NOT NULL,
)
(4)tb_course课程信息表
CREATE TABLE tb_course(
Cno char(5) NOT NULL PRIMARY KEY,
Cname varchar(20) NOT NULL,
Ctno char(5) NOT NULL,
Ccredits nt(8) NOT NULL,
Ctime int(14) NOT NULL,
Ctimes int(100) NOT NULL,
)
(5)tb-lab实验室信表
CREATE TABLE tb_lab(
Lnom char(16) NOT NULL PRIMARY KEY,
Lname varchar(16) NOT NULL,
Ltype varchar(20) NOT NULL;
)
(6)tb_sc选课信息表
CREATE TABLE tb_sc(
Sno char(14) NOT NULL PRIMARY KEY,
Cno char(5) NOT NULL, PRIMARY KEY,
grade Numerize(5,2) NOT NULL,
FOREIGN KEY (Sno) REFERENCES tb_student(Sno),
FOREIGN KEY (Cno) REFERENCES tb_course(Cno);

4.2创建必要的视图
建立学生成绩视图vi---grade,从学生,教师,选课信息表中选择成绩不为空的记录,其关键代码如下:
CREATE VIEW vi---grade
AS
SELECT Sno,Sname,Cno,grade,Ccredit
FROM tb_sc,tb_course,tb_student
WHERE tb_sc.Sno= tb_student.Sno AND
tb_o= tb_o AND
grade is not null
五、总结
经过整个学期对数据库原理的学习,我们对数据库的使用更加顺手,尤其是近两周数据库最后一个实验(数据库设计)给我们带来挑战,从最初的需求分析一步步做下来,我们变得越来越自信,在合作的过程中我们不仅更好的对数据库系统设计有了更好的认识,而且在合作的过程中也提升了自己的团队合作精神。

在此过程中,我们也意识到了自己知识与能力的不足,在今后的道路中,我们会充实自己,多加锻炼与实践,提升自己更方面的能力。

相关文档
最新文档