El diseño funcional es un paradigma utilizado para simplificar el diseño de dispositivos de hardware y software, como software de computadora y, cada vez más, modelos 3D . Un diseño funcional asegura que cada parte modular de un dispositivo tenga una sola responsabilidad y realice esa responsabilidad con el mínimo de efectos secundarios en otras partes. Los módulos de diseño funcional tienden a tener un acoplamiento bajo .
Ventajas
La ventaja de la implementación es que si un módulo de software tiene un solo propósito, será más simple y, por lo tanto, más fácil y menos costoso de diseñar e implementar.
Los sistemas con partes diseñadas funcionalmente son más fáciles de modificar porque cada parte hace solo lo que dice hacer.
Dado que el mantenimiento es más de 3/4 de la vida útil de un sistema exitoso, [1] esta característica es una ventaja crucial. También hace que el sistema sea más fácil de comprender y documentar, lo que simplifica la capacitación. El resultado es que la vida útil práctica de un sistema funcional es más larga.
En un sistema de programas, un módulo funcional será más fácil de reutilizar porque es menos probable que tenga efectos secundarios que aparezcan en otras partes del sistema.
Técnica
La forma estándar de asegurar el diseño funcional es revisar la descripción de un módulo. Si la descripción incluye conjunciones como "y" o "o", entonces el diseño tiene más de una responsabilidad y, por lo tanto, es probable que tenga efectos secundarios. Las responsabilidades deben dividirse en varios módulos para lograr un diseño funcional.
Críticas y límites
Cada sistema informático tiene partes que no pueden ser funcionalmente puras porque existen para distribuir ciclos de CPU u otros recursos a diferentes módulos. Por ejemplo, la mayoría de los sistemas tienen una sección de "inicialización" que inicia los módulos. Otros ejemplos bien conocidos son la tabla de vectores de interrupción y el bucle principal .
Algunas funciones tienen inherentemente semántica mixta. Por ejemplo, una función "mover el automóvil desde el garaje" tiene inherentemente un efecto secundario de cambiar la "posición del automóvil". En algunos casos, la semántica mixta puede extenderse sobre un gran árbol topológico o gráfico de conceptos relacionados. En estos casos inusuales, algunas autoridades no recomiendan el diseño funcional [ cita requerida ] . En su lugar , se pueden preferir métodos de polimorfismo , herencia o de procedimiento.
Aplicado al modelado y simulación 3D
Recientemente, varias empresas de software han introducido el diseño funcional como concepto para describir un modelador basado en funciones paramétricas para el modelado y simulación 3D. En este contexto, se refieren a un modelo paramétrico de un objeto donde los parámetros están vinculados a criterios de diseño del mundo real, como un eje que ajustará su diámetro en función de la resistencia del material y la cantidad de fuerza que se le aplica en la simulación. Se espera que esto genere eficiencias en el proceso de diseño de ensamblajes mecánicos y quizás incluso arquitectónicos / estructurales al integrar los resultados del análisis de elementos finitos directamente al comportamiento de los objetos individuales.