Software Requirements Document Moodle Quiz Builder Approvals: Team Member Alexander Folkerts Date: Team Member John Neubecker Date: Team Member Seth Yost Date 1
Table of Contents 1. Project Overview a. Purpose b. Application Overview c. Context/Background d. Users 2. Requirements a. User Interaction b. Behavioral Description c. Functional Description d. Data Model 3. Validation Criteria 2
1. Project Overview a. Purpose The intention of this program is to ease the burden of making question banks for use in moodle. This program will facilitate automated random question generation and easier generation of other question types such as calculated math questions. This program will also enhance ease-of-use (using less user interaction--mouse clicks, keyboard strokes, etc.) than either the built-in moodle quiz building mechanisms or any of the pre-existing alternatives. b. Application Overview (what the program will accomplish) This program will be able to create question banks (a list of questions usable by moodle to make quizzes) from scratch or edit an existing question seed document (QSD--our native format used to generate quizzes), adding and editing questions in a simple and intuitive way. The application will export to a format readable by moodle from the question seeds. c. Context/Background Cedarville University uses moodle as its primary learning management system. The built-in process for making quizzes is unwieldy and requires many mouse clicks and manual input to complete. There are many alternative quiz building programs, but few of them ease the process very significantly. Professor Schumacher desired a more easy, straightforward, and automated method of designing moodle quizzes. d. Users Professor Schumacher Dr. Gollmer Dr. Kurvella Dr. Sullivan Dr. Whitmore Other Cedarville University Professors 3
2. Requirements a. Architectural Model Figure 1. Architectural Model The application will save and open our own internal file format (QSD) to and from the user's local hard drive. Math in TeX format will be able to be used in the making of questions. In order to preview what the compiled LaTeX will look like, the application will leverage a LaTeX api 1. Our application will send the TeX code to the api, which will send the data back as previewable content (image/pdf). On export, the workspace data will be generated into a question bank. This bank will be written to XML, gift, or any other format that may be supported. 1 https://code.google.com/p/common-latex-service-interface/ 4
b. Behavioral Description User Interface Layout The application is broken up into three main sections (Figure 2). The first section, located at the top of the viewing area, is the main menu. The main menu contains all of the main importing/exporting functions, any view options, and any other program level controls. The second section, located to the side of the viewing area, is the sidebar. The sidebar is the location of all the options for adding and manipulating question seeds. The third section, located in the center of the viewing area, is the workspace. This is the area where all the question seeds are shown and can be organized and categorized. A single question seed can be selected from the workspace, and edited in the sidebar as shown in Figure 1 (the highlighted group). Figure 2. Application Layout 5
Taking a cue from microsoft Excel (Figure 3), for the categories our program will use tabs at the bottom to both add and manage question subcategories. Subcategories are designed to allow a professor to group similar types of questions (possibly related conceptually or from the same chapter) into logical groupings to pull from when loaded into moodle. The user will be able to add, remove, rename, and navigate between subcategories in a paradigm similar to office excel. In addition, any individual question seed can be dragged onto a tab to drop it into that subcategory. Figure 3. Excel Tabs The sidebar (Figure 4) is where the user will create and edit question seeds. At the top is a dropdown for selecting the type of question seed to add and at the bottom is a button to add the question seed if it is a new one or commit changes to an existing question seed. The mock up shows what the it might look like for a generated multiple choice question seed. To generate a question form the question seed one question text will be used and its answer along with its distractors (answers always to be paired with that question text) and the answers of other pairs if there are less distractors than needed answers. Figure 4. The sidebar 6
User Scenario 1: Building a large question bank for definitions quiz Professor Schumacher needs a quiz for his class to learn terms. He goes into the moodle quiz building application on a local server. He chooses generated multiple choice from the seed type drop-down on the side. He then inputs each term and definition, and with each entered term-definition pair, a new set of text boxes show up. Once he has entered all the term-definition pairs, he clicks the add button to append the seed to the workspace. He checks over his results, chooses a number of questions to generate, and after previewing the results, exports the file to moodle xml format. From there, he can choose questions (either manually or via moodle choosing a number of random questions) to show up on the quiz. User Scenario 2: Assignment to make questions A professor assigns his class to create moodle question(s) for homework. The student first goes to the website for the application. From the application the users will choose question types, and insert the needed information for each question type. Once they are satisfied with the results, they export the bank to a moodle readable format and send them to the professor, who then imports the questions into moodle to combine them into one question bank. User Scenario 3: Making a question bank with calculated questions Dr. Gollmer needs to generate a quiz testing students on ability to calculate capacitance using the V=IR equation. He first goes to the moodle quiz builder and chooses calculated multiple choice as the question type to add. Then he defines the variables and their ranges for the question and inputs the mathematical formula for the correct answer and distractor answers. He does this for all the questions on the quiz, reviews his input, and then exports the workspace to a question bank. The question bank can then be used to generate unique quizzes for each student (given a range, moodle will auto-generate numeric values for the variables used in the calculations for the answers). 7
c. Functional Description Our site will be able to open a file formatted in QSD, a custom text format that we will create. It will be able to export files in XML and Gift formats. This way the site can be used for more than just the moodle platform. Our program will support multiple question formats; generated multiple choice where the user enters in the term, definition list, and how many question to generate. Standard multiple choice, true/false, matching, calculated where the user creates the questions one at a time. Graphics and LaTeX will be supported in question and answer text. The program will also allow adding feedback to the student if they choose the right/wrong answers. And the program will support subcategories for uploading into moodle. Open files QSD Export files XML Gift Question types supported Generated multiple choice User enters term, definition list User enters how many questions will be generated from the list Multiple choice True / false Matching Calculated Support for other question content Math in questions (LaTex) Graphics in questions Feedback Subcategories Distractor answers For generated multiple choice After term and definition list answers to always be paired with the definition 8
d. Data Model The data used to make up the question bank is separated into sections called question seeds. The structure of question seeds vary depending on question type. All question types regardless of type share the data of at least one question text and one correct answer. A random multiple choice question seed contains a set of question-answer pairs (and potentially some distractors). Matching and true/false questions use the same format as a random multiple choice question seed, and can be generated from the same set. A calculated question seed contains a question text, a correct answer (in the form of a formula), and distractor answers (also in the form of a formula, accounting for the most common student errors). There will likely be more formats than these, and these may have slight variations on data structure. These question seeds are separated into subcategories. The question seeds will be used to make multiple questions into a question bank. In the question bank, the subcategories will separate the question bank into moodle categories from which questions can be pulled.. 9
3. Validation Criteria The data created by the application will be validated by generating each question type, exporting them, and importing them into moodle. To pass validation the question bank must properly import into moodle. The combinatorics, other randomizations, or categorizations will also be tested by their export into moodle. The questions generated must also have a quality comparable to those created in moodle. Above being able to be imported into moodle it must be demonstrated that the content of the questions is good. To validate the quality we will have our users test the system as well as testing the program ourselves to check that the application does not limit the content of questions in any unreasonable manner. The user interaction will be validated in two primary methods. The first method involves testing the user interface with our primary users and using their feedback to make improvements. The second method involves statistical comparisons of number of mouse strokes, number of keyboard inputs, and other user interactions with the program (the lower being preferred). 10