Skip to content

Requirement Specification

Document Requirement Specification
Specification name Req Spec for service TUKKO
Author: Anni Orilähde, Tingting Huang, Emils Bagirovs
Version: 1.0.0
Date: 16-02-2024

Introduction

The project is part of Future Factory course in Jyväskylä University of Applied Sciences, which was held during spring 2024. Tukko - Traffic Visualizer, developed originally by WIMMA Lab 2023 IoTitude, was created as an assignment given by Combitech. Tukko utilizes data from the digitraffic API and enhances it by consolidating scattered information from multiple endpoints into its own simplified API. Additionally, the project gathers long-term data, which can be later presented to users to identify recent anomalies in traffic patterns.

Client

The subscriber to the requirement specification for the traffic visualizer project is Combitech. As the subscriber, Combitech has initiated the development of the project and holds both ownership and authority over its requirements. The requirement specification serves as an official document delineating Combitech's specific needs, features, and functionalities desired for the traffic visualizer. It functions as a crucial communication tool between the development team and Combitech, ensuring alignment with their vision throughout the project lifecycle.

About the author and project team

Team Hopbit is group of 6 junior developers, thrive on creativity, dedication, and a relentless pursuit of excellence. With diverse backgrounds and a shared passion for software engineering, we bring a wealth of skills and perspectives to the table. Our collective goal is to leverage cutting-edge technologies and industry best practices to craft solutions that not only meet but exceed expectations.

Short description of service/solution

The traffic visualization service offers real-time information on traffic conditions and the fastest routes between locations through a user-friendly web application. Its users include commuters, travelers, delivery drivers, and anyone else seeking efficient travel routes. The service's primary role is to empower users with up-to-date insights into traffic congestion and road closures, enabling them to make informed decisions about their travel plans.

Potential end users include individuals commuting to work, travelers planning road trips, delivery companies optimizing routes, and city planners analyzing traffic patterns. Relevant stakeholders benefiting from the service include local authorities, transportation agencies, businesses reliant on timely deliveries, and the general public seeking smoother travel experiences.

Overall, the service plays a crucial role in enhancing transportation efficiency, reducing travel time, and minimizing congestion for various stakeholders involved in the transportation ecosystem.

Business requirements / goals?

ReqID Description
BUSINESS-REQ-0001 Registration as a new user should be easy for old users, because is's our user focus group 35%
BUSINESS-REQ-0002 Userfriendly, the web application should be intuitive and easy to use for various types of users, including commuters, travelers, delivery drivers, and city planners.
BUSINESS-REQ-0003 Offer the fastest and most efficient routes between locations, considering real-time traffic data to minimize travel time.
BUSINESS-REQ-0004 Provide accurate, up-to-date information on traffic conditions, including congestion levels, accidents, road closures, and construction activities.

Stakeholder map

uml diagram

Stakeholders and profiles

Stakeholde/profile Info / Link to description Motivation?
Team Hopbit Team Introduction Develops improved version of TUKKO Traffic Visualizer
JAMK Visit their site Supports the development team
End user 1 Local, lives in certain area Can see traffic from daily route they use
End user 2 Tourist Can plan their trip and avoid certain areas with high traffic
Combitech Visit their site supports service users

Customer story's as background information

End user/customer story

As a user planning a family tour during a weekend, he wants to use the 'Tukko' application to facilitate our journey. Before starting our 4-hour drive to a park, he logs in to the application to access historical data and retrieve the location. Once logged in, he switches the application to light mode for better visibility during the daytime and activate sport mode to optimize the app's performance for the upcoming journey. This ensures a smooth and enjoyable experience for his family during the trip.

Customer need

ReqID Description
CUSTOMER-REQ-0001 A clear and intuitive interface for easy navigation and use.
CUSTOMER-REQ-0002 Ability to access historical data from specific dates to review past activities or information within the application.
CUSTOMER-REQ-0003 Capability to provide feedback within the application to share my thoughts, suggestions, or report any issues encountered for continuous improvement.
CUSTOMER-REQ-0004 Option to switch between light and dark modes to accommodate different lighting environments and personal preferences.
CUSTOMER-REQ-0005 Accessible to individuals with disabilities, ensuring that all features and functionalities can be easily utilized and navigated using assistive technologies.

Customer Journey paths in Service/solution

Customer journey path as PlantUML Statemachine -diagram

uml diagram

Preliminary User Storys

User Story ID Description link to issue
US002 As a user, I want to be able to create an account and securely authenticate myself to the web app. #177
US003 As a data analyst, I want to export data to csv from the database #178
US004 As a customer, I want secure authentication mechanisms, such as password hashing and session management, to protect user accounts. #179
US011 As a user I want to choose an area and count average traffic #185
US028 As a platform engineer, I want to configure security measures, such as SSL/TLS certificate s and secure network configurations, to protect the web app and its data from unauthorized ac cess. #202
US035 As a platform engineer, I want to regularly update and patch the underlying technology st ack, including React, MongoDB, Redis, TypeScript, Express, Node.js, to ensure the web app ben efits from the latest features, improvements, and security fixes. #209
US037 As an administrator, I want to monitor server loads with a GUI. #211
US038 As a developer, I want to have automated tests for both frontend and backend code to ensure the reliability and correctness of the web app. #212
US040 As a tester I want to implement Robot Framework and browser libraries #214
US045 As a user, I want the dark mode colors to not pop out as much. #219
US046 As a user with color blindness, I want the web app to have sufficient color contrast between text and background elements, so that, I can easily read and understand the content. #220
US047 As a user, I want to have favorite LAM stations which I can follow under my user. #221
US049 As a user, I want to be able to plan the best route from place A to place B. #223
US051 As a security specialist, I want all the GitLab Security dashboard problems mitigated. #225
US052 As a user, I want to search location by name. #226
US058 As a swedish person I want to use the user interface in my native language, Swedish. #232
US060 As a user, I want to plan my route based on LAM station traffic statistics. #234

Selected Use Cases of service/solution

Use Case Domain
Use Case 1 - User login User login page
Use Case 2 - User Search Searching box
Use Case 3 - User's traffic history History data
Use Case 4 - User's feedback User feedback bar

Preliminary MockUp-prototype layouts for solution/service

Link to mocp-up

System requirements

RequirementsID Description
SYSTEM-HW-REQ-0000 Operating System: Ubuntu Server - Version 22.04.3 LTS
SYSTEM-HW-REQ-0001 Platform to run application in containers: Docker
SYSTEM-HW-REQ-0002 Memory space: The server should have 8GB of RAM to ensure application running
SYSTEM-HW-REQ-0003 Database: The application required a database server to store and monitor data, such as mySQL and MongoDB
SYSTEM-HW-REQ-0004 Intel / AMD x64 processor
SYSTEM-HW-REQ-0005 Network: A smooth and reliable internet connect to delivery data and service

Constraints and standards that affect on service design

ReqId Description
CONSTRAINT-REQ-S00000 The service login process must follow XYZ policies [Login ft1] (bottoms / bottom property.md)
CONSTRAINT-REQ-S00002 ...

Service primay features and functionalities

uml diagram

Main features based on Product Mind Map:

  • Feature 102: Securely authenticate user account
  • Feature 103: Save favourite LAM stations to user account
  • Feature 106: Improve dark mode colors
  • Feature 110: Enhance color contrast for color blindness
  • Feature 201: Export data to CSV from the database
  • Feature 204: Count average traffic in chosen area
  • Feature 304: Localization for Swedish
  • Feature 305: Localization for Norwegian
  • Feature 408: Mitigate all GitLab Security dashboard problems
  • Feature 410: HTTPS Connection
  • Feature 514: Monitor server loads with a GUI
  • Feature 515: Automate tests for frontend and backend code
  • Feature 516: Manual Testing
  • Feature 517: Maintainable Documentation

Priorization of essential features / functions:

  • P1 = Mandatory
  • P3 = Required
  • P5 = Nice to have
Feature Priority
Securely authenticate user accounts P1
Export data to csv from the database P1
Count average traffic in chosen area P1
HTTPS Connection P3
Regularly update and patch the underlying technology stack P1
Monitor server loads with a GUI P3
Automate tests for frontend and backend code P1
Maintainable Documentation P1
Improve dark mode colors P1
Enhance color contrast for color blindness P1
Save favourite LAM stations to user account P1
Mitigate all GitLab Security dashboard problems P1
Localization for Swedish P5
Localizaation for Norwegian P5
Manual Testing P1

Functional requirements of the service

Software / service non-functional requirements

Performance Requirements

ReqID Requirement Description
PERF-REQ-0000 Response Time The gateway service should respond to requests within a specified time frame under normal load conditions
PERF-REQ-0001 Throughput The gateway service should be able to handle a certain number of requests per second without degradation of performance
PERF-REQ-0002 Scalability The gateway service should be able to scale up to handle increased load, either by adding more resources (vertical scaling) or by distributing the load across multiple instances (horizontal scaling)
PERF-REQ-0003 Availability The gateway service should be available for use a certain percentage of the time, often expressed as a "five nines" (99.999%) availability requirement
PERF-REQ-0004 Resilience The gateway service should be able to recover quickly from failures and continue to function

Security Requirements

ReqID Requirement Description
SEC-REQ-0001 Secure Communication All communication between devices and servers must be encrypted to prevent interception.
SEC-REQ-0002 Authentication Firefighters must be authenticated before they can access the system to ensure that only authorized personnel have access.
SEC-REQ-003 Data Integrity The system must ensure that data, such as incident reports or firefighter locations, is not tampered with.

Accessability Requirements

ReqID Requirement Description
ACC-REQ-0000 Keyboard Accessibility All functionality must be operable through a keyboard interface.
ACC-REQ-0002 Text Alternatives Provide text alternatives for any non-text content.
ACC-REQ-0003 Time-based Media Provide alternatives for time-based media, such as captions for videos.
ACC-REQ-0004 Adaptable Content must be presented in ways that can be perceived by all users, including those with disabilities.

These

Quality Assurance

Preliminary Acceptance Tests

AcceptanceTestId Description Feature
ACCTEST001 - Acceptance Test 1 eg. Verify login as new user Feature X
ACCTEST002 - Acceptance Test 2 eg. Verify remove of personal data Feature Y
ACCTEST003 - Acceptance Test 3 eg. Verify login with correct password Feature Z

Software architecture, placement view, database description, and integrations

Deployment diagram

Integrations with other systems

General view of integrations as UML Deployment Diagram

uml diagram

OR

uml diagram

Standards and sources

  1. General Data Protection Regulation (GDPR): This regulation protects privacy and gives individuals control over their personal data.
  2. ePrivacy Directive: This directive complements the GDPR and provides rules on confidentiality of communications and tracking technologies such as cookies.
  3. Directive on the legal protection of computer programs ('Software Directive'): This directive protects computer programs by means of copyright.
  4. Directive on the enforcement of intellectual property right ('IPRED'): This directive enforces intellectual property rights.
  5. Directive on the legal protection of databases ('Database Directive'): This directive protects databases.
  6. EU Cybersecurity Act: This act ensures safer hardware and software.
  7. Digital contract rules: These rules make it easier for consumers and businesses to buy and sell digital content, digital services, goods, and 'smart goods' in the EU.

Please note that these are just a few examples and the specific laws and rules may vary depending on the context and the specific needs of your software service. It's always a good idea to consult with a legal expert to ensure compliance with all relevant laws and regulations.