87

Modellierung (Subject) / Wissenfragen (Lesson)

Modellierung von IT-Systemen

This lesson was created by maimeo.

Learn lesson

Advertisement
  • Bestandteile von Komponenten- und Deployment-Diagrammen Komponente (Komponenten- und Deploymentdiagramm) • logische Einheit = inhaltlich abgeschlossene Aufgabe • bündelt zusammengehörige Funktionalität, die sie über klar definierte Schnittstellen zur Verfügung stellt • hat einen starken inneren Zusammenhang und sollte nach außen schwach von der Umgebung abhängen • z.B. Benutzerverwaltung, Bestelldienst Knoten (Deploymentdiagramm) • stehen für Ablauf-/Ausführungs-/Laufzeitumgebungen, auf die die Komponenten verteilt werden • Komponenten werden in Knoten betrieben • z.B. Rechner, Plattformen, DB-Server, Web-Server... Pakete • zur Strukturierung von Elementen • ein Paket kann mehrere Elemente / andere Pakete enthalten • Elemente in einem Paket gehören zusammen 
  • Logische und technische Architekturen mit UML beschreiben Komponentendiagramm: Beschreibung logischer Bestandteile und Abhängigkeiten eines Systems  Deployment- / Verteilungsdiagramm: Beschreibung des physikalischen Aufbaus eines Systems 
  • Was ist der Zusammenhang zwischen Komponenten und Knoten in UML-Deployment‐Diagrammen? Komponenten stehen für logische Einheiten, Knoten repräsentieren Ausführungsumgebungen, auf denen diese Komponenten „deployed“ werden. 
  • Wie hängen Komponenten und Schnittstellen, Klassen und Aktivitäten bei der Modellierung von IT-Systemen zusammen? Komponenten stellen Funktionalität über Schnittstellen bereit. Deshalb werden Schnittstellen oft als „Interfaces“ oder abstrakte Klassen realisiert. Die Implementierung von Komponenten erfolgt dann in Form von Klassen (Werkzeugklassen). Aktivitäten im Prozess werden durch Funktionen abgebildet und sind damit Materialienklassen bzw. werden den Schnittstellen der Komponenten zugeordnet. 
  • Werkzeug-Material-Ansatz Bei diesem Ansatz / dieser Vorgehensweise werden Klassen in datenlastige Klassen (Materialien) und funktionslastige / funktionsorientierte Klassen (Werkzeuge) eingeteilt: Materialien beinhalten die Daten, Werkzeuge enthalten die Funktionalität. Materialien sind Träger von Daten und werden typischerweise bei der Kommunikation übertragen oder in Datenbanken abgelegt. Werkzeuge bieten die Funktionen zum Erzeugen, Manipulieren und Löschen von Materialien. Die Werkzeuge findet man in der Regel an den Schnittstellen und Implementierungen von Komponenten, während die Materialien persistent (in der DB) gespeichert sind oder zwischen Komponenten übertragen werden. 
  • was versteht man unter dem Lebenszyklus eines Geschäftsobjekts? Der Lebenszyklus beschreibt die Abfolge von Zuständen, in denen sich ein Objekt befinden kann. Je nachdem, in welchem Zustand es sich befindet, bietet das Objekt unterschiedliche Funktionalitäten an. 
  • Mit welchem Diagrammtyp der UML können Sie Lebenszyklen von Objekten modellieren? Zustandsdiagramm
  • Wie hängen Prozessmodell und Zustandsmodell zusammen? Zustandsmodell bezieht sich auf ein gedachtes Objekt Prozessmodell zieht sich quer durch mehrere Objekte 
  • Wie hängen Schnittstellen und Protokolle zusammen? Werkzeuge werden in der Regel durch Schnittstellen beschrieben • Klassen implementieren Schnittstellen • Werkzeugdienste, Komponenten bieten Schnittstellen an Schnittstelle beschreibt • was ein Dienst / Werkzeug bietet -> Methoden im UML-Modell • wie ein Dienst / Werkzeug zu benutzen ist (Protokoll) -> Zustandsautomaten 
  • Wann trifft man auf parallele Zustände? parallele Zustände deuten auf die Bearbeitung eines Objekts in 2 Prozessen hin jedes der parallelen Modelle beschreibt den Lebenszyklus eines Prozesses wenn die Prozesse Verknüpfungspunkte haben, dann Lebenszyklen auch 
  • Advertisement
  • Was ist der Sinn und Zweck eines Entwurfsmusters? Entwurfsmuster stellen abstrakt bewährte Lösungen zu bekannten (üblichen) Problemen dar. Entwurfsmuster sollen Erfahrungswissen in Hinblick auf die Lösung wiederkehrender Probleme weitergeben – „das Rad nicht immer neu erfinden“.  Beispiele: Man kann... • hierarchische Strukturen mit Hilfe eines Kompositums entwerfen • Zugriff auf eine Menge von Klassen durch eine Fassade kapseln • Objekt-Erzeugungen in dem Code mit einer Fabrik flexibler gestalten 
  • Arten von Entwurfsmustern Strukturmuster • Entwurf von Klassenstrukturen mit Fokus auf statische Strukturen / Zusammenhang (wer kennt wen und wozu?) • erleichtern den Softwareentwurf durch vorgefertigte Schablonen für Beziehungen zwischen Klassen Verhaltensmuster • Entwurf von Klassenstrukturen mit dem Fokus auf das Zusammenspiel der Komponenten / Laufzeitverhalten (wer tut was, wann, wie?) • modellieren komplexes Verhalten der Software und erhöhen damit die Flexibilität der Software hinsichtlich ihres Verhaltens Erzeugungsmuster • Objekte in Programmen erzeugen / aufbauen (wo werden die Baupläne hinterlegt?) Architekturmuster gehört zu anderer Art von Mustern • Muster auf abstrakterer Ebene: Definition des prinzipiellen Aufbaus einer Software • bestimmen die grundlegende Organisation und Interaktion zwischen den Komponenten einer Anwendung 
  • Welche Probleme werden mit den Entwurfsmustern gelöst? Bei Strukturmustern: -  Adapter stellt eine geänderte Schnittstelle auf eine existierende Klasse bereit. • Eine Komponente benötigt eine bestimmte Funktionalität (beschrieben durch eine Schnittstelle), hat aber die gewünschte Funktion nur mit einer anderen Schnittstelle zur Verfügung. -  Fassade bietet eine einheitliche Schnittstelle zu einer Menge von Schnittstellen eines Subsystems. • Komponente / Modul besteht aus vielen zusammengehörigen Klassen und die Schnittstellen sollen in eine nach außen verfügbare Klasse gebündelt werden. -  Kompositum wird angewendet, um Teil-Ganzes-Hierarchien zu repräsentieren, indem Objekte zu Baumstrukturen zusammengefügt werden. • Strukturen von Objekten hierarchisch zusammensetzen (Dateisysteme) Bei Verhaltensmustern: -  Befehl / Kommando • Implementierung einer Aktion im Prozess / eines Kommandos in GUI so realisieren, dass Befehle sich z.B. einfach in eine Warteschlange einreihen lassen -  Beobachter dient der Weitergabe von Änderungen an einem Objekt an von diesem Objekt abhängige Strukturen. • Reaktion verschiedener Messanzeigen auf Änderungen am bestimmten Messwert und keine direkte Kopplung zwischen Messwerten und Anzeigen Bei Erzeugungsmustern: - Singleton stellt sicher, dass von einer Klasse genau ein Objekt existiert – es erzeugt und verwaltet das einzige Objekt der Klasse und bietet globalen Zugriff auf dieses Objekt über eine Instanzoperation. • System soll über eine zentrale Registrierungsstelle verfügen, die z.B. als Fassade den Rest des Systems kapselt. Um Inkonsistenzen zu vermeiden, darf es im gesamten System genau eine solche Instanz geben. 
  • Wie werden Entwurfsmuster beschrieben? Problem: welches Problem wird adressiert, in welchen Kontexten tritt es auf? Lösungsbeschreibung als abstrakter Entwurf: Lösungsentwurf, Varianten Anwendungstipps: wann, wie, wann nicht? 
  • Was besagt das MVC-Muster (Model-View-Controller)? Systematische Lösung als Architekturmuster Muster zur Strukturierung von Softwareentwicklung in die drei Einheiten - Datenmodell (model), Präsentation (view) und Programmsteuerung (controller) Ziel des Musters ist ein flexibler Programmentwurf, der eine spätere Änderung oder Erweiterung erleichtert und eine Wiederverwendbarkeit der einzelnen Komponenten ermöglicht. Model = Daten, die dargestellt und manipuliert werden sollen View = Komponenten, die die Daten am Bildschirm, auf Drucker, ... darstellen Controller = Logik, die Abfrage und Manipulation der Daten ermöglicht 
  • Was ist ein Anti-Pattern? Antipattern = Muster für einen schlechten Entwurf / schlechter Lösungsansatz für ein Problem (was soll vermieden werden?) • Beispiele: Gott-Klassen / Methoden, hochkomplexer Code, zyklische Abhängigkeiten 
  • Was bedeutet MDA? Modellgetriebener Softwareentwicklungsansatz, der auf einer klaren Trennung von Funktionalität und Technik beruht. Ansatz zur Verbesserung der Softwareentwicklung Modellierung auf fachlicher Ebene: Abstraktion von Technik Programmierung fokussiert auf • Fachlichkeit (Modellierung im PIM) • Architektur (Transformation ins PSM) Transformation auf technischer Ebene • Wiederverwendung von Architektur und Entwurfsmustern • Systematisierung des Codes 
  • Was bedeuten die Begriffe CIM, PIM, PSM? CIM: Computation Independent Model, Analysemodell, informell PIM: Platform Independent Model → höhere Abstraktionsebene (näher an der Fachlichkeit), Entwurfsmodell, Abstraktion von Technologie PSM: Platform Specific Model → niedrigere Abstraktionsebene (näher an Implementierung), Implementierungsmodell Modellierung, WS 2015 Tutorium Zweck: Modelle im PIM können theoretisch auf verschiedene PSM übertragen werden (Wiederverwendung der Fachlichkeit) 
  • ist es möglich aus einem Anwendungsfalldiagramm ein Orchestrierungsdiagramm abzuleiten? nein, Anwendungsfälle geben keine zeitliche Reihenfolge der Interaktionen mit dem System wieder- in einem Orchestrierungsdiagramm steht die aber im Mittelpunkt.
  • Beschreiben Sie anhand eines Geschäftsobjekts "Benutzer" und einer Benutzerverwaltung den Grundgedanken des Werkzeug-Material-Ansatzes Der Benutzer ist ein "Datenbehälter", also ein Material mit bestimmten Merkmalen (Name, ..).  Das Anlegen bzw. Verwalten der Benutzer liegt in der Zuständigkeit des Werkzeugs "Benutzerverwaltung". Diese bietet "Methode" zur Erzeugung und Manipulation von Benutzerdaten an.
  • wozu dienen Personas und Stories bei der Analyse von Anforderungen Personas und Stories sollen ein Gefühl dafür vermitteln, wer die realen Personen hinter den sonst abstrakt formulierten Rollen sind um dadurch Rahmenbedingungen besser verstehen zu können.
  • was ist der Zusammenhang zwischen einem Akteur im Use-Case-Modell und einer Persona? ein Akteur steht für eine bestimmte Rolle im Umgang mit dem System- eine Person kann mehrere Rollen einnehmen.
  • Was besagt der Werkzeug-Material-Ansatz beim Entwurf von Systemen? Beim Werkzeug-Material-Ansatz werden die Klassen im System in 2 Arten eingeteilt: Werkzeuge beeinhalten die Daten und sind ansonstens "passiv", Werkzeugartige Klassen erstellen oder bearbeiten Materialien- sie enthalten damit die Funktionalität.
  • Wozu dienen Rollen in UML-Klassendiagrammen? Rollen zeigen an, wie "DIng" (eine Klasse) im Kontext einer konkreten Beziehung bezeichnet wird.
  • Erklären Sie den Grundgedanken des Werkzeug-Material-Ansatzes? Die Klassen werden unterteilt in Materialien und Werkzeuge. Materialien sind Träger von Daten und typischerweise bei der Kommunikation übertragen oder in Datenbanken abgelegt. Werkzeuge dienen zum Erstellen und Manipulieren von Materialien. Sie sind also eher Träger von Funktionen. 
  • Wie hängen Komponenten und Schnittstellen, Klassen und Aktivitäten bei der Modellierung von IT-Systemen zusammen? Komponenten stellen Funktionalität über Schnittstellen bereit. Deshalb werden Schnittstellen oft als "Interfaces" oder abstakte Klassen realisiert. Die Implementierung von Komponenten erfolgt dann in Form von Klassen (Werzeugklassen). Aktivitäten im Prozess werden durch Funktionen abgebildet und sind damit Materialienklassen bzw. den Schnittstellen der Komponenten zuzuordnen.
  • Bennen und beschreiben Sie 6 Elemente einer detaillierten Beschreibung von Anwendungsfällen. Akteur-Wer nutzt das System(bsp: Mitarbeiter) Name-Bezeichnung des Use-Cases(Bsp: Bestellen) Sinn/Zweck-Wozu dient der Use-Case(Bedarf an Material) Vorbedingung-Was muss gelten, bevor der Use-Case genutzt werden darf (Bsp: Mitarbeiter muss freigeschalten sein) Nachbedingung- Was gilt, nachdem der Use-Case durchgeführt wurde (Bsp: Bestellung ist im System erfasst) Auslösendes Ereignis- Wie kommt es zu dem Use-Case Normaler Ablauf- Wie könnte der Use-Case im Normalfall "aussehen" Alternativer Ablauf
  • was versteht man unter eine Transaktion bei der Prozessmodellierung und wie wird dies bei BPMN angewendet? Eine Transaktion beschreibt, dass eine Menge von Aktionen entweder komplett oder gar nicht ausgeführt werden. Bsp: Ware bezahlen und mitnehmen. Bei BPMN gibt es zwar das Konstrukt der Transaktion, aber bei Prozessen wird in der Regel auf Kompensation gesetzt.
  • bitte erklären Sie, woraus der Werkzueg-Material-Ansatz abgeleitet wird Der Ansatz leitet sich daraus ab, dass Objekte in Unternehmensanwendungen oftmals entweder Datencharakter haben (sie liegen in der DB bzw. tragen Werte) oder Funktionscharakter (sie bieten Funktionen)
  • Beschreiben Sie das Model View Controller(MVC) Muster und stellen Sie den Vorteil dieses Musters dar. Das MVC- Muster beschreibt die Trennung zwischen Daten (Model), den Sichten auf die Daten (Views), und Funktionen zur Manipulation der Daten (Controller). Auf die Art können einfach neue Views hinzugefügt werden, ohne das Model zu ändern.
  • Advertisement
  • Bennen und beschreiben Sie ein Strukturmuster Ihrer Wahl Beispiel Fassade: Eine Klasse bietet eine  Schnittstelle zu einer Menge anderer Klassen, die dadurch nach außen nicht sichtbar sein müssen. Beispiel Adapter: Eine Adapterklasse bildet die angebotenen Funktionalität einer Klasse in Form einer geänderten Schnittstelle an.
  • Was ist der Unterschied zwischen einer Rolle und einer Klasse im Begriffsmodell. Eine Klasse steht für ein Ding der realen Welt mit seinen Eigenschaften. Eine Klasse kann im Kontext einer Relation eine Rolle einnehmen. Im Beispiel kann ein Ding Rezept als Hauptgericht, Beilage oder Suppe auftreten.
  • Was versteht man unter dem Lebenszysklus eines Geschäftsobjekts? Der Lebenszyklus eines Geschäftsobjekts beschreibt die unterschiedlichen Zustände, die es im Laufe seines Lebens einnehmen kann. Zum Bsp kann eine Datei geöffnet oder geschlossen sein.
  • Warum darf nach einem Ereignis kein Verzweigender XOR-Konnektor stehen? Illustrieren Sie ihre Aussagen an einem passenden Beispiel Bei einer XOR-Verzweigerung muss der zu wählende Pfad durch ein Ereignis bestimmt werde, da ansonsten nicht klar wäre, welche Funktion durchgeführt würde. Falsch: Das Auto ist kaputt, also reparieren wir es oder verschrotten es (keine Entscheidung) Richtig: Das Auto ist kaputt, also untersuchen wir es- wenn es reparabel ist, wird es reparriert, wenn nicht, wird es verschrottet.
  • Welche Vorteile bieten modellgetriebene Ansä tze in der Softwareentwicklung? Welche Prob- leme adressieren sie? Bitte formulieren Sie Ihre Antwort in vollstä ndigen Sä tzen. Softwareentwicklung sieht sich immer komplexeren Projekten gegenüber, was sich u.a. aus fachlicher Tiefe, technologischer Vielfalt (u.a. Plattformen und Programmiersprachen) und kurzen Technologiezyklen ergibt. Modellge- triebene Ansätze erlauben die Trennung von technologieunabhängigen Prob- lemlösungen und konkreter Umsetzung, die sich teilweise aus der abstrakten Modellierung automatisiert erstellen lässt. Dadurch lässt sich ei-ne Speziali- sierung (Fachproblem, konkrete Technologieplattform), Wiederverwendbar- keit von Lösungen sowie bessere Beherrschung der Komplexität erreichen, da Modell diese angemessen auf das Wesentliche reduzieren. 
  • Definiere die Begriffe Eskalation und Kompensation. Eskalation bedeutet, dass ein Ablauf nicht vom zuständigen Akteur durchführbar ist, da dieser keine Kenntnisse oder Berechtigungen dafür besitzt. Kompensation nennt man auch Rückabwicklung, weil es ein Versuch ist eine zusammengehörende Menge von Aktionen soweit wie möglich rückwärts abzuwickeln, da es bei einer komplizierten Aktivität einen eigenen Prozess erfordert. 
  • Zähle die wichtigen Eigenschaften von Transaktionen auf   Atomicity: unteilbar/atomar    Consistency: konsistent(er Datenbestand)    Isolation: gleichzeitige Transaktionen (ohne Einfluss aufeinander)  Durability: dauerhafte Änderungen