Investigações Empíricas
As investigações empíricas envolvem a investigação científica de qualquer ferramenta, técnica ou método. Esta investigação contém principalmente os 4 princípios a seguir.
- Escolha de uma técnica de investigação
- Declarando a hipótese
- Manter o controle sobre a variável
- Tornando a investigação significativa
Escolhendo uma técnica de investigação
Os principais componentes da investigação empírica em engenharia de software são -
- Survey
- Estudo de caso
- Experimento formal
Pesquisa
Pesquisa é o estudo retrospectivo de uma situação para documentar relações e resultados. Isso sempre é feito após a ocorrência de um evento. Por exemplo, em engenharia de software, as pesquisas podem ser realizadas para determinar como os usuários reagiram a um determinado método, ferramenta ou técnica para determinar tendências ou relacionamentos.
Nesse caso, não temos controle sobre a situação em questão. Podemos registrar uma situação e compará-la com outra semelhante.
Estudo de caso
É uma técnica de pesquisa em que você identifica os principais fatores que podem afetar o resultado de uma atividade e, em seguida, documenta a atividade: suas entradas, restrições, recursos e saídas.
Experimento Formal
É uma investigação controlada rigorosa de uma atividade, onde os fatores-chave são identificados e manipulados para documentar seus efeitos no resultado.
Um método de investigação particular pode ser escolhido de acordo com as seguintes diretrizes -
Caso a atividade já tenha ocorrido, podemos realizar levantamento ou estudo de caso. Se ainda não ocorrer, então o estudo de caso ou experimento formal pode ser escolhido.
Se tivermos um alto nível de controle sobre as variáveis que podem afetar o resultado, podemos usar um experimento. Se não tivermos controle sobre a variável, o estudo de caso será uma técnica preferida.
Se a replicação não for possível em níveis superiores, o experimento não será possível.
Se o custo de replicação for baixo, podemos considerar a experiência.
Declarando a Hipótese
Para impulsionar a decisão de uma determinada técnica de investigação, o objetivo da pesquisa deve ser expresso como uma hipótese que queremos testar. A hipótese é a teoria ou suposição provisória de que o programador pensa que explica o comportamento que deseja explorar.
Manter o controle sobre as variáveis
Depois de declarar a hipótese, a seguir temos que decidir as diferentes variáveis que afetam sua verdade, bem como quanto controle temos sobre ela. Isso é essencial porque o discriminador-chave entre o experimento e os estudos de caso é o grau de controle sobre a variável que afeta o comportamento.
Uma variável de estado que é o fator que pode caracterizar o projeto e também pode influenciar os resultados da avaliação é usada para distinguir a situação de controle da experimental no experimento formal. Se não pudermos diferenciar o controle do experimento, a técnica de estudo de caso será a preferida.
Por exemplo, se quisermos determinar se uma mudança na linguagem de programação pode afetar a produtividade do projeto, então a linguagem será uma variável de estado. Suponha que estamos usando FORTRAN que queremos substituir por Ada. Então FORTRAN será a linguagem de controle e Ada a experimental.
Tornando a investigação significativa
Os resultados de um experimento são geralmente mais generalizáveis do que o estudo de caso ou pesquisa. Os resultados do estudo de caso ou pesquisa podem normalmente ser aplicáveis apenas a uma determinada organização. Os pontos a seguir comprovam a eficiência dessas técnicas para responder a uma variedade de perguntas.
Teorias conformes e sabedoria convencional
Estudos de caso ou pesquisas podem ser usados para conformar a eficácia e utilidade da sabedoria convencional e muitos outros padrões, métodos ou ferramentas em uma única organização. No entanto, o experimento formal pode investigar as situações em que as afirmações são geralmente verdadeiras.
Explorando relacionamentos
A relação entre vários atributos de recursos e produtos de software pode ser sugerida por um estudo de caso ou pesquisa.
Por exemplo, uma pesquisa de projetos concluídos pode revelar que um software escrito em uma linguagem específica tem menos falhas do que um software escrito em outras línguas.
Compreender e verificar essas relações é essencial para o sucesso de quaisquer projetos futuros. Cada uma dessas relações pode ser expressa como uma hipótese e um experimento formal pode ser elaborado para testar o grau em que as relações se mantêm. Normalmente, o valor de um atributo específico é observado mantendo outros atributos constantes ou sob controle.
Avaliando a precisão dos modelos
Os modelos geralmente são usados para prever o resultado de uma atividade ou para orientar o uso de um método ou ferramenta. Apresenta um problema particularmente difícil ao projetar um experimento ou estudo de caso, porque suas previsões geralmente afetam o resultado. Os gerentes de projeto freqüentemente transformam as previsões em metas de conclusão. Este efeito é comum quando os modelos de custo e cronograma são usados.
Alguns modelos, como modelos de confiabilidade, não influenciam o resultado, uma vez que a confiabilidade medida como tempo médio de falha não pode ser avaliada até que o software esteja pronto para uso em campo.
Medidas de validação
Existem muitas medidas de software para capturar o valor de um atributo. Portanto, um estudo deve ser conduzido para testar se uma determinada medida reflete as mudanças no atributo que ela deve capturar. A validação é realizada correlacionando uma medida com outra. Uma segunda medida, que também é uma medida direta e válida do fator que afeta, deve ser usada para validar. Essas medidas nem sempre estão disponíveis ou são fáceis de medir. Além disso, as medidas utilizadas devem estar de acordo com as noções humanas do fator que está sendo medido.