I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen?...

24
INFORMATIEANALYSE klassediagram I

Transcript of I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen?...

Page 1: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

INFORMATIEANALYSEklassediagram I

Page 2: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

AGENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil tussen object en klasse Associatie Multipliciteit Klassendiagram Generalisatie en overerving Commentaar

Page 3: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

OBJECT (INSTANTIE) I

Een object is iets dat een zelfstandig bestaan leidt; Kan worden gezien als een zelfstandig iets. Is voor andere objecten in zijn omgeving belangrijk

vanwege de diensten die het voor zijn omgeving kan uitvoeren;

Page 4: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

OBJECT (INSTANTIE) II

Een object of instantie kan op verschillende manieren worden getekend:1. Als een rechthoek met daarin onderstreept de naam

van het object, gevolgd door een dubbele punt en de naam van de klasse.

2. Als een rechthoek met daarin onderstreept een dubbele punt en de naam van de klasse.

Page 5: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

KLASSE I

Een klasse is een verzameling van objecten met overeenkomstige eigenschappen.

Een klasse is de basis van het gehele objectgeoriënteerde ontwerp. Een klasse is een soort van sjabloon voor objecten.

Page 6: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

KLASSE II

Een klasse bestaat uit drie delen: Naam van de klasse; De eigenschappen (attributen) van de klasse

(bijvoorbeeld: hoogte, lengte, bedrag); De methoden van de klasse

(bijvoorbeeld: BerekenTotaal, Print, Bewaar).

Page 7: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

KLASSE III

De UML notatie van een klasse is een rechthoek met drie compartimenten. Boven in de rechthoek staat de naam van de klasse. Daaronder de attributen en vervolgens de operaties.

Page 8: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

ATTRIBUUT (EIGENSCHAP) I

Een attribuut is informatie die door een object beheerd wordt.

Bijvoorbeeld: naam, sekse, gewicht, haarkleur en aantal poten zijn attributen van objecten van de klasse Hond.

Page 9: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

ATTRIBUUT (EIGENSCHAP) II

Bij de attributen kunnen ook de datatypes genoteerd worden (string, integer, etc.)

Page 10: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

OPERATIE (METHODE)

• Een operatie beschrijft een service die een object levert.

Bijvoorbeeld: blaffen, kwispelen, eten,

wandelen en apporteren zijn operaties

van de objecten van de

klasse Hond.

Page 11: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

VERSCHIL TUSSEN OBJECT EN KLASSE

Een object is een instantie van een klasse; Een klasse beschrijft algemeenheden over zijn objecten.

Voorbeeld:Als Amsterdam een object is, dan zou Stad zijn klasse kunnen zijn.

Page 12: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

KLASSENDIAGRAM

In een klassendiagram projecteren we de klassen en de relatie met andere klassen.

Een goed klassendiagram kenmerkt zich door zoveel mogelijk onafhankelijke klassen en zo min mogelijk relaties met andere klassen. Natuurlijk moet wel alle functionaliteit aanwezig zijn.

+Operatie()

Les

-Attribuut

+Operatie()

Docent

-Attribuutgeeft les >

Page 13: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

ASSOCIATIE

Heel vaak is er een relatie tussen klassen. Een verbinding tussen twee klassen noemt men een associatie. Dit wordt grafisch weergegeven door een lijn met daarboven de naam van de associatie en een pijl die de richting aanduidt.

Page 14: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

MULTIPLICITEIT I

Bij de relatie tussen twee klassen (ook wel associatie genoemd) kunnen we precies aangeven hoeveel objecten van de ene klasse een relatie hebben met een object van een andere klasse. Dit noemen we multipliciteit.

Page 15: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

MULTIPLICITEIT II

Page 16: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

HOE BEPALEN WE DE KLASSEN?

Brainstormsessie Onderstrepen van zelfstandige naamwoorden:

1. Identificeer alle mogelijke kandidaatklassen;2. Verwijderen van synoniemen en kandidaat-klassen die een

verband met elkaar hebben;3. Verwijderen van vage kandidaat-klassen;4. Verwijderen van kandidaat-klassen die een eigenschap zijn

van een andere kandidaat-klasse.

Page 17: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

VOORBEELD

De keuze voor een computer hangt vooral af van het soort gebruik en de maximaal te betalen prijs. Een spelfanaat zal graag wat meer willen betalen voor een computer met uitgebreide multimediamogelijkheden terwijl een zakelijke computergebruiker voor al de stabiliteit van het systeem als belangrijkste aandachtpunt heeft. Toch kan men zich gemakkelijk vergissen. Tegenwoordig is een ingebouwde cd-brander zowel door de spelfanaat als de zakelijke gebruiker gewenst.

Page 18: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

VOORBEELD

keuze computer gebruikprijsspelfanaat multimediamogelijkheden eigenschap van

computerstabiliteit eigenschap van computerzakelijke computergebruiker Systeem synoniem voor computeraandachtpunt cd-brander eigenschap van computer

Page 19: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

VOORBEELD

keuze computer gebruikprijsspelfanaat twee soorten

gebruikerszakelijke computergebruiker twee soorten

gebruikersaandachtpunt onduidelijk

Page 20: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

VOORBEELD

keuze computer gebruikprijs kenmerk van computergebruiker

Computer Keuze Gebruik Gebruiker

Page 21: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

GENERALISATIE EN OVERERVING I

Generalisatie is het classificeren van klassen. Net als bij objecten gaan we opzoek naar klassen die identieke kenmerken hebben.

Als we een aantal van deze klassen hebben gevonden, kunnen we een nieuwe klasse specificeren die alle gezamelijke kenmerken bevat. Deze klasse heet de Superclass van de klassen.

De klassen die dezelfde kenmerken hadden noemen we subclass.

Page 22: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

GENERALISATIE EN OVERERVING II

In UML wordt een generalisatie aangegeven door een pijl met een grote, gesloten pijlpunt. De pijl is gericht naar de superclass.

Overerving betekent dat iedere subclass alle eigenschappen van zijn superclass erft.

Page 23: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

COMMENTAAR

Commentaar kan toegevoegd worden in een zogenaamde note-box. Een note-box kan met behulp van een onderbroken lijn gekoppeld worden aan een element in een diagram.

Page 24: I NFORMATIEANALYSE klassediagram I. A GENDA Object (instantie) Klasse Hoe kunnen we klasse bepalen? Attribuut (eigenschap) Operaties (methode) Verschil.

VOLGENDE LES

Verdieping klassendiagrammen:• Afgeleide attributen;• Zichtbaarheid van attributen;• Afgeleide associaties;• Aggregatie en compositie;• Meervoudige en herhaalde overerving.