Especificação Suplementar
Data | Versão | Descrição | Autor |
---|---|---|---|
03/09/2020 | 0.1 | Inserção dos tópicos "Desempenho", "Interoperabilidade", "Segurança", "Restrições de Design", "Interfaces" | Lucas Melo |
04/09/2020 | 0.2 | Inserção dos tópicos "Introdução", "Usabilidade", "Confiabilidade" e "Portabilidade" | Jaime Juan |
02/12/2020 | 1.0 | Correção de erros ortográficos | Estevão Reis |
1. Introdução
1.1 Finalidade
Este documento tem como objetivo abordar aspectos técnicos, legais e demais requisitos sobre a aplicação, assim como suprir a falta dos demais documentos.
1.2 Escopo
Os requisitos aqui elucidados fazem parte do processo de desenvolvimento da aplicação, que auxiliará aprendizes e mentores no aprendizado da linguagem de programação python e do framework web Django.
2. Usabilidade
Um ponto essencial para a usabilidade do sistema proposto é que o mesmo ofereça um design e uma interação acessível tanto para os aprendizes quanto aos mentores. Considerando a deficiência no ramo feminino, a ferramenta vem ao encontro de estimular o ensino assíncrono, assim como promover uma imersão no mundo da programação com um sistema de mentorias e obtenção de um certificado ao final. Para alcançar tal meta, a aplicação deve conter um design limpo, de fácil visualização e entendimento, com acesso rápido e intuitivo a informações e funcionalidades importantes, sempre utilizando-se uma linguagem de fácil entendimento e compreensão.
2.1 Metas de usabilidade
- Eficaz: O sistema deve alcançar seu objetivo.
- Eficiente: Velocidade de uso.
- Segurança: Proteção ao usuário contra situações indesejáveis (uso).
- Utilidade: Oferece o tipo certo de funcionalidade.
- Aprendizado: Fácil de aprender.
- Memorização: Fácil de lembrar como se usa.
- Prevenções de erros: Evitar inserção de dados errôneos ou inadequados.
- Diagnóstico de erro fácil para o usuário: Mensagens de erro claras e de fácil entendimento para o usuário.
- Visibilidade de estado do sistema: Deixar claro ao usuário o que está acontecendo em tempo real.
3. Confiabilidade
O sistema deverá ter alto nível de disponibilidade considerando a necessidade de acesso contínuo e frequente à aplicação. Tal requisito gerará um contexto em que falhas e bugs do sistema tenham a possibilidade de serem corrigidas rapidamente, pois esses erros podem gerar atrasos nos atendimentos e problemas no entendimento.
4. Portabilidade
O sistema deverá funcionar nos navegadores de internet em geral, assim como em dispositivos capazes de acessar a internet, que suportem os demais navegadores e, também, que estejam equipados com sistema Windows, Linux, Mac, Android e iOS, ou seja,se adaptando visualmente à esses sistemas.
5. Desempenho
O sistema terá um bom tempo de resposta dentro do possível da capacidade do servidor, contará com uma rápida renderização, que será possível através da boa aplicação das tecnologias.
6. Interoperabilidade
O sistema possuirá conexão com banco de dados para guardar os dados das aprendizes e dos mentores cadastrados.
7. Segurança
As informações sigilosas dos usuário só poderão ser vista por ele mesmo. A aplicação seguirá a política de privacidade que dará a garantia de que os dados estão protegidos.
8. Restrições de Design
8.1 Interface
- Intuitiva
- Receptiva
- Responsiva
8.2 Padrão de código
- Lint
- lowerCamelCase
8.3 Ferramentas
8.3.1 Gerenciamento
- Teams
- Google Drive
- Slack
8.3.2 Desenvolvimento
- Docker
- Github
9. Interfaces
9.1 Interface do Usuário
Contará com uma interface que disponibilize as ferramentas necessárias para o usuário.
9.2 Interface de Software
A aplicação contará com uma linguagem de programação e framework focados no desenvolvimento web, para possibilite uma boa eficiência no desenvolvimento.
9.3 Interface de Comunicação
A aplicação possibilitará uma comunicação eficiente, de forma que requisições possam ser feitas de forma simultânea.