View on GitHub

SolvAR-Documentation

Requirements Specification for SolvAR

1. Introduction

1.1 Purpose of Product

A one-paragraph description of your product’s purpose.

The purpose of SolvAR is to provide a mobile application that can display the location of select objects of interest in augmented reality. SolvAR takes away the guesswork from finding lost belongings that are in close proximity, as it displays the direct location of the object.

1.2 Scope of Product

A short description of your product’s scope (what it includes and what it does not include). Part of your problem statement might be useful here, but focus on the scope of the product.

Our project will be an Android application that is build in Unity 3D that will display the emulated location of select objects in augmented reality. The scope of this project covers the emulation of location from a bluetooth tracker, as well as building the scene, prefabs, and scripts in Unity to design the augmented reality experience and user interface. This project does not include the actual integration of a bluetooth tracker to the app.

1.3 Acronyms, Abbreviations, Definitions

Any important terms that are required to understand your project documents.

AR - augmented reality

1.4 References

Any external references needed to understand your project documents. Use URL links if possible.

AR Foundation 2.2 Documentation - https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@2.2/manual/index.html

2. General Description of Product

This section contains a longer but not exhaustive description of your product.

2.1 Context of Product

Context or environment that your product will be in.

Our product will be an Android mobile app for AR Core-compatible phones used in the context where users have lost an object.

2.2 Domain Model with Description

Display and describe your domain model.

We emulate objects and store their location data in an X,Y,Z format, along with the object’s rotation, in a json file between SolvAR sessions using a json utility. This allows objects to be rendered live in an AR scene using the user’s preferences. The app will also have a registration wizard that allows users to store their preferences for their unique objects.

2.3 Product Functions (general)

The application will be used to emulate a bluetooth transmitter attached to an object of the user’s choice, i.e. keys, phone, wallet, etc. The position of the object will then be rendered in an augmented reality environment projected by the users’ phones.

2.4 User Characteristics and Expectations

Describe your users and their abilities. Our users are mobile phone users that are able to navigate simple menus.

2.5 Constraints

Phones must be compatible with AR Core and have Android 11 or greater.

2.6 Assumptions and Dependencies

Does your system depend on external software packages? System assumptions? If so, describe them.

Our system depends on Unity’s ARFoundation, AR Core, Android 11 or later.

3. Functional Requirements

In a standard requirements document, you would have a LONG list of functional requirements here. You should put a link to your user story page here. https://github.com/RustyRaptor/SolvAR-Documentation/blob/gh-pages/userstories.md

4. System and Non-functional Requirements

4.1 External Interface Requirements (User,Hardware,Software,Communications)

Describe what kinds of interfaces your product has, and what they do. Then list specific requirements using item numbers as NF.4.1.X.

The product has a user interface that manages the user’s current experience and the user’s preferences for objects. The product must also manage emulated locations in Unity with AR Foundation.

4.2 Performance Requirements

Describe your product’s performance needs. Then list specific requirements using item numbers as NF.4.2.X.

To have satisfactory performance, SolvAR needs to display objects in AR space within a reasonable margin of error and to update the location of the objects with a reasonable frequency. SolvAR supports one user at a time.

4.3 Design Constraints

Describe external requirements that will constrain your design choices. Then list specific requirements using item numbers as NF.4.3.X.

External requirements that constrain our design choices include lack of access to compatible Android devices and limited version control in Unity.

4.4 Quality Requirements

What quality expectations do your users have? Is your system life-critical? Describe such issues, then list specific requirements using item numbers as NF.4.4.X.

Our system is not life critical. Quality expectations from our users are that SolvAR is user friendly, that it can show the position information and object information in a useful way and understandable, and accurate and timely position info. This product will require minimal training.

4.5 Other Requirements

Anything else you need to say. Use item numbers NF.4.5.X.

5. Appendices

N/A