Buscar

Análise e Projetos de Sistemas E3_ANPS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

E-book 3
ANÁLISE E PROJETO 
DE SISTEMAS
Gláucia Silva Bierwagen
Neste E-Book:
INTRODUÇÃO ���������������������������������������������� 3
DIAGRAMAS DE CLASSES, 
OBJETOS E PACOTES ��������������������������������4
Diagramas de classes ���������������������������������������������4
Diagramas de objetos ou instâncias ����������������������7
Diagramas de pacotes ���������������������������������������������8
DIAGRAMAS DE SEQUÊNCIAS, 
ATIVIDADES E INSTALAÇÃO ������������������10
Diagramas de Sequências ������������������������������������ 10
Diagramas de atividades �������������������������������������� 12
Diagramas de instalação ou implantação ����������� 17
DIAGRAMAS DE MÁQUINAS DE 
ESTADOS E DE COMUNICAÇÃO ����������20
Diagramas de máquina de estados ��������������������� 20
Diagramas de comunicação �������������������������������� 24
DIAGRAMAS DE ESTRUTURAS 
COMPOSTAS, COMPONENTES E 
TEMPORIZAÇÃO ���������������������������������������26
Diagramas de estrutura compostas �������������������� 26
Diagrama de componentes ���������������������������������� 28
Diagrama de temporização ��������������������������������� 29
CONSIDERAÇÕES FINAIS �����������������������31
SÍNTESE ������������������������������������������������������� 32
2
INTRODUÇÃO
Estudando este módulo, você conhecerá os diagra-
mas de classe – que são diagramas estruturais que 
fornecem a visualização de como são compostas as 
entidades envolvidas –, e os diagramas de objetos e 
de pacotes� Descobrirá, também, que os diagramas 
de sequências são diagramas de interação, enquan-
to que os diagramas de atividades são diagramas 
comportamentais e retratam um gráfico de fluxo. Já 
os diagramas de instalação ou implantação são dia-
gramas estruturais que buscam detalhar como deve 
ser feita a implantação ou a instalação do sistema�
Em seguida, você verificará que os diagramas de 
máquina de estados descrevem o comportamento de 
um sistema, enquanto que os diagramas de comuni-
cação são diagramas de interação que enfatizam os 
vínculos de dados entre os participantes. E, por fim, 
você estudará os diagramas de estruturas compos-
tas, de componentes e de temporização�
E, então, motivado?
Aproveite a leitura e bons estudos!
3
DIAGRAMAS DE CLASSES, 
OBJETOS E PACOTES
Neste tópico você aprenderá o que são diagramas de 
classes, objetos e pacotes� O diagrama de classes é 
um diagrama estrutural que fornece a visualização 
de como são compostas as entidades envolvidas� 
As entidades representam dados, operações e agru-
pamentos do sistema a ser modelado� Dentre as 
entidades do diagrama de classes, temos as classes, 
interface e pacote� Vamos nos aprofundar em cada 
um deles�
Diagramas de classes
A entidade classe é constituída por atributos e ope-
rações� Os atributos caracterizam os dados que a 
entidade é capaz de armazenar� As operações re-
presentam as operações que a entidade é capaz de 
desempenhar. A classe é identificada por um nome. 
Observe graficamente a representação de uma classe 
por meio de um retângulo dividido em três partes: 
na primeira parte temos o nome de classe, Pedido; 
na segunda parte os atributos, e na terceira as ope-
rações que essa classe poderá executar.
4
Pedido
-datadeRecebimento:
-Date[0..1]
#éPré-pago: Boolean[1]
número: String [1]
preço: Money
expedir()
encerrar()
Figura 1: Diagrama de Classe. Fonte: Fowler (2005, p. 52) adaptado.
Os atributos possuem as informações de visibilidade, 
nome, tipo e valor padrão� Os valores de visibilidades 
dos atributos são representados, respectivamente, 
pelos seguintes símbolos: + pública; - privada; # pro-
tegida; e ~ pacote. No exemplo acima, os atributos 
datadeRecebimento e Date tem visibilidade privada 
por meio do símbolo - e éPré-pago tem visibilidade 
protegida por meio do símbolo #�
FIQUE ATENTO
A visibilidade faz referência ao local onde o re-
curso pode ser acessado: quando a visibilidade 
é pública, possibilita o acesso ao membro por 
qualquer outra classe� Sendo privada, permite 
acesso somente dentro da classe que a define. 
Se for protegida, possibilita o acesso somente 
para qualquer classe filha e, por fim, a visibilidade 
pacote autoriza acesso por qualquer classe do 
mesmo pacote�
5
Os tipos de atributos podem ser números inteiros, 
no caso de Date [0���1]; lógicos (boolean), no caso de 
éPré-pago; string, que é uma sequência de caracteres 
que podem representar palavras, frases ou textos, no 
caso, número; e money, no caso de preço, indicando 
informação de precificação. Existem ainda atributos 
conhecidos como números de ponto flutuantes (dou-
ble ou float) que identificam números fracionários. 
Existem membros de classe comum a todas as ins-
tâncias da classe e representados de modo subli-
nhado como visto no atributo datadeRecebimento 
(figura 1). (FOWLER, 2005; GONÇALVES, 2015)
Existem classes chamadas de abstratas porque 
pelo menos uma de suas operações é abstrata, ou 
seja, durante a implementação, apenas o cabeça-
lho é oferecido e a primeira classe filha concreta 
terá de executar os métodos abstratos herdados. A 
representação dessa classe é escrevê-las em letras 
itálicas conforme visualizado abaixo (figura 2). O tipo 
retorno chamado de void ocorre quando não há um 
valor para ser retornado�
ClasseAbstrata
+operaçãoabstrata( ): void
ClasseAbstrata
+operaçãoabstrata( ): void
Figura 2: Classe abstrata. Fonte: Fowler (2005, p. 52) adaptado.
6
Temos a entidade interface que apresenta somente 
operações públicas e abstratas� A interface possui 
duas representações básicas em UML que podem 
ser visualizadas a seguir: 1) Um círculo com o nome 
da interface e 2) Uma representação semelhante a 
uma classe, mas com a denominação <<interface>> 
associada�
<<interface>>
InterfaceExemplo
Figura 3: Entidade interface. Fonte: Fowler (2005, p. 52) adaptado 
Diagramas de objetos ou 
instâncias
Os diagramas de objetos são importantes para mos-
trar exemplos de objetos interligados. Geralmente, 
mostra instâncias em vez de classes� É represen-
tado por meio de um retângulo contendo o nome 
da instância seguido de dois pontos (por exemplo: 
engenharia: Organização) e o nome da classe-base 
(por exemplo, localização) com seus valores, por 
exemplo, Chicago, Boston, Champaign e Saba.
7
engenharia: Organização
localização = “Boston”
progenitor
progenitor
ferramentas: Organização
localização = “Chicago”
aplicativos: Organização
localização = “Saba”
Don: Pessoa
localização = “Champaign”
John: Pessoa
localização = “Champaign”
Figura 4: Diagrama de Objetos. Fonte: Fowler (2005, p. 52) adaptado.
Diagramas de pacotes
Os diagramas de pacotes são usados para fazer o 
agrupamento de classes, interfaces e os relaciona-
mentos que os envolvem. Cada classe é um membro 
único do pacote� Os pacotes também podem ser 
membros de outros pacotes� Quando isso aconte-
ce, obtém-se uma estrutura hierárquica em que os 
pacotes são divididos em subpacotes� A representa-
ção gráfica é mostrada por um retângulo maior, com 
outro retângulo menor no canto superior esquerdo, 
conforme ilustrado abaixo (figura 5). Posteriormente, 
você aprenderá mais sobre os relacionamentos dos 
diagramas de pacotes�
8
apresentação de 
arrendamento
estrutura da 
interface com o 
usuário
banco de dados
apresentação 
de bens
domínio de 
arrendamento
domínio dos 
bens
mapeamento 
dos dados de 
arrendamento
mapeamento os 
dados de bens
Figura 5: Diagrama de Pacotes. Fonte: Fowler (2005, p. 97) adaptado.
A seguir você conhecerá os diagramas de atividades, 
de sequência e de instalação�
9
DIAGRAMAS DE 
SEQUÊNCIAS, ATIVIDADES E 
INSTALAÇÃO
Neste tópico você aprenderá quais são os diagramas 
de atividades, de sequência e de instalação� Vamos 
lá?
Diagramas de Sequências
Os diagramas de sequências são diagramas de inte-
ração. Geralmente, o diagrama de sequência busca 
mostrar um único cenário� E como faz isso? Por mos-
trar a sequência de mensagens a ser trocada entre 
os objetos criados a partir das classes� Muitas vezes, 
os atores podemaparecer para mostrar a interação 
entre os usuários do sistema e seus objetos� Dessa 
forma, as entidades envolvidas num diagrama de 
sequência são: atores, objetos e linha da vida (linha 
vertical pontilhada) e operadores de controle. Você 
perceberá que os objetos e atores relacionam-se no 
decorrer da linha do tempo através de mensagens tro-
cadas. A leitura é feita de cima para baixo. Observe 
o exemplo (figura 6) que apresenta um cenário de 
pedido de produtos� Nesse caso, tem-se um pedido 
em que será executado um comando para calcular 
seu preço. Para fazer isso, o pedido precisa examinar 
todos os itens de linha nele presentes e determinar 
seus preços, baseados nas regras de composição de 
10
preços� Ao realizar isso para todos os itens de linha, 
o pedido precisa, então, calcular um desconto global, 
que é baseado nas regras vinculadas ao cliente� No 
entanto, o diagrama não mostra todos os detalhes� 
A sequência de mensagens obterQuantidade, obter-
Produto, obterDetalhesdoPreço e calcularInformação-
deDesconto precisa ser realizada para cada linha no 
pedido, enquanto que calcularDesconto é chamado 
somente uma vez (FOWLER, 2005).
um Pedido uma Linha de Pedido umProduto umCliente
obterInformação-
deDesconto
obterQuantidade
retorno
mensagem
obterDetalhesdoPreço
calcularPreço
mensagem 
recebida
obterProduto
umProduto
autochamada
linha de vida
participante
ativação
calcularPreçoBase
calcularDescontos
Figura 6: Diagrama de Sequências. Fonte: Fowler (2005, p. 68) adap-
tado.
Perceba que os objetos são representados por re-
tângulos� As mensagens demonstram a comunica-
ção entre os objetos e os resultados esperados por 
meio dessa comunicação. A notação gráfica de uma 
mensagem é demonstrada por uma seta contínua 
11
preenchida, partindo do objeto que faz a chamada 
chegando ao objeto destino que fez o chamado� 
Posteriormente, você perceberá as principais rela-
ções e notações dos diagramas de sequências�
Diagramas de atividades
Os diagramas de atividades são diagramas com-
portamentais e basicamente retratam um gráfico de 
fluxo. Podem ser usados para demonstrar as carac-
terísticas desde a fase de elicitação e especificação 
de requisitos até a fase de projeto, estabelecendo 
detalhes de um algoritmo a ser utilizado por uma 
função ou sequência de operações� Os diagramas 
de atividades não fazem o detalhamento de como 
os objetos interagem, portanto, devem ser usados 
de maneira complementar aos diagramas de caso 
de uso e sequência, não em substituição�
No exemplo ilustrado na figura 7, é possível visualizar 
o início da ação por meio de um nó inicial, repre-
sentado por um círculo preenchido e, em seguida, 
se executa a ação Receber Pedido� As ações são 
representadas por figuras retangulares com as bor-
das arredondadas. Logo a seguir, observamos uma 
separação em que ocorre um fluxo de entrada e vá-
rios fluxos simultâneos de saída: Preencher Pedido e 
Enviar Fatura� Isso quer dizer que, pelo diagrama de 
sequência, é possível realizar o fluxo (1) Preencher 
Pedido com suas subsequências Entrega Normal e 
Entrega no Dia Seguinte e, ao mesmo tempo, o fluxo 
12
Enviar Fatura e Receber o Pagamento. Os fluxos de 
controle realizam o encadeamento entre as ações de 
um diagrama de atividades, mostrando a sequência 
a ser seguida. A representação gráfica do fluxo de 
controle é uma seta contínua de cabeça aberta que 
interliga ações, ações de comportamento e objetos� 
Os termos fluxo e aresta descrevem as conexões en-
tre duas ações (FOWLER, 2005; GONÇALVES, 2015).
SAIBA MAIS
As redes Petri são exemplos de diagramas de ati-
vidades que mostram a estrutura de um sistema 
por meio de comentários� Em suas notações pos-
suem nós de posição, nós de transição e arcos 
direcionados que conectam posições com transi-
ções� Para saber mais, leia o artigo “O potencial 
das redes de Petri em modelagem e análise de 
processos de negócio”�
Disponível aqui�
Os diagramas de atividades possibilitam que quem 
está seguindo o processo escolha a ordem de fazer 
as atividades� Ou seja, consegue determinar as re-
gras essenciais de sequência que se seguirá� Para 
realizar a modelagem dos negócios e até mesmo a 
elaboração dos algoritmos é importante que certos 
processos ocorram simultaneamente�
Acesse o Podcast 1 em Módulos
13
http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0104-530X2004000100010&lng=en&nrm=iso
https://famonline.instructure.com/files/707644/download?download_frd=1
Na ocorrência de uma ação paralela é necessário 
sincronizar� Nesse caso, não se fecha um pedido até 
que ele seja pago� Isso é demonstrado pela junção. 
Com a junção, o fluxo de saída só é realizado quando 
todos os fluxos de entrada chegam à junção. Assim, 
só poderá fechar o pedido quando tiver recebido o pa-
gamento. Então, ele será entregue (FOWLER, 2005).
Receber
Pedido
Rechar
Pedido
Enviar FaturaPreencher
Pedido
Entrega no
Dia seguinte
fluxo/aresta
[else]
ação
nó inicial
separação
decisão
[ordem de prioridade]
atividade final
junção
intercalação
Entrega
Normal Receber
Pagamento
Figura 7: Diagrama de Sequências. Fonte: Fowler (2005, p. 119) adap-
tado.
14
Neste diagrama de sequência, encontramos os 
comportamentos condicionais� Dentre eles, temos 
a decisão, que se trata de um desvio na UML, tendo 
um único fluxo de entrada e vários fluxos de saída. 
Notamos que, quando um pedido é preenchido, há 
uma decisão� Se tiver um pedido urgente, será feito 
uma Entrega no Dia Seguinte; caso contrário, será a 
Entrega Normal�
Já em uma intercalação, temos vários fluxos de en-
trada e uma única saída. Geralmente, marca o final 
de um comportamento condicional – Entrega no 
Dia Seguinte e Entrega Normal – iniciado por uma 
decisão – caso o pedido seja urgente –, conforme 
observamos no diagrama de sequência apresentado 
(FOWLER, 2005). 
Perceba também que cada fluxo de saída tem uma 
sentinela, ou seja, uma condição booleana colocada 
entre colchetes� Sempre que se chega a uma decisão, 
pode-se seguir somente um dos fluxos de saída. O 
uso de [else] como sentinela mostra que o fluxo será 
usado caso todas as outras sentinelas sejam falsas� 
Você pode observar que o nó final de atividade é re-
presentado por um círculo preenchido, circundado 
por outro círculo� Tem-se a possibilidade de dividir 
um diagrama de atividades em partições, que mos-
tram quais ações de uma classe ou unidade da orga-
nização realiza� O símbolo de ancinho, representado 
como um tridente (figura 7) mostra que a ação de 
comportamento Entrega no dia Seguinte poderá ser 
15
mais bem visualizada demonstrando suas ações 
(figura 8). (FOWLER, 2005)
Pedido
Entregar Pedido
Pedido
Entrega Normal
[else]
[Pedido Urgente]
Entrega no Dia
Seguinte
nome da atividade
parâmetro 
de entrada
parâmetro 
de saída
Figura 8: Diagrama de atividades auxiliar. Fonte: Fowler (2005, p. 121) 
adaptado.
As atividades podem receber sinais� Um sinal pode 
indicar que a atividade recebe um evento de um pro-
cesso externo. Por exemplo, o sinal de tempo, re-
presentado pela figura de uma ampulheta indica no 
diagrama abaixo que, em duas horas antes de um voo 
sair, é necessário fazer as malas� Se a mala for feita 
de modo rápido, é possível sair enquanto o táxi não 
chega; ou seja, a chegada do taxista é demonstrada 
graficamente por um sinal de reconhecimento. Caso 
contrário, o taxista terá de esperar que se termine de 
arrumar as malas, antes de sair para o aeroporto�
16
sinal de tempo
sinal de reconhecimento
Empacotar
Malas
Duas horas
antes do vôo
Sair para o
Aeroporto
Chegada do
Táxi
Figura 9: Diagrama de atividades com sinais. Fonte: Fowler (2005, 
p. 122) adaptado.
Diagramas de instalação ou 
implantação
Os diagramas de instalação ou implantação são dia-
gramas estruturais que buscam detalhar como deve 
ser feita a implantação ou instalação do sistema� 
Geralmente, mostram o layout físico de um sistema, 
mostrando quais partes do software são executadas 
em quais partes do hardware�
Nesse tipode diagrama, os nós são conectados por 
caminhos de comunicação� Os nós podem ser ob-
servados por meio de:
(1) um dispositivo de hardware – um computador ou 
alguma peça mais simples; e
(2) um ambiente de execução – um software ou sis-
tema operacional�
17
Segundo Fowler (2005),
os nós contêm artefatos, que são as mani-
festações físicas de software: normalmente, 
arquivos. Esses arquivos podem ser execu-
táveis (como arquivos.exe, binários, D LLs, 
arquivos JAR, programas em linguagem as-
sembly ou scripts) ou arquivos de dados, ar-
quivos de configuração, documentos HTML 
etc. (FOWLER, 2005, p. 103). 
SAIBA MAIS
Para saber mais sobre diagramas de implanta-
ção, leia o Capítulo 37 (páginas 616-619), do li-
vro “Utilizando UML e padrões”, de Craig Larman, 
que traz mais exemplos de diagramas de implan-
tação� O livro está disponível em sua biblioteca 
virtual (Minha Biblioteca).
Observe, a seguir, um exemplo de diagrama de 
instalação:
18
Servidor de Aplicativos
JoveGL.exe
{fornecedor = romanSoft}
{componente = General Ledger}
Contêiner EJB
SGBD Oracle
herculesBase.ear
herculesAR.ear
herculesAP.
ClienteNavegador
navegador
Cliente Rico
{SO = Windows}
herculesCliente.exe
Servidor de Web
{SO = Solaris}
{servidor de Web = apache
{número distribuído = 3}
herculesWeb.war
nó de 
ambiente de 
execução
valor rotulado
artefato 
distribuído
http/Rede Localhttp/Internet
caminho de 
comunicação
nó de 
dispositivo
JDBC
Figura 10: Diagrama de atividades com sinais. Fonte: Fowler (2005, 
p. 103) adaptado.
19
DIAGRAMAS DE MÁQUINAS 
DE ESTADOS E DE 
COMUNICAÇÃO
Neste tópico você aprenderá quais são os diagramas 
de máquinas de estados de comunicação�
Diagramas de máquina de 
estados
Os diagramas de máquina de estados descrevem o 
comportamento de um sistema. Fowler (2005) traz 
o exemplo de diagrama de máquina de estados de 
um sistema controlador de um painel secreto em um 
castelo gótico� Os objetos de valor serão guardados 
em um cofre� Para revelar o cadeado do cofre desse 
sistema é preciso, primeiramente, remover uma vela 
de um castiçal e, então, será mostrado o cadeado – 
somente enquanto a porta estiver fechada� Ao ver 
o cadeado, é possível se inserir a chave para abrir 
o cofre. Como medida de segurança, só é possível 
abrir o cofre se, primeiro, substituir a vela. Caso o 
ladrão se esqueça disso, será solto um monstro (um 
coelho assassino) para devorá-lo� Na imagem a se-
guir (figura 11), o diagrama de estados começa com 
o estado do objeto controlador, o estado Esperar. O 
Pseudoestado inicial não é um estado, mas aponta 
o estado inicial� O diagrama mostra que o controla-
dor pode ter três estados: Esperar, Trancar e Abrir. 
20
Existem regras que estão na forma de transições, ou 
seja, linhas que conectam os estados�
vela removida [porta fechada]/
revela cadeado
chave girada [vela no lugar]/cofre aberto
cofre fechado
chave girada [vela retirada]/libera coelho assassino
estado final
estado
transiçãopseudo-estado 
inicial
Esperar Trancar
Abrir
Figura 11: Diagrama de máquina de estados. Fonte: Fowler (2005, 
p. 112) adaptado.
Você pode perceber que cada transição tem um 
rótulo com três partes, ou seja, Assinatura-do-
gatilho[sentinela]/atividade. Por exemplo: vela remo-
vida [porta fechada/]/cadeado revelado. As transições 
são opcionais e disparam uma mudança de estado� 
A sentinela, quando presente, é uma condição boole-
ana que precisa ser verdadeira para que a transição 
ocorra. Por exemplo, No estado Esperar, se a vela for 
removida na condição em que a porta esteja aber-
ta, você revelará o cadeado e mudará para o estado 
Trancar (FOWLER, 2005).
O estado final indica que a máquina de estados está 
completa, implicando a exclusão do objeto controla-
dor� Você pôde notar que, em um diagrama máquina 
21
de estados, implica dizer que diferentes estados de-
monstram diferentes maneiras de reagir aos eventos�
É possível ainda colocar o evento, a sentinela e a 
atividade dentro da própria caixa de estado; nesse 
caso, chamamos de atividades internas. A figura 
12 mostra as atividades de caractere de eventos e 
interface com usuário� As atividades internas são 
chamadas de autotransição. Temos as atividades 
de entrada – destacar tudo – e de saída – atualizar 
campo�
entrada/destacar tudo
saída/atualizar campo
caractere/tratar caractere
ajuda[completa]/abrir página de ajuda
ajuda[silenciosa]/atualizar barra de status
Digitação
Figura 12: Eventos internos mostrados com o estado de digitação de 
um campo de texto. Fonte: Fowler (2005, p. 112) adaptado.
Temos, também, o estado com atividades em anda-
mento (vide figura 13).
REFLITA
Vamos refletir um pouco! Como você faria um 
diagrama de máquinas de estado de controle de 
navegação de um site com um sistema de ven-
da de livros? O cliente deve iniciar fazendo seu 
22
login? Como ele fará o pagamento? Este cliente 
tem cadastro?
Um cliente deseja um sistema que permita jogar 
“jogo da velha” e “forca”� O sistema é destinado a um 
usuário e deve armazenar as estatísticas de uma ses-
são (do lançamento ao término do sistema)� Em uma 
sessão, o usuário pode jogar diversas vezes cada um 
dos jogos� Ao término de cada jogo, atualizam-se as 
estatísticas da sessão: o número de vezes que jogou 
velha, o número de vitórias absoluto e o percentual, e 
o mesmo para a forca� O usuário deseja que o painel 
de estatísticas esteja sempre visível�
Nesse caso, uma vez terminada a pesquisa, todas 
as transições sem atividade, como aquela para exi-
bir o novo hardware, são realizadas� Se ocorrer o 
evento cancelar, durante a atividade, ou seja, a ati-
vidade Realizar/pesquisa de novo hardware será in-
terrompida e voltaremos ao estado Atualizar Janela 
de Hardware.
cancelar
pesquisa
atividade
Exibir Nova
Janela de
Hardware
Pesquisar
realizar/pesquisa de
novo hardware
Atualizar
Janela de
Hardware
Figura 13: Um estado com atividade. Fonte: Fowler (2005, p. 112) 
adaptado.
23
Os diagramas de estados são usados para exibir as 
classes que mostram comportamentos significativos, 
sendo usados para auxiliar na compreensão do que 
está acontecendo�
Diagramas de comunicação
Os diagramas de comunicação são diagramas de 
interação que enfatizam os vínculos de dados entre 
os participantes� Possibilitam o livre posicionamento 
dos participantes por meio do desenho de vínculos 
de instâncias de associações para mostrar como eles 
se conectam, usando uma numeração para mostrar 
a sequência de mensagens� São usados para melhor 
entendimento dos procedimentos de design�
No exemplo a seguir (figura 14), você observará 
que o estilo de numeração é simples 1, 1�1, 2, etc� 
A existência de números decimais tem o objetivo 
de resolver ambiguidades com as autochamadas� 
Por exemplo, quando obterInformaçãodeDesconto 
é chamado dentro do método calcularDesconto é 
possível observar claramente�
24
1.3: obterDetalhesdoPreço
1.1: obterQuantidade()
1.2: obterProduto()
1.4: calcularPreçoBase()
1.5: calcularDescontos()
1.5.1: obterInformação-
deDesconto
1: calcularPreço
um Pedido
um Produto um Produto
um Cliente
Figura 14: Diagrama de comunicação. Fonte: Fowler (2005, p. 130) 
adaptado.
A seguir, você estudará as funções dos diagramas 
de estruturas compostas, de componentes e de tem-
porização. Leia atentamente.
25
DIAGRAMAS DE 
ESTRUTURAS COMPOSTAS, 
COMPONENTES E 
TEMPORIZAÇÃO
Neste tópico você estudará as principais funções 
dos diagramas de estruturas compostas, de com-
ponentes e de temporização�
Diagramas de estrutura 
compostas
Os diagramas de estruturas compostas têm o ob-
jetivo de mostrar a estrutura interna de uma classe, 
de forma hierárquica. A figura 15 ilustra uma classe 
Visualizador de TV com suas interfaces fornecidas e 
exigidas. São mostradas de duas maneiras: usando a 
notação de bola-e-soquete e listando-as internamen-
te. Na figura, a classe é decomposta internamente em 
duas partes que exigem diferentes interfaces. Para 
implementar uma interface, desenha-se um conectorde delegação (figura 16). As estruturas compostas 
mostram agrupamentos em tempo de execução; 
mostrando, dessa forma, componentes e como eles 
são divididos em partes�
26
<<interfaces fornecidas>>
IU do controle da TV
API do controle da TV
<<interfaces exigidas>>
sintonia
tela
fluxo de imagens
sintonia
fluxo de imagens
API do controle da TVIU do controle da TV
tela
Visualizador de TV
Visualizador 
de TV
Figura 15: Maneiras de mostrar um visualizador de TV e suas inter-
faces. Fonte: Fowler (2005, p. 132) adaptado.
API do controle da TV
multiplicidade
conector
fluxo de imagenssintonia
IU do controle da TV
tela
controles:
ApresentadordeTV
1
:Gerador [1]
Visualizador 
de TV
conector de delegação
parte
Figura 16: Visão interna de um componente. Fonte: Fowler (2005, p. 
132) adaptado.
Acesse o Podcast 2 em Módulos
27
https://famonline.instructure.com/files/707645/download?download_frd=1
Diagrama de componentes
O diagrama de componentes é um diagrama estru-
tural que tem por objetivo demonstrar, por meio de 
interfaces de comunicação, componentes e relacio-
namentos� São diagramas importantes para identi-
ficar quando o sistema estiver dividido em compo-
nentes ou quando componentes reutilizáveis forem 
usados. E o que são componentes? Componentes 
representam um código ou um conjunto de códigos 
de funcionalidades que podem ser reutilizados em 
diferentes sistemas� Podem ser combinados dando 
origem a um novo componente composto por outros�
No exemplo a seguir (figura 17), temos uma caixa re-
gistradora que se conecta a um componente servidor 
de vendas, utilizando uma interface de mensagens 
de vendas. Mas a rede não é confiável, então, um 
componente fila de mensagens é introduzido para 
que a caixa registradora possa se comunicar com o 
servidor, quando a rede estiver ativa; e se comuni-
car com uma fila, quando a rede estiver desativada. 
Sendo assim, a fila se comunicará com o servidor, 
quando a rede se tornar disponível. Fowler explica 
que
como resultado, a fila de mensagens 
fornece[rá] a interface de mensagens de ven-
das para se comunicar com a caixa e exige 
essa interface para se comunicar com o servi-
dor. O servidor é dividido em dois componen-
tes principais. O processador de transações 
28
implementa a interface de mensagens de ven-
das e o driver de contabilidade se comunica 
com o sistema de contabilidade. (FOWLER, 
2005, p. 134)
mensagem
de vendas
Sistema de 
Contabilidade
Servidor de Vendas
Caixa
Fila de 
Mensagens
Driver de 
Contabilidade
Processador de
Transações
Figura 17: Exemplo de diagrama de componentes. Fonte: Fowler 
(2005, p.134) adaptado.
Diagrama de temporização 
Os diagramas de temporização são diagramas de 
interação que têm por foco as restrições de tempo-
rização, para um único objeto ou vários. O exemplo 
dado a seguir (figura 18) mostra o cenário baseado 
na bomba e na chapa elétrica de uma cafeteira� A 
regra é que 10 segundos devem se passar entre o 
29
acionamento da bomba e o aquecimento da chapa� 
No caso de ocorrer o esvaziamento do reservatório 
de água, a bomba desliga e a chapa não pode per-
manecer ligada em até 15 segundos. As mudanças 
de estado são mostradas por linhas horizontais 
semÁgua
evento
mudança
de estado
{>10s}
{<15s}
Ligada
Desligada
Ligada
Desligada
restrição de temporização
objeto
estado
Ch
ap
a 
El
ét
ric
a
Bo
m
ba
Figura 18: Diagrama de temporização mostrando os estados como 
linhas. Fowler (2005, p. 141) adaptado.
30
CONSIDERAÇÕES FINAIS
Neste módulo aprendemos que os diagramas de 
classe são diagramas estruturais que fornecem a 
visualização de como são compostas as entidades 
envolvidas� Estudamos o que são os diagramas de 
objetos e de pacotes por meio de exemplos.
Descobrimos, também, que os diagramas de sequ-
ências são diagramas de interação, e os diagramas 
de atividades são diagramas comportamentais e 
retratam um gráfico de fluxo. Compreendemos que 
os diagramas de instalação ou implantação são dia-
gramas estruturais que buscam detalhar como deve 
ser feita a implantação ou a instalação do sistema�
Em seguida, verificamos que os diagramas de má-
quina de estados descrevem o comportamento de 
um sistema, e os diagramas de comunicação são 
diagramas de interação que enfatizam os vínculos 
de dados entre os participantes�
Por fim, estudamos que os diagramas de estruturas 
compostas têm o objetivo de mostrar a estrutura 
interna de uma classe, de forma hierárquica; os dia-
gramas de componentes têm por objetivo demons-
trar, por meio de interfaces de comunicação, com-
ponentes e relacionamentos; e os de temporização 
são diagramas de interação que têm por foco as 
restrições de temporização – para um único objeto 
ou vários�
Até a próxima!
31
SÍNTESE
DIAGRAMAS DE UML
1) Diagramas de classes: acontece quando a entidade classe é constituída por 
atributos e operações. Os atributos caracterizam os dados que a entidade é capaz de 
armazenar. As operações representam as operações que a entidade é capaz de 
desempenhar.
3) Diagramas de pacotes: são usados para fazer o agrupamento de classes, 
interfaces e os relacionamentos que os envolvem. Cada classe é um membro único do 
pacote. Os pacotes também podem ser membros de outros pacotes.
5) Diagrama de atividades: são diagramas que basicamente retratam um gráfico de 
fluxo. Sequência de operações.
2) Diagramas de objetos ou instâncias: são importantes para mostrar exemplos 
de objetos interligados.
4) Diagramas de Sequências: são diagramas de sequências (cenário) e interação. 
6) Diagramas de instalação ou implantação: buscam detalhar como deve ser 
feita a implantação ou instalação do sistema.
7) Diagramas de máquina de estados: descrevem o comportamento de um 
sistema.
8) Diagramas de comunicação: são diagramas de interação que enfatizam os 
vínculos de dados entre os participantes.
ANÁLISE E PROJETO 
DE SISTEMAS
9) Diagramas de estrutura compostas: têm o objetivo de mostrar a estrutura 
interna de uma classe de forma hierárquica.
10) Diagrama de componentes: são diagramas estruturais que tem por objetivo 
demonstrar por meio de interfaces de comunicação, componentes e relacionamentos.
11) Diagrama de temporização: são diagramas de interação que tem por foco as 
restrições de temporização, para um único objeto ou vários.
Referências Bibliográficas 
& Consultadas
BEZERRA, E. Princípios de análise e projeto de 
sistemas com UML. Rio de Janeiro: EIsevier, 2007.
FOWLER, M. UML essencial: um breve guia para 
a linguagem-padrão de modelagem de obje-
tos. 3. ed. Porto Alegre: Bookman, 2005. [Minha 
Biblioteca]
GONÇALVES, E. J. T. Análise e projeto de sistemas� 
3. ed. Fortaleza: EdUECE, 2015.
LARMAN, C. Utilizando UML e padrões. 3. ed. 
Porto Alegre: Bookman, 2004. [Minha Biblioteca]
MARINHO, A. L. Análise e modelagem de sis-
temas. São Paulo: Pearson Education do Brasil, 
2016. [Biblioteca Virtual]
MEDEIROS, E� Desenvolvendo software com UML 
2.0: definitivo. São Paulo: Pearson Makron Books, 
2004. [Biblioteca Virtual] 
PAGE-JONES, M. Fundamentos do desenho orien-
tado a objeto com UML. 1. ed. São Paulo: Makron 
Books, 2001. [Biblioteca Virtual]
PAULA FILHO, W. P. Engenharia de software: funda-
mentos, métodos e padrões. 3. ed. Rio de Janeiro: 
LTC, 2009. Disponível em: [Minha Biblioteca]
PRESSMAN, R. S.; MAXIM, B. R. Engenharia de sof-
tware: uma abordagem profissional. 8. ed. Porto 
Alegre: AMGH, 2016. [Minha Biblioteca]
SOMMERVILLE, I. Engenharia de software� 10� ed� 
São Paulo: Pearson Brasil, 2019. [Biblioteca Virtual]
	Introdução
	Diagramas de classes, objetos e pacotes
	Diagramas de classes
	Diagramas de objetos ou instâncias
	Diagramas de pacotes
	Diagramas de Sequências, Atividades e Instalação
	Diagramas de Sequências
	Diagramas de atividades
	Diagramas de instalação ou implantação
	Diagramas de Máquinas de Estados e de Comunicação
	Diagramas de máquina de estados
	Diagramas de comunicação
	Diagramas de Estruturas Compostas, Componentes e Temporização
	Diagramas deestrutura compostas
	Diagrama de componentes
	Diagrama de temporização 
	Considerações finais
	Síntese

Mais conteúdos dessa disciplina