INHOUDSOPGAVE
Inhoudsopgave
5
Voorwoord
11
Inleiding
13
Deel 1
Kleine systemen
17
Hoofdstuk 1 Kwaliteitseisen 1.1 Primaire eisen 1.2 Afgeleide eisen
19 19 21
Hoofdstuk 2 Hergebruik 2.1 Voordelen en problemen 2.2 Bronnen 2.3 Hergebruik en eigen code 2.3.1 Standaardisatie van gegevens 2.3.2 Modulaire indeling 2.3.3 Robuustheid 2.3.4 Documentatie
23 23 25 28 28 29 29 30
Hoofdstuk 3 Het ontwikkelingsproces 3.1 Indeling in fasen 3.1.1 Behoefteanalyse 3.1.2 Ontwerp 3.1.3 Realisatie 3.1.4 Invoering 3.1.5 Onderhoud en beheer 3.1.6 Kleine projecten 3.2 Indeling naar acties
33 34 34 35 36 36 37 38 38
Hoofdstuk 4 Modellering en softwareontwikkeling 4.1 Indeling 4.1.1 Modules en koppeling 4.1.2 Inkapseling 4.1.3 Niveaus van indeling 4.2 Nut van modulair programmeren
41 42 43 43 46 48
5
6 4.3
programmaontwerp en -realisatie Nadelen van modulair programmeren
49
Hoofdstuk 5 Objecten en berichten 5.1 Waarschuwing 5.2 Wat is een object? 5.3 Klassen 5.4 Soorten modules
51 51 51 54 54
Hoofdstuk 6 Het statische model 6.1 Associaties en verbindingen. 6.2 Het UML-diagram
57 58 58
Hoofdstuk 7 Het dynamisch model 7.1 Het takendiagram 7.1.1 Actoren 7.2 Beschrijving van de taken 7.3 Sequentiediagrammen 7.4 Statendiagrammen 7.4.1 Automaten
61 61 62 64 64 65 67
Hoofdstuk 8 Terug naar het klassenmodel 8.1 Attributen en toestand 8.2 Operaties en methodes 8.3 Associaties 8.4 Veralgemening en overerving 8.4.1 Soorten overerving 8.4.2 Methodes overschrijven 8.4.3 Overerving omwille van opportuniteit 8.5 Functionele modellen 8.6 Bijkomende documentatie
71 72 73 76 77 77 80 81 82 86
Hoofdstuk 9 Behoefteanalyse en modellering 9.1 De behoefteanalyse 9.1.1 Het resultaat 9.1.2 Gebruikersinformatie 9.1.3 Hergebruik bij de behoefteanalyse 9.2 Modellering 9.3 Het statisch model 9.4 Het dynamische model 9.5 Het functionele model 9.5.1 Vergelijkende controle
89 90 90 92 94 94 96 98 101 102
Hoofdstuk 10 Ontwerp
103
inhoudsopgave Hoofdstuk 11 Realisatie 11.1 Dataontwerp 11.1.1 Attributen 11.1.2 Afgeleide attributen en statenvariabelen 11.1.3 Permanente gegevens en programma’s 11.1.4 Associaties 11.2 Procedureontwerp 11.3 Niet-objectgerichte talen 11.4 Programmeerstijl 11.4.1 Vormgeving 11.4.2 Logische structuur 11.4.3 Documentatie 11.5 IDE
Deel 2
GROTE SYSTEMEN
7 109 111 111 112 114 114 117 120 121 123 125 127 131
133
Hoofdstuk 12 Ontwikkelingsmodellen en bedrijfsculturen 12.1 Lineaire modellen 12.1.1 Het cascademodel 12.1.2 Het spiraalmodel 12.2 Parallelle modellen 12.2.1 Parallelle uitwerking 12.3 Iteratieve modellen 12.4 Bedrijfsculturen 12.4.1 Rapid Prototyping 12.4.2 Kwaliteitsbeheer 12.4.3 eXtreme Programming 12.5 Hulpmiddelen 12.5.1 CASE 12.5.2 Versiebeheer 12.5.3 Projectbeheerssysteem
135 136 136 137 139 139 140 142 142 143 144 145 145 146 147
Hoofdstuk 13 Aanvullingen bij UML 13.1 Takendiagram 13.2 Klassendiagram 13.2.1 Associatieklassen 13.2.2 Aggregatie en associatie 13.2.3 Implementatie van aggregatie 13.3 Sequentiediagram 13.3.1 Creatie en vernietiging van objecten 13.3.2 Tijdsafhankelijkheid 13.3.3 Voorwaarden en opsplitsing 13.3.4 Meervoudige objecten 13.4 Activiteitsdiagrammen
149 149 151 151 152 154 155 156 156 157 158 159
8
programmaontwerp en -realisatie
13.5 Statendiagram 13.6 Samenwerkingsdiagrammen
160 162
Hoofdstuk 14 Ontwikkeling van grote systemen 14.1 Uitgebreide behoefteanalyse 14.1.1 Problemen bij het ontwerp van het takenmodel 14.2 Verdere indelingen 14.2.1 Pakketten en deelsystemen 14.2.2 Het ontplooiingsdiagram 14.2.3 Verdelen in deelsystemen 14.2.4 Gelaagde systemen 14.3 Systeemarchitectuur 14.3.1 Het keuzeprobleem 14.3.2 Generische systemen
167 167 169 170 171 173 174 175 176 178 180
Hoofdstuk 15 Documentatie 15.1 Methodes 15.2 De doelgroepen 15.3 De functies
183 184 185 185
Hoofdstuk 16 Planning 16.1 Verdeling en taakdefinitie 16.2 Schattingen 16.3 Afhankelijkheden en werkschema’s
189 190 191 191
Hoofdstuk 17 Verificatie en validatie 17.1 Statische verificatie 17.1.1 Programma-inspectie 17.1.2 Mathematische inspectie 17.1.3 Organisatie 17.2 Testen op fouten 17.2.1 Testen bij hergebruik 17.2.2 Foutenschattingen 17.3 Functioneel testen en betrouwbaarheid
195 196 196 197 198 199 203 204 204
Hoofdstuk 18 Voorbeelden 18.1 Het liftenprobleem 18.1.1 Probleembeschrijving 18.1.2 Functiebeschrijving 18.1.3 Het takendiagram 18.2 Treinreservatie 18.3 Een tekenprogramma 18.4 Het Pacmanproject 18.4.1 De behoefteanalyse 18.4.2 Het ontwerp: nodige bestanden
207 207 207 207 209 210 214 217 218 220
inhoudsopgave 18.4.3 Het ontwerp: statisch model BIBLIOGRAFIE
9 224 235