Ir para o conteúdo

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.