vfp课程设计报告

VFP综合程序设计报告

(设计题目:)

(版面图案设计)

东北大学秦皇岛分校

姓名:(所有小组成员姓名,将自己姓名放到第一位) 学号:

指导教师:

日期: 年 月 日

一、总体说明

总体功能介绍

二、功能模块结构图

三、变量说明(公有、私有、本地变量

) 1

四、数据库、表的设计及描述

五、操作说明

2

五、各模块代码及结果图

(该部分为整体的模块代码及显示结果,将自己完成部分明确指明并放在前面)

六、体会(重点是学习中收获和存在的问题)

3

 

第二篇:课程设计结题报告书

   

课程设计报告书

(学生选课管理系统)

班级:方0703-1

学号:20075444

姓名:

指导教师:

石家庄铁道大学四方学院

20##年9月8日


课程设计报告内容

1、选择题目

题目:学生选课管理系统

2、内容摘要

摘要:

  本课题设计是为适应信息化的要求,提高教务教学管理水平而设计的。本系统能够方便、灵活地实现学生各门成绩的输入、添加、修改、删除等编辑操作以及信息查询、打印。以方便教师更好管理学生选课系统。

本文介绍课程设计课题的选题意义,说明了本系统提供的主要功能,并画出功能框图,对设计思路、数据库设计、研究开发的过程、实现细节、开发工作进行了比较完整的叙述,最后给出了在小学期设计过程的体会。

3.索引关键字

关键词:数据库,学生选课管理管理,功能框图

4.目录

1.       题目要求---------------------------------­­­-------------4

2.       设计思想----------------------------------------------4

3.       系统完成功能及框图------------------------------------7

4.       界面设计----------------------------------------------8

5.       核心算法及说明----------------------------------------15

6.       结论--------------------------------------------------23

7.       后记--------------------------------------------------23

8.       参考文献----------------------------------------------24

                    (共24页)


5.正文

5.1课程设计题目要求

5.1.1内容要求

本系统能够方便、灵活地实现学生选课时相关数据的查询和打印。

系统至少应包含选修课课程代码、课程名称、任课教师、选修学生的基本数据等等数据资源,请自行组织数据,自行定义数据表中的字段名称、个数及各字段的类型、宽度。

系统至少要有三个表,一个是学生选课情况表,一个是课程的情况表,第三个表应反映选课信息,如一名学生选修的课程数应不超过四门,一门课程选修的学生人数不能超过35人等等。

5.1.2设计要求

①建立一个项目,将完成本题目创建的所有文件添加到项目中;

②数据表必须是数据库表,视情况需要定义字段的有效性规则、默认值、出错信息等内容。

③数据表之间必须建立必要的联系。

④用表单设计一个漂亮的系统封面。

⑤要求用表单设计功能丰富的信息查询界面和查询结果的统计界面。

⑥用顶层表单上的菜单实现输入、查询、报表打印、退出等功能项的选择。

⑦可以自行设计报表和标签的样式,如能够实现按选修课名称、按任课教师、按成绩、按系部(或分院)等打印输出的报表。

⑧将完成的全部内容连编成一个.exe文件.

⑨所有的界面及打印的报表请尽可能设计的直观、漂亮一些。

要求:父表的记录个数不能少于30个。

5.2设计思想

在设计时考虑以下几个方面:系统分析和系统结构

一、系统分析

1、系统的使用对象

使用该系统的人员,主要是学校的教职工。使用的目的主要是安全高效的完成学生选课的管理,并对学生信息进行维护。考虑到使用该系统的多为非计算机专业的人员,所以在研制时考虑以下几个方面:

⑴操作简单。因为使用者多为非计算机专业人员,所以该系统要求设计的界面美观,操作方便。要充分考软件界面友好和操作方便,便于使用人员快速上手。

⑵易于维护。一个软件的好坏,关键在于产品的可靠,稳定,便于维护。

⑶易于升级。随着社会的发展,对系统的要求会越来越高。要求系统具有更高的安全性;更丰富的功能以及更快的操作速度。所以在设计时要考虑到以后的升级问题。

2、开发语言的选择

针对世界上流行的大量软件和开发工具,经过认真分析其优缺点,结合目前的软硬件开发环境,选用微软WINDOWS平台下的VISUAL FOXPRO 6.0作为软件开发工具。选用工具有几下几方面优点:

VFP6.0是比较好的关系数据库管理系统开发软件。它提供了可视化的开发平台和面向对象的程序设计方法。大量控件的提供节省了开发的工作量,提高了开发的效率。

Vfp6.0提供了很多设计器,诸多如“数据库设计器”“表单设计器”“菜单设计器”等。

另外还开发了一些“向导工具”、利用这些设计器和向导工具,不用编写大量的程序代码,因而开发工作变得比较轻松。

VFP本身就是一个数据库开发软件系统。使用它开发数据库系统效率更高,稳定性好。

综上所述,VFP6.0可以满足学校教职工对学生选课管理的要求,所以用来开发学生选课管理系统是非常合适的。

3、数据库结构分析

  好的数据库结构,查询记录的速度较快,而且也不容易出现锁表现象。分析学生选课的管理情况,首先需要了解学生的基本情况信息,包括学生的姓名、班级、学号、所选课程及成绩等信息。还有选修课程的基本情况,包括选修课程的任课教师、学时、学分、所在教室及开课时间。另外还有任课教师的基本情况,包括教师姓名、职称、电话等信息。所以需要的数据表有学生情况表、选修课程情况表、任课教师情况表。另外还需要对操作系统的人员进行管理,需要用户表。

二、系统结构

学生选课管理系统对学校加强选课管理有着重要的作用,它的设计内容非常复杂而且繁多,比如拥有查询功能,如按学生查询和按课程查询。还有报表输出功能,如打印学生成绩表,任课教师情况表,选修课程情况表。还有系统维护,如修改密码。

5.3系统完成功能及框图

由于本软件主要是为学校定制开发的。我们经过反复论证,最终确定了学生选课管理况系统的设计方案,主要功能如图所示:

(1)主界面设计

该模块提供教务管理系统的主界面。该界面提供用户选择并调用各子模块,对于进入系统的用户还要核对用户名和口令。

(2)学生选课管理模块

该模块实现对学生选课基本情况的预览,并进行打印。

(3)主菜单功能

通过菜单的设计,能够将各个界面联系起来,方便快捷的对各个界面进行操作。

        

 


                                                                                    

                 

 

5.4界面设计  

5.4.1系统首页的界面设计:

 5.4.2登入界面的设计

本系统设计了一个登录界面,只由具备使用本系统权限的用户才能够使用本系统,在登录界面中用户需要输入用户名和密码,当验证是合法用户时使其进入主界面。如图所示:

 

                               

5.4.3报表设计

本系统通过主界面的操作,可以调用命令从而使用户实现对学生选课信息以及课程信息的浏览、添加、修改、删除、查询、统计、报表打印等表单的操作管理。

5.4.4系统信息管理界面的界面设计:

本系统通过对选课信息管理的操作,可以实现对学生选课信息、学生信息、课程信息、任课教师信息的各个记录的浏览,同时也可以实现对记录的添加、修改、删除功能。

 5.4.5系统查询界面的界面设计:

     可以实现按课程查询和按学生姓名查询,查询出学生基本情况机选课成绩等内容。

5.4.6系统维护

本系统可以对系统进行权限设置,可以进行密码更改。

5.5 打印报表

该系统可以实现学生选课信息,任课教师信息,学生成绩的打印功能。

                     

5.6核心算法及说明

Visual FoxPro 数据库设计的第一步是明确数据库的目的和如何使用,也就是在数据库中存放哪些信息。明确目的之后,就可以确定需要设计哪些表,以及每个表中的字段。在本课题中要实现如下功能并相应地建立数据库表如下表所示。

5.6.1 数据库中的关系设计

 利用Foxpro进行管理信息系统的应用软件开发时,其核心任务是数据库中的关系设计,它是系统应用软件设计的基础。其质量的好坏,直接影响到信息管理系统的功能和质量。关系设计的任务是消除数据删除、插入操作中的异常现象,最大限度地降低数据的冗余度,并保证数据的一致性。

5.6.1.1  关系设计的原则

关系设计的理论基础是规范化理论,设计数据库的过程实际上是对关系模型进行规范化和分解的过程,使非规范化的关系满足规范化理论的要求。要做到这一点,在关系设计时我们应遵循以下原则:一是关系分解后信息不丢失,不增加,即是无损连续分解。必须把全局模式的数据分解到各个子模式关系中,不能丢失数据,也不能因分解而增加数据,以保证数据的完整性。二是合理选择规范程度。记录数多的关系,低级规范造成的冗余度很大,浪费了存储空间又影响了数据的一致性;但对相互联接的运算,低级模式又比高级范式好。另一方面,从存取、插入速度上,又希望一个子模式的属性越少越好,即取高级范式。因此速度与空间、速度与一致性在范式上是矛盾的。所以应根据情况,合理选择规范化程度。三是正确性与可实现性原则。

5.6.1.2  学生管理信息系统的关系设计

本系统建立了一个数据库,包括了三个表:学生选课信息表.dbf用于存储学生基本情况;任课教师信息表.dbf用于储存任课教师情况;选修课程信息表.dbf用于储存各个课程的基本情况。

1、学生选课信息表

2、任课教师信息表

3.选修课程情况表

5.6.2 学生管理信息数据库结构的具体实现

程序设计大体要经过下面的步骤:

(1)创建数据库、表,利用Visual Foxpro的工具创建数据库、表,并设置表的索引和表间的关系。

(2)创建查询、视图和报表,根据需求,创建对数据的查询、视图和报表。

(3)创建表单,通过表单将数据库、表、视图、报表集成起来,用类进行操作。

(4)创建程序,编制程序将表单连接成一个系统。

(5)调试、连编,利用调试工具检查、修改程序错误。

5.6.2.1创建数据库、表

(1) 新建项目管理器

a) 在Visual Foxpro中选择文件  新建,在打开的“新建”对话框中选择“项目”,单击“新建文件”按钮,接着打开“创建”对话框,在对话框中选择磁盘、文件夹,输入项目名“学生选课系统”。

b) 单击“保存”按钮,窗口现出“项目管理器”界面,它是一个具有多个选项卡的对话框,其中列出了项目可以管理的文件类型。

(2) 创建数据库和数据库表

a) 打开“项目管理器”项目,将数据库建立在该项目中,让“项目管理器”来管理建立的数据库文件。

b) 在“项目管理器”中选择“数据”选项卡;

c) 单击“项目管理器”右侧的“新建”按钮,出现“新建数据库”对话框,选择“新建数据库”;

d) 在出现的“创建”对话框中单击“保存在”下拉式列表,选择要保存数据库的磁盘和文件夹,然后在“数据库名”的右边输入“学生”,单击“保存”按钮。

1) 按数据库设计器工具栏上的“新建表”按钮;

2) 按“新表”,输入新表名,按“保存”;

3) 按照系统分析中的数据表结构输入有关数据库表的结构;

4) 设置数据库表的索引。

5.6.2.2 创建查询、视图和报表

 一、创建查询

数据库最常用的操作就是查询,由于查询操作非常频繁,因此查询效率的高低将在很大程序上影响程序执行的效率。查询是搜索哪些满足条件的记录,同时也可以根据需要对这些记录进行排序和分组,可以将查询结果创建为报表、表及视图。无论目的是什么,建立查询的过程是相同的,主要有以下几个步骤:

(1) 使用“查询向导”或“查询设计器”;

(2) 选择将要出现在查询结果中的字段;

(3) 设置选择条件,以满足所需结果的记录;

(4) 设置排序或分组项,用以组织查询结果;

(5) 定向查询结果,如浏览、报表、表、标签等,如果要保存创建的查询,可以指导一个名称,将查询文件保存为带.QPR扩展名的文件;

(6) 运行查询。

二、创建视图

视图是数据库中的一个特有的功能,只有当包含视图的数据库被打开时,才能使用视图。利用视图,可以从表中提取一组记录,改变这些记录的值,并把更新结果送加到源表中。如果不但要检索数据,还想更新它,就需要使用视图。从多表中选取字段也是视图的一个重要用途。创建视图和创建查询的步骤类似。创建视图时要选择包含在视图中的表和字段、指定用来联接的联接条件、指定过滤器选择特定的记录,与查询不同的是,视图可以把在视图中做的数据修改传给原表。建立视图的主要步骤是:

(1)从“项目管理器”中选定一个数据库;

(2)在“数据库”下,选定“本地视图”,并单击“新建”按钮,启动“新的本地视图”对话框;

(3)在“新的本地视图”对话框中,单击“新视图”按钮,进入“视图设计器”,系统将提示从当前数据或自由表中选择表或视图。

(4)根据一定的条件进行“联接”和“更新数据”操作。

三、创建报表

查询和视图能够显示或存储数据,而报表和标签则是数据打印输出的工具。在Visual Foxpro中打印数据,并不是直接送到打印机,而是先建立一个报表或标签文件,从数据表中提取内容,并且设计报表或标签格式,然后再打印报表或标签。使用“报表向导”可以快速创建报表,具体步骤是:

在“项目管理器”的“文档”选项卡中,选择“报表”;

(1)单击“新建”按钮,出现“新报表”对话框;

(2)在对话框中单击“报表向导”按钮,出现“向导选取”对话框;

(3)选择“报表向导”后,单击“确定”按钮,进入“报表向导”步骤1 “字段选取”;

(4)在“数据库和表”中选择“视图”,按照向导屏幕上的指令完成后面的操作,最后要保存报表文件,在保存对话框中输入报表文件名。

 (5)通过“预览”和“修改”,最终达到报表打印要求。

5.6.2.3  创建表单

 在Visual Foxpro中表单是面向对象编程的主要工具,面向对象编的大多数工作在表单中进行。设计表单的过程就是设计程序界面的过程。通过表单的设计,设计出用户界面,然后运行它,使用户能够与系统进行交互操作。表单显示了表和视图中的字段和记录,而且包含定位控件,在Visual Foxpro 中可以使用“表单向导”或“表单设计器”创建表单。在本系统的设计中,主要使用“表单设计器”来设计表单,步骤如下:

一、启动“表单设计器”

(1)     在“项目管理器”中选择“文档”选项卡,然后选择“表单”;

(2)     单击“新建”按钮,现出“新建表单”对话框;

(3)     单击“新建表单”按钮,进入“表单设计器”。

二、“表单设计器”窗口

“表单设计器”中有表单和九种工具栏,常用的有三个:

(1)“布局”工具栏

(2)“表单控件”工具栏,可以向表单添加各种对象。

(3)“属性”工具栏:设置、编辑表单对象的各种属性。

通过表单设计器既可以修改对象属性,也可以向对象添加控件。

5.6.2.4  部分代码

1)登录界面“登录”按钮代码:

loca for  alltrim(用户名)==alltrim(thisform.text1.value) and  alltrim(密码)==alltrim(thisform.text2.value)

 if !found()

     messagebox("用户名或密码错误,请重新登录!")

     thisform.text1.value=''

     thisform.text2.value=''

 else

      thisform.release

      do form  主表单

 endif  

(2)“修改密码”代码 :

  m1=alltrim(thisform.text1.value)

m2=alltrim(thisform.text2.value)

m3=alltrim(thisform.text3.value)

m4=alltrim(thisform.text4.value)

open database 学生选课情况

use 用户

loca for 用户名=m1 and 密码=m2

do case

  case m1==""

     messagebox("对不起!没有输入用户名!",0+48+0,"注意!")

     thisform.text1.value=""

     thisform.text2.value=""

     thisform.text3.value=""

     thisform.text4.value=""

     thisform.text1.setfocus

  case found()=.f.

     messagebox("对不起!姓名或原密码错误!请重新输入!",0+48+0,"注意!")

     thisform.text1.value=""

     thisform.text2.value=""

     thisform.text3.value=""

     thisform.text4.value=""

     thisform.text1.setfocus

   case m3==""

      messagebox("对不起!密码不能为空值!请重新输入!",0+48+0,"注意!")

      thisform.text3.value=""

      thisform.text4.setfocus

      thisform.text3.setfocus

   case m4<>m3

      messagebox("对不起!确认密码错误,请重新输入!",0+48+0,"注意!")

      thisform.text3.value=""

      thisform.text4.setfocus

      thisform.text3.setfocus

   otherwise

      repl 密码 with m3

      messagebox("你的密码已更改!请记住新密码!",0+48+0,"注意!")

      thisform.text1.value=""

      thisform.text2.value=""

      thisform.text3.value=""

      thisform.text4.value=""

      thisform.release

   endcase  

6、结论

随着我国成功加入WTO及信息化浪潮的日益临近,学校在激烈的市场竞争环境下求得生存,就必须有效地利用人才、时间、信息结合的优势。因此,如何使学校、学生及时掌握本校的各种信息、第一时间处理好随时变化的管理问题,建立一套符合学校实际的管理系统就显得尤为重要。

在反反复复的学习和不耻下问之下,我的辛勤努力有了回报,终于做出一个简单的软件,虽然这个软件功能非常简单,而且我想,在实际运用中,还有些不足,因为学生成绩管理的内容非常丰富,我涉及到的仅仅是学生管理的一部分简单内容,离实际的学校需求肯定还有差距。例如学生选多门课,添加新生的限制等方面考虑得还不完善。针对学生选课管理,还应该建立一个有普遍意义的模型,这样对用户来讲,就比较容易通过修改有关管理制度来适应我们开发的软件。

    由于我的知识浅薄,经验不足及阅历颇浅,因此,在该系统的设计方面还有很多不足,比如功能过少,界面不醒目等问题,我会在学习的使用过程中,根据工作的具体要求不断的修改、完善,争取使系统慢慢趋于完美。

7.后记

在本项目的软件开发的过程中,我全面实践一个面向数据库的应用系统的开发过程,学习很多有关的知识。这样的项目对我们学过的数据结构,程序设计,数据库等课程是一个综合性很高的实践。一些以前没有学得很扎实的课程内容,由于需要在实践中运行,刚开始我也感到头痛。但回过头来强迫自己再去看课本,经过一段时间的实践,对于这些知识点有关的背景,概念和解决方案有了更深的理解,学习也越来越有兴趣,越来越轻松。

     另外我还充分体会了从事软件技术开发工作需要特别谨慎认真的态度和作风,一点都不能马虎。每个细微的细节都必须特别注意,如果考虑不周全,就会出现或大或小的错误。如果早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时会删掉很多前面做的工作重新做。遇到困难,我一般是自己先通过课本,实验指导和资料找解决办法,实在没辙才向老师请教。尽管向老师请教解决问题比较快,自己钻研花的时间较多,但我还是觉得自己独立思考对学习提高帮助非常大。   

     在本系统的设计过程和论文编写过程中,指导老师和同学们都给予了我许多的帮助,尤其是我的指导老师提出了很多宝贵意见,在这里,我向这些帮助我的人表示衷心的感谢。

8.参考文献

[1]傅翠姣. Visual FoxPro典型系统实战与解析[M].北京电子工业出版社.2007.1

[2]沈蒙波,苏术锋.Visual FoxPro程序设计[M].中国计划出版社.2007.8

相关推荐