Assessment Engine Service

A comprehensive microservice for creating and managing assessments with quiz builder, automated grading, question banks, multiple question formats, plagiarism detection, and detailed analytics.

Requirements Document

1. Functional Requirements

1.1 Assessment Creation & Management

REQ-ASSESS-001: Assessment Creation

Instructors must be able to create assessments with title, description, instructions, passing score, time limit, and maximum attempts

REQ-ASSESS-002: Assessment Types

Support multiple assessment types: quiz, exam, practice test, graded assignment, survey

REQ-ASSESS-003: Assessment Settings

Configure shuffle questions, shuffle answers, show correct answers, allow review, randomize from question bank

REQ-ASSESS-004: Multi-Tenant Isolation

Assessments must be isolated per organization with proper data segregation

REQ-ASSESS-005: Assessment Status

Support assessment lifecycle: draft, published, archived

1.2 Question Bank & Question Management

REQ-QUEST-001: Multiple Question Types

Support MCQ (single/multiple choice), true/false, short answer, essay, fill-in-the-blank, matching, coding challenges

REQ-QUEST-002: Question Bank

Create reusable question banks organized by topic, difficulty, and tags for easy reuse across assessments

REQ-QUEST-003: Rich Content Support

Questions must support rich text, images, code snippets, mathematical formulas (LaTeX), and media files

REQ-QUEST-004: Question Metadata

Track difficulty level, points, time allocation, category, and learning objectives for each question

REQ-QUEST-005: Bulk Import/Export

Support importing questions from CSV, Excel, QTI format, and exporting to standard formats

1.3 Assessment Taking & Submission

REQ-TAKE-001: Attempt Tracking

Track all assessment attempts with start time, end time, time taken, score, and submission status

REQ-TAKE-002: Auto-Save Progress

Automatically save learner responses periodically to prevent data loss

REQ-TAKE-003: Time Limit Enforcement

Enforce time limits with countdown timer and auto-submit when time expires

REQ-TAKE-004: Attempt Limits

Enforce maximum number of attempts and prevent retakes if limit is reached

REQ-TAKE-005: Resume Capability

Allow learners to pause and resume assessments (if configured by instructor)

1.4 Automated Grading & Evaluation

REQ-GRADE-001: Auto-Grading

Automatically grade MCQ, true/false, matching, and fill-in-the-blank questions instantly upon submission

REQ-GRADE-002: Manual Grading

Provide interface for instructors to manually grade essay, short answer, and coding questions

REQ-GRADE-003: Partial Credit

Support partial credit for multiple-choice questions and manual grading

REQ-GRADE-004: Grading Rubrics

Create and apply grading rubrics for essay and coding questions for consistent evaluation

REQ-GRADE-005: Feedback System

Instructors can provide detailed feedback on individual questions and overall assessment

1.5 Plagiarism Detection & Academic Integrity

REQ-PLAG-001: Text Comparison

Compare submitted text answers against existing submissions and external sources for similarity

REQ-PLAG-002: Code Plagiarism

Detect code similarity in programming assessments accounting for variable name changes

REQ-PLAG-003: Similarity Reports

Generate detailed similarity reports with percentage match and highlighted sections

REQ-PLAG-004: Proctoring Integration

Support integration with browser lockdown and proctoring tools for high-stakes assessments

1.6 Analytics & Reporting

REQ-ANALYTICS-001: Learner Performance

Track individual learner performance across attempts with score trends and time analysis

REQ-ANALYTICS-002: Question Analytics

Analyze question performance: difficulty, discrimination index, average score, completion rate

REQ-ANALYTICS-003: Assessment Statistics

Provide overall assessment statistics: average score, pass/fail rate, completion rate, distribution

REQ-ANALYTICS-004: Export Reports

Export assessment results and analytics to CSV, Excel, and PDF formats

2. Non-Functional Requirements

2.1 Performance Requirements

REQ-PERF-001: Assessment Loading

Assessments must load within 300ms for learners taking tests

REQ-PERF-002: Auto-Grading Speed

Objective questions must be graded within 200ms of submission

REQ-PERF-003: Concurrent Test Takers

System must support 10,000+ concurrent learners taking assessments simultaneously

REQ-PERF-004: Plagiarism Check Performance

Plagiarism detection must complete within 5 seconds for text up to 5000 words

2.2 Scalability Requirements

REQ-SCALE-001: Question Bank Size

Support question banks with 100,000+ questions per organization without degradation

REQ-SCALE-002: Assessment Attempts

Handle millions of assessment attempts with efficient storage and retrieval

REQ-SCALE-003: Multi-Tenant Scaling

Efficiently support 1,000+ organizations with isolated assessment data

2.3 Security Requirements

REQ-SEC-001: Answer Security

Correct answers must never be exposed to learners before or during assessment

REQ-SEC-002: Data Encryption

Encrypt sensitive assessment data at rest and in transit

REQ-SEC-003: Access Control

Enforce role-based access control for creating, viewing, and grading assessments

REQ-SEC-004: Audit Trail

Log all assessment activities including creation, attempts, grading, and modifications

2.4 Availability Requirements

REQ-AVAIL-001: Service Uptime

Service must maintain 99.9% uptime for high-stakes assessments

REQ-AVAIL-002: Data Backup

Automatic backup of assessment attempts every 30 seconds during active sessions

REQ-AVAIL-003: Disaster Recovery

Recovery Point Objective (RPO) of 5 minutes and Recovery Time Objective (RTO) of 1 hour

3. Integration Requirements

REQ-INT-001: User Service Integration

Validate learner and instructor IDs against User Management Service

REQ-INT-002: Course Service Integration

Link assessments to specific courses and lessons in Course Management Service

REQ-INT-003: Content Delivery Integration

Store and retrieve media files (images, videos) used in questions via Content Delivery Service

REQ-INT-004: Analytics Integration

Send assessment attempt and grading data to Analytics Service for reporting

REQ-INT-005: Notification Integration

Trigger notifications for grading completion, feedback availability, and deadline reminders

REQ-INT-006: Certificate Integration

Trigger certificate generation when learner passes assessment with required score

Requirements Validation

Use the Database Design page to validate that all requirements are properly implemented in the data model. Cross-reference each requirement ID with corresponding database tables, columns, and constraints.

Review Database Design