毕业设计(论文)-学生综合素质管理系统的设计与实现_第1页
毕业设计(论文)-学生综合素质管理系统的设计与实现_第2页
毕业设计(论文)-学生综合素质管理系统的设计与实现_第3页
毕业设计(论文)-学生综合素质管理系统的设计与实现_第4页
毕业设计(论文)-学生综合素质管理系统的设计与实现_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学生综合素质管理系统的设计与实现序 言随着人类社会进入信息时代,计算机越来越多地活跃在社会各个领域:管理、网络、计算、控制,多媒体等。并且在许多方面成为不可缺少的工具,尤其在管理方面,管理软件的出现使大量繁琐复杂的问题变得简单易行。现今学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,需要有学生信息管理系统来提高学生管理工作的效率,通过这样的系统,可以做到信息的规范管理,科学统计和快速查询,从而减少管理方面的工作量。第一章介绍了该课题的设计背景和设计目标,了解现在学生管理系统的发展和局限,以及这个系统开发的意义,从而完善学生系统的管理,使其有更多的应用。第二章简要介绍了该管理系统的开发环境,有硬件、软件以及一些开发工具,主要运用的是微软公司的Visual FoxPro 6.0中文版。第三章进行系统总体设计,描述总体设计思想,系统功能总体设计,对系统设计方法进行简介。第四章对系统中部分重点功能模块(比如系统登录与主界面模块、添加模块、查询模块等)作了详细具体的介绍,对设计实现的技术和部分功能作了说明。第五章从系统的界面、模块的完整性,功能的完善方面总结了该系统的优点,以及还存在的问题。对学生信息,学科成绩和奖罚情况等的管理是该系统的主要职能,通过系统可以对学生基本信息,学科成绩和奖罚情况进行添加和查询。从系统的设计语言介绍开始,确定系统的设计,到模块的划分,再到数据库结构的设计,最后开始每个模块编程开发,贯穿了该系统开发的全过程。第1章 绪 论1.1 课题背景现在我国的大、中、小学校中档案的管理水平还停留在纸介质的基础上,一直以来人们使用传统人工的方式管理学生的基本档案,这种管理方式存在着许多缺点:效率低、保密性差,另外时间一长,将产生大量的文件和数据,对于查找、更新和维护都带来了不少的困难。这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,因此,许多学校需要一个功能全面的学生信息管理系统来进行管理,以使管理学生信息的工作在该系统的配合下更加高效和便捷。作为计算机应用的一部分,使用计算机对学生综合素质进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长,成本低等。这些优点能够极大地提高学生综合素质管理的效率,也是学校的科学化,正规化管理与先进科学技术接轨的重要条件。计算机信息管理技术的应用,除了能在相当大程度上代替人工作业、减少人员工作量、减轻工作负担、减少工作失误外,更重要的是能够建立一个准确、畅通、简便的信息流通渠道,为工作提供所需要的准确、即时的信息以帮助决策者作出正确而又及时的选择和决定,从而给采用这门技术的学校带来巨大的可见和不可见的方便。1.2 课题目标学生综合素质管理系统是典型的管理信息系统(MIS),它是一个学校管理学生档案不可缺少的部分,它的内容对于学校的管理者来说是至关重要的,所以学生综合素质管理系统应该能够为学校的管理者提供充足的信息和快捷的查询手段。该系统主要做到如下几点:(1)首先要系统界面美观、大方、简洁,让人一目了然。并且不再需要大量的人员利用纸介质对学生的基本档案及学科成绩和综合素质进行管理,而只需一到二名档案录入员就可以对系统进行操作,节省人力。(2)利用管理系统对学生各项信息进行管理,可以提高学生档案的可靠性,由于系统设置了密码登录,所以其保密性好,还有寿命长、成本低等优点。(3)通过这个系统可以迅速查到所需查询学生的综合素质信息,以及该学生的基本信息,还有其学科成绩。通过这样的查询,对学生的评定便不再单一的只是看他的成绩,而是能综合考虑到他各方面的情况,抛开了传统的只考虑学生成绩的思想,更有利于学生的发展,以及老师和学校对一个学生的认识。(4)相对于纸介质而言,凭借计算机这么一个现代产物,做成一个学生管理系统可以存储历届学生综合素质的信息,且安全、方便、高效。学生综合素质管理系统的实现,让学校对学生综合素质的考虑运用到了实际中,真正做到了对学生综合素质的考虑,而不仅仅局限于学生的成绩。在信息技术飞速发展的今天,通过现代信息手段,对学生的管理不再是手工的操作,利用计算机进行操作已经成为必然的趋势。开发功能的完善及安全可靠的管理系统大大提高了学校资源的利用率,及时、准确地获取需要的信息,充分发挥人员的工作潜力。第2章 系统设计技术简介在科学飞速发展的今天,数据信息的管理、操作与维护变得越来越重要。该管理系统在设计中,主要运用了项目管理器对整个系统中运用到的内容进行管理,使用表单设计器对界面进行设计,对于数据和表之间的管理则用到了数据库。2.1 VFP简介微软公司(Microsoft)的Visual FoxPro 6.0是Windows应用程序开发工具,是易学易用的面向对象的关系型数据库系统的开发工具。Visual Foxpro 6.0提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的开发效率、运行效率和可靠性。故而,开发本系统,Visual FoxPro 6.0是一个相对较好的选择。Visual FoxPro 6.0能够管理大量复杂的数据信息,同时具有良好的安全性。使用结构化查询技术,能够从大量的数据中快速查询需要的信息,具有很好的实时性。使用面向对象的开发技术,能够开发出功能强大的专门针对用户的应用程序。Visual FoxPro与其他关系数据库管理系统相比,其所提供的数据库开发语言更加方便实用,特别是Visual FoxPro所提供的命令与函数既丰富又简练,通过Vsuo提供的命令窗口可执行这些命令或调用这些函数,再配合菜单操作,大大提高了用户的工作效率。Visual FoxPro 6.0中文版比较适合于中小型数据库市场,对于记录数小于1000000条的数据库,Visual FoxPro 6.0无疑是最优秀的选择之一,其强大的功能主要表现在:能够管理大量复杂的数据信息,同时具有很好的安全性;使用结构化查询技术,能够从大量的数据中快速查询需要的信息,具有很好的实时性;具有较强的网络功能,能够实现数据的远程访问和存储加工;使用面向对象的开发技术,能够开发出功能强大的专门针对用户的应用程序,具有强大的API函数库,支持ActiveX和OCX技术,并且在某些功能不能实现时可以借助Visual Basic和Visual C+等其他工具辅助开发;能够快速、随意地制作出用户需要的各种形式的报表和标签;能够方便地根据数据制作直方图,饼图等。2.2 项目管理器简介VFP为开发人员提供了一个优秀的工作平台“项目管理器”,开发人员可使用“项目管理器”组织和管理项目中的文件。项目是文件、数据、文档以及VFP对象的集合,项目文件以.pjx扩展名保存。当激活“项目管理器”窗口时,VFP在菜单栏中显示“项目”菜单,在这里能看到应用程序的元素。在“项目管理器”中,以类似于大纲的形式组织各项,可以展开或折叠它们。在项目中,如果某类型数据项有一个或多个数据项,则在其标志前有一个加号。单击标志前的加号可查看此项的列表,单击减号可折叠展开的列表。如果希望能够把程序做成独立性非常强的软件,应该尽可能把所需要的东西包括进来。但是如果数据库等包括进来后,就不可以进行更改了;否则更改时就会出现错误,设计的时候应该特别关注这个问题。与工具栏类似,可以将“项目管理器”拖动到屏幕顶或双击标题栏,从而停放“项目管理器”。“项目管理器”停放后,将自动折叠,只显示选项卡。有经验的软件制作者设计一个应用系统时,首先建立好一个项目,在以后的制作过程中再把所有零散的成分都纳入此项目。项目管理器是整个应用系统的大管家和承载平台,软件开发者随时可以把制作过程中的成品或半成品交付其管理。通过“项目管理器”获取要制作或要修改的各个制作成分,这些成分是以不同类型的文件体现的。项目管理器能把开发人员交付的文件管理得井井有条,一目了然。交付“项目”管理的文件不要随意从资源管理器中删除,文件的添加和删除均应通过项目管理器实现。有了“项目”将为全系统完成后的汇编和编译奠定基础。项目管理器的功能和作用归纳起来,可以有以下几方面:(1)采用目录树结构的形式,使项目中的内容一目了然。(2)提供基本功能按钮,为新建、修改、增删、移去,以及调试、运行项目中的相关内容,提供了方便。(3)支持项目建立数据词(字)典,使数据库表在功能上大大强于自由表。2.3 数据库简介Visual FoxPro 6.0的“真谛”当然是对数据库、数据表的处理和管理。只有当开发项目的管理对象是大量数据时,VFP才可能成为众多软件开发工具的首选。VFP“最拿手”的便是对数据库和表的处理和管理,用户处理的数据以记录的方式存储于表中;表又可由数据库统一管理。VFP中数据库的概念不同FoxBASE或FoxPro,在VFP中数据库是一个逻辑上的概念,通过一组系统文件将相互关联的数据表及其数据库对象组织起来,成为扩展名为.dbc的数据库文件、扩展名为.dct的数据库备注文件和扩展名为.dcx的数据库索引文件,三个文件一般不能直接使用,而是交由VFP数据库统一管理。VFP把.dbf文件称为“数据表”,不纳入数据库管理的表称为“自由表”。开发时可以把数据表添加到数据库中成为数据表,也可以把数据表从数据库中移出成为自由表。数据是应用程序的操作对象,程序说到底可以看成对数据流的控制。因此若要创建高效的应用程序,必须首先分析数据需求,确定建立数据库的目的,然后设计相应的数据库、表和索引,以满足这些需求。在VFP中,可以使用数据库组织和建立表与视图间的关系。数据库不但提供了存储数据的结构,而且还有很多其他的好处。在使用数据库时,可以在表一级进行功能扩展,例如创建字段级规则和记录级规则、设置默认字段值和触发器等,还可以创建存储过程和表之间的永久关系。在这里要注意的是,“数据库”和“表”不是同义词。“数据库”(.dbc文件)指的是关联的数据库,它是一个或多个表(.dbf文件)或视图信息的容器。通过将信息拆分入表,来增加数据库的灵活性。2.4 表单简介Visual FoxPro 是Windows系统平台上的信息管理系统开发工具,为了便于构造应用程序窗口,提供了表单设计器。表单(Form)类似于进行Windows操作时的应用程序窗口,提供了程序与用户间交互的界面。在Visual FoxPro应用程序中,表单为数据库信息的显示、输入和编辑提供了非常方便的方法。表单是一种容器,它包容其他相类似的Visual FoxPro基类。例如,一个表单类中可以包含一组控件类,可以将这些控件作为一个整体利用表单来进行操作。一般可以使用表单设计器的表单控件工具栏在表单上绘制在Visual FoxPro中所包括的例如复选框、文本框、标签、线条、图像、形状等控件。利用这些控件,可以在表单上显示数据,执行操作,从而可以简化编程。另一方面,表单又是一个或多个页面的集合,它类似标准窗口或对话框。基于现在开发工具的先进性,对于表单的设计可以采用表单生成器和表单设计器。1. 表单生成器也是进行表单设计的工具,可以利用表单生成器来设计表单,就像用表单向导来设计表单一样。使用表单生成器是向表单中添加字段的一种快捷方法,如果在表单中已有了字段,可以按已有字段的样式向表单添加字段,也可以为要加进表单的字段选择不同的数据源。这样可以很方便地把其他表或视图中的字段加进表单中。但是用表单生成器来设计的表单一般很难满足用户的要求,用户不得不借助于表单设计器来修改表单。2. 虽然有很多种方法来设计表单,但是用表单设计器来进行表单设计是最明智的选择。表单设计器提供进行表单设计的最强方式,在表单设计器中可以尽量发挥智慧,设计出最具有个性的表单,为用户的应用程序添加光彩。该学生综合素质管理系统便是使用表单设计器来设计界面的,这样更加美观,实用,符合自己个人的要求。在使用表单设计器设计表单时,主要运用到了:向表单添加控件对象和类,以及设置各控件对象的属性并在对象的事件中编写程序代码。在Visual FoxPro中表单是一个可处理的对象,它有自己的属性、事件和方法。通过设置表单的属性,响应表单的事件,执行表单的代码,就可以完成较强功能的应用程序设计。总之,表单是应用程序设计的核心。第3章 系统总体设计在系统总体设计中,主要介绍了该系统的设计思想,以及系统的各个组成模块和各个模块的基本功能,同时对各个模块之间的关系也做了一些简要的介绍,并介绍各个表的建立与表之间的联系。3.1 系统设计思想在制作系统之前首先应该考虑系统的内容,包括系统的功能和用户的需求,整个设计都应该围绕这些方面来进行。然后根据需求分析规划系统的主要功能和模块,例如系统的结构、模块的设置、系统的风格、颜色搭配、界面布局、文字图片的运用等等,这一步骤是系统设计中的关键。具体实现过程中可以根据需要灵活运用多种制作工具软件,按照先大后小、先简单后复杂的原则进行制作。所谓先大后小,就是在制作系统时,先把大的结构设计好,然后再逐步完善小的结构设计。所谓先简单后复杂,就是先设计出简单的内容,然后再设计复杂的内容,以便出现问题时容易修改。资料收集学生信息表设计学科成绩表设计奖惩信息表设计系统界面设计数据表设计系统代码编写编译可执行文件图3-1 系统总体设计框图本系统利用项目管理器把使用的所有文件有效地组织和管理起来,这些文件包括表单、数据库、表、报表、标签、查询、菜单等不同类型的文件。建立好一个项目,在以后的制作过程中再把所有零散的成分都纳入此项目。项目管理器是整个应用系统的大管家和承载平台,软件开发者随时可以把制作过程中的成品或半成品交付其管理。通过“项目”获取要制作或要修改的各个制作成分,这些成分是以不同类型的文件体现的。项目管理器能把开发人员交付的文件管理得井井有条,一目了然。对于系统中的各个界面,是通过一个个“表单”来体现的,最开始的表单应通过设计的主标题明确制作的是什么系统,通过副标题明确该系统的设计单位或设计人。“表单”是项目中的一项,借此能完善可视化窗体设计。依次运行一个个表单就展示了应用界面的全貌。有了表单就有了承载不同控件的平台,就好比画家有了可展现才华的宣纸,设计者可以根据自己的慧眼,制作独具特色的应用系统。本系统还采用了模块化设计思想,大大提高了设计的效率,在设计工作中要确定整个系统的功能模块以及数据库的结构。3.2 系统模块设计按照系统开发的基本观点对系统进行设计。本系统是一个对学生综合素质进行管理的系统,除了一般学生管理系统的基本功能要具备外,还有一些不同的地方。比如与一般的学生管理系统相比,本系统增加了对学生奖罚情况的考虑,目的是为了更好的综合的去看一个学生。在本系统的设计中,从系统主界面便可看到该系统具有的模块,界面清晰美观,使得第一次使用该系统的用户便能很方便的操作,快速地找到需要的功能模块,完成必要的操作。为防止不必要的麻烦,该系统设有密码,增强了系统的安全性。在系统分析的基础上,结合操作上的方便性,学生综合素质管理系统应用程序包括系统主界面和添加、查询几大功能模块,该系统考虑将整个系统分解成如图3-2系统模块结构图:主界面登记学生信息登记奖励记录查询学生信息查询学科成绩查询奖励记录退出系统登记学科成绩修改密码图3-2 系统模块结构图并且在系统的开发过程中,尽量注意模块的高内聚、低耦合,提高系统整体性能。系统主模块提供了学生综合素质管理的主界面,作为进入系统的唯一出入口。在系统主界面中,不仅提供了用于调用系统各功能模块的操作方法,而且还需要对使用系统的用户进行合法性检验等操作。学校每年要添加新生记录,所以添加模块必不可少,在这里主要添加的是学生信息,学生的学科成绩以及奖励记录这些部分,为防止数据丢失或有错误,在这部分考虑到对数据进行备份。查询学生信息,学科成绩和奖励记录这几个部分提供了用于对数据进行查询操作的操作界面,用户根据查询目标选择相应的查询对象,如学生的基本信息、学生的学科成绩、奖罚记录,然后指定相应的查询依据,查询相关的数据信息。3.3 系统数据库设计数据库是一种存储数据并对数据进行操作的工具,数据库的作用在于组织和表达信息。进行数据库的设计之前,往往要在需求分析的基础上,设计出能够满足用户针对学生综合素质管理需要的各种实体以及它们之间的关系,为数据库的逻辑结构和无力结构设计打下基础。数据库分为非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。在该系统中,运用到的就是关系数据库。 综合考虑现代教学部门特别是中小学院校的实际情况,学生综合管理系统通常包括学生基本信息管理、学科管理、奖罚管理等。设计学生综合管理系统的目的就是利用计算机的快速查询和添加功能,替代管理人员对数据的手工处理。特别是这个系统不仅从学生的学科成绩来考虑,还考虑到学生的综合素质。创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。根据学校的教务人员提供的学生综合素质管理的信息,在这个系统中,需要学生基本信息、学生的学科成绩、学生奖罚记录。对于学生基本信息,需要收集学生的学号、姓名、性别、民族、专业、系别;对于学生学科成绩,需要收集学生的学号、科目、成绩,学期这些字段;学生奖罚记录,需要收集包括学号、奖罚成绩、奖罚原因、奖罚日期。查询学生基本信息,可由学号、姓名、民族、专业、系别来对学生基本情况表进行筛选。在该系统中,其主关键字段就是学生的学号。数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的记录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么,以及在数据库中如何与其它的库建立关系。表3-1 奖罚明细表字段名类型宽度小数位数学号字符型7奖罚日期日期型8奖罚原因字符型8序号数值型50这张表的字段有学号、奖罚日期、奖罚原因、序号,与奖罚目录表连接起来,可以明显的看出是哪个学生,因为什么事情奖罚,奖罚的日期是多少号,以及该件事情的奖罚成绩,并用序号标明。表3-2 课程情况表字段名类型宽度小数位数学号字符型7学科字符型18成绩数值型51学期字符型2依据这张表可以简单明了的看出学生的学号,学科是哪一门,该门学科的成绩,以及是具体哪个学期的成绩。表3-3 学生基本情况表字段名类型宽度学号字符型7姓名字符型8性别字符型2民族字符型4专业字符型18系别字符型18既然称其为基本情况表,根据这张表,可以了解到学生很基本的信息,比如学号、姓名、性别、民族、所学专业以及该学生所在的系别。这些表的调用和联系可以在界面的按钮事件中,利用编写代码的方式来实现。比如:use 学生基本情况表.dbf locate for 学号=thisform.text1.value if eof() append blank调用学生基本情况表,令其按顺序搜索表从而找到满足学号等于文本框1的值的第一个记录,如果记录指针指向文件尾。repl 学号 with thisform.text1.value repl 姓名 with thisform.text2.valuerepl 性别 with alltrim(bo2.value) repl 民族 with alltrim(bo1.value) repl 专业 with alltrim(bo3.value) repl 系别 with alltrim(bo4.value)这段代码实现用学号、姓名、性别、名族、专业、系别字段里的内容来代替文本框1、文本框2、组合框2、组合框1、组合框3、组合框4的值。第4章 系统主要功能设计在一个系统的设计过程中,系统的主要功能模块设计是一个很重要的环节,这其中主要是对系统中的重要模块的实现过程进行描述。在这个学生综合素质管理系统中,主要有登陆与主界面模块的设计,添加模块和查询模块这几个功能模块。4.1 登录与主界面模块设计这部分主要包括登录模块和主界面模块设计。对一个系统来说,用户登录模块是必须的,为了保证系统的安全运行,只有知道系统密码的用户后才能实现信息的添加,信息查询等操作。在登录界面中的文本框内输入密码,如果密码正确,则出现主界面:图4-1 系统主界面图整个学生综合素质管理系统采用蓝色做底色,通过“标签”按钮在最醒目的位置写出主标题“学生综合素质管理系统”,让人清楚的看到这个系统的名称,在左下角有副标题为“学生综合素质管理系统 V1.0”。并将原本做上角的表单标题“Form1”改为“学生综合素质管理系统”。在这个主界面上可以明显看出本系统有那些功能,简明,清晰。在界面上添加了一副图片,不至于让主界面看起来太空洞,但也没有添加很花俏的图片,给人感觉干净,颜色搭配协调。整个系统主界面给人的感觉是简洁大方,整体结构布局合理,点击各个按钮用户便可进入自己要的功能模块,又能方便地返回,整体色调适宜而统一的,有鲜明的个性,让使用者感觉非常舒服。登陆界面中的接受输入口令的文本框,需要设置“PasswordChar”属性为“*”,有了此设置,系统接受用户输入时会以“*”作为掩码显示,从而真正的密码不会被旁观者看到。该系统的密码登录主要是用“口令字表”完成用户口令的确定,并使用系统提供的MessageBox函数显示登录成功与否的提示,具体实现方式是通过编写“确定”按钮的Click事件代码实现的。use tjkrepl all 当前用户 with .f.locate for thisform.text1.value=该段代码主要是利用口令字表,接着置所有“当前用户”值为.f.,也就是设置当前只有一个用户,然后在口令字表中查找与文本框一致的口令密码。if found()replace 当前用户 with .t.thisform.release如果能找到则继续操作,置与口令字对应的“当前用户”为.t.,并释放当前的口令字表,进入主界面表单。在这里要说明的是,主界面表单需要建好后才可以使用。Elsethisform.text1.passwordchar=thisform.text1.value=密码错误=inkey(2)如果不成立,去除掩码“*”,以便显示出汉字,相应地在文本框显示出“密码错误”,等待2秒钟的时间,以便用户可以看清文本显示。thisform.text1.value=thisform.optiongroup1.value=0thisform.text1.setfocusthisform.text1.passwordchar=*endif接着清除文本框内容,让“确认”按钮弹起,并且光标定位在文本框,重新置掩码“*”,最后结束命令,关闭口令字表。有了对当前用户的确认(口令字表中“当前用户”字段为.t.),对有访问权限限定的某个或某些表单(如数据录入表单),在用户调用表单前,就可知道当前用户的访问权限或是否为录入员,以决定是否允许访问表单,或仅允许以“只读”方式访问。系统可依据口令字表的信息给出提示,或作出限制。“退出”按钮的Click事件代码为:CLOSE DATABASES ALL关闭所有的数据表THISFORM.RELEASERELEASE ALL clea eventsTHISFORM.RELEASE这句命令的含义是释放当前表单。完善的应用系统要允许用户在他认为必要时修改自己的口令。修改口令字段是进入系统后的任选操作,一般需在适当的页面提供一个“修改密码”的按钮,通过这个按钮调用相应的表单。修改密码可能出现四种情况:第一种情况:两次输入的新密码不一致,应提示用户重新输入;第二种情况:两次输入的新密码一致,但是旧密码输入错误,重新输入;第三种情况:两次新密码一致,且旧密码输入正确,修改有效,保存新密码(替换旧密码);第四种情况:用户自动放弃修改,仍旧使用旧密码。和系统登录一样,密码修改也是用“口令字表”完成用户口令的修改,并使用系统提供的MessageBox函数现实登录成功与否的提示,messagebox()是用来显示提示窗口用的,它有两个参数第一个是显示提示内容,第二个是显示窗口的标题,具体实现方式是通过编写“确定修改”按钮的Click事件代码实现的。use tjk.dbf key22=key1 使用口令字表表,使变量key22的值等于口令字表中kye1的值,也就是之前所设密码的值。useif thisform.text3.value=key22 if thisform.text1.value=thisform.text2.value 这两句是说,如果文本框3的值等于变量key22的值,并且如果文本框1的值等于文本框2的值,那么继续以下部分。 use tjk.dbf repl key1 with thisform.text1.value messagebox(修改完毕!,提示窗口) thisform.release 使用tjk表,用key1来代替文本框1的值,即第三种情况弹出提示窗口,窗口里显示修改完毕!最后释放该窗体。else messagebox(两次输入密码不等!请检查!,提示窗口) endif if语句是条件判断语句,if后面的条件成立就执行条件后面的语句,如果不成立就执行else后面的语句 endif为if语句的结束语句else messagebox(旧密码错误!请检查!,提示窗口) thisform.text3.setfocus &文本框3得到焦点,焦点就是鼠标光标所在的位置endif 若两次输入的密码不一样,则是第一种情况,便会弹出提示窗口,窗口里显示“两次输入密码不等!请检查”。遇到第二种情况,即旧密码错误,则弹出提示窗口,显示“旧密码错误!请检查”。在最后,if语句结束先判断原密码是否正确,然后再进行修改。代码中出现的“thisform.text3.setfocus”是指,文本框3得到焦点,焦点就是鼠标光标所在的位置。在整段程序代码中,可以看到主要的判断是以if语句实现的,if是条件判断语句,if后面的条件成立就执行条件后面的语句,如果不成立就执行else后面的语句,endif为if语句的结束语句。系统的主界面,是整个系统的门户,主界面的风格,是系统风格的总体体现,对系统的推广和发展起着重要的作用。系统的主界面应该是一个信息含量较高,内容较清晰的直观平台既可以展现自己,又可以让用户使用方便。本系统的主界面结构清晰、内容丰富,达到了很好的学生综合素质管理作用。4.2 添加模块的设计与实现信息的添加对一个系统来说是必不可少的一部分,可以利用添加模块添加学生的基本信息,他们的学科成绩以及该系统最具特色的学生的奖罚情况。以添加学生基本情况为例,每所学校在每个学期都会有新生进入,必定需要添加新生记录,一般来说主要添加的是学生的学号、姓名、名族、专业等相关信息,方便用户了解学生的基本情况。添加模块界面包括的控件有标签、文本框、组合框、命令按钮。功能是提示用户输入学生的详细信息和备份已经输入的学生信息、学科成绩和奖罚情况,在此我们以登记学生基本信息为例进行详细讲述。图4-2 登记学生基本信息界面图第一步将所需的控件放到表单的相应位置,方法:首先在“表单控件”工具栏先选中所需的控件图件,然后在表单的恰当位置上单击鼠标并拖动鼠标,即可把由所选取的控件生成的对象添加到表单上,此时,在属性窗口里显示了该控件对象的所有属性、事件。第二步双击相应的控件,在控件的相应过程中编写程序。if this.listcount=1for i=1 to this.listcountthis.removelistitem(i)endforendifendif程序段的作用是判断组合框中是否有列表项;endfor的作用是将现有的列表框全部移除;涉及组合框的两个重要属性:listcount统计组合框的成员个数;removelistitem(i)移除组合框的第i个成员。do while .not. eof()this.additem(民族)skipenddo程序段的作用是将民族库(mzk.dbf)中的所有记录添加到组合框中,使用的一个重要属性是additem(字符串)。+ 按钮的作用是进行字典维护,如果在录入的过程中遇到一个少数民族在组合框中没有,开发者便可以点按此按钮进行民族库的维护,可以增加民族也可修改民族等。图4-3 字典维护表图此按钮的click过程如下:use mzk.dbfdele for 民族= packappend blankusekm=mzk.dbfdo form 词典维护.scx此段代码主要意义是,使用民族库,从备注文件中删除为使用控件,但不从表中删除标有删除标记的记录,使km=mzk.dbf,最后运行词典维护。添加学生基本信息放进库中,并继续录入的过程的实现,是通过编写“添加入库并继续录入”按钮的click事件。现对该段代码进行讲述:locate for 学号=thisform.text1.value if eof() 按顺序搜索表从而找到满足学号等于文本框1的值的第一个记录,如果记录指针指向文件尾。append blankrepl 学号 with thisform.text1.value repl 姓名 with thisform.text2.value 用学号、姓名字段里的内容来代替文本框1、文本框2的值。repl 性别 with alltrim(bo2.value) 用性别字段里的内容来代替组合框2的值。repl 民族 with alltrim(bo1.value) 用民族字段里的内容来代替组合框1的值。repl 专业 with alltrim(bo3.value) 用专业字段里的内容来代替组合框3的值。repl 系别 with alltrim(bo4.value) 用系别字段里的内容来代替组合框4的值,代替组合框与代替文本框不同,编写代码的时候需要注意。usethisform.text1.value= thisform.text2.value= bo1.value= bo2.value= bo3.value= bo4.value= 这些代码是设置文本框1、文本框2、组合框1、组合框2、组合框3、组合框4的值为空。messagebox(已入库,点继续录入学生基本情况!,继续录入) thisform.text1.setfocuselsemessagebox(该学号已经存在,请检查学号!,提示) endifelsemessagebox(学号/姓名不能为空!,确认窗口) endif 首先判断学号栏与姓名栏是否为空,如果不为空,则到库中寻找有没有该学号的学生,如果没有,则新增记录,如有则提示用户该学生已存在,如果学号/姓名栏为空,则提示用户学号/姓名不能为空。其中判断学号栏与姓名栏是否为空,用的是函数len(),寻找某学号的学生,用的是locate for语句。提示信息用的是函数messagebox()。如果添加到最后一个学生的基本信息,不需要再添加的时候,用户可以点击“添加入库后返回”按钮即可,其实现方式也是通过编写该按钮的的click过程。为防止数据有错,或者其他不必要的情况出现,添加数据的同时,设置有备份功能。 VFP数据库文件的备份形式一般有两种:一种是以记录格式,即以VFP表格(.dbf)形式进行存储,这种方法的优点是表的数据被按照原样进行备份,备注字段、通用字段等特殊字段不必进行特殊处理即可很容易地进行数据备份和数据恢复,缺点是记录格式一旦丢失,将造成记录无法恢复。另一种是将记录以文本格式进行备份,优点是文本数据比较稳定,不容易被破坏,缺点是备注字段、通用字段等特殊字段需要进行特殊处理,不容易实现自动备份和恢复。常用的数据库主要有两种:即小型数据库和大型数据库,在此只对小型数据库进行介绍。小型数据库是指库文件容量不超过一张普通磁盘存储容量的数据库,对这种数据库,有一下两种方式备份。在该系统中用的就是其中一种备份方式,其备份按钮的click过程如下:close alluse 学生基本情况表.dbfcopy to 备份+学生基本情况表+dtoc(date(),1)+.dbfthisform.label30.caption=备份完毕!copy to 备份 +学生基本情况表+dtoc(date(),1)+.dbf作用是拷贝一份放在过程备份目录下并取名为:学生基本情况表.dbf, thisform.label30.caption=备份完毕!的作用是提示备份完毕。添加模块的实现,让录入学生基本信息的操作人员可以轻松方便的录入新生的基本信息,以及学生的各个学期的学科成绩,最主要的还考虑到学生的奖罚情况,考虑全面,且操作简单。4.3 查询模块的设计与实现查询是系统的最基本而又很重要的一个功能,能让用户方便快捷、多角度地得知想查找的信息。本系统中共设有学生基本信息查询、学科成绩查询和学生奖罚情况查询的功能。下面以学生基本信息查询为例,看看如何实现查询表单的设计。图4-4 字典维护表图界面包括的控件有单选按钮、文本框、命令按钮、表格,功能是按不同的选项查询学生基本信息,该系统是对于预先指定数据表的任意条件查询。表单预先设定的数据表是学生基本情况表.dbf,在表单上左上角显示的对应字段中,选择用户的查询条件后,单击“文本框”,用户在这里可以修改查询表达式的值。如果表达式正确,用户可以单击“查询”按钮,就可以查看数据表中符合条件的内容。先将各控件放到表单上,然后对其进行属性设置。设置ButtonCount属性为5,这是设置单选的项数。表格控件的属性则设置ReadOnly设置为.F.,这是设置只读方式,设置数据源RecordSource为学生基本情况表,最后设置打开方式RecordSourceType为0_表。最后设置相应的代码,在此讲述查询学号实现的代码,另外的姓名、名族、专业、系别字段的查询基本相同。if thisform.optiongroup1.value=1 set filt to 学号=alltrim(thisform.text1.value) thisform.grid1.setfocusendif这段代码实现的是,如果单选按钮的值为1,即选了“学号”字段,则查找“学号”为文本框中的值的记录,让表格控件得到焦点。endif该段代码主要是应用set filt to 对数据进行筛选,通过判断optiongroup1.value的值来确定用户选择的是哪一个单选按钮。设计一个查询文件的时候,通常有多种情况,在该系统中主要用到的是单个表的简单查询和连接多个表格进行的复杂查询。(1)单个表的简单查询:由于是单表查询,所以无联接关系。只需在代码中调用要查询的表,然后对其进行查询就可以了。(2)连接多个表格进行查询:首先要明确各表之间的关系,此数据库中的四个基本数据库表之间有不同的关系。如果在建立数据库表时已经建立了上述关系,在加入查询时它们相互之间的关系默认为与原来数据库表之间的关联相同。如果在建立此数据库时,各表之间并没有定义任何连接,也可以在生成查询文件时建立连接,因为要查询的是各表之间匹配的记录,所以在为各表建立连接时都要为内部连接。如果想修改各表之间的连接,双击查询设计器上部窗口表之间的连线,系统将弹出一【连接条件】对话框;或者打开查询设计器下部的【联接】选项卡,进行修改即可。一般不应随便更改连接条件,不然会与世纪数据间的关系不符。其次要确定输出字段,输出字段决定于要查询的内容。比如我们要查询学生的成绩,则在选定字段中必须有学生的学号、姓名、学科、成绩、学期等。建立连接和加入字段后,数据库设计器如图:图4-5 查询数据源图接着,需要根据条件确定筛选依据。在【字段名】列表框内选择【表达式】选项,系统弹出一个【表达式生成器】对话框。打开【字符串】下拉列表框选择函数ALLTRIM(expC),然后在【字段】列表框内双击order_id选项。单击【确定】按钮关闭【表达式生成器】对话框。在【条件】列表框内选择=选项,有所要查询的条件可知,两个筛选依据之间为“与(AND)”的关系,所以在第一个筛选依据后的【逻辑】下拉列表框内选择AND选项。最后讲输出结果按一定顺序排序输出即可。打开【排序依据】选项卡,用鼠标左键将【选定字段】列表框内的表达式拖入到【排序条件】列表框中,然后选中【排序选项】栏内的【升序】单选钮,至此,整个查询设计工作已经完成。通过查询功能,用户可以方便快捷的查找到自己所需要的信息,比如已知一个学生的序号,需要知道其他的相关信息,我们就可以通过该学号来查询,可以查找到学生的姓名、性别、年龄、专业、学科成绩以及该学生的奖罚情况,省去了从前纸张查找的麻烦。第5章 总结与展望该系统的功能基本符合学校管理学生档案的需求,能够完成学生基本情况、学生学科成绩、学生奖罚记录等信息的输入、查询。并提供部分系统维护功能。同时也考虑到了单位编码以减少数据冗余的问题,对于数据的一致性的问题也通过程序进行了有效的解决。整体总结有如下优点:1. 在系统设计时,采用了模块化设计,把界面中的一些常用的部分集成为模块,例如系统的登录模块和主界面模块,对于添加学生基本情况、奖罚情况等这些都属于添加模块,查询学生基本情况、学科成绩、奖罚情况这几部分归在查询模块中,在界面上将其展示显示,方便用户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论