#AnaliseDeSistem
as

Prof. Natanael Simões

Projeto de Sistemas com UML
Parte 2: Representação gráfica dos principais diag...
Diagrama de Caso de Uso
• Representa as funções globais de um sistema
• Notações gráficas:
–
–
–
–

Ator
Caso de uso
Relac...
Ator
• Representa um agente externo ao sistema
–
–
–
–
–

Pessoa
Dispositivo (Impressora, leitor)
Organização (IFRO, Prefe...
Ator
a) “… o sistema possibilita ao cliente atualizar seus
dados cadastrais acessando o site na internet…”
b) “… o caixa e...
Ator
d) Estamos criando um serviço de entregas.
Nossos clientes podem nos requisitar a entrega de
volumes. Alguns volumes ...
Ator
a) “… o sistema possibilita ao cliente atualizar seus
dados cadastrais acessando o site na internet…”
b) “… o caixa e...
Ator
d) Estamos criando um serviço de entregas.
Nossos clientes podem nos requisitar a entrega
de volumes. Alguns volumes ...
Caso de Uso
• Representa uma grande função do sistema

Gerar
relatório

8
Caso de Uso
a) “… o sistema possibilita ao cliente atualizar seus
dados cadastrais acessando o site na internet…”
b) “… o ...
Caso de Uso
d) Estamos criando um serviço de entregas.
Nossos clientes podem nos requisitar a entrega de
volumes. Alguns v...
Caso de Uso
a) “… o sistema possibilita ao cliente atualizar seus
dados cadastrais acessando o site na internet…”
b) “… o ...
Caso de Uso
d) Estamos criando um serviço de entregas.
Nossos clientes podem nos requisitar a entrega
de volumes. Alguns v...
Relacionamentos
• Definem como atores e casos de uso se
relacionam entre si
• Entre ator e caso de uso
– Associação: O que...
Relacionamentos
• Entre atores
– Generalização ou Especialização: herança de usos

Ator C

Ator A

Ator B
14
Relacionamentos
• Entre ator e casos de uso
– Generalização ou Especialização: herança de
funções

Gerar
relatório

Imprim...
Relacionamentos
• Entre ator e casos de uso
– Include: processamento obrigatório

Marcar
consulta
<<include>>

Procurar
re...
Relacionamentos
• Entre ator e casos de uso
– Extend: processamento condicional

Verificar nível
do
compartimento

<<exten...
Limite
• Conhecido como System Boundary
• Delimita o sistema computacional

18
Diagramas !
a) “… o sistema possibilita ao cliente atualizar seus
dados cadastrais acessando o site na internet…”
b) “… o ...
Diagramas !
d) Estamos criando um serviço de entregas.
Nossos clientes podem nos requisitar a entrega de
volumes. Alguns v...
Diagrama de Classes
• Conjunto de representações de estruturas de objetos do
mundo real e suas relações
• Pré-requisito pa...
Classe
• Representação das características e comportamentos
abstraídos de objetos em comum do mundo real
• Possui atributo...
Identificação da Classe
Estereótipo
Nome

•
•
•
•
•
•

<<class>>
Cachorro

<<class>>
<<entity>>
<<control>>
<<boundary>>
<...
Interface x Abstrata
Herança múltipla
Interface

Abstrata

Uma classe pode Uma classe pode
implementar
herdar somente
dive...
Interface x Abstrata
Implementação padrão
Interface

Abstrata

Uma interface não pode
conter qualquer tipo de
código, muit...
Interface x Abstrata
Homogeneidade
Interface

Abstrata

Se todas as diversas
implementações
compartilham a
assinatura do m...
Interface x Abstrata
Funcionalidades adicionais
Interface

Abstrata

Se você incluir um novo
Se você incluir um
novo métod...
Atributos
[visibilidade] [nome] : [tipo]
• Visibilidade
– Pública (+)
– Protegida (#)
– Privada (-)

• Nome do atributo
• ...
Métodos
[visibilidade] [nome] ([tipo p1] [nome p1], [tipo p2] [nome p2]): [tipo]

• Visibilidade
– Pública (+)
– Protegida...
Relacionamentos entre classes
• Herança
Mamifero
- Cor:string
- Altura:double
- Tamanho:double
- Peso:double
- Raça:string...
Relacionamentos entre classes
• Associação
Empresa

Funcionário

31
Relacionamentos entre classes
• Multiplicidade
Empresa

Funcionário
1

0 .. *

32
Relacionamentos entre classes
• Agregação
A

B

- b: B
1

1

33
Relacionamentos entre classes
• Agregação

public class B {
public B( ){
}
}

public class A {
private B b;
public A( ){
}...
Relacionamentos entre classes
• Composição
A

B

- b: B
1

1

35
Relacionamentos entre classes
• Composição
public class A {
private B b;
public A( ){
b = new B();
}
}

public class B {
p...
Relacionamentos entre classes
• Realização
<<interface>>

DB
+ AbrirConexao(string host, string usuario, string senha, str...
Próximos SlideShares
Carregando em…5
×

Projeto de sistemas com UML - Parte 2

1.195 visualizações

Publicada em

Conceitos fundamentais de diagramas de caso de uso e de classe exemplificando passo a passo a elicitação dos requisitos e implementação

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.195
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
67
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Projeto de sistemas com UML - Parte 2

  1. 1. #AnaliseDeSistem as Prof. Natanael Simões Projeto de Sistemas com UML Parte 2: Representação gráfica dos principais diagramas e exercícios práticos de diagramação natanaelsimoes
  2. 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. 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. 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. 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. 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. 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. 8. Caso de Uso • Representa uma grande função do sistema Gerar relatório 8
  9. 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. 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. 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. 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. 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
  14. 14. Relacionamentos • Entre atores – Generalização ou Especialização: herança de usos Ator C Ator A Ator B 14
  15. 15. Relacionamentos • Entre ator e casos de uso – Generalização ou Especialização: herança de funções Gerar relatório Imprimir 15
  16. 16. Relacionamentos • Entre ator e casos de uso – Include: processamento obrigatório Marcar consulta <<include>> Procurar registro do paciente 16
  17. 17. Relacionamentos • Entre ator e casos de uso – Extend: processamento condicional Verificar nível do compartimento <<extend>> Reabastecer compartimento 17
  18. 18. Limite • Conhecido como System Boundary • Delimita o sistema computacional 18
  19. 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. 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. 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. 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
  23. 23. Identificação da Classe Estereótipo Nome • • • • • • <<class>> Cachorro <<class>> <<entity>> <<control>> <<boundary>> <<interface>> <<abstract>> 23
  24. 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. 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. 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. 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. 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. 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
  30. 30. Relacionamentos entre classes • Herança Mamifero - Cor:string - Altura:double - Tamanho:double - Peso:double - Raça:string - Nome:string Cachorro + Pegar(Bolinha b):boolean + Pegar(Graveto g): boolean + EmitirSom():void + Correr(int velocidade):void + EmitirSom():void + Correr(int velocidade):void + Comer(Comida c):void 30
  31. 31. Relacionamentos entre classes • Associação Empresa Funcionário 31
  32. 32. Relacionamentos entre classes • Multiplicidade Empresa Funcionário 1 0 .. * 32
  33. 33. Relacionamentos entre classes • Agregação A B - b: B 1 1 33
  34. 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
  35. 35. Relacionamentos entre classes • Composição A B - b: B 1 1 35
  36. 36. Relacionamentos entre classes • Composição public class A { private B b; public A( ){ b = new B(); } } public class B { public B( ){ } } 36
  37. 37. Relacionamentos entre classes • Realização <<interface>> DB + AbrirConexao(string host, string usuario, string senha, string porta, string banco):boolean + Executar(string query): boolean + Selecionar(string query): Collection + FecharConexao:void MySQL PostgreSQL SQLServer 37

×