Você está na página 1de 43

Análise e Projeto de Software

Diagramas de Instalação

Profa. Alessandra Alaniz Macedo


Slides adaptados do Prof. Dr. M. Goulão,
Ana Moreira, João Araújo e Vasco Amaral
● Diagrama de Instalação
○ Nós
○ Artefatos
Tópicos
○ Exemplos de
Diagramas de
Instalação
● De quantos diagramas
necessitamos?
1. Diagrama de Instalação
Diagrama de Instalação
Definição segundo a OMG
Deployments
“The Deployments package specifies constructs that can be
used to define the execution architecture of systems and the
assignment of software artifacts to system elements. A
streamlined model of deployment, sufficient for the majority of
modern applications, is provided. Where more elaborate
deployment models are required, the package can be extended
through profiles or metamodels to represent specific hardware
and/or software environments.”
Segundo a OMG (Object Management Group)
Instalação (deployment)
● Instalação (em UML):
○ Processo de atribuição de artefatos a nós, ou de instâncias
de artefatos a instâncias de nós
Diagrama de Instalação
(Deployment Diagram)
● Pode modelar a arquitetura de um sistema em
tempo de execução
● Apresenta uma vista estática da configuração em
tempo de execução dos nós de processamento e da
distribuição dos componentes que se executam
nesses nós
○ Exemplo de nós: servidor, cliente, modem, impressoras, etc
Diagrama de Instalação
(Deployment diagram)
● Os diagramas de instalação mostram
○ O hardware
○ O software que está instalado nesse hardware
○ O middleware usado para ligar as diferentes máquinas
entre si
Diagrama de Instalação
● Mapeia a arquitetura de software numa arquitetura
de hardware
● Dois tipos de diagramas de instalação
○ Descritivo: contém nós, relações entre nós e artefatos
■ Ex. nós: PC | Ex. artefatos: arquivo jar
○ Instanciado: contém instâncias de nós, ligações entre
instâncias de artefatos (estas instâncias podem ser
anônimas)
■ Ex. nós: PC da Ale | Ex. artefato: um jar particular
Quando criamos este diagrama?

● Primeira versão durante a fase de projeto (desenho descritivo)


com o objetivo de auxiliar no processo de decisão da
arquitetura de hardware
● Refinamento mostrando uma ou mais formas de instanciação,
usando instâncias anônimas (diagramas instanciados)
● Quando os detalhes de hardware no local de instalação são
conhecidos, o diagrama instanciado pode deixar de usar
instâncias anônimas e passar a usar as identificações dos nós e
artefatos específicos
Resumindo o processo
● Durante o projeto, a ênfase é colocada nos nós ou
instâncias de nós, e nas respectivas ligações
● Durante a fase de codificação, a ênfase é colocada
na atribuição de:
○ Instâncias de artefatos a instâncias de nós, no caso de
diagramas instanciados
○ Artefatos a nós em diagramas descritivos
Nós e ligações
● Os diagramas de instalação incluem os vários elementos
usados nos diagramas de componentes e ainda
○ Nós que representam dispositivos físicos e virtuais (ex: nó que
representa mainframe)
■ Os nós apresentam-se em caixas 3D e podem ser processadores
(ex: servidor), ou outros dispositivos (ex: modem)
○ Ligações (dependências e associações)
■ São representantes com linhas simples e podem ser decoradas
com estereótipos para indicar o tipo de ligação (ex: http)
1.1 Nós
Diagrama de Instalação
Definição segundo a OMG
Deployments -> Nodes
“Typically, Nodes represent either hardware devices or
software execution environments. They can be nested and
can be connected into systems of arbitrary complexity
using communication paths. ”
Segundo a OMG (Object Management Group)
Nós
● Objeto físico ou virtual que representa um recurso
de processamento
● Em geral, tem memória e, frequentemente, também
capacidade de processamento
Nós: estereótipos standard
● <<device>> dispositivo físico (ex: PC)
● <<execution environment>> tipo de ambiente de execução
(ex: Apache web server, Firefox)
Nós: versão instanciada
Até onde podemos estereotipar?

● Pode-se criar tantos estereótipos quantos os necessários e


atribuir imagens distintas a cada um deles:
○ Facilidade de leitura ☺
○ Dificuldade de interoperabilidade ☹
1.2 Artefatos
Diagrama de Instalação
Definição segundo a OMG
Deployments -> Artifacts
“An Artifact represents some (usually reifiable) item of
information that is used or produced by a software
development process or by operation of a system.
Examples of Artifacts include model files, source files,
scripts, executable files, database tables, development
deliverables, word-processing documents, and mail
messages.”
Segundo a OMG (Object Management Group)
Artefatos
● Representam a especificação de um item de informação do projeto
● São colocados em nós
● Exemplos
○ Arquivos de código fonte
○ Arquivos executáveis
○ Scripts
○ Tabelas de BD
○ Documentos
○ Outros entregáveis do processo de desenvolvimento
Instâncias de artefatos
● Representam instâncias específicas de artefatos em
particular
● São colocados em instâncias de nós
Manifestação de
artefatos
● Um artefato pode
representar a
manifestação física de
elementos de UML de
qualquer tipo
● Normalmente, um
artefato manifesta um
ou mais componentes
Diagrama de instalação com
artefatos instanciados
1.3 Exemplos de Diagramas
de Instalação
Diagrama de
instalação
● Diagrama de instalação
para uma rede
mostrando
● Protocolos de rede
como estereótipos
● Multiplicidades nos
participantes das
associações
Diagrama de instalação
● Diagrama de instalação para parte de um sistema
embutido, apresentando executável como sendo contido
pelo nó de tipo Motherboard
Diagrama de instalação
● Pacotes usados para estruturar diferentes tipos de
nós
Diagrama de Instalação (notação concisa)
Mais um exemplo
Diagrama de instalação
● Usar para modelar
○ Sistemas cliente servidor
○ Sistemas distribuídos
○ Sistemas embutidos, etc
Perguntas que auxiliam a criar o
Diagrama de Instalação
● Como o sistema é instalado? ● Qual o nível de segurança/confiabilidade
● Onde a instalação pode falhar? exigida para o sistema?
● Quanto tempo é necessário para a instalação? ● Quais equipamentos serão necessários em
● Como verificar se a instalação foi bem sucedida? casos de falha no sistema?
● Quem ou o que será conectado/integrado
● Se diferentes versões do sistema forem executadas com o sistema? Como?
simultaneamente, como os conflitos serão resolvidos? ● Que softwares, incluindo o sistema
● Como os usuários, as equipes de suporte e operação operacional e protocolos de comunicação,
serão treinadas? o sistema usará?
● Quais documentações serão disponibilizadas para os ● Que hardwares e softwares o usuário irá
usuários e equipes de suporte? Em qual formato? Em qual interagir diretamente (PCs, redes de
computadores, navegadores, etc)?
linguagem?
● Como o sistema será monitorado após a
● Como as documentações serão atualizadas?
instalação?
● Quais equipamentos físicos serão necessários para a ● Quais recursos (físicos/softwares) de
instalação? segurança precisam ser instalados?
● Quais outros sistemas serão necessários para interagirem ● É necessário o uso de backups?
ou integrarem com o sistema a ser instalado? ● É necessária a conversão de dados?
Exercício
Proponha um
diagrama de
instalação para
este modelo
Sugestão:
Em aulas
anteriores, um
diagrama de
componentes foi
produzido para o
mesmo exemplo.
Parta desse
diagrama para
construir o seu
diagrama de
instalação
Acesse pelo link:
https://bit.ly/exercicioInstalaca
o
2. De quantos diagramas
necessitamos?
De quantos diagramas
necessitamos?
● Depende
● Usamos diagramas para visualizar o sistema sob
diferentes perspectivas
● É impossível compreender completamente um
sistema a partir de apenas uma perspectiva
● Os diagramas são usados para comunicar
De quantos diagramas
necessitamos?
● Há vários elementos do modelo que são usados em
mais de um diagrama
○ Uma classe pode aparecer em um ou mais diagramas de
classe, pode ser representado em um diagrama de estado,
as suas instâncias podem aparecer em diagramas de
sequências, etc
○ Cada diagrama fornece uma nova perspectiva
Conclusão
● Bons diagramas geram:
○ Desenvolvimentos compreensíveis
○ Projeto de mais fácil gestão

● A escolha de um conjunto de diagramas adequado


leva a perguntas de questões mais pertinentes sobre
o sistema e ajuda a evidenciar as implicações do
modelo criado
REFERÊNCIAS
Referências
● UML 2 and the Unified Process, Arlow and Neustadt
● Agile Modeling
● IBM’s Rational Library
● The object primer: agile model-driven development
with UML 2.0, Scott W. Ambler
● UML 2.0 Superstructure
● UML 2.0 Infrastructure
Tutoriais e Documentos
● Documento de especificação UML
○ https://www.omg.org/spec/UML/2.5.1/PDF
Tutoriais

Parte de vídeo (em inglês) explicando todos os


diagramas UML:
● UML Diagrams Full Course (Unified Modeling

Language) - Canal freeCodeCamp.org


○ (a partir de 25:27 -> duração de 6 minutos)
○ https://youtu.be/WnMQ8HlmeXc?t=1529
Análise e Projeto de Software
Diagramas de Instalação

Profa. Alessandra Alaniz Macedo


Slides adaptados do Prof. Dr. M. Goulão,
Ana Moreira, João Araújo e Vasco Amaral

Você também pode gostar