SIMULADO - Enterprise Application Development aplicado em 27/09/2023.
Enterprise Application Development | |
---|---|
ALUNO: | TURMA: 2TDSPR - 2TDSPT |
PROFESSOR: Benefrancis do Nascimento | 27/09/2023 |
SIMULADO | VALE 1 PONTO |
A Holding Benezinho expandiu muito o seu portifólio de sistemas gerenciados, para prover maior segurança ao acesso dos diversos sistemas da Holding, os arquitetos de software propuseram o desenvolvendo um sistema para gerenciamento de permissões dos sistemas empresariais da Holding Benezinho.
Contratamos você como Engenheiro de Software para ajudar a construir esse sistema.
Na sprint atual, você foi incumbido de fazer:
-
O Mapeamento Objeto Relacional das primeiras classes envolvidas neste projeto de software;
-
A criação automatizada das tabelas no banco de dados Oracle;
-
A persistência de todos os dados, e;
-
A criação de dois métodos capazes de realizar consultas aos Usuários persistidos previamente:
-
Consulta todos os usuários findAll;
-
Consulta usuário pela chave primária findById.
Faça o Fork do projeto no github do professor :
https://github.com/Benefrancis/autentica-benezinho.git
Caso o github esteja indisponível, você deverá pegar o projeto no diretório compartilhado.
Você deverá:
-
(0,5 Ponto) acessar o arquivo persistence.xml e alterar as configurações da persistence-unit para que seja possível conectar-se ao banco de dados Oracle da FIAP com o seu usuário e senha (manter o seu usuário e senha ativo é sua responsabilidade). Não utilize o usuário e senha de outro aluno. Caso tenha problema para autenticar, comunique o professor.
-
(1,5 Pontos) adicionar corretamente as anotações JPA na classe Profile.
Lembre-se que:
- Deverá adicionar uma _ constraint _ para que não seja possível ter mais de um Profile com o mesmo nome na tabela do banco de dados;
- Existe relacionamento Muitos para Muitos entre Profile e Role no atributo roles.
-
(1 Ponto) adicionar corretamente as anotações JPA na classe Role.
Lembre-se que:
- Deverá adicionar duas constraint para que não seja possível ter mais de uma Role com o mesmo nome na tabela do banco de dados;
- Existe relacionamento Muitos para Um entre Role e Sistema a no atributo sistema.
-
(2 Pontos) adicionar corretamente as anotações JPA na classe User.
Lembre-se que:
- Deverá adicionar uma constraint para que não seja possível ter mais de um User com o mesmo endereço de email na tabela do banco de dados;
- Existe relacionamento Muitos para Um entre User e Pessoa no atributo pessoa.
- Existe relacionamento Muitos para Muitos entre User e Profile no atributo profiles.
-
(0,5 Ponto) adicionar corretamente as anotações JPA na classe Pessoa.
Lembre-se que:
-
A classe Pessoa possui três classes herdeiras:
- Pessoa Física;
- Pessoa Jurídica.
-
-
(1 Pontos) adicionar corretamente as anotações JPA na classe PessoaFisica.
Lembre-se que:
- Deverá adicionar uma _ constraint _ para que não seja possível ter mais de uma Pessoa Física com o mesmo número de CPF na tabela do banco de dados;
- Existe relacionamento Muitos para Muitos entre PessoaFisica e PessoaFisica no atributo filhos.
-
(1 Ponto) adicionar corretamente as anotações JPA na classe PessoaJuridica.
Lembre-se que:
- Deverá adicionar uma _ constraint _ para que não seja possível ter mais de uma Pessoa Jurídica com o mesmo número de CNPJ na tabela do banco de dados;
- Existe relacionamento Muitos para Muitos entre PessoaJuridica e Pessoa no atributo socios.
-
(1,5 Pontos) adicionar corretamente as anotações JPA na classe Sistema.
Lembre-se que:
- Deverá adicionar uma _ constraint _ para que não seja possível ter mais de um Sistema com a mesma Sigla na tabela do banco de dados;
- Existe relacionamento Muitos para Muitos entre Sistema e Pessoa no atributo responsáveis.
-
(0,5 Ponto) criar um método capaz de consultar um Usuario pelo seu identificador na correspondente tabela no banco de dados;
-
(0,5 Ponto) criar um método capaz de consultar todos os Usuarios na correspondente tabela no banco de dados;
A correção da prova será disponibilizada no github do professor (branch correcao):
Para acessar digite no prompt:
git clone https://github.com/Benefrancis/autentica-benezinho.git && cd autentica-benezinho && git checkout correcao
A atividade é individual, em caso de fraude de qualquer tipo todos os envolvidos receberão nota ZERO.
Boa prova.