Software Requirements
And
Specifications
for
Whiteboard Application
Version 1.0
Prepared by: Muhammad Hasan (SP24-BSSE-0101)
Muhammad Ali (SP24-BSSE-0087)
Shoaib Ahmed Abbasi (SP24-BSSE-0080)
Organization: Muhammad Ali Jinnah University
Date: 28 – March – 2025
Table of Contents
1. Introduction
o Purpose
o Document Conventions
o Intended Audience and Reading Suggestions
o Product Scope
o References
2. Overall Description
o Product Perspective
o Product Functions
o User Classes and Characteristics
o Operating Environment
o Design and Implementation Constraints
o Assumptions and Dependencies
o Business Rules
o Technology Stack
3. Specific Requirements
o Functional Requirements
o External Interface Requirements
o System Features
o Non-functional Requirements
4. Appendices
o Additional Features
o Future Enhancements
o Supporting Diagrams and References
5. Revision History
Name
Date
Reason for Changes
Version
1. Introduction
1.1 Purpose
The Whiteboard Application is an interactive and collaborative platform that allows users to
create, edit, and share digital drawings, diagrams, and notes in real time. The application
aims to facilitate teamwork, brainstorming, and visual representation of ideas, making it
ideal for students, professionals, and educators.
1.2 Document Conventions
•
•
•
•
All fonts, Heading and typography is done under rules set by IEEE.
All headings are numbered.
Functional requirements are denoted as FR-XXX.
Non-functional requirements are denoted as NFR-XXX.
1.3 Intended Audience and Reading Suggestions
This document is intended for:
•
•
•
•
Software Engineers developing the Whiteboard Application.
UI/UX Designers for interface guidelines.
Project Managers for tracking feature implementation.
End-users for understanding application functionality.
1.4 Product Scope
The Whiteboard Application provides:
•
•
•
•
•
•
A digital whiteboard with multi-user collaboration.
Support for handwriting, drawing, and shapes.
Cloud storage and export options.
AI-powered assistance for diagram suggestions.
Voice recognition for note-taking.
Plugin support for third-party integrations.
1.5 References
•
•
•
IEEE Software Engineering Standards
UX Guidelines for Collaborative Applications
Database Design for Cloud-Based Applications
2. Overall Description
2.1 Product Perspective
The application serves as a modern alternative to physical whiteboards, providing flexibility,
cloud accessibility, and real-time collaboration.
2.2 Product Functions
•
•
•
•
•
Multi-user editing with real-time updates.
Freehand drawing, shape recognition, and sticky notes.
Save and export to PDF, PNG, and SVG.
AI assistance for automated diagram creation.
Voice-to-text note-taking.
2.3 User Classes and Characteristics
•
•
•
Students: Use it for study sessions and brainstorming.
Teachers: Conduct interactive lessons and live annotations.
Professionals: Use it for remote meetings and project planning.
2.4 Operating Environment
•
•
•
Web application supported on modern browsers.
Mobile app for iOS and Android.
Desktop support for Windows, macOS, and Linux.
2.5 Design and Implementation Constraints
•
•
•
Internet dependency for real-time collaboration.
Limited free storage for non-premium users.
Compatibility with touchscreen and stylus devices.
2.6 Assumptions and Dependencies
•
•
Users have a stable internet connection.
Cloud storage integration requires third-party APIs.
2.7 Business Rules
•
•
•
•
•
Users must create an account to save and share whiteboards.
Premium users will have access to additional storage and AI-assisted features.
Content moderation will be implemented to prevent inappropriate usage.
Only authorized users can access or modify shared whiteboards.
Auto-save functionality will prevent data loss in case of application failure.
2.8 Technology Stack
•
Frontend: React.js with Tailwind CSS for an interactive UI.
•
•
•
•
•
•
Backend: Node.js with Express.js for API handling.
Database: MongoDB for cloud-based storage and real-time updates.
Cloud Services: AWS S3 for storing whiteboard files, Firebase for real-time
collaboration.
Authentication: Firebase Authentication for user login and access control.
AI Features: TensorFlow.js for AI-powered diagram suggestions and voice-to-text
conversion.
Operating Systems: Compatible with Windows, macOS, Linux, iOS, and Android.
3. Specific Requirements
3.1 Functional Requirements
•
•
•
•
•
FR-001: Users should be able to create, edit, and delete whiteboards.
FR-002: The application should support multiple simultaneous users.
FR-003: Users should be able to save whiteboards in different file formats.
FR-004: AI-powered suggestions should help refine diagrams.
FR-005: Voice commands should be recognized and converted to text.
3.2 External Interface Requirements
•
•
•
•
UI Requirements: Intuitive toolbar, Color palettes, and drag-and-drop interface.
Hardware Interfaces: Touchscreen and stylus compatibility.
Software Interfaces: API for third-party integrations.
Communication Interfaces: Real-time WebSocket-based updates.
3.3 System Features
•
•
•
•
Feature 1: Multi-User Collaboration
Feature 2: Cloud Sync and Export
Feature 3: AI Diagram Assistance
Feature 4: Voice Note Recognition
3.4 Non-functional Requirements
•
•
•
•
NFR-001: The application must have an uptime of 99%.
NFR-002: Response time should be under 300ms. (Gradual improvements are
expected)
NFR-003: Data must be encrypted for security.
NFR-004: The UI should be accessible for users with disabilities.
4. Appendices
4.1 Additional Features
•
•
•
•
•
Handwriting Recognition: Convert hand-drawn text to typed text.
Plugin Support: Integrate third-party applications like Google Drive.
Custom Templates: Pre-built templates for business and education.
Multi-Language Support: Localization for different regions.
Gesture Controls: Use hand gestures to perform actions.
4.2 Future Enhancements
•
•
•
•
Machine Learning Integration: Suggest shapes and flowchart elements.
Offline Mode: Work on whiteboards without an internet connection.
Augmented Reality (AR) Support: View 3D models in AR.
Blockchain Security: Secure document history and access logs.
4.3 Supporting Diagrams and References
•
•
•
Database Schema: ER diagrams for cloud storage and collaboration.
Workflow Diagrams: Flowcharts for user interactions.
System Architecture: Layered architecture diagram with API integrations.
_________________________