index [ptgmedia.pearsoncmg.com]ptgmedia.pearsoncmg.com/images/9780201895513/index/020189551x... ·...

15
677 Index Page numbers followed by an f or t indicate figures and tables. A Abstract class, 101, 193, 427 Abstraction analysis, 137 Abstractions in architecture functionality, 351 encapsulations and, 51 examples of, 47–50 in hierarchy of complex systems, 4–5 key defined, 112, 138 identifying, 139–41, 284t naming, 140–41 refining, 139–40 in traffic management system, 395–96 levels of, in micro process, 274–76, 275f, 281–83 meaning of, 44–47 in programming language evolution, 31 by programming style, 43 quality of, measuring, 112–14 role of, 23–24, 200 software flexibility and, 10 static and dynamic properties of, 46–47 viewers perspective in, 44–45 in weather monitoring system, 467 Access, package, 161–63 Action abstraction, 45 Activity diagram actions in, 186 black-box, 345f decision and merge nodes in, 187–88 fork and join nodes in, 188, 190 object flows in, 190 partitions in, 188, 189f for satellite navigation system, 341f, 346f starting and stopping points in, 186–87 for traffic management system, 386f, 387f white-box, 356f, 367f Actors, in use case diagram, 176 Ad hoc approach, 125 Affirmation class, 424–25, 426f Aggregation choice of, 196 of classes, 109–11 hierarchy in, 63–64 of objects, 91–92, 92f as physical containment, 110–11 vs. multiple inheritance, 110–11 Agile development process, 252–53, 255t Algorithmic decomposition, 19 vs. object-oriented, 20–23 Alphabet class, 428–29 Alternatives interaction operator, 212

Upload: vuongtram

Post on 18-Aug-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

677

Index

Page numbers followed by an f or t indicate figures and tables.

AAbstract class, 101, 193, 427Abstraction analysis, 137Abstractions

in architecture functionality, 351encapsulations and, 51examples of, 47–50in hierarchy of complex systems, 4–5key

defined, 112, 138identifying, 139–41, 284tnaming, 140–41refining, 139–40in traffic management system, 395–96

levels of, in micro process, 274–76, 275f, 281–83

meaning of, 44–47in programming language evolution, 31by programming style, 43quality of, measuring, 112–14role of, 23–24, 200software flexibility and, 10static and dynamic properties of, 46–47viewers perspective in, 44–45in weather monitoring system, 467

Access, package, 161–63

Action abstraction, 45Activity diagram

actions in, 186black-box, 345fdecision and merge nodes in, 187–88fork and join nodes in, 188, 190object flows in, 190partitions in, 188, 189ffor satellite navigation system, 341f, 346fstarting and stopping points in, 186–87for traffic management system, 386f, 387fwhite-box, 356f, 367f

Actors, in use case diagram, 176Ad hoc approach, 125Affirmation class, 424–25, 426fAggregation

choice of, 196of classes, 109–11hierarchy in, 63–64of objects, 91–92, 92fas physical containment, 110–11vs. multiple inheritance, 110–11

Agile development process, 252–53, 255tAlgorithmic decomposition, 19

vs. object-oriented, 20–23Alphabet class, 428–29Alternatives interaction operator, 212

Booch.book Page 677 Wednesday, March 28, 2007 10:21 AM

678 INDEX

Analysis categories, 21–22Analysis/design model, 277–78

in vacation tracking system, 508–19Analysis process. See also Micro process

abstraction levels in, 273–76classes and objects in, 112element identification in, 284t–285tin iterative development, 270object-oriented. See Object-oriented analysis

Analyst role, 311Animals, complex structure of, 5–6Apache Struts framework, 518, 528–29Application engineers, 310Architect, project, 309–10Architectural design, 281, 285tArchitecture analysis, 281Architecture description, 277Architecture documentation, 278–80, 349Architecture of system, 16

defined, 248in design process, 248–49in satellite navigation system

activity definition, 348–50decomposing, 364–70deployment of, 361–64developing, 348nonfunctional requirements, 358–61validating, 350–57

time-frame-based processing in, 473–74in traffic management system

defining, 389–91system functionality and, 385–87

in vacation tracking system, 517–18in weather monitoring system, 473–74, 475fWeb-centric, 494

Arithmetic/logic unit (ALU), 4Artifact

defined, 171notation for, 171–72reuse of, 314–16

Artificial intelligence, 40. See also Cryptanalysis system

Assembly connectors, 166, 217Assertion class, 425Associations

among classes, 97–98among elements, 293–94classes and notes, 205–6directionality, 199

end names and qualifiers, 200–201one-to-many, 98fvisibility, 199

Assumption mechanism, 443–44Astronomy, 6

BBackward-chaining, 419Bandwidth, 535Behavior

in choice of class, 115in element collaboration, 291fundamental, 291of objects, 81–82

Behavior analysisdescription of, 132–33process of, 290–91

Behavior characterization, 11–12Behavior diagrams, 150f, 151Behavioral prototype, 260Biological classification, 123–24Black-box activity diagram, 345f, 365Blackboard framework

architecture of, 417, 418–20assumption mechanism in, 443–44integration of, 440–44knowledge sources in, 418–20, 444–45

Blackboard objectsclasses in, 421–23designing, 427–31topmost, 440–43

Block diagram, 389f, 392Botany, 5Boyle, Robert, 124Business function, 133Business logic, 533–34

CC++, 546–51C with Classes, 546CAD/CAM system, 77Canonical form of complex system, 15–17, 17fCapability-based architectures, 39Central processing unit (CPU), 4Chaos, prediction and, 11n

Booch.book Page 678 Wednesday, March 28, 2007 10:21 AM

INDEX 679

Chemical classification, 124Chunking, 23CK metrics, 320Class diagram

association classes and notes, 205–6association end names and qualifiers in,

200–201constraints in, 201–4, 203felement visibility in, 198–200, 199fnotation in, 192–93relationships in, 194–97, 195fin schedule planning, 401ftemplate classes in, 197–98in traffic management system, 398, 399f

Class library tool, 323Class lifecycle, 96Class promotion, 140Class structure, 15–17, 17fClass(es). See also specific classes

abstract, 101, 193, 427affirmation, 424–25alphabet, 428–29assertion, 425association among, 97–98behavior in choice of, 115in blackboard framework, 421–23collection, 477concrete, 101defined, 92–94dependencies among, 111, 423–26design quality of, 112–14identifying, 126–38implementing, 94–95inheritance among, 98–102interface of, 94–95, 476interplay of, with objects, 111–12leaf, 101relationships among, 96–97, 204sources of, 131–32template, 197–98for time and date, 452–54vs. type, 64n

Classical analysis, 131–32Classical categorization, 126–27Classification

approaches toapplication of, 130–31classical categorization, 126–27

conceptual clustering, 127–29prototype theory, 130

defined, 121difficulty of, 122–24importance of, 121–22incremental and iterative nature of, 124–26

Client state management, 499CMP beans, 519, 520Cohesion, 113, 354Coincidental abstraction, 45Collection class, 477Commonality, in complex structures, 5Communication diagram, 238–43

in vacation tracking system, 514–15, 516fCommunication gap, 9Completeness, 114Completion transition, 221Complex systems

attributes of, 12–15behavior characterization in, 11–12canonical form of, 15–17, 17fdesigning, 24–28hierarchical nature of, 4–5structure of, 4–7

Complexityabstraction of, 23–24, 44arbitrary, 7external, 9human limitations and, 17–18

Component analysis, 281Component design, 281–82Component diagram

defined, 163interfaces in, 166–68, 167finternal structure of, 169–71, 170fnotation for, 164–65, 164frealizations in, 168, 169ffor satellite navigation system, 362ffor traffic management system, 408f

Component lead, 310Composite design, 21Composite state, 224, 225fComposite state notation, 226Composite structure diagram, 215–18

for cryptanalysis system, 441fComposition, 110, 125Computer languages. See Programming languagesConceptual clustering, 127–29

Booch.book Page 679 Wednesday, March 28, 2007 10:21 AM

680 INDEX

Conceptual model, 152Concerns, separation of

in complex system, 13–14encapsulation in, 52in temperature measurement abstraction, 49

Concrete classes, 101Concurrency

examples of, 68–69heavyweight, vs. lightweight, 67meaning of, 66–68in state machine diagram, 225–30

Concurrent synchronization, 91Configuration management, 312–13Connectors, in composite structure diagram, 217Constraint

association, 203defined, 201placement of, 202t

Construction phasein cryptanalysis, 427description of, 266in satellite navigation system, 371in traffic management system, 396–97in vacation tracking system, 506in weather monitoring system, 474

Constructor operation, 82Context diagram, for satellite navigation system, 337fContract model of programming, 46Control constructs, 210–12Control flow notation, 226Control objects, 76Control system. See Traffic management systemController object, 89

in knowledge source activation, 438–39in vacation tracking system, 528–29

Coupling, 113CRC cards, 135–36Cryptanalysis system

blackboard framework inarchitecture of, 417, 418–20assumption mechanism in, 443–44integration of, 440–44knowledge sources in, 418–20, 444–45

blackboard objectsclasses in, 421–23designing, 427–31

construction phase in, 427controller design in, 438–39, 440fdefined, 414

dependencies in, 423–26, 426fknowledge sources in

in blackboard framework, 418–20, 444–45designing, 431–34generalizing, 435–37implementing, 445

post-transition phase in, 446–47problem-solving process in, 416–18requirements for, 414–15

changes in, 448substitution cipher, 414–15system enhancements, 446–47

DDarwin, Charles, 123Data abstraction, 35Data acquisition system, 449. See also Weather

monitoring systemData-driven design, 22Data member, 95Decision nodes, 187–88Decomposable hierarchic systems, 13Decomposition

algorithmic, 19vs. object-oriented, 20–23

object-oriented, 20role of, 19–23of system architecture, 364–70in traffic management system, 409

Defect density, 317Defect-discovery rates, 266Delegation, 98Delegation connectors, 171, 217Demeter, Law of, 116–17Dependency class, 111, 423–26, 426fDependency relationships, 424–25

in package diagrams, 158–59Deployment diagrams

artifact notation in, 171–72connections in, 173–75, 174fnode notation in, 172–73in traffic management system, 394fin vacation tracking system, 494–96, 495f

Derivation, 125Descartes, René, 124Descriptor-based architectures, 39Design method categories, 21–22

Booch.book Page 680 Wednesday, March 28, 2007 10:21 AM

INDEX 681

Design methodologies, 26–27Design metrics, 318Design model, in vacation tracking system,

508–19, 521f, 522fDesign process. See also Micro process

abstraction levels in, 275–76classes and objects in, 112of complex systems, 24–28element identification in, 284t–285tin iterative development, 270purpose of, 25–26

Destruction events, 208Destructor operation, 82Development legacy, 320–21Development process. See also Object-oriented

developmentagile, 252–53, 255t

phases in, 267–68architectural vision in, 248–49choice of, 254in design methodology, 27iterative

advantages of, 251analysis and design in, 270duration for, 269focus shifts in, 268f

macroconstruction phase in, 266disciplines in, 259, 261elaboration phase in, 264–66inception phase, 262–64iterations in, 268–69milestones and phases in, 261–68purpose of, 257release planning in, 270–73transition phase in, 267

microabstraction levels in, 274–76, 275f, 280–83activities in, 276–77element collaborations in, 288–92element identification in, 283–88element relationships in, 292–95macro process and, 273fproducts of, 277–78semantic detail in, 296–300

plan-driven, 253, 255tprototyping in, 260software architecture documentation, 278–80

Development reviews, 306–7

Development team roles, 309–12Device, 172Diagram notation

activity, 185–91behavior, 150f, 151class, 192–206communication, 238–43component, 163–71composite structure, 215–18deployment, 171–75, 174finteraction, 150finteraction overview, 213–15object, 235–38package, 156–63sequence, 206–12state machine, 218–31structure, 149–50, 150ftiming, 231–35use case, 175–85, 178f

Diagrams. See also specific typesconnectivity among, 154context, 337fpractical use of, 151–52state transition, 440f

Discrete systems, behavior characterization in, 11–12

Display mechanism, in weather monitoring system, 482–83

Do activity, 222Documentation, 320–22Documenter, 311Domain analysis, 133–34Domain expert, 134Domain-specific issues, 324–25Drawing mechanism, 143Duration timer, 223Dynamic typing, 66

EEarly binding, 66Elaboration phase

of cryptanalysis system, 421description of, 264–66of satellite navigation system, 347–48of traffic management system, 385of vacation tracking system, 494of weather monitoring system, 463

Booch.book Page 681 Wednesday, March 28, 2007 10:21 AM

682 INDEX

Elementsassociations among, 293–94collaborations among, 288–92

milestones in, 291–92identification of, 283–88, 284t–285t

milestones in, 288pattern scavenging, 291protocols of, 297relationships among, 292–95semantics of, 296–300visibility of, 157–58

Encapsulationin architecture functionality, 351examples of, 52–54meaning of, 50–52separation of concerns in, 52

Energy management system, 390Engineering, 25English description, in object-oriented analysis,

136Entities

finders in filtering, 528persistent, 519–20in vacation tracking system, 519–23

Entity abstraction, 45Entity bean, 521

primary key generation for, 525Entry activity, 222Environmental control system

component notation in, 164fdeployment diagram for, 174finternal structure of, 170fspecification of two interfaces for, 167f

Exclude relationships, 180–84Execution environment, 172Execution specification, 209Exit activity, 222Extend relationships, 181–83

FFaçade object, 523, 524fFactorization, 125Federal Bureau of Investigation, 303Field, 95Final node, 187Final state, 219–20Finder methods, 528

Fine-grained operations, 115Finite state machine, 485–86Firing the transition, 220Fork node, 188, 190Fork vortex, 228Forward-chaining, 419Found message, 2084+1 architecture view model, 279–80Frames

in interaction overview diagrams, 213in weather monitoring system, 474–79in web applications, 535

Frameworks, 143Function points, 133Functional semantics, of operation, 115Functionality allocation, 353Fuzzy set theory, 128

GGlobal Positioning System (GPS), 334, 335Glossary, 338Grainsize conflict, 140Guard conditions, 243Guarded synchronization, 91

HHardware

post-transition changes to, 372–73in weather monitoring system, 451, 452f

Heavyweight concurrency, 67Hierarchical structure

aggregation, 63–64in architecture functionality, 352class and object in, 15–17in complex system, 4–5, 12inheritance in

multiple, 61–63repeated, 62single, 58–61

of knowledge source class, 434fmeaning of, 58–64role of, 24in weather monitoring sensor class, 460f

HTML browsers, 518HTTP state management mechanism, 499

Booch.book Page 682 Wednesday, March 28, 2007 10:21 AM

INDEX 683

Human intelligence, 40Hydroponics gardening system

communication diagram for, 240fcomposite structure diagram for, 216fpackage import in, 162fpackage notation for, 156f, 160ftransitions in, 221

Hyperlinks, 534

IIdentity

defined, 85of object, 85–87, 86f

Idioms, 142–43Implementation model

choosing, 117–18of class, 94–95mechanisms of, 112in vacation tracking system, 501

Import package, 161–63Inception phase

of cryptanalysis system, 414description of, 263–64of satellite navigation system, 334of traffic management system, 376in vacation tracking system, 490

Include relationships, 180–84Incremental development approach, 250–52

integration events in, 313–14Information display, 404–5Informational capacity

abstraction in transcending, 23of human, 18

Inheritanceelement semantics and, 299metrics of, 319multiple

among classes, 106–9name collisions in, 107–8in object model, 61–63vs. aggregation, 110–11

polymorphism and, 102–3repeated, 62, 109single

among classes, 100–102defined, 100in object model, 58–61

Initial node, 186Initial state, 219–20Instance variable, 95Integrated development environment (IDE), 323Integration events, 313–14Integration manager role, 311Intelligent system. See CryptanalysisInteraction operator loop, 210–12Interaction overview diagram, 213–15

for traffic management system, 388fInteraction use, 210Interface

of class, 94–95in vacation tracking system, 529–34in weather monitoring system, 476f, 483–87

Interface connectors, 166, 217Intermediate form stability, 14Invariance, 46Iteration clause, 242–43Iteration release, 272Iterative development

advantages of, 250–52duration in, 269, 270–71focus shifts in, 268fintegration events in, 313–14in macro process, 268–69

Iterator operation, 82

JJava, 551–56Java scripting, 535Java Server Pages (JSP), 517, 532J2EE technologies, 518Join node, 188, 190Join vertex, 228JSF, 518

KKey abstractions

defined, 112, 138identifying, 139–41, 284tnaming, 140–41refining, 139–40in traffic management system, 395–96

Booch.book Page 683 Wednesday, March 28, 2007 10:21 AM

684 INDEX

Knowledge sourcesanalysis of, 420–21in blackboard framework, 418–20, 444–45dependencies among, 423–26designing, 431–34generalizing, 435–37implementing, 445pattern-matching, 433

LLate binding, 66

polymorphism and, 103Lavoisier, Antoine, 124Law of Demeter, 116–17Leaf classes, 101Legacy system, 325Lifeline, 206, 232Lightweight concurrency, 67Links

in communication diagrams, 239defined, 88between objects, 88–91, 89f

Linnaeus, Carolus, 123Logical model, 152

for satellite navigation system, 341fin satellite navigation system, 368fin vacation tracking system, 496–98, 497f

Lorenz design metrics, 319

MMachines, objects as, 84–85Macro process

construction phase in, 266disciplines in, 259, 261elaboration phase in, 264–66inception phase, 262–64iterations in, 268–69milestones and phases in, 261–68purpose of, 257release planning in, 270–73transition phase in, 267

Maintenance of software, 10, 258–59Management, project, 304–8Many-to-many relationships, 98Matter, structure of, 6

Mechanismsdefined, 112, 138examples of, 143–44identifying, 140–44in object structure, 24as patterns, 142–43in relationship choice, 117

Member function, 46Mendeleyev, Dmitry, 124Merge nodes, 187–88Message dictionary, 105Message passing

between objects, 88–89in traffic management system, 397–400, 400f

Messagesin communication diagram, 239defined, 81found, 208guard conditions in, 243notation for, 206–7

Methodselection of, 104–6as term, 46vs. methodology, 21

Method-dispatch algorithm, 105–6Metrics, object-oriented, 317–20Milestones

in construction phase, 266in elaboration phase, 265–66in inception phase, 264in micro process

element collaboration, 291–92element identification, 288element relationships, 295element semantics, 299–300

in transition phase, 267Minsky, Marvin, 331Mission use case, 339–43Mixin classes, 61, 109Model building

importance of, 26in micro process, 277Unified Modeling Language and, 148–49

Model-view-controller paradigm, 143Modeling language. See Unified Modeling

LanguageModifier operation, 82Modularity

in architecture functionality, 352

Booch.book Page 684 Wednesday, March 28, 2007 10:21 AM

INDEX 685

defined, 56examples of, 57–58guidelines for, 56meaning of, 54–57size limitations in, 57

Monomorphism, 66Multiple inheritance

among classes, 106–9name collisions in, 107–8in object model, 61–63vs. aggregation, 110–11

Multiplicity among classes, 98Multivalue set theory, 128MVC pattern, 143

NName collisions, 107–8Navigation. See Satellite Navigation SystemNearly decomposable hierarchic systems, 13Nested state, 224, 225fNode

defined, 172notation for, 172–73

Notation. See also Diagram notation; Unified Modeling Language

in design methodology, 27purpose of, 147–48

Noun-verb analysis, 508

OObject-based programming languages, 32

topology of, 35–36, 36f, 37fvs. object-oriented, 41

Object diagram, 235–38in vacation tracking system, 514–15, 515f

Object flows, 190Object Management Group (OMG), 148Object model

application of, 71–72benefits of, 71–72elements of, 43–44evolution of, 29–37, 39foundations of, 37–43as principle, 18in programming language evolution, 538

Object nodes, 191fObject-oriented analysis

approaches tobehavioral, 132–33classical, 131–32CRC cards, 135–36domain analysis, 133–34structured analysis, 136–38use case analysis, 135

defined, 42–43Object-oriented decomposition, 20

vs. algorithmic, 20–23Object-oriented design

defined, 38, 42models of, 27in object-oriented decomposition, 42

Object-oriented development. See also Development process

adoption of, 325–26benefits of, 326–27documentation in, 320–22domain specific issues in, 324–25failures in, 303management of

development reviews, 306–8risk management, 304–5task planning, 305–6

metrics in, 317–20quality assurance and in, 316–17release management in, 312–14reuse in, 314–16risks of, 327–29staffing in

development team roles, 309–12resource allocation, 308–9

tools in, 322–24Object-oriented metrics, 317–20Object-oriented operating systems, 39Object-oriented programming (OOP)

defined, 41languages in support of, 41–42

Object structure, 15–17, 17fObjects

aggregation of, 91–92, 92fbehavior of, 81–82in communication diagrams, 239control, 76defined, 76–78design quality of, 112–14

Booch.book Page 685 Wednesday, March 28, 2007 10:21 AM

686 INDEX

Objects (continued)façade, 523, 524fidentity of, 85–87, 126–38interplay of, with classes, 111–12links between, 88–91as machines, 84–85operation of, 82relationships among, 88–92roles and responsibilities of, 83–84sources of, 131–32state of, 78–81

One-to-one relationships, 98One-to-many relationships, 98Operations

choosing, 114–16defined, 81functional semantics of, 115of objects, 82as term, 46time and space semantics of, 115–16

Organizational relationships, 7Orthogonal hierarchies, 15, 22Overloading, 103Ownership, in aggregation, 63–64

PPackage diagrams

benefits of, 155–56dependency relationships in, 158–59element visibility in, 157–58import and access, 161–63notation for, 156–57, 156ffor satellite navigation system, 341fin use case organization, 160f

Package export, 161–63Package import, 161–63Package interface, 94Packaging, in relationship choice, 118Parameter formatting, 497Parameterized classes, 197–98Partitions, 188, 189fPattern commonality, 14Pattern-matching knowledge source, 433Pattern scavenging, 291Patterns

mechanisms as, 142–43MVC, 143

Persistence, 69–71

Persistent data storage, 519Personal computers, 4–5Petroski, Henry, 145Physical model, 152Plan-driven process, 253, 255tPlants, complex structure of, 5–6Polymorphism

ad hoc, 103defined, 102–3late binding and, 103method selection and, 104–6in type theory, 66

Ports, in component notation, 164–65Post data formatting, 497Post-transition phase

in cryptanalysis system, 446–47hardware changes in, 372–73in satellite navigation system, 371–73in traffic management system, 411–12in vacation tracking system, 534–35in weather monitoring system, 487–88

Postconditions, 46in weather monitoring system, 472–73

Preconditions, 46Preservation of software, 10Primary keys, 525Primitive components, 113Primitiveness, 114Principle of least astonishment, 44Principle of least commitment, 44Private interface, 94Private visibility, 157Problem domain, complexity of, 8–10Process metrics, 317Process view, in Web applications, 498–501Product metrics, 318Products

of construction phase, 266of elaboration stage, 264of element collaboration definition, 288–89of element identification, 284of element relationship definition, 293of inception phase, 264of micro process, 277–78of semantic detailing, 296–97of transition phase, 267

Programming-in-the-large, 34Programming languages

C++, 546–51decomposition in, 21

Booch.book Page 686 Wednesday, March 28, 2007 10:21 AM

INDEX 687

evolution of, 30–32genealogy of, 539fidioms in, 142–43Java, 551–56object-based, 32

topology of, 35–36, 36f, 37fvs. object-oriented, 41

object-oriented, 32adoption of, 326criteria for, 41evolution of, 537–39, 539fpersistence support in, 70topology of, 35–36, 36f, 37fvs. object-based, 41

popularity index for, 538, 540tSmalltalk, 541–42topology of

defined, 32first- and early second-generation, 32–33,

33flate second- and early third-generation,

33–34, 34flate third-generation, 34–35, 35fobject-based and object-oriented, 35–36,

36f, 37fProgramming styles

contract model of, 46main kinds of, 43

Project architect, 309–10Project management, 304–8Project manager role, 311Project metrics, 317Project staffing, 308–12Property

in classical categorization, 127defined, 79of object, 78–79value of, 79

Protected interface, 94Protocol

defined, 46of object, 83semantics of, 297

Prototype theory, 130Prototypes, 260

in weather monitoring system, 459Proxy object, 89Public interface, 94Public visibility, 157

QQualifier, 238Quality assurance, 311, 316–17

RRailroads. See Traffic management systemReal-time, 324–25Realizations, component, 168, 169fReflexive association, 194Relationships

among classes, 96–97among elements, 292–95among object, 88–92choosing, 116–17include and exclude, 180–84independent and direct, 513fone-to-one, 98one-to-many, 98many-to-many, 98organizational, 7

Release planningin macro process, 270–73in object-oriented development, 312–14for traffic management system, 406–7for weather monitoring system, 479–80

Repeated inheritance, 62, 109Representation, in implementation choice, 117–18Requirement changes, 9–10Requirements analysis, 135Resource allocation, 308–9Responsibilities

in behavior analysis, 133of object, 83

Reuse, 314–16Reuse engineer role, 311, 323Risk management, 304–5Role

defined, 83in interaction overview diagram, 218

SSatellite Navigation System (SNS)

architecture foractivity definition, 348–50

Booch.book Page 687 Wednesday, March 28, 2007 10:21 AM

688 INDEX

Satellite Navigation System (SNS) (continued)decomposing, 364–70deployment of, 361–64developing, 348functionality allocation, 353interface specifications, 358–61logical, 341fnonfunctional requirements, 358–61validating, 350–57

component diagram for, 362fcontext definition of, 336–39, 337flaunch time allocations for, 360fpackage diagram for, 341fpost-transition phase, 371–73requirements for, 334–36use cases for

mission, 339–43system, 343–47

Scenario, 281nin weather monitoring system, 462–63

Schedule planning, 401–4SCRUM lifecycle, 268Segment use case, 357t–358tSelector operation, 82Semantic dependencies, 97–98Semantics

of associations, 294detailing, 297–99of elements, 296–300

abstraction level in, 299inheritance and, 299

functional, 115time and space, 115–16in Unified Modeling Language, 154–55in weather monitoring system, 471f

Sensor data acquisition, 405–6Sensor mechanism, in weather monitoring system,

480–82Separation of concerns

in complex system, 13–14encapsulation in, 52in temperature measurement abstraction, 49

Sequence block strategy, 525–26Sequence diagram

control constructs in, 210–12destruction events in, 208execution specification in, 209interaction use in, 210in knowledge source evaluation, 436f

lifelines and messages in, 206–7purpose of, 206scripts in, 209, 210fin traffic management system, 392f

Sequence expression, 239–41Sequential sychronization, 91Server object, 89Service Data Objects (SDO), 520, 523–24, 525fSet theory, 128Short-term memory capacity, 18Simple name, 163Simple state, 219–20Simula, 39, 538Single inheritance

among classes, 100–102defined, 100in object model, 58–61

Smalltalkdevelopment of, 541–42feature index of, 543tmethod dispatch in, 105MVC paradigm in, 143purpose of, 542

SNS. See Satellite Navigation SystemSocial institutions, structure of, 7Software architecture documentation, 278–80Software complexity

defining, 7–8development process management in, 10discrete system behavior characterization in,

11–12problem domain in, 8–10

Software development, 250–52. See also Development process

Software evolution and maintenance, 10, 258–59Software flexibility, 10–11Software maintenance, 10Software quality assurance, 316–17Species diversity, 124Staffing, 308–12State

activity in, 222client, management of, 499composite, 224, 225fdefined, 219nested, 224, 225fnotations for, 220–21of object, 78–81

State machine, finite, 485–86

Booch.book Page 688 Wednesday, March 28, 2007 10:21 AM

INDEX 689

State machine diagramactivities in, 222concurrency in, 225–30control in, 225–30initial, final, and simple states in, 219–20purpose of, 218–19submachine state in, 230transition control in, 222–24transitions and events in, 220–22in vacation tracking system, 510fin weather monitoring system, 471f

State transition diagram, 440fStatic binding, 66Static typing, 66Steady state, 149Strong typing, 66Structure diagrams, 149–50, 150fStructured analysis, 136–38Structured design, 21–22Style sheets, 535Subclass

defined, 100purpose of, 101–2

Submachine state, 230Subprograms, in composite design, 21Substitution cipher, 414–15Subsystems

defined, 170for traffic management system, 408–10

Success scenario, 341–42Sufficiency, 113Superclass

collection, 477defined, 100in weather monitoring system, 457–58

Supplementary specification, 338Synchronization

in communication diagram, 242between objects, 91

Synchronous message, 208Syntax, of Unified Modeling Language, 154–55System administrator, 311System architecture. See also Satellite Navigation

Systemfor traffic management system, 407–8

System functions, in behavior analysis, 133System use cases, 343–47Systems engineering, 334

TTask planning, 305–6Team meetings, 305Team roles, 309–12Technology adoption, 325–26Telemetry data, 99Temperature measurement

abstraction in, 47–50in weather monitoring system, 454–55

Template classes, 197–98Testing, 314Thomas Aquinas, 126Time and space semantics, of operation, 115–16Time-frame-based processing, 473–74, 474fTiming diagrams, 231–35TIOBE Programming Community Index, 538, 540tTools

in design methodology, 27kinds of, 322–23organizational implications of, 323–24role of, 153visual. See Diagrams and diagram notation

Toolsmith, 311, 323–34Top-down structured design, 21Topology of programming languages

defined, 32first- and early second-generation, 32–33, 33flate second- and early third-generation, 33–34,

34flate third-generation, 34–35, 35fobject-based and object-oriented, 35–36, 36f,

37fTraffic management system

architecture forblock diagram in, 389f, 392defining, 389–91deployment diagram in, 394fhardware and software allocations, 391–94sequence diagram in, 392fsystem functionality and, 385–87

class diagram in, 398, 399fconstruction phase in, 396–97decomposition in, 408–10elaboration phase of, 385inception phase of, 376information display in, 404–5key abstractions in, 395–96

Booch.book Page 689 Wednesday, March 28, 2007 10:21 AM

690 INDEX

Traffic management system (continued)message passing in, 397–400post-transition phase in, 411–12release management in, 406–7requirements for, 377–79schedule planning in, 401–4sensor data acquisition in, 405–6software design for, 407–8subsystem specification fin, 408–10use cases determination, 378–84

Transition phase, 267Transitions

completion, 221controlling, 222–24defined, 220

Type, vs. class, 64nType consistency, 66Typing

benefits of, 65–66meaning of, 64–66static and dynamic, 65–66

UUnified Modeling Language (UML)

background of, 148classification of, 149–51, 150fdefined, 148diagrams in. See Diagramsevolution of, 154models in, 148–49, 152–53purpose of, 147–48resources on, 155subset use in, 151–52syntax and semantics of, 154–55

Unqualified name, 163URL redirection, 499U.S. Global Positioning System (GPS), 334, 335Use case model, 135

actors in, 176, 493generalization in, 185include and exclude relationships in, 180–84noun-verb analysis in, 508purpose of, 175–76for satellite navigation system, 346f

mission, 339–43segment, 357t–358tsystem, 343–47

specifying details in, 177–80success scenario and, 341–42for traffic management system, 378–84, 380ffor vacation tracking system, 492–93, 501–6for weather monitoring system, 464–73Web-centric systems and, 492–93

User experience model, 506–8, 507fUser interface mechanism

in vacation tracking system, 529–34in weather monitoring system, 483–87

UX model, 506, 530

VVacation tracking system. See also Web

applicationsanalysis and design models in, 508–19communication diagram in, 516fconstruction phase in, 506controllers in, 528–29deployment view in, 494–96, 495felaboration phase in, 494entities in, 519–23finder methods in, 528implementation view of, 501logical view in, 496–98, 497fobject diagram in, 514–15, 515fpost-transition phase in, 534–35primary key generation in, 525–27process view in, 498–501requirements of, 490–92rule types in, 511service data objects in, 523–24, 525fstate machine diagram in, 510ftechnologies in, 517use case model in, 492–93user experience model in, 506–8

Version control, 312–13Virtual case file system, 303Virtual machine abstraction, 45Visibility

in class diagram, 198–200, 199fin class interface, 95of elements, 157–58between objects, 89–91in package diagram, 157–58in relationship choice, 117

von Neumann architectures, 39

Booch.book Page 690 Wednesday, March 28, 2007 10:21 AM

INDEX 691

WWeak typing, 66Weather monitoring system

architectural framework of, 473–74, 475fconstruction phase in, 474display mechanism in, 482–83elaboration phase of, 463frame mechanism in, 474–79hardware platform for, 451, 452fpost-transition phase in, 487–88release planning for, 479–80requirements for, 450scenarios of use in, 462–63sensor class hierarchy in, 460fsensor mechanism in, 480–82superclass in, 457–58temperature sensors in, 454–55time and date class in, 452–54timer class in, 461–62, 462fuse cases in, 464–73user interface mechanism in, 470f, 483–87

Web applications, 489–90. See also Vacation tracking system

architecture of, 494business logic in, 533–34changes in, 535client state management in, 499logical components in, 496processes in, 498server-side software in, 535user interface in, 529–34

Web page design, 529–34White-box activity diagram, 356f, 365, 367f

XXP lifecycle, 267–68

ZZooming in and out, 225

Booch.book Page 691 Wednesday, March 28, 2007 10:21 AM