Pedro Ramos, DCTI/ISCTE Enunciados
Exercícios - Enunciados
Diagrama de Classes
Transposição
SQL
Pedro Ramos, DCTI/ISCTE Enunciados
Exercí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
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – Notas de Avaliações
Objectivo: guardar as notas das avaliações de alunos de uma licenciatura
Requisitos:
a) Os alunos inscrevem-se em várias disciplinas;
b) Uma disciplina apenas existe em uma licenciatura e está associada a um ano lectivo;
c) Cada aluno, disciplina a disciplina, opta pelo tipo de avaliação que mais lhe convém;
d) Para cada avaliação de uma disciplina é registada a nota que os alunos obtiveram;
e) 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.
UML – Diagrama de Classes
Resolução
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – Agenda de Contactos
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).
UML – Diagrama de Classes
Resolução
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – Gestão de Projectos
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).
UML – Diagrama de Classes
Resolução
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – Multibanco
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.
UML – Diagrama de Classes
Resolução
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – Vendedores
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.
UML – Diagrama de Classes
Resolução
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – Estatísticas de Vendas (I)
UML – Diagrama de Classes
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.
Resolução
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – Estatísticas de Vendas (II)
UML – Diagrama de Classes
Vendedor Produto Aveiro Évora ...
ID Nome ID Descrição Nº Unidades Valores 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
Mapas de Vendas por Concelho (em contos) Março de 1999
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – Rodoviária (I)Considere a seguinte informação relativa a uma carreira da Rodoviária de Lisboa.
Carreira: 207 Bairro Sete Castelos ------- Lisboa (Entrecampos)
UML – Diagrama de Classes
Bairro SeteCastelos Casal
PrevilégioOdivelas
Lisboa(Entrecampos)
5 m 5 m 5 m 2 m 8 m
horas 5:00 6:00 … 23:00 0:00 1:00
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
Partidas de Bairro Sete Castelos
horas 5:00 6:00 … 23:00 0:00 1:00
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
Partidas de Lisboa (Entrecampos)
Resolução
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – Rodoviária (II)
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.
UML – Diagrama de Classes
Bairro SeteCastelos Casal
PrevilégioOdivelas
Lisboa(Entrecampos)
5 m 5 m 5 m 2 m 8 m
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – Metropolitano
UML – Diagrama de Classes
Enunciado
Documento Word
Resolução
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – IRS
UML – Diagrama de Classes
Remuneração mensal
0 1 2 3 4 ou mais
até 47 500$00 0% 0% 0% 0% 0%
até 48 000$00 4 2% 0% 0% 0%
até 52 000$00 7% 4% 2,5% 1% 0%
...
Superior a 800500$00
32% 32% 31% 30% 27%
Tabela 1 – Não casado
Número de dependentes
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.
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
Resolução
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – ExamesConsidere-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.
UML – Diagrama de Classes
Disciplina: _________________________________
Licenciatura: ___________________ Ano: _______
Data: _______ Hora Início: _____ Hora Fim: _____
Alunos Previstos: ____ Docentes Disponíveis: ____
Docente Responsável: ________________________
-----------------------------------------------------------------
A preencher pelo Conselho Directivo
Sala Atribuída Lotação ________ _______ ________ _______
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.
Resolução
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – Filiais
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?
UML – Diagrama de Classes
Resolução
tem
Chefe
1 … *
Filial
Nome Funcionário
Nome
Filial Região Norte
0 … *
1
Cliente
Nome
0 … 1
0 … * 0 … *
Cliente Região Ano
Ano0 … * 0 … *
Vendas
Valor
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – Farmácias
Enunciado
UML – Diagrama de Classes
Documento Word
Resolução
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – Música
TítuloAnoEditora
Disco
Nome
Artista
0..*
1
-Título-Duração
Música
1 1..*
TítuloAnoEditora
Disco
Nome
Artista
0..*
1
-Título-Duração
Música
1..* 1..*
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).
TítuloAnoEditora
Disco
Nome
Artista
0..*
1
ConjuntoMúsico
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.
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).
Pedro Ramos, DCTI/ISCTE Enunciados
E-DC – Reserva MesaConsidere 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.
Pedro Ramos, DCTI/ISCTE Enunciados
E-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.
Pedro Ramos, DCTI/ISCTE Enunciados
E-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?
AlunoNrAluno : int
InstrutorNrInstrutor : int
0..* 0..*0..* 0..*
Pessoanome : String
inscrito
Pessoanome : StringNrInstrutor : intNrAluno : int
0..*
0..*0..*
0..*inscrito
Aluno Instrutor0..* 0..*0..* 0..*
PapelNrIdentificação : int
Pessoanome : String
0..*0..* 0..*0..*assume
inscritoAluno Instrutor
Pessoanome : StringNrIdentificação : int
Papel0..*0..* 0..*0..* inscrito
Alunonome : StringNrAluno : int
Instrutornome : StringNrInstrutor : int
0..*0..* 0..*0..*
Pedro Ramos, DCTI/ISCTE Enunciados
E-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ências 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
Pedro Ramos, DCTI/ISCTE Enunciados
E-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.
Pedro Ramos, DCTI/ISCTE Enunciados
R-DC – Notas de Avaliações (I)
Classes (1ª Abordagem)
Licenciatura
SiglaDesignação
Aluno
NúmeroNomeMorada
Disciplina
SiglaDesignação
Associações
Os alunos inscrevem-se em várias disciplinas
1 … *
Aluno
NúmeroNomeMorada
Disciplina
SiglaDesignação
1 … *
UML – Diagrama de Classes
Pedro Ramos, DCTI/ISCTE Enunciados
R-DC – Notas de Avaliações (II)
Associações
Uma disciplina apenas existe em uma licenciatura e está associada a um ano lectivo
1 … *
Aluno
NúmeroNomeMorada
Disciplina
SiglaDesignação
1 … *
Licenciatura
SiglaDesignação
1 … *
1
Ano Lectivo
Para cada avaliação de uma disciplina é registada a nota que os alunos obtiveram
Cada aluno, disciplina a disciplina, opta pelo tipo de avaliação que mais lhe convém
Frequência
Tipo Avaliação
Avaliação
Data1 … *
1
1 … *
1 … * Nota
Nota
UML – Diagrama de Classes
Pedro Ramos, DCTI/ISCTE Enunciados
R-DC – Notas de Avaliações (III)
Alternativa
1 … *
Aluno
NúmeroNomeMorada
Disciplina
SiglaDesignação
1 … *
Frequência
Tipo Avaliação
1 … *
Aluno
NúmeroNomeMorada
Disciplina
SiglaDesignação
1 … *
Frequência
Teste & TrabalhoTeste
Pouco flexível
UML – Diagrama de Classes
Pedro Ramos, DCTI/ISCTE Enunciados
R-DC – Notas de Avaliações (IV)
Alternativa
1 … *
Aluno
NúmeroNomeMorada
Disciplina
SiglaDesignação
1 … *
Frequência
Tipo Avaliação
1 … *
Aluno
NúmeroNomeMorada
Disciplina
SiglaDesignação
1 … *
Frequência
Tipo Avaliação
Tipo
0 … *
1
Para ser flexível, tem que aceitar qualquer tipo de avaliação (não valida)
Solução mais completa
UML – Diagrama de Classes
Pedro Ramos, DCTI/ISCTE Enunciados
R-DC – Notas de Avaliações (V)
1 … *
Aluno
NúmeroNomeMorada
Disciplina
SiglaDesignação
1 … *
Licenciatura
SiglaDesignação
1 … *
1
Ano Lectivo
É possível um aluno estar “inscrito” em várias licenciaturas?
Gestão
Informática
João
Sociologia IGE
Sim
UML – Diagrama de Classes
Pedro Ramos, DCTI/ISCTE Enunciados
Exercícios SQL (I)
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
Livro (IDLivro, Título, Editora, Edicao)
Autor IDAutor, Nome, Nacionalidade)
Autoria (IDLivro, IDAutor)
Resolução
Pedro Ramos, DCTI/ISCTE Enunciados
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
Exercícios SQL (II)
SQL
Pedro Ramos, DCTI/ISCTE Enunciados
R-TR – Notas de Avaliações
1 … *
Aluno
NúmeroNomeMorada
Disciplina
SiglaDesignação
1 … *
Licenciatura
SiglaDesignação
1 … *
1
Ano Lectivo
Frequência
Tipo Avaliação
Avaliação
Data1 … *
1
1 … *
1 … * Nota
Nota
Modelo Relacional
Disciplina (
Aluno (
Avaliação (
Licenciatura (
Frequência (
Nota (
Sigla, Designação, Ano Lectivo
Número, Nome, Morada
Data
Sigla, Designação
Tipo Avaliação
Nota
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
Tipo Avaliação, Sigla, Número)
Nota, Número, Data, SiglaDis)
Sigla, Designação, Ano Lectivo, SiglaLic)
Número, Nome, Morada)
Data, SiglaDis)
Sigla, Designação)
Pedro Ramos, DCTI/ISCTE Enunciados
R-TR – Agenda de Contactos
UML – Diagrama de Classes
Investigador(ID, Pais, Nome, Morada, Nacionalidade)
Pedro Ramos, DCTI/ISCTE Enunciados
R-TR – Rodoviária
UML – Diagrama de Classes
Carreira(Num Carreira)