综
实
专
学
学
指 合 性 实 验 验 名 称:学生成绩管理系统实验报告业 班 级:金融1202 生 姓 名:于淇 号: 2012180227 导 教 师:刘素华
一、系统的理论与技术基础
1.1管理信息系统基础
管理信息系统就是我们常说的MIS (Management Information System),是集成了计算机网络技术、信息处理技术,对信息进行收集处理、传输及存储,进行事务管理的一种人机交互的智能化计算机系统。
1.2软件工程理论对本系统的指导
学生成绩管理系统的设计和开发是一个较为庞大的系统工程,应以软件工程的思想和方法为指导,进行设计和开发。软件工程理论对本系统的指导,主要表现在:帮助我们理清思路,建立较为科学的结构和开发制作流程方面。上述的各种理论,对我们设计和开发学生成绩管理系统提供了重要的理论基础,同时也为我们如何进行具体的设计和开发工作,提供了必要的思路和方法。
二、系统的分析
2.1背景分析
当今时代是飞速发展的信息时代,在各行各业中离不开信息管理处理,这正是计算机被广泛应用于管理系统的原因。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行管理控制,不仅提高了工作效率,而且大大的提高了其安全性,尤其对于复杂的管理,计算机能够充分发挥它的优越性。
管理系统是进行信息的采集、存储、加工、维护和使用的系统,它是随着管理科学和技术科学的发展而形成的。学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统能为用户提供充足的管理手段,对学生来说可以轻松的查阅自己在校的成绩及排名。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们
深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点。例如:查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化、正规化管理并与世界接轨的重要条件。因此,开发这样一套成绩管理系统成为很有必要的事情。
学生成绩管理系统提供了强大的学生成绩管理功能,方便系统管理员对学生成绩等信息的添加、修改、删除、查询等操作。
2.2 系统主要业务逻辑
系统表业务逻辑如下图:
业务
流程如下图所示:
系统用例如下图所示:
每个用例都包括,科目,名次,班级属性。
对于科目这个用例,他又包括分数这个属性。
下面对系统的参与者进行更具体的分析:
1. 如果最终分析的候选参与者没有用例,那么他根本不是一个参与者。
2. 如果他和用例之间没有通信,没有任何联系,那么他也可能不是一个参与者。
3. 如果候选用户并不作任何事情,但是他包含了一些特殊信息,那么他可能不是一个 参与者,但他可以作为参与者的一个附属品。
4. 如果参与者的名字过于细化,比如,张三,那么,我们应该根据他的角色来创建参 与者。
5. 如果一个参与者的名字过于泛化,比如“用户”,那么我们可以根据他的角色来细化他的参与者(如上图所示)
描述参与者和用例之间的关系是我们构建用例图的最后一步。系统的每个参与者都触发一个或多个用例,当然如果他没有触发任何用例,他将不能成为参与者,而每个用例都由一个或多个参与者触发。
三、系统的开发工具及编程环境
3.1 开发工具的选择
基于系统的需求分析以及系统的应用,系统将采用微软的Visual Studio6.0简体中文版进行开发,所选择的语言是Visual Basci6.0,下面将介绍Visual Basic6.0的特点。
3.2 Visual Basic 语言的特点及常用名词
Visual Basic 语言用其设计应用程序时具有两个基本特点,可视化设计WYSIWYG (what you see is what you get)和事件驱动编程。
Visual Basic 系统除了一般高级语言所具有的一些名词术语外,还有几个系统常用的名词。其基本含义如下:视窗(Form)、对象 (Object) 、属性 (Properties)、 事件 (Events) 、方法 (Method)、 过程 (Procedure) 和模块 (Module)。
1.视窗(Form)
视窗是进行人机交互的界面或接口,也叫窗体。VB系统的人机交互界面或接口,无论是在设计时或是在运行时,都是Windows 系统的标准视窗。
2.对象 (Object)
对象是VB系统内部提供给设计者可以直接使用的处理输出的控制工具。本程序所应用到的对象类型有标签框 (Label Box),文本框 (Text Box),命令按扭 (Command Button),网格 (Data Grid)等。当把这些工具放置到用户界面对应的窗体上时,被称为对象或控件。用户可以通过设置对象的“属性”和“方法”,便于对象适应自己所设计应用程序的输入输出内容,对象的生成过程及结构都被封装起来。正确使用对象可以减少程序和开发时间,提高程序设计者的工作效率。
3.属性 (Properties)
属性是VB系统提供的有关对象的参数或数据接口。用户通过适当的设置或改变对象的属性来确定对象的外观及性能特征,从而有效地使用系统提供的对象。比如,对象的名称、在屏幕上显示的位置、大小、颜色、接收或容纳的数据内容及数据的表现格式等。
4.事件 (Events)
事件是指用户或操作者对计算机进行的某一操作(如击键、单击或移动鼠标等)的行为或系统状态发生的变化。VB系统常用事件来引导计算机执行一段程序。程序所用的键盘事件有KeyPress(按键)事件,KeyDown事件和KeyUp事件;鼠标事件有Click(单击鼠标)事件,DbDlicd(双击鼠标)。
5.方法 (Method)
方法主要是指对一个对象使用某种作用的过程。它是在程序执行的过程中要计算
机执行的某种操作。其程序的方法有Show(显示)方法,Hide(隐藏)方法,Refresh(刷新)方法。
6.过程 (Procedure)
过程是指经过定义或说明的,或基于某一对象对应的事件所引发的程序段。
7.模块 (Module)
模块是指一些运算量或过程进行声明或定义的一个集合。系统程序大体可分成四个模块:数据输入、根据查询、数据打印和通讯。
3.3编程环境的选择
微软公司的Visual Basic 6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统Visual Basic 6.0是一个相对较好的选择。
3.4 Windows下的Visual Basic 面对对象的编程
面对对象的编程;面向对象的设计方法 (OOP, Objected Programming) 从应用领域内的问题着手,以直观自然的方式描述客观世界的实体。Visual Basic 作为一种面向对象的编程方法,把程序和数据封装起来作为一个对象,并为每个对象赋予相应的属性。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,由 Visual Basic 自动生成对象的程序代码并封装起来。Visual Basic 应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可说扩展性和强有力的功能。Visual Basic 应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。
首先是进入登陆界面,如图3.4所示,本窗体显示系统名称,密码校验等信息,本系统的用户分为三类:管理员,教师,学生。使用者可以在组合框中选择所要登录的用户的类型,并输入相应的用户名和密码,单击“确定”就会将输入
提交给系统以验证用户、密码及身份。如果用户类型及密码正确,则会进入系统的MDI主窗体(MDIMain.frm).
本模块的流程图如下:
图3-4流程图
3.5 Visual Basic 系统实现菜单选项
实现菜单选项:菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,Visual Basic 也提供了强大的创建菜单功能,使程序更加标准。
3.5 Visual Basic 系统实现菜单选项
实现菜单选项:菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,Visual Basic 也提供了强大的创建菜单功能,使程序更加标准。
四、系统数据库的使用
4.1 系统数据库的选择
本系统并没有选择流行的数据库管理系统作为后台数据库而是选择了以系统自己建立的文件系统作为数据库后台,这主要是考虑了系统的通用性和系统的实用性,在使用系统时,你并不需要额外的软件支持。同时,我们也参考了Access2000即关系数据库开发工具,利用数据库能汇集各种信和Access的优点,将使用数据表示图或自定义窗体收集信息。
数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。另外,Access允许创建自定义报表用于打印或输出数据库中的信息。它也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他用户共享数据库。它是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,参考Access的优点作为关系数据库开发,的确具备了许多优点,可以在一个数据包同时拥有桌面数据库的便利和关系数据库的强大
功能。
4.2 数据的保存和读取
系统采用自己定义的数据库格式,以文本文件保存用户录入的信息,数据的格式转换主要通过模块函数实现,保存时,系统将网格的数据读入RecordSet中,然后转换为可以写入文本文件的数据格式,当需要从文件加载数据时,执行相反过程,再将文件内容转换成内存的RecordSet的格式,并将RecordSet绑定到网格显示数据。执行这两者转换的数据模块式系统中的Moudel1,Moudel2两个模块。
4.3 数据库文件的易用性
前面已经说明了,系统的数据存储是文本文件格式的文件,这对数据库文件的建立和转移,备份都是非常方便的,如果你愿意,完全可以在没有系统的时候更改录入资料,而不用关心系统是否崩溃了。如果要备份数据库,只需要备份系统下面的文本文件格式的数据库。这对系统的通用性是一个不错的选择。
4.4 数据库文件格式
数据库文件格式如下所示
Private Sub CmdOk_Click()
Dim Conn As New ADODB.Connection
Dim mlink As String
mlink = "provider=microsoft.jet.oledb.3.51;data source=score.mdb;"
Conn.Open mlink
'当用户名密码为空时给出提示
If Text1.Text = "" Then
MsgBox "
在frmlogin窗体中如果用户登录成功,将会出现如图4-3所示的MDI主窗体。
4-3系统主窗体
若是学生用户,则有些菜单项不可用,只能运行本系统的部分功能(即重新登录和信息查询功能可用)。如图4-4
图4-4系统主窗体
4.5教师管理界面编码设计
本节以按学生角度进行管理为例,介绍教师管理的编码设计。教师用户进入“成绩管理”中的“按学生进行管理”功能,出现如图4.5所示界面。
图4.5“按学生进行管理”学生信息功能界面
教师用户用鼠标双击学生信息后,系统会显示出该学生的成绩信息。如图4.3所示。
图4.5“按学生进行管理”成绩信息功能界面
Option Explicit
'''当改变记录集时,需要刷新整个网格控件
Sub RefreshGrid()
grdScan.DataMember = ""
grdScan.Refresh
If DataEnv.rssqlStudent.State <> adStateClosed Then DataEnv.rssqlStudent.Close
DataEnv.rssqlStudent.Open
grdScan.DataMember = "sqlStudent"
grdScan.Ref
五、系统代码及开发过程
5.1系统的开发
学生成绩管理系统对学校加强学生成绩的管理有着极其重要的作用。由于各个大学都在持续扩招,学生的数量日益庞大,传统的手工成绩管理不仅工作量大,而且容易出现问题。而本系统则是在以前成绩管理系统的基础之上开发出来的。
5.2功能需求描述
按学生角度管理教师可以看到学生信息和成绩信息。学生信息包括学生姓名,各科成绩及班级排名等,可以自动显示出该课程的这个学生所有课程的学习成绩,并同时自动计算出这个学生的总分。在成绩信息中,教师可以对学习成绩进行增加、修改和删除,字体可大可小。
5.3代码及图示
本系统由6个窗体组成,以下是6个窗体的图示及代码。
5.3.1.关于学生成绩管理系统版权(在帮助菜单栏里显示).
?/P>
部分代码如下:注册键安全选项...
Const KEY_ALL_ACCESS = &H2003F
' 注册键根类型...
Const HKEY_LOCAL_MACHINE = &H80000002
Const ERROR_SUCCESS = 0
Const REG_SZ = 1 ' Unicode 空结尾字符串 Const REG_DWORD = 4 ' 32位数
5.3.2.主窗口:
?/P>
部分代码如下:'将窗体标题赋值给变量
strDefaultName = Me.Caption
If Left(Me.Caption, 4) = "新成绩表" Then
strSaveFilename = GetFileName("")
If strSaveFilename <> "" Then SaveFileAs (strSaveFilename) '更新文件菜单
UpdateFileMenu (strSaveFilename)
Else
'窗体标题包含打开的文件名
strSaveFilename = GetFileName(strSaveFilename)
If strSaveFilename <> "" Then SaveFileAs (strSaveFilename) '更新文件菜单
UpdateFileMenu (strSaveFilename)
End If
5.3.3.管理系统:
代码如下:
'总是将工作目录设到应用程序所在目录
ChDir App.Path
'初始化文档窗体数组,并显示第一个子窗体
ReDim Doc(1)
ReDim FState(1)
Doc(1).Tag = 1
FState(1).Dirty = False
Doc(1).Caption = "新成绩表:1"
Doc(1).Show
'读系统注册表并适当地设置最近使用的菜单文件列表控件数组 GetRecentFiles
End Sub
5.3.4.属性:
?/P>
代码如下:
For j = 1 To 8
TextZhiKemu(j - 1).Text = .TextArray(Fgi(0, j + 1))
Next
Text5.Text = .TextArray(Fgi(0, 10))
Text6.Text = .TextArray(Fgi(0, 17))
End Sub
Private Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single) End Sub
Private Sub Text5_Change()
Text9.Text = Text5.Text
End Sub
Private Sub textDeKemu_Change(Index As Integer)
Text7.Text = textDeKemu(2).Text
End Sub
Private Sub TextTiKemu_Change(Index As Integer)
Text10.Text = TextTiKemu(2).Text
End Sub
5.3.5.打开系统显示的界面
?/P>
代码如下:
Private Sub Form_Load()
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
frmMain.Show
Unload frmSplash
End Sub
5.3.6.窗体的尺寸
?/P>
Private Sub Form_Load()
Me.Width = Screen.Width * 0.75
Me.Height = Screen.Height * 0.75
Me.Left = Screen.Width * 0.125
Me.Top = Screen.Height * 0.125
End Sub
结 论
本管理系统通过对信息的采集、存储、加工、维护和使用等,并随着管理科学和技术科学的发展而形成的。学生成绩管理系统能为用户提供充足的信息,对学生来说可以轻松使用。整个软件在开发过程中使用模块化程序设计方法,充分考虑了各种实际情况,通过这段时间的具体应用和不断完善,显示出良好的效果。 整个管理系统是随着管理科学和技术科学的发展而形成的。本系统为用户提供充足的成绩信息和查询手段。整个系统在开发过程中使用模块化程序设计方法,充分考虑了各种实际情况,逐步取代了人们长期以来所使用的单纯的人工管理方式,提高了工作效率,也对学生工作管理的科学化、正规化起到了重要的作用。