2. Diagrama de Caso de Uso
• Representa as funções globais de um sistema
• Notações gráficas:
–
–
–
–
Ator
Caso de uso
Relacionamento
Limite
2
3. Ator
• Representa um agente externo ao sistema
–
–
–
–
–
Pessoa
Dispositivo (Impressora, leitor)
Organização (IFRO, Prefeitura)
Departamento (Recursos Humanos, Financeiro)
Outro sistema (Webservice, DLL)
Ator
3
4. Ator
a) “… o sistema possibilita ao cliente atualizar seus
dados cadastrais acessando o site na internet…”
b) “… o caixa eletrônico permitirá ao associado da
cooperativa emitir um extrato da sua conta, bem como
retirar ou depositar uma quantia financeira na sua
conta…”
c) “… a secretária pode importar os Registros
Acadêmicos do sistema administrativo, desde que
informe o seu login e senha…”
4
5. Ator
d) Estamos criando um serviço de entregas.
Nossos clientes podem nos requisitar a entrega de
volumes. Alguns volumes são considerados de
maior valor por nossos clientes, e, portanto, eles
querem ter tais volumes segurados durante o
transporte. Contratamos uma companhia de
seguro para segurar volumes de valor.
5
6. Ator
a) “… o sistema possibilita ao cliente atualizar seus
dados cadastrais acessando o site na internet…”
b) “… o caixa eletrônico permitirá ao associado da
cooperativa emitir um extrato da sua conta, bem
como retirar ou depositar uma quantia financeira na
sua conta…”
c) “… a secretária pode importar os Registros
Acadêmicos do sistema administrativo, desde que
informe o seu login e senha…”
6
7. Ator
d) Estamos criando um serviço de entregas.
Nossos clientes podem nos requisitar a entrega
de volumes. Alguns volumes são considerados de
maior valor por nossos clientes, e, portanto, eles
querem ter tais volumes segurados durante o
transporte. Contratamos uma companhia de
seguro para segurar volumes de valor.
7
8. Caso de Uso
• Representa uma grande função do sistema
Gerar
relatório
8
9. Caso de Uso
a) “… o sistema possibilita ao cliente atualizar seus
dados cadastrais acessando o site na internet…”
b) “… o caixa eletrônico permitirá ao associado da
cooperativa emitir um extrato da sua conta, bem como
retirar ou depositar uma quantia financeira na sua
conta…”
c) “… a secretária pode importar o Registro
Acadêmico dados dos alunos do sistema
administrativo, desde que informe o seu login e
senha…”
9
10. Caso de Uso
d) Estamos criando um serviço de entregas.
Nossos clientes podem nos requisitar a entrega de
volumes. Alguns volumes são considerados de
maior valor por nossos clientes, e, portanto, eles
querem ter tais volumes segurados durante o
transporte. Contratamos uma companhia de
seguro para segurar volumes de valor.
10
11. Caso de Uso
a) “… o sistema possibilita ao cliente atualizar seus
dados cadastrais acessando o site na internet…”
b) “… o caixa eletrônico permitirá ao associado da
cooperativa emitir um extrato da sua conta, bem
como retirar ou depositar uma quantia financeira na
sua conta…”
c) “… a secretária pode importar o Registro
Acadêmico dados dos alunos do sistema
administrativo, desde que informe o seu login e
senha…”
11
12. Caso de Uso
d) Estamos criando um serviço de entregas.
Nossos clientes podem nos requisitar a entrega
de volumes. Alguns volumes são considerados de
maior valor por nossos clientes, e, portanto, eles
querem ter tais volumes segurados durante o
transporte. Contratamos uma companhia de
seguro para segurar volumes de valor.
12
13. Relacionamentos
• Definem como atores e casos de uso se
relacionam entre si
• Entre ator e caso de uso
– Associação: O que o ator usa
Gerar
relatório
Ator
13
15. Relacionamentos
• Entre ator e casos de uso
– Generalização ou Especialização: herança de
funções
Gerar
relatório
Imprimir
15
16. Relacionamentos
• Entre ator e casos de uso
– Include: processamento obrigatório
Marcar
consulta
<<include>>
Procurar
registro do
paciente
16
17. Relacionamentos
• Entre ator e casos de uso
– Extend: processamento condicional
Verificar nível
do
compartimento
<<extend>>
Reabastecer
compartimento
17
19. Diagramas !
a) “… o sistema possibilita ao cliente atualizar seus
dados cadastrais acessando o site na internet…”
b) “… o caixa eletrônico permitirá ao associado da
cooperativa emitir um extrato da sua conta, bem como
retirar ou depositar uma quantia financeira na sua
conta…”
c) “… a secretária pode importar o Registro
Acadêmico dados dos alunos do sistema
administrativo, desde que informe o seu login e
senha…”
19
20. Diagramas !
d) Estamos criando um serviço de entregas.
Nossos clientes podem nos requisitar a entrega de
volumes. Alguns volumes são considerados de
maior valor por nossos clientes, e, portanto, eles
querem ter tais volumes segurados durante o
transporte. Contratamos uma companhia de
seguro para segurar volumes de valor.
20
21. Diagrama de Classes
• Conjunto de representações de estruturas de objetos do
mundo real e suas relações
• Pré-requisito para os diagramas de:
– Comunicação
– Sequência
– Estados
21
22. Classe
• Representação das características e comportamentos
abstraídos de objetos em comum do mundo real
• Possui atributos, métodos e relacionamentos
Identificação da classe
Atributos
Métodos
<<class>>
Cachorro
- Cor:string
- Altura:double
- Tamanho:double
- Peso:double
- Raça:string
- Nome:string
+ EmitirSom():void
+ Correr(int velocidade):void
+ Comer(Comida c):void
+ Comer(Objeto o):void
22
24. Interface x Abstrata
Herança múltipla
Interface
Abstrata
Uma classe pode Uma classe pode
implementar
herdar somente
diversas interfaces uma classe
24
25. Interface x Abstrata
Implementação padrão
Interface
Abstrata
Uma interface não pode
conter qualquer tipo de
código, muito menos
código padrão.
Uma classe abstrata pode
fornecer código completo,
código padrão ou ter apenas
a declaração de seu
esqueleto para ser
posteriormente sobrescrita.
25
26. Interface x Abstrata
Homogeneidade
Interface
Abstrata
Se todas as diversas
implementações
compartilham a
assinatura do método
então a interface
funciona melhor.
Se as várias
implementações são
todas do tipo e
compartilham um
comportamento e status
comum , então a classe
abstrata funciona melhor.
26
27. Interface x Abstrata
Funcionalidades adicionais
Interface
Abstrata
Se você incluir um novo
Se você incluir um
novo método em uma método em uma classe
abstrata você tem a
interface você precisa
opção de fornecer uma
ajustar todas as
implementação padrão
implementações da
para ele.
interface.
27
28. Atributos
[visibilidade] [nome] : [tipo]
• Visibilidade
– Pública (+)
– Protegida (#)
– Privada (-)
• Nome do atributo
• Tipo de dado
- Cor:string
- Altura:double
- Tamanho:double
- Peso:double
- Raça:string
- Nome:string
28
29. Métodos
[visibilidade] [nome] ([tipo p1] [nome p1], [tipo p2] [nome p2]): [tipo]
• Visibilidade
– Pública (+)
– Protegida (#)
– Privada (-)
+ EmitirSom():void
+ Correr(int velocidade):void
+ Comer(Comida c):void
+ Comer(Objeto o):void
• Nome do Método
• Tipo e Nome de cada parâmetro
• Tipo de retorno do método
29
34. Relacionamentos entre classes
• Agregação
public class B {
public B( ){
}
}
public class A {
private B b;
public A( ){
}
public void setB( B b ){
this.b = b;
}
public B getB( ) {
return b;
}
}
34