SOFTWARE REQUIREMENTS AND DESIGN SPECIFICATION Electromechanical Self-Driven Intelligent Rover (ESDIR) 4RoboTech Eyerusalem Girma, Brandon Ramadan, Terriron Fields, Asa Rogers 11/07/23 Table of Contents Planning …………………………………………………………………... 3 Software Requirement List ………………………………………………. 4 Requirement Workflows ……………………………………..…………… 4 UI Design ……………………………………………………..…..……... 7 Database Design …………………………………………………..…….. 12 Process Design …………………………………………………..………. 13 Implementation ……………………………………………..…..……….. 14 Unit Testing ………………………………………………….…..………. 14 System Testing …………………………………………………..………. 14 Appendices …………………………………………………..…..……….. 14 2 1. Planning 1.1 PROJECT DETAILS a. b. c. 1.1.1 Project Title: ESDIR - The Electromechanical Self-Driven Intelligent Rover 1.1.2 Team Name: 4RoboTech 1.1.3 Time frame: 6 – 8 Months 1.2 Project Summary d. A) Background and Justification: 1.2.1 Numerous universities are actively engaged in research related to autonomous delivery robots. The robots are designed to autonomously navigate the campus, typically heading to on-campus cafeterias or restaurants to pick up food orders and transport them to designated drop-off locations. Our team is also working towards this goal. We will develop a robot capable of efficiently maneuvering through a maze, avoiding obstacles(objects) and people while reaching its intended destination. We will also build a user-friendly web application with robust user authentication features. This platform will enable users to submit delivery requests by selecting their desired destination from a pre-defined list of campus buildings, each linked to specific GPS locations. Admins will have the ability to add GPS locations to the list. B) Project Objectives 1.2.2 Robot will travel from one location to another. 1.2.3 The user will select a building from a premade list of available Buildings as a key, value as the coordinates of that building. 1.2.4 1.2.5 The list will be a column saved in a database. . 1.2.6 A secondary tool will allow administrators to add new buildings and their corresponding GPS coordinates to the database. 1.2.7 Users must register and log in before using the robot. 1.2.8 Two-factor authentication will be implemented to secure user logins. 1.2.9 Robot utilizes machine learning to detect objects as it moves to selected locations. 1.2.10 In the event the robot starts, it will send a signal to notify users it has reached a point where it cannot move past. 1.2.11 A feature that allows it to return. 1.3 Project Methodology 1.3.1 Project Approach 1.3.2 Work Breakdown and Task Estimates 1.3.3 Project Deliverables 3 1.4 Project Risk Management 1.4.1 Prevent thieves from robot 1.4.2 Stop Robot from falling into lake 1.4.3 Stop robot from going into the grass 1.4.3 Don’t run into people 1.4.4 Don’t run into the road if a car is coming 1.5 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 2. Milestones 1.5.1 Website is built 1.5.2 Command message sent to robot Robot moves Navigation Live Map shows up of robots position Object detection Cliff avoidance 2. Software Requirements List i.2.1 React Framework ii.2.2 Programming Languages 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.1 HTML CSS JavaScript Python MySql Node.JS 3. 3. Requirement Workflows a. 3.1 ESDIR’S Workflow i. 3.1.1 Build Robot Put all the components together and ensure it functions properly 3.1.2 Build Webpage 4 Complete the design of the web page ■ Define the workflow that completes this 4. Gather requirements 5. Draw a design 6. Showcase the design to teammates 7. if the design does not meet requirements, go to step 2, else done. 3.1.3 Build about page ■ Define the workflow that completes this 1. Gather Information about the robot and team members ○ Team background, Robot timeline 2. Ensure information is fully updated in correspondence with current events 3. If information is not concurrent to events, go to step 2, else done 3.1.4 Build Login page ■ Define the workflow that completes this 1. Gather user information ○ username, password 2. Ensure user input and then accept 3. Direct it into HOME page 3.1.5 Build registration page ■ Define the workflow that completes this 1. Build registration page 2. Gather and Store user information ○ Student email, username(With requirements), phone number ○ Password (With requirements) 3. Build a save button that saves information in the database. 3.1.6 Build home page ■ Define the workflow that completes this 1. Gather all the other necessary workflow requirements onto Home page ○ Registration page, About page, Cart page 2. Build design 3. Showcase design to team members 4. If home page design does not meet requirements, repeat step 2, else done 5. If other link is clicked go directly to corresponding link ○ Registration page, About page, Cart page 3.1.7 Build cart page ■ Define the workflow that completes this 1. Build cart page 2. Gather information about everything the user is having delivered. Making a list of products to showcase to the user. 3. Having a checkout button for confirmation of order (this starts delivery) 5 3.1.8 Program Robot connect the controls from the web page to the robot ■ Define the workflow that completes this 1. Ensure robot is programmed properly to receive instruction from the webpage 2. If robot is not corresponding with webpage instruction, repeat step 1, else done 3.1.9 Workflow requirements REQ # Input and Output Artifacts REQ # Identification of key phase and activities REQ # Task dependency and relationship REQ # Roles and reponsibilities i.3.2 Workflow Diagram 8. 4. UI Design a. 4.1 About Page 4.1.1 The about page tells the user about our product and mission statement. The navbar holds the button, which enables the navigation between pages. This UI satisfies the following Requirements: 6 REQ # Presentation REQ # Mission REQ # Accessible/ Simplicity REQ # Security 4.1.2 UI Screenshot 4.1.3 The UI Detailed Description Field Name Type Purpose and/or Action(s) to Perform Navbar container Hold the navigation buttons About Button Navigates back to the about page Login Button Log the user in Mission Label About 7 Field Name Type Purpose and/or Action(s) to Perform Navbar container Hold the navigation buttons About Button Navigates back to the about page Click Start Button Navigates to the next page (Login page) 4.2 Home Page 4.2.1 The home page holds the controls for the robot, enabling user to submit delivery requests for their specific location. There is a map on the right showing the live position of the robot. Meanwhile, the navigation buttons on the top enable movement between pages and user signout. This UI satisfies the following Requirements: REQ # Presentation REQ # Mission REQ # Accessible/ Simplicity REQ # Security 4.2.2 UI Screenshot 8 4.2.3 The UI Detailed Description Field Name Type Purpose and/or Action(s) to Perform About Button Navigates back to the about page Home Button Navigates back to the home page Logout Button Sign the user out Robot Control Container Tells the robot where the pickup and dropoff locations are Live Map Container Shows the current location of the robot on a map 9 4.3 Cart Page 4.3.1 The cart page holds the items for the specific user, allowing user to both remove items and add special drop-off instructions. This UI satisfies the following Requirements: REQ # holds the items the user request REQ # button navigate between pages REQ # handles user logout 4.3.2 UI Screenshot 4.3.3 The UI Detailed Description Field Name Type Purpose and/or Action(s) to Perform Navbar container Hold the navigation buttons Home Button Navigates back to the home page 10 About Button Navigates back to the about page Logout Button Sign the user out 4.4 Login Page 4.4.1 This UI is designed to register and authenticate users. There will be a pop up if they are not a registered user. The navbar holds the button, which enables the navigation between pages. This UI satisfies the following Requirements: REQ # Navigate back to About page REQ # register user REQ # logins user in 4.4.2 UI Screenshot 4.4.3 The UI Detailed Description 11 Field Name Type Purpose and/or Action(s) to Perform Navbar container Hold the navigation buttons About Button Navigate back to the about page username input Accepts username/email password input Accepts password submit Button Captures the username & password, then checks if they match an existing user 9. 5. Database Design a. 5.1 Login Table i.5.1.1 Description ii.The database will be used to hold user authentication information. Related Requirements: REQ # store password REQ # store email REQ # store first name REQ # store last name REQ # store columnID 5.1.2 Constraints: password: must be 9 characters, 1 uppercase, 1 lowercase, and special character(@, !, #, $, %, &, *) email: must be a valid email address(@gmail.com, etc.) firstName: must be less than 50 characters lastName: must be less than 50 characters 12 5.1.3 Table Detailed Descrption Column Name Type password email firstName lastName columnID String column String column String column String column Integer PK\FK DescriptionPurpose and/or Action(s) to Perform PK The user’s password The user’s email The user’s first name The user’s last name The index of the row 5.2 Cart Table iii. 5.2.1 Description The database will be used to store user's email and the ordered item Related Requirements: REQ # store email REQ # store item REQ # Stores ColumnID 5.2.2 Constraints: email: must be a valid email address(@gmail.com, etc.) and appear in the Login_Table iv. 5.2.3 Table Detailed Description Column Name Type email item columnID String column String column Integer PK\FK DescriptionPurpose and/or Action(s) to Perform PK Indentfies user’s email Identifies the item Identifies the row 10. 6. Process Design a. 6.1 Process Name 6.1.1 process Description and related requirements 6.1.1 process Detailed Description 13 11. 7. Implementation 12. 8. Unit Testing a. 8.1 Test Case Name (Copy and repeat for each unit test case) 8.1.1 test Case Description and related requirements 8.1.2 Test Case Steps 13. 9. System Testing a. 9.1 Test Case Name (Copy and repeat for each unit test case) 9.1.1 test Case Description and related requirements 9.1.2 Test Case Steps 14. 10. Appendices a. 10.1 Document Version History [Ex.] Date Version b. Last Modified Modified By Description 10.2 Supplementary Information (as required) 14