You are on page 1of 53

HOME ESSENTIALS AND SERVICES

By
T. H. M. MUBASHIR REZA
163-35-1788

A project submitted in partial fulfillment of the requirement for the degree of


Bachelor of Science in Software Engineering

Department of Software Engineering


Daffodil International University

Spring – 2020
Copyright © 2020 by Daffodil International University
APPROVAL

This Project titled “HOME ESSENTIALS AND SERVICES”, submitted by T. H. M. Mubashir


Reza (ID:163-35-1788) to the Department of Software Engineering, Daffodil International
University, has been accepted as satisfactory for the partial fulfillment of the requirements for the
degree of B.Sc. in Software Engineering and approved as to its style and contents. The presentation
has been held on 3rd October, 2020.
DECLARATION

I declare that, this project has been done by me under the supervision of Dr. Md. Asraf Ali,
Associate Professor, Department of SWE, Daffodil International University. I also declare that
neither this project nor any part of this project has been submitted elsewhere for award of any
degree or diploma.

Supervised by:

__________________
Dr. Md. Asraf Ali,
Associate professor,
Department of SWE,
Daffodil International University.

Submitted by:

__________________________
Name: T. H. M. Mubashir Reza
ID: 163-35-1788
Batch: 21st
Department of SWE,
Daffodil International University.
ACKNOWLEDGEMENT

First of all, my heartiest thanks and gratefulness to Almighty Allah for His divine blessings that
makes me capable to complete this project successfully.

I would like to thanks to our honorable teacher & project supervisor Dr. Md Asraf Ali, Associate
Professor, Department of SWE, Daffodil International University for his endless patience,
scholarly guidance, continual encouragement, constant and energetic supervision, constructive
criticism, valuable advice, reading many inferior draft and correcting them at all stage have made
it possible to complete this project.

I am also thankful to all the other faculties and staff members of our department for their co-
operation and help.

I must acknowledge with due respect the constant support and patients from my parents and
brothers.

Finally, I would like to thank my entire course mates in Daffodil International University, who
took part in this discuss while completing the course work.
SUMMARY

“Home essentials and services” project deals with an online system designed for booking
serviceman (electrician, carpenter, plumber, painter etc.) as per the requirements of the
customers at their convenience. The current system is manual and it is time-consuming. It is
also cost-ineffective, and the average return is low and diminishing.

The project contains an admin and user side. The admin side manages all the management
like editing site contents and managing services, providers, bookings and order. The admin
has an important role in the management of this system.

For the user section, the users can go through the homepage about services. The user can be
either a customer who needs home services or a service provider who performs home
services. In order to register as a service provider or customer, the user has to fill up the
registration form. Whereas, to book the service provider as a customer, the user can first
search for the available service provider and then book them.
TABLE OF CONTENTS

APPROVAL i

PROJECT DECLARATION ii

ACKNOWLEDGEMENT iii

SUMMARY iv

TABLE OF CONTENTS v

LIST OF FIGURES vi

CHAPTER 1: INTRODUCTION 1
1.1 Project Overview 1
1.2 Project Purpose 1
1.2.1 Background 1
1.2.2 Benefits & Beneficiaries 1
1.2.3 Goals 2
1.3 Stakeholders 2
1.4 Proposed System Model (block diagram) 2
1.5 Project Schedule 3
1.5.1 Gantt Chart 3
1.5.2 Release Plan/Milestone 4
CHAPTER 2: SOFTWARE REQUIREMENT SPECIFICATION 5
2.1 Functional Requirements 5
2.2 Nonfunctional Requirements 5
2.3 Performance Requirements 6
2.3.1 Speed and Latency Requirements 6
2.3.2 Precision or Accuracy Requirements 6
2.3.3 Capacity Requirements 6
2.4 Dependability Requirements 6
2.4.1 Reliability Requirements 6
2.4.2 Availability Requirements 7
2.4.3 Robustness or Fault-Tolerance Requirements 7
2.4.4 Safety-Critical Requirements 7
2.5 Maintainability and Supportability Requirements 7
2.5.1 Maintenance Requirements 7
2.5.2 Supportability Requirements 7
2.5.3 Adaptability Requirements 8
2.5.4 Scalability or Extensibility Requirements 8
2.6 Security Requirements 8
2.6.1 Access Requirements 8
2.6.2 Integrity Requirements 8
2.6.3 Privacy Requirements 8
2.7 Usability and Human-Interaction Requirements 8
2.7.1 Ease of Use Requirements 8
2.7.2 Personalization and Internationalization Requirements 9
2.7.3 Understandability and Politeness Requirements 9
2.7.4 Accessibility Requirements 9
2.7.5 User Documentation Requirements 9
2.7.6 Training Requirements 9
2.8 Look and Feel Requirements 9
2.8.1 Appearance Requirements 9
2.8.2 Style Requirements 10
2.9 Operational and Environmental Requirements 10
2.9.1 Expected Physical Environment 10
2.9.2 Requirements for Interfacing with Adjacent Systems 10
2.9.3 Projectization Requirements 10
2.9.4 Release Requirements 10
2.10. Legal Requirements 10
2.10.1 Compliance Requirements 10
2.10.2 Standards Requirements 11

CHAPTER 3: SYSTEM ANALYSIS 12


3.1 Use Case Diagram 12
3.2 Use Case Description (for each use case) 13
3.3 Activity Diagram (for each use case) 16
3.4 System Sequence Diagram (for each use case) 19

Chapter 4: System Design Specification 23


4.1 Class Diagram 23
4.2 Dataflow Diagram 24
4.3 Development Tools & Technology 24
4.3.1 User Interface Technology 24
4.3.1.1 Python 24
4.3.1.2 Framework: Python Django framework 25
4.3.1.3 Client Side Technology: HTML, CSS, Bootstrap 25
4.3.2 Implementation Tools & Platforms 27
4.3.2.1 IDE: Pycharm 27
4.3.2.2 Data Base Server: SQLite 27

CHAPTER 5: SYSTEM TESTING 29


5.1 Testing Features 29
5.1.1 Features to be tested 29
5.1.2 Features not to be tested 29
5.2 Testing Strategies 29
5.2.1 Test Approach 29
5.2.2 Pass/Fail Criteria 29
5.2.3 Suspension and Resumption 30
5.2.4 Testing Schedule 30
5.2.5 Traceability Matrix 30
5.3 Testing Environment (hardware/software requirements) 31
5.4 Test Cases 31

CHAPTER 6: USER MANUAL 34


6.1 User Manual (type A user) 34
6.2 User Manual (type B user) 35
6.3 User Manual (type C user) 39
CHAPTER 7: PROJECT SUMMARY
7.1 GitHub Link 41
7.2 Reference 41
7.3 Limitations 41
7.4 Obstacles & Achievements 42
7.5 Future Scope 42
LIST OF FIGURES

FIGURES PAGE
NO
Figure 1.4: Block diagram 2
Figure 1.5: Gantt chart 3
Figure 1.5: Release plan 4

Figure 2.1: Functional requirements 5


Figure 2.2: Nonfunctional requirements 5

Figure 3.2: Use case 12

Figure 3.3: Activity Diagram For Registration 16


Figure 3.3: Activity Diagram For Login 17
Figure 3.3: Activity Diagram For Search provider 17

Figure 3.3: Activity Diagram For book provider 18

Figure 3.3: Sequence Diagram For Log In 19


Figure 3.4: Sequence Diagram For Registration 20
Figure 3.4: Sequence Diagram For Search provider 21

Figure 3.4: Sequence Diagram For search provider 21


Figure 3.4: Sequence Diagram For book provider 22
Figure 4.1: Class Diagram 23
Figure 4.2: Dataflow Diagram 24

Figure 6.1: User manual (Admin) Homepage 34


Figure 6.1: User manual (Admin) Login 34

Figure 6.1: User manual (Admin) Admin Homepage 35


Figure 6.2.1: User manual (Customer) Homepage 35

Figure 6.2.2: User manual (Customer) About 36

Figure 6.2.3: User manual (Customer) Contact 36

Figure 6.2.4: User manual (Customer) Login 37

Figure 6.2.5: User manual (Customer) Registration 37


Figure 6.2.6: User manual (Customer) Search provider 38

Figure 6.2.7: User manual (Customer) Customer homepage 38

Figure 6.3.1: User manual (Service provider) Homepage 39


Figure 6.3.2: User manual (Service provider) Registration 39

Figure 6.3.3: User manual (Service provider) Login 40

Figure 6.3.4: User manual (Service provider) Provider 40

Homepage
CHAPTER 1: INTRODUCTION

1.1 Project overview

The project contains an admin and user side. The admin side manages all the
management like editing site contents and managing services, providers, products,
bookings and order. The admin has an important role in the management of this
system.

For the user section, the users can go through the homepage about products and
services. The user can be either a customer who needs home services and products or
a service provider who performs home services.

In order to register as a service provider or customer, the user has to fill up the
registration form.

Whereas, to book the service provider or order a product as a customer, the user can
first search for the available service provider or product and then book them or order
them.

1.2 Project purpose

1.2.1 Background

There is always a need of a system that will help users to find home service providers
in our city and information about them, and users can book them easily from their
home sitting on a chair with smart device.

1|P a ge
1.2.2 Benefits and beneficiaries

Benefits:

 Convenience and Quick Service


 Easy and Low Cost for Operations
 Demographic Targeting
 Ability to Multitask
 24/7 services
 Data Collection for Personalization
 Instant Transaction Service

Beneficiaries:

 Customer
 Service provider

1.2.3 Goals

 To make a convenient way for customers to book service providers for service
and products without having to go to the required service center or shop
 To fulfil the customers’ needs and requirements of their every aspect of life

1.3 Stakeholders

There are three stakeholders:


 Admin
 User (Customer)
 User (Service provider)

2|P a ge
1.4 Proposed system model (Block diagram)

1.5 Project schedule

1.5.1 Gantt chart

3|P a ge
1.5.2 Release plan/ Milestone

4|P a ge
CHAPTER 2: SOFTWARE REQUIREMENT SPECIFICATIONS

2.1 Functional requirements

2.2 Nonfunctional requirements

5|P a ge
2.3 Performance requirements

2.3.1 Speed and latency requirement

 Data would be inserted in SQLite server database.


 User interface design depends on the user execute table data set and show

2.3.2 Precision and accuracy requirements

 Every customer can view accurate page where he/she can show see details of
services and service providers
 User can manage/update his/her profile.

2.3.3 Capacity requirements

 The system shall be able to support 50 simultaneous users


 The system shall be able to manage up to 20,000 service provider records.

2.4 Dependability requirements

2.4.1 Reliability requirements

 Admin/User should log in to the system after input the valid username and
password
 User can update own profile and manage it.

6|P a ge
2.4.2 Availability requirements

 Before run this application we have to run manage.py runserver first.


 Using command, we can run this properly & easily
 This web application should run on a web browser (Preferable to chrome
 and Firefox).

2.4.3 Robustness or Fault-Tolerance Requirements

 If app has been crushed it should auto recovered if not, it should High
not take more than hour

2.4.4 Safety-Critical Requirements

No visible Safety-Critical Requirements

2.5 Maintainability and supportability Requirements

2.5.1 Maintenance Requirements:

 This web system define environment did not modify or change


 Missing or need change data we can recover it using command line.

2.5.2 Supportability Requirements

 The app should support all major web browser and work described smoothly.

7|P a ge
2.5.3 Adaptability requirements

No visible adaptability requirements.

2.5.4 Scalability and extensibility requirements

 The app should support more than 1 million users without any described problem.

2.6 Security requirements

2.6.1 Access requirements

 Any type of user, registered or non-registered, can visit this web site.
 To manage or check profile user has to register and login.

2.6.2 Integrity requirements

 Customers and service providers’ data can only be modified by themselves.

2.6.3 Privacy requirements

 User’s data will not be used for other purpose other than for described
the application

2.7 Usability and human interaction requirements

2.7.1 Ease of use requirements

 Patient and Doctor should be able to use the app by their own Described
without need of any direction

8|P a ge
2.7.2 Personalization requirements

No visible Personalization and Internationalization Requirements

2.7.3 Understandability requirements

 User can easily understand the system


 Any user can use the system

2.7.4 Accessibility requirements

 The system should accessible from any other devices.


 User should access their account within a request.

2.7.5 User documentation requirements

No visible user documentation requirements

2.7.6 Training requirements

 Service provider should be trained to use the system.

2.8 Look and feel requirements

2.8.1 Appearance requirements

 App user interface should look attractive Described


 App user interface must be user friendly Described
 App should be self-descriptive

9|P a ge
2.8.2 Style requirements

 App should look clean and minimal

2.9 Operational and environmental requirements

2.9.1 Expected physical environment

No expected physical environment required.

2.9.2 Requirements for interfacing

No requirements for interfacing.

2.9.3 Projectization requirements

No projectization requirements needed.

2.9.4 Release requirements

 App should have specific version for each release

2.10 Legal requirements

2.10.1 Compliance requirements

No compliance requirements needed.

10 | P a g e
2.10.2 Standards requirements

 The admin should have good knowledge of different types of programming


knowledge.

11 | P a g e
CHAPTER 3: SYSTEM ANALYSIS

3.1 Use case diagram

12 | P a g e
3.2 Use case description

Use Case name: Login

Use Case no.: 01

Goal: Every user will have user id and password for login to the system.
Without having user id and password he/she cannot login.

Precondition: Username and password must be valid for login the system.

Primary actors: Admin

Secondary actors: Customer, Service provider

Description/Main Action:
success scenario:
1. Logged in successfully.
2. Confirm valid username and password for login.
Expectation: Without internet you can’t login.

Priority: High

Frequency of user: Provide username and password login the system.

13 | P a g e
Use Case name: Registration

Use Case no.: 02

Goal: Service provider or customer has to give his/her authenticate


information to be registered service provider.

Precondition: 1. User must be an authorized user.

2. Service provider must have an NID or passport.

3. Click on the submit button.

Primary actors: Customer, Service provider

Description/Main A success alert message will be shown on the window.


success scenario:

Expectation: Without internet you can’t register.

Priority: High

14 | P a g e
Use Case name: Search service provider

Use Case no.: 03

Goal: User will search the service provider according to area and service
he/she needs

Precondition: 1. User must be an authorized user.

2. User must have to select city and profession.

3. Click on the search button.

Primary actors: Customer

Description/Main Service providers will be shown who are available according to


success scenario: customer’s choice.

Expectation: Without internet you can’t search.

Priority: High

15 | P a g e
Use Case name: Update profile

Use Case no.: 04

Goal: Service provider can update his/her profile by logging into the system.

Precondition: 1. User must be a registered user.

2. Click on the update button.

Primary actors: Customer, Admin, Service provider

Description/Main If user update all field correctly, a successful message will be shown
success scenario:

Expectation: Without internet you can’t update.

Priority: High

3.3 Activity diagram

16 | P a g e
17 | P a g e
18 | P a g e
3.4 System sequence diagram

19 | P a g e
20 | P a g e
21 | P a g e
22 | P a g e
CHAPTER 4: SYSTEM DESIGN SPECIFICATION

4.1 Class diagram

23 | P a g e
4.2 Dataflow diagram:

4.3 Development tools and technologies

4.3.1 User interface technology

4.3.1.1 Python

Python is a widely used general-purpose, high level programming language. It


was initially designed by Guido van Rossum in 1991 and developed by Python
Software Foundation. It was mainly developed for emphasis on code readability,
and its syntax allows programmers to express concepts in fewer lines of code.

24 | P a g e
Python is a programming language that lets you work quickly and integrate
systems more efficiently.

Python is dynamically typed and garbage-collected. It supports multiple


programming paradigms, including procedural, object-oriented, and functional
programming. Python is often described as a "batteries included" language due to
its comprehensive standard library.

4.3.1.2 Framework: Python Django

Django is a web application framework written in Python programming language.


It is based on MVT (Model View Template) design pattern. The Django is very
demanding due to its rapid development feature. It takes less time to build
application after collecting client requirement.

This framework uses a famous tag line: The web framework for perfectionists
with deadlines.

4.3.1.3 Client Side Technology: HTML, CSS, Bootstrap

HTML: HTML (Hypertext Markup Language) is the set of markup symbols or


codes inserted in a file intended for display on a World Wide Web browser page.
The markup tells the Web browser how to display a Web page's words and
images for the user. Each individual markup code is referred to as an element (but
many people also refer to it as a tag). Some elements come in pairs that indicate
when some display effect is to begin and when it is to end.

CSS: Cascading Style Sheets (CSS) are a collection of rules we use to define and
modify web pages. CSS are similar to styles in Word. CSS allow Web designers
to have much more control over their pages look and layout. For instance, you

25 | P a g e
could create a style that defines the body text to be Verdana, 10 point. Later on,
you may easily change the body text to Times New Roman, 12 point by just
changing the rule in the CSS. Instead of having to change the font on each page
of your website, all you need to do is redefine the style on the style sheet, and it
will instantly change on all of the pages that the style sheet has been applied to.
With HTML styles, the font change would be applied to each instance of that font
and have to be changed in each spot.

CSS can control the placement of text and objects on your pages as well as the
look of those objects.

HTML information creates the objects (or gives objects meaning), but styles
describe how the objects should appear. The HTML gives your page structure,
while the CSS creates the “presentation”. An external CSS is really just a text file
with a .css extension. These files can be created with Dreamweaver, a CSS
editor, or even Notepad.

The best practice is to design your web page on paper first so you know where
you will want to use styles on your page. Then you can create the styles and apply
them to your page.

Bootstrap: Bootstrap is the most popular CSS Framework for developing


responsive and mobile-first websites.

26 | P a g e
4.3.2 Implementation tools and platforms

4.3.2.1 IDE: PyCharm

PyCharm is an integrated development environment (IDE) used in computer


programming, specifically for the Python language. It is developed by the
Czech company Jet Brains. It provides code analysis, a graphical debugger,
an integrated unit tester, integration with version control systems (VCSes),
and supports web development with Django as well as Data Science with
Anaconda.

PyCharm is cross-platform, with Windows, macOS and Linux versions. The


Community Edition is released under the Apache License, and there is also
Professional Edition with extra features – released under a proprietary
license.

4.3.2.2 Database server: SQLite

SQLite is a relational database management system (RDBMS) contained in


a C library. In contrast to many other database management systems, SQLite
is not a client–server database engine. Rather, it is embedded into the end
program.

SQLite is ACID-compliant and implements most of the SQL standard,


generally following PostgreSQL syntax. However, SQLite uses a
dynamically and weakly typed SQL syntax that does not guarantee the
domain integrity. This means that one can, for example, insert a string into a
column defined as an integer. SQLite will attempt to convert data between
formats where appropriate, the string "123" into an integer in this case, but
does not guarantee such conversions and will store the data as-is if such a
conversion is not possible.

27 | P a g e
SQLite is a popular choice as embedded database software for local/client
storage in application software such as web browsers. It is arguably the most
widely deployed database engine, as it is used today by several widespread
browsers, operating systems, and embedded systems (such as mobile
phones), among others. SQLite has bindings to many programming
languages.

28 | P a g e
CHAPTER 5: SYSTEM TESTING

5.1 Testing features

5.1.1 Features to be tested

 Registration
 Login

5.1.2 Features not to be tested

 Rating System
 Project Comment
 IDE System

5.2 Testing strategies

5.2.1 Test approach

 The whole system will be tested manually


 System testing based on User acceptance.
 System testing based on admin activities

5.2.2 Pass/fail criteria

 Component Pass/Fail criteria – The test will pass if the case meet the object

29 | P a g e
 design requirement or fail if not.
 Integration Pass/Fail criteria – The test will pass if the case meets the object design
 architecture requirement or fail if not.

5.2.3 Suspensions and resumptions

 Regression Testing – The system should work properly after each change on the
system.
 Database change: The system will not work properly if we change database name.
 Build Acceptance Test – The system will pass the test if every build is successful if
not
 then try the build again.
 System Design Changes – The system should work properly after each change in the
design

5.2.4 Testing schedule

Test Phase Time

Test plan creation 1 week

Test specification creation 1 week

Test specification team review 2 week

Component testing 2 week

Integration testing 2 week

System testing 3 week

30 | P a g e
5.3 Testing environment

In Unit testing, here all the system units will be tested according to the test

case and if it does not match the expected result, further action will be taken to fix

the problem

5.4 Test cases

Test case 1

Test case #:01 Test case name: Login

System: User login Subsystem: N/A

Design by: T. H. M. Mubashir Reza (163-35- Design date: 24-08-2020


1788)

Execute by: T. H. M. Mubashir Reza Execution date: 01-09-2020

Step Action Expected system Pass/fail Comment


response

1 When a user fills Other fields are Pass Other fields are
up only Name required required
field and clicks
the login.

2 When a user Fill up the Pass Fill up the


clicks only login required field required field
button without a
fill-up any field

31 | P a g e
3 When a user The system Pass The email field
enters email should display is not a valid
like-
abc@email.com

4 When a user The system will The valid email


enters email display the email needs to register
like- abc.com field is invalid

Test Case 2

Test case #:02 Test case name: Registration

System: User Registration Subsystem: N/A

Design by: T. H. M. Mubashir Reza (163-35- Design date:24-08-2020


1788)

Execute by: T. H. M. Mubashir Reza Execution date:01-09-2020

Step Action Expected system Pass/fail Comment


response

1 When a user fills Other fields are Pass Other fields are
up only Name required required
field and clicks
the registration.

2 When a user Fill up the Pass Fill up the


clicks only required field required field

32 | P a g e
registration
button without a
fill-up any field

3 When a user The system Pass The email field


enters email should display is not a valid
like-
abc@email.com

4 When a user The system will The valid email


enters email display the email needs to register
like- abc.com field is invalid

33 | P a g e
CHAPTER 6: USER MANUAL

6.1 User Manual (Admin)

1.

This will be the first interface for any user.

2.

From this page admin has to login with username and password.

34 | P a g e
3.

If admin login successfully, this page will be appeared, from this page admin can manage all the
systems.

6.2 User Manual (Customer)

1.

35 | P a g e
2.

This page describes about the system.

3.

Here, a user can contact the admin panel.

36 | P a g e
4.

From this page customer can log in to the system by his/her username and password.

5.

Here, customer can register his account.

37 | P a g e
6.

Customer can search service provider from this page

7.

Here customer can see his homepage.

38 | P a g e
6.3 User Manual (Service provider)

1.

This will be the first interface for any user.

2.

Here service provider can register.

39 | P a g e
3.

Here service provider can login to the system by username and password.

4.

This is service provider homepage where he can see his bookings booked by customers.

40 | P a g e
CHAPTER 7: PROJECT SUMMARY

7.1 GITHUB LINK

Not available

7.2 REFERENCE

 Two scoops of Django for 1.11 by Daniel Greenfield’s and Audrey Greenfield
 Lightweight Django by Elman and Mark Lavin
 Wikipedia
 https://www.geeksforgeeks.org/python-django/
 https://www.javatpoint.com
 https://www.python.org/
 https://www.tutorialspoint/

7.3 LIMITATIONS

Besides the above achievements and the successful completion of the project, we still feel
the project has some limitations, listed as below:

 It is not a large scale system.


 Only limited information provided by this system.
 Since it is an online project, users need internet connection to search service
providers.
 People who are not familiar with computers can’t use this software.

41 | P a g e
7.4 OBSTACLES AND ACHIEVEMENTS

Besides these limitations there are no obstacles, this project has been done properly.

7.5 FUTURE SCOPE

This web application involves almost all the features of the online services. The future
implementation will be online help for the customers and chatting with website
administrator.

42 | P a g e

You might also like