学生管理系统课程设计.docx

上传人:b****6 文档编号:3615993 上传时间:2022-11-24 格式:DOCX 页数:14 大小:120.93KB
下载 相关 举报
学生管理系统课程设计.docx_第1页
第1页 / 共14页
学生管理系统课程设计.docx_第2页
第2页 / 共14页
学生管理系统课程设计.docx_第3页
第3页 / 共14页
学生管理系统课程设计.docx_第4页
第4页 / 共14页
学生管理系统课程设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

学生管理系统课程设计.docx

《学生管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《学生管理系统课程设计.docx(14页珍藏版)》请在冰豆网上搜索。

学生管理系统课程设计.docx

学生管理系统课程设计

<<学生管理系统>>

 

班级:

07信息管理与信息系统

成员:

李荣旺,毛发伟,业荣兴,合勇

时间:

2009-12-18

目录

摘要….3

目录….….3

1设计内容与要求3

1.1设计题目3

1.2设计目的与要求3

1.3设计环境3

2需求分析4

2.1系统功能要求设计4

2.2系统模块设计…………………………………………………………………………….4

2.2.1主要模块介绍………………………………………………………………………………………….5

2.2.2系统木块示意图………………………………………………………………………………………6

2.3数据字典…………………………………………………………………………………………………6

2.3.1数据项………………………………………………………………………………………………..6.

2.3.2数据结构……………………………………………………………………………………………….7

3数据库结构设计8

基本ER图……………………………………………………………………………………………………..8

4系统实现设计.9

4.1系统代码框架设计……………………………………………………………………………………...9

4.2各个模块运行流程及界面10

4.3关键代码说明…………………………………………………………………………….11

5设计体会与建议14

致谢15

摘要

为巩固数据库的理论知识,加强C#语言的应用,掌握用程序控制数据库,增强实际操作能力与设计能力进行了本次课程设计。

该课程设计我们小组设计一个学生成绩管理数据库系统,实现对学生信息的高效管理。

在设计中分别设计学生、教师、成绩等实体,并将它们按照一定的关系关联起来形成一个完整的数据库系统。

同时要求设计管理模块,对于不同的用户授予不同的权限。

在实际的设计中使用sqlserver2000将数据库相连接,最后在C#中建立各个功能模块来完成整个系统的开发。

通过本次课程设计,我们的专业能力得到了进一步提高,同时获得了非常宝贵的经验,解决了以前学习上遗留的诸多问题。

关键字:

数据实体,功能模块,权限

 

1、设计内容与要

1.1设计题目学生管理系统

1.2设计目的与要求

随着社会的发展,基本上所有的具有一定数量数据的企事业单位或机关部门都开始使用计算机数据库来做管理。

当然几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了班级管理的工作量。

该课程设计要求设计一个班级里学生管理的程序设计系统,系统所需的数据库中包含学生的基本信息,叫该班的教师信息以及所修课程的信息。

同时还要设计它们之间的关系,如学生与课程关系和学生的成绩等,最后还要对一些数据进行查询,如查询学生成绩的各种集合等。

我们通过该课程设计,应该达到的目的是把数据库与程序设计相结合应用的知识巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。

1.3设计环境

在Windows环境下利用SqlServer2000作为数据库管理系统对数据进行管理与维护。

通过.NET技术下的C#语言进行各个模块功能的代码编写。

2、需求分析

2.1系统功能要求设计

该系统分为管理员和学生用户,其中管理员能对学生进行增删、查、改,能对所学课程进行增删、查、改,能对全班学生的成绩进行修改,同时能统计处全班学生的综合成绩以及每门不及格的学生姓名,还能处理学生的意见和问题,即留言处理。

学生用户能进行各种信息的查看,如,流言回复,全班的成绩情况等,学生用户用还可以通过留言管理反馈问题。

2.2系统模块设计

2.2.1主要模块介绍

课程管理

在班级管理系统中,有一个班级课程据库,是由班级各学生的所学课程组成,它构成了整个班级的课程据库。

由于进行了权限设置,系统管理员在课程管理模块的用户管理界面中,可以对课程信息进行查询、增加、删除、修改。

具体功能描述如下:

基本路径:

a)进入课程管理界面,显示目前的学生课程数据库中已有的信息;

b)界面显示可以浏览每门课程的基本信息,同时也可以对这个内容进行修改;

c)可以课程信息进行查询、增加、删除、修改。

 

学生管理

在班级管理系统中,有一个班级学生据库,是由班级的学生组成,它构成了整个班级的学生信息据库。

由于进行了权限设置,系统管理员在学生管理模块的用户管理界面中,可以对用户信息进行查询、增加、删除、修改。

具体功能描述如下:

基本路径:

a)进入学生管理界面,显示目前的学生信息数据库中已有的信息;

b)界面显示可以浏览每个学生的基本信息,同时也可以对这个内容进行修改;

c)可以用户信息进行查询、增加、删除、修改。

学生成绩管理

在班级管理系统中,有一个班级学生成绩数据库,是由班级各学生的学生学习成绩组成,它构成了整个班级的学生学习成绩数据库。

由于进行了权限设置,系统管理员在学生学习成绩管理模块的用户管理界面中,可以对用户成绩信息进行修改。

具体功能描述如下:

用例描述:

学生学习成绩管理;

前置条件:

系统管理员已登录系统;

后置条件:

如果用户信息维护完成,则用户的相应信息将记录到数据库中。

基本路径:

a)进入成绩管理界面,显示目前的学生学习成绩数据库中已有的信息;

b)界面显示可以浏览个每个学生的学习成绩,同时也可以对这个内容进行修改;

c)点击查看可以对整体成绩情况查看分析,集综合成绩管理;

c)可以修改成绩信息。

 

用户管理

系统管理员可以进行权限设置,在用户管理界面中对用户进行增加、删除、修改、查询。

具体功能描述如下:

用例描述:

用户管理;

执行者:

系统管理员;

前置条件:

系统管理员已登录系统;

后置条件:

如果用户信息维护完成,则用户的相应信息将记录到数据库中。

基本路径:

c)进入用户管理界面,显示目前的系统用户以及每个用户具有的权限;

d)点击不同的用户,可以显示这个用户的信息以及相应权限,必要时可以修改其权限;

可以增加用户,也可以删除用户。

 

留言管理

在班级管理系统中,有一个留言管理情况的数据库,是由班级各学生和教师留言情况组成,它构成了整个班级的留言管理情况数据库。

由于进行了权限设置,班长在留言管理模块的用户管理界面中,可以对用户进行增加、删除、修改、查询。

具体功能描述如下:

用例描述:

留言管理;

执行者:

班长;

前置条件:

系统管理员已登录系统;

后置条件:

如果用户信息维护完成,则用户的相应信息将记录到数据库中。

基本路径:

a)查看当前留言情况;

b)对当前留言进行增加、删除、修改、查询;

 

2.2.2系统木块示意图

学生管理系统大体可以分成两大模块如下图所示,首先是管理模块,它包括一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;二是学生成绩管理模块,在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有院系、教师、课程等相关信息的模块;最后是系统模块。

图2-1系统结构

2.3数据字典

2.3.1数据项

数据项是数据库的关系中不可再分的数据单位,也是整个系统运行的居处数据支持,下表分别列出了数据的名称(即码)、注释、数据类型、长度、取值范围和是否是主码。

表2.1数据项列表

名称

注释

数据类型

长度

主要的

学号

唯一标识学生的信息

char(10)

10

TRUE

姓名

Varchar(50)

50

FALSE

性别

varchar

(2)

2

FALSE

出生年月

Datetime(8)

8

FALSE

住宿

Varchar(252)

255

课程号

唯一标识课程的信息

Integer

TRUE

课程名

Varchar(50)

50

FALSE

学分

integer

FALSE

教师工号

与教师表对应

integer

TRUE

学期

Char(10)

10

教师工号

唯一标识教师的信息

Integer

TRUE

姓名

varchar(10)

10

FALSE

年龄

Integer

FALSE

职称

varchar(16)

16

FALSE

学号

成绩表里的学号与学生相对应

varchar(10)

10

TRUE

会计学

fload(6)

6

FALSE

C#

fload(6)

6

FALSE

管理

fload(6)

6

FALSE

计算机软硬件

fload(6)

6

FALSE

离散数学

fload(6)

6

FALSE

计算机网络

fload(6)

6

FALSE

西方经济学

fload(6)

6

FALSE

数据结构

fload(6)

6

FALSE

数据库

fload(6)

6

FALSE

学号

integer

TRUE

体育

float

FALSE

品德

float

FALSE

文艺

float

TRUE

2.3.2数据结构

2.3.2数据结构

数据结构是为反映数据之间的组合关系,即一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构组成。

本学生管理系统的数据组成可根据管理模块(图2-1)的划分来设计,即分为四个数据结构,分别如下表所示。

表2.2数据结构清单

数据结构名

含义说明

组成

学生基本信息

学生基本信息的描述

学号+姓名+性别+出生年日+住宿

成绩管理

学生成绩的管理

与查询管理描述

学号+课程号+分数+课程名+分数段+不及格的人+综合成绩

课程相关信息

课程信息的描述

课程号+课程名+学分+教师工号+学期

留言管理

对学生问题的处理,反映留言事件及处理时间

留言人+留言时间+留言内容+处理标记+回复

3、数据结构设计

系统构成的简单ER图

4系统结构设计

4.1系统代码框架设

代码框架设计主要反应系统代码设计的一个过程,它为系统开发的完成里清理了思路,增强了系统模块间各个功能实现的联系。

根据系统的结构代码框架设计可以由下图反应。

4.2各个模块运行流程及界面

整个系统运行主界面如下所示:

1.登录界面

2.学生查询

界面显示全班同学的成绩,输入学号点击查看就能检索出查询的单条记录。

 

3.学生留言

点击”我要留言”就可在下图的对话框写留言,它能解决学生的问题。

 

4管理主界面

主界面显示学生留言信息,最主要的是包含了学生管理,课程管理,成绩管理三块功能,它能进行各块管理。

下面介绍一下学生管理和成绩管理:

学生管理界面

 

对学生信息进行增、删、差、改。

成绩管理界面

 

第一个图显示的是点击“文体成绩”后的结果,如果查看每学期不及格就可以看到下一个图片所示的信息。

4.3关键代码说明

1.数据库的连接代码

classDB

{

publicstaticstringconnstr="DataSource=KK43\\SA;InitialCatalog=07xg;IntegratedSecurity=True";

publicstaticvoidrunsql(stringsql)不返回值是对是据库操作的方法调用

{

}

publicstaticDataTablerunquery(stringsql)返回值时对是据库操作的方法调用

{

}

}

2.学生信息删除

privatevoid删除ToolStripMenuItem_Click(objectsender,EventArgse)

{

intcount=dataGridView1.Rows.Count;

if(!

(count>1))确定要烧出的像已经选择

MessageBox.Show("已经没有学生记录了

"你确定删除该学生的记录吗?

","",MessageBoxButtons.YesNo,MessageBoxIcon.Asterisk);

if(rut==DialogResult.Yes)

{

row=dataGridView1.CurrentCell.RowIndex;

stringid;

id=dataGridView1.Rows[row].Cells[0].Value.ToString();检索要删除行的地址

textBox1.Text=id;

sql="deletefrom学生where学号='"+id+"'";从数据库中删除

DB.runsql(sql);

fresh();

}

else

{

return;

}

}

3.课程添加

privatevoidwerfwToolStripMenuItem_Click(objectsender,EventArgse)//添加课程

{

if(button1.Enabled==false){button1.Enabled=true;button1.Text="添加";}

elseif(button1.Enabled==true)

{if(button1.Text=="保存修改")

MessageBox.Show("你对课程的信息修改还未保存,请先处理该项工作!

");

elseif(button1.Text=="添加")

MessageBox.Show("你对课程的添加工作还未保存,请先处理该项工作!

");

}

txtname.Enabled=txtxuefen.Enabled=button1.Enabled=comboBox1.Enabled=true;

}由于我们对课程的增加修改选择用同一个窗体,因此得对保存按钮的值和文本的内容作变化,如果值为真则要判断是进行增加还是修改,如果显示“保存修改”可以进行修改,添加也如此。

4成绩管理

stringkecheng="select课程名from课程where学期=3";

DataTabledt1=DB.runquery(kecheng);

for(inti=0;i

{

sql="inserttermp(学号,姓名,课程,成绩)selecta.学号,b.姓名,c.课程名,a."+dt1.Rows[i][0].ToString()+"from学生b,上学期成绩a,课程cwherea.学号=b.学号andc.课程名='"+dt1.Rows[i][0].ToString()+"'anda."+dt1.Rows[i][0].ToString()+"<60";

DB.runsql(sql);

}

sql="select*fromtermp";

DataTabledt=DB.runquery(sql);

dataGridView2.DataSource=dt;

textBox1.Text="总人数:

"+dt.Rows.Count.ToString();

sql="deletefromtermp";

DB.runsql(sql);

 

5设计体会与建议

通过两星期的数据结构课程设计实习,我从中受益匪浅,并且对数据库这一门课程有了更深一步的认识。

在实习中,我们可以把这学期所学的理论知识和实践联系起来,在所要开发的程序中渐渐融会贯通。

虽然我们对这些知识还运用得还不是很熟练,但是相信在现在和今后的学习中会得到更加深刻的掌握。

在课程设计中,设计了一个学生学籍管理系统,其中包含了对学生基本信息的管理,学生必修课程以及成绩管理,学校教师资源管理,学校专业以及院系等。

基本上包含了学籍管理所要求的信息,能够完成一定的数据管理功能。

但是这是一个完全不能真正用与实际的系统,它没有操作界面,没有完善的数据完整性的约束,也不具有可靠的安全性。

但总之在设计当中我们学习到了许多东西,用到了很多的数据库的理论知识,增强了一定的实践能里。

实习过程中我们一边设计一边探索,发现理论和实践要充分地结合,是需要扎实的基本功的,这就表明学好基础知识是理论付诸实践的前提。

在实习中我们学到了很多,希望在以后我们能充分利用实习的机会充实自己,并希望这样的机会能被更好更多地提供。

致谢

经过这近两周的实习,我获得了许多仅在课堂上和书本上不能获得的知识,并深刻的体会到实践是检验真理的唯一标准,只有理论与实践互相结合,才能更加掌握书本知识,同时学习到更多的东西。

首先们要感谢学校给我们安排的这次的数据库系统设计实习,然后要感谢老师们对我们热心的指导和帮助,是他们教会了我们怎样解决问题的方法,这样我们的软件设计才会更加顺利地进行,并且从中也学习到了许多设计的方法经验。

我们还要感谢许多同学的帮助,他们的帮助对于我们来说也是必不可少的。

总之,是有了他们的帮助,我们才能顺利地完成软件设计,在这里我们要向他们说一句:

谢谢,非常感谢!

你们辛苦了!

2009-12-18

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1