Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente...
Transcript of Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente...
![Page 1: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/1.jpg)
Análise e projeto de
sistemasPROF. REGILAN SILVA
![Page 2: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/2.jpg)
Modelo de
dados
![Page 3: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/3.jpg)
Modelo de Banco de Dados
Um modelo de banco de dados é um modelo lógico de
representação dos dados. Em um modelo, não temos
que nos preocupar com questões de implementação
física, formato dos dados, etc.
No mundo real, existe todo tipo de modelos:
Modelos Econômicos
Modelos Estatísticos
Simuladores de Vôo
Planta de uma casa
Mapa de estradas
![Page 4: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/4.jpg)
Modelo de Banco de Dados
Assim como existem modelos para o mundo real, também existem
modelos específicos para a representação de dados ou da estrutura de
dados em um banco de dados. O mais famoso e utilizado é o Modelo
Relacional.
Como a maior parte dos sistemas de gerência de banco de dados
atuais, baseia-se no modelo relacional. Devido a isso, esses sistemas são
chamados de sistemas de gerência de banco de dados
relacional(SGBDR)
![Page 5: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/5.jpg)
Modelo Entidade-Relacionamento
Durante a fase de Análise que acontece antes da implementação do Banco de Dados, é comum a utilização de uma representação gráfica das entidades envolvidas e como elas se relacionam.
Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base para o projeto físico(modelo relacional).
O modelo Entidade-Relacionamento é baseado em símbolos gráficos que representam as Entidades e seus atributos, e os relacionamentos entre as entidades.
Devido à sua simplicidade, tornou-se um recurso quase que obrigatório no projeto de banco de dados relacionais.
![Page 6: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/6.jpg)
Modelo Entidade-Relacionamento
A estrutura lógica global de uma base de dados pode ser expressa
graficamente por um diagrama chamado entidade-relacionamento,
que consiste nos seguintes componentes:
Entidades
Atributos
Relacionamentos
![Page 7: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/7.jpg)
Entidade
O Conceito fundamental da abordagem ER é a Entidade
Uma Entidade é um conjunto de objetos sobre os quais se deseja manter informações no banco de dados.
Em geral, utiliza-se um substantivo no singular para identificá-lo: Aluno, Curso, Departamento, etc, e cada entidade deve representar uma única “coisa”.
No MER(modelo entidade-relacionamento), as entidades são representadas por retângulos dentro dos quais deve ser colocado o nome da entidade.
Curso Disciplina Aluno
![Page 8: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/8.jpg)
Atributos
Os atributos são propriedades que descrevem cada membro
de um conjunto de entidades.
Exemplos:
Entidade: Cliente
Atributos: Nome, Endereco, RG, CPF.
Entidade: Voo
Atributos: numero,saída,piloto,data,destino.
Entidade: Carro
Atributos: ano, cor, modelo, marca, etc.
Os Atributos são representados por um círculo e ligados a uma
entidade.
![Page 9: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/9.jpg)
Atributos
O atributo identificador ou chave primária (no modelo relacional)
representa um código único que identifica uma entidade. Exemplo: Em
um cadastro de Fornecedor, o atributo CNPJ identifica um fornecedor
específico de uma entidade Fornecedor.
Este atributo é apresentado de forma destacada (sublinhado,
preenchido, negrito)
Representação:
Fornecedor
CNPJ
RAZÃO
SOCIAL
![Page 10: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/10.jpg)
Atributos
Devido a questão de estética os atributos são apresentados também
como uma lista sequencial, indicando o atributo identificador(chave
primária) em sublinhado ou em negrito.
Exemplo:
Fornecedor(CNPJ, Razão Social, Nome Fantasia, Logradouro, Bairro, ...)
![Page 11: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/11.jpg)
Relacionamentos
É através dos relacionamentos que conseguimos ligar a informação presente em entidades de alguma forma relacionadas.
Um relacionamento corresponde a uma ligação lógica entre entidades indicando a forma como as duas entidades se relacionam.
É através dos relacionamentos que os SGBDR permite realizar por exemplo as seguintes buscas:
Quem é chefe de quem?
Que funcionários pertencem a que departamentos?
Que funcionários estão envolvidos em mais de um projeto?
Quas as faturas associdas a que fornecedores.
![Page 12: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/12.jpg)
Relacionamentos
Os relacionamentos entre as entidades são representados por uma linha
que une as duas entidades.
O nome do relacionamento é em geral apresentado como um tempo
verbal, uma vez que simboliza a “ação” estabelecida entre as entidades
envolvidas.
Alunos DisciplinaFreqüenta
![Page 13: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/13.jpg)
Relacionamentos
Existe uma outra representação alternativa e que em geral é a mais
utilizada, na qual o relacionamento entre as entidades é expresso através
de um losango dentro da qual é colocado o nome do relacionamento.
Alunos DisciplinaFreqüenta
![Page 14: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/14.jpg)
Cardinalidade
Um importante conceito em um relacionamento é o número de
ocorrências que podem estar associadas a um registro da outra
entidade.
Este conceito melhora o conhecimento sobre as políticas e regras dos
Negócios, consistindo de números (cardinais) colocados ao lado do
nome do relacionamento.
As cardinalidades mais comuns são:
Relacionamento 1:1 - um-para-um
Relacionamento 1:N - um-para-muitos
Relacionamento M:N – muitos-para-muitos
![Page 15: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/15.jpg)
Cardinalidade
Desta forma, os números colocados ao lado do nome do
relacionamento são chamados de cardinalidade do relacionamento e
dimensionam as políticas de Negócio que envolvem os dados.
A cardinalidade define, portanto, o número de ocorrências de uma
entidade que pode estar envolvido em um relacionamento, sendo útil
para extrair daí regras de consistência e integridade dos dados.
![Page 16: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/16.jpg)
Cardinalidade
Considere o exemplo: “Na minha empresa cada funcionário
pertence a um único departamento, mas cada departamento
pode ter vários funcionários”
Como existe um relacionamento entre os funcionários e o
departamentos, esse relacionamento poderá ser representado da
seguinte forma:
Departamento FuncionárioPossui
![Page 17: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/17.jpg)
Cardinalidade
Porém no enunciado cada departamento pode ter vários funcionários,
enquanto um funcionário pode pertencer a apenas um departamento.
Isso quer dizer que as entidades formam um relacionamento 1:N.
Para representar as cardinalidades utilizamos os símbolos 1 ou N nas
entidades de destino. Veja o exemplo:
Departamento FuncionárioPossui1 N
![Page 18: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/18.jpg)
Cardinalidade um-para-um (1:1)
Indica que uma única ocorrência de uma entidade pode se relacionar com
apenas uma única ocorrência de outra entidade. Este tipo de
relacionamento é bastante raro (no mundo dos negócios).
Exemplo: Em uma lan-house, cada cliente (1) utiliza uma mesa com
computador (1).
![Page 19: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/19.jpg)
Cardinalidade um-para-um (1:1)
Neste caso um determinado cliente, utiliza um(e somente um)
computador ao mesmo tempo. Essa situação poderá ser representada
da seguinte forma:
Cliente Computadorutiliza
1 1
![Page 20: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/20.jpg)
Cardinalidade um-para-um (1:1)
Outro exemplo: No IFBA um professor (e somente um) coordena um (e
somente um) curso, ou seja, o mesmo professor não pode coordenar
mais de um curso e um curso não pode ser coordenado por mais de um
professor.
Professores Cursoscoordena
1 1
![Page 21: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/21.jpg)
Cardinalidade um-para-muitos (1:N)
Indica que uma ocorrência de uma entidade pode se relacionar com
muitas ocorrências de outra entidade.
No entanto, a recíproca não é verdadeira. Este tipo de relacionamento é
muito comum (no mundo dos negócios).
Por exemplo: FUNCIONÁRIO (1) possui (N) DEPENDENTE
![Page 22: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/22.jpg)
Cardinalidade um-para-muitos (1:N)
Dessa forma um funcionário pode possuir vários dependentes; mas cada
dependente pertence a apenas um funcionário.
Outro exemplo: No IFBA um curso é cursado por n alunos, porém um
aluno só pode cursar um(e somente um curs0)
Funcionario DependentePossui1 N
Alunos CursosCursam
N 1
![Page 23: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/23.jpg)
Cardinalidade muitos-para-muitos(N:M)
Indica que várias ocorrências de uma entidade pode se relacionar com
muitas ocorrências de outra entidade.
Por exemplo: Pedido(M) e Produtos(N)
Pedido
Possui
Produto
M N
![Page 24: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/24.jpg)
Cardinalidade muitos-para-muitos(N:M)
Outro exemplo: No IFBA existe uma biblioteca onde os livros podem ser
reservadospara vários alunos. Dessa forma, existe um relacionamento N:M entre
as entidades Livros(N) e Alunos(M).
Livros Reservam AlunosM N
![Page 25: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/25.jpg)
Dicionário de dados
As tabelas possuem atributos, como nome da tabela, nome dos campos
e o tipo de dados que os campos armazenam. Portanto, torna-se
necessário um local estruturado para manter todos estes detalhes.
O dicionário de dados é um local onde o Analista/Projetista de banco de
dados relaciona as informações de cada tabela da base de dados.
![Page 26: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/26.jpg)
Dicionário de dados
ENTIDADE: CLIENTE
ATRIBUTO DESCRIÇÃO RELACIONAMENTO TIPO DE DADO
PK COD_CLI Código do cliente COD_CLI relaciona com COD_CLI na
entidade CARROS em uma relação de
1:N
Inteiro, auto
numeração
NOME_CLI Nome do cliente Texto, 50
END_CLI Endereço do cliente Texto, 50
TEL_CLI Telefone do cliente Texto, 50
![Page 27: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/27.jpg)
Modelo Relacional
O modelo relacional é um modelo de dados, adequado a ser o modelo de
um Sistema Gerenciador de Banco de Dados (SGBD), que se baseia no
princípio em que todos os dados estão guardados em tabelas (representação
bi-dimensional de dados composta de linhas e colunas).
Tornou-se um padrão de fato para aplicações comerciais, devido a sua
simplicidade e performance.
Para implementação do modelo relacional no SGBD utilizamos a linguagem
SQL, na qual cada entidade criada no DER se transformará em uma tabela; e
cada atributo em uma coluna da tabela.
![Page 28: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/28.jpg)
Diagrama de
classes
![Page 29: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/29.jpg)
Introdução
O diagrama de classe tem por objetivo descrever as informações que o
sistema deve representar e gerenciar.
Para elaborar um diagrama de classes, é preciso:
a) Identificar classes
b) Identificar atributos e associações
c) Especificar Hierarquias de Generalização/Especialização
![Page 30: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/30.jpg)
Introdução
Classe: Uma classe é o agrupamento de objetos com a mesma estrutura de
dados (definida pelos atributos ou propriedades) e comportamento (operações),
ou seja, classe são as descrições dos objetos!
Após os levantamentos feitos na fase inicial, quando conhecemos os requisitos e
domínio do sistema, escrevemos o diagrama de classes.
Em programação, um diagrama de classes é uma representação da estrutura e
relações das classes que servem de modelo para objetos.
É o diagrama central da modelagem orientada a objetos
![Page 31: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/31.jpg)
Diagrama de classe
Exemplo:
![Page 32: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/32.jpg)
Diagrama de classe
Elementos de um diagrama de classes:
Classes
Generalização
Dependência
Relacionamentos:
Associação
Agregação
Composição
![Page 33: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/33.jpg)
Representação dos elementos do
diagrama de classes
As classes na UML são representadas por
um retângulo divididos em três partes:
a) na primeira temos o nome da classe;
b) na segunda temos os atributos da
classe;
c) na terceira temos os métodos da
classe.
![Page 34: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/34.jpg)
Representação dos elementos do
diagrama de classes
É comum adotar um padrão para nomear as classes.
Ex: todos os nomes de classes serão substantivos singulares com a
primeira letra maiúscula
![Page 35: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/35.jpg)
Atributos
Os atributos são mostrados como um elemento textual no formato:
[visibilidade] nome do atributo: tipo
Utilizamos a seguinte notação para a visibilidade de atributos e métodos:
a) +: public
b) -: private
![Page 36: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/36.jpg)
Métodos
Os métodos representam o conjunto de operações (comportamento) que a classe fornece.
Os métodos (ou operações) são mostrados na parte de baixo do retângulo como um elemento
textual no formato:
[visibilidade] nome da operação (lista de parâmetros): tipo de retorno
![Page 37: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/37.jpg)
Associação
Uma associação é um
relacionamento estrutural
que indica que os objetos
de uma classe estão
vinculados a objetos de
outra classe.
Uma associação é
representada por uma
linha sólida conectando
duas classes.
![Page 38: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/38.jpg)
Associação
Indicadores de multiplicidade:
a) 1 : Exatamente um
b) 1..* : Um ou mais
c) 0..* : Zero ou mais (muitos)
d) *: Zero ou mais (muitos)
e) 0..1 : Zero ou um
f) m..n: Faixa de valores (por exemplo: 4..7)
![Page 39: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/39.jpg)
Associação
Exemplo:
a) Um estudante pode ser um aluno de uma disciplina e um jogador da
equipe de futebol
b) Cada disciplina deve ser cursada por no mínimo 1 aluno
c) Um aluno pode cursar de 0 até 8 disciplinas
![Page 40: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/40.jpg)
Generalização
Uma generalização (herança) é mostrada com o símbolo ,como
mostrado nas imagens abaixo.
É um relacionamento entre itens gerais (superclasses) e itens mais
específicos (subclasses)
![Page 41: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/41.jpg)
Dependência
Uma dependência é mostrada com uma linha (tracejada) com uma seta
entre dois elementos, como mostrado na relação entre Cliente e
Fornecedor.
![Page 42: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/42.jpg)
Composição e agregação
A composição e a agregação são usadas para representar as relações de “todo” e
“parte” existentes entre alguns objetos.
Denominamos composição a relação na qual o objeto “todo” é constituído pelo
objeto “parte”, de maneira que sem o objeto “todo” o objeto “parte” não tem sentido.
A representação da composição contém um pequeno losango preenchido em um
dos lados da linha horizontal que liga os dois retângulos.
![Page 43: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/43.jpg)
Representação dos elementos do
diagrama de classes
A instância Endereço só faz sentido se houver uma instância correspondente de
Cliente. Ou podemos perguntar: para que guardar um endereço se não sei a que
cliente ele pertence?
Quando excluímos o objeto “pai”, destruímos também o objeto “filho”. No nosso
exemplo, quando destruímos o objeto Cliente destruímos também o objeto Endereço.
![Page 44: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/44.jpg)
Representação dos elementos do
diagrama de classes
A Agregação acontece quando usamos também um objeto “todo” e outro objeto “parte”; porém, a “vida” dos objetos é independente.
Neste caso, a representação gráfica possui o losango NÃO preenchido.
Se eliminarmos o objeto LinhaPedido, não devemos eliminar a DescriçãoProduto. Faz sentido não eliminarmos a DescriçãoProduto pois esse objeto provavelmente deverá ser utilizado por outros objetos.
![Page 45: Análise e projeto de sistemas - Regilan€¦ · Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base](https://reader033.fdocumentos.tips/reader033/viewer/2022043001/5f7c64353c4bec55085b5975/html5/thumbnails/45.jpg)
Próxima aula...
Exemplos e exercícios de modelagem de casos de uso