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

Slides:



Advertisements
Verwante presentaties
Les 2 klassediagrammen II
Advertisements

Use Case Modelling.
Sequence Diagrammen & Toestandsdiagrammen
1 Motion Planning (simpel) •Gegeven een “robot” A in een ruimte W, een verzameling obstakels B, en een start en doel positie, bepaal een beweging voor.
Programmeren in Java met BlueJ
AGGN punniken for Dummies
OOS Object geOrienteerd Software-ontwerp - 3
Software Architectuur Over de samenhang der dingen = Over de connecties tussen componenten Over de afhankelijkheden tussen modules Over de belangen van.
How to avoid being a code monkey ? Peter Vantieghem 18/6/2013.
Door: Marvin Peters & Frank van Esch
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 1.
Van domeinklasse tot implementatie
Simulatie van gedistribueerde voetbalstrategieën Tim Vermeulen Promotor: dr. Katja Verbeeck Copromotoren: ing. Tony Wauters, ing. Koen Vangheluwe, Opdrachtgever:
Hoofdstuk 4 Globale structuur van een project
Kwaliteit en betrouwbaarheid van simulaties ir. Rudolf van Mierlo Efectis Nederland BV.
iCafe Erasmushogeschool Brussel
COMPETENTIEONTWIKKELING
Vergaderen en notuleren
Ontwerpen van Informatiesystemen met
Interaction diagrams: Sequence Diagram
Projectmanagement Week 5 8 maart 2010
1 Voorwaarden hergebruik Modulair ontwerp Low coupling High cohesion.
Hoofdstuk 14 Effectieve teams samenstellen
Designing Knowledge Systems b Hoofdstuk 11 van Knowledge Engineering and Management. The CommonKADS Methodology. b A.Th. Schreiber, J.M. Akkermans, A.A.Anjewierder,
Practicum I&M College deel 1
Motion planning with complete knowledge using a colored SOM Jules Vleugels, Joost N. Kok, & Mark Overmars Presentatie: Richard Jacobs.
Proces en Product.
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
Informatieanalyse.
Hoofdstuk 2 Objectgeoriënteerde basisbegrippen. Accessors en polymorfie zGoede gewoonte voor objectgeoriënteerde programma -> voor alle eigenschappen:
T TNO Bouw Hans Schevers, Promovendus Productmodellen in de bouw.
Informatiesystemen in de Bouw
C/S varianten s /CSpaginas/
Module 7 – Hoofdstuk 3 Unified Modeling Language.
LauwersCollege Buitenpost Informatica
OOS Object geOrienteerd Software-ontwerp - 2
Erasmushogeschool Brussel Naim Ben Tanfous Stef De Spiegeleer Joeri Verdeyen iCafe Een digitaal bestelsysteem voor de horeca. 2de zittijd.
Eindproject informatica
Overerving: It’s a kind of magic…. Principes van OO: 1) Overerving 2) Encapsulatie 3) Polymorphisme = (deel van het) OO. paradigma.
Introductie tot GoF patterns in Java
Animatie nAnimatie: “tekenfilm” programma toont automatisch veranderende beelden nGemakkelijk te programmeren met gebruik van de klasse Thread “draadje”
Hoofdstuk 11.3 Algoritmen: Zoeken in een netwerk.
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
Loopbaan oriëntatie en begeleiding
Theresialyceum. OriëntatieTheorievormingOntwerpplanExperimentVerwerkingRapportagePresentatie Onderzoekscyclus Experiment.
Java Objectgeoriënteerd Programmeren in Java met BlueJ
UML 1. Use cases1. Use cases. Het probleem: Hoe inventariseer ik wensen en eisen voor mijn project? Hoe leg ik ze vast? Hoe geef ik vorm en structuur.
Week 3 Skills DoD (Definition of done) en Burn down chart Kwartaal 3: 2014/2015.
Grafentheorie Graaf Verzameling knopen al dan niet verbonden door takken, bijv:
praktijk project ouderbetrokkenheid
Niets is wat het lijkt.
KOP/MINOR Thema klassenmanagement/ orde in de klas
Eigen klassen maken A new way of thinking.. Wat? Zie voorbeeld. Zie voorbeeld.
Project vvv Wo2 GEMAAKT DOOR BEAU,QUINT,MIKE. Hoofdstukken: Onderzoek naar fiets & wandel routes. Onderzoek naar QR-codes Onderzoek naar plaatsen & regio’s.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Bespreking testpracticum.  Javaconventies! ◦ KlasseNamen beginnen met Hoofdletter ◦ objectNamen/methodeNamen met kleine letter  Aanspreken GUI ◦ Zie.
Rob Goossens Komende lessen Werkomschrijving, werkplan en werkplanning.
Projectplan en fasering BGT regio Nijmegen
Rob Goossens Het Werkplan.
Objectgeoriënteerd Programmeren
Cursus 1.1 Werken met Kaarten Klas 1 KGT Lesweek 4
Wij zijn FLEX Finn Megan Anouk Nina
Het virtuele punt Stel je voor, je bent een hele grote kaart;
Leerwerkplan EM2X Daphne Keller.
ASP.NET MVC Web Development
Software Development fundamentals
Hoofdstuk 1 groepen/rollen
Software Development fundamentals
Software Development fundamentals
Unified Modeling Language
Transcript van de presentatie:

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

Het object-geörienteerde project Het klassendiagram Object-georiënteerd programmeren Team building en rollen MVC Simulatie Routeplanning Demonstratie Toekomst van Robbie Nawoord

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

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.

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

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.

Diagram voor laatste twee incrementen

Deel diagram voor 3e increment: botssensor

Deel diagram 3e increment: Driver en Map

Deel diagram voor simulatie

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.”

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

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.

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

Meerdere personen Eén doel Samenstelling verschillend Op elkaar ingespeeld zijn Verantwoordelijkheids gevoel Wat is team building?

Specialiteiten Taken Duidelijke afspraken Verantwoordelijkheden Het nut van verschillende rollen

Overal verantwoordelijk voor Afspraken maken Aanspreekpunt van de klant Plannen De rol van de projectleider Orde bewaren Uren bijhouden Niemand zijn vriend

incrementeel ontwikkelen bij Robbie: basisbewegingen kaart maken routebepaling reuse of code OO verder uitgewerkt

functionaliteit representatie Scheiding tussen:

ModelsViewsControllers Modellering van de werkelijkheid Representatie van de werkelijkheid Gedrag van de user-interface

Simulatiespecifieke implementaties Waarom simulatie?

Testen classes onderling interactie met de werkelijkheid zeldzame omstandigheden Minder afhankelijk van de andere groep

Schild

Wereld kennis van Robbie’s positie kennis van aanwezige objecten kennis van de grenzen

Accu

Richtingsverandering

Verplaatsing

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?

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

Robbie is groter dan 1 pixel op de kaart Waarom objecten indikken? Door in te dikken verdwijnen deze te smalle gangen

Infrarood besturing Verkleining van de hardware Basisversie voor eerste semester studenten Ontwikkeling robot in Smalltalk Reële toekomst

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

Leerzaam voor software ontwikkeling Leerzaam voor werken in teamverband Goede toekomst voor gebruik robot: Werk te doen