Você está na página 1de 47

Qualidade Total

Prof. Geiser Chalco Challco


email: geiseres@ufersa.edu.br

Slides not completely created by Chalco C. G.


Slides based on Slides of Vasconselos A. (amlv@cin.ufpe.br).

Sem: 2023-II PEX0198-Qualidade de Software 1


Revisão
• Conceito e Fundamentos da Qualidade
• Conceito de qualidade e seu histórico
• Como julgar a qualidade → intuitiva ( esperado – observado )
• Fatores que afetam a qualidade
• processo, tecnologia, pessoas, custo/tempo/cronograma
• Conceitos de complexidade e erro/defeito/falha

• O que é qualidade total (hoje)


• Qualidade do produto X Qualidade do processo
• Control, garantia e gestão de Qualidade

2
Qualidade do
Produto

3
Qualidade de Software
“O grau em que o sistema, componente ou processo atende:
• Os requisitos especificados
• As expectativas do cliente ou do usuário” (IEEE 610, 1990)

IEEE. (1990). IEEE Standard Glossary of Software Engineering Terminology. IEEE Std 610.12-1990, 1–84.
https://doi.org/10.1109/IEEESTD.1990.101064
Qualidade de Software
Como definir o grau para avaliar os requisitos?
• f(requisitos funcionais) = (req. esperados – req. observados )
• Considerar um modelo de qualidade  requisitos NÃO funcionais
• Garvin (1991) – 08 fatores/dimensões

5
Modelos de Qualidade do Produto
• Definem o significado de qualidade do produto de software
• Brown, J. R., Kaspar, H., Lipow, M., McLeod, G., & Merritt, M. (1978).
Characteristics of Software Quality. In TRW Series of Software Technology.
• McCall A. J. and Cavano, J. P. A framework for the measurement of software
quality. Proceedings of the software quality assurance workshop on Functional
and performance issues. 1978. (General Electrics Model)
• ISO 25000 – ISO/IEC/IEEE - Software product Quality Requirements and
Evaluation (SQUARE) - Guide to SQUARE. Systems Engineering, 41. 2005
• Auxiliam na especificação de requisitos
• Servem para medir a qualidade do Software

6
McCall's Software Quality Model
• Correção
• Confiabilidade
11 atributos de qualidade Operação • Eficiência
agrupados em 3 fatores de qualidade • Integridade
• Usabilidade

• Portabilidade • Manutenibilidade
• Reusabilidade Transição Revisão • Flexibilidade
• Interoperatibilidade • Testabilidade

7
Modelos de Qualidade de Software (SW)
• Fatores descrevem a visão externa do software e correspondem com
as características do software percebida pelos usuário.

• Atributos descrevem a visão interna do produto de software, indicando as


características percebidas pelos desenvolvedores ou membros da.
• Os atributos/subcaracterística (quality criteria) consideram:
• O grau em que algo é atendido
• Propriedades mesuráveis que definem critérios de qualidade
• Valores para medir o grau

8
Criterios de qualidade / propriedades mensuráveis
Acerca dos modelos de qualidade
• Cada stakeholder tem necessidades diferentes para cada característica
de qualidade (quality factor) no modelo de qualidade
• Exemplo : Usabilidade (e.g., McCall’s Quality Model: operability,
training, communicativeness, input/output volume, input/output rate.)
• Software educativo (AVA)
• Usuário/estudante: facilidade de aprender a usar os recursos educativos
• Professor: facilidade de aprender a fornecer e publicar conteúdo
• Gestor da escola: facilidade de aprender a monitorar/avaliar andamento
• Conclusão: é necessário considerar os diversos stakeholders para
avaliar a qualidade esperada do produto de software

10
Qualidade de
Processo

11
Tecnologia de
Desenvolvimento

Qualidade do
Qualidade do Qualidade das
Processo Pessoas
Produto

Custo, tempo e
cronograma

Sommerville, I. (2019). Engenharia de Software (10a edição). Pearson Universidades. 12


Modelos de Qualidade do Processo
• Contextualizam o software como Sistema de Informação (existente ou
em desenvolvimento)
• ISO 12207 - ISO/IEEC - Systems and Software Engineering - Software Life
Cycle Processes. (1995)
• ISO 15504 - ISO/IEEC - Information technology – Software Process
Improvement and Capability Determination (2004) → ISO33001 (2015)
• CMMI - Capability Maturity Model Integration (CMMI). v1.1. Carnegie
Mellon, Software Engineering Institute. (2002)
• Escopo é avaliar os processos envolvidos na aquisição, fornecimento,
desenvolvimento, operação, manutenção e descarte do SW

13
Modelos de Qualidade do Processo
• O que são processo para esses modelos?
• “Conjuntos de atividades inter-relacionadas que transformam insumos
(entradas) em produtos serviços (saídas)” - ISO 9000:20051

• Características do processo:
• O processo deve ter um objetivo
• Importância do valor da saída para a organização
• Um processo tem um cliente (quem avalia o valor)
• Pode cruzar as fronteiras da organização

14
Elementos de um processo de software
• Objetivo/resultado: aquilo de valor para o cliente que você espera atingir
• Estágios/fases: período de tempo em que as atividades do processo são
realizadas
• Disciplina : Grupo/categoria de processos com atividades relacionas (possuem
algum ou vários elementos em comum)
• Atividades/tarefas: atividades são conjunto de tarefas e tarefas possuem passos
específicos e explícitos que definem a execução do processo
• Papeis dos reesposáveis e dos envolvidos nas atividades/tarefas do processo
• Recurso
• Artefato

15
Acerca dos modelos de qualidade do processo

• Definem para cada processo (a ser avaliado):


• Propósito do processo (definição do processo)
• Objetivo/resultados esperados do processo
• Atividades e tarefas
• Não definem:
• Estágios/fases do processo
• Modelos de ciclo de vida do processo de SW
• Passos a serem executados no processo
• Papéis envolvidos no processo
• Artefatos, nem as ferramentas associadas ao processo

16
ISO 12207

17
Como aplicar o modelo de qualidade do processo?

• Empregar o modelo para descrever os processos do ciclo de vida do


desenvolvimento de software adoptado pela empresa.
• E.g. A empresa “X” emprega modelo sequencial para dev. de software de tipo “Y”

Definição e análises
de requisitos

Projeto

Implementação

Teste

Implementação
18
ISO 12207

19
Como aplicar o modelo de qualidade?
• Empregar o modelo para descrever os processos do ciclo de vida do
desenvolvimento de software adoptado pela empresa.
• E.g. A empresa “X” emprega modelo sequencial para dev. de software de tipo “Y”

Definição e análises
de requisitos

Projeto

Implementação

Teste

Implementação
20
Como aplicar o modelo de qualidade?
Modelo de referência do Framework de medição
processo (e.g. ISO 12207) (Plenitude de realizar cada processo?)

(1) Delineamento dos processos na


empresa “X” para desenvolver SW “Y”
(2) Define-se um framework comum para
medir cada um dos processos
Processo de avaliação
21
Processo de Software
Métodos, E.g. de fatores/características que podem ser
Procedimentos, usados no FRAMEWORK DE MEDIÇÃO
Padrões, Técnicas

• O procedimento usado em um processo é


monitorado? sim ou não
PROCESSO
• As ferramentas usadas durante o processo
apoiam e facilitam o monitoramento?

• As pessoas são treinadas ou tem habilidades


para compreender e usarem as ferramentas de
Pessoas habilitadas, monitoramento ?
Ferramentas
treinadas, motivadas
Como aplicar o modelo de qualidade?
Modelo de referência do Framework de medição
processo (e.g. ISO 12207) (Plenitude de realizar cada processo?)

Modelo de avaliação do
processo
(1) Delineamento dos processos na
empresa “X” para desenvolver SW “Y”
(2) Define-se um framework comum para
medir cada um dos processos
Processo de avaliação (3) Define-se como avaliar a capacidade
de efetuar quantos/quais processos23
Qualidade Total
Alcançada mediante:
(1)Controle Total
(2)Garantia Total da Qualidade;
(3)Gestão de Qualidade

24
Motivação
• A razão de toda empresa são seus clientes
• A administração da empresa deve estar voltada para qualidade
• Atender os requisitos e satisfação das necessidades e expectativas dos clientes
• A empresa é um meio de atingir a satisfação não apenas dos clientes, mas também
de todas as pessoas associadas a ela (acionistas, empregados e fornecedores)
• Entretanto, as necessidades das pessoas mudam continuamente
• Assim, para a empresa sobreviver é necessário desenvolver novos produtos ou
serviços (melhores, mais baratos, mais seguros, de entrega mais rápida, etc.);
• Para produzir isso são necessários novos processos, de inovação contínua, que
têm como referência o cliente e os concorrentes.
Motivação
• E.g. de qualidade total

Pessoas Meios
Qualidade de produtos e serviços com alto valor agregado e
Consumidores custo proporcional à qualidade.
Remuneração justa, condições de trabalho adequadas,
Empregados crescimento profissional e pessoal.

Acionistas Produtividade e Lucratividade


Impostos e geração de recursos, preservação do meio
Comunidade ambiente, proteção de dados e geração de empregos.
Qualidade Total
Com base no exemplo, Qualidade Total é definida como:

1 – QUALIDADE INTRÍNSECA do produto ou serviço;


2 – CUSTO ou preço justo;
3 – ATENDIMENTO rápido ou prazo mínimo;
4 – MORAL ou ética sempre presente;
5 – SEGURANÇA para o cliente e as pessoas da organização.
Princípios da Qualidade Total
• Orientação pelo cliente: Produzir e fornecer serviços e produtos que
sejam definitivamente requisitados e necessitados pelo consumidor
• Qualidade em primeiro lugar: Conseguir a sobrevivência por meio do
lucro contínuo pelo domínio da Qualidade
• Ação orientada por prioridades: Identificar o problema mais crítico e
solucioná-lo pela mais alta prioridade
• Ação orientada por fatos e dados: Falar, raciocinar e decidir com
dados e com base em fatos
Princípios da Qualidade Total
• Controle de processos: uma empresa não pode ser controlada por
resultados, mas durante o processo.
• Controle da dispersão: Observar cuidadosamente a dispersão dos
dados e isolar a causa fundamental da dispersão
Princípios da Qualidade Total
• Próximo processo é seu cliente: O cliente é um “rei” ou uma “rainha”
com quem não se deve discutir, mas satisfazer os desejos, desde que
razoáveis.

Não deixe passar produto/serviço defeituoso !!!


O Qualidade Total em Software?
Com qualidade do
Produto de Software Com qualidade do
Processo de Software

Redução
Satisfação de Custo
do Cliente

Satisfação Atenção as
dos requisitos necessidades
Controle
Melhoria Contínua do Projeto
de Processos
Como chegar à Qualidade Total?
Gestão de Qualidade
Melhora continua (nos produtos e processos)
Planejamento da qualidade (proativa)
Envolvimento de clientes (atender eles é o foco) Garantia da Qualidade
• Em alguns casos também são envolvidos
fornecedores Controle da Qualidade
E.g. Modelagem e analises de BPM

Qualidade Qualidade
Minimizar e evitar defeitos/erro/falhas
do Produto do Processo
Natureza proativa
Foco principal é a qualidade dos processos
E.g. Auditoria de aderência a processos

Detecção e correção de defeito/erro/falha


Natureza reativa
Foco principal é a qualidade nos produtos
E.g. Verificação e Validação 32
Quando é atingido a Qualidade Total?
TQ = Controle Total + Garantia Total
• Controle Total é exercido por todas as pessoas da empresa, de forma
harmônica (sistêmica) e metódica de modo a satisfazer as necessidades de
todos os stakeholders

• Garantia Total é o verdadeiro objetivo de qualquer organização humana: visar


a satisfação das necessidades de todas as pessoas (e.g. stakeholders,
trabalhadores, fornecedores e comunidade associadas com a empresa)
• Efetuado com apoio de uma Gestão de Qualidade (Total)
Gestão da
Qualidade

34
Gestão da Qualidade
• Atividades coordenadas para orientar e controlar uma organização
com relação à qualidade (ISO9001:2015).
• Princípios de gestão da qualidade (com base na ISO9001:2015)
• Foco no cliente
• Liderança
• Competência e comprometimento das pessoas
• Abordagem de processo
• Melhoria (contínua)
• Decisão baseada em informações
• Gestão de relacionamento (relações de “ganha-ganha”)
Gestão de Qualidade de Software
Gestão de qualidade = atividades coordenadas para orientar e
controlar uma organização com relação à qualidade (ISO9001:2015).

• Garantia da Qualidade
• Buscar garantir que os processos (foco) e o produto sigam as clausulas e os
planos estabelecidos

• Controle da Qualidade
• Buscar garantir que os produtos (foco) e processos cumpram os objetivos da
qualidade (E.g. das Atividades: Inspeção e Verificação-Validação)

36
Gestão de Qualidade de Software
De acordo com Sommerville (2016), a gestão de qualidade de software
preocupa-se em garantir que o nível de qualidade exigido seja alcançado em
um produto/processo de software. Assim, há três preocupações principais:

• No nível organizacional, o foco é estabelecer uma estrutura de “processos e


padrões organizacionais” (governança) – gestão de qualidade total
• No nível do projeto, o foco envolve planejamento e aplicação de processos de
qualidade, incluindo a verificação do andamento (controle de qualidade).
• No nível do projeto, o foco também envolve o estabelecimento de um plano de
qualidade que deve estabelecer as metas de qualidade para o projeto e definir
quais processos e padrões devem ser usados (garantia de qualidade).

Sommerville, I. (2016). Engineering software products. 10th edition: Pearson.


Grupo de Garantia de Qualidade de Software
• O SEI (Software Engineering Institute) propôs as seguintes atividades
para o grupo de SQA (Software Quality Assurance)
• Preparar um plano de qualidade;
• Revisar as atividades dos engenheiros de software;
• Registrar os desvios e acompanhar seu conserto;
• Registrar discordâncias e escalonar para níveis superiores;
• Gerenciar mudanças e métricas do processo e produto do Software.
Atividades de Gestão da Qualidade no Processo
de Desenvolvimento de Software

Sommerville, I. (2016). Engineering software products. 10th edition: Pearson.


Planejamento e Plano de Qualidade
• O planejamento de qualidade consiste em definir em um plano as
qualidades desejadas do produto e como elas serão avaliadas,
incluindo a definição dos atributos de qualidade mais significativos.

• O plano deve também estabelecer quais padrões organizacionais e


padrões de projeto que devem ser aplicados e, quando necessário,
definir novos padrões a serem utilizados.
Estrutura de um plano de qualidade
• Estrutura geral de um plano de qualidade - Sommerville. I (2016)
• Introdução do produto
• Plano do produto
• Descrição do processo
• Objetivos de qualidade
• Risco e gestão de risco
• Planos de qualidade devem ser documentos curtos e sucintos
• If they are too long, no-one will read them!!!

Sommerville, I. (2016). Engineering software products. 10th edition: Pearson.


Acerca do planejamento e plano de qualidade

• Além de definir padrões, atividades e procedimentos a serem


executados, o plano de qualidade deve definir-se para cada projeto
• Alguns motivos são: escopo do projeto, processos, questões contratuais (e.g.
LGPD), exigências do cliente

• O planejamento e plano de qualidade não precisa ser burocrático


• Em equipes pequenas, projetos pequenos, o equipes ágil, a garantia de
qualidade se estabelece como parte de uma cultura de qualidade.
• Definir “Pronto” em SCRUM – inclui definição de critérios de qualidade
• Durante a programação em pares, o observer pode garantir de que se está
seguindo algum padrão de código estabelecido

42
Referências
• Fagan, M.E., Advances in Software Inspections, July 1986, IEEE Transactions on Software
Engineering, Vol. SE-12, No. 7, Page 744-751
• G. Gordon Schulmeyer, James I. McManus, Handbook of Software Quality Assurance, Prentice.
• IEEE Standards Software Engineering, Volume 1, IEEE Std. 610-1990
• Côrtes, Mario Lúcio; et al, "Modelos de Qualidade de Software", Editora UNICAMP, 2001.
• Lynn Carter et al, The road to CMMI: Results of the First Technology Transition Workshop
• Mary Beth Chrissis et al, CMMI for Development: Guidelines for Process Integration and Product
Improvement (3rd Edition) (SEI Series in Software Engineering)
• CMMI® for Development, Version 1.3, CMMI Product Team, Improving processes for developing
better products and services, November 2010, TECHNICAL REPORT, CMU/SEI-2010-TR-033,
ESC-TR-2010-033, Software Engineering Process Management Program (disponível em
http://resources.sei.cmu.edu/asset_files/TechnicalReport/2010_005_001_15287.pdf)
Referências
• SCAMPI Upgrade Team (March 2011). Standard CMMI Appraisal Method for Process
Improvement (SCAMPI) A, Version 1.3: Method Definition Document. Handbook CMU/SEI-
2011-HB-001. Software Engineering Institute (disponível em
http://resources.sei.cmu.edu/asset_files/Handbook/2011_002_001_15311.pdf).
• NBR ISO 900003 - Diretrizes para a aplicação da ISO9001 ao desenvolvimento, fornecimento e
manutenção de software
• Normas ISO/IEC NBR ISO/IEC 12207 - Processos de Ciclo de Vida
• Rocha, A. R. C. da; et al, "Qualidade de Software - Teoria e Prática", Prentice Hall, 2001
• Watts S. Humphrey, Managing the Software Process, ADDISON WESLEY
• KOSCIANSKI A., SOARES M. S., QUALIDADE DE SOFTWARE, NOVATEC, 2007
• Appraisal Requirements for CMMI (ARC), V1.1
Referências
• Koscianski, A., & dos Santos Soares, M. (2007). Qualidade de Software-2ª Edição: Aprenda as
metodologias e técnicas mais modernas para o desenvolvimento de software. Novatec Editora.
• Zanin, A., Pasqual Júnior, P. A, Rocha, B. C, Barreto, J. S, Gonçalves, P. F, Córdova Júnior, R. S.
(20). Qualidade de Software. Soluções Educacionais Integradas.
• DELAMARO, M. E.; MALDONADO, J. C.; MARIO, J. Introdução ao Teste de Software. 1ª ed.
Rio de Janeiro: Campus, 2007.
• PEZZÈ, M.; YOUNG, M. Teste e Análise de Software: Processos, princípios e técnicas. 1ª ed.
[S.1]: Bookman, 2008.
• SOMMERVILLE, I. Engenharia de Software. 9ª ed. São Paulo: Pearson, 2011.
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).

46
Preparação para próxima aula
1. Descreva o principal produto desenvolvido pela empresa de software onde
trabalha hoje, ou da empresa na qual gostaria trabalhar no futuro.
• Indique quem o stakeholder principal do produto de software.
• Indique dois fatores de qualidade que são essenciais nesse produto de
software. Justifique suas respostas.
• Indique dois atributos de qualidade para cada um dos fatores de qualidade
apontados como importantes no produto de software.
2. Descreva textualmente o processo de software que é empregado na empresa que
hoje trabalha ou na qual gostaria trabalhar no futuro. (se não conhece ou não
tem acesso à empresa descreva como você acha que é conduzido esse processo)
3. Preencher o documento de atividade individual disponível no SIGAA

47

Você também pode gostar