资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,10,章 系统开发实例,10.1,开发,VFP,数据库应用系统的一般步骤,需求分析,充分调研、写出需求规范说明书,数据库设计,逻辑设计、物理设计、数据代码设计,10.1,开发,VFP,数据库应用系统的一般步骤,应用程序设计,创建子类、用户界面设计与编码、数据输出设计,数据库维护功能、构造,VFP,应用程序,软件测试,应用程序发布,系统运行与维护,一个实例,:“,学生成绩管理系统”的开发,一、需求分析,开发目的:,(1),能对,学生成绩,有关的各类数据进行输入、修改与查询。,(2),能根据学生表和课程表录入每个学生的成绩数据,。,(3),能对学生成绩表进行条件查询,。,(4),能对四个表进行报表打印,数据需求,输入包括,成绩信息表、课程名表、系别表、学生信息表,4,个表,输出包括,4,个表的报表输出,每个学生的成绩单输出,每科成绩的输出,。,功能需求,成绩输入,用于学生考试成绩的输入,成绩查询,用于学生成绩的查询,可以设置查询条件,系统调用相关的条件进行查询。,可以查询每个学生的成绩,可以查询每科学生的成绩。,统计,可以对成绩进行各方面的统计和分析。,数据维护,可以对四个表进行增、删、改操作。,打印输出,可以对四个表进行打印输出,也可以对每个人或每科进行统计输出。,密码输入,对用户限定进入系统。,一个实例,:“,学生成绩管理系统”的开发,二、数据库设计,逻辑设计,(1),成绩信息表:,cj,(,学号,课程号,分数,学分,),(2),课程名表,:,kc,(,课程号,课程名称,),(3),系别表,:,xb,(,系号,,系名,负责人,),(4),学生信息表,:,xs,(,学号,,姓名,性别,,系号,,特长,出生日期,照片,),物理设计,三、,应用程序设计,总体设计,开始界面设计,初始用户界面设计,zjmbd.scx,进入系统代码,(,也可调用密码表单,再进入菜单,),Do,menu.mpr,Thisfrom.release,10.2,数据输入、数据查询模块的设计,一、数据输入:成绩录入表单,(,cjlr,),下图为设计与运行状态,代码的实现,添加记录按钮的单击事件,thisform.text1.value=,thisform.text2.value=,thisform.text3.value=,thisform.text4.value=,保存记录单击事件,if thisform.text1.value=,“,”,or thisform.text2.value=,“,”,or thisform.text3.value=,“,”,or thisform.text4.value=,“,”,messagebox,(,所有项内容都不能为空,48,提示信息,),else,locate for,成绩信息表,.,学号,=alltrim(thisform.text1.value)and,成绩信息表,.,课程号,=alltrim(thisform.text2.value),if found(),messagebox,(,此学号与课号已经存在,重新输入,48,提示信息,),thisform.text1.value=,thisform.text1.setfocus,else,insert into,成绩信息表,values(alltrim(thisform.text1.value),alltrim(thisform.text2.value),val(alltrim(thisform.text3.value),val(alltrim(thisform.text4.value),Messagebox,(“,添加成功,!”),endif,endif,学号,组合框的单击事件,bo1.visible=.f.,thisform.text1.visible=.t.,thisform.text1.value=bo1.text,学号,组合框的,lostfocus,bo1.visible=.f.,thisform.text1.visible=.t.,课程号组合框和学号类似,学号,文本框的单击事件,thisform.text1.visible=.f.,bo1.top=thisform.text1.top,bo1.left=thisform.text1.left,bo1.visible=.t.,课程号文本框单击事件和学号文本框单击事件类似。,学生信息录入表单,代 码,添加照片按钮的单击事件,:,thisform.text4.value=,getpict,(,选择相片,好了!,),命令按钮组的单击事件,do case,case,this.value,=1,thisform.text1.value=,thisform.text2.value=,thisform.text3.value=,thisform.text4.value=,thisform.text1.setfocus,case,this.value,=2,k1=thisform.text1.value,k2=thisform.text2.value,k3=bo1.value,k4=bo2.value,k5=bo3.value,k6=thisform.text3.value,k7=thisform.text4.value,insert into,学生信息表,(,学号,姓名,性别,系号,特长,出生日期,)value(k1,k2,k3,k4,k5,k6),APPEND GENERAL,学生信息表,.,照片,FROM&k7,thisform.image1.picture=k7,THISFORM.Refresh,messagebox,(,已经成功添加了你的朋友:,+alltrim(k1),0+64,一件大好事!,),case,this.value,=3,thisform.release,endcase,二、数据查询:学号成绩查询表单,设计之前和设计之后状态,代码实现,第一个查询按钮的单击事件,select*from,成绩信息表,where;,alltrim(bo1.text)=,成绩信息表,.,学号,第二个查询按钮的单击事件和第一个查询按钮相同,浏览全部记录按钮的单击事件,sele,*from,成绩信息表,第三个查询按钮的单击事件,if val(alltrim(thisform.text1.value)val(alltrim(thisform.text2.value),messagebox,(,此值须大于,0,并且不能大于后面的值,48,信息窗口,),else,if val(alltrim(thisform.text2.value)100,messagebox,(,此值须小于,100,48,信息窗口,),else,if thisform.text1.value=“”or thisform.text2.value=“”,messagebox,(“,区间值不能为空”,48,信息窗口,),else,sele,*from,成绩信息表,where,成绩信息表,.,分数,between val(alltrim(thisform.text1.value)and val(alltrim(thisform.text2.value),endif,endif,endif,报表设计,作四个数据表的报表,菜单设计,信息输入 成绩查询 数据维护 数据输出 退出,成绩输入 学生信息 学生信息,学生信息输入 系别信息 系别信息,课程信息 课程信息,成绩信息,退出代码,:,close all,set,sysmenu,to,defa,clear events,clear all,close all,set talk off,clear windows,set,sysmenu,off,set,sysmenu,to,set safety off,set status bar off,set,defa,to d:ma2,zoom windows screen max,modi,windows screen title,学生成绩管理系统,modi,windows screen fill file d:ma2xs_027.jpg,do form,zjmbd.scx,read events,set talk on,quit,主程序,10.4,应用程序的管理与发布,10.4.1,应用程序管理,项目管理器中的主文件,连编,文件的包含与排除,应用程序发布,发布准备,在项目管理器中生成一个,.exe,可执行程序,创建发布树,(,目录,),创建发布磁盘,磁盘映象由安装向导生成在硬盘的磁盘映象目录中,选定工具菜单的向导选项的安装命令。,图,10.21,安装向导对话框,小结,学生成绩管理系统共包含以下内容,一个项目,一个库,四个表,三个表单,,zjmbd,cjlr,cjcx,四个报表,每个表一个报表,一个菜单,一个主程序(连编),选作:密码表单,编辑表单,浏览表单等,分组小计报表。,
展开阅读全文