Title: Exerc
1Exercícios - Enunciados
Diagrama de Classes Transposição
SQL
2Exercícios Diagrama de Classes (UML)
Notas de Avaliações Agenda Contactos Gestão de
Projectos Multibanco Vendedores Estatística de
Vendas Rodoviária Metropolitano
IRS Exames Filiais Farmácias Música Reserva
Mesa Receita Ginásio I Ginásio II
3E-DC Notas de Avaliações
UML Diagrama de Classes
Resolução
- Objectivo guardar as notas das avaliações de
alunos de uma licenciatura - Requisitos
- Os alunos inscrevem-se em várias disciplinas
- Uma disciplina apenas existe em uma licenciatura
e está associada a um ano lectivo - Cada aluno, disciplina a disciplina, opta pelo
tipo de avaliação que mais lhe convém - Para cada avaliação de uma disciplina é registada
a nota que os alunos obtiveram - As disciplinas e as licenciaturas caracterizam-se
por uma sigla e a correspondente designação os
alunos pelo seu número na escola, nome e morada
os tipos de avaliação existentes são Teste
Trabalho, Teste.
4E-DC Agenda de Contactos
UML Diagrama de Classes
Resolução
Pretende-se desenhar uma base de dados para
armazenar a informação relativa a contactos de
investigadores. Sobre cada investigador, para
além da informação relativa ao nome, morada, grau
académico e naturalidade (país), importa saber
as áreas em que ele investiga e os organismos
onde ele trabalha ou trabalhou (é importante
saber quando é que ele trabalhou nos referidos
organismos e quais as funções que aí
desempenhava).
5E-DC Gestão de Projectos
UML Diagrama de Classes
Resolução
Pretende-se desenhar uma base de dados para
armazenar a informação relativa à gestão de
projectos. Um projecto é composto por tarefas,
que por sua vez são decompostas em subtarefas. As
tarefas, para além de uma identificação (feita
através de atributos numéricos), são
caracterizadas por uma descrição e uma data de
início e término. É também importante guardar
alguma informação relativa às pessoas envolvidas
no projecto, nomeadamente o número de
contribuinte, o nome e morada e as tarefas
(subtarefas) em que participam. Em relação à
participação das pessoas nas tarefas (subtarefas)
é necessário saber o calendário da participação
(i.e., os intervalos de datas em que as pessoas
são associadas às tarefas/subtarefas).
6E-DC Multibanco
UML Diagrama de Classes
Resolução
O número de caixa corresponde ao número da caixa
onde foi efectuada a operação e o número de
transacção respeita ao número de transacções
efectuadas naquela caixa. O cartão e a conta
dizem respeito ao cliente. Considere que estas
máquinas estão afectas a apenas um banco, ou
seja, só aceita cartões emitidos pelo banco
proprietário da caixa. Considere ainda que
associado a cada cartão (número), para cada
operação de levantamento, existe um limite máximo
por operação e um limite diário máximo. O valor
do Saldo após Operação corresponde ao saldo
existente na conta menos (ou mais no caso de uma
operação de depósito) o valor levantado. Só
poderá ser efectuado um levantamento desde que
não ultrapasse os limites antes indicados e no
caso de o Saldo Após Operação não ficar
negativo. Pretende-se um modelo que armazene a
informação de modo a que um sistema proceda à a
geração automática dos extractos de depósito e
levantamento.
7E-DC Vendedores
UML Diagrama de Classes
Resolução
Pretende-se desenhar uma base de dados para
armazenar a informação relativa ao volume de
vendas anual dos vendedores de uma empresa. Nesta
empresa, à semelhança de todos os funcionários,
os vendedores são caracterizados por um nome, uma
morada, telefone, BI e Nº Contribuinte. Em termos
de identificação, os vendedores têm a mesma
identificação dos restantes funcionários. Para
além dessa informação, os vendedores têm a
particularidade de estar associados a uma região
do país, é nessa região que eles (e apenas eles)
actuam. Em termos de mapas de análise, é
importante poder obter o volume anual de vendas
de cada vendedor, sendo que essa informação tanto
pode ser consultada por cliente, ou por
produto. Pretende-se que desenhe um diagrama que
permita implementar uma base de dados para
armazenar a informação relativa aos vendedores,
clientes e produtos, bem como permitir a
elaboração automática dos mapas.
8E-DC Estatísticas de Vendas (I)
UML Diagrama de Classes
Resolução
Considere o seguinte mapa estatístico relativo à
distribuição das vendas de um grupo de vendedores
de uma empresa. O mapa é elaborado
mensalmente. Para cada vendedor é indicada, para
cada produto, a quantidade de unidades (e
respectivo valor monetário) que ele vendeu no
concelho em que ele actua, bem como as unidades
que tinham sido previstas para o mês. Um
vendedor apenas actua em um concelho e apenas
vende um conjunto pré-determinado de produtos
(esse conjunto pode variar apenas de ano para
ano), no entanto, num mesmo concelho podem actuar
vários vendedores (no mapa exemplo tal situação
não está ilustrada). Pretende-se o desenho de um
diagrama que permita armazenar a informação
necessária à elaboração automática do mapa. Para
a elaboração do mapa, o utilizador apenas terá
que indicar o ano e mês a que diz respeito o
mapa. Note-se que em qualquer momento deverá ser
possível elaborar mapas de meses / anos
anteriores.
9E-DC Estatísticas de Vendas (II)
UML Diagrama de Classes
Mapas de Vendas por Concelho (em contos)
Março de 1999
Vendedor Vendedor Produto Produto Aveiro Aveiro Aveiro Évora Évora Évora ...
ID Nome ID Descrição Nº Unidades Nº Unidades Valores Nº Unidades Nº Unidades Valores
Previsto Realizado Realizado Previsto Realizado Realizado
1 João
1 Prod A 200 150 99000
2 Prod B 30 35 805
2 Ana
1 Prod B 40 40 920
2 Prod C 150 145 244555
3 Prod D 177 180 123000
3 ...
Total 1545987 1748127
10E-DC Rodoviária (I)
UML Diagrama de Classes
Resolução
Considere a seguinte informação relativa a uma
carreira da Rodoviária de Lisboa. Carreira 207
Bairro Sete Castelos -------
Lisboa (Entrecampos)
Partidas de Bairro Sete Castelos
Partidas de Lisboa (Entrecampos)
horas 500 600 2300 000 100
2ª a 6ª 20 00 00 00 00
20 30 45 45
40
Sábados 20 15 15 15 45
30 45 45
domingos 00 15 15 15 15
feriados 50 45 45 45 45
horas 500 600 2300 000 100
2ª a 6ª 00 15 00 00
30 45 15 45
40
Sábados 00 15 15 45
50 30 30
domingos 00 15 00 15
feriados 50 45 15 30
11E-DC Rodoviária (II)
UML Diagrama de Classes
Todas as carreiras são identificadas por um
número e têm duas estações limite (Bairro Sete
Castelos e Lisboa - Entrecampos - no exemplo).
Existem várias estações associadas a cada
Carreira, sendo que duração do trajecto entre
elas é sempre a mesma a qualquer dia da semana e
a qualquer hora do dia. Pretende-se um diagrama
que permita armazenar os horários e trajectos
(acima exemplificados) de todas as carreiras. A
Base de Dados resultante do diagrama, deverá (i)
permitir gerar os horários e trajectos e (ii),
dadas as horas de partida de uma carreira
(partida da primeira estação), obter
automaticamente as horas de passagem em todas as
estações do percurso.
12E-DC Metropolitano
UML Diagrama de Classes
Resolução
Enunciado
Documento Word
13E-DC IRS
UML Diagrama de Classes
Resolução
Considere a seguinte tabela de taxas de IRS.
Trata-se de uma tabela para pessoas não casadas,
e as taxas () são determinadas em função do
rendimento da pessoas (remuneração mensal) e do
número de dependentes a cargo da pessoa. O
ministério das finanças numera as tabelas através
de números inteiros (1, neste caso). Existem
outras tabelas, todas com a mesma estrutura só
que para situações diferentes são elas, tabela 2
- casado, único titular tabela 3 - casado, dois
titulares tabela 4 - não casado, deficiente
tabela 5 - casado, único titular, deficiente
tabela 6 - casado, dois titulares, deficiente.
Número de dependentes
Remuneração mensal 0 1 2 3 4 ou mais
até 47 50000 0 0 0 0 0
até 48 00000 4 2 0 0 0
até 52 00000 7 4 2,5 1 0
...
Superior a 80050000 32 32 31 30 27
Pretende-se um modelo que, para além de permitir
armazenar correctamente as tabelas de IRS,
contemple uma classe Pessoa, e a informação
necessária para, dada uma determinada pessoa
(bi), poder obter-se automaticamente o montante
de desconto para IRS dessa pessoa
Tabela 1 Não casado
14E-DC Exames
UML Diagrama de Classes
Resolução
Considere-se a seguinte folha de requisição de
salas de exame. A parte superior é preenchida
pelo docente que pretende reservar a sala, sendo
a parte inferior preenchida manualmente pelo
Conselho Directivo. Pretende-se que o C.
Directivo utilize um sistema informático que
preencha automaticamente a parte inferior da
folha.
Note-se que um sistema que implemente a tarefa de
marcação de salas deverá validar a existência da
disciplina no ano da licenciatura, bem como a
identificação do docente como responsável. O
sistema face ao número de alunos e ao número de
docentes disponíveis para acompanhar a avaliação,
deverá sugerir as melhores salas para avaliação
(em função também da lotação de cada sala). É
necessário ter em conta as salas disponíveis no
momento da avaliação.
15E-DC Filiais
UML Diagrama de Classes
Resolução
Um funcionário pode ser chefe dele próprio? Para
um determinado ano, podem ser registados vários
valores de vendas de um mesmo cliente? Um
funcionário pode ter como chefe um funcionário de
outra filial?
16E-DC Farmácias
UML Diagrama de Classes
Resolução
Enunciado
Documento Word
17E-DC Música
Alternativa (i)
Alternativa (ii)
a) A alternativa ii) é incorrecta porque não
permite que, por exemplo, a música com o título
Imagine ocorra em dois álbuns distintos
b) Na alternativa i) a associação contém
deveria ser uma classe associativa por forma a
conter o atributo duração (que sairia da classe
Música).
c) Estender um dos diagrama de modo a ser
possível armazenar as músicas dos discos e
respectivos compositores. Note-se que nem sempre
os compositores das músicas estão envolvidos no
disco (classe Artista).
Considere que, num determinado momento, na base
de dados que implementa o Diagrama de Classes
constam 5 discos dos Beatles e 2 do John Lennon a
solo. Caso fosse formulada a seguinte questão em
quantos discos o John Lennon participa?, a única
resposta possível seria 2 discos. Altere o
diagrama de modo a que possa ser possível
responder correctamente à questão, i.e., 7
discos.
18E-DC Reserva Mesa
Considere o seguinte diagrama de classes
respeitante à reserva de mesas em um restaurante.
O restaurante é composto por um conjunto de
lojas. O diagrama foi desenhado no pressuposto de
que, quando o cliente fazia a reserva ele ficava
registado na classe clientes. A classe cliente
tinha inicialmente sido criada para armazenar os
clientes do restaurante que efectuavam encomendas
(por telefone e Internet) que eram entregues ao
seu domicílio (fragmento não constante no
diagrama). Os atributos Senha, código de Acesso e
telefone eram fundamentais para a identificação
do cliente. Dado que é fundamental recolher o
nome e telefone dos clientes que efectuam
reservas de mesa, a ligação de Reserva à classe
cliente parecia a solução mais natural. Quando o
sistema começou a ser utilizado surgiram
problemas devido ao facto que não era razoável
atribuir senhas aos clientes que efectuavam
reservas telefonicamente e, o telefone relevante
para a reserva (telefone de contacto) não tinha
necessariamente que ser o telefone da residência
do cliente. Altere o diagrama de modo a evitar o
problema anteriormente descrito.
19E-DC Receita
a) Considere as seguintes três alternativas para
representar os medicamentos que compõem uma
receita médica. Comente as diferenças e
consequentes implicações entre as diferentes
alternativas. Indique qual (ou quais) considera
mais adequada. b) Relativamente aos
medicamentos, altere o diagrama de modo a que
possam ser armazenados quais os medicamentos que
podem servir de alternativos a um determinado
medicamento.
20E-DC Ginásio (I)
Considere o diagrama de classes para uma
aplicação de gestão das modalidades de um
ginásio. Um aluno conhece todos os instrutores
com quem tem aulas. Do mesmo modo, um instrutor
conhece todos os alunos inscritos. Pretende-se
agora adicionar um novo requisito um instrutor
pode ser um aluno em algumas modalidades. Qual
das 4 alternativas é a MELHOR proposta para
redesenhar a aplicação?
inscrito
21E-DC Ginásio (II)
Pretende-se criar um sistema de informação para
um ginásio que permita efectuar a inscrição de
sócios e fazer a gestão da utilização dos seus
espaços físicos e serviços. Para isso, deve ser
possível consultar algumas informações on-line
sobre o ginásio, nomeadamente horários,
modalidades que se podem praticar, respectivas
frequências semanais, etc. Quando a pessoa se
desloca, pela primeira vez ao ginásio, basta
apenas confirmar a inscrição e pagar o valor
referente à jóia. A partir desse momento, o
sistema já sabe que pode debitar mensalidades ao
novo sócio (que dependem das modalidades/frequênci
as em que se inscrevem). No caso de clientes que
não são sócios, o sistema deve permitir registar
os seus dados pessoais e, à semelhança dos
clientes sócios, guardar informação sobre os
serviços que adquirem em cada deslocação ao
ginásio. No caso dos sócios, não é obrigatório
pagar os consumos no final de cada utilização do
ginásio. Se o sócio pretende pagar mais tarde, o
sistema deve reter os dados referentes aos
consumos não pagos e registar, mais tarde, os
pagamentos referentes a esses consumos e as
formas de pagamento utilizadas. Os produtos /
serviços que podem ser adquiridos no ginásio são
modalidades, bar, equipamento, estética e sauna
22E-DC Ginásio (II cont)
a) O preço dos vários serviços, incluindo
modalidade, está correctamente colocado na classe
serviço? Caso não esteja .. alterar
diagrama. b) O diagrama traduz correctamente o
requisito de que apenas os sócios podem não
efectuar os pagamentos no momento em que consomem
os serviços? Caso não esteja .. alterar
diagrama. c) Estender o diagrama para que seja
possível conhecer informação sobre os
professores, nomeadamente que modalidades
leccionam com a indicação dos respectivos dias de
semana (um professor pode não leccionar em todos
os dias da semana de uma modalidade). Note-se que
algumas modalidades podem ter vários professores
em simultâneo.
23R-DC Notas de Avaliações (I)
UML Diagrama de Classes
Classes (1ª Abordagem)
24R-DC Notas de Avaliações (II)
UML Diagrama de Classes
Associações
Uma disciplina apenas existe em uma licenciatura
e está associada a um ano lectivo
Para cada avaliação de uma disciplina é registada
a nota que os alunos obtiveram
Aluno
Disciplina
1
Número Nome Morada
Sigla Designação
1
Cada aluno, disciplina a disciplina, opta pelo
tipo de avaliação que mais lhe convém
25R-DC Notas de Avaliações (III)
UML Diagrama de Classes
Alternativa
Aluno
Disciplina
1
Número Nome Morada
Sigla Designação
1
Frequência
Teste Trabalho Teste
Pouco flexível
26R-DC Notas de Avaliações (IV)
UML Diagrama de Classes
Alternativa
Aluno
Disciplina
1
Para ser flexível, tem que aceitar qualquer tipo
de avaliação (não valida)
Número Nome Morada
Sigla Designação
1
Frequência
Tipo Avaliação
Solução mais completa
0
Tipo
1
27R-DC Notas de Avaliações (V)
UML Diagrama de Classes
Disciplina
Aluno
É possível um aluno estar inscrito em várias
licenciaturas?
1
Sigla Designação
Número Nome Morada
1
28Exercícios SQL (I)
Resolução
Livro (IDLivro, Título, Editora, Edicao) Autor
IDAutor, Nome, Nacionalidade) Autoria (IDLivro,
IDAutor)
1) Listar toda a informação dos livros
existentes, ordenada por título 2) Listar as
editoras existentes 3) Listar o título dos livros
da Editora Difel 4) Listar o titulo, editora,
edição e nome dos autores de todos os livros,
ordenada por titulo 5) Listar os títulos dos
livros do Gabriel Garcia Marquez 6) Listar o
nome e nacionalidade dos autores de nacionalidade
Portuguesa e Brasileira. 7) Listar os títulos e
número de edições dos livros com número de
edições entre 3 e 10 8) Indicar o número de
livros existentes 9) Indicar o número de livros
existentes com edição conhecida
29Exercícios SQL (II)
SQL
10) Listar, para cada editora, o número máximo de
edições existentes num livro dessa editora 11)
Listar o titulo de todos os livros, indicando o
numero de autores que escreverem o livro 12)
Listar, para cada editora, o número máximo de
edições existentes num livro dessa editora.
Apenas considerar editoras cujo valor máximo de
edições é maior que 5 13) Listar, para cada nome
de autor, o total de livros por ele editados 14)
Listar ordenadamente os nomes dos autores que não
têm livros escritos 15) Listar os nomes dos
autores com mais livros, indicando o número de
livros 16) Listar, para cada editora, o(s)
livro(s) com maior número de edições 17)
Seleccionar os nomes dos autores que editam em
uma editora em que mais nenhum outro autor
edita 18) Listar os nomes dos autores que
editaram livros em mais que uma editora 19)
Listar os nomes dos autores que têm livros em
parceria 20) Listar, para cada nome de autor,
quais os títulos dos livros que ele não
escreveu 21) Listar pares de nomes de autores que
editaram o mesmo numero de livros
30R-TR Notas de Avaliações
Modelo Relacional
Aluno
Disciplina
1
Número Nome Morada
Sigla Designação
1
Disciplina ( Aluno ( Avaliação ( Licenciatura (
Sigla, Designação, Ano Lectivo Número,
Nome, Morada Data Sigla,
Designação
Sigla, Designação, Ano Lectivo Número,
Nome, Morada Data Sigla,
Designação
Sigla, Designação, Ano Lectivo Número,
Nome, Morada Data, SiglaDis
Sigla, Designação
Sigla, Designação, Ano Lectivo, SiglaLic)
Número, Nome, Morada) Data, SiglaDis)
Sigla, Designação)
Frequência ( Nota (
Tipo Avaliação Nota
Tipo Avaliação, Sigla, Número) Nota,
Número, Data, SiglaDis)
31R-TR Agenda de Contactos
UML Diagrama de Classes
Investigador(ID, Pais, Nome, Morada,
Nacionalidade)
32R-TR Rodoviária
UML Diagrama de Classes
Carreira(Num Carreira)