Durchschnittlicher Fortschritt
Gewusst0
Nicht gewusst0
Noch nicht gestartet30

Empfohlene Karteikarten-Sets

Karteikarten im Karteikarten-Set

Noch nicht gestartet (30)

Prinzip

  • Grundsatz, den man seinem Handeln zu Grunde legt
  • z.B. "Objektorierntierung"

Technik

  • Vorschrift, zur Durchführung einer Tätigkeit
  • z.B. Java

Methode

  • Bündelung von Techniken zur Erreichung vorgegebener Ziele
  • z.B. Anwendung von OO-Programmierung

Unterschied zwischen Methode und Technik

  • bei einer Methode ist verstanden, wie und unter welchen Rahmenbedingungen eine Methode eingesetzt werden kann, um die gewünschten Ergebnisse zu erreichen

  • man kennt die Grenzen der Anwendbarkeit.

  • Technik = wie?

  • Methode = warum?

Werkzeug

  • Rechenunterstützung für Techniken und Methoden
  • z.B. Eclipse JDE

fundamentale Prinzipien im SE

  • Striktheit und Formalität
  • Strukturierung
  • Modularität
  • Abstraktion
  • Änderbarkeit
  • Allgemeinheit
  • Inkrementalität

Striktheit und Formalität

  • Strikte Spezifikation aller Entwicklungsartefakte, klare und eindeutige Dokumentation
  • z.B. strikte Spezifikation aller Entwicklungsartefakte wie bspw. Anforderungsdefinition, Entwurf, Testfälle

Striktheit und Formalität notwendig für

  • Verständnis

  • Weitere Entwicklungsschritte

  • Spätere Änderbarkeit

  • Schadenspotential von Missverständnissen

Strukturierung

  • Unterteilung in Aspekte / Bereiche und separate Behandlung dieser Bereiche

Mögliche Aspekte der Strukturierung

  • Zeitlich: Anforderungsanalyse / Entwurf / Programmierung / Test
  • Qualität: Performanz / Robustheit / Korrektheit

Dekomposition

  • Aufteilung
2038667375f19649d6e00c8.80365275phpNQ45KU.png

Komposition

  • Integration zu Gesamtsystem
5429534485f1964bc123053.94664452phpGmTIwF.png

Strukturierung Vor- und Nachteile

Vorteile:

  • Überschaubarkeit und Handhabbarkeit

  • Komplexitätsbeherrschung

  • Fokus auf das Wesentliche

Nachteile:

  • Globale Optimierungen schwerer zu berücksichtigen

  • „Pragmatischer“ Lösungsansatz

Modularität

  • Voraussetzung für Wiederverwendung in kleinen Teilen und lokale Änderbarkeit

Kriterien für „gute“ Modularität

  • Hohe Kohäsion = enger interner Zusammenhalt

  • Geringe Kopplung, = wenig Wechselwirkungen mit anderen Modulen

Kohäsion

  • Beschreibt wie eng die Elemente innerhalb eines Moduls zusammenhängen

  • Je höher die Kohäsion umso enger die Zusammenhänge

Kopplung

  • Beschreibt wie stark unterschiedliche Module voneinander abhängen

  • Je höher die Abhängigkeit umso schwieriger ist es Änderungen in einem Modul vorzunehmen, da dann alle anderen Module davon betroffen sind.

Kohäsion und Kopplung

8462657295f19664addcd42.75175928phpMH0h5A.png

Abstraktion

„Weglassen“ unwichtiger Daten und auf das wesentliche konzentrieren

Verkürzende Eigenschaften

  • = „weggelassene“ Merkmale

 

 

  • Beispiel „Landkarte“ z.B.:

    • Wassertemperatur

    • Fauna / Flora (z.B. Bäume ..)

Erweiternde Eigenschaften

  • kommen in der Realität nicht vor

 

 

  • Beispiel „Landkarte“ z.B.:
    • Einfärbung der Straßen je nach Art

Änderbarkeit

  • Umgang mit Änderungen

Ursachen für Änderungen

  • Erweiterung der Funktionalität basierend auf Erkenntnisgewinn

    (enhansive Wartung)

  • Beseitigung von Fehlern (korrektive Wartung)

  • Verbesserung nicht-funktionaler / Qualitäts-Eigenschaften (perfektive Wartung)

  • Erweiterung der Funktionalität wegen sich ändernder Rahmenbedingungen (adaptive Wartung)

Chancen der Änderbarkeit

  • Flexible Erfüllung zusätzlicher Kundenwünsche, Produktlinien, ...

Risiken der Änderbarkeit

  • Alles wird geändert

Allgemeinheit

  • Erlaubt den Einsatz von SW für verschiedene Zwecke

  • unterstützt Änderbarkeit

  • aber verursacht Aufwand

Inkrementalität

  • Tätigkeit in Schritte gliedern und durchführen und nach jedem Schritt entsprechend rückkoppeln
    • Man betrachtet nicht alles an einem Stück, sondern in kleineren „Tranchen“, die man besser handhaben kann.

oder

  • In gewisser Weise ein „Separation of Concerns“

Iterative SW-Entwicklung

Ziel bekannt, wird mit jeder „Tranche“ besser erreicht

Inkrementelle SW-Entwicklung

Ziel der Entwicklung bleibt offen

Zusammenhänge Prinzipien und Eigenschaften

4089003475f19b9189ee510.40168200phpdVeWhr.png