0% found this document useful (0 votes)
47 views

Project Report Augmented Reality

This document summarizes a final year project that aims to develop an augmented reality (AR) platform called Qukify to transform the furniture retail industry. The platform will allow retailers to showcase furniture using AR, enabling customers to visualize and customize options in their own living spaces. The project objectives are to increase sales, provide an immersive shopping experience, and reduce uncertainties for online customers. The document outlines the system architecture, benefits for retailers and customers, and testing to ensure usability and performance.

Uploaded by

Qutab khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views

Project Report Augmented Reality

This document summarizes a final year project that aims to develop an augmented reality (AR) platform called Qukify to transform the furniture retail industry. The platform will allow retailers to showcase furniture using AR, enabling customers to visualize and customize options in their own living spaces. The project objectives are to increase sales, provide an immersive shopping experience, and reduce uncertainties for online customers. The document outlines the system architecture, benefits for retailers and customers, and testing to ensure usability and performance.

Uploaded by

Qutab khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 63

Qukify (Transform your living space with AR Furniture)

Final Year Project

Session 2020-2024

A project submitted in partial fulfillment of the degree of

BS in Software Engineering

Department of Software Engineering


Faculty of Computer Science & Information Technology
The Superior University, Lahore

Spring 2021 (CHANGE AS PER YOUR SESSION)

[  ] Development [ ] Research [ ] R&D


Type (Nature of project)
Project Report: Qukify

Area of specialization

FYP ID
Project Group Members

Sr.# Reg. # Student Name Email ID *Signature

[email protected]
BSEM-S20-
(i) 017
Qutab Ishaq

BSEM-F19- Muhammad Ibraheem [email protected]


(ii) 018

BSEM-S20- Hafiz Abdul Rehman [email protected]


(iii) 006

*The candidates confirm that the work submitted is their own and appropriate credit has been
given where reference has been made to work of others

Plagiarism Free Certificate


This is to certify that, I ________ S/D of Muhammad Siddique, group leader of FYP under registration no
______________________________at Software Engineering Department, The Superior College, Lahore. I declare
that my FYP report is checked by my supervisor.

Date: Name of Group Leader: _________________ Signature: _____________

Name of Supervisor: Dr. ABC Co-Supervisor: Mr. XYZ


Designation: Lecturer Designation: Associate Professor

Signature: ________________ Signature: _________________

HoD: Dr. Tehreem Masood


Signature: _______________

Qukify

Faculty of CS&IT, The Superior University Lahore, Pakistan 2


Project Report: Qukify

Change Record
Author(s) Version Date Notes Supervisor’s Signature
1.0 <Original Draft>
<Changes Based on
Feedback from
Supervisor>
<Changes Based on
Feedback From Faculty>
<Added Project Plan>
<Changes Based on
Feedback from
Supervisor>

APPROVAL

Faculty of CS&IT, The Superior University Lahore, Pakistan 3


Project Report: Qukify

PROJECT SUPERVISOR
Comments: ___________________________________________________________________
_____________________________________________________________________________

Name:______________________________
Date:_______________________________ Signature:__________________________

PROJECT MANAGER
Comments: ___________________________________________________________________
_____________________________________________________________________________

Date:_______________________________ Signature:__________________________

HEAD OF THE DEPARTMENT


Comments: ___________________________________________________________________
_____________________________________________________________________________

Date:_______________________________ Signature:__________________________

Faculty of CS&IT, The Superior University Lahore, Pakistan 4


Project Report: Qukify

Dedication

This work is dedicated to my parents, whose unwavering love, support, and


encouragement have been the driving force behind my educational journey. Their
belief in my abilities and their constant motivation have propelled me to overcome
challenges and achieve my goals.
I would also like to dedicate this project to my teachers, whose guidance and
knowledge have shaped me into the person I am today. Their dedication to
imparting wisdom and fostering a passion for learning have been invaluable
throughout my academic career.
Furthermore, I extend my deepest appreciation to my project supervisor,
[Supervisor's Name], for their exceptional guidance, expertise, and unwavering
support throughout the development process. Their insights, feedback, and
mentorship have been instrumental in the successful completion of this project.
Lastly, I would like to express my gratitude to my manager, whose
encouragement, trust, and belief in my abilities have provided me with the
opportunity to undertake this project. Their support and guidance have been vital
in enabling me to push my boundaries and achieve new heights.

I am forever grateful to each and every one of these individuals for their
contributions to my personal and professional growth.

Faculty of CS&IT, The Superior University Lahore, Pakistan 5


Project Report: Qukify

Acknowledgements

I would like to express my sincere gratitude to my project supervisor, [Supervisor's Name], for
their exceptional guidance, support, and expertise throughout the entire duration of this
project. Their valuable insights, constructive feedback, and unwavering dedication have played
a pivotal role in shaping the direction and success of this endeavor. Their depth of knowledge,
patience, and encouragement have truly been invaluable.

I would also like to extend my appreciation to the faculty members of [University/Institution


Name] for their valuable contributions and for creating an enriching academic environment.
Their passion for teaching, mentorship, and commitment to fostering innovation have been
instrumental in my growth as a student and a researcher.

Furthermore, I would like to thank my colleagues and friends who have provided valuable
assistance and encouragement during various stages of this project. Their support,
brainstorming sessions, and willingness to share their expertise have greatly enriched the
project's outcomes.

I am also grateful to the technical staff and librarians of [University/Institution Name] for their
assistance in accessing resources, technical support, and guidance throughout the project.

Lastly, I want to express my deepest appreciation to my family and loved ones for their
unwavering support, patience, and understanding. Their encouragement and belief in my
abilities have been the driving force behind my perseverance and determination throughout
this project.

This project would not have been possible without the collective efforts and contributions of all
these individuals, and I am truly grateful for their support.

Faculty of CS&IT, The Superior University Lahore, Pakistan 6


Project Report: Qukify

Executive Summary

The AR Furniture project aims to revolutionize the furniture retail industry by creating an
interactive augmented reality (AR) platform. This web-based platform allows retailers to
showcase products in a realistic and immersive manner, enabling customers to visualize and
customize furniture within their own living spaces.

By leveraging AR technology, the platform offers a unique and valuable service, enhancing
customer engagement and reducing returns. Key features include a user-friendly interface, an
extensive catalog of furniture items, realistic AR rendering, customization options, and
comprehensive assembly instructions.

The project's objectives are to increase sales, provide an immersive shopping experience, and
eliminate uncertainties associated with online furniture shopping. The system architecture
ensures seamless integration between the web interface, AR components, image recognition,
and cloud services.

Benefits include differentiation for retailers, confident decision-making for customers, and
reduced returns. Rigorous testing and quality assurance measures have been implemented to
ensure stability, performance, and usability.

In conclusion, the AR Furniture project offers an innovative solution to transform the furniture
retail industry. By leveraging AR technology, retailers can enhance customer engagement and
drive sales while reducing the risk of product returns.

Table of Contents

Faculty of CS&IT, The Superior University Lahore, Pakistan 7


Project Report: Qukify

Dedication..................................................................................................................................... iv
Acknowledgements........................................................................................................................v
Executive Summary.......................................................................................................................vi
Table of Contents......................................................................................................................... vii
List of Figures................................................................................................................................ ix
List of Tables.................................................................................................................................. x
Chapter 1....................................................................................................................................... 1
Introduction................................................................................................................................... 1
1.1. Background..................................................................................................................... 2
1.2. Motivations and Challenges............................................................................................2
1.3. Goals and Objectives.......................................................................................................2
1.4. Literature Review/Existing Solutions...............................................................................2
1.5. Gap Analysis.................................................................................................................... 2
1.6. Proposed Solution...........................................................................................................2
1.7. Project Plan..................................................................................................................... 3
1.7.1. Work Breakdown Structure.........................................................................................3
1.7.2. Roles & Responsibility Matrix......................................................................................3
1.7.3. Gantt Chart.................................................................................................................. 3
1.8. Report Outline.................................................................................................................3
Chapter 2....................................................................................................................................... 4
Software Requirement Specifications............................................................................................4
2.1. Introduction.................................................................................................................... 5
2.1.1. Purpose........................................................................................................................5
2.1.2. Document Conventions...............................................................................................5
2.1.3. Intended Audience and Reading Suggestions..............................................................5
2.1.4. Product Scope..............................................................................................................5
2.1.5. References................................................................................................................... 6
2.2. Overall Description..........................................................................................................6
2.2.1. Product Perspective.....................................................................................................6
2.2.2. Product Functions........................................................................................................6
2.2.3. User Classes and Characteristics..................................................................................6
2.2.4. Operating Environment...............................................................................................7
2.2.5. Design and Implementation Constraints.....................................................................7
2.2.6. User Documentation....................................................................................................7
2.2.7. Assumptions and Dependencies..................................................................................7
2.3. External Interface Requirements.....................................................................................8
2.3.1. User Interfaces.............................................................................................................8
2.3.2. Hardware Interfaces....................................................................................................8
2.3.3. Software Interfaces......................................................................................................8
2.3.4. Communications Interfaces.........................................................................................9
2.4. System Features..............................................................................................................9
2.4.1. System Feature 1.........................................................................................................9
2.4.1.1. Description and Priority........................................................................................... 9
2.4.1.2. Stimulus/Response Sequences.................................................................................9

Faculty of CS&IT, The Superior University Lahore, Pakistan 8


Project Report: Qukify

2.4.1.3. Functional Requirements.........................................................................................9


2.4.2. System Feature 2.......................................................................................................10
2.4.2.1. Description and Priority.........................................................................................10
2.4.2.2. Stimulus/Response Sequences...............................................................................10
2.4.2.3. Functional Requirements.......................................................................................10
2.4.3. System Feature 3 (and so on)....................................................................................11
2.5. Other Nonfunctional Requirements..............................................................................11
2.5.1. Performance Requirements.......................................................................................11
2.5.2. Safety Requirements................................................................................................. 11
2.5.3. Security Requirements...............................................................................................12
2.5.4. Software Quality Attributes.......................................................................................12
2.5.5. Business Rules............................................................................................................12
2.6. Other Requirements......................................................................................................12
Chapter 3..................................................................................................................................... 13
Use Case Analysis.........................................................................................................................13
3.1. Use Case Model.............................................................................................................14
3.2. Fully Dressed Use Cases................................................................................................ 14
Chapter 4..................................................................................................................................... 15
System Design..............................................................................................................................15
4.1. Architecture Diagram....................................................................................................16
4.2. Domain Model...............................................................................................................16
4.3. Entity Relationship Diagram with data dictionary.........................................................16
4.4. Class Diagram................................................................................................................ 17
4.5. Sequence / Collaboration Diagram................................................................................17
4.6. Operation contracts...................................................................................................... 17
4.7. Activity Diagram............................................................................................................18
4.8. State Transition Diagram...............................................................................................18
4.9. Component Diagram.....................................................................................................18
4.10. Deployment Diagram.................................................................................................19
4.11. Data Flow diagram [only if structured approach is used - Level 0 and 1]..................19
Chapter 5..................................................................................................................................... 20
Implementation........................................................................................................................... 20
5.1. Important Flow Control/Pseudo codes.........................................................................21
5.2. Components, Libraries, Web Services and stubs...........................................................21
5.3. Deployment Environment.............................................................................................21
5.4. Tools and Techniques....................................................................................................22
5.5. Best Practices / Coding Standards.................................................................................22
5.6. Version Control............................................................................................................. 22
Appendices.................................................................................................................................. 23
Appendix A: Information / Promotional Material........................................................................24
Reference and Bibliography.........................................................................................................27
Index............................................................................................................................................ 29

Faculty of CS&IT, The Superior University Lahore, Pakistan 9


Project Report: Qukify

List of Figures

1.1 Introduction 6
1.2 Software Requirement Specification 7
2.1 Use case Analysis 14
2.2 System Design 22
2.3 Implementation 26
5.1 Testing and Evaluation 49
5.2 Summary, Conclusion and Future Enhancement 49

Faculty of CS&IT, The Superior University Lahore, Pakistan 10


Project Report: Qukify

List of Tables

1.1 WBS Table 6


1.2 Gantt Table 7
2.1 Hardware Components 14
2.2 Functional and Non-functional Requirements 22
2.3 Domain Requirements 26
5.1 Components Table 49
5.2 Tools and Techniques 49

Faculty of CS&IT, The Superior University Lahore, Pakistan 11


Project Report: Qukify

Chapter 1
Introduction

Faculty of CS&IT, The Superior University Lahore, Pakistan 12


Project Report: Qukify

Chapter 1: Introduction
This chapter provides an overview of the AR Furniture project, presenting the rationale,
objectives, and scope of the project. It explains the need for an innovative solution in the
furniture retail industry and highlights the challenges faced by customers in the traditional
online shopping experience. The chapter introduces the AR Furniture project as a
groundbreaking solution to enhance customer engagement, increase sales, and reduce returns.
It briefly mentions the technologies utilized in the project, such as AR development platforms,
3D modeling software, image recognition technology, and cloud integration. Lastly, it outlines
the structure and organization of the project documentation, offering a roadmap for the reader
to navigate through the subsequent chapters.

1.1. Background
[Paragraph Text 12 pt, Calibri, 1.5 Line Spacing, Justified]
The background section provides contextual information about the AR Furniture project. It
highlights the challenges faced by customers in the traditional online furniture shopping
experience and the need for an innovative solution. It explores the limitations of accurately
visualizing furniture products and assessing their suitability for individual living spaces. The
section also discusses the growing expectations of customers for interactive and personalized
shopping experiences. It briefly introduces augmented reality (AR) technology as a promising
solution to bridge the gap between the online and physical shopping experience.

1.2. Motivations and Challenges


This section delves into the motivations behind the AR Furniture project and outlines the key
challenges that the project aims to address. It highlights the motivations for enhancing the
furniture retail experience through augmented reality technology, such as the desire to provide
customers with a more immersive and interactive shopping experience. The section also
discusses the challenges faced by customers in accurately visualizing furniture products,
assessing their fit within their living spaces, and making confident purchasing decisions.
Furthermore, it explores the limitations of traditional online shopping platforms in meeting

Faculty of CS&IT, The Superior University Lahore, Pakistan 13


Project Report: Qukify

these challenges and highlights the potential of augmented reality to overcome these
limitations.

1.3. Goals and Objectives


In this section, the goals and objectives of the AR Furniture project are outlined. The primary
goal is to enhance customer engagement and satisfaction in the furniture retail industry by
providing an interactive and immersive shopping experience through augmented reality
technology. The project aims to enable customers to visualize furniture products in real-world
environments, customize attributes such as color and texture, and receive step-by-step
instructions for assembly and maintenance. Other objectives include increasing sales for
furniture retailers, reducing returns due to wrong size or style, and differentiating retailers from
competitors by offering a unique and innovative shopping platform. The section emphasizes the
importance of leveraging AR development platforms, 3D modeling software, image recognition
technology, and cloud integration to achieve these goals and objectives.

1.4. Literature Review/Existing Solutions


This section provides a review of the existing literature and solutions related to augmented
reality in the furniture retail industry. It explores academic research, industry publications, and
case studies that highlight the potential benefits and challenges of implementing augmented
reality technology for enhancing the customer experience. The section discusses various
existing solutions and platforms that have been developed to enable virtual visualization of
furniture in real-world environments. It analyzes their features, limitations, and user feedback
to provide insights into the effectiveness of augmented reality in the context of furniture
shopping. Additionally, it identifies gaps in the existing solutions and highlights the unique
contributions and innovations of the AR Furniture project.

Faculty of CS&IT, The Superior University Lahore, Pakistan 14


Project Report: Qukify

1.5. Gap Analysis


The gap analysis section identifies the gaps or shortcomings in the existing literature and
solutions related to augmented reality in the furniture retail industry. It assesses the limitations
of current approaches, platforms, and technologies in providing a seamless and immersive
shopping experience for customers. The section also explores the gaps in terms of
customization options, real-time rendering, accurate placement of furniture objects, and
comprehensive assembly instructions. By conducting this analysis, the AR Furniture project aims
to identify the specific areas where it can make unique contributions and address the existing
gaps in the field. The findings from the gap analysis will guide the development and
implementation of the AR Furniture platform, ensuring it offers a superior and innovative
solution compared to the existing alternatives.

1.6. Proposed Solution


[Paragraph Text 12 pt, Calibri, 1.5 Line Spacing, Justified]
The AR Furniture Showroom project will provide an innovative solution to this problem by
developing an interactive and engaging website-based augmented reality platform for furniture
retailers to showcase their products to customers. By using AR development platforms, 3D
modeling software, image recognition technology, and cloud technology, this project will
provide furniture retailers with a unique and valuable service to differentiate themselves from
their competitors. Customers will be able to visualize furniture products in real-world
environments, customize the color, texture, and materials of their furniture products, and
receive step-by-step instructions for furniture assembly and maintenance. This will increase
customer engagement and satisfaction, leading to increased sales and reduced returns due to
wrong size or color.

Faculty of CS&IT, The Superior University Lahore, Pakistan 15


Project Report: Qukify

1.7. Project Plan


The project plan section outlines the timeline and tasks involved in the implementation of the
AR Furniture project. It provides a detailed roadmap for the project, highlighting the key
milestones and deliverables. The section includes a breakdown of the activities, resources
required, and the estimated duration for each task. It also identifies any dependencies or
critical paths that need to be considered during the project execution. Additionally, the project
plan may include a Gantt chart or a project timeline to visualize the schedule and progress. The
purpose of this section is to provide a clear plan of action for the successful completion of the
AR Furniture project within the allocated timeframe.

1.7.1. Work Breakdown Structure


The work breakdown structure (WBS) is a hierarchical decomposition of the project's tasks,
activities, and deliverables. It provides a clear and organized representation of the project's
scope and helps in identifying the individual components that contribute to its successful
completion.

The WBS for the AR Furniture project is structured as follows:

Faculty of CS&IT, The Superior University Lahore, Pakistan 16


Project Report: Qukify

1.7.2. Roles & Responsibility Matrix


The roles and responsibility matrix identifies the key project team members and their
respective roles in the AR Furniture project. It clarifies the responsibilities, tasks, and areas of
expertise for each team member, ensuring a clear understanding of who is accountable for
specific deliverables and tasks.

Below is an example of a roles and responsibility matrix for the AR Furniture project:
The purpose of roles & responsibility matrix is to identify who will do what.

Prof.
Project
Project Name AR (Augmented Reality) Furniture Muhammad
Manager
Ahmed
Project Prototype, Semulation of Prototype, The Final Prototype
Deliverable
Overall
Start Date 02/10/2023 End Date 04/12/2023
Progress

Table-1
DURATIO
WB ASSIGNED START END
TASK NAME N STATUS
S# TO DATE DATE
IN DAYS

Faculty of CS&IT, The Superior University Lahore, Pakistan 17


Project Report: Qukify

Requirement Muhammad 02/10/202


1 02/15/2023 6 Started
Gathering Ibraheem 3
Requirement 02/16/202 Not
2 Qutab Ishaq 02/18/2023 3
Analysis 3 Started
Tool Muhammad 02/19/202 Not
3 02/25/2023 7
Identification Ibraheem 3 Started
Architecture Hafiz Abdul 02/26/202 Not
4 02/28/2023 3
Design Rehman 3 Started
Develop
03/01/202 Not
5 Prototype of Team Work 03/05/2023 5
3 Started
Device
Develop
03/06/202 Not
6 Simulation of Team Work 03/09/2023 4
3 Started
Prototype
Develop Actual 03/10/202 Not
7 Team Work 03/16/2023 7
Device 3 Started
03/17/202 Not
8 Testing Qutab Ishaq 03/27/2023 11
3 Started
03/28/202 Not
9 Deployment Team Work 04/12/2023 8
3 Started

1.7.3. Gantt chart


The Gantt chart is a visual representation of the timeline for the project, with each task
represented by a horizontal bar showing its duration and scheduled start and end dates. The
chart is a useful tool for project management as it allows you to plan and track the progress of
the project.

Overall, the Gantt chart is an essential tool for managing the project, enabling the project team
to plan, track, and adjust the project timeline and ensure that the project is completed on time
and within budget.

Faculty of CS&IT, The Superior University Lahore, Pakistan 18


Project Report: Qukify

1.8. Report Outline


The report will be structured as follows:

 Introduction: Provides background information, motivations, and goals of the project.


 Literature Review/Existing Solutions: Reviews relevant literature and examines existing
solutions in the furniture retail industry.
 Proposed Solution: Outlines the key features and functionalities of the AR Furniture
project.
 Project Plan: Presents the work breakdown structure, roles and responsibility matrix,
and project timeline.
 System Design and Architecture: Discusses the database structure, user interface design,
and integration of AR technology.
 Implementation and Development: Covers the backend development, 3D modeling,
customization features, and assembly instructions.
 Testing and Quality Assurance: Describes the testing process and validation of system
functionality.

Faculty of CS&IT, The Superior University Lahore, Pakistan 19


Project Report: Qukify

 Deployment and Launch: Covers the system deployment, user acceptance testing, and
training.
 Project Documentation and Reporting: Discusses the documentation of project
requirements, user manuals, and project reports.
 Conclusion and Future Enhancements: Summarizes the project achievements, lessons
learned, and provides recommendations for future enhancements.
 This outline ensures a logical flow of information and comprehensive coverage of the AR
Furniture project in the report.

1.9. Empathy Map


This empathy map can help the project team to understand the needs, concerns, and motivations
of potential users of the AR furniture application, allowing them to develop an application that
meets the user's needs and addresses their concerns. By taking into account the user's feelings,
thoughts, and actions, the project team can design an intuitive and user-friendly application that
makes the process of visualizing furniture easy and enjoyable, reducing frustration and anxiety
for the user.

Faculty of CS&IT, The Superior University Lahore, Pakistan 20


Project Report: Qukify

Chapter 2
Software Requirement
Specifications

Faculty of CS&IT, The Superior University Lahore, Pakistan 21


Project Report: Qukify

Chapter 2: Software Requirement Specifications


1.10. Introduction
The introduction section of the Software Requirement Specifications (SRS) provides an overview
of the document and its purpose. It sets the context for the subsequent sections by outlining
the objectives and scope of the document.

1.10.1. Purpose
The purpose of this section is to clearly define the objectives and goals of the SRS for the AR
Furniture project. It identifies the product for which the software requirements are specified in
this document. In this case, the product is the AR Furniture platform. It also includes the
revision or release number of the product, if applicable.
This section defines the objectives and goals of the SRS for the AR Furniture project. It identifies
the product, including its revision or release number. The scope of the product is described,
specifying whether it encompasses the entire system or a specific subsystem. The SRS covers
the entire AR Furniture platform, including its core functionalities and features. It ensures that
the software requirements accurately capture the needs of the project, including visualization,
customization, assembly instructions, and e-commerce integration.

1.10.2. Document Conventions


The document follows standard typographical conventions, using a clear and legible font such
as Calibri with a font size of 12 points for the main text. Requirements statements are assigned
individual priority levels, and important terms or concepts may be highlighted using bold or
italics. The document may include numbered requirements for easy reference. These
conventions ensure consistency and enhance readability, facilitating effective communication
of the software requirements for the AR Furniture project.

Faculty of CS&IT, The Superior University Lahore, Pakistan 22


Project Report: Qukify

1.10.3. Intended Audience and Reading Suggestions


The document is intended for developers, project managers, marketing staff, users, testers, and
documentation writers. It provides an overview of the AR Furniture project and its software
requirements. The document is organized into sections that cover different aspects of the
project. The suggested reading sequence starts with the overview sections, followed by the
software requirements, system architecture, and implementation considerations. Readers can
explore additional sections based on their specific roles and interests.

1.10.4. Product Scope


The software being specified is the AR Furniture platform, designed to create an interactive and
engaging augmented reality experience for furniture retailers and customers. Its purpose is to
enable retailers to showcase their furniture products virtually, allowing customers to visualize
them in real-world environments.

The AR Furniture platform offers several benefits, including increased customer engagement
and satisfaction, reduced returns due to incorrect choices, and the ability for retailers to
differentiate themselves from competitors. By providing customization options, step-by-step
instructions for assembly and maintenance, and a seamless user interface, the platform aims to
enhance the overall customer experience.

This software aligns with corporate goals and business strategies by supporting retailers in
driving sales, establishing a strong online presence, and meeting customer expectations in an
increasingly digital marketplace.

1.10.5. References
<List any other documents or Web addresses to which this SRS refers. These may include user
interface style guides, contracts, standards, system requirements specifications, use case
documents, or a vision and scope document. Provide enough information so that the reader

Faculty of CS&IT, The Superior University Lahore, Pakistan 23


Project Report: Qukify

could access a copy of each reference, including title, author, version number, date, and source
or location.

1.11. Overall Description


1.11.1. Product Perspective
The product perspective section explains that the AR Furniture platform is a new, self-contained
product without any direct relation to existing systems or product families. It provides an
augmented reality experience for furniture retailers and customers. The platform interfaces
with external components like 3D modeling software and cloud technology to enhance its
functionality. A simple diagram can be included to illustrate the major components and
interfaces of the platform.
1.11.2. User Classes and Characteristics
The user classes and characteristics section identifies the different categories of users who will
interact with the AR Furniture platform and describes their specific characteristics. This
information helps in understanding the diverse user base and tailoring the software
requirements to meet their needs effectively.

The user classes for the AR Furniture platform may include:

Customers: These are individuals who will use the platform to browse and visualize furniture
products, customize attributes, and make purchasing decisions. Customers may have varying
levels of technological proficiency and may range from casual users to avid online shoppers.

Furniture Retailers: These are businesses or individuals who will utilize the platform to
showcase their furniture products, manage their product catalogs, and interact with customers.
Furniture retailers may require administrative capabilities and access to analytics to track
product performance.

Faculty of CS&IT, The Superior University Lahore, Pakistan 24


Project Report: Qukify

IT Administrators: These are individuals responsible for managing the technical infrastructure
and ensuring the smooth operation of the AR Furniture platform. They may have expertise in
system maintenance, security, and troubleshooting.

The characteristics of these user classes can vary widely. Customers may have different
preferences and requirements for visualizing and customizing furniture products. Furniture
retailers may have specific branding and marketing strategies they want to implement through
the platform. IT administrators need technical knowledge to maintain and support the platform
effectively
1.11.3. Operating Environment
The operating environment section of the SRS describes the environment in which the AR
Furniture software will operate. It includes information about the hardware platform, operating
system, and versions, as well as any other software components or applications with which it
needs to coexist smoothly.

For the AR Furniture platform, the operating environment may include the following:

Hardware Platform:

Desktop computers/laptops
Mobile devices (smartphones, tablets)
Operating System:

Windows (versions 10 and above)


macOS (versions 10.13 and above)
iOS (versions 11 and above)
Android (versions 7 and above)
Software Components:

Faculty of CS&IT, The Superior University Lahore, Pakistan 25


Project Report: Qukify

Web browsers (Google Chrome, Mozilla Firefox, and Safari)


3D modeling software (e.g., Blender, Autodesk 3ds Max)
Cloud technology (e.g., Amazon Web Services, Microsoft Azure)
It is important to note that the specific hardware and software requirements may vary
depending on the target audience and the deployment strategy of the AR Furniture platform.
The operating environment ensures that the software is compatible with the intended devices
and software components, ensuring optimal performance and functionality.

By specifying the operating environment, the software requirements can be designed to align
with the supported platforms and technologies, ensuring a seamless user experience and
smooth integration with other software components.
1.11.4. Design and Implementation Constraints
The design and implementation constraints section outlines any factors or limitations that will
restrict the options available to the developers during the development of the AR Furniture
software. These constraints may include corporate or regulatory policies, hardware limitations,
interface requirements, specific technologies and tools, language requirements, security
considerations, and design conventions.

The design and implementation constraints for the AR Furniture project may include:

Corporate or regulatory policies: Compliance with privacy regulations, data protection laws, and
industry standards may impose constraints on the collection, storage, and processing of user
data within the AR Furniture platform.

Hardware limitations: The software must be designed to operate within the constraints of the
target hardware, such as timing requirements and memory limitations. Compatibility with
different devices, screen sizes, and processing capabilities should be considered.

Faculty of CS&IT, The Superior University Lahore, Pakistan 26


Project Report: Qukify

Interfaces to other applications: The AR Furniture platform may need to integrate with external
systems, such as e-commerce platforms or inventory management systems. Adhering to
specified interfaces and protocols is essential for seamless data exchange and functionality.

Specific technologies and tools: The use of specific technologies, tools, and databases may be
mandated by the project requirements or existing infrastructure. Compatibility and integration
with these technologies should be considered during the software design.

Security considerations: The AR Furniture platform should incorporate appropriate security


measures to protect user data, prevent unauthorized access, and ensure secure transactions.
Compliance with industry best practices and encryption standards may be required.

Design conventions and programming standards: If the customer's organization will be


responsible for maintaining the software, adherence to their design conventions and
programming standards should be followed to ensure consistency and ease of maintenance.
1.11.5. Assumptions and Dependencies
The assumptions and dependencies section of the SRS lists the factors that are assumed to be
true or relied upon during the development of the AR Furniture software. These assumptions
can affect the requirements stated in the SRS, and it is important to identify them to ensure a
shared understanding among stakeholders. Additionally, dependencies on external factors that
impact the project should be acknowledged.

Assumptions for the AR Furniture project may include:

Availability of third-party or commercial components: The SRS assumes that certain third-party
or commercial components, such as AR development platforms or 3D modeling software, will
be available and compatible with the development environment.

Faculty of CS&IT, The Superior University Lahore, Pakistan 27


Project Report: Qukify

Stable development and operating environment: The SRS assumes a stable development and
operating environment, including the availability of necessary hardware, software, and
infrastructure components required for the development and deployment of the AR Furniture
software.

Accuracy of user-provided information: The SRS assumes that users will provide accurate
information, such as furniture dimensions and customization preferences, to ensure the proper
visualization and customization of furniture products.

Dependencies for the AR Furniture project may include:

Reuse of software components: The project may depend on the reuse of certain software
components or modules from previous projects or external sources. These dependencies
should be documented and managed to ensure proper integration and functionality.

Availability of external APIs: If the AR Furniture platform integrates with external systems or
services through APIs, the project depends on the availability and proper functioning of those
APIs.

Faculty of CS&IT, The Superior University Lahore, Pakistan 28


Project Report: Qukify

1.12. External Interface Requirements

1.12.1. User Interfaces


The user interface for the AR Furniture platform should be intuitive, visually appealing, and
user-friendly. It should allow users to interact with the platform effortlessly and efficiently. This
may include:

Sample screen images: Provide visual representations or wireframes of sample screens to


demonstrate the layout and structure of the user interface.

GUI standards or style guides: Follow established GUI standards or style guides to ensure
consistency in the visual appearance and behavior of the user interface.

Screen layout constraints: Define any constraints or guidelines for the arrangement of
elements, such as buttons, menus, and navigation panels, within the screen layout.

Standard buttons and functions: Identify any standard buttons or functions that should appear
consistently across the user interface, such as help buttons, search functions, or navigation
controls.

Keyboard shortcuts: Specify any keyboard shortcuts or hotkeys that can be used to perform
common actions or enhance user productivity.

Error message display standards: Define the format and presentation of error messages to
ensure clarity and helpfulness in communicating errors or issues to users.

Faculty of CS&IT, The Superior University Lahore, Pakistan 29


Project Report: Qukify

The user interface requirements should address the software components that require a user
interface, such as the product visualization module, customization options, and assembly
instructions. The user interface specification will provide more detailed information regarding
the specific design and behavior of each component of the user interface.
1.12.2. Hardware Interfaces
The hardware interfaces section of the SRS describes the logical and physical characteristics of
each interface between the AR Furniture software product and the hardware components of
the system. It outlines the requirements for communication and data exchange between the
software and the hardware.

The AR Furniture platform may interact with various hardware components, such as:

Supported device types: Specify the types of devices that are compatible with the AR Furniture
platform, such as smartphones, tablets, or augmented reality headsets. Define the minimum
hardware specifications required for smooth operation and optimal performance.

Data and control interactions: Describe the nature of the data and control interactions between
the software and the hardware. This may include input/output mechanisms, sensor integration,
or communication with peripheral devices.

Communication protocols: Specify the communication protocols to be used for seamless


communication between the software and the hardware components. This may include
Bluetooth, Wi-Fi, or other relevant protocols.
1.12.3. Software Interfaces
The SRS should specify:

Data items or messages: Identify the data items or messages that are exchanged between the
AR Furniture software and other software components. Describe the purpose of each data item
or message and its format.

Faculty of CS&IT, The Superior University Lahore, Pakistan 30


Project Report: Qukify

Services needed: Describe the specific services that the AR Furniture software expects from the
other software components. This could include data retrieval, authentication, authorization, or
integration with external systems.

Communications: Define the nature of the communications between the AR Furniture software
and the other software components. This could involve API calls, web services, messaging
protocols, or other forms of inter-process communication.

Shared data: Identify the data that will be shared across software components and specify any
requirements or constraints related to the data sharing mechanism. For example, if a global
data area is used in a multitasking operating system, it should be mentioned as an
implementation constraint.
1.12.4. Communications Interfaces
The communications interfaces section of the SRS describes the requirements related to
communication functions required by the AR Furniture product. It covers various forms of
communication, including email, web browser, network server communications protocols,
electronic forms, and more.

The SRS should specify:

Communication functions: Identify the specific communication functions required by the AR


Furniture software, such as sending emails, accessing web services, or transferring data through
network protocols.

Message formatting: Define the format and structure of the messages exchanged in the
communication interfaces. This includes specifying any message headers, fields, or data formats
that need to be adhered to.

Faculty of CS&IT, The Superior University Lahore, Pakistan 31


Project Report: Qukify

Communication standards: Identify the communication standards that will be used, such as FTP
(File Transfer Protocol) or HTTP (Hypertext Transfer Protocol). These standards ensure
interoperability and compatibility with other systems or components.

Communication security: Specify any security or encryption requirements related to


communication interfaces. This could include the use of secure protocols (e.g., HTTPS), data
encryption, or authentication mechanisms to ensure secure communication.

Data transfer rates and synchronization: Define any specific requirements or constraints related
to data transfer rates or synchronization mechanisms between the AR Furniture software and
the communication interfaces.

1.13. System Features


The system features section of the SRS organizes the functional requirements of the AR
Furniture product based on the major services it provides. This helps to identify and categorize
the key functionalities of the software. The organization of this section can vary based on the
logical structure that makes the most sense for the specific product.

In the case of the AR Furniture project, the system features can be organized as follows:

Visualization: This feature allows users to visualize furniture products in real-world


environments using augmented reality technology. It includes functionalities such as placing
virtual furniture objects, adjusting their size and position, and providing realistic visual
representations.

Customization: This feature enables users to customize the attributes of furniture products,
such as color, texture, and materials. Users can explore different design options and personalize
the appearance of the furniture to meet their preferences.

Faculty of CS&IT, The Superior University Lahore, Pakistan 32


Project Report: Qukify

Interactive Catalog: This feature provides an interactive catalog of furniture products, allowing
users to browse and search for specific items. It includes features like filtering, sorting, and
detailed product descriptions to help users make informed decisions.

Assembly and Maintenance Instructions: This feature provides step-by-step instructions for
furniture assembly and maintenance. Users can access clear and concise instructions, including
images or videos, to assist them in assembling and maintaining their purchased furniture.

E-commerce Integration: This feature enables seamless integration with e-commerce platforms,
allowing users to directly purchase furniture products through the AR Furniture platform. It
includes features like shopping cart management, secure payment processing, and order
tracking.
1.13.1. System Feature 1
Visualization
The Visualization feature allows users to visualize furniture products in real-world environments
using augmented reality technology.
1.13.1.1. Description and Priority
The Visualization feature enables users to view furniture products in augmented reality,
superimposing them onto their physical surroundings. Users can place virtual furniture in
their rooms, allowing them to visualize how it will look and fit in their space. This feature
is of high priority as it is a core functionality of the AR Furniture platform and provides a
valuable and immersive experience for users.
1.13.1.2. Stimulus/Response Sequences
Stimulus: User selects a furniture item for visualization.
Response: The AR visualization interface is activated, overlaying the virtual furniture item
onto the user's real-world environment.

Stimulus: User adjusts the position, orientation, or scale of the virtual furniture item.

Faculty of CS&IT, The Superior University Lahore, Pakistan 33


Project Report: Qukify

Response: The virtual furniture item dynamically adjusts in real-time to match the user's
modifications.

Stimulus: User walks around or moves the device to view the virtual furniture item from
different angles.
Response: The virtual furniture item maintains its position and perspective relative to the
user's viewpoint, providing an immersive and realistic visualization experience.

1.13.1.3. Functional Requirements


REQ-SF1-1: The system should support the integration of real-time camera feed and
virtual furniture item rendering to enable AR visualization.
REQ-SF1-2: The system should accurately track the user's device motion and position to
maintain the alignment of the virtual furniture item with the real-world environment.
REQ-SF1-3: The system should allow users to interactively adjust the placement,
orientation, and scale of the virtual furniture item.
REQ-SF1-4: The system should provide visual indicators or guides to assist users in
aligning and positioning the virtual furniture item accurately.
REQ-SF1-5: The system should optimize the rendering performance to ensure smooth
and realistic visualization, even for complex furniture items.
REQ-SF1-6: The system should support a wide range of furniture categories and styles for
visualization.
REQ-SF1-7: The system should handle any errors or exceptions gracefully and provide
informative error messages to the user when necessary.

1.13.2. System Feature 2


The Customization feature allows users to personalize and customize various aspects of the
furniture items within the AR Furniture platform. Users can modify attributes such as color,
texture, material, and dimensions to create unique and personalized furniture configurations.

Faculty of CS&IT, The Superior University Lahore, Pakistan 34


Project Report: Qukify

This feature enhances the user experience by enabling them to tailor the furniture items to
their specific preferences and design requirements.
1.13.2.1. Description and Priority
The Customization feature is of medium priority in the AR Furniture project. It allows
users to personalize and modify various attributes of the furniture products, including
color, texture, material, and size. This feature enhances user engagement and
satisfaction by providing them with the ability to tailor the furniture to their specific
preferences. While customization is important for enhancing the user experience, it may
not be as critical as other core functionalities. However, it is still a valuable aspect of the
AR Furniture platform and contributes to its overall success.
1.13.2.2. Stimulus/Response Sequences
Stimulus: User selects a furniture product to customize.
Response: The customization interface is displayed, showing available customization
options.

Stimulus: User selects a color for the furniture product.


Response: The furniture product's color is updated to the selected color in real-time.

Stimulus: User adjusts the size of the furniture product.


Response: The furniture product's size is updated accordingly, maintaining its proportion
and dimensions.

Stimulus: User applies a texture or material to the furniture product.


Response: The furniture product's appearance is updated with the selected texture or
material.
1.13.2.3. Functional Requirements
REQ-SF2-1: The system should provide a user-friendly interface for customizing furniture
products.

Faculty of CS&IT, The Superior University Lahore, Pakistan 35


Project Report: Qukify

REQ-SF2-2: The system should allow users to select and apply different colors to furniture
products.
REQ-SF2-3: The system should provide options for adjusting the size and dimensions of
furniture products.
REQ-SF2-4: The system should support the application of various textures or materials to
furniture products.
REQ-SF2-5: The system should ensure that the applied customizations are accurately
displayed in real-time.
REQ-SF2-6: The system should validate and handle any invalid or unsupported
customization inputs.
REQ-SF2-7: The system should provide an option to reset or undo customizations to
revert to the original state of the furniture product.

1.13.3. System Feature 3


2.4.3.1. Description and Priority: Interactive Catalog

The Interactive Catalog feature allows users to browse and explore the available furniture
products in a visually appealing and interactive manner. It provides an immersive and engaging
experience for users to discover and select furniture items that meet their preferences and
needs. This feature is of high priority as it enhances the user experience and helps drive
customer engagement and satisfaction.

2.4.3.2. Stimulus/Response Sequences: Interactive Catalog

Stimulus: User launches the Interactive Catalog feature.


Response: The catalog interface is displayed, showcasing a variety of furniture products.

Faculty of CS&IT, The Superior University Lahore, Pakistan 36


Project Report: Qukify

Stimulus: User selects a specific category or filters the catalog by criteria such as price, style, or
room type.
Response: The catalog updates to display the relevant furniture products based on the user's
selection.

Stimulus: User clicks on a furniture product to view more details.


Response: The product details, including images, descriptions, dimensions, and pricing, are
presented to the user.

Stimulus: User interacts with the catalog, such as zooming in/out, rotating furniture items, or
viewing them from different angles.
Response: The catalog interface provides the desired interactive actions, allowing users to
explore and examine the furniture products in a dynamic way.

2.4.3.3. Functional Requirements: Interactive Catalog

REQ-SF3-1: The system should present a visually appealing and intuitive catalog interface.
REQ-SF3-2: The system should allow users to navigate and search the catalog effectively.
REQ-SF3-3: The system should provide filters and sorting options to help users refine their
search results.
REQ-SF3-4: The system should display comprehensive and accurate information about each
furniture product, including images, descriptions, dimensions, and pricing.
REQ-SF3-5: The system should support interactive features such as zooming, rotation, and
different viewing angles for furniture products.
REQ-SF3-6: The system should ensure smooth and responsive performance of the catalog
interface, even with a large number of furniture products.
REQ-SF3-7: The system should provide seamless integration with other features, such as
customization and purchasing, allowing users to transition smoothly between catalog browsing
and related actions.

Faculty of CS&IT, The Superior University Lahore, Pakistan 37


Project Report: Qukify

REQ-SF3-8: The system should handle any errors or exceptions gracefully and provide
informative error messages to the user when necessary.

1.14. Nonfunctional Requirements


1.14.1. Performance Requirements
The performance requirements for the AR Furniture system are as follows:

Real-time Response: The system should respond instantly to user interactions, maintaining a
response time of less than 500 milliseconds.

Efficient Rendering: The system should render virtual furniture items at a minimum frame rate
of 30 frames per second (FPS) for smooth visualization.

Scalability: The system should handle a large number of concurrent users and furniture items
without significant performance degradation.

Device Compatibility: The system should be compatible with various mobile devices and
platforms, optimizing performance for different specifications and screen sizes.

Network Efficiency: The system should minimize network bandwidth usage by employing data
compression and caching techniques to reduce latency.

Rationale: These performance requirements aim to ensure a seamless and immersive AR


furniture experience, enhancing user satisfaction and supporting a larger user base.
1.14.2. Safety Requirements
The safety requirements for the AR Furniture system are as follows:

Faculty of CS&IT, The Superior University Lahore, Pakistan 38


Project Report: Qukify

User Safety: The system should ensure user safety during the AR furniture visualization process,
providing clear instructions and warnings about potential hazards.

Data Security: The system should implement measures to protect user data, including
encryption, secure communication protocols, and adherence to industry standards.

Product Stability: The virtual furniture items should be stable and not cause any balance or
instability issues in the physical environment.

Compliance with Regulations: The system should meet relevant safety regulations and
standards for AR software applications.

User Awareness: The system should provide clear instructions and guidelines for safe
interaction, including precautions and suitable usage environments.
1.14.3. Security Requirements
The security requirements for the AR Furniture system are as follows:

User Authentication: Implement user identity authentication mechanisms to ensure authorized


access.

Data Protection: Employ encryption to protect user data both in transit and at rest.

Access Control: Implement mechanisms to restrict user privileges and control access to features
and data.

Secure Communication: Use secure protocols for data transmission to prevent unauthorized
access.

Faculty of CS&IT, The Superior University Lahore, Pakistan 39


Project Report: Qukify

Compliance with Regulations: Adhere to relevant security and privacy regulations, such as data
protection laws.

Security Testing and Certification: Conduct comprehensive security testing and obtain
necessary certifications.
1.14.4. Usability Requirements
The usability requirements for the AR Furniture system are as follows:

Intuitive Interface: The system should have an intuitive and user-friendly interface, making it
easy for users to navigate, interact with virtual furniture, and customize their virtual
environment.

Clear Instructions: Provide clear instructions and guidance within the system to assist users in
using the AR features, adjusting furniture settings, and exploring available options.

Responsive Design: Ensure that the system's interface is responsive and adaptable to different
screen sizes and orientations, enabling seamless usability across various devices.

Error Prevention and Recovery: Design the system to minimize the occurrence of errors,
provide meaningful error messages when they do occur, and offer a straightforward process for
users to recover from errors or mistakes.

Accessibility: Ensure that the system is accessible to users with disabilities, complying with
relevant accessibility guidelines and standards.

Performance Feedback: Provide visual and auditory feedback to users to confirm actions,
inform them of progress, and indicate the completion of tasks.

Faculty of CS&IT, The Superior University Lahore, Pakistan 40


Project Report: Qukify

1.14.5. Reliability Requirements


The reliability requirements for the AR Furniture system are as follows:

Availability: The system should be available to users with a high degree of uptime, minimizing
downtime due to system failures or maintenance activities. Aim for at least 99% availability to
ensure uninterrupted access to the system.

Fault Tolerance: The system should be designed to handle and recover from failures gracefully.
Implement mechanisms such as backup systems, data redundancy, and error detection and
recovery to minimize the impact of failures on user experience.

Data Integrity: Ensure the integrity of user data by implementing appropriate data validation
and error checking mechanisms. Prevent data corruption or loss during storage, retrieval, and
processing operations.

System Stability: The system should be stable and operate without unexpected crashes or
performance degradation. Monitor system performance, identify potential bottlenecks, and
optimize resource utilization to maintain system stability.

Disaster Recovery: Establish a disaster recovery plan to mitigate the impact of unforeseen
events or disasters. Implement backup and restoration procedures to ensure the recovery of
critical data and system functionality in the event of a failure.

1.14.6. Maintainability/Supportability Requirements


The maintainability/supportability requirements for the AR Furniture system are as follows:

Modularity: The system should be designed with a modular architecture, allowing for easy
maintenance and updates. Changes to one module should not impact the functionality of other
modules.

Faculty of CS&IT, The Superior University Lahore, Pakistan 41


Project Report: Qukify

Documentation: Provide comprehensive and up-to-date documentation, including system


architecture, code documentation, user guides, and troubleshooting resources. This
documentation should aid in system maintenance, support, and future enhancements.

Code Maintainability: Develop clean, well-structured, and commented code that is easy to
understand and maintain. Follow coding best practices and standards to facilitate code
maintenance and reduce the risk of introducing errors during updates.

Diagnostics and Logging: Implement robust diagnostics and logging mechanisms to facilitate
troubleshooting and debugging. The system should log relevant events and errors, allowing
support personnel to identify and resolve issues efficiently.

Vendor Support: Ensure the availability of vendor support for any third-party components or
libraries used in the system. This includes timely updates, bug fixes, and responsive technical
support to address any issues encountered.

1.14.7. Portability Requirements


The portability requirements for the AR Furniture system are as follows:

Cross-platform Compatibility: The system should be compatible with multiple platforms,


including iOS and Android, to reach a wider user base. It should be able to run seamlessly on
different operating systems and devices without requiring major modifications.

Device Independence: The system should be designed to work across various mobile devices,
such as smartphones and tablets, with different screen sizes and resolutions. It should adapt its
user interface and functionality to ensure optimal user experience on different devices.

Faculty of CS&IT, The Superior University Lahore, Pakistan 42


Project Report: Qukify

Data Interoperability: The system should support standard data formats and protocols to enable
interoperability with other software components or external systems. This allows for seamless
data exchange and integration with other applications or services.

Configuration Flexibility: The system should provide configuration options that allow for easy
adaptation to different environments or customer preferences. This includes the ability to
customize user interface elements, behavior settings, and integration with external systems.

1.14.8. Efficiency Requirements


The efficiency requirements for the AR Furniture system are as follows:

Resource Utilization: The system should optimize its resource usage, including memory,
processing power, and network bandwidth, to ensure efficient operation. It should minimize
unnecessary resource consumption and maximize performance while maintaining the desired
functionality.

Energy Efficiency: The system should be designed to minimize energy consumption, particularly
for mobile devices. It should optimize power usage during AR visualization, rendering, and data
transmission to extend the device's battery life and provide a sustainable user experience.

Data Storage Efficiency: The system should efficiently manage and store data related to virtual
furniture items, user preferences, and interactions. It should employ effective data compression
techniques and intelligent data storage strategies to minimize storage requirements and
optimize data retrieval.

Algorithmic Efficiency: The system's algorithms and computations should be designed to


execute efficiently, minimizing processing time and achieving optimal performance. It should
employ efficient algorithms for tasks such as rendering, collision detection, and physics
simulations to ensure smooth and responsive AR experiences.

Faculty of CS&IT, The Superior University Lahore, Pakistan 43


Project Report: Qukify

1.15. Domain Requirements


The domain requirements for the AR Furniture system are as follows:

Database Requirements: The system should have robust database management capabilities to
store and retrieve information related to furniture items, user profiles, preferences, and
transactions. It should ensure data integrity, security, and efficient data retrieval for seamless
system operation.

Internationalization Requirements: The system should support internationalization to cater to


users from different regions and languages. It should provide multilingual support, enabling
users to interact with the system in their preferred language, and accommodate localized
content and user interfaces.

Legal Requirements: The system should comply with relevant legal and regulatory
requirements, such as data privacy and protection laws. It should ensure proper handling of
user data, obtain necessary consents, and implement appropriate security measures to
safeguard user information.

Reusability Objectives: The system should be designed with reusability in mind, allowing
components and modules to be easily reused in future development projects. It should follow
modular and scalable architecture principles to promote code reuse and reduce development
effort for future enhancements or iterations.

Faculty of CS&IT, The Superior University Lahore, Pakistan 44


Project Report: Qukify

Chapter 3
Use Case Analysis

Faculty of CS&IT, The Superior University Lahore, Pakistan 45


Project Report: Qukify

Chapter 3: Use Case Analysis


This chapter focuses on the analysis of use cases for the AR Furniture system. Use cases provide
a detailed understanding of how the system will be used by different actors or users to
accomplish specific tasks or goals. The analysis involves identifying and documenting the
various use cases, their interactions, and the flow of events within each use case. Use case
diagrams, along with textual descriptions, are used to illustrate the functional requirements and
behavior of the system from a user's perspective. By analyzing the use cases, stakeholders can
gain insights into the system's functionality, user interactions, and the expected outcomes of
different scenarios. This analysis serves as a foundation for the subsequent design and
development phases of the AR Furniture system.

3.1. Use Case Model


[Paragraph Text 12 pt, Calibri, 1.5 Line Spacing, Justified]
The use case model provides a visual representation of the interactions between actors (users,
systems, or external entities) and the system itself. It illustrates the different use cases and their
relationships, forming a comprehensive view of the system's functionality. The use case model
includes use case diagrams that depict the actors, use cases, and their associations. This model
helps to identify the various user roles, their goals, and the specific actions they can perform
within the AR Furniture system. It serves as a basis for further analysis, design, and
implementation of the system's features and functionalities.

Faculty of CS&IT, The Superior University Lahore, Pakistan 46


Project Report: Qukify

3.2. Use Cases Description


In this section, the individual use cases identified in the use case model are described in detail.
Each use case provides a step-by-step narrative of a specific interaction between an actor and
the AR Furniture system. The descriptions outline the preconditions, main flow of events, and
possible alternative or exceptional flows. Additionally, the use case descriptions may include
information about input/output data, system responses, and any other relevant details. These
descriptions serve as a comprehensive guide for understanding the functionality and behavior
of the system from a user's perspective.

Faculty of CS&IT, The Superior University Lahore, Pakistan 47


Project Report: Qukify

Chapter 4
System Design

Faculty of CS&IT, The Superior University Lahore, Pakistan 48


Project Report: Qukify

Chapter 4: System Design


This chapter focuses on the system design of the AR Furniture application. It outlines the
architectural design, component design, and database design of the system. The system design
phase bridges the gap between the requirements specified in the previous chapters and the
implementation of the software. It provides a detailed blueprint for how the system will be
structured and organized, including the identification of major components, their interactions,
and the overall system architecture. The design decisions made in this chapter lay the
foundation for the subsequent development and implementation phases of the project.

4.1. Architecture Diagram

Figure1: System Architecture

Faculty of CS&IT, The Superior University Lahore, Pakistan 49


Project Report: Qukify

Figure2: Comparison of different extraction methods

Figure3: Reconstruction Model AR registration Result

4.2. Domain Model


[Paragraph Text 12 pt, Calibri, 1.5 Line Spacing, Justified]
The domain model is a conceptual representation of the key entities and relationships within
the problem domain of the AR Furniture system. It provides a high-level view of the objects,
their attributes, and the associations between them. The domain model helps in understanding
the structure and behavior of the system by identifying the main concepts and their
interactions. It serves as a communication tool between stakeholders, providing a shared
understanding of the domain and supporting the design and implementation of the system. The
domain model acts as a foundation for developing the system's architecture and guides the
creation of detailed design artifacts.

Faculty of CS&IT, The Superior University Lahore, Pakistan 50


Project Report: Qukify

4.3. Entity Relationship Diagram with data dictionary

4.4. Class Diagram

In this simplified Class Diagram, we have several classes: User, FurnitureItem, and
ShoppingCart. The User class represents a user of the system and has attributes such as UserID,

Faculty of CS&IT, The Superior University Lahore, Pakistan 51


Project Report: Qukify

Name, Email, and Password. The FurnitureItem class represents a furniture item and has
attributes like ItemID, Name, Description, and Price. The ShoppingCart class represents a user's
shopping cart and has attributes such as CartID, UserID, ItemID, and Quantity.

4.5. Sequence / Collaboration Diagram

A sequence diagram is a type of interaction diagram that shows the sequence of messages
exchanged between objects or components in a system. It illustrates the flow of interactions
and the order in which messages are sent and received.

A collaboration diagram, also known as a communication diagram, is another type of


interaction diagram that emphasizes the structural organization of objects or components and
the messages exchanged between them. It focuses on the relationships and interactions
between the objects rather than the sequence of messages.

Faculty of CS&IT, The Superior University Lahore, Pakistan 52


Project Report: Qukify

4.6. Operation contracts


Operation contracts for the AR Furniture system are used to specify the expected behavior and
effects of operations within the software. They provide a clear and precise description of the
preconditions, post conditions, and invariants associated with each operation, ensuring the
correct execution and consistent behavior of the system.

For example, the operation contract for the "Place Furniture" operation may include the
following elements:

Preconditions: The preconditions for the "Place Furniture" operation may include verifying that
the selected furniture item is available in the catalog, the user has provided valid input for the
placement coordinates, and the AR environment is properly initialized.

Postconditions: The postconditions for the "Place Furniture" operation may specify that the
selected furniture item is correctly placed in the AR environment, the visual representation of
the furniture item is rendered to the user, and the system updates the furniture inventory to
reflect the placed item.

Invariants: The invariants for the "Place Furniture" operation may define constraints such as
ensuring that the placed furniture item does not intersect with any other objects in the AR
environment, the furniture item remains in the same position unless moved by the user, and
the system maintains the accuracy of the AR tracking and rendering.

By defining operation contracts for each operation in the AR Furniture system, the
documentation ensures that developers, testers, and stakeholders have a shared understanding
of the expected behavior and effects of the operations. This facilitates testing, verification, and
validation of the system, as well as aids in maintenance and future enhancements by providing
clear specifications for the operations.

Faculty of CS&IT, The Superior University Lahore, Pakistan 53


Project Report: Qukify

4.7. Activity Diagram

The activity diagram provides a visual representation of the flow of activities within the AR
Furniture system. It illustrates the sequence of steps and decisions involved in placing virtual
furniture in an augmented reality environment. The diagram captures the overall process and
can show concurrency, decision points, and parallel activities. It helps stakeholders understand
and analyze the system's behavior, identify potential improvements, and facilitate effective
communication between designers and developers.

Faculty of CS&IT, The Superior University Lahore, Pakistan 54


Project Report: Qukify

4.8. State Transition Diagram

The state transition diagram represents the different states and transitions that an object or
system can undergo in response to events or stimuli. In the context of the AR Furniture system,
the state transition diagram visualizes the various states and transitions that occur during the
lifecycle of a furniture item. It shows how the item transitions between different states based
on user interactions or system events. The diagram helps in understanding the behavior and
control flow of the system, enabling designers and developers to identify potential edge cases,
define error handling procedures, and ensure the correct and efficient functioning of the AR
Furniture system.

Faculty of CS&IT, The Superior University Lahore, Pakistan 55


Project Report: Qukify

4.9. Component Diagram

A component diagram provides a visual representation of the high-level structure and


interconnections of the components within a system. In the case of the AR Furniture system,
the component diagram illustrates the different software and hardware components that make
up the system and their relationships. It shows how these components interact and
communicate with each other to fulfill the functionalities of the system. The component
diagram helps in understanding the overall architecture and organization of the system,
facilitating the identification of dependencies, reusability of components, and potential areas
for optimization or modification.

Faculty of CS&IT, The Superior University Lahore, Pakistan 56


Project Report: Qukify

4.10. Deployment Diagram

A deployment diagram illustrates the physical deployment of software components and their
relationships in a system. As a text-based AI model, I'm unable to create visual diagrams
directly. A deployment diagram illustrates the physical deployment of software components
and their relationships in a system. As a text-based AI model, I'm unable to create visual
diagrams directly.

Faculty of CS&IT, The Superior University Lahore, Pakistan 57


Project Report: Qukify

4.11. Data Flow diagram

Level 0 DFD:
The Level 0 DFD provides an overview of the system's high-level processes and their
interactions. It represents the system as a single process and external entities that interact with
it.
Level 1 DFD:

Faculty of CS&IT, The Superior University Lahore, Pakistan 58


Project Report: Qukify

The Level 1 DFD breaks down the high-level process from the Level 0 DFD into more detailed
subprocesses and shows the data flows between them.

Faculty of CS&IT, The Superior University Lahore, Pakistan 59


Project Report: Qukify

Chapter 5
Implementation

Faculty of CS&IT, The Superior University Lahore, Pakistan 60


Project Report: Qukify

Chapter 5: Implementation

5.1. Important Flow Control/Pseudo codes


import React from 'react';
export default class TabList extends React.Component {
state = {
active: 0
};
render() {
return (
<div>
<a className="tab" href="#" onClick={this.handleChangeTab(0)}>Hot
Deals</a>
<a className="tab" href="#" onClick={this.handleChangeTab(1)}>Featured</a>
<a className="tab" href="#" onClick={this.handleChangeTab(2)}>Porn</a>
{this.renderActiveTab()}
</div>
);
}
handleChangeTab(index) {
return () => {
this.setState({ active: index });
};
}
renderActiveTab() {
switch(this.state.active) {
case 0:
return <Component />
case 1:
return <Component />
case 2:
return <Component />
}
}
}

Faculty of CS&IT, The Superior University Lahore, Pakistan 61


Project Report: Qukify

5.2. Components, Libraries, Web Services and stubs


Components:
Includes Home Page, Products Page, Login Page, Sign Up Page, Contact Page.
Libraries:
Includes React, Swal, Google AR, React Bootstrap, Simple Bootstrap, Media Queries.
Web Services:
Github, Vercel, Netlify.

5.3. Deployment Environment


Netlify, Vercel.

5.4. Tools and Techniques


Belle. Belle is a set of easy to use configurable React components. BIT. ...
Create React App.
Evergreen.
Gatsby.
Jest. Facebook created this JavaScript testing framework to test React components.
React 360.
React Proto.

5.5. Best Practices / Coding Standards


Keep component creation to a minimum.
Use a linter.
The code should be testable.
DRY your code.
Use more robust managers to manage application state, such as Redux.
Use defaultProps and propTypes.
File structure.

Faculty of CS&IT, The Superior University Lahore, Pakistan 62


Project Report: Qukify

Use stateful function-based components by starting to use React Hooks.

5.6. Version Control


Github, Gitlab.

Faculty of CS&IT, The Superior University Lahore, Pakistan 63

You might also like