UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da...

247
RODRIGO CEZARIO DA SILVA UMA ABORDAGEM PARA O REUSO DE REQUISITOS BASEADA EM PADRÕES E RASTREABILIDADE São José (SC), agosto de 2011

Transcript of UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da...

Page 1: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

RODRIGO CEZARIO DA SILVA

UMA ABORDAGEM PARA O REUSO DE REQUISITOS BASEADA EM PADRÕES E RASTREABILIDADE

São José (SC), agosto de 2011

Page 2: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

UNIVERSIDADE DO VALE DO ITAJAÍ

CURSO DE MESTRADO ACADÊMICO EM

COMPUTAÇÃO APLICADA

UMA ABORDAGEM PARA O REUSO DE REQUISITOS BASEADA EM PADRÕES E RASTREABILIDADE

por

Rodrigo Cezario da Silva

Dissertação apresentada como requisito parcial à obtenção do grau de Mestre em Computação Aplicada. Orientadora: Fabiane Barreto Vavassori Benitti, Dra.

São José (SC), agosto de 2011

Page 3: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

FOLHA DE APROVAÇÃO

Esta página é reservada para inclusão da folha de assinaturas, a ser disponibilizada pela

Secretaria do Curso para coleta da assinatura no ato da defesa.

Page 4: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

Dedicado à Juliane e Julia, amores da minha vida.

Page 5: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

“Tenha coragem de seguir o que seu coração e sua intuição dizem. Eles já sabem o que você realmente deseja. Todo resto é secundário.”

(Steve Job).

Page 6: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

AGRADECIMENTOS

Agradeço de forma muito carinhosa a minha esposa Juliane, e a minha filha Julia, por me

incentivar e apoiar incondicionalmente, e pela paciência e compreensão nos momentos que estive

ausente.

Agradeço em especial à Profa. Fabiane Barreto Vavassori Benitti, pela orientação, apoio,

compreensão e paciência, sem as quais não seria possível o cumprimento desta etapa. Serei sempre

grato!

Agradeço à Profa. Adriana Gomes Alves que gentilmente se dispôs a auxiliar-me nesta

dissertação, através de revisões e considerações pertinentes nos modelos de correções.

Agradeço à minha amiga Profa. Lucia Galuch pela contribuição na revisão dos dados

estatísticos.

Agradeço aos colegas do laboratório L2S e alunos participantes do experimento, pelo

interesse e comprometimento na realização dos estudos de caso.

Agradeço aos membros da Banca Examinadora, composta pelos Professores Ricardo Pereira

e Silva, Marcello Thiry e Michelle Wangham, que forneceram sugestões e comentários para

melhorar este trabalho.

Agradeço aos profissionais que contribuíram nesta pesquisa, participando das entrevistas e

respondendo aos questionários; suas informações enriqueceram este trabalho.

Por fim, a todos que colaboraram de alguma forma para o sucesso deste trabalho.

Page 7: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

UMA ABORDAGEM PARA O REUSO DE REQUISITOS BASEADA EM PADRÕES E RASTREABILIDADE

Rodrigo Cezario da Silva

Agosto / 2011

Orientadora: Fabiane Barreto Vavassori Benitti, Dra Área de Concentração: Computação Aplicada

Linha de Pesquisa: Engenharia de Software Palavras-chave: Reuso de Requisitos, Padrões de Requisitos, Engenharia de Requisitos.

Número de páginas: 247 RESUMO

O processo de Engenharia de Requisitos é complexo e envolve trabalho desde a captação dos requisitos até a sua documentação e validação. Diversos problemas de projetos de desenvolvimento de software estão relacionados à atividade de elicitação de requisitos. Existem diferentes metodologias e técnicas para realização da tarefa de elicitação de requisitos, mas mesmo assim ainda persistem problemas. Esse trabalho concentra-se nas dificuldades associadas com a comunicação humana ou ao problema de compreensão dos requisitos que é uma parte necessária na elicitação de requisitos. O reuso de requisitos tem sido uma abordagem vista como uma forma de se obter requisitos mais corretos e precisos no processo de Engenharia de Requisitos. Diante desta afirmação, este trabalho propôs uma abordagem de reuso de requisitos dando ênfase nas etapas de elicitação e especificação de requisitos, a qual envolveu técnicas como rastreabilidade, padrões e catálogo de requisitos, sendo apoiada por uma ferramenta computacional. A pesquisa caracterizou-se sob o ponto de vista da natureza como uma pesquisa aplicada, e sob o ponto de vista dos procedimentos técnico enquadra-se como uma pesquisa bibliográfica e experimental. Para tanto, a pesquisa bibliográfica foi realizada de forma sistemática, buscando o estado da arte a cerca de padrões para escrita de requisitos e abordagens de reuso de requisitos. A abordagem de reuso de requisitos passou por três avaliações buscando avaliar a abordagem proposta quanto a eficiência e eficácia em relação a sua não utilização. A primeira avaliação foi realizada de forma controlada em ambiente acadêmico, outra sobre a percepção de uso dos participantes e, por fim, uma avaliação sob o ponto de vista de especialistas na área de engenharia de requisitos. A análise dos resultados das avaliações indicaram que a abordagem apresentou resultados positivos quanto à eficiência e a eficácia em relação a sua não utilização. Neste sentido, têm-se indícios que a abordagem proposta pode auxiliar na elicitação e documentação de requisitos.

Page 8: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

AN APPROACH FOR THE REUSE OF REQUIREMENTS BASED ON PATTERNS AND TRACEABILITY

Rodrigo Cezario da Silva

August / 2011

Advisor: Fabiane Barreto Vavassori Benitti, Dra Area of Concentration: Applied Computer Science

Research Line: Software Engineering Keyworks: Requirement Reuse, Software Requirement Patterns, Requirements Engineering.

Number of pages: 247 ABSTRACT

The process of requirements engineering is complex and involves work since the capture of requirements through its documentation and validation. Several problems of software development projects are related to requirements elicitation activity. There are different methodologies and techniques for accomplishing the task of requirements elicitation, however problems remain still. This work focuses on the difficulties associated with human communication or the failure of understanding of the requirements is an essential part of requirements elicitation. The reuse of requirements has been seen as a way to obtain more accurate and precise requirements in the process of requirements engineering. In front of this statement, this paper proposed an approach for the reuse of requirements with emphasis on the steps of elicitation and specification of requirements, which involved techniques such as traceability, standards and requirements catalog, backed by a computational tool. The research was characterized from the point of view of an applied research, and from the point of view of technical procedures is framed as a literature research and experimental. Through this, the literature research was performed systematically, seeking the state of the art about standards for writing requirements and approaches to the reuse of requirements. The approach to the reuse of requirements was analyzed of three assessments attempt to evaluate the proposed approach and the efficiency and effectiveness compared to no application. The first assessment was performed in a controlled manner in an academic environment, one on the perception to the use from the participants and, finally, an evaluation from the point of view of experts in the area of requirements engineering. The analysis of the results for evaluations indicated that the approach demonstrated positive results on the efficiency and effectiveness compared to no application. In this way, there have been indications that the proposed approach is able to assist in the elicitation and documentation requirements.

Page 9: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

LISTA DE ILUSTRAÇÕES

Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999). ............................. 46 Figura 2 - Catálogo de padrões de requisitos apresentado em Withall (2007). ................................ 46 Figura 3 - Padrão de requisito Registro de Usuário (WITHALL, 2007). ........................................ 48 Figura 4 - Fluxograma das atividades da abordagem de Montabert et al. (2009). ........................... 62 Figura 5 - Generalização do processo de reuso da abordagem de Perednikas (2008). ..................... 69 Figura 6 - Visão geral do processo da abordagem proposta. ........................................................... 77 Figura 7 - Processo retratando a abordagem proposta. ................................................................... 81 Figura 8 - Modelo da estrutura do formulário padrão utilizado pela abordagem. ............................ 85 Figura 9 - Exemplo do padrão Relatório. ....................................................................................... 87 Figura 10 - Catálogo de padrões de requisitos utilizado na abordagem. ......................................... 90 Figura 11 - Exemplos de utilização de um padrão. ......................................................................... 93 Figura 12 - Exemplo de sugestões de reuso a partir da rastreabilidade. .......................................... 94 Figura 13 - Interface de busca e seleção dos padrões. .................................................................... 96 Figura 14 - Interface de “Sugestão de Reuso” baseado no padrão selecionado. .............................. 97 Figura 15 - Interface de "Sugestão de Reuso" baseado na rastreabilidade. ..................................... 98 Figura 16 - Etapas do processo seguido na avaliação da abordagem. ........................................... 103 Figura 17 - Perfil dos participantes. ............................................................................................. 104 Figura 18 - Análise do conhecimento dos participantes. .............................................................. 104 Figura 19 - Gráfico da representação do conhecimento dos grupos. ............................................. 105 Figura 20 - Análise da eficiência. ................................................................................................ 109 Figura 21 - Análise da eficácia. ................................................................................................... 110 Figura 22 - Análise dos mecanismos de reuso. ............................................................................ 111 Figura 23 - Análise comparativa entre os resultados obtidos pelos grupos. .................................. 112 Figura 24 - Boxplots comparando a eficiência dos grupos. .......................................................... 115 Figura 25 - Boxplots comparando a eficácia dos grupos. ............................................................. 115 Figura 26 - Resultado do questionário de percepção do grupo experimental. ............................... 116 Figura 27 - Resultado do questionário de percepção do grupo controle. ....................................... 117 Figura 28 - Indicativo percentual sobre a agilidade na atividade de elicitação e documentação de

requisito utilizando a abordagem. ........................................................................................ 123 Figura 29 - Indicativo percentual da análise em relação a completude e corretude do artefato

produzido. ........................................................................................................................... 124 Figura 30 - Indicativo percentual da análise em relação a ajuda proporcionada pelo emprego dos

padrões/catálogo. ................................................................................................................. 125 Figura 31 - Indicativo percentual da análise em relação ao rendimento proporcionado pela

ferramenta de apoio da ferramenta ....................................................................................... 126 Figura 32 - Gerenciamento da seleção de estudos. ....................................................................... 151 Figura 33 - Relacionamento entre os padrões. ............................................................................. 177 Figura 34 - Casos de uso para o projeto da ferramenta de apoio a abordagem. ............................. 205 Quadro 1 - Estrutura de alguns padrões localizados na literatura.................................................... 42 Quadro 2 - Um exemplo de padrões de requisitos apresentado em Mendez-Bonilla et al. (2008). .. 50 Quadro 3 - Comparativo entre os estudos encontrados. .................................................................. 52 Quadro 4 - Resumo das observações e adequações do experimento piloto. .................................. 101 Quadro 5 - Questões e métrica..................................................................................................... 120 Quadro 6 - Strings de busca no idioma inglês. ............................................................................. 148 Quadro 7 - Strings de busca no idioma português. ....................................................................... 148

Page 10: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

Quadro 8 - População, Intervenção, Contexto, Resultado para cada pergunta de pesquisa (KONDA; MANDAVA, 2010). ............................................................................................................ 172

Quadro 9 - Termos de busca. ....................................................................................................... 173 Quadro 10 - Strings de busca. ...................................................................................................... 173 Quadro 11 - Requisitos funcionais. .............................................................................................. 184 Quadro 12 - Requisitos não funcionais. ....................................................................................... 187 Quadro 13 - Requisitos funcionais. .............................................................................................. 190 Quadro 14 - Requisitos não funcionais. ....................................................................................... 195 Quadro 15 - Padrão de interface entre sistemas............................................................................ 226 Quadro 16 - Padrão de interação entre sistemas. .......................................................................... 226 Quadro 17 - Padrão de tecnologia. ............................................................................................... 226 Quadro 18 - Padrão de aderência ao padrão (do inglês comply-with-standard). ........................... 227 Quadro 19 - Padrão de referência a requisitos (do inglês refer-to-requirements). ......................... 227 Quadro 20 - Padrão de documentação. ........................................................................................ 227 Quadro 21 - Padrão de tipo de dados. .......................................................................................... 227 Quadro 22 - Padrão de estrutura de dados. ................................................................................... 227 Quadro 23 - Padrão de identificação. ........................................................................................... 228 Quadro 24 - Padrão de fórmula de cálculo. .................................................................................. 228 Quadro 25 - Padrão de longevidade de dados. ............................................................................. 228 Quadro 26 - Padrão de arquivamento de dados. ........................................................................... 229 Quadro 27 - Padrão de entidade ativa. ......................................................................................... 229 Quadro 28 - Padrão de transação. ................................................................................................ 229 Quadro 29 - Padrão de configuração. ........................................................................................... 230 Quadro 30 - Padrão cronologia. ................................................................................................... 230 Quadro 31 - Padrão de consulta. .................................................................................................. 230 Quadro 32 - Padrão de relatório. .................................................................................................. 231 Quadro 33 - Padrão de acessibilidade. ......................................................................................... 231 Quadro 34 - Padrão de tempo de resposta. ................................................................................... 232 Quadro 35 - Padrão de rendimento (do inglês throughput)........................................................... 232 Quadro 36 - Padrão de capacidade dinâmica................................................................................ 232 Quadro 37 - Padrão de capacidade estática. ................................................................................. 233 Quadro 38 - Padrão de disponibilidade. ....................................................................................... 233 Quadro 39 - Padrão de escalabilidade. ......................................................................................... 233 Quadro 40 - Padrão de extensabilidade. ....................................................................................... 233 Quadro 41 - Padrão de ilimitado (do inglês unparochialness). ..................................................... 234 Quadro 42 - Padrão de múltiplos. (do inglês multiness) ............................................................... 234 Quadro 43 - Padrão de multi-linguagem. ..................................................................................... 234 Quadro 44 - Padrão de instalabilidade. ........................................................................................ 235 Quadro 45 - Padrão de registro de usuário. .................................................................................. 235 Quadro 46 - Padrão de autenticação de usuário............................................................................ 235 Quadro 47 - Padrão de autorização específica. ............................................................................. 235 Quadro 48 - Padrão de autorização configurável.......................................................................... 235 Quadro 49 - Padrão de aprovação. ............................................................................................... 236 Quadro 50 - Padrão de multi-organizacional. ............................................................................... 236 Quadro 51 - Padrão de taxas. ....................................................................................................... 236

Page 11: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

LISTA DE TABELAS

Tabela 1 - Problemas com Requisitos ............................................................................................ 13 Tabela 2 - Resultado da análise das ferramentas. ........................................................................... 39 Tabela 3 - Modelo de descrição do padrão de requisito. ................................................................. 58 Tabela 4 - Exemplo da utilização da abordagem de Gotzhein et al., (1998). ................................... 59 Tabela 5 - Matriz de PR-Context. .................................................................................................. 64 Tabela 6 - Especificação do PR1 para Cadastro. ............................................................................ 65 Tabela 7 - Matriz de PR-Usecase. ................................................................................................. 66 Tabela 8 - Nível de distribuição de reuso. ...................................................................................... 67 Tabela 9 - Economia de esforço e razão de reuso. .......................................................................... 68 Tabela 10 - Análise comparativa entre os trabalhos similares. ....................................................... 70 Tabela 11 - Exemplo de sugestão de reuso pela rastreabilidade. .................................................... 93 Tabela 12 - Resultado dos estudos de caso. ................................................................................. 108 Tabela 13 - Análise sobre o percentual de reuso. ......................................................................... 110 Tabela 14 - Classificação dos grupos. .......................................................................................... 112 Tabela 15 - Resultados da classificação (ranks) em relação à eficiência. ...................................... 113 Tabela 16 - Plano de coleta de dados. .......................................................................................... 121 Tabela 17 - Resultado da busca nas fontes utilizando no idioma inglês. ....................................... 153 Tabela 18 - Resultado da busca nas fontes utilizando no idioma português. ................................. 154 Tabela 19 - Matriz de estudo encontrados.................................................................................... 156 Tabela 20 - Estudos descartados na etapa de análise do resumo e conclusões. ............................. 157 Tabela 21 - Template da tabela de extração dos dados dos estudos primários selecionados. ......... 158 Tabela 22 - Extração dos dados do estudo de Franch et al. (2010). .............................................. 159 Tabela 23 - Extração dos dados do estudo de Renault et al. (2009a). ........................................... 160 Tabela 24 - Extração dos dados do estudo de Renault et al. (2009b). ........................................... 162 Tabela 25 - Extração dos dados do estudo de Mendez-Bonilla et al. (2008). ................................ 163 Tabela 26 - Extração dos dados do estudo de Withall (2007). ...................................................... 164 Tabela 27 - Extração dos dados do estudo de Toro et al. (1999). ................................................. 165 Tabela 28 - Estudos obtidos para responder a Q1. ....................................................................... 175 Tabela 29 - Estudos localizados na revisão. ................................................................................. 176 Tabela 30 - Requisitos funcionais. ............................................................................................... 198 Tabela 31 - Requisitos não funcionais. ........................................................................................ 202 Tabela 32 - Matriz de rastreabilidade RF x RNF.......................................................................... 204 Tabela 33 - Planejamento do experimento. .................................................................................. 212

Page 12: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

LISTA DE ABREVIATURAS E SIGLAS

CMMI-DEV Capability Maturity Model Integration ERS Especificação de Requisito de Software FODA Feature-Oriented Domain Analysis GQM Goal-Question-Metrics HTML Hypertext Markup Language IEC International Eletrotechnical Commission IEEE Institute of Electrical and Electronics Engineers INCOSE International Council on Systems Engineering ISBN International Standard Book Number IRC Interruption, Reaction, and Comprehension ISO/IEC International Organization for Standardization/ International

Electrotechnical Commission JAD Joint Application Development LINK-UP Leveraging Integrated Notification Knowledge through Usability

Parameters LPS Linha de Produto de Software MCA Mestrado em Computação Aplicada MPS.BR Melhoria de Processo do Software Brasileiro ODM Organization Domain Modeling PDF Portable Document Format PR Primitive Requirement RF Requisito funcional RNF Requisito Não Funcional RSP Requirements Specification RTF Rich Text Format SEI Software Engineering Institute SWEBOK Software Engineering Body of Knowledge SOA Stage-Of-Action-Leve SPICE Software Process Improvement and Capability dEtermination UML Unified Modeling Language UNIVALI Universidade do Vale do Itajaí XML Extensible Markup Language

Page 13: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

SUMÁRIO

1 Introdução ......................................................................................... 12 3.1 PROBLEMA DE PESQUISA ........................................................................ 13 3.1.1 Solução Proposta .......................................................................................... 15 3.1.2 Delimitação de Escopo ................................................................................. 18 3.1.3 Justificativa .................................................................................................. 19 3.2 OBJETIVOS ................................................................................................... 20 3.2.1 Objetivo Geral .............................................................................................. 20 3.2.2 Objetivos Específicos ................................................................................... 20 3.3 METODOLOGIA ........................................................................................... 20 3.3.1 Metodologia da Pesquisa.............................................................................. 20 3.3.2 Procedimentos Metodológicos ..................................................................... 23 3.4 ESTRUTURA DA DISSERTAÇÃO .............................................................. 25

2 Fundamentação Teórica ................................................................... 27 2.1 ENGENHARIA DE REQUISITOS ............................................................... 27 2.1.1 Processo de Engenharia de Requisitos ........................................................ 29 2.2 REUSO DE REQUISITOS ............................................................................ 30 2.2.1 Rastreabilidade no contexto de reuso ......................................................... 33 2.2.2 Linha de Produtos de Software no Contexto de Reuso de Requisitos ....... 35 2.2.3 Ferramentas ................................................................................................. 36 2.3 PADRÕES ....................................................................................................... 40 2.3.1 Padrões de Requisitos .................................................................................. 42 2.4 PADRÕES DE REQUISITOS PARA ESCRITA DE REQUISITOS DE SOFTWARE........................................................................................................... 44 2.4.1 Abordagem de Toro et al. (1999) ................................................................. 45 2.4.2 Abordagem de Withall (2007) ..................................................................... 46 2.4.3 Abordagem de Franch et al. (2010), Renault et al. (2009a), Renault et al. (2009b) e Mendez-Bonilla et al. (2008) .................................................................. 49 2.4.4 Comparativo entre as abordagens............................................................... 50 2.5 CONSIDERAÇÕES SOBRE O CAPÍTULO ................................................ 53

3 Estado da Arte ................................................................................... 54 3.1 CRITÉRIOS PARA SELEÇÃO DOS ESTUDOS ........................................ 55 3.2 TRABALHOS RELACIONADOS ................................................................ 55 3.2.1 SMARTRe Requisitos: Escrevendo requisitos reutilizáveis (KEEPENCE et al., 1995) .............................................................................................................. 55 3.2.2 Uma abordagem de especificação de domínio de aeronáutica necessária para alcançar a reutilização (LAM, 1997) ............................................................ 56 3.2.3 Reutilização em engenharia de requisitos: descoberta e aplicação de um padrão de requisito em tempo real (GOTZHEIN et al., 1998) ............................ 57

Page 14: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

3.2.4 Suporte a reutilização de requisitos em design de sistema de notificação através da tarefa de modelagem (MONTABERT et al., 2005) e Uma abordagem integrativa para a análise de requisitos: Como modelos de tarefas dão suporte ao reuso em um framework de modelagem centrado no usuário (MONTABERT et al., 2009) .................................................................................................................. 59 3.2.5 Uma abordagem para o desenvolvimento de requisitos de domínio como núcleo principal baseado nos pontos comuns e análise da variabilidade em uma linha de produtos (MOON et al., 2005) ................................................................. 63 3.2.6 Abordagem prática para reuso de requisitos de famílias de produtos de sistemas on-board (MONZON, 2008) ................................................................... 66 3.2.7 Reutilização de requisitos baseado nas previsões das necessidades dos usuários (PEREDNIKAS, 2008) ............................................................................ 68 3.3 CONSIDERAÇÕES SOBRE OS TRABALHOS SIMILARES ................... 69 3.4 CONSIDERAÇÕES DO CAPÍTULO ........................................................... 74

4 Abordagem de Reuso de Requisitos ................................................. 76 4.1 VISÃO GERAL .............................................................................................. 76 4.2 PROCESSO DE REUTILIZAÇÃO DE REQUISITOS ............................... 80 4.3 PADRÃO DE ESCRITA DE REQUISITO DE SOFTWARE ..................... 83 4.4 CATÁLAGO DE PADRÕES DE REQUISITOS ......................................... 88 4.5 REPOSITÓRIO .............................................................................................. 91 4.6 MECANISMOS DE APOIO AO REUSO ..................................................... 92 4.7 FERRAMENTA DE APOIO ......................................................................... 94 4.7.1 Funcionalidades ............................................................................................ 95 4.8 CONSIDERAÇÕES DO CAPÍTULO ........................................................... 98

5 Avaliação da abordagem ..................................................................100 5.1 QUASE-EXPERIMENTO ........................................................................... 100 5.1.1 Planejamento .............................................................................................. 100 5.1.2 Execução do Experimento Piloto ............................................................... 101 5.1.3 Execução ..................................................................................................... 102 5.1.4 Resultados ................................................................................................... 107 5.2 ANÁLISE DE ESPECIALISTAS ................................................................ 119 5.2.1 Planejamento .............................................................................................. 119 5.2.2 Execução ..................................................................................................... 122 5.2.3 Resultados ................................................................................................... 122 5.3 CONSIDERAÇÕES DO CAPÍTULO ......................................................... 126

6 Conclusão ..........................................................................................129 6.1 RESULTADOS ............................................................................................. 131 6.2 TRABALHOS FUTUROS ........................................................................... 133

REFERÊNCIAS....................................................................................135

Page 15: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

APÊNDICE A - PROTOCOLO DE MAPEAMENTO SISTEMÁTICO ....................................................................................144

1 OBJETIVO .......................................................................................145

2 PLANEJAMENTO DA REVISÃO .................................................145 2.1 PERGUNTA DE PESQUISA ....................................................................... 145 2.2 ESTRUTURA DA PERGUNTA DE PESQUISA ....................................... 146 2.3 ESTRATÉGIA DE BUSCA ......................................................................... 146 2.4 DEFINIÇÃO DAS STRINGS DE BUSCA .................................................. 148 2.5 CRITÉRIOS DE INCLUSÃO E EXCLUSÃO DE ESTUDOS PRIMÁRIOS 148 2.6 CRITÉRIOS PARA FILTRAGEM DE PESQUISA .................................. 149 2.7 PROCESSO DE SELEÇÃO DE TRABALHOS PRELIMINAR .............. 150 2.8 AVALIAÇÃO DA QUALIDADE DOS ESTUDOS PRIMÁRIOS ............ 151 2.9 EXTRAÇÃO DOS DADOS ......................................................................... 151

3 CONDUÇÃO DA REVISÃO ...........................................................152 3.1 IDENTIFICAR A PESQUISA ..................................................................... 153 3.2 SELEÇÃO DOS ESTUDOS PRIMÁRIOS ................................................. 154 3.3 EXTRAÇÃO E MONITORAÇÃO DOS DADOS ...................................... 157 3.4 EXTRAÇÃO DOS DADOS DOS ESTUDOS SELECIONADOS.............. 158

REFERÊNCIAS....................................................................................166

APÊNDICE B - REVISÃO SISTEMÁTICA DA LITERATURA SOBRE REUSO DE REQUISITOS ....................................................170 3.5 REVISÃO SISTEMÁTICA DA LITERATURA REALIZADA POR KONDA E MANDAVA (2010) ............................................................................ 170 3.5.1 Fase 1 .......................................................................................................... 171 3.5.2 Fase 2 .......................................................................................................... 174 3.5.3 Fase 3 .......................................................................................................... 175 3.5.4 Fase 4 .......................................................................................................... 175

APÊNDICE C - RELACIONAMENTO ENTRE OS PADRÕES ...177

APÊNDICE D - PROPOSTA DE ESTUDO DE CASO 1: LOJA VIRTUAL "LIVRARIA THE BOOKS" ............................................178

APÊNDICE E - PROPOSTA DE ESTUDO DE CASO 2: SISTEMA DE RESERVA ONLINE DE UMA LOCADORA DE VEÍCULOS..181

APÊNDICE F - MODELO DE CORREÇÃO DO ESTUDO DE CASO 1 184

APÊNDICE G - MODELO DE CORREÇÃO DO ESTUDO DE CASO 2 190

Page 16: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

APÊNDICE H - PROJETO DA FERRAMENTA DE APOIO ........198 1 REQUISITOS ............................................................................................... 198 1.5 REQUISITOS FUNCIONAIS ..................................................................... 198 1.6 REQUISITOS NÃO FUNCIONAIS ............................................................ 202 1.7 MATRIZ DE RASTREABILIDADE .......................................................... 204 1.8 CASOS DE USO ........................................................................................... 205

APÊNDICE I - PLANEJAMENTO DA AVALIAÇÃO ...................212

APÊNDICE J - TERMO DE CONCORDÂNCIA ............................217

APÊNDICE K - QUESTIONÁRIO DO PERFIL DOS PARTICIPANTES ................................................................................218

APÊNDICE L - QUESTIONÁRIO DE PERCEPÇÃO (GRUPO EXPERIMENTAL) ..............................................................................220

APÊNDICE M - QUESTIONÁRIO DE PERCEPÇÃO (GRUPO DE CONTROLE) 221

APÊNDICE N - RELAÇÃO DE PARTICIPANTES .......................222

APÊNDICE O - QUESTIONÁRIO PARA AVALIAÇÃO COM ESPECIALISTAS .................................................................................223

ANEXO A - Tradução dos padrões de Whitall (2007) ...................226

ANEXO B - Ficha de Cadastro de Livros (Estudo de Caso 1) .........237

ANEXO C - Tabela fornecida pelos Correios para o cálculo do frete (Estudo de Caso 1) ................................................................................238

ANEXO D - Dados da Transação retornados pela operadora de cartão de crédito (Estudo de caso 1 e 2) ..............................................239

ANEXO E - Folder (Estudo de caso 2) ..............................................240

ANEXO F - Tabela de contrato de cobertura de risco (Estudo de caso 2) 241

ANEXO G - Ata de reunião de entrevista (Estudo de caso 2) .......242

Page 17: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

12

1 INTRODUÇÃO

Nos últimos anos, as organizações voltadas ao desenvolvimento de software têm procurado

por melhores práticas em engenharia de requisitos (YOUNG, 2004; WIEGERS, 2006;

ROBERTSON; ROBERTSON, 2006; DAVEY; COPE, 2008; TAMAI; KAMATA, 2009; LIU et

al., 2010). Essa busca por novas práticas ocorreram porque as organizações perceberam que o êxito

no projeto está cada vez mais relacionado a um melhor entendimento dos requisitos (WIEGERS,

2006; ROBERTSON; ROBERTSON, 2006).

Nesse sentido, diversos autores ressaltam a importância da engenharia de requisitos e seus

impactos principalmente em relação aos custos do projeto. De acordo com Pressman (2002), a

correção de defeitos de software na fase de projetos eleva o custo de três a seis vezes mais que na

fase de definição de requisitos. Já Boehm e Basili (2001), informam que os custos podem ser

elevados em 100 vezes caso a correção ocorra após a entrega do sistema de software. Robertson e

Robertson (2006) destacam que 60% dos erros em produtos de software são decorrentes de

requisitos incorretos ou incompletos. Pesquisas como a de Davey e Cope (2008), apontam que na

atividade de elicitação de requisitos ocorrem problemas que levam ao insucesso ou abandono de

projetos.

Visando resolver esses problemas, a Engenharia de Requisitos é uma área da Engenharia de

Software que trabalha com a sistematização do tratamento dos requisitos (SWEBOK, 2004), sendo

composta pelas seguintes atividades (WIEGERS, 2006; CHENG; ATLEE, 2007) ou subáreas

(SWEBOK, 2004): elicitação, análise, especificação e validação. A Elicitação de Requisitos tem

como objetivo o descobrimento ou identificação das necessidades dos stakeholders. (WIEGERS,

2006; SOMMERVILLE, 2007). Para a realização dessa atividade diversas técnicas podem ser

empregadas, alguns trabalhos apresentam um comparativo entre estas (DAVEY; COPE, 2008;

ZHANG, 2007) porém, essas pesquisas ainda apontam problemas nessa atividade.

O processo de Engenharia de Requisitos é complexo e envolve muito trabalho desde a

captação dos requisitos até sua documentação. Na literatura, diversas pesquisas (GRISS et al., 1998;

BARBER et al., 1999; KULOOR; EBERLEIN, 2002; FALBO et al., 2007; PEREDNIKAS, 2008)

afirmam que muitos esforços podem ser poupados utilizando abordagens de reuso nesse processo.

Já o uso de padrões é apontado como uma solução emergente para ajudar às organizações a

Page 18: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

13

estruturar melhor o seu conhecimento (HAGGE; LAPPE, 2006; RENAULT et al., 2009a). O uso de

padrões ajuda no processo interno de comunicação, pois se trata de uma solução de identificação e

de registro de uma solução empregada, e isso é feito de forma que seja mais fácil a sua localização,

uso ou sua disseminação (CUNHA; HEBERT, 2003).

Diante do exposto, este trabalho apresenta, como contribuição na área de Engenharia de

Requisitos, uma abordagem para o reuso de requisitos. Tal abordagem está embasada na

rastreabilidade entre requisitos, catálogos de requisitos e em padrões, apoiada por uma ferramenta

computacional, com o propósito de obter requisitos mais corretos e precisos.

3.1 PROBLEMA DE PESQUISA

Freitas et al. (2007) relatam que erros produzidos na atividade de elicitação de requisitos

podem ser muito custosos se detectados em um estágio avançado do desenvolvimento. Em

complemento, Gottesdiener (2008), diz que a definição correta dos requisitos no início do

desenvolvimento é um fator crucial para reduzir o risco de falhas e custos associados com defeitos.

A Tabela 1 descreve as fontes de problemas encontrados no desenvolvimento de software

em relação a requisitos. Esses dados são de uma pesquisa realizada em trinta e dois projetos

iniciados e concluídos entre 2003 e 2005 em uma grande empresa de Tokyo por Tsumaki e Tamai

(2006) e nesta foram apontadas vinte e duas diferentes fontes de dificuldade (não ordenadas) em

relação a requisitos.

Tabela 1 - Problemas com Requisitos

Fontes de problemas em relação a requisitos. Requisitos incompletos Condições intestáveis Pouco conhecimento sobre o domínio Limites do sistema mal definidos Pouco conhecimento sobre as necessidades dos usuários

Fontes de informação vultosas e desorganizadas

Requisitos incorretos Pouca colaboração por parte dos usuários Diferentes visões para diferentes usuários Mau entendimento do propósito do sistema Requisitos ambíguos Requisitos soltos Requisitos incompatíveis Requisitos flutuantes Suposições tácitas negligenciadas Intenções abstratas de donos de requisitos Requisitos excessivos Aceitação contínua de requisitos adicionais Condições sinônimas e homônimas Muitos compromissos pela equipe de vendas Considerações de desígnio desnecessário Muitos donos de requisitos

Fonte: Tsumaki e Tamai (2006).

Page 19: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

14

De acordo com Davey e Cope (2008), os problemas com requisitos levantados por Tsumaki

e Tamai (2006), são decorrentes de três fatores:

problemas de comunicação humana;

as necessidades das organizações mudam de acordo com o tempo;

o cliente só percebe algumas oportunidades depois que o projeto é iniciado. Segundo

Sommerville (2007), isso acontece porque as pessoas envolvidas desenvolvem uma

compreensão maior do que realmente querem que o software faça.

Esses fatores descritos por Davey e Cope (2008) são semelhantes aos problemas

classificados na fase de elicitação por Christel e Kang (1992). Em seu relatório, elaborado para SEI

intitulado "Questões em Elicitação de Requisitos", eles definem três categorias de problemas na

fase de elicitação: problemas de escopo, problemas de compreensão e problemas de volatilidade

(CHRISTEL; KANG, 1992).

Diversos autores (HOOD et al., 2008; PRESMANN, 2002; YOUNG, 2004) relatam a

dificuldade encontrada na fase de elicitação de requisitos e apontam sempre como vilão o problema

de compreensão na elicitação de requisitos. Diversas técnicas como entrevistas, brainstorming,

cenários, observação e etc., são apontados como métodos aplicados para a identificação dos

requisitos, mas mesmo assim os autores argumentam que é uma tarefa difícil e que não se trata

apenas de anotar as necessidades de seus usuários, a pessoa que executa essa atividade deve ser uma

pessoa preparada e que tenha habilidades natas para conseguir “seduzir” os clientes para realizar sua

tarefa (HOOD et al., 2008).

Os argumentos usados nesse tópico demonstram a complexidade do problema ainda

enfrentado na Engenharia de Requisitos. Tsumaki e Tamai (2006) reforçam o problema ainda

enfrentado nessa área. Assim, diante dos problemas relatados pela literatura e aqui relacionados,

este trabalho pretende contribuir com a área de engenharia de requisitos abordando os seguintes

problemas:

requisitos incompletos;

pouco conhecimento sobre o domínio;

Page 20: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

15

pouco conhecimento sobre as necessidades dos usuários;

condições sinônimas e homônimas;

Considerando esses problemas, trabalhos como o de Lucrédio (2009), Lutowski, (2005),

Falbo et al., (2007), Kuloor e Eberlein (2002) apontam o reuso de requisitos como uma solução

consolidada para ajudar a resolver o problema explanado nesse tópico. Porém, esses trabalhos

deixam algumas questões ainda em aberto, que este trabalho pretende responder:

Q1 – A utilização de uma abordagem de reuso de requisitos torna mais eficiente o processo

de elicitação de requisitos que uma abordagem sem a utilização de reuso?

Q2 – A utilização de uma abordagem de reuso de requisitos torna mais eficaz o processo de

elicitação de requisitos que uma abordagem sem a utilização de reuso?

No contexto deste trabalho, a eficiência é calculada como a razão entre o número de

requisitos corretamente descritos e o tempo gasto no processo de elicitação. A eficácia é

considerada como a relação entre o número de requisitos corretamente descritos e número total de

requisitos existentes (conhecidos). Para tanto, são considerados requisitos corretamente descritos, os

requisitos que observarem os critérios quanto à: correto, não ambíguo, completo, consistente,

verificável e rastreável, conforme abordado pela norma IEEE Std 830-1998 (IEEE std 830-1998,

1998), sendo que tal avaliação irá considerar como referência um documento de especificação de

requisitos aprovado por especialista.

Através de uma pesquisa bibliográfica preliminar, percebeu-se a oportunidade de elaborar

uma pesquisa que permita responder as questões aqui formuladas. Além de apresentar uma nova

abordagem de reuso de requisito, a realização de um experimento e uma avaliação conduzida

através do método GQM (Goal-Question-Metrics) buscam responder essas questões que ainda estão

em aberto.

3.1.1 Solução Proposta

A intenção desta pesquisa é propor e avaliar uma abordagem para o reuso de requisitos

apoiada por uma ferramenta computacional. Propõe-se uma abordagem para a Engenharia de

Page 21: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

16

Requisitos dando ênfase nas etapas de elicitação e documentação, estando esta abordagem apoiada

em práticas como rastreabilidade entre requisitos, catálogo de requisitos e padrões.

A identificação de um conjunto de requisitos para uma determinada linha de produtos ou

características de produtos é uma tarefa difícil de ser realizada. Porém, o emprego de técnicas de

rastreabilidade pode ajudar a potencializar o reuso de requisitos (DICK, 2002). Nesse sentido, o

emprego da rastreabilidade (de requisitos funcionais com requisitos não funcionais), utilizada pela

abordagem aqui proposta, tem a intenção de sugerir novos requisitos tendo como base requisitos

rastreados que foram usados em outros projetos similares.

Já o Catálogo de Requisitos é um conjunto de padrões de requisitos e estão relacionados de

forma que venha a sugerir requisitos adicionais. Esses padrões têm o objetivo de estabelecer

requisitos com uma maior qualidade de escrita, isso com maior agilidade e menor esforço

(WITHALL, 2007). Em complemento, encontra-se em Oliveira e Spinola (2007), que o uso de

padrões é uma solução que “agiliza” o processo de elicitação de requisitos de software e também

pode aumentar a qualidade dos documentos gerados. No que diz respeito a catálogo de padrões,

neste trabalho foi realizada a identificação e análise de padrões encontrados na literatura para escrita

e categorização de requisitos.

Segundo Hagge e Lappe (2006), padrões de engenharia de requisitos são elaborados para

encapsular as boas práticas disponíveis de engenharia de requisitos, pois os padrões oferecerem uma

base sólida de aprendizado organizacional, o que ajuda equipes com pouca ou nenhuma experiência

em engenharia de requisitos, transferindo o conhecimento para um nível prático. Além disso, para o

emprego de padrões de requisitos não se faz necessária uma adaptação ou reorganização do

processo de software (HAGGE; LAPPE, 2004a).

Cheng e Atlee (2007) também fazem uma reflexão sobre o uso de padrões em uma

abordagem de reuso em seu trabalho, no qual discute o futuro da Engenharia de Software, segundo

as autoras, o uso de padrões ajudaria os profissionais em um contexto de reutilização, isso devido

aos padrões ser estruturas abstratas reutilizáveis e que devem vir acompanhadas de um par

problema/solução e exemplos de sua utilização.

Sobre processos de reutilização, pode-se dizer que estes já se encontram em diversas

atividades no processo de software. Diversas pesquisas (GRISS et al., 1998; BARBER et al., 1999;

Page 22: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

17

KULOOR; EBERLEIN, 2002; FALBO et al., 2007) apontam que o reuso não deve se limitar

apenas ao código, seus benefícios devem também se estender aos requisitos, projetos, testes,

especificações e a outros artefatos gerados durante o processo de software. De fato, qualquer

artefato pode ser reutilizado.

O reuso de requisitos na atividade de elicitação não é uma forma “vital” de se descobrir

novos requisitos, mas é uma forma de se obter requisitos indiretamente de outras fontes, não

somente de usuários ou clientes. Essa forma de conseguir requisitos serve como um complemento

para a atividade, melhorando de forma eficiente e eficaz o levantamento de requisitos (ZHANG,

2007).

Wiegers (2006) e Young (2004) recomendam o apoio de ferramentas para automatizar e

gerenciar o processo de Engenharia de Requisitos. Essa automatização pode ser feita desde a

elicitação dos requisitos até a sua gerência. Johnson e Harris (1991) reforçam afirmando que a

reutilização informal é possível, mas que existem muitas vantagens em apoiar-se em uma

ferramenta computacional para realização de um processo de reuso.

Em virtude do cenário exposto neste tópico, este trabalho tem como objetivo elaborar uma

abordagem para o reuso de requisitos, apoiada em ferramenta computacional, visando verificar as

seguintes hipóteses:

H01 (hipótese nula para a pergunta de pesquisa Q1): Não existe diferença quanto à

eficiência do processo de elicitação quando utilizada a abordagem de reuso em relação ao seu não

uso.

HA1 (hipótese alternativa ao H01): A eficiência do processo de elicitação utilizando

abordagem baseada em reuso é maior que quando não utilizada esta abordagem.

H02 (hipótese nula para a pergunta de pesquisa Q2): Não existe diferença quanto à eficácia

do processo de elicitação quando utilizada a abordagem de reuso em relação ao seu não uso.

HA2 (hipótese alternativa ao H02): A eficácia do processo de elicitação utilizando

abordagem baseada em reuso é maior que quando não utilizada esta abordagem.

Na busca por este objetivo, este trabalho apresenta uma abordagem voltada ao reuso de

requisitos de software. A abordagem aqui proposta é apoiada na rastreabilidade entre requisitos,

Page 23: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

18

catálogos de requisitos e em padrões. Pretende-se com uso da técnica de rastreabilidade de

requisitos, identificar outros requisitos que foram relacionados em projetos anteriores, conforme

Spanoudkis e Zisman (2005), com o emprego de rastreabilidade de requisitos é possível identificar

e comparar as necessidades dos sistemas novos com sistemas existentes. E com o emprego de

padrões pretende-se atingir o objetivo de obter requisitos com uma maior qualidade de escrita

(HAGGE; LAPPE, 2006; OLIVEIRA; SPINOLA, 2007) e agilizar o processo de elicitação de

requisitos de software (OLIVEIRA; SPINOLA, 2007).

O diferencial da abordagem proposta reside no fato de que não foi encontrado na literatura

um trabalho que reúna as técnicas de rastreabilidade, catálogo de requisito e padrões com o intuito

de potencializar a reutilização de requisitos.

3.1.2 Delimitação de Escopo

Ao verificar o interesse da comunidade de software por pesquisas que voltem seus esforços

em realizar avaliações de eficácias e eficiência entre técnicas de elicitação de requisitos e de

abordagens que propiciem o reuso de requisitos (CHENG; ATLEE, 2007), este trabalho pretende

avaliar de forma empírica a eficiência e eficácia de uma nova abordagem para o reuso de requisitos.

Para isso, pretende-se elaborar uma nova abordagem que potencialize o reuso de requisitos, estando

esta apoiada em práticas como rastreabilidade entre requisitos, catálogo de requisitos e padrões.

Este trabalho pretende fazer uso da rastreabilidade com o propósito de vincular requisitos

entre si. Não serão desenvolvidos mecanismos que trabalhem todo o processo de rastreabilidade

entre requisitos e quaisquer outros artefatos no projeto de software.

Em resumo, está fora do escopo deste trabalho:

as outras atividades da disciplina da Engenharia de Requisitos (análise e negociação

dos requisitos, verificação e validação, e gerência de requisitos);

atividades de manutenção dos artefatos produzidos;

atividade de rastreabilidade entre outros artefatos no projeto de software;

atividades ligadas a exploração de prototipação.

Page 24: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

19

3.1.3 Justificativa

A definição correta dos requisitos é um fator crucial para reduzir custos e riscos no projeto

de software (GOTTESDIENER, 2008), pois a falta de um bom trabalho na atividade de elicitação

de requisitos leva ao insucesso ou abandono de projetos (DAVEY; COPE, 2008). Problemas na

elicitação de requisitos estão relacionados a escopo, compreensão e volatilidade (CHISTEL;

KANG, 1992), esses problemas são decorrentes da dificuldade em se extrair ou identificar as

necessidades de seus usuários (HOOD et al., 2008).

Em um evento que discutiu o futuro da Engenharia de Software, o FOSE'07 (Future of

Software Engineering). Cheng e Atlee (2007) fizeram um levantamento do estado atual da arte da

Engenharia de Requisitos e identificaram futuras direções de pesquisas no que diz respeito a

tecnologias que abordam especificação de requisitos, elicitação, modelagem e análise. Diante do

trabalho das autoras, podem-se destacar os seguintes pontos que justificam o presente projeto:

Cheng e Atlee (2007) citam que há poucos trabalhos que relatem comparações de

eficácia entre técnicas de elicitação;

o uso de padrões para escrita de requisitos e abordagens de reuso como hotspots de

pesquisa na Engenharia de Requisitos.

Trabalhos que tratem Padrões são vistos pelas autoras como pesquisas que beneficiam no

melhoramento da qualidade dos artefatos de requisitos produzidos, pois os padrões impõem certo

nível de uniformidade e previsibilidade no resultado da descrição dos requisitos.

Em relação a Reuso de Requisitos, Cheng e Atlee (2007) afirmam que a dificuldade

encontrada nessa área é como facilitar a reutilização dos artefatos de requisitos. Outra dificuldade

relatada pelas autoras é em relação às seções da estrutura dos padrões, segundo elas essas

informações normalmente não são suficientes para facilitar a reutilização do padrão.

Em virtude do exposto, este trabalho se justifica pelo interesse da comunidade em pesquisas

que voltem esforços para abordagens que propiciem o reuso de especificações de requisitos, bem

como avaliações que determinem sua eficiência e eficácia.

Page 25: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

20

3.2 OBJETIVOS

Esta seção formaliza os objetivos do trabalho, conforme descrito a seguir.

3.2.1 Objetivo Geral

Desenvolver uma nova abordagem para reuso de requisitos e avaliar de forma empírica a sua

eficiência e a eficácia.

3.2.2 Objetivos Específicos

Os objetivos específicos deste trabalho são:

OE1. Elaborar uma abordagem para o reuso de requisitos, tendo como principais práticas a

rastreabilidade, catálogo e padrões de requisitos;

OE2. Especificar e implementar uma ferramenta que apóie a abordagem proposta;

OE3. Avaliar a eficiência e eficácia da abordagem proposta.

3.3 METODOLOGIA

De modo amplo, pode-se dizer que metodologia é a descrição dos métodos ou

procedimentos que serão adotados na pesquisa (MATTAR, 2008, p. 162). Segundo Mattar (2008,

p.162), a especificação da metodologia é muito importante porque através da metodologia adotada

pode-se saber de antemão os possíveis resultados do trabalho.

Para uma melhor compreensão da metodologia adotada neste projeto, este tópico está

dividido em metodologia da pesquisa e procedimentos metodológicos.

3.3.1 Metodologia da Pesquisa

Por intermédio da metodologia de pesquisa científica, foi desenvolvida uma abordagem

voltada ao reuso de requisitos de software, utilizando-se de técnicas que empreguem rastreabilidade

entre requisitos, catálogos de requisitos e padrões, apoiada por uma ferramenta computacional com

o propósito de obter requisitos mais corretos e precisos.

Page 26: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

21

Segundo Gil (1994), pesquisa é definida como o procedimento racional e sistemático que

objetiva responder aos problemas que são propostos. Silva e Menezes (2000, p.19) definem

pesquisa como “de forma bem simples, procurar respostas para indagações propostas”. Wazlawick

(2009, p. 17) colabora ao afirmar que pesquisa em um cunho científico, é a produção de

conhecimento novo. Já Pádua (2000, p. 31) define pesquisa como “toda atividade voltada para a

solução de problemas”.

Portanto, pode-se então afirmar diante dessas definições que pesquisa é um esforço realizado

de forma sistemática com realizações de atividades de busca ou investigação, que vem elaborar um

conhecimento novo em um âmbito de ciência e esse conhecimento irá responder a um problema

proposto.

Para Gil (1994) uma pesquisa é requerida quando:

Não se dispõe de informações no qual se possa responder ao problema.

As informações disponíveis estão em desordem de forma que não se possa ser

adequadamente relacionada ao problema.

Nesse ponto, este trabalho enquadra-se como pesquisa por atender a primeira característica

enumerada por Gil (1994). Através de uma pesquisa na literatura, não se encontrou trabalhos que

abordem / respondam a pergunta de pesquisa apresentada nesse trabalho. Nesse sentido esse

trabalho trará como resultado um conhecimento novo para a comunidade.

Este trabalho, sob o ponto de vista da natureza, pode ser classificado como pesquisa

aplicada. Conforme Silva e Menezes (2000, p.20), uma pesquisa aplicada “objetiva gerar

conhecimentos para aplicação prática dirigida à solução de problemas específicos”. Para Gil (1994,

p. 20), uma pesquisa aplicada é de uma ordem prática, que ocorre do desejo de conhecer e fazer

algo de uma maneira mais eficiente ou eficaz. Sendo assim, este trabalho objetiva gerar

conhecimento sobre o tema para aplicação prática na engenharia de requisitos.

Do ponto de vista da forma de abordagem do problema, este trabalho tem características de

pesquisa quantitativa. Uma pesquisa quantitativa consiste que tudo pode ser quantificável (SILVA;

MENEZES, 2000, p. 20). O trabalho aqui proposto possui essa característica porque os resultados

serão passíveis de uso de técnicas estatísticas.

Page 27: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

22

Do ponto de vista dos objetivos, Wazlawick (2009, p. 14) afirma que os estilos de pesquisas

podem ser classificados em três tipos básicos: Pesquisas Formais, Pesquisas Empíricas e Pesquisas

Exploratórias. Segundo Wazlawick (2009, p. 14), as pesquisas formais são aquelas que elaboram

uma teoria ou uma prova formal na qual valide se a teoria é correta. As pesquisas empíricas

correspondem a um tipo de pesquisa em que uma nova abordagem é apresentada e comparada com

outras já existentes. Sua principal ferramenta para testes são os métodos estatísticos, porém esse

tipo de pesquisa não dispensa o embasamento de uma boa teoria, devido à estatística não poder

explicar causas. Já, uma pesquisa exploratória é uma pesquisa na qual os métodos estatísticos não

conseguem demonstrar resultados aceitos pela comunidade, esse tipo de pesquisa consiste em

análises qualitativas. Diante do exposto por Wazlawick (2009), pode-se afirmar que este trabalho é

visto sob o ponto de vista de seus objetivos como uma pesquisa empírica.

Outro enquadramento que pode ser feito em um trabalho de pesquisa é quanto ao método de

abordagem. Utilizando-se do entendimento de Andrade (1999), a metodologia é definida como o

“conjunto de métodos ou caminhos que são percorridos na busca do conhecimento”. Com base

nessa definição, conclui-se que o método científico delineia o raciocino lógico empregado à

investigação científica. Desta forma, considerando o tipo de raciocínio empregado, os métodos de

abordagem são classificados como: dedutivo, indutivo, hipotético-dedutivo e dialético.

Este trabalho sob o ponto de vista dos procedimentos técnico enquadra-se como uma

pesquisa bibliográfica e como pesquisa experimental. Uma revisão bibliográfica não produz

nenhum conhecimento novo (WAZLAWICK, 2009, p.25), mas em contra partida, um estudo

bibliográfico ajuda na redefinição de um problema, obtenção de informação acerca de técnicas de

coleta de dados, obtenção de dados em resposta ao problema formulado e/ou para interpretação de

resultados (GIL, 1994, p. 63-64). Na pesquisa bibliográfica, foram considerados artigos

especializados, livros e sites web relevantes. Em relação à pesquisa experimental, é correto afirmar

que esta é caracterizada pela manipulação direta das variáveis relacionadas com o objeto de estudo.

A manipulação dessas variáveis deve ser feita de forma sistemática no ambiente a ser pesquisado, e

seu resultado é observado para verificar se o resultado obtido condiz com o resultado esperado

(WAZLAWICK, 2009, p.42). A face experimental desta pesquisa visa verificar as hipóteses e

responder as perguntas de pesquisa levantadas neste trabalho.

Observando esse trabalho quanto ao método de abordagem definido, pode-se dizer que se

trata de um trabalho que utiliza o método hipotético-dedutivo, pois hipóteses são formuladas para

Page 28: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

23

tentar explicar as dificuldades expressas no problema. A partir das hipóteses formuladas, deduzem-

se consequências que deverão ser testadas ou faseadas procurando evidências empíricas para

derrubá-las (GIL, 1994).

3.3.2 Procedimentos Metodológicos

Procedimento descreve uma seqüência de passos seguidos por um ou vários indivíduos em

um determinado nível em que esses passos ou procedimentos possam ser transmitidos ou utilizados,

por outro indivíduo que não o mesmo que o descreveu (MATTAR, 2008).

Diante do exposto, segue a seqüência do procedimento aqui adotado para atingir aos

objetivos listados na seção 3.2.2 :

ETAPA 1. Estudo bibliográfico: Inicialmente, visando fundamentar o objetivo específico 1,

foi realizado um levantamento bibliográfico visando descrever os principais conceitos relacionados

aos temas da pesquisa a citar: Engenharia de Requisitos, reuso de requisitos, padrões de requisitos,

rastreabilidade e catálogo de requisitos. Nessa revisão, foram considerados artigos especializados,

livros e sites web relevantes.

ETAPA 2: Pesquisa de ferramentas similares: Complementarmente ao objetivo específico 1

e visando fornecer base para objetivo específico 2, foram analisadas ferramentas voltadas ao apoio à

engenharia de requisitos, visando identificar características referentes à: (i) apoio ao reuso; (ii)

utilização de padrões; e (iii) possibilidade de extensão.

ETAPA 3. Catálogo de padrões: elaboração de um catálogo contemplando padrões que

apoiem o reuso de requisitos e que possam ser aplicados através de uma ferramenta automatizada.

Segue lista de passos para essa etapa que tem como foco atender ao objetivo específico 1:

a) identificação e análise de padrões encontrados na literatura para escrita e

categorização de requisitos. Esta atividade foi realizada através de um mapeamento

sistemático da literatura junto a bases de dados, visando identificar artigos, teses,

dissertações e livros que atendam ao seguinte critério de busca ((pattern OR catalog

OR category) AND (“software requirement” OR “requirements engineering” OR

“requirements elicitation”)) na língua inglesa, e ((padrões OR catálogo OR categoria)

AND (“requisito de software” OR “engenharia de requisitos” OR “elicitação de

Page 29: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

24

requisitos”)) na língua portuguesa. Foram consideradas nesta etapa, as sugestões de

sistematização para realização da pesquisa bibliográfica feitas por Kitchenham et al.

(2007) e Brereton et al. (2007). O resultado desta etapa é apresentado no Apêndice

A.

b) seleção e/ou adaptação do catálogo para apoiar a abordagem.

ETAPA 4: Estado da arte: identificação e descrição dos estudos correlatos destinados a

descrever abordagens de reuso de requisitos. Como foi encontrada uma revisão sistemática

realizada nesta área (KONDA; MANDAVA, 2010) esta etapa focou em filtrar os resultados e

descrever os estudos correlatos ao presente projeto. O resultado desta etapa é apresentado no

Apêndice B.

ETAPA 5. Elaborar e descrever a abordagem proposta: compreende a atividade que resulta

no atendimento do objetivo específico 1, contemplando o detalhamento da abordagem envolvendo

as práticas de reuso de requisitos, padrões de requisitos, rastreabilidade e catálogo de requisitos.

ETAPA 6. Desenvolvimento da ferramenta: projeto e implementação de uma ferramenta que

automatize a abordagem proposta, contemplando o objetivo específico 2. Nesta etapa, realizaram-se

as seguintes atividades:

a) projeto: compreendeu a descrição dos requisitos funcionais e não funcionais

contemplados pela ferramenta. Além disso, foi realizada a modelagem da ferramenta

proposta utilizando a linguagem de modelagem UML;

b) implementação: atividade destinada a codificação da ferramenta conforme projeto

elaborado;

c) testes: compreende a realização de uma bateria de testes visando identificar se a

ferramenta está apta para avaliação.

ETAPA 7. Avaliação da abordagem: com foco a atender ao objetivo específico 3, esta etapa

compreende a elaboração de estudos de caso em 2 linhas de produtos distintas contemplando o

desenvolvimento por, no mínimo, 4 grupos de alunos da graduação. Os grupos foram divididos da

seguinte maneira: 2 grupos desenvolveram projetos de cada linha, sendo que 1 dos grupos utilizou a

abordagem proposta e o outro grupo não. Para tanto, as seguintes atividades foram elaboradas:

Page 30: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

25

a) elaboração de 2 projetos modelos de linhas distintas que serviu como base para o

reuso, tendo-se como opções avaliadas e-commerce de uma livraria virtual e uma

locadora de veículos;

b) elaboração de 2 estudos de casos nas linhas definidas que foram realizados pelos

alunos;

c) elaboração de “projeto de referência” contemplando a solução esperada para os

estudos de casos;

d) planejamento da avaliação;

e) execução dos projetos pelos grupos de alunos e acompanhamento;

f) coleta e análise dos resultados.

3.4 ESTRUTURA DA DISSERTAÇÃO

Esta dissertação está organizada em seis capítulos, estes dispostos de forma a apresentar o

problema de pesquisa, fundamentação teórica, análise dos trabalhos similares, a especificação e

prototipagem da abordagem e planejamento da avaliação do estudo.

O primeiro Capítulo trata da introdução, a qual apresenta o escopo do trabalho, direcionando

ao problema investigado, os objetivos do trabalho e a metodologia utilizada.

O segundo Capítulo apresenta a fundamentação teórica sobre Engenharia de Requisitos,

Reuso de Requisitos, Padrões de Requisitos focando em padrões de requisitos para escrita de

requisitos de software.

O terceiro Capítulo apresenta o estado da arte sobre reuso de especificações de requisitos.

No quarto Capítulo, é realizada uma descrição detalhada da abordagem proposta neste

trabalho, englobando o padrão de requisito adotado, os mecanismos de sugestão para reuso de

especificações de requisitos e a descrição do protótipo da ferramenta de apoio à abordagem. Para

tanto, utilizou-se de diagramas, figuras e descrições textuais para especificação de todos os

elementos e mecanismos envolvidos.

Page 31: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

26

No quinto Capítulo, é apresentado o planejamento, execução e resultados dos experimentos

realizados para avaliação da abordagem.

No sexto Capítulo, são tecidas as considerações sobre a pesquisa, como as contribuições e

sugestões de trabalhos futuros.

Page 32: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

27

2 FUNDAMENTAÇÃO TEÓRICA

Este capítulo tem o caráter de apresentar a fundamentação teórica a cerca deste trabalho.

Este capítulo é dividido em quatro partes: na primeira parte é descrito aspectos sobre a engenharia

de requisitos, na segunda parte são relacionados assuntos sobre reuso de requisitos. A terceira parte

trata de padrões. Na quarta parte, são descritos os principais aspectos sobre padrões de requisitos

para escrita de requisitos.

2.1 ENGENHARIA DE REQUISITOS

Devido à necessidade de qualidade na produção de um produto de software, o processo de

desenvolvimento de software vem sendo aperfeiçoado ao longo dos anos (GENVIGIR, 2009). Essa

busca por aperfeiçoamento está ocorrendo porque organizações perceberam que o êxito na execução

dos projetos está cada vez mais relacionado a um melhor entendimento dos requisitos (WIEGERS,

2006; ROBERTSON; ROBERTSON, 2006).

Diversos autores destacam a importância da engenharia de requisitos e seus impactos,

principalmente em relação aos custos do projeto e qualidade, ressaltando que os defeitos de

software na fase de projetos são muito mais caros e difíceis de serem resolvidos do que na fase de

definição de requisitos (PRESSMAN, 2002; BOEHM e BASILI, 2001; ROBERTSON;

ROBERTSON, 2006; YOUNG, 2004).

Neste sentido, a engenharia de requisitos trabalha de forma a sistematizar o tratamento dos

requisitos (SWEBOK, 2004). Uma definição para engenharia de requisitos é feita por Cheng e Atlee

(2007), como um processo pelo qual requisitos são determinados. É o processo pelo qual se

descobre os propósitos do sistema, faz-se a identificação dos stakeholders e de suas necessidades,

documenta-se essas necessidades de forma que seja passível de análise, comunicação e que,

posteriormente, possa-se implementá-las (NUSEIBEH; EASTERBROOK, 2000).

No entanto, antes de aprofundar no processo de engenharia de requisitos, faz-se importante

compreender o que são requisitos. Requisito, por sua vez, tem o papel de descrever como o sistema

deverá se comportar, além de prestar informação sobre o domínio da aplicação ou restrições na

operação do sistema (SOMMERVILLE; KOTONYA, 1998), a fim de resolver um problema no

mundo real (SWEBOK, 2004). Os requisitos servem de base para elaboração de cada projeto

Page 33: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

28

(HULL et al., 2005; YOUNG; 2004, p.2) e o sucesso do projeto depende do entendimento desses

requisitos (CHENG; ATLEE, 2007). Uma separação por tipos de requisitos pode ser feita de modo

a evitar problemas no processo de engenharia de requisitos (SOMMERVILLE; KOTONYA, 1998).

Os requisitos podem ser divididos em três tipos: requisitos de negócio, que é dirigido por metas ou

objetivos e também descrevem visões estratégicas de negócio, requisitos do usuário, que descrevem

o que o usuário espera do sistema, e requisitos do sistema, que descrevem o que o sistema deve

fazer (GOTTESDIENER, 2008). Essa separação entre diferentes níveis de descrição deve ser feita

para facilitar a comunicação entre os diferentes tipos de leitores (SOMMERVILLE; KOTONYA,

1998).

Os requisitos de sistema são classificados freqüentemente em três tipos: requisitos

funcionais, requisitos não funcionais e requisitos de domínio (SOMMERVILLE; KOTONYA,

1998), definidos da seguinte forma:

Requisitos funcionais: são descrições de funções que o sistema irá fazer; deve ser útil

ao usuário para ajudar na execução de seu trabalho. Qualquer ação ou verbo ativo

são considerados requisitos funcionais, como por exemplo, calcular, inspecionar,

publicar, processar, imprimir, listar e etc. (ROBERTSON; ROBERTSON, 2006)

Requisitos não funcionais: expressam condições de comportamento e/ou restrições

que o software deve satisfazer (CYSNEIROS; LEITE, 1998), ou seja, são descrições

ou atribuições de qualidade que o sistema deve possuir (ROBERTSON;

ROBERTSON, 2006). São exemplos requisitos ligados a segurança, desempenho,

usabilidade, acurácia, portabilidade e etc.

Requisitos do domínio: derivam do domínio da aplicação e refletem características

desse domínio. Podem ser enquadrados como requisitos funcionais ou como

requisitos não funcionais (SOMMERVILLE, 2007). A diferença entre esse tipo de

requisito e os requisitos funcionais e os não funcionais, é que requisitos de domínio

normalmente têm uma existência fora dos limites de qualquer sistema de software

(WIEGERS, 2006). Isso quer dizer que, uma regra de negócio não é propriamente

um requisito de domínio, ela existe independentemente de um sistema

computacional, e muitas vezes ela será aplicada para garantir que o sistema imponha

esta regra. Cabe ressaltar aqui que nem todos os autores citam este tipo de requisito.

Page 34: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

29

2.1.1 Processo de Engenharia de Requisitos

Conforme Nuseibeh e Easterbrook (2000), o sucesso de um sistema de software é decorrente

do cumprimento das finalidades para o qual o sistema foi desenvolvido. De um modo amplo, pode-

se dizer que o processo de engenharia de requisitos objetiva a criação e manutenção do documento

de especificação de requisitos (SOMMERVILLE, 2007, p.143). Esse processo ou domínio da

engenharia de requisitos pode ser divido em desenvolvimento de requisitos, que centra as atividades

de identificar e acordar um conjunto de requisitos; e gerenciamento de requisitos, parte responsável

por gerir as alterações do conjunto de requisitos gerado pelas atividades de desenvolvimento de

requisitos (WIEGERS, 2006). Segundo Sommerville (2007, p.143), a engenharia de requisitos pode

ser divida em desenvolvimento de requisitos e gerenciamento de requisitos. O desenvolvimento de

requisitos é dividido em quatro atividades: elicitação1, análise, especificação e validação. E o

gerenciamento de requisitos é composto de três atividades: identificação de requisitos (a

identificação de requisitos aqui não se refere à atividade de elicitação de requisitos, mas sim a

atividade de organizar, como por exemplo: fazer atribuição de identificador único, adequações de

atributos como status, prioridade e urgência), gerenciamento de mudanças de requisitos e

rastreabilidade de requisitos.

Como fruto deste processo é desenvolvido o documento de especificação de requisitos que

dispõe das declarações oficiais as quais os desenvolvedores devem implementar (SOMMERVILLE,

2007, p. 136). É neste ponto em que todas as descrições das funções do sistema, restrições do

projeto, validações apropriadas e outros dados pertinentes aos requisitos são documentados

(PRESSMANN, 2002, p. 267). Sua utilização também é essencial para a elaboração de um contrato

de desenvolvimento do software (SOMMERVILLE, 2007, p. 138). A conclusão da sua revisão é

um marco final do processo de engenharia de requisitos, nas quais todas as atividades do processo

de engenharia de requisitos forma concluídas (VLIET, 2007 p.12).

1Optou-se por utilizar o termo elicitação para a tradução da palavra elicitation da língua inglesa. Pode-se afirmar que “elicitar” e “elicitação” são simples adaptações de palavras inglesas: o verbo (to) elicit pode ser traduzido como: eliciar, fazer sair, trazer à tona, deduzir, concluir, induzir, evocar; e o substantivo elicitation têm como significado: ação de extrair ou fazer surgir; (Dicionário Michaelis, 2000-2009). O termo elicitation é de uso corrente na literatura inglesa sobre o tema de engenharia de requisitos. O vocábulo elicitação está sendo usado com freqüência nas publicações de língua portuguesa na área de engenharia de requisitos (CYSNEIROS, 2001; FREITAS et al., 2007).

Page 35: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

30

Dentro deste contexto, o reuso de requisitos surge como uma alternativa para auxiliar na etapa

de elicitação e documentação dos requisitos. Sendo o reuso o foco deste trabalho, a seção seguinte

explana sobre este tema.

2.2 REUSO DE REQUISITOS

A produção de um produto de software deve obedecer a três restrições: normas de qualidade,

tempo de desenvolvimento e os requisitos. Isso quer dizer que um produto de software deve

satisfazer padrões de qualidade rigorosos, deve ser entregue o mais rápido possível e, além disso,

deve satisfazer a um conjunto de necessidades dos usuários definidas nos requisitos de software

(VILLEGAS; LAGUNA, 2001).

Neste sentido, o reuso é visto pela comunidade de software como uma atividade

fundamental em todos os processos relacionados com o desenvolvimento de software (FRANCH et

al., 2010; OLIVEIRA; SPÍNOLA, 2007) e sua utilização deve ser mais ampla, e não só restrita ao

reuso de código (ZAND; SAMADZADEH, 1994; KONDA; MANDAVA, 2010 p.50). Portanto,

uma abordagem de reuso de requisitos de software tende a conduzir a uma melhora substancial na

qualidade do processo de engenharia de requisitos (PEREDNIKAS, 2008), reduzindo o tempo de

construção e aumentando a qualidade do produto desenvolvido (SPANOUDAKIS;

CONSTANTOPOULOS, 1996; MASSONET; van LAMSWEERDE, 1997; CYBULSKI; REED,

2000). Além disso, o reuso de requisitos de software pode ajudar os engenheiros nas atividades de

elicitação, análise, validação e documentação de requisitos e, como consequência, obter

especificações de requisitos de maior qualidade, tanto em conteúdo como em sintaxe

(ROBERTONS; ROBERTONS, 2006). Outro aspecto a ser destacado é que o reuso de

especificações de requisitos leva a uma maior reutilização de outros artefatos como modelos,

código, documentação e planos de testes, assim, estendendo os benefícios que o reuso

proporcionam (KEEPENCE et al., 1995; LÓPEZ et al., 2002).

Entretanto, algumas dificuldades ainda são relatadas em um processo de reuso, tais como:

existência dos artefatos para reutilização; disponibilidade dos artefatos; localização dos artefatos;

entendimento dos artefatos; validade e integração com o projeto (POOLEY; WARREN, 2008).

Observa-se também que muitos estudos vêm tentando resolver problemas de reuso de requisitos

durante a evolução da engenharia de software, mas a eficácia dos métodos propostos ainda não é

satisfatória (PEREDNIKAS, 2008).

Page 36: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

31

Entretanto, o sucesso de uma abordagem de reuso é obtido quando se consegue atender as

seguintes questões: (i) gestão comprometida com o processo de reutilização; (ii) modificações dos

processos que não consideravam o reuso;e (iii) quando são abordados os fatores humanos como

parte do processo (MORISIO et al., 2002). Cabe dizer, que essa mesma visão já havia sido descrita

por Card e Comer (1994), no entanto, de uma forma mais superficial, sem uma avaliação como a

realizada por Morisio et al. (2002).

Neste sentido, a definição de uma abordagem que defina mecanismos que possam contornar

dificuldades como as relatadas por Pooley e Warren (2008) e que atenda as considerações de

Morisio et al. (2002) são de extrema importância para que ocorra um reuso efetivo.

Por sua vez, também é enfatizado que para alcançar o reuso em projetos, é necessário

previamente ter uma biblioteca de componentes reutilizáveis, sendo a gestão desta biblioteca um

processo independente do processo de reuso (WAHONO, 2002). Recomenda-se, então, o apoio de

uma ferramenta computacional para automatizar o processo de reuso (WIEGERS, 2006; YOUNG,

2004) e para a gestão de uma biblioteca (WAHONO, 2002).

Cabe ressaltar ainda que algumas investigações como a de Johnson e Harris (1991) e Tracz

(1994) afirmam que a reutilização informal é possível, mas que existem muitas vantagens em

apoiar-se em uma ferramenta computacional para realização de um processo de reuso. Algumas

investigações nesta área revelam que a reutilização deve ser feita formalmente, com isso mantendo

a integridade do componente atingindo os benefícios da reutilização. A utilização do método

“copia/cola” é intuitivo e de fácil implementação, porém, raramente é benéfico, isso porque a

escrita do novo requisito nesta forma consiste em uma nova especificação e, portanto, necessita

passar por um processo de validação, perdendo assim um dos principais benefícios promovidos

pelas abordagens de reuso (KEEPENCE et al., 1995). Além disso, sabe-se também que o método de

“copia/cola”, possui importantes limitações como problemas de inconsistência de informação e falta

de controle de análise de impacto (MOZON, 2008).

Estas afirmações levam a seguinte discussão, comumente associada aos obstáculos à

reutilização de software: a reutilização deve ou não ser sistemática? Qual a diferença de custo e

benefícios proporcionados entre a reutilização sistemática e ad-hoc?

Page 37: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

32

Na verdade, essa discussão está muito longe de um consenso. Isso porque se entende que a

reutilização no processo de desenvolvimento de software é algo natural e inerente a ela, isto,

independente da adoção ou não de uma abordagem de reuso. Quanto aos custos, a economia pode

ser observada a longo prazo, ou seja, quando empregada a reutilização sistemática os custos são

mais elevados no seu início, porém, eles são reduzidos com o decorrer do tempo (FRAKES;

ISODA, 1994). No entanto, alguns estudos estimam que para a recuperação do investimento um

componente deve ser reutilizado mais de 13 vezes (FAVARO, 1991).

De fato, independentemente do nível de reutilização, a concepção de uma abordagem de

reutilização de sucesso deve abordar mecanismos que facilitem a localização, customização

(adaptação) e gestão dos artefatos (ZAND; SAMADZADEH, 1994). Além disso, uma abordagem

de reuso deve dar resposta: (i) o que é uma unidade reutilizável? (ii) de que forma essas unidades

podem ser armazenadas e mantidas juntas em um repositório? (ZAND; SAMADZADEH, 1994)

Por sua vez, reutilização baseada na experiência pode ser usada para identificar necessidades

que uma solução deve satisfazer (WAHONO, 2002). Neste sentido, padrões provêem uma

reutilização de alto nível que pode ser implementada em muitas linguagens e plataformas

(OLIVEIRA, 2009 p.76). De modo amplo, o reuso de padrões é feito através da identificação de um

conjunto de padrões que servirão de núcleo para elaboração da análise do sistema. Os padrões são

selecionados pelo analista pela relevância à aplicação e são adaptados ao seu contexto (WAHONO,

2002).

Sendo assim, os padrões de requisitos são vistos pela comunidade como a abordagem que

mais apoia a reutilização (FRANCH et al., 2010). Segundo Fredj e Roudiès (1999), padrões

constituem uma solução eficiente para reutilização por três razões:

a) o par problema/solução serve de orientação e motivação para que os projetistas

procurem resolver determinado problema;

b) o tamanho reduzido de um padrão é de melhor usabilidade, bem como sua

compreensão, seleção e adaptação;

c) a generalidade de um padrão aumenta largamente o seu campo de aplicação.

A Seção 2.3.1 apresenta mais detalhes sobre padrões de requisitos.

Page 38: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

33

Outra forma de reutilização de requisitos é através da rastreabilidade entre requisitos (DICK,

2002; von KNETHEN et al., 2002). A rastreabilidade, além do seu foco principal que é de apoiar a

análise das implicações e da integração das mudanças que ocorrem no processo de software,

também serve de apoio ao processo de reutilização dos artefatos (DICK, 2002; SPANOUDAKIS;

ZISMAN, 2005).

Outra abordagem de reutilização de requisitos promovida pela rastreabilidade é a reciclagem

de requisitos. Entretanto, em muitas vezes essa abordagem é realizada de forma ad-hoc, o que não é

recomendável, isso porque, a realização desta forma é muito demorada e propensa a erros. A

literatura relata que os maiores benefícios utilizando essa abordagem são alcançados utilizando-a de

uma forma sistemática (von KNETHEN et al., 2002). Na seção 2.2.1 são apresentadas alguns das

abordagens de reuso de requisito baseado nos vínculos de rastrabilidade.

Por fim, observa-se que o reuso possui muito potencial de utilização em linha de produtos de

software. Este paradigma serve como guia para o desenvolvimento de software baseado na

construção de artefatos reutilizáveis (desenvolvimento para reutilização) e na construção de novas

aplicações a partir desses artefatos (desenvolvimento com reutilização) (FERNANDES, 2009). Na

seção 2.2.2 são apresentados os principais conceitos sobre linha de produtos de software.

2.2.1 Rastreabilidade no contexto de reuso

A rastreabilidade é uma das atividades da gerência de requisitos (VLIET, 2007, p.236), mas

também é uma atividade que apóia várias atividades no processo de desenvolvimento de software.

Seu emprego visa a melhoria de qualidade na obtenção de sistemas de software (SPANOUDAKIS;

ZISMAN, 2005; GENVIGIR, 2009).

Conforme Spanoudakis e Zisman (2005), além de servir de base nas análises relatadas por

Dick (2002), a rastreabilidade também pode ser usada para análise em processo de reutilização dos

componentes de sistema de software e na identificação e comparação das necessidades de sistemas

novos com sistemas já existentes. Outro aspecto relatado pelos autores é da possibilidade de utilizar

a rastreabilidade para permitir que os usuários tenham uma melhor compreensão das

funcionalidades do sistema.

Page 39: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

34

Alguns trabalhos como de Dick (2002), Constantopoulos et al. (1995) e von Knethen et al.

(2002), apresentam técnicas de rastreabilidade com o intuito de apoiar o reuso em algum momento

no ciclo do desenvolvimento. No trabalho de Constantopoulos et al. (1995), são empregadas

relações de dependência de rastreabilidade chamadas pelos autores de “relação de

correspondência”, associando especificação de requisitos com os modelos de design e os modelos

de design com o código fonte. Seguindo essas relações, o engenheiro de software conseguiria

localizar artefatos reutilizáveis. Estas relações são estabelecidas em um contexto de frames, em que

os grupos de artefatos para uma linha de produtos são declarados de forma manual. Nesta

abordagem, a reutilização é alcançada através da avaliação da similaridade do frame com os

requisitos para os novos sistemas.

O trabalho de von Knethen et al. (2002), apresenta uma abordagem que consiste na

reciclagem de requisitos2. Naturalmente, os documentos de especificação de requisitos têm muitas

semelhanças, aproveitando desta característica a reciclagem é muito utilizada por aproveitar pontos

de variabilidade entre os projetos. Com este tipo de abordagem, os desenvolvedores buscam poupar

esforços, porém, é freqüentemente realizada de forma ad-hoc. Esse tipo de abordagem realizada de

forma não sistemática é muito demorada de ser realizada e está propensa a erros. Os problemas para

identificação das necessidades que potencialmente poderiam ser reutilizadas são: a variação das

estruturas dos documentos de requisitos; e as relações de dependência que não são explícitas (von

KNETHEN et al., 2002). Na proposta de von Knethen et al. (2002), esses problemas são

contornados com o uso de templates na especificação de requisitos para que o texto seja expresso de

forma estruturada e a utilização de um modelo de rastreabilidade para tornar explícitas as relações

de dependência entre requisitos. Em complemento, Dahlstedt e Persson (2005, p.107), afirmam que

utilizando das informações de rastreabilidade, pode-se claramente apoiar a reciclagem de requisitos.

Em Dick (2002), é apresentado melhoria no processo de desenvolvimento através de

rastreabilidade com relação de “satisfatibilidade”. Essa abordagem é uma forma de capturar o

argumento de satisfação. O uso da abordagem fornece maneiras de representar de forma alternativa

um conjunto de ideias nas quais não estão explícitas quando se faz o link entre os requisitos de

2 Reciclagem de requisitos consiste na atividade de identificar requisitos de sistemas existentes em documentos de especificação de requisitos e inseri-los em um novo documento de especificações de requisitos de um produto semelhante (von KNETHEN et al., 2002).

Page 40: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

35

usuário e os requisitos de sistema. Isso permite que além da análise de impacto, cobertura e

derivação, outras análises mais profundas possam ser realizadas. Neste trabalho, também é

abordado como essa estrutura pode ser aplicada na gestão de requisitos para uma família de

produtos, fornecendo uma maneira de representar de forma alternativa um conjunto de ideias de

requisitos. Além disso, pode ser usado para representar a variância nos requisitos de sistema por

diferentes configurações de uma gama de produtos.

2.2.2 Linha de Produtos de Software no Contexto de Reuso de Requisitos

Linha de Produto de Software (LPS), também chamada de família de produtos na literatura,

objetiva reduzir o esforço de engenharia aplicada para produzir uma coleção de sistemas similares

por intermédio da capitalização sobre as semelhanças entre os sistemas e gerenciar formalmente a

variação entre os sistemas. Para Clements e Northrop (2002), uma LPS trata de um conjunto de

sistemas intensivos de software os quais compartilham um conjunto comum de características as

quais satisfaçam as necessidades de um determinado domínio (segmento do mercado ou missão),

esses desenvolvidos a partir de um conjunto comum de ativos de uma forma prescrita. A ideia

inicial de linha de produtos foi apresentada por Parnas em 1976, que objetivava reduzir o custo de

manutenção e desenvolvimento do software. No conceito inicial apresentado por Parnas (1976) era

levada em consideração apenas a variabilidade de requisitos não funcionais entre os produtos.

Porém, o termo Linha de Produto de Software (LPS) foi introduzido no início da década de 90, após

a descrição do método FODA (Feature-Oriented Domain Analysis) proposto por Kang et al., 1990

(FERNANDES, 2009).

Conforme Krueger (2000), uma LPS objetiva reduzir o esforço de engenharia aplicada para

produzir uma coleção de sistemas similares por intermédio da capitalização sobre as semelhanças

entre os sistemas e gerenciar formalmente as variações entre eles. Para Clements e Northrop (2002),

uma LPS trata de um conjunto de sistemas intensivos de software os quais compartilham um

conjunto comum de características que satisfazem as necessidades de um determinado domínio

(segmento do mercado ou missão), esses desenvolvidos a partir de um conjunto comum de ativos de

uma forma prescrita.

Assim, um dos principais aspectos sobre um LPS é o fato de construir produtos de software

a partir de ativos comuns, os quais são moldados de acordo com regras definidas pela arquitetura.

Desta forma, o conceito de variabilidade é um aspecto chave para a abordagem de LPS, pois

Page 41: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

36

permite especificar os pontos nos quais os produtos se assemelham ou diferem entre si, portanto,

aumentando o reuso de software (BECKER, 2003).

Vale ressaltar que a engenharia de LPS conta com uma distinção fundamental entre

desenvolvimento para reutilização (engenharia de domínio) e desenvolvimento com reutilização

(engenharia de aplicação) (VAN DER LINDEN et al., 2007). Sendo que a preocupação dos

requisitos é tratada na atividade de domínio de engenharia de requisito, a qual corresponde a uma

das atividades da engenharia de domínio. Na atividade de domínio de engenharia de requisito é

utilizado o guia de produtos e tem como objetivo analisar exaustivamente os requisitos para

diversos produtos na LPS. Nesta atividade são capturados os requisitos e identificados os pontos

comuns e de variabilidade para construção de um modelo de variabilidade inicial que será utilizado

nas próximas etapas.

Segundo Van Der Linden et al. (2007), em uma LPS, os requisitos são considerados um

importante artefato que são muitas vezes documentados de acordo com sua comunalidade e análise

de variabilidade. A análise das variações e similaridades dos requisitos tem como objetivo capturar

os requisitos comuns (ou seja, requisitos da linha de produtos inteira) e variáveis (ou seja, as

características específicas que não constam em todos os membros da linha de produto) das

aplicações do domínio. A reutilização em uma LPS ocorre com o uso dos ativos fundamentais (do

inglês core asset). Neste sentido, o escopo é delimitado de forma a maximizar a reutilização dos

ativos fundamentais.

2.2.3 Ferramentas

Hoje em dia, existe uma grande quantidade de ferramentas comerciais que visam apoiar a

engenharia de requisitos. Segundo Robertson e Robertson (2006), as ferramentas de automação

podem ser utilizadas na execução de diversas tarefas, tais como: rastreabilidade de requisitos,

ligação dos resultados de testes de requisitos, gerenciamento de mudanças, análise semântica e

outras. Segundo Hoffmann et al. (2004), a seleção de uma ferramenta é um assunto importante e

sensível, sendo que sua seleção depende de vários fatores como: domínio do produto, tamanho do

projeto e da organização, o montante da reutilização e da maturidade do processo.

International Council on Systems Engineering (INCOSE) mantém desde a década de 90

avaliações das principais ferramentas de gerenciamento de requisitos, fornecendo uma lista dos

Page 42: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

37

recursos dessas ferramentas, permitindo a comparação. No entanto, cabe observar, que as

especificações das ferramentas são de preenchimento pelos próprios fornecedores através de um

formulário com perguntas padrão e revisadas pelo grupo (GOTEL; MÄDER, 2009).

Em INCOSE (2011), constam 34 ferramentas destinadas à área de requisitos, assim, partiu-

se desta listagem de ferramentas, utilizando como critério de seleção para análise quais ofereciam

algum tipo de suporte à reutilização de especificações de requisito. Como resultado, selecionou-se 4

ferramentas para análise. A seguir, são descritas as ferramentas selecionadas.

A ferramenta Contour (JAMAS SOFTWARE, 2010) é uma aplicação disponibilizada para a

plataforma web desenvolvida pela Jamas Software para o gerenciamento dos requisitos em grandes

projetos de desenvolvimento. Segundo o fornecedor, os principais benefícios que a ferramenta

proporciona é a captura das necessidades do cliente, controle de comunicação no projeto e controle

de mudanças. A partir da análise da ferramenta, percebeu-se que a mesma não possui um método de

reuso de requisitos de forma sistemática conforme relatado na literatura, a ferramenta apenas

permite realizar uma cópia de um projeto existente como forma de reuso. A versão utilizada para

análise foi a 2.9.

A ferramenta inteGREAT Enterprise 2010 desenvolvida pela Edevtech Software (2010) é

uma suite de ferramentas que dão suporte a cada fase da engenharia de requisitos. Segundo o

fornecedor, a suite oferece integração com diversos produtos como o Visual Studio Team System,

SharePoint, Word, Excel, Visio, Project e Expression Blend com Sketchflow, e ainda inclui dados de

teste, relatórios e estatísticas. O módulo que trata do gerenciamento dos requisitos é chamado de

inteGREAT Requirement Studio. Analisando a ferramenta, observou-se que o reuso é relacionado a

um requisito (que pode conter diversas regras de negócio) ou a regras de negócio (que

correspondem a um item de um requisito). A reutilização pode assumir dois valores distintos,

sendo:

Contêm: corresponde a um item copiado sem nenhuma referência com o requisito ou

regra de negócio de origem (corresponde ao método de “copia/cola”);

Referem-se: refere-se a um requisito ou regra de um projeto origem.

A versão utilizada no quadro comparativo da INCOSE (2011) é a 4.7.

Page 43: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

38

A ferramenta MKS Integrity (MKS INC., 2010) da MKS Inc, é uma ferramenta que apóia

todas as atividades da engenharia de requisitos. Segundo o fornecedor, a ferramenta oferece

reutilização e persistência de requisitos, o que permite ao grupo de requisitos a associação e reuso

de requisitos em um cenário paralelo de desenvolvimento. A partir da análise da ferramenta,

constatou-se que o método de reuso de requisitos consiste na seleção de requisitos de outros

projetos para um novo. Nessa seleção, o requisito reusado no novo projeto mantém referência ao

projeto antigo. Essa referência pode ser de três tipos:

compartilhado: Os requisitos marcados como “compartilhado” no novo projeto

mantém um vínculo de referência com o antigo projeto, quando o requisito “pai”

sofre algum tipo de modificação a mesma será propagada ao novo requisito reusado.

reusado: Quando marcado como “reusado” o novo requisito mantém um vínculo com

o requisito “pai” do antigo projeto, porém as alterações feitas no requisito “pai” não

serão transmitidas ao requisito “filho”.

do autor: Nesse tipo de referência os requisitos reusados não manterão nenhum tipo

de vínculo com o requisito “pai”. Esse tipo de referência assemelha-se ao método

“copia/cola”.

Na análise da ferramenta MKS Integrity (MKS INC., 2010) utilizou-se a versão 2009.

A última ferramenta analisada foi a IRQA (VISURE SOLUCTIONS, 2010) desenvolvida

pela empresa Visure Soluctions. Segundo o fornecedor, a ferramenta MKS Integrity faz parte de

uma plataforma integrada de produtos para o desenvolvimento de software. O foco da ferramenta é

abordar problemas comuns dos clientes com o gerenciamento de requisitos. A partir da análise da

ferramenta, observou-se que a forma de reuso dos requisitos pode ser feita de acordo com as

informações contidas em cada grupo de elementos. Essas informações assumem os seguintes

valores:

compartilhado: Os elementos são compartilhados em diferentes projetos. O objetivo

é permitir a todos os usuários de forma colaborativa a construção de uma solução. A

permissão dos usuários é total sobre cada elemento e suas modificações são

propagadas para todos os projetos que os utilizam.

Page 44: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

39

modo de leitura: Os elementos são compartilhados para todos os projetos, mas com

permissão restrita para somente poder reutilizar de outros projetos sem opção de

modificação.

copiar e manter ligação: Os elementos são importados de outros projetos. Esses

elementos podem ser adaptados e atualizados. Estes também podem ter atributos e

podem ser rastreados para outros elementos.

modo cópia: Os elementos são importados de outros projetos e perdem a ligação com

o original.

Na análise da ferramenta IRQA (VISURE SOLUCTIONS, 2010) utilizou-se a versão v4.

Considerando a análise realizada nas ferramentas, a Tabela 2 demonstra um comparativo

contemplando os seguintes critérios: (i) forma de reuso – descreve as possibilidades disponíveis na

ferramenta para reutilizar um requisito; (ii) sugestão de reuso – descreve os mecanismos disponíveis

para identificar um requisito para reuso; (iii) utilização de padrões – verifica se há algum suporte

ao uso de padrões de requisitos; e (iv) possibilidade de extensão – verifica se existe a possibilidade

de estender as funcionalidades da ferramenta.

Tabela 2 - Resultado da análise das ferramentas.

Ferramenta Forma de reuso3 Sugestão de reuso Utilização de padrões

Possibilidade de extensão

Contour CC Não oferece Não Não inteGREAT Requirement Studio CC/CL Não oferece Não Não MKS Integrity CC/CL/C Não oferece Não Não IRQA CC/CL/C/ML Não oferece Não Não

Em síntese, pode-se afirmar que existem diversas ferramentas com o objetivo de apoiar o

reuso de requisitos. Das ferramentas observadas, percebe-se que em todas elas o método de

copiar/cola está presente. No entanto, muito autores não concordam que este seja um método

efetivo de reuso (KEEPENCE et al., 1995; AKERS, 2008; MOZON, 2008), assim, para ser um

3 CC – Funcionalidade de “Copiar e Colar”: nenhum vínculo entre os requisitos é mantido. CL – Funcionalidade de “Copiar e Link”: a ferramenta mantém um vínculo com o requisito original, mas o novo requisito pode ser alterado. C – Funcionalidade de “Compartilhar”: alterações no requisito original são propagadas para os projetos que o reutilizaram. ML – Funcionalidade de “Modo Leitura”: requisito compartilhado para todos os projetos, porém, as alterações no requisito original não são permitidas.

Page 45: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

40

método real de reuso, o mesmo deve proporcionar pelo menos um ponteiro para a origem do

conteúdo (AKERS, 2008). Constata-se, ainda, que as ferramentas não apresentam recursos que

auxiliam a identificação de requisitos com potencial para reuso. Ainda, observa-se que nenhuma

ferramenta utiliza padrões para orientar a escrita dos requisitos. Por fim, destaca-se que nenhuma

das ferramentas pesquisadas possibilita o desenvolvimento de novas funcionalidades pela

comunidade para ampliação os recursos da ferramenta.

2.3 PADRÕES

Na maioria dos casos, padrão é um instrumento eficaz para reutilizar o conhecimento

adquirido em desenvolvimento de software. Sua utilização é afirmada como eficaz para resolver

problemas inesperados ou acidentais, isso porque trata de conhecimentos baseados em experiências

reais (TSUMAKI, 2004).

Segundo Wahono (2002), o termo atual da palavra padrão é derivado dos trabalhos

publicados para arquitetura por Christopher Alexander. Nesses trabalhos de Christopher Alexander,

são apresentados padrões para arquitetura e urbanismo, os quais são aplicáveis a muitas outras

disciplinas, incluindo desenvolvimento de software. A popularização de padrões de software

aconteceu com o trabalho realizado por Gamma et al. (1995), com a coleção de padrões para

desenvolvimento orientado a objetos (TSUMAKI, 2004; WAHONO, 2002).

Segundo Alexander et al. (1977 apud GAMMA et al. 1995, p.12), “Cada padrão descreve

um problema que ocorre repetidamente no nosso ambiente e então descreve o núcleo da solução

para esse problema, de tal forma que você pode usar esta solução um milhão de vezes, sem nunca

fazê-lo da mesma maneira duas vezes”. Uma definição com o mesmo cerne, apresentada por

Alexander et al. (1977), é encontrada em Hagge e Lappe (2004b), que define padrões como uma

forma de capturar o conhecimento bem sucedido de soluções de engenharia em um formato

comprovado por intercâmbio de experiências práticas de projetos, de modo a torná-lo aplicável,

confiável e relevante. Cabe também dizer que um padrão é uma solução que foi descoberta e já tem

sido testada por algum tempo sob condições variáveis (SALINGAROS, 2000).

Conforme Gamma et al. (1995, p.12), a mesma ideia apresentada por Alexander et al. (1977)

pode ser utilizada em padrões para desenvolvimento orientado a objetos, já que o núcleo dos dois

tipos de padrões é uma solução para um problema em um determinado contexto. Por sua vez, o uso

Page 46: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

41

de padrões foi estendido para outras áreas da computação, podendo ser classificado em categorias

mais específicas como padrões de análise, padrões de negócios, padrões organizacionais e padrões

de requisitos. Os padrões de requisitos, por sua vez, são aplicados em dois contextos diferentes:

especificação de padrões para problemas recorrentes na engenharia de requisitos e padrões para

criação de especificações de requisitos (HAGGE; LAPPE, 2004a). Essas classificações para

padrões são geralmente feitas de acordo com a sua contribuição ao ciclo de vida de uma aplicação

(FREDJ; ROUDIÈS, 1999).

Para um melhor entendimento, ressalta-se que o mecanismo proposto por Alexander et al.

(1977) para realizar o seu novo modelo foi a linguagem de padrão (GABRIEL, 1996 p.46). No

entendimento de Gabriel (1996, p.46), a linguagem de padrão é um conjunto de padrões que são

usados por um processo para gerar novos artefatos. Em uma linguagem de padrões, cada padrão

define subproblemas no qual o padrão irá resolver, assim, a solução de um problema grande é um

conjunto de padrões aninhados (GABRIEL, 1996 p.46). Winn e Calder (2002, p.63) reforçam o

conceito de linguagem de padrões afirmando que um “padrão é parte de uma linguagem”, cada

padrão está ligado a outros padrões, os quais fazem parte de uma rede de padrões inter-

relacionados.

Outro conceito que é apresentado em linguagem de padrões é quanto a sua estrutura. Os

padrões são documentados de forma textual, nos quais geralmente são organizados em seções ou

componentes, o que define um template ou formato do padrão (MESZAROS; DOBLE, 1996).

Conforme Tsumaki (2004), diversos formatos ou templates de padrões estão disponíveis na

literatura, entre os mais citados encontra-se o formato de padrão proposto por Coplien (1994) que

reflete os elementos básicos encontrados no formato de Alexander, os quais correspondem: nome

do padrão, contexto, problema, forças, solução, racionalização e resultante de contexto. O Quadro 1

exemplifica mais alguns dos formatos de padrões encontrados na literatura quanto à estrutura.

Page 47: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

42

Quadro 1 - Estrutura de alguns padrões localizados na literatura. (HAGGE; LAPPE, 2005)

(MESZAROS; DOBLE, 1996)

(ALEXANDER et al., 1977 apud FREDJ; ROUDIÈS, 1999)

(TORO et al., 1999)

(MENDEZ-BONILLA et al., 2008)

Objetivo Contexto Problema Solução Áreas aplicadas Conseqüências Exemplos Experiência

Nome do padrão Problema Solução Contexto Forças

Nome Contexto Problema Solução Exemplos

Id Descrição do nome Versão Autor Fonte Propósito Descrição Dados específicos Intervalo de tempo Importância Urgência Comentários

Objetivo do padrão Descrição do padrão Parte fixa Extensão part1 Extensão part2 Parâmetros Classificação

2.3.1 Padrões de Requisitos

Normalmente, a linguagem natural é usada para fazer as especificações de requisitos, isso

porque é a única linguagem que é comum para todos os stakeholders. Porém, o uso da linguagem

natural é um problema reconhecido e o uso de uma notação mais formal muitas vezes faz o

entendimento das especificações serem impossíveis de serem entendidas (TORO et al., 1999). Neste

sentido, padrões vêm a apoiar a atividade de elicitação e escrita de requisitos de software (TORO et

al., 1999; WITHALL, 2007; MENDEZ-BONILLA et al., 2008; RENAULT et al., 2009a;

RENAULT et al., 2009b; FRANCH et al., 2010).

Franch et al. (2010) define padrões de requisitos de software como um artefato que pode ser

utilizado durante a atividade de elicitação de requisitos e, segundo Tsumaki (2004), a sua utilização

cria bons artefatos de software ou engenharia. Os padrões estabelecem boas práticas disponíveis

para engenharia de requisitos, visando à utilização do conhecimento existente que foi bem-sucedido

em diferentes tipos de processo de engenharia de requisitos para melhoria do acesso a esse

conhecimento ou experiência. Sua utilização é indicada aos profissionais de pequenas e médias

empresas, que tenham pouca ou nenhuma experiência em engenharia de requisitos (HAGGE;

LAPPE, 2006).

Segundo Withall (2007), no desenvolvimento de sistema é normal encontrar requisitos que

são de natureza similar ou que apareça com freqüência na maioria dos sistemas. A construção dos

padrões é realizada a partir da observação de requisitos similares já utilizados na construção de

Page 48: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

43

vários projetos de software. Quando essa similaridade é identificada, um estudo pode ser realizado

para verificar se há um padrão de forma a generalizar (MENDEZ-BONILLA et al., 2008).

Segundo Hagge e Lappe (2006), padrões de engenharia de requisitos são elaborados para

encapsular as boas práticas disponíveis de engenharia de requisitos, pois os padrões oferecerem uma

base sólida de aprendizado organizacional, o que ajuda equipes com pouca ou nenhuma experiência

em engenharia de requisitos, transferindo o conhecimento para um nível prático. Além disso, para o

emprego de padrões de requisitos não se faz necessária uma adaptação ou reorganização do

processo de software (HAGGE; LAPPE, 2004a). Porém, a utilização de um método para apoiar o

uso de padrões contribui na redução do tempo na realização da atividade de elicitação de requisitos

e reduz erros durante a sua condução (RENAULT et al., 2009a; MENDEZ-BONILLA et al., 2008;

WITHALL, 2007; TORO et al., 1999). Além destes benefícios relatados pela utilização de padrões

de requisitos, alguns outros são encontrados na literatura:

facilidade na condução da atividade de elicitação e escrita dos requisitos (TORO et

al., 1999);

benefícios em outras atividades do processo de engenharia de requisitos como a

documentação e validação de requisitos (FRANCH et al., 2010);

promove a consistência entre os requisitos (WITHALL, 2007);

simplicidade e formalismo (WAHONO, 2002);

qualidade dos requisitos (TSUMAKI, 2004; MENDEZ-BONILLA et al., 2008);

flexibilidade na utilização (isso porque não é necessária a aplicação de um método na

sua globalidade) (FREDJ; ROUDIÈS, 1999).

Em contrapartida, alguns problemas também foram localizados na literatura. Tsumaki

(2004) destaca os seguintes problemas: dificuldade de busca e reuso de padrões e compreensão da

relação entre os padrões. Conforme Tsumaki (2004), é difícil encontrar um padrão adequado em

uma coleção de padrões porque um padrão pode ser efetivo para uma determinada situação e em

outra não.

Page 49: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

44

Como possíveis soluções para os problemas relatados por Tsumaki (2004), destaca-se o

emprego de um método para aplicação do catálogo de padrões como solução para localização mais

“fácil” dos padrões (RENAULT et al., 2009a). A sinalização de dependência entre os padrões

também ajuda a determinar a ordem de aplicação (RENAULT et al., 2009b). Já Withall (2007),

destaca que um catálogo de padrões promove a consistência entre os requisitos. O emprego de

templates ajuda na escrita e descrição dos padrões (TORO et al., 1999). Outra orientação quanto a

padrões é feita por Mendez-Bonilla et al. (2008), que sugere uma classificação dos padrões para

uma seleção mais fácil. Por sua vez, Hagge et al. (2005) contribuem em afirmar que um repositório

de padrões permite a filtragem de padrões para engenharia de requisitos para serem utilizados em

condições e situações específicas do projeto.

2.4 PADRÕES DE REQUISITOS PARA ESCRITA DE REQUISITOS DE SOFTWARE

Padrões de requisitos propõem soluções genéricas e reutilizáveis para escrita de requisitos

(FRANCH et al., 2010; WITHALL, 2007; WAHONO, 2002; TORO et al., 1999; FREDJ;

ROUDIÈS, 1999), ou para problemas recorrentes na engenharia de requisitos (HAGGE; LAPPE,

2004a). A partir daqui, padrões de requisito serão referenciados a padrões que objetivam a criação

de especificações de requisitos, para adequação ao contexto deste trabalho. Sendo assim, padrões de

requisitos fornecem orientações de como escrever os requisitos, sugerindo informações, ajudando

com alertas e sugestões que devem ser consideradas. Também ajuda a poupar tempo, por não ser

necessária a escrita do requisito a partir do zero, fornecendo um ponto de partida, uma estrutura

para sua construção. Outro fato é de que sua utilização normalmente aumenta a qualidade no

processo de desenvolvimento de software (WITHALL, 2007). E é vista pela comunidade como a

abordagem que mais dá apoio a reutilização diante das demais (FRANCH et al., 2010). O

levantamento do estado da arte referente a padrões de requisito foi realizado através de um

mapeamento sistemático utilizando-se das orientações feitas por Kitchenham et al., (2007) e

Brereton et al. (2007), cujo detalhamento encontra-se no Apêndice A.

As subseções seguintes tratam da discussão dos dados extraídos dos estudos selecionados na

condução deste mapeamento sistemático. Utilizando-se de um mapeamento sistemático foi possível

documentar e conhecer, de maneira imparcial, o estado da arte de métodos e técnicas na Engenharia

de Requisitos que utilizam de padrões para escrita de requisitos. Neste mapeamento sistemático da

Page 50: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

45

literatura, foi possível a localização de seis estudos os quais vieram a contribuir para responder a

seguinte pergunta de pesquisa: Quais os padrões para a escrita de requisitos de software? Os

principais resultados obtidos foi quanto à identificação de padrões para escritas de requisitos de

sistemas, templates para formalização da estrutura dos padrões e classificações para agrupamentos

dos padrões em catálogos.

2.4.1 Abordagem de Toro et al. (1999)

No estudo de Toro et al. (1999), são apresentados templates de requisitos que podem

melhorar a atividade de elicitação dos requisitos e de sua expressão. Para isso, o autor descreve dois

tipos de padrões: padrão lingüístico, que se refere às frases que são normalmente utilizadas nas

descrições dos requisitos em linguagem natural, as quais os autores realizaram parametrização e

integração em um template; o outro tipo é o padrão de requisitos, estes são templates de requisitos

genéricos que podem ser reutilizados com algumas adaptações durante a atividade de elicitação de

requisitos.

Segundo Toro et al. (1999), a utilização de templates de requisitos e padrões ajudam na

atividade de elicitação e expressão dos requisitos de sistema, isso porque estes estruturam as

informações dos requisitos de uma forma fixa. Com isso, o analista é auxiliado a encontrar as

informações que faltam para preencher os requisitos, os quais podem ser facilmente tratados por

uma ferramenta computacional, promovendo a sua reutilização. Como resultado, é afirmado pelos

autores, que o preenchimento dos espaços em branco dos formulários dos templates facilita e agiliza

a atividade de elicitação de requisitos, sendo que a reutilização dos templates pode ser feita diversas

vezes, desde que tenha sido identificado e/ou adaptado para um projeto específico. Segundo os

autores, esta abordagem já foi aplicada com sucesso em mais de 40 práticas acadêmicas e em dois

projetos reais. Na sua prática em projetos reais, uma das organizações obteve melhorias da

comunicação com os stakeholders. Um exemplo da utilização de um dos templates é ilustrado na

Figura 1, que trata da especificação de um requisito não funcional.

Page 51: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

46

RNF-3 Sistema Operacional Versão 1.0 (Jan, 15, 1999) Autor: A. Durán (University of Seville) Fonte: M. Toro (Super Video Shop) Descrição: O sistema deve funcionar no âmbito do Sistema Operacional Linux Importância: Vital Urgência: Imediatamente Comentários: Verifique diferentes versões de Linux compatíveis

Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).

2.4.2 Abordagem de Withall (2007)

No estudo de Withall (2007), são apresentados trinta e sete padrões de requisitos que foram

organizados em oito domínios, conforme ilustrado na Figura 3. Os domínios classificados por

Withall (2007) possuem padrões que objetivam atender as funcionalidades de seu domínio em

específico, porém, alguns padrões poderão compartilhar e integrar informação conforme pode ser

visto com a sinalização de setas entre alguns padrões na Figura 3. Segundo Withall (2007), juntos

podem representar mais da metade de um conjunto de especificação típicas de requisitos de um

sistema comercial. Segundo o autor, o emprego de padrões de requisitos fornece orientações sobre

como fazer a especificação (escrita) dos tipos mais comuns de requisitos, tornando a tarefa de

escrita mais fácil e rápida de ser realizada e melhorando a qualidade desses requisitos.

Figura 2 - Catálogo de padrões de requisitos apresentado em Withall (2007).

Page 52: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

47

Neste estudo, Withall (2007) introduz a noção de padrões de requisitos para a escrita de

requisitos, esse esforço extra, permite especificar os requisitos de uma forma mais consistente, e

permite descrever como cada requisito deve ser usado ou definido. Segundo Withall (2007), os

padrões de requisitos fornecem orientações de como escrever os requisitos, sugerindo informações,

ajudando com alertas e sugestões que devem ser consideradas. Também ajuda a poupar tempo, por

não ser necessária a escrita dos requisitos a partir do zero, fornecendo um ponto de partida, uma

estrutura para sua construção. Padrões de requisitos também são vistos como um fator de qualidade

no processo de desenvolvimento de software.

Os padrões que compõem o catálogo de Withall (2007) foram identificados a partir de estudo

da vida real. No estudo apresentado pelo autor, mais de 400 exemplos de escrita de requisitos são

apresentados. Segundo o autor, muitos podem ser aplicados sem nenhuma alteração a quaisquer

sistema, e os demais servem de ponto de partida para que possa ser adequada a necessidade dos

usuários.

Um exemplo que demonstra a utilização poderia ser a especificação de um requisito de

software que trate o processo para o registro de usuário, sendo necessário informar o nome do

usuário, endereço de e-mail, data de nascimento, número do documento de identificação, endereço e

senha de acesso. O padrão de requisito a ser utilizado para a especificação deste requisito é

chamado de “Registro de Usuário”, conforme ilustrado na Figura 3.

Padrão de requisito Registro de Usuário Detalhes básicos: Padrões relacionados: autenticação de usuário, autorização de usuário, estrutura de dados. Frequência antecipada: um ou dois requisitos. Classificação do requisito: funcional: sim; afeta banco de dados: sim. Aplicabilidade: Use o padrão de requisitos “registro de usuário” para especificar como os novos usuários são registrados (criados no sistema), com ênfase em capturar os detalhes através do qual um usuário pode depois ser autenticado (log-in). Discussão: Usuários são especiais. Eles são pessoas e dirigem a maior parte do que acontece em um típico sistema comercial, por isso é fundamental saber o grau de confiança que cada usuário será enquadrado. O registro do usuário, então, é mais importante do que outra atividade de manutenção de dados. O principal objetivo do registro de usuário é gravar informação suficiente para facilitar a autenticação (log-in). Templates:

Resumo Definição Auto-registro <<classe usuário>> Uma pessoa deve ser capaz de se registrar como um

<<classe usuário>>, por <<descrição do processo de registro>>. Devem ser solicitados os seguintes dados pessoais:

<<detalhe do usuário 1>> <<detalhe do usuário 2>>

Page 53: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

48

... Registro de <<classe usuário>> Será possível registrar uma pessoa como um <<classe

usuário>>, por <<descrição do processo de registro>>. As seguintes informações devem ser inscritas sobre eles:

<<detalhe do usuário 1>> <<detalhe do usuário 2>>

... Exemplos:

Resumo Definição Registro de Cliente Será possível registrar uma pessoa como um Cliente,

através do web site. As seguintes informações devem ser inscritas sobre eles:

id de usuário; senha (a ser digitada duas vezes) nome; endereço; endereço de e-mail; telefone de contato; data de nascimento; preferências de linguagem;

Requisitos extras: Um requisito de registro de usuário pode ser acompanhado por vários tipos de obrigações, a maioria das quais relacionadas com a proteção permanente e manutenção das informações inicialmente fornecidas no momento da inscrição do usuário. Considere o seguinte:

1. Formato da senha: que critérios devem satisfazer uma senha para ser aceitável? 1. Alteração da senha: como e quando? 2. Registro de usuário: os usuários podem ser criados, também deve ser possível removê-los? 3. Proteção dos dados do usuário: como podemos proteger as informações pessoais e privadas das pessoas?

Existem leis de proteção de dados que devemos respeitar? 4. Boas práticas de segurança: existem passos para incentivar a proteção das informações do usuário? Existem

práticas especialmente ruins que queremos evitar? 5. Processos especiais para novos usuários: há mais a ser dito sobre o processo de registro do usuário? Existem

situações que surgem como novos usuários (por exemplo, como informar sua senha inicial)? 6. Acesso inicial: quem vai ser capaz de usar o sistema quando é instalado pela primeira vez?

Considerações para desenvolvimento: A gama de temas abordados neste padrão de requisitos torna claro que há muito em que pensar. O melhor conselho é simplesmente levar a sério o registro de usuário. Recomenda-se cuidado ao manipular dados com valores secretos, como a senha de usuário. Considerações para teste: A função de registro de usuário é basicamente uma função de entrada de dados e deve ser testado como tal. Teste a entrada e validação de todos os valores. Teste se a validação não é realizada apenas em dispositivos não confiáveis, a citar o computador de um usuário remoto. Teste se os valores considerados secretos são tratados de forma adequada e não são exibidos pelo sistema em relatórios e consultas. Testes de que um processo de registro de usuário é seguro não podem ser feitos exclusivamente por meio do sistema, é uma atividade especializada (como discutido no padrão de exigência de autenticação do usuário).

Figura 3 - Padrão de requisito Registro de Usuário (WITHALL, 2007).

Para efeito de simplificação alguns elementos guias do padrão foram retirados do exemplo

ilustrado na Figura 3, estes elementos são: conteúdo (expressa informações sobre os elementos que

deverão ser adaptados no template do padrão), exemplo de escrita dos requisitos extras (trata de

ilustrar exemplos para cada requisito extra identificado ao padrão).

Page 54: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

49

A partir da análise do padrão selecionado, alguns outros requisitos podem ser sugeridos com

possibilidades de reuso. Estes requisitos podem ser oriundos do relacionamento dos padrões, como

por exemplo: requisitos que descrevam o processo de autenticação de usuário, requisitos que

descrevam o controle de acesso, e requisitos que descrevam a estrutura de dados. Outra forma de

reuso proporcionado pelo padrão é referente os requisitos sugeridos como “requisitos extras ao

padrão”, como por exemplo: formato da senha do cliente, mudança de senha, expiração da senha do

usuário, bloqueio de usuário inativo, entre outros.

2.4.3 Abordagem de Franch et al. (2010), Renault et al. (2009a), Renault et al. (2009b) e Mendez-Bonilla et al. (2008)

Nos estudos realizados pelo grupo, é apresentada uma versão inicial do catálogo de padrão de

requisitos em Mendez-Bonilla et al. (2008), a sua evolução e a apresentação do método de sua

utilização intitulado PABRE em Renault et al. (2009a) e Renault et al. (2009b). Já no estudo

descrito em Franch et al. (2010), consta a apresentação de um metamodelo para padrões de

requisitos de software que é composto de três conceitos: 1) a estrutura de um padrão de requisitos

de software; 2) o relacionamento entre esses padrões; e 3) a classificação para agrupá-los.

De forma geral, os estudos apresentam uma proposta de haver padrões de requisitos que

poderiam ser aplicados em diferentes projetos, a intenção é obter a especificação de requisitos mais

unificada, padronizada e útil. O catálogo de padrões de requisitos dos autores é endereçado a

requisitos do tipo não funcionais e não técnicos, pois segundo os autores, padrões de requisitos para

escrita de requisitos funcionais seriam mais adequados para uso em projetos de domínio específico,

já padrões de requisitos para escrita de requisitos não funcionais e não técnicos poderiam ser

adequados mais facilmente a quase todos os tipos de domínio de aplicação.

A construção dos padrões é realizada a partir da observação de requisitos similares já

utilizados na construção de vários projetos de software. Quando essa similaridade é identificada, os

autores realizam um estudo para verificar se há um padrão de forma a generalizar. O objetivo é a

geração de um catálogo de padrões de requisitos, então, após a identificação de um padrão o mesmo

é adicionado a esse catálogo. Para organizar os padrões em um catálogo, os autores utilizaram a

norma ISO/IEC 9126-1. Segundo os autores, uma classificação ajuda os analistas a localizarem

mais facilmente um padrão para o seu uso. O catálogo é proposto de forma aberta, evoluindo a

partir de experiências adquiridas em novos projetos. Em um ciclo de vida dos padrões, os novos

Page 55: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

50

padrões serão adicionados a partir de novas necessidades e desejos dos stakeholders e estes serão

avaliados a cada utilização do catálogo. Neste estudo, também é apresentada a estrutura para escrita

dos padrões identificados pelos autores. O Quadro 2 mostra um exemplo de sua utilização, bem

como ilustra a estrutura de padrões de requisitos desenvolvida pelos autores.

Quadro 2 - Um exemplo de padrões de requisitos apresentado em Mendez-Bonilla et al. (2008). Padrão de requisito Alerta de falha

Objetivo satisfazer as necessidades dos clientes de ter um sistema que forneça alertas quando ocorrem falhas de sistema Formulário de Requisito Alertas heterogêneos de falha

Parte Fixa Template O sistema deve provocar diferentes tipos de alertas,

dependendo do tipo de falha Restrição da parte estendida

multiciplicidade(Alertas para os tipos de falhas) = 0..*

Parte estendida

Template O sistema deve gerar alertas %alertas% em caso de %falhas% falhas

Parâmetro Métrica

Alertas: conjunto não vazio de tipos de alerta

Alertas: Set(TiposdeAlertas) TiposdeAlertas: Domínio dos possíveis tipos de alertas

Falhas: conjunto não vazio de tipos de falhas

Falhas: Set(TiposdeFalhas) TiposdeFalhas: Domínio dos possíveis tipos de falhas

Formulário de Requisito Alertas homogêneo de falha

Parte Fixa Template O sistema deve acionar um alerta em caso de falha. Restrição da parte estendida

multiciplicidade (TiposdeAlertas) = 0..1 emulticiplicidade (TiposdeFalhas) = 0..1

Parte estendida Tipos de Alerta

Template A solução deve disparar alertas %alertas% em caso de falha

Parâmetro Métrica

Alertas: conjunto não vazio de tipos de alerta

Alertas: Set(TiposdeAlertas) TiposdeAlertas: Domínio dos possíveis tipos de alertas

Parte estendida Tipos de falhas

Templates O sistema deve gerar alertas em caso de %falhas% falhas

Parâmetro

Falhas: conjunto não vazio de tipos de falhas

Falhas: Set(TiposdeFalhas) TiposdeFalhas: Domínio dos possíveis tipos de falhas

No processo PABRE, descrito pelos autores, os padrões são selecionados em um catálogo e

convertidos para as necessidades reais que irão compor o documento de especificação de requisitos

do projeto. Segundo os autores, o método objetiva facilitar a atividade de elicitação de requisitos

utilizando uma proposta de padrões de requisitos.

2.4.4 Comparativo entre as abordagens

Os trabalhos apresentados diferem em suas abordagens. Assim, alguns aspectos foram

estabelecidos para permitir a comparação entre os padrões:

Page 56: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

51

Templates para escrita de requisitos: observa se o estudo apresenta um (ou mais)

template para orientar a escrita do padrão e analisa qual o escopo do template, se está

limitado a escrita do requisito ou contempla também outros dados para

gerenciamento dos requisitos.

Base para o padrão: descreve o método (origem) utilizado para obter o padrão

proposto.

Relacionamento entre os padrões: um padrão pode se referir a outros padrões por

diversas razões, assim, este aspecto observa se o padrão proposto é composto ou se

prevê relacionamento entre diferentes padrões.

Categorias de padrões: uma classificação dos padrões em categorias permite

demonstrar um pouco sobre a natureza do requisito que se pretende obter com a

utilização do padrão de requisito, além de ser uma forma de facilitar a seleção dos

padrões de requisitos adequados ao seu objetivo. Assim, este aspecto observa se o

estudo propõe/envolve algum tipo de catálogo ou categorização para os padrões

propostos.

Existência de metamodelos: Um metamodelo é um modelo para modelos

(AMATRIAIN, 2004 p.36) podendo ajudar a entender conceitos sobre os padrões de

requisitos de software ou orientar a estruturação de novos padrões. Portanto, este

aspecto analisa se o estudo propõe um metamodelo de seu(s) padrão(ões).

Ferramenta: a utilização de padrões de escrita de requisitos pode ser facilitada a

partir da utilização de uma ferramenta, portanto, este aspecto analisa se o padrão

proposto foi incorporado em alguma ferramenta computacional.

Aplicação do padrão: observa as evidências de aplicação dos padrões em projetos

de software.

O Quadro 3 mostra um comparativo das características entre os trabalhos selecionados neste

mapeamento sistemático.

Page 57: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

52

Quadro 3 - Comparativo entre os estudos encontrados. Toro et al. (1999) Withall (2007) Franch et al. (2010) Template Sim (Figura 1)

Engloba além do padrão de redação do requisito, campos para gerenciamento dos requisitos.

Sim O padrão é descrito a partir da definição de 9 campos. Os templates apresentados compreendem apenas a redação do requisito, sem prever informações complementares.

Sim (Quadro 2) O template envolve apenas a escrita do requisito, sem prever campos para informações complementares.

Base para construção do padrão

Padrões propostos a partir da análise de 2 outros estudos (de outros autores).

Padrões identificados a partir do estudo das necessidades em projetos reais.

Padrões generalizados a partir da análise de 7 documentos de especificação de requisitos de projetos finalizados (Média de 70 requisitos não funcionais em cada documento).

Relacionamento entre padrões

Não aborda. Aborda (conforme Figura 2). Aborda, mas não explicitamente.

Categorias de padrões

- Requisitos funcionais (CRUD). - Requisitos não funcionais (sem determinar categorias).

- Requisitos funcionais - Requisitos não funcionais (com padrões por categorias, conforme Figura 2)

- Requisitos não funcionais (extensão da ISO/IEC 9126-1).

Metamodelo Não apresenta Não apresenta Apresenta Ferramenta Há um protótipo descrito em

Toro et al. (1999). Há uma ferramenta descrita no website do autor.4

O desenvolvimento de uma ferramenta é proposto como passo futuro.

Aplicação Mais de 40 projetos acadêmicos e em 2 projetos reais.

Apresenta exemplos de mais de 400 requisitos empregando os padrões.

Validação em 2 projetos reais.

Diante do exposto, percebe-se que padrões de requisitos de software são artefatos que

podem ser utilizados durante a atividade de elicitação de requisitos, no qual a literatura afirma que

trazem um possível impacto positivo na atividade de elicitação, documentação e análise dos

requisitos. Sua utilização é confirmada como uma dos principais métodos de apoio para uma

abordagem de reuso de requisitos (FRANCH et al., 2010; WITHALL, 2007; WAHONO, 2002;

TORO et al., 1999; FREDJ; ROUDIÈS, 1999). Neste sentido, a reutilização é realizada a partir

padrões de requisitos, que são modelos genéricos de requisitos, nos quais são encontrados diversas

vezes durante a atividade de elicitação de requisitos, e que são reutilizados com ou sem nenhuma

adaptação (TORO et al., 1999; WITHALL, 2007; FRANCH et al., 2010).

4 http://www.withallyourequire.com/reqtssoftware.html

Page 58: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

53

2.5 CONSIDERAÇÕES SOBRE O CAPÍTULO

Neste Capítulo, foram abordados aspectos gerais de engenharia de requisitos, bem como seu

processo e atividades. Foram abordados também os principais aspectos sobre a prática da atividade

de rastreabilidade e a descrição dos aspectos que envolvem o documento de especificação de

requisitos. Foram apresentados os conceitos de reuso de requisitos, padrões de requisitos e algumas

técnicas para elicitação de requisitos. Além disso, foram abordados os esforços na utilização de

padrões de requisitos e algumas ferramentas existentes para o reuso de especificações de requisitos.

Com o término deste capítulo, se encerra o embasamento teórico necessário para a

compreensão da abordagem proposta. O Capítulo a seguir, aborda o “estado da arte” sobre métodos

de reuso de requisitos.

Page 59: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

54

3 ESTADO DA ARTE

Este capítulo tem a finalidade de apresentar o estado da arte sobre reuso de requisitos de

software. Para tanto, utilizou-se de uma revisão sistemática da literatura como instrumento de

localização dos trabalhos selecionados para compor este capítulo. Todos os passos da execução e

benefícios que uma revisão sistemática ou mapeamento sistemático tende a oferecer estão descritos

nas seções iniciais do Apêndice A.

Segundo Brereton et al. (2006), um crescente número de estudos empíricos estão sendo

realizados com uma maior freqüência em engenharia de software, devido a isso, é necessário a

adoção de uma abordagem sistemática para se conseguir apresentar uma síntese equilibrada e

objetiva de evidência de pesquisas para um determinado tópico. O uso de uma revisão sistemática é

mais indicado que uma revisão informal, isso porque, uma revisão informal é caracterizada por ter

pouca abrangência, não é passível de repetição, pouco confiável e dependente dos revisores

(MAFRA; TRAVASSOS, 2006, p.10).

Neste sentido, como primeiro passo buscou-se trabalhos de revisões já executadas por outros

pesquisadores. A busca por trabalhos de revisão sistemática na web (fonte: Google) foi realizada

utilizando os termos “revisão sistemática” and “reuso” em português e “systematic review” and

“reuse” em inglês. Como resultado na busca pelos termos na língua portuguesa nenhum estudo foi

encontrado, no entanto, na busca utilizando os termos na língua inglesa dois estudos foram

localizados. Os estudos localizados foram os de Jamwal (2010) e Konda e Mandava (2010).

O estudo de Jamwal (2010) foi descartado por não apresentar pesquisas que abordem reuso

de requisitos, na revisão o autor objetiva explicar os benefícios do reuso de software, os problemas

de reutilização, descrever os tipos de componentes reutilizáveis, processos para reutilização e

desafios e problemas durante a reutilização de software. Já o trabalho de Konda e Mandava (2010),

apresenta o estado da arte de reuso de software no geral, mas com subsídios suficientes para atender

ao propósito deste capítulo - apresentar as pesquisas focadas no reuso de requisitos. Desta forma, a

partir da análise do trabalho de Konda e Mandava (2010), foram selecionados os trabalhos

correlatos apresentados neste capítulo. O Apêndice B apresenta o processo seguido no trabalho de

Konda e Mandava (2010). Na Seção 3.1 são descritos os critérios para seleção dos trabalhos para

compor a seção 3.2 com o detalhamento dos estudos selecionados.

Page 60: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

55

3.1 CRITÉRIOS PARA SELEÇÃO DOS ESTUDOS

Como ponto de corte para selecionar os estudos denominados de “trabalhos relacionados”

foram utilizados os seguintes critérios sobre os estudos localizados na revisão sistemática de Konda

e Mandava (2010) que abordam reuso de requisitos de software:

1. Estudos que apresentem informações suficientes para reproduzir/aplicar a

abordagem, e/ou;

2. Estudos que apresentem alguma forma de avaliação da abordagem.

Utilizando-se destes critérios 9 estudos foram selecionados, sendo que os estudos de

Antonellis e Vandoni (1993), Lam (1997), Gotzhein et al. (1998), Monzon (2008) e Perednikas

(2008) satisfazem ao critério 1. E que os estudos de Keepence et al. (1995), Montabert et al. (2005)

e Moon et al. (2005) satisfazem ao critério 2 e o estudo de Montabert et al., (2009) enquadra-se nos

dois critérios. No entanto, foi descartado o trabalho de Antonellis e Vandoni (1993), mesmo sendo

um trabalho de interesse para composição deste capítulo, pois o autor desta dissertação não obteve

acesso a base de dados na qual se encontra o estudo e não houve um retorno do contato realizado

com os autores do trabalho.

3.2 TRABALHOS RELACIONADOS

Esta seção apresenta os trabalhos relacionados a técnicas ou métodos que apóiam o reuso de

requisitos de software de uma maneira geral, selecionados após análise em uma recente publicação

da revisão sistemática da literatura sobre reuso de software de Konda e Mandava (2010).

3.2.1 SMARTRe Requisitos: Escrevendo requisitos reutilizáveis (KEEPENCE et al., 1995)

Neste estudo, os autores descrevem um guia para ajudar a maximizar o nível de reuso de

requisitos. Este guia consiste em passos como categorização dos requisitos em não reusáveis,

diretamente reusáveis ou baseado em parâmetros. Como passo seguinte, os autores indicam uma

posterior análise nos requisitos não reutilizáveis, a fim de remover referências específicas e

uniformização dos termos, e a divisão de especificações genéricas em mais específicas. O estudo foi

avaliado com um estudo de caso que verificou os requisitos em dois projetos na especificação de

Page 61: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

56

um sistema de planejamento de missões para uma missão científica. Como resultado, os autores

relatam que o estudo de caso revelou que os ganhos com a reutilização são significativos e

justificam o esforço adicional para aumentar os níveis de reutilização atual.

3.2.2 Uma abordagem de especificação de domínio de aeronáutica necessária para alcançar a reutilização (LAM, 1997)

Este estudo descreve o esforço feito para promover a reutilização de especificações de

requisitos na indústria aeronáutica. A abordagem consiste em duas fases principais: análise de

domínio e engenharia de domínio.

Na fase de análise de domínio (fase em que se faz a identificação de artefatos reutilizáveis

no domínio), o autor utilizou um método de análise de domínio já existente o ODM (STARS,

1995), com algumas adaptações para ser utilizado com o foco na reutilização de requisitos. Nesta

fase os autores executam as seguintes atividades para o entendimento do domínio:

a) definição das fronteiras do domínio;

b) abstração a partir de exemplos e identificação de questões fundamentais sobre o

domínio;

c) fundamentação dos requisitos; e

d) combinação do conhecimento em um quadro coerente.

Ainda nesta etapa os autores executam mais algumas atividades de modo a reconhecer e

capturar o conhecimento de requisitos reutilizável a partir do domínio. Essas atividades são:

a) formulação de requisitos genéricos;

b) formulação de uma lista de fator externo e fator interno. (Uma lista de fator externo

relaciona os tipos para conhecimento para fora de um fator de uma formulação de

requisitos genéricos, o inverso é considerado para fator interno);

c) escolha de um conjunto de requisitos;

Page 62: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

57

d) antecipar mudança e seu impacto sobre os requisitos (estratégia usada para evitar

suposições explícitas sobre a tecnologia, isso para garantir que todos os requisitos

genéricos gerados pelo engenheiro de software irão ser válidos para todos os típicos

sistemas de partida atuais e futuros);

e) uso sensato com julgamento de como lidar com o resultado de uma abstração de

requisito;

f) saída da análise de domínio; e

g) resumo do exercício de análise de domínio.

A partir deste ponto o autor discute como trabalhar na fase de engenharia de domínio. Para

apoiar esta fase é apresentada uma ferramenta chamada COMPASS. A ferramenta automatiza as

atividades de preenchimento dos requisitos genéricos. O objetivo desta ferramenta é construir

requisitos recuperados de uma biblioteca de requisitos genéricos reusáveis, os quais possam ser

instanciados com as informações fornecidas nos formulários, e colocados em uma biblioteca do

projeto. A ferramenta foi avaliada como um framework para avaliação de kit de especificação de

domínio, e também passou por uma avaliação pelo ponto de vista dos engenheiros.

3.2.3 Reutilização em engenharia de requisitos: descoberta e aplicação de um padrão de requisito em tempo real (GOTZHEIN et al., 1998)

Este trabalho trata de uma abordagem de reutilização de especificação de requisitos de

sistema formal com base em padrões de requisitos. O objetivo da abordagem é de produzir um

documento de especificação de requisitos formal derivado de descrição em linguagem natural. Este

trabalho é baseado em um pool de padrões de requisitos e em especificação de requisitos de usuário

em linguagem natural. Para descrever os padrões de requisitos os autores utilizam um template

composto por nome do padrão, intenção do padrão, definição e propriedades semânticas, esse

modelo é apresentado na Tabela 3.

Page 63: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

58

Tabela 3 - Modelo de descrição do padrão de requisito.

Nome Nome do padrão de requisito. Intenção Uma descrição informal do tipo de requisito dirigido por esse padrão. Exemplo Um exemplo para a o domínio da aplicação ilustra o propósito para o

padrão de requisito. Definição O padrão é descrito tanto formalmente, através de uma técnica formal

de descrição adequada, e em linguagem natural. A descrição formal é a base para as etapas posteriores de desenvolvimento, finalmente conduzindo à especificação de requisitos (seleção do padrão, adaptação e composição). A descrição em linguagem natural servirá a tradução de padrões instanciados da especificação formal de requisitos em requisitos informal de linguagem natural de especificação de requisitos. Além disso, a descrição fornece algumas informações sobre possíveis instâncias.

Propriedades semânticas Propriedades que tenham sido formalmente comprovadas a partir do padrão. Ao instanciar essas propriedades da mesma forma como o padrão de requisitos, as provas também podem ser reutilizadas.

A utilização da abordagem consiste no seguimento de três passos:

Primeiro passo: Padrões de requisitos são selecionados de um pool de padrões a partir de

informações fornecidas pelo modelo (ver Tabela 3), como definição, intenção e propriedades

semânticas.

Segundo passo: Os padrões selecionados são adaptados pela instanciação adequada. O

mesmo tipo de adaptação é aplicado às propriedades semânticas. Neste passo é possível formalizar

a razão sobre os requisitos individualmente.

Terceiro passo: Os padrões são compostos para produzir a especificação de requisitos. A

composição pode ser suportada pelos operadores adequados.

Uma observação feita por Gotzhein et al. (1998), diz que o grau de reutilização irá depender

da especificação de requisitos de usuário em linguagem natural e do conteúdo do pool de padrões,

isso porque, o conjunto de padrões de requisitos deve evoluir com o passar do tempo, fazendo com

que reduza o esforço na especificação de requisitos.

No trabalho de Gotzhein et al. (1998) é apresentado um exemplo de uma especificação

formal de um controlador de temperatura, esse exemplo é ilustrado na Tabela 4. Mais detalhes sobre

a simbologia utilizada no exemplo pode ser obtido em Gotzhein et al. (1998).

Page 64: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

59

Tabela 4 - Exemplo da utilização da abordagem de Gotzhein et al., (1998).

Nome LazyReaction(p, q, T1, T2, T3) Intenção Aplicável se uma reação não é imediata, mas contém algum atraso. Exemplo

A sala está em uso (romUsed) se uma das condições for verdadeira:

Durante as últimas unidades de tempo T1, uma pessoa tenha ficado continuamente na sala.

Já houve um intervalo de tempo de comprimento T1 + T2 tal que uma pessoa tem ficado continuamente na sala, e uma vez que este tem sido o caso para a última hora, os períodos enquanto a sala estava vazia não era maior ou igual a T3.

Definição O predicado p é válido se uma das seguintes afirmações for verdadeira:

Durante as últimas unidades de tempo T1, q tem sido continuamente verdadeiro;

Já houve um intervalo de tempo de comprimento T1 + T2 tal que q tenha ficado continuamente na sala, e desde que este tenha sido o último caso ocorrido, os períodos enquanto q era falso e que não era maior ou igual a T3.

Propriedades semânticas

No entanto, nessa abordagem, nenhuma forma de avaliação ou ferramenta para sua

automatização ou apoio foi apresentada para este trabalho.

3.2.4 Suporte a reutilização de requisitos em design de sistema de notificação através da tarefa de modelagem (MONTABERT et al., 2005) e Uma abordagem integrativa para a análise de requisitos: Como modelos de tarefas dão suporte ao reuso em um framework de modelagem centrado no usuário (MONTABERT et al., 2009)

O trabalho de Montabert et al. (2005) apresenta um processo e instanciação de análise

hierárquica de tarefa, para ajudar os projetistas a identificar os aspectos mais importantes com o

foco na modelagem, e para apoiar a reutilização de conhecimento entre projetos. Neste sentido, os

Page 65: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

60

autores utilizam reivindicações5 (do inglês claims) para integrar requisito dentro de modelos de

análise hierárquica de tarefa, com isso criando um modelo de tarefa para visualização de requisitos

que contém os requisitos de sistemas. Para isso, os autores apresentam uma ferramenta para

desenvolvimento dos requisitos baseado em LINK-UP6, o qual foi avaliado por um estudo de

usabilidade.

Os principais atributos da abordagem de análise de requisitos é uma forte dependência do

envolvimento do usuário, desambiguação, validação de requisitos através de uma estrutura,

formalismo e reutilização extensiva do conhecimento. Esta abordagem é apoiada por uma

ferramenta computacional baseado em LINK-UP, mas antes da sua utilização é necessário a

condução de investigações preliminares as quais são necessárias para estabelecer um conceito raiz,

também se faz necessário um estudo prévio das práticas de trabalhos em seu ambiente natural. A

Figura 4 ilustra os passos de execução da abordagem na ferramenta, esses passos consistem em:

Primeiro passo é estabelecer o cenário do problema. Esse cenário é estabelecido a

partir de estudos das práticas atuais dos usuários dentro do domínio do problema.

Segundo passo é estabelecer o cenário de atividade. Aqui o projetista descreve os

usuários e a sua interação com o sistema previsto.

Terceiro passo permite a criação do sistema de nível de valor de IRC (interruption,

reaction, and comprehension) para o modelo de design. Neste passo a ferramenta

apresenta uma interface que ajuda ao projetista obter estimativas precisas para o

valor de IRC. Essa interface funciona como um assistente que solicita resposta

para perguntas sobre comportamento de notificações do sistema, expectativas de

um típico usuário e benefícios resultantes da notificação, ou se o projetista quiser

pode-se informar os IRC manualmente. 5 Reivindicações tratam de uma declaração que descreve uma característica do projeto com seus benefícios e pontos fracos associados. A implementação de uma biblioteca de reivindicações facilita um processo de reutilização, isso porque, captura o conhecimento reutilizável de design em design baseado em cenários (MONTABERT et al., 2005). 6 LINK-UP (Leveraging Integrated Notification Knowledge through Usability Parameters) da tradução literal “aproveitamento do conhecimento de notificação integrada através de parâmetros de usabilidade”, consiste em uma suite de design baseado na Web para permitir um melhor apoio na concepção dos sistemas de notificação, promovendo a reutilização de conhecimento de modelagem centrada no usuário por meio de um framework de modelagem (MONTABERT, 2006 p.31).

Page 66: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

61

Quarto passo é um módulo do sistema no qual todos os modelos de tarefa estão

disponíveis para seleção do projetista. A seleção é feita de forma a melhor

representar a desagregação dos componentes do sistema de nível de IRC por

estágio de ação da interação de notificação para o sistema alvo. Alternativa nesse

passo é a criação de um novo modelo de tarefa, quando dada à inexistência de um

modelo que contemple o novo sistema. Aqui o sistema irá exibir todas as

subtarefas genéricas aplicáveis para cada fase da ação, os fatores psicológicos

intervindo nas equações de IRC são estimados utilizando uma escala de cinco

pontos, e com base nesses fatores associados com cada etapa da ação, a ferramenta

calcula os valores do nível SOA (stage-of-action-level) do IRC para o modelo.

Neste ponto o novo modelo pode ser incorporado ao repositório de conhecimento e

pode ser reutilizado.

O quinto passo procede logo após a seleção de um modelo de tarefa generalizado.

Neste passo o sistema permite aos projetistas indicar o nível da subtarefa de seu

modelo de tarefas. Então o projetista seleciona as tarefas genéricas disponíveis que

são aplicáveis e introduz em um cenário que descreve a relação subtarefa com os

usuários em sua tarefa principal. Após a seleção, a ferramenta gera para cada fase

de ação do nível recomendado os valores de SOA IRC que caracterizam o objetivo

de cada subtarefa.

No sexto e último passo o sistema apresenta ao projetista recomendação de

reivindicações associadas a um modelo de tarefa reutilizada. Aqui o projetista pode

procurar por outra reivindicação adicional relevante, e associar reivindicações para

um correspondente estágio ação, a fim de criar uma modalidade de requisitos de

notificação para o sistema alvo. Essas alterações são armazenadas em um

repositório de conhecimento para fornecer a base para a estrutura de recomendação

de reivindicações.

Page 67: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

62

Figura 4 - Fluxograma das atividades da abordagem de Montabert et al. (2009).

A abordagem foi avaliada por dois estudos, o primeiro que examinava a viabilidade da

ferramenta, verificando se um projetista iniciante consegue desempenhar sua atividade de análise

com o apoio da ferramenta e outro estudo avaliava os benefícios atingidos com a ferramenta em

relação à atividade de especificação de requisitos. Como resultado, o autor confirma que a

capacidade de projetistas iniciantes em compreender as atividades envolvidas com o processo de

modelagem é satisfatória e que a abordagem também serve como um catalisador de reutilização.

Além desses resultados, o autor também afirma que o estudo revelou potenciais benefícios de

aprendizagem associados às práticas de engenharia de requisitos.

Page 68: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

63

3.2.5 Uma abordagem para o desenvolvimento de requisitos de domínio como núcleo principal baseado nos pontos comuns e análise da variabilidade em uma linha de produtos (MOON et al., 2005)

Neste trabalho, os autores apresentam uma abordagem de desenvolvimento de requisitos de

domínio utilizando da uniformização e variabilidade em um domínio. Esta abordagem trata de um

método que sistematicamente desenvolve o núcleo principal de requisitos em uma análise de

domínio para aumentar o reuso no contexto de abordagens de linha de produtos. Também é

apresentada pelos autores uma ferramenta para gestão do método. Esta abordagem consiste em

quatro etapas principais:

Primeira etapa: Nesta etapa, é realizada uma definição prévia do escopo dos requisitos de

domínio. Essa especificação deve ser realizada para que os desenvolvedores possam identificar e

especificar os requisitos de domínio de uma forma coerente e precisa.

Segunda etapa: Esta etapa, consiste na identificação dos requisitos de domínio usando PRs

(Primitive Requirement7). Após acordado sobre o escopo dos requisitos de domínio, os sistemas

legados são analisados para extrair os requisitos de domínio comuns a eles. Segundos os autores, ao

considerar os requisitos comuns de sistemas legados, um conjunto de requisitos semelhantes com

variações podem ser identificados. Neste passo o conceito de PR é utilizado como uma unidade dos

requisitos identificados. A Tabela 5 ilustra uma matriz de PR-Context que é usada para

identificação e refinamento dos requisitos de domínio usando PRs, a matriz consiste de informações

de um repositório de domínio de empresas jornalísticas, sendo que todos os PRs identificados estão

listados em linhas e os sistemas construídos a partir do domínio são organizados em colunas. O

preenchimento da matriz com "O" na interseção da PRs e sistemas indica que o PR é encontrado no

sistema, já um "X" indica que o sistema não tem o PR. Segundo os autores, os PRs para um

determinado domínio podem ser identificados através da análise de requisitos funcionais para

sistemas legados em um domínio.

O refinamento da matriz de PR-Context pode ser feita através da realização de dois tipos de

generalizações:

7 Primitive Requirement é um termo definido por Moon et al. (2005) que é usado como um bloco de construção para um refinamento mais complexo de uma conjunto de semântica no qual um requisito possa ser decomposto.

Page 69: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

64

Generalização de PR: Esse tipo de generalização verifica dois ou mais PRs com

funcionalidades semelhantes que possam ser generalizados para um PR, essa

generalização é alcançada com a abstração das diferenças na variabilidade. O

objetivo desta generalização é de se obter PR mais gerais, o que ajuda na

identificação de funcionalidades comuns entres os sistemas e aumenta a sua

reutilização. Um exemplo deste tipo de generalização é visto na Tabela 5, onde o

PR7 é comum em mais de um sistema, mais a forma de sua execução é um pouco

diferenciada, refinando-se para PR71 e PR72.

Generalização de contexto: Neste tipo de generalização dois ou mais sistemas

legados compostos por PRs podem ser generalizados em um único “contexto”,

reduzindo-se o tamanho da matriz. Na Tabela 5 esta generalização pode ser

visualizada pela coluna com o título BS1(2), na qual foram agrupadas duas

empresas, MBC e KBS, que têm o mesmo conjunto de PRs. Destaca-se que o

número 2 entre parênteses logo após o nome do novo grupo refere-se à quantidade de

sistemas generalizados por este contexto.

Tabela 5 - Matriz de PR-Context. PR CV

Propriedade / Razão

BS1(2) YTN ET Times Chosun Daily

PR1 Login C / 100% O O O O PR2 Logout C / 100% O O O O PR3 Cadastro C / 100% O O O O PR4 Modificar informações do membro C / 100% O O O O PR5 Adicionar um artigo para um scrapbook

P / 40% X X O O

PR6 Procurar por uma scrapbook P / 20% X X O X PR7 Transmitir um artigo C / 100% O O O O PR71 por e-mail O X O O PR72 por telefone celular X O O O PR8 Escrever uma opinião C / 60% O X X O ... ... ... ... ... ...

Após as generalizações é realizado o preenchimento da coluna “CV Propriedade/Razão” na

matriz (ver Tabela 5), que consiste na razão comum para cada PR. Essa razão indica o quanto o PR

é utilizado no domínio e é definido como a relação entre o número de sistemas com o PR para o

número total de sistemas relacionados na matriz. Sendo assim, esta propriedade é determinada por

sua relação de semelhança, isso denota se o PR é ou não comumente utilizado em diversos sistemas.

Page 70: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

65

Terceira etapa: É realizado um refinamento dos requisitos de domínios com o PR. Aqui

todos os PRs são detalhados individualmente como uma forma de especificação em relação a

aspectos estruturais e comportamentais, é onde as variabilidades são explicitamente especificadas.

Nesta etapa também são identificadas e especificadas as restrições entre os requisitos de domínio,

restrições como dependência, generalização e alternativas. A Tabela 6 ilustra este refinamento, bem

como as demais especificações.

Tabela 6 - Especificação do PR1 para Cadastro. PR PR1. Cadastrar Descrição Variabilidade

Tipo Cardinalidade Variantes Comportamento PRelemento

PR1a. O sistema verifica o nome verdadeiro do cliente

Computação externa

[0..1] Serviço de verificação do nome verdadeiro

PR1b. Cliente informa MemberBasicData

PR1c. Sistema verifica por disponibilidade para dados de cliente ID e senha

PR1d. Cliente entra com dados de endereço e código postal

Computação externa

[1] Serviço de busca por entrada manual de endereço

PR1e. Cliente informa MemberSupplementaryData

dado

PR1f. Cliente paga taxa de adesão, quando ele/ela escolhe um membro carregado.

Controle [1...n] Pagamento com cartão de crédito Pagamento com cheque Pagamento com telefone celular Pagamento com certificado de presente Pagamento com cupom Pagamento com transferência bancária

Estático PRelement

MemberSupplementaryData Dados [1..n] Ocupado Renda Educação Juros

Quarta etapa: Nesta etapa, desenvolve-se um modelo de domínio denominado usecase, o

qual é construído para representar um nível maior de abstração para os requisitos de domínio. A

Tabela 7 ilustra uma matriz de PR-Usecase que é gerada nesta etapa. Segundo os autores na matriz

de PR-Usecase os casos de uso identificados inicialmente são refeitos e categorizados, visando com

este procedimento a produção e identificação de requisitos de domínio mais reutilizáveis.

Page 71: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

66

Tabela 7 - Matriz de PR-Usecase. PR CV Propriedade /

Razão AutenticaçãoUsuário Cadastro BuscaNotícia

PR1 Login C/100% O PR2 Logout C/100% O PR3 Cadastro C/100% O PR4 Alteração dos dados de um membro C/100% O PR5 Adicionar um artigo para o scrapbook

P/40% O

PR6 Busca no scrapbook P/20% O PR7 Transmitir um artigo C/100% O PR8 Buscar uma notícia C/100% O PR9 Mostrar uma notícia C/100% O PR10 Modificar uma opinião P/42.8% O PR11 Apagar uma opinião P/42.8% O PR12 Administrar pagamentos C/100% O O

Para avaliação do estudo, os autores apresentam um estudo de caso realizado em um sistema

de web para agências de viagem. Neste estudo de caso, os autores apresentam uma ferramenta

CASE chamada de DREAM (Domain REquirements Asset Manager - Administração de ativos de

requisitos de domínio), essa ferramenta apóia tanto a fase de definição dos requisitos de domínio,

como a fase de engenharia de aplicação, nas quais os domínios de sistemas são produzidos. Como

resultado do estudo de caso, os gerentes de projeto e desenvolvedores envolvidos no projeto

afirmam que a abordagem foi muito útil para identificação e especificação dos requisitos de

sistemas, alcançando uma redução de esforço no desenvolvimento.

3.2.6 Abordagem prática para reuso de requisitos de famílias de produtos de sistemas on-board (MONZON, 2008)

Esta abordagem apresenta uma experiência adquirida na especificação de requisito dentro de

uma família de produtos em sistemas de bordo de aviões militares para missões táticas.

Antes de iniciar a descrição da abordagem proposta por Monzon (2008), faz-se necessária a

apresentação do conceito de derivação de requisitos e o de reutilização de requisitos fortes e fracos.

Segundo Monzon (2008), requisitos de derivação são aqueles requisitos que não possuem um

vínculo direto de rastreabilidade com os requisitos de um nível superior. Esse tipo de requisito deve

existir para garantir que os requisitos impostos são viáveis. A reutilização forte é aquela que em um

contexto de família de produtos os requisitos reusados são considerados a evoluir de forma

síncrona. As mudanças nesse tipo de requisito tendem a afetar todo o conjunto de projetos de

família de produtos, portanto, deve ser aprovada por todos os gerentes de projeto. A reutilização

Page 72: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

67

fraca é aquela em que as especificações de requisitos que são copiados de outras fontes para um

novo projeto podem evoluir separadamente da fonte. A diferença entre o método de “copiar/colar” e

de reutilização fraca de requisito é que na reutilização fraca de requisitos os requisitos especificados

permanecem ligados a fontes, mesmo que ocorram mudanças separadamente.

A abordagem consiste na identificação das árvores de rastreabilidade de outros projetos

relacionados com os requisitos que serão aplicáveis a um novo requisito. Estes requisitos

identificados são marcados como “requisito pai” em uma família, e cada especificação de um novo

projeto que herdar esses requisitos serão acompanhados de onde vieram, e em casos em de

reutilização forte também manterão uma sincronização de mudança. Para sistematizar a abordagem

o autor apresenta uma ferramenta chamada de MIA. Esta ferramenta auxilia no controle das

marcações dos requisitos comuns para uma família de produtos e permitir a reutilização forte e

fraca de requisitos. A Tabela 8 mostra o nível de distribuição para a abordagem de reuso

apresentada por Monzon (2008), o qual identifica o percentual de requisitos derivados e não

derivados em combinação com os tipos de reuso.

Tabela 8 - Nível de distribuição de reuso. Reutilização forte Reutilização fraca Não reutilizável Requisitos derivados 40% 30% 30% Requisitos não derivados 20% 30% 50%

Segundo Monzon (2008), os requisitos derivados devem ser estáveis, isso porque são eles

que estão mais relacionados com a solução proposta. Por esta razão, o modelo de reuso de requisitos

proposto se preocupa em atingir um alto nível de reutilização deste tipo de requisito. Já os requisitos

não derivados terão o grau de reaproveitamento menor por depender da seleção de característica de

um produto em uma família de produto de software. A Tabela 9 ilustra a simulação do uso da

abordagem mostrando o esforço poupado e a razão de reuso. Como resultado Monzon (2008)

afirma que a utilização da abordagem de reuso em um projeto padrão dentro de uma família de

produto tende a obter uma economia global de cerca de 61% na produção de todo o conjunto de

documentos de especificação de requisitos.

Page 73: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

68

Tabela 9 - Economia de esforço e razão de reuso. N° de

documentos Esforço Nominal

(M-M) Esforço com Reuso

(M-M) Razão de reuso

Requisitos contratuais 1 2 1,0 50% Requisitos de sistema de alto nível - Hardware

1 2 1,2 58%

Requisitos de sistema de baixo nível - Hardware

14 28 17,4 62%

Requisitos de sistema de alto nível - Software

1 2 1,2 62%

Requisitos de sistema de baixo nível - Software

14 28 17,4 62%

Total 31 62 38,1 61%

No entanto, nessa abordagem, nenhuma forma de avaliação foi apresentada para este

trabalho.

3.2.7 Reutilização de requisitos baseado nas previsões das necessidades dos usuários (PEREDNIKAS, 2008)

Esta abordagem propõe a reutilização de especificações de requisitos baseado na ideia de

previsão das necessidades do usuário. Para isso o autor descreve uma abordagem como ilustra a

Figura 5. O autor propõe um processo de reuso baseado no conhecimento factual sobre a origem

dos requisitos. Neste sentido o autor utiliza lista de tarefas, as fontes das necessidades (usuários),

restrições ambientes e ferramentas utilizadas no processo de execução dessas tarefas. Segundo

Perednikas (2008), as necessidades para fontes de requisitos estão previstos em função da

similaridade de seus estados, a qual pode ser estimada fazendo o cálculo da percentagem de

elementos correspondentes entre os conjuntos que descrevem estes estados. Na abordagem o

processo de elicitação de requisitos inicia a partir de uma seleção sistemática de um RSP

(Requirements Specifications) de uma lista de RSP previstos, já os requisitos que não puderam ser

identificados nesta etapa serão especificados usando uma abordagem tradicional.

Page 74: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

69

Figura 5 - Generalização do processo de reuso da abordagem de Perednikas (2008).

No entanto, nessa abordagem, nenhuma ferramenta ou avaliação são apresentadas para

apoiar e validar a abordagem.

3.3 CONSIDERAÇÕES SOBRE OS TRABALHOS SIMILARES

O objetivo desta seção é reunir e comparar todos os trabalhos apresentados fazendo uma

análise sobre as principais características presentes nas abordagens buscando pontuar a contribuição

e diferencial da abordagem proposta.

Para tanto, alguns critérios de comparação foram estipulados, entendendo-se que estes

pontos resumem as principais características das abordagens analisadas:

1. quanto ao escopo de reuso: entende-se que reuso de requisitos é um tema amplo.

Assim, dentro deste tema amplo, qual é o problema específico que o estudo pretende

resolve?

Page 75: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

70

2. quanto às características da abordagem analisada: com este critério deseja-se

identificar e classificar o tipo de método ou técnica utilizada para apoiar o reuso;

3. quanto ao apoio de algum tipo de ferramenta computacional: verifica se a

abordagem é provida do apoio de uma ferramenta computacional.

4. quanto à utilização de repositório para armazenamento do conhecimento de

requisitos de software: um repositório é uma estrutura de base de dados que

armazena a coleção de elementos para reuso, além de promover mecanismos que

permitam a recuperação eficiente desses elementos. Este critério identifica a

existência de um repositório na arquitetura da abordagem. Entende-se que uma

abordagem que objetiva o reuso de requisitos deve ser baseada num repositório, a

não adoção de um repositório para o armazenamento do conhecimento o qual se

pretende reutilizar coloca em dúvida a sua efetividade, abrindo espaço para perguntas

como, por exemplo: Onde e como se encontra o conhecimento que se pretende

reutilizar? Como é feita a busca neste repositório em cada caso? A busca é

realiazada de forma manual?

5. quanto ao método de avaliação da abordagem (tipo de avaliação): concordando

com as colocações de Basili (2007), os estudo empíricos apresentam um papel

importante na evolução da engenharia de software, contribuindo na construção de

um corpo de conhecimento em engenharia de software, apoiado em observações e

evidências empíricas. Assim, este critério observa o método de avaliação ao qual a

abordagem foi submetida.

A análise encontra-se sumarizada na Tabela 10. Desta forma, é possível observar com mais

transparência as contribuições e limitações de cada abordagem em relação as característica

levantadas.

Tabela 10 - Análise comparativa entre os trabalhos similares. Estudo Escopo Abordagem Ferramenta Repositório Avaliação (KEEPENCE et al., 1995)

Linha de produto (setor de planejamento de missões espaciais)

Método de classificação dos requisitos em componentes reutilizáveis

Não Não

Estudo de caso

(LAM, 1997) Linha de Reuso de requisitos Sim Sim Framework

Page 76: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

71

produtos (setor aeronáutico)

abstratos a partir de formulários genéricos baseado em coleção de requisitos

Baseada em formulário (desenvolvido em Visual Basic) para instanciação de requisitos genéricos

Armazena uma biblioteca de requisitos genéricos (Banco de dados Ms-Access) Busca realizada de forma manual, no entanto, é auxiliada pela ferramenta de apoio, através da instanciação de requisitos com base nas informações fornecida nos formulários.

de avaliação

(GOTZHEIN et al., 1998)

Reuso em sistemas de tempo de real

Padrões de requisitos não triviais para sistemas de tempo real

Não Sim Armazena os padrões de requisito (baseado em template). A busca é realizada de forma manual em sistemas de arquivos, sem nenhum auxílio computacional.

Nenhuma

(MONTABERT et al., 2005) (MONTABERT et al., 2009)

Reuso de requisitos de usabilidade

Análise hierárquica de tarefas + reivindicações

Sim Ferramenta baseada em LINK-UP8

Sim Repositório de reivindicações (claims) Os requisitos são recomendados com base nas reivindicações associadas a um modelo de tarefa. A busca por outras reivindicações adicionais é auxiliada pela ferramenta de apoio.

Estudo de usabilidade (2005) Estudo de viabilidade (2009)

(MOON et al., 2005)

Linha de Produtos (setor

Uniformização e variabilidade de requisitos

Sim Suporte para

Sim Armazena o núcleo

Estudo de caso

8 Consiste em uma ferramenta de suporte baseada na web que auxilia projetistas sobre questões-chaves relacionadas ao comportamento de uma interface.

Page 77: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

72

jonalístico; e, sistemas de web para companhias de viagens)

gestão dos pontos comuns e variabilidade dos requisitos de domínio

de ativos. A lista de requisitos é criada automaticamente a partir dos requisitos primários (RP)selecionados na matriz de RP-contexto baseado em um meta-modelo.

(MONZON, 2008)

Linha de Produtos (setor aeronáutico)

Rastreabilidade + Derivação de requisitos

Sim Plugin para uma ferramenta comercial (Doors) para prover reuso de requisitos em família de produto

Sim Repositório da ferramenta comercial. A lista de requisito para reuso é apresentada pelo conjunto relacionado pela árvore de rastreabilidade do projeto da linha de produto.

Nenhuma

(PEREDNIKAS, 2008)

Reuso baseado em análise de domínio. Contexto específico não identificado.

Previsão de necessidade do usuário baseado em análise de tarefas + análise baseada na experiência de especialista

Não Não Nenhuma

ABORDAGEM PROPOSTA

Reuso de requisitos de sistemas de informação

Templates baseados em padrões de requisitos + catálogo de padrões + rastreabilidade

Sim Ferramenta web que potencializa o reuso a partir de sugestões

Sim Armazena requisitos descritos conforme padrões. Busca realizada de forma manual. No entanto, é auxiliada pela ferramenta de apoio, através das sugestões de reuso baseadas nos mecanismos de apoio ao reuso.

Estudo de caso (avaliação quase-experimental) Avaliação de percepção de uso da ferramenta/ abordagem Avaliação de especialista (método GQM)

A abordagem de Keepence et al. (1995) apresenta heurísticas que auxiliam na generalização

de requisitos para o reuso (por exemplo, sugerindo remoção de referências específicas; derivando

termos comuns; dividindo especificações genéricas) e classificação dos requisitos em um contexto

Page 78: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

73

de reutilização (não reusável, diretamente reusável ou reutilizável por parametrização). Até o

momento desta pesquisa, não foram localizados uma ferramenta e repositório que apóiem a

abordagem.

A proposta da abordagem de Lam (1997) permite a especificação de requisitos a partir de

formulários genéricos que fornecem um ponto de partida para escrita do requisito. No entanto, os

campos dos formulários não apresentam de forma explícita informações que auxiliem na sua

escolha. Além disso, a escolha de um formulário para especificação do requisito é guiada pela

seleção de um componente exibido em uma lista de componentes reutilizáveis (um componente

reutilizável encapusula requisitos genéricos estreitamente relacionados) exigindo que o analista

conheça plenamente o componente para sua reutilização.

A abordagem de Gotzhein et al.(1998) objetiva estruturar o conhecimento na especificação

de requisitos para sistemas formais utilizando padrões de requisitos os quais são armazenados em

um pool de padrões. No entanto, esta abordagem não conta com apoio de uma ferramenta

computacional para auxiliar na seleção e adaptação nas instanciações dos padrões. Entende-se que a

falta de uma ferramenta de apoio minimize as vantagens promovidas pelo reuso (como por

exemplo: busca, seleção e entendimento dos artefatos reutilizáveis).

Os trabalhos de Montabert et al., (2005;2009) e de Perednikas (2008) são baseados em

métodos de análise hierárquica de tarefas. O trabalho de Montabert et al., (2005;2009) se concentra

em reuso de requisitos de usabilidade, onde se instancia um modelo de tarefas capaz de promover a

reutilização de conjuntos de reivendicações, fundamentos e todo os componentes do projeto. A

abordagem de Perednikas (2008) é baseada na suposição de que os problemas e necessidades dos

usuários são semelhantes em muitos casos. Assim, a abordagem de Perednikas (2008) utilizada lista

de tarefas associadas a fontes de requisitos (usuários), sendo que os usuários selecionados na etapa

inicial do processo proposto pela abordagem selecionam as especificações de requisito apropriadas

da lista. No entanto, é observado alguns pontos críticos nestas duas abordagens por ser baseada em

um método de análise hierárquico de tarefa. Observa-se que sua aplicação fica limitada diante de

grandes quantidades de dados. Isso pode ocorrer porque logo se tornam complicada e difícil de

acompanhar a anotação, e também não é possível à modelagem de tarefas que ocorrem em paralelo

(PREECE et al., 2002, p. 253). Além disso, na abordagem de Montabert et al., (2005; 2009) o

formato de declarações das reividicações (claims) associadas aos benefícios (upsides) e fraquesas

(downsides) não abordam a especificação de requisitos de forma trivial, provalmente devido ao seu

Page 79: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

74

escopo de especificações de requisitos para projetos de notificação ao usuário. Em relação à

abordagem de Perednikas (2008) outros desafios ainda estão relacionados à: (i) falta de apoio de

uma ferramenta computacional para realiza os cálculos dos graus de incerteza (princípio chave de

abordagem); (ii) especificação do repositório (não é descrito pelo autor como o conhecimento é

armazado e recuperado .

Cabe destacar ainda que os trabalhos de Lam (1997), Moon et al. (2005) e Monzon (2008)

consideram a reutilização de requisitos em uma linha de produtos de software. Neste sentido, essas

abordagens em sua maioria dependem do conhecimento e experiência de especialistas no domínio

para adquirir manualmente a comunalidade (o que é semelhante no domínio) e variabilidades (o que

é variável no domínio) do domínio modelado. Além disso, as abordagens de linha de produto de

software produzem uma considerável mudança no processo de desenvolvimento (von Knethen et

al., 2002).

Outro aspecto que pode ser destacado refere-se a forma de avaliação, a qual em muitas

pesquisas não foi realizada. Quando realizada, a forma também varia bastante, destacando-se a

avaliação através de estudo de caso.

3.4 CONSIDERAÇÕES DO CAPÍTULO

Este Capítulo apresenta o estado da arte sobre abordagens para o reuso de requisitos de

software. Para tanto, utilizou-se de uma revisão sistemática da literatura como instrumento de

localização dos trabalhos selecionados para compor este capítulo. Os trabalhos selecionados

demonstram o esforço realizado pela comunidade de engenharia de software em reutilizar

especificações de requisitos de software.

Em síntese, pode-se afirmar que existem diversas abordagens com o objetivo de apoiar o

reuso de requisitos. Observa-se que o grande foco dos estudos de reutilização de requisitos provém

da engenharia de linha de produtos (KEEPENCE et al., 1995; LAM, 1997; MOON et al., 2005;

MONZON, 2008) ou possui um escopo bem específico como é o caso de Montabert et al., (2005;

2009) que foca apenas em requisitos de usabilidade ou de Gotzhein et al., (1998) que se refere

apenas a requisitos não triviais para sistemas de tempo real. As abordagens empregam métodos

distintos, como classificação, padrões, análise de tarefas associada a reinvindicações, derivação e

rastreabilidade. A abordagem proposta nesta dissertação reúne alguns dos métodos utilizados e os

Page 80: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

75

emprega visando apresentar automaticamente sugestões de requisitos para reuso, sem restringir a

um domínio específico. Em relação ao escopo dos trabalhos, as abordagens relacionadas ao

paradigma de linha de produtos (KEEPENCE et al., 1995; LAM, 1997; MOON et al., 2005;

MONZON, 2008) realizam a reutilização de toda a especificação de um produto variante do

domínio, destacando-se a análise de domínio no setor de aeronáutica. Também foram relacionados

estudos com preocupação na especificação de requisitos para sistemas de tempo reais (GOTZHEIN

et al., 1998) e especificações de requisitos de usabilidade em sistemas (MONTABERT et al.,

2005;2009) ou atrealados as atividades de um domínio (PEREDNIKAS, 2008). Em contra partida, a

abordagem aqui proposta proporciona a reutilização unitária de cada artefato, ou seja, cada

especificação de requisito é independente de um domínio e pode ser reutilizado onde o analista

julgar ser conviniente.

Outro aspecto que pode ser destacado, refere-se à forma de avaliação – que não foi realizada

em muitas pesquisas. Quando realizada, a forma também varia bastante, destacando-se a avaliação

através de estudo de caso.

No próximo Capítulo, é descrita em detalhes a abordagem proposta neste trabalho.

Page 81: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

76

4 ABORDAGEM DE REUSO DE REQUISITOS

Considerando o que foi apresentado e discutido nos Capítulos 2 e 3, apresenta-se neste

Capítulo a proposta de uma nova abordagem para apoiar a reutilização de requisitos. A partir do

estudo das abordagens existentes (analisados no Capítulo 3), percebeu-se que não há uma

abordagem de reuso de requisitos que forneça automaticamente sugestões de requisitos

reutilizáveis. Além disso, a junção de diferentes técnicas empregadas nas pesquisas pode dar origem

a uma nova abordagem.

Na Seção 4.1, é abordada uma visão geral da abordagem. Na Seção 4.2, são apresentados os

passos do processo proposto para adoção da abordagem. Os padrões de requisitos adotados são

apresentados na Seção 4.3. O catálogo de padrões é detalhado na Seção 4.4. A Seção 4.5 apresenta

o repositório utilizado na arquitetura da abordagem. Os mecanismos de sugestão de reuso são

definidos na Seção 4.6. Por fim, na Seção 4.7 é apresentada a ferramenta de apoio a abordagem.

4.1 VISÃO GERAL

Com a finalidade de criar uma abordagem que apoiasse a reutilização de requisitos e que

pudesse prover ao Engenheiro de Software uma forma de ajudá-lo na atividade de elicitação de

requisitos, a abordagem proposta foi concebida fundamentada em três pilares: (i) padrões de escritas

de requisitos (TORO et al., 1999; WITHALL, 2007); (ii) catálogo de padrões (WITHALL, 2007;

RENAULT et al., 2009a) e; (iii) rastreabilidade (von KNETHEN et al., 2002; DICK, 2002).

De modo amplo, os principais objetivos da abordagem de reuso de requisitos são:

1. Alavancar a atividade de elicitação de requisitos com a captura de requisitos mais

completos;

2. Ajudar o Engenheiro de Software com sugestões de requisitos, auxiliando na

obtenção de um conjunto de requisitos mais completo (contemplando as

funcionalidades do sistema em desenvolvimento);

3. Aumentar a compreensão da informação contida no requisito;

Page 82: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

77

4. Reusar o conhecimento sobre o atual contexto do domínio para ajudar tanto o

Engenheiro de Software como o Usuário do sistema a identificar possíveis

característica ainda não percebidas;

5. Prover mecanismos para encontrar requisitos utilizados em outros projetos do

mesmo contexto, como forma de se obter requisitos indiretamente;

6. Aumentar a qualidade de escrita dos requisitos identificados;

7. Aumentar a qualidade do documento de especificação de requisitos gerado pela fase

de engenharia de requisitos;

8. Diminuir o esforço na condução da atividade de elicitação de requisitos.

Para alcançar estes objetivos, a abordagem aqui proposta utiliza-se de diversos elementos,

elencados na Figura 6.

Figura 6 - Visão geral do processo da abordagem proposta.

Importante considerar as definições/objetivos dos elementos adotados no contexto desta

abordagem:

Usuários: compatilhando da mesma definição de Wiegers (2006), um usuário é

“qualquer pessoa ativamente envolvida no projeto, ou que pode influenciar o seu

Page 83: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

78

resultado”. Assim, o principal papel do usuário é de especificar as característica ou

necessidades.

Necessidades: corresponde ao desejo do usuário, sendo assim, a necessidade ou

característica esperada do sistema. A partir da necessidade são elaborados os requisitos

de usuário. Para identificar as necessidades e os requisitos de usuário recomenda-se a

utilização de algum método de elicitação de requisito.

Requisito de usuário: um requisito de usuário é uma declaração de alto nível de uma

necessidade do usuário. Posteriormente, estas definições de alto nível são refinadas em

um ou vários requisitos de sistema. Então, os requisitos de usuários para a abordagem

correspondem ao insumo para elaboração dos requisitos de sistema.

Requisito de sistema: concordando com o entendimento de Sommerville e Kotonya

(1998), requisito de sistema descreve como o sistema deverá se comportar, além de

informar sobre o domínio da aplicação ou restrições na operação do sistema.

Padrões de requisito: no contexto deste trabalho os padrões de requisitos tem o papel de

apoiar a abordagem estruturando e generalizando o conhecimento de escrita de um

determinado tipo de requisito. O emprego de padrões também é fundamental para

fornecer as sugestões de reuso. A Seção 4.3 apresenta em detalhes o padrão adotado.

Catálogo de padrões: o seu papel é de servir como guia para seleção dos padrões através

do agrupamento dos padrões por objetivo. Mais informações sobre o catálogo de padrões

utilizado na abordagem são apresentadas na Seção 4.4.

Repositório: local de armazenagem do conhecimento a ser reutilizado.

Requisito reutilizável: um requisito reutilizável é aquele que já foi analisado, revisado e

validado pelos interessados. Um requisito pode ser reutilizado quando o projeto no qual

ele foi elaborado inicialmente estiver marcado como compartilhado para reutilização.

Rastreabilidade: nesta abordagem a rastreabilidade é utilizada como uma forma de

identificar e comparar as necessidades dos sistemas novos com sistemas existentes e

sugerir novos requisitos, baseando-se em projetos armazenados no repositório. Cabe

Page 84: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

79

salientar que, a rastreabilidade entre requisitos de usuários e de sistema, como também, a

rastreabilidade entre requisitos funcionais e não funcionais deve ser cumprida para

prover esse mecanismo de reuso. Essa prática também é uma recomendação para um

bom processo de engenharia de requisitos em diversos modelos (STD 830-1998, 1998

p.4; YOUNG, 2006).

Documento de Especificações de Requisitos de Software (ERS): este documento dispõe

das declarações dos envolvidos (usuários) as quais devem ser implementadas

(SOMMERVILLE, 2007, p. 136). A seção principal do documento consiste no conjunto

de requisitos funcionais ou não funcionais e restrições derivadas dos requisitos de

usuário.

Esta abordagem observa o modelo de reutilização de software proposto por Krueger (1992)

que consiste em:

a) Abstração: característica essencial presente em todas as abordagens de reuso

(KRUEGER, 1992), trata da unidade para o reuso e o nível de abstração. Nesta

abordagem, a unidade de reuso é um requisito de sistema e o nível de abstração é

contemplado pelo emprego de padrões de requisito.

b) Seleção: método utilizado para reutilizar uma unidade de reuso. Na abordagem proposta

a reutilização deverá ocorrer a partir de sugestões, obtidas a partir do emprego de um

catálogo de requisitos e da rastreabilidade entre requisitos.

c) Adaptação: a adaptação é realizada em artefatos semelhantes que foram fundidos

(generalizados) em um único artefato, assim, gerando um artefato genérico, no qual

são instanciados e adaptados para reuso através de parâmetros. Na abordagem, a

adaptação é realizada a partir da instanciação de um padrão de requisito. Cabe dizer

que a adaptação é guiada por alguns elementos do padrão selecionado como, por

exemplo, templates e exemplos; e

d) Integração: relaciona como os componentes reutilizados serão integrados a um novo

projeto. Aqui, a integração é proporcionada pelo apoio de uma ferramenta

computacional, sendo os requisitos reutilizados integrados ao documento de

especificação de requisitos.

Page 85: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

80

4.2 PROCESSO DE REUTILIZAÇÃO DE REQUISITOS

Nesta seção, são apresentados os passos seguidos para a utilização da abordagem proposta.

Como estes conceitos (padrões de requisitos, catálogo de padrões e rastreabilidade) se relacionam

de forma a viabilizar o reuso? A Figura 7 apresenta o processo proposto demonstrando as

possibilidades de reuso e os mecanismos de sugestão de requisitos para reutilização.

Inicialmente, é importante considerar que o processo exposto deve ser realizado de forma

iterativa, ou seja, os requisitos de sistema devem ser adquiridos e especificados em vários ciclos até

que todos os requisitos do projeto estejam relacionados, gerando ao final deste processo o artefato

de documento de especificação de requisitos.

Sendo assim, o primeiro passo consiste na elicitação e especificação dos requisitos de usuário.

A elicitação dos requisitos de usuário pode ser executada utilizando qualquer técnica convencional.

A abordagem não faz nenhuma restrição à escolha e utilização das técnicas de elicitação

disponíveis. Algumas técnicas para realizar esta atividade são apresentadas por Zhang (2007).

Page 86: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

81

act Processo Geral

Informar requisitos deusuário

Adicionar maisrequisi tos

Uti lizar padrão?

Av aliar utilização dopadrão

Realizar busca nocatálogo de padrões

Sugestão de Reuso?

Definir requisito desistema a partir de

template

Definir requisito desistema

Verificar sugestões dereuso por padrão

Reusar?

Incorporar requisito aodocumento deespecificação

Definir modo de reuso

Tipo de reuso?

Adaptar requisitoreutilizado

Verificar sugestões dereuso por rastreabilidade

Reusar?

Verificar pornecessidades pendentesno escopo

Requisi tos escri tos a parti r deste passo não servirão de sugestão para o reuso.

Incluir requisito norepositório

[Não]

[Sim][Não]

[Não]

[Sim]

[Não]

[Sim]

[Não]

[Sim]

[Sim]

["Copiar" ou"Copiar_e_manter_l igação"]

[Comparti lhado]

[Sim]

[Não]

Figura 7 - Processo retratando a abordagem proposta.

Posteriormente, os requisitos de usuários são “transformados” em requisitos de sistema –

elementos que poderão ser reutilizados na abordagem proposta. Neste passo, pode-se optar por

utilizar ou não padrões para a definição dos requisitos de sistema, sendo que a não utilização leva ao

processo tradicional sem reuso. Ou seja, na abordagem proposta as sugestões de reuso ocorrerão a

partir da utilização de padrões.

Page 87: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

82

Desta forma, o analista deve buscar no catálogo de padrões um padrão que se adéque a sua

necessidade. Observa-se que nesta etapa, o catálogo de padrões tem o papel fundamental de guia e

facilitar a escolha de um padrão. A seleção de um padrão também é orientada por alguns elementos

que compõem o padrão, alguns exemplos desses elementos que fornecem essa orientação são:

objetivo, contexto, problema, forças e exemplos (detalhes na seção 4.3).

Assim, ao identificar o padrão, o analista pode criar um novo requisito a partir do template

proposto pelo padrão ou verificar as sugestões de reuso – neste caso, as sugestões ocorrem a partir

de requisitos de outros projetos compartilhados e que foram escritos com base no mesmo padrão

selecionado pelo analista.

Depois de selecionado o padrão, o mesmo é utilizado para definir o requisito de sistema a

partir do template oferecido pelo padrão. A definição do requisito a partir de um padrão consiste no

preenchimento de lacunas em um formulário de uma estrutura fixa, que expressa o requisito de

sistema. Como resultado, o analista obtém uma especificação de requisito que será incorporado ao

documento de especificação de requisito. Destaca-se que este requisito especificado na estrutura do

padrão poderá servir como ativo reutilizável em outros projetos (desde que o projeto deste “ativo

reutilizável” esteja compartilhado).

Por outro lado, uma vez que é identificado algum requisito para reutilização, deve-se optar

pelo modo de reuso:

a) Compartilhado: esse tipo de referência vincula o novo requisito com o requisito do

projeto original (no qual o requisito foi especificado inicialmente). Quando o requisito de

origem sofrer qualquer tipo de modificação a mesma será propagada aos requisitos

vinculados. Desta forma, este modo de reuso faz a reutilização da especificação de

requisito na sua totalidade, sendo vedada a adaptação do conteúdo do novo requisito.

b) Copiar e manter ligação: neste tipo de referência a especificação do requisito de origem é

copiada para o novo projeto mantendo o vínculo de referência ao requisito de origem, no

entanto, permitindo a adaptação do conteúdo do novo requisito. O objetivo deste modo de

reuso é manter o vínculo com o requisito original viabilizando uma comparação entre as

especificações, para que se possa aceitar ou não a propagação das alterações do requisito

original para o novo requisito.

Page 88: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

83

c) Copiar: neste tipo de referência a especificação do requisito de origem é copiada sem

manter nenhum tipo de vínculo de referência, sendo também possível a adaptação de seu

conteúdo.

Como pode ser observado, somente o modo de reuso “compartilhado” não permite a

adaptação do conteúdo (edição do requisito reutilizado), sendo que os demais modos não aplicam

nenhuma restrição. Porém, é conveniente ressaltar que a adaptação de um requisito reutilizado

conduz a perda dos benefícios promovidos pelo reuso.

Como próximo passo após a reutilização, a especificação do novo requisito é adicionada ao

documento de especificação. A partir da reutilização de um requisito, independentemente do tipo de

referência escolhida, é sugerido um novo conjunto de requisitos para reuso a partir dos vínculos de

rastreabilidade do requisito de origem. E, neste caso, o analista optando por reutilizar um requisito,

o procedimento é o mesmo já descrito – devendo optar um dos modos de reuso previstos.

No final deste ciclo, o analista poderá selecionar um novo requisito de usuário, ou o mesmo

se for o caso, para a especificação de outro requisito de sistema. Após a especificação de todos os

requisitos de sistema, o analista obtém um documento de ERS completo do projeto. Recomenda-se

que com este artefato faça-se uma validação dos requisitos junto aos stakeholders, e que todo o

processo de engenharia de requisitos seja mantido incluindo o gerenciamento de requisitos.

É mister ressaltar que existe a necessidade de realização de uma atividade de rastreabilidade

entre requisitos, pois, este é um dos pilares da abordagem. Entende-se que a sua falta, traria uma

redução considerável de sugestões de requisitos para reutilização.

Esta seção apresentou o processo de reutilização de requisito no qual consiste a abordagem. A

seção a seguir apresenta o padrão adotado pela abordagem.

4.3 PADRÃO DE ESCRITA DE REQUISITO DE SOFTWARE

Esta seção tem o objetivo de apresentar o “formulário padrão” para a escrita dos padrões que

irão compor o catálogo de padrões da abordagem aqui proposta.

Conforme apresentado na Seção 2.4, um padrão de requisito é um artefato que pode ser

utilizado durante a atividade de elicitação de requisitos (FRANCH et al., 2010), cuja a utilização

Page 89: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

84

promove a criação de bons artefatos de software ou engenharia (TSUMAKI, 2004). Visando

potencializar o reuso de requisitos, considerou-se importante haver um padrão que oriente a escrita

(redação) do requisito.

Neste sentido, a partir do mapeamento sistemático visando identificar os padrões para escrita

de requisitos disponíveis na literatura (descritos na seção 2.4), optou-se pelos padrões propostos por

Withall (2007), por serem considerados mais completos e detalhados, além de abranger padrões

para requisitos tanto funcionais como não funcionais.

Convém ressaltar que o objetivo dos padrões na abordagem é de estruturar o conhecimento

capturado para que ele possa ser armazenado e recuperado de um repositório. Além disso, os

padrões devem prover orientações para a escrita e seleção do requisito.

Ainda, para fortalecer e facilitar o emprego dos padrões, estes foram adaptados em uma nova

estrutura seguindo as orientações de Meszaros e Doble (1996) conforme retratado pela Figura 8 e,

portanto, para cada padrão foi definido:

- Nome do padrão: um nome pelo qual o padrão possa ser identificado, devendo

servir como referência do problema/solução (MESZAROS; DOBLE, 1996) e deve

também representar o contexto do padrão (WITHALL, 2007).

- Objetivo: este elemento deve indicar o objetivo do requisito em resolver um

problema. O objetivo é semelhante à força e tem de indicar o alvo individual

(TSUMAKI, 2004).

- Contexto: descreve uma situação no âmbito do projeto em que os problemas

ocorrem (WITHALL, 2007). Também tem o papel de revelar a importância relativa

das forças (MESZAROS; DOBLE, 1996).

- Problema: o campo problema serve para lembrar o leitor do problema que estão

tentando resolver. Segundo Tsumaki (2004), o problema tem várias causas, por isso

uma descrição do problema é composta por duas partes: a descrição geral do

problema e as causas do problema.

- Forças: este elemento fornece informações que devem ser consideradas ao escolher

uma solução para um problema.

Page 90: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

85

- Template: o template serve como ponto de partida para a escrita de um requisito,

também pode ser visto como o elemento “solução” que é normalmente encontrado

em uma linguagem de padrões. O conteúdo deste elemento é uma adaptação do que

foi apresentado em Withall (2007). O que difere a sua utilização entre esta

abordagem e a de Withall (2007), é que nesta abordagem ele está fortalecido por

uma estrutura que ajuda na seleção e orientação de como utilizá-lo.

- Exemplos: este elemento tem a finalidade de orientar com um ou mais exemplos a

utilização do padrão para especificação do requisito. Os exemplos utilizados partem

do preenchimento do elemento template.

ID - <id> <nome do padrão> Objetivo <objetivo do requisito> Contexto <contexto em que se apresenta o padrão> Problema <problema cujo padrão irá abordar> Forças <forças que atuam> Resumo <texto utilizando poucas palavras para resumir o requisito> Template <template correspondente ao padrão selecionado> Exemplos <exemplo de escrita do requisito utilizando o padrão>

Figura 8 - Modelo da estrutura do formulário padrão utilizado pela abordagem.

Para um melhor entendimento, a Figura 9 apresenta o padrão “Relatório” em seu formato

completo.

Nome: Relatório

Objetivo: Use o padrão de requisitos de relatório para definir um relatório que mostra as informações especificadas para o usuário.

Contexto: Um relatório é uma forma de apresentar informações muito parecida com uma consulta, de fato, então devemos começar por explicar a distinção. Uma consulta foi algo que você olhou na tela e um relatório trata de alguma coisa que você imprimiu em papel. Nada mais que isso. No entanto, a rolagem nos permite manipular grandes quantidades de informações na tela, e os relatórios são vistos cada vez mais na tela em vez de serem impressos. Esta é uma tendência que devemos incentivar, para reduzir o uso de papel, o desgaste das impressoras, o tempo de espera para impressão, e os riscos de segurança dos documentos de cair nas mãos erradas.

Quando você precisa mostrar alguma informação a um usuário, deve-se decidir se irá especificá-o como uma pesquisa ou como um relatório. Tomem a decisão sobre uma base racional sólida, e não de forma arbitrária, apenas porque alguém tinha um ou outro em mente. Os fatores a considerar são:

Fator 1: Quanta informação deve ser mostrada? Se for um único item (tais como detalhes de um cliente), uma consulta é mais adequada, se é uma quantidade ilimitada de informações, um relatório é preferível. Além disso, se você precisa mostrar muitas colunas de informações, um relatório poderia ser melhor.

Fator 2: Deseja interatividade? Os relatórios são passivos (pelo menos usando a tecnologia atual). Se quisermos ser capazes de mudar o que nós estamos olhando ou para navegar em outros lugares (como clicando sobre as coisas), devemos usar uma consulta. E se precisar de informações que sejam atualizáveis automaticamente na própria na tela, optar por uma consulta é o recomendável.

Page 91: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

86

Fator 3: Quantas vezes você precisa de uma cópia? Se for impresso com frequência opte por um relatório.

Fator 4: Quantas pessoas precisam ver isso? Você pode executar um relatório, enviá-lo para outras pessoas, quando se trata de informações confidenciais, neste caso uma consulta é menos confiável. Você também pode enviar um relatório para alguém que não tem acesso online ao seu sistema.

Fator 5: Você precisa ser capaz de salvar os resultados? Um relatório é mais passível de ser armazenado que uma consulta, no entanto, isso depende em parte da natureza da infraestrutura básica da interface do usuário. (Por exemplo, uma consulta exibida em uma página HTML pode ser salva.).

Fator 6: De onde a informação vem? Se não for de um banco de dados, um software gerador de relatório pode não ser capaz de lê-lo.

Fator 7: O quanto a informação é volátil? Se os dados mudam com frequência, uma cópia de um relatório vai se tornar rapidamente desatualizado, assim, tornando-se obsoleto.

Fator 8: Uma consulta ou um relatório, o que é mais barato de implementar? Normalmente, um relatório é a opção mais barata, isso ocorre porque ele geralmente é um produto gerado por uma ferramenta de design de relatório, o que facilita a criação de um novo relatório.

Se você receber respostas conflitantes a estas perguntas, considere a especificação tanto de uma consulta quanto de um relatório para a mesma informação.

Os relatórios necessários para sistemas quase sempre são especificados de forma inadequada, sem considerar os fatores citados anteriormente. A descoberta de funcionalides (necessidades) que são pertinentes ao sistema são difíceis de serem capturadas, então não é surpresa que haja pouco entusiasmo para realização desta tarefa. Com a mudança regular do ponto de vista de negócio, os relatórios de gestão, vendas, marketing e de outras áreas remotas de operações do dia-a-dia, frequentemente tornam-se voláteis. Então, não é possível capturar todos os requisitos de uma única vez. Mas, é recomendável buscar o máximo possível para obter-se uma ideia razoável do número de relatórios necessários. Uma maneira de fazer isto é examinando o seguinte:

1. As pessoas que possam estar interessadas em receber relatórios: este poderia ser um grupo muito mais amplo que aqueles que realmente usam o sistema: as pessoas do finançeiro, auditores, a gestão em todos os níveis, administradores de sistemas, gerentes de projeto (para as estatísticas de erros e de desempenho do sistema) e pessoas dos recursos humanos. Poderia incluir pessoas de fora da organização, tais como o governo e a indústria, clientes, agentes, fornecedores e outros parceiros de negócios. Pergunte a si mesmo quem pode ter um interesse legítimo em algum aspecto do que se passa no seu sistema.

2. As atividades necessárias para manter o negócio funcionando: para fins de relatórios, não se preocupe com as atividades tradicionais sobre o dia-a-dia, porque elas nunca podem ser negligenciadas. Preste atenção especial às atividades operacionais que envolvem a tomada de decisões, porque todas estas decisões são baseadas em informações de modo a tentar identificar qual a informação necessária e de que forma seria mais eficaz para isso.

3. As estratosferas estratégicas: que tipo de informações estatísticas predominantemente ajudaria as pessoas envolvidas no direcionamento do negócio (principalmente da alta administração e vendas e marketing)? É importante ter uma boa compreensão das expectativas das pessoas a este nível, porque a escala e a complexidade dos relatórios para que elas possam ter um impacto significativo sobre a dimensão global do sistema. Além disso, o processamento necessário para gerar tais relatórios poderia ser tão intenso que ele terá um impacto significativo no desempenho global do sistema; se um sistema de relatórios em separado for necessário para evitar isso, precisamos identificar isso o mais cedo possível e prever as implicações nos requisitos.

Não é aceitável escrever um requisito que abrange vários relatórios, especialmente se ele é aberto. Algo como "um conjunto completo de relatórios financeiros" ou "todos os relatórios exigidos pelo órgão regulador do governo" são na melhor das hipóteses uma dica que muita coisa está faltando e são inúteis como requisitos. Se os relatórios específicos não podem ser fixados, digamos assim, em texto informal, não é um requisito.

Preste atenção especial às ocasiões em que o relatório é especialmente importante (por exemplo os que devem ser gerados nos fins de meses, trimestres, exercício corrente ou exercícios anteriores). Não cometa o erro de fazer somente os relatórios do dia-a-dia corretamente e negligenciar relatórios frequentes de tarefas. Fique atento ao especificar necessidades “óbvias” de uma forma superficial, isso pode levar a relatórios que são de difícil controle na prática, os quais impõem carga extra de trabalho para os usuários durante suas atividades. Além disso, a tentativa de adicionar esses relatórios pouco antes deles serem necessários pode levar a descoberta de outras omissões subjacente ao sistema que não podem ser corrigidas a tempo.

Ao investigar porque o relatório é necessário, você irá reunir muitas informações valiosas sobre quem deve recebê-los, quantas vezes, quantas cópias, quanto tempo eles devem ser retidos, e assim por diante. Este trabalho não faz parte do requisito, porque eles são aspectos passíveis de mudanças e você deve exigir um sistema no qual eles possam ser alterados a qualquer momento. No entanto, guarde essas informações para usá-las na hora de realizar as configurações iniciais do sistema. Decisões concretas sobre a produção e distribuição de relatórios devem ser feitas no período que antecede a instalação do sistema, estes sendo mais oportunos de serem tomados na etapa de teste do sistema. Se possível, permita que os usuários experimentem o sistema na etapa de teste, para que eles possam familiarizar-se com ele. Eles podem refinar o relatório e decidir sobre questões operacionais naquele momento.

Algumas organizações imprimem relatórios regularmente para arquivamento físico ou para cópias eletrônicas para que possam ser consultados mais

Page 92: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

87

tarde como um último recurso. Isto sugere que o sistema em si não é adequado e confiável. Projetando sistemas melhores diminuiria esse papel para os relatórios, de forma que reduziria a necessidade deste tipo de relatórios. Desta forma, se você estiver especificando um sistema substituto, mantenha os olhos abertos para este tipo de relatório.

Problema: Como especificar um requisito para definir um relatório?

Forças:

Definição dos aspectos sobre relatórios; A intenção de negócio do relatório; As informações que serão exibidas no relatório; Critérios para seleção; Detalhes referentes à execução (automática ou manual); Níveis de totalização; e etc.

Template:

Resumo Definição Relatório <<nome do relatório>>

Deve haver um relatório que mostre <<informações a serem exibidas>> <<critério de seleção>> ordenadas por <<sequência de ordenação>>. O objetivo deste relatório é a <<intenção do negócio>>.

Para cada <<nome do tipo de item>>, o relatório deve mostrar o seguinte: <<nome do valor 1 >>. <<nome do valor 2 >>. …

(Os itens a serem exibidos podem ser especificados por enquadrar em qualquer dos seguintes critérios de seleção: <<critério de seleção 1 >>. <<critério de seleção 2 >>. …)

Os totais devem ser mostrados para <<níveis de totalização>>. (Uma nova página deve ser iniciada por <<níveis de páginas>>)

(O relatório destina-se a ser executado automaticamente <<detalhe da execução automática>>)

Exemplos:

Resumo Definição Relatório cambial Deve haver um relatório que mostre todos os negócios feitos no câmbio de um período selecionado ordenadas por data

de processamento. O objetivo deste relatório é a movimentação do câmbio de um determinado período.

Para cada moeda estrangeira, o relatório deve mostrar o seguinte: Tipo do negócio; Montante do negócio (incluindo a moeda); Data e hora; Taxa de câmbio; Nome da organização com o qual a operação foi realizada.

Os itens a serem exibidos podem ser especificados por enquadrar em qualquer dos seguintes critérios de seleção: Período selecionado.

Os totais devem ser mostrados para cada organização.

Figura 9 - Exemplo do padrão Relatório. Fonte: Adaptado de Withall (2007).

Esta seção apresentou o “formulário padrão” proposto pela abordagem para a escrita dos

padrões de requisitos. A seção a seguir apresenta o catálogo de padrões que apóia a abordagem

proposta.

Page 93: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

88

4.4 CATÁLAGO DE PADRÕES DE REQUISITOS

O problema tratado pelo catálogo de padrões envolve soluções que objetivam facilitar a

localização e seleção de um determinado padrão (MENDEZ-BONILLA et al., 2008) permitindo

demonstrar um pouco mais sobre a natureza dos padrões (WITHALL, 2007).

De fato, um catálogo de padrões é uma coleção de padrões que estão relacionados, a sua

utilização pode ser feita individualmente ou em conjunto para resolver um problema (WINN;

CALDER, 2002; WITHALL, 2007; FRANCH et al., 2010).

Pode-se dizer que a instanciação de padrão cria um elemento que irá comportar uma parte do

projeto de software, no entanto, um projeto completo incluirá muitas instâncias de diversos padrões,

estes compostos de várias maneiras. Assim, cada novo elemento do projeto será o resultado da

instância de um padrão apropriado selecionado de um catálogo.

Neste sentido, um catálogo foi desenvolvido contemplando os 37 padrões propostos por

Withall (2007), organizados em 6 domínios distintos, conforme retratado pela Figura 10

(procurando conciliar os domínios propostos por Withall (2007) e a norma IEEE Std 830-1998

(1998)), sendo eles: Lógicos de base de dados, Interfaces externas, Atributos do sistema,

Funcionais, Restrições de projeto e Desempenho.

Além disso, vale observa-se que catálago foi adaptado de Withall (2007) utilizando todos os

padrões nele retratado. No entanto, foram feita adaptações no sentido de facilitar a sua seleção e

entendimento. As modificações foram feitas na estrutura do padrão adicionando os elementos

“forças” e “problema”. As orientações das seções “detalhes básicos”, “aplicação” e “discussão” dos

padrões de Withall (2007) foram redistribuídas nos elementos “objetivo” e “contexto” na estrutura

proposta de padrões pela abordagem aqui apresentada.

Cabe ressaltar que o relacionamento indicado no catálogo corresponde ao relacionamento

entre os padrões, não sendo entre os domínios. Sendo assim, o relacionamento entre os padrões visa

fornecer orientações de padrões adicionais de forma a complementar um requisito. Essa orientação

é necessária porque em muitas situações, um padrão de requisito não é suficiente para orientar em

tudo o que é necessário para a declaração do requisito (WITHALL, 2007).

Page 94: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

89

O catálogo completo com os padrões pode ser visualizado no site do projeto9. O

relacionamento entre os padrões está detalhado no Apêndice C, e o detalhamento de cada padrão

focando somente no campo template (devido à limitação de espaço) está descrito no Anexo A.

9 http://www.studiodesigner.com.br/mestrado/sers/catalogo

Page 95: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

90

Figura 10 - Catálogo de padrões de requisitos utilizado na abordagem.

Page 96: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

91

4.5 REPOSITÓRIO

Conforme relatado em Marinho et al. (2003) e Hagge et al. (2005b), um repositório de

padrões permite o armazenamento de boas práticas de engenharia de requisitos e promove

mecanismos para facilitar a busca e aplicação desses padrões. Quanto ao acesso, deve ser garantido

a todos os desenvolvedores ligados ao repositório, proporcionando métodos para pesquisa e

manutenção, objetivando o seu reuso (PFAFFENSELLER et al., 2001).

Neste sentido, o repositório (considerando o contexto da abordagem proposta) armazena

dados relacionados a:

Projetos: contempla informações referentes a todos os projetos, armazenando informações

como, por exemplo, nome do projeto, descrição, nome da empresa, nome do responsável

pelo projeto, data de criação e interessados;

Usuários: corresponde tanto a informações relacionadas aos analistas dos projetos, quanto

aos interessados (envolvidos), armazenando dados como, por exemplo, nome, perfil,

email e senha;

Requisitos: envolve todos os tipos de requisitos abordados, a citar: (i) requisitos de

usuário; (ii) requisitos de sistema, contemplando requisitos funcionais e não funcionais.

Importante, considerar que, caso o requisito seja descrito a partir de um padrão, este deve

ser identificado. Assim, contemplando dados como a descrição breve e detalhada do

requisito, usuário que especificou o requisito, tipo do requisito, importância, urgência e

versão;

Padrões: corresponde a informações dos padrões de requisitos, armazenando informações

como, por exemplo, nome do padrão, objetivo do padrão, contexto, problema, forças,

exemplos e categoria do padrão. Observar-se que os padrões estão relacionados a uma

categoria ao qual ele se aplica (a citar: lógicos de base de dados, interfaces externas,

atributos do sistema, funcionais, restrições de projeto e desempenho), conforme descrito

na seção 4.4.

Rastreabilidade: envolve todas as informações de rastreabilidade entre os requisitos. A

rastreabilidade será promovida entre os requisitos funcionais e requisitos não funcionais.

Page 97: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

92

4.6 MECANISMOS DE APOIO AO REUSO

A abordagem proposta neste trabalho prevê dois mecanismos de apoio à reutilização de

requisitos, sendo: padrões de requisitos e rastreabilidade.

Como primeiro mecanismo, destaca-se as sugestões de reuso a partir da seleção do padrão.

Ou seja, quando o analista seleciona um padrão para utilização, buscam-se sugestões de

especificações de requisitos de projetos anteriores que utilizaram o padrão selecionado. Por

exemplo, o analista seleciona o padrão de requisito de documentação para especificar um requisito,

em seguida, é possível resgatar do repositório especificações de requisitos de outros projetos que

fizeram uso deste padrão.

A partir da reutilização de um requisito (por sugestão de reuso a partir do padrão de requisito

selecionado), o segundo mecanismo de apoio fornece sugestões de reuso a partir do elo de

rastreabilidade. Assim, a técnica de rastreabilidade é utilizada nesta abordagem como um

mecanismo de apoio a reutilização de especificações de requisitos. O objetivo é aumentar o grau de

reutilização utilizando a rastreabilidade entre requisitos como uma forma de identificar outros

requisitos para um sistema novo a partir de sugestões de requisitos localizados pela rastreabilidade

entre requisitos em projetos anteriores. Cabe aqui mencionar, que as sugestões de reuso baseadas na

rastreabilidade só são possíveis a partir de um requisito já previamente reutilizado. Isso quer dizer,

que não é possível localizar outros requisitos pelo vínculo de rastreabilidade sem uma seleção de

um requisito sugestionado pela escolha de um padrão de requisito.

Para um melhor entendimento, observe o exemplo retratado na Tabela 11. O requisito

funcional RF02 está vinculado aos requisitos não funcionais RNF03, RNF06 e RNF09 pela

rastreabilidade de RF x RNF. No mecanismo de reuso a partir da rastreabilidade, se o RF02 for

selecionado para reutilização ou adaptação em um novo projeto, os requisitos não funcionais a este

relacionados serão sugeridos como requisitos com probabilidade de reuso neste novo projeto.

Page 98: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

93

Tabela 11 - Exemplo de sugestão de reuso pela rastreabilidade.

RN

F01

RN

F02

RN

F03

RN

F04

RN

F05

RN

F06

RN

F07

RN

F08

RN

F09

RN

F10

...

...

RN

Fn

RF01 x RF02 x x x RF03 x x ... RFn x x x

Observa-se que para registro dos elos de rastreabilidade serão somente considerados

relacionamentos do tipo de dependência, os quais indicam que requisitos dependem uns dos outros

por restrições de recursos, competência ou compatibilidade (SPANOUDAKIS; ZISMAN, 2005).

Visando exemplificar a dinâmica dos mecanismos de reuso da abordagem, supõe-se que seja

necessário definir um requisito que especifica o cálculo do valor do frete para o envio de

mercadoria. Empregando a abordagem, o analista realiza busca no catálogo para selecionar o padrão

adequado para escrita, neste caso, o padrão “Fórmula de Cálculo” (conforme ilustrado na Figura

11A).

Neste momento, o analista pode optar por utilizar o padrão como ponto de partida para escrita

do requisito ou selecionar algum dos requisitos sugeridos a partir do padrão selecionado, devendo

ao final o requisito deve ser definido como consta na Figura 11B.

Resumo Definição Determinação do <<nome do valor>>

<<descrição do valor>> deve ser determinado da seguinte forma:

1. <<descrição do passo 1>> 2. <<descrição do passo 2>> 3. ...

(<<limitações de aplicabilidade>>) (<<referência>>) (Por exemplo, <<exemplo>>)

A

Resumo Definição Determinação do valor do frete

O frete deve ser determinado da seguinte forma: 1. calcula-se o valor do peso total da compra; 2. calcula-se o valor total da compra (valor

declarado); 3. com base no peso total calculado,

seleciona-se o valor correspondente “peso/destino” na tabela de preços do sedex fornecida pelos correios.

Limite máximo para declaração de valor: R$ 10.000,00. Referência do cálculo: tabela de valores do sedex. Por exemplo, peso total da compra é de 1kg, o valor da compra é de R$ 450,00, o destino é interior de Goiás. Para esta compra o valor do frete é de R$ 30,80.

B

Figura 11 - Exemplos de utilização de um padrão.

Page 99: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

94

Caso o analista opte por selecionar uma opção sugerida para reuso (que utiliza o padrão

“Fórmula de Cálculo” e tem relação com frete), então os mecanismos de apoio ao reuso baseado no

vínculo de rastreabilidade poderá sugerir requisitos como os relacionados na Figura 12.

Resumo Definição Tipo de dados para peso de mercadoria

O peso da mercadoria, que são utilizados para cálculo do frete, deve ser do tipo double.

Tempo de resposta para as transações

Cada função de atendimento ao cliente (buscas, carrinho de compras, cálculo do frete, cadastro de cliente, e etc) deve ter um tempo de resposta não superior a 4 segundos, a partir da correta entrada de dados (quando se utiliza configuração mínima exigida pelo sistema). Este valor é baseado em indicativos de testes anedóticos que os usuários começam a perder a paciência logo após esse tempo.

Figura 12 - Exemplo de sugestões de reuso a partir da rastreabilidade.

4.7 FERRAMENTA DE APOIO

Diversos autores (YOUNG, 2004; WIEGERS, 2006) recomendam o apoio de ferramentas

para automatizar e gerenciar o processo de Engenharia de Requisitos. Neste ponto, destaca-se que o

apoio automatizado ao processo proposto, na forma de uma ferramenta computacional, é essencial

para viabilizar a implantação da abordagem.

De fato, a reutilização informal é possível, mas existem muitas vantagens em apoiar-se em

uma ferramenta computacional para realização de um processo de reuso (JOHNSON; HARRIS,

1991), pois uma ferramenta computacional disponibiliza mecanismos que facilitam o acesso,

identificação, seleção e entendimento do elemento reutilizável armazenado no repositório. No

entanto, há poucas ferramentas disponíveis atualmente que suportem o reuso de requisitos e, dentre

as existentes (conforme analisado na Seção 2.2.3 ), na maioria dos casos, o reuso ocorre a partir da

identificação do requisito a ser reutilizado pelo próprio usuário, sem nenhuma abordagem de apoio

a esta busca. Estudos atuais como o de Alves et al. (2010), indicam a necessidade de

desenvolvimento de ferramentas de apoio para linha de produtos de software, apontando carência de

soluções automatizadas para análise de requisitos de natureza textual. Além disso, técnicas para

recuperação, adaptação e consolidação de requisitos reutilizáveis têm recebido pouca atenção em

comparação a reutilização de software (LAMSWEERDE, 2000).

Assim, a ferramenta SERS (Sistema para Especificação de Requisitos de Software) é uma

ferramenta destinada a apoiar a elicitação e documentação de requisitos de software implementando

a abordagem aqui descrita.

Page 100: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

95

4.7.1 Funcionalidades

De maneira geral, as principais funcionalidades da ferramenta podem ser divididas em 2

grupos:

Funcionalidades básicas – inerentes a qualquer ferramenta da área de requisitos de

software, a citar: (a) cadastro de usuário; (b) cadastro de projeto; (c) cadastro de

interessados; (d) cadastro das seções do documento de especificação de requisitos; (e)

cadastro de requisito de usuário; (f) cadastro de requisito de sistema; (g) rastreabilidade

entre requisitos; e (h) impressão do documento de especificação de requisitos.

Funcionalidades de apoio ao reuso – constituem o diferencial da ferramenta: (a) busca,

seleção e aplicação de padrões de requisito; (b) sugestão de requisitos para reuso baseado

em um padrão de requisito; e (c) sugestão de requisitos para reuso baseado nos vínculos

de rastreabilidade.

Focando nas funcionalidades que promovem o mecanismo de reuso da ferramenta, a Figura

13a ilustra a busca por um padrão (que pode ser feito por palavra-chave, selecionando uma

categoria ou por tipo de requisito) – o resultado da busca está retratado na Figura 13b. Ao escolher

um padrão, é apresentado ao usuário um detalhamento do mesmo (contemplando objetivo,

problema, contexto, forças, exemplo de utilização e template), permitindo ao usuário selecionar o

padrão para uso (Figura 13c). Caso o usuário já conheça o padrão, a seleção pode ser realizada a

partir da lista da Figura 13b.

Page 101: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

96

Figura 13 - Interface de busca e seleção dos padrões.

Uma vez selecionado um padrão, o sistema apresenta a tela para cadastro de requisitos de

sistema, apresentando no campo de descrição o template do padrão selecionado (Figura 14a). Nesta

mesma interface, havendo requisitos para reusar, é apresentado o alerta ao usuário (Figura 14b).

Acessando a aba “Sugestões de reuso” o usuário encontra uma lista de requisitos de sistemas

(Figura 14c) que podem ser selecionados para: (i) reutilização compartilhada; (ii) copiar e manter

ligação; e (iii) copiar (os comportamentos previstos em cada caso estão descritos na seção 4.2)

Page 102: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

97

Figura 14 - Interface de “Sugestão de Reuso” baseado no padrão selecionado.

Esse mecanismo faz sugestões de requisitos baseado nos requisitos especificados a partir do

padrão selecionado pelo usuário. Por exemplo, o usuário seleciona o padrão de requisito de

documentação, a partir daí, é possível resgatar do repositório especificações de requisitos de outros

projetos que fizeram uso deste mesmo padrão.

Por fim, quando um requisito é reutilizado o mesmo é inserido automaticamente na lista de

requisitos de sistema do projeto atual (Figura 15a). No entanto, se o requisito reutilizado possui

algum vínculo (rastreabilidade) no projeto original, estes requisitos vinculados também serão

sugeridos, consistindo assim em outro mecanismo para apoio ao reuso (conforme alerta ilustrado na

Figura 15b), exibindo mais uma lista de requisitos candidatos ao reuso (Figura 15c). Por exemplo, o

usuário reutiliza um requisito que trata do “registro de pagamento de locação”, a partir daí, é

possível sugerir os requisitos vinculados a este, como “taxa de atraso na devolução da locação”,

“verificação de permissões de acesso”, “tempo de resposta”, “acessibilidade”, dentre outros.

Neste sentido, a ferramenta SERS tem um papel muito importante na abordagem, pois,

oferece interfaces para busca, seleção e aplicação dos padrões de requisitos. Como também, auxilia

com interfaces de sinalização das sugestões de reuso, tanto nas baseadas nos padrões como nas de

vínculos de rastreabilidade.

Page 103: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

98

Uma limitação presente na primeira versão desta ferramenta está relacionada às sugestões de

rastreabilidade. Como pode ser observado na Figura 15c as sugestões de reuso partem de um RF

para RNF. Em uma próxima versão pretende-se implementar a possibilidade de relacionamento

entre requisitos independentemente do enquadramento do requisito (funcional ou não funcional).

Com esta melhoria, espera-se a ampliação das sugestões de requisitos. Outra limitação refere-se a

possibilidade de manutenção dos padrões, os quais são fixos na versão atual da ferramenta. No

entanto, espera-se disponibilizar opções de personalização e adição de padrões para uso individual,

como também, espaços como Web Wiki ou fóruns para discussão de possíveis padrões para agregar

ao catálogo.

Figura 15 - Interface de "Sugestão de Reuso" baseado na rastreabilidade.

Esta seção apresentou a ferramenta de apoio à abordagem, mais detalhes sobre o projeto da

ferramenta são apresentados no Apêndice H. Uma avaliação da percepção de uso da ferramenta foi

realizada e seus resultados são discutidos na seção 5.1.4.2.

4.8 CONSIDERAÇÕES DO CAPÍTULO

Neste capítulo foi apresentada a abordagem de reuso de requisitos visando apoiar a atividade

de elicitação e especificação de requisitos. A abordagem está fundamentada em três pilares, estes

sendo: padrões de requisito, catálogo de padrões e rastreabilidade. Esta abordagem de reuso de

Page 104: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

99

requisitos utiliza dois mecanismos de sugestões de reuso de requisitos: (i) na seleção do padrão,

onde as sugestões partem de requisitos que foram especificados utilizando um padrão selecionado, e

(ii) pelo vínculo de rastreabilidade, em que as sugestões emergem dos requisitos rastreados dos

requisitos já reutilizados.

A aplicação desta abordagem de reuso tem como objetivo auxiliar o analista na etapa de

elicitação de requisitos através de sugestões de requisitos que possivelmente ajudariam a identificar

outros requisitos relacionados a partir do histórico de projetos similares. Este aspecto contribui

evitando esquecimento de funcionalides e apoiando o analista com pouco conhecimento sobre o

domínio. Além disso, também auxilia na condução da especificação do requisito (escrita) utilizando

templates fornecidos a partir de padrões de requisitos.

Os padrões de requisitos são oriundos do catálogo proposto por Withall (2007), este adotado

por ser considerado mais completo e detalhado (conforme resultado de um mapeamento sistemático

realizado para este fim). No entanto, o catálogo de Withall (2007) foi reclassificado procurando

conciliar os seus domínios com as observações da norma IEEE Std 830-1998 (1998). Além disso,

os padrões foram organizados dentro de uma estrutura com o objetivo de facilitar a sua busca e

seleção.

Também foi apresentado um processo para reutilização de requisitos, composto por atividades

que devem ser realizadas de forma iterativa para o desenvolvimento do documento de especificação

de requisitos. Este processo descreve como se relacionam os conceitos envolvidos e como é

viabilizado o reuso. Além disso, também foi apresentada a estrutura do repositório utilizado pela

abordagem para armazenamento do conhecimento.

E por fim, é apresentada a ferramenta baseada em web denomida SERS que presta apoio a

abordagem aqui proposta, implementando as funcionalidades básicas de uma ferramenta da área de

engenharia de requisitos e as funcionalides de apoio ao reuso.

No próximo capítulo são apresentados os estudos executados para avaliar a aplicação da

abordagem aqui proposta.

Page 105: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

100

5 AVALIAÇÃO DA ABORDAGEM

Este capítulo apresenta o detalhamento das avaliações realizadas da abordagem, bem como

os resultados obtidos. A primeira trata de um quase-experimento que foi realizado no meio

acadêmico visando verificar e coletar dados para análise quantitativa da abordagem. Aproveitou-se

a oportunidade e também foi realizada uma avaliação da ferramenta de apoio. Assim, através da

proposta de desenvolvimento de estudos de caso, buscou-se identificar se a abordagem atingiu o

objetivo proposto de tornar mais eficiente e eficaz a atividade de elicitação de requisitos de

software.

Além dessas avaliações, este capítulo também apresenta uma avaliação qualitativa guiada

pelo método GQM (Goal-Question-Metrics) (BASILI et al., 1994), sob o ponto de vista de

especialistas, com o objetivo de se obter mais indicadores da viabilidade de aplicação da

abordagem.

Neste sentido, este capítulo tem o caráter de detalhar o planejamento, condução e análise dos

resultados das avaliações realizadas da abordagem proposta no capítulo 4 .

5.1 QUASE-EXPERIMENTO

Em relação aos seus objetivos, a avaliação visou verificar se a abordagem de reuso proposta

realmente torna mais eficiente e eficaz a atividade de elicitação de requisitos, em relação à execução

desta atividade sem o apoio da abordagem. Trata-se de um quase experimento por não utilizar uma

distribuição aleatória dos participantes.

5.1.1 Planejamento

O planejamento completo do quase-experimento foi realizado adaptando-se uma instância do

framework desenvolvido por Kochanski (2009), que se encontra no Apêndice I. No entanto, esta

seção apresenta algumas informações relevantes para o entendimento do quase-experimento.

Cabe salientar que o planejamento do quase-experimento prevê o envolvimento de dois

grupos (controle e experimental), sendo que ambos realizaram atividades envolvendo a elicitação e

documentação de requisitos a partir de 2 estudos de caso distintos.

Page 106: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

101

O primeiro estudo de caso é apresentado no Apêndice D e trata de um projeto de loja virtual

para uma livraria. O segundo estudo de caso é apresentado no Apêndice E descrevendo um projeto

de uma locadora de veículos. O modelo de correção para o primeiro estudo de caso encontra-se no

Apêndice F e para o segundo estudo a correção é orientada pelo modelo retratado no Apêndice G.

Convém ressaltar que os modelos de correções foram revisados por um professor de Engenharia de

Software (este não participante do estudo).

Ressalta-se também que para viabilizar o reuso se faz necessária a existência de projetos

compartilhados. Assim, foram cadastrados projetos (e compartilhados) de domínios semelhantes aos

estudos de caso propostos, estes sendo oriundos de trabalhos de conclusão de curso (TCC) e

propostas de estudos de caso de cursos relacionados à área de computação (disponíveis em FALBO,

2011; FGSYS, 2010; MAGALHÃES et al., 2008).

5.1.2 Execução do Experimento Piloto

Antes de realizar a experimentação, optou-se em conduzir um experimento piloto com o

objetivo de identificar possíveis problemas os quais viessem a prejudicar a avaliação. Esse

experimento foi realizado com dois acadêmicos do curso de Ciência da Computação, ambos

colaboradores do laboratório L2S da UNIVALI. Os participantes apresentam o mesmo perfil, como

programadores com pelos menos 3 anos de experiência e conhecimento sobre as atividades e etapas

da engenharia de requisitos. O cenário de utilização foi o mesmo empregado ao grupo experimental,

sendo ministrada uma aula sobre os assuntos inerentes a abordagem e aplicação do estudo de caso

para elaboração do documento de especificação de requisitos utilizando a ferramenta de apoio. O

experimento foi realizado no laboratório de informática da UNIVALI, tendo um tempo total de 3

horas na sua execução.

Em resumo, o Quadro 4 apresenta em um âmbito geral as dificuldades observadas e as

adequações realizadas.

Quadro 4 - Resumo das observações e adequações do experimento piloto.

Dificuldade encontrada Adequação realizada

Problema de desempenho da ferramenta. Optou-se pela instalação da ferramenta de apoio em pelo menos dois servidores na rede local. Essa medida foi tomada porque em testes realizados na ferramenta fora da universidade, a ferramenta apresentou um desempenho

Page 107: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

102

satisfatório e suficiente. Cabe dizer que houve contato com o administrador da rede na ocasião, sendo confirmada a suspeita de que havia problemas com acesso a rede externa (internet) nos dias precedentes ao experimento.

Um dos participantes não tinha uma visão clara sobre a diferença entre requisito de usuário e requisito de sistema (houve necessidade de explicação adicional ao conteúdo ministrado antes do experimento).

Foram feitas adequações nos slides de revisão no tópico de engenharia de requisitos, dando foco em mais exemplos didáticos.

Tamanho do estudo de caso: talvez os participantes não consigam realizá-lo por completo.

Foi realizada uma redução do escopo dos estudos de caso propostos, porém vale enfatizar que ambos passaram por nova revisão para verificar possíveis inconsistências.

Dificuldade na seleção do padrão mais adequado para aplicação em um requisito (provavelmente ocorrido em virtude do pouco conteúdo ministrado sobre os padrões).

Foi feita adequação do conteúdo apresentado nos slides sobre padrões, optando pela adição de mais exemplos demonstrativos de sua aplicação.

Alguns artefatos do conjunto de dados do repositório de conhecimento para reuso apresentavam erros de escrita.

Foi realizada uma revisão ortográfica no texto dos artefatos destinados para a base de reuso visando corrigir erros.

5.1.3 Execução

Participaram do quase-experimento 24 acadêmicos da disciplina de Engenharia de Software,

do 5º período do curso de graduação em Ciências da Computação da Univali/Campus de Itajaí,

vinculados às aulas e atividades referentes ao conteúdo de Engenharia de Requisitos ministrado na

disciplina.

Para a realização do quase-experimento, optou-se em dividi-lo em duas etapas, conforme

processo exposto na Figura 16. Antes da primeira etapa, foi ministrada uma aula introdutória (3hs)

sobre engenharia de requisitos, abordando as etapas básicas do processo (elicitação, análise,

documentação e validação), bem como definição de requisitos e tipos (de usuário e de sistema –

funcional e não funcional) uma semana antes do experimento.

No dia da realização do quase-experimento, inicialmente foi explicado a todos os

participantes os objetivos e a importância do experimento e a sua livre participação, e, a partir daí,

deu-se início a primeira etapa. Como primeiro passo, todos os participantes participaram de uma

aula sobre os padrões de requisitos e uma revisão superficial sobre especificação de requisitos,

Page 108: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

103

sendo essa revisão aplicada como apoio necessário identificado pelo experimento piloto. Logo após,

foi apresentada a todos os participantes a ferramenta de apoio à abordagem em seu modo

standard10.

Figura 16 - Etapas do processo seguido na avaliação da abordagem.

Após este momento, os participantes assinaram o termo de concordância do Apêndice J e

preencheram o questionário de perfil do Apêndice K. Em um próximo momento foi realizado o

sorteio para divisão dos participantes em grupos e equipes. O sorteio foi realizado com cada

participante retirando um papel que estabelecia identificadores como A1, A2, A3, B1, B2 e B3.

Havia dois papéis de cada identificador (formando a dupla), sendo que os identificadores “A”

compuseram o grupo experimental e o identificador “B” o grupo de controle. Assim, obteve-se seis

equipes de dois participantes para cada grupo.

Quanto ao perfil dos participantes em relação a sua atuação profissional (conforme retratada

pela Figura 17), percebe-se que o maior número é composto por programadores, com um percentual

de 36%. Em seguida, são participantes com experiência na área de suporte com 24%, os indivíduos 10 Standard aqui refere-se as funcionalidades básicas da ferramenta de apoio, ou seja, foram suprimidas as funcionalidades de seleção/aplicação dos padrões e todos os mecanismo de sugestão de reuso.

Page 109: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

104

com nenhuma experiência somam 20%, analistas e outros com percentual de 8% e testadores com

percentual de 4%.

Figura 17 - Perfil dos participantes.

A Figura 18 retrata a análise sobre o conhecimento dos participantes em relação ao

conhecimento em engenharia de requisitos obtida a partir do questionário de perfil dos participantes

(disponível no Apêndice K). Para responder a esta questão (questão 4 do Apêndice K) os

participantes deveriam apontar um valor de 0 a 6 para mensurar seu conhecimento atual em

engenharia de requisitos, sendo 0 para “nenhum”, 1 para “Tenho pouco conhecimento do assunto”,

2 para “Conheço o básico”, 3 para “Aplico na prática como dependência de outros”, 4 para “Aplico

na prática sem dependência de outros”, 5 para “Tenho bastante conhecimento do assunto” e 6 para

“Sei tudo sobre o assunto”. Aqui nota-se que o conhecimento dos participantes do grupo

experimental é muito próximo do grupo de controle.

0

0,5

1

1,5

2

2,5

3

3,5

Grupo Experimental Grupo Controle

Nív

el d

e co

nhec

imen

to

Análise sobre o conhecimento atual dos participantes em Engenharia de Requisitos

Figura 18 - Análise do conhecimento dos participantes.

Page 110: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

105

O gráfico boxplots ilustrado na Figura 19 apresenta mais detalhes da representação da

distribuição dos grupos em relação ao nível de conhecimento em engenharia de requisitos (referente

à questão 4 do Apêndice K). Este gráfico proporciona a comparação dos grupos e ao mesmo tempo

as medidas de centralidade (média/mediana) e de dispersão (desvio padrão/variância). Percebe-se

que os valores da mediana, primeiro e terceiro quartil, são os mesmos em ambos os grupos, assim,

mesmo havendo participantes no limite superior e inferior do grupo de controle não existem

discrepância, sendo que os mesmos estão dentro dos limites. Contudo, foi realizado um teste não

paramétrico Chi-Square com auxilio da ferramenta SPSS (SPSS, 2011) para verificar se o nível de

conhecimento em engenharia de requisito entre os grupos apresentava diferença. Por sua vez, o

resultado do teste demonstrou que os grupos de participantes não apresentavam diferença

significativa em relação ao seu conhecimento em engenharia de requisitos (p = 0,530). Optou-se por

este teste por se basear na comparação da frequência observada na amostra com as frequências

esperadas (ESTEVES; SOUZA, 2007, p.67).

Figura 19 - Gráfico da representação do conhecimento dos grupos.

Na segunda parte do quase-experimento, o grupo B (controle) foi deslocado para outro

laboratório com a supervisão de outro pesquisador, o grupo A (experimental) continuou no mesmo

laboratório e recebeu mais um tratamento, sendo que 25 minutos foram gastos na apresentação das

Page 111: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

106

demais funcionalidades da ferramenta e explanações sobre os mecanismos de reuso. O tempo médio

para realização do experimento em ambos os grupos foi de aproximadamente 110 minutos.

Seguindo a sequência planejada para o quase-experimento, os participantes receberam um

estudo de caso no qual deveriam localizar requisitos funcionais e não funcionais. A quantidade de

estudos de caso foi distribuída de forma equânime entre os grupos, ou seja, 3 grupos dos 6

utilizaram o estudo de caso do projeto de e-commerce e os outros 3 grupos utilizaram o estudo de

caso da locadora de veículos, isso em cada grupo (experimental e controle), assim, totalizando 12

projetos.

Sendo assim, o próximo passo da experimentação foi gerar a especificação de requisitos

para o estudo de caso com o auxílio da ferramenta de apoio. No caso do grupo de controle, a

aplicação dos templates dos padrões foi realizada de forma ad-hoc, ou seja, foi disponibilizado um

link11 para que o catálogo dos padrões pudesse ser consultado para sua utilização (tal procedimento

teve como objetivo comparar apenas os benefícios do reuso, sem considerar o benefício do uso dos

padrões). Já os participantes do grupo experimental utilizaram todas as funcionalidades da

ferramenta, beneficiando-se das sugestões de reuso de requisitos de projetos já previamente

cadastrados no repositório da ferramenta.

Depois da realização da atividade proposta nos estudos de caso, os participantes responderam

um questionário de percepção (disponível no Apêndice L o questionário do grupo experimental e no

Apêndice M o aplicado no grupo de controle). O objetivo foi capturar a opinião dos participantes

referente à utilização da ferramenta e alguns aspectos da abordagem, indicando (em alguns casos)

aspectos positivos e/ou melhorias na ferramenta.

Depois de finalizado o quase-experimento, os dados coletados foram tabulados para permitir a

realização das análises e testes para verificação das hipóteses formuladas pela pesquisa. A Seção

5.1.4 apresenta os resultados obtidos nesta avaliação.

11 http://www.studiodesigner.com.br/mestrado/sers/catalogo/

Page 112: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

107

5.1.4 Resultados

A partir do quase-experimento realizado foi possível mensurar, de forma preliminar, qual a

contribuição da abordagem e da ferramenta na área da Engenharia de Requisitos. Assim, obtendo

uma resposta às seguintes perguntas de pesquisa:

Q1 – A utilização da abordagem proposta para reuso de requisitos torna mais eficiente o

processo de elicitação de requisitos em relação ao não emprego da abordagem?

Q2 – A utilização da abordagem proposta para reuso de requisitos torna mais eficaz o

processo de elicitação de requisitos que uma abordagem sem a utilização de reuso?

Ou seja, buscou-se avaliar se a abordagem de reuso proposta realmente torna mais eficiente e

eficaz a atividade de elicitação de requisitos em relação à execução desta atividade sem o apoio da

abordagem. Para tanto, foram formuladas as seguintes hipóteses:

H01 (hipótese nula para a pergunta de pesquisa Q1): Não existe diferença quanto à

eficiência12 do processo de elicitação quando utilizada a abordagem de reuso em relação

ao seu não uso.

HA1 (hipótese alternativa ao H01): A eficiência do processo de elicitação utilizando

abordagem baseada em reuso é maior em relação a não utilização da abordagem.

H02 (hipótese nula para a pergunta de pesquisa Q2): Não existe diferença quanto à

eficácia13 do processo de elicitação quando utilizada a abordagem de reuso em relação ao

seu não uso.

HA2 (hipótese alternativa ao H02): A eficácia do processo de elicitação utilizando

abordagem baseada em reuso é maior em relação a não utilização da abordagem.

12 a eficiência foi calculada como a razão entre o número de requisitos corretamente descritos e o tempo gasto na execução na atividade de elicitação de requisitos. 13 A eficácia da abordagem é medida como a relação entre o número de requisitos corretamente descritos e o número total de requisitos existentes.

Page 113: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

108

Nesse sentido, os resultados foram obtidos partindo de 3 aspectos: (i) o tempo gasto por cada

grupo buscando identificar requisitos; (ii) o resultado do estudo de caso de cada grupo (obtido

diretamente do repositório da ferramenta); e (iii) questionário de percepção.

A seguir é apresentado o detalhamento dos resultados obtidos deste estudo, incluindo a

avaliação da abordagem e avaliação da percepção de uso da ferramenta de apoio.

5.1.4.1 Avaliação da Abordagem

Depois de realizadas as experimentações e todos os dados coletados, os mesmos foram

tabulados de forma a permitir a realização das análises para comprovar ou refutar as hipóteses de

pesquisa. O modelo de correção para o estudo de caso 1 (livraria online) previa um total de 18

requisitos, sendo 9 requisitos funcionais e 9 requisitos não funcionais. Para o modelo de correção do

estudo de caso 2 (locadora de veículos) estavam previstos um total de 22 requisitos, sendo 15

requisitos funcionais e 7 requisitos não funcionais. A Tabela 12 sintetiza os resultados,

considerando os grupos A experimental e B de controle.

Tabela 12 - Resultado dos estudos de caso. Grupo Q.Enc1 Q.Esp2 Q.Reuso3 Tempo Eficiência Eficácia

ESTUDO DE CASO 1 A1 8 9 1 100 0,080 0,444 A4 7 9 4 99 0,070 0,388 A6 4 5 2 101 0,039 0,222 B3 5 24 - 105 0,047 0,277 B4 2 10 - 105 0,019 0,111 B5 2 5 - 105 0,019 0,111

ESTUDO DE CASO 2 A2 7 10 7 110 0,063 0,318 A3 6 9 4 102 0,058 0,272 A5 7 20 4 94 0,074 0,318 B1 4 10 - 105 0,038 0,181 B2 0 11 - 105 0 0 B6 4 6 - 105 0,038 0,181

(1)Q.Enc é a quantidade de requisitos encontrada; (2) Q.Esp é a quantidade de requisitos especificados em relação ao documento modelo; e (3) Q.Reuso é a quantidade de requisitos reutilizados.

Em relação os resultados do estudo de caso 1, observa-se que somente 1 grupo (B3), não

apoiado pela abordagem, obteve um resultado maior em relação à eficiência e eficácia, sendo este

somente superior ao grupo (A6). Mesmo assim, cabe ressalta que o grupo B3 especificou 24

requisitos (número muito superior em relação aos outros grupos) para obter um acerto de apenas 5

requisitos.

Page 114: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

109

Analisando os resultados do grupo B3 em relação aos requisitos especificados que não foram

considerados como corretos, pode-se afirmar que a grande maioria se tratava de especificações em

não conformidade com o modelo de correção, a citar: “envio de dados de cartão de crédito via

post”, “campo de CEP”. Também foram realizadas especificações que se utilizaram de padrões

inadequados para a especificação, por exemplo: especificação do requisito “cálculo do frete”

utilizando o padrão de requisito “Transação” em vez de ser utilizado o padrão de requisito “Fórmula

de cálculo”. Um grande percentual das especificações consideradas erradas foi referente a

especificações que não utilizaram um padrão (aspecto exigido em ambos os grupos) ou requisitos

repetidos (situações sinônimas ou homônimas), por exemplo, “busca de produto” e “busca de

produtos com informações parciais”.

Na análise dos resultados do estudo de caso 2, fica evidente que os grupos apoiados pela

abordagem obtiveram resultados superiores, tanto na eficiência quanto na eficácia da atividade. A

Figura 20 (análise de eficiência) e Figura 21 (análise de eficácia) ajudam a ilustrar as observações

em relação aos dois grupos.

0,08

0,038

0,063

0

0,058

0,047

0,07

0,019

0,074

0,019

0,039 0,038

00,010,020,030,040,050,060,070,080,09

Grupo A (experimental) Grupo B (controle)

Efic

iênc

ia c

alcu

lada

Comparativo da eficiência da abordagem

Figura 20 - Análise da eficiência.

Page 115: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

110

0,444

0,181

0,318

0

0,272 0,277

0,388

0,111

0,318

0,222

0,0500,1000,1500,2000,2500,3000,3500,4000,4500,500

Efic

ácia

calc

ulad

a

Comparativo da eficácia da abordagem

Figura 21 - Análise da eficácia.

A Tabela 13 apresenta os dados dos projetos que contaram com as sugestões de reuso da

abordagem, nela é apresentado o percentual de requisitos reutilizados (“% Reuso” QR. RF + QR.

RNF) em relação ao total de requisitos encontrados (Q. ERF + Q. ERNF). Percebe-se, aqui, que em

dois grupos (A4 e A6) a taxa de reutilização foi de pelo menos 50% em relação aos requisitos

encontrados no estudo de caso 1, sendo a média de 46,82% de reutilização nesses projetos. Já

quanto ao reuso no estudo de caso 2, um grupo (A2) conseguiu atingir 100% de reutilização, sendo

a média de 74,60% de reutilização.

Outro aspecto que pode ser analisado é quanto à quantidade de reuso por categoria de

requisito. Observa-se que a quantidade de requisitos funcionais reutilizados foi sempre maior,

exceto no grupo A5 (que são iguais em ambas as categorias). Este fato destoa de algumas pesquisas

que afirmam serem requisitos não funcionais mais propícios para o reuso (FRANCH et al., 2010).

Tabela 13 - Análise sobre o percentual de reuso. Grupo Q. ERF1 Q. ERNF2 QR. RF3 QR. RNF4 % Reuso5

ESTUDO DE CASO 1 A1 2 1 1 0 33,33% A4 3 4 3 1 57,14% A6 2 2 2 0 50%

ESTUDO DE CASO 2 A2 5 2 5 2 100% A3 4 2 3 1 66,66% A5 5 2 2 2 57,14%

(1)Q.ERF é a quantidade de requisitos funcionais encontrados; (2) Q.ERNF corresponde à quantidade de requisitos não funcionais encontrados; (3) QR.RF é a quantidade de requisitos funcionais reutilizados; (4) QR.RNF a quantidade de requisitos não funcionais reutilizada; e (5) o percentual de reutilização total no projeto.

Page 116: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

111

Cabe, ainda, analisar os mecanismos de apoio ao reuso (apresentados na Figura 22). Esta

análise considera as sugestões provenientes dos padrões de requisitos (no momento da seleção de

um padrão) e as sugestões a partir da rastreabilidade (sendo realizada após a reutilização de um

requisito).

0

1

2

3

4

5

A1 A2 A3 A4 A5 A6

Tota

l de

requ

isito

s reu

tiliz

ados

Grupos

Reuso a partir dos diferentes mecanismos

Padrões Rastreabilidade

Figura 22 - Análise dos mecanismos de reuso.

Os resultados demonstram que a maioria das aceitações de reuso foi promovida pelas

sugestões baseada nos padrões, aspecto já esperado, uma vez que as sugestões por rastreabilidade

são decorrentes da reutilização a partir do uso de um padrão. No entanto, destacam-se os grupos A4

e A5, os quais encontraram maior benefício a partir das sugestões de rastreabilidade. Estes dados

indicam que ambos os mecanismos de apoio favoreceram ao reuso.

Por fim, a Figura 23 apresenta o resultado comparativo entre os dois grupos em relação à

eficiência de eficácia. A média aritmética da eficiência do grupo A foi de 0,064 e do grupo B foi de

0,026. Quanto à eficácia, o grupo A apresentou o resultado de 0,327 e o grupo B de 0,143.

Page 117: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

112

00,05

0,10,15

0,20,25

0,30,35

Eficiência Eficácia

0,064

0,327

0,026

0,143

Comparativo da eficiência e eficácia dos grupos

Grupo Experimental Grupo Controle

Figura 23 - Análise comparativa entre os resultados obtidos pelos grupos.

Com base nos resultados apresentados na Figura 23 têm-se indicativos de que a abordagem

trouxe eficiência e eficácia ao processo de elicitação e documentação de requisitos. O resultado com

o apoio da abordagem se mostrou 40,62% superior em relação à eficiência no grupo experimental e

apresentou uma eficácia de 43,73% maior em relação a sua condução sem o emprego da

abordagem.

No entanto, se faz necessária uma análise estatística para aceitar ou rejeitar as hipóteses com

base nos elementos amostrais para confirmar esses resultados. Neste sentido, a Tabela 14 apresenta

os dados dos resultados para análise da eficiência e eficácia classificadas para aplicação do teste

estatístico de Mann-Whitney. Observa-se que o uso de um teste não paramétrico é mais apropriado

porque a amostra não segue uma distribuição normal.

Tabela 14 - Classificação14 dos grupos.

Classificação dos Grupos Classificação quanto a Eficiência Classificação quanto a Eficácia

Sequência Grupo Classificação Eficiência Sequência Grupo Classificação Eficácia 1 B 1,00 0 1 B 1,00 0 2 B 2,50 0,019 2 B 2,50 0,111 3 B 2,50 0,019 3 B 2,50 0,111

14 A classificação é iniciada em 1 para o menor resultado, no entanto, havendo dois ou mais resultados iguais, a classificação é obtida através do cálculo da média do valor correspondente a sua sequência que essas observações teriam se não fossem iguais.

Page 118: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

113

4 B 4,50 0,038 4 B 4,50 0,181 5 B 4,50 0,038 5 B 4,50 0,181 6 A 6,00 0,039 6 A 6,00 0,222 7 B 7,00 0,047 7 A 7,00 0,272 8 A 8,00 0,058 8 B 8,00 0,277 9 A 9,00 0,063 9 A 9,50 0,318 10 A 10,00 0,070 10 A 9,50 0,318 11 A 11,00 0,074 11 A 11,00 0,388 12 A 12,00 0,080 12 A 12,00 0,444

A partir dos resultados obtidos pela classificação, o próximo passo foi a realização do

cálculo das médias e a somatória dos ranks conforme retratado pela Tabela 15. Observa-se que a

somatória dos ranks (ou valor do R) é calculada a partir da soma das ordens para cada uma das duas

amostras conforme (1).

1

111

n

jjrR e

2

122

n

jjrR

(1)

onde R1 = somatória do rank do grupo A, R2 = somatória do rank do grupo B, n1 = tamanho

da amostra do grupo A e n2 = tamanho da amostra do grupo B, j = valor da sequência atual, r1j =

valor da classificação atual de j em relação ao grupo A e r2j = valor da classificação atual de j em

relação ao grupo B.

O campo “média do rank” da Tabela 15 corresponde a média da classificação atribuída a um

grupo. Por ele já é possível supor que o grupo A é superior na eficiência e na eficácia em relação ao

grupo B.

Tabela 15 - Resultados da classificação (ranks) em relação à eficiência.

Ranks Eficiência Eficácia

Grupo N Média Somatório Grupo N Média Somatório A 6 9,33 56 A 6 9,17 55 B 6 3,67 22 B 6 3,83 23

O calculo do U crítico da estatística de Mann-Whitney (U) é realizado conforme (2).

Page 119: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

114

222

212

111

211

2)1(

2)1(

RnnnnU

RnnnnU

(2)

onde U = valor do U crítico, n1 = tamanho da amostra do grupo A, n2 = tamanho da amostra

do grupo B, R1 = somatória do rank do grupo A e R2 = somatória do rank do grupo B.

A estatística do teste é dada por (3).

U = min(U1,U2) (3)

onde U = valor mínimo entre o valor de U1 e U2, U1 = valor do U crítico do grupo A e U2 =

valor do U crítico do grupo B.

Ao escolher o menor resultado de U para eficiência obteve-se o valor 1. Em relação à

eficácia o menor resultado de U foi 2. Assim, seguindo o teste estatístico, o valor de intersecção

entre n1 = 6 e n2 = 6 com α = 0.05 tem-se o valor de Uc = 5 e com α = 0.01 tem o valor de Uc = 2.

Como base nestes resultados pode-se rejeitar as hipóteses H01 (Não existe diferença quanto à

eficiência do processo de elicitação quando utilizada a abordagem de reuso em relação ao seu não

uso) e H02 (Não existe diferença quanto à eficácia do processo de elicitação quando utilizada a

abordagem de reuso em relação ao seu não uso).

Posto isto, pode-se afirmar ao nível de significância de 5% e 1% que a abordagem proposta

auxilia na atividade de elicitação e especificação de requisitos, tornando-a mais eficiente e eficaz.

Outra análise que reforça esses resultados é retratada pelos boxplots a seguir que comparam

o grupo experimental com o grupo de controle em relação à eficiência e a eficácia. Ao analisar a

Figura 24, pode-se observar que o boxplots do grupo experimental está acima do terceiro quartil do

grupo de controle. Este resultado significa que o grupo experimental foi mais eficiente que o grupo

de controle.

Page 120: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

115

Figura 24 - Boxplots comparando a eficiência dos grupos.

A comparação oferecida pelo boxplots ilustrado na Figura 25 representa que o grupo

experimental obteve um resultado mais eficaz que o grupo de controle. Também se percebe que a

maioria dos grupos enquadrados como experimental estão acima de sua própria média. Também é

possível identificar a discrepância do resultado de um dos grupos enquadrado como controle.

Figura 25 - Boxplots comparando a eficácia dos grupos.

Desta maneira, em termos das questões de pesquisa propostas neste trabalho:

Q1 – A utilização da abordagem proposta para reuso de requisitos torna mais

eficiente o processo de elicitação de requisitos em relação ao não emprego da

abordagem?

Page 121: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

116

Q2 – A utilização da abordagem proposta para reuso de requisitos torna mais eficaz

o processo de elicitação de requisitos que uma abordagem sem a utilização de reuso?

Os resultados apresentados indicam que a utilização da abordagem contribui na atividade de

elicitação de requisitos, tornando-a mais eficiente e eficaz comparando-a a não utilização da

abordagem.

5.1.4.2 Avaliação da Percepção de Uso da Ferramenta

Através do questionário de percepção respondido ao final do experimento, os participantes

relataram suas impressões a respeito da ferramenta SERS. Para tal utilizou-se a escala de Likert

(FERGUSON, 1941) de 5 pontos para indicar o grau de concordância dos participantes no

experimento. A Figura 26 apresenta os resultados dos questionários dos participantes do grupo

experimental.

0

5

10

15

Concordo totalmente

Concordo parcialmente

Indiferente Não concordo particialmente

Não concordo totalmente

Análise da percepção do grupo experimental

A ferramenta apresentou funcionalidades adequadas para documentação de requisitos.

A ferramenta foi fácil de utilizar.

O reuso de requisitos contribuiu significativamente na elicitação (identificação) dos requisitos.

O uso dos padrões auxiliou na escrita dos requisitos.

Utilizaria a ferramenta na minha prática profissional

Figura 26 - Resultado do questionário de percepção do grupo experimental.

O resultado dos questionários dos participantes do grupo de controle é ilustrado pela Figura

27. Observa-se que a questão que trata o reuso de requisitos foi suprimida devido a não utilização

deste recurso pelo grupo de controle.

Page 122: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

117

0

2

4

6

8

Concordo totalmente

Concordo parcialmente

Indiferente Não concordo particialmente

Não concordo totalmente

Análise da percepção do grupo controle

A ferramenta apresentou funcionalidades adequadas para documentação de requisitos.

A ferramenta foi fácil de utilizar.

O uso dos padrões auxiliou na escrita dos requisitos.

Utilizaria a ferramenta na minha prática profissional

Figura 27 - Resultado do questionário de percepção do grupo controle.

Percebe-se, aqui, com base nos resultados apresentados sobre análise dos questionários

(retratado pelas Figura 26 e Figura 27) que para ambos os grupos os aspectos que tratam da

ferramenta (funcionalidades, facilidade de uso e adoção da ferramenta) são positivos. Quanto à

utilização dos padrões para escrita de requisitos foi observado que no grupo em que não tinha o

apoio da ferramenta houve uma variação significativa entre as opiniões, porém dentro de um grau

de concordância na sua utilização. O grupo A confirma que a utilização dos padrões auxilia na

escrita dos requisitos. Como também o reuso de requisitos contribuiu na identificação de requisitos.

Ainda na avaliação de percepção foram elaboradas 3 questões para considerações sobre

aspectos relacionados à atividade, ferramenta e padrões, sendo: (i) aspectos positivos da atividade;

(ii) aspectos a serem melhorados na atividade; e (iii) impressões sobre as opções de sugestão de

reuso.

Os resultados envolvendo a primeira questão foram observados por todos participantes como

uma ferramenta fácil e intuitiva de usar. Em relação à segunda questão, poucos participantes do

grupo experimental fizeram recomendações, sendo as recomendações recebidas relativas a aspectos

de melhoria na interface. Já os participantes do grupo de controle fizeram recomendações no

sentido de integrar a busca e aplicação dos padrões na ferramenta (já disponível na versão do grupo

experimental). Quanto à terceira questão, aplicada somente aos participantes do grupo experimental,

obteve-se como resultado que todos concordam que os mecanismos de reuso fizeram sugestões que

Page 123: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

118

em algum momento auxiliaram a encontrar requisitos os quais puderam ser reutilizados. Também

houve relatos que as sugestões ajudaram a diminuir o tempo na execução da atividade. Como

sugestões de melhoria nesta funcionalidade houve contribuições no sentido de melhorar a interface

de busca nas sugestões de reuso realizadas pela ferramenta.

5.1.4.3 Avaliação da Validade

Contudo, a execução do quase-experimento para avaliar a abordagem e verificar a

viabilidade da ferramenta possui ameaças à validade. É mister ressaltar que ao diminuir uma

ameaça pode-se conduzir ao aumento de outras. Neste sentido, as ameaças à validade consideradas

neste estudo são:

Validade de conclusão: o problema identificado foi em relação ao tamanho pequeno da

amostra e homogeneidade. Em relação ao tamanho, é certo afirmar que os resultados obtidos são

considerados apenas indícios e não resultados conclusivos. Em relação à homogeneidade, foi

aplicado um questionário para avaliar os grupos para controlar esta ameaça.

Validade interna: duas ameaças foram identificadas: (1) os participantes não estarem

interessados pelo estudo realizado, e não colaborarem com uma efetiva participação; (2) o fato de a

abordagem envolver certo grau de dificuldade na utilização/seleção dos padrões de requisitos pode

gerar fadiga nos participantes pelo esforço empregado, diminuindo o empenho e comprometimento

dos mesmos. Em relação à questão (1) a ação tomada foi motivar os participantes na realização das

atividades do experimento demonstrando a importância do experimento em ambiente acadêmico,

bem como a atividade foi pontuada na disciplina. Em relação a questão (2) foi ministrada uma aula

sobre padrões de requisitos, reforçando a ação tomada na questão (1);

Validade externa: três ameaças foram identificadas: (1) os participantes serem alunos de

graduação; (2) estudo realizado em ambiente acadêmico e; (3) participantes de determinado grupo

terem conhecimentos prévios. Em relação às questões (1) e (2) existem relatos na literatura que

estudantes apresentam habilidades similares a profissionais menos experimentes (CAVER et al.,

2003). Em relação à (3) os participantes foram avaliados através do questionário de perfil dos

participantes levando em consideração o seu conhecimento sobre a engenharia de requisito

(capturado pela questão 4 do Apêndice K), sendo que o teste não paramétrico Chi-Square

Page 124: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

119

demonstrou que não havia diferenças significativas entre os grupos (conforme destacado na seção

5.1.3 ).

5.2 ANÁLISE DE ESPECIALISTAS

Apesar dos resultados apresentados apontarem que a abordagem proposta torna a atividade de

elicitação de requisitos mais eficiente e eficaz comparando-a a sua não utilização, tem-se uma forte

ameaça a estes resultados - os participantes não possuíam um grau de experiência desejável para

prática da atividade de elicitação de requisitos.

Por outro lado, entende-se que a reprodução de um experimento fora do ambiente acadêmico

não seria viável, isso porque, a utilização da abordagem é impactante no processo de

desenvolvimento das empresas, assim, dificultando encontrar empresas dispostas a

“experimentarem” a abordagem. Portanto, optou-se por uma avaliação qualitativa com especialistas

no sentido de obter uma avaliação da abordagem sob o ponto de vista de profissionais ligados a área

de engenharia de requisitos.

Desta maneira, a avaliação aplicada com especialistas tem por base o método GQM - Goal-

Question-Metrics (BASILI et al., 1994), assim, as seções a seguir detalham o planejamento,

execução e resultados desta avaliação.

5.2.1 Planejamento

Como passo inicial de uma avaliação utilizando o método GQM (BASILI et al., 1994), deve-

se identificar os objetivos da avaliação, e em seguida elaborar as questões com base nesses

objetivos. O método orienta que cada questão deve possuir pelo menos uma medida relacionada

para avaliação do dado coletado, como também se deve definir como os dados serão coletados,

quem irá fazer a coleta e quando ela será realizada.

Neste sentido, o Quadro 5 apresenta o objetivo da medição, as questões e as métricas adotadas

para a avaliação.

Page 125: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

120

Quadro 5 - Questões e métrica. Objetivo

Avaliar uma abordagem de reuso de requisitos em relação à eficiência e eficácia sob o ponto de vista de especialistas experientes em engenharia de requisitos no contexto de especificação e documentação de requisitos de software.

Questões Métricas H1 Q1. Qual a sua impressão subjetiva sobre o percentual na agilidade na atividade de elicitação e documentação de requisito quando da utilização da abordagem, comparado com a não utilização desta?

MQ1.1. Impressão subjetiva do percentual de variação do tempo com o emprego da abordagem comparando a não utilização.

H2 Q2. O artefato de software (documento de especificação de requisitos) produzido com a abordagem é mais completo e correto do que aquele produzido em outra abordagem?

MQ2.1. Grau de concordância em relação a completude e corretude do documento com a utilização da abordagem comparando com a não utilização. (Entendendo por completude como a quantidade de requisitos corretamente identificados e corretude como a quantidade de requisitos corretamente descritos)

MQ2.2. Impressão subjetiva do percentual de variação da completude do documento com a utilização da abordagem comparando com a não utilização. (Entendendo por completude como a quantidade de requisitos corretamente identificados)

MQ2.3. Impressão subjetiva do percentual de variação da corretude do documento com a utilização da abordagem comparando com a não utilização. (Entendendo por corretude como a quantidade de requisitos corretamente descritos)

MQ2.4. Lista de itens não atendidos no artefato produzido.

Geral Q3. A utilização dos padrões/catálogo ajudou a guiar a escrita dos requisitos?

MQ3.1. Grau de concordância subjetiva do conteúdo dos padrões adotado pela abordagem.

MQ3.2. Grau de concordância subjetiva da facilidade em encontrar um padrão adequado no catálogo disponibilizado.

MQ3.3. Lista das dificuldades encontradas com a utilização dos padrões.

Q4. As sugestões de reuso foram adequadas? MQ4.1. Grau de concordância subjetiva das sugestões associadas ao padrão.

MQ4.2. Grau de concordância subjetiva das sugestões associadas a rastreabilidade.

MQ4.3. Lista das dificuldades encontradas com as sugestões de reuso.

Q5. A ferramenta de apoio proporcionou algum rendimento na execução da atividade?

MQ5.1. Grau de concordância subjetiva sobre os benefícios proporcionados pela ferramenta.

MQ5.2. Impressão subjetiva sobre os benefícios proporcionados pela ferramenta.

MQ5.3. Lista de dificuldade encontrada com o uso da ferramenta.

A partir das perguntas e métricas enunciadas para alcançar o objetivo desta avaliação,

apresenta-se na Tabela 16 o plano de coleta de dados. O plano de coleta de dados relaciona a

Page 126: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

121

métrica utilizada com a forma em que estes são coletados e quem será responsável em fornecer os

dados.

Tabela 16 - Plano de coleta de dados. Métrica Como coletar? Quem fornece? MQ1.1. Impressão subjetiva do percentual de variação do tempo com o emprego da abordagem comparando a não utilização.

Questionário – Questão 1 Especialista em engenharia de requisitos

MQ2.1. Grau de concordância em relação a completude e corretude do documento com a utilização da abordagem comparando com a não utilização. (Entendendo por completude como a quantidade de requisitos corretamente identificados e corretude como a quantidade de requisitos corretamente descritos)

Questionário – Questão 2 Especialista em engenharia de requisitos

MQ2.2. Impressão subjetiva do percentual de variação da completude do documento com a utilização da abordagem comparando com a não utilização. (Entendendo por completude como a quantidade de requisitos corretamente identificados)

Questionário – Questão 2 Especialista em engenharia de requisitos

MQ2.3. Impressão subjetiva do percentual de variação da corretude do documento com a utilização da abordagem comparando com a não utilização. (Entendendo por corretude como a quantidade de requisitos corretamente descritos).

Questionário – Questão 2 Especialista em engenharia de requisitos

MQ2.4. Lista de itens não atendidos no artefato produzido. Questionário – Questão 2 Especialista em engenharia de requisitos

MQ3.1. Grau de concordância subjetiva do conteúdo dos padrões adotado pela abordagem.

Questionário – Questão 3 Especialista em engenharia de requisitos

MQ3.2. Grau de concordância subjetiva da facilidade em encontrar um padrão adequado no catálogo disponibilizado.

Questionário – Questão 3 Especialista em engenharia de requisitos

MQ3.3. Lista das dificuldades encontradas com a utilização dos padrões.

Questionário – Questão 3 Especialista em engenharia de requisitos

MQ4.1. Grau de concordância subjetiva das sugestões associadas ao padrão.

Questionário – Questão 4 Especialista em engenharia de requisitos

MQ4.2. Grau de concordância subjetiva das sugestões associadas a rastreabilidade.

Questionário – Questão 4 Especialista em engenharia de requisitos

MQ4.3. Lista das dificuldades encontradas com as sugestões de reuso.

Questionário – Questão 4 Especialista em engenharia de requisitos

MQ5.1. Grau de concordância subjetiva sobre os benefícios proporcionados pela ferramenta.

Questionário – Questão 5 Especialista em engenharia de requisitos

MQ5.2. Impressão subjetiva sobre os benefícios proporcionados pela ferramenta.

Questionário – Questão 5 Especialista em engenharia de requisitos

MQ5.3. Lista de dificuldade encontrada com o uso da ferramenta.

Questionário – Questão 5 Especialista em engenharia de requisitos

Como próximo passo, foi criado um questionário para a identificação do perfil do especialista

(retratado pelo Apêndice O) seguida pelas perguntas direcionadas à obtenção das medidas desejadas

e elencadas no GQM.

Page 127: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

122

5.2.2 Execução

A pesquisa contou com a participação de 6 (seis) especialistas ligados a área de engenharia de

requisitos. Os participantes foram previamente convidados a colaborar com a pesquisa através de

convite enviado através de email, nesta etapa foram convidados 8 especialistas. Após a confirmação

do interesse em colaborar com a pesquisa por parte do participante, iniciou-se o agendamento para

aplicação da avaliação individualmente com cada um. Assim, a avaliação foi realizada na primeira

quinzena de julho (11/07/2011 a 20/07/2011).

A condução das avaliações foi realizada na presença do autor desta pesquisa, auxiliando o

participante com informações para condução da atividade proposta e, sanando possíveis dúvidas. De

modo geral, a avaliação consistiu na realização de 3 etapas. A primeira etapa tratava da

apresentação da proposta da abordagem e explanação sobre o catálogo de padrões e utilização da

ferramenta de apoio. Na segunda etapa, os participantes realizaram um estudo de caso (utilizou-se

os mesmos aplicados na experimentação descrita anteriormente) utilizando a ferramenta de apoio.

Cabe mencionar aqui que não foi exigida a conclusão do estudo de caso, mas que foi aplicado até o

ponto em que o participante julgasse necessário para o entendimento de todos os elementos e

mecanismos propostos pela abordagem. Como terceira e última etapa os participantes responderam

o questionário para avaliação (retratado pelo Apêndice O).

A partir daí, os dados coletados através do questionário foram tabulados e categorizados para

uma posterior análise. Cabe salientar que a interpretação dos dados foi realizada em sua maioria de

forma qualitativa através da análise do conteúdo dos questionários obtidos em avaliações

individuais.

5.2.3 Resultados

Após a análise dos dados observa-se que todos os participantes da avaliação afirmaram

possuirem experiência na área de engenharia de requisitos, sendo que o tempo de experiência na

elaboração de documentos de especificações de requisitos varia de 3 a 7 anos.

Em relação a primeira questão, a Figura 28 apresenta a impressão subjetiva dos especialistas

em relação ao percentual de agilidade (ganho de tempo) que a abordagem proporcionou em

comparação a sua não utilização.

Page 128: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

123

0 0

1

4

1

0

1

2

3

4

5

6

Nenhum 1% - 25% 26% - 50% 51% - 75% 76% - 100%

Q1. Qual a sua impressão subjetiva sobre o percentual de agilidade (ganho de tempo) que a atividade de elicitação e documentação de requisitos obtêm quando da

utilização da abordagem, comparado com a não utilização desta?

Figura 28 - Indicativo percentual sobre a agilidade na atividade de elicitação e documentação de requisito utilizando a abordagem.

Percebe-se aqui, que a maior parte dos especialistas (66,66%) considerou que a abordagem

proporcionou um ganho de tempo entre 51% a 75% nas atividades de elicitação e documentação

dos requisitos.

A segunda questão buscou avaliar a percepção dos especialistas em relação ao artefato

produzido pela abordagem, o documento de especificação de requisitos. Assim, buscou-se avaliar o

percentual de variação da corretude15 e completude16 do documento comparado com a sua não

utilização. A Figura 29 retrata o resultado da análise sobre o indicativo percentual em relação a

completude e corretude do documento produzido pela abordagem.

15 Entende-se por corretude como a quantidade de requisitos corretamente descritos. 16 Entende-se por completude como a quantidade de requisitos corretamente identificados.

Page 129: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

124

1 12 2

1 12 2

0123456

Nenhum 1% - 25% 26% - 50% 51% - 75% 76% - 100%

Q2. Em relação ao artefato de software “Documento de especificação de requisitos” produzido com a abordagem, qual a sua impressão subjetiva sobre o percentual de

melhoria da abordagem em relação à completude e corretude?

Completude Corretude

Figura 29 - Indicativo percentual da análise em relação a completude e corretude do artefato produzido.

Observa-se que a maior parte dos especialistas considerou que o artefato produzido

(documento de especificação de requisito) tem um percentual maior de completude e corretude de

melhoria do que a sua produção de forma ad-hoc. Com essa questão, também se buscou verificar os

itens não atendidos na elaboração do artefato produzido, assim, os analistas deveriam analisar e

relacionar os itens que ainda não estivesse em conformidade com um “bom documento de

especificação de requisitos”. Cabe salientar aqui que as orientações na produção do documento de

especificação de requisitos (em relação às seções do documento e os aspectos em relação as

característica de um bom documento, podendo citar: ambiguidade, consistência, classificação em

importância e/ou estabilidade, verificável, rastreável e etc.) deveria seguir a especificação orientada

pela norma IEEE Std 830-1998 (1998), e essa observação foi relatada a todos os especialistas. Neste

aspecto, esperava-se que os especialistas que assinalaram sua percepção em relação a completude e

corretudo do artefato produzido menor que “76% - 100%” justificassem a sua escolha e relatassem

o que ainda falta ser atendido, no entato, não houve nenhuma observação.

A terceira questão buscou verificar com os especialistas aspectos relacionados a utilização

dos padrões/catálogo de requisitos. A Figura 30 ilustra o resultado do indicativo de percentual de

ajuda que os padrões e o catálogo proporcionaram na escrita dos requisitos em consideração o

emprego dos padrões adotados pela abordagem.

Page 130: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

125

1 1

4

0

1

2

3

4

5

6

Nenhum 1% - 25% 26% - 50% 51% - 75% 76% - 100%

Q3. Em relação a utilização dos padrões/catálogo de requisitos, qual a sua impressão subjetiva sobre o percentual de ajuda na escrita dos requisitos quando considerado o

emprego dos padrões adotados pela abordagem?

Figura 30 - Indicativo percentual da análise em relação a ajuda proporcionada pelo emprego dos padrões/catálogo.

Pode-se destacar aqui que a maior parte dos especialistas (66,66%) considerou que o

padrões/catálogo ajudou na elaboração da escrita dos requisitos. Nesta questão os especialistas

também puderam opinar sobre a seguir afirmação: “Você considera que foi fácil localizar um

padrão adequado no catálogo disponibilizado?”. Assim, 4 especialistas afirmaram concordar

totalmente com a afirmação, e 2 especialistas concordaram parcialmente. Em complemento a esta

questão também se buscou dos especialistas observações sobre as dificuldades encontradas com a

utilização dos padrões. Neste sentido, os 2 especialistas que concordaram parcialmente com a

afirmação apresentada anteriormente realizaram comentários como: “Sem o conhecimento do

catálogo fica um pouco complicado encontrar o padrão desejado” e “Sugestionamento com base em

experiências anteriores, recomendação de usabilidade: acrescentar dicas”. De fato, para a utilização

dos padrões faz-se necessária um treinamento ou estudo prévio para a sua compreensão, no entanto,

a maioria dos especialistas concordou que o agrupamento dos padrões por objetivo ou domínios

distintos dispostos pela abordagem proporcionou certo grau de facilidade na sua localização.

A quarta questão desta avaliação tinha o objetivo de avaliar se as sugestões de reuso foram

adequadas. Neste sentido, os especialistas puderam opinar em relação a duas afirmações: “Você

concorda que as sugestões associadas aos padrões foram adequadas?” e “Você concorda que as

sugestões associadas à rastreabilidade foram adequadas?”. Aqui, todos os especialistas afirmaram

concordar totalmente com ambas as afirmações. Também se oportunizou nesta questão as

observações dos especialistas em relação às dificuldades encontradas com as sugestões de reuso, no

entanto, nenhuma observação foi realizada.

Page 131: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

126

A quinta e última questão visou verificar se a ferramenta de apoio proporcionou algum

rendimento na execução da atividade. Aqui os especialistas puderam opinar em relação a seguinte

afirmação: “A ferramenta de apoio proporcionou algum benefício na execução da atividade de

elicitação e documentação de requisitos?”. Como resultado, 5 especialistas afirmaram concordar

totamente com a afirmação e 1 afirmou concorda parcialmente. Conforme retratado na Figura 31,

também se verificou nesta questão a impressão subjetiva sob o rendimento proporcionado com o

apoio da ferramenta na execução da atividade.

1

3

2

0

1

2

3

4

5

6

Nenhum 1% - 25% 26% - 50% 51% - 75% 76% - 100%

Q5. Em relação a ferramenta de apoio, qual a sua impressão subjetiva sobre o percentual de ajuda que a ferramenta proporcionou?

Figura 31 - Indicativo percentual da análise em relação ao rendimento proporcionado pela ferramenta de apoio da ferramenta

Nota-se que a maioria dos especialistas considerou que a ferramenta proporcionou um apoio

entre 51% - 75% (sendo esta a opinião de 50% dos especialistas) de rendimento superior na

execução das atividades em relação a sua não utilização. Buscou-se saber também nesta questão se

existiram dificuldades na utilização da ferramenta, sendo que a única observação retratava:

“Acredito que uns poucos ajustes de usabilidade deixaria a ferramenta muitíssimo interessante”.

De acordo com os dados coletados, pode-se verificar, de modo geral, que também se tem

indicativos que a abordagem proposta auxilia na atividade de elicitação e especificação de

requisitos na percepção de especialista na área de engenharia de requisitos.

5.3 CONSIDERAÇÕES DO CAPÍTULO

Neste capítulo foi apresentada a descrição de 3 avalições executadas para avaliar a abordagem

aqui proposta. A primeira avaliação trata de um quase experimento que foi realizado em ambiente

Page 132: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

127

acadêmico no sentido de medir a eficiência e eficácia da abordagem da atividade de elicitação e

especificação de requisitos, em relação à execução destas atividades sem o apoio da abordagem. Foi

também realizada uma análise estatística sobre os dados coletados no sentido de aceitar ou rejeitar

as hipóteses formuladas para esta pesquisa. Neste momento, utilizou-se o teste não paramétrico de

Mann-Whitney por se tratar da comparação de dois grupos com amostras independentes e com

variável de mensuração ordinal (MARÔCO, 2011, p.219). Os resultados desta primeira avaliação

apresentaram indicativos que a utilização da abordagem torna as atividades de elicitação e

especificação de requisitos mais eficiente e eficaz em relação a sua condução sem o apoio da

abordagem.

Por sua vez, após a realização do quase experimento foi aplicada uma segunda avaliação com

os participantes no sentido de avaliar a percepção de uso da ferramenta de apoio. Nesta avaliação

foi utilizada a escala de Likert (FERGUSON, 1941) de 5 pontos para indicar o grau de

concordância dos participantes em relação às questões exploradas pela avaliação. O resultado da

avaliação mostrou que os participantes do grupo experimental (que utilizaram a ferramenta em sua

versão completa) avaliaram de forma positiva a ferramenta em relação a suas funcionalides e

consideraram que os padrões de requisitos e as sugestões de reuso auxiliaram na elaboração do

documento de especificação de requisitos. Por outro lado, os participantes do grupo de controle (que

não tiveram disponíveis as funcionalidades ligadas à seleção e aplicação dos padrões e as sugestões

de reuso) relacionaram observações no sentido de melhorar a ferramenta com implementação de

funcionalides no sentido de facilitar a busca e aplicação dos padrões de requisitos.

A terceira avaliação foi realizada na tentativa de reduzir o viés que surge a partir da análise da

abordagem em um ambiente acadêmico, onde os participantes provavelmente não possuam um grau

de experiência desejável para a prática na indústria. Neste sentido, optou-se em realizar uma

avaliação junto a especialistas na área de engenharia de requisitos com objetivo de se obter mais

indicadores da viabilidade de aplicação da abordagem. É importante ressaltar que esta avaliação tem

um caráter mais exploratório, sendo que alguns pontos precisam ser melhorados para que se possa

obter resultados mais confiáveis. Nesta avaliação foi utilizado o método GQM (BASILI et al.,

1994), obtendo-se uma avaliação da abordagem sob o ponto de vista de profissionais ligados a área

de engenharia de requisitos. De acordo com os resultados obtidos nesta avaliação, pode-se afirmar

que se têm indicativos que a abordagem auxilia na atividade de elicitação e especificação de

requisitos segundo sob o ponto de vista de especialistas.

Page 133: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

128

O estudo descrito neste capítulo foi um primeiro passo no sentido de avaliar a abordagem

proposta neste trabalho. O resultado das avaliações indicaram que a abordagem proposta (apoiada

pela ferramenta) auxiliou na atividade de elicitação e especificação de requisitos. No entanto, os

resultados desse estudo são limitados em diferentes aspectos, restringindo a sua generalização.

Sendo assim, se entende que seria necessária a aplicação de mais estudos de caso e experimentos

para uma avaliação mais conclusiva. E por fim, as limitações exposta ao longo do trabalho,

associadas a outros pontos a serem investigados, apresentam a perspectiva de realização de outros

trabalhos, inclusive focando outros aspectos relacionados à abordagem de linha de produtos de

software.

Page 134: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

129

6 CONCLUSÃO

É de amplo conhecimento da comunidade de engenharia de software que o processo de

Engenharia de Requisitos é repleto de dificuldades na etapa de elicitação e especificação dos

requisitos de sistema. Dificuldades essas que normalmente estão ligadas a requisitos especificados

de forma incompleta, ou com pouco conhecimento sobre o domínio no qual ele se aplica, ou

relacionadas ao pouco conhecimento sobre as reais necessidades dos usuários, além de

especificações que tratam condições sinômimas ou homônimas. Essas dificuldades tornam-se uma

barreira para o sucesso de um projeto, isso porque, o sucesso de um sistema de software é

decorrente do cumprimento das finalidades para o qual o sistema foi desenvolvido. Assim, o não

entendimento pleno das necessidades de seus usuários é denotado como um dos maiores causadores

do insucesso de projetos de software.

Por sua vez, diversos autores ressaltam a importância da engenharia de requisitos e seus

impactos, principalmente, em relação aos custos e sucesso dos projetos. Neste cenário, o reuso de

artefatos de requisitos é visto por diversos pesquisadores como uma alternativa para ajudar nas

atividades de engenharia de requisitos, a fim de diminuir ou eliminar o impacto causado pelas

dificuldades destacadas anteriormente. De forma geral, a adoção de uma abordagem de reuso de

requisitos proporciona redução no tempo de construção e aumenta a qualidade do produto

desenvolvido, assim, conduzindo a uma melhora na qualidade do processo de engenharia de

requisitos. No entanto, considerando as abordagens encontradas na literatura poucas realizam uma

avaliação para verificar a sua eficiência e eficácia.

Neste sentido este trabalho propôs uma abordagem de reuso de requisitos e buscou verificar

se esta abordagem tornaria mais eficiente e eficaz o processo de elicitação e especificação de

requisitos. A abordagem está fundamentada em três pilares: (i) padrões de escrita de requisitos para

a estruturação do conhecimento auxiliando no reuso; (ii) catálogo de padrões provendo mecanismo

para facilitar a seleção de um padrão; e (iii) rastreabilidade para sugerir novos requisitos a partir de

um requisito reutilizado. Com estes elementos explorou-se a possibilidade de fornecer

automaticamente sugestões de requisitos para reutilização, aspecto este não explorado pelas

abordagens existentes.

Page 135: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

130

Destaca-se ainda que a abordagem proposta neste trabalho buscou facilitar e potencializar a

reutilização de requisitos, apoiando-se em técnicas já consolidadas na literatura e na indústria. Outra

contribuição deste trabalho está nos resultados obtidos através de duas avaliações.

A primeira avaliação foi realizada no meio acadêmico com 24 participantes divididos em

duplas, com o objetivo de verificar a eficiência e eficácia da abordagem em relação a condução das

atividades de elicitação e especificação de requisitos de forma tradicional (sem a abordagem de

reuso disponível). Comparando-se o resultado do grupo de controle com o grupo experimental,

constatou-se que 11 entre 12 estudos de caso avaliados foram mais eficientes e eficazes utilizando a

abordagem de reuso.

A segunda avaliação foi realizada como o objetivo de corroborar o resultado da primeira

avaliação, assim, utilizando o método GQM foram coletados dados para análise sob o ponto de vista

de especialistas na área de engenharia de requisitos em relação à eficiência e eficácia da abordagem.

O resultado de ambas as avaliações indicaram que a abordagem proposta auxiliou na

atividade de elicitação e especificação de requisitos. De fato, os resultados da primeira avaliação em

um experimento controlado indicaram que a eficiência e eficácia da abordagem foram superiores no

grupo experimental em relação ao grupo de controle. No entanto, cabe destacar que o quase-

experimento foi restrito a 2h de execução, assim, não se pode afirmar que os resultados

permaneçam com o uso mais prolongado (sistemático) da abordagem. Salienta-se também que a

eficiência medida é relacionada a 2 pessoas em ambos os grupos, embora não relacionada aqui

como “esforço” a sua medição também pode ser realizada na razão homens-hora. Outro aspecto que

merece destaque é quanto ao repositório para reuso, entende-se que os desafios na utilização inicial

da abordagem sejam maiores, isso porque ainda não se detem uma repositório de artefatos para

reutilização formada, aspecto este também presente na maioria das outras abordagens de reuso.

Cabe ainda ressaltar que os padrões armazenados (e utilizados na experimentação) são

provenientes do catálogo de Withall (2007) em sua versão completa (sem excluir nenhum padrão).

No entanto, encoraja-se investigações em busca de outros padrões de forma a complementar este

catálogo. Guias de como descobrir/reconhecer um padrão de requisito é abordado em Withall

(2007), Renault et al., (2009b) e Gotzhein et al., (1998). Outro aspecto observado é que mesmo

havendo um template como ponto de partida para especificação de um requisito, pode-se encontrar

Page 136: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

131

outras soluções (templates) para adicionar ao padrão como forma de complementá-lo. Este é outro

aspecto presente nesta abordagem e não identificada nas demais.

Por fim, pode-se afirmar que todos os objetivos específicos delineados para este trabalho

foram alcançados. No entanto, é pertinente salientar que os resultados obtidos nesta pesquisa não

são definitivos, sendo estes passíveis de serem aprimorados e revistos.

6.1 RESULTADOS

Neste trabalho são discutidas propostas para contribuir com a atividade de elicitação e

especificação de requisitos. Após estudos e pesquisas na área, foi definido o objetivo geral de

desenvolver uma abordagem para reuso de requisitos e avaliar de forma empírica a sua eficiência e

a eficácia. Com este objetivo foram identificados os seguintes resultados obtidos ao longo do

processo de desenvolvimento desta pesquisa:

#1: um mapeamento sistemático da literatura que teve o objetivo identificar, analisar e avaliar

pesquisas voltadas para o conhecimento de padrões de escrita de requisitos na disciplina de

engenharia de requisitos, com a intenção de conhecer o estado da arte referente a padrões de escrita

de requisitos. É importante destacar que o mapeamento pode permitir a descoberta de evidências

identificadadas em um alto nível de granularidade sobre escrita de requisito utilizando padrões,

como também serviu de ponto de partidade para direcionar o foco em futuros mapeamentos ou

revisões sistemáticas. Além disso, também permite identificar áreas para estudos primários que

ainda necessitam de investigações.

#2: apresentação de uma estrutura para comportar os padrões de requisitos adotados. A

apresentação de uma estrutura pode favorecer a adoção e utilização dos padrões, segundo Cheng e

Atlee (2007) os mesmos carecem de uma apresentação (estrutura) que forneça informações

suficientes para facilitar a sua reutilização. No entanto, percebe-se a necessidade de pesquisa para

identificar quais informações são realmente relevantes ao analista para propiciar o entendimento de

um padrão de requisito.

#3: elaboração do catálogo de padrões procurando conciliar os domínios propostos por

Withall (2007) e a norma IEEE Std 830-1998 (1998). Entende-se que a taxonomia utilizada pela

Page 137: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

132

norma IEEE Std 830-1998 (1998) é a mais próxima da vivência do analista, sendo assim, seria mais

fácil a localização de um padrão que estivesse em um domínio conhecido.

#4: análise comparativa das abordagens de reuso de requisitos realizada a partir da revisão

sistemática do Konda e Mandava (2010). A análise comparativa abre caminho para a discussão

sobre as abordagens, permitindo extrair semelhanças e divergências existentes entre os estudos

analisados.

#5: descrição de um novo processo de reutilização baseados nos conceitos adotados pela

abordagem (padrões de requisitos, catálogo de padrões e rastreabilidade). Esta é a principal

contribuição do trabalho, apresentando uma abordagem nova de forma a contribuir com a

comunidade.

#6: desenvolvimento de uma ferramenta de apoio à abordagem proposta. A partir da pesquisa

do estado da arte (capítulo 3 e seção 2.2.3), percebeu-se que existe uma carência de ferramentas que

apoiem a reutilização de requisitos. Assim, este trabalho contribuiu como uma solução nesta área.

#7: resultados de uma avaliação realizada através experimento controlado (avaliação

empírica) verificando a eficiência e eficácia da abordagem proposta em relação a sua não utilização.

#8: resultados de uma avaliação da percepção do uso da ferramenta de apoio.

#9: resultados de uma avaliação sob o ponto de vista de especialista em relação à eficiência e

a eficácia da abordagem.

Conforme enfatizado por Travassos et al., (2002), somente a experimentação pode verificar as

teorias e explorar os fatores críticos dando a luz ao fenômeno novo dando espaço para que as teorias

possam ser formuladas e corrigidas. Em complemento Basili (2007) argumenta que as

experimentações podem ser consideradas uma pequena contriuição para a tapeçaria do

conhecimento, ou seja, ajudam a formar o corpo de conhecimento. Neste sentido, de apresentar um

corpo novo de conhecimento e dando abertura para que as teorias possam ser formuladas e/ou

corrigidas que os resultados #7, #8 e #9 pontuam.

Page 138: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

133

6.2 TRABALHOS FUTUROS

Como recomendações e sugestões de trabalhos para evoluir a presente pesquisa se pode

destacar:

Desenvolvimento das recomendações realizadas pelos participantes do primeiro

experimento e dos especialistas em relação à ferramenta de apoio, a grande maioria

tratando de aspectos relacionados à usabilidade.

Análise e desenvolvimento de outros padrões a fim de complementar o catálogo com mais

possibilidades. Outro ponto interessante também é a adição de mais templates (soluções

em forma de como fazer, ou ponto de partida para escrita de requisitos) para os padrões

atuais existentes no catálogo.

Outra sugestão é o desenvolvimento de um plugin que implemente a abordagem em uma

ferramenta já existente, com por exemplo: Eclipse, DOORS, RequisitePro, Enterprise

Architect, etc.

Sugere-se o desenvolvimento de um terceiro mecanismo de apoio ao reuso, implementado

através da associação entre os padrões, estes já previstos no catálogo de padrões.

Propor a reutilização em nível de produto, em que o produto é detentor de um ou vários

projetos.

Desenvolvimento de funcionalidades para fornecer o uso de métricas de suporte a

estimativas. Por exemplo, relacionando-se cada requisito do repositório com seus dados

históricos, permitiria o cálculo do esforço de programação, prazos e custos, auxiliando

com informações para a estimativas de tamanho, produtividade e alocação de pessoas.

Desenvolvimento de um guia em formato de heurísticas para fornecer orientações para o

levantamento e escrita de requisitos de usuário.

Moderação na inclusão de requisitos no repositório, para verificar o conteúdo dos

requisitos que serão compartilhados para reuso.

Desenvolvimento de funcionalidades ligadas à prototipação de telas.

Page 139: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

134

Por fim, sugere-se realizar novos experimentos visando verificar a eficiência e a eficácia

da abordagem proposta em empresas de desenvolvimento de software.

Page 140: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

135

REFERÊNCIAS

AKERS, D., Real Reuse for Requirements, Issue of Methods & Tools, Spring, 2008. Disponível em: < http://www.methodsandtools.com/PDF/mt200801.pdf>. Acessado em julho de 2010.

ALEXANDER, C., ISHIKAWA, S., SILVERSTEIN, M., JACOBSON, M., FIKSDAHL-KING, I., ANGEL. S. A Pattern Language. Oxford University Press, New York, 1977

ALVES, V., Niu, N., ALVES, C. and VALENÇA, G. Requirements engineering for software product lines: A systematic literature review, IST, Volume: 52, Issue: 8, August, 2010, pp. 806-820, Elsevier, 2010

AMATRIAIN, X. An Object-Oriented Metamodel for Digital Signal Processing with a focus on Audio and Music, Universitat Pompeu Fabra, Departament de Tecnologia. Tesi de doutorado em informática e comunicação digital. 2004

ANDRADE, M. M. Introdução à metodologia do trabalho científico. 4 ed., São Paulo: Atlas, 1999

ANTONELLIS, V. D., VANDONI, L. Temporal Aspects in Reuse of Requirement Specifications, Advanced information Systems Engineering. F. B. C. Rolland, and C. Cauvet. London, Springer-Verlag. Volume 685: pp: 504-520, 1993

BARBER, K.S. GRASER, T.J. JERNIGAN, S.R. SILVA, J. The Systems Engineering Process Activities (SEPA) - supportingearly requirements analysis and integration prior to implementationdesign. In Australian Journal of Information Systems (AJIS)---Special Issue on Requirements Engineering 7 (1), 75-97, 1999

BASILI, V. The Role of Controlled Experiments in Software Engineering Research, Lecture Notes in Computer Science, 2007, Volume 4336, Empirical Software Engineering Issues. Critical Assessment and Future Directions, Pages 33-37, Springer-Verlag Berlin Heidelberg, 2007

BASILI, V., CALDIERA, G., ROMBACH, H. D. Goal Question Metric Approach, Encyclopedia of Software Engineering, pp. 528-532, John Wiley & Sons, Inc., 1994

BECKER, M., Towards a general model of variability in product families. In: Proceedings of the 1st Workshop on Software Variability Management, pp. 19-27, Groningen, The Netherlands, 2003

BRERETON, P., KITCHENHAM, B. A., BUDGEN, D., TURNER, M., KHALIL, M. Lessons from applying the systematic literature review process within the software engineering domain, Journal of Systems and Software 80, 2007

BOEHM, B., BASILI, V. R.. Software Defect Reduction Top 10 List, IEEE Computer. 34(1); Los Alamitos, CA: IEEE Computer Society; 2001, doi:10.1109/2.962984

CARD, D., COMER, E. Why do So Many Reuse Programs Fail?, IEEE Software, Vol. 11, No. 05, September/October, 1994, pp. 114-115

Page 141: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

136

CHENG, B. H. C., ATLEE, J. M. Research Directions in Requirements Engineering, International Conference on Software Engineering 2007 Future of Software Engineering, IEEE Computer Society Washington, DC, USA, 2007, ISBN:0-7695-2829-5

CHRISTEL, M. G., KANG, K. C. Issues in Requirements Elicitation, Technical Report Software Engineering Institute CMU/SEI-92-TR-12.7, September 1992. Disponível em:http://www.sei.cmu.edu/pub/documents/92.reports/pdf/tr12.92.pdf. Acessado outubro de 2009.

CLEMENTS, P., NORTHROP, L., Software Product Lines: Practices and Patterns, Addison-Wesley, 2002

CONSTANTOPOULOS, P., JARKE, M., MYLOPOULOS, J., VASSILIOU, Y. The Software Information Base: A Server for Reuse, In. The VLDB Journal — The International Journal on Very Large Data Bases, Springer-Verlag New York, 1995

COPLIEN, J. O. A Development Process Generative Pattern Language, Proceedings of PLoP/94, Monticello, 1994

CUNHA, G. E., HERBERT, J. S. Proposta de Padrões de Software para a Reutilização Sistemática em Sistemas de Software Orientados a Objetos, SugarloafPlop 2003 Conference, 2003

CYBULSKI, J. L., REED, K. Requirements Classification and Reuse: Crossing Domain Boundaries. In Conference on Software Reuse, ICSR'2000, (Vienna, Austria, 2000), 190-210, 2000

CYSNEIROS, L. M., LEITE, J. C. S. P. Utilizando Requisitos Não Funcionais para Análise de Modelos Orientados a Dados, Anais do WER98 - Workshop em Engenharia de Requisitos, Maringá-PR, Brasil, Outubro 12, 1998, pp 149-158. Disponível em: <http://wer.inf.puc-rio.br/WERpapers/artigos/artigos_WER98/cysneiros.pdf>. Acessado junho de 2010

DAHLSTEDT, A., G., PERSSON, A. Requirements Interdependencies: State of the Art and Future Challenges. In AURUM, A., WOHLIN, C. Engineering and Managing Software Requirements, Springer: Germany, 2005, p.95-116

DAVEY, B; COPE, C. Requirements Elicitation – What’s Missing?, Issues in Informing Science and Information Technology, vol.5, 2008

DICK, J. Rich Traceability, Proceedings of the 1st International Workshop on Traceability in Emerging Forms of Software Engineering, Edinburgh, Scotland, 2002

EDEVTECH, inteGREAT Requirement Studio, 2010, Disponível em: <www.edevtech.com>, Acessado em: Outubro de 2010.

ESTEVES, E., SOUZA, C. Apontamento de Análise de dados e Planeamento de Experiências, 2007. Disponível em: http://w3.ualg.pt/~eesteves/docs/TestesQualidadeAjustamento.pdf. Acessado em julho de 2011.

FALBO, R. A. Documento de Requisitos - Vídeo Locadora Passatempo, 2011. Diponível em http://www.inf.ufes.br/~falbo/files/DocumentoRequisitos-v2.1.pdf. Acessado em 19 de março de 2011

Page 142: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

137

FALBO, R. A., MARTINS, A. F., SEGRINI, B. M., BAIÔCO, G., DAL MORO, R., NARDI, J. C. Um Processo de Engenharia de Requisitos Baseado em Reutilização de Ontologias e Padrões de Análise. VI Jornadas Iberoamericanas de Ingenieería del Software e Ingeniería del Conocimiento, Lima - Perú, 2007

FAVARO, J. What price Reusability? A Case Study, Proceedings of the first international symposium on Environments and tools for Ada, California, United States, Vol. 11, No. 03, April, 1991, pp. 115-124.

FERGUSON, L. W. A Study of the Likert Technique of Attitude Scale Construction, Journal of Social Psychology 13, pp: 51-57, 1941

FERNANDES, P. C. C. Ubifex: Uma Abordagem Para Modelagem De Características De Linha De Produtos De Software Sensíveis Ao Contexto, COPPE/UFRJ - Mestrado em Engenharia de Sistemas e Computação, 2009

FGSYS, Documento de Requisitos (Sistema de Automação Comercial - Controle de Fábrica), 2010. Disponível em http://files.hilaiaproject.webnode.com.br/200000010-3f59b40547/Requisitos%20vers%C3%A3o%201.pdf. Acessado em 21 de março de 2011

FRAKES, W. B., ISODA, S. Success Factors of Systematic Reuse, IEEE Software, September 1994, pp. 14-19

FRANCH, X., PALOMARES, C., QUER, C., RENAULT, S., LAZZER, F. A Metalmodel for Software Requirement Patterns*, REFSQ 2010, Springer-Verlag: Berlin, p.85-90, 2010

FREDJ, M., ROUDIÈS, O. A Pattern Based Approach for Requirements Engineering, Proceedings of the 10th International Workshop on Database & Expert Systems Applications, 1999

FREITAS, D. P.; BORGES, M. R. S., ARAÚJO, R. M. Colaboração e Negociação na Elicitação de Requisitos, In IDEAS - Workshop Iberoamericano de Ingenieria de Requisitos y Ambientes de software, Venezuela - Maio 2007, Disponível em: http://kuainasi.ciens.ucv.ve/ideas07/documentos/articulos_ideas/Articulo74.pdf, Acessado outubro de 2009

GABRIEL, R. P. Patterns of Software - Tales from the software community, Oxford University Press, New York, 1996

GAMMA, E., HELM, R., JOHNSON, R., VLISSIDES, J. Design Patterns: Elements of Reusable Object-Oriented Software. Boston: Addison-Wesley, 1995.

GENVIGIR, E. C. Um modelo para rastreabilidade de requisitos de software baseado em generalização de elos e atributos, São Jose dos Campos - SP, INPE, Tese de dourado em computação aplicada, 2009

GIL, A. C. Como elaborar projetos de pesquisa. 3. ed. São Paulo: Atlas. 1994

GOTEL, O., MÄDER, P. How to Select a Requirements Management Tool: Initial Steps, 17th IEEE International Requirements Engineering Conference, 2009

Page 143: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

138

GOTTESDIENER, E. Good Practices for Developing User Requirements, Crosstalk - The Journal of Defense Software Engineering, March, 2008

GOTZHEIN, R., KRONENBURG, M., PEPER, C. Reuse in requirements engineering: Discovery and application of a real-time requirement pattern, 5th International Symposium on Formal Techniques in Real-Time and Fault-Tolerant Systems (FTRTFT’98), Lecture Notes in Computer Science 1486, Springer pp: 65–74, 1998

GRISS, M. L., FAVARO, J. D'ALESSANDRO, M. Integrating Feature Modeling with the RSEB, IEEE Computer Society, Washington, DC, USA, 1998, ISBN:0-8186-8377-5

HAGGE, L., LAPPE, K. Patterns for the RE Process, Proceedings of the 12th IEEE International Requirements Engineering Conference (RE’04), 2004a

HAGGE, L., LAPPE, K. Report from the Working Group on Requirements Engineering Patterns, Softwaretechnik-Trends 24, 2004b.

HAGGE, L., LAPPE, K., SCHMIDT, T. REPARE: The Requirements Engineering Patterns Repository, 13th IEEE International Conference on Requirements Engineering (RE’05), 2005

HAGGE, L., LAPPE, K. Using Requirements Engineering (RE) Patterns for Organizational Learning, Journal of Universal Knowledge Management, vol. 1, no. 2 (2006), 137-148, 2006

HOFFMANN, M., KÜHN, N., WEBER, M., BITTNER, M. Requirements for Requirements Management Tools, Proceedings in 12th IEEE International Requirements Engineering Conference, 2004

HOOD, C., WIEDEMANN, S., FICHTINGER, S., PAUTZ, U. Requirements Management: The Interface Between Requirements Development and All Other Systems Engineering Processes. Springer-Verlag Berlin Heidelberg, 2008. ISBN 978-3-540-47689-4

HULL, E., JACKSON, K., DICK, J. Requirements Engineering, Secound Edition, Springer London Berlin Heidelberg, 2005, ISBN 1-85233-879-2

IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements Specifications, Nova Iorque: IEEE, 1998. ISBN 0-7381-0332-2

INCONSE, International Council On Systems Engineering, Tools survey: requirements management (RM) tools. Seattle, WA, USA, 2011. Disponível em: <http://www.incose.org/ProductsPubs/products/rmsurvey.aspx>, Acessado junho de 2011.

JAMAS SOFTWARE, Contour v2.9, 2010, Disponível em: <http://www.jamabackstage.com>, Acessado em: outro de 2010

JAMWAL, D., Software Reuse: A Systematic review, Proceedings of the 4th National Conference; INDIACom-2010 Computing For Nation Development, February 25 – 26, 2010

JOHNSON, W. L., HARRIS, D. R. Sharing and Reuse of Requirements Knowledge, Proc. KBSE-91, IEEE Press, Los Alamitos, CA; 1991, pp. 57-66

Page 144: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

139

KANG, K. C.; COHEN, S. G.; HESS, J. A.; NOVAK, W. E. & PETERSON, A. S. Feature-Oriented Domain Analysis (FODA) Feasibility Study, Technical report, Carnegie-Mellon University Software Engineering Institute, 1990

KITCHENHAM, B.; CHARTERS, S. Guidelines for performing systematic literature reviews in software engineering. Technical Report EBSE 2007‐001, Keele University and Durham University Joint Report, 2007.

KEEPENCE, B., MANNION, M., SMITH, S. SMARTRe requirements: writing reusable requirements, Systems Engineering of Computer Based Systems, Proceedings of the 1995 International Symposium and Workshop on: pp: 27-34, 1995

KOCHANSKI, D. Um framework para apoiar a construção de experimentos na avaliação empírica de jogos educacionais, 2009. Dissertação (Mestrado em Computação Aplicada) – Curso de Mestrado Acadêmico em Computação Aplicada, Universidade do Vale do Itajaí - Univali, São José – Santa Catarina, 2009.

KONDA, B. M., MANDAVA, K. K. A Systematic Mapping Study on Software Reuse, University essay from Blekinge Tekniska Högskola/COM - Master Thesis Software Engineering, 2010

KOTONYA, G., SOMMERVILLE, I. Requirements Engineering: Process and Techniques. Editora John Wiley and Sons. 1998.

KRUEGER, C. W. Software Product Line Reuse in Practice, Proceedings. 3rd IEEE Symposium on Application-Specific Systems and Software Engineering Technology, 2000

KULOOR, C., EBERLEIN, A. Requirements Engineering for Software Product Lines, Calgary, Alberta, Canada; The University of Calgary; In Proceedings of the 15th International Conference on Software & Systems Engineering and their Applications (ICSSEA’02), Paris, France, 2002

LAM, W. Achieving requirements reuse: a domain-specific approach from avionics, Journal of Systems and Software Volume 38(Issue 3): p: 197-209, 1997

LAMSWEERDE, A. Requirements Engineering in the Year 00: A Research Perspective, 22th

International Conference on Software Engineering, 2000

LIU, L., LI, T., PENG, F. Why Requirements Engineering Fails: A Survey Report from China, Requirements Engineering Conference (RE), 2010 18th IEEE International, 2010

LÓPEZ, O., LAGUNA, M. A., GARCÍA, F. J. Metamodeling for Requirements Reuse, Anais do. WER02 - Workshop em Engenharia de Requisitos, Valencia, Spain, 2002

LUCRÉDIO, D. Uma abordagem orientada a modelos para reutilização de Software, USP - São Carlos – SP, Tese de Doutorado, 2009

LUTOWSKI, R. Software requirements: encapsulation, quality, and reuse. Boca Raton, Fl: Aurebach Publications, 2005

Page 145: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

140

MAFRA, S. N,; TRAVASSOS, G. H. Estudos Primários e Secundários Apoiando a Busca por Evidências em Engenharia de Software. Relatório Técnico Rt-Es-687/06, Programa De Engenharia De Sistemas E Computação (Pesc), Coppe/Ufrj, 2006.

MAGALHÃES, H. J., TAMAGI, W. D., BELLO, A. R. Especificação de Requisitos e Modelagem (Sistema de apoio à empresa de produtos impermeabilizantes), Unioeste – Universidade Estadual do Oeste do Paraná, 2008. Disponível em http://200.201.81.50/~victor/projetos/ProjetosProcessoII2009/DocumentacaoFinalAlanHudsonWilliam/PES2.pdf. Acessado em 19 de março de 2011

MARÔCO, J. Análise Estatística com o SPSS Statistics, 5a edição, Editora ReportNumber, 2011. Disponível em: http://analisestatistica.no.sapo.pt/downloads/Ponto_7_2.pdf . Acessado em julho de 2011.

MARINHO, F., SANTOS, M., PINTO, R. N., ANDRADE, R. Uma Proposta de um Repositório de Padrões de Software Integrado ao RUP, SugarloafPLoP 2003, 2003

MASSONET, P., van LAMSWEERDE, A. Analogical Reuse of Requirements Frameworks, Proceedings of the Third IEEE International Symposium on Requirements Engineering, 1997

MATTAR, J. Metodologia Científica na era da Informática, 3 ed., ver. e atual. São Paulo: Saraiva, 2008

MENDEZ-BONILLA, O., F., X., QUER, C. Requirements Patterns for COTS Systems, Seventh International Conference on Composition-Based Software Systems, 2008

MESZAROS, G., DOBLE, J. MetaPatterns: A Pattern Language for Pattern Writing, In 3rd Pattern Languages of Programming conference, 1996

MKS, MKS Integrity 2009, 2010, Disponível em: <www.mks.com>, Acessado em: Outubro de 2010.

MONTABERT, C., BUSSERT, D., GIFFORD, S. S., CHEWAR, C. M., MCCRICKARD, S. Supporting Requirements Reuse in Notification Systems Design through Task Modeling, Proc. 11th International Conference on Human-Computer Interaction (HCII ‘05), 2005

MONTABERT, C. Supporting Requirements Reuse in a User-centric Design Framework through Task Modeling and Critical Parameters, Faculty of Virginia Polytechnic Institute and State University, Blacksburg - Virginia, Dissertação de mestrado, 2006

MONTABERT, C., MCCRICKARD, D. S., WINCHESTER, W. W., PÉREZ-QUIÑONES, M. A. An integrative approach to requirements analysis: How task models support requirements reuse in a user-centric design framework, Elsevier. Volume 21: pp: 304-315, 2009

MONZON, A. A Practical Approach to Requirements Reuse in Product Families of On-Board Systems, In Proceedings of the 2008 16th IEEE international Requirements Engineering Conference. Washington, DC, IEEE Computer Society: pp: 223-228, 2008

Page 146: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

141

MOON, M., YEOM, K., SEOK CHAE, H. An Approach to Developing Domain Requirements as a Core Asset Based on Commonality and Variability Analysis in a Product Line, Software Engineering, IEEE Transactions on, IEEE Computer Society. Volume 31: pp: 551- 569, 2005

MORISION, M., EZRAN, M., TULLY, C. Success and Failure Factors in Software Reuse, IEEE Transactions on Software Engineering, 2002

NUSEIBEH, B., EASTERBROOK, S. Requirements Engineering: A Roadmap, Proceedings of International Conference on Software Engineering (ICSE-2000), Limerick, Ireland : ACM Press, 2000

OLIVEIRA, K., SPINOLA, M. POREI: Patterns-Oriented Requirements Elicitation Integrated Proposta de um Metamodelo Orientado à Padrão para Integração do Processo de Eliciação de Requisitos, SugarLoafPLoP'2007 - 6 Latin America Conference on Pattern Languages of Programming, Pernambuco, 2007

PÁDUA, E. M. Marchesini de. Metodologia da pesquisa: Abordagem teórica-prática, 13 ed., ver. e amp., Campinas, SP: Papirus, 2000

PARNAS, D. On the Design and Development of Program Families, IEEE Transactions on Software Engineering, v. SE-2, n. 1 (March), pp. 1-9, 1976

PEREDNIKAS, E. Requirements Reuse Based on Forecast of User Needs, International Conference 20th EURO Mini Conference “Continuous Optimization and Knowledge-Based Technologies” (EurOPT-2008). Neringa, LITHUANIA: pp: 450–455, 2008

PFANFESELLER, M., PFANFESELLER, M., KROTH, E. Uma ferramenta de apoio ao desenvolvimento de software baseado em componentes, XV Simpósio Brasileiro de Engenharia de Software, Sessão de Ferramentas, Rio de Janeiro - RJ, 2001

POOLEY, R., WARREN, C. Reuse Through Requirements Traceability, in: Proc. ICSEA 2008, October 26-31, Sliema, Malta, 2008

PREECE, J., ROGES, Y., SHARP, H. Design de Interação – Além da interação homem-computador, John Wiley & Sons, 2002

PRESSMAN, Roger S. Engenharia de software, 5ª edição. MacGraw-Hill, 2002.

RENAULT, S., MÉNDEZ-BONILLA, Ó., FRANCH, X., QUER, C. A Pattern-based Method for Building Requirements Documents in call-for-tender Processes, International Journal of Computer Science and Applications, Vol. 6, No. 5, pp 175-202, 2009a

RENAULT, S., MÉNDEZ-BONILLA, Ó., FRANCH, X., QUER, C. PABRE: Pattern-Based Requirements Elicitation, Third International Conference on Research Challenges in Information Science, RCIS 2009, 2009b

ROBERTSON, S. ROBERTSON, J. Mastering the Requirements Process, Second Edition. Addision Wesley Professional, Março 17, 2006

Page 147: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

142

STARS, Organisation Domain Modelling Guidebook STARS-VC-A023/011/00, March 1995, 1995

SALINGAROS, N. A. The Structure of Pattern Languages, Published in arq -- Architectural Research Quarterly volume 4 (2000) pages 149-161, Cambridge University Press, 2000

SILVA, E. L; MENEZES, E. M. Metodologia de pesquisa e elaboração de dissertação. 3 ed., rev. e atual., Florianópolis: UFSC, 2001

SOMMERVILLE, Ian. Engenharia de software, 8ª edição. São Paulo: Pearson Addison Wesley, 2007.

SPANOUDAKIS, G., CONSTANTOPOULOS, P. Analogical Reuse of Requirements Specifications: A Computational Model, Applied Artificial Intelligence, Volume 10, 1996

SPANOUDAKIS, G., ZISMAN, A., Software Traceability: A Roadmap. Advances in Software Engineering and Knowdledge Engineering, Vol. 3: Recent Advances,(ed) S.K Chang, World Scientific Publishing, ISBN:981-256-273-7, Agosto de 2005

SPSS, SPSS Statistics version 17.0, release 17.0.0 (Aug 23, 2008) for Windows. Chicago, SPSS Inc., 2011

SWEBOK. Guide to the Software Engineering Body of Knowlegment, IEEE Computer Society, 2004. Disponível em http://www.computer.org/portal/web/swebok/htmlformat. Acesso em outubro de 2009.

TAMAI, T., KAMATA, M. L. Impact of Requirements Quality on Project Success or Failure, Design Requirements Engineering: A Ten-Year Perspective, Lecture Notes in Business Information Processing, 14, 258-275, 2009

TORO, A. D., BERNÁRDEZ, B., RUÍZ, A., TORO, M. A Requirements Elicitation Approach Based in Templates and Patterns, In Proceedings 2nd Workshop on Requirements Engineering (WER’99), 1999

TRACZ, W. Software Reuse Myths Revisited, Proceeding ICSE '94 Proceedings of the 16th international conference on Software engineering, IEEE Computer Society Press Los Alamitos, CA, USA, 1994

TRAVASSOS, G. H., GUROV, D., AMARAL, E. A. G. Introdução a Engenharia de Software Experimental, Relatório Técnico – RT-ES-590/02, Programa de Engenharia de Sistemas de Computação COOPE/UFRJ, 2002

TSUMAKI, T. Requirements Engineering Pattern Structure. APSEC'04, 2004

TSUMAKI, T., TAMAI, T., Framework for matching requirements elicitation techniques to project characteristics. 505-519, 2006.

VAN DER LINDEN, F., SCHMID, K., ROMMES, E., Software product lines in action: the best industrial practice in product line engineering, Springer-Verlag New York, 2007, ISBN:3540714367

Page 148: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

143

VILLEGAS, O. L., LAGUNA, M. A. Requirements Reuse for Software Development, Proceedings of the RE'01 Doctoral Workshop - Fifth IEEE International Symposium on Requirements Engineering, Toronto - Canada, 2001

VLIET, H. V. Software Engineering: Principles and Practice, Wiley, 2007

VON KNETHEN, A. PAECH, B., KIEDAISCH, F., HOUDEK, F. Systematic Requirements Recycling through Abstraction and Traceability, Proceedings of the IEEE Joint International Conference on Requirements Engineering (RE’02), 2002

VISURE SOLUTIONS, IRQA v4, 2010, Disponível em: <www.visuresolutions.com>, Acessado em: Outubro de 2010.

WAHONO, R. S. On the Requirements Pattern of Software Engineering, Proceedings of Temu Ilmiah XI 2002, 2002

WAZLAWICK, Raul Sidney; Metodologia de Pesquisa para Ciência da Computação, Rio de Janeiro: Elsevier, 2009

WIEGERS, K. E. More About Software Requirements: Thorny Issues and Practical Advice, Microsoft Press, ISBN:0735622671, 2006

WINN, T., CALDER, P. Is This a Pattern?, IEEE Computer Society Press, CA-USA, 2002 p.59-66

WITHALL, S. Software Requirement Patterns, Washington: Microsoft Press, 2007.

YOUNG, R. R. The Requirements Engineering Handbook. Artech House, 2004

YOUNG, R. R. Twelve Requirements Basics for Project Sucess. CROSSTALK The Journal of Defense Software Engineering, 2006 - www.stsc.hill.af.mil, 2006

ZAND, M. K., SAMADZADEH, M. H. Software reuse issues and perspectives, Potentials, IEEE , vol.13, no.3, pp.15-19, Aug/Sep 1994, 1994

ZHANG, Z; Effective Requirements Development - A Comparison of Requirements Elicitation techniques, SQM2007 conference, 2007

Page 149: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

144

APÊNDICE A - PROTOCOLO DE MAPEAMENTO SISTEMÁTICO

Normalmente, a primeira atividade em um processo de pesquisa é a atividade de revisão da

literatura. Esta atividade visa coletar todo o conhecimento prévio existente em cerca de um assunto.

Porém, esta atividade é comumente realizada de forma ad-hoc, sem um protocolo de revisão pré-

estabelecido para a sua condução (MAFRA; TRAVASSOS, 2006). A realização desta atividade

sem um sistematização pode levar uma pesquisa a obter resultados poucos abrangentes, aumentando

a possibilidade de resultados tendenciosos. Mafra e Travassos (2006, p.10) contribuem em afirmar,

o uso de uma revisão sistemática é mais indicado que uma revisão informal, isso porque, uma

revisão informal é caracterizada por ser:

Pouca abrangência - não existe um planejamento ou estratégia prévia para a busca e

seleção dos estudos nas fontes de dados;

Não é passível de repetição - por não apresentar nenhum protocolo de revisão, a sua

reprodução não é passível de ser realizada;

Pouco confiável - como os resultados não são documentados, a verificação de acordo

com os resultados não é possível de auditagem;

Dependente dos revisores - sem a possibilidade de auditagem, as revisões são

dependentes dos que a conduziram, o que tende a aumenta o viés de seus resultados.

Neste sentido, a revisão sistemática da literatura é uma forma de avaliar e interpretar todas

as pesquisas acerca de um assunto (KITCHENHAM et al., 2007). O mapeamento sistemático é uma

forma de estudo secundária que utiliza uma metodologia rigorosa, confiável e que possibilita

auditagem. A sua utilização é feita com meio de identificar, avaliar e interpretar todas as pesquisas

disponíveis relevantes para obtenção de subsídios para responder uma determinada questão de

pesquisa, ou área temática, ou fenômeno de interesse, evitando viés e que permite certo grau de

reprodução por outros pesquisadores. A sua reprodução deve de ser passível, já que uma revisão

sistemática da literatura deve de produzir um protocolo de busca (KITCHENHAM et al., 2007). A

revisão sistemática também é uma forma de apresentar uma síntese dos trabalhos como prova de

Page 150: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

145

investigação referente a um tema de pesquisa (BRERETON et al., 2007). Esta revisão sistemática

seguirá a estrutura de agrupamento das atividades conforme Brereton et al. (2007).

Sendo assim, este apêndice tem o caráter de apresentar o protocolo de uma mapeamento

sistemático da literatura realizada neste projeto, seguindo as etapas proposta por Kitchenham et al.,

(2007). A revisão sistemática é uma forma de avaliar e interpretar todas as pesquisas acerca de um

assunto (KITCHENHAM et al., 2007). O mapeamento sistemático é uma forma de apresentar uma

síntese dos trabalhos como prova de investigação referente a um tema de pesquisa (BRERETON et

al., 2007).

1 OBJETIVO

Este mapeamento sistemático tem como objetivo identificar, analisar e avaliar pesquisas

voltadas para o conhecimento de padrões de escrita de requisitos na disciplina de Engenharia de

Requisitos. A intenção é de conhecer, de maneira imparcial, o estado da arte referente a padrões de

escrita de requisitos para Engenharia de Requisitos.

2 PLANEJAMENTO DA REVISÃO

O planejamento deste estudo segue conforme o modelo de protocolo descrito por

Kitchenham et al., (2007).

A revisão do protocolo deu-se junto a um especialista na área, e sua execução foi realizada

pelo próprio autor, devido a não haver outra pessoa no qual pudesse delegar esta atividade. As

demais atividades do planejamento da revisão estão detalhadas nos próximos tópicos.

2.1 PERGUNTA DE PESQUISA

Este trabalho pretender encontrar estudos nos quais possam ajudar a responder a seguinte

pergunta de pesquisa:

Questão de Pesquisa: Quais os padrões para a escrita de requisitos de software?

Page 151: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

146

2.2 ESTRUTURA DA PERGUNTA DE PESQUISA

Segundo Kitchenham et al. (2007), os seguintes critérios devem de ser respondidos para

enquadrar as questões de pesquisa de Engenharia de Software para a orientação da seleção dos

estudos primários:

População: esta pesquisa explora é a de publicações em engenharia de software com o foco

em engenharia de requisitos.

Intervenção: pretende-se encontrar catálogos, padrões ou categorias de padrões para escrita

de requisitos de software.

Comparação: nenhuma comparação será realizada.

Resultados: entende-se que o autor poderá ter subsídios para elaboração de um catálogo de

padrões para escrita de requisitos de software.

Contexto: comunidade de Engenharia de Software.

Desenho do experimento: nenhum método estatístico será aplicado.

Controle: checklists e inspeção ad-hoc.

Aplicação: projetos de desenvolvimento de software na atividade de elicitação de requisitos.

2.3 ESTRATÉGIA DE BUSCA

Segundo Kitchenham et al. (2007), é necessário determinar e seguir uma estratégia de

pesquisa. Essa estratégia consiste em identificar revisões sistemáticas existentes, elaboração das

strings de buscas, verificação experimental das strings de buscas, e consulta de especialistas na

áreas.

Como estratégia de busca, foi realizada uma busca por revisões sistemáticas na web (fonte:

Google) pelo termo “revisão sistemática” and “padrões de requisitos” em português e “systematic

review” and “requirements pattern”, o qual resultou em nenhum registro encontrado para ambas as

buscas. Após essa busca, foram identificadas e analisadas as possíveis fontes de busca em base de

Page 152: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

147

dados eletrônica, seleção dos idiomas nos quais seriam criados as strings de buscas, e as palavras

chaves para as strings de busca. A descrição desses dados está listada a seguir:

Fontes: A busca será feita em bases de dados eletrônicas como:

ACM Digital library (<http://portal.acm.org/>);

IEEExplore (<http://ieeexplore.ieee.org>);

SpringerLink (<http://www.springerlink.com>);

ScienceDirect (<http://www.sciencedirect.com >);

Citesser library (<http://citeseerx.ist.psu.edu/>);

Google scholar (<http://scholar.google.com/>);

BDTD – Biblioteca Digital Brasileira de Teses e Dissertações

(<http://bdtd.ibict.br>);

Domínio Público (<http://www.dominiopublico.gov.br>);

Banco de Teses e Dissertações da UFRGS (<http://www.lume.ufrgs.br>);

Banco de Teses e Dissertações da USP (<http://www.teses.usp.br>);

Biblioteca Digital de Teses e Dissertações – UFSCar

(<http://200.136.241.56/htdocs/tedeSimplificado/>);

Biblioteca Digital de Teses e Dissertações – UFRJ (<http://www.minerva.ufrj.br/>);

Biblioteca Digital da Sociedade Brasileira de Computação (SBC) –

(<http://www.sbc.org.br/bibliotecadigital/>);

Algumas bases de dados eletrônicas como Inspec e El Compendex foram descartas devido à

restrição ao acesso destas bases.

Page 153: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

148

Idioma: A busca inicia-se pela preferência em trabalhos na língua inglesa, por se tratar de

uma língua universalmente aceita para trabalhos científicos e por ter conhecimento de que os

trabalhos mais atuais encontram-se na língua inglesa. Posteriormente trabalhos em língua

portuguesa.

Palavras chaves: “pattern”, “catalog”, “category”, “software requirement”, “requirements

engineering” e “requirements elicitation” (em inglês), “padrões”, “catálogo”, “categoria”,

“requisitos de software”, “engenharia de requisitos” e “elicitação de requisitos” (em português).

2.4 DEFINIÇÃO DAS STRINGS DE BUSCA

Segundo Kitchenham et al. (2007), é necessário determinar e seguir uma estratégia de

pesquisa. Essa estratégia consiste em identificar revisões sistemáticas existentes, elaboração das

strings de buscas, verificação experimental das strings de buscas, e consulta de especialistas na

áreas. O Quadro 6 e Quadro 7 ilustram as strings de buscas elaboradas para utilização nas bases de

dados eletrônicas já relatadas anteriormente.

Quadro 6 - Strings de busca no idioma inglês.

((pattern OR catalog OR category) AND (“software requirement” OR “requirements

engineering” OR “requirements elicitation”))

Quadro 7 - Strings de busca no idioma português.

((padrões OR catálogo OR categoria) AND (“requisito de software” OR “engenharia de

requisitos” OR “elicitação de requisitos”))

2.5 CRITÉRIOS DE INCLUSÃO E EXCLUSÃO DE ESTUDOS PRIMÁRIOS

Serão aceitos trabalhos que façam discussões que ajudem a responder a pergunta de pesquisa

referenciada neste trabalho, especificamente:

Page 154: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

149

estudos que apresentam padrões para escrita dos requisitos de forma a permitir a sua

aplicação, ou seja, estudos que expõem o padrão de forma detalhada viabilizando sua

utilização;

estudos que evidenciassem a aplicação do padrão proposto em projetos reais ou

acadêmicos.

Consequentemente, considerou-se como critérios de exclusão:

estudos em que o padrão proposto não abordava aspectos relacionados com a forma

de escrita/documentação de requisitos de software;

estudos nos quais o padrão não era apresentado detalhadamente, inviabilizando sua

aplicação;

estudos que não evidenciavam a aplicação do padrão, seja no meio acadêmico, seja

na indústria.

2.6 CRITÉRIOS PARA FILTRAGEM DE PESQUISA

A lista de critérios adotados para filtragem das pesquisas encontradas pelas strings

informadas anteriormente contempla:

fonte onde o estudo foi encontrado;

análise do título do trabalho;

análise do resumo;

análise do trabalho;

relevância e abrangência do estudo;

Page 155: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

150

2.7 PROCESSO DE SELEÇÃO DE TRABALHOS PRELIMINAR

O processo de seleção preliminar dos trabalhos será feitos através da utilização das strings

ou palavras-chaves e sinônimos identificados, nas quais serão submetidas às máquinas de buscas

relatadas anteriormente.

Será efetuada a leitura do resumo dos trabalhos encontrados. Os trabalhos que atendam aos

critérios descritos anteriormente, ou que seja identificada alguma relevância, serão separados para

uma leitura detalhada posteriormente.

Os trabalhos selecionados para a execução do processo de seleção dos estudos primários

serão avaliados utilizando-se critérios de qualidade estabelecidos detalhados na seção 2.8. Os

trabalhos que contemplarem os critérios de qualidade serão incluídos no processo de extração dos

dados.

Os trabalhos selecionados serão armazenados em um diretório, nos quais os arquivos serão

nomeados utilizando primeiramente o ano da publicação e o título do documento. No entender do

autor, essa é uma forma eficiente de armazenamento e posterior localização dos documentos. Ainda,

se utilizou a ferramenta Mendeley Desktop (2008) para o gerenciamento dos estudos. A Figura 32

ilustra parte da seleção de estudos com algumas informações extraídas.

Page 156: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

151

Figura 32 - Gerenciamento da seleção de estudos.

2.8 AVALIAÇÃO DA QUALIDADE DOS ESTUDOS PRIMÁRIOS

Serão considerados estudos de qualidade os estudos nos quais os autores apresentem de

forma detalhada o padrão, de forma a viabilizar a sua aplicação, além de descrições de como utilizar

o padrão proposto. Outro critério de qualidade em que os estudos devem se adequar é quanto à

descrição dos resultados alcançados pelos pesquisadores.

Outros critérios de qualidade já estão implícitos na seleção das bases de dados eletrônicas.

Normalmente as pesquisas publicadas nessas bases são passadas por um rigoroso critério de revisão

por pesquisadores que exercem intenso trabalho na comunidade. Exemplo desses critérios de

qualidade implícitos pode ser: revisão externa, coerência, completude, imparcialidade, dentre

outros.

2.9 EXTRAÇÃO DOS DADOS

Para os trabalhos selecionados no processo de extração dos dados serão extraídas as

seguintes informações:

data de publicação;

título do trabalho;

Page 157: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

152

local da publicação;

pesquisadores autores do trabalho;

descrição do padrão;

descrição da pesquisa realizada;

resultado da pesquisa;

comentários adicionais;

Como resultado da extração dos resultados, será elaborado um relatório sobre as principais

conclusões e análise dos trabalhos selecionados. Os trabalhos que forem considerados adequados à

proposta do projeto de dissertação, serão separados e utilizados no projeto de pesquisa com o

objetivo de contribuir com a elaboração de um catálogo de padrões para apoiar a atividade de

elicitação de requisitos.

A sumarização do resultado do relatório poderá ser expressa tanto em sínteses discursivas

quanto quadros tabulados. Nenhuma meta-análise será realizada.

3 CONDUÇÃO DA REVISÃO

Segundo Kitchenham et al. (2007), com o protocolo acordado, pode-se iniciar a condução da

revisão.

Este mapeamento sistemático foi realizado no mês de junho a agosto de 2010 com o intuito

de cumprir uma atividade da disciplina de estudo dirigido, mas ajudou a encontrar alguns estudos

que contribuíram de forma significativa na condução do trabalho de pesquisa do autor. A busca por

trabalhos para mapear o estado da arte dos debates a respeito de padrões de escrita de requisitos, já

foi realizada durante alguns meses, mas essa busca ainda não era sistematizada. A condução

realizou-se utilizando as strings definidas anteriormente neste documento e procedeu de suas

utilizações nas buscas das bases de dados eletrônicas que também estão relacionadas anteriormente.

A seção a seguir trata de apresentar as etapas seguidas na condução do mapeamento sistemático.

Page 158: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

153

3.1 IDENTIFICAR A PESQUISA

A pesquisa nas bases de dados foi realizada no mês de junho e julho de 2010. As Tabela 17

e Tabela 18, relacionam fonte de dados, a string formatada para a base e a quantidade de estudos

localizados. Optou-se o uso da string de busca, na busca pelo título dos trabalhos. Isso devido ao

resultado de um busca por todos os campos retornarem muitos trabalhos não relacionados ao tema,

o que comprometeria a pesquisa por não dispor de tempo hábil para analisar todos os trabalhos.

Nenhum problema ocorreu na execução das strings nos motores de busca das base de dados

eletrônicas. O campo “String de busca formatada” da Tabela 17 e Tabela 18 ilustra a string

formatada utilizada na busca.

Tabela 17 - Resultado da busca nas fontes utilizando no idioma inglês. Base de dados consultada String de busca formatada Estudos encontrados IEEEXplorer (("Document Title":pattern OR "Document Title":catalog

OR "Document Title":category) AND ("Document Title":"software requirement" OR "Document Title":"Requirements Engineering" OR "Document Title":"Requirements Elicitation"))

A pesquisa retornou 9 resultados

ACM ((Title:pattern or Title:catalog or Title:category) and (Title:"software requirement" or Title:"Requirements Engineering" or Title:"Requirements Elicitation"))

A pesquisa retornou 13 resultados

SpringerLink ((ti:(pattern) OR ti:(catalog) OR ti:(category)) AND (ti:("software requirement") OR ti:("Requirements Engineering") OR ti:("Requirements Elicitation")))

A pesquisa retornou 5 resultados

Science Direct ((title(pattern) or title(catalog) or title(category)) and (title("software requirement") or title("Requirements Engineering") or title("Requirements Elicitation")))

A pesquisa retornou 1 resultado

Google Scholar ((notítulo:pattern OR notítulo:catalog OR notítulo:category) AND (notítulo:"software requirement" OR notítulo:"requirements engineering"))

A pesquisa retornou 16 resultados

CiteSeer ((title:pattern OR title:catalog OR title:category) AND (title:"software requirement" OR title:"requirements engineering") OR title:"Requirements Elicitation")

A pesquisa retornou 7 resultados

Page 159: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

154

Tabela 18 - Resultado da busca nas fontes utilizando no idioma português. Base de dados consultada String de busca formatada Estudos encontrados BDTD – Biblioteca Digital Brasileira de Teses e Dissertações

((titulo:padrões OR titulo:catálogo OR titulo:categoria) AND (titulo:"requisitos de software" OR titulo:"engenharia de requisitos" OR titulo:" elicitação de requisitos"))))

A pesquisa não retornou nenhum resultado

Domínio Publico ((padrões OR catálogo OR categoria) AND ("requisitos de software" OR "engenharia de requisitos" OR "elicitação de requisitos"))

A pesquisa não retornou nenhum resultado

Banco de Teses e Dissertações da UFRGS

((padrões OR catálogo OR categoria) AND ("requisitos de software" OR "engenharia de requisitos" OR "elicitação de requisitos"))))

A pesquisa não retornou nenhum resultado

Google Scholar ((notítulo:padrões OR notítulo:catálogo OR notítulo:categoria) AND (notítulo:"requisitos de software" OR notítulo:"engenharia de requisitos" OR notítulo:" elicitação de requisitos"))

A pesquisa retornou 2 resultados

Banco de Teses e Dissertações da USP

((padrões OR catálogo OR categoria) AND ("requisitos de software" OR "engenharia de requisitos" OR "elicitação de requisitos"))

A pesquisa não retornou nenhum resultado

Biblioteca Digital de Teses e Dissertações – Bco/UFSCar

((padrões OR catálogo OR categoria) AND ("requisitos de software" OR "engenharia de requisitos" OR "elicitação de requisitos"))

A pesquisa retornou 1 resultado

Biblioteca Digital de Teses e Dissertações - UFRJ

( ( WTI = ( padrões ) OR WTI = ( catálogo ) OR WTI = ( categoria ) ) AND ( WTI = ( Requisitos de software ) OR WTI = ( Engenharia de Requisitos ) OR WTI = ( Elicitação de Requisitos ) ) )

A pesquisa não retornou nenhum resultado

Biblioteca digital da SBC ((padrões OR catálogo OR categoria) AND ("requisitos de software" OR "engenharia de requisitos" OR "elicitação de requisitos"))

A pesquisa não retornou nenhum resultado

3.2 SELEÇÃO DOS ESTUDOS PRIMÁRIOS

O processo de seleção deu-se conforme relacionado na sessão 3 no qual resultou na

localização de 54 estudos. Alguns desses 54 estudos se repetiam em outras bases o que resultou

então em 34 estudos únicos. Todos os trabalhos que retornaram nas buscas foram verificados antes

de fazer um descarte ou inclusão no protocolo. A Tabela 19 ilustra os estudos encontrados em uma

matriz. O critério de verificação quanto à fonte foi aplicado sob os estudos, nesta etapa nenhum

descarte foi necessário, pois todos os estudos eram provenientes de fontes confiáveis. No processo

de análise do título 17 trabalhos foram descartados, estes trabalhos são os de Silva et al. (2003),

Compagna et al. (2008), Maiden e Bright (1996), Issa e Al-ali (2010), Hatebur et al. (2007), Maiden

e Hare (1998), Sikkel et al. (2000), Zlatev et al. (2005), Hermoye et al. (2008), Merrick e Barrow

(2004), Pavan et al. (2003), Kozima et al. (2005) e Watahiki e Saeki (2001), Gaska (1999), Hagge

et al. (2006), Xuan et al. (2009), Hironori et al. (2006). Neste passo a quantidade de estudos foi

reduzida para 17 estudos, com os estudos que restaram após a análise do título, foi realizada uma

leitura em seu resumo e nos trabalhos que apresentavam relevância também foi realizada a leitura

Page 160: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

155

da conclusão, a exceção foi o estudo de Ang (2007) o qual não possuía o texto completo disponível

na base de dados. Como resultado desta etapa de análise do resumo e das conclusões foi descartado

12 estudos, cujos estão relacionados na Tabela 20 que também descreve o motivo pelo qual o

estudo foi descartado. No final desta etapa 4 estudos foram selecionados para fazer parte da revisão

sistemática. Foram selecionados os estudos de Franch et al. (2010), Withall (2007), Toro et al.

(1999) e Renault et al. (2009b). Esta etapa foi realizada guiando-se nas orientações apresentadas por

Kitchenham et al., (2007), o qual orienta a proceder de forma cuidadosa e imparcial a seleção dos

estudos, evitando resultados com algum tipo de viés.

Na análise do estudo de Franch et al. (2010), constatou-se que é um estudo que vinha sendo

realizado há alguns anos e veio a ser necessário a inclusão manual de mais dois estudo relacionados

ao grupo de pesquisa no qual participam os autores. Esses estudos são de Mendez-Bonilla et al.

(2008) e Renault et al. (2009a). Essa inclusão justifica-se pelo fato que esses dois estudos são

complemento e evolução do catálogo apresentado inicialmente em Mendez-Bonilla et al. (2008) e

identificado nesta revisão sistemática nos estudos apresentado em Franch et al. (2010) e Renault et

al. (2009b).

Page 161: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

156

Tabela 19 - Matriz de estudo encontrados17.

Base de dados Estudos

IEEE

Xpl

orer

AC

M

Sprin

gerL

ink

Scin

ce D

irect

Goo

gle

Scho

lar (

ING

)

Cite

Seer

Goo

gle

Scho

lar (

POR

)

Bco

/UFS

Car

(ISAZADEH et al., 1995) X (MAIDEN; BRIGHT, 1996) X X (GASKA; GAUSE, 1998) X X (MAIDEN; HARE, 1998) X X (GOTZHEIN et al., 1998) X XX XX (FREDJ; ROUDIÈS, 1999) X X (HATEBUR et al., 2007) X X X (SIKKEL et al., 2000) X (WAHONO, 2002) X (PAVAN, et al., 2003) X (TSUMAKI, 2004) X X X (MERRICK; BARROW, 2004) X (HAGGE et al., 2006) X (ZLATEV et al., 2005) X X (HAGGE et al., 2005) X (HAGGE; LAPPE, 2005) X X (HAGGE; LAPPE, 2006) X (GRAF, 2007) X (FALBO et al., 2007) X (HERMOYE et al., 2008) X (COMPAGNA et al., 2008) X X (ISSA; AL-ALI, 2010) X X (FRANCH et al., 2010) X (TOLEDO, 2008) X X (WITHALL, 2007) X (ANG, 2007) X (SILVA et al., 2003) X (XUAN et al., 2009) X (GASKA, 1999) X (RENAULT et al., 2009) X X (TORO et al., 1999) XX (HIRONORI et al., 2006) X (KOZIMA et al., 2005) XX (WATAHIKI; SAEKI, 2001) X

17 As colunas com XX representa que o mesmo estudo foi encontrado em duplicidade na base de dados.

Page 162: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

157

Tabela 20 - Estudos descartados na etapa de análise do resumo e conclusões.

Estudo Motivo do descarte (FARBO et al., 2007) Os padrões relatados pelos autores são referentes a padrões de análise. (FREDJ; ROUDIÈS, 1999) O estudo dos autores não trata de escrita de padrões, mais sim de como conduzir a

atividade de elicitação de requisitos. (GASKA; GAUSE, 1998) O estudo avalia as práticas comuns em uma disciplina da engenharia de requisitos.

A abordagem procura soluções de problemas no processo de engenharia de requisitos em outras disciplinas. Faz uso de padrões para descrever como proceder na condução do processo de engenharia de requisitos utilizando-se de um framework de boas práticas de engenharia de requisitos. Os autores mapeiam os objetivos e questões sobre o processo de ER, utiliza-se de exemplos genéricos sobre esses objetivos e questões e relaciona com uma fase da engenharia de requisitos.

(GRAF, 2007) O objetivo do estudo é de promover uma abordagem para engenharia na qual consistiu em uso de repositório de padrões para padrões de interação. Padrões de interação são soluções para problemas de especificação de design de interface de usuário, que se utiliza com conceito inicial de padrões promovidos por Gamma et al. (1995) (GRAF, 2007).

(GOTZHEIN et al., 1998) O objetivo do estudo é de descobrir padrões interessantes de requisitos não triviais em tempo real e sua posterior aplicação. Os autores utilizam padrões para especificação de requisitos de linguagem formal para aplicações de tempo real.

(ISAZADEH et al., 1995) O estudo trata de padrões comportamentais. Esses padrões fornecem uma base semântica para apresentação de uma arquitetura de software e configuração de um ponto de vista comportamental (ISAZADEH et al., 1995).

(TOLEDO, 2008) O estudo dos autores não trata de escrita de padrões, mais sim de como as atividades do processo de engenharia de requisitos.

(WAHONO, 2002) Objetivo é demonstrar o esforço da comunidade em utilizar o paradigma de padrões de requisitos aplicados na engenharia de requisitos. Porém, o mesmo não pode ser incluso neste protocolo devido a não atender a um dos critérios de qualidade, no qual se refere à apresentação de padrões que possam ser aplicados e descrição de como utilizar o padrão apresentado pelo estudo.

(HAGGE; LAPPE, 2005) O estudo apresenta quatro padrões para as atividades básicas de engenharia de requisitos. Os padrões apresentados pelos autores têm um foco de demonstrar como realizar algumas das atividades do processo de engenharia de requisitos.

(HAGGE; LAPPE, 2006) Esse estudo apresenta padrões para aprendizagem organizacional e melhoria do processo de engenharia de requisitos.

(TSUMAKI, 2004) O estudo realizado pelo autor propõe uma estrutura adequada para padrões de engenharia de requisitos.

(HAGGE et al., 2005) O estudo trata sobre um repositório de padrões de engenharia de requisitos. Nenhuma referência sobre a escrita é relatada neste estudo. Contudo este estudo poderá servir de base teórica para descrição da abordagem no qual se irá formular.

3.3 EXTRAÇÃO E MONITORAÇÃO DOS DADOS

A ferramenta Mendeley Desktop (2008) proporcionou uma grande auxilio nesta etapa. Com

o a auxílio da ferramenta pode-se identificar trabalhos repetidos, organizar referências, priorizar

leituras, recuperar documentos, adicionar comentários e revisões.

Page 163: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

158

A Tabela 21 ilustra um template para sintetizar os dados extraídos dos trabalhos

selecionados para formar os estudos primários deste protocolo de revisão sistemática. Após esse

passo, os resultados poderão finalmente ser publicados.

Tabela 21 - Template da tabela de extração dos dados dos estudos primários selecionados.

Data de Publicação Ano/mês/dia Local Título

Autores

Descrição do padrão

Descrição da avaliação do padrão Resultado da pesquisa Comentários adicionais

3.4 EXTRAÇÃO DOS DADOS DOS ESTUDOS SELECIONADOS

As tabelas apresentadas nesta seção são referentes aos dados extraídos dos estudos

selecionados na condução de uma revisão sistemática.

Page 164: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

159

Tabela 22 - Extração dos dados do estudo de Franch et al. (2010).

Data de Publicação 2010/mês/dia Local REFSQ 2010, Springer-Verlag: Berlin

Título A Metamodel for Software Requirement Patterns Autores FRANCH, X., PALOMARES, C., QUER, C., RENAULT, S., LAZZER, F. Descrição do padrão Neste estudo é apresentado o meta-modelo para padrões de requisitos. Este meta-modelo para padrões de requisitos que é composto de três conceitos: 1) estrutura padrões de requisitos; 2) os relacionamentos entre os padrões; 3) os critérios de classificação para agrupá-los; O estudo apresenta uma solução para apoiar os analistas de sistemas sem experiência em engenharia de requisitos para lidar com atividades de análise de requisitos e design. Para tanto, os autores criaram um catálogo com 29 padrões de requisitos não funcionais. Segundo os autores, padrões de requisitos sob requisitos não funcionais são menos sensíveis as mudanças no domínio do problema. Descrição da avaliação do padrão No experimento realizado pelos autores os padrões de requisitos trouxeram uma grande percentagem de reutilização de requisitos não funcionais na especificação de requisitos. A pesquisa foi realizadas em 7 propostas de projetos reais. Resultado da pesquisa Os argumentos deste estudo são os mesmos apresentados em Renault et al. (2009a). Comentários adicionais Este estudo é a evolução de dois outros estudos publicados pelos autores, esse estudo passou por processo de avaliação seguindo critério de uma empresa privada. É apresentada uma estrutura para criação e escrita dos padrões, no qual também é encontrado no trabalho do grupo em Mendez-Bonilla et al. (2008). O processo de utilização da abordagem dos autores está descrita no estudo Renault et al. (2009a). Uma visão futura vislumbrada pelos autores é de aplicar o estudo em outros contextos e adequar de forma que contemple os requisitos funcionais também. E outra visão futura dos autores é de converter o meta-modelo atual em um meta-modelo de padrões de linguagem.

Page 165: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

160

Tabela 23 - Extração dos dados do estudo de Renault et al. (2009a).

Data de Publicação 2009/mês/dia Local International Journal of Computer Science and Applications

Título A Pattern-based Method for Building Requirements Documents in Call-for-tender Processes. Autores RENAULT, S., MÉNDEZ-BONILLA, Ó., FRANCH, X., QUER, C. Descrição do padrão Este estudo apresenta um método intitulado PABRE, que constitui na aplicação de um catálogo de padrões de requisitos em um contexto de desenvolvimento de software de prateleira. Neste estudo é especificado o processo pelo qual é criado um documento de especificação de requisitos utilizando-se de padrões de requisitos de software. O estudo trata do método para utilização de um catálogo de padrões de requisitos. O catálogo apresentado neste estudo é uma evolução do que foi apresentado em Mendez-Bonilla et al. (2008). As seguintes etapas foi seguidas pelos autores para a elaboração do catálogo:

1) Consolidação dos livros de requisitos existentes; (70 requisitos não funcionais foram identificados de 7 livros de requisitos)

2) Análise dos requisitos não funcionais; 3) Definição da estrutura para padrão; (aqui os autores articularam um formulário para um meta-modelo) 4) Construção do catálogo; (os requisitos foram formalizados em um catálogo usando a estrutura de padrão. A

primeira versão do catalogo contava com 48 padrões de requisitos não funcionais e foi validado com um caso de estudo, esse processo é relatado por outro trabalho do grupo em Renault et al. (2009). Após uma nova analise por experts utilizando-se de uma diferente perspective, reformularam o catalogo excluindo redundâncias e padrões que não tinha uma clara justificativa para sua existência e inclinou-se para mesclar alguns padrões para criar novos utilizando da mesma estrutura. Com essa nova análise o resultado foi um catálogo com 29 padrões de requisitos não funcionais.

O formulário para a escrita do padrão de Renault et al. (2009a), é estruturada da seguinte forma: Padrão de meta-dados – é um conjunto de atributos que define os meta-dados sobre o modelo em si; Formulário do padrão – é uma forma de permite que modelo possa declarar um padrão de várias formas. Parte fixa – é uma declaração abstrata, que afirma o que o sistema deve de atingir como meta para o padrão. Extensões – é onde comporta informações extras sobre a parte fixa, já que a parte fixa é de uma forma abstrata. Pode ser usada para reescrever a parte fixa ou restringi-la Texto do formulário – cada parte fixa e prolongada de um padrão é especificada por um texto do formulário. Utilizam-se frases curtas e escritas em linguagem natural no qual pode incluir um ou mais parâmetros que indicam as partes que podem variar em diferentes projetos. Quando um padrão é selecionado os parâmetros são substituídos por valores e cada parâmetro é vinculado a uma métrica e opcionalmente terá uma condição de correção. As métricas podem assumir valores inteiros, real, booleanos ou listas enumeradas. Texto da questão – também é associado a cada correção ou parte estendida. Corresponde a uma reescrita do texto em forma de interrogativa e é utilizado para saber se um produto satisfaz os requisitos estabelecidos pela parte fixa ou a parte estendida. Dependência – “padrões de requisitos não vivem isolados”. Os autores sustem que os padrões podem ser relacionados em um catalogo. Dois tipos de dependência foram identificados pelos autores: dependência entre padrões e dependência entre parâmetros. Esquema de classificação – para uma melhor compreensão e ajudar na seleção dos padrões na atividade de elicitação de requisitos, os autores utilizaram a norma ISSO 9126-1 e a abordagem Volere proposta por Robertson e Robertson (1999) e experimentação empírica, para a elaboração de seu esquema de classificação dos padrões. Segundo os autores o motivo de utilizar vários esquemas de classificação é de melhorar a utilização e portabilidade do repositório. Descrição da avaliação do padrão A avaliação foi realizada em dois estudos de caso. O primeiro trata de um projeto de uma biblioteca digital, neste projeto mais de 90% dos requisitos não funcionais foram obtidos do catálogo. O segundo estudo de caso é realizado em um projeto de um sistema de gestão de relacionamento com o cliente, neste estudo de caso os autores relatam que a experiência ajudou na verificação da integridade dos padrões relacionados no novo catálogo e confirmou a necessidade de ter uma ferramenta que apóie a abordagem.

Page 166: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

161

Resultado da pesquisa Com resultado os autores conseguir obter uma evolução do catálogo, no primeiro estudo de caso os autores utilizaram um catálogo com 48 padrões de requisitos, após o estudo conseguiu-se refinar o catálogo, passando a compor 32 requisitos. Após a conclusão do segundo estudo de caso, confirmou-se a necessidade de uma ferramenta para apoiar a abordagem. Como resultado final os autores concluem que a abordagem trouxe uma redução no tempo na atividade de elicitação de requisitos e os requisitos que vieram a compor o documento de especificação de requisitos são de “maior qualidade”. Nenhum critério para mensuração de qualidade é descrita pelos autores. Comentários adicionais O catálogo é baseado no trabalho feito em Mendez-Bonilla et al. (2008), porem em ambos os trabalhos o conteúdo dos catálogos não é apresentado, os autores consideram com um conteúdo independente e que o objetivo deste estudo é de apresentar o método. Em contato com os autores, obteve-se o catálogo completo em sua última versão disponível em <http://www.upc.edu/gessi/PABRE>. Este trabalho foi incluído manualmente na revisão sistemática por se tratar de uma pesquisa realizada anteriormente por Franch et al. (2010), no qual relata o processo seguido anteriormente na pesquisa realizada em 2010.

Page 167: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

162

Tabela 24 - Extração dos dados do estudo de Renault et al. (2009b).

Data de Publicação 2009/mês/dia Local Third International Conference on Research Challenges in Information Science

Título PABRE: Pattern-Based Requirements Elicitation Autores RENAULT, S., MÉNDEZ-BONILLA, Ó., FRANCH, X., QUER, C. Descrição do padrão O estudo apresenta o método PABRE, que objetiva facilitar a atividade de elicitação de requisitos utilizando uma proposta de padrões de requisitos. Descrição da avaliação do padrão Segundos os autores, a utilização do método poupa o tempo da atividade de elicitação de requisitos e reduz erro durante a condução da atividade. O método consiste na utilização de um catálogo de padrões de requisitos, no qual é aplicado à seleção particular do projeto, convertendo em necessidades reais. Os argumentos deste estudo são os mesmos apresentados em Renault et al. (2009a). Resultado da pesquisa Os argumentos deste estudo são os mesmos apresentados em Renault et al. (2009a). Comentários adicionais Este estudo tratar de uma pesquisa realizada anteriormente por Franch et al. (2010), no qual relata o processo seguido anteriormente na pesquisa realizada em 2010.

Page 168: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

163

Tabela 25 - Extração dos dados do estudo de Mendez-Bonilla et al. (2008).

Data de Publicação 2008/mês/dia Local Seventh International Conference on Composition-Based Software Systems

Título Requirements Patterns for COTS Systems Autores MENDEZ-BONILLA, O., FRANCH, X., QUER, C. Descrição do padrão O processo no qual a proposta descreve consiste na identificação de padrões e sua instanciação do projeto concreto, o que gera a especificação dos requisitos do sistema e base para o documento de especificação de requisitos. A construção dos padrões é realizada a partir da observação de requisitos similares já utilizados na construção de vários projetos de software. Quando essa similaridade é identificada, os autores realizam um estudo para verificar se há um padrão de forma a generalizar. O objetivo é a geração de um catálogo de padrões de requisitos, então após a identificação de um padrão o mesmo é adicionado a esse catálogo. Para tanto, os autores utilizam a seguinte estrutura para a descrição dos padrões: Objetivo do padrão: Esse campo conduz o analista de sistema na seleção do padrão Descrição do padrão: Texto que descreve ou resume o padrão Parte fixa: Consiste em uma frase que expressa o padrão em si, o objetivo geral e sua identificação. Extensões: É o corpo técnico do padrão. Estas extensões são opcionais, também podem ser expressas em padrões, mais os autores julgam que é melhor mantê-los juntos já que essas extensões expressam um mesmo objetivo para um projeto COTS. Parâmetros: os parâmetros são conjunto de valores específicos que são assumidos durante a aplicação de um modelo de projeto. Uma métrica é definida para cada parâmetro para indicar claramente a semântica do parâmetro. Descrição da avaliação do padrão Nenhuma avaliação é relatada pelos autores, esta fica como trabalho futuro. Porem é afirmado pelos autores que os padrões de requisitos obtidos foram identificados em análise de projetos acabados, e posteriormente testados em projetos nos quais consistiam na seleção de padrões do catálogo em projetos de sistemas COTS. Resultado da pesquisa Catálogo de padrões de requisitos não funcionais baseados em requisitos analisados de projetos anteriores. Este classificado utilizando-se da norma ISO/IEC 9126-1. Comentários adicionais O trabalho dos autores é uma forma de ajudar o analista de sistema a coletar os requisitos de sistema. O trabalho apresenta uma proposta para uso de padrões de requisitos que possa ser aplicados em diferentes projetos. Segundo os autores, padrões de requisitos ajudam os analistas de requisitos há reduzir o tempo na atividade de elicitação de requisitos, devido a não ter a necessidade de iniciar a atividade do zero. O processo no qual a proposta descreve consiste na identificação de padrões e sua instanciação do projeto concreto, o que gera a especificação dos requisitos do sistema e base para o documento de especificação de requisitos. Para a elaboração do catálogo os autores fizeram análise de projetos de software e perceberam que os requisitos não funcionais e não técnicos podem ser reutilizados com pequenas variações independentemente de domínio do sistema. Segundo os autores, os requisitos funcionais não têm essa flexibilidade, a reutilização desses requisitos dá-se em domínio semelhantes de projetos. O catálogo de padrões requisitos dos autores é endereçado a requisitos do tipo não funcionais e não técnicos. O argumento utilizado é de que padrões de requisitos para requisitos não funcionais e não técnicos são de maior utilizada em projetos do que padrões específicos e seriam mais adequados para uso em projetos de domínios específicos. O catálogo é proposto de forma aberta, no qual evolua e cresça a partir de experiências adquiridas em novos projetos. Em um ciclo de vida dos padrões, os novos padrões serão adicionados a partir de novas necessidades e desejos dos stakeholders, e estes serão avaliados a cada utilização do catálogo. Este trabalho foi incluído manualmente na revisão sistemática por se tratar de uma pesquisa realizada anteriormente por Franch et al. (2010), no qual relata o processo seguido anteriormente na pesquisa realizada em 2010.

Page 169: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

164

Tabela 26 - Extração dos dados do estudo de Withall (2007).

Data de Publicação 2007/mês/dia Local Microsoft Press

Título Software Requirement Patterns. Autores WITHALL, S. Descrição do padrão O estudo fundamenta um catálogo de padrões de requisitos composto por 37 padrões em oito domínios, que juntos podem representar mais da metade de um conjunto de especificações típicas de requisitos de um sistema comercial. Descrição da avaliação do padrão Os padrões foram identificados a partir de estudos em projetos reais. No estudo apresentado pelo autor, mais de 400 exemplos de escrita de requisitos são apresentados. Segundo o autor, muitos podem ser aplicados sem nenhuma alteração a qualquer tipo de sistema, e os demais servem de ponto de partida para que possa ser adequada a necessidade dos usuários. Resultado da pesquisa Compilação de um catálogo com 37 padrões de requisitos. Comentários adicionais Segundo Withall (2007), padrão de requisitos consiste é uma abordagem para a especificação de um determinado tipo de requisito. Seu emprego fornece orientações sobre como fazer a especificação (escrita) dos tipos mais comuns de requisitos. Isso torna a tarefa de escrita mais fácil e rápida de ser realizada e melhora a qualidade desses requisitos. Para o autor, no desenvolvimento de sistema é normal encontrar requisitos que são de natureza similar ou que apareça com freqüência na maioria dos sistemas. Conforme o autor, a introdução de noção de padrões de requisitos para a escrita de requisitos, é um esforço extra que permite especificar os requisitos de uma forma mais consistente, e que permite descrever a forma de como cada requisitos deve ser usados ou definido. Segundo o autor, os padrões de requisitos fornecem orientações de como escrever os requisitos, sugerindo informações, ajudando com alertas e sugestões que devem de ser consideradas. Também ajuda a poupar tempo, por não ser necessária a escrita do requisito a partir do zero, fornecendo um ponto de partida, uma estrutura para sua construção. Padrões de requisitos também são visto como um fator de qualidade no processo de desenvolvimento de software. No caso dos padrões de requisitos, vêem a promover a consistência entre os requisitos do mesmo tipo.

Page 170: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

165

Tabela 27 - Extração dos dados do estudo de Toro et al. (1999).

Data de Publicação 1999/mês/dia Local Proceedings 2nd Workshop on Requirements Engineering (WER’99)

Título A Requirements Elicitation Approach Based in Templates and Patterns Autores TORO, A. D., BERNÁRDEZ, B., RUÍZ, A., TORO, M. Descrição do padrão Neste estudo é apresentado templates de requisitos que podem melhorar a atividade elicitação dos requisitos e de sua expressão. Para isso o autor descreve dois tipos de padrões: padrão lingüístico, que se refere às frases que são normalmente utilizadas nas descrições de linguagem natura dos requisitos, no qual os autores fazem sua parametrização e integração em um template; o outro tipo é o padrão de requisitos, estes são templates de requisitos genéricos que podem ser reutilizados com algumas adaptações durante a atividade de elicitação de requisitos. Descrição da avaliação do padrão Os autores relação sucesso em mais de 40 práticas acadêmicas e utilização em dois projetos reais. Segundo os autores, uma das organizações obteve melhorias da comunicação com os stakeholders. Resultado da pesquisa É apresentado templates e padrões de requisitos que auxiliam na extração e expressão dos requisitos de sistema, com o objetivo de manter os benefícios do uso da linguagem natural para um melhor entendimento dos requisitos por todos os stakeholders. Comentários adicionais Segundo os autores, normalmente a linguagem natural é usada para fazer as especificações de requisitos, isso porque é a única linguagem que é comum para todos os stakeholders. O uso da linguagem natural é um problema reconhecido na literatura, mais o uso de uma notação mais formal muitas vezes faz o entendimento das especificações serem impossíveis de serem entendidas. Para isso, os autores afirmam que o uso de templates para requisitos ajudam a expressar os requisitos, isso estrutura as informações dos requisitos de uma forma fixa. Com isso o analista é auxiliado a encontrar as informações que falta para preencher os requisitos, e os requisitos podem ser facilmente tratados em uma ferramenta computacional e é promovida a reutilização. Também é confirmado pelos autores que o preenchimento dos espaços em branco facilita e agiliza a atividade. E que a reutilização dos templates pode ser feitas diversas vezes, desde que tenha sido identificado e/ou adaptado para um projeto específico.

Page 171: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

166

REFERÊNCIAS

AMATRIAIN, X. An Object-Oriented Metamodel for Digital Signal Processing with a focus on Audio and Music, Universitat Pompeu Fabra, Departament de Tecnologia. Tesi de doutorado em informática e comunicação digital. 2004

ANG, A. Improving the quality of knowledge representation for requirements engineering through natural language requirements patterns, SEA '07: Proceedings of the 11th IASTED International Conference on Software Engineering and Applications, ACTA Press, 2007. Disponível em: http://www.actapress.com/Abstract.aspx?paperId=32045. Acessado em junho de 2010.

BARBER, K.S. GRASER, T.J. JERNIGAN, S.R. SILVA, J. The Systems Engineering Process Activities (SEPA) - supportingearly requirements analysis and integration prior to implementationdesign. Australian Journal of Information Systems (AJIS)---Special Issue on Requirements Engineering 7 (1), 75-97, 1999

BRERETON, P., KITCHENHAM, B. A., BUDGEN, D., TURNER, M., KHALIL, M. Lessons from applying the systematic literature review process within the software engineering domain, Journal of Systems and Software 80, 2007

CARVER, J., JACCHERI, L., MORASCA, S., SHULL, F. Issues in Using Students in Empirical Studies in Software Engineering Education, Proceedings of the 9th International Symposium on Software Metrics (METRICS’03), pp. 239 – 249, Sydney, Australia.

COMPAGNA, L., KHOURY, P. E., KRAUSOVÁ, A., MASSACCI, F., ZANNONE, N. How to integrate legal requirements into a requirements engineering methodology for the development of security and privacy patterns, Artificial Intelligence and Law, Netherlands: Springer, 2008

FALBO, R. A., MARTINS, A. F., SEGRINI, B. M., BAIÔCO, G., DAL MORO, R., NARDI, J. C. Um Processo de Engenharia de Requisitos Baseado em Reutilização de Ontologias e Padrões de Análise. VI Jornadas Iberoamericanas de Ingenieería del Software e Ingeniería del Conocimiento, Lima - Perú, 2007

FRANCH, X., PALOMARES, C., QUER, C., RENAULT, S., LAZZER, F. A Metalmodel for Software Requirement Patterns*, REFSQ 2010, Springer-Verlag: Berlin, 2010, p.85-90

FREDJ, M., ROUDIÈS, O. A Pattern Based Approach for Requirements Engineering, Proceedings of the 10th International Workshop on Database & Expert Systems Applications, 1999

GASKA, M. T. Cross-discipline identification of a unified set of requirements engineering process patterns, 1999. Tese de doutorado na State University of New York at Binghamton

GASKA, M. T., GAUSE, D. C. An Approach for Cross-Discipline Requirements Engineering Process Patterns, ICRE 1998, 1998

Page 172: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

167

GOTZHEIN, R., KRONENBURG, M., PEPER, C. Reuse in Requirements Engineering Discovery and Application of a Real Time Requirement Pattern*, FTRTFT'1998, 1998

GRAF, C. A Requirements Engineering Perspective to Repositories for Interaction Patterns, EuroPLoP 2007 Focus Group on Pattern Repositories, 2007

HAGGE, L., HOUDEK, F., LAPPE, K., PAECH, B. Using Patterns for Sharing Requirements Engineering Process Rationales, Rationale Management in Software Engineering, pp. 409-427. Heidelberg: Springer-Verlag, 2006

HAGGE, L., LAPPE, K. Sharing Requirements Engineering Experience Using Patterns, IEEE Software, Jan/Feb 2005, 2005a, p.24-31

HAGGE, L., LAPPE, K. Using Requirements Engineering (RE) Patterns for Organizational Learning, Journal of Universal Knowledge Management, vol. 1, no. 2 (2006), 2006, p.137-148

HAGGE, L., LAPPE, K., SCHMIDT, T. REPARE: The Requirements Engineering Patterns Repository, 13th IEEE International Conference on Requirements Engineering (RE’05), 2005b

HATEBUR, D., HEISEL, M., SCHMMIDT, H. A Pattern System for Security Requirements Engineering, Second International Conference on Availability, Reliability and Security, p.356-365, April 10-13, 2007 , 2007

HERMOYE, L. A., LAMSWEERDE, A., PERRY, D. E. Attack Patterns for Security Requirements Engineering, 2008. Disponível em: http://www.ece.utexas.edu/~perry/work/papers/060908-LH-threats.pdf. Acessado em junho de 2010.

HIRONORI, W., ATSUTO, K., YOSHIAKI, F. A Pattern Language for Requirements Elicitation in System Development, in IPSJ Winter Workshop 2006, Kamogawa - Japan, 2006

ISAZADEH, A., MACEWEN, G. H., MALTON, A. Behavioral patterns for software requirement engineering, Proceedings of the 1995 conference of the Centre for Advanced Studies on Collaborative research, Toronto, Ontario: Canada, 1995

ISSA, A. A., AL-ALI, A. Use Case Patterns Driven Requirements Engineering, Computer Research and Development (ICCRD), 2010 Second International Conference on Digital Object Identifier, 2010

KITCHENHAM, B.; CHARTERS, S. Guidelines for performing systematic literature reviews in software engineering, Technical Report EBSE 2007‐001, Keele University and Durham University Joint Report, 2007.

KOZIMA, A., KIGUCHI, T., YAEGASHI, R., KINOSHITA, D., HAYASHI, Y., HASHIURA, H., KOMIYA, S. A System To Guide Interview-Driven Requirements Elicitation Work: Domain -- Specific Navigation Using The Transition Pattern Of Topics, Journal of Integrated Design & Process Science, 2005

Page 173: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

168

MAFRA, S. N., TRAVASSOS, G. H. Estudos primários e secundários a busca por evidência em engenharia de Software, Relatório Técnico RT - ES 689/06, Programa de Engenharia de Sistemas e Computação - COPPE/UFRJ, 2006

MAIDEN, N. A. M., BRIGHT, B. P. Recurrent Communication Patterns in Requirements Engineering Meetings, WET ICE, Stanford, California Pohl, 1996

MAIDEN, N. A. M., HARE, M. Problem domain categories in requirements engineering, Int. J. Human-Computer Studies (1998) 49, 281-304, 1998

MENDELY DESKTOP, Mendeley Desktop Research Networks Beta 0.9, 2008, Disponível em: http://www.mendeley.com/, Acessado em novembro de 2009

MENDEZ-BONILLA, O., F., X., QUER, C. Requirements Patterns for COTS Systems, Seventh International Conference on Composition-Based Software Systems, 2008

MERRICK, P., BARROW, P. Testing a Requirements Pattern Language through Reverse Engineering, INCOSE Conference, Toulouse: França, 2004

PAVAN, P., MAIDEN, N. A. M., ZHU, X. Towards a Systems Engineering Pattern Language: Applying i* to Model Requirements-Architecture Patterns, ICSE 2003: Portland, Oregon, USA - Workshop on Software Requirements to Architectures (STRAW), 2003

RENAULT, S., MÉNDEZ-BONILLA, Ó., FRANCH, X., QUER, C. A Pattern-based Method for Building Requirements Documents in call-for-tender Processes, International Journal of Computer Science and Applications, Vol. 6, No. 5, pp 175-202, 2009a

RENAULT, S., MÉNDEZ-BONILLA, Ó., FRANCH, X., QUER, C. PABRE: Pattern-Based Requirements Elicitation, Third International Conference on Research Challenges in Information Science, RCIS 2009, 2009b

SIKKEL, K., WIERINGA, R., ENGMANN, R. A Case Base for Requirements Engineering: Problem Categories and Solution Techniques, Sixth International Workshop on Requirements Engineering: Foundation for Software Quality (REFSQ'00), 2000

SILVA, O., GARCIA, A., LUCENA, C. The Reflective Blackboard Pattern: Architecting Large Multi-agent Systems, Lecture Notes in Computer Science, Berlin: Springer-Verlag, 2003

TOLEDO, D. E. F. Um Processo Ágil de Engenharia de Requisitos com Apoio de Padrões de Software, 2008. Dissertação de Mestrado em Ciência da Computação da Universidade Federal de São Carlos

TORO, A. D., BERNÁRDEZ, B., RUÍZ, A., TORO, M. A Requirements Elicitation Approach Based in Templates and Patterns, In Proceedings 2nd Workshop on Requirements Engineering (WER’99), 1999

TSUMAKI, T. Requirements Engineering Pattern Structure. APSEC'04, 2004

XUAN, H., BIN, L., YICHEN, W. Application of software requirement error pattern based on ontology, Beijing : China, 2009

Page 174: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

169

WAHONO, R. S. On the Requirements Pattern of Software Engineering, Temu Ilmiah XI 2002, 2002

WATAHIKI, K., SAEKI, M. Scenario Evolution in Requirements Elicitation Processes: Scenario Pattern and Framework Approach, Proceedings of the 4th International Workshop on Principles of Software Evolution, Vienna - Austria, 2001

WITHALL, Stephen. Software Requirement Patterns. Washington: Microsoft Press, 2007.

ZLATEV, Z., DANEVA, M., WIERINGA, R. Multi-Perspective Requirements Engineering for Networked Business Systems: A Framework for Pattern Composition, WER 2005, Porto:Portugal, 2005.

Page 175: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

170

APÊNDICE B - REVISÃO SISTEMÁTICA DA LITERATURA SOBRE REUSO DE REQUISITOS

Este documento apresenta o resumo de uma revisão sistemática da literatura sobre reuso de

ativos de software. Esta revisão teve o papel de demonstrar o estado da arte sobre a reutilização de

requisito no processo de desenvolvimento de software.

3.5 REVISÃO SISTEMÁTICA DA LITERATURA REALIZADA POR KONDA E MANDAVA (2010)

A revisão sistemática da literatura realizada por Konda e Mandava (2010) teve como

objetivo:

Identificar os ativos reutilizáveis que não sejam de codificação;

Identificar métodos/abordagens apresentadas na literatura sobre reuso de ativos;

Identificar métricas e modelos utilizados para avaliar o valor da reutilização;

Identificar métodos para a manutenção de software reutilizável.

Para tanto, foram elaboradas as seguintes perguntas de pesquisa:

Q1 – Quais são os outros ativos além da codificação que tem sido mencionados na literatura

como reutilizável?

Q1.1 – Quais são os métodos ou abordagens de reutilização desses ativos?

Q1.2 – Qual é o status de avaliação desses ativos?

Q1.3 – Quais são os ativos em foco?

Q2 – Quais são as métricas e modelos que tem sido propostas para medir a reutilização e

para avaliar o seu valor?

Q2.1 – Qual é o status de avaliação desses ativos?

Q2.2 – Quais são as áreas de foco?

Page 176: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

171

Q3 – Que abordagens têm sido propostas para a manutenção de software reutilizável?

Q3.1 – Qual é o status de avaliação?

Q3.2 – Quais são as áreas de foco?

Neste sentido, Konda e Mandava (2010) elaboraram uma estratégia de busca que consistia

em 4 fases, essas fases são detalhadas nas próximas seções.

No entanto, como o foco deste capítulo é apresentar o estado da arte de pesquisas que

apóiem o reuso de requisitos, somente foram consideradas as etapas da revisão sistemática de

Konda e Mandava (2010) que visem responder a Q1 ora apresentada.

3.5.1 Fase 1

Nesta fase foram executadas buscas por via eletrônica e por citações de pesquisa. Aqui os

autores procuram fazer a identificação dos termos de pesquisa e formular as questões de pesquisa.

Neste momento, as bases de dados eletrônicas utilizadas durante o estudo de mapeamento

sistemático foram: IEEE Xplorer, Inspec + Compendex, ACM Digital, Elsevier e Springer.

Contudo, os autores utilizaram o Google Scholar para realização de busca das citações de pesquisa e

na amostragem Snowball18. Também é relatado que alguns estudos encontrados durante a

amostragem snowball são provenientes do banco de dados Citeseer. O período estipulado pelos

autores para compor esta revisão sistemática é de estudos publicados até o primeiro semestre de

2009, sem nenhum limite mínimo.

Para a elaboração dos termos de pesquisa, os autores relatam que utilizaram termos

derivados da população, da intervenção, do resultado e do contexto. O Quadro 8 relaciona esses

valores utilizados pelos autores nesta etapa.

18 Snowball é uma abordagem para estudo de população oculta. Entende-se com oculto uma população de trabalho de pesquisa que não são encontrados quando executado um processo de pesquisa (KONDA; MANDAVA, 2010 p. 9)

Page 177: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

172

Quadro 8 - População, Intervenção, Contexto, Resultado para cada pergunta de pesquisa (KONDA; MANDAVA, 2010).

População Intervenção Contexto Resultado

Q1 Reuso de Software Revisão de ativos reutilizáveis

Acadêmico Reuso de ativos

Q1.1 Reuso de Software Métodos para ativos reutilizáveis

Acadêmico Métodos

Q1.2 Reuso de Software Avaliação de status para ativos

Acadêmico Gráfico representando o percentual de avaliações.

Q1.3 Reuso de Software Foco em ativos Acadêmico Gráfico mostrando a contribuição das pesquisas por ano para cada ativo

Q2 Reuso de Software Avaliando o valor da reutilização

Acadêmico Reuso de métricas e modelos

Q2.1 Reuso de Software Avaliação de status para o valor de reutilização

Acadêmico Gráfico representando o percentual de avaliações.

Q2.2 Reuso de Software As áreas em foco para o valor de reutilização

Acadêmico Gráfico mostrando quanto ao valor da contribuição do estudo em categorias (métrica de reutilização e modelos) por ano.

Q3 Reuso de Software Manutenção de software reutilizável

Acadêmico Métodos/Modelos/Métricas/Pesquisas

Q3.1 Reuso de Software Avaliação de status para manutenção de software reutilizável

Acadêmico Gráfico representando o percentual de validação

Q3.2 Reuso de Software As áreas em foco para a manutenção de software reutilizável

Acadêmico Gráfico mostrando a contribuição da pesquisa para cada categoria de manutenção por ano

Após esta etapa Konda e Mandava (2010) iniciaram o processo de pesquisa que foi realizada

usando os termos 1, 4, 5, 6, 20, 21, 22 e 24 relacionados no Quadro 9. Segundos os autores desta

revisão sistemática, a utilização desta estratégia não foi suficiente para encontrar os estudos

necessários para responder as perguntas de pesquisa. Então, para encontrar outros ativos que

possam ser reutilizados, Konda e Mandava (2010) realizaram um estudo de mapeamento

sistemático, no qual foram localizados 14 tipos de ativos além da codificação que podem ser

reutilizados. Além da codificação, os demais ativos reutilizáveis são:

1. Algoritmos 2. Arquitetura 3. Dados 4. Designs 5. Documentação 6. Templates para estimativa 7. Interface humana 8. Conhecimento 9. Modelos 10. Módulos 11. Planos

Page 178: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

173

12. Requisitos 13. Contratos de serviço 14. Casos de Teste

Quadro 9 - Termos de busca.

Termos de busca

1. Ativos 2. Algoritmos 3. Arquitetura 4. Artefatos 5. Aspectos 6. Componentes 7. Dados 8. Designs 9. Documento 10. Estimativas 11. HCI 12. Interfaces homem-computador 13. Interface humana

14. Conhecimento 15. Ciclo de vida 16. Modelos 17. Módulos 18. Planos 19. Requisitos 20. Reutilizável 21. Reutilização 22. Reutilizados 23. Contratos de serviços 24. Software 25. Teste

A fim de obterem mais estudos sobre cada ativo reutilizável, utilizaram os termos de busca

referidos no Quadro 9 como termos de busca para construção das strings de busca. As strings de

buscas utilizadas para localizar os estudos estão ilustradas no Quadro 10.

Quadro 10 - Strings de busca.

Strings de Busca

1. asset AND reuse OR reusable AND software 2. Lifecycle AND reuse AND software 3. software AND reusable AND aspects 4. software AND reusable AND artifacts 5. software AND reusable AND components 6. {Reusable OR reuse} AND Data 7. {Reusable OR reuse} AND Documentation 8. {Reusable OR reuse} AND Estimates(Templets) 9. {Reusable OR reuse} AND plans(project plans) 10. {Reusable OR reuse} AND {Test cases OR Test designs} 11. {Reusable OR reuse} AND Service contracts 12. {Reusable OR reuse} AND Algorithms 13. {Reusable OR reuse} AND Designs 14. {HCI} AND {software AND reus*} AND {asset OR artifact OR component} 15. Knowledge AND {software AND reus*} AND {asset OR artifact OR component} 16. Requirements AND {software AND reus*} AND {asset OR artifact OR component} 17. Architecture AND {software AND reus*} AND {asset OR artifact OR component} 18. Human Interface AND {software AND reus*} AND {asset OR artifact OR component} 19. Human computer Interface AND {software AND reus*} AND {asset OR artifact OR component} 20. Models AND {software AND reus*} AND {asset OR artifact OR component} 21. Modules AND {software AND reus*} AND {asset OR artifact OR component}

Na próxima etapa os artigos são obtidos por meio da execução dos critérios de inclusão e

exclusão, que consiste a Fase 2. Esta etapa está descrita na próxima seção.

Page 179: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

174

3.5.2 Fase 2

Nesta fase colocou-se em prática a execução dos critérios de inclusão e exclusão dos estudos

encontrados. Os critérios básicos de inclusão dos estudos necessários para responder a questão de

pesquisa foram:

1. Artigos cujo tema coincide com a área do tema.

2. Artigos cujo abstract coincidisse com a área do tema.

3. Somente artigos não redundantes.

A aplicação dos critérios básicos reduziu o numero de 191.241 estudos encontrados na fase

1 para 2.299 estudos. Após esta etapa, Konda e Mandava (2010, p.9) aplicaram os critérios de

inclusão e exclusão. Os critérios de inclusão consistiam em:

1. O artigo deve ser revisado.

2. O artigo deve estar com o texto disponível na íntegra.

3. O artigo deve de incidir sobre o reuso de software.

4. O artigo deve ser na área tema do valor dos ativos ou a manutenção em reutilização

de software.

5. O artigo deve ser revisão da literatura, revisão sistemática, estudo de mapeamento

sistemático, estudo de caso, experimento ou relato de experiência, pesquisa ou

estudo comparativo.

6. O artigo deve ser incluído, se propõe um modelo, uma métrica, uma abordagem ou

um método.

7. O artigo deve ser incluído se trata da extensão de modelo existente.

8. O artigo deve ser incluído se trata da validação de modelos já existentes ou de uma

proposta de um novo modelo.

Já os critérios de exclusão utilizados por Konda e Mandava (2010, p.9) consistiam em:

Page 180: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

175

1. Os artigos que não estiverem em conformidade com os critérios de inclusão devem

ser excluídos.

2. Alguns artigos que mencionam a gestão de manutenção também devem ser

excluídos. Segundo Konda e Mandava (2010), o nome gestão de reuso de software

pode se referir a armazenamento e recuperação de ativos reutilizáveis, que não está

relacionado ao trabalho proposto pela revisão e, portanto, devem ser excluídos.

3. Artigos que não estejam escritos na língua inglesa devem ser excluídos.

3.5.3 Fase 3

Esta fase consistiu na análise dos resultados obtidos no estudo de mapeamento sistemático,

incidindo principalmente sobre o estado de validação dos estudos, as áreas de foco do estudo e

mudanças nas tendências da pesquisa. Nesta etapa os autores relatam que houve um desvio das

orientações de Kitchenham, e que neste passo aplicou-se a abordagem chamada de Snowball para

estudo de população oculta. Como resultado obteve-se os seguintes dados conforme ilustra a Tabela

28.

Tabela 28 - Estudos obtidos para responder a Q1. Número de hits Critério básico de

inclusão Detalhado critérios de inclusão / exclusão

Abordagem Snowball

Google Scholar - - - 21 ACM 17761 24 13 - Inspec 36673 108 12 - IEEE 244 36 19 - Elsevier 12469 42 5 - Springer 68892 363 9 - Total 136039 573 58 21

3.5.4 Fase 4

Esta fase consistiu na análise dos estudos provenientes das outras três fases. A Tabela 29

demonstra a quantidade de estudos localizados na revisão sistemática para cada respectivo ativo

reutilizável.

Page 181: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

176

Tabela 29 - Estudos localizados na revisão. Ativos reutilizáveis Quant. de estudos Algoritmos 1 Arquitetura 11 Dados 5 Designs 10 Documentação 9 Templates para estimativa 2 Interface humana 5 Conhecimento 7 Modelos 1 Módulos 4 Planos 7 Requisitos 19 Contratos de serviço 2 Caso de teste 10

Como síntese da análise apresentada por Konda e Mandava (2010), pode-se destacar que a

maioria dos estudos localizados sobre reutilização de ativos é dedicada a reuso de requisitos de

software. Dos 19 estudos sobre reuso de requisitos somente 4 passaram por algum tipo de avaliação,

e 4 tratavam de discussões sobre reuso de um modo geral, e 1 estudo tratava de uma revisão da

literatura. Em análise aos estudos, percebeu-se que no início da década de 90 iniciou-se o interesse

da comunidade em investigações de reuso de ativos, esse interesse manteve-se em alta até o fim

dessa mesma década. Observou-se também que alguns estudos foram apresentados entre 2001 e

2006, e a partir de 2007 a comunidade voltou a apresentar investigações sobre reuso.

Page 182: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

177

APÊNDICE C - RELACIONAMENTO ENTRE OS PADRÕES

Figura 33 - Relacionamento entre os padrões.

Page 183: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

178

APÊNDICE D - PROPOSTA DE ESTUDO DE CASO 1: LOJA VIRTUAL "LIVRARIA THE BOOKS"

A livraria The Books é uma livraria com sede na capital catarinense e conhecida como a loja

que tem os melhores livros didáticos para crianças a partir de 1 ano. Além de oferecer livros

didáticos, a livraria The Books também oferece em sua loja uma ampla e diversificada gama de

títulos de origem nacional e internacional, como também CD’s e DVD’s, mas com menor

intensidade.

Hoje a livraria pretende ampliar seus negócios, disponibilizando para seus clientes o serviço

de venda pela internet, por intermédio de uma loja virtual. Nesta loja virtual, os proprietários

gostariam de efetuar vendas dos seus produtos já disponíveis em sua loja física, como também a

realização de pré-venda de produtos, como já realiza os seus concorrentes. Outra preocupação dos

proprietários é de prover pagamento de seus produtos por intermédio de vendas com cartão de

crédito.

Em sua loja física, a livraria oferece a disposição dos livros por seções, por exemplo:

romance, autoajuda, literatura estrangeira, literatura infanto-juvenil, religiosos, entre outros. Essa

mesma disposição é exigida pelos proprietários para o site. As informações necessárias para

gerenciar os livros da livraria estão na ficha de cadastro do livro, em anexo (Anexo B). Na busca

por um livro, o mesmo pode ser encontrado pelo título da obra, autor, editora e ISBN, para isso com

apenas parte da informação já poderia ser possível a sua localização.

Após a busca e seleção dos produtos na loja virtual é necessário o cálculo do frete para o seu

envio. Atualmente, a forma de envio dos produtos é feita pelo serviço de Sedex oferecido pelas

empresas de Correios. Para isso, a empresa utiliza uma tabela com os pesos, localidades e valores

do frete para as encomendas, conforme anexo (Anexo C).

Na finalização do pedido, devem ser calculados o valor da compra do cliente, mais o valor

do frete para o pedido. O sistema deve apresentar todas essas informações e solicitar a autenticação

do usuário que está realizando a compra. Nesta versão da loja virtual, o cliente poderá optar por

pagamento à vista (boleto, transferência bancária e cartão de débito) ou a prazo com cartão de

crédito.

Page 184: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

179

Para a autenticação do cliente, o mesmo poderá ser feito através do endereço de email e

senha cadastrados em sua primeira compra. Para o cadastro do cliente são necessários os seguintes

dados: nome, data de nascimento, número do documento, endereço, endereço de e-mail e senha para

acesso. Uma opção para realizar a recuperação de senha perdida também se faz necessária,

enviando-a para o endereço de e-mail cadastrado pelo cliente.

Após o pagamento, deseja-se que o sistema registre um comprovante da transação, contendo

o nome do cliente, documento, data e hora que foi efetuado o encerramento da compra, descrição

dos produtos comprados e suas respectivas quantidades, descrição do cálculo do frete e dados da

transação com a operadora de cartão. Os dados da transação estão descritos no documento em anexo

(Anexo D) disponibilizado pela operadora de cartão de crédito.

Ressalta-se que a loja virtual deve ser compatível com os dois navegadores de internet

líderes do mercado (Internet Explorer e Mozzila Firefox). Como se trata de um serviço on-line,

torna-se necessário estabelecer um tempo de resposta razoável, e utilizar-se de uma interface leve e

amigável obedecendo as recomendações de ergonomia feita pela ErgoList disponível em <

http://www.labiutil.inf.ufsc.br/ergolist/ >.

Para o gerenciamento da loja virtual, é necessário um módulo de administração, o qual deve

ser restringido por meio de senha de acesso. Deseja-se neste módulo de administração a execução

das seguintes funções:

Controle sobre o envio dos pedidos. Deseja-se adicionar informações sobre o

processo de envio dos pedidos, como, por exemplo: data de despacho do pedido,

informações para rastreamento do pedido através do número de objeto no site dos

Correios e data prevista para a entrega;

Neste módulo alguns relatórios e consultas são desejáveis:

Lista de pedidos de clientes que ainda estão pendentes de envio, contendo o nome

do cliente, data da compra, forma de envio selecionada, dados da localidade para a

entrega e a descrição e quantidade dos itens comprados;

Resumo de vendas por período. As informações exibidas devem ser agrupadas e totalizadas

por dia, semana, mês e ano. Para cada agrupamento, o relatório deve conter o nome do

Page 185: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

180

cliente, descrição dos produtos comprados e respectivas quantidades, valor do frete,

desconto promovido e total geral da compra. Este permite a exibição de informações sobre

estatísticas de venda.

Page 186: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

181

APÊNDICE E - PROPOSTA DE ESTUDO DE CASO 2: SISTEMA DE RESERVA ONLINE DE UMA LOCADORA DE VEÍCULOS

A empresa Alugo Carros é uma locadora de veículos que oferece uma grande variedade de

carros de acordo com as necessidades de seus clientes. A empresa Alugo Carros é conhecida no

mercado por oferecer veículos revisados a cada locação, garantindo a seus clientes o conforto de

estar sempre de carro novo.

Hoje a empresa pretende ampliar seus negócios, disponibilizando para seus clientes a

possibilidade de realizar a reserva de veículos pela internet através de um website. Neste website, os

proprietários gostariam de disponibilizar o seu serviço de locação e reserva. Outra preocupação dos

proprietários é de prover o pagamento de seus serviços por intermédio de cartão de crédito.

Atualmente a reserva de veículos pode ser feita por telefone, mas o pagamento só é efetivado na

hora da retirada do veículo. Outra dificuldade apontada pelos proprietários é em relação à

demonstração dos veículos para os clientes que realizam reserva por telefone, enviando folder com

os veículos por e-mail ao cliente.

Para simplificar essas atividades espera-se que o cliente possa visualizar toda a frota da

empresa e suas tarifas online. O cliente deve selecionar um veículo, esses dispostos em categorias,

por exemplo: passeio, utilitários e blindados. A busca de um veículo também pode ser feita por

grupos, como, por exemplo: A-econômico, C-econômico com ar, e etc. Outra informação que deve

ser apresentada é o valor da diária e valor semana + dia extra. O folder em anexo ilustra uma

possível maneira de apresentar estas informações (Anexo E).

Após a seleção de um veículo, o cliente deve fornecer os dados da reserva. A reserva

compreende a data e hora de retira e devolução, escolha da tarifa e opção de cobertura de risco. Para

o contrato de cobertura de risco é utilizada uma tabela, em anexo (Anexo F).

Na finalização da reserva devem ser calculados os valores referentes à reserva do cliente,

mais o valor das opções de cobertura de risco. O sistema deve apresentar todas essas informações, e

solicitar a autenticação do usuário que está realizando a reserva. O cliente poderá optar por

pagamento à vista (boleto, transferência bancária e cartão de débito) ou a prazo com cartão de

crédito, conforme registrado em ata de reunião em anexo (Anexo G).

Page 187: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

182

Para a autenticação do cliente, o mesmo poderá ser feito através do endereço de email e

senha cadastrados em sua primeira reserva. Para o cadastro do cliente são necessários os seguintes

dados: nome, data de nascimento, número do documento (cpf ou passaporte), endereço, e-mail e

senha para acesso. Uma opção para realizar a recuperação de senha perdida também se faz

necessária, enviando-a para o endereço de e-mail cadastrado pelo cliente.

Após o pagamento, deseja-se que o sistema registre um comprovante da transação, contendo

dados do cliente, dados da reserva, data e hora que foi efetuado o encerramento da reserva, e demais

dados da transação realizada com a operadora de cartão conforme anexo (Anexo D).

Deseja-se também que o website seja compatível com os dois navegadores de internet

líderes do mercado (Internet Explorer e Mozzila Firefox). Como se trata de um serviço on-line,

torna-se necessário estabelecer um tempo de resposta razoável (estima-se que o tempo de 4

segundos seja um valor razoável), e utilizar-se de uma interface leve e amigável obedecendo as

recomendações de ergonomia feita pela ErgoList disponível em <

http://www.labiutil.inf.ufsc.br/ergolist/ >.

Para o gerenciamento do sistema, é necessário um módulo de administração, o qual deve ser

restringido por meio de senha de acesso. Deseja-se neste módulo de administração a execução das

seguintes funções:

Check-in: é a retirada do carro em si. No check-in o cliente deve apresentar a carteira

de habilitação e assinar o contrato de locação. Somente serão aceitos condutores com

idade mínima de 21 anos com carteira de habilitação emitida a mais de 2 anos. No

caso de outra pessoa também utilizar o veículo será necessário o preenchimento de

um termo de condutor adicional. As informações do termo de condutor adicional são:

nome do condutor, data de nascimento, número da carteira de habilitação. Ainda no

check-in, deve-se também ser assinado pelo cliente um termo de aceitação da vistoria

técnica.

Check-out: é a devolução do veículo a locadora. Neste momento será realizada uma

avaliação do estado do veículo através de um check list, caso seja constatado alguma

não conformidade a mesma será cobrada do cliente, alguns exemplos de verificação

do check list seriam: entrega com tanque cheio, presença dos itens de acessórios, etc.

Page 188: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

183

Manutenção das categorias de veículos;

Manutenção dos veículos. As informações sobre os veículos são: categoria, grupo,

valor diária, valor semana, valor dia (o valor dia é utilizado quando um cliente opta

pelo “valor semana” e estende o prazo de reserva), modelo de veículos.

Neste módulo alguns relatórios e consultas são desejáveis:

Resumo de reservas por período. As informações exibidas devem ser agrupadas e totalizadas

por dia, semana, mês e ano. Para cada agrupamento, o relatório deve conter o nome do cliente,

descrição grupo, modelo de veículo, valor das opções de cobertura de risco, desconto promovido e

total geral da reserva. Este permite a exibição de informações sobre estatísticas de reserva.

Page 189: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

184

APÊNDICE F - MODELO DE CORREÇÃO DO ESTUDO DE CASO 1

Este modelo de correção destina-se a servir de referência para correção do estudo de caso 1:

livraria virtual.

Quadro 11 - Requisitos funcionais.

Id Resumo Descrição do requisito Classificação RF01 Realizar venda Deve haver uma função para realizar uma venda para

um cliente. Cada venda deve conter as seguintes informações:

cliente; produtos; valor de venda de cada item de produto; quantidade de item de venda; data/hora; id da venda; valor do frete.

Uma venda é a realização de uma transação comercial no estabelecimento (efetivação do recebimento de venda de item de produto). Cada venda é exclusivamente identificada por um id da venda.

Transação

RF02 Consulta de produtos/livros (Para efeitos de correção, serão aceitos quais atributos em relação dos dados a serem exibidos pela consulta em virtude de não ter sido especificado no estudo de caso)

Deve haver uma consulta que mostre os produtos/livros que retorne uma lista de produtos. O seu objetivo é permitir a exibição dos produtos já existentes. Para cada produto, a consulta deve exibir o seguinte:

id do produto nome; fabricante; preço de venda.

Os itens a serem exibidos serão ordenados pelo nome do produto/livro. No caso do produto ser um livro, os itens a serem exibidos pode ser especificado por se adequar em qualquer dos seguintes critérios de seleção:

título da obra; autor; editora; seção; ISBN.

No caso dos demais produtos, os itens a serem exibidos podem ser especificados por se adequar em qualquer dos seguintes critérios de seleção:

Consulta

Page 190: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

185

id produto; nome do produto.

O usuário deve ser capaz de navegar sobre a lista de produtos/livros retornada. O usuário deve ser capaz de interagir com a consulta podendo selecionar um ou vários produtos/livros para adicionar ao seu

RF03 Manter produto/livro

O sistema deve armazenar as seguintes informações sobre um livro:

título da obra; data de cadastro; autor(es); editora; ISBN; n. da edição; ano; assunto; local; n. páginas; língua; peso; sinopse; em pré-venda.

Um livro é tratado como um item de venda. Cada livro é identificado exclusivamente por id do produto.

Entidade ativa

RF04 Auto-registro de Cliente

Uma pessoa deve ser capaz de se registrar como um cliente, por um formulário de cadastro de cliente. Deve ser solicitado a informar os seguintes dados pessoais:

nome; data de nascimento; número do documento; endereço; e-mail; senha para acesso.

Registro de usuário

RF05 Registro comprovante de venda

Deve haver uma função para criar o comprovante de venda para um cliente. Cada comprovante de venda deve conter as seguintes informações:

nome do cliente; documento; data/hora do encerramento da compra do

cliente; descrição dos produtos comprados; qt. dos produtos; descrição do cálculo do frente dados da operadora (quando for cartão de

crédito);

Transação

Page 191: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

186

o TID (número único gerado pela loja a cada transação);

o MERCHID (nome do arquivo de configuração da loja);

o PRICE (valor capturado pela transação);

o FREE (campo de livre digitação); o LR (código retorno da transação,

sendo: 0 = capturado, 1 = autorização negada, 3 = captura já efetuada.);

o ARS (mensagem da transação); e o cap (retorno do valor capturado).

Um registro do comprovante de venda é o registro dos dados retornados pelos provedores de pagamento (operadoras de cartão e bancos). Um registro de comprovante de venda considera-se que uma transação de venda foi finalizada com sucesso.

RF06 Manter Administrador

O sistema deve armazenar as seguintes informações sobre o administrador:

id do administrador. nome do administrador; login; senha.

Um Administrador é uma pessoa que tem acesso ao módulo de administração da loja. Cada administrador é identificado exclusivamente por id de administrador.

Entidade ativa

RF07 Registrar informações sobre o processo de envio dos pedidos (módulo administrador)

Deve haver uma função para registrar informações sobre o processo de envio dos pedidos para um cliente. Cada registro sobre o processo de envio deve conter as seguintes informações:

registro de venda; data de despacho do pedido; informações de rastreamento do pedido; data prevista para entrega;

Um registro de informações sobre o processo de envio dos pedidos fornece informação sobre o controle de envio do pedido para o cliente, passando informações sobre sua localização (no transporte e logística). Um registro de informações sobre o processo de envio dos pedidos é realizado logo após o processo de envio do pedido ao cliente.

Transação

RF08 Relatório de pedidos pendentes de envio (módulo administrador)

Deve haver um relatório que mostre a lista de pedidos de clientes que ainda estão pendentes de envio ordenadas pela ordem crescente do id de venda. O objetivo deste relatório é informar o departamento de logística sobre os pedidos ainda pendentes de serem

Relatório

Page 192: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

187

enviados. Para cada pedido de cliente, o relatório deve mostrar o seguinte:

nome do cliente; data da compra; dados da entrega; descrição do item de produto; qt. do item de produto.

Os itens a serem exibidos podem ser especificados por enquadrar no seguinte critério de seleção:

pedidos não enviados. Os totais devem ser mostrados para cada venda. Uma nova página deve ser iniciada por uma nova venda.

RF09 Relatório de resumo de vendas por período (módulo administrador)

Deve haver um relatório que mostre o resumo de vendas por um determinado período de vendas ordenadas por dia. O objetivo deste relatório é a exibir informações para estatísticas de venda. Para cada dia de movimento, o relatório deve mostrar o seguinte:

nome do cliente; descrição dos produtos comprados; qt. dos produtos; valor do frente; total geral da compra.

Os itens a serem exibidos podem ser especificados por enquadrar em qualquer dos seguintes critérios de seleção:

período informado. Os totais devem ser mostrados para exibir resultados agrupados e totalizados por dia, semana, mês e ano.

Relatório

Quadro 12 - Requisitos não funcionais.

Id Resumo Descrição do requisito Classificação RNF01 Formas de

pagamento Deve ser possível especificar a forma de pagamento com o objetivo de especificar os tipos de pagamentos aceitos. Este é um tipo de ativo aceito como forma de pagamento (por exemplo, dinheiro, cheque ou cartão de crédito/débito), sendo aceitos pagamentos feitos em dinheiro, cheque e cartões. Este valor só pode ser alterado apenas na inicialização do sistema.

Configuração

RNF02 Determinação do valor do frete

O frete deve ser determinado da seguinte forma: 1. calcula-se o valor do peso total da compra; 2. calcula-se o valor total da compra (valor

declarado); 3. com base no peso total calculado, seleciona-se

Fórmula de cálculo

Page 193: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

188

o valor correspondente “peso/destino” na tabela de preços do sedex fornecida pelos correios.

Limite máximo para declaração de valor: R$ 10.000,00. Referência do cálculo: tabela de valores do sedex. Por exemplo, peso total da compra é de 1kg, o valor da compra é de R$ 450,00, o destino é interior de Goiás. Para esta compra o valor do frete é de R$ 30,80.

RNF03 Cálculo do valor total da compra

Total da compra deve ser calculado da seguinte forma: total da compra = (soma(valor unitário * quantidade) + valor do frete) Onde valor unitário é o valor unitário estabelecido para o item de produto atual quantidade é a quantidade do item selecionado para o pedido. valor do frete é valor do cálculo realizado para o frete do pedido. percentual de desconto é o valor em percentual de desconto proporcionado sob o valor total da compra. Por exemplo, uma compra de dois itens, no primeiro item corresponde a 2 unidade de valor unitário R$ 230,00. O segundo item, 1 unidade de valor unitário R$ 45,00 e frete calculado em R$ 25,40. A expressão do cálculo corresponde: total da compra = (((230,00 * 2) + (45,00 *1)) + 25,40)

Fórmula de cálculo

RNF04 Autenticação/Login Cliente

Um cliente deve ser capaz de autenticar-se em um processo de log in entrando com o endereço de e-mail e senha. Ele pode optar por efetuar login em qualquer momento (visitando a página de login), mas se não tiver feito, ao tentar finalizar uma compra deve-se solicitar para que o faça, sendo que o cliente não poderá prosseguir a finalização da compra sem que tenha feito isso. A identidade de cada cliente deve ser determinada antes que possam finalizar ou visualizar suas compras. Isto será conseguido por parte do cliente digitando seu endereço de e-mail e senha.

Autenticação de usuário

RNF05 Autenticação/Login Um cliente que esqueceu sua senha deve ser capaz Autenticação

Page 194: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

189

Cliente (Recuperação de senha)

de recuperar-la utilizando seu endereço de e-mail cadastrado, no qual receberá uma mensagem com um código para sua autenticação. Isto deve ser obtido utilizando o seguinte processo:

1. O cliente indica via tela de log-in que esqueceu a senha e informa seu endereço de e-mail.

2. O sistema de e-mails envia a senha perdida para seu endereço de e-mail registrado.

Após a recepção da senha, o cliente pode fazer log-in.

de usuário (requisito extra)

RNF06 Compatibilidade com os navegadores de internet

A interface do usuário deverá ser compatível com os navegadores de internet (Internet Explorer e Mozzila Firefox. Internet Explorer nas versões 8 e 9, e o navegador Mozzila Firefox na versão 4. Entende-se que estes dois navegadores são os mais utilizados pelos clientes alvos da empresa.

Tecnologia

RNF07 Tempo de resposta para as transações

Cada transação deve ter um tempo de resposta não superior a 3 (três) segundos. Este valor é baseado em indicativos de testes anedóticos que os usuários começam a perder a paciência logo após esse tempo. Este requisito não se aplica as consultas em grandes volumes de dados onde critérios de seleções arbitrárias são permitidos.

Tempo de resposta

RNF08 Em conformidade com o padrão ergonomia

O sistema deve obedecer em sua totalidade do padrão de ergonomia recomenda pela ErgoList a fim de apresentar interfaces mais amigáveis aos seus usuários. Fonte: http://www.labiutil.inf.ufsc.br/ergolist.

Aderência ao padrão

RNF09 Autenticação/Login Administrador

Um administrador deve ser capaz de autenticar-se em um processo de log in entrando com o endereço de e-mail e senha. A identidade do administrador deve ser determinada antes que possa realizar qualquer função do módulo administrativo.

Autenticação de usuário

Page 195: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

190

APÊNDICE G - MODELO DE CORREÇÃO DO ESTUDO DE CASO 2

Este modelo de correção destina-se a servir de referência para correção do estudo de caso 2:

locadora de veículos.

Quadro 13 - Requisitos funcionais.

Id Resumo Descrição do requisito Padrão RF01 Registrar reserva Deve haver uma função para registrar reserva para

um cliente. Cada reserva deve conter as seguintes informações:

cliente; veículo; data e hora da retirada (check-in); valor da tarifa aplicada; e data e hora da devolução (check-out); plano de cobertura de risco (o valor do plano de

cobertura de risco é determinado grupo em que o veículo pertence)

id reserva.

Um registro de reserva deve gravar os dados referentes a uma reserva realizada pelo cliente. Cada registro de reserva é exclusivamente identificado por um id reserva.

Transação

RF02 Registrar pagamentos de locações

Deve haver uma função para realizar o pagamento de uma locação pelo cliente. Cada pagamento de locação deve conter as seguintes informações:

id da transação; id da locação; data/hora pagamento.

Um pagamento de locação é um registro de pagamento (entrada no caixa) de pagamento do serviço de locação. Cada pagamento é exclusivamente identificado por um id da transação.

Transação

RF03 Consulta de veículos da frota da empresa

Deve haver uma consulta de veículos da frota da empresa que retorne todos os veículos disponíveis para reserva/locação. O seu objetivo é exibir os veículos pertencentes à frota da empresa para que o cliente possa selecionar para realizar um reserva/locação. Para cada veículo, a consulta deve exibir o seguinte:

categoria (passeio, utilitário e blindados);

Consulta

Page 196: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

191

grupo (A-econômico, C-econômico com ar, e etc);

valor da diária; valor semana + valor do dia extra; modelo do veículo (GM Celta 1.0, WG Gol 1.6,

e etc); qt. de portas; motorização; direção (manual ou incluído); ar condicionado (não ou incluído) trio elétrico; rádio cd player; air bag freios ABS; n. de ocupantes; capacidade bagagem (qt. de malas grandes e qt.

de malas pequenas); imagem do veículo.

Os itens a serem exibidos serão ordenados e agrupados por grupo (A-econômico, C-econômico com ar, e etc). Os itens a serem exibidos podem ser especificados por se adequar em qualquer dos seguintes critérios de seleção:

grupo; categoria.

O usuário deve ser capaz de navegar pela lista de veículos disponíveis. O usuário deve ser capaz de interagir com a consulta podendo selecionar um veículo para uma reserva/locação.

RF04 Auto-registro de Cliente

Uma pessoa deve ser capaz de se registrar como um cliente, por um formulário de cadastro de cliente. Deve ser solicitado a informar os seguintes dados pessoais:

nome; data de nascimento; número do documento (cpf ou passaporte); endereço; e-mail; senha para acesso.

Registro de usuário

RF05 Registro comprovante de transação

Deve haver uma função para criar o comprovante de transação para um cliente. Cada comprovante de transação deve conter as seguintes informações:

nome do cliente; cpf do cliente;

Transação

Page 197: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

192

data/hora do encerramento da locação do cliente;

dados da reserva (veículo, cobertura de risco, data/hora da retirada e devolução);

dados da operadora; o TID (número único gerado pela loja a

cada transação); o MERCHID (nome do arquivo de

configuração da loja); o PRICE (valor capturado pela

transação); o FREE (campo de livre digitação); o LR (código retorno da transação,

sendo: 0 = capturado, 1 = autorização negada, 3 = captura já efetuada.);

o ARS (mensagem da transação); e o cap (retorno do valor capturado).

Um registro do comprovante de transação com provedor de pagamento é o registro dos dados retornados pelos provedores de pagamento (operadoras de cartão e bancos). Um registro de comprovante de transação considera-se que aconteceu quando uma operação de locação é finalizada pelo cliente.

RF06 Manter Administrador

O sistema deve armazenar as seguintes informações sobre o administrador:

nome do administrador; login; senha.

Um Administrador é uma pessoa que tem acesso ao módulo de administração da locadora. Cada administrador é identificado exclusivamente por id de administrador.

Entidade ativa

RF07 Realizar check-in Deve haver uma função para realizar check-in para um cliente. Cada registro de check-in deve conter as seguintes informações:

dados da reserva; dados da carteira de habilitação do condutor;

Um check-in é a retirada efetiva do veículo junto à locadora pelo cliente. Cada check-in é exclusivamente identificada por um id do check-in. Um check-in considera-se que aconteceu quando o cliente assinou o contrato de locação, apresentou um

Transação

Page 198: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

193

condutor habilitado com idade mínima de 21 anos com carteira de habilitação emitida a mais de 2 anos, e assinou o termo de aceitação da vistoria técnica.

RF08 Manter condutor adicional

O sistema deve armazenar as seguintes informações sobre o condutor adicional:

nome do condutor; data de nascimento; n. carteira de habilitação; dados da reserva; id do condutor adicional.

Um condutor adicional é uma pessoa que também utilizará o veículo reservado/locação. Cada condutor adicional é identificado exclusivamente por id do condutor adicional.

Entidade ativa

RF09 Registrar check-out Deve haver uma função para registrar o check-out para um cliente. Cada check-out deve conter as seguintes informações:

dados da reserva; dados do check list.

Um registro de check-out é a devolução do veículo para a locadora. Cada check-out é exclusivamente identificada por um id do check-out. Um registro de check-out considera-se que aconteceu quando o cliente realizou a devolução do veículo na locadora e o mesmo passou por uma avaliação dos itens do check list.

Transação

RF10 Registrar pagamento de não conformidade com check list

Deve haver uma função para registrar pagamento de não conformidade com algum item do check list para um atendente. Cada cobrança de não conformidade com check list deve conter as seguintes informações:

id da cobrança; id dos itens de check list; id da locação; valor da taxa cobrado (de cada item de check

list); dados do check list.

Um registro de pagamento de não conformidade com check list é o registro de pagamento (entrada no caixa) de pagamento de taxas referente a não conformidade de um item do check list realizado no momento do check-out. Cada registro de pagamento de não conformidade com check list é exclusivamente identificada por um id da cobrança.

Transação

Page 199: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

194

Um registro de pagamento de não conformidade com check list considera-se que aconteceu quando o cliente realizou a devolução do veículo na locadora e o mesmo não passou na avaliação de algum dos itens do check list.

RF11 Manter check list O sistema deve armazenar as seguintes informações sobre o check list:

itens do check list (por exemplo, itens de acessório, tanque cheio).

valor da taxa. Em um check list são itens verificados quando realizado um check-out. Cada check list é identificada exclusivamente por id do check list.

Entidade ativa

RF12 Manter categorias de veículos

O sistema deve armazenar as seguintes informações sobre categorias de veículos:

id da categoria; descrição da categoria.

Uma categoria de veículo é um determinado tipo de veículos. Cada categoria de veículo é identificada exclusivamente por id da categoria.

Entidade ativa

RF13 Manter grupos de veículos

O sistema deve armazenar as seguintes informações sobre grupos de veículos:

id do grupo; descrição do grupo.

Um grupo de veículo é um tipo de categoria no qual o veículo é enquadrado (por exemplo, A-econômico, C-econômico com ar, etc). Cada grupo de veículo é identificado exclusivamente por id do grupo.

Entidade ativa

RF14 Manter Veículos O sistema deve armazenar as seguintes informações sobre veículos:

id do veículo; categoria; grupo; valor diária; valor semana; valor dia extra (o valor dia é utilizado quando

um cliente opta pelo "valor semana" e estende o prazo de reserva);

modelo; qt. de portas; motorização; direção (manual ou incluído); ar condicionado (não ou incluído)

Entidade ativa

Page 200: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

195

trio elétrico; rádio cd player; air bag freios ABS; n. de ocupantes; capacidade bagagem (qt. de malas grandes e qt.

de malas pequenas). Imagem do veículo

Um veículo é um produto de reserva/locação da locadora. Cada veículo é identificado exclusivamente por id veículo.

RF15 Relatório de resumo de reserva/locação por período

Deve haver um relatório que mostre o resumo de reservas por um determinado período ordenadas por data. O objetivo deste relatório é a exibir informações estatísticas sobre as reservas/locação. Para cada reserva/locação, o relatório deve mostrar o seguinte:

nome do cliente; descrição do grupo; modelo de veículo; valor das opções de cobertura de risco; desconto promovido; total geral da reserva/locação.

Os itens a serem exibidos podem ser especificados por enquadrar em qualquer dos seguintes critérios de seleção:

período informado. Os totais devem ser mostrados para exibir resultados agrupados e totalizados por dia, semana, mês e ano.

Relatório

Quadro 14 - Requisitos não funcionais.

Id Resumo Descrição do requisito Classificação RNF01 Formas de

pagamento Deve ser possível especificar a forma de pagamento com o objetivo de especificar os tipos de pagamentos aceitos. Este é um tipo de ativo aceito como forma de pagamento (por exemplo, dinheiro, cheque ou cartão de crédito/débito), sendo aceitos pagamentos feitos em dinheiro, cheque e cartões. Este valor só pode ser alterado apenas na

Configuração

Page 201: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

196

inicialização do sistema. RNF02 Autenticação/Login

Cliente Um cliente deve ser capaz de autenticar-se em um processo de log in entrando com o endereço de e-mail e senha. Ele pode optar por efetuar login em qualquer momento (visitando a página de login), mas se não tiver feito, ao tentar finalizar uma reserva/locação deve-se solicitar para que o faça, sendo que o cliente não poderá prosseguir a finalização da reserva/locação sem que tenha feito isso. A identidade de cada cliente deve ser determinada antes que possam finalizar ou visualizar suas reservas/locações. Isto será conseguido por parte do cliente digitando seu endereço de e-mail e senha.

Autenticação de usuário

RNF03 Autenticação/Login Cliente (Recuperação de senha)

Um cliente que esqueceu sua senha deve ser capaz de recuperar-la utilizando seu endereço de e-mail cadastrado, no qual receberá uma mensagem com um código para sua autenticação. Isto deve ser obtido utilizando o seguinte processo:

3. O cliente indica via tela de log-in que esqueceu a senha e informa seu endereço de e-mail.

4. O sistema de e-mails envia a senha perdida para seu endereço de e-mail registrado.

Após a recepção da senha, o cliente pode fazer log-in.

Autenticação de usuário (requisito extra)

RNF04 Compatibilidade com os navegadores de internet

A interface do usuário deverá ser compatível com os navegadores de internet (Internet Explorer e Mozzila Firefox. Internet Explorer nas versões 8 e 9, e o navegador Mozzila Firefox na versão 4. Entende-se que estes dois navegadores são os mais utilizados pelos clientes alvos da empresa.

Tecnologia

RNF05 Tempo de resposta para as transações

Cada função de atendimento ao cliente (reserva/locação, cadastro de cliente, e etc.) deve ter um tempo de resposta não superior a 4 segundos, a partir da correta entrada de dados (quando se utiliza configuração mínima exigida pelo sistema). Este valor é baseado em indicativos de testes anedóticos que os usuários começam a perder a paciência logo após esse tempo.

Tempo de resposta

RNF06 Em conformidade com o padrão ergonomia

O sistema deve obedecer em sua totalidade do padrão de ergonomia recomenda pela ErgoList a fim de apresentar interfaces mais amigáveis aos seus usuários. Fonte: http://www.labiutil.inf.ufsc.br/ergolist.

Aderência ao padrão

Page 202: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

197

RNF07 Autenticação/Login Administrador

Um administrador deve ser capaz de autenticar-se em um processo de log in entrando com o endereço de e-mail e senha. A identidade do administrador deve ser determinada antes que possa realizar qualquer função do módulo administrativo.

Autenticação de usuário

Page 203: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

198

APÊNDICE H - PROJETO DA FERRAMENTA DE APOIO

Esta seção apresenta a modelagem da ferramenta de apoio à abordagem. Assim os requisitos e

diagrama de casos de uso são apresentados.

Os requisitos identificados para o projeto da ferramenta de apoio à abordagem proposta foram

especificados utilizando o formato desenvolvido pela própria abordagem proposta, os quais são

descritos na seção 1.5 (requisitos funcionais) e na seção 1.6 (requisitos não funcionais). Na Seção

1.7são apresentados os principais casos de uso do projeto da ferramenta e o protótipo de telas

correspondente a cada caso de uso.

1 REQUISITOS

As seções a seguir tratam de descrever os requisitos funcionais, não funcionais e regras de

negócio para o projeto da ferramenta de apoio da abordagem aqui proposta.

1.5 REQUISITOS FUNCIONAIS

Considerando os requisitos para implementação de uma ferramenta para apoiar a abordagem

aqui proposta, a Tabela 30 apresenta os requisitos funcionais identificados.

Tabela 30 - Requisitos funcionais.

Id Descrição do requisito Classificação RF01 O sistema deve armazenar as seguintes informações sobre o projeto:

id do projeto; nome do projeto; descrição do projeto; nome da empresa; nome do responsável pelo projeto; data de criação do projeto; projeto compartilhado - Flag para compartilhar os requisitos

destes projetos com os outros usuários; projeto finalizado; data de finalização do projeto.

Cada projeto é identificado por um identificador único, o qual não poderá ser reutilizado.

Entidade ativa

RF02 Deve haver uma consulta de projetos que retorna os projetos existentes do usuário logado no sistema e projetos marcado como compartilhado por outros usuários. Para cada projeto, a consulta deve

Consulta

Page 204: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

199

exibir o seguinte: id do projeto; nome do projeto; data de criação; data de finalização - Mostra como “Em andamento” para

projetos “não finalizados”, e “Finalizado” para projetos finalizados;

projeto compartilhado - Mostrar como "Proprietário" para projetos em que o usuário é o autor, e "Compartilhado" para projetos de outros usuários.

Os itens a serem exibidos serão enumerados em ordem decrescente do id do projeto.

RF03 Uma pessoa deve ser capaz de se registrar como um usuário, por um formulário. Deve ser solicitado os seguintes dados pessoais:

nome; e-mail - Será utilizado como verificador para acesso (ver

requisitos RNF13); senha - que deve ser inscrita duas vezes; data de registro.

Registro de usuário

RF04 O sistema deve armazenar as seguintes informações sobre o interessado no projeto:

id do interessado; nome do interessado; descrição do papel do interessado; função; e-mail; telefone ;

Cada interessado no projeto é identificado por um identificador único, o qual não poderá ser reutilizado.

Entidade ativa

RF05 Deve haver uma função para preencher as seções do documento de ERS. Cada cadastro das seções do documento de ERS deve conter as seguintes informações:

1. propósito; 2. escopo; 3. definições, acrônimos e abreviaturas; 4. referências; 5. organização; 6. perspectiva do produto; 7. funcionalidades; 8. característica do utilizador; 9. restrições; 10. assunções e dependências.

Um cadastro das seções do documento de ERS é realizada para cada projeto.

Transação

RF06 Deve haver uma função para criar a matriz de rastreabilidade entre requisitos de sistema do tipo funcional x não funcional. Cada matriz de rastreabilidade entre requisitos deve conter as seguintes

Transação

Page 205: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

200

informações: id da matriz de rastreabilidade; id do projeto; id requisito do RF; id requisito do RNF.

Uma matriz de rastreabilidade é realizada para cada projeto. A rastreabilidade entre requisito de usuário e requisito de sistema é feita no registro do requisito de sistema, não sendo necessário cria uma função para este tipo de matriz.

RF07 Deve haver uma consulta de padrões de requisitos que retorne os padrões de requisitos disponíveis. O seu objetivo é permitir a seleção de um padrão para a escrita de requisito. Para cada padrão de requisito, a consulta deve exibir o seguinte:

nome do padrão; objetivo do padrão; contexto; problema; forças; exemplos; categoria do padrão.

Os itens a serem exibidos serão ordenados em ordem alfabética, agrupados em suas categorias. Os itens a serem exibidos podem ser especificados por se adequar em qualquer dos seguintes critérios de seleção:

busca pelo nome; busca pela categoria; padrão de requisito relacionado.

O usuário deve ser capaz de interagir com a consulta utilizando-a para selecionar um padrão na elaboração de uma especificação de requisito de software.

Consulta

RF08 Deve haver uma função para criar o cadastro de requisito de usuário. Cada cadastro de requisito de usuário deve conter as seguintes informações:

id do projeto; id do requisito de usuário; id do interessado - Utilizado para gerar o relatório de

requisitos ordenados por usuário; texto do requisito de usuário.

Um cadastro de requisito de usuário é exclusivamente identificado por um Id do requisito de usuário, o qual não deverá ser reutilizado.

Transação

RF09 Deve haver uma função para criar o cadastro de requisitos de sistema utilizando um padrão. Cada cadastro de requisito de sistema utilizando padrão deve conter as seguintes informações:

id do requisito de usuário; id do requisito de sistema; id do usuário; tipo do requisito – (como definido no requisito RNF14);

Transação

Page 206: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

201

id do padrão; id do Requisito - (como definido no requisito RNF01); texto resumo do requisito; texto do requisito de sistema; importância - (como definido no requisito RNF10); urgência - (como definido no requisito RNF11); versão - data da última versão.

Um cadastro de requisitos de sistema utilizando padrão é exclusivamente identificado por um Id do requisito de sistema, qual não deverá ser reutilizado.

RF10 Deve haver uma função para criar o cadastro de requisitos de sistema sem a utilização de um padrão. Cada cadastro de requisito de sistema sem a utilização de um padrão deve conter as seguintes informações:

id do requisito de usuário; id do requisito de sistema; id do usuário; tipo do requisito – (como definido no requisito RNF14); id do Requisito - (como definido no requisito RNF01); texto resumo do requisito; texto do requisito de sistema; importância - (como definido no requisito RNF10); urgência - (como definido no requisito RNF11); versão - data da última versão.

Um cadastro de requisitos de sistema sem a utilização de um padrão é exclusivamente identificado por um Id do requisito de sistema, qual não deverá ser reutilizado.

Transação

RF11 Deve haver uma consulta de requisitos de outros projetos que estejam compartilhados para reuso. O seu objetivo é permitir a seleção de requisitos para reuso em um novo projeto. Para cada requisito compartilhado, a consulta deve exibir o seguinte:

texto da especificação do requisito. Os itens a serem exibidos podem ser especificados por se adequar em qualquer dos seguintes critérios de seleção:

busca por requisitos relacionados na matriz de rastreabilidade através de requisito já reutilizado;

busca por requisito que utiliza o mesmo padrão selecionado. O usuário deve ser capaz de interagir com a consulta utilizando-a para selecionar requisitos para reuso em novo projeto.

Consulta

RF12 Um usuário deverá ser capaz de alterar sua própria senha. Deve ser solicitado a informar os seguintes dados pessoais:

id do usuário - obtido através de sua sessão iniciada; endereço de e-mail do usuário; senha antiga; nova senha, duas vezes. (O segundo momento é de proteger

contra erro na digitação, resultando em uma senha que o usuário não sabe.)

Registro de usuário

Page 207: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

202

RF13 Deve haver um relatório que mostre as especificações de requisitos e demais seções de um documento de ERS, de um determinado projeto. Para cada projeto, o relatório deve mostrar o seguinte:

requisitos funcionais - observa-se que os requisitos funcionais devem de ser relacionados com o usuário interessado que especificou o requisito de usuário, para que se possa gerar o documento de ERS organizado por classe de usuário;

requisito de performance; requisitos de projeto; atributos do sistema de software; outros requisitos - Requisitos que não foram classificados

em nenhum dos grupos anteriores. 11. Demais seções do documento ERS: propósito, escopo,

definições, acrônimos e abreviaturas, referências; organização, perspectiva do produto, funcionalidades, característica do utilizador, restrições, assunções e dependências.

Os itens a serem exibidos podem ser especificados por enquadrar em qualquer dos seguintes critérios de seleção:

12. Id do projeto.

Relatório

1.6 REQUISITOS NÃO FUNCIONAIS

Considerando os requisitos não funcionais para implementação da de apoio a abordagem

proposta, os seguintes requisitos não funcionais foram identificados e estão listados na Tabela 31.

Tabela 31 - Requisitos não funcionais.

Id Descrição do requisito Classificação RNF01 Cada requisito de sistema deve ter um id único que está sob a forma de

um número seqüencialmente acrescido no dígito de verificação, anteriormente acrescido da tags RF para requisitos do tipo funcional e RNF para requisitos do tipo não funcional atribuído pelo requisito, iniciando em 01 para o primeiro requisito de sistema de cada novo projeto. Os ids dos requisitos funcionais serão apresentados na seguinte forma: RF0x. E os ids dos requisitos não funcionais como: RNF0x. Onde “x” é o número identificador do requisito de sistema.

Identificação

RNF02 O sistema deverá disponibilizar opção para gerar o documento de ERS em arquivos de formato RTF e PDF.

Tecnologia

RNF03 O sistema deve obedecer a seção 5 do padrão IEEE 830-1998 a fim de recomendar a estrutura do documento de especificação de requisitos gerado pelo sistema, para o documento como um todo. Fonte: http://standards.ieee.org/findstds/standard/830-1998.html

Aderência ao padrão

RNF04 O sistema deverá utilizar a interface de usuário baseada na web para que todas as funções funcionem plenamente como o navegador Internet

Tecnologia

Page 208: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

203

Explorer na versão 8.0. RNF05 Deve haver uma forma de ajuda on-line para cada função do sistema que

contém uma descrição de como utilizar uma determinada função, de tal forma que um usuário com pouca experiência possa ser capaz de utilizá-la como pretender. Deve ser sob a forma de arquivos do tipo HTML.

Documentação

RNF06 O sistema deve obedecer a seção 5.3.7 do padrão IEEE 830-1998 a fim de recomendar o relacionamento dos requisitos do tipo funcionais com o usuário, para que se possa gerar o documento de ERS organizado por classe de usuário. Fonte: http://standards.ieee.org/findstds/standard/830-1998.html

Aderência ao padrão

RNF07 O sistema deve obedecer a seção 5.3 do padrão IEEE 830-1998 a fim de recomendar a estrutura do documento de especificação de requisitos gerado pelo sistema, para a seção 3 do documento de especificação de requisito gerado pelo sistema. Fonte: http://standards.ieee.org/findstds/standard/830-1998.html

Aderência ao padrão

RNF08 O sistema deve obedecer a classificação dos requisitos por tipos de acordo com a classificação proposta pela abordagem aqui proposta a fim de enquadrar os requisitos gerado pelo sistema em uma classificação por tipo de requisito. Fonte: catálogo de padrão proposto pela abordagem

Aderência ao padrão

RNF09 Um usuário deverá ser capaz de acessar e alterar os dados somente em seus projetos. No caso da informação designada como acesso compartilhado por outros usuários, este deve ser considerado apenas a capacidade de visualizar as informações.

Autorização específica

RNF10 O campo importância de um padrão de requisito deverá assumir os seguintes itens de informação: - essencial - condicional - opcional

Estrutura de dados

RNF11 O campo urgência de um padrão de requisito deverá assumir os seguintes itens de informação: - alta - média - baixa

Estrutura de dados

RNF12 Os campos “Definição do requisito”, que são utilizados para o cadastro de requisitos (requisitos de usuário e requisitos de sistema), devem ser do tipo texto. Deve oferecer opções de formatação de texto como: enumeração, negrito, itálico, sublinhado e etc.

Tipo de dado

RNF13 Os campos endereço de e-mail, que são utilizados para preenchimento do endereço de e-mail do usuário, devem ser do tipo texto. Deve de ser verificada na sua utilização, não é permitido o registro de mais de um usuário utilizando o mesmo endereço de e-mail. Também deve de ser verificada a sintaxe válida para um endereço de e-mail, para que não se possam cadastrar endereços de e-mails inválidos.

Tipo de dado

RNF14 O campo tipo de requisito deverá assumir os seguintes itens de informação: - funcional - não funcional

Estrutura de dados

Page 209: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

204

RNF15 Um usuário deve ser capaz de autenticar-se informando seu endereço de e-mail e senha. A identidade de cada usuário deve ser determinada antes que eles podem dar início ou realizar transações.

Autenticação de usuário

RNF16 Se um usuário esquece sua senha, ele deve de ser capaz de recuperá-la utilizando seu endereço de e-mail cadastrado, no qual receberá uma mensagem com um código para sua autenticação. Isto deve ser obtido utilizando o seguinte processo:

1. O usuário indica via tela de log-in que esqueceu a senha e informa seu endereço de e-mail.

2. O sistema de e-mails envia um código de confirmação para seu endereço de e-mail registrado.

3. Após a recepção do código de confirmação, o usuário pode fazer log-in. Ele obrigatoriamente deve alterar a sua senha antes de executar qualquer função ou transação.

Autenticação de usuário (exemplo de requisito adicional)

RNF17 O usuário deve ter a possibilidade de encerrar uma sessão ativa, qualquer aplicação aberta por aquela sessão será terminada.

Autenticação de usuário (exemplo de requisito adicional)

1.7 MATRIZ DE RASTREABILIDADE

A matriz de rastreabilidade entre os requisitos funcionais e requisitos não funcionais estão

ilustrados na Tabela 32.

Tabela 32 - Matriz de rastreabilidade RF x RNF.

RN

F01

RN

F02

RN

F03

RN

F04

RN

F05

RN

F06

RN

F07

RN

F08

RN

F09

RN

F10

RN

F11

RN

F12

RN

F13

RN

F14

RN

F15

RN

F16

RN

F17

RF01 x x x RF02 x x x RF03 x x x RF04 x x x RF05 x x RF06 x x x x RF07 x x RF08 x x x x x RF09 x x x x x x x x x x RF10 x x x x x x x x x x RF11 x x x RF12 x x x x x x RF13 x x x x x x x x x

Page 210: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

205

1.8 CASOS DE USO

Os casos de uso que representam as funcionalidades da ferramenta de apoio a abordagem

apresentada são ilustradas pela Figura 34. A descrição desses casos de uso é apresentada a seguir.

uc Caso de Uso Geral

Usuário

UC01 - Cadastrar projeto

UC02 - Cadastrar usuário

UC03 - Cadastrar requisito de usuário

UC04 - Cadastrar requisito de sistema a

partir de padrão

UC05 - Cadastrar requisito de sistema

sem usar padrão

UC06 - Criar matriz de rastreabilidade

UC07 - Cadastrar seções do documento de ERS

UC08 - Cadastrar interessado

UC09 - Gerar documento de ERS

UC10 - Consultar padrões de requisitos

UC11 - Reutilizar requisito

«extend»

Figura 34 - Casos de uso para o projeto da ferramenta de apoio a abordagem.

A seguir os casos de uso são brevemente detalhados, bem como as telas prototipadas das

principais funcionalidades são apresentadas.

UC01 – Cadastrar projeto Requisitos associados: RF01, RF02, RNF04, RNF05, RNF9 Descrição: Permite ao usuário incluir, alterar, excluir e consultar os projetos sobre

sua responsabilidade. No caso de consulta, o usuário também pode consultar projetos compartilhados por outros usuários, porém, a sua alteração e exclusão não serão permitidas.

Protótipo: N/D UC02 – Cadastrar usuário Requisitos associados: RF03, RNF04, RNF05, RNF09, RNF13, RNF15, RNF16, RNF17

Page 211: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

206

Descrição: Permite ao usuário efetuar seu cadastro na ferramenta, devendo a efetivação da conta ocorrer após confirmação de um link enviado por email. Além disso, o usuário pode alterar os dados de seu perfil.

Protótipo: N/D UC03 – Cadastrar requisito de usuário Requisitos associados:

RF04, RF08, RNF04, RNF05, RNF12.

Descrição: Permite ao usuário incluir, alterar, excluir e consultar os requisitos de usuário sobre sua responsabilidade.

Protótipo:

UC04 – Cadastrar requisito de sistema a partir de padrão Requisitos associados: RF07, RF09, RF11, RNF01, RNF04, RNF05, RNF08, RNF10, RNF12,

RNF14 Descrição: Permite ao usuário incluir, alterar, excluir e consultar os requisitos de

sistema, utilizando-se de padrões de requisitos.

Page 212: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

207

Protótipo:

UC05 – Cadastrar requisito de sistema sem usar padrão Requisitos associados:

RF10, RNF01, RNF04, RNF05, RNF10, RNF11, RNF12, RNF14

Descrição: Permite ao usuário incluir, alterar, excluir e consultar os requisitos de sistema, sem o apoio dos padrões de requisitos.

Page 213: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

208

Protótipo:

UC06 – Criar matriz de rastreabilidade Requisitos associados:

RF06, RF09, RF10, RNF04, RNF05

Descrição: Permite ao usuário a criação e manutenção da matriz de rastreabilidade entre requisitos funcionais e requisitos não funcionais.

Page 214: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

209

Protótipo:

UC07 – Cadastrar seções do documento de ERS Requisitos associados:

RF05, RNF03, RNF04

Descrição: Permite ao usuário incluir, alterar e consultar as seções do documento de especificação de requisitos.

Page 215: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

210

Protótipo:

UC08 – Cadastrar interessado Requisitos associados: RF04, RNF04, RNF05 Descrição: Permite ao usuário incluir, alterar, excluir e consultar os interessados do

projeto.

Page 216: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

211

Protótipo:

UC09 – Gerar documento de ERS Requisitos associados: RF13, RNF02, RNF03, RNF04, RNF05, RNF06, RNF07 Descrição: Permite ao usuário a geração do documento de especificação de requisitos

do projeto. Protótipo: N/D UC10 – Consultar padrões de requisitos Requisitos associados: RF07, RNF04, RNF05, RNF08 Descrição: Permite ao usuário consultar os padrões de requisitos. Protótipo: N/D UC11 – Reutilizar requisito Requisitos associados:

RF11, RNF04, RNF05

Descrição: Permite ao usuário a partir da consulta a requisitos de outros projetos que estejam compartilhados para reutilização, selecionar um requisito para ser reutilizado no projeto atual.

Protótipo:

Atualmente existem diversas ferramentas para apoiar e etapa de engenharia de requisitos. No entanto, pode-se afirmar que existem poucas que suportem o reuso de requisitos e, além disso, não foi encontrada nenhuma ferramenta que forneça o apoio ao reuso a partir de uma abordagem de utilização de um catálogo de padrões de requisitos, associado a rastreabilidade.

Page 217: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

212

APÊNDICE I - PLANEJAMENTO DA AVALIAÇÃO

Este apêndice apresenta o planejamento de um estudo que será realizado para avaliação da

abordagem proposta por esta dissertação. A avaliação visa verificar se a abordagem proposta

realmente torna mais eficiente e eficaz a atividade de elicitação de requisitos, com relação à

execução desta atividade sem o apoio da abordagem. O planejamento do estudo foi realizado

utilizando o framework elaborado por Kochanski (2009). A Tabela 33 apresenta uma instância

adaptada do framework que delineia o planejamento realizado para a execução do experimento.

Tabela 33 - Planejamento do experimento.

I – Definição do Experimento Estratégia de pesquisa: Justificativa [X] Quantitativa A estratégia de pesquisa quantitativa será utilizada para

obtenção de evidência para as hipóteses de pesquisa. Forma de realização Justificativa [X] in-vitro O estudo será realizado in-vitro, por haver disponível grupos

de estudantes os quais representam a população de interesse, além de ser realizado em laboratório de uma Universidade

Abordagem de pesquisa: Justificativa [X] Descritiva A abordagem de pesquisa utilizada será a descritiva pelo fato

do objetivo do estudo estar focado na descrição dos efeitos de um fenômeno dado uma intervenção propositalmente realizada.

Estratégia para seleção do grupo experimental e grupo de controle:

Os participantes do experimento serão acadêmicos da disciplina de Engenharia de Software, do curso de graduação em Ciências da Computação. Serão aplicados 2 estudos de caso na avaliação, assim, para cada estudo de caso serão necessários 2 grupos para o seus desenvolvimento, 1 grupo que fará uso da abordagem e um outro que não à utilizará. Será necessário a divisão do grupo total de participantes em no mínimo 4 grupos. Prefere-se grupos de no máximo 3 participantes para a execução da atividade, acredita-se que grupos com número maior de participantes pode introduzir efeitos de dispersão da atenção na condução das atividades nos grupos. A divisão dos grupos será feita de forma aleatória, utilizando uma lista numerada com o nome de todos os participantes (0). Os nomes correspondentes a numeração na seqüência ímpar farão parte do grupo experimental e os nomes correspondentes a numeração na seqüência par farão

Page 218: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

213

parte do grupo de controle. No momento do experimento os grupos serão nomeados, por exemplo: grupo A (experimental), grupo B (controle). Prefere-se que os grupos realizem a avaliação em salas separadas, sem comunicação, com o objetivo de evitar influência entre os grupos. O grupo experimental deverá receber treinamento para utilização da ferramenta.

Questionários/termos: Conteúdo: [X] Concordância O conteúdo do termo de concordância encontra-se no

Apêndice J. [X] Perfil do participante O conteúdo do questionário sobre o perfil dos participantes

encontra-se no Apêndice K. Pré-condições para realização do experimento: Para participar do experimento os acadêmicos devem estar cursando no mínimo o quinto semestre de um curso na área de Computação/Informática.

II - Planejamento

Seleção do contexto O estudo deverá ser realizado após o término das aulas que abordem o assunto de engenharia de requisitos na disciplina de engenharia de software. O estudo deverá ocorrer em laboratório de Informática para que ambos os grupos de participantes possam utilizar a ferramenta de apoio à abordagem. Porém, somente o grupo experimental terá acesso a todas as funcionalidades da ferramenta, o grupo de controle irá utilizar uma versão limitada da ferramenta. As funções disponíveis para o grupo de controle serão: cadastro do projeto, cadastro dos requisitos do usuário, cadastro dos interessados e cadastros de requisitos de sistemas (este sem as opções de uso de padrões e sugestões de reuso). Hipóteses: Descrição H01 Não existe diferença quanto à eficiência do processo de

elicitação quando utilizada a abordagem de reuso em relação ao seu não uso.

HA1 A eficiência do processo de elicitação utilizando abordagem baseada em reuso é maior que quando não utilizada esta abordagem.

H02 Não existe diferença quanto à eficácia do processo de elicitação quando utilizada a abordagem de reuso em relação ao seu não uso.

HA2 A eficácia do processo de elicitação utilizando abordagem baseada em reuso é maior que quando não utilizada esta abordagem.

Variáveis de controle: Detalhamento Variável 1 Tempo de execução da atividade de especificação de

requisitos. Variável 2 Quantidade de requisitos especificados considerados corretos. Variável 3 Quantidade total de requisitos especificados existentes

Page 219: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

214

(conhecidos), descrito no modelo de correção.

Seleção dos participantes Os participantes serão selecionados aleatoriamente entre os alunos que estejam cursando a disciplina de Engenharia de Software ministrada no primeiro semestre de 2011. O total de alunos será divido de forma equânime para compor grupos de ordem par, metade dos grupos para a experimentação e a outra metade para o grupo de controle. Design de experimento utilizando: Detalhamento R X1 O R X2 O

Para o experimento serão utilizados 2 tratamentos diferentes (com o apoio dos mecanismos de reuso e sem as opções de reuso), onde O é a avaliação do documento produzido, e R representa a seleção aleatória.

Legenda: X = representa um tratamento O = representa um teste/avaliação R = representa a seleção aleatória dos participantes

Planejamento da instrumentalização Tratamento a ser realizado: Antes da aplicação do experimento, os participantes deverão

ter participado das aulas e atividades referentes a engenharia de requisitos ministradas nas aulas de engenharia de software. Acredita-se que depois de ministrado todo o conteúdo sobre engenharia de requisito, seja o momento mais oportuno para aplicação do experimento. O experimento será divido em duas etapas. Na primeira etapa, todos os participantes receberão aulas sobre padrões de requisitos para escrita de requisitos. Esta aula aplicada em uma primeira oportunidade, e revisada em uma segunda oportunidade. Em seguida, todos os participantes realizarão o preenchimento do termo de concordância e o questionário sobre o perfil do participante, assim, terminando a primeira etapa. Na segunda etapa, será aplicado o experimento com os grupos em ambientes separados. Serão desenvolvidos dois projetos provenientes dos estudos de caso com os grupos. Com o grupo experimental todas as funcionalidades da ferramenta de apoio estarão disponíveis, já os participantes do grupo de controle, a ferramenta não disponibilizará suporte a sugestões de reuso de requisitos, nem sugestões de padrões relacionados, e formulário baseado em template para escrita dos requisitos.

Objetos/equipamentos: Os materiais necessários serão: Questionários; Ferramenta de apoio a abordagem; Microcomputadores; Estudos de caso

Diretrizes: Os experimentos serão aplicados na cidade de Itajaí-SC, na

Page 220: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

215

mesma ocasião serão preenchidos os termos de concordância e questionário de perfil. Após esse momento, os grupos serão divididos e separados em salas diferentes para cada tipo de grupo.

Instrumentos de medição: Como instrumento de medição será utilizados as medições quanto a eficiência e eficácia:

Eficiência: é razão entre o número de requisitos corretamente descritos e o tempo gasto na execução na atividade de elicitação de requisitos.

Eficácia: é medida como a relação entre o número de requisitos corretamente descritos e o número total de requisitos existentes.

Para tanto, será utilizado um documento de especificação de requisitos aprovado por especialista, como modelo de correção dos estudos de caso.

Avaliação da validade

Validade de conclusão: Nenhuma ameaça foi identificada para este tipo de validade, isso porque os dados coletados serão armazenados pela própria ferramenta de apoio.

Validades internas: Ameaça 1 Os participantes não estarem interessados pelo estudo realizado, e não colaborarem com uma efetiva participação. Ação: motivar os participantes na realização das atividades do experimento.

Ameaça 2 O fato de a abordagem envolver certo grau de dificuldade na utilização/seleção dos padrões de requisitos pode gerar fadiga nos participantes pelo esforço empregado, diminuindo o empenho e comprometimento dos mesmos. Ação: ministrar uma aula sobre padrões de requisitos, e motivar os participantes na realização do experimento. Para ajudar a manter a motivação e comprometimento, a professora da disciplina avaliará a participação dos grupos com o emprego de nota pela execução da atividade.

Validades de construção: Ameaça 1 Desigualdade na seleção dos grupos de participantes do ponto de vista de utilização da ferramenta de apoio. Ação: ministrar uma aula explicando como utilizar a ferramenta.

Ameaça 2 Desigualdade no nível de experiência entre os participantes do grupo experimental e do grupo de controle. Ação: avaliar os grupos através do questionário de perfil dos participantes.

Page 221: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

216

Validades externas: Ameaça 1 Participantes de determinado grupo terem conhecimento prévios. Ação: avaliar participantes através do questionário de perfil dos participantes.

III - Operação Informações: Os participantes serão informados previamente sobre a

aplicação do estudo. Materiais: Os materiais utilizados serão:

Termo de concordância; Relação de participantes; Questionário de perfil; Estudo de caso 1: loja virtual; Estudo de caso 2: ambiente virtual de aprendizagem; Ferramenta de apoio a abordagem;

Comprometimento: Informação sobre o interesse e comprometimento dos participantes será obtida no questionário de perfil.

Coleta dos dados: Os dados do estudo serão coletados através dos dados armazenados pela ferramenta de apoio. A análise destes dados será repassada para uma planilha de eletrônica que realizará os cálculos necessários.

Ambiente: O estudo está previsto para ser realizado nas dependências da UNIVALI, campus Itajaí-SC.

Validade: O entendimento dos participantes será validado através de correção com o confronto do modelo de correção dos estudos de casos. Este modelo validado previamente com especialista.

Conformidade: O pesquisador acompanhará a realização de todas as atividades, com o intuito de garantir que o estudo seja realizado em conformidade com o planejado.

Page 222: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

217

APÊNDICE J - TERMO DE CONCORDÂNCIA

TERMO DE CONSENTIMENTO LIVRE E ESCLARECIDO

Você está sendo convidado para participar da pesquisa AVALIAÇÃO DE UMA NOVA

ABORDAGEM PARA O REUSO DE REQUISITOS.

Você foi selecionado por estar matriculado na disciplina de Engenharia de Software e sua

participação não é obrigatória. A qualquer momento você pode desistir de participar e retirar o seu

consentimento. Sua recusa não trará nenhum prejuízo em sua relação com o pesquisador ou com a

instituição. Os objetivos deste estudo são avaliar uma nova abordagem para reuso de requisitos

quanto a sua eficiência e eficácia em comparação a outra abordagem.

Sua participação nesta pesquisa consistirá em assistir uma aula sobre padrões de requisitos

para escrita de requisitos de software, responder aos questionários e desenvolver um projeto guiado

por um estudo de caso.

Os riscos relacionados com sua participação são nenhum.

Os benefícios relacionados com a sua participação são aprendizagem de conceitos sobre

padrões de requisitos de software e sobre desenvolvimento de documentos de especificação de

requisitos de software.

As informações obtidas através dessa pesquisa serão confidenciais e asseguramos o sigilo

sobre sua participação. Os dados não serão divulgados de forma a possibilitar sua identificação.

Declaro que entendi os objetivos, riscos e benefícios da minha participação na pesquisa e concordo

em participar.

________________________________

Nome do participante:

________________________________

Rodrigo Cezario da Silva – Pesquisador

Page 223: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

218

APÊNDICE K - QUESTIONÁRIO DO PERFIL DOS PARTICIPANTES

Questionário de Perfil do Participante Nome: ________________________________________________________________ Disciplina: _____________________________________________________________ Universidade: ___________________________________________________________ Prezado acadêmico, em relação ao seu perfil, responda as seguintes perguntas: 1) Você é acadêmico do curso de: [ ] B.Sc. em Ciências da Computação. [ ] B.Sc. em Engenharia da Computação. [ ] B.Sc. em Sistema de Informação. [ ] B.Sc. em outro curso na área de Computação. Qual?:__________________________. [ ] B.Sc. em outro curso. Qual?:_____________________________________________. [ ] Tecnólogo em outro curso. Qual?:_________________________________________. 2) Você já é graduado em outro curso? [ ] Não. [ ] Sim. Qual curso?:_____________________________________________________. 3) Você trabalha na área de Computação/Informática? [ ] Não. [ ] Sim. Em que em quanto tempo? [ ] com Técnico de suporte ao usuário. Por _____anos. [ ] com Técnico de manutenção de hardware. Por _____ anos. [ ] como Técnico de manutenção de software. Por _____ anos.

[ ] como Programador. Por _____ anos. [ ] como Projetista. Por _____ anos. [ ] como Analista. Por _____ anos. [ ] como Arquiteto. Por _____ anos. [ ] como Testador. Por _____ anos. [ ] como Gerente de projetos. Por _____ anos. [ ] como Consultor. Por _____ anos. [ ] como Instrutor de treinamentos. Por _____ anos. [ ] Outros. Qual?: ___________________________________. Por _____ anos.

4) Qual o seu conhecimento atual em engenharia de requisitos? [ ] Nenhum. [ ] Tenho pouco conhecimento do assunto. [ ] Conheço o básico. [ ] Aplico na prática como dependência de outros. [ ] Aplico na prática sem dependência de outros.

Page 224: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

219

[ ] Tenho bastante conhecimento do assunto. [ ] Sei tudo sobre o assunto. 5) Como você considera a área de engenharia de requisitos? [ ] Nada importante. [ ] Pouco importante. [ ] Importante. [ ] Muito importante. 6) Você tem interesse em aprender sobre engenharia de requisitos? [ ] Nada interessado. [ ] Pouco interessado. [ ] Interessado. [ ] Muito interessado.

Page 225: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

220

APÊNDICE L - QUESTIONÁRIO DE PERCEPÇÃO (GRUPO EXPERIMENTAL)

Questionário de Percepção Nome: ________________________________________________________________

Concordo totalmente

Concordo parcialmente

Indiferente Não concordo parcialmente

Não concordo totalmente

A ferramenta apresentou funcionalidades adequadas para documentação de requisitos.

A ferramenta foi fácil de utilizar. O reuso de requisitos contribuiu significativamente na elicitação (identificação) dos requisitos.

O uso dos padrões auxiliou na escrita dos requisitos.

Utilizaria a ferramenta na minha prática profissional.

Considero como aspectos positivos da atividade (ferramenta, padrões, reuso, etc.) realizada: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Considero como aspectos a serem melhorados na atividade (ferramenta, padrões, reuso, etc.) realizada: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Descreva sua impressão sobre as opções de sugestão de reuso (Auxiliaram a encontrar mais requisitos? Como ajudaram na atividade? Tem alguma sugestão para melhorar esta funcionalidade?): ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Page 226: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

221

APÊNDICE M - QUESTIONÁRIO DE PERCEPÇÃO (GRUPO DE CONTROLE)

Questionário de Percepção Nome: ________________________________________________________________

Concordo totalmente

Concordo parcialmente

Indiferente Não concordo parcialmente

Não concordo totalmente

A ferramenta apresentou funcionalidades adequadas para documentação de requisitos.

A ferramenta foi fácil de utilizar. O uso dos padrões auxiliou na escrita dos requisitos.

Utilizaria a ferramenta na minha prática profissional.

Considero como aspectos positivos da atividade (ferramenta, padrões, etc.) realizada: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Considero como aspectos a serem melhorados na atividade (ferramenta, padrões, etc.) realizada: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Page 227: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

222

APÊNDICE N - RELAÇÃO DE PARTICIPANTES

Relação de Participantes do Estudo “Avaliação de uma nova abordagem para o reuso de requisitos”

Disciplina: _____________________________________________________________ Universidade: ___________________________________________________________ Data: _____________ Nome Grupo Aula Tratamento

Page 228: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

223

APÊNDICE O - QUESTIONÁRIO PARA AVALIAÇÃO COM ESPECIALISTAS

Questionário de avaliação de uma abordagem de apoio ao reuso de requisitos

Avaliador:

Objetivo:

Avaliar uma abordagem de reuso de requisitos em relação à eficiência e eficácia sob o ponto de vista de especialistas experientes em engenharia de requisitos no contexto de especificação e documentação de requisitos de software.

Esta pesquisa está colaborando com resultados de uma avaliação qualitativa de uma abordagem proposta em uma dissertação de mestrado “Avaliação empírica de uma nova abordagem proposta para o reuso de requisitos”, do Mestrado em Computação Aplicada da UNIVALI.

Instruções:

O questionário apresenta questões com respostas fechadas, no entanto, é oportunizado complemento das respostas com a descrição das dificuldades encontradas e/ou benefícios proporcionados.

Perfil do avaliador:

As questões apresentadas nesta seção estão fora do escopo da avaliação da abordagem, tendo como objetivo identificar o perfil do avaliador.

Qual a sua formação acadêmica?

Ciências da Computação Sistema de Informação Outra:_________________________

Você tem pós-graduação em Engenharia de Software ou afim?

Sim Não Qual?_______________________________________

Você tem experiência na elaboração do documento de especificação de requisitos?

Sim Não Quanto tempo?_______________________________

Questões:

Q1. Qual a sua impressão subjetiva sobre o percentual de agilidade (ganho de tempo) que a atividade de elicitação e documentação de requisitos obtêm quando da utilização da abordagem, comparado com a não utilização desta?

Nenhum 1% - 25% 26% - 50% 51% - 75% 76% - 100%

Page 229: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

224

Q2. Em relação ao artefato de software “Documento de especificação de requisitos” produzido com a abordagem:

a) Entendendo por artefato mais completo como a quantidade de requisitos corretamente identificados, qual a sua impressão subjetiva sobre o percentual de melhoria da abordagem em relação à completude?

Nenhum 1% - 25% 26% - 50% 51% - 75% 76% - 100%

b) Entendendo por artefato mais correto como a quantidade de requisitos corretamente descritos, qual a sua impressão subjetiva sobre o percentual de melhoria da abordagem em relação à corretude?

Nenhum 1% - 25% 26% - 50% 51% - 75% 76% - 100%

c) Analisando o artefato produzido, relacione os itens não atendidos na sua elaboração.

Q3. Em relação a utilização dos padrões/catálogo de requisitos:

a) Qual a sua impressão subjetiva sobre o percentual de ajuda na escrita dos requisitos quando considerado o emprego dos padrões adotados pela abordagem?

Nenhum 1% - 25% 26% - 50% 51% - 75% 76% - 100%

b) Você considera que foi fácil localizar um padrão adequado no catálogo disponibilizado?

Concordo totalmente Concordo parcialmente Não concordo

c) Retrate aqui (caso existam) as dificuldades encontradas com a utilização dos padrões.

Q4. Em relação às sugestões de reuso:

a) Você concorda que as sugestões associadas aos padrões foram adequadas?

Concordo totalmente Concordo parcialmente Não concordo

b) Você concorda que as sugestões associadas à rastreabilidade foram adequadas?

Concordo totalmente Concordo parcialmente Não concordo

c) Retrate aqui (caso existam) as dificuldades encontradas com as sugestões de reuso.

Page 230: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

225

Q5. Em relação a ferramenta de apoio:

a) A ferramenta de apoio proporcionou algum benefício na execução da atividade de elicitação e documentação de requisitos?

Concordo totalmente Concordo parcialmente Não concordo

b) Em que percentual?

Nenhum 1% - 25% 26% - 50% 51% - 75% 76% - 100%

c) Retrate aqui (caso existam) as dificuldades encontradas com o uso da ferramenta.

Page 231: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

226

ANEXO A - TRADUÇÃO DOS PADRÕES DE WHITALL (2007)

Modelos dos padrões.

Padrões de requisitos fundamentais Quadro 15 - Padrão de interface entre sistemas.

Resumo Definição <<nome da interface>> interface (<<identificador da interface>>)

Deverá haver uma interface bem definida (chamada <<identificador da interface>>) entre <<componente 1>> e <<componente 2>>. Objetivos: <<objetivo da interface 1>> ... Interações através desta interface podem ser iniciadas por <<componentes iniciados>>. Esta definição de interface é de responsabilidade e propriedade de <<organização proprietária da interface>>. (Esta interface deve estar em conformidade com a versão <<versão do padrão>> do <<nome do padrão>>, cuja definição pode ser encontrada em <<local do padrão>>) (<<declaração da tecnologia>>)

Quadro 16 - Padrão de interação entre sistemas.

Resumo Definição <<resumo da interação>> A interface <<nome da interface>>

(<<identificador da interface>>) é <<descrição do objetivo da interação>> (que passa, no mínimo, as seguintes informações: <<informações para passar>>).

Quadro 17 - Padrão de tecnologia.

Resumo Definição <<resumo da tecnologia>> <<descrição da tecnologia>> deverá ser

utilizada para <<uso da tecnologia>>. (<<declaração da versão da tecnologia>>) (<<declaração da motivação>>)

<<resumo da tecnologia>> O sistema deverá utilizar a <<descrição da tecnologia>> para <<uso da tecnologia>>. (<<declaração da versão da tecnologia>>)

Page 232: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

227

(<<declaração da motivação>>)

Quadro 18 - Padrão de aderência ao padrão (do inglês comply-with-standard).

Resumo Definição Em conformidade com o padrão <<nome do padrão>>

O sistema deve obedecer (partes <<lista de partes do padrão>>) do padrão <<descrição do padrão>> (a fim de <<objetivo do padrão>>). <<declaração da versão do padrão>>. Fonte: <<localização do padrão>>.

Quadro 19 - Padrão de referência a requisitos (do inglês refer-to-requirements).

Resumo Definição Requisito aplicado <<descrição do domínio>> O sistema deve satisfazer <<requisitos que se

aplicam>> especificados em <<versão da especificação>> para o <<nome da especificação>>, que reside no <<local da especificação>>. <<declaração de prioridade>>.

Quadro 20 - Padrão de documentação.

Resumo Definição <<nome do tipo do documento>> Deve haver um <<nome do tipo de

documento>> que contém <<descrição do documento>>. (Deve ser sob a forma de <<formato do documento ou intermédio>>) (Deve ser escrito <<nome da linguagem>> linguagem)

Padrões de requisitos para informação Quadro 21 - Padrão de tipo de dados.

Resumo Definição Tipo de dados <<nome do tipo de dado>> <<nome do tipo de dado>>, que são utilizados

para <<efeito do tipo de dados>>, deve ser do tipo <<formato do tipo de dado>>. (<<declaração do formato de exibição>>) (<<declaração das restrições>>) (<<declaração dos tratamentos especiais>>)

Quadro 22 - Padrão de estrutura de dados.

Resumo Definição <<nome da estrutura de dados >> <<descrição do tipo de dado>> inclui os

seguintes itens de informação:

Page 233: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

228

<<descrição do item de dado 1>> ...

Quadro 23 - Padrão de identificação.

Resumo Definição <<nome do proprietário da entidade >> Cada <<nome do proprietário da entidade>>

deve ter um ID (identificador) único que está sob a forma de <<forma do identificador>> atribuído pelo <<como atribuiu>>. (<<formato para exibição>>) (Cada <<nome do identificador>> deve de ser único <<escopo de singularidade>>) (<<declaração da ordem de classificação>>) (<<declaração das condições de reuso>>)

Quadro 24 - Padrão de fórmula de cálculo.

Resumo Definição Cálculo do <<nome do valor >> <<descrição do valor>> deve ser calculado da

seguinte forma: <<nome do valor>> = <<fórmula>> Onde <<nome da variável 1>> é <<descrição da variável 1>> <<nome da variável 2>> é <<descrição da variável 2>>> ... (<<refinamento do cálculo>>) (<<limitações de aplicabilidade>>) (<<referência>>) (Por exemplo, <<exemplo>>)

Determinação do <<nome do valor>> <<descrição do valor>> deve ser determinado da seguinte forma:

1. <<descrição do passo 1>> 2. <<descrição do passo 2>> 3. ...

(<<limitações de aplicabilidade>>) (<<referência>>) (Por exemplo, <<exemplo>>)

Quadro 25 - Padrão de longevidade de dados.

Resumo Definição Armazenar <<descrição do dado >> <<forma de armazenamento>> por <<duração>>

<<descrição do dado>> deve ser armazenado <<forma de armazenamento>> para <<duração

Page 234: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

229

da retenção>> de <<gatilho do início da retenção>>. (Quando os dados são ilegíveis para remoção, <<ação junto ao prazo determinado >>)

Quadro 26 - Padrão de arquivamento de dados.

Resumo Definição Arquivamento de <<resumo do dado >> <<descrição do dado>> deve ser (movido) /

(copiado) de <<origem do dado>> para <<destino do dado>> <<freqüência>>. <<descrição do gatilho iniciador>> (O objetivo deste é para <<objetivo do arquivamento >>)

Padrões de requisitos para entidade de dados Quadro 27 - Padrão de entidade ativa.

Resumo Definição <<nome da entidade ativa>> O sistema deve armazenar as seguintes

informações sobre o <<nome da entidade ativa>>:

<<descrição do item de dado 1 >>. …

Um <<nome da entidade>> é <<explicação sobre a entidade>>. Cada <<nome da entidade>> é identificada exclusivamente por <<entidade(s) identificador>> (<<detalhe das entidades geradas>>).

Quadro 28 - Padrão de transação.

Resumo Definição <<nome da transação>> Deve haver uma função para criar uma <<nome

da transação>> transação para um <<proprietário da entidade da ativa>>. Cada <<nome da transação>> deve conter as seguintes informações:

<<descrição do item de dado 1 >>. …

Um <<nome da transação>> é <<explicação da transação>>. Cada <<nome da transação>> é exclusivamente identificada por um <<identificador(es) da transação>>. Um <<nome da transação>> considera-se que aconteceu <<descrição do tempo em que ocorre a transação >> (<<declaração da longevidade da transação>>).

Page 235: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

230

Quadro 29 - Padrão de configuração.

Resumo Definição <<nome do valor de configuração>> Deve de ser possível especificar <<nome do

valor de configuração>> com o objetivo de <<efeito do valor>>. Este é um <<descrição do tipo de dados>> (por exemplo, <<o valor representante>>) e é <<descrição do nível de configuração>>. (Este valor só pode ser alterado apenas <<descrição da alteração do tempo>>)

<<nome da entidade de configuração>> O sistema deverá armazenar as seguintes informações sobre uma <<nome da entidade de configuração>> com o objetivo de <<objetivo da entidade>>:

<<descrição do valor de configuração 1 >>.

… Cada <<nome da entidade de configuração>> é unicamente identificada pelo <<entidade identificador>>. (Essa entidade só pode ser alterada << descrição da alteração do tempo >>)

Quadro 30 - Padrão cronologia.

Resumo Definição Registro <<resumo do tipo de ocorrência>> Cada <<descrição do(s) tipo(s) de ocorrência>>

serão automaticamente gravadas. Para cada uma, serão registrados os seguintes dados:

<<detalhe da ocorrência 1 >>. <<detalhe da ocorrência 2 >>. …

(Todos os eventos devem ser tratados como tendo uma gravidade de <<descrição da gravidade>>)

Padrões de requisitos para funções de usuário Quadro 31 - Padrão de consulta.

Resumo Definição Consulta <<nome da consulta>> Deve haver uma consulta <<nome da

consulta>> que retorne <<informações exibidas>>. O seu objetivo é <<intenção de negócio>>. Para cada <<nome da entidade>>, a consulta deve exibir o seguinte:

<< item de informação 1 >>. <<item de informação 2>>

Page 236: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

231

… (Os itens a serem exibidos serão ordenados em <<detalhes sobre a sequência de classificação>>) (Os itens a serem exibidos podem ser especificados por se adequar em qualquer dos seguintes critérios de seleção:

<<critério de seleção 1>> <<critério de seleção 2>> ...)

(O usuário deve ser capaz de navegar <<detalhes de navegação do usuário>>) (O usuário deve ser capaz de interagir com a consulta <<detalhes da interação do usuário>>) (As informações apresentadas são atualizadas automaticamente <<detalhes da atualização automática>>)

Quadro 32 - Padrão de relatório.

Resumo Definição Relatório <<nome do relatório>> Deve haver um relatório que mostre

<<informações a serem exibidas>> <<critério de seleção>> ordenadas por <<sequência de ordenação>>. O objetivo deste relatório é a <<intenção do negócio>>. Para cada <<nome do tipo de item>>, o relatório deve mostrar o seguinte:

<<nome do valor 1 >>. <<nome do valor 2 >>. …

(Os itens a serem exibidos podem ser especificados por enquadrar em qualquer dos seguintes critérios de seleção:

<<critério de seleção 1 >>. <<critério de seleção 2 >>. …)

Os totais devem ser mostrados para <<níveis de totalização>>. (Uma nova página deve ser iniciada por <<níveis de páginas>>) (O relatório destina-se a ser executado automaticamente <<detalhe da execução automática>>)

Quadro 33 - Padrão de acessibilidade.

Resumo Definição Acessíveis a pessoas com determinada Um <<parte do sistema>> deve ser acessível a

Page 237: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

232

necessidade de <<nome específico da necessidade>>

pessoas com determinada necessidade de <<descrição da necessidade específica>> (na medida em que <<extensão do apoio>>). (Estima-se que <<percentagem afetada>>% dos usuários são susceptíveis para o benefício.) (Isso se refere à <<cláusula na lei>>)

Padrões de requisitos para performace Quadro 34 - Padrão de tempo de resposta.

Resumo Definição Tempo de resposta <<tipo da operação>> Cada <<tipo de operação>> deve ter um tempo

de resposta não superior a <<tempo tolerável de duração>> do <<tempo de limite inicial>> a <<tempo de limite final>> (quando se utiliza <<configuração indicativa de hardware >>). Este valor é baseado em <<justificativa>>. (Este requisito não se aplica aos <<casos excepcionais>>) (<<advertência de carga elevada>>) (A motivação para este requisito é <<motivação>>)

Quadro 35 - Padrão de rendimento (do inglês throughput).

Resumo Definição Razão <<tipo de rendimento>> <<parte do sistema>> deve ser capaz de lidar

com <<tipo de objeto de rendimento>> transações a um razão de pelo menos <<quantidade de rendimento>> por <<unidade de período de tempo>> (quando se utilizado << configuração indicativa de hardware >>). (<<declaração do cumprimento do prazo>>) (<<declaração de contingência>>) (<<declaração de justificativa>>)

Quadro 36 - Padrão de capacidade dinâmica.

Resumo Definição Capacidade simultâneo do <<tipo de entidade>> O sistema deverá satisfazer <<quantidade da

entidade>> <<tipo da entidade>> simultâneos <<declaração da condição da entidade>> (<<declaração da duração do pico>>).

Page 238: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

233

(<<declaração do tempo de execução>>) (<<declaração do período de pico da concessão>>)

Quadro 37 - Padrão de capacidade estática.

Resumo Definição Capacidade total do <<tipo de entidade>> O sistema deve ser capaz de lidar com um

mínimo de <<quantidade da entidade>> <<tipo da entidade>>. <<critério de inclusão da entidade>> . (<<declaração do tempo de execução>>)

Quadro 38 - Padrão de disponibilidade.

Resumo Definição Disponibilidade <<extensão>> O sistema deve estar normalmente disponível

para os usuários <<declaração da extensão de disponibilidade>> (exceto em circunstâncias excepcionais de freqüência e duração não superior a <<qualificador para tolerância de indisponibilidade>>. “Normalmente disponível” deve de ser entendido como <<significado para disponibilidade>>.

Padrões de requisitos para flexibilidade Quadro 39 - Padrão de escalabilidade.

Resumo Definição Escalabilidade <<aspectos da escalabilidade>> O sistema deve ser escalável para acomodar um

número ilimitado de <<tipo de item a ser escalável>>. <<indicativo de alto volume de negócios>>. (<<facilidade de comunicação de expansão >>) (<<declaração de motivação>>)

Quadro 40 - Padrão de extensabilidade.

Resumo Definição Extensabilidade <<aspectos do sistema>> Deve ser possível expandir o <<aspecto do

sistema>>, através do desenvolvimento e “ligação com” um módulo de software extra. A introdução de qualquer módulo não deve exigir mudanças fundamentais para o software central, para permitir a sua introdução. <<facilidade de extensabilidade>>.

Page 239: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

234

(<<detalhe da configuração>>) Ligação com <<tipo de subcomponente>> Deve ser possível adicionar um novo <<tipo de

subcomponente>> através do desenvolvimento e “ligação com” o software necessário para apoiá-lo. Um novo <<tipo de subcomponente>> não deve exigir mudanças fundamentais para o sistema central do software para permitir a sua introdução. <<facilidade de extensabilidade>>. (<<detalhe da configuração>>)

Quadro 41 - Padrão de ilimitado (do inglês unparochialness).

Resumo Definição Não é especificado um <<único nome do ambiente>>

O sistema deve ser adequado para o uso por qualquer organização que <<condições adequadas>>. (<<declaração de motivação>>) Por exemplo, a <<declaração dos aspectos de variação>>.

Quadro 42 - Padrão de múltiplos. (do inglês multiness)

Resumo Definição Multi- << nome do múltiplo>> O sistema deverá suportar múltiplo <<descrição

do tipo de múltiplos>>. <<declaração de extensão>>. (<<declaração do número de casos>>) (<<declaração das limitações>>)

Provisão para multi- << nome do múltiplo>> (no futuro)

O sistema deverá prever a futura introdução de suporte para múltiplos << descrição do tipo de múltiplos >>. <<declaração de extensão>>. (<<declaração das limitações>>)

Quadro 43 - Padrão de multi-linguagem.

Resumo Definição Multi-lingual (<<qualificador de escopo>>) O sistema deverá suportar vários idiomas.

<<declaração de extensão>>. (<<declaração do número de casos>>) (<<declarações de limitações>>)

Provisão (para <<qualificador de escopo>>) para se tornar multi-lingual

O sistema deverá prever a futura introdução de suporte para vários idiomas. <<declaração de extensão>>.

Page 240: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

235

(<<declarações de limitações>>)

Quadro 44 - Padrão de instalabilidade.

Resumo Definição Instalabilidade do <<parte do sistema>> Deve ser possível para o <<parte do sistema>>

para ser instalado por uma <<pessoa que irá instalar>>. <<declaração para uma fácil instalação>>. (<<declaração de instalação por intermédio>>)

Padrões de requisitos para controle de acesso Quadro 45 - Padrão de registro de usuário.

Resumo Definição Auto-registro <<classe usuário>> Uma pessoa deve ser capaz de se registrar como

um <<classe usuário>>, por <<descrição do processo de registro>>. Deve ser solicitado a informar os seguintes dados pessoais:

<<detalhe do usuário 1>> <<detalhe do usuário 2>> ...

Registro de <<classe usuário>> Será possível registrar uma pessoa como um <<classe usuário>>, por <<descrição do processo de registro>>. As seguintes informações devem ser inscritas sobre eles:

<<detalhe do usuário 1>> <<detalhe do usuário 2>> ...

Quadro 46 - Padrão de autenticação de usuário.

Resumo Definição Autenticação/Login <<classe usuário>> Um <<classe usuário>> deve ser capaz de

autenticar-se (log in) em <<passos de autenticação>>.

Quadro 47 - Padrão de autorização específica.

Resumo Definição Acesso <<resumo dos privilégios>> <<descrição dos privilégios>> deverá (não)

estar acessível <<descrição da regra de acesso>>.

Acesso <<resumo dos privilégios>> Um <<tipo de usuário>> deverá (não) ser capaz de <<descrição do privilégio>>.

Quadro 48 - Padrão de autorização configurável.

Resumo Definição Acesso de <<classe usuário>> para <<natureza Um <<classe usuário>> deve ser capaz de

Page 241: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

236

do acesso>> acessar apenas <<descrição da natureza de acesso>> aos quais tenha sido concedida autorização (por força das funções atribuídas a eles). A motivação para este requisito é <<declaração de motivação>>

Quadro 49 - Padrão de aprovação.

Resumo Definição Aprovação de <<nome da ação >> Um <<descrição da ação>> deve

<<circunstâncias para aprovação>> ser aprovado por <<descrição do aprovador>>. (<<declaração de prontidão da aprovação>>) (<<declaração do mecanismo de aprovação>>) (Se a aprovação for negada <<descrição da ação de rejeição>>)

Padrões de requisitos comerciais Quadro 50 - Padrão de multi-organizacional.

Resumo Definição Multi- <<nome do tipo de unidade>> O sistema deverá suportar múltiplo <<nome do

tipo de unidade>> (por <<nome do tipo de unidade pai>>). (Para os fins desta especificação, um <<nome do tipo de unidade>> é <<definição do tipo de unidade>>) (<<declaração das características>>) (<<declaração do número de casos>>)

Estrutura da organização <<resumo da estrutura>>

Deve ser possível definir uma estrutura organizacional <<descrição da estrutura>>. (<<declaração das características>>)

Quadro 51 - Padrão de taxas.

Resumo Definição Taxa/Imposto de <<nome da taxa/imposto >> O sistema deve calcular uma taxa de << nome

da taxa/imposto >> com base <<base>> sobre <<origem>> desde que <<condição>>. É pago por <<pagador>> ao <<receptor>> <<quando cobrado>>. A taxa deve ser determinada por <<razão para determinação da taxa/imposto>> O sistema é responsável pela <<responsabilidade do sistema>>. Fonte: <<referencia>>.

Page 242: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

237

ANEXO B - FICHA DE CADASTRO DE LIVROS (ESTUDO DE CASO 1)

Page 243: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

238

ANEXO C - TABELA FORNECIDA PELOS CORREIOS PARA O CÁLCULO DO FRETE (ESTUDO DE CASO 1)

Page 244: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

239

ANEXO D - DADOS DA TRANSAÇÃO RETORNADOS PELA OPERADORA DE CARTÃO DE CRÉDITO (ESTUDO DE CASO 1 E 2)

Page 245: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

240

ANEXO E - FOLDER (ESTUDO DE CASO 2)

Page 246: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

241

ANEXO F - TABELA DE CONTRATO DE COBERTURA DE RISCO (ESTUDO DE CASO 2)

Cobertura exclusiva para o carro alugado, incluindo acessórios, em caso de furto, roubo,

incêndio e colisão, com pagamento de indenização por custos operacionais obrigatória até os

limites abaixo:

COBERTURA DO CARRO GRUPO DIÁRIA INDENIZAÇÃO POR

CUSTOS OPERACIONAIS A, C, F e M R$ 25,00 R$ 2.000,00 H, I, J, K, N, R, S, U e V

R$ 36,00 R$ 4.000,00

Y R$ 36,00 R$ 10.000,00 T R$ 36,00 R$ 15.000,00 P R$ 36,00 R$ 7.000,00 (perda parcial)

R$ 14.000,00 (perda total, furto e roubo)

Page 247: UMA ABORDAGEM PARA O REUSO DE REQUISITOS …siaibib01.univali.br/pdf/Rodrigo Cezario da Silva.pdf · Figura 1 - Exemplo de padrão de requisitos apresentado em Toro et al. (1999).....

242

ANEXO G - ATA DE REUNIÃO DE ENTREVISTA (ESTUDO DE CASO 2)

Ata de Reunião de Entrevista

Projeto: Sistema de reserva online de locadora de veículo

Data: 24/3/2011

Entrevistado: Otávio da Silva – Sócio gerente

Entrevistadores: Rodrigo C. da Silva, Julia Sitko

Duração: 00:40

Assunto: Formas de pagamento disponíveis. Objetivos: • Levantamento inicial das formas de pagamentos que serão disponibilizadas para os clientes. Perguntas Formuladas: • Quais as formas de pagamento que serão disponibilizadas para os clientes? • No caso de pagamentos por com cartão de crédito, existe algum tipo de manual de implementação? Principais Pontos Discutidos: • Foi acertado que as formas de pagamento serão de boleto, transferência bancária e cartão de débito. No caso de pagamento parcelado serão também aceito o pagamento com cartão de crédito. • A empresa optou em disponibilizar o pagamento com cartão de crédito/débito por duas bandeiras (VISAX E MASTERCARDX), sendo que ambas dispõem de guia de implementação para o desenvolvedor. O anexo “dados da transação retornados pela operadora de cartão de crédito” (Anexo D) apresenta os dados que devem ser registrado sobre o retorno da transação.