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
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
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
Skill View