Fundamentos de Arquitetura de Software e UML
Fundamentos de Arquitetura de Software
O projeto de software compreende diversas etapas essenciais:
- Projeto da Arquitetura do Software: Define os grandes componentes estruturais do software e seus relacionamentos.
- Projeto de Dados: Define a estrutura dos dados necessária para implementar o software.
- Projeto Procedimental: Refina e detalha a descrição procedimental dos componentes estruturais da arquitetura.
- Projeto de Interfaces: Descreve a comunicação interna (entre componentes), externa (com outros sistemas) e com o usuário (interface com o usuário).
Diagrama de Componentes vs. Classes
Semelhanças:
- Ambos podem realizar um conjunto de interfaces.
- Ambos podem participar de vários relacionamentos (dependência, generalização, associação).
- Ambos podem ser aninhados, permitem instâncias e participam de interações.
Diferenças: Se o elemento é modelado em um nó, trata-se de um Componente; caso contrário, é uma Classe.
O que é um Nó em UML?
Um nó é um elemento físico existente em tempo de execução que representa um recurso computacional. Eles representam o hardware onde os componentes são instalados e executados.
Camadas de Software Cliente-Servidor
Os componentes de uma aplicação de negócio podem ser agrupados em três categorias principais:
- I. Camada de Apresentação: É a camada mais externa. Captura estímulos de eventos externos, realiza a edição de dados de entrada e apresenta respostas ao usuário. Geralmente localizada no cliente.
- II. Camada de Lógica do Negócio: Contém o código que executa e impõe as regras, regulamentos e cálculos do negócio. É a camada mais móvel, podendo residir no cliente, no servidor central ou em locais intermediários.
- III. Camada de Gerência de Dados: Provê acesso a dados corporativos, gerencia requisições concorrentes e a sincronização de elementos distribuídos. Geralmente localizada no mesmo local físico que os dados.