Skip to content

Requirement Specification

Document Requirement Specification Draft
Specification name
Author: Alena Galysheva
Version: 0.1
Date: 22.05.2023

Introduction

The purpose of the project is to improve the Skill Collector's functionality for its users. The future goal is to seamlessly integrate Skill Collector with Power BI and Power Automate, so that working with the app as a process owner would be easier. The structure of Skill Collector is changed so that all information about different skills is retrieved from the SKILL-db database, which is implemented by the IoTitude team. The data gathered using Skill Collector is stored in a separate database(answer-db), from which the answers can be visualized using Power BI. Power Automate is used to manage the answer (hashes) database, as well as workflow automation.

Target audience

Skill Collector is mainly used by company employees who have agreed to answer the survey. Skill Collector's admin manages the hash codes that can be used to log in using Power Automate. The data collected from the companies can be viewed in the organization easily with help of Power BI.

Service description

Skill Collector is a service that can be used to collect up-to-date information about the needs of working life from companies.

The use of Skill Collector starts with an Excel table, where the "admin" can add people who have agreed to answer the survey about the company's needs regarding graduating students. Admin can select people from Excel to answer the survey, and with Power Automate, an email is sent to those who answer the survey, which contains a hash code with which to log in to the service.

The service is logged in with a hash code that the user of the service has received by e-mail. With the hash code, the user can log in to the service and fill out the survey. Five future need skills, five valuable skills, five important skills and five most important skills must be selected in the survey. The user can then go to the next page to select one valuable soft skill, one important soft skill and one very important soft skill. After this, the user can view the skills they have chosen and save their answers. After this, the user sees a thank you message and can close the service.

The answers from Skill Collector can be viewed using Power BI. In Power BI, the answers are visualized and thus easy to interpret.

Stakeholder map

Stakeholder map

Stakeholders and profiles

Stakeholder Information Motivation
Overflow Overflow Team Introduction Develop the product to learn new skills and build a portfolio
Iotitude Iotitude Team Introduction Develop the database for the product to learn new skills and build a portfolio
Mysticons Mysticons Team Introduction Assess the security of the product to learn new skills and build a portfolio
Universities University A profile Gather information about the skills in demand to adjust courses to match the needs of the ICT field
Companies Company X profile Recruit graduates with the hard and soft skills required in the working life
Marko "NarsuMan" Rintamäki WIMMA Lab research Research competencies developed in project environment by Overflow, Iotitude and Mysticons teams

System Overview

System overview

Key functionalities

Preliminary User Storys

User Story ID Description Link to issue
US001 As a user I want a logo so that I know what site I'm on
US002 As a user I want header where I can see important stuff (logo, skill collector name, info)
US003 As a user I want to see submit button all the time
US004 As a user, I want the progress bar to be easily visible
US005 As a user I want the skill info to be seen with hovering over icon
US006 As a user I want the highlightable categories to be called views
US007 As a user I want clear phrasing
US008 As a user I want to be able to use the service with keyboards
US009 As a user I want the navigation bar to be on left side of screen
US010 As a user I want skills and soft skills to different pages
US011 As a user I want a somekind of message when I've selected all skills from category
US012 As a user I want progress bar to see where I am on page
US013 As a user I want the view to be scalable
US014 As the end user, I want to see all skills available for me to select as well as their descriptions.
US015 As the end user, I want to be able to use the website in Finnish since it's my native language and I have easier time understanding it.
US016 As the end user, I want to be able to change the website language at every page.
US017 As a process owner, I want to remove JAMK branding so that other educational institutions can use this tool too.
US018 As a process owner, I want the Skill Collector and Career Scouter to have a visually compatible design to reflect their shared philosophy.
US019 As a UI/UX designer, I want the visual elements of the website to be accessible so that more people can enjoy using the service.
US020 As a process owner, I want to have visual representation of the responses collected because it highlights the trends in the data.
US021 As a data analyst, I want to fetch data from the database so that it can be processed in Power BI.
US022 As a process owner, I want to manually review entries with the same first and last name so that no duplicate entries are added.
US023 As a process owner, I want to share the survey to the authorized personnel at my university so that they could invite respondents.
US024 As a process owner, I want to store respondent's first name, last name, company, contact email so that I can send them a survey email.
US025 As a process owner, I want to manually select survey receivers and trigger the email sending so that I can exclude people who can't respond right now.
US026 As a process owner, I want to manually enter hashes for the respondents in the Excel sheet.
US027 As a process owner, I want to have hashes generated for the respondents registered by the authorized users.
US028 As a service administrator, I want to run the service in Docker so that it's easy to build and deploy the service to the server.
US029 As a process owner, I want new hashes to be automatically added to the database so that I don't have to do it manually.

Selected Use Cases of service/solution

Use Case Domain
Use Case 1 -Creation of Hashes, Automated Email Generation and Delivery Data Management and Communication
Use Case 2 - User's Access and Interaction with the Service User Interaction and Service Access
Use Case 3 - Skill Survey and Response Storage Data Collection and Storage
Use Case 4 - Data Visualization Data Analysis and Visualization

The Use Case diagram is available in the project repository as .drawio file. The diagram provides a visual representation of the interactions and relationships between entities within each use case. The .drawio file can be accessed and modified using the draw.io editor or any compatible tool. This allows for future updates and adjustments to the diagram as the system evolves or new requirements emerge. You can find it here.

Please note that any modifications made to the draw.io files should be appropriately documented and reviewed to ensure accuracy and consistency with the actual system behavior.

It is essential to maintain the integrity and accuracy of the Use Case diagrams to ensure a clear and up-to-date representation of the system's functionality and interactions. Regular reviews and updates to the diagrams can contribute to improved documentation and understanding of the system.

Requirements

Performance requirements

ID Description
PERF-REQ-0001 Service uptime should be almost 100%.
PERF-REQ-0002 The service should be able to handle multiple survey submissions concurrently without significant delays.
PERF-REQ-003 The service should be designed to handle increasing loads as the number of survey respondents grows. It should be able to accommodate a large number of users submitting surveys simultaneously without experiencing performance degradation.
PERF-REQ-004 The system should be capable of handling a high volume of survey submissions efficiently. It should be able to process incoming data in a timely manner to prevent data loss or delays in data processing.
PERF-REQ-005 Data transfer to database should be efficient and minimal latency in survey submission.

Security requirements

ID Description
SECURITY-REQ-001 Service has to have encypted connection between browser and application.
SECURITY-REQ-002 Service has to handle personal data by GDPR standards.
SECURITY-REQ-003 Only authorized personnel should have access to the database and its administrative functions
SECURITY-REQ-004 Educate survey administrators and users about good security practices. Raise awareness about potential threats, phishing attempts, and the importance of maintaining data confidentiality.
SECURITY-REQ-005 Proper input validation and parameterized queries to mitigate the risk of SQL injection attacks.
SECURITY-REQ-006 Keep the software up to date with the latest security patches and updates.

Accessibility requirements

ID Description
USAB-REQ-001 The service will meet WCAG 2.1 Accessibility guidelines on the basic level
USAB-REQ-002 User interface should be visible in high contrast mode.
USAB-REQ-003 Font size will be large enough for better viewing experience. The UI remains readable and understandable even if the font is enlarged.
USAB-REQ-004 The user inteface can be operated with keyboard only.
USAB-REQ-005 All information, including dynamic content, is accessible to screen readers.
USAB-REQ-006 Alternative text or captions for visual content, such as images, charts, or videos are in place.
USAB-REQ-007 There is a clear visual indication of focus on interactive elements when navigating using the keyboard.
USAB-REQ-008 Clear and consistent navigation throughout the application.
USAB-REQ-009 All form fields have associated labels or placeholders to provide context and instructions.
USAB-REQ-010 Error messages are accessible to assistive technologies and understandable to users with disabilities.

Technical requirements

ID Description
TECHREQ-001 The service is published as Docker containers.
TECHREQ-002 Front end is programmed with Vue.js
TECHREQ-003 Back end is programmed with Node.js
TECHREQ-004 PostgreSQL is used as database.
TECHREQ-005 Workflow is automated with Power Automate.
TECHREQ-006 Data visualization is made with Power BI.

Preliminary MockUp-prototype layouts for solution/service

Main page Main page

Skill view Skill View

Service development environment

Service development environment