intro to requirements eng

Post on 27-Jan-2015

124 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Explains what is meant by requirements and requirements engineering

TRANSCRIPT

An introduction to requirements engineering, 2013 Slide 1

Requirements and Requirements Engineering

Ian Sommerville

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

An introduction to requirements engineering, 2013 Slide 2

Requirements and systems

User world

Software-based system

Requirements

Photo © Liam Quinn

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.

An introduction to requirements engineering, 2013 Slide 4

Types of requirement

• a user-level facility description,

• a detailed specification of expected system behaviour,

An introduction to requirements engineering, 2013 Slide 5

• a general system property,

• a specific constraint on the system,

An introduction to requirements engineering, 2013 Slide 6

• information on how to carry out some computation,

• a constraint on the development of the system.

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

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”

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, …

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”

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

An introduction to requirements engineering, 2013 Slide 12

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

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.

An introduction to requirements engineering, 2013 Slide 14

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.

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”

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”

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.

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.

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.

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.

An introduction to requirements engineering, 2013 Slide 22

User world

Software-based system

Requirements

Photo © Liam Quinn

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

An introduction to requirements engineering, 2013 Slide 24

• Businesses operate in a rapidly

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

An introduction to requirements engineering, 2013 Slide 25

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

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

An introduction to requirements engineering, 2013 Slide 27

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

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

top related