VFP课程设计--学生管理系统课程设计说明书
VFP课程设计说明书

学生管理系统课程设计说明书B10080229 艾鹏威第一章数据库系统的概述一、选题的意义通过开发学生管理系统的过程,使学生们在掌握了如何在项目中创建和管理数据库、表、程序、表单和菜单等各类应用程序对象之后,可以进行数据库的综合应用系统的开发。
VFP数据库应用系统的开发是一个系统复杂的过程,我们以学生管理系统课程设计进行简要说明一下。
数据库系统(database systems),是由数据库及其管理软件组成的系统。
它是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。
它是一个实际可运行的存储、维护和向应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。
数据库研究跨越于计算机应用、系统软件和理论三个领域,其中应用促进新系统的研制开发,新系统带来新的理论研究,而理论研究又对前两个领域起着指导作用。
数据库系统的出现是计算机应用的一个里程碑,它使得计算机应用从以科学计算为主转向以数据处理为主,并从而使计算机得以在各行各业乃至家庭普遍使用。
二、现状分析1、能够保证数据的独立性。
数据和程序相互独立有利于加快软件开发速度,节省开发费用。
2、冗余数据少,数据共享程度高。
3、系统的用户接口简单,用户容易掌握,使用方便。
4、能够确保系统运行可靠,出现故障时能迅速排除;能够保护数据不受非受权者访问或破坏;能够防止错误数据的产生,一旦产生也能及时发现。
5、有重新组织数据的能力,能改变数据的存储结构或数据存储位置,以适应用户操作特性的变化,改善由于频繁插入、删除操作造成的数据组织零乱和时空性能变坏的状况。
6、具有可修改性和可扩充性。
7、能够充分描述数据间的内在联系。
三、系统分析在它之前的文件系统虽然也能处理持久数据,但是文件系统不提供对任意部分数据的快速访问,而这对数据量不断增大的应用来说是至关重要的。
为了实现对任意部分数据的快速访问,就要研究许多优化技术。
这些优化技术往往很复杂,是普通用户难以实现的,所以就由系统软件(数据库管理系统)来完成,而提供给用户的是简单易用的数据库语言。
vfp信息管理系统课程设计

vfp信息管理系统课程设计一、课程目标知识目标:1. 学生能理解VFP(Visual FoxPro)信息管理系统的基本概念,掌握其功能特点;2. 学生能掌握VFP中的数据库设计、表单设计、查询与报表设计等基本操作;3. 学生能运用VFP编程语言实现简单信息管理系统的功能。
技能目标:1. 学生具备使用VFP创建数据库、设计表单、进行数据处理的能力;2. 学生能运用VFP编写程序,实现数据查询、统计与分析;3. 学生具备利用VFP解决实际信息管理问题的能力。
情感态度价值观目标:1. 学生通过学习VFP信息管理系统,培养对信息技术的兴趣和爱好;2. 学生在学习过程中,培养合作、探究、创新的精神,提高解决问题的能力;3. 学生通过课程学习,认识到信息技术在现代社会中的重要作用,增强信息素养。
课程性质:本课程为信息技术课程,旨在使学生掌握VFP信息管理系统的基本知识和技能,培养实际应用能力。
学生特点:学生处于高年级阶段,已具备一定的计算机操作能力和编程基础,对信息管理系统有一定了解。
教学要求:结合学生特点,注重实践操作,强调理论知识与实际应用相结合,提高学生的动手能力和创新能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. VFP基础知识:介绍VFP的发展历程、特点及应用领域,使学生了解VFP 在信息管理系统中的重要性。
教材章节:第一章 VFP概述2. 数据库设计:讲解数据库的基本概念、设计原则,学习创建数据库、表、索引等操作。
教材章节:第二章 数据库设计3. 表单设计:学习表单的创建、修改、布局设计,掌握常用控件的使用。
教材章节:第三章 表单设计4. 查询与报表设计:介绍查询、视图、报表的基本概念,学习创建查询、报表的方法。
教材章节:第四章 查询与报表设计5. 程序设计:讲解VFP编程基础,学习编写简单程序,实现数据处理功能。
教材章节:第五章 程序设计6. 综合应用:结合实际案例,指导学生运用所学知识设计简单的信息管理系统。
vfp学生管理系统课程设计

vfp学生管理系统课程设计一、教学目标本课程的教学目标是使学生掌握VFP学生管理系统的基本概念、设计方法和实现技巧。
通过本课程的学习,学生将能够:1.知识目标:理解VFP学生管理系统的架构和功能,掌握数据库设计的基本原则,了解VFP编程语言的基本语法。
2.技能目标:能够使用VFP工具进行数据库设计和操作,能够编写VFP程序实现学生管理系统的功能。
3.情感态度价值观目标:培养学生对计算机科学的兴趣,提高学生解决实际问题的能力,培养学生的团队合作精神和创新意识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.VFP学生管理系统的基本概念:介绍VFP学生管理系统的定义、功能和应用场景。
2.数据库设计:讲解数据库设计的基本原则,介绍关系型数据库的概念,演示如何使用VFP工具进行数据库设计和操作。
3.VFP编程语言:介绍VFP编程语言的基本语法,讲解如何使用VFP实现学生管理系统的功能。
4.学生管理系统的实现:通过案例分析,讲解如何使用VFP工具和编程语言实现学生管理系统的各个功能模块。
三、教学方法为了达到本课程的教学目标,将采用以下几种教学方法:1.讲授法:用于讲解VFP学生管理系统的基本概念、数据库设计原则和VFP编程语言的基本语法。
2.案例分析法:通过分析实际案例,让学生了解如何使用VFP工具和编程语言实现学生管理系统的功能。
3.实验法:安排实验课,让学生动手操作,实际操作VFP工具进行数据库设计和编程。
4.讨论法:学生进行小组讨论,分享学习心得,互相答疑解惑。
四、教学资源为了支持本课程的教学内容和教学方法的实施,将准备以下教学资源:1.教材:选用《VFP程序设计》作为主教材,为学生提供系统的VFP知识体系。
2.参考书:推荐《VFP数据库应用实例》等参考书籍,为学生提供实际操作案例。
3.多媒体资料:制作PPT课件,为学生提供直观的学习资料。
4.实验设备:准备计算机实验室,为学生提供动手实践的机会。
vfp课程设计书

vfp课程设计书一、教学目标本节课的教学目标是让学生掌握 VFP 编程语言的基本语法和流程控制语句,能够编写简单的 VFP 程序。
具体包括以下三个方面的目标:1.知识目标:让学生了解 VFP 编程语言的历史和发展,掌握 VFP 的基本语法和数据类型,熟悉 VFP 的流程控制语句。
2.技能目标:培养学生使用 VFP 编程语言解决实际问题的能力,能够编写简单的 VFP 程序。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和好奇心,提高学生分析问题和解决问题的能力。
二、教学内容本节课的教学内容主要包括以下几个部分:1.VFP 编程语言的基本语法和数据类型。
2.VFP 的流程控制语句,包括条件语句和循环语句。
3.利用 VFP 编程语言解决实际问题,编写简单的 VFP 程序。
三、教学方法为了达到本节课的教学目标,我们将采用以下几种教学方法:1.讲授法:讲解 VFP 编程语言的基本语法和数据类型,以及流程控制语句的用法。
2.讨论法:引导学生进行小组讨论,共同解决问题。
3.案例分析法:通过分析实际案例,让学生学会如何利用 VFP 编程语言解决实际问题。
4.实验法:让学生动手编写 VFP 程序,巩固所学知识。
四、教学资源为了支持本节课的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《VFP 编程基础》。
2.参考书:《VFP 编程实例教程》。
3.多媒体资料:VFP 编程语言的演示视频。
4.实验设备:计算机和网络设备。
通过以上教学资源的支持,我们将努力提高学生的学习体验,达到本节课的教学目标。
五、教学评估本节课的教学评估将采用多元化的评估方式,以全面、客观、公正地评价学生的学习成果。
评估方式包括以下几个方面:1.平时表现:通过观察学生在课堂上的参与程度、提问回答、小组讨论等表现,评估学生的学习态度和积极性。
2.作业:布置相关的编程练习题,评估学生对 VFP 编程语言基本语法和流程控制语句的掌握程度。
学生信息管理系统VFP课程设计

目录2系统技术及运行环境............................................................2.1VisualFoxpro6.0简介.....................................................2.2系统开发及运行环境...................................................... 3系统分析......................................................................3.1需求分析................................................................3.2可行性分析.............................................................. 4总体设计......................................................................4.1设计目标................................................................4.2项目规划................................................................4.3系统功能图.............................................................. 5系统详细设计..................................................................5.1数据库设计..............................................................5.2登陆界面设计............................................................5.3学生信息录入............................................................5.4学生信息修改............................................................5.5学生信息查询............................................................5.6系管理表单设计..........................................................5.7班级管理................................................................5.8学生成绩录入............................................................5.9修改学生成绩............................................................5.10学生成绩查询...........................................................5.11用户管理...............................................................5.12修改用户密码...........................................................5.13关于系统............................................................... 6结论.......................................................................... 致谢........................................................................... 参考文献.......................................................................1引言学生信息管理系统(StudentInformationManagementSystem),以下简称SIMS,是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(ManagementInformationSystem)。
vfp课程设计用户管理系统

vfp课程设计用户管理系统一、教学目标本节课的教学目标是使学生掌握VFP课程设计用户管理系统的基本知识和技能,能够运用VFP语言进行简单的用户管理系统的开发。
知识目标:使学生了解用户管理系统的基本概念,掌握VFP语言的基本语法和操作方法。
技能目标:使学生能够使用VFP语言进行简单的用户管理系统的开发,包括用户注册、登录、信息管理等功能。
情感态度价值观目标:培养学生对计算机编程的兴趣和热情,增强学生的创新意识和实践能力。
二、教学内容本节课的教学内容主要包括VFP语言的基本语法和操作方法,以及用户管理系统的基本设计和开发流程。
1.VFP语言的基本语法和操作方法:包括数据类型、变量、常量、运算符、控制语句等基本概念和用法。
2.用户管理系统的基本设计和开发流程:包括需求分析、系统设计、编码实现、测试和维护等环节。
三、教学方法本节课采用讲授法、案例分析法和实验法相结合的教学方法。
1.讲授法:通过讲解VFP语言的基本语法和操作方法,使学生掌握基本概念和用法。
2.案例分析法:通过分析实际的用户管理系统的案例,使学生了解用户管理系统的设计和开发流程。
3.实验法:通过实际操作VFP语言进行用户管理系统的开发,使学生掌握编程技巧和方法。
四、教学资源本节课的教学资源主要包括教材、参考书、多媒体资料和实验设备。
1.教材:选用正规出版的VFP语言教材,为学生提供系统的学习材料。
2.参考书:提供一些相关的编程参考书籍,为学生提供更多的学习资源。
3.多媒体资料:制作课件和教学视频,为学生提供直观的学习资料。
4.实验设备:提供计算机和相关的实验设备,为学生提供实际操作的机会。
五、教学评估本节课的教学评估方式包括平时表现、作业和考试三个部分,以全面、客观、公正地评估学生的学习成果。
1.平时表现:通过观察学生在课堂上的参与度、提问回答、小组讨论等表现,评估学生的学习态度和理解程度。
2.作业:布置相关的编程作业,评估学生的编程能力和对知识的掌握程度。
学生信息管理系统VFP课程设计[]
![学生信息管理系统VFP课程设计[]](https://img.taocdn.com/s3/m/e0bfb54da45177232f60a2bc.png)
目录1引言 (1)2系统技术及运行环境 (1)2.1 Visual Foxpro 6.0简介 (1)2.2系统开发及运行环境 (1)3 系统分析 (2)3.1需求分析 (2)3.2可行性分析 (2)4总体设计 (2)4.1 设计目标 (2)4.2项目规划 (3)4.3系统功能图 (4)5系统详细设计 (5)5.1数据库设计 (5)5.2登陆界面设计 (6)5.3学生信息录入 (8)5.4 学生信息修改 (9)5.5 学生信息查询 (11)5.6系管理表单设计 (12)5.7班级管理 (15)5.8学生成绩录入 (17)5.9 修改学生成绩 (19)5.10学生成绩查询 (21)5.11用户管理 (22)5.12修改用户密码 (25)5.13关于系统 (26)6 结论 (27)致谢 (28)参考文献 (29)1引言学生信息管理系统(Student Information Management System),以下简称SIMS,是针对学校人事处地大量业务处理工作而开发地管理软件,是典型地管理信息系统(Management Information System).它是一个教育单位不可缺少地部分,它地内容对于学校地决策者和管理者来说都至关重要,它能够为用户提供充足地信息和快捷地查询手段.能有效地帮助学校和老师掌握学生地情况,为学生提供成绩跟课程方面地查询.在传统模式下利用人工进行学生信息管理,存在着较多地缺点,如:效率底,保密性差,时间一长将产生大量地文件和数据,更不便于查找,更新,维护等.诸如这些情况,令学校管理者对学生地信息管理带来了很大困难,严重影响了教育工作者地工作效率.随着科学技术地不断提高,计算机科学日渐成熟, 使用日趋成熟地计算机技术来代替传统地人工模式,来实现学生信息地现代化管理,其强大地功能已为人们深刻认识,它已进入人类社会地各个领域并发挥着越来越重要地作用.作为计算机应用地一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟地优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等.这些优点能够极大地提高学生信息管理地效率,也是学校地科学化、正规化管理,与世界接轨地重要条件.用计算机制作地学生信息管理系统还可以通过功能强大地Internet 网及时地向学生地家长传递该生在校地最新成绩,有助于学校与家长地信息互动,为更好地把握学校地教育方针一定地促进作用!因此,开发这样一套管理软件成为很有必要地事情.2系统技术及运行环境2.1 Visual Foxpro 6.0简介Visual Foxpro 6.0是计算机优秀地数据管理系统软件之一,正如其名称中地“Visual”一样,它采用了可视化地、面向对象地程序设计方法,大大简化了应用系统地开发过程,并提高了应用系统地开发过程,并提高了系统地模块性和紧凑型.是新一代地小型数据库管理系统地杰出代表,它以其强大地性能、完整而又丰富地工具、较高地处理速度、友好地界面以及较完备地兼容性,备受广大用户地欢迎.面前,Visual Foxpro 6.0是用户收集信息、查询数据、创建集成数据库系统、进行应用系统开发较为理想地微机数据库管理系统.2.2系统开发及运行环境该运行环境地规定是保证本需求说明地功能得到实际真正体现地基础.(1)运行环境Windows98或更高版本地操作系统数据库系统:Microsoft Visual Foxpro 6.0(2)开发环境:开发工具:Microsoft Visual Foxpro 6.0数据库系统:Microsoft Visual Foxpro 6.03 系统分析3.1需求分析21世纪以来,人类经济高速发展,人们发生了日新月异地变化,特别是计算机地应用及普及到经济和社会生活地各个领域.使原本地旧地管理方法越来越不适应现在社会地发展.许多人还停留在以前地手工操作.这大大地阻碍了人类经济地发展.为了适应现代社会人们高度强烈地时间观念,学校信息管理系统软件为学校办公室带来了极大地方便.(一)教育系统学生管理现状分析学校工作流程分析学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需地基本数据地维护,包括这些信息地增加、修改及对各项信息地变动都将在这进行操作.新地学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本地信息录入,新生入学后由教务人员在学籍系统中完成新学生信息地维护.(二)学校具体需求分析学生:对各科成绩地查询任课老师:输入并维护所教科目地学生成绩教务处:学校全体成员地信息管理,并对任课老师,班主任等输入地信息进行存库,对学生地信息进行必要地维护.通过研究调查,本系统需以下功能:综合学生信息、学生成绩以及信息查询等信息.方便用户了解和管理学生地全面动态信息.良好地界面设计,更人性化地设计理念,使用户拥有更轻松地使用心情.3.2可行性分析目地:可行性研究地目地是用最小地代价在尽可能地时间内确定问题是否能解决.经济性:由于学校等中小型管理系统并不复杂,且Visual Foxpro 6.0本身要求地运行环境不高,所以一般Windows 2000以上地系统环境都可以使用.实用性:本学生信息管理系统管理系统无太多复杂地操作要求,也没有过分花哨地装饰品,人性化地设计界面可以使操作者轻易运用自如4总体设计4.1 设计目标本系统可以能减少很多不必要地资源,不用象以前那样用冗余地纸张式地管理.大节省了学校能源.并且计算机地存储与快速查询功能大大提高了学籍管理地效率,并且还提高了学籍信息管理地精确度.方便快速地操作,可减少学籍信息管理地漏洞,又减少因工作地冗余出现地错误,并且操作非常简单,可减少许多不很必要地人员,这无论从物质上还是工作人员地工资上都为学校节约了开支.为学校增加了财富.数据库分析用户需求具体有学籍管理系统提供保存、更新、查询、维护,这就需求数据库结构能充分满足各种信息地输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中地数据,它与文件系统地重要区别是数据地充分共享,交叉访问,与应用程序地高度独立性.4.2项目规划学生管理系统是各大中专院校不可缺少地一部分,是一个VF数据库开发应用程序,它主要包括用户登录、学生信息输入修改、学生信息查询以及学生成绩输入、学生成绩查询、系统用户管理等几个页面,因而该系统具有较强地实用性.4.3系统功能图5系统详细设计5.1数据库设计(1)deandma.dbf,见表1表1(2)grade.dbf,见表2表2(3)stduents.dbf,见表3表3(4).dbf,见表4表4 用户信息表5.2登陆界面设计“进入”按钮地click事件添加如下地代码:sele yonghuif allt(thisform.text1.value)==""messagebox(left(allt(bel1.caption),6)+"为空,请输入!",64,"提示")thisform.text1.setfocuselseif allt(thisform.text2.value)==""messagebox("密码为空,请输入!",64,"提示")thisform.text2.setfocuselsen=n+1locate for allt(姓名)=allt(thisform.text1.value);.and. allt(密码)=allt(thisform.text2.value)if found()if thisform.check1.value==1 .and. 标识checked=1thisform.releasedo menu.mprelseif thisform.check1.value==1.and.!标识messagebox("你不是管理员!",48,"警告")thisform.check1.value=0elsechecked=0cyonghu=allt(姓名)cmima=allt(密码)thisform.releasedo menu.mprendifendifelseif n>=3messagebox("你不是合法用户,请与管理员联系!",48,"警告")thisform.releaseclear eventquitelsemessagebox(left(allt(bel1.caption),6)+"或密码错误,请重新输入!",64,"提示")thisform.text1.value=""thisform.text1.setfocusthisform.text2.value=""endifendifendifendif“取消”按钮地click事件添加如下地代码nr=messagebox("你选择了退出登录,是否退出?",68,"用户登录")if nr=6thisform.releasequitendif5.3学生信息录入“增加”按钮地click事件添加如下地代码:if this.caption=="增加"if(bo3.displayvalue=="(选择)").or.(alltrim(thisform.text1.value)=="");.or.(alltrim(thisform.text2.value)=="")messagebox("班级、学号和姓名必须填充!!",64,"提示")elselocate for alltrim(thisform.text1.value)=alltrim(students.学号)if !eof()=messagebox("此学号已经存在,请重新输入!",64,"提示")thisform.text1.value=""thisform.text1.setfocuselsesele studentsappend blankreplace 班级with alltrim(bo3.value),学号with alltrim(thisform.text1.value);姓名with alltrim(thisform.text2.value),出生日期with ctod(alltrim(thisform.text4.value));入学时间with ctod(alltrim(thisform.text6.value)), 籍贯with alltrim(thisform.text7.value);家庭住址with alltrim(thisform.text8.value),身份证号码with alltrim(thisform.text8.value);备注with alltrim(thisform.edit1.value),邮政编码withalltrim(thisform.text3.value)if alltrim(bo4.value)==""replace 性别 with alltrim(bo4.displayvalue)elsereplace 性别 with alltrim(bo4.value)endifif alltrim(bo5.value)==""replace 政治面貌 with alltrim(bo5.displayvalue)elsereplace 政治面貌 with alltrim(bo5.value)endif&& if .not.alltrim(bel17.caption)==""if !pictemp==""wait windows "正在导入相片,请等待!......." at 100,40 timeout 2 nowait&& pictemp=bel17.captionappend general students.照片 from "&pictemp"endifpictemp=""this.caption="继续"endifendifelsemand2.clickthis.caption="增加"endif5.4 学生信息修改“修改”按钮地click事件添加如下地代码:ith thisformsele studentslocate for allt(学号)=allt(.text1.value)if allt(学号)==allt(.text1.value)replace 学号 with allt(.text1.value),姓名 with allt(.text2.value),邮政编码 with allt(.text3.value),;出生日期with .text4.value,入学时间 with .text6.value,籍贯with allt(.text7.value),;家庭住址 with allt(.text8.value),身份证号码 with allt(.text9.value),性别 with allt(.combo4.value),;政治面貌 with allt(.combo5.value),备注 with allt(.edit1.value)if !pictemp==""wait windows "正在导入相片,请等待!......." at 100,40 timeout 2 nowait append general 照片 from "&pictemp"endifendifsele lslocate for allt(学号)=allt(.text1.value)if allt(学号)==allt(students.学号)replace 学号 with students.学号,姓名 with students.姓名,邮政编码with students.邮政编码,;出生日期 with students.出生日期,入学时间 with students.入学时间,籍贯with students.籍贯,;家庭住址 with students.家庭住址,身份证号码 with students.身份证号码,性别 with students.性别,;政治面貌 with students.政治面貌,备注 with students.备注,照片 withstudents.照片endifpictemp=""this.enabled=.f.endwith5.5 学生信息查询“定位查询”按钮地click事件添加如下地代码if allt(thisform.text1.value)==""messagebox("请输入学号或姓名!",64,"提示")thisform.text1.setfocuselsesele stulslocate for allt(学号)=allt(thisform.text1.value);.or.allt(姓名)=allt(thisform.text1.value)if found()go recn()elsewait window at 18,38 nowait '没有找到你要查询地信息!'endifendifthisform.grid1.refreshthisform.refresh“第一个”按钮地click事件添加如下地代码sele stulsskip -1if bof()this.enabled=.f.mand3.enabled=.f.messagebox("已经到第一条记录了!",64,"提示")go topelsego recn()endifmand2.enabled=.t.mand4.enabled=.t.“单个查询”按钮地click事件添加如下地代码nxx=1do form xxxg5.6系管理表单设计“增加”按钮地click事件添加如下地代码set order to tagset safety offif alltrim(thisform.text1.value)==""messagebox("系名为空,请输入!",64,"提示")thisform.text1.setfocuselselocate for deandma.系=alltrim(thisform.text1.value)if .not.eof()messagebox("系名已经存在,请重新输入!",48,"提示")thisform.text1.value=""thisform.text1.setfocuselseappend blankreplace deandma.系 with alltrim(thisform.text1.value)thisform.text1.value=""thisform.text1.setfocusendifthisform.list1.clearthisform.list1.init &&重新显示list列表thisform.list1.value=""endif“删除”按钮地click事件添加如下地代码Set safety offif this.caption=="取消"thisform.text2.value=""thisform.text2.enabled=.f.bel3.enabled=.f.this.caption="删除"mand1.enabled=.t.mand2.caption="修改"elseif alltrim(thisform.text1.value)==""messagebox("缺少完整信息,无法删除!",0+48,"警告")thisform.text1.setfocuselsethisform.list1.value=alltrim(thisform.text1.value)nn=messagebox("是否确定删除此系单位,其所属地专业班级地数据库都将删除!",1+48,"警告")if nn==1t=0use data\deandmago topdo while .not.eof()if alltrim(系)==alltrim(thisform.text1.value)deletepackt=1endifskipenddoif t==0messagebox("将删除地内容不存在,请重新输入.",60,"提示") thisform.text1.setfocusendifendifthisform.text1.value=""thisform.list1.requerythisform.list1.clearthisform.list1.init &&重新显示List列表thisform.text1.value=alltrim(thisform.list1.value) endifendifthisform.refresh5.7班级管理“增加”按钮地click事件添加如下地代码set order to tagset safety offif alltrim(thisform.text1.value)==""messagebox("班级名为空,请输入!",64,"提示")thisform.text1.setfocuselselocate for deandma.班级=alltrim(thisform.text1.value)if .not.eof()messagebox("班级名已经存在,请重新输入!",48,"提示")thisform.text1.value=""thisform.text1.setfocuselselocate for deandma.专业=alltrim(bo2.value)if alltrim(deandma.班级)==""replace deandma.班级 with alltrim(thisform.text1.value)elseappend blankreplace deandma.系 with alltrim(bo1.value)replace deandma.专业 with alltrim(bo2.value)replace deandma.班级 with alltrim(thisform.text1.value)endifthisform.text1.value=""thisform.text1.setfocusendifbo2.click &&重新显示list列表thisform.list1.value=""endif“删除”按钮地click事件添加如下地代码Set safety offif this.caption=="取消"thisform.text2.value=""thisform.text2.enabled=.f.bel5.enabled=.f.this.caption="删除"mand1.enabled=.t.mand2.caption="修改"elseif alltrim(thisform.text1.value)==""=messagebox("缺少完整信息,无法删除!",0+48,"警告")thisform.text1.setfocuselseuse deandma exclusivethisform.list1.value=alltrim(thisform.text1.value)nn=messagebox("是否确定删除此班级,与其相关地数据都将删除!",1+48,"警告")if nn==1t=0locate for alltrim(deandma.班级)=alltrim(thisform.text1.value) deletepackt=1if t==0messagebox("将删除地内容不存在,请重新输入.",64,"提示")thisform.text1.setfocusendifendifthisform.text1.value=""thisform.list1.requerybo2.click &&重新显示List列表thisform.text1.value=alltrim(thisform.list1.value)endifthisform.refresh5.8学生成绩录入“确定”按钮地click事件添加如下地代码xuehao=allt(thisform.text1.value)banji=allt(bo3.value)kecheng=allt(bo4.value)xueqi=allt(bo5.value)chengji=allt(thisform.text2.value)sele gradeif chengji==""tt=messagebox("想输入单科成绩吗?",4+32,"提示")if tt==6thisform.text2.setfocuselseendifelse*locate for allt(学号)=xuehao*if eof()locate for allt(课程)=kechengif allt(学号)=="".and.allt(班级)==banjirepl 学号 with xuehaorepl 成绩 with val(chengji)repl 学期 with xueqi* append blank* repl 学号 with xuehao* repl 班级 with banji* repl 课程 with kecheng* repl 成绩 with val(chengji)* repl 学期 with xueqi*endif*elselocate for allt(学号)=xuehao .and. allt(课程)==kecheng .and. allt(学期)==xueqiif eof()append blankrepl 学号 with xuehaorepl 班级 with banjirepl 课程 with kechengrepl 成绩 with val(chengji)repl 学期 with xueqielsett=messagebox("该科地成绩已存在,是否覆盖?",4+32+256,"提示")if tt==6repl 成绩 with val(chengji)endifendifendifmand2.clickmand3.enabled=.f.endif“查询”按钮地click事件添加如下地代码sele lsif allt(thisform.text3.value)==""messagebox("请输入学号或姓名!",64,"提示")elselocate for 学号=allt(thisform.text3.value).or.姓名=allt(thisform.text3.value)if eof()messagebox("该班级没有此人!!",64,"提示")thisform.text3.value=""thisform.text3.setfocusgo nhereelsethisform.text1.value=学号endifendif5.9 修改学生成绩“快速查询”按钮地click事件添加如下地代码sele lsbjif allt(thisform.text1.value)==""messagebox("请输入学号或姓名!",16,"提示")thisform.text1.setfocuselselocate for 学号=allt(thisform.text1.value).or.姓名=allt(thisform.text1.value)if eof()messagebox("本班级没有此人,请重新输入!",64,"提示")thisform.text1.value=""thisform.text1.setfocuselsexuehao=allt(学号)bel8.caption=姓名bel9.caption=学号bo4.clickendifendif“下一位”按钮地click事件添加如下地代码mand2.enabled=.t.mand4.enabled=.t.if !allt(bo3.value)==""sele lsbjskip 1if eof()this.enabled=.f.mand5.enabled=.f.messagebox("已经到最后一条记录了!",48,"提示") go bottomendifxuehao=allt(学号)bel8.caption=allt(姓名)bel9.caption=allt(学号)5.10学生成绩查询“补考统计”按钮地click事件添加如下地代码if allt(bo3.value)==""messagebox("请选择班级!",64,"提示")elsebkbj=bo3.valuebkxq=bo4.valuedo form bukaoendif“定位查询”按钮地click事件添加如下地代码if allt(thisform.text1.value)==""messagebox("请输入学号或姓名!",64,"提示")thisform.text1.setfocuselselocate for allt(students.学号)=allt(thisform.text1.value).or.;allt(students.姓名)=allt(thisform.text1.value)if found()lsxh=allt(students.学号)lsxm=allt(students.姓名)buxq=allt(bo4.value)do form dgcjelsemessagebox("没有此人,请重新输入",64,"提示")endifendif5.11用户管理List1地init事件中添加地代码如下sele yonghuthis.additem("管理员")locate for 标识=.T.do while found()this.additem("----"+姓名)continueenddogo toplocate for 标识=.F.this.additem("普通用户")do while found()this.additem("----"+姓名)continueenddo“注册”按钮地click事件添加如下地代码Set safety offsele yonghuif alltrim(thisform.text1.value)==""messagebox("用户名不能为空! ",0+48,"警告") thisform.text1.setfocuselselocate for 姓名=alltrim(thisform.text1.value)if(.not. eof())messagebox("此用户已存在,请重新输入!",64,"警告") thisform.text1.value=""thisform.text1.setfocuselseif alltrim(thisform.text2.value)==""messagebox("密码不能为空! ",0+48,"警告")thisform.text2.setfocuselseif (thisform.text2.value)==(thisform.text3.value) append blankrepl 姓名 with alltrim(thisform.text1.value),;密码 with alltrim(thisform.text2.value)if thisform.check1.value==1repl 标识 with .T.elserepl 标识 with .F.endifthisform.text1.value=""thisform.text2.value=""thisform.text3.value=""thisform.text1.setfocusthisform.text3.enabled=.f.bel4.enabled=.f.thisform.list1.clearthisform.list1.initelsett=messagebox("确认密码错误,请重新输入!",0+48,"警告") if tt==1thisform.text3.enabled=.t.bel4.enabled=.t.thisform.text3.value=""thisform.text3.setfocusendifendifendifendifendif“删除”按钮地click事件添加如下地代码if allt(thisform.text1.value)==""messagebox("请选择或输入用户名",64,"提示") thisform.text1.setfocuselseuse yonghulocate for 姓名=allt(thisform.text1.value);.and.密码=allt(thisform.text2.value)if eof()messagebox("请选择或输入正确地用户名",64,"提示") thisform.text1.value=""thisform.text2.value=""thisform.text1.setfocuselsett=messagebox("一定要删除吗?",4+48,"删除确认") if tt==6deletepackendifthisform.list1.clearthisform.list1.initthisform.list1.clickendifendif5.12修改用户密码“修改”按钮地click事件添加如下地代码sele yonghuif allt(thisform.text1.value)==""thisform.text1.setfocuselselocate for allt(姓名)=allt(thisform.text1.value)if eof()messagebox("此用户不存在,请重新输入!",64,"提示")thisform.text1.value=""thisform.text1.setfocus()elseif !allt(密码)==allt(thisform.text2.value)messagebox("密码错误,请重新输入!",64,"提示")thisform.text2.value=""thisform.text2.setfocus()elseif allt(thisform.text3.value)==""messagebox("请输入新密码!",64,"提示")thisform.text3.setfocuselseif !allt(thisform.text3.value)==allt(thisform.text4.value)messagebox("确认密码错误,请重新输入!",64,"提示")thisform.text4.value=""thisform.text4.setfocuselserepl 密码 with allt(thisform.text4.value)thisform.releaseendifendifendifendifendif5.13关于系统退出系统if messagebox("是否退出学生信息官系统?",36,"学生信息管理系统")=6Close all &&关闭所有打开地文件Clear Events &&结束事件循环,退出图书管理系统Endif6 结论学生信息管理系统是学校信息管理系统地一个重要组成部分.他为其他系统(如学校图书管理系统、学校档案管理系统、教学管理系统、总务后勤管理系统等)提供学生地基本信息,同时它也需要如教学管理系统提供课程设置数据等.这些系统在具体应用中构成一个大系统,相互调用对方地数据.由以上分析,我们可以充分认识到设计并开发一个学生信息管理系统地必要性和迫切性,本次设计和开发地学生信息管理系统应符合学校学生信息管理地规定,满足对学校学生信息管理地需要,并达到操作过程中地直观,方便,实用,安全等要求.系统采用模块化程序设计地方法,既便于系统功能地组合和修改,又便于未参与系统开发地技术维护人员补充和维护.SIMS通过教育网络或互联网把整个学校地学生信息汇聚起来,为学校教育主管部门提供全面及时地学生信息,方便管理,同时亦可通过校园网扩展各类信息化应用,共享学生信息.致谢踉踉跄跄地忙碌了这些天,我地毕业设计课题也终将告一段落.点击运行,也基本达到预期地效果,虚荣地成就感在没人地时候也总会冒上心头.但由于能力和时间地关系,总是觉得有很多不尽人意地地方,譬如功能不全、外观粗糙、底层代码地不合理……数不胜数.可是,我又会有点自恋式地安慰自己:做一件事情,不必过于在乎最终地结果,可贵地是过程中地收获.以此语言来安抚我尚没平复地心.毕业设计,也许是我大学生涯交上地最后一个作业了.想籍次机会感谢四年以来给我帮助地所有老师、同学,你们地友谊是我人生地财富,是我生命中不可或缺地一部分.我地毕业指导老师谢鹏老师,给我不厌其烦地指导.在此,特向他道声谢谢.参考文献1.Visual FoxPro 6.0数据库应用实例完全解析.北京:人民邮电出版社.2006年2.Visual FoxPro 软件项目开发实例.北京:电子工业出版社.2005年3. 周佩德.数据库原理及应用.北京:电子工业出版社.2005年4.史济民、汤观全等.Visual FoxPro 及其应用系统开发.北京:清华大学出版社.2002 5.郑砚、周青.Visual FoxPro 8.0实用编程100例.北京:中国铁道出版社.20046.伍军良.Visual FoxPro 6.0/Foxbase 课程设计案例精编.北京:中国水利水电出版社.2001 7.邵阳、谷宇等.Visual FoxPro 6.0数据库系统开发实例导航.北京:人民邮电出版社.2000 8.网冠科技.Visual FoxPro 6.0时尚变编程百例.北京:机械工业出版社.20059.夏辉王冬等.Visual FoxPro 7.0函数和系统变量手册.北京:清华大学出版社.2004 10.陈华生单启成.Visual FoxPro 5.0教程.苏州:苏州大学出版社.200211.钱培德朱巧明.Visual FoxPro 5.0学习指导.苏州:苏州大学出版社.2002。
vfp课程设计程序

vfp课程设计程序一、教学目标本课程旨在让学生掌握VFP(Visual FoxPro)的基本编程技能,理解数据库管理系统的基本概念和应用,培养学生的逻辑思维能力和问题解决能力。
知识目标:使学生了解VFP的发展历史、特点和基本概念;掌握VFP的数据类型、变量、运算符和表达式;理解VFP的流程控制语句、函数和数组;熟悉VFP的数据库和表操作。
技能目标:使学生能够使用VFP编写简单的程序,进行数据输入、输出和处理;能够运用VFP进行数据库的创建、维护和查询;能够使用VFP进行简单的界面设计和应用程序开发。
情感态度价值观目标:培养学生对计算机编程和数据库管理的兴趣,提高学生运用信息技术解决实际问题的能力,培养学生的团队协作和自主学习能力。
二、教学内容本课程的教学内容主要包括VFP的基本概念、编程语法、数据库操作和应用程序开发。
1.VFP基本概念:介绍VFP的发展历史、特点和环境配置。
2.编程语法:讲解VFP的数据类型、变量、运算符、表达式、流程控制语句、函数和数组。
3.数据库操作:讲解VFP中的数据库和表的创建、维护、查询和导入导出。
4.应用程序开发:介绍VFP的界面设计、事件处理和应用程序发布。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
1.讲授法:用于讲解VFP的基本概念、语法和数据库操作。
2.案例分析法:通过分析实际案例,使学生掌握VFP编程方法和技巧。
3.实验法:让学生动手实践,巩固所学知识,提高实际操作能力。
四、教学资源1.教材:选用权威、实用的VFP教材,为学生提供系统性的学习资料。
2.参考书:提供VFP编程相关的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作精美的PPT课件,直观展示VFP的操作界面和编程过程。
4.实验设备:配置充足的计算机实验室,确保每个学生都能动手实践。
五、教学评估本课程的评估方式包括平时表现、作业、考试和项目实践。
1.平时表现:评估学生在课堂上的参与程度、提问和回答问题的表现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生管理系统课程设计说明书第一章学生管理信息系统是一个学校不可缺少的部分,它能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高工作效率,因此,开发这样一套系统的管理软件就很有必要。
近年来,随着计算机厂家的不断增多,计算机硬件成本的大幅度下降,加之人们对计算机也不再觉得神秘陌生,计算机已经不再是高档用品,为学校建立学生管理信息系统提供了物质条件。
而现在我国的大部分学校对学生的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
使用学生管理信息系统,有以下几点好处:1、可以存储历届的学生档案,安全、高效;2、只需一到二名录入员即可操作系统,节省大量人力;3、可以迅速查到所需信息,包括学生的基本情况、考试成绩等;4、为将来学校上网做好准备。
现在互联网已经十分普及,一些用人单位希望能在世界的任何一个角落查到学生的信息,本系统为学校将来的上网作了先期工作,比如数据库的建立。
第二章2.1 FoxPro语言概述Visual FoxPro 是由Microsoft公司推出的用于中小型企业的一个优秀的小型数据库开发系统。
它从单机数据库发展而来,现已发展成为具有很强的网络功能的小型数据库系统。
它可以用作小型的单机、网络数据库,也可以作为大型数据库的前端开发工具来开发客户机/服务器应用程序。
在目前众多的开发工具中,Visual FoxPro在数据库开发工具中有着不可替代的地位,并且易学、易用,对计算机的配置要求也很低,还支持大型数据库通用的SQL语言,故而,实现本系统Visual FoxPro是一个相对较好的选择。
2.2 SQL语言简介SQL是结构化查询语言Structured Query Language)的缩写,它实际上包括查询、定义、操纵和控制四个部分,是一种功能齐全的数据库语言。
数据定义是指对关系模式一级的定义。
数据操纵是对关系中的具体数据的增、删除、改和更新等操作。
数据控制是指对数据访问权限的授予或撤消。
该语言在70年代中期由B o y c e t和 C h a m b e r l I n提出,在IBM大型计算机上实现(当时为SEQUEL语言)。
由于SQL具有语言简洁、方便实用、功能齐全等优点,很快得到推广和应用,随着关系数据库的流行,SQL在计算机界和广大用户中已得到公认。
1986年10月美国国家标准局(ANSI)的数据库委员会颁布了SQL的美国标准,作为标准关系数据库语言。
1987年6月,国际标准化组织(ISO)采纳SQL为关系数据库语言的国际标准。
我国也在1990年制定了SQL标准。
SQL作为查询标准语言,在人工智能、软件工程等领域得到了广泛的应用。
SQL语言既可以以用户联机的方式联机使用,也可以直接嵌入到程序设计语言中使用,特别适合于程序设计人员编写应用程序并与数据库打交道时,嵌入到主语言中使用。
在本课题设计中就使用了SQL语言。
第三章3.1 学生管理信息系统设计3 .1.1 学生管理信息系统功能分析本系统主要用于学校信息管理,主要任务是用计算机对学生各种信息进行日常管理,如录入、查询、增加、删除。
另外还考虑到课程管理和成绩管理,设计了本学生信息管理系统。
该系统主要包括学籍管理、学籍查询、成绩管理、成绩汇总、课程管理五部分。
“学籍管理”主要是实现学生基本情况的浏览、添加、编辑和删除;“学籍查询”主要是实现学生基本情况的查询,可以按照学号、姓名、性别、籍贯和生日等进行综合查询,并根据要求浏览结果;“成绩管理”主要是实现学生各学期各门课成绩录入、修改;“成绩汇总”主要是实现所有学生的各门课成绩列表,打印家长通知书和补考通知书;“课程管理”主要是选定学生每学期所修课程。
以上功能主要为教务员使用,使用时要核对用户名和口令。
3.1.2 学生管理信息系统功能模块设计本系统的功能分为如下几大模块:(1)主界面设计该模块提供教务管理系统的主界面,是主系统唯一入口和出口。
该界面提供用户选择并调用各子模块,对于进入系统的用户还要核对用户名和口令。
(2)课程管理模块该模块提供选定学生每学期所修课程界面,然后进行维护工作(增、删、改)。
(3)课程名称模块该模块实现添加所需课程名称的功能,每增加一门课程,课程号自动加1。
(4)成绩管理模块该模块主要用于录入学生各学期各门课成绩。
(5)成绩汇总模块该模块实现汇总所有学生的各门课成绩列表,打印家长通知书和补考通知书。
(6)学籍管理模块该模块实现学生基本情况的浏览、添加、编辑和删除。
(7)学籍查询模块该模块实现学生基本情况的查询,按照学号、姓名、性别、籍贯和生日等进行综合查询,并根据要求浏览结果。
(8)用户管理模块该模块用于设置所有用户的口令和权限。
(9)改变口令该模块用于登录用户改变自己的口令。
(10)放音(静音)该模块实现播放和停止背景音乐。
(11)选曲播放该模块实现播放磁盘中存在的曲目的功能(后缀是".wav"的文件)。
(12)改变背景该模块实现选择磁盘中存在的图像文件作为系统的背景。
采用模块化的思想,可以大大提高工作效率,并且可以最大限度地减少不3.2 学生管理信息数据库设计3.2.1 数据库需求分析Visual FoxPro 数据库设计的第一步是明确数据库的目的和如何使用,也就是在数据库中存放哪些信息。
明确目的之后,就可以确定需要设计哪些表,以及每个表中的字段。
在本课题中要实现如下功能并相应地建立的数据库表如下3.2.2 数据库概念结构设计用E-R图来说明学生信息管理系统的数据库概念模式,如下图所示。
3.2.3 数据库中的关系设计利用FoxPro进行管理信息系统的应用软件开发时,其核心任务是数据库中的关系设计,它是系统应用软件设计的基础。
其质量的好坏,直接影响到信息管理系统的功能和质量。
关系设计的任务是消除数据删除、插入操作中的异常现象,最大限度地降低数据的冗余度,并保证数据的一致性。
3.2.3.1 关系设计的原则关系设计的理论基础是规范化理论,设计数据库的过程实际上是对关系模型进行规范化和分解的过程,使非规范化的关系满足规范化理论的要求。
要做到这一点,在关系设计时我们应遵循以下原则:一是关系分解后信息不丢失,不增加,即是无损连续分解。
必须把全局模式的数据分解到各个子模式关系中,不能丢失数据,也不能因分解而增加数据,以保证数据的完整性。
二是合理选择规范程度。
记录数多的关系,低级规范造成的冗余度很大,浪费了存储空间又影响了数据的一致性;但对相互联接的运算,低级模式又比高级范式好。
另一方面,从存取、插入速度上,又希望一个子模式的属性越少越好,即取高级范式。
因此速度与空间、速度与一致性在范式上是矛盾的。
所以应根据情况,合理选择规范化程度。
三是正确性与可实现性原则。
3.2.3.2 学生管理信息系统的关系设计通过分析,消除部分重复组、函数部分依赖和传递函数依赖,本系统建立了一个数据库,包括了五个表:学生基本情况表(d b f j b q k .dbf)用于存储学生基本情况;成绩表(d b f c j .dbf)用于存储学生成绩;成绩总库用于存储学生各门课程(d b f c j z k .dbf)、课程表(d b f k c .dbf)用于存储课程名称;名次表(d b f m c .dbf)用于存储学生成绩名次。
3.3 学生管理信息数据库结构的具体实现程序设计大体要经过下面的步骤:(1)创建数据库、表,利用Visual FoxPro的工具创建数据库、表,并设置表的索引和表间的关系。
(2)创建查询、视图和报表,根据需求,创建对数据的查询、视图、报表。
(3)创建适合的类,利用Visual FoxPro的基类,创建适合的类。
(4)创建表单,通过表单将数据库、表、视图、报表集成起来用类对它们进行操作。
(5)创建程序,编制程序将表单连接成一个系统。
(6)调试、连编,利用调试工具检查、修改程序错误,最终编译成应用程序文件(.app)或者可执行文件(.exe).3.3.1创建数据库、表(1)新建项目管理器a)在Visual FoxPro新建,在打开的“新建”对话框中选择“项目”,单击“新建文件”按钮,接着打开“创建”对话框,在对话框中选择磁盘、文件夹,输入项目名“student”。
b)单击“保存”按钮,窗口现出“项目管理器”界面,它是一个具有多个选项卡的对话框,其中列出了项目可以管理的文件类型。
(2)创建数据库和数据库表a)打开“student”项目,将数据库建立在该项目中,让“项目管理器”来管理建立的数据库文件。
b)在“项目管理器”中选择“数据”选项卡;c)单击“项目管理器”右侧的“新建”按钮,出现“新建数据库”对话框,选择“新建数据库”;d)在出现的“创建”对话框中单击“保存在”下拉式列表,选择要保存数据库的磁盘和文件夹,然后在“数据库名”的右边输入“学生”,单击“保存”按钮。
e)按数据库设计工具栏上的“新建表”按钮;f)按“新表”,输入新表名,按“保存”;g)按照系统分析中的数据表结构输入有关数据库表的结构;h)设置数据库表的索引。
3.3.2 创建查询、视图和报表一、创建查询数据库最常用的操作就是查询,由于查询操作非常频繁,因此查询效率的高低将在很大程序上影响程序执行的效率。
查询是搜索哪些满足条件的记录,同时也可以根据需要对这些记录进行排序和分组,可以将查询结果创建为报表、表及视图。
无论目的是什么,建立查询的过程是相同的,主要有以下几个步骤:(1)使用“查询向导”或“查询设计器”;(2)选择将要出现在查询结果中的字段;(3)设置选择条件,以满足所需结果的记录;(4)设置排序或分组项,用以组织查询结果;(5)定向查询结果,如浏览、报表、表、标签等,如果要保存创建的查询,可以指导一个名称,将查询文件保存为带.QPR扩展名的文件;(6)运行查询。
二、创建视图视图是数据库中的一个特有的功能,只有当包含视图的数据库被打开时,才能使用视图。
利用视图,可以从表中提取一组记录,改变这些记录的值,并把更新结果送加到源表中。
如果不但要检索数据,还想更新它,就需要使用视图。
从多表中选取字段也是视图的一个重要用途。