还剩23页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
洛阳理工学院课程设计报告课程名称数据库课程设计设计题目教务管理系统专业计算机科学与技术班级B120505学号姓名完成日期2015-1-4课程设计任务书设计题目教务管理系统设计内容与要求设计教务管理系统,类似于我校教务管理系统,有四类用户教务员、学生、教师、___教务员可以输入学生、教师、班级、课程信息一个班级只属于一个专业,一个学生只属于一个班级教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师教师可以查看学习该课程的学生__课程结束后,教师可以录入课程成绩一个教师可以教授多个班的多门课程,每门课由多位老师讲授课程分两类,必修课和选修课系统要记录每个学生学习各门必修课的成绩,还要记录学生选修了哪些选修课以及课程成绩学生可以查看自己各门课程的成绩学生还可以进行评教,给老师打分___可以输入教室信息,并结合班级、课程、教室信息实现自动排课要求
1.完成本系统的需求分析,写出功能需求和数据需求描述;
2.完成数据库的概念结构设计、逻辑结构设计、物理结构设计;
3.完成本系统的部分功能模块的程序界面设计指导教师高春玲2014年12月28日课程设计评语成绩指导教师_______________年月日目录
1、概述
21.
1、本设计的目的与意义
21.
2、数据库__工具和应用程序__工具
22、需求分析
22.1功能需求
22.2数据需求
23、概念结构设计
23.
1、E-R模型设计
23.
2、总体E-R图描述
44、逻辑结构设计
44.
1、关系模型
44.
2、关系模式的优化与说明
45、物理结构设计
55.1建立数据库
55.2表与表结构
56、应用程序设计
66.
1、系统总体结构
66.
2、系统界面与源代码7
七、设计总结23
八、体会与收获24
九、____24
一、概述本系统后台数据库采用MicrosoftSQLServer数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Microsoft公司的VisualStudio2010作为主要__工具,可与SQLServer2008数据库无缝链接
2、需求分析
2.
1、功能需求本系统的功能如下1)学生信息查询学生可以根据学号、姓名、专业进行查询.2)学生信息管理主要是用于学生信息更新、插入、删除;3)学生成绩录入用于学生成绩管理,录入学生成绩,也可以更新;
2.
2、数据需求本系统需要的数据如下学生学号、姓名、性别、年龄教师工号、姓名、性别、年龄班级班号、班名、人数、课程课程号、课程名、上课时间、上课地点专业专业号、专业名
3、概念结构设计
3.
1、E-R模型设计(E-R图)学生学号年龄性别姓名教师工号年龄性别姓名�教师工号年龄性别姓名学生学号年龄性别姓名评教mn学生和教师实体及其属性E-R图�教师工号年龄性别姓名课程课程号上课地点上课时间课程名教授mn教师与课程E-R图�学生班级专业学号年龄性别姓名属于�属于�n11n班号人数班名专业号班级数专业名课程学习nm选修n1课程号上课地点上课时间课程名成绩成绩部分实体的E-R图�学生班级所属1n课程选修教师选修成绩1n教授mn必修nmn必修成绩1专业所属评教mn评分总体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、系统界面与源代码登陆界面学生界面老师界面1)登录2)学生查询学习课程的成绩3)老师查询学习所教课程的学生__4)修改登录__5)查看用户基本信息usingSystem;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;namespa__教务管理系统{publicstructUserInform//结构体存储用户输入的信息{publicstaticstringUserType;publicstaticstringUserName;publicstaticstringUserSecret;publicstaticLoginFormlg;}publicpartialclassLoginForm:Form//登陆界面{publicLoginForm{InitializeComponent;UserInform.lg=this;}DataClasses1DataContextdb;privatevoidCan__lbutton_Clicko__ectsenderEventArgse{this.Close;}privatevoidLoginbutton_Clicko__ectsenderEventArgse{db=newDataClasses1DataContext;boolb=false;ifUtypecomboBox.SelectedIndex!=-1{UserInform.UserName=UnametextBox.Text;UserInform.UserSecret=UsecrettextBox.Text;varss=fromsindb.UserInfowheres.Utype==UserInform.UserTypeselects;foreachvarxinss{{MessageBox.Show欢迎您登陆!!!;this.Visible=false;b=true;switchUserInform.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_Loado__ectsenderEventArgse{db=newDataClasses1DataContext;SnotextBox.Text=UserInform.UserName;SnotextBox
1.Text=UserInform.UserName;varss=fromsindb.Studentwheres.Sno==UserInform.UserNameselects;foreachvaritminss{SnametextBox.Text=itm.Sname;S___textBox.Text=itm.S___;}}privatevoidlabel4_Clicko__ectsenderEventArgse{this.Close;}privatevoidlabel3_Clicko__ectsenderEventArgse{panel
2.Visible=true;}privatevoidEnterbutton_Clicko__ectsenderEventArgse{db=newDataClasses1DataContext;iftextBox
1.Text=={MessageBox.Show请输入原__;textBox
1.Clear;textBox
2.Clear;textBox
3.Clear;textBox
1.Focus;}elseiftextBox
1.Text==UserInform.UserSecret{iftextBox
2.Text==textBox
3.Text{varss=fromsindb.UserInfowheres.Uname==UserInform.UserNames.Utype==UserInform.UserTypeselects;varui=ss.FirstOrDefault;ifui!=null{ui.Usecret=textBox
2.Text;db.SubmitChanges;MessageBox.Show修改成功;textBox
1.Clear;textBox
2.Clear;textBox
3.Clear;panel
2.Visible=false;}}else{MessageBox.Show两次输入应相同;textBox
3.Clear;textBox
3.Focus;}}else{MessageBox.Show原__输入错误,请重新输入;textBox
1.Clear;textBox
2.Clear;textBox
3.Clear;textBox
1.Focus;}}privatevoidCan__lbutton_Clicko__ectsenderEventArgse{textBox
1.Clear;textBox
2.Clear;textBox
3.Clear;panel
2.Visible=false;}privatevoidStudentForm_FormClosingo__ectsenderFormClosingEventArgse{db=newDataClasses1DataContext;try{db.SubmitChanges;}catchEx__ptionex{MessageBox.Showex.Message失败;}}privatevoidGradebutton_Clicko__ectsenderEventArgse{db=newDataClasses1DataContext;ifCnametextBox.Text!={varss=fromsindb.Coursewheres.Cname==CnametextBox.Textselects;varcs=ss.FirstOrDefault;ifcs!=null{vars1=froms2indb.Gradewheres
2.Gkehao==cs.Cnos
2.G___hao==UserInform.UserNameselects2;foreachvaritemins1{}}else{此课程不存在CnametextBox.Clear;CnametextBox.Focus;}}}privatevoidClearbutton_Clicko__ectsenderEventArgse{}privatevoidtabPage1_Clicko__ectsenderEventArgse{}}publicpartialclassTeacherForm:Form//老师界面{publicTeacherForm{InitializeComponent;}DataClasses1DataContextdb;privatevoidEnterbutton_Clicko__ectsenderEventArgse{db=newDataClasses1DataContext;iftextBox
1.Text=={MessageBox.Show请输入原__;textBox
1.Clear;textBox
2.Clear;textBox
3.Clear;textBox
1.Focus;}elseiftextBox
1.Text==UserInform.UserSecret{iftextBox
2.Text==textBox
3.Text{varss=fromsindb.UserInfowheres.Uname==UserInform.UserNames.Utype==UserInform.UserTypeselects;varui=ss.FirstOrDefault;ifui!=null{ui.Usecret=textBox
2.Text;db.SubmitChanges;MessageBox.Show修改成功;textBox
1.Clear;textBox
2.Clear;textBox
3.Clear;panel
2.Visible=false;}}else{MessageBox.Show两次输入应相同;textBox
3.Clear;textBox
3.Focus;}}else{MessageBox.Show原__输入错误,请重新输入;textBox
1.Clear;textBox
2.Clear;textBox
3.Clear;textBox
1.Focus;}}privatevoidlabel4_Click_1o__ectsenderEventArgse{this.Close;}privatevoidTeacherForm_Loado__ectsenderEventArgse{db=newDataClasses1DataContext;SnotextBox.Text=UserInform.UserName;SnotextBox
1.Text=UserInform.UserName;varss=fromsindb.Teacherwheres.Tno==UserInform.UserNameselects;foreachvaritminss{SnametextBox.Text=itm.Tname;S___textBox.Text=itm.T___;}}privatevoidTeacherForm_FormClosingo__ectsenderFormClosingEventArgse{db=newDataClasses1DataContext;try{db.SubmitChanges;}catchEx__ptionex{MessageBox.Showex.Message失败;}}privatevoidlabel3_Clicko__ectsenderEventArgse{ifpanel
2.Visible==false{panel
2.Visible=true;}else{panel
2.Visible=false;}}privatevoidCan__lbutton_Clicko__ectsenderEventArgse{textBox
1.Clear;textBox
2.Clear;textBox
3.Clear;panel
2.Visible=false;}privatevoidlabel5_Clicko__ectsenderEventArgse{db=newDataClasses1DataContext;varss=fromsindb.Teachwheres.Tno==UserInform.UserNameselects;ifss!=null{SelectTablest=newSelectTable;foreachvariteminss{{vars1=fromsindb.Studentwheres.Skehao==item.Tcnoselectnew{课号=s.Skehao学号=s.Sno学生姓名=s.Sname性别=s.S___成绩=s.Sgrade};foreachvarimins1{}}else{vars1=fromsindb.Gradewheres.Gkehao==item.Tcnoselects;foreachvaritmins1{vars2=fromsindb.Studentwheres.Sno==itm.G___haoselectnew{课号=itm.Gkehao学号=itm.G___hao学生姓名=s.Sname性别=s.S___成绩=itm.Ggrade};variem=s
2.FirstOrDefault;}}}st.Show;}else{MessageBox.Show该老师今年没有教授任何课程;return;}}privatevoidlabel6_Clicko__ectsenderEventArgse{db=newDataClasses1DataContext;varss=fromsindb.Teachwheres.Tno==UserInform.UserNameselects;ifss!=null{GradeChange__=newGradeChange;foreachvariteminss{{vars1=fromsindb.Studentwheres.Skehao==item.Tcnoselectnew{课号=s.Skehao学号=s.Sno学生姓名=s.Sname性别=s.S___成绩=s.Sgrade};foreachvarimins1{}}else{vars1=fromsindb.Gradewheres.Gkehao==item.Tcnoselects;foreachvaritmins1{vars2=fromsindb.Studentwheres.Sno==itm.G___haoselectnew{课号=itm.Gkehao学号=itm.G___hao学生姓名=s.Sname性别=s.S___成绩=itm.Ggrade};variem=s
2.FirstOrDefault;}}}__.Show;}else{MessageBox.Show该老师今年没有教授任何课程;return;}}}}
7、设计总结在本次数据库课设中,我设计的是教务管理系统,实现了不同的用户如学生,老师,___等进入不同的界面,享有不同的权限,访问不同数据由于时间短,仅实现部分功能,基本上完善了学生类和老师类的设计,可以查看成绩,修改__等功能通过课设,我体会了一个简易系统的编写过程,对这有了实际的认知,对我帮助很多
8、体会与收获通过这次课设,我实际动手操作,见证了数据库如何一步步从无到有,再一步步建设过程,对数据库有具体的认知
九、____
[1]王珊萨师煊.数据库系统概论(第4版).高等教育出版社2006。