dinsdag 8 januari 2008

Actionscript applicatie m.b.t. gekozen feature.

Als laatste opdracht was het de bedoeling een applicatie in Action script te maken m.b.t. je gekozen feature.

Als feature heb ik de 9292ov reisplanner gekozen. Wat ik daarbij als toevoeging wilde maken was een autocompleter voor het invullen.

Uiteindelijk is dit gelukkig ook gelukt. De applicatie is ingebouwd in de 9292ov website. De website zelf werkt alleen niet, maar is ter ondersteuning van de eigen gebouwde feature. Deze werkt dan natuurlijk ook wel.

De applicatie is hier te vinden:
http://levi.pimz.com/dynamicinterface/

De broncode is hier te vinden:
http://levi.pimz.com/dynamicinterface/broncode.doc

De website en bijbehorende file's staan hier:
http://levi.pimz.com/dynamicinterface/autocompleterNSsite.zip

maandag 10 december 2007

Opdracht 5 - Lijst Technische Onderdelen

Lijst Technische Onderdelen.
- XML bestand inladen.
- Zoeken in XML.
- Vergelijken in XML.
- Dropdown tijdens toetsen.
- Evt. scrollbar.

Lijst Prioriteiten.
- Must Have: XML bestand inladen.
- Must Have: Zoeken in XML.
- Must Have: Vergelijken in XML.
- Should Have: Dropdown tijdens toetsen.
- Should Have: Evt. scrollbar.

Opdracht 4 - Nieuw Design Feature

Een nieuw design van je feature.
Als extra toepassing voor mijn feature, ga ik een “auto-completer” maken. Als je dan bv. “amster” hebt ingevuld, dan geeft het systeem de aanwezige opties die erbij passen. In dit geval zou dit “Amsterdam” worden, en misschien als tweede optie “Amsterdam Sloterdijk”.

Omdat deze toevoeging “onzichtbaar” wordt toegevoegd, maak ik geen verandering aan het originele design. Een reden om het design ook niet aan te passen, is dat de doelgroep nu al bekend is met het huidige design. Een verandering zou deze bekendheid kunnen storen waardoor ook minder mensen de site zullen bezoeken. Om dit tegen te gaan kies ik er dus voor om het design origineel te laten.

Originele design:

Opdracht 3 - Analyse Feature

1. Beschrijf in non-technische termen de werking van je dynamic interface feature.
- De feature zorgt ervoor dat je een Reis kan plannen van A naar B, met het Openbaar Vervoer.
- Je begint bij het invullen van alle “Van” gegevens.
- Je kunt eerst kiezen of je vanaf een Adres wilt vertrekken, of een Station.
- Daarna kun je kiezen of je evt. anders wilt reizen (Vanaf stadion, ziekenhuis, museum enz.).
- Als je voor Adres kiest, dan moet je eerst een “Van Straat” en “Huisnr” invullen.
- Vervolgens voer je een “Van Plaats” in.
- Als je voor “Van” “Station” hebt gekozen hoef je enkel het “Station” in te vullen.
- Nu moet je de “Naar” gegevens invullen.
- Je kunt eerst kiezen of je naar een Adres wilt reizen, of een Station.
- Daarna kun je kiezen of je evt. anders wilt reizen (Naar stadion, ziekenhuis, museum enz.).
- Als je voor Adres kiest, dan moet je eerst een “Naar Straat” en “Huisnr” invullen.
- Vervolgens voer je een “Naar Plaats” in.
- Als je voor “Naar” “Station” hebt gekozen hoef je enkel het “Station” in te vullen.
- Erna kun je nog aangeven op welke “Datum” je wilt reizen.
- Erna kun je nog een gewenste “Tijd” aangeven.
- Als laatste mogelijkheid kies je dan nog of de ingevulde tijd een “Vertrek” tijd is, of dat het een “Aankomst” tijd is.
- Nu is de gebruiker klaar en kan hij klikken op: “geef reisadvies”.

2. Gebruik deze beschrijving als requirements, en uitgangssituatie voor je analyse.
Lijst Objecten:
- Feature.
- Gebruiker.
- Reis.
- Systeem.
- Openbaar vervoer.
- Van gegevens.
- Van Adres.
- Van Station.
- Van Anders.
- Van Adres.
- Van Huisnr.
- Van Plaats.
- Naar gegevens.
- Naar Adres.
- Naar Station.
- Naar Anders.
- Naar Adres.
- Naar Huisnr.
- Naar Plaats.
- Datum.
- Tijd.
- Vertrek.
- Aankomst.
- Geef reisadvies.

Lijst Tasks:
- Tonen van formulier.
- Invullen “Van gegevens”.
- Kiezen “Van Adres”.
- Kiezen “Van Station”.
- Kiezen “Van Anders”.
- Invullen “Van Adres”.
- Invullen “Van Huisnr”.
- Invullen “Van Plaats”.
- Invullen “Naar gegevens”.
- Kiezen “Naar Adres”.
- Kiezen “Naar Station”.
- Kiezen “Naar Anders”.
- Invullen “Naar Adres”.
- Invullen “Naar Huisnr”.
- Invullen “Naar Plaats”.
- Verwerken gegevens.
- Tonen opgevraagde gegevens.

3. Gebaseerd op je analyse beschrijf je je dynamic interface feature in een (of meerdere) class diagram.
Systeem.
Eigenschappen:
Aanwezige vertrek plaatsen:_________ Varchar.
Aanwezige aankomst plaatsen::_______ Varchar.
Acties:
Tonen formulier::_________________Boolean.
Verwerken gegevens::______________Boolean.
Tonen opgevraagde gegevens::________Boolean.

Gebruiker.
Eigenschappen:
Reisdoel::_______________________Varchar.
Acties:
Invullen “Van Gegevens”:____________Varchar.
Invullen “Naar Gegevens”: ___________Varchar.
Kiezen “Datum”:__________________ Date.
Kiezen “Tijd”:____________________ Time.
Kiezen “Aankomst” of “Vertrek”:______ Boolean.
Klikken “Geef Reisadvies”:___________ Boolean.

Opdracht 2 - Class Diagram

Class Diagram - Koffie Automaat (in tekst).
Automaat.
Eigenschappen:

Display:_______________________Char.
Aanwezige dranken:_______________Char.
Aanwezige toevoegingen:___________Char.
Aanwezige bekers:________________Char.
Acties:
Check pas: _____________________Boolean.
Check saldo: ____________________Boolean/ Integer.
Check dranken: __________________Boolean.
Show dranken: __________________Char.
Sterkte drank: __________________Integer.
Check toevoegingen: ______________Boolean/ Ineger.
Show toevoegingen: ______________Char.
Sterkte toevoeging: ______________Integer.
Bevestiging: ___________________Boolean.
Check bekers: __________________Boolean.
Geef beker: ____________________Boolean.
Vul beker: _____________________Boolean.
Vernieuw saldo: _________________Integer.
Vernieuw hoeveelheid dranken,
toevoegingen en bekers: ___________Integer.
Geef bevestiging: ________________Boolean.

Gebruiker.
Eigenschappen:
Betaalpas: _____________________Boolean.
Acties:
Voer betaalpas in. _______________ Boolean.
Kies drank. ____________________Char.
Kies sterkte drank. ______________ Integer.
Kies toevoeging. ________________ Char.
Kies sterkte toevoeging. ___________Integer.
Bevestig gekozen drank. ___________Boolean.
Pak drank. ____________________ Boolean.
Pak betaalpas. __________________Boolean.

Betaalpas.
Eigenschappen:
Saldo: _____________________Integer.
Geldigheidsduur: _____________Integer.
Acties:
Betalen: ___________________ Integer.

Class Diagram - Koffie Automaat (in beeld).

Opdracht 2 - Metafoor

Begrip - Generalisatie (Inheritance).
Overerving: binnen een klasse, verkrijg je de eigenschappen van een superklasse.

Metafoor: Ik zie dit als het krijgen van een kind. Een ouder geeft veel eigenschappen (DNA) door aan het kind.

woensdag 5 december 2007

Opdracht 1 - Goede interface

Week 1 – Wat is een goed voorbeeld van 'dynamsich interface' techniek?

1) Beschrijf de criteria, die jij hanteert voor het waarderen van een goed gebruik van een “dynamisch interface” techniek.
Je kan duidelijk zien waar je bent.
Je kan snel terug naar het begin.
Het is overzichtelijk.
Je kan fouten makkelijk herstellen.

2) Ga op zoek naar een site/ applicatie, dat je aanspreekt door een feature niet door het design.
http://www.9292ov.nl

3) Probeer de feature te benoemen en schrijf in enkele zinnen, waarom uit jouw zicht, dit een goed voorbeeld is van een 'dynamisch interface' techniek.
De feature vertelt je hoe, en hoe laat je moet reizen als je met het openbaar vervoer reist. Je kan dan aangeven vanaf waar je reist, en hoe laat. De feature rekent dan een bepaalde route uit, en geeft aan hoe je deze moet doorlopen.

Ik vind dit goed werken omdat je het ook makkelijk kan gebruiken als je het nog nooit hebt gebruikt. Je kan het gebruiken met een minimale computer kennis zeg maar. Het spreekt allemaal voor zichzelf.

4) Beschrijf de feature met behulp van het “Technische Verslag” (te vinden als pdf onder “Materiaal”).
1. Student.
1.1 Naam (voorletter en achternaam).
L. Camijn.

1.2 Studiejaar.
Studie jaar 2.

1.3 Studenten nummer.
508549.

1.4 Vak (zo als vermeld in de manuaal).
Dynamic Interfaces.

1.5 Docent.
Niels Wolf.


2. Algemeen.
2.1 Naam Techniek.
9292ov reisplanner.

2.2 Metadata (url, author, datum [, versie, status]).
UR: http://www.9292ov.nl/
Author: 9292ov.nl.
Datum: 5-12-2007.

2.3 Doelgroep(en) (voor wie is de applicatie bedoelt).
De applicatie is bedoeld voor mensen die met het openbaar vervoer reizen. De leeftijd daarbinnen is erg breed. Je zou kunnen zeggen alle leeftijden, behalve de jongste en oudste onder ons. Ik denk daarom dat de doelgroep mannen en vrouwen zijn tussen de 12 en 70.

2.4 Samenvatting Techniek (wat doet de applicatie en waarom heb je ervoor gekozen).
Wat de techniek doet, is alle ingevoerde data vergelijken met de data in de database. De applicatie kijkt dan wat de beste mogelijkheid is, en geeft deze vervolgens weer op het scherm.

Ik heb hiervoor gekozen omdat het op het oog een wat simpele applicatie lijkt. Alleen onder deze simpele web applicatie zit wel een erg technische applicatie. De werking van de applicatie zou ook nog wel eens moeilijker kunnen zijn dan je in eerste instantie denkt. Om deze reden vind ik het een interessante feature.

3. Functionele Omschrijving.
3.1 Doel van de techniek (waarvoor wordt de techniek ingezet).
De techniek wordt gebruikt om reizen uit te stippelen voor reizigers met het openbaar vervoer.

3.2 Alternatieven (kan hetzelfde doel ook anders bereikt worden).
Je zou eerst het kunnen oplossen als je eerst een “list” geeft met alle vertrek plaatsen, en vervolgens alle aankomst plaatsen. Het voordeel hiervan is, is dat je niet hoeft aan te geven dat je vanaf een station wilt reizen, of dat je vanaf een stad wilt reizen. Het nadeel is wel dat je een hele lange lijst krijgt waardoor het zoeken wat lang duurt.

3.3 Interface (maak van elk 'screen' een overzicht van de user_interface).






Hier kunt u gegevens invullen over vertrek adres en aankomst adres. Zo kan een OV route worden uitgestippeld.

U kunt evt. ook een vertrek, of aankomst tijd invullen.














Hier worden tot slot de gevonden gegevens getoond.








3.4 Usecases (maak een aantal typische usecases voor de gevonden applicatie).
Omschrijving: Volgorde acties: OV Reisplanner.

Pre-conditions: De gebruiker weet waarvandaan hij moet reizen, en waar hij naartoe wilt. Hij wilt vandaag reizen van zijn huis, naar het huis van een kennis.

Main Succes Scenario:
1. Gebruiker voert “Van” straat in.
2. Gebruiker voert “Van” huisnummer in.
3. Gebruiker voert “Van” plaats in.
4. Gebruiker voert “Naar” straat in.
5. Gebruiker voert “Naar” huisnummer in.
6. Gebruiker voert “Naar” plaats in.
7. De gebruiker vind de gegeven datum en vertrek tijd goed.
8. De gebruiker klikt op: “geef reisadvies”.

Omschrijving: Volgorde acties: OV Reisplanner.

Pre-conditions: De gebruiker weet waarvandaan hij moet reizen, en waar hij naartoe wilt. Hij wilt morgen van het station dicht bij zijn huis, naar station Amsterdam Centraal reizen. De gebruiker weet ook hoe laat hij wilt aankomen.

Main Succes Scenario:
1. De gebruiker kiest voor de optie: “Van Treinstation”.
2. De gebruiker voert het station van vertrek in.
3. De gebruiker kiest voor de optie: “Naar Treinstation”.
4. De gebruiker voert het station van aankomst in.
5. De gebruiker kiest voor de datum van morgen.
6. De gebruiker voert de gewenste aankomst tijd in.
7. De gebruiker kiest voor de optie: “Aankomst”.
8. De gebruiker klikt op: “geef reisadvies”.

3.5 Voorbeelden van functionele toepassingen (kan je nog andere toepassingen verzinnen voor de gevonden technieken).
Navigatie systemen, wandelroutes, fietsroutes.


4. Technisch Omschrijving.
4.1 Randvoorwaarden (wat zijn de eisen van de applicatie aan de cliƫnt).
- De gebruiker moet weten waar hij naartoe moet en vandaan vertrekt.
- De gebruiker moet kunnen lezen en schrijven.

4.2 Werking (vind uit hoe de gevonden techniek werkt, eventueel met snippets broncode).


4.3 Technische specs/ kengetallen.


4.4 Gerelateerde technieken (welke technieken werken met deze samen of heb je gebruikt om deze techniek te onderzoeken, bronnen, etc).
Voor het onderzoeken van deze techniek en de feature heb ik gezocht op internet. Daarin heb ik het meest gebruik gemaakt van Google.

Verder heb ik gebruik van gemaakt van mijn eigen kennis over website’s en andere applicaties.

Verder werkt de applicatie op zichzelf met behulp van PHP, MySql en natuurlijk HTML. MySql om de gewenste gegevens uit de database te halen, en PHP om deze gegevens te verwerken en via HTML op de pagina te tonen.