学生成绩管理系统(课程设计报告).pdf
洛洛 阳阳 理理 工工 学学 院院课课 程程 设设 计计 报报 告告课程名称:数据库系统概论设计题目:学生成绩管理系统专业:计算机科学与技术班级:计算机与信息工程系本科 07 班学号:B10050707姓名:刘 鹏完成日期:2013 年 01 月 04 日课课 程程 设设 计计 任任 务务 书书设计题目:学生成绩管理系统设计题目:学生成绩管理系统设计内容与要求:设计内容与要求:(1)教务员可以输入学生、教师、班级、课程信息,一个班级只属于一个专业,一个学生只属于一个班级。教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。一个教师可以教授多个班的多门课程。(2)教师可以查看学习该课程的学生名单。课程结束后,教师录入课程成绩。(3)课程分两类,必修课和选修课。学生可以选修课程,每学期几门。学生可以查看自己各门课程的成绩。学生还可以进行评教,给老师打分。(4)系统管理员输入教室信息,并结合班级、课程、教室信息实现自动排课。指导教师:姬晓辉2013 年 01 月 04 日课课 程程 设设 计计 评评 语语成绩:成绩:指导教师:_年月日目录目录一成绩管理系统的背景分析 . 1二目标需求分析2.1 教务员需求 . 22.2 教师需求 . 22.3 学生需求 . 2三概念结构设计以及逻辑结构设计 . 23.1 教务员实体 E-R 图. 33.2 学生实体 E-R 图. 33.3 教师实体 E-R 图. 43.4 课程实体 E-R 图. 43.5 成绩实体 E-R 图. 43.6 课程安排实体 E-R 图. 53.7 教室实体 E-R 图.错误错误! !未定义书签。未定义书签。3.8 总体 E-R 关系图. 5四学生成绩管理系统设计的逻辑结构设计 .错误错误! !未定义书签。未定义书签。4.1 admints 教务员表. 64.2 student 学生表. 64.3 teachers 教师表 .错误错误! !未定义书签。未定义书签。4.4 sourserange 课程安排表 . 74.5 grade 成绩表 . 104.6 course 课程表. 74.7classroom 教室表. 7五数据截图 . 95.1 admints 教务员表截图. 95.2 teachers 教师表截图 . 95.3 student 学生表截图. 105.4 course 课程表截图. 105.5 grade 成绩表截图 . 115.6 courserange 课程表截图. 125.7classroom 教师表截图. 7六 学生成绩管理系统功能的实现 . 13七 学生成绩管理系统的关键代码 . 197.1 数据库的连接程序代码 . 197.2 数据库的查询程序代码 .错误错误! !未定义书签。未定义书签。7.3 数据库的添加程序代码 .错误错误! !未定义书签。未定义书签。7.4 数据库的删除程序代码 .错误错误! !未定义书签。未定义书签。7.5 数据库的修改程序代码 . 23八课程设计总结 . 21九、体会与收获.21一学生成绩管理系统的背景分析一学生成绩管理系统的背景分析当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。管理信息系统是进行信息的采集、存储、加工、维护和使用的系统,它是随着管理科学和技术科学的发展而形成的。学生成绩管理系统是一个教育单位不可缺少的部分, 它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段,对学生来说可以轻松的查阅自己在校的成绩以及信息等。但是一直以来人们都是靠传统人工的方式管理学生成绩,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高 ,计算机科学日渐成熟 ,其强大的功能已为人们深刻认识,它进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样的一套成绩管理系统成为很有必要的事情。学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改、删除、查询、留言等操作,同时一样的方面学生对自己各科成绩查询,学习的交流。二目标需求分析二目标需求分析三三2.12.1 教务员需求教务员需求1.教务员可以对教务员进行查询、增加、删除、修改操作;2.教务员可以对全体学生进行查询、增加、删除、修改操作;3.教务员可以对全体教师进行查询、增加、删除、修改操作;4.教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课教师。2.22.2 教师需求教师需求教师可以查看学习该课程的学生名单。课程结束后,教师可以录入课程成绩以及查询学习该课程的学生的成绩。2.32.3 学生需求学生需求学生可以在自己的权限内对对自己各科成绩的查询,以及必修和选修课程的查询,还可以进行评教的相关操作。三概念结构设计以及逻辑结构设计三概念结构设计以及逻辑结构设计采用方法:概念模型 E-R 图。实体(矩形)实体(矩形)教务员、教师、学生、课程、学生成绩、课程安排、教室信息。属性(椭圆)属性(椭圆)教务员:教务员工号、教务员帐号、教务员密码。教师:教师工号、姓名、登录账号、登录密码。学生:学号、姓名、性别、班级、登录账户、登录密码、系别。课程:课程编号、课程名、类型、学分。学生成绩:学号、姓名、班级、课程号、课程名、成绩。课程安排:系别、班级、课程号、课程名、任课老师。教室信息:教室编号、使用状况。关系关系( (菱形菱形) )管理、查询。3.13.1 教务员实体教务员实体 E-RE-R 图图图 1教务员实体 E-R 图3.23.2 学生实体学生实体 E-RE-R 图图图 2学生实体 E-R 图3.33.3 教师实体教师实体 E-RE-R 图图图 3教师实体 E-R 图3.43.4 课程实体课程实体 E-RE-R 图图图 4课程实体 E-R 图3.53.5 成绩实体成绩实体 E ER R 图图图 5成绩实体 E-R 图3.63.6 课程安排实体课程安排实体 E ER R 图图图 6课程安排实体 E-R 图3.73.7 教室信息实体教室信息实体 E ER R 图图图 7教室信息实体 E-R 图3.83.8 总体总体 E-RE-R 关系图关系图图 8学生成绩查询系统总 E-R 图四学生成绩管理系统设计的物理结构设计四学生成绩管理系统设计的物理结构设计4.14.1adminsadmins 教务员表教务员表表中列名IdUsernamePassword数据类型charcharchar可否为空not null(主键)not nullnot null说明教务员工号教务员账号教务员密码4.24.2studentstudent 学生表学生表表中列名xhxm数据类型NvarcharNvarchar可否为空not null(主键)not null说明学生学号学生姓名xbbjusernamepasswordsdeptNvarcharnvarcharnvarcharnvarcharcharnot nullnot nullnot nullnot nullnot null学生性别学生班级登录账号登录密码学生系别4.34.3teachersteachers 教师表教师表表中列名idxmxbusernamepasswordtelephone数据类型charcharcharcharcharchar可否为空not null(主键)not nullnot nullnot nullnot nullInt说明教师工号教师姓名教师性别登录账号登录密码联系方式4.44.4courserangecourserange 课程安排表课程安排表表中列名sdeptbjkchkcm数据类型charcharcharchar可否为空not nullnot nullnot nullnot null说明系别班级名课程号课程名tchcharnot null任课教师4.54.5gradegrade 成绩表成绩表表中列名xh数据类型charcharcharcharcharchar可否为空not null(主键)not nullnot nullnot null(主键)not nullnot null说明学生学号学生姓名学生班级课程号课程名成绩 xmbjkchkcmgd4.6 course4.6 course 课程表课程表表中列名kch数据类型charcharcharchar可否为空not null(主键)not nullnot nullnot null说明课程号课程名课程类型学分 kcmlxxf4.7 classroom4.7 classroom 教室表教室表表中列名id数据类型char可否为空not null(主键)说明教室编号 avicharnot null使用状况五数据截图五数据截图5.15.1adminsadmins 教务员表截图:教务员表截图:5.25.2teachersteachers 教师表截图:教师表截图:5.3 student5.3 student 学生表截图:学生表截图:5.45.4coursecourse 课程表截图:课程表截图:5.55.5gradegrade 成绩表截图成绩表截图5.65.6courserangecourserange 课程安排表截图课程安排表截图5.75.7classroomclassroom 教室表截图教室表截图5.65.6 表间关系图表间关系图表间关系截图表间关系截图表间关系图表间关系图adminPKPKididusernameusernamepasswordpasswordkcbPKPKkckcidnjnjxqxqlx lxxfxfuserPKPKxhxhmmmmxmxmbjbjxbxbbbsPKPKPKPKkckcxhxhcjxmxqbjlxpassbjPKPKbjbjzxhzxh六六 学生成绩管理系统功能的实现学生成绩管理系统功能的实现功能实现简介:功能实现简介:使用使用 c/sc/s 结构,来实现目标需求。结构,来实现目标需求。6.16.1学生成绩管理系统主登陆界面学生成绩管理系统主登陆界面通过登录账号,登录密码进行登陆自己的系统,进行相关的操作操作步骤:a、选中与自己相对应的用户种类 b、输入账号、密码,然后登录。6.26.2学生登陆:学生登陆:(1 1)学生用户操作界面:)学生用户操作界面:操作步骤:a、选择“课程查询”后的下拉按钮可以查看必修和选修课程的相关信息。 b、在“成绩查询”中,输入相对应的学号,可以查询成绩。 c、选中“开始评教”按钮,可以开始对相对应的教师进行评教。(2 2)举例说明:)举例说明: A、 “B001赵云阳”登录查看自己的成绩:B、评教窗口显示:6.36.3教务员登陆教务员登陆:(1 1)教务员管理界面:)教务员管理界面:操作步骤:a、在“查询信息”中,选中相应得按钮可以显示相对应的全体教务员、教师、学生的信息。 b、在dataGridView1控件中直接进行需要的修改操纵,然后选中修改保存按钮即可对数据库做了相应的修改操作。 c、在“删除信息”中,输入要删除的用户的类别以及id,然后选中删除按钮即可对数据库做了相应的删除操作。(2 2)举例说明:)举例说明: A、1、查询全体学生的信息:B、添加学生“ S1001 ,阿信,男,S1, S1001 , 000 ,师范部” :C、删除学号为S1001的学生: 6.4 6.4教师登录:教师登录:(1 1)教师管理界面:)教师管理界面:操作步骤:a、输入教师的姓名,可查该教师所教的哪些课程。 b、选中相应的按钮可以查询相应的信息。 c、选中输入成绩按钮,该教师可以输入所教授学生的成绩。(2 2)举例说明:)举例说明: A、查询教师王云所教授的课程以及学习该课程的学生名单:B、输入学号为B2003的学生的成绩:七七 学生成绩管理系统的关键代码学生成绩管理系统的关键代码在整个学生成绩管理系统中,数据库的打开在系统中是很重要的,下面给出本系统连接打开数据库的代码文件。7.17.1 数据库的连接程序代码:数据库的连接程序代码:SqlConnection conn1 = new SqlConnection();conn1.ConnectionString=server=localhost;database=studentgradesearch;IntegratedSecurity=true;conn1.Open();conn1.Close();7.27.2 数据库的查询操作代码:数据库的查询操作代码:SqlConnection conn1 = new SqlConnection();conn1.ConnectionString=server=localhost;database=studentgradesearch;IntegratedSecurity=true;conn1.Open();SqlCommand cmd1 = new SqlCommand(select distinct courserange.kcm from courserange wherecourserange.tch =+textBox1 .Text .Trim ()+ , conn1);SqlDataReader reader1 = cmd1.ExecuteReader();while (reader1.Read() comboBox1.Items.Add(reader1kcm); reader1.Close(); conn1.Close();7.37.3 数据库的增加数据操作的程序代码:数据库的增加数据操作的程序代码:SqlConnection conn1 = new SqlConnection();conn1.ConnectionString=server=localhost;database=studentgradesearch;IntegratedSecurity=true;conn1.Open();/SqlCommand comd1 = new SqlCommand(insert into gradexh,xm,bj,kch,kcm,gd , conn1);SqlCommand comd1 = new SqlCommand(insert into grade(xh,xm,bj,kch,kcm,gd) values ( +textBox1.Text.Trim() + , + textBox2.Text.Trim() + , + textBox3.Text.Trim() + ,+ textBox4.Text.Trim() + , + textBox5.Text.Trim() + , + textBox6.Text.Trim() + ),conn1);SqlDataAdapter adapter1 = new SqlDataAdapter(comd1);DataSet da1 = new DataSet();adapter1.Fill(da1, grade);Conn1.close();7.47.4 数据库的删除数据操作的程序代码:数据库的删除数据操作的程序代码:SqlConnection conn1 = new SqlConnection();conn1.ConnectionString=server=localhost;database=studentgradesearch;IntegratedSecurity=true;conn1.Open();if (comboBox1.SelectedItem.ToString().Trim() = 管理员)SqlCommand comd1 = new SqlCommand(delete from admints where id=+ textBox1 .Text .Trim() +, conn1);SqlDataAdapter adapter1 = new SqlDataAdapter(comd1);DataSet da1 = new DataSet(); adapter1.Fill(da1, 0); conn1.Close();MessageBox.Show( 删除成功!,提示,MessageBoxButtons.OK,MessageBoxIcon.Information);7.57.5 数据库的修改数据操作的程序代码:数据库的修改数据操作的程序代码:注意:在写代码之前,应先数据库中的表拖放到数据集编辑器上,这样自动生成了类型化的各个数据表格以及针对每个数据表格的数据适配器类型。private void Form2_Load(object sender, EventArgs e) admintsTableAdapter.Fill(studentgradesearchDataSet1 .admints ); teachersTableAdapter.Fill(studentgradesearchDataSet1.teachers ); studentTableAdapter.Fill(studentgradesearchDataSet1.student ); dataGridView1.DataSource = studentgradesearchDataSet1; private void button1_Click(object sender, EventArgs e) dataGridView1.DataMember =admints ; private void button2_Click(object sender, EventArgs e) dataGridView1.DataMember = teachers; private void button3_Click(object sender, EventArgs e) dataGridView1.DataMember = student; private void button5_Click(object sender, EventArgs e) admintsTableAdapter.Update(studentgradesearchDataSet1 .admints ); teachersTableAdapter.Update(studentgradesearchDataSet1.teachers ); studentTableAdapter.Update(studentgradesearchDataSet1.student ); 八课程设计总结八课程设计总结(一)问题的出现与解决:(一)问题的出现与解决:(1)对目标需求的问题:感觉杂而乱,不知道该从那张表建起。解决:通过对数据库系统概论的第七章数据库设计的认真阅读,我慢慢的有了想法。(2)表之间的完整性约束,刚开始做的不是太好,在运行程序时有时会出现数据修改问题(数据修改的长度,只能减少,不能增加,否则违反了 MaxLength 限制) 。(3)数据库与 ADO.Net 的连接操作以及相关的数据增加、删除、修改、查询操作。解决:通过对C#面向对象程序设计的最后一章的认真阅读,学到了一些不错的方法。(二)系统的现有功能与对未添加功能的展望(二)系统的现有功能与对未添加功能的展望(1) 教务员操作中的保存修改操作,个人感觉做的还是比较省劲的,相对于程序来说。(2)对于每个用户来说,修改账号和密码操作还没有实现,以及用window 窗口平台,感觉整体效果不好,接下来,用ASP.Net 设计管理系统将会成为目标。九、体会与收获九、体会与收获经过一周的课程设计,加强了我关于理论联系实际、与具体课题项目结合开发、设计系统的能力。既让我们了解到应该怎样把理论运用于实际,又让我们了解到在实践中遇到问题时要怎样运用所学知识理论去解决。在本次课程设计中,我们还需要一些以前没有学习到的知识,于是书籍跟网络成了我们的良好助手。在查阅资料的过程中,我们要判断优劣、取舍相关知识,这样一来我们对搜索来的信息的利用能力也有所提高。 我们学习的知识是有限的,在以后的工作中我们肯定会遇到许多求知的领域,这方面的能力将有助于我们未来的工作。另外,在本次设计过程中,我主要是做系统设计部分,好的设计将有助于后面的系统实现工作。根据对学生信息管理系统的需求分析,将学生信息管理系统划分为学生信息、班级管理、成绩管理、奖罚管理等几个功能模块,运用文字加图说明,设计较清晰。总的来说,一周的课程设计让我所学的知识理论上升到实践的层次,认识到自己还有很多不足,可以促进我在未来的学习。参考文献参考文献1、王珊等.数据仓库技术与联机分析处理.数据库技术丛书之一.北京:科学出版社,19982、Inmon W H.数据仓库.王志海等译.北京:机械工业出版社,20003、Imhoff C 等.数据仓库设计.于戈等译.北京:机械工业出版社,20044、Mattison R.Web 仓库工程与知识管理.高军等译.北京:清华大学出版社,20035、Bain T 等.SQL Server2000 数据仓库与 Analysis Services.邵勇等译.北京:中国电力出版社,20036、郑宇军.C#语言程序设计基础.北京:清华大学出版社,20087、周之英.现代软件工程(第 2 册).北京:科学出版社,20038、V Shtern 著,李师贤等译.C+精髓:软件工程方法.北京:机械工业出版社,20029、Microsoft Crop.C# Specification version 3.0,200610、麻志毅.面向对象分析与设计.北京:机械工业出版社,2008