WRS
Project Phase 2 - FINAL
Title: Theia - Navigating indoors for the visually impaired people
Vision Document Link
Presentation Link
Mockup Link
Questionnaire Link
Team Members:
Adit Shah (axs190336)
Meet Chanchad (mxc210021)
Jeel Patel (jpp210001)
Aditya Veer (axv210087)
Anushruti Singh (axs220183)
Mayank Goyani (mxg200078)
Team URL: https://cs6361.meetc.dev
Date: 05/04/2023
Revision History
Version | Date | Description | Author(s) |
Vs 1.0 - Preliminary Project Plan | 01/26/2023 | First draft of the project for preliminary project plan | Jeel, Adit, Meet, Anushruti, Aaditya and Mayank |
Vs 2.0 - Final Project 1 | 03/28/2023 | Second draft of the project with mockup and WRS document development | Jeel, Adit, Meet, Anushruti, Aaditya and Mayank |
Vs 3.0 - Interim Project 2 | 03/18/2023 | Third draft for interim project 2 with minor additions | Meet, Jeel, Adit, Aaditya, Anushruti and Mayank |
Vs 4.0 - Final Project 2 | 05/04/2023 | Third draft for interim project 2 with minor additions | Anushruti, Meet, Adit, Jeel, Aaditya and Mayank |
Process (team members, roles, team leaders, meetings, input, activities, output, resources,…)
We held weekly meetings where the entire group would come together and talk about ideas, features, FRs, and NFRs for the final stage of our project. The purpose of these meetings was to identify problems with the deliverables of interim project 2 and to negotiate and systematically choose the best option for future development of the THEIA app and repairs to these problems. We made the decision to use the time in between sessions to collect more problems on an individual basis and discuss potential solutions at the meetings.
The team's first efforts to better understand the Preliminary Project Plan, which served as the basis for the creation of the Theia Project's software, are captured in this document, along with the outcomes of those efforts. It details the issues that were encountered, the solutions that were considered to address them, the final decisions that were made, and the reasoning for each decision.
This document describes a smartphone app that enables a blind people to navigate indoors. The primary function of the application is to provide directions/voice commands to the user while navigating indoor spaces. As blind person who needs to move from one location to another location within a building faces challenges. The safety of the user would be one of the primary concerns of this app. For instance, If the user meets with an accident, the application will assist in an emergency.
As smartphones have become so commonplace in recent years, the program specifically targets that market. The users will find this application more helpful than the present traditional assistance because they might not need to buy new gadgets.
OS: Operating System
Android: The operating system utilized by a large portion of the smartphones.
IOS: The operating system primarily used by Apple devices .
Theia: Greek Goddess of Vision.
PPP: Preliminary Project Plan
Caretaker: An assistive person available to the blind( person with impaired vision) at the time of need.
GPS: Global Positioning System
Sensors: Any additional sensory devices installed into or connected the smartphone which may be used by the application throughout its operation.
Auditory: Related to the hearing senses or including audio.
ADA: The Americans with Disabilities Act.
This paper's introduction provides an overview of the goals, parameters, and acronyms used throughout the body of the document. A summary of what to expect in the rest of the document is also provided in the first section. The concerns detected and judgments made will be listed in the second section, along with their justifications. These issues were discovered in the early requirements definition document for this project.This section will be followed by the team's enhanced comprehension of the specification of the preliminary requirements. The fourth section of the materials gives a thorough explanation of the prototyping development. The traceability of the identified needs is provided in the fifth section. The last section gives inventory of sources/references used.
2. Issues with Preliminary Definition Given (ambiguities, incompleteness, inconsistency, conflicts, ...)
2.1 Issues with II.1 The Domain, Stakeholders, Functional and Non-Functional Objectives
2.1.1 Issue-1: Ambiguous definition of the blind person (Unsighted).
Issue Description: According to the preliminary definition, a blind person is the main stakeholder. However, the severity of the deficiency is not considered. Just color blindness, partial blindness, or total blindness are all possible. The individual could have developed blindness later in life or could have been born blind.
Options:
Decision and Rationale : The software must support users with all degrees and types of blindness. Any stakeholder who has vision impairments is permitted to utilize the application.
2.1.2 Issue-2: Ambiguous definition of the building/part of the building to be navigated by the application.
Issue Description: What areas of the building will be covered by the application are not specified in the preliminary definition. Furthermore, the application does not make it clear which spaces and rooms it covers.
Options:
Decision and Rationale: The ground floor of the connecting sections of the ECSS and ECSN building must fit inside the app. Given that there is a clear path between the ECSS and ECSN buildings, the application's complexity will be controllable. All of the restrooms, labs, lecture halls, auditoriums, sitting areas, and lounges in the aforementioned building locations will be covered by the application. Since it would be challenging for both the smartphone and the user to determine their current floor, we decided against supporting multiple floors.
2.1.3 Issue-3: Ambiguous definition of the secondary stakeholders
Issue Description: The personnel involved in setting up the app or responding to emergencies are not specified in detail under the preliminary definition.
Options:
Decision and Rationale: The following parties will be considered secondary stakeholders in this project:
2.1.4 Issue-4: Ambiguous definition of input method.
Issue Description: The definition of the non vision based input and interaction medium with the app is not clearly defined.
Options:
Decision and Rationale: The application will utilize both the methods and provide redundancy. In case of either one of them fails, the user will still be able to communicate with the application.
2.1.5 Issue-5: Incomplete specification of the languages that the user will be able to interact with the system.
Issue Description: What languages will be supported by the application for user interaction is not explicitly stated in the specification.
Options:
Decision and Rationale: The application will utilize both options II and III and allow the user to select a language at the time of setup and changeable anytime through the settings menu.
2.2 Issues with II.2 Software System Requirements: Functional Requirements
2.2.1 Issue-1: Incomplete definition of how the user enters the destination location.
Issue description : Here, the method by which the app accepts the destination location is not made explicit. Additionally, it is stated that the app may use the user's regular schedule, but what if the user wants to visit a different location than their regular one? Would the user be able to look for a specific location to go to?
Options:
Decision and Rationale: A combination of all the options. The user shall use the recommendation or they can opt to enter some other location manually.
2.2.2 Issue-2: Ambiguity on how the routes will be calculated and curated to the user. How these routes will be selected by the user.
Issue description : The user will be presented with an undetermined number of options for potential routes to the destination. how much power the app or user will have to choose the optimal path. Will the user's choices be taken into consideration in the computation.
Options:
Decision and Rationale:
Since it is indoor navigation, the user would benefit most from the best path option. The application will start giving the user navigation instructions as soon as they enter a specific destination.
2.2.3 Issue-3: Incomplete definition of how the instructions will be provided to the user while navigating.
Issue description : The original definition claimed that it would help users by giving them routes based on their location. However, it is not stated how the users will be informed of these instructions. It is not specified whether or not the numerous sensors and actuators integrated within cell phones will be utilized. Additionally, it is not yet clear how these sensors will be used.
Options :
Decision and Rationale:
The best option will be use the haptics, sound
2.2.4 Issue-4 Ambiguity in how calls will be placed in case of an emergency.
Issue description : Emergency calls and messages will be triggered possibly after detecting a fall or when the system cannot figure out the current location. The user should also be able to place an emergency call manually if they encounter an emergency situation.
Options :
I. Ring a loud alarm on the app to alert the surroundings and bring it to attention.
II. Users can dial 911 availability as well.
Decision and Rationale:
2.2.5 Issue-5: Figuring out what would be the next action, based on the user’s habit.
Issue description : What should be done next in this situation is unclear; should the user take the steps the app suggests while navigating, or should it predict and suggest where they should go next based on their schedule?
Options:
Decision and Rationale: The mobile app would use previous locations, chosen destinations, GPS position, and best path calculation to deliver personalized suggestions and navigation directions with prompts.
2.3 Issues with II.3 Software System Non-Functional Requirements
2.3.1.Issue-1: Redundancy in input methods.
Issue description: It is important that special attention is paid on user experience because most potential users may have difficulty with their eye sight of various degrees and it should incorporate features that make it easy to use.
Options :
Decision and rationale:
A combination of all the proposed solutions will be implemented to provide the user a good user experience.
2.3.2 Issue-2: Configurability: Are the blind people able to configure the app by themselves?
Issue Description: According to the preliminary definition, some secondary stakeholder might involve setting up basic configuration of the app. But, what if the caretaker is not available with the blind person for the initial configuration of the app and account. What is the level of interaction and intervention we expect the caretaker to be involved at ?
Options:
II. By using the voiceover (using accessibility) feature of the smartphone, blind people can configure the app by themselves.
Decision and Rationale: The app shall accommodate both the options as we discussed blind person should be able to configure the app by themselves and using the caretakers app. If the caretaker is available, then configuration time will be saved.
2.3.3 Issue-3: What is “safety” and “comfortability” in the context of indoor navigation?
Issue Description: To provide safe and comfortable navigation, we have to add some way to detect and alert the blind person about obstacles like a person, maintenance cart, tables, chairs, etc. Hence, we have to support object detection and for that the user needs to hold the device such that the rear camera is pointing towards the path the user is going.
Options:
Decision and Rationale: By making use of cameras of the smartphone, the system shall provide object detection and the application can assist users about objects which are on their way by voice commands.
2.3.4 Issue-4: User preferences - Customizability
Issue description: A user must be able to set the configurations of the application according to their convenience.
Options:
I. Allowing the user to customize elements like languages for both user input and the system output.
Ii. Having rigid configurations made assuming one set of choices based on the majority of the users.
Decision and rationale
Going with option 1 and enabling the user to pick from multiple languages
2.3.5 Issue-5: Security: User’s phone is lost or misplaced.
Issue description: For instance, if the user has misplaced the phone, to avoid the misuse of the user information if the device is found by someone else, and disable anybody besides the user and the caretaker to access the emergency contact.
Options:
I. The application may authenticate the user based on the biometrics at regular intervals
II. The application may use voice recognition to identify the bona fide user.
III. The application may request for the user credentials every time it is to be used.
IV. The application may authenticate the user based on the biometrics when accessing or editing some personal or emergency contact information.
Decision and rationale:
A combination of option 2 and 4 will be implemented. The second option is the most feasible because having to authenticate the user constantly via biometric will need the user to hold the phone in their hands at all times, and asking to type in the user credentials conflicts with the ease of usability of the project. Voice recognition is the best solution because it will allow you to have your hands free.
2.3.6. Issue-6: User meeting with an accident - safety
Issue description: In case the app detects an accident, then how to know if it was a genuine one or a false alarm and how to handle both cases?
Options:
I. send out an alarm to the emergency contact selected by the user and/or the ambulance.
II. Ring a loud alarm on the app to alert the surroundings and bring it to attention.
III. If the app detects that the user fell down, it will give a prompt to the user to call the emergency contact.
Decision and rationale : The best option will be to provide the prompt and default to calling the emergency contacts and giving the option to the user to cancel it within a timeout if an accident is detected by the device.
3. WRS
3.1 W
3.1.1 Problem
Navigating indoors can be very challenging for those who have poor vision or none at all. When you try to enter a crowded hallway, this issue becomes even more noticeable. Keeping up with obstacles and remaining on the right road can be an extremely difficult, risky, and intimidating undertaking. Additionally, relying solely on the braille markings on door entrances can make it very challenging for a blind person to find their way back.
3.1.2 Goal
Our aim is to develop a smartphone software that offers a very simple and user-friendly means of aiding the blind and visually handicapped. using the mobile device's touch screen, button presses, auditory input, and haptic and auditory output. With the use of this app, blind people's indoor navigational challenges should be reduced.
3.1.3 Improved understanding of II.1 The Domain, Stakeholders, Functional and
Non-Functional Objectives
3.2 RS
3.2.1 Functional RS – Improved understanding of II.2 Software System Requirements: FRs
3.2.2 Non-functional RS - Improved understanding of II.2 Software System Requirements: NFRs
4. Preliminary Prototype and User Manual
5. Traceability (both forward and backward; among W, FRS and NFRS; and also possibly between before and after)
Requirement ID | Requirement category | Issue ID | Issue category |
DRS1 | Domain Requirement | 2.1.1 | Domain issue |
DRS2 | Domain Requirement | 2.1.2 | Domain issue |
DRS3 | Domain Requirement | 2.1.3 | Domain issue |
DRS4 | Domain Requirement | 2.1.4, 2.2.1, 2.3.1 | Domain ,functional and non-functional issues |
DRS5 | Domain Requirement | 2.2.4, 2.3.3, 2.3.6 | Functional and Non-functional issue |
FRS1 | Functional Requirement | 2.1.4, 2.2.1 | Domain and Functional issue |
FRS2 | Functional Requirement | 2.2.5 | Functional issue |
FRS3 | Functional Requirement | 2.2.3 | Functional issue |
FRS4 | Functional Requirement | 2.1.3, 2.2.4, 2.3.3, 2.3.6 | Domain ,functional and non-functional issues |
FRS5 | Functional Requirement | 2.2.1, 2.2.2 | Functional issue |
FRS6 | Functional Requirement | 2.2.2, 2.2.5 | Functional issue |
FRS7 | Functional Requirement | 2.2.4, 2.3.3, 2.3.6, | Functional and Non-functional issue |
FRS8 | Functional Requirement | 2.3.5 | Non-functional issue |
FRS9 | Functional Requirement | 2.2.3, 2.3.3 | Functional and Non-functional issue |
FRS10 | Functional Requirement | 2.2.5 | Functional issue |
FRS11 | Functional Requirement | 2.1.1, 2.1.3, 2.1.5, 2.3.2, 2.3.4 | Domain and non-functional issues |
NFRS1 | Non - Functional Requirement | 2.1.4, 2.2.1, 2.3.1 | Domain ,functional and non-functional issues |
NFRS2 | Non - Functional Requirement | 2.1.5,2.3.2 | Functional and non-functional issues |
NFRS3 | Non - Functional Requirement | 2.2.3, 2.2.4, 2.3.3, 2.3.6 | Functional and non-functional issues |
NFRS4 | Non - Functional Requirement | 2.1.4, 2.2.1, 2.3.1 | Domain ,functional and non-functional issues |
NFRS5 | Non - Functional Requirement | 2.1.5, 2.3.2, 2.3.4 | Domain and non-functional issues |
NFRS6 | Non - Functional Requirement | 2.1.3, 2.2.1, 2.2.2, 2.2.3, 2.2.5, 2.3.1, 2.3.2, 2.3.3, | Domain ,functional and non-functional issues |
NFRS7 | Non - Functional Requirement | 2.2.2, 2.2.5 | Functional issue |
NFRS8 | Non - Functional Requirement | 2.3.5 | Non -functional issue |
ID | NFRS1 | NFRS2 | NFRS3 | NFRS4 | NFRS5 | NFRS6 | NFRS7 | NFRS8 |
FRS1 | X | X | ||||||
FRS2 | X | X | X | |||||
FRS3 | X | X | X | |||||
FRS4 | X | |||||||
FRS5 | X | X | ||||||
FRS6 | X | |||||||
FRS7 | X | |||||||
FRS8 | X | |||||||
FRS9 | X | |||||||
FRS10 | X | |||||||
FRS11 | X |
References: