abstraction, modelling 108, 120–3
classification 120
generalisation 121
abstraction, OO design 171, 172
acceptance testing see user acceptance testing
access controls 193
activity sampling 67
adaptive maintenance 262
adaptive software development 99
Agile Alliance 97
Agile development approach
adjustment of requirements 77–8
documentation 135
testing 238
Agile Unified Process 100
analysis of business needs see business analysis
anti-malware software 193
Application Service Providers (ASPs) 103
contract 214
ISO 42010 definition 202, 203, 223
‘As-Is’ and ‘To-Be’ models 110
attribute of an object, OO development 101
bar codes 156
Barker Ellis data mode 121
‘big bang’ implementation 253–4
binary chop 184
black- and white-box testing 125
‘b’ model of systems development 260–1
Boehm, Barry, Spiral model 25–6, 261–2
Box, George 108
break-even/payback analysis 56–7
definition of 38
place in development lifecycle 38–44
rationale for 37
business analysts 63
impact analysis 56
investment appraisal techniques 56–9
in lifecycle of IT project 47–9
purpose of 47
business logic layer 217
business modelling tools 272–3
business objectives 266
business and project risks 54–6
business use cases (BUCs) 129–30
CARE (computer-aided requirements engineering) 273, 276
CASE (computer-aided software engineering) 92, 272, 276
CAST (computer-aided software testing) 275, 276
changeover
pilot 255
see also implementation
class 170
classification, abstraction 120
class model 171
client-server patterns, architecture 215–18
closed source/shared source software 88
sequential numbers 176
cohesion 205
commercial off-the-shelf (COTS) packages 83–7
communication/interoperation patterns 206–7
component-based software architecture 218–20
component-based software development 88–91
component testing 234
composition, abstraction 121–2
conceptual models 122
configuration management 76, 271
confirmation testing (re-testing) 235
constraints on system design 142–6
contextual models 122
control totals 188
corrective maintenance 262
COTS (commercial off-the-shelf solutions) 82
cross-field validation 188
cross-referencing/linking 131–4, 270–1
Crystal clear 99
cutover see changeover
database management systems (DBMS) 178–86
object-oriented databases 182–3
database management systems 178–86
data flow diagrams 116
data interchange, system to system 163
data item, OO development 101
data layer 217
data protection legislation 145
DBMS see database management systems
default value 190
define requirements stage, role of business analyst 41–2
Department of Defence Architecture Framework (DoDAF) 12, 210
organisational constraints 144–6
project constraints 144
design specification, static testing 231–2
design stage 9
role of business analysts 42–3
design use cases (DUCs) 129–30
developers 64
development (programming) stage 9
role of business analysts 42–3
direct files 186
discounted cash flow (DCF) method 57–8, 59
document analysis 67
documentation
COTS products 84
software generation of 272
domain architects 220
domain experts 63
domains, architecture 208–9, 211–12
double-keying 187
DSDM (Dynamic Systems Development Method) 29–30, 99
dynamic testing 230
progression through stages 236–7
elicitation of requirements 64–7
enterprise architects 220
enterprise architecture (EA) 207–10
strategy vs. tactics 208
entity relationship diagrams (ERDs) 116
ETL (Extract, Transform and Load) 245–6
benefits review 265
post-implementation review 264–5
post-project review 264
event modelling techniques 116–17
evolutionary lifecycle approaches 16, 23–6
existence checks 187
experience-based testing 235
extended ‘V’ model 20, 39, 266
Extreme programming (XP) 99
feature-driven development 99
file access/retrieval mechanisms 185–6
file organisation systems 183–5
sequential file organisation 184–5
serial file organisation 183–4
firewalls 193
focus groups 65
foreign key 181
functional fit 267
functional model map 128–31, 134, 219
functional requirements 68, 139, 140
functional specification, static testing 231
Gamma, Erich, design patterns 196–200
gap analysis 112
generalisation
abstraction 121
general requirements 68
‘good’ requirements, features of 69–71
governance
enterprise architecture 210, 211
solution architecture 214
hardware installation 249
hash totals 189
hierarchical architecture 206
hierarchical client-server 216
hierarchical domain services 212
high-level system design 164–8
coupling and cohesion 168
programming constructs 167
holistic solution 211
hub-and-spoke architecture 206–7
human-computer interfaces
user interface (UI) design 152–3
hybrid lifecycle approaches 28–32
IaaS (infrastructure as a service) 102
idealisation, abstraction 122–3
immediate and long-term costs 52–3
impact analysis 56
documentation supporting 249–51
file and data conversion or creation 245–6
implementation in the lifecycle 242–4
installation of hardware and infrastructure 249
migration of software modules 248–9
role of business analysts 43
testing 238
Incremental processes, modelling 135–7
Infrastructure as a service (IaaS) 102
infrastructure installation 249
inheritance, OO design 172
input devices/technologies 156–7
input and output (I/O) design 150–63
user interface (UI) design 152–3
intangible and tangible costs 52, 53, 54
integration testing 234
internal rate of return (IRR) 58, 59
interviews 65
investment appraisal techniques 56–9
iteration 167
place of design 149
IT/IS change 44
Jackson Structured Programming (JSP) 96, 100
Kanban 99
key performance indicators (KPIs) 267
Lean Software Development (LSD) 31–2, 99
license issues 86, 87, 88, 103
system development lifecycle 8–17
linear lifecycle approaches 15, 17–23
linking/cross-referencing 131–4, 270–1
links and cross-references 270–1
logical models 123
long-term and immediate costs 52–3
loose and tight coupling, component architecture 204–5
LSD (Lean Software Development) 31–2
regression testing 263
in system development lifecycle 258–62
maintenance agreements COTS products 84
malware 193
management, requirements 62, 76–7
Manifesto for Agile development 97
manuals, operational 250
metrics for evaluation of project 265–7
Model Driven Architecture (MDA) 103–4
cross-referencing and mapping 131–4
layers or levels of models 125–31
model element opaqueness 123–5
modular architecture 204
module testing 234
MoSCoW prioritisation technique 71–2
multiple models and views 114–15
net present value (NPV) 58
non-functional requirements 68, 139, 140
n-tiered software architecture 217–18
object-oriented database management systems (OODBMS) 182–3
object-oriented development (OOD) 101
object-relational mapping 182
observations 65
OCR (Optical Character Recognition) 157
off-the-shelf solutions 78, 81, 82
offshoring 4
OLAP (OnLine Analytical Processing) 163
OMR (Optical Mark Recognition) 157
online help 250
opaqueness of model elements 123–5
operational manuals 250
optimisation 262
organisational constraints on system design 144–6
organisation change 45
output controls 188
output devices/technologies 159–62
PaaS (platform as a service) 102
payback/break-even analysis 56–7
people change 45
perfective maintenance (optimisation) 262
physical data design 195
physical files, database management 183–6
physical models 123
physical security 192
pilot implementation 255
platform-agnostic (logical) design 194–5
Platform as a service (PaaS) 102
point-to-point architecture 206
polymorphism, OO design 171, 172
post-implementation review 264–5
post-implementation review, role of business analysts 43
post-project review 264
pre-numbering 188
pre-UML modelling techniques 115–17
preventative maintenance 263
primary key 181
prioritisation of requirements 71–2
process 11
procurement 81
programming constructs 167
programming and development approaches 79–106
component-based development 88–91
software engineering paradigms 100–2
technological advances, influence of 102–4
static testing 232
project and business risks 54–6
project constraints 144
project management tools 273
project manager 63
project sponsor 63
prototyping 66
quality triangle 226
of requirements, constraints on design 146
see also testing
questionnaires 66
range checks 188
Rapid Application Development (RAD) 97
Rational Unified process (RUP) 31, 136
ready-made solutions
record searching 67
reliability 267
remotely delivered training 252
requirements engineering 9, 60–78
analysis of requirements 69–72
business analysis techniques 68–9
and off-the-shelf solutions 78
tools 273
validation of requirements 72–3
requirements specification, static testing 231
reviews
RFID (Radio Frequency IDentification) 157
in architecture 220
RUP (Rational Unified process) 31
SaaS (software as a service) 102, 103
Schwaber, Ken 94
breadth 213
depth 214
focus 213
SDLC see system development lifecycle
security 270
security and control design 186–94
output controls 188
selection, programming construct 167
self-checking codes 177–8, 187
sequence, programming construct 167
sequential file organisation 184–5
sequential numbers, code design 176
serial file organisation 183–4
service level agreements (SLAs) 267
service management tools 276
service-oriented analysis 125
service-oriented architecture 207
service-oriented development (SOD) 101–2
shadowing 65
‘shared source’ software 88
SLAs (service level agreements) 267
SOD (service-oriented development) 101–2
software architects 220
Software as a service (SaaS) 102
software development tools 274–5
software engineering, definition of 80
software engineering paradigms 100–2
software modules migration 248–9
software/system development methodologies (SDMs) 92–100
software tools
business modelling & architecture 272–3
project management 273
requirements engineering 273
service management 276
testing 275
solution architects 220
solution development tools 269–78
pros and cons of adopting 277
terminology 276
through solution lifecycles 272–6
solution-related architectures 202–24
enterprise architecture 207–10
special-purpose records 67
specification of software components 219
Spiral lifecycle model 25–6, 261–2
sponsor of project 63
spot checks 188
SSADM (Structured Systems Analysis and Design Method) 28–9, 95
SSM (Soft Systems Methodology) 95
stakeholders 145
standardisation 270
standards, constraints of 145
Statecharts, event modelling 117
static data model notations 115–16
storage 270
structured methods 96
structured programming (SP) 96, 100
Structured Systems Analysis and Design Method (SSADM) 28–9, 95
suppliers 222
surveys 66
system development lifecycle (SDLC) 8–34
position of systems design 146–9
system interface layer 217
system modelling techniques 107–38
documentation and specification 134–7
levels of models and model elements 125–31
multiple models and views 114–15
opaqueness of model elements 123–5
pre-UML modelling techniques 115–17
unified modelling language (UML) 117–20
systems architecture 3
in development lifecycle 146–9
logical and physical design 194–6
security and control design 186–94
offshoring & outsourcing of 4
systems development methodology (SDM) 92–4
system specification, modelling notation 134–6
system to system data interchange 163
system testing 234
‘tailor-made’ (bespoke) solutions 81–2
tangible and intangible costs 52, 53, 54
technical constraints on system design 144–5
technical documentation 250
technical requirements 68
technology 80
test-driven development 99
testers 64
7 principles of 229
components 220
dynamic stages of ‘V’ model 233–5
objectives and limitations 228–31
progression through dynamic stages 236–7
re-testing 235
role of business analysts 42–3
static and dynamic 230
static stages of ‘V’ model 231–3
tools 275
three-tiered software architecture 216
three-view model of a system 114–15
tiered/layered software architecture 206, 215–18
tight and loose coupling, component architecture 204–5
time value of money 57, 58, 59
touch screen technology 156
COTS software products 84
training needs analysis (TNA) 251
two-tier, client-server 215
UAT (user acceptance testing) 43, 234, 236
U-curve process pattern 110–11
Unified Modelling Language (UML) 104, 117–20
events 120
static data 119
Unified Process 4 + 1
unique identifiers, data design 175, 176
unit testing 234
usability 267
design scope 127
user acceptance testing (UAT) 43, 234, 236
‘user-friendly’ checklist 152–3
user guides 250
user interface (UI) design 152–3
user stories 76
validation of input data 187–8
validation of requirements 72–3
verification of input data 187
verification of requirements 72–3
views/viewpoints 110
visibility, data control 190
visual modelling 271
extended ‘V’ model 20, 39, 266
maintenance 260
testing 238
voice recognition 157
maintenance 259
testing 238
white-box techniques 235
white-box views 125
workshops 65
XP (Extreme programming) 99