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 bepressBothButtons
- p. 64, third paragraph: button 1 and button 2 should read left button and right button, respectively.
- p. 64, Figure 2-39:
pressButton1
andpressButton2
should readpressButtonL
andpressButtonR
, respectively. - p. 65, Figure 2-40: events
b1
andb2
should bepressButton1
andpressButton2
, 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 beEIBBulb
- 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 beObservable
,subscribe
should beaddObserver
,unsubscribe
should bedeleteObserver
- p. 340, Figure 8-22: the last method of
GameBoard
should beplayMove()
Chapter 9
- p. 356 & 357: The constraint
context
Tournament::acceptPlayer(p)
pre:
!isPlayerAccepted(p)
should readcontext
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 beprotected
- p. 397, first list item should be _Add the constructor
User(String email)
to the classUser
. - 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 beclass Advertiser
- p. 405, Figure 10-9:
owner:Advertiser
should beAdvertiser owner
- p. 406, Figure 10-10:
account.add(a)
should beaccounts.add(a)
- p. 406, Figure 10-10:
oldOwner
should beold
- p. 406, Figure 10-10, right column:
Advertuser
should beAdvertiser
- 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 bedisplay?:Issue
- pp. 495-497, Figures 12-4-12-6:
terminal:Issue
should beterminal?:Issue
- p. 497, Figure 12-6:
is suopprted by
should beis supported by
- pp. 497 and 499, Figures 12-6 and 12-7:
availability-first:Argument
shoud beavailability-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 beMaster 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 readNClient
- 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 beSystem 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 bechildren
- p. 700, second to last bullet:
Phases
should beWork Units
- p. 701, Figure:
ParserTree
should beParseTree
- p. 702, Figure: one occurrence of subscribers should be deleted
- p. 702, Entity, interface, control objects should read Entity, boundary, control objects