stringtranslate.com

Ingeniería de familia de productos

La ingeniería de familia de productos ( PFE ), también conocida como ingeniería de línea de productos , se basa en las ideas de " ingeniería de dominio " creadas por el Software Engineering Institute , término acuñado por James Neighbors en su disertación de 1980 [1] en la Universidad de California. , Irvine . Las líneas de productos de software son bastante comunes en nuestra vida diaria, pero antes de poder establecer con éxito una familia de productos , se debe seguir un proceso extenso. Este proceso se conoce como ingeniería de familia de productos.

La ingeniería de familia de productos se puede definir como un método que crea una arquitectura subyacente de la plataforma de productos de una organización . Proporciona una arquitectura que se basa en puntos comunes así como en variabilidades planificadas. Las diversas variantes de productos pueden derivarse de la familia de productos básica, lo que crea la oportunidad de reutilizar y diferenciar los productos de la familia. La ingeniería de familias de productos es conceptualmente similar al uso generalizado de plataformas de vehículos en la industria automotriz .

La ingeniería de familias de productos es un enfoque relativamente nuevo para la creación de nuevos productos. Se centra en el proceso de ingeniería de nuevos productos de tal manera que sea posible reutilizar los componentes del producto y aplicar variabilidad con menores costos y tiempo. La ingeniería de familias de productos consiste en reutilizar componentes y estructuras tanto como sea posible.

Varios estudios han demostrado que utilizar un enfoque de ingeniería de familias de productos para el desarrollo de productos puede tener varios beneficios. [2] Aquí hay una lista de algunos de ellos:

El caso de Nokia que se menciona a continuación también ilustra estos beneficios.

Proceso general

El proceso de ingeniería de la familia de productos consta de varias fases. Las tres fases principales son:

El proceso ha sido modelado en un nivel de abstracción superior. Esto tiene la ventaja de que se puede aplicar a todo tipo de líneas y familias de productos, no solo a software . El modelo se puede aplicar a cualquier familia de productos. La Figura 1 (abajo) muestra un modelo de todo el proceso. A continuación, se describe detalladamente el proceso. La descripción del proceso contiene elaboraciones de las actividades y los conceptos importantes que se utilizan. Todos los conceptos impresos en cursiva se explican en la Tabla 1.

Fase 1: gestión de productos

La primera fase es la puesta en marcha de todo el proceso. En esta fase se definen algunos aspectos importantes especialmente en lo que respecta a los aspectos económicos. Esta fase es responsable de delinear las estrategias de mercado y definir un alcance , que indica qué debe y no debe estar dentro de la familia de productos.

Evaluar la visión empresarial

Durante esta primera actividad se recopila y evalúa toda la información de contexto relevante para definir el alcance de la línea de productos. Es importante definir una estrategia de mercado clara y tener en cuenta la información del mercado externo, como las demandas de los consumidores. La actividad debe entregar un documento de contexto que contenga directrices , limitaciones y la estrategia del producto .

Definir el alcance de la línea de productos.

Se aplican técnicas de alcance para definir qué aspectos están dentro del alcance. Esto se basa en el paso anterior del proceso, donde se han tenido en cuenta factores externos. El resultado es una descripción de la cartera de productos , que incluye una lista de productos actuales y futuros y también una hoja de ruta del producto .

Se puede discutir si la fase 1, gestión de productos, es parte del proceso de ingeniería de la familia de productos, porque podría verse como un proceso de negocio individual que se centra más en los aspectos de gestión que en el aspecto del producto. Sin embargo, la fase 2 necesita algunos aportes importantes de esta fase, ya que una gran parte del alcance se define en esta fase. Entonces, desde este punto de vista, es importante incluir la fase de gestión del producto (fase 1) en todo el proceso como base para el proceso de ingeniería de dominio.

Fase 2: ingeniería de dominio

Durante las fases de ingeniería de dominio, se recopilan los requisitos variables y comunes para toda la línea de productos. El objetivo es establecer una plataforma reutilizable. El resultado de esta fase es un conjunto de requisitos comunes y variables para todos los productos de la línea de productos.

Analizar los requisitos del dominio

Esta actividad incluye todas las actividades para analizar el dominio con respecto a los requisitos del concepto. Los requisitos se clasifican y dividen en dos nuevas actividades. El resultado es un documento con el análisis del dominio .

Como se puede ver en la Figura 1, el proceso de definición de requisitos comunes es un proceso paralelo al de definición de requisitos variables. Ambas actividades se desarrollan al mismo tiempo.

Definir requisitos comunes

Incluye todas las actividades para obtener y documentar los requisitos comunes de la línea de productos, lo que da como resultado un documento con requisitos comunes reutilizables .

Definir requisitos variables

Incluye todas las actividades para obtener y documentar los requisitos variables de la línea de productos, lo que da como resultado un documento con requisitos variables .

Dominio de diseño

Este paso del proceso consta de actividades para definir la arquitectura de referencia de la línea de productos. Esto genera una estructura abstracta para todos los productos de la línea de productos.

Implementar dominio

Durante este paso se crea un diseño detallado de los componentes reutilizables y la implementación de estos componentes.

Dominio de prueba

Valida y verifica la reutilización de componentes. Los componentes se prueban según sus especificaciones. Después de probar con éxito todos los componentes en diferentes casos de uso y escenarios, se completó la fase de ingeniería de dominio.

Fase 3: ingeniería de producto

En la fase final se está diseñando un producto X. Este producto X utiliza los puntos comunes y la variabilidad de la fase de ingeniería de dominio, por lo que el producto X se deriva de la plataforma establecida en la fase de ingeniería de dominio. Básicamente, toma todos los requisitos y similitudes comunes de la fase anterior más sus propios requisitos variables. Utilizando la base de la fase de ingeniería de dominio y los requisitos individuales de la fase de ingeniería del producto, se puede construir un producto nuevo y completo. Una vez que el producto haya sido completamente probado y aprobado, se podrá entregar el producto X.

Definir los requisitos del producto.

Desarrollar la especificación de requisitos del producto para el producto individual y reutilizar los requisitos de la fase anterior.

Producto de diseño

Todas las actividades para producir la arquitectura del producto . Hace uso de la arquitectura de referencia del paso "dominio de diseño", selecciona y configura las partes requeridas de la arquitectura de referencia e incorpora adaptaciones específicas del producto.

Construir producto

Durante este proceso se construye el producto, utilizando selecciones y configuraciones de los componentes reutilizables .

Producto de prueba

Durante este paso, el producto se verifica y valida según sus especificaciones. Un informe de prueba brinda información sobre todas las pruebas que se llevaron a cabo, lo que brinda una descripción general de posibles errores en el producto. Si no se acepta el producto en el siguiente paso, el proceso volverá a "crear producto", en la Figura 1 esto se indica como "[insatisfecho]".

Entregar y respaldar el producto.

El último paso es la aceptación del producto final. Si ha sido probado con éxito y aprobado para estar completo, se puede entregar. Si el producto no cumple con las especificaciones, deberá ser reconstruido y probado nuevamente.

La siguiente figura muestra el proceso general de ingeniería de familia de productos como se describe anteriormente. Es una descripción general completa del proceso con todos los conceptos adjuntos a los diferentes pasos.

Diagrama de datos del proceso

En el lado izquierdo se ha dibujado todo el proceso de arriba a abajo. Todas las actividades del lado izquierdo están vinculadas a los conceptos del lado derecho mediante líneas de puntos. Cada concepto tiene un número, que refleja la asociación con otros conceptos.

Figura 1: Diagrama de datos del proceso

Lista de conceptos

A continuación se explicará la lista con conceptos. La mayoría de las definiciones de conceptos se han extraído de Pohl, Bockle y Linden (2005) y también se han agregado algunas definiciones nuevas.

Tabla 1: Lista de conceptos

Ejemplo

Hay algunos buenos ejemplos del uso de la ingeniería de familias de productos, que tuvieron bastante éxito. El modelo abstracto de ingeniería de familias de productos permite diferentes tipos de usos, la mayoría de ellos relacionados con el mercado de la electrónica de consumo . A continuación se muestra un ejemplo de una aplicación del proceso de ingeniería de línea de productos, basado en una experiencia real de Nokia.

Nokia produce diferentes tipos de productos. Entre ellos se encuentra una familia de productos de teléfonos móviles , que actualmente contiene entre 25 y 30 productos nuevos cada año. Estos productos se venden en todo el mundo, lo que hace necesario admitir muchos idiomas e interfaces de usuario diferentes. Un problema principal aquí es que se deben soportar varias interfaces de usuario diferentes y, como los nuevos productos se suceden muy rápidamente, esto se debe hacer de la manera más eficiente posible. La ingeniería de familias de productos permite crear software para los diferentes productos y utilizar la variabilidad para personalizar el software para cada teléfono móvil diferente.

El caso de Nokia es comparable con una línea de productos de software normal . Durante la primera fase, la gestión del producto , es posible definir el alcance de las diferentes series de teléfonos móviles. Durante la segunda fase, ingeniería de dominio , se definen los requisitos para la familia y para los tipos individuales de teléfonos, por ejemplo, las series 6100/8300. En esta fase se realizan los requisitos del software, que pueden servir como base para toda la familia de productos. Esto acelera el proceso general de desarrollo del software. La última fase, ingeniería de producto , se centra más en los tipos individuales de teléfonos. Los requisitos de la fase anterior se utilizan para crear software individual para el tipo de teléfono que se está desarrollando.

El uso de una línea de productos dio a Nokia la oportunidad de aumentar su producción de nuevos modelos de teléfonos móviles de 5 a 10 a alrededor de 30. [3]

Ver también

Referencias

  1. ^ https://escholarship.org/uc/item/5687j6g6 Construcción de software mediante componentes, obtenido el 9 de enero de 2021
  2. ^ Clements P. y Northrop LM (2003). Líneas de productos de software. Presentación Instituto Carnegie Mellon de Ingeniería de Software. Obtenido el 26 de marzo de 2006 de: http://www.sei.cmu.edu/
  3. ^ Instituto de Ingeniería de Software Carnegie Mellon (SEI). Líneas de productos de software. Obtenido el 17 de febrero de 2006 de: https://web.archive.org/web/20171005173029/http://www.sei.cmu.edu/productlines/

enlaces externos