You are on page 1of 8

Software Requirements Specification

for

Task Management Application

Prepared by
37-Krishna Israni.
38-Hemant Bhatia.
39-Gaurav Punjabi.

Vivekanand Education Society’s Institute of Technology

Febrary 15th 2024

Table of Content
1. Introduction
• Purpose
The purpose of this project is to help individuals and teams efficiently organize, track, and
prioritize their tasks, projects and responsibilities. This task management application will serve
as a digital tool that facilitates effective planning, collaboration and execution of tasks, ensuring
that work is completed in a timely and organized manner.

• Document Conventions
• In this SRS document, the following typographical conventions were followed:
• Heading and subheading fonts are in bold to distinguish different sections.
• Requirements are numbered using a unique identifier (e.g., R1, R2) to facilitate reference
and traceability.
• High-level requirements' priorities are assumed to be inherited by their detailed
requirements unless explicitly specified otherwise.
• Non-functional requirements are highlighted in italics to differentiate them from
functional requirements.

• Intended Audience and Reading Suggestions


The intended audience for this document comprises developers, end-users, and stakeholders.
Developers can gain a clear understanding of the functional and non-functional requirements
outlined in this Software Requirements Specification (SRS), providing them with valuable
guidance during the development process. End-users will find this document useful in
understanding the features and capabilities of the software, ensuring it aligns with their needs
and expectations. Stakeholders, including project managers, product owners, and decision-
makers, will benefit from the SRS as it offers insights into the project's scope, objectives, and
requirements.

• Product Scope
The primary objective of this project is to develop a task management platform, built specifically
for students, that facilitates efficient tracking and organization of their tasks and assignments. By
utilizing this application, students will be equipped to stay on top of their academic
responsibilities, ensuring timely completion of tasks. Additionally, the platform extends its
support to working professionals and entrepreneurs alike, acknowledging that everyone faces
tasks they seek to manage and complete punctually.

• References
• https://www.studocu.com/row/document/institute-of-southern-punjab/introduction-to-
technology/task-management-srs-these-are-notes-which-i-am-gona-upload-here/24381070
• Microsoft ToDo app

2. Overall Description

• Product Perspective
The task management application is versatile, catering to students, working professionals,
entrepreneurs, teachers, and more. It helps users stay organized by managing their assignments
and deadlines efficiently.

• Product Features
The software will allow the user to perform the following tasks (arranged in descending priority):
• Add tasks
• Mark tasks as complete
• Set deadlines
• Set reminders
• Edit tasks
• Delete tasks
Flow of the application:

• User Classes and Characteristics


Any individual can use this versatile application as every one has various tasks to accomplish.
Some specific users can be:
• End User:The end user in a task management system is responsible for creating,
assigning, and updating tasks, setting priorities and due dates, and collaborating with
team members to ensure project progress..
• AdministratrorThe administrator in a task management system is responsible for
configuring system settings, managing user access and permissions, handling updates,
and ensuring the overall functionality and security of the system.

• Operating Environment
The application will perform seamlessly on any Android device with Android version 6.0
(Marshmallow) or more, a RAM of 2 GB or more and at least 35 MB of storage.

• Design and Implementation Constraints


The major implementation constraints include the limited availability of time and resources, as
the project must be completed within a tight schedule. Additionally, the development team faces
the challenge of working with a small budget, requiring careful allocation of resources
throughout the project lifecycle. Furthermore, the task management application must comply
with specific regulatory policies and data privacy regulations to ensure the security and
confidentiality of user information. Another constraint is the need to support cross-platform
compatibility, requiring the use of technologies and frameworks that can cater to different
operating systems and devices. Considering these constraints, the incremental development
model remains the preferred approach, allowing us to prioritize essential features and make
iterative improvements as the project progresses.

• User Documentation
When the user uses the application for the first time, an on boarding process will be followed
where the user will be explained on how to use the app and navigate through it. Along with this,
the application will also have a ‘How to use’ section and a ‘FAQ’ section.

• Assumptions and Dependencies


We have made the following assumptions regarding the user:
• Users will have a stable internet connection.
• Users have basic familiarity with smartphones and Android applications.
• Users will provide accurate information related to their tasks and deadlines.
The software will have the following dependencies:
• Internet connectivity and API integration
• User permissions
• Data storage and backend services
• Push notification services

3. System Features

• Add tasks
3.1.1 Description and Priority
Priority: High
This feature will allow the user to add tasks to their schedule.
3.1.2 Stimulus/Response Sequences
When the user clicks on the ‘New task’ button, a window will appear where the
user can add the name of the task along with its description.
3.1.3 Functional Requirements

R1: Create New Task


Users should be able to create a new task by providing relevant details such as
task name, description, due date, priority, and any associated tags or labels.
R2: Task Description
The application should allow users to provide additional details or descriptions for
the task to provide context or instructions.
R3: Validation and Error Handling
The application should validate user input and display appropriate error messages
if required fields are not filled or invalid data is entered.

• Complete task
3.2.1 Description and Priority
Priority: High
This feature will allow the user to mark the task as completed.
3.2.2 Stimulus/Response Sequences
When the user clicks on the checkbox associated with the specific task, that task
must be marked as ‘Completed’ and expire automatically.
3.2.3 Functional Requirements

R4: Task Selection


Users should be able to select a task from the task list or task details screen to
mark it as completed.
R5: Completion Status
The application should visually indicate the completion status of each task,
distinguishing completed tasks from pending ones.
R6: Undo Functionality
The application may provide an option to undo or revert the task completion
status within a short time frame after marking it as completed.
• Set Deadline
3.3.1 Description and Priority
Priority: High
This feature will allow the user to set a deadline for the task.
3.3.2 Stimulus/Response Sequences
When the task crosses its deadline, the user will be informed by ringing an
alarm.
3.3.3 Functional Requirements

R7: Deadline Selection


Users should be able to set a deadline for a task by choosing a specific date and
time using a date picker and time picker or a combined datetime picker.
R8: Deadline Reminder
The application must include a reminder feature, allowing users to set a
notification or alert for a specific time before the deadline to receive timely
reminders.
R9: Deadline Status
The application should visually indicate the deadline status of each task,
distinguishing between upcoming deadlines, past deadlines, and tasks with no
deadlines.
• Delete Task
3.4.1 Description and Priority
Priority: Medium
This feature will allow the user to delete a task from their list.
3.4.2 Stimulus/Response Sequences
When the delete button is pressed, the application will ask for a confirmation and delete
the task if the user confirms the deletion.
3.4.3 Functional Requirements

R10: Deletion Confirmation


The application should prompt users to confirm their intent before permanently deleting a
task. This confirmation dialog ensures that users do not accidentally delete tasks.

• Update Task
3.3.1 Description and Priority
Priority: Medium
This feature will allow the user to update an added task.
3.3.2 Stimulus/Response Sequences
When the user clicks on the update button, a dialog will appear where the user can
update the task title, description and the deadline.

4. External Interface Requirements

• User Interfaces
• Home page
The main page where the user will interact with the application. It will include features
like adding tasks, updating tasks, deleting the tasks, setting deadlines, etc.
• Add task window
This will allow the user to add their task to their existing list of pending tasks.
• Set deadline window
This window will allow the user to set the deadline of any given task for which an alarm
will be set. When the task deadline is reached and the task has still not been completed,
an alarm will ring which in turn will remind the user to complete the task.
• Update task window
This will allow the user to update the current task such as its title or deadline.
• Completed tasks section
This section will show the user their completed tasks for the day.
• Pending tasks section
This section will show the user the tasks which are yet to be completed.

• Hardware Interfaces
The device must have a touch screen interface to interact with the application. It should
also have a speaker to support the alarm feature.

• Software Interfaces
The following software interfaces will be required to build the system:
• Android Studio with Android SDK installed
• Android 6.0 or above
• SQLite database

• Communications Interfaces
It is a standalone application which means the user is not required to communicate with any
other users or devices. Hence, this application does not need any communication interfaces.
5. Other Nonfunctional Requirements

• Performance Requirements
The following performance requirements are essential to ensure that the task management
application delivers a user-friendly experience with efficient response times and smooth
functionality.
• Responsiveness: The application should respond to user interactions promptly, ensuring
smooth and seamless navigation throughout the interface.
• Load Time: The app should load quickly and display the task list without significant
delay, providing users with immediate access to their tasks upon opening the application.
• Efficient Data Retrieval: The application should efficiently retrieve and display task data,
even when dealing with a large number of tasks, to avoid sluggish performance.
• Minimal Battery Consumption: The app should be designed to minimize battery
consumption, ensuring that it does not excessively drain the device's battery during
regular usage.
• Data Synchronization Speed: If the app syncs data with a cloud server, the
synchronization process should be fast and efficient, enabling quick updates between the
mobile device and the server.
• Stability: The application should maintain stability and avoid crashes or unexpected
errors during regular use, ensuring a reliable user experience.

• Safety Requirements
The following safety requirements are necessary to protect user data and ensure security:
• Privacy Compliance: The application should comply with data privacy regulations,
ensuring that user data is collected, used, and stored following applicable laws and
guidelines.
• Minimal Permissions: The app should request only necessary permissions from the user,
limiting access to sensitive device features to protect user privacy and security.

• Security Requirements
The following security measures will be taken:
• Secure Data Storage: The application should use secure storage mechanisms to safeguard
user data, ensuring that task information is not easily accessible or tampered with by
unauthorized entities.
• Protection Against SQL Injection: The app's backend and database should be protected
against SQL injection attacks, ensuring that malicious code cannot manipulate the
database and compromise data integrity.

• Software Quality Attributes


The users of the application can manage their tasks conveniently. Our software possesses the
following qualities:
• Offline Functionality: The application may include offline capabilities, allowing users to
access and modify their tasks even without an internet connection.
• Security: The app will implement robust security measures to protect user data, ensuring
that only authorized users can access and modify task information.
• Reliability: The application should reliably store task data and ensure that tasks and
deadlines are accurately tracked and managed without data loss or inconsistencies.
• Performance: The app should have fast response times, allowing users to efficiently add,
view, and manage tasks even with a large number of entries.
• Usability: The application should be user-friendly, with an intuitive and straightforward
interface that allows users to easily create, edit, and organize tasks.

6. Other Requirements

Appendix A: Glossary

FAQ - Frequently Asked Questions.


ChatGPT - Chat Generative Pre-Trained Transformer.
SRS- Software Requirement Specification.
R1, R2 - Requirements Numbering.

You might also like