《案例一学生信息管理系统VB+access_2003.doc》由会员分享,可在线阅读,更多相关《案例一学生信息管理系统VB+access_2003.doc(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、案例一 学生信息管理系统摘要:随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。学生成绩管理系统主要提供方便高效的管理功能,该实现以下一些基本功能: 1.系统管理模块:维护系统的正常运行和安全性设置,包括添加用户、修改密码、删除用户等等。2.班级管理模块:实现对全校班级的管理工作,包括:班级游览、班级添加、班级修改等,这三个功能模块各自独立,完成学校的全部班级的管理。3.学生学籍管理模块:实现对学生的个人信息的管理工作,包
2、括学籍添加、学籍查询、学籍修改等功能,从而方便学校管理部门对学校的基本情况的快速查询和了解。4.课程管理模块:该模块对各个班级的课程进行设置,并可在其中设置各门课程的教材选用情况,方便了学校教材管理部门和教务处的教学管理人员的工作。该模块包括基本课程设置和班级课程设置两个模块。5.成绩管理模块:检验学生学习情况的一个主要手段,本模块包括考试类型设置,共有期中考试和期未考试两种类型,还设置了成绩添加、成绩查询、成绩浏览、成绩修改等功能模块。6.奖惩信息管理模块:奖惩信息是用来督促学习学习活动的一种手段,包括奖惩信息的添加和修改。7.个人信息查询模块:用于学生个人信息的查询,分为奖惩信息查询和成绩
3、查询两个模块。8. 退出模块:此模块完成程序的退出。 该程序界面友好,功能强大,适合实际应用。关键字:数据库ACCESS数据库 学生信息操作 VB编程1.概述该信息管理系统可以说是一个综合性的学校学生管理系统,它集成了学生学籍管理系统、学生成绩管理系统、学生档案管理系统等多种功能,因而具有较强的实用性和先进性。项目开发背景:学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,对学生来说也可以轻松的查阅自己在校的成绩以及信息等.但是一直以来人们都是靠传统人工的方式管理学生成绩,这种管理方式存在着许多缺点,如:效率低,保密性差,另外时间一长,将产生大量的文
4、件和数据,这对于查找,更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机对学生信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等。这些优点能够极大地提高学生信息管理的效率,方便系统管理员对学生成绩等信息的添加,修改,删除,查询,留言等操作,同时一样的方面学生对自己各科成绩查询,学习的交流。项目开发的目标:建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平.帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化.项目提出的意义:现在我国的大中专院校的学生信息管理水平普遍
5、不高,有的还停留在纸介质基础上,这种管理手段已不能适应时代的发展,因为它浪费了了许多的人力和物力。在当今信息时代这种传统的管理方法必然被计算机为基础的信息管理系统所代替。如果本系统能被学校所采用,将会改变以前靠手工管理学生成绩的状况,可以树立良好的办学形象,提高工作效率。2.需求分析2.1系统需求:通过调查,要求系统需要有以下功能: 要求有良好的人机界面; 较好的权限管理; 原始数据修改简单方便,支持多条件修改; 方便的数据查询,支持多条件查询; 相应的权限下,删除数据方便简单,数据稳定性好; 数据计算自动完成,尽量减少人工干预;2.2可行性分析:由于本系统管理的对象单一,都是在校学生,且每个
6、数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是奔腾3以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言介绍如下:Visual Basic是一种可视化的、面对对象和调用事件驱动方式的结构化高级程
7、序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。2.3业务流程分析教务处输入计算机班主任教务处学生班级班级输出图1班级管理业务流程图教务处输入计算机班主任教务处学生档案档案输出图2档案管理业务流程图教务处输入计算机教师教务处学生课程输出课程图3课程管理业务流程图教务处输入计算机教师教务处学生成绩教师输出教务处输入计算机班主任教务处学生班级班级输出图4成绩管理业务流程图2.4数据流程分析:数据流程
8、图:学籍管理部门教师学生成绩管理系统教务处学生教师教师学生情况学生成绩查询统计分析图5学生成绩管理系统0层数据流程图学生D11.0学生管理管理部门D2课程2.0课程管理教务处查询者3.0成绩管理教师成绩D34.0统计分析管理者图6学生成绩管理系统1层数据流程图3数据库逻辑设计3.1软件模块结构设计3.1.1系统方案确定通过对系统的调研与分析,系统主要应完成的功能有:班级管理、学生档案管理、课程管理、成绩管理、奖惩信息管理、个人信息查询等功能。3.1.2 软件结构设计接受数据处理中心班级管理学籍管理课程管理成绩管理奖惩管理个人信息查询本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然
9、后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。图7事务型管理模块图3.2数据库建模数据模型设计。首先来做出学生成绩管理系统的E-R图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。再分析三个实体之间的联系。首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。而学习成绩是这两个实体“学生”和“成绩”共有的属性,应填在二者的联系“学习”边。
10、因为成绩既不是学生独有的,也不是课程独有的;“学生甲70分”或“英语70分”是不完全的,说“学生甲英语70分”才是正确的,因为70分是学生甲和英语课二者共有的。这个E-R图可画成下图。学生课程成绩学习mn图8学生成绩管理系统中学生与课程的E-R图教师与课程这两个实体之间,是一对多联系;一位教师可以教多门课程,而一门课程对于学生成绩来说只能有一位教师(英语、高等数学有多位教师教,但对某个固定的学生来说只能有一位教师)。其E-R图,如下所示。n教师课程教学l图9一对多E-R图教师与课程的E-R图组合到一起,得到最后的E-R图,有了E-R图,就可以设计数据库。下图为数据模型图。nlm m学习学生课程
11、教师学习学习课程学生教师实体模型数据模型数据库图10教师与课程的E-R图3.3数据库逻辑设计数据库采用了Microsoft推出的Access数据库,这是微软集成到Office中的一个桌面数据库,能够快速方便的和Office的其他套件综合使用。由于Access具有显著的简易性和有效性,大量的桌面数据库系统都采用Access作为后台数据库。使用Access的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件SQL Server,此时,程序只需要简单的修改一下链接(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。本系统
12、中所涉及到的主要实体共有八个数据表:class_Cour班级课程表: class_NO班级编号,course_Name课程名 class_Form班级表:class_NO班级编号,class_Name班级名称,class_Teacher导员姓名,class_Remarks备注信息course_Form课程表:course_Name课程名,course_Rem备注prize_Form奖惩表:prize_Name奖惩名称,prize_Rem备注信息prize_Stud学生奖惩表:prize_NO奖惩编号,prize_Stu奖惩学生学号,prize_Dat奖惩日期,prize_Nam奖惩名称scor
13、e_Form成绩表:score_NO成绩号,score_Per考试期号,score_Cla学生班号,score_Stu学生编号,score_Cou考试课程,score_Sco考试分数student_Form学籍表:student_NO学号, student_Name姓名, student_Sex性别, student_Bir出生日期, student_Cla学生编号, student_Tel练习电话, student_Esd入学日期, student_Add家庭住址, student_Rem备注信息user_Form用户表:user_ID用户名称, user_PWD用户密码, user_DAT
14、E创建日期3.4 数据库的物理设计表1班级课程表(class_Cour)字段名称数据类型字段大小允许空字符串班级编号class_NO文本20否课程名course_Name文本20否表2班级表(class_Form)字段名称数据类型字段大小允许空字符串班级编号class_NO文本20否班级名称class_Name文本10否导员姓名class_Teacher文本10否备注信息class_Remarks文本60表3课程表(course_Form)字段名称数据类型字段大小允许空字符串课程名course_Name文本20否备注course_Rem备注表4奖惩表(prize_Form)字段名称数据类型字段
15、大小允许空字符串奖惩名称prize_Name文本20否备注信息prize_Rem备注表5学生奖惩表(prize_Stud)字段名称数据类型字段大小允许空字符串奖惩编号prize_NO文本14否奖惩学生学号prize_Stu文本20奖惩日期prize_Dat日期/时间短日期奖惩名称prize_Nam文本20表6成绩表(Score_Form)字段名称数据类型字段大小允许空字符串成绩号score_NO文本14否考试期号score_Per文本20学生班号score_Cls文本20学生编号score_Stu文本20考试课程score_Cou文本20考试分数score_Sco数字单精度型自动(小数位)表7
16、学生表(student_Form)字段名称数据类型字段大小允许空字符串学号student_NO文本20否姓名student_Name文本10性别student_Sex文本2出生日期student_Bir日期/时间短日期学生编号student_Cla文本20联系电话student_Tel文本13入学日期student_Esd日期/时间短日期家庭住址student_Add文本60备注信息student_Rem备注表8 user_Form用户表字段名称数据类型字段大小允许空字符串用户名称user_ID文本20否用户密码user_PWD文本10创建日期user_DATE日期/时间短日期4软件功能设计学
17、生信息管理系统登录系统管理班级管理学籍管理课程管理成绩管理基本课程设置学生成绩查询班级课程设置学生成绩修改学生成绩录入学生成绩浏览修改密码添加班级学籍查询添加用户删除用户班级浏览修改班级添加学籍修改学籍奖惩管理信息查询信息修改个人信息查询图11 功能模块图4.1系统管理模块该模块的主要任务是维护系统的正常运行和安全性设置,包括添加用户、修改密码、删除用户等等。修改: Private Sub Command2_Click() Text1(0) = Text1(1) = Text1(2) = End Sub Set mrc = ExecuteSQL(txtSQL, MsgText) txtSQL
18、= select * from user_Form Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.AddNew mrc.Fields(0) = Trim(Text1(3) mrc.Fields(1) = Trim(Text1(5) mrc.Fields(2) = Now mrc.Update mrc.Close For i = 3 To 6 Text1(i) = Next MsgBox 用户信息修改成功!, vbOKOnly, 提示End Sub4.2班级管理模块该模块的功能是实现对全校班级的管理工作,包括:班级游览、班级添加、班级修改等,这三个功能模块各
19、自独立,完成学校的全部班级的管理。Private Sub Command5_Click()txtSQL = delete from class_Form where class_NO= & Trim(Text1(8) & Set mrc = ExecuteSQL(txtSQL, MsgText) For i = 8 To 11 Text1(i) = Next MsgBox 班级信息以经删除!, vbOKOnly, 警告 ShowDataEnd Sub4.3学生学籍管理模块该模块的主要功能是实现对学生的个人信息的管理工作,包括学籍添加、学籍查询、学籍修改等功能,从而方便学校管理部门对学校的基本情
20、况的快速查询和了解。4.4课程管理模块该模块对各个班级的课程进行设置,并可在其中设置各门课程的教材选用情况,方便了学校教材管理部门和教务处的教学管理人员的工作。该模块包括基本课程设置和班级课程设置两个模块。Private Sub Command2_Click() Dim txtSQL As String If List2.Text ThentxtSQL=delete from course_Form where course_Name= & Trim(List2.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText) MsgBox 课程信息已经删除!, vb
21、OKOnly, 提示 List2Text End IfEnd Sub4.5成绩管理模块学校的成绩管理工作是检验学生学习情况的一个主要手段,本模块包括考试类型设置,共有期中考试和期未考试两种类型,还设置了成绩添加、成绩查询、成绩浏览、成绩修改等功能模块。 Private Sub Command7_Click() Dim j As Integer Dim txtSQL As String If Text4(0) = Then MsgBox 请选择要删除的纪录!, vbOKOnly, 提示 MSFlexGrid1.SetFocus Exit Sub End If txtSQL = Delete fr
22、om score_Form where score_NO= & Trim(Text4(0) & Set mrc = ExecuteSQL(txtSQL, MsgText) MsgBox 考试信息修改成功!, vbOKOnly, 提示 j = 0 For i = 1 To MSFlexGrid1.Rows - 1 If MSFlexGrid1.TextMatrix(i, 0) = Text4(0) Then j = i End If4.6奖惩信息管理模块奖惩信息是用来督促学习学习活动的一种手段,包括奖惩信息的添加和修改。Private Sub Command1_Click() Dim txtSQ
23、L As String mrc.Close txtSQL = select * from prize_Form Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.AddNew mrc.Fields(0) = Trim(Text1(0) mrc.Fields(1) = Trim(Text1(1) mrc.Update mrc.Close Text1(0) = Text1(1) = MsgBox 奖惩信息添加成功!, vbOKOnly, 提示 List1TextEnd Sub4.8 退出模块此模块完成程序的退出。5界面设计5.1系统登陆界面:本界面的主要功能是为了
24、对系统进行安全性管理,本系统的用户名和密码保存在USE表中,本系统根据不同的用户而设置了不同的权限,可以用ID;PWD(大写)为用户名和密码来登陆本系统。5.2系统主界面:本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,共有7个功能菜单,从而实现了本系统从用户管理、班级管理、学籍管理、课程管理、成绩管理、奖惩管理、个人信息查询等系统功能,同时,在系统管理模块中可以完成对本系统的安全性管理。5.3用户管理模块:本模块是本系统的安全性设置模块,实现了对用户帐户信息管理功能。5.4班级信息管理模块:班级信息管理模块用于实现班级信息的添加、删除、修改的功能。包括班级编号,班级名称,导员姓名
25、,备注信息。当对其中某个属性进行操作时,对其基本的信息进行填写完整。否则会出现提示信息。当班级编号,班级名称,导员姓名为空时会自动的出现提示信息,提示某个属性列必须要填写,否则显示操作成功。如图12所示班级信息管理模块5.5学籍信息管理模块:学籍信息管理模块是对学生的个人信息进行统计。实现该模块的添加、查询、修改、 删除功能。例如点击添加时,系统弹出如图1-2所示的界面,当点击界面下方面的控件时,其所对应的位置会显示为输入形式,对信息进行输入。输入完成后,点击添加时,系统会自动对信息进行验证,如果学号以存在时,则提示学号存在无法添加;如果除备注信息中有信息落填时,会提示某个属性列没有填写,否则
26、提示信息添加成功,并对添加后的信息进行显示。 如图13所示学籍信息管理模块(添加功能)5.6课程信息管理模块:5.7成绩信息管理模块:5.8奖惩信息管理模块:5.9个人信息查询模块:6.结束语在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。因此,该系统必然会存在一些缺陷和不足。因为对学生管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。虽然网络在学生管理系统中的应用不是很多,但是未来的发展方向,在本次开发过程由于硬件的限制,未能实现网络功能,因此在以后的系统更新过程中可能会造成一些不必要的数据损失。通过开发这个系统,我掌握了项目的基本开发过程,了解了的
27、基本知识巩固了我对Visual Basic的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。7.参考文献1 周佩德.数据库原理及应用.电子工业出版社2 刘炳文等,VISUAL BASIC程序设计数据库篇,19993 李光明.Visual Basic编程实例大制作.冶金工业出版社4 李红等编著,管理信息系统开发与应用,电子工业出版社,20035 软件工程,人民邮电出版社,2002年3月第一版6 康博工作室,张红军,王红等缟著Visual Basic中文版高级应用与开发指南,人民邮电出版社,2001年4月第一版7 林立军,
28、程斌,翁迪恩缟著Visual Basic 数据库开发指南,西安电子科技大学出版社,2000年2月第一版8 宋伟,吴建国等编著中文Visual Basic编程基础,北京,清华大学出版社8.源程序:8.1系统登录界面:Option ExplicitPrivate Declare Function GetUserName Lib advapi32.dll Alias GetUserNameA (ByVal lpbuffer As String, nSize As Long) As LongPublic OK As BooleanDim txtSQL As StringDim mrc As ADODB
29、.RecordsetDim MsgText As StringDim miCount As IntegerPrivate Sub Form_Load() Dim i As Integer i = 0 txtSQL = select * from user_Form Set mrc = ExecuteSQL(txtSQL, MsgText) With txtUserName Do While Not mrc.EOF i = i + 1 .AddItem Trim(mrc!user_ID) mrc.MoveNext Loop .ListIndex = i - 1 End With mrc.Clos
30、e OK = False miCount = 0End SubPrivate Sub cmdCancel_Click() OK = False Me.HideEnd SubPrivate Sub cmdOK_Click()txtSQL = select * from user_Form where user_ID = & txtUserName.Text & Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = True ThenMsgBox 没有这个用户,请重新输入用户名!, vbOKOnly + vbExclamation, 警告 txtUs
31、erName.SetFocus Else If Trim(mrc.Fields(1) = Trim(txtPassword.Text) Then OK = True mrc.Close Me.Hide UserName = Trim(txtUserName.Text) ElseMsgBox 输入密码不正确,请重新输入!, vbOKOnly + vbExclamation, 警告 txtPassword.SetFocus txtPassword.Text = End If End If miCount = miCount + 1 If miCount = 3 Then Me.Hide End I
32、f Exit SubEnd SubPrivate Sub txtPassword_KeyDown(KeyCode As Integer, Shift As Integer) EnterToTab KeyCodeEnd SubPrivate Sub txtPassword_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Call cmdOK_Click End IfEnd SubPrivate Sub txtUserName_Click() txtPassword.Text = End SubPrivate Sub txtUserName_
33、KeyDown(KeyCode As Integer, Shift As Integer) EnterToTab KeyCodeEnd Sub8.2系统主界面:Dim i As LongPrivate Sub Form_Load() Label1.ForeColor = &H8000000E Label1.FontSize = 12 Label1.AutoSize = True i = Image2.WidthEnd SubPrivate Sub Form_Resize() Image1.Top = 0 Image1.Left = 0 Image1.Height = Me.Height Ima
34、ge1.Width = Me.Width Image2.Top = Me.Height - Image2.Height Image2.Left = Me.Width - Image2.Width Label1.Top = Me.Height - Label1.Height - 100End SubPrivate Sub Timer1_Timer() i = i + 50 Label1.Left = Me.Width - i If i Me.Width + Label1.Width Then i = Image2.Width End IfEnd Sub8.3用户管理模块:Dim mrc As A
35、DODB.RecordsetDim MsgText As StringPrivate Sub Command1_Click() Dim txtSQL As String If Text1(0) = Then MsgBox 用户名称不能为空!, vbOKOnly, 提示 Text1(0).SetFocus Exit Sub End If If Text1(1) = Then MsgBox 用户密码不能为空!, vbOKOnly, 提示 Text1(1).SetFocus Exit Sub Else If Text1(1) Text1(2) Then MsgBox 两次密码输入不同!, vbOKO
36、nly, 提示 Text1(1) = Text1(2) = Text1(1).SetFocus Exit Sub End If End IftxtSQL = select * from user_Form where user_ID= & Trim(Text1(0) & Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = False Then MsgBox 此用户名已经存在!, vbOKOnly, 警告 Text1(0).SetFocus Exit Sub End If mrc.Close txtSQL = select * from user
37、_Form Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.AddNew mrc.Fields(0) = Trim(Text1(0) mrc.Fields(1) = Trim(Text1(1) mrc.Fields(2) = Now mrc.Update mrc.Close For i = 0 To 2 Text1(i) = Next MsgBox 用户信息添加成功!, vbOKOnly, 提示 ListappEnd SubPrivate Sub Command2_Click() Text1(0) = Text1(1) = Text1(2) = End Su
38、bPrivate Sub Command3_Click() Dim txtSQL As String If Text1(3) = Then MsgBox 请你选择用户名称!, vbOKOnly, 提示 List1.SetFocus Exit Sub End If If Text1(4) = Then MsgBox 修改密码要旧密码!, vbOKOnly, 警告 Text1(4).SetFocus Exit Sub End If If Text1(5) = Then MsgBox 新的密码不能为空!, vbOKOnly, 提示 Text1(5).SetFocus Exit Sub Else If
39、 Text1(5) Text1(6) Then MsgBox 两次密码输入不同!, vbOKOnly, 提示 Text1(5) = Text1(6) = Text1(5).SetFocus Exit Sub End If End IftxtSQL = select * from user_Form where user_ID= & Trim(Text1(3) & and user_PWD= & Trim(Text1(4) & Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = False ThentxtSQL = delete from use
40、r_Form where user_ID= & Trim(Text1(3) & Else MsgBox 用户密码输入错误!, vbOKOnly, 警告 Text1(4).SetFocus Exit Sub End If Set mrc = ExecuteSQL(txtSQL, MsgText) txtSQL = select * from user_Form Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.AddNew mrc.Fields(0) = Trim(Text1(3) mrc.Fields(1) = Trim(Text1(5) mrc.Fields(2) = Now mrc.Update mrc.Close For i = 3 To 6 Text1(i) = Next MsgBox 用户信息修改成功!, vbOKOnly, 提示End SubPrivate Sub Command4_Click()