26
Software Requirements Distinguishes between Customer "needs" -- AND Customer's "wants" --

Requirements

Embed Size (px)

DESCRIPTION

Requirementrs from an Analyst's View

Citation preview

Page 1: Requirements

Software Requirements

Distinguishes between Customer "needs" --

AND

Customer's "wants" --

Page 2: Requirements

How do we gather data to determine a Project’s

Requirements?

Observation - Watch Interview - Listen Research - Learn

Page 3: Requirements

Interview

Determine who are the project’s stakeholders!

Talk to customers Talk to users Talk to other stakeholders

Page 4: Requirements

The Interview Process

How many persons should attend an

interview?

Page 5: Requirements

The Interview Process

not everything spoken is the truth sometimes people lie or forget facts most often they speak from their

own ignorance or point of view interview many people to gather

balanced information evaluate what you are hearing watch body language

Page 6: Requirements

What happens after the interview?

Immediately write down interview results. Research show that even in a life-and-death

situations:

50% of what took place is forgotten within 30 minutes.

Follow-up Memo

Page 7: Requirements

Observation: Watch, Who, Where, Why?

Watch the way it is done: Go to the customer’s site, spend time in the users real-world environment!

Who does the job? Where is it done? Why is it done in this particular way?Learn everything you can about the way the

process is done. At this stage it doesn’t matter if it is done by hand or by computer.

Page 8: Requirements

Research and Observation

How do we get what we need? Obtain copies of ALL operating documents Assess existing documents Assess current procedures Focus on identifying what’s visible Observe current procedures Cross “fertilization”

Page 9: Requirements

Research

Study documentation provided by the customer.

Collect materials generated by the existing system, even if such materials are paper-and-pencil versions

Examine the input and output currently generated

Page 10: Requirements

Data Gathering for Software Requirements

Analysis: Takes practice Demands Prioritization Means Identifying Goals

Page 11: Requirements

Prioritization

users are likely to ask for the moon if there are no limits.

beauty should not outweigh functionality. help customer be realistic about expectations. useful to identify enhancements for future

work once basic product is developed.

Page 12: Requirements

Prioritization:

Guides team in allocating effort May be needed to schedule

incremental development Enables determination of what is really

important Avoid "gold-plated" software

Page 13: Requirements

Analysis Specification

The goal: understanding the customer's requirements for a software system.

involves technical staff working with customers

involves all the stakeholders in the system

Page 14: Requirements

Who ARE the stakeholders?

Page 15: Requirements

What are the problems associated with the

Requirements phase?

Page 16: Requirements

Requirements gathering problems?

Stakeholders don't really know what they want

Stakeholders express their requirements in their own terms

Page 17: Requirements

Requirements gathering problems?

Different stakeholders may have conflicting requirements

Page 18: Requirements

Requirements gathering problems?

The requirements may change during the process

New stakeholders may emerge on the scene

Page 19: Requirements

Requirements gathering problems?

Stakeholders don't really know what they want

Stakeholders express their requirements in their own terms

Page 20: Requirements

Analysis Viewpoints: Partitioning: Identifies the structural

relationships between components Abstraction: Identifies generalities among

components Projection: Identifies different ways of

looking at a problem

Page 21: Requirements

Social and Organizational factors effect all systems!

Page 22: Requirements

Software systems are used within a social and

organizational context.

Page 23: Requirements

Social and organizational factors CAN dominate system requirements.

Page 24: Requirements

Software Viewpoints:

Page 25: Requirements

Software is not designed in a vacuum! There is no single

“correct” viewpoint. Effective software involves combining all

viewpoints.

Page 26: Requirements

Good analysts must be very sensitive to different views.

There is no systematic way to factor them into the analysis

process.