Documento de Especificação Suplementar
Introdução
Finalidade
Aqui buscamos reunir requisitos, principalmente não funcionais, que abrangem de forma mais geral alguns critérios de qualidade aos quais está submetida a aplicação, além de outros tipos de necessidade do produto.
Escopo
O escopo é definido por uma plataforma de chat, focada em uso profissional e chat em grupos, que pode ser acessada via web, mobile, ou instalada nos computadores de sistemas operacionais MacOS, Windows e Linux.
Definições, Acrônimos e Abreviações
Listados nos Léxicos.
Funcionalidades
Os requisitos funcionais podem ser vistos através das listagens nos métodos de elicitação e também por meio dos Cenários, Casos de uso, e especificações dos casos de uso
Usabilidade
Aqui são listados critérios de qualidade quanto a interação do usuário com a aplicação.
ES01 - Fluxo de naveçaão
A plataforma deve oferecer um fluxo intuitivo de navegação pela plataforma Rastro:AP6
ES02 - Instruções de uso
A aplicação deve possuir instruções aos novos usuário para ajudá-lo no uso do aplicativo. Rastro:AP3
ES03 - Notificações
O sistema deve dar avisos ao usuário quando alguma ação importante ocorrer na plataforma, como uma nova mensagem Rastro:Q3,AD5
ES04 - Visibilidade de status do sistema
O sistema deve fornecer feedbacks ao usuário, de forma que ele entenda o antes, durante e depois das suas ações no sistema.
ES05 - Ícones e cores
O sistema deve possuir ícones e cores que condizem com alguma ação que será realizada no aplicativo Rastro:AP6
ES06 - Resolução de erros
O sistema deve fornecer avisos quando houver algum erro no ato de uma ação.
Desempenho
Este tópico descreve as restrições de comportamento geral do sistema.
ES07 - Velocidade de resposta
A aplicação deve ser capaz de responder com rapidez a uma ação de um usuário.
ES08 - Servidores
O sistema deve possuir servidores eficientes para o suporte e tratamento do fluxo de dados criado pelos diversos usuários sem gerar sobrecarga, considerando também o suporte a escalabilidade de usuários ao longo do ciclo de existência do aplicativo. Rastro:ENT1.7
Portabilidade
Aqui são listados os requisitos da aplicação quanto a sua portabilidade, em diferentes plataformas.
ES09 - Android
A aplicação deve estar disponível e ser suportada em dispositivos móveis com sistema operacional Android 5.0 ou superior, incluindo tablets e smartphones Rastro:INT3.7 e Q18
ES10 - IOS
A aplicação deve estar disponível e ser suportada em dispositivos móveis com sistema operacional IOS 11.0 ou superior, incluindo dispositivos como Iphone e Ipad. Rastro:INT3.7 e Q18
ES11 - Windows
A aplicação deve estar disponível e ser suportada em computadores ou notebooks com sistema operacional Windows 7 ou superior. Rastro:INT3.7 e Q18
ES12 - Linux
A aplicação deve estar disponível e ser suportada em computadores ou notebooks com sistema operacional Linux, com processadores de 32 ou 64 bits, incluindo diversas distribuições: CentOs, Baseadas no Debian através dos pacotes .deb ou gerenciadores de pacote (apt ou snap), RedHat ou outras distribuições que suportam pacotes .rpm. Rastro:INT3.7 e Q18
ES13 - MacOS
A aplicação deve estar disponível e ser suportada em computadores ou notebooks com sistema operacional MacOs X 10.10.0 ou superior, com processadores de 64 bits. Rastro:INT3.7 e Q18
Conectividade
Descreve a integração da aplicação com diferentes plataformas de sistema e aplicações de terceiros.
ES14 - Redes sociais
A aplicação deve permitir a integração com redes sociais, para maior facilidade do usuário em se cadastrar. Rastro:AP1
ES15 - Padrão de interface entre plataformas
A aplicação deve manter um padrão de interface em todas as plataformas se adequando a qualquer dispositivo, para que o usuário possa ter uma fácil integração em todos os meios. Rastro:Q18, Q1
ES16 - Comunicação com usuários
A aplicação deve manter a comunicação com o usuário por meio de notificações e por meio de e-mails previamente cadastrados.
Tratamento de Falhas
Este tópico descrece como a aplicação deve identificar e tratar erros.
ES17 - Monitoramento
A aplicação deve manter monitoramento e inspeção constantes de problemas afim de executar a correção de bugs.
ES18 - Atualização
A aplicação pede ao usuário que certifique-se de que está executando a última versão. É muito provável que a simples atualização resolva seu problema.
ES19 - Feedback
A aplicação relata ao usuário que ocorreu uma falha no sistema e solicita um feedback para tentar resolve-lá. Com essas informações o suporte pode corrigir o problema mais rapidamente.
Segurança
Aqui são tratados os requerimentos da aplicação quanto a sua segurança e a segurança dos dados que nela trafegam.
ES20 - Autenticação
A aplicação deve fornecer um sistema de autenticação segura, por meio de e-mail ou nome de usuário, acrescido da senha do usuário.
ES21 - Criptografia
A aplicação deve oferecer a opção de Criptografar as mensagens dos grupos privados e mensagens diretas na aplicação, através de uma chave E2E única para cada usuário no servidor principal compartilhado da Rocket.Chat
ES22 - Servidores particulares
O sistema de possuir a opção do usuário adicionar servidores particulares para a prevenção e segurança dos seus dados.
Restrições de Design
ES23 - Listagem de channels
Na página principal do usuário, deverão estar acessíveis os chennels principais que o usuário acessa, um menu com as configurações do aplicativo e opções de suporte, bem como ferramentas de pesquisa para que o usuário procure rapidamente por usuários ou channels.
ES24 - Interface de edição de texto
Dentro do channel, deverá existir uma interface de edição de texto com ferramentas para formatar e escrever o texto. Bem como menus visíveis com todas as funcionalidades relacionadas aquele channel em específico.
ES25 - Pluralidade de idiomas
A interface deverá estar disponível na maior pluralidade possível de idiomas.
Requisitos de Suporte ao usuário
Aqui são listados todos os requisitos referentes a ajuda e suporte aos usuários da aplicação.
ES26 - Documentação
A plataforma deve possuir uma documentação bem organizada, no formato de uma Wikia. Que explique todas as funcionalidades e restrições aplicáveis. Rastro: Documentação
ES27 - Ajuda
Dentro do menu da aplicação deve haver um botão de ajuda. Que leva para uma página com problemas frequentes dos usuário e suas respectivas resoluções, bem como um link para a documentação e para entrar em contato com o suporte caso a ajuda ali não seja suficiente. Rastro: Ajuda
ES28 - Suporte online
A equipe de suporte ao usuário deve ser eficiente, de forma que o usuário que entre em contato para receber ajuda com algo deve receber sua resposta idealmente no prazo máximo de 24 horas.
ES29 - Forum de discussão
Deve haver um fórum dedicado a discussão de problemas e submissão de feedbacks acerca da aplicação. Pelo qual tanto os usuário quanto a equipe de desenvolvimento podem se manifestar.
ES30 - Como contribuir
Por ser uma aplicação Open Source, na documentação deve haver uma secção explicando claramente os passos de como alguém pode contribuir com o projeto. Rastro: Guia de contribuição
ES31 - Organização do repositório.
O repositório da aplicação do Github deve ser bem organizado, de modo que os interessados consigam facilmente submeter problemas, resoluções e feedbacks através das issues. Rastro: Repositório do Rocket.chat
Interfaces
Aqui são definidos todos os tipos de interface presentes na aplicação.
ES32 - Interfaces do Usuário
A plataforma deverá possuir uma interface gráfica, pela qual os usuários sejam capazes de interagir com todas as funcionalidades para eles disponíveis no sistema.
ES33 - Interfaces de Hardware
Os dispositivos de hardware nos quais a aplicação pode ser instalada são: Computadores Desktop, Notebooks e dispositivos mobile como smartphones e tablets.
ES34 - Interfaces de Software
As definições de linguagens, frameworks e paradigmas para a criação e evolução do software devem ser as quais ofereçam a longo prazo uma fácil manutenção e confiabilidade.
Requisitos de Licenciamento
Será expecificado os aspectos referentes às permissões e restrições ao usuário, definidas na politica de privacidade e termos de serviço, estes, que não serão aplicados quando usuário estiver usando a instalação on-premises do Rocket.chat.
ES35 - Cadastro
Ao se cadastrar na aplicação, o usuário disponibiliza seu endereço de e-mail, primeiro e ultimo nome, alem de cookies e dados de uso, como o endereço de IP, informações do navegador, na versão web e ID do dispositivo, endereço de IP, sistema operacional, na versão mobile, entre outras informações. Será enviado noticias e notificações para o usuário, o mesmo sendo opcional. Rastro:Rocket.chat-Privacidade
ES36 - GDPR
Rocket.Chat é compativel à General Data Protection Regulation (GDPR), é um regulamento do direito europeu sobre privacidade e proteção de dados pessoais, aplicável a todos os indivíduos na União Europeia e Espaço Económico Europeu.
ES37 - Observações Legais, de Copyright e Outras
A aplicação é licenciada sob a MIT License. É permitido o uso, copía, modificação, entre outros, totalmente gratuito garantido pela licença do software.
Referências
Versionamento
Data | Versão | Modificação | Autor |
---|---|---|---|
28/04/2019 | 1.0 | Abertura do documento e inclusão do template | Marcos Nery |
28/04/2019 | 1.1 | Preenchimento inicial do documento, de introdução à funcionalidades | Marcos Nery |
29/04/2019 | 1.2 | Preenchendo os requisitos de usabilidade e desempenho | Gabriel Davi |
29/04/2019 | 1.3 | Adição dos requisitos de portabilidade e segurança | Lucas Maciel |
29/04/2019 | 1.4 | Adição dos requisitos de conectividade e tratamento de falhas | André Lucas |
29/04/2019 | 1.5 | Adição dos requisitos de suporte ao usuário | Marcos Nery |
29/04/2019 | 1.6 | Adição da listagem de Interfaces | Marcos Nery |
29/04/2019 | 1.7 | Adição das observações legais e copyright | Heron Rodrigues |
29/04/2019 | 1.8 | Adição dos requisitos de licenciamento | Heron Rodrigues |
29/04/2019 | 1.9 | Adição das referências | Marcos Nery |
03/04/2019 | 2.0 | Refatoração dos títulos dos tópicos | Marcos Nery |
22/06/2019 | 2.1 | Adição dos rastros por tópico | Marcos Nery |