Prof. Dr. Franzen Wintersemester 1999/00 Stand: 19.10.1999 Status:  Entwurf, unvollständig

Softwaretechnik 1 - Inhaltsverzeichnis

Dieses Skript ist zum Gebrauch neben der Vorlesung gedacht und ersetzt nicht den Besuch der Lehrveranstaltungen. Es ist in wesentlichen Teilen aus dem Lehrbuch Pomberger/Blaschek, Software-Engineering: Prototyping und objekt-orientierte Software-Entwicklung, und weiteren Quellen aus der Literatur exzerpiert. Die entnommenen Stellen sind nicht besonders gekennzeichnet.

Einführung

  1. Warum scheitern SW-Projekte?
  2. Warum ist es so schwierig, Software zu machen?
  3. Was versteht man unter "Software-Engineering"?
  4. Was ist Prototyping?
  5. Geschichte des Software-Engineering

Qualitätskriterien für Softwareprodukte

  1. Was ist gute Software?
  2. Was tun, um Qualität zu ereichen?
  3. Qualität des SW-Entwicklungsprozesses

Die Phasen eines Softwareprojektes

  1. Phasenmodelle
    1. Das klassische sequentielle Software-Life-Cycle-Modell
    2. Wasserfall-Modell
    3. Protyping-orientiertes Life-Cycle-Modell
    4. Spiral-Modell
    5. Objekt-orientiertes Life-Cycle-Modell
  2. Problemanalyse
    1. Techniken und Hilfsmittel
      1. Strukturierte Analyse
  3. Systemspezifikation
    1. Aufbau und Inhalt der Systemspezifikation
    2. Qualitätsanforderungen an die Systemspezifikation
    3. Grundlegende Probleme bei der Systemspezifikation
    4. Durchführbarkeitsstudie
  4. Entwurf
    1. Entwurfstechniken
    2. Aufgabenstellung eines Entwurfsbeispiels
    3. Modularisierung
      1. Richtlinien
      2. Abstrakte Datenstrukturen und abstrakte Datentypen
    4. Entwurf von Benutzerschnittstellen
      1. Zustände
      2. Menüs
      3. Masken
      4. Farbe
      5. Ton
      6. Konsistenz
    5. Funktionsorientierter Entwurf
    6. Datenorientierter Entwurf
    7. Objektorientierter Entwurf
      1. Abbot-Methode
      2. Klassenhierarchien
      3. Generalisierung
      4. Beziehungen zwischen Klassen
    8. Entwurfsmuster
      1. Beispiel: Das Dekorierer-Muster im Paket java.io
  5. Implementierung
    1. Wahl der Implementierungssprache

    2. Programmierstil
  6. Test und Installation
    1. Testmethoden
    2. Testplanung und -ausführung
    3. Testdokumentation

Anhang

Übungsblätter: Blatt 1, Blatt 2, Blatt 3, Blatt 4, Blatt 5
Code Beispiele zum Sieb des Erathosthenes (Blatt 4 ):  funktional, objekt-orientiert