0% found this document useful (0 votes)
76 views

Software Requirements Specifications for Project Management System

The Software Requirements Specification (SRS) outlines the Project Management System, a web-based application developed using React and Vite, aimed at enhancing project tracking, task management, and team collaboration. The document details the system's purpose, functionalities, user roles, and operational environment, while also providing guidelines for developers, project managers, and testers. It includes sections on overall description, external interface requirements, system features, and non-functional requirements to ensure comprehensive understanding and implementation of the system.

Uploaded by

helloworldcp4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views

Software Requirements Specifications for Project Management System

The Software Requirements Specification (SRS) outlines the Project Management System, a web-based application developed using React and Vite, aimed at enhancing project tracking, task management, and team collaboration. The document details the system's purpose, functionalities, user roles, and operational environment, while also providing guidelines for developers, project managers, and testers. It includes sections on overall description, external interface requirements, system features, and non-functional requirements to ensure comprehensive understanding and implementation of the system.

Uploaded by

helloworldcp4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

1 Software Requirement Specification for Project Management System

Software Requirements
Specifications for

Project Management System

Version 1.0 approved

Prepared by
Pritee Patil
Shraddha Sadavarte

25th Feb,2025
2 Software Requirement Specification for Project Management System

Table of Contents
Table of Contents .......................................................................................................................... ii
Revision History ............................................................................................................................ ii
1. Introduction ..............................................................................................................................1
1.1 Purpose ............................................................................................................................................ 1
1.2 Document Conventions .................................................................................................................... 1
1.3 Intended Audience and Reading Suggestions .................................................................................. 1
1.4 Product Scope .................................................................................................................................. 1
1.5 References ........................................................................................................................................ 1
2. Overall Description ..................................................................................................................2
2.1 Product Perspective ......................................................................................................................... 2
2.2 Product Functions ............................................................................................................................ 2
2.3 User Classes and Characteristics ..................................................................................................... 2
2.4 Operating Environment .................................................................................................................... 2
2.5 Design and Implementation Constraints .......................................................................................... 2
2.6 User Documentation ........................................................................................................................ 2
2.7 Assumptions and Dependencies ...................................................................................................... 3
3. External Interface Requirements ...........................................................................................3
3.1 User Interfaces ................................................................................................................................. 3
3.2 Hardware Interfaces ......................................................................................................................... 3
3.3 Software Interfaces .......................................................................................................................... 3
3.4 Communications Interfaces ............................................................................................................. 3
4. System Features ........................................................................................................................4
4.1 System Feature 1 .............................................................................................................................. 4
4.2 System Feature 2 (and so on) ........................................................................................................... 4
5. Other Nonfunctional Requirements .......................................................................................4
5.1 Performance Requirements .............................................................................................................. 4
5.2 Safety Requirements ........................................................................................................................ 5
5.3 Security Requirements ..................................................................................................................... 5
5.4 Software Quality Attributes ............................................................................................................. 5
5.5 Business Rules ................................................................................................................................. 5
6. Other Requirements ................................................................................................................5
Appendix A: Glossary....................................................................................................................5
Appendix B: Analysis Models .......................................................................................................5
Appendix C: To Be Determined List ............................................................................................6

Revision History

Name Date Reason For Changes Version


3 Software Requirement Specification for Project Management System

1. Introduction

1.1 Purpose
The software product described in this document is Project Management System Website
(Version 1.0). It is developed using React with Vite for frontend development. The system is
designed to streamline project tracking, task management, and team collaboration.

1.2 Document Conventions


This Software Requirements Specification (SRS) for the Project Management System
follows standard documentation practices to ensure clarity, consistency, and readability. The
following conventions have been used throughout this document:

1. Text Formatting Conventions:

 Bold Text – Used to highlight important terms, section headings, and key concepts.
 Italicized Text – Used for emphasis and to highlight references to other documents or
external resources.
 Monospace Text – Used for inline code snippets, file names, database fields, and
system commands.

2. Requirement Numbering & Priority Levels:

 Each requirement is assigned a unique identifier in the format REQ-XX-YYY,


where:
o XX represents the section number (e.g., 01 for Functional Requirements).
o YYY represents a sequential requirement number.
o Example: REQ-01-001 (First functional requirement).
 Priorities are assigned as follows:
o [H] High Priority – Must be implemented in the initial release.
o [M] Medium Priority – Important but can be implemented in later versions.
o [L] Low Priority – Optional or nice-to-have features.

3. References & Citations:

 Any external documents, APIs, or frameworks are cited in the References section
using a consistent format.

1.3 Intended Audience and Reading Suggestions

Intended Audience

This Software Requirements Specification (SRS) document is intended for the following
stakeholders involved in the development and use of the Project Management System:

 Developers – To understand functional and non-functional requirements, system


constraints, and implementation details.
4 Software Requirement Specification for Project Management System

 Project Managers – To track system requirements and ensure alignment with


business goals.
 Testers/QA Engineers – To design test cases and validate the system against
specified requirements.
 UI/UX Designers – To create a user-friendly interface based on usability
requirements.
 Business Analysts – To analyze project requirements and ensure business needs are
met.
 Documentation Writers – To prepare user guides and technical documentation for
end users.

Document Organization and Reading Suggestions

This document is structured into several sections to ensure clarity and ease of reference:

1. Introduction – Provides an overview of the project, including its purpose, scope,


document conventions, and intended audience.
2. Overall Description – Describes the system context, main features, assumptions, and
dependencies.
3. Specific Requirements – Details functional and non-functional requirements,
including use cases and system constraints.
4. External Interface Requirements – Describes user interfaces, hardware, software,
and communication interfaces.
5. System Features – Breaks down the core features of the project management system.
6. Other Requirements – Includes legal, regulatory, and security requirements.

Recommended Reading Sequence:

 All Readers – Start with Sections 1 & 2 (Introduction and Overall Description) for a
high-level understanding of the system.
 Developers – Focus on Sections 3, 4, and 5 to understand system features,
requirements, and interfaces.
 Testers – Review Sections 3 and 5 for functional requirements and test case design.
 Project Managers & Business Analysts – Pay attention to Sections 1, 2, and 6 to
ensure alignment with business needs.
 UI/UX Designers – Refer to Section 4 for interface design guidelines.

1.4 Product Scope


The Project Management System is a web-based application designed to streamline project
planning, task management, collaboration, and tracking. Built using React with Vite, the
system provides an intuitive and efficient platform for teams to manage their projects
effectively.

Purpose & Objectives

The primary objective of this system is to enhance productivity by enabling teams to plan,
organize, track, and collaborate on projects in a centralized digital workspace. The key
goals include:
5 Software Requirement Specification for Project Management System

 Efficient Task Management – Assign and track tasks with deadlines and priority
levels.
 User Role Management – Ensure secure access with defined user roles (Admin,
Manager, Team Member).
 Seamless User Experience – Provide a modern and responsive UI for smooth
interaction.

Business Alignment & Benefits

This system aligns with corporate strategies by:

 Improving team efficiency through structured workflows.


 Enhancing accountability by maintaining detailed logs of project activities.
 Facilitating remote work by offering cloud-based accessibility.

By integrating these features, the Project Management System aims to be a reliable,


scalable, and user-friendly solution for businesses, startups, and project-driven teams

1.5 References

The following documents and web resources are referenced in this Software Requirements
Specification (SRS) for the Project Management System:

1. IEEE Std 830-1998 – IEEE Recommended Practice for Software Requirements


Specifications
o Author: Institute of Electrical and Electronics Engineers (IEEE)
o Version: 1998
o Description: This standard provides guidelines for writing clear and well-
structured SRS documents.
o Source: IEEE Standards
2. React Documentation
o Author: Meta (Facebook)
o Version: Latest stable version
o Description: Official documentation for React, including best practices,
components, hooks, and state management.
o Source: https://react.dev
3. Vite Documentation
o Author: Vite.js Community
o Version: Latest stable version
o Description: Guides and reference materials for using Vite as a frontend build
tool.
o Source: https://vitejs.dev
4. Project Management Best Practices Guide
o Author: Project Management Institute (PMI)
o Version: PMBOK 7th Edition
o Description: Industry best practices for project management, including Agile
and Scrum methodologies.
o Source: https://www.pmi.org/
6 Software Requirement Specification for Project Management System

2. Overall Description

2.1 Product Perspective

The Project Management System is a new, self-contained web application developed as a


full-stack MERN (MongoDB, Express.js, React, Node.js) solution. It is designed to
facilitate project planning, task tracking, and team collaboration in an intuitive and efficient
manner.

System Context & Origin

 This application is not a replacement for an existing system but a new product
aimed at streamlining project management workflows for teams and businesses.
 It follows a modular architecture, allowing easy scalability and potential future
integrations with third-party services such as cloud storage, email notifications, and
real-time chat systems.
 The system provides both frontend (React + Vite) and backend (Node.js + Express
+ MongoDB) components to ensure seamless interaction between users and data
storage.

System Architecture & Interfaces

The Project Management System consists of three main layers:

1. Frontend (React + Vite)


o Provides an interactive user interface (UI) for project and task management.
o Communicates with the backend using RESTful APIs via HTTP requests.
2. Backend (Node.js + Express.js)
o Handles business logic, authentication, and API requests.
o Implements role-based access control (RBAC) for secure user management.
o Manages real-time updates for project progress and notifications.
3. Database (MongoDB)
o Stores user information, project details, tasks, comments, and activity
logs.
o Uses NoSQL document-based storage for flexible and scalable data
management.

System Diagram

Below is a simplified architecture diagram of the Project Management System:

+-----------------------------+
| React + Vite UI | <---> User Interaction (Frontend)
+-----------------------------+
⬇ (REST API)
+-----------------------------+
| Node.js + Express.js API | <---> Business Logic (Backend)
+-----------------------------+
7 Software Requirement Specification for Project Management System

⬇ (Database Calls)
+-----------------------------+
| MongoDB | <---> Data Storage (Database)
+-----------------------------+

External Interfaces

 Authentication API: Supports user login, signup, and role-based access (JWT
authentication).
 Task Management API: Allows creating, updating, and deleting projects/tasks.
 Notification System (Future Scope): Can be integrated with email or real-time
WebSocket notifications.

2.2 Product Functions

The Project Management System provides essential features to help users efficiently
manage projects, tasks, and teams. Below is a high-level summary of the key functionalities:

1. User Management & Authentication

 User registration, login, and role-based access control (RBAC).


 Secure authentication using JWT (JSON Web Token).
 Profile management (update personal details, change passwords).

2. Project Management

 Create, edit, and delete projects.


 Assign project roles (Admin, Manager, Team Member).
 Set project deadlines and track status updates.

3. Task Management

 Create, update, and delete tasks within a project.


 Assign tasks to team members and set priorities.
 Track task progress with statuses (To-Do, In Progress, Completed).

4. Dashboard

 Overview of all active projects and tasks.

5. File Management (Future Scope)

 Upload and attach files to projects or tasks.


 View and download shared documents.
8 Software Requirement Specification for Project Management System

Functional Overview Diagram

Below is a high-level functional breakdown of the system:

+------------------------+

| User Management |

| - Registration/Login |

| - Role Management |

+------------------------+

+------------------------+

| Project Management |

| - Create/Edit/Delete |

| - Assign Members |

| - Track Progress |

+------------------------+

+------------------------+

| Task Management |

| - Assign Tasks |

| - Set Deadlines |

| - Update Status |

+------------------------+

+------------------------+

| Collaboration |

| - File Sharing (Future) |


9 Software Requirement Specification for Project Management System

+------------------------+

+------------------------+

| Dashboard |

| - Task Tracking |

+------------------------+

2.3 User Classes and Characteristics

The Project Management System will be used by different types of users, each with distinct
roles, privileges, and interaction levels. Below are the anticipated user classes and their
characteristics:

1. Administrator (Admin)

Characteristics:

 Highest privilege level in the system.


 Responsible for managing users, projects, and system configurations.
 Requires moderate to high technical expertise to manage backend settings.
 Uses the system frequently for user and project oversight.

Primary Functions:

✔ Create, update, and delete user accounts.


✔ Assign roles and permissions.
✔ Manage system-wide settings and configurations.
✔ Monitor user activity and logs.
✔ Access all reports and analytics.

2. Project Manager

Characteristics:

 Responsible for creating and managing projects.


 Oversees team activities and ensures project progress.
 Requires moderate technical knowledge but mainly focused on project workflows.
 Uses the system daily for task and project tracking.
10 Software Requirement Specification for Project Management System

Primary Functions:

✔ Create, update, and delete projects.


✔ Assign team members to projects and tasks.
✔ Define task priorities, deadlines, and milestones.
✔ Monitor project progress through reports and dashboards.
✔ Communicate with team members via comments and notifications.

3. Team Member

Characteristics:

 Assigned to specific tasks within a project.


 Focuses on task execution and updating progress.
 Requires basic technical knowledge and primarily interacts with task management features.
 Uses the system regularly, but less frequently than Admins or Managers.

Primary Functions:

✔ View assigned projects and tasks.


✔ Update task progress and status (To-Do, In Progress, Completed).
✔ Comment on tasks for better collaboration.
✔ Upload and share files (if enabled).
✔ Receive notifications for deadlines and updates.

4. Client (Optional – Future Scope)

Characteristics:

 External stakeholder who needs visibility into project progress.


 Uses the system occasionally to check project status and provide feedback.
 Requires a simplified interface for tracking key deliverables.

Primary Functions:

✔ View project milestones and status updates.


✔ Provide feedback or approvals for deliverables.
✔ Receive automated reports and notifications.

5. System Guest (Visitor or Unauthenticated User) (Future Scope)

Characteristics:
11 Software Requirement Specification for Project Management System

 Users who have not yet registered or logged in.


 May be prospective team members or clients exploring the platform.
 Uses the system infrequently, mainly for evaluation purposes.

Primary Functions:

✔ View basic system information and features.


✔ Register for an account.
✔ Request project access (for external users).

2.4 Operating Environment

The Project Management System is a full-stack MERN (MongoDB, Express.js, React,


Node.js) web application that operates in a modern cloud-based or on-premise environment.
Below are the specifications for its hardware, software, and system dependencies:

1. Hardware Requirements

The system can be deployed on cloud-based servers (e.g., AWS, DigitalOcean, or Heroku)
or on-premise infrastructure.

For Server Deployment:

 Processor: Minimum 4-core CPU, recommended 8-core+ (Intel i5/i7, AMD Ryzen, or
equivalent).
 RAM: Minimum 4GB, recommended 8GB+ for smooth backend performance.
 Storage: At least 50GB SSD (expandable as per database size).
 Network: Stable Internet connection (1Gbps+ for cloud hosting).

For End Users (Client-Side Requirements):

 Device: Desktop, laptop, tablet, or smartphone.


 Browser: Latest versions of Google Chrome, Mozilla Firefox, Microsoft Edge, or Safari.
 Network: Internet connection with a minimum speed of 5 Mbps.

2. Software Requirements

Frontend (React + Vite)

 React Version: Latest stable release.


 Vite.js: Fast build tool for optimized frontend development.
 Dependencies: React Router, Axios (for API calls), Redux (if state management is required).
 Browser Compatibility: Chrome, Firefox, Edge, Safari.
12 Software Requirement Specification for Project Management System

Backend (Node.js + Express.js)

 Node.js Version: 16+ (Recommended latest LTS version).


 Express.js: Web framework for handling backend logic and API requests.
 Authentication: JSON Web Token (JWT) for secure access.

Database (MongoDB)

 MongoDB Version:8.0+ (or latest stable version).


 Hosting Options: Local MongoDB setup, MongoDB Atlas (Cloud-Based), or self-hosted
MongoDB cluster.
 Data Storage: JSON-based NoSQL storage for project and task management.

Additional Software Dependencies:

 npm (Node Package Manager) or Yarn for dependency management.


 Postman or cURL for API testing.
 Git & GitHub/GitLab for version control.

3. Deployment Environments

The system can be deployed on:

 Local Development: Runs on localhost using Node.js and MongoDB.


 Cloud Deployment: Hosted on AWS, DigitalOcean, Render, Vercel, or Heroku.
 On-Premise Deployment: Can run on a dedicated company server.

2.5 Design and Implementation Constraints


The Project Management System is developed using the MERN (MongoDB, Express.js,
React, Node.js) stack and must comply with certain design and implementation constraints
due to technical, business, and security requirements. The following constraints limit the
available development options:

1. Technology Constraints

 Full-Stack MERN: The system must be built using MongoDB, Express.js, React (with Vite),
and Node.js. No other backend or frontend frameworks (e.g., Django, Angular, Laravel) can
be used.
 Database: Must use MongoDB (NoSQL) for data storage, ruling out SQL-based databases like
MySQL or PostgreSQL.
 Hosting: The system should be cloud-deployable using AWS, Vercel, Render, or Heroku,
ensuring scalability.
 Build Tool: The frontend must use Vite.js for optimized performance and fast development.
13 Software Requirement Specification for Project Management System

2. Hardware Limitations

 Server Requirements:
o Minimum 4-core CPU, 4GB RAM, SSD storage for deployment.
o Scaling may require load balancers and database clustering.
 Client Requirements:
o The application must run efficiently on standard desktop, laptop, and mobile
browsers.
o Support for older devices may be limited due to modern UI libraries.

3. Security Considerations

 Authentication & Authorization:


o Must use JWT (JSON Web Token) for secure user authentication.
o Implement Role-Based Access Control (RBAC) to prevent unauthorized access.
 Data Encryption:
o Sensitive data (passwords, API keys) must be hashed (bcrypt) and stored securely.
 API Security:
o Prevent Cross-Site Scripting (XSS), SQL Injection, and CSRF attacks.
o Use CORS (Cross-Origin Resource Sharing) for secure API communication.
 HTTPS Encryption:
o All requests should be served over SSL/TLS to ensure encrypted communication.

4. Performance Constraints

 Response Time:
o API calls should return responses within 200ms to ensure smooth user experience.
o The system should support real-time updates (WebSockets or polling) for task
status changes.
 Concurrent Users:
o Initial architecture should support 100+ concurrent users, with the ability to scale.
o Caching mechanisms (e.g., Redis) may be required for performance optimization.

5. Integration Constraints

 Third-Party Authentication (Future Scope):


o May integrate Google, GitHub, or Microsoft OAuth for seamless sign-in.
 Email & Notifications (Future Scope):
o If email notifications are required, must integrate with Nodemailer, SendGrid, or
Firebase Cloud Messaging.

6. Code Quality & Maintenance Standards

 Coding Standards:
o Follow ESLint rules for JavaScript/React best practices.
14 Software Requirement Specification for Project Management System

o Maintain consistent folder structure for scalability.


 Version Control:
o Use Git with GitHub/GitLab for collaboration and CI/CD pipeline integration.
 Modular Design:
o Follow MVC (Model-View-Controller) pattern in the backend for maintainability.
 Testing Requirements:
o Implement unit tests (Jest/Mocha) for APIs and UI components.
o Conduct end-to-end (E2E) testing using Cypress or Selenium.

7. UI/UX Constraints

 Responsive Design:
o The frontend must be mobile-friendly and adapt to different screen sizes.
 Browser Support:
o Must support latest versions of Chrome, Firefox, Edge, and Safari.
o Support for Internet Explorer is not required.

8. Deployment & Maintenance Constraints

 Deployment Strategy:
o Must use CI/CD pipelines for automated deployment (GitHub Actions, Jenkins).
o Rolling updates or blue-green deployment methods should be preferred.
 Data Backup & Recovery:
o Database should have automatic backups enabled for disaster recovery.
 Logging & Monitoring:
o Integrate Winston, Morgan (for logging) and Prometheus/Grafana (for monitoring)
to track system health.

2.6 User Documentation


The Project Management System will include basic user documentation to help users
understand how to use the system. The following documents will be provided:

1. User Manual

�Format: PDF or Online Document


�Contents:

 Introduction to the system


 How to register and log in
 How to create, assign, and manage tasks
 Explanation of user roles (Admin, Manager, Team Member)
 Common issues & troubleshooting

2. Installation Guide
15 Software Requirement Specification for Project Management System

�Format: README file (Markdown or PDF)


�Contents:

 System requirements (Node.js, MongoDB, etc.)


 How to install and run the project locally
 How to deploy the project (basic guide for hosting)

3. API Documentation (For Developers)

�Format: Postman Collection or Markdown file


�Contents:

 How to use the API (Authentication, CRUD operations)


 Endpoints for managing projects, tasks, and users
 Sample requests and responses

4. FAQs (Frequently Asked Questions)

�Format: Online Page or PDF


�Contents:

 Answers to common issues like login problems, slow performance, and errors
 Quick tips on how to manage projects and tasks

5. Release Notes (Optional)

�Format: Markdown or PDF


�Contents:

 What’s new in each version


 Bug fixes and improvements

2.7 Assumptions and Dependencies


The development of the Project Management System (PMS) using the MERN stack
(MongoDB, Express, React, Node.js) is based on several assumptions and dependencies
that could affect the project if they change.

Assumptions

�1. Users Have Basic Technical Knowledge

 It is assumed that users (project managers, team members, admins) have basic familiarity
with web applications.
 Minimal training is required for navigation and task management.

�2. Internet Availability


16 Software Requirement Specification for Project Management System

 The system requires a stable internet connection for real-time updates and collaboration.
 Performance may degrade in low-bandwidth environments.

�3. Standard Browsers & Devices

 The application is assumed to work best on modern web browsers like Google Chrome,
Mozilla Firefox, Edge, and Safari.
 The web app is designed to be responsive but may not be fully optimized for older browsers.

�4. Hosting & Deployment

 The system is assumed to be hosted on cloud platforms (e.g., Vercel, Heroku, AWS, or
DigitalOcean).
 Environment variables (e.g., database URL, API keys) will be correctly configured during
deployment.

�5. Security & Authentication

 JWT-based authentication is assumed to be secure enough for user login.


 Users are expected to keep their credentials safe.

�6. Database Structure Remains Stable

 The MongoDB schema is assumed to be well-defined and scalable.


 Frequent changes to the database structure may require additional development time.

�7. Third-Party Services

 Any third-party services (e.g., payment integration, notification system, analytics) will
remain available and functional.
 APIs used for third-party integrations are assumed to have stable endpoints.

Dependencies

�1. MERN Stack Technologies

 The system depends on MongoDB, Express.js, React (Vite), and Node.js as the core
technologies.
 Any major updates in these technologies may require modifications to the codebase.

�2. External Libraries & Packages

 The project relies on NPM packages such as:


o Mongoose (for MongoDB interaction)
o JWT (for authentication)
o Redux or Context API (for state management)
o Tailwind CSS or Bootstrap (for UI styling)
 If any of these libraries are deprecated, replacements will be needed.
17 Software Requirement Specification for Project Management System

�3. Cloud Storage & Hosting Services

 If files (e.g., project documents, images) are uploaded, cloud storage services like AWS S3 or
Firebase Storage may be required.
 Deployment depends on services like Vercel, Netlify, or Heroku.

�4. Email & Notification Services (Future Scope)

 If email or push notifications are integrated, the system may rely on Nodemailer, Firebase,
or Twilio.

�5. API Rate Limits & Third-Party Integrations

 If external APIs (e.g., Google Calendar, Slack, Payment Gateway) are used, their rate limits
and pricing could affect functionality.

�6. Development & Maintenance Team

 The availability of developers and project contributors could affect the project timeline and
updates.

Potential Risks if Assumptions Change

�If MongoDB is replaced with SQL databases, a major code restructuring will be needed.
�If hosting services change, configurations for environment variables, domains, and CI/CD
pipelines must be updated.
�If authentication requirements change, additional security measures (OAuth, Multi-
Factor Authentication) may be required.
18 Software Requirement Specification for Project Management System

3. External Interface Requirements

3.1 User Interfaces

The Project Management System (PMS) will provide an intuitive and user-friendly
interface designed using React (Vite) and Tailwind CSS. The UI follows modern design
principles for usability, responsiveness, and accessibility.

Key UI Components:

�Login & Authentication Pages – Users will log in using their email/password (JWT
authentication).
�Dashboard – Displays project summaries, task status, and notifications.
�Project Management Panel – Allows users to create, update, and delete projects.
�Task Management Section – Users can assign, update, and track tasks with status
changes.
�User Management – Admins can add/remove users and assign roles (Admin, Manager,
Team Member).

UI Standards & Features:

 Responsive Design – Works on desktops, tablets, and mobile devices.


 Navigation Bar – Sidebar with quick links to Projects, Tasks, Users, and Reports.
 Consistent Button Styles – Standard buttons for actions like Save, Edit, Delete,
Assign.
 Error Handling – Displays error messages and success alerts for form submissions.
 Keyboard Shortcuts (Future Scope) – Example: Pressing Ctrl + N to create a new
task.

3.2 Hardware Interfaces

The PMS system is a web-based application, and it does not require direct interaction with
hardware components. However, it is expected to run efficiently on the following hardware
configurations:

�Client-Side (User Devices):

 Desktop/Laptop with 4GB RAM or higher.


 Web browsers: Google Chrome, Mozilla Firefox, Edge, Safari (latest versions).
 Mobile/tablet support (Responsive Design).

�Server-Side Requirements:

 Cloud hosting on AWS, Vercel, Heroku, or DigitalOcean.


 Minimum 2GB RAM for Node.js backend.
19 Software Requirement Specification for Project Management System

 MongoDB Atlas or self-hosted MongoDB for database storage.

�Supported Devices:

 Desktop, laptop, tablet, and smartphone (for UI access).


 No direct dependencies on specialized hardware components.

3.3 Software Interfaces

The Project Management System interacts with various software components and third-
party services. Below are the main software interfaces:

�Frontend:

 React (Vite) – For fast and optimized UI.


 Tailwind CSS / Bootstrap – For styling and responsiveness.

�Backend:

 Node.js & Express.js – API development and request handling.


 JWT (JSON Web Token) – For secure user authentication.

�Database:

 MongoDB (Atlas or Local Instance) – Stores user data, projects, and tasks.
 Mongoose ORM – For database interaction.

�APIs & External Libraries:

 Redux / Context API – State management for UI.


 Axios – API communication between frontend and backend.
 Nodemailer (Future Scope) – Email notifications.
 Cloudinary / Firebase Storage (Future Scope) – For file uploads.

�Data Flow & Messages:

 Frontend Requests: Login, Fetch Projects, Create Tasks, Assign Users.


 Backend Responses: JSON data for projects, tasks, and users.
 Database Queries: CRUD operations for MongoDB collections.

3.4 Communications Interfaces


The Project Management System relies on secure and efficient communication protocols
for data transfer and system interactions.

�Web Communication:
20 Software Requirement Specification for Project Management System

 HTTP/HTTPS – The system uses RESTful APIs over HTTPS for secure
communication between frontend and backend.
 WebSockets (Future Scope) – For real-time task updates and notifications.

�Authentication & Security:

 JWT Authentication – Tokens are sent in request headers for secure API access.
 Bcrypt.js – Passwords are hashed before storing in the database.
 CORS Policy – Configured to allow requests only from authorized frontend domains.

�Data Transfer & Storage:

 JSON Format – Used for API communication.


 MongoDB Document Storage – Stores project, task, and user data.

�Email & Notifications (Future Scope):

 SMTP via Nodemailer – For email alerts on task assignments.


 Push Notifications (Firebase) – For real-time updates.
21 Software Requirement Specification for Project Management System

4. System Features

This section describes the key features of the Project Management System (PMS) and their
respective functionalities. Each feature includes its priority, stimulus/response sequences,
and functional requirements.

4.1 User Authentication & Authorization

4.1.1 Description and Priority

 Description: Provides a secure login and access control mechanism using JWT
authentication.
 Priority: High
 Benefit: Ensures only authorized users can access system resources.
 Risk: Unauthorized access can compromise data security.

4.1.2 Stimulus/Response Sequences

1. User opens login page → System displays login form.


2. User enters valid credentials & submits → System verifies details and grants access.
3. User enters incorrect credentials → System shows error message.
4. Authenticated user requests a resource → System verifies JWT and grants or denies access.

4.1.3 Functional Requirements

REQ-1: The system must allow users to register with an email and password.
REQ-2: Passwords must be securely hashed using bcrypt before storage.
REQ-3: The system must generate a JWT token for authenticated users.
REQ-4: Expired or invalid JWT tokens should result in an authentication error (401
Unauthorized).
REQ-5: Admin users should have elevated privileges to manage users.

4.2 Project Management

4.2.1 Description and Priority

 Description: Enables users to create, update, and manage projects.


 Priority: High
 Benefit: Helps teams collaborate and track project progress.
 Risk: Poor project tracking can lead to mismanagement.

4.2.2 Stimulus/Response Sequences

1. User creates a new project → System saves project details in MongoDB.


22 Software Requirement Specification for Project Management System

2. User updates project details → System updates records and reflects changes in the UI.
3. User deletes a project → System removes project and related tasks (soft delete
recommended).

4.2.3 Functional Requirements

REQ-1: Users should be able to create a new project with a title, description, and deadline.
REQ-2: Users can assign members to a project.
REQ-3: The system must allow editing project details.
REQ-4: Users with appropriate permissions should be able to delete projects.

4.3 Task Management

4.3.1 Description and Priority

 Description: Allows users to create, assign, and track tasks within projects.
 Priority: High
 Benefit: Ensures smooth workflow management.
 Risk: Inefficient task management could lead to project delays.

4.3.2 Stimulus/Response Sequences

1. User adds a task to a project → System saves the task and displays it.
2. User assigns the task to a team member → System notifies the assignee.
3. User updates task status → System updates the task's progress.
4. User deletes a task → System removes task from the database.

4.3.3 Functional Requirements

REQ-1: Tasks must have a title, description, deadline, and assigned user(s).
REQ-2: Tasks must support status updates (To-Do, In Progress, Completed).
REQ-3: Users should be able to attach comments or files to a task.
REQ-4: The system should send notifications when tasks are assigned or updated.

4.4 User Roles & Access Control

4.4.1 Description and Priority

 Description: Assigns different access levels (Admin, Manager, Team Member).


 Priority: High
 Benefit: Ensures only authorized users can perform certain actions.
 Risk: Misconfigured permissions may lead to security vulnerabilities.

4.4.2 Stimulus/Response Sequences

1. Admin adds a new user → System assigns the user role.


23 Software Requirement Specification for Project Management System

2. User tries to access restricted resources → System checks role and either grants or denies
access.

4.4.3 Functional Requirements

REQ-1: Admin users should be able to manage roles and permissions.


REQ-2: Managers should be able to create projects and assign tasks.
REQ-3: Team members should only be able to work on assigned tasks.
24 Software Requirement Specification for Project Management System

5. Other Nonfunctional Requirements

5.1 Performance Requirements

 The system should handle at least 100 concurrent users without performance
degradation.
 API response time should be less than 500ms for most requests under normal load.
 The database (MongoDB) should support indexed searches to retrieve project and
task data within 1 second.
 The front-end (React + Vite) should load the dashboard within 3 seconds on standard
broadband.
 The system should handle at least 10,000 records per project efficiently.
 WebSocket notifications (for task updates) should have a latency of less than 1
second.

5.2 Safety Requirements

 Data Loss Prevention: Automated daily backups of the database should be


performed.
 Failure Recovery: In case of system failure, users should not lose more than 10
minutes of data (through auto-save mechanisms).
 Error Handling: System should log errors and provide clear error messages
without exposing sensitive information.
 Prevent Accidental Deletions: Users should confirm project and task deletions
before executing them.
 Compliance with Privacy Laws: If deployed commercially, the system should
comply with GDPR (General Data Protection Regulation) for user data protection.

5.3 Security Requirements


 User Authentication: All users must be authenticated using JWT-based
authentication.
 Role-Based Access Control (RBAC):
o Admins can manage projects, tasks, and users.
o Managers can create and assign tasks.
o Team Members can only access their assigned tasks.
 Password Protection:
o Passwords should be hashed using bcrypt before storage.
o Minimum password length: 8 characters with a mix of letters, numbers, and
symbols.
 Data Encryption:
o Sensitive user data should be encrypted using AES-256 encryption.
 Secure API Communication:
o All API requests should be made over HTTPS to prevent data interception.
25 Software Requirement Specification for Project Management System

 Session Expiration:
o User sessions should expire after 30 minutes of inactivity and require re-
authentication.

5.4 Software Quality Attributes

 Availability: The system should maintain 99.9% uptime, ensuring minimal


downtime.
 Scalability: The backend should be able to scale horizontally (using load balancers if
needed).
 Maintainability: The code should be modular, with proper documentation for
future development.
 Portability: The system should be deployable on both cloud and on-premise
environments.
 Usability: The UI should be responsive and user-friendly, with a clear navigation
structure.
 Interoperability: The system should be able to integrate with third-party tools like
Google Calendar or Slack in the future.
 Testability: The system should have unit tests for critical functionalities (e.g.,
authentication, CRUD operations).

5.5 Business Rules

 Only admin users can create, edit, or delete user accounts.


 Each project must have at least one assigned manager responsible for overseeing
progress.
 Only assigned team members can update task status.
 Users cannot modify or delete completed tasks unless they have admin or manager
privileges.
 The system should log all user actions for security and auditing purposes.
 Inactive projects (with no activity for 6 months) should be archived automatically.
26 Software Requirement Specification for Project Management System

6. Other Requirements

6.1 Database Requirements

 The system will use MongoDB as the primary database.


 Collections:
o users (stores user information, roles, and authentication details)
o projects (stores project details, assigned users, deadlines, status)
o tasks (stores task details, assignments, status updates)
o notifications (stores system alerts and messages for users)
 The database must support replication for data redundancy.
 Data must be stored using JSON format for efficient retrieval and manipulation.
 Automatic indexing for frequently queried fields (e.g., project names, task statuses).

6.2 Internationalization Requirements

 The system should support multiple languages in the UI (default: English, with the possibility
of adding others).
 Date and time formats should be configurable based on user preferences.
 Currency and localization settings should be adaptable if financial tracking is integrated.

6.3 Legal and Compliance Requirements

 If used in an enterprise setting, the system must comply with GDPR (General Data
Protection Regulation) for data privacy.
 The application must adhere to standard accessibility guidelines (such as WCAG 2.1) for
inclusive usage.
 Any third-party libraries must have proper licenses (preferably MIT, Apache, or BSD
licenses).

6.4 Reuse Objectives

 The React components should be reusable for future extensions (e.g., adding a mobile app).
 API endpoints should be built as RESTful services, allowing potential integration with
external tools.
 The authentication module (JWT-based) should be reusable across different projects.

Appendix A: Glossary

 PMS – Project Management System


 MERN – MongoDB, Express.js, React, Node.js
27 Software Requirement Specification for Project Management System

 RBAC – Role-Based Access Control


 CRUD – Create, Read, Update, Delete
 API – Application Programming Interface
 UI – User Interface
 JWT – JSON Web Token (used for authentication)
 GDPR – General Data Protection Regulation
 WCAG – Web Content Accessibility Guidelines

Appendix B: Analysis Models

1. Entity-Relationship Diagram (ERD)

 Users → Projects (Many-to-Many)


 Projects → Tasks (One-to-Many)
 Users → Tasks (Many-to-Many)
 Notifications → Users (One-to-Many)

2. Data Flow Diagram (DFD - Level 1)

 User logs in → System verifies credentials (JWT) → User dashboard loads


 User creates a project → Project is stored in MongoDB → Team members are
assigned
 User updates a task → Task status changes → Notification sent to assigned members

Appendix C: To Be Determined List

 Email & SMS notifications – Will the system support external notifications?
 Third-party integrations – Will the system integrate with Google Drive, Slack, or Trello?
 Mobile responsiveness – Will a mobile app or PWA (Progressive Web App) be needed?
 File upload limits – What is the maximum file size for attachments?
 AI-based analytics – Will AI be used for progress predictions?

You might also like