Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 17

Software Requirements Specification for <FIXIT > Page i

Software Requirements
Specification
for

Fixit

Version 1.0 approved

Prepared by

Muhammad Muslim Muhamid 1812273


Mohammad Umair Rasheed 1812346

SZABIST

15 December 2021

Copyright © 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for <FIXIT > Page ii

ACKNOWLEDGEMENT

I would like to express my gratitude to our project supervisor Sir Naveed Ghani and our FYP
coordinator Adeel Karim for their support and their extensive experience has helped to
implement and supervise this project without their continuous guidance and mentorship this
project would not have been a success

We also wish to express my sincere thanks to the SZABIST Karachi for accepting us into the
undergraduate program in computer science and all the academia throughout the graduate
program who helped me build my extensive knowledge which will help us in our professional
life.

Finally, We must thank my family and friends for their never-ending love and support, and
continuous encouragement throughout the entire process.

Copyright © 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for <Project> Page iii

Table of Contents
Table of Contents..........................................................................................................................iii
Revision History............................................................................................................................iii
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.......................................................................................................................................2
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...................................................................................................................4
2.5 Design and Implementation Constraints.........................................................................................4
2.6 User Documentation.......................................................................................................................4
2.7 Assumptions and Dependencies......................................................................................................4
3. External Interface Requirements...........................................................................................5
3.1 User Interfaces................................................................................................................................5
3.2 Hardware Interfaces........................................................................................................................7
3.3 Software Interfaces.........................................................................................................................7
3.4 Communications Interfaces............................................................................................................8
4. System Features.......................................................................................................................8
4.1 Login/Signup..................................................................................................................................8
4.2 Map Range......................................................................................................................................8
4.3 Progress Portal................................................................................................................................9
4.4 Equipment Space Area....................................................................................................................9
4.5 Bidding System..............................................................................................................................9
4.6 Recommendation System.............................................................................................................10

5. Other Nonfunctional Requirements.....................................................................................10


5.1 Performance Requirements...........................................................................................................10
5.2 Safety Requirements.....................................................................................................................11
5.3 Security Requirements..................................................................................................................11
5.4 Software Quality Attributes..........................................................................................................11
5.5 Business Rules..............................................................................................................................11
6. Other Requirements..............................................................................................................11
Appendix A: Glossary.................................................................................................................11
Appendix B: Analysis Models.....................................................................................................12
5.5 State-Transition Diagram..............................................................................................................12
Appendix C: To Be Determined List.........................................................................................12

Revision History
Name Date Reason For Changes Version
Software Requirements Specification for <FIXIT> Page 1

1. Introduction

1.1 Purpose
we are developing a home service providing Mobile Application which we have named “FixIt”. This
application can be used by everyone regardless of their wealth status. There can be two types of
users which will use this application. users can be clients as well as service providers and workers
which will be offering different work to the people.
The purpose of this software requirement specification (SRS) document is to deliver complete
knowledge about the project FixIt. It covers different sorts of requirements such as interfaces for
users, software requirement’s, hardware requirements etc. it also talks about the functional and
non-functional requirements of different features. In short, this document gives the complete idea
of how the project is made, why it is made and in what sort of environments will it work properly.

1.2 Document Conventions

FONT NAME FONT SIZE


HEADING Times 18
SUBHEADING Times 14
PARAGRAPHS Arial 11

1.3 Intended Audience and Reading Suggestions

This document is intended for individuals directly involved in the development of our project Fixit.
This includes the software developer, tester, advisor, and panel who were directly involved in the
development of the project. This document does not need to be read sequentially readers are
encouraged to jump to any section they find relevant. Below is a brief overview of each part of the
document.
● Part 1(Introduction):
This section offers a summary of Fixit, including goals and objectives, Project scope, general
application details.
Software Requirements Specification for <FIXIT> Page 2

● Part 2(Documentation):
This section covers all the details of User classes, implementation constraints, Operating
environment and user manual guides. Including both mockups. This section contains in detail how
the final product will look like.
● Part 3(Interfaces):

This section covers all the details of User Interface design. Including both mockups. Also, it
includes hardware, software and communication interfaces. This section contains in detail how
the final product will look like and what interfaces are required.

● Part 4(Features):

This section covers all the details of Product and application features which includes its
description, priority and functional requirements.

● Part 5(Nonfunctional Requirements):


Software Requirements Specification for <FIXIT> Page 3

This section covers all the nonfunctional requirements such as safety requirements, security
requirements, business requirements etc.

● Part 6(Other requirements):

A reader interested in the software diagrams and other requirements such as database
requirements, different software engineering diagrams and this documents grocery should consult
this section.

1.4 Product Scope


The idea is to develop a Mobile Application which will help different workers and service providers
to get the work easily and to get work based on their experience and expertise. They can also do
bidding to get the job will be a great chance for them to get job based on their experience. beside
this idea is to develop application for all the people who need different type of home services
providers in their daily life and they have to find workers and service providers for it but most of
Software Requirements Specification for <FIXIT> Page 4

the people faces problems in finding workers so we are building this application to solve this
major problem so people can easily find workers and services providers based on the work they
needed to be get done .This application will solve the problem for people who are finding service
provider for their work and also solve problems of service providers who are finding some work to
do but are unable to find it due to competition and contact problems .

1.5 References

 Upwork app
 In drive app

2. Overall Description

2.1 Product Perspective


People need home service providers a lot for repairing their households and products. But they
don’t have contact details of that specific service provider and they must go through a lot of
problems to find service providers. Beside this service providers also go through problem of
finding the job. So, we are creating a mobile application to solve this problem. These types of
application are already there in the market, but we are creating a modified application in which a
person can add a job for service providers and service providers can do bidding on that job and
the client can then choose from those biddings and profiles that from which person they want
his/her work done.

2.2 Product Functions

 Login/Signup and account switching (Sign up).


 Map Range
 Progress Portal
 Equipment Space Area
 Bidding System
 Recommendation System
Software Requirements Specification for <FIXIT> Page 5

2.3 User Classes and Characteristics


There could be following two types of users which will use this application:

1. Customer/Client: Any types of people can use this mobile application weather they belong
to a lower class or higher class they just need to have a smartphone and internet
connection. people should have basic knowledge of how to use internet, operating
Applications. Plus, people should have his/her personal details required for signing up on
the Application. Having knowledge of English is also necessary for the People.
Every person weather he/she is rich or poor needs repairing and replacement of their
small house items, so this application is not specified for some specific people. Any person
who needs a service provider or a worker for any type of work in his house can get benefit
from this application.

2. Service Provider/Worker: This application is specifically only for those service providers
and workers who are related or engaged in any type of work that can be done in a house
like electrician, carpenter, plumber, interior designer etc. Soo only these types of workers
who can work or repair any item or product of a house can use this application and can
get benefit and work from it. workers should have basic knowledge of how to use internet,
operating Applications. Plus, workers should have his personal details required for signing
up on the Application. Having knowledge of basic English is also necessary for the
workers.

2.4 Operating Environment


We are creating our app using React-Native which is a cross platform which means that it can
work on both IOS and Android mobiles. It will also run-on tablets and any other electronic device
which contain the operating system of IOS or Android. For data storage we would use MongoDB
Atlas database.

2.5 Design and Implementation Constraints

As we are building and creating this application using React-Native and we are using different
components from different websites and those components only work on IOS and android so our
app will not be able to work on other operating systems. Our app components and features are
limited to IOS and android as we are working and developing our app using JavaScript and
React-Native. Our application will work on latest Versions of IOS and android so if a person is
using an old version, he/she may face difficulty in using and many components will not be visible
to that person. This is because react-native version and dependencies are updating on regular
basis so it may not work on older operating systems or older versions.
Software Requirements Specification for <FIXIT> Page 6

2.6 User Documentation

We will provide a contact us tab in the navigation where the user can contact if he needs to. We
have also included in our project that we have planned to integrate a user manual for our new
user on how to use this app with proper navigation of each component of our application will be
provided. We will also include a privacy and policy page in our application where users can easily
understand the data collection and other permission required to run the application smoothly. In
this tab, the user will be able to know for what purposes their data is being used.

2.7 Assumptions and Dependencies


We are creating this application by assuming that the person using this application is using the
latest version of IOS or Android which supports major dependencies or react-native components
and components of external websites which we are using. So, if a person is using old version of
IOS or Android he/she may not be able to use this application or may face a lot of difficulty.

We are using different components from different websites like native base and reactnativepaper
etc. to build are application which require latest dependencies of these components or else the
components can give error and these components may not work in user’s device.

3. External Interface Requirements

3.1 User Interfaces

■ Splash screen:

A splash screen is a screen that shows when you open any mobile application on your device.
Sometimes it is referred to the main screen or wait for the application to load in the background
when loading is complete the application takes you to a functional screen where you can perform
more functional tasks. We have used a splash screen in our application which will be shown on
the screen when the application is loading, and it shows the logo and slogan of our application
and after application is loaded, the user is driven to a login screen where he can perform his
authentication.
Software Requirements Specification for <FIXIT> Page 7

■ Login:

A login screen is a screen where users are asked to enter their credentials to use some
application. Every user has his credentials. Commonly the credentials are user email and
password and when both entities match the user is allowed to enter the main application. we have
also used email and password as login credentials.
Software Requirements Specification for <FIXIT> Page 8

■ Signup:

Signup is a process when a new user comes to your application and they wanted to use your
application but your application is secured from the unwanted user then they are allowed to use
the signup function of the application where they provide their basic personal info and the info is
stored in the database and saved when they visit again they can just put required that information
in the login form they can use the application without any hesitation. We have also implemented
the same process for new user registration.
Software Requirements Specification for <FIXIT> Page 9

3.2 Hardware Interfaces

We are developing our application on visual studio code which requires windows 10 and we are
using laptop for developing application with high configuration.
Beside this our application will run on both IOS and Android devices which requires latest version
of both IOS and Android so that dependencies of different components can integrate and
communicate properly with the mobile device.

3.3 Software Interfaces

We would be using React Native for developing our frontend and JavaScript for our backend
development and backend connections. For storing other user data, we would be using MongoDB
Atlas online database. For development and compiling we are using visual studio code and
operating system of windows. we will also be using different external dependencies and libraries
for developing and creating different type of components like buttons, cards, sliding view,
navigation, authentication etc.
Software Requirements Specification for <FIXIT> Page 10

3.4 Communications Interfaces

This application would require a stable internet connection so that the application could run in
flow, and Database configuration will also be required for data transfer, storing data and retrieving
data from the database. As react native not supports localhost servers for database
communication so we must configure our Ip address in the application so it can communicate with
the database properly.

4. System Features
 Login/Signup and account switching (Sign up).
 Map Range.
 Progress Portal.
 Equipment Space Area.
 Bidding System.
 Recommendation System.

These are the features of our web application which are discussed in detail below.

4.1 Login/Signup
Description: This feature would allow the users to create a new account by providing their
personal details or would allow the users to sign in by providing the sign in credentials if they
already have an account.
.
Priority: High.

Stimulus/response sequences: This feature of signing up would ask for details of the user. The
details would include information such as user’s name, email, password phone number etc. When
the user would give those details to the system, the system would create the user’s account
notifying him that account is created successfully.
In case of signing in the user would be asked to give his email and password. If the provided
details would be correct the user would be allowed to use the application and log in in his/her
account.

Functional Requirements:
1: User should have a name greater than 3 words and a correct email address.
2: Password must be greater than 8 characters.
3: User should have a correct mobile number of 11 digits.
4: In case of user provide wrong format or wrong length details error will be shown for all the
inputs.

4.2 Map Range:


Software Requirements Specification for <FIXIT> Page 11

Description: This feature will allow the users to set their home location on the map.

Priority: Medium.

Stimulus/response sequences: when a user will open map the application would ask
permission for using location of that user so user can set his/her home location.

Functional Requirements:
1: User must provide correct information of his/her area.

1.1 Progress Portal:


Description: progress portal will show overall work and progress chart and progress report.
workers can update progress on daily basis so client can know how much work is completed and
how much work is remaining.

Priority: high.

Stimulus/response sequences: workers will update and write things of overall progress in this
portal on daily basis. By updating progress, chart will also be updated and will be shown in client
portal that what is the progress of the work which is going on and how much is remaining.

Functional Requirements:

1: Worker must know that how much days he has for the completion of the work.
2: Worker must know that what work he have to do on that day.
3: client must provide correct information of work to the worker.
4: client must provide with the time of the completion of the work.

1.2 Equipment Space Area:


Description: In this feature we will be creating a equipment and price area where workers will
add all the equipment’s with their prices that they are using in the work so that client can have
information of prices and equipment’s that workers are using in the work.

Priority: high.

Stimulus/response sequences: In this portal there would be inputs columns where workers will
add equipment and its price and submit that with submit button after submission total price will
automatically updated of all the equipment’s.

Functional Requirements:
1: Client should provide correct information of the work to the worker.
2: Worker should have the knowledge of all the equipment’s of his work.
3: worker should add correct information of equipment.

1.3 Bidding System:

Description: In this feature we will be creating a bidding system by which workers can do bidding
on different jobs and get the work based on their charges and charges provided by the client.
Software Requirements Specification for <FIXIT> Page 12

client will view all the bids and profiles of workers by which he/she can decide from whom he will
take the work.

Priority: High.

Stimulus/response sequences: The client will provide information of the work and on that work
many workers will do bidding providing their charges and prices for that work. Submitting their
bids and cv in the files uploading button and bidding button.

Functional Requirements:
1: Client must provide correct information of the work.
2: Workers must do bidding in the range of price offer of the client.
3: Workers must do bidding on the jobs which relate to their specialization.
4: Worker must read the job description carefully.

1.4 Recommendation System:


Description: In this system when a customer will search for a worker or specific work in the
search bar. the recommendation system will provide different high rated and reviewed workers to
the customer.

Priority: Medium.

Stimulus/response sequences: Client will search for the work in search bar and workers related
to that work will be shown on the screen with their ratings reviews and details.

Functional Requirements:
1: Customer must know what type of work he needs to be get done.
2: Customer must search with the correct words.

5. Other Nonfunctional Requirements

5.1 Performance Requirements


Our application would require stable internet connection and latest versions of either IOS or
Android in users’ devices so all dependencies and components can work and be visible properly.
Software Requirements Specification for <FIXIT> Page 13

5.2 Safety Requirements

Creating multiple accounts with same email will not be allowed and one worker getting multiple
jobs at the same time will also be not allowed.

5.3 Security Requirements

The application is for all sorts of users, but users would be required to login (for registered users),
signup (for new users) as this would provide admin with the information of the user and if the
application is used for wrong purposes so the user would be identified, and admin can delete that
user and from the admin side all the data would be kept secure. Information would be kept
securely in database like passwords would in encrypted form.

5.4 Software Quality Attributes

As we are building our application in react native our application will be flexible to use on both
IOS and Android operating systems. we will also keep in mind adaptability requirements so that
user could easily adapt to usage of application. We would also keep availability requirements in
mind while creating the application, so that the application could remain up for the users and due
to load of traffic it may not go down or don’t crash. We are building user friendly UI of application
so users will interact with application in a friendly way and all fonts’ colors we are using are user
attractive and user engaging.

5.5 Business Rules

As such there are no business rules but the user must register him/her-self before using the web
application so that the user may be able to login to use the application with his/her provided
details. Workers should provide their specialization area and other expertise.

6. Other Requirements

As such there are no other requirements. If we talk about database requirements, we are
currently using mongo DB database online version, so it requires us to configure our Ip address in
mongo DB database after every few hours se we are currently looking to find solution of this. We
would also go for copy rights of the design and would try to buy patent of our idea keeping
legalization in our mind to secure our project idea

Appendix A: Glossary
Software Requirements Specification for <FIXIT> Page 14

Appendix B: Analysis Models


State-Transition Diagram:

Appendix C: To Be Determined List


<Collect a numbered list of the TBD (to be determined) references that remain in the SRS so they
can be tracked to closure.>

You might also like