The Classroom Testing Tool is used to enhance the classroom learning dynamics by engaging online practice and automating student assessment. The scope of this project is self contained a web application including all necessary features used by the instructors and students.
## Deliverables
Purpose & Scope
The Classroom Testing Tool is used to enhance the classroom learning dynamics by engaging online practice and automating student assessment. The scope of this project is self contained a web application including all necessary features used by the instructors and students.
Stakeholder(s)
Instructor
Student
Target Users
Instructors
Students
IT (for app server deployment/maintenance)
Product Overview
The Classroom Testing Tool is used to enhance the classroom learning dynamics by engaging online practice and automating student assessment. Instructors will be able to create user accounts for students, create quizzes, and view student assessments and class progress. All user activity is to be logged and data to be flagged as old but not deleted.
Use Case(s)
Requirements
Functional Requirements Login
Forgot password
1 minute lockout after multiple failed login attempts
All successful/unsuccessful login attempted logged with IP, date time, etc.
Forgot password (emails password to email address on the account)
Instructor Features
search student
view student details (including class membership)
add student (First name, last name, student number, etc??)
mass add students
import students using CVS file
modify student
mass modify student
delete student
search class
view class details (including student membership)
add class
mass add class
import class using CVS file
modify class
mass modify class
add student to class
mass add student to class
mass delete student from class
delete class
view student submission (specific answers and final grade results)
view class statistical reports (mean, median, highest, lowest, graphed, etc)
email all users in a class
-create quiz……………… see quiz section
Student Features
View upcoming quizzes
Display past quiz marks
Write quiz (See next section)
Quiz Features
Quiz is timed. Once started, it will always complete at the timeout. Users can change their selections at any time. The client side is to send in the selection as soon as it was selected to ensure recoverability if the client browser/computer crashes.
If the session is started and the users system crashes, upon future logins, the quiz will continue where it was left off.
-Multiple choice
-Live timer on user screen during quiz
-Text/images in questions
- Start time, end time, # attempts
Non-Functional Requirements Scalability
Must handle up to 1000 simultaneously users taking the test at any given time. Although this is largely dependant on the server which the application is installed, the user requirement will be based on a server such as a quad core CPU with 4gb ram, which is largely available for relatively low cost by today’s standards (March 2008).
Availability
Must be available at all times once deployed with the exception to scheduled maintenance. Data must be persistent even in the case of system crashes.
Usability Requirements
The system must be localized with external language files. English and Korean must be supported but only the English language file must be part of the deliverable.
Technical Requirements
Must run under Java Tomcat and use mySQL database. InnoDB mode in mySQL preferred. (JSP, Struts, JSF are all acceptable)
mySQL database
Security Requirements
The system must maintain a high level of security and have all actions logged with the current user, time, and IP address. The log can be maintained in an external log file or as part of the database. All database actions must be protected against SQL injection. All fields that may be redisplayed anywhere on the site must be protected against Cross Site Scripting (XSS).