Index

AADL (Architecture Analysis and Design Language), 354

Abstract common services tactic, 124

Abstract data sources for testability, 165

Abstract Syntax Tree (AST) analyzers, 386

Abstraction, architecture as, 56

Acceptance testing, 372

Access

basis sets, 261

network, 504

access_read relationship, 384

access_write relationship, 384

ACID (atomic, consistent, isolated, and durable) properties, 95

Acknowledged system of systems, 106

Active redundancy, 91, 256259

ActiveMQ product, 224

Activities

competence, 468

test, 374375

Activity diagrams for traces, 353

Actors tactic, 152153

Adams, Douglas, 437

ADD method. See Attribute-Driven Design (ADD) method

Add-ons, 491492

ADLs (architecture description languages), 330

Adolphus, Gustavus, 42

Adoption strategies, 494496

Adventure Builder system, 224, 226, 237

Aggregation for usability, 180

Agile projects, 533

architecture example, 283285

architecture methods, 281283

architecture overview, 277281

description, 4445

documenting, 356357

guidelines, 286287

introduction, 275277

patterns, 238

requirements, 56

summary, 287288

AIC (Architecture Influence Cycle)

description, 58

Vasa ship, 43

Air France flight 447, 192

Air traffic control systems, 366367

Allen, Woody, 79

Allocated to relation

allocation views, 339340

deployment structure, 14

multi-tier pattern, 237

Allocation of responsibilities category

ASRs, 293

availability, 96

interoperability, 114

modifiability, 126

performance, 143

quality design decisions, 73

security, 154

testability, 169

usability, 181

Allocation patterns

map-reduce, 232235

miscellaneous, 238

multi-tier, 235237

Allocation structures, 5, 11, 14

Allocation views, 339340

Allowed-to-use relationship, 206207

Alpha testing, 372

Alternatives, evaluating, 398

Amazon service-level agreements, 81, 522

Analysis

architecture, 4748

ATAM, 408409, 411

availability, 255259

back-of-the-envelope, 262264

conformance by, 389392

economic. See Economic analysis

outsider, 399

performance, 252255

Analysts, 54

Analytic model space, 259260

Analytic perspective on up-front work vs. agility, 279281

Analytic redundancy tactic, 90

AND gate symbol, 84

Anonymizing test data, 171

Antimissile system, 104

Apache web server, 528, 531

Approaches

ATAM, 407409, 411

CIA, 147148

Lightweight Architecture Evaluation, 416

Architects

background and experience, 5152

cloud environments, 520523

communication with, 29

competence, 459467

description and interests, 54

duties, 460464

knowledge, 466467

responsibilities, 422423

skills, 463, 465

test role, 375376

Architectural structures

allocation, 14

component-and-connector, 1314

documentation, 1718

insight from, 1112

kinds, 1011

limiting, 17

module, 1213

relating to each other, 14, 1617

selecting, 17

table of, 15

views, 910

Architecturally significant requirements (ASRs), 4647, 291292

ADD method, 320321

from business goals, 296304

designing to, 311312

interviewing stakeholders, 294296

from requirements documents, 292293

utility trees for, 304307

Architecture

Agile projects. See Agile projects

analyzing, 4748

availability. See Availability

business context, 4951

changes, 2728

cloud. See Cloud environments

competence. See Competence

conceptual integrity of, 189

design. See Design and design strategy

documenting. See Documentation

drivers in PALM, 305

economics. See Economic analysis

evaluation. See Evaluation

implementation. See Implementation

influences, 5658

in life cycle, 271274

management. See Management and governance

modifiability. See Modifiability

patterns. See Patterns

performance. See Performance

product lines. See Software product lines

product reuse, 483484

QAW drivers, 295

QAW plan presentation, 295

quality attributes. See Quality attributes

reconstruction and conformance. See Reconstruction and conformance

requirements. See Architecturally significant requirements (ASRs); Requirements

security. See Security

structures. See Architectural structures

tactics. See Tactics

testability. See Testability

usability. See Usability

Architecture Analysis and Design Language (AADL), 354

Architecture-centric projects, 279

Architecture description languages (ADLs), 330

Architecture Influence Cycle (AIC)

description, 58

Vasa ship, 43

Architecture Tradeoff Analysis Method (ATAM), 48, 283, 400

approaches, 407409, 411

business drivers, 404405

example exercise, 411414

outputs, 402403

participants, 400401

phases, 403404

presentation, 403406

results, 411

scenarios, 408, 410

steps, 404411

Ariane 5 explosion, 192

Aristotle, 185

Arrival pattern for events, 133

Artifacts

availability, 8586

in evaluation, 399

interoperability, 107108

modifiability, 119120

performance, 134

product reuse, 484

quality attributes expressions, 6970

security, 148, 150

testability, 162163

usability, 176

variability, 489

ASP.NET framework, 215

Aspects

for testability, 167

variation mechanism, 492

ASRs. See Architecturally significant requirements (ASRs)

Assembly connectors in UML, 369

Assertions for system state, 166

Assessment goals, 469

Assessment of competence, 469472, 474475

Assign utility

CBAM, 446

NASA ECS project, 452

AST (Abstract Syntax Tree) analyzers, 386

Asymmetric flow in client-server pattern, 218

Asynchronous messaging, 223, 225

ATAM. See Architecture Tradeoff Analysis Method (ATAM)

ATM (automatic teller machine) banking system, 219

Atomic, consistent, isolated, and durable (ACID) properties, 95

Attachment relation

broker pattern, 211

client-server pattern, 218

component-and-connector structures, 13

pipe-and-filter pattern, 216

publish-subscribe pattern, 227

shared-data pattern, 231

Attachments in component-and-connector views, 336337

Attribute-Driven Design (ADD) method, 316

ASRs, 320321

element choice, 318319

element design solution, 321

inputs, 316

output, 317318

repeating steps, 324

verify and refine requirements step, 321323

Attributes. See Quality attributes

Audiences for documentation, 328329

Auditor checklists, 260

Audits, 153

Authenticate actors tactic, 152

Authentication in CIA approach, 148

Authorization in CIA approach, 148

Authorize actors tactic, 152

Automated delivery in Metropolis model, 535

Automatic reallocation of IP addresses, 516

Automatic scaling, 516

Automatic teller machine (ATM) banking system, 219

Automation for testability, 171172

AUTOSAR framework, 364

Availability

analytic model space, 259

analyzing, 255259

broker pattern, 240

calculations, 259

CAP theorem, 523

CIA approach, 147

cloud, 521

design checklist, 9698

detect faults tactic, 8791

general scenario, 8586

introduction, 7981

planning for failure, 8285

prevent faults tactic, 9495

recover-from-faults tactics, 9194

summary, 9899

tactics overview, 87

Availability of resources tactic, 136

Availability quality attribute, 307

Availability zones, 522

Avižienis, Algirdas, 79

Back door reviews, 544545

Back-of-the-envelope analysis, 262264

Background of architects, 5152

Bank application, 391392

Base mechanisms in cloud, 509514

Basis sets for quality attributes, 261

BDUF (Big Design Up Front) process, 278

Behavior

documenting, 351354

element, 347

in software architecture, 67

Benefit in economic analysis, 441442

Benkler, Yochai, 528

Beta testing, 372

Big bang integration, 371

Big bang models, 495496

Big Design Up Front (BDUF) process, 278

BigTable database system, 518

Binder, Robert, 167

Binding

late, 385, 388

modifiability, 124125

user interface, 178

Binding time category

ASRs, 293

availability, 98

interoperability, 115

modifiability, 122, 127

performance, 144

quality design, 7576

security, 156

testability, 170

usability, 182

BitTorrent networks, 221

Black-box testing, 372373

“Blind Men and the Elephant” (Saxe), 379

Blocked time in performance, 136

Blogger website, 528

Boehm, Barry, 279, 281, 286, 288

Booch, Grady, 286

Boolean logic diagrams, 83

Bottom-up adoption, 495

Bottom-up analysis mode, 284

Bottom-up schedules, 420421

Bound execution times tactic, 138

Bound queue sizes tactic, 139

Boundaries in ADD method, 317

Box-and-line drawings

as architectures, 6

component-and-connector views, 338

BPEL (Business Process Execution Language), 108

Brainstorming

ATAM, 410

Lightweight Architecture Evaluation, 416

QAW, 295

Branson, Richard, 443

Breadth first ADD strategy, 319

Brewer, Eric, 522

Broadcast-based publish-subscribe pattern, 229

Broker pattern

availability, 255259

description, 210212

weaknesses, 240242

Brooks, Fred, 47, 419

Buley, Taylor, 147

Bureaucracy in implementation, 427

Bush, Vannevar, 397

Business cases in project life-cycle context, 46

Business context

architecture influence on, 58

architectures and business goals, 4950

Business drivers

ATAM, 404405

Lightweight Architecture Evaluation, 416

PALM method, 305

Business goals

ASRs from, 296304

assessment, 469

ATAM, 402

business context, 4950

capturing, 304

categorization, 297299

evaluation process, 400

expressing, 299301

general scenario, 301303

PALM method, 305

views for, 332

Business managers, 54

Business/mission presentation in QAW, 295

Business Process Execution Language (BPEL), 108

Business process improvements as business goal, 299

Business-related architect skills, 465

C&C structures. See Component-and-connector (C&C) patterns and structures

Caching tactic, 139

Callbacks in Model-View-Controller pattern, 214

Calls relationship in view extraction, 384

Cancel command, 179

CAP theorem, 518, 522523

Capture scenarios for quality attributes, 196197

Capturing

ASRs in utility trees, 304307

business goals, 304307

Catastrophic failures, 82

Categorization of business goals, 297299

CBAM. See Cost Benefit Analysis Method (CBAM)

Change

documenting, 355356

modifiability. See Modifiability

reasoning and managing, 2728

Change control boards, 427

Change default settings tactic, 153

Chaos Monkey, 160161

Chaucer, Geoffrey, 459

Check-in, syncing at, 368

Choice of technology category

ASRs, 293

availability, 98

interoperability, 115

modifiability, 127

performance, 144

security, 156

testability, 170

usability, 182

CIA (confidentiality, integrity, and availability) approach, 147148

City analogy in Metropolis model, 536

class_contains_method relationship, 384

class_is_subclass_of_class relationship, 384

Class structure, 13

Classes in testability, 167

Clements, Paul, 66

Client-server patterns, 19, 217219

Client-side proxies, 211

Clients

broker pattern, 211

simulators, 265

Clone-and-own practice, 482483

Cloud environments

architecting in, 520523

availability, 521

base mechanisms, 509514

database systems, 517520

definitions, 504505

deployment models, 506

economic justification, 506509

equipment utilization, 508509

IaaS model, 515517

introduction, 503504

multi-tenancy applications, 509

PaaS model, 517

performance, 521

security, 520521

service models, 505506

summary, 524

Cluster managers, 515

CMG (Computer Measurement Group), 524

Co-located teams

Agile, 277

coordination, 427

Cockburn, Alistair, 287

COCOMO II (COnstructive COst MOdel II) scale factor, 279

Code

architecture consistency, 366368

design in, 364

KSLOC, 279281

mapping to, 334

security, 157

templates, 365367

Cohesion

in modifiability, 121123

in testability, 167

Cold spares, 92, 256259

Collaborative system of systems, 106

Collating scenarios

CBAM, 445

NASA ECS project, 451

COMBINATION gate symbol, 84

Combining views, 343345

Commercial implementations of map-reduce patterns, 234

Common Object Request Broker Architecture (CORBA), 212

Communicates with relation, 237

Communication

Agile software development, 277

architect skills, 465

architecture, 47

documentation for, 329

global development, 425

stakeholder, 2931

Communication diagrams for traces, 353

Communications views, 341

Community clouds, 506

Compatibility in component-and-connector views, 336

Compatibility quality attribute, 193

Competence

activities, 468

architects, 459467

assessment, 469472, 474475

assessment goals, 469

introduction, 459460

models, 476

questions, 470, 472474

software architecture organizations, 467475

summary, 475

Competence center patterns, 19, 238

Competence set tactic, 95

Complexity

broker pattern, 211

quality attributes, 71

in testability, 167168

Component-and-connector (C&C) patterns and structures, 5, 1011

broker, 210212

client-server, 217219

Model-View-Controller, 212215

peer-to-peer, 220222

pipe-and-filter, 215217

publish-subscribe, 226229

service-oriented architecture, 222226

shared-data, 230231

types, 1314

views, 335339, 344, 406

Components, 5

independently developed, 3536

replacing for testability, 167

substituting in variation mechanism, 492

Comprehensive models for behavior documentation, 351, 353354

Computer Measurement Group (CMG), 524

Computer science knowledge of architects, 466

Concepts and terms, 368369

Conceptual integrity of architecture, 189

Concrete quality attribute scenarios, 69

Concurrency

component-and-connector views, 1314, 337

handling, 132133

Condition monitoring tactic, 89

Confidence in usability, 175

Confidentiality, integrity, and availability (CIA) approach, 147148

Configurability quality attribute, 307

Configuration manager roles, 422

Configurators, 492

Conformance, 380381

by analysis, 389392

architectural, 48

by construction, 389

Conformance checkers, 54

Conformity Monkey, 161

Connectors

component-and-connector views, 335339

multi-tier pattern, 236

peer-to-peer systems, 220

REST, 225

UML, 369

Consistency

CAP theorem, 523

code and architecture, 366368

databases, 520

Consolidation in QAW, 295

Constraints

ADD method, 322323

allocation views, 339

broker pattern, 211

client-server pattern, 218

component-and-connector views, 337

conformance, 390

defining, 3233

layered pattern, 207

map-reduce patterns, 235

Model-View-Controller pattern, 213

modular views, 333

multi-tier pattern, 236237

peer-to-peer pattern, 222

pipe-and-filter pattern, 216

publish-subscribe pattern, 227

requirements, 6465

service-oriented architecture pattern, 225

shared-data pattern, 231

Construction, conformance by, 389

COnstructive COst MOdel II (COCOMO II) scale factor, 279

Content-based publish-subscribe pattern, 229

Contention for resources tactic, 136

Context diagrams

ATAM presentations, 406

in documentation, 347

Contexts

architecture influence, 5658

business, 4951, 58

decision-making, 438439

professional, 5152

project life-cycle, 4448

in relationships, 204205

stakeholders, 5255

summary, 59

technical, 4043

thought experiments, 263

types, 3940

Contextual factors in evaluation, 399400

Continuity as business goal, 298

Control relation in map-reduce patterns, 235

Control resource demand tactic, 137138

Control tactics for testability, 164167

Controllers in Model-View-Controller pattern, 213214

Conway’s law, 38

Coordination model category

ASRs, 293

availability, 96

global development, 426

interoperability, 114

modifiability, 126

performance, 143

quality design decisions, 7374

security, 155

testability, 169

usability, 181

CORBA (Common Object Request Broker Architecture), 212

Core asset units, 497

Core requirements, 531532

Core vs. periphery in Metropolis model, 534

Correlation logic for faults, 81

Cost Benefit Analysis Method (CBAM), 442

cost determination, 444

results, 456457

steps, 445447

utility curve determination, 442443

variation points, 448450

weighting determination, 444

Costs

CBAM, 444

of change, 118

estimates, 34

global development, 423424

independently developed components for, 36

power, 507

resources, 244

thought experiments, 263

value for, 442

Costs to complete measure, 430

Coupling

in modifiability, 121124

in testability, 167

Crashes and availability, 85

Credit cards, 147, 157, 260, 268

Crisis, syncing at, 368

Criteria for ASRs, 306

Crowd management in Metropolis model, 534

Crowdsourcing, 528

CRUD operations, 109

CruiseControl tool, 172

Crystal Clear method, 44, 287

Cummins, Inc., 480, 490

Cunningham, Ward, 286

Customers

communication with, 29

edge-dominant systems, 529

Customization of user interface, 180

Darwin, Charles, 275

Data Access Working Group (DAWG), 451

Data accessors in shared-data pattern, 230231

Data latency, utility trees for, 306

Data model category, 13

ASRs, 293

availability, 96

interoperability, 114

modifiability, 126

performance, 143

quality design decisions, 74

security, 155

testability, 169

usability, 182

Data reading and writing in shared-data pattern, 230231

Data replication, 139

Data sets

map-reduce pattern, 232233

for testability, 170171

Data stores in shared-data pattern, 230231

Data transformation systems, 215

Database administrators, 54

Database systems

cloud, 517520

in reconstruction, 386387

DataNodes, 512514

DAWG (Data Access Working Group), 451

Deadline monotonic prioritization strategy, 140

Deadlines in processing, 134

Debugging brokers, 211

Decision makers on ATAM teams, 401

Decision-making context, 438439

Decisions

evaluating, 398

mapping to quality requirements, 402403

quality design, 7276

Decomposition

description, 311312

module, 5, 12, 16

views, 16, 343, 345

Dedicated finite resources, 530

Defects

analysis, 374

eliminating, 486

tracking, 430

Defer binding

modifiability, 124125

user interface, 178

Degradation tactic, 93

Delegation connectors, 369

Demilitarized zones (DMZs), 152

Denial-of-service attacks, 79, 521, 533

Dependencies

basis set elements, 261

on computations, 136

intermediary tactic for, 123124

user interface, 178

Dependent events in probability, 257

Depends-on relation

layered pattern, 207

modules, 332333

Deploy on relation, 235

Deployability attribute, 129, 187

Deployers, 54

Deployment models for cloud, 506

Deployment structure, 14

Deployment views

ATAM presentations, 406

combining, 345

purpose, 332

Depth first ADD strategy, 319

Design and design strategy, 311

ADD. See Attribute-Driven Design (ADD) method

architecturally significant requirements, 311312

in code, 364

decomposition, 311312

early decisions, 3132

generate and test process, 313316

initial hypotheses, 314315

next hypotheses, 315

quality attributes, 197

summary, 325

test choices, 315

Design checklists

availability, 9698

design strategy hypotheses, 315

interoperability, 114115

modifiability, 125127

performance, 142144

quality attributes, 199

security, 154156

summary, 183

testability, 169170

usability, 181182

Designers

description and interests, 54

evaluation by, 397398

Detect attacks tactics, 151

Detect faults tactic, 8791

Detect intrusion tactic, 151

Detect message delay tactic, 151

Detect service denial tactic, 151

Deutsche Bank, 480

Developers

edge-dominant systems, 529

roles, 422

Development

business context, 5051

global, 423426

incremental, 428

project life-cycle context, 4445

tests, 374

Development distributability attribute, 186

Deviation

failure from, 80

measuring, 429

Devices in ADD method, 317

DiNucci, Darcy, 527

dir_contains_dir relationship, 384

dir_contains_file relationship, 384

Directed system of systems, 106

Directories in documentation, 349

DiscoTect system, 391

Discover service tactic, 111

Discovery in interoperability, 105

Discovery services, 533

Distributed computing, 221

Distributed development, 427

Distributed testing in Metropolis model, 535

DMZs (demilitarized zones), 152

DNS (domain name server), 514

Doctor Monkey, 161

Documentation

Agile development projects, 356357

architect duties, 462

architectural structures, 1718

architecture, 47, 347349

behavior, 351354

changing architectures, 355356

distributed development, 427

global development, 426

introduction, 327328

notations, 329331

online, 350

packages, 345351

patterns, 350351

and quality attributes, 354355

services, 533

summary, 359

uses and audiences for, 328329

views. See Views

YAGNI, 282

Documentation maps, 347349

Documents, control information, 347

Domain decomposition, 315

Domain knowledge of architects, 467

Domain name server (DNS), 514

Drivers

ATAM, 404405

Lightweight Architecture Evaluation, 416

PALM method, 305

QAW, 295

DSK (Duties, Skills, and Knowledge) model of competence, 476

Duke’s Bank application, 391392

Duties

architects, 460464

competence, 472

professional context, 51

Duties, Skills, and Knowledge (DSK) model of competence, 476

Dynamic allocation views, 340

Dynamic analysis with fault trees, 83

Dynamic priority scheduling strategies, 140141

Dynamic structures, 5

Dynamic system information, 385386

Earliest-deadline-first scheduling strategy, 141

Early design decisions, 3132

Earth Observing System Data Information System (EOSDIS) Core System (ECS). See NASA ECS project

eBay, 234

EC2 cloud service, 81, 160, 522, 532

Eclipse platform, 228

Economic analysis

basis, 439442

benefit and normalization, 441442

case study, 451457

CBAM. See Cost Benefit Analysis Method (CBAM)

cost value, 442

decision-making context, 438439

introduction, 437

scenario weighting, 441

side effects, 441

summary, 457

utility-response curves, 439441

Economics

cloud, 506509

issues, 543

Economies of scale in cloud, 507508

Ecosystems, 528530

ECS system. See NASA ECS project

Edge-dominant systems, 528530

Edison, Thomas, 203

eDonkey networks, 221

Education, documentation as, 328329

Effective resource utilization, 187

Effectiveness category for quality, 189

Efficiency category for quality, 189190

Einstein, Albert, 175

EJB (Enterprise Java Beans), 212

Elasticity, rapid, 504505

Elasticity property, 187

Electric grids, 106

Electricity, 191, 570

Electronic communication in global development, 426

Elements

ADD method, 318319

allocation views, 339340

broker pattern, 211

catalogs, 346347

client-server pattern, 218

component-and-connector views, 337

defined, 5

layered pattern, 207

map-reduce patterns, 235

mapping, 75

Model-View-Controller pattern, 213

modular views, 333

multi-tier pattern, 237

peer-to-peer pattern, 222

pipe-and-filter pattern, 216

product reuse, 484

publish-subscribe pattern, 227

service-oriented architecture pattern, 225

shared-data pattern, 231

Employees

as goal-object, 302

responsibilities to, 299

Enabling quality attributes, 2627

Encapsulation tactic, 123

Encrypt data tactic, 152

End users in edge-dominant systems, 529

Enterprise architecture vs. system architecture, 78

Enterprise Java Beans (EJB), 212

Enterprise resource planning (ERP) systems, 228

Enterprise service bus (ESB), 223, 225, 369

Environment

ADD method, 317

allocation views, 339340

availability, 8586

business goals, 300

interoperability, 107108

modifiability, 119120

performance, 134

quality attributes expressions, 6870

security, 149150

technical context, 4142

testability, 162163

usability, 176

variability, 489

Environmental change as business goal, 299

ERP (enterprise resource planning) systems, 228

Errors, 80

core handling of, 532

detection by services, 533

error-handling views, 341

in usability, 175

ESB (enterprise service bus), 223, 225, 369

Escalating restart tactic, 94

Estimates, cost and schedule, 34

Evaluation

architect duties, 462463

architecture, 4748

ATAM. See Architecture Tradeoff Analysis Method (ATAM)

contextual factors, 399400

by designer, 397398

Lightweight Architecture Evaluation, 415417

outsider analysis, 399

peer review, 398399

questions, 472

software product lines, 493494

summary, 417

Evaluators, 54

Event bus in publish-subscribe pattern, 227

Events

Model-View-Controller pattern, 214

performance, 131, 133

probability, 257

Eventual consistency model, 168, 523

Evolutionary prototyping, 3334

Evolving software product lines, 496497

Exception detection tactic, 90

Exception handling tactic, 92

Exception prevention tactic, 95

Exception views, 341

Exchanging information via interfaces, 104105

EXCLUSIVE OR gate symbol, 84

Executable assertions for system state, 166

Execution of tests, 374

Exemplar systems, 485

Exercise conclusion in PALM method, 305

Existing systems in design, 314

Expected quality attribute response levels, 453

Experience of architects, 5152

Experiments in quality attribute modeling, 264265

Expressing business goals, 299301

Extensibility quality attribute, 307

Extensible programming environments, 228

Extension points for variation, 491

External sources for product lines, 496

External system representatives, 55

External systems in ADD method, 317

Externalizing change, 125

Extract-transform-load functions, 235

Extraction, raw view, 382386

Extreme Programming development methodology, 44

Facebook, 527528

map-reduce patterns, 234

users, 518

Fail fast principle, 522

Failure Mode, Effects, and Criticality Analysis (FMECA), 8384

Failures, 80

availability. See Availability

planning for, 8285

probabilities and effects, 8485

Fairbanks, George, 279, 364

Fallbacks principle, 522

Fault tree analysis, 8284

Faults, 80

correlation logic, 81

detection, 8791

prevention, 9495

recovery from, 9194

Feature removal principle, 522

FIFO (first-in/first-out) queues, 140

File system managers, 516

Filters in pipe-and-filter pattern, 215217

Financial objectives as business goal, 298

Finding violations, 389392

Fire-and-forget information exchange, 223

Firefox, 531

First-in/first-out (FIFO) queues, 140

First principles from tactics, 72

Fixed-priority scheduling, 140

Flex software development kit, 215

Flexibility

defer binding tactic, 124

independently developed components for, 36

Flickr service, 527, 536

Flight control software, 192193

FMECA (Failure Mode, Effects, and Criticality Analysis), 8384

Focus on architecture in Metropolis model, 534535

Follow-up phase in ATAM, 403404

Folsonomy, 528

Ford, Henry, 479

Formal documentation notations, 330

Frameworks

design strategy hypotheses, 314315

implementation, 364365

Frankl, Viktor E., 63

Freedom from risk category for quality, 189

Functional redundancy tactic, 90

Functional requirements, 64, 66

Functional responsibility in ADD method, 322323

Functional suitability quality attribute, 193

Functionality

component-and-connector views, 336

description, 65

Fused views, 388389

Gamma, E., 212

Gate symbols, 8384

General Motors product line, 487

Generalization structure, 13

Generate and test process, 313316

Generators of variation, 492

Get method for system state, 165

Global development, 423426

Global metrics, 429430

Gnutella networks, 221

Goal components in business goals, 300

Goals. See Business goals

Goldberg, Rube, 102

Good architecture, 1921

Good enough vs. perfect, 398

Google

database system, 518

Google App Engine, 517

Google Maps, 105107

greenhouse gas from, 190191

map-reduce patterns, 234

power sources, 507

Governance, 430431

Government, responsibilities to, 299

Graceful degradation, 522

Graphical user interfaces in publish-subscribe pattern, 228

Gray-box testing, 373

Green computing, 190191

Greenspan, Alan, 443

Growth and continuity as business goal, 298

Guerrilla movements, 543544

Hadoop Distributed File System (HDFS), 512

Hardware costs for cloud, 507

Harel, David, 353

Harnesses for tests, 374

Hazard analysis, 82

Hazardous failures, 82

HBase database system, 518519

HDFS (Hadoop Distributed File System), 512

Heartbeat tactic, 89, 256, 408

Helm, R., 212

Hewlett-Packard, 480

Hiatus stage in ATAM, 409

High availability. See Availability

Highway systems, 142

Horizontal scalability, 187

Hot spare tactic, 91

HTTP (HyperText Transfer Protocol), 219

Hudson tool, 172

Hufstedler, Shirley, 363

Human body structure, 9

Human Performance model of competence, 476

Human Performance Technology model, 469473

Human resource management in global development, 425

Hybertsson, Henrik, 4243

Hybrid clouds, 506

Hydroelectric power station catastrophe, 188, 192

Hypertext for documentation, 350

HyperText Transfer Protocol (HTTP), 219

Hypervisors, 510512

Hypotheses

conformance, 390

design strategy, 314315

fused views, 388

IaaS (Infrastructure as a Service) model, 505506, 515517

Identify actors tactic, 152

Ignore faulty behavior tactic, 93

Implementation, 363364, 427

architect duties, 463

code and architecture consistency, 366368

code templates, 365367

design in code, 364

frameworks, 364365

incremental development, 428

modules, 333334

structure, 14

summary, 376

testing, 370376

tracking progress, 428429

tradeoffs, 427

Implementors, 55

In-service software upgrade (ISSU), 92

Includes relationship, 384

Inclusion of elements for variation, 491

Increase cohesion tactic, 123

Increase competence set tactic, 95

Increase efficiency tactic, 142

Increase resource efficiency tactic, 138

Increase resources tactic, 138139, 142

Increase semantic coherence tactic, 123, 239

Incremental Commitment Model, 286

Incremental development, 428

Incremental integration, 371

Incremental models in adoption strategies, 495496

Independent events in probability, 257

Independently developed components, 3536

Inflexibility of methods, 277

Inform actors tactic, 153

Informal contacts in global development, 426

Informal notations for documentation, 330

Information handling skills, 465

Information sharing in cloud, 520

Infrastructure as a Service (IaaS) model, 505506, 515517

Infrastructure in map-reduce patterns, 235

Infrastructure labor costs in cloud, 507

Inheritance variation mechanism, 492

Inherits from relation, 13

INHIBIT gate symbol, 84

Inhibiting quality attributes, 2627

Initial hypotheses in design strategy, 314315

Inputs in ADD method, 316, 321323

Instantiate relation, 235

Integration management in global development, 424

Integration testing, 371372

Integrators, 55

Integrity

architecture, 189

CIA approach, 147

Interchangeable parts, 3536, 480

Interfaces

exchanging information via, 104105

separating, 178

Intermediary tactic, 123

Intermediate states in failures, 80

Internal sources of product lines, 496497

Internet Protocol (IP) addresses

automatic reallocation, 516

overview, 514

Interoperability

analytic model space, 259

design checklist, 114115

general scenario, 107110

introduction, 103106

service-oriented architecture pattern, 224

and standards, 112113

summary, 115

tactics, 110113

Interpersonal skills, 465

Interpolation in CBAM, 446

Interviewing stakeholders, 294296

Introduce concurrency tactic, 139

Invokes-services role, 335

Involvement, 542543

Iowability, 195196

IP (Internet Protocol) addresses

automatic reallocation, 516

overview, 514

Is a relation, 332333

Is-a-submodule-of relation, 12

Is an instance of relation, 13

Is part of relation

modules, 332333

multi-tier pattern, 237

ISO 25010 standard, 66, 193195

ISSU (in-service software upgrade), 92

Iterative approach

description, 44

reconstruction, 382

requirements, 56

Janitor Monkey, 161

JavaScript Object Notation (JSON) form, 519

Jitter, 134

Jobs, Steve, 311

Johnson, R., 212

JSON (JavaScript Object Notation) form, 519

Just Enough Architecture (Fairbanks), 279, 364

Keys in map-reduce pattern, 232

Knowledge

architects, 460, 466467

competence, 472473

professional context, 51

Kroc, Ray, 291

Kruchten, Philippe, 327

KSLOC (thousands of source lines of code), 279281

Kundra, Vivek, 503

Labor availability in global development, 423

Labor costs

cloud, 507

global development, 423

Language, 542

Larger data sets in map-reduce patterns, 234

Late binding, 385, 388

Latency

CAP theorem, 523

performance, 133, 255

queuing models for, 198199

utility trees for, 306

Latency Monkey, 161

Lattix tool, 387

Lawrence Livermore National Laboratory, 71

Layer bridging, 206

Layer structures, 13

Layer views in ATAM presentations, 406

Layered patterns, 19, 205210

Layered views, 331332

Leaders on ATAM teams, 401

Leadership skills, 464465

Learning issues in usability, 175

Least-slack-first scheduling strategy, 141

LePatner, Barry, 3

Letterman, David, 443

Levels

failure, 258

restart, 94

testing, 370372

Leveson, Nancy, 200

Lexical analyzers, 386

Life cycle

architecture in, 271274

changes, 530531

Metropolis model, 537

project. See Project life-cycle context

quality attribute analysis, 265266

Life-cycle milestones, syncing at, 368

Lightweight Architecture Evaluation method, 415417

Likelihood of change, 117

Limit access tactic, 152

Limit complexity tactic, 167

Limit event response tactic, 137

Limit exposure tactic, 152

Limit structural complexity tactic, 167168

Linux, 531

List-based publish-subscribe pattern, 229

Load balancers, 139

Local changes, 2728

Local knowledge of markets in global development, 423

Localize state storage for testability, 165

Locate tactic, 111

Location independence, 504

Lock computer tactic, 153

Logical threads in concurrency, 1314

Macros for testability, 167

Mailing lists in publish-subscribe pattern, 228

Maintain multiple copies tactic, 142

Maintain multiple copies of computations tactic, 139

Maintain multiple copies of data tactic, 139

Maintain system model tactic, 180

Maintain task model tactic, 180

Maintain user model tactic, 180

Maintainability quality attribute, 195, 307

Maintainers, 55

Major failures, 82

Manage event rate tactic, 142

Manage resources tactic, 137139

Manage sampling rate tactic

performance, 137

quality attributes, 72

Management and governance

architect skills, 464

governance, 430431

implementing, 427429

introduction, 419

measuring, 429430

organizing, 422426

planning, 420421

summary, 432

Management information in modules, 334

Managers, communication with, 29

Managing interfaces tactic, 111

Manifesto for Agile software development, 276

Map architectural strategies in CBAM, 446

Map-reduce pattern, 232235

Mapping

to requirements, 355, 402403

to source code units, 334

Mapping among architectural elements category

ASRs, 293

availability, 97

interoperability, 114

modifiability, 127

performance, 144

quality design decisions, 75

security, 155

testability, 169

usability, 182

Maps, documentation, 347349

Market position as business goal, 299

Marketability category for quality, 190

Markov analysis, 83

Matrixed team members, 422

McGregor, John, 448

Mean time between failures (MTBF), 80, 255259

Mean time to repair (MTTR), 80, 255259

Measured services, 505

Measuring, 429430

Meetings

global development, 426

progress tracking, 428

Methods in product reuse, 484

Metrics, 429430

Metropolis structure

edge-dominant systems, 528530

implications, 533537

Microsoft Azure, 517

Microsoft Office 365, 509

Migrates-to relation, 14

Mill, John Stuart, 527

Minimal cut sets, 83

Minor failures, 82

Missile defense system, 104

Missile warning system, 192

Mixed initiative in usability, 177

Mobility attribute, 187

Model driven development, 45

Model-View-Controller (MVC) pattern

overview, 212215

performance analysis, 252254

user interface, 178

Models

product reuse, 484

quality attributes, 197198

transferable and reusable, 35

Modifiability

analytic model space, 259

component-and-connector views, 337

design checklist, 125127

general scenario, 119120

introduction, 117119

managing, 27

ping/echo, 243

restrict dependencies tactic, 246

scheduling policy tactic, 244245

summary, 128

tactics, 121125

and time-to-market, 284

unit testing, 371

in usability, 179

Modularity of core, 532

Modules and module patterns, 10, 205210

coupling, 121

decomposition structures, 5

description, 45

types, 1213

views, 332335, 406

MongoDB database, 519

Monitor relation in map-reduce patterns, 235

Monitor tactic, 8889

Monitorability attribute, 188

MoSCoW style, 292

MSMQ product, 224

MTBF (mean time between failures), 80, 255259

MTTR (mean time to repair), 80, 255259

Multi-tenancy

cloud, 509, 520

description, 505

Multi-tier patterns, 19, 235237

Multitasking, 132133

Musket production, 3536

MVC (Model-View-Controller) pattern

overview, 212215

performance analysis, 252254

user interface, 178

Mythical Man-Month (Brooks), 47

NameNode process, 512513

Names for modules, 333

NASA ECS project, 451

architectural strategies, 452456

assign utility, 452

collate scenarios, 451

expected quality attribute response level, 453

prioritizing scenarios, 452

refining scenarios, 451452

Nation as goal-object, 302

National Reconnaissance Office, 481

.NET platform, 212

Netflix

cloud, 522

Simian Army, 160161

Network administrators, 55

Networked services, 36

Networks, cloud, 514

Nightingale application, 306307

No effect failures, 82

Node managers, 516

Nokia, 480

non-ASR requirements, 312313

Non-stop forwarding (NSF) tactic, 94

Nondeterminism in testability, 168

Nonlocal changes, 27

Nonrepudiation in CIA approach, 148

Nonrisks in ATAM, 402

Normalization

databases, 520

economic analysis, 441442

NoSQL database systems, 518520, 523

NoSQL movement, 248

Notations

component-and-connector views, 338339

documentation, 329331

Notifications

failures, 80

Model-View-Controller pattern, 214

NSF (non-stop forwarding) tactic, 94

Number of events not processed measurement, 134

Object-oriented systems

in testability, 167

use cases, 46

Objects in sequence diagrams, 352

Observability of failures, 80

Observe system state tactics, 164167

Off-the-shelf components, 36

Omissions

availability faults from, 85

for variation, 491

On-demand self-service, 504

1+1 redundancy tactic, 91

Online documentation, 350

Ontologies, 368369

OPC (Order Processing Center) component, 224, 226

Open content systems, 529

Open Group

certification program, 477

governance responsibilities, 430431

Open source software, 36, 238

Operation Desert Storm, 104

OR gate symbol, 84

Orchestrate tactic, 111

Orchestration servers, 223, 225

Order Processing Center (OPC) component, 224, 226

Organization

global development, 423426

project manager and software architect responsibilities, 422423

software development teams, 422

Organizational Coordination model, 470, 473, 476

Organizational Learning model, 470, 474, 476

Organizations

activities for success, 468

architect skills, 464

architecture influence on, 33

as goal-object, 302

security processes, 157

structural strategies for products, 497

Outages. See Availability

Outputs

ADD method, 317318

ATAM, 402403

Outsider analysis, 399

Overlay views, 343

Overloading for variation, 491

Overview presentations in PALM method, 305

P2P (peer-to-peer) pattern, 220222

PaaS (Platform as a Service) model, 505, 517

Page mappers, 510512

PALM (Pedigreed Attribute eLicitation Method), 304305

Parameter fence tactic, 90

Parameter typing tactic, 90

Parameters for variation mechanism, 492

Parser tool, 386

Partitioning CAP theorem, 523

Partnership and preparation phase in ATAM, 403404

Passive redundancy, 9192, 256259

Patterns, 1819

allocation, 232237

component-and-connector. See Component-and-connector (C&C) patterns and structures

documenting, 350351

introduction, 203204

module, 205210

relationships, 204205

summary, 247248

and tactics, 238247, 315

Paulish, Dan, 420

Pause/resume command, 179

Payment Card Industry (PCI), 260

PDF (probability density function), 255

PDM (platform-definition model), 45

Pedigree and value component of business goals, 301

Pedigreed Attribute eLicitation Method (PALM), 304305

Peer nodes, 220

Peer review, 398399

Peer-to-peer (P2P) pattern, 220222

Penalties in Incremental Commitment Model, 286

People

managing, 464

in product reuse, 485

Perfect vs. good enough, 398

Performance

analytic model space, 259

analyzing, 252255

broker pattern, 241

cloud, 521

component-and-connector views, 336

control resource demand tactics, 137138

design checklist, 142144

general scenario, 132134

introduction, 131132

manage resources tactics, 138139

map-reduce pattern, 232

ping/echo, 243

and quality, 191

quality attributes tactics, 72

queuing models for, 198199

resource effects, 244, 246

summary, 145

tactics overview, 135137

views, 341

Performance quality attribute, 307

Performance efficiency quality attribute, 193

Periodic events, 133

Periphery

Metropolis model, 535

requirements, 532

Persistent object managers, 515516

Personal objectives as business goal, 298

Personnel availability in ADD method, 320

Petrov, Stanislav Yevgrafovich, 192

Phases

ATAM, 403404

metrics, 430

Metropolis model, 534

Philips product lines, 480481, 487

Physical security, 191

PIM (platform-independent model), 45

Ping/echo tactic, 8788, 243

Pipe-and-filter pattern, 215217

Planned increments, 530

Planning

for failure, 8285

incremental development, 428

overview, 420421

tests, 374

Platform as a Service (PaaS) model, 505, 517

Platform-definition model (PDM), 45

Platform-independent model (PIM), 45

Platforms

architect knowledge about, 467

frameworks in, 365

patterns, 19, 238

services for, 532533

Plug-in architectures, 34

PMBOK (Project Management Body of Knowledge), 423425

Pointers, smart, 95

Policies, scheduling, 140

Pooling resources, 504

Portability quality attributes, 67, 186, 195

Portfolio as goal-object, 302

Ports in component-and-connector views, 335, 337338

Potential alternatives, 398

Potential problems, peer review for, 399

Potential quality attributes, 305

Power station catastrophe, 188, 192

Predicting system qualities, 28

Predictive model tactic, 95

Preemptible processes, 141

Preparation-and-repair tactic, 9193

Preprocessor macros, 167

Presentation

ATAM, 402406

documentation, 346

Lightweight Architecture Evaluation, 416

PALM method, 305

QAW, 295

Prevent faults tactics, 9495

Primary presentations in documentation, 346

Principles

Agile, 276277

cloud failures, 522

design fragments from, 72

Incremental Commitment Model, 286

Prioritize events tactic, 137138, 142

Prioritizing

ATAM scenarios, 410

CBAM scenarios, 445446

CBAM weighting, 444

Lightweight Architecture Evaluation scenarios, 416

NASA ECS project scenarios, 452

QAW, 295296

risk, 429

schedules, 140141

views, 343

PRIORITY AND gate symbol, 84

Private clouds, 506

Private IP addresses, 514

Proactive enforcement in Metropolis model, 535

Proactive product line models, 495

Probability density function (PDF), 255

Probability for availability, 256259

Problem relationships in patterns, 204205

Proceedings scribes, 401

Processes

development, 4445

product reuse, 484

recommendations, 20

security, 157

Processing time in performance, 136

Procurement management, 425

Product-line managers, 55

Product lines. See Software product lines

Product manager roles, 422

Productivity metrics, 429430

Professional context, 5152, 58

Profiler tools, 386

Programming knowledge of architects, 466

Project context, 57

Project life-cycle context

architecturally significant requirements, 4647

architecture analysis and evaluation, 4748

architecture documentation and communication, 47

architecture selection, 47

business cases, 46

development processes, 4445

implementation conformance, 48

Project Management Body of Knowledge (PMBOK), 423425

Project managers

description and interests, 55

responsibilities, 422423

Project planning artifacts in product reuse, 484

Propagation costs of change, 288

Prosumers in edge-dominant systems, 529

Protection groups, 91

Prototypes

evolutionary, 3334

quality attribute modeling and analysis, 264265

for requirements, 47

Provides-services role, 335

Proxy servers, 146, 211

Public clouds, 506

Public IP addresses, 514

Publicly available apps, 36

Publish-subscribe connector, 336

Publish-subscribe pattern, 226229

Publisher role, 336

QAW (Quality Attribute Workshop), 294296

Qt framework, 215

Quality attribute modeling and analysis, 251252

analytic model space, 259260

availability analysis, 255259

checklists, 260262

experiments, simulations, and prototypes, 264265

life cycle stages, 265266

performance analysis, 252255

summary, 266267

thought experiments and back-of-the-envelope analysis, 262264

Quality Attribute Workshop (QAW), 294296

Quality attributes, 185

ADD method, 322323

ASRs, 294296

ATAM, 407

capture scenarios, 196197

categories, 189190

checklists, 199, 260262

considerations, 6567

design approaches, 197

and documentation, 354355

grand unified theory, 261

important, 185188

inhibiting and enabling, 2627

introduction, 6364

Lightweight Architecture Evaluation, 416

models, 197198

NASA ECS project, 453

peer review, 398

quality design decisions, 7276

requirements, 64, 6870

software and system, 190193

standard lists, 193196

summary, 7677

tactics, 7072, 198199

technical context, 4041

variability, 488489

X-ability, 196199

Quality design decisions, 7273

allocation of responsibilities, 73

binding time, 7576

coordination models, 7374

data models, 74

element mapping, 75

resource management, 7475

technology choices, 76

Quality management in global development, 424

Quality of products as business goal, 299

Quality requirements, mapping decisions to, 402403

Quality views, 340341

Questioners on ATAM teams, 401

Questions for organizational competence, 470, 472474

Queue sizes tactic, 139

Queuing models for performance, 198199, 252255

Quick Test Pro tool, 172

Race conditions, 133

Random access in equipment utilization, 508

Rapid elasticity, 504505

Rate monotonic prioritization strategy, 140

Rational Unified Process, 44

Rationale in documentation, 347, 349

Raw view extraction in reconstruction, 382386

RDBMSs (relational database management systems), 518

React to attacks tactics, 153

Reactive enforcement in Metropolis model, 536

Reactive product line models, 495

Reader role in component-and-connector views, 335

Reconfiguration tactic, 93

Reconstruction and conformance, 380381

database construction, 386387

finding violations, 389392

guidelines, 392393

process, 381382

raw view extraction, 382386

summary, 393394

view fusion, 388389

Record/playback method for system state, 165

Recover from attacks tactics, 153154

Recover-from-faults tactics, 9194

Reduce computational overhead tactic, 142

Reduce function in map-reduce pattern, 232235

Reduce overhead tactic, 138

Redundancy tactics, 90, 256259

Refactor tactic, 124

Refined scenarios

NASA ECS project, 451452

QAW, 296

Reflection for variation, 491

Reflection pattern, 262

Registry of services, 225

Regression testing, 372

Reintroduction tactics, 91, 9394

Rejuvenation tactic, 95

Relational database management systems (RDBMSs), 518

Relations

allocation views, 339340

architectural structures, 14, 1617

broker pattern, 211

client-server pattern, 218

component-and-connector views, 337

conformance, 390

in documentation, 346

layered pattern, 207

map-reduce patterns, 235

Model-View-Controller pattern, 213

modular views, 333

multi-tier pattern, 237

peer-to-peer pattern, 222

pipe-and-filter pattern, 216

publish-subscribe pattern, 227

service-oriented architecture pattern, 225

shared-data pattern, 231

view extraction, 384

Release strategy for documentation, 350

Reliability

cloud, 507

component-and-connector views, 336

core, 532

independently developed components for, 36

vs. safety, 188

SOAP, 109

views, 341

Reliability quality attribute, 195

Remote procedure call (RPC) model, 109

Removal from service tactic, 9495

Replicated elements in variation, 491

Replication tactic, 90

Report method for system state, 165

Reporting tests, 374

Repository patterns, 19

Representation of architecture, 6

Representational State Transfer (REST), 108110, 223225

Reputation of products as business goal, 299

Request/reply connectors

client-server pattern, 218

peer-to-peer pattern, 222

Requirements

ASRs. See Architecturally significant requirements (ASRs)

categories, 6465

from goals, 49

mapping to, 355, 402403

Metropolis model, 534

product reuse, 483

prototypes for, 47

quality attributes, 6870

software development life cycle changes, 530

summary, 308310

tying methods together, 308

Requirements documents

ASRs from, 292293

Waterfall model, 56

Reset method for system state, 165

Resisting attacks tactics, 152153

RESL scale factor, 279

Resource management category

ASRs, 293

availability, 97

interoperability, 115

modifiability, 127

performance, 144

quality design decisions, 7475

security, 155

software development life cycle changes, 530

testability, 170

usability, 182

Resources

component-and-connector views, 336

equipment utilization, 508

pooling, 504

sandboxing, 166

software development life cycle changes, 530

Response

availability, 8586

interoperability, 105, 107108

modifiability, 119120

performance, 134

quality attributes expressions, 6870

security, 149150

testability, 162163

usability, 176

variability, 489

Response measure

availability, 8586

interoperability, 107108

modifiability, 119120

performance, 134

quality attributes expressions, 6870

security, 149150

testability, 162163

usability, 176

variability, 489

Responsibilities

as business goal, 299

modules, 333

quality design decisions, 73

REST (Representational State Transfer), 108110, 223225

Restart tactic, 94

Restrict dependencies tactic, 124, 239, 246247

Restrictions on vocabulary, 36

Results

ATAM, 411

CBAM, 447, 456457

evaluation, 400

Lightweight Architecture Evaluation, 416

Retry tactic, 93

Reusable models, 35

Reuse of software architecture, 479, 483486

Reviews

back door, 544545

peer, 398399

Revision history of modules, 334

Revoke access tactic, 153

Rework in agility, 279

Risk

ADD method, 320

ATAM, 402

global development, 425

progress tracking, 429

Risk-based testing, 373374

Robustness of core, 532

Roles

component-and-connector views, 335

product line architecture, 488490

software development teams, 422

testing, 375376

Rollback tactic, 92

Round-robin scheduling strategy, 140141

Rozanski, Nick, 170

RPC (remote procedure call) model, 109

Runtime conditionals, 492

Rutan, Burt, 159

SaaS (Software as a Service) model, 505

Safety

checklists, 260, 268

use cases, 46

Safety attribute, 188

Safety Integrity Level, 268

Salesforce.com, 509

Sample technologies in cloud, 514520

Sampling rate tactic, 137

Sandbox tactic, 165166

Sanity checking tactic, 89

Satisfaction in usability, 175

Saxe, John Godfrey, 379

Scalability

kinds, 187

peer-to-peer systems, 220

WebArrow web-conferencing system, 285

Scalability attribute, 187

Scaling, automatic, 516

Scenario scribes, 401

Scenarios

ATAM, 408, 410

availability, 8586

business goals, 301303

CBAM, 445446

interoperability, 107110

Lightweight Architecture Evaluation, 416

modifiability, 119120

NASA ECS project, 451452

performance, 132134

QAW, 295296

quality attributes, 6770, 196197

security, 148150

for structures, 12

testability, 162163

usability, 176

weighting, 441, 444

Schedule resources tactic

performance, 139

quality attributes, 72

Scheduled downtimes, 81

Schedulers, hypervisor, 512

Schedules

deviation measurements, 429

estimates, 34

policies, 140141

policy tactic, 244245

top-down and bottom-up, 420421

Schemas, database, 519

Scope, product line, 486488

Scope and summary section in documentation maps, 347

Scrum development methodology, 44

SDL (Specification and Description Language), 354

Security

analytic model space, 259

broker pattern, 242

cloud, 507, 520521

component-and-connector views, 336

design checklist, 154156

general scenario, 148150

introduction, 147148

ping/echo, 243

quality attributes checklists, 260

summary, 156

tactics, 150154

views, 341

Security Monkey, 161

Security quality attribute, 195, 307

SEI (Software Engineering Institute), 59

Selecting

architecture, 47

tools and technology, 463

Selenium tool, 172

Self-organization in Agile, 277

Self-test tactic, 91

Semantic coherence, 178

Semantic importance, 140

Semiformal documentation notations, 330

Sensitivity points in ATAM, 403

Separate entities tactic, 153

Separation of concerns in testability, 167

Sequence diagrams

thought experiments, 263

for traces, 351352

Servers

client-server pattern, 217219

proxy, 146, 211

SAO pattern, 223, 225

Service consumer components, 222, 225

Service discovery in SOAP, 108

Service impact of faults, 81

Service-level agreements (SLAs)

Amazon, 81, 522

availability in, 81

IaaS, 506

PaaS, 505

SOA, 222

Service-oriented architecture (SOA) pattern, 222226

Service providers, 222225

Service registry, 223

Service structure, 13

Services for platforms, 532533

Set method for system state, 165

Shadow tactic, 93

Shared-data patterns, 19, 230231

Shared documents in documentation, 350

Shareholders, responsibilities to, 299

Siberian hydroelectric plant catastrophe, 188, 192

Siddhartha, Gautama, 251

Side-channel attacks, 521

Side effects in economic analysis, 439, 441

Simian Army, 160161

Simulations, 264265

Size

modules, 121

queue, 139

Skeletal systems, 34

Skeletal view of human body, 9

Skills

architects, 460, 463, 465

global development, 423

professional context, 51

SLAs. See Service-level agreements (SLAs)

Small victories, 544

Smart pointers, 95

SOA (service-oriented architecture) pattern, 222226

SOAP

vs. REST, 108110

SOA pattern, 223225

Social networks in publish-subscribe pattern, 229

Socializing in Incremental Commitment Model, 286

Society

as goal-object, 302

service to, 299

Software architecture importance, 2526

change management, 2728

constraints, 3233

cost and schedule estimates, 34

design decisions, 3132

evolutionary prototyping, 3334

independently developed components, 3536

organizational structure, 33

quality attributes, 2627

stakeholder communication, 2931

summary, 37

system qualities prediction, 28

training basis, 37

transferable, reusable models, 35

vocabulary restrictions, 36

Software architecture overview, 34. See also Architecture

as abstraction, 56

behavior in, 67

competence, 467475

contexts. See Contexts

definitions, 4

good and bad, 1921

patterns, 1819

selecting, 7

as set of software structures, 45

structures and views, 918

summary, 2122

system architecture vs. enterprise, 78

Software as a Service (SaaS) model, 505

Software Engineering Body of Knowledge (SWEBOK), 292

Software Engineering Institute (SEI), 59, 479

Software Product Line Conference (SPLC), 498

Software Product Line Hall of Fame, 498

Software product lines

adoption strategies, 494496

evaluating, 493494

evolving, 496497

failures, 481482

introduction, 479481

key issues, 494497

organizational structure, 497

quality attribute of variability, 488

reuse potential, 483486

role of, 488490

scope, 486488

successful, 483486

summary, 497498

variability, 482483

variation mechanisms, 490493

Software quality attributes, 190193

Software rejuvenation tactic, 95

Software upgrade tactic, 9293

Solutions in relationships, 204205

SonarJ tool, 387391

Sorting in map-reduce pattern, 232

SoS (system of systems), 106

Source code

KSLOC, 279281

mapping to, 334

Source in security scenario, 150

Source of stimulus

availability, 8586

interoperability, 107108

modifiability, 119120

performance, 134

quality attributes expressions, 6870

security, 148

testability, 162163

usability, 176

variability, 489

Spare tactics, 9192, 256259

Specialized interfaces tactic, 165

Specification and Description Language (SDL), 354

Spikes in Agile, 284285

SPLC (Software Product Line Conference), 498

Split module tactic, 123

Sporadic events, 133

Spring framework, 166

Staging views, 343

Stakeholders

on ATAM teams, 401

communication among, 2931, 329

documentation for, 348349

evaluation process, 400

interests, 5255

interviewing, 294296

for methods, 272

utility tree reviews, 306

views, 342

Standard lists for quality attributes, 193196

Standards and interoperability, 112113

State, system, 164167

State machine diagrams, 353

State resynchronization tactic, 93

Stateless services in cloud, 522

States, responsibilities to, 299

Static allocation views, 340

Static scheduling, 141

Status meetings, 428

Stein, Gertrude, 142

Steinberg, Saul, 39

Stimulus

availability, 8586

interoperability, 107108

modifiability, 119120

performance, 134

quality attributes expressions, 6870

security, 148, 150

source. See Source of stimulus

testability, 162163

usability, 176

variability, 489

Stochastic events, 133

Stonebraker, Michael, 518

Storage

for testability, 165

virtualization, 512513

Strategies in NASA ECS project, 452456

Strictly layered patterns, 19

Structural complexity in testability, 167168

Structure101 tool, 387

Stuxnet virus, 80

Subarchitecture in component-and-connector views, 335

Submodules, 333

Subscriber role, 336

Subsystems, 9

Supernodes in peer-to-peer pattern, 220

Support and development software, 358359

Support system initiative tactic, 180181

Support user initiative tactic, 179180

SWEBOK (Software Engineering Body of Knowledge), 292

Swing classes, 215

Syncing code and architecture, 368

System analysis and construction, documentation for, 329

System architecture vs. enterprise architecture, 78

System as goal-object, 302

System availability requirements, 81

System efficiency in usability, 175

System engineers, 55

System exceptions tactic, 90

System Generation Module, 358

System initiative in usability, 177

System of systems (SoS), 106

System overview in documentation, 349

System qualities, predicting, 28

System quality attributes, 190193

System test manager roles, 422

System testing, 371

Tactics

availability, 8796

interactions, 242247

interoperability, 110113

modifiability, 121125

patterns relationships with, 238242

performance, 135142

quality attributes, 7072, 198199

security, 150154

testability, 164168

usability, 177181

Tailor interface tactic, 111

Team building skills, 463, 465

Team leader roles, 422

TeamCity tool, 172

Teams

ATAM, 400401

organizing, 422

Technical contexts

architecture influence, 57

environment, 4142

quality attributes, 4041

Vasa ship, 4243

Technical debt, 286

Technical processes in security, 157

Technology choices, 76

Technology knowledge of architects, 467

Templates

ATAM, 406

code, 365367

scenarios. See Scenarios

variation mechanism, 492

10-18 Monkey, 161

Terminating generate and test process, 316

Terms and concepts, 368369

Test harnesses, 160

Testability

analytic model space, 259

automation, 171172

broker pattern, 241

design checklist, 169170

general scenario, 162163

introduction, 159162

summary, 172

tactics, 164168

test data, 170171

Testable requirements, 292

TestComplete tool, 172

Testers, 55

Tests and testing

activities, 374375

architect role, 375376, 463

black-box and white-box, 372373

choices, 315

in incremental development, 428

levels, 370372

modules, 334

product reuse, 484

risk-based, 373374

summary, 376

Therac-25 fatal overdose, 192

Thought experiments, 262264

Thousands of source lines of code (KSLOC), 279281

Threads in concurrency, 132133

Throughput of systems, 134

Tiers

component-and-connector views, 337

multi-tier pattern, 235237

Time and time management

basis sets, 261

global development, 424

performance, 131

Time boxing, 264

Time of day factor in equipment utilization, 508

Time of year factor in equipment utilization, 508

Time-sharing, 503

Time stamp tactic, 89

Time to market

independently developed components for, 36

and modifiability, 284

Timeout tactic, 91

Timing in availability, 85

TMR (triple modular redundancy), 89

Tools

for product reuse, 484

selecting, 463

Top-down adoption, 495

Top-down analysis mode, 284

Top-down schedules, 420421

Topic-based publish-subscribe patterns, 229

Topological constraints, 236

Torvalds, Linus, 530, 535, 538

Total benefit in CBAM, 446

Traces for behavior documentation, 351353

Tracking progress, 428429

Tradeoffs

ATAM, 403

implementation, 427

Traffic systems, 142

Training, architecture for, 37

Transactions

availability, 95

databases, 519520

SOAP, 108

Transferable models, 35

Transformation systems, 215

Transforming existing systems, 462

Transitions in state machine diagrams, 354

Triple modular redundancy (TMR), 89

Troeh, Eve, 190

Turner, R., 279, 281, 288

Twitter, 528

Two-phase commits, 95

Ubiquitous network access, 504

UDDI (Universal Description, Discovery and Integration) language, 108

UML

activity diagrams, 353

communication diagrams, 353

component-and-connector views, 338339

connectors, 369

sequence diagrams, 351352

state machine diagrams, 353

Unambiguous requirements, 292

Uncertainty in equipment utilization, 508509

Undo command, 179

Unified Process, 44

Unit testing, 370371

Unity of purpose in modules, 121

Universal Description, Discovery and Integration (UDDI) language, 108

Up-front planning vs. agility, 278281

Usability

analytic model space, 259

design checklist, 181182

general scenario, 176

introduction, 175

quality attributes checklists, 260

tactics, 177181

Usability quality attribute, 193, 307

Usage

allocation views, 339

component-and-connector views, 337

modular views, 333

Use an intermediary tactic, 245

modifiability, 123

quality attributes, 72

Use cases

ATAM presentations, 406

thought experiments, 263

for traces, 351

“User beware” proviso, 372

User initiative in usability, 177

User interface

exchanging information via, 104105

separating, 178

User needs in usability, 175

User stories in Agile, 278

Users

communication with, 29

description and interests, 55

Uses

for documentation, 328329

views for, 332

Uses relation in layered patterns, 19

Uses structure in decomposition, 12

Utility

assigning, 452

CBAM, 448

Utility-response curves, 439443

Utility trees

ASRs, 304307

ATAM, 407, 410

Lightweight Architecture Evaluation, 416

Utilization of equipment in cloud, 508509

Value component

business goals, 301

utility trees, 306

Value for cost (VFC), 438, 442

Variability

product line, 482483

quality attributes, 488489

Variability attribute, 186

Variability guides, 347, 493

Variation

binding time, 75

software product lines, 490493

Variation points

CBAM, 448450

identifying, 490

Vasa ship, 4243

Vascular view of human body, 9

Vehicle cruise control systems, 353

Verify and refine requirements in ADD, 321323

Verify message integrity tactic, 151

Vertical scalability, 187

VFC (value for cost), 438, 442

Views, 331332

allocation, 339340

architectural structures, 910

choosing, 341343

combining, 343345

component-and-connector, 335339, 344, 406

documenting, 345347

fused, 388389

Model-View-Controller pattern, 213214

module, 332335, 406

quality, 340341

Views and Beyond approach, 282, 356357

Villa, Pancho, 541

Violations, finding, 389392

Virtual resource managers, 515

Virtual system of systems, 106

Virtualization and virtual machines

cloud, 509514, 520521

layers as, 13

in sandboxing, 166

Visibility of interfaces, 333

Vitruvius, 459

Vlissides, J., 212

Vocabulary

quality attributes, 67

restrictions, 36

Voting tactic, 89

Vulnerabilities in security views, 341

Walking skeleton method, 287

War ship example, 4243

Warm spare tactic, 9192

Watchdogs, 89

Waterfall model

description, 44

requirements documents, 56

Weaknesses

broker pattern, 211, 240242

client-server pattern, 218

layered pattern, 207

map-reduce patterns, 235

Model-View-Controller pattern, 213

multi-tier pattern, 237

peer-to-peer pattern, 222

pipe-and-filter pattern, 216

publish-subscribe pattern, 227

service-oriented architecture pattern, 225

shared-data pattern, 231

Wealth of Networks (Benkler), 528

Web 2.0 movement, 527

Web-based system events, 131

Web-conferencing systems

Agile example, 283285

considerations, 265

Web Services Description Language (WSDL), 110

WebArrow web-conferencing system, 284285

WebSphere MQ product, 224

Weighting scenarios, 441, 444

Wells, H. G., 117

West, Mae, 131

“What if” questions in performance analysis, 255

White-box testing, 372373

Whitney, Eli, 3536, 480

Wikipedia, 528

Wikis for documentation, 350

Wisdom of crowds, 537

Woods, Eoin, 25, 170

Work assignment structures, 14

Work-breakdown structures, 33

Work skills of architect, 465

World Wide Web as client-server pattern, 219

Wrappers, 129

Writer role in component-and-connector views, 335

WS*, 108110

WSDL (Web Services Description Language), 110

X-ability, 196199

X-ray view of human body, 9

YAGNI principle, 282

Yahoo! map-reduce patterns, 234

Young, Toby, 39

YouTube, 528

Zoning policies analogy in Metropolis model, 536

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
13.58.51.36