Escolar Documentos
Profissional Documentos
Cultura Documentos
Classes
Classes
Professor: Giuliano
TCNICA
MODELAGEM CONCEITUAL
GENERALIZAO/ESPECIALIZAO,
AGREGAO E COMPOSIO
Generalizao/Especializao
Herana o termo em orientao a objetos que se refere criao de novas classes a partir
de existentes onde os atributos e operaes comuns so agrupados para fins de reutilizao
de cdigo. Observe as duas classes abaixo:
Perceba que h muitos atributos comuns entre elas e isso demanda muito trabalho para
definir e alter-los. Alm disso, o que estas duas classes tm em comum ? Elas fazem parte
de um sistema de controle de pessoal e representam os funcionrios de uma empresa. Com
base nesses fatos, aplicaremos a tcnica da generalizao para eliminar as duplicidades e
deixar o modelo mais elegante.
1- Criao da superclasse
Para implementar a generalizao, criamos uma terceira classe generalista para agrupar
os membros comuns de Gerente e Secretaria (matricula, nome, salario e depto). Essa
classe deve receber um nome que tambm seja uma generalizao de gerente e
secretria e, por isso, escolhemos Funcionario.
UNEB
Professor: Giuliano
Outra forma de representao pode ser vista na figura abaixo. Para fazer isso na
ferramenta JUDE, selecione um relacionamento, clique na ponta da seta, arraste e solte
sobre a ponta da outra seta.
UNEB
Professor: Giuliano
4- Validar os relacionamentos
Ao contrrio do relacionamento de associao, a generalizao no precisa de um
nome, pois implicitamente o relacionamento deve ser lido como um. Isso inclusive
serve para conferir se o j o relacionamento est vlido ou se o nome da classe
generalista foi escolhido corretamente. Assim, as seguintes perguntas devem ter uma
resposta afirmativa para que nosso relacionamento seja vlido:
Gerente um funcionrio ?
Secretria um funcionrio ?
- Resposta: SIm
- Resposta: Sim
Agregao
um tipo especial de associao onde tenta-se demonstrar que as informaes de um
objeto precisam ser complementadas pelas informaes contidas em um ou mais objetos de
outra classe, demonstrando um relacionamento todo-parte entre elas. interessante
ressaltar que para ser agregao, as classes podem viver independentemente. Vejamos um
exemplo onde temos as classes Time e Jogador. Um time pode ser composto de nenhum ou
vrios jogadores. Um jogador pode estar contido no mximo em um time.
Poderamos apenas fazer uma associao entre Time e Jogador e extrair as cardinalidades,
mas queremos dar um enfoque que as informaes do time so completadas pelos seus
jogadores, ou seja, que os jogadores fazem parte do time. Entretanto, se eu excluir o time,
os jogadores continuam existindo. Assim, utilizamos a notao da agregao que uma reta
com um losango na ponta ligada classe do lado todo (que contm):
UNEB
Professor: Giuliano
Composio
A composio uma variao da agregao onde se tenta representar um vnculo mais
forte entre os objetos todo-parte ao ponto de um no existir sem o outro. Vejamos o exemplo
entre as classes Revista e Edio. Uma revista deve ser composta de no mnimo um artigo,
mas pode conter vrios. Um artigo obrigatoriamente deve pertencer a uma e somente uma
revista.
Poderamos fazer apenas uma associao entre Revista e Artigo, mas queremos
demonstrar que revista e artigos formam um nico conjunto e que um no existe sem o
outro. O smbolo da composio diferencia-se graficamente da agregao por utilizar um
losango preenchido que, da mesma forma, deve ficar do lado do objeto -todo:
Uma revista pode ter vrios artigos, mas se a revista for excluda, teremos que excluir
tambm os artigos. No faz sentido ter um objeto artigo que ele esteja vinculado a uma
revista. Sua nica razo de existir "compr" a revista.
UNEB
Professor: Giuliano
Exerccios Propostos
1. Usando seus conhecimentos de generalizao/especializao, analise as duas classes
abaixo e proponha um novo modelo que elimine as duplicaes
4. Em um sistema foram identificadas duas classes: Pessoa e Corao. Uma pessoa deve
ter um e somente um corao e um corao s pode pertencer a uma pessoa. Com
base no enunciado acima, faa a representao das duas classes (atributos e mtodos
no so necessrios) e seu relacionamento (com nome e cardinalidades).
5. Em um sistema para uma concessionria foram identificadas as classes Carro e
Autopea. Um carro pode possuir uma ou vrias autopeas. Uma autopea serve para
apenas um carro. Com base no enunciado acima, faa a representao das duas
classes (atributos e mtodos no so necessrios) e seu relacionamento (com nome e
cardinalidades).
6. Em um sistema de vendas foram identificadas as classes Pedido e ItemPedido. Um
pedido deve conter no mnimo um item ou vrios. Um item deve obrigatoriamente
pertencer a um nico pedido. Com base no enunciado acima, faa a representao das
UNEB
Professor: Giuliano