DEV475 Mastering Object-Oriented Analysis and Design with UML ...
DEV475 Mastering Object-Oriented Analysis and Design with UML ... DEV475 Mastering Object-Oriented Analysis and Design with UML ...
DEV475 Mastering Object-Oriented Analysis and Design with UMLDistribute Use-Case Behavior to ClassesUse-Case Analysis Steps• Supplement the Use-Case Descriptions• For each Use-Case Realization• Find Classes from Use-Case Behavior• Distribute Use-Case Behavior to Classes• For each resulting analysis class• Describe Responsibilities• Describe Attributes and Associations• Qualify Analysis Mechanisms• Unify Analysis Classes• CheckpointsMastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved 26Now that we have identified the candidate analysis classes, we need to allocate theresponsibilities of the use case to the analysis classes and model this allocation bydescribing the way the class instances collaborate to perform the use case in Use-Case Realization.The purpose of “Distribute Use-Case Behavior to Classes” is to:• Express the use-case behavior in terms of collaborating analysis classes• Determine the responsibilities of analysis classes6 - 26
Module 6 - Use-Case AnalysisDistribute Use-Case Behavior to ClassesDistribute Use-Case Behavior to Classes• For each use-case flow of events:• Identify analysis classes• Allocate use-case responsibilities to analysisclasses• Model analysis class interactions in InteractiondiagramsSequence DiagramsCollaboration DiagramsUse CaseUse-Case RealizationMastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved 27You can identify analysis classes responsible for the required behavior by steppingthrough the flow of events of the use case. In the previous step, we outlined someclasses. Now it is time to see exactly where they are applied in the use-case flow ofevents.In addition to the identified analysis classes, the Interaction diagram should showinteractions of the system with its actors. The interactions should begin with an actor,since an actor always invokes the use case. If you have several actor instances in thesame diagram, try keeping them in the periphery of that diagram.Interactions between actors should not be modeled. By definition, actors are external,and are out of scope of the system being developed. Thus, you do not includeinteractions between actors in your system model. If you need to model interactionsbetween entities that are external to the system that you are developing (for example,the interactions between a customer and an order agent for an order-processingsystem), those interactions are best included in a Business Model that drives theSystem Model.Guidelines for how to distribute behavior to classes are described on the next slide.6 - 27
- Page 184 and 185: DEV475 Mastering Object-Oriented An
- Page 186 and 187: DEV475 Mastering Object-Oriented An
- Page 188 and 189: DEV475 Mastering Object-Oriented An
- Page 190 and 191: DEV475 Mastering Object-Oriented An
- Page 192 and 193: DEV475 Mastering Object-Oriented An
- Page 194 and 195: DEV475 Mastering Object-Oriented An
- Page 196 and 197: DEV475 Mastering Object-Oriented An
- Page 198 and 199: DEV475 Mastering Object-Oriented An
- Page 200 and 201: DEV475 Mastering Object-Oriented An
- Page 202 and 203: DEV475 Mastering Object-Oriented An
- Page 204 and 205: DEV475 Mastering Object-Oriented An
- Page 206 and 207: DEV475 Mastering Object-Oriented An
- Page 208 and 209: DEV475 Mastering Object-Oriented An
- Page 210 and 211: DEV475 Mastering Object-Oriented An
- Page 212 and 213: DEV475 Mastering Object-Oriented An
- Page 214 and 215: DEV475 Mastering Object-Oriented An
- Page 216 and 217: DEV475 Mastering Object-Oriented An
- Page 218 and 219: DEV475 Mastering Object-Oriented An
- Page 220 and 221: DEV475 Mastering Object-Oriented An
- Page 222 and 223: DEV475 Mastering Object-Oriented An
- Page 224 and 225: DEV475 Mastering Object-Oriented An
- Page 226 and 227: DEV475 Mastering Object-Oriented An
- Page 228 and 229: DEV475 Mastering Object-Oriented An
- Page 230 and 231: DEV475 Mastering Object-Oriented An
- Page 232 and 233: DEV475 Mastering Object-Oriented An
- Page 236 and 237: DEV475 Mastering Object-Oriented An
- Page 238 and 239: DEV475 Mastering Object-Oriented An
- Page 240 and 241: DEV475 Mastering Object-Oriented An
- Page 242 and 243: DEV475 Mastering Object-Oriented An
- Page 244 and 245: DEV475 Mastering Object-Oriented An
- Page 246 and 247: DEV475 Mastering Object-Oriented An
- Page 248 and 249: DEV475 Mastering Object-Oriented An
- Page 250 and 251: DEV475 Mastering Object-Oriented An
- Page 252 and 253: DEV475 Mastering Object-Oriented An
- Page 254 and 255: DEV475 Mastering Object-Oriented An
- Page 256 and 257: DEV475 Mastering Object-Oriented An
- Page 258 and 259: DEV475 Mastering Object-Oriented An
- Page 260 and 261: DEV475 Mastering Object-Oriented An
- Page 262 and 263: DEV475 Mastering Object-Oriented An
- Page 264 and 265: DEV475 Mastering Object-Oriented An
- Page 266 and 267: DEV475 Mastering Object-Oriented An
- Page 268 and 269: DEV475 Mastering Object-Oriented An
- Page 270 and 271: DEV475 Mastering Object-Oriented An
- Page 272 and 273: DEV475 Mastering Object-Oriented An
- Page 274 and 275: DEV475 Mastering Object-Oriented An
- Page 276: DEV475 Mastering Object-Oriented An
<strong>DEV475</strong> <strong>Mastering</strong> <strong>Object</strong>-<strong>Oriented</strong> <strong>Analysis</strong> <strong>and</strong> <strong>Design</strong> <strong>with</strong> <strong>UML</strong>Distribute Use-Case Behavior to ClassesUse-Case <strong>Analysis</strong> Steps• Supplement the Use-Case Descriptions• For each Use-Case Realization• Find Classes from Use-Case Behavior• Distribute Use-Case Behavior to Classes• For each resulting analysis class• Describe Responsibilities• Describe Attributes <strong>and</strong> Associations• Qualify <strong>Analysis</strong> Mechanisms• Unify <strong>Analysis</strong> Classes• Checkpoints<strong>Mastering</strong> <strong>Object</strong> <strong>Oriented</strong> <strong>Analysis</strong> <strong>and</strong> <strong>Design</strong> <strong>with</strong> <strong>UML</strong>Copyright © 2003 Rational Software, all rights reserved 26Now that we have identified the c<strong>and</strong>idate analysis classes, we need to allocate theresponsibilities of the use case to the analysis classes <strong>and</strong> model this allocation bydescribing the way the class instances collaborate to perform the use case in Use-Case Realization.The purpose of “Distribute Use-Case Behavior to Classes” is to:• Express the use-case behavior in terms of collaborating analysis classes• Determine the responsibilities of analysis classes6 - 26