MDSD
MDSD
MDSD
Fichier Détails
Cartes-fiches | 104 |
---|---|
Langue | Deutsch |
Catégorie | Informatique |
Niveau | Université |
Crée / Actualisé | 08.07.2017 / 04.02.2018 |
Lien de web |
https://card2brain.ch/box/20170708_mdsd
|
Intégrer |
<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,...