Fundamentos de Modelagem e Arquitetura de Software

Classificado em Computação

Escrito em em português com um tamanho de 3,74 KB

Modelagem de Sistemas

A modelagem de sistemas é o processo de desenvolvimento de modelos abstratos de um sistema, de maneira que cada modelo apresenta uma visão ou perspectiva diferente. A modelagem ajuda o analista a entender a funcionalidade do sistema, sendo os modelos utilizados para comunicação com os clientes.

Modelo Comportamental

Os modelos comportamentais descrevem o comportamento dinâmico do sistema em execução. Eles mostram o que acontece ou deveria acontecer quando um sistema responde a um estímulo de seu ambiente. Esses estímulos podem ser de dois tipos:

  • Dados: Informações que chegam e precisam ser processadas pelo sistema.
  • Eventos: Ações que disparam o processamento do sistema, podendo ou não ter dados associados.

Ferramentas de Análise Estruturada

  • Diagrama de Fluxo de Dados (DFD): A principal ferramenta de modelagem de processos, representando fluxos de entrada, saída e acessos a depósitos de dados.
  • Dicionário de Dados (DD)
  • Especificação de Processos Primitivos (PPS)
  • Diagrama de Transição de Estados (DTE)

Engenharia Dirigida a Modelos (MDE)

A MDE é uma abordagem de desenvolvimento de software na qual os modelos, e não os programas, são os principais produtos. Os programas executados em plataformas de hardware/software são gerados automaticamente a partir desses modelos.

Prós e Contras

  • Prós: Permite tratar sistemas em níveis mais altos de abstração e a geração automática de código reduz custos de adaptação a novas plataformas.
  • Contras: Modelos são abstrações e não garantem correção na implementação; custos de desenvolvimento de tradutores podem ser elevados.

Arquitetura de Software e Decisões

A arquitetura de software envolve decisões críticas, tais como:

  • Modularização do projeto em subsistemas.
  • Escolha de estrutura de comunicação e controle entre subsistemas.
  • Definição de interfaces e estratégias de persistência.
  • Escolha do paradigma de DBMS.
  • Determinação de oportunidades de reuso e requisitos de desempenho.
  • Integração de aplicações (EAI).

Visões Arquiteturais

A arquitetura é organizada em visões, análogas a plantas arquitetônicas. Na ontologia, visões são instâncias de pontos de vista para descrever o sistema sob a perspectiva de stakeholders. Exemplos incluem: visão funcional/lógica, de código, estrutural, de concorrência, física e de usuário.

Notações e Padrões

Embora existam várias linguagens de descrição, não há consenso sobre um padrão universal. Enquanto alguns defendem a UML, outros acreditam que a diversidade de problemas exige notações específicas, evitando a falha histórica de tentar impor uma "linguagem universal".

Padrões de Arquitetura

Padrões de alto nível utilizados para especificar a estrutura fundamental de um sistema de software.

Diagramas UML

  • Diagramas de Atividades: Mostram as atividades envolvidas em um processo ou processamento de dados.
  • Diagramas de Casos de Uso: Mostram interações entre o sistema e seu ambiente.
  • Diagramas de Sequência: Mostram interações entre atores e componentes do sistema.
  • Diagramas de Classe: Mostram as classes de objeto e suas associações.
  • Diagramas de Estado: Modelam o comportamento do sistema em resposta a eventos internos e externos.

Entradas relacionadas: