NFR Framework
1. Versionamento
Versão | Data | Descrição | Autor(es) |
---|---|---|---|
1.0 | 14/02/2022 | Abertura do documento de NFR Framework | João Pedro |
1.1 | 15/02/2022 | Adição dos diagramas NFR | João Pedro |
1.1.1 | 15/02/2022 | Revisão por pares | Vitor Lamego e Rafael |
2. Introdução
Diversas técnicas podem ser utilizadas para a análise e modelagem dos requisitos funcionais, porém poucas delas são capazes de realizar essa função nos requisitos não funcionais. Para isso, a equipe escolheu utilizar o NFR Framework como uma maneira de representar e analisar esses requisitos não funcionais do projeto, permitindo aos desenvolvedores realizar a implementação de uma solução personalizada que faz o uso desses dois tipos possíveis de requisitos, bem como prioridades e cargas de trabalho do domínio [1].
Essa metodologia de modelagem tem como principal objetivo decompor os requisitos não funcionais a níveis operacionais. Dessa maneira, facilita-se a compreensão, priorização, implementação e garantia das expectativas dos stakeholders do sistema em questão que necessitam ser atendidos.
3. Metodologia
Para definir os temas que estarão sendo abordados em cada diagrama NFR, a equipe utilizou a seleção dos requisitos não funcionais já documentados na especificação suplementar. Além desses, com o decorrer da criação do diagrama a equipe identificou novos requisitos não funcionais que ainda não haviam sido elicitados e que podem e devem estar incluídos dentro do projeto.
Para sua construção, portanto, foram utilizados os seguintes relacionamentos entre softgoals [1]:
- AND: Usado caso os softgoals descendentes forem satisfeitos, os seus ascendentes também serão.
- OR: Usado caso algum dos softgoals descendentes forem satisfeitos, os seus ascendentes também serão.
- MAKE (++): Usado caso o softgoal descendente for satisfeito, os seus ascendentes serão fortemente satisfeitos.
- HELP (+): Usado caso o softgoal descendente for satisfeito, os seus ascendentes serão fracamente satisfeitos.
- HURT (-): Usado caso o softgoal descendente for satisfeito, os seus ascendentes serão fracamente negados.
- BREAK (--): Usado caso o softgoal descendente for satisfeito, os softgoals ascendentes serão fortemente negados.
E por fim, para a elaboração/propagação serão utilizados os seguintes elementos:
- Satisfeito.
- Negado.
- Fracamente satisfeito.
- Fracamente negado.
4. Gráficos de Interdependência de Softgoal
4.1 Usabilidade
4.1.1 Sem propagação
Figura 1: SIG de usabilidade
Fonte: Autor
4.1.2 Com propagação
Figura 2: SIG de usabilidade com propagação
Fonte: Autor
4.2 Confiabilidade
4.2.1 Sem propagação
Figura 3: SIG de confiabilidade
Fonte: Autor
4.2.2 Com propagação
Figura 4: SIG de confiabilidade com propagação
Fonte: Autor
4.3 Desempenho
4.3.1 Sem propagação
Figura 5: SIG de desempenho
Fonte: Autor
4.3.2 Com propagação
Figura 6: SIG de desempenho com propagação
Fonte: Autor
4.4 Suportabilidade
4.4.1 Sem propagação
Figura 7: SIG de suportabilidade
Fonte: Autor
4.4.2 Com propagação
Figura 8: SIG de suportabilidade com propagação
Fonte: Autor
5. Referências
[1] SILVA, Reinaldo Antônio da. NFR4ES:Um Catálogo de Requisitos Não-Funcionais para Sistemas Embarcados. Recife, 2019