Você está na página 1de 93

120 Engenharia de Software II | Unidade 01

UNIDADE 1 MEDIO E ANLISE


MDULO 1 INTRODUO MEDIO E ANLISE
01

1 - O USO DAS MEDIES DE SOFTWARE


Em diversas reas de atuao, uma realidade comum a um nmero considervel de organizaes: a
necessidade de responder a um mercado cada vez mais competitivo, de atender s necessidades de
negcio em constante mudana e melhoria em termos de processos e tecnologias disponveis. Em se
tratando da indstria de software, os clientes demandam mais funcionalidades, a um custo mais baixo,
com entregas de produtos mais rpidas, capazes de satisfazer a mesma rapidez inerente ao negcio.

A experincia demonstra que quase toda a organizao com desempenho considerado bom frente ao
mercado possui as seguintes caractersticas:

1. Informaes exatas e objetivas esto disponveis para todos os nveis de tomada de deciso
e esta prtica faz parte da cultura corporativa.

2. As perspectivas de negcio e tcnicas passadas, presentes e futuras so levadas em


considerao quando do estabelecimento dos objetivos dos projetos, bem como do
desempenho esperado.

3. Processos e procedimentos organizacionais so projetados para identificar, caracterizar e


gerenciar a mudana. Lidar com as mudanas parte de como a organizao faz o seu
negcio.

4. Boas e ms notcias so livremente comunicadas dentro da organizao. As questes crticas


(issues) so abertamente identificadas e tratadas.

5. Existe uma tendncia cultural na comunicao do processo decisrio e na tomada de aes.

No passado, as organizaes tratavam o processo de medio como algo que no agregava valor ou
apenas algo a mais para se fazer. Nos dias de hoje, o processo de medio tem grande importncia na
engenharia de software. As organizaes bem sucedidas implementam a medio como parte de suas
atividades tcnicas e gerenciais do dia a dia.

02

Medies relacionadas a software devem fornecer respostas. As necessidades da alta direo,


gerentes, praticantes das medies e cientistas no so os nmeros em si, mas o que existe por trs
desses nmeros.

Ebert e Dumke, 2007

2015 - AIEC - Associao Internacional de Educao Continuada

1
120 Engenharia de Software II | Unidade 01

O reconhecimento da necessidade de informaes objetivas e baseadas em fatos conduz as


organizaes ao estabelecimento de um processo de medio, seja ele em nvel de projeto ou mesmo
organizacional.

A forma como as medies so implementadas e utilizadas determina quanto valor de negcio a


organizao atualmente realiza:

Um carro em alta velocidade, ao atravessar um nevoeiro, necessita ter sua velocidade reduzida (abaixo
de sua capacidade) por desconhecer o caminho que ele percorre. Dificilmente possvel imaginar uma
organizao alcanar a seu mximo desempenho desejado sem saber onde ela est e para onde ela quer
ir.

03

A engenharia de software uma aplicao de uma abordagem sistemtica, disciplinada e


quantificvel para o desenvolvimento, operao e manuteno de software; que a aplicao da
engenharia de software.

IEEE 90

As medies de software podem ser utilizadas com as seguintes finalidades:

1- Promover o entendimento e a comunicao

Atravs das medies, determinados resultados em nvel de negcio e projeto podem


ser comunicados e entendidos de uma forma nica.

2- Definir e alcanar objetivos

As medies so a chave para a identificao e a especificao de objetivos. So utilizadas


para estimar ou prever caractersticas do software. Em termos de processo, possvel
estabelecer objetivos mensurveis e prover o status de projetos e processos.

2015 - AIEC - Associao Internacional de Educao Continuada

2
120 Engenharia de Software II | Unidade 01

3- Identificar e resolver problemas

As medies ajudam a avaliar os produtos de trabalho e os processos com relao aos padres
estabelecidos. Tambm permitem mensurar caractersticas especficas durante o ciclo de vida
de um software com o objetivo de promover a melhoria da qualidade e do desempenho.

4- Decidir e melhorar

O uso das medies permite monitorar, avaliar, analisar e controlar o negcio, projetos,
produtos e atributos que suportam decises em nvel operacional e estratgico.

04

1.1. Padres internacionais relacionados s medies

Padres so o elemento que fazem a unio entre o mundo da engenharia e o mundo da cincia. So
eles que promovem uma linguagem nica, independente de onde os mesmos so aplicados se em
uma fbrica de software na China ou no gerenciamento de uma linha de produo nos Estados
Unidos.

Ebert e Dumke, 2007

A figura abaixo apresenta os padres internacionais que influenciam a medio de software:

2015 - AIEC - Associao Internacional de Educao Continuada

3
120 Engenharia de Software II | Unidade 01

Os padres so apresentados conforme as perspectivas:

How to do How to do better How to measure both


Englobam os processos Descrevem sistemas de So exclusivamente
de ciclo de vida, que gerenciamento e dedicados a medio de
estabelecem o como frameworks para software.
fazer. melhoria de processos.

atravs do uso de tais padres que a prtica pode ser realizada e melhorada continuamente.

05

A figura abaixo apresenta uma viso global dos padres relacionados engenharia de software e como
eles se relacionam uns com os outros:

06

1.2. Riscos relacionados ao uso das medies

2015 - AIEC - Associao Internacional de Educao Continuada

4
120 Engenharia de Software II | Unidade 01

Muitas iniciativas de implantao de processos de medio falham. Seguem abaixo alguns riscos que
podem afetar negativamente o uso das medies nas organizaes:

Coleta de medies sem um sentido. O uso das medies deve ser orientado ao alcance de
objetivos. Cada medio deve possuir uma aplicao prtica.

Uso de medies que no so analisadas. Trabalhar com nmeros requer esforo. Distribuir
os nmeros em grficos e planilhas no suficiente h necessidade de uma anlise
detalhada do que os nmeros querem retratar.

Definio de objetivos e metas inalcanveis. Objetivos e metas a serem alcanados podem


ser definidos a partir da anlise de dados histricos ou mesmo da experincia observada no
mercado.

Medies utilizadas de forma independente dos processos de desenvolvimento e do ciclo


de vida do produto. Se os processos refletem o comportamento da organizao, a medio
dos mesmos resultar em um diagnstico a ser analisado, para que aes possam ser
tomadas.

07

2 - MEDIES E OBJETIVOS

2015 - AIEC - Associao Internacional de Educao Continuada

5
120 Engenharia de Software II | Unidade 01

A partir do momento em que as medies direcionam as decises em diversos nveis, h a necessidade


das mesmas estarem ligadas aos respectivos alvos a serem alcanados. O paradigma GQM
GoalQuestionMetric de V. Basili [Basi94] demonstra essa afirmao na prtica.

O paradigma GQM foca na definio e na seleo de medies:

1. Em um primeiro momento importante saber o que a organizao quer e onde ela quer
chegar. Definem-se objetivos de negcio, indicadores de performance, metas de projetos e
objetivos de melhoria.

2. Em seguida necessrio saber de que forma os objetivos e as metas sero alcanados. So


definidas abordagens para o alcance dos objetivos, programas de melhoria, processos de
gerenciamento de mudanas e tcnicas de gerenciamento de projetos.

3. Com processos, mtodos e tcnicas definidos e em execuo, como saber se os resultados so


realmente os esperados? Atravs do uso das medies! As mesmas so definidas e obtidas a
partir de processos, projetos, produtos e clientes.

08

3 - MODELO DE INFORMAES PARA MEDIO


O Modelo de Informaes para Medio ou Measurement Information Model:

um mecanismo formal que relaciona as necessidades de informao aos processos e


produtos dos projetos de software.

2015 - AIEC - Associao Internacional de Educao Continuada

6
120 Engenharia de Software II | Unidade 01

Estabelece uma estrutura que relaciona os conceitos e termos de medio e prov base para
a comunicao precisa dos resultados de um processo de medio.

A definio e a implementao de um programa de medies em uma organizao envolve fazer


importantes escolhas com relao coleta, organizao e anlise de dados; um pr-requisito para que a
iniciativa seja bem sucedida a definio de uma abordagem sistemtica para lidar com tais escolhas.

O uso de uma terminologia consistente mandatrio. A figura abaixo apresenta alguns dos termos
chave, definidos a partir da norma ISO/IEC 15939, SoftwareMeasurementProcess:

InformationNeed (Necessidade de Informao)

Necessidades de informao requeridas para dar suporte tomada de deciso nos projetos.

MeasurableConcept (Conceito Mensurvel)

uma ideia sobre entidades que podem ser medidas de forma a satisfazer as necessidades de
informao. Por exemplo, produtividade uma entidade mensurvel que vai auxiliar o gerente de
projetos a tomar decises relacionadas a alocao de recursos.

MeasurementConstruct (Construo Mensurvel)

a formalizao do conceito mensurvel que especifica exatamente o que ser medido e como os
dados sero combinados de forma a satisfazer as necessidades de informao. Por exemplo, o
esforo e o tamanho do software podem ser utilizados para compor a produtividade.

2015 - AIEC - Associao Internacional de Educao Continuada

7
120 Engenharia de Software II | Unidade 01

Measurement Procedure (Procedimento de Mensurao)

Estabelece a dinmica de coleta e organizao dos dados requeridos para se chegar medio. Por
exemplo, para se chegar produtividade necessrio definir de que forma o esforo e o tamanho
de software sero coletados, organizados e interpretados.

MeasurementPlan (Plano de Mensurao)

o roadmap que relaciona, formaliza e apresenta todos os elementos envolvidos em um processo de


medio citados nos pontos anteriores.

09

4 - MODELO DO PROCESSO DE MEDIO


O Modelo de Processo de Medio ou MeasurementProcessModel:

Define uma estrutura que relaciona as necessidades de informao, medies e informaes


de produtos.

Juntamente com o Modelo de Informaes para Medio, prov um framework para a


implementao de medies em projetos.

baseado no ciclo PDCA (Plan-Do-Check-Act).

Suas atividades bsicas so:

o Planejar Medio

o Executar Medio

o Avaliar Medio

o Estabelecer e Sustentar Comprometimento.

2015 - AIEC - Associao Internacional de Educao Continuada

8
120 Engenharia de Software II | Unidade 01

Planejar Medio

Na atividade Planejar Medio realizada a identificao e priorizao das necessidades de


informao, a seleo e especificao das medidas e a incorporao das definies aos processos do
projeto.

Executar Medio

A atividade Executar Medio iniciada a partir do Plano de Medies. Esta atividade compreende a
coleta, o processamento e a anlise dos dados de medio. A partir deste ponto possvel
materializar aes e recomendaes que devem orientar o processo de tomada de deciso.

Avaliar Medio

Durante a atividade Avaliar Medio, tcnicas para anlise do prprio processo de medio em si so
aplicadas. esta atividade que garante que a abordagem adotada para medies em projetos est
adequada e continuamente revista e melhorada.

Estabelecer e Sustentar Comprometimento

A atividade Estabelecer e Sustentar Comprometimento garante que o processo de medio receba o


suporte necessrio tanto em nvel de projeto quanto em nvel organizacional. Esta atividade prov os

2015 - AIEC - Associao Internacional de Educao Continuada

9
120 Engenharia de Software II | Unidade 01

recursos e a infraestrutura organizacional necessrios implementao de um programa de medies


vivel.

10

4.1- Planejar medio

O objetivo desta atividade prover um mtodo consistente para:

A identificao das necessidades de projeto.

A seleo e a especificao de medies.

A integrao das medies aos processos tcnicos e de gesto do projeto.

A figura abaixo apresenta as tarefas que fazem parte da atividade Planejar Medio:

Veremos a seguir, detalhadamente, cada uma das tarefas da atividade Planejar Medio.

11

a) Identificar e priorizar as necessidades de informao

As necessidades de informao podem ser identificadas a partir de diversas fontes:

Avaliaes dos Riscos;

Restries e Premissas de Projeto;

2015 - AIEC - Associao Internacional de Educao Continuada

10
120 Engenharia de Software II | Unidade 01

Tecnologias emergentes;

Critrios de Aceitao de Produto;

Requisitos Externos;

Experincia.

Avaliaes dos Riscos;

As avaliaes dos riscos inerentes ao projeto podem apontar para necessidades de informao
relacionadas a requisitos, tecnologias, processos, custo e cronograma.

Restries e Premissas de Projeto;

As restries e premissas de um projeto tipicamente influenciam e direcionam aes e decises,


sejam em nvel gerencial ou tcnico. Quando premissas e restries existem e no so observadas, o
sucesso do projeto pode ser comprometido necessidades de informao podem ser obtidas a partir
desta anlise.

Tecnologias emergentes;

Quando o alcance de objetivos do projeto depende da utilizao de tecnologias especficas, a


efetividade de tais tecnologias pode ser considerada uma necessidade de informao.

Critrios de Aceitao de Produto;

Os clientes podem impor critrios de aceitao do produto de software a ser desenvolvido. Quando
h dvidas sobre a capacidade de cumprir os critrios de aceitao definidos, o grau de satisfao de
tais critrios pode ser interpretado como uma necessidade de informao.

Requisitos Externos;

Diversas necessidades de informao esto relacionadas a requisitos externos ao projeto e que tem
um profundo grau de influncia sobre o mesmo.

2015 - AIEC - Associao Internacional de Educao Continuada

11
120 Engenharia de Software II | Unidade 01

Experincia.

A equipe de um projeto pode utilizar da sua experincia em projetos anteriores para identificar reas
potenciais de problemas e as mesmas podem dar origem a necessidades de informao.

12

As necessidades de informao podem ser organizadas em categorias. O PSM define 7 categorias. Tais
categorias auxiliam na seleo das medies apropriadas. O PSM apresenta um conjunto de medidas
amplamente utilizadas no mercado, resultado da experincia de diversos projetos. A tabela abaixo
apresenta alguns exemplos:

CATEGORIAS CONCEITOS MENSURVEIS POSSVEIS MEDIES

Grau de alcance dos marcos do Datas dos marcos do projeto


projeto
Requisitos mapeados
Performance no caminho crtico do
Prazo e progresso projeto Requisitos testados

Progresso de cada unidade de Incidentes abertos


trabalho Incidentes fechados

Esforo do pessoal Esforo em desenvolvimento

Desempenho Financeiro Nvel de experincia


Recursos e Custos
Recursos de ambiente e de suporte Oramento

Custo

Tamanho fsico e estabilidade Tamanho do banco de dados

Tamanho e Tamanho funcional e estabilidade Componentes


Estabilidade do
Produto Interfaces

Linhas de cdigo

Nvel de correo funcional Defeitos


Qualidade do
Manutenibilidade Tempo de resposta
Produto
Eficincia Tempo de recuperao

2015 - AIEC - Associao Internacional de Educao Continuada

12
120 Engenharia de Software II | Unidade 01

Portabilidade

Usabilidade

Confiabilidade

Nvel de compliance do processo Produtividade


Performance do
Eficincia do processo Defeitos no percebidos
Processo
Efetividade do processo Retrabalho

Nvel de sustentabilidade da Cobertura dos requisitos


Eficcia da tecnologia
Tecnologia Mudanas na baseline
Nvel de volatilidade da tecnologia

Feedback do cliente ndices de satisfao


Satisfao do
Suporte ao cliente Requisies de suporte
Cliente
Durao do suporte

Aps a categorizao, importante priorizar as necessidades de informao de forma a garantir que o


programa de medies trate aquelas necessidade que possuem o maior potencial de impacto nos
objetivos do projeto.

13

O uso de critrios bem definidos para a priorizao promove o consenso das diversas partes envolvidas.
A figura abaixo apresenta um exemplo de necessidades de informao priorizadas:

Necessidades de informao Probabilidade Impacto Exposio


do projeto de ocorrncia relativo do Projeto
Cronograma crtico 1.0 10 10.0
Restries de oramento 1.0 10 10.0
Requisitos instveis 1.0 8 8.0
Integrao com subcontratados 0.7 6 5.6
Nvel de turnover da equipe 1.0 6 6.0
Nvel de experincia da equipe 1.0 5 5.0
ChangingMission 0.7 6 4.2
Dependncias crticas 0.5 7 3.5
Requisitos de confiabilidade 1.0 3 3.0

2015 - AIEC - Associao Internacional de Educao Continuada

13
120 Engenharia de Software II | Unidade 01

Atividades concorrentes 1.0 2 2.0


COTS (Commercial Off-The-Shelf) Performance 0.2 9 1.8
Estimativas de tamanho questionveis 1.0 1 1.0

14

b) Selecionar e especificar as medies

O mapeamento das informaes identificadas na tarefa anterior (Identificar e Priorizar as Necessidades


de Informao) o ponto de partida para a seleo das medies, conforme ilustra a figura abaixo:

Alm do mapeamento anterior necessrio levar em considerao caractersticas do projeto, tais


como:

Modelo do ciclo de vida do projeto ou a estrutura de atividades que compem o processo de


desenvolvimento.

Estrutura do produto, que pode considerar tarefas a serem realizadas por prestadores de
servios.

Atividades previstas no processo de medio.

Tecnologias utilizadas para a construo do produto de software (ambientes de


desenvolvimento, linguagem de programao, padres de projetos, entre outras).

Padres de engenharia e gerenciamento aplicveis.

Enquanto o conceito mensurvel representa a ideia sobre o que pode ser medido para satisfazer as
necessidades de informao, uma construo mensurvel (measurementconstruct) define a forma como

2015 - AIEC - Associao Internacional de Educao Continuada

14
120 Engenharia de Software II | Unidade 01

o conceito mensurvel ser implementado. Uma construo mensurvel a combinao de medies


base, medies derivadas e indicadores.

15

c) Integrar aos processos do projeto

Durante esta tarefa, os procedimentos para uso das medies so incorporados aos processos dos
projetos:

Procedimentos para coleta e anlise dos dados das medies so desenvolvidos.

As especificaes das medies so documentadas.

Os procedimentos de coleta so integrados aos processos que provm os dados para


medies.

Os procedimentos de anlise e apresentao dos resultados das medies so integrados aos


processos de tomada de deciso.

O Plano de Medies o principal produto da atividade de planejamento das


medies. O objetivo deste artefato definir o conjunto de medies a serem
coletadas, apuradas e analisadas.

16

4.2 - Executar medio

O objetivo desta atividade implementar o Plano de Medies de forma a produzir os produtos que
daro subsdio tomada de deciso da gerncia do projeto.

Compreende as seguintes tarefas:

Coletar e processar dados.

Analisar Dados.

Produzir recomendaes.

A figura abaixo apresenta as tarefas que fazem parte da atividade Planejar Medio:

2015 - AIEC - Associao Internacional de Educao Continuada

15
120 Engenharia de Software II | Unidade 01

A seguir sero apresentadas as tarefas que compem a atividade Planejar Medio.

17

a) Coletar e processar dados

Esta tarefa envolve a coleta dos dados das diversas fontes identificadas no Plano de Medies, prepar-
los para anlise e armazen-los em local acessvel para que sejam analisados.

Em muitos casos os dados podem ser coletados de forma automtica. Ferramentas de anlise de cdigo
podem ser utilizadas para prover mtricas relacionadas qualidade do cdigo desenvolvido.

Ferramentas que automatizam os processos de testes tambm podem fornecer dados para medies.

Em outros casos, dados de medio so coletados de forma manual. Por exemplo, a partir dos artefatos
utilizados para gerenciamento do projeto (Plano de Projeto, Cronograma, entre outros) possvel
coletar os dados para avaliar o desempenho de custos e prazos o que pode sinalizar se o trabalho est
sendo realizado conforme o planejado.

Os problemas mais comuns que podem ocorrer durante a tarefa de coleta de medies so:

Dados no capturados.

Valores capturados de forma errada.

Erros em sistemas de apoio aos processos de medio.

Veja alguns exemplos:

Apache Maven: Permite o building e o gerenciamento de projetos Java.

2015 - AIEC - Associao Internacional de Educao Continuada

16
120 Engenharia de Software II | Unidade 01

PluginJDepend: Realiza a varredura dos diretrios de classes Java e gera mtricas relacionadas
qualidade do cdigo para cada pacote Java. Por exemplo: Nmero de classes e interfaces,
nvel de acoplamento, entre outras.

Plugin PMD: Ferramenta para anlise de cdigo que aponta falhas comuns na programao,
como objetos criados desnecessariamente, variveis no utilizadas, entre outros.

Ferramentas que automatizam os processos de testes

Veja alguns exemplos:

Mantis Bug Tracker: Ferramenta GPL (Licena Pblica Geral) que tem como principal funo
gerenciar defeitos identificados durante o processo de testes de software.

Selenium: Sute de ferramentas open source para execuo de testes funcionais


automatizados em aplicaes web.

RPT - IBM Rational PerformanceTester: Ferramenta da IBM voltada para a automao de


testes de desempenho de aplicativos WEB.

18

b) Analisar dados

Esta tarefa envolve a transformao dos valores de medio base em indicadores que, associados
aos critrios de deciso, devero direcionar as decises de planejamento, bem como aes
corretivas/ preventivas. Esta tarefa realizada a partir dos procedimentos de anlise definidos no
Plano de Medies.

Os indicadores so combinaes de medies base e/ou derivadas. Conforme visto anteriormente, os


indicadores so definidos no Plano de Medies.

A figura abaixo exemplifica a combinao de medies base para a derivao dos indicadores de Idade
dos Defeitos, Situao dos Defeitos e Densidade de Defeitos:

2015 - AIEC - Associao Internacional de Educao Continuada

17
120 Engenharia de Software II | Unidade 01

A ttulo de exemplo, a medio base Data de Fechamento do Defeito gera as medies derivadas
Idade do Defeito (tempo em que o defeito est aberto) e Quantidade acumulada de defeitos
fechados. Os grficos apresentam a viso dos indicadores no tempo:

Para a anlise do indicador DefectAging (Idade do Defeito), temos em 3 semanas de projeto


um volume de 80 defeitos em aberto. medida que as semanas passam possvel notar uma
reduo no valor do indicador, o que demonstra que no decorrer do tempo os defeitos foram
tratados pela equipe.

Para a anlise do indicador Defect Status (Situao do Defeito) possvel observar que o
volume de defeitos fechados aumentou no decorrer do tempo, o que demonstra tambm que
os defeitos foram tratados pela equipe.

19

Quando necessrio, tcnicas alternativas de anlise podem ser utilizadas. A figura abaixo apresenta os 3
tipos comuns de anlise utilizadas para dar suporte a tomada de deciso:

2015 - AIEC - Associao Internacional de Educao Continuada

18
120 Engenharia de Software II | Unidade 01

Estimativa

A Anlise de Estimativa normalmente inicia a partir de dados histricos e premissas do projeto e


produz estimativas de tamanho, esforo, tempo e qualidade. Tipicamente o primeiro tipo de anlise
a ser realizado na maioria dos projetos.

Anlise de viabilidade

A Anlise de Viabilidade avalia a preciso e o quo realsticos so os planos do projeto. Para que um
plano de projeto seja vivel, necessrio que os elementos individuais deste plano sejam
tecnicamente reais e alcanveis.

Anlise de performance

A Anlise de Performance determina se o andamento do projeto est de acordo com o plano


estabelecido. Mesmo que um projeto tenha iniciado com um bom planejamento, se o desempenho
inicial se desvia do plano, as razes para ocorrncia deste desvio devem ser estudadas e aes
corretivas aplicadas.

20

c) Produzir recomendaes

2015 - AIEC - Associao Internacional de Educao Continuada

19
120 Engenharia de Software II | Unidade 01

Esta tarefa envolve a formulao de recomendaes e a comunicao das mesmas, juntamente com o
resultado da anlise, a todos os interessados.

Pode resultar:

Em uma avaliao global do projeto.

Na identificao de problemas especficos, riscos e perda de informao.

Em recomendaes que englobam aes alternativas (incluindo possveis vantagens e


desvantagens na execuo das mesmas).

No apontamento de questes importantes a serem tratadas no decorrer do projeto.

21

4.3 - Avaliar medio

O objetivo desta atividade avaliar e promover a melhoria contnua do processo de medio.

Compreende as seguintes tarefas:

Avaliar Medies

Avaliar o Processo de Mensurao

Atualizar a Base de Experincia

Identificar e Implementar Melhorias

A figura abaixo apresenta as tarefas que fazem parte da atividade Avaliar Medio:

2015 - AIEC - Associao Internacional de Educao Continuada

20
120 Engenharia de Software II | Unidade 01

AVALIAR MEDIES

Esta tarefa envolve a avaliao dos produtos do processo de medio: medies base, medies
derivadas, indicadores e resultados das anlises. Esta avaliao deve ser realizada com base em
critrios pr-estabelecidos, entre eles:

Utilizao dos produtos do processo de medio.

Confiabilidade dos resultados da mensurao.

Atendimento das necessidades de informao.

Acurcia da mensurao (implementao da medio versus especificao da medio).

Confiabilidade da mensurao (resultados consistentes observados em execues repetidas


do processo de mensurao).

AVALIAR O PROCESSO DE MENSURAO

Esta tarefa envolve a avaliao do processo de mensurao conforme as seguintes perspectivas:

Performance: Consiste na avaliao das entradas, sadas e dos efeitos do processo de


mensurao.

Conformidade: Consiste na comparao do processo de mensurao definido (especificado)


com o executado.

Maturidade: Consiste na comparao do processo de mensurao da organizao com


processos semelhantes de outras organizaes.

2015 - AIEC - Associao Internacional de Educao Continuada

21
120 Engenharia de Software II | Unidade 01

ATUALIZAR A BASE DE EXPERINCIA

Esta tarefa envolve o armazenamento e a atualizao da base de experincias da organizao com


lies aprendidas obtidas com o uso do processo de mensurao. Uma srie de artefatos podem fazer
parte desta base de experincias, entre eles:

Planos de medio, polticas, procedimentos.

Definies das medies base e derivadas.

Tcnicas de verificao dos dados.

Pesquisas de satisfao de clientes.

Relatrios de anlise de performance.

Relatrios de auditorias do processo de mensurao.

Aes corretivas e/ou preventivas.

IDENTIFICAR E IMPLEMENTAR MELHORIAS

Esta tarefa envolve a identificao de melhorias especficas que podem ser implementadas no
processo de mensurao vigente, bem como nos projetos atualmente em execuo e futuros.
Tipicamente, as melhorias podem ser aplicadas:

Nas definies das medies.

Nas tcnicas de anlise.

Nos procedimentos de coleta e processamento dos dados.

Em ferramentas que do suporte aos processos.

Nos procedimentos de reporte e comunicao de resultados.

22

4.4 - Estabelecer e sustentar comprometimento

2015 - AIEC - Associao Internacional de Educao Continuada

22
120 Engenharia de Software II | Unidade 01

O objetivo desta atividade garantir o devido apoio organizacional ao processo de mensurao como
um todo, envolvendo o fornecimento de recursos e infraestrutura.

Compreende as seguintes tarefas:

Obter Comprometimento Organizacional.

Definir Responsabilidades.

Prover Recursos.

Rever Progresso do Programa de Medio.

A figura abaixo apresenta as tarefas que fazem parte da atividade Avaliar Medio:

OBTER COMPROMETIMENTO ORGANIZACIONAL

A implementao de qualquer processo normalmente requer uma mudana cultural na organizao


e tipicamente as mudanas so recebidas com certa ansiedade. O sucesso da implementao de
processos de mensurao est diretamente relacionado ao nvel de comprometimento de todos os
envolvidos. Esta tarefa envolve desenvolver o suporte ao processo de mensurao em todos os nveis
dentro da organizao: gerencial e tcnico.

DEFINIR RESPONSABILIDADES

Esta tarefa envolve a definio das responsabilidades dos envolvidos no processo de mensurao,
conforme tamanho e estrutura organizacional.

2015 - AIEC - Associao Internacional de Educao Continuada

23
120 Engenharia de Software II | Unidade 01

PROVER RECURSOS

Esta tarefa envolve a definio de quais recursos so necessrios ao processo de mensurao como
um todo:

Treinamentos em processos e ferramentas.

Contratao de consultorias de apoio ao processo de mensurao.

Aquisio e/ ou personalizao de ferramentas de suporte, configurao e armazenamento.

REVISAR O PROGRESSO DO PROGRAMA DE MEDIO

Um programa de medio pode ser entendido como uma iniciativa planejada, executada e
monitorada para a implantao de processos de mensurao. A implantao de um programa de
medio pode ser feita de forma incremental, conforme a maturidade e a experincia adquiridas pela
organizao como um todos nos diversos nveis gerenciais e tcnicos.

Esta tarefa envolve a reviso do programa de medio, conforme sua execuo no tempo.

23

A experincia demonstra que alguns fatores contribuem para o sucesso da implantao de um


programa de medio, entre eles:

Iniciar a implantao a partir de poucas medies que endeream necessidades de informao


chave da organizao.

Prover o treinamento adequado s equipes diretamente responsveis pelas atividades do


processo de mensurao.

Demonstrar os benefcios do processo de mensurao e como o mesmo pode dar suporte e


agregar valor aos projetos e processos da organizao.

Minimizar os custos.

Maximizar a comunicao entre projetos e equipes, nos diversos nveis.

2015 - AIEC - Associao Internacional de Educao Continuada

24
120 Engenharia de Software II | Unidade 01

24

RESUMO
As medies possuem um papel de grande importncia nas organizaes: atravs do uso correto deste
instrumento ser possvel saber se a organizao caminha em direo ao alcance de seus objetivos. Na
engenharia de software, o uso das medies permite que aes corretivas e preventivas sejam tomadas
no momento certo, sempre com o objetivo de promover o alcance de bons resultados.

Diversos padres, normas e recomendaes internacionalmente conhecidos abordam o assunto


medies. O PSM (Practical Software Measurement) uma abordagem resultante de anos de
experincia na implantao de processos de medio em organizaes. O Modelo do Processo de
Medio (Measurement Process Model) apresenta um framework para a implementao das medies
em projetos atravs da execuo das seguintes atividades:

Planejar Medio.

Executar Medio.

Avaliar Medio.

Estabelecer e Sustentar Compromisso.

durante a realizao destas tarefas que as necessidades de informao so estudadas de forma a


garantir que a seleo das medies seja direcionada aos resultados que a organizao bem como seus
projetos querem alcanar. Com a execuo do processo de medies nos projetos, os resultados so
analisados e melhorias podem ser realizadas tanto em nvel de projeto, quanto organizacional.
Naturalmente, medida que a organizao evolui seu negcio, o prprio processo de medies tambm
deve evoluir.

UNIDADE 1 MEDIO E ANLISE


MDULO 2 - MEDIES EM PROJETOS
01

1 - AVALIAES DA QUALIDADE DE SOFTWARE


Diante de um cenrio competitivo, com mudanas tecnolgicas constantes, negcio e clientes cada vez
mais exigentes, trabalhar com maior produtividade e qualidade passa a ser pr-requisito para
organizaes que desejam obter bons resultados.

A qualidade de software como rea de conhecimento da engenharia de software possui um papel


fundamental e que muitas vezes se torna fator de sucesso dos projetos. A seguir veremos dois casos
para anlise e reflexo.

2015 - AIEC - Associao Internacional de Educao Continuada

25
120 Engenharia de Software II | Unidade 01

Caso 1 Cratera em Marte

Imagem capturada em http://www.nasa.gov/mission_pages/mgs/index.html#.VmmX1UorLDe.

Imagem de uma cratera vista no planeta Marte


Fonte: site da NASA

Mars Surveyor '98 era um programa da NASA (National Aeronautics and Space Administration),
agncia norte-americana responsvel por projetos na rea espacial. A Mars Surveyor '98 Lander foi
uma sonda construda como parte de do programa Mars Surveyor '98. O objetivo era que a sonda
pousasse no solo do planeta Marte e, a partir da, estudos do solo do planeta poderiam ser
realizados. A sonda foi lanada em 03/01/1999 e em 03/12/1999 entrou na rbita de Marte os
ltimos sinais da sonda foram enviados logo aps este fato. Estudos realizados por especialistas da
agncia indicaram que um erro de software foi a provvel causa da falha da misso: aps entrar na
rbita de Marte, as vibraes causadas pela aproximao do solo foram interpretadas pelo software,
que desligou de forma prematura os dispositivos que tinham por funo retardar a descida da sonda.
Resultado: A sonda seguiu em queda livre por aproximadamente 40 metros e foi destruda na queda.

02

Imagem capturada em: (http://www.esa.int/Our_Activities/Launchers/Launch_vehicles/Ariane_5).

Caso 2: Ariane

Ariane
Fonte: site da ESA

2015 - AIEC - Associao Internacional de Educao Continuada

26
120 Engenharia de Software II | Unidade 01

O Ariane 5 foi um foguete construdo sob a superviso da ESA European Space Agency, agncia
espacial europeia, e que fez parte do Programa Ariane. O voo inaugural do Ariane 5 foi em
04/11/1996. Logo aps a decolagem, o foguete se desvia de sua rota original e aciona os dispositivos
de autodestruio. Em torno de 40 segundos aps a decolagem, uma exploso destruiu o foguete que
levava uma carga avaliada em US$ 500 milhes. Aps a anlise de especialistas, concluiu-se que um
erro de software causou a destruio do foguete.

03

Ambos os casos nos mostram que:

Problemas em processos e produtos de software podem significar o fracasso ou sucesso de


um projeto.

O foco e o investimento em Qualidade de Software muito importante para a obteno de


bons resultados a nvel de projeto e da prpria organizao como um todo.

As avaliaes da qualidade de um software podem ser realizadas de forma automatizada o que acelera
o processo de verificao do alcance da qualidade desejada.

A medio de software se dedica a derivar um valor numrico para algum atributo de um produto de
software ou de um processo de software (SOMERVILLE, 2007).

O uso de um processo de mensurao, no qual os dados de software e de projeto so devidamente


coletados e analisados, pode prover informaes importantes sobre a qualidade de um software, bem
como dos processos em execuo na organizao, sejam eles tcnicos, de suporte ou gesto.

Conforme visto anteriormente, as mtricas de software podem influenciar decises de gerenciamento:

Medies de predio e controle

2015 - AIEC - Associao Internacional de Educao Continuada

27
120 Engenharia de Software II | Unidade 01

04

2 - MEDIES E A GERNCIA DE PROJETOS


Em paralelo execuo dos processos de software, esto os processos de medio. A partir de como os
processos de software so executados, possvel obter as medies de controle (por exemplo,
produtividade da equipe para a construo de um Ponto de Funo).

Os resultados das medies de controle podem influenciar as decises gerenciais (por exemplo, se uma
equipe improdutiva, aps analisar a causa real da perda de produtividade, o Gerente de Projetos pode
decidir alocar recursos mais experientes para determinadas tarefas).
O produto de software o principal resultado do processo de software. As
medies de predio provm informaes sobre o estado do produto de
software (por exemplo, o nmero de erros apurados para determinado
perodo). Os resultados destas medies podem tambm influenciar a
tomada de deciso gerencial (por exemplo, um nmero elevado de defeitos
em aberto em data prxima entrega do produto, pode levar o Gerente de
Projetos a negociar a postergao da data de entrega para o cliente).

As medies auxiliam a gerncia de projetos:

No acompanhamento dos objetivos do projeto.

Na tomada de deciso.

Na identificao antecipada de problemas e na definio de aes que visam corrigir os


mesmos.

Na comunicao do status e dos resultados.

05

3 - MEDIES EM PROJETOS DE SOFTWARE


O uso das medies pela organizao e seus projetos iniciada a partir do Plano de Medies o
principal produto de trabalho da atividade Planejar Medies.

A estrutura do Plano de Medies pode contemplar as seguintes informaes:

Introduo

Define o objetivo do Plano de Medies estabelecido.

Definies, Acrnimos e Abreviaturas

2015 - AIEC - Associao Internacional de Educao Continuada

28
120 Engenharia de Software II | Unidade 01

Estabelece termos referenciados, bem define a estrutura para apresentao da medio.

Papis e Responsabilidades

Apresenta papis e responsabilidades dos profissionais envolvidos com o processo de medio, sejam
eles integrantes de reas estratgicas, tticas ou operacionais.

Recursos Tecnolgicos

Apresenta as ferramentas de apoio ao processo de medio, bases de dados e repositrios


organizacionais e/ou de projetos.

Objetivos Estratgicos

Apresenta os objetivos estratgicos e as medies relacionadas com os mesmos.

Medies

Apresenta a especificao das medies.

Plano de Comunicao

Apresenta os meios, os responsveis pelo reporte global de resultados das medies, bem como os
interessados nos resultados.

06

A tabela abaixo apresenta um modelo (exemplo) para a especificao das medies de projeto:

Medio: Nome da medio

Necessidade de Informao Necessidade que motivou a criao da medio.

Objetivo Estratgico Breve descrio do objetivo estratgico relacionado medio.

Objetivo da Medio Descrio do objetivo da medio de que forma a medio


contribui para o atendimento da necessidade de informao e/
ou alcance do objetivo estratgico.

Fontes de Coleta Referncia aos repositrios, ferramentas e/ou documentos onde


so coletados os dados base para a apurao da medio.

Frmula Frmula de clculo da medio.

2015 - AIEC - Associao Internacional de Educao Continuada

29
120 Engenharia de Software II | Unidade 01

Coleta dos Dados Responsvel: Profissional ou papel responsvel pela coleta dos
dados da medio.

Periodicidade: Periodicidade em que realizada a coleta dos


dados base da medio.

Procedimento: Atividades que fornecem os insumos para a


apurao da medio.

Apurao dos Dados Responsvel: Profissional ou papel responsvel pelo clculo da


medio, a partir da frmula definida.

Periodicidade: Periodicidade em que realizada a apurao.

Procedimento: Atividades para a obteno dos dados e clculo da


medio.

Perodo: Perodo de tempo abrangido pela apurao. Por


exemplo: Mensal, onde a apurao dever ocorrer com dados
coletados no perodo de um ms.

Anlise Responsvel: Profissional ou papel responsvel pela anlise do


valor apurado para a medio.

Periodicidade: Periodicidade em que realizada a anlise do


valor apurado para a medio.

Instrues: Instrues de apoio anlise do valor apurado para a


medio. Pode apresentar exemplos de possveis causas de
desvios e aes gerenciais aplicveis.

Resultado: Produtos de trabalho onde ser apresentado o valor


apurado, os resultados da anlise, bem como as aes gerenciais
aplicveis.

Unidade de Medida Unidade de medida da medio.

Meta Valor considerado ideal para a medio. Conforme maturidade


do gerenciamento de processos da organizao poder ser
definida uma faixa de valores aplicveis, que comportam limites
de controle e de especificao.

Nvel de Acesso Profissionais ou papis que possuem acesso aos dados da


medio.

2015 - AIEC - Associao Internacional de Educao Continuada

30
120 Engenharia de Software II | Unidade 01

Local de Armazenamento Local de armazenamento do valor apurado para a medio.

As prximas sees apresentam exemplos prticos das informaes que sero base para elaborao do
Plano de Medies. Tais informaes so definidas no contexto do Modelo do Processo de Medio,
descrito no mdulo anterior.

07

3.1. NECESSIDADES DE INFORMAO

As necessidades de informao so necessidades que motivaram a criao da medio e que


normalmente esto ligadas aos objetivos estratgicos da organizao.

Objetivos estratgicos so objetivos mensurveis; algo desejvel quando visto a partir de uma
perspectiva de negcio.

Exemplos prticos:

Melhorar as estimativas dos projetos

Aumentar o lucro

Reduzir o custo operacional

Exemplos de necessidades de informao:

Avaliar e aumentar a preciso das estimativas.

Identificar a eficcia dos treinamentos ministrados.

Garantir a eficcia das revises tcnicas.

Demonstrar a qualidade nos servios prestados aos clientes.

Identificar nvel de conformidade dos projetos aos processos.

Avaliar e melhorar a produtividade.

Minimizar a ociosidade da equipe tcnica.

Identificar a causa dos desvios dos prazos acordados na entrega de produtos.

2015 - AIEC - Associao Internacional de Educao Continuada

31
120 Engenharia de Software II | Unidade 01

Determinar se o projeto ser concludo conforme prazos e custos estimados.

08

3.2. CONCEITO MENSURVEL

O conceito mensurvel uma ideia sobre entidades que podem ser medidas de forma a satisfazer as
necessidades de informao.

Exemplos prticos:

NECESSIDADE DE INFORMAO CONCEITO MENSURVEL

Avaliar e aumentar a preciso das estimativas Nvel de preciso das estimativas (planejado
versus realizado).

Nvel de atendimento dos prazos acordados.

Identificar a eficcia dos treinamentos Nvel de atendimento do plano de treinamento.


ministrados

Garantir a eficcia das revises tcnicas Retrabalho em artefatos que j passaram por
reviso tcnica.

Cumprir o oramento Desempenho Financeiro

Demonstrar a qualidade nos servios prestados Satisfao do cliente.


aos clientes

Demonstrar a qualidade dos produtos entregues Nvel de qualidade do produto entregue

Identificar nvel de conformidade dos projetos Aderncia ao processo.


aos processos

Avaliar e melhorar a produtividade Produtividade da equipe em determinada


tecnologia.

Minimizar a ociosidade da equipe tcnica Nvel de alocao de recursos em projetos.

Identificar a causa dos desvios dos prazos Nvel de atendimento dos prazos acordados.
acordados na entrega de produtos

Determinar se o projeto ser concludo Nvel de atendimento dos prazos acordados.


conforme prazos e custos estimados

2015 - AIEC - Associao Internacional de Educao Continuada

32
120 Engenharia de Software II | Unidade 01

Nvel de atendimento dos requisitos acordados.

09

3.3. CONSTRUO MENSURVEL

A construo mensurvel a formalizao do conceito mensurvel que especifica exatamente o que


ser medido e como os dados sero combinados de forma a satisfazer as necessidades de
informao.

A figura abaixo ilustra em detalhes a estrutura da construo mensurvel:

10

Exemplo prtico: Produtividade

2015 - AIEC - Associao Internacional de Educao Continuada

33
120 Engenharia de Software II | Unidade 01

Construo Mensurvel

Necessidade de Informao Avaliar e melhorar a produtividade

Conceito Mensurvel Produtividade

Atributos Esforo em horas

Tamanho em pontos de funo

Medies Base Esforo = quantidade de horas realizadas no projeto.

Tamanho = quantidade de pontos de funo do produto de


software

Mtodo de Medio Dividir Tamanho por Esforo

Medio Derivada Produtividade do Projeto

Indicador IDCProd ndice de Produtividade

Modelo de Anlise Comparar valor apurado meta estabelecida.

Critrio de Deciso Caso o valor de produtividade do projeto seja maior do que


a produtividade planejada, tomar as seguintes aes:

2015 - AIEC - Associao Internacional de Educao Continuada

34
120 Engenharia de Software II | Unidade 01

Avaliar a causa raiz do aumento de esforo para o


projeto especfico.

Registrar as lies aprendidas.

Outros exemplos:

Exemplo 2

Construo Mensurvel

Necessidade de Informao Identificar a causa dos desvios dos prazos acordados na


entrega de produtos

Conceito Mensurvel Nvel de atendimento dos prazos acordados

Atributos Produtos Entregues no Prazo

Entregas Planejadas

Medies Base Produtos Entregues no Prazo = quantidade de produtos


com entrega realizada ao cliente que atenderam os
prazos acordados.

Entregas Planejadas = quantidade de entregas


planejadas.

Mtodo de Medio Dividir a quantidade de produtos entregues no prazo pela


quantidade de entregas planejadas

Medio Derivada Percentual de atendimento dos Prazos de Entrega

Indicador ATDPrazo

Modelo de Anlise O valor ideal para fins de anlise 100%. Quanto maior o
valor para esse indicador, melhor o cumprimento das
entregas acordadas com o Cliente. Valores abaixo do
percentual definido indicam que os prazos acordados no
foram cumpridos.

Critrio de Deciso Caso o percentual de atendimento dos prazos seja


inferior a 100%:

2015 - AIEC - Associao Internacional de Educao Continuada

35
120 Engenharia de Software II | Unidade 01

Identificar as entregas avaliadas que sofreram


atraso.

Avaliar a causa raiz do atraso nas entregas


identificadas.

Tomar aes corretivas e/ ou preventivas.

Registrar as lies aprendidas.

Exemplo 3

Construo Mensurvel

Necessidade de Informao Demonstrar a qualidade dos produtos entregues

Conceito Mensurvel Nvel de qualidade do produto entregue

Atributos Defeitos Identificados

Tamanho do produto

Medies Base Defeitos Identificados = nmero de defeitos identificados


em um produto que compe uma entrega.

Tamanho do produto = tamanho do produto expresso em


pontos de funo.

Mtodo de Medio Dividir o nmero de defeitos identificados pelo tamanho


do produto.

Medio Derivada Densidade de Defeitos

Indicador DDef

Modelo de Anlise Comparar valor apurado meta estabelecida.

2015 - AIEC - Associao Internacional de Educao Continuada

36
120 Engenharia de Software II | Unidade 01

Critrio de Deciso Caso o valor apurado de DDef incompatvel com a meta


estabelecida:

Identificar os defeitos reportados que


contriburam para o desvio da meta.

Realizar uma anlise de causa e efeito.

Tomar aes corretivas e/ ou preventivas.

Registrar as lies aprendidas.

11

3.4. PROCEDIMENTO DE MENSURAO

O procedimento de mensurao estabelece a dinmica de coleta e organizao dos dados requeridos


para se chegar medio.

Algumas perguntas podem auxiliar na definio de como os dados sero coletados, apurados,
analisados e armazenados:

Qual a frequncia da coleta/apurao/anlise?

Quais os responsveis pela coleta/apurao/anlise?

Como se dar o acesso s informaes da medio?

Existem ferramentas que fornecem os dados a serem apurados?

Existem ferramentas que automatizam o processo de apurao da medio?

Existe uma meta que precisa ser levadas em considerao?

Qual a unidade de medida a ser utilizada? (nmero, percentual, valor relativo, valor absoluto)?

Pontos importantes a serem destacados na coleta dos dados:

Corretude Consistncia

Os dados esto disponveis nas fontes de Os dados disponveis e a apurao


coleta definidas? No tempo adequado? resultante levam a uma anlise correta?
2015 - AIEC - Associao Internacional de Educao Continuada

37
120 Engenharia de Software II | Unidade 01

12

Alguns instrumentos podem ser utilizados para auxiliar a anlise das medies:

a) Diagrama de Causa e Efeito

Tambm conhecido como Diagrama de Ishikawa ou Diagrama de Espinha de Peixe, auxilia na


identificao das causas razes de um problema ou efeito em um processo.

A figura abaixo apresenta um exemplo desta ferramenta:

Diagrama de Causa e Efeito

As causas podem ser enquadradas em categorias, conforme a necessidade.

13

b) Diagrama de Pareto

Conforme o Princpio de Pareto, 80% das consequncias so decorrentes de 20% das causas. O
Diagrama de Pareto o grfico de colunas que demonstra que diferena relativa de importncia de
diferentes grupos de dados, auxiliando na priorizao do que significativo.

A figura abaixo apresenta um exemplo desta ferramenta:

2015 - AIEC - Associao Internacional de Educao Continuada

38
120 Engenharia de Software II | Unidade 01

14

c) Grfico de Pizza

O grfico dividido em pedaos que demonstram uma proporo numrica.

A figura abaixo apresenta um exemplo desta ferramenta:

15

d) Grfico de Linhas

Este grfico permite a exibio de uma srie de dados como um conjunto de pontos conectados por
uma linha.

A figura abaixo apresenta um exemplo desta ferramenta:

2015 - AIEC - Associao Internacional de Educao Continuada

39
120 Engenharia de Software II | Unidade 01

16

3.5. ESPECIFICAO DA MEDIO

A tabela abaixo exemplifica a especificao de medio relacionada a produtividade:

Medio: Produtividade do Projeto (PRDproj)

Necessidade de Informao Aumentar a produtividade.

Objetivo da Medio Avaliar a produtividade realizada no projeto, conforme tecnologia


envolvida.

Fontes de Coleta Project Server (soluo da Microsoft para gerenciamento do


portflio de projetos).

Planilha de estimativas de tamanho do projeto

Frmula PRDproj = Esforo total do projeto / tamanho total do produto

Onde:

Esforo total do projeto = esforo realizado no projeto.

Tamanho total do produto = quantidade de pontos de


funo

Coleta dos Dados Responsvel: Gerente de Projeto e equipe tcnica

2015 - AIEC - Associao Internacional de Educao Continuada

40
120 Engenharia de Software II | Unidade 01

Coleta do Esforo: Obter as horas realizadas da equipe do projeto


(timesheet) referentes ao esforo despendido nas atividades
registradas no Cronograma.

Coleta do Tamanho: Obter o tamanho do produto medido em


pontos de funo, a partir da Planilha de Estimativas de Tamanho
do Projeto.

Apurao dos Dados Responsvel: Gerente do Projeto

Periodicidade: Ao final do projeto

Procedimento: Manual, calculado pelo Gerente de Projetos

Anlise A produtividade realizada deve ser comparada com a


produtividade planejada para o projeto. Um valor de produtividade
apurado maior do que a produtividade planejada indica que o
projeto realizou maior esforo para completar o projeto do que foi
planejado.

Unidade de Medida Horas por ponto de funo

Meta Conforme base histrica definida para a tecnologia utilizada

Nvel de Acesso Gerentes de Projetos

Gerente de Ncleo de Desenvolvimento

Local de Armazenamento Painel de Controle de Medies do Projeto

Painel de Controle de Medies do Ncleo de Desenvolvimento de


Sistemas

17

A tabela abaixo exemplifica a especificao de medio relacionada ao alcance dos prazos:

Medio: Nvel de atendimento dos prazos acordados (ATDPrazo)

Necessidade de Informao Avaliar e aumentar a preciso das estimativas.

Objetivo da Medio Avaliar os desvios nos prazos de entrega de produtos.

2015 - AIEC - Associao Internacional de Educao Continuada

41
120 Engenharia de Software II | Unidade 01

Fontes de Coleta Project Server (soluo da Microsoft para gerenciamento do portflio


de projetos).

Relatrio de Entregas Realizadas (viso dos marcos e entregas


realizadas e homologadas pelo cliente).

Frmula ATDPrazo = Produtos Entregues no Prazo / Entregas Planejadas

Onde:

Produtos Entregues no Prazo = quantidade de produtos com


entrega realizada ao cliente que atenderam os prazos
acordados.

Entregas Planejadas = quantidade de entregas planejadas

Coleta dos Dados Responsvel: Gerente de Projeto e equipe tcnica

Coleta dos Produtos Entregues no Prazo: A partir do Relatrio de


Entregas Realizadas, obter as entregas e as datas realizadas para o
perodo avaliado.

Coleta das Entregas Planejadas: A partir do Cronograma do Projeto,


obter os prazos planejados para cada entrega do perodo avaliado.

Apurao dos Dados Responsvel: Gerente do Projeto

Periodicidade: Mensal

Procedimento: Manual, calculado pelo Gerente de Projetos

Anlise O valor ideal para fins de anlise a meta definida. Quanto maior o
valor para esse indicador, melhor o cumprimento das entregas
acordadas com o Cliente. Valores abaixo do percentual definido
indicam que os prazos acordados no foram cumpridos.

recomendado avaliar se pendncias de especificao de requisitos


ou validao de requisitos por parte dos clientes influenciaram o
escopo, o esforo da equipe e, por consequncia, afetaram os prazos
acordados.

recomendado avaliar o ndice de produtividade da equipe apurado


nos perodos em que ocorreram os atrasos nas entregas.

2015 - AIEC - Associao Internacional de Educao Continuada

42
120 Engenharia de Software II | Unidade 01

O replanejamento das entregas uma das possveis aes gerenciais a


serem tomadas.

Unidade de Medida Percentual (%)

Meta 100%

Nvel de Acesso Gerentes de Projetos

Coordenao de Negcios

Gerente de Ncleo de Desenvolvimento de Sistemas

Local de Armazenamento Painel de Controle de Medies do Projeto

Painel de Controle de Medies do Ncleo de Desenvolvimento de


Sistemas

18

A tabela abaixo exemplifica a especificao de medio relacionada ao desvio de oramento:

Medio: Desvio de Oramento (DESOrc)

Necessidade de Informao Cumprir o oramento.

Objetivo da Medio Avaliar os desvios entre o custo realizado e o custo planejado.

Fontes de Coleta Ferramenta SAP (soluo integrada de gesto empresarial da SAP).

Frmula DESOrc = ((Gastos realizados / Gastos planejados) - 1)*100

Onde:

Gastos realizados = Custo realizado do servio prestado +


Despesas Administrativas.

Gastos Planejados = Custo planejado do servio prestado +


Despesas Administrativas planejadas.

Coleta dos Dados Responsvel: Gerente de Projeto

2015 - AIEC - Associao Internacional de Educao Continuada

43
120 Engenharia de Software II | Unidade 01

Coleta dos Gastos Realizados: Acessar a ferramenta SAP, transao


XP055, o valor total dos gastos realizados no projeto, dentro do
perodo de avaliao.

Coleta dos Gastos Planejados: Acessar a ferramenta SAP, transao


XP055, o valor total dos gastos planejados para o projeto, dentro do
perodo de avaliao.

Apurao dos Dados Responsvel: Gerente do Projeto

Periodicidade: Mensal

Procedimento: Manual, calculado pelo Gerente de Projetos

Anlise O valor ideal 0%.

Valor apurado positivo indica que os gastos realizados so


superiores aos valores planejados.

Valor apurado negativo e margem operacional atendida indicam


que os gastos realizados so menores do que os planejados.

Unidade de Medida Percentual (%)

Meta Entre -3% e 3%

Nvel de Acesso Gerentes de Projetos

Gerente de Ncleo de Desenvolvimento

Local de Armazenamento Painel de Controle de Medies do Projeto

Painel de Controle de Medies do Ncleo de Desenvolvimento de


Sistemas

19

4 - ARMAZENAMENTO DE DADOS DE MEDIO


O armazenamento das informaes do processo de medio permite que dados histricos sejam
mantidos e utilizados. As informaes tipicamente armazenadas so:

2015 - AIEC - Associao Internacional de Educao Continuada

44
120 Engenharia de Software II | Unidade 01

Planos de Medio.

Sries de dados coletados, que podem ser utilizados para armazenar o sumrio dos
resultados representados atravs de grficos e tabelas.

Relatrios de anlise e apresentaes.

No contexto dos projetos, as informaes do processo de medio podem ser armazenadas no prprio
repositrio do projeto, bem como em artefatos utilizados durante o monitoramento e o controle do
projeto, tais como:

Relatrio de Status do Projeto.

Painis de Controle do Projeto.

20

5 - COMUNICAO DOS RESULTADOS DAS MEDIES


Os resultados do processo de medio devem ser comunicados para os respectivos interessados. Os
interessados podem incluir:

Gerncia da rea de desenvolvimento de sistemas.

Gerncia de negcios.

Lderes tcnicos.

Patrocinadores.

Clientes.

Manter os interessados informados dos resultados dos processos de medio no tempo adequado
essencial para que as aes corretivas e/ou preventivas sejam tomadas no momento necessrio.

Os resultados devem ser comunicados de forma clara e de maneira


concisa: os resultados so facilmente compreendidos, fceis de serem
interpretados e claramente relacionados s necessidades de informao.

Exemplos de aes que podem auxiliar no entendimento dos resultados das medies:

Realizar apresentaes didticas para alinhamento dos resultados com os interessados.

Discutir os resultados com os interessados.

2015 - AIEC - Associao Internacional de Educao Continuada

45
120 Engenharia de Software II | Unidade 01

Prover explanaes sobre as medies mapeadas.

Disponibilizar guias para interpretao dos resultados das medies.

Reflexo:

No existem mtricas de software padronizadas e universalmente aplicveis. As organizaes devem


selecionar suas mtricas e analisar as medies baseadas no conhecimento e nas circunstncias
locais.

(SOMMERVILLE, 2007).

21

RESUMO
No existem mtricas de software padronizadas e universalmente aplicveis. As organizaes devem
selecionar suas mtricas e analisar as medies baseadas no conhecimento e nas circunstncias locais.
(SOMMERVILLE, 2007).

As bases de todo processo de medio se formam no estabelecimento deste processo nos projetos e o
grande desafio da implantao das medies em projetos de software faz-la com o maior impacto
positivo possvel.

O Plano de Medies o instrumento de trabalho mais importante na execuo dos processos de


medio em projetos, uma vez que deve estabelecer de forma clara o compromisso da organizao e de
seus diversos nveis com as medies estabelecidas.

Cada medio estabelecida deve ser comunicada de forma nica e consistente. necessrio definir:

O objetivo da medio e a que necessidade de informao a mesma est relacionada.

As responsabilidades de todos os envolvidos no processo de medio.

As fontes e procedimentos de coleta, incluindo referncias s ferramentas que apoiam este


processo.

A relao matemtica que existe entre os dados coletados e que vo fornecer o resultado da
medio.

Os procedimentos de apurao e anlise dos dados das medies.

A unidade de medida, bem como contra que meta ou faixa de valores o resultado da medio
deve ser comparado.

2015 - AIEC - Associao Internacional de Educao Continuada

46
120 Engenharia de Software II | Unidade 01

Os requisitos de segurana dos dados das medies, tais como a definio de que papis na
organizao devem ter acesso at que nvel de informao da medio e o local de
armazenamento dos produtos de trabalho gerados/atualizados.

Os resultados do processo de medio devem ser comunicados de forma eficaz de forma que promova
agregao de valor s decises tomadas nos projetos, bem como a melhoria contnua dos processos da
organizao.

UNIDADE 1 MEDIO E ANLISE


MDULO 3 - ESTIMATIVAS DE SOFTWARE
01

1 - O USO DA ANLISE DE PONTOS DE FUNO


Uma das atividades mais desafiadoras e importantes do desenvolvimento de software a estimativa dos
projetos. A obteno de bons resultados nos projetos est diretamente relacionada realizao das
estimativas adequadas e confiveis.

No escopo das estimativas de software esto:

A estimativa do tamanho do produto de software.

A estimativa do esforo necessrio execuo das atividades previstas para o projeto.

A estimativa de tempo necessrio execuo das atividades previstas para o projeto.

A estimativa do custo do projeto.

A estimativa precisa do tamanho do software o primeiro passo para a obteno de uma estimativa
efetiva. Os resultados das estimativas de esforo so fundamentais para o processo de desenvolvimento
de software, pois seus resultados serviro de insumos para o planejamento financeiro do projeto, bem
como a elaborao do cronograma.

So insumos tpicos para a estimativa de tamanho de software:

Especificaes de requisitos funcionais e no funcionais.

Descrio do escopo do produto.

Solicitao de mudana, com a descrio da melhoria a ser realizada.

Especificao de sistema.

2015 - AIEC - Associao Internacional de Educao Continuada

47
120 Engenharia de Software II | Unidade 01

Produtos de trabalho da fase de projeto do sistema tambm podem ser utilizados para prover
informaes adicionais a serem utilizadas nas estimativas.

02

A mtrica de Pontos de Funo foi concebida como uma medida de tamanho funcional para projetos
de desenvolvimento e de melhoria (manuteno evolutiva) de software. Dekkers (2003) define o
tamanho funcional como Tamanho de um software derivado pela quantificao dos requisitos
funcionais do usurio.

O IFPUG (International Function Point Users Group) ou Grupo Internacional de Usurios de Pontos de
Funo uma entidade sem fins lucrativos que tem por misso promover, aprimorar e incentivar o uso
da Anlise de Pontos de Funo e outras tcnicas de medio de software. este grupo que define as
regras aplicveis Anlise de Pontos de Funo, que so publicadas em um manual conhecido como
CPM Counting Practice Manual.

A utilizao da mtrica de Pontos de Funo considerada uma boa prtica para contratao de
servios de software. A Instruo Normativa SLTI n 4 de 12 de novembro de 2010, recomenda o uso de
mtricas em contratos de projetos de software, restringindo o uso da mtrica de esforo homem-hora.
A Portaria SLTI/MP n 31, de 29 de novembro de 2010, recomenda o uso da mtrica Pontos de Funo
para os rgos integrantes do SISP, bem como a adoo do Roteiro de Mtricas de Software do SISP na
contratao de servios de desenvolvimento e manuteno de solues de software.

O SISP (Sistema de dos Recursos de Tecnologia da Informao) foi institudo pelo Decreto n 1.048 de 21
de janeiro de 1994 e atualizado pelo Decreto n 7.579 de 11 de outubro de 2011, com o objetivo de
organizar a operao, controle, superviso e coordenao dos recursos de informao e informtica da
administrao direta, autrquica e fundacional do Poder Executivo Federal.

03

1.1 - BREVE HISTRICO DA ANLISE DE PONTOS DE FUNO

A tabela abaixo apresenta o histrico da Anlise de Pontos de Funo:

Criao dos fundamentos da Anlise de Pontos de Funo, por Allan Albrecht (IBM). Os
1979
mesmos foram apresentados em uma conferncia do GUIDE (Grupo de Usurios IBM).

1983 Realizao do primeiro curso de Anlise de Pontos de Funo no Brasil (Unysis)

1984 Publicao do primeiro manual da Anlise de Pontos de Funo

1986 Criao da primeira diretoria do IFPUG (International Function Point Users Group)

2015 - AIEC - Associao Internacional de Educao Continuada

48
120 Engenharia de Software II | Unidade 01

1996 Realizao do primeiro exame CFPS (Certified Function Point Specialist) no Brasil

1998 Criao do BFPUG (Brazilian Function Point Users Group)

2004 200 CFPS no Brasil

2007 Publicao do CPM Manual de Prticas de Contagem, verso 4.2.1, em portugus

2010 CPM verso 4.3

04

2 - BENEFCIOS E CARACTERSTICAS DA ANLISE DE PONTOS DE FUNO


Os benefcios obtidos com o uso desta tcnica so diversos, entre eles:

Prov suporte para as estimativas de custos e de recursos.

Permite que estimativas sejam realizadas nas fases iniciais do ciclo de vida de um projeto de
software.

uma forma de medio transparente.

Faz uso de uma linguagem comum entre usurios e desenvolvedores (requisitos).

um fator de normalizao e comparao de softwares.

Permitem que as contagens e estimativas sejam auditveis.

um indicador de qualidade dos projetos.

A Anlise de Pontos de Funo possui as seguintes caractersticas:

Quantifica as funes de um software, sob o ponto de vista do usurio.

independente da tecnologia utilizada para desenvolver o software.

Fornece apoio a anlise de produtividade.

As regras para contagem so objetivas.

2015 - AIEC - Associao Internacional de Educao Continuada

49
120 Engenharia de Software II | Unidade 01

05

2.1. A mtrica Ponto de Funo

O Ponto de Funo uma medida de dimensionamento de software atravs da funcionalidade


implementada em um sistema, sob o ponto de vista do usurio.

A figura abaixo retrata o ciclo de vida de desenvolvimento de um software e apresenta os momentos em


que as funcionalidades podem ser medidas:

A Contagem de Pontos de Funo Indicativa ou Estimada realizada aps a definio do escopo do


projeto ou da melhoria de software. Normalmente baseada em especificaes preliminares de
requisitos.

Contagem de Pontos de Funo Detalhada ou de Referncia realizada aps a homologao dos


requisitos do software por parte dos usurios. Tem como insumo os requisitos funcionais do software,
que podem englobar:

Especificaes de Requisitos Funcionais.

Especificaes de Casos de Uso.

Regras de Negcio.

Documento de Viso do Projeto ou Sistema.

A Contagem de Pontos de Funo Detalhada Final realizada aps a homologao do software


desenvolvido. Esta contagem leva em considerao as funcionalidades entregues para o cliente.

06

3 - PROCEDIMENTO DE CONTAGEM DE PONTOS DE FUNO


A figura abaixo ilustra o procedimento para contagem de pontos de funo:

2015 - AIEC - Associao Internacional de Educao Continuada

50
120 Engenharia de Software II | Unidade 01

Veremos a seguir, com detalhes, cada um dos passos para contagem de pontos de funo.

07

a) Determinar o tipo de contagem

Esta tarefa tem por objetivos a identificao de requisitos funcionais a partir da anlise da
documentao disponvel e a definio do propsito da contagem a ser realizada.

Os tipos de contagem de pontos de funo so:

Contagem de Pontos de Funo de Projetos de Desenvolvimento;

Contagem de Pontos de Funo de Manuteno;

Contagem de Pontos de Funo de Aplicaes.

O propsito da contagem de pontos de funo a ser realizada est diretamente ligado ao tipo de
contagem escolhido, conforme situao.

Contagem de Pontos de Funo de Projetos de Desenvolvimento

a contagem dos pontos de funo em um projeto de desenvolvimento de um software que ainda


no existe, onde so quantificadas as funcionalidades criadas para o novo software.

Contagem de Pontos de Funo de Manuteno

a contagem dos pontos de funo relacionados a uma melhoria a ser aplicada em um software j
existente, sejam as modificaes relacionadas a incluso, alterao e/ ou excluso de funcionalidades.

2015 - AIEC - Associao Internacional de Educao Continuada

51
120 Engenharia de Software II | Unidade 01

Contagem de Pontos de Funo de Aplicaes

a contagem dos pontos de funo relacionados a uma aplicao j instalada, considerando as


funcionalidades atualmente disponveis para os usurios.

08

b) Determinar o escopo e fronteira

Esta tarefa tem por objetivos a definio de quais funcionalidades sero consideradas para fins de uma
contagem em particular, bem a fronteira do software baseada na viso do usurio.

Para contagens do tipo Desenvolvimento, o escopo deve incluir todas as funcionalidades a serem
construdas para o novo software.

Para contagens do tipo Manuteno, o escopo deve incluir as funcionalidades includas, alteradas e/
ou excludas que fazem parte da melhoria.

Para contagens do tipo Aplicao, o escopo pode considerar a totalidade das funcionalidades j
utilizadas pelos usurios.

Entende-se por fronteira do software a interface conceitual que indica o limite entre o software a ser
medido e o mundo exterior.

A fronteira do software est representada na figura abaixo:

2015 - AIEC - Associao Internacional de Educao Continuada

52
120 Engenharia de Software II | Unidade 01

09

A fronteira do software:

definida pela viso do negcio (ponto de vista do usurio).

Delimita que elementos devem ser levados em considerao para fins de contagem.

Pode ser tratada como uma interface pela qual os dados processados pelas transaes
(entradas externas, sadas externas e consultas externas) transitam entre o mundo externo
e o software.

Facilita a identificao de arquivos referenciados pelo software, mas no mantidos pelo


mesmo.

A figura abaixo apresenta um exemplo do conceito de fronteira:

O Sistema de Gesto de Recursos Humanos possui uma importante integrao com o Sistema de Gesto
Financeira. Ambos os sistemas possuem um conjunto de funcionalidades disponveis para os usurios.
Cada um dos sistemas em questo possui suas fronteiras especficas. Por sua vez, o Sistema de Gesto
de Recursos Humanos possui diversos mdulos e ambos tambm possuem fronteiras especficas.

10

c) Contar funes de dados

Esta tarefa tem por objetivo a identificao das funcionalidades fornecidas para os usurios para
satisfazer os requisitos de dados internos e/ ou externos.

2015 - AIEC - Associao Internacional de Educao Continuada

53
120 Engenharia de Software II | Unidade 01

Para a Anlise de Pontos de Funo, os Arquivos de Interface so considerados grupo de dados


logicamente relacionados e no leva em considerao a implementao fsica de tais grupos de dados.

As funes de dados so tratadas como:

Arquivo Lgico Interno (ALI);

Arquivo de Interface Externa (AIE).

Um AIE contado para um software deve ser um ALI em outro software.

A figura abaixo exemplifica os conceitos acima:

Assumindo como escopo da contagem de pontos de funo uma melhoria no Mdulo de Cadastro de
Empregados, as informaes bsicas do empregado (cdigo, nome, data de admisso, CPF) e as
informaes de endereo de empregados so consideradas ALI. Os dados dos benefcios aos quais o
empregado tem direito sero considerados AIE.

Arquivo Lgico Interno (ALI)

Grupos de dados ou informaes de controle logicamente relacionados e reconhecidos pelo usurio,


que so internos fronteira do software. O objetivo de um ALI armazenar dados mantidos por um
ou mais processos elementares do software que ser contada.

Arquivo de Interface Externa (AIE)

Grupos de dados logicamente relacionados que so referenciados pelo software, porm mantidos
externos fronteira do software que est sendo contada. O objetivo de um AIE armazenar dados

2015 - AIEC - Associao Internacional de Educao Continuada

54
120 Engenharia de Software II | Unidade 01

referenciados atravs de um ou mais processos elementares dentro da fronteira do software que est
sendo contada.

11

d) Contar funes transacionais

Um processo elementar pode ser conceituado como a menor atividade que tem um significado para o
usurio do software. Para fins de exemplo, tomar como escopo o Mdulo de Cadastro de Empregados
pode ser considerado processos elementares:

Incluso de Novo Empregado.

Alterao de Empregado.

Excluso de Empregado.

Os processos elementares devem ser realizados na sua totalidade, provendo o objetivo para o qual a
funcionalidade do software foi definida. As funes transacionais representam esses processos
elementares. Temos os seguintes tipos:

Entidade Externa (EE)

um processo elementar que processa os dados ou informaes de controle que entram pela
fronteira do software. O objetivo primrio de uma EE manter um ou mais ALI ou alterar o
comportamento do software.

Podem representar:

Tarefas que criam, atualizam ou apagam dados.

Tarefas que processam informaes de controle.

Exemplos de Entradas Externas.

2015 - AIEC - Associao Internacional de Educao Continuada

55
120 Engenharia de Software II | Unidade 01

Exemplos de entradas externas

So exemplos de Entradas Externas:

Um processo elementar que utiliza uma ou mais telas que mantm um ou mais ALI.

Uma atividade de atualizao (inserir, alterar ou excluir) poder ser considerada uma EE, caso
faam parte de um processo elementar.

Um processo batch que mantm um ou mais ALI (dados ou informaes de controle) devem
atravessar a fronteira do software.

Uma transao utilizada para manter o comportamento do software ou controlar o seu fluxo
de processamento.

Uma transao de entrada que dados que mantm um ALI.

Uma funo de converso de dado no escopo da contagem de um projeto de


desenvolvimento ou de uma manuteno.

12

Sada Externa (SE)

um processo elementar que apresenta dados ou informao de controle para fora da fronteira do
software. O objetivo primrio apresentar informaes para um usurio ou outro software atravs
de um processamento lgico que pode considerar ou no a recuperao de dados ou informaes de
controle.

A lgica de processamento:

CONTM ao menos um clculo matemtico.

CRIA dados derivados.

MANTM ao menos um ALI.

ALTERA o comportamento do software.

So exemplos de Sadas Externas:

Transferncias de dados para outro software, que contenha clculos ou dados derivados.

2015 - AIEC - Associao Internacional de Educao Continuada

56
120 Engenharia de Software II | Unidade 01

Funcionalidades de consulta que fazem manuteno em ALI assim que consultadas.

Dados ou informaes representados de forma grfica (grficos de barras, pizza, entre outros).

Telas de login.

Etiquetas com cdigos de barras.

Relatrios que apresentam dados com clculos ou dados derivados.

Telas que apresentam dados com clculos ou dados derivados.

13

Consulta Externa (CE)

um processo elementar que apresenta dados ou informaes de controle para fora da fronteira do
software. O objetivo primrio apresentar as informaes para os usurios a partir da recuperao
de dados ou informaes de controle de ALI ou AIE.

A lgica de processamento:

NO PODE conter clculos matemticos.

NO PODE criar dados derivados.

NO PODE manter ALI.

NO PODE alterar o comportamento do sistema.

So exemplos de Consultas Externas:

Dados que so recuperados de um ou mais ALI e/ou AIE e apresentados com base em um critrio
especfico de entrada.

Transferncia de dados para outro software, sem que contenha clculos ou dados derivados.

Relatrios de apresentao de dados sem que contenha clculos ou dados derivados.

Telas de apresentao de dados sem que contenha clculos ou dados derivados

2015 - AIEC - Associao Internacional de Educao Continuada

57
120 Engenharia de Software II | Unidade 01

Telas auxiliares ou campos do tipo combo box que apresentam informaes recuperadas de um ALI
ou AIE.

Telas de alterao ou excluso de dados que apresentam o que ser alterado/ removido antes da
ao de alterao/ excluso efetiva.

14

O prximo passo necessrio realizar a classificao das funes de dados e transacionais, que ser
feita conforme o nmero de registros lgicos (arquivos referenciados) e itens de dados.

A figura abaixo apresenta uma referncia para esta classificao:

15

e) Determinar os PFs no ajustados

A partir das informaes identificadas, a prxima etapa realizar o clculo dos pontos de funo no
ajustados, conforme exemplifica a tabela abaixo:

TIPO DE COMPLEXIDADE FUNCIONAL TOTAL COMPLEXIDADE TOTAL TIPO


FUNO FUNO

3 BAIXA x7 = 21

ALI 0 MDIA x 10 = 0 21

0 ALTA x 15 = 0

AIE 2 BAIXA x5 = 10 10

2015 - AIEC - Associao Internacional de Educao Continuada

58
120 Engenharia de Software II | Unidade 01

0 MDIA x7 = 0

0 ALTA x 10 = 0

4 BAIXA x3 = 12

EE 2 MDIA x4 = 8 26

1 ALTA x6 = 6

2 BAIXA x4 = 8

SE 0 MDIA x5 = 0 8

0 ALTA x7 = 0

CE 2 BAIXA x3 = 6

2 MDIA x4 = 8 14

0 ALTA X6= 0

TOTAL DE PONTOS DE FUNO BRUTOS 79

16

f) Determinar o fator de ajuste

O fator de ajuste leva em considerao as caractersticas gerais do software. utilizado para ajustar a
contagem. So elas:

So os aspectos relacionados aos recursos utilizados para a


Comunicao de Dados
comunicao de dados do software.

Refere-se a aplicaes fazem uso de dados ou processamento


Processamento Distribudo
distribudo

Performance Est relacionado ao tempo de resposta do software.

Est relacionado ao nvel de utilizao de equipamentos


Utilizao do Equipamento
necessrio para a execuo do software.

2015 - AIEC - Associao Internacional de Educao Continuada

59
120 Engenharia de Software II | Unidade 01

Est relacionada avaliao do nvel de influncia do volume de


Volume de Transaes transaes no projeto, desenvolvimento, implantao e
manuteno do software.

Est relacionada quantificao do nvel de influncia exercida


Entrada de dados on-line pela utilizao de entrada de dados no modo on-line no
software.

Est relacionada a quantificar o grau de influncia relativo aos


Usabilidade
recursos codificados com vista a tornar o sistema amigvel.

Est relacionada influncia no desenvolvimento do sistema


Atualizao on-line face utilizao de recursos que visem a atualizao dos
Arquivos Lgicos Internos, no modo on-line.

Refere-se quantificao da influncia da complexidade do


Processamento Complexo
processamento no dimensionamento do software.

Refere-se quantificao da influncia do reaproveitamento de


Reutilizao do Cdigo cdigo de um software em outros softwares no
dimensionamento do software.

Est relacionada ao quanto o dimensionamento do software


influenciado pela existncia de recursos que facilitem a
Facilidade de Implantao
implantao do software (uso de planos de implantao,
ferramentas etc.).

Refere-se quantificao do nvel de influncia no software com


relao a procedimentos operacionais automticos que reduzem
Facilidade Operacional
os procedimentos manuais, bem como mecanismos de
inicializao, salvamento e recuperao.

Refere-se anlise da arquitetura do software levando em


Mltiplos Locais considerao as necessidades de instalao do mesmo em
diversos locais.

Refere-se ao nvel de facilidade observada em realizar


Facilidade de Mudanas
manutenes no software.

17

s caractersticas gerais do software sero atribudos pesos que variam de 0 a 5, conforme tabela
abaixo:

2015 - AIEC - Associao Internacional de Educao Continuada

60
120 Engenharia de Software II | Unidade 01

0 Nenhuma influncia

1 Influncia mnima

2 Influncia moderada

3 Influncia mdia

4 Influncia significativa

5 Grande influncia

O prximo passo definir o Nvel de Influncia (NI), que calculado conforme frmula abaixo:

NI = CARACTERSTICAS GERAIS DO SISTEMA

Onde NI (Nvel de Influncia) igual ao somatrio obtido da pontuao das caractersticas do software.

Em seguida necessrio calcular o Fator de Ajuste (FA) conforme frmula abaixo:

FA = (NI * 0,01) + 0,65

Onde FA (Fator de Ajuste) igual ao Nvel de Influncia (NI) multiplicado por 0,01. O resultado dever
ser somado a 0,65.

18

g) Calcular os PFs ajustados

Para o clculo dos pontos de funo de um Projeto de Desenvolvimento, considerar a frmula abaixo:

PF_DESENV = PF_NA * FA

Onde:

PF_DESENV = Quantidade de pontos de funo do Projeto

PF_NA = Quantidade de Pontos de funo no ajustados

FA = Fator de ajuste

2015 - AIEC - Associao Internacional de Educao Continuada

61
120 Engenharia de Software II | Unidade 01

Para o clculo dos pontos de funo de um Projeto de Manuteno, considerar a frmula abaixo:

PF_MANUT = ((PF_INC + PF ALT) * FA_ATU) + (PF_EXC * FA_ANT)

Onde:

PF_MANUT = Quantidade de pontos de funo da Manuteno.

PF_INC = Quantidade de pontos de funo associados s novas funcionalidades que devero


fazer parte do software aps um projeto de manuteno.

PF_ALT = Quantidade de pontos de funo alterados associados s funcionalidades existentes o


software que sero alteradas no projeto de manuteno.

FA_ATU = Fator de ajuste atual.

PF_EXC = Quantidade de pontos de funo associados s funcionalidades existentes no software


que sero excludas no projeto de manuteno.

FA_ANT = Fator de ajuste anterior.

19

Para o clculo dos pontos de funo de uma Aplicao j implantada, considerar a frmula abaixo:

PF_APLIC = PF_NA * FA

Onde:

PF_APLIC = Quantidade de pontos de funo da aplicao j implantada.

PF_NA = Quantidade de Pontos de funo no ajustados.

FA = Fator de ajuste.

Para o clculo dos pontos de funo de uma Aplicao j implantada, a partir dos pontos de funo de
um projeto de desenvolvimento, considerar a frmula abaixo:

PF_APLIC = PF_DESENV (PF_CONV * FA)

Onde:

2015 - AIEC - Associao Internacional de Educao Continuada

62
120 Engenharia de Software II | Unidade 01

PF_APLIC = Quantidade de pontos de funo da aplicao j implantada.

PF_DESENV = Quantidade de pontos de funo do projeto de desenvolvimento

PF_CONV = Quantidade de pontos de funo associados s funcionalidades de converso de


dados dos projetos de desenvolvimento ou de manuteno. Exemplos de funes de converso
incluem:

o Migrao ou carga inicial de dados para popular as novas tabelas criadas (Entradas
Externas).

o Relatrios associados migrao de dados, caso requisitado pelo usurio (Sadas


Externas ou Consultas Externas). preciso observar que os dados carregados em um
processo de migrao no devem ser contados como Arquivos de Interface Externa.

FA = Fator de ajuste

20

Para o clculo dos pontos de funo de uma Aplicao aps um projeto de manuteno, considerar a
frmula abaixo:

PF_APLIC = (PF_NA + PF_INC + PF_ALT_ATUAL PF_ALT_ANT PF_EXC) * FA_ATU

Onde:

PF_APLIC = Quantidade de pontos de funo do software.

PF_NA = Quantidade de Pontos de funo no ajustados.

PF_INC = Quantidade de pontos de funo associados s novas funcionalidades que devero


fazer parte do software aps um projeto de manuteno.

PF_ALT_ATUAL = Quantidade atual de pontos de funo alterados.

PF_ALT_ATUAL = Quantidade anterior de pontos de funo alterados.

PF_EXC = Quantidade de pontos de funo associados s funcionalidades existentes no software


que sero excludas.

FA = Fator de ajuste atual.

2015 - AIEC - Associao Internacional de Educao Continuada

63
120 Engenharia de Software II | Unidade 01

21

RESUMO
A elaborao das estimativas tanto nos projetos de desenvolvimento quanto nas manutenes de
software atividade fundamental e de grande importncia. A estimativa de tamanho um dos insumos
fundamentais para a projeo de custos, esforo e do tempo necessrios para a entrega de um produto
que atenda as necessidades estabelecidas por seus usurios.

Entre os tipos de estimativas existentes, no que se refere ao tamanho do software, destaca-se a Anlise
de Pontos de Funo, amplamente utilizada e discutida.

A Anlise de Pontos de Funo leva em considerao diversas caractersticas inerentes ao software e,


principalmente, o comportamento do mesmo sob o ponto de vista de seus usurios. Todas as
caractersticas que englobam as funcionalidades do software so analisadas e pontuadas conforme
critrios especficos. A partir da anlise e dos clculos inerentes tcnica, possvel obter o tamanho
funcional do software.

UNIDADE 1 MEDIO E ANLISE


MDULO 4 SNAP - SOFTWARE NON-FUNCTIONAL ASSESSMENT PROCESS
01

1 - REQUISITOS NO FUNCIONAIS
Os requisitos funcionais de um sistema descrevem o que o sistema deve fazer. Esses requisitos
dependem do tipo do software que est sendo desenvolvido, dos usurios a que o software se
destina e da abordagem geral considerada pela organizao ao redigir os requisitos (Sommerville,
2007).

Alm dos requisitos funcionais, existem requisitos que no esto diretamente relacionados s funes
especficas de um sistema, tais como:

Quantidade de usurios simultneos que utilizaro software

Volume de transaes dirias realizadas

Forma de identificao do usurio por certificao digital

Tais requisitos so conhecidos como requisitos no funcionais.

2015 - AIEC - Associao Internacional de Educao Continuada

64
120 Engenharia de Software II | Unidade 01

Os requisitos no funcionais orientam e influenciam decises importantes relacionadas ao


desenvolvimento e a implantao de um software, bem como a definio de acordos de nveis de
servios (ANS).

Para fins de referncia sobre os requisitos no funcionais, a norma ISO/IEC 9126:2001, descreve um
modelo de qualidade do produto de software, composto de duas partes:

a) A qualidade interna e externa;

b) A qualidade em uso.

A qualidade interna e externa

A qualidade interna a totalidade das caractersticas do produto de software do ponto de vista


interno. A qualidade interna medida e avaliada com relao aos requisitos de qualidade interna.
Detalhes da qualidade do produto de software podem ser melhorados durante a implementao do
cdigo, reviso e teste, mas a natureza fundamental da qualidade do produto de software
representada pela qualidade interna mantm-se inalterada, a menos que seja reprojetada. A
qualidade externa a totalidade das caractersticas do produto de software do ponto de vista
externo. a qualidade quando o software executado, o qual tipicamente medido e avaliado
enquanto est sendo testado num ambiente simulado, com dados simulados e usando mtricas
externas.

A qualidade em uso

a viso da qualidade do produto de software do ponto de vista do usurio, quando este produto
usado em um ambiente e um contexto de uso especificado. Ela mede o quanto usurios podem
atingir seus objetivos num determinado ambiente e no as propriedades do software em si.

02

A norma ISO/IEC 9126:2001define um modelo de qualidade externa e interna. Ele categoriza os


atributos de qualidade de software em seis caractersticas (funcionalidade, confiabilidade, usabilidade,
eficincia, manutenibilidade e portabilidade) as quais so,por sua vez,subdividida sem
subcaractersticas, que podem ser medidas por meio de mtricas externas e internas.

2015 - AIEC - Associao Internacional de Educao Continuada

65
120 Engenharia de Software II | Unidade 01

Veremos cada uma dessas caractersticas a seguir.

03

a) Funcionalidade: Capacidade do produto de software de prover funes que atendam s


necessidades explcitas e implcitas, quando o software estiver sendo utilizado sob condies
especificadas. composta por cinco subcategorias.

b) Confiabilidade: Capacidade do produto de software de manter um nvel de desempenho


especificado, quando usado em condies especificadas. composta por quatro subcategorias.

c) Usabilidade: Capacidade do produto de software de ser compreendido, aprendido, operado e


atraente ao usurio, quando usado sob condies especificadas. composta por cinco
subcategorias.

d) Eficincia: Capacidade do produto de software de apresentar desempenho apropriado, relativo


quantidade de recursos usados, sob condies especificadas. composta por trs
subcategorias.

e) Manutenibilidade: Capacidade do produto de software de ser modificado. As modificaes


podem incluir correes, melhorias ou adaptaes do software devido a mudanas no ambiente
e nos seus requisitos ou especificaes funcionais. Veja suas subcategorias.

f) Portabilidade: Capacidade do produto de software de ser transferido de um ambiente para


outro. composta por cinco subcategorias.

2015 - AIEC - Associao Internacional de Educao Continuada

66
120 Engenharia de Software II | Unidade 01

Cinco subcategorias

composta pelas seguintes subcategorias:

Adequao: Capacidade do produto de software de prover um conjunto apropriado de


funes para tarefas e objetivos do usurio especificados.

Acurcia: Capacidade do produto de software de prover, com o grau de preciso necessrio,


resultados ou efeitos corretos ou conforme acordados.

Interoperabilidade: Capacidade do produto de software de interagir com um ou mais


sistemas especificados.

Segurana de Acesso: Capacidade do produto de software de proteger informaes e dados,


de forma que pessoas ou sistemas no autorizados no possam l-los nem modific-los e que
no seja negado o acesso s pessoas ou sistemas autorizados.

Conformidade relacionada funcionalidade: Capacidade do produto de software de estar de


acordo com normas, convenes ou regulamentaes previstas em leis e prescries
similares relacionadas funcionalidade.

Confiabilidade -quatro subcategorias

Subcategorias:

Maturidade: Capacidade do produto de software de evitar falhas decorrentes de defeitos no


software.

Tolerncia a falhas: Capacidade do produto de software de manter um nvel de desempenho


especificado em casos de defeitos no software ou de violao de sua interface especificada.

Recuperabilidade: Capacidade do produto de software de restabelecer seu nvel de


desempenho especificado e recuperar os dados diretamente afetados no caso de uma falha.

Conformidade relacionada confiabilidade: Capacidade do produto de software de estar de


acordo com normas, convenes ou regulamentaes relacionadas confiabilidade.

2015 - AIEC - Associao Internacional de Educao Continuada

67
120 Engenharia de Software II | Unidade 01

Usabilidade cinco subcategorias

Subcategorias:

Inteligibilidade: Capacidade do produto de software de possibilitar ao usurio compreender


se o software apropriado e como ele pode ser usado para tarefas e condies de uso
especficas.

Apreensibilidade: Capacidade do produto de software de possibilitar ao usurio aprender sua


aplicao.

Operacionalidade: Capacidade do produto de software de possibilitar ao usurio oper-lo e


control-lo.

Atratividade: Capacidade do produto de software de ser atraente ao usurio.

Conformidade relacionada usabilidade: Capacidade do produto de software de estar de


acordo com normas, convenes, guias de estilo ou regulamentaes relacionadas
usabilidade.

Eficincia - trs subcategorias

Subcategorias:

Comportamento em relao ao tempo: Capacidade do produto de software de fornecer


tempos de resposta e de processamento, alm de taxas de transferncia, apropriados,
quando o software executa suas funes, sob condies estabelecidas.

Utilizao de recursos: Capacidade do produto de software de usar tipos e quantidades


apropriados de recursos, quando o software executa suas funes sob condies
estabelecidas.

Conformidade relacionada eficincia: Capacidade do produto de software de estar de


acordo com normas e convenes relacionadas eficincia.

2015 - AIEC - Associao Internacional de Educao Continuada

68
120 Engenharia de Software II | Unidade 01

Manutenibilidade -Veja suas subcategorias

composta pelas seguintes subcategorias:

Analisibilidade: Capacidade do produto de software de permitir o diagnstico de deficincias


ou causas de falhas no software, ou a identificao de partes a serem modificadas.

Modificabilidade: Capacidade do produto de software de permitir que uma modificao


especificada seja implementada.

Estabilidade: Capacidade do produto de software de evitar efeitos inesperados decorrentes


de modificaes no software.

Testabilidade: Capacidade do produto de software de permitir que o software, quando


modificado, seja validado.

Conformidade relacionada manutenibilidade: Capacidade do produto de software de estar


de acordo com normas ou convenes relacionadas manutenibilidade.

Portabilidade cinco categorias

Subcategorias:

Adaptabilidade: Capacidade do produto de software de ser adaptado para diferentes


ambientes especificados, sem necessidade de aplicao de outras aes ou meios alm
daqueles fornecidos para essa finalidade pelo software considerado.

Capacidade de ser instalado: Capacidade do produto de software para ser instalado em um


ambiente especificado.

Coexistncia: Capacidade do produto de software de coexistir com outros produtos de


software independentes, em um ambiente comum, compartilhando recursos comuns.

Capacidade para substituir: Capacidade do produto de software de ser usado em substituio


a outro produto de software especificado, com o mesmo propsito e no mesmo ambiente.

Conformidade relacionada portabilidade: Capacidade do produto de software de estar de


acordo com normas ou convenes relacionadas portabilidade.

2015 - AIEC - Associao Internacional de Educao Continuada

69
120 Engenharia de Software II | Unidade 01

04

Atualmente, o padro ISO/IEC 25000 SQuaRE (SoftwareProductQualityRequirementsandEvaluation)


organiza o conjunto de normas que tratam, entre outros assuntos, dos requisitos de qualidade de
software. Vrias normas fizeram parte desta reestruturao, entre elas a ISO/IEC 9126:2001.

As caractersticas e subcaractersticas podem ser medidas por meio de mtricas externas e internas.

Conforme o entendimento do IFPUG (InternationalFunction


Point UsersGroup) alm de ser possvel obter o tamanho do
software em termos de requisitos funcionais, tambm
possvel medir o software a partir da avaliao dos requisitos
no funcionais.

A utilizao conjunta dos dois tipos mensurao do tamanho de um software APF (Anlise de Pontos
de Funo) e a estimativa de tamanho baseada nos requisitos no funcionais permite aos profissionais
da engenharia de software:

A obteno de planos, cronogramas e estimativas melhores.

A identificao de pontos de melhoria nos processos de trabalho.

A quantificao e avaliao de impacto das estratgias tcnicas definidas.

Obter dados especficos e promover a comunicao para vrios interlocutores de questes que
envolvem requisitos no funcionais.

notvel a importncia dos requisitos no funcionais para o


processo de estimativa de tamanho de software. Voc
consegue perceber de que forma eles se enquadram no
processo de medio do tamanho de um software?

05

2 - CARACTERSTICAS E HISTRICO DO SNAP


O SNAP (Software Non-functionalAssessmentProcess) o processo de avaliao dos requisitos no
funcionais de software.

O SNAP similar ao processo de medio baseada em pontos de funo:

2015 - AIEC - Associao Internacional de Educao Continuada

70
120 Engenharia de Software II | Unidade 01

Os requisitos no funcionais so associados a categorias e subcategorias.

Existem critrios bsicos estabelecidos e que so utilizados como base para a medio.

Conforme o tipo e a complexidade, um tamanho para cada subcategoria definido.

O tamanho do requisito no funcional obtido pela soma dos tamanhos das suas
subcategorias.

06

Acompanhe a seguir um breve histrico do SNAP.

2015 Release 2.3 SNAP APM

2014 Release 2.2 SNAP APM

2013 SNAP APM Releases 2.0 (Janeiro) e Release 2.1 (Abril)

2011 Release 1.0: 1 release pblica do SNAP APM. Estabelecia conceitos, processos e regras para
a avaliao dos requisitos no funcionais de software. Foi resultado de anos de avaliao e
feedback de especialistas.

2010 Release 1.0 BETA (November 2010) SNAP APM

2009 Release 0.1 do International Function Point Users Group (IFPUG) SNAP Assessment Practices
Manual (APM)

2007 Aprovao do Projeto TSF TechnicalSize Framework na conferncia ISMA (IFPUG


InternationalSoftwareMeasurement&AnalysisConference). Objetivo do projeto: definir um
framework que pudesse medir os aspectos tcnicos do software

Fonte: Software Non-functional Assessment Process (SNAP) Assessment Practices Manual, verso 2.3

O SNAP APM utiliza definies e terminologias definidas por organizaes internacionais para definio
de padres como:

ISO (International Organization for Standardization),

IEC (International Electrotechnical Commission) e

IEEE (Institute of Electrical and Electronics Engineers).

2015 - AIEC - Associao Internacional de Educao Continuada

71
120 Engenharia de Software II | Unidade 01

07

Os benefcios do SNAP so:

Prover uma viso econmica completa do software.

Permitir a medio de projetos tcnicos, onde a APF no aplicvel.

Minimizar o overhead do processo de medio.

Prover uma forma de medio consistente.

As organizaes podem aplicar o SNAP como uma metodologia para:

Medir o tamanho no funcional dos produtos de software.

Estimar os custos e recursos requeridos pelo software.

Estimar a reduo de custo no desenvolvimento e na manuteno de software.

Ter em mos um fator de normalizao para comparao de softwares.

Determinar o tamanho no funcional de um software adquirido.

Ajudar a determinar os benefcios de um pacote de softwares.

08

3 - O FRAMEWORK SNAP
Um projeto de desenvolvimento de software pode ser visualizado a partir das dimenses tcnica, de
qualidade e funcional, conforme figura abaixo:

2015 - AIEC - Associao Internacional de Educao Continuada

72
120 Engenharia de Software II | Unidade 01

Fonte: Software Non-functional Assessment Process (SNAP) Assessment Practices Manual, verso 2.3

A dimenso funcional coberta pela medio baseada em pontos de funo (APF). O SNAP cobre tanto
a dimenso qualitativa, quanto a tcnica.

09

3.1. Conceitos bsicos utilizados na anlise SNAP

Abaixo veremos alguns termos comumente utilizados no contexto do procedimento de anlise SNAP:

Processo Elementar (PE);

Dado Elementar Referenciado (DER);

#DERs;

Registro Lgico Referenciado (RLR);

Arquivo Lgico Referenciado (ALR);

Nvel de Aninhamento (NL - NestingLevel);

UCS Unidades de Contagem SNAP;

Partio.

Processo Elementar (PE)

a menor unidade de atividade que tem importncia e significado para o usurio.

2015 - AIEC - Associao Internacional de Educao Continuada

73
120 Engenharia de Software II | Unidade 01

Dado Elementar Referenciado (DER)

Atributo nico, no repetido, que pode ser um dado do negcio, um dado de referncia ou um dado
de cdigo.

#DERs

A soma de todos os DERs que so parte da entrada + sada do processo elementar, mais os elementos
de dados que so lidos ou atualizados dentro da fronteira.

Registro Lgico Referenciado (RLR)

Um subgrupo de dados elementares referenciados, reconhecidos pelo usurio, dentro de uma funo
de dados e o grupo de dados de cdigo.

Arquivo Lgico Referenciado (ALR):

uma funo de dados lida e/ou mantida por uma funo transacional, podendo incluir:

Arquivo Lgico Interno, lido ou mantido por uma funo transacional.

Arquivo de interface externa, lido por uma funo transacional.

Nvel de Aninhamento (NL - NestingLevel)

Nmero de validaes condicionais (If-Else combo/While loop/For loop ou qualquer outro bloco
de validao) na cadeia de validao mais longa.

UCS Unidades de Contagem SNAP

conceitualmente definido como um componente ou atividade cuja complexidade e o tamanho


podem ser avaliados.

2015 - AIEC - Associao Internacional de Educao Continuada

74
120 Engenharia de Software II | Unidade 01

Partio

Uma srie de funcionalidades compreendidas dentro da fronteira da aplicao que compartilha


critrios de avaliao e valores homogneos.

10

4 - O PROCEDIMENTO DE ANLISE SNAP


O procedimento de Anlise SNAP composto pelas seguintes atividades:

A seguir veremos com detalhes cada uma dessas atividades.

11

4.1. Determinar o propsito da avaliao, escopo, fronteira e partio

Esta atividade tem por objetivo definir o foco da avaliao. As seguintes tarefas devem ser realizadas, na
sequncia apresentada conforme figura abaixo:

2015 - AIEC - Associao Internacional de Educao Continuada

75
120 Engenharia de Software II | Unidade 01

4.1.1. Identificar o tipo de avaliao

possvel medir o tamanho dos requisitos funcionais e no funcionais para qualquer projeto ou
aplicao. Na tarefa Identificar o tipo de avaliao, necessrio entender em que contexto a avaliao
ser realizada.

Os seguintes tipos so aplicveis:

Avaliao de Projeto de Desenvolvimento;

Avaliao de Projeto de Melhoria;

Avaliao de Aplicao.

Avaliao de Projeto de Desenvolvimento

Este tipo de avaliao aplicvel a um novo projeto de desenvolvimento de software, que tem por
objetivo a entrega da 1 verso de um produto de software.

Avaliao de Projeto de Melhoria

Este tipo de avaliao aplicvel s manutenes de software, como a entrega uma melhoria
(manuteno evolutiva), de uma correo (manuteno corretiva), uma manuteno adaptativa ou
perfectiva.

Avaliao de Aplicao

Este tipo de avaliao aplicvel ao contexto de aplicaes, onde as mesmas so entendidas como
um conjunto coeso de procedimentos automatizados e dados que do suporte a um objetivo de
negcio; consiste em um ou mais componentes, mdulos ou subsistemas.

2015 - AIEC - Associao Internacional de Educao Continuada

76
120 Engenharia de Software II | Unidade 01

12

4.1.2. Identificar o escopo da avaliao

O objetivo desta tarefa identificar os requisitos no funcionais que devero fazer parte da avaliao.

Para uma avaliao do tipo Projeto de Desenvolvimento todos os requisitos no funcionais


necessrios para a entrega deste novo produto devem fazer parte do escopo da avaliao.

Para uma avaliao do tipo Projeto de Melhoria devem fazer parte do escopo os requisitos no
funcionais relacionados manuteno especfica (seja uma melhoria, corretiva, adaptativa ou
perfectiva).

Para uma avaliao do tipo Avaliao de Aplicao devem fazer parte do escopo todos os requisitos
no funcionais necessrios aplicao em avaliao.

13

4.1.3. Determinar a fronteira

Uma fronteira considerada uma interface conceitual entre o software em avaliao e o mundo
exterior, conforme ilustra a figura abaixo:

A figura acima exemplifica as fronteiras existentes entre o Sistema de Vendas de Produtos na Internet e
o mundo exterior, sendo elas:

os usurios do sistema (Administrador e o usurio Comprador),

os sistemas externos (Sistema de Cobrana e o Sistema de Entrega de Produtos).

14

2015 - AIEC - Associao Internacional de Educao Continuada

77
120 Engenharia de Software II | Unidade 01

4.1.4. Determinar as parties, se aplicvel

Uma partio um conjunto de funes de um software, contidas em uma fronteira e que


compartilham dos mesmos critrios de avaliao e valores. Uma partio requer um esforo de
desenvolvimento parte que no pode ser refletido no contexto da contagem de pontos de funo.

(Software Non-functional Assessment Process (SNAP) Assessment Practices Manual, verso 2.3).

Dentro de uma fronteira, as parties:

Contm todas as funes do software que constituem todas as funcionalidades de acesso


aplicao.

Podem trabalhar de forma conjunta para prover todo o comportamento requerido pelo
software.

No podem sobrepor-se umas as outras;

Devem manter-se consistentes no decorrer do tempo.

Alguns exemplos de parties so ilustrados pela figura abaixo:

15

4.2. Associar os requisitos no funcionais s categorias e subcategorias

Esta atividade tem por objetivo selecionar os requisitos no funcionais e identificar, a partir do escopo
definido, as categorias e subcategorias que sero utilizadas para atender os mesmos.

As categorias:

2015 - AIEC - Associao Internacional de Educao Continuada

78
120 Engenharia de Software II | Unidade 01

Classificam os requisitos no funcionais.

So genricas de forma a serem aplicveis s tecnologias futuras.

So divididas em subcategorias que possuem caractersticas em comum (dentro de uma


subcategoria).

Uma subcategoria definida como um componente, um processo ou uma atividade executada dentro
de um projeto de software, de forma a atender requisitos no funcionais.

As categorias e subcategorias so:

Categoria

Uma categoria um grupo de componentes, processos e atividades que so utilizados para satisfazer
os requisitos no funcionais definidos.

16

CATEGORIA 1 Operaes de dados

Categoria que est relacionada a como o dado processado dentro de um UCS (SNAP Counting Unit)
para atender os requisitos no funcionais. Esse processo no atravessa a fronteira do software.

2015 - AIEC - Associao Internacional de Educao Continuada

79
120 Engenharia de Software II | Unidade 01

As subcategorias e o clculo dos parmetros de complexidade e pontos SNAP so apresentados na


tabela abaixo:

SUBCATEGORIA CLCULO DOS PONTOS SNAP

VALIDAES NA ENTRADA DE DADOS Complexidade do Nvel de Aninhamento

So operaes realizadas em conjunto para permitir Baixa Mdia Alta


somente dados autorizados (predefinidos) ou para
prevenir a aceitao de dados no autorizados. (1-2 NA) (3-5 NA) (6+ NA)

2*#DERs 3*#DERs 4*#DERs

UCS: Processo Elementar

Parmetros de complexidade:

O nmero de NA obtido a partir dos


requisitos de negcio e da viso da soluo
tcnica (em alto nvel). NA no so obtidos a
partir do cdigo!

Validaes esto aninhadas (nested)


quando existe uma dependncia entre as
mesmas.

Esta subcategoria pode considerar requisitos


para tratamento de erros e excees.

OPERAES LGICAS E MATEMTICAS Densidade de ALR

Decises lgicas, operaes booleanas e operaes Baixa Mdia Alta


matemticas extensas (que incluem um ou mais
algoritmos). 0-3 ALR 4-9 ALR 10+ ALR

Complexidade para tipo de


UCS: Processo Elementar Processamento = Lgico

Baixa Mdia Alta

Parmetros de complexidade: 4*#DERs 6*#DERs 10*#DERs

2015 - AIEC - Associao Internacional de Educao Continuada

80
120 Engenharia de Software II | Unidade 01

Densidade ALR do arquivo lgico acessado Complexidade para tipo de


para realizar um processamento lgico de Processamento = Matemtico
negcio.
Baixa Mdia Alta
Tipo de processamento lgico tem por
objetivo a tomada de deciso ou avaliao 0-3 ALR 4-9 ALR 10+ ALR
de uma condio com uso dos dados que
existem em um ou mais arquivos lgicos
(internos ou externos). Exemplo:
Processamento de excees.

Tipo de processamento matemtico tem por


objetivo a transformao de um dado e/ou
uso dos dados que existem em um ou mais
arquivos lgicos (internos ou externos),
utilizado em uma operao matemtica
extensa. Exemplo: Clculo complexo de uma
taxa.

FORMATAO DE DADOS Complexidade da Transformao

Um requisito relacionado estrutura, formao ou


informaes administrativas em uma transao, que Baixa Mdia Alta
no diretamente relevante para uma
2*#DERs 3*#DERs 5*#DERs
funcionalidade visvel para o usurio.

UCS: Processo Elementar

Parmetros de complexidade:

Sobre a complexidade da transformao:

Baixa: Converses de tipos de dados ou


formatao simples, tais como
preenchimento de bytes ou substituio de
dados utilizando no mximo 2 operadores
(Celsius para Fahrenheit, Single Integer para
Double Integer).

Mdia: Envolve a
criptografia/descriptografia que uma
caracterstica da aplicao e aplicada a

2015 - AIEC - Associao Internacional de Educao Continuada

81
120 Engenharia de Software II | Unidade 01

quase todos os processos, sendo provida


atravs de uma interface de biblioteca API.

Alta: Envolve criptografia/descriptografia


local

MOVIMENTAES DE DADOS INTERNOS Nvel de Complexidade

Movimentaes de dados de uma partio a outra, Baixa Mdia Alta


dentro da fronteira da aplicao.
(0-3 ALR) (4-9 ALR) (+ 10 ALR)

4*#DERs 6*#DERs 10*#DERs


UCS: A parte do processo elementar que cruza de
uma partio a outra.

Parmetros de complexidade:

Nmero de DERs transferidos de uma


partio a outra.

Nmero de ALRs nicos tanto lidos quanto


atualizados pelo processo elementar.

Entregar Valor Agregado aos Usurios por Nvel de Complexidade


Configurao de Dados
Baixa Mdia Alta
O valor de negcio distinto e adicional que
fornecido aos usurios pela incluso, alterao ou (1-10 (11-29 (+ 30
excluso de informaes de dados de registros) registros) registros)

2015 - AIEC - Associao Internacional de Educao Continuada

82
120 Engenharia de Software II | Unidade 01

referncia/dadosde cdigo da base de dados ou do 6*#Atribut 8*#Atribut 12*#Atribut


armazenamento de dados, sem a alteraono cdigo os os os
do software ou na estrutura da base de dados.

UCS: Processo elementar por arquivo lgico

Parmetros de complexidade:

O nmero de atributos distintos que so


includos/alterados/excludos, envolvidos no
processo elementar.

Nmero de registros configurados.

Atributo: Parmetro independente que


possui um significado distinto e contm uma
srie de valores diferentes.

Registro: Uma linha em um arquivo lgico.

Arquivo lgico: Um grupo de dados ou


informaes de controle, reconhecidos pelo
usurio.

17

CATEGORIA 2 Design de interface

Categoria que est relacionada experincia do usurio. Esta categoria avalia o design dos processos
UI e os mtodos que permitem a interao do usurio com a aplicao.

As subcategorias e o clculo dos parmetros de complexidade e pontos SNAP so apresentados na


tabela abaixo:

SUBCATEGORIA CLCULO DOS PONTOS SNAP

INTERFACES DE USURIO Complexidade do Tipo de IU

Baixa Mdia Alta

2015 - AIEC - Associao Internacional de Educao Continuada

83
120 Engenharia de Software II | Unidade 01

Elementos independentes da interface grfica do (<10propri (10- (+16


usurio, distintos e identificados pelo usurio, edades 15proprieda propriedad
includos ou configurados na interface do usurio, que des es
no alteram a funcionalidade do sistema, mas afetam includas
suas caractersticas no-funcionais (tais como ou includas ou includas
usabilidade, facilidade de aprendizado, atratividade, ou
configurad configuradas
acessibilidade). as) ) configurad
as)

UCS: O conjunto de telas conforme definido pelo 2* 3* 4*


processo elementar. #elementos #elementos #elementos
de UI de UI de UI
distintos distintos distintos
Parmetros de complexidade:

A soma das propriedades distintas


configuradas para cada IU naUCS.

Nmero de elementos de IU distintos


impactados.

MTODOS DE AJUDA Tipo de Ajuda

Informaes fornecidas aos usurios que explicam Manual do usurio 1*(#itens de ajuda)
como o software prov suas funcionalidades ou outras
informaes de suporte aos usurios. (cpia fsica / cpia
eletrnica / ajuda
no nvel
deaplicao)
UCS: A aplicao avaliada.
Texto on-line 2*(#itens de ajuda)

(Textos descritivos
Parmetros de complexidade:
disponveis de
Tipo de ajuda disponvel. forma online)

Nmero de itens de ajuda impactados. Contexto 2*(#itens de ajuda)

(Ajuda obtida pelo


usurio a partir de
um estado ou
ponto especfico

2015 - AIEC - Associao Internacional de Educao Continuada

84
120 Engenharia de Software II | Unidade 01

durante a execuo
de uma
funcionalidade)

Contexto + on-line 3*(#itens de ajuda)

MTODOS MLTIPLOS DE ENTRADA Complexidade dos Mtodos de Entrada

A capacidade da aplicao de prover funcionalidade Baixa Mdia Alta


aceitando mltiplos
(1-4 DERs) (5-15 DERs) (16+ DERs)
mtodos de entrada (por exemplo, leitor cdigo de
barras, SMS, mensagem de voz, PDF, dispositivo 3* 4* 6*
Smartphone, entre outros).
#mtodos #mtodos de #mtodos
de entrada entrada de entrada
adicionais adicionais adicionais
UCS: O processo elementar.

Parmetros de complexidade:

Nmero de DERs no UCS.

Nmero de mtodos adicionais de entrada.

MTODOS MLTIPLOS DE SADA Complexidade dos Mtodos de Sada

A capacidade da aplicao de prover funcionalidade Baixa Mdia Alta


utilizando mltiplos mtodos de sada (por exemplo,
fax, PDF, documento, SMS, entre outros). (1-5 DERs) (6-19 DERs) (20+ DERs)

2015 - AIEC - Associao Internacional de Educao Continuada

85
120 Engenharia de Software II | Unidade 01

3* 4* 6*

UCS: O processo elementar. #mtodos #mtodos de #mtodos


de sada sada de sada
adicionais adicionais adicionais
Parmetros de complexidade:

Nmero de DERs no UCS.

Nmero de mtodos adicionais de sada.

18

CATEGORIA 3 Ambiente tcnico

Categoria que est relacionada a aspectos do ambiente no qual a aplicao reside. Ela avalia a
tecnologia, bem como as mudanas nos dados internos e na configurao que no modifica
funcionalidades a partir da perspectiva de pontos de funo.

As subcategorias e o clculo dos parmetros de complexidade e pontos SNAP so apresentados na


tabela abaixo:

SUBCATEGORIA CLCULO DOS PONTOS SNAP

MLTIPLAS PLATAFORMAS Categoria 1 Plataforma de Software

Operaes que so fornecidas para dar suporte (mesma famlia)


habilidade do software de trabalhar em mais de uma
plataforma (software e hardware). 2 3 +4
Plataforma Plataforma Plataformas
s s

UCS: O processo elementar. SP = 20 SP = 30 SP = 40

Parmetros de complexidade: Categoria 2 Plataforma de Software

(famlias diferentes)

2015 - AIEC - Associao Internacional de Educao Continuada

86
120 Engenharia de Software II | Unidade 01

Natureza das plataformas. 2 3 +4


Plataforma Plataforma Plataformas
Nmero de plataformas nas quais o sistema s s
deve operar.
SP = 40 SP = 60 SP = 80

Categoria 3 Plataforma de Software

(browsers diferentes)

2 3 +4
Plataforma Plataforma Plataformas
s s

SP = 10 SP = 20 SP = 30

Categoria 4 Plataformas de Hardware

(SistemasReal time)

2 3 +4
Plataforma Plataforma Plataformas
s s

SP = a ser SP = a ser SP = a ser


definido definido definido

Categoria 5 Plataformas de Hardware

(Sistemas no Real Time)

2 3 +4
Plataforma Plataforma Plataformas
s s

SP = a ser SP = a ser SP = a ser


definido definido definido

Categoria 6 Combinao de Hardware


e Software

2015 - AIEC - Associao Internacional de Educao Continuada

87
120 Engenharia de Software II | Unidade 01

(Sistemas no Real Time)

2 3 +4
Plataforma Plataforma Plataformas
s s

SP = a ser SP = a ser SP = a ser


definido definido definido

TECNOLOGIA DE BANCO DE DADOS Complexidade do Arquivo Lgico

Recursos e operaes que so inseridos na base de


dados ou nas instrues de leitura/gravao de dados
da base de dados para entregar requisitos no
funcionais sem afetar a funcionalidade fornecida.

UCS: O processo elementar.


Fator de Complexidade ALR

Baixa Mdia Alta


Parmetros de complexidade:
6* 9* 12*
Complexidade do arquivo lgico.
#alteraes #alteraes #alteraes
Nmero de mudanas relacionadas ao banco
de dados.

PROCESSOS BATCH Nvel de Complexidade

Jobs batch que no so considerados como requisitos Baixa Mdia Alta


funcionais (no so qualificados como funes
transacionais) podem ser considerados na Anlise (1-3 ALRs) (4-9 ALRs) (+10 ALRs)
SNAP. Esta subcategoria permite o dimensionamento
4*#DERs 6*#DERs 10*#DERs
de processos batch disparados dentro da fronteira da
aplicao, no resultando em quaisquer dados
atravessando a fronteira.

2015 - AIEC - Associao Internacional de Educao Continuada

88
120 Engenharia de Software II | Unidade 01

UCS: Job batch identificado pelo usurio.

Parmetros de complexidade:

Nmero de DERs processados pelo job.

Nmero de ALRs tanto lidos quanto atualizados


pelo job.

19

CATEGORIA 4 Arquitetura

Categoria relacionada s tcnicas de design e codificao utilizadas para construir a aplicao. Ela
avalia a complexidade do desenvolvimento modular/baseado em componentes.

As subcategorias e o clculo dos parmetros de complexidade e pontos SNAP so apresentados na


tabela abaixo:

SUBCATEGORIA CLCULO DOS PONTOS SNAP

SOFTWARE BASEADO EM COMPONENTES Tipo Clculo do SP

Pedaos de software utilizados dentro da fronteira da Componen SP = 3*(#componentes


aplicao sendo avaliada, para integrar com software tes nicos)
pr-existente ou para construir componentes no internos
sistema.
Componen SP = 4*(#componentes
tes de nicos)
terceiros
UCS: O processo elementar.

Parmetros de complexidade:

Componente de terceiros ou reutilizao de


software interno.

2015 - AIEC - Associao Internacional de Educao Continuada

89
120 Engenharia de Software II | Unidade 01

Nmero de componentes nicos envolvidos


no processo elementar.

MLTIPLAS INTERFACES DE ENTRADA/ SADA Nvel de Complexidade

Aplicaes necessrias para suportar mltiplas Baixa Mdia Alta


interfaces de entrada/ sada.
(1-5 DERs) (6-19 DERs) (+20 DERs)

3* 4* 6*
UCS: O processo elementar.
#interfaces #interfaces #interfaces
adicionais adicionais adicionais

Parmetros de complexidade:

O nmero de Dados Elementares


Referenciados (#DERs) na UCS.

O nmero de interfaces de entrada e sada


adicionais.

20

4.3. Identificar as unidades de contagem SNAP (UCSS)

A UCS (Unidade de Contagem SNAP):

conceitualmente definido como um componente ou atividade cuja complexidade e


tamanho podem ser avaliados.

Pode ser um componente, um processo ou uma atividade identificado conforme a natureza


da categoria e subcategoria.

Pode conter tanto caractersticas funcionais como no funcionais.

Exemplos de UCS: um processo elementar, a aplicao como um todo, um conjunto de telas e


um processo batch.

2015 - AIEC - Associao Internacional de Educao Continuada

90
120 Engenharia de Software II | Unidade 01

As UCSs so nicas para cada subcategoria e so determinadas pela natureza da subcategoria. A


medio realizada separadamente para cada UCS.

4.4. Determinar a complexidade de cada unidade de contagem SNAP

A complexidade de uma UCS determinada com base na anlise dos parmetros que afetam a
complexidade de uma subcategoria.

4.5. Determinar os pontos SNAP de cada UCS

Os pontos SNAP (PS) so a soma do tamanho de todas as UCSs identificadas em cada subcategoria. Uma
vez que todos os parmetros de complexidade tenham sido avaliados, o tamanho de cada UCS
calculado e os PS de todas as UCSs so somados para obter os PS calculados para a subcategoria.

21

4.6. Calcular o tamanho no funcional (pontos SNAP)

O tamanho no funcional de um projeto ou aplicao determinado de acordo com as frmulas abaixo:

Para o clculo dos pontos de funo de um Projeto de Desenvolvimento (novo projeto de


desenvolvimento de software), considerar a frmula abaixo:

DSP = ADD

Onde:

DSP = Tamanho em PS do projeto de desenvolvimento.

ADD = Tamanho dos requisitos no funcionais entregues ao usurio pelo projeto de


desenvolvimento.

Para o clculo dos pontos de funo de um Projeto de Melhoria (manuteno de software), considerar a
frmula abaixo:

ESP = ADD + CHGA + DEL

Onde:

ESP = Tamanho em PS do projeto de melhoria.

ADD = Tamanho dos requisitos no funcionais includos pelo projeto de

Melhoria.

2015 - AIEC - Associao Internacional de Educao Continuada

91
120 Engenharia de Software II | Unidade 01

CHGA = Tamanho dos requisitos no funcionais alterados pelo projeto de melhoria como eles
ficaram aps a implementao.

DEL = Tamanho dos requisitos no-funcionais excludos pelo projeto de melhoria.

Para o clculo dos pontos de funo de uma Aplicao, considerar a frmula abaixo:

ASPA = ASPB + (ADD + CHGA) (CHGB + DEL)

Onde:

ASPA = Tamanho em PS da aplicao aps o projeto de melhoria.

ASPB = Tamanho em PS da aplicao anterior ao projeto de melhoria.

ADD = Tamanho dos requisitos no funcionais includos pelo projeto de melhoria.

CGHA = Tamanho dos requisitos no funcionais alterados pelo projeto de melhoria como eles
ficaram aps a implementao.

CHGB = Tamanho dos requisitos no funcionais alterados pelo projeto de melhoria como eles
eram antes do projeto comear.

DEL = Tamanho dos requisitos no funcionais excludos pelo projeto de melhoria.

22

RESUMO
O IEEE [IEEE 610.12-1990] define requisito como Uma condio ou capacidade que deve ser atendida
ou possuda por um sistema ou partes de um sistema para satisfazer um contrato, padro, especificao
ou outros documentos formais impostos. Os requisitos podem existir em diversos nveis da abstrao e
constituem um dos produtos de trabalho mais importantes de um projeto de desenvolvimento ou
manuteno: a partir dos requisitos que ser definido o que construir.

Enquanto os requisitos funcionais esto relacionados ao comportamento do sistema sob o ponto de


vista do usurio, os requisitos no funcionais esto voltados para caractersticas relacionadas ao
software que devero direcionar importantes decises.

Enquanto a Anlise de Ponto de Funo est voltada para o dimensionamento do software a partir das
caractersticas funcionais, o SNAP (Software Non-functionalAssessmentProcess) tambm criado pelo
IFPUG (InternationalFunction Point UsersGroup) volta-se para o dimensionamento do software a partir
dos requisitos no funcionais. Assim como a Anlise de Pontos de Funo, a tcnica SNAP tambm

2015 - AIEC - Associao Internacional de Educao Continuada

92
120 Engenharia de Software II | Unidade 01

apresenta procedimentos de anlise e clculos at que se chegue ao tamanho no funcional do software


medido em Pontos SNAP (PS).

Recente relatrio de Auditoria de Natureza Operacional do Tribunal de Contas da Unio [TC


002.116/2015-4] apresenta em seu item 73 comentrio sobre a utilizao do SNAP em organizaes
componentes da Administrao Pblica Federal que fizeram parte do escopo da auditoria:

73 No entanto, tendo em vista o ineditismo e a falta de pessoal qualificado e certificado nessa nova
tcnica, ainda no se nota adoo disseminada do Snap pelas organizaes da amostra avaliada.
Somente uma delas tem planos de adotar Snap conjuntamente com Anlise de Pontos de Funo em
suas novas contrataes.

2015 - AIEC - Associao Internacional de Educao Continuada

93

Você também pode gostar