Modelagem de Sistemas

Modelagem de Sistemas

A modelagem de sistemas é um processo de criação de representações abstratas de um sistema, cada uma focando em aspectos específicos como estrutura, comportamento ou interações. Esses modelos são essenciais para entender, projetar e comunicar o sistema antes de sua implementação.

Tipos de Modelos

  • Modelos de Contexto: Definem os limites do sistema e suas interações com o ambiente externo.
  • Modelos de Interação: Mostram como o sistema interage com usuários ou outros sistemas.
  • Modelos Estruturais: Representam a organização estática do sistema (ex: diagramas de classe).
  • Modelos Comportamentais: Descrevem o comportamento dinâmico do sistema em resposta a eventos.

Modelos de Contexto

Estabelecem o escopo do sistema identificando:

  • O que faz parte do sistema e o que é externo.
  • Sistemas adjacentes e suas relações.
Exemplo: Um sistema hospitalar pode interagir com sistemas de agendamento, registros de pacientes e estatísticas de saúde.

Modelos de Interação

Principais técnicas:

  • Diagramas de Casos de Uso: Mostram funcionalidades do sistema e atores envolvidos.
  • Diagramas de Sequência: Detalham a ordem das interações entre componentes.
Exemplo de interação em um sistema bancário:
[Cliente] -> (Realizar Saque) -> [Sistema]
(Saque) .> (Registrar Movimento) : <<include>>
  

Modelos Estruturais

Focam na organização estática do sistema:

  • Diagramas de Classe: Mostram classes, atributos, métodos e relacionamentos.
  • Diagramas de Componentes: Representam módulos do sistema e suas dependências.
Exemplo: Em um sistema de saúde, classes como Paciente, Médico e Consulta podem estar relacionadas.

Modelos Comportamentais

Descrevem a dinâmica do sistema:

  • Dirigidos por Dados: Diagramas de atividades mostram fluxos de processamento.
  • Dirigidos por Eventos: Diagramas de máquina de estados representam transições entre estados.
Exemplo (Máquina de Estados - Microondas):
[Desligado] --(Ligar)--> [Pronto]
[Pronto] --(Definir Tempo)--> [Cozinhando]
  

Engenharia Dirigida por Modelos (MDE)

Abordagem onde modelos são o principal artefato de desenvolvimento:

  1. CIM (Modelo Independente de Computação): Foca no domínio do problema.
  2. PIM (Modelo Independente de Plataforma): Define a lógica do sistema.
  3. PSM (Modelo Específico de Plataforma): Adapta o PIM a tecnologias específicas.
"A MDE visa elevar o nível de abstração, reduzindo a dependência de linguagens de programação." (OMG)

Ferramentas e Aplicações

  • UML: Padrão para diagramas estruturais e comportamentais.
  • Ferramentas CASE: Como Enterprise Architect ou Lucidchart para modelagem visual.
  • Transformação Automática: Geradores de código a partir de modelos PSM.