Software Engeineering
1. Organisatorisches und Motivation
Software Engineering ist die Entdeckung und Anwendung solider Ingenieur-Prinzipien mit dem Ziel, ...
2. Softwareentwurfsprozesse und Clean Code Development
Anforderungsanalyse
Der Modellbegriff
Software ist beschrieben durch Spezifikation, Diagramme und Quellcode, Kennzahlen und Prospekte...
Bilder
Modellbegriff Scrum Wasserfallmodell
Anforderungen an Software
Aus Sicht des Kunden: Aus der Sicht der Entwickler:Verschiedene Phasenmodelle in der Entwicklu...
Anforderungsspezifikation
Anforderung – Eine Bedingung oder Fähigkeit, die Benutzer benötigt, um ein Problem zu lösen oder ...
Nichtfunktionale Anforderungen
Anforderungen, die Merkmale des Systems ohne Bezug zum Funktionsumfang beschreiben (Zuverlässigke...
Funktionale Anforderungen
User story (Anwendererzählung) – Eine in Alltagssprache formulierte Software-Anforderung. Muster...
Unified Modeling Language (UML)
Unified Modeling Language
Bestandteile: Modell: Festlegung gültiger Begriffe und der Beziehungen zwischen diesen Begriffen...
UML Anwendungsfalldiagramme
Jeder Player nimmt an genau einem Spiel teil.Jedes Spiel wird von mindestens zwei Playern gespiel...
Vorgehen zur Modellierung
1. Akteure ermitteln:Personen ermitteln, die die Aufgaben durchführen. Welche Rollen spielen dies...
Ein Beispiel - Krankenhausempfang
Die Rezeptionistin plant die Termine des Patienten und die Aufnahme in das Krankenhaus, sammelt...
Zusammenfassung
UML Aktivitätsdiagramme
UML Klassendiagramme
Objektorientierte Analyse
Lastenheft (Anforderungen): Anwendungsfalldiagramme, Aktivitätendiagramme Pflichtenheft (Analy...
Objektorientierung
Darstellung von Objekten der realen Welt als Objekte in der Programmierung Objekt hat ...1. Eine...
Klassendiagramme
Klassendiagramme modellieren die statischen strukturellen Beziehungen zwischen den Komponenten ei...
Ein Beispiel
Anwendungsfall zu Fachmodell
Entity: Objekte, die persistentes Wissen (d.h. Daten) repräsentieren; häufig aus dem Domänenmodel...
Sequenzdiagramme
UML Sequenzdiagramme
Darstellung von Nachrichten*, die zwischen Akteuren und Objekten in begrenzten Zeitrahmen aus...
Beispiel
Fortsetzung objektorientierten Analyse
Vorgehen: Abbildung der Anwendungsfälle auf Sequenzdiagramme Erste Spalte ganz links: Akteur...
UML Kommunikationsdiagramme
Darstellung der Interaktionen zwischen Objekten mithilfe sequenzierter Nachrichten Lebenslinie –...
Systementwurf
Systementwurf allgemein
Auswirkungen von Entscheidungen verstehen, z.B. Virtualisierung und Cloud-Infrasturkturen, Entwur...
Wann ist ein Systementwurf gut?
Korrektheit Ein Systementwurf ist korrekt, wenn das Analysemodell dem Systementwurf zugeordnet w...
Paketdiagramme
Dienen der Gliederung eines Gesamtmodells in kleinere, überschaubare und miteinander interagieren...
UML Komponentendiagramme
Modellierung von Komponenten, deren bereitgestellte und benötigte Schnittstellen, Ports und Bezie...
UML Verteilungsdiagramme
Verteilungsdiagramme bieten Sichten auf ein Anwendungssystem zur LaufzeitZeigen, welche Kommunika...
Implementierung
Muster in der Softwareentwicklung
Muster – Beschreibung eines wiederkehrenden Problems sowie einer bewährte und generische Lösung d...
Entwurfsmuster
Entwurfsmuster (design pattern) – Lösung für bestimmtes, in Zusammenhängen wiederkehrendes Entwur...
Einstieg ins Testen
Testen – Die - auch mehrfache - Ausführung eines Programms auf einem Rechner mit dem Ziel, Fehler...
Funktionsprüfung
Unit Testing – Testen einzelner Softwaremodule oder Komponenten eines Softwaresystems → von den ...
Nicht funktionale Prüfung (oo):
Spezifikationstest (auch: Black-Box-Test):→ Überprüfen der Eingabe-/Ausgabebeziehungen einer Klas...