´Indice general
´Indice general
´Indice general
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
10<br />
CAPÍTULO 2. CALIDAD, REUSO Y MODELOS<br />
del programa de aplicación (application program interface, API) ni<br />
documentan.<br />
Los desarrolladores no conocen los componentes existentes.<br />
Los desarrolladores no confían en la calidad del componente.<br />
Los componentes existentes son dependientes de la plataforma y son<br />
difíciles de instalar.<br />
Problemas con las políticas de licencias, de patentes o de costos.<br />
Una forma de fomentar el reuso de software es a través de frameworks y<br />
arquitecturas. El framework de aplicaciones es un diseño reusable construido<br />
a partir de un conjunto de clases, y un modelo de colaboración entre los<br />
objetos. Un framework de aplicaciones es el esqueleto de un conjunto de<br />
aplicaciones que pueden ser adaptadas para su uso por un desarrollador de<br />
software. Un framework proporciona un conjunto de clases que cuando son<br />
instanciadas trabajan conjuntamente para lograr ciertas tareas en el dominio<br />
de interés. Uno de los aspectos distintivos más importantes de un framework<br />
son sus puntos de acoplamiento, es decir, los lugares del framework donde<br />
el diseñador puede introducir las variantes o diferencias para una aplicación<br />
particular.<br />
Las definiciones de framework y arquitectura según el grupo de investigadores<br />
de GATE (ver capítulo 3) son las siguientes:<br />
Framework: Comúnmente, se usa framework para referirse a una biblioteca<br />
(library) de clases orientadas a objetos que se ha diseñado<br />
teniendo cierto dominio de aplicación en mente y que pueden ser adaptadas<br />
y extendidas para resolver problemas de ese dominio. (Otros autores<br />
le llaman a esto toolkit o library.) Los frameworks también son<br />
conocidos como plataformas o sistemas de componentes.<br />
Arquitectura: La arquitectura de software se ocupa de la estructura<br />
del sistema, de la organización del software, de la asignación de responsabilidades<br />
a los componentes y de asegurar que las interacciones<br />
entre los componentes satisfagan los requerimientos del sistema.<br />
En la figura 2.1 se presenta un infograma que ayuda a distinguir entre<br />
framework y arquitectura. La figura de la izquierda, donde el área sombreada<br />
es la parte de reuso del sistema, representa un framework. La de la derecha,<br />
representa una arquitectura. Es importante hacer notar desde ahora que<br />
GATE es, a la vez, un framework y una arquitectura. Es decir, al tiempo