Qualidade de. Software. Definições. Qualidade do Produto ISO 9126. Processo de. Software. Modelo de Processo de. Software CMM SPICE ISO 12207



Documentos relacionados
Qualidade de Software: Visão Geral

Engenharia de Software

Padrões de Qualidade de Software

MODELO CMM MATURIDADE DE SOFTWARE

Padrões de Qualidade de Software e Métricas de Software

ISO Aécio Costa

QUALIDADE DE SOFTWARE AULA N.7

Qualidade de Software. Anderson Belgamo

QUALIDADE DE SOFTWARE

Qualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa

MODELO SPICE Software Improvement and Capacibilty Determination Avalia o software com foco na melhoria de seus processos (identifica pontos fracos e

CMM - Capability Maturity Model

Qualidade de Processo de Software Normas ISO e 15504

Universidade Paulista

Atividade da gerência da qualidade

CAPABILITY MATURITY MODEL INTEGRATION. Prof. Késsia R. C. Marchi

Qualidade na gestão de projeto de desenvolvimento de software

QUALIDADE DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE

CMM Capability Maturity Model. Silvia Regina Vergilio

Gerência de Projetos de Software Modelos de gerência. CMM: Capability Maturity Model ITIL: Information Technology Infrastructure Library MPS BR

Prof. Dr. Ivanir Costa. Unidade III QUALIDADE DE SOFTWARE

Qualidade de Software. Aécio Costa

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1

Delfraro Rodrigues Douglas M Gandini José Luiz CMM. Capability Maturity Model

Gerência de Projetos de Software CMM & PMBOK

Modelos de Qualidade de Produto de Software

Modelos de Maturidade. Porque estudar um Modelo de Maturidade? Descrevem as características de processos efetivos;

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto

O que é CMMI? Base do CMMI. Melhorando o processo é possível melhorar-mos o software. Gerais. Processo. Produto

Engenharia de Software II

Gerência e Planejamento de Projeto. SCE Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002

CHECK - LIST - ISO 9001:2000

CAPABILITY MATURITY MODEL FOR SOFTWARE. Eduardo Mayer Fagundes

Implantação de um Processo de Medições de Software

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL PEDROHOLI@GMAIL.COM CMM E CMMI

FACULDADE SENAC GOIÂNIA

C.M.M. Capability Maturity Model Modelo de Maturidade da Capacidade

21. Qualidade de Produto ou Qualidade de Processo de Software?

Políticas de Qualidade em TI

Processos de gerenciamento de projetos em um projeto

Sistema de Gestão da Qualidade

Introdução a CMMI. Paulo Ricardo Motta Gomes Renato Miceli Costa Ribeiro

Melhorias de Processos de Engenharia de Software

MASTER IN PROJECT MANAGEMENT

Introdução ao Modelo de Referência para melhoria do processo de software (MR mps) Projeto: mps Br melhoria de processo do software Brasileiro

ALESSANDRO PEREIRA DOS REIS PAULO CESAR CASTRO DE ALMEIDA ENGENHARIA DE SOFTWARE - CAPABILITY MATURITY MODEL INTEGRATION (CMMI)

Qualidade de Software

IC-UNICAMP IC-UNICAMP

NORMA ISO/IEC Isac Aguiar isacaguiar.com.br

Análise de Pontos por Função

Fatores humanos de qualidade CMM E CMMI

Atividades da Engenharia de Software ATIVIDADES DE APOIO. Atividades da Engenharia de Software. Atividades da Engenharia de Software

Engenharia de Software Qualidade de Software

Processo de Desenvolvimento de Software Workshop de Engenharia de Software

Qualidade de software

LEVANTAMENTO DE REQUISITOS. Lílian Simão Oliveira

Engenharia de Software

Unidade VI GOVERNANÇA DE TI. Profa. Gislaine Stachissini

CMMI. B) descrições das atividades consideradas importantes para o atendimento de suas respectivas metas específicas. Governo do ES (CESPE 2009)

Gerenciamento de Níveis de Serviço

Qualidade de software

Gerência de Projetos CMMI & PMBOK

Qualidade de Software Aula 6 / luis@garcia.pro.br

F.1 Gerenciamento da integração do projeto

F U N D A Ç Ã O E D U C A C I O N A L S Ã O J O S É. MODELOS DE MATURIDADE CMMI Capability Maturity Model Integration (CMMI)

Qualidade de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

Gerência de Projetos Prof. Dr. Sandro Ronaldo Bezerra Oliveira

Padrões de Qualidade e Métricas de Software. Aécio Costa

Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA-UFES Departamento de Computação

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

ISO 9001:2008. Alterações e Adições da nova versão

Processo de Implementação de um Sistema de Gestão da Qualidade

CES-32 e CE-230 Qualidade, Confiabilidade e Segurança de Software. Conceitos de Qualidade. CURSO DE GRADUAÇÃO e DE PÓS-GRADUAÇÃO DO ITA

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

17/02/2009. Curso Superior de Tecnologia: Redes de Computadores. Disciplina: Gestão de Projetos de TI Prof.: Fernando Hadad Zaidan. Unidade 2.

APRESENTAÇÃO DA DISCIPLINA QUALIDADE DE SOFTWARE. Isac Aguiar isacaguiar.com.br

Project and Portfolio Management [PPM] Sustainable value creation.

PLANEJAMENTO DO SISTEMA DA QUALIDADE - SIAC - NÍVEL C - EDIFICAÇÕES Empresa:

Alcançando Qualidade de Software com SW-CMM e ISO9000-3

CMMI: Capability Maturity Model Integration

Gerenciamento de Serviços de TI ITIL v2 Módulo 1 Conceitos básicos

Projeto de Sistemas I

Governança de TI. ITIL v.2&3. parte 1

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Introdução. Escritório de projetos

Método para aplicação de modelos de melhoria e avaliação do processo de desenvolvimento de software em sistemas críticos de segurança.

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

APOSTILAS: NORMAS; ABNT NBR ISO; MPS BR

Introdução ao MPS.BR Guia Geral. Prof. Elias Batista Ferreira

O padrão de gerenciamento de projetos

Políticas de Qualidade em TI

Introdução Visão Geral Processos de gerenciamento de qualidade. Entradas Ferramentas e Técnicas Saídas

Qualidade de Software

Normas e Padrões de Qualidade em Software - I

Metodologia de Gerenciamento de Projetos da Justiça Federal

Transcrição:

Qualidade de : Visão Geral ISO 12207: Estrutura s Fundamentais Aquisição Fornecimento s de Apoio Documentação Garantia de Qualidade Operação Desenvolvimento Manutenção Verificação Validação Revisão Conjunta Auditoria Adaptação SCE 186 - Engenharia de Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002 Resolução de Problemas s Organizacionais Gerência Infra-estrutura Melhoria Treinamento 2 OTIMIZADO 3 Qualidade de Qualidade é um termo que pode ter diferentes interpretações Existem muitas definições de qualidade de software propostas na literatura, sob diferentes pontos de vistas 4 Qualidade de Qualidade de Definição: Um produto de software apresenta qualidade dependendo do grau de satisfação das necessidades dos clientes sob todos os aspectos do produto [Sanders, 1994]. Definição: Qualidade de software é a conformidade a requisitos funcionais e de desempenho que foram explicitamente declarados, a padrões de desenvolvimento claramente documentados, e a características implícitas que são esperadas de todo software desenvolvido por profissionais [Pressman,1994]. 5 6 1

Qualidade de Aspectos Importantes das Definições de Qualidade Definição: Qualidade é a totalidade de características e critérios de um produto ou serviço que exercem suas habilidades para satisfazer às necessidades declaradas ou envolvidas [ISO9126 1994]. As definições enfatizam três aspectos importantes: 1- Os requisitos de software são a base a partir da qual a qualidade é medida. A falta de conformidade aos requisitos significa falta de qualidade; 7 8 Aspectos Importantes das Definições de Qualidade Aspectos Importantes das Definições de Qualidade 2- Padrões especificados definem um conjunto de critérios de desenvolvimento que orientam a maneira segundo a qual o software passa pelo trabalho de engenharia. Se os critérios não forem seguidos, o resultado quase que seguramente será a falta de qualidade; e 3- Existe um conjunto de requisitos implícitos que freqüentemente não são mencionados na especificação. Por exemplo, o desejo de uma boa manutenibilidade. 9 10 Requisitos de - Base da Qualidade Incorporação da Qualidade Usuário Desenvolvedor Organização Requisitos Requisitos atendidos PROCESSO DE SOFTWARE Desenvolvimento SOFTWARE PRODUTO SOFTWARE COM QUALIDADE padrões Padrões atendidos Raramente qualidade pode ser incorporada ao produto final, após o processo de desenvolvimento ter terminado. Dos requisitos do usuário à entrega do produto final, existe um processo de desenvolvimento que é complexo e freqüentemente envolve uma série de estágios que podem comprometer a qualidade do produto final. 11 12 2

Incorporação da Qualidade: Qualidade dos s Intermediários Incorporação da Qualidade: Qualidade do Final requisitos do usuário s Intermediários Cada produto intermediário tem certos atributos de qualidade que afetam a qualidade do produto intermediário da processo de desenvolvimento próxima fase e assim, afetam a qualidade Final do produto final. entrega do produto final 13 14 Qualidade: Objetivo do Desenvolvimento Atividades de Padronizaçã ção A qualidade do produto de software é um objetivo do processo de desenvolvimento. Assim, ao desenvolver-se um produto, deve-se ter previamente estabelecidas, como perspectiva, as características de qualidade que se desejam alcançar. Qualidade do ISO 9126 Qualidade do C MM ISO 12207 SPICE 15 16 ISO/IEC 9126 ISO/IEC 9126 Representa a atual padronização mundial As características são: para a qualidade de software produto. Funcionalidade - Satisfaz as necessidades? Baseada em três níveis: Características, Confiabilidade - É imune a falhas? Sub-características e Métricas. Usabilidade - É f á cil de usar? Cada característica é refinada em um conjunto de sub-características e cada sub-característica é avaliada por um conjunto de métricas. Eficiê ncia - É r á pido e enxuto? Manutenibilidade - É f á cil de modificar? Portabilidade - É fá cil de usar em outro ambiente? 17 18 3

ISO/IEC 9126 ISO/IEC 9126 Funcionalidade: Conjunto de atributos que evidenciam a existê ncia de um conjunto de funções e suas propriedades especificadas. As funções sã o as que satisfazem as necessidades explícitas e implícitas. 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. Usabilidade: Conjunto de atributos que evidenciam o esforç o necessá rio para se poder utilizar o software, bem como o julgamento individual desse uso, por um conjunto explícito ou implícito de usuá rios. 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. 19 20 ISO/IEC 9126 Manutenibilidade: Conjunto de atributos que evidenciam o esforç o necessá rio para fazer modificações especificadas no software. Portabilidade : Conjunto de atributos que evidenciam a capacidade do software de ser transferido de um ambiente para outro. Pessoas com habilidades, treinamento e motivação de Desenvolvimento Gerenciar o Ferramentas e Equipamentos Procedimentos e B métodos que definem A D o relacionamento C tarefas. de muito BEM definido 21 22 Definição Definição processo - uma sequência de passos realizados para um determinado propósito (IEEE). processo de software - conjunto de atividades, métodos, práticas e tecnologias que as pessoas utilizam para desenvolver e manter software e produtos relacionados (CMM). processo de software: Consiste em uma série de atividades, práticas, eventos, ferramentas e métodos que garantem, técnica e administrativamente que o software pode ser desenvolvido com qualidade e de maneira organizada, disciplinada e previsível. 23 24 4

Modelos de Modelos de Uma das maiores dificuldades encontradas pelas empresas de Um modelo de processo procura descrever formalmente e de maneira organizada todas as software é o gerenciamento de seus processos de software. atividades que devem ser seguidas para a obtenção segura de um produto de software. É importante escolher um modelo apropriado às metas da organização e saber o grau em que Modelos de esse modelo será implementado. Modelos CMM, SPICE e Bootstrap são padrões relacionados a processo de software. 25 26 Um Imaturo Um Imaturo Ad hoc; processo improvisado por profissionais e gerências. Não é rigorosamente seguido e o cumprimento A qualidade do produto pode ficar comprometida para que prazos sejam cumpridos. não é controlado. Altamente dependente dos profissionais atuais. Baixa visão do progresso e da qualidade. Arriscado do ponto de vista do uso de nova tecnologia. Custos de manutenção excessivos. Qualidade difícil de se prever. 27 28 Um Maturo Um Maturo Coerente com as linhas de ação, o trabalho é efetivamente concluído. Com o apoio visível da alta administração e outras gerências. Definido, documentado e melhorando constantemente: compreendido utilizado Bem controlado - fidelidade ao processo é objeto de auditoria e de controle. São utilizadas medições do produto e do processo. vivo e ativo Uso disciplinado da tecnologia. 29 30 5

Maturidade de Modelo de : Benefícios de uma melhoria baseada em um modelo: : A qualidade do processo de software pode ser Estabelece uma linguagem comum. analisada através do nível de maturidade do processo. A maturidade dos processos de software de uma organização influencia na sua capacidade de atingir metas de custo, qualidade e cronograma. Constrói um conjunto de processos e procedimentos desenvolvidos com sugestões de uma ampla participação da comunidade de software. Oferece uma estrutura para se priorizar as ações Provê uma estrutura para se realizar avaliações confiáveis e consistentes. Auxilia comparações em diversas indústrias. 31 32 Modelos de Valor da Melhoria de Riscos de uma melhoria baseada em um modelo Modelos são simplificações do mundo real. Modelos não são suficientemente abrangentes. Interpretação e adaptação à situações particulares devem estar ajustadas aos objetivos do negócio. É necessário bom senso para se utilizar modelos A melhoria do processo de software oferece um retorno no investimento que pode ser medido - quando é medido. Benefícios adicionais são intangíveis e não podem ser quantificados facilmente. corretamente e com visão. O CMM é uma ferramenta útil para orientação no processo de melhoria. 33 34 Capability Maturity Model (CMM) Capability Maturity Model (CMM) Maturidade de que auxilia as empresas a melhorar seus processos de software. 1986 - Engineering Institute (SEI) por solicitação do DoD que necessitava de um método O primeiro ponto importante a se observar no modelo CMM: É um modelo que se refere ao processo pelo qual o produto é construído. de avaliar a capacidade de seus fornecedores de software. 1991-1 a versão do CMM (Versão 1.0) 1993 - Versão 1.1 do CMM (atualmente usada) 35 36 6

Capability Maturity Model (CMM) Capability Maturity Model (CMM) Supõe-se que uma organização que possui um processo maduro tem maiores probabilidades de produzir bons produtos consistentemente do que uma outra cujo processo é imaturo e caótico. O CMM é um modelo de referência para a qualidade de processo de produção de software. Através de um processo formal de avaliação, uma organização é classificada em um nível de maturidade que varia de um a cinco. 37 38 Capability Maturity Model (CMM) O nível de maturidade indica em que medida os processos daquela organização são maduros. Quanto maior o nível de maturidade, melhores e mais maduros são os processos. 39 OTIMIZADO 40 processo de software. Cada Nível é considerado como prérequisito para o nível seguinte. Não é possível o salto de níveis. Cada nível apóia-se nas competências que a organização desenvolveu no nível imediatamente inferior. OTIMIZADO Os 5 Níveis do CMM são organizados de modo a estabelecer as prioridades na condução de programas de melhoria do 41 A organização não consegue cumprir previsões de custo, cronograma e a ISO qualidade 12207 do software é duvidosa. OTIMIZADO 42 7

A organização consegue estabelecer, com certa segurança, custos, prazos e funcionalidade. OTIMIZADO 43 Custo, cronograma e funcionalidade estão sob controle e a qualidade do software é acompanhada. OTIMIZADO 44 O Modelo CMM Os processos OTIMIZADO de software, tanto para atividades administrativas quanto para de engenharia estão documentados, padronizados e integrados em um processo de software padrão para a organização. Todos os projetos usam uma versão aprovada do processo de software padrão da organização August 02 45 para desenvolvimento e manutenção de software. Existe controle OTIMIZADO de qualidade sobre produtos e processos. 46 software. OTIMIZADO Existe prevenção de defeitos no processo de 47 Como Melhorar o? Realizando um grupo de atividades correlatas, denominadas ÁREAS- CHAVE DE PROCESSO - ( Key process areas - KPA) que, quando efetuadas coletivamente, alcançam um conjunto de metas consideradas importantes na implementação da competência do processo. 48 8

Exemplo: Áreas-chave de O Modelo CMM CMM (1) => (2) Inicial Repetível Definido Gerenciado Otimizado 6 7 2 GCS GQS GSS APS PPS atividades GR TOTAL 18 Áreas -chave de 3 49 6 - Gerenciamento da Configuração de 5- Garantia da Qualidade de 4 - Gerenciamento de Subcontrato de 3- Acompanhamento de Projeto de 2- Planejamento de Projeto de 1- Gerenciamento de Requisitos August 02 50 O Modelo CMM O Modelo CMM (1) => (2) 6 - Gerenciamento da Configuração de 5- Garantia da Qualidade de 4 - Gerenciamento de Subcontrato de Esta kpa tem o duplo objetivo de assegurar a qualidade tanto do produto sendo 3- construído Acompanhamento (o software) quanto de Projeto do processo de de sua construção. 2- Planejamento de Projeto de Em termos de produto, isso significa que o CMM exige que a organização defina 1- Gerenciamento métodos, técnicas e de padrões Requisitos para verificação da qualidade, estabelecendo, por exemplo, quais os tipos de teste que deverão ser realizados, o uso de revisões, inspeções etc. Já em relação ao processo, esta kpa procura garantir que todas as outras kpas estejam sendo respeitadas, garantindo, por exemplo, que o gerente de projetos esteja August fazendo estimativas corretamente usando o modelo definido para a 02 51 organização. (2) => (3) 7- Revisões (peer review ) 6 - Coordenação Intergrupos 5- Engenharia de de 4 - Gerenciamento de Integrado 3 - Programa de Treinamento 2- Definição do da Organização 1- Foco no da Organização August 02 52 O Modelo CMM SPICE (2) => (3) 7- Revisões (peer review ) 6 - Coordenação Intergrupos 5- Engenharia de de Objetivo: gerar normas para avaliação de 4 - Gerenciamento de Esta kpa Integrado procura garantir processos de software, visando a 3 - Programa de Treinamento que o processo de 2- Definição do da software Organização definido seja melhoria contínua do processo e a 1- Foco no da Organização executado de modo que determinação da sua capacidade. sejam produzidos produtos corretos e consistentes de forma August 02 eficaz e eficiente. 53 54 1993: SPICE ( Process Improvement and Capability determination) 9

Benefícios do SPICE Benefícios do SPICE Para avaliadores: uma estrutura que define todos os aspectos para conduzir avaliações. Para fornecedores: determinar a capacidade atual e potencial de seus processos de software. efetuar a melhoria ou uma estrutura que define um roteiro para a melhoria do processo de software. 55 56 Benefícios do SPICE Para os compradores: determinar a capacidade atual e potencial de um processo de software do fornecedor. identifica mudanças no Melhoria do leva é examinado pela AVALIAÇÃO DO PROCESSO leva motiva identifica capacidade e riscos do processo Capacitação do 57 58 Parte 8 Capacidade do do uma de Treinamento dos 59 Parte 8 Capacidade do do Treinamento dos A parte 1 fornece os conceitos de avaliação de processo Parte de software 4 e o uso desses Medidas conceitos do uma no contexto de melhoria de processo e Construção, determinação Seleção e Uso da Modelo capacidade de Gerenciamento do processo. de 60 10

A parte 2 define um modelo ideal de processo de Parte 8 software Guia para Melhoria que de Capacidade do do forma a base para a avaliação uma de Treinamento dos 61 A parte Guia 3 para define Melhoria de critérios para pontuar a capacidade de processos em relação ao Construção, processo Seleção e Uso idealizado A escala de pontuação das Parte 8 práticas Parte básicas 6 Capacidade do do possui Treinamento uma dos escala que vai desde Não uma Adequado até Totalmente Modelo de Adequado Gerenciamento de 62 A parte 4 fornece um guia de orientação para conduzir uma avaliação. Parte 8 organização. Capacidade do do A avaliação se aplica a todos os processos usados por uma uma Treinamento dos A parte 5 do modelo SPICE fornece diretrizes para Parte 8 construção um Capacidade do do instrumento de avaliação. uma Treinamento dos de 63 de 64 A parte 7 descreve como A parte 6 fornece orientação para a preparação e qualificação dos Parte 8 avaliadores para Capacidade do do que estes realizem a avaliação do processo de software. uma de Treinamento dos 65 Parte definir 1 as entradas para a avaliação do processo e como usar os resultados da Parte avaliação 8 para Parte o 6 propósito de melhoria de Capacidade do do Treinamento dos processo. uma de 66 11

Parte 8 Capacidade do do Treinamento dos uma A parte 8 descreve como finir entradas para a avaliação do processo e como usar os resultados da avaliação para o de propósito de determinar a capacidade do processo. 67 Parte 8 A parte 9 contém Capacidade um dicionário do do Treinamento dos envolvendo todos os termos utilizados nas outras partes Parte do SPICE. 3 uma de 68 ISO 12207 ISO 12207: Estrutura ISO/IEC 12207 - Information Technology Life-Cycle Processes. s Fundamentais Aquisição s de Apoio Documentação NBR ISO/IEC 12207 - Tecnologia da Informação - s de Ciclo de Vida de. Cobre todo o ciclo de vida de desenvolvimento do software desde a concepção das idéias iniciais sobre o software até ser retirado de execução. Fornecimento Garantia de Qualidade Operação Verificação Validação Desenvolvimento Revisão Conjunta Manutenção Auditoria Resolução de Problemas s Organizacionais Gerência Infra-estrutura Adaptação 69 Melhoria Treinamento 70 ISO 12207: s ISO 12207: s Os processos são agrupados em três classes de acordo com suas naturezas [ISO 12207]: s Fundamentais s de Apoio s Organizacionais s Fundamentais: englobam as atividades referentes ao contrato entre o cliente e o fornecedor, ao desenvolvimento, à operação e à manutenção do software. s de Apoio: auxiliam outros processos como parte integrante dos mesmos, com propósitos distintos contribuindo para a qualidade do projeto de software. 71 72 12

ISO 12207: s ISO 12207 s Organizacionais: estabelecem e implementam uma estrutura que forneça uma base aos processos e ao pessoal envolvido no desenvolvimento de software. Atividades Adaptação: define as atividades necessárias para adaptar a norma a uma dos s Fundamentais organização ou projeto específico. 73 74 ISO 12207 ISO 12207 Atividades dos s Fundamentais (cont.) Atividades dos s de Apoio 75 76 ISO 12207 Conclusão produto processo Atividades dos s Organiza- Maturidade do processo de Qualidade cionais 77 78 13