Modelos funcionais e comportamentais em engenharia de software
Modelos funcionais e
modelos comportamentais são dois tipos importantes de modelos usados na engenharia de software para representar diferentes aspectos de um sistema de software. Eles são usados para descrever o * o que * e * como * do sistema, respectivamente.
Modelos funcionais: *
foco: Defina a * funcionalidade * do sistema de software. Eles descrevem o que o sistema faz, sem especificar como ele faz.
*
Representação: Freqüentemente expresso usando:
*
Use casos: Descreva as interações entre os usuários e o sistema.
*
Diagramas de fluxo de dados (DFDS): Ilustrar o movimento dos dados através do sistema.
*
Diagramas de relação de entidade (ERDs): Representar relacionamentos entre entidades de dados.
*
Diagramas de transição de estado: Mostre estados diferentes do sistema e transições entre eles.
*
Objetivo: *
Comunicar requisitos do sistema: Para as partes interessadas (usuários, desenvolvedores, gerentes) de maneira clara e concisa.
*
Arquitetura do sistema de design: Descrevendo os componentes de alto nível e suas interações.
*
Validar requisitos do sistema: Garantindo que o sistema atenda a todas as necessidades do usuário.
Modelos comportamentais: *
foco: Descreva o * comportamento * do sistema de software. Eles detalham como o sistema reage às entradas e como seu estado interno muda com o tempo.
*
Representação: Freqüentemente expresso usando:
* Diagramas de sequência
: Mostre interações entre objetos em um cenário específico.
* Diagramas de colaboração
: Destaque as interações entre objetos de maneira mais visual.
* Diagramas de atividade
: Descreva o fluxo de atividades dentro do sistema.
*
Diagramas de máquinas de estado: Representa os estados do sistema e suas transições entre eles.
*
Objetivo: *
Refinar o design do sistema: Detalhando o funcionamento interno do sistema.
*
Identifique possíveis erros e inconsistências: Simulando diferentes cenários e observando a resposta do sistema.
*
Teste o sistema: Comparando o comportamento real com as previsões do modelo.
Relação entre modelos funcionais e comportamentais: *
complementar: Eles trabalham juntos para fornecer uma compreensão abrangente do sistema de software.
*
hierárquico: Os modelos funcionais geralmente fornecem a visão de alto nível, enquanto os modelos comportamentais se aprofundam nos detalhes.
*
iterativo: Os modelos geralmente são refinados e atualizados em todo o processo de desenvolvimento de software.
Exemplo: Vamos considerar um sistema de compras on -line simples.
*
Modelo funcional: * Um caso de uso para "Pedido de um pedido" descreveria as etapas envolvidas na interação entre um usuário e o sistema.
* Um diagrama de fluxo de dados mostraria o fluxo de dados entre a interface do usuário, o carrinho de compras e o sistema de processamento de pedidos.
*
Modelo Comportamental: * Um diagrama de sequência pode representar a sequência de interações entre o sistema de interface do usuário, banco de dados e processamento de pedidos ao fazer um pedido.
* Um diagrama de máquinas de estado pode mostrar os diferentes estados de uma ordem, de "colocado" a "enviado" para "entregue".
Ao usar modelos funcionais e comportamentais, os engenheiros de software podem criar uma representação clara e completa do sistema de software, garantindo que atenda aos requisitos e funções conforme o pretendido.