随着计算机技术的飞速 发展和普及 , 越来越多的人直接与计算机打交道 , 因而产生 了研 究计算机操作者心理状态 的一 门综合性很强的边缘交叉科学 - 一软件心 理学。 软件心 理学 把实验心 理学 的技术和 认知心理学的概念应用于 计算机和信息科学 , 它 主要研究了计算机 科学 中人机系统和软件设计中人类心 理和 行为活 动的规律。 对软件心理 学的研究 , 在我 国还 是刚刚起步 , 本文对这一领域进 行了探讨和尝试 , 探讨 程序调试过程中人机对话对人的心 理 的影响 , 探讨了人同机器会话的心理 感受 , 探讨程序与 机器速度 的关系 , U N IX 分时系统终端数与模块大小的关系。 进而探讨如 何确定合适的程序模块, 合理的选择机型 , 使程序员不致因为环 境因素造成软件调试过程中的心理 压力 。
心理承受能力实验
首先把用户 (程序员 ) 对机器响应的承 受能力分成七个等级 : 极快 (1 ), 快 (2 ), 较快 (3) ,中等 (4 ) , 稍慢 (5 ), 慢 (6 ), 无 法忍受 (7) 。 本文 主要讨论如下几个问 题:
- PC 机及兼容机 上编译 C 语言程序时的心理 承受能力分析;
- U N IX 分时操作系 统环 境下 , 编译 O 程序的 过程 中如何影响程序员的心理 状态 ;
- 人机会话期间 , 中间信息的输入/ 输 出对程序员的影响。
- P C 机编译 C 程序的实验 选择 P C /X T 和 C 8 6 2 . 0 编译器 , 把给定的 6 0 个大小不 等的程序共
P C 机编译 C 程序的实验
选择 P C /X T 和 C 8 6 2 . 0 编译器 , 把给定的 6 0 个大小不 等的程序共分成 6 组 , 侮组 」 0 个程序 , 分组 原则是第一组 语 句 2 1 ~ 3 0 行 , 第二 组 3 1 ~ 4 0 , 第 三组 4 J ~ o 6 , 第四组 6 1 ~ 阳 , 第五组 8 1” 1 0 0 , 第六组 10 0 ~ 20 0 。 对每组程序进行编译测试 , 得出的时间求平均位 , 对该 组程序的承受级别求平均值。 以第四组 程序为 例说明测试 的过程和测试结果 : 参加测试的四名程序员是计算机软件专业 本科 四年级的学生。 A , B 男同学 , O , D 女 同学。 测试 过程如下: 先 给 10 个程序编号 P 丸 P Z , … , P I O。 A , O 一 组 , B , D 为 另一 组。 以A、C 组 为例 。 C 开始编译 一个程序 iP , 记录 下开 始 时间 T l 和结束时间 T Z , 当程 序 曰 编 译 结 束时 , A 说出感 受级 别, 记录下 编译时间 口、2一甲1 、 , 0 J 个 程 序都测试一 遍 。 人 . e 角 色 互换再 测试 一 遍 , 得出 O 的承受级别 , 同样测 出 B , D 的 承 受级 别
平均编译时间 2 6.89 秒 , 平均承受级别3 . 8 ( 中等)。 其中二名男同学的平均承 受 级 别4.0 , 二名女同学 3 . 6 。 同样的方法 得 出 6 组程序平均编译时间 、 平 均承受级别如 表1.
顺便说一下 , 每组程序测试的结果都表明, 女同学的承受级别普遍小于男同学10% 左右 , 这 点说明了在调 试过程中, 女同学更有忍耐性 , 更适合做调试工作 (而不是设计)。
不 同机型编译 C 程序
选择第六组程序进行实验 (实验过程类似上面实验 1 )。
有屏幕输出信 息的 心理测试实验
对 于小程序 , 看屏幕输出与不看屏幕输出对程序员心理 无 明显影响 , 对于 第六 组 稍大一 点的程序 , 看屏幕输出时, 在 S U P E R P O/ X T 机上, 平均编译时间仍为 38 . 2 9 秒 , 但用户平 均感受级 别 4 , 在 P O /X T 2 8 6上 , 平均感受级别仍是 3 。 这一结果指 出了 中间信息的输出 有 时对改善程序员心理有较大作用 , 有时则不 明显。
UN I X 分 时系统编译 实验 ( 680 00 机 )
进行 680 0 0 机编译实验时 , 增补一 些较短的程序 , 被测程序语句行 1 0 ~ 2 0 0, 实验结果如下 :
4 台终端同时工作 , 每个程序编译时间4 0 ~ 62 秒 ;
6 台终端同时工作 , 每个程序编译 时间7 0 ~ 11 0 秒;
9 台终端同时工作 , 最短程序编译时间接近 3 分钟。
从中看 出, 分时系统进行编译或运行 , 对用户心理 压力最大的因素来 自同时工 作终端数 ( C P U 速度) , 其次才是程序规模。 因此 , 安排 学生 在分时系统上 机时 , 应考虑这点。
程序调 试中个体差 异 的实验
本实验是让二名受试者背对机器 , 编译开 始时 , 二名受试者被告之 开始 (事实上 , 根本就 没有编译程序 , 只是发出指令信号 ) , 被测者根据自己感觉的时间 , 说出心理 感受级别, 下 面 是记了结果
实验分析与结论
这 里讨论的一 些结论全 部基 于心理承 受级别不能超过 4 ( 中等) , 承受级别 5 ~ 7 时 , 对 程序员的程序调试有很大的心理 和身 体影响。 长期的心理 压力也影响程序调 试 的 准 确 性 , 增加出错率 , 导致程序调 试的逆反心 理。
1、机器速度对程 序员心理 的影响 表 1 中数据表明大于 8 1 行语句的程序在 S U P E R P O / X T 上编译时, 承受级 别 5 , 而在 邹 6 _ ! 几编 译至少 级别是 3 。 这说 明了大于 8 1 一 行的程序模块至少 要在 2 86 上调 试 。 P C 机 及 卫C / x T 的低档机只 可 做简易 的实习用。
2、屏幕输出对程 序 员心理 的影响 实验 3 的结论指 示 了增加屏幕输出有助于 改善调试 程序的心 理压 力 , 但 太 多 的 增 加 I / O 信息又 延长编译时间 , 是否 有数据可 参考呢 ? 实验 3 数据表明 3 8~ 4 0 秒的 界 限是心理 危机的开始, 因而编译程序应在运行 3 8 秒左右时提供一 些 信息。 如 p O T O O I J 一工具进行磁 盘O O p Y 时 , 有磁道的一些信息输 出。 用户 自身的程序运行时, 3 8 秒同样是个界值 , 用户 应 在相应的程序处加上 1 / 0 信息 , 由于机器主频不一致 , 用户 自己根据情 况处理 。 爪 l ) J E R 卫o / x T 一般 10 0 ~ 20 0 语句 , 2 8 6 一般 ` 1 0 0~ 加 0 等 , 这只是笔者之 建议 , 供参考 。
3、速度祖的机器 运行大程 序心 理调整 由于 P O 及 兼容机 (1 . OX ) 速度较慢 , 运行大一点程序 (1 0 0 行 ) , 用户的心理压 力就很 大 , 一般应做心 理 调整或更换编译器。 表 2 中的数据表明更换编译器 可使 承 受 级 别 提 高1 、 2 级。 另 外一点是在上机前就应“ 明确” , 程序很大时 , 编译时间长 。
4、UN I X 分 时 系统影响 用户 心理 的讨 论 前面 已讨论过 , 分时系统对用户的心 理影响主要是机器 速度 , 其次是编译软件。 因而 除 更换 编译软件和心 理 自身调 节外 , 就必 须对机器更新换代了。 另外 , 笔者在 A ST 2 3 6 上调 试 1 0 0 0 ~ 2 0 0 0 行的模块时 , 发现 仍有较大的心理 压力 , 承 受级别 4 ~ 5 , 这也说 明心理 压力 的调节主要靠硬件更新 。
5、音响、 图像对心理 因素的影响 笔者对 4 名受测者测试 , 给受试者 M S一 O 和 T U R B O 一 O 二 种编译器 (受 试者 以前从未 使用过 C ) , 受试者都愿使用 T U R B O O , 理 由是 画面直观 , 操作方便。 但当笔者介绍 了 M S哪 . 0 的 O O D E V I E W , M A K E 和 Q i l t c k一 O 等后 , 受试者表示也愿意选择 M S 一 O 。
心理调节能力与衡量标准
表 1 中数据和实验 5 中相比较 , 可 以看出表 1 中承受级别的时间明显 高于实验 5 中数 据。 图 4 是 图 1 , 图 2 和图 3 的合成图。