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.