1、长春工业大学长春工业大学计算机技术基础课程设计指导书Visual Foxpro 6.0程序设计专 业:全校文科专业专业方向:长春工业大学信息传播工程学院2006年 12月一、Visual Foxpro 6.0课程设计目的、任务(一)、课程设计目的本课程的课程设计实际是非计算机应用专业学生学习完计算机技术基础(Visual Foxpro 6.0)课程后,进行的一次全面的综合训练,其目的在于加深对Visual Foxpro 6.0程序设计基础理论和基本知识的理解,掌握运用Visual Foxpro 6.0系统开发软件的基本方法,提高运用Visual Foxpro 6.0系统解决实际问题的能力。使学
2、生成为具有扎实的计算机理论基础和较强的独立动手能力的复合型、应用型人才。(二)、课程设计任务在规定时间内设计管理系统或管理系统的部分模块。按课程设计指导书提供的课题,应根据给出的基本需求和要求独立完成设计,可根据设计时间的安排及工作量的大小适当选择课题或者自选用其它课题。可以组成设计小组,分模块进行,共同协作完成一个应用系统的开发任务二、课程设计内容及要求(一)、数据库设计与基本操作1、分析数据需求 根据课题确定数据库要存储的信息;2、确定需要的表文件 建立数据库文件一旦明确了数据库所要实现的功能,就可以将必要的信息分解为不同的相关主题,在数据库中为每个主题建立一个表;3、确定需要的字段根据用
3、户需求,按照“字段的唯一性、无关性和完整性”的原则设计字段,定义字段名、类型、宽度和小数位数,建立数据表文件结构并输入相应的初始数据;4、确定个表之间的关系研究各表字段之间的关系,确定各表之间的数据应该如何进行连接;(二)、 系统功能设计及要求通过设计系统的功能来达到设计目标。1、系统的基本功能系统能够通过菜单实现数据维护、浏览、查询、报表、退出等基本功能;可以自行设计使系统具有更强的功能;2、口令检查要求应用程序主窗口拥有非VFP系统默认的标题和图标,进入系统时应设置具备口令检查功能的主界面,该口令在进入系统后可以通过菜单中的相关命令来修改;3、界面设计与特殊效果 (1)对界面的要求在设计应
4、用程序时,应特别注意用户界面的设计。用户使用你设计的软件,首先接触的就是程序用户界面。一个优秀的用户界面,首先应该使用户操作简便,操作提示信息应意义明确,对没有计算机基础的用户,也能很容易掌握。其次,用户界面应该对用户来说是视觉、听觉上的享受,同时视觉、听觉效果又不能喧宾夺主,应突出操作提示。另外,界面在屏幕上显示应注意速度,等待时间超过5秒以上,应给出提示信息,提示用户计算机正在处理的工作。(2)菜单界面规划在进行菜单程序设计前,应对菜单界面布局和调用进行规划。首先,应对需要进行输入/输出的信息进行归类,根据信息量情况,分配到不同的位置,再具体设计每个菜单窗口。设计菜单窗口时,菜单项的位置一
5、般应按操作的顺序进行排放,同时注意整体布局的美观。另外,不同类型的显示信息应选择不同的位置排放,以简化用户操作。(3)特殊效果处理用户界面加合适的特殊效果后,能给用户以视觉和娱乐的享受,使他们更喜欢你的软件,更愿意学习和掌握你设计的系统。一般的特殊处理有:增加特殊显示效果和动画效果。4、输入输出格式设计要求输入设计时,一定要参照原始数据的输入顺序和格式,设计出合适的输入界面。否则,用户会感觉输入操作不方便。原始数据顺序格式不合理处,可以修改,并给出说明。 输出设计时,一定要根据用户的表样去完成报表和标签的设计。一般用户都对报表和标签格式有一定的要求。另外,对屏幕提示输出也应慎重考虑,屏幕操作提
6、示应做到言简意劾,位置突出,效果醒目。 5、在线帮助设计(可选)(1)帮助的类型一个优秀的软件,应该有非常实用和便于操作的帮助系统,指导用户完成处理任务。帮助系统有在线和离线两种。在线帮助是指在操作的时候随时都可以打开帮助窗口指导用户完成当前的操作。(2)在线帮助的设计在线帮助文本可以存放在一个数据库文件中,于三个字段构成:模块程序文件名(不带开展名)、帮助标题、帮助内容(备注型字段,如果有非文本对象,使用公共型字段)。每个窗口均包含帮助按钮,执行帮助程序。使用函数判断当前执行程序所在模块,在帮助库的模块程序文件名字段查找相同模块名,弹出窗口显示帮助标题和帮助内容,完成在线帮助设计。 请填写以
7、下表格: 模块程序文件名 帮助标题 帮助说明内容6、查询设计 查询的概念 在数据库应用程序中,查询和统计使用相当频繁,用户需要的信息基本上都是通过统计和查询得到的。因此查询、统计模块设计的好坏,直接影响软件的性能和用户对软件的评价。 查询分简单查询、组合查询和模糊查询。简单查询是查找某一字段值与给出值满足给定条件的一个或一组记录。一般使用系统提供的记录定位命令就能满足要求。组合查询是要在一个或多个数据库文件中的多个字段查找满足给定条件的一个或一组记录,有时要查找字段的统计结果。模糊查询是指查找与给定条件相似或相近的一组记录。 7、多用户程序设计(可选)(1)文件共享与记录和文件的锁定多用户程序
8、与单用户程序的最重要的差别是:允许多个用户共享数据库数据和解决由此带来的冲突。通常,多个用户如果并发地读取相同的数据,不会造成数据文件中数据的不一致,但如果两个或更多的用户要同时修改一个数据文件的数据,数据库管理系统必须提供控制手段,才能避免数据不一致的问题。 对有共享要求的数据库,填写下面表格: 数据库名 加锁策略 使用模块 (2)共享信息的提示当发生共享冲突时,应给用户提示信息,通知用户目前是什么原因发生冲突,并由用户选择是否等待,还是退出模块,以后在处理当前的任务。8、 课程设计说明书的编写规范要求书写详细的设计说明书,对复杂的代码段和程序段,应画出程序流程图。写出不少于3000字的课程
9、设计说明书。说明书中除了在封面应有题目、班级、姓名、学号和课程设计日期、地点以外,其正文一般有如下几个方面的内容:1)、选题背景(题目简述或目的)2)、设计思路流程(或功能模块图)3)、程序流程图4)、主要解决问题的方法及技术关键5)、程序清单(包括注释)6)、设计结果说明(分析设计优点与不足、存在的问题及改进的思路或方法)9、课程设计的考核要求 课程设计完成后,必须提交设计说明书,软件数据盘。由指导教师根据学生完成任务的情况、课程设计说明书的质量和课程设计过程中的工作态度等综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。优秀者人数一般不得超过总人数的20%。不及格者不能得到相应
10、的学分,需重新做课程设计,经指导教师考核及格后,方可取得相应学分。三、 课程设计时间课程设计时间为四周,其中上机调试、测试时间为一周,在学习完Visual Foxpro 6.0程序设计课程后进行。四、成绩评定本次设计的成绩评定采用百分制,其中:1. 说明书:40分包括论述的全面性、合理性,文字表述的准确性和条理性,以及书写的工整程度等。2. 程序设计:40分包括是否达到设计的基本要求,应用程序、表单的界面是否美观,表设计是否满足实际需求,以及在验收时能否正确回答与设计有关的问题等。3. 平时考核:20分包括考勤、调试程序能力及平时的综合考查。优秀(90分以上) 能全面完成课程设计的任务。能灵活
11、、正确、综合运用所学的知识,分析问题和解决问题的能力强,在方案设计或数据处理、计算等某些方面有一定见解或独创。说明书质量高,文理通顺。 实验技能好,方案正确,数据可靠,动手能力强。 在答辩中报告和回答问题正确。 在课程设计工作中勇于承担任务,完成工作量大。良好(8089分) 能较好完成课程设计的任务。能综合运用所学的知识,分析问题和解决问题的能力较强。说明书质量高,文理通顺。 实验技能较好,方案正确,数据比较可靠。 答辩中回答问题较为正确。 在课程设计工作中,工作努力,能较好地完成规定的任务。中等(7079分) 能完成课程设计的任务,尚能综合运用所学的知识,具有一定分析问题和解决问题的能力。说
12、明书质量尚好,文理通顺。 实验技能尚好,方案尚正确,数据基本可靠。 答辩中回答主要问题基本正确。 在课程设计工作中,工作努力,能完成规定的任务。及格(6069分) 能基本完成课程设计的任务,所学的理论知识能基本掌握,具有基本分析问题和解决问题的能力。说明书质量一般,文理尚通顺。 有一定的实验技能,方案基本正确,数据基本接近。 答辩中基本上能回答主要问题,无重大错误。 在课程设计工作中,工作尚努力,能完成一定的工作量。不及格(059分) 未能按质量完成毕业设计(论文)的任务。 说明书有严重错误,或实验技能差。 答辩中基本概念不清楚,主要问题回答错误,经过启发仍不能较正确地回答问题,达不到最低要求
13、。对于弄虚作假、冒名顶替,严重违反纪律的不予答辩并以不及格论。五、课程设计课题 (一)、课程设计题目 1、学生成绩管理系统要求:实现对学生成绩的输入、修改、查询、输出、备份和恢复功能。2、学籍管理系统要求:实现对学生资料的输入、修改、查询、输出、备份和恢复功能。3、工资管理系统(1)系统维护要求:对系统初始化和职工增减变动情况进行维护,以及对部门和职工类别的维护。(2)输入变动数据要求:对每名职工每月的变动数据项进行输入,并可根据实际需要选择所输入的变动项目。输入时可以从任何一个部门,任何一个职工开始输入,并且可以随时退出。(3)更新固定数据要求:对每名职工每月的固定数据项进行输入,并可根据实
14、际需要可以对每个职工单独处理,也可以按一定条件成批处理,并且可以随时退出。(4)工资查询要求:能查询每个职工的每个工资项目,并可以依此功能来检查输入数据的正确性。(5)计算打印工资要求:完成工资汇总表的计算汇总工作,打印出工资条、工资存档表、工资汇总表。在进行工资汇总时,对工资发放时所需的各种面额的钞票张数进行统计。(6)工资分配要求:解决工资的费用分配问题和职工福利费用的提取问题。首先完成按工资费用去向进行汇总,同时按工资总额计算出计提的福利费用数额,然后设置工资费用和计提福利费用的科目号(代码),由计算机自动进行编制记帐凭证和转帐处理,并输出工资表和机制转帐凭证。4、人事管理系统要求:主要
15、完成保存现有职工的基本信息资料、添加新职工的资料、删除已经离开的职工的基本资料并对离开职工的资料保留一年5、数据库维护系统要求:能用程序对数据库文件进行建立、修改、删除,并能对数据库文件的结构在屏幕上进行编辑修改,对数据库文件中数据进行备份和恢复。6、餐饮管理系统(1)营业流水要求:对消费清单进行输入、打印、结算,并对所有营业流水帐进行查询。(2)采购库存要求:完成采购的录入、修改(要有痕迹)、查询(查询以前的采购情况、查询库存的当前状况)和领料出库的录入。(3)餐桌预定要求:预定餐桌和观察各餐桌的状态(空、已经预定、下在用餐)。(4)应收应付要求:完成应收、应付的结算和查询。(5)费用管理要
16、求:对费用支出项目进行输入、查询,对工资发放情况进行输入和查询。(6)经营状况要求:对“营业流水”、“采购库存”、“应收应付”等情况进行综合分析;对于利润分别按年、月、日进行计算,并进行报表输出。(7)信息中心要求:录入、查询本店人员信息,修改、查询有关供货商信息,修改、查询有关客户信息。(8)系统维护要求:维护本酒店的餐桌号、付款方式、费用项目名称、酒店名称、电话号码、菜谱。7、图书管理系统要求:建立读者档案;建立图书档案,建立书目索引;完成日常图书检索、借还工作,对读者档案、图书档案、借还系统的访问,必需进行身份验证。(二)、课程设计案例VFP课程设计实例学生成绩管理系统简介1. 系统组成
17、 本系统由1个数据库、3个查询,14个表单、3个报表、1个菜单、6个程序和2个自由表组成。 数据库组成:(1)数据表3个: 学生表(5个字段: xh, xm, xb, csrq, bj),其中有4个班各5名学生的记录课程表(4个字段:kch,kcm, js, xf),其中有4门课程的记录;成绩表(3个字段:xh, kch, cj),其中有80条学生成绩的记录。(2)本地视图1个: 基于以上3张表创建,输出字段为:xh, xm, xb, bj, kcm, cj查询组成:查询学生、按班级查询成绩、按课程查询成绩 表单组成: 主界面表单、退出表单、学生表单、课程表单、成绩表单(可按学号分类和按课程分
18、类)、 查询学生表单、查询成绩表单、总浏览表单、浏览学生表单、浏览成绩表单、系统信息表单、 设置口令表单集、修改表单界面。 菜单组成:主菜单由系统维护、浏览、查询、报表、帮助、退出6项组成。报表组成:学生一览表、课程一览表、成绩一览表(可按课程分类和按学号分类)。程序组成:主程序、统计全体学生概况、按班级统计学生概况、统计全体成绩概括、按班级统计各门课的成绩、按课程统计各班学生的成绩。自由表组成:密码表、系统信息表。2. 系统功能 本系统的主要功能分别通过主菜单中的以下各项来实现: 通过系统维护菜单实现数据表记录的维护、数据表结构的修改、系统口令的更改、表单的修改; 通过浏览菜单实现对学生表、
19、课程表和成绩表的总浏览和相关统计信息的浏览; 通过查询菜单实现对学生和成绩的各种查询; 通过报表菜单实现学生、课程和成绩的打印输出; 通过退出菜单退出本系统。3数据库组成数据库名称 数据表名称 数据表结构 记录 数据test 表xs Xh c7,xm c8,xb c2,csrq d,bj c10 4个班,每班5名学生 表kc Kch c5,kcm c20,js c8,xf n3.1 至少4门课 表cj Xh c7,kcm c20,cj n5.1 每人至少2门课成绩 本地视图:表xscj Xh,xm,xb,bj,kcm,cj 4表单组成 表单名称 功能 设计方法 表xs.scx 用于数据表的维护
20、, 通过这3 个表单对3 个基本数据表进行记录的修改、删除、增加、查看等操作 先用表单向导生成基本表单,再在表单设计器中进行适当修改,制作成自己满意的样式。 表kc.scx 表cj.scx 查询学生.scx 根据用户设置的条件对学生表进行各种情况的查询 在表单设计器中利用数据环境生成表格,再从表单控制中调出系统类库,将文本按钮组添加到表单中,去掉多余部分,只留下查找按钮即可。 查询成绩.scx 根据用户设置的条件对学生成绩表进行查询 总浏览表.scx 以页面形式将3张数据表的全部内容集中展现在一个表单中,以便用户了解系统总的情况。 在表单设计器中利用页框控件生成3个页面,再利用数据环境将3张数
21、据表分别拖到各页面上,生成相应表格,调至合适大小即可。 浏览学生.scx 以页面形式将学生表的内容按班级分组显示,以便阅览。第1页为全体学生概况,第2页为各班学生情况。 在表单设计器中利用页框控件生成2个页面,第1页设计8个标签和7个文本框,并在其Activate 过程中调用程序 sumstud.prg;第2页设计5个标签,3个文本框,1个组合框,1个表格,在组合框的InteractiveChange过程中调用程序clastud.prg 和查询 student.qpr。 浏览成绩.scx 以页面形式将成绩表的内容按班级和课程分组显示,以便阅览。第1页为全体学生成绩概况,第2页为按班级显示学生各
22、门课的成绩情况,第3页为按课程显示各班学生的成绩情况。 在表单设计器中利用页框控件生成3个页面,第1页设计8个标签和7个文本框,并在其Activate 过程中调用程序 sumcj.prg;第2页设计5个标签,3个文本框,1个组合框,1个表格,在组合框的InteractiveChange过程中调用程序clacj.prg和查询 cla_cj.qpr; 第3页设计5个标签,3个文本框,1个组合框,1个表格,在组合框的InteractiveChange 过程中调用程subcj.prg 和查询 sub_cj.qpr。 5. 报表组成报表名称 功能 设计方法 表xs.frx 为用户提供系统数据的书面输出形
23、式。 先用报表向导生成基本报表,再在报表设计器中进行适当修改,制作成自己满意的样式。 表kc.frx 表cj.frx 6程序文件清单文件名 作用 程序内容 主程序:sjmain.prg 设置系统环境 确定系统口令 调用主界面 set talk offset safety offset deleted on set defa to d:sjrvfp60课程设计set sysmenu off_screen.caption=学生成绩管理系统_screen.backcolor=RGB(157,214,225)_screen.icon=大自然 .ico_screen.windowstate=2 Publ
24、ic passw,n use passw.dbf go bottom passw=alltrim(password)use Do form 主界面read events 在浏览学生表单第1页中调用的程序:Sumstud.prg 统计全体学生概况,包括:学生总数: S1 男生总数: S3 女生总数: S4 各班学生总数: S2、S5、S6、S7 close datapublic cs1, s1,s2,s3,s4,s5,s6,s7open data 数据testuse 表xscount to s1count for xb=男 to s3count for xb=女 to s4count for b
25、j=98数教 to s2count for bj=98英语 to s5count for bj=98英教 to s6count for bj=98日语 to s7use 在浏览学生表单第2页中调用的程序:Clastud.prg 根据输入的班级名称 CS1,显示该班学生情况,并统计该班的:学生总数: CS2男生总数: CS3女生总数: CS4 close datapublic cs2,cs3,cs4open data 数据testuse 表xsset filter to bj=cs1count to cs2count for xb=男 to cs3count for xb=女 to cs4set
26、 filter touse 在浏览成绩表单第1页中调用的程序:Sumcj.prg 统计全体学生成绩概况,包括:学生总平成绩: C1 男生总平成绩: C3 女生总平成绩: C4 各班学生总平成绩:C2、C5、C6、C7close datapublic cc1, c1,c2,c3,c4,c5,c6,c7 open data 数据testuse 表xscjcalculate avg(cj) to c1calculate avg(cj) for xb=男 to c3calculate avg(cj) for xb=女 to c4calculate avg(cj) for bj=98数教 to c2ca
27、lculate avg(cj) for bj=98英语 to c5calculate avg(cj) for bj=98英教 to c6calculate avg(cj) for bj=98日语 to c7use在浏览成绩表单第2页中调用的程序:clacj.prg 根据输入的班级名称 CC1,统计该班的: 学生平均分: CC2男生平均分: CC3女生平均分: CC4并通过执行查询 (cla_cj.qpr)在表格中显示该班各门课的平均分、最高分、最低分。 close datapublic cc2,cc3,cc4open data 数据testuse 表xscjset filter to bj=c
28、c1calculate avg(cj) to cc2calculate avg(cj) for xb=男 to cc3calculate avg(cj) for xb=女 to cc4set filter touse 在浏览成绩表单第3页中调用的程序:Subcj.prg 根据输入的课程名称 SC1,统计该课程的: 平均分: SC2最高分: SC3 最低分: SC4并通过执行查询(sub_cj.qpr)在表格中显示该课程各班的平均分、最高分、最低分。 close datapublic sc2,sc3,sc4 open data 数据testuse 表xscjset filter to kcm=sc1calculate avg(cj) to sc2calculate max(cj) to sc3calculate min(cj) to sc4set filter touse
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1