diagrama de implantação
TRANSCRIPT
- Diagrama de implantação
- Sistemas e Modelos
É apenas uma apresentação gráfica da visão estática de funcionamento de um sistema.
Um único diagrama de implantação não deve capturar tudo sobre a visão de implantação do sistema.
Diagramas de Implantação
O que um diagrama de implantação bem-estruturado deve ter?
• Foco na comunicação de um aspecto da visão estática de implantação de sistema.
• Conter somente os elementos essenciais à compreensão desse aspecto.
• Fornecer detalhes consistentes com seu nível de abstração.
• Informar bem o leitor sobre a semântica importante.
Como definir um diagrama de implantação?
• Dê um nome capaz de comunicar seu propósito.• Organize seus elementos de modo que os itens
que são semanticamente afins fiquem próximos fisicamente.
• Use notas e cores como indicações visuais para chamar atenção para itens importantes.
• Distribua os elementos de forma a minimizar o cruzamento de linhas.
• Escolha um pequeno conjunto de ícones comuns e use-os de forma consistente.
Exemplo de diagrama de implantação
Modelagem de um sistema embutido
• Um sistema embutido é uma coleção complexa de software para o hardware que interage com o mundo físico. Os sistemas embutidos envolvem o software que controla dispositivos e que, por sua vez, é controlado por estímulos externos.
• É preciso gerenciar o mundo físico onde se encontram as partes móveis em que ele se divide, os sinais têm ruídos e o comportamento não é linear.
• Os diagramas de implantação podem fazer a modelagem dos dispositivos e processadores que formam um sistema embutido.
Como fazer a modelagem de um sistema embutido?
• Identifique os dispositivos e os nós que são únicos para o sistema.
• Forneça indicações de visuais, especialmente para dispositivos pouco usuais, utilizando os mecanismos de extensibilidade da UML.
• Faça a modelagem dos relacionamentos entre esses processadores e dispositivos.
• Procure expandir quaisquer dispositivos inteligentes pela modelagem de sua estrutura como um diagrama de implantação mais detalhado.
Exemplo de modelagem de sistema embutido
Modelagem de um sistema cliente/servidor
• O sistema cliente/servidor é uma arquitetura comum, cujo foco é a criação de uma clara separação de questões entre a interface para o usuário (que vive no cliente) e os dados persistentes do sistema (que vive no servidor).
• Existe uma clara separação de questões entre a interface para o usuário (tipicamente gerenciada pelo cliente) e seus dados (tipicamente gerenciados pelo servidor).
• A modelagem da topologia desses sistemas pode ser feita com a utilização de diagramas de implantação.
Como fazer a modelagem de um sistema cliente/servidor?
• Identifique os nós que representam os processadores do cliente e do servidor do sistema.
• Destaque os dispositivos que são relevantes para o comportamento do sistema
• Forneça indicações visuais para esses processadores e dispositivos por meio de estereótipos
• Faça modelagem da topologia desses nós em um diagrama de implantação
Exemplo de modelagem de um sistema cliente/servidor
Modelagem de sistemas totalmente distribuídos
• Costumam ser hosts para várias versões de componentes de software, alguns dos quais poderão até migrar de um nó para outro.
• Os nós são adicionados e removidos, à medida que o tráfego da rede se modifica e os processadores falham; novos e mais rápidos caminhos de comunicação podem ser estabelecidos em paralelo com os canais anteriores e mais lentos, que eventualmente são desativados.
• Visualizar a topologia atual do sistema e a distribuição de componentes para analisar o impacto das modificações sobre essa topologia.
Modelagem de sistemas totalmente distribuídos (cont.)
Como fazer a modelagem de um sistema totalmente distribuído?
• Identifique os dispositivos e processadores para sistemas cliente/servidor mais simples.
• Detalhe o suficiente para analisar o desempenho da rede do sistema ou o impacto de alterações da rede.
• Dedique maior atenção aos agrupamentos lógicos de nós que você pode especificar utilizando pacotes.
• Faça a modelagem desses dispositivos e processadores utilizando ferramentas para descobrir a topologia de seu sistema, percorrendo a rede do sistema.
• Se for necessário focalizar a dinâmica do sistema, introduza diagramas de caso de uso e expanda esses casos com diagramas de interação.
Exemplo de modelagem de um sistema totalmente distribuído
Engenharia de Produção
• É a criação de código a partir de modelos. Após especificar a distribuição física de componentes pelos nós em um diagrama de implantação é possível usar ferramentas que então projetarão esses componentes para o mundo real.
Engenharia Reversa
• É a criação de modelos a partir de código. É de grande valor especialmente para sistemas totalmente distribuídos que sofrem mudanças constantes. Fornece um conjunto de nós esteriotipados, capazes de falar a linguagem dos administradores de rede do sistema, com a finalidade de ajustar a UML ao seu domínio.
Como fazer a engenharia reversa?
• Escolha o destino desejado para a engenharia reversa. Em alguns casos, você desejará vasculhar toda a rede; em outros, poderá limitar sua pesquisa.
• Escolha também a fidelidade de sua engenharia reversa.
• Use uma ferramenta capaz de percorrer o sistema, descobrindo a sua topologia de hardware. Registre essa topologia em um modelo de implantação.
• Ao longo do processo, ferramentas semelhantes podem ser utilizadas para descobrir os componentes existentes em cada nó, que também podem ser registrados em um modelo de implantação.
• Utilizando suas ferramentas de modelagem, crie um diagrama de implantação pela realização de consultas ao modelo.
É importante escolher o conjunto adequado de modelos para visualizar, especificar, construir e documentar o sistema.
Sistemas e Modelos
• Um modelo é uma simplificação da realidade, em que a realidade é definida no contexto do sistema cuja modelagem está sendo feita.
• Um tipo especial de pacote.
• As ferramentas necessitam manipular os modelos
Modelos
Como um modelo bem-estruturado deve ser?
• Proporciona uma simplificação da realidade sob um ponto de vista distinto e relativamente independente.
• É auto-suficiente por não requerer nenhum outro conteúdo para a compreensão de sua semântica.
• Está ligeiramente relacionado a outros modelos por intermédio de relacionamentos de rastreabilidade.
• Coletividade (com outros modelos vizinhos) proporciona uma visão completa dos artefatos do sistema.
É importante decompor sistemas complexos em sub-sistemas bem-estruturados.
Um sistema bem-estruturado:• É coeso, funcional, lógica e fisicamente.
• Pode ser decomposto em subsistemas quase independentes, que por si só sejam sistemas em um nível mais baixo de abstração.
• Pode ser visualizado, especificado, construído e documentado por meio de um conjunto de modelos inter-relacionados e que não se sobrepõem.
Sistemas e Subsistemas
• O sistema é o próprio item que está sendo desenvolvido e para qual os modelos são construídos.
• Na UML, um sistema é representado como um pacote estereotipado.
• Subsistema é simplesmente uma parte de um sistema, utilizado para decompor um sistema complexo em partes quase independentes.
Definir um sistema ou subsistema na UML
• Use cada um como ponto de partida para todos os artefatos associados com esse sistema ou subsistema.
• Mostre somente a agregação básica entre o sistema e seus subsistemas; tipicamente, você deixará os detalhes das conexões para diagramas de nível mais baixo.
Exemplo de sistemas e subsistemas
Visões
• A UML não determina quais modelos deverão ser utilizados para visualizar, especificar, construir e documentar
• Cinco visões da arquitetura de um software foram examinados durante as apresentações anteriores
Rastreamento
• A especificação de relacionamentos entre elementos como classes, interfaces, componentes e nós é uma parte estrutural importante de qualquer modelo.
• Na UML, é possível fazer a modelagem do relacionamento conceitual entre elementos que vivem em modelos diferentes, utilizando um relacionamento de rastreamento.
• É representado como uma dependência estereotipada.
• Os dois usos mais comuns para o relacionamento de rastreamento são o acompanhamento dos requisitos para a implementação (e de todos os artefatos existentes entre eles) e o acompanhamento de uma versão para outra.
Exemplo de Relacionamentos de rastreamento
Técnicas Técnicas
Básicas de ModelagemBásicas de Modelagem
Modelagem da arquitetura de um sistema
• Ao fazer esta modelagem, deve-se capturar decisões sobre os requisitos do sistema, seus elementos lógicos e seus elementos físicos.
• A modelagem será feita tanto de aspectos estruturais como comportamentais dos sistemas e dos padrões que dão forma a essas visões.
• Deve-se focalizar as costuras existentes entre os subsistemas e fazer o acompanhamento desde os requisitos até a entrega.
Como fazer a modelagem da arquitetura de um sistema?
• Identifique as visões que serão utilizadas para representar sua arquitetura.
• Especifique o contexto para esse sistema, incluindo os atores que se encontram ao seu redor.
• Conforme seja necessário, decomponha o sistema em seus subsistemas elementares.
Exemplo da modelagem da arquitetura de um sistema
Atividades que se aplicam ao sistema e aos seus subsistemas:
• Especifique uma visão de caso de uso do sistema, conforme são vistos pelos usuários finais, analistas e pessoal de teste.
• Especifique uma visão de projeto do sistema, abrangendo classes, interfaces e colaborações que formam o vocabulário do problema e de sua solução.
Atividades que se aplicam ao sistema e aos seus subsistemas:
• Especifique uma visão de processo do sistema, abrangendo threads e processos que formam os mecanismos de concorrência e sincronização do sistema.
• Especifique uma visão de implementação do sistema, abrangendo os componentes utilizados para montar e liberar o sistema físico.
• Especifique uma visão de implantação do sistema, abrangendo os nós que formam a topologia de hardware em que o sistema é executado.
• Faça a modelagem dos padrões de arquitetura e projeto que formam cada um desses modelos utilizando as colaborações.
Modelagem de sistemas
Conforme cresce a complexidade dos sistemas, conclui-se que será necessário decompor seus esforços em subsistemas, cada um dos quais poderá ser desenvolvido de certa forma separadamente, e crescer iterativa e incrementalmente para todo o sistema.
Modelagem de um sistema ou subsistema
• Identifique as principais partes funcionais do sistema que poderão ser desenvolvidas, liberadas e desmembradas de certa forma independentemente.
• Para cada subsistema, faça a modelagem de sua arquitetura, da mesma forma como faria para o sistema como um todo.
• Para cada subsistema, especifique o respectivo contexto, da mesma maneira como seria feito para o sistema como um todo; os atores que se encontram ao redor de um subsistema abrangem todos os subsistemas vizinhos e, portanto, todos devem ser projetados para colaborar.
Componentes:
Eduardo Bandeira Emmel
Igor Ferreira Guimarães
Raquel Alves Pimentel