Upload
weliton-junior
View
1.072
Download
1
Embed Size (px)
Citation preview
1
DIAGRAMA DE CASO DE USO –resolução de exercício
<<extend>>
usuário
Fazer Ligação de Conferência
Fazer Ligação
Receber Ligação
Receber Ligação Adicional
2
Diagrama de Classes
UML – Diagramas
3
UML - DIAGRAMAS DE CLASSE
Roteiro: Introdução (descrição, perspectivas) Atributos, Operações, Restrições Identificando Classes Estereótipos de Classe : entidade, controle e
fronteira Relacionamentos
4
UML - DIAGRAMAS DE CLASSE
Modelam os aspectos estruturais do sistema;
Constituem a essência da UML; Estrutura Lógica estática, mostrando uma
coleção de elementos declarativos de modelo : classes, tipos e seus respectivos conteúdos e relacionamentos.
5
Produto
ClientenomeendereçoClasseCred:string
1
*
* 1
Empregado
*0..1
Linha de Pedidoquant : integerpreço : realsatisfeito:boolean
PedidodataEmisséPrepagonúmero:stringpreço:moneyexpedir( )encerrar ( )
* 1
{Se Pedido.Cliente.ClasseCred=“ruim”, entãoPedido.éPrepago=“v”}
Cliente CorporativonomeContatoClasseCredlimitecréditoaviso ( )faturamensal (integer)
Cliente Pessoal
#CartaoCred
Rep venda
linha deitem
6
UML - DIAGRAMAS DE CLASSE
Perspectivas: Conceitual - associações representam relações
conceituais entre classes; Especificação - associações representam
responsabilidades; Implementação - envolve detalhes de
implementação, especificando “como” será implementada, p.e., uma associação cliente-pedido
7
UML - DIAGRAMAS DE CLASSE
Atributos: Sintaxe UML :
visibilidade nome : tipo = valorinicial {propriedade} Visibilidade: (+) pública, (#) protegida, (-) privada Nome: Começa com letra minúscula, concatena-se
as demais palavras, sendo a primeira letra de cada palavra em maiúscula: nomeDoCliente,limiteCredito
Tipo e valor inicial (opcional): dependem da LP Propriedade: descrição, tipo de atributo(estático,
constante, final), domínio de valores A multiplicidade pode ser também indicada
ex: data_de_recebimento [0..1] : Date; cores[3]:Cor;
ClasseAtributos
8
UML - DIAGRAMAS DE CLASSE
Operações: Sintaxe UML : visibilidade nome (lista-de-parametros) :
tipo-de-retorno {propriedades}
propriedades: classificação(construtora,modificadora,destrutora) pré-condição, pós-condição, tipo de exceção virtual, const, friend,estática,final,synch (depende da LP)
Ex: + saldoEm (data:Date) : Money# bloquearCliente ( ) : boolean {saldo = 0,0}
Obs: operação, método, features (UML)
Classe
Operações
9
UML - DIAGRAMAS DE CLASSE
Restrições: Ao desenhar diagramas de classes, muitas vezes
indicamos restrições Restrições precisam ser capturadas e um bom
lugar para fazer isso é no Diagrama de Classe
PessoaGrupo 3a. Idade
{pessoa.idade > 60}
0..*0..1
PedidoCliente0..*1
{Se Pedido.Cliente.ClasseCred=“ruim”, entãoPedido.éPrepago=“v”}
10
UML - DIAGRAMAS DE CLASSE
...Restrições: São mecanismos de extensibilidade da UML Alguns tipos de restrições já são pré-
definidos na UML, outras podem ser definidas livremente pelos usuários
Neste caso, a sintaxe, consistência e a interpretação ficam por conta da ferramenta de modelagem
11
UML - DIAGRAMAS DE CLASSE
Estruturar atributos e operações em classes é fundamental para o trabalho de modelagem OO
Uma classe pode ser analisada sob dois pontos de vista: Externo: interface da classe Interno: implementação das operações predefinidas
na interface
ClasseAtributosOperações
Abstração é um ingrediente fundamental no trabalho de identificação de classes. (FURLAN)
12
UML - DIAGRAMAS DE CLASSE
Recomendações para construção de Diagramas de Classe: Identificar comportamentos iniciais, definindo objetos que
exibem esse comportamentos, classificando os objetos, identificando os relacionamentos entre eles
Não tente empregar todas as notações oferecidas; comece pelo simples:classes, associações,atributos
Compreenda a perspectiva adequada ao momento: conceitual, especificação, implementação
Não desenhe modelos para tudo, concentre-se em áreas chaves.
13
UML - DIAGRAMAS DE CLASSE
Para encontrar CLASSES: Para reconhecimento de classes recomenda-se
relacionar os substantivos explícitos da especificação de requisitos ou descrição de cenários
Em seguida discutir, para cada substantivo, a conveniência de elegê-lo ou não como classe candidata
Em geral, classes candidatas serão as que modelam objetos físicos ou itens conceituais
Classes que possuem atributos em comum devem ser agrupadas, gerando super-classes abstratas candidatas
14
UML - DIAGRAMAS DE CLASSE
Para encontrar CLASSES: Informações que devem ser armazenadas,
transformadas, analisadas ou manipuladas são matéria-prima para definição de eventuais classes;
Sistemas externos são de interesse no trabalho de modelagem, vindo a constituir classes do próprio sistema ou de interação
Bibliotecas de classe e componentes gerados em projetos anteriores contém classes candidatas
Papéis desempenhados por atores no contexto de negócios podem ser vistos como classes : consumidor, cliente, fornecedor
15
UML - DIAGRAMAS DE CLASSE
Uma CLASSE pode ser: Algo tangível: pessoas, equipamentos, construções Algo intangível ou simbólico: planoDeNegocio,
responsabilidades, parceria, projeto Dispositivos ou sistemas externos com os quais a
aplicação interage Eventos temporais ou externos Ex:
Sistema de Negócios: cliente, contrato, cotação de preço Sistemas Técnicos: arquivo, botão, dispositivo, ícone,
programa executável
16
UML - DIAGRAMAS DE CLASSE
Importante: Uma Classe deve capturar uma(1) só abstração EX: Uma Classe com informações do funcionário e
informações sobre os cargos por ele ocupados, captura mais de uma abstração, logo é melhor definir 2 classes ao invés de 1: FUNCIONÁRIOS e CARGOS DO FUNCIONÁRIO
Ao definir classes é importante buscar o equilíbrio entre funcionalidade e reutilização.
17
UML - DIAGRAMAS DE CLASSE
Exemplos de Classes/Objetos Sistema RH
Departamento
códigodescrição
cadastrar ( )mudarChefe ( )
informática
financeiro:departamento
: departamento
objeto sem classedeterminada
objeto anônimo
18
UML - DIAGRAMAS DE CLASSE
Exemplos de Classe
Venda- Forma de Pagamento- Valor- Data- Itens :Item de Venda- Impostos
+ inserirItemVenda(produto:Mercadoria,quantidade: int = default)
+ totalizar(totalItem: Item de Venda)+ emitir Ticket ( )+ emitir NotaFiscal ( )+ totalizar Impostos ( )+ finalizar Venda ( ) + venda Concluída ( )
Venda
valordata
Venda
emitirTicket( )finalizarVenda
19
*
1
1..*
1
ItensNotaFiscalCompraQuantidadePreçoCódigoFornecedor
ObterItensNotaFiscal()AtualizarEstoqueItem( )
*
1
*
1
ProdutoCódigoProdutoDescriçãoProduto
ObterDescrição()CadastrarProduto( )AtualizarProduto( )ExcluirProduto( )*
1
*
1
EspecificaçãoProdutoDataCompraQuantidadeUnidadeEstoqueMinimoPreçoCompraPreçoVenda
ObterEstoqueMínimo( )ObterPreçoCompra( )ObterPreçoVenda( )
*
1
*
1
NotaFiscalCompraNúmeroDataEmissãoCódigoFornecedor
ObterNotaFiscal( )ObterMédiaCompra( )
*
1
1..*
1
FornecedorCódigoNomeEndereçoBairroCidadeUnidadeFederativaTelefonePessoaContatoCGC
Atualizar( )Incluir( )Excluir( )
1..*
*
1..*
*
UML - DIAGRAMAS DE CLASSE
20
UML - DIAGRAMAS DE CLASSE
Estereótipos São extensões de elementos do modelo: permitem
estender os elementos básicos de modelagem para criação de novos elementos
Podem ser usados para denotar especializações significativas de Classes
Nas ferramentas de modelagem, os atores, p.e., podem ser tratados como classes estereotipadas
Caixa
<<Ator>>Caixa
21
UML - DIAGRAMAS DE CLASSE
Estereótipos Ex de estereótipos:
estereótipos para casos de uso : <<inclui>>, <<estende>>
estereótipo de classes: <<interface>>, <<Entidade>>
Um estereótipo para Classe pode ser : escrito textualmente, entre << >> (guillemets) sobre o
nome da classe ou como um ícone no canto direito superior da classe
22
UML - DIAGRAMAS DE CLASSE
Classes podem ser divididas de acordo com os estereótipos: Entidade
Fronteira
Controle
<<Entity>>itemdeVenda Item de Venda
(from Classes de Entidade)
<<Boundary>>frmTela de Vendas Tela de Vendas
(from Classes de Fronteira)
Tela de Vendas(from Classes de Controle
<<Control>>contrVenda
23
UML - DIAGRAMAS DE CLASSE
Estereótipo
<<Controle >>Nome da Classe
AtributoAtributo : tipo do dadoAtributo : tipo do dado = vlr inicial
OperaçãoOperação(lista de argumentos)...
Nome da ClasseAtributoAtributo : tipo do dadoAtributo : tipo do dado = vlr inicial
OperaçãoOperação(lista de argumentos)...
24
UML - DIAGRAMAS DE CLASSE
Classes do tipo Entidade modelam informação persistente, entidades do
mundo real, geralmente independentes do ambiente externo e , às vezes, utilizadas em mais de uma aplicação
o modelo de dados OO exibe relacionamentos entre objetos criados pelas classes de entidade
criam objetos que gerenciam dados identificadas via exame de fluxos de eventos de
casos de uso, onde cumprem responsabilidade Ex: auxiliar de pessoal seleciona funcionário para
mudança de cargo
25
UML - DIAGRAMAS DE CLASSE
Classes do tipo Fronteira modelam as interfaces, entrada e saída de dados,
entre sistema e atores (usuários e outros sistemas) identificadas via exame de pares Ator - Cenário
Ex: tela (form) para mudar cargo do funcionário Cada form usado pelo programa é um objeto
criado por uma classe de fronteira em tempo de análise, não é necessário identificar
todos os componentes do form (combo, controle de dados,etc); esta tarefa deve ser feita em tempo de projeto
Ex: Interface(janela), protocolo de comunicação, interface de impressão, sensores, etc
26
UML - DIAGRAMAS DE CLASSE
Classes do tipo Controle Não gerenciam dados nem têm saída visível controlam o fluxo operacional do programa; coordenam o fluxo de eventos para a execução das
operações específicas do caso de uso é como se executassem (rodassem) o caso de uso uma classe de controle pode ser usada para um par
Ator - Caso de uso encapsulam lógica que não se enquadra nas
responsabilidades das entidades. São tipicamente dependentes da aplicação
27
UML - DIAGRAMAS DE CLASSE
:Secret
frmCurso oCurso: CursoctlProcesso
1:informações curso
3: inclusão curso4: novo curso
CASO DE USO : Criar Novo Curso
Exibição Aplicação Dados
2: processar
Fronteira Controle Entidade
28
UML - DIAGRAMAS DE CLASSE
Relacionamentos Fornecem um meio (duto) para a interação entre
os objetos Tipos de Relacionamentos:
Associação Agregação Generalização/Especialização Dependência Refinamento
29
UML - DIAGRAMAS DE CLASSE
Relacionamento tipo Associação Significa que há uma ligação (link) entre os
objetos das classes associadas, indicando que: “Conhecem uma a outra” “Estão conectadas com” “Para cada X existe um Y”
EX:Classes: UsuáriosDaBiblioteca
LivrosDaBibliotecaEmpréstimos
Cada vínculo em uma associação “atrela” em conjunto uma instância da primeira classe com uma instância da segunda classe, refletindo um “relacionamento de negócio” entre elas
30
UML - DIAGRAMAS DE CLASSE
Notação básica da UML para associações Cada associação é mostrada como uma linha
entre duas classes O nome da associação aparece sobre essa linha
Pessoa0..* empregador
Companhiaempregado
Município
Residência Localização
0..1
0..*
1..1
1..*
Emprego
31
UML - DIAGRAMAS DE CLASSE
Notação básica da UML para associações Uma associação, ou relacionamento, na
modelagem convencional, é geralmente nomeada por uma forma verbal: está empregado em
emprega
Na modelagem OO, prefere-se nomear uma associação com um substantivo
Pessoa 0..1 Companhia
0..*
Emprego
Pessoa 0..1 Companhia
emprega0..*
está empregado em
32
UML - DIAGRAMAS DE CLASSE
Notação básica da UML para associações A extremidade de uma associação, na conexão
com a classe, é denominada o papel que o objeto desempenha na associação
Ao nomear a associação, pode-se ainda, no lugar do verbo ou substantivo, colocar o rolename(papel) nas duas extremidades da classe
Pessoa 0..1 Companhiaempregado
0..*
Pessoa 0..1 CompanhiaEmprego
0..*
empregador
33
UML - DIAGRAMAS DE CLASSE
Notação básica da UML para associações Na última versão da UML, um pequeno triângulo
pode ser usado para indicar a direção da leitura, caso necessário:
Pessoa
Emprega
0..*
Compahia0..*
MercadoriaFornece
0..*
fornecedor
empregado
produto
empregador
34
UML - DIAGRAMAS DE CLASSE
Multiplicidade Indica o número de objetos com que cada classe
participa no relacionamento Para expressar a multiplicidade entre os
relacionamentos, usa-se um intervalo que indica quantos objetos estão relacionados no link
Pode ser do tipo: 0..* zero ou vários (n) 1..* um ou vários(n) 0..1 zero ou um 1 exatamente 1 * vários (n) 1..6 de 1 a 6 (1,2,3,4, 5 ou 6) 4..6, 9 de 4 a 6 ou 9 (4,5,6 ou 9)
35
UML - DIAGRAMAS DE CLASSE
Exemplos de Multiplicidade
Fiscal Empresa2 0..*
OfertaDisc Professor0..4 1
Aluno Turma0..35 0..6
36
UML - DIAGRAMAS DE CLASSE
Notação da UML para Associações: A UML não obriga um nome para uma associação,
mas trata-se de um bom exercício A UML não obriga nomes de papel (rolenames).
Tente apenas encontrar nomes de papel significativos, sempre que possível
As ferramentas de modelagem na UML freqüentemente abreviam a multiplicidade desta forma: 0..* => * 1..1 => 1
37
UML - DIAGRAMAS DE CLASSE
Relacionamentos tipo Associação Podem ser do tipo:
Normal
Recursiva
Qualificada
Exclusiva
Ordenada
De Classe (classe associativa)
38
UML - DIAGRAMAS DE CLASSE
Associações Normais: É apenas uma conexão entre classes Representada por uma linha sólida entre classes A associação possui um “nome” (junto à linha),
normalmente composto de um verbo : Usa-se um verbo que permita formar frase da forma
“classe 1 + verbo + classe 2” Ex: Cliente possui Conta Corrente
Cliente Conta CorrentePossui
É possuído
39
Associação Recursiva(reflexiva):
Disciplina
0 .. *
é-pre-req
tem-como-prereq
0 .. * Funcionário
0 .. *
chefe
subordinado
0 .. 1
Pessoa
marido
esposa
é casado com
1
UML - DIAGRAMAS DE CLASSE
40
Associação Qualificada Um “qualificador” especifica como um
determinado objeto no final da associação “n” é identificado
Pode ser visto como um tipo de “chave”
Cód_ContaCorrente
Cliente Conta Corrente1..*
UML - DIAGRAMAS DE CLASSE
41
Associação Exclusiva Representa uma restrição em duas ou mais
associações Objetos de uma classe podem participar de, no
máximo, uma das associações
Pessoa
Contrato
Empresa
0..*
0..*
1..* 1..*
{ou}
UML - DIAGRAMAS DE CLASSE
42
Associação Ordenada Uma ordem pode ser especificada na associação,
através da associação ordenada Pode ser definida colocando “{ordenada}” junto à
linha da associação entre as duas classes
Cliente Pedido0..*
Faz
{ordenado}1
UML - DIAGRAMAS DE CLASSE
43
Associação de Classe (classe associativa) Uma classe pode ser associada a uma outra
associação Esse tipo de associação é conectada na própria
linha da associaçãoCliente Processo
Fila
** Aluno OfertaDisc
Historico
0..4
UML - DIAGRAMAS DE CLASSE
44
Associação de Classe (classe associativa) Consiste em “promover” a associação, dando-lhe
condição de classe (com atributos e operações)
0..*Pessoa Cachorro
PosseDeCachorro
1..1
UML - DIAGRAMAS DE CLASSE
0..*Pessoa CachorroPosseDeCachorro
1..1
45
Associação de ordem mais alta (ternária, quaternária..)
Um losango (diamante) faz a ligação entre as classes
Companhia
0..*
0..* TipoDeItem
QuantidadeComprada
0..*
UML - DIAGRAMAS DE CLASSE
CompraPorCatálogo
preçoUnitário: Dinheiro
46
Associação Ternária O losango faz a ligação entre uma associação
binária e uma associação de classe
Contrato 0..* 1..* Cliente
Regras Contratuais
1..*
UML - DIAGRAMAS DE CLASSE
Classe Associativa
47
Associação de ordem mais alta (ternária, quaternária..)
UML - DIAGRAMAS DE CLASSE
Associações ternárias proveitosas são muito mais raras de se encontrar do que as associações
binárias
Associações Quaternárias são ainda mais raras
(Page-Jones)
48
Agregação Caso particular da associação Indica que uma das classes do relacionamento é
uma parte ou está contida em outra classe Um pequeno losango é desenhado ao lado da
classe que representa o todo Ex: um pedido tem vários itens, um time tem onze
atletas, a marinha tem vários navios
NaviosMarinha *
contém
*
UML - DIAGRAMAS DE CLASSE
Pessoa Time *
membros
**
49
Agregação Uma associação é do tipo agregação se:
cabe o uso das expressões “é-parte-de”, “todo-parte” há uma certa subordinação entre as classes algumas operações do todo são automaticamente
aplicadas às partes dispensa nome dos relacionamentos
Itens NFNota Fiscal 1..*1..
UML - DIAGRAMAS DE CLASSE
OfertaDiscDisciplina 0..*1..
50
Associação ou Agregação ? Se as duas classes interagem na forma”todo-parte”,
temos uma agregação Muitas vezes depende do domínio do problema Que tipo de relacionamento modela um carro e
seus pneus ? na aplicação de uma oficina, onde os serviços podem se estender aos pneus agregação na loja de vendas de pneus, onde o importante é saber que carro usa qual pneu associação
UML - DIAGRAMAS DE CLASSE
51
UML - DIAGRAMAS DE CLASSE
Agregação Composição:
É uma forma de agregação, com propriedades bem-definidas e tempo de vida coincidente como parte do todo.
As partes sem multiplicidade fixada podem ser criadas após a composição, mas, uma vez criadas, vivem e morrem com ela.
52
Agregação A multiplicidade do “todo” é
maior que 1 As partes não morrem
obrigatoriamente com o todo
Uma parte pode estar em mais de um “todo”
As partes são semelhantes
Composição A multiplicidade do “todo”
é sempre 1 As partes vivem e morrem
com o todo Uma parte não pode estar
em mais de um “todo” Em geral, as partes não
são semelhantes PessoaEquipe n
T e x t
L is tB o x
B o tã o
M e n u
J a n e la
*
*
*
**
*
*
*1
UML - DIAGRAMAS DE CLASSE
53
Associação ... Vínculo : entre objetos Associação : entre classes Associação representa responsabilidade do ponto
de vista de implementação. Ex: associação entre Cliente e Pedido significa que:
há método na classe Cliente que obterá os Pedidos de um Cliente
há método na classe Pedido que permite saber a que Cliente pertence um dado Pedido
UML - DIAGRAMAS DE CLASSE
54
Associação ...
Pedido
nrPed : type = initvaldtEmiss : type = initvalcli:Cliente : type = initvalstatus : type = initval
obterCliente()excluirPed()
0..*1
Cliente
codCli : type = initvalnmCli : type = initvalvlLimCred : type = initvalpeds: set Pedido : type = initval
incPed()excPed()obterPeds()
UML - DIAGRAMAS DE CLASSE
Exercício Em um pedido de compra temos relacionados todos os
seus itens. Cada item é referente a um determinado produto. Um pedido deverá ter pelo menos um item e ao se
consultar um pedido todos os seus itens deverão ser listados.
Um produto poderá ser encontrado em pedidos distintos.
Identifique as classes, sugira atributos e especifique os relacionamentos e multiplicidades
55
56
Navegabilidade nas associações... Caracteriza uma associação com detalhes de
implementação Deve-se acrescentar os símbolos de navegabilidade nos
diagramas ao final, quando do detalhamento do projeto Pode ser :
Unidirecional
Bidirecional
UML - DIAGRAMAS DE CLASSE
57
Navegabilidade nas associações...
Cliente não tem responsabilidade de identificar seus pedidos
Pedido tem a responsabilidade de identificar seu cliente
Cliente Pedidocli: Cliente
unidirecional
UML - DIAGRAMAS DE CLASSE
58
Navegabilidade nas associações...
Cliente tem responsabilidade de identificar seus pedidos
Pedido não tem a responsabilidade de identificar seu cliente
Cliente Pedido
unidirecional
UML - DIAGRAMAS DE CLASSE
pedidos:set of pedido
59
Navegabilidade nas associações...
Cliente Pedidocli: Cliente inverse is cliente.peds
obterCli( )
bidirecionalpeds: set of Pedidoinverse is Pedido.cliobterPedidos()
UML - DIAGRAMAS DE CLASSE
/*em JAVA --- /* em JAVA ------Class Cliente { Class Pedido {Private set peds Private Cliente cliPublic set obterPedidos ( )} Public Cliente obterCli ( )}
60
Navegabilidade nas associações...
Cliente Pedidopeds: set of Pedido
Cliente Pedidocli: Cliente
Cliente Pedidocli: Cliente inverseis cliente.peds
peds: set of Pedidoinverse is Pedido.cls
UML - DIAGRAMAS DE CLASSE
EXERCÍCIO A planilha a seguir controla os gastos mensais de uma
conta de luz. São cadastradas as leituras parciais e são realizadas as pesquisas de verificação de menor consumo e maior consumo no mês.
Identificar as classes, atributos e métodos nesse cenário.
61
Data da Leitura Nº da Leitura kw gasto Valor a Pagar Data Pagto Média Consumo4/7/2005 4166 460 206,43 15/7/2005 15,332/8/2005 4201 350 157,07 15/8/2005 12,06
350 ago/05460 jul/05
Menor consumoMaior consumo
Exercício Para fixação do conceito de classes em sala de aula, o Prof. Haron
criou com seus alunos a classe TextoSaida. O objetivo do exercício é criar uma classe que permita configurar um
texto por meio de atributos (tamanho da letra, cor da fonte e cor do fundo), escolhendo em que tipo de componente ele deve ser exibido, entre as opções: label, edit e memo.
Para não haver vínculo com linguagens de programação, essa classe não foi criada como herança de uma classe visual
As cores podem ser escolhidas entre os tons: preto, branco, azul, amarelo ou cinza
Identifique as classes, métodos e atributos desse cenário
62
Exercício O médico necessita de um aplicativo que controle o horário de
remédios dos pacientes. Para cada paciente cadastra-se: o remédio, a data de início, a qtde de
dias que foi prescrita pelo médico, a qtde de vezes ao dia, a dosagem. Depois de cadastradas as prescrições, a aplicação sugere os horários
possíveis para os pacientes tomarem seus remédios. A aplicação prepara uma planilha de horários para cada paciente.
Identifique classes, atributos, métodos e relacionamentos.
63
UML – Diagramas
DIAGRAMA DE OBJETOS
64
65
UML - DIAGRAMAS DE OBJETOS
Instantâneo dos objetos em um sistema num determinado ponto no tempo
Também chamado de diagrama de instâncias As instâncias/objetos devem vir sublinhados no
diagrama, seguindo a forma nome de instância : nome de classe
Pode-se considerar um Diagrama de Objetos como um Diagrama de Colaboração sem mensagens
Facilita o entendimento e validação do sistema e modelos.
66
Diagrama de Objetos
67
*
1
1..*
1
01 : ItensNotaFiscalCompraQuantidade = 500Preço = 2,00CódigoFornecedor = 09
ObterItensNotaFiscal()AtualizarEstoqueItem( )
*
1
*
1
Leite : ProdutoCódigoProduto = 147DescriçãoProduto = Leite em Pó Desnatado
ObterDescrição()CadastrarProduto( )AtualizarProduto( )ExcluirProduto( )
*
1
*
1
EspecificaçãoProdutoDataCompra = 15/11/2000Quantidade = 500Unidade = CaixaEstoqueMinimo = 12PreçoCompra = 2,00PreçoVenda = 2,95
ObterEstoqueMínimo( )ObterPreçoCompra( )ObterPreçoVenda( )
*
1
*
1
24537 : NotaFiscalCompraNúmero = 24537DataEmissão = 15/11/2000CódigoFornecedor = 09
ObterNotaFiscal( )ObterMédiaCompra( )
*
1
1..*
1
Ind. de Alimentos NE : FornecedorCódigo = 09Nome = Ind. de Alimentos NEEndereço = BR 116 kM 10Bairro = CajazeirasCidade = FortalezaUnidadeFederativa = CETelefone = 222-2222PessoaContato = Sr. MauroCGC = 00.891.558/0001-14
Atualizar( )Incluir( )Excluir( )
1..*
*
1..*
*
UML - DIAGRAMAS DE OBJETOS
68
*
1
1..*
1
ItensNotaFiscalCompraQuantidadePreçoCódigoFornecedor
ObterItensNotaFiscal()AtualizarEstoqueItem( )
*
1
*
1
ProdutoCódigoProdutoDescriçãoProduto
ObterDescrição()CadastrarProduto( )AtualizarProduto( )ExcluirProduto( )*
1
*
1
EspecificaçãoProdutoDataCompraQuantidadeUnidadeEstoqueMinimoPreçoCompraPreçoVenda
ObterEstoqueMínimo( )ObterPreçoCompra( )ObterPreçoVenda( )
*
1
*
1
NotaFiscalCompraNúmeroDataEmissãoCódigoFornecedor
ObterNotaFiscal( )ObterMédiaCompra( )
*
1
1..*
1
FornecedorCódigoNomeEndereçoBairroCidadeUnidadeFederativaTelefonePessoaContatoCGC
Atualizar( )Incluir( )Excluir( )
1..*
*
1..*
*
UML – COMPARATIVO COM O DIAGRAMAS DE CLASSE