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 Are Architectural Mechanisms?What Are Architectural Mechanisms?RequiredFunctionalityImplementationEnvironmentSupplementarySpecification“realized by clientclasses using”Mechanisms“constrained by”COTS ProductsDatabasesIPC Technologyetc.“responsible for”Use-Case ModelArchitectMastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved 20In order to better understand what an analysis mechanism is, we have to understandwhat an architectural mechanism is.An architectural mechanism is a strategic decision regarding common standards,policies, and practices. It is the realization of topics that should be standardized on aproject. Everyone on the project should utilize these concepts in the same way, andreuse the same mechanisms to perform the operations.An architectural mechanism represents a common solution to a frequentlyencountered problem. It may be patterns of structure, patterns of behavior, or both.Architectural mechanisms are an important part of the "glue" between the requiredfunctionality of the system and how this functionality is realized, given the constraintsof the implementation environment.Support for architectural mechanisms needs to be built in to the architecture.Architectural mechanisms are coordinated by the architect. The architect choosesthe mechanisms, validates them by building or integrating them, verifies that they dothe job, and then consistently imposes them upon the rest of the design of thesystem.5 - 20
Module 5 - Architectural AnalysisArchitectural Mechanisms: Three CategoriesArchitectural Mechanisms: Three Categories• Architectural Mechanism Categories• Analysis mechanisms (conceptual)• Design mechanisms (concrete)• Implementation mechanisms (actual)Mastering Object Oriented Analysis and Design with UMLCopyright © 2003 Rational Software, all rights reserved 21There are three categories of architectural mechanisms. The only difference betweenthem is one of refinement.Analysis mechanisms capture the key aspects of a solution in a way that isimplementation-independent. They either provide specific behaviors to a domainrelatedclass or component, or correspond to the implementation of cooperationbetween classes and/or components. They may be implemented as a framework.Examples include mechanisms to handle persistence, inter-process communication,error or fault handling, notification, and messaging, to name a few.Design mechanisms are more concrete. They assume some details of theimplementation environment, but are not tied to a specific implementation (as is animplementation mechanism).Implementation mechanisms specify the exact implementation of the mechanism.Implementation mechanisms are are bound to a certain technology, implementationlanguage, vendor, or other factor.In a design mechanism, some specific technology is chosen (for example, RDBMS vs.ODBMS), whereas in an implementation mechanism, a VERY specific technology ischosen (for example, Oracle vs. SYBASE).The overall strategy for the implementation of analysis mechanisms must be built intothe architecture. This will be discussed in more detail in Identify Design mechanisms,when design and implementation mechanisms are discussed.5 - 21
- Page 136 and 137: DEV475 Mastering Object-Oriented An
- Page 138 and 139: DEV475 Mastering Object-Oriented An
- Page 140 and 141: 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 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 234 and 235: DEV475 Mastering Object-Oriented An
Module 5 - Architectural <strong>Analysis</strong>Architectural Mechanisms: Three CategoriesArchitectural Mechanisms: Three Categories• Architectural Mechanism Categories• <strong>Analysis</strong> mechanisms (conceptual)• <strong>Design</strong> mechanisms (concrete)• Implementation mechanisms (actual)<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 21There are three categories of architectural mechanisms. The only difference betweenthem is one of refinement.<strong>Analysis</strong> mechanisms capture the key aspects of a solution in a way that isimplementation-independent. They either provide specific behaviors to a domainrelatedclass or component, or correspond to the implementation of cooperationbetween classes <strong>and</strong>/or components. They may be implemented as a framework.Examples include mechanisms to h<strong>and</strong>le persistence, inter-process communication,error or fault h<strong>and</strong>ling, notification, <strong>and</strong> messaging, to name a few.<strong>Design</strong> mechanisms are more concrete. They assume some details of theimplementation environment, but are not tied to a specific implementation (as is animplementation mechanism).Implementation mechanisms specify the exact implementation of the mechanism.Implementation mechanisms are are bound to a certain technology, implementationlanguage, vendor, or other factor.In a design mechanism, some specific technology is chosen (for example, RDBMS vs.ODBMS), whereas in an implementation mechanism, a VERY specific technology ischosen (for example, Oracle vs. SYBASE).The overall strategy for the implementation of analysis mechanisms must be built intothe architecture. This will be discussed in more detail in Identify <strong>Design</strong> mechanisms,when design <strong>and</strong> implementation mechanisms are discussed.5 - 21