第一篇:学生(班级)信息管理系统学生信息管理系统总体思路
绪言
1.1 系统概述
本学生信息管理系统可以说是一个综合性的学校学生管理系统,这它集成了学生学籍管理系统、学生成绩管理系统、学生档案管理系统、学生缴费管理系统等多种功能。本系统主要用到的技术包括:MVC三层架构开发模式,这种设计模式把应用逻辑、处理过程和显示逻辑分成不同的组件来实现,这些组建可以进行交互和重用。封装了数据操作类,以便调用数据库的操作函数因而具有较强的实用性和先进性。
本文首先探讨了SQL语言接口和VB软件开发工具的技术特点以及结合SQL和VB的数据库访问方法,在此基础上,利用VB和 Microsoft SQL Server 2000实现了一个基于C/S模式的学生信息管理系统。在本文的后半部分,给出了该系统的整个系统分析、设计以及实现的过程,包括需求分析、功能后矛盾的不完整的数据;
⑵ 完整、及时提供在管理及决策中需要的数据; ⑶ 利用指定的数据关系式分析数据,客观预测未来;
⑷ 向各级管理机构提供不同详细程度的报告,缩短分析和解释时间;
⑸ 用最低的费用最短的时间提供尽可能精确、可靠的信息,以便使决策者选择最佳的实施方案,以提高企业的经济效益。各方面的竞争中占有一席之地。
学生信息管理系统是一个学校不可缺少的部分,它的内容对于学校的管理者来说至关重要,所以学生信息管理系统应该能够为老师提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理学生档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。
从微观上讲,建立一套学生信息管理系统能够提高办事效率,从而加强了管理的信息化手段。从宏观上讲,顺应了社会的信息化、社会化潮流,缩短了整个社会化大生产的周期。因此,开发这样一套管理软件成为很有必要的事情。
2.2 程序语言设计环境
2.2.1 Visual Basic语言
Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
总的来说,Visual Basic具有以下特点:
用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修C++或汇编语言编写的程序加入到Visual Basic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。
2.3 数据库开发简介
数据库技术是应数据管理任务的需要而产生的。20世纪60年代后期以来,计算机用于管理的规模更为庞大,应用也越来越广泛,数据量急剧增长,同时多种应用、多种语言互相覆盖地共享数据集合的要求越来越强烈;这时硬件已有大容量磁盘,硬件价格下降,软件价格上升,为编制和维护系统软件及应用程序所需的成本增加;在处理方面上,联机实时处理要求更多,并开始提出和考虑分布处理。在这种背景下,以文件系统作为数据管理手段已经不能满足应用的要求,于是为了解决多用户、多应用共享数据的要求,使数据为尽可能多的应用服务,就出现了数据库技术。数据库技术从产生到今天仅仅是30年的历史,但其发展速度之快,使用范围之广,是其它技术望尘莫及的。短短30年间已从第一代的网状,层次数据库,第二代的关系数据系统,发展到第三代以面向对象模型为主要特征的数据库系统。数据库技术与网络通信技术,人工智能技术,面向对象程序设计技术,并行计算技术等互相渗透,互相结合,成为当前数据库技术发展的主要特征。
数据库采用了SQL Server 是一个后台数据库管理系统,它功能强大操作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQL Server的接口。
学生综合管理系统就是数据管理,数据库技术是数据管理的最新技术,是计算机科学最为迅速的分支。在信息社会,数据库技术已成为基础技术之一,它是一门综合性技术,涉及到操作系统,数据结构和程序设计等知识。
根据计算机的系统结构,数据库系统可分为集中式、客户机/服务器式、并行式和分布式四种。本文设计的系统就是客户机/服务器式(Client/Server)简记为C/S模式。随着计算机网络技术的发展 和微型计算机的广泛使用,客户机/服务器式的系统结构得到了应用。C/S结构的关键在于功能的分布,一些功能放在前端机(即客户机)上执行,另一些功能放在后端机(即服务器)上执行。功能的分布在
⑶ 创建视图
视图存储是数据库设计的一部分,而查询则不是。由于每个视图都存储在数据库内,所以建立特定的视图数据子集以供任何数据库用户使用。视图可以隐藏基表,可以禁止所有用户访问数据库表,而要求用户只能通过视图操作数据。这种方法可以保护用户和应用程序不受某些数据库修改的影响。在企业管理器中单击鼠标右键,选择“新建视图”命令。
⑷ 创建存储过程
存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作变得简单容易。该过程是SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其他强大的编程功能。
存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以出于任何使用SQL语句的目的来使用存储过程,它具有以下优点:
⑴ 可以在单个存储过程中执行一系列 SQL 语句;
⑵ 可以从自己的存储过程内引用其他存储过程,这可以简化一系列复杂语句; ⑶ 存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快。在企业管理器中单击鼠标右键,选择“新建存储过程”命令。
2.3.3 配置SQL Server 2000中的数据库 完成数据库应用程序的基本步骤是: ⑴ 创建数据库;
⑵ 配置数据库与应用程序的连接; ⑶ 创建应用程序。
2.3.4 配置与SQL Server2000的ODBC连接
Visual Basic 6.0提供了ADO来对数据进行操作。数据库在SQL Server 2000中创建成功后,ADO通过ODBC创建与数据库的连接。
首先启动操作系统(这里以Windows 2000为例)的控制面板,选择“管理工具”图标,打开后选择“数据源(ODBC)”,打开后出现对话框。选择“文件DSN”选项卡,这样创建的数据连接所有用户都可以使用。单击“添加”按钮,这里有多种DSN,都有各自不同的用途:用户DSN只对当前用户有效,而且只能用于当前计算机上;系统DSN对当前计算机上所有用户可见,包括NT服务;文件DSN可 以由安装了相同驱动程序的用户共享。选择“SQL Server”选项,单击“下一步”按钮,出现对话框。单击“浏览”按钮,可以指定保存数据源连接文件的路径。在文本框中输入保存连接的文件名,单击“下一步”按钮,然后单击“完成”按钮,在“服务器”选项中选择创建的服务器名称,并单击“下一步”按钮,设置数据库为应用程序将要访问的数据库,这样数据库应用程序才能正常工作。可以设置是否对数据加密,以及是否保存查询的日志文件。如果数据库中数据采用中文,那必须选用“Simplified Chinese”(即简体中文),否则数据不能正常显示。根据数据可能用到的各种数据类型,选择合适的区域设置。单击“完成”按钮。这样就完成了对数据库的配置,可以单击“测试数据源”按钮测试数据库配置是否成功。
3需求分析
在分析软件需求过程中,分析员和用户都起着关键的必不可少了的作用。只有用户才知道真正自己需要什么,但是他们并不知道怎么样用软件实现自己的需求,用户必须把他们对软件的需求尽量准确、具体地描述出来;分析员知道怎么样用软件实现人们的需求,但是在需求分析开始时他们对用户的需求并不十分清楚,必须通过与用户沟通获取用户的软件的需求。
3.1 可行性分析
由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。
同时,本文介绍的学生信息管理系统是一个典型的客户机/服务器(C/S)体系结构的数据库应用系统。
C/S软件体系结构是基于资源不对等且为实现共享而提出来的,是20世纪90年代成熟起来的技术。C/S结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。C/S模式的基本工作原理是:客户程序向数据服务器发送SQL请求,服务器返回数据和结果。客户端负责实现用户接口功能,同时封装部分或全部的应用逻辑。服务器端的数据库服务器主要提供数据存储功能,也可通过触发器和存储过程提供部分应用逻辑,并且通常把那些不同的(不管是已知还是未知的)前台应用所不能违反的规则在服务器程序中集中实现,例如访问者的权限、编号不准重复等规则。所有这些,对于运行客户应用程序的最终用户,是“透明”的,他们无须过问(通常也无法干涉)这背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,数据库真正变成了公共、专业化的床库,受到独立的专门管理。
3.2 用户需求分析
经过详细的调研,并多次与学生档案管理的老师进行讨论后,首先加深了对学生信息管理业务的深刻了解,其次在充分熟悉学生档案管理业务的同时,将整个学生档案管理的业务流程描述如下:
⑴ 新生入校,首先报到并进行注册登记,然后到财务部门交费。根据学生被录取的专业,持交费单到所在的系部注册;
⑵ 到系部注册后,根据选报的专业分配到班级;
⑶ 进入正常大学生活,参加各种教学活动,学期期末要求每位同学参加各种学科的期末考试; 计划和资源利用计划。
3.5 功能分析
⑴ 系统需要经过有效身份验证才可以登录。⑵ 系统对注册用户可对系统进行不同的管理。⑶ 用户身份不同,使用系统的权限也不同。3.6 系统建模
为了更好的理解复杂的事物,人们常常采用建立事物模型的方法。所谓模型,就是为了理解事物而对事物做出的一种抽象的表达方式,是对事物的一种无歧义的书面描述。通常模型是由一组图形符号和组织这些符号的规则组成。
3.6.1 建立系统的逻辑模型
系统的逻辑模型的工具是数据流图和数据字典。数据流图中没有任何具体的物理元素,只有用来描绘信息在系统中的流动和处理情况。数据流图共有四种基本符号:矩形表示数据的源点或终点(或称为外部项),圆或椭圆表示变换数据的处理,向右开口的矩形表示数据存储,箭头表示数据流,既特定数据的流动方向。根据现行学生管理的业务流程,首先确定数据流图中的源点和终点都选定为学生,如此就得到据冗余,节约储存空间,又能够避免数据之间的不相容性与不一致性。数据系统提供了两方面的映像功能,从而使数据既具有物理独立性,又有逻辑独立性。数据与程序之间的独立性,使得可以把数据的定义和描述从应用程序中分离出去。另外,由于数据的存取由DBMS管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。在数据库系统中,数据是由DBMS统一管理和控制的。由于对数据实行了统一管理,而且所管理的是有结构的数据,因此在使用数据时可以当应用需求改变或增加时,只要重新选取不同的子集或者加上一小部分数据,便可以有更多的途径,满足新的要求,因此使数据库系统弹性大,易于扩充。除了管理功能以外,为了适应数据共享的环境,DBMS还必须提供数据的安全性、数据的完整性,并发控制以及数据库的恢复等控制功能。
⑴ 数据模型设计。首先来做出学生成绩管理系统的E-R图(联系方法图),分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。
⑵ 再分析三个实体之间的联系。首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。而学习成绩是这两个实体“学生”和“成绩”共有的属性,应填在二者的联系“学习”边。因为成绩既不是学生独有的,也不是课程独有的; “学生甲70分”或“英语70分”是不完全的,说“学生甲英语70分”才是正确的,因为70分是学生甲和英语
经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎么样做“的时候了。总体设计的基本目的就是回答”概括的说,系统应该如何实现?“这个问题,因此,总体设计成为概要设计或者初步设计。通过这个阶段的工作将划分出组成系统的物理元素。总体设计阶段的另一项任务是设计软件结构,也就是要确定系统中的每个程序是哪些模块组成的,以及模块相互关系。
4.1.1设计过程
总体设计过程通常由两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。本程序设计包括下述4个步骤:
⑴设想提供选择的方案
如何实现要求的系统呢?在总体设计阶段开始时只有系统逻辑模型,这主要是我在进行调查时根据老师跟同学们的意见跟建议设计的一些数据然后根据数据分析进行总体的设计。
⑵功能分析
为了最终实现目标系统,必须设计出组成这个系统的所有程序和文件(或数据库)。我在对程序设计的时候分为两个阶段完成:首先是进行结构设计,这主要考虑到学生信息由那些模块的划分,这些模块之间的关系:过程设计确定每个模块的处理过程。第二进行过程设计,这个阶段是详细设计阶段的任务见第5节系统实现篇。
⑶设计软件结构
通常程序中的一个模块完成一个适当的子功能。把模块组织成良好的功能层次系统,顶层模块调用他的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块完成具体的功能。
⑷设计数据库
对于需要使用数据库的那些应用系统,我在需求分析阶段需求分析阶段所确定的系统数据需求的基础上。
4.2 模块设计原理
4.2.1 软件模块结构分析
软件模块结构分析主要有两个任务:分析用户的数据要求和分析用户的处理要求。通过以上分析,我们已经基本了解了用户对处理的要求。
⑴ 系统方案确定
通过对系统的调研与分析,系统主要应完成的功能有:班级管理、学生成绩管理、学生交费管理、课程管理、成绩管理、系统管理等功能。
⑵ 软件结构设计
本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作
4.5 详细设计
系统设计又称系统物理设计。系统设计要根据系统分析报告中的系统逻辑模型综合考虑各种约束,利用一切可用的技术手段和方法进行各种具体设计,确定新系统的实施方案,解决“系统怎么做”的问题。
结构化系统设计是指利用一组标准的图表工具和准则,确定系统有哪些模块,用什么方法连接,如何构成良好的系统结构,并进行系统输入、输出、数据处理、数据存储等环节的详细设计。这一阶段的重点是设计好系统的总体结构,选择最经济合理的技术手段。系统设计阶段的文件是系统设计报告(又称系统物理设计说明书)。
由于本系统采用支持面向对象的Visual Basic 6.0作为开发工具,而Visual Basic 6.0采用事件驱动的编程机制,所以在此给出系统软件的结构图和主程序流程图。
系统结构图,如图基本上决定了最终的程序代码质量。4.5.2 人机界面设计
在系统详细设计的时候遇见的第一个问题就是人机界面的设计。人机界面的实际质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命,因此,必须对人机界面设计给予足够的重视。
用户界面设计主要依靠设计者的经验。在我设计人机界面的时候重要突出有助与友好高效的界面。下面我介绍下本系主要用到的人机界面设计指南。
⑴
一般交互指南
一般交互指南涉及信息的显示、数据输入和系统整体控制。这类指南是全局性的。在交互指南中应该考虑下面问题:
①保持一致性。人机界面中的菜单选择、数据显示以及其他功能使用一致的格式; ②在执行较大破坏性的动作之前要求用户确定; ③允许取消绝大部分的操作;
④按功能对动作分类,并据此设计屏幕布局。⑵数据输入指南
在本系统中用户的大部分时间用在选择命令、键入数据和向系统提供输入。在许多应用系统中,键盘、鼠标仍然是主要的输入介质。下面是有关于数据输入的设计指南:
①尽量减少用户的输入动作。最重要的是减少击键次数,这可以用下列方法实现:用鼠标从预定意的一组输入中选一个;
②保持信息显示和数据输入之间的一致性。4.5.3 过程设计的工具
描叙程序处理过程的工具称为过程设计的工具,它们可以分为图形、表格和语言3类。不论是那种工具对他们的基本要求都是能提供对设计的无歧义的描叙,也就是应该指明控制流程、处理功能、数据组织以及他们方面的实现细节问题,从而在编码阶段能把对设计的描述直接翻译成程序代码。
⑴
程序流程图
程序流程图的优点是对控制流程的描绘很直观。程序流程图有很多优点但同时存在许多的缺点: ①程序流程图本质上不是逐步求精的好工具;
②程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,睡衣转移控制;
③程序流图不易表示数据结构。⑵ 判定树
判定树能清晰的表示复杂的条件组合与应做的动作意见的对应关系。判定树的优点在于,他的形式简单到不用任何说明
Dim mrc As ADODB.Recordset txtsql = “select username from use where username='” & Trim(Text1.Text)& “'” Set mrc = ExecuteSQL(txtsql)If mrc.EOF = True Then
MsgBox “ 用户名错误!”, vbExclamation + vbOKOnly, “警告”
Text1.SetFocus
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
Exit Sub End If username = mrc.Fields(0)txtsql2 = “select username from use where password='” & Trim(Text2.Text)& “'” Set mrc = ExecuteSQL(txtsql2)If mrc.EOF = True Then
MsgBox “ 密码错误!”, vbExclamation + vbOKOnly, “警告” 5.2 系统主界面
本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,从而实现了本系统从班级管理、档案管理、缴费管理、课程管理、成绩管理等系统的具体功能。
首先,在窗口上放置一个Picture控件、一个DataGrid控件、一个工具栏控件和一个状态栏控件,其次打开菜单编辑器,按照总体设计的功能结构图设计菜单选项,如图5-2所示。
图5-2 系统主界面图
部分代码如下: Private Sub lblUsers_Click()
If Format(CurUser.UserName, “<”)= “admin” Then
FrmUserMan.Show 1
Else
With FrmUserEdit
OriUser = CurUser.UserName
txtUserName = CurUser.UserName
txtPass = CurUser.Pwd
txtPass2 = CurUser.Pwd
Modify = True
Show 1
End With
End If End Sub
txtName.SelStart = 0
txtName.SelLength = Len(txtName)
Exit Sub
End If
With MyLesson
LessonName = MakeStr(txtName)
LessonType = Trim(ComboType.Text)
Teacher = MakeStr(txtTeacher)
.Term = MakeStr(txtTerm)
.Hours = Val(txtHours)
If Modify = False Then
.Insert
Else
Call.Update(OriId)
End If
End With
Unload Me End Sub 课程管理页面如下,如图5-9所示。
图5-9 课程页面图
5.5 学生缴费管理模块
因为本系统中有些功能模块具有相似之处,因此在本文只用此模块进行一个简单的说明。其它的相似模块的代码可能参阅本模块的设计思路,如图5-10所示。
图5-10
缴费页面
Public printstr As String Private Sub Command1_Click()
Dim dbSource As Database
Set dbSource = OpenDatabase(“xs.mdb”)
dbSource.Execute(“SELECT * INto 班级一览表 IN '学生管理一览表.xls' 'EXCEL 5.0;' FROM class”)z = MsgBox(“成功!”, vbOKOnly, “查询”)End Sub 5.6 服务器端程序的建立
服务器端程序实际上是个COM 工程,它本身连接数据源,再通过接口与客户端联系,这个COM 工程必须注册在服务器上。
5.7 客户端程序的建立
在Two-Tier模式中,客户端(Client)程序是直接和服务器的数据源相连的。⑴建立一个普通的工程。
⑵放置一个TDCOMConnrction控件在网络上调试,需要给出服务器名:ComputerName:服务器名(自动给出网上邻居)注意: ServerGUID的GUID值是自动给出的。
⑶放置一个Tclient控件。
这样一个客户端程序就建立好了,其余犹如普通的数据库设计。5.8 动态连接应用程序服务器的实现
客户端程序在运行时,需要连接应用服务器程序以取得服务。但是,在系统实际应用的时候,运行应用服务器程序的计算机是经常改变的,因此在客户端程序启动时,应该先找到运行应用服务器程序的计算机的设置。
掌握了动态连接应用服务器的流程,就可以具体实现它。下面就将分步骤介绍动态连接应用服务器的实现过程。
⑴在VB中新建一个窗体,将单元文件保存为connect.pas窗体的Name属性设为fm_serconfig,Caption属性设为”服务器配置”,运行后窗体如下图5-11所示。
图5-11 服务器配置图
(2)在“连接设置”窗体中,需要输入应用服务器主机名(或者应用服务器IP地址)和应用服务器的端口号,这些配置信息将用来连接应用服务器。如果连接成功,输入的配置信息将被写入到注册表中,以后程序启动时,读取注册表配置信息,就可而已连接应用服务器程序了。
(3)在连接设置主窗口中,我们为应用服务器名提供了辅助录入的方法,点击应用服务器名编辑框右边的省略号按钮,将弹出一个浏览局域网计算机的对话框,以方便用户选择应用服务器所在的计算机。
在VB中新建一个窗体,将窗体单元文件保存为netlist.pas,窗体的Name属性设为Fm_netlist。运行后窗体如下图5-12所示。
图5-12 网上邻居图
在列举网络资源窗体中,将按照工作组以树型目录的形式显示局域网中的计算机。
(4)应用服务器IP地址和端口号的值,然后将这些值赋给主窗体的SocketConnection组件以测试连接。如果连接成功就返回True值,如果连接失败,将弹出“连接设置“窗口,用户需要从新输入应用服务器主机名,应用服务器IP地址和端口号。如果仍然连接失败,就返回False值,表示连接失败。
(5)动态连接设置的最后一个步骤就是在主窗体被创建时,调用第4步中的方法,判断应用程序是否连接上了应用服务器。如果连接成功,将进入应用程序;如果连接失败,将退出应用程序。
至此,动态连接应用服务器就做完了。
5.9 系统的测试 ⑴ 测试步骤
⑴ 添加学生信息测试流程:
① 以管理员或者编辑身份进入后台管理界面; ② 选择“添加学生”功能;
③ 首先添加学生姓名,选择学生的性别、年龄、等信息名称; ④然后添加学生的详细信息; ⑤ 从系统界面登录,确认信息添加。
⑵ 测试的目标:为了发现程序中的错误而执行程序的过程。经过多次测试添加学生姓名等信息从系统界面登录读取信息都无误。其他功能都能基本实现就不在细说了。
全文总结
在本系统的开发过程中,由于本人独立开发软件,在知识、经验方面都存在着不足。另外,在整
在本次毕业设计中,我从指导老师--------周老师,身上学到了很多东西。他认真负责的工作态度,
第二篇:学生信息管理系统
摘 要
随着网络通信技术的迅速发展和信息技术的广泛应用,计算机的应用已普及到经济和社会生活的各个领域。教育领域也不例外,现今已经出现了各种远程网络在线教育系统、图书馆管理系统、学生信息管理系统等。其中学生信息管理是任一院校都不可缺少的部分,它的内容对于学校的决策者和教学管理者来说都至关重要,而传统的人工管理方式效率较低,为数据的查询、更新和维护带来了极大的不便。所以学生信息管理信息系统的开发和应用是必要的,它能够为管理人员提供充足的信息和快捷的查询手段,提高学校对学生信息的管理效率。
本文的学生信息管理系统是基于java语言的,它能够提供学生信息管理功能,方便系统管理员对学生学号、班级等信息的添加、修改、删除、查询等操作,同时可以一样方便的对学生的信息进行查询。本系统也主要利用java语言和access实现,因此它具有很强的可移植性,很方便。
关键字: 学生信息 管理系统
添加 删除 查询 修改
Abstract With the rapid development of network communication technology and extensive application of information technology, computer applications have spread to the economic and social life in various fields.The field of education is no exception, now there have been a variety of remote network online education system, library management system, student information management system.Which is either a student information management schools are an indispensable part of its contents and teaching for school managers, policy-makers are essential, and the traditional manual management inefficient for data query, update and maintenance brought great inconvenience.So the student information management system development and application of information is necessary, it is able to provide managers with sufficient information and quick inquiry means to improve school student information management efficiency.This student information management system is based on the java language, it is able to provide students with information management function to facilitate system administrators to students student number, class and other information to add, modify, delete, query and other operations, but can be just as convenient for students information to search.This system is mainly achieved using java language and access, so it is very portable, very convenient.Keywords: Student Information Management System add delet revise
前言
随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。学校在管理、教学、办公各个方面也在悄悄地变化。一个学校的信息化程度体现在将计算器与信息技术应用于教学与管理,以现代化工具代替传统手工作业。无疑,使用信息化管理使教学更先进、办公更高效、管理更科学,信息交流更迅速。
学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情,故决定选择学生成绩管理系统来作为本人的毕业设计,在很短的时间里开发出一套界面友好,功能强大,使用简单的适用于各规模学院的学生成绩管理系统。该学生成绩管理系统能有效的处理在校学生的成绩管理,具有成绩输入、成绩查询、成绩统计及打印功能。
学生成绩管理系统可以实施应用在各中、大、小院校中,适用范围很广,应用性强。随着系统实施的日益成熟,最终会使单机作业为主的教学管理活动提高到这个平台上来,从而实现学校学生成绩信息管理的办公自动化,籍以提高办学效率和质量。使学校充分利用计算机所带来的新技术,为培养人才打下坚实的基础。
第一章 相关技术简介
1.1 java语言简介
Java语言是sun公司与1995年5月正式发布的程序设计语言,他的前身是sun公司为智能消费类家用电器研究而开发的项目的一部分。
Java程序设计语言是新一代语言的代表,他强调了面向对象的特性,可以用来开发范围广泛的软件,它具有支持图形化的用户界面,网格以及数据库连接等复杂功能。Java语言的主要特点: 1)易于学习
Java语言很简单,对于熟悉C++的程序设计人员更不会对其感到陌生,因 为它的语法非常接近于C++,但他同时摒弃了C++许多的复杂易混淆的功能。利用java同样可以变质出非常复杂的系统,且运行占用很少的内存资源。2)高效率的执行方式
Java语言的执行方式是采用先经过编译器编译,在通过解释器解释执行的 方式来运行的。他综合了解释性语言与编译语言的众多有点,使其执行效率较以往的程序设计语言有了大幅度的提高。3)与平台的无关性
由于iava语言是解释执行的,他会被转换成一种字节码的“目标程序”。因此它可以跨平台运行 4)分布式安全性
Java从诞生之日起就与网络联系在了一起,他强调网络特性,内置TCPIP,HTTP,FTP协议库,便于开发网上应用系统。5)丰富的API文档和类库
Java为用户提供了详尽的API(Application Program Interface)文档说明。
1.2 access数据库简介
Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理。他拥有逻辑、流程处理,即VBA语言(VB也可以用来做逻辑处理);又可以存储数据,即在“表”中存储数据。
第二章 系统分析
2.1 系统分析
学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用access数据库作为后台的数据库进行信息的存储,用SQL语句完成学生学籍信息的添加,查询,修改,删除的操作以及成绩的录入,修改,删除等。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。
本《学生管理系统》具有对学生进行学籍管理的功能。并于数据库相连接,能够对学生的学号、姓名、性别、班级、专业进行查询、添加和删除等,简捷方便,容易使用。2.2 应解决的问题
2.2.1合理的设计数据库
尽量合理地减少数据库数据的冗余,使重复的数据保持在最小限度,这样将不必要的多占用存储空间,减少产生混乱影响的危险,还能提高计算机的运行速度。作为学生成绩管理系统,必须能解决以下方面的问题:能录入信息。
在开发学生信息管理系统时,最重要的就是学生的基本信息,其学生信息表E-R图如图2.1所示。
图 2.1 学生信息E-R图
2.2.2设计出友好的界面
界面的友好与否是用户评价一个软件优劣的重要方面。因为该系统涉及到
学生成绩的真实性,所以该系统要具有一定的保密性和权限控制,首先应设计一个用户的登陆窗口界面,要求只能由特定的人员对该系统进行操作。此外还应设计登陆后系统的主窗口,要求能够显示学生成绩的基本信息,可以实现数据的录入,更新,删除、查询、统计等功能。
另外窗口界面要多用按钮,少用菜单,窗口的各个控键布局要合理,美观。要充分的利用java.awt和java.swing提供的强大的功能,多用窗口和控件,充分体现窗口的多元化格局。
2.2.3实现的基本功能
该系统要求除了能实现信息的录入,删除,插入,更新,数据导出excel文件等基本功能之外,还要求能够根据用户的需要进行操作。例如要查询学生成绩,要求可以按照专业、班级等多种方式查询。这些功能基本上能满足用户操作的需要,这样用户操作起来就更简单方便。部分文本框使用了下拉式,使用户可以不用花费大量的时间去输入信息。
2.3 数据库物理设计 1.1.1 3.3.1数据库物理设计
本系统采用Access数据库管理系统作为后台数据库的开发工具,设计的表结构如下:
第三章 程序代码及运行效果
3.1主类代码:
/*主类代码*/ package kcsj;import java.awt.*;import javax.swing.*;import java.awt.event.*;
import javax.swing.border.*;import javax.swing.JOptionPane;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.DefaultTableModel;import javax.swing.table.TableColumn;import java.sql.*;import java.awt.GridLayout;public class myStudent { public myStudent(){
}
public static void main(String[] args){ // TODO code application logic here loginFrame lf=new loginFrame();Font ft=new Font(“Serif”,Font.BOLD,18);lf.setVisible(true);lf.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){
System.exit(0);} });} }
3.2 登陆: public loginFrame(){
p=new JPanel();
user=new JTextField(10);
pass=new JPasswordField(10);
login=new JButton(“登录”);
cancel=new JButton(“退出”);
p.setBackground(Color.lightGray);
//user.setText(“王明玉”);
//pass.setText(“123456”);
login.addActionListener(this);
cancel.addActionListener(this);
p.add(new JLabel(“学生信息管理系统登录”));
p.add(new JLabel(“账号:”));
p.add(user);
p.add(new JLabel(“密码:”));
p.add(pass);
p.add(login);
p.add(cancel);
this.add(p);
this.setTitle(“学生管理系统登录界面”);
this.setSize(180,160);}
public void actionPerformed(ActionEvent e){
//查找
if(e.getSource()==login){
if(user.getText().toString().equals(“")){
JOptionPane.showMessageDialog(null, ”请输入用户名“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(pass.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”请输入密码“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
myConnection conn=new myConnection();
ResultSet rs;
String sql=”select * from admin where 用户名 = '“+user.getText().toString()+”' and 密码 = '“+pass.getText().toString()+”'“;
try{
rs=conn.getResult(sql);
if(rs.next()){
this.dispose();
//JOptionPane.showMessageDialog(null, ”此用户已经存在“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
sql=”select * from student“;
mainFrame mf=new mainFrame();
mf.setTitle(”西北师范大学学生信息管理系统“);
mf.setSize(600,486);
mf.freshTable(sql);
mf.setVisible(true);
mf.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}else{
JOptionPane.showMessageDialog(null, ”用户名或密码错误“, ”登录失败“, JOptionPane.INFORMATION_MESSAGE);
}
}catch(Exception er){
System.out.println(er.toString());
}
}
//全部显示
}if(e.getSource()==cancel){
System.exit(0);
} } } 登陆界面:
3.3 修改数据:
/*修改数据*/ class editFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400;
JLabel 学号1,姓名1,性别1,民族1,年龄1,年级1,班级1,专业1;JTextField 学号,姓名,性别,民族,年龄,年级,班级,专业;JButton b;JPanel p;
mainFrame mf;
public editFrame(mainFrame mmf){ setTitle(”修改学生信息“);setSize(WIDTH,HEIGHT);setLocation(120,180);
Container contentPane = getContentPane();contentPane.setLayout(new FlowLayout());
学号1=new JLabel(”学号“);姓名1=new JLabel(”姓名“);性别1=new JLabel(”性别“);民族1=new JLabel(”民族“);年龄1=new JLabel(”年龄“);年级1=new JLabel(”年级“);班级1=new JLabel(”班级“);
专业1=new JLabel(”专业“);
学号=new JTextField(5);姓名=new JTextField(5);性别=new JTextField(5);民族=new JTextField(5);年龄=new JTextField(5);年级=new JTextField(5);班级=new JTextField(10);专业=new JTextField(10);学号.setEnabled(false);b=new JButton(”确定“);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(学号1);p.add(学号);p.add(姓名1);p.add(姓名);p.add(性别1);p.add(性别);p.add(民族1);p.add(民族);p.add(年龄1);p.add(年龄);p.add(年级1);p.add(年级);p.add(班级1);p.add(班级);p.add(专业1);p.add(专业);p.add(new Label(”“));p.add(new Label(”“));p.add(b);contentPane.add(p);//添加按钮监听器
b.addActionListener(this);mf=mmf;}
public void actionPerformed(ActionEvent e){
if(学号.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null,”请输入学号“,”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(姓名.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null,”请输入姓名“,”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(年龄.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null,”请输入年龄“,”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
String sql=”update student set 姓名='“+姓名.getText()+”',性别='“+性别.getText()+”',年龄=“+年龄.getText()+”,年级='“+年级.getText()+”',班级='“+班级.getText()+”',专业='“+专业.getText()+”',民族='“+民族.getText()+”' where 学号='“ + 学号.getText()+ ”'“;
myConnection conn=new myConnection();
try{
//JOptionPane.showMessageDialog(null, sql, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
if(conn.executeSql(sql)){
JOptionPane.showMessageDialog(null, ”修改成功“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
mf.freshTable(”select * from student“);
this.dispose();
}else{
JOptionPane.showMessageDialog(null, ”修改失败“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}
}catch(Exception er){
System.out.println(er.toString());
}
}
}
}
3.4 查找数据:
class findFrame extends JDialog implements ActionListener{
mainFrame mf;JPanel p;JComboBox c;JTextField t;JButton b;JButton fAll;String sql=”select * from student“;String[] colStr={”学号“,”姓名“,”性别“,”民族“,”年龄“,”年级“,”班级“,”专业“};
public findFrame(mainFrame mmf){
mf=mmf;
p=new JPanel();
c=new JComboBox(colStr);
t=new JTextField(10);
b=new JButton(”查找“);
fAll=new JButton(”全部显示“);
b.addActionListener(this);
fAll.addActionListener(this);
p.add(new JLabel(”选择“));
p.add(c);
p.add(new JLabel(”查找内容“));
p.add(t);
p.add(b);
p.add(fAll);
this.add(p);
this.setTitle(”查找“);
this.setSize(450,80);}
public void actionPerformed(ActionEvent e){
//查找
if(e.getSource()==b){
String selectStr=c.getSelectedItem().toString();
if(selectStr==”年龄“){
sql=”select * from student where “+selectStr+” “+t.getText().toString();
}
else {
sql=”select * from student where “+selectStr+” '“+t.getText().toString()+”'“;
= = 12
}
mf.freshTable(sql);
//全部显示
}if(e.getSource()==fAll){
sql=”select * from student“;
mf.freshTable(sql);
} } }
3.5 添加数据:
class addFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400;
JLabel 学号1,姓名1,性别1,民族1,年龄1,年级1,班级1,专业1;JTextField 学号,姓名,性别,民族,年龄,年级,班级,专业;JButton b;JPanel p;
mainFrame mf;
public addFrame(mainFrame mmf){ setTitle(”修改学生信息“);setSize(WIDTH,HEIGHT);setLocation(120,180);
Container contentPane = getContentPane();//contentPane.setBackground(Color.BLACK);//设置窗口颜色
contentPane.setLayout(new FlowLayout());
学号1=new JLabel(”学号“);
姓名1=new JLabel(”姓名“);
性别1=new JLabel(”性别“);
民族1=new JLabel(”民族“);
年龄1=new JLabel(”年龄“);
年级1=new JLabel(”年级“);
班级1=new JLabel(”班级“);
专业1=new JLabel(”专业“);
学号=new JTextField(”201071030240“,5);
姓名=new JTextField(5);
性别=new JTextField(”女“,5);
民族=new JTextField(5);
年龄=new JTextField(5);
年级=new JTextField(5);
班级=new JTextField(10);
专业=new JTextField(10);
b=new JButton(”确定“);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(学号1);p.add(学号);p.add(姓名1);p.add(姓名);p.add(性别1);p.add(性别);p.add(民族1);p.add(民族);p.add(年龄1);p.add(年龄);p.add(年级1);p.add(年级);p.add(班级1);p.add(班级);p.add(专业1);p.add(专业);p.add(new Label(”“));p.add(new Label(”“));p.add(b);contentPane.add(p);//添加按钮监听器
b.addActionListener(this);mf=mmf;}
public void actionPerformed(ActionEvent e){
if(学号.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”请输入学号“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(姓名.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”请输入姓名“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(年龄.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”请输入年龄“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
String sql=”select * from student where 学号='“ + 学号.getText()+ ”'“;
myConnection conn=new myConnection();
ResultSet rs;
rs=conn.getResult(sql);
try{
//System.out.println(rs.getRow());
if(rs.next()){
JOptionPane.showMessageDialog(null, ”此学号已经存在“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
sql=”insert into student values('“ +学号.getText()+”','“+ 姓名.getText()+”','“+ 性别.getText()+”','“+ 民族.getText()+”',“+ 年龄.getText()+”,'“+ 年级.getText()+”','“+ 班级.getText()+”','“+ 专业.getText()+”')“;
if(conn.executeSql(sql)){
JOptionPane.showMessageDialog(null, ”添加成功“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
mf.freshTable(”select * from student“);
学号.setText(”“);
姓名.setText(”“);
性别.setText(”“);
民族.setText(”“);
年龄.setText(”“);
年级.setText(”“);
班级.setText(”“);
专业.setText(”“);
}else{
JOptionPane.showMessageDialog(null, ”添加失败“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}
}
}catch(Exception er){
System.out.println(er.toString());
}
}
}
}
3.6 修改数据:
class editFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400;public static final int HEIGHT = 400;
JLabel 学号1,姓名1,性别1,民族1,年龄1,年级1,班级1,专业1;JTextField 学号,姓名,性别,民族,年龄,年级,班级,专业;JButton b;JPanel p;
mainFrame mf;
public editFrame(mainFrame mmf){ setTitle(”修改学生信息“);setSize(WIDTH,HEIGHT);setLocation(120,180);
Container contentPane = getContentPane();contentPane.setLayout(new FlowLayout());
学号1=new JLabel(”学号“);
姓名1=new JLabel(”姓名“);
性别1=new JLabel(”性别“);
民族1=new JLabel(”民族“);
年龄1=new JLabel(”年龄“);
年级1=new JLabel(”年级“);
班级1=new JLabel(”班级“);
专业1=new JLabel(”专业“);
学号=new JTextField(5);
姓名=new JTextField(5);
性别=new JTextField(5);
民族=new JTextField(5);
年龄=new JTextField(5);
年级=new JTextField(5);
班级=new JTextField(10);
专业=new JTextField(10);
学号.setEnabled(false);
b=new JButton(”确定“);p=new JPanel();p.setLayout(new GridLayout(10,2,5,5));p.add(学号1);p.add(学号);
p.add(姓名1);p.add(姓名);p.add(性别1);p.add(性别);p.add(民族1);p.add(民族);p.add(年龄1);p.add(年龄);p.add(年级1);p.add(年级);p.add(班级1);p.add(班级);p.add(专业1);p.add(专业);p.add(new Label(”“));p.add(new Label(”“));p.add(b);contentPane.add(p);//添加按钮监听器
b.addActionListener(this);mf=mmf;}
public void actionPerformed(ActionEvent e){
if(学号.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”请输入学号“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(姓名.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”请输入姓名“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else if(年龄.getText().toString().equals(”“)){
JOptionPane.showMessageDialog(null, ”请输入年龄“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
}else{
String sql=”update student set 姓名='“+姓名.getText()+”',性别='“+性别.getText()+”',年龄=“+年龄.getText()+”,年级='“+年级.getText()+”',班级='“+班级.getText()+”',专业='“+专业.getText()+”',民族='“+民族.getText()+”' where 学号='“ + 学号.getText()+ ”'“;
myConnection conn=new myConnection();
try{
//JOptionPane.showMessageDialog(null, sql, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
if(conn.executeSql(sql)){
JOptionPane.showMessageDialog(null, ”修改成功“, ”温馨提示“, JOptionPane.INFORMATION_MESSAGE);
mf.freshTable(”select * from student“);
this.dispose();
}else{
JOptionPane.showMessageDialog(null, ”修改失败“, ”温馨提示", JOptionPane.INFORMATION_MESSAGE);
}
}catch(Exception er){
System.out.println(er.toString());
}
} } }
运行效果:
第四章 总结
通过本次课程设计,不仅让我更深入的了解JAVA这门学科,更使自己有了继续探索的兴趣。
对我来说,在之前的学习过程中没有能够很好的掌握JAVA语言的学习,在很多地方还有生疏和遗漏,并且在此次课程设计过程中也遇到困难不能自己独立解决。但是,通过这次程序设计,除了增加了自己的编程能力,提高了我对JAVA的应用能力,同时我也深感“认真严谨”这个词的重要性,一点点小的马虎,便会导致整个程序不能正常运行。在今后的学习中,我将继续保持严谨的学习态度。与此同时,在同学的帮助下,让我体会到了相互学习的重要性,而更让人难以忘怀的是在热烈讨论问题时,那激情横溢的场面。总之,此次课程设计让我获益匪浅。
第五章 总结
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.本次课程设计虽然很辛苦,实在是受益匪浅。本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。理
论和实践的相结合是学习最有效的方法。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
第六章 参考文献
第三篇:学生信息管理系统
–––––––––––––––––摘 要–––––––––––––––––
学生信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我们使用MICROSOFT公司的VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
关键字:控件、窗体、域、数据库。
–––––––––––––––––前言–––––––––––––––––
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。
本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。
本系统主要包括学生信息查询、教务信息维护和学生选课三部分。其功能主要有: ⒈有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。⒉学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。⒊学生信息的修改。
⒋班级管理信息的输入,包括输入班级设置、年级信息等。⒌班级管理信息的查询。⒍班级管理信息的修改。⒎学生课程的设置和修改。
目 录
前言
第一章 Visual Basic 概述 1.1 Visual Basic 语言的特点
1.2 Visual Basic 系统几个程序应用中的常用名词 第二章 Windows 下的Visual Basic 编程环境简介 2.1 面对对象的编程 2.2 实现菜单选项 2.3 实现工具栏
第三章 怎样开发一个学生信息管理系统的查询模块 3.1 学生信息系统的设计分析 3.2 编程环境的选择 3.3 关系型数据库的实现 3.4 二者的结合(DBA)第四章 使用Access2000 创建数据库 4.1 数据库的概念 4.2 新建一个数据库 4.3 修改已建的数据库 第五章 可行性分析 第六章 系统总体规划 6.1 系统功能 6.2 系统流程图 第七章 系统具体实现 7.1 各功能的实现 7.1.1 课程管理 7.1.2 打印统计 结束语 后记 主要参考文献
第一章 Visual Basic 概述 1.1 Visual Basic 语言的特点
Visual Basic 语言用其设计应用程序时具有两个基本特点:可视化设计和事件驱动编程。(1)可视化设计:表现在VB在设计应用于程序界面时有“所见即所得”的处理功能。(2)事件驱动编程:在设计应用程序时,把对象添加到窗体中,在用户与程序进行交互时,用户基本上是通过鼠标、键盘与应用程序进行交互的,那些对象就必须对鼠标和键盘操作所引发的事件做出响应,来执行一段应用程序。1.2 Visual Basic 系统几个在程序应用中的常用名词
Visual Basic 系统除了一般高级语言所具有的一些名词术语外,还有几个系统常用的名词。其基本含义如下:(1)视窗(Form)
视窗是进行人机交互的界面或接口,也叫窗体。VB系统的人机交互界面或接口,无论是在设计时或是在运行时,都是Windows 系统的标准视窗。(2)对象(Object)
对象是VB系统内部提供给设计者可以直接使用的处理输出的控制工具。本程序所应用到的对象类型有标签框(Label Box),文本框(Text Box),命令按扭(Command Button),网格(Data Grid),ADO控件(Adodc1)等。当把这些工具放置到用户界面对应的窗体上时,被称为对象或控件。用户可以通过设置对象的“属性”和“方法”,便于对象适应自己所设计应用程序的输入输出内容,对象的生成过程及结构都被封装起来。正确使用对象可以减少程序和开发时间,提高程序设计者的工作效率。(3)属性(Properties)
属性是VB系统提供的有关对象的参数或数据接口。用户通过适当地设置或改变对象的属性来确定对象的外观及性能特征,从而有效地使用系统提供的对象。比如,对象的名称、在屏幕上显示的位置、大小、颜色、接收或容纳的数据内容及数据的表现格式等。(4)事件(Events)
事件是指用户或操作者对计算机进行的某一操作(如击键、单击或移动鼠标等)的行为或系统状态发生的变化。VB系统常用事件来引导计算机执行一段程序。程序所用的键盘事件有KeyPress(按键)事件,KeyDown事件和KeyUp事件;鼠标事件有Click(单击鼠标)事件,DbDlicd(双击鼠标)。(5)方法(Method)方法主要是指对一个对象使用某种作用的过程。它是在程序执行的过程中要计算机执行的某种操作。其程序的方法有Show(显示)方法,Hide(隐藏)方法,Refresh(刷新)方法。
(6)过程(Procedure)
过程是指经过定义或说明的,或基于某一对象对应的事件所引发的程序段。(7)模块(Module)
模块是指一些运算量或过程进行声明或定义的一个集合。系统程序大体可分成四个模块:数据输入、根据查询、数据打印和通讯。
第二章 Windows下的Visual Basic 编程环境简介 2.1 面对对象的编程
面向对象的设计方法(OOP, Objected Programming)从应用领域内的问题着手,以直观自然的方式描述客观世界的实体。Visual Basic 作为一种面向对象的编程方法,把程序和数据封装起来作为一个对象,并为每个对象赋予相应的属性。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,由 Visual Basic 自动生成对象的程序代码并封装起来。Visual Basic 应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可说扩展性和强有力的功能。
Visual Basic 应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。2.2 实现菜单选项
菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,Visual Basic 也提供了强大的创建菜单功能是程序更加标准。
本系统使用 Visual Basic 的菜单编辑器建立菜单或者修改已经存在的菜单,您也可以使用Visual Basic 的Application Wizard 来操作。2.3 实现工具栏
CoolBar控件与Office2000 中看到的CoolBar是类似的。CoolBar就是一个可以在窗体上浮动的工具,同时也是其他ActiveX的容器。通过在CoolBar中迁入其他空间你也可以向用户提供更好的灵活性和义用性。
选择“工程”下拉菜单中的“部件”选项,显示“部件”对话框。在“控件”选项卡列表中选择“Microsoft Windows Common Controls 6.0”后工具相中增加改控件。本系统就用了Cool工具中的Statubar控件,在系统这一界面中,添加了状态栏,在第一个栏中,在样式这一栏中选择了文本,在第二个栏中,选择了系统日期,第三个栏中选择了系统时间,这样,任何时候操作本系统,都可以看到当前的时间和日期。
第三章 怎样开发一个学生信息管理系统的查询模块? 3.1查询模块的设计分析
根据实际情况,我们使用原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件模型。使用户可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。3.2编程环境的选择
微软公司的Visual Basic 6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应
用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。3.3关系型数据库的实现
Access2000就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。另外,Access允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包同时拥有桌面数据库的便利和关系数据库的强大功能。3.4二者的结合(DBA)微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及Visual Basic来访问数据库并对其进行各种操作。Visual Basic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。ADODC控件在数据库中的信息与将信息显示给用户看的Visual Basic 程序之间架起了一座桥梁。我们可以设置ADODC控件的各个属性,告诉它要调用那个数据库的哪个部分。缺省情况下,ADODC控件根据数据库中的一个或多个数据库表建立一个dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。将ADODC控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。
第四章 使用Access2000创建数据库 4.1数据库的概念
数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。4.2新建一个数据库
创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。1. 标识需要的数据;
2. 收集被子标识的字段到表中; 3. 标识主关键字字段; 4. 规范数据;
5. 标识指定字段的信息;
4.3修改已建的数据库
数据库的修改分为;添加、编辑和删除记录。这三种操作均可由Visual Basic创建的程序来完成,下面的章节将详细描述实现的具体方法。
第五章 可行性分析
学生信息,作为一个学校,就有一定的工作量存在,而学生信息,它的工作量可能是其它信息工作量的几倍,班级的增加、班级的查找、班级的修改;学生档案;课程管理;成绩管理;缴费管理;统计等等,每个信息的数据都在不断地变化着,如果采用人工的方式进行操作,那么,一天的工作量,足以让人觉得比较繁琐,吃不消。针对这样的情况,采用让数据的查询变得简单化,数据变的更让每个人都在任何时刻都可以了解到。学生信息管理系统是为本校开发的,本系统所采用的语言是Visual Basic,用Microsoft Access 2000数据库完成。该系统总体有四部分组成,包括学生信息查询、教务信息维护、学生选课及用户管理。通过本系统,把本校内部查询学生信息、教务信息、学生选课各个环节进行有效地计划、组织和控制。通过本校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。本系统主要信息流程为:教务信息维护接受学生的信息,学生信息查询根据教务信息维护的学生信息做出对所接收的信息合理性进行判断,并交于信息维护进行相应的修改,再把信息存入数据库中。学生选课是对学生进行相应选择自己相关的课程。最后进行打印。采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。由于采用统一的数据信息,使相关资料能够快速地查询所需的数据、资料及其它信息的,使信息快速高效运行。
本系统中使用到的数据表主要有班级表、成绩表、缴费表、课程表、学生档案、用户资料,由这六个表,组成了名为信息的数据库(如图一)。其中学生档案是本系统主要的(图一)
一张表,所有信息都是根据这张学生档案进行有关的操作,主要的字段有:学号、姓名、年级、专业、性别、出生年月、民族、籍贯、政治面貌、家庭地址、邮政编码、联系电话、入学时间、备注。其中日期的数据类型为日期/时间天型,其它的数据类型为文本型;成绩表中字段为:学号、姓名、年级、专业、学期、考试时间、考试科目、考试地点、课程性质、科目分数、违纪类型、备注;课程表中字段为:专业、年级、学期、课程名称、教材、任课老师、课时、上课地点、课程性质、考试性质;用户资料中的字段包括:用户名、密码、身份。
数据库与VB的连接:本系统的数据链接采用的是ADO方法,打开控制面板,打开ODBC数据源图标,选择“系统DSN”标签,点击“添加”按钮,在弹出的“创建新数据源”对话框中选择名称为“Microsoft Access Drive(*.mdb)”,点击“完成”按钮,在ODBC Microsoft Access 安装对话框中在数据源名中输入信息,在数据库这个框中,单击“选择”按钮,在弹出的选择数据库这一对话框架中,在驱动器下拉列表框中选择本系统数据库所在驱动器,在目录中选择库所在的文件夹,在文件类型中选择选“Access数据库(*.mdb)”,在数据库名中选择本系统的数据库,点击“确定”按钮即完成数据链接。
在VB中,用ADODC链接数据库,用DataGrid或DATA将库中的数据在界面中显示出来,本系统采用DataGrid。在界面上右击Adodc控制,在弹出的快捷菜单中选择属性,在属性对话框中,在“属性”这一标签中,选中单选框“Use ODBC Data Source Name”,并在下拉文本框中选择已经配置好的数据源名信息,再在“RecordSoure”标签中,在Commard Text(SQL)文本框中输入查询语句,如:select * from 学生档案。同时,将桌面的DataGrid控件选中,在属性框中,将它的Datasoure设为Adodc。我们可以设置DataGrid控件的外观:选中该控件,右击,在弹出的快捷菜单中选择“检索字段”,在弹出的对话框中单击“确定”,这时,表格中出现了表的字段。然后再右击,同样,在弹出的快捷菜单中选择“编辑”,我们就可以所在的表格的宽度进行调整。
第六章 系统(查询模块)总体规划 6.1系统功能(查询模块)1. 查询信息的情况; 2. 判断信息是否符合要求; 3. 将符合条件的信息进行打印; 6.2流程图
学生注册 基本信息输入 学籍信息管理 班级管理 班级课程设置 课程基本信息 班级课程管理 成绩信息输入 成绩信息管理 班级设置
第七章 系统具体实现 7.1各功能的实现
7.1.1课程管理:课程设置(如:界面如图二)(图二)
运行程序后,进入课程管理模块,课程管理模块的第一块是课程设置,在这模块中可以把专业、年级、学期、课程名称、教材、任课老师、课时、上课地点、课程性质和考试性质等信息输入,以便使用。结束语 学生信息管理系统(课程设置和打印统计)的完成,它在审核这一功能中能够对不同情况的资料进行设置和打印,针对需要的信息进行设置和打印。
后记
本系统能够顺利完成,非常感谢指导老师陈志卫老师,同时,也感谢和我一起合作完成本系统的另两位同学。对于本人来说,通过这次毕业设计,也是对自己在这三年学习的一个检验和平时学习的一种结累,可以在学习中提高自己,也充分体现学有所用,学以致用的学习倡导。
在此,我对三年来辅导过我的各位任课老师深表感谢
主要参考文献
本系统的过程中,主要的参考文献有:
《Visual Basic6.0》 林陈雷 人民邮电出版社 《面向对象程序设计系列教材》 龚沛曾 高等教育出版社 《Visual Basic6.0编程实例精解》 何文俊
《学用Visual Basic 编程》 潭 浩 西安电子科技大学出版社 《Visual Basic6.0 数据库开发与专业应用》 敬 铮 国防工业出版社 《Visual Basic6.0 数据库程序设计高手》 温贤发 科学出版社
第四篇:学生信息管理系统
目 录
摘要
随着电脑的普及与使用,现在的管理也提升了一个档次,渐渐实现了无纸化办公,即从原来的人工记录管理模式转变为电脑一体化管理。高校是科研的阵地,后勤的学生信息管理系统也应该一改传统的人工管理,更加信息化,时代化,节省人力物力,提高效率。基于这一点,我设计了学生信息管理系统的方案。
学生信息管理系统,是以高校的管理方式为实例而设计的一种实用型管理系统。本系统最大的特点是通用性、简单操作性,适用于同行业以及一些同类型的企业管理。随着学校寄宿人员的增多,学生信息管理系统人员的负担越来越重,为了让所有学生信息管理系统人员能从繁重的工作中解脱出来,实现无纸化办公;使工作更有条理,更方便,更有效率而开发出这套学生信息管理系统软件。
关键词:信息、管理、实用性、高校
前言
从2012年3月27日开始,我们进行了为期一周的软件工程课程设计选题工作。在这一周我确定了我的课程设计题目:学生信息管理系统。
确定设计题目之后,我先做了一些准备工作,借阅必要的书籍与材料,通过互联网以及其他媒介收索了关于学生信息管理系统的相关知识,然后进行针对性的学习。首先就是开发此类项目的背景。当前,学生信息管理体制相对比较落后。主要表现在以下几个方面:1.高校现行的管理体制不能完全适应国有的管理发展的需要。2.信息管理人员超编现象普遍存在。
3、高校的信息管理大多数都还停留在初级的计算机管理上。对于大量的数据和庞大的数据结构,简单的用EXCEL表格来记录是远远无法满足信息的规模的。必须实行现代化信息管理,定制专业的信息管理软件来进行相关的管理。
4、学生信息公开化不够。高校的精密仪器设备一般都比较贵重,学生的信息如不能得到有效的共享,将会严重制约设备的使用效率,甚至导致重复购买。一套完整的网络系统将会让这个问题迎刃而解。
在需求分析阶段,我对学生信息管理系统进行了系统功能分析。系统功能包括登陆、学生查询自己的信息、管理员的日常管理、教师的登陆、查询等几部分。
接着在系统设计和详细设计阶段期间,因为需要自学和探索的内容与软件较多,所以我发挥积极主动精神投入课程设计和开发活动。除了老师正式安排的课程设计时间之外,还充分利用课余时间,向善长这方面的同学进行请教和互相探讨,力争获得最大收益。在需求分析的基础上,考虑经济、技术和运行环境等各方面条件,确定系统的总体结构和系统各组成部分的技术方案,合理选择计算机和通信的软硬件设备,提出系统的实施计划。内容主要包括学生学校管理系统总体结构设计、系统流程设计等等。根据系统的逻辑模型,完成数据流程图等的设计。使我对这些开发设计的软件应用工具运用和掌握的更加熟练。
员。每个人都有唯一的一个用户名,每个用户名都有与之对应的密码,如果用户名和密码不一致,则无法登陆主界面。如果用户输入错误可以单击“重臵”按钮,重新输入。输入完整单击“确定”按钮进入主界面。
图1:登陆界面
2.2.2 主界面用例描述
用户通过下拉列表框选择身份,可以是学生、教师或者管理员。用户选择身份以后,输入自己的用户名和密码。系统通过认证后,出现学生信息管理系统主界面。通过系统验证用户进入学生信息管理主界面,在主界面中我们可以看到登陆学生的基本信息,学生所修课程的信息。用户可以通过“查找”按钮看到所查找学生的信息。如图2:
图2:主界面
2.2.3 修改密码用例描述
登陆到主界面中,我们可以看到在主界面的右侧
图3:修改密码界面
2.2.4 选修课信息用例描述
用户单击“选修课信息”按钮,进入到选修课信息界面。在选修课信息界面中我们可以看到本学期所有可选的课程信息。学生选择选修课程表的课程,在界面的左下角会出现对应的课程详细信息。单击“选修”,就可将所选课程添加到列表框里。单击“退选”按钮,那么已选课程将从所选课程列表里删除,同时退选课程里将出现退选的课程,单击退选就可以退选此课程了。单击“确定”按钮,保存选修课信息。用户还可以通过“查看”按钮查看历年来的所选修的课程情况。如图4所示:
图4:选修课信息
2.2.5 个人信息用例描述
在主界面的学生基本信息框下面有两个按钮,一个是“查看更多信息”一个是“修改基本信息”。学生、教师、管理员都可以在主界面单击“查看更多信息”按钮,进入“个人信息”界面里查看个人基本的信息。管理员可以对这些进行修改,并且只限管理员修改。如图5。
图5:个人信息界面
2.2.6 修改学生信息用例描述
管理员可以单击修改按钮对学生信息进行修改,当用户是学生或者老师时,修改按钮对其不可用。
管理员进入个人信息界面时,单击修改按钮就可以进入到修改个人信息界面,对学生的信息进行修改。单击“确定”按钮保存。如图6:
图6:修改个人信息界面
2.2.7 查看、修改课程信息用例描述
在主界面中我们还可以看到学生所修课程信息情况。这里列出了本学期该学生所修的所有具体课程,每个具体课程占一行,单击“具体课程信息”按钮进入
“课程信息”界面,用户可以看到完整的课程号、课程名、授课教师、学分信息。同时可以通过选择不同学年的时间段来查看相应学年的课程信息。如图7:
教师和管理员有权对课程信息进行修改,如果要修改学生课程信息可以单击“修改”按钮,进入到“修改课程信息”界面,这里列出可课程名、课程号、任课教师等一系列与课程有关的信息。单击“确定”可以保存修改的信息并退出。如图8:
图7:查看课程信息界面
图8:修改课程信息
2.2.8 考勤表用例描述
在主界面上单击“考勤信息”进入到“考勤表”的界面。系统给出所查找学生的考勤情况。其中包括住宿考勤与课堂考勤两部分。并且最上方有学生的住宿信息以及基本信息。如图9所示:
图九:考勤表信息界面
2.2.9 奖惩表用例描述
在主界面,单击“奖惩信息”按钮。进入奖惩表界面,这里给出了历年的奖励与惩罚信息以及学生的基本信息。如果单击“修改”按钮可以对学生奖惩项进行添加、删除、修改等操作,此操作只能由管理员进行。学生信息管理系统给出相应的学生的奖惩情况。学生单击个人信息界面上的“奖惩”按钮,进入到奖惩表的界面。教师在查找到相应的学生信息后可以通过“奖惩”按钮来查看该生所有的奖励与惩罚项。如图10:
图10:奖惩表信息界面
2.2.10 修改奖惩信息用例描述
管理员可以通过“修改”按钮进入到“修改奖惩信息”界面。可以对学生的奖惩信息直接进行修改。如图11:
图11:修改奖惩信息界面
3.2.2 修改密码时序图
用户进入主界面,单击“修改密码”按钮进入“修改密码”界面。输入相应的修改信息,系统检测输入是否完整、确认密码是否与新密码一致、旧密码是否正确。检测通过,显示成功信息。如图二所示:
图2:修改密码时序图
3.2.3 选修课信息时序图
学生在主界面单击“选修课信息”进入选修课信息界面,此界面上显示了所有可选的课程信息,这些信息来自选修课信息表。单击某一课程,在详细课程信息里显示具体课程信息,课程的具体信息来自模板课程信息表。如图三所示:
图3:选修课信息时序图
3.2.4 退选选修课时序图
当学生选修了某一课程时,该课程也许与该生课时或其他原因有所冲突而不能选修,这时应有提示,并让该生退选改课程。学生单击“退选”按钮,系统提示是否退选,单击“是”则在学生的选修课信息表里移除这个选课项。如图四所示:
图4:退选选修课时序图
3.2.5 查看基本信息时序图
学生进入主界面后,主界面显示了学生的个人信息,单击“查看更多信息”按钮,进入“个人信息界面”,此界面中显示的信息来自学生的基本信息表。如图五所示:
图5:查看基本信息时序图
3.2.6 修改个人信息时序图
在个人信息界面中单击“修改”按钮,进入到修改学生信息界面,修改界面的学生信息也是来自学生的基本信息表,当用户单击修改时,系统提示是否修改,单击“是”,系统修改基本信息项。并保存。如图六所示:
图6:修改个人信息时序图
3.2.7 课程信息时序图
用户进入主界面,单击“具体课程信息”按钮,进入到课程信息界面。在这里显示了具体的课程信息。此信息来自个人课程信息表。如图七所示:
图7:课程信息时序图
3.2.8 修改课程信息时序图
管理员或者教师在课程信息界面单击“修改”按钮或者从主界面单击“修改课程信息”按钮,进入到修改课程信息界面,当用户单击修改时,系统检测信息是否完整,并提示是否修改,单击“是”,系统这时修改个人课程信息表的信息项。如图八所示:
图8:修改课程信息时序图
3.2.9 考勤表时序图
用户在主界面单击“考勤信息”进入考勤表界面。在考勤表界面中显示学生的出勤信息。此信息来自学生的住宿考勤表和课件考勤表。如图九所示:
图9:考勤表时序图
3.2.10 奖惩表时序图
用户在主界面单击“奖惩信息”进入奖惩表界面,此界面显示该生所有的奖惩情况。这些信息来自于学生的奖惩表。如图十所示:
图10:奖惩表时序图
3.2.11 修改奖惩表信息时序图
当管理员单击修改时,进入修改奖惩信息界面,这里显示的信息同样来自奖惩表。当单击“修改”时,系统检测信息是否完整,提示是否修改,单击“是”,系统修改奖惩信息项,并提示修改成功。如图十一:
图11:修改奖惩信息时序图
总结
从3月27日开始,我们进行了将近三个月的课程设计。通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。安排课程设计的基本目的,在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟。尤其是观察、分析和解决问题的实际工作能力,以便培养成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。作为整个学习体系的有机组成部分,课程设计虽然安排在了三个月的时间进行,但并不具有绝对独立的意义。它的一个重要功能,在于运用学习成果,检验学习成果。运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。在一个星期的课程设计之后,我们普遍感到不仅实际动手能力有所提高,更重要的是通过对软件开发流程的了解,进一步激发了我们对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。
在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于学生信息管理系统,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在整个设计过程中大部分时间是用在程序上面的。很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。
我觉得作为一名学习软件工程的学生,这次课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不
多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这三个月的“学习”,在老师、同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。同时,在这里感谢我们的指导老师彭博老师的悉心解惑和指导。
第五篇:学生信息管理系统
学生信息管理系统论文
2010-04-01清华领导力培训诺贝尔论文网 在传统模式下利用人工进行学生信息管理系统论文,存在着较多缺点,如:效率底,保密性差,时间一长将产生大量文件和数据,更不便于查找,更新,维护等。诸如这些情况,学校管理者对学生信息管理系统论文带来很大困难,严重影响教育工作者的工作效率。
一、引言
学生信息管理系统(Student Information Management System),以下简称SIMS,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统。它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。在传统模式下利用人工进行学生信息管理系统论文,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令学校管理者对学生信息管理系统论文带来了很大困难,严重影响了教育工作者的工作效率。
随着科学技术的不断提高,计算机科学日渐成熟,使用日趋成熟的计算机技术来代替传统的人工模式,来实现学生信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高学生信息管理系统论文的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。用计算机制作的学生信息管理系统论文还可以通过功能强大的Internet网及时的向学生的家长传递该生在校的最新成绩,有助于学校与家长的信息互动,为更好地把握学校的教育方针起到了一定的促进作用!因此,开发这样一套管理软件成为很有必要的事情。
二、管理信息系统
(一)概述
管理信息系统(Management Information System,简称MIS)是一个由管理人员和计算机组成的用以进行信息的收集、传输、加工、存储、维护和使用的系统。它是一门综合了管理科学,系统理论,计算机科学的系统性边缘科学。
管理信息系统的物理组成:
1.计算机硬件系统:包括主机、外部存储器、输入输出设备等。
2.计算机软件系统:包括系统软件和应用软件两大部分。
3.通信系统:包括线路等通信设施和与计算机网络、数据通信有关的软件等。
4.工作人员:包括系统分析员、程序设计员、维护人员、管理员、操作人员等。
(二)管理信息系统的发展
管理信息系统通过对企业当前运行的数据进行处理来获得有关信息,以控制企业的行为;利用过去和现在的数据及相应的模型,对未来的发展进行预测;能从全局目标出发,对企业的信息管理thldl.org.cn决策活动予以辅助。从工业发达国家来看,管理信息系统的发展经历了以下几个阶段:
第一阶段:(1953年至1965年)单项数据处理阶段,也称电子数据处理(EDP)阶段。这是电子计算机在管理领域应用的起步阶段。这一阶段,由于当时计算机硬、软件的限制,数据处理的性质只是使用计算机代替人的手工劳动,进行简单的单项数据处理工作,如计算工资、数据统计、报表登记、编制计划等。这个阶段的处理方式主要是集中式的批处理。
第二阶段:(1965年至1970年)综合数据处理阶段,也称事务处理系统(TPS)阶段。这个阶段计算机硬、软件有了很大的发展,出现了多用户的分时系统,计算机开始应用于对某一个管理子系统的控制,并具有一定的反馈功能。如库存管理系统、生产调度系统、物资管理系统等。这个阶段的处理方式已发展为面向终端的联机实时处理。
第三阶段:(1970年至今)管理信息系统(MIS)阶段。这个阶段是在企业中全面的使用计算机把各种管理子系统的功能集中起来,构成了计算机化的全方位的信息系统,即现代管理信息系统。这个阶段的处理方式是在数据库和网络基础上组成分布式处理系统。它的特点是使用数据库和分时处理的计算机网络,并充分利用运筹学等数学方法,实现了硬件、软件和数据资源的共享。
三、学生信息管理系统
信息管理系统论文主要功能:学籍信息管理,班级信息管理,课程信息管理,成绩信息管理,用户信息管理。具体系统功能需求描述如下:
(一)学籍信息管理
每年的大量新生入学,老生毕业都需要处理大量的信息管理系统论文。通过这一模块,可以实现学生基本情况的添加、删除、更新。还能查询各个学生的情况,姓名、家庭电话、家庭住址、学号等各个消息
(二)班级信息管理
实现班级的添加、删除、更新。查询班级的所在系别,辅导员等。
(三)课程信息管理
每个学期都会增加一些新的科目,通过本模块可以轻松的添加以及更新课程。可以根据学期条件或者班级条件的选择,也可根据课程名、课程号或者班级的选择,并对值的输入,可以看到数据集中显示符合条件的课程数据信息,而且可以根据教工的修改要求进行数据的添加、删除、修改的操作。
该项管理对课程的属性进行了具体化的分类,比如可以分辨是考试科还是考察课,而且根据条件的选择大大得提高了对各学期课程数据的记录操作,很大得帮助了教工们工作效率的提高。
(四)成绩信息管理
本模块实现了成绩的输入、删除、更新。还能查询到平均成绩以及单科最高最低成绩以及个人成绩。把成绩统计这个繁琐的工作简单化,为学生成绩的管理方面提高工作效率。
(五)用户信息管理
因为本信息管理系统论文是供多人一起使用的,必须对某一些人进行限制。于是设置了管理员,非管理员只能进行查询操作,不能进行更改。
四、学生信息管理系统论文开发的意义
(一)计算机信息管理系统论文已经成为我们学习和工作的得力助手:
今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:
首先,计算机可以代替人工进行许多繁杂的劳动;
其次,计算机可以节省许多资源;
第三,计算机可以大大的提高人们的工作效率;
第四,计算机可以使敏感文档更加安全,等等。
(二)开发学生信息管理系统论文的意义
SIMS主要是提供学生,老师或者来访者方便的查询等相关操作,对学生的信息管理能统一规范化。功能块的相应操作分别由其对应的子模块实现。通过教育网络或互联网把整个学校的学生信息汇聚起来,为学校教育主管部门提供全面及时的学生信息,方便管理,同时亦可通过校园网扩展各类信息化应用,共享学生信息。学校可通过一个简化的学生信息管理系统,使学生信息管理系统论文工作系统化,规范化,自动化,从而达到提高学生信息管理效率的目的。
五、信息管理系统论文实际调查
(一)国内外现状研究:
计算机在管理中的应用开始于1954年,当时美国首先用计算机处理工资单。40多年来,计算机在处理管理信息方面发展迅速。例如,60年代美国计算机在管理中应用项目不到300项,到了1975年达到2670项。而现在,美国在财务会计上90%的工作由计算机完成;物资管理中80—100%的信息处理由计算机完成;计划管理中是80—90%。据计算机应用方面发展较快的国家统计,计算机用于经济管理的约占80%;用于科技运算的占8%;用于生产过程控制的占12%。我国在全国范围内推广计算机在管理中的应用,是在70年代末开始的,虽然起步较晚,近几年发展却较快,特别是微型计算机的出现和普及为信息处理提供了物美价廉的手段,对于推动我国管理信息处理的现代化起了重要的作用。
(二)目前存在的问题:
传统纸媒介管理的信息管理系统论文难于共享汇总,其统计数据正确性也难以考证。存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。计算机在全国普及后,管理媒介有了质的飞跃。
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。由于计算机和网络的普及,若建立一个C/S或B/S结构的学生信息管理系统,学生便可以通过网络来选课并且查询自己的有关信息,使得学生信息管理工作系统化,规范化,自动化,大大提高了学校管理学生的效率。
六、信息管理系统论文解决方法
该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理。
(一)理论支持
当前计算机管理界所流行且实用的系统建设三原则:整体性原则、分作—协调原则、目标优化原则。
1.系统开发的结构化生命周期法。
其基本思想是把整个系统开发过程分成若干个阶段,每个阶段进行若干活动,每项活动应用一系列标准、规范、方法和技术,完成一个或多个任务,形成符合给定规范的产品。
采用结构化生命周期法开发管理信息系统时,应遵循的主要原则:
(1)用户参与的原则;(2)“先逻辑后物理”的原则;(3)“自顶向下”的原则;(4)工作成果描述(主要指文档)标准化的原则。
其具体开发步骤可分为以下四步:系统规划,系统开发(包括系统分析,系统设计,系统实施),系统的运行及维护,系统评价。
2.原型法。
其基本思想是在系统开发的初期,尽快构造出系统的原型,使用户能及早地运行这个系统原型,通过使用它、熟悉它,受到启发并取得经验,然后对系统的目标和功能提出更精确、具体的要求,研制人员据此逐渐修改和完善原型,使它满足用户的需求,最后完成系统的开发。该方法大大提高了系统开发效率,弥补了结构化生命周期法开发时间长的缺陷。通常采用原型法需以下四个阶段:1).明确用户的基本要求,2).研制系统的原型,3).使用、评价系统原型,4).修改和完善原型。
(二)系统设计
系统设计阶段的主要目的是将系统分析阶段所提出的反映了用户信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案。包括总体结构设计、总体功能设计、总体物理结构设计、系统详细设计、数据库设计(概念结构设计、逻辑结构设计、物理结构设计)、代码设计、输入输出设计等。
(三)硬件环境
硬件配置要求:
CPU:PII333以上。
内存:64MB以上。
硬盘:2.1GB以上(可用空间最好在160MB以上)。
(四)软件环境
1.设计平台: VB6.0
VB是一个面向对象设计的应用程序语言,是开发数据库前端的优秀工具,它的编程语言简洁明快、组件功能强大和编程环境灵活方便。采用VB来开发数据库应用程序具有更大的灵活性和可扩展性。
2.数据库: Microsoft Access
Access 是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。Access 多用于中小型企业来设计中小型数据库,一般的学校教务系统的数据库用Access 来设计完全能达到要求。由于考虑到本系统是应用在单机系统上,只建立起一个数据库。
3.数据库访问方式:ADO
ADO(Active Data Objects)实际是一种提供访问各种数据类型 的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口。可以使用任何一种ODBC数据源,即不止适合于SQL Server、Oracle、Access 等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。其主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。
七、信息管理系统论文结论
学生信息管理系统是学校信息管理系统论文的一个重要组成部分。他为其他系统(如学校图书管理系统、学校档案管理系统、教学管理系统、总务后勤管理系统等)提供学生的基本信息,同时它也需要如教学管理系统提供课程设置数据等。这些系统在具体应用中构成一个大系统,相互调用对方的数据。
由以上分析,我们可以充分认识到设计并开发一个学生信息管理系统论文的必要性和迫切性,本次设计和开
发的学生信息管理系统应符合学校学生信息管理的规定,满足对学校学生信息管理的需要,并达到操作过程中的直观,方便,实用,安全等要求。系统采用模块化程序设计的方法,既便于系统功能的组合和修改,又便于未参与系统开发的技术维护人员补充和维护。SIMS通过教育网络或互联网把整个学校的学生信息汇聚起来,为学校教育主管部门提供全面及时的学生信息,方便管理,同时亦可通过校园网扩展各类信息化应用,共享学生信息。