Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Documentos relacionados
Agenda da Aula. Melhoria do Processo de Software. Por que melhorar o processo? De onde veio a idéia? Qualidade do Produto. Qualidade de Software

ENGENHARIA DE SOFTWARE. Introdução

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

CMM Capability Maturity Model. O que é isto???

Por que melhorar o processo? Melhoria do Processo de Software. De onde veio a idéia? Qualidade de Software

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

DCC / ICEx / UFMG. O Modelo CMMI. Eduardo Figueiredo.

Engenharia de Software

Capability Maturity Model

Qualidade de Software: Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa

Normas ISO:

Qualidade de Software (cont)

Engenharia de Software II

ENGENHARIA DE SOFTWARE

Engenharia de Software

Desenvolvido pelo Software Engineering Institute-SEI em 1992 Possui representação por estágios (5 níveis)e contínua (6 níveis)

Qualidade de Processo de Software. Simone S Souza ICMC/USP 2018

IDENTIFICAÇÃO DO CANDIDATO INSTRUÇÕES

PSP: Personal Software Process. PSP- Personal Software Process. PSP: Personal Software Process. PSP: Personal Software Process

Crise do Software. Crise de tecnologia - hardware caminha mais rápido que o software

ENGENHARIA DE SOFTWARE

Engenharia de Software

Engenharia de Software. Gerenciamento de Pessoal. Professor Joerllys Sérgio

Processos de software

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015

Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados. Evolução de Software

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Qualidade de Processo de Software CMM / CMMI

Engenharia de Software: Uma Visão Geral. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Qualidade de Software. Profª Rafaella Matos

3 Medição de Software

Capítulo 5 Gerenciamento do Escopo do projeto. Introdução. Antes de iniciarmos vamos pensar um pouco.

GESTÃO DA QUALIDADE DE SERVIÇOS GERENCIAMENTO DE SERVIÇOS

Melhoria de processos Qualidade. Engenharia de software Profª Karine Sato da Silva

Engenharia de Software

ISO/IEC 12207: Manutenção

Engenharia de Software. Projeto de Arquitetura

Engenharia de Software

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Visão Geral da Norma ISO/IEC 12207

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

Introdução a Engenharia de Software

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno

GERENCIAMENTO DAS COMUNICAÇÕES DO PROJETO

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

CICLO DE VIDA DE SOFTWARE

Capítulo 2 - Processos de Software

Gerência de Projetos e Manutenção de Software Aula 12 Medição / Manutenção / Encerramento Andréa Magalhães Magdaleno 2017.

Métricas de Software. Sistemas de Informação

Requisitos de Sistemas

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

Engenharia de Software

ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:

Engenharia de Software II

Estudo de Caso COMPOOTIM Parte I Criação da Linha

PMBOK Processo Planejamento

Capítulo 24. Gerenciamento de Qualidade Pearson Prentice Hall. Todos os direitos reservados. slide 1

Segurança e Auditoria de Sistemas

Workshop Paraense de Tecnologia de Software PROCESSO DE MEDIÇÃO. Fabrício Medeiros Alho

Medidas de Esforço de Desenvolvimento de Software

Gerenciamento de integração de projeto

PSP Personal Software Process. Maria Cláudia F. P. Emer

02/10/2012 Clarindo Pádua. Avaliação de maturidade em usabilidade de organizações Produtividade do usuário.

Gerenciamento Do Escopo Do Projeto

- Prototipação Iterativa - Observação Direta

QUALIDADE DE SOFTWARE

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

Nomenclatura usada pela série ISO Série ISO 9000

Engenharia de Software II

Padrões de Qualidade de Software

Engenharia de Software Introdução

Verificação e Validação (V & V)

Introdução À Engenharia De Software Com Foco No RUP: Rational Unified Process

Gerenciamento do Tempo de Projetos. Parte 05. Gerenciamento de Projetos Espaciais CSE-301. Docente: Petrônio Noronha de Souza

INTRODUÇÃO INTRODUÇÃO 31/03/2015 GESTÃO DO TEMPO CRONOGRAMA GERENCIAMENTO DE PROJETOS DEFINIÇÃO DA ATIVIDADE DEFINIÇÃO DA ATIVIDADE

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016

Estimativa de Esforço. Estimativas de Software. Subjetividade da Estimativa. Incerteza de Estimativa. Técnicas de Estimativas

P R O C E SSO D E D E S E N VOLVIMENTO D E S O F T WAR E

Desenvolvimento de um Modelo Econômico de Processo de Software para Pequenas Empresas Baseado no CMMI Nível 2

Introdução à Engenharia de Software

Engenharia de Software: Uma Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2015

Engenharia de Software: Uma Visão Geral. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1 o semestre de 2017

PROJETO INTEGRADO AULA 4 INTEGRAÇÃO E ESCOPO

Métricas de processo e projeto de software

Introdução. O Modelo CMM/SEI. Roteiro da Apresentação. Conceitos básicos de qualidade. Conceitos básicos de qualidade de software

Visão Geral do Processo de Desenvolvimento de Software Introdução aos Sistemas de Informação

Informática I. Aula Aula 21-29/11/06 1

Processos de Software

Áreas de Conhecimento, Técnicas de Análise de Negócio e Conceitos-Chave

TESTES DE SOFTWARE 1. Fundamentos sobre testes de software

Transcrição:

Gerência de Projetos e Qualidade de Software Prof. Walter Gima 1

OBJETIVOS Compreender os princípios de processo de software e por que ela vale a pena Compreender como os fatores do processo de software influenciam na qualidade de software e na produtividade dos desenvolvedores de software Compreender o Modelo de Maturidade de Capacitação (Capability Maturity Model CMM), processo SEI, que pode ser utilizado para avaliar a qualidade do processo de software em grandes organizações Compreender por que a melhoria baseada em CMM é aplicável a todos os tipos de processo de software 2

INTRODUÇÃO A melhoria do processo significa compreender os processos existentes e modificá-los, a fim de melhorar a qualidade do produto e/ou reduzir os custos e o tempo de desenvolvimento O objetivo é reduzir o números de defeitos nos softwares fornecidos Não é possível obter melhorias de processo que otimizem todos os atributos de processo simultaneamente A melhoria de processo é um processo iterativo, de longo prazo 3

CARACTERÍSTICAS DO PROCESSO Facilidade de compreensão Até que ponto o processo está explicitamente definido e com que facilidade se pode compreender a definição do processo? Visibilidade As atividades de processo culminam em resultados nítidos, de modo que o progresso do processo seja extremamente visível? Facilidade de Suporte Até que ponto as atividades do processo podem ser apoiadas por ferramentas CASE? Aceitabilidade O processo definido é aceitável e utilizável pelos engenheiros responsáveis pela produção do produto de software? 4

CARACTERÍSTICAS DO PROCESSO Confiabilidade O processo está projetado de tal maneira que seus erros sejam evitados ou identificados antes que resultem em erros no produto? Robustez O processo pode continuar, mesmo que surjam problemas inesperados? Facilidade de Manutenção O processo pode evoluir para refletir os requisitos mutáveis da organização ou melhorias de processo identificadas? Rapidez Com que rapidez pode ser concluído o processo de entrega de um sistema, a partir de uma determinada especificação? 5

MODELO DE MELHORIA DE PROCESSO Introduza as Mudanças de Processo Analise o Processo Modelo de Processo Identifique as Melhorias Treine os Engenheiros Ajuste as Mudanças de Processo Plano de Mudança de processo Plano de Treinamento Feedback das Melhorias Modelo de Processo Revisado SOMMERVILLE, Figura 25.2, Pag. 478 Modelo de Melhoria de processo 6

ESTÁGIOS IMPORTANTES NA MELHORIA DE PROCESSO Análise de Processo Envolve examinar os processos existentes e produzir um modelo específico para documentar e compreender o processo Identificação de Melhoria Envolve utilizar os resultados da análise de processo para identificar gargalos relativos à qualidade, ao prazo e ao custo, em que os fatores de processo tenham adversamente influenciado a qualidade do produto Introdução de Mudança de Processo Significa implantar novos procedimentos, métodos e ferramentas, e integrá-los com outras atividades de processo 7

ESTÁGIOS IMPORTANTES NA MELHORIA DE PROCESSO Treinamento em Mudanças de Processo Sem treinamento, não é possível obter os plenos benefícios das mudanças de processo Ajuste de Mudanças As mudanças de processos propostas nunca serão inteiramente eficientes assim que forem introduzidas 8

QUALIDADE DE PROCESSO E DE PRODUTO O principal fator que influencia a qualidade do produto é o processo de desenvolvimento do produto Controle estatístico de qualidade, que se baseia em medir o numero de defeitos de um produto e relacioná-lo ao processo O processo é aperfeiçoado com o objetivo de reduzir o numero de defeitos do produto até que ele seja repetível A influência dos fatores que afetam a qualidade de software variam conforme o tamanho e o tipo do projeto Grandes sistemas Fator principal é o processo de software Pequenos sistemas Fator principal é a qualidade da equipe de desenvolvimento 9

QUALIDADE DE PROCESSO DE PRODUTO Para os produtos de software existem quatro fatores que podem afetar sua qualidade Tecnologia de Desenvolvimento Qualidade do Processo Qualidade do Produto Qualidade do Pessoal Custo, Tempo e Cronograma SOMMERVILLE, Figura 25.3, Pag. 480 Principais fatores da qualidade de produto de software 10

MODELAGEM E ANÁLISE DO PROCESSO A modelagem e a análise de processo envolvem o estudo dos processos existentes e o desenvolvimento de um modelo abstrato desses processos, que identifique suas principais características As técnicas de análise de produto incluem: Questionários e Entrevistas Os engenheiros que trabalham em um projeto são questionados sobre o que realmente está em andamento Estudos etnográficos Utilizados para compreender a natureza do desenvolvimento de software como ma atividade humana Revela sutilezas e complexidades Tem mais chances de descobrir o verdadeiro processo utilizado 11

ELEMENTOS DE UM MODELO DE PROCESSO Atividade (retângulo com cantos arredondados sem sombra) Tem objetivo e condições de entrada e saída claramente definidos. É de responsabilidade de uma pessoa ou um grupo. Não é decomposta Processo (retângulo com cantos arredondados com sombra) Conjunto de atividades que têm alguma coerência Tem objetivo estabelecido dentro de uma organização Produtos Gerados (retângulo com sombreamento) É uma saída tangível de uma atividade, que é prevista em um plano de projeto 12

ELEMENTOS DE UM MODELO DE PROCESSO Condição (paralelogramo) É uma precondição, que deve ser mantida antes que um processo ou uma atividade possa iniciar, ou uma pós-condição, que deve ser mantida depois que um processo ou uma atividade tenha terminada Papel (círculo com sombreado) É uma área limitada de responsabilidade Exceção (caixa com canto duplo) É uma descrição de como modificar o processo, se algum evento, previsto ou não previsto ocorrer Comunicação (seta) É uma troca de informações entre pessoas ou entre pessoas e sistema de suporte à computação 13

PROCESSO DE TESTE DE MÓDULOS Pré-condição Módulo compila sem erros de sintaxe Papel Engenheiro de teste Pós-condição Todos os testes definidos são executados no módulo Responsável por Teste de Módulo Entrada Especificação de Módulo Processo Registro de aprovação de teste Saídas Dados de teste de módulo SOMMERVILLE, Figura 25.5, Pag. 482 Processo de testes de módulos 14

ATIVIDADES ENVOLVIDAS NOS TESTES DE MÓDULOS PREPARAÇÃO DOS DADOS DE TESTE Leia a especificação do módulo Prepara os dados de teste de acordo com a especificação Submeta os dados de teste à revisão Revise os dados de teste PREPARAÇÃO DOS CASO DE TESTE DO MÓDULO Verifique o módulo do sistema de gerenciamento De configuração Leia e compreenda a interface do módulo Prepare o caso de teste par ao módulo Compile o caso de teste SOMMERVILLE, Figura 25.6, Pag. 483 Atividades envolvidas nos testes de módulos 15

ATIVIDADES ENVOLVIDAS NOS TESTES DE MÓDULOS EXECUÇÃO DOS TESTES Incorpore o módulo com o caso de teste Execute os testes aprovados no módulo Registre os resultados do teste para os testes de regressão RELATÓRIO DE TESTES Escreva o relatório dos testes de módulo com os detalhes dos problemas constatados Submeta o relatório à aprovação Submeta os resultados do teste a CM SOMMERVILLE, Figura 25.6, Pag. 483 Atividades envolvidas nos testes de módulos 16

EXCEÇÕES DO PROCESSO Várias pessoas-chave adoecem ao mesmo tempo, imediatamente antes da revisão de um projeto importante Falha do processador de comunicações, o que significa que a correspondência eletrônica ficará inativa por diversos dias Reorganização da empresa, o que significa que os gerentes terão de gastar muito de seu tempo com assuntos organizacionais, e não com o gerenciamento do projeto É feito um pedido não previsto de novas propostas de projeto. É necessário desviar os esforços empregados no projeto, a fim de trabalhar em uma proposta 17

MEDIÇÕES DE PROCESSO São dados quantitativos sobre o processo de software O tempo gasto para um processo ser concluído Tempo total dedicado ao processo Tempo calendário Tempo gasto no processo por engenheiros individuais Os recursos requeridos para um processo em particular Esforço total calculado em pessoa-dia Custos de viagens Recursos de computadores O número de ocorrências de um evento em particular Número de defeitos descobertos durante a inspeção de código Número de mudanças nos requisitos solicitados Número médio de linhas de código modificadas em resposta a uma mudança nos requisitos 18

MEDIÇÕES DE PROCESSO GQM (Goal-question-metric) Paradigma utilizado para ajudar a decidir que medições devem ser feitas e como elas devem ser utilizadas Baseada na identificação de: Metas O que a organização está tentando alcançar Questões Aperfeiçoamentos das metas, quando são identificadas áreas específicas de incerteza, relacionadas às metas Métricas São medições que precisam ser coletadas para ajudar a responder às questões e para confirmar se as melhorias de processo alcançaram a meta desejada ou não 19

CMM MODELO DE MATURIDADE DE CAPACITAÇÃO Elaborado pelo SEI (Software Engineering Institute) DoD Departamento de Defesa Norte Americano Missão é a transferência de tecnologia de software Foi estabelecido para melhorar as capacidades da indústria de software dos EUA e das organizações que recebem fundos do DoD para grandes projetos de defesa Este modelo tem influenciado muito no sentido de convencer a comunidade de engenharia de software em geral a considerar seriamente as melhorias de processo O modelo classifica os processos de software em cinco diferentes níveis 20

MODELO DE MATURIDADE DE CAPACITAÇÃO DO SEI Nível 5 OTIMIZAÇÃO Nível 4 GERENCIADO Nível 3 DEFINIDO Nível 2 REPETÍVEL Nível 1 INICIAL SOMMERVILLE, Figura 25.7, Pag. 486 Modelo de Maturidade de Capacitação do SEI 21

CMM MODELO DE MATURIDADE DE CAPACITAÇÃO Nível 1 Inicial Uma organização não tem procedimentos eficazes de gerenciamento ou planos de projeto A organização pode desenvolver software com sucesso, mas as características do software (qualidade, etc.) e o processo de software (orçamento, cronograma, etc.) serão imprevisíveis Nível 2 Repetível Uma organização tem procedimentos de gerenciamento formal, garantia de qualidade e controle de configuração já implantados. Não existe um modelo de processo formal Nível 3 Definido Uma organização determinou seu processo e, assim, tem uma base para sua melhoria qualitativa de processo Os procedimentos formais estão implantados, a fim de assegurar que o processo definido seja seguido em todos os projetos de software 22

CMM MODELO DE MATURIDADE DE CAPACITAÇÃO Nível 4 Gerenciado Uma organização nesse nível tem um processo definido e um programa formal de coleta de dados quantitativos As métricas de processo e de produto são coletadas e fornecidas nas atividades de melhoria de processo Nível 5 Otimização Uma organização está empenhada em obter melhorias contínuas de processo A melhoria do processo é orçada e planejada, e é uma parte integrante do processo da organização 23

ÁREAS-CHAVE DE PROCESSO 5- OTIMIZAÇÃO Gerenciamento da mudança de processo Gerenciamento da mudança de tecnologia Prevenção de defeitos 4- GERNCIADO Gerenciamento da qualidade de software Gerenciamento do processo quantitativo 3- DEFINIDO 2- REPETÍVEL Revisão por partes Coordenação entre grupos Engenharia de produto de software Gerenciamento de software integrado Programa de treinamento Definição de processo da organização Foco em processo da organização Gerenciamento de configuração e software Garantia de qualidade do software Gerenciamento do subcontrato de software Acompanhamento e supervisão do projeto de software Planejamento de projeto de software Gerenciamento de requisitos 1- INICIAL SOMMERVILLE, Figura 25.8, Pag. 484 Áreas-chave de processo 24

PROBLEMAS COM O MODELO DE MATURIDADE DE CAPACITAÇÃO O modelo focaliza exclusivamente o gerenciamento de projeto, e não o desenvolvimento do produto O modelo exclui a análise e a resolução de riscos como uma tecnologia fundamental do processo O domínio de aplicabilidade do modelo não é definido. Para organizações menores, em particular, o modelo é muito burocrático 25

MAIORES INFORMAÇÕES SOBRE O CMM 26

AVALIAÇÃO DE CAPACIDADE Baseia-se em um questionário-padrão projetado para identificar os principais processos na organização Esse questionário é aplicado durante uma visita de avaliação, em que os gerentes de diferentes projetos são entrevistados. Depois de uma discussão sobre suas respostas ao questionário e do refinamento dessas respostas, é produzida uma pontuação de avaliação 27

AVALIAÇÃO DE CAPACIDADE Selecione Projetos para Avaliação Distribua questionários Analise as respostas Esclareça as respostas Identifique questões para discussão Entreviste gerentes de projeto Entreviste engenheiros Entreviste gerentes Apresente o resumo aos gerentes e engenheiros Apresente a avaliação Escreva o relatório SOMMERVILLE, Figura 25.9, Pag. 490 Processo de avaliação de capacitação 28

CLASSIFICAÇÃO DE PROCESSO A classificação de maturidade proposta pelo SEI é apropriada para grandes projetos de software, de longo tempo de duração, empreendidos por grandes organizações. Diferentes tipos de processo podem ser identificados: Processos informais São processos em que não há um modelo estritamente definido Processos gerenciados São processos em que há um modelo definido de processo implantado Utilizados para orientar o processo de desenvolvimento Processos metódicos São processos em que se utiliza algum método ou alguns métodos Processos de melhoria São processos que têm objetivos de melhoria inerentes 29

APLICABILIDADE DO PROCESSO Processos Informais Protótipos Sistemas com curto tempo de duração Sistemas de negócio em 4GL Sistemas pequenos/médio porte Processos Gerenciados Grandes sistemas Produtos com longo tempo de duração Processos Metódicos Domínio de aplicação bem compreendidos Sistemas que passam por reengenharia SOMMERVILLE, Figura 25.10, Pag. 491 Aplicabilidade do processo 30

APOIODE FERRAMENTAS DE PROCESSO Processo Informal Processo Gerenciado Processo Metódico Processo de Melhoria Ferramentas genéricas Ferramentas de gerenciamento de configuração Ferramentas de gerenciamento de projeto Ferramentas de análise de projeto Ferramentas especializadas SOMMERVILLE, Figura 25.11, Pag. 492 Apoio de ferramentas de processo 31

Dúvidas? walter.gima@anhanguera.com 32