presentación de powerpoint - ?· estructura semana 1 semana 2 semana 3 semana 4 semana 5 semana 6...

Download Presentación de PowerPoint - ?· Estructura Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Semana…

Post on 28-Oct-2018

214 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • Departamento de Ingenierade Sistemas y Computacin

    Universidad de los Andes | Vigilada MineducacinReconocimiento como Universidad: Decreto 1297 del 30 de mayo de 1964.Reconocimiento personera jurdica: Resolucin 28 del 23 de febrero de 1949 Minjusticia

    Habilidades y conocimientos para construir una Lnea de Productos de

    Software.

    Carlos Andrs Parra

    Universidad de los Andes

  • Agenda

    Software Product Lines Domain Engineering

    Application Engineering

    Nuestra aproximacin a SPL Variabilidad

    Arquitectura

    Tcnicas de implementacin

    Derivacin de productos

    Retos y Perspectivas

  • Lneas de productos de SoftwareProcesos

    Ingeniera de Aplicacin

    Configuracin de productos

    Derivacin de productos

    Ingeniera de Dominio

    Anlisis de variabilidad

    Alcance de la lnea (familia de productos)

    Desarrollo de activos

  • Lneas de productos de SoftwareEstrategias de Adopcin [Kreuger 2001]

    Reactiva

    Crecimiento incremental hacia la personalizacin en masa. Se utilizan los activos actuales, pero a la vez, se desarrollannuevos activos para su integracin y reutilizacin en diferentes productos.

    Extractiva

    La organizacin usa los artefactos de software existentes, identificando elementos en comn y variables para construirla familia de productos

    Proactiva

    Anlisis, diseo e implementacin de los activos de la lneadesde cero, para personalizacin en masa de todos los productos de software previstos para el futuro.

    Academia

    Industria

  • Procesos

    ImplementacinElementos Comunes

    Variabilidad

    Configuracin de Productos

    Derivacin de Productos

    Implementacin Elementos Variables

    Arquitectura SPL

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

    IntroduccinFbricas

    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

    diseoSOA - REST

    AnotacionesGeneracin de

    Cdigo

    Derivacin de Producto

    Derivacin de Producto

    Derivacin de Producto

    VariabilidadIntroduccin

    Teora SPLArquitectura

    SPL

    ArquitecturaSPL Implementacin Variabilidad Derivacin de Producto

    Proyecto creacin de una Lnea de Productos

    Proyecto creacin de una Lnea de Productos

  • VariabilidadModelo de Caractersticas

    Root

    A

    GF

    B C D

    H I

    requires excludes

    optional mandatory xoror

    Legend

  • VariabilidadMetamodelos

  • VariabilidadAnlisis

  • VariabilidadHerramientas

    Familiar

    S2D2

    SPLOT

    FeatureIDE

  • Arquitectura

    Arquitectura de Software Definiciones Vistas Estilos Atributos y escenarios de calidad

    PLA y tcnicas de implementacin de variabilidad

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

  • Arquitectura

    Componente

    Referencias que seconsumen

    Servicios Expuestos

    RESTWSEJ

    RESTWSEJ

  • Arquitectura

  • De artefactos a activos a travs de Wrappers (Extractiva)

    14

  • Implementacin de VariabilidadTipos de Activos

    Granularidadgruesa

    Granularidadfina

    Reemplazode binarios

    ProcesamientoCdigo

    @notation

    Aspecto aspectJ

    Patron

    CondicinSobre Constante o Variable

    ComponenteO Servicio

    RESTWSEJB

  • Construccin de ActivosProactiva

    1. Condicin sobre Constante

    2. Aspectos AOP, AOM

    3. Componentes, Servicios

    4. Patrones de Software

    5. Generative Programming

    1. Anotaciones, procesadores de cdigo, Modelos

    6. Binary Replacement

    1. Maven, Gradle

  • Configuracin de Producto

    Producto 1

    Producto 2

    Producto n

  • Derivacin de Producto

    1. Depende de la tcnica de implementacin utilizada

    ProcesoAutomatizado

  • Perspectivas

    1. Tcnicas de Implementacin para la interfaz de usuario

    2. Atributos de Calidad en la configuracin de Producto

    3. Adopcin extractiva en la academia

    4. Dynamic Software Product Lines

    5. Model-Driven Software Product Lines

    19

  • Referencias

    Curso Fbricas de Software y Lneas 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

    http://catalogo.uniandes.edu.co/es-ES/2015/Catalog/Courses/MISO/4000/MISO-4204https://github.com/MISO4204-201520/escarabajo.githttps://github.com/MISO4204-201620/EcoTravelCo.githttps://github.com/SPL-201620/RCBike.githttps://github.com/miso4204/Grupo01.git