Luis Briga Posted April 12, 2024 at 11:53 AM Report Share #633000 Posted April 12, 2024 at 11:53 AM Bom dia. O meu nome é Luís. Neste momento estou a desenvolver um projeto para a faculdade que consiste no seguinte: No Ensino Secundário, mais especificamente nos Cursos Profissionais e nos Cursos com Planos Próprios, existe uma Formação designada Formação em Contexto de Trabalho. Que é basicamente um estágio. Nos últimos anos tem-se verificado uma enorme perda de conexões, informações e documentos após o término da FCT. Ou seja, após o estudante terminar o seu estágio numa empresa, a empresa e a instituição de ensino perdiam as suas conexões, informações e documentos. O meu projeto consiste em desenvolver uma plataforma de gestão em ASP.NET Core MVC que permita a estas três entidades manterem as conexões, informações e documentos, mesmo após o término da FCT. Nesta parte inicial apenas escolhi um template e desenvolvi os Models da aplicação. Venho através deste tópico, perguntar se alguém me pode indicar a sua opinião relativamente aos meus Models, se estão bem elaborados, e se trocavam alguns pormenores. Aqui estão os meus Models: namespace FCTConnect.Models { public class Aluno { public int IdAluno { get; set; } public string Nome { get; set; } public int Idade { get; set; } public string Curso { get; set; } public string Email { get; set; } public string Telefone { get; set; } public string Morada { get; set; } public InstituicaoEnsino InstituicaoEnsino { get; set; } } } namespace FCTConnect.Models { public class Avaliacao { public int IdAvaliacao { get; set; } public int NumTrimestre { get; set; } public int Nota { get; set; } public string TipoAvaliacao { get; set; } } } namespace FCTConnect.Models { public class Candidaturas { public int IdCandidatura { get; set; } public Aluno Candidato { get; set; } public string CartaMotivacao { get; set; } } } namespace FCTConnect.Models { public class Documentos { public int IdDocumento { get; set; } public string Titulo { get; set; } public string Tipo { get; set; } public string Caminho { get; set; } public DateTime DataSubmissao { get; set; } } } namespace FCTConnect.Models { public class Empresa { public int IdEmpresa { get; set; } public string Nome { get; set; } public string Morada { get; set; } public string Email { get; set; } public string Telefone { get; set; } public string Descricao { get; set; } } } namespace FCTConnect.Models { public class FCT { public int IdFCT { get; set; } public Aluno Aluno { get; set; } public Empresa Empresa { get; set; } public InstituicaoEnsino InstituicaoEnsino { get; set; } public DateTime DataInicioFCT { get; set; } public DateTime DataFimFCT { get; set; } public PeriodoFCT PeriodoFCT { get; set; } public Avaliacao Avaliacao { get; set; } public Documentos Documentos { get; set; } } } namespace FCTConnect.Models { public class InstituicaoEnsino { public int IdInstituicao { get; set; } public string Nome { get; set; } public string Morada { get; set; } public string Email { get; set;} public string Telefone { get; set; } public string Descricao { get; set;} } } namespace FCTConnect.Models { public class Morada { public int IdMorada { get; set; } public string Rua { get; set; } public string CodPostal { get; set; } public string Concelho { get; set; } public string Distrito { get; set; } } } namespace FCTConnect.Models { public class PeriodoFCT { public int IdPeriodo { get; set; } public int NumHoras { get; set; } } } namespace FCTConnect.Models { public class Tarefa { public int IdTarefa { get; set; } public string Titulo { get; set; } public string Descricao { get; set; } public DateTime DataLimite { get; set; } public string Estado { get; set; } } } namespace FCTConnect.Models { public class Vaga { public int IdVaga { get; set; } public string Titulo { get; set; } public string Descricao { get; set; } public Empresa Empresa { get; set; } public Candidaturas Candidaturas { get; set; } } } Agradeço a quem me conseguir ajudar. Link to comment Share on other sites More sharing options...
rpg2424 Posted April 17, 2024 at 05:41 PM Report Share #633022 Posted April 17, 2024 at 05:41 PM (edited) Boas, Porque é que as classes: Aluno, Avaliação, Empresa, etc estão no singular e as classes: Candidaturas, Documentos, etc estão no plural? O aluno só pode ter uma InstituicaoEnsino? Se não, está refletida na estrutura a alteração no tempo? O aluno pode mudar de Curso? Como é refletida a associação entre o Curso anterior e tudo o resto? Os documentos não têm autores? E destinatários? A avaliação pode ser apenas um documento do tipo avaliação? E a candidatura? pode ser apenas um documento do tipo candidatura? Porque é que tens o campo morada do tipo string e depois tens uma classe morada? Os campos email, telefone e morada estão em mais do que uma classe. Classe contactos? Herança? Composição? O nome da classe FCT é demasiado genérico, não se consegue perceber para que serve, só pelo nome O nome PeriodoFCT é para indicar qual o periodo FCT? Ou quantas horas são de Formação em Contexto de Trabalho? Ter uma tabela com um Id inteiro para guardar um inteiro, caso este se repita, parece contra producente, ou seja, no limite estas a gastar o dobro do estaço... A classe tarefa parece-me um pouco perdida... qual é o contexto? A classe vaga não têm um estado e parece faltar-lhe uma ligação com as outras classes... será com a classe FCT? se sim, é na vaga que se guarda o Aluno e a Empresa, em vez da FCT? Os campos descrição nas classes de intervenientes são mesmo precisos? ou serão campos de Observações? NOTA: Algumas perguntas têm rasteira, só para te fazer pensar. Se quiseres uma resposta de bandeija, sempre tens o chatGPT... mas cuidado que os papagaios não sabem argumentar NOTA 2: Sou disléxico. Edited April 17, 2024 at 05:43 PM by rpg2424 1 Report Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now