SlideShare uma empresa Scribd logo
1 de 65
Uma Visão Geral de UML
1
DCC – IME/USP Programação Orientada a Objetos
Prof. Fabio Kon
IME/USP
Apresentação baseada em slides de Kendall V. Scott
Linguagem de Modelagem
Unificada
2
DCC – IME/USP Programação Orientada a Objetos
UML é uma linguagem padrão da OMG para
• visualização,
• especificação,
• construção e
• documentação
de software orientado a objetos.
Visualização
3
DCC – IME/USP Programação Orientada a Objetos
• A existência de um modelo visual facilita a
comunicação e faz com que os membros de
um grupo tenham a mesma idéia do sistema.
• Cada símbolo gráfico tem uma semântica
bem definida.
Especificação
4
DCC – IME/USP Programação Orientada a Objetos
É uma ferramenta poderosa para a
especificação de diferentes aspectos
arquiteturais e de uso de um sistema.
Construção
5
DCC – IME/USP Programação Orientada a Objetos
• Geração automática de código a partir do
modelo visual
• Geração do modelo visual a partir do código
• Ambientes de desenvolvimento de software
atuais permitem:
– movimentações em ambos sentidos e
– manutenção da consistência entre as duas visões.
Documentação
6
DCC – IME/USP Programação Orientada a Objetos
Pode incluir artefatos como:
• Deliverables (documentos como
especificação de requisitos, especificações
funcionais, planos de teste, etc.).
• Materiais que são importantes para
controlar, medir, e refletir sobre um sistema
durante o seu desenvolvimento e
implantação.
Descrição Arquitetônica
7
DCC – IME/USP Programação Orientada a Objetos
UML oferece uma forma padrão de se
desenhar as “plantas” (como em arquitetura)
de um sistema de forma a incluir
• aspectos abstratos (processos de negócio,
funcionalidades do sistema)
• aspectos concretos (classes C++/Java
esquemas de bancos de dados, componentes
de software reutilizáveis)
Razões para Modelar
8
DCC – IME/USP Programação Orientada a Objetos
• Comunicar a estrutura e o comportamento
desejado de um sistema.
• Visualizar e controlar a arquitetura de um
sistema.
• Para melhorar o nosso entendimento de um
sistema e, assim, expor oportunidades para
melhorias e reutilização.
• Para administrar os riscos e trade-offs.
Diagramas Estruturais
9
DCC – IME/USP Programação Orientada a Objetos
Usados para visualizar, especificar, construir e
documentar aspectos estáticos de um
sistema
• diagrama de classes
• diagrama de pacotes
• diagrama de objetos
• diagrama de componentes
• diagrama de implantação
Usos Comuns para
Diagramas de Classes
10
DCC – IME/USP Programação Orientada a Objetos
• Modelar o vocabulário do sistema, em termos de
quais abstrações fazem parte do sistema e quais
caem fora de seus domínios.
• Modelar as colaborações/interações (sociedades
de elementos que trabalham em conjunto
oferencendo algum comportamento cooperativo).
• Modelagem lógica dos dados manipulados pelo
sistema (servindo de base para a definição formal
do modelo da base de dados).
Notação para Classes
11
DCC – IME/USP Programação Orientada a Objetos
Nome
Atributos
Operações
Notações Alternativas
Nome
Atributos
Operações
Responsabilidades
Nome
Atributos
Operações
Nome
itálico abstrata
12
DCC – IME/USP Programação Orientada a Objetos
Especificação do Acesso
13
DCC – IME/USP Programação Orientada a Objetos
Nome
+ atrib1
- atrib2
+ op1
- op2
# op3
+ public
- private
# protected
Relacionamentos
14
DCC – IME/USP Programação Orientada a Objetos
São conexões entre classes:
1. dependência
2. generalização
3. associação
Dependência
É uma relação do tipo “usa” na qual mudanças
na implementação de uma classe podem causar
efeitos em outra classe que a usa.
Exemplo: uma classe usa a outra.
Window
handleEvent()
Event
15
DCC – IME/USP Programação Orientada a Objetos
Generalização
É uma relação do tipo “é um” entre uma coisa
geral (superclasse) e uma coisa mais
específica (subclasse).
Shape
Rectangle
Circle
16
DCC – IME/USP Programação Orientada a Objetos
Associação
17
DCC – IME/USP Programação Orientada a Objetos
É uma relação estrutural na qual classes ou
objetos estão interconectados.
Uma associação entre objetos é chamada de
uma ligação (link).
Pessoa Empresa
Ornamentos para Associações
18
DCC – IME/USP Programação Orientada a Objetos
• nome
• papel
• multiplicidade
• agregação
• composição
Nome da Associação
descreve a natureza da relação:
pode indicar a direção:
Pessoa
trabalha p/
Empresa
Pessoa
trabalha p/
Empresa
19
DCC – IME/USP Programação Orientada a Objetos
Papéis
20
DCC – IME/USP Programação Orientada a Objetos
• Classes e objetos podem assumir papéis
diferentes em diferentes momentos.
Pessoa Empresa
empregado
empregador
Multiplicidade
21
DCC – IME/USP Programação Orientada a Objetos
• Valores possíveis: valor exato, intervalo, ou
* para “muitos”.
Pessoa Empresa
• Exemplo:
1..*
1
Agregação
É uma relação do tipo “todo/parte” ou “possui
um” na qual uma classe representa uma coisa
grande que é composta de coisas menores.
Departamento
Instituto
( diamante vazio )
22
DCC – IME/USP Programação Orientada a Objetos
Composição
É um tipo especial de agregação na qual as
partes são inseparáveis do todo.
Frame
Window
( diamante cheio )
23
DCC – IME/USP Programação Orientada a Objetos
Classes de Associação
Uma classe de associação possui as
propriedades de classes e de associações:
Empresa
Pessoa
Emprego
descrição
dataDeContratação
salário
24
DCC – IME/USP Programação Orientada a Objetos
Interfaces
É uma coleção de operações que possui um
nome. É usada para especificar um tipo de
serviço sem ditar a sua implementação.
Observer
25
DCC – IME/USP Programação Orientada a Objetos
«interface»
Observer
update()
Interfaces e Relacionamentos
Uma interface pode participar de
generalizações, associações e dependências.
Tracker
Periodic
Observer
26
DCC – IME/USP Programação Orientada a Objetos
Observer
Observation
DCC – IME/USP Programação Orientada a Objetos 27
Realização
É uma relação entre uma interface e a classe
que a implementa, i.e., que provê o serviço
definido pela interface.
interfaces.
Observer
Uma classe pode realizar (implementar) várias
TargetTracker
«interface»
Observer
update()
28
DCC – IME/USP Programação Orientada a Objetos
Ornamentos e Extensibilidade
29
DCC – IME/USP Programação Orientada a Objetos
Um ornamento é algo como uma nota que adiciona
texto ou algum elemento gráfico ao modelo.
UML oferece vários mecanismos que podem ser
utilizados para estender a linguagem “oficial”.
• estereótipos
• valores rotulados (tagged values)
• restrições
Notas
É um símbolo gráfico contendo texto ou
figuras oferecendo algum comentário ou
detalhes sobre um elemento de um modelo.
Check with Mike
on this.
See encrypt.ps
See http://www.
softdocwiz.com
30
DCC – IME/USP Programação Orientada a Objetos
Estereótipos
31
DCC – IME/USP Programação Orientada a Objetos
É uma extensão do vocabulário de UML que
permite a criação de um tipo básico novo que
é específico ao problema que está sendo
resolvido.
«interface»
Observer
update()
«control»
TargetTracker
Estereótipos Padrão em UML
32
DCC – IME/USP Programação Orientada a Objetos
cerca de 50, incluindo:
• become (indica uma dependência na qual
um objeto se torna outro)
• enumeration (especifica um tipo enumerado
incluindo seus possíveis valores)
• utility (uma classe na qual todos os valores e
atributos pertencem à classe (e não às suas
instâncias)
Valores Rotulados
33
DCC – IME/USP Programação Orientada a Objetos
Permite a especificação de propriedades de
elementos de um modelo:
GLAccount
{persistent}
TargetTracker
{release = 2.0}
Restrições
Especifica uma condição que deve ser
satisfeita pelo sistema.
Portfolio
Bank Account
Person
Corporation
{secure}
{or}
34
DCC – IME/USP Programação Orientada a Objetos
Pacotes
35
DCC – IME/USP Programação Orientada a Objetos
• Um mecanismo para organizar elementos de
um modelo (classes, diagramas, etc. ) em
grupos.
• Cada elemento de um modelo pertence a um
único pacote. O seu nome dentro do pacote
deve ser único.
Um Diagrama de Pacotes
•Arcabouço para construção de sistemas distribuídos
adaptativos (de Francisco Silva2).
36
DCC – IME/USP Programação Orientada a Objetos
Diagrama de Objetos
Mostra um conjunto de objetos e seus
relacionamentos em um certo instante em tempo
de execução.
ime: Instituto
p1: Pessoa
ID = “84724”
: Contato
ramal = “6000”
comp: Departmento
nome = “MAC”
p2: Pessoa
ID = “87684”
37
DCC – IME/USP Programação Orientada a Objetos
Componente
38
DCC – IME/USP Programação Orientada a Objetos
É uma parte de um sistema que pode ser
substituída e que oferece uma
implementação de um conjunto de
interfaces.
Exemplos práticos:
• Biblioteca de carga dinâmica (DLL)
• Componente CORBA
• Enterprise Java Bean (EJB)
Notação para Componentes
Escalonador ----------
signal.cpp
39
DCC – IME/USP Programação Orientada a Objetos
40
DCC – IME/USP Programação Orientada a Objetos
Nó
41
DCC – IME/USP Programação Orientada a Objetos
Representa um elemento físico capaz de
oferecer recursos computacionais.
Em geral, possui pelo menos memória e
processador.
Diagrama de Implantação
: Kiosk
deploys
user.exe
c: Console
deploys
config.exe
s: Server
deploys
dbadmin.exe
: RAID farm
«10-T Ethernet»
42
DCC – IME/USP Programação Orientada a Objetos
«RS-232»
Diagrama de Implantação
: Client
deploys
mozilla.exe
w: WebServer
deploys
apache
a: AppServer
deploys
JBoss
: RAID farm
«Fast Ethernet»
43
DCC – IME/USP Programação Orientada a Objetos
1
* « HTTP »
Diagramas Comportamentais
44
DCC – IME/USP Programação Orientada a Objetos
Usados para visualizar, especifcar, construir e
documentar aspectos dinâmicos de um
sistema
• diagrama de casos de uso
• diagrama de seqüência
• diagrama de colaboração
• diagrama de estados
• diagrama de atividades
Casos de Uso e Atores
45
DCC – IME/USP Programação Orientada a Objetos
• Um caso de uso é uma seqüência de ações,
incluindo variantes, que um sistema realiza
a fim de gerar um resultado observável de
interesse para um ator.
• Um ator é um papel (ou conjunto de papéis)
que um usuário desempenha quando
participa de um caso de uso.
Fluxos de Eventos
46
DCC – IME/USP Programação Orientada a Objetos
• O fluxo de eventos principal descreve o
caso em que tudo corre bem.
• Fluxos de eventos excepcionais cobrem as
variações que podem ocorrer quando
diferentes coisas dão errado ou quando algo
pouco comum acontece.
Um Diagrama de Caso de Uso
Compra
Material
Gera
Relatório de
Compra
Atualiza
Estoque
47
DCC – IME/USP Programação Orientada a Objetos
Organização de Casos de Uso
48
DCC – IME/USP Programação Orientada a Objetos
• pacotes
• generalização
• inclusão
• extensão
Pacotes de Casos de Uso
Pode ser útil para distribuir trabalho para sub-
grupos de trabalho.
Estoque
Cria
Novo
Estoque
Visualiza
Estoque
Agrega
Estoques
Gera
Relatório
Mensal
49
DCC – IME/USP Programação Orientada a Objetos
Generalização
•Análoga à generalização/especialização de
classes.
Autentica
Usuário
Verifica
Senha
Analisa
Impressão
Digital
50
DCC – IME/USP Programação Orientada a Objetos
Inclusão
•O estereótipo «include» indica que um caso
inclui o outro.
•Permite fatorar comportamento comum a
vários casos.
Autentica
Usuário
Encomenda
Livro
Rastreia
Encomenda
«include»
51
DCC – IME/USP Programação Orientada a Objetos
«include»
Extensão
Pode-se usar o estereótipo «extend» para
indicar que um caso estende o outro.
Útil para fatorar comportamento
incomum/não-padrão.
Encomenda
Livro
Encomenda
Urgentíssima
«extend»
52
DCC – IME/USP Programação Orientada a Objetos
53
DCC – IME/USP Programação Orientada a Objetos
Interações e Mensagens
54
DCC – IME/USP Programação Orientada a Objetos
•Uma interação é um comportamento composto da
troca de um conjunto de mensagens entre um grupo
de objetos a fim de atingir um determinado objetivo.
•Uma mensagem é uma comunicação entre objetos
que resulta na transmissão de informação com o
intuito de que alguma atividade será realizada.
Diagrama de Seqüência
55
DCC – IME/USP Programação Orientada a Objetos
•É um diagrama de interações que enfatiza a
ordem temporal das mensagens.
•Uma linha de vida é uma linha tracejada
vertical que representa o tempo de vida de um
objeto.
•Um foco de controle é um retângulo fino
vertical sobreposto à linha de vida que mostra o
período durante o qual um objeto está realizando
uma ação.
Diagrama de Seqüência
: Ticket Agent
c: Client
«create»
setItinerary(i)
calculateRoute()
route
56
DCC – IME/USP Programação Orientada a Objetos
57
DCC – IME/USP Programação Orientada a Objetos
Diagrama de Colaboração
58
DCC – IME/USP Programação Orientada a Objetos
•É um diagrama de interação que enfatiza a
organização dos objetos que participam da
interação.
•Um caminho é uma ligação entre objetos,
possivelmente com um estereótipo «local».
•Números de seqüência indicam a ordem
temporal das mensagens em um ou mais
níveis.
Diagrama de Colaboração
: Transaction
c: Client
p: ODBCProxy
1: «create»
2: setActions (a,d,o)
3: «destroy»
2.1: setValues(d,3,4)
2.2: setValues(a,“CO”)
«global»
59
DCC – IME/USP Programação Orientada a Objetos
60
DCC – IME/USP Programação Orientada a Objetos
Diagrama de Estados
61
DCC – IME/USP Programação Orientada a Objetos
• Diagrama de Estados
• Representa
– os possíveis estados que um sistema pode
assumir e
– as possíveis transições entre os estados
62
DCC – IME/USP Programação Orientada a Objetos
Diagrama de Atividades
63
DCC – IME/USP Programação Orientada a Objetos
• É um tipo específico de Diagrama de
Estados
• Útil para modelar fluxo de trabalho
(workflow)
• Representa as atividades que afetam o
estado do sistema e os fluxos que levam de
uma atividade a outra.
• É usado para modelar processos de negócio
e workflows
Exemplo de
Diagrama de Atividade
Dormir
Filho
se prepara
Levantar Tomar café
Escovar dente Vestir-se
Sair uninho: Carro
[despertador toca]
estômago: órgão
64
DCC – IME/USP Programação Orientada a Objetos
That’s All Folks!
65
DCC – IME/USP Programação Orientada a Objetos
• Por hoje é só pessoal!

Mais conteúdo relacionado

Semelhante a UMLIntro.pptx

Projeto de Sistemas - Aula005
Projeto de Sistemas - Aula005Projeto de Sistemas - Aula005
Projeto de Sistemas - Aula005Cláudio Amaral
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5oliveiraprog
 
Padrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgePadrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgeLorran Pegoretti
 
Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Jhonefj
 
06-engenharia de softwere Análise e Projeto de Software.docx
06-engenharia de softwere Análise e Projeto de Software.docx06-engenharia de softwere Análise e Projeto de Software.docx
06-engenharia de softwere Análise e Projeto de Software.docxJulioCesar371362
 
Apresentação em Projeto de Sistemas – Entity Framework
Apresentação em Projeto de Sistemas – Entity FrameworkApresentação em Projeto de Sistemas – Entity Framework
Apresentação em Projeto de Sistemas – Entity FrameworkMatteus Barbosa
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-conceptsjorge600
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetosGabriel Faustino
 
Programação Oritentada a Aspecto
Programação Oritentada a AspectoProgramação Oritentada a Aspecto
Programação Oritentada a AspectoBenicio Ávila
 

Semelhante a UMLIntro.pptx (20)

Projeto de Sistemas - Aula005
Projeto de Sistemas - Aula005Projeto de Sistemas - Aula005
Projeto de Sistemas - Aula005
 
Trabalho de análise e projeto 2
Trabalho de análise e projeto 2Trabalho de análise e projeto 2
Trabalho de análise e projeto 2
 
Apresentação versão 1.5
Apresentação   versão 1.5Apresentação   versão 1.5
Apresentação versão 1.5
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
 
Padrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e BridgePadrões de projeto - Adapter, Proxy, Composite e Bridge
Padrões de projeto - Adapter, Proxy, Composite e Bridge
 
Treinamento DDD .Net
Treinamento DDD .NetTreinamento DDD .Net
Treinamento DDD .Net
 
Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02
 
06-engenharia de softwere Análise e Projeto de Software.docx
06-engenharia de softwere Análise e Projeto de Software.docx06-engenharia de softwere Análise e Projeto de Software.docx
06-engenharia de softwere Análise e Projeto de Software.docx
 
Apresentação em Projeto de Sistemas – Entity Framework
Apresentação em Projeto de Sistemas – Entity FrameworkApresentação em Projeto de Sistemas – Entity Framework
Apresentação em Projeto de Sistemas – Entity Framework
 
A Linguagem UML
A Linguagem UMLA Linguagem UML
A Linguagem UML
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Diagrama classes
Diagrama classesDiagrama classes
Diagrama classes
 
Padrões de design orientado a objetos
Padrões de design orientado a objetosPadrões de design orientado a objetos
Padrões de design orientado a objetos
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
Metodologia orientado a objetos
Metodologia orientado a objetosMetodologia orientado a objetos
Metodologia orientado a objetos
 
Uml Para Web
Uml Para WebUml Para Web
Uml Para Web
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
Programação Oritentada a Aspecto
Programação Oritentada a AspectoProgramação Oritentada a Aspecto
Programação Oritentada a Aspecto
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
 

Último

CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdfAna Lemos
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdflucassilva721057
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfElianeElika
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 

Último (20)

CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdf
 
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdfGEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
GEOGRAFIA - ENSINO FUNDAMENTAL ANOS FINAIS.pdf
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 

UMLIntro.pptx

  • 1. Uma Visão Geral de UML 1 DCC – IME/USP Programação Orientada a Objetos Prof. Fabio Kon IME/USP Apresentação baseada em slides de Kendall V. Scott
  • 2. Linguagem de Modelagem Unificada 2 DCC – IME/USP Programação Orientada a Objetos UML é uma linguagem padrão da OMG para • visualização, • especificação, • construção e • documentação de software orientado a objetos.
  • 3. Visualização 3 DCC – IME/USP Programação Orientada a Objetos • A existência de um modelo visual facilita a comunicação e faz com que os membros de um grupo tenham a mesma idéia do sistema. • Cada símbolo gráfico tem uma semântica bem definida.
  • 4. Especificação 4 DCC – IME/USP Programação Orientada a Objetos É uma ferramenta poderosa para a especificação de diferentes aspectos arquiteturais e de uso de um sistema.
  • 5. Construção 5 DCC – IME/USP Programação Orientada a Objetos • Geração automática de código a partir do modelo visual • Geração do modelo visual a partir do código • Ambientes de desenvolvimento de software atuais permitem: – movimentações em ambos sentidos e – manutenção da consistência entre as duas visões.
  • 6. Documentação 6 DCC – IME/USP Programação Orientada a Objetos Pode incluir artefatos como: • Deliverables (documentos como especificação de requisitos, especificações funcionais, planos de teste, etc.). • Materiais que são importantes para controlar, medir, e refletir sobre um sistema durante o seu desenvolvimento e implantação.
  • 7. Descrição Arquitetônica 7 DCC – IME/USP Programação Orientada a Objetos UML oferece uma forma padrão de se desenhar as “plantas” (como em arquitetura) de um sistema de forma a incluir • aspectos abstratos (processos de negócio, funcionalidades do sistema) • aspectos concretos (classes C++/Java esquemas de bancos de dados, componentes de software reutilizáveis)
  • 8. Razões para Modelar 8 DCC – IME/USP Programação Orientada a Objetos • Comunicar a estrutura e o comportamento desejado de um sistema. • Visualizar e controlar a arquitetura de um sistema. • Para melhorar o nosso entendimento de um sistema e, assim, expor oportunidades para melhorias e reutilização. • Para administrar os riscos e trade-offs.
  • 9. Diagramas Estruturais 9 DCC – IME/USP Programação Orientada a Objetos Usados para visualizar, especificar, construir e documentar aspectos estáticos de um sistema • diagrama de classes • diagrama de pacotes • diagrama de objetos • diagrama de componentes • diagrama de implantação
  • 10. Usos Comuns para Diagramas de Classes 10 DCC – IME/USP Programação Orientada a Objetos • Modelar o vocabulário do sistema, em termos de quais abstrações fazem parte do sistema e quais caem fora de seus domínios. • Modelar as colaborações/interações (sociedades de elementos que trabalham em conjunto oferencendo algum comportamento cooperativo). • Modelagem lógica dos dados manipulados pelo sistema (servindo de base para a definição formal do modelo da base de dados).
  • 11. Notação para Classes 11 DCC – IME/USP Programação Orientada a Objetos Nome Atributos Operações
  • 13. Especificação do Acesso 13 DCC – IME/USP Programação Orientada a Objetos Nome + atrib1 - atrib2 + op1 - op2 # op3 + public - private # protected
  • 14. Relacionamentos 14 DCC – IME/USP Programação Orientada a Objetos São conexões entre classes: 1. dependência 2. generalização 3. associação
  • 15. Dependência É uma relação do tipo “usa” na qual mudanças na implementação de uma classe podem causar efeitos em outra classe que a usa. Exemplo: uma classe usa a outra. Window handleEvent() Event 15 DCC – IME/USP Programação Orientada a Objetos
  • 16. Generalização É uma relação do tipo “é um” entre uma coisa geral (superclasse) e uma coisa mais específica (subclasse). Shape Rectangle Circle 16 DCC – IME/USP Programação Orientada a Objetos
  • 17. Associação 17 DCC – IME/USP Programação Orientada a Objetos É uma relação estrutural na qual classes ou objetos estão interconectados. Uma associação entre objetos é chamada de uma ligação (link). Pessoa Empresa
  • 18. Ornamentos para Associações 18 DCC – IME/USP Programação Orientada a Objetos • nome • papel • multiplicidade • agregação • composição
  • 19. Nome da Associação descreve a natureza da relação: pode indicar a direção: Pessoa trabalha p/ Empresa Pessoa trabalha p/ Empresa 19 DCC – IME/USP Programação Orientada a Objetos
  • 20. Papéis 20 DCC – IME/USP Programação Orientada a Objetos • Classes e objetos podem assumir papéis diferentes em diferentes momentos. Pessoa Empresa empregado empregador
  • 21. Multiplicidade 21 DCC – IME/USP Programação Orientada a Objetos • Valores possíveis: valor exato, intervalo, ou * para “muitos”. Pessoa Empresa • Exemplo: 1..* 1
  • 22. Agregação É uma relação do tipo “todo/parte” ou “possui um” na qual uma classe representa uma coisa grande que é composta de coisas menores. Departamento Instituto ( diamante vazio ) 22 DCC – IME/USP Programação Orientada a Objetos
  • 23. Composição É um tipo especial de agregação na qual as partes são inseparáveis do todo. Frame Window ( diamante cheio ) 23 DCC – IME/USP Programação Orientada a Objetos
  • 24. Classes de Associação Uma classe de associação possui as propriedades de classes e de associações: Empresa Pessoa Emprego descrição dataDeContratação salário 24 DCC – IME/USP Programação Orientada a Objetos
  • 25. Interfaces É uma coleção de operações que possui um nome. É usada para especificar um tipo de serviço sem ditar a sua implementação. Observer 25 DCC – IME/USP Programação Orientada a Objetos «interface» Observer update()
  • 26. Interfaces e Relacionamentos Uma interface pode participar de generalizações, associações e dependências. Tracker Periodic Observer 26 DCC – IME/USP Programação Orientada a Objetos Observer Observation
  • 27. DCC – IME/USP Programação Orientada a Objetos 27 Realização É uma relação entre uma interface e a classe que a implementa, i.e., que provê o serviço definido pela interface. interfaces. Observer Uma classe pode realizar (implementar) várias TargetTracker «interface» Observer update()
  • 28. 28 DCC – IME/USP Programação Orientada a Objetos
  • 29. Ornamentos e Extensibilidade 29 DCC – IME/USP Programação Orientada a Objetos Um ornamento é algo como uma nota que adiciona texto ou algum elemento gráfico ao modelo. UML oferece vários mecanismos que podem ser utilizados para estender a linguagem “oficial”. • estereótipos • valores rotulados (tagged values) • restrições
  • 30. Notas É um símbolo gráfico contendo texto ou figuras oferecendo algum comentário ou detalhes sobre um elemento de um modelo. Check with Mike on this. See encrypt.ps See http://www. softdocwiz.com 30 DCC – IME/USP Programação Orientada a Objetos
  • 31. Estereótipos 31 DCC – IME/USP Programação Orientada a Objetos É uma extensão do vocabulário de UML que permite a criação de um tipo básico novo que é específico ao problema que está sendo resolvido. «interface» Observer update() «control» TargetTracker
  • 32. Estereótipos Padrão em UML 32 DCC – IME/USP Programação Orientada a Objetos cerca de 50, incluindo: • become (indica uma dependência na qual um objeto se torna outro) • enumeration (especifica um tipo enumerado incluindo seus possíveis valores) • utility (uma classe na qual todos os valores e atributos pertencem à classe (e não às suas instâncias)
  • 33. Valores Rotulados 33 DCC – IME/USP Programação Orientada a Objetos Permite a especificação de propriedades de elementos de um modelo: GLAccount {persistent} TargetTracker {release = 2.0}
  • 34. Restrições Especifica uma condição que deve ser satisfeita pelo sistema. Portfolio Bank Account Person Corporation {secure} {or} 34 DCC – IME/USP Programação Orientada a Objetos
  • 35. Pacotes 35 DCC – IME/USP Programação Orientada a Objetos • Um mecanismo para organizar elementos de um modelo (classes, diagramas, etc. ) em grupos. • Cada elemento de um modelo pertence a um único pacote. O seu nome dentro do pacote deve ser único.
  • 36. Um Diagrama de Pacotes •Arcabouço para construção de sistemas distribuídos adaptativos (de Francisco Silva2). 36 DCC – IME/USP Programação Orientada a Objetos
  • 37. Diagrama de Objetos Mostra um conjunto de objetos e seus relacionamentos em um certo instante em tempo de execução. ime: Instituto p1: Pessoa ID = “84724” : Contato ramal = “6000” comp: Departmento nome = “MAC” p2: Pessoa ID = “87684” 37 DCC – IME/USP Programação Orientada a Objetos
  • 38. Componente 38 DCC – IME/USP Programação Orientada a Objetos É uma parte de um sistema que pode ser substituída e que oferece uma implementação de um conjunto de interfaces. Exemplos práticos: • Biblioteca de carga dinâmica (DLL) • Componente CORBA • Enterprise Java Bean (EJB)
  • 39. Notação para Componentes Escalonador ---------- signal.cpp 39 DCC – IME/USP Programação Orientada a Objetos
  • 40. 40 DCC – IME/USP Programação Orientada a Objetos
  • 41. Nó 41 DCC – IME/USP Programação Orientada a Objetos Representa um elemento físico capaz de oferecer recursos computacionais. Em geral, possui pelo menos memória e processador.
  • 42. Diagrama de Implantação : Kiosk deploys user.exe c: Console deploys config.exe s: Server deploys dbadmin.exe : RAID farm «10-T Ethernet» 42 DCC – IME/USP Programação Orientada a Objetos «RS-232»
  • 43. Diagrama de Implantação : Client deploys mozilla.exe w: WebServer deploys apache a: AppServer deploys JBoss : RAID farm «Fast Ethernet» 43 DCC – IME/USP Programação Orientada a Objetos 1 * « HTTP »
  • 44. Diagramas Comportamentais 44 DCC – IME/USP Programação Orientada a Objetos Usados para visualizar, especifcar, construir e documentar aspectos dinâmicos de um sistema • diagrama de casos de uso • diagrama de seqüência • diagrama de colaboração • diagrama de estados • diagrama de atividades
  • 45. Casos de Uso e Atores 45 DCC – IME/USP Programação Orientada a Objetos • Um caso de uso é uma seqüência de ações, incluindo variantes, que um sistema realiza a fim de gerar um resultado observável de interesse para um ator. • Um ator é um papel (ou conjunto de papéis) que um usuário desempenha quando participa de um caso de uso.
  • 46. Fluxos de Eventos 46 DCC – IME/USP Programação Orientada a Objetos • O fluxo de eventos principal descreve o caso em que tudo corre bem. • Fluxos de eventos excepcionais cobrem as variações que podem ocorrer quando diferentes coisas dão errado ou quando algo pouco comum acontece.
  • 47. Um Diagrama de Caso de Uso Compra Material Gera Relatório de Compra Atualiza Estoque 47 DCC – IME/USP Programação Orientada a Objetos
  • 48. Organização de Casos de Uso 48 DCC – IME/USP Programação Orientada a Objetos • pacotes • generalização • inclusão • extensão
  • 49. Pacotes de Casos de Uso Pode ser útil para distribuir trabalho para sub- grupos de trabalho. Estoque Cria Novo Estoque Visualiza Estoque Agrega Estoques Gera Relatório Mensal 49 DCC – IME/USP Programação Orientada a Objetos
  • 50. Generalização •Análoga à generalização/especialização de classes. Autentica Usuário Verifica Senha Analisa Impressão Digital 50 DCC – IME/USP Programação Orientada a Objetos
  • 51. Inclusão •O estereótipo «include» indica que um caso inclui o outro. •Permite fatorar comportamento comum a vários casos. Autentica Usuário Encomenda Livro Rastreia Encomenda «include» 51 DCC – IME/USP Programação Orientada a Objetos «include»
  • 52. Extensão Pode-se usar o estereótipo «extend» para indicar que um caso estende o outro. Útil para fatorar comportamento incomum/não-padrão. Encomenda Livro Encomenda Urgentíssima «extend» 52 DCC – IME/USP Programação Orientada a Objetos
  • 53. 53 DCC – IME/USP Programação Orientada a Objetos
  • 54. Interações e Mensagens 54 DCC – IME/USP Programação Orientada a Objetos •Uma interação é um comportamento composto da troca de um conjunto de mensagens entre um grupo de objetos a fim de atingir um determinado objetivo. •Uma mensagem é uma comunicação entre objetos que resulta na transmissão de informação com o intuito de que alguma atividade será realizada.
  • 55. Diagrama de Seqüência 55 DCC – IME/USP Programação Orientada a Objetos •É um diagrama de interações que enfatiza a ordem temporal das mensagens. •Uma linha de vida é uma linha tracejada vertical que representa o tempo de vida de um objeto. •Um foco de controle é um retângulo fino vertical sobreposto à linha de vida que mostra o período durante o qual um objeto está realizando uma ação.
  • 56. Diagrama de Seqüência : Ticket Agent c: Client «create» setItinerary(i) calculateRoute() route 56 DCC – IME/USP Programação Orientada a Objetos
  • 57. 57 DCC – IME/USP Programação Orientada a Objetos
  • 58. Diagrama de Colaboração 58 DCC – IME/USP Programação Orientada a Objetos •É um diagrama de interação que enfatiza a organização dos objetos que participam da interação. •Um caminho é uma ligação entre objetos, possivelmente com um estereótipo «local». •Números de seqüência indicam a ordem temporal das mensagens em um ou mais níveis.
  • 59. Diagrama de Colaboração : Transaction c: Client p: ODBCProxy 1: «create» 2: setActions (a,d,o) 3: «destroy» 2.1: setValues(d,3,4) 2.2: setValues(a,“CO”) «global» 59 DCC – IME/USP Programação Orientada a Objetos
  • 60. 60 DCC – IME/USP Programação Orientada a Objetos
  • 61. Diagrama de Estados 61 DCC – IME/USP Programação Orientada a Objetos • Diagrama de Estados • Representa – os possíveis estados que um sistema pode assumir e – as possíveis transições entre os estados
  • 62. 62 DCC – IME/USP Programação Orientada a Objetos
  • 63. Diagrama de Atividades 63 DCC – IME/USP Programação Orientada a Objetos • É um tipo específico de Diagrama de Estados • Útil para modelar fluxo de trabalho (workflow) • Representa as atividades que afetam o estado do sistema e os fluxos que levam de uma atividade a outra. • É usado para modelar processos de negócio e workflows
  • 64. Exemplo de Diagrama de Atividade Dormir Filho se prepara Levantar Tomar café Escovar dente Vestir-se Sair uninho: Carro [despertador toca] estômago: órgão 64 DCC – IME/USP Programação Orientada a Objetos
  • 65. That’s All Folks! 65 DCC – IME/USP Programação Orientada a Objetos • Por hoje é só pessoal!