IEEE Computer Society Regin 9 Captulo Argentina Programa DVP
Desarrollo de Software Basado en Lneas de Productos de
SoftwareJons 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
2
Desarrollo de Software Basado en Lnea de Productos
Desarrollo de Software basado en Lneas de Productos
3
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
fsicosProduccin 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
4
AntecedentesReutilizacin de softwareLa 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
5
AntecedentesExisten varias modalidades de reutilizacin
utilizadas en empresas de software:Individual Oportunista
Gestionada:Institucionalizada, sistemtica, planificada,
mejorada
Tradicionalmente, la reutilizacin ha estado basada en
oportunidadLos componentes se almacenan en un repositorio a la
espera de una oportunidad de reutilizacin
Desarrollo de Software basado en Lneas de Productos
6
AntecedentesDesarrollo de Software Basado en ComponentesLas
aplicaciones se crean mediante la integracin de componentes nuevos,
legados o de terceros (COTS) Cliente
Sistema de Ventas
Producto
Cuenta
Desarrollo de Software basado en Lneas de Productos
7
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 familiaDesarrollo 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
ProduccinActivos de Software
Productos de Software
Desarrollo de Software basado en Lneas de Productos
9
Modelo Bsico de una Lnea de Productos de SoftwareLa entrada:
Activos de SoftwareUna 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 ProductosLos
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 SoftwareProductos de Software
10
Modelo Bsico de una Lnea de Productos de SoftwareEl proceso de
produccinEstablece 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: ProduccinEntrada: Activos de Software
Salida: Productos de Software
La salida: Productos de softwareConjunto de todos los productos
que pueden o son producidos por la lnea de productos
Desarrollo de Software basado en Lneas de Productos
11
BeneficiosLa entrega de productos de software de una manerams
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
productosDesarrollo de Software basado en Lneas de Productos 12
BeneficiosBeneficios 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
BeneficiosBeneficios tcticos y estratgicos (cont.): Beneficios
estratgicos de negociosReduccin 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 fundamentalesEl paradigma de desarrollo de software LPS
requiere que las empresas que lo adopten consideren:Aspectos
conceptualesConceptos en los que las LPS se fundamentan
Aspectos tecnolgicosQu tecnologas son fundamentales para
desarrollar y mantener activos y productos de software
Aspectos metodolgicosCmo desarrollar y mantener los activos y
productos de software
Aspectos organizativosCmo debe la empresa organizarse
internamente
Aspectos gerencialesCmo 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 SoftwareReutilizacin de
SoftwareDesarrollo 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 reutilizacinDesarrollo de Software
basado en Lneas de Productos
17
Reutilizacin de softwareLa reutilizacin de activos de software
en LPS tiene varias caractersticas:Es estratgicaConsolida 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 predictivaLa 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 gestionadaEs sistemtica, planificada, institucionalizada y
mejorada
Desarrollo de Software basado en Lneas de Productos
18
Activos de software reutilizableUn 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 reutilizableUn componente de software
reutilizable esUna 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 CSRSegn su modificabilidadCaja negra Caja blanca
Segn la tecnologa usadaComponentes imperativosMdulos,
funciones
Segn su granularidadComponentes de uso especfico Componentes de
negocio Marcos (frameworks) Componentes de aplicacin
Componentes OOClases
Componentes distribuidosComponentes CORBA Componentes .NET
Componentes J2EE Servicios web
Segn su fabricanteComponentes hechos en casa COTS Component Off
The Shelf
Desarrollo de Software basado en Lneas de Productos
22
Dominios y familiasUn 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 asociadaOcurre cuando
construir un activo y usarlo en mltiples productos ocasiona ms
beneficios que crear el activo para cada producto
Pueden dividirse en subdominiosRedes de ServiciosRedes elctricas
Otras redes
Acueductos
Oloductos
Desarrollo de Software basado en Lneas de Productos
23
Dominios y familiasUna 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 familialos
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 productosAspectos variables que
establecen diferencias entre los productosDesarrollo 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 productosA 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 lneaA
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 caractersticasrendimiento, 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 LPSLa arquitectura de una LPS es una
arquitectura de software genricaDescribe 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 softwareLos 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 LPSUna arquitectura LPS es instanciada a travs
de mecanismos de variabilidad:HerenciaEj. Suplantacin de un mtodo
heredado de una clase en un componente
Puntos de extensinEj. Se agrega nueva funcionalidad o
comportamiento a un componente
ParametrizacinEl comportamiento de un componente puede ser
parametrizado a tiempo de diseo y definido a tiempo de
implementacin Ej. macros o templates
ConfiguracinSeleccin y "deseleccin" de los componentes de la
arquitectura
Seleccin a tiempo de compilacinLa 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 LPSLas 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 LPSActivos de
SoftwareDesarrollo de Software basado en Lneas de Productos 31
Repositorios LPSEl 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 LPSTipos de Repositorios LPS
Segn su alcanceLocalesSon desarrollados y reusados internamente
por una organizacin o empresa
Segn su propsitoDe reusoPermiten el almacenamiento y recuperacin
de activos de software
Globales o de uso comercialDisponibles a terceros bajo
adquisicin o subscripcin Ejemplos: COTS, Servicios Web
De referenciaFacilitan la localizacin de activos en otros
repositorios Ejemplo: UDDIs
Segn su aplicabilidadDe dominio especfico De dominio
generalDesarrollo de Software basado en Lneas de Productos 33
reas de prcticas y patrones para LPSLa 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 patronesSon 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 LPSUn 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 LPSTres 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 LPSUn 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
noDesarrollo 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 SoftwareLos 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 LPSProcesos de negocio de una LPS
Activos de software
od Procesos LPS
Ingeniera de Dominio
Ingeniera de Aplicaciones
Productos de software
Gestin TecnolgicaProcesos de desarrollo
Gestin Organizacional
Organizacin de la empresa
Desarrollo de Software basado en Lneas de Productos
42
Ingeniera de DominioLa 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 DominioActividades principales de la Ingeniera de
DominioAnlisis 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 versionesTienen puntos de variacin que
permiten configurarlos
Implementacin del DominioConsiste 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 AplicacionesLa 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 LPSEl Modelo TWIN El mtodo WATCHModelo
WATCH Component Modelo WATCH App
El modelo del Software Engineering Institute (SEI) El modelo
ESPLEPEvolutionary Software Product Lines Engineering Process
Desarrollo de Software basado en Lneas de Productos
46
El Modelo TWIN extendidoModelo empleado en el Desarrollo de
Software basado en Componentes Ingeniera de DominioAnlisis del
DominioAdquisicin de conocimiento del dominio Anlisis de
aplicaciones del dominio Definicin de requisitos. del dominio
Modelado del dominio
Diseo del DominioDiseo de la arquitectura de dominio Evaluacin
de la arquitectura
Ingeniera de ComponentesDesarrollo 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 AplicacionesDesarrollo de Software basado en Lneas
de Productos 47
El Mtodo WATCHModelo 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 AprovisionamientoEnsamblaje de Componentes
Pruebas del Componente
WATCH Application
Diseo Arquitectnico
Aprovisionamiento de Componentes
Especificacin de Componentes
Ingeniera de Dominio: Desarrollo de ComponentesDesarrollo de
Software basado en Lneas de Productos
Ingeniera de Aplicaciones: Desarrollo de Aplicaciones
Empresariales48
El Mtodo WATCH-ComponentModelo de procesos para el desarrollo de
componentes de software reutilizables
Desarrollo de Software basado en Lneas de Productos
49
El mtodo WATCH-ApplicationModelo 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 SEIModelo 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 SEIDesarrollo 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 SEIDesarrollo 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 lneaDesarrollo de Software
basado en Lneas de Productos 53
El modelo del SEIGestin de la Lnea de Productos
(Management)Objetivo:Proporcionar los recursos, coordinar y
supervisar el desarrollo de activos y productos
Dividida en:Gestin tcnicaOrientada a los grupos que desarrollan
activos y productos
Gestin organizacionalOrientada a los aspectos organizacionales
(estructura, relaciones, recursos, financiamiento, etc.)Desarrollo
de Software basado en Lneas de Productos
Organizational Management
54
El modelo SPLEPSPLEP = Evolutionary Software Product Line
Engineering Process (Gooma, 2004)
Desarrollo de Software basado en Lneas de Productos
55
El modelo SPLEPFases de la Ingeniera de Lnea de Productos del
mtodo SPLEP (Gooma, 2004)
Desarrollo de Software basado en Lneas de Productos
56
El modelo SPLEPFases 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 OrganizacionalLos 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 GerencialesEstn relacionados con la aplicacin de los
procesos gerenciales en las actividades de Ingeniera de Dominio e
Ingeniera de Aplicacin de una LPSPlanificacin de Proyectos
Organizacin de Grupos de TrabajoGrupos de SoporteAdministracin de
Repositorios de Activos de Software Grupos de Mantenimiento de
Aplicaciones
Grupos de DesarrolloGrupos 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 TcnicaLos 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
[email protected] http://www.webdelprofesor.ula.ve/ingeniera/jonas
Jons Montilva, 2006Desarrollo de Software basado en Lneas de
Productos 67