Escolar Documentos
Profissional Documentos
Cultura Documentos
(UniCarioca) Analise - e - Projeto - Aula5
(UniCarioca) Analise - e - Projeto - Aula5
Modelagem de Classes
Introdução
• Funcionalidades de um Software OO colaborações (comunicação)
entre objetos.
Projeto (Especificação)
Venda
Pagamento -data:Date
1 Pago-por 1
-hora:Time
-quantia: Currency
+getTotal():Currency
+getValor(): Currency
Classes
• Descrevem objetos através de atributos e operações.
• Atributos correspondem às informações que um objeto armazena.
• Operações correspondem às ações que um objeto sabe realizar.
• Exemplos:
Multiplicidades
• Representam a informação dos limites inferior e superior da
quantidade de objetos aos quais outro objeto pode se associar.
• Exemplo
– Pode haver um cliente que esteja associado a vários pedidos.
– Pode haver um cliente que não esteja associado a pedido algum.
– Um pedido está associado a um, e somente um, cliente.
• Exemplo
– Uma corrida está associada a, no mínimo, dois velocistas
– Uma corrida está associada a, no máximo, seis velocistas.
– Um velocista pode estar associado a várias corridas.
Conectividade
• A conectividade corresponde ao tipo de associação entre duas
classes: “muitos para muitos”, “um para muitos” e “um para um”.
• Características:
– São assimétricas, no sentido de que, se um objeto A é parte de
um objeto B, o objeto B não pode ser parte do objeto A.
– Propagam comportamento, no sentido de que um
comportamento que se aplica a um todo automaticamente se
aplica às suas partes.
– As partes são normalmente criadas e destruídas pelo todo. Na
classe do objeto todo, são definidas operações para adicionar e
remover as partes
Agregações e Composições
– X tem um ou mais Y?
– Y é parte de X?
Exemplos
23
Agregação X Composição
• Propriedades:
– Assimetria: “Se A herda de B, então B não pode herdar de A”
– Transitividade: Uma classe em uma hierarquia herda propriedades e relacionamentos de
todos os seus ancestrais
Generalizações e Especializações
Herança de Associações
– herança simples
Formato Exemplo
nomeClasse Pedido
produto20 : Produto
nome = "Caderno M"
descrição = "Caderno em espiral tamanho médio"
preçoUnitário = 4,50
item1 : ItemPedido desconto = 15
quantidade = 6
Pedido1 : Pedido produto12 : Produto
da aItemPedido
Produto
=Pedido
13/09/2 00 nome = "Caneta ESF"
t 2 item2 : ItemPedido descrição = "Caneta esferográfica 5mm"
hora = 10:00am quantidade = 20 preçoUnitário = 1,20
desconto = 2
Antônio : Empregado
Aline : Empregado
Empregado
José : Empregado Lucas : Empregado
Maria : Empregado
Técnicas para identificação de
classes
Identificação de Classes
– Eventos, ou seja, ocorrências em uma data e em uma hora particulares. Por exemplo,
reuniões, pedidos, aterrisagens, aulas, etc.
– Lugares: áreas reservadas para pessoas ou coisas. Por exemplo: escritórios, filiais, locais de
pouso, salas de aula, etc.
– Conceitos abstratos: princípios ou idéias não tangíveis. Por exemplo: reservas, vendas,
inscrições, etc.
Análise Textual de Abbott
• Estratégia: identificar termos da narrativa de casos de uso e documento de requisitos
que podem sugerir classes, atributos, operações.
• Características
– Normalmente armazenam informações persistentes.
– Várias instâncias da mesma entidade existindo no sistema.
– Participam de vários casos de uso e têm ciclo de vida longo.
• Exemplo:
– Um objeto Pedido participa dos casos de uso Realizar Pedido e Atualizar Estoque.
Este objeto pode existir por diversos anos ou mesmo tanto quanto o próprio sistema.
Objetos de Fronteira
– também são responsáveis por apresentar os resultados de uma interação dos objetos em algo
inteligível pelo ator.