指控软件可用性工程生命周期模型*
2012-09-02陈建明王洪艳宣亚克
陈建明,王洪艳,宣亚克
(装甲兵工程学院,北京 100072)
目前,装甲主战装备都配有车载计算机,配置指控软件。指控软件作为一种特殊装备,必须通过人进行操作以完成作战指挥、信息通信、武器控制、状态检测等功能,这一操作过程就是人机交互过程。指控装备列装到部队后,给操作使用和维修保障人员提出了更高的要求,鉴于部队人员的文化背景、信息素养的现状,许多装备的使用训练受到限制,收不到应有的训练效果。通过到部队调研,发现除训练本身的技术原因外,存在指控软件的可用性问题,如:操作界面繁琐、操作方式复杂、人机环境欠佳等等。因此,指控软件的设计和开发者不能只从技术的角度解决问题,更应该从使用者的角度来衡量产品的质量,这就是软件可用性问题。关于可用性问题的研究始于20世纪80年代初,最初主要在一些大型IT企业中应用。从20世纪90年代开始,可用性工程在IT工业界迅速普及,目前,国外主要的IT企业都建立了规模较大的产品可用性部门,大多数网站都有可用性专业人员,出现了一批可用性工程专业咨询机构。IBM、微软、HP、Oracle、Sun、Motorola、诺基亚、Philips、西门子等企业都有十几年甚至更长时间的可用性工程实际运用历史。例如,IBM在1969年就成立了企业的可用性部门,形成了自己的可用性工程规范,目前,IBM 在全球设有 25个可用性实验室,专职人员超过 500人。微软的可用性部门成立于1989年,现在已有14个可用性实验室、员工近 200人,可用性工程已被系统地运用于微软的各类产品开发过程。虽然在国际上可用性已经发展成熟,并且具备一套完整的标准和方法。但可用性研究在国内仍是一个尚未被广泛认识和接受的领域。由于军品本身的特殊性,可用性理论在国内军用产品方面的应用研究,文献记录甚少,但确实存在很严重的可用性问题。本文运用可用性理论及方法,结合装甲指控软件的应用现状,在可用性工程生命周期方面进行研究,为指控软件的设计和开发提供帮助。
1 可用性的相关概念
1.1 可用性(Usability)
可用性是对产品可用程度的总体评价,也是从用户角度衡量产品是否有效、易学、安全、高效、好记、少错、满意度的质量指标[1]。根据ISO 9241国际标准[2-3],可用性定义为:产品在特定使用环境下为特定用户用于特定用途时所具有的有效性(effectiveness)、效率(efficiency)和用户主观满意度(satisfaction)。其中,有效性指的是用户完成特定任务和达到特定目标时所具有的正确和完整程度;效率指的是用户完成任务的正确和完整程度与所使用资源(如时间)之间的比率;满意度指的是用户在使用产品过程中具有的主观满意和接受程度。可用性概念的提出,看中的是产品在真实生活中的行为和被用户使用的方式,它强调的不是从内部来看一个产品,而是从其外部来看用户怎样使用和与之交互。
1.2 可用性工程(Usability Engineering)[1,4-5]
可用性工程是指使产品具有可用性的相关设计活动。可用性工程是以提高产品可用性为目标的多学科交叉领域,综合了技术学科、心理学、工业设计、人类工效学、社会学等学科的方法。强调在产品开发过程中要紧紧围绕用户这个出发点,要有用户的积极参与,以便及时获得用户的反馈并据此反复改进设计。其核心是以用户为中心的设计(Use Centered Design,UCD),最终结果是使产品达到简单使用(easy to use) 和愉悦使用(joy to use)的目的。
可用性工程是 IT产品及其用户界面开发的一种工程方法论,贯穿于产品整个生命周期的各个阶段,包括从需求获取、可用性问题分析、设计方案的开发以及测试评估在内的一整套实用方法,泛指以提高产品可用性质量为目的的一系列过程、方法、技术和标准。可用性工程用于各类交互式IT产品的开发,包括计算机软硬件、网站、信息家电以及以嵌入式软件为核心的各种交互式仪器设备,还可用来设计用户手册、联机帮助和培训课程。
1.3 指控软件的可用性
指控软件作为指控装备的关键组成部分,其基本功能是:指挥控制武器系统作战、收集和传送作战信息、监测武器状态、下达作战命令、保存作战数据、指挥车辆行车、保障作战勤务等多种作战指挥与勤务保障功能,而其核心功能是作战指挥。在技术上以信息传输、数据管理、分布式计算、保障实时性等为重点。在软件质量特性上以功能性、可靠性、易用性、效率、可维护性等要求较高。指控软件通过软件界面与使用者交互,是一典型的人机交互系统。按照ISO9241对可用性的定义,指控软件完全属于可用性产品的范畴,在设计和开发过程应遵循可用性工程的一系列方法和步骤。
2 指控软件可用性工程生命周期模型
2.1 模型设计[5-6]
可用性工程是以用户为中心的设计方法论,强调从用户的角度来进行产品的设计开发,这使它有别于传统和常规的开发方法。可用性工程生命周期是指可用性研究应贯穿产品设计整个生命周期,是基于快速应用开发模型的生命周期。可用性工程在指控软件中的应用,其生命周期分为需求分析、模型构建、可用性设计、可用性测试与评估、安装部署及使用体验、用户反馈各阶段进行,强调以用户为中心的设计理念,对产品进行迭代测试和迭代设计,如图1 所示。
图1 可用性工程生命周期模型
2.2 模型说明
2.2.1 可用性需求分析
需求分析阶段首先是确定指控软件的目标用户,然后按照战技指标的要求进行任务分析、功能性分析,最后确定可用性目标。这一阶段需进行反复的评价和改进,直到满足各方面的要求。这一阶段可以运用问卷调查和用户访谈的方法了解用户的需求,收集用户意见。
1)用户研究[7-8]用户研究方法的重点是在系统开发中以用户需求为驱动,而非技术需求为驱动。设计应当通过突出用户交互和依赖原型法迭代设计的过程来提供良好的交互式产品。主要包括:①用户分类 指控软件的使用者主要是士兵和作训参谋,有的是初次使用,有的是经验用户;②用户个人特征 部队人员(士兵)用户的工作环境、教育程度、年龄等。人员的文化水平和技能水平不一,对于士兵来说,每两年(退伍)或更短要轮换一次,不断地有新手出现,在设计操作界面时一定要考虑到;③人员的演变用户并不是一成不变的,对于系统的使用会改变用户,随着这种改变,他们使用系统的方式会发生变化。最典型的变化是用户经过一段时间的学习或使用后,由新手会变成有经验的熟练用户,则在设计使用界面时,可设计快捷键。
2)任务分析 任务分析是产品设计必需的早期输入。应当研究用户使用产品的最终目标,研究他们目前是怎样执行任务的,了解他们的信息需求以及他们是怎样处理异常和紧急情况的。同时,建立用户任务分析模型,以便进行早期的测试和研究。根据指控软件所要求的使命任务及战技要求,明确有多少需要执行的任务,对各任务按照层次结构进行分解,并且要描述每个任务其正常工作过程中的例外情况。
3)功能性分析[1]不应当按照以前技术的限制所形成的惯例,来设计新的产品,这样会使我们的思维受到限制,难有突破性的创新设计。所以,不仅仅要分析用当前执行任务的方式,还应当分析任务的底层功能上的原因。指控软件的功能设置最初不是从使用者(目标用户)中获取的,而是设计者按照军事需求、借鉴国外的类似装备进行分析、消化后形成的。因此,进行功能性分析时主要考虑系统功能如何展现给用户,满足用户的可用性要求。
4)整体设计准则 通过任务分析和功能性分析,对各任务及功能模块从整体上进行协调,并进行一致性检验。
5)确定可用性目标 可用性并不是一个单维属性,它包含有若干可能相互矛盾的成分。对于指控软件的研制中,按照可用性的要求,确定可用性的具体目标,必须根据通过用户和任务的分析来明确他们的优先级。需求分析模型如图2所示。
图2 可用性需求分析模型
2.2.2 模型构建
需求分析后,需要把可用性需求规格说明转化为一系列模型,主要包括任务模型和用户模型两类。任务模型是在前期的调研和分析的基础上,将用户需求、市场分析和产品定位等转化为具体的任务以及描述,明确开发目标,包括功能模型、特征模型、偏好模型以及构架模型等,以便于设计人员开展设计;用户模型[12]是用户特性的综合描述,包含 1)用户行动模型,描述用户的需要和各种任务的操作过程;2)用户认知模型,描述用户的感知、注意、思维、记忆、理解、表达、交流、学习、选择、决断、发现问题与解决问题等特性;3)用户学习模型,描述用户学习过程与需要;4)用户出错模型,描述操作过程中出现的错误。
模型的构建不是一次性过程,需要不断的迭代,最后形成一系列标准的模型。
2.2.3 可用性设计
在需求分析以后,可用性工程要求在设计过程中时刻以用户为中心,强调用户的参与,这一过程分为以下几种设计。
1)概念模型设计[7]可用性设计的概念模型设计阶段,即要设计符合用户需求及设计者想法的设计概念。在前期需求分析的基础上,可用性设计者必产生若干关于整个设计的构思和想法,而这些思维都来源于对设计客体的感性思维,进而便可遵循综合、抽象、概括、归纳的思维方法将这些想法分类,找出其中的内在关联,进行设计定位,从而形成设计概念。
2)并行设计 在概念设计的基础上,最好由几个设计人员分别独自同时来进行初步设计,这样有利于给出不同的设计思路、想法,再通过整合权衡确定要发展的方案。
3)原型设计[5-7]原型技术的主要目的就在于节省时间和成本来开发那种可供真正用户进行测试的东西。我们可以根据不同的测试目的,来开发不同的原型。如:垂直原型(减少原型的功能数)、水平原型(降低原型的功能水平)、剧情原型(通过描述来创造意识里的原型)。通过与用户的交流来获取信息。
4)界面设计[12]在指控软件设计阶段,主要是根据系统功能进行界面设计,要考虑界面提供者(开发者)与界面接受者(用户)之间的交互质量和体验感受。其宗旨就是在界面设计过程中要紧紧围绕用户,在系统设计和测试过程中要有用户的参与,以及时地获得用户的反馈信息,并根据用户的需求和反馈信息不断地改进设计,直到满足用户的体验需求,其关系如图3的模型所示[11]。同时软件界面设计必须与相关的硬件设计(主要包括机箱设计、操作面板设计、键盘设计和人机环境设计)综合考虑。这些都需要通过采用原型方法与用户交互,不断地改进设计。
在设计进入实质性阶段后,应当保持与真正的用户之间的沟通,不能只凭设计师的想象。这样可能会得到从未想到的问题。这就是说适当地让用户参与到设计过程中来,用开发的原型与用户交流,通过多次迭代,最终形成用户满意的产品,可用性设计的迭代过程如图4所示描述。
图3 界面设计的用户参与模型
图4 可用性设计迭代过程
2.2.4 可用性测试与评估[13-16]
可用性测试与评估是通过专家和潜在用户来评估产品是否方便易用,是否符合用户的需求和期望,可以是早期纸上原型的测试,中间各阶段的原型或半成品的测试,也可以是后期成品的测试。
可用性测试是指控软件设计与开发中的重要一环,与普通的软件测试完全不同,不在于功能测试,也不在于软件内部的故障查找,而是从用户的角度来检测软件的质量,从其外部来看用户怎样使用和与之交互。可用性测试有许多方法,较为常用的有用户调查法、焦点讨论法、专家评估法、认知过程走查法,如表1所示。
表1 常用可用性测试方法比较
图5 可用性测试实验环境
指控软件是指控装备的核心部分,由指挥人员具体操作,在进行可用性测试时应有一定的实验环境,如图5所示。实验室分两部分组成:测试间和观察间,测试间可模仿装甲平台环境,由参试人员按照测试要求进行指控软件可用性测试,观察间的观察人员通过各种辅助设备(如摄像头、有声设备、监视屏等)观察参试人员的操作情况,并记录各种数据。然后进行数据分析,找出需改进的地方。
2.2.5 安装部署与使用体验
将经过可用性测试与评估的产品提供给用户使用体验,由用户进行再次评判,并注意收集可用性数据。用户体验测试主要从心理学出发,研究界面设计与用户心理和行为之间的关系,包括习惯、操作时间、认知模式、操作路径、出错率、愉悦性以及满意度等。
此部分的体验是属于整个系统级的,包括硬件和软件两方面,因而较全面地反映整个系统的可用性情况。用户体验最好在真实环境中进行。
2.2.6 用户反馈
当产品安装部署之后,及时地跟踪用户的使用情况,收集可用性数据,一是作出进一步的可用性评估,同时也为新一代产品打下基础。这一阶段主要包括用户建议,新需求发现,持续改进。
3 模型应用说明
可用性工程生命周期模型并不独立于一般软件工程生命周期模型之外,按照可用性工程的要求,可用性贯穿于软件过程的始终。其实在软件开发的每一阶段,强调用户的参与、用户的测试与评估,在软件部署以后仍然需要用户反馈信息,并进行持续改进,这种以用户为中心的软件开发方法是复杂软件系统开发的有效方法。目前,指控软件越来越复杂,从用户使用者的角度已经发现了许多的问题,这些问题严重影响到了武器系统的作战效能,因此,应从方法论上引起重视。
本文提出的指控软件可用性工程生命周期模型具有通用性,还适合于其他交互式应用产品。模型的来源主要包括:1)借鉴国内外学者关于 IT产品可用性研究;2)借鉴国内外学者关于软件可用性研究;3)对部队指控软件可用性的调查结果。
4 结束语
目前,指控软件所提供的功能越来越多、越来越复杂,从可用性的角度看未必是一件好事,需要对功能进行聚类,对操作界面分层规划,多和目标用户交流以满足使用要求。
指控软件的设计与开发不应该只是技术人员的事情,而需要技术人员、领域专家和目标用户之间的不断交互和迭代。
本文尝试把可用性工程方法应用到具体的指控软件开发过程中,根据指控软件使用的特性以及开发过程的个性提出了指控软件可用性工程生命周期模型。此外,本文对指控软件开发过程中的可用性只进行了简要论述,下一步工作是对其进行进一步研究并建立可用性评价指标体系。
[1]尼尔森.可用性工程[M].刘正捷,等译.北京:机械工业出版社,2004.
[2]ISO 9421-10. Ergonomic requirements for office work with visua1display terminals (VDT’s)-Part 10:Dialogue principles, Internationa1 Organization of Standardization, 1994.
[3]IS09241-l1. Ergonomic requirements for office work with visua1display terminals (VDT’s)-Part l1:Guidance on usability, Internationa10rganization of Standardization, 1995.
[4]Joseph L. Gabbard and J. Edward Swan II. Usability Engineering for Augmented Reality:Employing User-Based Studies to Inform Design[J]. IEEE Transactions on visualization and computer graphics,2008, 14(3):513-525.
[5]刘胧,刘虎沉.手机可用性工程生命周期与评价方法[J].工业工程, 2009,13(3):97-101.
[6]Catriona Macaulay, David Sloan, Xinyi Jiang atel.Usability and User-Centered Design in Scientific Software Development[J]. IEEE Software, 2009, 26(1):96-102.
[7]孙林岩.人因工程[M].北京:高等教育出版社, 2008.
[8]M. Kuniavsky, Observing the User Experience:A Practitioner’s Guide to User Research, Morgan Kaufmann, 2003.
[9]赖祥伟,邱玉辉,张为群.面向可用性的软件认知过程建模与模式检查方法[J].计算机科学,2007,34(5):255-259.
[10]Maloner-Krichmar D,Preece J.A multileve1 analysis of sociability,usability,and community dynamics in an online health community[J]. ACM Transactions on Computer-Human Interaction,2005,12(2):201- 232.
[11]罗仕鉴,龚蓉蓉,朱上上,等.面向用户体验的手持移动设备软件界面设计[J].计算机辅助设计与图形学学报, 2010, 22(6):1033-1041.
[12]李乐山.人机界面设计(实践篇)[M].北京:科学出版社,2009.
[13]张丽萍,刘正捷,张海昕,等. IT产品的可用性测试与评估[J].计算机工程与应用,2003,39(9):73-76.
[14]Tasha Hollingsed, David G Novick. Usability inspection methods after 15 years of research and practice[C].El Paso, Texas, USA:SIGDOC'07, 2007:249-255.
[15]Nrgaard Mie, Hornbk Kasper. What do usability evaluators do in practice An explorative study of think-aloud testing [C]. Proceedings of the Conference on Designing Interactive Systems, 2006:209-218.
[16]Pedro Campos and Nuno Jardim Nunes. Practitioner Tools and Workstyles for User-Interface Design[J].IEEE Software,2007,24(1):73-80.