学生成绩管理系统的设计与实现Word格式.docx
《学生成绩管理系统的设计与实现Word格式.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统的设计与实现Word格式.docx(27页珍藏版)》请在冰豆网上搜索。
要I
一、引言1
(一)管理信息系统基础1
(二)软件工程理论的概述1
(三)软件工程理论对本系统的指导1
二、需求分析1
(一)项目开发的背景分析1
(二)项目开发的目标1
(三)项目提出的意义1
(四)国内外研究现状2
三、开发工具及编程环境2
(一)开发工具的选择2
(二)编程环境的选择2
(三)数据库的选择2
四、系统详细步骤及代码3
(一)系统的开发3
(二)功能需求描述3
(三)系统逻辑方案3
(四)登陆界面编码设计4
(五)主窗体11
(六)教师管理界面编码设计11
致
谢23
参考文献24
一、引言
(一)管理信息系统基础
管理信息系统就是我们常说的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="
请输入密码"
Text2.SetFocus
EndIf
DimrsAsNewADODB.Recordset
SelectCaseCombo1.ListIndex
Case0:
'
管理员
msql="
select*fromadminwhereadmin.admin='
&
Text1.Text&
"
andadmin.pwd='
Text2.Text&
Case1:
教师
select*fromteacherwhereteacher.name='
andteacher.pwd='
Case2:
学生
select*fromstudentwherestudent.name='
andstudent.pwd='
EndSelect
rs.Openmsql,Conn,adOpenStatic,adLockPessimistic
Ifrs.EOFThen
MsgBox("
对不起用户名密码错误请重新输入"
)
Else
Case0:
MsgBox"
『管理员』,欢迎您登陆维护本学生成绩管理系统!
『管理员』-登陆成功!
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
『老师』您好!
欢迎您使用本学生成绩管理系统!
『老师』-登陆成功!
MDIMain.Enabled=True
MDIMain.register.Enabled=False
Case2:
『同学』你好!
欢迎使用本学生成绩管理系统!
『同学』-登陆成功!
MDIMain.system1.Enabled=False
MDIMain.score.Enabled=False
MDIMain.manage.Enabled=False
MDIMain.bak.Enabled=False
MDIMain.Toolbar1.Visible=False
UnloadMe
EndSub
PrivateSubCommand1_Click()
【管理员】,欢迎您登陆维护本学生成绩管理系统!
【管理员】-登陆成功!
〖老师〗您好!
〖老师〗-登陆成功!
※同学※你好!
※同学※』-登陆成功!
PrivateSubCommand2_Click()
IfMsgBox("
提示:
您真的要退出本系统吗?
vbQuestion+vbYesNo+vbDefaultButton2,"
退出"
)=vbNoThen
Cancel=1
End
PrivateSubCommand3_Click()
PrivateSubForm_Load()
Combo1.ListIndex=0
MDIMain.Show
MDIMain.Enabled=False
(五)主窗体
在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
sqlStudent"
刷新各个绑定控件
CallgrdScan_Change
用以在浏览时,根据当前记录所出的位置不同,来改变个浏览按钮的状态
SubChangeBrowseState()
WithDataEnv.rssqlStudent
如果没有任何记录,则清空显示目录;
并且使浏览部分和管理部分的按钮无效
If.State=adStateClosedThen.Open
假如处于记录的头部
If.BOFThen
IfNot.EOFThenDataEnv.rssqlStudent.MoveFirst
cmdPrevious.Enabled=False
cmdFirst.Enabled=False
cmdPrevious.Enabled=True
cmdFirst.Enabled=True
EndIf
假如处于记录的尾部
If.EOFThen
IfNot.BOFThenDataEnv.rssqlStudent.MoveLast
cmdNext.Enabled=False
cmdLast.Enabled=False
cmdNext.