Modellierung Flashcards
(15 cards)
Modell
- (nur) Abbild der Wirklichkeit
- Reduktion der Komplexität auf die in einem bestimmten Kontext relevanten Informationen
- Wirtschaftsinformatik: Fehlererkennung, unterschiedliche Sicht durch verschiedene Modelle, Grundlage für Tests
- Qualitätsbeurteilung: Zweckmäßigkeit vor Realitätsnähe
Model Driven Architecture (MDA)
- plattform- und sprachenunabhängige Entwicklung des Aufbaus eines Softwaresystems
- Automatische Erzeugung von Quellcodeteilen
- nicht extrem relevant
Domain Specific Language (DSL)
- speziell für einen Aufgabenbereich konzipierte Sprache, die von Fachleuten intuitiv verstanden werden soll und aus der automatisch Programmcode generiert werden soll
- Problem: zu viele Domains –> deshalb eher ergänzende Rolle
Objektorientierung
- Objekt: Abbildung eines realen Gegenstands mit Attributen (Zustand) und Methoden (Verhalten)
- Klasse als Vorlage zur Objekterzeugung
- Eigenschaften:
Vererbung (genau 1 Klasse): Attribute und Methoden
Polymorphismus: Unterschiedliche Ausprägungen von Objekten
Kapselung: Bindung von Informationen an Objekte –> Änderungen z.B. nur durch eigene Methoden (getter/setter) - OOAD zur Fehlererkennung im Modellstadium und Kostenreduktion –> OOA-OOD-OOP
Unified Modelling Language (UML)
- 14 Diagrammtypen -> Zweckmäßigkeit
Verhalten: Anwendungsfall, Aktivität, Zustand
Interaktion; Kommunikation, Sequenz, Timing, Interaktionsübersicht
Struktur: Klasse, Objekt, Kompositionsstruktur, Komponente, Verteilung, Paket
Profil - von den Amigos bei Rational entwickelt (Grady Booch, Ivar Jacobson, Jim Rumbaugh)
- teilweise auch zur Codegenerierung
- Vorteile: Eindeutigkeit, Verständlichkeit, Ausdrucksstärke in der Kombination, Standardisierung, Plattformunabhängigkeit
- Standard für OOAD neben Screen Prototypes und Use-Case-Dokumenten
Use-Case-Dokument
- Use-case: zielgerichtete Interaktion (Auslösebedingung, Anfang, Ende, Akteur, alle Aktionen)
- übersichtliche UML-Use-Case-Diagramme
- detaillierte UML-Sequenz-und Aktivitätsdiagramme
- schriftlich für Anwender
- Inhalt: Akteuere, Bedingungen, Ziel, Auslösebedingung, Aktionen im Normalfall, Ausnahmen vom Normalfall
Use-Case-Diagramm
- Beschreibung der Funktionalität eines Systems (WAS?) nicht wie
- Bestandteile:
generische Akteure (auch Systeme)
Use-Cases
Assoziationen (gerichtet, falls Actor den Use-Case initiieren kann)
Multiplizitäten bei Assoziationen
Beziehungen zwischen Use-Cases(<> oder <>)
Klassendiagramm
- Klassen mit Attributen und Methoden, auch <>, <> (Ball-end oder Socket), abstrakte kursiv
- Generalisierungspfeile und überschriebende Methoden
- Assoziationen zwischen Klassen inkl. Kardinalität (Pfeil), Name optional
- Aggregationen: trennbar (hohler Drachen)
- Kompositionen: untrennbar (ausgefüllter Drachen)
- Abhängigkeiten: call oder create (gestrichelter Pfeil)
Attribute Klassendiagramm
- private, + public, # protected, ~ package
Klassenattribute unterstrichen
Multiplizität [4], [0…6], [1..*]
Sichtbarkeit Name : Datentyp = Defaultwert {Eigenschaft }
CRC-Card
Class-Responsibility-Card (Karteikarte)
mit Superklasse, Verantwortungsgebiet (Methoden und Aufgaben) sowie Relationen zu anderen Klassen
(Rückseite: Operationen und Attribute)
Methode Klassendiagramm
Sichtbarkeit Name (Parameterliste) : Rückgabetyp {Eigenschaft}
Parameter:
Übergabeart Name : Typ Mulitplizität = Defaultwert {Eigenschaft}
Übergabeart:
- in: elementarer Datentyp
- out: nicht
- inout: Klassen als Typ
abstrakte Methoden kursiv
Aktivitätsdiagramm
- Verhalten von Systemen (WIE?)
- Bestandteile: Aktion (Oval) Kontrollfluss: Pfeil Gabelung des Kontrollflusses Vereinigung des Kontrollflusses Entscheidungsknoten (hohler Drachen) Verbindungsknoten (hohler Drachen) Startzustand: Punkt Endzustand: umkreister Punkt Endknoten: Glühbirne (nur in ihn laufender Kontrollfluss) Aktivitätsbereiche: Vertikalstriche Objekt: Erzeugung und Übermittlung bei Aktionen
Sequenzdiagramm
- Verhalten eines Systems (WIE?), Schwerpunkt Chronologie
Bestandteile:
Objekte mit gestrichelten Lebenslinien und Ausführungsbalken falls aktiv
Nachrichten zwischen Objektlebenslinien
Entity Relationship Model (ERM)
- Einrichtung von relationalen Datenbanken (nicht OO)
- Bestandteile:
Entitäten (Rechteck)
Beziehungen (Rautenverbindungen) mit Beziehungstyp
Rollen (Beschriftung der Linien zwischen Entität und Beziehung)
Attribute (Oval) durch Linien mit Beziehungs- oder Entitätstypen verbunden - Generalisierung mit Sechseck
SysML
- Erweiterung der UML-Diagramme um detailliertere Darstellung von Modellaspekten, z.B. Anforderungsdiagramme
- nicht nur Akteur und Use-Case, sondern auch Test-Case, formaler Spezifikation und Code-Teile