<?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:epf="http://www.eclipse.org/epf" epf:version="1.5.1" xmlns:rmc="http://www.ibm.com/rmc" rmc:version="7.5.1" xmi:id="-X7QSjItNBz7w8603yBCv0Q" name="abstract_away_complexity,_we3F4ACpEdu8m4dIntu6jA" guid="-X7QSjItNBz7w8603yBCv0Q" changeDate="2008-08-12T16:36:49.750-0700" version="1.0.0">
  <mainDescription>&lt;p>&#xD;
    Lo sviluppo del&amp;nbsp;software è un'attività caratterizzata dalla complessità. Tale complessità può assumere diverse forme, come conciliare i requisiti complessi,&#xD;
    la tecnologia o le dinamiche del team. Elevare il livello di astrazione consente di gestire questa complessità e rende l'avanzamento misurabile, nonostante la difficoltà intrinseca dell'operazione.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Seguono dei consigli per diverse strategie che aiutano nell'astrarre la complessità.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
    Utilizzo dei pattern&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    I pattern consentono di usufruire delle tecniche provate per la risoluzione dei problemi comuni. È possibile trarre vantaggio dall'esperienza di praticanti consumati ed evitare di  creare qualcosa che già esiste. L'utilizzo dei pattern è per lo sviluppo un aspetto cruciale di un approccio centrato sull'architettura, poiché riduce la novità e la diversità di una soluzione, quindi migliora la qualità.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Per ulteriori informazioni, consultare &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../../core.tech.common.extend_supp/guidances/concepts/pattern_10BE6D96.html&quot; guid=&quot;_0YJvUMlgEdmt3adZL5Dmdw&quot;>Concetto: Modelli&lt;/a>&amp;nbsp;.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
    Progettare l'architettura con i componenti e i servizi&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    Questa strategia aiuta a gestire la complessità del software mediante il&amp;nbsp;partizionamento&amp;nbsp;di un sistema in un'insieme di componenti leggermente accoppiati e altamente coesi. I vantaggi di questo approccio includono l'abilità di organizzare il team attorno ad un insieme di obiettivi più piccoli e gestibili, e l'abilità di sostituire le parti del sistema senza disturbare la coesione globale del sistema. L'esposizione dei servizi incoraggia il riutilizzo rendendo la funzionalità del sistema più facile da&#xD;
comprendere. Concentrarsi sui servizi rende possibile la comprensione di cosa il sistema compie da una prospettiva tecnica senza dover necessariamente capire il dettagli di come il sistema funziona.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Consultare &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../../core.tech.common.extend_supp/guidances/concepts/component_CB167D48.html&quot; guid=&quot;_0YP18MlgEdmt3adZL5Dmdw&quot;>Concetto: Componente&lt;/a>&amp;nbsp;per ulteriori informazioni.&#xD;
&lt;/p>&#xD;
&lt;h3>&#xD;
    Promuovere attivamente il riutilizzo&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    L'incorporazione del software esistente in un'architettura globale consente di ridurre i costi e migliorare la qualità mediante il riutilizzo di software funzionante provato, piuttosto che sviluppare da zero. Inoltre aiuta a ridurre l'impegno della manutenzione eliminando la duplicazione nel software. Sebbene spesso difficile da gestire, un progetto o iniziativa può trarre vantaggi significativi da una strategia di riutilizzo ben eseguita.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Per ulteriori informazioni, consultare la &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../../core.tech.common.extend_supp/guidances/guidelines/software_reuse_B6B04C26.html&quot; guid=&quot;_vO2uoO0OEduUpsu85bVhiQ&quot;>Linea guida: riutilizzo software&lt;/a>&amp;nbsp;.&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
