Escolar Documentos
Profissional Documentos
Cultura Documentos
www.luisaosoares.com.br
@luisaosoares
www.facebook.com/luisaorcc
Introduo
Diagrama mais abstrato, flexvel
e informal da UML.
utilizado
no
incio
da
modelagem para identificar os
requisitos do sistema.
Utilizado como base para criao
de outros diagramas.
Com o uso de uma linguagem
simples, permite que qualquer
pessoa
compreenda
o
comportamento
externo
do
sistema.
Introduo
Identifica os tipos de usurios
que interagem com o sistema,
os papis que eles assumem e
as funes requisitadas;
apresentado durante reunies
iniciais com os clientes para
poder auxiliar na identificao
de possveis falhas;
Descreve
os
requisitos
funcionais
do
sistema
de
maneira
consensual
entre
usurios e desenvolvedores de
sistema.
Elementos Bsicos
Atores
Caso de Uso
Associao
Sistema
ASSOCIAO
Fronteira do sistema
(Opcional)
SISTEM
A
CASO DE
USO
Atores
Representam os papis desempenhados pelos
diversos usurios que podero utilizar ou interagir
com os servios e funes do sistema.
Pode ser qualquer elemento externo que interaja
com o sistema, inclusive um software ou hardware.
Exemplos
tpicos:
cliente,
aluno,
supervisor,
professor, impressora fiscal, dispositivo de conexo
de rede etc.
Identificando atores de um sistema:
Quem utilizar a principal funcionalidade do
sistema?
Quem (ou o que) tem interesse nos resultados do
sistema?
Quais dispositivos (hardware) so necessrios?
Com quais outros sistemas o sistema em foco ir
Casos de uso
Referem-se aos servios, tarefas ou
funes que podem ser utilizados pelos
usurios do sistema;
So usados para expressar e documentar
os comportamentos das funes do
sistema;
Em geral, podemos associar um caso de
uso a uma tela (ou pgina) de um sistema,
apesar de isto no ser uma regra;
Contm um texto descrevendo
Emitir NFo servio
Gerar
e
Cadastrar
(iniciando-se
com um verbo);
Relatrio
Produto
de Vendas
Identificando um Caso de
Uso.
O trabalho dirio do sistema pode ser
simplificado ou tornado mais eficiente
usando novas funes?
Quais as funes que o ator necessita do
sistema?
O que o ator necessita fazer?
Quais entradas e sadas, juntamente com
sua origem e destino, que o sistema
requer?
Associaes
So representadas por uma linha que liga
o ator ao caso de uso:
Generalizao e Especializao
Forma de associao na qual existem dois ou
mais casos de uso com caractersticas
semelhantes;
Existem pequenas diferenas entre os casos de
uso associados;
Tambm possvel com atores;
Incluso
A execuo de um caso de uso obriga a
execuo de um outro;
Pode ser comparado chamada de uma
sub-rotina;
Representada por uma reta tracejada com
uma seta apontando para o caso de uso
que foi includo;
Esteretipo com o texto <<include>>:
Exemplo de incluso
Extenso
Descreve cenrios opcionais de um caso
de uso;
S ocorrer se uma determinada
condio for satisfeita;
Representada por uma reta tracejada
com uma seta apontando para o caso de
uso que recebe a extenso;
Esteretipo com o texto <<extend>>:
Restries
s vezes, no fica claro a condio que
deve ser satisfeita para que um caso
de uso seja executado;
Nesses casos, podemos usar restries
com
uma
nota
explicativa
determinando a condio para que o
caso de uso seja executado;
As restries so compostas por um
texto entre chaves:
Restries
Exemplo de um modelo
Sistema de Pagamento de Servios
O sistema ser responsvel por gerenciar os
pagamentos dos servios prestados por
empresas e freelancers. O pagamento do
servio poder ser efetuado apenas pelo
usurio que possuir o perfil especfico para
esta funo. Ao ser realizado qualquer servio
e pagamentos, o sistema gera e envia uma
mensagem de e-mail aos prestadores do
servio.
Descrio
Pagamento de Servio
Cenrio Principal de Sucesso:
1. O usurio acessa o sistema
2. O usurio pesquisa o servio a ser pago
3. O sistema apresenta as informaes do servio
4. O usurio inicia o processo de pagamento
5. O sistema envia a confirmao do pagamento ao prestador do
servio
6. O sistema encerra o processo de pagamento
Extenses:
1a. Usurio no autorizado
1a.1 O usurio no possui perfil para realizar pagamentos
1a.2 O usurio direcionado ao passo 6.
3a. Servio no finalizado
3a.1 O sistema apresenta que o servio no foi finalizado
3a.2 O usurio direcionado ao passo 6.
Diagrama
Diagrama
Estrutura da classe
Uma classe em UML possui trs partes:
Nome da Classe
Atributos
Operaes
22
Atributos
Um atributo formado por:
visibilidade nome : tipo [multiplicidade] = valor inicial
{propriedades}
23
Operaes
Uma operao formada por:
visibilidade nome (parmetros) : tipo de retorno
{propriedades}
Visibilidade
Podemos definir as seguintes visibilidades em
atributos e operaes:
~
#
+
25
private
default
protected
public
Atributos e operaes
esttico
26
Comentrio
Os comentrios ou notas so utilizados para
adicionar mais informaes ao diagrama.
27
Comentrio
O comentrio pode ser utilizado em qualquer
diagrama, podendo ou no ser vinculado a algum
elemento.
Utilizamos tambm o comentrio para definir
alguma regra de restrio, para isto precisamos
adicionar { } entre a restrio:
28
Associaes
Utilizado para representar o relacionamento entre
classes, as associaes podem ser:
Associao
Agregao
Composio
Classe de associao
As
classes
que
fazem
parte
de
um
relacionamento tambm so chamadas de TODO
(responsvel pelo relacionamento) e PARTE
(usado pelo relacionamento).
29
Associao
Relacionamento simples entre duas classes:
30
Agregao
Informa que uma classe faz parte de outra classe,
mas no de forma exclusiva.
31
Composio
Informa que uma classe faz parte de outra classe
de forma exclusiva.
32
Agregao x Composio
A diferena entre ambos :
Agregao se excluir a classe responsvel pelo
relacionamento, no deve excluir a classe que ele possui
relacionamento.
Composio se excluir a classe responsvel pelo
relacionamento, ento deve excluir a classe que ele
possui relacionamento.
33
Classe de associao
Utilizamos para realizar o relacionamento entre
duas classes:
ou
34
Associao
Podemos tambm
mesma classe:
35
ter
uma
associao
para
Navegabilidade
Podemos informar qual a direo do
relacionamento:
36
Multiplicidade
A multiplicidade utilizada para definir a
quantidade de objetos devem ser criados:
0 .. 1 (zero ou um)
1 (um)
* (zero ou muitos)
37
Multiplicidade
Quando utilizamos atributos para informar
coleo de objetos, podemos tambm adicionar
propriedades na multiplicidade:
{ordered}
- Ordenado
{unordered}
- No ordenado
{unique}
- nico
{nonunique}
- No nico
{bag}
- Conjunto no ordenado e no nico
38
Criando um diagrama de
Classes
39
Criando um diagrama de
Classes
40
Exemplo
Crie o diagrama de classes UML para a seguinte
figura:
Inicio
41
Pedido
Pagamento
Entrega
Fim
42
Exemplo prtico
Crie um diagrama de classes UML para o sistema
de Agendamento de Entrega de Produtos:
O sistema deve permitir o agendamento de uma visita
por parte de um funcionrio, ao cliente de nossa
empresa. Esta visita dever ser realizada em hora e
local definido pelo cliente para poder lhe entregar os
produtos que foram comprados em nossa loja.
43
44
Dependncia
Utilizado para informar que uma classe depende
de outra classe para executar alguma operao:
45
Dependncia
Palavras - chave de dependncia:
<<call>>
<<create>>
<<dependency>>
<<use>>
46
Associao x Dependncia
A diferena bsica entre ambos:
Associao temos um atributo da classe relacionada.
Dependncia utilizamos a classe relacionada, para
passar um parmetro, chamar um mtodo, criar um
objeto, etc.
47
Associao x Dependncia
Exemplo:
48
Classe Abstrata
Utilizado para informar que uma classe no
implementa todos os seus mtodos.
49
Herana
Utilizamos herana quando queremos declarar
subclasses, permitindo reutilizar os cdigos j
declarados na superclasse.
50
Interface
Utilizamos interface para definir as operaes
bsicas que uma classe de seu tipo precisa
implementar.
51
Interface
Exemplo:
52
Pacote
Utilizamos para organizar as classes:
53
Template
uma classe parametrizada
conjuntos fortemente tipados.
54
para
definir
Enumeration
Utilizado para criar um conjunto fixo de valores:
55
Exemplo prtico
Crie um diagrama de classe em UML para o
Sistema de Envio de Produtos:
O sistema deve controlar a ordenao do envio dos
produtos por preo ou por endereo do cliente. De
acordo com a quantidade de produtos, tambm
precisamos alocar um veiculo que pode ser uma Van ou
uma Caminhonete.
Tambm precisamos controlar o status do envio que
pode ser, aguardando pagamento, buscando em
estoque, sada para entrega ou entregue.
56
57
59
Ferramentas IDE
60
61
Certificaes UML
OCUP OMG Certified UML Professional
http://www.omg.org/uml-certification/exam_info.htm
62
Referencia bibliografica
[Fowler]
Martin Fowler, UML Essencial, 3 Ed. Bookman, 2005.
[Guedes]
UML - http://www.uml.org
Wikipdia http://www.wikipedia.org
63
Obrigado!
http://www.slideshare.net/rodrigocasca/uml-criando-diagramaseficientes
64