Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

Software Design Specifications

Qalam – Education for All

Version: 1.8

Project Code CS 491


Supervisor Mr. Shoaib Raza
Co Supervisor NA
Project Team Rameez Khawaja 16K-4081

Issam Ahmed 16K-3654

Varisha Jabbar Surtee 16K-3663

Submission Date November 22, 2019.


<CS491-Project I> Software Design Specification

Document History

Version Name of Person Date Description of change


1.0 Issam Ahmed 11/08/2019 Document Created
Added the Document Introduction
Added the Assumptions and
Dependencies
1.1 Varisha Jabbar Surtee 11/12/2019 Updated Scope of the Project
Updated Dependencies
1.2 Issam Ahmed 11/13/2019 Added Overall System Level
Architecture
Added Software Architecture
Added Sequence Diagrams
1.3 Varisha Jabbar Surtee 11/14/2019 Added Design Strategy
1.4 Issam Ahmed 11/14/2019 Added ER Diagram
Added Data Dictionary
1.5 Rameez Khawaja 11/18/2019 Reviewed Document
1.6 Rameez Khawaja 11/21/2019 Corrections before Mid-I Evaluation
1.7 Rameez Khawaja 12/14/2019 Updated ER Diagram
1.8 Rameez Khawaja 12/22/2019 Final Review before FYP-I Final
Evaluation.

Page 2 of 24
<CS491-Project I> Software Design Specification

Distribution List

Name Role
Mr Shoaib Raza Supervisor

Document Sign-Off

Version Sign-off Authority Project Role Signature Sign-off


Date

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)

Definition of Terms, Acronyms and Abbreviations

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

2.1 Purpose of Document ...................................................................................................................................... 6


2.2 Intended Audience ...........................................................................................................................................6
2.3 Document Convention ..................................................................................................................................... 6
2.4 Project Overview .............................................................................................................................................7
2.5 Scope ...............................................................................................................................................................7
2.5.1 NGO Member Centric Scope .................................................................................................................7
2.5.2 Volunteer Centric Scope ........................................................................................................................ 8

3 Design Considerations ................................................................................................................................. 9

3.1 Assumptions and Dependencies ......................................................................................................................9


3.2 Risks and Volatile Areas..................................................................................................................................9

4 System Architecture .................................................................................................................................. 10

4.1 System Level Architecture ............................................................................................................................. 11

5 Design Strategy.......................................................................................................................................... 12

6 Detailed System Design ............................................................................................................................. 13

6.1 Database Design ...........................................................................................................................................13


6.1.1 ER Diagram .........................................................................................................................................13
6.1.2 Data Dictionary .................................................................................................................................... 14
6.2 Application Design ........................................................................................................................................18
6.2.1 Sequence Diagram ...............................................................................................................................18
6.2.2 State Diagram ...................................................................................................................................... 23

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.

1.1 Purpose of Document

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.

1.2 Intended Audience


This Software Requirements document is intended for:

 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).

1.3 Document Convention


The font being used in this document is:

 Times New Roman for the headings, font size of 16.

 Times New Roman for headings inside table, font size of 14

 Times New Roman for text, font size 12,

Page 6 of 24
<CS491-Project I> Software Design Specification

1.4 Project Overview

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.

1.5.1 NGO Member Centric Scope

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

1.5.2 Volunteer Centric Scope

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.

2.1 Assumptions and Dependencies


The assumptions for the project are:

 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 dependencies for the project are:

 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.

2.2 Risks and Volatile Areas

Following risks can be observed:

 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.

Figure 1 - The figure describes the System Architecture of the project


Qalam – Education for all.

Page 10 of 24
<CS491-Project I> Software Design Specification

3.1 System Level Architecture

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.

However, the design strategies will be updates in the future version.

Page 12 of 24
<CS491-Project I> Software Design Specification

5 Detailed System Design

5.1 Database Design

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

5.1.2 Data Dictionary

5.1.2.1 Data Dictionary - Volunteer

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.

Column Description Type Length Null able Default Key Type


Name Value
ID The unique Integer 64bytes No Auto PK
identifier of incremented
the volunteer
Name The name of String 100bytes No Null
the volunteer
Password The password String 100bytes No None
of the
volunteer
Email The email of String 100bytes No Null
the volunteer

Table 1.1 – Table contains the data dictionary for the actor Volunteer.

Page 14 of 24
<CS491-Project I> Software Design Specification

5.1.2.2 Data Dictionary – NGO

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.

Column Description Type Length Null able Default Key Type


Name Value
ID The unique Integer 64bytes No Auto PK
identifier of incremented
the NGO
Name The name of String 100bytes No Null
the NGO
Password The password String 100bytes No None
of the NGO
Email The email of String 100bytes No Null
the NGO

Table 1.2 – Table contains the data dictionary for the actor NGO.

Page 15 of 24
<CS491-Project I> Software Design Specification

5.1.2.3 Data Dictionary – Event

Table 1.3 – Table contains the data dictionary for Event.

Page 16 of 24
<CS491-Project I> Software Design Specification

5.1.2.4 Data Dictionary – Certificate

Certificate
Name Certificate

Where-used/how-used Certificate is generated for the volunteer.

Column Descripti Type Length Null Key Type


Name on able
CertificateID ID of Integer 50 No PK
the
Certific
ate
GeneratedBy Name of Varchar 50 No
the NGO
who
generated
the report
TimePeriod Time Date, Time 50 No
Period of
which the
report of
generated

Table 1.4 – Table contains the data dictionary for the actor Volunteer.

Page 17 of 24
<CS491-Project I> Software Design Specification

5.2 Application Design


The application will be designed highlighting certain parameters, a few of those parameters have
been discussed and briefly explained below. The application design discusses different features
of the application at hand and the communication and steps required to execute those features.

5.2.1 Sequence Diagram

5.2.1.1 Sequence Diagram – Login

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

5.2.1.2 Sequence Diagram – Tracking NGO Activities

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

5.2.1.3 Sequence Diagram – Carpooling

Figure 3.3 - This figure shows the sequence diagram when the user carpools.

Page 20 of 24
<CS491-Project I> Software Design Specification

5.2.1.4 Sequence Diagram – Customize Information

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

5.2.1.5 Sequence Diagram – Chat and Communication Platform

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

5.2.2 State Diagram

.
.

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

You might also like