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 UMLWhat Is a Boundary Class?What Is a Boundary Class?• Intermediates between the interface andsomething outside the system• Several Types• User interface classes• System interface classes• Device interface classes• One boundary class per actor/use-case pairAnalysis classstereotypeMastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved 14Environment DependentA boundary class intermediates between the interface and something outside thesystem. Boundary classes insulate the system from changes in the surroundings (forexample, changes in interfaces to other systems and changes in user requirements),keeping these changes from affecting the rest of the system.A system can have several types of boundary classes:• User interface classes—Classes that intermediate communication with humanusers of the system.• System interface classes—Classes that intermediate communication with othersystems. A boundary class that communicates with an external system isresponsible for managing the dialog with the external system; it provides theinterface to that system for the system being built.• Device interface classes—Classes that provide the interface to devices whichdetect external events. These boundary classes capture the responsibilities of thedevice or sensor.One recommendation for the initial identification of boundary classes is oneboundary class per actor/use-case pair.6 - 14
Module 6 - Use-Case AnalysisThe Role of a Boundary ClassThe Role of a Boundary ClassActor 1Actor 2Model interaction between the system and its environmentMastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved 15A boundary class is used to model interaction between the system's surroundings andits inner workings. Such interaction involves transforming and translating events andnoting changes in the system presentation (such as the interface).Boundary classes model the parts of the system that depend on its surroundings. Theymake it easier to understand the system because they clarify the system's boundariesand aid design by providing a good point of departure for identifying related services.For example, if you identify a printer interface early in the design, you will realize thatyou must also model the formatting of printouts.Because boundary classes are used between actors and the working of the internalsystem (actors can only communicate with boundary classes), they insulate externalforces from internal mechanisms and vice versa. Thus, changing the GUI orcommunication protocol should mean changing only the boundary classes, not theentity and control classes.A boundary object (an instance of a boundary class) can outlive a use-case instance if,for example, it must appear on a screen between the performance of two use cases.Normally, however, boundary objects live only as long as the use-case instance.6 - 15
- 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
- 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 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 234 and 235: 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
<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>What Is a Boundary Class?What Is a Boundary Class?• Intermediates between the interface <strong>and</strong>something outside the system• Several Types• User interface classes• System interface classes• Device interface classes• One boundary class per actor/use-case pair<strong>Analysis</strong> classstereotype<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 14Environment DependentA boundary class intermediates between the interface <strong>and</strong> something outside thesystem. Boundary classes insulate the system from changes in the surroundings (forexample, changes in interfaces to other systems <strong>and</strong> changes in user requirements),keeping these changes from affecting the rest of the system.A system can have several types of boundary classes:• User interface classes—Classes that intermediate communication <strong>with</strong> humanusers of the system.• System interface classes—Classes that intermediate communication <strong>with</strong> othersystems. A boundary class that communicates <strong>with</strong> an external system isresponsible for managing the dialog <strong>with</strong> the external system; it provides theinterface to that system for the system being built.• Device interface classes—Classes that provide the interface to devices whichdetect external events. These boundary classes capture the responsibilities of thedevice or sensor.One recommendation for the initial identification of boundary classes is oneboundary class per actor/use-case pair.6 - 14