通用心理测试系统的设计和开发

上传人:第*** 文档编号:54445119 上传时间:2018-09-13 格式:PPT 页数:47 大小:2.65MB
返回 下载 相关 举报
通用心理测试系统的设计和开发_第1页
第1页 / 共47页
通用心理测试系统的设计和开发_第2页
第2页 / 共47页
通用心理测试系统的设计和开发_第3页
第3页 / 共47页
通用心理测试系统的设计和开发_第4页
第4页 / 共47页
通用心理测试系统的设计和开发_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《通用心理测试系统的设计和开发》由会员分享,可在线阅读,更多相关《通用心理测试系统的设计和开发(47页珍藏版)》请在金锄头文库上搜索。

1、附录 通用心理测试系统的设计和开发,1、系统需求分析,意义: 人的心理特性是不能被直接观察到的,而且还存在着明显的个体差异,但是任何一种心理特性总会以一定的行为表现出来。 心理测验就是让人们在测验时产生某些行为,即个体对测验题目的反应,并根据这些行为反应来推论其相应的心理特性。在一定程度上有助于我们了解人类的心理活动,并从中得到帮助。 例如在现实生活领域,心理测验可以帮助评价个人的智力水平和了解个性特征;可以用于对各种智能缺陷、精神疾病和脑功能障碍的临床诊断;可以为特殊人才的选拔提供参考;心理测验结合心理咨询有助于消除情绪困扰和人格障碍,提高生活品质。,1、系统需求分析,现状分析: 传统的纸笔

2、测试方法操作烦琐,人工结果统计费时费力,还可能存在计算错误的可能性,而且不利于对测试情况做到汇总分析。因此需要开发一套科学、灵活、易用的通用心理测试系统,能够进行多种类型的心理测试,界面友好,操作简单,能够自动计算分数,实现数据存档和查询功能。,1、系统需求分析,通用心理测试系统设计的具体要求包括:1.高效地录入和保存信息。 例如测试者的姓名、性别、籍贯、学历数据等。 2.方便地完成测试过程,并保证测试的客观性. 如自动计时、自动汇总统计结果等。 3.实现多次测试结果的汇总。 4.实现基于数据库的电子化信息管理。 5. 具有较强的扩充性,能够适应新的测试内容变化要求等。,2、系统流程图,通用心

3、理测试系统的使用者包括两类,测试者和管理员。 对于每个新的测试者而言,需要录入其姓名、性别、文化程度等基本信息,然后开始测试,完成所有题目或测试时间到后,显示其测试结果,并把测试结果自动保存到数据库中。 对于管理员而言,需要通过口令进行登录,然后可以从数据库中汇总测试结果等操作。,3、系统设计思路,界面设计 通用心理测试系统的应用程序界面,即MVC模型中的View。 包括主窗体、关于窗体、新测试者基本信息录入窗体、显示测试题目并作答窗体、显示测试结果窗体、管理员登录窗体和测试结果汇总窗体等界面。,3、系统设计思路,代码设计 程序代码设计采用面向对象的事件驱动机制,针对用户界面上的对象的相应事件

4、(主要是Click事件和定时器事件)来激发对象执行所需的操作,即MVC模型中的Controller部分。,开始新的测试显示V2:新测试者信息窗口显示V3:测试窗口查看测试记录显示V5:测试结果窗口退出结束系统帮助显示V1:关于窗口,3、系统设计思路,数据库设计 本系统使用ACCESS数据库作为后台数据库,即MVC模型中的Model部分。 在名为test的MDB数据库文件中建立5张表。,4、系统实现方法数据库设计,用户表 用途:存放具有查询测试结果权限的用户姓名和口令。,用于存放具有查询测试结果权限的用户姓名和口令。管理员登录时输入用户名称和登录口令后,系统将到用户表中查询是否存在输入的用户名称

5、,如果存在则进一步判断输入的登录口令和数据库中的口令是否相同。如果正确,则显示测试结果汇总窗口,否则予以错误提示。,4、系统实现方法数据库设计,试卷表 用途:保存试卷的名称、测试时间、测试结果的判定标准和相应结论内容。,为实现通用,对现有纸笔类型的心理测试进行分析,归纳出心理测试试题一般规律是通过若干选择题的测试,根据得分所在范围给出测试结论。 一般的,一套试题的结论不超过8个。所以试卷表定义了8组结论,分别包括标准和内容两部分。 同时考虑到某些测试对时间有所要求,因此定义了每套试卷的测试时间。,4、系统实现方法数据库设计,试卷表 用途:保存试卷的名称、测试时间、测试结果的判定标准和相应结论内

6、容。,试卷表中的试卷编号字段为主键,通过该主键与试题表连接。 执行主窗口中的“系统”“开始新的测试”命令,系统显示新测试者信息对话框。 其中选择试卷下拉列表的项目是通过读取试卷表的各条记录的试卷名称字段逐一添加。 选择试卷后,将记录其对应的试卷编号,以便在测试窗口中显示该试卷对应的试题。,4、系统实现方法数据库设计,试题表 用途:试题表与试卷表间为一对多的关系。即试卷表中的一条记录,通过试卷编号与试题表中的多条记录对应,从而形成一份试卷中的多道测试题。,每道测试题提供8个选择项。(本案例中考虑的是单选测试题的形式) 使用者选择试卷后,记录其对应的试卷编号,通过该试卷编号到试题表中查询相应的记录

7、,并在测试窗口中显示该试题的内容和对应的选择项目。,4、系统实现方法数据库设计,测试者表 用途:记录测试者的信息。,执行主窗口中的“系统”“开始新的测试”命令,完成所有试题的测试后系统将测试信息保存到测试者表中,并自动为每个新测试者分配一个ID。,4、系统实现方法数据库设计,测试结果表 用途:保存每个测试者所进行的测试的试卷编号和成绩。,测试结果表通过“测试者ID”字段与测试者表连接。 通过“试卷编号”字段与试卷表连接。 执行主窗口中的“系统”“查看测试记录”命令,系统登录对话框,成功登录后显示测试结果汇总窗口,窗口中的数据来自测试结果表的记录。,4、系统实现方法数据库设计,测试结果表 用途:

8、保存每个测试者所进行的测试的试卷编号和成绩。,测试结果表通过“测试者ID”字段与测试者表连接。 通过“试卷编号”字段与试卷表连接。 执行主窗口中的“系统”“查看测试记录”命令,系统登录对话框,成功登录后显示测试结果汇总窗口,窗口中的数据来自测试结果表的记录。,4、系统实现方法窗体设计,建立应用程序 启动Visual Basic程序,建立“标准.EXE”项目。,4、系统实现方法窗体设计,主窗体 修改窗体属性。 拖动窗体右下角,调整窗体大小符合背景图像的大小。 编辑主窗体菜单。,4、系统实现方法窗体设计,新测试者、测试、用户登录、显示测试记录和关于窗体 添加新窗体 执行“工程”菜单中的“添加窗体”

9、命令,显示“添加窗体”对话框,选择“新建”选项卡中的“窗体”图标,单击“打开”按钮,在工程中添加一个新的窗体。 修改窗体属性(参见教材) 添加控件,设置控件属性、调整控件位置(参见教材),4、系统实现方法代码编程,主窗体菜单代码,系统菜单-开始新的测试命令 Private Sub mnuStartTest_Click() 以模态窗口方式显示新测试者信息窗口 frmTesterInfo.Show 1 End Sub 说明:show方法的参数1表示显示的窗体模式为模态窗体,即关闭显示窗体前对调用它的父窗体不做响应。系统菜单-查看测试记录命令 Private Sub mnuDisplayResult

10、_Click() 以模态窗口方式显示登录窗口 frmLogin.Show 1 End Sub系统菜单-退出命令 Private Sub mnuExit_Click() 结束系统 End End Sub帮助菜单-关于命令 Private Sub mnuAbout_Click() 以模态窗口方式显示关于窗口 frmAbout.Show 1 End Sub,4、系统实现方法代码编程,新测试者窗体代码 通用模块,定义窗体级变量 保存测试者姓名的变量 Public testerName As String保存测试者性别的变量 Public testerSex As String保存测试者教育程度的变量

11、Public testerEduLevel As String保存测试者籍贯的变量 Public testerBirthPlace As String 注:本例中没有对测试者的信息做检验和保存,只是展现了复选按钮的使用方法。定义数据库连接所需要的变量。 Dim sConnect As String Dim sSQL As String Dim dfwConn As ADODB.Connection Dim rs As ADODB.Recordset保存用户选择的试卷对应的试卷编号。 Public paperID As String,4、系统实现方法代码编程,新测试者窗体代码 Load事件 用于

12、初始化窗体控件的内容,Private Sub Form_Load() AddItem用于向列表框/组合框中添加一项 Me.cmbBirthPlace.AddItem “北京市“ Me.cmbBirthPlace.AddItem “天津市“ 定义后台数据库路径和名称 DatabasePath = App.Path 定义SQL查询语言 sSQL = “select * from 试卷 order by 试卷编号“根据SQL查询语言,从数据库中检索相应记录,并在记录集中打开 rs.Open sSQL, dfwConn, 1, 3,4、系统实现方法代码编程,新测试者窗体代码 Load事件 用于初始化窗

13、体控件的内容,遍历记录集 For i = 0 To rs.RecordCount - 1将记录集中的试卷名称内容添加到cmbPaper控件中Me.cmbPaper.AddItem rs.Fields(“试卷名称“)将记录集中的试卷编号内容添加到cmbPaperID控件中Me.cmbPaperID.AddItem rs.Fields(“试卷编号“)移动记录集指针,指向下一条记录rs.MoveNext Next关闭记录集 rs.Close关闭连接 dfwConn.CloseEnd Sub,4、系统实现方法代码编程,新测试者窗体代码 取消按钮的Click事件 从内存中卸载当前窗体,Private S

14、ub cmdCancel_Click() 卸载本窗口 Unload Me End Sub,4、系统实现方法代码编程,新测试者窗体代码 确定按钮的Click事件 检验用户信息是否完整,Private Sub cmdOK_Click() 检验是否填写了测试者姓名 If Me.txtName.Text = “ ThenMsgBox “请填写姓名“, vbInformationMe.txtName.SetFocusExit Sub End If检验是否选择了测试者性别,单选按钮的Value属性为True,表示选择,False表示未选择。 If Me.optSexFemal.Value = False

15、And Me.optSexMale.Value = False ThenMsgBox “请选择性别“, vbInformationMe.optSexMale.SetFocusExit Sub End If检验是否选择了测试者文化程度,列表框控件的ListIndex属性未-1表示未选择。 If Me.lstEduLevel.ListIndex = -1 ThenMsgBox “请选择文化程度“, vbInformationMe.lstEduLevel.SetFocusExit Sub End If,4、系统实现方法代码编程,新测试者窗体代码 确定按钮的Click事件 保存相关信息到全局变量,如果

16、所有信息均填写或选择,则保存到相应的全局变量中。 testerName = Me.txtName.TextIf Me.optSexMale.Value = True Then testerSex = “男“ Else testerSex = “女“ End If列表框中选择的项目内容保存在Text属性中,将该属性的内容保存在testerEduLevel变量中。 testerEduLevel = Me.lstEduLevel.Text组合框中选择的项目内容保存在Text属性中,将该属性的内容保存在testerBirthPlace变量中。 testerBirthPlace = Me.cmbBirthPlace.Text用户选择的试卷名称,可通过cmbPaper的ListIndex获得。 通过读取cmbPaperID的list数组的相应项目得到用户选择的试卷名称所对应的试卷编号。 保存该试卷标号到paperID变量中,以便在测试窗体中显示该试卷所包含的试题。paperID = Me.cmbPaperID.List(Me.cmbPaper.ListIndex),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号