Modellbasierte Softwareentwicklung
Modul aus dem Masterstudium
Modul aus dem Masterstudium
Kartei Details
Karten | 51 |
---|---|
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 03.03.2014 / 25.02.2015 |
Weblink |
https://card2brain.ch/box/modellbasierte_softwareentwicklung
|
Einbinden |
<iframe src="https://card2brain.ch/box/modellbasierte_softwareentwicklung/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Lernkarteien erstellen oder kopieren
Mit einem Upgrade kannst du unlimitiert Lernkarteien erstellen oder kopieren und viele Zusatzfunktionen mehr nutzen.
Melde dich an, um alle Karten zu sehen.
Geben Sie Einsatzbereiche für verschiedene MDD-Ansätze an!
Codegenerierung ist auf basis von templates mit tags möglich.
Oft eingesetzt für Z.B. Webseitenprogrammierung u. Testfallgenerierung
Beim Übergang von Problem zu Lösungsraum sind Entwurfsentscheidungen zu treffen. Erläutern Sie, wo diese bei MDD-Ansätzen getroffen werden.
Charakterisieren Sie eine DSL!
Modellierungs- oder Programmiersprache mit Fokus auf eine
Domäne
● Domänenvokabular
● Metamodell mit abstrakter Syntax und Constraints als Kern
● Klar definierte (dynamische) Semantik: formal oder intuitiv
● Höheres Abstraktionsniveau
● Meist vorhanden: Abbildung auf Implementierung z.B. auf
Programmiersprache
● Meist nicht Turing-vollständige Programmiersprachen, sondern
deklarativ
z.b. excel, html, matlab, sql, java...
Erläutern Sie die Rolle von Modellen bei der Entwicklung einer DSL!
Es gibt verschiedene Phasen für die DSL Entwicklung
1. Domänenanalyse
2. Entwicklung eines Metamodells
3. Entscheidung über Art und Technologie d. DSL (intern, extern, grafisch, textuell)
4. Definition der DSL: konkrete Syntax
5. Bereitstellung oder Entwicklung der Werkzeuge
Für die zweite Phase, Metamodell entwickeln, spielen Modell eine wichtige Rolle, um dies als basis für die weiteren Schritte zu verwenden
Wodurch unterscheiden sich interne und externe DSLs?
Interne DSL:
● mit Mitteln einer anderen (Host-)Sprache ausgedrückt, in diese
Sprache eingebettet
● Meist mit dynamisch getypten Sprachen wie Ruby und LISP
● Vergleichbar mit Bibliothek, sieht aber nicht wie Host-Sprache aus
sondern wie eigene Sprache
● Wenig Toolunterstützung möglich, für „kleine“ Anwendungen
Externe DSL:
● Unabhängig von anderen Sprachen erstellt
● eigener Parser
Stellen Sie Vor- und Nachteile sowie Einsatzbereiche von grafischen und textuellen DSLs gegenüber!
Informationen grafisch
● Gut für Kommunikation:
● Diskussionsgrundlage
● Strukturen verstehen
● Informationsmenge begrenzt
● Werkzeugunterstützung für
Veranschaulichung von
Sichten, Abstraktion,
Hierarchisierung notwendig
Informationen als Text
● Einfach durch Werkzeuge
unterstützbar
● Gemeinsame Bearbeitung
im Team
● Versionierung
● Werkzeugunterstützung für
Visualisierung notwendig
● Code Folding
● Outline View
Erläutern Sie Qualitätsanforderungen an DSL-Entwicklung, insbesondere gegenüber Softwareentwicklung!
keine ahnung???
Worin bestehen die Vorteile von Modellen bei V&V?
Ziele und nutzen:
Zielerreichung sichern:
Anforderungserfüllung des
Projektes prüfen
● Alle Ziele und Anforderungen
nach jedem
Entwicklungsschritt prüfen
Qualität verbessern: Anzahl von
Fehlern und Mängeln verringern
● Menschen: 3% Fehler,
Werkzeuge: systematisch
● Menschen: begrenzte Mengen
an Informationen verarbeitbar,
Werkzeuge können mehr
Fehlerbehebungskosten verringern
● Fehler und Mängel frühzeitig
finden
Entscheidungsfindung verbessern
● Systemeigenschaften bei
Entwurfsentscheidung
vorhersagen
● Lösungen bezüglich der Ziele
optimieren
Nennen Sie Systemeigenschaften, die Gegenstand von Verifikation und Validation sein können!
Struktur: Bestandteile, Gliederung, Beziehungen,
Zuordnung
● Funktionalität: (Semantische) Korrektheit, Vollständigkeit,
Interoperabilität
● Verhalten: Zustandsverhalten, Zeitverhalten,
Nebenläufigkeit
● Effizienz: Lastverhalten, Skalierbarkeit,
Ressourcenbedarf
● Sicherheits-Eigenschaften: Vertraulichkeit, Integrität,
Verfügbarkeit
● Zuverlässigkeit, Robustheit ... und viele mehr
Stellen Sie Aufwand und Nutzen bei modellgetriebener Verifika4on und Valida4on gegenüber!
Aufwand für formale Modellierung
der Ziele und Anforderungen
● Modellierungssprache
entwickeln
● Wissenserwerb und
Einarbeitung
● Formalisierung der Ziele und
Anforderungen
Aufwand für Werkzeuge
● Kosten des Werkzeugs
● Wissenserwerb und
Einarbeitung
● Aufwand für Bedienung
Nutzen
Vermiedene Schäden durch Fehler
und Mängel
● Reklamation
● Verlust an Reputation
Schwierigere Projekte möglich
● Mehr Gewinn weil besser
bezahlt
● Interessantere Arbeit, lukrativ
für Mitarbeiter
Formale Zulassung erreichbar
● Z.B. Luft- und Raumfahrt
Welche Elemente enthält ein Aktivitätsdiagramm?
- Start und Endknoten
- Aktivität (Tätigkeiten)
- Transition (Kontrollfluss, verbindet Elemente)
- Objekt (Gegenstände)
- Input und Outputoin (hinter oder vor Aktion liefert/verlangt Informationen)
- entscheidungsknoten
- unterbrechende Region
Erläutern Sie, welche Aspekte für Security (Zuverlässigkeit, Zeitverhalten) modelliert werden müssen und warum!
Ziel Security: • InformaRons--‐/Datenflüsse prüfen • Ursache--‐Wirkung von Angriffen prüfen • Abhängigkeiten zwischen Komponenten prüfen
Erläutern Sie, welche Eigenschaften von Modellen für Effizienz der Softwareentwicklung wichtig sind!
- Integrationsrahmen eines iterativ, inkrementellen Projekts
- Grundlage der Projektplanung und Management: Organisation, aktive Führung, Einblick, Verhandlungsbasis
- unabhängige, verteilte Implementierung
Welche weiteren Ziele außer Qualitätsmerkmalen nach ISO/IEC 25020, 25023 müssen Modelle im Softwareentwicklungsprozess auch unterstützen?
Qualitätsmerkmale nach ISO 25020, 25022
- Wartbarkeit
- Übertragbarkeit
- und Zeitverhalten, Robustheit Sicherheit
Ziele
- Effizientere Entwicklung
- Risiken minimieren
- verständnis schaffen
- Kernwissen des Systems konservieren
Erläutern Sie, welche Kriterien für Modellqualität an ein Modell der Systemarchitektur Gestellt werden müssen!
- hoher Formalisierungsgrad
- Detailgrad
- Einfachheit, Übersicht wegen der hohen Komplexität
- Abstraktion
- Bewertung (Validierung & Verifikation)
- max. notwendige Details
- Redundanz
- Beherrschbarkeit der Komplexität
- Verstehen von Zusammenhägen durch verbinden von Sichten
Geben Sie die Definition eines Modells nach Stachowiak an
beschränktes Abbild der Wirklichkeit mit drei Hauptmerkmalen:
- Abbildungsmerkmal
- Verkürzungsmerkmal
- Pragmatisches Merkmal
Nennen Sie Stärken und Schwächen des Objektorientierten Paradigmas der Softwareentwicklung!
Schächen:
- semantische Lücke zwischen Anforderungen und Entwurf
- Objekt/Nachricht Metapher gilt nur für kleine Elemente
- versteckt wesentliche Elemente Steuer und Datenfluss
- Starke Abhängigkeit zwischen den Elementen
Stärken
- Objekte zur Modularisierung
- Abstraktion im Problemraum
- Abstraktionsebene (Vererbung)
- Logische Gliederung
- Nachrichtenaustausch als Metapher
Nennen Sie wichtige Quellen von Veränderungen mit Auswirkungen auf Softwaresysteme!
- Optimierung von Prozessen
- Öffnung von Systemen für das Web
- Kopplung mit externen Systemen: Für viele Dinge gibt es schon Systeme, aber manchmal müssen die Daten gekoppelt werden. Dadurch muss es Schnittstellen geben
- Organisationsänderung Wenn sich ein Unternehmen ändert muss auch die Software geändert werden. Bsp: Eine Firma kauft eine Andere und die Lagerhaltung soll zusammengelegt werden.
- Änderung gesetzlicher Grundlagen Z.B Steuerrecht ändert sich jährlich. Maschinenbauer haben bei schlechter Konjunktur mehr Probleme als Informatiker. Für eine Bank ändern sich die gesetzlichen Bedingungen immer
- Änderung der technischen Plattform Neue Version einer Datenbank (Oracle 6 und 7)
- Fehlerbehebung
- technischer Fortschritt
Welche Herausforderungen muss Softwareentwicklung heute erfüllen, bei denen Modelle hilfreich sein können?
- Komplexität
- Workflows, Hardwareersetzung, heterogene Systeme
- Agilität und Veränderungen
- Prozessoptimierung, Organisationsveränderungen, gesetzliche Grundlagen..
- Langlebigkeit
- hohe investitionen, ungern veränderte Workflows
- Kosten und Aufwandsreduzierungen
Welche Informationen sind in einem Modell darzustellen, mit dem für den Ablauf eines Produktionsprozesses mit mehreren Schritten, die maximal mögliche Zeitdauer ermittelt werden soll?
- Schritte des Produktionsprozesses
- maximale Zeitdauer
- Abhängigkeiten um eventuelle Warteschlangen mit zu modellieren
- Kapazitäten
Geben Sie die Gliederung für Use-Case-Beschreibungen an!
- Anwendungsfall-Nr. Name des Anwendungsfalls
- Akteure
- Vor- und Nachbedingungen
- Invarianten
- Qualitätsmerkmale
- Ablaufbeschreibung / Durchführung
- Ausnahmen, Fehlersituation
- Alternativabläufe
Welche Elemente eines Use-Case-Diagramms stehen in Beziehung zu einem Aktivitätsdiagramm, wie erscheinen Informationen in den jeweiligen Diagrammen?
Beispiel Termin erfassen:
Das Use-case Diagramm enthält use cases. Diese use-cases können feiner beschrieben werden in der Use-caseBeschreibung oder anhand eines Aktivitätsdiagrammes.
im Use case diagramm sind lediglich die Systeme und use cases und interaktionen aus sicht des Akteurs vorhanden. Bei einem Aktivitätsdiagramm ist eine detallierte Beschreibung des Ablaufs der Fokus.
-
- 1 / 51
-