stringtranslate.com

Ingeniería de familias de productos

La ingeniería de familias de productos ( PFE ), también conocida como ingeniería de líneas de productos , se basa en las ideas de la " ingeniería de dominio " creada por el Instituto de Ingeniería de Software , un término acuñado por James Neighbors en su tesis 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 que se pueda establecer con éxito una familia de productos , se debe seguir un proceso extenso. Este proceso se conoce como ingeniería de familias de productos.

La ingeniería de familias 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 elementos comunes, así como en variabilidades planificadas. Las distintas variantes de productos se pueden derivar 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 diseñar 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 los componentes y las estructuras tanto como sea posible.

Varios estudios han demostrado que el uso de un enfoque de ingeniería de familias de productos para el desarrollo de productos puede tener varios beneficios. [2] A continuación, se incluye una lista de algunos de ellos:

El caso de Nokia mencionado a continuación también ilustra estos beneficios.

Proceso general

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

El proceso se ha modelado en un nivel de abstracción más alto. 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 el proceso en detalle. La descripción del proceso contiene explicaciones 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 del producto

La primera fase es la puesta en marcha de todo el proceso. En esta fase se definen algunos aspectos importantes sobre todo en lo que se refiere a aspectos económicos. Esta fase se encarga de delinear las estrategias de mercado y definir un alcance , que diga qué debe y qué 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 externa del mercado, como las demandas de los consumidores. La actividad debe generar un documento de contexto que contenga las directrices , las limitaciones y la estrategia del producto .

Definir el alcance de la línea de productos

Se aplican técnicas de determinación del 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 los 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 de productos .

Se puede discutir si la fase 1, la gestión del producto, forma parte del proceso de ingeniería de la familia de productos, porque podría verse como un proceso empresarial 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 en ella se define una gran parte del alcance. Por lo tanto, 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 del 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 variables y comunes 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 en relación con los requisitos conceptuales. Los requisitos se clasifican y se dividen en dos nuevas actividades. El resultado es un documento con el análisis del dominio .

Como se puede observar 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 llevan a cabo al mismo tiempo.

Definir requisitos comunes

Incluye todas las actividades para obtener y documentar los requisitos comunes de la línea de productos, dando 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, dando como resultado un documento con requisitos variables .

Dominio del 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 los componentes. Los componentes se prueban en función de sus especificaciones. Después de probar con éxito todos los componentes en diferentes casos de uso y escenarios, se completa la fase de ingeniería de dominio.

Fase 3: ingeniería del producto

En la fase final se diseña un producto X. Este producto X utiliza los puntos en común y la variabilidad de la fase de ingeniería del dominio, por lo que el producto X se deriva de la plataforma establecida en la fase de ingeniería del 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 del 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 se ha probado y aprobado por completo, se puede 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.

Diseño de producto

Todas las actividades para la producción de la arquitectura del producto . Utiliza 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 se valida en relación con sus especificaciones. Un informe de pruebas proporciona información sobre todas las pruebas realizadas y ofrece una visión general de los posibles errores del producto. Si el producto no se acepta en el siguiente paso, el proceso volverá a "fabricar el producto"; en la Figura 1, esto se indica como "[insatisfecho]".

Entregar y dar soporte al producto

El paso final es la aceptación del producto final. Si se ha probado con éxito y se ha aprobado que está completo, se puede entregar. Si el producto no cumple con las especificaciones, debe reconstruirse y probarse nuevamente.

La siguiente figura muestra el proceso general de ingeniería de familias de productos descrito anteriormente. Es una descripción general del proceso completo con todos los conceptos asociados a los diferentes pasos.

Diagrama de datos de 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 de conceptos. La mayoría de las definiciones de conceptos se extrajeron de Pohl, Bockle y Linden (2005) y también se agregaron algunas definiciones nuevas.

Tabla 1: Lista de conceptos

Ejemplo

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

Nokia produce distintos tipos de productos, entre ellos una familia de teléfonos móviles que actualmente incluye entre 25 y 30 productos nuevos cada año. Estos productos se venden en todo el mundo, lo que hace necesario ofrecer soporte para muchos idiomas e interfaces de usuario diferentes. Un problema importante en este caso es que se deben ofrecer soporte para varias interfaces de usuario diferentes y, como los nuevos productos se suceden muy rápidamente, esto debe hacerse de la forma 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, la ingeniería de dominio , se definen los requisitos para la familia y para los tipos individuales de teléfonos, por ejemplo, la serie 6100/8300. En esta fase, se establecen los requisitos de software, que pueden servir como base para toda la familia de productos. Esto acelera el proceso de desarrollo general del software. La última fase, la ingeniería de producto , está más centrada 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 le dio a Nokia la oportunidad de aumentar su producción de nuevos modelos de teléfonos móviles de 5-10 a alrededor de 30. [3]

Véase también

Referencias

  1. ^ https://escholarship.org/uc/item/5687j6g6 Construcción de software utilizando componentes, Consultado el 9 de enero de 2021
  2. ^ Clements P. & Northrop LM (2003). Líneas de productos de software. Presentación del Carnegie Mellon Software Engineering Institute. Recuperado el 26 de marzo de 2006 de: http://www.sei.cmu.edu/
  3. ^ Carnegie Mellon Software Engineering Institute (SEI). Líneas de productos de software. Recuperado el 17 de febrero de 2006 de: https://web.archive.org/web/20171005173029/http://www.sei.cmu.edu/productlines/

Enlaces externos