Erklären Sie den Begriff Objektorientierung
Objektorientierung (kurz: OO) ist ein Ansatz der Softwaretechnik, der insbesondere die Erstellung, Weiterentwicklung und Wartung von komplexen betrieblichen IT Systemen unterstützt. Dabei werden komplexe Systeme durch das Zusammenspiel kooperierender Objekte beschrieben.
Manche Personen denken “ Objektorientierung” ist eine Programmiersprache. Haben sie damit recht? Begründen Sie Ihre Entscheidung
Nein, die “Objektorientierung ist keine Programmiersprache sondern eine Sichtweise auf komplexe Systeme. Jedoch gibt es Programmiersprachen, welche die objektorienterte Sichtweise gezielt unterstützen.
Welche Programmierkonzepte ausser der Objektorientierung kennen Sie noch?
Maschinencode, Assemblercode, Imperative Programmierung, Strukturierte Programmierung, Komponentenbasierte Entwicklung, Modellgetriebene Entwicklung
Welche Elemente kann ein Objekt enthalten?
Attribute und Methoden
Worin unterscheiden sich Attribute von Methoden?
Attribute speichern Werte, Methoden dagegen ermöglichen es auf Attribute zuzugreifen, sie auszulesen, zu verändern, zu aktualisieren oder Berechnungen durchzuführen.
Nennen und erläutern Sie die Phasen eines objektorientierten Entwicklungsprozesses.
OOA - Objektorientierte Analyse
Während der OOA wird bestimmt, was ein System tun soll. Ziel der Analyse ist ein umfassendes Verständnis der fachlichen Zusammenhänge des zu bauenden Systems. Hierzu werden Objekte der realen Welt in einem fachlichen Modell nachgebildet. Dabei werden nur die für das System relevanten Eigenschaften (Attribute) berücksichtigt.
OOD - Objektorientiertes Design
Hierzu wird auf Basis des Analysemodells das Design des Systems festgelegt. Das bedeutet, dass das fachliche Analysemodell dahin gehend um technische Informationen erweitert wird, sodass ein Programmierer in der Lage ist, auf Basis des Designs den Programmcode zu implementieren. Dabei wird festgelegt, welche Arten von Objekten es geben soll, welche Attribute und Methoden sie haben und auf welche ARt welche Objekte miteinander kooperieren.
OOP - Objektorientierte Programmierung
Bei den Aktivitäten der objektorientierten Programmierung wird ein Systemdesign in funktionierenden Programmcode übersetzt. Dazu programmiert der Entwickler unter Einhaltung der im Design getroffenen Vorgaben den Programmcode. Analyse und Design sind notwendige Vorarbeiten, das eigentliche IT System jedoch ergibt sich ausschliesslich durch den implementierten Programmcode.
Was sind die Ergebnisse der Phasen eines objektorientierten Entwicklungsprozesses und wofür werden die Ergebnisse verwendet?
OOA - Analysemodell
DAs Analysemodell ist zum einen ein Mittel zur Kommunikation zwischen den Entwicklern und dem Auftraggeber bzw. den Anwendern des Systems. Zum Anderen bildet es den Ausgangspunkt für die nächste Phase, das objektorientierte Design.
OOD - Design des Systems
Vorgabe für Programmierer, die darauf aufbauend in der Lage sind Programmcode zu implementieren. Dabei wird festgelegt, welche Arten von Objekten es geben soll, welche Attribute und MEthoden sie haben und auf welche Art welche Objekte miteinander kooperieren. Für komplexe Systeme kann diese Aufgabe nur von erfahrenen Systemarchitekten durchgeführt werden. Die Qualität des Designs hat dabei in der Regel massgeblich Einfluss auf die Qualität des programmierten Systems, sowie auf alle zukünftigen Aktivitiäten zur Erweiterung und Anpassung des Systems
OOP - Programmcode, IT System
Ergebnis des Entwicklungsprozesses, wird von Kundne zur Lösung von Problemen eingesetzt
Stellen Sie sich ein Software-Entwicklungsprojekt vor, bei dem die Phasen OOA und OOD übergangen werden und sofort mit der Programmierung begonnen wird. Welche Risiken sehen Sie für diese Projekt?
Der von dem Entwicklungsteam implementierte Programmcode ist im schlimmsten Fall unbrauchbar, weil er nicht die Anforderungen des Auftraggebers erfüllt. Sehr wahrscheinlich ist das System auch nicht gut wartbar und gut weiterzuentwickeln, denn mit dem Überspringen der Designphase ist zu erwarten, dass das System nicht gut strukturiert ist.
Welche Vorteile bringt die gezielte Kapselung von Zuständigkeiten in Form von Objekten?
Objekte können durch die klare Kapselung von Zuständigkeiten und die klare Definition von Schnittstellen später ausgetauscht oder erweitert werden, ohne die Stabilität oder Funktionalität des gesamten Systems zu beeinflussen. Das erleichtert wiederrum die Massnahmen zur Qualitätssicherung, da nicht das gesamte System komplett neu getestet werden muss, sondern nur die betroffenen Teile des Systems.
Erklären Sie den Begriff “Objekt“ im Kontext der Objektorientierung
Ein Objekt ist eine abgeschlossene für sich handlungsfähige Einheit, z. B. das Auto “E-CL 2343”, die Lampe “Kyst”, der Kunde “Herr Maier”, der Vertrag “P -DFD- 23”. Bei der objektorientierten Entwicklung werden Objekte aus der physischen (realen) Welt in Objekte der Programmiersprache nachgebildet. So gibt es dann zum “echten” Kunden “Hans Meier” ein digitales Gegenstück in Form eines digitalen Objektes “Hans Meier”. Der real existierende Kunde (Herr Hans Meier) wir din Form eines “digitalen OBjektes” der jeweiligen Programmiersprache des IT-Systems nachgebildet. Bei dieser digitalen Nachbildung werden aber nur die wichtigsten Eigenschaften wie Name, Vorname, Geburtsdatum oder Geschlecht berücksichtigt. Eigeschaften wie Haarfarbe, Augenfarbe oder Farbe der Kleidung interessieren in den meisten Fällen nicht, da sie für die Aufgaben des Systems nicht benötigt werden.
Erklären Sie den Begriff “Klasse” im Kontext der Objektorientierung.
Eine Klasse liefert in der Objektorientierung die Struktur, die zur Bildung eines “digitalen Objektes” erforderlich ist. Auf Basis einer Klasse können beliebig viele Objekte erzeugt werden. Alle aus einer Klasse erzeugten Objekte haben die gleiche Struktur, also dieselben Attribute und Methoden. Eine Klasse ist so etwa vergleichbar mit einer Word-Dokumentenvorlage, und ein Objekt ist ein aus dieser Vorlage erzeugtes Word-Dokument. Aus welchen Klassen ein objektorientiertes System besteht und wie die Struktur der benötigten Klassen aussieht, wird in der Phase OOD festgelegt. Ausgangspunkt für das Design sind die ermittelten und spezifizierten Anforderungen.
Wie stehen Objekte und Klassen in Beziehung zueinander?
Bei der objektorientierten Programmierung von IT-Systemen werden (fast) nur Klassen implementiert. Das heisst, der Entwickler legt die Struktur von Klassen fest. Also aus welchen Elementen (Attributen und Methoden) die aus den Klassen erzeugten Objekte bestehen. Ein objektorientiertes System erzeugt dann bei Bedarf die entsprechenden Objekte, zum Beispiel aus Datenbankeinträgen oder Benutzereingaben. Durch die Beschreibung der Klassen wird gewährleistet, dass sich alle Objekte, die auf Basis dieser Klasse erzeugt werden, gleich verhalten. Alle Objekte einer Klasse haben dieselben Attribute und verfügen über die gleichen Funktionen und Routinen (Methoden). Damit können alle aus einer Klasse erzeugten Objekte von den Funktionen des Systems in gleicher Weise verarbeitet werden.
Beschreiben Sie die Vorgehensweise zur Identifikation von Klassen bei der OOA.
Alle Hauptwörter (Substantive) der Aufgabenstellung werden als Kanidaten für Klassen markiert.
Dann wird geprüft, ob die markierten Hauptwörter
durch weitere Hauptwörter beschrieben werden können
Beziehungen oder Abhängigkeiten zu anderen Hauptwörtern haben
Trifft eine der beiden Aussagen zu, wird das Hauptwort als Klasse modelliert.
Wird das Hauptwort verwendet, um ein anderes Hauptwort zu detaillieren, wird es als Attribut einer Klasse modelliert.
Alle verbleibenden Wörter, die weder Klasse noch Attribut sind, werden auf Relevanz geprüft und ggf. von der Liste der Kandidaten für Klassen gestrichen.
Beschreiben Sie den Unterschied zwischen Klassen und Attributen.
Klassen enthalten Attribute. Die Attribute (auch: Eigenschaften von Klassen, engl. property) sind statische Elemente von Klassen. In einem Attribut können konkrete Werte zu dem Objekt gespeichert werden. Attribute dienen ausschliesslich zum Speichern von Werten, man kann sie als freie Speicherplätze innerhalb eines Objektes verstehen.
Woraus ergibt sich der Zustand von Objekten?
Die Werte aller Attribute eines Objektes beschreiben den Zustand eines Objektes. Objekte, die aus einer Klasse erzeugt wurden und deren Attribute exakt die gleichen Werte haben, sind identisch.
Überlegen Sie sich 5 Attribute, mit denen Objekte der Klasse “Buch” beschrieben werden können.
ISBN-Nummer
Erscheinungsjahr
Auflage
Seitenanzahl
Sprache
Überlegen Sie sich 10 Attribute mit denen Objekte der Klasse “Film” beschrieben werden können.
Hauptdarsteller
Kameramann
Länge
Originaltitel
Originalsprache
verfügbare Sprachen
Untertitel
Videoformat
Audioformat
Produzent
Komponist des Soundtracks
Beschreiben Sie den Unterscheid zwischen Methoden und Attributen.
Zuletzt geändertvor 3 Monaten