software product lines

Post on 10-Jun-2015

280 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

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

SOFTWARE PRODUCT LINES

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

Fáber Danilo Giraldo Velásquez, MSc

SOFTWARE PRODUCT LINES

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

Fáber Danilo Giraldo Velásquez, MSc

3

Agenda

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

4

El éxito del negocio Requiere Software Sofisticado

Introducción

5

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

7

Desarrollo de Software Basado en Componentes

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

8

Modelo Básico de una SPL

Producción

9

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

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

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

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.

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.

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

16

17

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

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

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

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

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

23

|

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

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.

26

ConclusionesPara manejar esta complejidad se requiere considerar

diferentes aspectos:

Conceptuales Tecnológicos Metodológicos Organizacionales Gerenciales

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/

28

¿Preguntas?

29

jghernandezh@uqvirtual.edu.co

fdgiraldo@uniquindio.edu.co

christiandavidalvarez@gmail.com

gregoriouq.blogspot.com

30

top related