Author(s): Sampaio, Alberto António de Chalupa
Date: 2004
Persistent ID: http://hdl.handle.net/1822/2768
Origin: RepositóriUM - Universidade do Minho
Subject(s): 519.6
Author(s): Sampaio, Alberto António de Chalupa
Date: 2004
Persistent ID: http://hdl.handle.net/1822/2768
Origin: RepositóriUM - Universidade do Minho
Subject(s): 519.6
Tese de doutoramento em Informática
O trabalho descrito nesta dissertação consistiu na comparação e classificação de métodos de avaliação do processo do software. Para o efeito, foi desenvolvida uma nova metodologia de comparação e classificação. Trata-se de uma metodologia exploratória, empírica, quantitativa e multidimensional, baseada na taxonomia numérica. Posteriormente, foi realizado um estudo empírico e exploratório de comparação e classificação dos métodos de avaliação, usando a metodologia desenvolvida. Portanto, a tese envolve a proposta de uma nova metodologia e a classificação dos métodos de avaliação do processo do software. A investigação na área da melhoria do processo em geral, e na da avaliação do processo em particular, tem sido, na sua esmagadora maioria, aplicada, ou seja, feita com a preocupação de mostrar que uma abordagem funciona, e não, porque funciona. Poucas foram as contribuições para a explicação do fenómeno da avaliação do processo do software. Também é aceite que o desenvolvimento científico de uma disciplina depende da sua capacidade em comparar e classificar os seus artefactos. Antes deste trabalho não existia ainda uma comparação alargada dos diversos métodos de avaliação, sem a qual não é possível avaliar e integrar métodos, escolher métodos de avaliação, e descortinar uma estrutura para codificar, unificar, distribuir e estender o conhecimento dos métodos de avaliação de uma forma mais sistemática. Verificou-se ainda a inexistência, na engenharia de software, de uma abordagem empírica, sistemática, multidimensional e quantitativa adequada à comparação interna deste tipo de métodos/metodologias. Foram estas constatações que serviram de justificação ao trabalho desenvolvido. A metodologia desenvolvida baseia-se na taxonomia numérica, a qual é oriunda da biologia, onde é usada no processo de classificação de seres vivos. A metodologia envolve os seguintes nove passos: (1) Escolha das Unidades Taxonómicas Operacionais - neste passo são escolhidos os métodos de avaliação a incluir no estudo; (2) Descoberta e medição dos caracteres - consiste na determinação de quais os caracteres a considerar e sua medição para cada método; (3) Codificação dos caracteres - codificação das variáveis e sua normalização; (4) Cálculo da dissimilaridade - consiste no cálculo da matriz das dissimilaridades entre métodos, fornece valores de afinidade global entre métodos; (5) Agrupamento dos métodos - passo para a criação dos grupos pela aplicação de vários métodos de análise de “clusters”; (6) Validação dos Resultados - validação estatística; (7) Interpretação dos resultados; (R) Extracção de dados - consiste em, dado um grupo taxonómico, obterem-se os dados sobre o grupo; (9) Identificação de casos - dado um método, consiste na determinação do grupo a que o método pertence. Os dois últimos passos não fizeram parte deste trabalho. Nesta dissertação são ainda apresentadas novas medidas de dissimilaridade desenvolvidas no decurso do trabalho. Utilizando a metodologia, foi realizado um estudo para comparação e classificação de oito dos métodos de avaliação do processo do software, envolvendo um conjunto inicial de 165 características desses métodos. O estudo de classificação foi duplamente exploratório. Por um lado os métodos de avaliação nunca tinham sido comparados, e, por outro lado, porque foi a primeira vez que a metodologia de comparação e classificação foi usada. Os resultados do estudo foram sendo mostrados no decorrer do estudo. Para solução final foi escolhida a classificação número 19, produzida com o método Average/Minkowski para p=4. Na solução os métodos SCAMPI e Bootstrap são os mais próximos, e os primeiros a terem sido agrupados. O penúltimo a ser agregado foi o SA-SI seguido, por último, do 15504. A aplicação da metodologia incluiu também a classificação dos métodos numa árvore binária indexada. Foi ainda estudada a validade estatística das classificações obtidas. A utilização da metodologia fez realçar o potencial desta como técnica exploratória, e consequentemente a sua importância na investigação empírica em geral, e numa engenharia de software empírica em particular.
The work described in this dissertation consisted in the comparison and classification of methods for evaluation of the software process. For the effect, it was developed a new comparison and classification methodology. It is an exploratory, quantitative, empirical and multidimensional methodology, based on the numerical taxonomy. Latter, it was elaborated an empirical and exploratory study, using the methodology developed. So, our thesis involves the proposal of a new methodology and the e classification of software process assessment methods. The research in the software process improvement in general, and in process assessment in particular, has been, in its smashing majority, applied, in other words, done with the concern of showing that an approach works, and no, because it works. Rare they were the contributions for the explanation of the phenomenon of the software process assessment. In fact, before this work a wide comparison of the various assessment methods didn’t exist, without which is not possible to have a scientific mature discipline. It was also verified the inexistence in the software engineering of a systematic, multidimensional and quantitative approach, appropriate to the internal comparison of this kind of methods/methodologies. Those ascertainments served as justification to the work developed. The developed methodology, is based on the numerical taxonomy, which is used in biology to classify live beings, and involves the following steps: (1) The choose of the Taxonomic Operational Units - in this step they are chosen the assessment methods to include in the study; (2) Discovery and measurement of the characters - it consists of the determination of which the characters to consider and their measurement for each method; (3) To code the characters - to code the variables and their standardization; (4) (Calculation of the affinity - consists on the calculation of the methods’ dissimilarities, represents the values of affinity among methods. Several coefficients are used; (5) Grouping of the methods - step for the creation of the groups, also called “clusters” Are applied several methods of clustering; (6) Statistical Validation of the solution; (7) Interpretation of the results; (8) Data extraction - given a taxonomic group, obtain the data about that group; (9) Identification of cases - given a method, it consists of the determination of the respective group. The two last steps were not developed for the present work. New dissimilarity coefficients were developed in the course of the work. The accomplishment of the assessment methods comparison, using the developed methodology involved eight methods, and an initial set of 165 characteristics. The classificatory study was two-fold exploratory. From one side SPA methods ha never been compared, from other side, it was the first time the comparison and classification methodology has been used. The final classification as done based on 112 characters. Results were showed during the study. The chosen solution as the hierarchical taxonomy number 19, produced with the method Average/Minkowski for p=4. The methods SCAMPI and Bootstrap are the closer and the first to be joined. The last to be joined as ISO15504, just after the SA-SI. The application of the methodology included the classification of the methods in an indexed binary tree. It was still studied the statistical validity of the classifications, and the suitability of the measures and grouping criteria used. The use of the methodology revealed its potential as an exploratory technique, and consequently its importance for empirical research in general, and for an empirical software engineering in particular.
Programa de Desenvolvimento Educativo para Portugal (PRODEP)