Objektorientierte Programmierung OOP

KE 1 Von der Aufgabenstellung zum Programm; Begriffe, Beispiele und Definitionen

KE 1 Von der Aufgabenstellung zum Programm; Begriffe, Beispiele und Definitionen


Kartei Details

Karten 81
Lernende 11
Sprache Deutsch
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 08.02.2013 / 28.11.2022
Weblink
https://card2brain.ch/box/objektorientierte_programmierung_oop3
Einbinden
<iframe src="https://card2brain.ch/box/objektorientierte_programmierung_oop3/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Begriff: Softwareentwicklung

Die Softwareentwicklung umfasst das Entwerfen, Formulieren, Dokumentieren und Überprüfen eines Programms. Sie erschöpft sich demnach nicht nur im Aufschreiben von Quelltext. Welche Aufgaben umfasst die Softwareentwicklung noch?

• Erhebung der fachlichen Begriffe, Abläufe, Rollen, Gegenstände und Phänomene des jeweiligen Anwendungsbereichs,

• Dokumentation der Anforderungen, die das Programm erfüllen muss,

• Modellierung der Gegenstände und Verfahrensweisen des Anwendungsbereichs und

• umfassende Qualitätsprüfverfahren

Definition: Modell

Ein Modell ist die Abstraktion eines Realitätsausschnitts oder eines Systems. Ein Modell wird mit Hilfe einer Modellierungssprache beschrieben.

Beispiel: Abstraktion in Modellen  

Will man beispielsweise ein Modell für ein Universitätsverwaltungssystem entwickeln, so interessiert dabei der Name, der Geburtstag und die Adresse der Studierenden, nicht aber ihre Haarfarbe oder ihre Lieblingsfarbe. Das heißt, in diesem Modell wird von einigen Eigenschaften der Studierenden abstrahiert.

Begriff: Unified Modeling Language

Die Unified Modeling Language (UML) ist eine in der Softwareentwicklung weit verbreitete Modellierungssprache. Sie unterstützt die verschiedenen Phasen des Entwicklungsprozesses. Wir werden im Laufe des Kurses einige Elemente der UML kennen lernen und nutzen.

Begriff: Verhaltens- und Strukturdiagramm  

Um die Beschreibung verschiedener Sichten zu ermöglichen, definiert die UML Verhaltensdiagramm dreizehn Diagrammarten, die wiederum in Verhaltens- und Strukturdiagramme unterteilt werden. Verschiedene Sichten ermöglichen die Modellierung und Betonung verschiedener Aspekte eines Systems. 

Begriff: Kriterien zur Analyse einer Fallstudie

• die Handlungsträger, • ihr Zusammenwirken und • ihre für die Geschäftsabläufe wesentlichen Handlungen zu erkennen, • die Informationen, die sie austauschen, nachzuvollziehen, • die Gegenstände, mit denen sie umgehen, sowie • die Beziehungen, die zwischen diesen Gegenständen bestehen, zu beschreiben und • erste Ideen zu diskutieren, wie die Geschäftsvorfälle durch Computer unterstützt werden können.

Definition: Anwendungsfall

Ein Anwendungsfall (engl. use case) bezeichnet eine typische Interaktion zwischen einem Anwender und einem System aus der Sicht des Anwenders. Ein Anwendungsfall umfasst Folgen von Aktionen, die reguläre, aber auch vom normalen Verhalten abweichende Abläufe beschreiben.   Anwendungsfälle erfassen genau die Systemaktionen, die für das Zusammenwirken zwischen dem System und seiner Benutzerin erforderlich sind und dazu beitragen, bestimmte Ziele der Benutzerin zu erreichen. Anwendungsfälle werden durch Anwender oder durch Zeitereignisse angestoßen.

 

Beispiel: Anwendungsfall

Mögliche Anwendungsfälle in unserer Fallstudie sind zum Beispiel die Bestellung bei einem Großlieferanten, die Erfassung einer neuen Premiumkundin oder der Verkauf beliebig vieler Artikel. Diese Anwendungsfälle werden durch die zuständige Mitarbeiterin oder eine Kundin angestoßen.

Definition: Akteur

Anwender und externe Systeme, die an Anwendungsfällen teilnehmen, aber selbst nicht Teil des zu realisierenden Systems sind, werden als Akteure (engl. actor) bezeichnet.

Beispiel: Akteur

Mögliche Akteure in unserer Fallstudie sind Großlieferanten, die Chefin, Verkäufer, Kunden und Premiumkundinnen sowie der Kurier

Definition: Beziehung zwischen Akteur und Anwendungsfall

Die Teilnahme eines Akteurs an einem Anwendungsfall wird durch eine Assoziation zwischen beiden ausgedrückt. Andere Beziehungen zwischen Akteuren und Anwendungsfällen gibt es nicht.

Definition: UML-Anwendungsfalldiagramm

Ein UML-Anwendungsfalldiagramm beschreibt grafisch die Zusammenhänge zwischen einer Menge von Akteuren und Anwendungsfällen. Ein solches Diagramm besteht aus: • dem System, dargestellt als Rechteck, wobei der Name des Systems im Rechteck steht; • Anwendungsfällen, die als Ellipsen innerhalb des Systems erscheinen und die Bezeichung des Anwendungsfalls enthalten; • Akteure, die als Strichmännchen außerhalb des Systems dargestellt werden, wobei der Name des Akteurs unter das Symbol geschrieben wird; • Assoziationen zwischen Akteuren und Anwendungsfällen, die durch Linien dargestellt werden; • Beziehungen zwischen Akteuren und Anwendungsfällen untereinander.

Beispiel: Anwendungsfalldiagramm

Die Abbildung zeigt das System, einige Anwendungsfälle, Akteure und ihre Assoziationen untereinander. Die Assoziationen geben an, welche Akteure an welchen Anwendungsfällen beteiligt sind.

Beispiel: Beziehung zwischen Akteuren

Wie die Abbildung veranschaulicht, kann eine Premiumkundin genauso wie ein Kunde direkt im Laden etwas kaufen, sie kann aber darüber hinaus auch etwas telefonisch bestellen und umsonst nach Hause liefern lassen. Eine Premiumkundin ist somit eine Spezialisierung eines Kunden und ein Kunde eine Generalisierung einer Premiumkundin. Ebenso kann eine Chefin die gleichen Aufgaben wie eine Verkäuferin übernehmen, aber eben auch die Bestellungen beim Lieferanten erledigen. Somit handelt es sich bei einer Chefin um eine Spezialisierung von Verkäuferin.

Beispiel: Beziehung zwischen Anwendungsfällen

Der Anwendungsfall „Artikelverkauf“ enthält beispielsweise den Anwendungsfall „Bezahlung“.

Bemerkung: Stereotypen in der UML

 

Eine solche Beschriftung in spitzen Klammern (<<...>>) bezeichnet man in der UML als Stereotyp. Solche Stereotypen kommen bei verschiedenen Elementen zum  Einsatz

Beispiel: Erweitert-Beziehung zwischen Anwendungsfällen  

Fällt während des Verkaufs eines Artikels auf, dass er gar nicht oder nicht in ausreichender Menge vorhanden ist, so muss eine Nachbestellung erfolgen. Die Bestellung eines Artikels erweitert somit den Verkauf eines Artikels.

Beispiel: Generalisierungsbeziehung zwischen

Anwendungsfällen

 

Bisher hatten wir nur den allgemeinen Anwendungsfall Bezahlung. Es sollen jedoch laut Fallstudie Barbezahlung, Bezahlung mit Kreditkarte oder per Rechnung möglich sein. Diese Anwendungsfälle können wir als Spezialisierung von Bezahlung modellieren.

 

So kann ein Anwendungsfall jedes Bezahlverfahren zulassen. Dieser hat dann eine Enthält-Beziehung zum Anwendungsfall Bezahlung, ein anderer wiederum lässt zum Beispiel nur Barbezahlung zu und besitzt deswegen nur eine Enthält-Beziehung zum Anwendungsfall Barbezahlung. Da der Anwendungsfall Bezahlung eine Assoziation zum Akteur Kunde hat, besitzen diese Beziehung auch implizit alle spezielleren Anwendungsfälle.

 

Definition: Szenario

 

Wir nennen eine einzelne Abfolge von Aktionen, d. h. einen Ablaufpfad in einem Anwendungsfall, ein Szenario. Ein Szenario, das die Sicht der Anwender wiedergibt, fasst das zu entwickelnde System als Blackbox auf. Die innere Arbeitsweise des Systems bleibt den Anwendern verborgen, von Interesse ist allein das externe Verhalten. Das Augenmerk liegt bei dieser Perspektive auf typischen Interaktionen zwischen Benutzern und dem Anwendungssystem.

Definition: Beschreibungsschema für Anwendungsfälle

 

Für die Beschreibung der in Anwendungsfällen auftretenden Interaktionen werden Beschreibungsschema wir das in Tabelle angegebene Schema verwenden.

Beispiel: Anwendungsfall „Bestellung eines Premiumkunden“  

Eine konkrete Anwendungsfallbeschreibung für den Anwendungsfall „Bestellung eines Premiumkunden“ ist in der Tabelle angegeben. Wir ergänzen dabei den Akteur Kurier, da wir nicht davon ausgehen, dass die Lieferung durch einen Verkäufer erfolgen muss.

Bemerkung: Folgende Fragen sollte man sich stellen, wenn man die Abläufe für einen Anwendungsfall erhebt.  

• Warum benutzt ein Akteur das System? • Welche Art der Antwort erwartet der Akteur von einer Aktion? • Was muss der Akteur tun, um das System benutzen zu können? • Welche Information muss der Akteur dem System übermitteln? • Welche Information erwartet der Akteur als Antwort vom System?

Begriff: Datenlexikon

Ein Datenlexikon ist eine nach festen Regeln aufgebaute präzise Bestimmung aller Datenlexikon Datenelemente, die für das Anwendungsgebiet wichtig sind. Das Datenlexikon trägt dazu bei, Missverständnisse sowie unterschiedliche Interpretationen von Auftraggeberinnen und Entwicklern zu vermeiden. Die Tabelle gibt die in einem Datenlexikon üblichen Symbole und Schreibweisen an. Kommentare können dafür benutzt werden, umgangssprachlich Definitionsbereiche oder Maßeinheiten anzugeben.

Beispiel: Datenlexikon

Zeichenkette = Buchstabe + {(Buchstabe | -)} GanzeZahl = Ziffer + {Ziffer} Premiumkunde = Vorname + Nachname + Anschrift + Kundennummer Vorname = Zeichenkette Nachname = Zeichenkette Anschrift = Straße + Hausnummer + PLZ Straße = Zeichenkette Hausnummer = GanzeZahl + (Buchstabe) PLZ = 00001 | ... | 99999 Kundennummer = GanzeZahl

Begriff: Pflichtenheft

In einem professionellen Entwicklungsprojekt wird üblicherweise zwischen Auftraggeberinnen und Softwareentwicklern ein sog. Pflichtenheft aufgestellt. Im Pflichtenheft sind alle wichtigen organisatorischen und technischen Vorgabe zur Erstellung der Software zusammengefasst. Das Pflichtenheft bildet die Grundlage für die technische Realisierung der Software. Das Pflichtenheft dient damit zwei Hauptzwecken: • Es muss so abgefasst sein, dass es vom Auftraggeber und den Spezialisten in den Fachabteilungen, die die Software später einsetzen sollen, verstanden wird. • Die erfasste Information muss ebenso für die Softwareentwickler hilfreich sein. Der angestrebte Sollzustand ist der Hauptbestandteil des Pflichtenheftes. Der Istzustand soll nur dann in das Pflichtenheft mit aufgenommen werden, wenn er zur Verdeutlichung des Sollzustandes beiträgt.

Definition: Objekt  

 

Die objektorientierte Programmierung bezeichnet die Abbilder konkreter individuell unterscheidbarer Gegenstände und Träger individueller Rollen in Entwurfsdokumenten und Programmen als Objekte.

Beispiel: Objekt  

Beispiele für Objekte sind in unserer Fallstudie die Kundin Anna Müller, der Kunde Jens Meier oder die Rechnung mit der Nummer 20022.

Bemerkung: Objekte

 

Wichtig ist, dass es sich bei Objekten um individuelle, identifizierbare Abbilder handelt.

Definition: Klasse Eine Klasse beschreibt in der objektorientierten Programmierung einen Bauplan für viele ähnliche, aber individuell unterscheidbare Objekte. Klassen werden durch Substantive bezeichnet

Eine Klasse beschreibt in der objektorientierten Programmierung einen Bauplan für viele ähnliche, aber individuell unterscheidbare Objekte. Klassen werden durch Substantive bezeichnet

Bemerkung: Klasse  

Jedes Objekt ist eine Ausprägung einer bestimmtem Klasse. Wir bezeichnen Objekte auch als Exemplare

 

Klassen beschreiben die Eigenschaften, die alle Exemplare dieser Klasse besitzen, und auch deren Verhalten und Fähigkeiten.

Beispiel: Klassen  

Mögliche Klassen sind Kunde, Rechnung oder auch Blume. Dabei wären Anna Müller und Jens Meier Objekte der Klasse Kunde und die Rechnung mit der Nummer 20022 ein Exemplar der Klasse Rechnung

Definition: Attribut  

Die Eigenschaften, die alle Exemplare einer Klasse besitzen, werden durch Attribute dargestellt. Attribute werden durch Substantive bezeichnet.

Beispiel: Attribut  

Attribute der Klasse Kunde sind name und adresse. Eine Rechnung besitzt beispielsweise die Attribute rechnungsnummer, betrag und ist Bezahlt.

 

Attribute beschreiben lediglich, welche Eigenschaften ein Exemplar einer Klasse hat, jedoch nicht welchen konkreten Wert diese Eigenschaft bei dem gegebenen Exemplar besitzt.

Definition: Attributwert  

Ein Attributwert bezeichnet den Wert, den ein Exemplar zu einem bestimmen Attribut besitzt.

Beispiel: Attributwert  

Ein Beispiel für einen Attributwert des Attributs name der Klasse Kunde ist Anna Müller. Die Nummer 20022 ist ein möglicher Attributwert für das Attribut rechnungsnummer der Klasse Rechnung.

Bemerkung: Zustand eines Objekts  

Durch die Attributwerte eines Objekts wird sein innerer Zustand festgelegt.

Definition: Methode  

Das gemeinsame Verhalten aller Objekte einer Klasse wird durch die Methoden der Klasse bestimmt. Jede Methode beschreibt eine Fähigkeit oder mögliche Form des Umgangs mit einem Objekt der Klasse. Methoden werden durch Verben bezeichnet und in der Regel durch ein nachstehendes Klammerpaar „(“ und „)“ abgeschlossen.

Beispiel: Methoden

 

ändereAdresse() ist eine mögliche Methode für die Klasse Kunde. markiereAlsBezahlt() ist eine mögliche Methode für die Klasse Rechnung.

Definition: Assoziation und Verknüpfung  

Eine Assoziation zwischen zwei Klassen drückt aus, dass es zwischen Exemplaren dieser Klassen eine Beziehung geben kann. Eine Assoziation besitzt einen Namen. Die konkrete Beziehung zwischen zwei Exemplaren wird Verknüpfung genannt. Zu jeder Verknüpfung zwischen zwei Exemplaren muss es immer eine zugehörige Assoziation zwischen den beiden Klassen geben.

Beispiel: Assoziation und Verknüpfung  

Jede Rechnung wird für einen Kunden ausgestellt. Somit hat ein Exemplar der Klasse Rechnung eine Verknüpfung zu einem Objekt der Klasse Kunde. Zwischen den beiden Klassen Kunde und Rechnung existiert die Assoziation rechnungsempfaenger. Die Rechnung 20022 kann somit eine Verknüpfung zum Kunden Jens Meier besitzen.