Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Belm
2011
Belm
2011
ii
Banca Examinadora
AGRADECIMENTOS
A Deus pela vida.
Aos meus pais, Carlos e Luiza, que sempre fizeram de tudo pra que eu e meu irmo
pudssemos ter as oportunidades que tivemos na vida. Agradeo a eles por terem muitas vezes
se colocado em segundo plano em prol dos filhos que nem sempre reconheceram
merecidamente o grande esforo feito. Agradeo pelas oraes e torcida pela finalizao de
meu trabalho, mesmo sem terem o entendimento direito do que medio de processos de
software; agradeo pelo amor, carinho e dedicao. Reconheo que no tenho nada, mas
considero que o que adquiri durante esse tempo meu conhecimento devo grande parte a
vocs.
UFPA que me proporcionou o espao e a infraestrutura atravs dos quais pude
adquirir meus conhecimentos. Agradeo pela oportunidade das aulas com excelentes
professores (nem todos, claro!) que muito se esforaram para passar o melhor contedo aos
alunos.
Aos meus orientadores e excelentes professores, Carla e Rodrigo, pela confiana
depositada em mim. Agradeo por me permitirem fazer parte no somente do grupo LABES
de pesquisa, mas da famlia LABES. Agradeo pelas orientaes, puxadas de orelha,
conversas informais, enfim, por todo o suporte oferecido ao longo dos 3 anos e meio de
LABES que me fizeram ter essa grande vontade de permanecer na pesquisa durante os
prximos anos.
FAPESPA e ao CNPQ que financiaram a pesquisa que resultou nesse trabalho e me
permitiram continuar pesquisando.
amiga, conselheira e professora, Luciana, que simplesmente se tornou minha famlia
aqui em Belm. Lembro agora de quando nos conhecemos e do tanto de medo que eu tinha de
falar alguma besteira perto dela. Engraado lembrar disso agora, porque hoje em dia uma
das primeiras a quem eu penso em falar qualquer coisa mesmo que seja besteira. Agradeo
enormemente pela contribuio que teve nesse trabalho. Suas revises, seus questionamentos
e sua ajuda me tornaram uma pesquisadora melhor e nossas conversas, uma pessoa melhor.
Agradeo ainda por me dares a oportunidade de te conhecer, fazendo com que eu te colocasse
na minha listinha de pessoas com quem eu quero me parecer, simplesmente por seres
admirvel.
Ao meu grande amigo, Francisco, que me fez acreditar que eu sou capaz de fazer
muita coisa. Ensinou-me a pensar melhor, a ser mais crtica, a ser mais criteriosa com as
v
palavras e desde sempre tem me ajudado com a minha falta de memria. Agradeo pelas
orientaes com programao e por todas as nossas discusses sobre assuntos aqui
relacionados e sobre aqueles que nada tinham a ver, mas que contriburam para minha
formao. Agradeo por sempre estar presente e pronto a me oferecer sua valiosa ajuda que,
mesmo muitas vezes no sendo utilizada, serviu como apoio para mim, simplesmente por me
fazer saber que eu tinha e tenho com quem contar.
Ao LABES e seus integrantes com quem gargalhei trabalhei durante os ltimos 3 anos
e meio. Oportunidade nica na minha vida que me fez conhecer e gostar de pessoas
maravilhosas e me fez aprender com pessoas dedicadas e inteligentes. Levo comigo um pouco
das muitas virtudes que consegui encontrar em cada um de vocs.
Ao professor Edson que me ajudou a ter foco no meu trabalho todas as vezes em que
eu teimava em me distrair com os amigos do LABES. Suas batidas na parede foram de
fundamental importncia para a quebra da disperso no LABEX e para a retomada dos
trabalhos de pesquisa, muitas vezes atrasados.
Ao meu irmo, Junior, que me ofereceu seu template de TCC e me ofereceu o chat
amigo para me motivar. Agradeo por todas as vezes que ele acreditou em mim e torceu pela
concluso desse trabalho, mesmo que pra obter algum tipo de benefcio com a minha volta a
morar com ele.
Ao meu namorado, Abel, que foi o ltimo a quem eu conheci de todos aqui
mencionados, mas que j ganhou um espao muito grande em minha vida. Agradeo por todo
o seu esforo em tentar de alguma forma me ajudar a concluir esse trabalho e, mesmo me
atrapalhando em alguns momentos, agradeo pela contribuio que simplesmente foi
imprescindvel por tornar to felizes e divertidos os ltimos 7 meses.
Por fim, aos meus colegas de turma, tanto os atuais quanto aqueles que no
conseguiram concluir o curso comigo, que muito contriburam para transformar os ltimos 5
anos nos mais memorveis at ento de minha vida.
vi
RESUMO
Como forma de ganhar maior visibilidade no mercado, empresas de desenvolvimento de
software tem tentado agregar qualidade, custo compatvel com o que desenvolvido e prazos
de desenvolvimento concretos aos seus produtos na medida em que aderem a prticas de
melhoria de processos de software. Dentre as vrias prticas de melhoria existentes destaca-se
a Medio, processo no qual dados quantitativos so utilizados para representar atributos de
entidades existentes no processo de desenvolvimento de software. A partir do armazenamento
de dados relativos aos processos executados na organizao possvel ento caracterizar e
comparar projetos, aferindo deficincias e oportunidades de melhoria em entidades de
desenvolvimentos futuros. Apesar do reconhecimento da importncia da Medio, o custo de
sua implantao, a complexidade e a dificuldade na realizao de suas tarefas e a falta de
comprometimento da equipe de desenvolvimento com as atividades de Medio tornam-se
obstculos aplicao dessa prtica nas organizaes de software. Com o objetivo de
contornar alguns dos obstculos e dos problemas encontrados durante a implantao da
Medio, este trabalho apresenta um conjunto de solues em forma de requisitos para o
apoio automatizado de tarefas de Medio e em forma de melhorias em uma ferramenta de
apoio ao planejamento e anlise de Medio. As solues apresentadas surgiram a partir da
anlise de problemas e oportunidades de melhoria identificados durante a implantao de uma
estratgia de Medio em um caso real de desenvolvimento de software e a partir da anlise
de tarefas de Medio recomendadas em normas e modelos de qualidade.
viii
ABSTRACT
In the last years, software industry organizations are trying to increase their products quality,
develop them with a reasonable cost and time by adopting practices of software process
improvement (SPI). One of SPI practices is Measurement, a process by which quantitative
data are used to describe software process entities attributes. Based on data related to the
organization processes enacted is possible to perform different kinds of analysis in order to
characterize and compare products and projects and then realize weaknesses and improvement
opportunities. Although Measurement is widely recognized as an important practice, its
practical implementation in software industry has some difficulties due to its cost, complexity
and problems that arise when performing its activities, besides the lack of commitment of the
development team. With the purpose of offer support to Measurement implementation and
minimize some of its problems, this work proposes a set of solutions described as
requirements to a tool for measurement activities support and implemented as improvements
in a tool for measurement planning and analysis. The solutions proposed were designed from
observations of a real case of measurement implementation and from the study of
recommendations stated by models and patterns for Measurement in software process.
ix
LISTA DE FIGURAS
Figura 1 Metodologia do trabalho. .......................................................................................... 4
Figura 2 Processo de software, entidades e atributos. Adaptado de (FLORAC e
CARLETON, 1999). .............................................................................................. 8
Figura 3 Modelo simplificado dos conceitos de Medio e seus relacionamentos. Baseado
em (KITCHENHAM e PFLEEGER, 1995) e em (BARCELLOS, 2009). ............ 9
Figura 4 Abordagem GQM. Adaptado de (BASILI e WEISS, 1984). .................................. 11
Figura 5 Modelo para definio da meta. Adaptado de (NASCIMENTO, 2007). ................ 12
Figura 6 Abordagem Goal-Driven Software Measurement. Adaptado de (NASCIMENTO,
2007). ................................................................................................................... 12
Figura 7 reas de processo da ISO/IEC 12207. Adaptado de (ISO/IEC, 2008). .................. 14
Figura 8 Modelo CMMI-DEV Nveis de Capacidade e Maturidade. ................................. 16
Figura 9 Modelo MR-MPS Nveis de Maturidade e Capacidade. ...................................... 16
Figura 10 Atividade e fluxo de informao da Medio. Adaptado de (ISO/IEC, 2002). .... 18
Figura 11 Framework para apoiar escolha de mtricas de qualidade. Adaptado de (IEEE
COMPUTER SOCIETY, 1998). ......................................................................... 19
Figura 12 Cliente Manager Console. ..................................................................................... 23
Figura 13 Cliente Task Agenda Desktop (a) e Web (b). ........................................................ 24
Figura 14 Representao grfica da WebAPSEE-PML. Adaptado de (NASCIMENTO,
2007). ................................................................................................................... 25
Figura 15 Formulrio de definio de mtricas. .................................................................... 26
Figura 16 Formulrios de estimativa e coleta de medidas..................................................... 26
Figura 17 Viso em pacotes dos casos de uso do prottipo. ................................................. 28
Figura 18 Diagrama de estados do MIPModel. Adaptado de (NASCIMENTO, 2007). ....... 29
Figura 19 Tela a: indicadores de um MIPModel; Tela b: cadastro de um novo indicador
(NASCIMENTO, 2007). ..................................................................................... 30
Figura 20 Tela a: indicadores de um MIP; Tela b: seleo de alvos especficos do projeto
(NASCIMENTO, 2007). ..................................................................................... 30
Figura 21 Tela para visualizao e anlise dos dados (NASCIMENTO, 2007). .................. 31
Figura 22 Atividades e tarefas de Medio apoiadas pelo ambiente (branco) e pelo prottipo
(azul). ................................................................................................................... 32
Figura 23 Modelo de processo iterativo-incremental adotado pelo projeto (LEMOS, et al.,
2009). ................................................................................................................... 36
x
Figura 51 Tela de seleo de alvos para coleta de medidas exemplo de alvos da entidade
atividade sendo selecionados. .............................................................................. 85
Figura 52 Formulrio de estimativa e coleta de medidas para alvos selecionados. .............. 86
Figura 53 Formulrio de armazenamento de anlises e aes e de gerao de indicadores e
relatrios. ............................................................................................................. 87
Figura 54 Visualizaes disponibilizadas pela ferramenta.................................................... 87
Figura 55 Formulrio de gerao de relatrios customizveis. ............................................. 88
Figura 56 Exemplo de relatrio de comunicao da Medio gerado pela ferramenta. ....... 89
xii
LISTA DE QUADROS
Quadro 4.1 Requisitos para planejamento da Medio Anlise de problemas. ................. 40
Quadro 4.2 Requisitos para coleta e gerao de indicadores da Medio Anlise de
problemas. ........................................................................................................... 42
Quadro 4.3 Requisitos para anlise e comunicao dos resultados da Medio Anlise de
problemas. ........................................................................................................... 43
Quadro 4.4 Requisitos para fase de planejar a medio Anlise de normas e modelos. .... 47
Quadro 4.5 Requisitos para fase de executar a medio Anlise de normas e modelos. ... 48
Quadro 4.6 Requisitos para apoio a realizao de tarefas de Medio de forma
automatizada. ...................................................................................................... 50
Quadro 5.1 Requisitos levantados e funcionalidades do prottipo. ...................................... 52
Quadro 5.2 Formato de indicadores e suas possveis operaes. .......................................... 54
xiii
xiv
SUMRIO
1 INTRODUO ..........................................................................................................1
1.1 Motivao e Justificativa .....................................................................................2
1.2 Objetivo do Trabalho ...........................................................................................3
1.2.1 Objetivo Geral ....................................................................................................... 3
1.2.2 Objetivo Especfico................................................................................................ 3
xv
xvi
1 INTRODUO
Os modelos modernos de gesto organizacional enfatizam que o objetivo maior das
organizaes, seja de desenvolvimento de software ou no, deve ser o de atender a diferentes
tipos de interesses relacionados com todos os envolvidos com a organizao: acionistas,
empregados, clientes e mesmo sociedade (COLTRO, 2004). O atendimento dos interesses de
cada um dos diferentes envolvidos com a organizao pode estar relacionado com a obteno
de avaliaes positivas em alguns fatores, como: i) a relao entre o lucro e os custos para a
produo de determinados produtos; ii) a satisfao do cliente em relao aos produtos e/ou
servios oferecidos; iii) a motivao e a produtividade da equipe em relao aos trabalhos
desempenhados; iv) o retorno que a empresa tem oferecido para a sociedade; dentre outros.
Em face disso e com o objetivo de obter a melhor avaliao possvel desses fatores,
organizaes de desenvolvimento de software tm aplicado prticas de melhorias de
processos de software em seus processos internos de produo, acreditando-se que a melhoria
no processo de desenvolvimento de software ir impactar na melhoria do que desenvolvido
pela organizao (FUGGETTA, 2000) e, consequentemente, no atendimento das metas e
interesses dos envolvidos com a organizao.
Nesse contexto de melhoria de processos de software diversas prticas de melhoria
foram definidas e descritas em normas e modelos de qualidade como forma de guiar gerentes,
analistas, projetistas, desenvolvedores e testadores em suas atividades dentro do processo de
software. Normas como ISO/IEC 12207 Systems and Software Engineering Software Life
Cycle Process (ISO/IEC, 2008) e ISO/IEC 15504 Information Technology Process
Assessment (ISO/IEC, 2003) e programas como MPS.BR Melhoria de Processos de
Software Brasileiro (SOFTEX, 2011a) e CMMI Capability Maturity Model Integration
(SEI, 2011) so exemplos que foram e esto sendo utilizados por empresas que desejam
alcanar melhorias em seus processos de produo de software.
Dentre as diversas prticas identificadas nessas normas e modelos, destaca-se a
Medio. Vista consensualmente como apoio essencial a diversas reas de conhecimento da
Engenharia de Software (IEEE COMPUTER SOCIETY, 2004), na rea de Gerncia que a
Medio tem forte influncia uma vez que auxilia na identificao de pontos fortes e fracos da
implantao, da mudana e da melhoria do processo de software e auxilia no fornecimento de
informaes para tomadas de decises importantes para os projetos da organizao.
O propsito do processo Medio coletar, armazenar, analisar e relatar os dados
relativos aos produtos desenvolvidos e aos processos implementados na organizao e em
1
ii.
iii.
iv.
1.3 Metodologia
Na fase inicial deste trabalho houve a realizao de uma pesquisa exploratria dividida
em duas etapas: a primeira utilizando-se do procedimento de pesquisa em campo teve como
objetivo extrair informaes de problemas encontrados durante a implantao manual de
Medio em um caso real de desenvolvimento de software; a segunda utilizando-se do
procedimento de pesquisa documental teve como objetivo identificar recomendaes para
realizao de tarefas de Medio, extradas de normas e modelo de qualidade, possveis de
serem automatizadas.
Como o objetivo do trabalho era o de compreender e analisar os dados coletados
durante a pesquisa exploratria de forma a identificar requisitos para automao do processo
de Medio, a pesquisa deste trabalho foi ento caracterizada como sendo qualitativa. Os
resultados obtidos durante a anlise qualitativa dos dados a partir do mtodo indutivo foram
utilizados para a realizao das atividades da fase posterior deste trabalho que compreendeu a
evoluo de uma ferramenta de apoio ao processo de planejamento e anlise de Medio.
A Figura 1 a seguir exibe as atividades planejadas em cada uma das fases deste
trabalho.
i.
ii.
mencionado foi utilizado nesse trabalho para auxiliar na formulao de requisitos para apoiar
atividades de Medio de forma automatizada detalhes na seo 4.2.
(PF). Normalmente as unidades de uma mtrica mantm algum tipo de relao umas com as
outras de tal forma que uma medida em uma determinada unidade pode ser convertida para
medidas em diferentes unidades a partir de procedimentos adequados. A Figura 3 ilustra o
relacionamento entre os conceitos expostos.
A Figura 3 mostra ainda o relacionamento da unidade de uma mtrica com sua escala
que pode ser de 5 tipos: nominal, ordinal, intervalar, racional (KAN, 2002) e absoluta
(LAIRD e BRENNAN, 2006). Escalas definem propores entre medidas de mesma unidade,
variam em significado dos valores admitidos e operaes sobre esses valores como descrito a
seguir.
Ordinal mesmo que nominal, porm acrescenta a idia de ordem, sendo que os
intervalos ainda no possuem qualquer significado. As operaes disponveis para
esse tipo de escala so: as mesmas da escala nominal mais a determinao de
maior, menor e mediana.
9
2.2.1 Goal/Question/Metric
O paradigma GQM baseia-se na seleo de mtricas orientadas a objetivos de Medio
da organizao. A ideia base dessa abordagem , para cada meta estabelecida dentro da
organizao, identificar questes possveis de serem respondidas com a anlise de medidas
coletadas para mtricas, sendo a Medio ento fundamentada em metas que a organizao
visa alcanar. A Figura 4 ilustra a abordagem em questo.
Na Figura 4 possvel ainda perceber que para a definio da Medio uma viso topdown utilizada enquanto que para a sua interpretao uma viso bottom-up aplicada. Isso
particularmente vantajoso para a Medio uma vez que possibilita identificar mtricas teis a
serem coletadas e interpretar os dados de modo a responder questes que traduzam os
objetivos da organizao.
A abordagem permite ainda que uma mesma meta origine diferentes questes e cada
questo, diferentes mtricas. Assim, uma nica medida pode auxiliar a responder a mais de
uma questo e, por conseguinte, a atender a mais de um objetivo. Para montar o esquema
apresentado, a abordagem GQM estabelece 3 passos principais que so justamente os
relacionados com a formulao das metas, das questes e das mtricas que compem o
planejamento.
A abordagem estabelece ainda um formato padro de definio de metas, as seguintes
informaes devem conter na definio: entidade relacionada a algum propsito da
organizao; o propsito em si; o atributo da entidade a ser analisada; o ponto de vista e o
contexto a serem considerados no atendimento ao propsito ver Figura 5.
11
ii)
iii)
iv)
v)
vi)
vii)
viii)
ix)
x)
Alm de novos passos, o paradigma GQ(I)M descreve com maiores detalhes como
cada passo dever ser realizado de forma a selecionar as mtricas que estejam alinhadas aos
objetivos estratgicos da organizao.
13
produzidos de forma a oferecer suporte efetivo ao gerenciamento dos processos e dos projetos
e a demonstrar objetivamente a qualidade dos produtos.
So trs as atividades bases da Medio na ISO/IEC 12207: Planejar a Medio,
Executar a Medio e Avaliar a Medio.
Durante a atividade de Planejar a Medio, caractersticas da unidade organizacional
que se deseja medir bem como as necessidades de informao desta devem ser identificadas;
mtricas que satisfaam as necessidades de informao e seus procedimentos de coleta,
anlise e comunicao devem ser documentados; critrios de avaliao das necessidades de
informao e dos produtos de trabalho produzidos devem ser elaborados; e o suporte
tecnolgico para as tarefas de medio deve ser identificado e fornecido a equipe envolvida.
Para Executar a Medio, os procedimentos das mtricas identificados no
planejamento devem ser inseridos dentro dos processos relevantes a serem medidos; as
medidas devem ser coletadas, armazenadas e verificadas; os dados devem ser analisados; e o
resultado da medio deve ser documentado e comunicado aos envolvidos.
Na ltima atividade de Avaliar a Medio o processo de medio e seus produtos de
trabalho devem ser avaliados, sendo as melhorias identificadas e comunicadas aos
interessados.
2.3.2 CMMI-DEV e MR-MPS.BR
Tanto o CMMI-DEV como o MR-MPS so modelos de qualidade que agrupam
recomendaes de boas prticas em diferentes nveis de maturidade e capacidade. As prticas
recomendadas so separadas em reas de processo no CMMI-DEV e em processos no MRMPS. Apesar da nomenclatura diferente a semntica a mesma nos dois casos e para fim de
simplificao ao longo desta seo os processos do MR-MPS sero tratados como reas de
processo.
Para se atingir o primeiro nvel de maturidade nesses modelos, as recomendaes
identificadas para cada rea de processo do referido nvel devero ser atendidas, bem como as
recomendaes de capacidade devero ser implantadas em cada rea de processos do nvel.
Para se atingir um nvel acima nesses modelos, tanto as recomendaes das reas de processo
dos nveis iniciais como as das reas do nvel que se deseja atingir devem ser satisfeitas, assim
como as recomendaes de capacidade do nvel a ser atingido e dos nveis inferiores devem
ser implantadas em todas as reas de processo implementadas pela organizao at ento. A
15
17
software, alm da coleta, armazenamento, anlise e comunicao dos dados. Para a realizao
dessas atividades, informaes da base histrica da organizao so utilizadas, caso
pertinente, como forma de melhor planejar e executar a Medio com base nas lies
aprendidas de outras implantaes.
Os produtos de informaes gerados no chamado cerne do processo de Medio
utilizado tanto para apoiar o gerenciamento de projetos que fornece feedback sobre novas
necessidades de informao, quanto para Avaliar a Medio, identificando melhorias para
esse processo e armazenando-as na base histrica da organizao.
2.3.4 IEEE Std 1061-1998
O padro IEEE Std 1061 define um framework para apoiar a escolha de mtricas de
qualidade de software. O framework dividido em 3 principais nveis como pode ser
observado na Figura 11. No primeiro nvel devem ser estabelecidos requisitos de qualidade a
partir de atributos que permitam inferir a qualidade de determinado sistema. Esses atributos
devem ser mapeados a fatores de qualidade que representem as vises da gerncia e do
usurio para o sistema a ser analisado. O nvel posterior responsvel por agrupar subfatores
de qualidade associados aos fatores identificados no nvel anterior os subfatores so
opcionais, sendo utilizados caso haja necessidade de refinamento dos fatores de qualidade.
Relacionados com os subfatores de qualidade as mtricas so ento definidas no ltimo nvel.
Figura 11 Framework para apoiar escolha de mtricas de qualidade. Adaptado de (IEEE COMPUTER
SOCIETY, 1998).
19
21
22
23
24
25
abordagem
de
Medio
implementada
pelo
prottipo
descrita
em
28
O diagrama exibe os quatro estados que um MIPModel pode assumir: draft, quando
um MIPModel criado, podendo ser alterado enquanto estiver nesse estado; defined, quando
um MIPModel est estvel e pronto para compor planos de medio para projetos, nesse caso
no h mais possibilidade de alterao das informaes cadastradas a no ser que seja
solicitada sua evoluo; pending, quando h a evoluo de um MIPModel e este aguarda sua
nova verso tornar-se definida, nesse caso o MIPModel pendente ainda pode ser utilizado
para compor MIPs, porm a opo de criao de novas verses fica indisponvel; e outdated,
quando um MIPModel no pode mais ser utilizado para instanciar novos MIPs, servindo
apenas de referncia para os MIPs j formulados a partir dele.
Voltando Figura 17, o pacote GerenciarMIP compreende funcionalidades de
cadastro e alterao das informaes especficas do MIP. Destaque aqui para o cadastro de
informaes em relao s entidades a serem medidas integrao do plano de medio s
instncias das entidades modeladas no WebAPSEE. Enquanto no MIPModel s possvel
identificar em alto nvel as entidades que iro compor os indicadores atividades, agentes
29
dentre outros (Figura 19) , no MIP possvel identificar as instncias no processo do projeto
das entidades que tero seus dados coletados (Figura 20).
Figura 20 Tela a: indicadores de um MIP; Tela b: seleo de alvos especficos do projeto (NASCIMENTO,
2007).
30
Como mostrado na Figura 20, a seleo das instncias (alvos) que tero os dados
coletados pode ser feita de trs formas: All seleo de todas as instncias, que estejam no
escopo do projeto relacionado com o MIP, de uma dada entidade; ByType, seleo de tipos
especficos existentes para uma dada entidade, no WebAPSEE podem ser definidos diferentes
tipos para entidades do processo, por exemplo, a entidade atividade pode ser do tipo
requirements, design, coding dentre outros; e Selected, seleo de instncias especficas, que
estejam no escopo do projeto relacionado com o MIP, de uma dada entidade.
Finalizando o conjunto de funcionalidades do prottipo tm-se as funcionalidades para
apoiar a anlise e a comunicao dos resultados da Medio, representadas na Figura 17 pelos
pacotes GerenciarIndicadoresEAnalises e GerarRelatrios (casos de uso minimamente
implementados). Em linhas gerais, o prottipo previa a gerao de indicadores conforme o
planejado no MIP de um projeto. Para tanto, para gerar um indicador deveriam ser utilizadas
informaes relacionadas com o formato do indicador barra, linha, pizza ou tabela , com a
operao sobre os dados coletados desvio, distribuio ou listagem , as mtricas (relao
de mtricas definidas no WebAPSEE) e com os alvos de coleta das mtricas. Para a gerao
dos relatrios o prottipo previa a utilizao de informaes cadastradas durante o
planejamento, dos indicadores que iriam compor os relatrios e das informaes de anlise
armazenadas no prottipo para cada indicador a ser exibido no relatrio. A Figura 21
apresenta a tela de gerao de indicadores e relatrios planejados.
Ainda em relao aos relatrios possveis de serem gerados, esses poderiam ser
planejados de acordo com as necessidades de comunicao dos resultados da Medio que a
organizao porventura possa ter. Dessa forma os relatrios foram formulados para serem
customizveis, contendo vrios ou um nico indicador ou ainda contendo ou no as
informaes de anlise cadastradas para os indicadores.
Figura 22 Atividades e tarefas de Medio apoiadas pelo ambiente (branco) e pelo prottipo (azul).
33
35
Figura 23 Modelo de processo iterativo-incremental adotado pelo projeto (LEMOS, et al., 2009).
Figura 24 Atividades de Medio definidas em cada iterao e em cada momento de necessidade da gerncia
38
Identificador
Problemas
Relacionados
RFP1-01
Dificuldade no
rastreamento de
grande volume de
informaes de
planejamento.
RFP-02
Perda de informaes
devido a constantes
modificaes no
documento de
planejamento.
Quadro 4.2 Requisitos para coleta e gerao de indicadores da Medio Anlise de problemas.
Identificador
Problemas/Melhorias
Relacionados(as)
RFP-03
RFP-04
RFP-05
RFP-06
tanto para corrigir problemas encontrados, evitando que estes voltassem a ocorrer, como
aes para repetir estratgias que deram certo no projeto.
Durante as reunies de anlise em equipe tambm era realizada uma avaliao de cada
meta de Medio e questo levantada no planejamento, fazendo a verificao se os
indicadores formulados eram teis para responder as questes e, assim, atender s metas. Em
caso de identificao de oportunidades de melhoria nas metas e/ou questes e/ou indicadores,
essas eram registradas para uma posterior avaliao e replanejamento da Medio. Vale
destacar que todas as informaes levantadas nas reunies de anlise da medio eram
documentadas em atas de reunio.
Os principais problemas na estratgia de anlise dos dados eram relacionados com o
armazenamento e a recuperao das informaes de anlise. Como estas ficavam
armazenadas em atas de reunio, no se tinha um controle rgido sobre as aes que haviam
sido identificadas e que deveriam ser tomadas ao longo do projeto. Esse fato era prejudicial
principalmente pelo fato de os dados no serem recuperados para apoiar resoluo de alguns
problemas j identificados.
Os problemas identificados nas atividades de anlise esto mais relacionados com o
armazenamento das anlises em si, com as novas informaes de contexto que possam ter
sido levantadas durante a anlise dos dados e com as tomadas de aes a serem realizadas ao
longo do projeto. O Quadro 4.3 evidencia requisitos que podem auxiliar a contornar os
problemas identificados ou mesmo auxiliar na execuo dessas tarefas.
Quadro 4.3 Requisitos para anlise e comunicao dos resultados da Medio Anlise de problemas.
Identificador
Problemas/Melhorias
Relacionados(as)
RFP-07
Possvel perda de
informaes de anlises.
RFP-08
Embora no esteja
relacionado com problemas
identificados, esse requisito
importante para auxiliar na
comunicao das informaes
armazenadas para a equipe.
RFP-09
Falta de controle na
efetivao das aes de
melhorias identificadas.
43
44
Figura 26 Dados a serem armazenados durante a catalogao de informaes das normas e modelos
selecionados.
45
Figura 27 Exemplo do mapeamento das normas e modelos selecionados para a atividade de Estabelecer
objetivos de medio da fase de Planejar Medio.
Assim, as mtricas devem ser selecionadas estando de acordo com as metas, com as
necessidades e/ou com os fatores de qualidade da organizao e os seus procedimentos de
coleta, armazenamento, anlise e comunicao devem estar definidos.
Essas recomendaes so claras nas normas e nos modelos analisados como, por
exemplo, para a seleo de mtricas de acordo com os objetivos da organizao a prtica
especfica 1.2 do CMMI-DEV estabelece: Especificar mtricas para tratar os objetivos de
medio e a normativa 6.3.7.3.1.3 da ISO/IEC 12207 estabelece O projeto deve selecionar e
documentar as mtricas que satisfaam as necessidades de informao. Para a definio
formal dos procedimentos das mtricas o PSM preconiza Selecionar e especificar mtricas,
sendo que essas especificaes so justamente os procedimentos relacionados com as mtricas
definidas.
A partir dessas informaes, possveis requisitos para apoiar a realizao das tarefas
nessa fase ou mesmo para apoiar a auditoria sobre os dados podem ser encontrados no Quadro
4.4 a seguir. Os requisitos identificados a partir da anlise de normas e modelos foram
identificados como RFNM Requisitos Funcionais advindos da anlise de Normas e
Modelos.
Quadro 4.4 Requisitos para fase de planejar a medio Anlise de normas e modelos.
Identificador
RFNM2-01
RFNM-02
Recomendaes
Relacionadas
Definio das
mtricas a serem
utilizadas.
Guiar a escolha de
mtricas de acordo
com os interesses da
organizao.
Identificador
Recomendaes
Relacionadas
RFNM-03
Coletar os dados e
suas informaes de
contexto;
Armazenar dados.
RFNM-04
Computar e processar
os dados.
48
RFNM-05
Computar e processar
os dados.
RFNM-06
Armazenar anlises.
RFNM-07
Documentar e
comunicar os
resultados da
Medio.
49
Quadro 4.6 Requisitos para apoio a realizao de tarefas de Medio de forma automatizada.
Identificador
Fonte (Anlise de
Problemas ou de
Normas e Modelos)
RFNM-01
Anlise de Normas e
Modelos (RFNM-01).
RFP-01/
RFNM-02
Anlise de Problemas
(RFP-01) e de
Normas e Modelos
(RFNM-02).
RFP-02
Anlise de Problemas
(RFP-02).
RFP-03/
RFMN-03
Anlise de Problemas
(RFP-03) e de
Normas e Modelos
(RFMN-03).
RFP-04
Anlise de Problemas
(RFP-04).
RFP-05/
RFNM-04
Anlise de Problemas
(RFP-05) e de
Normas e Modelos
(RFNM-04).
RFP-06/
RFNM-05
Anlise de Problemas
(RFP-06) e de
Normas e Modelos
(RFNM-05).
RFP-07/
RFNM-06
Anlise de Problemas
(RFP-07) e de
Normas e Modelos
(RFNM-06).
RFP-08/
RFNM-07
Anlise de Problemas
(RFP-08) e de
Normas e Modelos
(RFNM-07).
RFP-09
Anlise de Problemas
(RFP-09).
50
Identificador
Funcionalidades do
Prottipo
Estado da
Funcionalidade no
Prottipo
RFP-01/
RFNM-02
Parcialmente
Implementado.
Falta definir os
alvos de coleta das
mtricas para um
indicador.
RFP-02
Controlar as mudanas no
planejamento da Medio.
Nenhuma funcionalidade
planejada atende esse
requisito.
RFP-05/
RFNM-04
Fornecer um conjunto de
operaes.
Operaes de desvio de
estimativa e coleta,
distribuio e listagem de
medidas so oferecidas para
serem aplicados sobre as
medidas em um indicador.
No implementado.
RFP-06/
RFNM-05
Fornecer um conjunto de
visualizaes.
No implementado.
RFP-07/
RFNM-06
Permitir o armazenamento de
vrias anlises para os dados
coletados.
Implementado.
Proposta de
funcionalidade
necessitando de
melhoria para
atender o requisito.
RFP-08/
RFNM-07
No Implementado.
Proposta de
funcionalidade
necessitando de
melhoria para
atender o requisito.
RFP-09
Armazenar e monitorar as
aes corretivas a serem
tomadas.
Nenhuma funcionalidade
planejada atende esse
requisito.
52
53
Formato
Operao
Desvio de
<mtrica>
Barra
Distribuio
de <mtrica>
Linha
Desvio de
<mtrica>
Pizza
Distribuio
de <mtrica>
Desvio de
<mtrica>
Tabela
Distribuio
de <mtrica>
Descrio
Para cada alvo/tipo selecionado, calcular e
mostrar o desvio (em porcentagem) da medida da
<mtrica> em relao a sua primeira estimativa.
Calcular o somatrio das medidas relacionadas
com a <mtrica> por tipo e total e mostrar a
porcentagem das medidas para cada tipo
selecionado.
Para cada alvo/tipo selecionado, calcular e
mostrar o desvio (em porcentagem) da medida da
<mtrica> em relao a sua primeira estimativa.
De posse de todas as estimativas e da medida
final relacionada com a <mtrica> para o alvo
selecionado, calcular e mostrar o desvio da
segunda estimativa em relao primeira, e
assim sucessivamente, at o desvio da medida
final da <mtrica> em relao sua ltima
estimativa.
Calcular o somatrio das medidas relacionadas
com a <mtrica> por tipo e total e mostrar a
porcentagem das medidas para cada tipo
selecionado.
Mostrar lado a lado: 1 estimativa, ltima
estimativa, desvio entre 1 e ltima estimativa,
medida coletada, desvio entre medida e 1
estimativa, desvio entre medida e ltima
estimativa.
Para cada alvo selecionado, calcular e mostrar a
porcentagem do somatrio da medida da
<mtrica> em relao a todos os alvos, assim
como o valor real da medida.
Calcular o somatrio das medidas relacionadas
com a <mtrica> por tipo e total e mostrar a
porcentagem das medidas para cada tipo
N. de
Alvos
>1
>=1
>1
Tipo de
Seleo
All
By Type
Selected
By Type
All
By Type
Selected
Selected
>=1
By Type
>=1
All
By Type
Selected
>=1
All
Selected
>=1
By Type
54
Listagem de
<mtrica>
selecionado.
De posse de todas as estimativas e da medida
final relacionada com a <mtrica> para o alvo
selecionado mostrar lado a lado: valor,
tipo/natureza (estimativa/coleta), data/perodo.
Selected
Para atender ao que fora planejado, um projeto de arquitetura foi definido e ilustrado
atravs do diagrama de pacotes da Figura 28
Figura 28 Diagrama de pacotes estrutura projetada para extrao, operao e visualizao de medidas.
55
Passo 2: Sobre os dados resultantes do passo anterior aplicada uma das trs
operaes disponveis desvio, distribuio e listagem implementadas no pacote
operator (Figura 31) sendo os dados transformados em sries de dados prontos a
serem enviados para o cliente.
56
A Figura 30 apresenta o diagrama de classes para a extrao das medidas dos alvos
selecionados passo 1 da sequncia de comandos apresentados anteriormente. A arquitetura
foi planejada para se beneficiar do padro de projeto Strategy que concede maior
extensibilidade ao projeto atravs da definio de uma interface para garantir que mtodos
possam ser implementados de diferentes formas a depender de um contexto comum
(GAMMA, et al., 1994). No caso especfico do diagrama da Figura 30 a interface
ExtractorInterface define um comportamento abstrato de extrao de medidas a ser
concretamente realizado em cada uma das classes que implementa a referida interface. Cada
classe realiza a extrao de medidas segundo a sua prpria estratgia que no caso corresponde
a uma tcnica de extrao adequada para uma entidade especfica do processo.
Para a realizao das operaes sobre os dados passo 2 tambm foi aplicado o
padro Strategy (Figura 31), agora no contexto de definio de diferentes operaes possveis
de serem realizadas. A aplicao desse padro nesse contexto se mostra ainda mais efetiva
pelas facilidades oferecidas para a criao de novas operaes evoluo de funcionalidades
do prottipo.
visualizaes. Assim, caso uma nova visualizao seja planejada para compor o conjunto de
visualizaes disponveis, suficiente a implementao dos mtodos definidos na interface
VisualizerInterface (Figura 32).
vlido mencionar ainda que para a construo das visualizaes foi utilizada a
Application Programming Interface (API) livre JFreeChart (GILBERT, 2007) que
disponibiliza um conjunto de funes para a formulao, a partir de um conjunto de dados
pr-formatados, de uma variedade de visualizaes dentre as de barra, linha e pizza utilizados
neste trabalho.
5.2.2 Gerao de Relatrios
Funcionalidade planejada, mas at ento no implementada, a gerao de relatrios,
contendo indicadores, anlises, lies aprendidas e observaes conforme o planejado, foi
projetada na ferramenta para permitir que diferentes tipos de relatrios sejam customizados de
acordo com as necessidades de comunicao da organizao exemplo do relatrio de
comunicao na Figura 33. Por apoiar na anlise e comunicao dos resultados da Medio, o
relatrio no foi planejado para agrupar os dados coletados para os alvos e sim para agrupar
indicadores e suas respectivas anlises.
58
59
Alm do novo relatrio contendo os dados de coleta, outro relatrio foi identificado
como importante para auxiliar na auditoria das informaes de Medio: o relatrio contendo
os dados de planejamento da Medio exemplo na Figura 35. Alm de auxiliar na auditoria,
o relatrio possibilita que a organizao tenha maior controle dos artefatos produzidos,
podendo control-los em algum repositrio de verses que esteja institucionalizado pela
organizao.
60
Para a gerao dos relatrios, o fluxo de comandos quando solicitada uma requisio
pelo cliente um pouco diferente do fluxo apresentado para a gerao de indicadores. Como
pode ser observado na Figura 36, ao solicitar um relatrio no cliente, os dados para compor o
relatrio so extrados do servidor atravs da consulta na base de dados (pacote dao) e atravs
de informaes advindas das transformaes sobre os dados no pacote gqimDataHandling.
O conjunto de dados obtidos da base e das transformaes no pacote gqimDataHandling
utilizado para compor objetos mais simples (pacote beans) a serem exibidos nos relatrios
solicitados.
O principal diferencial do fluxo est na invocao de mtodos existentes em classes do
prprio cliente (pacote visualization). Esses mtodos esto relacionados com a gerao das
imagens das visualizaes a serem inseridas no Relatrio de Comunicao dos Resultados da
Medio da Figura 33.
Importante destacar que para a gerao dos relatrios foi utilizada a API jXLS (JXLS
TEAM), que permite que relatrios sejam gerados a partir da configurao de templates. Os
templates so configurados com notaes XML especficas da API e so preenchidos com os
dados de objetos que so passados como parmetro na chamada do mtodo para gerao do
relatrio. A Figura 37 exibe o template formulado para o relatrio Plano de Medio gerado
pela ferramenta.
63
et
al.,
2004),
MetriFlame
(VTT
ELECTRONICS),
Spago4Q
67
6 CONSIDERAES FINAIS
O processo de Medio visto como uma prtica importante e necessria para as
organizaes de desenvolvimento de software (MCGARRY, et al., 2002) uma vez que
disponibiliza informaes e maior conhecimento a respeito das entidades gerenciadas nos
projetos e permite a tomada de decises baseadas em informaes mais objetivas.
Embora importante e necessria, a sua execuo ainda complexa e difcil de ser
realizada, fato que acarreta em coleta de informaes muitas vezes desnecessrias, falta de
dados e de informaes de contexto que inviabilizam a anlise dos dados e problemas na
manipulao das informaes que acabam prejudicando a confiabilidade das anlises
realizadas a partir delas. Com isso, abordagens e metodologias para Medio e
recomendaes para implantao desse processo so propostas na literatura como forma de
minimizar esses problemas. Uma recomendao que consenso entre especialistas da rea
justamente a utilizao sempre que possvel de apoio ferramental para a realizao das tarefas
de Medio (KETTELERIJ, 2006).
Ao longo deste trabalho alguns problemas da implantao da Medio de forma
manual puderam ser encontrados, bem como oportunidades de melhorias para a realizao de
tarefas de Medio foram identificadas. Os problemas identificados foram ento mapeados
para requisitos de apoio a execuo das atividades de Medio de forma automatizada.
A anlise de recomendaes de Medio dispostas em normas e modelos tambm
possibilitou a identificao de requisitos para apoiar a realizao de tarefas desse processo. O
conjunto de requisitos identificados foi ento utilizado para evoluir uma ferramenta de apoio
ao planejamento e anlise de Medio, permitindo a construo de uma ferramenta pronta
para utilizao e pronta para apoiar atividades de Medio de forma a minimizar os problemas
na execuo desse tipo de atividades.
Maior interesse por parte da aluna pela rea da pesquisa, motivando a mesma a
continuar na academia.
70
REFERNCIAS
BARCELLOS, M. P. Uma Estratgia para Medio de Software e Avaliao de Bases de
Medidas para Controle Estatstico de Processos de Software em Organizaes de Alta
Maturidade. Tese de Doutorado. Rio de Janeiro: PESC/COPPE. 2009.
BASILI, V. R. Software Modeling and Measurement: The Goal/Question/Metric
Paradigm. University of Maryland. College Park. 1992.
BASILI, V. R.; WEISS, D. M. A Methodology for Collecting Valid Software Engineering
Data. IEEE Transactions on Software Engineering, Los Alamitos, v. SE-10, p. 728-738,
November 1984.
BORIA, J. L. Whats Wrong With My Level 4? Comunicao Social. [S.l.]: [s.n.]. 2007.
COLTRO, A. Gesto da Qualidade Ambiental em um Enfoque Social: Fatores Concretos
de Competitividade Organizacional? Seminrios em Administrao FEA-USP. So Paulo:
Anais do VII SEMEAD. 2004.
ENGINEERING INGEGNERIA INFORMATICA S.P.A. Spago4Q. Disponivel em:
<http://www.spagoworld.org/xwiki/bin/view/Spago4Q/>. Acesso em: 29 Novembro 2011.
FENTON, N. Software Measurement: A Necessary Scientific Basis. IEEE Transactions on
Software Engineering, 20, March 1994. 199-206.
FENTON, N. E.; PFLEEGER, S. L. Software Metrics - A Rigorous & Pratical Approach.
Boston: PWS Publishing Company, 1997. 10-11 p.
FLORAC, W. A.; CARLETON, A. D. Measuring the Software Process - Statistical
Process Control for Software Process Improvement. 1st. ed. New York: Addison Wesley,
1999.
FUGGETTA, A. Software Process: A Roadmap. Proceedings of the Conference on The
Future of Software Engineering, ICSE. Limerick: [s.n.]. 2000. p. 25-34.
GAMMA, E. et al. Design Patterns: Elements of Reusable Object-Oriented Software. 1st. ed.
Boston: Addison Wesley Professional, 1994.
GILBERT, D. The JFreeChart Class Library - Developer Guide. Hertfordshire: Object
Refinery Limited, 2007.
GOPAL, A. et al. Measurement Programs in Software Development: Determinants of
Success. IEEE Transactions on Software Engineering. Los Alamitos: IEEE CS Press. 2002. p.
863-875.
HALL, T.; FENTON, N. Implementing Effective Software Metrics Programs. IEEE
Software. Los Alamitos: IEEE CS Press. 1997. p. 55-65.
IEEE COMPUTER SOCIETY. Std 1061 - IEEE Standard for a Software Quality Metrics
Methodology. Los Alamitos. 1998.
IEEE COMPUTER SOCIETY. Guide to the Software Engineering Body of Knowledge SWEBOK. Los Alamitos: IEEE CS Press, 2004.
ISO/IEC. ISO/IEC 15939:2002 - Software Engineering Software Measurement Process.
International Organization for Standardization and the International Electrotechnical
Commission. Geneva. 2002.
71
72
74
75
76
77
78
79
80
Figura 46 Tela de planejamento do MIPModel, modelo genrico para Medio a ser utilizado por diferentes
projetos.
81
Aps ter definido pelo menos um modelo de plano de Medio possvel de ser
utilizado nos projetos da organizao possvel que sejam planejados planos de Medio
especficos para projetos. A Figura 47 ilustra os passos que um usurio da ferramenta de
apoio Medio deve seguir para ter a execuo do processo de Medio apoiada pela
ferramenta aqui apresentada.
Figura 47 Passos a serem executados pelos usurios da ferramenta para realizar as atividades do processo de
Medio.
82
83
84
Figura 51 Tela de seleo de alvos para coleta de medidas exemplo de alvos da entidade atividade sendo
selecionados.
85
Aps ter selecionado os alvos, a coleta efetiva das estimativas e das medidas para os
alvos dever ser realizada atravs do formulrio exibido na Figura 52. Os dados coletados so
armazenados na base da ferramenta para a posterior recuperao.
86
88
89