ITF T08-T13
Informatik Fundamentals
Informatik Fundamentals
-
- 1 / 56
-
Cartes-fiches
T08
Was ist ein Algorithmus?
Eine Vorschrift zur Lösung einer Aufgabe, die
- präzise formuliert,
- in endlicher Form,
- und effektiv ausführbar
ist
T08
Woraus besteht ein Programm?
- Daten
- Algorithmus
T08
Erklären Sie den Zusammenhang zwischen Algorithmus und Programm.
- Computer-Programm: Ein Verfahren, das gegebene Daten durch ein Algorithmus in einem Computer manipuliert, um ein gewünschtes Endergebnis bzw. Endzustand zu erhalten.
- Die Formulierung eines Algorithmus erfolgt in einer abbstrakten Programmiersprache, die schliesslich in Maschinencode umgewandelt werden, die der Computer abarbeiten kann.
T08
Was ist ein Quellcode?
Die Formulierung eines Algorithmus in einer abstrakten Programmiersprache.
T08
Erklären Sie die Übersetzung vom Algorithmus zum Maschinencode.
Das Algorithmus wird als Quellcode in einer Programmiersprache umgeschrieben, oder bestehender Quellcode wird bei Bedarf geändert
Der programmiersprachespezifische Kompilierer (selbst ein Programm) wird ausgeführt, um den Quellcode (in einer Eingabe-Datei) in Objektcode (in eine (Ausgabedatei) umzuwandeln
Der Linker (selbst ein Programm) wird ausgeführt, um den Objektcode – und möglicherweise auch Objektcode entsprechend anderen benötigten Programmen – in Maschinencode umzuwandeln
T08
Was ist ein Objektcode?
- ähnlich wie Maschinencode
- die Adresse ist aber relativ, da mehrere Programme mittel Linker darauf greifen kann
T08
Was ist ein Interpreter?
- Der Interpreter führt das Kompilieren und den Linken in einem Arbeitschritt. So werden Befehle sofort ausführbar
- Interpreter ist aber langsamer als Kompiler (wegen dem Linken)
T08
Wovon ist ein Kompiler abhängig?
- von der Programmiersprache
- von der Maschine
T08
Wovon ist ein Linker abhängig bzw. unabhängig?
- Linker ist Sprache unabhängig, da es bereits ein Objektcode ist
- Linker ist aber von der Maschine abhängig
T08
Welche Komponenten sind typisch für eine prozedurale Sprache?
- Kommentar
- Variablen Deklarationen nach Datentyp (int maxWert;)
- Ausdruck (6 * Wert)
- Zuweisung (Wert = 5;)
- Funktionen (doEtwas() {})
- Programmflusssteuer-Struktur (loop, if > then > else)
T09
Welches Vorbild hat die objektorientierte Programmierung?
Die Natur als Vorbild
- Objekte lassen sich nach Eigenschaften klassifizieren
- Klassen können hierachisch geordnet werden, wobei Unterklassen vererben die Eigenschaften der übergeordneten Klassen
T09
Nennen Sie die Unterschiede zwischen objektorientierten und prozeduralen Konzepten.
- Zusammenfügen von Daten und Funktionen
- Datenkapselung (Eigenschaften können versteckt werden)
- Wiederverwendung von bereits vorhandener Software
T09
Formulieren Sie das Kernkonzept einer objektorientierte Programmierung.
Objekte von der selben Klasse sind während der Laufzeit jedoch einzigartig.
(Teig > Sterform > verschiedene Sternformen aus dem selben Sternform)
T09
Nennen Sie die Bestandteile einer Klassen:
- Felder (Daten)
- Methode (Funktionen)
T09
Was ist ein Konstruktor?
- Ein Konstruktor instanziert ein Objekt
- Mehrere Konstruktoren sind in einer Klasse erlaubt. Der Konstruktor hat jedoch einzigartige Muster
T09
Wie sind die Verhältnisse zwischen Ober- und Unterklasse?
- Eine Klasse darf einer anderen untergeordnet sein
- Eine Oberklasse ist eine Generalisierung der Unterklasse
- Eine Unterklasse ist eine Spezialisierung (spezifisch) der Oberklasse
T09
Was ist eine Kapselierung?
Das Verstecken von bestimmten Feldern und Methoden.
T09
Was ist eine Vererbung?
- Unterklasse dürfen nicht verteckten Bestandteilen der Oberklasse vererben
- Darf auch Bestandteile haben, die nicht vererbt sind
T09
Was bedeutet Polymorphismus?
- Eine Unterklasse darf eine Methode deren Überklasse überschreiben
- Wenn ein Objekt der Unterklasse mit der Oberklassename verwiesen wird, wird diese automatisch überschrieben
T09
Erklären Sie wie Java Virtual Machine funktioniert.
- Um den JavaCode wird eine Hardwaresimulation gebaut (JVM)
- Bytecodes (ähnlich wie Maschnencodes) wird abgearbeitet
- Der Java-Compiler wandelt Java-Quellcode in Bytecodes um
- Die JVM kümmert sich um die Reservierung und Freigaben von Arbeitspeicher
- Für die Ausführung auf jedem Plattform wird eine Javaumgebung benötigt
T10
Wozu dient HTTP?
HTTP (Hypertext Transfer Protocol)
- Transportiert die Anforderungen und Antworten zwischen Browser und WebServer
- Eingabe durch URL oder innerthalb HTML möglich
T10
Wie sind die HTTP-Zyklen Anforderungen/Antworten aufgebaut?
- Vom Browser aus wird via TCP/IP eine Verbindung zum WebServer hergestellt
- Die Informationen werden über die aufgebaute Verbindung angefordert
- Der Webserver sendet die Antworten auf der selben Verbindung zurück
- Abbau der Verbindung
T10
Wie werden die Antworten einer dynamischen Websteiten auf der Serverseite abgearbeitet?
- Der Webserver ruft entsprechende Servlet (Java-Klasse / Instanz) auf
- Der Servlet holt Daten vom Datenbank-Server
- Der Servlet ergänzt JSP (Java Server Pages / Platzhalter) mit Daten. HTML-Seite wird erzeugt
- Der Webserver sendet die HTML-Seite zum Client-Browser als Ergebnis
T10
Was sind Servlets?
Als Servlets bezeichnet man Java-Klassen, deren Instanzen innerhalb eines Webservers Anfragen von Clients entgegennehmen und beantworten (dynamische Webseiten).
T10
Wie funktioniert JSP?
JSP (Java Server Pages)
- Eine JSP-Datei besteht aus HTML und JSP Syntaxe
- JSP-Syntaxen werden in Java geschrieben und mit HTML-Syntax gekennzeichnet
- Serverseits werden Java-Syntaxen der JSP-Abschnitte ausgeführt und durch Texten für die Ausgabe ersetzt. HTML entsteht als Ergebnis.
T10
Nennen Sie die grobe Struktur einer HTML-Datei.
- head, für allgemeine Infos über die Seite
- body, der sichtbare Inhalt der Seite
T10
Wie werden die HTML-Kennungen genannt?
TAGs
T10
Wozu dient CSS?
Zur Darstellung des Inhaltes vom HTML.
CSS können entweder innerhalb einer HTML-Datei geschrieben werden. Oder ausserhalb als eigenständige Datei, die dann von der HTML-Datei aufgerufen wird.
T11
Nennen Sie die Dreischichten der Software-Architektur:
- Benutzeroberfläche (View)
- Fachlogik (Controller)
- Datenhaltung (Model)
T11
Nennen Sie die vier gängigen Projektverwaltungsmodelle
- Wasserfall (50'er)
- Inkrementelle und iterative Modelle (60'er)
- V-Model (Früh 90'er)
- Agiles Vorgehen (Mitte 90'er)
T11
Welche Merkmale weisen das Wasserfall Model auf?
T11
Welche Sichtweisen im Wasserfallmodell wird heute noch eingesetzt?
Verifikation: Wurde das Produkt richtig gebaut? (ist es ein Stuhl?)
Validierung: Wurde das richtige Produkt gebaut? (hat der Kunden einen Stuhl bestellt?)
T11
Nennen Sie die Vor- und Nachteile eines Wasserfall-Modells.
Vorteile
- logisch, schlüssig
Nachteile
- Ausgang nur vorausschauend
- Testen erst nach der Implementierung > Gefahr von Unterschiede zwischen Anforderung und Entwicklung
T11
Nennen Sie die Merkmale eines V-Modells:
- V-Model besteht aus zwei Teams (Entwicklungs- und Testteam)
- Die linke Seite des Vs stellt die Entwicklung dar
- Während der Entwicklung wird bereits im Hintergrund von den Testteam Testkriterien bestimmt
- Ständige Verfolgungen reduzieren das vergessengeratene Anforderungen
- Während der Vailidierung wird der Kunde einbezogen
- Anders als Wasserfallmodell: Teile der Entwicklung darf weiter zur nächsten Phase gegeben werden
- Noch für grosse Projekte eingesetzt
T11
Nennen Sie die Vor- und Nachteile eines V-Modells:
Vorteile
- Die Wahrscheinlickeit, dass eine Anforderung vergessen geht, ist verhältnismässig niedrig
Nachteile
- Am Anfang wird sehr viel dokumentiert
- Übertriebenes Spezifizieren
- Denkfehler wird erst später erkannt
T11
Beschreiben Sie die Merkmale einer Inkrementellen und iterativen Modell.
- Am Anfang werden nur grundlegende Anforderungen formuliert
- Ein Produktkern wird gebildet
- Das Produkt wächst wie ein Schneckenhaus, von innen nach aussen
- Inkrimentelle Anpassungen beim nächsten Durchlauf
- Kunden Anforderungen werden teilweise erst entwickelt, wenn der mit den einzelnen Zwischenprodukte etwas anfangen kann
- Basis für agiles Vorgehen
T11
Erklären Sie die Begriffe iterativ und inkrementell:
iterativ: Bestehendes wird durch mehrere Durchläute stetig verbessert, bis die Qualiätsanforderung genügt.
inkrementell: Jeder Durchlauf bringt die Realisierung neuer Anforderungen.
T11
Nennen Sie die Vor- und Nachteile eines inkrementelle und iterative Modells.
Vorteile
- Mangeln und Fehlern frühzeitig wahrnehmbar
- Benutzer kann stückweise ausprobieren > Risikominimierung
- Effizienter Einsatz von Arbeitskraft
Nachteile
- Software kann nicht fertiggetestet werden > noch nicht fertig entwickelt
- Kommunktionsaufwand zwischen Entwickler und Tester
T11
Welche Werte vertritt das Agile Vorgehen?
- Prozessmodell muss möglichst flexibel sein, um die ständig ändernde Rahmenbedingungen anzupassen
- Individualen und Interaktionen sind wichtiger als Prozesse und Werkzeuge
- Funktionierende Software ist wichtiger als umfassende Dokumentation
- Die Zusammenarbeit mit dem Kunden ist wichtiger als Vertragsverhandlungen
- Sich auf unbekannte Änderungen einzustellen, ist wichtiger als einen Plan zu folgen
T11
Welche Merkmale sind typisch für Agiles Vorgehen?
- Kurze Projektdauer (nicht mehr als 4 Wochen)
- Kunde stark involviert
- Vorgehen wird von ereignis- bzw. personengetrieben
- Nur für kleine Software-Projekte geeignet (Entwicklungsprojekte)