SlideShare una empresa de Scribd logo
1 de 33
Desarrollo de software basado en línea de Productos Tópicos Avanzados de Ingeniería de Software Ing. Mónica Esther Ospino Pinedo
La idea básica: Ensamblaje de partes de software previamente elaboradas Inspirada en los procesos de producción de sistemas físicos Producción de aviones, vehículos, computadores, aparatos electrónicos, etc. Fundamentada en la Reutilización de Software Asume la existencia de una industria de partes
Antecedentes Reutilización de software. Desarrollo de software basado en componentes.
Definición "...se refieren a técnicas de ingeniería para crear un portafolio de sistemas de software similares, a partir de un conjunto compartido de activos de software, usando un medio común de producción" (Krueger, 2006) "... es un conjunto de sistemas de software que comparten un conjunto común y gestionado de aspectos que satisfacen las necesidades específicas de un segmento de mercado o misión y que son desarrollados a partir de un conjunto común de activos fundamentales [de software] de una manera pre-escrita« (Clements and Northrop, 2002) "...consiste de una familia de sistemas de software que tienen una funcionalidad común y alguna funcionalidad variable« (Gomma, 2004) 􀁺 La funcionalidad común descansa en el uso recurrente de un conjunto común de activos reutilizables (requisitos, diseños, componentes, servicios web, etc.)  􀁺 Los activos son reutilizados por todos los miembros de la familia
Modelo Básico de una LPS
Modelo Básico de una LPS La entrada: Activos de Software Una colección de partes de software (requisitos, diseños, componentes, casos de prueba, etc.) que se configuran y componen de una manera prescrita para producir los productos de la línea. El Control: Modelos de Decisión y Decisiones de Productos Los Modelos de Decisiones describen los aspectos variables y opcionales de los productos de la línea. Cada producto de la línea es definido por un conjunto de decisiones (decisiones del producto)
Modelo Básico de una LPS El proceso de producción Establece los mecanismos o pasos para componer y configurar productos a partir de los activos de entrada Las decisiones del producto se usan para determinar que activos de entrada utilizar y como configurar los puntos de variación de esos activos La salida: Productos de software Conjunto de todos los productos que pueden o son producidos por la línea de productos
Beneficios La entrega de productos de software de una manera: más rápida, económica y con una mejor calidad Las LPS producen mejoras en: Tiempo de entrega del producto (time tomarket) Costos de ingeniería Tamaño del portafolio de productos Reducción de las tasas de defectos Calidad de los productos
Beneficios tácticos de ingeniería: Reducción en el tiempo promedio de creación y entrega de nuevos productos Reducción en el número promedio de defectos por producto Reducción en el esfuerzo promedio requerido para desarrollar y mantener los productos Reducción en el costo promedio de producción de los productos Incremento en el número total de productos que pueden ser efectivamente desplegados y mantenidos
Beneficios estratégicos de negocios Reducción 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 Márgenes mayores de ganancias Mejor calidad de los productos Mejoras en la reputación de la empresa Mayor escalabilidad del modelo de negocios en términos de productos y mercados Mayor agilidad para expandir el negocio a nuevos mercados Reducción de riesgos en la entrega de productos
Aspectos Fundamentales El paradigma de desarrollo de software LPS requiere que las empresas que lo adopten consideren: Aspectos conceptuales Conceptos en los que las LPS se fundamentan Aspectos tecnológicos Qué tecnologías son fundamentales para desarrollar y mantener activos y productos de software Aspectos metodológicos Cómo desarrollar y mantener los activos y productos de software Aspectos organizativos Cómo debe la empresa organizarse internamente Aspectos gerenciales Cómo gestionar los proyectos de desarrollo de activos y productos
Aspectos Conceptuales Activos de Software Componentes de Software Reutilizable Dominios y  Familias
Activos de Software Reutilizable Es un producto de software diseñado expresamente para ser utilizado múltiples veces en el desarrollo de diferentes sistemas o aplicaciones. Puede ser:
Componentes de Software Reutilizable Un componente de software reutilizable es “Una pieza [de software] funcional que es liberada independientemente [de otras] y que proporciona acceso a sus servicios a través de sus interfaces” [Brown, 2000] Puede ser liberado (desplegado e instanciado) independientemente de otros: Ofrece servicios a través de sus interfaces Para utilizar su funcionalidad se emplean sus interfaces
Dominios Un dominio es un área de aplicación de productos de software que: están centradas en torno a un cuerpo de conocimientos tienen una economía de alcance asociada Ocurre cuando construir un activo y usarlo en múltiples productos ocasiona más beneficios que crear el activo para cada producto Pueden dividirse en subdominios
Familias Una familia de productos de software es un conjunto de productos de software asociados a un dominio determinado Los miembros de la familia comparten aspectos comunes tales como: un diseño arquitectónico común un conjunto componentes reutilizables capacidades y servicios comunes tecnologías comunes
Líneas de Productos Software Una LPS es una familia de productos de software que: tiene un conjunto de aspectos gestionados que son comunes a todos los miembros de la familia los productos de la línea son desarrollados a partir de un conjunto de activos de software reutilizables Una familia de productos de software tiene: Aspectos comunes que son compartidos por todos sus productos Aspectos variables que establecen diferencias entre los productos
Objetivo Principal de una LPS “Reducir el tiempo, esfuerzo, costo y complejidad de crear y mantener los productos de la línea mediante: La capitalización de los aspectos comunes de la línea de productos A través de la consolidación y reutilización de los activos de entrada a la línea El manejo de los aspectos variables de los productos de la línea A través de los puntos de variación de los activos y los modelos de decisión”
Desarrollo de Software Basado en LP Arquitecturas de LPS Repositorios de la LPS Áreas de Prácticas y Patrones de LPS
Arquitectura de una LPS Es una arquitectura de software genérica Describe la estructura de toda la familia de productos y no solamente la de un producto particular Captura los aspectos comunes y variables de una familia de productos de software Los aspectos comunes de la arquitectura son capturados por los componentes de software que son comunes a toda la familia Los aspectos variables de la arquitectura son capturados por los componentes de software que varían entre los miembros de la familia  También denominada arquitectura de dominio La arquitectura LPS debe ser instanciada cada vez que se desarrolla un producto de la línea
Arquitectura de una LPS Una arquitectura LPS es instanciada a través de mecanismos de variabilidad: Herencia.  Ej. Suplantación de un método heredado de una clase en un componente Puntos de extensión.  Ej. Se agrega nueva funcionalidad o comportamiento a un componente Parametrización.  El comportamiento de un componente puede ser parametrizado a tiempo de diseño y definido a tiempo de implementación.  Ej. macros o templates Configuración Selección y "deselección" de los componentes de la arquitectura Selección a tiempo de compilación La implementación de una funcionalidad es seleccionada, entre varias posibles, al momento de la compilación del componente o de la aplicación
Respositorios LPS Las líneas 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 recuperación y el mantenimiento de los activos de software Su objetivo es asegurar la disponibilidad de activos para apoyar el desarrollo de productos de la LPS
Respositorios LPS El repositorio mantiene información relevante de cada activo usado en la LPS: Especificación técnica del activo Historia o registro de uso Clasificación del activo Documentación del activo
Tipos de Respositorios LPS Según su alcance Locales Son desarrollados y reusados internamente por una organización o empresa Globales o de uso comercial Disponibles a terceros bajo adquisición o subscripción Ejemplos: COTS, Servicios Web Según su aplicabilidad De dominio específico De dominio general Según su propósito De reuso Permiten el almacenamiento y recuperación de activos de software De referencia Facilitan la localización de activos en otros repositorios Ejemplo: UDDIs
Áreas de Prácticas y Patrones para LPS La introducción 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 consideración diferentes factores: tecnológicos, metodológicos, organizacionales y gerenciales Clementsy Northrop (2002) definen un conjunto de áreas de prácticas y patrones Son esenciales considerar para asegurar el éxito de la implantación del paradigma LPS en una empresa
Áreas de Práctica de LPS Un área de práctica es una colección de actividades que una empresa debe ejecutar y dominar para implantar exitosamente una LPS Estas áreas de práctica 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
Áreas de Práctica de LPS Tres tipos de áreas de prácticas LPS recomendadas por Clementsy Northrop (2002): Áreas de práctica de Ingeniería de Software Ejemplos: Definición y evaluación de una arquitectura LPS Áreas de práctica de Gestión Técnica Ejemplo: Planificación de los proyectos de desarrollo de componentes ó de productos (aplicaciones) Áreas de práctica de Gestión Organizacional Ejemplo: Estructuración de la empresa
Patrones LPS Un patrón es una regla de tres partes, las cuales expresan una relación entre un contexto, un problema y una solución (Alexander, 1979) Los patrones LPS plantean soluciones a problemas recurrentes relacionados con las situaciones organizacionales de las LPS Las soluciones son planteadas en términos de las áreas de prácticas y sus relaciones Un ejemplo: El patrón "Que Construir"
Un ejemplo: El patrón "Que Construir" El Contexto: Una empresa ha decidido crear una línea de productos de software y conoce bien el dominio de aplicación de los productos El Problema: Determinar que productos deberán ser incluidos en la línea de productos La Solución: Para determinar que productos producir, se requiere información relacionada con: El dominio de aplicación, la tecnología y el mercado La justificación del negocio El proceso para describir el conjunto de productos que serán incluidos en la línea de productos
Un ejemplo: El patrón "Que Construir" Las áreas de práctica requeridas por la solución: Análisis del Mercado Ayuda a entender el mercado que tendrá los productos de la línea: qué productos tienen mayor demanda, cuál es la competencia, cuál es el tamaño 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 Proyección tecnológica Permite predecir que productos que productos pueden llegar a ser factibles en el futuro cercano Construcción de un caso de negocios Proporciona una justificación de la selección de productos y del enfoque se usará para construirlos Definición del alcance (scoping) Describe cuales productos serán incluidos en la línea de productos y cuales no
Áreas de Práctica de Ingeniería de Software Los aspectos metodológicos de las LPS involucran la aplicación de un conjunto de prácticas de ingeniería: Definición de la arquitectura LPS Evaluación de la arquitectura LPS Desarrollo de componentes Utilización de COTS Minería de activos existentes Ingeniería de Requisitos Integración de sistemas de software Pruebas Entendimiento de dominios relevantes
Procesos Básicos de una LPS
Modelos de Procesos para LPS El Modelo TWIN El método WATCH Modelo WATCH Component Modelo WATCH Application El modelo del Software EngineeringInstitute (SEI) El modelo ESPLEP Evolutionary Software Product Lines Engineering Process

Más contenido relacionado

La actualidad más candente

Herramientas Case
Herramientas CaseHerramientas Case
Herramientas Caseguestf131a9
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicaslandeta_p
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentesmartin
 
Gestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyectoGestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyectoJair Valenz
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareElvisAR
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDat@center S.A
 
Enfoque estructurado enfoque oo
Enfoque estructurado   enfoque ooEnfoque estructurado   enfoque oo
Enfoque estructurado enfoque ookarlanm07
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacionZonickX
 
Ingeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosIngeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosRafael Fdo Lopez Castillo
 
Herramientas CASE
Herramientas CASEHerramientas CASE
Herramientas CASEI R
 
Cuadro comparativo de enfoque estructurado y enfoque orientado
Cuadro comparativo de enfoque estructurado y enfoque orientadoCuadro comparativo de enfoque estructurado y enfoque orientado
Cuadro comparativo de enfoque estructurado y enfoque orientadoFreddySantiago32
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosCesar Prado
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de softwaremonik1002
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareRoberth Loaiza
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREjose_rob
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientosTensor
 

La actualidad más candente (20)

Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
Herramientas Case
Herramientas CaseHerramientas Case
Herramientas Case
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicas
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Gestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyectoGestión de proyectos de software - Tema 3: Planificación del proyecto
Gestión de proyectos de software - Tema 3: Planificación del proyecto
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
 
Desarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a ObjetosDesarrollo de Software Orienta a Objetos
Desarrollo de Software Orienta a Objetos
 
Enfoque estructurado enfoque oo
Enfoque estructurado   enfoque ooEnfoque estructurado   enfoque oo
Enfoque estructurado enfoque oo
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacion
 
Ingeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosIngeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelos
 
Herramientas CASE
Herramientas CASEHerramientas CASE
Herramientas CASE
 
LÍNEAS DE PRODUCTOS DE SOFTWARE
LÍNEAS DE PRODUCTOS DE SOFTWARELÍNEAS DE PRODUCTOS DE SOFTWARE
LÍNEAS DE PRODUCTOS DE SOFTWARE
 
Cuadro comparativo de enfoque estructurado y enfoque orientado
Cuadro comparativo de enfoque estructurado y enfoque orientadoCuadro comparativo de enfoque estructurado y enfoque orientado
Cuadro comparativo de enfoque estructurado y enfoque orientado
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de software
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de Software
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientos
 

Destacado

Software Empotrado
Software EmpotradoSoftware Empotrado
Software Empotradochivivi
 
Ingeniería del software basada en componentes
Ingeniería del software basada en componentesIngeniería del software basada en componentes
Ingeniería del software basada en componentesjose_macias
 
Software en tiempo real
Software en tiempo realSoftware en tiempo real
Software en tiempo realAeivans
 
Mi Presentación de Lineas de Productos de Software y el método watch
Mi Presentación  de Lineas de Productos de Software y el método watch Mi Presentación  de Lineas de Productos de Software y el método watch
Mi Presentación de Lineas de Productos de Software y el método watch eledexsy
 
Presentacion metodo wacth
Presentacion metodo wacthPresentacion metodo wacth
Presentacion metodo wacthGilbert Trejo
 
Metodología de desarrollo de software basada en componentes
Metodología de desarrollo de software basada en componentesMetodología de desarrollo de software basada en componentes
Metodología de desarrollo de software basada en componentesEmmanuel Fontán
 
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)Jordi Cabot
 
Software De Gestion
Software De GestionSoftware De Gestion
Software De GestionPabloraton
 
Mapa mental - Linea de Productos de Software - Juan Durán Cámara
Mapa mental - Linea de Productos de Software - Juan Durán CámaraMapa mental - Linea de Productos de Software - Juan Durán Cámara
Mapa mental - Linea de Productos de Software - Juan Durán CámaraJuan Duran
 
Lineas de productos de software y método watch
Lineas de productos de software y método watchLineas de productos de software y método watch
Lineas de productos de software y método watchMiguel Reyes
 
Lineas de productos de software y metodo watch
Lineas de productos de software y metodo watchLineas de productos de software y metodo watch
Lineas de productos de software y metodo watchyayrus
 
Auditoria de Sistema
Auditoria de Sistema Auditoria de Sistema
Auditoria de Sistema eledexsy
 
VET-TO-VET SUPPORT COMMAND,INC...
VET-TO-VET SUPPORT COMMAND,INC...VET-TO-VET SUPPORT COMMAND,INC...
VET-TO-VET SUPPORT COMMAND,INC...Howard Hutchison
 
Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas Shelisse De la Cruz
 
Desarrollo de Software Basado en Componentes
Desarrollo de Software Basado en ComponentesDesarrollo de Software Basado en Componentes
Desarrollo de Software Basado en ComponentesDiego Cardozo
 
Planchas 1x 70 idea primaria orietta
Planchas 1x 70 idea primaria oriettaPlanchas 1x 70 idea primaria orietta
Planchas 1x 70 idea primaria oriettaORIETTA POLIFRONI
 
Open Source BPM mit BPMN 2.0 und Java
Open Source BPM mit BPMN 2.0 und Java Open Source BPM mit BPMN 2.0 und Java
Open Source BPM mit BPMN 2.0 und Java camunda services GmbH
 

Destacado (20)

Software Empotrado
Software EmpotradoSoftware Empotrado
Software Empotrado
 
Tipos de Software
Tipos de SoftwareTipos de Software
Tipos de Software
 
Ingeniería del software basada en componentes
Ingeniería del software basada en componentesIngeniería del software basada en componentes
Ingeniería del software basada en componentes
 
Software en tiempo real
Software en tiempo realSoftware en tiempo real
Software en tiempo real
 
Mi Presentación de Lineas de Productos de Software y el método watch
Mi Presentación  de Lineas de Productos de Software y el método watch Mi Presentación  de Lineas de Productos de Software y el método watch
Mi Presentación de Lineas de Productos de Software y el método watch
 
Presentacion metodo wacth
Presentacion metodo wacthPresentacion metodo wacth
Presentacion metodo wacth
 
Metodología de desarrollo de software basada en componentes
Metodología de desarrollo de software basada en componentesMetodología de desarrollo de software basada en componentes
Metodología de desarrollo de software basada en componentes
 
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
 
Software De Gestion
Software De GestionSoftware De Gestion
Software De Gestion
 
Mapa mental - Linea de Productos de Software - Juan Durán Cámara
Mapa mental - Linea de Productos de Software - Juan Durán CámaraMapa mental - Linea de Productos de Software - Juan Durán Cámara
Mapa mental - Linea de Productos de Software - Juan Durán Cámara
 
Lineas de productos de software y método watch
Lineas de productos de software y método watchLineas de productos de software y método watch
Lineas de productos de software y método watch
 
Lineas de productos de software y metodo watch
Lineas de productos de software y metodo watchLineas de productos de software y metodo watch
Lineas de productos de software y metodo watch
 
Linea de productos software
Linea de productos softwareLinea de productos software
Linea de productos software
 
Auditoria de Sistema
Auditoria de Sistema Auditoria de Sistema
Auditoria de Sistema
 
VET-TO-VET SUPPORT COMMAND,INC...
VET-TO-VET SUPPORT COMMAND,INC...VET-TO-VET SUPPORT COMMAND,INC...
VET-TO-VET SUPPORT COMMAND,INC...
 
Ingeniería del software
Ingeniería del softwareIngeniería del software
Ingeniería del software
 
Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas Lenguajes de Descripción de Arquitecturas
Lenguajes de Descripción de Arquitecturas
 
Desarrollo de Software Basado en Componentes
Desarrollo de Software Basado en ComponentesDesarrollo de Software Basado en Componentes
Desarrollo de Software Basado en Componentes
 
Planchas 1x 70 idea primaria orietta
Planchas 1x 70 idea primaria oriettaPlanchas 1x 70 idea primaria orietta
Planchas 1x 70 idea primaria orietta
 
Open Source BPM mit BPMN 2.0 und Java
Open Source BPM mit BPMN 2.0 und Java Open Source BPM mit BPMN 2.0 und Java
Open Source BPM mit BPMN 2.0 und Java
 

Similar a Desarrollo de software basado en lineas de productos

Lineas de productos de software y metodo watch
Lineas de productos de software y metodo watchLineas de productos de software y metodo watch
Lineas de productos de software y metodo watchennysmartinez
 
Método Watch y Líneas de Productos de Software
Método Watch y Líneas de Productos de SoftwareMétodo Watch y Líneas de Productos de Software
Método Watch y Líneas de Productos de SoftwareLuis José
 
Líneas de productos de software y el metodo watch
Líneas de productos de software y el metodo watchLíneas de productos de software y el metodo watch
Líneas de productos de software y el metodo watchAng Car
 
Líneas de productos de software y el método 47
Líneas de productos de software y el método 47Líneas de productos de software y el método 47
Líneas de productos de software y el método 47Leonardo Portillo
 
Líneas de productos de software y el método s2
Líneas de productos de software y el método s2Líneas de productos de software y el método s2
Líneas de productos de software y el método s2Leonardo Portillo
 
Lineas de productos de software y metodo watch
Lineas de productos de software y metodo watchLineas de productos de software y metodo watch
Lineas de productos de software y metodo watchnhrm
 
Lineas de productos de software y metodo watch
Lineas de productos de software y metodo watchLineas de productos de software y metodo watch
Lineas de productos de software y metodo watchnhrm
 
rivas naylynger Lineas de productos de software y metodo watch
rivas naylynger Lineas de productos de software y metodo watchrivas naylynger Lineas de productos de software y metodo watch
rivas naylynger Lineas de productos de software y metodo watchnhrm
 
Lineas de productos de software y metodo watch
Lineas de productos de software y metodo watchLineas de productos de software y metodo watch
Lineas de productos de software y metodo watchnhrm
 
Líneas De ProductosDe Software Y Método Watch
 Líneas De ProductosDe Software Y Método Watch Líneas De ProductosDe Software Y Método Watch
Líneas De ProductosDe Software Y Método WatchViviana131293
 
Lineas de Productos de Software Y Metodo Watch
Lineas de Productos de Software Y Metodo WatchLineas de Productos de Software Y Metodo Watch
Lineas de Productos de Software Y Metodo WatchEnder Luis Silva
 

Similar a Desarrollo de software basado en lineas de productos (20)

Metodologia watch
Metodologia watchMetodologia watch
Metodologia watch
 
Lineas de productos de software y metodo watch
Lineas de productos de software y metodo watchLineas de productos de software y metodo watch
Lineas de productos de software y metodo watch
 
Diapositiva2
Diapositiva2Diapositiva2
Diapositiva2
 
Método Watch y Líneas de Productos de Software
Método Watch y Líneas de Productos de SoftwareMétodo Watch y Líneas de Productos de Software
Método Watch y Líneas de Productos de Software
 
Líneas de productos de software y el metodo watch
Líneas de productos de software y el metodo watchLíneas de productos de software y el metodo watch
Líneas de productos de software y el metodo watch
 
Líneas de productos de software y el método 47
Líneas de productos de software y el método 47Líneas de productos de software y el método 47
Líneas de productos de software y el método 47
 
Líneas de productos de software y el método s2
Líneas de productos de software y el método s2Líneas de productos de software y el método s2
Líneas de productos de software y el método s2
 
Lineas de productos de software y metodo watch
Lineas de productos de software y metodo watchLineas de productos de software y metodo watch
Lineas de productos de software y metodo watch
 
Lineas de productos de software y metodo watch
Lineas de productos de software y metodo watchLineas de productos de software y metodo watch
Lineas de productos de software y metodo watch
 
rivas naylynger Lineas de productos de software y metodo watch
rivas naylynger Lineas de productos de software y metodo watchrivas naylynger Lineas de productos de software y metodo watch
rivas naylynger Lineas de productos de software y metodo watch
 
Lineas de productos de software y metodo watch
Lineas de productos de software y metodo watchLineas de productos de software y metodo watch
Lineas de productos de software y metodo watch
 
Watch, lps
Watch, lpsWatch, lps
Watch, lps
 
Angelis Urdaneta
Angelis UrdanetaAngelis Urdaneta
Angelis Urdaneta
 
Lps y mw
Lps y mwLps y mw
Lps y mw
 
Líneas De ProductosDe Software Y Método Watch
 Líneas De ProductosDe Software Y Método Watch Líneas De ProductosDe Software Y Método Watch
Líneas De ProductosDe Software Y Método Watch
 
Metodo watch
Metodo watchMetodo watch
Metodo watch
 
Metodo watch
Metodo watchMetodo watch
Metodo watch
 
Lineas de Productos de Software Y Metodo Watch
Lineas de Productos de Software Y Metodo WatchLineas de Productos de Software Y Metodo Watch
Lineas de Productos de Software Y Metodo Watch
 
Watch, lps
Watch, lpsWatch, lps
Watch, lps
 
Lineas de productos de software
Lineas de productos de softwareLineas de productos de software
Lineas de productos de software
 

Último

EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfssuser50d1252
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTESaraNolasco4
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxRAMON EUSTAQUIO CARO BAYONA
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxMaritza438836
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfpatriciavsquezbecerr
 
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAGUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAELIASPELAEZSARMIENTO1
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOFICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 

Último (20)

EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdfFichas de Matemática TERCERO DE SECUNDARIA.pdf
Fichas de Matemática TERCERO DE SECUNDARIA.pdf
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdf
 
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAGUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOFICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 

Desarrollo de software basado en lineas de productos

  • 1. Desarrollo de software basado en línea de Productos Tópicos Avanzados de Ingeniería de Software Ing. Mónica Esther Ospino Pinedo
  • 2. La idea básica: Ensamblaje de partes de software previamente elaboradas Inspirada en los procesos de producción de sistemas físicos Producción de aviones, vehículos, computadores, aparatos electrónicos, etc. Fundamentada en la Reutilización de Software Asume la existencia de una industria de partes
  • 3. Antecedentes Reutilización de software. Desarrollo de software basado en componentes.
  • 4. Definición "...se refieren a técnicas de ingeniería para crear un portafolio de sistemas de software similares, a partir de un conjunto compartido de activos de software, usando un medio común de producción" (Krueger, 2006) "... es un conjunto de sistemas de software que comparten un conjunto común y gestionado de aspectos que satisfacen las necesidades específicas de un segmento de mercado o misión y que son desarrollados a partir de un conjunto común de activos fundamentales [de software] de una manera pre-escrita« (Clements and Northrop, 2002) "...consiste de una familia de sistemas de software que tienen una funcionalidad común y alguna funcionalidad variable« (Gomma, 2004) 􀁺 La funcionalidad común descansa en el uso recurrente de un conjunto común de activos reutilizables (requisitos, diseños, componentes, servicios web, etc.) 􀁺 Los activos son reutilizados por todos los miembros de la familia
  • 6. Modelo Básico de una LPS La entrada: Activos de Software Una colección de partes de software (requisitos, diseños, componentes, casos de prueba, etc.) que se configuran y componen de una manera prescrita para producir los productos de la línea. El Control: Modelos de Decisión y Decisiones de Productos Los Modelos de Decisiones describen los aspectos variables y opcionales de los productos de la línea. Cada producto de la línea es definido por un conjunto de decisiones (decisiones del producto)
  • 7. Modelo Básico de una LPS El proceso de producción Establece los mecanismos o pasos para componer y configurar productos a partir de los activos de entrada Las decisiones del producto se usan para determinar que activos de entrada utilizar y como configurar los puntos de variación de esos activos La salida: Productos de software Conjunto de todos los productos que pueden o son producidos por la línea de productos
  • 8. Beneficios La entrega de productos de software de una manera: más rápida, económica y con una mejor calidad Las LPS producen mejoras en: Tiempo de entrega del producto (time tomarket) Costos de ingeniería Tamaño del portafolio de productos Reducción de las tasas de defectos Calidad de los productos
  • 9. Beneficios tácticos de ingeniería: Reducción en el tiempo promedio de creación y entrega de nuevos productos Reducción en el número promedio de defectos por producto Reducción en el esfuerzo promedio requerido para desarrollar y mantener los productos Reducción en el costo promedio de producción de los productos Incremento en el número total de productos que pueden ser efectivamente desplegados y mantenidos
  • 10. Beneficios estratégicos de negocios Reducción 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 Márgenes mayores de ganancias Mejor calidad de los productos Mejoras en la reputación de la empresa Mayor escalabilidad del modelo de negocios en términos de productos y mercados Mayor agilidad para expandir el negocio a nuevos mercados Reducción de riesgos en la entrega de productos
  • 11. Aspectos Fundamentales El paradigma de desarrollo de software LPS requiere que las empresas que lo adopten consideren: Aspectos conceptuales Conceptos en los que las LPS se fundamentan Aspectos tecnológicos Qué tecnologías son fundamentales para desarrollar y mantener activos y productos de software Aspectos metodológicos Cómo desarrollar y mantener los activos y productos de software Aspectos organizativos Cómo debe la empresa organizarse internamente Aspectos gerenciales Cómo gestionar los proyectos de desarrollo de activos y productos
  • 12. Aspectos Conceptuales Activos de Software Componentes de Software Reutilizable Dominios y Familias
  • 13. Activos de Software Reutilizable Es un producto de software diseñado expresamente para ser utilizado múltiples veces en el desarrollo de diferentes sistemas o aplicaciones. Puede ser:
  • 14. Componentes de Software Reutilizable Un componente de software reutilizable es “Una pieza [de software] funcional que es liberada independientemente [de otras] y que proporciona acceso a sus servicios a través de sus interfaces” [Brown, 2000] Puede ser liberado (desplegado e instanciado) independientemente de otros: Ofrece servicios a través de sus interfaces Para utilizar su funcionalidad se emplean sus interfaces
  • 15. Dominios Un dominio es un área de aplicación de productos de software que: están centradas en torno a un cuerpo de conocimientos tienen una economía de alcance asociada Ocurre cuando construir un activo y usarlo en múltiples productos ocasiona más beneficios que crear el activo para cada producto Pueden dividirse en subdominios
  • 16. Familias Una familia de productos de software es un conjunto de productos de software asociados a un dominio determinado Los miembros de la familia comparten aspectos comunes tales como: un diseño arquitectónico común un conjunto componentes reutilizables capacidades y servicios comunes tecnologías comunes
  • 17. Líneas de Productos Software Una LPS es una familia de productos de software que: tiene un conjunto de aspectos gestionados que son comunes a todos los miembros de la familia los productos de la línea son desarrollados a partir de un conjunto de activos de software reutilizables Una familia de productos de software tiene: Aspectos comunes que son compartidos por todos sus productos Aspectos variables que establecen diferencias entre los productos
  • 18. Objetivo Principal de una LPS “Reducir el tiempo, esfuerzo, costo y complejidad de crear y mantener los productos de la línea mediante: La capitalización de los aspectos comunes de la línea de productos A través de la consolidación y reutilización de los activos de entrada a la línea El manejo de los aspectos variables de los productos de la línea A través de los puntos de variación de los activos y los modelos de decisión”
  • 19. Desarrollo de Software Basado en LP Arquitecturas de LPS Repositorios de la LPS Áreas de Prácticas y Patrones de LPS
  • 20. Arquitectura de una LPS Es una arquitectura de software genérica Describe la estructura de toda la familia de productos y no solamente la de un producto particular Captura los aspectos comunes y variables de una familia de productos de software Los aspectos comunes de la arquitectura son capturados por los componentes de software que son comunes a toda la familia Los aspectos variables de la arquitectura son capturados por los componentes de software que varían entre los miembros de la familia También denominada arquitectura de dominio La arquitectura LPS debe ser instanciada cada vez que se desarrolla un producto de la línea
  • 21. Arquitectura de una LPS Una arquitectura LPS es instanciada a través de mecanismos de variabilidad: Herencia. Ej. Suplantación de un método heredado de una clase en un componente Puntos de extensión. Ej. Se agrega nueva funcionalidad o comportamiento a un componente Parametrización. El comportamiento de un componente puede ser parametrizado a tiempo de diseño y definido a tiempo de implementación. Ej. macros o templates Configuración Selección y "deselección" de los componentes de la arquitectura Selección a tiempo de compilación La implementación de una funcionalidad es seleccionada, entre varias posibles, al momento de la compilación del componente o de la aplicación
  • 22. Respositorios LPS Las líneas 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 recuperación y el mantenimiento de los activos de software Su objetivo es asegurar la disponibilidad de activos para apoyar el desarrollo de productos de la LPS
  • 23. Respositorios LPS El repositorio mantiene información relevante de cada activo usado en la LPS: Especificación técnica del activo Historia o registro de uso Clasificación del activo Documentación del activo
  • 24. Tipos de Respositorios LPS Según su alcance Locales Son desarrollados y reusados internamente por una organización o empresa Globales o de uso comercial Disponibles a terceros bajo adquisición o subscripción Ejemplos: COTS, Servicios Web Según su aplicabilidad De dominio específico De dominio general Según su propósito De reuso Permiten el almacenamiento y recuperación de activos de software De referencia Facilitan la localización de activos en otros repositorios Ejemplo: UDDIs
  • 25. Áreas de Prácticas y Patrones para LPS La introducción 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 consideración diferentes factores: tecnológicos, metodológicos, organizacionales y gerenciales Clementsy Northrop (2002) definen un conjunto de áreas de prácticas y patrones Son esenciales considerar para asegurar el éxito de la implantación del paradigma LPS en una empresa
  • 26. Áreas de Práctica de LPS Un área de práctica es una colección de actividades que una empresa debe ejecutar y dominar para implantar exitosamente una LPS Estas áreas de práctica 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
  • 27. Áreas de Práctica de LPS Tres tipos de áreas de prácticas LPS recomendadas por Clementsy Northrop (2002): Áreas de práctica de Ingeniería de Software Ejemplos: Definición y evaluación de una arquitectura LPS Áreas de práctica de Gestión Técnica Ejemplo: Planificación de los proyectos de desarrollo de componentes ó de productos (aplicaciones) Áreas de práctica de Gestión Organizacional Ejemplo: Estructuración de la empresa
  • 28. Patrones LPS Un patrón es una regla de tres partes, las cuales expresan una relación entre un contexto, un problema y una solución (Alexander, 1979) Los patrones LPS plantean soluciones a problemas recurrentes relacionados con las situaciones organizacionales de las LPS Las soluciones son planteadas en términos de las áreas de prácticas y sus relaciones Un ejemplo: El patrón "Que Construir"
  • 29. Un ejemplo: El patrón "Que Construir" El Contexto: Una empresa ha decidido crear una línea de productos de software y conoce bien el dominio de aplicación de los productos El Problema: Determinar que productos deberán ser incluidos en la línea de productos La Solución: Para determinar que productos producir, se requiere información relacionada con: El dominio de aplicación, la tecnología y el mercado La justificación del negocio El proceso para describir el conjunto de productos que serán incluidos en la línea de productos
  • 30. Un ejemplo: El patrón "Que Construir" Las áreas de práctica requeridas por la solución: Análisis del Mercado Ayuda a entender el mercado que tendrá los productos de la línea: qué productos tienen mayor demanda, cuál es la competencia, cuál es el tamaño 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 Proyección tecnológica Permite predecir que productos que productos pueden llegar a ser factibles en el futuro cercano Construcción de un caso de negocios Proporciona una justificación de la selección de productos y del enfoque se usará para construirlos Definición del alcance (scoping) Describe cuales productos serán incluidos en la línea de productos y cuales no
  • 31. Áreas de Práctica de Ingeniería de Software Los aspectos metodológicos de las LPS involucran la aplicación de un conjunto de prácticas de ingeniería: Definición de la arquitectura LPS Evaluación de la arquitectura LPS Desarrollo de componentes Utilización de COTS Minería de activos existentes Ingeniería de Requisitos Integración de sistemas de software Pruebas Entendimiento de dominios relevantes
  • 33. Modelos de Procesos para LPS El Modelo TWIN El método WATCH Modelo WATCH Component Modelo WATCH Application El modelo del Software EngineeringInstitute (SEI) El modelo ESPLEP Evolutionary Software Product Lines Engineering Process