¿Cuál es la función de un software?
El propósito de la mayoría de las funciones de software es transformar las entradas en una salida o producto.
Sin embargo, algunas funciones reciben flujo de control en lugar de una entrada. Algunos ejemplos de funciones que sólo reciben flujo de control son (1) la acción de presentar pantallas gráficas informativas para el usuario, mensajes o pantallas de diálogo; (2) tomar acciones sobre valores de datos globales; y (3) tomar acciones cuando una variable de estado (por ejemplo, la indicación de salud del entorno informático o el estado del procedimiento de software) ha cambiado o necesita ser evaluada.
Aunque las funciones que no procesan directamente los datos pueden no satisfacer los criterios específicos del lenguaje informático o de las matemáticas, realizan acciones significativas dentro del campo de estudio de la ingeniería del software.
Los elementos de datos representan la información que fluye entre las funciones. El paso de datos entre funciones de software representa una interfaz funcional, como la invocación de una subrutina o una declaración de "llamada".
La función de control pasa una variable a otra función que se procesa y el resultado se devuelve a la función de control. Por ejemplo, una función puede invocar una función de conversión de temperatura pasando un valor de temperatura en Fahrenheit.
La función receptora convierte el valor de temperatura en Fahrenheit a Celsius y devuelve el valor resultante a la función de control. La interfaz funcional representa el mecanismo para lograr la encapsulación, el enfoque orientado a objetos para ocultar información.
El paso de datos entre una función de software y una aplicación o sistema externo representa una interfaz de software que se especifica mediante una especificación de interfaz de software. Por lo tanto, la arquitectura funcional debe identificar estas aplicaciones o sistemas externos fuera de los límites de la arquitectura funcional para reflejar la interfaz de software.
Las interfaces de software representan un contrato multipartito que debe cumplirse en lo que respecta a la definición de las características de diseño e implementación de la interfaz.
Los elementos de datos globales representan datos que son accesibles para cualquier función. Este tipo de elemento de datos no representa un flujo de datos debido a la disponibilidad "global" del valor paramétrico.
El valor de los datos globales está disponible para todas las funciones dentro de la arquitectura del software. Los elementos de datos locales representan parámetros variables o constantes que se declaran internamente a una función y no son accesibles a otras funciones. Por lo tanto, el acceso a los elementos de datos locales no representa un flujo de datos.
El diagrama de flujo de datos se ha utilizado para representar una visión centrada en los datos de las transacciones de procesamiento de datos del software. Representa los ítems de datos como los elementos primarios de interés y las funciones como los conectores o agentes de transformación entre los estados de los ítems de datos.
El modelo de comportamiento combina las secuencias de flujo funcional con los flujos de datos para proporcionar una representación más general y completa de los escenarios de procesamiento de datos de software.
Debe elaborarse un diccionario de datos de software (documento de nomenclatura) para garantizar que cada elemento de datos se identifique de forma única y que su caracterización esté disponible para todos los miembros del equipo de desarrollo de software.