Escolar Documentos
Profissional Documentos
Cultura Documentos
Modelagem Esttica
(Viso Lgica)
fabio@mz-empresarial.com.br
Casos de Uso
Modelagem do Comportamento do
Sistema
fabio@mz-empresarial.com.br
Casos de Uso
fabio@mz-empresarial.com.br
Casos de Uso
fabio@mz-empresarial.com.br
fabio@mz-empresarial.com.br
Atores
Pessoas.
Outros sistemas.
Equipamentos ligados ao sistema.
fabio@mz-empresarial.com.br
Esteretipos
Objetivo:
fabio@mz-empresarial.com.br
Cliente
<<uses>>
Consulta
Cadastral
Adquir
Suprimentos
fabio@mz-empresarial.com.br
Fornecedor
Servir
jantar
Cliente
<<extends>>
Servir
entrada
<<extends>>
Servir
sobremesa
fabio@mz-empresarial.com.br
<<extends>>
Jantar
luz de velas
Uses X Extends
Uses:
Uso obrigatrio, toda vez que o caso de uso A for executado,
obrigatoriamente o B tambm dever ser executado.
Extends:
fabio@mz-empresarial.com.br
Conceitos Avanados
Generalizaes
fabio@mz-empresarial.com.br
Conceitos Avanados
Generalizao de Casos de Uso
Vender
Carro de Passeio
Vender
Carro
Vendedor
Vender
Utilitrio
fabio@mz-empresarial.com.br
Conceitos Avanados
Generalizao de Casos de Uso
Vender
Equipamento
Vendedor
O Gerente tambm pode efetuar vendas
Autorizar
Crdito
Gerente
fabio@mz-empresarial.com.br
Tempo mximo de
resposta = 1 s
Classes e Objetos
Modelagem da estrutura dos sistemas
fabio@mz-empresarial.com.br
Conceitos Bsicos de OO
Classe
Grupo de objetos
Propriedades semelhantes.
Mesmo comportamento.
fabio@mz-empresarial.com.br
Classe
Atributos
Nome da classe.
Atributos.
Mtodos.
Mtodos
fabio@mz-empresarial.com.br
Objetos
Monitor Samsung,
22, Touch of Color
fabio@mz-empresarial.com.br
Descobrindo Classes
fabio@mz-empresarial.com.br
Domnio
Domnio da Arquitetura
Domnio da Aplicao
Interface
Domnio do Negcio
BD
Relacionamentos
Comunicao
Domnio Bsico
Papis
Semntico
Atributos
Estrutural
Fundamental
fabio@mz-empresarial.com.br
Atributos
fabio@mz-empresarial.com.br
Atributos - Exemplo
Exemplo: Instncia da Classe Veculo Carro
Placa
Chassi
Potncia
fabio@mz-empresarial.com.br
Representao de Atributos
Em UML, os nomes dos atributos so
apresentados no retngulo central do
diagrama de classes:
Atributos
fabio@mz-empresarial.com.br
Visibilidade
fabio@mz-empresarial.com.br
Associaes
Quando um objeto possui outro objeto
como atributo, dizemos que existe uma
associao entre as classes dos objetos
envolvidos.
fabio@mz-empresarial.com.br
Componentes e Associaes
fabio@mz-empresarial.com.br
Associaes - Exemplo
Emprego
Empresa
empregador
1..*
empregado
Emprego
salrio
fabio@mz-empresarial.com.br
Pessoa
Cardinalidade
Significado
1, 0..*
1..*
0..1
5..8
4..7, 9
fabio@mz-empresarial.com.br
Cardinalidade
Diviso
1..*
Alocao
alocador
*
alocado
Funcionrio
chefe
1
Alocao
data
fabio@mz-empresarial.com.br
subordinado *
Identificando a Cardinalidade
Para cada classe em uma associao:
A associao opcional?
Limite mnimo de zero.
A associao obrigatria?
Limite mnimo de um.
fabio@mz-empresarial.com.br
Agregao
fabio@mz-empresarial.com.br
Representao
Uma agregao representada como uma
associao com um diamante
indicando a classe que contm.
fabio@mz-empresarial.com.br
Autorelacionamento
Um auto-relacionamento ocorre quando uma
classe possui um objeto da mesma classe como
atributo, ou seja, quando uma classe possui
uma associao ou agregao consigo mesma.
Funcionrio
chefe
1
subordinado
fabio@mz-empresarial.com.br
Autorelacionamento de Agregao
Exemplo:
Um circuito eletrnico composto de diversos
circuitos eletrnicos mais simples.
Circuito Integrado
1
*
fabio@mz-empresarial.com.br
Composio
Em uma composio as partes s fazem
sentido quando em conjunto.
Algoritmo para deteco de composies:
Se eu excluir o objeto A, terei que excluir tambm o B?
Caso a resposta seja sim, ento provavelmente uma composio.
Ex.: Um pedido e compras s faz sentido com os itens de pedido.
Caso a resposta seja no:
O objeto B tem alguma utilidade sozinho?
Caso a resposta seja sim ento uma associao comum, caso contrrio provavelmente
uma agregao.
Ex.: Um carro e suas rodas e um carro e seu volante.
fabio@mz-empresarial.com.br
Composio
Agregao (por referncia)
TODO
PARTE
PARTE
fabio@mz-empresarial.com.br
Mtodos
Visibilidade:
Classificao de mtodos:
Algoritmicamente simples.
Algoritmicamente complexos.
fabio@mz-empresarial.com.br
Mtodos - Exemplo
Exemplo: Classe Carro
Trocar Marcha
Acelerar
Abastecer
fabio@mz-empresarial.com.br
fabio@mz-empresarial.com.br
Herana
Em UML, a herana
representada como uma
seta vazada:
A seta aponta a superclasse.
A herana no pode ter nome,
papel de classe, navegao ou
cardinalidade.
fabio@mz-empresarial.com.br
Exemplo
fabio@mz-empresarial.com.br
Pacotes
fabio@mz-empresarial.com.br
fabio@mz-empresarial.com.br
Modelagem Dinmica
(Viso de Processo)
fabio@mz-empresarial.com.br
Diagrama de Sequncia
Protocolos de Interao
fabio@mz-empresarial.com.br
Fluxos e Subfluxos
Fluxo principal do caso de uso.
Subfluxos do fluxo
principal.
fabio@mz-empresarial.com.br
Cenrio
Um cenrio um caminho da raiz at uma
folha da rvore de ramificaes de um
caso de uso.
fabio@mz-empresarial.com.br
Diagramas de Sequncia
Determinam os objetos responsveis pela
realizao de um cenrio e as mensagens
que so trocadas entre eles.
O diagrama apresenta a ordem com que as
mensagens so trocadas no tempo.
fabio@mz-empresarial.com.br
Objetos
Um diagrama de sequncias contm diversos objetos:
Os objetos so alinhados no topo do diagrama.
Suas linhas de vida descem em direo base do diagrama.
fabio@mz-empresarial.com.br
Mensagens
Representao:
Mensagens so representadas como setas
entre dois objetos.
As setas devem conter nomes de mtodos
do objeto destino.
fabio@mz-empresarial.com.br
Foco de Controle
Retngulos na linha de vida de um
objeto:
Representam o tempo em que um
objeto est ativo na troca de
mensagens.
Focos de controle so opcionais nos
diagramas de sequncia.
fabio@mz-empresarial.com.br
Complementos
Condio de mensagens:
fabio@mz-empresarial.com.br
Complementos
Repetio de Mensagems:
fabio@mz-empresarial.com.br
Automensagem
Ocorre quando um objeto chama um mtodo seu
para realizar parte do cenrio:
Objeto 1
Automensagens so
representadas por setas saindo
e retornando para o prprio
objeto.
fabio@mz-empresarial.com.br
Automensagem
Encerramento
Um X representa o fim da execuo
e da vida do objeto:
X
fabio@mz-empresarial.com.br
Diagramas de Colaborao
Alternativa ao diagrama de sequncia.
No apresenta a linha de tempo dos objetos.
Objetos representados por retngulos.
Mensagens representadas como setas entre os retngulos.
Mensagens podem ser numeradas (sequncia de tempo).
fabio@mz-empresarial.com.br
Exemplo
fabio@mz-empresarial.com.br
ESTADOS
Modelagem Dinmica de Classes
fabio@mz-empresarial.com.br
Diagramas de Estado
Componentes:
Estado
Transio
Estado Inicial
Estado Final
fabio@mz-empresarial.com.br
Estado
Estados
Representao UML
Estado: representado por um retngulo de bordas
arredondadas.
Transio: representada por uma seta entre os
estados.
fabio@mz-empresarial.com.br
Estados Especiais
Um diagrama de estados tem no mnimo dois
estados:
Estado Inicial: um objeto recm criado no sistema se
encontra neste estado.
Estado Final: estado final na cadeia de troca de
estados do objeto. O objeto no poder trocar de
estado aps atingir seu estado final.
Em um diagrama de estados podem existir diversos
estados finais.
fabio@mz-empresarial.com.br
Transies
fabio@mz-empresarial.com.br
Todos so opcionais.
Diagrama de Estados
fabio@mz-empresarial.com.br
Modelagem Fsica
(Viso Fsica)
fabio@mz-empresarial.com.br
Diagrama de Componentes
fabio@mz-empresarial.com.br
Diagrama de Componentes
fabio@mz-empresarial.com.br
Diagrama de Componentes
Notao
UML 1.4
PedirServico
UML 2.0
<<componente>>
PedirServico
PedirServico
fabio@mz-empresarial.com.br
Diagrama de Componentes
Interfaces
UML 1.4
ReceberPedidos
ControlarExecucao
PedirServico
UML 2.0
ReceberPedidos
PedirServico
PedirServico
fabio@mz-empresarial.com.br
ControlarExecucao
<<Interface>>
ReceberPedido
+Avaliar()
+Cotar()
Diagrama de Componentes
Dependncias
ControlarExecucao
PedirServico
RH
fabio@mz-empresarial.com.br
Diagrama de Componentes
Delineamento
1..*
<<implementa>>
<<arquivo>>
ControlePedido.JAR
<<realiza>>
1..*
Servico
PedirServico
<<realiza>>
<<realiza>>
1..*
1..*
Operario
fabio@mz-empresarial.com.br
Diagrama de Componentes
PedirServico
Delineamento
1
1..*
<<arquivo>>
ControlePedido.JAR
Servico
<<implementa>>
1..*
1
Operario
fabio@mz-empresarial.com.br
ReceberPedidos
Diagrama de Distribuio
fabio@mz-empresarial.com.br
Diagrama de Distribuio
Captura
fabio@mz-empresarial.com.br
Diagrama de Distribuio
fabio@mz-empresarial.com.br
Diagrama de Distribuio
fabio@mz-empresarial.com.br
Diagrama de Distribuio
fabio@mz-empresarial.com.br