教学教务管理系统设计.docx

上传人:b****5 文档编号:7620968 上传时间:2023-05-11 格式:DOCX 页数:19 大小:180.80KB
下载 相关 举报
教学教务管理系统设计.docx_第1页
第1页 / 共19页
教学教务管理系统设计.docx_第2页
第2页 / 共19页
教学教务管理系统设计.docx_第3页
第3页 / 共19页
教学教务管理系统设计.docx_第4页
第4页 / 共19页
教学教务管理系统设计.docx_第5页
第5页 / 共19页
教学教务管理系统设计.docx_第6页
第6页 / 共19页
教学教务管理系统设计.docx_第7页
第7页 / 共19页
教学教务管理系统设计.docx_第8页
第8页 / 共19页
教学教务管理系统设计.docx_第9页
第9页 / 共19页
教学教务管理系统设计.docx_第10页
第10页 / 共19页
教学教务管理系统设计.docx_第11页
第11页 / 共19页
教学教务管理系统设计.docx_第12页
第12页 / 共19页
教学教务管理系统设计.docx_第13页
第13页 / 共19页
教学教务管理系统设计.docx_第14页
第14页 / 共19页
教学教务管理系统设计.docx_第15页
第15页 / 共19页
教学教务管理系统设计.docx_第16页
第16页 / 共19页
教学教务管理系统设计.docx_第17页
第17页 / 共19页
教学教务管理系统设计.docx_第18页
第18页 / 共19页
教学教务管理系统设计.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

教学教务管理系统设计.docx

《教学教务管理系统设计.docx》由会员分享,可在线阅读,更多相关《教学教务管理系统设计.docx(19页珍藏版)》请在冰点文库上搜索。

教学教务管理系统设计.docx

教学教务管理系统设计

教学教务管理系统window窗体

1.总体设计

1.1.编写目的某学院教务处教学事务现由手工管理,效率低、易出错、耗费人力。

教务处希望设计一个实用的教学事务管理系统,完成学生的学籍管理、报到注册、课程的选择、成绩登入、各种通知单的打印和报表的输出等

1.2.可行性分析

可利用现有学校资源,结合常用的vs2012、sql2008等软件即可。

软件分成c/s模式。

开发人员具有一定经验,可开发一些小软件。

1.3.性能分析

管理,维护上万条学生记录信息。

能满足近百位学生同时对个人信息的查询。

具有较高的可靠性。

安全和性高。

1.4.系统分析教务管理系统是一个面向学校教务人员,为其提供服务的综合信息管理系统。

教务人员通过本系统完成相关的日常工作,这些工作也是平常较为繁重的工作。

学生的个人信息、所有的课程考试成绩以及每学期的开课情况都记录在教务系统里进行管理。

1.5.需求分析旨在开发一个统一的网上教务信息管理平台,利用信息化手段辅助教学管理,达到提升我校教学管理信息化水平的目的。

学生的学籍管理:

建立学生学籍档案,对新入学的学生进行登记,将他们的信息记入学籍档案,对毕业、休学、退学的学生进行除名、注销,对调整专业的学生必须做调整记载。

对变动情况建立备忘录,对上述情况的变动原因、时间、去向等进行记载。

学生学期开学的课程选择,对必修课、限选课直接录入,计算总成绩、平均成绩,并按班级排出名次。

统计功能,统计各门课程的及格率,优秀率,各分数档人选。

系统可查选学生的学籍情况和选课、学习情况,打印学籍表、个

人成绩报告表、班级名词表、各门课程统计表等要求的表格。

2.总体设计

2.1.软件模块结构设计

根据系统分析的结果,按照结构化的系统设计方法,教学事务管理系统从功能由

模块名

功能简介

信息管理

录入学生基本信息,如,学号,籍贯,性别,家庭住址,出生年月等基本信息

状态管理

对其毕业,休学,调整专业等进行备忘处理。

成绩管理

对选修课必修课成绩的录入,计算成绩,排名等功能

2.2.板块设计

2.2.1.登录界面流程处理图

2.2.2.学生信息管理结构图

 

2.2.3.状态信息管理结构图

2.2.4.课程管理状态图

 

2.2.5.成绩管理状态图

 

3..接口设计

3.1.用户接口

在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。

在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。

其中针对教务管理人员的界面要做到操作简单,易于管理。

在设计上采用逐级下拉式菜单方式。

同时,运行出错时应以标准形式给出出错提示。

3.2.外部接口

服务器端程序可DAO(数据访问对象)应用程序编程接口(API),对SQLSERVER数据库进行所有的访问。

服务器程序上可使用SQLSERVER的对数据库的备分命令,以做到对数据的保存。

3.3.部接口信息管理模块:

对其他模块提供对学生信息查询的接口,包括按学号、和班级三种查询方式。

4.数据库需求分析通过对学校管理工作过程的容和数据流图分析,设计如下面的数据项和数据结构。

学生档案,包括的数据项有:

学生的学号、、性别、出生年月、籍贯、政治面貌、家庭住址、入学时间、学院、专业、年级、班级。

课程选择,包括的数据项有:

课程编号、课程名称.课程成绩,包括的数据项有:

学生编号、学生、课程编号、课程名称、课程成绩。

备忘录,包括的数据项有:

学生编号、学生、去向、原因、时间,系院、专业、年级、班级。

学生的成绩情况,包括的数据项有:

学生编号、学生、总成绩、平均成绩、班级。

数据库概念结构设计

根据上面设计规划出的实体,我们对各个实体具体的描述E-R图如下:

课程选择e-r

学生信息e—r

课程成绩e-r

 

备忘录e-r

学生成绩情况e-r

4.1.数据库逻辑结构设计

 

卓土

QZ

Jeμ□JBAU

丄Z

卓土

QZ

Jeμ□JBAU

SSHlO

卓土

QZ

Jeμ□JBAu

ΓN

卓土

QZ

Jeμ□JBAu

人Z

卓土

QZ

Jeμ□JBAu

AX

晡口秦Y

卓土

θiu∏θ⅜ep

3i∀αxd

卓土

09

Jeμ□JBAu

ZZlr

卓土

09

Jeμ□JBAu

IΛIIΛIZZ

卓土

09

Jeμ□JBAu

卓土

θiu∏θ⅜ep

λ∀aHid∣a

IW

N,、,餡,卓比

OL

JElPU

X3S

韦点

卓土

QZ

Jeμ□JBAu

3IΛI∀N

∙⅛臨韦点

韜王⅛±

OL

JElPU

!

(峯冒割韦藐ZlN「丄Nmcln丄S

 

WW

A

3a∀d9-S0

OG

Jeμ□JBAU

3IΛI∀N-∩O9^S9

⅛W⅛≡

OL

JElPU

aΓ∩oo-so

03

Jeμ□JBAu

3IΛI∀N^a∩丄S®

∙⅛臨韦点

OL

JElPU

aΓa∩丄s®

(WM≡lW≡)θdNΓso

SC(课程信息表)

字段名

数据类型

长度

说明

描述

CID

nchar

10

不空,主键

课程编号

CNAME

nvarchar

30

不空

课程名称

 

BWL_INFO备(忘录)

字段名

数据类型

长度

说明

描述

STUID

nchar

10

不空,主键

学生编号

STUNAME

nvarchar

20

不空

学生

BWL

nvarchar

50

不空

去向

REASON

nvarchar

50

不空

原因

TIME

datetime

不空

时间

XY

nvarchar

20

不空

去的系院

ZY

nvarchar

20

不空

去的专业

NJ

nvarchar

20

不空

年级

CLASS

nvarchar

20

不空

班级

 

RECORD学(生成绩情况信息)

字段名

数据类型

长度

说明

描述

RESTUDID

nchar

10

不空,外键

学生编号

RE_STUD_NAME

nvarchar

20

不空

学生

REALL

int

不空

总成绩

REAVG

int

不空

平均成绩

RE_BANJI

nvarchar

20

不空

班级

5.程序设计

5.1登录界面

该界面为登录窗口,需要正确的账号及密码才能正确登录,如图一

图一登录界面

主要代码设计如下:

privatevoidbutton1_Click(objectsender,EventArgse)

{stringconnString="DataSource=(LocalDB)\v11.0;

AttachDbFilename=|DataDirectory|\Student.mdf;IntegratedSecurity=True;ConnectTimeout=30";

SqlConnectionconn=newSqlConnection(connString);

conn.Open();

stringsql="select*FromUserInfowhere

UserName='"+txtUserName.Text.Trim()+"'andUserPwd='"+txtUserPwd.Text.Trim()+"'";

SqlCommandcmd=newSqlCommand(sql,conn);

SqlDataReaderdr=cmd.ExecuteReader();

if(dr.Read())

{Username=dr["UserName"].ToString();

frmMainfrm=newfrmMain();

frm.Show();

this.Hide();}

else{

MessageBox.Show("账号或密码错误!

请重新输入!

","出错了",MessageBoxButtons.OK,

MessageBoxIcon.Error);}

dr.Close();

conn.Close();

}

5.2程序主界面

该界面为各种功能提供了集合的面板,所有程序功能均能在该界面找到相应入口,包括

修改用户登录密码、管理学生信息、管理课程信息和管理学生成绩,如图二:

5.3学生信息管理

5.3.1添加学生信息

该界面提供录入学生信息到数据库当中,如图三

图三

主要代码设计:

privatevoidbutton1_Click(objectsender,EventArgse)

{if(txtID.Text.Trim().Length!

=0&&txtName.Text!

=""&&comboBox1.SelectedValue!

="")

{stringstudentSex="";

if(optMale.Checked)

{

studentSex="男";

}

if(optFemale.Checked)

{

studentSex="女";

}

stringsql="insertintostudentinfo(StudentId,StudentName,StudentSex,StudentNativePlace,StudentBirthday,studentclass)Values('"

+txtID.Text+"',N'"+txtName.Text+"',N'"+studentSex+"',N'"+

cbNativePlace.SelectedItem+"','"+dateTimePicker1.Value+

"',N'"+comboBox1.SelectedValue+"')";

try

{

if(OperateDB.ExecuteNonQuery(sql)==1)

{

MessageBox.Show("

else

{

MessageBox.Show("catch(Exceptionerr){

MessageBox.Show("

}

else{

MessageBox.Show("

}}

5.3.2查询界面

添加成功");}

添加失败");}}

数据库读取出错");}

填写完整信息");

该界面提供查询某学生学籍信息和个人成绩功能,如图四和图五

图四

 

图五

查询学生信息窗体主要代码如下:

privatevoidbutton1_Click(objectsender,EventArgse)

{stringsql="selectstudentclassas班级,StudentIdas学号,StudentNameas名字,StudentSexas性别,StudentNativePlaceas籍贯fromStudentInfowhereStudentNamelikeN'%"+txtName.Text.Trim()+"%'";

DataSetds=OperateDB.ExecuteDataSet(sql);

dataGridView1.DataSource=ds.Tables[0].DefaultView;}

查询个人成绩窗体主要代码如下:

privatevoidbutton1_Click(objectsender,EventArgse)

{if(textBox1.Text=="")

{

MessageBox.Show("请输入正确信息");}

else

{stringsql="selectgrade_info.Cou_nameas科目,grade_info.Gradeas成绩,course_info.countas学分fromcourse_infojoingrade_infooncourse_info.cou_name=grade_info.cou_namewherestud_name=N'"+textBox1.Text+"'";

DataSetds=OperateDB.ExecuteDataSet(sql);

dataGridView1.DataSource=ds.Tables[0].DefaultView;

5.4课程管理

5.4.1添加课程

为每个班级添加本学期课程容,如图六

图六

主要代码如下:

privatevoidbutton1_Click(objectsender,EventArgse)

{if(textBox1.Text!

=""&&textBox2.Text!

=""&&textBox3.Text!

=""&&textBox4.Text!

=""&&comboBox1.SelectedValue!

="")

{stringsql="insertintocourse_infovalues('"+textBox1.Text+"',N'"+textBox2.Text+"',N'"+textBox3.Text+"','"+textBox4.Text+"')";

stringsql2="insertintoclassvalues(N'"+comboBox1.SelectedValue+

"','"+textBox1.Text+"',N'"+textBox2.Text+"')";

OperateDB.ExecuteNonQuery(sql2);

try{if(OperateDB.ExecuteNonQuery(sql)==1)

{MessageBox.Show("添加成功");

}else

{MessageBox.Show("添加失败");

catch(Exceptionerr)

{

MessageBox.Show("数据库读取失败");

}

}

else

{

MessageBox.Show("填写完整信息");

}

}

5.4..2查询及修改课程信息

该窗体为查询课程的详细信息及修改某些课程属性,如图七

图七

主要代码如下:

privatevoidbutton1_Click(objectsender,EventArgse)

{stringsql;

Regexrx=newRegex("^[\u4E00-\u9FA5]+$");

if(rx.IsMatch(textBox1.Text))

{

sql="select*fromcourse_infowherecou_namelikeN'%"+textBox1.Text

+"%'orteacherlikeN'%"+textBox1.Text+"%'";else{sql="select*fromcourse_infowherecou_idlike'%"+textBox1.Text+"%'";

}

DataSetds=OperateDB.ExecuteDataSet(sql);dataGridView1.DataSource=ds.Tables[0].DefaultView;

}

5.5成绩管理

5.5.1添加学生成绩该界面可以录入学生本学期所有成绩,如图八

图八主要代码设计如下:

privatevoidtextBox1_Leave(objectsender,EventArgse){stringsql="selectStudentidfromstudentinfowherestudentname=N'"+textBox1.Text+"'";

DataSetds=OperateDB.ExecuteDataSet(sql);

textBox2.Text=ds.Tables[0].Rows[0][0].ToString();}

privatevoidcomboBox1_Leave(objectsender,EventArgse)

{stringsql="selectcou_idfromcourse_infowherecou_name=N'"+

comboBox1.SelectedText+"'";

DataSetds=OperateDB.ExecuteDataSet(sql);textBox4.Text=ds.Tables[0].Rows[0][0].ToString();

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

if(textBox1.Text!

=""&&comboBox1.SelectedValue!

="")

{

if(textBox3.Text!

="")

{

textBox2.Text+"','"

stringsql="insertintograde_infovalues('"++textBox4.Text+"',N'"+textBox1.Text+"','"+textBox3.Text+"',N'"+comboBox1.SelectedValue+"')";

try{

if(OperateDB.ExecuteNonQuery(sql)==1)

{

MessageBox.Show("添加成功");

}else{

MessageBox.Show("添加失败");

}

}

catch(Exceptionerr){MessageBox.Show(err.ToString());

}

}

else{

else

privatevoidbutton2_Click(objectsender,EventArgse){textBox1.Text=""

textBox2.Text=""textBox3.Text=""textBox4.Text="";}

privatevoidgradeAdd_Load_1(objectsender,EventArgse)

{this.course_infoTableAdapter.Fill(this.studentDataSet6.course_info);}

}

5.5.2统计班级信息

该界面可以统计某班级某分数段某学科成绩,并显示该分数段人数,同时显示该班级该科的及格率和优秀率,如图九

图九

主要代码如下:

privatevoidfrmtongj_Load(objectsender,EventArgse)

{this.studentinfoTableAdapter.Fill(this.studentDataSet1.studentinfo);}

privatevoidbutton1_Click(objectsender,EventArgse)

{inta=0,b=0;//设置查询数据区间

if(comboBox2.SelectedItem=="及格")

{a=60;b=100;}

elseif(comboBox2.SelectedItem=="不及格")

{a=0;b=59;}

elseif(comboBox2.SelectedItem=="60~69")

{a=60;b=69;}

elseif(comboBox2.SelectedItem=="70~79")

{a=70;b=79;}

elseif(comboBox2.SelectedItem=="80~100")

{a=80;b=100;}

elseif(comboBox2.SelectedItem=="全部")

{a=0;b=100;}

floatm,n;//定义及格人数和优秀人数

stringsql="selectstud_idas学号,stud_nameas,gradeas成绩fromgrade_infowherestud_idIN(selectstudentidfromstudentinfowherestudentclass=N'"+comboBox1.Text+"')andcou_name=N'"+comboBox3.Text+"'andgrade>='"+a+"'andgrade<='"+b+"'";

DataSetds=OperateDB.ExecuteDataSet(sql);

dataGridView1.DataSource=ds.Tables[0].DefaultView;

textBox1.Text=Convert.ToString(ds.Tables[0].Rows.Count);

stringsql4="selectstud_idfromgrade_infowherestud_idIN(select

studentidfromstudentinfowherestudentclass=N'"+comboBox1.Text+"')andcou_name=N'"+comboBox3.Text+"'";

DataSetds4=OperateDB.ExecuteDataSet(sql4);//统计该班级总人数

stringsql2="selectstud_idfromgrade_infowherestud_idIN(select

studentidfromstudentinfowherestudentclass=N'"+comboBox1.Text+"')andcou_name=N'"+

comboBox3.Text+"'andgrade>=60"

DataSetds2=OperateDB.ExecuteDataSet(sql2);

//统计该科几个认识

m=(float)ds2.Tables[0].Rows.Count/(float)ds4.Tables[0].Rows.Count;

//计算

出及格率

textBox2.Text=

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2