Skip to content

Requirement Specification

Document Requirement Specification
Specification name Tukko 2.0
Author: Sonja Wesa, Leevi Markkanen
Version: 0.4
Date: 22-02-2024

Introduction

For the year 2024 of Future Factory, our team has been tasked with adding improvements and new features to the Tukko Traffic Visualizer service. Tukko is an open-source project that utilizes public traffic APIs from services such as Digitraffic and offers real-time insights of the traffic situation on the Finnish highway network.

Client

Combitech is the primay stakeholder in driving the development of the Traffic Visualizer project. They possess complete ownership and decision-making authority regarding the project's requirements and direction.

Project team

We are Kaizen, an energetic team of 6 second year ICT students from Jyväskylä University of Applied Sciences. Fueled by a passion for coding and networking with a commitment to continuous learning, our team is motivated to elevate our skills. Specifically for this assignment, we are wholeheartedly devoted to incorporating new features into Tukko, actively contributing to its ongoing evolution.

Short description of service/solution

Tukko, in its current state, functions as a minimum viable product, offering basic information about the traffic situation on the Finnish highway network. Our objective is to enhance its capabilities, transforming it into a user-friendly tool catering to diverse stakeholders and create space to improve it more in the future.

Business requirements / goals

ReqID Description
BUSINESS-REQ-0001 Elevate user experience with a enhanced UI design.
BUSINESS-REQ-0002 Outsource customer support and expedite issue resolution
BUSINESS-REQ-0003 Boost system scalability to accommodate future growth
BUSINESS-REQ-0004 Strengthen data security and ensure compliance measures

Stakeholder map

uml diagram

Stakeholders and profiles

Stakeholder/profile Link Motivation
Kaizen Link to website Development experience
Combitech Link to website Improve product
JAMK Link to website Support
End user 1 Person 17-35 Years old Uses application for commuting
End user 2 Person 36-45 Years old Uses application for personal intrest

Customer story's as background information

End user story

Profile 1 wakes up in the morning and checks from Tukko if there are any roadworks or traffic jams on planned route to worksite. With fully working application, they avoid losing time and money because they can plan better the time of day to travel.

Profile 2 is passonate hobbyist. Their point of intrest is to watch and collect data from different places. They aren't very experienced on using applications so they value secure connection and easy interface.

requirements for Profile 2(End User)

ReqID Description
CUSTOMER-REQ-0001 As a user, I want to be able to create an account and securely authenticate myself to the web app.
CUSTOMER-REQ-0002 As a user, I want to search location by name.
CUSTOMER-REQ-0003 As a user, I want to the web app and its data protected against unauthorized access.
CUSTOMER-REQ-0004 As a user, I want to give feedback simple way.

Customer Journey paths in Service/solution

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. #58
US052 As a user, I want to search location by name. #107
US028 As a platform engineer, I want to configure security measures, such as SSL/TLS certificates and secure network configurations, to protect the web app and its data from unauthorized access. #83
US063 As an administrator, I want to collect feedback from users through a better solution than straight-to-GitLab tickets. #128
US045 As a user, I want the dark mode colors to not pop out as much. #100
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. #101
US062 As a product owner, I want the WIMMA Lab / IoTitude branding changed to development team's and JAMK's branding. #127
US030 As a platform engineer, I want to configure and manage a cloud-based infrastructure, such as CSC Pouta server, to ensure high availability and scalability of the web app. #85
US061 As a team member I want to have maintainable documentation #116
US031 As a platform engineer, I want to set up monitoring and alerting systems, such as Prometheus and Grafana, to proactively monitor the health and performance of the web app and quickly respond to any issues. #86
US034 As a platform engineer, I want to keep good documentation of the architecture and pipelines. #89
US060 As a product owner, I want the testing to include exploratory testing. #115

Selected Use Cases of service/solution

Use Case Domain
Use Case: Change branding to team and JAMK brand User Interface
Use Case: Enhance color contrast for color blindness Accessibility
Use Case: HTTPS Connection Security
Use Case: Improve dark mode colors User Interface
Use Case: Maintain good documentation of the architecture and pipelines Documentation
Use Case: Maintainable Documentation Documentation
Use Case: Manage cloud-based infrastructure Operations
Use Case: Manual Testing Testing
Use Case: Search location by name User Interface
Use Case: Securely authenticate user accounts User feature
Use Case: Set up monitoring and alerting systems Operations
Use Case: User Feedback service User Interface

Preliminary MockUp-prototype layouts for solution/service

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

Constraints

ReqId 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

Service primay features and functionalities

uml diagram ** Priorization of essential features / functions **

  • P1 = Mandatory
  • P3 = Required
  • P5 = Nice to have
Feature Priority
FEA102 - Securely authenticate user accounts P1
FEA106 - Improve dark mode colors P1
FEA110 - Enhance color contrast for color blindness P1
FEA112 - Change branding to team and JAMK brand P1
FEA507 - Manage cloud-based infrastructure P1
FEA517 - Maintainable Documentation P1
FEA511 - Maintain good documentation of the architecture and pipelines P1
FEA516 - Manual Testing P1
FEA410 - HTTPS Connection P2
FEA519 - User Feedback service P2
FEA109 - Search location by name P3
FEA508 - Set up monitoring and alerting systems P3

Functional requirements of the service

ReqID Description Affected feature
FUNC-REQ-C0001 End User is able to authenticate account Securely authenticate user accounts (FEA102)
FUNC-REQ-C0002 Refines the colors in dark mode Improve dark mode colors (FEA106)
FUNC-REQ-C0003 Boosts color contrast Enhance color contrast for color blindness (FEA110)
FUNC-REQ-C0004 Rebrand product to right participants Change branding to team and JAMK brand (FEA112)
FUNC-REQ-C0005 Configuring and managing scalable cloud-based infrastructure Manage cloud-based infrastructure (FEA507)
FUNC-REQ-C0006 Create and upkeep documentation Maintainable Documentation (FEA517)
FUNC-REQ-C0007 Create and upkeep documentation Maintain good documentation of the architecture and pipelines (FEA511)
FUNC-REQ-C0008 Includes exploratory testing on top of regular ones Manual Testing (FEA516)
FUNC-REQ-C0009 Adds an additional security layer against unauthorized access HTTPS Connection (FEA410)
FUNC-REQ-C00010 Collects user feedback to a separate service User Feedback service (FEA519)
FUNC-REQ-C0011 Locate specific places by searching Search location by name (FEA109)
FUNC-REQ-C0012 Automates the monitoring and response to health and performance issues Set up monitoring and alerting systems (FEA508)

Software / service non-functional requirements

Performance Requirements

ReqID Description
PERF-REQ-0000 Searches for locations by name should yield results within 3 seconds.
PERF-REQ-0001 Switching between light and dark mode should happen instantaneously
PERF-REQ-0002 Data refresh for all displayed information on the map should occur no slower than every 15 seconds.

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

Accessability Requirements

ReqID Description
ACC-REQ-0000 The application should comply with WCAG 2.1 Level AA accessibility standards.
ACC-REQ-0002 All visuals and text should have sufficient color contrast for users with color blindness

These

Quality Assurance

Preliminary Acceptance Tests

AcceptanceTestId Description Feature
ACCTEST001 Verify that users can search city locations FEA109
ACCTEST002 Verify that user gets confirmation email FEA102
ACCTEST003 Verify that colors are corrected to match requirements for color blindness FEA110
ACCTEST004 Verify that user can delete their account FEA109
ACCTEST005 Verify that user can submit feedback FEA519
ACCTEST006 Verify that alerting system reacts any problems FEA508
ACCTEST007 Verify that user can change their password FEA109

Software architecture, placement view, database description, and integrations

Standards and sources

ID Category
JHS 165 ICT Requirement specification
SO 9241-11 Usability
ISO9001 Quality management
Redis.io Database
Digitraffic External data source
Docker Containerization platform
TypeScript Programming language
React Programming language
Node.js Programming language
CSC Pouta Virtual server