Professor: Eduardo Coelho
UNIVERSIDADE FEDERAL DE SERGIPE
CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA
Uma casa possui paredes, portas, janelas, cômodos e luzes. Cada um deles tem um conjunto de propriedades.
Uma classe é uma descrição de um conjunto de objetos que
compartilham os mesmos atributos, operações, relacionamentos e semântica.
É representada graficamente como um retângulo.
Captura o vocabulário do sistema que está em desenvolvimento.
Forma origem mover() redimensionar() exibir() atributos operações nome
Classes manifestam-se por um dos seguintes modos:
Entidades externas: outros sistemas, dispositivos e pessoas. Coisas: relatórios, figuras, cartas, sinais.
Ocorrências ou eventos: transferência de propriedade Papéis: gerente, engenheiro, vendedor
Unidades organizacionais: divisão, grupo, equipe
Lugares: piso de fabricação ou plataforma de carregamento Estruturas: sensores, veículos de quatro rodas, computadores
Um atributo é uma propriedade nomeada de uma classe que
descreve um intervalo de valores que as instâncias da propriedade pode apresentar.
Atributos descrevem uma classe que foi selecionada para inclusão
no modelo de análise.
São os atributos que definem a classe, que esclarecem o que a
Como proceder?
◦ Estudar o Caso de Uso e selecionar as “coisas” que razoavelmente
“pertencem” à classe: Que itens de dados (compostos e/ou elementares) descrevem plenamente essa classe no contexto do problema em mãos.
Cliente nome endereço telefone dataDeNascimento Nome atributos Exemplo:
Uma operação é a implementação de um serviço que pode ser
solicitado por algum objeto da classe para modificar o comportamento.
É uma abstração de algo que pode ser feito com um objeto e que é
As operações definem o comportamento de um objeto. Podem ser divididas em:
1. Operações que manipulam dados (somar, excluir, reformatar, selecionar).
2. Operações que realizam um cálculo.
3. Operações que pesquisam o estado de um objeto.
4. Operações que monitoram um objeto quanto à ocorrência de um evento de controle.
Como identificar?
◦ Estudar o Caso de Uso e selecionar aquelas operações que razoavelmente pertencem á classe. A análise gramatical é novamente estudada e os
verbos são isolados.
Cliente adicionar() aumentar() mover() estaVazio operações Nome Exemplo:
Dependência: representam relacionamentos de utilização entre as classes. Ex.: os canos dependem do aquecedor para fornecerem água quente.
Generalização: relacionam classes generalizadas e suas especializações. Exemplo: janelas panorâmicas são grandes e com painéis fixos de vidro.
Associação: representam relacionamentos estruturais entre objetos. Exemplo: as salas são formadas por paredes e outros itens
Janela abrir() fechar() mover() exibir() tratarEvento() Janelaconsole CaixadeDialogo Evento Controle Generalização Dependência Associação
Clipe reproduzir (c:Canal) iniciar() parar() redefinir() Canal Dependência nome
Forma origem: Ponto
Retângulo Círculo Polígono
mover (deslocamento: Ponto) redimensionar(proporção: Real) exibir() Largura: Distância Altura: Distância redimensionar (proporção:Real) exibir() raio: Distância redimensionar (proporção:Real) exibir()
deslocamentoVértice: Lista de Ponto Redimensionar (proporção: Real)
exibir()
Generalização Classe de base
Forma origem: Ponto
Retângulo Círculo Polígono
mover (deslocamento: Ponto) redimensionar(proporção: Real) exibir() Largura: Distância Altura: Distância redimencionar (proporção:Real) exibir() raio: Distância redimencionar (proporção:Real) exibir()
deslocamentoVértice: Lista de Ponto Redimencionar (proporção: Real)
exibir()
Generalização Classe de base
Pessoa Empresa
funcionário empregador
Nome da extremidade (nome do papel) associação
Pessoa 1..* * Empresa multiplicidade
associação
Cada objeto empresa tem como funcionário um ou mais objetos pessoa. Cada objeto pessoa tem zero ou mais objetos empresa.
Pessoa Empresa todo parte agregação 1 *
Um objeto do todo contém os objetos das partes.
Uma classe representa um item maior (o “todo”), formado por itens menores (as partes).
Janela Moldura todo parte composição 1 *
Ao criar uma moldura em um sistema de janelas, você deve anexá-la em uma janela que a conterá.
Quando você destrói a janela, o objeto Janela deve destruir sua parte Moldura. É um tipo especial de associação.
Pedidos e itens do pedido, é agregação ou
composição?
Empresa
Departamento nome: Nome
Escritório
endereco: Sequencia de caracteres telefone: Numero
Pessoa nome: Nome
codigoDoFuncionario: inteiro titulo: Sequencia de caracteres obterFoto(): Foto obterTelefone(): Numero obterInformacoesDeContato() obterRegistrosPessoais() EscritórioCentral InformacoesDeContato
endereco: Sequencia de caracteres
RegistrosPessoais CodigoDeImposto historicoDeEmprego salario agregação generalização associação Dependência 1 1..* 1..* * 1..* atributos operações * * multiplicidade classe membro papel