Auf welchen 4 Aktivitäten basiert die Softwaretechnik?
Wissenserwerbende Aktivität:
Typischerweise sind diejenigen, die die Software entwerfen, keine Experten für das Fachgebiet, in dem die Software eingesetzt werden soll. Daher sind zunächst Daten zu sammeln, die dem Schema entsprechend zu Wissen geformt werden.
Modellierende Aktivität:
Abstraktion der Realität ermöglicht die Handhabung der Komplexität eines Problems.
Details und weitreichende Informationen werden auf dem allgemeinen Konsens gebracht und Strukturen werden aufgestellt.
Zu einem bestimmten Zeitpunkt müssen eventuell nur bestimmte relevante Details beachtet werden. → Im Laufe der Entwicklung wird mit verschiedenen Modellen und Anwendungsbereichen gearbeitet.
Zunächst wird modelliert,was mit der Software erreicht werden soll, danach wird die Software selbst modelliert.
Problemlösende Aktivität:
Experimentieren und Wiederverwenden früherer Lösungen unterstützen den Lösungsfindungsprozess, dabei existieren Parallelen zwischen Ingenieurswissenschaftlichen Vorgehen und der Entwicklung von Software:
Anschließende Evaluierungsaktivitäten werden durchgeführt, um die verwendeten Modelle auf Praxistauglichkeit hin zu überprüfen.
Begründungsgetriebene Aktivität:
Aus einer Menge von unendlich vielen möglichen Lösungen wird eine bestimmte gewählt. Diese Wahl gilt es für die gegenwärtige, für die zukünftige Nutzung und für das allgemeine Problemverständnis Rechenschaft zu tragen.
Was sind Objekte (allgemein)?
was ist eine Klasse?
Was ist ein Objekt?
was sind Attribute und Methoden einer Klasse?
was ist der Zweck einer Vererbung?
Was bedeutet UML? Und welche Modelle werden darin unterschieden?
Welche Diagramme helfen bei der Erstellung eines Modells nach UML?
Anwendungsfalldiagramm
Welche Begriffe gehören zum Basismodell und wie werden diese definiert?
Welche Begriffe gehören zum Statischen Modell und wie werden diese definiert?
Welche Diagramme gehören zum Dynamischen Modell?
✓ Interaktionsdiagramm
✓ Zustandsdiagramm
✓ Aktivitätsdiagramm
Interaktionsdiagramm
Wann ist die Rolle bei einer Assoziation anzugeben?
✓ Optional bei Eindeutigkeit
✓ Pflicht bei Mehrdeutigkeit und reflexive Beziehungen
Zustandsdiagramm
Aktivitätsdiagramm
Welchen Zweck hat die Vererbung und welches Keyword gehört zum Quelltext der Vererbung?
Was besagen die Begriffe Overriding und Overloading?
Was besagen die Begriffe value type und reference type?
Was sind Generics
✓ Generics sind parametrisierte Typen, dabei kann es sowohl auf Klassen als auch auf Objekt oder Interfaces angewendet werden
✓ In anderen Programmiersprachen als templates bezeichnet→Vorlagen, die für eine konkrete Anwendung genutzt werden können.
Nennen Sie ein Beispiel, an dem der Vorteil von generischen Typen hervorgeht.
- Problemstellung: Sie erstellen einen Array, wissen aber vorab nicht, welche Datentypen es enthalten wird; Sie könnten ein Array von Objekten anlegen (ALLES ist ein object für Java!) und dann zur Laufzeit explicit typecasting machen; kann zu ClassCastException führen! (Programm stürzt ab)
- Lösung: Nutzen Sie eine generische Klasse wie List<T>; Compile-type safe (keine ClassCastException)→inkompatible Typen werden bereits während Kompilierung gefunden, nicht erst zur Laufzeit
Welche Vorteile können bei generischen Typen zusammengefasst werden?
Welche generischen Typen wurden in der Vorlesung besprochen?
Welche vier Anwendungsfälle existieren für statische Methoden und was ist das Keyword?
✓ Vier Anwendungsfällemit dem Keyword „static“: Static variables, static methods, static code segments, static (nested) class
Was sind die Besonderheiten statischer Variablen?
Was sind die Eigenschaften statischer Methoden?
Was sind die Eigenschaften statischer Klassen?
Welche Motivation verbirgt sich hinter der Implementierung abstrakter Klassen und Methoden?
Welche Dinge sind beim Implementieren von abstrakten Methoden zu beachten?
Welchen Zweck verfolgt die Implementierung einer abstrakten Methode?
Welche Dinge sind beim Implementieren von abstrakten Klassen zu beachten?
Klassen mit abstrakten Methoden müssen auch abstrakt sein, können aber auch normale Methoden enthalten
Ermöglicht auch Bereitstellung von Funktionalität für SubKlassen, können aber nicht instanziiert werden!→Keine Objekte möglich
Welchen Zweck verfolgt die Implementierung einer abstrakten Klasse?
Bereitstellung von einheitlichen Funktionalitäten für SubKlassen (wichtig) ✓ Bereitstellung von einheitlichen Signaturen für SubKlass
Welche Motivation liegt bei der Implementierung Interfaces vor?
Welche drei Pattern wurden in der Vorlesung beschrieben?
Welchen Zweck verfolgen Software Patterns?
Was sind Architectural pattern?
Welchen Vorteil bieten Architectural pattern?
Nennen Sie drei Software Architektur Prinzipien.
Was sind Design patterns und wann kommen Sie zum Einsatz?
Was sind typische Design patterns und wann kommen Sie zum Einsatz?
Was sind Observer patterns?
Frage: Was ist der Observer&observable?
Welche Vorteile bietet der Observer&observable?
Welche Nachteile hat der Observer&observable?
Welche Motivation steckt hinter der Nutzung von XML?
Was sind die Bausteine einer XML Struktur?
Aus welchen Teilen besteht ein einzelnes Element?
Welche syntaktischen Regeln sind bei allen XML Formaten zu beachten, damit sie „well- formed“ sind?
Wie kann ein XML Dokument zusätzlich validiert werden?
Wofür stehen die Akronyme DOM und JAXP?
✓ DOM → Document Object Model
✓ JAXP→JAVA API for XML Parsing
Wie funktioniert das Binding für XML?
Wofür stehen die Befehle unmarshal und marshall?
Last changed2 years ago