Foward-From
Neste documento busca-se construir a matriz de pós-rastreabilidade através da ótica Foward-From. Foram feitas duas tabelas, a primeira para requisitos funcionais e a segunda para os não funcionais.
Metodologia
Para o desenvolvimento do documento a seguir, a equipe decidiu separa-lo em duas tabelas, a primeira tabela com os requisitos funcionais e a segunda para os requisitos não-funcionais. Como vários membros da equipe iriam trabalhar no documento ao mesmo tempo, foram criadas duas tabelas no drive, para evitar a repetição de requisitos na tabela, que posteriormente seriam convertidas para formato markdown e colocadas na wikia. Link para as tabelas no drive: funcionais e não-funcionais.
Requisitos Funcionais
Código | Descrição | Tema | Épico | US | Funcionalidade | Código |
---|---|---|---|---|---|---|
RF1 | Tradução instântanea para mensagens em línguas diferentes da padrão | T04 | EP11 | US45 | Tradução | View |
RF2 | O aplicativo deve ser capaz de realizar videoconferências em grupo | T04 | EP11 | US46 | Videoconferência em grupo | Código - Método "livevideo" |
RF3 | A aplicação deve oferecer ao usuário a possibilidade de entrar no app através de username e senha, previamente cadatrados no aplicativo | T01 | EP01 | US01 US02 |
Login |
View Action |
RF4 | O app deve permitir o cadastro na aplicação por contas de serviços de terceiros ou a partir de dados do usuário, como email, username e senha | T01 | EP02 | US03 US04 |
Cadastro |
View Utils |
RF5 | O usuário deve ter a disposição, a criação de canais, subgrupos de discussão e grupos, privados/publicos, ilimitados. | T04 | EP08 | US18 US19 US21 |
Criar channel |
View Action |
RF6 | O usuário deve ser capaz de, dentro da plataforma, enviar mensagens dentro de grupos de conversa ou dentro de chats privados | T04 | EP08 | US20 | Enviar mensagem |
Código - Método "sendMessage" |
RF7 | O usuário deve ser capaz de realizar uma busca de uma mensagem dentro de um determinado chat | T04 | EP11 | US48 | Procurar mensagem |
Código - SearchMessages |
RF8 | O app deve oferecer a possibilidade do usuário instalar seu próprio servidor local. | T05 | EP16 | US65 | Servidor | View Action Util |
RF9 | A plataforma deve permitir a integração de Bots | T04 | EP14 | US62 | Bots | View Action Util |
RF10 | A plataforma deve permitir a alteração nas configurações do app | T03 | EP05 | US09 | Configurações do app |
View Action Util Util |
RF11 | Possibilidade de alteração do idioma no aplicativo | T03 | EP05 | US09, US10 | Alterar idioma | View Util |
RF12 | Permitir usuario iniciar conexão com uma instância do Rocket.chat | T05 | EP16 | US65 | Conectar com um servidor | Código |
RF13 | Alteração de senha | T03 | EP05 | US12 | Alterar senha |
Código - Método "newPassword" |
RF14 | Possibilidade de mencionar, um ou todos, os membros do grupo | T04 | EP11 | US43 | Mencionar | Código - Método "Mention" |
RF15 | Sistema deve ser capaz de Adicionar autenticação de 2 Fatores | T03 | EP06 | US13 | Autenticação 2 Fatores | View Util |
RF16 | Sistema deve mostrar e permitir a edição das configurações da conta | T03 | EP05 EP06 |
US09 US14 |
Editar conta |
View Util |
RF17 | O sistema deve permitir o envio de arquivos e documentos em um chat | T04 | EP10 | US28 US33 |
Envio de Arquivo | Código - Método "Files" |
RF18 | Permitir a alteração do status do usuário | T03 | EP06 | US15 | Alterar status |
Código - Método "renderStatusItem" |
RF19 | App deve possuir ferramenta para busca de Channels | T03 | EP07 | US16 | Buscar channel |
Código - Método "search" |
RF20 | App deve possuir opções para listar Channels em categorias | T03 | EP07 | US17 | Ordenar por categoria |
Código - Método "groupByType" |
RF21 | Possibilidade de favoritar um grupo | T04 | EP11 | US42 | Favoritar Channel | Código - Método "renderRole" |
RF22 | Permitir a alteração de privacidade do Channel | T04 | EP09 | US22 | Privacidade do Channel | Código - Método "renderType" |
RF23 | Definir Channel como Read Only | T04 | EP09 | US23 | Read Only | Código - Método "renderReadOnly" |
RF24 | Definir Channel para BroadCast | T04 | EP09 | US24 | BroadCast | Código - Método "renderBroadcast" |
RF25 | Permitir que o usuário possa adicionar ou visualizar as informações do Channel através de uma descrição, tópico do Channel | T04 | EP09 EP11 |
US25 US26 US47 |
Adicionar descrição |
Código - Método "description" |
RF26 | App deve permitir o envio de desenhos, como mensagens | T04 | EP10 | US30 | Desenho | Código - Método "drawing" |
RF27 | O sistema deve permitir o envio de arquivos de midia, como vídeo e áudio | T04 | EP10 | US31 | Midia | Código - Método "Files" |
RF28 | O usuário deve poder editar suas mensagens enviadas | T04 | EP10 | US34 | Editar Mensagens | Código - Método "editing" |
RF29 | O usuário deve poder copiar uma mensagem | T04 | EP10 | US35 | Copiar Mensagem | Código - Método "copying" |
RF30 | O sistema deve oferecer uma maneira para o usuário possa compartilhar mensagens | T04 | EP10 | US36 | Compartilhar Mensagens | Código - Método "sharing" |
RF31 | O usuário deve ter a possibilidade excluir uma mensagem a qualquer momento | T04 | EP10 | US38 | Excluir Mensagem | Código - Método "deleteMessage" |
RF32 | Usuário deve poder adicionar reações a mensagens | T04 | EP10 | US39 | Adicionar reação a mensagens |
Código - Método "onReactionPress" Código |
RF33 | Usuário deve ser capaz de responder mensagens enviadas dentro de Channels que ele participa | T04 | EP10 | US40 | Responder Mensagem | Código - Método "replying" |
RF34 | Usuário deve ter a possibilidade de reportar alguma mensagem em um Channel que não respeite as diretrizes do app | T04 | EP10 | US41 | Reportar Mensagem | Código - Método "reporting" |
RF35 | O sistema deve ser capaz de exibir notificações para mensagens não lidas e para menções em chats e possibilitar ao usuário a configuração das mesmas | T04 | EP11 | US44 | Notificações | Código - Método "toggleNotifications" |
RF36 | A aplicação deve fornecer suporte aos seus usuários via chat e e-mail. | T02 | EP03 | US05 US06 |
Suporte | Código - Método "sendEmail" |
R37 | O app deve oferecer a possibilidade do usuário procurar mensagens por texto | T04 | EP11 | US48 | Procurar mensagens | Código - Método "searchText" |
R38 | O Sistema deve permitir que o usuário favorite uma mensagem | T04 | EP11 | US49 | Favoritar mensagem | View |
R39 | O Sistema deve permitir que o usuário possa fixar uma mensagem no Channel | T04 | EP11 | US50 | Fixar mensagem | View |
R40 | O Usuário deve conseguir convidar membros do Channel para o Video Chat | T04 | EP12 | US53 | Convidar membros para video chat | View |
R41 | O Sistema deve permitir que o usuário possa compartilhar a tela de seu dispositivo | T04 | EP12 | US57 | Compartilhar tela | View |
R42 | A aplicação deve permitir que o usuário possa visualizar a lista de membros do Channel | T04 | EP13 | US58 | Visualizar membros | Código - Método "Members" |
R43 | A Aplicação deve permitir que o usuário possa visualizar informações básicas de outro usuário | T04 | EP13 | US59 | Visualizar informações de usuários | View |
R44 | A Aplicação deve permitir que os usuários administradores do Channel possam adicionar novos usuários | T04 | EP13 | US60 | Adicionar membros | Código - Método "canAddUser" |
R45 | A Aplicaçaõ deve permitir que os usuários administradores do Channel possam remover usuários | T04 | EP13 | US61 | Remover membros | View |
R46 | A Aplicação deve permitir que os usuários possam esconder um Channel | T04 | EP15 | US63 | Esconder channel | View |
R47 | A Aplicação deve permitir que os usuários possam deixar um Channel | T04 | EP15 | US64 US63 |
Deixar channel | Código - Método "leaveChannel" Action - Método "leaveRoom" |
R48 | O Sistema deve permitir que um usuário possa visualizar todos os Channels visiveis do Servidor | T04 | EP15 | US69 | Visualizar channels | View Action Util |
R49 | O Sistema deve permitir que um usuário possa visualizar a lista com todos os usuários do Servidor | T04 | EP15 | US70 | Visualizar usuários de um servidor | View Action |
RF50 | Sistema deve permitir que o usuário visualize as lista de arquivos enviados no channel | T04 | EP10 | US51 | Visualizar arquivos enviados | Código - Método "Files" |
Requisitos Não-Funcionais
Código | Descrição | NFR | Operacionalizações | Funcionalidade |
---|---|---|---|---|
RNF1 | A aplicação deve ser capaz de ser executada em diversas plataformas | NFR-Portabilidade | "Acesso por aplicação mobile". "Acesso por aplicação web"; "Acesso por aplicação desktop"; | Plataformas |
RNF2 | O Rocket.chat deve ofecer suporte tanto para a aplicação, em diversas arquiteturas, como para o usuário | NFR-03 | "Documentação" "Suporte online" | Suporte |
RNF3 | Deve ser uma plataforma que ofereça segurança com dados dos usuários. | NFR-03 | "Criptografia ponta a ponta" "Backup de dados" | |
RNF4 | O Rocket.chat deve estar disponível na maior quantidade possível de idiomas | NFR-05 | "Traduzir todos os menus do app para diferentes linguagens" "permitir a escolha de nova linguagem dentro do app" | Idiomas |
RNF5 | O Rocket.chat deve ter uma boa interface visual, minimalista e intuitiva, facilitando a usabilidade do usuário. | NFR-04 | "Layout simples"; "Icones intuitivos"; "Descrições" | Repositório aplicação desktop/web Repositório aplicação mobile |
RNF6 | A plataforma deve possuir uma documentação bem organizada. Que explique todas as funcionalidades e restrições aplicáveis. | NFR-03 | "Documentação" | |
RNF7 | A aplicação, sendo do tipo openSource, deve possuir a liberdade da contribuição pela comunidade de software | NFR-08 | "Encorajar a evolução do código existente""Divulgar as vantagens da comunidade ser ativa" | |
RNF8 | A aplicação deve oferecer uma performace fluida ajude na experiência positiva do usuário | NFR-02 | "Compressão de dados" "uso de cach para dados não modificados" | |
RNF9 | Visando uma melhor experiência ao usuário e desempenho da plataforma, o app deve fazer integrações com diferentes plataformas | NFR-09 | "Integrável com redes sociais para autenticação" | |
RNF10 | A plataforma deve identificar e tratar erros dentro do aplicativo |
Gifs
RF1_GIF
RF2_GIF
RF3_GIF
RF4_GIF
RF5_GIF
RF6_GIF
RF7_GIF
RF8_GIF
RF9_GIF
RF10_GIF
RF11_GIF
RF12_GIF
RF13_GIF
RF14_GIF
RF15_GIF
RF16_GIF
RF17_GIF
RF18_GIF
RF19_GIF
RF20_GIF
RF21_GIF
RF22_GIF
RF23_GIF
RF24_GIF
RF25_GIF
RF26_GIF
RF27_GIF
RF28_GIF
RF29_GIF
RF30_GIF
RF31_GIF
RF32_GIF
RF33_GIF
RF34_GIF
RF35_GIF
RF36_GIF
RF37_GIF
RF38_GIF
RF39_GIF
RF40_GIF
RF41_GIF
RF42_GIF
RF43_GIF
RF44_GIF
RF45_GIF
RF46_GIF
RF47_GIF
RF48_GIF
RF49_GIF
RF50_GIF
RNF1
Mobile
Web navegador
Desktop
RNF2
Suporte
RNF4
Versionamento
Data | Versão | Modificação | Autor |
---|---|---|---|
16/06/2019 | 1.0 | Abertura do documento | Marcos Nery |
17/06/2019 | 1.1 | Inclusão das tabelas inicias de requisitos | Marcos Nery |
18/06/2019 | 1.2 | Inclusão dos elos | Marcos Nery |
19/06/2019 | 1.3 | Inclusão dos GIFS | André Lucas |
24/06/2019 | 1.4 | Inclusão dos Requisitos RF37-RF50 | Heron Rodrigues |