Uploaded by Peace Be upon us

Software Requirements and Design Specification (SRS)

advertisement
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
Download