Index

Note: Italicized page locators indicate figures/tables.

4+1 approach, 404, 406–408, 408, 429

A

A-7E avionics system, 71–73, 72, 96, 96, 122

Abstract component in AADL, 474

Abstract machines, 99

layered style, 90

Abstract module, 83, 84

Abstractions for connectors, 137–138, 138

Access dependencies in layered style, 95

Accuracy as documentation need, 323

Acme language, 153

Acronyms

in directories, 355

list of, 487–489

overuse, 37

ACSPP (architecture-centered software project planning), 397

Active design reviews, 380–382

Active Reviews for Intermediate Designs (ARID), 396

Activity diagrams, 450, 450

behavior documentation, 300–302, 301

SysML, 471, 471

Actors

element use by, 262–263

use case diagrams, 458

Ada packages, 30

Adventure Builder system

activity diagram, 301

C&C view, 230

decomposition style example, 69

interface documentation, 285

multi-tiered system, 184, 184

SOA view, 172, 173

state machine diagrams, 305

uses style example, 79

Advice for question sets, 384

Affected artifacts, 241

Aggregation relations in data model style, 111, 113

Agile Alliance, 429–430

Agile environment

overview, 414–415, 415

Views and Beyond approach in, 20, 415–418, 418

Akerman, Art, 239, 246, 247, 260, 513

Alexander, Christopher, 34, 338, 355

All-view (AV) in DoDAF, 419–421, 420

Allen, R. J., 153, 287

Allocated-to relations

allocation style, 191

deployment style, 192, 196

install style, 199

SysML module view, 470

work assignment style, 203

Allocation styles, 29, 50

deployment. See Deployment style

elements and relations, 191

for end users, 322, 322

install, 198–202, 201

miscellaneous, 206–209

overview, 189–191, 190

work assignment, 202–205, 204

Allocation views, 29, 50

analysts, 322–324, 324

application builders, 320–321, 321

customers, 321–322, 321

designers of other systems, 319–320, 319

development teams, 317–318, 317

DoDAF, 426

future architects, 325–326, 325

infrastructure support personnel, 324–325, 324

maintainers, 320, 320

new stakeholders, 325, 325

project managers, 316–317, 317

SysML, 470–471, 470

testers and integrators, 318–319, 318

UML, 443–447, 443–447

Allowed-to-use relations

layered style, 87–90, 92–93, 92

module views, 57

UML module views, 434

uses style, 79

Alternative frames in sequence diagrams, 298

Alternatives in architectural decisions, 240, 242

Ambiguity

architectural documentation, 40–43

UML, 447–449, 448–449

Ambler, Scott W., 117

Analysis

architecture document reviews, 380, 395

module views for, 59–60

Analysis role, layered style for, 91

Analysts

architecture documentation for, 14

documentation needs, 322–324, 324

interface documentation for, 279

Andres, Cynthia, 414, 430

Angle brackets (<< >>), 433

Anonymous instances, 438

ANSI/IEEE Std 1471-2000. See ISO/IEC 42010

Anticrises in architectural decisions, 248

Application builders’ documentation needs, 320–321, 321

Application programming interfaces (APIs), 280

Application-specific types in C&C views, 130

Approved status for architectural decisions, 249

Araujo, I., 247

ArchE tool, 85

combined views, 255–256

generalization style example, 85, 86

publish-subscribe style, 177–178, 177

Architects

allocation styles for, 325–326, 325

architecture documentation for, 15

Architectural decisions documentation

alternatives, 242

choices, 242–244

ontology, 247–250, 248–249

payback, 245–246

purpose, 239

templates, 239–242

Architectural frameworks in ISO/IEC 42010, 404

Architectural knowledge field, 247

Architecture Analysis and Design Language (AADL), 153, 197, 305, 312

behavior documentation, 482–484, 483

C&C view, 478–481, 479, 481

deployment view, 481–482, 482

interface documentation, 484

introduction, 473–474, 475

module style, 475–477, 476–478

summary, 484–485

Architecture cartoons, 339

Architecture-centered software project planning (ACSPP), 397

Architecture description languages (ADLs)

C&C views, 139

description, 11

notations, 53

Architecture document reviews, 375

active design reviews, 380–382

example construction and conducting, 393–395

question sets, 382–393, 384

steps, 376–380

Architecture documentation

for changing architectures, 20–21

as decision making, 246–247, 247

economics, 18–19

packages, 362–369

purpose, 9–10

and quality attributes, 17–18

seven rules, 36-44

SysML, 466

terms, 10–12

uses and audiences, 12–16

beyond views, 351, 351

Views and Beyond approach, 19–20

Architecture Expert (ArchE) tool

combined views, 255–256

generalization style example, 85, 86

publish-subscribe style, 177–178, 177

Architecture overview presentations, 364–365

Architecture patterns, 32–36

Architecture perspectives, 410–411

Architecture styles. See Styles

Architecture Tradeoff Analysis Method (ATAM), 378, 394

Architecture views. See Views

Architectures, product-line, 234

Arguments in architectural decision templates, 240, 242

Army Training Information Architecture-Migrated (ATIA-M)

decomposition style example, 69, 70

uses style example, 79, 80

Arnold, Ken, 187

Arrows

C&C diagrams, 440, 447–448

confusion from, 41–43

UML diagrams, 300–302, 301, 440

Artifacts

architectural decision templates, 241

documents as, 11

UML, 444, 444

Aspect-oriented programming (AOP), 104, 107–108, 108–109

Aspect-oriented software development (AOSD) movement, 108

AspectJ language, 107, 122

Aspects style

elements, relations, and properties, 104–105

examples, 106, 107

notations, 105–106, 106

overview, 104

purpose, 105

relation to other styles, 106

UML module views, 434–435

Aspects views, combined, 255

Associations

UML, 448, 448

view-to-view, 251, 353–354, 354

Assumptions in architectural decision templates, 240–242

Asynchronous calls, 42

Asynchronous communication

behavior documentation, 292

SOA style, 171

ATAM (Architecture Tradeoff Analysis Method), 378, 394

ATM banking system

AOP example, 107–108, 108–109

client-server example, 165–166, 165

Attachment relations

C&C views, 126–127, 131–132

client-server style, 163

peer-to-peer style, 167

pipe-and-filter style, 158

publish-subscribe style, 174

shared-data style, 179

SOA style, 171

UML connectors, 142–143, 143

Attack resistance in deployment style, 195

Attribute-Driven Design (ADD) method, 345–347

Audiences for architecture documentation, 12–16

Authors in architectural decisions, 248–249

Availability

deployment style, 195

documentation needs, 323

Available options for variation points, 237

Avritzer, A., 213, 214

B

Bach, Maurice, 98

Bachmann, Felix, 373, 509

Background threads, 478

Backgrounds for presentations, 369–370

Backup modes in AADL, 482

Balconies, 34

Ban decisions in architectural decisions, 248

Bandwidth in deployment style, 194

Barker, Richard, 116

Bass, Len, 5, 32, 47, 71, 122, 510

Batch sequential style, 157

Beck, Kent, 414, 430

Behavior Annex standard in AAL, 483

Behavior documentation, 289–290

AADL, 482–484, 483

communication types, 291–293, 292

DoDAF, 426

location, 306

notation, 293–306, 295–301, 304–305

purpose, 306–308

questions to answer, 290–291

SysML, 471, 471

UML, 449–459, 449–459

view documentation, 340

Behavior Hiding Module in A-7E avionics system, 71, 72

Bell LaPadula framework, 482–483

Bianco, Phil, 187, 287

Big design up front (BDUF), 415

Binding time of options for variation points, 237

Black-box testers, documentation needs, 318–319, 319

Blank sections in documentation, 44

Bloch, Joshua, 286

Boehm, B., 428

Booch, Grady, 4, 122, 311

Boolean algebra, 280

Box-and-line diagrams, 40

Bridging, layer, 88

Bridging elements, 26, 259

Britton, Kathryn Heninger, 14

Brooks, Frederick P., Jr., 40, 81, 147

Build-versus-buy decisions, 66

Buschmann, Frank, 33–34, 48, 187, 356

Buses in AADL, 474

Business managers, architecture documentation for, 15

Business Process Execution Language (BPEL) standard

notations, 302–303

obtaining, 311

orchestration server for, 170

Business Process Modeling Notation (BPMN), 303

C

C&C styles. See Component-and-connector (C&C) styles

C&C views. See Component-and-connector (C&C) views

CAFCR model, 25

Cai, Y., 213, 214

Call-return connectors

peer-to-peer style, 167

SOA style, 170–171

Call-return styles, 156, 157, 161–162

client-server, 162–166

peer-to-peer, 166–169, 169

service-oriented architecture, 169–172, 172

Callbacks in layered architecture, 100

Calls procedure in C&C view, 150

Candidate view lists, 330–331

Carroll, Lewis, 352

Cataldo, M., 210

Categories

architectural decisions, 249

architecture styles, 29, 49–50

Challenged status for architectural decisions, 249

Chen, Peter, 116, 118, 122

Child modules in generalization style, 82

Child view packets in context diagrams, 349

Chinese Wall framework, 483

Class diagrams in UML, 436–438, 437, 447

Class inheritance in generalization style, 84

Clements, Paul, 5, 32, 47, 71, 122, 234, 320, 396, 509

Client-server connectors in C&C views, 124

Client-server style

elements, relations, and properties, 162–164

examples, 164–166, 165

overview, 162

purpose, 163–164

relation to other styles, 164

Cockburn, Alistair, 311, 414, 416, 430

Color in layered style, 95

Combining primary presentations and context diagrams, 347–348, 348

Combining views, 250–251

associations between views, 251

considerations, 254–255, 328–329

examples, 255–257, 256–258

process, 252–254, 252–253, 331–332

Comment boxes, 225

Commercial off-the-shelf (COTS) components, 330

Common Language Runtime (CLR), 99

Communicating processes, 182–183

Communication

architectural decision payback, 246

behavior documentation, 291–293, 292

layered style for, 91

module views for, 60

SOA style, 171

Communication capacity matrices (CCMs), 211–212

Communication diagrams

behavior documentation, 299–300, 300

UML, 453–454, 454

Competence-center style, 208

Complex connectors in C&C views, 135–136, 135

Complexity in module relations, 210–212

Component-and-connector (C&C) styles, 29, 50

communicating processes, 182–183

crosscutting issues, 182–185, 184

data flow. See Data flow styles

dynamic creation and destruction, 184

introduction, 155–157, 157

repository, 178–182, 181

tiers, 183–184, 184

Component-and-connector (C&C) views

AADL, 478–481, 479, 481

analysts, 323–324, 324

application builders, 321, 321

combined, 255

connectors, 135–138, 135

customers, 321, 321

data flow and control flow models, 146–148

designers of other systems, 319–320, 319

development teams, 318, 318

DoDAF, 425–426

elements, 126–129

end users, 322, 322

future architects, 325–326, 325

infrastructure support personnel, 324–325, 324

maintainers, 320, 320

new stakeholders, 325, 325

notations, 132, 133, 139–146, 140–145

overview, 123–126, 125

primary presentations, 347

properties, 126, 133–134, 134

purpose, 127, 136–137

relation to other kinds of views, 148–150, 149

relations, 126, 131–132, 133

style specialization, 221–222

SysML, 469, 469

testers and integrators, 318, 319

types and instances, 129–131

UML, 438–443, 439–442, 460

Components, 29-32

C&C views, 123, 127–128

in multiple views, 349

replicating, 233, 235–236

UML, 139–140

UML for C&C views, 438–443, 439–442

Composite state in state machine diagrams, 304, 457

Comprehensive models

behavior, 294

notations, 303–306, 304–305

Comprises relations in architectural decisions, 250

Computational models, 155–157

client-server style, 163

peer-to-peer style, 167

pipe-and-filter style, 158

publish-subscribe style, 174

shared-data style, 179

SOA style, 172

Concept phase in architecture document reviews, 376

Concepts of operations (CONOPS) in DoDAF, 420

Conceptual data model, 110, 110

Concurrency

activity diagrams, 301–302

C&C views, 134

Concurrency views for viewpoint sets, 409, 412–413

Conditional branching in activity diagrams, 302

Conditions of applicability for variation points, 237

Configuration management, 368

Configuration parameters for interfaces, 276

Conflicts With relations in architectural decisions, 250

Conformance checkers, architecture documentation for, 15

Conformance points, 389

Connecting elements, 4–5

Connectors

abstractions, 137–138, 137

C&C views, 123, 128–129, 135–138, 135

publish-subscribe style, 174

shared-data style, 179

SOA style, 170–171

UML, 142–143, 438–443, 439–442

Consistency in presentations, 370

Constants in interfaces, 274

Constrains relations in architectural decisions, 250

Constraints

allocation styles, 191

aspects style, 105

behavior documentation, 293

C&C views, 126

client-server style, 163

data model style, 111

decomposition style, 67

deployment style, 192

generalization style, 83

install style, 199

layered style, 89

model, 172

module views, 56

peer-to-peer style, 167

pipe-and-filter style, 158

publish-subscribe style, 175

sequence diagrams, 298

shared-data style, 179

style guides, 51

uses style, 75

work assignment style, 203

Construction, module views for, 59

Containment relations in install style, 199

Context diagrams, 225–226

child view packets, 349

combining primary presentations with, 347–348, 348

content, 228–229

notations, 229–231, 230–231

supporting documentation, 229

view documentation, 340–343

vocabulary of view for, 226–228, 226–228

Context views, 341–343

Control flow models in C&C views, 146–148

Control information in documentation, 351–356, 354–355

Conveying risk, architectural decisions for, 246

Conway, M. E., 209, 214

Coordination views, 209–213

Copy-migrates-to relations in deployment style, 192–193

Costs

architectural decisions, 249

architecture documentation, 18–19

combined views, 255

CPU properties in deployment style, 193

Creates, reads, updates, or deletes data (CRUD) matrices, 118

Cripps, P., 360

Criticality in question sets, 384

Crosscuts relations

aspects style, 104–105

module views, 57, 435, 435

Crow’s foot ERD notation, 116, 116

Crystal Clear approach, 414

CSP language, 304–305

Currency in architectural documentation, 44–45

Customers, 15, 321–322, 321

D

Dahl, Ole-Johan, 122

Dashofy, E. M., 5

Data accessor component in shared-data style, 179

Data-centric approach in DoDAF, 427

Data communication in behavior documentation, 292

Data elements, 4

Data entities in data model style, 111

relationships, 57, 62, 109, 110, 111, 116, 117, 118, 120

Data flow diagrams, 38–43

Data flow models in C&C views, 146–148

Data flow styles, 156–157, 157

call-return, 161–162

client-server, 162–166

event-based, 172–178, 173, 177

peer-to-peer, 166–169, 169

pipe-and-filter, 158–161, 161

service-oriented architecture, 169–172, 172

Data in AADL, 474

Data integrity, 115

Data model style

elements, relations, and properties, 111–113, 113–114

entities, 118–119

examples, 118, 119

notations, 116–117, 116–117

overview, 109–111, 110–111

purpose, 111, 114–115

relationships, 57, 62, 109, 110, 111, 116, 117, 118, 120

relations to other styles, 117–118

UML module views, 435–436, 436

Data ports in AADL, 479–480

Data reading and writing connectors in shared-data style, 179

Data stores style, 207

Data transfer objects (DTOs), 98

Data Types and Constants section in interface documentation, 283

Data types in interfaces, 274, 283

Database access connectors in C&C views, 124

Database administrators, architecture documentation for, 15

Database management systems (DBMSs), 178

Date, C. J., 113, 122

de Boer, R. C., 260

de Mille, Agnes, 25

Debugging, uses style for, 82

Decided status in architectural decisions, 249

Decision making, architecting as, 246–247, 247

Decisions in architectural templates, 240

Decomposition refinement, 218–219, 218–219

Decomposition relation, 66

Decomposition style, 65

elements, relations, and properties, 66–67, 67

examples, 69–73, 70

notations, 67–68, 68

overview, 65–66

purpose, 67

relation to other styles, 68–69

UML module views, 433, 433

Decomposition views in combined views, 255–256, 256

Denial of service, 323

Department of Defense Architecture Framework (DoDAF), 377, 404, 419

documentation strategies, 426

overview, 419–420, 420

and software architecture, 421

version 2.0, 427, 427

and Views and Beyond, 421–425

Dependability in client-server style, 164

Dependencies

in layered style, 95

UML module views, 433–434, 434

variation point options, 237

Dependency arrows in C&C diagrams, 447–448

Dependency structure matrices (DSMs)

layered style, 101–102, 102–103

module views, 62

uses style, 77, 78

Depends-on relations

module views, 57, 60, 61

modules, 49

SysML module view, 468

uses, 74–75, 81

Depends on the correctness of relation in architecture views, 24

Deployers, architecture documentation for, 15

Deployment style

elements, relations, and properties, 192–194

notation, 196–198, 196

overview, 191–192

purpose, 194–195

relation to other styles, 197

UML allocation view, 443–445, 443–445

Deployment views, 22

4+1 approach, 407

AADL, 481–482, 482

combined views, 255, 257, 257–258

Rozanski and Woods viewpoint sets, 409, 412–413

Deprecated methods, 273

DeRemer, F., 64

Descriptions, architecture, 11

Descriptive architecture documentation, 12

Descriptive completeness, 222–225, 223–225

Design approaches, documenting, 356

Design idioms, 33

Design issues for interfaces, 277

Design reviews, active, 380–382

Design Structure System, 101

Design vs. architecture, 6–9

Designers, architecture documentation for, 15

Designers of other systems, documentation needs, 319–320, 319

Detailed design, 7–8

Details in architecture document reviews, 379, 394–395

Developers, interface documentation for, 278–279

Development activities in behavior documentation, 306–307

Development phase in architecture document reviews, 377

Development teams, documentation needs, 317–318, 318

Development views in viewpoint sets, 409, 412–413

Devices in AADL, 474

Diacrises in architectural decisions, 248

Diagrams

activity. See Activity diagrams

class, 436–438, 437, 447

communication, 299–300, 300, 453–454, 454

context. See Context diagrams

ERDs, 62, 116, 116

interaction overview, 455–456, 456

interfaces, 268–270, 269–270

limitations, 38–43

sequence. See Sequence diagrams

state machine, 303–304, 304, 457, 458

timing, 302, 454, 455

use case, 458, 459

Dickinson, Emily, 375

Dijkstra, Edsger W., 36–37, 121, 242

Directional flow in AADL, 480

Directional relationships, 41–43

Directories, 355–356

Disk capacity in deployment style, 194

Distributed computing applications, 168

Document control information, 351–356, 354–355

Documentation beyond views, 350–351

behavior documentation in rationale, 306

standard organization for, 351–356, 351, 354–355

variations, 356–357

Documentation capacity matrices (DCMs), 211–212

Documentation overview, 9–12

Documentation packages. See Packages

Documentation roadmap, 352

DoDAF. See Department of Defense Architecture Framework (DoDAF)

Downstream filters in pipe-and-filter style, 159

Drawing tools in UML, 462

Dynamic architecture, 234–235

Dynamic creation and destruction in C&C styles, 184

Dynamism and dynamic architectures, 234–235

E

e-Business Reference Architecture Framework, 260

E-mail communication in behavior documentation, 292

Ease of reference, organization for, 43

Eclipse UI event manager, 177

ECMA toaster model, 121, 121

Economics in architecture documentation, 18–19

Education, architecture as, 12

Eeles, Peter, 360–361, 361, 513

Element catalogs

behavior documentation, 306

view documentation, 340

whole architecture, 356–357

Element developers, interface documentation for, 278

Element-level behavior documentation in DoDAF, 426

Element properties in styles, 52–53

Element substitution, 233, 235

Elements, 4–5

allocation styles, 191

aspects style, 104–105

bridging, 26, 259

C&C views, 126–129

client-server style, 162–163

data model style, 111–113

decomposition style, 66–67, 67

deployment style, 192

generalization style, 83

hierarchical, 8

install style, 199–200

interfaces, 262–263

layered style, 89

module views, 56–57

peer-to-peer style, 166–167

pipe-and-filter style, 158–159

publish-subscribe style, 174–175

shared-data style, 179

SOA style, 169–171

style guides, 50

tools for, 371

uses style, 75

in variability, 233

variation points, 236

work assignment style, 202–203

Ellipses (...), 224

Emery, David, 375, 400, 513

Emphasis in presentations, 369

Enables relations in architectural decisions, 250

Encapsulation in module views, 58

End users, documentation needs, 322, 322

Enterprise Architect tool, 472

Enterprise service bus (ESB), 170

Entities in data model style, 118–119

Entity-relationship diagrams (ERDs)

data model style, 116, 116

module views, 62

Entry actions in state machine diagrams, 457

Environmental elements

allocation styles, 190–191

allocation views, 443, 470

deployment style, 192, 196, 443

install style, 199–200, 445

work assignment style, 203, 446

EOSDIS Core System (ECS)

uses style example, 79, 80

view selection example, 329–332

work assignment views, 204, 204

Error handling

in interface documentation, 283–284

interfaces, 273–276, 276

terms, 277–278

Error Modeling Annex in AADL, 473, 483, 484

Error state machine in AADL, 483

Evaluators, architecture documentation for, 15

Event-based styles, 156, 157, 172–178, 173, 177

Event ports in AADL, 479

Execution-migrates-to relations in deployment style, 192–193

Executive decisions in architectural decisions, 248

Existence decisions in architectural decisions, 248

Exit actions in state machine diagrams, 457

Expected answers in question sets, 383

Exploratory robot, 73, 74

Extends relation

AADL module style, 475

use case diagrams, 459, 459

Extension, generalization style for, 84

External memory from architectural decisions, 245

Extreme Programming, 414

F

Failover Request/Reply connectors, 144

Fairbanks, George, 289, 513–514

Farenhorst, Rik, 246, 260, 514

Fault tolerance

AADL, 482

deployment style, 194

Feature-Driven Development, 414

Feiler, Peter H., 312, 473–474, 476, 483, 514

Felsing, John, 414, 430

Filters in pipe-and-filter style, 158–159

Final state in state machine diagrams, 457

Finkelstein, Clive, 116

Fitness of purpose

architectural documentation, 44–45

document reviews for, 375

Flight Operations Segment (FOS) in ECS module, 204

Flint, Emily, 375

Flow charts in activity diagrams, 450

Flurry, G., 260

Focus in behavior documentation, 291

Forbids relations in architectural decisions, 250

Fork nodes in activity diagrams, 301

Formal notations

architecture views, 53

C&C views, 139

deployment style, 197

Fowler, Martin, 48, 122, 311

Frames in UML, 451, 452

Frameworks in variability, 233, 237

Freeman, Eric, 187

FSP language, 304–305

Functional views in viewpoint sets, 408, 411–413

Functionality in C&C views, 133

Future architects, documentation needs, 325–326, 325

G

Gamma, E., 23, 34, 178

Garlan, David, 4, 153, 187, 287, 510

Gelernter, D., 187

Generalization concept in AADL module style, 475

Generalization/specialization relations in data model style, 111, 113

Generalization style

elements, relations, and properties, 83–84

examples, 85–87, 86

notations, 84, 85

overview, 82–83

purpose, 83–84

relation to other styles, 84

UML module views, 434

Generalization views, combined, 255–256, 256

Generalization vs. inheritance, 120

Generators in variability, 233

Gives computational work to relation, 24

Global policies, 349–350

Glossary of terms

in documentation beyond views, 355

list, 491–496

Gluch, David P., 312

Gnutella peer-to-peer networks, 168–169, 169

Gorton, Ian, 220

Graphical user interfaces in publish-subscribe style, 174

Groups in architectural decision templates, 240

Guard constraints on transitions, 457

Guillemets (<< >>), 433

H

Hansson, Jörgen, 483

Hardware components in AADL, 474

Hardware Hiding Module in A-7E avionics system, 71, 72

Harel, David, 303, 311

Harvey, Miles, 350

Henderson, Steuart, 9

Henney, Kevlin, 48, 187

Herbsleb, James D., 209–213, 514

Hierarchical elements, 8

High Level Architecture (HLA), 187

Hilliard, Rich, 375, 400, 514

History in architectural decisions, 248–249

History state in state machine diagrams, 457

Hoare, C. A. R., 40

Hofmeister, Christine, 24, 64, 214, 336

Hohpe, Gregor, 187

Hudak, John, 312

Hughart, Barry, 44

Humphrey, Watts S., 379

Hupfer, Susanne, 187

Hybrid styles in combined views, 253

Hybrid threads, 478

Hyman, Isabelle, 399

Hypertext, 365–366

Hypertext Markup Language (HTML), 164–165

Hypertext Transfer Protocol (HTTP), 165

I

Idea status in architectural decisions, 249

IDEF1X notation, 116

Identification and overview information in ISO/IEC 42010, 405

Identifying relation in data model style, 113

Identity in interfaces, 271

Implementation constraints in module views, 59

Implementation information property, 58–59

Implementation refinement, 219, 220

Implementation style, 207

UML allocation view, 445–446, 446

Implementation views

4+1 approach, 406–407

combined views, 254

use by infrastructure support personnel, 324

Implementers, architecture documentation for, 15

Implications in architectural decision templates, 240–241

Implicit invocation in publish-subscribe style, 175

Include relations in use case diagrams, 459, 459

Incremental development, uses style for, 81–82

Indexes in directories, 355

Informal notations

architecture views, 53

C&C views, 139

context diagrams, 229–230, 230

decomposition style, 67–68

deployment style, 196

install style, 200, 201

layered style, 92–95, 92–95

module views, 60, 61

uses style, 76

work assignment style, 203

Information Engineering approach, 116

Information systems, data model style for, 115

Information views in viewpoint sets, 409, 412–413

Infrastructure support personnel, documentation needs, 324–325, 324

Inheritance

vs. generalization, 120

generalization style, 84

as a variation mechanism, 233

Initial state in state machine diagrams, 457

Install style

elements, relations, and properties, 199–200

notations, 200, 201

overview, 198–199

purpose, 200

relation to other styles, 202

UML allocation view, 445–446, 446

Install views in combined views, 255

Instances

AADL, 480, 481

of components and connectors, 129–131

UML, 448

UML C&C views, 438, 439

Integration testing, uses style for, 82

Integrators

architecture documentation for, 16

documentation needs, 318–319, 319

interface documentation for, 278–279

Interaction overview diagrams in UML, 455–456, 456

Interactions of connectors, 129

Interface Definition Language (IDL), 279

Interface delegation in C&C views, 126, 132

Interface documentation, 261

AADL, 484

behavior documentation in, 306

data types and constants, 274

diagrams, 268–270, 269–270

error handling, 273–276, 276, 283–284

examples, 281–285

extended by generalization, 263

guidelines, 266–267

identity, 271, 281

multiple, 270

overview, 261–263, 265–268

provided vs. required, 264–265

quality attributes, 276–277, 284

resources, 271–274, 279

stakeholders, 278–279

standard organization, 271–277, 271, 276

syntactic information, 279–280

terms, 280–281

UML, 460–461, 460–461

variability, 276

Interface inheritance in generalization style, 84

Interface realization in generalization style, 83–84

Interfaces

layered style, 90–91

SysML, 472, 472

view documentation, 340

International Council on Systems Engineering (INCOSE), 465

Invokes-services roles in C&C views, 128

Is-a relations

generalization style, 82

module views, 57

modules, 49

SysML module view, 468

UML module views, 434

Is an Alternative To relations in architectural decisions, 250

Is Bound To relations in architectural decisions, 250

Is-part-of relations

A-7E avionics system, 71

architecture views, 24

decomposition style, 65–67

module views, 57, 60, 61

modules, 49

SysML module view, 468

Is Related To relations in architectural decisions, 250

ISO/IEC 42010

overview, 400–404, 401, 403

question sets for, 391–393

Views and Beyond approach, 404, 405

Issues in architectural decision templates, 240

Iterations in Agile projects, 414

Ivers, James, 510

J

Jackson, Michael, 38, 260

Jacobson, Ivar, 4, 122, 187, 311

Jain, Prashant, 187

Jargon, 37

Java EE application, 98–99, 99

Java modules, ATIA server-side, 69, 70

Java Virtual Machine (JVM), 99

JavaScript Object Notation (JSON), 279

JavaServer Faces (JSF) action classes, 98–99

Jazayeri, Mehdi, 2

Jefferson, Thomas, 18

Johnson, Samuel, 36

Join nodes, activity diagrams, 301

K

Kazman, R., 5, 32, 47, 71, 122, 396

Kiczales, Gregor, 122

Kircher, Michael, 187

Klein, John, 333–335, 514

Klein, M., 47, 396

Knuth, Donald, 241

Koala language, 306

Komiya, S., 260

Kotermanski, Rick, 187

Kron, H. J., 64

Kruchten, Philippe, 24, 48, 221, 239, 515

4+1 approach, 360, 404, 406–408, 408, 429

architectural decisions, 247–249, 248–249, 260

Kylmäkoski, Roope, 336

L

Laddad, Ramnivas, 122

Lago, P., 247

Language of quality attributes, 17

Layer bridging, 88

Layer diagrams, 38–39

Layered process for combined views, 253

Layered style

calling higher layers, 100–101

Dependency Structure Matrix for, 101–102, 102–103

elements, relations, and properties, 89–90

examples, 97–99, 97, 99

notations, 92–95, 92–95

overview, 87–89, 87–88

purpose, 89–91

relation to other styles, 96–97, 96

UML module views, 434, 435

Layered views, 404

combined views, 255

and portability, 22

Lewis, Grace, 287, 474

Life-cycle phases in architecture document reviews, 376–377

Linda programming language, 187

Links in communication diagrams, 299–300, 300

Liskov, Barbara, 122

Little, Reed, 510

Local calls vs. remote calls, 42

Local change and variation, generalization style for, 84

Local communication in behavior documentation, 293

Logical data model, 110, 110

Logical views in 4+1 approach, 406

Lollipop/socket notation, 141, 141, 268, 269

Loop frames in sequence diagrams, 298

M

MagicDraw tool, 472

Mailing lists, publish-subscribe style for, 174

Maintainers

architecture documentation for, 16

documentation needs, 320, 320

interface documentation for, 278

Major design approaches, documenting, 356

Management information in module views, 59

Many-to-many associations in views, 251

Many-to-many relations in data model style, 111

Many-to-one associations, 251

Mapping

module and C&C views, 149

to requirements, 17, 357–362, 358, 361, 371

to source code units, 59

between views, 353–354, 354

Mars Climate Orbiter, 281

Mars exploratory robot, 73, 74

Martin, James, 116

McGregor, John D., 465, 515

Medvidovic, N., 5, 153

Memory for AADL, 474

Memory properties in deployment style, 193

Merge nodes in activity diagrams, 301–302

Merson, Paulo, 187, 287, 373, 511

Message sequence charts, 302

Messaging connectors in SOA style, 171

Meta-Model in AADL, 473

Microsoft .NET Pet Shop application, 118

Migrates-to relations in deployment style, 192–193

Migration triggers in deployment style, 194

Mode transitions in AADL, 482

Model-view-controller (MVC) pattern, 174

Modeling tools in UML, 462

Modifiability

documentation needs, 323

layered style, 98–99

Modula modules, 30

Modularization, 209–212

Module decomposition and layered style, 96, 96

Module interfaces in UML, 460

Module structure in architecture views, 24

Module styles, 29, 65

AADL, 475–477, 476–478

aspects, 104–108, 106–109

data model. See Data model style

decomposition. See Decomposition style

generalization. See Generalization style

layered. See Layered style

use. See Uses style

Module views

analysts, 323–324, 324

application builders, 321, 321

vs. C&C view, 148–149, 149

customers, 321, 321

designers of other systems, 319–320, 319

development teams, 318, 318

DoDAF, 426

elements, 56–57

end users, 322, 322

future architects, 325–326, 325

infrastructure support personnel, 324, 324

maintainers, 320, 320

new stakeholders, 325, 325

notations, 60–62, 61–62

overview, 55–56, 56

project managers, 317, 317

properties, 57–59, 58

purpose, 59–60

relation to other views, 63

relations, 57

subsystems, 73–74, 74

SysML, 468, 468

testers and integrators, 318, 319

UML, 433–436, 433–436

Modules, 29–32, 31

in multiple views, 349

styles, 49

Morale, uses relation for, 81

Multi-part primary presentations, 349

Multiple interfaces, 262–263, 270

N

Name property in module views, 57

Named frames in sequence diagrams, 297

Naming conventions in UML, 140

Natural language, 280

Navigable associations in UML, 440

Neighbors, J. M., 64

Nesting notation in decomposition style, 68

Nesting of states in state machine diagrams, 304

Network administrators, architecture documentation for, 16

New stakeholders, documentation needs, 325, 325

Nii, H. P., 187

Nonarchitectural design, 7

Nonexistence decisions in architectural decisions, 248

Nonidentifying relations in data model style, 113

Nord, Robert, 24, 64, 214, 336, 511

Normalization in data model style, 113, 113–114

Northrop, Linda, 234, 320

Notations

architecture views, 53

formal, 53

informal, 53

semiformal, 53

aspects style, 105–106, 106

behavior documentation, 293–306, 295–301, 304–305

C&C views, 132, 133, 139–146, 140–145

comprehensive models, 303–306, 304–305

context diagrams, 229–231, 230–231

data model style, 116–117, 116–117

decomposition style, 67–68, 68

deployment style, 196–198, 196

explaining, 40–41

generalization style, 84, 85

install style, 200, 201

layered style, 92–95, 92–95

module views, 60–62, 61–62

style guides, 51

for traces, 295–303, 295–301

uses style, 76–77, 77–78

work assignment style, 203–204, 204

Notes in architectural decision templates, 241

Nygaard, Kristen, 122

O

Object Constraint Language (OCL), 460–461

Object Management Group (OMG), 465

AADL standards, 474

IDL standard, 279

OCL standard, 460

SysML standard, 465

UML specification, 122, 311, 433

Object-oriented designs, generalization style for, 84

Object-relational impedance matching, 117

Object-relational mapping (ORM) tools, 117

Obsolesced status in architectural decisions, 250

Ockerbloom, J., 153, 287

O’Connell, Don, 419, 515

Ogilvy, David, 36

OMG. See Object Management Group (OMG)

One-to-many associations in views, 251

One-to-many relations in data model style, 111

One-to-one relations, 111

Online documentation for packages, 365–366

Ontocrises in architectural decisions, 248

Ontology in architectural decisions, 247–250, 248–249

Open questions, 357

Open-source style, 208

Operational view (OV)

DoDAF, 419, 422

Rozanski and Woods viewpoint sets, 410, 413

Optional inclusion, 233, 236

Orchestration servers in SOA style, 170–171

Order Processing Center (OPC) component in Adventure Builder, 173, 184, 230, 285

Ordering constraints in behavior documentation, 293

OSATE tools, 485

OSGi framework, 121, 121

Overhead in layered style, 91

Overlays in combined views, 252–253

Overrides relations in architectural decisions, 250

Overview presentations, 364–365

P

Packages

AADL module style, 475

architecture documentation, 349–350, 362–369

configuration management, 368

documentation beyond views, 350–357, 351, 354–355

mapping to requirements, 357–362, 358, 361

online documentation and hypertext, 365–366

release strategy, 368–369

schemes, 362–364

tooling requirements, 370–372

UML, 61, 76, 77–78, 355, 433

wikis, 365–368

Pair programming, 414

Palmer, Stephen, 414, 430

Parameterization in variability, 233

Parent modules in generalization style, 82

Parnas, David L., 24, 30, 34, 47, 48, 104, 121, 122, 209, 286–287, 396

Partial results in error handling, 278

Pascal, Blaise, 37

Patterns, architectural

and styles, 32–36

and views, 343

Paulish, D., 213, 214, 397

Payback from architectural decisions, 245–246

Peer-to-peer style

elements, relations, and properties, 166–167

examples, 168–169, 169

overview, 166

purpose, 167

relation to other styles, 168

Performance

C&C views, 133

client-server style, 164

deployment style, 194

documentation needs, 323

Pericrises in architectural decisions, 248

Perry, Dewayne, 4, 24, 33, 48

Perspectives, architecture, 410–411

Pet Shop application, 118, 119

PetStore application, 85–87, 86

Physical data model, 110, 111

Pipe-and-filter style

elements, relations, and properties, 158–159

example, 160–161, 161

overview, 158

purpose, 158–160

relation to other styles and models, 160

UML, 442–443, 442

Plain old Java objects (POJOs), 98

Platform style, 208

Plus One View, 360

Policies, global, 349–350

Politi, Michael, 311

Portability in layered style, 90, 98–99

Ports

AADL, 478–480, 479

C&C views, 127–128, 134

UML, 140, 141, 460

Prabhakar, T. V., 515

Prescriptive architecture documentation, 12

Presentations

C&C views, 347

combining with context diagrams, 347–348, 348

guidelines, 369–370

multi-part, 349

overview, 364–365

view documentation, 338–339

view packets, 344

Prieto-Diaz, R., 64

Primary presentations

C&C views, 347

combining with context diagrams, 347–348, 348

multi-part, 349

view documentation, 338–339

view packets, 344

Priorities in view selection, 329, 332

Process-steps style, 208–209

Process structure in architecture views, 24

Process views in 4+1 approach, 407

Processes in AADL, 474

Processing elements, 4

Processors in AADL, 474

Product-line architectures, 234

Product line implementation in decomposition style, 66

Product line managers, architecture documentation for, 16

Programming in the large, 30

Project managers

architecture documentation for, 16

documentation needs, 316–317, 317

interface documentation for, 279

Properties

AADL, 482–483, 483

in architectural decisions, 248

in architecture documentation, 17

aspects style, 104–105

C&C views, 126, 133–134, 134

client-server style, 162–164

data model style, 111–113

decomposition style, 66–67, 67

deployment style, 192–194

generalization style, 83

install style, 199–200

layered style, 89

module views, 57–59, 58

peer-to-peer style, 166–167

pipe-and-filter style, 158–159

publish-subscribe style, 174–176

SOA style, 169–170

style guides, 50–51

tools for, 371

uses style, 75

view documentation, 340

work assignment style, 202–203

Provided interfaces, 264–265

Provides-services roles in C&C views, 128

Pseudo-states in state machine diagrams, 457

Publish-subscribe connectors in C&C views, 124

Publish-subscribe style

elements, relations, and properties, 174–176

example, 177–178, 177

overview, 174

purpose, 175–176

relation to other styles, 176–177

Published styles and views, 343

Publisher roles in C&C views, 128

Q

Quality attributes

and architecture documentation, 17–18

decomposition style, 66

interface documentation, 284

interfaces, 276–277

and software architecture, 2–3

Questions and question sets

architecture document reviews, 379, 382–394, 384

behavior documentation, 290–291

open, 357

for supporting development, 389–391

for supporting evaluation, 386–388

R

Ran, Alexander, 2

Rapid7 approach, 335–336

Rational Unified Process (RUP)

architecture views, 24

Views and Beyond, 406–408, 408

Rationale

in architectural decisions, 239

architecture documentation, 17, 44

behavior documentation, 306

documentation beyond views, 354–355

interface issues, 277

tools for, 371

view documentation, 340–341

Rationale and Design Issues section in interface documentation, 284

Reader point of view in architectural documentation, 36–37

Reader roles in C&C views, 128

Realization concept in AADL module style, 475

Reallocating resources in variation points, 236

Redundant discussion, architectural decisions for, 246

Reentrant calls in UML, 452, 453

Refactoring Agile projects, 414

Referenced material in directories, 356

References in sequence diagrams, 298

Refinement, 218

decomposition, 218–219, 218–219

implementation, 219, 220

spectrum of design, 220–221

style specialization, 221–222

Reid, Thomas, 54

Rejected status in architectural decisions, 250

Related decisions in architectural decision templates, 241

Related requirements in architectural decision templates, 241

Relations, 5

allocation styles, 191

aspects style, 104–105

C&C views, 126, 131–132, 133

client-server style, 162–163

data model style, 111–113, 113–114

decomposition style, 66–69, 67

deployment style, 192–193

directional, 41–43

generalization style, 83

install style, 199–200

layered style, 89

module views, 57

peer-to-peer style, 166–167

pipe-and-filter style, 158–159

publish-subscribe style, 174–175

selecting, 52–53

shared-data style, 179

SOA style, 169–172

style guides, 50–51

uses style, 75

view documentation, 340

work assignment style, 202–203

Release-based style, 209

Release strategy in packages, 368–369

Relevant views, 22

Reliability

C&C views, 133

deployment style, 195

Remote calls vs. local calls, 42

Remote communication in behavior documentation, 293

Remote procedure call (RPC), 292

Repetition

architectural documentation, 37–38

across views and view packets, 349–350

Repository component in shared-data style, 179

Repository styles, 156, 157, 178–182, 181

Representation, defined, 11

Representatives of external systems, architecture documentation for, 16

Request/reply connectors in client-server style, 163

Required interfaces, 264–265

Requirements

mapping to, 17, 357–362, 358, 361

tooling, 370–372

viewpoints, 360–361

Resources, 262

C&C views, 133

deployment style, 194

in interface documentation, 281–283

interfaces, 271–274

Respondents in question sets, 383

Responsibilities in modules, 56

Responsibility property in module views, 57–58

REST connectors in SOA style, 170–171

Retrying in error handling, 278

Reuse

generalization style for, 84

interface documentation for, 279

Rhapsody tool, 472

Rich C&C connectors, 143, 143

Rings notation in layered style, 93–94, 94

Risk in architectural decisions, 246, 249

Roles in C&C views, 128, 134

Rozanski, Nick, 13, 25 37, 341–343, 350, 408–413, 409, 413, 430, 515

RSS feeds, 160, 161

Rugina, Ana-Elena, 483

Rumbaugh, James, 4, 122, 311

S

SaaS (software as a service) model, 287

Safety critical properties in deployment style, 194

Safety views, 404

Saini, Darpan, 516

SARA report, 397

Satellite system, 79, 80

Satisfy relationships in SysML, 466

Scaffidi, Christopher, 287

Schemes, packaging, 362–364

Schmerl, Bradley, 153

Schmidt, Douglas C., 187

Schwaber, Ken, 414, 430

Science Data Processing Segment (SDPS) in ECS module, 204

SCM (software configuration management), 214

Scope

architectural decisions, 248

documentation roadmaps, 352

Scrum approach, 414

Security

AADL, 482–483

C&C views, 133–134

client-server style, 164

deployment style, 195

documentation needs, 323

Security views, 404

Segmented layers in layered style, 92–93, 93

Self calls in UML, 452, 453

Semantics for resource, 272–274

Semiformal notations

architecture views, 53

C&C views, 139–146, 140–145

uses style, 76, 77–78

Send-data-to relations in decomposition refinement, 218

Separate documents in scheme packaging, 363–364

Sequence diagrams

Agile projects, 417, 418

behavior documentation, 297–298, 298–299

SysML, 471

UML, 450–453, 451–453

Servers in client-server style, 162

Service-level agreements (SLAs), 277

Service-oriented architecture (SOA) style

elements, 169, 171

example, 172, 173

module view, 266

overview, 169

properties, 169

purpose, 172

relations, 169, 171–172

Service-oriented views, 404

Service providers in SOA style, 171

Service registry in SOA style, 170

Services in call-return styles, 161

Servlets, 98

Shared-data stores, 179

Shared-data style, 178

elements, relations, and properties, 179

example, 181–182

overview, 178–179

purpose, 179–180

relation to other styles, 180–181

Shares-part-of-the-same-secret-as relations in architecture views, 24

Sharing and Reusing Architectural Knowledge (SHARK) workshops, 260

Shaw, Mary, 4, 33, 48, 153, 187, 286–287

Short iterations approach, 414

Sidecars, layers with, 94–95, 94

Siemens Four View model, 24, 214

Signatures, 280–281

Simplicity in presentations, 370

Size in layered style, 95

Slices, 73

Smalltalk classes, 30

Snyder, Alan, 122

SOA. See Service-oriented architecture (SOA) style

SOAP connectors

C&C views, 129

SOA style, 170–172

SOAP Web service

interface documentation, 285

synchronous remote calls, 42

Social networks, publish-subscribe style for, 174

Socializing decisions, architectural decisions for, 245

Society of Automotive Engineers (SAE), 312

Software architecture overview, 1–5

vs. design, 6–9

documentation overview. See Architecture documentation overview

and quality attributes, 2–3

Software as a service (SaaS) model, 287

Software components in AADL, 474

Software configuration management (SCM), 214

Software Decision Hiding Module in A-7E avionics system, 71–73, 72

Software elements

allocation styles, 191

deployment style, 192

install style, 199

work assignment style, 203

Software Engineering Institute, 47

Software interfaces. See Interfaces

Software product lines, 320

Soni, Dilip, 24, 64, 214, 336

Specializations

allocations, 208

C&C views, 130–131

styles, 221–222

Specification, defined, 10

Specification and Description Language (SDL), 302, 306

Spectrum of design, 220–221

Spivey, J. M., 311

Spring framework, 222

Stack notation in layered style, 92, 92

Stafford, Judith A., 11, 511

Staging in view selection, 329

Stakeholder/view tables, 326–327

Stakeholders, 15–16

architecture documentation for, 13

documentation roadmaps, 352

interface documentation, 278–279

ISO/IEC 42010, 405

quality attributes for, 18

question sets, 383, 385–386

view selection for, 316–328, 317–322, 324–326

Standard organization

architectural documentation, 43–44

for documentation beyond views, 351–356, 351, 354–355

variations, 356–357

for interface documentation, 271–277, 271, 276

for style guides, 50–51

for views, 337–341

variations, 344–349, 348

State machine diagrams, 303–304, 304, 457, 458

Status in architectural decision templates, 240

Status indicators in interfaces, 277

Stereotypes in UML, 62, 62, 433, 441

Steward, Donald, 101

Stimulation communication, 292

Storage unit capacity in deployment style, 194

Stream of consciousness writing, 37

Style guides, 26

outline, 50–51

presentations, 369

Style specialization, 221–222

Styles, 25

allocation. See Allocation styles

categories, 29, 49–50

C&C. See Component-and-connector (C&C) styles

element and relation properties, 52–53

examples, 54

module. See Module styles

notations for architecture views, 53

overview, 25–28, 27–28

terms, 29–36

Subjects

architecture document reviews, 378–379, 394

use case diagrams, 459

Subprograms in AADL, 474

Subscriber role in C&C views, 128

Substates in state machine diagrams, 304

Subsumes relations in architectural decisions, 250

Subsystems, 73–74, 74

decomposition style, 66

Support phase in architecture document reviews, 377

Supporting documentation, 341

C&C views, 125

context diagrams, 229

view packets, 344

Swim lanes in UML sequence diagrams 300–301, 450

Symbols in use case diagrams, 459, 459

Synchronous calls, 42

Synchronous communication, 292

Syntactic information, interface documentation for, 279–280

Syntax, resource, 272

SysML. See Systems Modeling Language (SysML)

System analysis and construction, architecture documentation for, 14

System context views, 341–343

System engineers, architecture documentation for, 16

System-level behavior documentation in DoDAF, 426

System overview in documentation beyond views, 353

Systems and services view (SV) in DoDAF, 419, 423–425

Systems in AADL, 474

Systems Modeling Language (SysML), 197, 465–466, 466

allocation view, 470–471, 470

architecture documentation, 466

behavior documentation, 471, 471

C&C view, 469, 469

interfaces, 472, 472

module view, 468, 468

requirements, 466, 467

summary, 472

Systems of interest in ISO/IEC 42010, 401

Szyperski, C., 30

T

Tables

DoDAF, 419

SysML, 197

uses style, 76, 80

work assignment style, 203, 204

Tagged values in UML, 441, 441

Taylor, R. N., 5, 153

TDDT (Training and Doctrine Development Tool), 69

Team allocation in decomposition style, 66

Team morale, uses relation for, 81

Technical standards view (TV) in DoDAF, 419, 425

Telephone communication, 292

Templates. See also Standard organization.

architectural decisions, 239–242

architecture perspectives, 411

question sets, 384, 384

in variability, 233

Tentative status in architectural decisions, 249

Terms

in directories, 355

glossary, 491–496

Test-driven development in Agile projects, 414

Test information in module views, 59

Testers

architecture documentation for, 16

documentation needs, 318–319, 318

interface documentation for, 278

Textual representation of views

decomposition view for A-7E example, 72

module views, 61

visibility in module views, 68

work assignment view for ECS, 79–80

The Open Group Architecture Framework (TOGAF), 377

Threads in AADL, 474, 478–480

Three-part rule in architecture patterns, 34

Tiered client-server views, 257, 257–258

Tiers

C&C styles, 183–184, 184

C&C views, 134

layered style, 96–97

Time-based stimulation in behavior documentation, 293

Time constraints in sequence diagrams, 298

Time stamps in architectural decisions, 248–249

Timed threads, 478

Timely development, architectural decisions for, 246

Timing diagrams in UML, 302, 454, 455

Tools

for combined views, 255

requirements, 370–372

UML, 461–463

Top-level context diagrams (TLCDs), 225–226

Topcased project, 472

Traceability of requirements viewpoints, 360

Traces

behavior documentation, 294–295

notations for, 295–303, 295–301

for semantic information, 280

Trachtenberg, Marvin, 399

Training and Doctrine Development Tool (TDDT), 69

Transclusion process, 368

Transitions in state machine diagrams, 303–304, 304, 457

Tuple spaces, 187

Types

of components and connectors, 129–131

UML, 448, 449

Tyree, Jeff, 239, 516, 246, 247, 260

U

UML. See Unified Modeling Language

Unified Modeling Language (UML), 431

activity diagrams, 300–302, 301, 450, 450

allocation view, 443–447, 443–447

ambiguity traps, 447–449, 448–449

aspects style, 105–106, 106

assembly connectors, 142, 146, 440, 440

associations, 57, 117, 117, 197, 251–255, 251–253, 436–437, 440, 448, 448, 459, 459

behavior documentation, 296–305, 296–301, 449–459, 449–459

C&C views, 132, 133, 139–146, 140–145, 438–443, 439–442

class diagrams, 436–438, 437, 447

communication diagrams, 299–300, 300, 453–454, 454

components, 74, 133, 135, 137, 139–146, 140–145, 151, 197, 198, 219, 219, 268, 269, 286, 431, 432, 438–445, 439–444, 448, 449, 451, 451, 460, 461

context diagrams, 230–231, 231

data model style, 117, 117

decomposition refinement, 218–219, 219

decomposition style, 68, 68

delegation connectors, 132, 133, 219, 441, 442

deployment style, 197, 198

generalization style, 84, 85

interaction overview diagrams, 455–456, 456

interface documentation, 268, 269, 460–461, 460–461

introduction, 431–433, 432

layered style, 95, 95

module views, 61–62, 61–62, 433–436, 433–436

packages, 61, 61, 68, 68, 74–77, 77–78, 95, 231, 268, 269, 355, 431, 432, 433–435, 433, 435, 437, 446, 449

port, 127, 140–141, 141, 146, 149, 151, 169, 220, 286, 438, 439, 441, 460

provided interface, 61, 141–142, 264–265, 268, 269, 285, 437, 438, 439, 440–441, 440, 460, 460

required interface, 141–142, 264–265, 268, 269, 285, 437, 438, 439, 440–441, 440, 460, 460

sequence diagrams, 297–298, 298–299, 450–453, 451–453

state machine diagrams, 303–304, 304, 457, 458

SysML, 465–466, 466

timing diagrams, 302, 454, 455

tools, 461–463

use case diagrams, 458, 459

use cases, 296, 296–297

uses style, 76, 77–78

Uncertainty relations between modules (UM), 210–212

Unit Training Management Configuration (UTMC), 69

Universal styles, 26

UNIX System V operating system, 97–98, 97

Usability in documentation needs, 323

Usage Guide section in interface documentation, 277, 285

Use case diagrams, 458, 459

Use cases

4+1 approach, 407

behavior documentation, 296, 296–297

documenting, 356

User stories in Agile projects, 414

Users, architecture documentation for, 16

Uses of architecture documentation, 12–16

Uses relations, 81–82

layered style, 97

module views, 57

UML, 448

Uses structure in architecture views, 24

Uses style, 74–75

elements, relations, and properties, 75

examples, 79–80, 80

notations, 76–77, 77–78

purpose, 75–76, 76

relation to other styles, 79

UML module views, 433

uses relation, 81–82

Uses views in combined views, 255–256, 256

Utilization phase in architecture document reviews, 377

UTMC (Unit Training Management Configuration), 69

V

van der Linden, Frank, 2

van Gogh, Vincent, 215

van Vliet, H., 247

Variability, 231

interfaces, 276, 284

Variability guides, 232, 340

Variation points, 231, 232

documenting, 235–238, 238

dynamism and dynamic architectures, 234–235

variation mechanisms, 232–233

Versions, architecture documentation for, 21

Vertical slices, 73

Vicknair, W., 260

View packets, 344–347

View selection, 315–333

examples, 329–335

prioritizing and staging, 329, 332

stakeholder documentation needs, 316–328, 317–322, 324–326

stakeholder/view tables, 326–327

View-to-view associations in documentation beyond views, 353–354, 354

Viewpoints

ISO/IEC 42010, 402–403, 403, 405

requirements, 360–361, 361

Rozanski and Woods viewpoint sets, 408–413, 409, 413

Views, 22–23

associations between, 251

combining. See Combining views

component-and-connector. See Component-and-connector (C&C) views

coordination, 209–213

documentation beyond views, 350–356, 351, 354–356

in documentation packages, 337, 363–365

repetition across, 349–350

standard organization, 337–344, 338

standard organization variations, 344–349, 348

documentation roadmaps, 352

history of, 23–25

ISO/IEC 42010, 401

mapping between, 353–354, 354

module. See Module views

notations, 53

and published styles and patterns, 343

Views and Beyond approach, 19–20, 339

in Agile development environment, 20, 415–418, 418

architecture decisions, 239

architecture documentation, 19–20

context diagrams, 341

compared to DoDAF, 421–425

compared to ISO/IEC 42010, 400–405

compared to Rozanski and Woods, 411–413

compared to RUP, 406–408

Virtual buses in AADL, 474

Virtual machines, 99

layered style, 90

Virtual processors in AADL, 474

Visibility of interface property in module views, 58, 58

Visual styles in presentations, 369

Vitruvius, 399

Vocabulary of view for context diagrams, 226–228, 226–228

Voelter, Markus, 356

von Goethe, Johann Wolfgang, 289

W

Web-based documentation, 365–366. See also Wikis.

Web modules, ATIA server-side, 69

Web Services Description Language (WSDL), 279

Weeks, Edward, 375

Weiss, David M., 121, 122, 380, 396, 516

Weiss, M., 247

Wikis, 365–368

Windowsapps, 69

Wolf, Alexander L., 4, 11, 24, 33, 48

Wolff, Bobby, 187

Woods, Eoin, 3, 13, 25, 37, 341–343, 350, 408–413, 409, 413, 430, 516

Work assignment style, 205–206

elements, relations, and properties, 202–203

notations, 203–204, 204

overview, 202

purpose, 203

relation to other styles, 204–205

specializing, 208

UML, 446–447, 447

Work assignment views in combined views, 255

Work breakdown structure (WBS), 202

World Wide Web in client-server style, 164–165

Wright, Frank Lloyd, 14, 55, 316

Writer roles in C&C views, 128

Wuerges, H., 286

X

XMI model in AADL, 473

XZip component, 281

Y

Yahoo! Pipes, 160–161, 161

Yang, Chen Ning, 315

Z

Z language, 304–305, 311

Zachman, J. A., 404

Zip component API, 281–285

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

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