Skip to content

Requirement Specification

Document Requirement Specification
Specification name TukkoTrafficVisualizer
Author(s): Noora Kuikka & Andreas Kjersheim
Version: 1.0
Date: 21.02.2024

Introduction

For the 2024 iteration of Future Factory, our team has been tasked with adding improvements and new features to the Tukko Traffic Visualizer service which began development at WIMMA Lab during the summer of 2023.

Tukko is an open-source project utilizing public traffic APIs from services such as Digitraffic. It provides data visualizations of traffic patterns on a user customizable map, allowing for different filters to be selected according to e.g. vehicle types or timescales.

Client

Client Name: Combitech

Project Ownership and Authority:

Combitech is the primary stakeholder responsible for the development of the Traffic Visualizer project. They have full ownership and decision-making authority over the project's requirements and direction.

Purpose of the Requirements Specification:

The purpose of this Requirements Specification document is to formally outline Combitech's specific needs, desired features, and required functionalities for the Traffic Visualizer project. This document will serve as a key reference point for effective communication and collaboration between the development team and Combitech throughout the project's lifecycle. It aims to ensure that the final product aligns closely with Combitech's vision and expectations.

About the authors

Team Synergy is a dynamic group of second-year year ICT students, driven by a shared passion for embracing emerging technologies and honing their skillsets.

As individuals, we are highly motivated and bring a diverse range of skills to the project. Some of us excel in web development, crafting elegant and user-friendly websites, while others bring strong leadership qualities that help steer our project in the right direction. Additionally, we have team members who are deeply intrigued by the intricacies of penetration testing and systems administration, adding a valuable layer of security to our endeavors.

Our collective strength lies in our ability to synergize our distinct strengths, fostering an environment where creativity and technical proficiency flourish. Together, we are dedicated to delivering a product that not only meets but exceeds expectations, creating a solution that truly shines in the world of technology.

Learn more about us at the team introduction!

Short description of service/solution

The Tukko traffic visualizer service is designed to provide real-time data analysis on a wide range of traffic conditions, including monitoring traffic congestion, identifying road closures, and calculating travel times between destinations. To accomplish this, it seamlessly integrates with the Digitraffic API and has been optimized to handle large volumes of data efficiently.

It features an intuitive map interface that allows uers to filter and explore results based on vehicle types and timescales. Additonally, users can also create interactive data visualizations through features like heatmaps, charts, and graphs, enabling a deeper insight of traffic patterns.

Business Requirements and Goals

ReqID Description
BUSINESS-REQ-0001 Increase user engagement on the platform.
BUSINESS-REQ-0002 Improve system scalability to accommodate growth.
BUSINESS-REQ-0003 Enhance data security and compliance measures.
BUSINESS-REQ-0004 Optimize product performance for mobile devices.
BUSINESS-REQ-0005 Expand market reach to new customer segments.
BUSINESS-REQ-0006 Enhance user experience through a redesigned UI.
BUSINESS-REQ-0007 Reduce operational costs and resource utilization.
BUSINESS-REQ-0008 Ensure regulatory compliance in all operations.
BUSINESS-REQ-0009 Improve customer support and issue resolution.

Stakeholder map

Stakeholder Map

Stakeholders and profiles

Stakeholder/profile Info/Link Motivation
Synergy Link to website Development Team to improve and expand the features of Tukko v1.0 Traffic Visualizer
Combitech Link to website They seek new features to be added to Tukko
JAMK Link to website Supports the development team of the project through mentors and materials
End User 1 enduser1-profile Person 36-45 years old. Regular user of Tukko.
End User 2 enduser2-profile Person 21 - 35 years old. Tourist and is exploring Finland in a rental car.
Journalist mediauser1-profile Technology journalist exploring and comparing traffic visualization applications.
City Planner cityplanner-profile City planner using the application to gain insight in traffic situations around a specific area.

Customer Stories

Customer Story 1 - Commuter's Perspective

Alex (Profile) is a daily commuter living in a bustling city. His typical day involves catching the subway, followed by a bus connection to reach his office. However, unpredictable delays and service disruptions often throw a wrench into his schedule, causing unnecessary stress and inconvenience. Alex dreams of a service that can provide real-time updates on transit conditions, helping him plan his routes efficiently and avoid disruptions. Such a solution would not only save him time but also reduce the daily commute's uncertainties, ultimately improving his overall quality of life.

Customer Story 2 - Tourist's Perspective

Saara (Profile) is an avid traveler who loves exploring new cities and cultures. When she visits a new destination, she often finds herself struggling to navigate public transportation systems, decipher unfamiliar routes, and manage language barriers. Saara wishes for a service that caters to tourists like her, offering clear and user-friendly guidance on local transportation options, including maps, fare information, and real-time updates. Such a service would enhance her travel experiences, allowing her to immerse herself in new adventures without the stress of navigating complex transit networks.

Customer Story 3 - Urban Planner's Perspective

Mira (Profile), an urban planner responsible for shaping sustainable cities. She understands the significance of efficient and eco-friendly transportation systems. To achieve sustainability goals, Mira needs access to comprehensive data on traffic patterns, usage trends, and environmental impacts. A service that provides detailed insights into transportation behaviors and their ecological footprint would be invaluable. With such data, Mira can make informed decisions to enhance public transportation infrastructure, reduce congestion, and promote eco-friendly modes of transit, ultimately creating better cities for all residents.

Customer Story 4 - Technology Journalist's Perspective

As a technology journalist, Craig (Profile) diligently evaluates traffic visualization applications like Tukko v1.1 to assess their effectiveness, accessibility, security, and user-friendliness. His scrutiny extends to compliance with WCAG standards for inclusivity, robust security measures, and intuitive interfaces. Through meticulous testing and comparison with competitors, he aims to provide insightful recommendations to his audience, guiding them in selecting the most suitable traffic visualization tool for their needs.

Requirements for Alex (Regular User)

ReqID Description
CUSTOMER-REQ-0001 As a user, I want the app to provide real-time updates on traffic conditions to help me plan my commute efficiently
CUSTOMER-REQ-0002 As a user, I want the app to offer visual representations of traffic data, such as maps and charts, for easy analysis
CUSTOMER-REQ-0003 As a user, I need the app to be user-friendly and intuitive, allowing me to customize views and easily interpret data
CUSTOMER-REQ-0004 As a user, I want the app to include features like dark mode and color contrast options for better visibility during night-time driving
CUSTOMER-REQ-0005 As a user, I expect the app to prioritize security by regularly scanning for vulnerabilities and following secure coding practices

Customer Journey Path for Alex

uml diagram

Requirements for the Technology Journalist Craig

ReqID Description
CUSTOMER-REQ-0001 As a technology journalist, I want the app to be accessible and compliant with WCAG standards to ensure inclusivity for all users
CUSTOMER-REQ-0002 As a technology journalist, I need the app to prioritize security by conducting regular security scans and adhering to secure coding practices
CUSTOMER-REQ-0003 As a technology journalist, I expect the app to have clear documentation and be easy to use, facilitating my testing process
CUSTOMER-REQ-0004 As a technology journalist, I want the app to provide comprehensive results and insights for comparison with other traffic visualization apps

Customer Journey Path for the Technology Journalist

uml diagram

Selected Use Cases of service/solution

Use Case Domain
Use Case - Compare Different LAM Stations Side by Side Traffic Visualization
Use Case - Implement Web App Accessibility Measures Accessibility
Use Case - Improve Dark Mode Colors User Interface
Use Case - Enhance Color Contrast for Color Blindness Accessibility
Use Case - Localization for Swedish Localization
Use Case - Localization for Norwegian Localization
Use Case - Regularly Scan for Known Security Vulnerabilities Security
Use Case - Enforce Secure Coding Practices Security
Use Case - Implement Automated Security Testing Pipeline Security
Use Case - Harden All the Containers Security
Use Case - Control Access to the Server Security
Use Case - Protect Application with Web Application Firewall Security
Use Case - Manual Testing Testing
Use Case - Maintainable Documentation Documentation

Preliminary MockUp-prototype layouts for Tukko v1.1

FEA101 Compare Different LAM Stations Side by Side

Feature FEA101 mock-up

FEA304, FEA305 Language selection. FEA 105 Web app accessibility measures, logo and description. FEA112 JAMK & Synergy branding

Use the following link to visit the Figma design and prototype workspace (Click here!)

Alternatively, visist our teams pages for an embedded version (Click here!)

A visual prototype is not yet constructed, but the ideas and plans for such can be found within the feature documentation. link here

FEA106 Improved Dark mode colors

Visit the feature documentation for our further plans about dark mode.

FEA110 Enhance color contrast for color blindness

More palettes are described and shown within the feature documentation. Visit for our visualizations.

System requirements

RequirementsID Description
SYSTEM-HW-REQ-0001 Frontend server must have at least 4 VCPUs
SYSTEM-HW-REQ-0002 Backend server must have at least 4 VCPUs
SYSTEM-HW-REQ-0003 Frontend server memory capacity must be at least 2GB
SYSTEM-HW-REQ-0004 Backend server memory capacity must be at least 2GB

Contraints

RequirementsID Description
CONSTRAINT-REQ-S00000 End user data shall be handled in a way that complies with EU GDPR Act
CONSTRAINT-REQ-S00001 The service should be accessible by Directive (EU) 2019/882
CONSTRAINT-REQ-S00002 Service design should take into account the agreed-upon service levels and performance metrics that will be used to monitor the service's performance.
CONSTRAINT-REQ-S00003 The service must be designed with usability in mind to ensure that it is easy to use and understand.
CONSTRAINT-REQ-S00004 The design of the service must take into account the technical constraints and opportunities presented by available technology.
CONSTRAINT-REQ-S00005 The service design must consider the ability of the service to integrate with other systems and technologies as necessary.

Production Environment

  • Hosting Model: The service will be produced using Infrastructure as a Service (IAAS) model, leveraging the cPouta environment owned by CSC.

  • Cloud Service: The service runs on the cPouta cloud service, which is publicly accessible via the internet and utilizes OpenStack cloud software.

  • Server Configuration: Separate virtual machines host the frontend and backend components of Tukko Traffic Visualizer.

  • Containerization: Both frontend and backend are containerized using Docker to ensure consistency, scalability, and security. Availability and Reliability

  • Uptime: While 24/7 availability is desirable, achieving 100% uptime may not be feasible due to maintenance and unforeseen events.

  • Service Level Agreement (SLA): An SLA will be prepared to define the expected uptime, response times, and support availability for the service.

Performance and Scalability

  • Server Specifications: The servers hosting Tukko Traffic Visualizer must meet certain hardware requirements, such as a minimum of 4VCPUs and a memory capacity of at least 2GBs.

  • Scalability: The architecture should support horizontal scaling to handle increasing user loads efficiently.

Cost Considerations

  • Production Cost: The production cost includes expenses related to server infrastructure, cloud services, software licenses, maintenance, and support.

  • Optimization: Cost optimization strategies will be implemented to ensure efficient resource utilization and minimize unnecessary expenses.

Data Storage and Archiving

  • Storage Requirements: The service requires adequate storage capacity for storing user data, sensor data, configurations, logs, and backups.

  • Data Archiving: Archiving mechanisms will be implemented to manage data retention policies, ensuring compliance with regulatory requirements and optimizing storage utilization.

Security

  • Security Measures: Robust security measures will be implemented at various levels, including network security, access control, encryption, authentication, and authorization.

  • Data Protection: Measures such as data encryption, access controls, and regular security audits will safeguard sensitive information from unauthorized access or breaches.

  • Compliance: The service will adhere to relevant security standards and regulations to ensure data privacy and compliance with legal requirements.

Constraints and Standards

  • EU GDPR Compliance: The service must comply with the General Data Protection Regulation (GDPR) requirements regarding the collection, storage, and processing of personal data. This includes obtaining explicit user consent for data processing activities, ensuring data security and privacy, and providing mechanisms for data access and deletion upon user request.

Industry Standards

  • ISO/IEC 27001: The service should adhere to the ISO/IEC 27001 standard for information security management systems to ensure the confidentiality, integrity, and availability of information assets.

  • OWASP Top 10: Security measures outlined in the OWASP Top 10 should be implemented to mitigate common web application security risks such as injection attacks, broken authentication, and sensitive data exposure.

Organizational Policies

  • Internal Access Control Policies: Access to sensitive data and system resources must be restricted based on role-based access control (RBAC) policies. Only authorized personnel should have access to administrative functions and privileged data.

  • Password Policy: The service should enforce strong password policies, including password complexity requirements, regular password expiration, and account lockout mechanisms to prevent unauthorized access.

Other Considerations

  • Data Retention Policies: The service should define clear data retention policies outlining the duration for which user data and activity logs are stored. Data should be retained only for as long as necessary for legitimate business purposes and in compliance with legal requirements.

  • Accessibility Standards: The service should adhere to accessibility standards such as WCAG (Web Content Accessibility Guidelines) to ensure that the application is usable by individuals with disabilities.

Service primary features and functionalities

This section will list the features and functionalities to be implemented by our team to the Tukko project during the Future Factory project.

For the functional features to be implemented, see the mindmap below for reference:

Product Mindmap

Functional requirements of the service

ReqID Description Affected Feature
FUNC-REQ-F101 User interface for comparing different LAM stations side by side. FEA101 - Compare Different LAM Stations Side by Side
FUNC-REQ-F105-1 Implement WCAG 2.2 accessibility measures. FEA105 - Implement Web App Accessibility Measures
FUNC-REQ-F105-2 Conduct accessibility testing and address any identified issues. FEA105 - Implement Web App Accessibility Measures
FUNC-REQ-F105-3 Ensure proper semantic markup and ARIA attributes. FEA105 - Implement Web App Accessibility Measures
FUNC-REQ-F106-1 Enhance dark mode colors for better visual comfort. FEA106 - Improve Dark Mode Colors
FUNC-REQ-F110-1 Provide sufficient color contrast options for users with color blindness. FEA110 - Enhance Color Contrast for Color Blindness
FUNC-REQ-F112-1 Update branding elements to reflect team and JAMK identity. FEA112 - Change Branding to Team and JAMK Brand
FUNC-REQ-F304-1 Implement localization for the Swedish language. FEA304 - Localization for Swedish
FUNC-REQ-F305-1 Implement localization for the Norwegian language. FEA305 - Localization for Norwegian
FUNC-REQ-F403-1 Regularly scan the codebase and dependencies for known security vulnerabilities. FEA403 - Regularly Scan for Known Security Vulnerabilities
FUNC-REQ-F404-1 Enforce secure coding practices such as input validation and output encoding. FEA404 - Enforce Secure Coding Practices
FUNC-REQ-F405-1 Establish an automated security testing pipeline for detecting and reporting security issues. FEA405 - Implement Automated Security Testing Pipeline
FUNC-REQ-F406-1 Harden all Docker containers for enhanced security. FEA406 - Harden All the Containers
FUNC-REQ-F407-1 Implement access controls for server security. FEA407 - Control Access to the Server
FUNC-REQ-F409-1 Deploy a Web Application Firewall to protect the application from threats. FEA409 - Protect Application with Web Application Firewall
FUNC-REQ-F516-1 Include exploratory testing in the testing process. FEA516 - Manual Testing
FUNC-REQ-F517-1 Ensure documentation is maintainable and easy to update. FEA517 - Maintainable Documentation

Software / service non-functional requirements

Non-functional requirements will be listed below.

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 Description
SEC-REQ-0001 The password must use at least MD5-level encryption, as required by the XY112 standard
SEC-REQ-0002 Regularly update and patch the application's software components and libraries to address known security vulnerabilities
SEC-REQ-0003 Ensure that sensitive data is encrypted both in transit and at rest using industry-standard encryption algorithms
SEC-REQ-0004 Enforce proper access controls to restrict users' access to only the resources and functionalities they are authorized to use
SEC-REQ-0005 Implement logging and auditing mechanisms to track user activities and system events for forensic analysis and compliance purposes
SEC-REQ-0006 Implement secure error handling practices to avoid exposing sensitive information in error messages and ensure proper reporting of security-related incidents

Accessability Requirements

ReqID Requirement Description
ACC-REQ-0000 Font Size Font should be sized at 16pt
ACC-REQ-0001 High Contrast Mode User interface should be visible in high contrast mode
ACC-REQ-0002 Dark Mode Support User should be able to use dark mode in the application
ACC-REQ-0003 City Search User should be able to text search for a specific city
ACC-REQ-0004 User-Friendly Traffic Visualizer application should be as user-friendly as possible
ACC-REQ-0005 Real-Time Traffic Data Display real-time traffic data from reliable and up-to-date sources
ACC-REQ-0006 Historical Traffic Data Provide historical traffic data that allows the user to predict where traffic jams might happen
ACC-REQ-0007 Intuitive Navigation The application should have clear and intuitive navigation menus

Quality Assurance

Three main points for quality assurance in the project are: Documentation, Risk Management and Master test plan.

Documentation ensures that we keep track of project details, requirements, changes, and different decision. It also helps the team members to communicate, and it also serves as reference for future development and maintenance.

Risk Management plan helps to identify potential threats for the project. By following the Risk Management plan, we can be prepared for the coming problems.

Master Test Plan serves as a guide for the testing. It gives details, objectives and the timelines for testing.

Preliminary Acceptance Tests

AcceptanceTestId Description Feature
ACCTEST001 Verify that different LAM stations are compared side by side in a user friendly format FEA101 Compare different LAM stations side by side
ACCTEST003 Verify that the application is fullfilling the required accessibility measures FEA105 Implement web app accessibility measures
ACCTEST004 Verify that color contrast is suitable for color blindness FEA110 Enhance color contrast for color blindness
ACCTEST005 Verify that the branding has been changed to match the team and JAMK FEA112 Change branding to team and JAMK brand
ACCTEST006 Verify that the displayed information is clear and understandable FEA304 Localization for Swedish
ACCTEST007 Verify that the displayed information is clear and understandable FEA305 Localization for Norwegian
ACCTEST008 Verify that the code has been scanned and that it doesn't have any issues FEA403 Regularly scan for known security vulnerabilities
ACCTEST009 Verify that pipeline is working and it dosen't have any security threats FEA405 Implement automated security testing pipeline
ACCTEST010 Verify that access to containers has been limited FEA406 Harden all the containers
ACCTEST011 Verify that only team members have access to the server FEA407 Control access to the server
ACCTEST012 Verify that firewall is running and it can stop or detect common web-based attacks FEA409 Protect applications with Web Application Firewall

Software architecture, placement view, database description, and integrations

This section will describe the software architecture. See the link below for more information.

Deployment diagram

The initial deployment diagram can be seen below:

Tukko deployment diagram

Integrations with other systems

This section will describe the integration of the software with other systems. To be edited when development begins.

Standards and sources

ID Category
ISO-IEC Standards
CSC (cPouta) Cloud Platform
General Data Protection Regulation (GDPR) Regulation
Directive on the legal protection of databases ('Database Directive') Directive
Digital contract rules Rules
Directive on the enforcement of intellectual property right ('IPRED') Directive
EU Cybersecurity Act Act
SO 9241-11 Usability
ePrivacy Directive Directive
WCAG (Web Content Accessibility Guidelines) Accessibility Guidelines
Directive on the legal protection of computer programs ('Software Directive') Directive
ISO9001 Quality management
OWASP Top 10 Security Best Practices
Leaflet.js Tool/Library
React Frontend JavaScript library/framework
Geoman.io Tool/Library
Redis.io Database
MongoDB Database
TypeScript Programming language
Docker Containerization platform
Digitraffic External data source