12
1 1 UML UML Linguagem de Modelagem Unificada Linguagem de Modelagem Unificada Aula 4 Aula 4 2004 2004 2 2 Modelagem de Dados Modelagem de Dados com UML com UML 3 3 UFPA-2004 -UML (Linguagem de Modelagem Unificada) - [email protected] Modelagem de Dados com Modelagem de Dados com UML UML Diagrama de Classes Diagrama de Classes Representação dos dados manipulados e Representação dos dados manipulados e armazenados pelos programas de acordo armazenados pelos programas de acordo com os conceitos de Orientação a Objetos com os conceitos de Orientação a Objetos Notação fortemente baseada no Notação fortemente baseada no Diagramas Entidade Diagramas Entidade - - Relacionamento de Relacionamento de Peter Peter Chen Chen 4 4 UFPA-2004 -UML (Linguagem de Modelagem Unificada) - [email protected] Modelagem de Dados com Modelagem de Dados com UML UML Diagrama de Classe Diagrama de Classe Notação Notação Nome da classe Atributo atributo: tipo de dado atributo: tipo de dado = valor inicial Operação Operação(lista de argumentos): tipo do resultado Opcionais (fornecidos somente após um melhor entendimento do sistema)

UML aula4

Embed Size (px)

Citation preview

Page 1: UML aula4

11

UMLUMLLinguagem de Modelagem UnificadaLinguagem de Modelagem Unificada

Aula 4Aula 420042004

22

Modelagem de DadosModelagem de Dadoscom UMLcom UML

33UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClassesDiagrama de Classes–– Representação dos dados manipulados e Representação dos dados manipulados e

armazenados pelos programas de acordo armazenados pelos programas de acordo com os conceitos de Orientação a Objetoscom os conceitos de Orientação a Objetos

–– Notação fortemente baseada no Notação fortemente baseada no Diagramas EntidadeDiagramas Entidade--Relacionamento de Relacionamento de Peter Peter ChenChen

44UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClasseDiagrama de Classe–– NotaçãoNotação

Nome da classe

Atributoatributo: tipo de dadoatributo: tipo de dado = valor inicial

OperaçãoOperação(lista de argumentos):

tipo do resultadoOpcionais(fornecidos somente apósum melhor entendimentodo sistema)

Page 2: UML aula4

55UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClassesDiagrama de Classes–– AssociaçõesAssociações

Livro Pessoaescrito por0..* 1..*

Multiplicidade da associação

Rótulo da associação66U

FPA-

2004

-U

ML

(Lin

guag

em d

e M

odel

agem

Uni

ficad

a) -

quite

s@co

mpu

ter.

org

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClasseDiagrama de Classe–– AtributosAtributos

Pessoa

Nome: StrEndereço: {Logradouro: Str,Bairro: Str,Cidade: Str. }Telefones: Array of Int Obs: Atributos compostos e

Multivalorados sãopermitidos pelo modelo dedados OO

77UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClassesDiagrama de Classes–– AssociaçõesAssociações

Livro

Título: StrISBN: IntEditora: Str

Pessoa

Nome: StrEndereço: {Logradouro: Str,Bairro: Str,Cidade: Str. }Telefones: Array of Int

escrito por0..* 1..*

Multiplicidade da associação

Rótulo da associação

88UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClassesDiagrama de Classes–– Atributos e MétodosAtributos e Métodos

Conta Bancária

númerosaldodataAbertura

criar()bloquear()desbloquear()creditar()debitar()

Pessoa

Nome: StrEndereço: {

Logradouro: Str,Bairro: Str,

Cidade: Str. }Telefones: Array of Int

1*titular

Papel da classe na associação

Obs: recomenda-se sempre incluiro nome da associação ou um papel

Page 3: UML aula4

99UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClassesDiagrama de Classes–– Associações entre objetos (Exemplos)Associações entre objetos (Exemplos)

Funcionário

0..1

*

Supervisiona

Associação Unária

Funcionário

João

supervisiona

É supervisionado por

1010UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClassesDiagrama de Classes–– Associações entre objetosAssociações entre objetos

NavegabilidadeNavegabilidade

Funcionário Departamento0..* trabalha 1 Associação Binária

Funcionário trabalha em Departamento

Funcionário

João

Departamento

Financeiro

1111UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClassesDiagrama de Classes–– Associações entre objetosAssociações entre objetos

NavegabilidadeNavegabilidade

Funcionário Departamento0..* trabalha

Funcionário

João

Departamento

Financeiro

1212UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Multiplicidade Significado

0..1 Zero ou um

1 Somente 1 (opcional)

0..* Maior ou igual a zero

* Maior ou igual a zero

1..* Maior ou igual a 1

1..15 (m..n) De 1 a 15 (m a n), inclusive

Diagrama de ClassesDiagrama de Classes–– MultiplicidadeMultiplicidade

Page 4: UML aula4

1313UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClassesDiagrama de Classes–– ExemplosExemplos

Funcionário Departamento1 trabalha 0..1

Funcionário Departamento0..* trabalha

Funcionário Departamento0..* trabalha 1..*

(adaptado de BEZ02) 1414UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClassesDiagrama de Classes–– ExemplosExemplos

Funcionário Departamento

trabalha**

gerente 0..1

1515UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

ExemplosExemplos

Financeira

códigonome

Venda

datahora

VendedornúmeronenhanívelAutorização

financia0..1 * *

realizada por

1616UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClasseDiagrama de Classe–– Classes associativasClasses associativas

Informação que surge a partir da associação Informação que surge a partir da associação de duas outras classesde duas outras classes

Pessoa

NomeEndereço: {Logradouro;

Bairro;Cidade. }

Sexo

marido

esposa

0..1

0..1

casamento DataRegime

Page 5: UML aula4

1717UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClasseDiagrama de Classe–– Classes associativasClasses associativas

Aluno Disciplina** matriculado

conceitosemestre

1818UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClasseDiagrama de Classe–– Classes associativasClasses associativas

Financeira

códigonome

Venda

datahora

VendedornúmeronenhanívelAutorização

financia0..1 * *

realizada por

registroAprovaçãodataAprovação

Financiamento

1919UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClasseDiagrama de Classe–– Classes associativasClasses associativas

Observação importante: o conceito de “Classe Observação importante: o conceito de “Classe Associativa” não é permitido em todas as Associativa” não é permitido em todas as linguagens de programação e sistemas de linguagens de programação e sistemas de banco de dados OObanco de dados OOAssim, em muitos casos as classes Assim, em muitos casos as classes associativas encontradas em Análise são associativas encontradas em Análise são substituídas por classes regulares em Projetosubstituídas por classes regulares em Projeto

2020UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de ClasseDiagrama de Classe–– Classes associativasClasses associativas

Classe associativa substituída por normalClasse associativa substituída por normalFuncionário Departamento* trabalha 0..1

saláriodataContratação

Funcionário Departamento?EmpregosaláriodataContratação

???

Exercício: definir a multiplicacidade para manter o mesmo significado do modelo acima

Page 6: UML aula4

2121UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de Classe Diagrama de Classe –– AgregaçãoAgregação

Associa de Associa de todo/partetodo/parteAção realizada sobre todo atinge as partesAção realizada sobre todo atinge as partesTipo especial de associaçãoTipo especial de associação

Documento Parágrafo Sentença0..* 0..*

Documento Parágrafo Sentença0..* 0..*

composto-por composto-por

2222UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Diagrama de Classe Diagrama de Classe –– AgregaçãoAgregação

ExemploExemplo

AssociaçãoEsportiva

Equipe Jogador0..* 0..*◀ afiliada

2323UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUMLAgregação Agregação vsvs ComposiçãoComposição–– Composição é um tipo especial de agregação (por Composição é um tipo especial de agregação (por

valor)valor)–– Semanticamente equivalente a um atributoSemanticamente equivalente a um atributo

Pessoa

nomeendereço: {logradouro;bairro;cidade. }cpfsexo

Pessoa

nomesexo

logradourobairrocidade

Endereço

composição

número

CPF

validaCPF: bool2424U

FPA-

2004

-U

ML

(Lin

guag

em d

e M

odel

agem

Uni

ficad

a) -

quite

s@co

mpu

ter.

org

Modelagem de Dados com Modelagem de Dados com UMLUML

ComposiçãoComposição–– A remoção do todo implica na remoção A remoção do todo implica na remoção

das partesdas partes–– O acesso às partes é restrito ao todoO acesso às partes é restrito ao todo

Pessoa

nomesexo

logradourobairrocidade

Endereço

número

CPF

validaCPF: bool

pessoa

endereço cpf

Objetoexterno

Page 7: UML aula4

2525UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

ComposiçãoComposição–– ExemploExemplo

Produto

códigodescrição

ItemVenda

quantidade

Venda

datahora

* *

(adaptado de [HEU00])

Uso inadequado de composição:Partes de uma composição não podem ser referenciadaspor objetos externos

2626UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

ComposiçãoComposição–– ExemploExemplo

Produto

códigodescrição

ItemVenda

quantidade

Venda

datahora

* *

Uso adequado de composição

2727UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Generalização/EspecializaçãoGeneralização/Especialização

2828UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Generalização/EspecializaçãoGeneralização/Especialização–– Herança de propriedadesHerança de propriedades–– Associação do tipo “é um”Associação do tipo “é um”

Cliente

nome

PessoaFísicaCPFRGSexoDataNascimento

PessoaJurídica

CGCRazãoSocial

Super-classe

Sub-classes(herdeiras)

Page 8: UML aula4

2929UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Generalização/EspecializaçãoGeneralização/Especialização–– Polimorfismo: não há necessidade de se Polimorfismo: não há necessidade de se

criar uma associação entre Venda e criar uma associação entre Venda e subclasses de Clientesubclasses de Cliente

Cliente

nome

PessoaFísicaCPFRGSexoDataNascimento

PessoaJurídica

CGCRazãoSocial

Compra** realiza

3030UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Generalização/EspecializaçãoGeneralização/Especialização

Empregado {abstrata}

recebido durante o ano

calcular pagamento

Empregado Horistataxa horáriataxa por hora extracalcular pagamento

Empregado Assalariado

taxa semanal

calcular pagamento

Empregado Autônomo

taxa mensal

calcular pagamento

Classes Abstratas(não é usada para

gerar objetos)

3131UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Generalização/EspecializaçãoGeneralização/Especialização–– Herança MúltiplaHerança Múltipla

Veículoanfíbio

Veículo

Veículoterrestre

Veículoaquático

Conceito pouco usado na prática:Conceito pouco usado na prática:••Poucas linguagens de programaçãoPoucas linguagens de programaçãopermitem o usopermitem o uso

••Adiciona maior complexidade aoAdiciona maior complexidade aomodelomodelo

3232UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Generalização/EspecializaçãoGeneralização/Especialização

Cliente

ContaBancárianúmerodataAberturasaldo

debitar(quantia)creditar(quantia)

HistóricoTransações

ContaCorrente

limiteSaque

ContaPoupançadataAniversáriorendimento

** *

Page 9: UML aula4

3333UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

ExercícioExercício–– Usar classes e associações para definir o glossário do sistema Usar classes e associações para definir o glossário do sistema

“Jogo de Futebol” descrito de seguida: “O jogo de futebol é “Jogo de Futebol” descrito de seguida: “O jogo de futebol é realizado por duas equipes de jogadores. Cada equipe é realizado por duas equipes de jogadores. Cada equipe é composta por 11 jogadores, com diferentes funções: o goleiro, composta por 11 jogadores, com diferentes funções: o goleiro, zagueiros, médios, atacantes, e pontas de lança. O ponta de zagueiros, médios, atacantes, e pontas de lança. O ponta de lança é um atacante especial por ter especiais características lança é um atacante especial por ter especiais características de de goleador... O jogo é realizado num campo com medidas goleador... O jogo é realizado num campo com medidas regulamentares (em comprimento e largura), tem duas balizas, regulamentares (em comprimento e largura), tem duas balizas, cada qual em extremos opostos do campo. Ganha o jogo a cada qual em extremos opostos do campo. Ganha o jogo a equipe que marcar mais gols (i.e., colocar a bola) na baliza do equipe que marcar mais gols (i.e., colocar a bola) na baliza do adversário. No jogo apenas existe uma única bola, que apresenta adversário. No jogo apenas existe uma única bola, que apresenta características (peso, diâmetro, …) regulamentares... O jogo de características (peso, diâmetro, …) regulamentares... O jogo de futebol é mediado por uma equipe de 3 árbitros, em que um é o futebol é mediado por uma equipe de 3 árbitros, em que um é o árbitro principal, e os outros dois são árbitros auxiliares…”.árbitro principal, e os outros dois são árbitros auxiliares…”.

3434UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

RestriçõesRestrições

Diretoria func{func.cargo = “Diretor”}0..1 0..*

Contacorrente

Indivíduo

Organização

0..*

0..*0..1

0..1

{ou}

3535UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

RestriçõesRestrições

Contrato deSeguro

Indivíduo

Empresa

0..*

0..*1..*

1..*

{ou}Companhiade Seguros

0..*1

3636UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

RestriçõesRestrições

PessoaEmpresaempregado

1 *

chefe0..1

*

{ Pessoa.empregador = Pessoa.chefe.empregador }

empregador

Pessoa Comitê

Membro-de

Presidente-de

{subconjunto}

0..*

0..*

0..*

Page 10: UML aula4

3737UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

RestriçõesRestrições

Empregado

salário chefe

{Empregado.salário < Empregado.chefe.salário}

Janelacomprimentolargura

{0,8<=comprimento/largura<=1,5} Cargo

prioridade

{prioridade nunca cresce}

1..*

1

Janela TelaVisível em

{ordenado}

*

3838UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

RestriçõesRestrições

Pessoa

NomeEndereço: {Logradouro;

Bairro;Cidade. }

Sexo

marido

esposa

0..1

0..1 casamentoData

Regime{pessoa.sexo=Feminino}

{pessoa.sexo=Masculino}

3939UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

RestriçõesRestrições–– ExemplosExemplos

Pessoa Condomínio

mora

síndico

*

{subconjunto}

4040UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

RestriçõesRestrições

Conta Bancária

númerosaldodataAbertura

criar()bloquear()desbloquear()creditar()debitar()

Pessoa

Nome: StrEndereço: {

Logradouro: Str,Bairro: Str,

Cidade: Str. }Telefones: Array of Int

1..**correntista

titular

{subconjunto}

*

Page 11: UML aula4

4141UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

Modelagem de Dados com Modelagem de Dados com UMLUML

Atributo derivadoAtributo derivado

Pessoa

data-de-nascimento/idade

{idade = data-atual - data-de-nascimento}

Atributo derivado

ProdutoValor de vendaCusto/Lucro

{lucro = valor de venda - custo}

Atributo derivado

4242UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

4343UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

DiscussãoDiscussão

Complementar o modelo de controle Complementar o modelo de controle acadêmico.acadêmico.–– Acrescentar o monitor (aluno): o aluno Acrescentar o monitor (aluno): o aluno

pode exercer o papel de monitor durante pode exercer o papel de monitor durante um períodoum período

–– Permitir que uma pessoa exerça Permitir que uma pessoa exerça simultaneamente o papel de Professor e simultaneamente o papel de Professor e Aluno da UniversidadeAluno da Universidade

4444UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

DiscussãoDiscussão

Monitor, Professor, Aluno: herançaMonitor, Professor, Aluno: herança

Pessoa

AlunoProfessor

Monitor

Page 12: UML aula4

4545UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

DiscussãoDiscussão

Monitor, Professor, Aluno: herançaMonitor, Professor, Aluno: herança–– ProblemasProblemas

Acomodação inábil de objetos que mudam de Acomodação inábil de objetos que mudam de classesclassesTransmutaçãoTransmutação Pessoa

AlunoProfessor

Monitor4646U

FPA-

2004

-U

ML

(Lin

guag

em d

e M

odel

agem

Uni

ficad

a) -

quite

s@co

mpu

ter.

org

DiscussãoDiscussão

Monitor, Professor, Aluno: herançaMonitor, Professor, Aluno: herança–– SoluçãoSolução

Combinar herança e associaçãoCombinar herança e associação

PapelPessoa

AlunoProfessor Monitor

Pessoa {abstrata}*

nomecpfdataNascimento

exerce

matrícula matrícula

1. Início: 01/022. Início: 01/11

Fim: 31/123. Fim: 31/12

4. Início: 01/01/próximo ano

0. criação

4747UFP

A-20

04 -

UM

L (L

ingu

agem

de

Mod

elag

em U

nific

ada)

-qu

ites@

com

pute

r.or

g

TransmutaçãoTransmutação

ExercícioExercício–– Em uma IFES, o plano de carreira para Em uma IFES, o plano de carreira para

professores é dividido em quatro etapas:professores é dividido em quatro etapas:Auxiliar, Assistente, Adjunto e TitularAuxiliar, Assistente, Adjunto e Titular

–– Construa um modelo de classes que Construa um modelo de classes que preserve o histórico de um professor preserve o histórico de um professor durante a sua vida profissionaldurante a sua vida profissional

Em particular, é importante manter o registro Em particular, é importante manter o registro do início e término do desempenho em uma do início e término do desempenho em uma das etapasdas etapas