Projetar Processos
Arquitetura de software
O modelo de “4+1 Visões”
Analista de
Sistemas
Programadores
Visão
Lógica
Visão de
Implementação
Visão de Casos
de Uso
Arquiteto
Visão de
Processos
Arquiteto
Escalabilidade
Visão de
Distribuição
Arquiteto
Topologia,
implantação,
comunicação
Qualiti Software Processes
Análise e Projeto OO com UML e Padrões| 2
Copyright © 2006 Qualiti. Todos os direitos reservados.
Estrutura
Estrutura,
componentes
Durante a identificação de elementos de
projeto podem ser encontrados objetos
ativos (cápsulas) para representar threads
lógicas
- Em tese cada um deveria possuir sua própria
thread
Este mapeamento pode depender de
requisitos de tempo de resposta, devido ao:
- Overhead em mudanças de contexto
- Sobrecarga sobre recursos
Qualiti Software Processes
Análise e Projeto OO com UML e Padrões| 3
Copyright © 2006 Qualiti. Todos os direitos reservados.
Descrição de
Projetar Processos
Processos x Threads
-
Unidades independentes e autônomas (ponto de vista de SO)
Ambiente de execução autocontido
Podem ser recuperados independentemente de outros
processos
Contem uma ou mais threads
Threads (processos leves)
-
Possuem controle de concorrência aninhado a outros
processos/threads
São mais leves
Compartilham recursos (incluindo memória) do processo no
qual estão inseridas
Qualiti Software Processes
Análise e Projeto OO com UML e Padrões| 4
Copyright © 2006 Qualiti. Todos os direitos reservados.
Processos
Documentar ciclo de vida do processo
Identificar meios de comunicação interprocessos
- RPCs, MailBox, Event Boradcast, ...
Alocação de recursos
- Memória, arquivos, ...
Qualiti Software Processes
Análise e Projeto OO com UML e Padrões| 5
Copyright © 2006 Qualiti. Todos os direitos reservados.
Definição de processos envolve
Em um sistema ATM (Automated Teller Machine),
eventos assíncronos podem ser oriundos de
três fontes:
- Usuário
- Do dispositivo ATM (por exemplo, saque)
- Rede ATM (requisição de shutdown pela rede)
Para lidar com estes eventos, serão definidos
três threads de execução que compõem o
processo ATM (usando classes ativas –
cápsulas).
Qualiti Software Processes
Análise e Projeto OO com UML e Padrões| 6
Copyright © 2006 Qualiti. Todos os direitos reservados.
Exemplo de um
diagrama de Processos
Exemplo de um
diagrama de Processos
Copyright © 2006 Qualiti. Todos os direitos reservados.
Pode ser construido através do diagrama de
componentes
Fonte:
Rational Unified Process
Version 2003.06.01.04
Qualiti Software Processes
Análise e Projeto OO com UML e Padrões| 7
Projetar Distribuição
Descrever como o sistema está organizado
nos seus nós físicos (sistemas distribuídos)
- Definir a configuração da rede
- Alocar processos aos nós
Trabalhar na Visão de Implantação ou
Distribuição (Deployment)
Qualiti Software Processes
Análise e Projeto OO com UML e Padrões| 9
Copyright © 2006 Qualiti. Todos os direitos reservados.
Descrever distribuição
Reduzir carga de processador
Requisitos especiais de processamento
Prover acesso distribuído ao sistema
Economia
- Ex.: Grid computing
Confiabilidade
- Ex.: Tolerância a Falhas
Qualiti Software Processes
Análise e Projeto OO com UML e Padrões| 10
Copyright © 2006 Qualiti. Todos os direitos reservados.
Motivação para distribuição do
sistema
Diagrama de implantação:
Elemento - Nó
- Def.: recurso computacional físico
Pode ser de dois tipos
- processador
- dispositivo
<<Node>>
<<Processor>>
Processador A
Lista de processos
que executam no
Processador A
<<Device>>
Dispositivo B
Processo C
Processo D
Qualiti Software Processes
Análise e Projeto OO com UML e Padrões| 11
Copyright © 2006 Qualiti. Todos os direitos reservados.
Nó
Conexões entre nós
identificam:
- mecanismo de comunicação
-
(tecnologia utilizada)
meio físico utilizado
protocolo de software
<<Processor>>
Processador A
Conexão
<<Device>>
Dispositivo B
Qualiti Software Processes
Análise e Projeto OO com UML e Padrões| 12
Copyright © 2006 Qualiti. Todos os direitos reservados.
Diagrama de implantação:
Elemento - Conexão entre nós
De acordo com a configuração da rede, os
processos do sistema são alocados aos nós
levando em consideração:
- Capacidade do nó
- Largura de banda do meio de comunicação
- Disponibilidade de hardware e links de
-
comunicação
Requisitos de redundância e tolerância a falhas
Requisitos de tempo de resposta
Qualiti Software Processes
Análise e Projeto OO com UML e Padrões| 13
Copyright © 2006 Qualiti. Todos os direitos reservados.
Alocar processos a nós
QIB – Diagrama de distribuição
Cliente
Browser
Copyright © 2006 Qualiti. Todos os direitos reservados.
Cliente
Browser
Internet (HTTPS)
Internet (HTTPS)
Servidor
Web
Servidor Apache
Servidor
BD
Oracle
Qualiti Software Processes
Análise e Projeto OO com UML e Padrões| 14
Download

Aula10-2-projetoDistribuicaoRT