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
15
Embed
Index [ptgmedia.pearsoncmg.com]ptgmedia.pearsoncmg.com/images/9780201895513/index/020189551X... · Index Page numbers ... in weather monitoring system, 467 Access, ... Action abstraction,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
677
Index
Page numbers followed by an f or t indicate figures and tables.
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
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
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
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
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
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
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
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
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
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
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