0% found this document useful (0 votes)
79 views17 pages

Bangle.js Smartwatch Software for Cyclists

The document outlines requirements for the Bangle.js smartwatch software focused on cycling and fitness tracking. It aims to provide customizable displays, secure data storage, and comprehensive tracking of metrics like heart rate, distance, elevation and more to help users monitor their cycling performance and progress. The software will have two main modes - road cycling and mountain biking - tailored to display relevant information for each. It seeks to meet the needs of avid cyclists by enhancing their riding experience and assisting with fitness goals.

Uploaded by

vladyslav.maurer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
79 views17 pages

Bangle.js Smartwatch Software for Cyclists

The document outlines requirements for the Bangle.js smartwatch software focused on cycling and fitness tracking. It aims to provide customizable displays, secure data storage, and comprehensive tracking of metrics like heart rate, distance, elevation and more to help users monitor their cycling performance and progress. The software will have two main modes - road cycling and mountain biking - tailored to display relevant information for each. It seeks to meet the needs of avid cyclists by enhancing their riding experience and assisting with fitness goals.

Uploaded by

vladyslav.maurer
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

1 Introduction

1.1 Purpose
This document serves as a basis for the development of Bangle.js (a smartwatch software
specialising in customers' passion for biking and fitness tracking) to help and understand the
requirements of customer B („Bike“). All other documents, in particular the system design, the
test plan, the implementation and the user manual should be created based on this document.
The document must always be kept in sync with all other documents connected to it.

1.2 Intended readers


This document is intended for:
 The entire project team
 The developers of the system
 The pilot customer
 Other customers who want to use the system in a different context.
 Later maintenance engineers

1.3 Definition
Bangle.js is a versatile software framework designed for a smartwatch, specifically tailored to
meet the needs of cycling enthusiasts and fitness analysis. It ensures robust data security
while offering customizable dials and the ability to switch between road cycling and mountain
biking modes. It provides comprehensive fitness tracking capabilities, including seamless
integration with external rpm and heart rate sensors. The software incorporates inbuilt sensors
that enhance the cycling experience, enabling users to monitor progress, set goals, and track
performance effectively.

1.4 Field of application:


The software is designed specifically for a smartwatch that targets customers who are avid
cyclists and enthusiasts in fitness analysis. It aims to provide a comprehensive solution to
meet the specific needs of these users, enhancing their cycling experience and assisting them
in tracking their fitness progress.

1.5 Objectives:
The software in the smartwatch aims to fulfil the below objectives
 Ensuring Data Security and Privacy
 Customizable Dials
 Road Cycling and Mountain Biking Modes
 Fitness Tracking
 Enhanced Cycling Experience
 Progress Monitoring and Goal Setting

1.6 Structure of this document


After a general description, the individual requirements are set out in this document listed. The
functional requirements are dealt with in the form of use cases. In addition, the User interface
is described. The user interface is also described. The terms associated with this project are
documented in detail in the appendix.
2 General description
2.1 Embedding
The smartwatch software receives the measurement data from the Heart-Rate strap, Cadence
and Rotation Per Minute(RPM) sensors via Bluetooth along with the inbuilt sensors.

2.2 Basic functions


The smartwatch has two main modes viz. Road Cycling and Mountain Biking. Road Cycling
and Mountain Biking. The user selects the appropriate mode and data received from sensors
via Bluetooth is then processed to get an analysis of Heart-rate, distance, Calories burnt,
Blood Oxygen Level, Steps Covered, Elevation, ECG, and Beats Per Minute(BPM). The
primary focus is on ensuring the security and protection of personal data. The smartwatch
offers customizable dials and the ability to switch between road cycling and mountain biking
modes. In Road Cycling Mode, the smartwatch's dial is customised to display features and
information specifically relevant to cycling on roads. Some key features that display Distance
Covered are GPS Navigation, Speed and Pace, Time and Duration, and Calorie Burn. In
Biking Mode, the smartwatch's dial is customised to display features and information
specifically relevant to cycling in mountainous terrains. Some key features that are displayed
include Elevation and Altitude, Depth Analysis, Slope Gradient, Trail or Trail Map, and
Weather Conditions. The user must always wear a smartwatch while doing activities to
accurately get the analysis. The processed data is in the Metric System of units. The
smartwatch can turn on and off the display using gestures. The smartwatch can be connected
over Wi-Fi to download Maps for easy navigation. The data from sensors and processing is
done without any third-party support and ensures data security and protection. The
Smartwatch provides German and English language support. It tracks various fitness
parameters, including heart rate and cadence, and enhances the cycling experience with
inbuilt sensors. Users can monitor their progress, set goals, and track their performance.
Modes:
1. Road Cycling Mode: In this mode, the smartwatch's dial is customised to display
features and information specifically relevant to cycling on roads. Some key features
that may be displayed include:
 Distance Covered: The watch shows real-time updates on the distance the cyclist has
covered during their ride. This information helps users track their progress and set
goals for their cycling sessions.
 GPS Navigation: The watch integrates GPS functionality to provide navigation
assistance, enabling cyclists to follow predefined routes or explore new paths. The
GPS display may show a map view or turn-by-turn directions to guide the cyclist along
their chosen route.
 Speed and Pace: The watch can display the cyclist's current speed and average pace,
allowing them to monitor their performance and maintain consistent speeds.
 Time and Duration: The watch shows the current time and the duration of the cycling
session, helping users manage their time and plan their rides effectively.
 Calorie Burn: The watch estimates the number of calories burned during the cycling
session based on factors such as distance, speed, and heart rate. This information can
be valuable for tracking fitness goals and maintaining a healthy lifestyle.

2. Mountain Biking Mode: In this mode, the smartwatch's dial is customised to display
features and information specifically relevant to cycling in mountainous terrains. Some
key features that may be displayed include:
 Elevation and Altitude: The watch provides real-time updates on the cyclist's current
elevation and altitude gain during the mountain biking session. This information helps
users gauge the difficulty of their rides and track their climbing progress.
 Depth Analysis: The watch may offer depth analysis features, such as displaying the
depth of descents during the ride. This information is particularly useful for mountain
bikers navigating challenging downhill sections.
 Slope Gradient: The watch can show the slope gradient of the terrain, indicating how
steep or gradual the inclines or declines are. This information helps mountain bikers
anticipate and adjust their riding technique accordingly.
 Trail or Trail Map: The watch may provide access to trail maps specific to mountain
biking trails, enabling users to explore and discover new routes. The display can show
trail markers, points of interest, and suggested paths to enhance the overall mountain
biking experience.
 Weather Conditions: The watch may provide weather information such as temperature,
humidity, and precipitation to help mountain bikers plan their rides and make informed
decisions based on the current weather conditions.

2.3 Assumptions and Dependencies


Some assumptions are made about the use of the Software. It is assumed that the smartwatch
has a Linux operating system and enough storage space to ensure all data stays on the device
without connecting to the server.

2.4 User Profile


There are 2 user profiles.
1. Lisa Nguyen is a 27-year-old working mom and a cycling enthusiast. She uses her bike
to go to work and shop and is into extreme cycling sports and marathons. She currently
weighs 80 kg and is 179cm tall. She is not very technologically savvy and has trouble
keeping track of her health. As a busy working mom, Lisa finds it challenging to keep
track of her health and fitness. Despite her enthusiasm for cycling, she often struggles
to track her activity levels and make informed decisions regarding her fitness routine.
Lisa acknowledges that she would benefit from a tool that can simplify and automate
this process
2. Max Schmidt is a 58-year-old retired man and a fitness freak. He usually goes for a
ride every day to do daily-course of work. He is a 170 cm tall guy with a current weight
of 87 kg. Being a social person, he prefers mountain biking on weekends with his
friends to spend some time and enjoy. Max recognizes the importance of tracking his
physical activity to manage his fitness effectively. He wants to track his activity with a
smartwatch and analyse the data to remain fit. With his muscular body and dedication
to fitness, he understands the value of monitoring his performance, progress, and
health indicators. Max aims to keep a close eye on his cycling metrics, such as distance
covered, speed, elevation, and heart rate. This data will enable him to assess his
performance, set new goals, and make informed decisions about his fitness routine.

3 Functional requirements

FA01 As soon as the software is initialised for the first time, the user is required to enter
his/her relevant information i.e. weight, height, gender, birth date, usage frequency.

FA02 The user gets a guided introduction to the interface and functions of the smartwatch
after the first initialization

FA03 The smartwatch is compatible with the user's external RPM sensor and heart rate
sensor strap

FA04 The watch should have two separate modes i.e. road cycling and mountain biking
which changes the dial to display more useful information i.e. distance covered &
GPS for road cycling and elevation & depth etc for mountain biking.
FA05 The watch’s sensors must calculate heart rate, distance covered, Calories burnt,
blood Oxygen Level, steps covered, elevation, and ECG. It must also calculate and
display the data collected from the external sensors (heartbeat strap and RPM
sensor).

FA06 The smartwatch must have customizable dials. With personalisable backgrounds.

FA07 The watch must have navigation, maps and GPS guidance systems.

FA08 The user wants data security and wants to keep all data on the watch at all times.
This means that except the maps and weather services all other features can
function without WIFI.

FA09 The watch must remind the user to clear the storage manually before going out of
storage.

FA10 The user wishes to have battery life for a minimum of 5-6 cycling sessions.

FA11 The developers must provide constant updates for the watch software.

4 Interface Requirements
4.1 Graphical user interface

The smartwatch is supposed to have a user-friendly interface. After the first initialization, the
watch provides the user with a guided introduction to the features of the watch and the watch
is ready to go
 The initial screen is a customizable watch face, allowing you to choose from various
styles and designs. Users can personalise it to show information relevant to their biking
activities, such as time, date, weather, battery status etc
 The biking dashboard should provide essential real-time data and statistics about the
user’s cycling session, such as speed, distance travelled, heart rate, cadence,
elevation, calories burned etc. The dashboard may include widgets that users can
customise to display the specific metrics they’re interested in.
 To help users navigate during their rides, the smartwatch offers a built-in GPS. It
should display a map with your current location, marked route, and important
waypoints.
 The smartwatch should include two preconfigured training modes designed specifically
for biking. Users should be able to switch between “Mountain Biking," and "Road
cycling" modes using a button. Each mode adjusts the displayed metrics and provides
specialised insights and feedback based on the chosen activity.
 The settings menu should allow the user to personalise the smartwatch according to
their preferences. The user can adjust display brightness, change watch faces,
customise data fields, set activity goals, configure notifications, and manage other
device settings.
 It smartwatch should also support connectivity with compatible biking accessories such
as heart rate monitors, speed sensors, or power metres.

4.2 Hardware Interface


The Hardware interface of a smartwatch should consist of physical components and
connections which allow users to interact with the device. The interface must include elements
that enable input, output and a communication channel between the user and the smartwatch.
Some of the key aspects which should be considered for the hardware interface are:
1. Display
 Type: Display for vibrant colours and energy efficiency.
 Size: Suitable size for comfortable viewing and interaction.
 Resolution: High-resolution Resolution for crisp visuals and text.
2. Touchscreen
 Touchscreen: Capacitive touchscreen for precise touch input should be
preferred.
3. Buttons
4 Buttons on the smartwatch should have the following operations
 Button 1: for turning on Navigation using Maps
 Button 2: for changing Mode (Road Cycling and Mountain Biking)
 Button 3: to toggle between Display on/off
 Button 4: to get back to Home Screen
4. Sensors
a. Inbuilt Sensors
 Heart Rate Sensor for accurate heart rate monitoring for fitness tracking
and health analysis.
 Barometer sensor which should get elevation and height.
 SPO2 sensor which may monitor blood oxygen levels
 Motion Sensor for detecting gestures
 Accelerometer sensor for detecting motion, steps, and orientation of the
smartwatch.
 Gyroscope sensor for measuring rotation and orientation for enhanced
motion tracking.
 GPS sensor to enable precise location tracking and navigation during
outdoor activities.
 Ambient Light Sensor for adjusting display brightness based on ambient
lighting conditions.
 Temperature sensor to monitor temperature
b. External Sensors
 Heart-Rate strap Sensor for monitoring heart-related parameters
 Cadence sensor
 RPM sensor
5. Processor, RAM and Storage
 A powerful and energy-efficient processor that handles complex tasks.
 Should be compatible with the desired operating system.
 Sufficient memory and storage capacity to achieve better performance.
 Better RAM to ensure smooth operation
6. Operating System
 which should be a reliable and widely-used operating system specifically
designed for smartwatches.
 Ensures compatibility with the desired features and functionalities.
7. Connectivity
 Bluetooth connectivity for seamless communication with External Sensors.
 Wi-Fi support for internet connectivity and data synchronisation and Over Air
Updates (OTA).
8. Battery
 Long-lasting battery life to ensure continuous usage throughout the day.
 Fast charging capability for convenient charging.
 Consider the battery capacity based on the power requirements of the
components and sensors.
9. Water Resistance strap and Body
 Should be able to operate perfectly in conditions where a user can sweat while
doing activities
10. Design and Build
 Ergonomic design for comfortable wear and ease of use.
 Durable and lightweight materials for long-lasting performance.
 Interchangeable straps for customization and personalization.

4.3 Software Interface


 Intuitive and user-friendly interface for easy navigation and interaction.
 Support for touch gestures and physical buttons for input.
 Compatibility with different watch faces and customizable dial options

5 Performance Requirements
5.1 General requirements
After the first initialization, the software shall provide a guided introduction to the interface and
functions of the smartwatch to the user. The software can only work if the boundary conditions
are met. The system is designed for use in smartwatches and should follow these
requirements.
1. UI Requirement: During regular usage of the smartwatch, users should experience
minimal delays, with no noticeable lag at least 95% of the time. This means that the
frame rate of the user interface should not drop below 80% of the normal frame rate,
ensuring smooth and responsive interactions.
2. App Size Restriction: The maximum size allowed for an installed application on the
smartwatch, excluding the database, should not exceed 50 MiB. This limitation
ensures efficient storage utilisation and prevents excessive memory consumption by
applications.
3. Memory Usage per Measurement: The smartwatch should use a maximum of 2 KiB
(kibibytes) of memory per measurement recorded. This restriction helps optimise
memory utilisation and ensures that each measurement takes up minimal storage
space.
4. Timely Display of New Measurements: Whenever a new measurement is recorded, it
should be promptly displayed to the user within 2 seconds. This requirement ensures
that users receive real-time feedback and can access their latest measurements
without unnecessary delays.
The smartwatch's sensors shall accurately calculate and display the following data: heart rate,
distance covered, calories burnt, blood oxygen level, steps covered, elevation, and ECG. The
user's data shall be securely stored in the smartwatch at all times, except for maps and
weather services which may require internet connectivity. It shall also calculate and display
data collected from the external sensors (heart rate strap and RPM sensor), The smartwatch
shall remind the user to clear the storage manually before it reaches its storage limit. In
particular, requirements are placed on the surrounding interfaces, especially concerning:
1. Heart-Rate strap Sensor:
The software and hardware should always be in synchronisation with the sensor. The
system should not miss any vital bits of data at any time interval. This may have an
impact on analysis and calculation. The system should have a sufficient signal range
to maintain a stable connection with the device, even in challenging conditions or when
the device is mounted on the user's body. It should ensure reliable data transmission
without frequent dropouts or signal loss.
2. Cadence & RPM Sensor:
The sensor should provide real-time data updates with minimal delay. It should capture
and transmit cadence and RPM information promptly to the connected device,
ensuring instant feedback for the user. The system should be designed to optimise
power consumption, ensuring efficient energy usage and maximising battery life. It
should employ power-saving techniques such as intelligent sleep modes or low-power
sensors, reducing the overall energy requirements of the sensor.
The system should be designed for the following sensors:
 Heart Rate Sensor: SEN11574, MAX30102, BH1792GLC, ADPD4000, AFE4400
 Barometer Sensor: BMP280, LPS25HB, MS5637, DPS310
 SPO2 Sensor: MAX30102, Si114x, AFE4404, SP02F20
 Motion Sensor: LSM6DSL, BMA456, LIS2DW12
 Accelerometer: LIS2DH, BMA4xx, ADXLxx
 Gyroscope: L3GD20, MPU-9250, BMG160, ADXRS
 GPS: u-blox NEO-M8, MediaTek MT3333, SiRFstar V, SKY65933
 Ambient Light Sensor: TSL2572, VEML6030, MAX44009, ROHM BH1721FVC
 Temperature Sensor: TMP102, DS18B20

5.2 Quantity structure

Number of watch faces Unlimited (Customizable)

Number of apps No third-party apps

Number of notifications Unlimited

Number of Fitness Activities 1

Number of stored Maps Upto 5 - Locations


1 Map - Initially (Country Local - Default)

Number of Modes 2

Number of storable Measurements 1000000

Number of Sensor Measurements per 5 - 60 (Depending upon Sensor and Battery


minute Status)

6. Non-functional requirements
6.1 Availability, reliability, robustness
The smartwatch should be available for use whenever needed. It should have a high level of
uptime, ensuring that users can access its features and functions without significant
interruptions or downtime. The smartwatch should be resilient to unexpected conditions or
inputs. It should handle errors, exceptions, or invalid data. It should prevent crashes or system
failures. The software should recover or restore normal operations seamlessly after an
unexpected event. The smartwatch should be reliable and perform consistently without
unexpected failures or errors. It should maintain its functionality and performance over time
without degradation.
6.2 Comfort and Ease of Use
The smartwatch should have ergonomics designed with user comfort in mind, taking into
account factors such as weight, size and strap materials. It should be lightweight and
adjustable to fit different wrist sizes comfortably. The display should have good visibility,
legibility, and appropriate brightness levels for easy reading in different lighting conditions,
including outdoor environments. The device should also provide informative feedback on user
actions, such as tactile feedback through vibrations or audible notifications, ensuring that
users receive immediate and understandable feedback.
6.3 Safety
The materials used in the construction of the smartwatch, including the strap and casing,
should be hypoallergenic, non-toxic, and safe for prolonged contact with the skin. The
smartwatch should be built to withstand daily use, including exposure to sweat, water
splashes, and minor impacts. It should have a robust construction that minimises the risk of
damage or malfunction in typical usage scenarios.
6.4 Maintainability
The smartwatch should support software updates to ensure bug fixes, security patches, and
feature enhancements. Updates should be easy to install and preferably wireless or
automated. The smartwatch's battery should be replaceable, either by the user or through
authorised service centres, to extend the device's lifespan and provide an option for battery
replacement when needed. The smartwatch's hardware components, such as sensors or
straps, should be easily replaceable in case of damage or wear. The device should be
designed in a way that allows for efficient repair or replacement of parts.
6.5 Compatibility
The smartwatch should be compatible with desired external sensors, ensuring seamless
integration and interoperability. It should support standard communication protocols and
connectivity options.
6.6 Localization
The smartwatch should support multiple languages (English and German), allowing users to
choose their preferred language for the user interface and notifications. It should also consider
regional settings such as date formats and time zones to cater to a diverse user base.
6.7 Data Integrity
The smartwatch should ensure the integrity and accuracy of user data. It should securely store
and handle data, preventing data corruption or loss. The software should have mechanisms
in place to protect against unauthorised access, data breaches, or data manipulation.
6.8 Battery Efficiency
The smartwatch should be designed to optimise battery usage and maximise battery life. It
should implement power-saving techniques such as intelligent screen dimming, sleep mode,
and efficient background processes to conserve battery power.
7. Use cases
Name View Personal Data

Number UC01

Aim To view and access personal data such as age, height, weight,
birthday etc entered by the user

Precondition The user must have entered their data during the initialization
process.

Postcondition The user would receive a overall view of his personal data

Postcondition in a Incomplete information would be displayed.


special case

Actors User

Normal Process 1. The user starts the watch and is requested to add details
about his personal data.
2. The user clicks on view a summary of data
3. A summary of the user's body measurements is displayed

Exceptions Incomplete summary in the case of incomplete data

Name View Cycling Statistics Summary

Number UC02

Aim To access user’s detailed statistics and analytics of their cycling activities
such as average speed, maximum speed, elevation gain, distance
travelled, heart rate, cadence and calories burned.

Precondition The user must wear the watch for the sensors to work. The user must have
his watch connected to the internet at least once.

Postcondition The user would be able to access carefully detailed measurements


regarding his bike ride calculated by the smartwatch

Actors User

Normal 1. The user selects the option of session details.


Process 2. User is displayed his biking statistics

Special Cases If the sensors are unable to record the data due to when not in use or in the
case of incorrect wearing, then values may be incorrect
Name Navigate to a Direction

Number UC03

Aim To can use maps and navigate to the destination

Precondition Smartwatch has GPS functionality enabled. The user has a destination
address or point of interest(POI) in mind with exact coordinates.

Postcondition The user gets turn-by-turn directions to the destination. The user
successfully reaches the destination or cancels the navigation.

Postcondition in Incorrect information in case of wrong input for the destination


a special case

Actors User

Normal Process 1. The user activates the navigation feature on the smartwatch by
pressing the left upper button.
2. User enters the destination address or selects a POI from the
available options.
3. Smartwatch calculates the optimal route based on the current
location and destination.
4. Smartwatch displays the turn-by-turn directions on the screen.
5. Smartwatch continuously updates the directions based on the
user's movement and provides real-time information about
upcoming turns, distance, and estimated time of arrival (ETA).
6. User arrives at the destination or cancels the navigation if
desired.

Special Cases 1. If the smartwatch loses its GPS signal, it may temporarily pause
the navigation and attempt to regain the signal. It may also
provide alternative methods of navigation, such as relying on
mobile network data or offline maps if available.
2. If the user deviates from the recommended route, the
smartwatch recalculates the directions and provides revised
instructions to guide the user back on track.
Name Changing Modes for Road Cycling and Mountain Biking

Number UC04

Aim To allow the user to switch between road cycling and mountain
biking modes using a button on the smartwatch.

Precondition The smartwatch is powered on and functioning properly. The user


is engaged in either road cycling or mountain biking activity.

Postcondition The mode on the smartwatch is changed to the selected activity


(road cycling or mountain biking).

Postcondition in a If the user fails to select a mode within a specific time frame, the
special case smartwatch remains in the current mode.

Actors User

Normal Process 1. The user activates the smartwatch.


2. The smartwatch displays the current mode (either road
cycling or mountain biking)
3. The user presses the designated button on the smartwatch
to change the mode.
4. The smartwatch updates the mode to the selected activity
and confirms the mode change.
5. The smartwatch displays relevant information and features
specific to the selected mode.
6. The user continues their road cycling or mountain biking
activity with the updated mode settings.

Special Cases None

Name Connecting External Cadence, RPM, and Heart Sensors via Bluetooth

Number UC05

Aim To establish a Bluetooth connection between the smartwatch and


external cadence, RPM, and heart rate sensors for data monitoring.

Precondition The smartwatch is powered on and has Bluetooth capabilities. The


external cadence, RPM, and heart rate sensors are powered on and in
discoverable mode.

Postcondition The smartwatch successfully connects to the external cadence, RPM,


and heart rate sensors, allowing real-time data monitoring.
Postcondition in a If the connection fails, the smartwatch displays an error message and
special case allows the user to retry or troubleshoot the connection.

Actors User

Normal Process 1. The user activates the smartwatch, enables Bluetooth and
accesses the setting menu.
2. The user navigates to the “Sensor Connections” option in the
menu.
3. The smartwatch then displays a list of available sensors to
connect.
4. The user initiates a Bluetooth scan on the smartwatch to
discover nearby sensors.
5. The smartwatch detects external cadence, RPM, and heart rate
sensors within the range.
6. The user selects the desired sensors from the list and the watch
sends a connection request.
7. The external connections receive the request and establish
Bluetooth connectivity.
8. The watch confirms the connection to sensors and displays a
connection status message.
9. The smartwatch starts receiving real-time data from the
externally connected sensors and the user can view and
monitor the sensor data on display during activities.

Special Cases If the sensor is not within the range or if a connection attempt fails, the
smartwatch displays an error message indicating a connection failed.
The user can repeat the process from step 2 to connect sensors again.

Name Monitor Heart Rate

Number UC06

Aim To monitor the accurate and average heart rate of the user at all times while
the watch is being worn.

Precondition The user must wear the watch for the sensors to work.

Postcondition The user would be able to access carefully detailed measurements


regarding his heart rate calculated by the smartwatch

Actors User

Normal 1. The user opens the biking dashboard and then clicks on detailed
Process heart rate analysis.
2. User is displayed his heart rate. When connected to an external
heart rate monitor, the watch calculates the average of the data
collected by an inbuilt and external sensor to display accurate
results.
3. Extra data results such as BPM, ECG etc and also provided when
using an external heart rate sensor.
Special Cases If the sensors are unable to record the data when not in use or in the case
of incorrect wearing, then values may be incorrect.

Name Speed calculation

Number UC07

Aim To calculate and view detailed statistics and analytics of a user's cycling
speed. Also learning the distance covered, average speed, maximum and
maximum speed etc

Precondition The user must wear the watch for the sensors to work.

Postcondition The user would be able to access carefully detailed measurements


regarding speed calculated by the smartwatch

Actors User

Normal 1. The user opens the biking dashboard and then clicks on speed
Process calculation.
2. User is displayed his average speed during his last biking sessions.
Also distance covered, time taken, and minimum and maximum
speed will be displayed.

Special Cases If the sensors are unable to record the data when not in use or in the case
of incorrect wearing, then values may be incorrect.

Name Calories Burnt

Number UC08

Aim To measure and display the calories burned during activities on the
smartwatch.

Precondition The user must wear the watch for the sensors to work. The smartwatch
is powered on and functional.

Postcondition The smartwatch accurately calculates and displays the calories burned
based on the user's physical activity.

Postcondition in If the connection fails, the smartwatch displays an error message and
a special case allows the user to retry or troubleshoot the connection.

Actors User

Normal Process 1. The user opens the biking dashboard and then clicks on
calorie analysis.
2. The smartwatch utilises its built-in sensors, including the
accelerometer and heart rate sensor, to monitor the user's
activity.
3. The smartwatch applies an algorithm that combines the user's
heart rate, activity type, duration, and other factors to estimate the
calories burned.
4. The smartwatch displays the real-time calories burned on the
screen during the activity.

Special Cases If the heart rate sensor is not available or fails to provide data, the
smartwatch employs alternative methods, such as motion tracking and
user input (e.g., user inputting activity intensity, duration, and other
parameters), to estimate the calories burned. The smartwatch informs
the user about the estimation method being used and may display a
disclaimer regarding the accuracy of the calorie measurement in the
absence of heart rate data.

8. User Interface Diagram


9 Appendix
9.1 Glossary of terms
1. Bangle.js: The smartwatch software framework designed for cycling enthusiasts and
fitness tracking.
2. Road Cycling Mode: A mode in Bangle.js that customises the dial to display features
and information relevant to cycling on roads.
3. Mountain Biking Mode: A mode in Bangle.js that customises the dial to display features
and information relevant to cycling in mountainous terrains.
4. Heart-Rate Strap: An external sensor that monitors heart-related parameters during
cycling activities.
5. RPM Sensor: An external sensor that measures rotations per minute during cycling
activities.
6. GPS: Global Positioning System, used for navigation and tracking the user's location.
7. Metric System: A measurement system based on the metre, kilogram, and second,
commonly used in many countries worldwide.
8. GUI: Graphical User Interface, the visual interface that allows users to interact with the
smartwatch.
9. RPM: Rotations Per Minute, a measurement of the frequency of rotations.
10. ECG: Electrocardiogram, a measurement of the electrical activity of the heart.

9.2 Version History


Version Date Author Changes

1.0 26.05.23 Keshav 1. Initial Release


Created a document and understood customer requirements

1.1 27.05.23 Keshav 1. Rough Work


Gathered points and drafted the structure of a document

1.2 27.05.23 Aniket 1. Introduction


a. Provided a purpose statement for the document
b. Identified the intended readers
c. Defined the software (Bangle.js) and its application
d. Stated the objectives and structure of a document

2.0 27.05.23 Keshav 1. General Description


e. Described the embedding process of the software
f. Explained the basic functions of the smartwatch in road cycling and
mountain biking modes
g. Listed assumptions and dependencies
h. Introduced two user profiles (Lisa Nguyen and Max Schmidt)

3.0 27.05.23 Aniket 1. Functional Requirements


Included functional requirements (FA01 to FA11) related to software
initialization, user guidance, compatibility with external sensors,
modes, data calculation and display, customizable dials, navigation
and GPS, data security, storage management, battery life, and
software updates

4.0 27.05.23 Keshav 1. Interface Requirements


a. Graphical User Interface: Described the user-friendly interface,
customizable watch faces, biking dashboard, GPS navigation, training modes,
and settings menu
b. Hardware Interface: Defined the hardware components and
connections required for user interaction, including display, touchscreen,
buttons, sensors, processor, RAM, storage, operating system, connectivity,
battery, water resistance, and design/build considerations
c. Software Interface: Highlighted the need for an intuitive and user-
friendly interface, touch gestures, compatibility with different watch faces, and
customizable dial options
5.0 27.05.23 Aniket 1. Non-functional Requirements
a. Availability, Reliability, Robustness: Specified the need for high
availability, reliability, and robustness to handle errors, exceptions, and
unexpected events
b. Comfort and Ease of Use: Described the requirements for user
comfort, lightweight design, adjustable strap, good visibility, legibility,
appropriate brightness levels, and informative feedback
c. Safety: Addressed the safety requirements regarding materials,
construction, and resistance to sweat, water, and impacts
d. Maintainability: Stated the need for software updates, battery
replaceability, and replaceable hardware components
e. Compatibility: Emphasised the requirement for compatibility with
external sensors and standard communication protocols
f. Localization: Highlighted the need for multiple language support
(English and German) and consideration of regional settings
g. Data Integrity: Defined the requirements for data integrity, secure
storage, and prevention of data corruption or loss

6.0 28.05.23 Aniket 1. Appendix


a. Included Glossary of terms
b. Included Versioning Details

7.0 28.05.23 Keshav 1. Use Case Diagram

8.0 28.05.23 Keshav 1. Performance Requirements


a. Outlined the general requirements related to system usage in
smartwatches, boundary conditions, surrounding interfaces, and the system
environment
b. Listed the compatible inbuilt sensors and their functionality

8.1 28.05.23 Aniket 1. Appendix


a. Revised Versioning

Version
Date: 28th May 2023
- Clarified certain requirements based on additional information
- Updated the user profiles for Lisa Nguyen and Max Schmidt with more specific details
- Updated the Introduction section to provide clearer information on the purpose of the
document
- Revised and improved the language and clarity of various requirements

Version
Date: 28th May 2023

- Added a glossary of terms in the appendix to explain project-specific terminology


- Refined the functional requirements to provide more detailed use cases and scenarios
- Expanded the interface requirements section with additional details on the hardware and
software interfaces
- Made minor updates to the performance requirements based on further analysis

Version
Date: 28th May 2023
- Updated the entire document to align with the latest version of the Bangle.js smartwatch

You might also like