identifying needs and establishing requirements by – hao and raj chapter 7 - prs

41
Identifying Needs Identifying Needs and Establishing and Establishing Requirements Requirements By – Hao and Raj By – Hao and Raj Chapter 7 - PRS Chapter 7 - PRS

Upload: joshua-rogers

Post on 24-Dec-2015

225 views

Category:

Documents


3 download

TRANSCRIPT

Identifying Needs and Identifying Needs and Establishing Establishing

RequirementsRequirements

By – Hao and RajBy – Hao and Raj

Chapter 7 - PRSChapter 7 - PRS

Why do we need Why do we need Requirements?Requirements?

When 38 IT professionals in the UK When 38 IT professionals in the UK were asked about which project were asked about which project stages caused failure, respondents stages caused failure, respondents mentioned “requirements definition” mentioned “requirements definition” more than any other phase. more than any other phase.

What are requirements?What are requirements?

A requirement is a statement about A requirement is a statement about an intended product that specifies an intended product that specifies what it should do or how it should what it should do or how it should perform.perform.

Goal: To make as specific, Goal: To make as specific, unambigous, and clear as possible. unambigous, and clear as possible.

What kinds of What kinds of specifications?specifications?

(broad category)(broad category)

Functional: What the system should Functional: What the system should dodo

Non-Fictional: what constraints there Non-Fictional: what constraints there are on the system its development. are on the system its development. (For example that a work processor (For example that a work processor runs on different platforms)runs on different platforms)

What requirements should What requirements should be gathered?be gathered?

Functional: What the product should do.Functional: What the product should do.

Data requirements: Capture the type, volatility, Data requirements: Capture the type, volatility, size/amount, persistence, accuracy and the amounts size/amount, persistence, accuracy and the amounts of the required data. of the required data.

Environmental requirements: a) context of use b) Environmental requirements: a) context of use b) Social environment (eg. Collaboration and Social environment (eg. Collaboration and coordination) c) how good is user support likely to coordination) c) how good is user support likely to be d) what technologies will it run onbe d) what technologies will it run on

User Requirements: Capture the characteristics of User Requirements: Capture the characteristics of the intended user group.the intended user group.

Usability Requirement: Usability goals associated Usability Requirement: Usability goals associated measures for a particular product (More info on measures for a particular product (More info on Chapter 6).Chapter 6).

Data Gathering Data Gathering TechniquesTechniques

Questionnaires: Series of questions Questionnaires: Series of questions designed to elicit specific information from designed to elicit specific information from us. The questions may require different us. The questions may require different kinds of answers: some require a simple kinds of answers: some require a simple Yes/No, others ask us to choose from a set Yes/No, others ask us to choose from a set of pre-supplied answers.of pre-supplied answers.

Interviews: Interviews involve asking Interviews: Interviews involve asking someone a set of questions. Often someone a set of questions. Often interviews are face-to-face, but they don’t interviews are face-to-face, but they don’t have to be (more on next page). have to be (more on next page).

Data Gathering Data Gathering Techniques (continued)Techniques (continued) Interviews:Interviews:

Forum for Forum for talking to people talking to people Structured, unstructured or semi-Structured, unstructured or semi-

structured structured Props, e.g. sample scenarios of use, Props, e.g. sample scenarios of use,

prototypes, can be used in interviewsprototypes, can be used in interviews Good for exploring issues Good for exploring issues But are time consuming and may be But are time consuming and may be

infeasible to visit everyoneinfeasible to visit everyone

Data-gathering Data-gathering techniquestechniques

Focus groups and workshops: Interviews Focus groups and workshops: Interviews tend to be one on one, and elicit only one tend to be one on one, and elicit only one person’s perspective. It can be very person’s perspective. It can be very revealing to get a group of stakeholders revealing to get a group of stakeholders together to discuss issues and requirements. together to discuss issues and requirements.

Naturalistic ObservationNaturalistic Observation: It can be very : It can be very difficult for humans to explain what they do difficult for humans to explain what they do or to even describe accurately how they or to even describe accurately how they achieve a task. (more on next page)achieve a task. (more on next page)

Data-gathering Data-gathering Techniques (continued)Techniques (continued)

Naturalistic observation:Naturalistic observation: Spend time with stakeholders in their day-to-Spend time with stakeholders in their day-to-

day tasks, observing work as it happensday tasks, observing work as it happens Gain insights into stakeholders’ tasks Gain insights into stakeholders’ tasks Good for understanding the nature and Good for understanding the nature and

context of the taskscontext of the tasks But, it requires time and commitment But, it requires time and commitment

from a member of the design team, and from a member of the design team, and it can result in a huge amount of datait can result in a huge amount of data

Ethnography is one formEthnography is one form : entire class : entire class devoted to this.devoted to this.

Data-gathering Data-gathering

Studying documentation: Procedures Studying documentation: Procedures and rules are often written down in a and rules are often written down in a manual and these are a good source manual and these are a good source of data about the steps involved in of data about the steps involved in an activity and any regulations an activity and any regulations governing a task.governing a task.

Use All of the above In Use All of the above In Combination : Constraints of Combination : Constraints of

Time and MoneyTime and Money

Task ClassificationTask Classification Is the Task a set of sequential steps or is Is the Task a set of sequential steps or is

it a rapidly overlaying series of sub-tasks?it a rapidly overlaying series of sub-tasks?

Does the task involve high information Does the task involve high information content : High information content or low content : High information content or low --- is it complex or simple to interpret --- is it complex or simple to interpret visual displays. visual displays.

Is the task intended to be performed by a Is the task intended to be performed by a layman without much training or by a layman without much training or by a practitioner skilled in the task domain?practitioner skilled in the task domain?

Data Gathering Data Gathering GuidelinesGuidelines

Focus on identifying the stakeholdersFocus on identifying the stakeholders

Involve all the stakeholder groupsInvolve all the stakeholder groups

Need more than on person from stakeholder Need more than on person from stakeholder group(s)group(s)

Use a combination of data gathering Use a combination of data gathering techniquestechniquesFor example: use observation to understand For example: use observation to understand the context, interviews to target specific user the context, interviews to target specific user groups, questionnaires to reach a wider groups, questionnaires to reach a wider population, and population, and focus groups to build a focus groups to build a consensus viewconsensus view

Data Gathering Data Gathering Guidelines Cont.Guidelines Cont.

Support the data-gathering sessions with Support the data-gathering sessions with suitable props, such as task descriptions and suitable props, such as task descriptions and prototypes if available.prototypes if available.

Run a pilot session if possible to ensure that Run a pilot session if possible to ensure that your data-gathering session is likely to go as your data-gathering session is likely to go as plannedplanned

In an ideal world, you would understand what In an ideal world, you would understand what you are looking for and what kinds of analysis you are looking for and what kinds of analysis you want to do, and design the data-capture you want to do, and design the data-capture exercise to collect the data you want. exercise to collect the data you want. However, data gathering is expensive and However, data gathering is expensive and often a tightly constrained resource.often a tightly constrained resource.

Software Cost Reduction Software Cost Reduction Method (SCR)Method (SCR)

The system behavior is described by The system behavior is described by a mathematical relation between a mathematical relation between monitored variablesmonitored variables and and controlled controlled variablesvariables. Very mathematical…. Very mathematical…

Viewpoints:Viewpoints:

Scenarios Scenarios used to create used to create Requirements Requirements Specification Specification (From Users (From Users to to Requirements)Requirements)

We may follow We may follow this approach this approach in our projectsin our projects

OverviewOverview

Data interpretation and analysis

Task descriptions Task analysis Requirements managementRequirements management

Data interpretation and Data interpretation and analysisanalysis

What: structure and record description of requirement

When: Start soon after data gathering session

Data interpretation and Data interpretation and analysisanalysis

Main Requirement analysis models Main Requirement analysis models in in object-oriented systems Use cases diagrams: Use cases diagrams:

consists of actors and user cases, consists of actors and user cases, discussed laterdiscussed later

Class diagramsClass diagrams More…More…

How to develop those diagrams?How to develop those diagrams?UML tools( useful in practice) UML tools( useful in practice)

What is UMLWhat is UML Stands for Unified Modeling Language standard  language to specify, visualize, construct, and document

the artifacts of software systems, as well as other non-software systems.

very important part of object oriented software very important part of object oriented software development process. development process.

uses graphical notations to express the design of uses graphical notations to express the design of software projects.software projects.

you can choose to use UML tool for establishing you can choose to use UML tool for establishing requirement Or just use paper and pen.requirement Or just use paper and pen.

See details in references books about UMLSee details in references books about UML

Task descriptions

Task descriptionsTask descriptions

Scenarios an informal narrative story of users Natural way to explain

Use cases show interaction with a system show detailed understanding of the

interaction Essential use cases

Improvement of use cases Often used in combination

Scenarios

Scenarios Usually the first step in

establishing requirement an informal narrative story of users Describe

what users are doing orHow to achieve something

An example

Scenario for shared Scenario for shared calendarcalendar

In an informal interview, one potential user answered the question

” How to arrange a meeting between several people

in the shared-calendar system ?”

A simple scenario for this system: “The user types in all the names of the meeting

participants, the length of the meeting, together with some

constraints such as roughly when the meeting needs to take place, and possibly where it needs to take place. The system then checks against the individuals’ calendars and the central departmental calendar……”

Scenario for shared Scenario for shared calendarcalendar

In an informal interview, one potential user answered the question

” How to arrange a meeting between several people

in the shared-calendar system ?”

A simple scenario for this system:User : types in all the names of the meeting participants length of the meeting when is the meeting where is the meeting.System: checks against the individuals’ calendars and the

central departmental calendar More…

Use casesUse cases

Use casesUse cases a special kind of scenario that breaks a special kind of scenario that breaks

down system requirements into user down system requirements into user functions functions

use case is a sequence of events use case is a sequence of events performed by a userperformed by a user

Interaction between user and a system

Example

Use case for shared Use case for shared calendarcalendar

A sequence of events to arrange a meeting: 1. The user chooses the option to arrange a

meeting. 2. The system prompts user for the names of

attendees. 3. The user types in a list of names. 4. The system checks that the list is valid. 5. The system prompts the user for meeting

constraints. More steps…Note: Number indicates the steps,Note: Number indicates the steps, shows how user and system will interactshows how user and system will interact..

Use casesUse cases

How to avoid many words in the How to avoid many words in the requirement description ?requirement description ?

Try graphical description!Try graphical description! Actors-------------use casesActors-------------use cases

For exampleFor example

Administrator --------- Arrange a meetingAdministrator --------- Arrange a meeting

Use case diagram Use case diagram exampleexample Use case diagram for the shared calendar systemUse case diagram for the shared calendar system

3 use cases and 2 actors (Using the UML tool)3 use cases and 2 actors (Using the UML tool)

Essential use casesEssential use cases

Improvement of scenarios and use Improvement of scenarios and use casescases

structuredstructured Consists of description of Consists of description of

user intentionuser intention system responsibilitysystem responsibility

Task analysis

Task analysisTask analysis

Task descriptionsTask descriptions versus versus Task Task analysisanalysis Task descriptions are often used to Task descriptions are often used to

envisionenvision new new systems or devicessystems or devices Task analysis is used mainly to Task analysis is used mainly to

investigate an investigate an existingexisting situation situation

Many techniques, the most popular Many techniques, the most popular is Hierarchical Task Analysis (HTA)is Hierarchical Task Analysis (HTA)

Hierarchical Task Hierarchical Task AnalysisAnalysis

Idea is simple! Idea is simple! Involves Involves breaking a task downbreaking a task down into into

subtasks, then sub-sub-tasks and so on. subtasks, then sub-sub-tasks and so on. These are grouped as These are grouped as plansplans which which specify how the tasks might be specify how the tasks might be performed in practiceperformed in practice

Start with a user goalStart with a user goal which is examined which is examined and the main tasks for achieving it are and the main tasks for achieving it are identifiedidentified

Example Hierarchical Example Hierarchical Task AnalysisTask Analysis

0. In order to borrow a book from the library 1. go to the library 2. find the required book

2.1 access library catalogue2.2 access the search screen2.3 enter search criteria2.4 identify required book 2.5 note location

3. go to correct shelf and retrieve book4. take book to checkout counter

plan 0: do 1-3-4. If book isn’t on the shelf expected, do 2-3-4.plan 2: do 2.1-2.4-2.5. If book not identified do 2.2-2.3-2.4.

Note: start with a user goalNote: start with a user goal plan 2 shows subtasks orderplan 2 shows subtasks order no plan 1, step1 has no subtasksno plan 1, step1 has no subtasks

Requirements Requirements managementmanagement

Requirements Requirements managementmanagement

What is it?What is it? a systematic approach to eliciting, organizing,

and documenting the requirements of the system,

a process that establishes and maintains changing requirements.

Important and helpful for real projects Common problems

No.1: Can’t track change No.2: Difficult to write More…More…

How to Manage How to Manage changing requirementschanging requirements

• Single channel of change control

Change Control Board (CCB).

• Keep track Keep track history of history of requirementsrequirements

• Maintain Maintain version version controlcontrol

• More…More…

How to document How to document requirement?requirement?

Requirement of description Requirement of description documentsdocuments Natural language and graphicalNatural language and graphical Widely accepted, consistent format Widely accepted, consistent format

Use tools to helpUse tools to help Software<IBM Rational RequisitePro>Software<IBM Rational RequisitePro>

automating effective tool, templateautomating effective tool, template

Further Info:Further Info:

See more details atSee more details at

http://www-306.ibm.com/software/awdtools/reqphttp://www-306.ibm.com/software/awdtools/reqpro/ro/

Thank you for listening!Thank you for listening!

Works CitedWorks Cited Chapter 7 from J. Preece, Y. Rogers, H. Sharp: Chapter 7 from J. Preece, Y. Rogers, H. Sharp:

Interaction Design: Beyond Human-Computer Interaction Design: Beyond Human-Computer Interaction. Interaction.

““ Applying Requirements Management with Use Applying Requirements Management with Use Cases,” Roger Oberg (IBM Rational Software)Cases,” Roger Oberg (IBM Rational Software)

Constance L. Heitmeyer. “Constance L. Heitmeyer. “Software cost Software cost reduction”reduction”. In John J. Marciniak, editor, . In John J. Marciniak, editor, Encyclopedia of Software Engineering. John Encyclopedia of Software Engineering. John Waley & Sons, 2nd edition, 2002Waley & Sons, 2nd edition, 2002

Alistai Sutcliffe, "Scenario-based requirements Alistai Sutcliffe, "Scenario-based requirements analysis." Requirements Engineering Journal, analysis." Requirements Engineering Journal, London, UK, 1998. London, UK, 1998.