• Keine Ergebnisse gefunden

Objektorientierte Analyse

N/A
N/A
Protected

Academic year: 2022

Aktie "Objektorientierte Analyse"

Copied!
14
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Objektorientierte Analyse

(Basis)Konzepte und Notationen Teil 1:

Objekt, Klasse, Attribut, Operation

(2)

Beispiel für das Objekt „Rind“

kaufen()

schlachten()

verkaufen() Ohrmarke:

Rasse:

Standort:

4711 FV 007

Notation:

Objekt: Klasse

Objekt :Klasse Attribut1 = Wert1 Attribut2 = Wert2

Oder:

(3)

Objektdiagramm

• Beschreibt Objekte, Attributwerte, Verbindungen

• Sind Momentaufnahmen des Systems

• Meist werden anonyme Objekte verwendet

(4)

Datenkapselung und Geheimnisprinzip

• Zustand (=Daten) und Verhalten

(=Operationen) eines Objektes bilden eine Einheit

• Daten eines Objektes können nur mittels der Operationen gelesen und geändert werden.

• Repräsentation dieser Daten nach außen

bleibt verborgen (=Geheimnisprinzip)

(5)

Objektidentität

• Diejenige Eigenschaft, die ein Objekt von anderen Objekten unterscheidet (auch

wenn sie identische Attributwerte besitzen)

(6)

Klasse

• Definiert für eine Kollektion von Objekten deren Struktur (Attribute), Verhalten (Operationen,

behavior) und Beziehungen (relationships)

• Besitzt einen Mechanismus, neue Objekte zu erzeuten (object factory)

• Jedes erzeugte Objekt gehört zu genau einer Klasse

• Klassendiagramm: Beschreibt das statische

Modell des Systems

(7)

Notation von Klassen

:Klasse Attribut

...

Operation() ...

Namensfeld

Attributliste

Operationsliste

:Milchkuh Ohrmarke

Geburtsdatum Energiebedarf kaufen()

verkaufen() behandeln() melken() schlachten() Zu jeder Klasse wird eine Kurzbeschreibung

erfasst. Beispiel:

Klasse Milchkuh

Tier, das in einem Tierbestand zum Zwecke der Milcherzeugung gehalten wird.

(8)

Attribut

• Beschreibt die Daten, die von den Objekten einer Klasse angenommen werden können.

• Werden durch Namen und Typ beschrieben.

• Optional: Anfangswert und Liste von Merkmalen

• Geheimnisprinzip: Attributwerte dürfen nur über die Operationen der zugehörigen Klasse gelesen und geändert werden

• Klassenattribut: Wenn nur ein Attributwert für alle Objekte einer Klasse existiert

• Restriktionen (=constraints) = Beziehungen zwischen

Attributwerten eines Objektes, die unverändert erhalten

bleiben müssen.

(9)

Unterschied Klassendiagramm - ER-Modell

• Künstliche Schlüsselattribute sind im Klassendiagramm nicht notwendig.

• Normalisierung der Attribute ist nicht

notwendig.

(10)

Abgeleitete Attribute (=derived attribute)

• Wird mit Präfix „/“ gekennzeichnet.

• Darf nicht geändert werden.

• Typen:

– Standardtypen (String, Int, UInt, Float, Double, Fixed, Boolean, Date, Time)

– Aufzählungstypen {values: 1,0; 1,3; 1,7, ..., noAdd}

– Elementare Klassen (support classes)

– „list of“-Typ (Beispiel: Noten: list of NoteT)

Person Geburtsdatum /Alter

NoteT Fach:String

Wert: NotenwertT

(11)

Attributspezifikation

• Name

• Typ

• Anfangswert

• Muß-Attribut (mandatory)

• Schlüssel (key)

• Attributwerte nicht änderbar (frozen)

• Einheit

• Beschreibung

• Ohrmarkennr: String(7) {mandatory, key, frozen)

• Geburtsdatum: Date {mandatory}

• Schlachtdatum: Date

• Verendet: Date

{Beschreibung: Datum, an dem das Tier verendet ist}

• Restriktionen:

{Geburtsdatum <

Schlachtdatum und Geburtsdatum <

Verendet}

(12)

Operationen

• Alle Objekte einer Klasse verwenden dieselben Operationen

• Jede Operation kann auf alle Attribute

eines Objekts einer Klasse direkt zugreifen

• Die Menge aller Operationen = Verhalten

der Klasse = Schnittstelle der Klasse

(13)

Notation für Operationen

• Operationen =

Objektoperationen [z.B.

Schlachten()] werden auf ein einzelnes Objekt angewendet

• Kontruktoroperation: Erzeugt ein neues Objekt und führt Initialisierungen/Datener- fassung durch

• Klassenoperation: Nicht für einzelnen Objekt anwendbar;

z.B.: Drucke Bestandsbuch()

Klasse Operation()

Klassenoperation()

(14)

Operationsarten

• Lesender Zugriff (accessor operation) [z.B.:

drucke_TAEAnwendungsbeleg()]

• Schreibender Zugriff (update operation) [z.B.: erfasse_Medikation()]

• Berechnungsoperation [z.B.:

ermittle_Datum_Ende_der_Wartezeit()

• Erzeugen (contructor operation) bzw. Löschen (destructor operation) [z.B.:

kaufen()]

• Selektion (query operation) [z.B.:

drucke_Bestandsbuch()]

• Verbindungsherstellung (connect operation) [z.B.:

melde_Ohrmarke_an()]

• Aktivierung von Operationen anderer Klassen [z.B.:

drucke_Arzneimittelstammdaten()]

Referenzen

ÄHNLICHE DOKUMENTE

Schematischer Ablauf der Analyse (Anforderungen und fachliches Modell). Anforderungsanalyse (“real”

In der Analyse werden komplexe Objekte in der Regel aus einem Kern und einer Menge von zugehörigen Unterobjekten dargestellt In der Analyse werden komplexe Objekte in der Regel

In der Analyse werden komplexe Objekte in der Regel aus einem Kern und einer Menge von zugehörigen Unterobjekten dargestellt. In der Analyse werden komplexe Objekte in der Regel

► Auch eine Protokollmaschine kann in einer Klasse erscheinen, sie beschreibt einen blackbox-Objektlebenszyklus, d.h. die beobachtbare Sicht von aussen, das Protokoll

Mit Verfeinerung durch Integration von Unterobjekten (Objektanreicherung, Chicken Fattening).

Mit Verfeinerung durch Integration von Unterobjekten (Objektanreicherung, Chicken Fattening).

Zweigstelle Kundenbetreuer Kundenklub.. A) Reservierungssystem von EU-Rent. ► Beim Ausfüllen (Elaboration) kommen neue

Bei vielen Berufen muss man früh aufstehen, bei manchen muss man spät abends oder so- gar nachts arbeiten.. Viele Menschen arbeiten tagsüber von Montag bis Freitag, einige