Research Group for Applied Software Engineering
Forschungsgruppe für Angewandte Softwaretechnik

Errata: Object-Oriented Software Engineering: Using UML, Patterns, and Java, Second Edition

This is the list of known errors in the first printing of the book.

 

Chapter 1

 

  • p. 8, third paragraph: should read software development typically includes six development activities: requirements analysis, ...., implementation, and testing.

 

Chapter 2

 

  • p. 36, third paragraph: last line should read and, thus, lose much time and resources
  • p. 37, last paragraph: should read The valid operations on this type are all the integer arithmetic operations ...
  • p. 37, last paragraph: should read -2^31 and 2^31-1
  • p. 39, last line should read to distinguish between instances and classes
  • p. 41, caption of Figure 2-11: The Watch object ... should read The SimpleWatch object ...
  • p. 42, last paragraph: system domain should read solution domain
  • p. 47, last paragraph: In UML, include relationships ... should read In use case diagrams, include relationships ...
  • p. 62, last paragraph: second sentence should read A transition is depicted by an open arrow connecting two states.
  • p. 63, end of first paragraph: pressButtonsLAndR should be pressBothButtons
  • p. 64, third paragraph: button 1 and button 2 should read left button and right button, respectively.
  • p. 64, Figure 2-39: pressButton1 and pressButton2 should read pressButtonL and pressButtonR, respectively.
  • p. 65, Figure 2-40: events b1 and b2 should be pressButton1 and pressButton2, respectively.
  • p. 68, last paragraph, first sentence, should be ... are examples of use cases diagrams using packages.
  • p. 68, last paragraph: throughout the paragraph cross references to figures are off by one, Figure 2-46 should be Figure 2-45 and Figure 2-47 should be Figure 2-46
  • p. 71, third line: should read the chronological ordering of EmergencyReport to Incident association ...

 

Chapter 3

 

  • p. 115, exercise 3-6: the meeting process described in Section 3.4.1 should be the meeting process described in Section 3.4.3
  • p. 115, exercise 3-10: taking to friends should be talking to friends

 

Chapter 4

 

  • p. 132, line 7 should read between actors and such system components

 

Chapter 5

 

  • p. 192, Figure 5-15: The middle object should read County
  • p. 195, line 4: indicate should be Incident
  • p. 199, throughout section 5.5.1, RAD Section 3.5.x should be RAD Section 3.4.x
  • p. 213, Figure 5-26: The arrows in the sequence diagram should be solid, like in FIgures 5-27 & 5-28.

 

Chapter 6

 

  • p. 255, Exercise 6-2: dictionary attack should be brute force attack

 

Chapter 7

 

  • p. 297, line 13: generic methods should read game-independent methods

 

Chapter 8

 

  • p. 306, Figure 8-1, caption: during requirements should read during requirements analysis
  • p. 311, Figure 8-3, left column: containsKdy should read containsKey
  • p. 322, Figure 8-10: all occurences of Open() should read open()
  • p. 324, last paragraph: InstaBulb should be EIBBulb
  • p. 324, last paragraph: should not be mixed should be and should not be mixed
  • p. 326, line 5: windows should not be capitalized.
  • p. 339-40, Observer pattern: For consistency with the Java API, Subscriber should be Observablesubscribe should be addObserverunsubscribe should be deleteObserver
  • p. 340, Figure 8-22: the last method of GameBoard should be playMove()

 

Chapter 9

 

  • p. 356 & 357: The constraint context Tournament::acceptPlayer(p) pre: !isPlayerAccepted(p)
    should read context Tournament::acceptPlayer(p) pre: not isPlayerAccepted(p)
  • p. 359, Figure 9-6: accessor method of League should read getActivePlayers()
  • p. 383: The constraint at the top of the page should read t<> nil and t.rounds = nil and legalNumPlayers(t.players->size)

 

Chapter 10

 

  • p. 396, Figure 10-3: the email field in the right column should be protected
  • p. 397, first list item should be _Add the constructor User(String email) to the class User.
  • p. 403, last paragraph: should be ... improves overall response time.
  • p. 405, Figure 10-8: navigation arrow should emphasize the unidirectional association
  • p. 405, Figure 10-9: class Advertiser extends User should be class Advertiser
  • p. 405, Figure 10-9: owner:Advertiser should be Advertiser owner
  • p. 406, Figure 10-10: account.add(a) should be accounts.add(a)
  • p. 406, Figure 10-10: oldOwner should be old
  • p. 406, Figure 10-10, right column: Advertuser should be Advertiser
  • p. 411, Figure 10-14: ca tch should be catch
  • p. 412, Figure 10-15: precondition!isPlayerAccepted should be precondition isPlayerAccepted
  • p. 414, Figure 10-16: the bold label above login should be Primary key
  • p. 415, Figure 10-17: the label of the right column should be owner
  • p. 418, third paragraph: 4th sentence should be The subclass table includes a column for each attribute defined in the subclass.
  • p. 420, second to last paragraph, second sentence: object design mode should be object design model
  • p. 423, Figure 10-23, caption: Anstract Factory should read Abstract Factory

 

Chapter 11

 

  • p. 448, third paragraph: should start with A test stub simulates a component
  • p. 450, line 23: he reads each source code statement should be he reads aloud each source code statement
  • p. 453, last sentence before paragraph Equivalence testing should include polymorphism testing in the list of testing techniques
  • p. 454, line 18: ... are invalid values for the month parameter.
  • p. 456, line 9: nodes lines should be nodes
  • p. 462, Figure 11-16: }el se should read } else (4 times)

 

Chapter 12

 

  • p. 494, Figure 12-3: display:Issue should be display?:Issue
  • pp. 495-497, Figures 12-4-12-6: terminal:Issue should be terminal?:Issue
  • p. 497, Figure 12-6: is suopprted by should be is supported by
  • pp. 497 and 499, Figures 12-6 and 12-7: availability-first:Argument shoud be availability-first!:Argument
  • p. 498, first paragraph of Section 12.3.6: Chapter 11, Project Management should be Chapter 14, Project Management
  • p. 513, second to last paragraph: ... events.This... should read ... events. This...

 

 

Chapter 13

 

  • p. 536, definition of version: the state of a configuration item or a configuration should be the state of a configuration item or a configuration aggregate
  • p. 536, Figure 13-1: Workspace should be Master Directory
  • p. 539, first bullet should read The Ada specification went through five successive major versions, identified as Strawman, ...
  • p. 539, second bullet, last sentence should be The current version number is 3.14159
  • p. 541, line 10: should read how versions are merged back onto the main trunk
  • p. 542, second item in list: Changed-based should be Change-based
  • p. 544, last paragraph: Nclient should read NClient
  • p. 547, fourth paragraph, last sentence: should be _...so, configuration items related to the EClient and the NClient subsystems are modeled as separate configuration items.
  • p. 549, line 2: Once the promotion is created and stored in the repository, ...
  • p. 552, Figure 13-10: Beta test should be System test
  • p. 553, first paragraph: nonoverlapping sets of components should be nonoverlapping sets of configuration items
  • p. 654, Exercise 13-1: should be ... and the differences between successive versions.

 

Chapter 14

 

  • p. 571, second-last paragraph: of an existing a market should be of an existing market
  • p. 576, last paragraph: one or more a work products should be one or more work products
  • p. 597, 4 lines from the bottom: reference to chapter 15 should be (see Chapter 16, Methodologies: Putting It All Together)
  • p. 604, Table 14-5, caption should read Examples of risks
  • p. 605, Figure 14-18, second sentence of caption should read If the answer to question 23 is positive, ...

 

Chapter 16

 

  • p. 689, last sentence of Section 16.6: There is a even a manifesto should be There is even a manifesto
  • p. 689, The manifesto for agile software development can be found at http://www.agilealliance.org

 

Appendix A

 

  • p. 700, class diagram: the association role leaves should be children
  • p. 700, second to last bullet: Phases should be Work Units
  • p. 701, Figure: ParserTree should be ParseTree
  • p. 702, Figure: one occurrence of subscribers should be deleted
  • p. 702, Entity, interface, control objects should read Entity, boundary, control objects