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