天津电子信息职业技术学院毕 业 设 计课题名称:学生信息管理系统姓 名 郭峰 专 业 计算机应用 所 在 系 计算机应用系 指导教师 裴有柱 完成日期_ 2008年 5月15日____前 言计算机已经成为挂在我们嘴角的一句口头禅,它已经深入到日常工作和生活的方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。Windows系统的推出使电脑从高雅的学术殿堂走入了寻常百姓家,各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。然而,虽然现在世界上已经充满了多如牛毛的各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。以前开发Windows下软件是专业人员的工作,需要掌握许多专业知识和经过特殊的培训才能胜任。现在不同了,即使你没有接受过严格的程序设计训练,使用Visual Basic也一样能够开发出功能强大、适合自己特殊需求的应用程序了。Visual Basic继承了Basic语言易学易用的特点,特别适合于初学者学习Windows系统编程。作为一名电子信息职业学院的学生,必须学会计算机操作和编程,而程序编写必须从基础开始,VB语言就是这种练习的最好方式。如编写50多个学生的评语,手写实在是件麻烦事,能不能做个评语生成器,用计算机程序设计一个评语生成系统,这样就使问题变的简单了目 录前言 第一章 概述 课题的意义 课题要达到的设计目标课题设计的思路、方法第二章 设计工具VB语言简介 VB语言特点 为何选择VB语言作为开发工具 VB 语言基本开发方法 使用什么关键技术(如VB与API函数)第三章 用VB语言开发学生评语生成系统 评语生成系统具有何种功能界面设置构想 界面各对象属性设置与说明第四章 程序代码第五章 评语生成系统运行环境 软件环境 硬件环境第六章 主要参考资料第七章 毕业设计总结课题的意义:学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。课题设计的思路、方法:本系统主要包括学生信息查询、教务信息维护和学生选课三部分。其功能主要有:⒈有关学籍等信息的输入,包括输入学生基本信息、所在班级、所学课程和成绩等。⒉学生信息的查询,包括查询学生基本信息、所在班级、已学课程和成绩等。⒊学生信息的修改。⒋班级管理信息的输入,包括输入班级设置、年级信息等。⒌班级管理信息的查询。⒍班级管理信息的修改。⒎学生课程的设置和修改。关于VB语言的简单介绍1 Visual Basic 语言的特点 Visual Basic 语言用其设计应用程序时具有两个基本特点:可视化设计和事件驱动编程。(1) 可视化设计:表现在VB在设计应用于程序界面时有“所见即所得”的处理功能。(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)模块是指一些运算量或过程进行声明或定义的一个集合。系统程序大体可分成四个模块:数据输入、根据查询、数据打印和通讯。 为何选择VB语言作为开发工具: VB是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。它简单易学、效率高,且功能强大可以与Windowsr专业开发工具SDK相媲美。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,以用动态链接库(DLL)、对象的链接与世隔嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。随着版本的提高,Visual Basic的功能也越来越强。版以后,Visual Basic推出了中文版,与前个版本相比,其功能有了很大提升。但是,功能再强大,Visual Basic仍然有一个缺点:在没有MSVBVM**.DLL的计算机上必须安装所需的DLL文件。用它可设计操作系统,不过,比较困难。为何选择VB语言作为开发工具除了VB之外,当前能够编制Windows应用程序的可视化编程工具还有很多,所针对的编程领域也各有侧重,就微软系列的可视化开发工具而言,就有VB,VisualC++,VisualJ++,Visual Foxpro等,其中Visual Foxpro是针对数据库编程的开发工具;Visual C++是为专业程序设计员提供的开发工具,变量声明和定义严密,功能强大灵活,必须经过相当的努力才能掌握;而VB不支持虚类、多态性和类的继承,相对而言VB简单易学,变量定义不太严密,对于非专业程序员而言功能足够强大,同Visual C++一样也支持网络编程和数据库编程。除了微软之外,其他公司也在为Windows操作系统平台制作应用程序开发工具,例如前Borland的公司出品的Delphi,C++Bulider, J++Bulider等,其他一些公司出品的针对数据库编程的PowerBulider, PowerDesigner等,不可否认,这些产品相当出色,如果能够熟练掌握将是编程者能力的体现,但是必须承认,对Windows操作系统最熟悉的还是微软,而且微软本身Windows操作系统的源代码采取不公开的策略,使得其他公司出品的产品在实现相同功能时多少都要走些弯路,用户在使用这些产品设计应用程序时,程序的效率将会受到影响。在选择所需要的应用程序开发工具时,不但要考虑开发工具的功能是否强大,还要考虑所花费的时间和效果,单纯地追求功能的强大,也许会事倍功半。 中央电大陈明主编的《Visual Basic程序设计》是计算机应用专业采用的一本难得的教材,使我受益匪浅。通过这门课程的学习,我已能用VB编写简单的程序,为了搞好这次毕业设计,我决定使用VB作为编程语言。 应用的基本开发方法VB是采用交互式开发和事件驱动应用程序的工作方式 交互式开发 传统的应用程序开发过程可以分为三个明显的步骤:编码、编译和测试代码。VB 与传统的语言不同法开发应用程序,使三个步骤之间不再有明显的界限。,它使用交互式方 在大多数语言里,如果编写代码时发生了错误,则在开始编译应用程序时该错误就会被编译器捕获。此时必须查找并改正该错误,然后再次进行编译,对每一个发现的错误都要重复这样的过程,VB在编程者输入代码时便进行解释,即时捕获并突出显示大多数语法或拼写错误。看起来就象一位专家在监视代码的输入。 除即时捕获错误以外,VB 也在输入代码时部分地编译该代码。当准备运行和测试应用程序时,只需极短时间即可完成编译。如果编译器发现了错误,则将错误突出显示于代码中。这时可以更正错误并继续编译,而不需从头开始。 由于VB的交互特性,因此可以发现在开发应用程序时,系统正频繁地运行着应用程序。通过这种方式,代码运行的效果可以在开发时进行测试,而不必等到编译完成以后。 事件驱动应用程序的工作方式 事件是窗体或控件对象识别的动作。在响应事件时,事件驱动应用程序执行VB代码。VB的每一个窗体和控件对象都有一个预定义的事件集。如果其中有一个事件发生,并且在关联的事件过程中存在代码,则VB就会调用该代码。 尽管VB中的对象自动识别预定义的事件集,但要判定它们是否响应具体事件以及如何响应具体事件则是编程的责任了。代码部分(即事件过程)与每个事件对应。 如果让控件对象响应事件,就把代码写入这个事件的事件过程之中。 对象所识别的事件类型多种多样,但多数事件类型是大多数控件所共有的。例如,大多数对象都能识别 click 事件,如果单击窗体,则执行窗体的单击事件过程中的代码;如果单击命令按钮,则执行命令按钮的 click 事件过程中的代码。每种情况中的实际代码几乎完全不一样。 事件是窗体或控件对象识别的动作,在响应事件时,事件驱动应用程序执行VB代码。以下是事件驱动应用程序中的典型事件序列: .启动应用程序,显示窗体 .窗体(或窗体上的控件)接收事件。事件可由用户/系统引发或由代码间接引发 .如果在相应的事件过程中存在代码,就执行代码 .应用程序等待下一次事件 注意许多事件伴随其它事件发生。例如,在 DblClick 事件发生时,MouseDown、MouseUp 和 Click 事件也会发生Windows下的Visual Basic 编程环境简介1 面对对象的编程面向对象的设计方法 (OOP, Objected Programming) 从应用领域内的问题着手,以直观自然的方式描述客观世界的实体。Visual Basic 作为一种面向对象的编程方法,把程序和数据封装起来作为一个对象,并为每个对象赋予相应的属性。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,由 Visual Basic 自动生成对象的程序代码并封装起来。Visual Basic 应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可说扩展性和强有力的功能。Visual Basic 应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。2 实现菜单选项菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,Visual Basic 也提供了强大的创建菜单功能是程序更加标准。本系统使用 Visual Basic 的菜单编辑器建立菜单或者修改已经存在的菜单,您也可以使用Visual Basic 的Application Wizard 来操作。3 实现工具栏CoolBar控件与Office2000 中看到的CoolBar是类似的。CoolBar就是一个可以在窗体上浮动的工具,同时也是其他ActiveX的容器。通过在CoolBar中迁入其他空间你也可以向用户提供更好的灵活性和义用性。选择“工程”下拉菜单中的“部件”选项,显示“部件”对话框。在“控件”选项卡列表中选择“Microsoft Windows Common Controls ”后工具相中增加改控件。本系统就用了Cool工具中的Statubar控件,在系统这一界面中,添加了状态栏,在第一个栏中,在样式这一栏中选择了文本,在第二个栏中,选择了系统日期,第三个栏中选择了系统时间,这样,任何时候操作本系统,都可以看到当前的时间和日期。之所以选择VB语言作为开发工具是因为Microsoft Visual FoxPro 可视化开发软件工具下分析、设计、开发大中专院校的学生信息管理系统的过程很通直观很方便。通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库编程实践,在指导老师的帮助下,已经基本上成功地实现了设计要求。是我们设计的数据库系统能够实现学生管理,学生信息管理,成绩管理,系统管理功能。 该系统基本上满足了用户在学校信息管理方面的需求,用户界面友好。此系统更加贴近信息电子化处理,从而降低了人工劳动并增加了信息的准确性使用什么关键技术(如VB与API函数)VB无疑是最先进的编程工具之一,但在涉及windows 32位系统的核心编程方面,譬如一些高级功能的实现上,它仍然显得有些力不从心,这需要我们充分利用vb的强大的Windows API函数调用能力来弥补。作为一个编程初学者来说,API函数也许是一个时常耳闻却感觉有些神秘的东西。单看它的复杂语法,就足令人望而生畏,但是任何事物在我们深入了解它之前,总是会有这种感觉的。其实我们应该把API函数的来龙去脉搞清楚,破除对API函数的畏惧,使它成为我们编程的好助手。大家可能在许多书上看到过API的英文全称(Application Programming Interface),WIN32 API也就是MicrosoftWindows 32位平台的应用程序编程接口。对这个定义的理解,需要追溯到操作系统的发展历史上,当WINDOWS操作系统开始占据主导地位的时候,开发WINDOWS平台下的应用程序成为人们的需要。而在WINDOWS程序设计领域处于发展的初期,WINDOWS程序员所能使用的编程工具唯有API函数,这些函数是WINDOWS提供给应用程序与操作系统的接口,他们犹如“积木块”一样,可以搭建出各种界面丰富,功能灵活的应用程序。所以可以认为API函数是构筑整个WINDOWS框架的基石,在它的下面是WINDOWS的操作系统核心,而它的上面则是所有的华丽的WINDOWS应用程序。但是,那时的WINDOWS程序开发还是比较复杂的工作,程序员必须熟记一大堆常用的API函数,而且还得对WINDOWS操作系统有深入的了解。然而随着软件技术的不断发展,在WINDOWS平台上出现了很多优秀的可视化编程环境,程序员可以采用“即见即所得”的编程方式来开发具有精美用户界面和功能强大的应用程序。这些优秀可视化编程环境操作简单、界面友好(诸如VB、VC++、DELPHI等),在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能,事实上这些类库和控件都是构架在WIN32 API函数基础之上的,是封装了的API函数的集合。它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了WINDOWS应用程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上,而不必过于关注技术细节。实际上如果我们要开发出更灵活、更实用、更具效率的应用程序,必然要涉及到直接使用API函数,虽然类库和控件使应用程序的开发简单的多,但它们只提供WINDOWS的一般功能,对于比较复杂和特殊的功能来说,使用类库和控件是非常难以实现的,这时就需要采用API函数来实现。这也是API函数使用的场合,所以我们对待API函数不必刻来研究每一个函数的用法,那也是不现实的(能用的到的API函数有几千个呢)。正如某位人士所说:API不要去学,在需要的时候去查API帮助就足够了。评语生成系统具有的功能:1、 能根据对某位学生的“德、智、体、美、劳”表现(即优秀、良好、一般、差)进行简单的选择,便能自动生成相应的评语。 2、可选择相应的寄语,以及加入个人的评语。 3、对生成的评语可以进行修改。 4、最后生成一个文本文件(.txt),使我们可方便地导入到wps或word中进行排版打印界面设置构想本系统采用VB语言程序编写(特点:面向对象可视化编程;程序运行靠事件驱动),其中窗体仅有一个,即默认的Form1。在该窗体中设有对象13个。其中,文本框3个,分别是Text1、Text2和Text3;分组框4个,分别是德、智、体、美、劳,并每个框内分别设有4个单选按钮(优秀、良好、一般、差);标签2个;组合列表框1个(添加自定义评语、评语栏);组合列表框1个,请选择寄语(Combo1);命令按钮3个,生成、保存、退出。 界面各对象属性设置与说明控件名称 属性 功能描述Combo1 Text=’请选择寄语’ 供选择相应的寄语Command1 Caption=”生成” Command2 Caption=”保存” 保存成.txt文件Command3 Caption=“退出” Text1 供生成评语Text2 供添加自定义评语Text3 供输入姓名Frame控件4个 分开德智体美劳五项Option控件20个 细分成四个等级Label控件3个 显示相应提示信息程序代码Click代码:sele adminer use adminer cx=alltrim() cy=alltrim() set order to 用户名 seek cx if alltrim(adminer.用户名)!=cx cMessageTitle='学生信息系统' cMessageText='用户名错误,请重新输入' nDialogType=4+32 nAnwser=messagebox(cMessageText,nDialogType,cMessageTitle) do case case nAnwser=6 '' case nAnswer=7 cMessageTitle='学生信息系统' cMessageText='不要乱来' messagebox(cMessageText,nDialogType,cMessageTitle) endcase else if alltrim(adminer.密码)!=cy cMessageTitle='学生信息系统' cMessageText='密码错误,请重新输入' nDialogType=4+32 nAnwser=messagebox(cMessageText,nDialogType,cMessageTitle) do case case nAnwser=6 '' case nAnswer=7 cMessageTitle='学生信息系统' cMessageText='输入错误' messagebox(cMessageText,nDialogType,cMessageTitle) endcase else do case case tablesc=1 do form deptstu case tablesc=2 do form weihu endcase endif endif评语生成系统运行环境软件环境1.标题栏标题栏中的标题为“工程 1-Microsoft Visual Basic〔设计〕”,用来表明工程名称和集成开发环境当前的工作模式。VB有三种工作模式:设计(Design)模式、运行(Run)模式和中断(Break)模式。2.菜单栏菜单栏中包括13个下拉菜单,汇集了VB程序开发过程中需要的命令。1 文件:用于创建、打开、保存、显示最近的工程以及生成可执行文件。2 编辑:用于程序源代码的编辑。3 视图:用于集成开发环境下程序源代码、控件的查看。4 工程:用于控件、模块和窗体等对象的处理。5 格式:用于窗体控件的对齐等格式化操作。6 调试:用于程序调试、查错。7 运行:用于程序启动、中断和停止等。7 查询:用于进行与数据库表有关的查询操作8 图表:用于完成与图表有关的操作10 工具:用于集成开发环境下工具的扩展。硬件环境1G以上CPU,内存512MB以上 首先安装微软的IIS(XP下安装必须是专家版操作系统HOME版不可以)2000,2003系统自动带IIS 然后再安装Visual Studio .NET 2003 或者 Visual Studio .NET 2005 软件实例测试评语生成代码:@输出结果分析能根据对某位学生的“德、智、体、美、劳”表现(即优秀、良好、一般、差)进行简单的选择,便能自动生成相应的评语。 可选择相应的寄语,以及加入个人的评语。 对生成的评语可以进行修改。 最后生成一个文本文件(.txt),使我们可方便地导入到wps或word中进行排版打印。主要查阅的技术资料:Visual basic 程序设计 (第2版)《 primer plus》Visual Basic游戏编程导学(附光盘) 杨正华 周荣彪 尹兵 编 | 清华大学出版社 | Visual Basic 游戏开发实例 姜波 等编著 | 机械工业出版社 Visual Basic 游戏编程50讲 董传银 | 北京希望电子出版社 Visual Basic游戏编程21天自学通 [美]Clayton Walnum著 王国春 施妍然译 | 清华大学出版社。总结:毕业设计收获很多,但是毕业设计也暴露出自己专业基础的很多不足之处。比如缺乏综合应用专业知识的能力,对程序的不了解,等等。这次实践是对自己大学所学的一次大检阅,使我明白自己知识还很浅薄,虽然马上要毕业了,但是自己的求学之路还很长,以后更应该在工作中学习,努力使自己 成为一个对社会有所贡献的人,为中国石油工业添上自己的微薄之力本篇论文虽然凝聚着自己的汗水,但却不是个人智慧的产品,没有导师的指引和赠予,没有父母和朋友的帮助和支持,我在大学的学术成长肯定会大打折扣。当我打完毕业论文的最后一个字符,涌上心头的不是长途跋涉后抵达终点的欣喜,而是源自心底的诚挚谢意。我首先要感谢我的导师裴有柱,对我的构思以及论文的内容不厌其烦的进行多次指导和悉心指点,使我在完成论文的同时也深受启发和教育。 再次由衷感谢答辩组的各位老师对学生的指导和教诲,我也在努力的积蓄着力量,尽自己的微薄之力回报母校的培育之情,争取使自己的人生对社会产生些许积极的价值!