Index

A

ABSTRACT CORE, 435437

ADAPTERS, 367

AGGREGATES

definition, 126127

examples, 130135, 170171, 177179

invariants, 128129

local vs. global identity, 127

overview, 125129

ownership relationships, 126

Agile design

distillation, 483

MODULES, 111

reducing dependencies, 265, 435437, 463

supple design, 243244, 260264

AIDS Memorial Quilt Project, 479

Analysis models, 4749

Analysis patterns. See also design patterns.

concept integrity, 306307

definition, 293

example, 295306

overview, 294

UBIQUITOUS LANGUAGE, 306307

ANTICORRUPTION LAYER

ADAPTERS, 367

considerations, 368369

example, 369370

FACADES, 366367

interface design, 366369

overview, 364366

relationships with external systems, 384385

Application layer, 70, 7679

Architectural frameworks, 70, 74, 156157, 271272, 495496

ASSERTIONS, 255259

Associations

bidirectional, 102103

example, 169170

for practical design, 8288

VALUE OBJECTS, 102103

Astrolabe, 47

Awkwardness, concept analysis, 210216

B

Bidirectional associations, 102103

Blind men and the elephant, 378381

Bookmark anecdote, 5759

BOUNDED CONTEXT. See also CONTEXT MAP.

code reuse, 344

CONTINUOUS INTEGRATION, 341343

defining, 382

duplicate concepts, 339340

example, 337340

false cognates, 339340

large-scale structure, 485488

overview, 335337

relationships, 352353

splinters, 339340

testing boundaries, 351

translation layers, 374. See also ANTICORRUPTION LAYER; PUBLISHED LANGUAGE.

vs. MODULES, 335

Brainstorming, 713, 207216, 219

Breakthroughs, 193200, 202203

Business logic, in user interface layer, 77

Business rules, 17, 225

C

Callbacks, 73

Cargo shipping examples. See examples, cargo shipping.

Changing the design. See refactoring.

Chemical warehouse packer example, 235241

Chemistry example, 377

Cleese, John, 5

CLOSURE OF OPERATIONS, 268270

Code as documentation, 40

Code reuse

BOUNDED CONTEXT, 344

GENERIC SUBDOMAINS, 412413

reusing prior art, 323324

Cohesion, MODULES, 109110, 113

COHESIVE MECHANISMS

and declarative style, 426427

example, 425427

overview, 422425

vs. GENERIC SUBDOMAINS, 425

Common language. See PUBLISHED LANGUAGE; UBIQUITOUS LANGUAGE.

Communication, speech. See UBIQUITOUS LANGUAGE.

Communication, written. See documents; UML (Unified Modeling Language); UBIQUITOUS LANGUAGE.

Complexity, reducing. See distillation; large-scale structure; LAYERED ARCHITECTURE; supple design.

COMPOSITE pattern, 315320

Composite SPECIFICATION, 273282

Concept analysis. See also analysis patterns; examples, concept analysis.

awkwardness, 210216

contradictions, 216217

explicit constraints, 220222

language of the domain experts, 206207

missing concepts, 207210

processes as domain objects, 222223

researching existing resources, 217219

SPECIFICATION, 223

trial and error, 219

CONCEPTUAL CONTOURS, 260264

Conceptual layers, See LAYERED ARCHITECTURE; RESPONSIBILITY LAYERS

Configuring SPECIFICATION, 226227

CONFORMIST, 361363, 384385

Constructors, 141142, 174175. See also FACTORIES.

CONTEXT MAP. See also BOUNDED CONTEXT.

example, 346351

organizing and documenting, 351352

overview, 344346

vs. large-scale structure, 446, 485488

CONTEXT MAP, choosing a strategy

ANTICORRUPTION LAYER, 384385

CONFORMIST, 384385

CUSTOMER/SUPPLIER DEVELOPMENT TEAMS, 356360

defining BOUNDED CONTEXT, 382

deployment, 387

external systems, 383385

integration, 384385

merging OPEN HOST SERVICE and PUBLISHED LANGUAGE, 394396

merging SEPARATE WAYS and SHARED KERNEL, 389391

merging SHARED KERNEL and CONTINUOUS INTEGRATION, 391393

packaging, 387

phasing out legacy systems, 393394

for a project in progress, 388389

SEPARATE WAYS, 384385

SHARED KERNEL, 354355

specialized terminologies, 386387

system under design, 385386

team context, 382

trade-offs, 387

transformations, 389

transforming boundaries, 382383

Context principle, 328329. See also BOUNDED CONTEXT; CONTEXT MAP.

CONTINUOUS INTEGRATION, 341343, 391393. See also integration.

Continuous learning, 1516

Contradictions, concept analysis, 216217

CORE DOMAIN

DOMAIN VISION STATEMENT, 415416

flagging key elements, 419420

MECHANISMS, 425

overview, 400405

Costs of architecture dictated MODULES, 114115

Coupling MODULES, 109110

Customer-focused teams, 492

CUSTOMER/SUPPLIER, 356360

D

Database tuning, example, 102

Declarative design, 270272

Declarative style of design, 273282, 426427

Decoupling from the client, 156

Deep models

distillation, 436437

overview, 2021

refactoring, 189191

Deployment, 387. See also MODULES.

Design changes. See refactoring.

Design patterns. See also analysis patterns.

COMPOSITE, 315320

FLYWEIGHT, 320

overview, 309310

STRATEGY, 311314

vs. domain patterns, 309

Development teams. See teams.

Diagrams. See documents; UML (Unified Modeling Language).

Discovery, 191192

Distillation. See also examples, distillation.

ABSTRACT CORE, 435437

deep models, 436437

DOMAIN VISION STATEMENT, 415416

encapsulation, 422427

HIGHLIGHTED CORE, 417421

INTENTION-REVEALING INTERFACES, 422427

large-scale structure, 483, 488489

overview, 397399

PCB design anecdote, 713

polymorphism, 435437

refactoring targets, 437

role in design, 329

SEGREGATED CORE, 428434

separating CORE concepts, 428434

Distillation, COHESIVE MECHANISMS

and declarative style, 426427

overview, 422425

vs. GENERIC SUBDOMAINS, 425

Distillation, CORE DOMAIN

DOMAIN VISION STATEMENT, 415416

flagging key elements, 419420

MECHANISMS, 425

overview, 400405

Distillation, GENERIC SUBDOMAINS

adapting a published design, 408

in-house solution, 409410

off-the-shelf solutions, 407

outsourcing, 408409

overview, 406

reusability, 412413

risk management, 413414

vs. COHESIVE MECHANISMS, 425

Distillation document, 418419, 420421

Documents

code as documentation, 40

distillation document, 418419, 420421

DOMAIN VISION STATEMENT, 415416

explanatory models, 4143

keeping current, 3840

in project activities, 3940

purpose of, 3740

validity of, 3840

UBIQUITOUS LANGUAGE, 3940

Domain experts

gathering requirements from. See concept analysis; knowledge crunching.

language of, 206207. See also UBIQUITOUS LANGUAGE.

Domain layer, 70, 7579

Domain objects, life cycle, 123124. See also AGGREGATES; FACTORIES; REPOSITORIES.

Domain patterns vs. design pattern, 309

DOMAIN VISION STATEMENT, 415416

Domain-specific language, 272273

Duplicate concepts, 339340

E

Elephant and the blind men, 378381

Encapsulation. See also FACTORIES.

COHESIVE MECHANISMS, 422427

INTENTION-REVEALING INTERFACES, 246

REPOSITORIES, 154

ENTITIES. See also associations; SERVICES; VALUE OBJECTS.

automatic IDs, 9596

clustering. See AGGREGATES.

establishing identity, 9093

example, 167168

ID uniqueness, 96

identifying attributes, 9496

identity tracking, 9496

modeling, 9394

referencing with VALUE OBJECTS, 9899

vs. Java entity beans, 91

Evant, 504505

EVOLVING ORDER, 444446, 491

Examples

AGGREGATES, 130135

analysis patterns, 295306

ASSERTIONS, 256259

breakthroughs, 202203

chemical warehouse packer, 235241

chemistry, PUBLISHED LANGUAGE, 377

CLOSURE OF OPERATIONS, 269270

COHESIVE MECHANISMS, 425427

composite SPECIFICATION, 278282

CONCEPTUAL CONTOURS, 260264

constructors, 174175

Evant, 504505

explanatory models, 4143

extracting hidden concepts, 1720

insurance project, 372373

integration with other systems, 372373

INTENTION-REVEALING INTERFACES, 423424

introducing new features, 181185

inventory management, 504505

investment banking, 211215

KNOWLEDGE LEVEL, 466474

LAYERED ARCHITECTURE, 7172

MODEL-DRIVEN DESIGN, 5257

MODULES, 111112

multiple teams, 358360

online banking, 7172

organization chart, 423427

package coding in Java, 111112

paint-mixing application, 247249, 252254, 256259

payroll and pension, 466474

PLUGGABLE COMPONENT FRAMEWORK, 475479

procedural languages, 5257

prototypes, 238241

PUBLISHED LANGUAGE, 377

purchase order integrity, 130135

refactoring, 247249

RESPONSIBILITY LAYERS, 452460

selecting from Collections, 269270

SEMATECH CIM framework, 476479

SIDE-EFFECT-FREE FUNCTIONS, 252254, 285286

SPECIFICATION, 235241

supple design, 247249

time zones, 410412

tuning a database, 102

VALUE OBJECTS, 102

Examples, cargo shipping

AGGREGATES, 170171, 177179

allocation checking, 181185

ANTICORRUPTION LAYER, 369370

associations, 169170

automatic routing, 346351

booking

BOUNDED CONTEXT, 337340

extracting hidden concepts, 1720

legacy application, 369370

overbooking, 1819, 222

vs. yield analysis, 358360

cargo routing, 2730

cargo tracking, 4143

COMPOSITE pattern, 316320

composite routes, 316320

concept analysis, 222

conclusion, 502504

constructors, 174175

CONTEXT MAP, 346351

ENTITIES, 167168

extracting hidden concepts, 1720

FACTORIES, 174175

identifying missing concepts, 207210

isolating the domain, 166167

large-scale structure, 452460

MODULES, 179181

multiple development teams, 358360

performance tuning, 185186

refactoring, 177179

REPOSITORIES, 172173

RESPONSIBILITY LAYERS, 452460

route-finding, 312314

scenarios, 173177

SEGREGATED CORE, 430434

shipping operations and routes, 4143

STRATEGY, 312314

system overview, 163166

UBIQUITOUS LANGUAGE, 2730

VALUE OBJECTS, 167168

Examples, concept analysis

extracting hidden concepts, 1720

identifying missing concepts, 207210

implicit concepts, 286288

researching existing resources, 217219

resolving awkwardness, 211215

Examples, distillation

COHESIVE MECHANISMS, 423424, 425427

GENERIC SUBDOMAINS, 410412

organization chart, 423424, 425427

SEGREGATED CORE, 428434

time zones, 410412

Examples, integration

ANTICORRUPTION LAYER, 369370

translator, 346351

unifying an elephant, 378381

Examples, large-scale structure

KNOWLEDGE LEVEL, 466474

PLUGGABLE COMPONENT FRAMEWORK, 475479

RESPONSIBILITY LAYERS, 452460

Examples, LAYERED ARCHITECTURE

partitioning applications, 7172

RESPONSIBILITY LAYERS, 452460

Examples, loan management

analysis patterns, 295306

breakthroughs, 194200

concept analysis, 211215, 217219

CONCEPTUAL CONTOURS, 262264

conclusion, 501502

interest calculator, 211215, 217219, 295306

investment banking, 194200

refactoring, 194200, 284292

Explanatory models, 4143

Explicit constraints, concept analysis, 220222

External systems, 383385. See also integration.

Extracting hidden concepts, 1720. See also implicit concepts.

F

FACADES, 366367

Facilities, 194

FACTORIES

configuring SPECIFICATION, 226227

creating, 139141

creating objects, 137139

designing the interface, 143

ENTITY vs. VALUE OBJECT, 144145

example, 174175

invariant logic, 143

overview, 136139

placing, 139141

reconstitution, 145146

and REPOSITORIES, 157159

requirements, 139

FACTORY METHOD, 139141

False cognates, 339340

Film editing anecdote, 5

Flexibility. See supple design.

FLYWEIGHT pattern, 320

Functions, SIDE-EFFECT-FREE, 250254, 285286

G

GENERIC SUBDOMAINS

adapting a published design, 408

example, 410412

in-house solution, 409410

off-the-shelf solutions, 407

outsourcing, 408409

overview, 406

reusability, 412413

risk management, 413414

vs. COHESIVE MECHANISMS, 425

Granularity, 108

H

Hidden concepts, extracting, 1720

HIGHLIGHTED CORE, 417421

Holy Grail anecdote, 5

I

Identity

establishing, 9093

local vs. global, 127

tracking, 9496

Immutability of VALUE OBJECTS, 100101

Implicit concepts

categories of, 219223

recognizing, 206219

Infrastructure layer, 70

Infrastructure-driven packaging, 112116

In-house solution, GENERIC SUB DOMAINS, 409410

Insurance project example, 372373

Integration

ANTICORRUPTION LAYER, 364370

CONTINUOUS INTEGRATION, 341343, 391393

cost/benefit analysis, 371373

elephant and the blind men, 378381

example, 372373

external systems, 384385

OPEN HOST SERVICE, 374

SEPARATE WAYS, 371373

translation layers, 374. See also PUBLISHED LANGUAGE.

Integrity. See model integrity.

INTENTION-REVEALING INTERFACES, 246249, 422427

Interest calculator examples, 211215, 217219, 295306

Internet Explorer bookmark anecdote, 5759

Invariant logic, 128129, 143

Inventory management example, 504505

Investment banking example, 194200, 211215, 501

Isolated domain layer, 106107

Isolating the domain. See ANTICORRUPTION LAYER; distillation; LAYERED ARCHITECTURE.

Iterative design process, 14, 188, 445

J

Jargon. See PUBLISHED LANGUAGE; UBIQUITOUS LANGUAGE.

Java entity beans vs. ENTITIES, 91

K

Knowledge crunching, 1315

Knowledge crunching, example, 712

KNOWLEDGE LEVEL, 465474

L

Language of the domain experts, 206207

Large-scale structure. See also distillation; examples, large-scale structure; LAYERED ARCHITECTURE; strategic design.

CONTEXT MAP, 446

definition, 442

development constraints, 445446

EVOLVING ORDER, 444446

flexibility, 480481

KNOWLEDGE LEVEL, 465474

minimalism, 481

naive metaphor, 448449

overview, 439443

PLUGGABLE COMPONENT FRAMEWORK, 475479

refactoring, 481

role in design, 329

supple design, 482483

SYSTEM METAPHOR, 447449

team communication, 482

Large-scale structure, RESPONSIBILITY LAYERS

choosing layers, 460464

overview, 450452

useful characteristics, 461

LAYERED ARCHITECTURE. See also distillation; examples, LAYERED ARCHITECTURE; large-scale structure.

application layer, 70, 7679

callbacks, 73

conceptual layers, 70

connecting layers, 7274

design dependencies, 7274

diagram, 68

domain layer, 70, 7579

frameworks, 7475

infrastructure layer, 70

isolated domain layer, 106107

MVC (MODEL-VIEW-CONTROLLER), 73

OBSERVERS, 73

partitioning complex programs, 70

separating user interface, application, and domain, 7679

SERVICES, 7374

SMART UI, 73

TRANSACTION SCRIPT, 79

user interface layer, 70, 7679

value of, 69

LAYERED ARCHITECTURE, ANTICORRUPTION LAYER

ADAPTERS, 367

considerations, 368369

FACADES, 366367

interface design, 366369

overview, 364366

relationships with external systems, 384385

LAYERED ARCHITECTURE, RESPONSIBILITY LAYERS

choosing layers, 460464

overview, 450452

useful characteristics, 461

Legacy systems, phasing out, 393394

Life cycle of domain objects, 123124. See also AGGREGATES; FACTORIES; REPOSITORIES.

Loan management examples. See examples, loan management.

Local vs. global identity, 127

M

Merging

OPEN HOST SERVICE and PUBLISHED LANGUAGE, 394396

SEPARATE WAYS to SHARED KERNEL, 389391

SHARED KERNEL to CONTINUOUS INTEGRATION, 391393

METADATA MAPPING LAYERS, 149

Missing concepts, 207210

Mistaken identity anecdote, 89

Model integrity. See also BOUNDED CONTEXT; CONTEXT MAP; multiple models.

establishing boundaries, 333334

multiple models, 333

overview, 331334

recognizing relationships, 333334

unification, 332. See also CONTINUOUS INTEGRATION.

Model layer. See domain layer.

Model-based language. See UBIQUITOUS LANGUAGE.

MODEL-DRIVEN DESIGN

correspondence to design, 5051

modeling paradigms, 5052

overview, 49

procedural languages, 5154

relevance of model, 49

tool support, 5052

Modeling

associations, 8288

ENTITIES, 9394

HANDS-ON MODELERS, 6062

integrating with programming, 6062

non-object, 119122

Models

binding to implementation. See MODEL-DRIVEN DESIGN.

and user understanding, 5759

MODEL-VIEW-CONTROLLER (MVC), 73

Modularity, 115116

MODULES

agile, 111

cohesion, 109110, 113

costs of, 114115

coupling, 109110

determining meaning of, 110

examples, 111112, 179181

infrastructure-driven packaging, 112116

mixing paradigms, 119122

modeling paradigms, 116119

modularity, 115116

naming, 110

non-object models, 119122

object paradigm, 116119

overview, 109

packaging domain objects, 115

refactoring, 110, 111

vs. BOUNDED CONTEXT, 335

Monty Python anecdote, 5

Multiple models, 333, 335340

MVC (MODEL-VIEW-CONTROLLER), 73

N

Naive metaphor, 448449

Naming

BOUNDED CONTEXTS, 345

conventions for supple design, 247

INTENTION-REVEALING INTERFACES, 247

MODULES, 110

SERVICES, 105

Non-object models, 119122

O

Object references. See REPOSITORIES.

Objects. See also ENTITIES; VALUE OBJECTS.

associations, 8288

creating, 234235. See also constructors; FACTORIES.

defining, 8182

designing for relational databases, 159161

made up of objects. See AGGREGATES; COMPOSITE.

persistent, 150151

OBSERVERS, 73

Off-the-shelf solutions, 407

Online banking example, 7172

OPEN HOST SERVICE, converting to PUBLISHED LANGUAGE, 394396

Outsourcing, 408409

Overbooking examples, 1819, 222

P

Packaging. See deployment; MODULES.

Paint-mixing application, examples, 247249, 252254, 256259

Partitioning

complex programs. See large-scale structure; LAYERED ARCHITECTURE.

SERVICES into layers, 107

Patterns, 507510. See also analysis patterns; design patterns; large-scale structure.

PCB design anecdote, 713, 501

Performance tuning, example, 185186

Persistent objects, 150151

PLUGGABLE COMPONENT FRAMEWORK, 475479

POLICY pattern. See STRATEGY pattern.

Polymorphism, 435437

Presentation layer. See user interface layer.

Procedural languages, and MODEL-DRIVEN DESIGN, 5154

Processes as domain objects, 222223

Prototypes, 238241

PUBLISHED LANGUAGE

elephant and the blind men, 378381

example, 377

merging with OPEN HOST SERVICE, 394396

overview, 375377

Q

Quilt project, 479

R

Reconstitution, 145146, 148

Refactoring

breakthroughs, 193200

during a crisis, 325326

deep models, 189191

definition, 188

designing for developers, 324

discovery, 191192

distillation, 437

examples, 177179, 181185, 194200, 247249

exploration teams, 322323

initiation, 321322

large-scale structure, 481

levels of, 188189

MODULES, 110, 111

to patterns, 188189

reusing prior art, 323324

supple design, 191

timing, 324325

Refactoring targets, 437

Reference objects. See ENTITIES.

REPOSITORIES

advantages, 152

architectural frameworks, 156157

decoupling from the client, 156

designing objects for relational databases, 159161

encapsulation, 154

example, 172173

and FACTORIES, 157159

global searches, 150151

implementing, 155156

METADATA MAPPING LAYERS, 149

object access, 149151

overview, 147152

persistent objects, 150151

querying, 152154

references to preexisting domain objects, 149

transaction control, 156

transient objects, 149

type abstraction, 155156

Requirements gathering. See concept analysis; knowledge crunching; UBIQUITOUS LANGUAGE.

RESPONSIBILITY LAYERS

choosing layers, 460464

example, 452460

overview, 450452

useful characteristics, 461

Reusing code

BOUNDED CONTEXT, 344

GENERIC SUBDOMAINS, 412413

reusing prior art, 323324

Risk management, 413414

S

Scenarios, examples, 173177

SEGREGATED CORE, 428434

Selecting objects, 229234, 269270

SEPARATE WAYS, 384385, 389391

SERVICES. See also ENTITIES; VALUE OBJECTS.

access to, 108

characteristics of, 105106

granularity, 108

and the isolated domain layer, 106107

naming, 105

overview, 104105

partitioning into layers, 107

SHARED KERNEL

example, 359

merging with CONTINUOUS INTEGRATION, 391393

merging with SEPARATE WAYS, 389391

overview, 354355

Sharing VALUE OBJECTS, 100101

Shipping examples. See examples, cargo shipping.

Side effects, 250. See also ASSERTIONS.

SIDE-EFFECT-FREE FUNCTIONS, 250254, 285286

Simplifying your design. See distillation; large-scale structure; LAYERED ARCHITECTURE.

SMART UI, 73

SPECIFICATION. See also analysis patterns; design patterns.

applying, 227

business rules, 225

combining. See composite SPECIFICATION.

composite, 273281

configuring, 226227

definition, 225226

example, 29, 235241, 279282

generating objects, 234235

implementing, 227

overview, 224227

purpose, 227

selecting objects, 229234

validating objects, 227, 228229

Speech, common language. See UBIQUITOUS LANGUAGE.

Speech, modeling through, 3032

STANDALONE CLASSES, 265267

Strategic design. See also large-scale structure.

assessing the situation, 490

customer-focused architecture teams, 492

developers, role of, 494

essential requirements, 492495

evolution, 493

EVOLVING ORDER, 491

feedback process, 493

minimalism, 494495

multiple development teams, 491

objects, role of, 494

setting a strategy, 490492

team communication, 492

team makeup, 494

technical frameworks, 495497

STRATEGY pattern, 19, 311314

Supple design

approaches to, 282292

ASSERTIONS, 255259

CLOSURE OF OPERATIONS, 268270

composite SPECIFICATION, 273282

CONCEPTUAL CONTOURS, 260264

declarative design, 270272

declarative style of design, 273282

domain-specific language, 272273

example, 247249

INTENTION-REVEALING INTERFACES, 246249

interdependencies, 265267

large-scale structure, 480483

naming conventions, 247

overview, 243245

SIDE-EFFECT-FREE FUNCTIONS, 250254, 285286

STANDALONE CLASSES, 265267

SYSTEM METAPHOR, 447449

System under design, 385386

T

Team context, 382

Teams

choosing a strategy, 382

communication, large-scale structure, 482

customer-focused, 492

defining BOUNDED CONTEXT, 382

developer community, maturity of, 117119

exploration, 322323

Teams, and strategic design

communication, 492

customer-focused, 492

developers, role of, 494

makeup of, 494

multiple teams, 491

Teams, multiple

ANTICORRUPTION LAYER, 364370

CONFORMIST, 361363

CUSTOMER/SUPPLIER, 356360

example, 358360

SHARED KERNEL, 354355, 359

strategic design, 491

Terminology. See BOUNDED CONTEXT; PUBLISHED LANGUAGE; UBIQUITOUS LANGUAGE.

Testing boundaries, 351

Transaction control, 156

TRANSACTION SCRIPT, 79

Transformations, 389

Transforming boundaries, 382383

Transient objects, 149

Translation layers, 374

Tuning a database, example, 102

U

UBIQUITOUS LANGUAGE. See also PUBLISHED LANGUAGE.

analysis patterns, 306307

cargo router example, 2730

consistent use of, 3235

designing objects for relational databases, 160161

domain-specific language, 272273

language of the domain experts, 206207

overview, 2427

refining the model, 3032

specialized terminologies, 386387

requirements analysis, 25

speech, role of, 3032

UML (Unified Modeling Language), 3537

Unification, 332. See also CONTINUOUS INTEGRATION.

Unified Modeling Language (UML), 3537

Updating the design. See refactoring.

User interface layer

business logic, 77

definition, 70

separating from application and domain, 7679

V

Validating objects, 227, 228229

VALUE OBJECTS. See also ENTITIES; SERVICES.

associations, 102103

bidirectional associations, 102103

change management, 101

clustering. See AGGREGATES.

designing, 99102

example, 167168

immutability, 100101

object assemblages, 9899

overview, 9799

passing as parameters, 99

referencing ENTITIES, 9899

sharing, 100101

tuning a database, example, 102

Vision statement. See DOMAIN VISION STATEMENT.

Vocabulary. See PUBLISHED LANGUAGE; UBIQUITOUS LANGUAGE.

W

Waterfall design method, 14

Web site bookmark anecdote, 5759