The sections below describe different use cases, outlining how the Generator will respond when confronted with difficulties.
Use Case 1: An Ideal Case for Step 1:
Figure 2.3.5.1 shows the result of an ideal, partially generated test after Step 1.
This test is generated from a Questions Database that is amply filled with questions for each class; at least 5 Questions for each Question type. The constraints
found in Step 1
Figure 2.3.5.1: First Step Ideal result
Notice that all constraints are met and that there is 1 of each question type.
NOTE: you can see the Question body by clicking on the drop down arrow in Question body box.
Use Case 2: Insufficient Questions in DB
Assume we have a Questions Database that only contains 3 Questions for both classes: CPE102 and CPE 103.
and we give the constraints that are shown in Step 1.
PROBLEM: The constraint asked for 10 Questions and there are only a total of six valid Questions in the Database for both classes combined.
ACTION: The Generator will return a test with only the 6 Questions possible. If the Questions' combined time are lower than the specified range, the Generator
will give a warning as shown in the figure below. If the Questions' combined time is greater than the specified range, the Generator will remove
the fewest number of Questions from the test until the Time Range constraint is met.
Figure 2.3.5.2: Warning sign
The figure below shows the resultant Test after Step 1. Note that the Number of Questions constraint is not met but the Time Range constraint is.
Figure 2.3.5.3: Insufficient Questions result
Use Case 3: Time Range conflict with Questions
Assume we have an amply filled Questions Database that has at least 5 different Questions for each Question type in each desired class, and we give the constraints
that are shown in figure 2.3.5.4.
Figure 2.3.5.4: Step 1 constraints
PROBLEM 1: The constraint asked for 2 Questions and a total Time Range of 60 min. However, there does not exist a group of 2 Questions whose combined time adds up to 60 min.
ACTION: The Generator will return a test with the two Questions whose combined time is closest to 60 as seen in the figure below. It will also give a warning to the Instructor as seen in figure 2.3.5.2.
Figure 2.3.5.5: Test with two Questions
PROBLEM 2: The constraint asked for 2 Questions and a total Time Range of 60 min. However, every possible grouping of two Questions will result in a combined time greater than 60 min.
ACTION 2: The Generator will return a test with only 1 Question whose time is closest to 60 min as seen in the figure below. It will also give the warning as shown in figure
2.3.5.2.
Figure 2.3.5.6 Test with 1 Question
Use Case 4: An Ideal Case for Step 2:
Figure 2.3.3.1 shows the result of an ideal, partially generated test after Step 2.
This test is generated from a Questions Database that is amply filled with questions for each class; at least 5 Questions for each Question type.
The constraints used are found in Step 2.
Figure 2.3.5.7: Ideal Test after Step 2
Notice that all the constraints from Step 1 and Step 2 are met.
Use Case 5:Few Questions match Constraints
Assume we have an amply filled Questions Database that has at least 5 different Questions for each Question type in each desired class, and we give the constraints
that are shown in Step 2.
PROBLEM:The constraints asked for in this example are very specific and the Generator could only find 3 Questions that matched all the given constraints.
ACTION: The Generator will return a test that only includes the Questions that matched all given constraints. It will also send a warning to the Instructor
stating what constraints are currently failing and strongly urging him to change the constraints.
Figure 2.3.5.8: Warning