1、目 录目录I内容摘要1关键词:1学生信息管理系统2一、 绪论2(一) 课题的背景21、管理信息系统基础22、软件工程理论的概述23、软件工程理论对本系统的指导2(二) 课题的研究意义2(三) 课题的研究内容2二、可行性分析3(一)经济可行性3(二)技术可行性3三、 系统及需求分析3(一)系统需求3(二)需求分析3(三)系统模块划分4(四)系统的操作流程5四、 数据库的设计5(一)数据库设计51、用户表(用户信息)52、班级表(班级信息)63、科目表(科目信息)64、学生基础信息表(学生基础信息)65、成绩表(成绩信息)6五、 界面演示7(一) 主界面7(二) 登录8(三) 修改密码9(四) 基
2、础资料管理101、 用户注册102、 用户管理123、 班级管理134、 学科管理13(五) 学生信息管理131、 输入学生信息132、 修改学生信息143、 查询学生信息154、 删除学生信息16(六)学生成绩管理171、输入学生成绩172、修改学生成绩183、查询学生成绩194、删除学生成绩20六、 小结21参考文献:21致 谢2222内容摘要 随着学校规模的不断扩大,学生数量急剧增加,有关学生的信息量也成倍增长。面对庞大的个人信息和成绩信息,需要一个学生信息管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息数据的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面
3、的工作量。学生信息管理系统主要用于学生个人信息和成绩的管理,总体任务是实现学生信息的系统化、规范化和自动化。系统使用Visual Basic2005为开发工具,以 SQL Server 2005 为后台数据库,开发过程中结合管理信息系统的开发理念。本文主要介绍了学生信息管理系统的基础资料管理、学生信息管理、学生成绩管理的操作流程,以及实现方法。关键词: SQL Visual Basic2005 学生信息管理系统 学生信息管理系统一、 绪论(一) 课题的背景1、管理信息系统基础 管理信息系统就是我们常说的MIS (Management Information System),是集成了计算机网络技
4、术、信息处理技术,对信息进行收集处理、传输及存储,进行事务管理的一种人机交互的智能化计算机系统。2、软件工程理论的概述 软件工程是一门旨在研究计算机软件开发与维护的普遍原理和技术的工程学科。它的研究范围涉及到技术方法、软件工具、科学管理等诸多方面。实践证明:在软件的设计和开发过程中,运用软件工程的方法,可以大大提高软件开发的成功率,能够显著减少软件开发和维护中的问题。3、软件工程理论对本系统的指导 学生信息管理系统的设计和开发是一个较为庞大的系统工程,应以软件工程的思想和方法为指导,进行设计和开发。软件工程理论对本系统的指导,主要表现在:帮助我们理清思路,建立较为科学的结构和开发制作流程方面。
5、上述的各种理论,对我们设计和开发学生信息管理系统提供了重要的理论基础,同时也为我们如何进行具体的设计和开发工作,提供了必要的思路和方法。(二) 课题的研究意义 学生信息管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我们使用Visual Basic2005开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在段时间内建立系统应用原型,然后对初始原型系统进行不断修正和改进,直到形成
6、用户满意的可行系统。(三) 课题的研究内容 本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生信息进行日常管理,如查询、修改、增加、删除,另外还考虑到用户登录的权限,针对学生信息和权限登录的学生信息管理系统。 本系统其功能主要有: 学生信息的添加,包括添加学生基本信息和成绩。 学生信息的查询,包括查询学生基本信息和成绩。 学生信息的修改,包括修改学生基本信息和成绩。 学生信息的删除,包括删除学生基本信息和成绩。 用户的注册,包括学生、教师、教务的注册。 登录用户修改密码,用户登录系统可以修改相应的用户密码。二、可行性分析 (一)经济可
7、行性 本系统的开发环境为普通台式电脑,所以在开发费用上将会有很大的节俭。而且所面向的用户不是普通大众,不需华丽的界面省去了美工设计的费用,开发系统所涉及到的数据为现成拥有的无需另行购买,直接降低了开发成本。 在目前全民使用电脑的情况下,教师和教务员很容易通过电脑对其操作范围内的系统内容信息进行操作管理。(二) 技术可行性 从技术方面来说,本系统属于自行开发所用到的技术为VB.Net和SQL都是本人所掌握的技能。Visual Basic2005是一个企业级的、面向对象的快速应用开发工具,是数据库最优秀的开发工具之一。Visual Basic2005完全支持面向对象的开发,它拥有多种数据库接口,可
8、以非常方便地连接各种数据源,再加上其专利产品Data Window(数据窗口),通过SQL语句即可轻松查询和更新后台数据库中的数据。Visual Basic2005基于组件的开发增强了面向 对象的技术,他提供一个更有效的封装、管理、重用和扩展企业规则和处理的高层途径。在数据操作方面,选择灵活、易用的Microsoft SQL server2005数据源。根据以上对技术、经济两方面的可行性分析,设计与实现“学生信息管理系统”是切实可行的,可以实施的。三、 系统及需求分析(一) 系统需求 经过考虑和调查,要求系统需要有以下功能:要求有良好的人机交互界面由于该系统使用对象多,要求有比较好的权限管理原
9、始数据修改简单方便,支持多条修改方便的数据查询,支持多条件查询在相应的权限下,删除数据方便,数据稳定性高数据计算自动完成,尽量减少人工干预。(二) 需求分析 目前计算机管理在日常生活中的地位变的越来越重要。它能够替代人做各种重复、繁琐的劳动,并且拥有操作简单、可信度好、不易出错等优点,大大减少了不必要的人力消耗,提高个人的工作效率。学生信息查询是每个学校必须面临的问题,所以如何开发一个应用简单、界面友好、容易操作、数据安全性好的管理系统就成为非常重要的技术问题。 学生成绩管理系统的设计与实现,是在班级学生数据库基础上,只对学生信息和学生成绩信息进行管理的一个系统,主要是针对各个管理员的需求,设
10、置了三个用户:教师用户,教务用户和管理员用户。管理员用户,主要需求有基础资料管理,对管理员用户的密码修改。教师用户,主要需求有对学生成绩的管理,对学生成绩的统计,对教师用户的密码修改。教务用户,主要需求有对学生信息的管理,对教务用户的密码修改。(三) 系统模块划分本系统根据学校教务教师的实际需求而开发。特规划功能模块如图1所示:(1)用户登录。(2)修改密码。(3)基础资料管理用户注册:管理员对新用户进行注册。用户管理:管理员可以对所有账号的密码和权限进行修改。班级管理:教务员可以对班级信息进行编辑。学科管理:教务员可以对学习科目进行编辑。(4)学生基础信息输入学生信息:教务员对学生数据进行输
11、入。修改学生信息:教务员对学生数据进行修改。查询学生信息:教务员可查询学生信息。删除学生信息:教务员对学生数据进行删除。(5)学生成绩管理输入学生成绩:教师对学生成绩进行输入。修改学生成绩:教师对学生成绩进行修改。查询学生成绩:教师可查询学生成绩。删除学生成绩:教师对学生成绩进行删除。(6)统计报表学生个人成绩表:学生个人成绩的统计报表。各班班级成绩表:班级成绩的统计报表。图1 系统模块划分图(四)系统的操作流程 本系统登陆用户及各权限模块操作流程如图2所示:图2 系统的操作流程图四、 数据库的设计(一)数据库设计本系统在SQL2005中创建了数据库“学生管理系统”,设置了以下数据表:1、用户
12、表(用户信息)这个数据表主要用来存放用户名,密码,权限等信息,如表1所示。表1 用户信息表序号列名数据类型标识主键允许空说明1姓名nvarchar(8)是管理员名称2密码nvarchar(6)管理员密码3权限nvarchar(1)管理员权限2、班级表(班级信息)这个数据表主要用来存放班号,班级信息,如表2所示。表2 班级信息表序号列名数据类型标识主键允许空说明1班号nvarchar(6)是2班级nvarchar(10)3、科目表(科目信息)这个数据表主要用来存放科目编号、科目名称信息,如表3所示。表3科目信息表序号列名数据类型标识主键允许空说明1科目编号nvarchar(4)是2科目名称nva
13、rchar(10)4、学生基础信息表(学生基础信息)这个数据表主要用来存放学号,姓名,性别等信息,如表4所示。表4学生基础信息表序号列名数据类型标识主键允许空说明1学号nvarchar(8)是2姓名nvarchar(10)3性别nvarchar(1)4班级nvarchar(10)5班号nvarchar(6)6生日Datetime(8)7电话nvarchar(18)是8住址nvarchar(25)是9相片nvarchar(12)是5、成绩表(成绩信息)这个数据表主要用来存放学期、考试名称、科目成绩等信息,如表5所示。表5 成绩表序号列名数据类型标识主键允许空说明1学年学期nvarchar(10)
14、2考试名称nvarchar(10)3学号nvarchar(8)是4科目名称nvarchar(10)是5科目成绩int是6班级名称nvarchar(20)是7班级编号nvarchar(6)是五、 界面演示(一) 主界面这是本系统的主要界面,在本界面上集成了本系统的所有功能,共有八个功能菜单和若干个子菜单(功能模块),从而实现了本系统从登录,基础资料管理,学生基础信息,学生成绩管理等模块的具体功能。通过权限分配,限制用户对菜单的点击。用户点击允许点击的菜单之后,展现各模块的操作界面或实现功能。在不同权限用户登录之后,系统将会根据权限判定使指定模块允许被使用。系统主界面如图所示。图3 主界面 主界面
15、的核心为Timer控件,其主要功能是运用控件的Tag属性来存放登录成功的用户权限。根据用户权限来开启权限所指定的菜单。核心代码: Select Case Timer1.Tag Case 0 Me.用户登录ToolStripMenuItem.Enabled = False Me.修改密码ToolStripMenuItem.Enabled = True Me.基础资料管理ToolStripMenuItem.Enabled = True Me.用户注册ToolStripMenuItem.Enabled = False Me.用户管理ToolStripMenuItem.Enabled = False
16、Me.学生信息管理ToolStripMenuItem.Enabled = True Me.学生成绩管理ToolStripMenuItem.Enabled = False Me.数据统计ToolStripMenuItem.Enabled = False Me.注销用户ToolStripMenuItem.Enabled = True Case 1 Me.用户登录ToolStripMenuItem.Enabled = False Me.修改密码ToolStripMenuItem.Enabled = True Me.基础资料管理ToolStripMenuItem.Enabled = False Me.
17、学生信息管理ToolStripMenuItem.Enabled = False Me.学生成绩管理ToolStripMenuItem.Enabled = True Me.数据统计ToolStripMenuItem.Enabled = True Me.注销用户ToolStripMenuItem.Enabled = True Case 2 Me.用户登录ToolStripMenuItem.Enabled = False Me.修改密码ToolStripMenuItem.Enabled = True Me.基础资料管理ToolStripMenuItem.Enabled = True Me.学生信息管
18、理ToolStripMenuItem.Enabled = True Me.学生成绩管理ToolStripMenuItem.Enabled = True Me.数据统计ToolStripMenuItem.Enabled = True Me.注销用户ToolStripMenuItem.Enabled = True End Select Me.Timer1.Enabled = False(二) 登录 登陆是整个系统的起始,也是最为重要的。要做到登陆的验证和登陆之后权限的分配。输入用户名密码之后与用户表之中的数据进行匹配,用户名和密码完全一致之后允许登陆。登陆之后主界面的Timer控件将会对角色权限进
19、行分配。当登陆错误时会弹出提示框。如图所示。 图4 登录界面图5 登录错误界面 核心代码: For i As Integer = 0 To Me.XsglxtDataSet.yonghu.Count - 1 If TextBox1.Text.Trim = Me.XsglxtDataSet.yonghu(i).姓名.Trim And TextBox2.Text.Trim = Me.XsglxtDataSet.yonghu(i).密码.Trim Then Form1.Tag = i Form1.Timer1.Tag = Me.XsglxtDataSet.yonghu(i).权限 Form1.Tim
20、er1.Enabled = True Me.Close() MsgBox(登录成功!) Exit Sub End If Next MsgBox(姓名或密码输入错误!)(三) 修改密码登录账号点击时出现密码修改界面,用户可以修改本账号的登录密码。如图所示。图6 修改密码界面图7 修改错误界面 判断两次输入的密码是否一样: If TextBox1.Text.Trim = Or TextBox2.Text TextBox3.Text Then MsgBox(密码不能为空,两次输入的密码必须一样!) Exit Sub End If Me.XsglxtDataSet.yonghu(n).密码 = Tex
21、tBox2.Text Me.YonghuTableAdapter.Update(Me.XsglxtDataSet.yonghu) Me.XsglxtDataSet.yonghu.AcceptChanges() MsgBox(修改密码成功)(四) 基础资料管理用于管理员对各权限账号的管理设置。教务员可以对班级管理和学科管理进行设置。1、 用户注册管理员可添加新的账号并对其设置权限。如图所示。图8 添加用户界面 如注册账号已存在,则系统会提示该用户已经存在。如图所示。图9 用户存在提示界面 判断新账号是否存在的代码: For i As Integer = 0 To Me.XsglxtDataSet
22、.yonghu.Count - 1 If Me.TextBox1.Text.Trim = Me.XsglxtDataSet.yonghu(i).姓名.Trim Then MsgBox(该用户已经存在!) Exit Sub End If Next If TextBox1.Text = Or TextBox2.Text = Then MsgBox(姓名和密码不能为空!) Else Me.XsglxtDataSet.yonghu.AddyonghuRow(TextBox1.Text, TextBox2.Text, ComboBox1.SelectedIndex.ToString) Me.Yonghu
23、TableAdapter.Update(Me.XsglxtDataSet.yonghu) Me.XsglxtDataSet.yonghu.AcceptChanges() MsgBox(注册成功!) End If2、用户管理管理员可对账号的密码及其权限进行修改。如图所示。图10 用户管理界面实现该界面的功能主要需要对用户DataGridView的事件过程输入核心代码,使其下面的密码和权限文本框相连接。核心代码: TextBox1.Text = Me.XsglxtDataSet.yonghu(Me.YonghuDataGridView.CurrentRow.Index).密码 If Me.Xsgl
24、xtDataSet.yonghu(Me.YonghuDataGridView.CurrentRow.Index).权限 = 0 Then ComboBox1.Text = 教务员 ComboBox1.SelectedIndex = 0 End If If Me.XsglxtDataSet.yonghu(Me.YonghuDataGridView.CurrentRow.Index).权限 = 1 Then ComboBox1.Text = 教师 ComboBox1.SelectedIndex = 1End IfIf Me.XsglxtDataSet.yonghu(Me.YonghuDataGri
25、dView.CurrentRow.Index).权限 = 2 Then ComboBox1.Text = 管理员 ComboBox1.SelectedIndex = 2End If3、 班级管理 教务员可以在这里对学校班级的编号和名称进行设置。如图所示。图11 班级管理界面该界面的代码由VB.NET系统自动生成,无需任何添加,可以直接进行编辑。4、 学科管理教务员可以在这里对各门学科的编号和名称进行设置。如图所示。图12 学科管理界面该界面和班级管理界面相同代码由VB.NET系统自动生成,无需任何添加。(五) 学生信息管理用于教务员录入学生信息、修改信息、删除信息和查询信息的进行相应的操作。1
26、、 输入学生信息教务员可以对新学生的信息资料进行输入。选择班级后系统将自动生成学号,之后可对学生信息进行输入,学生照片将会保存于默认路径的文件夹内。如图所示。图13 输入学生信息界面其自动生成学号功能的代码如下: Sub bh() If Me.XsglxtDataSet.xsjcxx.Count = 0 Then TextBox1.Text = Me.BanjiComboBox.SelectedValue + 01 Exit Sub End If Dim c1 As String = XsglxtDataSet.xsjcxx(XsglxtDataSet.xsjcxx.Count - 1). 学
27、号.Substring(6, 2) If c1.Substring(1, 1) = 9 Then TextBox1.Text = Me.BanjiComboBox.SelectedValue + (Val(c1.Substring(0, 1) + 1).ToString + 0 Else TextBox1.Text = Me.BanjiComboBox.SelectedValue + c1.Substring(0, 1) + Val(c1.Substring(1, 1) + 1).ToString End If2、 修改学生信息教务员可以对已经存在的学生资料进行修改,选择班级后系统将自动显示该
28、班级学生资料,单击表格内的学生,修改框将会自动显示该学生已经保存的资料。如图所示。图14 修改学生信息界面让表格中的学生信息在修改框内显示的代码如下: Try Dim n As Integer = Me.XsjcxxDataGridView.CurrentRow.Index TextBox1.Text = Me.XsglxtDataSet.xsjcxx(n).姓名 TextBox2.Text = Me.XsglxtDataSet.xsjcxx(n).电话 TextBox3.Text = Me.XsglxtDataSet.xsjcxx(n).住址 TextBox4.Text = Me.Xsglx
29、tDataSet.xsjcxx(n).学号 Me.DateTimePicker1.Value = Me.XsglxtDataSet.xsjcxx(n).生日 ComboBox1.Text = Me.XsglxtDataSet.xsjcxx(n).性别 zx = Me.XsglxtDataSet.xsjcxx(n).相片.Trim Me.PictureBox1.Image = Image.FromFile(./pc/ + zx) Catch ex As Exception End Try3、 查询学生信息教务员可以对学生资料进行查询,可以选择班级查询该班级学生名单,单击学生姓名,资料框将会自动显
30、示该学生的资料。也可以按照学生的学号或姓名直接查询该学生资料。如图所示。图15 查询学生信息界面按学号或者姓名查询该学生信息时的核心代码如下: Dim c1 As String If RadioButton1.Checked Then c1 = select * from xsjcxx where 学号 like % + TextBox1.Text.Trim + % Else c1 = select * from xsjcxx where 姓名 like % + TextBox1.Text.Trim + % End If Dim ad As New SqlClient.SqlDataAdapt
31、er(c1, XsjcxxTableAdapter.Connection.ConnectionString) Me.XsglxtDataSet.xsjcxx.Clear() ad.Fill(Me.XsglxtDataSet.xsjcxx)XsjcxxListBox_SelectedIndexChanged(sender, e)4、 删除学生信息教务员可以将不需要的学生信息进行删除,选择班级后系统将自动显示该班级学生资料,选择表格内学生,点击删除按钮系统提示是否确定删除,确认即可删除该学生信息资料。如图所示。图16 删除学生信息界面删除按钮的主要代码如下: Dim ds As MsgBoxRes
32、ult = MsgBox(确定要删除记录吗?, MsgBoxStyle.OkCancel, 删除确认) If ds = MsgBoxResult.Ok Then Me.XsglxtDataSet.xsjcxx(Me.XsjcxxDataGridView.CurrentRow.Index).Delete() Me.XsjcxxBindingSource.EndEdit() Me.XsjcxxTableAdapter.Update(Me.XsglxtDataSet.xsjcxx) Me.XsjcxxDataGridView.Refresh()End If(六)学生成绩管理 用于教师录入学生成绩、修
33、改成绩、删除成绩和查询成绩信息的进行相应的操作。1、输入学生成绩教师可以对学生的成绩资料进行输入。选择学期、考试名称、班级和科目之后可对学生成绩进行操作,系统具有中断点功能,可以对上次未完成的学生进行继续输入。如图所示。图17 输入学生成绩界面 中断功能的代码如下: n = Me.XsglxtDataSet.chengji.Count If n Me.XsglxtDataSet.xsjcxx.Count Then TextBox1.Text = Me.XsglxtDataSet.xsjcxx(n).姓名 TextBox2.Text = Button1.Enabled = True Else M
34、sgBox(该班级本门学科成绩已经输入完毕。) Button1.Enabled = False End If2、修改学生成绩教师可以对学生的成绩资料进行修改。选择学期、考试名称、班级和科目之后可对学生成绩进行操作。如图所示。图18 修改学生成绩界面确认是否修改的代码如下:If MsgBox(确定修改吗?, MsgBoxStyle.OkCancel) = MsgBoxResult.Ok ThenXsglxtDataSet.chengji(ChengjiDataGridView.CurrentRow.Index).科目成绩 = TextBox2.TextMe.ChengjiTableAdapter
35、.Update(Me.XsglxtDataSet.chengji)Me.XsglxtDataSet.chengji.AcceptChanges()End If3、 查询学生成绩教师可以对学生成绩资料进行查询,可以选择学期、考试名称、班级和科目来查询整个班级的成绩,单击学生姓名,表格将会自动显示该学生的成绩。也可以按照学生的学号或姓名直接查询该学生成绩资料。如图所示图19查询学生成绩界面点击姓名会显示学生成绩的代码如下:TryDim c1 As String = select*from Chengji where 学号= + ListBox1.SelectedValue + Dim ad As
36、New SqlClient.SqlDataAdapter(c1, Me.ChengjiTableAdapter.Connection)Me.XsglxtDataSet.chengji.Clear()ad.Fill(Me.XsglxtDataSet.chengji)Catch ex As ExceptionEnd Try4、 删除学生成绩教师可以对学生的成绩资料进行删除。选择学期、考试名称、班级和科目之后可对学生成绩进行操作。如图所示。图20查询学生成绩界面删除成绩的代码如下:Dim ds As MsgBoxResult = MsgBox(确定要删除记录吗?, MsgBoxStyle.OkCan
37、cel, 删除确认)If ds = MsgBoxResult.Ok Then Me.XsglxtDataSet.chengji(Me.ChengjiDataGridView.CurrentRow.Index).Delete()Me.ChengjiBindingSource.EndEdit()Me.ChengjiTableAdapter.Update(Me.XsglxtDataSet.chengji)Me.ChengjiDataGridView.Refresh()End If六、 小结 本管理系统通过对信息的采集、存储、修改、维护和使用等,并随着管理科学和技术科学的发展而形成的。学生信息管理系统
38、能为用户提供充足的信息,对管理员来说可以轻松使用。整个软件在开发过程中使用模块化程序设计方法,充分考虑了各种实际情况,通过这段时间的具体应用和不断完善,显示出良好的效果。整个管理系统是随着管理科学和技术科学的发展而形成的。本系统为用户提供充足的成绩信息和查询手段。整个系统在开发过程中使用模块化程序设计方法,充分考虑了各种实际情况,逐步取代了人们长期以来所使用的单纯的人工管理方式,提高了工作效率,也对学生工作管理的科学化、正规化起到了重要的作用。参考文献:1 SQL Server 2005 实用教程 张蒲生 著 清华大学出版社 2008年9月2 Visual Basic.NET 程序设计教程 龚
39、沛曾 著 高等教育出版社 2010年2月3 基于C/S架构的软件项目实训VB.NET 元晓静 著 电子工业出版社 2005年1月致 谢感谢我的导师老师,您的严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;您的循循善诱的教导和不拘一格的思路给予我无尽的启迪。感谢我的老师,这篇论文的每个细节和每个数据,都离不开您的细心指导。而您开朗的个性和宽容的态度,帮助我能够很快的完成我的毕业设计。感谢我的同学们,从遥远的家来到这个陌生的城市里,是你们和我共同维系着彼此之间的感情。两年半了,仿佛就在昨天,我的毕业设计是在你们的协助之下完成的。此后,我们将各奔前程,大家珍重!在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922