Requirements in een groot project Gastcollege Technische Universiteit Eindhoven Harry Nieboer
Requirements in een groot project
Gastcollege
Technische Universiteit Eindhoven
Harry Nieboer
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
Requirements in project van Nick• Visie
– Probleembeschrijving
– Oplossingbeschrijving
– Stakeholders
– Ondersteunde taken
• Later ook:
– Alternatieven en foutafhandeling bij ondersteunde taken
3
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
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
Use-Case lifecycle
Discovered
Outlined
Briefly Described
FullyDescribed
Use Case
specificaties
Use Case
model
26-02-2010 6Gastcollege Technische Universiteit Eindhoven - 3
Discovered
Use Case
model
Use-Case lifecycle
Discovered
Briefly Described
Use Case
specificaties
Use-Case lifecycle
?
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
Discovered
Outlined
Briefly Described
FullyDescribed
Use-Case lifecycle
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
Het project van Nick• Opdrachtnemer Nick
• Software Engineer
• 12 jaar ervaring
• Werkt het liefst alleen
• Project Management
• Requirements
• Architectuur en Design
• Test
• ....
13
Een project met meer mensen
Project Management
Requirements
Development
TestArchitectuur
Business
Beheer
26-02-2010 14Gastcollege Technische Universiteit Eindhoven - 3
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
• Architectuur
– Eenvoudig, Client/Server
– Schets
Architectuur in project van Nick17
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
Logische Solution Architectuur
26-02-2010 19Gastcollege Technische Universiteit Eindhoven - 3
Use Case Realisatie
26-02-2010 20Gastcollege Technische Universiteit Eindhoven - 3
Analysis / LSA
26-02-2010 21Gastcollege Technische Universiteit Eindhoven - 3
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
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
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
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
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
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
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
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
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
Test in project van Nick• Vroeg testen, Vaak testen
– Door Nick zelf
34
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
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
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
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
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
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
Vragen en Antwoorden
26-02-2010 42Gastcollege Technische Universiteit Eindhoven - 3
Bedankt
• Harry [email protected]
http://nl.linkedin.com/in/harrynieboer
• Evelien [email protected]
http://nl.linkedin.com/pub/evelien-van-den-berg-frederiks/0/559/5b5
26-02-2010 43Gastcollege Technische Universiteit Eindhoven - 3