IT – UML

Wofür?

  • graphische Visualisierung
  • Spezifizierung
  • Konstruktion
  • Dokumentation
  • Sprachstandard

Klassendiagramm

schematisch, statistisch; Menge von Klassen und ihre Relationen

Bsp. Stuhl, Tisch

Objektdiagramm

tatsächlich, existent; Menge von Objekten und ihre Relationen, Momentaufnahme der Instanzen von Objekten

Bsp. blauer Stuhl

IT – Komplexitäten

Eigenschaften eines Programms

  • Effizienz
  • Korrektheit
  • Zuverlässigkeit
  • Robustheit

Zeitkomplexität: Aufwand an Rechenzeit (in Schritten gemessen)

Unterscheidung:

  • worst-case
  • best-case
  • average-case

Beschreibung:

  • exakt: Zählfunktion T: N -> N; n ∈ N
  • asymptotisch: Angabe einer Vgl.größe (Komplexitätsklasse)

Speicherplatzkomplexität: Umfang des zu reservierenden Speicherplatzes

Komplexitätsklassen

obere Schranke

O(f(n)) := { g: N -> N | ∃c ∈ R, c >0: ∃ n0 ∈ N: ∀n >= n0: g(n) ≤ c * f(n)}

untere Schranke

Ω(f(n)) := { g: N -> N | ∃c ∈ R, c >0: ∃ n0 ∈ N: ∀n >= n0: g(n) ≥ c * f(n)}

 

O( 1 ) – konstant

O( log2n ) – logarithmisch – Bsp. binäre Suche

O( n ) – linear – Bsp. sequentielle Suche

O( n * log2n ) – n log n – Bsp. gute Sortierverfahren

O( n² ) – quadratisch

O( n³ ) – kubisch

O( 2^n ) – exponentiell

 

Faustregeln

  • Fallunterscheidung: Kosten der Anweisung + Kosten der teuersten Alternative
  • Schleife: Zahl der Durchläufe * Kosten der teuersten Durchführung
  • Rekursion: Anzahl der Aufrufe * Kosten der teuersten Durchführung
  • Vergleich versch. Operationen: Kosten der einzelnen Operationen bestimmen

IT – Java

  • Datentypen (Elementare D., ADT, oder Referenztyp)
  • Literale
  • Variablen verschiedener Referenzstufen
  • Ausdrücke & Operatoren
  • Typkonversion (implizit, explizit (cast))
  • Anweisungen (Ausdruck, Deklaration, Kontrollfluss)
  • Höhere Datentypen (Felder, Arrays)
  • Unterprogramme
  • Parameterübergabe (call by value, call by reference)

IT – Algorithmen

Def. genaue, endl. Beschreibung eines allgemeinen Verfahrens, nutzt elementare, ausführbare Schritte

statt 3 + 4  –> a + b

Effektivität

jeder einzelne Schritt ausführbar

Effizienz

Leistungsfähigkeit, geringer Aufwand

Korrektheit

partiell: jedes Ergebnis entspricht der Ausgabespezifikation sofern die Eingaben der Eingabespez. entsprechen, nicht zwingend anhaltend

total: partiell korrekt, terminiert nach endl. vielen Schritten, nach jeder Eingabe, die der Eingabespez. entspricht

Terminierung

Algorihtmus, der bei den Eingabespez. entsprechenden Eingaben nach endlich vielen Schritten abbricht.

Determinismus

weiterer Ablauf des Algorihtmus ist zu jedem Zeitpunkt eindeutig bestimmt, Ablauf nur von Eingaben abhängig

Determiniertheit

liefert immer gleiche Ausgaben bei den Eingabespez. entsprechenden Eingaben

IT – Softwareentwicklung: Phasenmodell & Schneckenmodell

Phasenmodell

Problem führt über Anforderungsanalyse zur Anforderungsspezifikation.

Es folgt der Systementwurf, der zur Systementwurfsspezifikation führt.

Der Detailentwurf endet in der Detailentwurfsspezifikation.

In der abschließenden Codierung und Inetgration wird dann das ausführbare Programm erarbeitet.

Schneckenmodell

Beginnt beim Problem und durchläuft dann nacheinander in immer größeren Kreisen die Phasen Anforderung – Systementwurf – Detailentwurf und Codierung.
Die größeren Kreisen stellen dabei den intensiveren Arbeitseinsatz und die längere Verweildauer dar.

IT – Grammatiken & Notationen

Chomsky-Grammatik

4-Tupel G = ( N , T , P , S )

N – endliche Menge Zeichen, Nichtterminalsymbole

T – endliche Menge Zeichen, disjunkt N, Terminalsymbole

S ∈ N – Startsymbol

P – endliche Menge Regeln der Form (p, q) ∈ ( N ∪ T ) *

 Syntaxdiagramme

N Rechteck

T langrunder Kreis

gerichtete Pfeile verbinden die einzelnen graphischen Elemente

Grundtypen:

  • Sequenz
  • Option
  • Alternative
  • Wiederholung

EBNF

erweiterte Backus Naur – Form

besteht aus:

  • einer Startregel
  • sonstigen Regeln
  • Terminal- und Nicht-Terminalsymbolen

T – nicht speziell gekennzeichnet

N – in <> eingeschlossen

P – Form: rechte Seite = linke Seite

  • linke Seite: genau ein N
  • rechte Seite: T, N, Alternativen, geklammerte Ausdrücke
  • Klammerarten:
    • ( ) Gruppierung
    • [ ] Option
    • { } n-fach (auch 0 mal)

 

 

IT – Syntax & Semantik

Syntax

Form, im täg. Leben oft implizit Semantik zugeordnet

allgemeine Grammatiken, Syntaxdiagramme, BNF, EBNF, Java Notation

Semantik

Bedeutung

Spezifikationen (zB ADT – abstakter Datentyp), natürliche Sprachen, UML

 

 

Riediger – Lerninhalte

Datenbanken

  • OO-Modell & OO-Instanz
  • SQL (Selektion, Projektion, Join)
  • Fehlerquellen (Dirty Read, Non-Repeatable Read, Lost Update)

Betriebssysteme

  • Aufgaben
  • Amdahl’s Law
  • Prozesse & Threads
  • Deadlocks
  • Synchronisierung
  • Monitore & Semaphore

 

  • Netzplantechnik inkl. Bsp.

Riediger – Lerninhalte: Datenbanken

Datenbanken

Daten-Modell

logische Beschreibung von Daten, deren Eigenschaften und Beziehungen

  • Ergebnis des log. DB-Entwurfs
  • Teil der Spezifikation für DBS
  • Doku und Referenz

UML-Klassendiagramme (Modell)

  • Datenmodellierung
  • direkt abzubilden auf klassische ER-Modelle

UML-Objektdiagramme (Instanz)

Anomalien & Normalformen lasse ich aus da nicht Examensrelevant

Anfragen im Relationenmodell

  1. Projektion
  2. Selektion
  3. Verbund/Join

sowie Berechnungen durch Verketten von Operationen

Selektion

„horizontale Teilrelation“
Einschränkung auf eine Teilmenge Tupel

Bsp.

SELECT * FROM L WHERE menge >= 100;

Projektion

„vertikale Teilrelation“
Einschränkung auf Teilmenge der Attribute

Bsp.

SELECT ort, lcode FROM L;

Umbenennen von Attributen

Bsp.

SELECT ort AS city FROM L;

 Verbund

Verknüpfen zweier Relationen

Bsp.

SELECT * FROM L, LR WHERE L.lID = LR.lID AND L.menge = LR.menge;

 

 

von Neumann – Computer

besteht aus Rechenwerk, Steuerwerk, Speicher, Daten- und Adressbus

Speicher

  • Eingang Adressen
  • Eingang Steuersignale
  • Ein-/Ausgang Daten

Steuerwerk

  • Befehlsdaten
  • Ausgang Adressen
  • Ausgang Steuersignale Rechenwerk
  • Ausgang Speicher

Rechenwerk

  • Eingang Steuersignale
  • Ein-/Ausgang Daten

schematische Darstellung eines von Neumann Computers