学生成绩管理系统的设计.docx

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

学生成绩管理系统的设计.docx

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

学生成绩管理系统的设计.docx

学生成绩管理系统的设计

VB课程设计

—学生成绩管理系统

前言

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。

管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。

本文介绍了在VisualBasic6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。

通过分析学生成绩管理的不足,创建了一套行之有效的计算机管理学生的方案。

文章介绍了学生成绩管理信息系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法,本系统面友好,操作简单,比较实用。

 

前言

几年的学习即将结束,经过几个月的努力,我所设计的“学生成绩管理系统”也已完成。

以往学的都是理论性很强的知识,再加上实践机会不多,更增强了我对计算机科学的兴趣。

在这段时间里,我增强了自己动手的能力,更重要的是似乎把握住了计算机的一些实质性的东西--终于能够用我所学的知识解决一些实际应用的问题了。

但我知道,数据库技术只是计算机科学的一个小小分支,计算机还有更广阔的领域有待我们去探索。

这次毕业设计是用VisulBasic语言设计的“学生成绩管理系统”,这就要求对VisulBasic语言及数据库技术能够真正了解和熟练的掌握,并且能够灵活的运用。

当今的时代是信息的时代,数据库技术是数据管理的最新方法,也是信息管理中一项非常重要的新技术,数据库管理是帮助人们处理大量信息,实现科学化和现代化的强有力工具,数据库管理子系统已发展成为通用的系统软件。

由于数据库具有数据结构化、最低冗余度、较高的程序独立性、易于扩充、易于编制应用程序等优点,因而是近年来发展非常迅猛的计算机软件。

数据库技术是数据信息管理技术的最新成果,被广泛应用于国民经济、文化教育、军事情报、科学计算、人工智能和计算机辅助设计领域,为计算机的应用开辟了广阔的天地。

第一章学生成绩管理系统

1.1需求分析

考试成绩是学生在校期间的重要历史资料,学生成绩信息的管理(成绩的录入、查询、分类统计等)是各个学校面临的一个重要问题。

该成绩管理系统主要是用于管理在校学生的考试成绩,对教、班级、学生、课程和成绩信息进行维护与管理。

本系统要求运行稳定,图形用户界面符合用户的日常使用习惯,数据处理正确无误。

1.1.1系统概述

学生成绩管理系统主要完成学生成绩的管理,包括:

(1)教师管理。

主要完成教师的添加、修改、删除和查询。

(2)班级管理。

主要完成班级的添加、修改、删除和班级列表。

(3)学生管理。

主要完成对学生信息的添加、修改、删除和查询。

(4)课程管理。

主要完成对课程信息的维护,包括课程添加、修改、删除和查询功能。

(5)成绩管理。

主要完成成绩的添加、删改和成绩杳询。

1.1.2功能需求描述

该系统的功能需求有如下几个方面:

(1)教师管理。

主要用于对教师信息进得维护。

功能包括新教师信息的添加、修改和删除已有的教师信息,对教师信息进行查询。

(2)班级管理。

主要用于对班级信息进行维护。

功能包括对班级信息的添加、删改和班级列表。

(3)学生管理。

主要用于维护学生信息。

功能包括对学生信息的添加、删改和查询。

(4)课程管理。

主要用于维护课程信息,功能包括课程的添加、删改和查询。

(5)成绩管理。

用于维护成绩信息,功能包括成绩的添加和查询。

第二章总体设计及流程图

上面的需求分析已经对系统的功能需求、环境需求做了较为明确的阐述。

根据上述需求,下面按照开发设计思想、功能模块、图形用户界面、数据库等方面阐述成绩管理系统的总体设计。

2.1开发与设计的总体思想

作为学校使用的成绩管理系统,能够满足成绩管理的基本功能需求,界面简单、操作简便是设计的一个重要考虑。

2.2系统模块结构图

2.2.1模块设计

图2-7主窗体菜单设计的效果图

1.教师管理菜单设计

(1)教师信息添加界面设计

教师信息添加界面使用文本框输入教师相关基本信息,使用组合列表框选择部门和性别。

单击添加按钮保存教师信息,单击返回按钮返回主菜单。

具体设计效果图如图2-8所示。

图2-8具体设计效果图

(2)教师信息修改删除界面设计

图2-9具体设计效果图

2.学生管理界面设计

(1)学生信息添加界面设计

学生信息添加界面使用文本框输入学生的姓名、学号、生日、电话、地址和备注信息。

同时使用了两个组合列表框,分别用于选择班级和性别。

组合列表框中的数据会在窗体加载的时候就进行初始化。

具体设计效果图如图1-11所示。

(2)学生信息删改界面设计

在学生信息删改界面中,在班级组合列表框中选择班级,该班级的所有学号会添加到学号组合列表框中,在学号组合列表框中选择学号,就会在下方显示该学生的基本信息。

根据需要单击修改按钮来修改学生信息,也可以单击删除按钮来删除该学生的信息,或是单击返回按钮返回主菜单。

具体设计效果图如图2-10所示。

图2-10具体设计效果图

(3)学生信息查询界面设计

学生信息查询办面提供了四种查询方式:

全部、按班级查询、按学号查询和按姓名查询。

提供了一个表格用于赤示查询结果。

3.课程管理界面设计

(1)课程信息添加界面设计

课程添加界面提供了文本框,用于输入课程名称、课程编号、课程学时数和学分等课程基本信息。

并且提供了两个组合列表框,分别用于选择课程类型和任课教师。

这两个组合列表框的数据是在加载窗体的时候进行初始化的。

(2)课程信息删改界面设计

课程信息删改界面提供了文本框,用于输入课程编号,单击查询按钮就会查找该课程编号所代表的课程信息,找到后将信息显示出来。

修改和删除按钮用于完成修改和删除操作。

具体设计效果图如图2-11所示。

图2-11具体设计效果图

4.成绩管理界面设计

(1)成绩录入界面设计

成绩界面使用文本框输入学生学号和课程成绩。

使用组合列表框选择课程编号。

使用表格显示查询结果。

使用两个文本框显示学生姓名和课程名称。

这两个文本框是不可编辑的。

具体设计效果图如图2-12所示。

图2-12具体设计效果图

(2)成绩删改界面设计

图2-13具体设计效果图

(3)成绩查询界面设计

成绩查询界面提供了三种查询方式:

按学号、按课程和按成绩查询。

使用表格显示查询结果。

2.2.3数据库设计

根据系统功能设计的要求以及功能模块的划分,数据库表结构设计如下。

1.学生信息表

名称:

学生信息表(见表2-1)

表名称标识:

studentInfo

数据来源:

学生管理模块进行录入。

2.教师信息表

名称:

教师信息表(见表2-2)

表名称标识:

teacherInfo

数据来源:

教师管理模块进行录入。

3.班级信息表

表2-3班级信息表

名称

字段名称

类型

主键

非空

班级编号

ClassNo

文本

Yes

Yes

班级名称

className

文本

No

Yes

4.部门信息表

表2-4部门信息表

名称

字段名称

类型

主键

非空

部门编号

Dept_no

文本

Yes

Yes

部门名称

Dept_name

文本

No

Yes

5.课程信息表

表2-5课程信息表

名称

字段名称

类型

主键

非空

序号

No

自动编号

Yes

Yes

课程编号

Course_no

文本

No

Yes

课程名称

Course_name

文本

No

Yes

课程类型

Course_type

文本

No

Yes

学时数

Course_hours

数字

No

Yes

学分

Score

数字

No

Yes

授课教师

Teacher

文本

No

Yes

6.成绩信息表

表2-6成绩信息表

名称

字段名称

类型

主键

非空

编号

No

自动编号

Yes

Yes

学号

Stu_no

文本

No

Yes

课程号

Course_no

文本

No

Yes

成绩

Score

数字

No

Yes

第三章详细设计

基于系统需求分析与系统总体设计的结论,本系统采用VisualBasic6.0实现各模块的功能,下面按照功能模块的划分来分别阐述系统的详细设计和实现过程。

3.1学生管理模块

1.功能描述

为用户提供学生信息的添加、修改、删除和查询界面,完成学生信息的添加、修改、删除和查询功能。

2.窗体和源文件定义

该功能模块涉及到的窗体名称和文件名参见表3-1。

表3-1窗体列表

窗体各称

窗体文件名

作用

frmStudent

frmStudent.frm

用于学生信息添加

frmUpdateStudent

frmUpdateStudent.frm

用于修改、删除学生信息

frmQueryStudent

frmQueryStudent.frm

用于查询学生信息

Module1

Module1.bas

用于定义全局变量和公用函数

3.2教师管理模块

1.功能描述

该模块提供教师信息的添加、修改、删除和查询界面,完成教师信息的添加、修改、删除和查询功能。

2.窗体和源文件定义

表3-3窗体列表

窗体名称

窗体文件名

作用

frmAddTeacher

frmAddTeacher.frm

用于教师信息添加

frmUpdateTeacher

frmUpdateTeacher.frm

用于修改、删除教师信息

frmQueryTeacher

frmQueryTeacher.frm

用于查询教师信息

3.变量声明

‘窗体模块中的声明

PublicsqlstrAsString

PublicmsgTextAsString

‘代码模块中的声明

PublicdbpathAsString

PublicconnStrAsString

4.函数与方法声明

表3-4主要函数与方法

窗体名称

函数/方法名

作用

frmAddTeacher

SubinitDepartment()

在组合列表框中列出所有部门名称

SubinitForm()

初始化窗体上的文本框和组合列表框

PrivatesubcmdOK_Click()

添加教师信息

frmUpdateTeacher

SubinitDepartment()

在组合列表框中列出所有部门名称

SubinitTeacherNo()

在组合列表框中列出所有教师编号

SubgetTeacherNo()

获取教师信息

PrivatesubcmdDelete_click()

删除教师信息

privatesubcmdUpdate_click()

修改教师信息

frmQueryTeacher

SubinitDepartment()

在组合列表框中列出所有部门名称

SubinitTitles()

在组合列表框中列出所有的职称

PrivatesubqueryTeacher()

查询教师信息

处理:

1)获取信息输入窗口中填写的数据。

2)执行查询得到结果集,然后调用结果集对象的addNew方法。

3)设置各个字段的值。

4)调用update方法更新结果集,完成教师信息添加。

输出:

将数据写入教师信息表

程序清单:

与学生信息添加代码类似,请参考本书提供的源代码。

(3)frmUpdateTeacher窗体:

privatesubcmdUpdate_Click()

功能:

主要用来完成教师信息的修改,将窗体上修改后的信息添加到数据库中。

输入:

教师信息删改窗体上输入的数据。

处理:

1)获取信息输入窗口中填写的数据并得到SQL语句。

2)执行SQL语句完成数据修改。

输出:

将修改后的数据写入教师信息表。

程序清单:

PrivatesubcmdUpdate_Click()

DimconnAsADODB.Connection

sqlStr=“UPDATEteacherInfoset[birthdate]=#”&txtBirth&“#,[department]=’”&cboDept(0).Text&“’,[telno]=’”&txtTel.Text&”’,[title]=’”&txtTitle.Text&”’”&“whereteacher_no=’”&txtNo.Text&“’”

onErrorGoToexitsub

setconn=NewADODB.Connection

conn.OpenconnStr

conn.Executesqlstr

MsgBox“成功修改数据!

!

Exitsub:

Conn.close

initDepartment

endsub

3.5成绩管理模块

1.功能描述

该模块提供成绩信息的录入、修改、删除和查询界面,完成成绩信息的录入、修改、删除和查询功能。

2.窗体和源文件定义

该功能模块涉及到的窗体名称和文件名参见表3-9。

表3-9窗体列表

窗体名称

窗体文件名

作用

frmAddScore

frmAddScore.frm

用于成绩信息添加

frmUpdateScore

frmUpdateScore.frm

用于修改、删除成绩信息

frmQueryScore

frmQueryscore.frm

用于查询成绩信息

3.变量声明

‘窗体模块中的声明

PublicsqlstrAsString

PublicmsgTextAsString

‘代码模块中的声明

PublicdbpathAsString

PublicconnStrAsString

4.函数与方法声明

表3-10主要函数与方法

窗体名称

函数/方法名

作用

frmAddScore

SubinitCourseNo()

在下拉列表框中显示所有课程号

PrivatesubtxtStuNo_KeyPress(KeyAsciiAsInteger)

文本框响应回车键,如果输入学号后回车,就会查找并显示学生姓名

PrivatesubcboCourseNo_Click()

在组合列表框中选择课程编号,触发click事件,查找显示课程名称

PrivatesubcmdOK_Click()

向数据库中添加成绩信息

frmUpdateScore

SubinitCourseNo()

在下拉列表框中显示所有课程号

SubgetScoreInfo()

从数据库中查找成绩信息

PrivatesubcmdUpdate_click()

修改成绩信息

PrivatesubcmdDelete_Click()

删除成绩信息

frmQueryScore

PrivatesubcmdOK_Click()

查询成绩

(1)frmAddScore窗体:

privatesubtxtStuNo_KeyPress(KeyAsciiAsInteger)

功能:

相应键盘事件,如果是回车键,则按学号查询学生姓名。

输入:

按键的ASCII码。

处理:

1)判断按键是否为回车键。

2)如果为回车键,刚转3,否则退出。

3)查询学生姓名并显示出来。

输出:

学生姓名。

程序清单:

PrivatesubtxtStuNo_keypress(keyAsciiAsInteger)

DimrstStudentAsADODB.Recordset

IfKeyAscii=13Then

sqlStr=“selectnamefromstudentInfo”

setrststudent=ExecuteSQL(sqlStr,msgText)

IfNotrstStudent.EOFThen

txtName=rstStudent.Fields(0)

Else

MsgBox“未找到学生的信息记录!

”,vbOKOnly+vbExclamation,“警告”

Exitsub

EndIf

rstStudent.Close

EndIf

Endsub

(2)frmAddScore窗体:

privatesubcmdOK_Click()

功能:

将窗体中的成绩信息添加到数据库中。

输入:

成绩添加窗体中填写的数据。

处理:

1)获取信息输入窗口中填写的数据。

2)执行查询得到结果集,然后调用结果集对象的addNew方法。

3)设置各个字段的值。

4)调用update方法更新结果集,完成成绩信息添加。

输出:

将成绩信息写入数据库。

程序清单:

Privatesubcmdok_click()

DimrstScoreAsADODB.Recordset

DimstuNoAsString

DimcourseNoAsString

DimscoreAsString

‘获取数据

stuNo=Trim(txtstuNo.Text)

courseNo=Trim(cboCourseNo.Text)

score=Trim(txtScore.Text)

IfstuNo=“”orscore=“”Then

MsgBox“请将信息补充完整”,vbOKOnly+vbExclamation,“警告”

Exitsub

EndIf

‘添加新记录

sqlStr=”select*fromscoreInfo”

setrstScore=ExecuteSQL(sqlStr,msgText)

rstScore.AddNew

rstScore.Fields(“stu_no”)=stuNo

rstScore.Fields(“course_no”)=courseNo

rstScore.Fields(“course_score”)=score

rstScore.Update

rstScore.Close

MsgBox“成绩信息添加完成!

”,vboOKOnly+vbExclamation,“警告”

initForm

Endsub

(3)frmUpdateScore窗体:

subgetScoreInfo()

功能:

根据课程编号和学号,从数据库中读取成绩信息、课程名和学生名。

输入:

课程编号和学号。

处理:

1)获取课程名称和学号,得到多表查询的SQL语句。

2)执行查询得到结果集。

3)从结果集中读取各个字段的值并显示出来。

输出:

学生姓名、课程名称、考试成绩。

程序清单:

SubgetScoreInfo()

DimrstScoreAsADODB.Recordset

‘从数据库中读取成绩相关信息并添加到窗体中的输入框

sqlStr=“selectname,course_name,coure_scorefrom

courseInfo,studentInfo,scoreInfo”&“wherescoreInfo.course_no=’”&cbocourseNo.text&“’”&“ANDscoreInfo.course_no=courseInfo.course_no”&“ANDscoreInfo.stu_no=studentInfo.stu_no”&“ANDscoreInfo.stu_no=’”&txtStuNo.Text&“’”

txtName=Trim(rstScore.Fields(“name”))

txtCourseName.Text=trim(rstScore.Fields(“dourse_name”))

txtScore.Text=Trim(rstScore.Fields(“course_score”))

Else

MsgBox“没找到符合条件的数据!

”,vbOKOnly+vbExclamation,“警告”

Exitsub

EndIf

rstScore.Close

Endsub

(4)frmQueryScore窗体:

privatesubcmdOk_Click()

功能:

根据查询条件查找成绩信息。

输入:

查询方式和关键字。

处理:

1)获取查询方式和输入的关键字。

2)形成SQL语句,执行SQL语句得到结果集。

3)从结果集中读取全部数据,并在表格中显示出来。

输出:

符合查询条件的课程成绩信息。

程序清单:

Dimsqlstr1AsString

Dimsqlcond1AsString

Dimsqlcond2AsString

Dimsqlcond3AsString

DimsignAsBoolean

Sqlcond1=“”

Sqlcond2=“”

Sqlcond3=“”

Sign=False

Sqlstr=”selectstudentInfo.stu_noasstuNo.studentInfo.nameasstuName,”_

&“courseInfo.course_nameascourseName,scoreInfo.course_scoreasscore”&_

“fromstudentInfo,courseInfo,scoreInfoWHERE”

‘检查是否已选择了查询条件

IfchkOp(0).value<>1AndchkOp91).value<>1AndchkOp

(2).value<>1Then

MsgBox“请选择查询条件!

Exitsub

Endif

‘获得子查询条件

IfchkOp(0).value=1Then

Sqlcond1=“studentInfo.stu_no=’”&Trim(txtstuNo.Text)&“’”

EndIf

IfchkOp

(1).value=1Then

Sqlcond2=“scoreInfo.course_no=’”&Trim(txtCourseNo.Text)&“’”

EndIf

IfchkOp

(2).value=1Then

IfcboOperator.Text<>“between”Then

Sqlcond3=“scoreInfo.course_score”&cboOperator.Text&Trim(txtscore1.Text)

Else

Sqlcond3=“scoreInfo.course_score”&cboOperator.Text&“”&Trim(txtScore1.Text)&“AND”&Trim(txtScore2.Text)

EndIf

EndIf

Ifsqlcond1<>“”Then

Sqlstr=sqlstr&sqlcond1

Sign=true

EndIf

EndIf

Ifsqlcond3<>“”Then

If

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

当前位置:首页 > 小学教育 > 语文

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

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