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
Set of flashcards Details
Flashcards | 81 |
---|---|
Students | 11 |
Language | Deutsch |
Category | Computer Science |
Level | University |
Created / Updated | 08.02.2013 / 28.11.2022 |
Weblink |
https://card2brain.ch/box/objektorientierte_programmierung_oop3
|
Embed |
<iframe src="https://card2brain.ch/box/objektorientierte_programmierung_oop3/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Create or copy sets of flashcards
With an upgrade you can create or copy an unlimited number of sets and use many more additional features.
Log in to see all the cards.
Noch viel früher in der Zeitrechnung als Al-Chwârismî entwarf im 3. Jahrhundert v. Ch. der Mathematiker Euklid aus Alexandria in Ägypten in seinem Buch „Die Elemente“ das noch heute gebräuchliche Verfahren zur Bestimmung des größten gemeinsamen Teilers zweier natürlicher Zahlen. Der nachfolgende Algorithmus bestimmt den größten gemeinsamen Teiler der positiven ganzen Zahlen a und b. 1. Wenn b > a ist, vertausche a und b. 2. Sei c der Rest der Division von a durch b. 3. Wenn c = 0 ist, dann ist der Algorithmus zu Ende und b das Ergebnis. 4. a wird der Wert von b zugewiesen und b der Wert von c. 5. Fahre mit Schritt 2 fort.
Ein Algorithmus ist korrekt, wenn er sich bei der Ausführung so verhält, wie wir dies bei der Formulierung beabsichtigten. In kritischen Anwendungsbereichen wie der Flugsicherung, der Medizin oder der Prozesssteuerung können durch inkorrekte Algorithmen verursachte Fehlfunktionen katastrophale Schäden anrichten. Ein fehlerhafter Algorithmus in einem Chipentwurf kann erhebliche Kosten für den verantwortlichen Hersteller nach sich ziehen, wenn der Fehler erst nach Auslieferung der Prozessoren entdeckt wird.
Beispiel: Spezifikation des Sortierproblems
Die Aufgabe eines Sortieralgorithmus besteht darin, eine gegebene Folge von Werten
hd1, d2, d3, . . ., dni
gemäß einer vorgegebenen Ordnung „≤“ in eine permutierte Folge:
hd ′ 1 , d ′ 2 , d ′ 3 , . . ., d ′ n i
zu bringen, sodass gilt:
d ′ 1 ≤ d ′ 2 ≤ d ′ 3 ≤ · · · ≤ d ′ n
Die Ausgangsreihe ist eine Permutation der Eingangsreihe.
Eine Permutation ist eine Umordnung einer Folge von Elementen in einer Weise, dass kein Element hinzugefügt wird oder verloren geht und auch kein Element verändert wird. Die Anzahl der Permutationen einer Folge mit n Elementen ergibt sich zu n! (Fakultät).
Begriff: Komplexität
Die Komplexität eines Algorithmus befasst sich mit dem Mindestaufwand, den ein Algorithmus zur Lösung einer Aufgabe benötigt. Die Komplexitätstheorie untersucht sowohl den Rechenaufwand als auch den Speicherplatzbedarf. Beim Rechenaufwand ist nicht die effektive Ausführungszeit auf einem Rechner von Belang, sondern die Zahl der Bearbeitungsschritte in Abhängigkeit von der jeweiligen Eingangsgröße. Auf die Details der Komplexitätsbewertung von Algorithmen können wir im Rahmen dieses Kurse jedoch nicht weiter eingehen.
Es gibt noch eine Reihe weiterer Eigenschaften von Algorithmen und Programmen, wie Robustheit, Anpassbarkeit, Wiederverwendbarkeit, die je nach Anwendungsfall mehr oder weniger von Bedeutung sind. Unter Robustheit verstehen wir die Eigenschaft eines Algorithmus, auch in ungewöhnlichen Situationen definiert zu arbeiten, d. h. fehlerhafte und widersprüchliche Eingabedaten abzuweisen und auch umfangreiche Eingabedaten abzuhandeln. Der Aspekt Robustheit ergänzt den Aspekt Korrektheit, denn die Korrektheit betrifft das Verhalten eines Algorithmus im Rahmen der durch die Spezifikation erfassten Fälle und Bedingungen. Robustheit charakterisiert dagegen das Verhalten bei nicht spezifizierten Bedingungen.
Anpassbarkeit ist ein Maß für den Aufwand, mit dem ein Algorithmus an eine geänderte Spezifikation angepasst werden kann. Diese Eigenschaft ist vor allem für große Programmsysteme von erheblicher Bedeutung, weil die Auswirkungen von Änderungen an einer Stelle - anders als in kleinen Programmen - kaum zu überschauen sind.
Die Wiederverwendbarkeit drückt aus, wie einfach ein Algorithmus in vielen verschiedenen Anwendungen ohne Änderung benutzt werden kann.
Aktivität In der UML ist eine Aktivität ein benanntes Verhalten. Ein Aktivitätsdiagramm spezifiziert eine solche Aktivität.
Begriff: Aktionen, Kontrollknoten, Sequenz, Initialknoten und Aktivitätsendknoten (UML-Aktivitätsdiagramm)
Innerhalb der Aktivität befinden sich die verschiedenen atomaren Kontrollknoten, die die Ausführungsreihenfolge der Aktionen festlegen. Diese sind mit gerichteten Kanten miteinander verbunden. Eine Aktion wird ebenfalls durch ein Rechteck mit abgerundeten Ecken dargestellt. Sie kann beispielsweise für den Aufruf einer Methode stehen, in diesem Fall wird entweder der Methodenname in die Aktion geschrieben oder das Verhalten anderweitig beschrieben. Die Beschreibung kann umgangssprachlich sein, wie zum Beispiel „Adresse erfassen“, oder auch formaler Natur in Form von Berechnungen „c = a + b“. Später werden wir zur Beschreibung solcher Aktionen auch Java-Quelltext verwenden. Im einfachsten Fall besteht eine Aktivität aus einer Sequenz mehrerer Aktionen. Dafür benötigen wir noch den Initial- und den Aktivitätsendknoten. Der Erste von beiden kennzeichnet den Beginn des Ablaufs und der Zweite markiert das Ende der Ausführung.
Fehler, die zum Zeitpunkt der Übersetzung auftreten, sind syntaktische Fehler. Bei der Ausführung können sowohl Fehler auftreten, die das Programm zum Abbruch zwingen, als auch Fehler im Sinne von falschen Ergebnissen oder fehlerhaftem Verhalten.
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.
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: 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: 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“.
-
- 1 / 81
-