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
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
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
Export history data
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
**Priorization of essential features / functions **
- P1 = Mandatory
- P2 = Important
- P3 = Nice to have
Functional requirements of the service
Software / service non-functional 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
Software architecture, placement view, database description, and integrations
Deployment diagram
Integrations with other systems
General view of integrations as UML Deployment Diagram
Standards and sources
This part is not fully finished yet.
- General Data Protection Regulation (GDPR): This regulation protects privacy and gives individuals control over their personal data.
- ePrivacy Directive: This directive complements the GDPR and provides rules on confidentiality of communications and tracking technologies such as cookies.
- Directive on the legal protection of computer programs ('Software Directive'): This directive protects computer programs by means of copyright.
- Directive on the enforcement of intellectual property right ('IPRED'): This directive enforces intellectual property rights.
- Directive on the legal protection of databases ('Database Directive'): This directive protects databases.
- EU Cybersecurity Act: This act ensures safer hardware and software.
- 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.