Está en la página 1de 67

IEEE Computer Society Regin 9 Captulo Argentina Programa DVP

Desarrollo de Software Basado en Lneas de Productos de Software


Jons A. Montilva C., Ph.D.
IEEE Member Universidad de Los Andes Facultad de Ingeniera Departamento de Computacin Mrida Venezuela

Contenidos

Desarrollo de Software basado en Lneas de Productos

Desarrollo de Software Basado en Lnea de Productos

Desarrollo de Software basado en Lneas de Productos

Qu es una Lnea de Productos de Software (LPS)

La idea bsica:
Ensamblaje de partes de software previamente elaboradas Inspirada en los procesos de produccin de sistemas fsicos
Produccin de aviones, vehculos, computadores, aparatos electrnicos, etc.

Fundamentada en la Reutilizacin de Software Asume la existencia de una industria de partes

Desarrollo de Software basado en Lneas de Productos

Antecedentes
Reutilizacin de software
La reutilizacin de software es el proceso de implementar o actualizar sistemas de software usando activos de software existentes (Sodhi & Sodhi, 1999)

"Reutilizacin 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 Lneas de Productos

Antecedentes
Existen varias modalidades de reutilizacin utilizadas en empresas de software:
Individual Oportunista Gestionada:
Institucionalizada, sistemtica, planificada, mejorada

Tradicionalmente, la reutilizacin ha estado basada en oportunidad


Los componentes se almacenan en un repositorio a la espera de una oportunidad de reutilizacin

Desarrollo de Software basado en Lneas de Productos

Antecedentes
Desarrollo de Software Basado en Componentes
Las aplicaciones se crean mediante la integracin de componentes nuevos, legados o de terceros (COTS)
<<componente de negocio>> Cliente

<<interfaz>>

<<componente de proceso>> Sistema de Ventas

<<interfaz>>

<<componente de negocio>> Producto

<<interfaz>>

<<componente de negocio>> Cuenta

Desarrollo de Software basado en Lneas de Productos

Definiciones de Lneas de Productos de Software


"...se refieren a tcnicas de ingeniera para crear un portafolio de sistemas de software similares, a partir de un conjunto compartido de activos de software, usando un medio comn de produccin" (Krueger, 2006) "... es un conjunto de sistemas de software que comparten un conjunto comn y gestionado de aspectos que satisfacen las necesidades especficas de un segmento de mercado o misin y que son desarrollados a partir de un conjunto comn de activos fundamentales [de software] de una manera preescrita" (Clements and Northrop, 2002) "...consiste de una familia de sistemas de software que tienen una funcionalidad comn y alguna funcionalidad variable" (Gomma, 2004)
La funcionalidad comn descansa en el uso recurrente de un conjunto comn de activos reutilizables (requisitos, diseos, componentes, servicios web, etc.) Los activos son reutilizados por todos los miembros de la familia
Desarrollo de Software basado en Lneas de Productos 8

Lneas de Productos de Software (LPS)


Modelo Bsico de una Lnea de Productos de Software (LPS)
www.softwareproductlines.com

Decisiones de Producto

Produccin
Activos de Software

Productos de Software

Desarrollo de Software basado en Lneas de Productos

Modelo Bsico de una Lnea de Productos de Software


La entrada: Activos de Software
Una coleccin de partes de software (requisitos, diseos, componentes, casos de prueba, etc.) que se configuran y componen de una manera prescrita para producir los productos de la lnea

Control: Modelos de Decisiones y Decisiones de Producto

El control: Modelos de Decisin y Decisiones de Productos


Los Modelos de Decisiones describen los aspectos variables y opcionales de los productos de la lnea Cada producto de la lnea es definido por un conjunto de decisiones (decisiones del producto)
Desarrollo de Software basado en Lneas de Productos

Produccin Entrada: Activos de Software


Productos de Software

10

Modelo Bsico de una Lnea de Productos de Software


El proceso de produccin
Establece los mecanismos o pasos para componer y configurar productos a partir de los activos de entrada Las decisiones del producto se usan para determinar que activos de entrada utilizar y como configurar los puntos de variacin de esos activos

Control: Modelos de Decisiones y Decisiones de Producto

El proceso: Produccin
Entrada: Activos de Software

Salida: Productos de Software

La salida: Productos de software


Conjunto de todos los productos que pueden o son producidos por la lnea de productos

Desarrollo de Software basado en Lneas de Productos

11

Beneficios
La entrega de productos de software de una manera
ms rpida, econmica y con una mejor calidad

Las LPS producen mejoras en: Tiempo de entrega del producto (time to market)
Costos de ingeniera Tamao del portafolio de productos Reduccin de las tasas de defectos Calidad de los productos
Desarrollo de Software basado en Lneas de Productos 12

Beneficios
Beneficios tcticos y estratgicos (Krueger, 2006): Beneficios tcticos de ingeniera:
Reduccin en el tiempo promedio de creacin y entrega de nuevos productos Reduccin en el nmero promedio de defectos por producto Reduccin en el esfuerzo promedio requerido para desarrollar y mantener los productos Reduccin en el costo promedio de produccin de los productos Incremento en el nmero total de productos que pueden ser efectivamente desplegados y mantenidos

Desarrollo de Software basado en Lneas de Productos

13

Beneficios
Beneficios tcticos y estratgicos (cont.): Beneficios estratgicos de negocios
Reduccin 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 Mrgenes mayores de ganancias Mejor calidad de los productos Mejoras en la reputacin de la empresa Mayor escalabilidad del modelo de negocios en trminos de productos y mercados Mayor agilidad para expandir el negocio a nuevos mercados Reduccin de riesgos en la entrega de productos

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 Lneas de Productos

14

Aspectos fundamentales
El paradigma de desarrollo de software LPS requiere que las empresas que lo adopten consideren:
Aspectos conceptuales
Conceptos en los que las LPS se fundamentan

Aspectos tecnolgicos
Qu tecnologas son fundamentales para desarrollar y mantener activos y productos de software

Aspectos metodolgicos
Cmo desarrollar y mantener los activos y productos de software

Aspectos organizativos
Cmo debe la empresa organizarse internamente

Aspectos gerenciales
Cmo gestionar los proyectos de desarrollo de activos y productos

Desarrollo de Software basado en Lneas de Productos

15

Desarrollo de Software Basado en Lnea de Productos

Desarrollo de Software basado en Lneas de Productos

16

Evolucin de la Reutilizacin de Software


Reutilizacin de Software
Desarrollo de Software Basado en Lneas de Productos Desarrollo de Software Basado en Componentes Ingeniera de Dominio Ingeniera de Aplicaciones Desarrollo de Software con reutilizacin

Desarrollo de Software para reutilizacin


Desarrollo de Software basado en Lneas de Productos

17

Reutilizacin de software
La reutilizacin de activos de software en LPS tiene varias caractersticas:
Es estratgica
Consolida lo comn entre la lnea de productos Maneja estratgicamente la variacin entre los productos de la lnea Elimina la duplicacin de esfuerzos de ingeniera

Es predictiva
La reutilizacin de activos se da en uno o ms productos sobre una lnea bien definida Se reutilizan arquitecturas de software, en lugar de reutilizar componentes de manera oportunista

Es gestionada
Es sistemtica, planificada, institucionalizada y mejorada

Desarrollo de Software basado en Lneas de Productos

18

Activos de software reutilizable


Un activo de software reutilizable es un producto de software diseado expresamente para ser utilizado mltiples veces en el desarrollo de diferentes sistemas o aplicaciones Un activo de software puede ser:
Un componente de software Una especificacin de requisitos Un modelo de negocios Una especificacin de diseo Un algoritmo Un patrn de diseo Una arquitectura de dominio Un esquema de base de datos Una especificacin de prueba La documentacin de un sistema Un plan

Desarrollo de Software basado en Lneas de Productos

19

Componentes de software reutilizable


Un componente de software reutilizable es
Una pieza [de software] funcional que es liberada independientemente [de otras] y que proporciona acceso a sus servicios a travs de sus interfaces [Brown, 2000]

Puede ser liberado (desplegado e instanciado) independientemente de otros: Ofrece servicios a travs de sus interfaces Para utilizar su funcionalidad se emplean sus interfaces

Desarrollo de Software basado en Lneas de Productos

20

Componentes de software reutilizable (CSR)


Definicin del CBDi Forum [1999]:
Un componente es una pieza de software que describe y/o libera un conjunto de servicios que son usados slo a travs de interfaces bien definidas

Caractersticas esenciales de un CSR:


Identificable Autocontenido Rastreable a travs de su ciclo de desarrollo Reemplazable por otro componente Accesible solamente a travs de su interfaz Inmutabilidad de sus servicios Documentacin de sus servicios Mantenido sistemticamente

Desarrollo de Software basado en Lneas de Productos

21

Componentes de software reutilizable (CSR)

Tipos de CSR
Segn su modificabilidad
Caja negra Caja blanca

Segn la tecnologa usada


Componentes imperativos
Mdulos, funciones

Segn su granularidad
Componentes de uso especfico Componentes de negocio Marcos (frameworks) Componentes de aplicacin

Componentes OO
Clases

Componentes distribuidos
Componentes CORBA Componentes .NET Componentes J2EE Servicios web

Segn su fabricante
Componentes hechos en casa COTS Component Off The Shelf

Desarrollo de Software basado en Lneas de Productos

22

Dominios y familias
Un dominio es un rea de aplicacin de productos de software que:
estn centradas en torno a un cuerpo de conocimientos tienen una economa de alcance asociada
Ocurre cuando construir un activo y usarlo en mltiples productos ocasiona ms beneficios que crear el activo para cada producto

Pueden dividirse en subdominios


Redes de Servicios
Redes elctricas Otras redes

Acueductos

Oloductos

Desarrollo de Software basado en Lneas de Productos

23

Dominios y familias
Una familia de productos de software es un conjunto de productos de software asociados a un dominio determinado Los miembros de la familia comparten aspectos comunes tales como:
un diseo arquitectnico comn un conjunto componentes reutilizables capacidades y servicios comunes tecnologas comunes

Desarrollo de Software basado en Lneas de Productos

24

Lneas de productos de software (LPS)


Una LPS es una familia de productos de software que: tiene un conjunto de aspectos gestionados que son comunes a todos los miembros de la familia
los productos de la lnea son desarrollados a partir de un conjunto de activos de software reutilizables

Una familia de productos de software tiene: Aspectos comunes que son compartidos por todos sus productos
Aspectos variables que establecen diferencias entre los productos
Desarrollo de Software basado en Lneas de Productos 25

Lneas de productos de software (LPS)


El objetivo principal de una LPS es:
Reducir el tiempo, esfuerzo, costo y complejidad de crear y mantener los productos de la lnea mediante:
La capitalizacin de los aspectos comunes de la lnea de productos
A travs de la consolidacin y reutilizacin de los activos de entrada a la lnea

El manejo de los aspectos variables de los productos de la lnea


A travs de los puntos de variacin de los activos y los modelos de decisin

(Krueger, 2006)
Desarrollo de Software basado en Lneas de Productos 26

Desarrollo de Software Basado en Lnea de Productos

Desarrollo de Software basado en Lneas de Productos

27

Arquitecturas de LPS
"Una arquitectura de software es la estructura o estructuras de un sistema que comprende los componentes del software, las propiedades visibles externamente de estos componentes, y las relaciones entre ellos" (Bass, 1998)

id Component Model

Componente 1

Componente 2

Las propiedades externas de los componentes son:


sus interfaces (APIs) y sus caractersticas
rendimiento, manipulacin de errores, uso compartido de recursos, etc.
Desarrollo de Software basado en Lneas de Productos

Componente 3

Componente 4

Componente 5

28

Arquitecturas de LPS
La arquitectura de una LPS es una arquitectura de software genrica
Describe la estructura de toda la familia de productos y no solamente la de un producto particular

Captura los aspectos comunes y variables de una familia de productos de software


Los aspectos comunes de la arquitectura son capturados por los componentes de software que son comunes a toda la familia Los aspectos variables de la arquitectura son capturados por los componentes de software que varan entre los miembros de la familia

Tambin denominada arquitectura de dominio

La arquitectura LPS debe ser instanciada cada vez que se desarrolla un producto de la lnea

Desarrollo de Software basado en Lneas de Productos

29

Arquitecturas de LPS
Una arquitectura LPS es instanciada a travs de mecanismos de variabilidad:
Herencia
Ej. Suplantacin de un mtodo heredado de una clase en un componente

Puntos de extensin
Ej. Se agrega nueva funcionalidad o comportamiento a un componente

Parametrizacin
El comportamiento de un componente puede ser parametrizado a tiempo de diseo y definido a tiempo de implementacin Ej. macros o templates

Configuracin
Seleccin y "deseleccin" de los componentes de la arquitectura

Seleccin a tiempo de compilacin


La implementacin de una funcionalidad es seleccionada, entre varias posibles, al momento de la compilacin del componente o de la aplicacin

Desarrollo de Software basado en Lneas de Productos

30

Repositorios LPS
Las lneas de productos de software requieren almacenar sus activos de software en repositorios Un repositorio LPS es una base de datos especializada que:
almacena activos de software y facilita la recuperacin y el mantenimiento de los activos de software Su objetivo es asegurar la disponibilidad de activos para apoyar el desarrollo de productos de la LPS
Activos de Software
Desarrollo de Software basado en Lneas de Productos 31

Repositorios LPS
El repositorio mantiene informacin relevante de cada activo usado en la LPS:
Especificacin tcnica del activo Historia o registro de uso Clasificacin del activo Documentacin del activo

Activos de Software

Desarrollo de Software basado en Lneas de Productos

32

Repositorios LPS
Tipos de Repositorios LPS

Segn su alcance
Locales
Son desarrollados y reusados internamente por una organizacin o empresa

Segn su propsito
De reuso
Permiten el almacenamiento y recuperacin de activos de software

Globales o de uso comercial


Disponibles a terceros bajo adquisicin o subscripcin Ejemplos: COTS, Servicios Web

De referencia
Facilitan la localizacin de activos en otros repositorios Ejemplo: UDDIs

Segn su aplicabilidad
De dominio especfico De dominio general
Desarrollo de Software basado en Lneas de Productos 33

reas de prcticas y patrones para LPS


La introduccin del paradigma LPS en una empresa de software es un proceso complejo, gradual y lleno de dificultades Para obtener los beneficios que este paradigma ofrece, una empresa debe tomar en consideracin diferentes factores:
tecnolgicos, metodolgicos, organizacionales y gerenciales

Clements y Northrop (2002) definen un conjunto de reas de prcticas y patrones


Son esenciales considerar para asegurar el xito de la implantacin del paradigma LPS en una empresa

Desarrollo de Software basado en Lneas de Productos

34

reas de Prctica LPS


Un rea de prctica es una coleccin de actividades que una empresa debe ejecutar y dominar para implantar exitosamente una LPS Estas reas de prctica describen actividades que son normalmente recomendadas por el SEI para el desarrollo exitoso de software Guardan una correspondencia estrecha con las reas de procesos definidas por el CMMI-SW

Desarrollo de Software basado en Lneas de Productos

35

reas de Prctica LPS


Tres tipos de reas de prcticas LPS recomendadas por Clements y Northrop (2002):
reas de prctica de Ingeniera de Software Ejemplos: Definicin y evaluacin de una arquitectura LPS

reas de prctica de Gestin Tcnica Ejemplo: Planificacin de los proyectos de desarrollo de componentes de productos (aplicaciones)

reas de prctica de Gestin Organizacional Ejemplo: Estructuracin de la empresa

Desarrollo de Software basado en Lneas de Productos

36

Patrones LPS
Un patrn es una regla de tres partes, las cuales expresan una relacin entre un contexto, un problema y una solucin (Alexander, 1979) Los patrones LPS plantean soluciones a problemas recurrentes relacionados con las situaciones organizacionales de las LPS Las soluciones son planteadas en trminos de las reas de prcticas y sus relaciones Un ejemplo: El patrn "Que Construir"
Desarrollo de Software basado en Lneas de Productos 37

Un ejemplo: El patrn "Que Construir"


El Contexto:
Una empresa ha decidido crear una lnea de productos de software y conoce bien el dominio de aplicacin de los productos

El Problema:
Determinar que productos debern ser incluidos en la lnea de productos

La Solucin:
Para determinar que productos producir, se requiere informacin relacionada con:
El dominio de aplicacin, la tecnologa y el mercado La justificacin del negocio El proceso para describir el conjunto de productos que sern incluidos en la lnea de productos

Desarrollo de Software basado en Lneas de Productos

38

Un ejemplo: El patrn "Que Construir"


Las reas de prctica requeridas por la solucin:
Anlisis del Mercado Ayuda a entender el mercado que tendr los productos de la lnea: qu productos tienen mayor demanda, cul es la competencia, cul es el tamao del mercado y cuales las oportunidades Entendimiento de dominios relevantes Proporciona un modelo del dominio, los requisitos del dominio y los aspectos comunes y variables a todos los sistemas (aplicaciones) que forman el dominio Proyeccin tecnolgica Permite predecir que productos que productos pueden llegar a ser factibles en el futuro cercano Construccin de un caso de negocios Proporciona una justificacin de la seleccin de productos y del enfoque se usar para construirlos Definicin del alcance (scoping) Describe cuales productos sern incluidos en la lnea de productos y cuales no
Desarrollo de Software basado en Lneas de Productos 39

Desarrollo de Software Basado en Lnea de Productos

Desarrollo de Software basado en Lneas de Productos

40

reas de Prctica de Ingeniera de Software


Los aspectos metodolgicos de las LPS involucran la aplicacin de un conjunto de prcticas de ingeniera: Definicin de la arquitectura LPS Evaluacin de la arquitectura LPS Desarrollo de componentes Utilizacin de COTS Minera de activos existentes Ingeniera de Requisitos Integracin de sistemas de software Pruebas Entendimiento de dominios relevantes

Desarrollo de Software basado en Lneas de Productos

41

Los procesos bsicos de una LPS


Procesos de negocio de una LPS

Activos de software

od Procesos LPS

Ingeniera de Dominio

Ingeniera de Aplicaciones

Productos de software

Gestin Tecnolgica
Procesos de desarrollo

Gestin Organizacional

Organizacin de la empresa

Desarrollo de Software basado en Lneas de Productos

42

Ingeniera de Dominio
La Ingeniera de Dominio (ID) captura informacin y representa el conocimiento sobre un dominio determinado, con el fin de:
crear activos de software reutilizables en el desarrollo de cualquier nuevo producto de una LPS

Productos de la ID:
Definiciones de dominios (descripciones del contexto) Modelos del dominio Modelos de requisitos del dominio Modelos arquitectnicos (arquitecturas de dominio) Ontologas del dominio Lenguajes del dominio Estndares del dominio

Desarrollo de Software basado en Lneas de Productos

43

Ingeniera de Dominio
Actividades principales de la Ingeniera de Dominio
Anlisis de Aspectos:
Analiza la familia para determinar los requisitos que son comunes, opcionales y diferentes a todos sus miembros

Diseo de la Arquitectura LPS:


Produce una arquitectura de dominio la cual tiene:
Componentes comunes a todos los miembros de la familia Componentes opcionales que son requeridos por algunos miembros Componentes variantes de los cuales algunos miembros de la familia emplean distintas versiones
Tienen puntos de variacin que permiten configurarlos

Implementacin del Dominio


Consiste en la creacin y almacenamiento de los activos de software que se emplearn para producir los productos de software

Desarrollo de Software basado en Lneas de Productos

44

Ingeniera de Aplicaciones
La Ingeniera de Aplicaciones (IA) se encarga del desarrollo de los productos de la LPS a travs de:
la reutilizacin de activos de software planes de produccin

La arquitectura de dominio es empleada como un modelo de referencia para disear los productos de la LPS El repositorio LPS provee los activos requeridos durante el desarrollo de cada nuevo producto de la LPS

Desarrollo de Software basado en Lneas de Productos

45

Modelos de procesos para LPS


El Modelo TWIN El mtodo WATCH
Modelo WATCH Component Modelo WATCH App

El modelo del Software Engineering Institute (SEI) El modelo ESPLEP


Evolutionary Software Product Lines Engineering Process

Desarrollo de Software basado en Lneas de Productos

46

El Modelo TWIN extendido


Modelo empleado en el Desarrollo de Software basado en Componentes Ingeniera de Dominio
Anlisis del Dominio
Adquisicin de conocimiento del dominio Anlisis de aplicaciones del dominio Definicin de requisitos. del dominio Modelado del dominio

Diseo del Dominio


Diseo de la arquitectura de dominio Evaluacin de la arquitectura

Ingeniera de Componentes
Desarrollo de componentes Gestin del repositorio de comp.

Sistema de Gestin de ASR

Anlisis y especificacin de requisitos

Diseo de la arquitectura de la aplicacin

Bsqueda de componentes

Desarrollo de nuevos componentes Adaptacin de componentes

Integracin de componentes

Pruebas de la aplicacin

Ingeniera de Aplicaciones
Desarrollo de Software basado en Lneas de Productos 47

El Mtodo WATCH
Modelo propuesto en la Universidad de Los Andes (Venezuela) para el desarrollo de aplicaciones empresariales Consta de dos componentes metodolgicos:
Entrega de la Aplicacin Liberacin del Componente Especificacin del Componente Modelado de Negocios

Pruebas de la Aplicacin

Ingeniera de Requisitos

Certificacin del Componente

WATCH Component Aprovisionamiento


Ensamblaje de Componentes Pruebas del Componente

WATCH Application

Diseo Arquitectnico

Aprovisionamiento de Componentes

Especificacin de Componentes

Ingeniera de Dominio: Desarrollo de Componentes


Desarrollo de Software basado en Lneas de Productos

Ingeniera de Aplicaciones: Desarrollo de Aplicaciones Empresariales


48

El Mtodo WATCH-Component
Modelo de procesos para el desarrollo de componentes de software reutilizables

Desarrollo de Software basado en Lneas de Productos

49

El mtodo WATCH-Application
Modelo de procesos para el desarrollo de aplicaciones empresariales (Montilva y Barrios, 2004)
Operacin y Mantenimiento Modelado del Negocio Entrega de la Aplicacin Ingeniera de Requisitos

Pruebas de la Aplicacin

Procesos Gerenciales

Diseo Arquitectnico

Ensamblaje de Componentes Aprovisionamiento de Componentes

Diseo de Componentes

Desarrollo de Software basado en Lneas de Productos

50

El modelo del SEI


Modelo de procesos de LPS desarrollado en el Software Engineering Institute (SEI) Disponible en http://www.sei.cmu.edu/productlines/framework.html

Desarrollo de Software basado en Lneas de Productos

51

El modelo del SEI


Desarrollo de Activos Fundamentales (Ingeniera de Dominio)
Objetivo:
Establecer la capacidad de produccin para los productos mediante el desarrollo de activos de software reutilizables

Salidas:
Alcance de la lnea Activos Plan de Produccin

Desarrollo de Software basado en Lneas de Productos

52

El modelo del SEI


Desarrollo de Productos (Ingeniera de Aplicaciones)
Objetivo:
Elaborar los productos de la lnea a partir del ensamblaje de activos fundamentales siguiendo el plan de produccin

Salida:
Productos acabados de la lnea
Desarrollo de Software basado en Lneas de Productos 53

El modelo del SEI


Gestin de la Lnea de Productos (Management)
Objetivo:
Proporcionar los recursos, coordinar y supervisar el desarrollo de activos y productos

Dividida en:
Gestin tcnica
Orientada a los grupos que desarrollan activos y productos

Gestin organizacional
Orientada a los aspectos organizacionales (estructura, relaciones, recursos, financiamiento, etc.)
Desarrollo de Software basado en Lneas de Productos

Organizational Management

54

El modelo SPLEP
SPLEP = Evolutionary Software Product Line Engineering Process (Gooma, 2004)

Desarrollo de Software basado en Lneas de Productos

55

El modelo SPLEP
Fases de la Ingeniera de Lnea de Productos del mtodo SPLEP (Gooma, 2004)

Desarrollo de Software basado en Lneas de Productos

56

El modelo SPLEP
Fases de la Ingeniera de Aplicaciones del mtodo SPLEP (Gooma, 2004)

Desarrollo de Software basado en Lneas de Productos

57

Desarrollo de Software Basado en Lnea de Productos

Desarrollo de Software basado en Lneas de Productos

58

Aspectos Organizacionales

Estn relacionados con:


la organizacin de la empresa y las actividades que ella debe implantar para asegurar el aprovechamiento eficaz y eficiente del paradigma LPS

Desarrollo de Software basado en Lneas de Productos

59

reas de prctica de Gestin Organizacional


Los aspectos organizacionales de las LPS involucran la aplicacin de un conjunto de prcticas de gestin: Construccin de casos de negocio Gestin de relaciones con los clientes Desarrollo de una estrategia de adquisicin Anlisis de mercados Operaciones Planificacin organizacional Gestin de riesgos organizacionales Estructuracin de la empresa Proyeccin de tecnologas Capacitacin de personal

Desarrollo de Software basado en Lneas de Productos

60

Desarrollo de Software Basado en Lnea de Productos

Desarrollo de Software basado en Lneas de Productos

61

Aspectos Gerenciales
Estn relacionados con la aplicacin de los procesos gerenciales en las actividades de Ingeniera de Dominio e Ingeniera de Aplicacin de una LPS
Planificacin de Proyectos Organizacin de Grupos de Trabajo
Grupos de Soporte
Administracin de Repositorios de Activos de Software Grupos de Mantenimiento de Aplicaciones

Grupos de Desarrollo
Grupos de desarrollo de componentes Grupos de desarrollo de aplicaciones

Direccin Administracin de recursos Control

Desarrollo de Software basado en Lneas de Productos

62

reas de prctica de Gestin Tcnica


Los aspectos gerenciales de las LPS involucran la aplicacin de un conjunto de prcticas de gestin tcnica:
Gestin de la Configuracin Recoleccin de datos, mtricas y seguimiento Anlisis de hacer/comprar/descubrir/enco mendar (aprovisionamiento de activos) Definicin de procesos Alcance Planificacin tcnica Gestin de riesgos tcnicos Soporte de herramientas

Desarrollo de Software basado en Lneas de Productos

63

Desarrollo de Software Basado en Lnea de Productos

Desarrollo de Software basado en Lneas de Productos

64

Conclusiones

Las Lneas de Productos de Software representan el estado del arte en Reutilizacin del Software La implantacin del paradigma LPS en una empresa es un proceso complejo Para manejar esta complejidad se requiere considerar diferentes aspectos:
Conceptuales Tecnolgicos Metodolgicos Organizacionales Gerenciales

Desarrollo de Software basado en Lneas de Productos

65

Desarrollo de Software Basado en Lnea de Productos

Desarrollo de Software basado en Lneas de Productos

66

Desarrollo de Software Basado en Lnea de Productos

jonas@ula.ve http://www.webdelprofesor.ula.ve/ingeniera/jonas
Jons Montilva, 2006
Desarrollo de Software basado en Lneas de Productos 67

También podría gustarte