| <?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>\xp\guidances\concepts\metaphor_system_of_names.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: metaphor_system_of_names.xmi<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: presentationName<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:presentationName,4.884861766532753E-306 CRC: 2154963974 -->Metaphor (System of Names)<!-- END:presentationName,4.884861766532753E-306 --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: mainDescription<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:mainDescription,-2OU2wQP_WNWX5zzWzx4ANw CRC: 3357931307 --><a id="XE_xp__metaphor_(system_of_names)" name="XE_xp__metaphor_(system_of_names)"></a><a |
| id="XE_metaphor_(system_of_names)__practice_of" name="XE_metaphor_(system_of_names)__practice_of"></a><a |
| id="XE_engineering_practices__metaphor_(system_of_names)" name="XE_engineering_practices__metaphor_(system_of_names)"></a> |
| <h3> |
| Description |
| </h3> |
| <p> |
| This metaphor is a design overview. It is a way of defining the system using a commonly understandable vocabulary with |
| its associated relationships. It allows the whole team to talk about the structure of the software in a convenient and |
| memorable way. A good metaphor is one that all team members can understand easily, remember, and always keep in the |
| back of their minds. It provides a unifying direction that developers can follow as they build the system a small piece |
| at a time. |
| </p> |
| <p> |
| Metaphors are not always easy to find at the start of a project. In that case, teams can simply identify the key |
| objects and their interactions in the system (System of Names). The real metaphor might emerge later on. When everybody |
| on the team can explain quickly the system through its major objects and their interactions, the goal has been reached. |
| </p> |
| <p> |
| The iterative nature of XP causes the architecture of our system to evolve over time. The metaphor is not static; it |
| will change and hopefully improve over time as our understanding of the system improves. |
| </p> |
| <p> |
| An example of a metaphor would be something like: "It's like a subway system with passengers and stations, tickets and |
| turnstiles, etc.". |
| </p> |
| <h3> |
| Benefits |
| </h3> |
| <ul> |
| <li> |
| <b>Communication</b>: customer and developer define a common language they can use to talk about the system. |
| </li> |
| <li> |
| <b>Direction</b>: the metaphor helps guide the developers towards the solution. |
| </li> |
| </ul><!-- END:mainDescription,-2OU2wQP_WNWX5zzWzx4ANw --> |
| </body> |
| </html> |