Skip to content

Requirement Specification

Document Requirement Specification
Specification name Req Spec for Tukko
Author: AD0453
Version: 0.5
Date: 12.2.2024

Introduction

Team 16 was assigned to improve the existing service, Tukko - Traffic Visualizer, which visualizes traffic data onto a map. Tukko was developed by team IoTitude during WIMMA Lab 2023 as an comission by Combitech Oy.

Client

Combitech Oy technology consulting company that provides a range of services in the fields of information technology, security, and communication.

About the author and project team

Team Future 16 is comprised of motivated and hard-working ICT students.

My name is Juhani Jussila and I'm a second-year ICT student at JAMK, and I'm the author of this document. I'm our team's tester.

Short description of service/solution

Tukko is an traffic visualization service developed by Team IoTitude in collaboration with Combitech Finland and JAMK. The service alllows users to access real-time, and historical traffic data insights through an interactive map interface.

Business requirements

ReqID Description
BUSINESS-REQ-0001 Improved security decreases risk of security breaches and financial losses. (FEA408 , FEA404 )
BUSINESS-REQ-0002 The enhanced version of the service must retain its original user-friendliness and accessibility to ensure customer satisfaction and retention.

Stakeholder map

uml diagram

Stakeholders and profiles

Stakeholder Info / Link to description Motivation?
Combitech Description The customer.
IoTitude Website The team who originally made Tukko
Reima Parviainen Product Owner Liaison between the development team and Combitech.
Future 16 Team site Is working to improve Tukko.
Future Factory -Course Course info The course in which Future 16 is working.
End Users Target users of Tukko The persons who utilize Tukko to access traffic data

Customer stories

User 1 is colorblind. They use Tukko's new enhanced contrast-mode to be able to better use the service.

User 2, a daily commuter, values real-time insights to plan the best route and stay informed about traffic conditions. With Tukko's latest features, the experience has become even more user-friendly. They now effortlessly compare different LAM stations, plan routes, and receive road condition reports, ensuring a smoother daily commute.

Customer need

ReqID Description
CUSTOMER-REQ-0001 As a user I want to be able to compare different LAM stations.
CUSTOMER-REQ-0002 As a user I want to be able to select a high contrast version of the map.
CUSTOMER-REQ-0003 As a user I want to be able to export traffic data to CSV format.
CUSTOMER-REQ-0004 As a user I need the ability to enable high contrast mode.

Customer Journey paths in Service/solution

Customer journey path as PlantUML Statemachine -diagram

uml diagram

User Stories

User Story ID Description / link to issue
US001 As a user, I want to be able to compare different LAM stations side by side.
US002 As a user, I want to be able to create an account and securely authenticate myself to the web app.
US003 As a data analyst, I want to export data to csv from the database.
US004 As a customer I want secure authentication mechanisms, such as password hashing and session management, to protect user accounts.
US018 As a developer, I want to enforce secure coding practices such as input validation and output encoding to prevent common security vulnerabilities like cross-site scripting (XSS) attacks.
US045 As a user, I want the dark mode colors to not pop out as much.
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.
US051 As a security specialist, I want all the GitLab Security dashboard problems mitigated.
US062 As a product owner, I want the WIMMA Lab / IoTitude branding changed to development team's and JAMK's branding.
US067 As a user, I want to compare two separate LAM stations real time data side by side on one view for both directions.
US068 As a user, I want to compare two different LAM stations both directions data-analytics on the same window or graph.
US069 As a user, I want to be able to register a user account and login to Tukko appliction with it.
US070 As a developer, I want to implement a React user registration and login component.
US071 As a developer, I want to utilize ready-made and established components and instructions when implementing new modules.

Selected Use Cases of service/solution

Use Case Domain
Use Case 1 - Compare different LAM stations side by side Feature
Use Case 2 - Enhanced color contrast for color blindness Feature
Use Case 3 - Secure account authentication Feature
Use Case 4 - Improved dark mode colours Feature
Use Case 5 - Export data to csv from the database Feature
Use Case 6 - Enforced secure coding practices Practice
Use Case 7 - Mitigate all GitLab Security dashboard problems Practice

Preliminary MockUp-prototype layouts for solution/service

Mockups for features in feature documents
Compare LAM stations
Improved dark mode
Secure account authentication
Enhanced color contrast for color blindness

System requirements

RequirementsID Description
SYSTEM-HW-REQ-0001 Frontend server has to have atleast 4VCPUs
SYSTEM-HW-REQ-0002 Backend server has to have atleast 4VCPUs
SYSTEM-HW-REQ-0003 Frontend server memory capacity has to be atleast 2Gb
SYSTEM-HW-REQ-0004 Backend server memory capacity has to be atleast 2Gb Frontend

Constraints and standards that affect on service design

ReqId Description
CONSTRAINT-REQ-S00000 End user data shall be handled in a way that complies with EU GDPR Act.
CONSTRAINT-REQ-S00002 The service must remain as accessible as it already was.

Service primary features and functionalities

Tukko mindmap

Priorities of features:

  • P1 = HIGH
  • P2 = MID
  • P3 = LOW
Feature Priority
FEA101 Compare different LAM stations side by side P1
FEA102 Securely authenticate user accounts P1
FEA106 Improve dark mode colors P1
FEA110 Enhance color contrast for color blindness P1
FEA201 Export data to CSV from the database P2
FEA404 Enforce secure coding practices P1
FEA408 Mitigate all GitLab Security dashboard problems P1
FEA112 Change branding to team and JAMK brand P1

Functional requirements of the service

ReqID Description Affected feature?
FUNC-REQ-C0001 User is are able to compare different LAM sites side-by-side FEA101
FUNC-REQ-C0004 User is able to export data from Tukko to CSV FEA201

Software / service non-functional requirements

Performance Requirements

ReqID Description
PERF-REQ-0000 Login is possible for 100 users at the same time (100 request/s)
PERF-REQ-0001 The traffic data on the map should update quickly, with minimal delay
PERF-REQ-0002 The application should load the initial map view promptly upon user interaction
PERF-REQ-0003 The application should handle a large number of cities and traffic data points without performance issues
PERF-REQ-0004 Zooming and panning across the map should be smooth and responsive.
PERF-REQ-0005 The application should perform well on various devices and screen sizes

Security Requirements

ReqID Requirement Description
SEC-REQ-0001 Gitlab Security dashboard problems GitLab Security Dashboard problems must be addressed to maintain a secure codebase.
SEC-REQ-0002 Authentication All user authentication data must be securely stored and transmitted using industry-standard encryption protocols.
SEC-REQ-0003 Enforce Secure Coding Implement secure coding practices including input validation and output encoding

Accessibility Requirements

ReqID Requirement Description
ACC-REQ-0000 Improved dark mode Enhance the color scheme for dark mode to ensure a visually comfortable user experience.
ACC-REQ-0002 High contrast mode Improve color contrast within the Tukko interface for users with color blindness.

Quality Assurance

Preliminary Acceptance Tests

AcceptanceTestId Description Feature
ACCTEST001 Verify that LAM stations can be compared FEA101
ACCTEST002 Verify that user accounts are securely authenticated FEA102
ACCTEST003 Verify that dark mode colors are improved FEA106
ACCTEST004 Verify enhanced color contrast mode FEA110
ACCTEST005 Verify that data can be exported to CSV FEA201
ACCTEST006 Verify that secure coding practices were used FEA404
ACCTEST007 Verify that Gitlab security problems were mitigated FEA408

Software architecture, placement view, database description, and integrations

Deployment

Deployment_diagram

Standards and sources

ID Category
ISO 9241-11 Usability
ISO9001 Quality management
Leaflet.js Tool/Library
Geoman.io Tool/Library
Redis.io Database
MongoDB Database
Digitraffic External data source
Docker Containerization platform
TypeScript Programming language
React Frontend JavaScript library/framework
Node.js JavaScript runtime environment