PDF de programación - Desarrollo de Software Basado en Líneas de Productos de Software

Imágen de pdf Desarrollo de Software Basado en Líneas de Productos de Software

Desarrollo de Software Basado en Líneas de Productos de Softwaregráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 15 de Octubre del 2017)
916 visualizaciones desde el 15 de Octubre del 2017
609,6 KB
67 paginas
Creado hace 17a (10/10/2006)
IEEE Computer
IEEE

Computer Society

Society RegiRegióón 9n 9
CapCapíítulo Argentina
tulo Argentina
Programa DVP
Programa DVP

Desarrollo de Software Basado en
Líneas de Productos de Software

Jonás A. Montilva C., Ph.D.
IEEE Member

Universidad de Los Andes
Facultad de Ingeniería
Departamento de Computación
Mérida – Venezuela

Contenidos

Desarrollo de Software basado en Líneas de Productos

2

Desarrollo de Software Basado en Línea de Productos

Desarrollo de Software basado en Líneas de Productos

3

Qué es una Línea de Productos de Software (LPS)

(cid:122) La idea básica:

(cid:122) Ensamblaje de partes de software previamente elaboradas
(cid:122) Inspirada en los procesos de producción de sistemas

físicos
(cid:122) Producción de aviones, vehículos, computadores, aparatos

electrónicos, etc.

(cid:122) Fundamentada en la Reutilización de Software
(cid:122) Asume la existencia de una industria de partes

Desarrollo de Software basado en Líneas de Productos

4

Antecedentes

(cid:122) Reutilización de software

(cid:122) “La reutilización de software es el proceso de implementar o
actualizar sistemas de software usando activos de software
existentes”

(Sodhi & Sodhi, 1999)

(cid:122) "Reutilización de software es el proceso de crear sistemas de

software a partir de software existente, en lugar de desarrollarlo
desde el comienzo"

(Sametinger, 1997)

Desarrollo de Software basado en Líneas de Productos

5

Antecedentes

(cid:122) Existen varias modalidades de reutilización

utilizadas en empresas de software:

(cid:122) Individual
(cid:122) Oportunista
(cid:122) Gestionada:

(cid:131)

Institucionalizada, sistemática, planificada, mejorada

(cid:122) Tradicionalmente, la reutilización ha estado basada

en oportunidad

(cid:122) Los componentes se almacenan en un repositorio a la

espera de una oportunidad de reutilización

Desarrollo de Software basado en Líneas de Productos

6

Antecedentes

(cid:122) Desarrollo de Software Basado en Componentes

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

<<interfaz>>

<<componente de negocio>>

Cliente

<<componente de proceso>>

Sistema de Ventas

<<interfaz>>

<<componente de negocio>>

Producto

<<interfaz>>

<<componente de negocio>>

Cuenta

Desarrollo de Software basado en Líneas de Productos

7

Definiciones de Líneas de Productos de Software

(cid:122) "...se refieren a técnicas de ingeniería para crear un portafolio de

sistemas de software similares, a partir de un conjunto
compartido de activos de software, usando un medio común de
producción" (Krueger, 2006)

(cid:122) "... es un conjunto de sistemas de software que comparten un
conjunto común y gestionado de aspectos que satisfacen las
necesidades específicas de un segmento de mercado o misión y
que son desarrollados a partir de un conjunto común de activos
fundamentales [de software] de una manera preescrita"
(Clements and Northrop, 2002)

(cid:122) "...consiste de una familia de sistemas de software que tienen

una funcionalidad común y alguna funcionalidad variable"
(Gomma, 2004)
(cid:122) La funcionalidad común descansa en el uso recurrente de un
conjunto común de activos reutilizables (requisitos, diseños,
componentes, servicios web, etc.)

(cid:122) Los activos son reutilizados por todos los miembros de la familia

Desarrollo de Software basado en Líneas de Productos

8

Líneas de Productos de Software (LPS)

(cid:122) Modelo Básico de una Línea de Productos de Software (LPS)

www.softwareproductlines.com

Decisiones de
Producto

Producción

Activos de
Software

Productos de

Software

Desarrollo de Software basado en Líneas de Productos

9

Modelo Básico de una Línea de Productos de Software

(cid:122) La entrada: Activos de

Software
(cid:122) Una colección de partes de

software (requisitos, diseños,
componentes, casos de
prueba, etc.) que se configuran
y componen de una manera
prescrita para producir los
productos de la línea

(cid:122) El control: Modelos de

Decisión y Decisiones de
Productos
(cid:122) Los Modelos de Decisiones
describen los aspectos
variables y opcionales de los
productos de la línea

(cid:122) Cada producto de la línea es

definido por un conjunto de
decisiones (decisiones del
producto)

Control:
Modelos de
Decisiones y
Decisiones de
Producto

Producción

Entrada:
Activos de
Software

Productos de

Software

Desarrollo de Software basado en Líneas de Productos

10

Modelo Básico de una Línea de Productos de Software

(cid:122) El proceso de producción

(cid:122) Establece los mecanismos o
pasos para componer y
configurar productos a partir
de los activos de entrada

(cid:122) Las decisiones del producto se

usan para determinar que
activos de entrada utilizar y
como configurar los puntos de
variación de esos activos

Control:
Modelos de
Decisiones y
Decisiones de
Producto

El proceso:
Producción

Entrada:
Activos de
Software

Salida:

Productos de

Software

(cid:122) La salida: Productos de

software
(cid:122) Conjunto de todos los

productos que pueden o son
producidos por la línea de
productos

Desarrollo de Software basado en Líneas de Productos

11

Beneficios

(cid:122) La entrega de productos de software de una manera

(cid:122) más rápida,
(cid:122) económica y
(cid:122) con una mejor calidad

(cid:122) Las LPS producen mejoras en:

(cid:122) Tiempo de entrega del producto (time to market)
(cid:122) Costos de ingeniería
(cid:122) Tamaño del portafolio de productos
(cid:122) Reducción de las tasas de defectos
(cid:122) Calidad de los productos

Desarrollo de Software basado en Líneas de Productos

12

Beneficios

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

(cid:122) Beneficios tácticos de ingeniería:

(cid:122) Reducción en el tiempo promedio de creación y entrega de

nuevos productos

(cid:122) Reducción en el número promedio de defectos por producto
(cid:122) Reducción en el esfuerzo promedio requerido para desarrollar

y mantener los productos

(cid:122) Reducción en el costo promedio de producción de los

productos

(cid:122) Incremento en el número total de productos que pueden ser

efectivamente desplegados y mantenidos

Desarrollo de Software basado en Líneas de Productos

13

Beneficios

(cid:122) Beneficios tácticos y estratégicos (cont.):

(cid:122) Beneficios estratégicos de negocios

(cid:122) Reducción en el tiempo de entrega (time-to-market) y el tiempo de

retorno (time-to-revenue) de nuevos productos

(cid:122) Mejoras en el valor competitivo del producto
(cid:122) Márgenes mayores de ganancias
(cid:122) Mejor calidad de los productos
(cid:122) Mejoras en la reputación de la empresa
(cid:122) Mayor escalabilidad del modelo de negocios en términos de

productos y mercados

(cid:122) Mayor agilidad para expandir el negocio a nuevos mercados
(cid:122) Reducción de riesgos en la entrega de productos

(cid:122) Algunas empresas han reportado mejoras que van en el rango
de factores de 3 a 50 en los beneficios discutidos anteriormente

Desarrollo de Software basado en Líneas de Productos

14

Aspectos fundamentales

(cid:122) El paradigma de desarrollo de software LPS requiere que las

empresas que lo adopten consideren:
(cid:122) Aspectos conceptuales

(cid:122) Conceptos en los que las LPS se fundamentan

(cid:122) Aspectos tecnológicos

(cid:122) Qué tecnologías son fundamentales para desarrollar y mantener activos

y productos de software
(cid:122) Aspectos metodológicos

(cid:122) Cómo desarrollar y mantener los activos y productos de software

(cid:122) Aspectos organizativos

(cid:122) Cómo debe la empresa organizarse internamente

(cid:122) Aspectos gerenciales

(cid:122) Cómo gestionar los proyectos de desarrollo de activos y productos

Desarrollo de Software basado en Líneas de Productos

15

Desarrollo de Software Basado en Línea de Productos

Desarrollo de Software basado en Líneas de Productos

16

Evolución de la Reutilización de Software

Reutilización de Software

Desarrollo de Software

Basado en

Líneas de Productos

Desarrollo de Software
Basado en Componentes

Ingeniería de

Dominio

Ingeniería de
Aplicaciones

Desarrollo de Software

para reutilización

Desarrollo de Software

con reutilización

Desarrollo de Software basado en Líneas de Productos

17

Reutilización de software

(cid:122) La reutilización de activos de software en LPS tiene varias

características:
(cid:122) Es estratégica

(cid:122) Consolida lo común entre la línea de productos
(cid:122) Maneja estratégicamente la variación entre los productos de la

línea

(cid:122) Elimina la duplicación de esfuerzos de ingeniería

(cid:122) Es predictiva

(cid:122) La reutilización de activos se da en uno o más productos sobre

una línea bien definida

(cid:122) Se reutilizan arquitecturas de software, en lugar de reutilizar

componentes de manera oportunista

(cid:122) Es gestionada

(cid:122) Es sistemática, planificada, institucionalizada y mejorada

Desarrollo de Software basado en Líneas de Productos

18

Activos de software reutilizable

(cid:122) Un activo de software reutilizable es un producto de

s
  • Links de descarga
http://lwp-l.com/pdf7188

Comentarios de: Desarrollo de Software Basado en Líneas de Productos de Software (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad