您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 数据库课程设计--教务管理系统
洛阳理工学院课程设计报告课程名称数据库课程设计设计题目教务管理系统专业计算机科学与技术班级B120505学号姓名完成日期2015-1-4课程设计任务书设计题目:教务管理系统设计内容与要求:设计教务管理系统,类似于我校教务管理系统,有四类用户:教务员、学生、教师、管理员教务员可以输入学生、教师、班级、课程信息。一个班级只属于一个专业,一个学生只属于一个班级。教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。教师可以查看学习该课程的学生名单。课程结束后,教师可以录入课程成绩。一个教师可以教授多个班的多门课程,每门课由多位老师讲授。课程分两类,必修课和选修课。系统要记录每个学生学习各门必修课的成绩,还要记录学生选修了哪些选修课以及课程成绩。学生可以查看自己各门课程的成绩。学生还可以进行评教,给老师打分。管理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。要求:1.完成本系统的需求分析,写出功能需求和数据需求描述;2.完成数据库的概念结构设计、逻辑结构设计、物理结构设计;3.完成本系统的部分功能模块的程序界面设计。指导教师:高春玲2014年12月28日课程设计评语成绩:指导教师:_______________年月日目录一、概述21.1、本设计的目的与意义21.2、数据库开发工具和应用程序开发工具2二、需求分析22.1功能需求22.2数据需求2三、概念结构设计23.1、E-R模型设计23.2、总体E-R图描述4四、逻辑结构设计44.1、关系模型44.2、关系模式的优化与说明4五、物理结构设计55.1建立数据库55.2表与表结构5六、应用程序设计66.1、系统总体结构66.2、系统界面与源代码76.2.1、界面76.2.2、功能描述96.2.3、程序源代码9七、设计总结23八、体会与收获24九、参考文献24一、概述本系统后台数据库采用MicrosoftSQLServer数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft公司的VisualStudio2010作为主要开发工具,可与SQLServer2008数据库无缝链接。二、需求分析2.1、功能需求本系统的功能如下:1)学生信息查询:学生可以根据学号、姓名、专业进行查询.2)学生信息管理:主要是用于学生信息更新、插入、删除;3)学生成绩录入:用于学生成绩管理,录入学生成绩,也可以更新;2.2、数据需求本系统需要的数据如下:学生:学号、姓名、性别、年龄教师:工号、姓名、性别、年龄班级:班号、班名、人数、课程:课程号、课程名、上课时间、上课地点专业:专业号、专业名三、概念结构设计3.1、E-R模型设计(E-R图)学生学号年龄性别姓名教师工号年龄性别姓名教师工号年龄性别姓名学生学号年龄性别姓名评教mn学生和教师实体及其属性E-R图教师工号年龄性别姓名课程课程号上课地点上课时间课程名教授mn教师与课程E-R图学生班级专业学号年龄性别姓名属于属于n11n班号人数班名专业号班级数专业名课程学习nm选修n1课程号上课地点上课时间课程名成绩成绩部分实体的E-R图学生班级所属教师教授n必修nm必修成绩mn选修选修成绩1n课程m专业所属n11n评教评分总体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();}}priva
本文标题:数据库课程设计--教务管理系统
链接地址:https://www.777doc.com/doc-6347355 .html