Nächste Seite:
Literatur
CASE und Projektmanagement
Vorlesung, Sommersemester 2004
Johannes Waldmann, HTWK Leipzig
Literatur
Einleitung, Use Cases (15. 3.)
Programme und Softwaresysteme
Produktivität
Software ist schwer zu entwickeln
Vorlesungen
Seminare/Praktika
Organisation der Seminare
Anforderungen an Produktentwicklung
Einordnung
Definition Softwaretechnik
Die UML (unified modeling language)
Diagramme f. Geschäftsprozesse (use cases)
Fragen zu UCD
Seminare in Woche 12
Graphen, Aktivitäts-D. (18. 3.)
Diagramme/Graphen
Wege, Zusammenhang
Starker Zusammenhang
Bäume
Gerichtete kreisfreie Graphen - DAGs
UML: Aktivitätsdiagramme
Knoten in Aktivitätsdiagrammen
Determinismus, Synchronisation
Richtlinien für Akt.-Diagramme
Schwimmbahnen (swim lanes)
Aufgaben für 13. Woche
Notation
Analyse-Aufgaben
Korrektur
Klassen (V 29. 3.)
Daten, Typen
Arten von Klassen
Wdhlg: Objekt/Klasse
Klassen in Diagrammen
Getter/Setter für Attribute
Klassen festlegen
CRC-Karten
Beziehungen zwischen Klassen
Assoziation zwischen Klassen
A
und
B
Benannte Assoziationen
Wdhlg.: Relationen
Wdhlg: Eigenschaften von Relationen
Kardinalitäten
Qualifizierte Assoziation
Komposition und Aggregation
Navigations-Pfeile
Aufgaben 14. Woche
Entwurf von Akt.-Diagrammen
Entwurf von Klassen-Diagrammen
Schnittstellen, Schablonen (V 1. 4.)
Beispiel: Zahlen
Konkrete und Abstrakte Datentypen
Schnittstellen (interfaces)
die Schnittstelle ,,Zahlen``
Weitere Implementierungen von Zahlen
Schnittstellen sind Normen
Schnittstellen in UML-Diagrammen
Sprachliche Unterstützung
Beispiel: ActionListener
Design-Zeit von Schnittstellen
De-Facto-Schnittstellen
Offene Schnittstellen
Schablonen
Klassen-Schablonen in UML
Sequenz-Diagramme (V 15. 4.)
Sequenzdiagramme
Erstellen und Löschen von Objekten
Automatische Freigabe
Das ,,Demeter-Gesetz``:
don't talk to strangers
Demeter heute?
Ergänzung/Zusammenfassung UML
Pakete
Zustandsdiagramme
Zustände und Design
Checklisten
Aufgabe (20. 4.)
Quelltextverwaltung mit CVS
Anwendung, Ziele
CVS-Überblick
CVS-Tätigkeiten (I)
CVS-Tätigkeiten (II)
Konflikte verhindern oder lösen
Welche Formate?
Logging (I)
Logging (II)
Authentifizierung
Unser CVS-Server
Übung 27. 4.
CVS - Einzelheiten (V 29. 4.)
Datei-Status
Unterschiede zwischen Dateien
LCS
LCS -- naiver Algorithmus (exponentiell)
LCS -- bottom-up (quadratisch)
LCS - eingeschränkt linear
diff und LCS
CVS - Merge
Drei-Wege-Diff
Aufgaben (autotool) zu LCS
Mehr zu CVS (10. 5.)
Keyword Expansion
Das Keyword
$Log$
Text- und Binär-Dateien
Symbolische Revisionen (Tags)
Verzweigungen (branches)
Branches (II)
CVS-Benachrichtigungen
CVS-Benachrichtigungen (II)
Server installieren, Repository anlegen
Das Repository
Datei-Operationen
Subversion
Subversion (II)
Übung 11. 5.
Software-Management (V. 13. 5.)
Management: Definition
Management: Aufgaben
Produktivität
Software-Projekt-Eigenschaften
Qualität
Planung
Prozeß-Elemente
Prozesse und Vorgänge
Meilensteine
Netzpläne
Planung mit Netzplänen
Pufferzeiten, kritische Pfade
Scheduling-Probleme
Komplexität von Scheduling-Problemen
Vom Mythos des Mann-Monats
Aufgabe zu Projekplanung
Prozeß-Modelle (V 24. 5.)
Aufgaben
Das einfachste Prozeßmodell
Das Wasserfall-Modell
Wasserfall (Eigenschaften)
Das V-Modell
Submodelle, Rollen
Aktivitäten, Produkte
V-Modell, Eigenschaften
Probleme mit ,,klassischen`` Modellen
Prototypen
Arten von Prototypen
Prototyp und Produkt
Prototypen: Bewertung (+)
Prototypen: Bewertung (-)
Evolutionäres Modell
Inkrementelles Modell
Objektorientiertes Modell
Nebenläufiges Modell
Das Spiral-Modell
Software? Peopleware! (V 27. 5.)
Die vier wichtigsten Elemente des Managements
Personal-Qualifikation
Spezialisierung
Spezialisierung (II)
Spezialisierung und Management
Organisations-Strukturen
Rollen
Laufbahnen
Management by ...
Diskussion
Ziele des Managments (?)
Falsche Hoffnungen
Ziele der Mitarbeiter
Arbeitsbedingungen
Peopleware
Qualitäts-Management (V 7. 6.)
Was ist Qualität?
DIN ISO 9126
Messung von Qualität
Qualitäts-Management
Qualitäts-Sicherung
Qualitätssicherung im V-Modell
Bugzilla
Übung 8. 6.
Inspektionen
Inspektion
Inspektion (II)
Inspektion (III)
Kosten/Nutzen von Inspektionen
Clean Rooms
Produktqualität (analytisch)
Klassifikation
Dynamische Tests
Dynamische Tests: Black/White
Kontrollfluß-Tests
Datenfluß-Analyse
Daten lokalisieren
Globale Variablen
Übung 15. 6.: Debugging/Profiling
Black-Box-Tests
Probleme mit GUI-Tests
Mischformen
Testen mit JUnit
JUnit und Extreme Programming
Tests und Verifikation
Programming by contract
Verifikation
Schlußregel: Implikation
Axiom: Zuweisung
Regel: Sequenz
Regel: Verzweigung
Regel: Schleifen
Invarianten finden?
Partielle und totale Korrektheit
Termination: Beispiel
Termination ,,von selbst``
Termination für Ersetzungs-Systeme
Automatische Verifikation?
Verifikation als Wundermittel?
Aufgaben zum Testen und Verifizieren (22. 6.)
Prozeßqualität
CMM/SPICE
Spezifikation von Jongliermustern
Zeit und Höhe
Transformationen
Links
Über dieses Dokument ...
Johannes Waldmann 2004-06-30