Diagrama de Implantação - UML

625 views3447 WordsCopy TextShare
Prof Gilleanes Guedes Engenharia de Software e UML
Esta aula apresenta o diagrama de implantação. O diagrama com a visão mais física da UML, uma vez qu...
Video Transcript:
Olá sejam bem-vindos ao canal engenharia de software com ênfase o ML Eu sou professor gilian Guedes e eu já T na área de modelagem de software há vários anos eu tenho quatro livros publicados sobre o assunto e eu já ministrei diversas palestras e cursos técnicos so modelagem de software utilizando a linguagem oml na aula de hoje eu vou abordar o diagrama de implantação que é o diagrama a nível mais físico da uml Então vamos iniciar a nossa aula eu gosto sempre de iniciar as minhas aulas fazendo uma pequena propaganda como eu falei eu já publiquei
quatro livros sobre o ML o meu primeiro livro foi o ML uma abordagem prática que na época tratava da uml 1.5 mas já abordava o MR2 no final do livro depois eu lancei um livro exclusivamente sobre o MR2 que foi o guia de consulta rápida Poucos Anos depois eu transformei esse guia num livro mais completo que foi o em2 guia prático e finalmente eu lancei meus livro O meu livro mais completo mais atualizado que é o MR2 uma abordagem prática que se encontra na terceira Edição Mas vamos ao conteúdo Então vamos falar sobre o diagrama
de implantação então o diagrama de implantação ele é o diagrama com a visão mais física da linguagem uml porque ele enfoca o hardware necessário para suportar o software que está sendo desenvolvido por isso o nome implantação ele determina Qual o meio físico em que o software será implantado então ele enfoca a questão da organização da estrutura física sobre a qual o software será implantado e executado em termos de hardware e também software de apoio como nós vamos ver então basicamente o diagrama de implantação identifica principalmente máquinas como compador como computadores pessoais ou servidores que irão
suportar o meu sistema Ah ele também define como estas máquinas irão se conectar por meio de Protocolos de comunicação como por exemplo tcpp e ele permite também demonstrar como os módulos do sistema estarão distribuídos entre os diversos servidores bom agora nós precisamos deixar claro quando é útil criar um diagrama de implantação deve-se criar um diagrama de implantação quando o sistema ele vai ser executado sobre múltiplas máquinas em termos de múltiplos servidores tá onde alguns servidores executarão alguns módulos e outros servidores executarão outros ou eventualmente que armazen arquivos que sejam necessários esses modulos agora se o
software ele foi projetado para rodar sobre uma única máquina individual como um computador pessoal um celular então se ele se o software ele não é dividido em vários servidores não há comunicação entre esses itens de hardware então não há necessidade de se criar um diagrama de implantação diagram de implantação são úteis em Sistemas grandes distribuídos que possuem diversos servidores muitas vezes distantes geograficamente entre si Ah eu vou falar sobre o elemento básico sobre do diagrama de implantação que são os nós então o nó ele pode representar um item de hardware ou Um item de software
quando se trata de de Um item de hardware o nó ele pode representar entre outras possibilidades um servidor de aplicação onde um ou mais módulos do software sob desenvolvimento vai ser executado Ahã um servidor de arquivos que vai armazenar os arquivos necessários pelos módulos do sistema um servidor web um navegador web um servidor de banco de dados que suporte sistemas gerenciadores de banco de dados a máquina ou as máquinas dos clientes ou dos usuários esse tipo de coisa eu também posso representar até mesmo redes locais e outros eh itens de hardware que se julgassem se
julgar necessário bom quando se tratar de um item de software normalmente o nó ele vai representar um ambiente de execução um ambiente de execução é um software que irá suportar o sistema que eu estou desenvolvendo de alguma maneira então um ambiente de execução ele pode ser por exemplo um sistema operacional um sistema agenciador de banco de dados um servidor web um navegador web um um sistema de controle de arquivos esse tipo de coisa os nós eles também podem conter outros nós então eventualmente um nó que representa um item de hardware ele pode contar conter um
outro nó que irá representar um ambiente de execução Ah pode acontecer também de um nó representando Um item de hardware conter outros nós representando outros itens de hardware e pode acontecer de um nó que represente um ambiente de execução contenha outros nós representando outros ambientes de execução isso pode ocorrer bom ah falar um pouquinho sobre os estereótipos básicos dos nós quando o nó representa um item de hardware então pode-se utilizar o estereótipo device o estereótipo Dev é um estereótipo genérico que simplesmente determina que aquele nó é um item de hard e quando o nó representa
o ambiente de execução ele pode utilizar o estereótipo execution environment quer dizer Exatamente isso ambiente de execução para deixar claro que se trata de um software que está apoiando o o suporte ao meu sistema bom Aqui nós temos uma figura que representa um nó com estereótipo device ou seja esse nó ele representa um item de hardware no caso este nó representa um caixa eletrônico do sistema bancário que nós temos ã estado a modelar então aqui esse nó é um item de hardware eu consigo perceber isso pelo estereótipo device ele representa um caixa eletrônico bom o
nó ele pode ter também denominações ou seja ele pode receber um nome então aqui eu criei eu representei um outro nó eh referente ao itd hardware a gente sabe disso pelo estereótipo device e eu dei o nome para ele o nome desse desse nó é kerberos ele é um servidor de Firewall às vezes é útil eh dar um nome para o servidor quando se trata de marcas de usuário em geral não se dá nome para elas porus que podem ser várias mas quando se trata de servidores às vezes é importante identificar Ah um servidor especificamente
e os nós eles podem também obter ah detalhar a representar os seus detalhes de configuração então aqui eu tenho um outro no hardware que é o Pegasus é um servidor de comunicação e eu posso por meio dos detalhes de configuração estabelecer a sua configuração em termos de eh espaço em disco capacidade de memória capacidade processador esse tipo de coisa então eu posso representar isso por meio de tags tags significa etiquetas então eu posso dizer por exemplo que o meu servidor Pegasus ele tem um disco de 64 tb tem memória RAM de 128 GB e tem
um processador octacore de 4.0 GHz então aqui estou estabelecendo alguns detalhes de configuração eu podia colocar outros detalhes colocar por exemplo o tipo de disco e qualquer outra informação relativa à configuração do Hardware que eu julgasse necessário ah um nó ele pode conter outro nó Como já falei então Aqui nós temos o exemplo onde o servidor Pegasus que é um item de hardware ele contém um ambiente de execução que representa o servidor web então aqui um nó de hardware contendo um nó de software existem outros estereótipos além do device e [Música] do environment ah por
exemplo eu tenho o estereótipo computer que representa um computador simples a máquina do usuário essencialmente o estereótipo secur que representa um hardware de segurança um hardware que seja responsável por impedir invasões impedir que pessoas não autorizadas eh tenham acesso às informações do meu sistema eu tenho server que determina que o hardware é é um servidor como um servidor de aplicação ou um servidor de banco de dados ou um servidor de arquivos Storage que determina que o o hardware ele representa um um um hardware que armazena dados servidor de arquivos um servidor de banco de dados
H então Aqui nós temos exemplos desses estereótipos eles são estereótipos gráficos uma vez que eles modificam o desenho padrão dos Nós então aqui eu tenho um um nó com estereótipo computer que tem esse símbolo no canto superior direito para deixar claro que é um computador simples aqui eu tenho um outro nó com estereótipo secure para garantir que ele responsável um servidor responsável pela segurança do sistema eh aqui eu tenho um um nó com estereótipo server para determinar que ele é um servidor no caso um servidor de aplicação eh e aqui o TPO Storage para determinar
que eh esse hardware é um servidor de armazenamento de dados no caso um servidor de banco de dados os nós eles podem possuir associações basicamente esse essas associações representam ligações físicas que permit aos nós se comunicar e trocar informações Ah e basicamente ela essas associações são representadas por linhas que ligam ao outro então Aqui nós temos um exemplo de associações entre nós eu estou percebendo que existe uma associação física entre o servidor kerberos e o servidor pegasos que é representado por esta linha bom eh as associações elas podem conter estereótipos basicamente esses estereótipos eles fornecem
a informação de que tipo de protocolo de comunicação está sendo utilizado no caso é o protocolo tcpip e aqui eu tenho um exemplo de diagrama de implantação para Sistema de Controle bancário ele ficou bastante grande Aqui nós temos a figura completa mas eu vou apresentar ele dividido em duas partes porque para ficar mais claro para ficar mais fácil de entender a figura mas basicamente nós conseguimos verificar que existe um nó representando os caixas eletrônicos do sistema um nó que representa o servidor de F outro quees representa um servidor de comunicação dois nós que representam servidores
de aplicação e um nó que representa um servidor de banco de dados mas vamos ver essa figura com um pouco mais detalhe então Aqui nós temos a primeira parte onde eu tenho o nó caixa eletrônico tá com estereótipo computer ou seja ele é um computador normal ele roda ele suporta um ambiente de execução que representa o navegador web um um navegador como Google Chrome por exemplo eh eu tenho um servidor de Fal responsável pela segurança do meu sistema que eu chamei de kerberos eu sei que ele é um servidor de segurança por causa do estereótipo
do Cadeado ele conté também execution environment que vai suportar o meu software de Firewall e eu tenho um servidor de comunicação que eu chamei de Pegasus que ele contém um ambiente de execução eh que representa um servidor web vocês vão notar que esses nós de hardware eles estão ligados por meio de associações físicas utilizando rodando o protocolo tcpip Aqui nós temos a segunda parte onde eu tenho os servidores Zeus e posidon que são servidores de aplicação como demonstra seus estereótipos e cada um eh suporta contém um ambiente de execução que representam respectivamente os módulos de
autoatendimento e os módulos de gerenciamento de contas do Sistema de Controle bancário Finalmente eu tenho um servidor de banco de dados é um hardware de armazenamento como Demonstra o estereótipo e ele contém um ambiente de execução que é o sistema gerenciador de banco de dados ainda estou utilizando o protocolo de o protocolo tcpip na comunicação física entre esses itens de R bom eu vou falar um pouquinho sobre artefatos artefatos eles são elementos concretos que realmente existem no mundo real são elementos físicos eles podem representar arquivos executáveis arquivos fonte arquivos de configuração arquivos de ajuda documentos
de texto ou qualquer outro arquivo ã necessário ao sistema e esses artefatos eles precisam implementados em um nó um nó de rado bom pode ser num ambiente de execução obviamente Ah aqui nós temos um exemplo de artefato então vocês vão notar que eu tenho um nó representando o servidor de aplicação posidon Esse é um nó de hardware eu sei que ele é um servidor de aplicação por causa desse estereótipo aqui no canto superior direito dentro do posidon roda um ambiente de execução que representa o módulo de autoatendimento do meu Sistema de Controle bancário basicamente o
módulo de autoatendimento ele vai conter ele vai encapsular as funcionalidades que o cliente pode utilizar do sistema sem interferência de um atendente Como emitir saldo emitir estrato realizar depósito realizar saque e na verdade essas funcionalidades elas estão contidas estão encapsuladas no artefato gerenciador de auto atendimento que ele ele é suportado pelo ambiente de execução H módulo de auto atendimento então esse artefato se vocês assistiram a aula sobre o diagrama de componentes vocês vão perceber que tem o mesmo nome de um componente que foi demonstrado naquela aula É que na verdade na maioria das vezes os
artefatos eles são manifestações de componentes eles são manifestações do mundo físico suportados por um ou mais itens de hardware obviamente muitas vezes eh suportando um ambiente de execução ah a manifestação ela pode se Tornada explícita por meio do da associação de dependência com estereótipo Manifest então aqui eu tenho o componente gerenciador de alto atendimento e aqui eu tenho o artefato gerenciador de alto atendimento eu estou dizendo que este artefato gerenciador de alto atendimento é uma manifestação do componente gerenciador de autoatendimento eh não significa que exista um artefato para cada componente eu posso manifestar diversos artefatos
a partir de um determinado componente uma outra forma de representar quando um artefato eh ele está contido em um servidor é por meio da do estereótipo de dependência aliás da associação de dependência com estereótipo Deploy Deploy significa implementar aqui eu estou dizendo então que o servidor de aplicação posidon e ele implementa o artefato gerenciador de autoatendimento falar brevemente sobre a especificação de implantação basicamente uma especificação de implantação ela representa um arquivo de configuração eh que pode ser por exemplo um arquivo XML mas não necessariamente somente esse tipo de arquivo e que ela estabelece como um
ou mais artefatos devem ser implementados em um nó vamos ver um exemplo disso então Aqui nós temos o um nó de hardware representando o servidor de comunicação Pegasus nó tem o estereótipo server dentro Eu tenho um ambiente de execução representando um servidor web e dentro do Servidor web o servidor web ele suporta três artefatos O primeiro é o artefato para controlar o autoatendimento basicamente ele encapsula eh classes de controle que vão interpretar os eventos da que ocorrem sobre as visões do sistema e se achar necessário eles vão solicitar que essas visões apresentem informações apresentem formulários
e ou vão solicitar Que métodos sejam disparados em classe de entidade estão contidos em um outro em outro artefato então aqui eu tenho dois Artefatos de controle um para controlar os eventos das visões referentes ao autoatendimento cliente e outro para controlar as visões referente ao gerenciamento de contas Ah e eu tenho aqui uma especificação de implantação que eu chamei de autenticação XML basicamente ela determina os passos as condições para que um usuário se autentique no sistema para que o usuário possa por exemplo ã [Aplausos] controlar eh utilizar as funcionalidades de auto atendimento Aqui nós temos
um outro exemplo de diagrama de implantação dessa vez contendo artefatos ele também é o mesmo é basicamente o mesmo diagrama anterior só que dessa vez com com as artefatos que foram manifestados nos meus H servidores eu vou também dividir apresentar essa figura dividir em duas para facilitar a a explicação então aqui no meu caixa eletrônico no meu navegador web o navegador web do meu caixa eletrônico ele suporta duas visões a visão de auto atendimento e a visão de gerenciamento de contas ah a Rigor a visão de gerenciamento de contas poderia estar suportada numa numa máquina
separada uma máquina que os operadores pudessem utilizar mas eu coloquei tudo no no servidor de caixa eletrônico para tornar o exemplo mais simples ã Eh claro que esse caixa eletrônico ele poderia ser facilmente substituído por pela máquina do do próprio usuário ou pelo por um celular por exemplo ã então e no meu servidor kerberos no meu servidor de Firewall eu tenho o artefato representando o software de Firewall que roda no meu no ambiente de execução do servidor de Fal eu tenho o servidor de comunicação Pegasus que tem um ambiente de execução que representa o servidor
web que como eu expliquei já ele possui dois artefatos que encapsulam as funcionalidades de controle das visões que são o controle para autoatendimento e o controle para gerenciamento de Conta mais um arquivo de especificação de implantação para determinar como a autenticação deve ser feita eh e na segunda parte eu tenho os servidores eus e posidon cada um suportando eh especificamente o módulo aliás respectivamente o módulo de ao atendimento e o módulo de gerenciamento de contas então no moddo de atendimento de autoatendimento existe um artefato que é o gerenciador de autoatendimento que contém as funcionalidades referentes
ao autoatendimento como eu falei eh emissão de saldo emissão de extrato Ahã depósito saque esse tipo de coisa e eu tenho gerenciador de persistência que contém a lógica para persistir os objetos ã produzidos durante e a execução de processo de autoatendimento ah basicamente ele encapsula classes da e a lógica para persistir os objetos eu e já na no servidor de aplicação Zeus eu tenho também o módulo de gerenciamento de contas que contém um artefato gerenciador de contas que vai conter vai encapsular as funcionalidades para abrir uma conta encerrar uma conta e gerir o cadastro de
clientes e também uma uma réplica do do artefato gerenciador de persistência porque é também necessário persistir os os objetos produzidos por essas funcionalidades Finalmente eu tenho um servidor de banco de dados que eu chamei de era que ele possui um ambiente de execução ã para o sistema gerenciador de banco de dados e um artefato manifestando o servidor priamente dito Ah ainda voltando na figura anterior é importante lembrar que podem haver muitos cxes eletrônicos tá ou máquinas de usuário ou máquinas de atendente tá mas aqui eu manifestei eu representei somente uma uma questão de espaço Ah
ainda Eu dividi o sistema em dois servidores o servidor o servidor de aplicação Zeus e o servidor de aplicação posidon eu fiz isso para poder estabelecer uma segurança maior na por exemplo para os modos de gerenciamento de contas claro que para isso funcionar o ideal seria se eu tivesse ã mais a mais um hardware intermediário de segurança embora eu possa implementar a segurança no próprio servidor Mas enfim para não deixar o diagrama muito grande eu simplifiquei um pouquinho esse exemplo a ah os nós de hardware eles também podem representar redes locais basicamente o Nó pode
representar essencialmente qualquer hardware mas aqui eu tenho exemplo de uma rede local que é representado por um nó então aqui entre o servidor de comunicação pegasos e os servidores de aplicação Zeus e pido eu coloquei um nó representando uma rede local é este aqui a rede local notem que isso permite trocar o protocolo de comunicação então entre o servidor de comunicação e na rede local tava estava-se utilizando tcpip da rede local para os servidores de aplicação internos se passou a utilizar o uma um protocolo etnet Ah e ainda os nós eles podem conter pacotes pacotes
entre outras funções pode representar subsistemas ou sistemas completos então Eh eventualmente um sistema ele pode ser integrado com diversos outros então eles sistemas eles podem ser representados como pacotes e eles podem estar contidos nós então aqui eu tenho um exemplo onde eu tenho dois dispositivos de hardware um representando o servidor o servidor de aplicação do departamento de de contabilidade e outro representando o servidor de aplicação do departamento de vendas no servidor de aplicação do departamento de contabilidade rodam dois sistemas o sistema de contabilidade e o sistema de F de pagamento enquanto que no sistema do
departamento de vendas roda o sistema de controle do estoque então ah notem que existe uma dependência do sistema de controle de estoque sistema de e o sistema de de pagamento com o sistema de contabilidade Então mas qualquer maneira nós conseguimos perceber que cada um desses sistemas ou ainda um sistema está rodando no departamento de vendas Eos out e outros dois sistemas estão rodando no departamento de contabilidade no hardware referente ao servidor do departamento de contabilidade então nós concluímos mais essa aula sobre o diagrama de implantação eu espero que vocês tenham considerado essa aula útil se
ela for útil eu gostaria que vocês curtissem o vídeo Se vocês ainda não estão inscritos no canal gostaria que vocês se inscrevessem e se você souber de quem tem interesse nesse tipo de assunto compartilhe esse vídeo obrigado pela atenção nós nos vemos nas próximas aulas
Copyright © 2025. Made with ♥ in London by YTScribe.com