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
  • 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?
  • 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:

  1. The nature of the data gathering technique itself
  2. The task to be studied

Data gathering techniques differ in two ways:

  1. 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
  2. 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的更多相关文章

  1. 人机交互技术 Week 1_人机交互概述

    HCI Week 1_Introduction 18-19学年春夏学期选修了计院万华根老师的人机交互技术课程,老师由于知识产权相关原因不能提供课件,故尽可能对课程内容做详尽的课堂笔记以供复习,如有不妥 ...

  2. 人机交互技术 Week 2_History of HCI

    Recap: Interaction Design Interaction Design Designing interactive products to support people in the ...

  3. 2014年4月份第3周51Aspx源码发布详情

    WPY净水机网站源码  2014-4-14 [VS2008]源码描述: 实现产品展示,在线留言,信息发布,在线咨询,营销网络地图. 网站基本管理:网站banner管理 管理首页滚动图片信息 网站右下部 ...

  4. Apache Commons CLI 开发命令行工具示例

    概念说明Apache Commons CLI 简介 虽然各种人机交互技术飞速发展,但最传统的命令行模式依然被广泛应用于各个领域:从编译代码到系统管理,命令行因其简洁高效而备受宠爱.各种工具和系统都 提 ...

  5. 中国VR公司的详尽名单

    中国VR公司的详尽名单   <VR圈深度投资报告一:2014年以来所有VR/AR融资事件> 特征一.投资机构观望居多 尽管VR在媒体和二级市场炒得很热,但大多风险投资机构却慎于出手,以观望 ...

  6. 红透半边天的VR(虚拟现实)产业

    目前在做一些与AR与VR相关的工作,特此把一些个人总结的普及性概念与各位朋友共享. 一: 什么是虚拟现实(VR)技术? 虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统它利用计算机生成一种模拟 ...

  7. VREP中的力触觉设备接口(CHAI3D)

    力反馈技术是一种新型的人机交互技术,它允许用户借助力反馈设备触碰.操纵计算机生成的虚拟环境中的物体,并感知物体的运动和相应的力反馈信息,实现人机力觉交互.虽然传统的鼠标.键盘.触摸屏等交互手段可以满足 ...

  8. 什么是UE、UI、UCD、UED?UE、UI、UCD、UED四者的区别(转)

    字面释义: UE (User Experience) : 用户体验 UI (User Interface) : 用户界面 UCD (User-Centered Design) :以用户为中心的设计 U ...

  9. AR和VR的区别到底在哪?

    AR是Augmented Reality的字母缩写,中文名字是“增强现实”,是一种全新人机交互技术.通过AR技术,让参与者与虚拟对象进行实时互动,从而获得一种奇妙的视觉体验,而且能够突破空间.时间以及 ...

随机推荐

  1. 在应用中显示的图片很多情况不满足业务需求,我们需要动态根据图片的宽高进行缩放或加载中显示的缺省图片,这是我没就需要监听图片加载完成回调,来看看微信小程序怎么实现图片加载完成回调。

    <swiper-item> <image src="{{item.image}}" class="slide-image" mode=&quo ...

  2. return关键字

    注意:如果一个函数的返回值类型是具体的数据类型,那么该函数就必须要保证在任意情况下都保证有返回值(除了返回值类型是void)     return  关键字的作用: 1   返回数据给函数的调用者. ...

  3. k8s概念入门

    k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以做到故障自愈,例如一个服务器挂了,可以自动将这个 ...

  4. OpenFOAM-双柱及群柱绕流

    这次的教程是紧接前几次的教程,设置与前几次教程类似,但是对于设置上稍微有一点点区别,就是在设置值的时候,出现了$internalField,其实这是一个字符串替换,就是在出现$internalFiel ...

  5. 对okhttp参数的一些思考

    背景 项目中使用OkHttp访问三方服务 参数 创建okhttp客户端类的时候需要设置一些参数,有些可能是坑,仅供参考: client = new OkHttpClient.Builder() .di ...

  6. python反射hasattr getattr setattr delattr

    反射 : 是用字符串类型的名字 去操作 变量 相比于用eval('print(name)') 留有 安全隐患 反射 就没有安全问题 hasattr 语法: hasattr(object, name)o ...

  7. 范仁义web前端介绍课程---5、webstorm的下载安装

    范仁义web前端介绍课程---5.webstorm的下载安装 一.总结 一句话总结: webstorm破解版搜索:webstorm破解 site:52pojie.cn 编辑器随便选用,功能都差不多,哪 ...

  8. DNGuard HVM Unpacker(3.71 trial support and x64 fixed)

    DNGuard HVM Unpacker(3.71 trial support and x64 fixed) Gr8 news. Finally got the x64 crash fixed. DN ...

  9. 表单在ios下输入框必须重压或长按才能唤起软键盘

    解决方案: 一.在node_module里找到fastClick文件,然后找到focus方法,加一句focus方法即可解决:FastClick.prototype.focus = function(t ...

  10. StringBuffer & StringBuilder的区别

    StringBuffer是线程安全的,内部有锁.所以比StringBuilder慢一点. 在单线程生成字符串的情况下,优先使用StringBuilder. 这就是为啥有时候IntelliJ Idea会 ...