Next:
1. Messen und Maße
Up:
SWT2
Previous:
Kurzübersicht
Inhalt
Inhalt
1. Messen und Maße
1.1 Einordnung und Ziele
1.2 Ansätze
1.2.1 Skalen
1.2.2 Anforderungen an Maße
1.2.3 Versuch einer Axiomatisierung
1.2.4 Goal, Question, Metric (GQM)
1.2.5 Auflösung, Genauigkeit und Fehler
1.2.6 Arten von Softwaremaßen
1.3 Ergebnisse
1.3.1 PSP
1.3.2 o-o
1.3.3 GQM
1.4 Probleme und Hindernisse
1.4.1 Mangel an Wohldefiniertheit
1.4.2 Mangel an Übertragbarkeit
1.4.3 Fehlinterpretation
1.4.4 Mangel an aussagekräftigen Maßen
1.4.5 Mangel an Eingabemeßwerten
1.5 Die Klassiker: Lines of Code, Fehleranzahl, Personentage
1.5.1 Beschreibung und Zweck
1.5.2 Probleme und Grenzen
1.5.3 Wichtigkeit
1.5.4 Fazit
1.5.5 Beispiel: Definition von LOC
1.6 Vorhersage und Validation
1.6.1 Beispiel: Vorhersagesystem
1.6.2 Validation
1.6.3 Beispiel: Validation
1.6.4 Häufige Fehler bei Validation
1.6.5 Wahl von Vorhersagesystemen
1.7 Beispiel: Objektorientierte Entwurfsmaße
1.7.1 Gewichtete Methoden pro Klasse (WMC)
1.7.2 Tiefe im Vererbungsbaum (DIT)
1.7.3 Zahl von Unterklassen (NOC)
1.7.4 Kopplung zwischen Objektklassen (CBO)
1.7.5 Antwortmenge einer Klasse (RFC)
1.7.6 Mangel an Zusammenhang zwischen Methoden (LCOM)
1.7.7 Diskussion
1.8 Weitergehende Information
2. Psychologie und Softwaretechnik
2.1 Einordnung und Ziele
2.2 Probleme und Hindernisse
2.3 Lernen
2.4 Gedächtnis
2.4.1 Kurzzeitgedächtnis
2.4.2 Langzeitgedächtnis
2.5 Sprache, Denken, Problemlösen
2.5.1 Arten des Denkens
2.5.2 Konzepte als Basis von Sprache und Denken
2.5.3 Struktur von Konzepten: Prototypen und Kerne
2.5.4 Erwerb von Konzepten
2.5.5 Schließen
2.5.6 Probleme lösen
2.6 Bedürfnisse und Motivation
2.6.1 Arten und Stärke von Motivationen
2.6.2 Motivation und Belohnung
2.6.3 Anwendung in der Softwaretechnik
2.7 Streß
2.7.1 Ursache und Wirkung
2.7.2 Streßvermeidung
2.7.3 Umgang mit Streß
2.8 Sozialpsychologie
2.8.1 Attribution
2.8.2 Heuristiken im sozialen Schließen
2.8.3 Haltungen
2.8.4 Soziale Einflüsse
2.9 Nachtrag: Psychologische Schulen
2.9.1 Strukturalismus
2.9.2 Funktionalismus
2.9.3 Behaviorismus, S-R-Psychologie
2.9.4 Gestaltpsychologie
2.9.5 Psychoanalyse
2.9.6 Informationsverarbeitungssysteme, Psycholinguistik
2.9.7 Neuropsychologie
2.9.8 Kognitive Psychologie
2.10 Weitergehende Information
3. Softwaretechnik-Forschung
3.1 Einordnung und Ziele
3.1.1 Ingenieurwesen oder Wissenschaft?
3.1.2 Methoden zum Erkenntnisgewinn
3.1.3 Wissenschaft in der Softwaretechnik
3.2 Ansätze
3.2.1 Wissensarten: Modell, Methode, Werkzeug
3.2.2 Arten von Beiträgen
3.2.3 Forschungsmethoden
3.2.4 Forschungsfelder
3.3 Probleme und Hindernisse
3.4 Experimentelles Arbeiten
3.4.1 Formulierung der Forschungsfrage
3.4.2 Kontrolle von Variablen
3.4.3 Zufallsstichproben und Vergleichsgruppen
3.4.4 Varianzreduktion
3.4.5 Versuchspläne
3.4.6 Statistische Auswertung
3.4.7 Interne und externe Gültigkeit
3.4.8 Veröffentlichung
3.5 Beispiel: N-Versions-Programmierung
3.5.1 Forschungsfrage
3.5.2 Experimentidee
3.5.3 Experimentaufbau
3.5.4 Ergebnis
3.5.5 Diskussion
3.6 Beispiel: Pseudokode versus Flußdiagramm
3.6.1 Forschungsfrage
3.6.2 Experimentidee
3.6.3 Experimentaufbau
3.6.4 Ergebnis
3.6.5 Diskussion
3.7 Weitergehende Information
4. Software- und Systemsicherheit
4.1 Einordnung und Ziele
4.2 Begriffe
4.3 Ansätze
4.3.1 Grundregeln
4.3.2 Hierarchische Sicht von Unfällen
4.3.3 Allgemeines Vorgehen
4.3.4 Gefahrenbestimmung
4.4 Probleme und Hindernisse
4.4.1 Risiken der Risikoanalyse
4.4.2 Software-Mythen für sichere Systeme
4.5 Beispiele für Sicherheitsprobleme
4.5.1 Fehlertaxonomie
4.5.2 Beispiele: Entwurfsprobleme
4.5.3 Beispiele: Herstellungsprobleme
4.5.4 Beispiele: Betriebsprobleme
4.5.5 Analyse
4.6 Allgemeine Suchtechniken zur Gefahrenbestimmung
4.7 Ursachen-Folgen-Analyse
4.8 Gefahrenbestimmung mit formalen Notationen
4.8.1 Darstellung des Systems als endlicher Automat
4.8.2 Gefahrenbestimmung im endlichen Automaten
4.8.3 Probleme dieses Ansatzes
4.9 Weitergehende Information
5. Softwareprozeß-Verbesserung
5.1 Einordnung und Ziele
5.1.1 Warum ist die Softwareproduktion so schlecht?
5.1.2 Ziele von Softwareprozeß-Verbesserung
5.2 Ansätze
5.3 Das Capability Maturity Model (CMM)
5.3.1 Stufe 1: ad-hoc
5.3.2 Stufe 2: wiederholbar
5.3.3 Stufe 3: definiert
5.3.4 Stufe 4: verwaltet
5.3.5 Stufe 5: optimierend
5.3.6 Managementsicht auf die Reifestufen
5.4 ISO 9001
5.5 Bootstrap
5.6 Spice
5.7 Weiterentwicklung
5.8 Ergebnisse
5.9 Probleme und Hindernisse
5.10 Weitergehende Information
6. Der persönliche Softwareprozeß
6.1 Einordnung und Ziele
6.2 Ansätze
6.2.1 Grundideen
6.2.2 Die Schlüsselbereiche im PSP
6.2.3 Stufe 2: wiederholbar
6.2.4 Stufe 3: definiert
6.2.5 Stufe 4: verwaltet
6.2.6 Stufe 5: optimierend
6.2.7 Der PSP-Kurs
6.3 Ergebnisse
6.3.1 Planung: Grundlagen und Effekte
6.3.2 Qualität: Grundlagen
6.3.3 Qualität: Effekte
6.4 Probleme und Hindernisse
6.5 Maße im PSP
6.5.1 Produktgröße
6.5.2 Produktivität
6.5.3 Produktqualität
6.5.4 Prozeßqualität
6.5.5 Prozeßsteuerung
6.5.6 Qualitätsproduktivität
6.5.7 Diskussion
6.6 Größenschätzung
6.6.1 Gesamtvorgehen
6.6.2 Bestimmung der Objektgrößenbereiche
6.6.3 Schätzkorrektur mit Regression
6.6.4 Schätzung von Zeit aus Größe
6.7 Entwurfsprüfung
6.7.1 Allgemeine Überlegungen
6.7.2 Zustandsmaschinen als Notation und Prüfungsmethode
6.7.3 Entwurfskonventionen
6.7.4 Symbolische Ausführung und Induktionsbeweis
6.7.5 Ausführungstabellen
6.7.6 Verfolgungstabellen
6.7.7 (Halb)formale Verifikation
6.8 Weitergehende Information
7. Die Cleanroom-Methode
7.1 Einordnung und Ziele
7.2 Ansätze
7.2.1 Kleine Teams aus Gleichen
7.2.2 Separation von Entwicklung und Test
7.2.3 Exakte Spezifikation
7.2.4 Schrittweise Verfeinerung
7.2.5 Begutachtung und Verifikation
7.2.6 Inkrementelle Entwicklung
7.2.7 Statistisches Testen
7.2.8 Zusammenfassung
7.2.9 Bemerkung: Austauschbarkeit der Techniken
7.3 Ergebnisse
7.3.1 Ericsson OS-32
7.3.2 IBM Cobol SF
7.3.3 Ein kontrolliertes Experiment
7.4 Probleme und Hindernisse
7.4.1 Anwendungsbereich
7.4.2 Randbedingungen
7.5 Spezifikation, Entwurf und Verifikation mit Kastenstrukturen
7.5.1 black box, state box, clear box
7.5.2 Beispiel
7.6 Statistisches Testen und Zertifizierung
7.6.1 Benutzungsmodellierung
7.6.2 Testen
7.6.3 Zertifizierung
7.7 Weitergehende Information
8. Anforderungsbestimmung
8.1 Einordnung und Ziele
8.1.1 Übersicht
8.1.2 Fragestellungen
8.2 Ansätze
8.2.1 Arbeitsphasen
8.2.2 Anwendungsbereiche
8.3 Ergebnisse
8.4 Probleme und Hindernisse
8.5 Analyse der Anforderungen
8.6 Grundtechniken
8.6.1 Befragungstechniken
8.6.2 Sammeltechniken
8.6.3 Gruppentechniken
8.6.4 Beobachtungstechniken
8.6.5 Hilfsmittel
8.7 Umgang mit Risiken und Konflikten
8.7.1 Anforderungsbestimmung als Konfliktlösungsprozeß
8.7.2 Theorie W
8.7.3 Das WinWin-System
8.7.4 Konfliktidentifikation für Qualitätsanforderungen
8.8 Integration verschiedener Sichten
8.8.1 Metamodellierung
8.8.2 Beispiel: Telos
8.8.3 Vorgehen zur Sichtenintegration
8.8.4 Anforderungsanalyse durch Sichtenintegration
8.8.5 Beispiel: PFR mit ConceptBase
8.9 Weitergehende Information
9. Technisches Schreiben
9.1 Anforderungen
9.1.1 Inhalt
9.1.2 Textorganisation
9.1.3 Interessantheit
9.1.4 Adäquatheit
9.1.5 Korrektheit
9.1.6 Knappheit
9.1.7 Sprache
9.1.8 Schönheit
9.1.9 Also?
9.2 Vorgehen
9.2.1 Wie entwickelt man doch gleich Software???
9.2.2 Analyse
9.2.3 Planung
9.2.4 Entwurf
9.2.5 Implementation
9.2.6 Testen und Überarbeitung
9.2.7 Wartung
9.2.8 Bilder und andere Medien
9.2.9 ,,Goldene Regeln``
9.3 Weitergehende Information
Literatur
Lutz Prechelt
1999-04-13