《第十二章 应用程序开发.doc》由会员分享,可在线阅读,更多相关《第十二章 应用程序开发.doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第十二章 应用程序开发 本章主要内容:应用程序开发的基本步骤(包括规划应用程序、设计数据库、设计应用程序界面)、优化应用程序、应用实例。本章重点:应用程序开发的基本步骤。本章难点:应用程序开发的基本步骤。12.1 开发应用程序的基本步骤 在开发应用程序时,首先应进行系统环境规划,规划中要考虑的因素有:应用程序所面向的用户及其可能需要的各种操作、数据库规模、系统工作平台(单用户或是网络)、程序要处理的数据类型(是本地数据还是远程数据)等。规划完成之后,即可利用项目管理器来进行每一步开发,它可以帮助管理开发过程中的所有文件,并最终连编成应用程序。应用程序的开发步骤大致如下图所示: 1. 数据库结构
2、设计2. 系统功能模块设计3. 菜单设计4. 用户界面设计5. 查询设计6. 报表设计7. 系统维护设计8. 系统模块调试9. 用项目管理器连编成应用程序12.2 优化应用程序的技巧 1. 优化表和索引(1) 如果没有启用记录或表缓冲,应该使用INSERT-SQL命令(因索引只需更新一次),而不要使用APPEND BLANK 命令后再使用REPLACE;(2) 当需要将大量记录追加到索引过的表中时,应先取消或关闭索引,在数据追加完毕,再重建索引,这样速度会快些;(3) 在SQL语句中要尽量避免函数调用;(4) 如果需要经常使用某种索引顺序,应周期性使用此索引对表进行排序,提高表的性能;(5)
3、在多用户环境中,使用CDX 索引文件比 IDX 索引文件快。2. 使用Rushmore 技术加速数据访问使用 Rushmore 技术可以显著地提高查询的速度。Rushmore 是一种从表中快速地选取记录集的技术,它可将查询响应时间从数小时或数分钟降低到数秒。访问单表时,使用 FOR 子句,访问多表时,使用SELECT-SQL 查询,可自动隐含地使用该技术。(1)访问单个表中的数据,使用一个FOR子句;(2)访问多个表中的数据,使用SELECT-SQL、DELETE-SQL、UPDATE-SQL命令。3. 优化表单和控件(1) 使用数据环境;(2)在表单集里限制表单数目;(3)在页框中动态加载页
4、面控件;(4)动态绑定控件与数据;(5)当必须对屏幕进行多处更改时,延迟屏幕刷新;(6)在经常使用的方法程序中减少代码。4. 提高VFP程序性能的一般技巧(1)数据要选择正确的数据类型(2)避免重复打开文件,需要打开多个文件时,将它们分配给不同的工作区,需要时使用SELECT命令选择工作区;(3)尽量使用FORENDFOR循环,而不要使用DO WHILEENDDO循环,因为FOR循环较快;(4)从多个字段复制数据时,用SCATTER TO ARRAY 比用SCATTER MEMVER快;(5)为了有效的使用内存,避免在需要对象之前就创建它们,当不要该对象时应及时清除它;(6)尽量将输出发送到顶
5、层窗口,速度快些;(7)使用SET TALK OFF命令取消状态显示,可节省屏幕顶端更新时间;(8)将SET DOHISTORY 设置为OFF,避免当运行程序时每次都更新命令窗口;(9)使用名称表达式代替宏替换,因为名称表达式更快;(10)有效地引用对象属性:优化对属性的重复引用,可将属性值保存到一个变量中,再进行更改,在完成时一次性的设置属性;有效地引用多个属性,可以用WITHENDWITH命令避免重复查找同一个对象,或将对象的引用保存在变量中。12.3 程序开发实例 简单的高校教学管理系统 1. 设计数据库数据库的组成:学生登记表、教师登记表、院系登记表、专业登记表、班级登记表、教学计划表
6、、课程登记表、成绩登记表数据表的结构:各数据表的结构如下表。表名字段名及字段类型 学生登记表 学号姓名性别出生日期 班级 年级专业院系特长政治面貌C8C8 C2DC5 C2 C4 C3 MC10教师登记表教工号姓名性别出生日期职称晋升时间职务专业院系 参加工作时间C5C8C2DC10D C10 C4 C3 D 成绩登记表学号姓名 课程代号 平时成绩 期末考试 总评成绩 考试类型教师考试日期 C7 C8 C5 N5.1N5.1N5.1C10C5D教学计划表院系名称班级名称课程名学年/学期学时数考试类型教室任课教师C10C10C16C5N3C10C4C8课程登记表课程代号类别课程名学分是否考试是否
7、必修 C5C2C16N3.1LL 班级登记表班级代号班级名称班级人数专业代号 C5 C10 N3 C4 专业登记表专业代号专业名称 部门代号 C4 C20 C3 院系登记表院系代号 院系名称 C3 C20 2. 设计基本表单总表单:设计主界面表单与口令检查表单(采用表单集)并运行测试。 数据表表单:先用向导创建各数据表的表单,再用表单设计器修改成所需的样式。数据测试:利用各表单向每个数据表输入部分数据,并进行简单测试。 3. 设计菜单主菜单组成:根据需要本系统设置6大项菜单:系统维护(需密码才可进入)、浏览、查询、信息输出、帮助、退出。菜单设计:根据需要完成的各项功能,在菜单设计器中设计各菜单
8、的子菜单和菜单项。4. 设计浏览表单设计成表单集的形式,该表单集既要能浏览到各表的详细信息,又要能浏览到相关表的统计信息。在此表单中出现的任何信息仅供浏览。5. 设计查询表单先在表单设计器中设计一个查询总表单,再用表单向导中的一对多表单向导设计几个分表单,并在表单设计器中进行所需的修改, 最后在总表单的命令按钮中添加所需代码, 使各项查询功能得到实现。 6. 设计输出报表根据学校通常所需的教学管理信息,设计一组报表,需要时可以打印出来。输出报表包括:学生一览表、教师一览表、部门一览表、专业一览表、班级一览表、课程一览表、成绩一览表、教学计划一览表。 7. 完善菜单设计编制各菜单项的过程代码使菜单功能得以实现。 8. 编制帮助信息将帮助信息以独立的文件形式保存在计算机中,通过表单的调用来显示帮助信息。帮助信息主要介绍本系统的各项功能及使用方法。 9. 连编应用程序设计一个主程序,并在项目管理器中用连编按钮将系统所有文件连编成一个应用程序。10测试 对不符合要求的部分进行修改,重新连编,再调试,直到完全满足要求为止。