Você está na página 1de 64

Qualidade de Software

Desenvolvimento de Software e o Desafio da Qualiade


1

Introduo

Apresentaes Objetivos Critrio de Aprovao Estudo de Caso - Realizados em grupo e debatidos na sala de aula Parte I - 20% Parte II - 50% Parte III - 30% Estar aprovado o aluno que obtiver nota superior a 5,0.

Agenda

Qualidade Definio, Histrico, Conceitos e Benefcios Qualidade no Contexto de TI SWEBOK Metodologias de Desenvolvimento de Software (Reviso)

Qualidade Definio, Histrico, Conceitos e Benefcios


O que Qualidade? Um atributo essencial e distinto de alguma coisa ou algum; O grau de excelncia ou vala; A ausncia de qualquer defeito; Satisfazer as expectativas e requerimentos, declarados e nodeclarados, do cliente; Grau de conformidade de um produto em relao ao suas especificaes.

Qualidade Definio, Histrico, Conceitos e Benefcios


Breve Histrico de Qualidade

Qualidade Definio, Histrico, Conceitos e Benefcios


Breve Histrico de Qualidade

Qualidade Definio, Histrico, Conceitos e Benefcios


Evoluao do Conceito de Qualidade

TQM Garantia de Qualidade Controle Estatstico de Processos Inspeo

Qualidade Definio, Histrico, Conceitos e Benefcios


Inspeo
Inicialmente, trabalho artesanal (controle individual de cada tarefa); Sempre existiu a preocupao dos consumidores em inspecionar o produto recebido; Voltado para o produto acabado; No existia preocupao intrnseca com qualidade.

Qualidade Definio, Histrico, Conceitos e Benefcios


Controle Estatstico de Processos
Com a Revoluo Industrial, se tornou possvel a produo em massa de bens manufaturados; Tcnicas de amostragem e outros procedimentos estatsticos para mensurar a variabilidade encontrada na produo de bens e servios; Aparecimento do setor de controle de qualidade nas organizaes.

Qualidade Definio, Histrico, Conceitos e Benefcios


Garantia de Qualidade
O controle da qualidade passou a ser feito ao longo do processo produtivo e no mais somente no seu final; Criao do Ciclo de Deming (PDCA); nfase na preveno.

10

Qualidade Definio, Histrico, Conceitos e Benefcios


Gesto de Qualidade Total (TQM)
Deslocamento da anlise do produto para a concepo de um sistema de qualidade; Qualidade deixa de ser um aspecto do produto e de responsabilidade apenas de um departamento especfico e passa a ser um problema de toda a empresa; Pontos bsicos: - Foco no cliente; - Trabalho em equipe permeando toda a organizao; - Decises baseadas em fatos e dados; - Busca constante da soluo de problemas.
11

Qualidade Definio, Histrico, Conceitos e Benefcios


A moderna gesto da qualidade complementa o gerenciamento do projeto valorizando a importncia de: Satisfazer o Cliente: compreender, avaliar, definir e gerenciar expectativas para que os requerimentos do cliente sejam atingidos.

12

Qualidade Definio, Histrico, Conceitos e Benefcios


A moderna gesto da qualidade complementa o gerenciamento do projeto valorizando a importncia de: Satisfazer o Cliente: compreender, avaliar, definir e gerenciar expectativas para que os requerimentos do cliente sejam atingidos. Prevenir: A qualidade deve ser planejada, desenhada e construda. Ela deve prevenir defeitos e no apenas detect-los. O custo da preveno muito inferior ao custo da correo.

13

Qualidade Definio, Histrico, Conceitos e Benefcios


A moderna gesto da qualidade complementa o gerenciamento do projeto valorizando a importncia de: Satisfazer o Cliente: compreender, avaliar, definir e gerenciar expectativas para que os requerimentos do cliente sejam atingidos. Prevenir: A qualidade deve ser planejada, desenhada e construda. Ela deve prevenir defeitos e no apenas detect-los. O custo da preveno muito inferior ao custo da correo. Melhorar Continuamente: O ciclo do PDCA a base para a melhoria da qualidade. O uso de outras ferramentas e modelos como TQM, OPM3 e CMMI tambm importante.
14

Qualidade Definio, Histrico, Conceitos e Benefcios


Identificao das Partes Interessadas
Individuo ou Grupo de Indivduos com interesse comum no desempenho da organizao e no ambiente que opera A maioria das organizaes apresenta as seguintes partes interessadas: Clientes Fora de Trabalho Acionistas Proprietrios Fornecedores Sociedade OBS. A quantidade e denominao das partes interessadas pode variar em funo do perfil da organizao.

15

Qualidade Definio, Histrico, Conceitos e Benefcios


Percepo de Qualidade
Qualidade percebida de formas diferentes por grupos/entidades diferentes:
Stakeholders Cliente Scios Equipe de Projeto Sociedade Fornecedores Percepo Preo, Prazo Entrega, Produto conforme especificao Retorno de Investimento, Lucro Remunerao, Realizao Pessoal/Profissional Gerao de Empregos, Melhoria na Qualidade de Vida Parceria, Remunerao

16

Qualidade Definio, Histrico, Conceitos e Benefcios


Exemplo

17

Qualidade Definio, Histrico, Conceitos e Benefcios


Exemplo:
Parte Interessada

Necessidade

Traduo Tempo de Espera

Usurio / Pblico

Atendimento satisfatrio

Velocidade de Atendimento Solicitao Atendida

Atendimento em um Call Center

Atendentes

Atendimento de Satisfao do Usurio qualidade Ambiente Instalaes Fsicas adequado (Ergonomia) Atendimento ao maior Produtividade nmero possvel de chamadas

Superviso Infraestrutura Funcionando

HW, SW, URA, Roteamento de Chamadas funcionando adequadamente

18

Qualidade Definio, Histrico, Conceitos e Benefcios


Exemplo:
Parte Interessada

Necessidade Lucratividade

Traduo Melhora da relao receita x custo Maior possibilidade de lucro Reputao / Referncia Confiana

Diretores

Novos Negcios Imagem

Atendimento em um Call Center


Clientes Finais

Satisfao dos Clientes

Conhecimento do negcio do cliente

19

Qualidade Definio, Histrico, Conceitos e Benefcios


Percepo de Qualidade Atividade 1
Considere a prpria INFNET e identifique ao menos 5 partes envolvidas e, para cada uma delas sua percepo do que seria qualidade:
PARTE INTERESSADA NECESSIDADE TRADUO (termos prticos)

20

Qualidade Definio, Histrico, Conceitos e Benefcios


Percepo de Qualidade Mtricas Operacionais
Considere o quadro abaixo.

21

Qualidade Definio, Histrico, Conceitos e Benefcios


Percepo de Qualidade Mtricas Operacionais
Exemplo - Atendimento em um Call Center
Parte Interessada Necessidade Traduo Tempo de Espera Usurio / Pblico Atendimento satisfatrio Velocidade de Atendimento Solicitao Atendida Atendimento de Satisfao do Usurio qualidade Ambiente Instalaes Fsicas adequado (Ergonomia) Produtividade Superviso Infraestrutura Funcionando Objetivo Minimizar filas de atendimento Mtricas Indicador Minutos decorridos desde a chamada e o incio do atendimento Tempo de durao da chamada Valor 3 minutos 8 minutos 1/1.000 chamadas

Baixo nvel de reclamaes Maior conforto e sade dos funcionrios

Nmero de reclamaes por milhares

Atendentes

Reduo do nmero de ausncias por 1/50 motivo de sade funcionrios

Atendimento ao maior Maximizar utilizao dos Nmero de atendimentos por unidade 1/5 minutos nmero possvel de recursos (atendentes) de tempo chamadas HW, SW, URA, Roteamento de Chamadas funcionando adequadamente No haver rupturas ou problemas de indisponibilidade tcnica para operao

Taxa de operao

95%

22

Qualidade Definio, Histrico, Conceitos e Benefcios


Percepo de Qualidade Atividade 2
Considerando as necessidades encontradas na atividade 1, elabore e preencha um quadro similar para ao menos duas delas.

Parte Interessada

Necessidade

Traduo

Objetivo

Mtrica Indicador Valor

23

Qualidade no Contexto da TI Algumas questes bsicas: Por que o desenvolvimento de software to complicado?

Quais as causas mais comuns de fracassos de projetos de software? Como enfrentar o problema?

24

SWEBOK

25

SWEBOK

26

SWEBOK
SWEBOK Captulo 5

Terminologia Questes Chaves Teste e Outras Atividades Teste Unitrio Teste Integrado Teste de Regresso Teste de Sistemas Teste de Aceitao Teste de Instalao Entre outros...

27

SWEBOK
SWEBOK Captulo 5

Terminologia Questes Chaves Teste e Outras Atividades Teste Unitrio Teste Integrado Teste de Regresso Teste de Sistemas Teste de Aceitao Teste de Instalao Entre outros...

Experincia Baseado em Esp. Baseado no Cdigo Entre outros... De acordo com a(s) Tcnicas Utilizadas Avaliao dos testes Executados

28

SWEBOK
SWEBOK Captulo 5

Terminologia Questes Chaves Teste e Outras Atividades Teste Unitrio Teste Integrado Teste de Regresso Teste de Sistemas Teste de Aceitao Teste de Instalao Entre outros...

Experincia Baseado em Esp. Baseado no Cdigo Entre outros... De acordo com a(s) Tcnicas Utilizadas Avaliao dos testes Executados

Consideraes Prticas Atividades de Testes

29

SWEBOK
SWEBOK Captulo 11

30

SWEBOK
SWEBOK Captulo 11
1. Fundamentos de Qualidade de Software 1.1 tica e Cultura da Engenharia de Software 1.2 Valor e Custo de Qualidade 1.3 Modelos e Caractersticas de Qualidade 1.4 Melhoria de Qualidade

31

SWEBOK
SWEBOK Captulo 11
1.1 tica e Cultura da.Engenharia de Software
Atitude Disciplina Comprometimento Profissionalismo Suporte Gerencial Responsabilidades Treinamento

32

SWEBOK
SWEBOK Captulo 11
1.2 Valor e Custo de Qualidade Consideraes importantes:
Custo de preveno Custo de avaliao Custo das falhas

-Internas -Externas
Extenso de implementao (trade-offs) Papel do cliente

33

SWEBOK
SWEBOK Captulo 11
1.3 Modelos e Caractersticas de Qualidade Modelos e Normas:
ISO IEC CMMI MPS.BR ITIL COBIT eSCM

34

SWEBOK
SWEBOK Captulo 11
1.4 Melhoria de Qualidade Fatores associados:
Processos do ciclo de vida (metodologia); Processos de deteco, remoo e preveno de erros; Processo melhoria de qualidade.

35

SWEBOK
SWEBOK Captulo 11
2. Processos de Gerenciamento de Qualidade de Software 2.1 Garantia de Qualidade de Software 2.2 Verificao e Validao 2.3 Revises e Auditorias

36

SWEBOK
SWEBOK Captulo 11
2.1 Garantia de Qualidade de Software
Planos Processos & Padres Ferramentas Recursos
Ferramentas Processos & Padres

Garantia de Qualidade
Recursos

Planos de Garantia de Qualidade

37

SWEBOK
SWEBOK Captulo 11
2.2 Verificao e Validao
Verificao

- Testes (unitrios, sistemas, integrao, etc)


Validao

- Teste (aceitao) - Demonstrao - Prototipao - Simulao

38

SWEBOK
SWEBOK Captulo 11
2.3 Revises e Auditorias
Revises

- Revises Gerenciais - Revises Tcnicas - Inspees - Walk-Throughs


Auditorias
Tcnicas similares

39

SWEBOK
SWEBOK Captulo 11
3. Consideraes Prticas 3.1 Requerimentos de Qualidade das Aplicaes 3.2 Caracterizao de Defeitos 3.3 Tcnicas de Gerenciamento de Qualidade de Software 3.4 Medies de Qualidade de Software

40

SWEBOK
SWEBOK Captulo 11
3.1 Requerimentos de Qualidade das Aplicaes
Fatores de Influncia
- Criticidade
- Padres especficos de engenhara de software aplicveis - Mtodos e ferramentas - Oramento, pessoal, planos e cronograma de todos os processos - Uso pretendido e usurios - Grau de dependncia e confiabilidade

41

SWEBOK
SWEBOK Captulo 11
3.2 Caracterizao de Defeitos
Erros
Diferena entre o resultado computado e o resultado correto

Falta
Uma incorreo de um passo/processo/algortmo ou definio de dados em um programa de computador

Falhas
O resultado de uma falta

42

SWEBOK
SWEBOK Captulo 11
3.3 Tcnicas de Gerenciamento de Qualidade de Software
Estticas
Envolvem exame de documentao, do software e outras informaes, sem qualquer execuo

Dinmicas
Envolvem demosntraes e simulaes

Teste
Envolvem ferramentas autmatizadas de testes, testes executados por terceiros, etc.

43

SWEBOK
SWEBOK Captulo 11
3.4 Medies de Qualidade de Software
Mtricas baseadas em estatsticas

- Anlise de Paretto - Run Charts - Scatter Plots


Anlise de Tendncias Modelos de Predio

44

SWEBOK
HISTOGRAMA
O histograma um grfico de barras que mostra a distribuio de variveis. Cada coluna representa uma distribuio de freqncia. As freqncias so agrupadas estatisticamente na forma de classes onde se observa a tendncia central do valores e sua variabilidade. Esta ferramenta ajuda a identificar a causa de problemas em um processo pela forma e amplitude da distribuio. Exemplos de possveis aplicaes: Picos de atendimentos em um Call Center Perfil scio-economico da populao tendimento mdico (hospital) por periodo

45

SWEBOK
DIAGRAMA DE PARETO
O diagrama de Pareto um tipo de histograma ordenado por freqncia de ocorrncia. Ele mostra quantos defeitos foram gerados por categoria de causa identificada. Esta ferramenta est fundamentada no conceito conhecido como princpio 80/20, onde 80% dos problemas se devem a 20% das causas. Exemplos de possveis aplicaes: Razes pelas quais projetos fracassam Causas de insatisfaes de um produto Elementos de custo mais significativos de uma organizao 46

SWEBOK
GRFICO DE PARTIDA (RUN CHART)
O grfico de partida um grfico de linha que mostra as ocorrncias em ordem cronolgica. Ele mostra tendncias e variaes em um processo ao longo do tempo. A anlise de tendncia pode ser realizada atravs deste grfico. Grficos de partida so geralmente usados para monitorar: performance tcnica performance de custo e cronograma Exemplos de possveis aplicaes: Grficos de tendncias eleitorais Performance de processos Produtividade de uma empresa Eltrocardiograma

47

SWEBOK
GRFICO DE DISPERSO
O diagrama de disperso mostra o padro de relao entre duas variveis. Ele permite visualizar a alterao sofrida por uma varivel quando a outra se modifica, mas no garante uma relao de causa e efeito. Quanto mais prximos os pontos estiverem da linha diagonal, mais forte poder ser a relao entre as variveis estudadas. A correlao pode ser positiva ou negativa. Exemplos de possveis aplicaes: Volume de vendas por poca do ano Nmero de projetos com sucesso e experincia de seu gerente Nmero de defeitos e tempo de treinamento

48

Processos de Engenharia de Software


Atividade 3
Discusso em grupo:
Considere os conceitos de Qualidade apresentados e defina.
Quais deles so passveis de serem implementados em suas organizaes? Quais no o so?

Considere os seguintes pontos:


TQM Garantia de Qualidade Controle Estatstico de Processos Inspeo

Direcionamento Estratgico Objetivos de Negcios Cultura Corporativa Caractersticas do trabalho realizado Viabilidade econmica

E justifique sua resposta

49

Metodologias de Desenvolvimento

Definio
A metodologia de desenvolvimento de software ou metodologia de desenvolvimento de sistemas em engenharia de software um conjunto de prticas utilizada para estruturar, planejar e controlar o processo de desenvolvimento de um sistema de informao.

Modelos Existentes

(alguns)

Waterfall Prototype Incremental Spiral Rapid Application Development - RAD

Spiral Incremental Prototype Waterfall

RAD

50

Metodologias de Desenvolvimento
Waterfall
O mtodo Waterfall composto por uma srie de fases bem definidas e destinadas a serem executadas seqencialmente. Em teoria, cada uma delas s pode ser iniciada, quando a anterior tiver sido concluda. Essencialmente, comea com uma pesada fase de anlise e definio dos requisitos do sistema, seguida pelas fases de desenho, codificao, testes, validao e implantao. Uma outra caracterstica marcante deste mtodo o de que ele deva ser executado uma nica vez, desde seu incio at seu fim. Tipicamente, suas fases so: Anlise Desenho Construo Testes Implantao

51

Metodologias de Desenvolvimento
Prototype
Prototipagem de software, refere-se atividade de criao de prottipos de aplicaes de software, ou seja, verses incompletas do programa de software a ser desenvolvido. uma atividade que ocorre durante o ciclo de desenvolvimento e comparvel aos prottipos conhecidos como de outras reas, como engenharia mecnica ou de produo, arquitetura, etc. Um prottipo na rea de TI, simula normalmente apenas alguns aspectos das caractersticas do produto final e pode ser relativamente diferente da produto acabado. O objetivo convencional de um prottipo o de permitir que os usurios do software possam, mais objetivamente, avaliar as propostas dos desenvolvedores para o produto final, ao invs de ter que interpretar e avaliar o projeto com base em descries.

52

Metodologias de Desenvolvimento
Incremental
O desenvolvimento incremental fatia as funcionalidades do sistema em incrementos (pores). Em cada incremento, uma fatia de funcionalidade desenvolvida atravs de um trabalho multidisciplinar, a partir dos requisitos at a implantao. Este processo agrupa incrementos /iteraes nas seguintes fases: Iniciao identifica o escopo do projeto, os riscos e os requisitos (funcionais e no funcionais) a um nvel elevado, mas em detalhe suficiente para que o trabalho pode ser estimada. Elaborao desenvolve a arquitetura do sistema de forma a satisfazer seus requisitos, necessidades e restries. Construo, incrementalmente , desenvolve (codificao e teste) os objetos definidos e desenhados na elaborao das especificaes funcionais e tcnicas do sistema. Transio entrega/implementa o sistema no ambiente produo.

53

Metodologias de Desenvolvimento
Spiral
O modelo Espiral, tambm conhecido como o modelo de ciclo de vida em espiral, um modelo de desenvolvimento de software que combina caractersticas do modelo waterfall com o de prototipagem e mais aplicvel/indicado em projetos de grande porte e complexos. Basicamente, a idia o desenvolvimento evolutivo, utilizando o modelo em waterfall para cada etapa. No objetivo deste modelo definir inicialmente todos os requisitos e funcionalidades do sistema. Os desenvolvedores devem, em seu ciclo inicial se restringir aos requisitos e funcionalidades principais/prioritrias e obter feedback dos usurios/clientes para o prottipo desenvolvido. Com o conhecimento obtido, eles devem ento voltar para a definio e re-iniciar um novo cilco de desenvolvimento que ir adicionar mais funcionalidade ao produto criado no ciclo anterior. No existe um nmero pr-determinado de iteraes e isso definido, caso a caso ou projeto a projeto, dependendo de suas caractersticas.

54

Metodologias de Desenvolvimento
Spiral

55

Metodologias de Desenvolvimento
Rapid Application Development (RAD)
Rapid Application Development (RAD) se refere a um tipo de metodologia de desenvolvimento de software que utiliza um mnimo de planejamento em favor de prototipagem rpida. O "planejamento" do software desenvolvido atravs deste mtodo intercalado com o desenvolvimento do prprio software. Por conta disso, o desenvolvimento do software se torna considelvelmente mais rpido e seus requisitos mais fceis de serem alterados. No mtodo RAD, todo o ciclo comprimido, sendo que a participao extensiva do cliente/usurio da aplicao essencial para que se possa ter sucesso com este mtodo. O grau de formalismo mantido em um nvel mnimo e suficiente para suportar seu desenvolvimento.

56

Metodologias de Desenvolvimento
Rapid Application Development (RAD)
Exemplo de mtodos rpidos (RAD): Agile Modeling Agile Unified Process (AUP) Dynamic Systems Development Method (DSDM) Essential Unified Process (EUP) Extreme Programming (XP) Feature Driven Development (FDD) Open Unified Process (OpenUP) Scrum
(continuao)

57

Metodologias de Desenvolvimento
Fases do Ciclo de Desenvolvimento:
Embora exista uma srie de variaes, tanto em termos de fases como de nomenclatura, selecionamos as seguintes:
Anlise Desenho Construo Testes Implantao

58

Metodologias de Desenvolvimento
Fases do Ciclo de Desenvolvimento - Anlise

59

Metodologias de Desenvolvimento
Fases do Ciclo de Desenvolvimento - Desenho

60

Metodologias de Desenvolvimento
Fases do Ciclo de Desenvolvimento - Construo

61

Metodologias de Desenvolvimento
Fases do Ciclo de Desenvolvimento - Testes

62

Metodologias de Desenvolvimento
Fases do Ciclo de Desenvolvimento - Implantao

63

Interao das Metodologias


Desenvolvimento & Gerenciamento

Definio Iniciao

Anlise Planejamento

Desenho

Execuo Finalizao Implantao Testes

Construo

64