Buscar

Tema 4 - Qualidade de Processo

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

DISCIPLINA: QUALIDADE DE 
SOFTWARE
TEMA 4: Qualidade de Processo
REFORÇANDO A 
APRENDIZAGEM
PONTOS PRINCIPAIS
Qualidade de Processo
A preocupação com a Qualidade de 
Software
Período Características
Anos 50 -Erros conhecidos, APÓS término do programa
Anos 70 -Análise/programação estruturada.
-Falta de consenso: teste ANTES do término
Anos 80 - Primeiras preocupações e PADRÕES com QUALIDADE de 
software
Anos 90 -Primeiros processos de testes. 
-Motivação: Bug do milênio.
Anos 
2000
-Estruturação dos procedimentos de testes dentro do 
processo de desenvolvimento. 
-Surgem excelentes ferramentas de testes. 
-QUALIDADE Total no processo de desenvolvimento e 
produto de software
A Crise do Software
Fatos reais - Projetos de Software
+ 30% dos projetos – CANCELADOS
+ 70% dos projetos – FALHAM as funcionalidades
Custos e Prazos EXTRAPOLAM a Previsão
Custos – em mais de 180% 
Prazos – em mais de 200% 
Custos do DESENVOLVIMENTO
80% - identificar e corrigir defeitos de programação
Qualidade do Processo
A Q u a l i d a d e d o S o f t w a r e 
d e p e n d e d a Q u a l i d a d e d e 
s e u P r o c e s s o d e 
D e s e n v o l v i m e n t o .
Processo de Desenvolvimento de 
Software
• Qualidade do produto não se atinge de forma espontânea.
• A qualidade dos produtos de software depende fortemente da 
qualidade do processo de software usado para desenvolvê-los. 
• Um bom processo de software não garante que os produtos de 
software produzidos são de boa qualidade, mas é um indicativo de que 
a organização é capaz de produzir bons produtos de software .
• A implantação de um Programa de Qualidade de Software começa, 
normalmente, pela definição e implantação de um processo de 
software.
O que é um processo?
• Cada processo recebe entradas
• Entradas são transformadas por um processo.
• Um processo gera saídas (os produtos do processo).
• Clientes são receptores das saídas.
• Fornecedores são provedores de serviços ou matérias-primas 
(entradas do processo).
Processo de Desenvolvimento de 
Software
• Conjunto de atividades, métodos, práticas
e tecnologias que as pessoas usam para
desenvolver e manter softwares
• O processo adequado garante que o
software será desenvolvido de maneira
organizada, disciplinada e previsível.
• O processo descreve formalmente e de
forma organizada as atividades que devem
ser seguidas para a obtenção segura de um
produto de software.
• A dificuldade está no gerenciamento do
processo (existem vários modelos), que
geralmente está dividido em fases.
Processo de Desenvolvimento de 
Software
• Análise: Analista com usuários. 
• Requisitos. Interesses → soluções para 
usuário
• Projeto (design): Projetista usa a tecnologia 
• Requisitos tecnológicos → tecnologia para 
usuário
•
• Implementação: Programador usa L.P.
• Escrita do código → Lógica de programação
• Testes: Testadores com programas / sistema
• Buscar defeitos e falhas nos sistema.
• Homologação ou Aceitação: Com usuários.
• Usuário aprovar o sistema (Participar de 
tudo !!!)
• Implantação: Instalação e treinamento
• Entrega o sistema. 
• Fim do ciclo de desenvolvimento
ANÁLISE
PROJETO
IMPLEMENTAÇÃO
TESTES
HOMOLOGAÇÃO
IMPLANTAÇÃO
A Normas ISO / IEC 12207
• identifica os Processos do Ciclo de Vida de Software.
• Estabelece uma estrutura comum para os processos de ciclo 
de vida de software, com terminologia bem definida, que 
pode ser referenciada pela indústria de software.
• Contém um conjunto de processos, atividades e tarefas 
projetado para ser adaptado de acordo com cada projeto de 
software.
• A estrutura cobre o ciclo de vida do software desde a 
concepção de ideias até a descontinuação do software.
A Normas ISO / IEC 12207
• Não pretende prescrever o nome, formato ou 
conteúdo explícito da documentação a ser 
produzida.
• Não prescreve um modelo específico de ciclo de 
vida ou métodos de desenvolvimento de software.
– As partes envolvidas são responsáveis pela seleção de um 
modelo de ciclo de vida para o projeto e pelo 
mapeamento dos processos, atividades e tarefas dentro 
desse modelo.
A Normas ISO / IEC 12207
• Processos possuem propósito e resultado(s). Todos os 
processos possuem pelo menos uma atividade. Os 
processos, junto com suas declarações de propósito e 
resultados, constituem um Modelo de Referência de 
Processo.
• Atividades são unidades de construção usadas para 
agrupar tarefas relacionadas. 
• Uma tarefa é uma cláusula detalhada para a 
implementação de um processo. Pode ser um requisito 
(deve - “shall”), uma recomendação (deveria -
“should”) ou uma permissão (pode- “may”).
• Notas são usadas quando uma informação explanatória 
é necessária para melhor descrever a intenção ou os 
mecanismos de um processo
A Normas ISO / IEC 12207
• Estrutura:
– 24 processos
• Agrupados em 4 categorias 
– 95 atividades
– 325 tarefas
– 224 resultados
A Normas ISO / IEC 12207
Processos Fundamentais Processos de Apoio
P
ro
cesso
 d
e A
d
a
p
ta
çã
o
Aquisição Documentação
Fornecimento Gerência de Configuração
Desenvolvimento
Operação
Garantia da Qualidade
Verificação
Validação
Revisão Conjunta
Manutenção
Auditoria
Usabilidade
Gerência de Resolução de Problemas
Gerência de Solicitação de Mudanças
Avaliação do Produto
Processos Organizacionais
Gerência Engenharia de Domínio
MelhoriaGestão de Ativos Infra-estrutura
Gestão de Programa de Reúso Recursos Humanos
Os processos Fundamentais da 
normas ISO / IEC 12207
• Aquisição: obter um produto e/ou serviço que satisfaça a necessidade expressa 
pelo cliente.
• Fornecimento: fornecer um produto ou serviço ao cliente que atenda aos 
requisitos acordados.
• Desenvolvimento: transformar um conjunto de requisitos em um produto de 
software ou um sistema baseado em software que atenda às necessidades 
explicitadas pelo cliente.
• Operação: operar o produto de software no seu ambiente e fornecer suporte 
aos clientes desse produto.
• Manutenção: modificar um produto de software/sistema após sua entrega 
para corrigir falhas, melhorar o desempenho ou outros atributos, ou adaptá-lo 
a mudanças no ambiente.
Os processos de Apoio da normas 
ISO / IEC 12207
• Documentação: desenvolver e manter registradas as informações do 
software produzidas por um processo.
• Gerência de Configuração: estabelecer e manter a integridade de 
todos os produtos de trabalho de um processo ou projeto e 
disponibilizá-los a todos os envolvidos.
• Garantia da Qualidade: fornecer garantia de que os produtos de 
trabalho e processos estão em conformidade com os planos e 
condições predefinidos.
Os processos de Apoio da normas 
ISO / IEC 12207
• Verificação: confirmar que cada produto de trabalho de software e/ou 
serviço de um processo ou projeto reflete apropriadamente os 
requisitos especificados.
• Validação: confirmar que são atendidos os requisitos de um uso 
específico pretendido para o produto de trabalho de software.
• Revisão Conjunta: manter um entendimento comum com os 
envolvidos (stakeholders) a respeito do progresso obtido em relação 
aos objetivos acordados e ao que deveria ser feito.
• Auditoria: determinar, de forma independente, a conformidade dos 
produtos e processos selecionados com os requisitos, planos e 
contratos, quando apropriado.
Os processos de Apoio da normas 
ISO / IEC 12207
• Gerência de Resolução de Problema: assegurar que todos os 
problemas identificados são analisados e resolvidos e que as 
tendências são identificadas.
• Usabilidade: garantir que sejam considerados os interesses e 
necessidades dos envolvidos de forma a proporcionar otimização do 
suporte e do treinamento, aumento da produtividade e da qualidade 
do trabalho, melhoria das condições para o trabalho humano e redução 
das chances de rejeição do sistema por parte do usuário.
• Avaliação de Produto: garantir, através de exame e medição 
sistemáticos, que o produto atende às necessidades especificadas e 
implícitas dos seus usuários.Os processos Organizacionais da 
normas ISO / IEC 12207
• Gerência: organizar, monitorar e controlar a iniciação e a execução de 
qualquer processo de forma a atingir as suas metas de acordo com as 
metas de negócio da organização. É estabelecido por uma organização 
para garantir a aplicação consistente de práticas por parte da 
organização e dos projetos.
• Infraestrutura: manter uma infraestrutura estável e confiável, 
necessária para apoiar a execução de qualquer outro processo. A 
infraestrutura pode incluir hardware, software, métodos, ferramentas, 
técnicas, padrões e instalações para o desenvolvimento, a operação ou 
a manutenção.
• Melhoria: estabelecer, avaliar, medir, controlar e melhorar um processo 
de ciclo de vida de software.
Os processos Organizacionais da 
normas ISO / IEC 12207
• Recursos Humanos: fornecer à organização os recursos humanos 
adequados e manter as suas competências consistentes com as 
necessidades do negócio.
• Gestão de Ativos: gerenciar a vida dos ativos reutilizáveis desde a sua 
concepção até a sua descontinuação.
• Gestão do Programa de Reuso: planejar, estabelecer, gerenciar, 
controlar e monitorar esse programa em uma organização e 
sistematicamente explorar as oportunidades de reuso.
• Engenharia de Domínio: desenvolver e manter modelos, arquiteturas 
e ativos de domínio.
Exemplo de Tarefas de uma 
Atividade
• Atividades do Processo de Desenvolvimento na ISO/IEC 12207 
– Implementação do processo;
– Análise dos requisitos do sistema;
– Projeto da arquitetura do sistema;
– Análise dos requisitos do software;
– Projeto de arquitetura do software;
– Projeto detalhado do software;
– Codificação e testes do software;
– Integração do software;
– Testes de qualificação do software;
– Integração do sistema;
– Teste de qualificação do sistema;
– Instalação do software;
– Apoio à aceitação do software
Exemplo de Atividades de um 
Processo
• Tarefas da Atividade “Análise dos requisitos do software” na ISO/IEC 
12207:
– O desenvolvedor deve estabelecer e documentar os requisitos do 
software, incluindo as especificações das seguintes características de 
qualidade: 
– (i) especificações funcionais e de capacidade, 
– (ii) interfaces externas ao item de software, 
– (iii) requisitos de qualificação, 
– (iv) especificações de proteção, segurança e de engenharia de fatores 
humanos (ergonomia), 
– (vi) definição de dados e requisitos de bases de dados, 
– (vii) requisitos de instalação e aceitação do produto, 
– (viii) documentação do usuário,
– (ix) requisitos do usuário para execução, operação e manutenção. Um guia 
para especificar as características de qualidade pode ser encontrado na 
ISO/IEC 9126.
Onde estão a maior parte dos 
defeitos?
• A maior dificuldade esta na fase INICIAL, 
de entendimento do sistema - Requisitos –
ALTO grau de ABSTRAÇÃO + Comunicação 
com pessoas
• A segunda maior abrangência está na 
modelagem – ALTO Grau de ABSTRAÇÃO + 
domínio das técnicas
• O erros de codificação em si, representam 
um % pequeno, mostrando que o foco do 
problema não é da Implementação. 
Qualidade do Processo X 
Qualidade do Produto
Qualidade do ProdutoQualidade do Processo
Qualidade de Software
A Qualidade do Produto é o que 
buscamos.
A Qualidade do 
Processo é o 
meio para 
conseguirmos.
A Qualidade do produto é fortemente 
influenciada pela qualidade dos processos 
utilizados no seu desenvolvimento.
Onde aplicamos o controle de 
qualidade?
• NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE, A QUALIDADE NÃO ATUA 
COMO UMA FASE ESPECÍFICA – ELA ESTÁ EM TODAS AS FASES
QUALIDADE É ATUAR EM TODAS AS FASES – VERIFICANDO CONFORMIDADE 
COM OS PADRÕES E DEFINIÇÕES
Concepção Requisitos Design Codificação Testes Implantação
Qualidade
Gerenciamento da Qualidade
• GARANTIA DA QUALIDADE
• Padrões que garantam a qualidade do software
• PLANEJAMENTO
• Seleção de procedimentos e padrões adequados para o 
projeto
• CONTROLE
• Assegurar que o desenvolvimento tenha seguido os 
procedimentos e padrões de qualidade do projeto
A documentação do SW torna-se um instrumento 
fundamental para o CONTROLE DA QUALIDDE
Garantia da Qualidade
• Por melhores que sejam as técnicas de modelagem e especificação de 
software, por mais disciplinada e experiente que seja a equipe de 
desenvolvimento, sempre haverá um fator que faz com que o teste 
de software seja necessário: o erro humano.
Erros, Defeitos e Falhas
• Um erro (error) é uma diferença detectada entre o
resultado de uma computação e o resultado correto
ou esperado. Problema introduzido no software pelo
programador
• Um defeito (fault) é uma linha de código, bloco ou
conjunto de dados incorretos, que provocam um erro
observado. Problema encontrado no software pelos
testadores. É decorrente de um erro.
• Uma falha (failure) é um não funcionamento do
software, possivelmente provocada por um defeito,
mas também com outras causas possíveis. Problema
ocorrido no software por um erro não detectado pelos
testes.
Erros, Defeitos e Falhas
Curiosidade
Thomas Edison teve problemas de leitura em seu
fonógrafo com um inseto em 1878 e em todos os defeitos
industriais passou a denominá-los como bug.
Curiosidade
• Primeiro bug em computadores – 1947
– Os engenheiros que trabalhavam com a máquina Harvard Mark I, 
encontraram um inseto nos circuitos. Este inseto estava causando 
um erro nos cálculos da máquina. Ao ser encontrado, o inseto foi 
retirado e colado no livro de registro com a intenção de registrá-lo 
como o primeiro bug encontrado.
Formas de Detecção de Erros
• Testes
– Execução do programa em um ambiente controlado e 
verificação da saída produzida
• Revisões
– Inspeções
– Walkthroughs
• Métodos Formais 
– Software provado correto
• Análise Estática
– Detecta condições sujeitas a erros
Orientações Gerais
• Satisfação do Cliente. Entender, avaliar, definir e gerenciar as 
expectativas para que os requisitos do cliente sejam atendidos. Para 
isso, é necessária uma combinação de conformidade com os 
requisitos (para garantir que o projeto produza o que ele foi criado 
para produzir) e adequação ao uso (o produto ou serviço deve 
atender às necessidades reais).
• Prevenção ao invés de Correção. A qualidade deve ser planejada, 
projetada e criada. O custo da prevenção dos erros é geralmente 
muito menor do que o custo de corrigir tais erros quando eles são 
encontrados pela inspeção ou durante o uso.
Orientações Gerais
• Melhoria Contínua. O ciclo PDCA (planejar-fazer-verificar-agir) é a 
base para a melhoria da qualidade conforme definida por Shewhart e 
modificada por Deming. Além disso, as iniciativas de melhoria da 
qualidade tais como o Gerenciamento da qualidade total (GQT), Seis 
sigma e Lean seis sigma devem aprimorar a qualidade do 
gerenciamento do projeto e também a qualidade do produto do 
projeto.
• Responsabilidade da Gerência. O sucesso exige a participação de 
todos os membros da equipe do projeto. Todavia, a alta direção, 
dentro dos seu escopo de responsabilidade pela qualidade, retém a 
responsabilidade pelo fornecimento dos recursos adequados, nas 
capacidades adequadas.

Mais conteúdos dessa disciplina