Arquitectura de la línea de producto - TICSw

advertisement
Líneas de Producto de
Software – Arquitectura de la
línea de producto (SPLA)
Rubby Casallas
Departamento de Sistemas y Computación
Universidad de los Andes, Bogotá
Referencias
Capítulo 6, 11. [Pohl 2010]
Pohl K., Böckle G., van
der Linden F., Requirements Engineering Fundamentals, Principles, and Techniques. Berlin.
Springer, 2010
[Northrop 2007] Linda M. Northrop, Paul C. Clements.
A Framework for Software Product Line Practice,
Version 5.0. 2007.
ETXEBERRIA, Leire; SAGARDUI,
Goiuria and BELATEGI, Lorea. Quality aware software
product line engineering. J. Braz. Comp. Soc. [online].
2008, vol.14, n.1 [cited 2011-08-23], pp. 57-69 .
Agenda
Diseño a nivel de dominio
Requerimientos de calidad
SPLA
Técnicas básicas de variabilidad a nivel de la
arquitectura
Diseño a nivel de dominio
Tomado de: Capítulo 11. [Pohl 2010]
Pohl K., Böckle G., van
der Linden F., Requirements Engineering - Fundamentals,
Principles, and Techniques. Berlin. Springer, 2010
Actividades tradicionales
Abstraer
Modelar
Simular
Prototipar
Validar
Requerimientos de calidad
Atributos de calidad de la línea de producto:
Modificability: permitir variación o evolución en el
tiempo
Configurability: considerar variaciones en el
espacio de productos
Atributos de calidad relevantes al dominio :
Safety, performance, …
ETXEBERRIA, Leire; SAGARDUI, Goiuria and BELATEGI, Lorea. Quality aware software product line engineering. J. Braz. Comp.
Soc. [online]. 2008, vol.14, n.1 [cited 2011-08-23], pp. 57-69 . Available from:
<http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0104-65002008000100006&lng=en&nrm=iso>. ISSN 0104-6500.
Quality aware software product line
engineering
ETXEBERRIA, Leire; SAGARDUI, Goiuria and BELATEGI, Lorea. Quality aware software product line engineering. J. Braz. Comp.
Soc. [online]. 2008, vol.14, n.1 [cited 2011-08-23], pp. 57-69 . Available from:
<http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0104-65002008000100006&lng=en&nrm=iso>. ISSN 0104-6500.
Quality aware software product line
engineering
Diferentes miembros de la línea pueden
tener variaciones en los atributos de calidad
Opcional
Niveles diferentes
Impacto de componentes funcionales sobre
atributos de calidad
ETXEBERRIA, Leire; SAGARDUI, Goiuria and BELATEGI, Lorea. Quality aware software product line engineering. J. Braz. Comp.
Soc. [online]. 2008, vol.14, n.1 [cited 2011-08-23], pp. 57-69 . Available from:
<http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0104-65002008000100006&lng=en&nrm=iso>. ISSN 0104-6500.
Arquitectura de la línea de producto
(SPLA)
En el contexto de una línea de producto se
necesita construir:
Arquitectura de referencia (conjunto de
estructuras y “textura” reglas y restricciones
arquitecturales)
Una biblioteca de componentes reutilizables
Un método de configuración para seleccionar y
configurar componentes para “derivar” una
aplicación particular
Arquitectura de referencia
La arquitectura de referencia será la guía
para la construcción de los productos de la
línea
Cuándo es le momento adecuado para
desarrollar la arquitectura?
Desarrollo prematuro es altamente arriesgado
sino hay aun un buen entendimiento del dominio y
alcance de la línea
Desarrollo tardío puede perder flexibilidad
Una buena táctica es adoptar un enfoque
incremental
Arquitectura de referencia (cont.)
Retos:
El arquitecto tiene que tener en cuenta diversos
productos al mismo tiempo
Comunicar con muchos stakeholders
Puede haber conflictos entre los requerimientos
de los distintos productos
Resolver los puntos de variabilidad identificados
Técnicas básicas de variabilidad a nivel
de la arquitectura (vista funcional)
Tomado de: Capítulo 3: Linden, Frank J. van der, Schmid, Klaus,
Rommes, Eelco. Software Product Lines in Action. Springer. 2007
Adaptación
Solo hay una implementación disponible para
el componente pero este tiene formas de
configurarlos a través de su interfaz
Remplazo
Existen muchas implementaciones para un
componente
Todas son conformes con el contrato con la
arquitectura
Cambia su implementación
Una implementación es seleccionada por
producto
Extensión
La arquitectura debe proveer interfaces para
permitir adicionar nuevos componentes
Extensión
Descargar