人机交互技术 Week 11_Data gathering
Summary: Different Kinds of Requirements
- Functional requirements
- Data requirements
- Environmental requirements
- Physical requirements
- Social requirements
- Organizational requirements
- Technical requirements
- User requirements
- Usability requirements
Class activity
Suggest one key functional, data, environmental, user and usability requirement for each of the following scenarios:
- A system for use in a university's self-service cafeteria that allows users to pay for their food using a credit system
- Functional: the system will calculate the total cost of purchases.
- Data: The system must have access to their price of products.
- Environmental: The physical environment will be noisy and bysy, and users may be talking with friends and colleagues while using the system.
- User: The majority of users are likely to be under 25 and comfortable dealing with technology.
- Usability: The system needs to be simple so that new users can use the system immediately, and memorable for more frequent users. Users won't want to wait around for the system to finish processing, so it needs to be efficient and to be able to deal easily with user errors.
- A system to control the functioning of a nuclear power plant
- A system to support distributed design teams, e.g. for car design
- Functional: the system will be able to communicate information between remote sites.
- Data: The system must have access to design information that will be captured in a common file format (such as AutoCAD).
- Environmental: Physically distributed over a wide area. Files and other electronic media need to be shared.The system must comply with available communication protocols and be compatible with network technologies.
- User: Professional designers, who may be worried about technology but who are likely to be prepared to spend time learning a system that will help them perform their jobs better. The design team is likely to be multi-lingual.
- Usability: Keep transmission error rate low is likely to be of high priority.
Data gathering
- an important part of requirements activity and also of evolution
- Purpose: to collect sufficient, relevant, and appropriate data so that a set of stable requirements can be produced.
- expand, clarify, and confirm the Initial requirements
- Needs to cover a wide spectrum of issues due to quite varied requirements
- Need to find out user tasks, goals, context...
Data gathering techniques
Essentially a small number of basic techniques for data gathering
- questionnaires
- interviews
- focus groups and workshops
- naturalistic observation
- studying documentation
Data gathering techniques are flexible and can be combined and extended in many ways.
(1) Questionnaires
- Can give quantitative or qualitative data
- Good for answering specific questions from a large, dispersed group of people
- Infeasible to visit them all
- Often used in conjunction with other techniques
- Information obtained through interviews might be corroborated (确证) by sending a questionnaire to a wider group of stakeholders to confirm the conclusions.
(2) Interviews
- Forum for talking to people
- face-to-face vs telephone
- Structured, unstructured or semi-structured
- how rigorously the interviewer sticks to a prepared set of questions
- Context
- home setting
- Props, prototypes, can be used In Interviews
- Good for exploring issues
- more encouraging
- But are time consuming and may be infeasible to visit everyone
(3) focus groups and workshops
- Group interviews
- Structured or unstructured, facilitator
- Good at gaining a consensus view and/or highlighting areas of conflict and disagreement.
- On a social level it also helps for stakeholders to meet designers and each other, and to express their views in public.
- The sessions need to be structured carefully and the participants need to be chosen carefully.
- It is easy for one or a few people to dominate discussions.
(4) Naturalistic observation
- Why?
- It can be very difficult for humans to explain what they do or to even describe accurately how they achieve a task.
- Observation provides a richer view.
- Spend time with stakeholders in their day-to-day tasks, observing work as it happens, in a natural setting.
- A member of the design team shadows a stakeholder, making notes, asking questions, and observing what is being done in the natural context of the activity.
- Gain insights into stakeholders' tasks
(5) Studying documentation
- Procedures and rules are often written down in manuals
- Other documentation: diaries or job logs that are written by the stakeholders during the course of their work
- Good source of data about the steps involved in an activity, and any regulations governing a task
- Not to be used in isolation
- Good for understanding legislation (立法), and getting background information
- No stakeholder time, which is a limiting factor on the other techniques
Choosing between techniques
- The kind of information your want will probably be determined by where you are in the cycle of iterations.
- at the beginning of the project
- interviews
- at the beginning of the project
- The resources available will influence the choice.
- sending questionnaires nationwide
- time, money, good design, pilot it, issue it, collate (比较) the results and analyze them.
- has only 3 weeks? No one in the team has designed a survey before?
- sending questionnaires nationwide
- The location and accessibility of the stakeholders need to be considered.
- attractive to run a workshop
- spread across a wide geographical area?
Choosing between data-gathering techniques rests on two issues:
- The nature of the data gathering technique itself
- The task to be studied
Data gathering techniques differ in two ways:
- Amount of time, level of detail and risk associated with the findings
- naturalistic observation: 2 days effort and 3 months of training
- Interviews: 1 day effort and 1 month of training
- Knowledge the analyst requires
Problems with data gathering
- Identifying and involving stakeholders: users, managers, developers, customer reps?, union reps?, shareholders?
- Involving stakeholders: workshops, interviews, workplace studies, co-opt(指派) stakeholders onto the development team
- ‘Real’ users, not managers: traditionally a problem in software engineering, but better now
- Requirements management: version control, ownership
- Communication between parties:
- within development team
- with customer/user
- between users...different parts of an organisation use different terminology
- Domain knowledge distributed and implicit:
- difficult to dig up and understand
- knowledge articulation: how do you walk?
- Availability of key people
- Political problems within the organisation
- Dominance of certain stakeholders
- Economic and business environment changes
- Balancing functional and usability demands
Some basic guidelines
- Focus on identifying the stakeholders' needs
- Involve all the stakeholder groups
- Involve more than one representative from each stakeholder group
- Use a combination of data gathering techniques
- Support the process with props such as prototypes and task descriptions
- Run a pilot session
- You will need to compromise on the data you collect and the analysis to be done, but before you can make sensible compromises, you need to know what you'd really like
- Consider carefully how to record the data
Data interpretation and analysis
- Aim: to begin structuring and recording descriptions of requirements. Start soon after data gathering session
- The experience will be fresh in the minds of the participants and this can help overcome any bias caused by the recording approach.
- A good idea is to discuss the findings with others to get a variety of perspectives on the data.
- Using a template highlights the kinds of information you should be looking for and guides the data interpretation and analysis.
Class Diagram
In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, and the relationships between the classes.
Class Activity
For each of the situations below, consider what kinds of data gathering would be appropriate and how you might use the different techniques. Assume that you are at the beginning of the development and that you have sufficient time and resources.
- (a) You're developing a new software system to support a small accountant's office. There is a system running already with which the users are reasonably happy, but it is looking dated and needs upgrading.
- (b) You are looking to develop an innovative device for diabetes sufferers to help them record and monitor their blood sugar levels. There are some products already on the market, but they tend to be large and unwieldy(不实用的). Many diabetes sufferers rely on manual recording and monitoring methods involving a ritual with a needle, some chemicals, and a written scale.
- (c) You are developing a website for a young person's fashion e-commerce site.
人机交互技术 Week 11_Data gathering的更多相关文章
- 人机交互技术 Week 1_人机交互概述
HCI Week 1_Introduction 18-19学年春夏学期选修了计院万华根老师的人机交互技术课程,老师由于知识产权相关原因不能提供课件,故尽可能对课程内容做详尽的课堂笔记以供复习,如有不妥 ...
- 人机交互技术 Week 2_History of HCI
Recap: Interaction Design Interaction Design Designing interactive products to support people in the ...
- 2014年4月份第3周51Aspx源码发布详情
WPY净水机网站源码 2014-4-14 [VS2008]源码描述: 实现产品展示,在线留言,信息发布,在线咨询,营销网络地图. 网站基本管理:网站banner管理 管理首页滚动图片信息 网站右下部 ...
- Apache Commons CLI 开发命令行工具示例
概念说明Apache Commons CLI 简介 虽然各种人机交互技术飞速发展,但最传统的命令行模式依然被广泛应用于各个领域:从编译代码到系统管理,命令行因其简洁高效而备受宠爱.各种工具和系统都 提 ...
- 中国VR公司的详尽名单
中国VR公司的详尽名单 <VR圈深度投资报告一:2014年以来所有VR/AR融资事件> 特征一.投资机构观望居多 尽管VR在媒体和二级市场炒得很热,但大多风险投资机构却慎于出手,以观望 ...
- 红透半边天的VR(虚拟现实)产业
目前在做一些与AR与VR相关的工作,特此把一些个人总结的普及性概念与各位朋友共享. 一: 什么是虚拟现实(VR)技术? 虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统它利用计算机生成一种模拟 ...
- VREP中的力触觉设备接口(CHAI3D)
力反馈技术是一种新型的人机交互技术,它允许用户借助力反馈设备触碰.操纵计算机生成的虚拟环境中的物体,并感知物体的运动和相应的力反馈信息,实现人机力觉交互.虽然传统的鼠标.键盘.触摸屏等交互手段可以满足 ...
- 什么是UE、UI、UCD、UED?UE、UI、UCD、UED四者的区别(转)
字面释义: UE (User Experience) : 用户体验 UI (User Interface) : 用户界面 UCD (User-Centered Design) :以用户为中心的设计 U ...
- AR和VR的区别到底在哪?
AR是Augmented Reality的字母缩写,中文名字是“增强现实”,是一种全新人机交互技术.通过AR技术,让参与者与虚拟对象进行实时互动,从而获得一种奇妙的视觉体验,而且能够突破空间.时间以及 ...
随机推荐
- 安卓开发实战之app之版本更新升级(DownloadManager和http下载)完整实现
转载: https://blog.csdn.net/u013278099/article/details/52692008 前言 本文将讲解app的升级与更新.一般而言用户使用App的时候升级提醒有两 ...
- java 静态数组 和非静态数组的区别
区别:1,数组创建时间不同,静态的是一定义出来就创建了,动态的则是定义时不创建,使用时才创建,一定意义上节省了内存空间.2,使用场景不同,一开始就知道数组长度的使用静态初始化,反之,动态初始化. 静态 ...
- tail -f 加过滤功能
实时查看日志 通过-f参数,我们可以实时查看文件的新增内容: $ tail -f itbilu.log 注意:使用-f参数时不会中断文件监视,需要通过ctrl+c手动结束. 实时日志查看与grep过滤 ...
- HearthBuddy修改系统时间
将以下代码保存在.bat文件,然后用管理员权限运行 pushd "%~dp0" #下面修改时间,根据操作系统的语言不同,会有不同的格式,比如2019-10-26date 10/26 ...
- 报错:ModuleNotFoundError: No module named '_ctypes'
报错背景: CentOS 7 Python3.7 安装 setuptools 插件的时候报错. 报错现象: [root@master setuptools-]# python3. setup.py b ...
- SQL Server判断对象是否存在
1 判断数据库是否存在 if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名] if exis ...
- SqlServer里,一条sql进行递归删除
Server 2005中提供了公用表表达式(CTE),使用CTE,可以使SQL语句的可维护性,同时,CTE要比表变量的效率高得多. 存储过程方法: create proc up_delete_ncla ...
- 使用mousedown、mousemove、mouseup实现拖拽效果
如何实现一个元素的拖拽效果,使用原生的js实现,习惯了jquery的同学们,你们自己写了吗?N久使用mvvm框架,不写jquery的东西,感觉自己完全不会了. 话不多说,直接上code.本例子以简单的 ...
- web端自动化——Selenium3+python自动化(3.7版本)-chrome67环境搭建
前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要.本系列依然以selenium3为基础. 一.selenium简介 Sel ...
- 接口请求报错 504 Gateway Time-out
最近程序接口请求报了一个错误,如图 很明显的请求超时,以前也没出现过这个问题,突然就报了这个错,很懵. 百度之后网上说是nginx的问题,然后突然想起来,因为业务需要我在nginx里配了接口的转发. ...