Presentation is loading. Please wait.

Presentation is loading. Please wait.

Requirements Engineering

Similar presentations


Presentation on theme: "Requirements Engineering"— Presentation transcript:

1 Requirements Engineering

2 Requirements Engineering
The first step of each process model What do we want to build? They may range from a high-level abstract statement of a service or of a system constraint to a detailed mathematical functional specification: can be statements (“The system shall…”), diagrams, use cases, etc. Can be used as basis for contacts, etc.

3 Requirements specify external behavior
Functional requirements are statements of the services that the system must provide “The system shall display the heart rate of the patient” Non-functional requirements are constraints on the services and functions offered by the system “The system shall display the heart rate of the patient within two seconds” Performance, Scalability, Capacity, Availability Reliability, Recoverability, Maintainability, Serviceability, Security,
Regulatory, Manageability Exercise: list some functional and non-functional requirements for an iPhone

4 Answer: list some functional and non-functional requirements for an iPhone
The system shall make a phone call The system shall receive a phone call The system shall allow the user to adjust volume etc Non-functional: The system shall boot up in 60 seconds or less The system shall respond to touch within 1 second

5 Requirements qualities
Three Cs: Clear Consistent Complete (internally and externally) Use the SE principle of incrementality to derive requirements Remember, they must all be externally visible Why? They must all be testable

6 Exercise Give an unclear requirement, then fix it
Give an inconsistent set of requirements, then fix them Give an incomplete requirement, then fix it*

7 Answer Unclear: “The background shall be blue”
There are many shades of blue…is #3333CC blue? Fix: “The background shall be #0000FF” Inconsistent: “The background shall be red” and, elsewhere “The background shall be a cool color” Incomplete: This is the hardest; it means we’re missing a requirement or information Fix: …make sure you have all your requirements (externally complete) Fix: …make sure you have enough info; include supporting documents when needed (i.e. what is 508 compliance?) (internally complete)

8 Testable Requirements
Do not use vague terminology; “errors shall be minimized…” Should NOT partially pass or fail Should have a source

9 Requirements Validation
It’s cheapest to fix faults at this step, than later on (sometimes 100 times cheaper) Are they testable? Do any conflict? Do they cover all aspects of the system? Are they what the customer wanted?

10 Quiz review What is a functional requirement?
What is a non-functional requirement? What do all requirements have to be?

11 In-class exercises Let’s imagine we have an ATM
Come up with 5 functional requirements Show how each requirement could be improved Show how each requirement could have been worse Come up with 3 non-functional requirements Do the same as above Complete the exercises at

12 Assignment (time permitting)
Examine the Quiz Game description In your teams, come up with at least seven functional requirements and at least two non-functional requirements Remember the three Cs Requirements specify external behavior Requirements must be testable Turn in this assignment through svn See instructions and grading rubric on project page


Download ppt "Requirements Engineering"

Similar presentations


Ads by Google