De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

 Hugo de Groot  Rik de Groot  Sander Hartogensis  Reinoud Karssenberg  Martijn Lindhout  Marcel Lindenbergh  Julien Moorrees  Sebastiaan Overdijk.

Verwante presentaties


Presentatie over: " Hugo de Groot  Rik de Groot  Sander Hartogensis  Reinoud Karssenberg  Martijn Lindhout  Marcel Lindenbergh  Julien Moorrees  Sebastiaan Overdijk."— Transcript van de presentatie:

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

21

22

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

28

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

33

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


Download ppt " Hugo de Groot  Rik de Groot  Sander Hartogensis  Reinoud Karssenberg  Martijn Lindhout  Marcel Lindenbergh  Julien Moorrees  Sebastiaan Overdijk."

Verwante presentaties


Ads door Google