Lineas de Productos de Software y el Método Watch - Sistemas 2
Arquitectura - Lineas de Productos
-
Upload
mike-damian-lopez -
Category
Documents
-
view
43 -
download
0
Transcript of Arquitectura - Lineas de Productos
-
IEEE IEEE ComputerComputer SocietySociety RegiRegin 9n 9CapCaptulo Argentinatulo Argentina
Programa DVPPrograma DVP
Desarrollo de Software Basado enLneas de Productos de Software
Jons A. Montilva C., Ph.D.IEEE Member
Universidad de Los AndesFacultad de Ingeniera
Departamento de ComputacinMrida Venezuela
-
Desarrollo de Software basado en Lneas de Productos 2
Contenidos
-
Desarrollo de Software basado en Lneas de Productos 3
Desarrollo de Software Basado en Lnea de Productos
-
Desarrollo de Software basado en Lneas de Productos 4
Qu es una Lnea de Productos de Software (LPS)
z La idea bsica:z Ensamblaje de partes de software previamente elaboradas
z Inspirada en los procesos de produccin de sistemas fsicos
z Produccin de aviones, vehculos, computadores, aparatos electrnicos, etc.
z Fundamentada en la Reutilizacin de Software
z Asume la existencia de una industria de partes
-
Desarrollo de Software basado en Lneas de Productos 5
Antecedentes
z Reutilizacin de softwarez La reutilizacin de software es el proceso de implementar o
actualizar sistemas de software usando activos de software existentes
(Sodhi & Sodhi, 1999)
z "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 6
Antecedentes
z Existen varias modalidades de reutilizacin utilizadas en empresas de software:z Individual
z Oportunista
z Gestionada: Institucionalizada, sistemtica, planificada, mejorada
z Tradicionalmente, la reutilizacin ha estado basada en oportunidadz Los componentes se almacenan en un repositorio a la
espera de una oportunidad de reutilizacin
-
Desarrollo de Software basado en Lneas de Productos 7
Antecedentes
z Desarrollo de Software Basado en Componentesz Las aplicaciones se crean mediante la integracin de
componentes nuevos, legados o de terceros (COTS)
Sistema de Ventas
Cliente
Producto
Cuenta
-
Desarrollo de Software basado en Lneas de Productos 8
Definiciones de Lneas de Productos de Software
z "...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)
z "... 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)
z "...consiste de una familia de sistemas de software que tienen una funcionalidad comn y alguna funcionalidad variable" (Gomma, 2004)z La funcionalidad comn descansa en el uso recurrente de un
conjunto comn de activos reutilizables (requisitos, diseos, componentes, servicios web, etc.)
z Los activos son reutilizados por todos los miembros de la familia
-
Desarrollo de Software basado en Lneas de Productos 9
Lneas de Productos de Software (LPS)
z Modelo Bsico de una Lnea de Productos de Software (LPS)www.softwareproductlines.com
Produccin
Activos de Software Productos de Software
Decisiones deProducto
-
Desarrollo de Software basado en Lneas de Productos 10
Modelo Bsico de una Lnea de Productos de Software
z La entrada: Activos de Softwarez 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
z El control: Modelos de Decisin y Decisiones de Productos z Los Modelos de Decisiones
describen los aspectos variables y opcionales de los productos de la lnea
z Cada producto de la lnea es definido por un conjunto de decisiones (decisiones del producto)
Produccin
Entrada: Activos de Software
Productos de Software
Control: Modelos de Decisiones yDecisiones deProducto
-
Desarrollo de Software basado en Lneas de Productos 11
Modelo Bsico de una Lnea de Productos de Software
z El proceso de produccinz Establece los mecanismos o
pasos para componer y configurar productos a partir de los activos de entrada
z Las decisiones del producto se usan para determinar que activos de entrada utilizar y como configurar los puntos de variacin de esos activos
z La salida: Productos de softwarez Conjunto de todos los
productos que pueden o son producidos por la lnea de productos
El proceso:Produccin
Entrada: Activos de Software
Salida:Productos de
Software
Control: Modelos de Decisiones yDecisiones deProducto
-
Desarrollo de Software basado en Lneas de Productos 12
Beneficios
z La entrega de productos de software de una maneraz ms rpida,
z econmica y
z con una mejor calidad
z Las LPS producen mejoras en: z Tiempo de entrega del producto (time to market)
z Costos de ingeniera
z Tamao del portafolio de productos
z Reduccin de las tasas de defectos
z Calidad de los productos
-
Desarrollo de Software basado en Lneas de Productos 13
Beneficios
z Beneficios tcticos y estratgicos (Krueger, 2006): z Beneficios tcticos de ingeniera: z Reduccin en el tiempo promedio de creacin y entrega de
nuevos productos
z Reduccin en el nmero promedio de defectos por producto
z Reduccin en el esfuerzo promedio requerido para desarrollar y mantener los productos
z Reduccin en el costo promedio de produccin de los productos
z Incremento en el nmero total de productos que pueden ser efectivamente desplegados y mantenidos
-
Desarrollo de Software basado en Lneas de Productos 14
Beneficios
z Beneficios tcticos y estratgicos (cont.): z Beneficios estratgicos de negocios
z Reduccin en el tiempo de entrega (time-to-market) y el tiempo de retorno (time-to-revenue) de nuevos productos
z Mejoras en el valor competitivo del producto
z Mrgenes mayores de ganancias
z Mejor calidad de los productos
z Mejoras en la reputacin de la empresa
z Mayor escalabilidad del modelo de negocios en trminos de productos y mercados
z Mayor agilidad para expandir el negocio a nuevos mercados
z Reduccin de riesgos en la entrega de productos
z 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 15
Aspectos fundamentales
z El paradigma de desarrollo de software LPS requiere que las empresas que lo adopten consideren:z Aspectos conceptuales
z Conceptos en los que las LPS se fundamentan
z Aspectos tecnolgicosz Qu tecnologas son fundamentales para desarrollar y mantener activos
y productos de software
z Aspectos metodolgicosz Cmo desarrollar y mantener los activos y productos de software
z Aspectos organizativosz Cmo debe la empresa organizarse internamente
z Aspectos gerencialesz Cmo gestionar los proyectos de desarrollo de activos y productos
-
Desarrollo de Software basado en Lneas de Productos 16
Desarrollo de Software Basado en Lnea de Productos
-
Desarrollo de Software basado en Lneas de Productos 17
Evolucin de la Reutilizacin de Software
Reutilizacin de Software
Desarrollo de Softwarepara reutilizacin
Desarrollo de Softwarecon reutilizacin
Ingeniera deDominio
Ingeniera deAplicaciones
Desarrollo de SoftwareBasado en Componentes
Desarrollo de SoftwareBasado en
Lneas de Productos
-
Desarrollo de Software basado en Lneas de Productos 18
Reutilizacin de software
z La reutilizacin de activos de software en LPS tiene varias caractersticas:z Es estratgica
z Consolida lo comn entre la lnea de productos
z Maneja estratgicamente la variacin entre los productos de la lnea
z Elimina la duplicacin de esfuerzos de ingeniera
z Es predictivaz La reutilizacin de activos se da en uno o ms productos sobre
una lnea bien definida
z Se reutilizan arquitecturas de software, en lugar de reutilizar componentes de manera oportunista
z Es gestionadaz Es sistemtica, planificada, institucionalizada y mejorada
-
Desarrollo de Software basado en Lneas de Productos 19
Activos de software reutilizable
z Un activo de software reutilizable es un producto de software diseado expresamente para ser utilizadomltiples veces en el desarrollo de diferentes sistemas o aplicaciones
z Un activo de software puede ser:9 Una arquitectura de dominio9 Un esquema de base de datos9 Una especificacin de prueba9 La documentacin de un
sistema9 Un plan
9 Un componente de software 9 Una especificacin de
requisitos9 Un modelo de negocios9 Una especificacin de diseo9 Un algoritmo9 Un patrn de diseo
-
Desarrollo de Software basado en Lneas de Productos 20
Componentes de software reutilizable
z Un componente de software reutilizable esz 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]
z Puede ser liberado (desplegado e instanciado) independientemente de otros:
z Ofrece servicios a travs de sus interfaces
z Para utilizar su funcionalidad se emplean sus interfaces
-
Desarrollo de Software basado en Lneas de Productos 21
Componentes de software reutilizable (CSR)
z 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
z Caractersticas esenciales de un CSR:z Identificable
z Autocontenido
z Rastreable a travs de su ciclo de desarrollo
z Reemplazable por otro componente
z Accesible solamente a travs de su interfaz
z Inmutabilidad de sus servicios
z Documentacin de sus servicios
z Mantenido sistemticamente
-
Desarrollo de Software basado en Lneas de Productos 22
Componentes de software reutilizable (CSR)
z Segn su modificabilidadz Caja negra
z Caja blancaz Segn su granularidad
z Componentes de uso especfico
z Componentes de negocio
z Marcos (frameworks)
z Componentes de aplicacinz Segn su fabricante
z Componentes hechos en casa
z COTS Component Off TheShelf
z Segn la tecnologa usadaz Componentes imperativos
z Mdulos, funciones
z Componentes OOz Clases
z Componentes distribuidosz Componentes CORBA
z Componentes .NET
z Componentes J2EE
z Servicios web
Tipos de CSR
-
Desarrollo de Software basado en Lneas de Productos 23
Dominios y familias
z Un dominiodominio es un rea de aplicacin de productosde software que:z estn centradas en torno a un cuerpo de conocimientos
z tienen una economa de alcance asociada
z Ocurre cuando construir un activo y usarlo en mltiplesproductos ocasiona ms beneficios que crear el activopara cada producto
z Pueden dividirse en subdominios
Redeselctricas
Acueductos Oloductos
Redes de Servicios
Otrasredes
-
Desarrollo de Software basado en Lneas de Productos 24
Dominios y familias
z Una familiafamilia de de productosproductos de software es un conjunto de productos de software asociados a un dominio determinado
z Los miembros de la familia comparten aspectoscomunes tales como:z un diseo arquitectnico comn
z un conjunto componentes reutilizables
z capacidades y servicios comunes
z tecnologas comunes
-
Desarrollo de Software basado en Lneas de Productos 25
Lneas de productos de software (LPS)
z Una LPS es una familia de productos de software que: z tiene un conjunto de aspectos gestionados que son
comunes a todos los miembros de la familia
z los productos de la lnea son desarrollados a partir de un conjunto de activos de software reutilizables
z Una familia de productos de software tiene: z Aspectos comunes que son compartidos por todos
sus productos
z Aspectos variables que establecen diferencias entre los productos
-
Desarrollo de Software basado en Lneas de Productos 26
Lneas de productos de software (LPS)
z El objetivo principal de una LPS es:z Reducir el tiempo, esfuerzo, costo y complejidad de
crear y mantener los productos de la lnea mediante:z La capitalizacin de los aspectos comunesaspectos comunes de la lnea de
productos A travs de la consolidacin y reutilizacin de los activos de entrada a
la lnea
z El manejo de los aspectos variablesaspectos 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 27
Desarrollo de Software Basado en Lnea de Productos
-
Desarrollo de Software basado en Lneas de Productos 28
Arquitecturas de LPS
z "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)
z Las propiedades externas de los componentes son:z sus interfaces (APIs) y
z sus caractersticasz rendimiento, manipulacin
de errores, uso compartido de recursos, etc.
id Component Model
Componente 1
Componente 2
Componente 3
Componente 4
Componente 5
-
Desarrollo de Software basado en Lneas de Productos 29
Arquitecturas de LPS
z La arquitectura de una LPS es una arquitectura de software genrica z Describe la estructura de toda la familia de productos y no
solamente la de un producto particular
z Captura los aspectos comunes y variables de una familia de productos de softwarez Los aspectos comunes de la arquitectura son capturados por los
componentes de software que son comunes a toda la familia
z Los aspectos variables de la arquitectura son capturados por loscomponentes de software que varan entre los miembros de la familia
z Tambin denominada arquitectura de dominio
z La arquitectura LPS debe ser instanciada cada vez que se desarrolla un producto de la lnea
-
Desarrollo de Software basado en Lneas de Productos 30
Arquitecturas de LPS
z Una arquitectura LPS es instanciada a travs de mecanismos de variabilidad:z Herencia
z Ej. Suplantacin de un mtodo heredado de una clase en un componente
z Puntos de extensinz Ej. Se agrega nueva funcionalidad o comportamiento a un componente
z Parametrizacinz El comportamiento de un componente puede ser parametrizado a tiempo de
diseo y definido a tiempo de implementacin
z Ej. macros o templates
z Configuracinz Seleccin y "deseleccin" de los componentes de la arquitectura
z Seleccin a tiempo de compilacin z 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 31
Repositorios LPS
z Las lneas de productos de software requieren almacenar sus activos de software en repositorios
z Un repositorio LPS es una base de datosespecializada que:z almacena activos de software y
z facilita la recuperacin y el mantenimiento de los activosde software
z Su objetivo es asegurar la disponibilidad de activos paraapoyar el desarrollo de productos de la LPS
Activos deSoftware
-
Desarrollo de Software basado en Lneas de Productos 32
Repositorios LPS
z El repositorio mantiene informacin relevante de cada activo usado en la LPS:z Especificacin tcnica del activo
z Historia o registro de uso
z Clasificacin del activo
z Documentacin del activo
Activos deSoftware
-
Desarrollo de Software basado en Lneas de Productos 33
Repositorios LPS
z Segn su alcancez Locales
z Son desarrollados y reusadosinternamente por unaorganizacin o empresa
z Globales o de uso comercialz Disponibles a terceros bajo
adquisicin o subscripcin
z Ejemplos: COTS, ServiciosWeb
z Segn su aplicabilidadz De dominio especfico
z De dominio general
z Segn su propsitoz De reuso
z Permiten el almacenamientoy recuperacin de activos de software
z De referenciaz Facilitan la localizacin de
activos en otros repositorios
z Ejemplo: UDDIs
Tipos de Repositorios LPS
-
Desarrollo de Software basado en Lneas de Productos 34
reas de prcticas y patrones para LPS
z La introduccin del paradigma LPS en una empresa de software es un proceso complejo, gradual y lleno de dificultades
z Para obtener los beneficios que este paradigma ofrece, una empresa debe tomar en consideracin diferentes factores:z tecnolgicos,
z metodolgicos,
z organizacionales y
z gerenciales
z Clements y Northrop (2002) definen un conjunto de reas de reas de prprcticascticas y patronespatronesz Son esenciales considerar para asegurar el xito de la implantacin del
paradigma LPS en una empresa
-
Desarrollo de Software basado en Lneas de Productos 35
reas de Prctica LPS
z Un rea de prrea de prcticactica es una coleccin de actividades que una empresa debe ejecutar y dominar para implantar exitosamente una LPS
z Estas reas de prctica describen actividades que son normalmente recomendadas por el SEI para el desarrollo exitoso de software
z 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
z Tres tipos de reas de prcticas LPS recomendadas por Clements y Northrop (2002):
z reas de prctica de Ingeniera de Softwarez Ejemplos: Definicin y evaluacin de una arquitectura LPS
z reas de prctica de Gestin Tcnica z Ejemplo: Planificacin de los proyectos de desarrollo de
componentes de productos (aplicaciones)
z reas de prctica de Gestin Organizacionalz Ejemplo: Estructuracin de la empresa
-
Desarrollo de Software basado en Lneas de Productos 37
Patrones LPS
z Un patrpatrnn es una regla de tres partes, las cuales expresan una relacin entre un contexto, un problema y una solucin (Alexander, 1979)
z Los patrones LPS plantean soluciones a problemas recurrentes relacionados con las situaciones organizacionales de las LPS
z Las soluciones son planteadas en trminos de las reas de prcticas y sus relaciones
z Un ejemplo: El patrn "Que Construir"
-
Desarrollo de Software basado en Lneas de Productos 38
Un ejemplo: El patrn "Que Construir"
z El Contexto: z Una empresa ha decidido crear una lnea de productos de
software y conoce bien el dominio de aplicacin de los productos
z El Problema:z Determinar que productos debern ser incluidos en la lnea de
productos
z La Solucin:z Para determinar que productos producir, se requiere informacin
relacionada con: z El dominio de aplicacin, la tecnologa y el mercado
z La justificacin del negocio
z 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"
z Las reas de prctica requeridas por la solucin:z Anlisis del Mercado
z Ayuda a entender el mercado que tendr los productos de la lnea: quproductos tienen mayor demanda, cul es la competencia, cul es el tamao del mercado y cuales las oportunidades
z Entendimiento de dominios relevantesz Proporciona un modelo del dominio, los requisitos del dominio y los
aspectos comunes y variables a todos los sistemas (aplicaciones) que forman el dominio
z Proyeccin tecnolgicaz Permite predecir que productos que productos pueden llegar a ser
factibles en el futuro cercano
z Construccin de un caso de negociosz Proporciona una justificacin de la seleccin de productos y del enfoque
se usar para construirlos
z Definicin del alcance (scoping)z 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
z Definicin de la arquitectura LPS
z Evaluacin de la arquitectura LPS
z Desarrollo de componentesz Utilizacin de COTSz Minera de activos
existentes
z Ingeniera de Requisitosz Integracin de sistemas de
softwarez Pruebasz Entendimiento de dominios
relevantes
z 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
z Procesos de negocio de una LPS
od Procesos LPS
Ingeniera deDominio
Ingeniera deAplicaciones
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
z La Ingeniera de Dominio (ID) captura informacin y representa el conocimiento sobre un dominio determinado, con el fin de:
z crear activos de software reutilizables en el desarrollo de cualquier nuevoproducto de una LPS
z Productos de la ID:z Definiciones de dominios (descripciones del contexto)
z Modelos del dominio
z Modelos de requisitos del dominio
z Modelos arquitectnicos (arquitecturas de dominio)
z Ontologas del dominio
z Lenguajes del dominio
z Estndares del dominio
-
Desarrollo de Software basado en Lneas de Productos 44
Ingeniera de Dominio
z Actividades principales de la Ingeniera de Dominioz Anlisis de Aspectos:
z Analiza la familia para determinar los requisitos que son comunes, opcionales y diferentes a todos sus miembros
z Diseo de la Arquitectura LPS:
z 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
z Implementacin del Dominioz 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
z La Ingeniera de Aplicaciones (IA) se encarga del desarrollo de los productos de la LPS a travs de:z la reutilizacin de activos de software
z planes de produccin
z La arquitectura de dominio es empleada como un modelo de referencia para disear los productos de la LPS
z 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
z El Modelo TWINz El mtodo WATCHz Modelo WATCH Component
z Modelo WATCH App
z El modelo del Software Engineering Institute (SEI)z El modelo ESPLEPz Evolutionary Software Product Lines Engineering Process
-
Desarrollo de Software basado en Lneas de Productos 47
El Modelo TWIN extendidoz Modelo empleado en el Desarrollo de Software basado en
Componentes
Anlisisde
aplicacionesdel dominio
Adquisicinde
conocimientodel
dominio
Modeladodel
dominio
Definicinde requisitos.del dominio
Anlisis del Dominio
Diseo de laarquitecturade dominio
Evaluacinde la
arquitectura
Diseo del Dominio Ingeniera deComponentes
Desarrollode
componentes
Gestindel
repositoriode comp.
Ingeniera de Dominio
Anlisis yespecificacin
derequisitos
Diseo de laarquitectura dela aplicacin
Bsqueda decomponentes
Desarrollo denuevos
componentes
Adaptacin decomponentes
Integracinde
componentes
Pruebasde la
aplicacin
Ingeniera de Aplicaciones
Sistema de Gestinde ASR
-
Desarrollo de Software basado en Lneas de Productos 48
El Mtodo WATCHz Modelo propuesto en la Universidad de Los Andes
(Venezuela) para el desarrollo de aplicaciones empresarialesz Consta de dos componentes metodolgicos:
Especificacindel
Componente
Certificacindel
Componente
Liberacindel
Componente
Aprovisionamiento
Pruebasdel
Componente
Modeladode
Negocios
Ingenierade Requisitos
DiseoArquitectnico
Especificacinde
Componentes
Aprovisionamientode
Componentes
Ensamblajede Componentes
Pruebas dela Aplicacin
Entrega dela Aplicacin
Ingeniera de Dominio:Desarrollo de Componentes
Ingeniera de Aplicaciones:Desarrollo de Aplicaciones Empresariales
WATCHComponent
WATCHApplication
-
Desarrollo de Software basado en Lneas de Productos 49
El Mtodo WATCH-Component
z Modelo de procesos para el desarrollo de componentes de software reutilizables
-
Desarrollo de Software basado en Lneas de Productos 50
El mtodo WATCH-Application
z Modelo de procesos para el desarrollo de aplicaciones empresariales (Montilva y Barrios, 2004)
Modeladodel Negocio
Ingenierade Requisitos
DiseoArquitectnico
Diseode
Componentes
Aprovisionamientode Componentes
Ensamblajede
Componentes
Pruebas de la Aplicacin
Entrega de la Aplicacin
ProcesosGerenciales
Operaciny
Mantenimiento
-
Desarrollo de Software basado en Lneas de Productos 51
El modelo del SEI
z Modelo de procesos de LPS desarrollado en el Software Engineering Institute (SEI)
z Disponible en http://www.sei.cmu.edu/productlines/framework.html
-
Desarrollo de Software basado en Lneas de Productos 52
El modelo del SEI
z Desarrollo de Activos Fundamentales (Ingeniera de Dominio)z Objetivo:
z Establecer la capacidad de produccin para los productos mediante el desarrollo de activos de software reutilizables
z Salidas:
z Alcance de la lnea
z Activos
z Plan de Produccin
-
Desarrollo de Software basado en Lneas de Productos 53
El modelo del SEI
z Desarrollo de Productos (Ingeniera de Aplicaciones)z Objetivo:
z Elaborar los productos de la lnea a partir del ensamblaje de activos fundamentales siguiendo el plan de produccin
z Salida:
z Productos acabados de la lnea
-
Desarrollo de Software basado en Lneas de Productos 54
El modelo del SEI
z Gestin de la Lnea de Productos (Management)z Objetivo:
z Proporcionar los recursos, coordinar y supervisar el desarrollo de activos y productos
z Dividida en:
z Gestin tcnica Orientada a los grupos que
desarrollan activos y productos
z Gestin organizacional Orientada a los aspectos
organizacionales (estructura, relaciones, recursos, financiamiento, etc.)
Organizational Management
-
Desarrollo de Software basado en Lneas de Productos 55
El modelo SPLEP
z SPLEP = Evolutionary Software Product Line EngineeringProcess (Gooma, 2004)
-
Desarrollo de Software basado en Lneas de Productos 56
El modelo SPLEP
z 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
z 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
z Estn relacionados con:z la organizacin de la empresa y
z 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
z Construccin de casos de negocio
z Gestin de relaciones con los clientes
z Desarrollo de una estrategia de adquisicin
z Anlisis de mercadosz Operaciones
z Planificacin organizacionalz Gestin de riesgos
organizacionalesz Estructuracin de la
empresaz Proyeccin de tecnologasz Capacitacin de personal
z 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
z Estn relacionados con la aplicacin de los procesos gerenciales en las actividades de Ingeniera de Dominio e Ingeniera de Aplicacin de una LPS z Planificacin de Proyectos
z Organizacin de Grupos de Trabajoz Grupos de Soporte Administracin de Repositorios de Activos de Software Grupos de Mantenimiento de Aplicaciones
z Grupos de Desarrollo Grupos de desarrollo de componentes Grupos de desarrollo de aplicaciones
z Direccin
z Administracin de recursos
z Control
-
Desarrollo de Software basado en Lneas de Productos 63
reas de prctica de Gestin Tcnica
z Gestin de la Configuracinz Recoleccin de datos,
mtricas y seguimientoz Anlisis de
hacer/comprar/descubrir/encomendar (aprovisionamiento de activos)
z Definicin de procesosz Alcancez Planificacin tcnicaz Gestin de riesgos tcnicosz Soporte de herramientas
z 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
z Las Lneas de Productos de Software representan el estado del arte en Reutilizacin del Software
z La implantacin del paradigma LPS en una empresa es un proceso complejo
z Para manejar esta complejidad se requiere considerar diferentes aspectos:z Conceptuales
z Tecnolgicos
z Metodolgicos
z Organizacionales
z 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
Jons Montilva, 2006
[email protected]://www.webdelprofesor.ula.ve/ingeniera/jonas