1、学生成绩管理系统 题 目 学生信息管理系统 姓 名 学 号 学 院 专 业 班 级 指导教师 日 期 目 录摘 要 3关键字: 3前 言 3(一)作业背景(二)选题说明(三)主要内容一、系统的理论与技术基础 4(一)管理信息系统基础 4(二)软件工程理论的概述 4(三)软件工程理论对本系统的指导 4二、系统的分析 5(一)项目开发的背景分析 5(二)系统的目标 6(三)系统的可行性分析 63、系统设计.7(一) 新系统的功能结构图 .7(二) 新系统流程设计图 .8(三) 代码设计 (关键代码,后附清单).81.关于学生信息管理系统启动窗体 .82.登陆窗口 103.管理系统选项窗口 124.
2、教师查询管理窗口 155.学生信息查询窗口 226.查找窗体 23 (四) 系统物理配置方案设计 系统的开发工具及编程环境 261.开发工具的选择 262.编程环境的选择 273. Visual Basic 系统实现菜单选项 274. Visual Basic 系统实现菜单选项 27系统数据库的使用 291 系统数据库的选择 292 数据的保存和读取 293 数据库文件的易用性 304 E-R图 305数据库文件格式.30(五)输出设计1.学员登录实现预期功能后得到的界面.322.教员登录实现预期功能后得到的界面.33结 论 33致 谢 34参考文献 34学生成绩管理系统摘 要学生信息管理系统
3、是典型的信息管理系统,经过分析,我们使用MICROSOFT公司的VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。关键字:数据库,智能化,面向对象ABSTRACT:The abstract student information management system is the typical information management system, the process analysis, We use MICROSOFT Corporation VIS
4、UAL the BASIC development kit, uses each kind of object-oriented development kit which it provides, especially first in a short time establishes the system application prototype, then, carries on the demand iteration to the initial prototype system, revises and the improvement unceasingly, until for
5、ms user satisfaction the feasible system.Key words:Database,intelligence,object-oriented前 言 (一)作业背景随着学校规模的不断扩大,学生数量急剧增加,有关学生的各科成绩信息量也成倍增长。面对庞大的成绩信息,需要学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到成绩的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,对学生来说也可以轻松的查阅自己在校的成绩以及信息等。但是一直以来
6、人们都是靠传统人工的方式管理学生成绩,这种管理方式存在着许多缺点,如:效率低,保密性差,另外时间一长,将产生大量的文件和数据,这对于查找,更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机对学生信息进行管理,有着手工管理所无法比拟的优点。例如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等。这些优点能够极大地提高学生信息管理的效率,方便系统管理员对学 生成绩等信息的添加,修改,删除,查询,留言等操作,同时一样的方面学生对自己各科成绩查询,学习的交流。(二)选题说明我们根据社会教育系统的需求,选择了开发学生管理信息系统。本系统主要用于学生成绩管理,总体任务是实现学生
7、成绩信息的系统化、规范化和自动化。其主要任务是用计算机对学生各科成绩进行管理,如修改、增加、删除,另外还考虑到学生名次的排序等,针对这些要求设计了学生成绩管理系统。其功能主要有:1)有关学生信息的输入,包括输入学生所在班级、所学课程和成绩等 2)学生课程的修改 3)学生名次的排序。(三)主要内容 我们首先进行系统分析,确立系统的目标,分析系统的可行性,通过调查得出我们需要系统实现的功能。当把这些理论基础确立后,我们开始进行系统设计,通过流程图的绘制,分析得出系统的功能结构图,根据设计的功能结构图,我们进行代码设计,不断修改完善代码,最终实现系统的预期功能。一、系统的理论与技术基础 (一)管理信
8、息系统基础管理信息系统就是我们常说的MIS (Management Information System),是集成了计算机网络技术、信息处理技术,对信息进行收集处理、传输及存储,进行事务管理的一种人机交互的智能化计算机系统。 (二)软件工程理论的概述软件工程是一门旨在研究计算机软件开发与维护的普遍原理和技术的工程学科。它的研究范围涉及到技术方法、软件工具、科学管理等诸多方面。实践证明:在软件的设计和开发过程中,运用软件工程的方法,可以大大提高软件开发的成功率,能够显著减少软件开发和维护中的问题。 (三)软件工程理论对本系统的指导学生成绩管理系统的设计和开发是一个较为庞大的系统工程,应以软件工程
9、的思想和方法为指导,进行设计和开发。软件工程理论对本系统的指导,主要表现在:帮助我们理清思路,建立较为科学的结构和开发制作流程方面。上述的各种理论,对我们设计和开发学生成绩管理系统提供了重要的理论基础,同时也为我们如何进行具体的设计和开发工作,提供了必要的思路和方法。二、系统的分析 (一)项目开发的背景分析当今时代是飞速发展的信息时代,在各行各业中离不开信息管理处理,这正是计算机被广泛应用于管理系统的原因。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行管理控制,不仅提高了工作效率,而且大大的提高了其安全性,尤其对于复杂的管理,计算机能够充分发挥它的优越性。管理系统是进行信息的采集、
10、存储、加工、维护和使用的系统,它是随着管理科学和技术科学的发展而形成的。学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统能为用户提供充足的管理手段,对学生来说可以轻松的查阅自己在校的成绩及排名。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点。例如:查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化、正
11、规化管理并与世界接轨的重要条件。因此,开发这样一套成绩管理系统成为很有必要的事情。学生成绩管理系统提供了强大的学生成绩管理功能,方便系统管理员对学生成绩等信息的添加、修改、删除、查询等操作。 (二)系统的目标在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用。如今,不管是小学、初中、高中甚至是很多大学生的学生成绩管理,基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大,越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理。但是人工管理成绩档案具有效率低、查找麻烦等因素。在
12、今天信息时代,这种传统的管理方法必然会被计算机为基础的信息管理系统所代替。本系统主要信息流程为:接受班级信息,学生成绩录入,维护学生成绩,并交于信息维护,再把成绩存入数据库中。采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。由于采用统一的数据信息,使相关资料能够快速地找到所需的数据、资料及其它信息,使信息快速高效的运行。 (三)系统可行性分析:由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实
13、现。数据库是 MIS 中的重要支持技术,在 MIS 开发过程中,如何选择数据库管理 是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言介绍如下: Visual Basic 是一种可视化的、面对对象和调用事件驱动方式的结构化 高级程序设计,可用于开发 Windows 环境下的种类应用程序。它简单易学、效率 高,且功能强大。在 Visual Basic 环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,可以高效、快速地开发出 Windows 环境下功能强大、图 形界面丰富的应用软件系统。
14、学生信息管理系统是为本校开发的,本系统所采用的语言是Visual Basic语言,通过本校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。三、系统设计 (一)系统的功能结构图 (二)系统的流程设计图 (三)代码设计 本系统由6个窗体组成,以下是6个窗体的图示及代码。 1.关于学生信息管理系统启动窗体Option Explicit该窗体有两个作用,一为系统启动时的窗体,二为系统运行时的“关于.”窗体,而mbAbout即为标识若mbAbout为true, 则表示为系统启动时的窗体若mbAbout为false,则表示为系统运行时的“关于.”
15、窗体Public mbAbout As BooleanSub UnloadForm() Unload Me 如果当前为系统启动时所显示窗体,则在退出本窗体之后,需要加载登录窗体 If Not mbAbout Then frmLogin.ShowEnd Sub以下各代码,表示:如果点击窗体上的任何部分,或者按下任一个键,都会调用UnloadForm子程序Private Sub Form_Click() UnloadFormEnd SubPrivate Sub Form_KeyPress(KeyAscii As Integer) UnloadFormEnd SubPrivate Sub fraEd
16、ge_Click() UnloadFormEnd SubPrivate Sub imgLogo_Click() UnloadFormEnd SubPrivate Sub lblInfo_Click(Index As Integer) UnloadFormEnd Sub 2.登陆窗口:部分代码如下:Option Explicit表示当前用户登录所选择的身份,即用户类型, 0-表示教员;1-表示学生Dim mnUserType As IntegerPrivate Sub cmdCancel_Click() Unload MeEnd SubPrivate Sub cmdOK_Click() 取得用户
17、输入的用户名和密码 Dim user As String, pwd As String user = txtUser pwd = txtPwd 根据不同的身份,选择不同的表用以查询 Dim r As New ADODB.Recordset Set r = DataEnv.rssqlSeek Dim strSQL As String Select Case mnUserType Case 0: 若身份为管理员 strSQL = select * from admin where name= & user & and pwd= & pwd & Case 1: 若身份为学生 strSQL = sel
18、ect * from student where name= & user & and serial= & pwd & End Select 3.管理系统选项窗口:代码如下:Public msUserName As StringPrivate Sub MDIForm_Activate()根据不同的用户类型,使相应的菜单项可见 Select Case mnUserType Case 0: 以管理员身份登录 mnuFind.Visible = True Case 1: 以学生身份登录, 只能查询自己的信息 mnuFind.Visible = False End SelectEnd SubPriva
19、te Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer) If MsgBox(真的要对出本系统吗?, vbQuestion + vbYesNo + vbDefaultButton2, 退出) = vbNo Then Cancel = 1 End IfEnd SubPrivate Sub mnuAbout_Click() 显示“关于.”窗口 Load frmSplash frmSplash.mbAbout = True frmSplash.Show vbModalEnd SubPrivate Sub mnuExit_
20、Click() Unload MeEnd SubPrivate Sub mnuFind_Click() frmStudent.Show frmStudent.cmdSeek.Value = TrueEnd SubPrivate Sub mnuLogin_Click() If MsgBox(若重新登录,所有窗体都将关闭!是否重新登录?, _ vbQuestion + vbYesNo + vbDefaultButton2, 重新登录) = vbYes Then Unload MDIMain frmLogin.Show End IfEnd SubPrivate Sub mnuStudent_Clic
21、k() If mnUserType = 0 Then 若为管理员用户 frmStudent.Show Else 若为学生类用户 frmView.Show End IfEnd Sub 4.教师查询管理窗口:代码如下: str = txtSerial.Text With DataEnv.rsStudent .Fields(Serial) = txtSerial.Text .Fields(name) = txtName.Text .Fields(sex) = cboSex.Text .Fields(class) = dcbClass.Text .Fields(birthday) = txtBirth
22、day.Text .Fields(tel) = txtTelephone.Text .Fields(address) = txtAddress.Text .Fields(resume) = txtResume.Text Call WriteImage(.Fields(photo), mstrFileName) .Update End With cmdReport.Caption = 报表(&R) cmdUpdate.Enabled = False fraInfo.Enabled = False mbClose = True If DataEnv.rssqlSeek.State = adStat
23、eClosed Then DataEnv.rssqlSeek.Open 刷新右端用以导航的网格控件 Call RefreshGrid 根据记录集中记录的个数,改变各个按钮的状态 Call ChangeBrowseState 定位到刚刚添加或者修改过的记录 DataEnv.rssqlSeek.MoveFirst DataEnv.rssqlSeek.Find serial= & str & fraSeek.Enabled = True fraBrowse.Enabled = True grdScan.Enabled = True Exit Sub errHandler: MsgBox Err.De
24、scription, vbCritical, 错误End SubPrivate Sub dcbClass_Click(Area As Integer) If txtSerial = Then txtSerial = dcbClass.Text End IfEnd SubPrivate Sub Form_Load() On Error Resume Next Dim rsDep As New ADODB.Recordset, rsClass As New ADODB.Recordset Set rsDep = DataEnv.rsDepartment Set rsClass = DataEnv.
25、rsClass 从Department表中读取数据,填充cboDep复合框到中 rsDep.Open cboDep.Clear cboDep.AddItem 全部 将各个系的id号作为ItemData附加到复合框中 cboDep.ItemData(0) = 0 While Not rsDep.EOF cboDep.AddItem rsDep(Name) cboDep.ItemData(cboDep.ListCount - 1) = rsDep(id) rsDep.MoveNext Wend cboDep.ListIndex = 0 从class表中读取数据,填充到cboClass复合框中 cb
26、oClass.Clear cboClass.AddItem 全部 While Not rsClass.EOF cboClass.AddItem rsClass(Name) rsClass.MoveNext Wend cboClass.ListIndex = 0 cmdList.Value = True fraManage.Enabled = True fraSeek.Enabled = True grdScan.Enabled = True mbClose = True Call grdScan_ChangeEnd SubPrivate Sub Form_QueryUnload(Cancel
27、As Integer, UnloadMode As Integer) If Not mbClose Then MsgBox 数据正被修改,窗口不能关闭, vbCritical, 错误 Cancel = True End IfEnd SubPrivate Sub fraBrowse_DragDrop(Source As Control, X As Single, Y As Single)End SubPrivate Sub fraInfo_DragDrop(Source As Control, X As Single, Y As Single)End SubPrivate Sub grdScan
28、_Change() If grdScan.ApproxCount 0 Then Call SeekStudent(grdScan.Columns(0).CellText(grdScan.Bookmark) End IfEnd SubPrivate Sub grdScan_RowColChange(LastRow As Variant, ByVal LastCol As Integer) 当前行改变,则动态改变所要显示的记录 If LastRow grdScan.Bookmark Then If grdScan.ApproxCount 0 Then Call SeekStudent(grdScan.Columns(0).CellText(grdScan.Bookmark) End If End IfEnd SubPrivate Sub WriteImage(ByRef Fld As ADODB.Field, DiskFile As String) Dim byteData() A
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1