requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project...

39
Requirements in een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer

Upload: others

Post on 04-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Requirements in een groot project

Gastcollege

Technische Universiteit Eindhoven

Harry Nieboer

Page 2: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Insteek vandaag

• Requirements in de praktijk

– Eerst Requirements in een klein project(één software engineer in project van één week)

– Daarna Requirements in een groot project

• Requirements met Endeavour

• Aansluiting van Requirements op Architectuur, Bouw en Test

– Vragen gewoon tussendoor

– Op het einde tijd voor discussie

26-02-2010 2Gastcollege Technische Universiteit Eindhoven - 3

Page 3: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Requirements in project van Nick• Visie

– Probleembeschrijving

– Oplossingbeschrijving

– Stakeholders

– Ondersteunde taken

• Later ook:

– Alternatieven en foutafhandeling bij ondersteunde taken

3

Page 4: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Requirements in een Endeavour project

Oplossings

Ruimte

Probleem

Ruimte

Needs

Features

Software

Requirements

(Use cases + aanv req)

Test CasesDesign

Docu-

mentatie

ProbleemEndeavour

Visie

document

v

Endeavour

Use Case

specificaties

Endeavour

aanvullende

requirements

Endeavour

Use Case

model

Endeavour

requirements

management

plan

26-02-2010 4Gastcollege Technische Universiteit Eindhoven - 3

Page 5: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Visie Document

Visie

document

Identificatie Stakeholder Vertegenwoordigde

groep

Betrokkenheid

STHR001 Service Provider

Dhr. B.I.G.

Moneymaker

Eigenaar van de ASP

applicatie.

Stelt resources

beschikbaar. Neemt

GO/NOGO besluiten.

STHR002 Service Provider

Administrator

Mevr. M. InControl

Toekomstig beheerteam

van de applicatie.

Toekomstig

beheerder van de

ASP applicatie. Helpt

mee met opstellen

requirements voor

beheer.

STHR003 BOVAG Eigenaren van

garagebedrijven en

keuringsstations

Inbrengen financieel

inzicht.

STHR004 Referentie

Garagebedrijf “De

Krik”

Medewerkers van

garagebedrijven die met

de applicatie gaan werken

Inbrengen praktijk

kennis. Helpen mee

met opstellen

requirements voor

de applicatie

STHR005 Referentie

Keuringsstation

“Effe Checken”

Keurmeesters van

keuringsstations die met

de applicatie gaan werken

Inbrengen praktijk

kennis. Helpen mee

met opstellen

requirements voor

de applicatie

STHR006 Referentie

Leasemaatschappij

“”Superlease”

Medewerkers van

leasemaatschappijen die

met de applicatie gaan

werken

Inbrengen praktijk

kennis. Helpen mee

met opstellen

requirements voor

de applicatie.

26-02-2010 5Gastcollege Technische Universiteit Eindhoven - 3

Page 6: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Use-Case lifecycle

Discovered

Outlined

Briefly Described

FullyDescribed

Use Case

specificaties

Use Case

model

26-02-2010 6Gastcollege Technische Universiteit Eindhoven - 3

Page 7: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Discovered

Use Case

model

Use-Case lifecycle

Page 8: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Discovered

Briefly Described

Use Case

specificaties

Use-Case lifecycle

?

Page 9: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Discovered

Outlined

Briefly Described

Flow “Keur voertuig” 1. Het Systeem toont lijst met ingeplande keuringen

2. De Keurmeester selecteert het te keuren voertuig.

3. Het Systeem toont detailscherm voor het

geselecteerde voertuig.

4. De Keurmeester legt de keuringswerkzaamheden vast.

5. Het Systeem meldt keuring aan het RDW.

6. Het Systeem meldt of voertuig is aangemerkt voor een

steekproef.

7. Indien de Keurmeester nog meer voertuigen wil

keuren, ga verder bij 1.

Hier eindigt de Use Case.

Diepgang outline hangt af van doel

bv Duidelijkheid scope

bv Initiële planning

Use Case

specificaties

Use-Case lifecycle

Page 10: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Discovered

Outlined

Briefly Described

FullyDescribed

Use-Case lifecycle

Page 11: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010
Page 12: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Insteek vandaag

• Requirements in de praktijk

– Eerst Requirements in een klein project(één software engineer in project van één week)

– Daarna Requirements in een groot project

• Requirements met Endeavour

• Aansluiting van Requirements op Architectuur, Bouw en Test

– Vragen gewoon tussendoor

– Op het einde tijd voor discussie

26-02-2010 12Gastcollege Technische Universiteit Eindhoven - 3

Page 13: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Het project van Nick• Opdrachtnemer Nick

• Software Engineer

• 12 jaar ervaring

• Werkt het liefst alleen

• Project Management

• Requirements

• Architectuur en Design

• Test

• ....

13

Page 14: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Een project met meer mensen

Project Management

Requirements

Development

TestArchitectuur

Business

Beheer

26-02-2010 14Gastcollege Technische Universiteit Eindhoven - 3

Page 15: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Lifecycle van een Use Case

Requirements Architectuur Development

Test

Geïdentificeerd

Kort omschreven

Outline beschreven

Volledig beschreven

Geanalyseerd

Gerealiseerd

Getest

Geaccepteerd

Gereviewd

Test beschreven

Gereviewd

26-02-2010 15Gastcollege Technische Universiteit Eindhoven - 3

Page 16: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

• Architectuur

– Eenvoudig, Client/Server

– Schets

Architectuur in project van Nick17

Page 17: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Architectuur bij Endeavour project• Service Oriented Architectuur

– Wijzig de mindset van applicatiesnaar solutions

– Herbruikbare services

• Definieert de project structuur

– Communicatie

– Planning

– Design , Testen, etc

• Endeavour Referentie Architectuur definieert de best practices en principes

Front EndsFront Ends

Front End AFront End A

LegendaLegenda

Geeft de richting van de aanroep aanGeeft de richting van de aanroep aan

Legacy systeem

Functionele deelgebieden front-endFunctionele deelgebieden front-end

Configuration item afhankelijkheid

PlatformPlatform

ServicesServices

Service BusService Bus

Business ServicesBusiness Services

Busin

ess

Busin

ess

Service

Service

Busin

ess

Busin

ess

Service

Service

Busin

ess

Busin

ess

Service

Service

Process ServicesProcess Services

Pro

cess

Pro

cess

Service

Service

Pro

cess

Pro

cess

Service

Service

Pro

cess

Pro

cess

Service

Service

Integration ServicesIntegration Services

Sta

nd

ard

1S

tan

dard

1

Sta

nd

ard

2S

tan

dard

2

Sta

nd

ard

3S

tan

dard

3

Legacy

System

Legacy

System

Pla

tform

Pla

tform

Service

Service

Pla

tform

P

latfo

rm

Service

Service

Platform Platform

Service(s)Service(s)

Configuration Item

Cluster

Ta

skset

Ta

skset

11

Front End BFront End B

Ta

skset

Ta

skset

22

Ta

skset

Ta

skset

33

Ta

skset

Ta

skset

11

Ta

skset

Ta

skset

44

Ta

skset

Ta

skset

55

Toekomstig Configuration Item GegevensopslagToegang extern domein

26-02-2010 18Gastcollege Technische Universiteit Eindhoven - 3

Page 18: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Logische Solution Architectuur

26-02-2010 19Gastcollege Technische Universiteit Eindhoven - 3

Page 19: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Use Case Realisatie

26-02-2010 20Gastcollege Technische Universiteit Eindhoven - 3

Page 20: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Analysis / LSA

26-02-2010 21Gastcollege Technische Universiteit Eindhoven - 3

Page 21: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

View Of Participating Classes

View of Participating ClassesUC01 Keur voertuigGarage Management Systeem

«business service»Klant

+ OphalenKlant(RQM_Klant) : RSM_Klant

«process service»Voertuig keuring

+ OphalenAfspraken(RQM_Afspraak) : RSM_Afspraak+ OphalenKeuringen(bool) : RSM_Keuring

«business service»Voertuig

+ OphalenAfspraken(RQM_Afspraak) : RSM_Afspraak+ BewarenKeuring(RQM_Keuring) : void

«integration service»RDW APK

«functional area»Keur voertuigen

+ ToonKeuringen()+ ToonKeuringsrapport()

26-02-2010 22Gastcollege Technische Universiteit Eindhoven - 3

Page 22: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

User-Experience Modeling

• Een systematische aanpak om te beschrijven wat de gebruiker ervaart

– Inhoud van (onderdelen van) vensters beschrijven

– Mogelijke navigaties tussen vensters

– Vensters gerelateerd aan Use Cases

User-Experience Elements

User-Experience Navigation Maps

User-Experience Storyboards

26-02-2010 25Gastcollege Technische Universiteit Eindhoven - 3

Page 23: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

User-Experience Elements

• Vensters

– Stereotype: screen

– Venster met een titelbalk

• Formulieren

– Stereotype: form

– Groep of lijst uitvoervelden

• Invoerformulieren

– Stereotype: inputform

– Groep of lijst invoervelden

26-02-2010 26Gastcollege Technische Universiteit Eindhoven - 3

Page 24: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

User-Experience Elements

cd Participants

«input form»

Zoek auto

Kenteken: string

Merk: AutoMerk

Type: AutoType

«form»

Auto beknopt

Kenteken: string

Merk: AutoMerk

Type: AutoType

«screen»

SelecterenVoertuig

Zoek auto() : void

Selecteer voertuig() : void

$Er is niets gevonden() : void

0..*

Zoek auto

26-02-2010 27Gastcollege Technische Universiteit Eindhoven - 3

Page 25: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

User-Experience Navigation Maps

• Globaal overzicht over ALLE Use Cases• Geen forms en input forms

• Toont alle mogelijke navigatie tussen vensters

• Welke vensters roepen andere vensters aan

26-02-2010 28Gastcollege Technische Universiteit Eindhoven - 3

Page 26: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

User-Experience Navigation Mapscd User-Experience Nav igation Map

User-Experience Navigation Map

Garage Management Systeem

«screen»

TaakAfronden

«screen»

SelecterenVoertuig

«screen»

SelecterenKlant

«screen»

KlantEnVoertuig

Afbreken

Selecteer klant

Bewaren

Selecteren

andere

klant

Selecteer

voertuig

26-02-2010 29Gastcollege Technische Universiteit Eindhoven - 3

Page 27: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

User-Experience Storyboards

• Detail overzicht van één Use Case

• Toont alle mogelijke navigatie tussen (onderdelen van) vensters

• Toont alle details van vensters en forms

26-02-2010 30Gastcollege Technische Universiteit Eindhoven - 3

Page 28: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

User-Experience Storyboardscd Participants

Participants

Use-Case Storyboard

UC20 Wijzigen voertuigeigenaar

Garage Management Systeem

«screen»

KlantEnVoertuig

Kilometerstand: int

Selecteren andere klant() : void

Bewaren() : void

Afbreken() : void

«screen»

SelecterenKlant

Zoek klant() : void

Selecteer klant() : void

$Geen klanten gevonden() : void

«screen»

TaakAfronden

Bevestigen() : void

Afbreken() : void

«input form»

Auto

Brandstof: BRANDSTOF

Gewicht: int

Kenteken: string

Kleur: string

Merk: AutoMerk

Prijs: currency

Type: AutoType

Verkoopdatum: date

«form»

Klant

Naam: string

Straatnaam: string

Huisnummer: string

Postcode: string

Woonplaats: string

Telefoonnummer: string

Rekeningnummer: string

«input form»

Zoek auto

Kenteken: string

Merk: AutoMerk

Type: AutoType

Zoek auto() : void

«input form»

Zoek klant

Naam: string

Straatnaam: string

Postcode: string

Woonplaats: string

«form»

Auto beknopt

Kenteken: string

Merk: AutoMerk

Type: AutoType

«screen»

SelecterenVoertuig

Selecteer voertuig() : void

$Er is niets gevonden() : void

Begin hier

«form»

Klant beknopt

Naam: string

Straatnaam: string

Postcode: string

Woonplaats: string

1

1

1

0..*

Zoek auto

Afbreken

Selecteer klant

0..*

Bewaren

Selecteren

andere klant

Selecteer voertuig

26-02-2010 31Gastcollege Technische Universiteit Eindhoven - 3

Page 29: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

User-Experience Storyboardscd Participants

«screen»

KlantEnVoertuig

Kilometerstand: int

Selecteren andere klant() : void

Bewaren() : void

Afbreken() : void

«screen»

SelecterenVoertuig

Selecteer voertuig() : void

$Er is niets gevonden() : void

Begin hier

Selecteer voertuig

1. Het Systeem toont SelecterenVoertuig.2. De Administratief Medewerker zoekt op basis van kenteken of merk en/of type.3. Het Systeem toont een lijst met voertuigen die aan de zoekcriteria voldoen.4. De Administratief Medewerker selecteert een voertuig.

26-02-2010 32Gastcollege Technische Universiteit Eindhoven - 3

Page 30: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Test in project van Nick• Vroeg testen, Vaak testen

– Door Nick zelf

34

Page 31: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Test bij Endeavour project

• Gestructueerd rond Use Cases

– Gaat gelijk op in de planning

• Sterke relatie

• Bij elke Use Case een Test Case

• Testen maakt gebruik van Scenario’s in de Use Case

26-02-2010 35Gastcollege Technische Universiteit Eindhoven - 3

Page 32: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010
Page 33: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Flows en Scenarios

• Eén Basic Flow

– Succesvol van start tot finish

• Meerdere Alternatieve Flows

– Reguliere varianten

– Uitzonderingen

– Fouten

• Scenario = Basic Flow + # Alt Flows

– Basic Flow

– Basic Flow + A1

– Basis Flow + A2

BF

A1A2

26-02-2010 37Gastcollege Technische Universiteit Eindhoven - 3

Page 34: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Test Case sluit aan op Use CaseHoofdflow UC <Naam>1. Het Systeem toont ….2. De Actor ….3. Het Systeem ….4. De Actor ….5. Het Systeem ….6. De Actor heeft de

mogelijkheid om:a. …. Ga verder bij stap 7b. …. Ga verder bij stap 9c. .... Voer subflow UC.SF1

uit

Alternatieve flowsA2.1 Indien De Actor… Ga verder bij stap 5A5.1 Wanneer het

Systeem… Ga verder bij stap 4A5.2 Wanneer het

Systeem… Ga verder bij stap 1A9.1 Wanneer het

Systeem… Ga verder bij stap 7A9.2 Indien het Systeem… Ga verder bij stap 11

Voorbeeld Use Case specificatie…

ID Req.ID Belang Flows Korte omschrijving

SV01 UCXX M BF Basic flow

SV02 UCXX M BF F6b BF

SV03 UCXX M BF A2.1 BF

SV04 UCXX M BF A9.2 BF

SV05 UCXX M BF A2.1 F6b BF

SV06 UCXX M SF SF1.F3a →BF Subflow eindigt voortijdig

SV07 UCXX M SF SF1.F3b → Use Case eindigt voortijdig

ID Scenario Req.

ID

Belang Regr. Ind.

Beschrijving

SC001 SV01 UCXX.01 M VBS Alleen verplichte velden ingevuld

SC002 SV01 UCXX.01 M REG Alle velden ingevuld

SC003 SV01 UCXX.01 M REG Alleen verplichte velden ingevuld

SC004 SV01 UCXX.01 M REG Niet alle verplichte velden ingevuld

Testscenario’s

Testcases

Testsuites

Testscripts

Page 35: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Insteek vandaag

• Requirements in de praktijk

– Eerst Requirements in een klein project(één software engineer in project van één week)

– Daarna Requirements in een groot project

• Requirements met Endeavour

• Aansluiting van Requirements op Architectuur, Bouw en Test

– Vragen gewoon tussendoor

– Op het einde tijd voor discussie

26-02-2010 39Gastcollege Technische Universiteit Eindhoven - 3

Page 36: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Discussie

• Is Requirements volgens jullie moeilijk?

• Is Requirements volgens jullie belangrijk?

• Kan iederen Requirements werk doen?

• Wat willen jullie nog weten van Requirements

26-02-2010 40Gastcollege Technische Universiteit Eindhoven - 3

Page 37: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Insteek vandaag

• Requirements in de praktijk

– Eerst Requirements in een klein project(één software engineer in project van één week)

– Daarna Requirements in een groot project

• Requirements met Endeavour

• Aansluiting van Requirements op Architectuur, Bouw en Test

– Vragen gewoon tussendoor

– Op het einde tijd voor discussie

26-02-2010 41Gastcollege Technische Universiteit Eindhoven - 3

Page 38: Requirements in een groot projectmvdbrand/courses/se/0910/slides/... · een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer. Insteek vandaag ... plan 26-02-2010

Vragen en Antwoorden

26-02-2010 42Gastcollege Technische Universiteit Eindhoven - 3