Project Report Augmented Reality
Project Report Augmented Reality
Session 2020-2024
BS in Software Engineering
Area of specialization
FYP ID
Project Group Members
[email protected]
BSEM-S20-
(i) 017
Qutab Ishaq
*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
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
PROJECT SUPERVISOR
Comments: ___________________________________________________________________
_____________________________________________________________________________
Name:______________________________
Date:_______________________________ Signature:__________________________
PROJECT MANAGER
Comments: ___________________________________________________________________
_____________________________________________________________________________
Date:_______________________________ Signature:__________________________
Date:_______________________________ Signature:__________________________
Dedication
I am forever grateful to each and every one of these individuals for their
contributions to my personal and professional growth.
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.
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.
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
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
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
List of Tables
Chapter 1
Introduction
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.
these challenges and highlights the potential of augmented reality to overcome these
limitations.
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
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.
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.
Chapter 2
Software Requirement
Specifications
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.
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
could access a copy of each reference, including title, author, version number, date, and source
or location.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
In the case of the AR Furniture project, the system features can be organized as follows:
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.
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.
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.
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.
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.
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.
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 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.
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.
REQ-SF3-8: The system should handle any errors or exceptions gracefully and provide
informative error messages to the user when necessary.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Chapter 3
Use Case Analysis
Chapter 4
System Design
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,
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.
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.
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.
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.
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.
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.
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:
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.
Chapter 5
Implementation
Chapter 5: Implementation