happy halloween
This commit is contained in:
@@ -4,3 +4,123 @@ date: Wintersemester 20/21
|
||||
author: Robert Jeutter
|
||||
---
|
||||
|
||||
> Software: Menge von Programmen oder Daten zusammen mit begleitenden Dokumenten, die für Ihre Anwendung notwendig oder hilfreich sind [Hesse]
|
||||
|
||||
Gute Software ist schwer herzustellen
|
||||
- Entspricht Kundenwünsche, Vollständigkeit
|
||||
- Funktioniert Korrekt
|
||||
- Kosten- und Termintreue bei der Erstellung
|
||||
- weitere nicht-funktionale Qualitätsforderungen
|
||||
- Benutzerfreundlichkeit, Ergonomie
|
||||
- Sicherheit
|
||||
- Zuverlässigkeit, Fehlertoleranz
|
||||
- Performanz
|
||||
- Ressourcen-Effizienz, Skalierbarkeit, Übertragbarkeit
|
||||
- Wartbarkeit, Änder- und Erweiterbarkeit
|
||||
|
||||
Softwaretechnik
|
||||
- Technische Disziplin der Software Herstellung
|
||||
- Zielorientierte Bereitstellung uns systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige Entwicklung und Anwendung von umfangreichen Softwaresystemen [Balzert]
|
||||
|
||||
Wie kann man Software besser entwickeln?
|
||||
- Ingenieursmäßige Herangehensweise
|
||||
- Verwendung bekannter Prinzipien und Methoden
|
||||
- Systematische Vorgehensweise
|
||||
- Verwendung von:
|
||||
- Abstraktion, Modelle, Notation, Simulation
|
||||
- Wiederverwendung:Muster, Komponenten, Framework
|
||||
- Organisation
|
||||
- Arbeitsteilung, Integration, Planung
|
||||
- Verwendung von Werkzeugen
|
||||
- IDE (Integrated Development Environment)
|
||||
- Versionierung, Bugtracker, Modellierungswerkzeug
|
||||
|
||||
# Modellierungskonzepte
|
||||
> Modell: ist eine Abstraktion eines Systems mit der Zielsetzung, das Nachdenken über ein System zu vereinfachen, indem irrelevante Details ausgelassen werden [Brügge]
|
||||
$\rightarrow$ Beschreibung eines Ausschnitts der Realität
|
||||
|
||||
- erstellen einer Abstraktion
|
||||
- abbilden signifikanter Eigenschaften
|
||||
- Deskriptiv/präskriptiv (real oder geplant)
|
||||
- Sichtweise auf ein System (Struktur, Verhalten, Zustand,...)
|
||||
- heißt Weglassen
|
||||
- setzt Verstehen voraus
|
||||
- ist nicht automatisierbar
|
||||
|
||||
Verschiedene Modelle:
|
||||
- Analysemodell
|
||||
- Entwurfsmodell
|
||||
- Implementierung (-smodell)
|
||||
- Vorgehensmodell
|
||||
- Produktmodell
|
||||
- Dokumentation, Alternativen-Auswahl
|
||||
|
||||
Modelle für:
|
||||
- Sichten
|
||||
- Funktionen
|
||||
- Daten
|
||||
- Algorithmen
|
||||
- Systemumgebung
|
||||
- Dynamisches Verhalten
|
||||
- Objektorientierte Modelle
|
||||
|
||||
## Klassische Modelle
|
||||
- Funktionen:
|
||||
- Funktionsbaum
|
||||
- Hierarchische Dekomosition der Fkt
|
||||
- nummerieren der Ebenen/Funktionen möglich
|
||||
- Bsp: Abonnement Verwaltung
|
||||
- Blockschaltbild
|
||||
- eingebettetes System, HW/SW
|
||||
- Daten
|
||||
- Data Dictionary
|
||||
- Verzeichnis von Daten mit Strukturinformationen
|
||||
- Backus-Naur-Form, kontextfreie Grammatik
|
||||
- Entity Relationship Diagram
|
||||
- Daten und ihre Beziehungen
|
||||
- Systemumgebung
|
||||
- Datenflussdiagramm
|
||||
- Fluss und Transformation von Daten zwischen Funktionen, Speichern und Schnittstellen
|
||||
- kein Kontrollfluss
|
||||
- Algorithmen
|
||||
- Entscheidungstabelle
|
||||
- Regelbasierte Beschreibung
|
||||
- Bedingung
|
||||
- Aktionen
|
||||
- Reduktionsregeln
|
||||
- Pseudocode
|
||||
- von Programmiersprache abstrahierende, detaillierte Beschreibung eines Algorithmus
|
||||
- Programmablaufplan
|
||||
- Grafische Beschreibung des Kontrollflusses
|
||||
- DIN 66001
|
||||
- Unstrukturiert
|
||||
- Struktogramm
|
||||
- Nassi-Shneidermann-Diagramm
|
||||
- keine Sprünge
|
||||
- Dynamisches Verhalten (diskrete Zustände und atomare zustandübergänge)
|
||||
- Zustandsautomat
|
||||
- Verhalten mit Zuständen und -übergängen
|
||||
- Automatenmodelle und -theorie
|
||||
- Ggf zerlegung oder kommunizierende Automaten
|
||||
- Flow-Chart
|
||||
- Ereignisgesteuerte Prozesskette (EPK)
|
||||
- Geschäftsprozesse
|
||||
- BPM
|
||||
- Petri-Netz (ggf. mit Zeitmodell)
|
||||
- Grafische Beschreibung von Nebenläufigkeit und Synchronisation
|
||||
- Objektorientierte Modelle
|
||||
- Klassendiagramme
|
||||
- UML
|
||||
|
||||
|
||||
## Objektorientierung
|
||||
- bessere Strukturierung für komplexe Zusammenhänge
|
||||
- Abstraktere Sichtweise
|
||||
- Objekt hat
|
||||
- definiertes Verhalten
|
||||
- inneren Zustand
|
||||
- eindeutige Identität
|
||||
- Klasse: gleichartige Objekte mit ggf versch Zu
|
||||
|
||||
## Unified Modeling Language
|
||||
|
||||
|
||||
Reference in New Issue
Block a user