Index
Numerics
A
acceptance criteria 278
acceptance testing 122-123
acronyms 180, 306
action-response pairs 193, 195
actions 219, 222, 226,
301
failed 227
with more than one result 222
See also events
active
voice 271, 337
ad hoc notations 204
administrative procedures 195
administrators 140
"affect" 306
agents 231, 302
"always" 306
ambiguity 179-180, 235, 370
in state-transition tables and diagrams 216
of cardinality symbols 169
analysis 116
annotations 186, 227
anticipated changes. See
likely changes
API 336
API. See application program interface
appendices 285
application program interface 140
application program
interface 197
approval process 288
approval signatures 278
artifact
decomposition. See pattern decomposition
assertion 134, 401
association
160
assumptions 285, 307
atomicity 235, 275, 369
attributes 178
Boolean 156
directed 171
enumerated type 156
impossible values
158
types of 154
attributes 59, 143-144, 148
naming 157, 180
reference 167
where to place in document 301
audiences 115
B
backup procedures 141, 195
Backus-Naur Form 197
bar code 205
base-conversion 7, 10
behavior allocation 248
big dot 67
binary-to-decimal conversion 7
bird's-eye view 238, 251
BNF 197
bond. See corporate bond
Boolean algebra 156
boring the reader 270,
272, 283, 311, 332
boundary clash 187
bridge 19, 21, 23-24, 29
Bug Log 341
bugs 238, 247, 250
business
rules 99-101
C
calculation 87
call waiting and call forwarding 253
cardinality 162,
402
ambiguity of symbols 169
symbols 163-164
types of 165
CASE tool
181, 215, 402
causal laws 59
causation 207
change budget 291
characters per line 326
checksums 95
Chen, Peter 145
Churchill,
Winston 271
civil engineer 19, 21, 23-24, 29
class description 148, 174,
301, 402
class diagram 144, 149, 174, 402
classes 143, 162, 402
confused with object-oriented programming 145
grouping with events 295
in object-oriented programming 245
naming 180
"click on"
308
clock radio 97
commentary 331, 367
company logo 334
compiler
104
completeness 236
complexity 98, 117, 230, 234
components,
reusable 13
"compose" 308
"comprise" 308
computer-aided design (CAD) 35
concurrency 201
concurrent states 209
connection domains 62, 77, 91, 402
connection problem 91, 365, 403
connection problem
consistency 236
contents
requirements 129
specification 129
contents, table of. See list of
contents, table of contents
context diagram 47
contraints. See design
constraints
control problem 83, 219, 344, 403
in compiler 104
in digital answering machine 102
in inventory
control system 98
in satellite reconnaissance 106
control problem
control theory 208
conventions 139, 177, 309
cooperative listener, principle of 286
corporate
bond 204
event responses 194
events 190
Jackson diagram 189
"correct" 311
correction events 195
cover, fancy 319
craft of writing 268
"create" 192, 194
credibility
136-137, 276
cross-reference 280, 298, 311, 349
crow's foot 163
CRUD
333
currency 154
customer 116-117, 119, 131-132, 242-243, 258
cutting corners 258
CYA documents 290
D
"data" 312
data entry 77
data flow 403
data model 140
merged with requirements 131
data store 403
data structure 145, 403
data warehouse 92
database 81, 131
as model 80
design of 118-119
normalization 176
object-oriented
165
relational 164, 175
data-flow diagram 8, 46, 232, 244, 281
dates 154
decimal-to-binary conversion 7
decoy text 273-274, 403
definition 148, 301, 312, 332, 350
delay 63, 93, 95
deliverable 404
dependencies 285, 317
dependency diagram 222
dependent variable 236
deployment 114
design
falsely contrasted with requirements 27
design constraints 137, 257
design patterns 12, 16, 31, 249
designs
development process 278
DFD. See data-flow
diagram
diagrams. See graphics
dialing 210
differentia 312, 332, 404
digital answering machine 102
directed attributes. See attributes,
directed
direction problem 84, 86, 404
discontinuities 237
distortion 63, 93-94
division of labor 21, 114
doctors' offices
document information 138, 141
document
organization. See organization
document ratings 255
document reviews 254
document title 317
documentation
as a craft 268
as end in itself 288
as tool of elicitation 243
badly written 255
benefits of 266
cutting corners 259
redundancy
in 273
unread 269
documentation. See also technical writing
domain
404
domain description 59
domain expert 404
domain
domains of interest 67
doubletalk 289
duckspeak 282
dynamic information problem. See information problem,
dynamic
E
educational software 90
"e.g." 322
"effect" 306
electronic mail 105
"element" 319
elicitation 116, 241
embedded applications 34, 102
embedded system 404
emphasis 302
en dash 333
encryption 249
ends and means 227, 280
engineering 5
entertainment software 35
entities 59, 144
entity-relation diagram
145, 404
"entry" 319
enumerated types 156
ERD. See
entity-relation diagram
error messages 193
error-correcting protocols
92, 94-95
events 189
contrasted with actions 220
event responses 81-82, 86, 139, 192, 405
events 59, 148-149, 216-217, 295
in Bug Log 351, 356, 365-366, 368
naming 191, 215
examples 186, 304
exceptional cases 302
exclusions 285
expectations 132
expert
system 31
exploratory engineering 14, 19, 45, 405
F
fancy cover 319
feature interaction 253
feedback forms 278
ferry
23-24
file formats 132, 140, 184, 187
first sentence 319
flow chart
202
flow diagram 231
font size 326
fonts 181
force-fits 280
Form 1040 233
formal methods 31, 60, 134, 405
forms, preprinted 179
forward references 311
Fowler, Martin 261
frame diagram 65
Bug Log 342
converting to documentation 69, 343
how to read 67
in overview 319
multi-frame 97
summary 71
framing a problem.
See problem framing
function 405
functional decomposition 6, 11, 18-19,
24, 46, 233, 244
contrasted with pattern decomposition 17
why it doesn't work 11, 17, 47
functional dependence 175
functional requirements 257-258, 281, 283,
285, 405
future changes. See likely changes
future tense 194, 330
G
Gane-Sarson charts 232
generalities 275
generalized object models
247
genus 312, 320, 405
global characteristics 134, 257
glossary
138, 314, 321
grammar checker 338
graphics 149, 168, 215,
230, 261, 303, 316, 325
as redundancy 273
vs. text 173, 210, 214
See also dependency diagram
grouping 294, 332
H
hacking around 250
"happens when" 220
"happens
while" 220
hash table 406
heuristic 16
hierarchy 184, 200-201,
315
high-level languages 27
hostile reader 286
Hugo, Victor 274
I
"i.e." 322
I/O port 407
image-processing 67, 88
immediate actions 219
imperative mood 197, 329-330
implication 324
importance 130, 303-304
inclusions 285
incremental improvement 44
independent variable 236
index 138
indicative mood 42, 330
indirect connection. See connection domain
individual 57, 59-60, 143,
406
information problem 26, 76, 177, 406
checklists 82
dynamic 78, 192, 404
in electronic mail 106
in
inventory control system 98
in satellite reconnaissance 106
static 78,
410
information requestors 77
.INI file 140
input/output devices
27, 34-36, 53, 69, 226
installation procedures 141
integer 154
integration testing 123
intellectual equity 266
interface design 36,
53
audience 116
title of document 318
interruptions 230
"invalid" 322
invariants 133, 135, 141
typographical convention for 310
invention 43
inventory 85, 98, 221
ISO 9000 278, 288, 407
italics 304, 310-311
"item" 319
iteration 184, 200-201
J
Jackson diagram 184-185, 188
compared with state-transition diagram 204
in Bug Log 351, 356
recursion in 199
Jackson, Michael 261
jigsaw puzzle 279, 297, 311,
407
K
knight's tour 55
Kuhn, Thomas 326
L
left-to-right progression 48
legacy data 79
legacy system 407
legal citations 48
Les Mis?rables 274
leveling 46
library 197
likely changes 137
line spacing 326
link class 171
list of
contents 294
logical model 146
logical structure 40
logically
fundamental 300
logo 334
M
machine 25, 38, 53, 58, 67, 134
in frame diagram 66
states 38
machine-independent programming
techniques 27
maintenance requirements 257
management. See project
management
mapping 87, 235
mass spectrometer 125-126
mean time to
failure. See MTTF
means and ends 227, 280
mediate actions 219
metatext 323, 334
methodologies 98
Miller, George 298
mistake
theory 93
modal verbs 218, 329
"model" 324
models 80, 192
contrasted with descriptions 80
module testing 122
mood 42
MTTF
134-135
multi-frame problem 97, 407
multiplicity 162
N
naming
classes, attributes, relations 180
events 215
states 215
NASA
45
neural net 31
NFR 257
node 150-151
nomenclature. See
terminology
non-functional requirements (NFRs) 257
non-terminal symbol
198
normal case 302
"not" 157
notifications 80, 86, 342
O
object-oriented analysis 246
force-fit to workpiece frame 248
object-oriented databases 165
object-oriented programming 137, 145, 243, 249, 408
OMT 164, 168,
171-172, 407
one thing at a time 297
online help 125
open-ended
problem 31, 408
operating procedures 39, 81, 95, 140, 192-195
as solution to problem defined in requirements 252
operating system 35,
197
optative mood 42
oral tradition 265, 408
ordered set 160, 408
orderly engineering 14, 19, 23, 26, 409
organization 293, 344
Orwell, George 283
outline processor 294
outlines 293
oval 66-67
overview 138, 141, 302, 349
as redundancy 273
example 346
of document 138
P
page layout 325
pairs 161
paper prototypes 46, 140
"paradigm" 326
participles 215
Pascal 198
passive
objects 231, 302
passive voice 270, 337
pattern decomposition 16, 408
peak levels 136
performance 136
performance requirements 257
period 178
Petri nets 230
pharmacy 64
phone switch 14, 217, 253
photocopier 219-220, 222, 303
piling on 276
platform 134, 257
pointer variables 167
Polya, G. 297
preconditions 225
predicate
calculus 60
predicates 58-60, 248, 408
preferences 132, 141, 330, 408
impossibility of testing 124
typographical convention for 309
preposition 270
preprinted forms 179
present tense 194, 329
principles
distinguished from rules 271
printing press 37
priority 130
problem defining 23
problem domain 33, 38, 53, 117-118, 120, 143, 408
acceptance testing and 123
as locus of requirements 35
as premise in
validation 40
defined 34
description 131, 189, 217
esoteric 150
fully described in requirements document 50
omitted from structured
analysis 47
poorly described by programming constructs 239, 243
redundancy in 95
spontaneous activity in 219
user interface and 127
problem framing 55, 73, 97, 117, 249, 251
defined 56
document organization and 295
problem solving 3
problem solving 10, 30
process algebras 62
program 38, 53
as configuration of machine 36
program code 309
program domain
program specification. See specification
programmers
117, 119, 141, 145
non-human interface design and 121
user-interface design and 120
programming 119, 238
programming languages
bad for describing problem domain 239
programming. See also
object-oriented programming
project management 44, 114
propositional
calculus 60
propositions 59, 295, 297, 301
protocols 140
prototypes
46, 119, 140
pseudocode 238
pseudoscience 256
purpose and scope 320
Q
qualifier 172
quaternary relation 171
queries 76, 176, 189, 238, 342
as propositions 59
describing many aspects of 298
R
rapid prototyping 46
rationale 197, 304, 324
real numbers 154
realized domain 35, 64, 89, 101, 342, 349, 409
recoding 299-300
recursion 198-199
redundancy 95-96
reference attributes 170, 409
reinforcement
218, 273
relational database 167, 175
relations 59, 143-144, 160, 162,
301, 409
as attributes 167
chain of 178
naming 167, 180
quaternary 171
ternary 169
release numbers 131
reliability 134, 257
repetition
273, 297, 311
report generators 179
reports. See queries
"represents" 328
requirement statements 218, 282, 329
classes and 146
for queries 176
identification numbers 310
typographical convention for 309
requirements 38, 53, 130, 410
acceptance testing and 122
are not use cases 252
as design 27, 90
as logical connection between program and customer's desires 40
atomic
235, 275, 369
audience 116
Bug Log 345
confused with program design
284
defined 35
design patterns and 23
do not describe principles of
good design 276
early correction of mistakes 46
"finite" 306
for photocopier 224
imperfection of 44
in frame diagram 66
jargon 256
not object-oriented 243
omitted 123
priority of 130
reasons for distinguishing from interface design 41
related to problem
frames 73
sketchy 44, 48, 124
testability of 124
title of document
317
to address failed actions 222, 227, 231
unread 269
user
documentation and 125
requirements document 129
requirements engineering 27
requirement statements
where to place in document 301
restaurant 147-148, 169, 175
reviews
254
risks 259-260
road names 60
roasted effervescence 243
roles
168
Rubik's cube 15, 55
rules 233, 331
S
safety 135, 257
sailboat 11
satellite reconnaissance 106
scale
136, 350
schedules 278
scope of work 277
security 135
selection
184, 200-201
sentence-completions 332
separation into domains 57, 61
sequence 184, 200-201, 332
sequence diagram 200
sequence notations 197
sets
sets 144
seven two 298
"shall" 330
shared phenomena 61-62, 84, 93, 103, 192, 410
shared states 140
"should" 330
signature 220
simplicity 117, 230, 234, 282
singular or plural 180
size of type 326
sketch
sketches 44, 48, 124
SME 410
snapshot
problem 79
software
software engineering 14
software problem 25, 30-31, 34, 43, 117
complete diagram 53
defined 25
software quality 28
software
requirements. See requirements
sources of information 77, 191
space program 45
spec file 126
specification 36, 38, 53, 130, 410
audience 116
contents of 139
of event responses 192
of static
information system 81
state transitions in 218
system testing and 122
title of document 318
speech recognition 20
spiral process 45-46,
114, 123
split infinitives 271
spontaneous actions 219
spreadsheet
35
standards 269
Statechart 209
states 315
state-transition tables and diagrams 10, 208
ambiguity in 216
for describing sequences 203
in Bug Log 364
statistics package 102
status attributes 153
stepwise refinement 6
structure 184
structure diagram. See Jackson diagram
structured
analysis 46, 244, 280
structured English 238
structured programming 185,
244
subroutine 46
superstates 209
syntax 198
syntax diagrams 199
"system, the" 194, 197, 310
system administrator 106
system availability 134
system requirements 256
system testing 122
T
table of contents 138, 335
tables 149-150, 197, 214, 234, 333
tax
instructions 233
technical writer 117, 125, 141
technical writing 3
learning 268, 270
nonsensical rules for 271
See also documentation
telephone line 209, 217, 253
telephone switch. See phone switch
temperature sensor 62-63
templates 285
tense. See present tense,
future tense
terminal symbol 198
terminology
inconsistent 285
shifting 322
unnecessary 283
ternary relations
169
terseness 194
test cases 121, 123
testers 141
testing 118,
121
text
"this" 350
time of day 154
timeout 209-210
title 317
title page 334
top-down design 6, 46,
248
town planner 19, 21, 23, 29
traceability 6
traceability matrix
258, 278, 410
transformation problem 47, 87, 283, 411
checklists 88
in compiler 104
in digital answering machine 102
in satellite reconnaissance 106
in statistics package 102
transformer 13
trouble tickets 236
trucks 33-34, 36, 57, 61, 180
true and false 157
Tufte, Edward R. 261
tuple 161
tuples
160-162, 168, 235, 411
"type" 335
typographical conventions. See
conventions
U
UML 160, 162, 164, 168, 171-172, 209-210, 411
underlining 335
uniqueness 173
usability testing 123
"use" 336
use
cases 195, 250, 411
user
user interface 82, 411
user requirements 256
user's manuals 125, 193
user-interface design 39, 117-118, 195
and programmers 119
exploiting redundancy 159
intuitive knowledge of
users and 50
problem domain and 127
programmers and 125
title of
document 318
users 118
V
V diagram 122
vagueness
"valid" 337
validation 39
automated 31
contrasted with invention 43
validation rules 82, 193,
369
verbs, modal. See modal verbs
video game 35
Vietnamese 131
voice 337
Volkswagen 159
W
warehouse 221, 232
Warnier-Orr diagram 201
washing machine 6
waterfall process 114
weather stations 62-63, 66-67, 69
web browser
web site 27
well-defined problem 43, 412
as basis for testing 49
defined 28
what vs. how 24, 51
white
space 303
wirecenter 315-316
word processor 35, 65, 187
workpiece
problem 35, 89, 342, 412
checklists 90
force-fit due to object-oriented analysis 248
in
electronic mail 105
in inventory control system 98
in statistics package
102
Wright brothers 17-20
writing. See technical writing
Y
year 2000 153
Yourdon, Ed 164, 169
Z