03_Requirements - School of Engineering and Information

advertisement
ZEIT2301
Design of Information Systems
Requirements Gathering
School of Engineering and Information Technology
UNSW@ADFA
Dr Kathryn Merrick
Week 03: Requirements Determination

Become familiar with requirements analysis techniques.

To identify criteria for a “good” requirement

To review requirements gathering techniques

Ref: text Ch 4
2
3
Analysis phase of the SDLC

The System Request outlined the business need for a
new system.

In the Analysis phase, the analyst needs to gain a more
thorough understanding of the business problem domain
and user requirements.


What exactly is the problem this system will address?
Output from this phase is a Requirements Definition
Report and models which illustrate this required system
functionality
4
Analysis: What is the problem?

In researching this question, the first challenge is finding
the right people to question, interview or observe.



A stakeholder is a “person, group or organization that can
affect (or be affected by) a new system.” (Dennis et al)
Identify particular user groups and how they will use the
system.
The second challenge is collecting and integrating the
information that has been obtained when researching the
problem.


Mistakes made at this stage can negatively impact later phases.
Studies show that more than half of all system failures are due to
problems with requirements.
5
Requirements Determination

Determining the precise requirements of the system - all
capabilities and constraints




“A requirement is simply a statement of what the system must do
or what characteristic it must have”. Dennis et al.
May change over time as the project moves from analysis to
design to implementation
In the early stage of analysis, the emphasis is on business
requirements – the “what” of the system
Later, in design, requirements become more technical –
describe “how” the system will be implemented
6
Functional and Non-Functional
Requirements

Functional requirements




Activities the system must perform
Based on procedures and business functions
Documented in analysis models
 Eg: the library system must produce a report of overdue books
Non-functional (technical) requirements


Describes operating environment, performance objectives,
security considerations, cultural factors
Documented in narrative descriptions of technical requirements
 Eg: the system must have a web interface; must interface with
existing inventory system, etc
7
Non-Functional Requirements
Requirement type
Example
Operational
• The system should be able to fit in a pocket or purse
• The system should be able to integrate with the
existing inventory system.
Performance
• Any interaction between the user and the system
should not exceed 2 seconds.
• The system should receive updated inventory
information every 15 minutes.
Security
• Only direct managers can see personnel records of
staff
• Customers can see their order history only during
business hours.
Cultural & Political
• The system should be able to distinguish between
United States and European currency
• The system shall comply with insurance industry
standards.
8
Criteria for quality requirements








Correct
Unambiguous
Complete
Consistent
Verifiable
Modifiable
Traceable
Ranked for importance
9
A Bad Requirement
Software will not be loaded from unknown sources onto the
system without first having the software tested and approved.
• Ambiguous – if the software is tested and approved, can it be
loaded from unknown sources?
• (not) Testable – it is stated as a negative requirement making
it difficult to verify.
• (not) Traceable – a unique identifier is missing.
3.4.5.2 Software shall be loaded onto the operational system
only after it has been tested and approved.
10
A bad requirement

“Provide a means to transport a single individual from
home to place of work”.
Management
Interpretation
IT
Interpretation
User
Interpretation
Ambiguous
11
Prioritising Requirements

MoSCoW Prioritisation





M - MUST have this.
S - SHOULD have this if at all possible.
C - COULD have this if it does not effect anything else.
W - WON'T have this time but would like in the future.
Managing change to avoid being overwhelmed by
“requirements creep”
12
Requirements Analysis Strategies

The basic process of requirements analysis is divided into:




Understanding the existing (as-is) system
Identifying improvements
Developing requirements for the new (to-be) system
There are three strategies for requirements analysis
1.
2.
3.
Business process automation
Business process improvement
Business process reengineering
13
1. Business Process Automation

BPA leaves the basic way in which the organization
operates unchanged and uses computer technology to do
some of the work


Low risk, but low payoff
Planners in BPA projects invest significant time in
understanding the current (as-is) system


Tends to solve problems rather than capitalize on opportunities
Improvements tend to be small and incremental Problem analysis
14
2. Business Process Improvement

BPI makes moderate changes to the way in which the
organization operates to take advantage of new
opportunities offered by technology or to copy what
competitors are doing

Typical approaches:



Duration analysis – examine how long it takes to complete each
process
Activity-based costing – examine the cost of each minor process
or step
Informal benchmarking – study how other organizations perform
the process
15
3. Business Process Reengineering

BPR changes the fundamental way in which the
organization operates

Limited study of the current (as-is) system


goal is to focus on new ideas and new ways of doing business
Popular activities:



Outcome analysis: eg outcomes from the customer’s point of view
Technology analysis: technological opportunities
Activity elimination: eg get customer to enter the info via the web
16
Selecting the Appropriate Strategies
Business
Process
Automation
Business
Process
Improvement
Business
Process
Reengineering
Potential benefit
Low–moderate
Moderate
High
Project cost
Low
Low–moderate
High
Breadth of
analysis
Narrow
Narrow-moderate
Very broad
Risk
Low–moderate
Low–moderate
Very high
17
Determining Requirements

Requirements are best determined by systems analysts
and business people together

Techniques available to the systems analyst:
1.
2.
3.
4.
5.
6.
Interviews
Questionnaires
Observation
Document analysis
Joint application development (JAD)
Throw-away prototyping
18
1. Interviews

Selecting interviewees


Designing interview questions


List questions, set priorities, schedule interview
Conducting the interview


unstructured (broad), structured (narrow)
Preparing for the interview


Different perspectives: managers, users
Be professional, record info, give interviewee time to ask
questions
Post-interview follow-up

Review notes, look for gaps
19
Interviewing Strategies
Top-down
High-level:
Very general
How
can order
processing be
improved?
How can we reduce the
Medium-level:
number of times that customers
Moderately specific
return ordered items?
Low-level:
Very specific
How can we reduce the number of
errors in order processing (e.g., shipping
the wrong products)?
Bottom-up
20
Types of Questions
Types of Questions
Closed-Ended Questions
Examples
*
*
*
Open-Ended Questions
*
*
*
Probing Questions
*
*
*
How many telephone
orders are received per day?
How do customers place orders?
What additional information
would you like the new system
to provide?
What do you think about the
current system?
What are some of the problems
you face on a daily basis?
How do you decide what types of
marketing campaign to run?
Why?
Can you give me an example?
Can you explain that in a bit
more detail?
21
2. Questionnaires

Selecting participants


Designing the questionnaire


Careful question selection
Administering the questionnaire


Using samples of the population
Working to get good response rate
Questionnaire follow-up

Send results to participants
22
Good Questionnaire Design
Begin with non-threatening and interesting questions
Group items into logically coherent sections
Do not put important items at the very end of the questionnaire
Do not crowd a page with too many items
Avoid abbreviations
Avoid biased or suggestive items or terms
Number questions to avoid confusion
Pretest the questionnaire to identify confusing questions
Provide anonymity to respondents
23
3. Observation

Observation helps check validity of information gathered
other ways

Users/managers, when asked, often don’t remember everything
they do

But behaviours change when people are watched

Be careful not to ignore periodic activities

Weekly … Monthly … Annual
24
4. Document Analysis

Review existing reports, forms, and procedure
descriptions

Provides clues about existing “as-is” current system

Typical documents



Forms
Reports
Policy manuals

Look for user additions to forms

Look for unused form elements
25
5. Joint Application Development

Allows project managers, users, and developers to work
together

May reduce scope creep by 50%

Avoids requirements being too specific or too vague

Often the most useful method for collecting information
from users
26
JAD Meeting Room
JPEG Figure 5-5 Goes Here
27
The JAD Session

May involve several days over a period of a few weeks

Prepare questions as with interviews

Formal agenda and ground rules
Key Roles

Facilitator activities





Keep session on track
Help with technical terms and jargon
Record group input
Help resolve issues
Post-session follow-up
Facilitator
Scribe
28
Managing Problems in JAD Sessions




Reducing domination
Encouraging non-contributors
Avoid side discussions
Agenda merry-go-round


Violent agreement


Help group select a better alternative
True conflict


Inconsistent terminology masks potential agreement
Unresolved conflict


the same issue raised continually
Document as an open issue
Use humor
29
Selecting Appropriate Techniques
Interview
JAD
Question Documen
-naires
t Analysis
Observati
on
Type of
information
As-is,
improves,
to-be
As-is,
improves,
to-be
As-is,
improves
As-is
As-is
Depth of info
High
High
Medium
Low
Low
Breadth of info
Low
Medium
High
High
Low
Info integration
Low
High
Low
Low
Low
User
involvement
Medium
High
Low
Low
Low
Cost
Medium
Lowmedium
Low
Low
Lowmedium
As-is : understanding current system
Improves: identifies improvements
To-be: developing the new system
30
6. Prototyping in the Requirements phase

In RAD (Rapid Application Development), an ultimate
technique of the requirements phase is rapid prototyping
of the solution


This assists in clarifying difficult requirements and helps avoid
misunderstandings
Agile, XP (eXtreme programming) and phased
development methodologies emphasise involving users
and using prototyping to elicit requirements in an
incremental fashion.
31
The System Proposal

The System Proposal is the result of the planning and
analysis phases

The System Proposal typically includes:






Executive summary
System request
Work plan
Feasibility analysis
Requirements definition
Evolving system models
32
Summary

After today’s lecture you should be aware of:

Functional and non-functional requirements

Quality requirements

Techniques for gathering system requirements
33
Download