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
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
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
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 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
Priorities of features:
- P1 = HIGH
- P2 = MID
- P3 = LOW
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
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
Standards and sources