Software Engineering
        Wintersemester 2015/16
HU-Logo

Gliederung

Teil I: Grundlagen des SE
 
1. Was ist SE?
         (Motivation, Gebiete, Definition, Geschichte, Literatur)
2. Qualitätskriterien für SW-Produkte
         (Kriterien und ihre Klassifikation, ISO 9126)
3. Vorgehensmodelle
         (Wasserfallmodell, Spiralmodell, V-Modell u. a.)
4. Basiskonzepte für die Beschreibung von Software-Dokumenten
         (Überblick und Klassifikation)
 
 
Teil II: Analyse und Definition (Requirements engineering)
 
5. Resultate der Phase Analyse und Definition
         (Pflichtenheft, Produktmodell, Glossar u.a., Use-Case-Diagramm)
6. Modellierung und Produktmodelle
          (Paradigmen der SW-Entwicklung, modellbasierte SW-Entwicklung)
7. Objektorientierte Analyse (1): Einführung und statisches Modell
          (Teilmodelle der OOA, Klassendiagramme, Pakete)
8. Objektorientierte Analyse (2): Entwicklungsprozess und Analysemuster
          (Richtlinien und Schrittfolge)
9. Basiskonzepte für die zustandsorientierte Sicht
          (Zustandsautomat, Aktivitätsdiagramm, Petri-Netze)
10. Basiskonzepte für die szenariobasierte Sicht
          (Botschaften, Szenarios, Kommunikationsdiagramm, Sequenzdiagramm)
11. Objektorientierte Analyse (3): Dynamisches Modell
          (Aufgabe des dynamischen Modells)
12. Basiskonzepte für die funktionale Sicht
          (Funktionsbaum, Datenflussdiagramm )
13. Basiskonzepte für die datenorientierte Sicht
          (Entity-Relationship-Diagramm, Data Dictionary)
14. Basiskonzepte für die regelbasierte Sicht
          (Regeln, Entscheidungstabellen)
15. Strukturierte Analyse
          (Kontextdiagramm, DFD-Hierarchie, Minispezifikation)
16. Formale Spezifikation von Software und Programmverifikation
          (Z, algebraische Spezifikation, Hoare-Logik)
 
Teil III: Test
 
17. Programmtest: Grundlagen
          (Testaktivitäten, Klassifikation, GUI-basierter Regressionstest, Testautomatisierung, ATOSj)
18. Funktionale Verfahren
         (Grenzwertanalyse, Klassifikationsbaummethode, CTE, modellbasierter Test)
19. Strukturorientierte Verfahren
          (Kontrollflussbezogene Verfahren, Überdeckungstools, OO Test, Testplan)
 
Teil IV: Software-Messung
 
20. Software-Metriken (1): Überblick und Code-Metriken
          (McCabe, Halstead, LOC, Stil-Metiken)
21. Software-Metriken (2): Objektorientierte Metriken und Anwendung
          (DIT, NOC, WMC, LOCM u.a., Fallbeispiel)
 
Teil V: Entwurf und Implementation
 
22. Entwurfsphase im Überblick
          (Softwarearchitektur, Kopplung und Kohäsion, Architekturmuster, Entwurfsmethoden)
23. Strukturierter Entwurf
          (Structure Charts)
24. Objektorientierter Entwurf
          (Aktivitäten wie Optimierung und Erweiterung des OOA-Modells, Entwurfsmuster)
25. Implementation: Programmierstil und -methodik
          (Basiskonzepte, strukturierte Programmierung, schrittweise Verfeinerung)
 
Teil VI: Projektmanagement
 
26. Aufwandsabschätzung
          (Function-Point-Methode u. a.)
27. Reverse Engineering 
          (Reengineering, Restructuring, Refactoring, Wrapping)
28. Qualität des SW-Entwicklungsprozesses und seine Standardisierung
          (ISO 9000, CMM, Qualitätssicherungshandbücher)
29. Agile Techniken
          (Prinzipien, Agiles Manifest, Extreme Programming, Scrum, Schwachstellen)
30. Konfigurationsmanagement
          (CVS, SVN u.a. Tools)
 
          Inhalte vom Teil VI können noch variiert werden.