I'm working on a certain online quiz application for a certain organization. the tools are Visual Studio 2013, ASP.NET and SQL Server. I've stumbled upon a certain design-technology problem that I want to have opinions about:
There is a pool of questions. Each question has at least 2 or 4 answers max. Once a student signs in, the system has to pick up the questions according to a certain criteria, shuffles them and creates a quiz. The questions are presented to the student 1 by 1 in a timed fashion.
Once the quiz has been made for a student, it has to be there even if the student's machine powers off. i.e. if he retakes, he gets the same quiz starts from the same question where he left off.
Here is my problem. I have two choices:
- Either I create tables and keep the quiz in relational way. OR
- I create an xml which describes the quiz and store that xml in the database.
later on when I have to retrieve, I have to either query tables to gather the quiz (1) or I just retrieve an xml (2).
I feel that neither of the choices looks elegant and there could be a better way for all this. Please note that the platform and tools are fixed and I cannot change them. Advice, if either of the choice is good or suggest a better and elegant way of doing this keeping the problem & constraints.
No comments:
Post a Comment