1、学生管理系统课程设计 班级:07信息管理与信息系统 成员:李荣旺,毛发伟,业荣兴,合勇 时间:2009-12-18目录 摘要 .3目录 .31 设计内容与要求 311 设计题目 312 设计目的与要求 313 设计环境 32 需求分析 421 系统功能要求设计 4 2. 2系统模块设计.4 2.2.1主要模块介绍.5 2.2.2系统木块示意图623 数据字典6 2 . 3. 1数据项.6. 23.2数据结构.73 数据库结构设计 8基本ER图.84 系统实现设计 .9 4. 1系统代码框架设计.942各个模块运行流程及界面 10 4 .3关键代码说明.115 设计体会与建议 14致谢 15摘要
2、为巩固数据库的理论知识,加强C#语言的应用,掌握用程序控制数据库,增强实际操作能力与设计能力进行了本次课程设计。该课程设计我们小组设计一个学生成绩管理数据库系统,实现对学生信息的高效管理。在设计中分别设计学生、教师、成绩等实体,并将它们按照一定的关系关联起来形成一个完整的数据库系统。同时要求设计管理模块,对于不同的用户授予不同的权限。在实际的设计中使用sqlserver2000将数据库相连接,最后在C#中建立各个功能模块来完成整个系统的开发。通过本次课程设计,我们的专业能力得到了进一步提高,同时获得了非常宝贵的经验,解决了以前学习上遗留的诸多问题。关键字:数据实体,功能模块,权限1、设计内容与
3、要11 设计题目 学生管理系统12 设计目的与要求 随着社会的发展,基本上所有的具有一定数量数据的企事业单位或机关部门都开始使用计算机数据库来做管理。当然几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了班级管理的工作量。该课程设计要求设计一个班级里学生管理的程序设计系统,系统所需的数据库中包含学生的基本信息,叫该班的教师信息以及所修课程的信息。同时还要设计它们之间的关系,如学生与课程关系和学生的成绩等,最后还要对一些数据进行查询,如查询学生成绩的各种集合等。我们通过该课程设计,应该达到的目的是把数据库与程序设计相结合应用的知识巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的
4、应用充分的结合起来。13 设计环境 在Windows 环境下利用SqlServer2000作为数据库管理系统对数据进行管理与维护。通过.NET技术下的C#语言进行各个模块功能的代码编写。 2、需求分析2.1系统功能要求设计该系统分为管理员和学生用户,其中管理员能对学生进行增删、查、改,能对所学课程进行增删、查、改,能对全班学生的成绩进行修改,同时能统计处全班学生的综合成绩以及每门不及格的学生姓名 ,还能处理学生的意见和问题 ,即留言处理。学生用户能进行各种信息的查看,如,流言回复,全班的成绩情况等,学生用户用还可以通过留言管理反馈问题。2.2系统模块设计 2.2.1主要模块介绍 课程管理 在班
5、级管理系统中,有一个班级课程据库,是由班级各学生的所学课程组成,它构成了整个班级的课程据库。由于进行了权限设置,系统管理员在课程管理模块的用户管理界面中,可以对课程信息进行查询、增加、删除、修改。具体功能描述如下: 基本路径:a)进入课程管理界面,显示目前的学生课程数据库中已有的信息;b) 界面显示可以浏览每门课程的基本信息,同时也可以对这个内容进行修改;c)可以课程信息进行查询、增加、删除、修改。学生管理 在班级管理系统中,有一个班级学生据库,是由班级的学生组成,它构成了整个班级的学生信息据库。由于进行了权限设置,系统管理员在学生管理模块的用户管理界面中,可以对用户信息进行查询、增加、删除、
6、修改。具体功能描述如下: 基本路径:a)进入学生管理界面,显示目前的学生信息数据库中已有的信息;b) 界面显示可以浏览每个学生的基本信息,同时也可以对这个内容进行修改;c)可以用户信息进行查询、增加、删除、修改。学生成绩管理 在班级管理系统中,有一个班级学生成绩数据库,是由班级各学生的学生学习成绩组成,它构成了整个班级的学生学习成绩数据库。由于进行了权限设置,系统管理员在学生学习成绩管理模块的用户管理界面中,可以对用户成绩信息进行修改。具体功能描述如下: 用例描述:学生学习成绩管理; 前置条件:系统管理员已登录系统; 后置条件:如果用户信息维护完成,则用户的相应信息将记录到数据库中。 基本路径
7、:a)进入成绩管理界面,显示目前的学生学习成绩数据库中已有的信息;b) 界面显示可以浏览个每个学生的学习成绩,同时也可以对这个内容进行修改;c)点击查看可以对整体成绩情况查看分析,集综合成绩管理;c)可以修改成绩信息。用户管理 系统管理员可以进行权限设置,在用户管理界面中对用户进行增加、删除、修改、查询。具体功能描述如下:用例描述:用户管理;执行者:系统管理员;前置条件:系统管理员已登录系统;后置条件:如果用户信息维护完成,则用户的相应信息将记录到数据库中。基本路径:c)进入用户管理界面,显示目前的系统用户以及每个用户具有的权限;d)点击不同的用户,可以显示这个用户的信息以及相应权限,必要时可
8、以修改其权限;可以增加用户,也可以删除用户。留言管理在班级管理系统中,有一个留言管理情况的数据库,是由班级各学生和教师留言情况组成,它构成了整个班级的留言管理情况数据库。由于进行了权限设置,班长在留言管理模块的用户管理界面中,可以对用户进行增加、删除、修改、查询。具体功能描述如下:用例描述:留言管理;执行者:班长;前置条件:系统管理员已登录系统;后置条件:如果用户信息维护完成,则用户的相应信息将记录到数据库中。基本路径:a)查看当前留言情况;b)对当前留言进行增加、删除、修改、查询;2.2.2系统木块示意图 学生管理系统大体可以分成两大模块如下图所示, 首先是管理模块,它包括一是学生的基本信息
9、模块,里面应该包含学生的各方面的基本信息;二是学生成绩管理模块, 在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有院系、教师、课程等相关信息的模块;最后是系统模块。 图2-1系统结构2.3数据字典2.3.1数据项 数据项是数据库的关系中不可再分的数据单位,也是整个系统运行的居处数据支持,下表分别列出了数据的名称(即码)、注释、数据类型、长度、取值范围和是否是主码。表 2.1 数据项列表名称注释数据类型长度主要的学号唯一标识学生的信息char(10)10TRUE姓名Varchar(50 )50FALSE性别varchar(2
10、)2FALSE出生年月Datetime(8)8FALSE住宿Varchar(252 )255课程号唯一标识课程的信息IntegerTRUE课程名Varchar(50 )50FALSE学分integerFALSE教师工号与教师表对应integerTRUE学期Char(10)10教师工号唯一标识教师的信息IntegerTRUE姓名 varchar(10)10FALSE年龄IntegerFALSE职称varchar(16)16FALSE 学号 成绩表里的学号与学生相对应varchar(10)10TRUE会计学fload(6)6FALSEC#fload(6)6FALSE管理fload(6)6FALSE
11、计算机软硬件fload(6)6FALSE离散数学fload(6)6FALSE计算机网络fload(6)6FALSE西方经济学fload(6)6FALSE数据结构fload(6)6FALSE数据库fload(6)6FALSE学号integerTRUE体育floatFALSE品德floatFALSE文艺floatTRUE 2.3.2数据结构 2.3.2 数据结构 数据结构是为反映数据之间的组合关系,即 一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构组成。本学生管理系统的数据组成可根据管理模块(图 2-1)的划分来设计,即分为四个数据结构,分别如下表所示。
12、表 2.2 数据结构清单数据结构名含义说明组成学生基本信息学生基本信息的描述学号+姓名+性别+出生年日+住宿成绩管理学生成绩的管理与查询管理描述学号+课程号+分数+课程名+分数段+不及格的人+综合成绩课程相关信息课程信息的描述课程号+课程名+学分+教师工号+学期留言管理对学生问题的处理,反映留言事件及处理时间留言人+留言时间+留言内容+处理标记+回复3、数据结构设计系统构成的简单ER图4 系统结构设计41系统代码框架设代码框架设计主要反应系统代码设计的一个过程,它为系统开发的完成里清理了思路,增强了系统模块间各个功能实现的联系。根据系统的结构代码框架设计可以由下图反应。4 .2各个模块运行流程
13、及界面整个系统运行主界面如下所示:1.登录界面2.学生查询界面显示全班同学的成绩,输入学号点击查看就能检索出查询的单条记录。3.学生留言点击”我要留言”就可在下图的对话框写留言,它能解决学生的问题。4管理主界面主界面显示学生留言信息,最主要的是包含了学生管理,课程管理,成绩管理三块功能,它能进行各块管理。下面介绍一下学生管理和成绩管理: 学生管理界面对学生信息进行增、删、差、改。成绩管理界面第一个图显示的是点击“文体成绩”后的结果,如果查看每学期不及格就可以看到下一个图片所示的信息。4 . 3关键代码说明1.数据库的连接代码class DB public static string conns
14、tr = Data Source=KK43SA;Initial Catalog=07xg;Integrated Security=True; public static void runsql(string sql)不返回值是对是据库操作的方法调用 public static DataTable runquery(string sql)返回值时对是据库操作的方法调用 2. 学生信息删除private void 删除ToolStripMenuItem_Click(object sender, EventArgs e) int count = dataGridView1.Rows.Count; i
15、f (!(count 1) 确定要烧出的像已经选择 MessageBox.Show(已经没有学生记录了你确定删除该学生的记录吗?, , MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk); if (rut = DialogResult.Yes) row = dataGridView1.CurrentCell.RowIndex; string id; id = dataGridView1.Rowsrow.Cells0.Value.ToString ();检索要删除行的地址 textBox1.Text = id; sql = delete from
16、学生 where 学号= + id+;从数据库中删除 DB.runsql(sql); fresh(); else return; 3.课程添加private void werfwToolStripMenuItem_Click(object sender, EventArgs e) /添加课程 if (button1.Enabled = false) button1 .Enabled =true ;button1.Text = 添加; else if(button1.Enabled = true) if (button1.Text = 保存修改) MessageBox.Show(你对课程的信息修
17、改还未保存,请先处理该项工作!); else if (button1.Text = 添加) MessageBox.Show(你对课程的添加工作还未保存,请先处理该项工作!); txtname.Enabled =txtxuefen.Enabled = button1.Enabled = comboBox1.Enabled = true; 由于我们对课程的增加修改选择用同一个窗体,因此得对保存按钮的值和文本的内容作变化,如果值为真则要判断是进行增加还是修改,如果显示“保存修改”可以进行修改,添加也如此。4 成绩管理string kecheng = select 课程名 from 课程 where
18、学期=3; DataTable dt1=DB.runquery (kecheng ); for(int i=0;idt1.Rows .Count;i+) sql = insert termp(学号,姓名,课程,成绩) select a.学号,b.姓名,c.课程名,a. + dt1.Rowsi0.ToString() + from 学生 b,上学期成绩 a,课程 c where a.学号=b.学号 and c.课程名= + dt1.Rowsi0.ToString() + and a. + dt1.Rowsi0.ToString() + 60; DB.runsql(sql); sql=select
19、 * from termp; DataTable dt = DB.runquery(sql); dataGridView2.DataSource = dt; textBox1.Text = 总人数: + dt.Rows.Count.ToString(); sql = delete from termp; DB.runsql(sql);5 设计体会与建议通过两星期的数据结构课程设计实习,我从中受益匪浅,并且对数据库这一门课程有了更深一步的认识。在实习中,我们可以把这学期所学的理论知识和实践联系起来,在所要开发的程序中渐渐融会贯通。虽然我们对这些知识还运用得还不是很熟练,但是相信在现在和今后的学习
20、中会得到更加深刻的掌握。在课程设计中,设计了一个学生学籍管理系统,其中包含了对学生基本信息的管理,学生必修课程以及成绩管理,学校教师资源管理,学校专业以及院系等。基本上包含了学籍管理所要求的信息,能够完成一定的数据管理功能。但是这是一个完全不能真正用与实际的系统,它没有操作界面,没有完善的数据完整性的约束,也不具有可靠的安全性。但总之在设计当中我们学习到了许多东西,用到了很多的数据库的理论知识,增强了一定的实践能里。 实习过程中我们一边设计一边探索,发现理论和实践要充分地结合,是需要扎实的基本功的,这就表明学好基础知识是理论付诸实践的前提。在实习中我们学到了很多,希望在以后我们能充分利用实习的
21、机会充实自己,并希望这样的机会能被更好更多地提供 。致谢经过这近两周的实习,我获得了许多仅在课堂上和书本上不能获得的知识,并深刻的体会到实践是检验真理的唯一标准,只有理论与实践互相结合,才能更加掌握书本知识,同时学习到更多的东西。首先们要感谢学校给我们安排的这次的数据库系统设计实习,然后要感谢老师们对我们热心的指导和帮助,是他们教会了我们怎样解决问题的方法,这样我们的软件设计才会更加顺利地进行,并且从中也学习到了许多设计的方法经验。我们还要感谢许多同学的帮助,他们的帮助对于我们来说也是必不可少的。总之,是有了他们的帮助,我们才能顺利地完成软件设计,在这里我们要向他们说一句:谢谢,非常感谢!你们辛苦了! 2009-12-18
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1