blob: 16e00dffdc39de0bbd8d0349bc2e241bfd969f25 [file] [log] [blame]
<?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>