学生成绩管理系统论文_第1页
学生成绩管理系统论文_第2页
学生成绩管理系统论文_第3页
学生成绩管理系统论文_第4页
学生成绩管理系统论文_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录摘要.3关键字.3第1章 开发成绩管理系统的目的和意义.4 1.1 开发成绩管理系统的目的.4 1.2 开发成绩管理系统的意义.4第2章成绩管理系统的分析和设计.5 2.1 成绩管理系统简介.5 2.2 成绩管理系统的设计分析.5 2.2.1 分析问题,建立模型.5 2.2.2 确定算法.5 2.2.3 编写程序.5 2.2.4 高度运行程序.5 2.2.5 建立文档资料.5 2.2.6 程序维护.5第3章 数据库设计.6 3.1数据库介绍.4 3.2数据库介绍.4第4章 成绩管理系统的功能实现.7 4.1 登陆窗口.7 4.2 建立应用程序主窗口.9 4.3 添加成绩信息窗口.12 4.4 修改成绩信息窗口.13 4.5 添加班级信息窗口.13 4.6 修改班级信息窗口.13 4.7 添加管理员窗口.18 4.8 修改密码窗口.19 4.9 查询成绩窗口.19结 束 语.20致 谢.20参考文献.20学生成绩管理系统摘 要 学生成绩管理系统是使用Visual Basic .NET开发的面向对象的数据库信息管理系统,该系统主要用于在校学生成绩的日常管理。该系统界面友好,操作简单,易学易用,从总体方案上力求达到该软件所需的目标要求。【关键词】:学生成绩管理 数据库 Visual Basic .NET第1章 开发成绩管理系统的目的和意义1.1开发成绩管理系统的目的今天的计算机的价格已经十分低廉,性能却有了长足的进步,它已经被应用到许多领域,如教育、国防、企业事业单位等。计算机之所以如此流行的原因主要有以下几个方面:1、计算机可以替代人工进行许多繁杂的劳动。2、计算机可以节省许多资源。3、计算机可以提高人们的工作效率。4、计算机可以使敏感文件更加安全、更加可靠等。1.2开发成绩管理系统的意义为了适应社会生产力的发展,紧跟国际经济发展的步伐,现代企业管理层已经开始意识到计算机及网络技术在企业自身发展过程中的不可或缺的重要作用。为了大力提高自身的生产和管理水平,减少不必要的人力物力的浪费,提高生产效率和经济效率,不少事业单位已经把现代自动化的办公理念纳入到单位的管理实践当中。计算机及网络技术是办公自动化技术的核心,可以说没有计算机、没有网络便无法实现办公管理的自动化。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。如此庞大的信息量,迫切需要有一个学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。一直以来,人们使用传统人工的方式管理学生信息,这种管理方式存在许多缺点,如效率低、保密性差等,而且时间一长,将会产生大量的数据,传统的纸质保存方式会占用大量空间,给查找、更新和维护都带来诸多不便。对于管理系统而言,当前有两种理解,信息系统都可以叫做管理信息系统,狭义的理解则是指内部和外部数据,经过加工处理,形成有序信息,以预定的形式提供给各管理层次(中层为主)使用的信息系统。我们这里要提到的成绩管理系统就是最典型的数据库信息管理系统。成绩管理系统是以学生成绩数据为主的管理,要使成绩管理系统真正达到数据准确、流程清晰、减少因管理不当而产生一些不必要的损失,其数据库的建立、健全就是关键。合理的数据库结构设计可以提高数据存储的效率。保证数据的完整性和一致性。同时,合理的数据库结构也将有利于程序的实现。第2章 成绩管理系统的分析和设计2.1 成绩管理系统简介 本系统以Microsoft Visual Basic.NET 作为开发平台,用Access作为数据库服务,采用c/s数据库访问模式。成绩管理系统是针对各大中专院校的成绩管理工作而开发的一个管理软件,根据用户的要求,实现了学生基本情况信息管理,课程信息管理、课程信息管理、班级信息管理以及成绩管理等几个方面的功能。用户通过输入学生基本情况、学生成绩等基本信息,由系统自动生成相应的数据及各类统计报表以供用户查询、修改、打印。另外用户可以对这些基本信息进行数据的更新和删除。成绩管理系统力求提供用户一个方便快捷的途径去管理这些繁琐的数据。2.2 成绩管理系统的设计分析 系统设计包含总体(概要)设计和详细设计两大部分系统设计阶段的任务是提出实施方案,该方案是这个阶段工作成果的体现。系统设计基本任务大体上从以下几个方面分析:2.2.1 分析问题,建立模型 分析一个要由计算机解决的问题,就是要设法确定该问题最合适的模型,这是分析问题的出发点和目的。为此,首先要分析问题和题意,明确所要解决的问题属于什么类型、原始数据是什么、是怎样被加工的、经计算机处理后需要输出什么结果,然后才能建立相应的系统模型,并把解决问题的方法确定下来。2.2.2 确定算法 算法是一个过程,由一组清晰的规则组成,这些规则指定了一个操作顺序,依照这个有限的步骤可以完成特定类型问题的解答。 如何确定算法是计算机程序设计的重点。数据结构加算法构成程序,我们可以利用出版刊物上的程序库或计算机厂家内部建立的程序库等来源找出合适的算法或者依据实际问题和所具备的经验自己设计算法。 流程图是程序设计中很有用的工具,它直观、清晰易懂,便于检查交流和修改,详细的流程图可以作为编写程序的依据,当算法确定后,还可按照车家标准用流程图画出计算机解题步骤框。2.2.3 编写程序 有了算法和相应程序流程图后,就可以选定高级语言,以书面形式将算法描述出来。编写程序的结果就是形成用程序设计语言编写的源程序,编程中应尽量采用可重用技术,引用已有的程序模块,进行二次开发,以提高编程效率。2.2.4 高度运行程序 完成程序清单的书写并输入到计算机以后,就可以上机调试了。调试工作主要包括排错和测试两部分。排错是指查出在程序中隐藏的错误,并给予纠正;测试是确认程序在各种可能的情况下都可以正确执行,输出结果准确无误。这两个工作往往交叉进行,不仅使用合法数据测试,而且使用非法数据或误操作测试,直到经过足够量的实例测试后达到满意效果。2.2.5 建立文档资料 文档资料是计算机软件工作的重要组成部分,从接受用计算机解题任务开始就应注意和加强文档资料的编写和建立。一般地,解题任务完成,文档资料也全部建好。2.2.6 程序维护 程序维护指对已经交付使用后的程序进行修改、扩充、完善等工作。当程序应用于实际工作或生活中,就得到了实践的检验,由于计算机硬件、软件环境的变更、实际需求的变化或操作人员的变动,会出现这样那样的问题需要编程人员对程序更新数据、排除隐患、修改或扩充功能等都属于维护工作。 根据实际情况,我们使用原型法(rapid prototyping),即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型做连续的精细处理,将系统需具备的性质逐步加上去,直到所有的性质全部满足。此时,模块也发展成为最终产品了。第3章 数据库设计3.1数据库介绍 数据库(Database)就是指按照一定组织方式存储在一起的,相互有关的若干个数据的结合,数据库管理系统(Database Management System)就是一种操纵和管理数据库的大型软件,简称(DBMS),他们建立在操作系统的基础上,对数据库进行统一的管理和控制,其功能包括数据库定义,数据库原理,数据库建立和维护,于操作系统通信等。DBMS通常由数据字典,数据描述语言及其编译程序,数据查询语言及其编译程序,数据库管理例行程序等部分组成。 关系数据库是以关系模型为基础的数据库,是根据表,记录和字段之间的关系进行组织和访问的一种数据库,他通过若干个表来存取数据,并且通过关系将这些表联系在一起,关系数据库提供了成为机构化查询语言标准接口,该接口允许使用多中数据库工具和产品,关系数据库是目前最广泛应用的数据库。3.2 数据库设计 该系统的数据库由下述4张数据表组成: 用户表(userID):字段名数据类型长度空默认值备注用户名Char10NoNonenone密码Char10Nononenone表 3-1 用户表学生信息表(student_Info):字段名数据类型长度空默认值备注学号Char10NoNonenone姓名Char10Nononenone表 3-2 学生信息表成绩信息表(result_Infot):字段名数据类型长度空默认值备注课程编号Char10NoNonenone分数Char10Nononenone学号Char10NOnonenone考试时间DatetimedefaultYesnonenone表 3-3 成绩信息表班级信息表(Class_Info):字段名数据类型长度空默认值备注班号Char10NoNonenone年级Char10Nononenone班主任Char10yesnonenone教室Char6yesnonenone表 3-4 班级信息表第4章 成绩管理系统的功能实现4.1 登陆窗口 登陆窗口界面如下:图 4-1 系统登陆窗口 功能说明:该窗口主要用于用户登陆验证功能。如用户名或密码错误,将在文本框后显示红色的错误提示。 主要代码:Imports System.Data引入数据库操作类命名空间Imports System.Data.OleDb引入ADO.NET操作命名空间Public ADOcmd As OleDbDataAdapter Public ds As DataSet = New DataSet() 建立DataSet对象 Public mytable As Data.DataTable 建立表单对象 Public myrow As Data.DataRow 建立数据行对象 Public rownumber As Integer 定义一个整型变量来存放当前行数 Public SearchSQL As String Public cmd As OleDbCommandBuilder 定义一个补尔型变量来存放登陆结果 Public bResult As Boolean = False Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Dispose() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim tablename As String tablename = userID 表的名称 SearchSQL = SELECT 用户名, 密码 FROM userID WHERE (用户名 = & TxtUserName.Text & ) Try ExecuteSQL(SearchSQL, tablename) 查询函数 If myrow.Item(1) = TxtUserPassword.Text Then 比较输入密码和数据库的密码 Me.bResult = True Me.Close() Else MsgBox(密码错误!, vbOKOnly + vbExclamation, 警告) Exit Sub End If Catch MsgBox(没有该用户, vbOKOnly + vbExclamation, 警告) End Try End Sub Private Sub TxtUserName_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TxtUserName.Validating If TxtUserName.Text = Then ErrorProvider1.SetError(TxtUserName, 用户名不能为空) Else ErrorProvider1.SetError(TxtUserName, ) End If End Sub Private Sub TxtUserPassword_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TxtUserPassword.Validating If TxtUserPassword.Text = Then ErrorProvider1.SetError(TxtUserPassword, 密码不能为空) Else ErrorProvider1.SetError(TxtUserPassword, ) End If End Sub Public Function ExecuteSQL(ByVal SQL As String, ByVal table As String) Try 建立ADODataSetCommand对象 数据库查询函数 ADOcmd = New OleDbDataAdapter(SQL, Provider=Microsoft.Jet.OLEDB.4.0;Data Source=student.mdb) 建立ADODataSetCommand对象 ADOcmd.Fill(ds, table) 取得表单 mytable = ds.Tables.Item(0) 取得名为table的表 rownumber = 0 设置为第一行 myrow = mytable.Rows.Item(rownumber) 取得第一行数据 Catch MsgBox(Err.Description) End Try End Function4.2 建立应用程序主窗口 应用程序主窗口界面如下:图 4-2 主窗口 功能说明:该窗口是整个应用程序的框架窗口,通过主菜单调用相应的窗口,实现相应的功能。 主要代码: 整个程序的入口 Public Shared Sub Main() 显示登陆对话框 Dim loginFrm As New FrmLogin loginFrm.ShowDialog() 合法用户进入系统 If loginFrm.bResult = True Then Dim frm As FrmMain = New FrmMain Application.Run(frm) End If End Sub Private Function GetInstanceState(ByVal name As String) As Boolean 获得frmMain窗体的子窗体的数量 Dim i As Integer = Me.MdiChildren.Length 循环判断是否有名为name的子窗体实例 For i = 0 To Me.MdiChildren.Length - 1 If Me.MdiChildren(i).Name = name Then 存在名为name的子窗体,是子窗体获得焦点并返回True Me.MdiChildren(i).Focus() Return True End If Next 不存在名为Name的子窗体False Return False End Function Private Sub MenuExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuExit.Click End End Sub Private Sub MenuAddClassno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuAddClassno.Click If Me.GetInstanceState(FrmAddClassInfo) Then Exit Sub End If Dim frm As New FrmAddClassInfo frm.MdiParent = Me frm.Show() End Sub Private Sub MenuModifyClassno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuModifyClassno.Click If Me.GetInstanceState(FrmModifyClassInfo) Then Exit Sub End If Dim frm As New FrmModifyClassInfo frm.MdiParent = Me frm.Show() End Sub Private Sub MenuAddResultInfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuAddResultInfo.Click If Me.GetInstanceState(FrmAddResult) Then Exit Sub End If Dim frm As New FrmAddResult frm.MdiParent = Me frm.Show() End Sub Private Sub MenuAddUser_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuAddUser.Click If Me.GetInstanceState(FrmAddUser) Then Exit Sub End If Dim frm As New FrmAddUser 窗体类对象化 frm.MdiParent = Me frm.Show() 显示窗体 End Sub Private Sub MenuModifyUserPassword_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuModifyUserPassword.Click If Me.GetInstanceState(FrmModifyUserPassword) Then Exit Sub End If Dim frm As New FrmModifyUserPassword frm.MdiParent = Me frm.Show() End Sub Private Sub MenuCascade_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuCascade.Click Me.LayoutMdi(MdiLayout.Cascade) End Sub Private Sub MenuHorizontal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuHorizontal.Click Me.LayoutMdi(MdiLayout.TileHorizontal) End Sub Private Sub MenuVertical_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuVertical.Click Me.LayoutMdi(MdiLayout.TileVertical) End Sub Private Sub MenuIcon_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuIcon.Click Me.LayoutMdi(MdiLayout.ArrangeIcons) End Sub Private Sub MenuSearchResultInfo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuSearchResultInfo.Click If Me.GetInstanceState(FrmInquireResult) Then Exit Sub End If Dim frm As New FrmInquireResult frm.MdiParent = Me frm.Show() End Sub Private Sub MenuModifyResultInfo_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuModifyResultInfo.Click If Me.GetInstanceState(FrmModifyResultInfo) Then Exit Sub End If Dim frm As New FrmModifyResultInfo frm.MdiParent = Me frm.Show() End Sub Private Sub MenuAbout_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuAbout.Click If Me.GetInstanceState(frmAbout) Then Exit Sub End If Dim frm As New frmAbout frm.MdiParent = Me frm.Show() End Sub4.3 添加成绩信息窗口 添加成绩信息窗口界面如下:图 4-3 添加成绩信息窗口 功能说明:该窗口主要用于添加成绩,包括考试成绩、学号、课程编号、分数等信息。 主要代码:略。4.4 修改成绩信息窗口 修改成绩信息窗口界面如下:图 4-4 修改成绩信息窗口 功能说明:该窗口主要用于浏览及修改、删除等一些基本的成绩信息维护功能。 主要代码:略。4.5 添加班级信息窗口 添加班级信息窗口界面如下:图 4-5 添加班级信息窗口 功能说明:该窗口主要用于添加班级信息,包括班级编号、年级、班主任、教室编号等信息。 主要代码: Public ADOcmd As OleDbDataAdapter Public ds As DataSet = New DataSet() 建立DataSet对象 Public mytable As Data.DataTable 建立表单对象 Public myrow As Data.DataRow 建立数据行对象 Public rownumber As Integer 定义一个整型变量来存放当前行数 Public SearchSQL As String Public cmd As OleDbCommandBuilder Private Sub BtCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtCancel.Click Me.Dispose() End Sub Private Sub BtOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtOK.Click SearchSQL = select * from Class_Info ADOcmd = New OleDbDataAdapter(SearchSQL, Provider=Microsoft.Jet.OLEDB.4.0;Data Source=student.mdb) ADOcmd.Fill(ds, Class_Info) mytable = ds.Tables.Item(0) Dim i As Integer For i = 0 To mytable.Rows.Count - 1 myrow = mytable.Rows.Item(i) If TxtClassno.Text = myrow.Item(0).ToString Then MsgBox(学号重复,请重新输入!, vbOKOnly + vbExclamation, 警告) Exit Sub End If Next Dim newrow As DataRow newrow = mytable.NewRow newrow.Item(0) = Trim(TxtClassno.Text) newrow.Item(1) = Trim(ComboGrade.Text) newrow.Item(2) = Trim(TxtInspector.Text) newrow.Item(3) = Trim(TxtClassroom.Text) mytable.Rows.Add(newrow) cmd = New OleDbCommandBuilder(ADOcmd) 使用自动生成的SQL语句 ADOcmd.Update(ds, Class_Info) 对数据库进行更新 MsgBox(添加班级信息成功!, vbOKOnly + vbExclamation, 警告) Me.Dispose() End Sub Public Function ExecuteSQL(ByVal SQL As String, ByVal table As String) Try 建立ADODataSetCommand对象 数据库查询函数 ADOcmd = New OleDbDataAdapter(SQL, Provider=Microsoft.Jet.OLEDB.4.0;Data Source=student.mdb) 建立ADODataSetCommand对象 ADOcmd.Fill(ds, table) 取得表单 mytable = ds.Tables.Item(0) 取得名为table的表 rownumber = 0 设置为第一行 myrow = mytable.Rows.Item(rownumber) 取得第一行数据 Catch MsgBox(Err.Description) End Try End Function4.6 修改班级信息窗口 修改班级信息窗口界面如下:图 4-6 修改班级信息窗口 功能说明:该窗口主要用于浏览及修改、删除等一些基本的班级信息维护功能。 主要代码: Public tablename As String = class_Info Public ADOcmd As OleDbDataAdapter Public ds As DataSet = New DataSet() 建立DataSet对象 Public mytable As Data.DataTable 建立表单对象 Public myrow As Data.DataRow 建立数据行对象 Public rownumber As Integer 定义一个整型变量来存放当前行数 Public SearchSQL As String Public cmd As OleDbCommandBuilder Private Sub FrmModifyClassInfo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论