• Nenhum resultado encontrado

Nathalia Maria Temudo

N/A
N/A
Protected

Academic year: 2021

Share "Nathalia Maria Temudo"

Copied!
166
0
0

Texto

(1)

Pós-Graduação em Ciência da Computação

“Abordagem de Apoio à Tomada de Decisão na

Seleção do Tipo de Estudo Empírico em

Engenharia de Software”

Por

Nathalia Maria Temudo

Dissertação de Mestrado

Universidade Federal de Pernambuco [email protected] www.cin.ufpe.br/~posgraduacao

RECIFE 2014

(2)

UNIVERSIDADE FEDERAL DE PERNAMBUCO

PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

CENTRO DE INFORMÁTICA

NATHALIA MARIA TEMUDO

“A

BORDAGEM DE APOIO À TOMADA DE DECISÃO NA

SELEÇÃO DE TIPO DE

E

STUDO

E

MPÍRICO EM

E

NGENHARIA DE

S

OFTWARE

TRABALHO APRESENTADO A PÓS-GRADUAÇÃO EM CIÊNCIA DA

COMPUTAÇÃO DO CENTRO DE INFORMÁTICA DA UNIVERSIDADE FEDERAL DE PERNAMBUCO COMO REQUISITO PARCIAL PARA OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIA DA COMPUTAÇÃO.

C

ANDIDATO

:

N

ATHALIA

M

ARIA

T

EMUDO

(

NMT

@

CIN

.

UFPE

.

BR

)

O

RIENTADOR

:

S

ERGIO

C

ASTELO

B

RANCO

S

OARES

(

SCBS

@

CIN

.

UFPE

.

BR

)

R

ECIFE

(3)

Catalogação na fonte

Bibliotecária Joana D’Arc L. Salvador, CRB 4-572

Temudo, Nathalia Maria.

Abordagem de apoio à tomada de decisão na

seleção de tipo de estudo empírico em engenharia de

software / Nathalia Maria Temudo. – Recife: O Autor,

2014.

164 f.: fig., tab.

Orientador: Sergio Castelo Branco Soares.

Dissertação (Mestrado) - Universidade Federal de

Pernambuco. CIN. Ciência da Computação, 2014.

Inclui referências e apêndices.

1. Engenharia de software. 2. Empirismo. I. Soares,

Sergio Castelo Branco (orientador). II. Título.

(4)

Dissertação de Mestrado apresentada por Nathalia Maria Temudo à Pós-Graduação em Ciência

da Computação do Centro de Informática da Universidade Federal de Pernambuco, sob o título

“Abordagem de Apoio à Tomada de Decisão na Seleção do Tipo de Estudo Empírico em

Engenharia de Software” orientada pelo Prof. Sergio Castelo Branco Soares e aprovada pela

Banca Examinadora formada pelos professores:

______________________________________________

Prof. André Luis de Medeiros Santos

Centro de Informática / UFPE

______________________________________________

Profa. Cristine Martins Gomes de Gusmão

Departamento de Engenharia Biomédica / UFPE

_______________________________________________

Prof. Sergio Castelo Branco Soares

Centro de Informática / UFPE

Visto e permitida a impressão.

Recife, 19 de fevereiro de 2014.

___________________________________________________

Profa. Edna Natividade da Silva Barros

Coordenadora da Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco.

(5)

Agradecimentos

Primeiramente, agradeço a Deus por ter me dado saúde e força para chegar até

esse momento. Em segundo, agradeço à minha família pelo apoio durante todo o

mestrado e ao meu namorado pela paciência e cumplicidade até nos momentos mais

desafiadores da pesquisa acadêmica. Por último e em especial, agradeço ao meu

orientador, Sérgio Soares, figura imprescindível em minha caminhada nesse primeiro

nível de aprofundamento stricto sensu, por todo seu empenho, orientação, incentivo,

carinho e pela paciência ao se dispor como fonte bem-servida de sabedoria e

conhecimento, sendo capaz de repassar sua experiência com excelente didática.

(6)

The only way to do great work is to love what you do.

- STEVE JOBS

(7)

Resumo

Ao longo dos anos, estudos empíricos têm se mostrado mecanismos

importantes para o avanço científico em diversas áreas como Medicina e Ciências

Sociais, por exemplo. Em Engenharia de Software não é diferente, visto que o

interesse por esse tipo de estudo vem crescendo desde a década de 80 e ganhando

novos adeptos que contribuem para o desenvolvimento da área. Entretanto, vários

fatores tornam a pesquisa empírica em Engenharia de Software particularmente difícil,

uma vez que requer estudar não só a tecnologia, mas os conceitos e teorias

envolvidos. Além disso, há uma multiplicidade de tipos de estudos tais como estudos

de caso, pesquisa ação, survey, experimento e etnografia, o que dificulta a seleção de

um tipo de estudo empírico apropriado numa dada situação de projeto de pesquisa.

Nesse contexto, foi conduzida uma revisão sistemática com o objetivo de identificar

informações baseadas em evidências sobre a seleção de estudo empírico pelos

pesquisadores em Engenharia de Software, visando a criação de uma abordagem de

apoio à tomada de decisão em pesquisa empírica.

Palavras-chave: Engenharia de Software. Tipo de Estudo Empírico. Revisão

Sistemática. Abordagem. Tomada de Decisão.

(8)

Abstract

Along the years, empirical studies had reported important mechanisms for

scientific progress in several areas such as Social Science and Medicine, for example.

In Software Engineering is not different, as the interest for empirical studies have been

increasing since the 80s and getting new researchers who contribute to the

development of the area. However, several factors make empirical research in Software

Engineering particularly challenging, as it requires studying not only the technology, but

the concepts and theories around. Furthermore, the plethora of studies type such as

case studies, action research, survey, experiment or ethnography makes is very difficult

to choose an appropriate research method in a given situation of the design science

research. In this context, this research was performed through Systematic Literature

Review aiming to identify evidence-based information on the selection of empirical study

type by researchers in Software Engineering, aiming at creating a support approach to

decision making in empirical research.

Keywords: Software Engineering. Empirical Study Type. Systematic Literature Review.

Approach. Decision Making.

(9)

Lista de Figuras

FIGURA 3.1 ETAPAS DA PESQUISA. ... 24

FIGURA 4.1 DISTRIBUIÇÃO DOS ESTUDOS SELECIONADOS POR FONTE. ... 30

FIGURA 4.2 DISTRIBUIÇÃO DE SELEÇÃO DE TIPOS DE ESTUDOS EMPÍRICOS AO LONGO DOS ANOS. ... 31

FIGURA 4.3 FLUXOGRAMA DE ESTIMATIVA DE SOFTWARE... 34

FIGURA 4.4 FLUXOGRAMA DE ARQUITETURA DE SOFTWARE. ... 35

FIGURA 4.5 FLUXOGRAMA DOS CASOS DE USO. ... 37

FIGURA 4.6 FLUXOGRAMA DE DESENVOLVIMENTO DE SOFTWARE. ... 38

FIGURA 4.7 FLUXOGRAMA RELACIONADO À DOCUMENTAÇÃO. ... 40

FIGURA 4.8 FLUXOGRAMA DE FERRAMENTA. ... 41

FIGURA 4.9 FLUXOGRAMA DE INSPEÇÃO. ... 42

FIGURA 4.10 FLUXOGRAMA DE MÉTODO. ... 44

FIGURA 4.11 FLUXOGRAMA DE MÉTRICAS. ... 46

FIGURA 4.12 FLUXOGRAMA DE MODELOS. ... 48

FIGURA 4.13 FLUXOGRAMA DE REQUISITOS. ... 49

FIGURA 4.14 FLUXOGRAMA DE TESTES. ... 51

(10)

Lista de Tabelas

TABELA 2.1 COMPARAÇÃO DOS TIPOS DE ESTUDOS EMPÍRICOS. ... 19

TABELA 3.1 CLASSIFICAÇÃO DA PESQUISA ... 23

TABELA 4.1 ESTUDOS RELACIONADOS À ESTIMATIVA DE SOFTWARE. ... 33

TABELA 4.2 ESTUDOS RELACIONADOS À ARQUITETURA DE SOFTWARE. ... 35

TABELA 4.3 ESTUDOS RELACIONADOS AOS CASOS DE USO. ... 36

TABELA 4.4 ESTUDOS RELACIONADOS AO DESENVOLVIMENTO DE SOFTWARE. ... 38

TABELA 4.5 ESTUDOS RELACIONADOS À DOCUMENTAÇÃO. ... 39

TABELA 4.6 ESTUDOS RELACIONADOS À FERRAMENTA. ... 41

TABELA 4.7 ESTUDOS RELACIONADOS À INSPEÇÃO. ... 42

TABELA 4.8 ESTUDOS RELACIONADOS AO MÉTODO. ... 44

TABELA 4.9 ESTUDOS RELACIONADOS À METRICAS. ... 45

TABELA 4.10 ESTUDOS RELACIONADOS AOS MODELOS. ... 47

TABELA 4.11 ESTUDOS RELACIONADOS AOS REQUISITOS. ... 49

(11)

Siglas

ES – Engenharia de Software

ESBE – Engenharia de Software Baseada em Evidências

EMS – Estudo de Mapeamento Sistemático

RSL – Revisão Sistemática da Literatura

IEEE – Instituto de Engenheiros Eletricistas e Eletrônicos

EASE – Evaluation and Assessment in Software Engineering

ESEM – Empirical Software Engineering and Measurement

ESEJ – Empirical Software Engineering Journal

IDC – Identificador do campo de pesquisa que o tipo de estudo empírico foi aplicado

IDF – Identificador da Finalidade que o tipo de estudo empírico foi aplicado

(12)

Sumário

1 INTRODUÇÃO ... 12 1.1 OBJETIVOS ... 13 1.1.1 Objetivos gerais ... 13 1.1.2 Objetivos específicos ... 13 1.2 ORGANIZAÇÃO DA DISSERTAÇÃO ... 13 2 FUNDAMENTAÇÃO TEÓRICA ... 15 2.1 ENGENHARIA DE SOFTWARE... 15

2.2 ESTUDOS EMPÍRICOS EM ENGENHARIA DE SOFTWARE ... 15

2.2.1 Métodos para a condução de experimentos em Engenharia de Software ... 17

2.2.2 Tipos de estudos empíricos em Engenharia de Software ... 18

2.3 ENGENHARIA DE SOFTWARE BASEADA EM EVIDÊNCIAS ... 19

2.4 RESUMO ... 21

3 METODOLOGIA ... 22

3.1 CLASSIFICAÇÃO DA PESQUISA ... 22

3.2 CICLO DA PESQUISA ... 24

3.3 PROTOCOLO DA REVISÃO SISTEMÁTICA DA LITERATURA ... 25

3.3.1 Escopo e Questões de Pesquisa ... 26

3.3.2 Processo de Busca ... 26

3.3.3 Critérios de Exclusão ... 27

3.3.4 Extração dos Dados ... 27

3.3.5 Síntese dos Dados ... 28

3.4 RESUMO ... 29

4 ABORDAGEM DE APOIO À SELEÇÃO DE TIPO ESTUDO EMPÍRICO ... 30

4.1 EXTRAÇÃO E ANÁLISE DOS DADOS ... 30

4.2 CONSTRUÇÃO DA ABORDAGEM ... 31 4.3 A ABORDAGEM ... 32 4.3.1 Estimativa de Software ... 32 4.3.2 Arquitetura de Software ... 33 4.3.3 Casos de Uso ... 35 4.3.4 Desenvolvimento de Software ... 36 4.3.5 Documentação ... 38 4.3.6 Ferramenta ... 40 4.3.7 Inspeção ... 41 4.3.8 Método ... 43 4.3.9 Métrica ... 44 4.3.10 Modelo ... 46 4.3.11 Requisitos ... 47 4.3.12 Teste ... 49

4.3.13 Demais campos da área de pesquisa ... 51

4.4 DISCUSSÃO SOBRE A ABORDAGEM ... 52

4.5 RESUMO ... 53

5 CONSIDERAÇÕES FINAIS ... 54

5.1 AMEAÇAS À VALIDADE E LIMITAÇÕES... 54

5.2 TRABALHOS FUTUROS ... 55

5.3 TRABALHOS RELACIONADOS ... 55

5.4 CONCLUSÕES ... 55

REFERÊNCIAS... 57

APÊNDICE A ... 65

(13)

A.1 BACKGROUND ... 65

A.2 RESEARCH QUESTION ... 65

A.3 SEARCH PROCESS ... 65

A.4 EXCLUSION CRITERIA ... 66

A.5 SELECTION PROCESS ... 66

A.7 DATA EXTRACTION AND DATA SYNTHESIS ... 67

APÊNDICE B ... 69 ESTUDOS SELECIONADOS... 69 APÊNDICE C ... 103 EVIDÊNCIAS ... 103 APÊNDICE D... 159 ESTUDOS RELACIONADOS ... 159

(14)

1 Introdução

Os estudos baseados em evidências empíricas em Engenharia de Software (ES)

vêm ganhando importância desde os meados da década de 80 no sentido de

aperfeiçoar o apoio a tomada de decisão dos profissionais em relação ao

desenvolvimento de software, métodos, técnicas, linguagens de programação, etc. Tal

aperfeiçoamento só foi possível graças a integração das melhores evidências

resultantes das experiências práticas e dos valores humanos de uma pesquisa

empírica [1].

No entanto, conduzir uma pesquisa empírica em ES pode se tornar um tanto

desafiador visto que, nas últimas décadas, vários pesquisadores têm abordado as

dificuldades para a seleção de um método de investigação apropriado [2],[3],[4]. É

importante lembrar que um método de investigação está relacionado ao tipo de estudo

empírico que foi selecionado para a condução da pesquisa diante de uma

multiplicidade de tipos de estudos, que segundo Easterbrook et al. [5], são: estudos de

caso, pesquisa ação, survey, experimento e etnografia.

Além do mais existem vários fatores que tornam a pesquisa empírica em

Engenharia de Software bastante desafiadora. Em primeiro lugar, estudar as atividades

humanas no desenvolvimento de software é sempre um desafio, uma vez que requer

estudar não só a tecnologia em uso, mas também processos sociais que envolve as

partes interessadas [3],[5]. Em segundo lugar, a pesquisa em Engenharia de Software

empírica faz uso dos conceitos e teorias das ciências sociais, uma vez que envolve o

estudo das atividades humanas. Dada a variedade de usos dos conceitos e

terminologia de pesquisa em ciências sociais, os pesquisadores têm dificuldade para

explicar o seu projeto de pesquisa [6].

Em terceiro e último lugar, a seleção de um método de pesquisa em Engenharia

de Software empírica é especialmente problemática segundo Easterbrook et al. [5],

pois o que dificulta a seleção de um tipo de estudo empírico apropriado numa dada

situação de um projeto de pesquisa é a pouca documentação sobre os prós e contras

dos métodos de pesquisa e, assim, muitos pesquisadores não têm o conhecimento

necessário sobre as implicações dos métodos de investigação que eles usam, o que

pode se tornar um impecilho para o pesquisador na condução deste tipo de pesquisa

[6].

Diante do cenário descrito, pesquisadores inexperientes em estudos empíricos,

os quais não possuem ainda muita experiência na área, sentem mais dificuldades em

(15)

relação aos experientes ao selecionar qual método de investigação seria mais

adequado para aplicar em suas pesquisas. Então, com a finalidade de fomentar a

prática de estudos empíricos, o foco principal do trabalho é agregar conhecimento

sobre as justificativas dos pesquisadores da área através de uma Revisão Sistemática

da Literatura (RSL) em relação a seleção dos tipos estudos empíricos em ES, visando

a criação de uma abordagem de apoio à tomada de decisão na seleção do tipo de

estudo empírico em ES.

1.1 Objetivos

1.1.1 Objetivos gerais

Este trabalho tem como objetivo geral agregar conhecimento disponível na literatura

sobre as justificativas dos pesquisadores ao selecionar um tipo de estudo empírico a

ser realizado numa pesquisa. A partir da análise deste conjunto de justificativas, uma

abordagem será criada para apoiar os pesquisadores poucos experientes na execução

de pesquisa empírica em ES.

1.1.2 Objetivos específicos

Com o resultado proveniente da Revisão Sistemática da Literatura realizada

pretende-se alcançar os pretende-seguintes objetivos específicos:

Auxiliar na seleção de tipos de estudos empíricos;

Favorecer a popularização de estudos empíricos para pesquisadores

poucos experientes na área empírica;

Propor uma abordagem de seleção de tipo de estudo empírico;

Se unir a um processo que guia a realização de estudos empíricos em

Engenharia de Software.

1.2 Organização da Dissertação

Além deste capítulo, esta dissertação será apresentada em mais cinco capítulos que

estão organizados da seguinte forma:

O Capítulo 2 apresenta o referencial teórico, que contem os conceitos que

fundamentam esta dissertação. A metodologia que foi adotada para realizar esta

pesquisa é discutida no Capítulo 3, onde é apresentada a classificação da pesquisa

(16)

com o seu quadro metodológico, as principais etapas deste estudo, os procedimentos

seguidos pela Revisao Sistemática da Literatura com o seu protocolo definido e a forma

como os dados foram extraídos, analisados e sintetizados. No Capítulo 4 é

apresentado a abordagem de apoio à tomada de decisão em relação à seleção do tipo

de estudo empírico em Engenharia de Software. Esta abordagem foi gerada a partir

das evidências coletadas e analisadas dos estudos selecionados na Revisão

Sistemática da Literatura. Finalmente, no Capítulo 5 são detalhadas as conclusões do

trabalho desenvolvido e é realizado um levantamento de propostas de trabalhos

futuros. Além disso, diversos apêndices apresentam o protocolo completo da revisão, a

lista de estudos selecionados, as evidências extraídas dos estudos primários e os

estudos relacionados, respectivamente.

(17)

2 Fundamentação Teórica

Este capítulo aborda o conteúdo teórico necessário para desenvolver a solução para o

problema descrito na introdução: conceitos de Engenharia de Software, definição e

tipos de estudos empíricos em Engenharia de Software e Engenharia de Software

baseada em evidências.

2.1 Engenharia de Software

A Engenharia de Software (ES) não engloba apenas um conjunto de levantamento de

técnicas e terminologias para guiar desenvolvimento de software; de acordo com

algumas definições encontradas na literatura, ela inclui muito mais do que isso:

Sommerville [8] caracteriza como uma disciplina da engenharia que se ocupa de

todos os aspectos de produção de software, desde os estágios iniciais de

especificação do sistema, até a manutenção desse sistema, depois que entrou

em operação.

É descrita no glossário do Instituto de Engenheiros Eletricistas e Eletrônicos

(IEEE) para terminologias de ES de 1993 [9] como a aplicação de uma

abordagem sistemática, disciplinada e quantificável para o desenvolvimento,

operação e manutenção de software. O estudo de abordagens e princípios a fim

de obter softwares confiáveis e que executam de forma eficiente nas máquinas

reais.

Em resumo, a ES está preocupada em estruturar o processo da produção

sistemática do software, desde o primeiro contato com o cliente à manutenção de

produtos de software que são desenvolvidos e modificados no prazo estabelecido e

dentro das estimativas de custo, de forma a tornar esse processo mais racional,

científico e repetível com o objetivo de se aproximar das engenharias tradicionais.

2.2 Estudos empíricos em Engenharia de Software

De forma geral, os testes que comparam o que acreditamos ao que vemos são

denominados estudos empíricos. Contudo, se tais estudos forem construídos

(18)

sabiamente e aplicados para apoiar o método científico, eles passam a ter um papel

fundamental na Ciência. Estudos empíricos, como um todo, auxiliam a entender como

e por que as coisas funcionam, e nos permitem usar esta compreensão para alterar

nosso mundo materialmente em várias áreas de pesquisa, inclusive em ES [10].

A realização de estudos empíricos em ES, de acordo com Travassos [11],

representa um modo sistemático para avaliação de ferramentas, metodologias,

processos e produtos, resultando em contribuições efetivas para a qualidade do

software.

Um dos primeiros relatos sobre a importância de estudos empíricos em ES foi

publicado em 1986 por Basili [12]. Após isso, outros estudos evidenciaram a

necessidade de estudos empíricos em ES [13], [14], [15], [16] além do desenvolvimento

de apoio, guidelines, metodologias, frameworks, mecanismos e intrumentos que

permitem projetar, planejar, analisar e empacotar estudos empíricos em ES [1], [16],

[17], [18], [19], [20], [21], [22].

Entretanto, observa-se que nas pesquisas de ES, os estudos empíricos não

obtiveram tanto êxito, comparado ao seu amplo uso nas outras Ciências. Moura [23],

enumerou alguns motivos da falta desses estudos:

A dificuldade de padronizar e encapsular todas as informações

necessárias aos estudos;

A dificuldade de controlar todas as variáveis envolvidas no

desenvolvimento de software, tais como processo, tecnologias,

experimentos e fatores humanos em geral;

O envolvimento humano direto na execução dos estudos, que gera uma

alta probabilidade de contaminação dos resultados, uma vez que é

impossível selecionar para o estudo pessoas que tenham exatamente as

mesmas caracterísiticas;

Os altos custos associados à alocação de pessoas para realizar

experimentos durante todo o processo de desenvolvimento de software.

Vale ressaltar que o processo de realização de estudos empíricos ajuda a

fomentar uma base de dados de conhecimento confiável, aumentando, assim, o acervo

a ser utilizado para tomada de decisões em relação a quais ferramentas, metodologias,

teorias ou tipos de estudos empíricos são mais adequados para a resolução de um

problema [24]. Assim, torna-se evidente a necessidade de estudos empíricos para

alavancar o amadurecimento e desenvolvimento na área de ES.

(19)

2.2.1 Métodos para a condução de experimentos em

Engenharia de Software

De acordo com Travassos [11] existem quatro métodos relevantes para a condução de

Experimento em ES: método científico, método experimental, método de engenharia e

método analítico.

Método Científico. Este método observa o mundo, sugere o modelo ou a teoria

do comportamento, mede e analisa, verifica as hipóteses do modelo ou teoria, ou seja,

é um paradigma indutivo [25]. Pode ser utilizado quando se tenta entender o processo,

o produto de software ou o ambiente, por exemplo. Esse método tenta extrair do

mundo algum modelo que possa explicar um fenômeno e, avaliar se o modelo é

representativo para o fenômeno que está em observação. É uma abordagem para a

construção de modelos.

Método Experimental. Este método sugere o modelo do Experimento,

desenvolve o método qualitativo e/ou quantitativo, aplica um Experimento, mede e

analisa, avalia o modelo e repete o processo. O processo se inicia com o levantamento

de um modelo novo, baseado em um modelo existente ou não, tentando estudar o

efeito do processo ou produto sugerido pelo modelo novo.

Método de Engenharia. Este método observa as soluções existentes, sugere as

soluções mais adequadas, desenvolve, mede e analisa, repetindo até que nenhuma

melhoria adicional seja possível. É uma abordagem orientada à melhoria evolutiva,

assumindo a existência de algum modelo do processo ou produto de software e

modificando esse modelo com o objetivo de melhorar os objetos do estudo.

Método Analítico (ou Matemático). Este método sugere uma teoria formal,

desenvolve a teoria, deriva os resultados e se possível compara-os com as

observações empíricas. É um método dedutivo que não precisa de um projeto

experimental no sentido estatístico, mas oferece uma base analítica para o

desenvolvimento de modelos.

Segundo Travassos [11], o método experimental considera a proposição e

avaliação do modelo com estudos experimentais, sendo a abordagem mais apropriada

para experimentação na área de ES. Entretando, esta pesquisa utilizou o método

científico de forma a entender o processo de seleção de estudo empírico em ES em

busca da construção de uma abordagem de apoio à tomada de decisão, visto que é o

método mais utilizado para a construção de abordagens [25].

(20)

2.2.2 Tipos de estudos empíricos em Engenharia de

Software

Os principais tipos de estudos empíricos conduzidos em ES [21] descritos pela

literatura são:

(i)

Survey. Trata-se de uma investigação conhecida como pesquisa de

campo, usada para identificar as características de uma ampla população

de indivíduos. Geralmente, a coleta de dados está associada ao uso de

questionários, mas pode ser realizada também através de entrevistas

estruturadas ou técnicas de registros de dados. Uma pré-condição para a

escolha desse tipo de estudo empírico é uma pergunta clara sobre a

natureza de uma população alvo em particular [21].

(ii)

Estudo de caso. Segundo Yin [25], o estudo de caso é uma pesquisa

empírica que investiga um fenômeno contemporâneo dentro do seu

contexto na vida real, principalmente quando as fronteiras entre o

fenômeno e o seu contexto não são claras. Além disso, o estudo de caso

oferece uma compreensão profunda de como e porque certos fenômenos

ocorrem, podendo revelar os mecanismos pelos quais as relações

causa-efeito ocorrem [27]. Uma pré-condição para a escolha desse tipo de

estudo empírico é uma pergunta clara e interessada em como e porque

certos fenômenos ocorrem [21].

(iii)

Experimento. É uma investigação de hipótese testável, onde uma ou

mais variáveis independentes são manipuladas com a finalidade de medir

seus efeitos em uma ou mais variáveis. Uma pré-condição para a escolha

desse tipo de estudo empírico é uma hipótese clara que guia todas as

etapas do projeto experimental, inclusive a de decidir quais variáveis

serão incluídas no estudo e como medi-las [21].

(iv)

Etnografia. Segundo Robinson et al. [28], a etnografia é o estudo de uma

comunidade de pessoas visando entender como os membros desta

comunidade percebem suas iterações sociais através da observação. É

um tipo de estudo empírico que pode ajudar a compreender como as

comunidades técnicas constroem uma cultura de práticas de

comunicação que lhes permitem executar os trabalhos técnicos de forma

colaborativa [21].

(21)

(v)

Pesquisa Ação. É um tipo de estudo empírico usado pelos

pesquisadores para resolver um problema do mundo real enquanto

estudam, ao mesmo tempo, a experiência de resolver o problema [29].

Neste estudo, os pesquisadores pretendem intervir nas situações

estudadas com a intenção explícita de melhorar a situação [21].

Vale ressaltar que a classificação dos estudos empíricos está sempre

relacionada aos conceitos das estratégias empíricas [11]. O que diferencia as

estratégias são o controle da execução, o controle da medição, o custo de investigação

e a facilidade de repetição, como mostrado na Tabela 2.1.

Tabela 2.1 Comparação dos tipos de estudos empíricos.

Fator

Survey

Estudo

de caso

Experimento

Etnografia

Pesquisa

ação

Controle da execução Nenhum Nenhum Tem Nenhum Nenhum

Controle da medição Nenhum Tem Tem Nenhum Tem

Controle da Investigação Baixo Médio Alto Baixo Médio

Facilidade da repetição Alta Baixa Alta Alta Alta

Custo Baixo Médio Alto Baixo Médio

2.3 Engenharia de Software baseada em evidências

O paradigma baseado em evidências teve origem em pesquisas médicas por volta dos

anos 80 para os anos 90 [1], e é aplicável aos campos de pesquisa onde a construção

do conhecimento, através de revisões sistemáticas, está presente, como acontece em

ES.

De acordo com Kitchenham et al. [1] a Engenharia de Software Baseada em

Evidências (ESBE) (do inglês Evidence-Based Software Engineering - EBSE) busca

“prover meios pelos quais melhores evidências provenientes da pesquisa possam ser

integradas com experiência prática e valores humanos no processo de tomada de decisão

considerando o desenvolvimento e manutenção de software

”.

Nesse contexto, Revisão Sistemática da Literatura (RSL) (do inglês Systematic

Literature Review

– SLR) e Estudo de Mapeamento Sistemático (EMS) (do inglês

Systematic Mapping Study

– SMS) emergiram como duas ferramentas importantes

para construir e agregar conhecimento em ES e apresentam as seguintes vantagens

[30]:

(22)

A metodologia bem definida torna menos provável que os resultados

encontrados na literatura sejam tendenciosos;

Podem fornecer informações sobre os efeitos de algum fenômeno através

de configurações e métodos empíricos. Se os estudos fornecem

resultados consistentes, a revisão sistemática provê evidências que o

fenômeno é robusto e transferível; se os resultados forem inconsistentes,

as fontes de variação podem ser estudadas;

No caso de estudos quantitativos, é possível combinar dados usando

técnicas de meta-análise, aumentando a probabilidade de detectar efeitos

reais que pequenos estudos individuais não são capazes de detectar.

As RSLs exigem muito mais esforço para serem realizadas quando comparado

com as revisões de literatura tradicionais, pois estão preocupadas em responder

questões muito específicas com a finalidade de construir novos conhecimentos

baseados em estudos existentes em um determinado campo. Os EMSs são geralmente

utilizados quando o pesquisador pretende explorar uma determinada área, orientar uma

RSL no futuro, ou quando há pouca evidência em um determinado campo de pesquisa.

Em resumo, as principais diferenças entre RSLs e EMSs são [30]:

EMSs são guiados por questões de pesquisas mais amplas e mais

exploratórias do que RSLs;

Os termos de pesquisa em EMSs são menos focados do que os usados

em RSLs e, assim, podem retornar um grande número de estudos

durante a fase de busca. Para as RSLs, isto é um problema maior do que

se fosse numa fase de busca de um EMS visto que o objetivo do EMS é

ter uma ampla cobertura ao invés estreita como acontece na RSL;

Devido ao item anterior, o processo de extração de dados para EMSs

também é muito mais amplo do que em RSLs, porém é menos

aprofundado e não visa as melhores práticas, necessitando, às vezes, de

uma fase de classificação ou categorização. O objetivo desta fase é

classificar os estudos com detalhes suficientes para responder as grandes

questões de pesquisa e identificar os estudos que serão revisados

posteriormente sem ser uma tarefa demorada;

Na fase de análise de EMS, os dados são utilizados para responder as

questões de pesquisa colocadas. Muitas vezes, os dados são

organizados através de gráficos de representações de distribuições de

(23)

estudo por tipo de classificação, visto que gráficos são mecanismos de

comunicação eficazes na elaboração de relatórios, e é pouco provável a

utilização de técnicas de análises mais profundas como meta-análise ou

síntese narrativa, por exemplo.

2.4 Resumo

Este capítulo discutiu o embasamento teórico necessário para a realização da

pesquisa. Foram apresentados os conceitos de ES e a importância de pesquisa

empírica neste campo. Também foram abordados os métodos relevantes para a

condução de Experimento em ES incluindo o método selecionado para a condução

desta pesquisa: o método científico.

Além disso, foram descritos os tipos de estudos empíricos mais importantes na

comunidade de Engenharia de Software e mais citados na literatura, os quais foram

utilizados como princípio para a construção da abordagem apresentada no Capítulo 4.

Por fim, houve a apresentação da área de pesquisa ESBE com a apresentação

ferramenta Revisão Sistemática da Literatura, a qual foi utilizada para construir e

agregar conhecimento na área de ES com as evidências coletadas no veículos da

comunidade de Engenharia de Software empírica internacional e essencias para

fomentar os dados utilizados na abordagem.

(24)

3 Metodologia

Este capítulo apresenta a metodologia utilizada para desenvolver a pesquisa. A Seção

3.1 aborda a metodologia filosófica utilizada bem como as etapas de pesquisa

realizadas. Na Seção 3.2 é descrito o protocolo usado para orientar a revisão

sistemática da literatura realizada.

3.1 Classificação da Pesquisa

De acordo com o Easterbrook et al. [21], existem quatro posicionamentos filosóficos

acerca da classificação da pesquisa científica: positivista, construtivista, teoria crítica e

pragmático; e Easterbrook et al. [21] recomenda seguir um deles antes da definição do

método de pesquisa. Para essa pesquisa, foi seguido o posicionamento pragmático,

que defende que todo conhecimento é aproximado e incompleto, e seu valor depende

dos métodos pelos quais foi obtido, sendo, portanto, a verdade relativa ao observador.

Este posicionamento é o menos dogmático dos quatros, e valoriza o

conhecimento prático sobre o abstrato, e o uso de métodos de pesquisa mista, pois

vários métodos são utilizados para lançar luz sobre a questão em estudo, investigando

assim maneiras diferentes de se chegar a uma verdade.

Uma vez escolhido o posicionamento filosófico, foi possível definir o método de

pesquisa. Um método de pesquisa, de acordo com Marconi e Lakatos [31], é o conjunto

das atividades sistemáticas e racionais que, com maior segurança e economia, permite

alcançar um objetivo, traçando um caminho a ser seguido, detectando erros e

auxiliando as decisões do cientista.

De fato, segundo Gil [33], o desenvolvimento de uma pesquisa é possibilitado

por intermédio de um conjunto de procedimentos gerais que constituem o método.

Neste sentido, Soares [34] afirma que o método depende do objeto a ser estudado, do

problema que a pesquisa se propõe a resolver e de seu objetivo. Vale ressaltar que ao

método devem estar associados a inteligência, a competência, o estudo e a criatividade

dos pesquisadores, pois a utilização exclusiva do método não garante os resultados

desejados [35].

Sendo assim, esta pesquisa utiliza um método de abordagem indutivo, baseado

em dados de natureza qualitativa. O método de procedimento utilizado foi o de revisão

sistemática da literatura. O quadro metodológico de classificação da pesquisa é

apresentado na Tabela 3.1 e detalhado nas próximas seções.

(25)

Tabela 3.1 Classificação da Pesquisa

Quadro Metodológico

Método de Abordagem

Indutivo

Método de Procedimento

Revisão Sistemática da Literatura

Natureza dos dados

Qualitativa

Este trabalho optou pela abordagem indutiva, que é descrita por Marconi e

Lakatos [31] como:

“(...) um processo mental por intermédio do qual, partindo de dados particulares,

suficientemente constatados, infere-se uma verdade geral ou universal, não contida nas partes

examinadas.

Logo, o objetivo deste trabalho é levar a conclusões prováveis para uma

população a partir de amostras, ou seja, o conteúdo a que nos referimos é muito mais

amplo do que o das premissas que foram utilizadas como base para a construção da

abordagem apresentada no Capítulo 4.

O método de procedimento definido para a etapa mais concreta no processo de

investigação desta pesquisa foi o de Revisão Sistemática da Literatura (RSL) [30] como

forma de analisar e interpretar um conjunto de dados obtidos na literatura existente

sobre uma questão de investigação particular baseando-se em evidências. A escolha

da revisão ao invés do mapeamento foi baseada na natureza definida da questão de

pesquisa com o intuito de construir uma abordagem de apoio à tomada de decisão na

seleção de estudos empíricos em ES.

Em relação à abordagem qualitativa, Marconi e Lakatos [31] destacam a escolha

dessa abordagem por ser apropriada para obter entendimento mais profundo e

detalhado sobre as investigações, ambientes e comportamentos humanos, além de

ajudar a refinar as proposições para se ajustarem melhor aos dados por se tratar de

uma forma adequada de entender a natureza de um fenômeno e geralmente tem, como

cenário, situações complexas e particulares [36].

A escolha do tipo de pesquisa qualitativa foi feita por melhor se adequar ao

problema desta pesquisa. Porém, é uma abordagem que necessita de um maior

esforço do pesquisador visto que os resultados qualitativos são, geralmente, mais

nebulosos que os quantitativos em termos de extrair e analisar as informações,

especialmente em comunidades mais técnicas como na ES [24].

(26)

Figura 3.1 Etapas da Pesquisa.

3.2 Ciclo da Pesquisa

As etapas que constituem o ciclo da pesquisa estão ilustradas na Figura 3.1 e serão

detalhadas a seguir:

Revisão da literatura (1). Primeiramente, foi realizada uma pesquisa

tradicional da literatura em relação à pesquisa empírica em ES, com a finalidade de

obter o embasamento teórico necessário sobre o assunto. Durante esta etapa, foram

definidos o problema de pesquisa, os objetivos e a questão de pesquisa a ser

investigada.

Planejamento (2). Com a base teórica adquirida na etapa revisão da

literatura, foi iniciada a etapa de planejamento, tomando como base a questão de

pesquisa a ser investigada. Posteriormente, o protocolo da RSL foi planejado e

elaborado.

Coleta de dados (3). Na etapa de coleta de dados foi posto em prática o

protocolo elaborado na etapa de planejamento, com a finalidade de coletar os dados

necessários para a realização da pesquisa.

(27)

Análise (4). Com os dados coletados, os mesmos foram analisados e

interpretados objetivando responder a questão de pesquisa.

Consolidação (5). A última etapa consistiu na consolidação dos dados, na

qual foram apresentadas as contribuições do trabalho para a pesquisa e a prática, as

limitações existentes e o direcionamento para trabalhos futuros, finalizando com a

produção do relatório final.

3.3 Protocolo da Revisão Sistemática da Literatura

Nesta seção são apresentados, de forma breve, alguns pontos do protocolo de Revisão

Sistemática da Literatura que conduziram esta pesquisa no campo de Engenharia de

Software empírica. O protocolo de forma integral se encontra disponível no Apêndice A.

Para guiar a construção desse protocolo foram usados instruções e conselhos

apresentados no guideline definido por Kitchenham et al [30].

Esta pesquisa conduziu uma revisão com a intenção de analisar os trabalhos

de todas as conferências relevantes de Engenharia de Software empírica. A finalidade

da revisão foi responder a questão de pesquisa particular além de gerar uma nova

abordagem em relação ao apoio à tomada de decisão na seleção do tipo de estudo

empírico e prover um arcabouço adequado para posicionar novas pesquisas.

Segundo Kitchenham et al. [1] revisões e mapeamentos sistemáticos tem em

comum:

Identificação da necessidade de executar a revisão sistemática;

Elaboração da questão de pesquisa;

Abrangente e exaustiva busca por estudos primários;

Avaliação de qualidade de estudos incluídos;

Identificação dos dados necessários para responder a pergunta de

pesquisa;

Extração dos dados;

Resumo e síntese dos resultados dos estudos (meta-análise);

(28)

Escrita do relatório.

3.3.1 Escopo e Questões de Pesquisa

A fim de delinear o escopo da pesquisa e os elementos que vieram a fazer parte do

escopo da pesquisa, foi utilizado uma estrutura citada por Kitchenham et al. [30], que,

baseada no trabalho de Petticrew et al. [32], recomenda a fazer uso da estrutura de

questão de pesquisa PICOC. De acordo com a PICOC, aplicada ao estudo deste

trabalho:

População (Population): Pesquisas que conduzem estudos empíricos em

Engenharia de Sofwtare;

Intervenção (Intervention): Uso de tipo de estudo empírico;

Comparação (Comparison): Não se aplica;

Resultado (Outcomes): Um documento que mapeia os tipos de estudos

empíricos para guiar a seleção dos mesmos em engenharia de software.

Contexto (Context): Indústria e Academia.

O item Comparação (Comparison) não foi utilizado nesta pesquisa, visto que

o estudo atual não realiza comparações entre seleções de tipos de estudos empíricos.

O item Contexto (Context) é utilizado para definir o contexto onde ocorre a

comparação; entretanto, para o estudo realizado neste trabalho, foi considerado o

contexto onde ocorreu a seleção do tipo de estudo empírico.

Após a definição da estrutura PICOC uma única pergunta com foco

direcionado e que guia o estudo empírico foi definida:

Questão. Como os pesquisadores selecionam um tipo de estudo empírico

para um projeto de pesquisa?

3.3.2 Processo de Busca

A fim de limitar o campo da pesquisa apenas para publicações de pesquisadores

especialistas na comunidade de Engenharia de Software empírica, o processo de

busca para este estudo foi baseado em uma busca manual nas seguintes fontes:

(29)

Conferências:

o Evaluation and Assessment in Software Engineering

– EASE

o Empirical Software Engineering and Measurement

– ESEM

Jornal:

o Empirical Software Engineering Journal

– ESEJ

As conferências e o jornal selecionados são os veículos da comunidade de

Engenharia de Software empírica internacional. Todos as edições dos mesmos foram

considerados neste estudo, até o ano de 2012. Considerando o esforço empreendido

para avaliar manualmente todos os artigos de todas as edições e de modo a facilitar

atualizações deste estudo, optamos por não incluir o ano de 2013 parcialmente, uma

vez que o estudo foi realizado durante o ano de 2013.

3.3.3 Critérios de Exclusão

Esta etapa do processo é bastante importante na seleção das publicações que farão

parte da extração dos dados e ao mesmo tempo é bem delicada, pois o pesquisador

deve ter muito cuidado ao analisar as publicações para não deixar de selecionar uma

publicação relevante ou selecionar uma publicação erroneamente. Nesta pesquisa, os

critérios de exclusão adotados no estudo foram:

Estudos incompletos como resumos ou resumos expandidos;

Estudos duplicados, no caso de haver dois ou mais estudos semelhantes,

o menos completo será excluído;

Estudos repetidos, ou seja, no caso de haver o mesmo estudo disponível

em mais de uma fonte de pesquisa;

Estudos irrelevantes para a pesquisa, ou seja, estudos que não aplicam

algum tipo de estudo empírico definido na Seção 2.2.2.

3.3.4 Extração dos Dados

Nesta etapa do processo, os dados foram extraídos dos estudos selecionados a fim de

responder a questão de pesquisa deste estudo de forma a construir uma abordagem de

apoio à tomada de decisão de seleção de tipo de estudo empírico na ES.

Inicialmente os dados foram organizados numa planilha eletrônica com

algumas informações básicas dos estudos como identicação única para cada estudo, o

(30)

título, o ano, o veículo da comunidade de ES empírica e o tipo de estudo empírico (os

quais foram citados na Seção 2.2.2 do capítulo anterior).

O tipo de estudo empírico que foi utilizado como princípio para a criação da

abordagem foi comparado com os dados de outros pesquisadores do mesmo grupo de

pesquisa de ES empírica da Universidade Federal de Pernambuco, pois todo o grupo

extraiu informações dos mesmos veículos da comunidade de ES empírica internacional

com planihas eletrônicas distintas, mas que possuiam as mesmas informações básicas.

Como as informações básicas possuiam um identificador único do estudo

para todos do grupo, compartilhávamos as informações coletadas de forma a verificar o

tipo de estudo empírico identificado. Se o estudo não coincidisse, uma reunião era

realizada entre dois ou mais pesquisadores para discutir o porquê da diferença até

chegarmos num senso comum.

Além das informações básicas, foi necessário extrair também, sem

interferências de outros pesquisadores, justificativas em relação a seleção do tipo de

estudo empírico com dados suficientes para responder a questão de pesquisa citada

na Seção 3.3.1.

3.3.5 Síntese dos Dados

Nesta etapa do processo, os dados foram organizados de forma gerar a contribuição

deste trabalho. O procedimento para a síntese dos dados se inicia com a análise das

justificativas retiradas dos estudos selecionados (dados qualitativos) de forma a

identificar a área que o tipo de estudo foi aplicado e com que finalidade ele foi aplicado

como mostra nos formulários detalhados no Apêndice A. Os códigos devem seguir um

padrão de forma a facilitar a análise dos dados. Os códigos utilizados neste estudo

seguem a seguinte formatação:

IDA;

IDF.

Onde:

IDC = IDentificador do Campo de pesquisa que o tipo de estudo empírico foi

aplicado;

(31)

Além das identificações acima, as evidências dos dados dos estudos

selecionados foram organizadas com o auxílio de planilhas eletrônicas, e agrupadas de

acordo com o tipo de estudo empírico selecionado, de forma a facilitar a visão do

pesquisador e a análise dos dados para a construção da abordagem proposta neste

trabalho, que será descrita no Capítulo 4.

3.4 Resumo

Este capítulo discutiu a estrutura da metodologia que foi utilizada para conduzir esta

pesquisa e as razões do uso dos procedimentos e métodos de investigação. Foi

abordada também uma breve descrição do protocolo de pesquisa da RSL proposto

para esta pesquisa. Sendo assim, espera-se, dessa forma, atingir o rigor científico

necessário para garantir a validade dos resultados deste estudo, que serão abordados

no próximo capítulo.

(32)

4 Abordagem de apoio à seleção de

tipo estudo empírico

Este capítulo apresenta a abordagem de apoio à seleção de tipo de estudo empírico

em Engenharia de Software empírica. A Seção 4.1 apresenta informações gerais sobre

os dados utilizados no estudo. Na Seção 4.2, as evidências foram sintetizadas de

forma a apresentar a abordagem construída e ajudar os novos pesquisadores da área

a selecionar um tipo de estudo empírico.

4.1 Extração e análise dos dados

A análise e extração dos dados foi realizada de acordo com o protocolo de pesquisa

descrito por completo no Apêndice A e resumidamente no Capítulo 3. Foram coletados

858 estudos oriundos dos veículos mais importantes da comunidade empírica

internacional de ES, sendo 187 estudos do Evaluation and Assessment in Software

Engineering - EASE, 319 estudos do Empirical Software Engineering Journal - ESEJ e

352 estudos do Empirical Software Engineering and Measurement - ESEM.

Figura 4.1 Distribuição dos estudos selecionados por fonte.

Desses estudos, 304 foram excluídos de acordo com os critérios apresentados

na Seção 3.3.3 e após a exclusão, os estudos foram reduzidos para 103 estudos do

(33)

EASE, 186 estudos do ESEJ e 265 estudos do ESEM, como mostrado na Figura 4.1

Distribuição dos estudos selecionados por fonte. e apresentados no Apêndice B.

Todos os estudos selecionados estão distribuídos entre 1996 e 2012, sendo a

maioria concentrado na última década, o que evidencia que as pesquisas visando

viabilizar seleção e aplicação de tipos de estudos empíricos em ES têm aumentado na

última década. A Figura 4.2 detalha esta distribuição ao longo dos anos.

Figura 4.2 Distribuição de seleção de tipos de estudos empíricos ao longo dos anos.

4.2 Construção da abordagem

Com o intuito de responder a questão de pesquisa descrita na Seção 3.3.1, os estudos

selecionados, apresentados no Apêndice B, foram analisados para identificar e

entender a seleção do tipo de estudo empírico realizada pelos pesquisadores. Assim,

os estudos foram divididos em cinco grupos, de acordo com o tipo de estudo empírico

identificado, resultando em 276 estudos do tipo experimento, 213 estudos do tipo

estudo de caso, 68 estudos do tipo survey, 8 estudos do tipo etnografia e 2 estudos do

tipo pesquisa ação. Vale ressaltar que um estudo pode aparecer em mais de um grupo,

pois pode ser que um estudo aborde, por exemplo, um estudo de caso e um survey

simultaneamente.

Para cada grupo de tipo de estudo empírico, as evidências, detalhadas no

Apêndice C, foram coletadas e analisadas para identificar informações que ajudassem

no refinamento desses grandes grupos e guiassem a construção da abordagem. Ao

analisar cada evidência, foi possível perceber algo em comum entre elas, cada

0 5 10 15 20 25 30 35 40 19 96 19 97 19 98 19 99 20 00 20 01 20 02 20 03 20 04 20 05 20 06 20 07 20 08 20 09 20 10 20 11 20 12 EASE ESEM ESEJ

(34)

pesquisador tinha uma finalidade (avaliar, analisar, comparar, investigar ou reportar

alguma informação) em relação ao campo de pesquisa da área de ES em questão.

Assim, foi possível refinar os grupos e reagrupar as informações em relação a

finalidade e ao campo de pesquisa da área de ES como Estimativa de Software,

Arquitetura de Software, Casos de Uso, Documentação, Métrica, entre tantos outros

que serão detalhados na próxima Seção. Esta reorganização das informações foi de

grande valia para guiar a construção da abordagem que será apresentada na próxima

seção.

4.3 A abordagem

Esta seção apresenta a abordagem que foi construída a partir das evidências coletadas

de forma a responder a questão de pesquisa. Cada seção a seguir representa uma

área do campo de pesquisa da área de Engenharia de Software que se destacou nos

estudos selecionados em relação as evidências coletadas e analisadas e uma breve

explicação. As áreas que tiveram abordagens semelhantes foram agrupadas em uma

única seção.

4.3.1 Estimativa de Software

Neste campo de pesquisa, pudemos observar que sempre que o objetivo da pesquisa

era, em poucas palavras, analisar a estimativa de software a partir de opiniões de

especialistas bem como analisar a influência dos desenvolvedores de software, o tipo

de estudo empírico selecionado pelos pesquisadores foi o experimento. Este tipo de

estudo também foi selecionado para avaliar os fatores desafiantes na realização da

estimativa como informação limitada ou até mesmo investigar melhorias em estimativa

de software de forma geral sem considerar contexto organizacional.

Por exemplo, na evidência coletada no estudo PS671[37] e detalhada no

Apêndice C, a finalidade dos pesquisadores era analisar a estimativa de software

baseado em um grupo de discussão de especialistas. Para esta análise, eles

realizaram um experimento.

Por outro lado, quando era considerado o contexto organizacional na pesquisa,

os pesquisadores selecionaram estudo de caso como tipo de estudo empírico, uma

vez que investigaram o uso de estimativa de software em diversas organizações com

intuito de descobrir as causas dos erros mais comuns praticados pelos gestores de

(35)

projeto de software e, assim, coletar informações suficiente para ter um posicionamento

científico sobre tais erros.

Por exemplo, na evidência coletada no estudo PS261[38] e detalhada no

Apêndice C, a finalidade dos pesquisadores era investigar estimativa de esforço de

software em 35 empresas diferentes e ter um posicionamento sobre o uso de

estimativa baseada em casos de uso. Para esta investigação, eles realizaram um

estudo de caso.

A partir destas informações, o fluxograma (Figura 4.3) foi gerado com os estudos

relacionados citados na Tabela 4.1.

Tabela 4.1 Estudos relacionados à estimativa de software.

IDF

Experimento

Estudo de caso

Analisar PS671, PS781

Avaliar PS01, PS28, PS113, PS190, PS246, PS358

Investigar PS112, PS147, PS213, PS648 PS136, PS261, PS389, PS442

4.3.2 Arquitetura de Software

Neste campo de pesquisa, pudemos observar que sempre que o objetivo da pesquisa

era analisar os impactos causados pelas mudanças na arquitetura de software e em

seus diagramas (incluindo até os erros de modelagem) ou avaliar a eficiência da

arquitetura, dos cenários (como os cenários top-down e bottom-up) envolvidos e dos

padrões utilizados, o tipo de estudo empírico selecionado pelos pesquisadores foi o

experimento. Os pesquisadores selecionaram este tipo de estudo também para

investigar as influências das decisões de projeto, reportar as regras e as estratégias

utilizadas para a elaboração e entendimento da arquitetura de software.

Por exemplo, na evidência coletada no estudo PS351 [39] e detalhada no

Apêndice C, a finalidade dos pesquisadores era analisar os erros de interpretação de

diagramas de arquitetura de software a fim de ajudar os engenheiros a evitar tais erros

no futuro. Para esta análise, eles realizaram um experimento.

(36)

Figura 4.3 Fluxograma de estimativa de software.

Por outro lado quando o objetivo da pesquisa era analisar o desempenho e os

princípios de segurança da arquitetura de software em indústrias, avaliar a proposta de

uma arquitetura e as mudanças relacionadas durante o desenvolvimento de software, o

tipo de estudo empírico selecionado pelos pesquisadores foi o estudo de caso. Este

tipo de estudo empírico foi selecionado também para avaliar a evolução da arquitetura

e as características dos defeitos de componentes em grandes sistemas legados.

Por exemplo, na evidência coletada no estudo PS818 [40] e detalhada no

Apêndice C, a finalidade dos pesquisadores era avaliar as características dos defeitos

de múltiplos componentes em arquitetura de software em grandes sistemas legados da

indústria. Para esta avaliação, eles realizaram um estudo de caso.

Porém, quando o objetivo da pesquisa era investigar os padrões de arquitetura

de software, o tipo de estudo selecionado pelos pesquisadores foi o survey. Por

exemplo, na evidência coletada no estudo PS146 [41] e detalhada no Apêndice C, a

finalidade dos pesquisadores era investigar os padrões de arquitetura de software livre.

Para esta investigação, eles realizaram um survey.

A partir destas informações, o fluxograma (Figura 4.4) foi gerado com os estudos

relacionados citados na Tabela 4.2.

(37)

Tabela 4.2 Estudos relacionados à arquitetura de software.

IDF

Experimento

Estudo de caso

Survey

Analisar PS351, PS357, PS417 PS91, PS438 Avaliar PS140, PS209, PS325, PS328, PS511, PS584, PS623, PS745, PS822 PS250, PS396, PS651, PS816, PS818 Investigar PS120, PS382, PS498 PS146, PS538 Reportar PS741, PS788

Figura 4.4 Fluxograma de arquitetura de software.

4.3.3 Casos de Uso

Neste campo de pesquisa, pudemos observar que sempre que o objetivo da pesquisa

era avaliar ou investigar os casos de uso para especificações de projeto de software,

comparar a utilidade dos casos de uso ou apenas replicar um experimento, o tipo de

estudo empírico selecionado pelos pesquisadores foi o experimento.

Por exemplo, na evidência coletada no estudo PS685 [42] e detalhada no

Apêndice C, a finalidade dos pesquisadores era investigar regras de casos de uso na

(38)

construção de diagramas de classe em projeto orientado a objetos. Para esta

investigação, eles realizaram um experimento.

Por outro lado, quando o objetivo da pesquisa era analisar histórias de casos de

uso em busca dos erros dos sistemas industriais, o tipo de estudo empírico selecionado

pelos pesquisadores foi o estudo de caso. Por exemplo, na evidência coletada no

estudo PS239 [43] e detalhada no Apêndice C, por exemplo, a finalidade dos

pesquisadores era analisar histórias de casos de uso a fim de encontrar as falhas

apresentadas pelo sistema industrial. Para esta análise, eles realizaram um estudo de

caso.

De acordo com estas informações, o fluxograma (Figura 4.5) foi gerado com os

estudos relacionados citados na Tabela 4.3.

Tabela 4.3 Estudos relacionados aos casos de uso.

IDF

Experimento

Estudo de caso

Analisar PS239

Avaliar PS218, S764,PS31, PS63, PS618

Investigar PS685

Comparar PS54

4.3.4 Desenvolvimento de Software

Neste campo de pesquisa, pudemos observar que sempre que o objetivo da pesquisa

era investigar ou analisar falhas em desenvolvimento de software, comparar o tempo

de desenvolvimento por profissionais ou por estudantes em linguagens de

programação orientado a objetos ou a aspectos, o tipo de estudo empírico selecionado

pelos pesquisadores foi o experimento. Por exemplo, na evidência coletada no estudo

PS621 [44] e detalhada no Apêndice C, a finalidade dos pesquisadores era comparar

tempo de desenvolvimento de software por estudantes e por profissionais. Para esta

comparação, eles realizaram um experimento.

Por outro lado, quando a avaliação ou investigação era realizada no contexto

industrial ou em nível organizacional para identificar os benefícios de desenvolvimento

de software para vários tipos de aplicações com suas métricas associadas como custo

e qualidade, por exemplo, o tipo de estudo selecionado pelos pesquisadores foi o

estudo de caso.

(39)

Figura 4.5 Fluxograma dos casos de uso.

Por exemplo, na evidência coletada no estudo PS287 [45] e detalhada no

Apêndice C, a finalidade dos pesquisadores era analisar o benefício mútuo coexistente

entre desenvolvimento de software ágil e o aprendizado em nível organizacional. Para

esta análise, eles realizaram um estudo de caso.

Quando o objetivo da pesquisa era identificar melhorias, vulnerabilidade e novas

estratégias que poderiam ser realizadas durante um desenvolvimento além de

classificar e comparar os riscos associados, o tipo de estudo empírico selecionado

pelos pesquisadores foi o survey.

Por exemplo, na evidência coletada no estudo PS463 [46] e detalhada no

Apêndice C, a finalidade dos pesquisadores era investigar e identificar melhorias que

podem ser realizadas em desenvolvimento de softwares científicos. Para esta

investigação, eles realizaram um survey.

Por fim, a etnografia foi selecionada pelos pesquisadores quando o objetivo da

pesquisa era reportar um corpo de conhecimento sobre as atividades colaborativas

envolvidas em um desenvolvimento de software, investigar implicações de copiar e

colar código durante o desenvolvimento além de observar e analisar o desempenho

das equipes.

Por exemplo, na evidência coletada no estudo PS226 [47] e detalhada no

Apêndice C, a finalidade dos pesquisadores era observar e analisar desempenho de

equipes de estudantes que trabalham no desenvolvimento de software ao longo do ano

2003 - 2004 para uma indústria. Para esta observação e análise do comportamento

humano, eles realizaram uma etnografia.

(40)

De acordo com estas informações, o fluxograma (Figura 4.6) foi gerado com os

estudos relacionados citados na Tabela 4.4.

Tabela 4.4 Estudos relacionados ao desenvolvimento de software.

IDF

Experimento

Estudo de caso

Survey

Etnografia

Analisar PS287, PS40, PS779, PS831 PS318 Avaliar PS496, PS667, PS14, PS808, PS839, PS365 PS227 Comparar PS429, PS621PS659 PS74, Investigar PS475, PS737 PS65, PS525 PS15, PS181, PS463, PS789 PS233, PS262, PS310 Reportar PS208

Figura 4.6 Fluxograma de desenvolvimento de software.

4.3.5 Documentação

Neste campo de pesquisa, pudemos observar que sempre que o objetivo da pesquisa

era, em poucas palavras, investigar se os documentos de projetos orientados a objetos

são mais fáceis de entender e modificar do que os documentos de projetos

estruturados, o tipo de estudo empírico selecionado pelos pesquisadores foi o

(41)

experimento. Este tipo de estudo também foi selecionado para entender qual é a

abordagem de documentação atual mais fácil de utilizar em projetos de software.

Por exemplo, na evidência coletada no estudo PS259 [48] e detalhada no

Apêndice C, a finalidade dos pesquisadores era comparar duas abordagens de

documentação de software, de modo a entender qual é a mais fácil de usar e quais são

as limitações de ambas. Para esta comparação, eles realizaram um experimento.

Por outro lado, quando o objetivo da pesquisa era analisar a visão dos

engenheiros documentando os projetos de software como acontece na prática, o tipo

de estudo empírico selecionado pelos pesquisadores foi o estudo de caso. Por

exemplo, na evidência coletada no estudo PS694 [49] e detalhada no Apêndice C, a

finalidade dos pesquisadores era avaliar os engenheiros de software desenvolvendo

um software para um grupo de cientistas com metodologia de documentação

tradicional. Para esta avaliação, eles realizaram um estudo de caso.

Por fim, quando o objetivo da pesquisa era analisar a prática de documentação

industrial durante uma manutenção corretiva o tipo de estudo empírico selecionado

pelos pesquisadores foi o survey. Por exemplo, na evidência coletada no estudo

PS678 [50] e detalhada no Apêndice C, a finalidade dos pesquisadores era analisar a

prática de documentação industrial em manutenção corretiva na Suécia. Para esta

análise, eles realizaram um survey.

De acordo com estas informações, o fluxograma (Figura 4.7) foi gerado com os

estudos relacionados citados na Tabela 4.5.

Tabela 4.5 Estudos relacionados à documentação.

IDF

Experimento

Estudo de

caso

Survey

Analisar PS678

Avaliar PS556 PS694

Referências

Documentos relacionados

A amostra foi composta por 3.075 idosos do banco de dados do Projeto Fibra UNICAMP, os quais foram avaliados por meio de questionário sociodemográfico,

Em uma amostra de oito indivíduos, observaram, pelas telerradiografias em norma lateral pré-cirúrgica imediata e pós-cirúrgica tardia, alta correlação entre o movimento do ponto

Os dados descritos no presente estudo relacionados aos haplótipos ligados ao grupo de genes da globina β S demonstraram freqüência elevada do genótipo CAR/Ben, seguida

Figura 11 – Vista superior do apêndice torácico, demonstrando as coberturas secundárias superiores do trato caudal do antebraço em Amazona aestiva LINNAEUS, 1758.. Fonte:

Em resumo, este estudo demonstrou que mães de crianças e adolescentes com constipação crônica funcional não são mais ansiosas; que crianças com constipação

3.2 Específicos  Elaborar e determinar as características físico-químicas e microbiológicas da farinha do inhame FI;  Avaliar a estabilidade ao armazenamento da FI; 

O estudo gerou informações sobre a qualidade de vida e imagem corporal desta população atendida no ambulatório de cirurgia bariátrica do Hospital das clinicas HC/PE, com