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 UMLCheckpoints: Requirements: Use-Case ModelCheckpoints: Requirements: Use-Case Model• Is the Use-Case Modelunderstandable?• By studying the Use-Case Model,can you form a clear idea of thesystem's functions and how they arerelated?• Have all functional requirementsbeen met?• Does the Use-Case Model containany superfluous behavior?• Is the division of the model into usecasepackages appropriate?Mastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved 26The above, as well as the remaining checklists in this section, is a sample of the kindsof things to look for when reviewing the Use-Case Model. Explicit, detailed checklistsshould be established for the project to support the review of the Use-Case Model.Verify that there are no open questions. The use cases you found must be able toperform all system behaviors; if not, some use cases are missing. If you intentionallyleft any requirements to be dealt with in the object models, such as nonfunctionalrequirements, you must mention this. Put the reference in the SupplementarySpecification(s) unless the requirement concerns a specific use case, in which casestate it in the Special Requirements section of the use case.The Use-Case Model should not present more functions than were called for in therequirements.Traceability from the original requirements to the use cases and the SupplementarySpecification is critical for project management and impact assessment as well as tomake sure nothing has been missed.The packaging should make the Use-Case Model simple and intuitive to understandand maintain.3 - 26
Module 3 - Requirements OverviewCheckpoints: Requirements: ActorsCheckpoints: Requirements: Actors• Have all the actors been identified?• Is each actor involved with at leastone use case?• Is each actor really a role? Shouldany be merged or split?• Do two actors play the same role inrelation to a use case?• Do the actors have intuitive anddescriptive names? Can both usersand customers understand thenames?Mastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved 27Make sure that all the roles in the system's environment have been accounted for andmodeled. You will not be able to do this fully until you have found and described allthe use cases.Remove any actors not mentioned in the use-case descriptions or that have nocommunicates-associations with a use case. However, an actor mentioned in a usecasedescription is likely to have a communicates-association with that particular usecase.You should be able to name at least two people who would be able to perform as aparticular actor. If not, see if the role the actor models is part of another role. If so,you should merge the actors.If any actors play similar roles in relation to the system, they should be merged into asingle actor. If a particular actor will use the system in several completely differentways, or has several completely different purposes for using the use case, then thereshould probably be more than one actor.If two actors play the same role in relation to a use case, then actor-generalizationsshould be used to model their shared behavior.It is important that actor names correspond to their roles.3 - 27
- Page 90 and 91: DEV475 Mastering Object-Oriented An
- Page 92 and 93: DEV475 Mastering Object-Oriented An
- Page 94 and 95: DEV475 Mastering Object-Oriented An
- Page 96 and 97: DEV475 Mastering Object-Oriented An
- Page 98 and 99: DEV475 Mastering Object-Oriented An
- Page 100 and 101: DEV475 Mastering Object-Oriented An
- Page 102 and 103: DEV475 Mastering Object-Oriented An
- Page 104 and 105: DEV475 Mastering Object-Oriented An
- Page 106 and 107: DEV475 Mastering Object-Oriented An
- Page 108 and 109: DEV475 Mastering Object-Oriented An
- Page 110 and 111: DEV475 Mastering Object-Oriented An
- Page 112 and 113: DEV475 Mastering Object-Oriented An
- Page 114 and 115: DEV475 Mastering Object-Oriented An
- Page 116 and 117: DEV475 Mastering Object-Oriented An
- Page 118 and 119: DEV475 Mastering Object-Oriented An
- Page 120 and 121: DEV475 Mastering Object-Oriented An
- Page 122 and 123: DEV475 Mastering Object-Oriented An
- Page 124 and 125: DEV475 Mastering Object-Oriented An
- Page 126 and 127: DEV475 Mastering Object-Oriented An
- Page 128 and 129: DEV475 Mastering Object-Oriented An
- Page 130 and 131: DEV475 Mastering Object-Oriented An
- Page 132 and 133: DEV475 Mastering Object-Oriented An
- Page 134 and 135: DEV475 Mastering Object-Oriented An
- Page 136 and 137: DEV475 Mastering Object-Oriented An
- Page 138 and 139: DEV475 Mastering Object-Oriented An
- Page 142 and 143: DEV475 Mastering Object-Oriented An
- Page 144 and 145: DEV475 Mastering Object-Oriented An
- Page 146 and 147: DEV475 Mastering Object-Oriented An
- Page 148 and 149: DEV475 Mastering Object-Oriented An
- Page 150 and 151: DEV475 Mastering Object-Oriented An
- Page 152 and 153: DEV475 Mastering Object-Oriented An
- Page 154 and 155: DEV475 Mastering Object-Oriented An
- Page 156 and 157: DEV475 Mastering Object-Oriented An
- Page 158 and 159: DEV475 Mastering Object-Oriented An
- Page 160 and 161: DEV475 Mastering Object-Oriented An
- Page 162 and 163: DEV475 Mastering Object-Oriented An
- Page 164 and 165: DEV475 Mastering Object-Oriented An
- Page 166 and 167: DEV475 Mastering Object-Oriented An
- Page 168 and 169: DEV475 Mastering Object-Oriented An
- Page 170 and 171: DEV475 Mastering Object-Oriented An
- Page 172 and 173: DEV475 Mastering Object-Oriented An
- Page 174 and 175: DEV475 Mastering Object-Oriented An
- Page 176 and 177: DEV475 Mastering Object-Oriented An
- Page 178 and 179: DEV475 Mastering Object-Oriented An
- Page 180 and 181: DEV475 Mastering Object-Oriented An
- Page 182 and 183: DEV475 Mastering Object-Oriented An
- 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
<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>Checkpoints: Requirements: Use-Case ModelCheckpoints: Requirements: Use-Case Model• Is the Use-Case Modelunderst<strong>and</strong>able?• By studying the Use-Case Model,can you form a clear idea of thesystem's functions <strong>and</strong> how they arerelated?• Have all functional requirementsbeen met?• Does the Use-Case Model containany superfluous behavior?• Is the division of the model into usecasepackages appropriate?<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 26The above, as well as the remaining checklists in this section, is a sample of the kindsof things to look for when reviewing the Use-Case Model. Explicit, detailed checklistsshould be established for the project to support the review of the Use-Case Model.Verify that there are no open questions. The use cases you found must be able toperform all system behaviors; if not, some use cases are missing. If you intentionallyleft any requirements to be dealt <strong>with</strong> in the object models, such as nonfunctionalrequirements, you must mention this. Put the reference in the SupplementarySpecification(s) unless the requirement concerns a specific use case, in which casestate it in the Special Requirements section of the use case.The Use-Case Model should not present more functions than were called for in therequirements.Traceability from the original requirements to the use cases <strong>and</strong> the SupplementarySpecification is critical for project management <strong>and</strong> impact assessment as well as tomake sure nothing has been missed.The packaging should make the Use-Case Model simple <strong>and</strong> intuitive to underst<strong>and</strong><strong>and</strong> maintain.3 - 26