Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
UML Msc Luiz Barboza
<ul><li>Um abstração </li></ul><ul><li>Descreve: </li></ul><ul><ul><li>Propriedades (atributos) </li></ul></ul><ul><ul><li...
Revisão  Boundary Entity Control = = =
Uso do Diagrama de Classe <ul><li>Modelar uma visão estática do sistema, pode ser obtido com técnicas de analise com base ...
<ul><li>Mecanismo de organização para agrupamento de outros elementos. </li></ul>Pacote Camada de  Negócio
<ul><li>Relacionamento fraco entre dois elementos </li></ul><ul><li>Usado quando não existe uma relação de  associação  pe...
<ul><li>Associações </li></ul><ul><ul><li>Relacionamentos estruturais permanentes </li></ul></ul><ul><li>Dependência </li>...
Processo de Análise <ul><li>Identificar </li></ul><ul><ul><li>Associação vs Dependência </li></ul></ul><ul><ul><li>Refinam...
<ul><li>Agregação </li></ul><ul><ul><li>Tempo de vida da classe ‘parte’ independente do tempo da classe ‘todo’  </li></ul>...
Atributo Primitivo vs Associação <ul><li>Associação quando: </li></ul><ul><ul><li>Elemento não restrito a um tipo primitiv...
Navegabilidade <ul><li>Indica o sentido da navegação </li></ul><ul><ul><li>Para cada destino de navegação é preciso um atr...
Multiplicidade <ul><li>Não especificado </li></ul><ul><li>Apenas 1 </li></ul><ul><li>Zero ou mais </li></ul><ul><li>Um ou ...
<ul><li>Multiplicidade = 1, ou Multiplicidade = 0..1 </li></ul><ul><ul><li>Atributo simples  </li></ul></ul><ul><li>Multip...
Estrutura de Dados <ul><li>Explícito </li></ul><ul><li>Por nota </li></ul>instructor Professor Materia 0..* 0..1 Materia <...
Classe Parametrizada (Template) Generics <ul><li>Classe que necessita de um tipo adicional para sua instanciação  </li></u...
Generalização (Herança) <ul><li>Define </li></ul><ul><ul><li>Relacionamento de ‘é-um’ </li></ul></ul><ul><ul><li>Herança d...
Classes Concretas e Abstratas <ul><li>Abstrata </li></ul><ul><ul><li>Basta um método sem comportamento, abstrato </li></ul...
Generalização vs Agregação <ul><li>Generalização = relação ‘é-um’ </li></ul><ul><li>Agregação = relação ‘tem-um’ </li></ul...
WindowWithScrollbar “é-uma” Window WindowWithScrollbar “tem-uma” Scrollbar Generalização vs Agregação Scrollbar Window Win...
UML: Diagrama de Seqüência  1: cadastrarCliente() Objeto Cliente Objeto Fornecedor Mensagem Escopo de atividade Chamada lo...
 
 
 
UML Msc Luiz Barboza
Upcoming SlideShare
Loading in …5
×

Uml

4,579 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Uml

  1. 1. UML Msc Luiz Barboza
  2. 2. <ul><li>Um abstração </li></ul><ul><li>Descreve: </li></ul><ul><ul><li>Propriedades (atributos) </li></ul></ul><ul><ul><li>Comportamento (operações) </li></ul></ul><ul><ul><li>Relacionamentos </li></ul></ul><ul><ul><li>Semântica </li></ul></ul>UML Representação de Classe <ul><li>Interface </li></ul>Nome da classe Atributos Operações
  3. 3. Revisão Boundary Entity Control = = =
  4. 4. Uso do Diagrama de Classe <ul><li>Modelar uma visão estática do sistema, pode ser obtido com técnicas de analise com base no: </li></ul><ul><ul><li>Entidades do sistema. </li></ul></ul><ul><ul><li>Arquitetura desejada. </li></ul></ul><ul><ul><li>Modelo da base de dados. </li></ul></ul>Estudante + get tuition() + add schedule() + get schedule() + delete schedule() + has pre-requisites() Professor - name - employeeID : UniqueId - hireDate - status - discipline - maxLoad + submitFinalGrade() + acceptCourseOffering() + setMaxLoad() + takeSabbatical()
  5. 5. <ul><li>Mecanismo de organização para agrupamento de outros elementos. </li></ul>Pacote Camada de Negócio
  6. 6. <ul><li>Relacionamento fraco entre dois elementos </li></ul><ul><li>Usado quando não existe uma relação de associação permanente entre os dois elementos. </li></ul><ul><li>Em termos técnicos se trata tipicamente passagem de parâmetros ou variáveis locais de métodos. </li></ul>Dependências Aluno NotaParc
  7. 7. <ul><li>Associações </li></ul><ul><ul><li>Relacionamentos estruturais permanentes </li></ul></ul><ul><li>Dependência </li></ul><ul><ul><li>Relacionamento ‘fraco’ temporário. </li></ul></ul><ul><li>Ambas são identificadas pelo diagrama de seqüência gerado na atividade de análise. </li></ul>Dependências vs. Associações Association Estudante NotaFinal NotaParcial Dependency
  8. 8. Processo de Análise <ul><li>Identificar </li></ul><ul><ul><li>Associação vs Dependência </li></ul></ul><ul><ul><li>Refinamento de Associação </li></ul></ul><ul><ul><ul><li>Composição </li></ul></ul></ul><ul><ul><ul><li>Agregação </li></ul></ul></ul><ul><ul><li>Atributo Primitivo x Associação </li></ul></ul><ul><ul><li>Navegabilidade </li></ul></ul><ul><ul><li>Multiplicidade </li></ul></ul>
  9. 9. <ul><li>Agregação </li></ul><ul><ul><li>Tempo de vida da classe ‘parte’ independente do tempo da classe ‘todo’ </li></ul></ul><ul><li>Composição </li></ul><ul><ul><li>Tempo de vida restrito. </li></ul></ul>Associação: Agregação vs Composição Multiplicidade = 1 1 Todo Parte 0..* Composição Todo Parte 1..* 0..* Multiplicidade > 1
  10. 10. Atributo Primitivo vs Associação <ul><li>Associação quando: </li></ul><ul><ul><li>Elemento não restrito a um tipo primitivo </li></ul></ul><ul><ul><li>Tipicamente um atributo correlacionado a outros da mesma classe. </li></ul></ul><ul><ul><li>Alem da propriedade o elemento possuir um comportamento. </li></ul></ul><ul><ul><li>Ex Cliente vs Endereço. </li></ul></ul>
  11. 11. Navegabilidade <ul><li>Indica o sentido da navegação </li></ul><ul><ul><li>Para cada destino de navegação é preciso um atributo na classe de origem </li></ul></ul><ul><ul><ul><li>Nome do atributo determina pelo nome da extremidade destino da associação </li></ul></ul></ul>Estudante Curso curso Associação nomeada: ‘Role’ (papel)
  12. 12. Multiplicidade <ul><li>Não especificado </li></ul><ul><li>Apenas 1 </li></ul><ul><li>Zero ou mais </li></ul><ul><li>Um ou mais </li></ul><ul><li>Zero ou um </li></ul><ul><li>‘ Range’ específico </li></ul><ul><li>Vários ‘Range’ </li></ul>1 2..4 0..1 1..* 0..* * 2, 4..6
  13. 13. <ul><li>Multiplicidade = 1, ou Multiplicidade = 0..1 </li></ul><ul><ul><li>Atributo simples </li></ul></ul><ul><li>Multiplicidade > 1 </li></ul><ul><ul><li>É preciso utilizar alguma estrutura de dados </li></ul></ul>Implementação da Multiplicidade 0..* 0..1 instructor Needs a container Professor Materia 0..* 0..1 instructor Materia Professor
  14. 14. Estrutura de Dados <ul><li>Explícito </li></ul><ul><li>Por nota </li></ul>instructor Professor Materia 0..* 0..1 Materia <<entity>> Professor <<entity>> CadastroaMaterias + new() + add() 1 0..* 0..1 0..1 +instructor Materia 0..* 0..1 instructor ListaLigada Professor
  15. 15. Classe Parametrizada (Template) Generics <ul><li>Classe que necessita de um tipo adicional para sua instanciação </li></ul><ul><li>Tipicamente Coleções </li></ul><ul><ul><li>ex Lista, Dicionário, Fila e Pilha </li></ul></ul>Item List Classe Parametrizada Tipo
  16. 16. Generalização (Herança) <ul><li>Define </li></ul><ul><ul><li>Relacionamento de ‘é-um’ </li></ul></ul><ul><ul><li>Herança de atributos e métodos </li></ul></ul>Conta balance name number Withdraw() CreateStatement() CCorrente Poupança GetInterest() Superclass Subclasses Relacionamento Generalização
  17. 17. Classes Concretas e Abstratas <ul><li>Abstrata </li></ul><ul><ul><li>Basta um método sem comportamento, abstrato </li></ul></ul><ul><ul><li>Não pode ser instanciado </li></ul></ul><ul><li>Concreto </li></ul><ul><ul><li>Caso precise redefinir o método, indicar como ‘virtual’ (C#) </li></ul></ul><ul><ul><li>Pode ser instanciado </li></ul></ul>Leao talk () Tigre talk () Animal {abstract} talk () {abstract}
  18. 18. Generalização vs Agregação <ul><li>Generalização = relação ‘é-um’ </li></ul><ul><li>Agregação = relação ‘tem-um’ </li></ul>Esta correto? Window WindowWithScrollbar Scrollbar
  19. 19. WindowWithScrollbar “é-uma” Window WindowWithScrollbar “tem-uma” Scrollbar Generalização vs Agregação Scrollbar Window WindowWithScrollbar 1 1 Window WindowWithScrollbar Scrollbar
  20. 20. UML: Diagrama de Seqüência 1: cadastrarCliente() Objeto Cliente Objeto Fornecedor Mensagem Escopo de atividade Chamada local Linha de vida 1.1: validarCredito() Numeração de seqüência de mensagens : Boundary : Control
  21. 24. UML Msc Luiz Barboza

×