Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3...

20
Departamento de Ingeniería de Sistemas y Computación Universidad de los Andes | Vigilada Mineducación Reconocimiento como Universidad: Decreto 1297 del 30 de mayo de 1964. Reconocimiento personería jurídica: Resolución 28 del 23 de febrero de 1949 Minjusticia Habilidades y conocimientos para construir una Línea de Productos de Software. Carlos Andrés Parra Universidad de los Andes

Transcript of Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3...

Page 1: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

Departamento de Ingenieríade Sistemas y Computación

Universidad de los Andes | Vigilada MineducaciónReconocimiento como Universidad: Decreto 1297 del 30 de mayo de 1964.Reconocimiento personería jurídica: Resolución 28 del 23 de febrero de 1949 Minjusticia

Habilidades y conocimientos para construir una Línea de Productos de

Software.

Carlos Andrés Parra

Universidad de los Andes

Page 2: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

Agenda

• Software Product Lines– Domain Engineering

– Application Engineering

• Nuestra aproximación a SPL– Variabilidad

– Arquitectura

– Técnicas de implementación

– Derivación de productos

• Retos y Perspectivas

Page 3: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

Líneas de productos de SoftwareProcesos

➡Ingeniería de Aplicación

– Configuración de productos

– Derivación de productos

➡Ingeniería de Dominio

– Análisis de variabilidad

– Alcance de la línea (familia de productos)

– Desarrollo de activos

Page 4: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

Líneas de productos de SoftwareEstrategias de Adopción [Kreuger 2001]

➡Reactiva

Crecimiento incremental hacia la personalización en masa. Se utilizan los activos actuales, pero a la vez, se desarrollannuevos activos para su integración y reutilización en diferentes productos.

➡Extractiva

La organización usa los artefactos de software existentes, identificando elementos en común y variables para construirla familia de productos

➡Proactiva

Análisis, diseño e implementación de los activos de la líneadesde cero, para personalización en masa de todos los productos de software previstos para el futuro.

Academia

Industria

Page 5: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

Procesos

ImplementaciónElementos Comunes

Variabilidad

Configuración de Productos

Derivación de Productos

Implementación Elementos Variables

Arquitectura SPL

Page 6: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

EstructuraSemana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8

IntroducciónFábricas

Software Product Lines

Marco de Referencia

Requerimientos Variabilidad Kang Variabilidad Kang Variabilidad PohlArquitectura de

una SPL

Semana 9 Semana 10 Semana 11 Semana 12 Semana 13 Semana 14 Semana 15 Semana 16

Arquitectura de una SPL

AspectosPatrones de

diseñoSOA - REST

AnotacionesGeneración de

Código

Derivación de Producto

Derivación de Producto

Derivación de Producto

VariabilidadIntroducción

Teoría SPLArquitectura

SPL

ArquitecturaSPL Implementación Variabilidad Derivación de Producto

Proyecto creación de una Línea de Productos

Proyecto creación de una Línea de Productos

Page 7: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

VariabilidadModelo de Características

Root

A

GF

B C D

H I

requires excludes

optional mandatory xoror

Legend

Page 8: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

VariabilidadMetamodelos

Page 9: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

VariabilidadAnálisis

Page 10: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

VariabilidadHerramientas

Familiar

S2D2

SPLOT

FeatureIDE

Page 11: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

Arquitectura

• Arquitectura de Software– Definiciones– Vistas– Estilos– Atributos y escenarios de calidad

• PLA y técnicas de implementación de variabilidad

Tomado de: Capítulo 3: Linden, Frank J. van der, Schmid, Klaus, Rommes, Eelco. Software Product Lines in Action. Springer. 2007

Page 12: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

Arquitectura

Componente

Referencias que seconsumen

Servicios Expuestos

RESTWSEJ

RESTWSEJ

Page 13: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

Arquitectura

Page 14: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

De artefactos a activos a través de Wrappers (Extractiva)

14

Page 15: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

Implementación de VariabilidadTipos de Activos

Granularidadgruesa

Granularidadfina

Reemplazode binarios

ProcesamientoCódigo

@notation

Aspecto aspectJ

Patron

CondiciónSobre Constante o Variable

ComponenteO Servicio

RESTWSEJB

Page 16: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

Construcción de ActivosProactiva

1. Condición sobre Constante

2. Aspectos AOP, AOM

3. Componentes, Servicios

4. Patrones de Software

5. Generative Programming

1. Anotaciones, procesadores de código, Modelos

6. Binary Replacement

1. Maven, Gradle

Page 17: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

Configuración de Producto

Producto 1

Producto 2

Producto n

Page 18: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

Derivación de Producto

1. Depende de la técnica de implementación utilizada

ProcesoAutomatizado

Page 19: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

Perspectivas

1. Técnicas de Implementación para la interfaz de usuario

2. Atributos de Calidad en la configuración de Producto

3. Adopción extractiva en la academia

4. Dynamic Software Product Lines

5. Model-Driven Software Product Lines

19

Page 20: Presentación de PowerPoint - sistemas.uniandes.edu.co · Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana 7 Semana 8 Introducción Fábricas Software Product

Referencias

• Curso Fábricas de Software y Líneas de Productos– http://catalogo.uniandes.edu.co/es-

ES/2015/Catalog/Courses/MISO/4000/MISO-4204

• Proyectos del curso:– https://github.com/MISO4204-201520/escarabajo.git– https://github.com/MISO4204-201620/EcoTravelCo.git– https://github.com/SPL-201620/RCBike.git– https://github.com/miso4204/Grupo01.git

• SPLIT: An Automated Approach for Enterprise Product Line Adoption Through SOA. Carlos Parra, Diego Joya. “Journal of Internet Services and Information Security (JISIS)”. Volume 5, Issue 1, February 2015