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
Stakeholders and profiles
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
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
** Priorization of essential features / functions **
- P1 = Mandatory
- P3 = Required
- P5 = Nice to have
Functional requirements of the service
Software / service non-functional 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