• Nenhum resultado encontrado

Qualidade 1. O modelo é detalhadamente apresentado? 2 São apresentados detalhes de como o modelo foi desenvolvido?

4 MÉTODO DE AQUISIÇÃO DE CONHECIMENTO PARA CUSTOMIZAÇÃO DE SPCMMs

Este capítulo apresenta a proposta de um método de aquisição de conhecimento para customização de modelos de capacidade/maturidade de processos de software para domínios específicos. Nas seções seguintes o desenvolvimento do método é apresentado, seguindo a definição da sua estrutura, uma visão geral das fases e atividades do método e também o detalhamento de uma atividade como exemplo. 4.1 Desenvolvendo um método para engenharia do conhecimento

Método, sob a perspectiva da ciência, consiste em um conjunto de atividades sistemáticas e racionais que permite alcançar um objetivo (LAKATOS & MARCONI, 1995). No contexto de metodologias de KE um método representa um dos seus componentes. Uma metodologia de KE é composta por uma série de elementos, conforme demonstra a pirâmide metodológica apresentada em (SCHREIBER et al., 2000). A visão de mundo são os slogans, fundamentados num conjunto de princípios que formam a linha de base da metodologia. Esta visão de mundo é fundamentada nas teorias que fornecem os conceitos essenciais para o estabelecimento da metodologia. Os métodos e as ferramentas fornecem o essencial para possibilitar a aplicação prática da metodologia. O uso desta metodologia produz o feedback que realimenta as demais “camadas” da pirâmide e possibilita a evolução da metodologia. A Figura 21 apresenta a pirâmide metodológica.

Figura 21: Pirâmide metodológica Fonte: (SCHREIBER et al., 2000)

O método de aquisição de conhecimento para customização de SPCMMs desenvolvido neste trabalho e detalhado na seção seguinte encaixa-se nesta pirâmide metodológica, agregando suporte ao uso da metodologia. Os fundamentos para o desenvolvimento deste método são:

• As experiências de desenvolvimento/customização de SPCMMs relatadas na literatura (WANGENHEIM et al., 2010b) e obtidas a partir de um survey com autores dos modelos (WANGENHEIM et al., 2010a); e

• Os processos e técnicas de aquisição de conhecimento da KE (HUA, 2008; SCHREIBER et al., 2000);

• O framework de método PRO2PI-MFMOD

(SALVIANO et al., 2009);

• O framework de processo de desenvolvimento de modelos de maturidade proposto em (BRUIN & ROSEMANN, 2005);

• As fases e etapas do processo de desenvolvimento de normas da ISO International Standard (ISO, 2010) e o processo de desenvolvimento de normas da IEEE (IEEE, 2010).

A Figura 22 ilustra como, seguindo os passos da pesquisa definidos neste trabalho, o método é desenvolvido a partir destas fontes.

! "# "# " $ "# % & ' ( )

Figura 22: Desenvolvimento do método

Conforme pode ser observado na Figura 22, a fundamentação teórica identifica os frameworks, métodos e técnicas de aquisição de conhecimento. Tendo esses por base, a revisão sistemática da literatura aponta as primeiras impressões sobre como os SPCMMs atuais têm sido desenvolvidos. O survey com os autores dos SPCMMs completa as primeiras impressões adicionando detalhes sobre os métodos e técnicas utilizados no desenvolvimento de SPCMMs, incluindo os processos genéricos de desenvolvimento de normas. Com base nestes artefatos, o resultado deste processo é a primeira versão do método, que é detalhada nas seções seguintes.

4.2 Estrutura do método

Nesta seção a estrutura do método desenvolvido é apresentada. Um método enquanto conjunto de atividades sistemáticas que permite alcançar um objetivo pode ser representado na forma de um processo. Neste sentido, Benali (1990), Finkelstein (1994) e Acuña et al. (2000) definem os principais elementos que compõem a descrição de um processo, de forma que ele possa ser adequadamente modelado.

Os elementos que tipicamente compõem a descrição de um processo são (ACUÑA et al, 2000; BENALI, 1990; FINKELSTEIN, 1994):

Papel e Grupo: é o conjunto de responsabilidades de um ator ou de um grupo, necessárias para se realizar determinada atividade. Um papel é decorrente da associação entre os atores e as atividades realizadas por eles;

Atividade: é o estágio ou ação que produz modificações externamente visíveis no estado de um produto. Uma atividade pode ter uma entrada, uma saída e alguns resultados intermediários, denominados produtos ou artefatos;

Tarefa: as tarefas consistem na realização específica das atividades descritas no método. Possuem uma granularidade mais fina;

Artefato ou Produto de Trabalho: são as entradas e saídas de uma atividade durante o processo. Um artefato de um processo pode ser utilizado por outro processo para produzir outros artefatos. Estes artefatos produzidos e consumidos ao longo do processo podem ter também longos ciclos de vida, sendo criados, acessados e modificados.

Além destes componentes básicos da representação de um processo, a estrutura do método apresenta outros elementos específicos:

Fase: representa um conjunto de atividades agrupadas em etapas, coletadas a partir da experiência prática de desenvolvimento de SPCMMs (WANGENHEIM et al., 2010a) e representadas conforme as fases típicas de KE (SCHREIBER et al., 2000);

Técnica: servem de apoio à realização das atividades e tarefas. São utilizadas principalmente as técnicas de aquisição de conhecimento (HUA, 2008; SCHREIBER et al., 2000);

Passos: são detalhamentos das técnicas, representando uma seqüência de ações em alto nível para a sua execução;

Ferramenta: consiste no suporte necessário para a execução das atividades, tarefas e técnicas. O apoio ferramental é considerado essencial para a realização de determinadas tarefas e atividades do método;

Seção: parte descritiva de um artefato. Auxilia na definição da estrutura de um artefato ou produto de trabalho;

Nota: somente complementam a descrição das atividades, acrescentando outros detalhes.

A Figura 23 apresenta a estrutura do método utilizando a notação de um diagrama de classes UML – Unified Modeling Language (Linguagem de Modelagem Unificada) (OMG, 2007), contendo as classes, atributos e relações.

O método é, assim, estruturado em: fases, atividades, tarefas, notas, papéis, grupos, técnicas, produtos de trabalho e ferramentas (Figura 23). As atividades são o conceito central do método sendo realizadas por papéis (ou grupos de papéis) e produzindo ou consumindo produtos de trabalho quando executadas. Cada atividade é formada por uma série de tarefas e cada tarefa se utiliza de ferramentas e técnicas. As técnicas, por sua vez, são formadas por uma série de passos. Atividades podem conter notas, que adicionam outras relações externas ao método, informando compatibilidade com normas e outros modelos, por exemplo.

O relatório técnico que descreve o método apresenta formatação semelhante à exibida na Figura 24 (HAUCK, WANGENHEIM & WANGENHEIM, 2011). A figura exibe o original em língua inglesa com explicações de cada parte em português. Para cada atividade que compõe o método são indicados o código e o título, seguidos de uma pequena descrição. Na seção seguinte são apresentados os papéis envolvidos na execução da atividade, sendo que o papel responsável é indicado com um sinal de (*). No corpo principal da descrição da atividade encontram-se as tarefas que formam a atividade, seqüencialmente apresentadas, incluindo também código e descrição. Para cada tarefa ainda podem ser indicadas as técnicas e ferramentas aplicáveis. Ainda no corpo das tarefas, notas indicam o alinhamento da atividade a normas de qualidade de processo de software, quando aplicável.

Na seção seguinte do método os artefatos produzidos e consumidos pela execução da atividade são apresentados na forma de produtos de trabalho de entrada e saída, sendo todos codificados. As técnicas e ferramentas utilizadas em toda a execução da atividade são apresentadas na seção seguinte. Por fim, são indicadas as referências que fornecem suporte, embasamento ou exemplos de execução da atividade, encontrados na literatura.

Figura 24: Apresentação do método

Diversos são os papéis envolvidos na customização de um SPCMM para um domínio específico. No método são definidos os papéis que são envolvidos direta ou indiretamente na execução das atividades (vide Figura 25). As responsabilidades são atribuídas a todos os papéis na definição de atividades nas quais eles são os principais responsáveis e/ou participantes. Na maioria dos casos uma mesma pessoa pode desempenhar papéis diferentes simultaneamente. A exceção ocorre quando um papel é responsável por revisar o trabalho realizado pelo outro. Nestes casos, cada trabalho deve ser executado por pessoas diferentes. Na descrição do método procurou-se que as características definidas para cada papel não fosse demasiado prescritiva, deixando espaço para a interpretação de acordo com cada caso. A estrutura geral dos papéis é apresentada utilizando a notação UML com estereótipos

Descrição Papéis envolvidos na execução da atividade.

Divisão da atividade em tarefas, contendo a descrição de cada uma. Notas indicando o alinhamento a normas de qualidade de processo. Produtos de trabalho consumidos e produzidos na execução da atividade Lista de técnicas e ferramentas utilizadas

Referências que suportam a atividade ou dão exemplos de sua execução

Código e título

SPEM – Software Process Engineering Metamodel (Meta-modelo de Engenharia de Processos de Software) (OMG, 2008) na Figura 25.

Figura 25: Papéis envolvidos no método 4.3 Detalhamento do método

Nesta seção o método de aquisição de conhecimento é apresentado e suas fases e atividades são brevemente descritas. O método proposto é composto por cinco fases baseadas no ciclo de vida de KE (considerando a aquisição de conhecimento): (i) Identificação do Conhecimento, (ii) Especificação do Conhecimento, (iii) Refinamento do Conhecimento, (iv) Uso do Conhecimento, e (v) Evolução do Conhecimento (vide Figura 26). Cada fase é composta por um conjunto de atividades que podem não ser necessariamente executadas em seqüência.

Figura 26: Fases e Atividades do Método

Somente uma breve descrição de cada atividade é apresentada nesta seção, mas a descrição detalhada de todas as atividades está disponível no relatório técnico do modelo em (HAUCK, WANGENHEIM & WANGENHEIM, 2011). A seguir cada uma das fases e atividades do método apresentado na Figura 26 é resumidamente descrita: