数据库课程设计教务管理系统.doc
- 文档编号:1928301
- 上传时间:2023-05-02
- 格式:DOC
- 页数:25
- 大小:1.13MB
数据库课程设计教务管理系统.doc
《数据库课程设计教务管理系统.doc》由会员分享,可在线阅读,更多相关《数据库课程设计教务管理系统.doc(25页珍藏版)》请在冰点文库上搜索。
洛阳理工学院
课程设计报告
课程名称数据库课程设计
设计题目教务管理系统
专业计算机科学与技术
班级B120505
学号
姓名
完成日期2015-1-4
课程设计任务书
设计题目:
教务管理系统
设计内容与要求:
设计教务管理系统,类似于我校教务管理系统,有四类用户:
教务员、学生、教师、管理员教务员可以输入学生、教师、班级、课程信息。
一个班级只属于一个专业,一个学生只属于一个班级。
教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。
教师可以查看学习该课程的学生名单。
课程结束后,教师可以录入课程成绩。
一个教师可以教授多个班的多门课程,每门课由多位老师讲授。
课程分两类,必修课和选修课。
系统要记录每个学生学习各门必修课的成绩,还要记录学生选修了哪些选修课以及课程成绩。
学生可以查看自己各门课程的成绩。
学生还可以进行评教,给老师打分。
管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。
要求:
1.完成本系统的需求分析,写出功能需求和数据需求描述;
2.完成数据库的概念结构设计、逻辑结构设计、物理结构设计;
3.完成本系统的部分功能模块的程序界面设计。
指导教师:
高春玲
2014年12月28日
课程设计评语
成绩:
指导教师:
_______________
年月日
洛阳理工学院课程设计报告
目录
一、概述 2
1.1、本设计的目的与意义 2
1.2、数据库开发工具和应用程序开发工具 2
二、需求分析 2
2.1功能需求 2
2.2数据需求 2
三、概念结构设计 2
3.1、E-R模型设计 2
3.2、总体E-R图描述 4
四、逻辑结构设计 4
4.1、关系模型 4
4.2、关系模式的优化与说明 4
五、物理结构设计 5
5.1建立数据库5
5.2表与表结构5
六、应用程序设计 6
6.1、系统总体结构6
6.2、系统界面与源代码7
6.2.1、界面7
6.2.2、功能描述9
6.2.3、程序源代码9
七、设计总结 23
八、体会与收获 24
九、参考文献 24
一、概述
本系统后台数据库采用MicrosoftSQLServer数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft公司的VisualStudio2010作为主要开发工具,可与SQLServer2008数据库无缝链接。
二、需求分析
2.1、功能需求
本系统的功能如下:
1)学生信息查询:
学生可以根据学号、姓名、专业进行查询.
2)学生信息管理:
主要是用于学生信息更新、插入、删除;
3)学生成绩录入:
用于学生成绩管理,录入学生成绩,也可以更新;
2.2、数据需求
本系统需要的数据如下:
学生:
学号、姓名、性别、年龄
教师:
工号、姓名、性别、年龄
班级:
班号、班名、人数、
课程:
课程号、课程名、上课时间、上课地点
专业:
专业号、专业名
三、概念结构设计
3.1、E-R模型设计(E-R图)
学生和教师实体及其属性E-R图
教师与课程E-R图
部分实体的E-R图
总体E-R图
3.2、总体E-R图描述
学生与班级之间的联系是所属关系(一对多关系)
班级与专业之间的联系是所属关系(一对多关系)
班级与课程之间的联系是学习关系(多对多关系)
学生选修一门选修课(一对多关系)
学生评教老师所教课程(多对多关系)
老师教授课程(多对多关系)
四、逻辑结构设计
4.1、关系模型
学生(学号、姓名、性别、年龄、班号、选修课程号、分数)
教师(工号、姓名、性别、年龄)
班级(班号、班名、人数、专业名)
课程(课程号、课程名)
成绩(必修课程号、班号、学号、分数)
评教(学号、工号、课程号、评分)
教授(工号、课程号)
课程表(课程号、工号、上课时间、上课地点)(实现排课功能)
用户(用户名、密码、用户类型)(存储登陆查询系统的人员信息)
加粗表示外键、加下划线表示主码
4.2、关系模式的优化与说明
例如:
教授关系的依赖关系如下:
(工号、课程号)—〉工号、课程号
所以教授关系模式属于第三范式
教师关系的依赖关系如下:
工号—>工号、姓名、性别、年龄
因为没有非主属性对码的部分函数依赖,也没有非主属性对码的传递函数依赖
所以教师关系模式属于第三范式
五、物理结构设计
5.1、数据库的建立
5.2、表与表结构
班级(Class)表的结构
课程(Course)表的结构
学生(Student)表的结构
教师(Teacher)表的结构
评教(Judge)表的结构
教授(Teach)表的结构
成绩(Grade)表的结构
六、应用程序设计
6.1、系统总体结构
1)主界面:
登陆界面,通过选择用户类型,输入用户名密码,点击登录进入不同界面。
2)子界面:
不同用户类型的界面不相同,学生可以查询成绩,老师可以查看自己所教课程有哪些学习,教务员可以实现排课功能。
他们都能够修改自己的登录密码
6.2、系统界面与源代码
6.2.1、界面
登陆界面
学生界面
老师界面
6.2.2、功能描述
1)登录
2)学生查询学习课程的成绩
3)老师查询学习所教课程的学生名单
4)修改登录密码
5)查看用户基本信息
6.2.3、程序源代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
namespace教务管理系统
{
publicstructUserInform //结构体存储用户输入的信息
{
publicstaticstringUserType;
publicstaticstringUserName;
publicstaticstringUserSecret;
publicstaticLoginFormlg;
}
publicpartialclassLoginForm:
Form//登陆界面
{
publicLoginForm()
{
InitializeComponent();
UserInform.lg=this;
}
DataClasses1DataContextdb;
privatevoidCancelbutton_Click(objectsender,EventArgse)
{
this.Close();
}
privatevoidLoginbutton_Click(objectsender,EventArgse)
{
db=newDataClasses1DataContext();
this.bindingSource1.DataSource=db.UserInfo;
boolb=false;
if(UtypecomboBox.SelectedIndex!
=-1)
{
UserInform.UserName=UnametextBox.Text;
UserInform.UserSecret=UsecrettextBox.Text;
UserInform.UserType=UtypecomboBox.SelectedItem.ToString();
varss=fromsindb.UserInfowheres.Utype==UserInform.UserTypeselects;
foreach(varxinss)
{
if(x.Uname.ToLower()==UserInform.UserName.ToLower()&&x.Usecret==UserInform.UserSecret)
{
MessageBox.Show("欢迎您登陆!
!
!
");
this.Visible=false;
b=true;
switch(UserInform.UserType)
{
case"学生":
StudentFormsf=newStudentForm();
sf.Show();
break;
case"老师":
TeacherFormtf=newTeacherForm();
tf.Show();
break;
case"管理员":
AdminFormaf=newAdminForm();
af.Show();
break;
case"教务员":
JwFormjw=newJwForm();
jw.Show();
break;
}
}
}
if(!
b)
{
MessageBox.Show("用户名不存在或密码错误");
UsecrettextBox.Clear();
UnametextBox.Focus();
return;
}
}
else
{
MessageBox.Show("请选择用户类型");
UnametextBox.Clear();
UsecrettextBox.Clear();
UnametextBox.Focus();
return;
}
}
}
publicpartialclassStudentForm:
Form//学生界面
{
publicStudentForm()
{
InitializeComponent();
}
DataClasses1DataContextdb;
privatevoidStudentForm_Load(objectsender,EventArgse)
{
db=newDataClasses1DataContext();
SnotextBox.Text=UserInform.UserName;
SnotextBox1.Text=UserInform.UserName;
varss=fromsindb.Studentwheres.Sno==UserInform.UserNameselects;
foreach(varitminss)
{
SnametextBox.Text=itm.Sname;
SagetextBox.Text=itm.Sage.ToString();
SsextextBox.Text=itm.Ssex;
}
}
privatevoidlabel4_Click(objectsender,EventArgse)
{
this.Close();
UserInform.lg.Visible=true;
}
privatevoidlabel3_Click(objectsender,EventArgse)
{
panel2.Visible=true;
}
privatevoidEnterbutton_Click(objectsender,EventArgse)
{
db=newDataClasses1DataContext();
if(textBox1.Text=="")
{
MessageBox.Show("请输入原密码");
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox1.Focus();
}
elseif(textBox1.Text==UserInform.UserSecret)
{
if(textBox2.Text==textBox3.Text)
{
varss=fromsindb.UserInfowheres.Uname==UserInform.UserName&&s.Utype==UserInform.UserTypeselects;
varui=ss.FirstOrDefault();
if(ui!
=null)
{
ui.Usecret=textBox2.Text;
db.SubmitChanges();
MessageBox.Show("修改成功");
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
panel2.Visible=false;
}
}
else
{
MessageBox.Show("两次输入应相同");
textBox3.Clear();
textBox3.Focus();
}
}
else
{
MessageBox.Show("原密码输入错误,请重新输入");
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox1.Focus();
}
}
privatevoidCancelbutton_Click(objectsender,EventArgse)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
panel2.Visible=false;
}
privatevoidStudentForm_FormClosing(objectsender,FormClosingEventArgse)
{
db=newDataClasses1DataContext();
this.bindingSource1.DataSource=db.UserInfo;
try
{
this.bindingSource1.EndEdit();
db.SubmitChanges();
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message,"失败");
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 教务 管理 系统