• No results found

Konklusjon og utgangspunkt for videre forskning

A fase de compreensão do negócio foca no entendimento das necessidades e objetivos do projeto numa perspectiva de negócio, convertendo depois esse conhecimento numa definição para problemas de data mining e num plano

preliminar designado para alcançar os objetivos. Segundo SILVA (2002), essa fase busca detectar eventuais problemas e/ou restrições que, se desconsideradas, poderão implicar perda de tempo e esforço em obter respostas corretas para questões erradas. Possui como tarefas: determinar os objetivos do negócio, avaliação da situação, determinação dos objetivos da mineração de dados, e a produção de um plano de projeto.

Como este trabalho se trata de um projeto de pesquisa e não de um projeto comercial, as tarefas dessa fase foram descritas anteriormente nos seguintes itens:

Determinação dos objetivos do negócio -> item 3.3 Caracterização do Ambiente de Pesquisa, no qual foi explicitado o foco do negócio em desenvolvimento e manutenção de software;

Determinação das metas de mineração dos dados -> item 1.3 Objetivos, no qual foi explicitada como meta a identificação da correlação das propriedades identificadas (que por hipótese beneficiam a manutenibilidade de software) com a manutenibilidade de software.

Produção de um plano de projeto -> foi realizado no trabalho de qualificação (prévio a realização desta pesquisa de mestrado), sendo produzido um plano de pesquisa.

Em relação à Avaliação da situação, foram identificados previamente os recursos disponíveis para o projeto, bem como os requisitos, as restrições e outros.

Já a fase de compreensão dos dados começa com uma coleta inicial dos dados e segue com atividades com o objetivo de se adquirir familiar idade com esses dados, para identificar problemas de qualidade nos dados, para descobrir as primeiras intuições dentro dos dados ou detectar subconjuntos interessantes para formar hipóteses para informações escondidas. Possui como tarefas: coletar dados iniciais, descrever os dados, explorar os dados e verificar a qualidade dos dados.

Para esta pesquisa essas duas fases foram feitas em uma única etapa, com o objetivo de avaliar a realidade da organização alvo no contexto deste trabalho, sendo realizados primeiramente os seguintes passos:

1. Buscar autorização para utilizar a organização como fonte de pesquisa

a. Foi solicitada ao membro da alta gerência a autorização para utilização dos dados da organização como fonte desta pesquisa, com o comprometimento de não divulgar o nome dessa organização, bem como o de seus sistemas/projetos.

2. Definir os pré-requisitos para a pesquisa

Para esta pesquisa, foram definidos os seguintes pré-requisitos pelos motivos explicitados:

a. Realização da contagem de ponto de função, conforme Manual de Práticas de Contagem de Pontos de Função, a fim de se ter uma medida padrão (tamanho) para poder comparar produtos diferentes e, a partir daí, extrair outras informações significativas para a pesquisa; b. Utilização da mesma linguagem de programação e o mesmo banco de

dados, a fim de se evitar viés na pesquisa devido a diversidades tecnológicas, visto que o esforço de manutenção pode variar de acordo com a tecnologia adotada;

c. Existência de projetos de software do tipo manutenção evolutiva (devido à contagem de ponto de função) que tenham duração inferior a seis semanas (pequeno porte), visto que projetos com duração maior podem não estar concluídos no período desejado para esta pesquisa. Além disso, quanto mais curta a duração de um projeto, maior a probabilidade de existir um número maior de projetos similares para serem comparados.

3. Coletar e analisar preliminarmente os dados

É necessário realizar uma coleta e uma análise preliminar de dados a fim de conhecer a realidade da organização pesquisa, por esse motivo:

a. Foi realizado um levantamento de dados considerando os projetos de software criados no período de 1 de janeiro até 30 de setembro de 2009, através do acesso a uma base de informações da organização sobre seus projetos de software (em andamento, concluídos, suspensos, e outros), a fim de conhecer as características dos sistemas da organização pesquisada.

b. Foi solicitado um levantamento junto às gerências dos Departamentos de Desenvolvimento de todos os seus sistemas que contam ponto de função para projetos de software de manutenção evolutiva de pequeno porte (duração inferior a seis semanas) e a média mensal (quantidade) desse tipo de projeto no sistema, uma vez que não foi possível extrair todos os dados necessários da base de informações da organização. 4. Pré-selecionar os sistemas candidatos à pesquisa

a. A partir dos dados obtidos e informados pela organização, foram selecionados para a pesquisa os sistemas que estavam aderentes a todos os pré-requisitos estabelecidos inicialmente.

5. Definir os projetos qualificados para a pesquisa

A partir dos sistemas definidos como candidatos a pesquisa, é necessário identificar quais deles estão realmente qualificados, ou seja, que contenham dados interessantes a serem pesquisados. Por esse motivo:

a. Foi identificado entre os sistemas pré-selecionados anteriormente aqueles que tenham um diferencial (presença ou ausência) de propriedades de software que beneficiam a sua manutenibilidade, de forma que se possa compará-las com as de outro sistema similar. Para isso, foi encaminhado às chefias das áreas responsáveis por esses sistemas um questionário com 12 questões (apresentado no Apêndice A) relativas à documentação gerada no sistema, se o processo de desenvolvimento da organização foi e é utilizado, dentre outras, com a

finalidade de se ter uma visão geral das propriedades desses sistemas.

6. Identificar junto a especialistas, quais artefatos são mais importantes durante a manutenção de software, dentre alguns da engenharia de software

a. Elaborado um questionário (apresentado no Apêndice B) de Matriz de Priorização (BRASSARD et al., 2000) (BRASSARD et al., 1994) e encaminhado a três especialistas com mais de cinco anos de experiência em manutenção de software, com o objetivo de identificar dentre alguns artefatos da engenharia de software (no que se refere a documentação de requisitos, de análise e projeto – estruturado e orientado a objetos – e de banco de dados relacional) quais são mais importantes durante a manutenção de um software. Essa consulta se fez necessária uma vez que não estava claramente definida no processo de desenvolvimento de software dessa organização a importância de um desses artefatos, por exemplo, no que se refere à documentação de requisitos, em relação a outro do mesmo tipo de documentação. Esse questionário serviu de insumo para a elaboração dos classificadores (apresentados no Quadro 6) a serem incluídos na ferramenta de data mining WEKA (Waikato Environment for

Knowledge Analysis), a qual provê a implementação de algoritmos de

aprendizagem de máquina que podem ser aplicados a um conjunto de dados (WITTEN; FRANK, 2005).