《学生信息管理系统学生信息管理系统.doc》由会员分享,可在线阅读,更多相关《学生信息管理系统学生信息管理系统.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 绪言1.1 系统概述本学生信息管理系统可以说是一个综合性的学校学生管理系统,这它集成了学生学籍管理系统、学生成绩管理系统、学生档案管理系统、学生缴费管理系统等多种功能。本系统主要用到的技术包括:MVC三层架构开发模式, 这种设计模式把应用逻辑、处理过程和显示逻辑分成不同的组件来实现,这些组建可以进行交互和重用。封装了数据操作类,以便调用数据库的操作函数因而具有较强的实用性和先进性。本文首先探讨了SQL语言接口和VB软件开发工具的技术特点以及结合SQL和VB的数据库访问方法,在此基础上,利用VB和 Microsoft SQL Server 2000实现了一个基于C/S模式的学生信息管理系统。
2、在本文的后半部分,给出了该系统的整个系统分析、设计以及实现的过程,包括需求分析、功能后矛盾的不完整的数据; 完整、及时提供在管理及决策中需要的数据; 利用指定的数据关系式分析数据,客观预测未来; 向各级管理机构提供不同详细程度的报告,缩短分析和解释时间; 用最低的费用最短的时间提供尽可能精确、可靠的信息,以便使决策者选择最佳的实施方案,以提高企业的经济效益。各方面的竞争中占有一席之地。学生信息管理系统是一个学校不可缺少的部分,它的内容对于学校的管理者来说至关重要,所以学生信息管理系统应该能够为老师提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理学生档案,这种管理方式存在着许
3、多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是学校的科学化、正规化管理,与世界接轨的重要条件。 从微观上讲,建立一套学生信息管理系统能够提高办事效率,从而加强了管理的信息化手段。从宏观上讲,顺应了社会的
4、信息化、社会化潮流,缩短了整个社会化大生产的周期。因此,开发这样一套管理软件成为很有必要的事情。 2.2 程序语言设计环境2.2.1 Visual Basic语言Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C+编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE
5、)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。总的来说,Visual Basic具有以下特点:用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修C+或汇编语言编写的程序加入到Visual Basic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。2.3 数据库开发简介数
6、据库技术是应数据管理任务的需要而产生的。20世纪60年代后期以来,计算机用于管理的规模更为庞大,应用也越来越广泛,数据量急剧增长,同时多种应用、多种语言互相覆盖地共享数据集合的要求越来越强烈;这时硬件已有大容量磁盘,硬件价格下降,软件价格上升,为编制和维护系统软件及应用程序所需的成本增加;在处理方面上,联机实时处理要求更多,并开始提出和考虑分布处理。在这种背景下,以文件系统作为数据管理手段已经不能满足应用的要求,于是为了解决多用户、多应用共享数据的要求,使数据为尽可能多的应用服务,就出现了数据库技术。数据库技术从产生到今天仅仅是30年的历史,但其发展速度之快,使用范围之广,是其它技术望尘莫及的
7、。短短30年间已从第一代的网状,层次数据库,第二代的关系数据系统,发展到第三代以面向对象模型为主要特征的数据库系统。数据库技术与网络通信技术,人工智能技术,面向对象程序设计技术,并行计算技术等互相渗透,互相结合,成为当前数据库技术发展的主要特征。数据库采用了SQL Server 是一个后台数据库管理系统,它功能强大操作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQL Server的接口。学生综合管理系统就是数据管理,数据库技术是数据管理的最新技术,是计算机科学最为迅速的分支。在信息社会,数据库技术已成为基础技术之一,它是一门综合性技术,涉及到操作系统,数据结构和程序设计等知识
8、。根据计算机的系统结构,数据库系统可分为集中式、客户机/服务器式、并行式和分布式四种。本文设计的系统就是客户机/服务器式(Client/Server)简记为C/S模式。随着计算机网络技术的发展和微型计算机的广泛使用,客户机/服务器式的系统结构得到了应用。C/S结构的关键在于功能的分布,一些功能放在前端机(即客户机)上执行,另一些功能放在后端机(即服务器)上执行。功能的分布在 创建视图视图存储是数据库设计的一部分,而查询则不是。由于每个视图都存储在数据库内,所以建立特定的视图数据子集以供任何数据库用户使用。视图可以隐藏基表,可以禁止所有用户访问数据库表,而要求用户只能通过视图操作数据。这种方法可
9、以保护用户和应用程序不受某些数据库修改的影响。在企业管理器中单击鼠标右键,选择“新建视图”命令。 创建存储过程存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作变得简单容易。该过程是SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其他强大的编程功能。存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以出于任何使用SQL语句的目的来使用存储过程,它具有以下优点: 可以在单个存储过程中执行一系列 SQL 语句
10、; 可以从自己的存储过程内引用其他存储过程,这可以简化一系列复杂语句; 存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快。在企业管理器中单击鼠标右键,选择“新建存储过程”命令。2.3.3 配置SQL Server 2000中的数据库完成数据库应用程序的基本步骤是: 创建数据库; 配置数据库与应用程序的连接; 创建应用程序。2.3.4 配置与SQL Server2000的ODBC连接Visual Basic 6.0提供了ADO来对数据进行操作。数据库在SQL Server 2000中创建成功后,ADO通过ODBC创建与数据库的连接。首先启动操作系统(这里以Windows 20
11、00为例)的控制面板, 选择“管理工具”图标,打开后选择“数据源(ODBC)”,打开后出现对话框。选择“文件DSN”选项卡,这样创建的数据连接所有用户都可以使用。单击“添加”按钮,这里有多种DSN,都有各自不同的用途:用户DSN只对当前用户有效,而且只能用于当前计算机上;系统DSN对当前计算机上所有用户可见,包括NT服务;文件DSN可以由安装了相同驱动程序的用户共享。选择“SQL Server”选项,单击“下一步”按钮,出现对话框。单击“浏览”按钮,可以指定保存数据源连接文件的路径。在文本框中输入保存连接的文件名,单击“下一步”按钮,然后单击“完成”按钮,在“服务器”选项中选择创建的服务器名称
12、,并单击“下一步”按钮,设置数据库为应用程序将要访问的数据库,这样数据库应用程序才能正常工作。可以设置是否对数据加密,以及是否保存查询的日志文件。如果数据库中数据采用中文,那必须选用“Simplified Chinese”(即简体中文),否则数据不能正常显示。根据数据可能用到的各种数据类型,选择合适的区域设置。单击“完成”按钮。这样就完成了对数据库的配置,可以单击“测试数据源”按钮测试数据库配置是否成功。3 需求分析 在分析软件需求过程中,分析员和用户都起着关键的必不可少了的作用。只有用户才知道真正自己需要什么,但是他们并不知道怎么样用软件实现自己的需求,用户必须把他们对软件的需求尽量准确、具
13、体地描述出来;分析员知道怎么样用软件实现人们的需求,但是在需求分析开始时他们对用户的需求并不十分清楚,必须通过与用户沟通获取用户的软件的需求。3.1 可行性分析由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。同时,本文介绍的学生信息管理系统是一个典型的客户机/服务器(C/S)体系结构的数据库应用系统。C/S软件体
14、系结构是基于资源不对等且为实现共享而提出来的,是20世纪90年代成熟起来的技术。C/S结构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。C/S模式的基本工作原理是:客户程序向数据服务器发送SQL请求,服务器返回数据和结果。客户端负责实现用户接口功能,同时封装部分或全部的应用逻辑。服务器端的数据库服务器主要提供数据存储功能,也可通过触发器和存储过程提供部分应用逻辑,并且通常把那些不同的(不管是已知还是未知的)前台应用所不能违反的规则在服务器程序中集中实现,例如访问者的权限、编号不准重复等规则。所有这些,对于运行客户应用程序的最终用户,是“透明”的,他们无须过问(
15、通常也无法干涉)这背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,数据库真正变成了公共、专业化的床库,受到独立的专门管理。3.2 用户需求分析经过详细的调研,并多次与学生档案管理的老师进行讨论后,首先加深了对学生信息管理业务的深刻了解,其次在充分熟悉学生档案管理业务的同时,将整个学生档案管理的业务流程描述如下: 新生入校,首先报到并进行注册登记,然后到财务部门交费。根据学生被录取的专业,持交费单到所在的系部注册; 到系部注册后,根据选报的专业分配到班级; 进入正常大学生活,参加各种教学活动,学期期末要求每位同学参加各种学科的期末考试;计划和资源利用计划。3.5 功能分析 系统需
16、要经过有效身份验证才可以登录。 系统对注册用户可对系统进行不同的管理。 用户身份不同,使用系统的权限也不同。3.6 系统建模为了更好的理解复杂的事物,人们常常采用建立事物模型的方法。所谓模型,就是为了理解事物而对事物做出的一种抽象的表达方式,是对事物的一种无歧义的书面描述。通常模型是由一组图形符号和组织这些符号的规则组成。3.6.1 建立系统的逻辑模型 系统的逻辑模型的工具是数据流图和数据字典。数据流图中没有任何具体的物理元素,只有用来描绘信息在系统中的流动和处理情况。数据流图共有四种基本符号:矩形表示数据的源点或终点(或称为外部项),圆或椭圆表示变换数据的处理,向右开口的矩形表示数据存储,箭
17、头表示数据流,既特定数据的流动方向。根据现行学生管理的业务流程,首先确定数据流图中的源点和终点都选定为学生,如此就得到据冗余,节约储存空间,又能够避免数据之间的不相容性与不一致性。数据系统提供了两方面的映像功能,从而使数据既具有物理独立性,又有逻辑独立性。数据与程序之间的独立性,使得可以把数据的定义和描述从应用程序中分离出去。另外,由于数据的存取由DBMS管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。在数据库系统中,数据是由DBMS统一管理和控制的。由于对数据实行了统一管理,而且所管理的是有结构的数据,因此在使用数据时可以当应用需求改变或增加时,只
18、要重新选取不同的子集或者加上一小部分数据,便可以有更多的途径,满足新的要求,因此使数据库系统弹性大,易于扩充。除了管理功能以外,为了适应数据共享的环境,DBMS还必须提供数据的安全性、数据的完整性,并发控制以及数据库的恢复等控制功能。 数据模型设计。首先来做出学生成绩管理系统的E-R图(联系方法图),分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。 再分析三个实体之间的联系。首先,这三个实体不是一个统一体,学生成绩与教师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一
19、位学生要学习多门课程,一门课程有多位学生共同学习。而学习成绩是这两个实体“学生”和“成绩”共有的属性,应填在二者的联系“学习”边。因为成绩既不是学生独有的,也不是课程独有的;“学生甲70分”或“英语70分”是不完全的,说“学生甲英语70分”才是正确的,因为70分是学生甲和英语经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎么样做“的时候了。总体设计的基本目的就是回答”概括的说,系统应该如何实现?“这个问题,因此,总体设计成为概要设计或者初步设计。通过这个阶段的工作将划分出组成系统的物理元素。总体设计阶段的另一项任务是设计软件结构,也就是要确定系统中的每个程序是哪些模块组成的
20、,以及模块相互关系。4.1.1设计过程总体设计过程通常由两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。本程序设计包括下述4个步骤:设想提供选择的方案如何实现要求的系统呢?在总体设计阶段开始时只有系统逻辑模型,这主要是我在进行调查时根据老师跟同学们的意见跟建议设计的一些数据然后根据数据分析进行总体的设计。功能分析为了最终实现目标系统,必须设计出组成这个系统的所有程序和文件(或数据库)。我在对程序设计的时候分为两个阶段完成:首先是进行结构设计,这主要考虑到学生信息由那些模块的划分,这些模块之间的关系:过程设计确定每个模块的处理过程。第二进行过程设计,这个阶段是
21、详细设计阶段的任务见第5节系统实现篇。设计软件结构通常程序中的一个模块完成一个适当的子功能。把模块组织成良好的功能层次系统,顶层模块调用他的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块完成具体的功能。设计数据库对于需要使用数据库的那些应用系统,我在需求分析阶段需求分析阶段所确定的系统数据需求的基础上。4.2 模块设计原理4.2.1 软件模块结构分析 软件模块结构分析主要有两个任务:分析用户的数据要求和分析用户的处理要求。通过以上分析,我们已经基本了解了用户对处理的要求。 系统方案确定通过对系统的调研与分析,系统主要应完成的功能有:班级管理
22、、学生成绩管理、学生交费管理、课程管理、成绩管理、系统管理等功能。 软件结构设计本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作 4.5 详细设计系统设计又称系统物理设计。系统设计要根据系统分析报告中的系统逻辑模型综合考虑各种约束,利用一切可用的技术手段和方法进行各种具体设计,确定新系统的实施方案,解决“系统怎么做”的问题。结构化系统设计是指利用一组标准的图表工具和准则,确定系统有哪些模块,用什么方法连接,如何构成良好的系统结构,并进行系统输入、输出、数据处理、数据存储等环节的详细设计。这一阶段的重点是设计好系统的总体结构,选择最经济合
23、理的技术手段。系统设计阶段的文件是系统设计报告(又称系统物理设计说明书)。由于本系统采用支持面向对象的Visual Basic 6.0作为开发工具,而Visual Basic 6.0采用事件驱动的编程机制,所以在此给出系统软件的结构图和主程序流程图。系统结构图,如图基本上决定了最终的程序代码质量。4.5.2 人机界面设计在系统详细设计的时候遇见的第一个问题就是人机界面的设计。人机界面的实际质量,直接影响用户对软件产品的评价,从而影响软件产品的竞争力和寿命,因此,必须对人机界面设计给予足够的重视。用户界面设计主要依靠设计者的经验。在我设计人机界面的时候重要突出有助与友好高效的界面。下面我介绍下本
24、系主要用到的人机界面设计指南。 一般交互指南一般交互指南涉及信息的显示、数据输入和系统整体控制。这类指南是全局性的。在交互指南中应该考虑下面问题:保持一致性。人机界面中的菜单选择、数据显示以及其他功能使用一致的格式;在执行较大破坏性的动作之前要求用户确定;允许取消绝大部分的操作;按功能对动作分类,并据此设计屏幕布局。数据输入指南在本系统中用户的大部分时间用在选择命令、键入数据和向系统提供输入。在许多应用系统中,键盘、鼠标仍然是主要的输入介质。下面是有关于数据输入的设计指南:尽量减少用户的输入动作。最重要的是减少击键次数,这可以用下列方法实现:用鼠标从预定意的一组输入中选一个;保持信息显示和数据
25、输入之间的一致性。4.5.3 过程设计的工具描叙程序处理过程的工具称为过程设计的工具,它们可以分为图形、表格和语言3类。不论是那种工具对他们的基本要求都是能提供对设计的无歧义的描叙,也就是应该指明控制流程、处理功能、数据组织以及他们方面的实现细节问题,从而在编码阶段能把对设计的描述直接翻译成程序代码。 程序流程图程序流程图的优点是对控制流程的描绘很直观。程序流程图有很多优点但同时存在许多的缺点:程序流程图本质上不是逐步求精的好工具;程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,睡衣转移控制;程序流图不易表示数据结构。 判定树判定树能清晰的表示复杂的条件组
26、合与应做的动作意见的对应关系。判定树的优点在于,他的形式简单到不用任何说明Dim mrc As ADODB.Recordsettxtsql = 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) Exi
27、t SubEnd Ifusername = 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
28、控件、一个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.Pw
29、d Modify = True Show 1 End With End IfEnd 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 .Inse
30、rt Else Call .Update(OriId) End If End With Unload MeEnd Sub课程管理页面如下,如图5-9所示。图5-9 课程页面图5.5 学生缴费管理模块因为本系统中有些功能模块具有相似之处,因此在本文只用此模块进行一个简单的说明。其它的相似模块的代码可能参阅本模块的设计思路,如图5-10所示。图5-10 缴费页面Public printstr As StringPrivate Sub Command1_Click() Dim dbSource As Database Set dbSource = OpenDatabase(xs.mdb) dbSou
31、rce.Execute (SELECT * INto 班级一览表 IN 学生管理一览表.xls EXCEL 5.0; FROM class)z = MsgBox(成功!, vbOKOnly, 查询)End Sub5.6 服务器端程序的建立服务器端程序实际上是个COM 工程,它本身连接数据源,再通过接口与客户端联系,这个COM 工程必须注册在服务器上。5.7 客户端程序的建立在Two-Tier模式中,客户端(Client)程序是直接和服务器的数据源相连的。建立一个普通的工程。 放置一个TDCOMConnrction控件在网络上调试,需要给出服务器名:ComputerName:服务器名(自动给出网
32、上邻居)注意: ServerGUID的GUID值是自动给出的。放置一个Tclient控件。这样一个客户端程序就建立好了,其余犹如普通的数据库设计。5.8 动态连接应用程序服务器的实现客户端程序在运行时,需要连接应用服务器程序以取得服务。但是,在系统实际应用的时候,运行应用服务器程序的计算机是经常改变的,因此在客户端程序启动时,应该先找到运行应用服务器程序的计算机的设置。掌握了动态连接应用服务器的流程,就可以具体实现它。下面就将分步骤介绍动态连接应用服务器的实现过程。在VB中新建一个窗体,将单元文件保存为connect.pas窗体的Name属性设为fm_serconfig,Caption属性设为
33、”服务器配置”,运行后窗体如下图5-11所示。图5-11 服务器配置图(2) 在“连接设置”窗体中,需要输入应用服务器主机名(或者应用服务器IP地址)和应用服务器的端口号,这些配置信息将用来连接应用服务器。如果连接成功,输入的配置信息将被写入到注册表中,以后程序启动时,读取注册表配置信息,就可而已连接应用服务器程序了。 (3) 在连接设置主窗口中,我们为应用服务器名提供了辅助录入的方法,点击应用服务器名编辑框右边的省略号按钮,将弹出一个浏览局域网计算机的对话框,以方便用户选择应用服务器所在的计算机。在VB中新建一个窗体,将窗体单元文件保存为netlist .pas,窗体的Name属性设为Fm_
34、netlist。运行后窗体如下图5-12所示。图5-12 网上邻居图在列举网络资源窗体中,将按照工作组以树型目录的形式显示局域网中的计算机。(4)应用服务器IP地址和端口号的值,然后将这些值赋给主窗体的SocketConnection组件以测试连接。如果连接成功就返回True值,如果连接失败,将弹出“连接设置“窗口,用户需要从新输入应用服务器主机名,应用服务器IP地址和端口号。如果仍然连接失败,就返回False值,表示连接失败。(5) 动态连接设置的最后一个步骤就是在主窗体被创建时,调用第4步中的方法,判断应用程序是否连接上了应用服务器。如果连接成功,将进入应用程序;如果连接失败,将退出应用程序。至此,动态连接应用服务器就做完了。5.9 系统的测试 测试步骤 添加学生信息测试流程: 以管理员或者编辑身份进入后台管理界面; 选择“添加学生”功能; 首先添加学生姓名,选择学生的性别、年龄、等信息名称;然后添加学生的详细信息; 从系统界面登录,确认信息添加。 测试的目标:为了发现程序中的错误而执行程序的过程。经过多次测试添加学生姓名等信息从系统界面登录读取信息都无误。其他功能都能基本实现就不在细说了。全文总结在本系统的开发过程中,由于本人独立开发软件,在知识、经验方面都存在着不足。另外,在整在本次毕业设计中,我从指导老师-周老师,身上学到了很多东西。他认真负责的工作态度,