Documentos de Académico
Documentos de Profesional
Documentos de Cultura
rea de pr
rea de pr
ctica
ctica 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 36
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 37
Patrones LPS
Un
patr
patr
n
n 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 38
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 39
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 40
Desarrollo de Software Basado en Lnea de Productos
Desarrollo de Software basado en Lneas de Productos 41
reas de Prctica de Ingeniera de Software
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
Los aspectos metodolgicos de las LPS involucran la
aplicacin de un conjunto de prcticas de ingeniera:
Desarrollo de Software basado en Lneas de Productos 42
Los procesos bsicos de una LPS
Procesos de negocio de una LPS
od Procesos LPS
Ingeniera de
Dominio
Ingeniera de
Aplicaciones
Gestin Tecnolgica
Gestin Organizacional
Activos de
software
Productos de
software
Procesos de
desarrollo
Organizacin
de la empresa
Desarrollo de Software basado en Lneas de Productos 43
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 44
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 45
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 46
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 47
El Modelo TWIN extendido
Modelo empleado en el Desarrollo de Software basado en
Componentes
Anlisis
de
aplicaciones
del dominio
Adquisicin
de
conocimiento
del
dominio
Modelado
del
dominio
Definicin
de requisitos.
del dominio
Anlisis del Dominio
Diseo de la
arquitectura
de dominio
Evaluacin
de la
arquitectura
Diseo del Dominio
Ingeniera de
Componentes
Desarrollo
de
componentes
Gestin
del
repositorio
de comp.
Ingeniera de Dominio
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
Sistema de Gestin
de ASR
Desarrollo de Software basado en Lneas de Productos 48
El Mtodo WATCH
Modelo propuesto en la Universidad de Los Andes
(Venezuela) para el desarrollo de aplicaciones empresariales
Consta de dos componentes metodolgicos:
Especificacin
del
Componente
Certificacin
del
Componente
Liberacin
del
Componente
Aprovisionamiento
Pruebas
del
Componente
Modelado
de
Negocios
Ingeniera
de Requisitos
Diseo
Arquitectnico
Especificacin
de
Componentes
Aprovisionamiento
de
Componentes
Ensamblaje
de Componentes
Pruebas de
la Aplicacin
Entrega de
la Aplicacin
Ingeniera de Dominio:
Desarrollo de Componentes
Ingeniera de Aplicaciones:
Desarrollo de Aplicaciones Empresariales
WATCH
Component
WATCH
Application
Desarrollo de Software basado en Lneas de Productos 49
El Mtodo WATCH-Component
Modelo de procesos para el desarrollo de componentes de
software reutilizables
Desarrollo de Software basado en Lneas de Productos 50
El mtodo WATCH-Application
Modelo de procesos para el desarrollo de aplicaciones
empresariales (Montilva y Barrios, 2004)
Modelado
del Negocio
Ingeniera
de Requisitos
Diseo
Arquitectnico
Diseo
de
Componentes
Aprovisionamiento
de Componentes
Ensamblaje
de
Componentes
Pruebas de la
Aplicacin
Entrega de la
Aplicacin
Procesos
Gerenciales
Operacin
y
Mantenimiento
Desarrollo de Software basado en Lneas de Productos 51
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 52
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 53
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 54
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.)
Or gani zat i onal Management
Desarrollo de Software basado en Lneas de Productos 55
El modelo SPLEP
SPLEP = Evolutionary Software Product Line Engineering
Process (Gooma, 2004)
Desarrollo de Software basado en Lneas de Productos 56
El modelo SPLEP
Fases de la Ingeniera de Lnea de Productos del mtodo
SPLEP (Gooma, 2004)
Desarrollo de Software basado en Lneas de Productos 57
El modelo SPLEP
Fases de la Ingeniera de Aplicaciones del mtodo SPLEP
(Gooma, 2004)
Desarrollo de Software basado en Lneas de Productos 58
Desarrollo de Software Basado en Lnea de Productos
Desarrollo de Software basado en Lneas de Productos 59
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 60
reas de prctica de Gestin Organizacional
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
Los aspectos organizacionales de las LPS involucran la
aplicacin de un conjunto de prcticas de gestin:
Desarrollo de Software basado en Lneas de Productos 61
Desarrollo de Software Basado en Lnea de Productos
Desarrollo de Software basado en Lneas de Productos 62
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 63
reas de prctica 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
Los aspectos gerenciales de las LPS involucran la aplicacin
de un conjunto de prcticas de gestin tcnica:
Desarrollo de Software basado en Lneas de Productos 64
Desarrollo de Software Basado en Lnea de Productos
Desarrollo de Software basado en Lneas de Productos 65
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 66
Desarrollo de Software Basado en Lnea de Productos
Desarrollo de Software basado en Lneas de Productos 67
Desarrollo de Software Basado en Lnea de Productos
J ons Montilva, 2006
jonas@ula.ve
http://www.webdelprofesor.ula.ve/ingeniera/jonas