vfp课程设计结题报告书.docx
《vfp课程设计结题报告书.docx》由会员分享,可在线阅读,更多相关《vfp课程设计结题报告书.docx(18页珍藏版)》请在冰豆网上搜索。
vfp课程设计结题报告书
课程设计报告书
(中考信息管理系统)
班级:
方0907-3
学号:
20096004
制作者:
张四敏
指导教师:
刘仁芬
石家庄铁道大学四方学院
2008年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内容要求
本系统能够方便、灵活地实现中考信息相关数据的查询和打印。
系统至少应包含中考生档案信息、考生成绩信息、学校信息、招生计划信息的基本数据等等数据资源,请自行组织数据,自行定义数据表中的字段名称、个数及各字段的类型、宽度。
系统至少要有三个表,一个是中考生档案信息,一个是学校信息,第三个表应招生计划信息等等。
5.1.2设计要求
①建立一个项目,将完成本题目创建的所有文件添加到项目中;
②数据表必须是数据库表,视情况需要定义字段的有效性规则、默认值、出错信息等内容。
③数据表之间必须建立必要的联系。
④用表单设计一个漂亮的系统封面。
⑤要求用表单设计功能丰富的信息查询界面和查询结果的统计界面。
⑥用顶层表单上的菜单实现输入、查询、报表打印、退出等功能项的选择。
⑦可以自行设计报表和标签的样式,如能够实现按选修课名称、按任课教师、按成绩、按系部(或分院)等打印输出的报表。
⑧将完成的全部内容连编成一个.exe文件.
⑨所有的界面及打印的报表请尽可能设计的直观、漂亮一些。
要求:
父表的记录个数不能少于30个。
5.2设计思想
在设计时考虑以下几个方面:
系统分析和系统结构
一、系统分析
1、系统的使用对象
使用该系统的人员,主要是学校的教职工。
使用的目的主要是安全高效的完成学生选课的管理,并对学生信息进行维护。
考虑到使用该系统的多为非计算机专业的人员,所以在研制时考虑以下几个方面:
⑴操作简单。
因为使用者多为非计算机专业人员,所以该系统要求设计的界面美观,操作方便。
要充分考软件界面友好和操作方便,便于使用人员快速上手。
⑵易于维护。
一个软件的好坏,关键在于产品的可靠,稳定,便于维护。
⑶易于升级。
随着社会的发展,对系统的要求会越来越高。
要求系统具有更高的安全性;更丰富的功能以及更快的操作速度。
所以在设计时要考虑到以后的升级问题。
2、开发语言的选择
针对世界上流行的大量软件和开发工具,经过认真分析其优缺点,结合目前的软硬件开发环境,选用微软WINDOWS平台下的VISUALFOXPRO6.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核心算法及说明
VisualFoxPro数据库设计的第一步是明确数据库的目的和如何使用,也就是在数据库中存放哪些信息。
明确目的之后,就可以确定需要设计哪些表,以及每个表中的字段。
在本课题中要实现如下功能并相应地建立数据库表如下表所示。
要实现的功能
需建立的表
学生信息添加、删除、查询、打印
中考生档案信息、学校信息、考生成绩信息|招生计划信息等
5.6.1数据库中的关系设计
利用Foxpro进行管理信息系统的应用软件开发时,其核心任务是数据库中的关系设计,它是系统应用软件设计的基础。
其质量的好坏,直接影响到信息管理系统的功能和质量。
关系设计的任务是消除数据删除、插入操作中的异常现象,最大限度地降低数据的冗余度,并保证数据的一致性。
5.6.1.1关系设计的原则
关系设计的理论基础是规范化理论,设计数据库的过程实际上是对关系模型进行规范化和分解的过程,使非规范化的关系满足规范化理论的要求。
要做到这一点,在关系设计时我们应遵循以下原则:
一是关系分解后信息不丢失,不增加,即是无损连续分解。
必须把全局模式的数据分解到各个子模式关系中,不能丢失数据,也不能因分解而增加数据,以保证数据的完整性。
二是合理选择规范程度。
记录数多的关系,低级规范造成的冗余度很大,浪费了存储空间又影响了数据的一致性;但对相互联接的运算,低级模式又比高级范式好。
另一方面,从存取、插入速度上,又希望一个子模式的属性越少越好,即取高级范式。
因此速度与空间、速度与一致性在范式上是矛盾的。
所以应根据情况,合理选择规范化程度。
三是正确性与可实现性原则。
5.6.1.2中考信息管理系统的关系设计
本系统建立了一个数据库,包括了四个表:
中考生档案信息表.dbf用于存储学生基本情况;学校信息表.dbf用于储存学校情况;考生成绩信息表.dbf用于储存学生成绩情况;招生计划信息表.dbf用于储存学校招生计划情况。
1、中考生档案信息表
字段名
类型
宽度
家庭住址
字符
姓名
字符
准考证号
字符
联系方式
数值
性别
字符
民族
字符
成绩
数值
2、学校信息表
字段名
类型
宽度
学校代码
数值
学校名称
字符
类别
字符
3.考生成绩信息表
字段名
类型
宽度
姓名
字符
准考证号
数值
是搜索哪些满足条件的记录,同时也可以根据需要对这些记录进行排序和分组,可以将查询结果创建为报表、表及视图。
无论目的是什么,建立查询的过程是相同的,主要有以下几个步骤:
(1)使用“查询向导”或“查询设计器”;
(2)选择将要出现在查询结果中的字段;
(3)设置选择条件,以满足所需结果的记录;
(
成绩
数值
4.招生计划信息表
字段名
类型
宽度
学校代码
数值
计划人数
数值
5.6.2中考信息管理数据库结构的具体实现
程序设计大体要经过下面的步骤:
(1)创建数据库、表,利用VisualFoxpro的工具创建数据库、表,并设置表的索引和表间的关系。
(2)创建查询和报表,根据需求,创建对数据的查询和报表。
(3)创建表单,通过表单将数据库、表、报表集成起来,用项目管理器进行操作。
(4)创建程序,编制程序将表单连接成一个系统。
(5)调试,利用调试工具检查、修改程序错误。
5.6.2.1创建数据库、表
(1)新建项目管理器
a)在VisualFoxpro中选择文件新建,在打开的“新建”对话框中选择“项目”。
b)单击“保存”按钮,窗口现出“项目管理器”界面,它是一个具有多个选项卡的对话框,其中列出了项目可以管理的文件类型。
(2)创建数据库和数据库表
a)打开“项目管理器”项目,将数据库建立在该项目中,让“项目管理器”来管理建立的数据库文件。
b)在“项目管理器”中选择“数据”选项卡;
c)单击“项目管理器”右侧的“新建”按钮,出现“新建数据库”对话框,选择“新建数据库”;
d)在出现的“创建”对话框中单击“保存在”下拉式列表,选择要保存数据库的磁盘和文件夹,然后在“数据库名”的右边输入相应的名称,单击“保存”按钮。
1)按数据库设计器工具栏上的“新建表”按钮;
2)按“新表”,输入新表名,按“保存”;
3)按照系统分析中的数据表结构输入有关数据库表的结构;
4)设置数据库表的索引。
5.6.2.2创建查询、视图和报表
一、创建查询
数据库最常用的操作就是查询,由于查询操作非常频繁,因此查询效率的高低将在很大程序上影响程序执行的效率。
查询4)设置排序或分组项,用以组织查询结果;
(5)定向查询结果,如浏览、报表、表、标签等,如果要保存创建的查询,可以指导一个名称,将查询文件保存为带.QPR扩展名的文件;
(6)运行查询。
(7)可使用表单做查询。
二、创建视图
视图是数据库中的一个特有的功能,只有当包含视图的数据库被打开时,才能使用视图。
利用视图,可以从表中提取一组记录,改变这些记录的值,并把更新结果送加到源表中。
如果不但要检索数据,还想更新它,就需要使用视图。
从多表中选取字段也是视图的一个重要用途。
创建视图和创建查询的步骤类似。
创建视图时要选择包含在视图中的表和字段、指定用来联接的联接条件、指定过滤器选择特定的记录,与查询不同的是,视图可以把在视图中做的数据修改传给原表。
建立视图的主要步骤是:
(1)从“项目管理器”中选定一个数据库;
(2)在“数据库”下,选定“本地视图”,并单击“新建”按钮,启动“新的本地视图”对话框;
(3)在“新的本地视图”对话框中,单击“新视图”按钮,进入“视图设计器”,系统将提示从当前数据或自由表中选择表或视图。
(4)根据一定的条件进行“联接”和“更新数据”操作。
三、创建报表
用报表设计器
5.6.2.3创建表单
在VisualFoxpro中表单是面向对象编程的主要工具,面向对象编的大多数工作在表单中进行。
设计表单的过程就是设计程序界面的过程。
通过表单的设计,设计出用户界面,然后运行它,使用户能够与系统进行交互操作。
表单显示了表和视图中的字段和记录,而且包含定位控件,在VisualFoxpro中可以使用“表单向导”或“表单设计器”创建表单。
在本系统的设计中,主要使用“表单设计器”来设计表单,步骤如下:
一、启动“表单设计器”
(1)在“项目管理器”中选择“文档”选项卡,然后选择“表单”;
(2)单击“新建”按钮,现出“新建表单”对话框;
(3)单击“新建表单”按钮,进入“表单设计器”。
二、“表单设计器”窗口
“表单设计器”中有表单和九种工具栏,常用的有三个:
(1)“布局”工具栏
(2)“表单控件”工具栏,可以向表单添加各种对象。
(3)“属性”工具栏:
设置、编辑表单对象的各种属性。
通过表单设计器既可以修改对象属性,也可以向对象添加控件。
5.6.2.4部分代码
1)查询录取情况“查询”按钮代码:
n=allt(this.parent.text1.value)
sele考生成绩信息
locaforallt(准考证号)=n
ifallt(考生成绩信息.准考证号)=n
iffound()andallt(考生成绩信息.准考证号)=n
ifmessagebox("准考证号:
"+考生成绩信息.准考证号+chr(13)+"成绩:
"+考生成绩信息.成绩+chr(13)+;
"姓名:
"+考生成绩信息.姓名,1,"确认信息")=1
ifval(考生成绩信息.成绩)>=500
messagebox("恭喜您已被A高中录取!
",3+48+0,"录取信息")
else
ifval(考生成绩信息.成绩)>=450
messagebox("恭喜您已被F高中录取!
",3+48+0,"录取信息")
else
ifval(考生成绩信息.成绩)>=400
messagebox("恭喜您已被M高中录取!
",3+48+0,"录取信息")
else
ifval(考生成绩信息.成绩)>=380
messagebox("恭喜您已被Q高中录取!
",3+48+0,"录取信息")
else
messagebox("您未被录取,请关注补录信息!
",3+48+0,"录取信息")
endif
endif
endif
endif
endif
endif
else
messagebox("输入信息错误,请重新输入!
",1+64+0,"提示")
endif
(2)“退出”代码:
thisform.release
6、结论
随着我国成功加入WTO及信息化浪潮的日益临近,学校在激烈的市场竞争环境下求得生存,就必须有效地利用人才、时间、信息结合的优势。
因此,如何使学校、学生及时掌握中考的各种信息、第一时间处理好随时变化的管理问题,建立一套符合中考生及教育系统实际的管理系统就显得尤为重要。
在反反复复的学习和不耻下问之下,我的辛勤努力有了回报,终于做出一个简单的软件,虽然这个软件功能非常简单,而且我想,在实际运用中,还有些不足,因为中考信息管理的内容非常丰富,我涉及到的仅仅是中考信息管理的一部分简单内容,离实际的中考生需求肯定还有差距。
例如学生选多所学校,添加新生的限制等方面考虑得还不完善。
针对中考信息管理,还应该建立一个有普遍意义的模型,这样对用户来讲,就比较容易通过修改有关管理制度来适应我们开发的软件。
由于我的知识浅薄,经验不足及阅历颇浅,因此,在该系统的设计方面还有很多不足,比如功能过少,界面不醒目等问题,我会在学习的使用过程中,根据工作的具体要求不断的修改、完善,争取使系统慢慢趋于完美。
7.后记
在本项目的软件开发的过程中,我全面实践一个面向数据库的应用系统的开发过程,学习很多有关的知识。
这样的项目对我们学过的数据结构,程序设计,数据库等课程是一个综合性很高的实践。
一些以前没有学得很扎实的课程内容,由于需要在实践中运行,刚开始我也感到头痛。
但回过头来强迫自己再去看课本,经过一段时间的实践,对于这些知识点有关的背景,概念和解决方案有了更深的理解,学习也越来越有兴趣,越来越轻松。
另外我还充分体会了从事软件技术开发工作需要特别谨慎认真的态度和作风,一点都不能马虎。
每个细微的细节都必须特别注意,如果考虑不周全,就会出现或大或小的错误。
如果早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时会删掉很多前面做的工作重新做。
遇到困难,我一般是自己先通过课本,实验指导和资料找解决办法,实在没辙才向老师请教。
尽管向老师请教解决问题比较快,自己钻研花的时间较多,但我还是觉得自己独立思考对学习提高帮助非常大。
在本系统的设计过程和论文编写过程中,指导老师和同学们都给予了我许多的帮助,尤其是我的指导老师提出了很多宝贵意见,在这里,我向这些帮助我的人表示衷心的感谢。
8.参考文献
《VisualFoxPro程序设计教程》
《VisualFoxPro程序设计教程上机实训与习题解答》
电子工业出版社