A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Engenharia de Software

Apresentações semelhantes


Apresentação em tema: "Engenharia de Software"— Transcrição da apresentação:

1 Engenharia de Software
Qualidade de Software Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

2 O que é qualidade? Capacidade de um produto ou serviço:
Realizar as funções esperadas Atender às expectativas do cliente Depende do cliente e da aplicação Conceito estendido: envolve outros atributos considerados importantes Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

3 Qualidade, segundo os gurus
“Quality is free” (Philip Crosby) benefícios superam os custos custo da não qualidade Ishikawa “Remova a causa principal e não os sintomas” “Não confunda os meios com os objetivos” “Objetivos devem levar em consideração os clientes” Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

4 Joseph Juran Duas visões da qualidade (custo e benefício): Três eixos:
centrada no cliente: mais qualidade representa mais custo centrada na empresa: redução de custos e defeitos mais qualidade representa menos custo Três eixos: planejamento, controle e melhoria Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

5 Armand Feigenbaum Total Quality Control Três passos
Liderança: gerenciamento contínuo e ênfase em excelência (não em reduzir falhas) Tecnologia moderna: todos devem se envolver, depto de qualidade sozinho não resolve Compromisso organizacional: comprometimento e relacionamento com o planejamento estratégico Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

6 Edwards Deming – os 14 pontos
Constância de propósitos Mudança filosófica Não depender de inspeção somente Fornecedores = parceiros Melhorar continuamente Treinar sempre e em todos os níveis Incentivar liderança Enfrentar e superar receios (bloqueios) Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

7 Edwards Deming – os 14 pontos
Quebrar barreiras entre áreas Eliminar slogans e exortações Eliminar cotas numéricas de trabalho, gerenciamento por objetivos Tratar e eliminar as razões de insatisfação dos trabalhadores (baixa produtividade) Instituir programa de melhoria pessoal Engajar todos na organização no programa de transformação Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

8 A cadeia de Deming Faculdade 7 de Setembro – Sistemas de Informação
Engenharia de Software – Prof. Ciro Coelho

9 PDCA - Ciclo de Deming/Shewhart
Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

10 Aspectos humanos da qualidade
Qualidade ligada à cultura organizacional Todos os grandes nomes da qualidade abordam questões culturais e pessoais Resistência a mudanças alta administração gerentes de nível intermediário base Processo de mudança deve se iniciar de cima pontos importantes de apoio nos vários níveis implantação piloto Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

11 Crise do software Abordagem tradicional com teste final
DoD americano verificou: grande percentual de sistemas encomendados e não usados; desperdício motivos: ou com problemas de confiabilidade ou não atendiam mais às necessidades do cliente Falta de foco no cliente: distância do especificado Foco no processo não basta esperar o produto final bons processos -> bons produtos Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

12 Promessas e realidade “There is no silver bullet” (Fred Brooks)
Ferramentas CASE Metodologias de desenvolvimento Ciclos de vida Técnicas A realidade: a melhoria é custosa e gradativa Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

13 Qualidade de Software No início: função estava no hardware
qualidade de software: funcionalidade ao substituir o HW Com a disseminação do software: confiabilidade Foco no produto: outros atributos de qualidade Foco no cliente TQM e processos Capabilidade e maturidade de processos Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

14 Qualidade de Software Histórico semelhante ao de manufatura
Grande resistência, dizia-se: “software é diferente” “arte e criatividade” “atividades não repetitivas” Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

15 Criatividade e procesos
projeto de desenvolvimento: entradas -> produto específico usa uma sequência de processos processo: uma coleção de entradas -> um tipo de saída rotinas repetitivas (especificar, inspecionar, projetar, codificar, testar, compilar, etc) produção baseada em processos Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

16 Criatividade e procesos
Como é possível usar as mesmas abordagens da manufatura? Melhorar/otimizar processos repetitivos que compõem a criação Liberar a capacidade criadora Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

17 Características de Qualidade do Produto – ISO 9126
Funcionalidade Conjunto de atributos que evidenciam a existência de um conjunto de funções e suas propriedades especificadas Sub-características: adequação acurácia interoperabilidade conformidade segurança de acesso Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

18 Características de Qualidade do Produto – ISO 9126
Confiabilidade conjunto de atributos que evidenciam a capacidade do software de manter seu nível de desempenho sob condições estabelecidas durante um período de tempo estabelecido Sub-características: maturidade tolerância a falhas recuperabilidade Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

19 Características de Qualidade do Produto – ISO 9126
Usabilidade conjunto de atributos que evidenciam o esforço necessário para se poder utilizar o software, bem como o julgamento individual deste uso, por um conjunto explícito ou implícito de usuários Sub-características: inteligibilidade apreensibilidade operacionalidade Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

20 Características de Qualidade do Produto – ISO 9126
Eficiência conjunto de atributos que evidenciam o relacionamento entre o nível de desempenho do software e a quantidade de recursos usados, sob condições estabelecidas Sub-características: comportamento em relação ao tempo comportamento em relação aos recursos Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

21 Características de Qualidade do Produto – ISO 9126
Manutenibilidade conjunto de atributos que evidenciam o esforço necessário para fazer modificações especificadas no software Sub-características: analisabilidade modificabilidade estabilidade testabilidade Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

22 Características de Qualidade do Produto – ISO 9126
Portabilidade conjunto de atributos que evidenciam a capacidade do software ser transferido de um ambiente para outro Sub-características: adaptabilidade capacidade para ser instalado conformidade capacidade para substituir Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

23 Qualidade é... Função Confiabilidade Durabilidade Desempenho Consumo
Tamanho Flexibilidade Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

24 Mas é também... Preço Prazo Serviços pós-venda Aspectos humanos:
exploração do trabalho respeito ao meio ambiente posição quanto à comunidade Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

25 Características de Qualidade do Projeto
Prazo O melhor produto do mundo entregue com atraso pode não servir pra nada Custo Se o custo for maior do que o previsto, alguém vai ter que arcar com os prejuízos, o cliente ou a empresa desenvolvedora Qualidade dos serviços Atendimento ao cliente, pós-venda etc. Satisfação do cliente Envolve os aspectos anteriores e a qualidade do produto, além de outros fatores Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

26 Gestão da qualidade Ferramenta de administração para atingir os objetivos do negócio Evolução da qualidade deve ser gerenciada como se fosse um projeto Articulação com os planos corporativos, principalmente o estratégico Planos são traçados a partir das expectativas dos clientes Foco no cliente não basta -> stakeholders Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

27 Gestão da qualidade Stakeholders: partes interessadas
Clientes são os mais importantes, mas: acionistas empregados: qualidade no ambiente de trabalho e no futuro profissional fornecedores e parceiros comunidade e meio ambiente Frequentemente os objetivos dos stakeholders são antagônicos Objetivo: atingir o equilíbrio, satisfazer a todos (win x win) Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

28 Controle da Qualidade Verificar se o artefato produzido tem qualidade
Exemplos de atividades Testes Revisões Encontro formal onde um ou mais artefatos são apresentados ao cliente, usuário ou outra parte interessada no produto para que seja(m) comentado e aprovado(s) Inspeções Encontro formal onde um ou mais artefatos são analisados pro uma pessoa ou grupo de pessoas para detectar erros, violações de padrões e outros problemas Foco na qualidade do produto Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

29 Garantia da Qualidade Estabelecer procedimentos e padrões que conduzam a um software de qualidade Padrões (ou normas) são a chave para a garantia da qualidade Padrões podem ser internacionais, nacionais ou organizacionais. Organizações de padronização: ISO, IEEE, ANSI, SEI etc Foco na qualidade do processo (contempla tanto produto quanto projeto) Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

30 Técnicas para garantir qualidade
Inspeção: exame (visual) de características dos produtos Teste: execução e comparação com os resultados esperados Auditoria: avaliação independente de produtos e processos Aplicação em produtos: inspeção, teste e auditoria Aplicação em processos: auditoria Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

31 Modelos/Padrões de Qualidade
Repositório das melhores práticas Referência para estabelecimento de processos Define métrica para avaliação e roteiro seqüencial para a melhoria, baseado na capacidade de processo Define “o quê“ deve ser feito, não o “como” Independente da tecnologia a ser utilizada Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

32 Modelos/Padrões de Qualidade
CMM/CMMI ISO/IEC (SPICE) CobiT ITIL Six Sigma MPS – Br ... Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

33 CMMI Faculdade 7 de Setembro – Sistemas de Informação
Engenharia de Software – Prof. Ciro Coelho

34 Maturidade de Processos
Processo IMATURO Ad hoc - improvisado Fortemente dependente dos profissionais Pouca produtividade geral Prazos e nível de qualidade difíceis de cumprir Mais riscos na adoção de novas tecnologias Precisa “apagar incêndios” freqüentemente Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

35 Maturidade de Processos
Processo IMATURO A maioria das organizações de software nessa situação são como “bombeiros” O fogo está sob controle Constantemente reativas – sem tempo para as melhorias Os bombeiros se queimam Seu único controle é: prevenção do incêndio Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

36 Maturidade de Processos
Processo MADURO: É bem conhecido por todos os envolvidos Permite auditoria da fidelidade ao processo Propicia adoção disciplinada de tecnologias Os papéis e responsabilidades são claramente definidos Permite acompanhamento da qualidade do produto Permite acompanhamento da satisfação do cliente O cronograma, custo e qualidade são alcançados Há melhoria contínua do processo Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

37 Maturidade de Processos
Processo MADURO: A organização possui uma infra-estrutura que efetiva e consistentemente aplica o processo Gerência deve “alimentar” a cultura de gestão – “se ninguém se importa, todo mundo esquece” Um processo institucionalizado resiste mesmo sem as pessoas que o definiram originalmente Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

38 Maturidade de Processos
IMATURO Processo improvisado pelas pessoas Processo não é seguido ou cumprido Grande dependência dos atuais desenvolvedores Baixa visibilidade do processo para seu progresso e qualidade Funcionalidade e qualidade do produto comprometidas para atender prazo Custos excessivos de manutenção Tecnologia  Processo MADURO Processo é definido, documentado e melhorado continuamente Processo é entendido, utilizado e “vivo” Processo suportado pela gerência Processo verificado e cumprido Grande visibilidade do processo alinhado ao negócio da organização Papéis e responsabilidades claramente definidas Processo  Tecnologia Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

39 CMM - Histórico Desenvolvido pelo SEI – Software Engineering Institute da Carnegie Mellon University no final dos anos 80 a pedido do Departamento de Defesa dos EUA (DoD) Watts Humphey foi o principal mentor do CMM Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

40 CMMI Capability Maturity Model Integrated
Desenvolvido pelo Software Engineering Institute (SEI) Evolução do CMM Objetivo: servir de base para a melhoria de processos da organização É um modelo, não é um processo!!! Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

41 CMMI Modelo de gestão da qualidade aplicável ao processo de desenvolvimento de software Descreve elementos chave para um processo eficaz e o caminho evolutivo para um processo maduro e disciplinado Busca da melhoria contínua, aprimorando a habilidade da organização para atender aos objetivos de custo, prazo, funcionalidade e qualidade do produto Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

42 CMMI Capability Maturity Model Integrated =
Engenharia de Software (SW) + Engenharia de Sistemas (SE) Desenvolvimento Integrado de Produtos e Processos (IPPD) Gerência de Fornecimento (SS) Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

43 CMMI Em relação ao CMM, o CMMI é:
Mais compatível com as práticas atuais de desenvolvimento de software Mais flexível Mais compreensível Mais complexo Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

44 CMMI - Visões Depende do tipo de negócio da empresa. Pode ser: SW
SW + SE SW + SE + IPPD SW + SE + IPPD + SS Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

45 CMMI - Representações Estágios Contínua
Melhoria de processos por níveis Cada nível contempla algumas áreas de processo Níveis de maturidade (1 a 5) Contínua Melhoria de processos por grupos de processo Níveis de capacidade (0 a 5) Mais flexível e mais confuso Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

46 CMMI - Estrutura Faculdade 7 de Setembro – Sistemas de Informação
Engenharia de Software – Prof. Ciro Coelho

47 CMMI Níveis de Maturidade
Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

48 CMMI Nível 1 - Inicial - organizações imaturas
Não há metodologia implementada Nível 2 - Repetível - disciplina e estabilidade Empresa consegue produzir no prazo com custo previsível Nível 3 - Definido - padronização e consistência Garante o nível de qualidade no produto e no processo Nível 4 - Gerenciado - medição e controle O processo é definido, quantificado e acompanhado Nível 5 - Otimizado - melhoria contínua Mudanças no processo não prejudicam o desenvolvimento Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

49 CMMI – Nível 1 Nível 1 - Inicial
Processo disforme e de baixa visibilidade Resultados são imprevisíveis Formas de controle muito pobres Enormes dificuldade para previsões de cronogramas orçamentos funcionalidades qualidade do produto Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

50 CMMI – Nível 2 Nível 2 - Repetível Disciplinado e estável
Procedimentos de gerenciamento de projetos Aproveitamento sistemático de históricos Padrões para projetos de software Acompanhamento de custos, cronogramas e funcionalidades Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

51 CMMI – Nível 2 Nível 2 - Repetível
Processos disciplinados garantem a reprodução de processo já utilizados em projetos bem sucedidos em aplicações semelhantes... Entretanto... A Gerência ainda é reativa!!!! Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

52 CMMI – Nível 2 Meta Genérica: institucionalizar um processo gerenciado
Práticas Genéricas Estabelecer uma política organizacional Planejar o processo Prover recursos Atribuir responsabilidade Treinar pessoal Gerenciar configurações Identificar e envolver stakeholders relevantes Monitorar e controlar o processo Avaliar aderência objetivamente Revisar status com gerência sênior Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

53 CMMI – Nível 2 Áreas de Processo (PAs) Gerenciamento de Requisitos
Planejamento do Projeto Acompanhamento do Projeto Gerenciamento de Fornecimento e Subcontratação Medição e Análise Garantia da Qualidade Gerenciamento de Configuração Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

54 CMMI – Nível 3 Nível 3 - Definido
As saídas de uma atividade fluem naturalmente para as entradas da atividade seguinte Os processos de software são Integrados no processo padrão da empresa Documentados Padronizados Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

55 CMMI – Nível 3 Nível 3 - Definido
Todos os projetos usam uma versão aprovada e individualmente adaptada do processo padrão da organização A Gerência é Pro-Ativa!!! Há um grupo para o estabelecimento dos padrões e multiplicação do conhecimento – SEPG (Software Engineering and Process Group) Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

56 CMMI – Nível 3 Meta Genérica: institucionalizar um processo definido
Práticas Genéricas Estabelecer um processo definido Coletar informações para melhoria Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

57 CMMI – Nível 3 Áreas de Processo (PAs) Desenvolvimento de Requisitos
Solução técnica Integração de Produtos Verificação Validação Foco no Processo Organizacional Definição do Processo Organizacional Treinamento Organizacional Gerenciamento Integrado de Projetos Gerenciamento de Riscos Alocação Integrada de Pessoas Gerenciamento Integrado de Fornecimento Análise de Decisão Ambiente Organizacional para Intgração Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

58 CMMI – Nível 4 Nível 4 - Gerenciado
Faz controle estatístico de processo Aponta causas da variação do processo Capacitação predizível Bases objetivas para tomada de decisão Gerência quantitativa de produto e processo Os processo de software e a qualidade do produto são medidos e controlados quantitativamente Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

59 CMMI – Nível 4 Meta Genérica: institucionalizar um processo quantitativamente gerenciado Práticas Genéricas Estabelecer objetivos quantitativos para o processo Estabilizar performance dos subprocessos Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

60 CMMI – Nível 4 Áreas de Processo (PAs)
Performance do Processo Organizacional Gerenciamento Quantitativo do Projeto Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

61 CMMI – Nível 5 Nível 5 - Otimizado
Foco na melhoria contínua do processo Melhoria contínua proporcionada por Realimentação quantitativa do processo Condução de novas idéias e tecnologias A organização tem capacidade gerencial para estimar e acompanhar quantitativamente o impacto e a eficácia das mudanças Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

62 CMMI – Nível 5 Meta Genérica: institucionalizar um processo em otimização Práticas Genéricas Garantir melhoria contínua do processo Corrigir causas (root causes) de problemas Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

63 CMMI – Nível 5 Áreas de Processo (PAs) Inovação Organizacional
Análise Causal Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

64 Exemplo – Gerenciamento de Requisitos
Gerenciar requisitos (objetivo específico) Obter entendimento dos requisitos (prática específica) Obter comprometimento quanto aos requisitos Gerenciar mudanças em requisitos Capturar mudanças em requisitos (subprática) Manter histórico de mudanças Avaliar impacto das mudanças Disponibilizar mudanças Manter rastreabilidade bidirecional de requisitos Identificar inconsistências entre requisitos e produtos de trabalho Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho


Carregar ppt "Engenharia de Software"

Apresentações semelhantes


Anúncios Google