CONTENTS
Preface = ix
1 Overview of the system development process = 1
1-1 system quality = 2
1-2 Problem definition = 5
1-3 System development = 7
1-4 System design aids = 11
1-5 System documentation = 16
1-6 Exercises = 18
2 System design = 19
2-1 Identification of system Parts = 19
2-2 Data design techniques = 25
2-3 Control design techniques = 29
2-4 System design documentation = 34
2-5 Exercises = 36
3 Data design = 37
3-1 Types of data = 37
3-2 Levels of date organization = 40
3-3 Logical date organization = 43
3-4 Data representation = 47
3-5 Physical date organization = 57
3-6 Data documentation = 68
3-7 Exercises = 69
4 Program design = 70
4-1 Top-down design = 71
4-2 Nucleus extension = 82
4-3 Bottom-up design = 89
4-4 Internal data flow = 90
4-5 Design aids = 92
4-6 Program documentation = 97
4-7 Exercises = 99
5 Algorithms = 101
5-1 Types of algorithms = 101
5-2 Types of Implementations = 106
5-3 Algorithm Paradigms = 112
5-4 Algorithm documentation = 131
5-5 Exercises = 131
6 Module design = 133
6-1 Structured algorithms = 134
6-2 Control diagrams = 142
6-3 Driver tables = 150
6-4 Module documentation = 159
6-5 Exercises = 160
7 Module implementation = 162
7-1 Approaches to implementation = 162
7-2 Data implementation = 164
7-3 Input-output implementation = 168
7-4 Control implementation = 170
7-5 Program complexity = 180
7-6 Formatting code = 184
7-7 Implementation aids = 188
7-8 Exercises = 190
8 Validation of code = 192
8-1 Error detection = 192
8-2 Module testing = 205
8-3 Formal verification = 210
8-4 Error estimates = 216
8-5 Security = 219
8-6 Documenting quality = 222
8-7 Exercises = 222
9 Program optimization = 224
9-1 saving space = 225
9-2 Saving time = 230
9-3 Tuning the program = 231
9-4 Optimization aids = 240
9-5 Documentation of performance = 241
9-6 Exercises = 241
Glossary = 242
Bibliography = 246
Index = 251