MDSD

MDSD

MDSD


Kartei Details

Karten 104
Sprache Deutsch
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 08.07.2017 / 04.02.2018
Weblink
https://card2brain.ch/box/20170708_mdsd
Einbinden
<iframe src="https://card2brain.ch/box/20170708_mdsd/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Was bedeutet Dekomposition?

Die hierarische Zerlegung von Systemen in Teilsysteme

-> Grundlage für arbeitsteilige Entwicklung und gute Wartbarkeit von Software

Was gebt es für Aspekte für eine Dekomposition?

  • Struktur der fachlichen Domäne (fachgebiete)
  • Struktur der technischen Plattform (Multitieranwendungen,..)
  • Struktur der Abläufe/Daten, softwaretechnische Prinzipien (separation of concerns,..)
  • Organistation der beteiligten Entwickler (Firmen, Abteilungen, Teams, ..)

Was ist das Problem bei der Dekomposition?

Ein Aspekt dominiert auf Kosten der anderen

Was gibt es für Abstraktionsebenen bei der Softwareentwicklung? Wie nennt man die "Transformationen" zwischen ihnen?

  • höhere, niedere Abstraktionsebene
  • höhere -> niedere : Konkretisiergung
  • niedere -> höher: Abstrahierung

Wie beschreibt man die höhere Abstraktionsebene?

  • problemorientierter (Was-Modellierung)
  • domänenspezifischer
  • mehr generalisierend
  • -> UML abstrakter als Quellcode

Was bescheibt niedrigere Abstraktionsebenen?

  • lösungsorientierter (wie-programmierung)
  • plattformspezifischer
  • detaillierter, spezialisierter
  • mehr Redundanz
  • -> Klasse konkreter als interface

Was gibt es bei der Softwareentwicklung für Abhängigkeiten?

  • externe <-> interne
  • explizite <-> implizite

Was sind externe Abhängigkeiten?

Wenn software Annahme über Kontext in dem sie eingesetzt wird enthält 

z.B. datenaufkommen, Hardware, OS, standardsoftware

Was sind interne Abhängigkeiten?

innerhalb einer Software bauen Lösungen für Teilprobleme aufeinander auf oder sind vermischt

-> fachliche, technische Aspekte vermischt

Was sind explizite Abhängigkeiten?

programmiersprachlich formuliert, zur Complie/Linkzeit überwacht

-> abhängigkeit zwischen Klassen durch Methodenaufrufe

Was sind implizite Abhängigkeiten?

stillschweigende Annahmen, nicht autoatisch überwacht

-> reihenfolge von Elementen in einer collection, ...

Führt jede Dekomposition bezgl. der nicht dominierenden Aspekte zu horizontaler oder vertikaler Redundanz?

horizontaler

Zu welcher Redundanz führen zusätzliche Abstraktionsebenen?

Zu vertikaler

Zu was führt das Vermeiden von horizontaler Redundanz?

Zu mehr Abhängigkeiten

Zu was führt horizontale Redundanz mit Konsistenzanforderungen?

zu impliziten internen Abhängigkeiten

Was wird durch getrennte Modelle für verscheidene Aspekte entschärft?

Das Dekompositionproblem

Was entschärfen modelle in domänenspezifischen Sprachen?

Das formalisierungsproblem

Was wird durch automatisierte Modelltransformationen für den Übergang zur nächsten Abstraktionsebene und das Zusammenführen von Aspekten entschärft?

Das Abstraktions-, Redundanz und Abhängigkeitsproblem

Was bedeutet "Abbildung" im allgemeinen Modellbegrif nach Stachowiak?

Ein Modell ist immer Abbild eines Oroginals -> etwas kann also nicht inhärent Modell sein sonder nur die Rolle iens Modells in Bezug auf ein Original übernehmen

Was bedeutet "Verkürzung" nach Stachowiaks allgemeinem Modellbegriff?

Ein Modell erfasst nicht alle Merkmale des Originals sondern nur diejenigen die dem Modellierer relevant erscheinen

Was bedeutet "Prgramatismus" nach Stachowiaks allgemeinem Modellbegriff?

Die Zuordnung eines Modells zu einem Origina wird druch die Frage der Nützlichkeit relativiert. Für wen? Wann? Wozu? 

ein Modell wird interpretiert: es wrid von bestimmten Nutzern innerhalb einer bestimmten Zeitspanne zu einem bestimmten Zeck für ein Original eingesetzt

Was ist ein Präskriptives Modell?

Vorbei für ein noch zu erstellendes Original -> Original wird vom Modell abgeleitet, z.B. technisches Bauteil und Konstruktionszeichnung

Was ist ein deskriptives Modell?

Abbild für ein bereits existierendes Original -> Moell vom Original abgeleitet, z.b. Nachbidlung eines Autos,.. 

Was ist ein Transientes Modell?

Abbild eines existierenden und zugleich Vorbild eines zu erstellenden Originals 

Was für ein Modelltyp haben Modelle bei der Entwicklung eines Softwaresystems für eine Anwendungsdomäne 

  • bezüglich der Anwendungsdomäne (existierendes Original)
  • bezüglich des Softwaresystems (zu erstellendes Original)?

  • deskritpiv
  • präskriptiv

Was ist eine symbolisierendes Modell?

Verkürzt durch Merkmalsreduktion und Weglassen von Originalentitäten. Jeder Entität im Modell (=Symbol) entspricht 1:1 eine Entität im Original -> z.b. Straßenkarte, UML-Objektdiagramm

Was ist ein klassifizierendes Modell?

Verkürzung durch Zusammenfassen gleichartiger Originalentitäten. Jeder Entität im Modell (=Klasse) können 1:N mehrere Entitäten in einem oder mehreren Originalen zugeordnet sein. Die Originalentitäten sind hier beispielhafte Ausprägungen (="Instanzen") der Modellentitäten

-> Legende einer Straßenkarte, UML-Klassendiagramm

Was ist ein Beschreibungsmodell?

das Modell soll Eigenschaften des Originals dokumentieren bzw. spezifizieren -> z.B. 3D-Animation eines GEbäudes, UML-Digarmamme beim softwareentruf oder zur Softwaredokumentation

Was ist ein Prognosemodell?

Am Modell sollen stellvertretend Untersuchungen möglich sein, die Aussagen über Struktur oder Verhalten des Originals liefern

-> Simulationsmodell, Dummy für Crashtest

Was gibt es für Modelle in der Softwareentwicklung?

  • Vorgehensmodelle
  • Domänenmodelle

Was ist ein Vorgehensmodell?

beschreibt wie eine Software entwickelt werden soll (erforderliche Arbeitsschritte und deren Organisation) 

-> Wasserfallmodel, RUP, XP, Scrum

Was ist dein Domänenmodell?

beschreibt wofür eine Software entwickelt werden soll ( Konzepte von domänen in Form von Entitäten und Beziehungen)

-> Datenmodelle

Mit welchen Modell in der Softwareentwicklung beschäftigt sich die modellgetriebne SE? (Vorgehens oder Domänen)

Mit dem systematischen Erstellen von formalen Domänenmodellen un d deren automatisierter schrittweiser Transformation bis hin zur Codegenerierung

Wie könnte man die Modellierung in der SE beschreiben?

für eine zu erstellende Software relevante ausgewählte Aspekte beschreiben. Aspekte können Problemdomäne oder der technischen Lösungsdomäne entspannen, können Struktur- oder Verhaltenssaspekte sein, ...

Modelle müssen in Modelleriungssprachen reoräsentiert werden. Wie können die ausschauen? Was muss sie sein wenn die Modelle automatisiert verarbeitet werden sollen?

Notation grapisch oder textuell, Sprache kann domänenspezifisch oder universell sein.

formal

Wie lässt sich das Metamodell definieren?

Als ein klassifizierendes Modell von Modellen. Ein Modell besteht immer in irgendweiner Form aus Entitäten und Beziehungen, ein zugeordnetes Metamodell beschreibt aus weclhen Arten von Entitäten und Beziehungen konforme Modelle bestehen.

-> erwendet um Modellerungssprachen zu definieren

Wie lässt sich ein Meta-Metamodell definieren?

Als ein Modell von Metamodellen --> Werden bei Modell-zu-Modell-Transofrmationen gebraucht

Was für Bestandteile hat ein Metamodell von Domänenmodellen beim Domain-Driven-Design (DDD) nach Eric Evans?

  • Entity (Objekt das druch seine individuelle Existenz gekennzeichnet ist, attribute können sich ändern)
  • Value Object (Objekt das nur durch seine Attributwerte gekennzeichnet ist, attribute unveränderlich, kopien austauschbar)
  • Aggregat: druch eine Entity gekapselte Sammlung von objekten
  • Domain Event: Objekt das ein in der Domäne relevantes Ereignis repräsentiert
  • Service: Operation die keinem bestimmten objekt zuzuordnen ist
  • repository: Objekt über das andere Objekte auffindbar sind
  • Factory: Objekt über das andere Objekcte erzeugbar sind

Was muss ein Modellierungswerkzeug unterstüzten?

  • Notation der Modellierungssprache
  • Metamodelle -> Modelle Instanzen eines Metamodells, Werkzeug muss gültige (zum Metamodell konforme) von ungültigen Modellen unterscheiden können
  • Modelltransformationen -> z.b. inform von APIs für Zugriff auf Modelle und Metamodelle, oder mittels Trasnformationssprachen

Wie lässt sich eine Domäne beschreiben?

Arbeits-, Wissensgebiet auf dem jemand besonders gut Bescheid weiß, auf dem er sich speziell und besonders intensiv betätigt,...