<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:ContentDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.6/uma.ecore" xmlns:rmc="http://www.ibm.com/rmc" rmc:version="7.5.1" xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.1" xmi:id="-X7QSjItNBz7w8603yBCv0Q" name="abstract_away_complexity,_we3F4ACpEdu8m4dIntu6jA" guid="-X7QSjItNBz7w8603yBCv0Q" changeDate="2008-08-12T04:36:49.000-0700" version="1.0.0">
  <mainDescription>&lt;p>&#xD;
    El desarrollo de software&amp;nbsp;es una tarea que se caracteriza por su complejidad. Esta puede tomar muchas formas, como adoptar requisitos complejos, tecnología o dinámica de equipos. Elevar el nivel de abstracción ayuda a gestionar esta complejidad y a realizar un progreso medible, a pesar de la dificultad inherente a la tarea.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    A continuación se hacen sugerencias para varias estrategias que contribuyen a abstraerse de la complejidad.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
    Optimizar patrones&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    Los patrones le ayudan a sacar provecho de tecnologías probadas para resolver problemas comunes. Puede beneficiarse de la experiencia de profesionales experimentados y evitar &quot;reinventar la rueda,&quot; como se suele decir. El uso de patrones es un aspecto esencial en un enfoque centrado en la arquitectura para el desarrollo, porque contribuye a reducir la novedad y la diversidad de la solución y mejora la calidad.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Consulte &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../core.tech.common.extend_supp/guidances/concepts/pattern_10BE6D96.html&quot; guid=&quot;_0YJvUMlgEdmt3adZL5Dmdw&quot;>Concept: Patrón&lt;/a>&amp;nbsp;para obtener más información.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
    Diseñar la arquitectura con componentes y servicios&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    Esta estrategia contribuye a gestionar la complejidad del software mediante el&amp;nbsp;particionamiento&amp;nbsp;de un sistema en un conjunto de componentes débilmente acoplados y altamente cohesivos. Las ventajas de este enfoque incluyen la posibilidad de organizar al equipo en torno a un conjunto de objetivos más pequeños, más manejables y la posibilidad de sustituir componentes del sistema sin que ello afecte a la cohesión global del sistema. Exponer los servicios estimula la reutilización haciendo que la funcionalidad del sistema sea más fácil de entender. Centrarse en servicios hace posible comprender lo que hace el sistema desde un punto de vista técnico sin tener necesariamente que comprender los detalles de cómo funciona el sistema.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Consulte &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../core.tech.common.extend_supp/guidances/concepts/component_CB167D48.html&quot; guid=&quot;_0YP18MlgEdmt3adZL5Dmdw&quot;>Concept: Componente&lt;/a>&amp;nbsp;para obtener más información&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
    Fomentar activamente la reutilización&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    Incorporar software existente en una arquitectura global contribuye a reducir el coste y a mejorar la calidad reutilizando software de trabajo probado, en lugar de desarrollarlo partiendo de cero. También contribuye a reducir la carga que supone el mantenimiento eliminando la duplicación en el software. Si bien a menudo es difícil de manejar, un proyecto o empresa puede tener ventajas significativas si se parte de una estrategia de reutilización bien ejecutada.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Consulte &lt;a class=&quot;elementLinkWithUserText&quot; href=&quot;./../../../core.tech.common.extend_supp/guidances/guidelines/software_reuse_B6B04C26.html&quot; guid=&quot;_vO2uoO0OEduUpsu85bVhiQ&quot;>Guideline: Reutilización de software&lt;/a>&amp;nbsp;para obtener más información.&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
