Grundlagen Flashcards
Was sind die grundlegenden Bestandteile eines Systems?
Eingaben: Der Systeminput (Einwirkung auf System/Elemente - können aus Umgebung oder von anderen Elementen stammen)
Ausgaben: Der Systemoutput (Wirkung auf anderes System oder andere Elemente)
Systemgrenze: Jedes System hat eine feste Grenze zur Außenwelt (Umgebung)
Subsysteme: sich aus der rekursiven Definition eines Systems ergebende, unterscheidbare Bestandteile die miteinander kommunizieren
(Modell): ein zielgerichtetes Abbild bzw. die Abstraktion eines Systems
Systembegriff ist rekursiv = Komponenten eines Systems können selbst (Sub)systeme sein → Dadurch Skalierbarkeit
Welche Arten von Systemen gibt es?
- natürliche Systeme: z.B. anorganische, organische Systeme
- künstliche/vom Menschen gestaltete Systeme: z.B. logische Systeme (Zahlensystem, Alphabet), mechanische Systeme (Automaten), soziale Systeme (Kultur, Gesellschaft, Staat), kombinierte Systeme aus sozialen und mechanischen oder logischen Systemen
- geschlossene/offene Systeme: offene Systeme besitzen mindestens eine Schnittstelle zur Umwelt, natürliche Systeme sind per Definition geschlossen
- Gesamt-/ und Teilsysteme
- Stabile und kybernetische Systeme
Was sind die drei zentralen Eigenschaften eines Modells (nach Stachowiak)?
- Abbildung: Modelle sind nicht identisch mit dem Urbild
- Verkürzung: Modelle bilden immer nur eine bestimmte Perspektive ab und niemals alle Merkmale des Urbilds
- Pragmatismus: Modelle erfüllen eine Ersatzfunktion, für bestimmte Subjekte innerhalb bestimmter Zeitintervalle zu einem bestimmten Zweck
Welche Möglichkeiten der formalen Systembeschreibung gibt es?
- BPMN
- Archimate
- EPK
- DEVS/PDEVS
- Petrinetze
- Zustandsdiagramme
- Zelluläre Automaten
- Prozessalgebren (z.B. Pi-Calculus)
- System Dynamics
- MODELICA
- Multi-Agenten
- OCL
- UML
- SysML
Was ist das EVA-Prinzip?
EVA steht für Eingabe - Verarbeitung - Ausgabe
Eingabe und Ausgabe können dabei durch Trajektorien (Pfeile) dargestellt werden und durch Verteilungen angenähert werden
Die im System geschehende Verarbeitung kann durch Zustandsänderungen beschrieben werden.
Was sind Auslöser für Zustandsänderungen?
- Ereignisse/bestimmte Zeitpunkte
- Zeitschritte/regelmäßige Abstände
- kontinuierliche Änderung
Inwiefern hängen Software Engineering und Systemmodellierung zusammen?
Da Software Engineering (nicht Softwareentwicklung) eine Ingenieursdisziplin ist und entsprechend ingenieursmäßig vorgegangen werden sollte, muss vor der eigentlichen Entwicklung eine Spezifikation bzw. Modellierung eines Systems oder einer Architektur erfolgen
Was zeichnet die elementaren Bestandteile eines Systems aus?
- Hohe Kohäsion
- Divide and Conquer (Komplexe Aufgaben auf einzelne Funktionen herunterbrechen)
- Single Responsibility Principle
Was beschreiben statische Modelle? Wie unterscheiden sich dynamische Modelle davon?
Statische Modelle beschreiben welche Komponenten ein System hat und wie die Beziehungen zwischen den Komponenten geartet sind.
Dynamische Modelle beschreiben welche Zustände in welcher Folge in einem System erreicht werden
Was sind Zweck und Vorteile der formalen Modellierung?
- Kann zur Entwicklung, Darstellung und Überprüfung von Theorien genutzt werden
- Spielen wichtige Rolle in der Hypothesengenerierung
- Kann ein Formalmodell in der expliziten Form ein bestimmtes Verhalten hervorbringen, kann es proof-of-concept genannt werden
- Nur minimal nötige Annahmen einbezogen, unwesentliche Annahmen werden eliminiert (Prinzip der Sparsamkeit)
- Die verwendete Terminologie ist standardisiert und klar formuliert, oft in mathematischen Formeln
Vorteile:
- Folgen gegenüber anderen Modellen (zB. Verbalmodellen) klar definierten Annahmen und Regeln
- Wenig Interpretationsspielraum / Mehrdeutigkeit ausgeschlossen
- Alle relevanten Aspekte sind eindeutig festgelegt und folgen mathematischen Konventionen
- explizit und abgeschlossen –> Konstrukte und Kausalzusammenhänge eindeutig und explizit
Wozu nutzt man Modelle?
- Systeme können mit Modellen auf verschiedene Abstraktionsebenen beschrieben werden
- Das Wissen um die Abstraktion ist essenziell für das Verständnis des Modelles
- Modelle unterstützen das Verständnis von Systemen und dokumentieren sie, wenn Systeme fehlerfrei und up-to-date sind
- Modelle erlauben Experimente, bevor das System modifiziert / gebaut wird (Geschäftsprozessmodellierung, Hausbau usw.)
Welche Aspekte von Systemen können modelliert werden?
- Richtet sich nach Zweck und Ziel des Modells
Beispiele:
- Mit Hilfe eines Klassendiagramms lassen sich einzelne Klassen, Attribute und zugeteilte Methoden modellieren
- Mit Hilfe eines Use-Case-Diagramms lassen sich die auszuführenden Interaktionen aller Stakeholder eines Systems sowie deren Beziehung modellieren
- Mit Hilfe eines BPMN lassen sich die Geschäftsprozesse in einzelnen Schritten und die dafür benötigten Informationsflüsse darstellen
Wie definiert sich statisches Verhalten ?
- Veränderung der Ausgangsgröße ändert sich nur dann, wenn sich die Eingangsgröße gerade ändert
- Wenn sich die Ausgangsgröße auch ohne Bewegung der Eingangsgröße bewegt, besteht ein dynamisches System
- Beschreibung durch algebraische Gleichungen
- Bsp.: idealer Messverstärker (Eingangssignal wird mit bestimmtem Faktor ohne Verzögerung des Eingangssignal verstärkt)
Wie definiert sich dynamisches Verhalten?
- Interne Energiespeicher werden ge- und entladen, dadurch entsteht Eigenbewegung des Systems (Eigendynamik)
- Beschreibung durch Differenzialgleichungen
- Bsp: Pendel (in dem Moment, wo das Pendel zum Schwingen losgelassen wird, wird keine weitere Eingangsgröße erschaffen, aber durchgehend neue Ausgangsgrößen)
Einsatzzwecke von Modellen in SW Engineering
- Beschreibung von existierenden Systemen (Elimination aller unwesentlichen Bestandteile / Erhaltung aller wesentlichen Eigenschaften)
- Deskriptives Modell (Modell als Abbild des Systems / Überprüfung der Eigenschaften)
- Präskriptives Modell (Modell als Vorbild des Systems / Vorgabe von Eigenschaften / Experiment vor Bau)
- Detailansicht einzelner Systemelemente