Dúvida com conversão de modelagem relacional para OO

0 respostas
A

Pessoal estou com dificudades em definir um modelo de classes para a seguinte situação

Uma atividade contém perguntas(que podem se repetir entre as outras atividade) e essas perguntas contem respostas precadastradas, para cara resposta dada devem ser inseridos um ou mais documentos na atividade, mas esses documentos variam de acordo com a atividade.
Por exemplo:

Para a atividadeA tem a Pergunta 1 que tem as respostas R@ que inclui o doc1 na atividadeA
R# que inclui os doc2, doc3 na atividadeA

Para a atividadeB tem a Pergunta 1 que tem as respostas R@ que inclui o doc4 na atividadeB
R# que inclui os doc5, doc6 na atividadeB

No banco de dados eu teria uma tabela associativa entre os atividade pergunta resposta e documentos

tabela ContextoDocumento
{
  int idAtividade,
  int idPergunta,
  int idResposta,
  int idDocumento
}

como isso ficaria em um modelo de classes?

Inicialmente fiz o seguinte

class Atividade
{
	private List<Pergunta> perguntas;
	private List<Documentos> documentosAssistidos;
}

class Pergunta
{
	private List<Respostas> respostas;
	private Atividade atividadeVigente;
	setRespostaSelecionada(Resposta resposta)
	{
		atividadeVigente.documentosAssistidos.addAll(resposta.documentos);
	}
}

class Resposta
{
	private List<Documentos> documentos;
}

Isso não procede porque um resposta, que pode estar em várias outras perguntas (ex: sim e não podem estar nas perguntas A, B e C), teria sempre a mesma lista de documentos para qualquer pergunta, que a contivesse, independente da atividade.

Grato,

Criado 7 de outubro de 2009
Respostas 0
Participantes 1