0
Engenharia de Software        Aula 7 – Diagrama de Classes              Profa. Dra. Judith Pavón    Universidade Salvador ...
Objetivo da aulaO objetivo desta aula é apresentar osconceitos de diagrama de classes.                                    ...
Conteúdo•   Introdução•   Classe•   Atributos•   Métodos•   Ligação e Associação•   Papel do objeto•   Multiplicidade•   A...
Introdução   Geralmente é utilizada a linguagem UML,    especificamente o diagrama de classes.   Notação que permite des...
Classe   Classe: descrição de uma coleção de objetos    que possuem propriedades semelhantes    (atributos, métodos, asso...
Atributo   Informação associada a um objeto. Cada objeto da    classe possui um valor em cada atributo definido pela    c...
Métodos   São as operações que podem ser executadas sobre um    objeto. Definida para cada objeto da classe.   Represent...
Método da classe – Diagrama de classe                         Funcionario                              Projeto            ...
Ligação e Associação   Uma ligação é um relacionamento entre objetos,    que se deseja conhecer no sistema.    •   Ex.: a...
Papel do objeto    Um objeto cumpre um papel dentro de uma associação.                                     esposa   - Ser ...
Multiplicidade   Existem situações em que é necessário restringir o    número de objetos associados através de uma    ass...
Associação 1:1       esposa   0.. 1                                 casamento            Pessoa          código        0.....
Atributos de Associações    Uma associação pode ser tratada como uma classe,     que possui atributos, relacionamentos e ...
Exemplo de Classe   Associativa  Produto        0..*                  0..*    Venda código                                ...
Transformação de Classes   Associativas  Produto        1   0..*                  1..*   1     Venda                      ...
Associação ternária Cidade                                          Distribuidor                     Distribuiçãocódigo   ...
Agregação   A agregação corresponde a um caso particular de    associação, utilizada para expressar um relacionamento    ...
Composição   A composição é uma variação da agregação simples. A    diferença com a agregação simples, consiste no fato d...
Generalização/Especialização   Pessoa física/jurídica são especializações de cliente.    Cliente é uma generalização de p...
Herança e Agregação   Herança e agregação são conceitos diversos.   Herança é um relacionamento chamado de “é-um”     • ...
Combinando generalização e     agregação   Um documento pode ser composto de vários componentes.   Um componente é uma f...
Dúvidas          22
Upcoming SlideShare
Loading in...5
×

Aula7 diagrama classes

278

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
278
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Aula7 diagrama classes"

  1. 1. Engenharia de Software Aula 7 – Diagrama de Classes Profa. Dra. Judith Pavón Universidade Salvador – UNIFACS 2012
  2. 2. Objetivo da aulaO objetivo desta aula é apresentar osconceitos de diagrama de classes. 2
  3. 3. Conteúdo• Introdução• Classe• Atributos• Métodos• Ligação e Associação• Papel do objeto• Multiplicidade• Agregação/Composição• Generalização/Especialização 3
  4. 4. Introdução Geralmente é utilizada a linguagem UML, especificamente o diagrama de classes. Notação que permite descrever: • classes • atributos e métodos • relacionamentos • detalhes de implementação (código) Pode ser usada em vários níveis de abstração (conceitual, lógico e físico). 4
  5. 5. Classe Classe: descrição de uma coleção de objetos que possuem propriedades semelhantes (atributos, métodos, associações). Produto códigoProduto descrição CalcularPreço( ) CalcularImpostos( ) 5
  6. 6. Atributo Informação associada a um objeto. Cada objeto da classe possui um valor em cada atributo definido pela classe. Na prática, somente aparecem no diagrama os atributos mais relevantes, pois a lista completa dos atributos e seus domínios estão no dicionário de dados (DD) separado. Produto códigoProduto: Atributos Integer descrição: String CalcularPreço( ) CalcularImpostos( ) 6
  7. 7. Métodos São as operações que podem ser executadas sobre um objeto. Definida para cada objeto da classe. Representar no diagrama somente os métodos importantes para a compreensão.DIFERENÇAS ENTRE MÉTODO DO OBJETO E MÉTODO DAS CLASSES Método do objeto (instância): atua sobre um objeto Método da classe: atua sobre a classe (o conjunto de objetos) • Ex.: métodos que procuram determinados objetos na classe. 7
  8. 8. Método da classe – Diagrama de classe Funcionario Projeto 1..* 1 nome: Integer trabalha Descrição: Integer cargo: String inicio: String 1 0..1 Salario:real gerencia fim:real obterCargo( ) Custo: realMétodos $CalcularMediaSalario( ) CalcularValorProjeto( ) Método da classe (indicado pelo prefixo $) FuncionarioContratado FuncionarioTerceirizado carteiraProfissional:string inicioContrato:date dataAdmissão:date terminoContrato:date taxaAdministração 8
  9. 9. Ligação e Associação Uma ligação é um relacionamento entre objetos, que se deseja conhecer no sistema. • Ex.: a ligação entre o objeto Projeto e o objeto FuncionarioTerceirizado. Uma associação é a descrição de uma coleção de ligações que, para fins de projeto , possuem propriedades semelhantes (classes envolvidas, atributos, métodos). • Ex.: a associação entre a classe Funcionario e a classe Projeto. 9
  10. 10. Papel do objeto Um objeto cumpre um papel dentro de uma associação. esposa - Ser marido ou esposa écasamento o papel exercido por um Pessoa objeto Pessoa dentro de marido código uma associação nome casamento. sexo nome do associação endereço papel 10
  11. 11. Multiplicidade Existem situações em que é necessário restringir o número de objetos associados através de uma associação a um objeto determinado (restringir a cardinalidade). • Ex.: um homem não deve possuir mais de uma esposa. As multiplicidades são classificadas de acordo a sua cardinalidade máxima:  0..1 (valor opcional)  1.. 1 ou 1 (exatamente um)  0..* ou * (qualquer valor inteiro não-negativo)  1..* (qualquer valor inteiro positivo) 11
  12. 12. Associação 1:1 esposa 0.. 1 casamento Pessoa código 0.. 1 nome sexo marido endereço 12
  13. 13. Atributos de Associações Uma associação pode ser tratada como uma classe, que possui atributos, relacionamentos e métodos. Neste caso é denominada classe associativa . • Ex.: como toda venda não é financiada, então os atributos e métodos da financiamento devem aparecer no relacionamento. 0..1 0..* VendaFinanceira número código data nome Financiamento ItemdeVenda dataAprovação autoriza( ) 13
  14. 14. Exemplo de Classe Associativa Produto 0..* 0..* Venda código número nome dataCalcPreço( ) ItemVendaCalcImposto( ) quantidade CalcTotal( ) 14
  15. 15. Transformação de Classes Associativas Produto 1 0..* 1..* 1 Venda ItemVenda código quantidade número nome CalcTotal( ) dataCalcPreço( )CalcImposto( ) Ainda falta refinar este diagrama!! 15
  16. 16. Associação ternária Cidade Distribuidor Distribuiçãocódigo 1 1 númeronome 0..* 0..* nome 0..* 1 TipoProduto Distribuição é um codprod relacionamento que nome associa estas três classes. 16
  17. 17. Agregação A agregação corresponde a um caso particular de associação, utilizada para expressar um relacionamento “todo-parte”. A agregação representa uma propriedade fraca, pois uma classe “parte” pode estar contida em várias classes “todo”.PaginaWeb Imagem Diretorio 0..* 1..* “todo” “parte” “todo” 17
  18. 18. Composição A composição é uma variação da agregação simples. A diferença com a agregação simples, consiste no fato de que a classe parte pertence somente à classe todo.  Exemplo: uma venda é composta de vários detalhes (itens), quando a venda é criada os itens de venda também o são, e quando a venda é eliminada também serão eliminados os itens. Produto ItemVenda Venda 1 0..* 1..*códigoProduto quantidade númerodescrição CalcTotal( ) dataCalcPreço( ) CalcImp( )CalcImp( ) 18
  19. 19. Generalização/Especialização Pessoa física/jurídica são especializações de cliente. Cliente é uma generalização de pessoa física/pessoa jurídica. Cliente 1 0..* Venda código nome PessoaFísica PessoaJurídica documentoId CGC datanasc nomeInstituição 19
  20. 20. Herança e Agregação Herança e agregação são conceitos diversos. Herança é um relacionamento chamado de “é-um” • pessoa física é um cliente Agregação é chamada de “é-parte-de” • item de venda é parte de uma venda Herança não é seletiva • Todas as propriedades da classe genérica são herdadas 20
  21. 21. Combinando generalização e agregação Um documento pode ser composto de vários componentes. Um componente é uma figura, uma tabela ou texto. Componente 1..* Documento Texto Tabela Figura 21
  22. 22. Dúvidas 22
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×