You are on page 1of 18

Software Requirements

Specification
for

Crowdfunding Campaign and


Design Guide

Version 1.0 approved


Prepared by GROUP 23-21
Makerere University
14/12/2022
Page |0

Table of Contents

1. Introduction.......................................................................................................................... 1
1.1 Purpose..................................................................................................................................1
1.2 Document Conventions..........................................................................................................1
1.3 Intended Audience and Reading Suggestions..........................................................................1
1.4 Product Scope........................................................................................................................2
1.5 References..............................................................................................................................3
2. Overall Description.............................................................................................................. 3
2.1 Product Perspective................................................................................................................3
2.2 Product Functions...................................................................................................................3
2.3 User Classes and Characteristics.............................................................................................3
2.4 Operating Environment..........................................................................................................5
2.5 Design and Implementation Constraints..................................................................................5
2.6 User Documentation...............................................................................................................6
2.7 Assumptions and Dependencies..............................................................................................6
3. External Interface Requirements........................................................................................ 6
3.1 User Interfaces........................................................................................................................6
3.2 Software Interfaces.................................................................................................................8
3.3 Communications Interfaces.....................................................................................................8
4. System Features................................................................................................................... 9
4.1 Initiating a campaign..............................................................................................................9
4.2 Donating funds.....................................................................................................................10
4.3 Reward.................................................................................................................................11
4.4 Gaining trust in the funders...................................................................................................12
4.5 Advisory on investor types...................................................................................................13
5. Other Nonfunctional Requirements.................................................................................. 13
5.1 Performance Requirements...................................................................................................13
5.2 Safety Requirements.............................................................................................................14
5.3 Security Requirements..........................................................................................................14
5.4 Software Quality Attributes..................................................................................................14
5.5 Business Rules.....................................................................................................................14
6. Other Requirements........................................................................................................... 14
7. APPENDIX......................................................................................................................... 15
7.1 Analysis Models...................................................................................................................15
7.2 Glossary...............................................................................................................................16
7.3 To Be Determined List.........................................................................................................16

Revision History

Name Date Reason For Changes Version


Page |1

1. Introduction

1.1 Purpose

This Software Requirements Specification (SRS) document specifies requirements of a


crowdfunding campaign and design guide application developed to enhance global contribution,
security, transparency and anti-fraud. The document covers the scope of the project, perspective,
functions of the system, user classes and characteristics, operating environment, design and
implementation constraints, the system intended audience, interface requirements, functional and
nonfunctional requirements of the crowdfunding campaign and design guide application.

1.2 Document Conventions

This SRS document is written using Times New Roman as the font family, font size of 12, line
spacing of 1.5, use of bold styling to signify importance of certain statements especially titles.

1.3 Intended Audience and Reading Suggestions

The SRS is intended for development team to ensure that aligned with the project goals and
objectives.
Project supervisor who uses this document to evaluate the progress of the development on the
crowdfunding campaign and design guide application.
Below is the table showing intended users of this SRS document and reasons why they are
suggested to read this document.

Intended user Section(s) the user should read and why


Development team The development team will use the SRS
document as a guide in developing the
expected application
Project supervisor The project supervisor uses this document in
evaluating whether the developed application
Page |2

meets the requirements and purpose it is


meant to satisfy.
Staff The SRS document acts as a reference for
staff to understand what the application does
and how it works.
System maintainers System maintainers will use this SRS
document to understand the different
components of the application which will
ease their maintenance work.

1.4 Product Scope

Purpose
This crowdfunding campaign and design guide application is aimed at enhancing security,
transparency, anti-fraud and global contribution.

Goal
The main goal of a crowdfunding campaign and design guide application is to ensure a secure,
fraud free, transparent and globally embraced platform for contributing to campaigns

Objectives
To provide a secure, fraud free, transparent and globally embraced platform for contributing to
campaigns

Benefits
The following are the benefits of using the crowdfunding campaign and design guide application;
The crowdfunding campaign and design guide will ensure global contribution. This will tag specific
funders interested in a specific campaign to contribute to the campaign of interest regardless of their
location around the world
The crowdfunding campaign and design guide will ensure transparency. This will provide Realtime
updates on the different stages of campaign to the users.
Page |3

The crowdfunding campaign and design guide will improve security. This will eliminate data being
exposed to security threats like unauthorized data modifications and unauthorized disclosure of data
to unauthorized persons
1.5 References

[1] IEEE Software Engineering Standards Committee, “IEEE Std 830-1998, IEEE Recommended
Practice for Software Requirements Specifications”, October 20, 1998.
[2] Crowdfunding Business Models and Their Use in Software Product Development, 2014

2. Overall Description

2.1 Product Perspective

Over a considerable period, we have experienced continuous reduction in support towards the
fundraising campaigns created in the community.
Our platform is here to reassure the community to trust the campaigns and provide the necessary
support. This is achieved practically with the diverse functionalities provided by our platform
2.2 Product Functions

The system shall facilitate initiating of a campaign.


The system shall facilitate donating of funds.
The system shall facilitate reward of funders.
The system shall facilitate gaining trust in funders.
The system shall facilitate advisory on investor types.
The system shall facilitate withdrawal of funds.
The system shall facilitate verification of users.
The system shall facilitate logging in by users.

2.3 User Classes and Characteristics

CEO – Chief Executive Officer


The CEO is in charge of managing the overall operations of the system.
Page |4

Ambassador
The ambassador helps to promote the company products, messaging and image.

System developer
In charge of developing the system application, database architecture and design, and writing code
Marketing officer
Responsible for development and implementation of advertising campaigns and other marketing
activities.
System administrator
The system administrator is responsible for managing, troubleshooting, licensing, and updating
hardware and software components of the system.
Financial officer
Responsible for all financial aspects of the business.

User role Responsibilities


1. CEO - Develops strategic objectives
and direction
- Implement proposed plans
- Budgeting and forecasting.
- Public relations.
- Communicating with the board
directors.
- Tracking company performance.
- Establishing working culture.
2. Ambassador - Creating awareness of
company’s products and
services.
3. System developer - Analyzing functional and system
requirements.
- Developing application and
database architecture and design.
- Writing code.
- Designing user interfaces
- Developing and maintaining
websites.
Page |5

4. Marketing officer - Managing and developing


marketing campaigns.
- Researching and analyzing data
to identify and analyze audience.
- Conducting promotional
activities.
- Overseeing campaigns on social
media.

5. System administrator - User administration


- Maintaining system
- Monitor system performance
- Monitor network communication
- Network administration
- Database administration
- Patching firmware and software.
6. Financial officer - Responsible for all financial
aspects of the company.

2.4 Operating Environment

This system is going to be operated on all versions of windows.


It will also be operated on Linux and Macintosh for those without windows probably in the future
The system will use a graphical user interface for easy navigation by the novice user. There will be
no command line interface for the system

2.5 Design and Implementation Constraints

The developer must have knowledge of API development and integration for the system to work.
The machine should have not less than four (4 GB) of RAM for faster and efficient development
The developer should be well conversant with programming using JavaScript i.e. nextjs, web3.js,
solidity and smart contracts.
Page |6

2.6 User Documentation

The user manual will be delivered together with the software. The document will be probably a
PDF format or .doc format.
2.7 Assumptions and Dependencies

We assume that users will send and receive money using mobile money.

3. External Interface Requirements

3.1 User Interfaces

Front-end Interfaces: This is the graphical user interface with which the user will interact with the
system and carryout the various computations which are required by the user. Based on the
interfaces they help to guide the user on how to use the system. They are going to run on a desktop
application which is to be installed on a given localhost machine.

Figure 3:1GUI mockup


Page |7
Page |8

Back-end Interfaces: this is the technology which used to implement the various logic that is
required by the system to fulfill the various funnctional and non-functional requirements. It aslo
involves the various software that will be used to obatin the set requirements. Hardware Interfaces
The web application to run, will need a PC with an operating system preferably windows since the
system is not a resource hungry program. It will run on most systems without a problem. A
functional keyboard and mouse are required for its proper functionality. The system can be booted
for a CD/DVD and the other supported devices are:
 USB Drive
 Hard disk
3.2 Software Interfaces

Software used Description


We have chosen Windows operating system for its best support
and user-friendliness.
But someone can easily choose any operating system that
Operating system suitable for him/her.
It used to store the various data that is collected from the
various users. It will also to enable the system to verify users
Database through comparing user credential with data in the data base.
This is data got from the various fundraisers inform of
campaign descriptions and recordings stored into the database
which will later be analyzed to for verification of a given
Incoming Data campaign.
Provides details and proof of a legitimate campaign to the
funders.
Data inform of messages that provide the description of right
functioning of the system guides the user on how the system
Outgoing Data works.
Makes various arithmetic and logic decisions for example
refund of funders
Processor It tags a given set of funders with campaign of interest

3.3 Communications Interfaces

The users shall access the platform via an online web, navigate the application using the rich API.
The application database shall store all data entered in the system. Decentralization technology
Page |9

using a peer-to-peer mode of interaction is deployed and all nodes are able to monitor all the stages
of the campaign. The channel for transfer of funds shall be Momo pay a service that will be
extended by mtn network company.

4. System Features

The features the crowdfunding campaign and design guide are described using the use case diagram
below, features include initiating a campaign, donating funds, verification of a campaign, rewarding
funders
Functional Requirements

REQ-1: The system shall facilitate initiating of a campaign.


REQ-2: The system shall facilitate donating of funds.
REQ-3: The system shall facilitate reward of funders.
REQ-4: The system shall facilitate gaining trust in funders.
REQ-5: The system shall facilitate advisory on investor types.
REQ-6: The system shall facilitate withdrawal of funds.
REQ-7: The system shall facilitate logging in by users.

4.1 Initiating a campaign.

4.1.1 Description and Priority


Initiating a campaign involves providing description of a campaign with aid of articles and
recordings of the project. It is important for it gives the funder an insight on the purpose of the
campaign. It also provides detailed information that will facilitate verification of on authenticity of
a given campaign
Priority: High

4.1.2 Stimulus/Response Sequences.


Use case initiating a campaign
P a g e | 10

ID 1

Brief Description Providing a detailed description about a campaign to attract funders to support it

Primary Actors Fundraisers

Precondition The user has logged in.

Main flow 1. Fundraiser sends a description of campaign


2. System verifies the campaign.
3. Campaign goes live for interested funders to support it
System notifies the user.
Post condition Funders notified about the running campaign.

Alternative flow None.

4.1.3 Functional Requirements


REQ:7

4.2 Donating funds.

4.2.1 Description and Priority


A funder makes pledges and donates funds in support of a given campaign project. It is important
for it contributes to the success of a given campaign.
Priority: High
4.2.2 Stimulus/Response Sequences.
Use case donating funds

ID 2

Brief Description Funders pledge and donate funds to support a campaign

Primary Actors Funders

Precondition The user has logged in.

Main flow 1. System notifies the funder about a campaign


2. Funder makes pledge and donates funds
3. System alerts users on the funds collected
P a g e | 11

System notifies the funder when goal fund is reached.


Post condition Funders notified on the success of the campaign.

Alternative flow None

4.2.3 Functional Requirements


REQ:7
REQ:1

4.3 Reward
4.3.1 Description and Priority
A funder makes a certain commission from the funds collected from the fundraiser in support of a
given campaign project. It is important for it contributes to the success of a given campaign.

Priority: High
4.3.2 Stimulus/Response Sequences.
Use case: reward
ID: 3
Brief Description: A funder makes certain amount of commission as a
reward based on funds obtained.
Primary Actors: Funder

Precondition: The user has logged in.

Main flow: 1. System notifies the funder about a


campaign
2. Funder receives the reward in form of
commission
3. System alerts users on the commission
earned.
4. System notifies the funder about the reward.
Post condition: Funder notified with the certain percentage of
commission from solicited funds.
Alternative flow: None.

4.1.3 Functional Requirements


P a g e | 12

REQ:1
REQ:2
REQ:7

4.4 Gaining trust in the funders


4.4.1 Description and Priority
A fundraiser can obtain the trust when initiating its campaign. Report is generated automatically
with his profile for the funder to review. It is important for it contributes to more funds thus the
success of a given campaign.

Priority: High
4.4.2 Stimulus/Response Sequences.
Use case: gaining trust in the funders
ID: 4
Brief Description: Establishes trust between the fundraiser and the funder. This is by
generating a report with profile containing information about
fundraiser for the funder to view.
Primary Actors: Fundraiser

Precondition: The user has logged in.

Main flow:
1. Fundraiser initiates a campaign.
2. System notifies the funder about a campaign
3. System performs a web crawl and generates a report on profile
of the fundraiser
4. The funder then verifies that the person in touch with him is not
a fraud.
5. The system allows the funder to rate the fundraiser after success
full campaign. This information is used in grading the
fundraiser.
Post condition:
Fundraiser notified on the grade and rated based on success of the
campaign.
Alternative flow: None.
4.1.3 Functional Requirements
REQ:1
REQ:5
P a g e | 13

REQ:7

4.5 Advisory on investor types


4.5.1 Description and Priority
The system Identifies potential investors in a given category of campaign. It is important for it
contributes to more funders thus the success of a given campaign.

Priority: High
4.5.2 Stimulus/Response Sequences.
Use case: Advisory on investor types
ID: 5
Brief Description: The system Identifies potential investors in a given category of
campaign
Primary Actors: Funder

Precondition: The campaign has been initiated

Main flow: 1. System performs a web crawl and links the campaign to potential
funders
2. System notifies the funders.

Post condition:
Funder reviews the campaign
Alternative flow: None.

4.1.3 Functional Requirements


REQ:1
REQ:7

5. Other Nonfunctional Requirements

5.1 Performance Requirements

 The system shall notify users in a period of 2secs after any transaction.
P a g e | 14

 The system shall automatically calculate and deduce sum of reward to funders
 The system shall allow funders to grade the fundraisers in form of star ratings
 The system shall profile fundraisers.
5.2 Safety Requirements

 The system shall facilitate verification of users

5.3 Security Requirements

 The System shall logout automatically after 2 minutes of idle time. On logging in, the
system shall resume at the interface where it was when it last logged out.
5.4 Software Quality Attributes

 The system shall provide GUI that will be user friendly.


 The system shall be well documented hence ease in maintainability of the system.

5.5 Business Rules

 The system shall only allow verified users to access the platform.
 A commission of 0.5% shall be automatically deducted as transaction fees after every
successful campaign.

6. Other Requirements

 The system shall store records in the database.

Initiates campaign Funds the campaign goals


Feedback/rating
Returns on funds

Fundraiser Potential donors System report Funder

Funders feedback/grades Notification on new campaign


Withdraw funds
reward
Figure 6:
6:2Context
Contextdiagram
Diagram
P a g e | 15

7. APPENDIX

7.1 Analysis Models

Figure 7:3 dataflow diagram

Figure 7:4 deployment diagram


P a g e | 16

7.2 Glossary

Acronym/Abbreviation FULL FORM

app Application

SRS Software Requirements Specification

CCDG Crowdfunding Campaign and Design Guide

7.3 To Be Determined List


[1] IEEE Software Engineering Standards Committee, “IEEE Std 830-1998, IEEE Recommended
Practice for Software Requirements Specifications”, October 20, 1998.
[2] Crowdfunding Business Models and Their Use in Software Product Development, 2014

You might also like