Inhoudstafel 1.Inleiding 2.Ontwerp: 2.1 Prioriteiten 2.2 Structuur 2.3 Soorten functie 2.4 UseCases 2.5 UML-diagram & uitwerking 3. Implementatie
GeoSport: combinatie GPS-technologie en sport ~Uitgangspunt: gegevens op TrackStick ~Opdracht: maken van website, compleet met: -analyse -visualisatie -sociale functie
Mogelijkheden van gebruiker: ~eigen account & profiel ~opslag Runs ~weergave route op kaart + grafieken ~sociaal: *zoekfunctie voor routes en gebruikers *uitdagen van medegebruiker *vormen van groepen
Hoe te werk gaan? Waarmee beginnen? =>volgens aflopende prioriteit! Hoogste: -upload van gegevens -registratie en login van gebruiker -weergave en verwerking van gegevens Middel: sociale functie: groepen & uitdagingen Laagste: persoonlijk advies & coaching
Structuur van de site (verticaal) ->3 delen CLIENT: interactie met gebruiker mbv GWT SERVER: verwerking van gegevens DATABASE: opslag van gegevens (MySQL)
Verscheidenheid functionaliteit: =>3 delen met ander materiaal UserService: gegevens gebruikers RunService: gegevens ‘Run’ =tabellen met coördinaten SocialService: challenges
Systeem is complex! welk deel doet wat wanneer taak wordt uitgevoerd? =>UseCases maken per taak =>beschrijft functionele benodigdheden van het systeem als geheel uit perspectief van buitenstaander =>vermeldt ‘actors’ en preconditie
Uittekenen van UML-diagram =gedetailleerde structuur van site =>alle functies en alle klassen met bijhorende velden per component =>verwantschappen tussen verschillende componenten + Uitwerking alle opgeschreven klassen & methodes : naamgeving, mee te geven parameters en uitleg
Speciale ontwerpbeslissingen Zo weinig mogelijk velden: andere uit deze velden laten berekenen Speciale velden voor Track 2 ≠get methodes voor info over User ≠ methodes voor controleren username en passwoord
3. Implementatie
Implementatie: met programmeertaal Java in ontwikkelingsomgeving Eclipse Basisklassen: User, Run, Track,… ->worden door bijna alle methodes gebruikt Run ≠ Track Run wordt gelopen op een track Track bevat geen info over snelheid, niet eigen aan ‘user’ !!!Geen overerving tussen beiden!!!
matchingTracks Vergelijkt binnenkomende ‘run’ met bestaande trajecten ~6 criteria: lengte; zwaartepunt; N,W,O,Z-punt ~retourneert lijst met tracks gebruiker beslist of track al gelopen is
calculatingDifficulty -Wat?: berekent score per traject die moeilijkheidsgraad aangeeft ~3 factoren: lengte, hoogtemeters & gemiddelde hoogte !!!2 verschillende methodes: fietser & loper!!! -Doel: gebruiker gegronde keuze laten maken