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 comoPaciente,MédicoeConsultapodem 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:
- CIM (Modelo Independente de Computação): Foca no domínio do problema.
- PIM (Modelo Independente de Plataforma): Define a lógica do sistema.
- 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.