403 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			403 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
| \documentclass{article}
 | ||
| \usepackage[utf8]{inputenc}
 | ||
| \usepackage{tikz}
 | ||
| \usetikzlibrary{mindmap}
 | ||
| 
 | ||
| \pagestyle{empty}
 | ||
| \begin{document}
 | ||
| 
 | ||
| \begin{tikzpicture}[mindmap, grow cyclic, every node/.style=concept, concept color=orange!40,
 | ||
|         level 1/.append style={level distance=5cm,sibling angle=120},
 | ||
|         level 2/.append style={level distance=3cm,sibling angle=45}]
 | ||
| 
 | ||
|     \node{Modell}
 | ||
|     child { node {Beschreibung eines Ausschnitts der Realität}}
 | ||
|     child { node {Modelle}
 | ||
|             child { node {Analysemodell}}
 | ||
|             child { node {Entwurfsmodell}}
 | ||
|             child { node {Implementierung (-smodell)}}
 | ||
|             child { node {Vorgehensmodell}}
 | ||
|             child { node {Produktmodell}}
 | ||
|             child { node {Dokumentation, Alternativen-Auswahl}}
 | ||
|         }
 | ||
|     child { node {für}
 | ||
|             child { node {Sichten}}
 | ||
|             child { node {Funktionen}}
 | ||
|             child { node {Daten}}
 | ||
|             child { node {Algorithmen}}
 | ||
|             child { node {Systemumgebung}}
 | ||
|             child { node {Dynamisches Verhalten}}
 | ||
|             child { node {Objektorientierte Modelle}}
 | ||
|         };
 | ||
| \end{tikzpicture}
 | ||
| 
 | ||
| 
 | ||
| \begin{tikzpicture}[mindmap, grow cyclic, every node/.style=concept, concept color=orange!40,
 | ||
|         level 1/.append style={level distance=5cm,sibling angle=72},
 | ||
|         level 2/.append style={level distance=3cm,sibling angle=45}]
 | ||
| 
 | ||
|     \node{Klassische Modelle}
 | ||
|     child [concept color=blue!30]{ node {Funktionen}
 | ||
|             child { node {Funktionsbaum}
 | ||
|                     child { node {Hierarchische Dekomosition der Fkt}}
 | ||
|                     child { node {nummerieren der Ebenen/Funktionen möglich}}
 | ||
|                     child { node {Bsp: Abonnement Verwaltung}}
 | ||
|                 }
 | ||
|             child { node {Blockschaltbild}
 | ||
|                     child { node {eingebettetes System, HW/SW}}
 | ||
|                 }
 | ||
|         }
 | ||
|     child { node {Daten}
 | ||
|             child { node {Data Dictionary}
 | ||
|                     child { node {Verzeichnis von Daten mit Strukturinformationen}}
 | ||
|                     child { node {Backus-Naur-Form, kontextfreie Grammatik}}
 | ||
|                 }
 | ||
|             child { node {Entity Relationship Diagram}
 | ||
|                     child { node {Daten und ihre Beziehungen}}
 | ||
|                 }
 | ||
|         }
 | ||
|     child { node {Systemumgebung}
 | ||
|             child { node {Datenflussdiagramm}
 | ||
|                     child { node {Fluss und Transformation von Daten zwischen Funktionen, Speichern und Schnittstellen}}
 | ||
|                     child { node {kein Kontrollfluss}}
 | ||
|                 }
 | ||
|         }
 | ||
|     child { node {Algorithmen}
 | ||
|             child { node {Entscheidungstabelle}
 | ||
|                     child { node {Regelbasierte Beschreibung}}
 | ||
|                     child { node {Bedingung}}
 | ||
|                     child { node {Aktionen}}
 | ||
|                     child { node {Reduktionsregeln}}
 | ||
|                 }
 | ||
|             child { node {Pseudocode}
 | ||
|                     child { node {von Programmiersprache abstrahierende, detaillierte Beschreibung eines Algorithmus}}
 | ||
|                 }
 | ||
|             child { node {Programmablaufplan}
 | ||
|                     child { node {Grafische Beschreibung des Kontrollflusses}}
 | ||
|                     child { node {DIN 66001}}
 | ||
|                     child { node {Unstrukturiert}}
 | ||
|                 }
 | ||
|             child { node {Struktogramm}
 | ||
|                     child { node {Nassi-Shneidermann-Diagramm}}
 | ||
|                     child { node {keine Sprünge}}
 | ||
|                 }
 | ||
|         }
 | ||
|     child { node {Dynamisches Verhalten}
 | ||
|                 child { node {diskrete Zustände und atomare Zustandübergänge}}
 | ||
|             child { node {Zustandsautomat}
 | ||
|                     child { node {Verhalten mit Zuständen und -übergängen}}
 | ||
|                     child { node {Automatenmodelle und -theorie}}
 | ||
|                     child { node {Ggf zerlegung oder kommunizierende Automaten}}
 | ||
|                 }
 | ||
|             child { node {Flow-Chart}}
 | ||
|             child { node {Ereignisgesteuerte Prozesskette (EPK)}
 | ||
|                     child { node {Geschäftsprozesse}}
 | ||
|                     child { node {BPM}}
 | ||
|                 }
 | ||
|             child { node {Petri-Netz (ggf. mit Zeitmodell)}
 | ||
|                     child { node {Grafische Beschreibung von Nebenläufigkeit und Synchronisation}}
 | ||
|                 }
 | ||
|         }
 | ||
|     child { node {Objektorientierte Modelle}
 | ||
|             child { node {Klassendiagramme}}
 | ||
|             child { node {UML}}
 | ||
|         };
 | ||
| \end{tikzpicture}
 | ||
| 
 | ||
| \begin{tikzpicture}[mindmap, grow cyclic, every node/.style=concept, concept color=orange!40,
 | ||
|         level 1/.append style={level distance=5cm,sibling angle=90},
 | ||
|         level 2/.append style={level distance=3cm,sibling angle=45}]
 | ||
| 
 | ||
|     \node{Objektorientierung}
 | ||
|     child { node {Grundprinzip: Teile und Herrsche}}
 | ||
|     child { node {ein System besteht aus vielen Objekten}}
 | ||
|     child { node {ein Objekt hat}
 | ||
|             child { node {definiertes Verhalten}}
 | ||
|             child { node {inneren Zustand}}
 | ||
|             child { node {eindeutige Identität}}
 | ||
|         }
 | ||
|     child { node {Klasse}
 | ||
|             child { node {Gleichartige Objekte mit ggf. verschiedenen Zuständen}}
 | ||
|             child { node {Verhaltensschema – Operationen}}
 | ||
|             child { node {Innere Struktur – Attribute}}
 | ||
|         }
 | ||
|     child { node {Vorteile}
 | ||
|             child { node {Zuständigkeitsbereiche}
 | ||
|                     child { node {Daten, Operationen und Zustand: lokal und gekapselt}}
 | ||
|                 }
 | ||
|             child { node {Klare Schnittstellen}
 | ||
|                     child { node {Definiertes Objektverhalten, Nachrichten}}
 | ||
|                 }
 | ||
|             child { node {Hierarchie}
 | ||
|                     child { node {Vererbung und Polymorphie (Spezialisierung), Klassenschachtelung}}
 | ||
|                 }
 | ||
|             child { node {Baukastenprinzip}
 | ||
|                     child { node {Benutzung vorgefertigter Klassenbibliotheken}}
 | ||
|                     child { node {Anpassung durch Spezialisierung (mittels Vererbung)}}
 | ||
|                 }
 | ||
|         };
 | ||
| \end{tikzpicture}
 | ||
| 
 | ||
| \begin{tikzpicture}[mindmap, grow cyclic, every node/.style=concept, concept color=orange!40,
 | ||
|         level 1/.append style={level distance=5cm,sibling angle=90},
 | ||
|         level 2/.append style={level distance=3cm,sibling angle=45}]
 | ||
| 
 | ||
|     \node{UML (Unified Modeling Language)}
 | ||
|     child { node {Use-Case-Diagramm}
 | ||
|             child { node {Beschreiben Systemfunktion aus Benutzersicht (Was, nicht Wie)}}
 | ||
|             child { node {Erste Anforderungsspezifikation (requirements)}}
 | ||
|             child { node {Planbare Einheiten als Inkremente für die Entwicklung}}
 | ||
|             child { node {Keine Modellierung eines Ablaufs!}}
 | ||
|             child { node {Erstellen von Testfällen (test case generation)}}
 | ||
|             child { node {Grundelemente}
 | ||
|                     child { node {Anwendungsfall: Use Case}}
 | ||
|                     child { node {Beteiligte: Aktor}}
 | ||
|                 }
 | ||
|             child { node {Verfeinerung mittels Use-Case-Realisierung notwendig}
 | ||
|                     child { node {Textuelle Beschreibung}}
 | ||
|                     child { node {Verhaltensdiagramme}}
 | ||
|                 }
 | ||
|         }
 | ||
|     child { node {Klassendiagramm}
 | ||
|             child { node {Modellierung der Struktur (Aufbau) eines Systems}}
 | ||
|             child { node {Modellierung von statischen Aspekten}}
 | ||
|             child { node {Modellierung der Struktur von Daten}}
 | ||
|             child { node {Klasse im Mittelpunkt}
 | ||
|                     child { node {Aufbau: Attribute, Operationen}}
 | ||
|                     child { node {Beziehungen zueinander: Assoziationen, Vererbung}}
 | ||
|                 }
 | ||
|             child { node {Verbreitetstes und bekanntestes Diagramm der UML}}
 | ||
|         }
 | ||
|     child { node {Objektdiagramm}
 | ||
|             child { node {Struktur des Systems zur Laufzeit zu einem Zeitpunkt}}
 | ||
|             child { node {Tatsächliche Zusammenhänge und Belegungen von Attributen von Objekten zu einem Zeitpunkt}}
 | ||
|             child { node {Eine detaillierte Sicht auf einen Aspekt}
 | ||
|                     child { node {Keine vollständige Beschreibung (zu komplex)}}
 | ||
|                     child { node {Für kompliziertere Abhängigkeiten (z.B. Rekursion)}}
 | ||
|                 }
 | ||
|             child { node {Objektdiagramm für alle Arten von Exemplaren}
 | ||
|                     child { node {z.B.: Klasse (Objekt), Komponente, Knoten, ...}}
 | ||
|                 }
 | ||
|             child { node {Keine Exemplare von Operationen -> Ablauf -> Verhaltensdiagramme / Interaktionsdiagramme}}
 | ||
|             child { node {Kein Verlauf der Wertebelegung über die Zeit}}
 | ||
|         }
 | ||
|     child { node {Paketdiagramm}
 | ||
|             child { node {Gliederung (Strukturierung) des Systems in Teile (Pakete)}}
 | ||
|             child { node {Zuordnung von Elementen zu einem Paket}}
 | ||
|             child { node {Bildung von Hierarchien (Enthält-Beziehung)}}
 | ||
|             child { node {Abhängigkeiten zwischen den Paketen}
 | ||
|                     child { node {"Include" von Quellcode-Dateien (<<import>>)}}
 | ||
|                 }
 | ||
|             child { node {Anwendung:}
 | ||
|                     child { node {Zum Grobentwurf von Systemen}}
 | ||
|                     child { node {Definition von Schichten}}
 | ||
|                 }
 | ||
|         }
 | ||
|     child { node {Komponentendiagramm}
 | ||
|             child { node {Strukturierung des Systems durch Komponenten}}
 | ||
|             child { node {Komponente: Modulare, austauschbare Einheit (Substitution)}}
 | ||
|             child { node {Modellierung der Abhängigkeiten zwischen Komponenten}}
 | ||
|             child { node {Modellierung der inneren Struktur von Komponenten}}
 | ||
|             child { node {Definition von Schnittstellen}}
 | ||
|         }
 | ||
|     child { node {Kompositionsstrukturdiagramm}
 | ||
|             child { node {Teile-Ganzes-Strukturen -> Kompositionsstruktur}}
 | ||
|             child { node {Strukturell statische Kompositionsstrukturen:}
 | ||
|                     child { node {Kurzschreibweise bei vielen Kompositionen}}
 | ||
|                     child { node {Modellierung des Aufbaus komplexer Systeme}}
 | ||
|                 }
 | ||
|             child { node {Strukturell dynamische Kompositionsstrukturen:}
 | ||
|                     child { node {Notwendige Strukturen zur Realisierung eines Verhaltens}}
 | ||
|                     child { node {Definition von Rollen, zur Lösung wiederkehrender Probleme -> Modellierung von Mustern}}
 | ||
|                 }
 | ||
|             child { node {Starke Verwandtschaft mit dem Klassendiagramm}}
 | ||
|             child { node {Spezialisierte Kompositionsbeziehung -> erweiterte Semantik}}
 | ||
|         }
 | ||
|     child { node {Aktivitätsdiagramm}
 | ||
|             child { node {Modellierung von}
 | ||
|                     child { node {Kontrollflüssen}}
 | ||
|                     child { node {Datenflüssen}}
 | ||
|                     child { node {Parallelem Verhalten}}
 | ||
|                     child { node {Verzweigungen, bedingten und gewichteten Abläufen}}
 | ||
|                 }
 | ||
|             child { node {Geschäftsprozessmodellierung möglich}}
 | ||
|             child { node {Abstrakte und detaillierte Verhaltensbeschreibung möglich}}
 | ||
|             child { node {Grundlage zur Codegenerierung}}
 | ||
|             child { node {Zur Verfeinerung von}
 | ||
|                     child { node {Use-Cases}}
 | ||
|                     child { node {Operationen / Interaktionen}}
 | ||
|                     child { node {anderen Aktionen und Aktivitäten}}
 | ||
|                 }
 | ||
|         }
 | ||
|     child { node {Interaktionsdiagramme}
 | ||
|             child { node {Modellierung von}
 | ||
|                     child { node {Kommunikation zwischen Kommunikationspartnern (Lebenslinie)}}
 | ||
|                     child { node {Operationen (Modellierung eines Programms)}}
 | ||
|                     child { node {Informationsaustausch / Nachrichten}}
 | ||
|                 }
 | ||
|             child { node {Gemeinsames Grundkonzept der Interaktionsdiagramme}}
 | ||
|             child { node {Sehr detaillierte Diagramme}
 | ||
|                     child { node {Meist nicht zur vollständigen Beschreibung eines Systems}}
 | ||
|                     child { node {Betrachtung eines wichtigen Teilaspekts}}
 | ||
|                 }
 | ||
|             child { node {Grundlage zur Codegenerierung}}
 | ||
|         }
 | ||
|     child { node {Sequenzdiagramm}
 | ||
|             child { node {Genaue zeitliche Abfolge von Nachrichten}}
 | ||
|             child { node {Umfangreichstes Interaktionsdiagramm}}
 | ||
|             child { node {Kontrollelemente möglich (Schleifen, Verzweigungen)}}
 | ||
|             child { node {Nachrichten ohne Sender}
 | ||
|                     child { node {z.B. am Beginn einer Interaktion}}
 | ||
|                 }
 | ||
|             child { node {Verlorene Nachrichten (ohne Empfänger)}
 | ||
|                     child { node {Nachricht ohne dargestellten Empfänger}}
 | ||
|                     child { node {z. B. am Ende einer Interaktion}}
 | ||
|                 }
 | ||
|             child { node {Erzeugen von Lebenslinien}
 | ||
|                     child { node {Gestrichelte Linie mit geöffnetem Pfeil}}
 | ||
|                     child { node {Keine Rückgabenachricht}}
 | ||
|                     child { node {Zeitliche Einrückung des Rechtecks}}
 | ||
|                 }
 | ||
|             child { node {Zerstören von Lebenslinien}
 | ||
|                     child { node {Durchgezogene Linie mit Dreieckende}}
 | ||
|                     child { node {Kann Rückgabenachricht erzeugen}}
 | ||
|                 }
 | ||
|         }
 | ||
|     child { node {Kommunikationsdiagramm}
 | ||
|             child { node {Kommunikationsbeziehungen der Kommunikationspartner stehen im Vordergrund}}
 | ||
|             child { node {Welche Komponenten arbeiten wie zusammen, um eine Funktion zu erfüllen}}
 | ||
|         }
 | ||
|     child { node {Timing-Diagramm}
 | ||
|             child { node {Genaue zeitliche Darstellung von Zustandsübergängen}}
 | ||
|             child { node {Kommunikation abhängiger Zustandsautomaten}}
 | ||
|             child { node {Modellierung einzelner Interaktion}}
 | ||
|             child { node {Zeitlicher Verlauf senkrecht}}
 | ||
|             child { node {Kommunikationspartner waagerecht (unsortiert)}}
 | ||
|             child { node {Lebenslinie}
 | ||
|                     child { node {Rechteck mit gestrichelter senkrechter Linie}}
 | ||
|                     child { node {Start, Ende und Dauer der Ausführung einer Operation}}
 | ||
|                     child { node {Rekursive Aufrufe möglich}}
 | ||
|                 }
 | ||
|             child { node {Ereignisspezifikation}
 | ||
|                     child { node {Stelle des Sendens / Empfangens der Nachricht}}
 | ||
|                     child { node {Definition der Reihenfolge des Auftretens}}
 | ||
|                     child { node {Trace: Folge von Sende-und Empfangsereignissen}}
 | ||
|                 }
 | ||
|             child { node {Nachrichten in Interaktionsdiagrammen}
 | ||
|                     child { node {Ereignis des Sendens bzw. Empfangens von Nachrichten}}
 | ||
|                     child { node {Typen:}
 | ||
|                             child { node {Operationsaufruf (synchron / asynchron)}}
 | ||
|                             child { node {Antwort Nachricht}}
 | ||
|                             child { node {Signal (asynchron), Create-/ Delete Message}}
 | ||
|                         }
 | ||
|                     child { node {Operationsaufruf: Parameterliste muss kompatibel sein}}
 | ||
|                     child { node {Nachrichtentypen}}
 | ||
|                 }
 | ||
|         }
 | ||
|     child { node {Zustandsdiagramm}
 | ||
|             child { node {Modellierung des (vollständigen?) Verhaltens}
 | ||
|                     child { node {Zustände von Klassen / Objekten / Komponenten}}
 | ||
|                     child { node {Übergänge zwischen den Zuständen}}
 | ||
|                     child { node {Ereignisse, die Zustandswechsel auslösen}}
 | ||
|                 }
 | ||
|             child { node {Modellierung von endlichen Automaten (Zustandsmaschinen)}
 | ||
|                     child { node {Deterministische}}
 | ||
|                     child { node {Nichtdeterministische}}
 | ||
|                 }
 | ||
|             child { node {Verfeinerung von Zuständen möglich}}
 | ||
|             child { node {Modellierung von verteilten Systemen / parallelem Verhalten}}
 | ||
|             child { node {Grundlage zur Codegenerierung}}
 | ||
|         };
 | ||
| \end{tikzpicture}
 | ||
| 
 | ||
| \begin{tikzpicture}[mindmap, grow cyclic, every node/.style=concept, concept color=orange!40,
 | ||
|     level 1/.append style={level distance=5cm,sibling angle=90},
 | ||
|     level 2/.append style={level distance=3cm,sibling angle=45}]
 | ||
| 
 | ||
| \node{Analyse}
 | ||
| child { node {Anforderungen}
 | ||
|     child { node {Funktional}
 | ||
|         child { node {Was leistet das System}}
 | ||
|         child { node {Welche Funktionen bietet es}}
 | ||
|         child { node {Wie interagiert es mit der Umgebung}}
 | ||
|     }
 | ||
|     child { node {Nicht-Funktional}
 | ||
|         child { node {qualitative oder quantitative Eigenschaften}}
 | ||
|         child { node {Hängen oft von Verhalten ab}}
 | ||
|     }
 | ||
|     child { node {Arten der Funktionalität (ISO 9126)}
 | ||
|         child { node {Functionality (Funktionalität)}
 | ||
|             child { node {Angemessen}}
 | ||
|             child { node {Genauigkeit}}
 | ||
|             child { node {Sicherheit}
 | ||
|                 child { node {Vertraulichkeit}}
 | ||
|                 child { node {Informationssicherheit}}
 | ||
|                 child { node {Datenintegrität}}
 | ||
|                 child { node {Verfügbarkeit}}
 | ||
|             }
 | ||
|         }
 | ||
|         child { node {Usability (Benutzbarkeit)}
 | ||
|             child { node {Verständlichkeit}}
 | ||
|             child { node {Erlernbarkeit}}
 | ||
|             child { node {Bedienbarkeit}}
 | ||
|             child { node {Attraktivität}}
 | ||
|         }
 | ||
|         child { node {Reliability (Zuverlässigkeit)}
 | ||
|             child { node {Reife (Fehler-Anzahl)}}
 | ||
|             child { node {Fehlertoleranz}}
 | ||
|             child { node {Wiederherstellbarkeit}}
 | ||
|         }
 | ||
|         child { node {Performance (Effizienz)}
 | ||
|             child { node {Zeitverhalten}}
 | ||
|             child { node {Verbrauchsverhalten}}
 | ||
|             child { node {Wirtschaftlichkeit}}
 | ||
|         }
 | ||
|         child { node {Portability (Übertragbarkeit)}
 | ||
|             child { node {Anpassbarkeit}}
 | ||
|             child { node {Installierbarkeit}}
 | ||
|             child { node {Koexistenz}}
 | ||
|             child { node {Austauschbarkeit}}
 | ||
|         }
 | ||
|         child { node {Supportability (Änderbarkeit/ Wartbarkeit)}
 | ||
|             child { node {Analysierbarkeit}}
 | ||
|             child { node {Änder-und Erweiterbarkeit}}
 | ||
|             child { node {Stabilität (bei Änderungen)}}
 | ||
|             child { node {Testbarkeit}}
 | ||
|         }
 | ||
|         child { node {Weitere}
 | ||
|             child { node {Konformität zu Konventionen und Bestimmungen}}
 | ||
|             child { node {Interoperabilität zu anderen Systemen}}
 | ||
|             child { node {Implementierungsanforderungen}}
 | ||
|             child { node {Schnittstellenanforderungen}}
 | ||
|             child { node {Skalierbarkeit (Änderungen des Problemumfangs)}}
 | ||
|             child { node {Betriebliche und rechtliche Rahmenbedingungen}}
 | ||
|             child { node {Liefer-und Verpackungsanforderungen}}
 | ||
|         }
 | ||
|     }
 | ||
| }
 | ||
| child { node {Randbedingungen}
 | ||
|     child { node {Werden nicht umgesetzt}}
 | ||
|     child { node {Schränken Lösungsraum ein}}
 | ||
|     child { node {Beispiele:}
 | ||
|     child { node {Kosten}}
 | ||
|     child { node {Durchlaufzeit: Time to Market}}
 | ||
|     child { node {Vorgaben durch Marketing und Vertrieb}}
 | ||
|     child { node {Technische Randbedingungen (nichtfunktionale Anforderung)}}
 | ||
|     }
 | ||
| }
 | ||
| child { node {Geforderte (Meta-)Eigenschaften}
 | ||
|     child { node {Vollständig}}
 | ||
|     child { node {Konsistent}}
 | ||
|     child { node {Eindeutig}}
 | ||
|     child { node {Korrekt}}
 | ||
|     child { node {Realistisch}}
 | ||
|     child { node {Überprüfbar}}
 | ||
|     child { node {Rückverfolgbar}}
 | ||
|     child { node {Klassifizierbar (Risiko, Priorität, Dringlichkeit, Nutzen ...)}}
 | ||
|     child { node {Validierung mit dem Kunden}}
 | ||
| }
 | ||
| ;
 | ||
| \end{tikzpicture}
 | ||
| 
 | ||
| \end{document}
 |