Guia de Cursos

Queres conhecer a oferta de cursos da NOVA, nas áreas das licenciaturas, mestrados e doutoramentos?
No nosso Guia de Cursos encontras informação útil sobre Faculdades, Institutos e Escolas.
Podes ainda aceder a informações complementares necessárias a uma completa integração.

saber mais Guia de Cursos

Faculdade de Ciências e Tecnologia

Experimental Software Engineering

Código

9231

Unidade Orgânica

Faculdade de Ciências e Tecnologia

Departamento

Departamento de Informática

Créditos

6.0

Professor responsável

Ana Maria Dinis Moreira, Miguel Carlos Pacheco Afonso Goulão

Horas semanais

2

Língua de ensino

Inglês

Objectivos

Saber:

  1. Formalização do conhecimento do domínio
  2. Elicitação de hipóteses
  3. Desenho experimental
  4. Análise exploratória de dados qualitativos e quantitativos
  5. Recolha de informação em projectos reais
  6. Testes de hipóteses paramétricos e não-paramétricos
  7. Identificação e mitigação de ameaças à validade
  8. Disseminação de resultados experimentais
  9. Replicação de experiências

Fazer:

  1. Construção de experiências para obter evidência estatística da validade de propostas em Engenharia de Software usando o método científico
  2. Recolha de informação em projectos reais: ferramentas e técnicas
  3. Relato de experiências usando guias padrão
  4. Realização de revisões sistemáticas de literatura

Soft skills:

  1. Consciência da importância de uma validação sólida de teorias em Engenharia de Software
  2. Pensamento crítico sobre as afirmações feitas em Engenharia de Software

Realização de revisões sistemáticas de literatura e relatos de experiências usando técnicas padrão

Conteúdo

  1. Estratégias empíricas (questionários, casos de estudo e experiências)
  2. Métodos de experimentação qualitativos, quantitativos e mistos
  3. Ciclo de vida do proceso experimental
  4. Medição:
    1. Identificação de variáveis e tipos de escala
    2. Teoria da medição
    3. O paradigma GQM
    4. Formalização de definição de métricas
  5. Planeamento, condução e relato de experiências
    1. Identificação de objectivos
    2. Formulação de hipóteses
    3. Desenho experimental
    4. Identificação de ameaças à validade
    5. Recolha de dados
    6. Análise de dados
    7. Relato de experiências
  6. Construção de teorias em Engenharia de Software
  7. Construção de teorias combinando diferentes IGNOREes de informação
  8. O papel da replicação em Engenharia de Software

Bibliografia

-       Guide to Advanced Empirical Software Engineering, Forrest Shull, Janice Singer, and Dag I.K. Sjøberg, Springer, 2008.

-       Experimentation in Software Engineering, Claes Wohlin, Per Runeson, Martin Höst, Magnus C. Ohlsson, Björn Regnell, Anders Wesslén, Springer 2012.

-       Empirical Methods and Studies in Software Engineering, Reidar Conradi, Alf Inge Wang (eds.), LNCS 2765, Springer, 2003.

-       Basics of Software Engineering Experimentation, Natalia Juristo, and Ana M. Moreno, Kluwer, 2001.

-       Case Study Research in Software Engineering: Guidelines and Examples, Per Runeson, Martin Host, Austen Rainer, Bjorn Regnell, Wiley, 2012.

Research Design: Qualitative, Quantitative, and Mixed Methods Approaches (2nd edition), John W. Creswell, 246 pages, SAGE Publications, 2002.

Método de ensino

As aulas são dadas numa sala de aulas equipada com um projector, e cada tópico é apresentado com recurso a um slide show. Os tópicos são complementados com a leitura de bibliografia seleccionada por parte dos alunos, para aprofundar tópicos seleccionados. Esta leitura incide sobre artigos e capítulos de livro de grande impacto na comunidade de Engenharia de Software Experimental. Este trabalho é complementado com dois projectos pensados para aplicar na prática os conteúdos dicutidos nas aulas com exemplos concretos.

Método de avaliação

A avaliação inclui um exame escrito que corresponde a 50% da nota final. Os restantes 50% são obtidos pela realização de dois projectos: a condução de uma revisão sistemática de literatura, sobre uma questão de investigação concreta, e a realização de uma experiência usando as técnicas experimentais cobertas no curso. Ambos os projectos incluem a produção de um relatório escrito e a realização de uma apresentação oral.

Cursos