Engenharia de Software II

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

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

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

PLANEJAMENTO DO PROJETO

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

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

GERENCIAMENTO DE PROJETOS DE SOFTWARE. Rosana Braga ICMC/USP

QUALIDADE DE SOFTWARE

1. Engenharia de Software: conceitos básicos

Normas ISO:

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

Projeto e Planejamento da Indústria Química

Gerência de Projetos de Software: Cronograma

ISO/IEC Processo de ciclo de vida

CMM Capability Matury Model

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

Engenharia de Software

Prof. Luiz A. Nascimento

SIMULADO 01 Governança de TI

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

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

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

Engenharia de Software

Engenharia de Software II

Capability Maturity Model

Gestão de Riscos em Projetos de Software

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

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2016

Escolhendo um Modelo de Ciclo de Vida

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

Qualidade de Software (cont)

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

Introdução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software

Visão Geral de Engenharia de Software

Escopo: PROCESSOS FUNDAMENTAIS

FATORES E MÉTRICAS DE QUALIDADE

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001

Engenharia de Software I

Engenharia de Software II

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

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

Engenharia de Software

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 5. Agenda

Organização para Realização de Teste de Software

O SWEBOK (2004) Guide to the SoftWare Engineering Body of Knowledge (SWEBOK) Editores: Patrocinadores: Alain Abran. James W. Moore.

Engenharia Software. Ení Berbert Camilo Contaiffer

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

Princípios da Engenharia de Software aula 03

Modelos de Processo de Software

Engenharia de Software II

Estratégias de Testes Parte I

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

Processos de Gerenciamento de Projetos. Parte 02. Gerenciamento de Projetos Espaciais CSE-301. Docente: Petrônio Noronha de Souza

Modelos de Processo de Software. SSC Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Qualidade de Processo de Software CMM / CMMI

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

CSE Métodos e Processos na Área Espacial

Padrões de Qualidade de Software

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

Manutenção de Software

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

DESENHO DE CARGOS E TAREFAS

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

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

Project Builder: Apoio a Gestão de Projetos do Nível G ao C do MPS.BR

Reutilização de Software

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0>

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

Desenvolvimento de Projetos

CICLO DE VIDA DE SOFTWARE

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

INTRODUÇÃO PMBOK GESTÃO DE PROJETOS GESTÃO DE PROJETOS GESTÃO DE PROJETOS 10/03/2015 GERENCIAMENTO DE PROJETOS AULA 02 CONCEITOS

Engenharia de Software II

PMBOK Processo Planejamento

CIÊNCIA DA COMPUTAÇÃO. Aula 5

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

TÉCNICAS DE PLANEJAMENTO E CONTROLE. UNIDADE I - Planejamento, programação e controle

Verificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1

Tema 01 Conceitos sobre gerenciamento de tempo e projeto

Instituto Federal Sul-rio-grandense. Placa universal para controle de máquinas de lavar roupa Plano de Projeto - versão 1.0

Disciplina de Engenharia de Software

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

2. Processos em Engenharia de Software

Engenharia de Software Gestão de Projeto

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

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

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

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

1. DADOS DE IDENTIFICAÇÃO:

Qualidade de Software

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

PLANO DE CURSO. 2. EMENTA: Planejamento e gerenciamento de projetos de software. Métricas e Técnicas de estimativa de software. Qualidade de Software.

Teste de Software. Competência: Entender as técnicas e estratégias de testes de Software

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

Transcrição:

Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Engenharia de Software II Aula 04 (rogerio@fct.unesp.br) 2 Conteúdo: Parte 1: Gerenciamento & Qualidade Plano de Projeto - aspectos gerais Parte 2: Plano de Projeto - Métricas e Estimativas Parte 3: Plano de Projeto - Cronograma e Controle Parte 4: Exercícios de Fixação 1 2 3 4 5 1

3 Parte 1 - Objetivos Gerenciamento & Qualidade A importância do Gerenciamento para a qualidade do processo de software Aspectos de Qualidade Gerenciamento e Planejamento Plano de Projeto Introdução Riscos Recursos Organização do Pessoal Visões de Qualidade de Software Usuário Facilidade de uso, desempenho, confiabilidade dos resultados, preços do software, etc. Desenvolvedor Taxa de defeitos, facilidade de manutenção e conformidade em relação aos requisitos dos usuários, etc. Organização Cumprimento de prazo, boa previsão de custo, boa produtividade. 4 2

Processo de Desenvolvimento de Software Gerência e Planejamento Análise de Sistema Planejamento Análise de Requisitos Projeto Codificação Teste Entendimento Modificação Revalidação DEFINIÇÃO CONSTRUÇÃO MANUTENÇÃO 5 Processo de Software Uma das maiores dificuldades encontradas pelas empresas de software é o gerenciamento de seus processos de software Modelos de Processo de Software 6 3

Processo de Software 7 DEFINIÇÃO CONSTRUÇÃO SOFTWARE PRODUTO MANUTENÇÃO Análise de Sistema Planejamento do Projeto Análise de Requisitos Projeto Codificação Teste Entendimento Modificação Revalidação Gerenciamento de Configuração Aplicação de Métricas Acompanhamento e Controle do Projeto Revisão e Inspeção Produção e Preparação de Documentos Gerenciamento de Risco ATIVIDADES PARA GARANTIR A QUALIDADE Gerência de Projeto de Software camada que abrange todo o processo de desenvolvimento possibilita compreender o escopo do trabalho, riscos, recursos exigidos, tarefas a executar, marcos de referência, esforço despendido medir o processo melhorá-lo medir o produto aumentar sua qualidade atividade fundamental: planejamento 8 4

9 Processo de Software sem Gerência é improvisado não é rigorosamente seguido é altamente dependente dos profissionais a visão do progresso e da qualidade é baixa. a qualidade do produto decorrente do processo é comprometida em função de prazos a introdução de novas tecnologias no processo é arriscada e a qualidade é difícil de se prever com Processo de Software sem Gerência são reacionárias cronogramas e orçamentos são extrapolados datas urgentes qualidade comprometida não existe nenhuma base objetiva para julgar a qualidade do produto atividades de revisão e teste encurtadas ou eliminadas 10 5

Base para Garantir Qualidade do Produto Final Um processo de software bem definido e documentado, utilizado para integrar pessoas, tarefas, ferramentas e métodos, pode prover a base essencial para garantir a qualidade do produto final. 11 Base para Garantir Qualidade do Produto Final Um processo de software gerenciado propicia segurança frente às variações que o produto possa sofrer em relação às suas especificações iniciais. 12 6

Melhoria de Processo de Software Processo é examinado pela conduz à Avaliação do Processo identifica mudanças no Melhoria do Processo 13 14 INICIAL O Modelo CMM REPETÍVEL Caóticas DEFINIDO Disciplinadas OTIMIZADO com Melhoria Contínua GERENCIADO Padronizadas Previsíveis Como sair do nível caótico e passar para o nível repetível? 7

15 INICIAL O Modelo CMM OTIMIZADO com Melhoria 6- Gerenciamento GERENCIADO da Configuração de Contínua Software 5- Garantia da Qualidade de Software 4- Gerenciamento de Subcontrato de Software 3- Acompanhamento de Projeto Previsíveis de Software DEFINIDO 2- Planejamento de Projeto de Software 1- Gerenciamento de Requisitos Padronizadas REPETÍVEL Caóticas Disciplinadas Como sair do nível caótico e passar para o nível repetível? Proceso de Software 16 Análise de Sistema DEFINIÇÃO Planejamento do Projeto Análise de Requisitos Projeto CONSTRUÇÃO Codificação Teste SOFTWARE PRODUTO Entendimento MANUTENÇÃO Modificação Revalidação Gerenciamento de Configuração Aplicação de Métricas Acompanhamento e Controle do Projeto Revisão e Inspeção Produção e Preparação de Documentos Gerenciamento de Risco ATIVIDADES PARA GARANTIR A QUALIDADE 8

17 Proceso de Software DEFINIÇÃO CONSTRUÇÃO SOFTWARE PRODUTO Análise de Sistema Planejamento do Projeto Análise de Requisitos Planejamento do Projeto Projeto Codificação Teste Gerência de Projeto de Software Entendimento MANUTENÇÃO Modificação Revalidação Gerenciamento de Configuração Aplicação de Métricas Aplicação de Métricas Acompanhamento e Controle do Projeto Acompanhamento e Controle do Projeto Revisão e Inspeção Produção e Preparação de Documentos Gerenciamento de Risco ATIVIDADES PARA GARANTIR A QUALIDADE Importância do Planejamento no Processo de Desenvolvimento Responsabilidades Políticas Pessoas Métodos Ferramentas Requisitos De Software Produto Cumprimento De Prazo, Boa Previsão De Custo, Boa Produtividade 18 Gerência Eficaz Controle das Atividades 9

19 INICIAL Os Níveis de Maturidade do CMM A organização consegue se DEFINIDO estabelecer com certa segurança, custos, prazos e funcionalidade REPETÍVEL Caóticas Disciplinadas OTIMIZADO com Melhoria Contínua GERENCIADO Padronizadas Previsíveis 20 INICIAL Os Níveis de Maturidade do CMM A organização consegue se DEFINIDO estabelecer com certa segurança, custos, prazos e funcionalidade REPETÍVEL Caóticas Disciplinadas OTIMIZADO com Melhoria Contínua GERENCIADO Padronizadas Previsíveis 10

21 INICIAL Os Níveis de Maturidade do CMM REPETÍVEL Caóticas DEFINIDO Disciplinadas OTIMIZADO com Melhoria Contínua GERENCIADO Padronizadas Previsíveis Objetivos do Planejamento determinar o alcance do trabalho a ser realizado: função, desempenho, interface e segurança estimar recursos necessários ao desenvolvimento do software: recursos humanos, de hardware e de software identificar tarefas a serem efetuadas elaborar cronogramas estimar esforço (custo) despendido 22 11

Atividades do Planejamento Combina 2 Tarefas Pesquisa Estimativa define o alcance do software; utiliza a especificação do sistema como guia Incerteza 23 PLANO DE PROJETO DE SOFTWARE Plano de Projeto de Software 24 I. Introdução 1. Escopo e propósito do documento 2. Objetivos do Projeto II. Estimativas de Projeto 1. Dados históricos usados nas estimativas 2. Técnicas de estimativa 3. Estimativas III. Riscos do Projeto 1. Análise dos riscos 2. Administração dos riscos IV. Cronograma 1. Divisão do trabalho (work breakdown) 2. Rede de tarefas 3. Gráfico de Gantt 4. Tabela de recursos V. Recursos do Projeto 1. Pessoal 2. Hardware e Software 3. Recursos especiais VI. Organização do Pessoal 1. Estrutura de Equipe 2. Relatórios Administrativos VII. Mecanismos de Controle VIII. Apêndices 12

Plano de Projeto de Software 25 I. Introdução 1. Escopo e propósito do documento 2. Objetivos do Projeto II. Estimativas de Projeto 1. Dados históricos usados nas estimativas 2. Técnicas de estimativa 3. Estimativas III. Riscos do Projeto 1. Análise dos riscos 2. Administração dos riscos IV. Cronograma 1. Divisão do trabalho (work breakdown) 2. Rede de tarefas 3. Gráfico de Gantt 4. Tabela de recursos V. Recursos do Projeto 1. Pessoal 2. Hardware e Software 3. Recursos especiais VI. Organização do Pessoal 1. Estrutura de Equipe 2. Relatórios Administrativos VII. Mecanismos de Controle VIII. Apêndices Plano de Projeto-Introdução I. INTRODUÇÃO 1. Escopo e propósito do documento 2. Objetivos do Projeto a) Objetivos b) Funções principais c) Questões de desempenho d) Restrições técnicas e administrativas 26 13

Plano de Projeto de Software 27 I. Introdução 1. Escopo e propósito do documento 2. Objetivos do Projeto II. Estimativas de Projeto 1. Dados históricos usados nas estimativas 2. Técnicas de estimativa 3. Estimativas III. Riscos do Projeto 1. Análise dos riscos 2. Administração dos riscos IV. Cronograma 1. Divisão do trabalho (work breakdown) 2. Rede de tarefas 3. Gráfico de Gantt 4. Tabela de recursos V. Recursos do Projeto 1. Pessoal 2. Hardware e Software 3. Recursos especiais VI. Organização do Pessoal 1. Estrutura de Equipe 2. Relatórios Administrativos VII. Mecanismos de Controle VIII. Apêndices Plano de Projeto-Riscos III. RISCOS DO PROJETO 1. Análise dos riscos 2. Administração dos riscos Passos para atacar os riscos: identificação avaliação disposição por ordem de prioridade estratégias de administração resolução monitoração 28 O fundamental é que os Riscos assumidos sejam os Riscos certos 14

Plano de Projeto-Riscos Identificação dos Riscos de Projeto Técnicos do Negócio 29 identificam problemas orçamentários, de cronograma, de pessoal, de recursos, de clientes, de requisitos e o impacto no projeto do software identificam potenciais problemas de projeto, implementação, interface, verificação e manutenção Se você não atacar ativamente os riscos técnicos e de projeto, eles lhe atacarão ativamente. Gilb podem destruir até os melhores projetos: construir um produto que ninguém quer; ou que não se encaixe mais na estratégia da empresa; perder o apoio da administração, ou o compromisso orçamentário Plano de Projeto-Riscos muito alto impacto preocupação gerencial elevada muito baixo desconsidere o fator de risco 1,0 probabilidade de ocorrência 30 RISCO E PREOCUPAÇÃO GERENCIAL 15

Plano de Projeto-Riscos ponto referente(valor de custo, quantidade de tempo) ultrapassagem do prazo projetado ocorrerá encerramento do projeto ultrapassagem dos custos projetados 31 NÍVEL DE RISCO REFERENTE Plano de Projeto de Software 32 I. Introdução 1. Escopo e propósito do documento 2. Objetivos do Projeto II. Estimativas de Projeto 1. Dados históricos usados nas estimativas 2. Técnicas de estimativa 3. Estimativas III. Riscos do Projeto 1. Análise dos riscos 2. Administração dos riscos IV. Cronograma 1. Divisão do trabalho (work breakdown) 2. Rede de tarefas 3. Gráfico de Gantt 4. Tabela de recursos V. Recursos do Projeto 1. Pessoal 2. Hardware e Software 3. Recursos especiais VI. Organização do Pessoal 1. Estrutura de Equipe 2. Relatórios Administrativos VII. Mecanismos de Controle VIII. Apêndices 16

Plano de Projeto-Recursos V. RECURSOS DO PROJETO 1. Pessoal 2. Hardware e Software 3. Recursos especiais Pessoas Ferramentas de hardware/software Especificar: habilidades exigidas disponibilidade duração das tarefas data de início Especificar: descrição disponibilidade duração do uso data de entrega 33 Plano de Projeto-Recursos Recursos Humanos: Projetos Pequenos: uma única pessoa Projetos Grandes: participação varia através do ciclo de vida 34 17

Plano de Projeto-Recursos Recursos Humanos: Mito: Se sairmos fora do cronograma, adicionamos mais programadores e recuperamos o atraso. 35 Isso faz o cronograma atrasar ainda mais! Motivo: a comunicação é absolutamente essencial para o desenvolvimento do software. Todo novo caminho de comunicação exige esforço adicional e portanto, tempo adicional. Plano de Projeto-Recursos Recursos Humanos: alto Pessoal técnico senior 36 Grau de participação no projeto baixo Planejamento Análise de requisitos Projeto preliminar Projeto detalhado Codificação Teste de unidade Pessoal técnico junior Administrador 18

Plano de Projeto-Recursos Recursos de Hardware: Hardware de desenvolvimento: usado durante o desenvolvimento (pode ser mais robusto) Máquina alvo: hardware em que o sistema vai rodar depois de pronto Outros elementos: hardware que interage com o novo sistema 38 37 Plano de Projeto-Recursos Recursos de Software: Banco de Dados CASE FERRAMENTAS DE: Planejamento de Sistemas de Informação Gerenciamento de Projetos Apoio Análise e Projeto Programação Integração e Teste Construção de Protótipos e Simulação Manutanção Framework 19

Plano de Projeto-Recursos Recursos de Software: Se o software existente cumprir os requisitos, adquira-o; em geral é mais barato. REUSABILIDADE Se o software existente exigir alguma modificação, cuidado! Pode ficar mais caro que desenvolver. 39 Plano de Projeto de Software 40 I. Introdução 1. Escopo e propósito do documento 2. Objetivos do Projeto II. Estimativas de Projeto 1. Dados históricos usados nas estimativas 2. Técnicas de estimativa 3. Estimativas III. Riscos do Projeto 1. Análise dos riscos 2. Administração dos riscos IV. Cronograma 1. Divisão do trabalho (work breakdown) 2. Rede de tarefas 3. Gráfico de Gantt 4. Tabela de recursos V. Recursos do Projeto 1. Pessoal 2. Hardware e Software 3. Recursos especiais VI. Organização do Pessoal 1. Estrutura de Equipe 2. Relatórios Administrativos VII. Mecanismos de Controle VIII. Apêndices 20

Plano de Projeto-Organização do Pessoal VI. ORGANIZAÇÃO DO PESSOAL 1. Estrutura de Equipe 41 2. Relatórios Administrativos Plano de Projeto-Organização do Pessoal Estrutura de Equipe: Deve ser considerado o fator humano em seus aspectos psicológicos, individuais e grupais e o reflexo deles no desempenho da equipe Principais estruturas de equipe: Equipe Convencional Equipe Não Egocêntrica Equipe de Programador Chefe Equipe Hierárquica 42 21

Plano de Projeto-Organização do Pessoal Estrutura de Equipe: Equipe Convencional Composta pelo pessoal disponível É designado um gerente de desenvolvimento do projeto O trabalho é dividido pelos componentes da equipe Cada um é responsável pelo projeto e implementação da sua parte no trabalho Traz um certo sentimento de posse Tendência a esconder e mesmo não ver os próprios erros 43 Plano de Projeto-Organização do Pessoal Estrutura de Equipe: Equipe Não Egocêntrica Organização de estilo democrático, descentralizado Relações e comunicações informais entre os seus componentes A liderança não é exercida por uma determinada pessoa de forma permanente A liderança fica com o indivíduo que tiver maior capacitação para resolver o problema em pauta Todos os programas são examinados por outros programadores, além daquele que o escreveu 44 22

Plano de Projeto-Organização do Pessoal Estrutura de Equipe: Equipe Programador Chefe Pequeno número de componentes Comunicações centralizadas no programador chefe Decisões tomadas nos níveis mais elevados O programador chefe tem que ser muito experiente e capacitado para a função 45 Plano de Projeto-Organização do Pessoal Estrutura de Equipe: Equipe Programador Chefe Substituto Engenheiro Senior Pessoal Técnico Especialistas Bibliotecário Pessoal de Apoio 46 23

Plano de Projeto-Organização do Pessoal Estrutura de Equipe: Equipe Hierárquica Proposta de estrutura intermediária um líder de projeto dirige programadores experientes cada um desses programadores dirige grupo de programadores menos experientes comunicação descentralizada nos subgrupos e centralizada nos níveis superiores o chefe de subgrupo transmite informações para seu subgrupo (elemento de ligação com os outros subgrupos) 47 Pontos-Chaves Gerenciamento de Projeto está estreitamente relacionado à Qualidade de Processo O Gerenciamento concentra-se em atividades que têm por objetivo assegurar que o software seja liberado no prazo, de acordo com o cronograma, e atenda aos requisitos das organizações envolvidas Atividade principal - Planejamento 48 Projetos bem gerenciados algumas vezes falham; projetos mal gerenciados falham inevitavelmente. 24

Atividade Definir as atividades Listar recursos Relacionar atividade/recurso 49 Ferramenta 50 25