Modelagem Funcional
Pontos principais
- A modelagem funcional representa as atividades e processos de um sistema de forma estruturada.
- O conceito evoluiu da gestão industrial do início do século XX para a engenharia de sistemas complexos da NASA e Bell Labs.
- A decomposição funcional permite a modularização de sistemas, facilitando a a manutenção e a reutilização de componentes.
- Diagramas de Fluxo de Dados (DFD) são exemplos clássicos de modelagem sob a perspectiva funcional.
Na engenharia de sistemas, engenharia de software e ciência da computação, a modelagem funcional (ou modelo de função) é uma representação estruturada das funções — compreendendo atividades, ações, processos e operações — dentro de um sistema modelado ou de uma área de domínio específica.
Semelhante ao modelo de atividade ou modelo de processo, o modelo funcional é frequentemente apresentado como uma representação gráfica das funções de uma empresa ou sistema dentro de um escopo definido. Seus principais objetivos incluem a descrição detalhada de processos, o auxílio na descoberta de necessidades de informação, a identificação de oportunidades de melhoria e a criação de uma base para a determinação de custos de produtos e serviços.

Histórico da Modelagem Funcional
Embora a modelagem funcional aplicada à engenharia de sistemas e software tenha se consolidado entre as décadas de 1950 e 1960, a prática de modelar atividades organizacionais remonta ao final do século XIX.
Origens na Gestão Industrial
No final do século XIX, surgiram os primeiros diagramas para ilustrar atividades e processos de negócios. Na primeira metade do século XX, emergiram métodos estruturados para documentar tais atividades. Um exemplo notável foi o flow process chart (fluxograma de processo), introduzido por Frank Gilbreth em 1921 durante uma apresentação para a Sociedade Americana de Engenheiros Mecânicos (ASME), intitulada ‘Process Charts—First Steps in Finding the One Best Way’. Essas ferramentas foram rapidamente integradas aos currículos de engenharia industrial.
Desenvolvimento na Engenharia de Sistemas
A engenharia de sistemas moderna teve suas raízes nos Bell Telephone Laboratories na década de 1940, impulsionada pela necessidade de manipular as propriedades de sistemas complexos como um todo. O engenheiro britânico William Gosling foi um dos pioneiros a definir o modelo de função nesta área, detalhando-o em sua obra The design of engineering systems (1962).
Um dos primeiros modelos bem definidos foi o functional flow block diagram (FFBD - Diagrama de Blocos de Fluxo Funcional), desenvolvido pela TRW Incorporated na década de 1950. Nos anos 1960, a NASA utilizou o FFBD para visualizar a sequência temporal de eventos em sistemas espaciais e missões de voo, tornando-se uma ferramenta padrão na engenharia de sistemas clássica para demonstrar a ordem de execução das funções do sistema.
Tópicos de Modelagem Funcional
Perspectiva Funcional
A perspectiva funcional é uma das abordagens possíveis na modelagem de processos de negócio, coexistindo com perspectivas comportamentais, organizacionais ou informacionais. Esta perspectiva foca especificamente na descrição do processo dinâmico, onde o conceito central é a transformação (seja ela denominada função, atividade, tarefa ou ação).
Um exemplo proeminente de linguagem de modelagem que utiliza esta perspectiva são os Diagramas de Fluxo de Dados (DFD). Um DFD utiliza quatro símbolos fundamentais para descrever um processo:
- Processo: Ilustra a transformação de uma entrada (input) em uma saída (output).
- Armazenamento (Store): Representação de coleções de dados ou materiais.
- Fluxo (Flow): O movimento de dados ou materiais através do processo.
- Entidade Externa: Elementos externos ao sistema modelado que interagem com ele.
Decomposição Funcional
A decomposição funcional é o processo de resolver uma relação funcional em suas partes constituintes, de modo que a função original possa ser reconstruída a partir da composição dessas partes. Esse processo é realizado geralmente para obter maior compreensão sobre os componentes internos ou para criar uma representação compacta da função global, sendo viável quando os processos possuem modularidade.
Na programação de computadores, a decomposição funcional é essencial para a modularização de processos. Por exemplo, um sistema de gestão de bibliotecas pode ser decomposto em módulos de inventário, informações de usuários e avaliação de taxas. Historicamente, essa prática era referida por alguns profissionais como a ‘arte da sub-rotina’.
Na engenharia de sistemas, a decomposição funcional visa dividir o sistema de forma que cada bloco do diagrama possa ser descrito de maneira pura, sem ambiguidades (evitando termos como ‘e’ ou ‘ou’ na descrição). Isso garante que cada parte do sistema execute uma função pura, facilitando a reutilização, a substituição de componentes e a simplificação das interfaces entre os blocos.
Métodos de Modelagem Funcional
A abordagem funcional é implementada através de diversas técnicas diagramáticas e notações. O Diagrama de Blocos Funcionais é a técnica básica, descrevendo as funções e inter-relações de um sistema, mapeando as funções como blocos, as entradas como linhas e as sequências funcionais como caminhos para a matéria ou informação.
Perguntas frequentes
O que é modelagem funcional?
É uma representação estruturada das funções, atividades e processos de um sistema, utilizada para descrever como o sistema opera e transformar entradas em saídas.
Qual a diferença entre a perspectiva funcional e a perspectiva organizacional?
A perspectiva funcional foca no 'o que' o sistema faz (processos e transformações), enquanto a perspectiva organizacional foca em 'quem' executa a função ou a estrutura de responsabilidades.
Para que serve a decomposição funcional?
Serve para dividir um sistema complexo em partes menores e mais simples (módulos), facilitando a compreensão, o design e a manutenção do sistema.
O que é um DFD?
O Diagrama de Fluxo de Dados (DFD) é uma ferramenta de modelagem funcional que utiliza símbolos para representar processos, fluxos de dados, armazenamentos e entidades externas.