Categorías
Articulos Desarrollo de software

¿Qué es el Análisis Funcional en el Desarrollo de Software?

Análisis funcional

El análisis funcional es el siguiente paso en el proceso de Ingeniería de Sistemas después de establecer la meta y los requisitos. El análisis funcional divide un sistema en partes más pequeñas, llamadas elementos funcionales, que describen lo que queremos que haga cada parte.

Siguenos en INSTAGRAM La comunidad de los verdaderos programadores.

Todavía no incluimos el cómo del diseño o la solución. En este punto, no queremos limitar las opciones de diseño, ya que podría dejar de lado la mejor respuesta. En pasos posteriores identificaremos alternativas, las optimizaremos y seleccionaremos las mejores para conformar el sistema completo.

El nombre Función proviene de funciones matemáticas, que actúan sobre un valor de entrada y producen un valor de salida diferente. De manera similar, en el método de Ingeniería de Sistemas, las funciones transforman un conjunto de entradas en un conjunto de salidas.

Diagramas Funcionales

Diagramas Funcionales

Existen diferentes formas de registrar y mostrar las funciones que componen un diseño de sistema.

Utiliza un cuadro rectangular para representar cada función (Figura 4.1-1). Las flechas representan flujos o estados de cualquier tipo hacia y desde la función. Los flujos se conectan a otras funciones o al exterior del sistema. Por convención, las entradas se muestran a la izquierda y las salidas se muestran a la derecha.

El cuadro de funciones en sí transforma las entradas a las salidas. Los mecanismos son las entidades que realizan la función, pero que no se transforman. Normalmente se muestran con flechas en la parte inferior, y generalmente representan el uso de un dispositivo. Los controles son entradas que ordenan, limitan o dirigen el funcionamiento de la función, y normalmente se muestran en la parte superior.

Los nombres de las funciones generalmente se componen de un verbo de acción y un sustantivo, como «cortar madera», que resume la tarea, y se muestran dentro del cuadro. Por lo general, se incluye un número de función para identificarlo de forma exclusiva, ya que nombres similares pueden terminar siendo utilizados en diferentes lugares de un proyecto.

Los diagramas pueden ser secuenciales, como mostrar los pasos de un proceso de producción; paralelo, donde pueden ocurrir diferentes actividades al mismo tiempo; o bucle, donde hay retroalimentación o iteración. De manera más general, la salida de cualquier función puede conducir a una entrada a cualquier otra función.

Diagrama de nivel superior

Al diseñar una fábrica, generalmente nos preocupa la función de producción. Sin embargo, la ubicación de los límites del sistema para fines de diseño y análisis puede ser diferente.

Incluye una función de producción, donde se realiza la mayor parte de la fabricación, una función de habitación, que son las casas y otros edificios en los que viven y trabajan los propietarios, y una función de transporte que mueve artículos físicos de un lugar a otro. En este caso, la fábrica entrega productos a una red de personas que poseen y operan el equipo, y su comunidad asociada.

También puede tomar desechos de ellos para ser reprocesados. Como los dueños de la producción son el mismo grupo que usa la habitación y el transporte, Esta es una situación suficientemente integrada que tiene sentido colocar un límite del sistema alrededor de todas las funciones relevantes.

Una fábrica que solo produce productos para la venta no tiene un vínculo tan fuerte con los usuarios finales, por lo que puede excluir cualquier cosa fuera de la función de producción. Las entradas y salidas desde fuera del límite del sistema seleccionado se muestran a la izquierda y a la derecha del diagrama, y ​​se desglosan por tipo.

Lógicamente, este diagrama es idéntico a uno en un nivel aún más alto, donde todas las entradas a la ubicación se representan como una sola flecha de flujo. Mostrar todos los detalles de un proyecto a la vez en un solo diagrama hace que sea demasiado grande y complicado de entender.

En cambio, la complejidad se reduce al presentar múltiples niveles de detalle, donde un cuadro en un nivel representa un diagrama más detallado en el siguiente nivel. De esta manera, se pueden describir sistemas con cualquier nivel de complejidad.

Flechas de flujo

Las flechas de flujo representan el estado de un elemento o el movimiento de cualquier tipo de recurso entre funciones. Una fundición de metal en bruto de un proceso de fundición y una pieza mecanizada hecha de esa fundición son estados diferentes de una pieza que se está fabricando.

La fundición sería una entrada y la parte mecanizada sería una salida de una función «Piezas de máquina» que convierte una a la otra. Los recursos son cosas como la energía y el trabajo humano que se utilizan como entradas o se crean como salidas de las funciones. Los flujos pueden dividirse y fusionarse entre puntos finales, pero debe entenderse que matemáticamente ambos lados de la unión son iguales.

De lo contrario, tiene una creación espontánea de la nada, o una fuente o disposición no contabilizada de algún artículo. Cuando los flujos en diagramas de nivel inferior muestran componentes más detallados, Por lo tanto, la combinación debe ser idéntica a un flujo único que los represente en un diagrama de nivel superior.

Los flujos, como las funciones, reciben nombres y números únicos para identificarlos. Tanto los flujos como los cuadros de funciones se desglosarán con más detalle a medida que avance el diseño.

Representando el tiempo

Dentro de un diagrama dado, un flujo que conecta dos funciones indica que la segunda función sigue lógicamente a la primera. Como mínimo, significa que la segunda función no puede iniciarse antes del inicio de la primera.

Sin embargo, pueden comenzar al mismo tiempo. Por ejemplo, un generador portátil y cualquier equipo que alimente se pueden iniciar juntos, pero el equipo no se puede iniciar antes del generador, porque una de sus entradas necesarias, a saber, la electricidad, no está disponible hasta que el generador esté funcionando.

A veces, una serie de cuadros de funciones representa un orden de tiempo estricto, donde uno debe completarse antes de que pueda comenzar el siguiente, pero esto solo es necesario cuando los flujos incluyen estados del mismo elemento.

Por ejemplo, para un avión, la función «Despegar de la pista» debe completarse antes de » como una unidad de tratamiento de agua que toma agua sucia de los hogares y envía agua limpia, la secuencia de inicio debe tenerse en cuenta en el diseño.

En este caso, dado que no hay agua sucia para procesar al principio, un suministro inicial de agua limpia debe alimentarse al circuito en algún momento. como una unidad de tratamiento de agua que toma agua sucia de los hogares y envía agua limpia, la secuencia de inicio debe tenerse en cuenta en el diseño.

En este caso, dado que no hay agua sucia para procesar al principio, un suministro inicial de agua limpia debe alimentarse al circuito en algún momento.

Se requiere una representación diferente del tiempo cuando el sistema en su conjunto evoluciona de una etapa a otra, y se agregan nuevos elementos funcionales y flujos.

Una forma de hacerlo es preparar diferentes versiones de los mismos diagramas para cada etapa y marcar los nuevos elementos que no estaban presentes en la etapa anterior.

Esto puede ser resaltando o coloreando los nuevos elementos. Las representaciones de sistemas más complejos, como las simulaciones, pueden hacer que los nuevos elementos aparezcan en el momento señalado.

Más allá de los diagramas de flujo: una función o nombre de flujo utilizado en un diagrama no es suficiente para describir exactamente qué se supone que es el elemento. Es simplemente una etiqueta para una parte del diseño. A medida que se resuelven detalles adicionales, se pueden incluir como notas para el diagrama, o en una variedad de documentos o archivos separados.

Se puede vincular cualquier cantidad de datos adicionales sobre la función utilizando el mismo nombre de identificación y número de función. La etiqueta de seguimiento única ayuda a organizar todos los datos para un proyecto en un sistema consistente.

Descripciones Funcionales

Se expanden en las etiquetas del diagrama y, a menudo, se incluyen en la hoja del diagrama o en hojas complementarias junto con los diagramas.

Las descripciones pueden ser tan largas como sea necesario, pero generalmente son unas pocas oraciones a unos pocos párrafos. Los modelos matemáticos, los dibujos de diseño para diferentes opciones o cualquier otro dato relacionado con la función también se marcan con el mismo nombre y número para identificarlos.

Proceso de análisis

Proceso de análisis

El propósito del análisis funcional es dividir un sistema complejo en partes más pequeñas y simples, para que eventualmente puedan ser diseñadas individualmente. Una forma de dividirse en partes es a lo largo del eje del tiempo.

Un proyecto grande puede dividirse en fases secuenciales en el tiempo, donde cada fase agrega nuevas capacidades o hardware. Un ejemplo común es el desarrollo de bienes raíces, donde cada fase desarrolla diferentes partes de una propiedad.

Los proyectos técnicos a menudo se dividen en varias fases de diseño, producción, prueba y entrega, donde los hitos para una fase determinada deben completarse antes de pasar a la siguiente fase. Dentro de una parte de un sistema, algunas tareas deben ocurrir en una secuencia o proceso en orden de tiempo.

Por lo tanto, cada paso de la secuencia se puede identificar como una función. Otra forma de dividir las funciones es cuando hacen cosas diferentes al mismo tiempo, pero tienen entradas y salidas que las conectan.

Por lo tanto, la electrónica de control para un brazo de robot puede enviar energía a los motores y leer los ángulos de unión de un sensor. La electrónica es lo suficientemente diferente de los cojinetes del motor y de la articulación que pueden tratarse sensiblemente como diferentes funciones, con diferentes problemas de diseño que resolver.

No hay una respuesta única sobre la mejor manera de dividir un sistema. A menudo, diferentes diseños alternativos requerirán diferentes desgloses funcionales. El diseñador debe usar su buen juicio para dividir un sistema en elementos que tengan una relación interna y que sigan un flujo lógico de uno a otro.

Una función debe contribuir a cumplir con una parte de los requisitos generales del sistema, o bien puede cuestionar la necesidad de esa función.

Una fábrica de tipo de producción industrial que solo está diseñada para fabricar artículos para la venta tendría menos interacción entre la producción y los clientes. En ese caso, puede dibujar razonablemente el límite del sistema solo alrededor de la porción de producción y dejar a los usuarios finales y la entrega como flujos externos.

El análisis funcional, como todas las partes del proceso de diseño, no se realiza una vez y luego se termina. Evolucionará y se revisará a medida que avance el diseño.

Los diagramas y sus registros relacionados representan el estado actual del diseño en algún momento. Los números de versión y las fechas ayudan a identificar el estado más actual, y los historiales de cambios explican por qué se modificó.

En un proyecto pequeño o en una etapa temprana de uno más grande, dicho seguimiento formal no es tan necesario. En un proyecto grande, donde cada persona solo puede estar familiarizada con las partes en las que está trabajando, el seguimiento formal ayuda a mantener el trabajo general coordinado y es mucho más importante.

Las funciones no tienen una relación uno a uno con el hardware. Un elemento de hardware dado puede realizar múltiples tareas, y una función dada puede necesitar múltiples elementos de hardware en diferentes lugares para completarse.

Más bien, las funciones son abstracciones mentales. Representan piezas del propósito para el que está diseñado el sistema. Cuando se llevan a un nivel suficientemente detallado, las piezas son lo suficientemente simples como para diseñarlas individualmente.

Entradas relacionadas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

cinco × uno =