| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> |
| <!-- VERSION rmc:7.1.0 --> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> |
| <!-- START NON-TRANSLATABLE --> |
| <title>\openup_basic\guidances\concepts\analysis_mechanism.xmi</title> |
| </head> |
| <!-- WARNING: do not modify the generated comments in this file below this line. They are used as markers for the import process. --> |
| <body> |
| Element Name: analysis_mechanism.xmi<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: presentationName<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:presentationName,_0gvqoMlgEdmt3adZL5Dmdw CRC: 2820006851 -->Analysis Mechanism<!-- END:presentationName,_0gvqoMlgEdmt3adZL5Dmdw --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: briefDescription<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:briefDescription,_0gvqoMlgEdmt3adZL5Dmdw CRC: 3926877643 -->An Analysis Mechanism is a conceptual representation of an Architectural Mechanism.<!-- END:briefDescription,_0gvqoMlgEdmt3adZL5Dmdw --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: mainDescription<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:mainDescription,_S8KCcMP2EdmWKcx6ixEiwg CRC: 959089530 --><p> |
| An Analysis Mechanism is a conceptual representation of an <a class="elementLink" |
| href="./../../../openup_basic/guidances/concepts/arch_mech,_mzxI0A4LEduibvKwrGxWxA.html" |
| guid="_mzxI0A4LEduibvKwrGxWxA">Architectural Mechanism</a>. Over time, Analysis Mechanisms are refined into <a |
| class="elementLink" href="./../../../openup_basic/guidances/concepts/design_mechanism,_w2ACwA4LEduibvKwrGxWxA.html" |
| guid="_w2ACwA4LEduibvKwrGxWxA">Design Mechanism</a>s and, later, into <a class="elementLink" |
| href="./../../../openup_basic/guidances/concepts/implementation_mechanism,_0LcUkA4LEduibvKwrGxWxA.html" |
| guid="_0LcUkA4LEduibvKwrGxWxA">Implementation Mechanism</a>s. |
| </p> |
| <p> |
| Analysis Mechanisms allow the developer to focus on understanding the requirements without getting distracted by |
| the specifics of a complex implementation. They are a way of abstracting away the complexity of the solution, so people |
| can better comprehend the problem. |
| </p> |
| <p> |
| Analysis Mechanisms are described in simple terms: |
| </p> |
| <ul> |
| <li> |
| <strong>Name:</strong> Identifies the mechanism. |
| </li> |
| <li> |
| <strong>Basic attributes:</strong> Define the requirements of the mechanism. |
| </li> |
| </ul> |
| <p> |
| You can identify Analysis Mechanisms top-down, from previous knowledge, or bottom-up, meaning that you discover them as |
| you proceed. |
| </p> |
| <p> |
| In the top-down mode, experience guides the <a class="elementLink" |
| href="./../../../openup_basic/roles/architect,_0X9iEMlgEdmt3adZL5Dmdw.html" |
| guid="_0X9iEMlgEdmt3adZL5Dmdw">Architect</a>, who knows that certain problems are present in the domain and will |
| require certain kinds of solutions. Examples of common architectural problems that might be expressed as mechanisms |
| during analysis are: persistence, transaction management, fault management, messaging, and inference engines. The |
| common aspect of all of these is that each is a general capability of a broad class of systems, and each provides |
| functionality that interacts with or supports the basic application functionality. The Analysis Mechanisms support |
| capabilities required in the basic functional requirements of the system, regardless of the platform that it is |
| deployed upon or the implementation language. Analysis Mechanisms also can be designed and implemented in different |
| ways. Generally, there will be more than one design mechanism that corresponds with each Analysis Mechanism. There may |
| also be more than one way of implementing each design mechanism. |
| </p> |
| <p> |
| The bottom-up approach is where Analysis Mechanisms ultimately originate. They are created as the <a |
| class="elementLink" href="./../../../openup_basic/roles/architect,_0X9iEMlgEdmt3adZL5Dmdw.html" |
| guid="_0X9iEMlgEdmt3adZL5Dmdw">Architect</a> sees, perhaps faintly at first, a common theme emerging from a set of |
| solutions to various problems. For example: There is a need to provide a way for elements in different threads to |
| synchronize their clocks, and there is a need for a common way of allocating resources. <a class="elementLink" |
| href="./../../../openup_basic/guidances/concepts/analysis_mechanism,_0gvqoMlgEdmt3adZL5Dmdw.html" |
| guid="_0gvqoMlgEdmt3adZL5Dmdw">Analysis Mechanism</a>, which simplify the language of analysis, emerge from these |
| patterns. |
| </p> |
| <p> |
| Identifying an Analysis Mechanism means that you identify a common, perhaps implicit subproblem, and you give it a |
| name. Initially, the name might be all that exists. For example, the system will require a persistence |
| mechanism. Ultimately, this mechanism will be implemented through the collaboration of various classes, some of |
| which do not deliver application functionality directly, but exist only to support it. Very often these support classes |
| are located in the middle or lower layers of a layered architecture, thereby providing a common support service to all |
| application-level classes. |
| </p> |
| <p> |
| If the subproblem that you identify is common enough, perhaps a pattern exists from which the mechanism can be |
| instantiated, probably by binding existing classes and implementing new ones, as required by the pattern. An Analysis |
| Mechanism produced this way will be abstract, and it will require further refinement throughout design and |
| implementation work. |
| </p> |
| <p> |
| You can see examples of how Architectural Mechanisms can be represented in <a class="elementLink" |
| href="./../../../openup_basic/guidances/guidelines/example_analysis_mechanisms_descr,_4k_HsA4LEduibvKwrGxWxA.html" |
| guid="_4k_HsA4LEduibvKwrGxWxA">Example Analysis Mechanism Descriptions</a>. |
| </p><!-- END:mainDescription,_S8KCcMP2EdmWKcx6ixEiwg --> |
| </body> |
| </html> |