OO analyse OO analyse
en de kunst van het en de kunst van het motoronderhoudmotoronderhoud
Frens Vonken
Frank Peeters
EXPO - NIOC 2002EXPO - NIOC 2002 22
Sleutelen!Sleutelen!
Tijd genoegTijd genoeg Onvoldoende informatieOnvoldoende informatie Voortdurende onzekerheidVoortdurende onzekerheid Kwaliteit van het resultaat is niet Kwaliteit van het resultaat is niet
kritischkritisch
EXPO - NIOC 2002EXPO - NIOC 2002 33
OO analyseOO analyse
OMT, OOA/OOD, Booch, JacobsonOMT, OOA/OOD, Booch, Jacobson Voortdurende onzekerheidVoortdurende onzekerheid Welke motor en wat zijn de Welke motor en wat zijn de
onderdelen?onderdelen?
EXPO - NIOC 2002EXPO - NIOC 2002 44
OO analyse OO analyse onderwijzenonderwijzen Oefenen vanuit Oefenen vanuit heuristiekenheuristieken Beoordelen?Beoordelen?
– Loopt de motor correctLoopt de motor correct– Zijn de juiste onderdelen Zijn de juiste onderdelen
geselecteerdgeselecteerd– Zijn de juiste verbindingen gemaaktZijn de juiste verbindingen gemaakt
UML en veel oefenen!UML en veel oefenen!
EXPO - NIOC 2002EXPO - NIOC 2002 55
Een voorbeeldEen voorbeeld
Het gaat om de uitvoering van praktijkperioden door studenten. Er Het gaat om de uitvoering van praktijkperioden door studenten. Er bestaan twee soorten praktijkperioden namelijk een stage (2 maal bestaan twee soorten praktijkperioden namelijk een stage (2 maal tijdens de opleiding) en het afstuderen (aan het einde van de tijdens de opleiding) en het afstuderen (aan het einde van de opleiding). Van elke praktijkperiode is de startdatum bekend. De opleiding). Van elke praktijkperiode is de startdatum bekend. De uitvoering van een praktijkperiode vindt bij een bedrijf plaats wauitvoering van een praktijkperiode vindt bij een bedrijf plaats waaarvan rvan de naam en het adres bekend zijn. In een bedrijf kunnen meer de naam en het adres bekend zijn. In een bedrijf kunnen meer studenten tegelijk, maar ook na elkaar hun praktijkperiode uitvoeren. studenten tegelijk, maar ook na elkaar hun praktijkperiode uitvoeren. Tijdens de uitvoering van een praktijkperiode wordt de student Tijdens de uitvoering van een praktijkperiode wordt de student begeleid door een docent. Welke studenten door een bepaalde begeleid door een docent. Welke studenten door een bepaalde docent worden begeleid wordt tijdig gepubliceerd. De docent wordt docent worden begeleid wordt tijdig gepubliceerd. De docent wordt hierin aangeduid door middel van zijn afkortinghierin aangeduid door middel van zijn afkorting,, de student door zijn de student door zijn naam en voor alle zekerheid zijn/haar identiteitsnummer . Bij het naam en voor alle zekerheid zijn/haar identiteitsnummer . Bij het afstuderen is aan het einde een afstudeervoordracht gepland op een afstuderen is aan het einde een afstudeervoordracht gepland op een bepaalde datum. Bij deze voordracht functioneert een andere dan de bepaalde datum. Bij deze voordracht functioneert een andere dan de begeleidende docent als voorzitter.begeleidende docent als voorzitter.
EXPO - NIOC 2002EXPO - NIOC 2002 66
Een uitwerkingEen uitwerking
doet
1
afkorting
Docent
0,1
0,1,2
1 0..3 3
1..*
1
1
1..*
begeleidt
bij
▲ utgevoerd bij
start
Praktijkperiode
datum
Voordracht
id, naam
Student
Begeleider
Voorzitter
naamadres
Bedrijf
door
0,1,2 ,3
0..*
1
1..*
EXPO - NIOC 2002EXPO - NIOC 2002 77
Kwaliteit en tijdKwaliteit en tijd
OnderwijsbaarOnderwijsbaar BeoordeelbaarBeoordeelbaar Goed resultaatGoed resultaat
Verbindingen voor onderdelenVerbindingen voor onderdelen
EXPO - NIOC 2002EXPO - NIOC 2002 88
EXPOEXPO
Waar begin je mee?Waar begin je mee? Grote lijn EXPOGrote lijn EXPO EXPO toegepastEXPO toegepast VerdienstenVerdiensten
EXPO - NIOC 2002EXPO - NIOC 2002 99
PrincipesPrincipes
Informatie is stabiel(er)Informatie is stabiel(er) Informatie is het fundament Informatie is het fundament
van gedragvan gedrag Validatie door Validatie door
domeinexpertdomeinexpert Aansluiting bij UMLAansluiting bij UML
EXPO - NIOC 2002EXPO - NIOC 2002 1010
Doel Doel
EXPO - NIOC 2002EXPO - NIOC 2002 1111
Verschillende Verschillende manierenmanieren
EXPO - NIOC 2002EXPO - NIOC 2002 1212
Relatie als Relatie als uitgangspuntuitgangspunt
EXPO - NIOC 2002EXPO - NIOC 2002 1313
Toestand + Toestand + GedragGedrag
Toestand van objecten
Gedrag van object
Feiten over objecten
EXPOEXPression based Object
modeling.
EXPO - NIOC 2002EXPO - NIOC 2002 1414
EXPOEXPOGrote LijnGrote Lijn
requirements
use cases
expr.analyse, constraints,
validatie
domeinbeschrijving
documentenmet
voorbeelden
klassendiagram
compositie,gedrag,
verfijning
ontwerpetc.
domein
experts
EXPO - NIOC 2002EXPO - NIOC 2002 1515
De casus: De casus: expressieanalyseexpressieanalyse Concrete expressiesConcrete expressies
Student 125426Student 125426 voert de voert de 11e stage e stage uit.uit.
Typering expressieTypering expressie
StageStage Structuur in expressieStructuur in expressie
<Student> voert de <nr : <Student> voert de <nr : Number>e stage uit.Number>e stage uit.
EXPO - NIOC 2002EXPO - NIOC 2002 1616
De casus: De casus: expressieanalyse(2)expressieanalyse(2) Concrete expressiesConcrete expressies
Student 125426Student 125426 voert het voert het afstuderen uit.afstuderen uit.
Typering expressieTypering expressie
AfstuderenAfstuderen Structuur in expressieStructuur in expressie
<Student> voert het afstuderen uit.<Student> voert het afstuderen uit.
EXPO - NIOC 2002EXPO - NIOC 2002 1717
De casus: De casus: expressieanalyse(3)expressieanalyse(3) Concrete expressiesConcrete expressies
Het afstuderen van Student 125426Het afstuderen van Student 125426 begint op begint op 12-1-200212-1-2002..
Typering expressieTypering expressie
StartdatumStartdatum Structuur in expressieStructuur in expressie
<Praktijkperiode> begint op <Praktijkperiode> begint op <Datum>.<Datum>.
EXPO - NIOC 2002EXPO - NIOC 2002 1818
GeneralisatieGeneralisatie
Praktijkperiode Praktijkperiode Stage Stage
Praktijkperiode Praktijkperiode Afstuderen Afstuderen
De casus: De casus: expressieanalyse(4)expressieanalyse(4)
EXPO - NIOC 2002EXPO - NIOC 2002 1919
<Praktijkperiode> vindt plaats bij <Praktijkperiode> vindt plaats bij <Bedrijf>.<Bedrijf>.
<Bedrijf> heeft <adres :Text>.<Bedrijf> heeft <adres :Text>.<Praktijkperiode> wordt begeleid door <Praktijkperiode> wordt begeleid door
<Docent>.<Docent>.<Student> heet <naam : Text>.<Student> heet <naam : Text>.<Voordracht> is gepland op <Datum>.<Voordracht> is gepland op <Datum>.<Docent> is voorzitter bij <Docent> is voorzitter bij
<Voordracht>.<Voordracht>.
De casus: De casus: expressieanalyse(5)expressieanalyse(5)
EXPO - NIOC 2002EXPO - NIOC 2002 2020
InformatiediagramInformatiediagram ConstraintsConstraints ValidatieValidatie Transformatie naar CDTransformatie naar CD
Volgende stappenVolgende stappen
EXPO - NIOC 2002EXPO - NIOC 2002 2121
De casus:De casus:transformatie naar CDtransformatie naar CD
0..*
start : Datum
Praktijkperiode{abstract}
1 0..10..3
1
1..*
doet begeleidt door
◄vindt plaats bij
id : Numbernaam : Text
Student
Afstuderen
nr : Number
Stage
naam : Textadres : Text
Bedrijf
afk : Text
Docent
voorzitter
0..1
0..*
datum : Datum
Voordracht◄i.v.m.
1 0..1
EXPO - NIOC 2002EXPO - NIOC 2002 2222
VervolgstappenVervolgstappen
ReductieReductie NavigatieNavigatie CompositieCompositie GedragGedrag Realisatie van use casesRealisatie van use cases
EXPO - NIOC 2002EXPO - NIOC 2002 2323
De casus: gedragDe casus: gedrag
Praktijkperiode(Bedrijf, Student, Datum)Praktijkperiode(Bedrijf, Student, Datum)getStartDatum( ) : DatumgetStartDatum( ) : DatumgetDocent( ) : DocentgetDocent( ) : Docent……setDocent(Docent)setDocent(Docent)
0..*
start : Datum
Praktijkperiode{abstract}
1 0..10..3
1
1..*
doet begeleidt door
◄vindt plaats bij
id : Numbernaam : Text
Student
naam : Textadres : Text
Bedrijf
afk : Text
Docent
EXPO - NIOC 2002EXPO - NIOC 2002 2424
De verdiensten De verdiensten van EXPOvan EXPO expressieanalyse is leerbaarexpressieanalyse is leerbaar expressieanalyse is onderwijsbaarexpressieanalyse is onderwijsbaar toewijzing van gedrag is eenvoudig toewijzing van gedrag is eenvoudig lage koppeling en hoge cohesielage koppeling en hoge cohesie validatie d.m.v. validatie d.m.v.
gebruikersparticipatiegebruikersparticipatie proces is beter beheer(s)baarproces is beter beheer(s)baar snellersneller
EXPO - NIOC 2002EXPO - NIOC 2002 2525
BoekBoekObjectgeoriObjectgeoriëënteerde domeinanalysenteerde domeinanalyse
Frank Peeters, Frens VonkenFrank Peeters, Frens Vonken
Academic Service, 2001Academic Service, 2001
isbn 90 395 1579 4isbn 90 395 1579 4
[email protected]@toccata.nl
[email protected]@fontysfontys..nlnl
EXPO - NIOC 2002EXPO - NIOC 2002 2626
Bepaal potentiële klassen door:
• De zelfstandigenaamwoorden uit de probleembeschrijving te selecteren;
•Te bedenken wat klassen kunnen zijn op basis van kennis van het applicatiedomein;
•Te bedenken wat klassen kunnen zijn op basis van algemene kennis.
Maak een selectie uit potentiële klassen door de volgende klassen te verwijderen:
•redundante klassen (klassen die synoniem lijken met ander klassen);
•irrelevante klassen (klassen die buiten het probleemdomein liggen);
•vage klassen (klassen waarvan de betekenis niet helder is);
(terug)
OMT heuristieken