Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Arquitecturas de referencia para líneas de productos

Exposición de tema de Desarrollo de Proyectos de Software
by

Javier Rivera

on 30 October 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Arquitecturas de referencia para líneas de productos

INSTITUTO TECNOLÓGICO DE VERACRUZ Arquitecturas de referencia para
líneas de productos ¿Qué es una línea de productos de software? La idea básica: Ensamblaje de partes de software previamente elaboradas.
Inspirada en los procesos de producción de sistemas físicos. Definiciones de línea de productos de software Consiste de una familia de sistemas de software que tienen una funcionalidad común y alguna funcionalidad variable. Modelo básico de línea de productos de software La entrada: Activos de Software El control: Modelos de decisión
y decisiones de productos El proceso de producción La salida: Productos de
software Beneficios La entrega de productos de software se vuelve de una manera: Más rápida.
Más económica.
Con una mejor calidad. Beneficios Las líneas de productos producen mejoras en: Tiempo de entrega del producto (Time to market).
Costos de ingeniería.
Tamaño del portafolio de recursos.
Reducción de las tasas de productos.
Calidad de los productos. Beneficios Beneficios tácticos de ingeniería (Krueger,2006) Tiempo.
Defectos.
Esfuerzo.
Costo. Reducción de: Beneficios Beneficios estratégicos de negocios (Krueger,2006) Reducción en el tiempo de entrega.
Mejoras en el valor competitivo del producto.
Mayores ganancias.
Mejor calidad de los productos.
Mejoras en la reputación de la empresa.
Mayor escabilidad del modelo de negocios. Aspectos fundamentales Aspectos conceptuales.
Aspectos tecnológicos.
Aspectos metodológicos.
Aspectos organizativos.
Aspectos gerenciales. El desarrollo de software LPS requiere que las empresas que lo adopten consideren: Reutilización de Software Aspectos Conceptuales La reutilización de activos de software en LPS tiene varias características: Es estratégica.
Es predictiva.
Es gestionada. Activos de Software Aspectos Conceptuales Un activo 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. Componentes de software reutilizables Aspectos Conceptuales Un CSR 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) Dominios y Familias Aspectos Conceptuales Un dominio es una área de aplicación de productos de software que: Identificable.
Autocontenido.
Reemplazable.
Accesible.
Documentable. Están centradas en torno a un cuerpo de conocimientos.
Tienen un alcance asociado.
Pueden dividirse en subdominios. Dominios y Familias Aspectos Conceptuales Una familia de productos de software es un conjunto de productos de software asociados a un dominio determinado. Que comparten: Diseño arquitectónico común.
Conjunto de componentes reutilizables.
Capacidades y servicios comunes.
Tecnologías comunes. Líneas de productos de software Aspectos Conceptuales Una LPS es una familia de productos de software que: Tiene un conjunto de aspectos gestionados.
Los productos de la línea son desarrollados a partir de un conjunto de activos de software reutilizables. Líneas de productos de software Aspectos Conceptuales Su objetivo principal es:
"Reducir el tiempo, esfuerzo, costo y complejidad de crear y mantener los productos de la líneas mediante: Aspectos Conceptuales La capitalización de los aspectos comunes de la línea de productos.
El manejo de los aspectos variables de los productos de la línea. Líneas de productos de software Una familia de productos de software tiene: Aspectos comunes.
Aspectos variables. La arquitectura de una LPS es una arquitectura de software genérica Aspectos Tecnológicos Describe la estructura de toda la familia de productos
Captura los aspectos comunes y variables
También denominada arquitectura de dominio Arquitectura de LPS Una arquitectura LPS es instanciada a través de mecanismos de variabilidad: Aspectos Tecnológicos Herencia
Puntos de extensión
Parametrización
Configuración
Selección a tiempo de compilación Arquitectura de LPS Las líneas de productos de software requieren almacenar sus activos de software en repositorios.

Un repositorio es una base de datos especializada que: Aspectos Tecnológicos Almacena activos de software
Facilita la recuperación y el mantenimiento
Su objetivo es asegurar la disponibilidad de activos Repositorios de las LPS Mantiene información relevante de cada activo usado en la LPS: Aspectos Tecnológicos Especificación técnica del activo
Historia o registro de uso
Clasificación del activo
Documentación del activo Repositorios de las LPS Tipos de repositorio Aspectos Tecnológicos Según su alcance
Locales
Globales o de uso comercial
Según su aplicabilidad
De dominio específico
De dominio general
Según su propósito
De reuso
De referencia Repositorios de las LPS Aspectos Tecnológicos Un área de práctica es una colección de actividades que una empresa debe ejecutar y dominar para implantar exitosamente una LPS Áreas de practicas y patrones para 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. Aspectos Tecnológicos Áreas de practicas y patrones para LPS Ejemplo: El patrón "Que Construir" El contexto

El problema

La solución Las áreas de práctica requeridas por la solución: Aspectos Tecnológicos Áreas de practicas y patrones para LPS Ejemplo: El patrón "Que Construir" Análisis de mercado
Entendimiento de dominios relevantes
Proyección tecnológica
Construcción de un caso de negocios
Definición del alcance Aspectos Metodológicos Áreas de practica 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
Pruebas Aspectos Metodológicos Los procesos básicos de una LPS Procesos de negocio de una LPS Aspectos Metodológicos Los procesos básicos de una LPS La Ingeniería de Aplicaciones (IA) se encarga del desarrollo de los productos de la LPS a través de: La reutilización de activos de software

Planes de producción Aspectos Metodológicos Modelos de procesos basado en la reutilización La Ingeniería de Aplicaciones (IA) se encarga del desarrollo de los productos de la LPS a través de: El Modelo TWIN
El método WATCH App
Modelo WATCH Component
El modelo del Software Engineering Institute Aspectos Organizacionales Están relacionados con: La organización de la empresa

Las actividades que ella debe implantar Aspectos gerenciales Están relacionados con la aplicación de los procesos gerenciales en las actividades de Ingeniería de Dominio e Ingeniería de Aplicación de una LPS Planificación de Proyectos
Organización de Grupos de Trabajo
Grupos de Soporte
Grupos de Desarrollo
Dirección
Administración de recursos
Control Aspectos gerenciales Los aspectos gerenciales de las LPS involucran la aplicación de un conjunto de prácticas de gestión técnica: Recolección de datos, métricas y seguimiento

Definición de procesos

Alcance

Soporte de herramientas Conclusiones Modelos de procesos para LPS Modelo TWIN Método WATCH Modelo SEI Modelo ESPLEP Modelo empleado en el desarrollo de software basado en componentes. Método WATCH Modelo propuesto en la Universidad de Los Andes (Venezuela) para el desarrollo de aplicaciones empresariales. Método WATCH-Component Modelo de procesos para el desarrollo de componentes de software reutilizables. Método WATCH-Application Modelo de procesos para el desarrollo de aplicaciones empresariales. Modelo Software Engineering Institute (SEI) Modelo de procesos de LPS desarrollado en el Software Engineering Institute. Modelo SEI Desarrollo de Activos Fundamentales (Ingeniería de Dominio) Objetivo: Establecer la capacidad de producción para los productos mediante el desarrollo de activos de software reutilizables. Salidas: Alcance de la línea.
Activos.
Plan de producción. Modelo SEI Desarrollo de productos (Ingeniería de aplicaciones) Objetivo: Salidas: Elaborar los productos de la línea a partir del ensamblaje de activos fundamentales siguiendo el plan de producción. Productos acabados de la línea. Modelo SEI Gestión de la línea de productos (Management) Objetivo: Proporcionar los recursos, coordinar y supervisar el desarrollo de activos y productos. Dividido en: Gestión Técnica Gestión Organizacional Orientada a los grupos que desarrollan activos y productos. Orientada a los aspectos organizacionales. Modelo ESPLEP Evolutionary Software Product Line Engineering Process Modelo ESPLEP Fases de la ingeniería de línea de productos del método ESPLEP Modelo ESPLEP Fases de la ingeniería de aplicaciones del método ESPLEP
Full transcript