Você está na página 1de 7

Fatores de Qualidade e Produtividade

Vejamos agora os fatores pelos quais a qualidade do software pode ser


medida, valendo ressaltar que o conjunto de fatores que têm mais importância para
um determinado software pode variar quando a aplicação final do software for
diferente. Dessa forma, seguem os fatores de qualidade de McCall:

• Correção - Ausência de defeitos, de acordo com os requisitos;


• Confiabilidade - Capacidade de executar uma função, de forma
reprodutível;
• Eficiência - Desempenho das funções pretendidas com o menor
recurso possível;
• Integridade – Capacidade de suportar ataques à sua integridade
(Ex.: Hackers e perda de dados);
• Usabilidade – Facilidade de uso pelo usuário. Conforto, ou seja, se é
amigável ou não;
• Manutenibilidade - Alteração visando a corrigir, adaptar ou
aperfeiçoar o software em baixo custo;
• Flexibilidade – Esforço necessário para modificar um programa
operacional;
• Testabilidade – Esforço necessário para testar um programa, a fim
de garantir que ele realize a função esperada;
• Portabilidade - Facilidade de transportar o software entre
computadores;
• Reutilização – Possibilidade de reutilizar os componentes do
software em outros sistemas;
• Interoperabilidade – Esforço necessário para acoplar um sistema a
outro.

Apesar de não fazerem parte dos fatores propostos por McCall, merecem
atenção:

• Facilidade de Implantação - Adequado ao ambiente


sócio/tecnológico no qual será implantado;
• Robustez - Continuar executando mesmo com entradas erradas.

Como exemplo de que a importância dos fatores de qualidade pode variar


dependendo da aplicação final do software, se uma empresa de varejo está
desenvolvendo um software de comércio eletrônico para que seus clientes possam
comprar pela Internet, os fatores portabilidade (pois o software precisa “rodar” em
computadores com arquiteturas distintas), eficiência (pois um consumo baixo de
recursos é importante para “rodar” em micros mais antigos e com Internet discada)
e usabilidade (pois se o cliente não consegue usar o software, ele terá dificuldade
de comprar os produtos) têm um peso muito alto. Entretanto, se a mesma empresa
estivesse desenvolvendo o software para uso pelo seu Call Center, de forma que os
clientes fizessem os pedidos pelo telefone, a importância desses mesmos fatores
seria reduzida.
Medidas e Métricas

¾ A medição nos capacita a quantificar e, por conseguinte, a


administrar mais efetivamente.

<neste ponto cabe uma imagem de uma régua, um termômetro, um velocímetro,


um barômetro e outros equipamentos de medida>

¾ Muitas vezes leva a controvérsias e a argumentações: Quais as


métricas apropriadas?

¾ Medições no mundo físico podem ser diretas (ex.: tamanho de


um parafuso) ou indiretas (ex.: qualidade dos parafusos, com
base no número de rejeitados).

- Estimativas

¾ De esforço humano exigido. Ex.: pessoas/hora, pessoas/mês.

¾ De duração cronológica do projeto. Ex.: em tempo de calendário.

¾ De custo. Ex.: em reais ou dólares.

¾ Em muitos casos as estimativas são feitas usando-se a


experiência passada como único guia, mas somente ela poderá
não ser suficiente para todos os casos. Assim, surgiram várias
técnicas de estimativa para o desenvolvimento de software.

¾ Atributos das técnicas de estimativa: O escopo do projeto deve


ser estabelecido antecipadamente; O histórico de aferições
passadas é usado como uma base a partir da qual estimativas
são feitas; O projeto é dividido em pequenas partes que são
estimadas individualmente.

- Medidas do Software

¾ O software é medido pelas seguintes razões:

9 Indicar a sua qualidade;


9 Avaliar a produtividade das pessoas que o produzem;
9 Avaliar os benefícios derivados, em termos de qualidade e
produtividade;
9 Formar uma linha básica (baseline) para estimativas;
9 Ajudar a justificar pedidos de novas ferramentas e
treinamento.

¾ Métricas de produtividade (PF / hora, LOC / hora etc.)


9 PF = Pontos de Função, tópico abordado mais adiante nesta
matéria.
9 LOC = Número de Linhas de Código.

¾ Métricas da qualidade (No. Erros / PF, No. Erros / LOC)

¾ Métricas técnicas (Ex.: complexidade lógica, grau de


modularidade)
¾ Métricas orientadas ao tamanho (Ex.: número de linhas de código
– LOC)

¾ Métricas orientadas à função (Ex.: método Ponto de Função)

- Métricas orientadas ao tamanho

¾ Medidas diretas do software e do processo de desenvolvimento

¾ LOC – Linhas de Código

¾ Provocam controvérsias e não são universalmente aceitas como a


melhor maneira de medir

¾ Prós:
9 Podem ser facilmente contadas;
9 Tem significado direto, ou seja, o número de linhas de um
programa.

¾ Contras:
9 São dependentes da linguagem de programação, pois
penalizam programas bem projetados, porém mais curtos, e
não podem acomodar facilmente linguagens não
procedimentais;
9 Seu uso em estimativas requer um nível de detalhe alto,
ficando difícil na Análise, por exemplo, saber quantas linhas
terá o sistema.

- Métricas orientadas à função

¾ Medidas indiretas do software e do processo de desenvolvimento.

¾ Em vez de contar as linhas de código, a métrica concentra-se na


funcionalidade ou na utilidade do programa.

¾ Também são controversas.

¾ Como exemplos de métricas orientadas à função, temos o método de


Pontos de Função, Ponto de Particularidade e Ponto por Objeto.

¾ Os pontos de função - PF podem ser usados de maneira análoga às


LOC como medida de produtividade, qualidade e outros atributos do
software:

9 Produtividade = PF / pessoa-mês
9 Qualidade = defeitos / PF
9 Custo = $ / PF
9 Documentação = páginas de documentação / PF

¾ Prós:

9 Independe da linguagem de programação, ou seja, funciona


para linguagens convencionais e não-procedimentais;
9 Se baseia em dados que têm maior probabilidade de ser
conhecidos logo no começo da evolução de um projeto
(estimativas).
¾ Contras:

9 Baseia-se em dados subjetivos;


9 Dificuldade de definição do domínio da aplicação a posteriori;
9 Não tem nenhum significado direto, é apenas um número.

- Método de Pontos de Função

¾ O primeiro passo para se obter o número de Pontos de Função de um


software é definir o número de cada um dos 5 parâmetros da tabela a
seguir:

Parâmetros de medida Fator de Ponderação Subtotal

Simples Médio Complexo

Número de entradas do (__ x 3) (__ x 4) (__ x 6) + = +


usuário + +

Número de saídas do (__ x 4) (__ x 5) + (__ x 7) + = +


usuário +

Número de consultas do (__ x 3) (__ x 4) + (__ x 6) + = +


usuário +

Número de arquivos (__ x 7) (__ x 10) (__ x 15) = +


lógicos internos + + +

Número de arquivos de (__ x 5) (__ x 7) + (__ x 10) =


interface externa + +

Contagem total =

⇒ Número de entradas do usuário: cada entrada do usuário que proporcione


dados distintos orientados à aplicação é contada. As entradas dever ser distinguidas
das consultas, as quais são contadas separadamente.

⇒ Número de saídas do usuário: cada saída do usuário que proporcione


informações orientadas ‘a aplicação é contada. Por exemplo, um relatório é contado
como uma saída.

⇒ Número de consultas do usuário: uma consulta é definida como uma entrada


on-line que resulte na geração de alguma resposta e software imediata na forma de
uma saída on-line. Cada consulta distinta é contada.

⇒ Número de arquivos lógicos internos: cada arquivo lógico, ou seja, um


agrupamento lógico de dados, que pode ser uma parte de um grande banco de
dados ou um arquivo convencional que seja mantido pela aplicação, é contado.

⇒ Número de arquivos de interface externa: todas as interfaces legíveis por


máquina (por exemplo, arquivos de dados em fita ou disco) que sejam usadas para
transmitir informações a outro sistema são contadas, incluindo os arquivos lógicos
que sejam somente consultados pela aplicação.
¾ Assim que os dados anteriores tiverem sido reunidos, um valor de
complexidade é associado a cada contagem. Cada organização
desenvolve critérios para determinar se uma entrada particular é
simples, média ou complexa. Veremos uma sugestão de critérios
mais adiante nesta matéria.

¾ A “contagem total” obtida através do somatório dos valores da coluna


“Sub total” representa o “Número de Pontos de Função Não
Ajustados”.

¾ “Valor de Ajuste da Complexidade” é definido com base nas respostas


às perguntas a seguir, que são dadas através da pontuação numa
escala de 0 a 5:

0 1 2 3 4 5

Sem influência Incidental Moderado Médio Significativo Essencial

1) O sistema requer backup e recuperação confiáveis?

2) São exigidas comunicações de dados?

3) Há funções de processamento distribuídas?

4) O desempenho é crítico?

5) O sistema funcionará num ambiente operacional existente,


intensivamente utilizado?

6) O sistema requer entrada de dados on-line?

7) A entrada de dados on-line exige que a transação de entrada seja


elaborada em múltiplas telas ou operações?

8) Os arquivos são atualizados on-line?

9) A entrada, saída, arquivos e consultas são complexos?

10) O processo interno é complexo?

11) O código foi projetado de forma a ser reutilizável?

12) A conversão e a instalação estão incluídas no projeto?

13) O sistema é projetado para múltiplas instalações em diferentes


organizações?

14) A aplicação é projetada de forma a facilitar mudanças


(parametrização, customização) e o uso (conforto) pelo usuário?

¾ Somar os valores dados a cada pergunta anterior para compor o


“Valor de Ajuste da Complexidade”
¾ Para computar os pontos de função, a seguinte fórmula é usada:

PF = PontosdeFunçãoNãoAjustados x [0,65 + 0,01 x


ValordeAjustedaComplexidade]

Onde:
[0,65 + 0,01 x ValordeAjustedaComplexidade] =
FatordeAjustedaComplexidade

- Ponto de Particularidade – Feature Point

9 Variação do método de PF para aplicações de tempo real,


controle de processos e software embutido.

Parâmetros de Contagem Fator de Subtotal


medida Ponderação

Número de entradas do x4 = +
usuário

Número de saídas do x5 = +
usuário

Número de consultas x4 = +
do usuário

Número de arquivos x7 = +
lógicos internos

Número de arquivos de x7 = +
interface externa

Algoritmos x3 = +

Contagem total =

9 A tabela anterior deve ser utilizada para o cálculo dos Pontos


de Função Não Ajustados e os demais cálculos são feitos de forma idêntica
- Ponto por Objeto

9 Medida indireta do software criada por Barry Boehm para


fornecer subsídio em termos de informação de tamanho necessária para a aplicação
do modelo COCOMO II.

9 Calculada usando-se a contagem da quantidade de: telas


(interface com o usuário), relatórios e componentes.

9 Cada instância de objeto é classificada em simples, média ou


difícil, usando critérios definidos por Boehm, basicamente quantidade e fonte das
tabelas de dados do cliente e servidores, que são necessárias para gerar a tela ou
relatório, e da quantidade de campos ou seções apresentadas como parte da tela
ou relatório.

9 Após a determinação da complexidade, a quantidade de telas,


relatórios e de componentes é ponderada de acordo com o quadro a seguir:

Tipo de objeto Fator de Ponderação SubTotal

Simples Médio Difícil

Tela (__ x 1) + (__ x 2) + (__ x 3) + = +

Relatório (__ x 2) + (__ x 5) + (__ x 8) + = +

Componente 3GL (__ x 10) + =

TOTAL =

9 Novos Pontos por Objeto = NOP = (pontos por objeto) x [(100


- % de reuso)/100]

Você também pode gostar