Você está na página 1de 36

Prof. Ms.

Marcelo Benitez
z
Qualidade de
Software
z
Normas
é o documento estabelecido por consenso e aprovado por um
organismo reconhecido, que fornece regras, diretrizes ou
características mínimas para atividades ou para seus resultados.
Organismos Normativos

As normas internacionais de qualidade são criadas com base no


trabalho de especialistas do mundo todo. Essas normas tornam-se a
base para especificar produtos, organizar fornecimento de serviços e,
mesmo, para elaborar legislação em vários países.
Uma padrão internacional deve ser útil a todos os países que o
adotam.
z
Tipos de Normas (de facto ou de jure)

Muitas vezes as Normas (padrões) surgem de maneira espontânea, a


partir da necessidade de um grupo de usuários ou como uma solução
a um problema que foi amplamente adotada em preferência a outras
possibilidades

De facto é uma expressão em latim, utilizada para designar um


padrão conhecido e aplicado na prática, que não formalizado
como regulamento

De jure é um padrão de maneira formal e regulamentado


z
ISO - International Organization for
Standardization

tem como objetivo principal aprovar normas internacionais em todos os


campos técnicos, como normas técnicas, classificações de países,
normas de procedimentos e processos, entre outros..

Ano 1947 1952 1957 1965 ...2004


Publicações - 5 57 1.400 14.941

No Brasil, a ISO é representada pela ABNT (Associação Brasileira de


Normas Técnicas)
z
JTC1
responsável pela criação de normas relacionadas com Tecnologia da
informação...

O interesse é o mesmo da ISO (promover a melhoria contínua das


empresas e dos produtos por elas fabricados e dos serviços por elas
oferecidos)

Dentre as comissões existentes na JTC1 a SC-7 é referente a


engenharia de software

SC-7 reúne diversas normas que possuem relação com a qualidade de


software
z
JTC1

SC Área de Estudos
SC-6 Telecomunicações e troca de informações entre sistemas
SC-7 Software e engenharia de sistemas
SC-22 Linguagens de programação
SC-27 Técnicas de segurança para TI

WG Área de Estudos
WG-2 Documentos de sistemas
WG-6 Avaliação e métricas
WG-7 Gerência de ciclo de vida
WG-12 Medição de tamanho funcional
z
ABNT - Associação Brasileira de
Normas Técnicas
é o órgão responsável pela normalização técnica no Brasil (fornecendo insumos
ao desenvolvimento tecnológico brasileiro... trata-se de uma entidade privada e
sem fins lucrativos e de utilidade pública)

Ela representa a ISO no Brasil, assim, possui equipes que trabalham na


preparação de diversas normas internacionais

Composta de diversos comitês, dentre eles o comitê 21, que é responsável


pela engenharia de software e portabilidade de software.
http://www.abnt.org.br/
z
ABNT - Associação Brasileira de
Normas Técnicas
CB Área de estudos
CB-01 Mineração e metalúrgica
CB-02 Construção civil
CB-21 Computadores e processamento de dados
CB-52 Café

CE Área de estudos
21:101:01 Qualidade de Software
21:101:03 Gerência do ciclo de vida
21:101:06 Estimativa de tamanho de software (ponto por função)
21:101:08 Ergonomia

http://www.abnt.org.br/
z
Certificação e adequação

A certificação tornou-se, a partir da década de 1990, um modismo


(consumidores que não conhecem em absoluto o significado das
normas de qualidade se viram bombardeados com propagandas de
empresas ostentando a certificação ISO9000).

Colocar em Já certificação
pratica o que é envolve a
proposto na participação de
norma uma empresa ou
organismo externa

“adequação” “certificação”
z
Certificação e adequação

Quem pode adotar uma norma de qualidade ?


Qualquer empresa!
Uma oficina pode ter uma norma de qualidade, quando se estabelece
que ao final de cada expediente os funcionários façam a limpeza do
local de trabalho!
z
Certificação e adequação

Resumo dos passos necessários para implementar um sistema de


qualidade em uma empresa (adotando uma norma)

DEFINIÇÃO
DO PLANEJAMENTO E GESTÃO DA
DIAGNÓSTICO
ESCOPO DOCUMENTAÇÃO TRANSIÇÃO

Diagnostico
Pessoas e
para o
setores CORREÇÕES
Planejamento
envolvidos
das mudanças
z
Certificação e adequação

Para que a certificação aconteça é preciso que a empresa esteja


aplicando a norma (isso significa que uma adequação já tenha sido
realizada)

PRÉ-AUDITORIA CORREÇÕES AUDITORIA RECOMENDAÇÕES

RELATÓRIO DE NÃO- RELATÓRIO DE NÃO-


CONFORMIDADE CONFORMIDADE

A diferença entre os procedimentos adotados e os procedimentos normalizados


são chamados de “NÃO-CONFORMIDADES”
z
Atividade em Sala
1. Qual a relação existente entre normas e legislação?

2. Qual a diferença entre adequação e certificação?

3. Se uma empresa utiliza um mecanismo dentro dela e quer oficializar isso, qual caminho
ela deve percorrer ?

4. Em qual momento acontece uma auditoria dentro uma empresa ?

5. Qual atribuição de uma norma criada e utilizada por uma determinada empresa, sem ser
oficial ?

6. Qual grupo de trabalho responsável pelo ISO 9.241 e que essa norma propõe ?

7. Quais grupos brasileiros trabalham com (ergonomia, métricas e verificação/validação)?

8. O que a ISO9000 visa em uma empresa?


z
Trabalho descentralizado

1. Pesquisar quais empresas no Brasil oferecem o serviço de


certificação.

2. Quais empresas oferecem curso de treinamento para criação de


empresas certificadoras ?

3. Quais organizações (empresas e universidades) são ativas na


elaboração de normas relacionadas a qualidade e engenharia de
software no Brasil?
z
Métricas de software: visão geral

Métricas de softwares possibilitam realizar uma das


atividades mais fundamentais do processo de
gerenciamento de projetos:
Planejamento

A partir desse, pode-se identificar a quantidade de esforço,


de custo e das atividades que serão necessárias para a
realização do projeto
z
Métricas de software: visão geral
As métricas de software, do ponto de vista de medição, podem ser divididas em
duas categorias: medidas diretas e indiretas

Medidas diretas são: o custo e o esforço aplicados ao desenvolvimento e


manutenção do software e do produto, a quantidade de linhas de código
produzidas e o total de defeitos registrados durante um determinado período de
tempo

Medidas indiretas são: a qualidade e a funcionalidade do software, ou a sua


capacidade de manutenção

Qual é mais complexa e difícil de ser usada?

Indireta!!!
z
Métricas de Software
z
Métricas de Software
z
Métricas de Software

Não se pode gerenciar o que não


se pode medir - Tom de Marco (1982)
z z
Definições
▪ Uma métrica é a medição de um atributo
(propriedades ou características) de uma
determinada entidade (produto, processo ou
recursos):
▪ Tamanho do produto de software (ex: Número de
Linhas de código, Número de Pontos de Função,
etc);
▪ Número de pessoas necessárias para implementar
um caso de uso;
▪ Número de defeitos encontrados por fase de
desenvolvimento;
▪ Esforço para a realização de uma tarefa.
Cadastramento de “Bugs”, sem controle;
z
Objetivos das Métricas – Quando
vamos definir uma métrica a ser usada
▪ Entender
▪ Métricas ajudam a entender o comportamento e funcionamento de processos, produtos e serviços
de software.

▪ Avaliar
▪ Métricas podem ser utilizadas para tomar decisões e determinar o estabelecimento de padrões,
metas e critérios de aceitação – avaliar se que esta sendo feito, foi o que foi vendido.

▪ Controlar
▪ Métricas podem ser utilizadas para controlar processos, produtos e serviços de software – Ex: se
a execução do projeto não está em conformidade com o que foi planejado.

▪ Prever
▪ Métricas podem ser utilizadas para prever valores de atributos.
z z
Por que medir?
▪ Entender e aperfeiçoar o processo de
desenvolvimento;

▪ Indicar a qualidade de um produto de software;

▪ Avaliar a produtividade do processo;

▪ Avaliar os benefícios (em termos de produtividade e


qualidade) de novos métodos e ferramentas de
engenharia de software;

▪ Avaliar retorno de investimento;

▪ Melhorar a gerência de projetos e relacionamento


com clientes – entregar o que o cliente precisa
primeiro;

▪ Reduzir frustrações e pressões de cronograma;

▪ Gerenciar contratos de software.


z
E também...
▪ Entender Identificar as melhores práticas de desenvolvimento de software;

▪ Embasar solicitações de novas ferramentas e treinamento;

▪ Avaliar o impacto da variação de um ou mais atributos do produto ou do processo na


qualidade e/ou produtividade;

▪ Formar uma baseline para estimativas;

▪ Melhorar a exatidão das estimativas;

▪ Oferecer dados qualitativos e quantitativos ao gerenciamento de desenvolvimento de


software, de forma a realizar melhorias em todo o processo de desenvolvimento de
software.
z
Exercícios em sala

1. Métricas de softwares possibilitam realizar uma das atividades


mais fundamentais em qual parte do desenvolvimento de um
projeto de software ?

2. Porque medir ?

3. Qual cenário das empresas brasileiras em relação a utilização


de métricas de software ? Como funciona com o governo.

4. Medir somente através de linhas de código é um erro. Qual


situação essa medição pode informar valores equivocados ?
z z
Uma métrica deve ser...

▪ Válida: quantifica o que queremos medir;

▪ Confiável: produz os mesmos resultados


dadas as mesmas condições;

▪ Prática: barata, fácil de computar e fácil


de interpretar.
z
Medidas Diretas
▪ Custo;

▪ Esforço;

▪ Linhas de Código;

▪ Velocidade de Execução;

▪ Memória;

▪ Número de Erros;

▪ Complexidade ciclomática - é uma métrica de software usada


para indicar a complexidade de um programa de computador.
z
Medidas Indiretas

▪ Funcionalidade;

▪ Qualidade;

▪ Complexidade;

▪ Eficiência;

▪ Confiabilidade;

▪ Manutenibilidade.
z
Métricas Orientadas ao Tamanho

A medida de software mais familiar é a contagem de linhas


de código

Esta métrica pode parecer simples, mas existe


discordância sobre o que constitui uma linha de
código
z
Métricas Orientadas à Função

Em vez de contar as linhas de código, a métrica orientada


à função concentra-se na funcionalidade do software.

Com a vantagem de poder ser aplicada independente


da tecnologia usada para desenvolver o software
z
Exemplos de métricas

▪ Número de defeitos introduzidos por programador/hora

▪ Número de mudanças no documento de requisitos

▪ Número de linhas de código


z
Análise de pontos de função (APF)
▪ Mede o tamanho funcional do software, subsídios para o cálculo da produtividade do
processo de desenvolvimento com base na funcionalidade ou utilidade dos
programas.
▪ Esta avaliação é realizada sob o ponto de vista do usuário que avalia o tamanho e a
complexidade de um software.

▪ Nesta contagem são consideradas os seguintes itens da aplicação(software):Arquivos


Lógicos Internos, Arquivos de Interface Externa, Entradas Externas, Consultas Externas e
Saídas Externas.

▪ Cada item deste define um peso que no final determina a quantidade de pontos de função
da aplicação, para o desenvolvimento de um novo sistema ou os pontos necessários para
se realizar uma manutenção em um sistema já existente.

Os pontos calculados servem para se chegar as horas totais do projeto.


z

Vídeo
z
Objetivos da Medição de Software

▪ Entender: ajudam a entender o comportamento e o funcionamento


de produtos de software

▪ Avaliar: utilizadas para determinar padrões, metas e critérios de


aceitação

▪ Controlar: utilizadas para controlar processos, produtos e serviços


de software

▪ Prever: utilizadas para prever valores de atributos


z
Exercícios
1. Métricas de softwares possibilitam realizar uma das atividades
mais fundamentais em qual parte do desenvolvimento de um
projeto de software ?

2. Porque medir ?

3. Quais são os meios de analise de valor de produtos de software


(código) mais comuns ? Explique

4. Qual o tipo de métrica mais difícil de ser aplicada ?

5. Métricas servem para medir somente linhas de código ?


z
Trabalho Descentralizado – Métricas de
Software
Em grupos de alunos, faça um Lista com as opões de software:
levantamento sobre a métrica 1. Calculadora;
“Pontos de Função”. E utilizando
2. Código: Contagem
uma das opções de código JAVA, Regressiva;
faça uma analise utilizando a
3. Decompositor de Numero;
métrica de software que calcula
os “Pontos de Funções”, 4. Horóscopo Indígena
seguindo estritamente as regras Brasileiro;
da métrica. 5. Galeria de Som;
6. Barcode 128-B Generator;
7. Teorema de Tales.
z
Trabalho descentralizado - requisitos
para o sistema WEB GEDAI

Você também pode gostar