Escolar Documentos
Profissional Documentos
Cultura Documentos
Academia BR Modelagemuml
Academia BR Modelagemuml
com UML
Vtor E. Silva Souza
(vitorsouza@inf.ufes.br)
http://www.inf.ufes.br/~ vitorsouza
Departamento de Informtica
Centro Tecnolgico
Universidade Federal do Esprito Santo
Modelos
Maneira
de
projetar,
comunicar,
documentar,
etc.
solues
computacionais;
Diversos
nveis,
por
exemplo:
Ontologias
(modelos
genricos,
de
domnio);
Requisitos
(foco
em
um
problema);
Projeto
/
arquitetura
(foco
em
uma
soluo).
Essenciais
para
o
desenvolvimento
de
soKware;
Assim
como
o
desenvolvimento,
tambm
seguem
os
paradigmas
(estruturado,
OO,
etc.).
Maio
2013
Diagramas da UML
de
Casos
de
Uso;
de
Classes;
de
Objetos;
de
Estrutura
Composta;
de
Sequncia;
de
Comunicao;
de
Estados;
de
AZvidades;
de
Componentes;
Maio 2013
de
Implantao;
de
Pacotes;
de
Interface
Geral;
de
Tempo.
Modelagem
Unicada?
A
notao
unicada:
quase
todo
desenvolvedor
de
soKware
conhece
ao
menos
parte
da
UML;
A
deciso
de
qual
artefato
(diagrama)
produzir,
porm,
depende
do
processo
denido
para
o
projeto;
Projetos
diferentes,
necessidades
diferentes.
Pode
ser
uZlizada
em
diferentes
processos
de
desenvolvimento
orientados
a
objetos,
em
todas
as
etapas
do
ciclo
de
desenvolvimento.
Exemplo:
domnio,
requisitos,
arquitetura,
etc.
Maio 2013
Maio 2013
Herana
Nome
Atributos
Operaes
Associao (e
suas cardinalidades)
Agregao
Classe
Maio 2013
Maio 2013
MODELAGEM ESTTICA
Maio 2013
10
Modelagem
estZca
Centrada
no
diagrama
de
classes:
IdenZcao
de
classes;
Especicao
de
hierarquias
de
generalizao
/
especializao;
IdenZcao
de
subsistemas;
IdenZcao
de
associaes
e
atributos.
11
Maio 2013
12
Representao
de
classes
Representao
em UML
Nome da Classe
<Lista de atributos>
<Lista de operaes>
13
Herana (inheritance)
Maio 2013
Generalizao
Especializao
14
15
Pacotes
(packages)
Podem
ser
usados
para
organizar
diversos
Zpos
de
elementos
de
modelos,
inclusive
diagramas
inteiros;
Muito
uZlizados
para
organizar
classes
em
mdulos,
da
mesma
forma
que
ser
feito
em
Java/C++;
possvel
representar
relao
de
dependncia
entre
pacotes:
Maio 2013
16
Associaes
(associaZons)
Relacionamento
entre
classes
representado
por
associaes,
agregaes
e
composies;
Associaes
podem
indicar
cardinalidade
(cardinality):
Objetos da ClasseA podem se
relacionar com no mnimo zero e no
mximo trs objetos da ClasseB.
Um e somente um.
Maio 2013
17
Papis
(roles)
Indicam
o
papel
que
a
classe
desempenha
na
associao
(so
usados
substanZvos);
opcional,
usado
quando
melhora
o
entendimento
do
modelo;
Sintaxe:
<escopo>
<nome>.
Maio 2013
18
Maio 2013
19
Relacionamentos
recursivos
Perfeitamente
legais;
Geralmente
pedem
denio
de
papis.
Maio 2013
20
Associaes
n-rias
Associaes
entre
trs
ou
mais
classes;
Extremamente
raras,
muitas
vezes
as
ferramentas
CASE
nem
do
suporte;
Podem
ser
subsZtudas
por
uma
nova
classe
e
N
associaes.
Maio 2013
21
Agregao
e
composio
J
estudadas
anteriormente...
Adicionam
um
losango
sintaxe,
na
extremidade
da
classe
que
representa
o
todo:
Maio 2013
22
Atributos
(ayributes)
Atributos
so
informaes
de
estado
(propriedades)
para
o
qual
cada
objeto
em
uma
classe
tem
seu
valor;
Muito
similares
s
associaes:
Como
atributos
tm
um
Zpo,
podemos
considerar
que
so
associaes
com
um
Zpo;
Para
Zpos
primiZvos
denimos
atributos,
do
contrrio
modelamos
uma
associao;
Em
lZma
instncia,
associaes
e
atributos
so
implementados
da
mesma
forma;
Atributos
e
associaes
denem
uma
classe.
Maio 2013
23
Especicao
de
atributos
Escolha
um
nome
com
signicado;
Siga
um
padro
de
nomenclatura;
Inclua-o
na
modelagem
de
classes:
Maio 2013
24
Maio 2013
25
Exemplo
Modelo de domnio
Anlise de requisitos
Designacao
dtEnvio
dtRe cebi mento
dtInicio
dtFim
texto
ehAceito
mo tivoRejeicao
Sistema de gerncia de
jobs em uma agncia
publicitria.
0..n
obterTexto()
aceitar()
rejeitar()
atribuirDtInicio()
atribuirDtRecebi mento()
Funci onario
+Designado
0..n
(f rom ControleInterno)
0 ..n +Gerente
0..n
0..n
+Funo
AreaJob
Area
nome
prazo
status
1
0..n
0..n criar()
atribuirGerente()
obterNovasDesignacoes()
1
Gerencia
dtInicio
dtFim
0..n
InformacaoAreaJob
dtInsercao
descricao
InfoNaoDigital
localizacao
Maio 2013
0..n
Arquivo
path
nome
26
Exemplo
Modelo de domnio
Projeto arquitetural
Sistema de gerncia de
jobs em uma agncia
publicitria.
Maio 2013
27
Exemplo
Modelos de interface com o
usurio e de controle
Projeto arquitetural do mesmo
sistema anterior.
Maio 2013
JanCadastrar
javax.swing.JOptionPane
JanCadastrarFuncionario
28
Exemplo
Diagrama de pacotes.
GT_Comunicacao
(from Comunicacao)
GT_ControleArea
(from ControleArea)
GT_ControleJob
UtilitarioPessoa
(from Utilitario)
DP_ControleInterno
(from ControleInterno)
DP_ControleJob
IU_ControleJob
UtilitarioInterface
Grafica
(from Utilitario)
DP_ControleArea
(from ControleArea)
GD_ControleJob
Maio 2013
UtilitarioGerencia
Dados
(from Utilitario)
29
MODELAGEM DINMICA
Maio 2013
30
Comportamento
dinmico
Os
diagramas
de
classes
representam
apenas
elementos
estZcos,
dados;
preciso,
ainda,
representar
o
comportamento
da
aplicao
em
funo
do
tempo
e
de
eventos
especcos;
Modelar
o
comportamento:
Indica
como
o
sistema
ir
responder
a
eventos
ou
esimulos
externos;
Auxilia
o
processo
de
descoberta
das
operaes
das
classes
do
sistema.
Maio 2013
31
Modelos
da
UML
Diagramas
de
Estados:
Descrevem
os
estados
possveis
pelos
quais
um
parZcular
objeto
pode
passar
e
suas
transies,
esimulos
e
aZvidades;
Foco
em
uma
classe
especca.
Diagramas
de
Interao:
Descrevem
como
grupos
de
objetos
colaboram
entre
si
em
um
certo
comportamento;
Envolve
vrias
classes,
foco
em
um
comportamento
(funcionalidade)
especco.
Maio 2013
32
Maio 2013
33
Notao
Estado Inicial
Estado Final
Transio
Estado
Maio 2013
34
Estados
Nome:
deve
descrever
claramente
o
estado;
AZvidades:
De
entrada:
ocorrem
ao
entrarmos
no
estado;
De
sada:
ocorrem
ao
sairmos
do
estado;
Convencional:
ocorrem
enquanto
o
objeto
esZver
naquele
estado.
Maio 2013
35
Maio 2013
36
Transies
Indicam
a
possibilidade
de
ir
de
um
estado
a
outro;
Evento:
evento
externo
que
moZvou
a
transio;
Condio
de
guarda:
condio
necessria
para
efetuar
a
transio
(alm
do
evento);
Ao:
ao
realizada
durante
a
transio.
Maio 2013
37
Ao
x
aZvidade
Ao
x
aZvidade
convencional:
Uma
ao
ocorre
durante
a
transio
(ela
atmica);
Uma
aZvidade
ocorre
enquanto
o
objeto
permanece
no
estado
(quando
ela
acabar,
ele
muda
de
estado);
Ao
x
aZvidades
de
entrada/sada:
Caso
s
haja
uma
transio
de
entrada/sada,
no
h
diferena
na
prZca.
Maio 2013
38
Exemplos
Ao ser criado, o objeto da classe em questo
encontra-se no estado E-1.
Maio 2013
39
Exemplo
Maio 2013
40
Diagramas
de
interao
Ajudam
a
compreender
e
capturar
o
uxo
global
de
controle;
Modelam
um
conjunto
de
objetos
e
as
mensagens
que
trocam;
Foco
em
uma
funcionalidade
especca
(caso
de
uso);
Dois
Zpos
de
diagrama
(duas
vises):
Diagrama
de
Sequncia
(temporal):
foco
no
tempo
e
no
controle;
Diagrama
de
Colaborao
(estrutural):
nfase
na
organizao
dos
objetos.
Maio 2013
41
Classe
F
L
U
X
O
Escopo
Retorno
Maio 2013
Marcador de iterao
42
Exemplo
referncia a um objeto
Maio 2013
43
Exemplo
Maio 2013
44
Maio 2013
45
h1p://nemo.inf.ufes.br/
Maio 2013
46