Buscar

UML Unified Modelling Language

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 61 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 61 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 61 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

UML
Aprenda tudo sobre o UML, a linguagem de modelagem unificada 
utilizada na engenharia de software.
https://gamma.app
O que é o UML?
Definição e 
conceito
O UML é uma linguagem de 
modelagem visual, usada 
para representar modelos de 
software em um formato 
padronizado.
História e evolução
O UML foi desenvolvido por 
Grady Booch, Jim 
Rumbaugh e Ivar Jacobson 
em meados dos anos 90, e 
rapidamente se tornou uma 
norma da indústria.
Motivação e 
vantagens
O UML permite que 
desenvolvedores e equipes 
de software comuniquem 
suas ideias e projetos de 
forma mais clara e coerente, 
economizando tempo e 
esforço ao longo do 
processo de 
desenvolvimento.
https://gamma.app
Diagramas UML: Uma visão geral
1
Diagramas de Caso de 
Uso
Usados para modelar requisitos e 
funcionalidades do sistema.
2
Diagramas de Classe
Usados para descrever a estrutura 
do sistema, as classes e suas 
associações.
3
Diagramas de 
Sequência
Usados para ilustrar interações 
entre objetos em uma sequência 
cronológica.
4
Diagramas de Estado
Usados para modelar o 
comportamento de objetos ou 
sistemas em determinados estados.
https://gamma.app
Usando o UML na 
Engenharia de 
Software
1 Análise
O UML pode ser usado 
para modelar e descrever 
um sistema existente ou 
proposto.
2 Projeto
O UML permite esboçar e 
definir os conceitos, 
estruturas, 
comportamentos e 
relações para um sistema.
3 Implementação
O UML pode ajudar a gerar código ou instruções do sistema a 
partir dos modelos criados.
https://gamma.app
Ferramentas UML
StarUML
Uma das ferramentas de 
modelagem mais populares
IBM Rational 
Software Architect
Solução profissional para 
modelagem e design de software
Visual Paradigm
Uma plataforma de modelagem 
UML e ferramenta de design de 
software
https://gamma.app
UML na Prática: Um Estudo de 
Caso
Veja como usamos UML em nosso projeto para criar uma aplicação de gerenciamento de tarefas 
eficiente.
1 Caso de Uso
Analisamos os requisitos e modelamos 
um diagrama de caso de uso detalhado 
para cobrir todas as funcionalidades 
necessárias.
2Diagramas de Sequência
Usamos o diagrama de sequência para 
modelar como os usuários da nossa 
aplicação interagiriam com o sistema.
3 Diagrama de Classe
Criamos um diagrama de classe para 
visualizar as classes que seriam 
necessárias para implementar as 
funcionalidades.
https://gamma.app
Perguntas frequentes sobre UML
O UML é uma 
linguagem de 
programação?
Não, o UML é uma 
linguagem de modelagem.
O que é a UML 
notação gráfica?
A notação gráfica UML é um 
conjunto de símbolos para 
criar modelos de software.
Quais são as 
principais 
vantagens do 
UML?
O UML ajuda a visualizar 
visualmente e comunicar de 
forma eficiente as ideias e 
projetos de software e ainda 
pode ser usado em todo o 
processo de 
desenvolvimento.
https://gamma.app
Conclusão
O UML é uma ferramenta poderosa e amplamente utilizada para 
modelar projetos de software em uma variedade de setores.
https://gamma.app
Introdução ao UML
O UML (Unified Modeling Language) é uma linguagem padronizada de modelagem de sistemas 
orientados a objetos amplamente utilizada na engenharia de software. Nesta introdução, vamos explorar 
a história e evolução do UML, bem como suas vantagens e benefícios.
https://gamma.app
O que é o UML?
O UML é uma linguagem gráfica de modelagem usada na engenharia de software para especificar, 
visualizar, modificar e documentar sistemas complexos. Ele fornece uma série de diagramas e notações 
que permitem aos desenvolvedores representar de forma clara e concisa a estrutura, o comportamento e 
as interações de um sistema.
"O UML é para a Engenharia de Software o que a Ataques de Futebol é para Treinadores. Todas as 
regras escritas, todos os movimentos plasmados em desenhos prontos a serem interpretados pela 
equipa."
- Ricardo Vieira, consultor tecnológico
https://gamma.app
História e evolução do UML
O UML foi desenvolvido nos anos 90 e surgiu da necessidade de unificar diversas linguagens de 
modelagem existentes para sistemas orientados a objetos. Seus criadores, Grady Booch, Jim Rumbaugh 
e Ivar Jacobson, reuniram-se para criar um padrão unificado de modelagem.
Linguagens 
precursoras:
OMT
Booch
OOSE
Eventos 
importantes:
Lançamento do UML 1.0 
em 1997
Padronização pela OMG 
em 2005 (UML 2.0)
UML 2.5 lançado em 2015
Principais 
influências:
Teoria dos grafos
Linguagens de 
programação orientadas a 
objetos
Diversas linguagens de 
modelagem existentes
https://gamma.app
Vantagens do uso do UML
1 Comunicação:
Permite uma comunicação efetiva entre 
membros da equipe por meio do uso de um 
vocabulário comum e diagramas/modelos 
padronizados.
2 Documentação:
Facilita a criação de documentação clara e 
concisa para sistemas orientados a objetos 
complexos.
3 Identificação de problemas:
Permite a detecção de problemas de design 
e implementação de sistemas ainda na fase 
de modelagem.
4 Reutilização de código:
Permite a reutilização de código em 
diversos projetos graças à padronização e 
abstração dos modelos.
https://gamma.app
Principais diagramas UML
O UML inclui diversos tipos de diagramas para representar diferentes aspectos de um sistema orientado 
a objetos. Aqui estão alguns dos principais:
Diagrama Descrição
Diagrama de classes Representa a estrutura de classes, interfaces e 
seus relacionamentos.
Diagrama de objetos Representa instâncias de classes e 
relacionamentos entre elas.
Diagrama de sequência Representa interações entre objetos ao longo 
do tempo.
Diagrama de estados Representa estados e transições de um objeto 
ou de todo o sistema.
https://gamma.app
Exemplo prático
C li en te
+co d i go : In teger
+n o me co mp leto : S tri n g
+cp f: In teger
+en d ereço : S tri n g
+emai l : S tri n g
+sen h a: S tri n g
+alterar();
+co n su ltar();
+cad astrar();
Li vro
+co d i go : In teger
+n o me: S tri n g
+au to r: S tri n g
+ed i to ra: S tri n g
+IS B N: S tri n g
+q u an ti d ad e: In teger
+co d d e b arras: In teger
+q u an ti d ad e mi n i ma: In teger
cad astrar()
remo ver()
co n su ltar()
Item co mp ra (h erd a l i vro )
+valo r: Do u b le
+q u an ti d ad e: In teger
Item ven d a (h erd a l i vro )
+co d i go : i n teger
+valo r: Do u b le
+q u an ti d ad e: In teger
C o mp ra
+co d i go : In teger
+i tem d e co mp ra
+fo rn eced o r: S tri n g
+valo r : Do u b le
+d ata: Date
+co n su ltar();
+cad astrar();
+alterar();
+exclu i r();
Ven d a
+co d i go : In teger
+i tem d e ven d a
+cl i en te: S tri n g
+valo r : Do u b le
+d ata: Date
+co n su ltar();
+cad astrar();
+alterar();
+exclu i r();
R eserva
+co d i go : In teger
+i tem ven d a
+d ata: Date
+cad astrar();
+remo ver();
+alterar();
+co n su ltar();
Ven d a o n l i n e (h erd a ven d a)
+statu s: B o o lean
+lo cal d e en trega: S tri n g
+valo r d o frete: Do u b le
+p razo d e en trega: Date
Fo rn eced o r
+co d i go : i n teger
+n o me fan tasi a: S tri n g
+cn p j : In teger
+co n su ltar();
+cad astrar();
+alterar();
+exclu i r();
Fu n ci o n ari o
+co d i go : In teger
+n o me co mp leto : S tri n g
+cp f: In teger
+en d ereço : S tri n g
+fu n ção : S tri n g
+en vi arLi vro s( )
+ven d er( )
Men sagen s
+co d i go : In teger
+texto : S tri n g
+cl i en te: S tri n g
+d ata: Date
+cad astrar();
+remo ver();
+co n su ltar();
�. . *
�
<<su b n a q td >>
�. . *
�
<<su b n a q td >>
�. . *
�
. <<ad d n a q td >>
�. . *
�
<<cad astra>>
<<p o ssu i >>
�. . *
�
<<lan ça>>
�
�
�. . *
�
<<lan ça>>
�. . *
�
<<regi stra>>
�. . *
�
<<reserva>>
�. . *
�
<<regi stra>>
�
�. . *
<<ati va flag>>
�. . * �<<cad astra>>
�
�. . *
<<cad astra>>
<<i i n fo rma>>
�
�. . *
Diagrama de Classes da 
Livraria
Diagrama de classes para um sistema de 
gerenciamento de biblioteca.
Diagrama de sequência que ilustra o processode 
empréstimo de um livro.
Vamos ver um exemplo de como o UML pode ser usado em um projeto real. Abaixo estão dois exemplos 
de diagramas UML que podem ser usados em um sistema de gerenciamento de biblioteca.
https://gamma.app
Conclusão
O UML é uma linguagem padronizada e amplamente difundida na engenharia de software. Ele permite 
aos desenvolvedores modelar sistemas orientados a objetos de forma clara e concisa, facilitando a 
documentação, a detecção de problemas de design e a reutilização de código. Ao longo deste texto, 
exploramos a definição e conceito do UML, sua história e evolução, suas vantagens e benefícios, 
principais diagramas e exemplo prático de uso.
https://gamma.app
Princípios Fundamentais do 
UML
O Unified Modeling Language (UML) é uma linguagem visual que serve para modelar e especificar 
sistemas. Conheça os princípios que embasam o uso do UML e prepare-se para criar modelos eficientes 
e de alta qualidade.
https://gamma.app
Abstração
O que é?
A representação simplificada da realidade é 
central no UML. Os modelos descrevem o 
sistema em termos de seus principais elementos 
e suas relações, sem nos preocuparmos com 
detalhes desnecessários.
Para que serve?
A abstração nos permite focar na essência do 
sistema, sem se prender a detalhes irrelevantes. 
Assim, podemos compreender melhor o sistema 
e identificar problemas e oportunidades para 
melhorias.
https://gamma.app
Separação de Interesses
“Propósito e responsabilidade têm de ser claramente divididos.” – Philip Crosby
Dividir o sistema em partes independentes permite que cada parte seja projetada, construída e testada 
separadamente. Além disso, facilita a manutenção, já que cada parte pode ser modificada sem afetar as 
demais.
A separação de interesses é como montar um 
quebra-cabeça. Cada peça tem sua função, mas 
só juntas elas formam uma imagem clara e 
completa.
Com a separação de interesses, é possível ver o 
sistema de diferentes perspectivas e entender 
como cada parte contribui para a missão global.
https://gamma.app
Modularidade
Vantagens Desvantagens
Maior reutilização de código Interdependência entre os módulos
Manutenção mais fácil Custo inicial com a definição da arquitetura
Melhor escalabilidade Complexidade aumentada na comunicação 
entre os módulos
Módulos independentes e reutilizáveis são essenciais para criar sistemas escaláveis e flexíveis. Cada 
módulo tem sua função bem definida e pode ser desenvolvido, testado e implantado separadamente.
https://gamma.app
Ocultação de Informação
1 Princípio do 
“direito de 
necessidade”
Exponha apenas a 
informação necessária e 
suficiente para uma parte 
do sistema realizar sua 
função.
2 Efeito cascata
Limitar o acesso direto 
aos componentes de 
baixo nível do sistema.
3 Modularização
Para cada módulo, defina 
quais informações são 
recebidas e retornadas 
pela interface pública do 
módulo, ocultando o 
resto.
Ao ocultar a informação desnecessária, reduzimos a complexidade do sistema e melhoramos a 
manutenção e a confiabilidade. Para isso, devemos definir interfaces bem especificadas e limitar o 
acesso direto a componentes críticos.
https://gamma.app
Hierarquia
O que é?
A organização dos elementos em níveis de 
complexidade crescente é fundamental para a 
compreensão e a manutenção do sistema. Cada 
nível encapsula os detalhes do nível inferior.
Como funciona?
A hierarquia define diferentes níveis de abstração 
do sistema. Na base da hierarquia estão as 
classes e os objetos, enquanto no topo temos os 
casos de uso e os diagramas de sistema.
A hierarquia facilita a compreensão do sistema e ajuda na organização do trabalho. Cada nível tem suas 
próprias regras e responsabilidades, o que permite uma divisão mais clara do trabalho.
https://gamma.app
Conclusão
O UML é uma ferramenta poderosa para modelar e 
especificar sistemas. Com os princípios 
fundamentais apresentados aqui, você está pronto 
para criar modelos mais eficientes e de alta 
qualidade. Agora, é hora de colocar em prática!
Espero que tenha gostado deste guia. Se tiver 
alguma dúvida ou sugestão, não hesite em entrar 
em contato. Até a próxima!
https://gamma.app
Visão geral dos Diagramas 
UML
Os diagramas UML são um conjunto de ferramentas gráficas que permitem representar e modelar 
sistemas de software. Eles são usados em todas as fases do ciclo de vida do software, desde a análise 
dos requisitos até a implementação e testes. Existem dois tipos principais de diagramas UML: os 
estruturais e os comportamentais, cada um servindo a um propósito específico.
https://gamma.app
Diagramas estruturais
Diagrama de 
Classes
O Diagrama de Classes é um 
dos diagramas mais 
importantes no UML. Ele exibe 
a estrutura estática do sistema, 
mostrando as classes e seus 
relacionamentos. É usado na 
fase de modelagem para 
entender os requisitos e 
arquitetura do sistema antes da 
implementação.
Diagrama de 
Objetos
O Diagrama de Objetos é 
semelhante ao Diagrama de 
Classes, mas mostra uma 
visão mais detalhada de um 
sistema específico. Ele mostra 
instâncias de classes e seus 
relacionamentos em um 
determinado ponto do tempo.
Diagrama de 
Componentes
O Diagrama de Componentes 
é usado para representar os 
componentes físicos do 
sistema, incluindo bibliotecas e 
executáveis. Ele é útil para 
entender a complexidade do 
sistema e como os diferentes 
elementos interagem.
https://gamma.app
Diagramas comportamentais
Os diagramas comportamentais mostram como o sistema funciona e como os objetos interagem entre 
si em tempo de execução. Eles são usados para descrever fluxos de trabalho, comunicação entre 
objetos e estados de objetos.
1 Diagrama de 
Casos de Uso
O Diagrama de Casos de 
Uso é usado para 
representar as 
funcionalidades que o 
sistema deve prover ao 
usuário. Ele mostra como 
o sistema será utilizado, 
as funcionalidades 
disponíveis e o fluxo de 
informações.
2 Diagrama de 
Sequência
O Diagrama de 
Sequência é usado para 
mostrar como os objetos 
interagem entre si em 
uma sequência temporal. 
Ele é ideal para descrever 
os fluxos de trabalho do 
sistema e como diferentes 
objetos se comunicam 
entre si.
3 Diagrama de 
Atividades
O Diagrama de Atividades 
mostra como as 
atividades do sistema 
estão relacionadas e 
como elas se comunicam 
entre si. Ele é 
especialmente útil para 
analisar processos de 
negócios e fluxos de 
trabalho.
https://gamma.app
Utilização dos diagramas em 
diferentes fases do 
desenvolvimento
Fase Diagramas utilizados
Análise de Requisitos Diagrama de Casos de Uso, Diagrama de 
Classes
Projeto Diagrama de Classes, Diagrama de Objetos, 
Diagrama de Componentes
Implementação Diagrama de Classes, Diagrama de 
Componentes
Teste Diagrama de Sequência, Diagrama de 
Atividades
https://gamma.app
Exemplo de aplicação em um 
sistema de gerenciamento de 
despesas pessoais
Para ilustrar a aplicação prática dos diagramas UML, podemos usar como exemplo um sistema de 
gerenciamento de despesas pessoais. O sistema tem como objetivo permitir que o usuário registre suas 
despesas, crie orçamentos e visualize sua situação financeira. Os diagramas UML utilizados podem 
incluir:
Diagrama de Casos 
de Uso
Mostrando as funcionalidades 
que o sistema deve prover ao 
usuário, como registrar 
despesas, sugerir orçamentos e 
gerar relatórios.
Diagrama de Classes
Mostrando as classes do 
sistema, como usuário, despesa 
e orçamento, e seus 
relacionamentos.
Diagrama de 
Sequência
Mostrando como o usuário 
interage com o sistema ao 
registrar uma nova despesa, 
incluindo a validação das 
entradas e a persistência dos 
dados.
https://gamma.app
Considerações finais
Facilidade de 
comunicação
Os diagramas UML são 
ferramentas gráficas úteis para 
comunicar os requisitos e 
arquitetura do sistema para 
toda a equipe de 
desenvolvimento, incluindo 
desenvolvedores, analistas e 
gerentesde projeto.
Garantia de 
consistência
O uso dos diagramas garante 
que o sistema será 
desenvolvido de forma 
consistente com os requisitos. 
Eles são úteis para prever 
problemas e simplificar o 
processo de desenvolvimento.
Flexibilidade
Os diagramas UML são 
flexíveis e podem ser 
adaptados para diferentes 
metodologias de 
desenvolvimento de software. 
Eles são uma ferramenta 
essencial para todos os 
envolvidos no 
desenvolvimento de software.
https://gamma.app
Referências
1 Curtis, B. (2019) UML 
Diagram Types: Learn 
about the 13 Types of 
UML Diagrams.
2 Rumbaugh, J., Blaha, M., 
Premerlani, W., Eddy, F. 
and Lorensen, W. (1999) 
Object-Oriented Modeling 
and Design with UML.
3 Larman, C. (2015) 
Applying UML and 
Patterns: An Introduction 
to Object-Oriented 
Analysis and Design and 
Iterative Development.
https://gamma.app
Diagrama de Classes UML
O Diagrama de Classes é uma das ferramentas mais usadas pela Engenharia de Software para projetar 
sistemas orientados a objetos. Neste guia, exploraremos o que é, seus elementos e exemplos de uso.
https://gamma.app
O que é o Diagrama de Classes?
Definição
O Diagrama de Classes é uma representação 
gráfica de um conjunto de classes, interfaces e 
seus relacionamentos.
Propósito
Seu objetivo principal é descrever a estrutura do 
sistema, suas classes, seus atributos e seus 
métodos. Ele ajuda a visualizar o código e a 
evitar problemas de design.
https://gamma.app
Elementos do Diagrama de 
Classes
1 Classes
As classes são 
representadas por 
retângulos e representam 
uma entidade do mundo 
real ou conceitual, que 
possui atributos e 
métodos.
2 Atributos
Os atributos são as 
características das 
classes que descrevem 
suas propriedades.
3 Métodos
Os métodos são as ações 
que as classes podem 
executar.
4 Associações
As associações são as relações entre as 
classes, indicadas por linhas entre as 
classes relacionadas.
5 Herança
A herança é uma relação entre uma classe 
mais geral (superclasse) e classes mais 
específicas (subclasses).
https://gamma.app
Representação gráfica dos 
elementos e sua semântica
A representação gráfica dos elementos no Diagrama de Classes UML é feita por meio de retângulos 
divididos em três seções. Cada seção representa um elemento específico:
Seção superior: Nome da classe1.
Essa seção contém o nome da classe que está sendo representada. Geralmente, o nome é 
escrito em letras maiúsculas ou CamelCase.
Seção intermediária: Atributos da classe2.
Essa seção apresenta os atributos da classe, que representam as características ou propriedades 
dos objetos pertencentes a essa classe. Os atributos são listados com seus nomes e tipos de 
dados correspondentes. Eles podem ser representados como pares nome:tipo.
Seção inferior: Métodos da classe3.
Essa seção descreve os métodos da classe, que representam as operações ou comportamentos 
que os objetos pertencentes a essa classe podem executar. Os métodos são listados com seus 
nomes, parâmetros (se houver) e tipos de retorno correspondentes.
Além dessas seções, o Diagrama de 
Classes pode conter outras notações 
gráficas para representar associações 
entre classes, herança, interfaces, 
multiplicidade, entre outros elementos:
Linhas sólidas: representam associações entre classes, indicando que uma classe conhece ou tem 
um relacionamento com outra classe.
Linhas com setas: indicam direção na associação, mostrando a direção do relacionamento entre as 
classes.
Linhas tracejadas: representam relações de dependência entre classes, onde uma classe depende 
da outra para realizar uma operação específica.
Setas vazadas: indicam a direção da herança, mostrando que uma classe herda características de 
outra classe.
Linhas pontilhadas com setas: representam interfaces implementadas por uma classe.
Números ou símbolos adjacentes às linhas: denotam a multiplicidade, indicando a quantidade de 
objetos que podem participar do relacionamento.
Essa representação gráfica do Diagrama de Classes UML permite visualizar e entender a estrutura e as 
relações entre as classes de um sistema, facilitando a comunicação e o desenvolvimento de software.
https://gamma.app
Exemplos de utilização do 
Diagrama de Classes
Java
O Diagrama de Classes é 
frequentemente usado no 
desenvolvimento de projetos 
Java.
C#
Também pode ser usado para 
projetos em C# para visualizar as 
classes e seus relacionamentos.
Banco de Dados
O Diagrama de Classes também 
pode ser usado para modelar e 
visualizar relacionamentos de 
objetos em Banco de Dados.
https://gamma.app
Benefícios do Diagrama de 
Classes
Detectar 
problemas
O Diagrama de Classes ajuda 
os desenvolvedores a detectar 
possíveis problemas de design 
antes de começar a escrever o 
código.
Entender o 
Código
Ele ajuda a visualizar a 
estrutura do código, facilitando 
a compreensão do mesmo.
Planejamento
O diagrama de classes é 
usado para planejar o sistema, 
definir requisitos e garantir que 
as classes estejam 
corretamente organizadas.
https://gamma.app
Atributos e Métodos
Atributos Métodos
- Nome: String + getNome(): String
- Sobrenome: String + getSobrenome(): String
- Idade: Int + setIdade(): void
- Telefone: String + setTelefone(): void
Na tabela acima, temos um exemplo de classe Pessoa. Os atributos são as propriedades da classe, e os 
métodos são as ações que a classe pode executar.
https://gamma.app
Conclusão
Em conclusão, o Diagrama de Classes é uma ferramenta fundamental no desenvolvimento de sistemas 
orientados a objetos. Ele permite representar a estrutura do sistema de forma visual, com classes, 
atributos, métodos e relacionamentos, facilitando a compreensão e comunicação entre a equipe de 
desenvolvimento.
Com o Diagrama de Classes, os programadores podem identificar a hierarquia das classes, definir as 
conexões entre elas e especificar as características dos objetos. Isso ajuda a organizar e estruturar o 
código, tornando-o mais eficiente e fácil de dar manutenção.
É importante destacar que o Diagrama de Classes é uma representação abstrata do sistema e não é 
uma representação direta do código real. Ele serve como uma espécie de "plano" do sistema, que 
precisa ser traduzido em código concreto posteriormente.
Em resumo, o Diagrama de Classes UML é uma ferramenta poderosa para projetar e visualizar a 
estrutura de um sistema orientado a objetos. Ele ajuda os desenvolvedores a ter uma visão clara do 
sistema, facilita a comunicação e o planejamento, além de contribuir para a organização e eficiência do 
código. É uma técnica amplamente utilizada e essencial para o desenvolvimento de software.
https://gamma.app
Aprenda a criar Diagramas 
de Sequência UML
Os diagramas de sequência UML são uma ferramenta valiosa para modelar interações entre objetos em 
um sistema. Neste guia, iremos explorar os elementos do diagrama de sequência e como construir 
diagramas eficazes.
https://gamma.app
Definição e propósito do 
diagrama de sequência
O diagrama de sequência UML é uma forma visual de modelar a interação entre objetos em um sistema. 
Ele mostra a ordem temporal das mensagens trocadas entre os objetos, permitindo que os 
desenvolvedores entendam como o sistema funciona e identifiquem possíveis pontos de falha.
https://gamma.app
Elementos do Diagrama de 
Sequência
Atores
Os atores são os usuários ou 
sistemas externos que 
interagem com o sistema 
modelado. Eles são 
representados por caixas 
vazias e posicionados sobre a 
linha de vida do objeto 
correspondente.
Lifelines
As lifelines representam os 
objetos do sistema que 
interagem entre si. Elas são 
representadas por uma linha 
vertical e o nome do objeto 
correspondente.
Mensagens
As mensagens são as 
interações entre os objetos 
representados pelas lifelines. 
Elas indicam quando uma 
mensagem é enviada e quem 
a enviou e recebeu. Existem 
dois tipos de mensagens: 
síncronas e assíncronas.https://gamma.app
Construindo um Diagrama de 
Sequência
1 Identifique os 
objetos do 
sistema
Para criar um diagrama 
de sequência eficaz, é 
importante identificar os 
objetos do sistema que 
realizarão as interações.
2 Crie as lifelines
Adicione as lifelines 
correspondentes aos 
objetos identificados na 
etapa anterior.
3 Adicione as 
mensagens
Adicione as mensagens 
correspondentes às 
interações entre os 
objetos. Isso deve ser 
feito seguindo a ordem 
temporal das interações 
para garantir que o 
diagrama faça sentido.
https://gamma.app
Exemplos de Diagramas de 
Sequência
Este diagrama de sequência ilustra o processo de 
compra de um produto online. Podemos ver como 
os objetos (usuário, carrinho, estoque e banco de 
dados) interagem, e a ordem em que as 
mensagens são trocadas.
Este diagrama de sequência ilustra o processo de 
login em um sistema. Podemos ver como o 
usuário, o banco de dados e o sistema de 
autenticação interagem para realizar o login.
https://gamma.app
Representação gráfica dos 
elementos e sua semântica
Os elementos do diagrama de sequência são representados de forma gráfica para facilitar a 
compreensão da interação entre os objetos. É importante entender a semântica por trás de cada 
elemento para criar diagramas precisos e eficazes.
A representação gráfica dos elementos no Diagrama de Classes UML é feita por meio de retângulos 
divididos em três seções. Cada seção representa um elemento específico:
Seção superior: Nome da classe1.
Essa seção contém o nome da classe que está sendo representada. Geralmente, o nome é 
escrito em letras maiúsculas ou CamelCase.
Seção intermediária: Atributos da classe2.
Essa seção apresenta os atributos da classe, que representam as características ou 
propriedades dos objetos pertencentes a essa classe. Os atributos são listados com seus 
nomes e tipos de dados correspondentes. Eles podem ser representados como pares 
nome:tipo.
Seção inferior: Métodos da classe3.
Essa seção descreve os métodos da classe, que representam as operações ou 
comportamentos que os objetos pertencentes a essa classe podem executar. Os métodos são 
listados com seus nomes, parâmetros (se houver) e tipos de retorno correspondentes.
Além dessas seções, o Diagrama de Classes pode conter outras notações gráficas para representar 
associações entre classes, herança, interfaces, multiplicidade, entre outros elementos:
Linhas sólidas: representam associações entre classes, indicando que uma classe conhece ou 
tem um relacionamento com outra classe.
Linhas com setas: indicam direção na associação, mostrando a direção do relacionamento entre 
as classes.
Linhas tracejadas: representam relações de dependência entre classes, onde uma classe 
depende da outra para realizar uma operação específica.
Setas vazadas: indicam a direção da herança, mostrando que uma classe herda características 
de outra classe.
Linhas pontilhadas com setas: representam interfaces implementadas por uma classe.
Números ou símbolos adjacentes às linhas: denotam a multiplicidade, indicando a quantidade de 
objetos que podem participar do relacionamento.
Essa representação gráfica do Diagrama de Classes UML permite visualizar e entender a estrutura e 
as relações entre as classes de um sistema, facilitando a comunicação e o desenvolvimento de 
software.
https://gamma.app
Exemplos de utilização do 
diagrama de sequência
Teste de integração O diagrama de sequência pode ser usado para 
testar a integração entre os diferentes 
componentes de um sistema.
Documentação do sistema O diagrama de sequência pode ser usado para 
documentar a interação entre os objetos do 
sistema, fornecendo uma visão clara das 
mensagens trocadas.
Análise de código O diagrama de sequência pode ser usado para 
analisar o código e identificar possíveis bugs ou 
problemas de design.
https://gamma.app
Elementos do diagrama de 
sequência: objetos, mensagens, 
ativação, etc.
Os elementos do diagrama de sequência incluem objetos, mensagens, ativação e muito mais. Cada um 
desses elementos desempenha um papel fundamental na modelagem da interação entre os objetos do 
sistema.
https://gamma.app
Finalizando
Pratique
O diagrama de sequência é 
uma técnica importante para 
modelar sistemas. Pratique a 
criação de diagramas para 
aprimorar suas habilidades.
Pense em cenários
Para criar um diagrama de 
sequência preciso, pense 
em cenários reais de uso do 
sistema. Isso permitirá que 
você crie diagramas eficazes 
que reflitam as 
necessidades do seu 
sistema.
Atualize seus 
diagramas
Os sistemas estão sempre 
evoluindo. Atualize seus 
diagramas regularmente 
para garantir que eles 
reflitam as alterações na 
arquitetura do sistema.
https://gamma.app
Entendendo o Diagrama de 
Casos de Uso UML
O Diagrama de Casos de Uso UML é uma ferramenta muito útil para modelagem de sistemas. Ele 
permite visualizar a interação entre usuários e o sistema e é uma ótima maneira de definir os requisitos 
do software.
https://gamma.app
Atores, Casos de Uso e suas 
Relações
Atores
No diagrama de casos de uso, 
um ator é uma pessoa, objeto 
ou sistema externo ao software 
que interage com o sistema. 
Os atores se comunicam com 
os casos de uso, iniciando ou 
recebendo as ações do 
sistema.
Casos de Uso
Os casos de uso representam 
as funcionalidades do sistema. 
Eles são descritos em termos 
de ações que o sistema 
executa e resultados que ele 
oferece ao usuário. Cada caso 
de uso deve ter um objetivo 
claro e definido.
Relações
A relação entre atores e casos 
de uso é representada por uma 
linha sólida. Casos de uso 
também podem se relacionar 
entre si por meio de linhas 
pontilhadas. As relações 
definem como um ator ou caso 
de uso é envolvido em outro.
https://gamma.app
Representação gráfica dos 
elementos e sua semântica
Exemplo de diagrama de casos de uso com notações:
https://gamma.app
Exemplos de utilização do 
diagrama de casos de uso
E-commerce
O diagrama de casos de uso pode ser usado no 
desenvolvimento de sistemas para comércio 
eletrônico. Ele ajuda a identificar as 
funcionalidades que devem ser implementadas, 
como login, cadastro de usuário e carrinho de 
compras.
Jogos
No desenvolvimento de jogos, o diagrama de 
casos de uso é utilizado para definir os requisitos 
do jogo, como lutas, níveis e conquistas. Ele ajuda 
a obter uma visão geral do jogo e a planejar o seu 
desenvolvimento.
https://gamma.app
Benefícios do uso do Diagrama de 
Casos de Uso
1 Comunicação 
eficaz
O diagrama de casos de 
uso é uma maneira de 
descrever as 
funcionalidades do 
sistema de maneira clara 
e concisa. Ele permite 
que os desenvolvedores 
e stakeholders discutam 
ideias e cheguem a um 
consenso.
2 Identificação de 
erros precoces
Com o uso do diagrama 
de casos de uso, é 
possível identificar erros 
ou problemas antes 
mesmo que o 
desenvolvimento comece. 
Isso economiza tempo e 
recursos e evita 
retrabalho.
3 Documentação 
do sistema
Os diagramas de casos 
de uso podem ser usados 
como documentação para 
o sistema. Eles ajudam a 
entender facilmente as 
funcionalidades e a 
estrutura do software e 
são úteis para futuras 
manutenções.
https://gamma.app
Situações onde o Diagrama de 
Casos de Uso é indispensável
Desenvolvimento de software O diagrama de casos de uso ajuda a identificar 
as funcionalidades que o software deve 
implementar. Além disso, ele é útil para definir 
as relações entre os atores e casos de uso.
Documentação de sistemas Os diagramas de casos de uso podem ser 
usados para documentar o sistema e ajudar a 
entender suas funcionalidades. Eles são úteis 
para futuras manutenções e para entender a 
estrutura do software.
Reuniões de negócios O diagrama de casos de uso é uma ferramenta 
útil durante reuniões de negócios, pois permite 
que as partes interessadas discutam as 
funcionalidades do sistema e cheguem a um 
consenso.https://gamma.app
Conclusão
O diagrama de casos de uso UML é uma ferramenta altamente eficaz para análise e modelagem de 
sistemas. Ele ajuda as partes interessadas a entender os requisitos do sistema e permite que os 
desenvolvedores implementem as funcionalidades de maneira eficiente. O diagrama pode ser usado não 
apenas no desenvolvimento de software, mas também na documentação do sistema e em reuniões de 
negócios.
https://gamma.app
Conclusão e aplicações do 
UML
O UML (Unified Modeling Language) é uma linguagem de modelagem visual que permite representar 
sistemas diversos e fazer uma documentação desta representação. Nesta seção, você encontrará uma 
análise das aplicações, benefícios e limitações do UML, além de exemplos de sua utilização.
https://gamma.app
O que é UML?
O UML é uma linguagem que permite descrever sistemas de software de maneira padronizada e visual, 
utilizando diagramas. Essa padronização facilita a comunicação e compreensão entre as equipes 
envolvidas no desenvolvimento do software.
https://gamma.app
Aplicações do UML
Análise e Design
UML é amplamente utilizado na 
fase de análise e design do 
software. Os diagramas de 
UML são muito úteis para 
entender as necessidades dos 
usuários e especificar os 
requisitos do software.
Documentação
UML é uma metodologia 
poderosa para documentação 
de software. Através de seus 
diversos diagramas, ela 
captura informações 
essenciais sobre o software, 
permitindo que as equipes de 
desenvolvimento e outros 
interessados compreendam 
melhor seu funcionamento e 
manutenção.
Comunicação
UML é uma ótima ferramenta 
para comunicação entre 
equipes técnicas e não 
técnicas. Quando todos falam 
a mesma “linguagem” de 
modelagem, é mais fácil 
explicar, compreender e 
trabalhar em conjunto.
https://gamma.app
Benefícios da utilização do UML
Comunicação
Permite a comunicação clara, precisa e 
consistente entre equipes técnicas e não 
técnicas.
Padronização
Padroniza essa comunicação, tornando-a mais 
eficiente.
Documentação
Facilita a documentação e possibilita a 
reutilização de padrões já existentes.
Identificação de problemas
Facilita a detecção mais fácil de problemas 
antes de começar a codificação do software.
https://gamma.app
Limitações do UML
Por ser uma linguagem visual, sua interpretação pode gerar diferentes entendimentos, isso pode 
causar problemas se não houver um consenso entre a equipe. Além disso, não é capaz de lidar com 
a complexidade de sistemas de softwares maiores.
https://gamma.app
Considerações finais
Embora o UML tenha algumas limitações, é uma ferramenta poderosa que pode ajudar muito as equipes 
de desenvolvimento na análise, design e documentações de sistemas de software. A padronização, 
comunicação clara e documentação facilitada são excelentes benefícios do uso do UML.
https://gamma.app
Exemplos de aplicação do UML
Diagrama UML Descrição
Diagramas de caso de uso podem representar 
as interações entre usuários e sistemas e tornar 
mais fácil a compreensão das atividades do 
sistema.
Diagramas de classes mostram a estrutura do 
sistema, incluindo as classes e os 
relacionamentos entre elas. São muito úteis 
para a fase de design do software.
Diagramas de sequência apresentam a 
interação entre os objetos do sistema ao longo 
do tempo. Permitem detectar possíveis 
problemas de lógica de fluxo do software.
https://gamma.app
Referências bibliográficas
Schwaber, K. (2017). Guia para o Scrum Body of Knowledge (SBOK). Van Haren Publishing.
Sharp, A., McDermott, P., & Pree, W. (2001). UML: Guia do Usuário. Campus-Elsevier.
Larman, C. (2015). Use Case Driven Object Modeling with UML: Theory and Practice. Pearson 
Education.
https://gamma.app

Continue navegando