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

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

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

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

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

学生成绩管理系统的设计与实现

学生成绩管理系统的设计与实现

摘 要:

本论文叙述了我校学成绩管理的现状以及Visualbasic6.0语言的概况。

重点介绍了学生成绩管理系统的实现过程:

包括系统分析、 系统调查、 数据流程分析、功能设计、 数据库设计、 系统物理配置方案、 系统实现、 系统测试和调试。

本系统主要功能有用户管理、学生注册、班级信息录入、学生信息录入、班级课程录入、学校专业信息录入、课程信息录入、学生成绩录入、教师信息录入、数据查询、打印输出等功能。

总结了本系统的特点:

界面美观、操作方便、容错性强、效率高,从而节约学生成绩管理成本。

本论文主要内容是:

简要介绍了本系统的应用背景、需求分析,设计总体思路。

概述了管理信息系统的相关理论及开发语言的有关知识,对本系统进行了系统分析和设计,包括功能需求描述、数据库设计等内容。

介绍了本系统的具体实现。

关于本系统开发过程中的结论及体会.

本系统主要使用VisualBasic语言作为前台界面设计,后台使用Access数据库来完成学生成绩管理系统。

Access数据库,其稳定安全简单的设计风格,为本系统的开发减少许多困难。

本论文只详细论述查询管理模块、添加读者管理模块和打印模块,界面友好,操作简便。

关键词:

数据库;智能化;面向对象

 

 

一、引言

(一)管理信息系统基础

管理信息系统就是我们常说的MIS(ManagementInformationSystem),是集成了计算机网络技术、信息处理技术,对信息进行收集处理、传输及存储,进行事务管理的一种人机交互的智能化计算机系统。

(二)软件工程理论的概述

软件工程是一门旨在研究计算机软件开发与维护的普遍原理和技术的工程学科。

它的研究范围涉及到技术方法、软件工具、科学管理等诸多方面。

实践证明:

在软件的设计和开发过程中,运用软件工程的方法,可以大大提高软件开发的成功率,能够显著减少软件开发和维护中的问题。

(三)软件工程理论对本系统的指导

学生成绩管理系统的设计和开发是一个较为庞大的系统工程,应以软件工程的思想和方法为指导,进行设计和开发。

软件工程理论对本系统的指导,主要表现在:

帮助我们理清思路,建立较为科学的结构和开发制作流程方面。

上述的各种理论,对我们设计和开发学生成绩管理系统提供了重要的理论基础,同时也为我们如何进行具体的设计和开发工作,提供了必要的思路和方法。

二、需求分析

(一)项目开发的背景分析

几年前,各个学校的学生成绩管理基本上都是靠手工进行,随着各个学校的规模增大,有关学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。

但手工管理具有效率底、易出错、检索信息慢、对学校的管理提供决策信息较为困难等缺点。

我校尽管部分学院或系已开出学生成绩管理系统,但开发的系统不具有通用性,所以我想借本次毕业设计之际,开发一个通用高校学生成绩管理系统。

(二)项目开发的目标

建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。

帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化

(三)项目提出的意义

现在我国的大中专院校的学生成绩管理水平普遍不高,有的还停留在纸介质基础上,这种管理手段已不能适应时代的发展,因为它浪费了了许多的人力和物力。

在当今信息时代这种传统的管理方法必然被计算机为基础的信息管理系统所代替。

如果本系统能被学校所采用,将会改变以前靠手工管理学生成绩的状况,可以树立良好的办学形象,提高工作效率。

学生信息管理系统是为本校开发的,本系统所采用的语言是VisualBasic语言,通过本校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。

(四)国内外研究现状

在教育技术水平比较发达的国家,前几年就已经开发成绩管理系统,但都是根据他们本国的实际情况来进行开发的,在语言文字、价格及对象的要求等方面都不符合我国的国情。

在国内,虽然现在也有很多的成绩管理系统,但大多是封闭性的。

三、开发工具及编程环境

(一)开发工具的选择

基于系统的需求分析以及系统的应用,系统将采用微软的VisualStudio6.0简体中文版进行开发,所选择的语言是VisualBasci6.0,微软公司的VisualBasic开发系统6.0版,是开发效率极高的用于创建高性能组件和应用程序的工具。

VisualBasic6.0可支持开发人员基于客户端或服务器端创建优秀的应用程序,或是在分布式n层环境下操作。

VisualBasic是快速应用程序开发(RAD)工具,可作为独立的产品使用,也可作为VisualStudio6.0套件的一部分使用。

(二)编程环境的选择

微软公司的VisualBasic6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。

VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。

故而,实现本系统VisualBasic6.0是一个相对较好的选择。

Windows下的VisualBasic面对对象的编程

面对对象的编程;面向对象的设计方法(OOP,ObjectedProgramming)从应用领域内的问题着手,以直观自然的方式描述客观世界的实体。

VisualBasic作为一种面向对象的编程方法,把程序和数据封装起来作为一个对象,并为每个对象赋予相应的属性。

在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,由VisualBasic自动生成对象的程序代码并封装起来。

VisualBasic应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。

开发人员可以最有效利用所创建的每一个对象。

使用应用程序具有可通用性可说扩展性和强有力的功能。

VisualBasic应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。

(三)数据库的选择

数据库是信息系统的核心和基础,是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。

而数据库设计是信息系统开发和建设的重要组成部分,是指对于一个给定的应用环境构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足用户的需求。

本系统采用Access数据库作为数据后台。

建立各表之间的关系,通过主表与子表之间的关系,清晰的显现出本系统的数据关系,方便本组其他成员进行数据的调用与查询。

针对一般学生成绩管理信息系统的需求,通过对成绩管理过程的内容和数据流程分析,可以设计出该系统的数据项和数据结构:

1、“学生信息”的数据项有:

学号、姓名、班级、生日、性别、身份证号,登录系统密码等;

2、“课程信息”的数据项有:

课程编号、课程名称、学时和课程类型等

3、“学生成绩信息”的数据项有:

学号、姓名、班级、选修课程、考试成绩,初考成绩1,初考成绩2等。

4、“班级信息”的数据项有:

班级号,班级名称,入学年份,所在院系专业。

5、“院系信息”的数据项有:

编号,名称,简述。

6、“教师信息”的数据项有:

编号,姓名,性别,生日,所在院系,电话,家庭住址,简历,登录系统密码

7、“管理员信息”的数据项有:

名称,密码。

8、“专业信息”的数据项有:

序号,名称,系别。

四、系统详细步骤及代码

(一)系统的开发

学生成绩管理系统对学校加强学生成绩的管理有着极其重要的作用。

由于各个大学都在持续扩招,学生的数量日益庞大,传统的手工成绩管理不仅工作量大,而且容易出现问题。

而本系统则是在以前成绩管理系统的基础之上开发出来的。

(二)功能需求描述

按学生角度管理教师可以看到学生信息和成绩信息。

学生信息包括学生姓名,各科成绩及班级排名等,可以自动显示出该课程的这个学生所有课程的学习成绩,并同时自动计算出这个学生的总分。

在成绩信息中,教师可以对学习成绩进行增加、修改和删除,字体可大可小。

(三)系统逻辑方案

系统数据流图(简称为DFD)(限于篇幅,仅列举部分)

信息录入数据流图如图4-1所示。

 

图4-1信息录入流图

信息查询流图如图4-2所示。

图4-2学生信息查询流图

(四)登录界面编码设计

首先是进入登录界面,如图4-4所示,本窗体显示系统名称,密码校验等信息,本系统的用户分为三类:

管理员,教师,学生。

使用者可以在组合框中选择所要登录的用户的类型,并输入相应的用户名和密码,单击“确定”就会将输入提交给系统以验证用户、密码及身份。

如果用户类型及密码正确,则会进入系统的MDI主窗体(MDIMain.frm).

本模块的流程图如图4-3所示。

 

图4-3登录流程图

图4-4登录界面

代码如下:

PrivateSubCmdOk_Click()

DimConnAsNewADODB.Connection

DimmlinkAsString

mlink="provider=microsoft.jet.oledb.3.51;datasource=score.mdb;"

Conn.Openmlink

'当用户名密码为空时给出提示

IfText1.Text=""Then

MsgBox"请输入用户名",vbOKOnly,"注意"

Text1.SetFocus

ExitSub

ElseIfText2.Text=""Then

MsgBox"请输入密码",vbOKOnly,"注意"

Text2.SetFocus

ExitSub

EndIf

DimrsAsNewADODB.Recordset

SelectCaseCombo1.ListIndex

Case0:

'管理员

msql="select*fromadminwhereadmin.admin='"&Text1.Text&"'andadmin.pwd='"&Text2.Text&"'"

Case1:

'教师

msql="select*fromteacherwhereteacher.name='"&Text1.Text&"'andteacher.pwd='"&Text2.Text&"'"

Case2:

'学生

msql="select*fromstudentwherestudent.name='"&Text1.Text&"'andstudent.pwd='"&Text2.Text&"'"

EndSelect

rs.Openmsql,Conn,adOpenStatic,adLockPessimistic

Ifrs.EOFThen

MsgBox("对不起用户名密码错误请重新输入")

Else

SelectCaseCombo1.ListIndex

Case0:

'管理员

MsgBox"『管理员』,欢迎您登陆维护本学生成绩管理系统!

",vbOKOnly,"『管理员』-登陆成功!

"

MDIMain.Enabled=True

MDIMain.register.Enabled=True

MDIMain.system1.Enabled=True

MDIMain.score.Enabled=True

MDIMain.manage.Enabled=True

MDIMain.bak.Enabled=True

MDIMain.table.Enabled=True

MDIMain.log.Enabled=False

MDIMain.again.Enabled=True

MDIMain.Toolbar1.Visible=True

UnloadLogin

Case1:

'教师

MsgBox"『老师』您好!

欢迎您使用本学生成绩管理系统!

",vbOKOnly,"『老师』-登陆成功!

"

MDIMain.Enabled=True

MDIMain.register.Enabled=False

MDIMain.system1.Enabled=True

MDIMain.score.Enabled=True

MDIMain.manage.Enabled=True

MDIMain.bak.Enabled=True

MDIMain.table.Enabled=True

MDIMain.log.Enabled=False

MDIMain.again.Enabled=True

MDIMain.Toolbar1.Visible=True

UnloadLogin

Case2:

'学生

MsgBox"『同学』你好!

欢迎使用本学生成绩管理系统!

",vbOKOnly,"『同学』-登陆成功!

"

MDIMain.Enabled=True

MDIMain.register.Enabled=False

MDIMain.system1.Enabled=False

MDIMain.score.Enabled=False

MDIMain.manage.Enabled=False

MDIMain.bak.Enabled=False

MDIMain.table.Enabled=True

MDIMain.log.Enabled=False

MDIMain.again.Enabled=True

MDIMain.Toolbar1.Visible=False

UnloadLogin

EndSelect

UnloadMe

EndIf

EndSub

PrivateSubCommand1_Click()

DimConnAsNewADODB.Connection

DimmlinkAsString

mlink="provider=microsoft.jet.oledb.3.51;datasource=score.mdb;"

Conn.Openmlink

'当用户名密码为空时给出提示

IfText1.Text=""Then

MsgBox"请输入用户名",vbOKOnly,"注意"

Text1.SetFocus

ExitSub

ElseIfText2.Text=""Then

MsgBox"请输入密码",vbOKOnly,"注意"

Text2.SetFocus

ExitSub

EndIf

DimrsAsNewADODB.Recordset

SelectCaseCombo1.ListIndex

Case0:

'管理员

msql="select*fromadminwhereadmin.admin='"&Text1.Text&"'andadmin.pwd='"&Text2.Text&"'"

Case1:

'教师

msql="select*fromteacherwhereteacher.name='"&Text1.Text&"'andteacher.pwd='"&Text2.Text&"'"

Case2:

'学生

msql="select*fromstudentwherestudent.name='"&Text1.Text&"'andstudent.pwd='"&Text2.Text&"'"

EndSelect

rs.Openmsql,Conn,adOpenStatic,adLockPessimistic

Ifrs.EOFThen

MsgBox("对不起用户名密码错误请重新输入")

Else

SelectCaseCombo1.ListIndex

Case0:

'管理员

MsgBox"【管理员】,欢迎您登陆维护本学生成绩管理系统!

",vbOKOnly,"【管理员】-登陆成功!

"

MDIMain.Enabled=True

MDIMain.register.Enabled=True

MDIMain.system1.Enabled=True

MDIMain.score.Enabled=True

MDIMain.manage.Enabled=True

MDIMain.bak.Enabled=True

MDIMain.table.Enabled=True

MDIMain.log.Enabled=False

MDIMain.again.Enabled=True

MDIMain.Toolbar1.Visible=True

UnloadLogin

Case1:

'教师

MsgBox"〖老师〗您好!

欢迎您使用本学生成绩管理系统!

",vbOKOnly,"〖老师〗-登陆成功!

"

MDIMain.Enabled=True

MDIMain.register.Enabled=False

MDIMain.system1.Enabled=True

MDIMain.score.Enabled=True

MDIMain.manage.Enabled=True

MDIMain.bak.Enabled=True

MDIMain.table.Enabled=True

MDIMain.log.Enabled=False

MDIMain.again.Enabled=True

MDIMain.Toolbar1.Visible=True

UnloadLogin

Case2:

'学生

MsgBox"※同学※你好!

欢迎使用本学生成绩管理系统!

",vbOKOnly,"※同学※』-登陆成功!

"

MDIMain.Enabled=True

MDIMain.register.Enabled=False

MDIMain.system1.Enabled=False

MDIMain.score.Enabled=False

MDIMain.manage.Enabled=False

MDIMain.bak.Enabled=False

MDIMain.table.Enabled=True

MDIMain.log.Enabled=False

MDIMain.again.Enabled=True

MDIMain.Toolbar1.Visible=False

UnloadLogin

EndSelect

UnloadMe

EndIf

EndSub

PrivateSubCommand2_Click()

IfMsgBox("提示:

您真的要退出本系统吗?

",vbQuestion+vbYesNo+vbDefaultButton2,"退出")=vbNoThen

Cancel=1

Else

End

EndIf

EndSub

 

PrivateSubCommand3_Click()

IfMsgBox("提示:

您真的要退出本系统吗?

",vbQuestion+vbYesNo+vbDefaultButton2,"退出")=vbNoThen

Cancel=1

Else

End

EndIf

EndSub

PrivateSubForm_Load()

Combo1.ListIndex=0

MDIMain.Show

MDIMain.Enabled=False

EndSub

(五)主窗体

在frmlogin窗体中如果用户登录成功,将会出现如图4-5所示的MDI主窗体。

图4-5系统主窗体

若是学生用户,则有些菜单项不可用,只能运行本系统的部分功能(即重新登录和信息查询功能可用)。

如图4-6所示。

图4-6系统主窗体

(六)教师管理界面编码设计

本节以按学生角度进行管理为例,介绍教师管理的编码设计。

教师用户进入“成绩管理”中的“按学生进行管理”功能,出现如图4-7所示界面。

图4-7“按学生进行管理”学生信息功能界面

教师用户用鼠标双击学生信息后,系统会显示出该学生的成绩信息。

如图4-8所示。

图4-8“按学生进行管理”成绩信息功能界面

OptionExplicit

'''当改变记录集时,需要刷新整个网格控件

SubRefreshGrid()

grdScan.DataMember=""

grdScan.Refresh

IfDataEnv.rssqlStudent.State<>adStateClosedThenDataEnv.rssqlStudent.Close

DataEnv.rssqlStudent.Open

grdScan.DataMember="sqlStudent"

grdScan.Refresh

''刷新各个绑定控件

CallgrdScan_Change

EndSub

'''用以在浏览时,根据当前记录所出的位置不同,来改变个浏览按钮的状态

SubChangeBrowseState()

WithDataEnv.rssqlStudent

''如果没有任何记录,则清空显示目录;并且使浏览部分和管理部分的按钮无效

If.State=adStateClosedThen.Open

'''假如处于记录的头部

If.BOFThen

IfNot.EOFThenDataEnv.rssqlStudent.MoveFirst

cmdPrevious.Enabled=False

cmdFirst.Enabled=False

Else

cmdPrevious.Enabled=True

cmdFirst.Enabled=True

EndIf

'''假如处于记录的尾部

If.EOFThen

IfNot.BOFThenDataEnv.rssqlStudent.MoveLast

cmdNext.Enabled=False

cmdLast.Enabled=False

Else

cmdNext.Enabled=True

cmdLast.Enabled=True

EndIf

EndWith

EndSub

''通过当前学生的成绩,来得到该学生的总成绩和平均成绩

SubCalculate(sSerialAsString)

DimrsAsNewADODB.Recordset

Dimstr

str="selectavg(score)asavg_score,sum(score)assum_scorefromscorewherestudentid='"&sSerial&"'"

rs.Openstr,Data

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

当前位置:首页 > 自然科学 > 物理

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

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