Case Study Based Learning on
Software Requirements
Specification
for
Object Oriented Software
Engineering
Institute/ School Name School of Engineering and Technology
Department Name Department of Computer Science & Engineering
Program Name Bachelor of Engineering (Computer Science & Engineering)
Course Code 24CS015 Course Name Object Oriented Software Engineering
Team Member 1 ID Team Member 2 ID
Team Member 3 ID Team Member 4 ID
SRS for Online University Examination System
TABLE CONTENTS
1. Introduction
1.1 Purpose
1.2 Scope
1.3 Definitions and Abbreviations
1.4 References
2. Overall Description
2.1 Product Perspective
2.2 Product Functions
2.3 User Characteristics
2.4 Constraints
2.5 Assumptions
3. Specific Requirements
3.1 Functional Requirements
3.1.1 Login & Authentication
3.1.2 Exam Interface
3.1.3 Coding Interface
3.1.4 Faculty Panel
3.1.5 Admin Panel
3.2 Non-Functional Requirements
3.2.1 Performance Requirements
3.2.2 Security Requirements
3.2.3 Usability Requirements
3.2.4 Portability
4. External Interface Requirements
4.1 User Interface
4.2 Hardware Interfaces
4.3 Software Interfaces
5. System Features Summary
6. Use Case Scenarios
6.1 Use Case Diagram (for visual overview)
6.2 Student Takes Exam (textual scenario)
6.3 Faculty Evaluation (textual scenario)
7. Class Diagram
8. Data Flow Diagram
8.1 Level 0 DFD
8.2 Level 1 DFD
9. Sample Test Case Format (Coding)
10. Appendices
A. Technologies to be Used
B. Future Scope
1. Introduction
1.1 Purpose
The purpose of this document is to outline the requirements for developing an Online Examination
System used by the university for conducting time-limited coding exams. The system ensures section-
wise progression, auto-submission, and faculty-driven evaluation. It supports programming questions
with test cases to evaluate student code automatically and manually.
1.2 Scope
The Online Examination System (OES) will be a secure, scalable, and role-based platform that allows:
Students to take coding and theory exams online.
Automatic submission of sections after the time limit.
Locking of previously attempted sections after submission.
Execution of code with test cases and validation.
Faculty to manually evaluate answers and assign scores.
1.3 Definitions and Abbreviations
OES: Online Examination System
MCQ: Multiple Choice Question
TC: Test Case
UI: User Interface
IDE: Integrated Development Environment
1.4 References
University Coding Test Guidelines
IEEE Software Requirements Specification Standard
CodeQuotient platform (for reference)
2. Overall Description
2.1 Product Perspective
The OES is a web-based system accessible by students and faculty via university credentials. It will
include:
Secure login via OTP/email
Student dashboard
Exam panel with timer and code editor
Auto-evaluation with test cases
Manual evaluation panel for faculty
Backend APIs and secure database
2.2 Product Functions
Role-based access control
Time-limited section-wise exams
Non-revisitable sections after submission
Auto-submission on timeout
Code editor with language selection
Input/output validation using test cases
Manual evaluation interface for teachers
Result generation and reporting
2.3 User Characteristics
Students: Intermediate computer proficiency, access to laptop/internet
Faculty: Ability to assess and provide manual scores
Admin: Technical background to manage exam settings and platform
2.4 Constraints
No internet disconnection allowed during exam
Compatible with latest Chrome, Firefox
Auto-save and protection against refresh/closing tab
2.5 Assumptions
University will provide valid credentials
Secure environment ensured during exams
Question papers uploaded before exam start
3. Specific Requirements
3.1 Functional Requirements
3.1.1 Login & Authentication
Users login with university email & OTP/password
Role is verified and appropriate dashboard is shown
3.1.2 Exam Interface
Exam divided into multiple sections
Timer shown for each section (e.g., 30 minutes)
After time ends, auto-submit is triggered
After submission, section is locked
3.1.3 Coding Interface
Inbuilt code editor
Language selector (e.g., C++, Java, Python)
Input/output area
On clicking "Run", output is displayed
On "Submit", code is run against hidden test cases
Student receives pass/fail feedback per test case
3.1.4 Faculty Panel
View all student submissions
For MCQs: auto-evaluated
For code: test case results shown + code
Add manual score, remarks
Mark question as “Final Evaluated”
3.1.5 Admin Panel
Upload question papers
Set timer per section
Assign evaluators
View all results
3.2 Non-Functional Requirements
3.2.1 Performance Requirements
Support for 500+ concurrent students
Auto-save answers every 10 seconds
3.2.2 Security Requirements
All data transferred over HTTPS
Session timeout after inactivity
Copy-paste, screenshot, and multiple tab detection
3.2.3 Usability Requirements
Clean UI for minimal distractions
Help and tutorial section
3.2.4 Portability
Compatible with modern browsers
Mobile version (optional for result view)
[Link] Interface Requirements
4.1 User Interfaces
Student UI: Login, instructions, exam dashboard, code editor
Faculty UI: Login, evaluate answers, score submission
Admin UI: Exam creation, role assignment, report generation
4.2 Hardware Interfaces
Desktop or laptop with webcam (if enabled)
Internet connection (2 Mbps minimum)
4.3 Software Interfaces
Backend API ([Link]/Django)
Database: MongoDB / MySQL
Frontend: [Link] / Angular
5. System Features Summary
Feature Description
Student Login Secure login with OTP
Timed Sections Timer with auto-submit
Section Lock Previous sections not accessible
Code Execution Supports compile/run/test
Auto-Evaluation Displays passed/failed test cases
View answers + test cases +
Faculty Review
score
Total score + section-wise
Result Panel
breakup
[Link] Case Scenarios
6.1 Use Case Diagram
Use Case 1: Student Takes Exam
1. Student logs in
2. Reads instructions
3. Starts Section 1
4. Writes code and submits
5. Section 1 locks
6. Section 2 begins
7. After final section, exam is auto-submitted
Use Case 2: Faculty Evaluation
1. Faculty logs in
2. Views student list
3. Opens individual student code
4. Views test case results
5. Adds manual remarks and marks
6. Marks evaluation complete
7. Class Diagram
8. Data Flow Diagram
8.1 Level 0 DFD
8.2 Level 1 DFD
9. Sample Test Case Format (Coding)
TC No. Input Expected Output Actual Output Pass/Fail
TC01 23 5 5 Pass
TC02 -1 5 4 4 Pass
TC03 ab Error Runtime Error Fail
10. Appendices
A. Technologies to be Used
Frontend: [Link]
Backend: [Link] / Django
DB: MongoDB or MySQL
Code Editor: Monaco Editor
B. Future Scope
Add proctoring via webcam
Code plagiarism checker
Analytics dashboard for faculty