arquitecturas de referencia para líneas de productos

67
 IEEE IEEE Computer Computer Society Society Regi Regi ó ó n 9 n 9 Cap Capí í tulo Argentina tulo Argentina Programa DVP Programa DVP Desarr ollo de Sof tw are Basado en Líneas de Productos de Sof tware Jonás A. Mon tilva C., Ph.D. IEEE Member Universidad de Los Andes Facultad de I ng eniería De partamento de Comput ación Mérida Venezuela

Transcript of arquitecturas de referencia para líneas de productos

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