Professor Osiel Marlon 2.2.2 Modelagem de Dados “Após extrairmos dos requisitos os objetos da...
Transcript of Professor Osiel Marlon 2.2.2 Modelagem de Dados “Após extrairmos dos requisitos os objetos da...
Professor Osiel Marlon
2.2.2 Modelagem de Dados“Após extrairmos dos requisitos os objetos da
aplicação, precisaremos separar e classificar suas características, modelando, por conseguinte, as classes do sistema”
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Professor Osiel Marlon
Conhecendo os Diagramas da UML
Conhecendo os Diagramas da UML
Diagrama de Classes. Abrange as Fases de . Abrange as Fases de AnáliseAnálise e e ProjetoProjeto
. Modelagem de . Modelagem de classes classes e seuse seus relacionamentos.relacionamentos.
Feapa Professor Osiel Marlon
Conhecendo os Diagramas da UML
Conhecendo os Diagramas da UMLDiagrama de Classes
. . Conta Conta CorrenteCorrente
. . CorrentistaCorrentista . . LançamentLançamentoo
Analisando os casos de uso,Analisando os casos de uso,
podemos identificarpodemos identificar
classes e atributos.classes e atributos.
Professor Osiel Marlon
Conhecendo os Diagramas da UML
Conhecendo os Diagramas da UMLDiagrama de Classes
. . Conta Conta CorrenteCorrente
. . CorrentistaCorrentista . . LançamentLançamentoo
Vamos modelar Vamos modelar
as classes e atributos ?as classes e atributos ?
Professor Osiel Marlon
Conhecendo os Diagramas da UML
Conhecendo os Diagramas da UMLDiagrama de Classes
. . Conta Conta CorrenteCorrente
. . CorrentistaCorrentista . . LançamentLançamentoo
ContaCorrente
numeroagenciadataAberturasenha...
abrirConta()bloquearConta()validarSenha(senha)...
Correntista
nomecpfenderecodataNascimento...
cadastrar()...
Lancamento
datatipovalornumDocumento...
lancar()listarLancamen tos(periodo)...
Primeira abstração: AtributosPrimeira abstração: Atributos
Modelagem evolui: OperaçõesModelagem evolui: Operações
Feapa Professor Osiel Marlon
Conhecendo os Diagramas da UML
Conhecendo os Diagramas da UMLDiagrama de Classes
ContaCorrente
numeroagenciadataAberturasenha...
abrirConta()bloquearConta()validarSenha(senha)...
Correntista
nomecpfenderecodataNascimento...
cadastrar()...
Lancamento
datatipovalornumDocumento...
lancar()listarLancamen tos(periodo)...
As classes não vivem sozinhas...As classes não vivem sozinhas...
precisamos estabelecer precisamos estabelecer
seus relacionamentos !!!seus relacionamentos !!!
Feapa Professor Osiel Marlon
Conhecendo os Diagramas da UML
Conhecendo os Diagramas da UMLDiagrama de Classes
ContaCorrenteCorrentista
Lancamento
RelacionamentoRelacionamento
de Associaçãode Associação
RelacionamentoRelacionamento
de Agregaçãode Agregação
Nas abstrações de níveis Nas abstrações de níveis
mais baixos, não precisamosmais baixos, não precisamos
trabalhar com todos os elementos.trabalhar com todos os elementos.
Feapa Professor Osiel Marlon
Diagrama de ClassesUm diagrama de classes representa as abstrações
importantes do sistema (classes) e suas ligações (generalização, associação, agregação e composição),
Modela como os dados são manipulados e armazenados pelos programas de acordo com os conceitos de orientação a objetos
Notação baseia-se no DER de Peter Chen.
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
ClassesDescrevem um conjunto de objetos similares com os mesmos
atributos,relacionamentos, operações e semântica.Classes podem ser;
elementos lógicos e físicos do sistema listas e tabelas, substantivos do enunciado.
Toda classe deve ter um nome distinto das outras classes
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
VisibilidadePodemos utilizar marcações de acesso para
especificar o tipo de acesso permitido aos atributos e operações de uma classe.
Os tipos de visibilidade mais usados pela UML são:+ ou Público: atributos e operações são vistos e utilizados pela
classe onde estão declarados, inclusive pelas suas instâncias e por outras classes e seus objetos.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
# ou Protegido: atributos e operações são vistos e utilizados dentro da classe onde estão declarados e pelas classes descendentes (subclasses).
- ou Privado: atributos e operações são vistos e utilizados somente pela classe onde estão declarados e pelas instâncias desta classe.
~ ou Package: atributos e operações são vistos e utilizados por elementos que estejam declarados no mesmo pacote no qual está inserida a classe.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
RelacionamentosAs classes dentro do contexto da modelagem de um
sistema, na sua maioria, não trabalham sozinhas.Elas colaboram umas com as outras por meio de
relacionamentosA comunicação entre classes define a
responsabilidade que cada uma terá no contexto do sistema, assim como atributos e operações.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Em um diagrama de classes encontramos três tipos de relacionamentos,são eles:
• Associações (Agregação e Composição).• Generalização (Herança).• Dependências.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
AssociaçãoÉ um relacionamento que nos permite especificar quais objetos
de uma determinada classe relacionam-se com objetos de outra classe.
Por exemplo: em um sistema acadêmico, disciplinas são cursadas por alunos.
As associações podem ter um nome para descrever a origem do relacionamento.
Um triângulo preenchido, indica a direção em que o nome deve ser lido.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Multiplicidade É a cardinalidade de uma associação. Procura especificar a quantidade de objetos que
podem ser ligados no relacionamento Por exemplo, um (1), um ou mais (1..*)
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Pode existir um vendedor associado a vários pedidos; ou um vendedor que não esteja associado a algum pedido; e um pedido está associado a um, e somente, um vendedor
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Associação reflexiva (auto-associação)Ocorre quando houver relacionamento de uma classe
consigo própria.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Associação binária e n-áriaUma associação binária ocorre quando houver duas
classes envolvidas na associação.Uma associação n-ária ocorre quando houver mais de
duas classes envolvidas na associação ligadas através de um losango, o qual realiza a conexão entre elas.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Associação e Papéis“Papel (role): colocada nas extremidades do caminho
da associação, indica o papel representado pela classe na associação”
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Associação com AtributosO objetivo principal desta associação é permitir o
acréscimo de propriedades a uma associaçãoVincula-se uma classe que contenha atributos,
operações e outras associações. É representada através de uma linha tracejada para
unir associação às suas propriedades.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Nota Importante: nem todas as linguagens de programação e sistemas de banco de dados orientados a objeto suportam este conceito.
Tendo em vista que esta associação é pertinente ao modelo conceitual de Análise, e poderá ser substituída por associações binárias
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Agregação“A agregação corresponde a um caso particular da
associação (apenas associações binárias), utilizada para expressar um relacionamento todo-parte”
É uma maneira especial de associação entre o todo e suas partes, indicando que o todo é formado de partes.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Mouse
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
ComposiçãoÉ um tipo de agregação “mais forte”, havendo
coincidência da vida das partes. Uma vez criada a parte, ela viverá e morrerá com o
todo, o qual é responsável pelo gerenciamento da criação e destruição das partes.
A remoção do todo implica na remoção das partes, bem como o acesso às partes é restrito ao todo.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML Agregação X Composição
Composição é um tipo especial de agregação
– Semanticamente equivalente a um atributo
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Generalização/ EspecializaçãoRepresenta um relacionamento entre um elemento
mais geral (superclasse) e um mais específico (subclasse).
Também conhecida como herança por ser do tipo “é um”,
Por exemplo, o cliente pode ser do tipo pessoa física ou jurídica.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
As subclasses herdam os atributos, operações e relacionamentos da superclasse,
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
DependênciasSão relações de uso. Cada dependência indica que mudanças em um elemento servidor) podem afetar outro elemento (o cliente).
Para isso, uma relação de dependência entre classes estabelece que os objetos de uma classe usem serviços dos objetos de outra classe.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Uma estação ferroviária é composta por 1 ou mais linhas ferroviárias. Uma estação ferroviária é composta por 1 ou mais linhas ferroviárias. Em uma linha ferroviária podem estar estacionados diversos recursos Em uma linha ferroviária podem estar estacionados diversos recursos
ferroviários. ferroviários. Recursos ferroviários são vagões, locomotivas ou trens. Recursos ferroviários são vagões, locomotivas ou trens. Um trem é formado por vagões e locomotivas. Um trem é formado por vagões e locomotivas. Uma estação ferroviária tem uma sigla e uma descrição (que não Uma estação ferroviária tem uma sigla e uma descrição (que não
precisa obrigatoriamente possuir um valor). precisa obrigatoriamente possuir um valor). Uma linha ferroviária tem um número (que a diferencia de outra linha Uma linha ferroviária tem um número (que a diferencia de outra linha
dentro da mesma estação), uma extensão em metros e uma dentro da mesma estação), uma extensão em metros e uma descrição (que não precisa obrigatoriamente ter um valor). descrição (que não precisa obrigatoriamente ter um valor).
Um vagão é descrito por um número de série, tipo, capacidade de Um vagão é descrito por um número de série, tipo, capacidade de carga (valor default igual a 3000 ton), comprimento entre esteiras e carga (valor default igual a 3000 ton), comprimento entre esteiras e comprimento dos engates (um único valor correspondendo aos dois comprimento dos engates (um único valor correspondendo aos dois lados). lados).
Uma locomotiva é descrita por um número de série, capacidade de Uma locomotiva é descrita por um número de série, capacidade de tração e comprimento. Um trem é descrito por um prefixo (ex: tração e comprimento. Um trem é descrito por um prefixo (ex: NAG1010) e data/hora de formação. NAG1010) e data/hora de formação.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
ExercíciosDe acordo com as informações abaixo construa um
Diagrama de Classes: Considere um Sistema de Gestão Acadêmica que possui alunos,
professores, cursos, disciplinas e turmas.Cada aluno está matriculado em um curso na universidade e
possui um registro das disciplinas já cursadas com suas notas. As disciplinas têm professores ministrantes em várias turmas.
Todo curso possui um professor como coordenador.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Aluno
Professor
Curso
Disciplina
-atributo_1:int
-atributo_2:int
Turma
possui
ministra
Created with Poseidon for UML Community Edition. Not for Commercial Use.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Construa um diagrama de classes com base no contexto a seguir:
Um cliente deseja alugar um veículo de uma Companhia de Aluguel, para isso é necessário formalizar um contrato de aluguel. O veículo pode ser de três tipos: Caminão, Carro de Passeio, Motocicleta
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Companhia deAluguel de Veículos
Cliente
0..*
0..1
Carro SportCaminhão Carro de Passeio
Contrato de Aluguel
11
1
Veículo Alugado
1
0..*
refere a
possui
possui Tipos de Veículos
Motocicleta
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Diagramas de objetos Mostram uma fotografia de um Sistema
Orientado a Objetos em execução, onde objetos são mostrados, com seus respectivos valores de atributos e as ligações existentes entre eles.
São úteis para a modelagem de estruturas de dados complexas, garantindo assim, um melhor entendimento acerca do problema.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Feapa Professor Osiel Marlon
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML Seja o Diagrama de Classes a seguir. Desenhe dois
possíveis Diagramas de Objetos.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML
Pretende-se criar uma base de dados para a gestão da informação referente a uma dada biblioteca. Depois de um estudo preliminar, apurou-se que a informação relevante a este problema se podia sintetizar nos seguintes requisitos.
Uma publicação (artigo, livro, revista, ...) é caracterizada por um número, um nome, um ano, uma editora, uma cota e um estado, que pode ser: “em conferência”, “reservada”, “disponível”, “consultada” ou “requisitada.
Feapa Professor Osiel Marlon
2.2 MODELAGEM DE SISTEMAS COM UML
2.2 MODELAGEM DE SISTEMAS COM UML Cada autor é caracterizado por um número e pelo seu nome. Aos autores de
nacionalidade portuguesa é atribuído um dado código pela Sociedade Portuguesa de Autores (SPA). No caso de uma publicação ser escrita por mais do que um autor conhece-se a ordem pela qual aparecem os nomes destes na referida publicação. A cada publicação pode corresponder um conjunto de ‘palavras-chave’, permitindo-se assim uma seleção das primeiras por assunto.
• Para cada requisição de uma dada publicação, é importante conhecer, para além da identificação do requisitante, o número da requisição, a data de requisição e a data de entrega dessa publicação. Cada requisitante é caracterizado por um nome, pelo número do seu bilhete de identidade, pela sua morada e telefone. Pretende-se poder pesquisar os requisitantes e os autores pelo seu último nome.