Modelagem dos dados, caso de uso e criação das linhas de comando

6 respostas
carloshsamaral

Fala ai pessoal bom dia,

Queria saber se alguém poderia me ajudar, to modelando aqui sozinho só para conhecimento mesmo, estou afim de fazer um sistema para cadastro dos alunos de uma academia, não vai ser nada tão grande assim, só cadastrar mesmo os alunos, professores, funcionarios que terão acesso ao sistema e criação de turma.

Fiz um caso de uso e o modelo de dados lógico e conceitual. Modelos

Ai comecei a "criar" as classes, parei nas entidades, porque fiquei com uma dúvida tão legal, nas classes como eu vou ter chaves estrangeiras, eu sou obrigado na classe java criar uma váriavel também de identificação pra ela ?

Exemplo da minha classe abaixo classe turma pra ser montada, tem que pegar o idModalidade, idProfessor e idAluno, para saber quem é o responsável, qual o tipo de luta e quais são os alunos daquela X turma:

package entity;

public class Turma {
	
	private long idTurma;
	private long idModalidade;
	private long idProfessor;
	private long idAluno;
	private String horario;
	private String classificacao;
	private boolean status;
	
	public Turma() {
		// TODO Auto-generated constructor stub
	}

	public Turma(long idTurma, long idModalidade, long idProfessor,
			long idAluno, String horario, String classificacao, boolean status) {
		super();
		this.idTurma = idTurma;
		this.idModalidade = idModalidade;
		this.idProfessor = idProfessor;
		this.idAluno = idAluno;
		this.horario = horario;
		this.classificacao = classificacao;
		this.status = status;
	}

	public long getIdTurma() {
		return idTurma;
	}

	public void setIdTurma(long idTurma) {
		this.idTurma = idTurma;
	}

	public long getIdModalidade() {
		return idModalidade;
	}

	public void setIdModalidade(long idModalidade) {
		this.idModalidade = idModalidade;
	}

	public long getIdProfessor() {
		return idProfessor;
	}

	public void setIdProfessor(long idProfessor) {
		this.idProfessor = idProfessor;
	}

	public long getIdAluno() {
		return idAluno;
	}

	public void setIdAluno(long idAluno) {
		this.idAluno = idAluno;
	}

	public String getHorario() {
		return horario;
	}

	public void setHorario(String horario) {
		this.horario = horario;
	}

	public String getClassificacao() {
		return classificacao;
	}

	public void setClassificacao(String classificacao) {
		this.classificacao = classificacao;
	}

	public boolean isStatus() {
		return status;
	}

	public void setStatus(boolean status) {
		this.status = status;
	}
	
	@Override
	public String toString() {
		if(this.status == true){
			return "[Código da turma: "+this.idTurma+"\nCódigo modalidade: "+this.idModalidade+"\nCódigo do professor: "+this.idProfessor+
			   "\nCódigo do aluno: "+this.idAluno+"\nHorário: "+this.horario+"\nClassificação: "+this.classificacao+"\nStatus: Turma aberta]";	
		}
		return "[Código da turma: "+this.idTurma+"\nCódigo modalidade: "+this.idModalidade+"\nCódigo do professor: "+this.idProfessor+
			   "\nCódigo do aluno: "+this.idAluno+"\nHorário: "+this.horario+"\nClassificação: "+this.classificacao+"Status: Turma fechada]";
	}
}

6 Respostas

getAdicted

Bom dia amigo.

Uma turma possuirá varios professores, e um professor poderá treinar váris turmas, correto? Ficará dessa forma:

public class Professor implements Serializable {

	private List<Turma> turmaList;

	public List<Turma> getTurmaList() {
		return turmaList;
	}

	public void setTurmaList(List<Turma> turmaList) {
		this.turmaList = turmaList;
	}

}
public class Turma implements Serializable {
    private List<Professor> professorList;
    
    public List<Professor> getProfessorList() {
        return professorList;
    }

    public void setProfessorList(List<Professor> professorList) {
        this.professorList = professorList;
    }


}
Ao escrever o seu código, você deve aplicar os conceitos de Orientação a Objetos, normalmente.

[]'s

getAdicted

Se estiver com dificuldades em escrever as classes, você pode modelar o banco, criando o mesmo, as tabelas e os campos, e fazer a engenharia reversa, ou seja, o banco irá gerar as suas classes de Modelo. O NetBeans possui um projeto próprio para isso.

Mas o código deve ser escrito seguindo os conceitos de Herança, Composição, etc. Por exemplo: http://www.guj.com.br/java/220792-composicao-em-java

[]'s

getAdicted

A propósito, de acordo com a sua modelagem, o relacionamento entre professor x turma eh 1 x n.

[]'s

carloshsamaral

Ah sim entendi o conceito, obrigado … Vai retornar uma lista de turmas e depois settar alguma … correto ?

Obrigado ! Pelas respostas … Você também checou meus modelos de dados e o caso de uso ? Queria saber se implementei de forma correta =]

getAdicted
carloshsamaral:
Ah sim entendi o conceito, obrigado ... Vai retornar uma lista de turmas e depois settar alguma .... correto ?
Na classe professor você terá uma lista de turmas, e a classe Turma será composta por um atributo do tipo Professor. Para ilustrar:
import java.util.List;

public class Professor {

	private List<Turma> turmaList;

	public List<Turma> getTurmaList() {
		return turmaList;
	}

	public void setTurmaList(List<Turma> turmaList) {
		this.turmaList = turmaList;
	}

}
public class Turma {

	private Professor idprofessor;

	public Professor getIdprofessor() {
		return idprofessor;
	}

	public void setIdprofessor(Professor idprofessor) {
		this.idprofessor = idprofessor;
	}

}
Obrigado ! Pelas respostas ... Você também checou meus modelos de dados e o caso de uso ? Queria saber se implementei de forma correta =]
Olhando por cima, parece estar ok. Praticando se pega o jeito, no começo eh normal precisar ajustar alguma parte do projeto.

[]'s

carloshsamaral

Eu sai um tempo pra comer com minha irmã e pensei nisso que você falou da lista na turma pra buscar os professores e a lista no professor pra buscar as turmas =] … Poxa obrigadão mesmo cara! Quero ajudar a um projeto da academia onde eu treino pra automatizar o registro dos alunos e é bom que eu ganho mais conhecimento.

@Edit: Não vou fazer nada hoje porque fui pra casa da minha tia, levei o notebook né ? Mas imagina o que eu esqueci que é muito importante ??? A fonte :confused: , 3 notebooks aqui e nenhuma fonte cabe no meu…

Criado 24 de fevereiro de 2013
Ultima resposta 24 de fev. de 2013
Respostas 6
Participantes 2