196 Index
Segregation of duties (SoD), 150, 151 SMART, 21
spaghetti code, 22
Single responsibility principle, 46, 48, 74
Spaghetti code, 12
Software architectures, 59–61
Static application security
Software design testing (SAST), 156
code reviews lifecycle, 101
document, 102 StopIteration signals, 86
impact, 99, 100
planning concepts, 101 Structural design pattern
processes, 100 adapter, 71, 72
resolution of defects, 103 components interact, 70
technologies, 99 composite, 76–78
decorator, 73, 74
Software development life cycle (SDLC) facade, 74–76
agile, 5
building software, 4 T
code reviews, 5, 6
design phase, 4 Testability, 18
development phase, 4
process, 4 Trees
prototypes, 5 binary search, 36
release phase, 4 decision making, 36
requirements phase, 4 leaves, 35
testing phase, 4 root, 35
waterfall, 5 value, 35
Software engineering Turing-complete algorithms, 11
bottom-up approach, 2
principles, 2 U, V
programming techniques, 1
SDLC, 10 Unclear problem statements, 94
Software requirement specification (SRS), 4 W, X, Y
Sound software architectures Wrapper, 71
approach, 21
code kind, 20 Z
people minded, 20
Zen of Python, 13, 14