Baixe o app para aproveitar ainda mais
Prévia do material em texto
Engenharia de Software e Gerencia de Projetos Engenharia de Software e Gerencia de Projetos 2Qualidade – Conceitos e Processos de Certificação A construção de sistemas se deteriorou com o tempo, principalmente por dois motivos: o primeiro se deve ao fato do grande volume de oferta e escassez de profissionais capacitados para construção de sistemas e, o segundo em função do surgimento da microinformática, que deu oportunidade para jovens curiosos aprenderem uma linguagem de programação e produzirem software, normalmente com erros de construção e incompletos, não satisfazendo os usuários. Desta forma os produtos/serviços eram gerados com um nível de qualidade aquém das necessidades e expectativas das empresas. Com o tempo o mercado iniciou o processo de certificação e surgiram empresas que certificam. O processo de certificação é definido para atestar a qualidade dos produtos, serviços e conhecimento de profissionais. Atualmente, as empresas e profissionais certificados possuem credibilidade no mercado. Atualmente a qualidade é a disciplina da engenharia de software em destaque. Todos sabem construir sistemas, mas o importante é construir sistemas cumprindo todos os requisitos de qualidade. Então vamos lá! ● Conceitos de qualidade de software e sua importância na engenharia de software; ● Processos de certificação de produtos e serviços. Conceitos e aplicação; ● Conhecer os requisitos necessários para obter uma certificação de produto e serviço. ● Apresentar os conceitos aplicados na engenharia de software para obter qualidade nos resultados alcançados e conhecer os processos de certificação utilizados para aferir e chancelar a qualidade. Introdução Objetivo Tópicos Abordados Engenharia de Software e Gerencia de Projetos 3Qualidade – Conceitos e Processos de Certificação Conceitos de Qualidade de Software e sua importância na Engenharia de Software Qualidade de software A qualidade é uma disciplina da Engenharia de software aplicada para definir padrões e aferir seu cumprimento, garantindo a plena satisfação dos usuários. A implantação de um Programa de Qualidade começa pela definição e implantação de um processo de desenvolvimento. O processo de desenvolvimento de software deve estar documentado, compreendido e seguido. A qualidade do processo é essencial para se ter qualidade do produto. A avaliação de um produto/serviço é realizada a partir de um fluxo (Figura 1), que define as atividades necessárias, como a definição do que representa requisito de qualidade para aplicar as métricas e aferir se os valores apurados estão de acordo com a pontuação previamente definida. O software deve ter características que atendam às necessidades de todos os seus usuários, seja operacional ou técnico. Está relacionada a processos e produtos, pois estão fortemente ligados. É o conjunto de atividades realizadas para desenvolvimento e o produto representa a definição implementada e finalizada. Engenharia de Software e Gerencia de Projetos 4Qualidade – Conceitos e Processos de Certificação Para garantir a qualidade de produtos e serviços são criados modelos de certificação para diferentes áreas da organização por dois órgãos: Os modelos de certificação definem um conjunto de requisitos necessários para garantir a qualidade dos produtos/serviços gerados. A necessidade da certificação exige que as empresas produzam produtos/serviços dentro de um padrão pré-estabelecido. A seguir são apresentados os modelos de certificação: Certificação ISO 9000 A partir de sua criação surgiu o conceito de GQT (Gestão de controle de qualidade total): modelo padrão de gerenciamento e preocupação com a satisfação do cliente. Demonstra que o Sistema de Qualidade da Organização é efetivo. ● Tem como objetivo: ● Demonstrar a qualidade,; ● Facilitar a negociação comercial ; ● Reduzir riscos, desperdícios e custos. ISO (International Organization for Standardization) ISO (International Organization for Standardization) O processo de certificação acontece a partir dos modelos definidos e é desenvolvido por empresas autorizadas a atestarem a qualidade do produto/serviço e até conhecimento dos profissionais, gerando confiabilidade no mercado. Nos dias atuais não é uma opção para as empresas, mas parte de uma estratégia de sobrevivência em um mercado cada vez mais exigente e competitivo. Devem-se avaliar tanto os processos desenvolvidos pela empresa quanto os pacotes adquiridos em função da necessidade de saber se os requisitos do negócio estão sendo atendidos. Importante Engenharia de Software e Gerencia de Projetos 5Qualidade – Conceitos e Processos de Certificação SPICE A norma SPICE é um relatório técnico focada exclusivamente em software e é um modelo para avaliação de processos de software. Possui um modelo de referência dividido em 9 partes Conhecer os Requisitos Necessários para Obter uma Certificação de Produto e Serviço Oferece suporte a todo ciclo de vida do software. ISO 12207 Estabelece uma estrutura comum para os processos do ciclo de vida de software, com terminologia bem definida, que pode ser referenciada pela indústria de software. O modelo se aplica aquisição de: ● Software; ● Fornecimento; ● Desenvolvimento; ● Operação; ● Manutenção; ● Documentação ISO 15504 Apresenta uma estrutura para avaliação e melhoria do processo. O objetivo é identificar oportunidades de melhoria e verificar os riscos. Engenharia de Software e Gerencia de Projetos 6Qualidade – Conceitos e Processos de Certificação ISO 9126 Define seis características de qualidade e sub-características (Tabela 1) associadas a estas características. ● Funcionalidade ● Conjunto de atributos que evidenciam a existência de: Adequação, Acurácia, Interoperabilidade, Conformidade, Segurança. ● Confiabilidade ● Define a capacidade do software em manter seu nível de desempenho durante um período de tempo: Maturidade, Tolerância a falhas, Recuperabilidade. ● Usabilidade ● Define o esforço necessário para uso do software: Inteligibilidade, Apreensibilidade, Operacionalidade. ● Eficiência ● Define o nível de desempenho do software e a quantidade de recursos usados: Comportamento no tempo e dos recursos. ● Manutenibilidade ● Define o quanto o software está preparado para a realização da manutenção: Analisabilidade, Modificabilidade, Estabilidade, Testabilidade. ● Portabilidade ● Define o nível de esforço para transferência do software entre ambientes: Adaptabilidade, Instalabilidade, Portatilidade, Substituibilidade. Tabela 1 – Características ISO 9126 Fonte: Própria CMM (Capability Maturity Model) Foi definido pelo SEI e baseia-se em 5 níveis de maturidade para o processo. Cada nível representa um estágio de maturidade dentro do processo. Isso significa que uma empresa deve respeitar a seqüência dos níveis. Os níveis são definidos de acordo com um objetivo e possui uma lista de KPA´s (Áreas chave de processo) para guiar a avaliação, relacionadas abaixo (Tabela 2). Tabela 2 – Níveis de certificação CMM Fonte: Própria Por exemplo, uma empresa Nível 2 na próxima avaliação poderá passar para o Nível 3 e, não para o Nível 4 ou 5 diretamente. A ordem de aquisição de nível é crescente. Engenharia de Software e Gerencia de Projetos 7Qualidade – Conceitos e Processos de Certificação Tem como filosofia a necessidade de contínuos aperfeiçoamentos no processo. 5. Otimizado – Foco no aperfeiçoamento do processo ● Gerência de mudanças no processo ● Gerência de mudanças na tecnologia ● Prevenção de defeitos 4. Gerenciado – Processo medido e controlado. ● Gerência da qualidade de software ● Gerência quantitativado processo 3. Definido – Processo caracterizado e bem entendido. ● Revisões ● Coordenação entre grupos ● Engenharia do produto de software ● Gerência de software integrada ● Programa de treinamento ● Definição do processo da organização ● Foco no processo da organização 2. Repetível – Tarefas “mestras” podem ser repetidas continuamente. ● Gerência de configuração ● Garantia da qualidade de software ● Gerência de contratos de software ● Acompanhamento de projetos de software ● Planejamento de projetos de software ● Gerência de requisitos 1. Inicial – Processo pouco controlado. Depende da atuação da equipe. ● Processo é informal e imprevisível. Importante Engenharia de Software e Gerencia de Projetos 8Qualidade – Conceitos e Processos de Certificação CMMI (Capability Maturity Mode Integration) Um guia para implantação de procedimentos em empresas de TI (Tecnologia da informação) para melhoria contínua de seus processos. ● Tem como princípio: ● Focar o cliente interno,; ● Definir o estágio de evolução da empresa; ● Elaborar um guia destinado a melhorar os processos organizacionais e a habilidade desses em gerenciar o desenvolvimento,; ● Aquisição e manutenção de produtos e serviços ● 4 ou 5 diretamente. A ordem de aquisição de nível é crescente. Representa a integração dos princípios adotados pelas normas existentes até sua criação e considera 5 estágios de avaliação. Veja a seguir: ● Realização ● completa falta de planejamento e controle. As atividades são corretivas. ● Gerenciado ● Possui gerenciamento de projetos, experiências anteriores são reaproveitadas, acompanhamento da qualidade e gerência de configuração básica. ● Definido ● Elaboração de documentação para gerenciamento básico. Utilização de padrões, medições iniciais, testes padronizados, gerência de configuração. ● Quantitativamente gerenciado ● Processos entendidos, avaliados e controlados a partir de métricas coletadas. ● Otimização ● Melhoria contínua definida a partir da avaliação quantitativa e implantação planejada e controlada de tecnologias e idéias inovadoras. Visa um alto nível de qualidade com foco na melhoria contínua. São utilizadas metas gerais, como: comprometimento e habilitação de execução e direcionamento e verificação da implementação e, metas específicas relacionadas a natureza de cada empresa. O CMMI oferece orientações para as empresas alcançarem produtividade, qualidade e eficácia em seus procedimentos. Não é simples de ser realizado e exige mudança cultural nos processos de planejamento, qualidade e controle dos processos de desenvolvimento. Importante Engenharia de Software e Gerencia de Projetos 9Qualidade – Conceitos e Processos de Certificação Certificação em Teste de software A necessidade de se obter qualidade fez com que os testes de software tornassem essenciais no processo de desenvolvimento de software. Com isso, foram definidos Modelos de maturidade de processo de teste para dar suporte às organizações na melhoria do processo de testes e, também com o intuito de estar dando confiabilidade ao processo. Existem outros modelos, como: TPI - Teste Process Improvement e TCMM - Test Capability Maturity Model Possui as seguintes premissas: ● É um modelo complementar ao CMM com o qual mantém compatibilidade; ● É uma linha para a melhoria contínua do processo de testes; ● É baseado na avaliação da situação atual do processo de testes através de regras claras e objetivas; ● É um modelo baseado nas melhores práticas de teste existentes no mercado. Engenharia de Software e Gerencia de Projetos 10Qualidade – Conceitos e Processos de Certificação Avaliação a Distância 1 - Indique o nível de maturidade em relação ao objetivo descrito, considerando a norma CMM. Numere a segunda coluna de acordo com a primeira: Respostas - 1 - (E, D, A, B e C),, 2 - (F, F, V, V, V, V, V e V) A - Inicial B - Repetitivo C - Definido D - Gerenciado E - Otimizado A organização está engajada na melhoria contínua de seus processos, em fase de otimização. Medidas de qualidade e produtividade são coletadas em todos os projetos: avaliação e análise contínua do desempenho, com uma visão qualitativa. O sucesso do projeto está relacionado ao empenho da equipe. Os processos utilizados são estabelecidos e padronizados em toda a organização. Os projetos usam processos que são definidos, documentados, usados, disseminados, medidos, fiscalizados e com rotinas de melhoria. 2 - Marque Verdadeiro ou Falso. A meta principal do CMMI é o atendimento ao produto; Ao final do processo de certificação o auditor pode definir o melhor nível para enquadramento, independente do nível que a empresa se encontrava; Utilizar a metodologia CMMI exige mudança cultural: São utilizados 5 Níveis de Maturidade para analisar a qualidade do Processo; Podemos considerar dois tipos de Avaliação no processo de análise de certificação de qualidade: Avaliação ao longo do processo de desenvolvimento e Avaliação de pacotes; O CMMI é uma integração dos princípios adotados pelas normas existentes até sua criação. A qualidade de software está relacionada a processo e produto. A principal característica do CMM é ter como filosofia a necessidade de contínuos aperfeiçoamentos no processo. Engenharia de Software e Gerencia de Projetos 11Qualidade – Conceitos e Processos de Certificação 3 - Encontre as palavras-chaves que determinam a característica adotada pela ISO9126. Não se esqueça de ler as dicas! A - Esforço nas mudanças B - Interoperabilidade C - Minimização de esforço na utilização D - Relação desempenho x quantidade de recursos usados E - Tolerância a falhas F - Transferência de ambiente Portabilidade Eficiência Funcionalidade Usabilidade Confiabilidade Manutenibilidade Respostas - 3 - (F, D, B, C, E e A). Engenharia de Software e Gerencia de Projetos 12Qualidade – Conceitos e Processos de Certificação Atividade Complementar Conheça um pouco mais sobre o processo de certificação de produto e serviço. Visite a biblioteca virtual e acesse: http://www.isdbrasil.com.br/default.asp. Conheça um pouco mais sobre a associação latina americana de teste de software – ATLAS - Visite a biblioteca virtual e acesse http://www.alats.org.br/. Pesquise em artigos, revistas e livros a diferença entre CMM e CMMI. Engenharia de Software e Gerencia de Projetos 13Qualidade – Conceitos e Processos de Certificação Síntese Resumindo pode-se destacar desta unidade: ● A qualidade é uma disciplina da Engenharia de software. ● A qualidade é aplicada para definir padrões e aferir seu cumprimento para satisfazer plenamente os usuários. ● Quando se fala de usuário deve-se considerar o cliente operacional e o cliente técnico, ou seja, todo cliente que interagir de alguma forma com o software. ● A avaliação de um produto/serviço é realizada a partir de: definição do que representa requisito de qualidade para aplicar as métricas e aferir se os valores apurados estão de acordo com a pontuação previamente definida. ● A ISO 12207 estabelece uma estrutura comum para os processos do ciclo de vida de software ● A ISO 15504 apresenta uma estrutura para identificar oportunidades de melhoria e verificar os riscos. ● A ISO 9126 define o modelo de qualidade baseado em 06 requisitos técnicos: funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade, portabilidade. ● O modelo CMM possui 5 níveis de continuidade: realização, gerenciado, definido, quantitativamente gerenciado e otimização. ● O modelo CMMI exige mudança cultural nos processos de planejamento, qualidade e controle dos processos de desenvolvimento.● A ordem de aquisição de nível é crescente e os níveis não são pulados. ● O processo de teste de software possui modelos de certificação. ● PRESSMAN, R.G. Engenharia de Software. Rio de Janeiro: McGraw-Hill, 2002. 935p. ● SOMMERVILLE, I.. Software Engineering, 8 ed.-São Paulo: Pearson Addison - Wesley, 2007. Bibliografia Recomendada
Compartilhar