Software Engeneering

lernen 5

5 Prinzipien des Archtitekturentwurfes erklären können

  1. Modularisierung:
    1. Eigenschaft einer Architektur – Sie ist hoch, wenn ein System in Komponenten zerteilbar ist, die unabhängig voneinander verändert oder weiterentwickelt werden können.
    2. Ziele: Einfachheit und leichtes Verständnis, Austauschbarkeit von Modulen, Änderungen beeinflussen keine Schnittstellen.
  • Arten: Funktional, Datenobjektebene, Datentypenebene.
  1. Kopplung und Kohäsion:
    1. Kopplung
  • Breite und Komplexität zwischen Modulschnittstellen – nach Möglichkeit gering.
  • Je geringer die Kopplung zwischen Bausteinen ist, desto weniger Komplexität besteht.
    1. Kohäsion
  • Zusammenhalt zwischen Modulteilen – nach Möglichkeit hoch.
  • Bausteine sind nur für eine definierte Aufgabe verantwortlich
    1. Information Hiding:
      1. Schnittstellen verbergen interne Moduldetails welche die nutzende Komponente nicht kennen muss/soll.
      2. Verhindert, dass interne Informationen wie Speicherstrukturen außerhalb verwendet werden.
  • Realisierung durch Kapselung oder abstrakte Datentypen.
  1. Pro: Loyalität des Programms und der Komponenten.
  2. Cons: Überblick über das Gesamtsystem leidet.
  1. Trennung von Zuständigkeiten:
    1. Aufteilung des System in Elemente und Gruppierung der Elemente, die mit gleichen Aufgaben betreut sind.
    2. Komponenten sind nur für eine spezielle Aufgabe zuständig.
  • Mögliche Trennregeln: technisch und fachlich, variable und fixe, Funktion und Interaktion.
  1. Hierarchische Gliederung:
    1. Kontinuierliche Verfeinerung von Komponenten bis sie spezifiziert und realisiert werden können.
    2. Funktion – Verwaltung von Komplexität.
  • Arten:
    1. Aggregationshierarchie – Bestandteilgliederung.
    2. Schichtenhierarchie – Vorgängerschicht bildet Basis der nachfolgenden Schicht.
    3. Generalisierungshierarchie – Ordnung nach Funktion und Attributen der Merkmale.
 

Diskussion