1、随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。关键词:学生信息管理系统;VB;ADO控件。第二章 可行性研究学生信息,作为一个学校,就有一定的工作量存在,而学生信息,它的工作量可能是其它信息工作量的几倍,班级的增加、班级的查找、班级的修改;学生档案;课程管理;成绩管理;缴费管理;统计等等,每个信息的数据都在不断地变化着,如果采用人工的方式进行操作,那么,一天的工作量,足以让人觉得比较繁琐,吃不消。针对这样的情况,
2、采用让数据的查询变得简单化,数据变的更让每个人都在任何时刻都可以了解到。 在学校,尤其是在各大高校,对于学生的管理是相当重要,而且也是相当麻烦的,它是学校管理中最基本的一项常规性工作。而长期以来,学校管理都是依赖人工来进行的,面对如此众多的学生信息,其工作量是相当相当巨大的。这样不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可预知性,造成学生信息管理的一些不规范,使得信息管理陷入“事倍功半”的地步。开发本系统就是为了解决学校在管理中的一些不规范,使学生信息的管理向着规范化、简单化、有效化的方向发展。根据学生信息管理系统的基本流程和高校学生信息管理的实际要求,本系统需要实现以下功能:
3、 学生基本信息的录入,基本信息包括学生的基本情况、所在班级、所学课程和成绩等; 要求在系统中能够对学生信息精心灵活的浏览和查询; 要求在系统中能够对班级信息进行输入、查询和修改等; 要求能够对学校基本课程信息录入、修改和设置等; 要求能够对学生成绩信息进行输入、修改和查询等; 基于权限的管理,本系统可以提供给管理员或者学生本人使用。对学生类用户,只能查看信息;而对于管理员类用户而言,可以管理所有的学生信息。学生信息管理系统是为本校开发的,本系统所采用的语言是Visual Basic,用Microsoft Access 2000数据库完成。该系统总体有四部分组成,包括学生信息查询、教务信息维护、
4、学生选课及用户管理。通过本系统,把本校内部查询学生信息、教务信息、学生选课各个环节进行有效地计划、组织和控制。通过本校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。本系统主要信息流程为:教务信息维护接受学生的信息,学生信息查询根据教务信息维护的学生信息做出对所接收的信息合理性进行判断,并交于信息维护进行相应的修改,再把信息存入数据库中。学生选课是对学生进行相应选择自己相关的课程。最后进行打印。采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。由于采用统一的数据信息,使相关资料能够快速地查询所需的数据、资料及其它信息的,
5、使信息快速高效运行。第三章 需求分析学生信息管理系统是将学生的学籍、成绩、课程、班级等有机结合,综合应用的一个学生信息管理软件,它使学校对学生的信息管理由以往的手工作业向自动化、网络化、信息化迈进了一大步。从而使学校的学籍管理人员从繁重的学籍管中解放出来,大到提高了工作效率,减轻了管理人员的工作量。需求分析就是描述系统的需求,分析的根本目的是在开发者和提出需求的人员建立一种理解和沟通的机制。因此,学生信息管理系统的需求分析也应该是开发人员和用户或者客户一起完成的。需求分析的第一步是描述学生信息管理系统的功能,即定义用例,以确定系统的功能需求。学生信息管理系统用不着例分析主要涉及规格说明的阅读和
6、分析,需要和学生信息管理系统的潜在用户进行讨论。一个学校的角色是教师、学生、各级管理者和系统管理员。学生和各级管理者是系统的用户,而系统管理员是系统管理者,虽然系统管理员也是一个学生,但这并不影响系统的功能。学生信息管理系统的用例包括:系统信息管理 (包括用户管理、密码管理)班级信息管理(添加班级信息管理、修改班级信息管理) 课程信息管理(包括添加课程信息管理、修改课程信息管理、设置课程信息管理)成绩信息管理(包括添加成绩信息管理、修改成绩信息管理、查询成绩信息管理)第四章 系统设计过程3.1 系统设计3.1.1 系统功能的分析系统开发的总体任务是实现学生信息管理的系统化、规范化和自动化。系统
7、功能分析是在系统开发的总体任务的基础上完成的。学生信息管理系统需要完成的功能主要有:学生信息的查询,包括学生基本信息、所在班级、已学课程和成绩等。学生信息的修改。班级管理信息的输入,包括输入班级设置、年级信息等。班级管理信息的查询。班级管理信息的修改。学校基本课程信息的输入。基本课程信息的修改。学生课程的设置和修改。学生成绩信息的修改。学生成绩信息的查询。学生成绩信息的统计。3.1.2 系统功能模块设计对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到下图所示的系统功能模块图。图1 系统功能模块图3.2 数据库设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直
8、接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利于程序的实现。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。 3.2.1 数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详细的数据字典,为后面的具体设计打下基础。数据流程图: 图2 系统数据流程图数据项和数据结构:学生基本信息:包括的数据项有:学生学号、学生姓名、性别、出生日期、班号、联系电话、入校
9、日期、家庭住址、备注等。班级信息:班号、所在班级、班主任姓名、所在教室等。课程基本信息:课程号、课程名称、课程类别、课程描述等。课程设置信息:年级信息、所学课程等。考试编号、所在班级、学生学号、学生姓名、所学课程、考试分数等。3.2.2 数据库概念结构设计在得到数据项和数据结构以后,就可以设计出满足用户需求的各种实体,以及他们之间的关系,为逻辑设计打下基础。实体有:学生实体、班级实体、年级实体、课程实体。学生实体E-R图:班级实体E-R图:图4 班级实体E-R图课程实体E-R图:图5 课程实体E-R图年级实体E-R图:3.2.3 数据库逻辑结构设计现在需要将上面的数据库概念结构转化为Assec
10、c 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间关系的基础上,形成数据库中的表以及各个表之间的关系。学生信息管理系统数据库中学生成绩表格的设计结果如下所示:表1 成绩设置表学生成绩信息表:列名数据类型说明Exam_NoCHAR(10)考试编号Student_IDINT(4)学生学号Student_Name学生姓名Class_NO学生班号Course_Name课程名称resultFLOAT(8)分数表2 学生成绩信息表3.3 学生管理系统主窗体的创建3.3.1 创建工程项目Student_MIS3.3.3 创建主窗体的菜单在主窗体中,单击鼠标右键,选择
11、弹出式菜单中的“Menu Editor”命令,创建菜单结构如下表:图7主窗体菜单结构表3.3.4 创建公用模块在Visual Basic中可以用公用模块来存放整个工程项目公用的函数、全局变量等。整个工程项目中的任何地方都可以调用公用模块中的函数、变量,这样可以极大地提高代码的效率。在项目资源管理器中为项目添加一个Module,保存为Module1.bas。下面就可以开始添加需要的代码了。由于系统中各个功能模块都将频繁使用数据库中的各种数据,因此需要一个公共的数据操作函数,用以执行各种SQL语句。添加函数ExecuteSQL。ExecuteSQL函数有两个参数:SQL和MsgString。其中S
12、QL用来存放需要执行的SQL语句,MsgString用来返回执行的提示信息。函数执行时,首先判断SQL语句中包含的内容:当执行查询操作时,ExecuteSQL函数将返回一个与函数同名的记录集对象(Recordset),所有满足条件的记录包含在对象中;当执行如删除、更新、添加等操作时,不返回记录集对象。在ExecuteSQL函数中使用了Connect String函数,这个函数用来连接数据库。由于在后面的程序中,需要频繁检查各种文本框的内容是否为空,这里定义了Txsttxt函数。如果文本框内容为空时,函数将返回True,否则将返回False。由于学生信息管理系统启动后,需要对用户进行判断。如果登
13、录者是授权用户,将进入系统,否则将停止程序的执行,这个判断需要在系统运行的最初进行,因此将代码放在公用模块中。3.4 成绩管理模块的创建成绩管理模块主要实现如下功能:添加成绩信息修改成绩信息查询成绩信息3.4.1 添加成绩信息窗体的创建选择“成绩管理|添加成绩信息”菜单,将出现“添加成绩信息”窗口。“添加成绩信息”窗体中控件的属性设置见下表: 添加成绩信息窗体图8功能特点:对成绩信息的添加;实现方法:用ADO控件向数据库读取。控件属性属性取值FrmAddresult(Form)NameFrmAddresultCaptionMDIChildTrueComboExamtypeComboClassn
14、oComboCourseTxtResultComboSIDTxtNameCmdOK确定添加CmdCanel退出添加Lable1Lable2选择班号Label3选择学号Lable4姓名Lable5选择课程Lable6表 5添加成绩信息窗体中控件及其属性设置表选择班级后,将触发Click事件,学号的文本框中自动加入相关班级的所有学号。单击“确认添加”按钮,将输入内容添加到数据库中。代码如下:Private Sub about_Click() frmAbout.ShowEnd SubPrivate Sub addcinfoMenu_Click() frmAddclassinfo.Show frmAd
15、dclassinfo.Height = 3120 frmAddclassinfo.Width = 5925Private Sub addcourseMenu_Click() frmAddcourseinfo.ShowPrivate Sub addresultMenu_Click() frmAddresult.Show frmAddresult.Width = 6750 frmAddresult.Height = 3645Private Sub addsinfoMenu_Click() frmAddsinfo.Show frmAddsinfo.Height = 6070 frmAddsinfo.
16、Width = 8670Private Sub adduserMenu_Click() frmAdduser.Show sbStatusBar.Panels(1).Text = 添加用户Private Sub exitMenu_Click() EndPrivate Sub exitsinfoMenu_Click() Unload frminquireinfoPrivate Sub gradecourseMenu_Click() frmSetcourseinfo.ShowPrivate Sub howtoMenu_Click()Private Sub inquireclassmenu_Click
17、() frmInquireclass.Show frmInquireclass.Height = 5600 frmInquireclass.Width = 8070Private Sub inquireresultMenu_Click() frmInquireresult.Show frmInquireresult.Height = 5600 frmInquireresult.Width = 8070Private Sub inquiresinfoMenu_Click() frmInquiresinfo.Show frmInquiresinfo.Height = 6000 frmInquire
18、sinfo.Width = 10275 End SubPrivate Sub MDIForm_Load() Me.Left = GetSetting(App.Title, Settings, MainLeft, 1000) Me.Top = GetSetting(App.Title, MainTop Me.Width = GetSetting(App.Title, MainWidth, 6500) Me.Height = GetSetting(App.Title, MainHeightPrivate Sub MDIForm_Unload(Cancel As Integer) If Me.Win
19、dowState vbMinimized Then SaveSetting App.Title, , Me.Left, Me.Top, Me.Width, Me.Height End IfPrivate Sub modifycinfoMenu_Click() frmModifyclassinfo.ShowPrivate Sub modifycourseMenu_Click() frmModifycourseinfo.ShowPrivate Sub modifypwdMenu_Click() frmModifyuserinfo.ShowPrivate Sub modifyresultMenu_C
20、lick() frmModifyresult.Show frmModifyresult.Height = 5600 frmModifyresult.Width = 7750Private Sub modifysinfo_Menu_Click() frmModifysinfo.Show frmModifysinfo.Height = 7590 frmModifysinfo.Width = 82951修改成绩信息窗体的创建选择“成绩管理|修改成绩信息”菜单,将出现“修改成绩信息”窗口。图9 修改成绩信息窗体中控件及其属性设置表控件的属性设置和修改方法详见表21。对成绩信息的修改,更新,取消修改,删
21、除等功能;用ADO控件直接向数据库读取,对数据库进行操作。源代码如下:Dim mrc As ADODB.RecordsetDim myBookmark As VariantPrivate Sub cancelCommand_Click() mrc.Bookmark = myBookmark Call viewData firstCommand.Enabled = True lastCommand.Enabled = True previousCommand.Enabled = True nextCommand.Enabled = True updateCommand.Enabled = Fal
22、se cancelCommand.Enabled = False comboExamtype.Enabled = False comboClassno.Enabled = False comboSID.Enabled = False comboCourse.Enabled = False txtName.Enabled = False txtResult.Enabled = FalsePrivate Sub comboSID_Click() Dim mrcc As ADODB.Recordset Dim txtSQL As String Dim MsgText As String txtSQL
23、 = select * from student_Info where student_ID = & comboSID.Text & Set mrcc = ExecuteSQL(txtSQL, MsgText) txtName.Text = mrcc!student_Name mrcc.ClosePrivate Sub deleteCommand_Click() myBookmark = mrc.Bookmark str2$ = MsgBox(是否删除当前记录?, vbOKCancel, 删除当前记录) If str2$ = vbOK Then mrc.MoveNext If mrc.EOF Then mrc.MoveFirst mrc.MoveLast mrc.Delete mrc.Close txtSQL
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1