Uploaded by geiser.gcc

Aula 03-Normas, Organismos Normativos e Métricas

advertisement
Normas, Organismos
Normativos e Métricas
Prof. Geiser Chalco Challco
email: geiser@alumni.usp.br
Slides not completely created by Chalco C. G. Slides based on Slides of Vasconselos A.
(amlv@cin.ufpe.br).
Sem: 2022-I
PEX0198-Qualidade de Software
1
Revisão
• Tópico 1: Conceito e Fundamentos da Qualidade
• Tópico 2: Qualidade Total (QT)
•
•
•
•
Qualidade de Produto
Qualidade do Processo
Conceito de QT = Controle Total + Garantia Total de Qualidade
Gestão de Qualidade e o Grupo SQA (Software Quality Assurance)
• Garantia de Qualidade - seguir clausulas e planos de qualidade
• Controle de Qualidade – garantir que os objetivos são cumpridos
• Normas, Organismos Normativos e Métricas (hoje)
2
Motivação
• Um problema fundamental da qualidade de software é lidar com
subjetividade da qualidade.
• Assim, é preciso:
• Comunicar de forma não ambígua as características de qualidade desejáveis;
• Definir o grau das características esperados de modo que eles sejam
entendidos por todos os envolvidos;
• Definir valores quantitativos a serem respeitados por todos os envolvidos;
• Delinear as estratégias de medição em relação às características.
• Possibilitando um diagnóstico preciso da qualidade.
Motivação
• Há alguma forma de lidar com a subjetividade de modo que qualidade
de software seja universal (entendido por todo o mundo)?
• Especificações - um conjunto documentado de regras e diretrizes que definir
qualidade sem ambiguidade e possibilitam medir ela de forma adequada.
• Com o passo do tempo, especificações tornam-se normas quando é aprovado
por um organismo normativo (de preferência, que seja Internacional).
• Finalmente as normas alcançam o nível de padrão – quando elas são
amplamente adoptadas por todo o mundo.
4
Normas
5
Normas
“expectativas compartilhadas sobre o que constitui um comportamento
apropriado mantido por uma comunidade de atores” [1]
• Para a disciplina, o comportamento apropriado é a gerencia de
qualidade (visando qualidade total)
• Controle de qualidade + Garantia de qualidade
• O compartilhamento das expectativas é realizado mediante
especificações (regras e diretrizes documentadas) de qualidade
[1] Global Trends. (2021). US-Backed International Norms Increasingly Contested (NIC-2021-02491; Emerging or Evolving Dynamics International System Level, p. 12). https://www.dni.gov/index.php/gt2040-home/gt2040-deeper-looks/future-of-international-norms
Normas
• As normas tornam-se base para:
• Especificar produtos;
• Organizar serviços;
• Elaborar legislações em vários países.
• Diversas empresas têm preocupação com padronização de serviços.
• Exemplo: Em 1963, era preciso uniformizar a entrega de correios devido aos
vários atrasos das correspondências.
• Assim, a União Europeia definiram normas de entrega de correios
Normas
• As normas:
• Surgem devido a necessidades;
• Servem para solucionar problemas, enfrentados por um grupo de pessoas;
• Podem ser estabelecidas de forma involuntária, quando as pessoas adotam o
comportamento apropriado sem coerção e de forma natural;
• Podem ser estabelecidos por razões comerciais e/ou governamentais, sendo
assim definidas por leis regulamentadas.
• Exemplo: Normas definidas pela ISO, ABTN.
Tipos de normas
• “de facto” quando a especificação alcança aceitação e uma posição
dominante por costume (ou convenção) na sua aplicação prática.
• Esse tipo de normas não são ordenadas por lei como regulamento
• “de jure” quando a especificação, independente de ser ou não aplicada
na prática, ela é emitida por uma entidade governamental com
caractere de regulamentador.
• Esse tipo de normas correspondem às que devem ser executados por lei.
9
Organismos Normativos
10
ISO: International Organization of Standardization
• A ISO nasceu numa conferência em Londres, no ano de 1946.
• Foi composta por duas organizações, que já existiam:
• ISA (International Federation of the National Standardizing Associations);
• UNSCC (United Nations Standards Coordinationg Comittee).
• O nome do organismo é palavra grega ISOS, que significa “IGUAL”.
• Inicialmente, a ISO produzia “recomendações” e não normas.
• As recomendações ofereciam uma base comum para permitir consumidores
encontrar compatibilidade entre diferentes tecnologias e produtos
• Permitiam a eles a julgar a qualidade dos produtos e definir critérios em
contratos e negociações.
ISO: International Organization of Standardization
• Em dezembro de 2004, a ISO chegou a 14.941 recomendações que se
tornaram documentos internacionais de padronização.
• Participação de mais de 150 países e 50 mil especialistas.
• Várias áreas foram afetadas pelas documentações da ISO.
•
•
•
•
•
•
Tecnologia;
Construção;
Eletrônica;
Petróleo;
Sistemas de saúde;
Entre outros.
ISO: International Organization of Standardization
• ISO trabalha em diferentes comitês técnicos.
• ISO/IEC JTC 1 (Joint Technical Commitee e International Electrotechnical
Commission) – 1987 – dedicado a desenvolver padrões relacionados com TI
•
•
•
•
•
•
•
SC-6: Telecommunications and information exchange between systems
SC-7: Software and systems engineering
SC-22: Programming languages, their environments and system software interfaces
…
SWG-2: Directives
SWG-6: Management
...
• ISSO/TC 1 Screw threads (Roscas de parafuso)
• ...
SC: Subcomitê ; SWG: Subgrupo de trabalho
13
ISO/IEC JTC 1
• A ISO/IEC JTC 1 é o comitê responsável pela criação de normas
relacionadas com a Tecnologia da Informação.
• Ele define normas que abrangem:
•
•
•
•
Projeto e Desenvolvimento de Sistemas;
Ferramentas de TI;
Qualidade, Desempenho, Segurança e Portabilidade de Sistemas;
Validação de ferramentas, ambientes e vocabulário.
A ISO/IEC JTC 1 e Normas de Qualidade
Software product quality
Software process quality
15
ISO/IEC 25021
- Quality measure
elements
ISO/IEC 25020
- Measurement reference model
ISO/IEC 25001
- Planning and management
ISO/IEC 25020
- Quality measurement
framework
ISO/IEC 25021
- Quality measure
elements
ISO/IEC 25012:2008
- Data quality model
ISO/IEC 25011
- Service quality model
ISO/IEC 25010
- SW Quality model
ISO/IEC 9126
- Product quality
1991
ISO/IEC 25001
- Planning and management
ISO/IEC 9126
- Quality model
ISO/IEC 25000
- External metrics
- Terms and definition
- Internal metrics
- General guide
- Quality in use metrics
- Reference models
2001
2005
2007 2008
ISO/IEC 25000
- Terms and definition
- General guide
- Reference models
2011
2012
2014
2017
2019
ABNT: Associação Brasileira de Normas Técnicas
• A ABNT é o órgão brasileiro responsável por normas de qualidade.
• Fundada em 1940 (seis anos antes da ISO).
• Representa a ISO no Brasil.
• Possui comissões que trabalham na preparação de diversas normas,
publicadas para diferentes áreas de desenvolvimento, tais como:
•
•
•
•
Mineração;
Construção Civil;
Computadores e processamento de dados;
Entre outros.
ABNT: Associação Brasileira de Normas Técnicas
• ABTN é organizado e comissões.
• CB-01: Mineração e Metalurgia;
• CB-02: Construção Civil;
• ...
• CB-021: Tecnologias da Informação e Transformação Digital – incorpora as
comissões de CEE-078 (Informática em Saúde), a CEE-126 (Ergonomia da
Interação Humano-Sistema) e a CEE-307 (Blockchain e Tec. Distribuídas)
• 021:000.007 Engenharia de Software e Sistemas
• 021:000.027 Técnicas de Segurança
• 021:000.031 Identificação automática e técnicas de captura de dados
• ...
18
ABNT: Associação Brasileira de Normas Técnicas
• O trabalho da ISO restringe-se à elaboração de normas.
• A ABNT se dedica a realizar certificação além do trabalho normativo
• Verifica a implantação e uso das normas nas empresas.
• As certificações envolvem a participação de um organismo ou
empresa externa, devidamente regulamentada ou credenciada.
• É preciso atestar que há adequação da norma; e
• É preciso também inspeção de um auditor para garantir conformidade da
norma pela empresa.
Certificação e adequação
• A partir dos 1990s, certificação tornou-se modismo (consumidores se
viram bombardeados com propagandas de empresas ostentando a
certificação ISO9000 – chamado ISO9001 a partir de 2000)
• Adequação: Colocar em pratica
o que é proposto pela norma
• Certificação: Confirmação por um
organismo/entidade externo de que se
segue e atende os requisitos da norma.
20
Certificação e adequação
• Para que a certificação aconteça, precisa-se a adequação da norma.
Ao se adoptar a norma, deve-se efetuar o processo seguinte:
Definição do
escopo
Pessoas e sectores
envolvidos
Diagnóstico
Planejamento
e
documentação
Gestão de
transição
Correções
21
Certificação e adequação
• Para que a certificação aconteça, também precisa-se conformidade da
norma – adopção adequada da norma pela empresa.
• Diferença entre o adotado e o normalizados é chamada de não-conformidade
• Assim, na certificação são realizar pré-auditorias e auditorias
Pré-auditoria
Relatório de não
conformidade
Correções
Auditoria
Recomendações
Relatório de não
conformidade
22
O por que da certificação da qualidade?
• Não basta que a qualidade exista, ela deve ser reconhecida;
• Deve existir uma certificação oficial emitida com base em um padrão;
• As certificações são dadas por instituições competentes e
recomendasse que sejam adoptadas normas internacionais.
•
•
•
•
•
Essas normas garantem a confiabilidade do produto;
Reduzem custos e evitar desperdícios e retrabalhos;
Implementar e utilizar práticas reconhecidas internacionalmente;
Estabelecer confiança no relacionamento com o cliente;
Servem como cartão de visita para o mercado internacional.
Acerca das certificações
• As certificações podem ser de toda empresa ou ainda pontuais
• E.g. Uma empresa que exibe o selo de “ISO 9000” pode estar apenas se
referindo à especificando um produto, parte dele ou setor apenas.
• A certificação é válida apenas por num dado período de tempo.
• Continuamente são realizadas vistorias e auditorias.
• Existe pressão do mercado em torno as certificações.
• Por exemplo, várias empresas negociam com fornecedores certificações em
relação a uma dada norma.
INMETRO (Instituto Nacional de Metrologia,
Normalização e Qualidade Industrial)
• O INMETRO foi criado em 1973 para dedicar-se a observar normas
relacionadas às medições.
• Assim, a ABNT é credenciada pelo INMETRO para fazer
“certificações de empresas em normas de qualidade”.
• Das competências e atribuições do INMETRO, destacam-se:
• Verificar normas que se refere às unidades de medida, métodos de medição,
medidas materializadas, instrumentos de medição e produtos pré-medidos;
• Manter e conservar os padrões das unidades de medida
• Fomentar a gestão da qualidade nas empresas brasileiras
Métricas
Métricas e Medição do Software
26
Métricas
• Definição (IEEE, 1990) “Medida quantitativa do grau que um
sistema, componente ou processo possui um determinado atributo”
• Forma quantitativa de avaliar a qualidade
• As métricas são usadas como indicadores (não verdades)
• Ajudam na tomada de decisão
IEEE. (1990). IEEE Standard Computer Dictionary: a compilation of IEEE standard computer glossaries. New York: IEEE 610.
27
Métricas
• Características de boas métricas
•
•
•
•
•
•
Cálculo simples (fácil de calcular)
Satisfazem noções intuitivas do atributo (não depende de variações)
Não ambígua (claridade no significado do valor)
Consistente em seu uso de unidades e dimensões (entre 1 ou 2 dim.)
Independente de linguagem de programação (implementação)
Mecanismo efetivo para informação sobre qualidade (útil)
28
Métricas: Tipos de métricas
• As métricas podem ser comumente divididas em :
• Métricas de produto: provêm indicadores para avaliar as
características de qualidade do software como um produto.
• Métricas do processo e métricas de projeto
• Métricas de processo: provêm indicadores para ajudar à
melhora dos processos no ciclo de vida do software.
• Métricas de projeto: provêm indicadores usados pelos gerentes
para adaptar fluxos de trabalho em projetos.
29
Métricas: Tipos de métricas
• Métricas também podem ser classificadas como diretas ou indiretas
• Métricas diretas (fundamentais ou básicas): são medidas
realizadas em termos de atributos diretamente observados;
• Exemplo: Complexidade ciclomática.
• Métricas indiretas: são medidas obtidas por derivação de outras
medidas, pelo geral a partir de medidas diretas.
• Exemplo: Analisabilidade (medida indireta) - esforço para diagnosticar
deficiências, falhas, ou partes a serem modificadas para corrigir problemas
• Número de linhas de código (medida direta)
• Número de filhos nas classes (medida direta)
30
Métricas: Tipos de métricas
• Métricas que também são classificadas como estáticas ou dinâmicas
• Métricas estáticas: métricas que não precisam da execução do
software para sua atribuição.
• Exemplos:
• Número de linhas de código (LoC)
• Pontos de função
• Pontos de usuário
• Métricas dinâmicas: métricas que precisam da execução do
software para sua atribuição.
• Exemplo: tempo de carregamento de uma página
31
Exemplo de Métrica: Linhas de Código (LoC)
• Vantagens
• Fácil de medir
• Muitos trabalhos sobre o assunto
• Algumas métricas empregam LoC para normalização de outras
• Exemplos: erros por KLOC, custo por KLOC
• Alguns principais problemas nas medidas de LoC (uso discutível)
• Dependente da linguagem de programação
• Produtividade com LOC penaliza bons designs
Exemplo de Métrica: Pontos de função
• É uma medida do tamanho funcional do software
• Permite realizar estimativas do software antes de sua implementação
• Análise de custos e recursos necessários do software
• Estimativa de complexidade do software
• Predizer o número de componentes e/ou linhas de código necessários
• Os pontos de função são baseados na medição de:
• Dados necessários
• Transações
33
Medição dos Pontos de Função
Medir funções
de transações
Obter
documentação
disponível
Determinar escopo
e fronteira do
sistema
Calcular
tamanho
funcional
Documentar e
reportar
Medir funções
de dados
34
Medição das funções de dados
• Identificar grupos lógicos de dados ou informações de controle
• Arquivo de lógica interna (ILF): dentro do escopo do software
• Arquivo de interface externa (EIF): fora do escopo do software, mas que são
referenciado pelo software ou mantido por outro software
• Exemplo: loja virtual
ILF
EIF
Pedido
Venda
Categoria
Produto
Cliente
35
Medição das funções de dados
• Complexidade dos arquivos lógicos internos (ILF) e externos (ELF)
36
Medição dos Pontos de Função
Medir funções
de transações
Obter
documentação
disponível
Determinar escopo
e fronteira do
sistema
Calcular
tamanho
funcional
Documentar e
reportar
Medir funções
de dados
37
Medição de funções transacionais
• Definição de processos elementares
• A menor unidade de atividade
• Tipos:
• Entrada externa: processa dados ou informações de controle enviada externamente
• Consulta externa: envia para fora da fronteira dados ou informação de controle
• Saída externa: similar a consulta externa, mas inclui lógica adicional de processamento
• O cálculo matemático cria dados derivados, mantém arquivo de lógica interna e/ou altera o
comportamento do sistema
38
Exemplo: loja virtual
Consulta externa
Entrada externa
Editar produto
Procurar produtos
Informar dados de compra
Loja
Adicionar produto na compra
Emitir relatórios
de venda
Ver dados do cliente
Emitir nota fiscal
Saída externa
39
Medição de funções transacionais
• Complexidade de processos de entrada externa
40
Medição de funções transacionais
• Complexidade de processos de consulta externa e saída externa
41
Medição dos Pontos de Função
Medir funções
de transações
Obter
documentação
disponível
Determinar escopo
e fronteira do
sistema
Calcular
tamanho
funcional
Documentar e
reportar
Medir funções
de dados
42
Calcular Tamanho Funcional
• Fórmula empírica
• Existem diversas organizações que definem o método de medição
• A formula varia dependendo se é de:
• Desenvolvimento
• Projeto de melhoria
• Ou se já foi feito um projeto de melhoria
• Alguns padrões ISO
•
•
•
•
•
ISO 20926 (IFPUG – International Function Point Users Group)
ISO 24570 (NESMA - Netherlands Software Metrics Association)
ISO 20968 (MRKII)
ISO 29881 (FISMA)
ISO 19761 (COSMIC)
• Ferramenta online:
https://w3.cs.jmu.edu/bernstdh/web/common/webapps/oop/fpcalculator/FunctionPointCalculator.html
FP = ∑(tam_func_de_dados) + ∑(tam_func_de_transacional)
43
Calcular Tamanho Funcional
• Considera a influência de 14 características
• Exemplo
•
•
•
•
Processamento de dados distribuídos
Desempenho é critico
Facilidade de operação e instalação
....
• O grau de influência (GI) de cada característica é de 0 ate 5
• O valor é ajustado em +/- 35%
Adj.FP = FP*[∑(GIi)*0.01 + 0.65]
44
O que mais se pode fazer com PF
• Estimar a carga de horas de trabalho com base nas LoC por PF
https://www.qsm.com/resources/function-point-languages-table
• Calcular homem-hora à Histórico da empresa
45
Pontos de Função: ISO20926 (IFPUG)
• O manual da IFPUG detalha como contar PF
• Manual é como medir PF evitando o máximo possível de decisões subjetivas
• Problemas e críticas
• Apesar das regras, existe alguma subjetividade
• Fórmula empírica
• O número não tem um significado real
• Necessário mapear linhas de código com carga de horas de trabalho, LoC,
e produção de LoC em pessoas/mês
46
License
• These slides are shared under a Creative Commons License. Under the
following conditions: Attribution, Noncommercial and Share Alike.
• See further details about this Creative Commons license at:
https://creativecommons.org/licenses/by-nc-sa/3.0/
• Slides not completely created by Chalco C. G. Slides based on Slides of
Vasconselos A. (amlv@cin.ufpe.br).
47
Referências
• ANSI/IEEE An American National Standard, IEEE Standards for Software Reviews and Audits.
ANSI/IEEE 1028 (2008)
• Fagan, M. E. (2001). Advances in software inspections. In Pioneers and Their Contributions to
Software Engineering (pp. 335-360). Springer.
• McConnell, S. (2005). Code Complete: Um guia prático para a construção de software. Bookman.
• IEEE. (1990). IEEE Standard Computer Dictionary: a compilation of IEEE standard computer
glossaries. New York: IEEE 610.
• ISO/IEC 20926. (2009). Software and Systems Engineering, Software Measurement, IFPUG
Functional Size Measurement Method, Practices Manual.
• ISO/IEC 25010. (2011). Software Quality Requirements and Evaluation (SQuaRE), the ISO 25000
series. Software Engineering
• Pressman, R. S., & Maxim, B. R. (2021). Engenharia de software: Uma abordagem profissional.
9ª edição. McGraw Hill Brasil.
48
Download