Software Design Specification
Software Design Specification
<Project Title>
Project Code:
Internal Advisor:
External Advisor:
Project Manager:
Project Team:
Submission Date:
_____________________
Project Manager’s Signature
Document Information
Category Information
Customer FAST-NU
Project <Project Title>
Document Software Design Specification
Document Version 1.0
Identifier <PGBH01-2003-DS>
Status Draft
Author(s) <Names of all the authors of this document>
Approver(s) PM
Issue Date Sept. 15, 2003
Document Location
1. Advisor
Distribution 2. PM
3. Project Office
Term Description
ASP Active Server Pages
DD Design Specification
NGO Non-governmental Organization
OTP One Time Password
GUI Graphical User Interface
ER Entity Relationship
[Type here]
Table of Contents
1. Introduction..............................................................................................................................4
1.1 Purpose of Document.....................................................................................................................4
1.2 Project Overview.............................................................................................................................4
1.3 Scope................................................................................................................................................4
2. Design Considerations.............................................................................................................4
2.1 Assumptions and Dependencies..................................................................................................4
2.2 Risks and Volatile Areas................................................................................................................4
3. System Architecture................................................................................................................4
3.1 System Level Architecture.............................................................................................................4
3.2 Sub-System / Component / Module Level Architecture............................................................5
3.3 Sub-Component / Sub-Module Level Architecture (1…n)........................................................5
4. Design Strategies......................................................................................................................5
4.1 Strategy 1…......................................................................................................................................5
6. References.................................................................................................................................6
7. Appendices................................................................................................................................6
[Type here]
1. Introduction
1.1 Purpose of Document
The purpose of this document is to explain all the ideas that have come up to define the
system, its requirements, functionalities and working. This document will give little
description of features this web app is expected to have, keeping in view the current needs
for society development. The document will provide the functional and non-functional
requirements along with different constraints also the project's target audience and its user
interface, hardware and software requirements.
In short, the purpose of this document is to give a bird’s eye view of the software product,
going through which will help in better comprehension of the system and may also help in
software testing.
1.2 Project Overview
Our Final Year Project is a website with the name of “Care4aCause.” This is developed to help
the needy people in NGO’s, or we can say that for which the NGO’s work. “Care4aCause” is
a web application that works on all electronic devices with any browser. “Care4aCause”
consists of three panels, admin panel, NGO panel, and the donor panel. Through this
application, anyone can donate the amount in his or her desired category like clothes, money
etc. And to donate, he or she has not to visit the NGO directly as he or she can donate through
mobile phones from where ever they are. Once the donation is sent the admin panel in the app
will receive the donation in their account and will be forwarded to NGO’s on their demand.
The donation can be made with one button click. Admin panel is managing the donors and the
NGO’s of the app completely.
1.3 Scope
The web app we are building for organization “Care4aCause” is to solve the big issue of
poverty. Poverty, which creates inferiority in the people having weak financial background.
Our project will maintain the record of the people who are willing to help the needy people.
The willing public could connect us through the application and provide clothes, finance etc.
for organization to help the needy. The money for charity, medical, education, and shelter
will be used with trustworthy environment. This reduces the rate of poverty, help the
humanity in trustworthy & reliable way.
2. Design Considerations
If someone from out of the country wants to donate some money then how will he donate?
To address this issue, we will use international payment method e.g., PayPal.
Another issue is that we don’t know the location of needy people, to address this issue we
will contact NGO’s who will provide us authentic information.
[Type here]
One of the assumptions that we are make is that we have all the stuff NGO’s need from us.
One of the dependencies we have is that when we have to spread awareness among people
about organization, we will have to use social media platforms like Facebook, YouTube etc.
and we will also use GMS module for SMS service.
2.2 Risks and Volatile Areas
We are using platforms like YouTube, Facebook and GMS module, we will have to face
severe issues if government puts ban on any of these.
If our website ever gets hacked then all our sensitive data will be at stake.
3. System Architecture
System architecture is the conceptual design that defines the structure and/or
behaviour of a system. An architecture description is a formal description of a system,
organized in a way that supports reasoning about the structural properties of the
system. It defines the system components or building blocks and provides a plan from
which products can be procured, and systems developed, that will work together to
implement the overall system. /System Architecture, 11/ Defining the architecture as
the set of relationships between the components of a system, that jointly ensures
emergent properties of the system as a whole. The architecture of a system is the set
of relationships between its components that cause the system to have desired
properties, such as desired functionality, behaviour, semantics and quality of service.
Architecture is the central problem in web applications because these applications
should enable distributed coordination between people and the architecture of these
coordination mechanisms evolves by itself as well as is designed by people. As shown
in below figure, we are able to see the architectural diagram of our system that
corresponds to our needs.
[Type here]
3.1 System Level Architecture
[Type here]
4. Design Strategies
There are different designs strategies are as follows:
4.1 Strategy 1
Our system is a secure platform as it does not allow everyone to register in the
organization panel. Only the NGO’s with accurate data regarding the organization can
register themselves within the app. And on the user end, it provides OTP
authentication for the donor to log in the app. And save data in the database.
4.2 Strategy 2
This software is much reliable as the authentic organizations are registered in it.
Donor need not worry about the amount he/she will transact. And they can view their
transaction history anyhow.
[Type here]
4.3 Strategy 3
Software maintainability is defined as the degree to which an application is
understood, repaired, or enhanced. Software maintainability is important because it
is approximately 75% of the cost related to a project! After the deployment of the
project, if any error occurs it can easily maintain by the developer.
I. The maintenance of the software is very easy.
II. The functioning of the software is very easy to understand.
4.4 Strategy 4
Modification is also easier with this computerized system. The modification term is
used for making changes in the functionality of the system or record. If the
developer wants to modify the functionality of the system or saved a record of the
application, it is possible.
4.5 Strategy 5
The application shall be able to run on all android mobiles that are widely in use
today. In other words, any user who has internet access on his/her mobile shall be
able to connect to our application by installing it. Therefore the application can run
android mobiles only.
4.6 Strategy 6
The system will store all the records in central storage, which is handled by the
administration only. The people shall able to contact an administrator in case of
any problem with some specific entity. The administrator could easily provide
alternative help from others
Thus, the main objective of the detailed system design is to prepare a blue print of a
system that meets the goals of the conceptual system design requirements. Detailed
system design involves the following:
Class diagram
Sequence diagram
State Diagram
Logical data model (E/R model)
Physical data models
[Type here]
Detailed GUIs
[Type here]
Figure 5.2.1: Add Organization Sequence Diagram
Description:
1. The above is the use case diagram for adding the organization to the system.
2. This shows that the organization enters their credentials to be part of our system.
The system database verifies them and allows them to get registered.
3. If the input credentials are not valid, the registration will never allow us to be
successful.
4. Only valid input information will get entertained. The verified organization will
be successfully added to the system after their credentials are verified
[Type here]
Figure 5.2.2: Edit Organization Sequence Diagram
Description:
1. The sequence diagram shows the steps for how the organization makes changes to its
information.
2. The organization must follow the format to make changes. Otherwise, no
changes can be allowed.
3. The right format with the right input will be verified and make the changes
successfully.
4. When the valid organization information is provided, the system successfully
accepts the information to edit and update the organization profile.
[Type here]
Figure 5.2.3: Edit Donor Sequence Diagram
Description:
1. The donor needs to edit the profile. The donor provides the required information
to update the profile.
2. The donor gets updated when he input the information in the set format as the
system is required.
3. When the valid format information is provided to the system, the system
successfully edits the donor profile.
[Type here]
Figure 5.2.4: Delete Donor Account from Donor Profile Sequence Diagram
Description:
[Type here]
Figure 5.2.5: Donate Amount Sequence Diagram
Description:
1. The donor can donate the money to any organization from the system.
2. The donor first needs to select the organization to whom he/she wish to transfer
the amount.
3. The donation screen donates the amount through the pre-defined payment
method.
4. As the donor, confirmed the transaction. The system transfers the amount to the
selected organization successfully.
5. The system acknowledges the transaction has been successful status.
[Type here]
Figu5.3.1: Add Organization State Data Diagram
Description:
1. State model for Add Organization shows that how the organization login to the
system.
2. Organizations access the login screen and provide valid credentials to log in to
the system.
[Type here]
3. The organization will only login to the system after verification of valid
credentials.
4. Successfully login to system displays the home screen to the organization.
[Type here]
Figure 5.3.3: Edit Donor Account State Data Diagram
Description:
1. The state model begins with a donor profile screen.
2. The donor enters the data whatever in which field he/she desires to edit profile.
3. When the valid data to accept in the proper format is provided. The data
will be edited and display on the screen.
[Type here]
5.3.4 Delete Donor from Donor Profile
Figure 5.3.4: Delete Donor Account from Donor Profile State Data Diagram
Description:
1. The state model starts with the donor profile screen.
2. The donor can delete the profile from this screen. The donor input
command to delete the profile.
3. The system as to confirm to delete. After confirmation of delete. The
profile is deleted permanently from the database.
[Type here]
5.3.5 Donate Amount
[Type here]
5.4 ER Diagram
6. References
1. https://en.wikipedia.org/wiki/Class_diagram/
2. https://www.geeksforgeeks.org/unified-modeling-language-uml-sequence-diagrams/
3. https://www.geeksforgeeks.org/unified-modeling-language-uml-state-diagrams/
7. Appendices
Include supporting detail that would be too distracting to include in the main body of the document.
[Type here]