Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdAnnelies Brouwer Laatst gewijzigd meer dan 9 jaar geleden
1
Hugo de Groot Rik de Groot Sander Hartogensis Reinoud Karssenberg Martijn Lindhout Marcel Lindenbergh Julien Moorrees Sebastiaan Overdijk
2
Het object-geörienteerde project Het klassendiagram Object-georiënteerd programmeren Team building en rollen MVC Simulatie Routeplanning Demonstratie Toekomst van Robbie Nawoord
3
CRC sessies Oriëntatie: CRC’s, Class diagram, Eisen vaststellen Functionaliteit specificeren: Uses Cases, Scenario’s Klassenstructuur nader uitwerken: Interaction diagrams, State diagrams Code hacken / Testen Class Diagram Eisen vaststellen
4
Use cases Scenario’s Oriëntatie: CRC’s, Class diagram, Eisen vaststellen Functionaliteit specificeren: Uses Cases, Scenario’s Klassenstructuur nader uitwerken: Interaction diagrams, State diagrams Code hacken / Testen Klant moet accoord gaan.
5
Sequence Diagrams Collaboration Diagram State Diagrams Oriëntatie: CRC’s, Class diagram, Eisen vaststellen Functionaliteit specificeren: Uses Cases, Scenario’s Klassenstructuur nader uitwerken: Interaction diagrams, State diagrams Code hacken / Testen
6
Iedere groep klassen moet afzonderlijk getest worden Oriëntatie: CRC’s, Class diagram, Eisen vaststellen Functionaliteit specificeren: Uses Cases, Scenario’s Klassenstructuur nader uitwerken: Interaction diagrams, State diagrams Code hacken / Testen Systeemtest Acceptatietest Eventueel volgende increment beginnen.
7
Diagram voor laatste twee incrementen
8
Deel diagram voor 3e increment: botssensor
9
Deel diagram 3e increment: Driver en Map
10
Deel diagram voor simulatie
11
Leef je in in de klasse waar je mee bezig bent. Doel: Op een logische manier verantwoordelijkheid verdelen. Voorbeeld: “Ik ben de klasse Logboek. Met mijn method setMaxNumberOfMessages kan worden ingesteld hoeveel logboek-entry’s ik kan bevatten.”
12
Voorbeeld: Roep niet goForward() aan, maar stuur de message goForward naar jezelf: this.goForward() Noteer de code zo, dat het duidelijk is welke messages gestuurd worden. Doel:Duidelijkheid
13
Voorbeelden: Gebruik in een klasse Person niet zomaar het attribuut description, maar vraag het op via een message: this.getDescription() Benader attributen door het sturen van messages. Doel: Verantwoordelijkheid voor het opleveren van een attribuut-waarde staat op 1 plek.
14
Probeer koppelingen tussen objecten zo los mogelijk te houden. Voorbeeld: klasse Simulation : Battery simBattery = new SimulatedBattery(); this.getRobot(). setBattery(simBattery); Doel: Herbruikbare klassen Heldere verdeling van verantwoordelijkheid
15
Meerdere personen Eén doel Samenstelling verschillend Op elkaar ingespeeld zijn Verantwoordelijkheids gevoel Wat is team building?
16
Specialiteiten Taken Duidelijke afspraken Verantwoordelijkheden Het nut van verschillende rollen
17
Overal verantwoordelijk voor Afspraken maken Aanspreekpunt van de klant Plannen De rol van de projectleider Orde bewaren Uren bijhouden Niemand zijn vriend
18
incrementeel ontwikkelen bij Robbie: basisbewegingen kaart maken routebepaling reuse of code OO verder uitgewerkt
19
functionaliteit representatie Scheiding tussen:
20
ModelsViewsControllers Modellering van de werkelijkheid Representatie van de werkelijkheid Gedrag van de user-interface
23
Simulatiespecifieke implementaties Waarom simulatie?
24
Testen classes onderling interactie met de werkelijkheid zeldzame omstandigheden Minder afhankelijk van de andere groep
25
Schild
26
Wereld kennis van Robbie’s positie kennis van aanwezige objecten kennis van de grenzen
27
Accu
29
Richtingsverandering
30
Verplaatsing
31
Alle objecten op de kaart worden ingedikt De kortste route wordt berekend Indien mogelijk, volgt Robbie deze route Bij een eventuele botsing: Botsing wordt in kaart gebracht Er wordt weer overnieuw begonnen Hoe zoekt Robbie zijn weg naar een opgegeven positie?
32
Alle vrije posities markeren met afstand ‘oneindig’ Het eindpunt wordt op afstand 0 gezet Dit eindpunt wordt in een wachtrij geplaatst Voor alle punten in de wachtrij: Afstand wordt opgehaald Voor alle omliggende punten: Indien nieuwe afstand + 1 < oude afstand Afstand wordt aangepast Punt wordt in de wachtrij geplaatst Routes vlak langs objecten voorkomen als het kan Als afstand = ‘oneindig’: eindpunt onbereikbaar Bepalen van de kortste route op de kaart
34
Robbie is groter dan 1 pixel op de kaart Waarom objecten indikken? Door in te dikken verdwijnen deze te smalle gangen
35
Infrarood besturing Verkleining van de hardware Basisversie voor eerste semester studenten Ontwikkeling robot in Smalltalk Reële toekomst
36
Meerdere botssensoren voor nauwkeuriger detectie Toevoeging van andere sensoren, bijvoorbeeld een laser voor afstandsdetectie Uitbreiding intelligentie m.b.t. de kaart: Herkenning van objecten, bijv. Verplaatsbare objecten. JAVA chip op robot Commando’s geven aan robot via spraakmodule Mogelijke toekomst
37
Leerzaam voor software ontwikkeling Leerzaam voor werken in teamverband Goede toekomst voor gebruik robot: Werk te doen
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.