学生综合测评系统开发实例.docx

上传人:b****7 文档编号:9806153 上传时间:2023-02-06 格式:DOCX 页数:49 大小:1.23MB
下载 相关 举报
学生综合测评系统开发实例.docx_第1页
第1页 / 共49页
学生综合测评系统开发实例.docx_第2页
第2页 / 共49页
学生综合测评系统开发实例.docx_第3页
第3页 / 共49页
学生综合测评系统开发实例.docx_第4页
第4页 / 共49页
学生综合测评系统开发实例.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

学生综合测评系统开发实例.docx

《学生综合测评系统开发实例.docx》由会员分享,可在线阅读,更多相关《学生综合测评系统开发实例.docx(49页珍藏版)》请在冰豆网上搜索。

学生综合测评系统开发实例.docx

学生综合测评系统开发实例

第14章学生考评管理系统开发实例

传统的高校学生综合测评在纸质的基础上,手工操作完成各种数据的分析、计算和统计,不仅浪费了大量的人力物力资源,而且由于人工管理存在着许多不可控因素,导致学生综合测评操作不规范,测评结果不全面,不能客观准确地反映学生的综合素质。

本章介绍了高校学生综合测评系统的分析与设计过程,给出了系统设计的技术方案、框架体系,以及实现的关键技术与部分源代码。

教学目标:

●了解软件工程基本方法和软件开发流程

●了解数据库设计的基本方法

●掌握基于VFP的信息系统的开发过程

14.1系统分析

14.1.1项目背景分析

1.学生综合测评的现状分析

在素质教育评价过程中,学生综合测评是高校普遍采用的评价手段。

对学生实施综合素质测评的目的在于正确评价学生的综合素质,为评优评奖和推荐就业提供依据,实现学生教育管理工作的标准化、制度化和科学化,引导和促进学生德、智、体、能全面协调发展,培养适应社会经济发展需要,具有创新精神和实践能力的专门人才。

目前,我国的普通高校学生综合测评大多还停留在纸质的基础上,许多工作还停留在传统的手工操作。

不仅浪费了大量的人力物力资源,而且由于人工管理存在着许多不可控因素,导致学生综合测评操作不规范,测评结果不全面,不能客观准确地反映学生的综合素质。

因此,建立一套基于网络环境的技术先进、高效稳定、安全可靠的学生综合测评系统势在必行。

2.学生综合测评系统的开发意义

与传统的手工管理相比,计算机管理不但能发挥计算机方便、快捷的功能,而且可以大量节省了资源、费用等,更方便灵活操作,而且方便管理,增加综合测评的公平性、透明性,有效防止综合测评的弊端,使学生综合测评更加合理、更趋于成熟。

这些都能够极大地提高工作效率,特别是校园网应用发展迅速的今天,利用网络进行信息的查询、修改和发布已成为学校现代化管理的象征之一,也是学校科学化和正规化管理的重要条件。

因此,开发一套比较成熟的学生综合测评系统很有必要。

综合测评系统开发的目的是自动分析、计算、统计、管理学生综合测评数据,减少人工干预,降低计算失误,提高工作效率,将辅导员、班主任、班委从繁重的综合测评及日常管理中解放出来,使学校的综合测评工作系统化、规范化、自动化。

14.1.2业务流程分析

1.业务流程

结合传统的手工操作与管理信息系统的处理特点,综合素质测评按如下程序进行:

(1)个人总结。

每位学生必须按照综合素质测评德、智、体、能四个方面的内容,认真填写学年个人总结,同时填写获得的各项奖励或参与的社会活动,作为班级综合素质测评小组可加分的原始依据。

(2)同学互评和班主任评议。

班级综合素质测评小组组织全班同学对本班的每位同学进行品德、体育和能力互评。

班主任对本班的每位同学进行思想品德评议。

(3)班级审议和评分。

班级综合素质测评小组按照本条例的有关规定,审议每个同学填报的材料,由系统自动计算出德、智、体、能的测评成绩,根据权重系数,合成该生本学年综合素质测评总分,排出全班名次。

(4)公布测评结果。

班级综合素质测评小组经过审查核准后,将综合素质测评成绩向班级全体同学公布,听取广大同学意见。

(5)评优评奖。

班级综合素质测评结果经学院综合测评小组审核以后,根据有关文件和规定评出各类奖项,与测评结果一并报学院分管领导审定。

(6)审批与备案。

学院综合素质测评小组对各班的综合素质测评结果和评优结果进行审定,填写好有关表格及材料后由学院分管领导签署意见,加盖公章后上报学校审批,进行表彰和存档备案。

(7)班主任根据综合测评结果汇总学生信息、考试成绩、考评结果,编制输出报表,打印家庭报告书,寄往学生家长,与学生家长联络。

2.数据流图

本系统主要操作主体是管理员、班主任、学生和学生家长。

管理员对采集的学生数据经过加工后存入学生信息文件中,把学生考试成绩存入课程成绩文件中。

学生可以查询并维护自己的个人档案,同时参加综合考评,综合考评的结果存入综合考评文件中。

管理员(班主任)汇总学生信息、考试成绩、考评结果,编制输出报表,打印家庭报告书,寄往学生家长。

根据业务流程分析,信息管理部分的数据流图如图14-1所示。

图14-1数据流图

14.1.3功能需求分析

学生综合测评系统可以及时、准确、公平地计算出学生的综合测评结果。

利用计算机对学生综合素质进行测评具有手工测评无法实现的优点。

例如:

数据处理自动化、管理规范、操作便捷、可靠性高等。

学生综合测评系统的用户群可分为普通用户(学生)和管理员,系统功能定义根据两种不同的用户身份进行需求分析。

1.学生需求

学生既是综合测评的对象,也是综合测评的主体。

学生可以查询并维护自己的个人档案,同时参加其他同学的综合测评。

学生对功能上的需求主要有:

(1)查询学校、学院、班级发布的种类消息和公告;

(2)查询课程信息和考试成绩;

(3)更新和维护自己的个人信息,查看其他同学的信息;

(4)填报自己的获奖情况和参与的社会活动;

(5)查询自己的测评结果和家庭报告书,查看本班测评结果统计信息。

2.管理员需求

管理员按身份级别可分为班委(测评小组)、班主任、辅导员、系统管理员四种级别。

管理员除具备学生需求的功能外,按照不同身份还具备以下不同的权限。

(1)班委:

学生个人信息的录入和修改,各学期课程信息的录入和修改,学生综合测评结果的统计和修改。

操作权限范围是本班同学。

(2)班主任:

班主任除了具备班委的权限外,还有综合评语的填写,学生家庭报告书的编制和打印。

操作权限范围是本班同学。

(3)辅导员:

辅导员除了具备班委的权限外,还要负责对学生奖惩情况的核实,相关数据的维护。

操作权限范围是本学院全体学生。

(4)系统管理员:

系统管理员负责系统的管理与维护,除具备上述所有功能外,管理员还负责数据备份与恢复、人员管理、权限设置等。

14.2系统总体设计

14.2.1功能结构设计

1.系统功能描述

基于上述需求分析,本系统主要完成以下功能:

(1)学生信息管理模块

学生信息管理模块完成学生信息的管理功能,包括用户的登录、用户的退出、用户的个人信息录入、修改、查询、删除等

(2)课程信息管理模块

课程信息管理模块主要是为系统管理员提供了课程管理功能,主要包括课程信息的录入、课程的增加、课程的修改、课程的删除等功能。

(3)成绩管理模块

成绩管理模块主要实现学生成绩的管理功能,包括成绩的输入、成绩的查询、修改、删除等基本操作。

(4)综合考评数据管理

综合考评数据管理模块主要实现了自动评语库的管理、自动生成评语、手工修改评语。

(5)家庭报告书打印模块

家庭报告书打印模块主要是为了方便班主任将家庭报告书邮寄给家长而设计的。

(6)系统维护

系统维护主页完成数据备份与恢复,账号及权限的管理。

为了确保信息安全,需要对重要数据进行备份,必要的时候再从备份的数据中恢复数据。

系统管理员可以添加、修改或删除管理员账号,分配管理职责和权限。

2.系统功能结构图

根据上面功能模块分析,系统功能结构图如图14-3所示。

限于篇幅,本书只介绍信息管理、数据维护和报表输出三个功能模块。

图14-3系统功能结构图

14.2.2数据库设计

通过对上述需求分析中的数据需求进行总结,综合测评管理系统主要有以下数据结构及其数据项:

(1)管理员:

管理员编号、姓名、密码

(2)班级:

班级代码、班级名称、学院名称、毕业时间

(3)职务:

班级代码、管理员编号、职务、权限

(4)学生:

学号、密码、姓名、班级代码、出生年月、籍贯、家庭住址、邮政编码、宿舍、照片、简历

(5)科目:

科目编号、课程名称、学时、学分

(6)选课:

学号、科目编号、学年、学期、成绩

(7)测评:

学号、学年、名次、等级、奖惩情况、综合评语

3.数据库概念结构设计

数据库概念结构设计通过对用户进行综合、归纳与抽象,形成一个独立与具体DBMS的概念模型,既是整个数据库设计的关键,又是进行数据库逻辑结构设计的基础。

在概念结构设计中主要采用实体联系(E-R)图作为描述工具,将实际应用抽象为实体与实体之间的关系,生成数据库的整体概念结构设计模型。

根据上面的实际规划出的实体有:

用户信息实体、查询实体、课程实体、综合考评实体,课程成绩实体,家庭报告书实体。

系统总体E-R图如图14-4所示。

图14-4系统总体E-R图

4.数据库逻辑结构设计

数据库逻辑结构设计是指将数据库概念结构中抽象的E-R图转换为特定DBMS所支持的数据模型的过程,通常是转换成关系模型。

本设计中的DBMS采用VisualFoxPro9.0来实现,作为关系数据库,数据库逻辑结构设计体现在其中即为数据表。

数据库中各表的结构设计结果如表14-1至表14-8所示。

表14-1管理员表(Admins)

标题

英文解释

字段名

字段属性

说明

管理员编号

AdminID

AdID

C(5)

主键

姓名

AdminName

AdName

C(8)

密码

Password

Psword

表14-2班级表(classes)

标题

英文解释

字段名

字段属性

说明

班级代码

*ClassID

ClsID

C(8)

主键

班级名称

ClassName

ClsName

C(50)

学院名称

SchoolName

SchName

C(50)

毕业时间

GraduateDate

Gdate

D(8)

表14-3职务表(Adclass)

标题

英文解释

字段名

字段属性

说明

班级代码

ClassID

ClsID

C(8)

管理员编号

AdminID

AdID

C(5)

职务

Adminduty

Adduty

C(10)

权限

AdminPower

Adpower

N

(1)

表14-4学生表students

标题

英文解释

字段名

字段属性

说明

班级代号

ClassID

ClsID

C(8)

学号

*StudentID

SID

C(9)

主键

姓名

StudentName

SName

C(8)

性别

Sex

Sex

C

(2)

是否党员

PartMember

Pmember

L

(1)

出生日期

Birthdate/Birthday

Birthday

D(8)

籍贯

NativePlace

Native

C(14)

家庭地址

Address

Address

C(50)

邮政编码

PostCode

PCode

C(6)

照片

Photo

Photo

G(4)

简历

StudentNote

SNote

M(4)

表14-5科目表(courses)

标题

英文解释

字段名

字段属性

说明

科目代码

*CourseID

CID

C(8)

主键

科目名称

CourseName

CName

C(30)

学时

Period

Period

N(3)

学分

CreditHour

Credit

N(5.2)

表14-6选课表(sc)

标题

英文解释

字段名

字段属性

说明

学号

StudentID

SID

C(9)

科目代码

CourseID

CID

C(8)

学年

AcademicYear

AYear

C(9)

学期

Term

Term

N

(1)

成绩

Score/results

Score1

N(6)

绩点

Score/Point

Score2

N(3.1)

表14-7测评结果表(grade)

标题

英文解释

字段名

字段属性

说明

学号

StudentID

SID

C(9)

学年

AcademicYear

AYear

C(9)

名次

Order/rank

Rank

N(3)

等级

Grade

Grade

C(6)

奖惩情况

Note

Note

M(4)

综合评语

Remark

Remark

M(4)

表14-8自动评语表(Remarks)

标题

英文解释

字段名

字段属性

说明

编号

RemarkID

RemID

N(3)

主键

主题

Title

Title

C(50)

综合评语

Remark

Remark

M(4)

5.数据库的实现

分析设计好数据库的逻辑结构之后,通过VFP数据库设计器来完成数据库的设计工作,设置表间关联关系以及参照完整性,如图14-5所示。

图14-5数据库表及其关系图

在查询或报表输出时,需要多个表联合查询。

为方便数据处理,通过VFP的视图设计器把多个相关联的表组合后生成视图文件,视图作为数据库的虚表,使用方式和数据一样,这样就可以大大简化查询或报表输出的设计过程。

以下是本系统需要的视图:

(1)学生成绩:

班级代号、学年、学期、学号、姓名、课程代号、课程名称、成绩、学时、学分

(2)综合测评结果:

学院代号、学院名称、班级代号、班级名称、学号、姓名、学年、评定等级、名次、奖惩情况、评语

(3)职责管理:

班级代号、班级名称、管理代号、管理员姓名、权限

三个视图所涉及的查询代码为:

(1)学生成绩

SELECTStudents.clsid,Students.sid,Students.sname,Sc.ayear,Sc.term,;

Sc.score1,Sc.score2,Sc.cid,Came,Courses.period,Courses.credit;

FROMsdb!

studentsINNERJOINsdb!

sc;

ONStudents.sid=Sc.sid;

INNERJOINsdb!

courses;

ONCourses.cid=Sc.cid;

ORDERBYStudents.clsid,Students.sid,Sc.ayear,Sc.term

(2)综合测评

SELECTStudents.sname,Grade.ayear,Classes.schname,Classes.clsid,;

Classes.clsname,Grade.sid,Grade.rank,Grade.grade,Grade.note,;

Grade.remark;

FROMsdb!

students;

INNERJOINsdb!

grade;

ONStudents.sid=Grade.sid;

INNERJOINsdb!

classes;

ONClasses.clsid=Students.clsid;

WHEREGrade.ayear=("2008-2009");

ORDERBYStudents.clsid,Students.sid

(3)职责管理

SELECTAdmins.adid,Admins.adname,Adclass.adpower,Adclass.clsid,Classes.clsname;

FROMsdb!

admins;

INNERJOINsdb!

adclass;

ONAdmins.adid=Adclass.adid;

INNERJOINsdb!

classes;

ONClasses.clsid=Adclass.clsid;

ORDERBYAdmins.adpower,Admins.adid

以上视图可以在数据库中通过视图设计器实现,也可以在程序中通过上述查询语句实现。

14.2.3系统主体框架设计

1.建立系统项目文件

采用VFP开发应用系统,项目管理器是必不可少的文档管理工具。

有关项目管理器的概念及操作请参阅本书第二章,在此不再介绍。

本系统项目名称是SIM(学生信息管理系统),选择“D:

\SIM”作为默认工作目录。

并建立如图14-6所示的目录结构。

图中文件夹Data、DataBack、ExcelFiles、Images、

图14-6系统目录结构图

TempWizards分别用于存储系统数据、数据备份、导出的Excel文件、图像文件、向导文件。

根据数据库表逻辑结构以及数据库表关联关系,在项目管理中实现数据库。

详细操作请读者参阅图14-5以及本书第四章。

2.建立主程序文件

一般地,对于VFP应用系统而言都有一个主程序文件。

在SIM中,主程序作为系统默认的起始运行程序,用于对系统进行初始化,并调用登录表单,开起事件循环。

在项目管理器中新建程序文件main.prg,其代码如下:

CLEARALL

SETDATELONG&&设置日期为长格式(9999年99月99日)

SETTALKOFF

SETSAFETYOFF&&覆盖时不要确认

application.Visible=.f.&&隐藏VFP系统主窗口

DOFORMLogon&&运行登录表单

READEVENTS&&读取循环事件,否则程序不会驻留内存

3.主菜单设计

主菜单出现在单文档界面(SDI)窗口中,在设计主菜单时,要把它创建为SDI菜单,打开菜单设计器,从View菜单中选择GeneralOptions,然后选择Top-LevelForm。

菜单栏包括档案管理、课程管理、成绩查询、综合测评、打印输出、系统维护、帮助、退出八个一级菜单,每个一级菜单包含若干菜单项,每个菜单项对应调用一个表单。

不同的菜单项授予的访问权限不一样,其中班级档案管理、课程信息维护以及系统维护的全部功能只能被系统管理员访问,对应的“跳过”表达式设置为Power_ID<>1。

综合评语部分只能被系统管理员或班主任访问,所以“跳过”表达式设置为Power_ID>3orPower_ID<=0

主菜单menusim.mpr的结构如表4-9所示。

表4-9主菜单menusim.mpr的结构

菜单栏

菜单项

命令

“跳过”表达式

档案管理(\

班级档案管理

doform11ClassMana

Power_ID<>1

学生档案管理

doform12StuMana

学生信息浏览

doform13StuBrow

课程管理(\

课程信息浏览

doform21CourseBrow

课程信息维护

doform22CourseMana

Power_ID<>1

成绩查询(\

班级成绩浏览

doform31ClassScore

个人成绩查询

doform32StuScore

综合测评(\

自动写评语

doform41AutoRemark

Power_ID>3orPower_ID<=0

评语库维护

doform42Remark

Power_ID>3orPower_ID<=0

综合测评管理

doform43StuGrade

Power_ID>3orPower_ID<=0

打印输出(\

学生名册

doform51StuList

学生成绩单

doform52Score

信封打印

doform53FamAddr

家庭报告书

doform54FamData

系统维护(\

账户管理

doform61Count

Power_ID<>1

职责管理

doform62duty

Power_ID<>1

\-

BAR#

数据备份

doform63backup

Power_ID<>1

数据恢复

doform64Restore

Power_ID<>1

帮助(\

关于本系统

doformabout

退出(\

退出系统

quit

4.登录表单设计

登录表单的主要功能是验证用户身份,获取用户权限。

本系统用户权限根据不同的管理职责分为三个级别:

班主任、辅导员、系统管理员。

班主任只能管理本班学生的相关信息,辅导员可以管理本学院学生的相关信息,系统管理员可以管理全部学生的相关信息。

经过用户身份验证通过后,根据用户权限生成对应的学生班级信息,产生一个临时文件,存放于Temp文件夹中。

登录表单由三个标签、两个文本框、两个命令按钮和两个线条控件组成。

表单运行效果如果图14-7所示。

图14-7登录表单运行效果图

表单初始化过程中,需要定义三个变量,用于存储用户登录次数、用户ID和管理权限,表单Init过程的代码如下:

PUBLICLogonTimes,User_ID,Power_ID

LogonTimes=0

命令按钮【确定】的Click事件代码如下:

SETEXACTON&&改为精确比较

LogonTimes=LogonTimes+1&&将登录次数加1

SELECTAdmins

mps=THISFORM.txt密码.VALUE

mpswd=pswd(mps)&&调用自定义函数转换密码

LOCATEFORALLTRIM(AdID)=THISFORM.txt帐号.VALUE&&查找帐号

IFFOUND()ANDALLTRIM(PsWord)=mpswd&&如果找到并且密码相同

User_ID=ALLTRIM(THISFORM.TXT帐号.VALUE)&&将登录帐号值赋给全局变量User_ID

Power_ID=AdPower

SETEXACTOFF&&改为模糊比较

PUBLICClass_ID,Class_Name,Sch_Name&&定义班级相关的三个公用变量

SELECTAdClass

SETORDERTOADPOWER&&选择索引顺序为ADPOWER(权限)

LOCATEFORAdID=User_ID

IFNOTEOF()

Class_ID=ClsID

Power_ID=AdPower

ELSE

Class_ID='Noduty'

**Power_ID='DefaultAdPower'&&默认的权限在登录时确定

ENDIF

SETSAFETYOFF

DOCASE

CASEPower_ID=1&&如果是管理员,查询全部学生

SELECT*FROMClassesORDERBYClsIDINTOTABLETemp\Cur_Class

CASEPower_ID=2&&如果是辅导员,查询属于自己管理的学院的全部学生

SELECT*FROMClassesWHERELEFT(ClsID,2)=LEFT(Class_ID,2);

ORDERBYClsIDINTOTABLETemp\Cur_Class

CASEPower_ID>=3&&如果是班主任或班长,查询属于自己管理的班级的学生

SELECT

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

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1