Contents

  1. Cover Page
  2. About This E-Book
  3. Title Page
  4. Copyright Page
  5. Dedication Page
  6. Contents
  7. List of Figures
  8. Foreword to the Third Edition
  9. Foreword to the First Edition
  10. Preface
    1. Why Bother with the UML?
    2. Structure of the Book
    3. Changes for the Third Edition
    4. Acknowledgments
  11. Chapter 1: Introduction
    1. What Is the UML?
    2. Ways of Using the UML
    3. How We Got to the UML
    4. Notations and Meta-Models
    5. UML Diagrams
    6. What Is Legal UML?
    7. The Meaning of UML
    8. UML Is Not Enough
    9. Where to Start with the UML
    10. Where to Find Out More
  12. Chapter 2: Development Process
    1. Iterative and Waterfall Processes
    2. Predictive and Adaptive Planning
    3. Agile Processes
    4. Rational Unified Process
    5. Fitting a Process to a Project
    6. Fitting the UML into a Process
    7. Choosing a Development Process
    8. Where to Find Out More
  13. Chapter 3: Class Diagrams: The Essentials
    1. Properties
    2. Multiplicity
    3. Programming Interpretation of Properties
    4. Bidirectional Associations
    5. Operations
    6. Generalization
    7. Notes and Comments
    8. Dependency
    9. Constraint Rules
    10. When to Use Class Diagrams
    11. Where to Find Out More
  14. Chapter 4: Sequence Diagrams
    1. Creating and Deleting Participants
    2. Loops, Conditionals, and the Like
    3. Synchronous and Asynchronous Calls
    4. When to Use Sequence Diagrams
  15. Chapter 5: Class Diagrams: Advanced Concepts
    1. Keywords
    2. Responsibilities
    3. Static Operations and Attributes
    4. Aggregation and Composition
    5. Derived Properties
    6. Interfaces and Abstract Classes
    7. Read-Only and Frozen
    8. Reference Objects and Value Objects
    9. Qualified Associations
    10. Classification and Generalization
    11. Multiple and Dynamic Classification
    12. Association Class
    13. Template (Parameterized) Class
    14. Enumerations
    15. Active Class
    16. Visibility
    17. Messages
  16. Chapter 6: Object Diagrams
    1. When to Use Object Diagrams
  17. Chapter 7: Package Diagrams
    1. Packages and Dependencies
    2. Package Aspects
    3. Implementing Packages
    4. When to Use Package Diagrams
    5. Where to Find Out More
  18. Chapter 8: Deployment Diagrams
    1. When to Use Deployment Diagrams
  19. Chapter 9: Use Cases
    1. Content of a Use Case
    2. Use Case Diagrams
    3. Levels of Use Cases
    4. Use Cases and Features (or Stories)
    5. When to Use Use Cases
    6. Where to Find Out More
  20. Chapter 10: State Machine Diagrams
    1. Internal Activities
    2. Activity States
    3. Superstates
    4. Concurrent States
    5. Implementing State Diagrams
    6. When to Use State Diagrams
    7. Where to Find Out More
  21. Chapter 11: Activity Diagrams
    1. Decomposing an Action
    2. Partitions
    3. Signals
    4. Tokens
    5. Flows and Edges
    6. Pins and Transformations
    7. Expansion Regions
    8. Flow Final
    9. Join Specifications
    10. And There’s More
    11. When to Use Activity Diagrams
    12. Where to Find Out More
  22. Chapter 12: Communication Diagrams
    1. When to Use Communication Diagrams
  23. Chapter 13: Composite Structures
    1. When to Use Composite Structures
  24. Chapter 14: Component Diagrams
    1. When to Use Component Diagrams
  25. Chapter 15: Collaborations
    1. When to Use Collaborations
  26. Chapter 16: Interaction Overview Diagrams
    1. When to Use Interaction Overview Diagrams
  27. Chapter 17: Timing Diagrams
    1. When to Use Timing Diagrams
  28. Appendix: Changes between UML Versions
    1. Revisions to the UML
    2. Changes in UML Distilled
    3. Changes from UML 1.0 to 1.1
    4. Changes from UML 1.2 (and 1.1) to 1.3 (and 1.5)
    5. Changes from UML 1.3 to 1.4
    6. Changes from UML 1.4. to 1.5
    7. From UML 1.x to UML 2.0
  29. Bibliography
  30. Index
  31. Code Snippets
  1. i
  2. iii
  3. iv
  4. vi
  5. vii
  6. viii
  7. ix
  8. xi
  9. xii
  10. xiii
  11. xiv
  12. xv
  13. xvii
  14. xviii
  15. xix
  16. xxi
  17. xxii
  18. xxiii
  19. xxiv
  20. xxv
  21. xxvi
  22. xxvii
  23. xxviii
  24. xxix
  25. xxx
  26. 1
  27. 2
  28. 3
  29. 4
  30. 5
  31. 6
  32. 7
  33. 8
  34. 9
  35. 10
  36. 11
  37. 12
  38. 13
  39. 14
  40. 15
  41. 16
  42. 17
  43. 19
  44. 20
  45. 21
  46. 22
  47. 23
  48. 24
  49. 25
  50. 26
  51. 27
  52. 28
  53. 29
  54. 30
  55. 31
  56. 32
  57. 33
  58. 35
  59. 36
  60. 37
  61. 38
  62. 39
  63. 40
  64. 41
  65. 42
  66. 43
  67. 44
  68. 45
  69. 46
  70. 47
  71. 48
  72. 49
  73. 50
  74. 51
  75. 52
  76. 53
  77. 54
  78. 55
  79. 56
  80. 57
  81. 58
  82. 59
  83. 60
  84. 61
  85. 62
  86. 63
  87. 65
  88. 66
  89. 67
  90. 68
  91. 69
  92. 70
  93. 71
  94. 72
  95. 73
  96. 74
  97. 75
  98. 76
  99. 77
  100. 78
  101. 79
  102. 80
  103. 81
  104. 82
  105. 83
  106. 84
  107. 85
  108. 87
  109. 88
  110. 89
  111. 90
  112. 91
  113. 92
  114. 93
  115. 94
  116. 95
  117. 97
  118. 98
  119. 99
  120. 100
  121. 101
  122. 102
  123. 103
  124. 104
  125. 105
  126. 107
  127. 108
  128. 109
  129. 110
  130. 111
  131. 112
  132. 113
  133. 114
  134. 115
  135. 117
  136. 118
  137. 119
  138. 120
  139. 121
  140. 122
  141. 123
  142. 124
  143. 125
  144. 126
  145. 127
  146. 128
  147. 129
  148. 130
  149. 131
  150. 132
  151. 133
  152. 135
  153. 136
  154. 137
  155. 139
  156. 140
  157. 141
  158. 143
  159. 144
  160. 145
  161. 146
  162. 147
  163. 148
  164. 149
  165. 150
  166. 151
  167. 152
  168. 153
  169. 154
  170. 155
  171. 156
  172. 157
  173. 158
  174. 159
  175. 161
  176. 162
  177. 163
  178. 164
  179. 165
  180. 167
  181. 168
  182. 169
  183. 170
  184. 171
  185. 172
  186. 173
  187. 174
  188. 175
  189. 176
  190. 177
  191. 178