You are on page 1of 15

Software Requirements

Specification
for

Volunteering Application
Program

Version 1.0 approved

Prepared by Sanidhya Tulsinandan


Software Requirements Specification for Volunteering Application 
Page ii

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....................................................................................................................................13
2. Overall Description..................................................................................................................2
2.1 Product Perspective........................................................................................................................2
2.2 Product Functions...........................................................................................................................4
2.3 User Classes and Characteristics....................................................................................................5
2.4 Operating Environment..................................................................................................................6
2.5 Design and Implementation Constraints.........................................................................................6
2.6 User Documentation.......................................................................................................................6
2.7 Assumptions and Dependencies.....................................................................................................6
3. External Interface Requirements...........................................................................................7
3.1 User Interfaces................................................................................................................................7
3.2 Hardware Interfaces......................................................................................................................11
3.3 Software Interfaces.......................................................................................................................11
3.4 Communications Interfaces..........................................................................................................11
4. Other Nonfunctional Requirements.....................................................................................11
4.1 Performance Requirements...........................................................................................................11
4.2 Safety Requirements.....................................................................................................................12
4.3 Security Requirements..................................................................................................................12
4.4 Software Quality Attributes..........................................................................................................13
4.5 Business Rules..............................................................................................................................13
5. Other Requirements...................................................................Error! Bookmark not defined.
Appendix A: Glossary..................................................................................................................13
Appendix B: Analysis Models.....................................................................................................13
Appendix C: To Be Determined List..........................................................................................13

Revision History

ame Date Reason For Changes Version


Software Requirements Specification for <Project> Page 1

1. Introduction

1.1 Purpose
 The purpose of this document is to explain the system design of the application that we are
working on i.e. to create a digital platform between the users and the NGO’s.

 The purpose of the system is to create a set of guidelines and regulations, inter linking each
other for the convenience and efficiency of the user.

 The purpose of my system is creating a digital platform where people who would like to
work for the welfare of the society will get to connect with the NGO’s conducting such
activities.

1.2 Document Convention


 Document Convention for the Main heading – 
1. Font Face – Times New Roman 
2. Font Style – Underlined
3. Font Size – 18

 Document Convention for Sub title – 
1. Font Face – Times New Roman 
2. Font Style – Underlined 
3. Font Size – 14

 Document Convention for Body – 
1. Font Face – Times New Roman 
2. Font Size – 12

1.3 Intended Audience and Reading Suggestions

 This document will be used for design purposes by the developers, the design team and
documentation writers.

 It can also be used by the project managers, marketing staff, users and testers to get a better
understanding of the system. This document will be the basis of validating the final delivered
system.

 The document is created within college premises under the guidance of college professors..

1.4 Product Scope

 Product scope can be largely divided into Scope in People, Scope in Product and Scope in
Audition.
Software Requirements Specification for <Project> Page 2

1) Scope of the product in people - The people who would work with this platform will slowly
and steadily progress in the app. This app will help out a lot of people for keeping them
occupied. This might lead the people to feel satisfied because they are working for a social
cause. As the app gets popular it will be very beneficial and easier for people to contribute to
the social cause and feel like an important part of the society.

2) Scope of the Product in platform - This product starts as a simple communication service
between the volunteer and the NGO’s. Well if we try to predict the future this application can
go into two different ways. The first prediction would be to make this product monetized into
simple professions such as photography. Advertisements can be a simple way to earn and
maintain the platform. The second profession would be to include memberships and
preferences who can pay to give a better service. We can produce goods and services and sell
them as merchandise.

2. Overall Description

2.1 Product Perspective


Please orient yourself towards the next page.
Software Requirements Specification for <Project> Page 3

User case diagram


Software Requirements Specification for <Project> Page 4

2.2 Product Functions

The product functions would be developed in three stages.


1) First level functions
2) Second level functions
3) Third level functions

 The first level programs are the ones that are necessary to carry forward any activity in this
application.
1) For a regular user who wants to volunteer. The first step would be to sign up for the
application. Fill in some details or use google/Facebook to fill in the basic details. Choose a
password, read the terms and conditions and agree to it.
2) For an institution it needs to do the same process as the volunteer but after you choose the
password, you will be required to fill in an additional form which would add some specific
details about your NGO. Once done, you will be required to attach some official documents
issued by the Government of India. Our officials will verify the documents and if everything is
successful. You will log in as an NGO.

 The second level functions are the one for which the user is using this application. These are
the functions where the volunteers can find their NGO’s and the NGO’s can find their
volunteers.
 For a volunteer who is searching for where to work, the home page will automatically find
some NGO’s relevant to your skill (which you would have specified while signing up) and
display the results best suited for you in the area of 50km. However, if you would like you
can filter the results based on searching radius, types of activities and the number of days.
The volunteers can explore NGO’s in three different manner.
1) Searching in search bar
2) Browsing through categories
3) Exploring on homepage
 You can simply search the NGO you want to volunteer with in the search bar. You can search
on the basis of type of work, NGO to work with, date on which you would like to volunteer,
or the area in which you would like to work.
 You can go to the explore tab and explore the different categories such as dance, paint,
cleaning etc. You can find out things that you would like and simply find the NGO you would
like to volunteer in according to your preference. This will also have a section where the best
NGO activities that recently happened will be displayed in the slideshow. Also, the activities
that would be currently trending would be displayed so that more people can participate in it
if they feel like doing so.
 The third and the simplest option would be to simply scroll through your feed so that you can
explore a lot of NGO’s based on AI. These NGO’s will display simple feed like name of the
project, date of the project, no. of volunteer’s needed and the location.

 For an NGO, after signing up, registering and getting verified the app will open with a home
screen that will show all the projects. This can be mainly divided into 3 functions: -
1) Adding a new project
2) Tracking progress and old projects
3) Exploration and consultation
 Adding a new project is a very simple task. You need to click on the button “add new
project”. As you do it, you’ll need to write a name, upload a picture and fill in other details
such as location, timing etc. As you are done choose the no. and type of volunteers that you
need. Click Done.
Software Requirements Specification for <Project> Page 5

 Tracking process can be done simply by clicking on the previous projects and seeing all your
statistics. You can see various stats as the name of your volunteers,
 It will have some additional facilities such as adding a new project or reviewing your older
projects that you have already completed. You can swipe left to check out for new ideas and
exploring what other NGO’s are doing. You can swipe right to checkout your profile and
Gallery that would be the display for your NGO.

 The third level functions are the ones that are usually dig deep. These would be categorized
into communication functions and security functions.
1) Communication Functions – When it comes to the volunteers, Functions like talking in the
group with the NGO as admin and other people as volunteers where things can be discussed
and people can be more aware about the people they would be working with.
2) Security Functions – So there are four functions in which one party can have a negative
impact on others.
a) When an NGO uploads a project that is fake and uses the volunteers for personal use. In
this case, the people can report this NGO and the NGO will be straight away issued a
warning and if the information proves to be true, the NGO will be straightaway banned.
b) If people try to ban a certain NGO even if NGO is not at fault then the rating of the
person will be considered for the first time but if the users rate the NGO, 2 or less than 2
stars then the NGO will stop appearing in their feed. If these people again deliberately
take up the project from the same NGO and again rate less than 3 stars then the NGO will
be allotted the right to block that person and so these people won’t be able to work in
their NGO.
c) When the NGO illtreats the volunteers. In such a situation, one can simply report the
NGO and rate the NGO.
d) When a person won’t work after coming. A simple thing that can be done is simply the
NGO can rate the person one or less. If the person comes again and not work, the NGO
will have the right to block the volunteer.
3) Emergency Situations such as if a volunteer cancels his application 3 days before then the
algorithm will give high priority to this situation and try to add people to the group to fill the
gap.

2.3 User Classes and Characteristics

The user class is mainly divided into volunteers and institutions.

 The Audience into my project is largely divided into two sectors. The people who want to
volunteer and the party that needs volunteer

The Volunteers can be of all age groups but are largely divided on the four groups.
1) 16-19 years of age.
2) 20-24 years of age.
3) 25-42 years of age.
4) 43+ age group.
 The first age group division would prefer the platform to be Fun and Innovative.
 The second age group will be the most active people on the platform. They would prefer the
system to be simple, minimalistic and navigable.
 The third people would be the one who could contribute in terms of capital as these would be
the working class. They would prefer the platform to be understandable and functional.
The last people would prefer the platform to be easy to use and readable

In Volunteer’s the division would be in terms of three classes.


Software Requirements Specification for <Project> Page 6

1) Beginner Volunteer – Would be the people who have joined right now. As they keep on
working the NGO’s will grade them according to their dedication. For every rating they’ll be
graded out of five and would need to complete 50 points to reach intermediate. Also, they
can only apply to specific projects where the NGO’s can handle these volunteers.

2) Intermediate Volunteer – As you are done with 50 points, you’ll be upgraded to intermediate
volunteer. Now you can work on Beginner as well as intermediate projects. Now, the people
will be graded out of 10 and would need to have 200 points to get to committed volunteers.
Intermediate volunteers will be allotted more serious work as compared to beginner
volunteer.

3) Committed Volunteer – This is the highest level of volunteers. You can do any project you
will like and can still grow your work by reaching committed 1, committed 2 and so on.

2.4 Operating Environment


 The operating environment is IOS and Android. You would need a smartphone with
permissions such as location enabled.
Data Base: Cloud Database
Platform: Android Studio, Swift 4
Languages: JAVA/C/C++
Operating System for development – Windows/Mac OS

 Internet connection will the most important thing to operate, as all the information will be
stored in the cloud.
 The hardware as such to operate will be a regular 16:9,18:9 or 21:9 screen ratio. Along with
a processor such as snapdragon or exynos. Input will be in the form of touch.

2.5 Design and Implementation Constraints


The design is very stable and easy to implement. However, the major constraint can be use of this
app for ill reasons and security issues.

2.6 User Documentation


User Documentation can be presented in three different kind of forms.

1) Guide to use the app – as you will start with the application, it will show you some easy tips
to work out in the form of tutorial and get going with the application. As soon as you do any
small function, for the first time it will show you a simple tutorial to work with. So that you
understand how to do a specific task. You can see or skip the steps as per you wish.

2) Terms of use and community guidelines – this will be attached in the form of a text document.
You can refer to this whenever there is a strike by another user.

3) Reporting and abuse – reporting and other practices will be found in the tutorial when you
click on any NGO and hit report in other options.

2.7 Assumptions and Dependencies

 Assumptions on this product will be:


Software Requirements Specification for <Project> Page 7

1) The system should be easy to use and understand.


2) The information of all the users, books and libraries must be stored in a database that is
accessible by the website.
3) The connections should be safe and secure.
4) The system should have more storage and should provide a fast access to the database.
5) The system should be searchable and easily navigable.
6) The library should be running 24 hours a day. Preferably cloud library.
7) Users must be allotted correct usernames and passwords for a safe and secure experience.
8) The experience should be seamless.

 Dependencies on this project are:

1) The specific hardware and software due to which the product is functioning.
2) Listing requirements based on which the whole process will run.
3) The users should have a proper understanding of the platform.
4) The system should have the general report and feedbacks stored.
5) All the information should be stored in a cloud library that should be accessible all the time.
6) The data entered in the library should be correct.

3. External Interface Requirements

3.1 User Interfaces

1) (Fig 1) The first user interface is the welcome page of the application where a simple video
would be playing on the back with an overlay of white. You’ll get the option to login and if
you are new you can sign up.

2) (Fig 2) If you click on sign up, this will show you the option to register with phone number,
email or choose a personal username. You can even sign up with google or Facebook. After
you are done, click on next.

3) (Fig 3) In the third process, you have to choose a password to keep it secure. Notice how the
background become softer and softer thus gradually moving away from sight. You will even
need to re-enter the password and choose a hint to show up.

4) (Fig 4) If you are done with your registration as a user. If you have an institution then you
need to fill in some of the details of your institutions. You’ll need to give a description about
your institution. You’ll even need to attach some government documentation and these
documents would be verified in a matter of three days.

5) (Fig 4) If you don’t have an institution, you can check in directly

6) (Fig 5) This slide will welcome the user to the application and give him/her a tutorial on how
the app functions. It would show you a description of how the app works in general and
majority of the features will be welcomed here.

7) (Fig 6) This slide will be the main home page of the application. This will have basic features
in its toolbars like home, explore and my work. Here, you’ll see the NGO projects that have
been selected for you on your interest. Every project mentioned here will have a picture
Software Requirements Specification for <Project> Page 8

regarding it, the name of the project will be highlighted in semi bold along with small details
like location and date. To know more about the project, you can click on more.

8) (Fig 7) The explore tab on the other hand, will have the whole list of projects categorized
based on interests like dance, music and many more. So, the person can easily choose what
he/she would prefer to do and search for projects accordingly. It will also have gallery where
the projects in the past will be displayed in the form of images.

9) (Fig 8) My work would be the place where you would track everything you have done using
this application. You’ll have your picture displayed with your name over it. It shows you
which type of volunteer you are and how many points you need to get to the next level. You
can even see your activity of last projects in the history of projects panel and see how many
points the NGO gave you in ever session. It will even show you your completed projects,
negative projects and total NGO’s you worked with.

Please move on to the next page for Graphic User Interface.


Software Requirements Specification for <Project> Page 9

Fig 1 Fig 3

Fig 2 Fig 4
Software Requirements Specification for <Project> Page 10

Fig 5 Fig 7

Fig 6 Fig 8
Software Requirements Specification for <Project> Page 11

3.2 Hardware Interfaces


For the working of the software will be:

 Processor: Any processor above snapdragon 430 or apple A5 can handle the application
easily.

 GPU: This application doesn’t require a GPU to work

 Screen: any screen above 540 p can use this application. The screen needs to be touch.

 Input: Input will be in terms of touch.

 Output: Output will be on the screen and notifications via sound.

 Memory: It would need atleast 512 mb of RAM and 30 mb of storage .

3.3 Software Interfaces


The needed software function will be :

 Operating system: Android should be above 5.0 i.e. lollipop.


IOS should be above IOS 10.2

 Hardware drivers to control all the hardware is necessary.

 Database to find and store all the assets for the application.

3.4 Communications Interfaces

The software needs to communicate with the email, whatsapp and phone for connecting volunteers
with the NGO.

4. Other Nonfunctional Requirements

4.1 Performance Requirements


 The platform should be fast and accurate. It should have really fast data transfer times so that
it can process thousands of projects at a glance.

 It should be responsive so that the user is not frustrated and should handle multitasking with
ease.

 At times the system might need to process over a 100 request from the users so it should be
able to sort it into groups
Software Requirements Specification for <Project> Page 12

 There would be lakhs of messages getting sent and received every second and lakhs of
bookings and cancellations happening every second. Thus, the app needs to have really good
processing requirements.

 It should also have an inbuilt error testing algorithm to prevent expected and non-expected
errors. This can save the loss of information and long downtime period.

 The system should even be able to gather large amount of data. Thus, I should accommodate
large sums of projects.

4.2 Safety Requirements


When it comes to safety, you can be a victim of any of the four processes.

1) When an NGO uploads a project that is fake and uses the volunteers for personal use. In
this case, the people can report this NGO and the NGO will be straight away issued a
warning and if the information proves to be true, the NGO will be straightaway banned.

2) If people try to ban a certain NGO even if NGO is not at fault then the rating of the
person will be considered for the first time but if the users rate the NGO, 2 or less than 2
stars then the NGO will stop appearing in their feed. If these people again deliberately
take up the project from the same NGO and again rate less than 3 stars then the NGO will
be allotted the right to block that person and so these people won’t be able to work in
their NGO.

3) When the NGO illtreats the volunteers. In such a situation, one can simply report the
NGO and rate the NGO.

4) When a person won’t work after coming. A simple thing that can be done is simply the
NGO can rate the person one or less. If the person comes again and not work, the NGO
will have the right to block the volunteer.

4.3 Security Requirements


 Well, there are no very important security measure needed as the app wont have much of
your personal data.

 The only personal data breach can be in terms of your photographs, address, contact and
minor details. However, we’ll have an adequate firewall to prevent these things.

 Over to that the security of the volunteer will be in terms of his own welfare. The terms and
conditions are designed in such a manner that it is really hard to dequantify the processes.

 Normal Users can just read the information but they cannot edit or modify anything except
their own personal data.

 The system will have different types of users and all these users will have their own
constraints.
 Proper User authentication should be provided.
Software Requirements Specification for <Project> Page 13

 There should be separate accounts for the admin and the members so that no member can
access the database and only admin has the right to do so.

4.4 Software Quality Attributes


 The software needs to go by a variety of quality attributes.

 The major being, it has to be user friendly. The software should be easily understood by the
users and should not confuse them.

 It should be optimized well so that its more efficient and responsive. It should use less
resources to get a really high performance.

 The software should not have any bugs and should work lag free. It should also be modern
and minimalistic. It should be reliable and should be highly secure.

4.5 Business Rules


The User Base is mainly divided between volunteers and Institutions.
Here, the volunteers are not allowed to upload projects. They cant even see each other inside the
application.
The institutions cannot apply to volunteer in other premises. They cannot see the personal track of
the users or see categories or feeds.

4.6 References
https://www.volunteermatch.org/
https://www.unitedway.org/get-involved/volunteer
https://isha.sadhguru.org/us/en/volunteer

Appendix A: Glossary
<Define all the terms necessary to properly interpret the SRS, including acronyms and abbreviations.
You may wish to build a separate glossary that spans multiple projects or the entire organization, and
just include terms specific to a single project in each SRS.>

Appendix B: Analysis Models


<Optionally, include any pertinent analysis models, such as data flow diagrams, class diagrams, state-
transition diagrams, or entity-relationship diagrams.>

Appendix C: To Be Determined List


<Collect a numbered list of the TBD (to be determined) references that remain in the SRS so they
can be tracked to closure.>

You might also like