woensdag 21 november 2007

OOP terminologie

Begrip 1: Abstract class (Generalisatie)

Een typische vorm van Generalisatie in een Abstract class betrekt de Personal customer en een Corporate customer van een bedrijf. Ze hebben verschillen maar ook overeenkomsten. De overeenkomsten kunnen geplaatst worden in een general Customer class (het supertype), met Personal Customer en Corporate Customer als subtypes.

Als we naar software kijken dan is de voor de hand liggende interpretatie Inheritance: De Corporate Customer is een subklasse van Customer. In hoofdstroom OO talen, erft de subklasse al de features van de superklasse en kan elke superklasse methodes overnemen.

Om het begrip uit te leggen aan de hand van een voorbeeld gebruik ik een situatie in kledingbedrijf H&M. De Customer vertegenwoordigd alle klanten.

De Corporate customer is een klant die goed bekend is bij het bedrijf door bijvoorbeeld in het verleden veel online besteld te hebben aan kleding. De gegevens van de klant zijn bekend bij het bedrijf. Tevens weten ze ook dat deze klant veel geld uitgeeft. De Personal customer is een klant die gewoon even binnen komt lopen en een shirtje voor 10 Euro koopt en dit niet regelmatig doet.

Ze hebben de overeenkomst dat ze beide kopen. Het verschil zit in de hoeveelheid aankopen die ze doen. Samen vormen ze de Customer class.

dinsdag 13 november 2007

goed gebruik/voorbeeld van 'dynamische interface' techniek

1. Criteria voor het goede gebruik van een “dynamische interface” techniek
  • Er moet vanzelfsprekend veel beweging in de interface voorkomen.
  • Objecten moeten kunnen worden versleept en neergezet worden.
  • Een onderdeel moet met met de muis op het scherm kunnen worden vastgepakten naar een andere plaats worden gesleept door met de muis te bewegen.
  • Tijdens het slepen blijft het opgepakte onderdeel zichtbaar.
  • Na het loslaten is het opgepakte onderdeel op de neergezette plek zichtbaar.
  • Je moet items van volgorde kunnen veranderen en zo je eigen navigatie samenstellen.
  • platform onafhankelijk.
  • In één pagina gebeurd alles, je hoeft niet steeds te refreshen.
  • het moet zeer gebruiksvriendelijk zijn.
  • kortom je moet in de interface kunnen "editen".
2. Site/ applicatie, die mij aanspreekt door een feature
Om te beginnen met iets simpels ben ik op zoek gegaan naar een basic drag and drop applicatie(spelletje). Door onderdelen naar een soort kleurplaat van een bloem te slepen en daar neer te zetten krijg je uiteindelijk de complete gekleurde bloem. http://www.horus.ics.org.eg/en/FunCorner/dragdrop.aspx

3. De feature
Dit is een goed voorbeeld van een dynamic interface met drag and drop, omdat er allereerst beweging in de interface zit. De onderdelen kunnen versleept en neergezet worden. Kortom het voldoet aan al mijn bovengenoemde criteria.

4. Beschrijfving van de feature “Technische Verslag”

1. Student
1.1 Yves Nix

1.2 Verdiepingsjaar 1 2007/2008
1.3 504835
1.4 Dynamic Interfaces

1.5 Niels Wolf

2. Algemeen
2.1 Naam Techniek Drag and drop
2.2 Metadata
http://www.horus.ics.org.eg/en/FunCorner/dragdrop.aspx
2.3 Doelgroep

De app is zeer gebruiksvriendelijk en is daarom bedoelt voor jonge kinderen die een spelletje willen spelen.
2.4 Samenvatting Techniek

Om te beginnen met iets simpels ben ik op zoek gegaan naar een basic drag and drop applicatie(spelletje). Door onderdelen naar een soort kleurplaat van een bloem te slepen en daar neer te zetten krijg je uiteindelijk de complete gekleurde bloem.

3. Functioneel Omschrijving
3.1 Doel van de techniek

De techniek wordt in dit geval ingezet om het spelletje mogelijk te maken. In het algemeen wordt drag and drop ingezet om objecten te verslepen en neer te zetten, om te editen in de interface.
3.2 Alternatieven

Er zijn heel veel alternatieven die allemaal hetzelfde doel bereiken, zoals bijvoorbeeld http://kids.earth.nasa.gov/games/toms/ en www.prongo.com/drag/game.html

3.3 Interface


3.4 Usecases (maak een aantal typische usecases voor de gevonden applicatie)

1. De gebruiker selecteert het spel.

2. De gebruiker pakt een willekeurig onderdeel van de bloem.
3. Het onderdeel wordt naar de bloem versleept en neergezet.
4. Uiteindelijk is de bloem compleet.

3.5 Voorbeelden van functionele toepassingen (kan je nog andere toepassingen verzinnen voor de gevonden technieken)

4. Technisch Omschrijving

4.1 Randvoorwaarden
Internetverbinding en macromedia shockwave player

4.2 Werking
Het werkt met een heel simpel script (Actionscript) waar een swf uit onstaat. Je zit weliswaar in een flash movie te slepen.

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)



Case study: Koffie Automaat van de HvA

1. Analyse

De gebruiker heeft zin in een kop koffie en steekt zijn pas in de koffieautomaat. De display van de koffieautomaat geeft het saldo van de pas aan. Indien het saldo ontoereikend is zal het display aangeven dat er niks gekocht kan worden. Wanneer er voldoende geld op de pas staat verschijnt het hoofdmenu waar je kunt kiezen uit o.a. koffie, cappuccino en espresso. Vervolgens wordt het submenu geopend waar de keuze bestaat uit het extra toevoegen van suiker en/of melk. Ook kan de sterkte van de koffie worden ingesteld.
Uiteindelijk wordt je kopje koffie door de automaat gezet en het bedrag wordt van het saldo van je pasje afgeschreven. Je pasje en de koffie kan je uit de automaat nemen en weggaan.

2.1 Hoofd en werkwoorden

De gebruiker heeft zin in een kop koffie en steekt zijn pas in de koffieautomaat. De display van de koffieautomaat geeft het saldo van de pas aan. Indien het saldo ontoereikend is zal het display aangeven dat er niks gekocht kan worden. Wanneer er voldoende geld op de pas staat verschijnt het hoofdmenu waar je kunt kiezen uit o.a. koffie, cappuccino en espresso. Vervolgens wordt het submenu geopend waar de keuze bestaat uit het extra toevoegen van suiker en/of melk. Ook kan de sterkte van de koffie worden ingesteld.
Uiteindelijk wordt je kopje koffie door de automaat gezet en het bedrag wordt van het saldo van je pasje afgeschreven. Je pasje en de koffie kan je uit de automaat nemen en weggaan.

2.2 Revisited lijst van objecten

  • Gebruiker
  • Pas
  • Koffieautomaat
  • Display
  • Saldo
  • Hoofdmenu
  • Kiezen
  • Koffie
  • Cappucino
  • Espresso
  • Suiker
  • Melk
  • Instellen
  • Bedrag
  • Afschrijven
  • Nemen

3. Use Case

Koffie kopen bij koffieautomaat
Omschrijving: Volgorde van handelingen tijdens het kopen van koffie bij een koffieautomaat.
Pre-conditions: Gebruiker heeft zijn pas in de koffieautomaat, gebruiker heeft credit op zijn pasje.
Main Success Scenario:

  1. Gebruiker steekt zijn pas in de HVA koffieautomaat.
  2. De automaat leest hoeveel saldo er nog op de pas staat.
  3. Gebruiker maakt in het hoofdmenu keuze uit drie verschillende warme dranken.
  4. Gebruiker stelt de sterkte van koffie in en kiest voor suiker en/of melk.
  5. De koffie wordt door de automaat gezet.
  6. Het bedrag wordt van het saldo van de gebruiker zijn pas afgeschreven.
  7. De gebruiker neemt zijn pas en koffie uit de automaat en gaat weg.

4. CRC kaart

Responsibilities Collaborations

Pas:

  • Checkt het tegoed van de HVA- pas.

Saldo:

  • Geeft het tegoed van de pas weer

Gebruiker:

  • Start de koffieautomaat door pas erin te steken.
  • Maakt keuze.
  • Neemt de pas uit de automaat.
Koffieapparaat:
  • Vraag om pasje van de gebruiker.
  • Waarde van de pas (saldo).
  • Laat hoofdmenu zien.
  • Laat submenu zien.
  • Schrijf bedrag af.


·