Professional Documents
Culture Documents
SDS For An NGO Management System
SDS For An NGO Management System
Version: 1.8
Document History
Page 2 of 24
<CS491-Project I> Software Design Specification
Distribution List
Name Role
Mr Shoaib Raza Supervisor
Document Sign-Off
Page 3 of 24
<CS491-Project I> Software Design Specification
Document Information
Category Information
Customer FAST-NU
Project Qalam – Education for All
Document Software Design Specification
Document Version 1.5
Status Draft
Author(s) Rameez Khawaja, Issam Ahmed, Varisha Jabbar Surtee
Approver(s) Mr. Shoaib Raza
Issue Date 11/21/2019
Document Location FAST-NU, Karachi
Advisor
Distribution
Project Coordinator’s Office (through Advisor)
Term Description
NGO Non-Governmental Organizations
DD Design Specification
Page 4 of 24
<CS491-Project I> Software Design Specification
Table of Contents
2 Introduction................................................................................................................................................. 6
5 Design Strategy.......................................................................................................................................... 12
7 References ................................................................................................................................................. 24
Page 5 of 24
<CS491-Project I> Software Design Specification
1 Introduction
Qalam – Education for All, is a web and android application, being developed to cater to the
needs of the ever evolving needs of the societies. The application is basically automating the
activities of the NGO, and is providing a platform for the volunteers to interact with the NGO,
which has never happened before. The application has two modules; one allowing the NGO to
post its activities, the other allowing the volunteers to register and monitor their own, and NGO
activities. Our project’s goal is to introduce a digital NGO that recruits its volunteers through an
application, and manages all its functions through the app. This application will greatly reduce
the laggings of a manual NGO, and will enable speeding up its functions.
The purpose of this document is to make the functional requirements of Qalam system easy to
understand. It also serves the purpose of making the functionality clear to the end users. The
reader is expected to have essential knowledge of using a web and mobile application to be able
to understand the document.
End User of the application who wishes to read about what this project can do. This will
include the NGO’s employees and representatives, and the volunteers.
Developers who can review project’s capabilities and more easily understand where their
efforts should be targeted to improve or add more features to it (it sets the guidelines for
future development).
Page 6 of 24
<CS491-Project I> Software Design Specification
In this newfound age, it has become extremely complex for the government of a state to provide
not advanced, but basic facilities like Education and Healthcare, to its people. This is where the
role of Non-Governmental Organizations comes into play. NGOs are liable to work on specific
focus areas that target certain problems that are faced by the community. It is ever so important
for these NGOs to run efficiently so that they can facilitate the community at their best.
However, after surveying the functions of different NGOs, we noticed that almost all the NGOs
are relied on traditional methods to execute its operations. Whereas, the advent of Information
Technology has proven for the systems to be more efficient with the use of technology.
This hasn’t been the case for NGOs. Automating NGO functions can make the NGO applications
more efficient, more flexible. Further, it has been researched that facilitating the employees can
have a beneficial impact on the productivity of the organization, and hence organizations put
efforts into facilitating the employees.
Whereas, in the NGO’s case, volunteers aren’t facilitated since the NGOs are already running on
a short budget, and doing so can prove costly. Whereas an application that can provide a
platform for the volunteers to engage with the NGO and other volunteers can tackle this problem.
1.5 Scope
Automating the NGO activities is going to provide not just the NGO but the volunteers a
platform through which they can engage with each other, manage their activities, and recruit new
volunteers. The project revolves around providing a platform with different interfaces for both
Volunteers and NGO Members, ending up with two custom portals to fulfil different needs.
The application will allow the NGO Members to login and manage and deploy volunteers for
specific activities as requested by the volunteers. Further a public forum where the NGO
members can discuss their queries and where prominent NGO members can answer those
based on their experience. The NGO members can also post career options inside the
organizations which the volunteers and other interested members can access. The portal also
allows the members to form a common curriculum that is to be taught and oversee the
checklists for different volunteers. The NGO members can also rate volunteers based on their
performance, and sign certificates digitally to hand over to people volunteering for the
NGO’s cause.
Page 7 of 24
<CS491-Project I> Software Design Specification
The volunteers have to first register in the application and be approved. The main purpose of
this platform is to facilitate the volunteers; this is done by providing a carpool option for the
volunteers who find it hard to move around the areas of their activity. The volunteers also get
to track the NGO activities by locating them over a map provided inside the application. The
volunteers can interact with other volunteers and NGO members through a public forum
provided in the application. There the volunteers can post their queries and get their answers.
The volunteers also get to access a careers portal where they can view positions available
inside the NGO.
Page 8 of 24
<CS491-Project I> Software Design Specification
2 Design Considerations
The following design considerations have been taken for the project.
The volunteers and NGO Members have access to basic internet services, since the
application is based online and the information can only be accessed if connected to a
data network.
The volunteers and NGO Members have knowledge of simple English to use the
application more effectively.
The Volunteers and NGO members must be registered to access the information of the
application.
The volunteers must be verified by the NGO workers.
New users of the app must be authenticated to successfully register into the application.
To get the progress bar for a task, the volunteer must be registered into the task.
The volunteer must have their device’s location on to locate NGO activities near them.
The volunteer must be verified, to post in the public forum.
The volunteers must upload a CV to apply for the job openings in the careers page.
The volunteer must have volunteered with the NGO at least once to be ranked on the
Volunteer Level board.
The user must have their notifications for the application turned on to get the push
notifications.
Inexperienced user
Load Shedding
User may not view the alerts
In order to overcome these risks, Training sessions will be given after deployment of the project
to overcome the risk of inexperienced users in terms of working with technology. As far as user
ignoring the alerts is concerned, we plan on giving users the alert more than once when about to
reach the threshold so that incase user misses the previous alert, he is still notified beforehand.
Page 9 of 24
<CS491-Project I> Software Design Specification
3 System Architecture
This figure describes the interaction between the components of our project.
Page 10 of 24
<CS491-Project I> Software Design Specification
The top tier of the system consists merely of the web application and mobile application
interfaces. These are accessed by the users to perform different functionalities. The middle tier
consists of the functionalities and how they are implemented in the project; the functionalities
include Chat Box, Curriculum, and other such actions. Then we have the Data Access layer and
then finally the data layer to save the responses and answer queries made by the user.
The following Component diagram explains the provide relationship between different
components:
Figure 2 - The Component Diagram explains how different components provide interface to
other components.
Page 11 of 24
<CS491-Project I> Software Design Specification
4 Design Strategy
The design strategies used in the process will be declared and extensively derived in the design
phase of the application. In this phase we are identifying the requirements of the application and
not specifying the design principles.
Page 12 of 24
<CS491-Project I> Software Design Specification
5.1.1 ER Diagram
Figure 5.1 – This figure displays the Entity Relationship diagram of the various features used
in the application.
Page 13 of 24
<CS491-Project I> Software Design Specification
Volunteer
Name Volunteer
Alias Person
Where-used/how- Volunteer enters his/her information which is then stored in the database.
used The information fetched every time the volunteer logs into the system.
Table 1.1 – Table contains the data dictionary for the actor Volunteer.
Page 14 of 24
<CS491-Project I> Software Design Specification
NGO
Name NGO
Alias Organization
Where-used/how- NGO enters their information which is then stored in the database. The
used information fetched every time the NGO logs into the system.
Table 1.2 – Table contains the data dictionary for the actor NGO.
Page 15 of 24
<CS491-Project I> Software Design Specification
Page 16 of 24
<CS491-Project I> Software Design Specification
Certificate
Name Certificate
Table 1.4 – Table contains the data dictionary for the actor Volunteer.
Page 17 of 24
<CS491-Project I> Software Design Specification
Figure 3.1 - This figure shows the sequence diagram when the user logs in to the system.
Page 18 of 24
<CS491-Project I> Software Design Specification
Figure 3.2 - This figure shows the sequence diagram when the user tracks NGO activities.
Page 19 of 24
<CS491-Project I> Software Design Specification
Figure 3.3 - This figure shows the sequence diagram when the user carpools.
Page 20 of 24
<CS491-Project I> Software Design Specification
Figure 3.4 - This figure shows the sequence diagram when the user customizes the
information.
Page 21 of 24
<CS491-Project I> Software Design Specification
Figure 3.5 - This figure shows the sequence diagram when the user interacts or communicates
with the system/NGO.
Page 22 of 24
<CS491-Project I> Software Design Specification
.
.
Figure 4 – This figure shows the State Diagram of the Web Application for
Qalam – Education for All.
.
Page 23 of 24
<CS491-Project I> Software Design Specification
6 References
[1] https://www.tcf.org.pk
[2] http://www.sahe.org.pk
[3] http://behbud.org/
[4] http://www.nef.gov.pk/home
Page 24 of 24