intro to requirements eng

28
An introduction to requirements engineering, 2013 Slide 1 Requirements and Requirements Engineering Ian Sommerville http://www.youtube.com/watch? v=Ec0s0z5uXQ8

Upload: sommerville-videos

Post on 27-Jan-2015

123 views

Category:

Technology


0 download

DESCRIPTION

Explains what is meant by requirements and requirements engineering

TRANSCRIPT

Page 1: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 1

Requirements and Requirements Engineering

Ian Sommerville

http://www.youtube.com/watch?v=Ec0s0z5uXQ8

Page 2: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 2

Requirements and systems

User world

Software-based system

Requirements

Photo © Liam Quinn

Page 3: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 3

What are system requirements?

• Requirements are defined during the early stages of a system development as a specification of what should be implemented or as a constraint of some kind on the system.

Page 4: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 4

Types of requirement

• a user-level facility description,

• a detailed specification of expected system behaviour,

Page 5: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 5

• a general system property,

• a specific constraint on the system,

Page 6: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 6

• information on how to carry out some computation,

• a constraint on the development of the system.

Page 7: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 7

Functional requirements

• Requirements that define a function or feature of the system

• Something that the system should DO

Page 8: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 8

• “If a patient is known to be allergic to a particular medication, then prescription of that medication shall result in a warning message being issued to to the prescriber”

Page 9: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 9

Non-functional requirements

• Requirements that define some observable characteristics or quality of the system

• Availability, reliability, safety, security, resilience, …

Page 10: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 10

• “The system shall be available to all clinics during normal working hours (Mon-Fri, 0830-1730). Downtime during normal working hours shall not exceed 5 seconds in any one day”

Page 11: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 11

Domain requirements

• Requirements that are derived from characteristics of the application domain or rules and regulations that apply in that domain

Page 12: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 12

• “The system shall implement patient privacy provisions as set out in the 1998 Data Protection Act”

Page 13: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 13

What is requirements engineering?

• Requirements engineering covers all of the activities involved in discovering, documenting, and maintaining a set of requirements for a computer-based system.

Page 14: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 14

Page 15: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 15

• ‘engineering’ implies that systematic and repeatable techniques should be used to ensure that system requirements are complete, consistent, relevant, etc.

Page 16: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 16

Are requirements important?

“The principal problem areas in software development and production are the requirements specification and the management of customer requirements”

Page 17: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 17

“... difficulties with requirements are the key root-cause of the safety-related software errors that have persisted until integration and system testing”

Page 18: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 18

If the requirements are wrong

• the system may be delivered late and cost more than originally expected.

Page 19: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 19

If the requirements are wrong

• the customer and end-users may not satisfied with the system,

• they may not use its facilities or may even decide to scrap it altogether.

Page 20: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 20

If the requirements are wrong

• the system may be unreliable in use with regular system errors and crashes disrupting normal operation.

Page 21: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 21

• If the system continues in use, the costs of maintaining and evolving the system are very high.

Page 22: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 22

User world

Software-based system

Requirements

Photo © Liam Quinn

Page 23: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 23

Difficulties with requirements

• Stakeholders don’t know what they want from a new system

• It is very difficult to imagine how future systems might work

Page 24: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 24

• Businesses operate in a rapidly

changing environment so their requirements for system support are constantly changing.

Page 25: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 25

• Multiple stakeholders with different goals and priorities are involved in the requirements engineering process.

Page 26: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 26

• System stakeholders do not have clear ideas about what they need

• They can only describe their requirements in a vague and ambiguous way

Page 27: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 27

• Requirements are often influenced by political and organisational factors that stakeholders will not admit to publicly.

Page 28: Intro to requirements eng

An introduction to requirements engineering, 2013 Slide 28

Summary• Requirements define what a system should do

and the desirable qualities of that system

• Requirements engineering is a set of systematic techniques for defining and validating system requirements

• Requirements engineering is difficulties and problems with requirements are the major cause of system problems and project failures