数据库课程设计报告教务管理系统Word下载.docx
《数据库课程设计报告教务管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告教务管理系统Word下载.docx(33页珍藏版)》请在冰豆网上搜索。
5.2数据库完整性设计12
5.3数据库安全性设计13
6应用程序设计14
6.1系统功能模块图14
6.2系统界面15
7设计总结28
8体会与收获29
参考文献30
1概述
1.1课程设计目标
课程设计总的目标是衡量学生是否取得学习效果,培养学生具有专业网站初步的规划、设计、制作能力。
具体表现在网站内容、功能、安全等方面合理策划和规划;
培养具有主页和二级页面的创意、设计等方面的技术处理能力和具有强大的动态效果制作能力。
培养学生具有基于后台数据库的编程技术,实现客户—服务器端交互式动态网页的制作能力,掌握实际网页设计与制作开发流程和开发方法。
1.2课程设计的背景及意义
现如今高等院校的招生人数越来越多,必然就会有大量的学生信息、教师信息及课程信息需要处理。
如果只靠人力来完成,这将会变成一项非常繁琐、复杂的工作,而且还有可能出现很多意想不到的错误,给管理这些数据带来了极大的不便,越来越不适合高校的发展需要。
教务管理系统是一个庞大而复杂的系统,它包括对教师信息的管理,对课程资料的管理,对学生信息的管理和对学生成绩的管理等主要功能。
教务管理系统是每所高校的一项必不可少的内容,它的好坏直接影响到学校的主要工作,此系统一旦瘫痪,不仅会影响到学校的每一位学生,学校也会因此受到非常严重的损失。
随着我校近几年来的快速发展,办学模式多元化,在校学生规模不断扩大,为了加速对教务管理的计算机化,我校需要开发出符合我校实际的教务管理系统,为学校教学管理提供一个快速、简单规范的管理平台,同时也方便教员查询相关信息,提高信息传播速度,扩大信息共享范围。
所以,现在设计一个功能完整、操作简单以及界面友好的教务管理系统变得非常重要。
通过这个系统,管理员能够对教师信息、课程信息、学生信息和学生成绩进行查询、添加、修改和删除等操作,用户也可以对自己的基本信息进行修改,学生还可以用该系统进行网上选课和成绩查询,非常的方便。
因此,本系统开发的总体目标就是在教务管理中实现信息管理的系统化、自动化,减少工作繁琐度,增加效率、方便性。
2需求分析
2.1系统需求
通过调查,要求系统需要有以下功能:
由于操作人员的计算机知识普遍较差,要求有良好的人机界面;
由于该系统的使用对象多,要求有较好的权限管理;
原始数据修改简单方便,支持多条件修改
方便的数据查询,支持多条件查询;
在相应的权限下,删除数据方便简单,数据稳定性好;
数据计算自动完成,尽量减少人工干预;
2.2可行性分析
由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。
因此,比较适合于采用数据库管理。
且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。
在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。
本系统的设计是在WindowXP操作系统环境下,使用VS开发成功的。
在开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多、开发工具也很多。
每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,在选择开发工具时也考虑它的健壮性、可移性、安全性等问题。
2.3用户要求
2.3.1信息需求
教务管理系统涉及的实体有:
●教师——工作证号、姓名、职称、电话等;
●学生——学号、姓名、性别、出生年月等;
●班级——班号、最低总学分等;
●系——系代号、系名和系办公室电话等;
●课程——课序号、课名、学分、上课时间及名额等。
这些实体之间的联系如下:
●每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系。
●每个班的班主任都由一名教师担任。
●一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一门课其课序号是不同的(课序号是唯一的)。
●一名同学可以选多门课,一门课可被若干同学选中。
●一名同学选中的课若已学完,应该记录有相应成绩。
2.3.2处理需求
教务系统主要提供数据维护、选课和信息查询。
其中常见的查询有:
系统中各对象的基本信息查询。
查询指定班、系的学生信息(名单、人数等)。
查询学生的成绩、学分情况。
查询教师授课情况和学生选课情况……。
2.3.3安全性与完整性要求
●安全性要求:
1.系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;
2.系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;
3.系统应对不同用户设置不同的权限,区分不同的用户,如学生,教师,系统管理员。
●完整性要求:
1.各种信息记录的完整性,关键信息记录内容不能为空;
2.各种数据间相互的联系的正确性;
3.相同的数据在不同记录中的一致性。
2.4需要的信息管理模块
1、学生信息管理
该模块是教务工作人员进行对学生信息的管理,进行学生信息的添加、修改、删除
。
2、教师信息管理
教务工作人员通过此模块来管理教师信息,包括教师信息的添加、修改、删除等。
信息的添加时,需要验证教师的编号是否重复;
删除和和修改学生信息,和学生信息管理模块相同。
3、院系管理
此模块是用来管理院系的信息,包括班级院系的添加,修改,删除等。
在进行信息的添加时,需要进行班级的编号是否重复的检查,如院系编号重复则对用户进行提示,不重复则添加成功。
院系管理模块的删除和修改和学生信息管理模块相同。
4、课程信息管理
教务工作人员通过该模块来管理课程的基本信息,包括课程信息的添加,修改,删除和班级课程的设置等,具体做法同前面的模块。
5、成绩管理
教务工作人员通过该模块来进行学生成绩的管理,在进行学生成绩的添加时,可用它来为学生设置所在班级的课程表来直接输入成绩。
6、综合查询
通过该模块可以查询教务所需要的各种信息。
如学生信息查询提供了包括学生学号、姓名、所在班级、班主任名字和宿舍等信息,学生信息进行查询的各种查询条件,用户可以根据单个的查询条件或者它们的组合来进行查询。
同时,在查询的时候还提供了进行模糊查询的功能,即该模块能够利用读者输入的非完整的查询条件进行查询,这样更加方便了用户的查询管理。
综合查询模块包括了学生信息查询、教师信息查询、班级信息查询、院系信息查询、课程信息查询和成绩查询等各种功能查询。
3概念结构设计
3.1设计分析
在概念结构设计中,我采用自底向上设计概念结构的方法。
即第一步抽象数据并设计局部视图,第二步是集成局部视图,得到全局的概念结构。
3.2概念模型设计
3.2.1局部概念结构设计
(1)、系内的关系模式图
图3-1系内关系模式图
(2)、选课系统的关系模式图
图3-2选课系统的关系模式图
(3)、教师授课系统关系模型图
图3-3教师授课系统关系模型图
(4)、教师与班级的关系模型图
图3-4教师与班级的关系模型图
3.2.2全局概念结构模型(E-R图)
图3-5全局概念结构模型图
4逻辑结构设计
关系模式的设计与优化
E-R图向关系模型的转换:
1“教师”实体对应的关系模式:
教师(工作证号,姓名,工资,电话,邮箱,系代号)
代码表示为:
Teacher(Tno.Tname.Salary.Tel.Email.Dno)
其中,工作证号为其候选码,又因为教师与系别之间是n:
1的工作关系,经过与系别关系模式的合并后,系别号Dno成为教师关系模式的外码,存在的关系依赖为Tno→(Tname,Salary,Tel,Email,Dno),不存在对候选码的部分依赖与传递依赖,所以满足BCNF。
2“学生”实体对应的关系模式:
学生(学号,姓名,性别,年龄,班号,系代号)
代码表示:
Student(Sno,Sname,Ssex,Sage.Class.Dno)
其中,学号为其候选码,又因为学生与班级之间是n:
1的属于关系,经过与班级
关系模式的合并后,班号Class成为学生关系模式的外码,存在的关系依赖为Sno
→(Sname,Ssex.Sage.Class.Dno),Class→Dno,存在对候选码的传递依赖,所以满足2NF.
3系(系代号,系名,系办公室电话)
Sdept(Dno,Dname,Dphone)
系代号为候选码,存在的函数依赖为Dno→(Dname,Dphone),且不存在部分依赖与传递依赖,所以满足BCNF。
4“选修”联系对应的关系模式:
选课(学号,课序号,最后成绩,平时成绩,期中成绩,期末成绩,)
SC(Sno,Cno,Grade.Daigrade.Midbrade.Lasgrade,)
此为m:
n联系“选修”所对应的关系模式。
Sno和Cno均为外码。
存在的函数依赖为完全函数依赖(Sno,Cno)
→(Grade.Daigrade.Midbrade.Lasgrade.Fingrade),且不存在部分依赖与传递依赖,所以满足BCNF。
5“课程”实体对应的关系模式:
课程(课序号,课名,学分,名额,工作证号)
代码表示:
Course(Cno,Cname,Credit,Cnum,Tno)
其中,课号为其候选码,又由于课程与教师之间是n:
1的授课关系,所以经过关系模式的合并后,教师的工作证号被合并为课程关系模式中的外码。
存在的函数依赖为Cno→(Cname,Credit,Cnum,Tno),且不存在对候选码的部分依赖和传递依赖,所以,满足BCNF。
6“班级”实体对应的关系模式:
班级(班号,最低总学分,工作证号,系代号)
Class(Class,Ccredit,Tno.Dno)
其中,班号为其候选码,又由于班级与系别之间是n:
1的“属于”关系,经过“班级”与“系别”两个实体关系模式的合并后,系号被合并为班级对应的关系模式的外码。
而班级与教师之间是n:
1的“负责”关系,所以按照规定,教师的工作证号也被合并为班级的外码。
存在的函数依赖为Class→(Ccredit,Tno.Dno),其中Class→Tno,而Tno→Dno,即存在对候选码的传递依赖,所以只满足2NF。
5物理结构设计
5.1数据表的设计
根据实体属性图可以建立以下各表,建表的同时定义表有关的完整性约束条件。
1学生基本信息表
表5-1学生基本信息表
列名
长度
类型
NULL
DEFAULT
主键
学号
10
char()
no
Yes
姓名
20
varchar()
性别
2
所在专业
yes
所属院系
联系电话
11
2专业基本信息表
表5-2专业基本信息表
专业编号
专业名称
总学分
5
必修学分
3学生成绩表
表5-3学生成绩表
no
课程名称
学期学年
3
yes
成绩
授课教师
4院系基本信息表
表5-4院系基本信息表
院系号
院系名称
负责人
教务管理员
5教师基本信息表
表5-5教师基本信息表
教师编号
6评教基本信息表
表5-6评教基本信息表
教师姓名
课程编号
50
满意度
7课程基本信息表
表5-7课程基本信息表
任课教师
开设院系
30
8班级基本信息表
表5-8班级基本信息表
班级编号
班级人数
9网上选课基本信息表
表5-9网上选课基本信息表
课程号
开课院系
已选人数
课程类别
1
限选人数
5.2数据库完整性设计
数据库完整性是指数据库中数据的正确性和相容性。
数据完整性包括三类:
实体完整性,参照体完整性和用户定义完整性。
5.2.1数据库实体的完整性设计
本教务管理系统数据库的实体有:
学生,教师,专业,院系,教室,考试成绩,课程。
为保证实体的完整性,将以上所有实体的主属性的属性值都设置为非空。
5.2.2数据库参照完整性设计
1、学生与课程选修关系模式
学生信息(学号,姓名,性别,年龄)主键:
课程信息(课程号,课程名称,学分)主键:
选修(学号,课程号,考试成绩)主键:
学号,课程号
2、学生与班级的从属关系模式:
学生信息(学号,姓名,班级编号)主键:
班级信息(班级编号,班级名称,专业名称,院系名称)主键:
3、学生与考试成绩的考试关系模式
学生信息(学号,姓名)主键:
成绩信息(成绩号,课程编号)主键:
成绩号
4、班级与专业的从属关系模式
专业信息(专业编号,专业名称)主键:
班级信息(班级编号,班级名称,专业编号)主键:
5、专业与院系的从属关系模式
院系信息(院系编号,专业名称)主键:
专业信息(专业编号,专业名称,院系编号)主键:
6、教师与课程的授课关系模式
教师(教师编号,姓名)主键:
课程(课程编号,课程名称)主键:
授课(课程名称,教师编号,课时)主键:
课程名称,教师编号
5.2.3数据库的用户定义完整性设计
学生基本信息表:
(1)性别必须是男或女
(2)身份证号必须是18位
(3)所在专业,所属院系必须是本系统提供的
5.3数据库安全性设计
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
系统安全保护措施是否有效是数据库系统的主要指标之一。
数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。
信息系统尽管功能强大,技术先进,但由于受到自身体系结构,设计思路以及运行机制等限制,也隐含许多不安全因素。
常见因素有:
数据的输入,输出,存取与备份,源程序以及应用软件,数据库,操作系统等漏洞或缺陷,硬件,通信部分的漏洞,企业内部人员的因素,病毒,“黑客”等因素。
因此,为使本系统能够真正安全,可靠,稳定地工作,必须考虑如下问题:
为保证安全,不致使系统遭到意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏。
1)系统要能重建
2)系统应该是可审查的
3)系统应能进行有效控制,抗干扰能力强
4)系统使用者的使用权限是可识别的
6应用程序设计
6.1系统功能模块图
本系统设计的并不复杂,模块划分也比较清楚。
通过对不同的功能进行分析,就可以得到系统的模块划分:
登录管理模块,又分为管理员登录、教师登录和学生登录三个子模块;
管理员模块,包括对教师信息、课程信息、学生信息和学生成绩进行查询、添加、修改及删除等子模块;
教师模块,包括对个人信息的查询及密码的修改、课表的查询等子模块;
学生模块,包括对个人信息的查询及密码的修改、网上选课、课表的查询和个人成绩的查询等子模块
图6-1系统模块图
6.2系统界面
1系统的主界面
图6-2系统主界面
部分设计代码如下:
namespace教务管理系统
{
publicMainForm()
{
InitializeComponent();
}
protectedoverridevoidDispose(booldisposing)
if(disposing)
{
if(components!
=null)
{
components.Dispose();
}
}
base.Dispose(disposing);
privateboolcheckChildFrmExist(stringchildFrmName)
foreach(FormchildFrminthis.MdiChildren)
if(childFrm.Name==childFrmName)
if(childFrm.WindowState==FormWindowState.Minimized)
childFrm.WindowState=FormWindowState.Normal;
childFrm.Activate();
returntrue;
returnfalse;
privatevoidmenuItem2_Click(objectsender,System.EventArgse)
if(this.checkChildFrmExist("
ClassInfo"
)==true)
return;
ClassInfonewFrm=newClassInfo();
newFrm.MdiParent=this;
newFrm.Show();
privatevoidmenuItem3_Click(objectsender,System.EventArgse)
StudentInfo"
StudentInfonewFrm=newStudentInfo();
privatevoidmenuItem4_Click(objectsender,System.EventArgse)
CourseInfo"
CourseInfonewFrm=newCourseInfo();
privatevoidmenuItem6_Click(objectsender,System.EventArgse)
CourseElect"
CourseElectnewFrm=newCourseElect();
newFrm.MdiParent=t