Final Project Report
Final Project Report
Project Supervisor
<< RIZWANA NOOR >>
Submitted By
1
CERTIFICATE
This is to certify that << MUHAMMAD SALMAN >> (<< BC110400325 >>) have worked on and
completed their Software Project at Software & Research Projects Section, Department of
Computer Sciences, Virtual University of Pakistan in partial fulfillment of the requirement for the
degree of BS in Computer Sciences under my guidance and supervision.
In our opinion, it is satisfactory and up to the mark and therefore fulfills the requirements of BS in
Computer Sciences.
___________________
(Signature)
___________________
(Signature)
Accepted By:
_____________
(For office use)
2
EXORDIUM
3
DEDICATION
4
ACKNOWLEDGEMENT
5
PREFACE
This project attempt to bring under one cover the entire hard-work
and dedication put in, by me, in the completion of the project. And
many thanks to Virtual University of Pakistan, where I learned
how to do research work. I hope this report will be beneficial for
others in future.
6
TABLE OF CONTENTS
CHAPTER NO. 1
GATHERING & ANALYZING INFO..................................................... 9
1.1 INTRODUCTION
1.2 PURPOSE
1.3 SCOPE
1.6.1 Usability
1.6.2 Reliability
1.6.3 Supportability
CHAPTER NO. 2
PLANNING THE PROJECT ............................................................. 21
2.1 INTRODUCTION
2.2 METHODOLOGY
7
2.7.2 Project Schedule (Submission Calendar)
CHAPTER NO. 3
DESIGNING THE PROJECT ........................................................... 28
3.1 INTRODUCTION
3.2 PURPOSE
3.3 SCOPE
CHAPTER NO.4
DEVELOPMENT ............................................................................ 44
8
CHAPTER 1
Gathering & Analyzing Info
9
1.1 INTRODUCTION:
It is a web-based application, which will keep record of all the users/companies by
the maintaining their accounts record separately and the web application will
provide an immediate access to the user through the proper login and logout
functionality, whenever he/she wants to access the website to perform any task.
For example, he/she wants to donate money for charity purposes and the user can
also view his/her online records.
1.2 PURPOSE:
The purpose of software requirement specification is to define the overall structure
of the application. What is the use of application? What is the main functionality
of the application? and how the user will use it. We will make an online web-based
application called “NGO MANAGEMENT SYSTEM”. It is a desktop based
application, which is used to provide the different secure features to the users for
their privacy. The “NGO MANAGEMENT SYSTEM” application will give an
opportunity to those people who want to donate their money, assets or want to
work as voluntarily (free of cost) online. In this phase, our purpose is gathering
and analyzing information about the project. In this phase, we identify the user
and the using criteria.
1.3 SCOPE:
This project is very much helpful for those people who want to donate their money
or any valuable asset online without hesitation. This project application will create
a proper mechanism where every single user will have an opportunity to create
their own account and perform their tasks and the users will updated for their
every single donation.
10
1.5 USE CASES AND UASGAE SCENARIOS:
1.5.1 Use Case Diagrams:
1.2
Not Successful
<<include>>
1.0 1.1
Generalization Register <<include>> Successful
6.0
Track Campaigns
<<include>>
User
2.0 7.0
Login Confirmed
3.0
Logout
8.0
Send Events
9.0
Donor Send Reminders
10.0
<<include>> Send Batch Emails
4.1
Successful
4.2
Not Successful
5.0
Provide Services
Volunteer
11
1.5.2 Usage Scenarios:
12
Use Case Scenario
Use Case title Not Successful <<include>>
Use Case Id NGOMS-NSuc-1.2
Actors Donor/ Company /Volunteer/Administrator
Description The system show the not successful message to the
user, who wants to register in the website but due to
some particular reasons got an error.
Alternative All actors are optional to cancel or use the go back
Paths option.
Pre Conditions User needs to be properly placed his or her
information to avoid the not successful message.
Post After filling all required field and press the submit
Conditions button, user will get not successful message due to
some database limitations etc.
Author S160246546 (BC110400325)
Exception Invalid Credentials/Database exceptions.
Modification Version 1.0
History
13
Use Case Scenario
Use Case title Logout
Use Case Id NGOMS-logout-3.0
Actors Donor/ Company /Volunteer/Administrator
Description When any user donor, volunteer or administrator
press logout button the online system suddenly close
the account and user can’t use online system option
any more.
Alternative All actors are optional to cancel or use the go back
Paths option.
Pre Conditions For using logout option first you must login in your
account on online NGO management system.
Post After logout the donor, volunteer or administrator
Conditions can’t use the option of online NGO management
system and need to login again in his/her account.
Author S160246546 (BC110400325)
Exception Invalid Credentials/Database exceptions.
Modification Version 1.0
History
14
Use Case Scenario
Use Case title Successful <<include>>
Use Case Id NGOMS-Suc-4.1
Actors Donor/ Company /Volunteer/Administrator
Description The system shows the successful message to the
user, when he/she will does any kind of donation.
Alternative All actors are optional to cancel or use the go back
Paths option.
Pre Conditions User needs to be properly placed his or her
information to get the successful message.
Post After filling all required field and press the submit
Conditions button without any error, user will get successful
message.
Author S160246546 (BC110400325)
Exception Invalid Credentials/Database exceptions.
Modification Version 1.0
History
15
Use Case Scenario
Use Case title Provide Services
Use Case Id NGOMS-PSer-5.0
Actors Donor/ Company /Volunteer/Administrator
Description Volunteer user after successfully login into the
system, it will provide any kind of free services for the
NGO management system for their social or
management improvement.
Alternative All actors are optional to cancel or use the go back
Paths option.
Pre Conditions User need to be properly placed his or her correct id
and password in order to login into the system after
registration.
Post The user will provide his or her free services without
Conditions any wages/salary.
Author S160246546 (BC110400325)
Exception Invalid Credentials/Database exceptions.
Modification Version 1.0
History
16
Use Case Scenario
Use Case title Confirmed
Use Case Id NGOMS-Con-7.0
Actors Donor/ Company /Volunteer/Administrator
Description The system sends the confirmation email to all
successful users.
Alternative N/A
Paths
Pre Conditions User needs to be properly placed his or her
information to get the confirmation email.
Post Wrong information provided by the user will lead to
Conditions the not successful message.
Author S160246546 (BC110400325)
Exception Invalid Credentials/Database exceptions.
Modification Version 1.0
History
17
Use Case Scenario
Use Case title Send Reminders
Use Case Id NGOMS-SRem-9.0
Actors Donor/ Company /Volunteer/Administrator
Description This use case describes that system should remind
the user for scheduled tasks and appointments.
Alternative The system admin is optional to cancel reminder
Paths information or use the go back option.
Pre Conditions The user needs to have an account to receive
reminder emails.
Post The registered users get alert of reminder email on
Conditions scheduled basis.
Author S160246546 (BC110400325)
Exception Invalid Credentials/Database exceptions.
Modification Version 1.0
History
18
Use Case Scenario
Use Case title Import Record
Use Case Id NGOMS-IRec-11.0
Actors Donor/ Company /Volunteer/Administrator
Description This use case describes that system should be able to
import the registered users donation record and
online donations.
Alternative N/A
Paths
Pre Conditions The system should be able to import the user’s record
from the website.
Post This online imported record should be open easily
Conditions without giving an error.
Author S160246546 (BC110400325)
Exception Invalid Credentials/Database exceptions.
Modification Version 1.0
History
19
1.6 SUPPLEMENTARY REQUIREMENTS:
1.6.1 Usability:
The word usability means that user-centered approach for which effort
required to learn, operate, prepare input, and interpret output of a program.
Both the design and development process are focused around the
prospective user — to make sure their goals, mental models, and
requirements are met — to build the features that are simple and much
helpful for user e.g. during registration to make their account, during
session login or logout etc.
1.6.2 Reliability:
The extent to which a program can be expected to perform its intended
function with required precision, it means, the application should not take
much consumption of time to load pages.
1.6.3 Supportability:
The web app system supports simple user interface with English language,
which can be easily understandable by everyone.
20
CHAPTER 2
Planning the Project
21
2.1 INTRODUCTION:
Planning is the process of organizing tasks and activities to achieve the goals. In
any web or software development its means to set the activities like which
methodology should be selected for developing project , what should be the work
plan of the project, what should be the structure of the development team, who
will perform the which task , Planning also contain the project time table or
schedule of the activities of project.
2.2 METHODOLOGY:
In software engineering, a software development methodology is a splitting of
software development work into distinct phases or stages containing activities with
the intent of better planning and management. It is often considered a subset of
the systems development life cycle. The methodology may include the pre-
definition of specific deliverables and artifacts that are created and completed by a
project team to develop or maintain an application.
22
Advantages of the Waterfall Model:
• Easy to understand and implement.
• It is easier to set schedule for the tasks to be completed within a specified
time period.
• The other advantage of this model is that only after the work for a particular
phase is over, does the other phase start, due to which there is no
overlapping of phases or the product does not have to go through different
iterative steps.
• This model is the easiest to implement in the eyes of most of the mangers,
due to its linear model. Since the processes of this model are carried out in
linear manner, the cost of resources is reduced to a large extent, which in
turn helps in reducing the cost of the project considerably.
• Lastly, the documentation and testing happens at the end of each phase,
which helps in maintaining the quality of the project.
23
Advantages of Spiral Process Model:
• High amount of risk analysis.
• Good for large and mission-critical projects.
• Estimates (i.e. budget, schedule, etc.) become more realistic as work
progresses, because important issues are discovered earlier.
• It is more able to cope with the changes that software development generally
entails.
• Working on the project gets started earlier, which is good to make a designer
interested in the project.
24
Requirement Analysis
Testing
Acceptance
25
• The VU Process Model allows addition of product element at later stage
when they become available or recognized ensuring that there is no conflict
between requirements and design.
• The VU Process Model facilitates early user involvement in the system
development effort. User's knowledge about the project rises as the project
mature, so user can interface effectively with management.
• This method is consistent with approaches that have multiple software
builds and releases and allows for making an orderly transition to a
maintenance activity.
• The VU Process Model is suitable for projects with heavy user interfacing,
such as Production Rejection Assessment System (PRAS).
• The VU Process Model provides the flexibility to implement changes in
design at several stages of the project.
• The VU Process Model facilitates constriction of large systems in easy small
segments.
26
2.7 Project Structure:
2.7.1 Team Structure:
Team Structure
Key Responsibilities
27
CHAPTER 3
Designing the Project
28
3.1 INTRODUCTION:
The detailed study about different operations that are performed by a system and
the relationship between them within or outside of the system is called Analysis of
a system or the given project. A design document is a complete high-level solution
to the problem presented. The design documentation is in general for anyone who
wants to understand the system architecture and design of system. The goal of
this document is to cover the high-level system architecture and design. It should
be detailed enough that somebody who already understands the problem could go
out and code the project without having to make any significant decisions.
Further, if this somebody happens to be an experienced coder, they should be able
to use the design document to code the solution in a few hours.
3.2 PURPOSE:
The main purpose of this design document is to analyze and understanding the
system in detail. In this way the features and constitute parts of at least feasible
solution are identified and then documented.
During design phase, the focus shifts from “what to how” i.e. in which we try to
answer the questions of how to build the system.
3.3 SCOPE:
The design activity provides a roadmap to progressively transform the
requirements through a number of stages into the final product by describing the
structure of the system to be implemented. It enables the user to organize IT
requirements for a business and make the blue print of the software that is built
by the person to facilitate the business operations. This document describes in
detail the working of the system and its design related to the functional and Non-
functional requirements. This document also contains ERD, Architecture design of
system Class Diagram, Database design, Interface design and Test Cases of the
software testing.
29
3.5 ARCHITECTURAL REPRESENTATION (ARCHITECTURE DIAGRAM):
PRESENTATION LAYER
CLIENT (WEB-BROWSER)
BUSINESS LAYER
IMPLEMENT SYSTEM FUNCTIONALITY
DATABASE LAYER
Database Database
Server
30
3.6 DYNAMIC MODEL: SEQUENCE DIAGRAMS
1: User Registration (Donor/Volunteer/Company)
Case 1: (Normal flow for Registration)
registration opened()
save donor informaton()
process()
saved()
show message()
registration opened()
save donor informaton()
process()
not saved()
show message()
31
2: User Login in Web (Donor/Volunteer/Company/Admin)
Case 1: (Normal flow for User Login)
login()
verification()
process()
verified()
open web GUI()
perform task()
perform task()
login()
verification()
process()
not verified()
show message()
show message()
32
3: User Make Donation (Donor/Volunteer/Company)
open account()
process()
account opened()
add account detail()
add()
show message()
transfer amount()
process()
show message()
Transaction successful()
send email()
generate events()
send events detail()
update()
update successful()
send invitation()
invitation received()
show message()
33
5: User Donate Things
open account()
process()
account opened()
add assets detail()
add()
show message()
transfer assets()
process()
show message()
assets added
successful()
send email()
6: Volunteer User
open account()
process()
account opened()
add volunteer detail()
add()
show message()
Detail added
successful()
send email()
34
7: System Allows Organization Donation
NGOM-
:OrganizationLevel :WebGUI
System
allow donations()
availability possible()
process()
show message()
process()
information available()
send reminders & batch emails()
update()
successfully send()
35
9: System Import Online Records
process()
information available()
import donations()
process()
successfully imported()
track()
forward()
process()
36
11. Admin Manage Users
perform CRUD
operation()
manage users profile()
process()
saved()
show message()
37
3.7 ENTITY RELATIONSHIP DIAGRAM
usersDetail donationRecord
WebDatabase
userID
registers
has UserName
country
UserType
donorID volunteerID
mailID sends
donations skills
subject Mails
donates Company org_name
message
companyID provide
receiverEmail
Online
Donation
FreeServices
38
3.8 DATABASE MODEL (DATABASE DIAGRAM): WITH NON-IDENTIFYING
RELATIONSHIP TYPE
Campaigns
PK Campaign_ID
Volunteer
title PK Volunteer_ID
description Tangible
Events address title
status description PK Tangible_ID
PK Events_ID date status
user_email date item_name
title FK1 Home_ID item_address
user_email
description status
address date
status user_email
date
user_email
FK1 Home_ID
Users
PK User_ID
Home Batch_email
Countries role: [Admin/User]
PK Home_ID PK batch_email_ID
user_full_name
PK Country_ID user_email
title title
user_password
country_code description description
user_country
country_name image date
user_type
FK1 Home_ID category user_email
user_phone_no
status user_date
date FK1 Home_ID
user_email FK2 batch_email_ID Bank_donation
Reminders FK3 Reminder_ID
FK4 Events_ID PK bank_donation_ID
PK Reminder_ID
FK5 Campaign_ID
FK6 Volunteer_ID bank_name
description branch_code
FK7 Tangible_ID
start_date_time branch_address
end_date_time account_title
user_email Paypal_donation account_no
PK paypal_donation_ID iban_account_no.
swift_code
user_date currency_type
transaction_id amount
amount your_bank_name
currency your_account_title
user_email your_account_no.
FK1 User_ID status
date
user_email
FK1 User_ID
39
3.9 DATABASE MODEL (DATABASE DIAGRAM): WITH IDENTIFYING
RELATIONSHIP TYPE
Campaigns
PK Campaign_ID Volunteer
PK,FK1 Home_ID Tangible
PK Volunteer_ID
Events PK Tangible_ID
title
description title
PK Events_ID description
address item_name
PK,FK1 Home_ID status
status item_address
date date status
title user_email
user_email date
description
user_email
address
status
date
user_email
Users Batch_email
PK User_ID PK batch_email_ID
Home PK,FK1,FK4,FK5 Home_ID
Countries PK,FK2 batch_email_ID title
PK Home_ID PK,FK3 Reminder_ID description
PK Country_ID PK,FK4 Events_ID date
PK,FK1 Home_ID title PK,FK5 Campaign_ID user_email
description PK,FK6 Volunteer_ID
country_code image PK,FK7 Tangible_ID
country_name category Bank_donation
status role: [Admin/User]
date user_full_name PK bank_donation_ID
user_email user_email PK,FK1 batch_email_ID
Reminders user_password PK,FK1 Campaign_ID
user_country PK,FK1 Events_ID
PK Reminder_ID PK,FK1 Tangible_ID
user_type
user_phone_no PK,FK1 Volunteer_ID
description PK,FK1 User_ID
start_date_time user_date
PK,FK1 Home_ID
end_date_time PK,FK1 Reminder_ID
user_email
Paypal_donation bank_name
branch_code
PK paypal_donation_ID
branch_address
PK,FK1 Reminder_ID
account_title
PK,FK1 batch_email_ID
account_no
PK,FK1 Campaign_ID
iban_account_no.
PK,FK1 Events_ID
swift_code
PK,FK1 Tangible_ID
currency_type
PK,FK1 Volunteer_ID
amount
PK,FK1 User_ID
your_bank_name
PK,FK1 Home_ID
your_account_title
your_account_no.
user_date
status
transaction_id
date
amount
user_email
currency
user_email
40
3.9 GRAPHICAL USER INTERFACES
41
Send New Event of Admin Panel Screenshot 2
42
All Campaigns of Admin Panel Screenshot 3
43
CHAPTER 4
Development
44
REFERENCES
• Software Engineering-I (CS504)
• Software Engineering-II (CS605)
• Software Project Management (CS615)
• Web Design and Development (CS506)
• Database Management System (CS403)
45
APPENDIX
46