Vous êtes sur la page 1sur 14

17/6/2010

Boch, Jacobson, Rumbaugh; UML


Guia do Usurio; Editora: Elsevier;
Ano: 2006
Martin Fowler; UML Essencial; Editora:
Bookman; Ano: 2004

Fernando Pedrosa fpedrosa@gmail.com

Fernando Pedrosa Lopes

Linguagem de Modelagem Unificada


Linguagem

Linguagem grfica para especificar,


visualizar, construir e documentar os
artefatos de software
Vantagens

Modelagem

Usa notao grfica: mais clara que a


linguagem natural (imprecisa) e cdigo
(muito detalhado)
Ajuda a obter uma viso geral do sistema
No dependente de tecnologia
Diminui a fragmentao, aumenta a
padronizao

Descrever um sistema em um alto nvel de


abstrao

Unificada
UML se tornou o padro mundial para
modelagem de sistemas www.omg.org
Fernando Pedrosa Lopes

Usada para expressar e comunicar idias


No uma metodologia!

Fernando Pedrosa Lopes

Fernando Pedrosa Lopes

Ano Verso
Industrializao

Padronizao

Unificao

2009:

UML 2.2

2003:

UML 2.0

2001:

UML 1.4

1999:

UML 1.3

1997:

UML 1.0, 1.1

1996:

UML 0.9 & 0.91

1995:

Unified Method 0.8


OOSE (Jacobson)

Fragmentao

Outros
mtodos

Booch (OOAD)

OMT (Rumbaugh)

Fernando Pedrosa Lopes

17/6/2010

Diagramas estruturais

Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de

Mostram a estrutura esttica do sistema e


suas partes em diferentes nveis de
abstrao e como elas se relacionam
No utilizam conceitos relacionados ao
tempo

Diagramas comportamentais
Mostram a natureza dinmica dos objetos
do sistema, que pode ser descrita como
uma srie de mudanas no sistema com o
passar do tempo
Fernando Pedrosa Lopes

Classes
Objetos
Componentes
Pacotes
Implantao
Estrutura Composta
Perfis (UML 2.2)

Descreve os tipos de objetos


presentes no sistema e os vrios
relacionamentos estticos entre eles
Inclui

Fernando Pedrosa Lopes

Nome da Classe
Atributos

Propriedades (atributos)
Operaes (mtodos)
Relacionamentos e restries

Operaes

Fernando Pedrosa Lopes

Fernando Pedrosa Lopes

10

Nome da classe
Visibilidade
Nome

Nome do atributo

Nome + Atributos

Multiplicidade

Valor default

Restrio
Nome + Atributos + Operaes

Atributo
esttico
Nome da operao

Fernando Pedrosa Lopes

11

Tipo de retorno

Tipo de dado

Fernando Pedrosa Lopes

12

17/6/2010

Notao completa:

Visibilidade nome: tipo [multiplicidade] = valor_default {lista de restries}

Escopo de instncia: cada objeto tem o


seu prprio valor para o atributo. o
escopo default da UML.
Escopo de classe (esttico): o valor do
atributo comum a todos os objetos
daquela classe. Para denotar este escopo
o atributo deve ser sublinhado.

Nome: corresponde ao nome do atributo


Tipo: domnio do atributo
Multiplicidade: indicao de quantos objetos podem
preencher a propriedade [min..max]
Valor Default: valor do atributo, caso ele seja omitido no
momento da criao
Restrio: permite indicar propriedades adicionais.
{readOnly}, {ordered}, {unique}, etc.

Fernando Pedrosa Lopes

13

Notao completa:

Fernando Pedrosa Lopes

15

Protegido (#)
O elemento visvel apenas pelas subclasses da
classe

Pacote (~)

16

O elemento visvel por qualquer outra classe

Privado (-)

Fernando Pedrosa Lopes

Relacionamentos ligam classes entre


si, criando relaes lgicas
Podem ser de:

Pblico (+)

14

Operaes abstratas, ou seja, que no


tm uma implementao especfica,
devem ser escritas em itlico
Operaes estticas devem ser
escritas com fonte sublinhada

Nome: corresponde ao nome da operao


Lista de parmetros: so os parmetros da operao.
Tipo de retorno: o tipo de dado retornado pela operao
Restrio: permite indicar propriedades adicionais.
ex: {query}.

Fernando Pedrosa Lopes

Visibilidade nome (lista de parmetros): tipo-de-retorno {lista restries}

As propriedades (atributos) podem ter


dois tipos de escopo

Associao
Simples
Agregao
Composio

O elemento visvel apenas pela prpria classe

Generalizao
Dependncia
Realizao

O elemento visvel apenas dentro do pacote


onde a classe est localizada

Fernando Pedrosa Lopes

17

Fernando Pedrosa Lopes

18

17/6/2010

Indica que objetos de um elemento esto


ligados a objetos de outro elemento
A navegabilidade pode ser unidirecional ou
bidirecional
Nome da Associao

Um qualificador de associao um
atributo do elemento-alvo capaz de
identificar uma instncia dentre as demais
Associao simples

Associao

Associao qualificada

Classe

Cardinalidade

Navegabilidade
Fernando Pedrosa Lopes

19

Uma associao pode mostrar as mesmas


informaes que um atributo

Relacionamentos todo-parte
Agregao: a parte existe sem o todo
Composio: o todo controla o ciclo de vida
da parte, e ela no pode ser compartilhada
em outros relacionamentos
Agregao

Composio

Fernando Pedrosa Lopes

21

Indica que mudana em um elemento


pode causar mudanas no outro (uso)

Fernando Pedrosa Lopes

23

Pode ocorrer, tambm, entre uma


classe e uma interface

Fernando Pedrosa Lopes

24

17/6/2010

Relacionamento um tipo de

Pode ocorrer, tambm, entre interfaces


Esteretipo

Fernando Pedrosa Lopes

25

H vrias notaes para realizaes

Fernando Pedrosa Lopes

26

A notao bola-soquete (UML 2.0) utilizada


para modelar uma dependncia e uma
realizao entre duas classes e uma interface
Dependncia

Realizao

Duas representaes
equivalentes entre si
(semanticamente
iguais)

Fernando Pedrosa Lopes

Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de

27

Classes
Objetos
Componentes
Pacotes
Implantao
Estrutura Composta
Perfis (UML 2.2)

Fernando Pedrosa Lopes

Fernando Pedrosa Lopes

28

O diagrama de objetos representa uma


fotografia do sistema em um dado
momento
Mostra os vnculos entre os objetos
conforme estes interagem e os valores
dos seus atributos
Pode ser visto como uma instncia do
diagrama de classe

29

Fernando Pedrosa Lopes

30

17/6/2010

Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de

vnculo

objeto

valor do atributo

objeto annimo

Fernando Pedrosa Lopes

Classes
Objetos
Componentes
Pacotes
Implantao
Estrutura Composta
Perfis (UML 2.2)

31

Fernando Pedrosa Lopes

32

Fernando Pedrosa Lopes

34

Modela o sistema em termos de


componentes e seus relacionamentos
atravs de interfaces
Decompe o sistema em subsistemas que
detalham a estrutura interna
Alguns componentes existem em tempo
de ligao, outros em tempo de execuo

Fernando Pedrosa Lopes

Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de

33

Classes
Objetos
Componentes
Pacotes
Implantao
Estrutura Composta
Perfis (UML 2.2)

Fernando Pedrosa Lopes

Pacotes so estruturas que permitem


agrupar qualquer construo da UML em
estruturas de alto nvel
Pode mostrar:

Pacotes e suas dependncias


Interfaces entre os pacotes
Generalizaes entre pacotes

35

Fernando Pedrosa Lopes

36

17/6/2010

Duas representaes possveis


Realizao
(implementao)
entre pacotes

Pacote

Pacote
Dependncia
entre pacotes

Nome do pacote
C
A

B
Estrutura interna
do pacote

Fernando Pedrosa Lopes

Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de

37

Classes
Objetos
Componentes
Pacotes
Implantao
Estrutura Composta
Perfis (UML 2.2)

Fernando Pedrosa Lopes

38

Modela a configurao fsica do sistema,


revelando que pedaos de software rodam
em que equipamentos de hardware
Inclui

Ns
Dispositivos (Hardware)
Ambientes de Execuo

Artefatos

Cdigo fonte, Cdigo binrio


Executveis, etc.

Fernando Pedrosa Lopes

39

N (dispositivo)

Fernando Pedrosa Lopes

Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de

cliente.exe

Artefato

Forma de
comunicao

base.ear
web.ear

40

Classes
Objetos
Componentes
Pacotes
Implantao
Estrutura Composta
Perfis (UML 2.2)

Linha de
comunicao

N (ambiente
de execuo)
Fernando Pedrosa Lopes

41

Fernando Pedrosa Lopes

42

17/6/2010

Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de

Classes
Objetos
Componentes
Pacotes
Implantao
Estrutura Composta
Perfis (UML 2.2)

Fernando Pedrosa Lopes

Estruturas de partes interconectadas


Estruturas de instncias interconectadas

Classe estruturada
Carro

GE_553912:Txi
:Volante
Objeto

[1]

Eixo

[1]
lugares:Assentos

Porta

[0..5]
Pessoa

joo:Motorista

Cabea
ana:Passageira

[2]
Perna[2]

Fernando Pedrosa Lopes

Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de
Diagrama de

Roda[4]

Busto

[2]

Parte: representa o conjunto de uma ou


mais instncias contidas em contidas em
outro elemento
Porta: ponto de interao entre os
elementos

43

Colaborao
Dirigir Txi

utilizado para modelar colaboraes entre


interfaces, objetos ou classes
Pode ser usado para descrever

44

Classes
Objetos
Componentes
Pacotes
Implantao
Estrutura Composta
Perfis (UML 2.2)

Brao[2]

Partes
Fernando Pedrosa Lopes

45

Fernando Pedrosa Lopes

46

47

Fernando Pedrosa Lopes

48

um diagrama auxiliar que permite definir


tipos padronizados de esteretipos, valores
rotulados e restries
A UML define o mecanismo de perfis como
um mecanismo leve de extenso da
linguagem
Permite adaptar os modelos UML para
diferentes plataformas e domnios

Fernando Pedrosa Lopes

17/6/2010

Diagrama de Casos de Uso


Diagrama de Atividade
Diagrama de Mquina de Estados
Diagramas de Interao

Diagrama
Diagrama
Diagrama
Diagrama

de
de
de
de

Atores e o sistema
O prprio sistema

Descreve um conjunto de cenrios


Captura os requisitos do usurio
Delimita o escopo do sistema

Sequncia
Comunicao
Tempo
Interao Geral

Fernando Pedrosa Lopes

49

Fernando Pedrosa Lopes

Fernando Pedrosa Lopes

Incluso

Fernando Pedrosa Lopes

52

Generalizao entre Casos de Uso


Use quando voc identificar Casos de Uso
semelhantes e um deles for uma forma
especial (uma especializao) do outro

Extenso

Generalizao entre Atores


Use quando um ator (filho) um tipo de
outro ator mais genrico (pai)

Use quando voc quiser modelar um


comportamento opcional de um Caso de
Uso

Fernando Pedrosa Lopes

50

O filho herda o comportamento do


pai, podendo adicionar e redefinir
passos em pontos arbitrrios do
comportamento original

51

Use quando o mesmo comportamento se


repete em mais de um Caso de Uso e o
processo de realizar X sempre envolve
realizar Y pelo menos uma vez

Contm um conjunto de casos de uso


e modela interaes entre

53

Fernando Pedrosa Lopes

54

17/6/2010

Concreto

Diagrama de Casos de Uso


Diagrama de Atividade
Diagrama de Mquina de Estados
Diagramas de Interao

iniciado por um ator e constitui um fluxo


completo de eventos
Abstrato: nunca instanciado diretamente
Casos de Uso abstratos geralmente so:

Includos em outros Casos de Uso


Estendidos de outros Casos de Uso
Generalizaes de outros Casos de Uso

Diagrama
Diagrama
Diagrama
Diagrama

Atores enxergam apenas casos de


uso concretos
Fernando Pedrosa Lopes

de
de
de
de

Sequncia
Comunicao
Tempo
Interao Geral

55

Descreve lgicas de procedimento,


processos de negcio e fluxos de
trabalho
Permite que seja mostrado que
entidade responsvel por cada ao
no diagrama, com uso de raias
(swimlanes)

Fernando Pedrosa Lopes

56

N de bifurcao
(fork node)

N inicial

Deciso
Fluxo
Ao

Quem faz o qu?


Unio

Fernando Pedrosa Lopes

N final

N de juno
(join node)

57

Fernando Pedrosa Lopes

58

Diagrama de Casos de Uso


Diagrama de Atividade
Diagrama de Mquina de Estados
Diagramas de Interao

Unidades
organizacionais

Diagrama
Diagrama
Diagrama
Diagrama

Fernando Pedrosa Lopes

59

de
de
de
de

Sequncia
Comunicao
Tempo
Interao Geral

Fernando Pedrosa Lopes

60

10

17/6/2010

Mostra os vrios estados possveis por


quais um objeto pode passar
Um objeto muda de estado quando
acontece algum evento interno ou
externo ao sistema
Atravs da anlise das transies entre
os estados, pode-se prever todas as
possveis operaes realizadas, em
funo de eventos que podem ocorrer

Estados
Situaes na vida de um objeto na qual ele satisfaz
uma condio ou realiza alguma atividade

Transies
Estados so associados atravs de transies
Transies tm eventos associados
Sintaxe: evento [condio]/ao

Aes
Ao passar de um estado para o outro o objeto
pode realizar aes

Atividades
Executadas durante um estado

Fernando Pedrosa Lopes

dado disponvel

61

Bloqueado

Fernando Pedrosa Lopes

62

Diagrama de Casos de Uso


Diagrama de Atividade
Diagrama de Mquina de Estados
Diagramas de Interao

transio

interrupo / desalocar

estado inicial

Diagrama de
Diagrama de
Diagrama de
Diagrama de

processo escolhido [tem espao] / alocar

Rodando

Pronto

comando de trmino [tem permisso] / desalocar


estado

Sequncia
Comunicao
Tempo
Interao Geral

estado final

Fernando Pedrosa Lopes

63

Fernando Pedrosa Lopes

uma Compra

Captura o comportamento de um
determinado cenrio
Mostra os objetos e as mensagens
trocadas entre eles
Enfatiza a ordem temporal das
mensagens
o diagrama mais utilizado na etapa
de Projeto OO (solucionar o problema)

Fernando Pedrosa Lopes

um Pedido

um Produto

64

um Cliente

getQuantidade
calcularPreo
getProduto

participante

linha de vida

umProduto
ativao
getDetalhesPreo

calcularPreoBase

retorno

auto-chamada

mensagem
calcularDescontos
getInfoDesconto

65

Fernando Pedrosa Lopes

66

11

17/6/2010

um Controlador

Diagrama de Casos de Uso


Diagrama de Atividade
Diagrama de Mquina de Estados
Diagramas de Interao

consultar BD
uma Classe de
Dados
um comando
SQL

Diagrama de
Diagrama de
Diagrama de
Diagrama de

criao
executar

resultados

destruio por
outro objeto

extrairResultados

Sequncia
Comunicao
Tempo
Interao Geral

resultados
auto destruio
Fernando Pedrosa Lopes

67

Captura o comportamento de um
determinado cenrio
Mostra os objetos e as mensagens
trocadas entre eles
Enfatiza a ordem estrutural das
mensagens (relacionamentos entre
objetos)
equivalente ao diagrama de
sequncias

Fernando Pedrosa Lopes

68

Fernando Pedrosa Lopes

1: calcularPreo
1.4: calcularPreoBase
1.5 calcularDescontos

1.3: getDetalhesPreo

um Pedido

69

um Produto

Fernando Pedrosa Lopes

70

Captura o comportamento de objetos


ao longo do tempo e a durao na qual
eles permanecem em determinados
estados
O foco se d nas restries de tempo
das interaes
uma mistura entre o diagrama de
sequncias e o diagrama de mquina
de estados

Diagrama de Casos de Uso


Diagrama de Atividade
Diagrama de Mquina de Estados
Diagramas de Interao
Sequncia
Comunicao
Tempo
Interao Geral

Fernando Pedrosa Lopes

um Cliente

1.1: getQuantidade
1.2 : getProduto

Diagrama de
Diagrama de
Diagrama de
Diagrama de

1.5.1: getInfoDesconto

uma Compra

71

Fernando Pedrosa Lopes

72

12

17/6/2010

Diagrama de Casos de Uso


Diagrama de Atividade
Diagrama de Mquina de Estados
Diagramas de Interao

estado

:Cafeteira

evento

Aquecedor

Bomba

guaVazia

Diagrama de
Diagrama de
Diagrama de
Diagrama de

mudana
de estado

objeto

Sequncia
Comunicao
Tempo
Interao Geral

restrio de tempo

Fernando Pedrosa Lopes

73

Fernando Pedrosa Lopes

74

diagrama
de sequncia

Fornece uma viso geral do controle de


fluxo entre objetos
uma mistura entre diagramas de
sequncia e diagramas de atividade

No exemplo, se o Cliente for externo, os


dados so buscados de um XML. Se for
interno, os dados so buscados de um banco
de dados. A seqncia destes dois fluxos
detalhada. Ao final, gerado um relatrio
Fernando Pedrosa Lopes

referncia
a outro
diagrama
de interao
75

Linguagem que faz parte da UML e tem o


objetivo de desenvolver modelos mais
precisos
Uma restrio (constraint) atua sobre um ou
mais valores de um modelo orientado a
objetos
Vantagens

76

Exemplos de restries (regras de um


sistema de Universidade)
A avaliao de supervisores acadmicos deve ser
melhor que a nota dos seus supervisionados
A bolsa escolar dos alunos depende da sua
avaliao acadmica

Estas regras podem ser escritas em OCL


E podem ser transformadas em

Modelos mais completos, consistentes e precisos


Comunicao sem ambigidade
Sintaxe e semntica formais

Fernando Pedrosa Lopes

Fernando Pedrosa Lopes

Cdigo
Scripts de bancos de dados
Outros modelos, etc.
77

Fernando Pedrosa Lopes

78

13

17/6/2010

Fernando Pedrosa Lopes

79

14

Vous aimerez peut-être aussi