lecture 05: requirements engineering...– 05 – 2015-05-11 – main – softwaretechnik /...

8
– 05 – 2015-05-11 – main – Softwaretechnik / Software-Engineering Lecture 05: Requirements Engineering 2015-05-11 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universit¨ at Freiburg, Germany You Are Here – 05 – 2015-05-11 – main – 2/90 Course Content (Original Plan) – 05 – 2015-05-11 – main – 3/90 L 1: 20.4., Mo Introduction T 1: 23.4., Do L 2: 27.4., Mo L 3: 30.4., Do L 4: 4.5., Mo Development Process, Metrics T 2: 7.5., Do L 5: 11.5., Mo - 14.5., Do L 6: 18.5., Mo L 7: 21.5., Do - 25.5., Mo - 28.5., Do Requirements Engineering T 3: 1.6., Mo - 4.6., Do L 8: 8.6., Mo L 9: 11.6., Do L 10: 15.6., Mo Design Modelling & Analysis T 4: 18.6., Do L 11: 22.6., Mo L 12: 25.6., Do L 13: 29.6., Mo Implementation, Testing T 5: 2.7., Do L 14: 6.7., Mo L 15: 9.7., Do L 16: 13.7., Mo Formal Verification T 6: 16.7., Do L 17: 20.7., Mo The Rest L 18: 23.7., Do Contents & Goals – 05 – 2015-05-11 – Sprelim – 4/90 Last Lecture: process models: V-Modell XT, agile (XP, Scrum); process metrics: CMMI, SPICE This Lecture: Educational Objectives: Capabilities for following tasks/questions. What is requirements engineering (RE)? Why is it important, why is it hard? What are the two (three) most relevant artefacts produced by RE activities? What is a dictionary? What are desired properties of requirements specification (documents)? What are hard/soft/open/tacit/functional/non-functional requirements? What is requirements elicitation? Which analysis technique would you recommend in which situation? Content: motivation and vocabulary of requirements engineering, the documents of requirements analysis, and desired properties of RE, guidelines for requirements specification using natural language – 05 – 2015-05-11 – Sreintro – 6/90 The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements ... No other part of the work so cripples the resulting system if done wrong. No other part is as difficult to rectify later. F.P. Brooks (Brooks, 1995)

Upload: others

Post on 19-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 05: Requirements Engineering...– 05 – 2015-05-11 – main – Softwaretechnik / Software-Engineering Lecture 05: Requirements Engineering 2015-05-11 Prof. Dr. Andreas Podelski,

– 05 – 2015-05-11 – main –

Softw

aretech

nik

/Softw

are-E

ngin

eering

Lectu

re05:

Req

uirem

ents

Engin

eering

20

15

-05

-11

Prof.Dr.Andreas

Podelski,

Dr.

BerndW

estp

hal

Albert-L

udwigs-U

niversitat

Freib

urg,

Germ

any

Yo

uA

reH

ere

– 05 – 2015-05-11 – main –

2/90

Co

urse

Co

nten

t(O

rigin

al

Pla

n)

– 05 – 2015-05-11 – main –

3/90

L1:

20.4.,Mo

Intro

ductio

nT

1:

23.4.,

Do

L2:

27.4.,Mo

L3:

30.4.,

Do

L4:

4.5.,Mo

Develo

pment

Process,

Metrics

T2:

7.5.,

Do

L5:

11.5.,Mo

-14.5.,

Do

L6:

18.5.,Mo

L7:

21.5.,

Do

-25.5.,Mo

-28.5.,

Do

Requirem

ents

Engineerin

g

T3:

1.6.,Mo

-4.6.,

Do

L8:

8.6.,Mo

L9:

11.6.,

Do

L10:

15.6.,Mo

Desig

nModellin

g&

Analysis

T4:

18.6.,

Do

L11:

22.6.,Mo

L12:

25.6.,

Do

L13:

29.6.,Mo

Implem

entatio

n,

Testin

gT

5:

2.7.,

Do

L14:

6.7.,Mo

L15:

9.7.,

Do

L16:

13.7.,Mo

Form

alVerifi

cation

T6:

16.7.,

Do

L17:

20.7.,Mo

TheRest

L18:

23.7.,

Do

Co

nten

ts&

Go

als

– 05 – 2015-05-11 – Sprelim –

4/90

Last

Lectu

re:

•process

models:

V-M

odell

XT,ag

ile(X

P,Scru

m);

process

metrics:

CMMI,SPICE

This

Lectu

re:

•Educa

tionalObjective

s:Capabilities

forfollow

ingtasks/q

uestion

s.

•What

isreq

uirem

ents

engineerin

g(R

E)?

•Whyisitim

portan

t,whyisithard

?

•What

arethetw

o(th

ree)most

relevantartefacts

produced

byREactivities?

•What

isadictio

nary?

•What

aredesired

properties

ofreq

uirem

ents

specifi

cation(documents)?

•What

arehard

/soft/

open/tacit/

functio

nal/

non-fu

nctio

nal

requirem

ents?

•What

isreq

uirem

ents

elicitation?

•Which

analysis

techniquewould

youreco

mmendin

which

situatio

n?

•Content:

•motivatio

nan

dvo

cabulary

ofreq

uirem

ents

engineerin

g,

•thedocuments

ofreq

uirem

ents

analysis,

anddesired

properties

ofRE,

•guidelin

esfor

requirem

ents

specifi

cationusin

gnatu

rallan

guag

e

– 05 – 2015-05-11 – Sreintro –

6/90

Thehard

estsin

glepart

ofbuildingasoftw

aresystem

isdecid

ingprecisely

what

tobuild.Nooth

erpart

ofthecon

ceptual

work

isas

diffi

cultas

establish

ingthedetailed

technical

requirem

ents

...Nooth

erpart

ofthe

work

socrip

ples

theresu

ltingsystem

ifdon

ewron

g.Nooth

erpart

isas

diffi

cultto

rectifylater.

F.P.Brooks

( Brooks,

1995)

Page 2: Lecture 05: Requirements Engineering...– 05 – 2015-05-11 – main – Softwaretechnik / Software-Engineering Lecture 05: Requirements Engineering 2015-05-11 Prof. Dr. Andreas Podelski,

Req

uirem

ents

an

dR

equ

iremen

tsA

na

lysis

– 05 – 2015-05-11 – Sreintro –

7/90

require

ment–(1)

Acon

dition

orcap

ability

need

edby

auser

tosolve

aprob

lemor

achieve

anob

jective.(2)

Acon

dition

orcap

ability

that

must

bemet

orpossessed

byasystem

orsystem

compon

entto

satisfyacon

tract,stan

dard

,specifi

cation,or

other

formally

imposed

documents.

(3)Adocumented

representation

ofacon

dition

orcap

ability

asin

(1)or

(2).

IEEE

610.12( 1990)

require

ments

analysis

–(1)

Thepro

cessof

studyin

guser

need

sto

arriveat

adefinition

ofsystem

,hard

ware,

orsoftw

arereq

uirem

ents.

(2)Thepro

cessof

studyin

gandrefi

ningsystem

,hard

ware,

orsoftw

arere-

quirem

ents.

IEEE

610.12(1990)

Th

eR

equ

iremen

tsE

ng

ineerin

gP

rob

lem

– 05 – 2015-05-11 – Sreintro –

8/90

(Σ×A)ω

allco

mputatio

npathsover

Σand

A,aka

.ch

aos

require

ments,

all

these

computatio

npathsare

allo

wed

onesoftw

arewhich

satisfi

esthe

requirem

ents

•Require

ments

engineerin

g:

Describ

e/specify

theset

oftheallo

wedcom

putation

path

s.

•Softw

aredeve

lopment:

Create

onesoftw

areS

whose

computation

path

sJS

Kare

allallow

ed.

•Note:differen

tprogram

sin

differen

tprogram

minglan

guag

esmay

alsodescrib

eJS

K.

•Ofte

nallo

wed:an

yrefinementof

(→later;

e.g.allow

interm

ediate

transitio

ns).

Pu

rpo

seso

fth

eR

equ

iremen

tsS

pecifi

catio

n

– 05 – 2015-05-11 – Sreintro –

10/90

•co

ordinatio

nwith

thecusto

mer

(orthemarketin

gdepartm

ent,

or...)

•notproperly

clarified

/specifi

edreq

uirem

ents

arehard

tosatisfy

—mism

atch

eswith

custo

mer’s

need

sturn

outin

opera

tionthelatest

→additio

naleffort

•desig

nan

dim

plementatio

n,

•programmers

may

use

differen

tinterp

retatio

nsofunclear

requirem

ents

→diffi

cult

integratio

n

•theuser’s

manual,

•iftheuser’s

manualauthoris

notdevelo

per,

he/

shecanonly

describ

ewhatthesystem

does,

notwhatitshould

do( “nomore

bugs,

eve

ryobserva

tionis

afeature”)

•prep

arationoftests,

•with

outadescrip

tionofallo

wed

outco

mes,

testsare

randomly

searchingforgen

ericerro

rs(like

crashes)

→syste

matic

testin

gim

possib

le

•acce

ptance

bycusto

mer,

resolvinglater

objectio

nsor

regress

claims,

•atdelivery

timeunclear

wheth

erbeh

avio

uris

anerro

r(develo

per

need

sto

fix)

orcorrect

(custo

mer

need

sto

accep

tandpay)

→nasty

disp

utes,

additio

naleffort

•re-use,

•re-u

sebased

onre-rea

dingtheco

de→

riskofunexp

ecte

dch

anges

•later

re-im

plementatio

ns.

•thenew

softw

aremay

need

toadhere

toreq

uirem

ents

oftheold

softw

are;ifnotproperly

specifi

ed,thenew

softw

areneed

sto

bea1:1

re-implem

entatio

noftheold

→additio

naleffort

An

dW

ha

t’sH

ard

Ab

ou

tT

ha

t?

– 05 – 2015-05-11 – Sreintro –

11/90

On

ceA

ga

in:

Th

eS

oftw

are

Peo

ples’

View

on

Req

uirem

ents

– 05 – 2015-05-11 – Sreintro –

12/90

Exa

mple:children

’sbirth

day

presentreq

uirem

ents

(birth

day

onMay,

27th).

•“Ich

will’n

Pony!”

(“Iwantapony!”)

•Commonsense

understa

nding:

http://pixabay.com/en/pony-horse-animal-ride-pasture-368975/ — CC0Public Domain✔

“Ford Mustang on Felixstowe beach” bySteve Arnold — CC BY 2.0✘

Thatis:

we’re

lookin

gfor

onesm

allhorse

-likeanim

al;wemay

(guided

byecon

omic

concern

s,taste,

etc.)ch

oose

exactbreed

,size,

color,shap

e,gen

der,

age(m

aynot

evenbeborn

today,

only

need

sto

bealive

onbirth

day)...

•Softw

areEngineerin

gundersta

nding:

Wemay

giveeve

rythingas

longas

there’s

aponyin

it:

•aherd

ofponies,

•awhole

zoo(if

ithas

apon

y),

•...

Page 3: Lecture 05: Requirements Engineering...– 05 – 2015-05-11 – main – Softwaretechnik / Software-Engineering Lecture 05: Requirements Engineering 2015-05-11 Prof. Dr. Andreas Podelski,

AB

itM

ore

Ab

stract:

So

ftwa

revs.

‘Rea

lW

orld

’R

equ

iremen

ts

– 05 – 2015-05-11 – Sreintro –

13/90

Inotherwords:

•co

mmonsense

understa

nding:choose

from“∅

∪req

uire

ments”

•softw

areengineerin

gundersta

nding:

choose

from“chaos∩req

uire

ments”

•S

=“xisalw

ays0”

isa(sem

i-inform

al)softw

aresp

ecifi

catio

n.

•It

denotes

allim

aginable

softw

areswith

anxwhich

isalw

ays0:

JS

K=

{S|∀σ0

α1

−−→σ1

α2

−−→σ2···

∈JS

K∀i∈N

0•σi|=

x=

0}

•Thesoftw

arespecifi

cation“tru

e”(“I

don

’tcare

atall”)

denotes

chaos.

•Writin

gareq

uirem

ents

specifi

cationmean

sco

nstra

iningch

aos,

ordescrib

ing(a)

subset(s)

ofchaos.

•Desig

n/Im

plementatio

nmean

s:choosin

gfrom

theob

tained

subset(s)

ofchaos.

An

dW

ha

t’sH

ard

Ab

ou

tT

ha

t?

– 05 – 2015-05-11 – Sreintro –

14/90

Exa

mple:custom

ersays

“Ineed

acom

putation

ofsquare

numbers,

i.e.f:x7→

x2”

•W

e’ve

gotoptio

nsto

choose

from:

1int

sq(

int

x)

{2

return

x∗

x;

3}

1unsigned

int

2sq

(unsigned

short

x)

{3

return

x∗

x;

4}

1#in

clu

de

<gm

p.h>

2void

sq(

mpzt

x)

{3

mpzmul(

x,

x,

x);

4}

→1h,100e

→2h,200e

→4h,400e

with

erro

rs:sq

(231−

1)

=1

notdefinedfor216

usagenon-triv

ial:

1mpzt

x;

2mpz

init(x);

3mpz

set

si(

x,

2147483647

);

4sq

(x);

5fprin

tf(

std

out,

6”%

i−>

”,

2147483647

);

7mpz

outstr

(std

out,

10,

x);

8fprin

tf(

std

out,

”\n”

);

•Okay,

custo

mersaid:inputvalu

esare

from{0,...,27}.

•Still,

we’ve

gotop

tions...:

1unsigned

int

sq(

unsigned

short

x)

{2

unsigned

int

r=

0,

n;

3fo

r(n

=x;

n;−−n)

{4

r+=

x;

sle

ep(1);

5}

6return

r;

7}

AF

irstS

um

ma

ry

– 05 – 2015-05-11 – Sreintro –

15/90

Agoodreq

uirem

ents

specifi

cation

(i)avo

idsdisp

uteswith

thecustom

erat

(mileston

esor)

delivery

time,

(ii)preven

tsusfrom

doin

gtoolittle

/toomuch

work,

(iii)isecon

omic

(seebelow

).

There’s

atra

deoffbetw

eennarro

wness

andopenness:

•theop

timum

wrt.

(i)and(ii)

isthecom

plete,

perfect

software

product

asneed

edby

thecustom

er(m

ostnarrow

):

•nodisp

utes;

amountofwork

need

edisclear.

Draw

back

:hard

/expensive

toget,

that’s

bad

for(iii).

•Thecheap

est(not:

most

econom

ic)req

uirem

ents

specifi

cationis“d

owhat

youwant”

(most

open).

Draw

back

:high

riskvalu

efor

not

doin

g(i)

and(ii).

•Bein

gtoonarro

whas

anoth

ersevere

draw

back

...

...N

am

ely:R

equ

iremen

tsS

pecifi

catio

nvs.

Desig

n

– 05 – 2015-05-11 – Sreintro –

16/90

•Idealised

viewsadvocate

astrict

separa

tionbetw

eenrequire

ments

(“what

isto

bedon

e?”)anddesig

n(“h

oware

things

don

e?”).

•Ratio

nale:Fixin

gtoomuch

ofthe“h

ow”tooearly

may

unnecessarily

narrow

dow

nthedesign

space

andinhibitnew

ideas.

There

may

bebette

r(easier,

cheap

er,...)

solution

sthan

theon

eim

agined

first.

•In

practice,thissep

arationisoften

neith

erpossib

lenor

advisab

le:

•Existin

gcomponents

should

beconsid

ered.(→

re-use)

•Custo

mer,

(safety)reg

ulatio

ns,

norm

s,etc.

may

require

aparticu

larsolutio

nan

yway.

•It

isoften

usefu

lto

reflect

real-w

orld

structu

resin

thesoftw

are.

•In

some(low

risk)cases

itmay

bemore

eco

nomica

lto

skip

requirem

ents

analysis

and

directly

code(an

ddocument!)

aproposal.

•Complex

systemsmay

need

aprelim

inary

syste

mdesig

nbefore

bein

gab

leto

understan

dan

ddescrib

ereq

uirem

ents.

•Oneway

toch

eck

areq

uirem

ents

specifi

cationfor

consisten

cy(realisab

ility)isto

think

throughat

leastonepossib

lesolutio

n.

•Thereq

uirem

ents

specifi

cationshould

answ

erquestio

nsarisin

gdurin

gdevelo

pment.

Req

uirem

ents

En

gin

eering

:B

asics

– 05 – 2015-05-11 – main –

17/90

Req

uirem

ents

An

alysis

Ba

sics

– 05 – 2015-05-11 – Sre –

18/90

•Note:an

alysisin

thesen

seof“findingoutwhattheexact

require

ments

are”.

“Analysin

gan

existingreq

uirem

ents/

feature

specifi

cation”→

later.

Inthefollow

ingweshall

discu

ss:

(i)docu

ments

ofthereq

uirem

ents

analysis:

•dictio

nary,

•req

uirem

ents/

feature

specifi

cation.

(ii)desired

propertie

sof

•req

uirem

ents

specifi

cations,

•req

uirem

ents

specifi

cationdocuments,

(iii)kindsof

requirem

ents

•hard

andsoft,

•open

andtacit,

•functio

nal

andnon-fu

nctio

nal,

*sigh*

(iv)(a

selectionof)

analysis

tech

niques

Page 4: Lecture 05: Requirements Engineering...– 05 – 2015-05-11 – main – Softwaretechnik / Software-Engineering Lecture 05: Requirements Engineering 2015-05-11 Prof. Dr. Andreas Podelski,

Do

cum

ents

of

the

Req

uirem

ents

An

alysis:

Dictio

na

ry

– 05 – 2015-05-11 – Sre –

19/90

•Requirem

ents

analysis

should

bebased

onadictio

nary

.

•A

dictio

nary

comprises

defi

nitio

nsan

dclarifi

cationsofterm

sthat

arerelevan

tto

the

project

andofwhich

differen

tpeople

(inparticu

larcusto

mer

anddevelo

per)

may

have

differen

tunderstan

dingsbefore

agreein

gonthedictio

nary.

•Each

entry

inthedictio

nary

should

provid

ethefollow

inginform

ation:

•term

andsyn

onym

s(in

thesen

seofthereq

uirem

ents

specifi

catio

n),

•meaning(defi

nitio

n,exp

lanatio

n),

•delim

inatio

ns(w

here

notto

use

this

terms),

•va

lidness

(intim

e,in

space,

...),

•denotatio

n,uniqueiden

tifiers,

...,

•openquestio

nsnotyet

resolved

,

•relatedterm

s,cro

ssreferen

ces.

Note:entries

forterm

sthat

seem

“crystal

clear”at

first

sightare

notunco

mmon.

•Allwork

onreq

uirem

ents

should,as

faras

possib

le,bedoneusin

gterm

sfro

mthe

dictio

nary

consisten

tlyan

dconseq

uently.

Thedictio

nary

should

inparticu

larbenegotia

tedwith

thecu

stomeran

dused

incommunicatio

n(if

notpossib

le,at

leastdevelo

pers

should

stickto

dictio

nary

terms).

•Note:donotmix

upreal-w

orld

/domain

termswith

ones

only

“livin

g”in

thesoftw

are.

Dictio

na

ryE

xam

ple

(With

Ro

om

for

Imp

rovem

ent)

– 05 – 2015-05-11 – Sre –

20/90

(Aren

iset

al.,

2014)

Example:W

ireless

Fire

Alarm

Syste

m

•Durin

gaproject

ondesig

ningahighly

reliable,

EN-54-25conform

ingwireless

communicatio

nprotocol,wehad

tolearn

that

therelevan

tcomponents

ofafire

alarmsystem

are

•term

inalparticip

ants

(wireless

sensors

andmanualindica

tors),

•ace

ntra

lunit

(notaparticip

ant),

•andrepeaters

(anon-term

inalparticip

ant).

•rep

eatersan

dcen

tralunitare

technically

verysim

ilar,butneed

tobedistin

guish

edto

understan

dreq

uirem

ents.

Thedictio

nary

explain

sthese

terms.

Dictio

na

ryE

xam

ple

(With

Ro

om

for

Imp

rovem

ent)

– 05 – 2015-05-11 – Sre –

20/90

(Aren

iset

al.,

2014)

Example:W

ireless

Fire

Alarm

Syste

m

•Durin

gaproject

ondesig

ningahighly

reliable,

EN-54-25conform

ingwireless

communicatio

nprotocol,wehad

tolearn

that

therelevan

tcomponents

ofafire

alarmsystem

are

•term

inalparticip

ants

(wireless

sensors

andmanualindica

tors),

•ace

ntra

lunit

(notaparticip

ant),

•andrepeaters

(anon-term

inalparticip

ant).

•rep

eatersan

dcen

tralunitare

technically

verysim

ilar,butneed

tobedistin

guish

edto

understan

dreq

uirem

ents.

Thedictio

nary

explain

sthese

terms.

Excerptfro

mthedictio

nary

(ca.50entries):

Part

Apart

ofafire

alarm

systemis

either

apar-

ticipantorace

ntra

lunit.

RepeaterArep

eater

isaparticip

antwhich

accep

tsmessa

ges

forthece

ntra

lunit

from

other

partici-

pants ,

ormessa

ges

from

thece

ntra

lunitto

other

particip

ants.

Arep

eater

consists

ofthefollo

wing

device

s:wireless

communica

tionmodule

(1to

4,

here

fixed

to2),

[...]

Centra

lUnit

Acen

tralu

nitisapart

which

receivesmessa

ges

from

differen

tassig

ned

particip

ants,

as-

sessesthemessa

ges,

andrea

cts,e.g

.byforw

arding

toperso

nsoroptica

l/acu

sticsig

nallin

gdevices.

Acen

tralunitco

nsist

ofthefollo

wingdevice

s:[...]

Term

inalParticip

antA

terminalparticip

antis

aparticip

antwhich

isnota

repeater.

Each

ter-minalparticip

antco

nsists

ofexa

ctlyonewireless

communica

tionmodule

anddevices

which

provid

esen

sorand/orsig

nallin

gfunctio

nality.

Do

cum

ents

of

the

Req

uirem

ents

An

alysis:

Sp

ecifica

tion

s

– 05 – 2015-05-11 – Sre –

21/90

•Reca

ll:

Laste

nheft

(Require

ments

Specifi

catio

n)Entire

dem

andsondeliverab

lesan

dser-

vicesofadevelo

per

with

inacontracted

develo

pment,

createdbythecu

stomer.

Pflich

tenheft

(Feature

Specifi

catio

n)Specifi

cationofhow

torealise

agiven

re-

quirem

ents

specifi

cation,cre

atedbythedeveloper.

DIN

69901-5

(2009)

•Reco

mmendatio

n:

Iftherequire

ments

specifi

catio

nisnotgivenbycusto

mer

(butneed

sto

be

develo

ped),

focusonan

dmain

tainonly

theco

llectio

nofrequire

ments

(possib

lysketch

yan

dunsorted

)an

dmain

tainthefeature

specifi

catio

n.

(Ludew

igandLich

ter,2013)

•Note:In

thefollow

ing(unless

otherw

isenoted

),wediscu

ssthefeature

specifi

catio

n,i.e.

thebasis

ofthesoftw

aredevelo

pment.

Tomaxim

iseconfusio

n,wemay

occasio

nally

(inconsisten

tly)call

itrequire

ments

specifi

catio

nor

just

specifi

catio

n—

should

beclear

from

context...

Req

uirem

ents

on

Req

uirem

ents

Sp

ecifica

tion

s

– 05 – 2015-05-11 – Sre –

22/90

Arequire

ments

specifi

catio

nshou

ldbe

•co

rrect

—itcorrectly

represen

tsthewish

es/need

softhecusto

mer,

•co

mplete

—all

requirem

ents

(existingin

someb

ody’s

head

,or

adocument,

or...)

should

be

presen

t,

•relevant

—thingswhich

arenotrelevan

tto

theproject

should

notbeconstrain

ed,

•co

nsiste

nt,

freeofco

ntra

dictio

ns

—each

requirem

entiscompatib

lewith

allother

requirem

ents;

otherw

isethereq

uirem

ents

arenotrealisa

ble,

•neutra

l,abstra

ct—

areq

uirem

ents

specifi

cationdoes

notconstrain

therealisatio

nmore

than

necessary,

•tra

ceable,co

mprehensib

le—

thesources

ofreq

uirem

ents

aredocumented

,req

uirem

ents

areuniquely

identifi

able,

•testa

ble,objectiv

e—

thefinal

product

canobjectiv

ely

bechecked

forsatisfyin

gareq

uirem

ent.

Page 5: Lecture 05: Requirements Engineering...– 05 – 2015-05-11 – main – Softwaretechnik / Software-Engineering Lecture 05: Requirements Engineering 2015-05-11 Prof. Dr. Andreas Podelski,

Req

uirem

ents

on

Req

uirem

ents

Sp

ecifica

tion

Do

cum

ents

– 05 – 2015-05-11 – Sre –

24/90

Therepresentatio

nandform

ofareq

uirem

ents

specifi

cationshou

ldbe:

•easily

understa

ndable,notunnecessarily

complica

ted—

allaff

ectedpeople

areab

leto

understan

dthereq

uirem

ents

specifi

cation,

•precise

—thereq

uirem

ents

specifi

cationdoes

notintro

duce

new

unclarities

orroomsfor

interp

retation(→

testable,

objective),

•easily

maintainable

—creatin

gan

dmain

tainingthereq

uirem

ents

specifi

cationshould

beeasy

andshould

not

need

unnecessary

effort,

•easily

usable

—storag

eofan

daccess

tothereq

uirem

ents

specifi

cationshould

notneed

significan

teff

ort.

Note:Once

again,it’s

abou

tcom

promises.

•A

veryprecise

objectiv

ereq

uirem

ents

specifi

cationmay

notbeeasily

understan

dab

leby

everyaff

ectedperso

n.

→provid

ered

undan

texp

lanatio

ns.

•It

isnoteasy

tohave

both,low

main

tenan

ceeff

ortan

dlow

accesseff

ort.

→valuelow

acce

sseffort

higher,

areq

uirem

ents

specifi

cationdocumentismuch

more

often

readthan

changedor

writte

n(m

ost

chan

ges

require

readingbeforeh

and).

Kin

ds

of

Req

uirem

ents

– 05 – 2015-05-11 – Sre –

25/90

Kin

ds

of

Req

uirem

ents:

Ha

rda

nd

So

ftR

equ

iremen

ts

– 05 – 2015-05-11 – Sre –

26/90

•Exa

mple

ofahard

require

ment:

•Cash

ingachequeover

Ne

must

resultin

anew

balan

cedecreased

byN;there

isnot

amicro

-centoftoleran

ce.

•Exa

mplesof

soft

require

ments:

•Iftheven

dingmach

inedisp

enses

theselected

itemwith

in1s,

it’sclearly

fine;

ifittakes

5min.,it’s

clearlywrong—

where’s

theboundary?

•A

carentertain

mentsystem

which

produces

“noise”

(dueto

limited

busban

dwidth

orCPU

pow

er)in

averageonce

per

hourisaccep

table,

once

per

minute

isnotaccep

table.

Theborderbetw

eenhard

/softis

diffi

cult

todraw

:

•Asdeveloper,

wewan

treq

uirem

ents

specifi

cationsto

be“ashard

aspossib

le”,i.e.

we

wan

taclear

right/wrong.

•Ascu

stomer,

weoften

cannotprovid

ethisclarity;

weknow

what

is“cle

arlywrong”an

dweknow

what

is“cle

arlyrig

ht”,butwedon’thave

asharp

boundary.

→intervals,

rates,etc.

canserve

asprecise

specifi

catio

nsof

soft

require

ments.

Kin

ds

of

Req

uirem

ents:

Op

ena

nd

Ta

cit

– 05 – 2015-05-11 – Sre –

27/90

•open:custom

erisaw

areof

andable

toexp

licitlycom

municate

thereq

uirem

ent,

•(se

mi-)ta

cit:custom

ernot

aware

ofsom

ethingbeingareq

uirem

ent(ob

viousto

thecustom

er,not

consid

eredrelevan

tby

thecustom

er,not

know

nto

berelevan

t).

Exa

mples:

•butto

ns

and

screenof

amobile

phoneshould

beonthesam

esid

e,

•im

portan

tweb-sh

opitem

sshould

be

ontherig

htsid

ebecau

seourmain

users

aresocialised

with

right-to

-leftread

ingdirectio

n,

•theECU

(embedded

contro

lunit)

may

only

use

acertain

amountof

buscap

acity.

•distin

guish

don’t

care:

inten

tionally

leftto

bedecid

edby

develo

per.

Analyst

know

sdomain

new

todomain

Customer/Client

explicit

requirem

ents

disco

veredreq

uirem

ents

disco

verable

semi-tacit

requirem

ents

disco

verable

requirem

ents

disco

verable

with

diffi

culties

tacit

hard

/im

possib

leto

disco

ver

(Gacitu

aet

al.,

2009)

Kin

ds

of

Req

uirem

ents:

Fu

nctio

na

la

nd

No

n-F

un

ction

al

– 05 – 2015-05-11 – Sre –

28/90

•*sigh*

•Reca

lldefinitio

nofsoftw

are:

Afinite

descrip

tionof

aset

ofcom

putation

path

sof

theform

π=

σ0

α1

−→

σ1

α2

−→

σ2···

Note:states

σmay

belab

elledwith

timestam

ps,

orenerg

yconsumptio

nso

far,...

•Anothervie

w:softw

areisafunction

which

mapsinputto

outputseq

uences:

S:σi0

αi1

−→

σi1

αi2

−→

σi2···

7→

(

σi0

σo0

)

αi1

−−→αo1

(

σi1

σo1

)

αi2

−−→αo2

···

•Eve

ryco

nstra

inton

things

observa

ble

inthecom

putation

path

sisafunctio

nal

require

ment(becau

seitreq

uires

someth

ingfor

thefunction

S).

Thustim

ing,energyco

nsumptio

n,etc.

may

besubject

tofunctio

nal

requirem

ents.

•Clearly

non-fu

nctio

nalreq

uirem

ents:

program

minglan

guag

e,codingconven

tions,

process

model

requirem

ents,

portab

ility...

Req

uirem

ents

An

alysis

Tech

niq

ues

– 05 – 2015-05-11 – Sre –

29/90

Page 6: Lecture 05: Requirements Engineering...– 05 – 2015-05-11 – main – Softwaretechnik / Software-Engineering Lecture 05: Requirements Engineering 2015-05-11 Prof. Dr. Andreas Podelski,

(AS

election

of)

An

alysis

Tech

niq

ues

– 05 – 2015-05-11 – Sre –

30/90

Focu

scurren

tdesired

innovatio

n

Analysis

Tech

nique

situatio

nsitu

ation

conseq

uences

Analysis

ofexistin

gdata

anddocuments

Observatio

n

Questio

nningwith

(

closed

structu

redopen

)

questio

ns

Interview

Modellin

g

Exp

eriments

Prototyp

ing

Particip

ativedevelo

pment

(Ludew

igandLich

ter,2013)

Req

uirem

ents

Elicita

tion

– 05 – 2015-05-11 – Sre –

31/90

•Observa

tion:

Custom

ersare

typically

not

trained

instatin

g/communicatin

greq

uirem

ents.

They

livein

the“Iwantapony”

-world

—in

multip

lesen

ses...;-)

•Itisthetask

oftheanalyst

to:

•ask

what

iswanted

,ask

what

isnot

wanted

,

•estab

lishprecisio

n,

look

outfor

contrad

ictions,

•anticip

ate

exception

s,diffi

culties,

corner-cases,

•have

technical

backgrou

ndto

know

technical

diffi

culties,

•co

mmunica

te(form

al)specifi

cationto

custom

er,

•“test”

ownunderstan

dingby

askingmore

question

s.

→i.e.

toelicit

thereq

uirem

ents.

Amadeupdialogu

e:

Analyst:

Soin

themorning,youopen

thedoorat

themain

entra

nce?

Custo

mer:

Yes,

asItold

you.

A:Every

morning?

C:Ofco

urse.

A:Also

ontheweeken

ds?

C:No,onweeken

ds,

theen

trance

staysclo

sed.

A:Anddurin

gco

mpanyholid

ays?

C:Then

italso

remainsclo

sedofco

urse.

A:Andifyouare

illoronva

catio

n?

C:Then

Mr.

Mopen

sthedoor.

A:AndifMr.

Mis

notava

ilable,

too?

C:Then

thefirst

clientwill

knock

onthewindow.

A:Okay.

Now

whatexa

ctlydoes

“morning”mean?

...(Ludew

igandLich

ter,2013)

Ho

wC

an

Req

uirem

ents

En

gin

eering

Lo

ok

InP

ractice?

– 05 – 2015-05-11 – Sre –

32/90

•Set

upaco

reteam

foranalysis

(3to

4peo

ple),

inclu

deexp

ertsfro

mthedomain

anddeve

lopers.

Analysis

ben

efits

from

highest

skills

andstro

ngexp

erie

nce

.

•Durin

ganalysis,

talk

todecisio

nmake

rs(m

anagers),

domain

exp

erts,

andusers.

Users

canbe

interview

edbyatea

mof2analysts,

ca.90min.

•Theresu

lting“raw

materia

l”is

sorted

andassessed

inhalf-

orfull-d

ayworkshopsin

atea

mof

6-10peo

ple.

Onesearch

esfor,e.g

.,co

ntra

dictio

nsbetw

eencu

stomer

wish

es,andforprio

risatio

n.

Note:Thecu

stomerdecid

es.

Analysts

may

make

proposals

(differen

toptio

nsto

choose

from),

butthecu

stomer

chooses.

(Andthech

oice

isdocu

men

ted.)

•The“raw

materia

l”is

basis

ofaprelim

inary

require

ments

specifi

catio

n(audien

ce:the

develo

pers)

with

open

questio

ns.

Analysts

need

toco

mmunica

tethereq

uirem

ents

specifi

catio

nappropria

tely

(explain,give

examples,

pointoutparticu

larcorner-ca

ses).Custo

mers

with

outstro

ngmaths/co

mputer

science

backgroundare

often

ove

rstrainedwhen

“left

alone”

with

aform

alreq

uirem

ents

specifi

catio

n.

•Result:

dictio

nary,

specifi

edrequire

ments.

•Man

ycusto

mers

donotwan

t(ra

dica

l)ch

ange,butim

provement.

•Goodquestio

ns:

How

’rethingsdonetoday?

What

should

beim

proved

?

Sp

ecifica

tion

La

ng

uages

– 05 – 2015-05-11 – main –

33/90

Req

uirem

ents

Sp

ecifica

tion

La

ng

uage

– 05 – 2015-05-11 – Sspeclang –

34/90

specifi

catio

n—

Adocumentthat

specifi

es,in

acom

plete,

precise,verifi

able

manner,

thereq

uirem

ents,

design

,behavior,

oroth

ercharacteristics

ofasys-

temor

compon

ent,and,often

,thepro

cedures

fordeterm

iningwheth

erthese

provisionshave

been

satisfied.

IEEE

610.12(1990)

specifi

catio

nlanguage—

Alan

guage,

oftenamach

ine-pro

cessiblecom

bina-

tionof

natu

ralandform

allan

guage,

used

toexpress

thereq

uirem

ents,

design

,behavior,

oroth

ercharacteristics

ofasystem

orcom

pon

ent.

For

example,

adesign

langu

ageor

requirem

ents

specifi

cationlan

guage.

Con

trastwith

:pro-

gramminglan

guage;

query

langu

age.IEEE

610.12( 1990)

require

ments

specifi

catio

nlanguage—

Aspecifi

cationlan

guage

with

spe-

cialcon

structs

and,som

etimes,

verification

protocols,

used

todevelop

,ana-

lyze,anddocumenthard

ware

orsoftw

arereq

uirem

ents.

IEEE

610.12(1990)

softw

arerequire

ments

specifi

catio

n(S

RS)—

Documentation

oftheessen

-tial

requirem

ents

(function

s,perform

ance,

design

constrain

ts,andattrib

utes)

ofthesoftw

areandits

external

interfaces.

IEEE

610.12( 1990)

Na

tura

lL

an

gu

age

Sp

ecifica

tion

– 05 – 2015-05-11 – Sspeclang –

35/90

(Ludew

igandLich

ter,2013)based

on(R

uppanddie

SOPHISTen

,2009):

rule

explanatio

n,example

R1

State

eachreq

uirem

entin

activ

evoice

.

Nam

etheactors,

indicate

wheth

ertheuser

orthe

systemdoes

someth

ing.Not“theitem

isdeleted

”.

R2

Express

processes

byfullverbs.

Not“is”

,“has”

,but“read

s”,“creates”

;fullverb

sreq

uire

inform

ationwhich

describ

etheprocess

more

precisely.

Not“when

data

isconsisten

t”but“after

program

Phas

checked

consisten

cyofthedata”

.

R3

Disco

verinco

mpletely

definedverbs.

In“thecomponentraises

anerror”

,ask

whom

the

messag

eisad

dressed

to.

R4

Disco

verinco

mplete

conditio

ns.

Conditio

nsoftheform

“if-else”

need

descrip

tionsofthe

if-an

dthethen-case.

R5

Disco

veruniversa

lquantifi

ers .

Are

senten

ceswith

“never”

,“alw

ays”,“each

”,“an

y”,

“all”

reallyuniversally

valid?Are

“all”

reallyall

orare

there

exceptio

ns.

R6

Check

Nounslike

“reg

istration”often

hidecomplex

processes

Page 7: Lecture 05: Requirements Engineering...– 05 – 2015-05-11 – main – Softwaretechnik / Software-Engineering Lecture 05: Requirements Engineering 2015-05-11 Prof. Dr. Andreas Podelski,

– 05 – 2015-05-11 – Sspeclang –

36/90

quantifi

ers.

“all”

reallyuniversally

valid?Are

“all”

reallyall

orare

there

exceptio

ns.

R6

Check

nominalisa

tions.

Nounslike

“reg

istration”often

hidecomplex

processes

that

need

more

detailed

descrip

tions;

theverb

“reg

ister”raises

appropriate

questio

ns:

who,where,

forwhat?

R7

Reco

gnise

and

refineuncle

arsubsta

ntiv

es.

Isthesubstan

tiveused

asageneric

termor

does

itdenote

someth

ingspecifi

c?Is

“user”

generic

orisa

mem

ber

ofaspecifi

cclasses

mean

t?

R8

Clarify

resp

onsib

ilities.

Ifthespecifi

cationsays

that

someth

ingis“possib

le”,

“im

possib

le”,or

“may”

,“should”,“must”

hap

pen,

clarifywhoisenforcin

gor

prohibitin

gthebehavio

ur.

R9

Identify

implicit

assu

mptio

ns.

Term

s(“thefirew

all”)that

arenotexp

lained

furth

eroften

hintto

implicit

assumptio

ns(here:

there

seemsto

beafirew

all).

Na

tura

lL

an

gu

age

Pa

tterns

– 05 – 2015-05-11 – Sspeclang –

37/90

Natu

rallan

guage

requirem

ents

canbewritten

usin

gA,B,C,D,E,F

where

Aclarifi

eswhen

andunder

what

conditio

nstheactivity

takesplace

BisMUST

(oblig

ation),

SHOULD

(wish

),or

WILL(in

tentio

n);

also:MUST

NOT

(forbidden)

Ciseith

er“thesystem

”or

theconcrete

nam

eofa(su

b-)system

Doneofthree

possib

ilities:

•“does”

,descrip

tionofasystem

activity,•

“offers”

,descrip

tionofafunctio

noffered

bythesystem

tosomeb

ody,

•“isab

leif”

,usag

eofafunctio

noffered

byathird

party,

under

certainconditio

ns

Eexten

sions,

inparticu

laran

object

Ftheactu

alprocess

word

(what

hap

pens)

(Ruppanddie

SOPHISTen

,2009)

Exa

mple:

After

office

hours

(=A),

thesystem

(=C)should

(=B)offer

totheoperator

(=D)aback

up(=

F)ofall

new

registratio

nsto

anextern

almedium

(=E).

Oth

erP

attern

Exa

mp

le:R

FC

21

19

– 05 – 2015-05-11 – Sspeclang –

38/90

Network Working Group S. Bradner

Request for Comments: 2119 Harvard University

BCP: 14 March 1997

Category: Best Current Practice

Key words for use in RFCs to Indicate Requirement Levels

Status of this Memo

This document specifies an Internet Best Current Practices for the

Internet Community, and requests discussion and suggestions for

improvements. Distribution of this memo is unlimited.

Abstract

In many standards track documents several words are used to signify

the requirements in the specification. These words are often

capitalized. This document defines these words as they should be

interpreted in IETF documents. Authors who follow these guidelines

should incorporate this phrase near the beginning of their document:

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL

NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and

"OPTIONAL" in this document are to be interpreted as described in

RFC 2119.

Note that the force of these words is modified by the requirement

level of the document in which they are used.

1. MUST This word, or the terms "REQUIRED" or "SHALL", mean that the

definition is an absolute requirement of the specification.

2. MUST NOT This phrase, or the phrase "SHALL NOT", mean that the

definition is an absolute prohibition of the specification.

3. SHOULD This word, or the adjective "RECOMMENDED", mean that there

may exist valid reasons in particular circumstances to ignore a

particular item, but the full implications must be understood and

carefully weighed before choosing a different course.

4. SHOULD NOT This phrase, or the phrase "NOT RECOMMENDED" mean that

there may exist valid reasons in particular circumstances when the

particular behavior is acceptable or even useful, but the full

implications should be understood and the case carefully weighed

before implementing any behavior described with this label.

Bradner Best Current Practice [Page 1]

RFC 2119 RFC Key Words March 1997

5. MAY This word, or the adjective "OPTIONAL", mean that an item is

truly optional. One vendor may choose to include the item because a

particular marketplace requires it or because the vendor feels that

it enhances the product while another vendor may omit the same item.

An implementation which does not include a particular option MUST be

prepared to interoperate with another implementation which does

include the option, though perhaps with reduced functionality. In the

same vein an implementation which does include a particular option

MUST be prepared to interoperate with another implementation which

does not include the option (except, of course, for the feature the

option provides.)

6. Guidance in the use of these Imperatives

Imperatives of the type defined in this memo must be used with care

and sparingly. In particular, they MUST only be used where it is

actually required for interoperation or to limit behavior which has

potential for causing harm (e.g., limiting retransmisssions) For

example, they must not be used to try to impose a particular method

on implementors where the method is not required for

interoperability.

7. Security Considerations

These terms are frequently used to specify behavior with security

implications. The effects on security of not implementing a MUST or

SHOULD, or doing something the specification says MUST NOT or SHOULD

NOT be done may be very subtle. Document authors should take the time

to elaborate the security implications of not following

recommendations or requirements as most implementors will not have

had the benefit of the experience and discussion that produced the

specification.

8. Acknowledgments

The definitions of these terms are an amalgam of definitions taken

from a number of RFCs. In addition, suggestions have been

incorporated from a number of people including Robert Ullmann, Thomas

Narten, Neal McBurnett, and Robert Elz.

– 05 – 2015-05-11 – Sspeclang –

39/90

The In

stitu

te o

f Ele

ctric

al a

nd E

lectro

nic

s E

ngin

eers

, Inc.

345 E

ast 4

7th

Stre

et, N

ew

York

, NY

10017-2

394, U

SA

Copyrig

ht ©

1998 b

y th

e In

stitu

te o

f Ele

ctric

al a

nd E

lectro

nic

s E

ngin

eers

, Inc.

All rig

hts

reserve

d. P

ublis

hed 1

998. P

rinte

d in

the U

nite

d S

tate

s o

f Am

eric

a.

ISB

N 0

-7381-0

332-2

No p

art o

f this

public

atio

n m

ay b

e re

pro

duced in

any fo

rm, in

an e

lectro

nic

retrie

val s

yste

m o

r oth

erw

ise, w

ithout th

e p

rior

writte

n p

erm

issio

n o

f the p

ublis

her.

IEE

E S

td 8

30-1

998

(Revis

ion o

f

IEE

E S

td 8

30-1

993)

IEE

E R

eco

mm

en

ded

Pra

ctic

e fo

r S

oftw

are

Req

uire

men

ts

Sp

eciÞ

catio

ns

Sponsor

So

ftware

En

gin

eerin

g S

tan

dard

s C

om

mitte

eo

f the

IEE

E C

om

pu

ter S

ocie

ty

Appro

ved 2

5 J

une 1

998

IEE

E-S

A S

tan

dard

s B

oard

Ab

stra

ct:

Th

e c

on

ten

t an

d q

ua

lities o

f a g

oo

d s

oftw

are

req

uire

me

nts

sp

ecific

atio

n (S

RS

) are

de

-

scrib

ed

an

d s

eve

ral s

am

ple

SR

S o

utlin

es a

re p

rese

nte

d. T

his

reco

mm

en

de

d p

ractic

e is

aim

ed

at

sp

ecify

ing

req

uire

me

nts

of s

oftw

are

to b

e d

eve

lop

ed

bu

t als

o c

an

be

ap

plie

d to

assis

t in th

e s

ele

c-

tion

o

f in

-ho

use

a

nd

co

mm

erc

ial

so

ftwa

re p

rod

ucts

. G

uid

elin

es fo

r co

mp

lian

ce

w

ith IE

EE

/EIA

12

20

7.1

-19

97

are

als

o p

rovid

ed

.

Ke

yw

ord

s:

co

ntra

ct, c

usto

me

r, pro

toty

pin

g, s

oftw

are

req

uire

me

nts

sp

ecific

atio

n, s

up

plie

r, syste

m

req

uire

me

nts

sp

ecific

atio

ns

Stru

cture

of

aR

equ

iremen

tsD

ocu

men

t:E

xam

ple

– 05 – 2015-05-11 – Sspeclang –

40/90

1IN

TRODUCTIO

N

1.1

Purpose

1.2

Acro

nym

san

dDefi

nitio

ns

1.3

Referen

ces1.4

User

Characteristics

2FUNCTIO

NALREQUIREMENTS

2.1

Functio

nSet

12.2

etc.

3REQUIREMENTSTO

EXTERNALIN

TERFACES

3.1

User

Interfaces

3.2

Interfaces

toHard

ware

3.3

Interfaces

toSoftw

areProducts

/Softw

are/Firm

ware

3.4

Communicatio

nInterfaces

4REQUIREMENTSREGARDIN

GTECHNICALDATA

4.1

VolumeRequirem

ents

4.2

Perform

ance

4.3

etc.

5GENERALCONSTRAIN

TSAND

REQUIREMENTS

5.1

Stan

dard

san

dRegulatio

ns

5.2

Strateg

icConstrain

ts5.3

Hard

ware

5.4

Softw

are5.5

Compatib

ility5.6

Cost

Constrain

ts5.7

Tim

eConstrain

ts5.8

etc.

6PRODUCT

QUALITY

REQUIREMENTS

6.1

Availab

ility,Reliab

ility,Robustn

ess6.2

Secu

rity6.3

Main

tainab

ility6.4

Portab

ility6.5

etc.

7FURTHER

REQUIREMENTS

7.1

System

Operatio

n7.2

Custo

misatio

n7.3

Requirem

ents

ofIntern

alUsers

( Ludew

igan

dLich

ter,2013)based

on(IE

EE,1998)

Referen

ces

– 05 – 2015-05-11 – main –

89/90

Page 8: Lecture 05: Requirements Engineering...– 05 – 2015-05-11 – main – Softwaretechnik / Software-Engineering Lecture 05: Requirements Engineering 2015-05-11 Prof. Dr. Andreas Podelski,