software product lines

30
SOFTWARE PRODUCT LINES Jose Gregorio Hernández Hoyos Christian David Álvarez García Fáber Danilo Giraldo Velásquez, MSc

Upload: jose-gregorio-hernandez-hoyos

Post on 10-Jun-2015

280 views

Category:

Software


1 download

DESCRIPTION

Diapositivas utilizadas en la ponencia "Software Product Lines" en la Jornada de Actualización Tecnológica, Ingeniería de Sistemas y Computación. Universidad del Quindío.Armenia, Quindio, Colombia

TRANSCRIPT

Page 1: Software Product Lines

SOFTWARE PRODUCT LINES

Jose Gregorio Hernández HoyosChristian David Álvarez García

Fáber Danilo Giraldo Velásquez, MSc

Page 2: Software Product Lines

SOFTWARE PRODUCT LINES

Jose Gregorio Hernández HoyosChristian David Álvarez García

Fáber Danilo Giraldo Velásquez, MSc

Page 3: Software Product Lines

3

Agenda

• Introducción• Conceptos Básicos• Aplicaciones• Beneficios• Conclusiones• Bibliografía• Preguntas

Page 4: Software Product Lines

4

El éxito del negocio Requiere Software Sofisticado

Introducción

Page 5: Software Product Lines

5

Page 6: Software Product Lines

6

Conceptos BásicosLa idea básica:• Ensamblaje de partes de software previamente elaboradas• Inspirada en los procesos de producción de sistemas físicos• Producción de aviones, vehículos, computadores, aparatos

electrónicos, etc.• Fundamentada en la Reutilización de Software• Asume la existencia de una industria de partes

Page 7: Software Product Lines

7

Desarrollo de Software Basado en Componentes

Las aplicaciones se crean mediante la integración de componentes nuevos, legados o de terceros (COTS)

Page 8: Software Product Lines

8

Modelo Básico de una SPL

Producción

Page 9: Software Product Lines

9

Page 10: Software Product Lines

10

El desarrollo de SPL consta de dos procesos básicos: • La Ingeniería del Dominio, donde se establece cuáles son las partes

comunes y las variables, se construye un conjunto de activos como partes de los sistemas.• La Ingeniería de la Aplicación, donde los activos son reutilizados

sistemáticamente para derivar productos específicos.

De este modo se reducen costes y tiempo de desarrollo.

Procesos primordiales en SPL

Page 11: Software Product Lines

11

El desarrollo de SPL tiene características que lo distinguen del desarrollo de productos individuales. En concreto, la variabilidad, la reusabilidad, la comunalidad, o la composicionabilidad son conceptos específicos de este enfoque para la producción de software. Incluso, el modelo de ciclo de vida de un producto desarrollado mediante SPL es diferente al desarrollo de un producto único. De ahí que no sea posible reutilizar con facilidad los métodos y técnicas de evaluación de la calidad propuesta para productos individuales.

Características principales

Page 12: Software Product Lines

12

Líneas de Productos de Software No esoCopiar y Pegar: el desarrollo de un solo sistema con la reutilización omodificar el código según sea necesario sólo para el sistema único oLas bibliotecas de reutilización que contienen algoritmos, módulos, objetos o

componentes oSólo el desarrollo basada en componentes o basada en servicios o la selección de componentes o servicios de una biblioteca en la casa, el

mercado, o la Web sin foco arquitectura oSólo una arquitectura configurable oSólo un conjunto de normas técnicas oRestringir opciones sin una estrategia de reutilización basado en la

arquitectura

Page 13: Software Product Lines

13

AplicacionesCelsiustech: Sistema de Buques 2000 Una familia de 55 sistemas de la nave

• Necesidad de desarrolladores bajaron de 210 a aproximadamente 30. • Tiempo para el campo se redujo de aproximadamente 9 años a cerca de 3 años. • Los objetivos de costos y el calendario son previsiblemente cumplido.

Page 14: Software Product Lines

14

Cummins Inc.: Sistemas de Control de Diesel Más de 20 grupos de productos, con más de 1000 aplicaciones de motores independientes

• El tiempo de ciclo del producto se redujo de 250 personas-mes a unos pocos meses-persona. • Los objetivos de calidad se superan. • La satisfacción del cliente es alta. • se cumplen los horarios de producto.

Page 15: Software Product Lines

15

Nokia Mobile Phones Las líneas de producto con 25 a 30 productos nuevos por año en comparación con 5 por año en un principio. Al otro lado de los productos hay• un número variable de llaves • diferentes tamaños de pantalla • diferentes conjuntos de características • 58 idiomas soportados • 130 países servidos • múltiples protocolos • las necesidades de compatibilidad con versiones anteriores • características configurables • las necesidades de comportamiento del producto • El cambio después de la liberación

Page 16: Software Product Lines

16

Page 17: Software Product Lines

17

Page 18: Software Product Lines

18

BeneficiosLa entrega de productos de software de una manera• Más rápida• Económica • Con una mejor calidadLas SPL producen mejoras en: • Tiempo de entrega del producto (time to market)• Costos de ingeniería• Tamaño del portafolio de productos• Reducción de las tasas de defectos• Calidad de los productos

Page 19: Software Product Lines

19

Beneficios tácticos y estratégicos (Krueger, 2006):

Beneficios tácticos de ingeniería:

Reducción en el tiempo promedio de creación y entrega de nuevos productos

Reducción en el número promedio de defectos por productoReducción en el esfuerzo promedio requerido para desarrollar y

mantener los productosReducción en el costo promedio de producción de los productosIncremento en el número total de productos que pueden ser

efectivamente desplegados y mantenidos

Page 20: Software Product Lines

20

Beneficios tácticos y estratégicos (Cont): Beneficios estratégicos de negocio:

Reducción en el tiempo de entrega (time-to-market) y el tiempo de retorno

(time-to-revenue) de nuevos productos

Mejoras en el valor competitivo del producto

Márgenes mayores de ganancias

Page 21: Software Product Lines

21

Beneficios tácticos y estratégicos (Cont): Beneficios estratégicos de negocio:

Mejor calidad de los productos

Mejoras en la reputación de la empresa

Mayor escalabilidad del modelo de negocios en términos de productos y mercados

Page 22: Software Product Lines

22

Beneficios tácticos y estratégicos (Cont): Beneficios estratégicos de negocio:

Mayor agilidad para expandir el negocio a nuevos mercados

Reducción de riesgos en la entrega de productos

Page 23: Software Product Lines

23

|

Page 24: Software Product Lines

24

Aspectos Fundamentales

El paradigma de desarrollo de software SPL requiere que las empresas que lo adopten consideren:• Aspectos conceptualesConceptos en los que las SPLse fundamentan

• Aspectos tecnológicosQué tecnologías son fundamentales para desarrollar y mantener activos y productos de software

• Aspectos metodológicosCómo desarrollar y mantener los activos y productos de software

• Aspectos organizativosCómo debe la empresa organizarse internamente

• Aspectos gerencialesCómo gestionar los proyectos de desarrollo de activos y productos

Page 25: Software Product Lines

25

Conclusiones

Las Líneas de Productos de Software representan el estado del arte en Reutilización del Software.

La implantación del paradigma SPL en una empresa es un proceso complejo.

Page 26: Software Product Lines

26

ConclusionesPara manejar esta complejidad se requiere considerar

diferentes aspectos:

Conceptuales Tecnológicos Metodológicos Organizacionales Gerenciales

Page 27: Software Product Lines

27

Bibliografía• Krueger, Ch. Introduction to Software Product Lines.[on line]

www.softwareproductlines.com• Clements and Northrop 2001] P. Clements and L. Northrop; Software

Product Lines: Practices and Patterns, Addison-Wesley, Reading, Massachusetts, 2001.• Linden, F. J., Schmid, K., & Rommes, E. (2007). SOFTWARE PRODUCT

LINES IN ACTION. New York: Springer.• http://msdn.microsoft.com/es-es/library/ee943825.aspx• https://www.sei.cmu.edu/productlines/tools/framework/

Page 28: Software Product Lines

28

¿Preguntas?

Page 29: Software Product Lines

29

[email protected]

[email protected]

[email protected]

gregoriouq.blogspot.com

Page 30: Software Product Lines

30