Você está na página 1de 15

Avaliao e Melhoria de Processos de Software: Conceituao e Definio de um Processo para Apoiar a sua Automatizao

Rodrigo Dal Moro, Ricardo de Almeida Falbo (Orientador) Ncleo de Estudos em Modelos Conceituais e Ontologias (NEMO), Mestrado em Informtica Universidade Federal do Esprito Santo (UFES) Av. Fernando Ferrari s/n, Campus de Goiabeiras 29.060-900 Vitria ES Brasil
rdalmoro@yahoo.com.br, falbo@inf.ufes.br

Abstract. Different types of tool capabilities are necessary to support efficiently a Software Process Evaluation and Improvement (SPEI) Process. In general, these capabilities are made available by combining different tools, what leads to an important requirement: interoperability. Ontologies are a promising mechanism for dealing with interoperability. An ontology can be used to establish a common conceptualization about the domain in order to support tools integration. In this work we developed an ontology of Software Quality to support the development of tools to support the SPEI process in ODE, an ontology-based software development environment. Resumo. Para apoiar de maneira eficaz um processo de Avaliao e Melhoria de Processos (AMP), diversos tipos de capacidades de ferramenta so necessrios. Em geral, essas capacidades so oferecidas por uma combinao de diferentes ferramentas, o que leva necessidade de interoperabilidade. Ontologias tm despontado como um mecanismo promissor para tratar essa questo, podendo ser usada para estabelecer uma conceituao comum sobre o domnio de qualidade de software, de modo a apoiar a integrao de ferramentas. Neste trabalho foi desenvolvida uma ontologia do domnio de Qualidade de Software, usada para apoiar a construo de ferramentas de apoio ao processo de AMP no contexto do ambiente ODE, um ambiente de desenvolvimento de software baseado em ontologias.

1. Introduo
Um dos principais motivos para que organizaes de software adotem uma viso de melhoria contnua de seus processos o fato da qualidade do produto final depender diretamente da qualidade do processo de software adotado. Definir processos fundamental, mas insuficiente. Processos no podem ser definidos e mantidos congelados para sempre. Processos precisam continuamente passar por mudanas e refinamentos para aumentar a sua habilidade de lidar com requisitos e expectativas da organizao e do mercado no qual ela atua. Assim, processos precisam ser continuamente melhorados [Fuggetta, 2000]. Uma parte importante da melhoria de processos a avaliao de processos. A avaliao sistemtica da qualidade de um processo, de seus ativos (atividades, ferramentas, procedimentos etc) e de seus produtos resultantes essencial para apoiar a implementao de estratgias de melhoria [Fuggetta, 2000]. Avaliao e melhoria so

to inter-relacionadas que os modelos de qualidade de processo CMMI [SEI, 2006a] e MPS.BR [Softex, 2007] as tratam conjuntamente (rea de processo Foco no Processo Organizacional e processo de Avaliao e Melhoria do Processo Organizacional, respectivamente). Contudo, uma avaliao sistemtica no pode ser conduzida em bases meramente subjetivas. necessrio identificar caractersticas que sejam capazes de indicar a qualidade de um processo, medir essas caractersticas, analisar os resultados das medies e concluir sobre as necessidades de melhoria. Assim, a medio tem um papel fundamental na melhoria [Florac e Carleton, 1999]. Juntas, medio e avaliao permitem conhecer a situao atual dos processos e so a base para a melhoria. Dada a amplitude e complexidade do processo de Avaliao e Melhoria do Processo (AMP) e as fortes relaes com outros processos, com destaque para a medio, prover apoio automatizado a esse processo requer, geralmente, diversas ferramentas. Mesmo em se tratando de um ambiente integrado de apoio ao processo de AMP, deve-se levar em conta que as ferramentas que o compem dificilmente sero desenvolvidas pela mesma equipe e com os mesmos interessados e, portanto, muito provvel que algumas dessas ferramentas sejam construdas tomando por base diferentes conceituaes. Assim, para que as ferramentas funcionem adequadamente em conjunto, deve-se garantir que elas atribuem significados compatveis para entidades do mundo real que fazem parte de seu domnio de interesse compartilhado. Quando se deseja integrar diferentes sistemas desenvolvidos independentemente, fundamental ter uma representao precisa da conceituao do domnio de interesse dos mesmos [Guizzardi, 2005]. Ontologias podem ser utilizadas para esse fim, servindo como uma interlngua para se mapear conceitos usados em um sistema em outros, abrindo espao para a troca e o compartilhamento de informaes [Jasper e Uschold, 1999]. Mais ainda, se tais sistemas forem construdos tomando por base a mesma ontologia, elas tero um potencial ainda maior para interoperar, em um cenrio que Jasper e Uschold (1999) denominam de ontologias como especificao, em contraste ao anterior de acesso de dados via uma ontologia compartilhada. O objetivo principal deste trabalho foi estabelecer uma conceituao bsica sobre o domnio de Qualidade de Software, por meio de uma ontologia, visando apoiar a construo e integrao de ferramentas de apoio ao processo de AMP no contexto do ambiente ODE (Ontology-based software Development Environment) [Falbo et al., 2003], um ambiente de desenvolvimento de software baseado em ontologias. Alm disso, para apoiar o levantamento de requisitos para as ferramentas, um esboo de um processo de AMP, contendo apenas atividades, tambm foi definido. Este artigo est estruturado como se segue. A seo 2 trata brevemente do universo de discurso da ontologia proposta, qualidade de software, e discute a questo da interoperabilidade como requisito para ferramentas de apoio ao processo de AMP e do uso de ontologias para esse fim. A seo 3 apresenta a ontologia de qualidade de software desenvolvida. A seo 4 apresenta sucintamente o processo de AMP definido e as funcionalidades das ferramentas desenvolvidas. As sees 5 e 6 apresentam, respectivamente, trabalhos correlatos e as concluses deste trabalho.

2. Qualidade de Software e Ontologias


A rea de qualidade de software tem se desenvolvido bastante pautada na dualidade produto-processo. De maneira geral, normas e modelos de qualidade de processo definem boas prticas que devem estar presentes em processos ou resultados esperados dos mesmos. J normas e modelos de qualidade relacionados a produtos de software focam em caractersticas de qualidade que um produto deve apresentar e medidas que podem ser utilizadas para se avaliar tais caractersticas [Dal Moro e Falbo, 2008]. Pode-se perceber que h aspectos bastante diferentes em cada perspectiva. As normas e modelos de qualidade de processo esto focados principalmente em processos, propsitos, resultados e atividades. As normas de qualidade de produto, por sua vez, enfocam caractersticas dos produtos e como medi-las. Entretanto, h tambm aspectos comuns. Ambas as perspectivas reconhecem a importncia de se avaliar a qualidade das respectivas entidades (processo ou produto). Ou seja, trata-se de entidades que precisam ser mensuradas para ter sua qualidade avaliada [Dal Moro e Falbo, 2008]. No que se refere medio, necessrio, primeiro, definir que entidades (processos, produtos, recursos) sero objetos de medio e quais de suas caractersticas sero medidas. Segundo, preciso definir quais medidas sero usadas para quantificar essas caractersticas. Uma vez planejada a medio, pode-se passar efetivamente sua execuo, o que envolve a aplicao de procedimentos de medio para se obter um valor para uma medida da entidade em questo. Realizada a medio, devem-se analisar seus resultados para avaliar a qualidade das entidades medidas, gerando observaes, tais como pontos fortes, pontos fracos, no conformidades e oportunidades de melhoria, que serviro de base para a melhoria da entidade sendo avaliada. Essas observaes devem dar origem a aes de qualidade, que podem ser aes de melhoria, aes preventivas ou corretivas. No que se refere a processos de software, a importncia da avaliao e melhoria reconhecida pelos vrios modelos de qualidade. O CMMI [SEI, 2006a], por exemplo, define a rea de processo Foco no Processo Organizacional, cujo objetivo planejar, implementar e implantar melhorias nos processos organizacionais tomando por base um entendimento abrangente dos pontos fortes e fracos dos atuais processos e ativos de processos da organizao. J o MPS.BR [Softex, 2007] define o processo Avaliao e Melhoria do Processo Organizacional, cujo propsito determinar o quanto os processos padro da organizao contribuem para alcanar os objetivos de negcio da organizao e para apoiar a organizao a planejar, realizar e implantar melhorias contnuas nos processos com base no entendimento de seus pontos fortes e fracos. O processo de AMP complexo e, portanto, prover apoio automatizado muito importante. Contudo, dificilmente ser possvel prover esse apoio com uma nica ferramenta. Mesmo levando em conta a construo de um ambiente integrado, deve-se considerar que as ferramentas que o compem sero desenvolvidas em momentos diferentes, por diferentes equipes e tomando por base diferentes conceituaes. Assim, para que essas ferramentas possam ser efetivamente integradas, fundamental buscar que elas compartilhem significados para as entidades do mundo real que fazem parte de seu domnio de interesse. Para tal, importante explicitar, mesmo que parcialmente, a conceituao envolvida neste domnio, o que pode ser feito com o uso de ontologias.

Uma conceituao corresponde ao conjunto de conceitos usados para interligar abstraes de entidades de um dado domnio. Uma ontologia uma descrio formal e explcita de uma conceituao [Guizzardi, 2005]. Ao explicitar e formalmente definir os conceitos, relaes, propriedades e restries em um domnio particular, tem-se um artefato de engenharia que expressa a conceituao desse domnio, dita uma ontologia de domnio. Uma ontologia de domnio pode ter vrios usos, dentre eles [Jasper e Uschold, 1999]: (i) apoio comunicao entre pessoas trabalhando no domnio; (ii) integrao de dados, modelos e sistemas desenvolvidos de forma independente para o domnio e (iii) como uma especificao reutilizvel para a construo de sistemas no domnio. Pensando nesses usos, sobretudo em (iii), desenvolveu-se uma ontologia de qualidade de software, com foco em avaliao e melhoria de processos, incluindo medio. Essa ontologia apresentada na prxima seo.

3. Uma Ontologia de Qualidade de Software


Como qualquer artefato de engenharia, uma ontologia deve ser construda seguindo mtodos apropriados. Para desenvolver a ontologia de qualidade de software, foi adotado o mtodo SABiO (Systematic Approach for Building Ontologies) [Falbo, 2004]. SABiO define um processo para construo de ontologias, cujas principais atividades so: identificao do propsito e especificao de requisitos, (ii) captura e (iii) formalizao da ontologia. Paralelamente, ocorrem atividades de (iv) integrao com ontologias existentes, (v) avaliao e (vi) documentao da ontologia. SABiO advoga, ainda, o uso de uma linguagem de modelagem para facilitar a comunicao dos modelos da ontologia, sugerindo um perfil UML como linguagem grfica para representao de ontologias [Mian e Falbo, 2003], adotado neste trabalho. Seguindo o mtodo SABiO, primeiro, identificou-se o propsito da ontologia. Quer se falar de qualidade de software de forma ampla, mas com foco maior para o uso da ontologia como uma especificao conceitual para o desenvolvimento e integrao de ferramentas de apoio ao processo de AMP. No que se refere ao domnio, dois aspectos em especial foram levados em conta: (i) ainda que a AMP esteja relacionada a diversos outros processos, conforme discutido anteriormente, o processo de medio ganha destaque e, por isso, aspectos relacionados medio foram includos no escopo da ontologia; (ii) embora o foco seja avaliao e melhoria de processos, h de se considerar que, para avaliar um processo, necessrio avaliar tambm os produtos produzidos por ele e, portanto, considera-se tambm a avaliao de produtos. Uma vez que processos de software so parte importante do universo de discurso da ontologia de qualidade de software, esta foi desenvolvida de forma integrada com a ontologia de processo de software proposta em [Falbo e Bertollo, 2005]. Como o escopo da ontologia bastante complexo, optou-se por desenvolver trs sub-ontologias integradas, tratando, respectivamente, da estrutura de modelos de qualidade, medio e avaliao. A seguir, cada uma delas apresentada. A integrao com a ontologia de processo de software mostrada nos modelos conceituais apresentados por meio de uma indicao antecedendo o termo. Como a ontologia de processo decomposta em sub-ontologias de atividade, procedimento e recurso, conceitos reutilizados levam a indicao dessas sub-ontologias.

3.1 Sub-Ontologia de Modelo de Qualidade A sub-ontologia de modelo de qualidade trata das caractersticas bsicas de uma entidade (processos, artefatos, recursos etc) que podem ser medidas, em um primeiro momento, para em seguida serem analisadas e avaliadas. Basicamente, as questes de competncia que devem ser respondidas por essa sub-ontologia so: QC1. Qual o tipo de uma entidade mensurvel? QC2. Quais elementos mensurveis caracterizam um determinado tipo de entidade mensurvel? QC3. Quais elementos mensurveis podem ser diretamente medidos e quais no podem? QC4. Como um elemento indiretamente mensurvel decomposto em outros elementos mensurveis, de modo que possa ser medido a partir da medio destes? QC5. Quais elementos diretamente mensurveis devem ser medidos para se poder medir um elemento indiretamente mensurvel? A Figura 1 mostra o modelo conceitual da sub-ontologia de modelo de qualidade, apresentando seus conceitos e relaes. Um tipo de entidade mensurvel uma categoria de entidades mensurveis que indica quais caractersticas (elementos mensurveis) podem ser usadas para medir e avaliar a qualidade de entidades desse tipo. Um elemento mensurvel pode ser direta ou indiretamente mensurvel. Um elemento diretamente mensurvel (ou atributo) uma propriedade fsica ou abstrata de um tipo de entidade mensurvel que no necessita de nenhuma outra medida para ser calculada. J um elemento indiretamente mensurvel composto de outros elementos mensurveis e, sendo assim, necessita de todas as medidas dos elementos que o compem para ser calculado. importante destacar que a relao de especializao entre um elemento mensurvel e seus subtipos representa um conjunto completo e disjunto, ou seja, todos os elementos mensurveis so ou direta ou indiretamente mensurveis (completo), e no h um elemento que seja direta e indiretamente mensurvel (disjunto).

Figura 1 O Modelo da Sub-Ontologia de Modelo de Qualidade.

Uma entidade mensurvel um objeto (instncia concreta de um tipo) que pode ser caracterizado mediante a medio dos elementos mensurveis do seu tipo. So essas entidades que efetivamente esto sendo medidas e avaliadas.

A Tabela 1 apresenta dois exemplos de instanciao da sub-ontologia de modelo da qualidade, na qual a primeira coluna representa um exemplo relacionado a processo de software e a segunda um exemplo relacionado a produto de software.
Tabela 1 Instanciao da Sub-Ontologia de Modelo de Qualidade.
Tipo de Entidade Mensurvel Entidade Mensurvel Elemento Mensurvel Processos de uma Unidade Organizacional Processo de Gerncia de Projetos da Diviso de Desenvolvimento de Sistemas da Empresa X Resultado Esperado do MPS.BR GPR 3 em uma Unidade Organizacional Especificao de Requisitos Especificao de Requisitos do Projeto 1 Notao da Especificao

Por fim, no modelo apresentando, h restries importantes que precisam ser descritas na forma de axiomas. So elas: Um elemento indiretamente mensurvel eim1 s pode ser decomposto em elementos que caracterizam o mesmo tipo de entidade mensurvel tem1. Se um elemento mensurvel em1 um subelemento de um elemento indiretamente mensurvel eim1 e ele diretamente mensurvel, ento ele um subelemento diretamente mensurvel de eim1.
(em1,eim1) (subElementoDirMensuravel(em1,eim1)) (subElemento(em1,eim)) elementoDirMensuravel (em1)

(em1, eim1, tem1) subElemento (em1, eim1) (caracteriza (em1, tem1) caracteriza (eim1, tem1))

Vale a pena destacar que, alm dos axiomas acima apresentados, o uso do perfil UML proposto em [Mian e Falbo 2003] indica outros axiomas, tal como a transitividade na relao sub-elemento. Esses axiomas, contudo, no so aqui apresentados. 3.2 Sub-Ontologia de Medio A sub-ontologia de medio trata, como o prprio nome sugere, da medio de entidades. As questes de competncia a serem respondidas por essa sub-ontologia so: QC1. Que entidade est sendo medida em uma medio? QC2. Qual o tipo da entidade que est sendo medida em uma medio? QC3. Que elementos de um tipo de entidade podem ser medidos para se avaliar a qualidade de uma entidade associada a esse tipo? QC4. Qual o elemento da entidade que est sendo medido em uma medio? QC5. Que medidas podem ser utilizadas para quantificar um elemento? QC6. Que medidas esto sendo aplicadas em uma medio de um elemento? QC7. Qual a natureza de uma medida quanto dependncia de outras medidas? QC8. Que medidas podem ser utilizadas para quantificar um elemento? QC9. Que medidas precisam ser obtidas para computar uma medida derivada? QC10. Qual a unidade de medida que expressa uma determinada medida? QC11. Qual a escala de uma medida? QC12. Qual o tipo de uma escala? QC13. Quais so os valores de uma escala? QC14. Qual o valor medido em uma medio? QC15. Que procedimentos de medio podem ser usados para calcular uma medida? QC16. Que procedimentos de medio esto sendo adotados em uma medio?

A Figura 2 mostra o modelo conceitual da sub-ontologia de medio, destacando em cinza os conceitos dessa sub-ontologia.

Figura 2 O Modelo da Sub-Ontologia de Medio.

A medio uma atividade que tem por objetivo medir uma caracterstica (elemento mensurvel) de uma entidade, aplicando uma medida para obter um valor. Uma medida pode ser base, caso ela seja funcionalmente independente de outras medidas, ou derivada, caso seja definida como funo de duas ou mais medidas [ISO/IEC, 2002]. Uma medida base quantifica elementos diretamente mensurveis, enquanto uma medida derivada quantifica elementos indiretamente mensurveis. Uma medida possui uma escala relacionada e expressa segundo uma unidade de medida. Alm disso, uma medida calculada segundo um procedimento de medio que pode conter uma frmula de clculo. Ao se aplicar uma medida em uma medio, o procedimento de medio adotado deve ser apropriado para a medida em questo. A Tabela 2 apresenta dois exemplos de instanciao de alguns dos conceitos da sub-ontologia de medio, tomando por base os mesmos exemplos usados para exemplificar a instanciao da sub-ontologia de modelo de qualidade, ou seja, a primeira coluna trata da medio de um processo de gerncia de projetos de uma unidade organizacional (usando como base o MPS.BR [Softex, 2007]), enquanto a segunda trata dos aspectos relacionados medio de uma especificao de requisitos (tomando por base [Beaufound et al., 1997]). No modelo apresentando na Figura 2, h diversas restries importantes que no so capturadas e, portanto, foram descritas na forma de axiomas. Porm, dada a restrio de espao, esses axiomas no so apresentados neste artigo, podendo ser encontradas em [Dal Moro e Falbo, 2008].

Tabela 2 Instanciao da Sub-Ontologia de Medio.


Medida Escala Tipo de Escala Valores de Escala Grau de Implementao de Resultado Esperado na Unidade Organizacional Escala de Caracterizao Agregada do Grau de Implementao de um Resultado Esperado para a Unidade Organizacional Ordinal [T, L, P, N, NA, F] Todos X (i.e., todos T ou todos L ou todos P ou todos N) X Todos projetos terminados X (i.e., todos T ou todos L ou todos P ou todos N) e os incompletos NA (No Avaliado) X Todos T ou L L Todos T ou L e os incompletos NA (No Avaliado) L Existe P, mas no existe N (Pode existir NA - No Avaliado) L ou P Existe N N, P ou L Fora do Escopo F Caracterizar o grau de implementao do resultado esperado de processo MPS.BR GPR 3 na Unidade Organizacional UO Largamente Implementado. Correo da Notao Escala para Caracterizao da Correo da Notao de uma Especificao de Requisitos Absoluta 0 ou 1

Procedimento de Medio

A especificao est escrita utilizando de forma correta a notao pr-definida no mtodo de especificao? Sim 1 No 0

Medio Valor Medido

Avaliar a correo da notao da Especificao do Projeto 1 1

3.3 Sub-Ontologia de Avaliao A sub-ontologia de avaliao visa retratar o universo de avaliaes da qualidade de uma entidade por meio da anlise de medies, incluindo a indicao de aes de melhoria que podem ser geradas mediante observaes da avaliao dessa entidade. As questes de competncia que devem ser respondidas por essa sub-ontologia so: QC1. QC2. QC3. QC4. QC5. QC6. QC7. QC8. QC9. QC10. QC11. QC12. QC13. Quais so os modelos de anlise de medio definidos para uma medida? Quais so os critrios de deciso de um modelo de anlise de medio? Quais as premissas e a concluso de um critrio de deciso? Que modelo de anlise de medio adotado em uma anlise de medio? Qual o valor medido analisado durante uma atividade de anlise de medio? De que atividade de medio depende uma atividade de anlise de medio? Qual medida est sendo analisada em uma atividade de anlise de medio? Qual a concluso de uma atividade de anlise de medio? De que atividades de anlise de medio depende uma atividade de avaliao? Quais so os tipos de observao de avaliao? Que observaes de avaliao foram produzidas em uma avaliao? Quais so os tipos de ao de qualidade? Quais as aes de qualidade geradas a partir de uma observao de avaliao?

A Figura 3 mostra o modelo conceitual da sub-ontologia de avaliao, destacando em cinza os conceitos dessa sub-ontologia.

Figura 3 O Modelo da Sub-Ontologia de Avaliao.

A anlise de medio uma atividade que visa analisar um valor medido de uma medida, adotando um modelo de anlise de medio para atribuir uma concluso que indique, de algum modo, uma caracterstica da entidade sendo mensurada. Um modelo de anlise de medio um procedimento que descreve um conjunto de critrios de deciso para se analisar valores obtidos em medies de uma medida. Cada critrio de deciso uma sentena que estabelece uma concluso a partir de um conjunto de premissas, descrevendo o nvel de confiana de um resultado [ISO/IEC, 2002]. Uma vez realizada uma anlise de medio, uma avaliao de qualidade pode ser realizada com o intuito de avaliar sistematicamente quanto a entidade em questo est aderente aos requisitos especificados para ela [ISO/IEC, 1999]. Uma avaliao da qualidade pode produzir observaes de avaliao, i.e. evidncias objetivas documentadas [ABNT, 2000], que podem ser pontos fortes, pontos fracos, no conformidades e oportunidades de melhoria. Um ponto forte uma caracterstica excepcionalmente boa de uma entidade, observada em uma avaliao de qualidade. Um ponto fraco uma caracterstica considerada inadequada ou que no atende aos requisitos da entidade. Uma oportunidade de melhoria uma caracterstica que pode ser melhorada, mas que atende aos requisitos mnimos colocados para a entidade. Por fim, uma no conformidade um no atendimento de um requisito de qualidade [ABNT, 2000].

A partir de observaes realizadas numa avaliao da qualidade de uma entidade, aes corretivas, preventivas ou de melhoria podem ser apontadas. Uma ao corretiva visa eliminar a causa de uma no conformidade identificada ou outra situao indesejvel de uma entidade [ABNT, 2000]. Uma ao preventiva visa eliminar a causa de uma no conformidade potencial ou outra situao potencialmente indesejvel [ABNT, 2000]. Uma ao de melhoria visa aumentar a capacidade de satisfazer os requisitos de qualidade j existentes de uma entidade mensurvel [ABNT, 2000]. Assim como nas demais sub-ontologias, o modelo apresentando na Figura 3 no capaz de capturar toda a conceituao do domnio, sendo necessrio descrever restries na forma de axiomas. Novamente, devido a restries de espao, tanto os axiomas quanto a instanciao da sub-ontologia de avaliao foram suprimidos, podendo ser encontrados em [Dal Moro, 2008].

4. Apoio Automatizado Avaliao e Melhoria de Processos


Prover apoio automatizado ao processo de AMP importante para que organizaes consigam implement-lo de forma consistente. A ontologia de qualidade de software apresentada anteriormente explicita uma parte importante da conceituao do domnio. Contudo, para desenvolver ferramentas, importante, ainda, estabelecer as atividades bsicas de um processo de AMP, de modo a guiar o levantamento das funcionalidades de apoio necessrias. Assim, definiu-se um processo de AMP geral, tomando por base o MPS.BR [Softex, 2007]. Esse processo possui as seguintes macro-atividades: (i) Avaliar Processo Organizacional Atual, cujo objetivo avaliar um processo organizacional em seu estado atual e registrar os resultados alcanados com essa avaliao; (ii) Analisar a Necessidade e a Viabilidade da Melhoria do Processo Avaliado, que visa analisar os resultados da avaliao do processo, identificar o propsito da melhoria do processo avaliado, identificar os riscos e impactos gerados pela melhoria do processo e, por fim, com base nessas informaes, tomar a deciso sobre a necessidade e a viabilidade de inserir a melhoria do processo no conjunto de melhorias a serem realizadas; (iii) Implementar um Projeto de Aes de Melhoria de Processos, que tem por objetivo realizar a implementao de um projeto de aes de melhoria de processos, incluindo planejamento, execuo, monitoramento e controle, avaliao dos artefatos gerados e a implantao das melhorias em projetos piloto, com o intuito de avaliar sua eficincia e eficcia em relao proposta que originou a necessidade de melhoria; (iv) Institucionalizar a Melhoria dos Processos na Organizao, cuja meta institucionalizar a melhoria na organizao, o que implica em implantar a melhoria em mbito organizacional, inclusive com o treinamento dos envolvidos, e tambm registrar e publicar as lies aprendidas com a melhoria de processo em questo; (v) Acompanhar os Processos Melhorados, que visa acompanhar o uso dos processos institucionalizadas na organizao, de modo a detectar novas propostas de melhoria, o que mostra que o processo de AMP definido cclico e, sendo assim, preocupa-se com a melhoria contnua dos processos da organizao. Uma vez definido o processo de AMP, ele e a ontologia de qualidade de software serviram de base para o desenvolvimento das ferramentas AvaliaODE, de apoio avaliao, e MelhoriaODE, de apoio melhoria, ambas desenvolvidas para o ambiente ODE. A seguir, as principais funcionalidades dessas ferramentas so brevemente apresentadas.

4.1 AvaliaODE: Ferramenta de Apoio Avaliao em ODE A ferramenta AvaliaODE tem por objetivo principal apoiar, ainda que parcialmente, a avaliao de processos e produtos de software em ODE. Suas principais funcionalidades so: (i) apoio elaborao de uma proposta de escopo para a avaliao de um processo, (ii) apoio avaliao de um processo segundo critrios definidos, (iii) registro de concluses de uma avaliao de processo e (iv) apoio avaliao de produtos, de forma anloga avaliao de processos. A Figura 4 mostra o diagrama de casos de uso da ferramenta AvaliaODE. Os casos de uso especficos de AvaliaODE esto em destaque, a saber: (i) Definir Escopo de Avaliao de Processo, que responsvel pela definio do escopo de uma avaliao de um processo organizacional; (ii) Definir Critrios de Avaliao de Processo, que permite definir um checklist para cada elemento do escopo de uma avaliao (processo padro ou artefato) que ser objeto de anlise em uma avaliao de processo; e (iii) Avaliar Processo, que apoia a realizao de uma avaliao de processo. Vale destacar que a realizao da avaliao de processo se d por meio da realizao de atividades de avaliao da qualidade dos elementos (processo padro e artefatos) definidos no escopo da avaliao de processo. Os demais casos de uso so funcionalidades de GQA-ODE [Palcio, 2007], a ferramenta de apoio ao processo de Garantia da Qualidade de ODE.

Figura 4 Diagrama de Casos de Uso de AvaliaODE.

4.2 MelhoriaODE: Ferramenta de Apoio Melhoria de Processos em ODE Apoiar a melhoria de processos em ODE, ainda que parcialmente, o objetivo principal da ferramenta MelhoriaODE. Suas principais funcionalidades so: (i) apoio coleta de informaes que serviro de base para a melhoria de um processo, (ii) apoio definio de uma proposta de melhoria do processo e (iii) apoio ao registro de resultados e lies aprendidas com a melhoria de processos. O diagrama de casos de uso de MelhoriaODE apresentado na Figura 5. Os casos de uso especficos de MelhoriaODE esto em destaque, a saber: (i) Cadastrar Sugesto de Melhoria de Processo, que permite que sejam cadastradas sugestes de melhoria para um processo; (ii) Elaborar Proposta de Melhoria de Processo, que permite que sejam elaboradas propostas de melhoria de processo com base nas

sugestes previamente cadastradas; e (iii) Registrar Resultado de Melhoria de Processo, que permite que sejam registrados os resultados alcanados com uma melhoria de processo, alm de lies aprendidas com a melhoria de um processo. Os demais casos de uso so referentes a outras ferramentas de ODE, sendo Avaliar Processo referente ferramenta AvaliaODE, que est sendo utilizado neste contexto para a consulta de observaes de avaliao de um processo, e Cadastrar Lio Aprendida, referente ao sistema de Gerncia de Conhecimento de ODE [Falbo et al. 2003], que utilizado aqui para o registro de lies aprendidas com a melhoria de um processo.

Figura 5 Diagrama de Casos de Uso de MelhoriaODE.

5. Trabalhos Correlatos
Atualmente, muita ateno tem sido dada ao uso de ontologias na Engenharia de Software, com propsitos bastante variados. Mais especificamente, no que se refere a trabalhos apresentando ontologias relacionadas apresentada neste trabalho, um deles merece destaque. Trata-se da ontologia proposta em [Bertoa et al., 2006]. Bertoa et al. (2006) desenvolveram uma ontologia para o domnio de medio de software. Segundo eles, a medio uma disciplina relativamente jovem e, sendo assim, no existe um consenso sobre as definies de termos envolvidos nesse domnio, apontando, inclusive, inconsistncia em normas e padres. Esse trabalho buscou definir, ento, uma terminologia coerente, consensual e amplamente aceita, a partir da anlise de diversos trabalhos, padres e normas. Como resultado dessa anlise, foram definidas quatro sub-ontologias: Caracterizao e Objetivos da Medio de Software, que trata do estabelecimento do contexto e das metas da medio; Medidas de Software, que busca clarificar a terminologia envolvida nas definies de medidas; Abordagens de Medio, que descreve diferentes modos de obter resultados de medio; e Medio, que inclui conceitos relacionados realizao do processo de medio. Dentre os trabalhos analisados, a ontologia de medio proposta por Bertoa et al. (2006) a que mais se aproxima ontologia de qualidade aqui apresentada, por ter um carter mais geral. De fato, algumas partes de sua conceituao, tal como a que trata de escalas, tipos e valores de escala, foram reutilizadas. Contudo, h diferenas significativas, conforme discutido em [Dal Moro e Falbo 2008].

Em linhas gerais, a sub-ontologia de Modelo de Qualidade aqui proposta corresponde sub-ontologia de Caracterizao e Objetivos da Medio de Software de Bertoa et al. A percepo de que h entidades e tipos de entidades est presente em ambas as ontologias. Entretanto, h diversas diferenas. Bertoa et al. indicam que uma entidade pode ser composta de outras entidades. Isso vlido tanto para processos quanto para produtos. Entretanto, uma vez que um recurso (por exemplo, humano) tambm pode ser uma entidade mensurvel no contexto de software (por exemplo, avaliao de produtividade), optou-se, neste trabalho, por no incluir essa relao. Outro ponto comum que ambas tratam de elementos que caracterizam os tipos de entidades. Bertoa et al. utilizam o termo atributo enquanto aqui seu correspondente o termo elemento mensurvel. Preferiu-se usar um termo mais geral, pois em avaliaes de processo avaliam-se tanto atributos quanto resultados de processo e, portanto, o termo atributo pode gerar confuso. Alm disso, neste trabalho faz-se distino entre elementos direta e indiretamente mensurveis, capturando o fato de elementos indiretamente mensurveis serem compostos de sub-elementos. Por fim, Bertoa et al. consideram os conceitos de Modelo de Qualidade, Necessidade de Informao e Conceito Mensurvel que foram julgados no serem consensuais na rea e que, portanto, no deveriam estar na ontologia. Sobretudo o ltimo muito questionvel, dado que sua definio em [Bertoa et al. 2006] um relacionamento abstrato entre atributos de entidades e necessidades de informao. Em relao sub-ontologia de Medio, que corresponde s demais subontologias de [Bertoa et al., 2006], h tambm algumas diferenas: (i) preferiu-se no considerar indicador como um tipo de medida como em [Bertoa et al., 2006], pois foi considerado que ser um indicador um papel de uma medida e no um tipo de medida; (ii) uma vez que faz-se uma distino entre elementos direta e indiretamente mensurveis, optou-se por relacionar medidas base e derivadas diretamente com esses dois conceitos, respectivamente; (iii) tendo em vista que a ontologia aqui proposta foi construda de forma integrada com a ontologia de processo de software, a parte que trata de abordagens de medio em [Bertoa et al. 2006] bastante diferente. Por fim, em [Bertoa et al. 2006], no se discutem restries e sua formalizao. Neste trabalho, essa foi uma forte preocupao, bem como a de explicitamente avaliar se a conceituao proposta aplica-se tanto a produtos quanto a processos de software. Vale ainda ressaltar que, com base na anlise de trabalhos correlatos, a subontologia de avaliao se caracteriza como uma importante contribuio deste trabalho, tendo em vista que no encontramos na literatura nenhum trabalho sobre ontologias neste sub-domnio. No que se refere a trabalhos relacionados com as ferramentas desenvolvidas, deve-se destacar, de antemo, que as funcionalidades providas por AvaliaODE e MelhoriaODE so relativamente simples e no se distinguem muito de funcionalidades providas por outras ferramentas que, de maneira geral, proveem at mais apoio, como o caso de AvalPro [Andrade 2005], uma ferramenta que visa apoiar a avaliao de processos instanciados na Estao TABA. Dentre as principais funcionalidades de AvalPro, destacam-se: (i) planejar a avaliao do processo; (ii) avaliar processos; (iii) realizar anlises post-mortem; (iv) calcular medidas para monitorao dos processos; (v)

analisar resultados preliminares; (vi) realizar reunio de consenso; (vii) elaborar relatrio de avaliao do processo; e (viii) comunicar resultados da avaliao. Outra ferramenta que apia a avaliao de processos FAMP [Siquara 2007]. FAMP prov apoio automatizado para a realizao de avaliaes segundo o mtodo SCAMPI [SEI 2006b], permitindo a identificao de pontos fortes e fracos de um processo e o acompanhamento de planos de ao elaborados durante a avaliao. AvalPro e AvaliaODE tm basicamente o mesmo propsito, sendo mais gerais e no estando diretamente vinculados a um mtodo de avaliao especfico, como ocorre com FAMP. Em relao s funcionalidades providas pelas ferramentas, claramente h muita sobreposio, sendo que inegavelmente AvaliaODE prov um conjunto apenas limitado de funcionalidades quando comparada com outras ferramentas como AvalPro, que trata, inclusive, o uso de medidas, ainda que parcialmente.

6. Concluses
Definir processos essencial, mas para que estes sejam efetivamente teis, fundamental melhor-los continuamente. A melhoria de processos envolve sua medio e avaliao, para depois se poder pensar em aes de melhoria. Dada a diversidade de aspectos envolvidos na Avaliao e Melhoria de Processos (AMP), prover apoio automatizado a esse processo requer, geralmente, diversas ferramentas que devem trabalhar de forma integrada e harmoniosa. Para que tais ferramentas possam ser integradas importante que haja um modelo conceitual de referncia. Neste trabalho foi apresentada uma ontologia de qualidade de software com foco em avaliao e melhoria de processo, que pode servir como uma especificao de consenso para a integrao e o desenvolvimento de ferramentas de apoio ao processo de AMP. Em continuao a este trabalho, a ontologia de avaliao aqui proposta foi utilizada para derivar um arcabouo de classes (framework) utilizado como base para a integrao de AvaliaODE com GQA-ODE, a ferramenta de apoio Garantia da Qualidade de ODE.

Referncias
ABNT (2000) NBR ISO 9000 Sistemas de gesto da qualidade Fundamentos e vocabulrio. Andrade, J.M.S., (2005) Avaliao de Processos de Software em Ambientes de Desenvolvimento de Software Orientados Organizao, Dissertao de Mestrado, Programa de Engenharia de Sistemas e Computao, COPPE/UFRJ. Beaufound, C.E.C., Werner, C.A.L., Rocha, A.R.C. (1997) Manual para Controle da Qualidade de Especificaes Orientadas a Objetos, Relatrio Tcnico ES-428/97, Programa de Engenharia de Sistemas e Computao, COPPE/UFRJ. Bertoa, et al. (2006) An Ontology for Software Measurement, In: (Calero et al., 2006). Dal Moro (2008) Avaliao e Melhoria de Processos de Software: Conceituao e Definio de um Processo para Apoiar a sua Automatizao, Dissertao de Mestrado, Mestrado em Informtica, Universidade Federal do Esprito Santo.

Dal Moro, R., Falbo, R.A. (2008) Uma Ontologia para o Domnio de Qualidade de Software com Foco em Produtos e Processos de Software, 3rd Workshop on Ontologies and Metamodeling Software and Data Engineering WOMSDE2008, XXII Simpsio Brasileiro de Engenharia de Software SBES2008, Campinas. Falbo, R. A., Natali, A. C. C., Mian, P.G., Bertollo, G., Ruy, F.B. (2003) ODE: Ontology-based software Development Environment, In: Memrias de IX Congreso Argentino de Ciencias de la Computacin, p. 1124-1135, La Plata, Argentina. Falbo, R. A. (2004) Experiences in Using a Method for Building Domain Ontologies Proc. of the 16th International Conference on Software Engineering and Knowledge Engineering, International Workshop on Ontology In Action, Banff, Canada. Falbo, R.A., Bertollo, G. (2005) Establishing a Common Vocabulary for Software Organizations Understand Software Processes, International Workshop on Vocabularies, Ontologies and Rules for the Enterprise, Enschede, The Netherlands. Florac, W. A., Carleton, A. D. (1999) Measuring the Software Process, AddisonWesley Professional, 1st edition. Fuggetta, A. (2000) Software Process: A Roadmap, In: Proceedings of The Future of Software Engineering, ICSE2000, Limerick, Ireland. Guizzardi, G. (2005) Ontological Foundations for Structural Conceptual Models, Universal Press, The Netherlands. ISO/IEC (2002) ISO/IEC 15939:2002 Software Engineering Software Measurement Process. Jasper, R., Uschold, M. (1999) A Framework for Understanding and Classifying Ontology Applications, Proceedings of the IJCAI99 Workshop on Ontologies and Problem-Solving Methods, Stockholm, Sweden. Mian, P.G., Falbo, R.A. (2003) Supporting Ontology Development with ODEd, Journal of the Brazilian Computer Science, vol. 9, no. 2, pp 57-76. Martin, M. A., Olsina, L. (2003) "Towards an Ontology for Software Metrics and Indicators as the Foundation for a Cataloging Web System", First Latin American Web Congress (LA-WEB'03). Palcio, M.O. (2007) GQA-ODE: Uma Ferramenta de Apoio Garantia de Qualidade em ODE, Monografia de concluso do curso de Cincia da Computao, UFES. SEI (2006a), CMMI for Development v1.2, Pittsburgh: Software Engineering Institute. SEI (2006b) Standard CMMI Appraisal Method for Process Improvement (SCAMPI) A, Version 1.2: Method Definition Document, CMU/SEI-2006-HB-002. Siquara, E. C., (2007) Uma Proposta de Ferramenta para Automao de Avaliaes CMMI Baseadas no Mtodo SCAMPI, Dissertao de Mestrado, Universidade de Salvador, Salvador, Brasil. Softex (2007) MPS.BR Melhoria de Processo do Software Brasileiro: Guia Geral, Verso 1.2.

Você também pode gostar