Backward-From
Neste documento busca-se construir a matriz de pós-rastreabilidade através da ótica Backward-From. Foram feitas duas tabelas, a primeira para requisitos funcionais e a segunda para os não funcionais. Além disso, abaixo das duas, podem ser vistos os elos de Toranzo citados.
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 e um documento para a descrição dos elos de Toranzo, no drive, para evitar a repetição de requisitos na tabela, que posteriormente seriam convertidos para formato markdown e colocados na wikia. Link para os documentos no drive: funcionais, não-funcionais e elos de Toranzo.
Requisitos Funcionais
Código | Descrição | Elicitação | Modelagem | Elo |
---|---|---|---|---|
RF1 | Tradução instântanea para mensagens em línguas diferentes da padrão | AD1 INT4.4 Storyboard3 |
L31 US45 ISR05 |
EF1 |
RF2 | O aplicativo deve ser capaz de realizar videoconferências em grupo | AD2 AD3 INT1.4 INT3.5 Storyboard 2 e 3 Q12 |
L25 C2 DCU1-V2 EC20 US46 ISD01 |
EF2 |
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 | AP1 INT1.3 |
C1 DCU13 - V1 EC21 US02 ISR02 |
EF3 |
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 | AP10 | EP02 C1 DCU21 ECU21 ISR02 |
EF4 |
RF5 | O usuário deve ter a disposição, a criação de canais, subgrupos de discussão e grupos, privados/publicos, ilimitados. | INT1.1 INT3.1 INT4.2 SB2 AP4 |
EP08 C3 C22 DCU16 DCU09 ECU03 ECU10 ISR01 US18 US19 US21 |
EF5 |
RF6 | O usuário deve ser capaz de, dentro da plataforma, enviar mensagens dentro de grupos de conversa ou dentro de chats privados | INT4.1 SB1 |
EP10 C12 DCU2 ECU15 ISR03 L41 US20 |
EF6 |
RF7 | O usuário deve ser capaz de realizar uma busca de uma mensagem dentro de um determinado chat | INT2.2 AD11 |
EP11 L11 US48 |
EF7 |
RF8 | O app deve oferecer a possibilidade do usuário instalar seu próprio servidor local. | INT4.8 INT1.4 Storyboard 4 |
EP16 C4 DCU17 EC11 L14 US65 |
EF8 |
RF9 | A plataforma deve permitir a integração de Bots | INT3.9 ENT1.1 AD7 Q2 |
EP14 C4 DCU17 EC11 L26 US62 |
EF9 |
RF10 | A plataforma deve permitir a configuração de preferências dentro do app | AP8 | EP05 NFR5 US09 |
EF10 |
RF11 | Possibilidade de alteração do idioma no aplicativo | INT4.5 Storyboard3 |
US09 US10 |
EF11 |
RF12 | Permitir usuario iniciar conexão com uma instância do Rocket.chat | INT3.2 AP2 |
EP16 US65 C4 DCU17 EC11 |
EF12 |
RF13 | Alteração de senha | US42 L34 |
US12 L21 L41 L45 L46 |
EF13 |
RF14 | Possibilidade de mencionar, um ou todos, os membros do grupo | INT1.6 INT2.4 ENT1.5 |
US43 ISD04 ISR05 L4 |
EF14 |
RF15 | Sistema deve ser capaz de Adicionar autenticação de 2 Fatores | US13 | EF15 | |
RF16 | Sistema deve mostrar e permitir a edição das configurações da conta | AP7 | US09 US14 L08 ISD02 |
EF16 |
RF17 | O sistema deve permitir o envio de arquivos e documentos em um chat | INT2.1 Q6 |
US28 US33 C9 DCU2 DCU18 EC16 L5 |
EF17 |
RF18 | Permitir a alteração do status do usuário | US15 C10 |
EF18 | |
RF19 | App deve possuir ferramenta para busca de Channels | AD11 | US16 | EF19 |
RF20 | App deve possuir opções para listar Channels em categorias | Q16 | US17 L39 |
EF20 |
RF21 | Possibilidade de favoritar um grupo | Q15 | US42 L34 L35 |
EF21 |
RF22 | Permitir a alteração de privacidade do Channel | US22 C26 DCU8 EC2 L72 |
EF22 | |
RF23 | Definir Channel como Read Only | US23 C22 DCU9 EC3 L69 |
EF23 | |
RF24 | Definir Channel para BroadCast | US24 | EF24 | |
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 | US25 US26 US47 L33 |
EF25 | |
RF26 | App deve permitir o envio de desenhos, como mensagens | US30 C8 DCU18 EC17 L43 |
EF26 | |
RF27 | O sistema deve permitir o envio de arquivos de midia, como vídeo e áudio | INT1.5 Q6 |
US31 | EF27 |
RF28 | O usuário deve poder editar suas mensagens enviadas | US34 C5 E19 DCU19 |
EF28 | |
RF29 | O usuário deve poder copiar uma mensagem | US35 L54 |
EF29 | |
RF30 | O sistema deve oferecer uma maneira para o usuário possa compartilhar mensagens | US36 L13 L54 |
EF30 | |
RF31 | O usuário deve ter a possibilidade excluir uma mensagem a qualquer momento | Q8 | US38 L58 |
EF31 |
RF32 | Usuário deve poder adicionar reações a mensagens | US39 L9 L10 |
EF32 | |
RF33 | Usuário deve ser capaz de responder mensagens enviadas dentro de Channels que ele participa | StoryBoarding1 | US40 C7 DCU20 EC18 ISD01 ISR03 |
EF33 |
RF34 | Usuário deve ter a possibilidade de reportar alguma mensagem em um Channel que não respeite as diretrizes do app | US41 | EF34 | |
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 | ENT1.4 AD5 Q6 |
US44 C19 DCU14 EC24 L28 ES03 |
EF35 |
RF36 | A aplicação deve fornecer suporte aos seus usuários via chat e e-mail. | ENT1.3 INT3.10 |
US05 US06 NFR-03 |
EF36 |
R37 | O app deve oferecer a possibilidade do usuário procurar mensagens por texto | US48 C17 DCU12 EC13 |
EF37 | |
R38 | O Sistema deve permitir que o usuário favorite uma mensagem | US49 C13 DCU6 EC6 ID01 ISR03 L71 |
EF38 | |
R39 | O Sistema deve permitir que o usuário possa fixar uma mensagem no Channel | US50 C11 C25 DCU3 EC1 EC12 ID01 ISR03 L3 L16 |
EF39 | |
R40 | O Usuário deve conseguir convidar membros do Channel para o Video Chat | AP5 | US53 L59 |
EF40 |
R41 | O Sistema deve permitir que o usuário possa compartilhar a tela de seu dispositivo | AD3 INT3.5 Q11 StoryBoard3,5 |
US57 L25 EC20 DCU1 |
EF41 |
R42 | A aplicação deve permitir que o usuário possa visualizar a lista de membros do Channel | US58 DCU7 EC7 L12 |
EF42 | |
R43 | A Aplicação deve permitir que o usuário possa visualizar informações básicas de outro usuário | US59 DCU7 EC7 L12 |
EF43 | |
R44 | A Aplicação deve permitir que os usuários administradores do Channel possam adicionar novos usuários | AP5 | US60 L59 |
EF44 |
R45 | A Aplicaçaõ deve permitir que os usuários administradores do Channel possam remover usuários | US61 L12 |
EF45 | |
R46 | A Aplicação deve permitir que os usuários possam esconder um Channel | US63 C16 DCU23 ECU23 L49 ISD02 |
EF46 | |
R47 | A Aplicação deve permitir que os usuários possam deixar um Channel | US64 US63 C15 C16 DCU22 DCU23 EC22 EC23 L48 L49 ISD02 |
EF47 | |
R48 | O Sistema deve permitir que um usuário possa visualizar todos os Channels visiveis do Servidor | US69 | EF48 | |
R49 | O Sistema deve permitir que um usuário possa visualizar a lista com todos os usuários do Servidor | US70 | EF49 | |
RF50 | Sistema deve permitir que o usuário visualize as lista de arquivos enviados no channel | INT2.3 | US51 | EF12 |
Requisitos Não Funcionais
Código | Descrição | Fonte | Elicitação | Modelagem |
---|---|---|---|---|
RNF1 | A aplicação deve ser capaz de ser executada em diversas plataformas | Mobile e Desktop Navegador web |
Q17 AD6 SB2 |
NFR-01 ES - Portabilidade |
RNF2 | O Rocket.chat deve ofecer suporte tanto para a aplicação, em diversas arquiteturas, como para o usuário | Recebendo suporte do Rocket.chat | Q1 Q18 AD4 ENT 1.3 |
NFR-03 ES - Suporte a aplicação ES - Suporte ao usuário |
RNF3 | Deve ser uma plataforma que ofereça segurança com dados dos usuários. | Security | INT1.7 SB4 AD12 |
EP17NFR6 ES - segurança |
RNF4 | O Rocket.chat deve estar disponível na maior quantidade possível de idiomas | idiomas | INT4.5 SB3 AD12 |
EP05 NFR6 ES25 |
RNF5 | O Rocket.chat deve ter uma boa interface visual, minimalista e intuitiva, facilitando a usabilidade do usuário. | Interface Intuitiva | INT1.2 INT2.6 AP6 |
NFR-04 ES01 ES05 |
RNF6 | A plataforma deve possuir uma documentação bem organizada. Que explique todas as funcionalidades e restrições aplicáveis. | Documentação | AD4 | EP04 NFR6 ES26 - Documentação |
RNF7 | A aplicação, sendo do tipo openSource, deve possuir a liberdade da contribuição pela comunidade de software | Contribuição pela comunidade | SB5 SB5 Q21 |
ISD05 ISR06 NFR08 ES30 |
RNF8 | A aplicação deve oferecer uma performace fluida ajude na experiência positiva do usuário | performace | ENT1.8 | NFR-02 |
RNF9 | Visando uma melhor experiência ao usuário e desempenho da plataforma, o app deve fazer integrações com diferentes plataformas | Giphy Integrations Nextcloud and WebDAV integrations Bamboo Integration | ENT1.2 ENT1.6 INT3.8 INT4.6 SB5 |
EP14 C14 ES14 NFR-09 |
RNF10 | A plataforma deve identificar e tratar erros dentro do aplicativo | Reportando erros | AD10 | ES - Tratamento de falhas |
Elos
EF1
Elementos rastreáveis:
Elo:
EF2
Elementos rastreáveis:
Elo:
- Representação: ECU20 representa C2
- Alocação: ECU20 está alocado em US46
- Representação: ISD01 representa DCU1-V2
EF3
Elementos rastreáveis:
Elo:
- Representação: ECU21 representa C1
- Alocação: ECU21 está alocado em US02
- Representação: ISR02 representa DCU21
EF4
Elementos rastreáveis:
Elo:
- Representação: ECU21 representa C1
- Alocação: ECU21 está alocado em EP02
- Representação: ISR02 representa DCU21
EF5
Elementos rastreáveis:
Elo:
- Agregação: C3 é composto por C22
- Alocação: C3 está alocado em EP08
- Representação: ECU03 representa C22
- Representação: ECU10 representa C3
- Representação: ISR01 representa DCU16
EF6
Elementos rastreáveis:
Elo:
- Satisfação: DCU2 e ISR03 satisfazem US20 e INT4.1
- Alocação: US20 está alocado em EP10
- Representação: ECU15 representa o C12
EF7
Elementos rastreáveis:
Elo:
EF8
Elementos rastreáveis:
Elo: * Agregação: DCU17 é composto por EC11 * Alocação: C3 está alocado em EP08 * Representação: ECU03 representa C22 * Representação: ECU10 representa C3 * Representação: ISR01 representa DCU16
EF9
Elementos rastreáveis:
Elo: * Agregação: DCU17 é composto por EC11 * Alocação: C4 está alocado em EP14 * Representação: EC11 representa C4
EF10
Elementos rastreáveis:
Elo: * Alocação: US09 está alocado em EP05
EF11
Elementos rastreáveis:
Elo: Representação: INT4.5 representa Storyboard3
EF12
Elementos rastreáveis:
Elo:
EF13
Elementos rastreáveis:
Elo:
EF14
Elementos rastreáveis:
Elo:
EF15
Elementos rastreáveis:
Elo:
EF16
Elementos rastreáveis:
Elo:
- Recurso: ISD02 depende de um recurso provido pelo L08, no caso, o perfil a ser editado
- Recurso: US14 depende de um recurso provido pelo L08, no caso, o perfil a ser acessado
- Agregação: ISD02 é composto por US14
EF17
Elementos rastreáveis:
Elo:
- Representação: US33 representa C9
- Representação: DCU18 representa L5
- Recurso: DCU2 depende de um recurso provido pelo C9, no caso, o arquivo a ser enviado
EF18
Elementos rastreáveis:
Elo:
EF19
Elementos rastreáveis:
Elo:
EF20
Elementos rastreáveis:
Elo:
EF21
Elementos rastreáveis:
Elo:
- Representação: US42 representa L35
- Recurso: US42 depende de um recurso provido pelo L34, no caso, o channel favoritado
EF22
Elementos rastreáveis:
Elo:
- Representação: C26 representa US22
- Representação: EC2 representa C26
- Representação: DCU8representa L72
- Recurso: US22 depende de um recurso provido pelo L72, no caso, a privacidade do channel a ser alterada
- Recurso: C26 depende de um recurso provido pelo L72, no caso, a privacidade do channel a ser alterada
EF23
Elementos rastreáveis:
Elo:
- Representação: US23 representa C22
- Representação: DCU9 representa C22
- Recurso: C22 depende de um recurso provido pelo L69, no caso, o Read-only channel
- Recurso: US23 depende de um recurso provido pelo L69, no caso, o Read-only channel
EF24
Elementos rastreáveis:
Elo:
EF25
Elementos rastreáveis:
Elo:
- Recurso: US26 depende de um recurso provido pelo L33, no caso, o tópico a ser adicionado
- Recurso: US47 depende de um recurso provido pelo L33, no caso, o tópico a ser visualizado
EF26
Elementos rastreáveis:
Elo:
- Representação: US30 representa C8
- Representação: EC17 representa C8
- Agregação: DCU18 é composto por EC17
EF27
Elementos rastreáveis:
Elo:
EF28
Elementos rastreáveis:
Elo:
EF29
Elementos rastreáveis:
Elo:
EF30
Elementos rastreáveis:
Elo:
EF31
Elementos rastreáveis:
Elo:
EF32
Elementos rastreáveis: * US39 * L9 * L10
Elo:
EF33
Elementos rastreáveis:
Elo:
EF34
Elementos rastreáveis:
Elo:
EF35
Elementos rastreáveis:
Elo:
- Representação: DCU14 representa C19
- Representação: ES03 representa L28
- Recurso: C19 depende de um recurso provido pelo L28, no caso, a notificação
- Recurso: DCU14 depende de um recurso provido pelo L28, no caso, a notificação
EF36
Elementos rastreáveis:
Elo: * Representação: INT3.10 representa ENT1.3 * Agregação: US05 é composto por US06
EF37
Elementos rastreáveis:
Elo:
EF38
Elementos rastreáveis:
Elo:
EF39
Elementos rastreáveis:
Elo:
- Representação: DCU3 representa C11
- Representação: US50 representa L3
- Representação: DCU3 representa C25
- Recurso: C25 depende de um recurso provido pelo L16
- Agregação: ISR03 é composto por US50
EF40
Elementos rastreáveis:
Elo:
EF41
Elementos rastreáveis:
Elo:
- Representação: DCU1 representa EC20
- Representação: Q11 representa L25
- Representação: DCU3 representa C25
- Recurso: C25 depende de um recurso provido pelo L16
- Agregação: US57 é composto por L25
EF42
Elementos rastreáveis:
Elo:
EF43
Elementos rastreáveis:
Elo: * Representação: US59 representa DCU7 * Agregação: EC7 é composto por L12
EF44
Elementos rastreáveis:
Elo: * Representação: US60 representa AP5
EF45
Elementos rastreáveis:
Elo: * Agregação: US61 é composto por L12
EF46
Elementos rastreáveis:
Elo: * Representação: DCU23 representa ECU23 * Representação: US63 representa C16 * Representação: DCU23 representa C16 * Agregação: US63 é composto por L49 e ISD02
EF47
Elementos rastreáveis:
Elo:
- Representação: DCU22 representa C15
- Recurso: C15 depende de um recurso provido pelo L48
- Recurso: DCU23 depende de um recurso provido pelo L49
- Agregação: ISD02 é composto por US63 e US64
EF48
Elementos rastreáveis:
Elo:
EF49
Elementos rastreáveis:
Elo:
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 elos | Weiller Fernandes |
24/06/2019 | 1.4 | Inclusão dos Requisitos RF37-RF50 | Lucas Maciel |