Skip to content

Requirement Specification

Document Requirement Specification
Specification name TukkoDoc
Author: DataDynamo
Version: 2.3
Date: 12-4-2024

Introduction

We are working on an assignment called Tukko-Traffic Visualizer and the main customer of ours is Combitech Oy. IoTiude was the original founder of this web app and now their team leader and Combitech wants us (DataDynamo) to modify and update this traffic app to new level.

In this requirement specification document is been listed most important facts about the web app's functionalities, stakeholders, user stories and use cases of these new features we're going to deliver.

Client

Our main client is Combitech Oy and is the one this requirement specification document is pointed for, it will be our project foundation stone to it's success and up-to-date snapshot monitoring portal for Combitech to ensure that their needs are being answered properly.

About the author and project team

Our team DataDynamo consists from six members who are joining into new era of smart business solutions in IT-infrastructure. We are new and eager junior developers who's goals are spreaded accross information and communication technology field of studies, some of us are going for data-analys and artificial intelligence field, some are highly motivated developers for new innovations. Together with our passions we build strong and firm project group, more info about our team members and their specification in this project you can find here

Short description of service/solution

The Traffic visualizer is capable of showing numerous information and data all around Finland about real-time information on traffic conditions and the fastest routes between locations. With our new features to this app, we create more tools for end user and also to maintainer.

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 Traffic Visualizer's usage should be user-friendly so that even someone who has zero experience with computers could use it. This way everyone who want's to use our services can use it without problems
BUSINESS-REQ-0003 Traffic Visualizer's website should take everyones user experience into account so that everyone can use it no matter their current conditions

Stakeholder map

uml diagram

Stakeholders and profiles

Stakeholde/profile Info/Link Motivation?
DataDynamo Website Develops the product
Combitech Profile Wants to use the product and develop it further
End user 1 Profile Benefits from current traffic information
End user 2 Profile Benefits from historical traffic data

Customer story's as background information

  • User 1 Alex is a delivery driver responsible for transporting goods across the city. Efficiency is crucial for Alex's job, and he depends on our traffic visualization tool to optimize his delivery routes. Before starting his deliveries, Alex uses the app to assess the current traffic situation in different neighborhoods. The real-time data helps him plan the most time-effective route, avoiding congested areas and potential delays. By utilizing the Traffic Visualizer, Alex not only ensures prompt deliveries but also maximizes fuel efficiency, contributing to a more sustainable and cost-effective delivery process.

  • User 2 Sarah is a data analyst working for a city planning department. Her job involves analyzing historical traffic data to identify patterns and make informed decisions about urban infrastructure improvements. Sarah relies on our traffic visualization app to download .csv files containing detailed traffic information from specific dates.

Customer need

Requirement ID Description Related feature
CUSTOMER-REQ-0001 Maintain high availability for customer satisfaction. FEA507
CUSTOMER-REQ-0002 As a user, I want to inspect traffic volumes from specific dates and download them as a .csv file. FEA203

Customer Journey paths in Service/solution

Customer journey path as PlantUML Statemachine -diagram

uml diagram

Preliminary User Storys

User Story ID Description
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.
US004 As a customer, I want secure authentication mechanisms, such as password hashing and session management, to protect user accounts
1 US005
US010 As a user, I want to export history data from specific dates.
US017 As a developer, I want to regularly scan the codebase and dependencies for known security vulnerabilities and address them promptly.
US027 As a platform engineer, I want to set up a scalable and resilient infrastructure using containerization, such as Docker, to ensure easy deployment and management of the web app.
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.
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
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.
US039 As a developer, I want to set up continuous integration (CI) and continuous deployment (CD) pipelines to automate the testing and deployment processes.
US045 As a user, I want the dark mode colors to not pop out as much.
US047 As a user, I want to have favorite LAM stations which I can follow under my user
US060 As a product owner, I want the testing to include exploratory testing
US061 As a team member I want to have maintainable documentation
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

Authentication

uml diagram

Export history data

uml diagram

Use Case Domain
UC01 - Compare different LAM stations side by side Requirement Management
UC02 - Saving a favorite station Requirement Management
UC03 - Returning to a saved favorite Requirement Management
UC04 - Removing a previously saved favorite Requirement Management
UC05 - Signing up Requirement Management
UC06 - Securely authenticate user accounts Requirement Management
UC07 - Manual Testing Requirement Management
UC08 - Export history data Requirement Management
UC09 - Manage cloud-based infrastructure Requirement Management
UC10 - HTTPS Connection Requirement Management
UC11 - Set up monitoring and alerting systems Requirement Management
UC12 - Maintainable Documentation Requirement Management

Service in current state

Link to Tukko VM2

System requirements

RequirementsID Description Feature
SYSTEM-HW-REQ-0001 Cloud-based infrastructure should have necessary configuration and management capabilities. FEA507
SYSTEM-HW-REQ-0002 The system should provide a data export feature allowing users to download data in CSV format. FEA203
SYSTEM-HW-REQ-0003 Virtual machines should be configured with Ubuntu 20.04 as their operating system. FEA507
SYSTEM-HW-REQ-0004 All virtual machines must be equipped with 4 VCPUS. FEA507
SYSTEM-HW-REQ-0005 Infrastructure should ensure high accessibility for users accessing different LAM stations. FEA101
SYSTEM-HW-REQ-0006 Secure storage for user credentials. FEA102
SYSTEM-HW-REQ-0007 Database capacity for storing user favorites. FEA103
SYSTEM-HW-REQ-0008 The system must be capable of integrating security tools if necessary. FEA410
SYSTEM-HW-REQ-0009 Tester must have an independent test environment. FEA516
SYSTEM-HW-REQ-0010 A cloud-based infrastructure should be capable of hosting monitoring and alerting systems. FEA508

Constraints and standards that affect on service design

ReqId Description Feature
CONSTRAINT-REQ-S00001 Cloud-based infrastructure must comply with GDPR and other relevant data protection standards. FEA507
CONSTRAINT-REQ-S00002 Ensure that the downloaded data does not violate intellectual property rights or copyrights. FEA203
CONSTRAINT-REQ-S00003 Data storage and processing operations must ensure encryption and secure data management practices. FEA103
CONSTRAINT-REQ-S00004 Configure security measures, such as SSL/TLS certificates FEA410
CONSTRAINT-REQ-S00005 Manual testing processes should comply with ISO/IEC/IEEE 29119-1:2022 standards. FEA516
CONSTRAINT-REQ-S00006 User data export features must align with the right to data portability under GDPR. FEA101
CONSTRAINT-REQ-S00007 Authentication processes should comply with necessary security guidelines to guarantee strong protection for user accounts. FEA102
CONSTRAINT-REQ-S00008 Monitoring and alerting systems must follow best practices for data security and privacy. FEA508

Service primay features and functionalities

  • Spesific documentation
  • Export history data
  • Alerting systems
  • HTTPS connection
  • Dark mode

uml diagram

**Priorization of essential features / functions **

  • P1 = Mandatory
  • P2 = Important
  • P3 = Nice to have
Feature Priority
FEA106 P1
FEA203 P3
FEA410 P2
FEA507 P1
FEA508 P3
FEA516 P1
FEA517 P1

Functional requirements of the service

ReqID Description Affected feature?
FUNC-REQ-C0001 CLOSED Create access for the user to compare different LAM stations side to side to see differenties. Feature FEA101 - Compare different LAM stations side by side
FUNC-REQ-C0002 CLOSED Give users an access to create personal account to app and securely authenticate themself. Feature FEA102 - Securely authenticate user accounts
FUNC-REQ-C0003 CLOSED Allows users to save their favorite LAM stations into their personal account in the app. Feature FEA103 - Save favourite LAM stations to user account
FUNC-REQ-C0004 Allows users to use the applications dark mode more friendly Feature FEA106 - Improve dark mode colors
FUNC-REQ-C0005 Allows users to export certain infromation from certain time period. Feature FEA203 - Export history data from specific dates
FUNC-REQ-C0006 allows platform engineer to configure security measures, such as SSL/TLS certificates and secure network configurations, to protect the web app and its data from unauthorized access Feature FEA410 - HTTPS Connection
FUNC-REQ-C0007 Allows platform engineer to configure and manage a cloud-based infrastructure. Feature FEA507 - Manage cloud-based infrastructure
FUNC-REQ-C0008 Allows platform engineer to set up monitoring and alerting systems. Feature FEA508 - Set up monitoring and alerting systems
FUNC-REQ-C0009 Gives product owner an documentation of manual testing of the app. Feature FEA516 - Manual Testing
FUNC-REQ-C0010 Gives team members and product owner up-to-date document Feature FEA517 - Maintainable documentation

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. This is critical for user satisfaction and to ensure that the service is reliable and efficient.
PERF-REQ-0001 Throughput The gateway service should be able to handle a certain number of requests per second without degradation of performance. This requirement ensures the service can manage high volumes of traffic without slowing down.
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). This flexibility is key to maintaining performance during peak usage times.
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. High availability is essential for services that need to be constantly accessible to users.
PERF-REQ-0004 Resilience The gateway service should be able to recover quickly from failures and continue to function. This requirement ensures that the service remains operational even in the face of unexpected issues, minimizing downtime.

Security Requirements

ReqID Requirement Description
SEC-REQ-0001 Secure Communication All communication between devices and servers must be encrypted to prevent interception. This ensures that sensitive information is protected during transmission and reduces the risk of data breaches.
SEC-REQ-0002 Authentication Firefighters must be authenticated before they can access the system to ensure that only authorized personnel have access. This requirement helps prevent unauthorized access and ensures that only legitimate users can perform actions within the system.
SEC-REQ-003 Data Integrity The system must ensure that data, such as incident reports or firefighter locations, is not tampered with. Maintaining data integrity is crucial for the accuracy and reliability of the information within the system, which is essential for operational effectiveness and safety.

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.

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

uml diagram

Integrations with other systems

General view of integrations as UML Deployment Diagram

uml diagram uml diagram

Standards and sources

This part is not fully finished yet.

  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.