Conference PaperPDF Available

Abstract

Introdução: A priorização de requisitos de software ajuda a obter um sistema com escala menor de requisitos, boa qualidade, redução de custos e aumento da satisfação do cliente. Essa priorização é frequentemente abordada na literatura como um problema de tomada de decisão multicritério. Ainda que existam vários estudos que proponham modelos multicritério para auxiliar na priorização de requisitos de software, por meio do levantamento bibliográfico realizado pelo presente estudo, constatou-se a ausência de trabalhos voltados para priorização de requisitos de software de apoio à decisão multicritério. Contexto Investigado: Softwares de apoio à decisão multicritério são ferramentas importantes para apoiar gestores em processos decisórios inerentes a diversas áreas da gestão empresarial. Diante do crescente aumento de uso das técnicas fuzzy em artigos acadêmicos e na área empresarial, um grupo de pesquisadores iniciou o desenvolvimento de um software de decisão multicritério, que permitirá automatizar a aplicação do método Hesitant Fuzzy Linguistic TOPSIS. Essa demanda parte da escassez de softwares de apoio à tomada de decisão multicritério capazes de apoiar decisores em situações de hesitação. Diagnóstico da Situação-Problema: Diante da oportunidade de criar um novo software para suprir essa lacuna, surgiu a necessidade de estabelecer as funcionalidades e outras características técnicas desejáveis a este sistema. Nesse contexto, o presente estudo apresenta uma aplicação do método Fuzzy TOPSIS para realizar a priorização dos requisitos desse novo software de apoio à tomada de decisão multicritério. A aplicação foi apoiada pela norma ISO/IEC 25000 (Requisitos e Avaliação de Qualidade de Sistemas e Software) e buscou auxiliar a equipe na definição das características que irão compor a primeira versão do sistema. Intervenção Proposta: A intervenção proposta por este estudo é baseada em modelagem e simulação computacional. Os requisitos do novo software e seus respectivos pesos foram definidos por três pesquisadores do projeto. Os dados coletados desses decisores foram inseridos no modelo computacional Fuzzy TOPSIS para obter o ranqueamento segundo o nível de prioridade global de cada requisito. Os resultados da aplicação foram analisados pelos decisores, que então definiram quais requisitos serão considerados na implementação computacional da primeira versão do software de apoio à decisão multicritério. Resultados Obtidos: Os requisitos indicados como prioritários foram aqueles relacionados a funcionalidades essenciais do software, como permitir o uso de critérios qualitativos (R2) e qualitativos (R3), e possibilitar a atribuição de pesos aos critérios (R1). O requisito R7 também se destacou, demonstrando a importância de o software ser autoexplicativo em relação ao seu uso e de orientar os decisores em relação a cada etapa de aplicação. Os requisitos com menor se refere a tolerância a falhas caso haja interrupção do servidor WEB e permitir a avaliação de critérios quantitativos utilizando valores numéricos. Contribuição Tecnológica-Social: A principal contribuição social está no apoio à priorização dos requisitos de um novo software de tomada de decisão. Com base no levantamento bibliográfico realizado, pode-se afirmar que o presente estudo é o primeiro a aplicar uma técnica multicritério para realizar a priorização de requisitos de software de apoio à decisão multicritério. O modelo implementado pode ser adaptado e reutilizado por outros pesquisadores e gestores. Os procedimentos metológicos adotados podem ser replicados em aplicações futuras que envolvam a priorização de requisitos de software.
1
APLICAÇÃO DO MÉTODO FUZZY TOPSIS PARA PRIORIZAÇÃO DOS
REQUISITOS DE UM NOVO SOFTWARE DE DECISÃO MULTICRITÉRIO
1. INTRODUÇÃO
O processo de criação de novos produtos de software é algo complexo. Em função disso,
esse processo costuma ser dividido nas etapas de diagnóstico, concepção, levantamento e
análise de requisitos, desenvolvimento e manutenção (PRESSMAN; MAXIM, 2006). Uma vez
que essas etapas são interdependentes, é importante dedicar esforços às etapas iniciais que
antecedem a etapa desenvolvimento do software, a fim de fazer melhor uso dos recursos e
garantir que o produto resultante alcance o nível de qualidade almejado pelo cliente final
(PACHECO; GARCÍA; REYES, 2018).
Uma etapa de suma importância consiste no levantamento e análise de requisitos do
software. É nela que o cliente especifica quais são as características desejáveis ao produto, para
que este seja projetado de modo a atender às necessidades de uso (MCZARA et al., 2015). A
noção de prioridade e a capacidade de escolha são habilidades essenciais na engenharia de
software. Frequentemente, é necessário identificar uma larga escala de requisitos do sistema,
embora muitas vezes a implementação de todos eles não seja possível, dado que dependem de
fatores como o tempo e os recursos financeiros da equipe desenvolvedora (AFZAL; SADIM,
2018). Dessa forma, observa-se a importância da priorização adequada a fim de obter um
sistema com escala menor de requisitos, boa qualidade, redução de custos e aumento da
satisfação do cliente (PACHECO; GARCÍA; REYES, 2018).
Na literatura são sugeridas diferentes metodologias para apoiar a definição dos
requisitos de software (PACHECO; GARCÍA; REYES, 2018; BARBOSA et al., 2019).
Enquanto algumas delas focam na elicitação dos requisitos, outras são voltadas para a
priorização (ou escolha) destes. Essa priorização é especialmente útil quando se deseja
estabelecer uma listagem de requisitos essenciais para a criação de um produto mínimo viável,
ou seja, para o lançamento de uma versão inicial do software com as funcionalidades essenciais,
que poderá ser atualizada e melhorada no decorrer do tempo (ALBUGA; ODEH, 2018).
A priorização de requisitos de software é frequentemente abordada na literatura como
um problema de tomada de decisão multicritério. Ainda que existam vários estudos que
proponham modelos multicritério para auxiliar na priorização de requisitos de software
(SADIQ et al., 2021; NAZIM et al., 2022), por meio do levantamento bibliográfico realizado
pelo presente estudo, constatou-se a ausência de trabalhos voltados para priorização de
requisitos de software de apoio à tomada de decisão multicritério.
1.1 Contexto Investigado e Diagnóstico da situação-problema
Softwares de apoio à decisão multicritério são ferramentas importantes para apoiar
gestores em processos decisórios inerentes a diversas áreas da gestão empresarial. Esses
softwares são aplicáveis em problemas que envolvam a avaliação de duas ou mais alternativas
com base em dois ou mais critérios de decisão (LIMA JUNIOR et al., 2012; MONTES et al.,
2015). Embora existam diversos softwares baseados em técnicas multicritério tradicionais,
como M-MACBETH, Expert Choice e Super Decision (LIMA JUNIOR et al., 2012), a partir
do levantamento realizado neste estudo em bases de periódicos e de patentes, constatou-se que
há poucos softwares (MONTES et al., 2015; HAMDAN; CHEAITOU, 2017; DYMOVA et al.,
2021; TAHRI et al., 2022) de apoio à tomada multicritério baseadas na Teoria dos Conjuntos
Fuzzy e nas extensões mais recentes desta teoria.
Diante do crescente aumento de uso das técnicas fuzzy em artigos acadêmicos e na área
empresarial (KAHRAMAN; OZTAYSI; ÖNAR, 2016), um grupo de pesquisadores brasileiros,
financiados pelo Edital Universal do CNPQ (Conselho Nacional de Desenvolvimento
Científico e Tecnológico), iniciou o desenvolvimento de um software de tomada de decisão
2
multicritério, que permitirá automatizar a aplicação do método Hesitant Fuzzy Linguistic
TOPSIS. A equipe de desenvolvimento do software é composta por três alunos de Iniciação
Científica de um curso de Engenharia de Computação, um profissional da área de
desenvolvimento de software, que também é professor de um Curso de Ciência de Computação,
e um professor da área de Engenharia de Produção. Todos os membros participam de um grupo
de pesquisa voltado à tomada de decisão multicritério.
Inicialmente a equipe do projeto realizou um levantamento na base de patentes do INPI
(Instituto Nacional da Propriedade Industrial) e nas principais bases de periódicos
internacionais, a fim de identificar e analisar os softwares já existentes para tomada de decisão
multicritério. Os resultados das buscas nas bases de dados retornaram apenas quatro estudos
(MONTES et al., 2015; HAMDAN; CHEAITOU, 2017; DYMOVA et al., 2021; TAHRI et al.,
2022) baseados na Teoria dos Conjuntos Fuzzy e/ou nas extensões dessa teoria. Já as buscas na
base do INPI retornaram apenas três patentes de softwares para decisão multicritério (GOMES
et al., 2020a; GOMES et al., 2020b; SANTOS et al., 2020), sendo que nenhum deles é baseado
em técnicas Fuzzy.
A equipe identificou apenas dois softwares baseados em técnicas Hesitant Fuzzy,
embora nenhum deles utilize o método Hesitant Fuzzy Linguistic TOPSIS. Diante disso,
percebeu-se a escassez de softwares de apoio à tomada de decisão multicritério capazes de
apoiar os decisores em situações de hesitação, ou seja, em cenários em que a incerteza e a
ausência de informações disponíveis sobre o problema contribuem para que os decisores
hesitem ao exprimir seus julgamentos. Nesses casos, os decisores podem preferir expressar seus
julgamentos de modo mais flexível, utilizando expressões linguísticas (como “entre médio e
alto” ou “no máximo alto”), o que é possível por meio do uso do método Hesitant Fuzzy
Linguistic TOPSIS (RODRÍGUEZ; MARTÍNEZ; HERRERA, 2013).
Diante da oportunidade de criar um novo software para suprir essa lacuna, surgiu a
necessidade de estabelecer as funcionalidades e outras características técnicas desejáveis a este
sistema. Nesse contexto, o presente estudo apresenta uma aplicação do método Fuzzy TOPSIS
para realizar a priorização dos requisitos desse novo software de apoio à tomada de decisão
multicritério. A aplicação foi apoiada pela norma ISO/IEC 25000 (Requisitos e Avaliação de
Qualidade de Sistemas e Software) e buscou auxiliar a equipe na definição das características
que irão compor a primeira versão do sistema.
Além da contribuição prática para o projeto do software em questão, a partir das buscas
realizadas nas bases de periódicos supracitadas, verificou-se também a ausência de estudos
voltados para priorização de requisitos de software de tomada de decisão multicritério, o que
evidenciou uma oportunidade de pesquisa. A literatura apresenta vários modelos baseados em
técnicas de decisão com o intuito de apoiar o processo de priorização de requisitos de softwares.
Para explicitar as técnicas usadas, o Quadro 1 apresenta diversos estudos que realizaram
aplicações dessas técnicas em problemas de seleção ou priorização de requisitos de software.
Quadro 1 Estudos que aplicam métodos multicritério para priorização ou seleção de requisitos de software
Autor
Técnica(s) utilizada(s)
Aplicação
Afzal e Sadim (2018)
AHP
Software de examinação do desempenho acadêmico
Ahmad et al. (2017)
Fuzzy MoSCoW
Software de gerenciamento de biblioteca
Albuga e Odeh (2018)
KANO model
Softwares comerciais de startups
Barbosa et al. (2019)
Análise de Decisão Verbal
Definição da próxima versão de um software
Kumari e Srinivas
(2016)
Algoritmos Evolutivos de
Inspiração Quântica
Avaliação do funcionamento dos algoritmos
evolutivos na seleção de requisitos de software
McZara et al. (2015)
Linguistic Tools and
Constraint Solvers
Priorização de grandes conjuntos de requisitos
Mougouei e Powers
(2021)
Fuzzy Graph e Integer
Programming
Identificação das dependências entre os requisitos
de software e selecioná-los com maior qualidade
Nazim et al. (2022)
Fuzzy AHP e Fuzzy TOPSIS
Sistema de examinação do desempenho acadêmico
3
Autor
Técnica(s) utilizada(s)
Aplicação
Pitangueira et al.
(2015)
Search-Based Software
Engineering Approaches
(SBSE)
Investigar quais aspectos da seleção de requisitos
são abordados pelo método SBSE
Sadiq e Afrin (2017)
Fuzzy AHP e Fuzzy TOPSIS
Sistema de examinação do desempenho acadêmico
Sadiq e Jain (2014)
Fuzzy AHP
Sistema de examinação do desempenho acadêmico
Sadiq et al. (2020)
Fuzzy TOPSIS
Sistema de examinação do desempenho acadêmico
Sadiq et al. (2021)
Fuzzy Preference Relation
Sistema de examinação do desempenho acadêmico
Fonte: Elaborado pelos autores.
As técnicas anteriormente aplicadas incluem AHP, Fuzzy AHP, Fuzzy TOPSIS, Fuzzy
Graph, Kano model, Fuzzy MoSCoW (acrônimo para as expressões: must-have, should-have,
could-have, and won't-have), entre outras. É notável o vasto uso dos métodos baseados na
Teoria dos Conjuntos Fuzzy. Dentre eles, o Fuzzy TOPSIS se destaca pela sua simplicidade de
implementação e por não possuir limitações na quantidade de alternativas e critérios que podem
ser considerados no problema de decisão. Nesse método, a escala para avaliação das alternativas
e critérios é mais simples de usar do que as escalas comparativas utilizadas no AHP e Fuzzy
AHP, além de não requerer a realização de testes de consistência dos julgamentos (LIMA
JUNIOR; CARPINETTI, 2015). Em função disso, o método Fuzzy TOPSIS foi escolhido para
ser aplicado neste estudo. Embora o Fuzzy TOPSIS tenha sido aplicado de forma bem sucedida
para priorização de requisitos de sistemas de examinação do desempenho acadêmico (SADIQ;
AFRIN, 2017; SADIQ et al., 2020; NAZIM et al., 2022), não foi encontrada nenhuma aplicação
voltada ao desenvolvimento de software de apoio à tomada de decisão multicritério.
O restante deste estudo está organizado como segue. A Seção 2 apresenta os
procedimentos adotados para a intervenção proposta pelo presente estudo. A Seção 3 apresenta
um referencial teórico sobre o processo de definição de requisitos de software e sobre a ISO/IEC
25000. A Seção 4 apresenta e discute os resultados da aplicação do método Fuzzy TOPSIS para
priorização dos requisitos de um software de apoio à decisão multicritério. Por fim, a Seção 5
discute as contribuições tecnológicas-sociais e propõe sugestões para estudos futuros.
2. INTERVENÇÃO PROPOSTA
A intervenção proposta por este estudo é baseada em modelagem e simulação
computacional. Segundo a concepção de Banks (1998), modelagem é uma reprodução de um
sistema real, que requer certa preocupação em se definir os limites do modelo que representa o
sistema. Para esse autor, a simulação é a representação do modo de operação de um sistema,
em que se observa tal cenário a fim de obter resultados aplicáveis ao sistema real representado.
A metodologia de modelagem e simulação se baseia na construção de modelos compostos por
variáveis de entrada e de saída que possuem relacionamentos quantificáveis entre si
(MAGALHÃES; LIMA JUNIOR, 2021). No presente estudo, enquanto as variáveis de entrada
se referem aos pesos dos requisitos definidos por cada decisor, bem como ao peso atribuído à
opinião de cada decisor, a variável de saída consiste no valor de prioridade global de cada
requisito.
As etapas adotadas para o desenvolvimento do presente estudo são descritas a seguir:
i) Pesquisa bibliográfica: realizou-se um levantamento bibliográfico sobre estudos que
abordam a definição e priorização de requisitos de software, a norma ISO/IEC 25000 e
o método Fuzzy TOPSIS. Foram consultadas as bases Science Direct, Springer, Taylor
& Francis e IEEE-Xplore, bem como a ferramenta de busca Google Scholar. Os
resultados da busca incluíram trabalhos publicados em periódicos, eventos científicos e
dissertações de mestrado. As buscas foram realizadas utilizando combinações entre as
palavras-chave: Fuzzy, Hesitant Fuzzy, Fuzzy TOPSIS, Graphical User Interface,
software requirements, software requirements engineering, software requirements
elicitation, Fuzzy software, MCDM, Multicriteria, Multicritério, software quality,
4
dentre outras. Também foi feita uma busca na base de patentes do INPI e nas bases
citadas anteriormente, por meio do uso das palavras-chave Fuzzy, Hesitant Fuzzy,
Decisão, Multicritério e MCDM, a fim de identificar softwares com interface gráfica
baseados em técnicas multicritério Fuzzy. O levantamento bibliográfico realizado
permitiu mapear as aplicações de técnicas multicritério para priorização de requisitos
de software, como propiciou o entendimento das características e subcaracterísticas da
qualidade de software, o que subsidiou a definição dos requisitos pelos decisores e a
condução da aplicação realizada posteriormente;
ii) Coleta de dados: inicialmente os requisitos foram definidos por três pesquisadores do
projeto de desenvolvimento de software, que atuam como decisores na aplicação
apresentada neste estudo. A definição dos requisitos foi feita por meio de um
brainstorming para levantar as funcionalidades requeridas do software. Também se
embasou nas patentes (GOMES et al., 2020a; GOMES et al., 2020b; SANTOS et al.,
2020) e estudos (MONTES et al., 2015; HAMDAN; CHEAITOU, 2017; DYMOVA et
al., 2021; TAHRI et al., 2022) que propõem softwares com interface gráfica para
decisão multicritério, sejam eles baseados na Teoria dos Conjuntos Fuzzy ou nas
extensões desta teoria. Utilizando a ferramenta Google Forms, um formulário foi criado
para que os decisores fornecessem seus julgamentos a respeito do nível de importância
(pesos) dos requisitos listados. Após a coleta dos julgamentos dos decisores, esses dados
foram tabulados e inseridos no modelo Fuzzy TOPSIS;
iii) Modelagem e aplicação: nessa etapa, por meio do uso do software MS Excel, construiu-
se um modelo computacional para automatizar os cálculos do Fuzzy TOPSIS. Essa
ferramenta foi escolhida devido à facilidade de implementação das equações e de
manipulação do modelo por usuários não especialistas em programação. O modelo
computacional foi implementado conforme as equações propostas por Chen (2000) e
seguindo a sequência lógica utilizada em Tominaga et al. (2021) (detalhada na Seção
2.1). Os dados coletados dos decisores foram inseridos no modelo para obter o
ranqueamento dos requisitos segundo o nível de prioridade global de cada requisito. O
primeiro passo foi converter os julgamentos linguísticos dos decisores, associando-os a
números fuzzy triangulares. Na sequência, calculou-se a matriz de decisão normalizada
e ponderada. A partir dos valores das distâncias entre as pontuações dos requisitos e as
soluções ideais, calculou-se os valores do coeficiente de proximidade, que indica a
prioridade global de cada requisito. Os resultados da aplicação foram analisados pelos
decisores, que então definiram quais requisitos serão considerados na implementação
computacional da primeira versão do software de apoio à decisão multicritério.
2.1 O Método Fuzzy TOPSIS
A Teoria dos Conjuntos Fuzzy (Fuzzy Set Theory - FST) possibilita a modelagem de
problemas com variáveis cujos valores possíveis são incertos, imprecisos e/ou subjetivos.
Dentre as técnicas multicritério baseadas em FST, o método Fuzzy TOPSIS é um dos mais
aplicados devido a sua versatilidade e facilidade de implementação e uso (MAGALHÃES;
LIMA JR., 2021; TOMINAGA et al., 2021). Esse método foi desenvolvido por Chen (2000) e
permite aos decisores emitir seus julgamentos em formato linguístico (como “alto” e “baixo”)
para avaliar as pontuações das alternativas do problema. De acordo com Chen (2000), os
julgamentos dos decisores são quantificados por números fuzzy triangulares, conforme
exemplifica a Figura 1. Cada número fuzzy triangular é descrito por meio de seus vértices (l, m,
u), em que m indica um valor crisp central, l é o limite inferior e u é o limite superior. As
operações de soma (Equação 1), subtração (Equação 2), multiplicação (Equação 3) e divisão
(Equação 4) envolvendo números triangulares são realizadas com base nos valores de l, m e u
(MAGALHÃES; LIMA JUNIOR., 2021).
5
Figura 1 - Número fuzzy triangular
Fonte: Magalhães e Lima Junior (2021)
󰇟󰇠󰇟󰇠 󰇟 󰇠 󰇛󰇜
󰇟󰇠󰇟󰇠 󰇟󰇠 󰇛󰇜
󰇟󰇠 󰇟󰇠 󰇟 󰇠 󰇛󰇜

󰇟󰇠󰇟󰇠 󰇟󰇠 󰇛󰇜
Os passos para realizar a aplicação do método Fuzzy TOPSIS são descritos a seguir de
acordo com Tominaga et al. (2021). O algoritmo aplicado por Tominaga et al. (2021) é baseado
na versão original proposta por Chen (2000). Todavia, enquanto na versão de Chen (2000) as
alternativas são dispostas nas linhas da matriz de decisão, e os critérios nas colunas, no presente
estudo as alternativas são dispostas nas linhas e os decisores nas colunas. Essa adaptação do
método é feita quando se pretende priorizar as alternativas com base em uma única variável
(que neste caso é o peso dos requisitos de um novo software de tomada de decisão), de acordo
com a opinião de múltiplos decisores. Dessa forma, passa a ser possível considerar o peso da
opinião dos decisores, de acordo com seus níveis de experiência e/ou responsabilidade a
respeito do processo decisório em questão. Considerando isso, os seguintes passos são descritos
a seguir (TOMINAGA et al., 2021):
i) Sendo  o peso de cada requisito Ai (i =1,…,n), fornecido pelo decisor Dj (j = 1,…,m),
deve-se montar a matriz de decisão
(Equação 5). Os pesos atribuídos aos decisores
são indicados pelo vetor
(Equação 6);

 




 




(5)
󰇟󰇠 (6)
ii) Normalizar a matriz de decisão
. A matriz normalizada
é gerada pela Equação 7,
sendo que os valores de  devem ser obtidos por meio da Equação 8;
󰇟󰇠 (7)
 


 sendo

 (8)
iii) Calcular a matriz ponderada
, indicada pela Equação 9. Os valores de cada célula
dessa matriz são produzidos pela aplicação da Equação 10, que calcula o produto dos
pesos dos decisores pelos valores de ;
6
󰇟󰇠 (9)
  (10)
iv) De acordo com as Equações 11 e 12, deve-se obter a solução ideal positiva fuzzy (Fuzzy
Positive Ideal Solution, 󰇜 e a solução ideal negativa fuzzy (Fuzzy Negative Ideal
Solution, 󰇜. Com base em Chen (2000), os valores das soluções ideais para cada
coluna são definidos como 󰇛󰇜 e 󰇛󰇜;

(11)

(12)
v) Calcular as distâncias entre as pontuações dos requisitos e os valores de FPIS (), bem
em relação aos valores de FNIS (). Nesse passo, usam-se as Equações 13 e 14, nas
quais d( . , . ) representa a distância entre dois números fuzzy. Quando são adotados
números fuzzy triangulares, aplica-se a Equação 15 para calcular os valores de d( . , . );
󰇛
 󰇜 (13)
󰇛
 󰇜 (14)
d(,)=
󰇟󰇛󰇜󰇛󰇜󰇛󰇜󰇠 (15)
vi) Considerando os valores de , aplica-se a Equação 16 para calcular o coeficiente
de aproximação CCi, que indica a prioridade global de cada requisito. Por fim, gera-se
um ranqueamento dos requisitos por meio da ordenação decrescente dos valores de CCi.
Quanto maior o valor de CCi, melhor é a prioridade global do requisito.

󰇛
󰇜
(16)
3. REFERENCIAL TEÓRICO
3.1 Processo de Definição de Requisitos de Software
A Engenharia de Software tem como base uma parte crucial do planejamento, chamada
Engenharia de Requisitos. Segundo Thayer (1997), a Engenharia de Requisitos estuda a
elicitação, análise, verificação, gerenciamento e documentação dos requisitos de software. Cada
uma dessas preocupações se torna uma atividade importante do processo de definição dos
requisitos. Como explica Thayer (1997), na elicitação o cliente é ouvido e pode dizer “o quê”
o sistema deve fazer. Essa etapa não é concluída uma única vez de forma estática, sendo
necessária uma interação constante com o cliente para que novas ideias e perspectivas sejam
acolhidas. Todas as demais etapas da Engenharia de Requisitos podem conter elicitação
(BELGAMO; MARTINS, 2008).
Para que seja possível melhorar a qualidade do sistema, é importante apriomorar
anteriormente a qualidade dos requisitos elicitados, de determinar uma boa técnica de obtenção
desses requisitos dos clientes (PACHECO; GARCÍA; REYES, 2018). Nesse contexto, é
essencial que, ao buscar ao buscar otimizar o processo de elicitação dos requisitos, certas
questões venham à tona para que a escolha seja direcionada de forma coerente. De acordo com
Tiwari, Rathore e Gupta (2012), algumas dessas questões são: "Quais os requisitos funcionais
e não funcionais? Quais as limitações do sistema no contexto de hardware e software? Quais
tipos de usuários estão envolvidos no sistema?”.
Segundo Tiwari, Rathore e Gupta (2012), diversas técnicas podem ser usadas para
apoiar o processo de elicitação de requisitos. As abordagens tradicionais envolvem entrevistas,
questionários e pesquisas com clientes e usuários. também a técnica denominada
7
brainstorming, que busca juntar ideias de diferentes decisores e analisá-las. Ainda segundo os
autores, a escolha de uma única abordagem limita o processo de elicitação e não considera a
natureza mutável dos requisitos.
Pensando na prevenção de mudanças bruscas nos requisitos do sistema, faz-se
necessária uma abordagem científica e adaptável a mudanças para extrair do usuário final os
requisitos mais importantes do sistema. Asfora (2009) afirma que, dando liberdade ao cliente
para escolher quais requisitos o sistema deve atender, o projeto torna-se passível de erros que
impactam a qualidade global do sistema e sua aceitação pelos usuários finais. É importante,
portanto, possuir uma técnica bem definida para priorizar, dentre os requisitos listados, aqueles
que mais refletem a real necessidade do cliente.
Priorizar um conjunto de requisitos de software é um trabalho complexo, que pode
envolver a avaliação das prioridades de cada cliente e dos riscos associados a cada requisito.
Tal priorização não deve ser feita da maneira informal, mas sim tratada como um problema de
tomada de decisão (MARIA et al, 2011). A seção a seguir discute alguns modelos que foram
propostos na literatura para priorização de requisitos de softwares.
3.2 ISO/IEC 25000
A qualidade de software é uma vertente da engenharia de software que consiste, segundo
Pressman e Maxim (2016), na conformidade dos requisitos funcionais e do desempenho de um
software a padrões de desenvolvimento documentados e características implícitas previstas em
um bom produto de software. Existem modelos de qualidade que permitem a avaliação de
softwares de acordo com critérios predefinidos. Esses modelos podem ser úteis no
desenvolvimento de um novo software ou na avaliação da qualidade de produtos existentes
(MORAIS; LIMA JUNIOR, 2017).
A série de normas ISO/IEC 25000, também conhecida como SQuaRE(System and
Software Quality Requirements and Evaluation), pode ser considerada a norma mais relevante
para avaliar a qualidade de softwares (DUARTE FILHO, 2011). Ela é a evolução das normas
ISO/IEC 9126 e da ISO/IEC 14598, dada a difícil compreensão e certa confusão dos usuários
em relação a essas normas precedentes. A SQuaRE, portanto, tem por característica intrínseca,
ser uma norma mais organizada e unificada com duas dimensões: especificação de requisitos e
avaliação de qualidade de um produto de software (DUARTE FILHO, 2011).
A série de normas possui uma arquitetura composta por 5 divisões, com suas respectivas
especificidades. A primeira delas é a ISO/IEC 2500n, que diz respeito ao gerenciamento de
qualidade e define todos os termos, documentos e modelos presentes em todos os outros
segmentos da série SQuaRE. A ISO/IEC 2501n corresponde à norma precedente ISO/IEC 9126,
e oferece modelos de qualidade detalhados para avaliação de produtos de software. Atualmente,
essa divisão é composta por outras duas subdivisões: a ISO/IEC 25010 e a ISO/IEC 25012. A
ISO/IEC 25010 descreve o modelo de software em detalhes, e define características que
permitam avaliar a qualidade do software e a qualidade em uso. Já a ISO/IEC 25012 consiste
no modelo de qualidade de dados, que define um formato estruturado de dados que são retidos
num software (ISO/IEC25000, 2014).
A terceira divisão se refere à ISO/IEC 2502n, cujo enfoque é a medição de qualidade e
definição de métricas matemáticas para qualidade de software. A divisão ISO/IEC 2503n
orienta durante o levantamento e especificação de requisitos. a ISO/IEC 2504n fornece
documentos, metodologias, diretrizes e recomendações direcionados diretamente para
avaliação de qualidade de um sistema de computador (ISO/IEC25000, 2014).
As características da qualidade de software definidas pela ISO/IEC 25000 incluem
adequação funcional, eficiência de desempenho, usabilidade, compatibilidade, confiança,
segurança, manutenibilidade e portabilidade. O Quadro 2 descreve sucintamente o conjunto de
8
subcaracterísticas associadas a essas características (ISO/IEC25000, 2014; MORAIS; LIMA
JUNIOR, 2017).
Quadro 2 Características e subcaracterísticas da qualidade de software
Características
Subcaracterísticas
Definição da subcaracterística
Adequação
funcional
Integridade funcional
Capacidade de atender às tarefas e aos objetivos específicos do usuário
a que foi destinado
Correção funcional
Capacidade de fornecer resultados corretos e com precisão.
Adequação funcional
Capacidade de realizar tarefas e certos objetivos de maneira fácil.
Eficiência de
desempenho
Comportamento em
relação ao tempo
Capacidade de fornecer tempos de resposta e processamento
apropriados quando o software executa suas funções.
Utilização de recursos
Grau com que os tipos e as quantidades de recursos usados atende aos
requisitos.
Capacidade
Grau com que a capacidade máxima de parâmetros do software atende
aos requisitos.
Usabilidade
Reconhecibilidade
Grau com que o usuário é capaz de reconhecer se o produto é adequado
às suas necessidades.
Apreensibilidade
Capacidade que o software possui de ser usado para alcançar objetivos
específicos de aprendizagem, de forma eficiente, eficaz e sem riscos,
garantindo que o usuário se sinta satisfeito no contexto em questão.
Operacionalidade
Capacidade do software de permitir ao usuário operá-lo e controlá-lo de
forma fácil.
Proteção de erro
Capacidade de proteger os usuários de cometer falhas.
Estética da Interface
Capacidade de possuir uma interface que seja satisfatória ao usuário.
Acessibilidade
Capacidade de ser usado por usuários com diferentes características e
habilidades para alcançar objetivos especificados.
Compatibilida-
de
Coexistência
Capacidade de compartilhar recursos com outro software sem causar
impactos sobre qualquer outro produto.
Interoperabilidade
Capacidade de interagir com um ou mais sistemas especificados.
Confiança
Maturidade
Capacidade de atender às necessidades de confiabilidade quando
operado em condições normais.
Disponibilidade
Capacidade de ser operacional e acessível quando requerido para uso.
Tolerância a falhas
Capacidade de garantir um nível de desempenho especificado em caso
de ocorrência de falhas de software ou hardware.
Capacidade de
Recuperação
Capacidade de restabelecer seu nível de desempenho especificado e
recuperar os dados diretamente afetados no caso de uma falha.
Segurança
Confidencialidade
Capacidade de permitir acesso de dados somente a usuários
autorizados.
Integridade
Capacidade de bloquear acesso e modificações de usuários não
autorizados.
Não repúdio
Capacidade de comprovar ações, eventos, alterações e envio de
informações para que não possam ser repudiados futuramente.
Responsabilidade
Capacidade de rastrear as ações de entidades específicas.
Autenticidade
Capacidade de comprovar a identidade de um sujeito ou recurso caso
seja requerido.
Manutenibilida-
de
Modularidade
Capacidade de alterar elementos do software com impacto mínimo.
Reutilização
Capacidade que os componentes do software possuem de serem
utilizados por outros sistemas existentes ou em construção.
Analisabilidade
Capacidade de avaliar o impacto de uma mudança em uma ou mais
partes de um sistema, diagnosticar partes do sistema em que podem
haver falhas e identificar componentes a serem modificados.
Modificabilidade
Capacidade de permitir que uma modificação seja implementada sem
causar defeitos no produto existente.
Testabilidade
Capacidade de estabelecer critérios de teste para um sistema que foi
modificado e de determinar se esses critérios foram cumpridos de
forma eficaz e eficiente.
Portabilidade
Adaptabilidade
Capacidade de ser adaptado para ambientes de operação especificados,
sem a necessidade de aplicação de outras ações ou meios além daqueles
fornecidos para essa finalidade pelo software considerado.
9
Características
Subcaracterísticas
Definição da subcaracterística
Instalabilidade
Capacidade de ser corretamente instalado e / ou desinstalado em um
ambiente especificado.
Substituibilidade
Capacidade de substituir outro software no mesmo ambiente e para o
mesmo fim.
Fonte: Morais e Lima Junior (2017).
Ainda que a ISO/IEC 25000 descreva mais de 30 subcaracterísticas da qualidade de
software, a adoção de todas elas pode se tornar inviável devido ao tempo consumido e a
possibilidade de não serem todas relevantes para o sistema em questão. Nesse sentido, essas
subcaracterísticas servem como referência para a criação de modelos que sejam adequados ao
contexto de uso (ISO/IEC25000, 2014; MORAIS; LIMA JUNIOR, 2017).
Morais e Lima Junior et al. (2017) também destacam que a maneira como algumas das
subcaracterísticas são definidas pela ISO/IEC 25000 não permite sua medição direta, dada a
subjetividade de interpretação e de medição destas subcaracterísticas. Por isso, é necessário
desdobrar as subcaracterísticas em requisitos objetivos, que possam ser entendidos e avaliados
por diferentes usuários (ISO/IEC25000, 2014). Seguindo essa recomendação, a Seção 4
apresenta os resultados da priorização de requisitos de um novo software de tomada de decisão,
os quais foram definidos de forma alinhada às características da ISO/IEC 25000.
4. RESULTADOS OBTIDOS
A aplicação se iniciou pela composição de uma equipe de três decisores, formada por
membros de um projeto financiado pelo CNPQ que visa o desenvolvimento de um novo
software de apoio à tomada de decisão. O Decisor 1 (D1) é o coordenador do projeto. O Decisor
2 (D2) e o Decisor 3 (D3) são pesquisadores que também possuem experiência na modelagem e
aplicação de técnicas HFLTS. O objetivo principal desse projeto é criar um software de apoio
à tomada de decisão multicritério, com base no método Hesitant Fuzzy Linguistic TOPSIS, a
fim de permitir aos decisores a utilização de expressões linguísticas em processos decisórios.
Dessa forma, o software será capaz de apoiar a tomada de decisão em situações de incerteza e
hesitação, ou seja, quando há ausência de informações suficientes para realizar a avaliação de
alternativas.
Inicialmente esses decisores realizaram a definição dos requisitos, baseando-se nas
necessidades do projeto, na análise de estudos sobre técnicas HFLTS (RODRÍGUEZ;
MARTINEZ; HERRERA, 2013) e no levantamento sobre softwares para tomada de decisão
baseados na Teoria dos Conjuntos Fuzzy (MONTES et al., 2015; HAMDAN; CHEAITOU,
2017; DYMOVA et al., 2021; TAHRI et al., 2022). Esses requisitos foram definidos pelos
decisores de forma alinhada às subcaracterísticas da qualidade sugeridas pela ISO 25000, de
modo a contemplar subcaracterísticas relacionadas à funcionalidade, usabilidade, segurança,
portabilidade, confiança, manutenibilidade, usabilidade e segurança. Posteriormente, os
decisores realizaram a avaliação dos pesos dos requisitos de acordo com sua experiência e com
as necessidades do projeto em questão.
O Quadro 3 apresenta os requisitos definidos pelos decisores e os julgamentos
fornecidos individualmente a respeito dos pesos de cada um dos requisitos listados. Também
apresenta os pesos atribuídos aos decisores, o que foi feito considerando o nível de experiência
de cada um na área de HFLTS e o nível de responsabilidade sobre o projeto em questão.
11
A escala utilizada pelos decisores para avaliação dos pesos dos requisitos foi definida
com base em Chen (2000) e Lima Junior e Carpinetti (2015). Essa escala é composta por cinco
termos linguísticos, os quais são associados aos seguintes números fuzzy triangulares: Muito
Baixo (0; 0; 2,5), Baixo (0; 2,5; 5,0), Médio (2,5; 5,0; 7,5), Alto (5,0; 7,5; 10) e Muito
Alto (7,5; 10; 10). Já a escala utilizada para ponderar a opinião de cada decisor foi definida
com base nos mesmos autores e termos linguísticos, porém com números fuzzy que variam entre
0 e 1: Muito Baixo (0; 0; 0,25), Baixo (0; 0,25; 0,50), Médio (0,25; 0,50; 0,75), Alto
(0,50; 0,75; 1) e Muito Alto (0,75; 1; 1)”. Os julgamentos mostrados no Quadro 1 foram
convertidos em números fuzzy triangulares de acordo com as escalas linguísticas apresentadas
anteriormente, formando a matriz de decisão
e o vetor
. Os resultados da conversão são
apresentados na Tabela 1.
Tabela 1 Matriz de decisão e vetor de pesos convertidos em números fuzzy
D1
D2
D3
l
m
u
l
m
u
l
m
u
Matriz de decisão (
) -
Equação 5:
R1
7,5
10,0
10,0
5,0
7,5
10,0
7,5
10,0
10,0
R2
7,5
10,0
10,0
7,5
10,0
10,0
7,5
10,0
10,0
R3
7,5
10,0
10,0
7,5
10,0
10,0
7,5
10,0
10,0
R4
5,0
7,5
10,0
0,0
2,5
5,0
2,5
5,0
7,5
R5
5,0
7,5
10,0
5,0
7,5
10,0
5,0
7,5
10,0
R6
5,0
7,5
10,0
5,0
7,5
10,0
5,0
7,5
10,0
R7
5,0
7,5
10,0
7,5
10,0
10,0
7,5
10,0
10,0
R8
5,0
7,5
10,0
2,5
5,0
7,5
2,5
5,0
7,5
R9
7,5
10,0
10,0
5,0
7,5
10,0
5,0
7,5
10,0
R10
7,5
10,0
10,0
7,5
10,0
10,0
0,0
2,5
5,0
R11
5,0
7,5
10,0
5,0
7,5
10,0
0,0
2,5
5,0
R12
5,0
7,5
10,0
7,5
10,0
10,0
5,0
7,5
10,0
R13
5,0
7,5
10,0
7,5
10,0
10,0
5,0
7,5
10,0
R14
5,0
7,5
10,0
2,5
5,0
7,5
2,5
5,0
7,5
R15
2,5
5,0
7,5
7,5
10,0
10,0
5,0
7,5
10,0
R16
2,5
5,0
7,5
5,0
7,5
10,0
5,0
7,5
10,0
Pesos dos decisores (
) - Equação 6:
0,75
1,0
1,0
0,5
0,75
1,0
0,5
0,75
1,0
Fonte: Elaborado pelos autores.
Os valores mostrados na Tabela 1 foram normalizados por meio do uso da Equação 8 e
ponderados pela Equação 10, o que resultou na matriz mostrada na Tabela 2. Posteriormente, a
solução ideal positiva foi definida com base na Equação 11 como A+ = [(1; 1; 1), (1; 1; 1), (1;
1; 1)], enquanto a solução ideal negativa foi definida de acordo com a Equação 12 e resultou
em A- = [(0; 0; 0), (0; 0; 0), (0; 0; 0)].
Tabela 2 - Matriz de decisão normalizada e ponderada
Requisitos
D1
D2
D3
l
m
u
l
m
u
l
m
u
R1
0,56
1,00
1,00
0,25
0,56
1,00
0,38
0,75
1,00
R2
0,56
1,00
1,00
0,38
0,75
1,00
0,38
0,75
1,00
R3
0,56
1,00
1,00
0,38
0,75
1,00
0,38
0,75
1,00
R4
0,38
0,75
1,00
0,00
0,19
0,50
0,13
0,38
0,75
R5
0,38
0,75
1,00
0,25
0,56
1,00
0,25
0,56
1,00
R6
0,38
0,75
1,00
0,25
0,56
1,00
0,25
0,56
1,00
R7
0,38
0,75
1,00
0,38
0,75
1,00
0,38
0,75
1,00
R8
0,38
0,75
1,00
0,13
0,38
0,75
0,13
0,38
0,75
R9
0,56
1,00
1,00
0,25
0,56
1,00
0,25
0,56
1,00
R10
0,56
1,00
1,00
0,38
0,75
1,00
0,00
0,19
0,50
R11
0,38
0,75
1,00
0,25
0,56
1,00
0,00
0,19
0,50
R12
0,38
0,75
1,00
0,38
0,75
1,00
0,25
0,56
1,00
R13
0,38
0,75
1,00
0,38
0,75
1,00
0,25
0,56
1,00
R14
0,38
0,75
1,00
0,13
0,38
0,75
0,13
0,38
0,75
R15
0,19
0,50
0,75
0,38
0,75
1,00
0,25
0,56
1,00
R16
0,19
0,50
0,75
0,25
0,56
1,00
0,25
0,56
1,00
12
Fonte: Elaborado pelos autores.
A partir dos valores da Tabela 2, foram calculadas as distâncias entre as pontuações dos
requisitos e as soluções ideais positiva e negativa. A Tabela 3 apresenta os resultados do cálculo
das distâncias entre as pontuações dos requisitos e os valores de A+, os quais foram gerados
pela aplicação das Equações 13 e 15. Já a Tabela 4 apresenta os resultados da aplicação das
Equações 14 e 15 no cálculo das distâncias entre as pontuações dos requisitos e os valores de
A-. Tabela 3 Resultados do cálculo das distâncias das alternativas em relação a A+
Requisitos
D1
D2
D3
D+
R1
0,253
0,501
0,389
1,143
R2
0,253
0,389
0,389
1,030
R3
0,253
0,389
0,389
1,030
R4
0,389
0,798
0,637
1,824
R5
0,389
0,501
0,501
1,391
R6
0,389
0,501
0,501
1,391
R7
0,389
0,389
0,389
1,166
R8
0,389
0,637
0,637
1,663
R9
0,253
0,501
0,501
1,255
R10
0,253
0,389
0,798
1,439
R11
0,389
0,501
0,798
1,688
R12
0,389
0,389
0,501
1,279
R13
0,389
0,389
0,501
1,279
R14
0,389
0,637
0,637
1,663
R15
0,569
0,389
0,501
1,459
R16
0,569
0,501
0,501
1,572
Fonte: Elaborado pelos autores.
Tabela 4 Resultados do cálculo das distâncias das alternativas em relação a A-
Requisitos
D1
D2
D3
D-
R1
0,879
0,723
0,753
2,355
R2
0,879
0,804
0,753
2,436
R3
0,879
0,804
0,753
2,436
R4
0,753
0,308
0,489
1,551
R5
0,753
0,723
0,678
2,154
R6
0,753
0,723
0,678
2,154
R7
0,753
0,804
0,753
2,311
R8
0,753
0,525
0,489
1,768
R9
0,879
0,723
0,678
2,279
R10
0,879
0,804
0,308
1,991
R11
0,753
0,723
0,308
1,784
R12
0,753
0,804
0,678
2,235
R13
0,753
0,804
0,678
2,235
R14
0,753
0,525
0,489
1,768
R15
0,532
0,804
0,678
2,013
R16
0,532
0,723
0,678
1,932
Fonte: Elaborado pelos autores.
Por fim, realizou-se o cálculo da prioridade global dos requisitos (CCi) com base na
Equação 16. A Tabela 5 apresenta os resultados finais da aplicação. Nessa tabela, os valores de
CCi foram ordenados decrescentemente, de acordo com a prioridade global dos requisitos.
Houve empate em alguns requisitos no ranqueamento, já que alguns deles alcançaram valores
idênticos de CCi, como, por exemplo, R2 e R3, e R12 e R13. Nota-se que os requisitos prioritários
estão relacionados a funcionalidades essenciais do software, como permitir o uso de critérios
qualitativos (R2) e qualitativos (R3) para avaliação das alternativas, e possibilitar a atribuição
de pesos aos critérios (R1). O requisito R7 também se destacou, demonstrando a importância de
o software ser autoexplicativo em relação ao seu uso e orientar os decisores em relação a cada
etapa de aplicação. Por outro lado, os requisitos com menor prioridade foram R4 e R11. Esses
13
requisitos se referem à tolerância a falhas caso haja interrupção do servidor WEB, e permitir a
avaliação de critérios quantitativos pelos decisores utilizando valores numéricos.
Tabela 5 Ranqueamento dos requisitos de software de acordo com a prioridade global (CCi)
Classificação
CCi
Requisitos
Descrição dos requisitos
0,703
R2
O software deve permitir o uso de critérios qualitativos para avaliação
de alternativas
0,703
R3
O software deve permitir o uso de critérios quantitativos para avaliação
de alternativas
0,673
R1
O software deve permitir aos decisores a atribuição de pesos (níveis de
importância) aos critérios
0,665
R7
O software precisa ser autoexplicativo em relação ao seu uso,
orientando os decisores em relação a cada etapa de aplicação
0,645
R9
O administrador deve ter acesso ao cadastro, exclusão e alteração de
contas dos usuários
0,636
R12
O código de programação do software deve conter comentários que
expliquem as etapas implementadas, de modo a facilitar possíveis
atualizações futuras
0,636
R13
Na seção de “ajuda ao usuário”, deve haver uma figura que forneça
uma visão geral das etapas de uso, de modo ilustrativo e fácil de
entender
0,608
R5
Os pesos dos critérios devem ser avaliados pelos decisores utilizando
julgamentos linguísticos (como baixo, médio ou alto)
0,608
R6
Os decisores poderão escolher uma escala com 5 ou 7 termos
linguísticos para pontuar as alternativas
0,580
R10
O software deve funcionar em plataforma WEB
0,580
R15
O software deve apresentar os principais elementos do problema em
uma mesma página, de modo que o usuário consiga visualizá-los e
manipulá-los facilmente
0,551
R16
O decisor poderá salvar os dados de entrada (pesos dos critérios e
pontuações das alternativas) e os resultados calculados pelo software, o
que permitirá a consulta a aplicações realizadas anteriormente pelo
mesmo decisor
0,515
R8
O software deve fornecer suporte ao cadastro de usuários (empresas
compradoras)
0,515
R14
Na seção de “ajuda ao usuário”, deve haver uma figura que represente
a relação das teorias usadas como embasamento matemático para a
realização dos cálculos do software
10º
0,514
R11
Quando houver interrupção do servidor da página WEB, o software
deve salvar temporariamente os dados inseridos pelos decisores na
página até o retorno
11º
0,460
R4
O desempenho das alternativas em critérios quantitativos deve ser
avaliado pelos decisores utilizando valores numéricos, numa escala
definida pelo decisor
Fonte: Elaborado pelos autores.
Os resultados mostrados na Tabela 5 foram apresentados aos decisores, que
concordaram com a ordem de prioridade estabelecida para os requisitos por meio Fuzzy
TOPSIS. Em acordo com a equipe desenvolvera do software, os decisores optaram por incluir
na primeira versão deste produto todos os requisitos listados entre a e a posição do
ranqueamento. Dessa forma, os requisitos R4, R11, R14 e R8 não estarão contemplados na
primeira versão, devido a baixa relevância destes e a limitação de tempo para conclusão do
projeto.
5. CONTRIBUIÇÃO TECNOLÓGICA-SOCIAL
Com base no levantamento bibliográfico realizado, pode-se afirmar que o presente
estudo é o primeiro a aplicar uma técnica multicritério para realizar a priorização de requisitos
de software de apoio à decisão multicritério. Os resultados da aplicação do método Fuzzy
TOPSIS se mostraram adequados por refletirem a opinião dos decisores e por permitirem a eles
14
a utilização de valores linguísticos, mais próximos da linguagem natural, para exprimir os pesos
dos requisitos. É importante destacar a capacidade desse método de apoiar a tomada de decisão
em grupo e de possibilitar a atribuição de pesos aos julgamentos individuais dos decisores.
A principal contribuição social deste estudo está no apoio à priorização dos requisitos
de um novo software, que está sendo desenvolvido por pesquisadores de diferentes
universidades brasileiras por meio de um projeto financiado pelo CNPQ. Os próximos passos
para o desenvolvimento do software incluem a elaboração de storyboards que relatem o
processo de uso deste produto, o que será feito pelo coordenador e os pesquisadores do projeto
tomando como base os requisitos prioritários. Utilizando esses storyboards, a equipe
desenvolvedora construirá um conjunto de diagramas da área de engenharia de software, a fim
de subsidiar a etapa de implementação computacional do sistema. Na última etapa do projeto,
a listagem de requisitos prioritários servirá de base para a testagem do software em relação às
funcionalidades requeridas pelos decisores. Portanto, os resultados apresentados neste estudo
são fundamentais para apoiar as etapas posteriores de construção desse novo software de
decisão multicritério.
Em relação às contribuições tecnológicas, o modelo implementado em MS Excel será
disponibilizado na base Mendeley Data, e pode ser adaptado e reutilizado por outros
pesquisadores e gestores que necessitem priorizar ou selecionar alternativas, considerando
múltiplos critérios de decisão, com base em julgamentos linguísticos. Os procedimentos
metodológicos adotados nesse estudo podem ser replicados em aplicações futuras que
envolvam a priorização de requisitos visando ao desenvolvimento de novos produtos de
software, ou ainda, a avaliação da qualidade de softwares existentes, a fim de selecionar os
produtos mais adequados para aquisição. Essas aplicações podem envolver a priorização de
requisitos ou a avaliação da qualidade de diferentes tipos, tais como softwares ERP (Enterprise
Resource Planning), sistemas de gestão de projetos, sistemas de modelagem e gestão de
processos, dentre outros. Para isso, recomenda-se que os decisores estabeleçam requisitos
adequados ao contexto em questão, utilizando como base as métricas sugeridas pela ISO/IEC
25000.
REFERÊNCIAS
AFRIN, A.; SADIQ, M. An integrated approach for the selection of software requirements using fuzzy AHP and
fuzzy TOPSIS method. International Conference on Intelligent Computing, Instrumentation and Control
Technologies (ICICICT), p. 1094-1100, 2017.
AFZAL, N.; SADIM, M. Software requirements selection using AHP. International Journal of Computer
Science & Communication, v. 9, p. 4752, 2018.
AHMAD, K. S.; AHMAD, N.; TAHIR, H.;KHAN, S. Fuzzy_MoSCoW: A fuzzy based MoSCoW method for the
prioritization of software requirements. 2017 International Conference on Intelligent Computing,
Instrumentation and Control Technologies (ICICICT), p. 433-437, 2017.
ALBUGA, S.; ODEH, Y. Towards Prioritizing Software Business Requirements in Startups. 8th International
Conference on Computer Science and Information Technology (CSIT), p. 257-265, 2018.
ASFORA, D. M. Uma abordagem para a priorização de requisitos em ambientes ágeis. 2009. 109p.
Dissertação (Mestrado) - Universidade Federal de Pernambuco, Recife , 2009.
BANKS, Jerry. Handbook of Simulation: principles, methodology, advances, applications, and practice.
Atlanta, Georgia: Emp Books, 1998.
BARBOSA, P. A. M.; PINHEIRO, P. R.; SILVEIRA, F. R. V.; FILHO, M. S. Selection and Prioritization of
Software Requirements Applying Verbal Decision Analysis. Complexity. v. 2019, p. 20, 2019.
15
BELGAMO, A.; MARTINS, L. E. G. Estudo Comparativo sobre as Técnicas de Elicitação de Requisitos do
Software. 2008. Artigo, Piracicaba-SP. Disponível em: <https://www.researchgate.net/profile/Luiz-Eduardo-Ma
rtins/publication/242602092_Estudo_Comparativo_sobre_as_Tecnicas_de_Elicitacao_de_Requisitos_do_Softwa
re/links/5513d4b60cf283ee0834923f/Estudo-Comparativo-sobre-as-Tecnicas-de-Elicitacao-de-Requisitos-do-
Software.pdf>. Acesso em: 15 mai. 2022.
CHEN, C. Extensions of the TOPSIS for group decision-making under fuzzy environment. Fuzzy sets and
systems, v. 114, n. 1, p. 1-9, 2000.
DORFMAN, M. System and Software Requirements Engineering. IEEE Computer Society Press Tutorial. p.
7-22, 1990.
DUARTE FILHO, N.F. MAQSaas - Método para avaliação da qualidade em produtos SaaS. 2011. 175 f.
Dissertação (Mestrado) - Curso de Ciência da Computação, Ciência da Computação, Universidade Federal de
Minas Gerais, Belo Horizonte, 2011.
DYMOVA, L.; KACZMAREK, K.; SEVASTJANOV, P.; KULAWIK, J. A Fuzzy Multiple Criteria Decision
Making Approach with a Complete User Friendly Computer Implementation. Entropy. v. 23, p. 1-28, 2021.
ESTRELLA, F.; RODRÍGUEZ, R.; MARTINEZ, L. A Hesitant Linguistic Fuzzy TOPSIS Approach Integrated
into FLINTSTONES. Atlantis Press. p. 799-806, 2015.
GOMES, C. F. S. et al. PROMETHEE-SAPEVO-M1 / Plataforma Computacional para Apoio à Tomada de
Decisão / Processos Decisórios. Titular: Centro de Análises de Sistemas Navais / Diretoria-Geral de
Desenvolvimento Nuclear e Tecnológico da Marinha. Procurador: André Roberto dos Santos da Silva. BR 51 2020
002587 0. Depósito: 19 nov. 2020. Concessão: 24 nov. 2020a.
GOMES, C. F. S. et al. Sapevo Web/ Auxílio à Decisão Multicritério/ Pesquisa Operacional - Engenharia de
Produção. Titular: Centro de Análises de Sistemas Navais / Diretoria-Geral de Desenvolvimento Nuclear e
Tecnológico da Marinha. Procurador: André Roberto dos Santos da Silva. BR 51 2020 000667 1. Depósito: 14
abr. 2020. Concessão: 22 abr. 2020b.
HAMDAN, S.; CHEAITOU, A. Supplier selection and order allocation with green criteria: An MCDM and multi-
objective optimization approach. Computers & Operations Research. v. 81, p. 282-304, 2017.
ISO/IEC 25000:2014. Software engineering - System and software Quality Requirements and Evaluation
(SQuaRE). Genebra: ISO, 2014.
KAHRAMAN, C.; ÖZTAYŞI, B.; ONAR, S. Ç. A Comprehensive Literature Review of 50 Years of Fuzzy Set
Theory. International Journal of Computational Intelligence Systems. 9, p. 3-24, 2016.
KUMARI, A. C.; SRINIVAS, K. Comparing the performance of quantum-inspired evolutionary algorithms for
the solution of software requirements selection problem. Information and Software Technology, v. 76, p.31-64,
2016.
LIMA JUNIOR, F.R.; CARPINETTI, L.C.R.; OSIRO, L.; GANGA, G.M. Avaliação da qualidade de softwares
de apoio à decisão. In: ENCONTRO NACIONAL DE ENGENHARIA DE PRODUÇÃO, 32, 2012, Bento
Gonçalves, RS. Anais... Bento Gonçalves, RS: ENEGEP, 2012.
LIMA JUNIOR., F.R.; CARPINETTI, L.C.R. Uma comparação entre os métodos TOPSIS e Fuzzy-TOPSIS no
apoio à tomada de decisão multicritério para seleção de fornecedores. Gestão & Produção, v. 22, p. 17-34, 2015.
MCZARA, J.; SARKANI, S.; HOLZER, T.; EVELEIGH, T. Software requirements prioritization and selection
using linguistic tools and constraint solversa controlled experiment. Empirical Software Engineering Journal,
v. 20, p. 17211761, 2015.
MONTES, R.; SÁNCHEZ, A. M.; VILLAR, P.; HERRERA, F. A web tool to support decision making in the
housing market using hesitant fuzzy linguistic term sets. Applied Soft Computing. v. 35, p. 949-957, 2015.
16
MORAIS, M.H.B.M.; JUNIOR, F.R.L. Proposição e aplicação de uma metodologia baseada no AHP e na ISO/IEC
25000 para apoiar a avaliação da qualidade de softwares de gestão de projetos. GEPROS. Gestão da Produção,
Operações e Sistemas, n. 2, p. 239-260, 2017.
MOUGOUEI, D.; GHOSE, A.; DAM, H.; FAHMIDEH, M.; POWERS, D. A Fuzzy-Based Requirement Selection
Method for Considering Value Dependencies in Software Release Planning. IEEE International Conference on
Fuzzy Systems (FUZZ-IEEE). p. 1-6, 2021.
NAZIM, M.; MOHAMMAD, C.W.; SADIQ, M. A Comparison Between Fuzzy AHP And Fuzzy TOPSIS
Methods To Software Requirements Selection. Alexandria Engineering Journal, p. 1085110870, 2022.
PACHECO, C.; GARCÍA, I.; REYES, M. Requirements elicitation techniques: a systematic literature review
based on the maturity of the techniques. IET Software, v. 12, n. 4, p. 365378, 1 ago. 2018.
PITANGUEIRA, A., M.; MACIEL, R.S.P.M.; BARROS, M. Software requirements selection and prioritization
using SBSE approaches: A systematic review and mapping of the literature. Journal of Systems and Software,
v. 103, p. 267-280, 2015.
PRESSMAN, R. S.; MAXIM, B. Engenharia de Software: Uma Abordagem Profissional. 8. ed. Grupo A,
2016.
RODRÍGUEZ, R.M.; MARTINEZ, L.; HERRERA, F. A group decision making model dealing with comparative
linguistic expressions based on hesitant fuzzy linguistic term sets. Information Sciences, v.221, p.28-42, 2013.
SADIQ, M.; JAIN, S.K. Applying fuzzy preference relation for requirements prioritization in goal oriented
requirements elicitation process. International Journal of System Assurance Engineering and Management.
v.5, p. 711723, 2014.
SADIQ, M.; KHAN, S.; MOHAMMAD, C. W. Selection of software requirements using TOPSIS under fuzzy
environment. International Journal of Computers and Applications. 2020.
SADIQ, M.; PARVEEN, A.; JAIN, S.K. Software Requirements Selection with Incomplete Linguistic Preference
Relations. Business & Information Systems Engineering, v. 63, p. 669688, 2021.
SANTOS, M. et al. TOPSIS-2NE. Titular: Vanildo Alexandre Meirelles Vanni. BR 51 2020 001956 0. Depósito:
23 set. 2020. Concessão: 29 set. 2020.
TAHRI, M.; MAANAN, M.; TAHRI, H.; KAŠPAR, J.; PURWESTRI, R. C.; MOHAMMADI, Z.; MARUŠÁK,
R. New Fuzzy-AHP Matlab based graphical user interface (GUI) for a broad range of users: Sample applications
in the environmental field. Computers & Geosciences. v. 158, 2022.
TIWARI, S.; RATHORE, S. S.; GUPTA, A. Selecting requirement elicitation techniques for software projects.
CSI 6th International Conference on Software Engineering. p. 1-10, 2012.
TOMINAGA, L. K. G.; MARTINS, V. W. B.; RAMPASSO, I. S.; ANHOLON, R.; SILVA, D.; PINTO, J.S.;
LEAL FILHO, W.; LIMA JUNIOR, F.R. Critical analysis of engineering education focused on sustainability in
supply chain management: an overview of Brazilian higher education institutions. International Journal of
Sustainability in Higher Education, v. 22, p. 380-403, 2021.
... Esse estudo pode ser dividido em duas etapas principais: (1) definição e priorização de requisitos; e (2) modelagem e implementação computacional. A primeira etapa pode ser classificada como uma pesquisa quantitativa baseada em modelagem computacional (Novaes et al., 2022), por envolver a construção e aplicação de um modelo multicritério baseado em Fuzzy TOPSIS para priorização de requisitos. Ela se iniciou com o estudo do HFL-TOPSIS e um levantamento de softwares de decisão multicritério, com interface gráfica amigável, baseados em lógica fuzzy e/ou suas extensões. ...
... O Decisor 2 (D2) e o Decisor 3 (D3) são pesquisadores que também possuem experiência em HFLTS. Esses decisores definiram os requisitos baseando-se nas necessidades do projeto e no levantamento de softwares prévios, resultando no Quadro 1. Posteriormente, cada decisor estimou os pesos dos requisitos utilizando uma escala composta por cinco termos linguísticos, os quais são associados aos seguintes números fuzzy triangulares (l, m, u): "Muito Baixo (0; 0; 2,5)", "Baixo (0; 2,5; 5,0)", "Médio (2,5; 5,0; 7,5)", "Alto (5,0; 7,5; 10)" e "Muito Alto (7,5; 10; 10)" (Novaes et al., 2022). Já a escala para ponderar a opinião de cada decisor foi definida com base nos mesmos termos linguísticos, porém com números fuzzy que variam entre 0 e 1. Os julgamentos foram convertidos em números fuzzy, resultando nos dados de entrada apresentados na Tabela 1. Após aplicar o Fuzzy TOPSIS conforme Novaes et al. (2022), as pontuações globais (CCi) foram obtidas, as quais serviram de base para classificação dos requisitos. ...
... Esses decisores definiram os requisitos baseando-se nas necessidades do projeto e no levantamento de softwares prévios, resultando no Quadro 1. Posteriormente, cada decisor estimou os pesos dos requisitos utilizando uma escala composta por cinco termos linguísticos, os quais são associados aos seguintes números fuzzy triangulares (l, m, u): "Muito Baixo (0; 0; 2,5)", "Baixo (0; 2,5; 5,0)", "Médio (2,5; 5,0; 7,5)", "Alto (5,0; 7,5; 10)" e "Muito Alto (7,5; 10; 10)" (Novaes et al., 2022). Já a escala para ponderar a opinião de cada decisor foi definida com base nos mesmos termos linguísticos, porém com números fuzzy que variam entre 0 e 1. Os julgamentos foram convertidos em números fuzzy, resultando nos dados de entrada apresentados na Tabela 1. Após aplicar o Fuzzy TOPSIS conforme Novaes et al. (2022), as pontuações globais (CCi) foram obtidas, as quais serviram de base para classificação dos requisitos. 10,0 10,0 5,0 7,5 10,0 7,5 10,0 10,0 0,673 2º R2 7,5 10,0 10,0 7,5 10,0 10,0 7,5 10,0 10,0 0,703 1º R3 7,5 10,0 10,0 7,5 10,0 10,0 7,5 10,0 10,0 0,703 1º R4 5,0 7,5 10,0 0,0 2,5 5,0 2,5 5,0 7,5 0,460 11º R5 5,0 7,5 10,0 5,0 7,5 10,0 5,0 7,5 10,0 0,608 6º R6 5,0 7,5 10,0 5,0 7,5 10,0 5,0 7,5 10,0 0,608 6º R7 5,0 7,5 10,0 7,5 10,0 10,0 7,5 10,0 10,0 0,665 3º R8 5,0 7,5 10,0 2,5 5,0 7,5 2,5 5,0 7,5 0,515 9º R9 7,5 10,0 10,0 5,0 7,5 10,0 5,0 7,5 10,0 0,645 4º R10 7,5 10,0 10,0 7,5 10,0 10,0 0,0 2,5 5,0 0,580 7º R11 5,0 7,5 10,0 5,0 7,5 10,0 0,0 2,5 5,0 0,514 10º R12 5,0 7,5 10,0 7,5 10,0 10,0 5,0 7,5 10,0 0,636 5º R13 5,0 7,5 10,0 7,5 10,0 10,0 5,0 7,5 10,0 0,636 5º R14 5,0 7,5 10,0 2,5 5,0 7,5 2,5 5,0 7,5 0,515 9º R15 2,5 5,0 7,5 7,5 10,0 10,0 5,0 7,5 10,0 0,580 7º R16 2,5 5,0 7,5 5,0 7,5 10,0 5,0 7,5 10,0 0,551 8º Peso dec. ...
Preprint
Full-text available
Mediante a escassez de softwares de apoio à tomada de decisão multicritério em grupo, voltados a situações de incerteza e hesitação, iniciou-se o desenvolvimento de um software com interface amigável, baseado em Hesitant Fuzzy Linguistic TOPSIS (Technique for Order Preference by Similarity to Ideal Solution), HFL-TOPSIS. Nesse contexto, surgiu a necessidade de estabelecer as funcionalidades e outras características técnicas desejáveis a esse sistema. O presente estudo apresenta os principais resultados do processo de implementação de um novo software de auxílio à tomada de decisões sob incerteza. Inicialmente, apresenta-se uma aplicação do método Fuzzy TOPSIS para priorizar os requisitos desse novo software. Esses requisitos foram definidos e avaliados por três pesquisadores. Os resultados serviram de base para a execução da modelagem e da implementação computacional, que foram realizadas com o apoio de diversas ferramentas de desenvolvimento. O presente estudo é o primeiro a aplicar uma técnica multicritério para priorização de requisitos de software de decisão multicritério. Também é o primeiro a propor um software para tomada de decisão baseado em HFL-TOPSIS.
Article
Full-text available
Software requirements (SRs) selection is a multicriteria group decision making (MCGDM) problem whose objective is to select the SRs from the pool of the requirements on the basis of different criteria. In MCGDM, different decision makers have different opinions of the same requirement so it is difficult to decide which set of SRs to implement during the different releases of the software. During the MCGDM process, decision makers may use linguistic variables to specify preferences of requirements over other requirements. In real life applications, it has been observed that sometimes decision makers cannot evaluate the SRs due to their lack of knowledge and limited expertise related to the problem domain. In this situation, incomplete linguistic preference relations (LPRs) are constructed. In literature, SRs selection with incomplete LPRs is still an unresearched problem. Therefore, to address this issue, a method is presented for the selection of SRs with incomplete LPRs. Finally, the applicability of the proposed method is explained with the help of an example.
Article
Full-text available
The paper presents the generalization of the almost forty years of experience in the field of setting and solving the multiple criteria decision-making (MCDM) problems in various branches of a human activity under different types of uncertainties that inevitably accompany such problems. Based only on the pragmatic intentions, the authors avoid the detailed descriptions of the known methods for the decision-making, while instead focusing on the most frequently used mathematical tools and methodologies in the decision-making practice. Therefore, the paper may be classified as a special kind of illustrative review of the mathematical tools that are focused on applications and are the most used in the solutions of MCDM problems. As an illustrative example, a complete user-friendly computer implementation of such tools and methodology is presented with application to the simple “buying a cat” problem, which, however, possesses all the attributes of the hierarchical fuzzy MCDM task.
Article
Full-text available
During the software development process, the decision maker (DM) must master many variables inherent in this process. Software releases represent the order in which a set of requirements is implemented and delivered to the customer. Structuring and enumerating a set of releases with prioritized requirements represents a challenging task because the requirements contain their characteristics, such as technical precedence, the cost required for implementation, the importance that one or more customers add to the requirement, among other factors. To facilitate this work of selection and prioritization of releases, the decision maker may adopt some support tools. One field of study already known to solve this type of problem is the Search-Based Software Engineering (SBSE) that uses metaheuristics as a means to find reasonable solutions taking into account a set of well-defined objectives and constraints. In this paper, we seek to increase the possibilities of solving the Next Release Problem using the methods available in Verbal Decision Analysis (VDA). We generate a problem and submit it so that the VDA and SBSE methods try to resolve it. To validate this research, we compared the results obtained through VDA and compared with the SBSE results. We present and discuss the results in the respective sections.
Article
The fuzzy set theory as one of the key agents of artificial intelligence has been used to deal with vagueness and imprecision during the decision-making process. The software requirements selection is a multicriteria decision making problem which has a key importance for several software development companies. Few methods have been developed to select the software requirements from the list of the elicited requirements using fuzzy analytic hierarchy process (AHP) and fuzzy technique for order of preference by similarity to ideal solution (TOPSIS) methods. Based on our review, we found that little attention is given on the comparison between the fuzzy AHP and fuzzy TOPSIS methods in the context of the software requirements selection problem. To address this issue, this paper presents a comparative analysis of fuzzy AHP and fuzzy TOPSIS methods by considering the small and large set of requirements of an institute examination system based on the following factors: agreement measure, time complexity, rank reversal issue, and number of judgments by decision makers. Based on the comparative study, we found that both fuzzy AHP and fuzzy TOPSIS methods produce the same set of functional requirements based on agreement measure metric in both dataset-1 and dataset-2. Fuzzy AHP requires less time to generate the ranking order in dataset-1; and fuzzy TOPSIS performs better then fuzzy AHP in dataset-2. Fuzzy AHP causes the rank reversal issue; and there is no rank reversal issue in fuzzy TOPSIS and it produces the consistent results. Fuzzy TOPSIS requires less judgment by decision makers then fuzzy AHP. Finally, we discuss the future research directions in the area of SRs selection problem.
Article
Fuzzy-AHP (analytical hierarchy process) is a powerful method for dealing with subjective information. This popular hybrid approach is widely applied in medical and health science, and industrial management, mainly agriculture and environmental sciences. However, it is a complex, time-consuming method, which has induced us to try and optimize the decision-support system process. We create the Fuzzy-AHP algorithm and program in Matlab software, and convert it with the Matlab based graphical user interface (GUI) application. This is a new desktop tool with a wide selection of applications to help decision-makers prioritize choices and/or criteria goals based on expert judgments imported from Excel and a number of criteria. The new technique is designed to allow experts to fill the matrix judgment from both sides depending on the importance of criteria selection. Also, an optional alpha index to define stable or unstable conditions was requested for advanced users. The application was tested and applied in forest recreation and agroforestry case studies. The user-friendly Fuzzy-AHP Matlab GUI facilitates the process analysis speedily and offers an innovative way of enhancing the uncertainty to find the best compromise among experts. The tool is useful for optimizing the decision-support system process in many different fields.
Article
Requirements elicitation is a critical activity that forms part of the Requirements Engineering process because it has to discover what the software must do through a solid understanding of the wishes and needs of the various stakeholders and to transform them into software requirements. However, in spite of its relevance, there are only a few systematic literature reviews that provide scientific evidence about the effectiveness of the techniques used to elicit software requirements. This study presents a systematic review of relevant literature on requirements elicitation techniques, from 1993 to 2015, by addressing two research questions: Which mature techniques are currently used for eliciting software requirements? and Which mature techniques improve the elicitation effectiveness? Prior literature assumes that such “maturity” leads to a better-quality understanding of stakeholders’ desires and needs, and thus an increased likelihood that a resulting software will satisfy those requirements. This research paper found 140 studies to answer these questions. The findings describe which elicitation techniques are effective and in which situations they work best, taking into account the product which must be developed, the stakeholders’ characteristics, the type of information obtained, among other factors.
Article
This research provides a decision-making tool to solve a multi-period green supplier selection and order allocation problem. The tool contains three integrated components. First, fuzzy TOPSIS (technique for order of preference by similarity to ideal solution) is used to assign two preference weights to each potential supplier according to two sets of criteria taken separately: traditional and green. Second, top management uses an analytic hierarchy process (AHP) to assign a global importance weight to each of the two sets of criteria based on the strategy of the company and independently of the potential suppliers. Third, for each supplier, the preference weight obtained from fuzzy TOPSIS regarding the traditional criteria is then multiplied by the global importance weight of the set of traditional criteria. The same is done for the green criteria. The two combined preference weights obtained for each supplier are then used in addition to total cost to select the best suppliers and to allocate orders using multi-period bi-objective and multi-objective optimization. The mathematical models are solved using the weighted comprehensive criterion method and the branch-and-cut algorithm. The approach of this research has a major advantage: it provides top management with flexibility in giving more or less importance weight to green or traditional criteria regardless of the number of criteria in each category through the use of AHP, which reduces the effect of the number of criteria on the preference weight of the suppliers. Contrary to the case in which each supplier is evaluated on the basis of all criteria at the same time, the proposed approach would not necessarily result in a supplier with poor green performance being ranked among the best for a situation in which the number of green criteria is smaller than the number of traditional criteria. In this case, the final ranking would mainly depend on the global weight of the green criteria set given by the top management using AHP as well as on the ranking of the supplier in terms of green criteria obtained from fuzzy TOPSIS. Extensive numerical experiments are conducted in which the bi-objective and multi-objective models are compared and the effect of the separation between green and traditional criteria is investigated. The results show that the two optimization approaches provide very close solutions, which leads to a preference for the bi-objective approach because of its lower computation time. Moreover, the results confirm the flexibility of the proposed approach and show that combining all criteria in one set is a special case. Finally, a time study is performed, which shows that the bi-objective integer linear programming model has a polynomial computation time.