Escolar Documentos
Profissional Documentos
Cultura Documentos
UML
Modelagem de Dados com
! Aspectos tratados pelos Diagramas de
UML Classe: Dados e Funções
Eventos
Diagrama de Classes
Funções
Dados
Sistema
Funcionário Departamento
0..* trabalha 1..*
(adaptado de BEZ02)
Modelagem de Dados com Modelagem de Dados com
UML UML
! Exemplos ! Diagrama de Classe
! Classes associativas
financia realizada por
! Informação que surge a partir da associação
Financeira 0..1 * Venda * Vendedor de duas outras classes
código data número
casamento
nome hora nenha Data
nívelAutorização Regime
esposa 0..1
Pessoa
Nome
Endereço: {
Logradouro; 0..1
Bairro; marido
Cidade. }
Sexo
das partes
! O acesso às partes é restrito ao todo Objeto
externo Produto ItemVenda Venda
Pessoa Endereço * *
código
nome logradouro pessoa descrição
quantidade data
sexo bairro hora
cidade
endereço cpf
CPF Uso inadequado de composição:
número Partes de uma composição não podem ser referenciadas
validaCPF: bool por objetos externos
Modelagem de Dados com Modelagem de Dados com
UML UML
! Composição ! Generalização/Especialização
! Exemplo
PessoaFísica PessoaJurídica
Sub-classes PessoaFísica PessoaJurídica
CPF CGC
RG
(herdeiras) CPF CGC
RazãoSocial
Sexo RG RazãoSocial
DataNascimento Sexo
DataNascimento
Modelagem de Dados com Modelagem de Dados com
UML UML
! Generalização/Especialização ! Generalização/Especialização
Classes Abstratas
! Se atributos de uma classe que foram (não é usada para
Empregado {abstrata} gerar objetos)
identificados só podem ser aplicados em recebido durante o ano
tipos específicos da classe, esta é uma calcular pagamento
boa indicação de que a herança deve ser
utilizada [Coad, 1992].
! Exemplo: classe Imóvel, atributo número Empregado Horista Empregado Assalariado Empregado Autônomo
taxa horária
de quartos, num. de suítes, etc. taxa por hora extra
taxa semanal taxa mensal
calcular pagamento calcular pagamento calcular pagamento
Veículo
anfíbio
Nome: string
EstiloMusical
Pagode Rock Axé
Passageiro Poltrona
nome número
Indivíduo 1 * *
1..* Empresa Pessoa
0..* empregador empregado
Companhia 1 0..* Contrato de
de Seguros Seguro {ou}
{ Pessoa.empregador = Pessoa.chefe.empregador }
0..*
Empresa
1..* 0..* Membro-de 0..*
Pessoa {subconjunto}
0..* Comitê
Presidente-de
Modelagem de Dados com Modelagem de Dados com
UML UML
! Restrições ! Restrições
Janela
comprimento
largura Data
1..* casamento Regime
{0,8<=comprimento/largura<=1,5} Cargo 0..1
Empregado 1 {pessoa.sexo=Feminino} esposa
salário chefe prioridade
Pessoa
Atributo derivado
Atributo derivado
Transmutação Perguntas?
! Exercício
! Em uma IFES, o plano de carreira para
professores é dividido em quatro etapas:
! Auxiliar, Assistente, Adjunto e Titular
! Construa um modelo de classes que
preserve o histórico de um professor
durante a sua vida profissional
! Em particular, é importante manter o registro
do início e término do desempenho em uma
das etapas