Top Banner
Requirements CS121 Spring 2010
46

Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Jan 14, 2016

Download

Documents

Marvin Daniels
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Requirements

CS121

Spring 2010

Page 2: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Administrivia

• new student: Guillermo

• artist: Jackie Wijaya

Page 3: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.
Page 4: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Requirements

“What does the customer actually want?”

Page 5: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Types of Requirements: FURPS+

• Functional: features, capabilities

• Usability: human factors, aesthetics, consistency, documentation

• Reliability: frequency of failure, recoverability, predictability

• Performance: response times, throughput, accuracy, availability, resource usage

• Supportability: adaptability, maintainability, configurability

• +: others

Page 6: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Why are requirements so important?

• We need to know what we are supposed to build before we can build it.

• Failures at this stage are costly.

duh

Page 7: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

when problem is found

requirements design construction

requirements 1x

design 3x 1x

construction 5-10x 10x 1x

system test 10x 15x 10x

post ship 10-100x 25-100x 10-25x

when problem is introduced

Page 8: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Why are requirements so important?

• We need to know what we are supposed to build before we can build it.

• Failures at this stage are costly.

• Failures at this stage are common.

duh

Page 9: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Most errors found by users in software are the result of

A. coding errors

B. errors in requirements

C. system integration errors

D. errors in the design of the solution

Answer: B“Software’s Chronic Crisis”

Page 10: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Why are requirements so difficult to specify?

• Customer’s can’t tell you what they want

Page 11: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Why are requirements so difficult to specify?

• Customer’s can’t tell you what they want– they don’t know– they don’t clearly articulate their needs

Page 12: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Why are requirements so difficult to specify?

• Customer’s can’t tell you what they need– they don’t know– they don’t clearly articulate their needs

• Customer’s have conflicting needs

Page 13: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

You must control at least one parameter!

Cost

Quality Time

Customer: I want the best RPG ever

Customer: I want to pay $500 for its development

Developer: It will be finishedwhen hell freezes over.

Page 14: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Why are requirements so difficult to specify?

• Customer’s can’t tell you what they need– they don’t know– they don’t clearly articulate their needs

• Customer’s have conflicting needs

• Customer’s needs change

Page 15: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Growth in requirements

0

10

20

30

40

50

60

10 100 1000 10000 100000

Project Size in Function Points

Cre

epin

g R

eq's

as

% o

f O

rig

Source: Applied Software Measurement, Capers Jones, 1997. Based on 6,700 systems.

% in

cre

as

e in

re

qu

irem

en

ts

du

rin

g p

roje

ct

life

Page 16: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Why are requirements so difficult to specify?

• Customer’s can’t tell you what they need– they don’t know– they don’t clearly articulate their needs

• Customer’s have conflicting needs

• Customer’s needs change

• Technology changes

Page 17: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Developing requirements: Best Practices

Page 18: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Developing Requirements

• Inception: – define initial concept– identify stakeholders

Page 19: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Developing requirements

Software Engineer

Management

Marketing

Users

stakeholders

Page 20: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Developing requirements for games

Game Designer

Management

Marketing

Users

Software engineers

Page 21: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Developing Requirements

• Inception: – define initial concept– identify stakeholders– gather background information: competitive

analysis, technology review, etc.– identify “perceived requirements“

Page 22: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Developing Requirements

• Inception

• Elicitation: Ask the customer what they want

Page 23: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Requirements Elicitation

I want you to build a game ...

software engineercustomer/stakeholder

Page 24: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

I want an RPG better than

anything seen before!

software engineer

Requirements Elicitation

customer/stakeholder

Page 25: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Ok ... off you go!

Call me when its done.

customer/stakeholder software engineer

Requirements Elicitation

Page 26: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Requirements

• Inception

• Elicitation: What do customer say they want?

• Analysis: What does the customer really want?

Page 27: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

OK here is my idea for the

game. What do you think?

customer/stakeholder software engineer

Requirements Analysis

Page 28: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Great! Can I have it next week?

customer/stakeholder software engineer

Requirements Analysis

Page 29: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Requirements

• Inception

• Elicitation: What does the customer say they want?

• Analysis: What does the customer really want? What can you realistically provide?

Page 30: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Feasibility: Can we meet the constraints?

Cost

Quality Time

Page 31: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Feasibility

• Understand the proposed system

• Understand the capabilities of your team and tools

• Explore gaps (or risks)

Page 32: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Requirements

• Inception

• Elicitation: What does the customer say they want?

• Analysis: What does the customer really want? What can you realistically provide?

Software Requirements Specification (SRS)

Page 33: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Waterfall Model

Requirements

Design

Implementation

Test

with feedback

SRS

Page 34: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Agile requirementsProject inception: • Identify high level scope• Key requirements• Initial “goal stack”

highest priority, best modeled goals

lowest priority, least modeled goals

Well modeled means we understand what to doand how long it will take.

Page 35: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Agile requirementsAt the start of each iteration: • Incorporate new goals (often produced by last iteration)• Remove items no longer needed• Reprioritize• Clarify requirements for goals at top of stack• Plan iteration

highest priority, best modeled goal

lowest priority, least modeled goal

Who prioritizes?Customer driven Risk driven

Page 36: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Requirement Quality

• Specify what not how• Unambiguous• Testable• Feasible• Consistent• Prioritized• Traceable• Agreed upon by customer

Page 37: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Next time: elicitation demonstration

• Meet the customer

• 1 team will do and in-class elicitations

• other teams will do their elicitation wed. after class (or if need be thursday morning)

Page 38: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Prior to Elicitation

• Prepare short (2-4 slide) concept presentation

• List of “perceived” requirements and questions to clarify them

• Open ended questions to better understand needs

Page 39: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Elicitation format

• Introduce yourselves and provide agenda• Give your (2-4 slide) concept presentation• Start with open-ended information gathering

This is where you’ll discoverissues you haven’t thought of

on your own.

Page 40: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Elicitation format

• Introduce yourselves and provide agenda• Give your (2-4 slide) concept presentation• Start with open-ended information gathering• Follow up on new issues raised• Discuss “perceived” requirements

Based on your background research you should have some reqs in mind

before the meeting starts.

Page 41: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Elicitation format

• Introduce yourselves and provide agenda• Give your (2-4 slide) concept presentation• Start with open-ended information gathering• Follow up on new issues raised• Discuss “perceived” requirements• Discuss priorities• Present a summary of key points and give him

an opportunity to confirm/correct• Thank him

Page 42: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Elicitation roles

• Moderator: Leads the meeting, discussion

• Scribe: Takes notes

• Others– Distill discussion for final summary– Keep track of points that need clarification– Keep track of pre-determined requirements

that need validation– Watch clock, agenda

Page 43: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Elicitation Report

• When, where, and who

• Summarize discussion

• New requirements

• Validation of prior requirements

• Priority of requirements

• Any other interesting information

Page 44: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Sample questions

• Why are requirements so important?• Why are they so difficult to specify?• What are the various types of requirements?• What are the first steps of requirements gathering?• What is a customer elicitation?• What is involved in requirements analysis?• What is an SRS?• What constitutes quality in requirements?• How are requirements managed in agile processes?

Page 45: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Assignment for next time

• Prep for elicitation– concept presentation– open ended questions– perceived reqs and questions to clarify– roles assigned to team members

Page 46: Requirements CS121 Spring 2010. Administrivia new student: Guillermo artist: Jackie Wijaya.

Scheduling of elicitations

• In-class

• After-class