ITF T08-T13

Informatik Fundamentals

Informatik Fundamentals


D. V.
Diese Lernkarten bieten eine umfassende Übersicht über grundlegende Konzepte der Informatik auf Berufslehre-Niveau. Sie decken Themen wie Algorithmen, Programmierung in Java, Software-Architektur, UML-Diagramme, Projektmanagementmodelle und Kryptografie ab. Die Karteikarten sind besonders nützlich für angehende Informatiker, die sich mit der Entwicklung von Programmen, der Modellierung von Systemen und der Implementierung von Sicherheitsmechanismen vertraut machen möchten.
Flashcards
56
Students
2
Language
German
Category
Computer Science
Created / Updated
25.11.2015 / 06.09.2017

Flashcards

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.

  1. Das Algorithmus wird als Quellcode in einer Programmiersprache umgeschrieben, oder bestehender Quellcode wird bei Bedarf geändert

  2. Der programmiersprachespezifische Kompilierer (selbst ein Programm) wird ausgeführt, um den Quellcode (in einer Eingabe-Datei) in Objektcode (in eine (Ausgabedatei) umzuwandeln

  3. 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?

  1. Vom Browser aus wird via TCP/IP eine Verbindung zum WebServer hergestellt
  2. Die Informationen werden über die aufgebaute Verbindung angefordert
  3. Der Webserver sendet die Antworten auf der selben Verbindung zurück
  4. Abbau der Verbindung

T10

Wie werden die Antworten einer dynamischen Websteiten auf der Serverseite abgearbeitet?

  1. Der Webserver ruft entsprechende Servlet (Java-Klasse / Instanz) auf
  2. Der Servlet holt Daten vom Datenbank-Server
  3. Der Servlet ergänzt JSP (Java Server Pages / Platzhalter) mit Daten. HTML-Seite wird erzeugt
  4. 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.

  1. head, für allgemeine Infos über die Seite
  2. 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?

  • Phasenweise Fortschritt
  • Bei Fehler wird an diesem Punkt gehalten, und alles zurückgegen, um den Fehler zu korrigieren. Erst dann geht die anhaltende Phase weiter
  • Stammt aus der Ingenieuren-Branche
  • Einsatz bei grossen Software-Projekte
  • Heute wird das Wasserfallmodel nicht mehr eingesetzt

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)

Study