VF学生成绩管理系统实验报告.docx

上传人:b****1 文档编号:201764 上传时间:2023-04-28 格式:DOCX 页数:21 大小:248.09KB
下载 相关 举报
VF学生成绩管理系统实验报告.docx_第1页
第1页 / 共21页
VF学生成绩管理系统实验报告.docx_第2页
第2页 / 共21页
VF学生成绩管理系统实验报告.docx_第3页
第3页 / 共21页
VF学生成绩管理系统实验报告.docx_第4页
第4页 / 共21页
VF学生成绩管理系统实验报告.docx_第5页
第5页 / 共21页
VF学生成绩管理系统实验报告.docx_第6页
第6页 / 共21页
VF学生成绩管理系统实验报告.docx_第7页
第7页 / 共21页
VF学生成绩管理系统实验报告.docx_第8页
第8页 / 共21页
VF学生成绩管理系统实验报告.docx_第9页
第9页 / 共21页
VF学生成绩管理系统实验报告.docx_第10页
第10页 / 共21页
VF学生成绩管理系统实验报告.docx_第11页
第11页 / 共21页
VF学生成绩管理系统实验报告.docx_第12页
第12页 / 共21页
VF学生成绩管理系统实验报告.docx_第13页
第13页 / 共21页
VF学生成绩管理系统实验报告.docx_第14页
第14页 / 共21页
VF学生成绩管理系统实验报告.docx_第15页
第15页 / 共21页
VF学生成绩管理系统实验报告.docx_第16页
第16页 / 共21页
VF学生成绩管理系统实验报告.docx_第17页
第17页 / 共21页
VF学生成绩管理系统实验报告.docx_第18页
第18页 / 共21页
VF学生成绩管理系统实验报告.docx_第19页
第19页 / 共21页
VF学生成绩管理系统实验报告.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VF学生成绩管理系统实验报告.docx

《VF学生成绩管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《VF学生成绩管理系统实验报告.docx(21页珍藏版)》请在冰点文库上搜索。

VF学生成绩管理系统实验报告.docx

VF学生成绩管理系统实验报告

VF实验报告

1、需求分析

某大学因扩招需求,需要建立一个“学生成绩管理系统”,以取代人工管理。

开发目的和功能如下:

(1)能进行成绩及相关数据的录入。

(2)具有修改功能。

(3)能按姓名、学号查询任意一名同学的成绩。

(4)能完成上表中各项统计。

(5)能将全班同学按从高分到低分的顺序排序。

(6)能打印上述表格。

一、数据需求

在调研的过程中,用户提供了该系统所需的输入、输出单据。

输入单据包括学生成绩单、基本信息单等,输出单据包括成绩从高到低排序单、分数段人数单、相关数据统计单等,另外,在最终的打印输出中还有两张表:

成绩分析表和成绩排序表。

学号

姓名

平时成绩

考试成绩

最终成绩

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

学生成绩表

课程名称

任课老师

上课班级

学生人数

考试时间

考试形式

 

 

 

 

 

 

考试基本信息表

命题形式

命题负责人

阅卷人

阅卷负责人

平卷负责人

教研室主任

填表日期

 

 

 

 

 

 

 

分数段人数表

分数

不及格

60-70

70-80

80-90

90-100

人数

 

 

 

 

 

相关数据统计表

相关数据

平均分数

平均离差

标准差

极差

合格率

数值

 

 

 

 

 

二、功能需求

功能分析的任务,是弄清用户对目标系统数据处理功能所提出的需求,根据系统目标和数据需求,本系统的功能需求可归纳为以下几个方面。

1、数据录入

录入功能用于在各种手填单据中增加新的记录,及时补充到系统将要运行的表中。

这些单据包括学生成绩表、基本信息表等。

2、数据浏览和修改

能够浏览所要得到的数据表单,并且有修改功能。

这些表单包括学生成绩表、基本信息表等。

3、数据查询

此查询功能包括两个:

按姓名查询和按学号查询,能够查询到学生成绩表中各个字段的信息,并显示相关内容。

4、数据统计和管理

此功能能够统计出各个分数段的人数和分数的相关信息,包括全班学生的平均分数、平均离差、标准差、极差和合格率等。

它从学生成绩表中调用相关数据,把计算得到的数据放入分数段人数表和相关数据统计表。

平均分数=

平均离差=平均分数-期望值标准差S=

极差=最高分-最低分合格率=合格人数÷实考人数

5、表格打印

此功能把上面得到的考试基本信息、分数段人数、相关数据统计中的数据填入到最终的打印报表中,这些报表包括成绩排序表和成绩分析表。

课程名称

任课教师

上课班级

学生人数(n)

考试时间

考试形式

命题

命题形式

负责人

阅卷

阅卷人

负责人

成绩分析

成绩评价

成绩分布

成绩

0-59.5

60-69.5

70-79.5

80-89.5

90-100

人数

平均分数=

平均离差=平均分数-期望值

标准差S=

极差=最高分-最低分=

合格率=合格人数÷实考人数=

评卷负责人

教研室主任

填表日期

年月日

考试情况统计分析表

2、数据库设计

数据库设计的任务是确定系统所需的数据库。

数据库是表的集合,通常一个系统只需一个数据库。

数据库设计可分为逻辑设计与物理设计两个步骤,第一步确定数据库所包含的表及字段,第二步是确定表的具体结果,即确定字段的名称、类型及宽度等。

一、逻辑设计

设计从分析数据入手,输入数据中的某类相关数据可以归纳为一个类。

对需要同时调用的若干表,应使它们符合关联要求。

数据库设计好后,可通过分析输出数据来验证起可用性,若发现有的输出数据不能导出,必须检查问题,重新调试。

本系统根据学生成绩单、基本信息单等单据的数据需求,从学生成绩单、基本信息单、成绩从高到低排序单、分数段人数单、相关数据统计单中归纳出了包含五个表的数据库。

现将这些表列出如下:

(1)学生成绩单:

姓名、学号、平时成绩、考试成绩、最终成绩。

(2)基本信息单等:

课程名称、任课教师、上课班级、学生人数、考试时间、考试形式、命题形式、命题负责人、阅卷人、阅卷负责人、成绩评价、评卷负责人、教研室主任、填表日期。

(3)成绩从高到低排序单:

姓名、学号、平时成绩、考试成绩、最终成绩。

(4)分数段人数单:

成绩段、人数。

(5)相关数据统计单:

,平均分数、平均离差、标准差、极差、合格率。

根据数据库处理的需求,这些表需要和打印表关联起来,如下图所示。

图中矩形框表示表,需要关联的表用线段连接。

分数段人数单

成绩分析表

相关数据统计单

基本信息单

成绩排序表

学生成绩单

成绩从高到低排序单

二、物理设计

下面列出了学生成绩管理系统的部分的表结构,为了便于理解系统,同时也列出了表的部分记录。

1、学生成绩单(学生成绩.DBF)

结构:

学生成绩单(姓名c(10)、学号c(10)、平时成绩n(10)、考试成绩n(10)、最终成绩n(10))

记录:

学号姓名平时成绩考试成绩最终成绩

08605201小红918589

08605202小明888888

08605203小云959394

2、分数段人数(分数段人数.DBF)

结构:

分数段人数(成绩段c(10)、人数n(10))

记录:

分数不及格60-7070-8080-9090-100

人数11133

3、相关数据统计表(相关数据统计表.DBF)

结构:

相关数据统计表(平均分数n(10)、平均离差n(10)、标准差n(10)、极差n(10)、合格率n(10))

记录:

相关数据平均分数平均离差标准差极差合格率

数值82.888922.888913.8759947.00000.88889

出来上述的三个表外,还有基本信息单(学基本信息单.DBF)、成绩从高到低排序单(成绩从高到低排序单.DBF),其结构为课程名称c(10)、任课教师c(10)、上课班级c(10)、学生人数n(10)、考试时间c(10)、考试形式c(10)、命题形式c(10)、命题负责人c(10)、阅卷人c(10)、阅卷负责人c(10)、成绩评价c(10)、评卷负责人c(10)、教研室主任c(10)、填表日期c(10)。

3、应用成绩设计

一、总统设计

按照功能分类是总体设计中常用的方法,系统的总体结构可用层次图(HierarchyChart,简称HC图)来表示,此学生成绩管理系统的HC可由下图表示。

自上而下进行分层:

第一层是系统层,对应主程序;第二层为子系统层,起分类控制作用,但是当该层没有下一层时也可直接用来表达功能;第三层为功能层;第四层为操作层。

下图所示的学生成绩管理系统有三层,系统功能分类如下:

学生成绩表和基本信息表的新增功能归入数据录入一类,它们俩的浏览和修改功能归入数据修改一类,数据查询功能包括了按姓名查询和按学号查询,相关成绩统计和成绩排序归入数据统计与管理一类,最后的表格打印中有打印成绩分析表和打印排序结果。

图中未画出操作层,该层次的程序模块在模块设计中列出。

学生成绩表

基本信息表

学生成绩表

基本信息表

表格打印

相关成绩统计

成绩排序

数据统计与管理

按姓名查询

按学号查询

数据查询

数据修改

数据录入

成绩统计信息系统

二、初始用户界面设计

从总统结构图很容易列出应用程序的菜单,由总体结构图转换到菜单时,其对应的情况如下:

系统层对应菜单文件,子系统层对应菜单标题,功能层则对应子菜单项。

下图是“学生成绩管理系统”下拉式菜单的示意图,说明如下:

(1)本系统使用菜单作为输入密码后进入系统的初始界面,并设置一个主文件来调用菜单程序。

表格打印

数据统计与管理

数据查询

数据修改

数据录入

打印成绩分析表

相关成绩统计

姓名查询

学生成绩

学生成绩

打印排序结果

从高到低排序

学号查询

基本信息

基本信息

从低到高排序

(2)若改用表单为初始界面,可以在表单上设置若干按钮来表示格子系统的功能。

对于图中的菜单项,下文将为它们进行设计与编码。

三、模块设计与编码

本小节将对“学生成绩管理系统”的主要模块的设计与编写作简要说明。

1、主文件(主文件.PRG)

菜单文件名为“主菜单”,并设置一个主文件来调用它。

主文件的代码编写如下:

settalkoff

cleaall

setviewtosjhj.vue

publicxm,xh

xm=space(8)

xh=space(8)

doformfm.scx

keyb'{CTRL+F4}'

modiwindscreentitl'欢迎使用跑跑成绩查询系统'

clea

do主菜单.mpr

readevent

quit

下图为fm(封面)的示意图:

上图确定键的Click事件的代码为:

i=i+1

ifthisform.text1.value="08605214"

thisform.release

else

ifi<3&&允许输入三次

messagebox("密码错误,请重新输入!

最多三次尝试机会^_^哦")

thisform.text1.value=""&&清空表单

thisform.text1.setfocus&&获得焦点

else

messagebox("密码错,明天再试吧")

thisform.release

endif

endif

取消键的Click事件的代码为:

quit

2、主菜单程序

按照菜单图示建立菜单的内容,一层菜单包括数据录入、数据修改、数据查询、数据统计与管理、数据打印和退出项。

(1)退出菜单项的命令

clearevents

(2)数据录入项

此项有两个子菜单,分别是学生成绩和基本信息,用于输入新学生的各项成绩和增加最终打印报表中的基本信息。

其中,学生成绩子菜单是过程,其代码是:

closeall

use学生成绩

append

use

基本信息子菜单也是过程,其代码是:

closeall

use基本信息表

append

use

(3)数据修改项

此项也有两个子菜单,也是学生成绩和基本信息,用于修改学生的各项成绩和最终打印报表中的基本信息。

其中,学生成绩子菜单是过程,其代码是:

closeall

use学生成绩

browse

use

基本信息子菜单也是过程,其代码是:

closeall

use基本信息表

browse

use

(4)数据查询项

此项包括两个子菜单,按姓名查询和按成绩查询,它们都是命令,分别用于显示各自的表单。

按姓名查询的命令是“doform输入学生姓名”,所出现的表单如下:

其中Text1中的LostFocus事件的代码是:

xm=thisform.Text1.VALUE

Form1的Load事件的代码是:

publicxm,用来定义公共变量xm

确定按钮的Click事件的代码是

use学生成绩

locatefor姓名=trim(xm)

ifnotfound()

waitwindow"无此学生!

"

else

browfor姓名=trim(xm)

thisform.release

endif

在Text1中输入学生姓名,点击确定即可查出此学生的相关成绩。

按学号查询的命令是“doform输入学生学号”,所出现的表单如下:

其中Text1中的LostFocus事件的代码是:

xh=thisform.Text1.VALUE

Form1的Load事件的代码是:

publicxh,用来定义公共变量xh

确定按钮的Click事件的代码是

use学生成绩

locatefor学号=trim(xh)

ifnotfound()

waitwindow"无此学生!

"

else

browfor学号=trim(xh)

thisform.release

endif

在Text1中输入学生姓名,点击确定即可查出此学生的相关成绩。

(4)数据统计与管理项

此项包括两个子菜单,分别是相关成绩统计和成绩排序。

其中相关成绩统计是过程,其代码是:

clear

*成绩人数段

use学生成绩

countfor最终成绩<=100and最终成绩>=90toa

?

"90-100分的学生人数为:

",a

?

countfor最终成绩<90and最终成绩>=80tob

?

"80-90分的学生人数为:

",b

?

countfor最终成绩<80and最终成绩>=70toc

?

"80-90分的学生人数为:

",c

?

countfor最终成绩<70and最终成绩>=60tod

?

"80-90分的学生人数为:

",d

?

countfor最终成绩<60and最终成绩>=0toe

?

"80-90分的学生人数为:

",e

?

use分数段人数

replace不及格withe

replace六十到七十withd

replace七十到八十withc

replace八十到九十withb

replace九十到一百witha

*平均分数

use学生成绩

calculateavg(平时成绩),avg(考试成绩),avg(最终成绩)tof,g,h

?

"全班学生的平时成绩平均分数为:

",f

?

?

"全班学生的考试成绩平均分数为:

",g

?

?

"全班学生的平均分数为:

",h

?

*平均离差

i=h-60

?

"全班学生的平均离差为:

",i

?

*标准差

j=a+b+c+d+e

store0tox,y

gotop

fork=1toj

x=最终成绩-h

y=y+x*x

skip

endfor

z=y/j

l=sqrt(z)

?

"全班学生的标准差为:

",l

?

*极差

store0tos

store100tot

gotop

form=1toj

ifs<最终成绩

s=最终成绩

endif

skip

endfor

gotop

form=1toj

ift>最终成绩

t=最终成绩

endif

skip

endfor

n=s-t

?

"全班学生的极差为:

",n

?

*合格率

o=a+b+c+d

p=o/j

?

"全班学生的合格率为:

",p*100,"%"

use相关数据统计

replace平均分数withh

replace平均离差withi

replace标准差withl

replace极差withn

replace合格率withp

此过程命令完成后会在屏幕上显示相关内容,另外还会把显示的数据输入到相关成绩统计.DBF和分数段人数.DBF两个表中,用于和以后的打印报表相关联,输出数据。

成绩排序也是子菜单,包括从按成绩高到低排序和从按成绩低到高排序两个过程。

其中从按成绩高到低排序的过程代码是:

clear

use学生成绩

sortto从高到低成绩排序on最终成绩/Dfields学号,姓名,平时成绩,考试成绩,最终成绩

use从高到低成绩排序

list

r=recc(select())

dimensionshuzu(r,5)

copytoarrayshuzufields学号,姓名,平时成绩,考试成绩,最终成绩

use成绩从高到低排序

deletall

pack

appendfromarrayshuzu

closeall

从按成绩低到高排序的过程代码是:

clear

use学生成绩

sortto从低到高成绩排序on最终成绩fields学号,姓名,平时成绩,考试成绩,最终成绩

use从低到高成绩排序

list

r=recc(select())

dimensionshuzu(r,5)

copytoarrayshuzufields学号,姓名,平时成绩,考试成绩,最终成绩

use成绩从高到低排序

deletall

pack

appendfromarrayshuzu

closeall

这两个过程命令执行完成后,会生成从低到高成绩排序.DBF和从高到低成绩排序.DBF俩个表,然后分别传递到成绩从高到低排序.DBF和成绩从低到高排序.DBF,因为前两个表是自己生成,在每次显示时都会先删除在生成,所以学要另外两个表用于存放,这就要设临时变量,然后把后两个表与打印报表相关联,用于输出数据。

(5)表格打印项

此项包括两个子菜单,分别是打印成绩分析表和打印排序结果,它们都是命令,其代码分别是:

reportform成绩分析表和reportform成绩排序表。

用于显示各自需要打印的报表。

其中“reportform成绩分析表”显示结果如下图:

此报表的数据环境中添加了分数段人数表、基本信息表和相关数据统计表,用报表控件控制栏填入个空的相关信息,用于带入数据,输出打印。

“reportform成绩排序表”显示结果如下图:

此报表的数据环境中添加了成绩从高到低排序表,用报表控件控制栏填入个空的相关信息,用于带入数据,输出打印。

最后,结束编码以后,应对系统进行测试与调试,进一步完善系统设计。

4、运行设计

一、装载数据

在应用系统连编运行之前,要先在数据库中装如必要的或已有的成批数据。

这里包括:

成绩从高到低排序、分数段人数、基本信息表相关数据统计和学生成绩等五个表,如下图:

二、连编形成.APP文件

在所有的程序、代码和数据表单都完成之后,在上图的右端点击连编按钮就可以生成一个.app文件,然后双击此.app文件,查看所要实现的功能,进一步调试和完善此系统。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2