Engenharia de Software II

Documentos relacionados
Métricas de processo e projeto de software

Engenharia de Software II

Medidas de Esforço de Desenvolvimento de Software

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

Engenharia de Software II

Métricas do processo e projeto de software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

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

Engenharia de Software II

Engenharia de Software II

Ferramentas CASE. CASE fornece ao engenheiro de software a habilidade de automatizar atividades manuais e de aperfeiçoar o conhecimento de engenharia.

Estimativas e Métricas Engenharia de Software

Métricas de processo e projeto de software

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

Engenharia de Software II

FATORES E MÉTRICAS DE QUALIDADE

Gerência de Projetos e Manutenção de Software Aula 1- Apresentação do Curso. Andréa Magalhães Magdaleno andrea@ic.uff.br

Engenharia de Software II

Gerência de Projetos e Manutenção de Software Aula 4 Planejamento de Projetos (Estimativas) Andréa Magalhães Magdaleno 2017.

Prof. Luiz A. Nascimento

UNIVERSIDADE FEDERAL DO PARANÁ UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Planejamento de Projeto de Software: Estimativas de Esforço e Custo

Aula 05 - ES - Métricas de Software

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp

PLANEJAMENTO DO PROJETO

Apresentação da Disciplina de Engenharia de Software II

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

Projeto e Desenvolvimento de Software

Aula 04. Medições e Métricas de Software. Professor: José Alexandre Macedo versão: 1.0

Planejamento de Projeto de Software: Estimativas de Esforço e Custo

Capítulo 20 - Manutenção de Software. Os Fatores de Qualidade de Software focalizam três aspectos importantes do Software Produto: (ISO 9126)

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

Administração de Projetos

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

Análise de Sistemas Aula 4

Gerência de Projetos e Manutenção de Software Aula 1- Apresentação do Curso Andréa Magalhães Magdaleno

Engenharia de Software II

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

ENGENHARIA DE REQUISITOS

Lista de Exercícios 02: Revisão

AULA 2 GERENCIAMENTO DE PROJETOS

CMM Capability Matury Model

Métricas de Software

Princípios da Engenharia de Software aula 03

DESENHO DE CARGOS E TAREFAS

Engenharia de Software II

Prova Discursiva Engenharia de Software

Engenharia de Software

Diretrizes Gerais Sistema de Gestão da Qualidade

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

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

ENGENHARIA DE SOFTWARE

Inspector Panel: Um Painel de Controle para Acompanhamento de Progresso de Projetos de Software

PROJETO INTEGRADO AULA 4 INTEGRAÇÃO E ESCOPO

Ciclo de vida do projeto x do

Gerenciamento Eletrônico de Documentos

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

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

CICLO DE VIDA DO SOFTWARE. Nas empresas também é difícil adotar apenas um ciclo de vida, na maioria das vezes possui mais de um.

Gerência de Projetos e Manutenção de Software Aula 1- Apresentação do Curso Andréa Magalhães Magdaleno

Plano de Projeto. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

ENGENHARIA DE SOFTWARE. Introdução

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)

Introdução. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Capítulo 23. Planejamento de Projeto Pearson PrenticeHall. Todos os direitos reservados. slide 1

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

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

Medidas de Esforço de Desenvolvimen to de Software

Processos de software

Métricas de Complexidade

Normas ISO:

Medidas de Esforço de Desenvolvimento de Software

REUSO E REUSABILIDADE

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 3 21/08/2012

Aplicações da APF em Contratos de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Unidade VII Ferramentas de PDS. Luiz Leão

MODELAGEM DE SISTEMAS Unidade 5 Ciclo de Vida Iterativo e Incremental. Luiz Leão

- Engenharia Reversa - Evolução de Sofware. Desenvolvimento como. Requisitos o que. Sistema porque. Profa. Dra. Sandra Fabbri. operacional.

Engenharia e Tecnologia Espaciais ETE Engenharia e Gerenciamento de Sistemas Espaciais

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

Análise de Ponto de Função APF. Aula 02

ENGENHARIA DE SOFTWARE

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

Qualidade de Software Aula 8 / 2010

Análise e Projeto de Sistemas

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

ISO/IEC 12207: Manutenção

Engenharia Reversa e Reengenharia. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Engenharia de Software II

Análise e Projeto de Sistemas de Informação (APSI)

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Prof. Esp. Fabiano Taguchi

Engenharia de Software I

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

Transcrição:

Engenharia de Software II Aula 19 http://www.ic.uff.br/~bianca/engsoft2/ Aula 19-28/05/2006 1

Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap. 22) Estimativas Cronogramação Gestão de risco Gestão de qualidade Gestão de modificações Reengenharia e engenharia reversa Aula 19-28/05/2006 2

Gestão de Projetos A construção de software é um empreendimento complexo. Frequentemente, envolve muitas pessoas trabalhando durante um período longo de tempo. Por isso, é necessário gerir o projeto de software. Planejar, monitorar e controlar o pessoal, o processo e eventos que ocorrem à medida que o software evolui de um A gestão efetiva de projetos focaliza quatro fatores: Pessoal Produto Processo Projeto Aula 19-28/05/2006 3

Processo O gerente de projeto deve decidir qual modelo de processo é mais apropriado considerando: O cliente que solicitou o produto O pessoal que executará o trabalho As características do produto O ambiente de projeto no qual a equipe trabalha Selecionado o modelo de processo, a equipe define um plano preliminar de projeto. Uma vez estabelecido o plano preliminar, a decomposição do processo tem início. As tarefas de trabalho são definidas para cada atividade de arcabouço. Aula 19-28/05/2006 4

Fusão do Produto e do Processo O planejamento do projeto tem início com a fusão do produto e do processo. Cada função a ser trabalhada pela equipe deve passar pelo conjunto de atividades de arcabouço que foi definido. É criada uma matriz cujas linhas são as funções e as colunas são as atividades de arcabouço. O gerente preenche a matriz com as tarefas de trabalho e as datas de começo e fim estimadas para cada tarefa. Aula 19-28/05/2006 5

Exemplo Comunicação Planejamento Modelagem Construção Implantação Texto de Entrada Edição e Formatação Edição automática de cópia Capacidade de lay-out de página Gestão de arquivo Produção de documento Aula 19-28/05/2006 6

Exemplo de decomposição da atividade de comunicação Tarefas de trabalho: 1. Rever a solicitação do cliente. 2. Planejar e marcar um encontro formal com o cliente. 3. Fazer pesquisa para especificar a solução proposta e abordagens existentes. 4. Preparar uma agenda formal para a reunião. 5. Conduzir a reunião. 6. Desenvolver, em conjunto, casos de uso que descrevam o software do ponto de vista do usuário. 7. Rever cada caso de uso quanto à correção, consistência e ausência de ambiguidade. 8. Rever a coleção de caso de uso com todos os interessados. 9. Modificar os casos de uso na medida do necessário. Aula 19-28/05/2006 7

Projeto Dez sinais que indicam que um projeto de software está comprometido: 1. A equipe não entende as necessidades do cliente. 2. O escopo do produto está mal-definido. 3. As modificações são mal-gerenciadas. 4. A tecnologia escolhida sofre modificações. 5. As necessidades do negócio modificam-se ou foram mal definidas. 6. Os prazos são irreais. 7. Os usuários são resistentes. 8. O patrocínio é perdido ou nunca foi obtido. 9. A equipe de projeto não tem pessoal qualificado. 10. Gerentes e profissionais não seguem as melhores práticas. Aula 19-28/05/2006 8

Projeto Regra 90-90 Os primeiros 90% de um sistema absorvem 90% do esforço e do prazo. Os últimos 10% gastam os outros 90% do esforço e prazo alocados. Como um gerente evita esses problemas? Comece com o pé direito. Mantenha a energia de momento. Acompanhe o progresso. Tome decisões adequadas. Faça uma análise a posteriori. Aula 19-28/05/2006 9

Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap. 22) Estimativas Cronogramação Gestão de risco Gestão de qualidade Gestão de modificações Reengenharia e engenharia reversa Aula 19-28/05/2006 10

Métricas de Processo e Projeto A medição pode ser aplicada: Ao processo de software com o objetivo de melhorálo de forma contínua. Ao longo do projeto para auxiliar na estimativa, no controle de qualidade, na avaliação de produtividade e no controle do projeto. Para avaliar a qualidade dos produtos de trabalho (cap. 15). A medição é uma ferramenta de gestão. Se conduzida adequadamente, fornece conhecimento a um gerente de projeto. Como resultado, apóia o gerente na tomada de decisões que levará ao sucesso. Aula 19-28/05/2006 11

Métricas de processo vs. Métricas de projeto Métricas de Processo São coletadas no decorrer de todos os projetos e durante longos períodos. Sua intenção é melhorar o processo de software em si. Contribuem para o desenvolvimento de métricas de projeto. Métricas de Projeto Permitem ao gerente de software: Avaliar o estado do projeto. Acompanhar riscos potenciais. Descobrir áreasproblemas. Ajustar o fluxo de trabalho ou tarefas. Avaliar a capacidade da equipe. Muitas métricas são usadas tanto no domínio do processo quanto do projeto. Aula 19-28/05/2006 12

Exemplos de Métricas de Processo Medidas dos erros descobertos antes da entrega do software. Defeitos entregues aos usuários finais e por eles relatados. Produtos de trabalho entregues (produtividade). Esforço humano despendido. Tempo gasto. Cumprimento do cronograma. Aula 19-28/05/2006 13

Métricas públicas e privadas Os dados coletados com base individual devem ser privados e servir com indicador apenas para o indivíduo. Servem para ajudar o engenheiro de software a aperfeiçoar seu trabalho individual. Algumas métricas são privadas de uma determinada equipe. Ex.: Proporção de defeitos por indivíduo. Métricas públicas geramente assimilam informações que eram originalmente privadas. Aula 19-28/05/2006 14

Métricas de Projeto A primeira aplicação de métricas de projeto ocorre durante a estimativa. Métricas coletadas de projetos anteriores são usadas como base, a partir da qual estimativas de esforço e de tempo são feitas. Conforme o projeto prossegue, medidas de esforço e de tempo são feitas para o trabalho atual. As medidas são comparadas com as estimativas. Quando o trabalho técnico inicia-se outras métricas tornam-se importantes. Taxa de produção = número de modelos criados Horas de revisão Pontos por função Linhas de código entregues. Erros descobertos durante cada etapa. Aula 19-28/05/2006 15

Objetivo das Métricas de Projeto O objetivo das métricas de projeto é duplo: Minimizar o cronograma de desenvolvimento, fazendo os ajustes necessários para evitar atrasos, problemas e riscos em potencial. Avaliar a qualidade do produto durante sua evolução e, quando necessário, modificar a abordagem técnica. Aula 19-28/05/2006 16

Medição de Software Vimos que a medição de software pode ser categorizada de dois modos: Medidas diretas Custo e esforço aplicados Linhas de código Velocidade de execução Defeitos relatados durante um certo período Medidas indiretas Funcionalidade, qualidade, complexidade, eficiência, confiabilidade, etc. Aula 19-28/05/2006 17

Comparação de métricas As métricas precisam ser normalizadas para ser comparadas: Se a equipe A encontrou 342 erros antes da entrega e a equipe B encontrou 184 erros, qual das equipes é mais eficiente na descoberta de erros? Opções para normalização: Tamanho = Métrica LOC ou KLOC Vantagem: fácil de ser calculada Desvantagens: dependentes de linguagem de programação, penalizam programas curtos e bem projetados, difícil de ser estimado. Função = Métrica Pontos por Função Vantagem: independente da linguagem de programação, pode ser calculada no início do projeto. Desvantagem: cálculo baseado em dados subjetivos, difícil de coletar informação necessária. Aula 19-28/05/2006 18

LOC vs. Ponto por Função Uma LOC de C++ fornece aproximadamente 2,4 vezes mais funcionalidade que uma LOC de C. Uma LOC de Smalltalk fornece 4 vezes mais funcionalidade que uma LOC de Ada, COBOL ou C. É possível estimar pontos por função usando uma tabela com dados para cada linguagem. Aula 19-28/05/2006 19

Outras possíveis métricas para normalização Métricas orientadas a objeto Número de scripts de cenário Número de classes-chave Número de classes de apoio Métricas orientadas a caso de uso Número de casos de uso Métricas de projeto de engenharia da web Número de páginas estáticas Número de páginas dinâmicas Número de links internos Número de funções executáveis Aula 19-28/05/2006 20