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