Gerencia de Qualidade de
Software
Garantia da Qualidade de Software (SQA)
https://sites.google.com/site/thiagoaalves/ thiago.augusto2@anhanguera.com
Conteúdo Programático
Apresentação da disciplina e metodologia
de trabalho. Apresentação do Plano de Estudo e Aprendizagem. Introdução à Qualidade de Software.
Estudo dos fatores técnicos e humanos
que influenciam a qualidade de um software.
Garantia da Qualidade de Software
(SQA): conceito, importância e apresentação das técnicas.
Conteúdo Programático
Garantia da Qualidade de Software
(SQA): Impactos de um sistema de má qualidade.
CMMI. Introdução, diferenciação entre
qualidade de software e de processo. Estudo dos níveis CMMI. Abordagem das Key
Process Areas (KPA)
CMMI: abordagem dos aspectos práticos de
implantação do modelo. Apresentação de casos de sucesso na implantação, níveis
obtidos pelas principais empresas de TI ou não.
Conteúdo Programático
Norma ISO 15504 (Spice): conceituação,
utilização, metodologia de avaliação.
Normas MPS:BR e ISO 12207.
Modelos de Processo Pessoal e de Equipe
na Melhoria da Qualidade do processo de desenvolvimento de Software
Conteúdo Programático
Métricas de software: conceituação,
motivos para medição de um produto de software. Principais tipos e utilizações.
Qualidade de código. Programação:
Fatores de qualidade
Atividades de revisão de conteúdo e/ou
Trabalhos
Relembrando
Qualidade:
◦ Qualidade é um conceito subjetivo, que varia para cada local, época, tipo de produto e
pessoa que está avaliando.
◦ A qualidade é relativa. O que é qualidade para uma pessoa pode ser falta de qualidade para outra. (Weinberg)
Qualidade nada mais é do que satisfazer a
necessidade do cliente dentro do projeto. (Ricardo Vargas)
Relembrando
A qualidade esta associada as
necessidades do cliente.
Podemos considerar um Produto de
Qualidade aquele que apresentar as necessidades e desejos do cliente.
Relembrando
Existem muitos fatores que influenciam na
qualidade podendo ser humanos, técnicos, organizacionais, sociais dentre vários
Garantia da Qualidade de Software
Garantia da Qualidade de Software ou Software
Quality Assurance (SQA) é uma série
planejada de atividades de apoio que atribui
confiança ao software, de modo que as
exigências sejam devidamente estabelecidas e
produtos ou serviços estejam em conformidade com as normas especificadas através de uma
série de atividade abrangente que são
utilizadas em todo o processo do ciclo de vida de desenvolvimento do software.
Garantia da Qualidade de Software
A garantia da qualidade de Software pode
ser divididas em sete atividades:
1. Aplicação de métodos técnicos;
2. Realização de revisões técnicas formais;
3. Atividade de testes de software;
4. Aplicação de padrões;
5. Controle de mudanças;
6. Medição;
Garantia da Qualidade de Software
1- Aplicação de métodos técnicos Inicia com a atividade de análise dos
requisitos, através do entendimento das necessidades do cliente, onde o objetivo e compreender estas necessidades com o intuito de garantir que não
haja ambiguidades no entendimento,
formando uma base sólida para o inicio do projeto .
Garantia da Qualidade de Software
1- Aplicação de métodos técnicos A partir do levantamento destes
requisitos são utilizados modelos
gráficos para representar os requisitos de modo que possam ser visualizados de
diferentes formas, e sejam identificadas divergências.
Garantia da Qualidade de Software
2 - Realização de revisões técnicas
formais
A Revisão é a atividade onde o objetivo é
identificar erros para serem eliminados.
A revisão técnica formal (Formal Technical
Review – FTR) é um meio efetivo com o intuito de descobrir erros de qualidade e aperfeiçoar a qualidade de software.
Garantia da Qualidade de Software
3 - Atividade de testes de software Atividade onde o objetivo é encontrar
qualquer erro que possa ocorrer
enquanto o software estiver sendo usado, através de conjuntos de testes que tenha grande chance de encontrar erros.
Garantia da Qualidade de Software
4 - Aplicação de padrões
Atividade aplicada nos processos de
engenharia, onde o seu grau pode variar de acordo com fatores externos como clientes ou por imposições reguladoras de modo que a utilização de padrões pode variar de empresa para empresa.
Garantia da Qualidade de Software
4 - Aplicação de padrões
Uma vez tendo esse padrão oficializado,
planos devem ser estabelecidos para que esses padrões sejam atendidos.
Revisões Técnicas Formais podem ser utilizadas para avaliar o cumprimento
Garantia da Qualidade de Software
5 - Controle de mudanças
O Controle de mudanças é uma atividade que se
utiliza de procedimentos humanos e ferramentas automatizadas, seu objetivo é de
garantir consistência à medida que mudanças venham a ser solicitadas de modo que
evite mudanças descontroladas no software que poderia levar a falhas irreparáveis, o controle de mudança é uma atividade que está submetida ao Gerenciamento de Configurações.
Garantia da Qualidade de Software
6 - Medição
Medição é o resultado da análise de um ou mais
pontos de dados, a partir de uma métrica do
software, onde essas métricas abrangem um
amplo conjunto de medidas técnicas do software. A medição é uma atividade importante para
atender a uma necessidade do grupo de SQA,
orientada para a administração, que é de rastrear e avaliar o impacto decorrente de mudanças
sobre a qualidade do software, onde é de coletar uma métrica de software para realizar a medição.
Garantia da Qualidade de Software
7 - Manutenção de registros e reportagem A manutenção de registros e reportagem e
uma atividade que conclui em tempo que deve estar sempre disponível para as atividades de SQA, a todos os profissionais envolvidos, oferecendo mecanismos de coleta e disseminação da informação decorrente dos resultados obtidos em testes, auditorias entre outras atividades de SQA, de modo que este
conhecimento possa ser facilmente adquirido e por sua vez apoiar atividades de desenvolvimento
e manutenção, além de poder comprovar a qualidade de um software baseada em seus processos.
Reflexão
Se adotarmos todos os conceitos vistos
para Garantia de Qualidade de Software, podemos garantir que 100% do nosso
Software vai apesentar qualidade? Vai ser um Software de Qualidade?
Garantia da Qualidade de Software
Kaizen
Kaizen é uma palavra de origem
japonesa que significa mudança para melhor, usada para transmitir a noção de melhoria contínua na vida em
geral, seja ela pessoal, familiar, social e no trabalho.
Kaizen
No contexto empresarial, o kaizen é uma
metodologia que permite baixar os custos e melhorar a produtividade. Considerado
como o pai do kaizen, o professor japonês
Masaaki releva a importância do gemba (termo japonês que significa "local real"), o local de
trabalho onde o verdadeiro valor é criado. Além disso, o envolvimento de todos os colaboradores da empresa é essencial no kaizen, porque esta é uma metodologia que não se concentra nas elites.
Kaizen
Segundo o kaizen, é sempre possível fazer
melhor, nenhum dia deve passar sem que alguma melhoria tenha sido implantada, seja ela na estrutura da empresa ou no indivíduo. As mudanças feitas devem ser graduais e nunca bruscas, para não
perturbar o equilíbrio da estrutura. O Sistema de produção da Toyota é
conhecido pela sua aplicação do princípio do kaizen.
Kaizen
Para o kaizen, trabalha-se e vive-se de
forma mais equilibrada e satisfatória possível, se pelo menos três quesitos
forem atendidos: estabilidade financeira e emocional ao empregado, clima
organizacional agradável e ambiente simples e funcional.
Kaizen
Bases do sistema 5S (Toyota)
◦ Método de trabalho com foco no indivíduo;
◦ Soluções baseadas em práticas de trabalho e disciplina;
◦ Figura: Organização de pastas;
◦ Aplicadas a toda a empresa e no espaço individual do funcionário:
Objetos, papéis, canetas devem estar organizados;
Kaizen
◦ Identificadas 7 fontes de desperdício
Produção em excesso; Tempo de espera; Transportes; Estoques inúteis; Processo de fabricação; Movimentos inúteis; Peças defeituosas.
Kaizen
Os 5 “S”:
◦ Seiri (descarte): tudo que é desnecessário pode ser jogado fora;
◦ Seiton (arrumação): organização do espeço e métodos de trabalho;
◦ Seisoh (limpeza): sua, do espaço de trabalho e das ferramentas;
◦ Seiketsu (asseio): padronização. Ferramentas guardadas sempre no mesmo lugar, na mesma posição;
◦ Shitsuke (disciplina): progresso. Disciplina na postura interna das pessoas;
Kaizen
Aplicando o Kaizen à construção de software
◦ Problemas como desperdício de má organização são resultado do trabalho das pessoas;
◦ Seiri: simplificação. Implementar somente funções necessárias;
◦ Seiton: diagramas e demais documentos devem ser identificados e, quando preciso, referenciar-se entre si de forma clara e
precisa;
◦ Seisoh: rotinas não utilizadas devem ser descartadas (diagramas, documentos e qualquer arquivo que não tenha mais aplicação);
◦ Seiketsu: nomenclatura de identificadores, formato de comentários e outros elementos deve seguir um padrão;
◦ Shitsuke: atitude interna das pessoas, desvinculado do trabalho. Qualidade de vida no ambiente de trabalho;
Kaizen
Kaizen e muito mais uma Filosofia do
Kaizen
Método x Filosofia de trabalho
◦ Método: maneira de solucionar um problema em que as informações são conhecidas de antemão:
Métodos dos elementos finitos;
◦ Filosofia: sentido menos concreto. Relacionado a forma como se pensa:
Transparência, lealdade;
Vários fatores influenciam o comportamento ◦ “Interpretação” da lei;
◦ Pouca gente é honesta ao preencher relatórios de tempo;
Exercício
Faça uma reflexão e uma argumentação
sobre o seguinte comentário:
“Quando falamos de Qualidade, temos
que pensar mais em um Metodologia ou uma Filosofia?”
Estudo de Caso
“Existem empresas que já estão na versão 5 de
seu software, mas tem clientes que ainda usam a versão 3, porque os clientes morrem de medo de atualizar, por causa dos históricos de erros em novas versões – eles preferem os problemas já conhecidos. Empresas que levam o software ao cliente e uma tela não funciona, ou uma
correção de um problema que afetou outro
lugar no sistema e uma infinidade de questões.”
Comente os problemas de qualidade que podem ter acontecido diante do seguinte Cenário. Utilize a Técnica de BrainStorming para ajudar.
Resolução Turma
1. Conhecimento dos erros já trabalhados.
2. Perda da base de dados devido a atualização;
3. Existem requisitos que são implementados naquela
versão do software;
4. A minha plataforma não tem suporte para a versão
do sistema;
5. Atualização da Interface para a ferramenta;
6. Evitar a atualização em fator do tempo devido a
perda de tempo em relação ao requisitos que não estão funcionando devidamente;
7. Pode afetar a produtividade devido a alteração de
Referencias
http://www.leandromtr.com/garantia-da-qualidade-de-software-sqa/ http://www.linhadecodigo.com.br/artigo/1 712/qualidade-qualidade-de-software-e- garantia-da-qualidade-de-software-sao-as-mesmas-coisas.aspx *Referencias
MOLINARI, Leonardo. Testes de
Performance, Florianopolis: Visual Books, 2009.
BARTIÉ, Alexandre. Garantia da Qualidade
de Software, Rio de Janeiro: Campus, 2002.
BASTOS, Anderson; RIOS, Emerson;
CRISTALLI, Ricardo; MOREIRA, Trayahú. Base de conhecimento em teste de software. São Paulo: Martins Fontes, 2007.