CS 5150 Software Engineering Lecture 7 Requirements 1

advertisement
CS 5150
Software Engineering
Lecture 7
Requirements 1
Administrivia
•
•
CS 5150
Quiz this evening
•
•
Rarely one “right” answer
Closed book
Feasibility study/plan due in a little over a
week
2
•
Causes of failed software projects (Standish Group study,
Why are Requirements Important?
1994)
•
•
•
•
•
•
•
•
CS 5150
Incomplete requirements
13.1%
Lack of user involvement
12.4%
Lack of resources
10.6%
Unrealistic expectations
9.9%
Lack of executive support
9.3%
Changing requirements & specifications
8.8%
Lack of planning
8.1%
System no longer needed
7.5%
3
Requirements in the Waterfall
Process
CS 5150
4
Requirements in Iterative Refinement
CS 5150
5
Requirements in Incremental
Development
CS 5150
6
Requirements Goals
•
•
•
•
CS 5150
Understand client/user requirements in detail
Requirements “text” must be understandable to
clients/users
•
•
•
Actual text
Diagrams
Prototypes/mock-ups
Requirements much be understandable to
designers, developers, testers, maintainers
Part of requirements gathering is ensuring that all
the relevant players understand them
7
Functional Requirements
•
Functional requirements describe the highlevel functions the system should perform, little
to no reference to underlying technology
issues
•
•
•
CS 5150
Major workflows
Data collected/managed
User interface idioms
8
•
Implementable and Verifiable
Developers should be able to imagine a realistic
implementation of any requirement
•
•
•
Bad example: The system must identify errors in
user input with 100% accuracy
There must be a way to unambiguously verify whether
a requirement has been met
•
•
CS 5150
Bad example: The system must process stock
trades between London and Chicago with
nanosecond latency
Bad example: The system should be easy to use
Better example: Typical internet users should be
able to use the system after completing a short
tutorial
9
Stages in Requirements Gathering
•
•
•
CS 5150
Analysis: Translate vague ideas about what
the system should do into a detailed and
concrete set of functions, services, goals and
constraints
Modeling: Organize the requirements into an
easier to digest and understand framework
(next two lectures)
Define, record and communicate: Make sure
requirements are recorded in a convenient
format and that all the players (developers,
client, etc) understand them
10
Requirements Analysis
•
•
•
•
CS 5150
Specifies external system behavior
Comprehensible by managers, customers,
users, etc
Covers:
•
•
Functions and services the system will
provide
Constraints under which it will operate
Often described in its own document:
•
“Our understanding of the requirements for
system X are ...”
11
Interviews with Clients and Users
•
Interviews with clients and users are at the
heart of requirements analysis
•
•
•
•
•
•
CS 5150
Allow plenty of time; perhaps multiple
meetings
Prepare questions before meeting
Keep notes; index cards often work well
If you don’t understand, don’t let it slide
Small meetings are often most effective
Repeat what you hear
12
Understand the Requirements
•
•
Domain understanding
•
Try to understand the fundamental
requirements of all stakeholders
•
•
CS 5150
May need to spend extra time learning the
client/user’s lingo
May need to interview several different
people
Stakeholders often don’t have a clear vision
of what the proposed system could do for
them
13
New and Old Systems
•
•
It is important to distinguish
•
•
Proposed new features
Clients often confuse their current way of
doing things with requirements for the new
system
•
•
•
CS 5150
Features of existing systems
New systems
Replacement systems
Legacy systems
14
Unspoken Requirements
•
•
CS 5150
Examples:
•
•
•
Resistance to change
Social friction
Organizational strengths and weaknesses
Unspoken requirements are one of the biggest
risks in requirements gathering
15
Stakeholders
•
A stakeholder is anyone affected by the system
•
•
•
•
•
•
Senior management
Deployment staff
Users
People whose information is collected
Example:
•
•
CS 5150
Client
Web shopping site
Customers, accounting dept, warehouse
managers
16
Viewpoint Analysis
•
•
•
•
CS 5150
Critique the requirements from the point of
view of a particular stakeholder
Get a real person, if that is feasible
Otherwise, do your best to role-play
Write a short separate document for each
viewpoint
17
Special Studies
•
•
•
CS 5150
If the team does not have the necessary
information or experience to be confident
about the requirement ...
Market research
•
Focus groups, surveys, competitive
analysis, etc
Technical research
•
Prototypes, experiments, literature survey,
etc
18
Conflicts
•
•
•
CS 5150
Some requirements may conflict with each
other
Information gathering vs. privacy
System performance vs. development cost
19
Negotiation
•
Sometimes client are unrealistic about what
they want
•
•
•
CS 5150
•
Extended discussion of relevant
requirements. Are there cheaper
alternatives?
Explain the specific reasoning behind
developer’s concerns
Be open to creative solutions
Leaving these issues unresolved is a big risk
20
Requirements Role-Playing Exercise
•
•
Get in groups of 2
•
Take turns gathering requirements from each
other
•
•
CS 5150
Different projects
One person plays the role of being their own
team’s client
Make up details if you have to
21
Download