Gerência de Projetos e Manutenção de Software Aula 2...

67
Gerência de Projetos e Manutenção de Software Aula 2- Revisão de ES Andréa Magalhães Magdaleno [email protected] 2018.01

Transcript of Gerência de Projetos e Manutenção de Software Aula 2...

Page 1: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

Gerência de Projetos e Manutenção de Software

Aula 2- Revisão de ESAndréa Magalhães Magdaleno

[email protected]

2018.01

Page 2: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

2GPMS 2018.01

Agenda

• Histórico

• Elementos da ES

• Ciclos de Vida

• Desenvolvimento Ágil

• Processo Unificado

• Trabalho

• Exercício

Page 3: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

HISTÓRICO

Page 4: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

4GPMS 2018.01

Histórico

• Como surgiu a Engenhara de Software?• Década de 60

• Conferência NATO de 1968 na Alemanha

• Crise do Software

• Tentativa de contornar a crise e dar um tratamento de engenharia (mais sistemático e controlado) ao desenvolvimento de software

Page 5: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

5GPMS 2018.01

HistóricoEra Pós-ES

- Lower-CASE tools (programação, depuração)

- Ciclo de vida em cascata- Desenvolvimento estruturado

- Upper-CASE tools (processos, modelagem)

- Ciclo de vida espiral- Desenvolvimento orientado a objetos

Page 6: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

6GPMS 2018.01

HistóricoPassado Recente

Fonte: Chaos Research – Standish Group

Conclusão de Projetos 2002

Projetos Bem Sucedidos

34%

Projetos Fracassados

15%

Projetos Desafiados

51%

???

Page 7: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

7GPMS 2018.01

Sintomas de Problemas no Desenvolvimento• Entendimento impreciso das necessidades dos usuários

finais

• FaIta de habilidade para lidar com mudanças de requisitos

• Componentes que não se encaixam

• Software difícil de manter ou estender

• Descoberta tardia de sérias falhas no projeto

• Baixa qualidade de software

• Performance inaceitável do software

• Conflitos internos da equipe

• Incapacidade de reconstituir quem mudou o que, quando,onde e porquê

Page 8: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

8GPMS 2018.01

Causas dos Problemas no Desenvolvimento• Gerenciamento insuficiente de requisitos• Comunicação ambígua e imprecisa• Arquitetura frágil• Complexidade esmagadora• Inconsistências NÃO detectadas entre requisitos, projetos,

e implementações• Testes insuficientes• Avaliação subjetiva do status do projeto• Redução tardia de risco devido ao desenvolvimento em

cascata• Propagação descontrolada de mudanças• Automação insuficiente

Page 9: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

9GPMS 2018.01

Como Desenvolver ?

• Focando nas necessidades dos usuários• Empregando um processo racional e controlável• Focando na qualidade• Utilizando um método eficaz• Utilizando as ferramentas adequadas• Entregando dentro do prazo e do orçamento

Engenharia de Software

Page 10: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

10GPMS 2018.01

Engenharia de Software - Definições• “Aplicação prática do conhecimento científico no projeto e

construção de programas e da documentação requerida paradesenvolver, operar e manter esses programas.”

Boehm 1980

• “Estabelecimento e uso de um conjunto de princípios deengenharia com o objetivo de construir software confiável,eficiente e economicamente viável em máquinas reais.”

Fritz Bauer

• “Aplicação de uma abordagem sistemática, disciplinada equantificável para desenvolver, operar e manter software.”

IEEE 1993

Page 11: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

11GPMS 2018.01

Engenharia de Software - Objetivos

• Aumentar a qualidade do produto

• Aumentar a produtividade do processo de desenvolvimento

• Diminuir os custos do processo de desenvolvimento

• Obter maior confiabilidade nos prazos estabelecidos

Page 12: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

12GPMS 2018.01

HistóricoAtualmente

Desenvolvimento distribuído de software Métodos Ágeis

Software LivreEcossistemas

Desenvolvimento Dirigido por Modelos

Page 13: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

13GPMS 2018.01

HistóricoAtualmente

Page 14: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

ELEMENTOS DA ES

Page 15: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

15GPMS 2018.01

Elementos da ES

Engenharia de Software

Ferramentas

Métodos

Processo

Page 16: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

Elementos da ES

• Processo• Define os passos gerais para

o desenvolvimento e manutenção do software

• Serve como uma estrutura de encadeamento de métodos e ferramentas

• Sequência de passos que utilizam métodos e ferramentas para transformar matéria-prima em um produto que possua valor para o cliente

• Métodos• São os “how to’s”

• Como fazer um passo específico do processo

• Ferramentas• Apoio automatizado ou semi-

automatizado para os métodos e processos

Page 17: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

17GPMS 2018.01

Elementos da ESCuidados

• Não esquecer das pessoas !

Page 18: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

18GPMS 2018.01

Elementos da ESCuidados

• Não esquecer das pessoas !

Gênio Solitário

Page 19: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

19GPMS 2018.01

Elementos da ESCuidados• Desenvolvimento guiado

por ferramentas• É importante usar a

ferramenta certa para o problema

• O problema não deve ser adaptado para a ferramenta disponível

“Para quem tem um martelo, tudo parece prego”

(MURTA, 2014)

Page 20: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

20GPMS 2018.01

Elementos da ESCuidados

(MURTA, 2014)

• Supermercado de ES• Em função do problema, se escolhe o

processo, os métodos e as ferramentas

• Cuidados• Menos do que o necessário pode levar a

desordem

• Mais do que o necessário pode emperrar o projeto

Page 21: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

21GPMS 2018.01

Elementos da ESCuidados• Os processos existem nas organizações mesmo que

não sejam claros, visíveis, documentados ou organizados.

• Processos implícitos x explícitos• Processos implícitos são difíceis de serem seguidos, em

especial por novatos

• Processos explícitos estabelecem as regras de forma clara

Page 22: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

22GPMS 2018.01

Elementos da ESCuidados• Método-chato

• Conhece todos os detalhes de vários métodos, mas...• Não sabe quando usar

• Se perde nos detalhes e não consegue executar nada

Page 23: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

CICLOS DE VIDA

Page 24: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

24GPMS 2018.01

Modelos de Ciclos de Vida

http://portal.melhoria.com.br/blog/simplificando-engenharia-software-com-essence

Page 25: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

25GPMS 2018.01

Modelos de Ciclos de Vida

• Características predefinidas

• Devem ser adaptados para o contexto real de uso• Diversidade

Diversidade

Empresas

Projetos

Modelos de desenvolv

de softwareClientes

Pessoas

Page 26: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

26GPMS 2018.01

Modelos de Ciclos de VidaCiclo de Vida em Cascata• Década de 70

• Saída de uma etapa é a entrada para a próxima• Uma etapa só inicia quando a anterior tiver sido concluída e

verificada

• Muitas variantes

Requisitos

Design

Implementação

Teste

Implantação

Page 27: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

Modelos de Ciclos de VidaCiclo de Vida em Cascata• Benefícios na época

• Disciplina

• Atividades claramente definidas

• Fases bem definidas e delimitadas

• Ampla aceitação e uso• Ainda é largamente utilizado!

• Simplicidade

• Desafios• Linear

• Rígido• Não permite atualização ou redefinição

das fases

• Monolítico• Não estimula a participação de

usuários e clientes

• Dificuldade de tratar as mudanças de requisitos dos clientes/usuários

• Não prevê manutenção

• Software aparece muito tarde

Requisitos

Design

Implementação

Teste

Implantação

Page 28: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

Modelos de Ciclos de VidaCiclo de Vida Incremental

Requisitos

Design

Implementação

Teste

Implantação

...

tempo

fun

cio

nal

idad

es

Requisitos

Design

Implementação

Teste

Implantação

Requisitos

Design

Implementação

Teste

Implantação

Requisitos

Design

Implementação

Teste

Implantação

Page 29: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

29GPMS 2018.01

Modelos de Ciclos de VidaCiclo de Vida Incremental• Ideia de “aumentar (alargar) pouco-a-pouco” o âmbito

do sistema

• Desafios• Dificuldade de gerenciamento - fases simultâneas

• Usuário achar que a primeira versão já corresponde ao sistema como um todo

• Verba do projeto acabar antes do sistema ser concluído

• Software pode não ser adaptável, manutenível ou extensível

Page 30: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

Modelos de Ciclos de VidaDesenvolvimento Iterativo• O desenvolvimento é organizado em “mini-projetos”

• Cada “mini-projeto” é uma iteração

• Cada iteração tem duração curta e fixa (de 2 a 6 semanas)

• Cada iteração tem atividades de requisitos, projeto, programação e testes

• O produto de uma iteração é um software parcial

X semanas X semanas X semanas

Software SoftwareSoftware

...

Page 31: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

31GPMS 2018.01

Modelos de Ciclos de VidaDesenvolvimento Iterativo• Iteração fixa

• Tarefas podem ser removidas ou incluídas

• A iteração nunca deve passar da duração previamente estipulada

• O resultado de cada iteração é um software...• Incompleto

• Em desenvolvimento (não pode ser colocado em produção)

• Mas não é um protótipo!!!

• Esse software pode ser verificado e validado parcialmente• Testes

• Usuários

• Podem ser necessárias diversas iterações para ter uma versão do sistema pronta para entrar em produção

Page 32: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

32GPMS 2018.01

Modelos de Ciclos de VidaDesenvolvimento Iterativo• Iterações iniciais atacam os maiores riscos

• Riscos críticos são resolvidos antes que grandes investimentos sejam realizados

• Permite feedbacks dos usuários desde cedo

Page 33: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

33GPMS 2018.01

Modelos de Ciclos de VidaDesenvolvimento Iterativo• Iterações curtas privilegiam a propagação de

conhecimento• Aumento do conhecimento sobre o software

• Diminuição das incertezas, que levam às mudanças

Page 34: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

34GPMS 2018.01

Modelos de Ciclos de VidaDesenvolvimento Evolutivo

• As especificações evoluem a cada iteração• A cada iteração, uma parte do software fica pronta

• O conhecimento sobre o software aumenta

• As especificações são evoluídas para retratar esse aumento de conhecimento sobre o que é o software

Page 35: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

35GPMS 2018.01

Modelos de Ciclos de VidaDesenvolvimento Evolutivo

• Mudanças sempre acontecem em projetos de software• Requisitos mudam

• O ambiente em que o software está inserido muda

• As pessoas que operam o software mudam

• Estratégias para lidar com mudanças• Evitar as mudanças

• Controlar as mudanças

• Acolher mudanças por meio de um processo evolutivo

Page 36: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

DESENVOLVIMENTO ÁGIL

Page 37: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

37GPMS 2018.01

Desenvolvimento Ágil

Estamos descobrindo maneiras melhores de desenvolver software fazendo-o nós mesmos e ajudando outros a fazê-lo.Através deste trabalho, passamos a valorizar:

“Indivíduos e interações mais do que processos e ferramentas

Software funcionando mais do que documentação abrangente

Colaboração do cliente mais do que negociação de contrato

Resposta a mudança mais do que plano em andamento”

Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itensà esquerda.

www.manifestoagil.com.br

Page 38: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

38GPMS 2018.01

Desenvolvimento Ágil

• Princípios ágeis• Satisfazer o cliente • Acolher modificações nos requisitos• Entregar o software com frequência• Trabalhar junto ao cliente• Manter os indivíduos motivados• Promover conversas face a face• Medir o progresso com software funcionando• Manter um ritmo constante de trabalho• Cuidar da qualidade• Buscar por simplicidade• Trabalhar com equipes auto-organizadas• Ajustar o comportamento da equipe buscando mais efetividade

www.manifestoagil.com.br

Page 39: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

39GPMS 2018.01

Desenvolvimento Ágil

• Motivação• Resultados ruins com os cronogramas e orçamentos dos seus projetos

• Survey com 32 organizações de 10 segmentos distintos. Desse total, 14 empresas responderam que usam métodos ágeis

• A maioria das organizações tinha CMM em diferentes níveis, mas estavam buscando por algo novo devido aos problemas que enfrentavam mesmo com seus processos mais maduros

(REIFER, 2002)

Page 40: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

40GPMS 2018.01

Desenvolvimento Ágil

• Características Principais• Desenvolvimento iterativo e incremental

• Fornecer valor rapidamente

• Orientação à adaptação, ao invés de predição

• Respostas rápidas e flexíveis a mudanças (inevitáveis)

• Projeto replanejado continuamente

• Grande envolvimento e participação do cliente

Page 41: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

41GPMS 2018.01

Desenvolvimento Ágil

• Métodos Ágeis

Page 42: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

42GPMS 2018.01

Desenvolvimento Ágil

• Métodos Ágeis

Pair Programming (XP)Ciclo de Gestão do

Scrum

Kanban Board

Page 43: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

43GPMS 2018.01

Desenvolvimento Ágil

• Métodos Ágeis• Cada método tem as suas forças e limitações e é mais

apropriado para um determinado tipo de projeto

• Numerosos métodos ágeis diferentes têm emergido continuamente durante os últimos anos e não demonstram sinais de cessar

Page 44: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

44GPMS 2018.01

Desenvolvimento Ágil• Limitações

• Ambiente de desenvolvimento globalmente distribuído

• A maioria dos métodos ágeis não oferece suporte adequado à gerência de projetos

• Subcontratação

• Aplicações críticas - controle de qualidade

• Não se observa nenhuma prática dedicada a lidar com os requisitos não funcionais do software

• A ausência de uma arquitetura definida se torna mais arriscada conforme o sistema cresce

• Se baseia fortemente no conhecimento tácito e na comunicação pessoa-pessoa

• Necessidade de autonomia da equipe

• Cliente com pouco tempo para se dedicar

• Capacidade de realizar grandes projetos de desenvolvimento de software??

• Como conciliar os interesses de diferentes clientes e garantir a participação de todos em tempo hábil para atender a velocidade das mudanças necessárias?

Page 45: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

45GPMS 2018.01

Desenvolvimento Ágil

• Cuidados• Não é uma bala de prata – não vai resolver todos os problemas

• Nenhum processo é efetivo para todos os projetos

• Desenvolvimento ágil não é para todos. • Tentar impor os princípios ágeis em uma organização centrada em

processos e pouco colaborativa vai resultar em fracasso

Page 46: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

PROCESSO UNIFICADO

Page 47: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

47GPMS 2018.01

Processo Unificado

Processo Unificado

Incremental

Iterativo

Evolutivo

Page 48: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

48GPMS 2018.01

Processo UnificadoFases• O desenvolvimento pode ser decomposto em fases,

visando retratar a ênfase principal das iterações• Concepção

• Elaboração

• Construção

• Transição

• Plano da fase• Abrangente e superficial

• Plano da iteração• Específico e detalhado

Page 49: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

49GPMS 2018.01

Processo Unificado

Atividade Esforço

Análise 10%

Projeto 15%

Programação 30%

Testes 15%

Gerência 30%

(MURTA, 2014)

Page 50: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

50GPMS 2018.01

Processo UnificadoExemplo• Rational Unified Process (RUP)

• Em uma iteração você caminha por todas as disciplinas com diferentes ênfases

Page 51: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

51GPMS 2018.01

Processo UnificadoFases

• Escopo do projeto

Concepção

• Planejamento do projeto

• Especificação de requisitos

• Arquitetura básica

Elaboração• Constrói o produto

Construção

• Entrega o produto para a comunidade de usuários

Transição

Page 52: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

52GPMS 2018.01

Processo UnificadoFases - Concepção• Escopo

• Identificação de riscos• Listagem inicial dos requisitos• Esboço dos casos de uso• Identificação de arquiteturas candidatas• Estimativas iniciais de cronograma e custo

• Principais características• Escopo ainda vago• Estimativas ainda vagas

• Esforço e duração aproximados• 5% do esforço do projeto• 10% da duração do projeto

• Marco• Objetivo do projeto

Page 53: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

53GPMS 2018.01

Processo UnificadoFases - Elaboração• Escopo

• Mitigação dos riscos• Detalhamento da maioria dos requisitos e casos de uso• Estabelecimento e validação da arquitetura do software• Detalhamento das estimativas de cronograma e custo

• Principais características• Grande parte das atividades de análise e projeto já concluída• Diminuição significativa das incertezas• Baseline da arquitetura é estabelecida

• Esforço e duração aproximados• 20% do esforço do projeto• 30% da duração do projeto

• Marco• Arquitetura do software

Page 54: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

54GPMS 2018.01

Processo UnificadoFases - Construção• Escopo

• Implementação dos demais componentes da arquitetura

• Preparação para a implantação

• Principais características• Baseline de testes do produto é estabelecida

• Esforço e duração aproximados• 65% do esforço do projeto

• 50% da duração do projeto

• Marco• Capacidade inicial de operação

Page 55: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

55GPMS 2018.01

Processo UnificadoFases – Transição• Escopo

• Execução de testes finais

• Implantação do produto

• Treinamento dos usuários

• Principais características• Baseline de liberação do produto é estabelecida

• Esforço e duração aproximados• 10% do esforço do projeto

• 10% da duração do projeto

• Marco• Lançamento do produto

Page 56: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

TRABALHO

Page 57: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

57GPMS 2018.01

TrabalhoSite Eleições 2018• Objetivo

• Desenvolver um site com informações sobre as eleições 2018

• Escopo• Definir a tecnologia para plataforma web – não podem ser utilizados

templates prontos

• Definir e implementar a arquitetura de informações

• Definir e implementar a identidade visual

• Implementar as funcionalidades solicitadas

• Implementar as características de inovação sugeridas pelo grupo

• Atenção• Cuidado com as questões éticas, legais e partidárias.

• Especificação• http://www2.ic.uff.br/~andrea/teaching/201801/gpms/GPMS-

EspecificacaoTrabalho.pdf

Page 58: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

58GPMS 2018.01

Trabalho – Site Eleições 2018Funcionalidades Básicas• 1. HomePage

• A HomePage deve conter informações gerais sobre as eleições, oscandidatos, menu de navegação com acesso às principaisfuncionalidades, mecanismos de buscas e etc.

• 2. Boca de Urna• O sistema deve permitir que os usuários indiquem 1 única vez suas

intenções de votos aos diferentes cargos (presidente, governador,senador, deputado federal e deputado estadual).

• O sistema deve consolidar e apresentar os resultados.

• 3. Informações sobre Candidatos• O sistema deve permitir que os usuários pesquisem informações sobre

os seus candidatos e recebam como resultado um resumo dos seusdados básicos, bem com a lista com as principais notícias envolvendoaquele candidato.

Page 59: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

59GPMS 2018.01

• 4. Locais de Votação• O sistema deve permitir que o usuário preencha os dados do seu título

de eleitor e seja informado do seu local de votação.

• 5. Acompanhamento dos Resultados das Eleições• O sistema deve permitir o acompanhamento online dos resultados das

eleições mostrando o rankeamento dos candidatos e dos partidos naconcorrência aos diferentes cargos (presidente, governador, senador,deputado federal e deputado estadual).

• 6. Inovação• Pelo menos 2 ideias e inovações devem ser sugeridas e

implementadas pelo grupo, sendo 1 para cada seminário.

TrabalhoFuncionalidades Básicas

Page 60: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

EXERCÍCIO

Page 61: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

61GPMS 2018.01

Exercício

• A iteração da concepção• Início do ciclo de desenvolvimento de um novo

produto

• Situação ideal para o desenvolvimento de um pequeno projeto. Ainda não existem requisitos para preservar, reuso ou interfaces com sistemas legados

• A maior parte do esforço está concentrado em Requisitos e na Gerência de Projetos

Page 62: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

62GPMS 2018.01

Exercício

• Analise com o seu grupo como o processo unificado será utilizado no trabalho• Qual será a duração de uma iteração?

• O que vocês pretendem entregar em cada iteração?

• Como e quando vocês vão se reunir para atingir esse objetivo?

• Qual será o papel de cada membro do grupo?

• Quais são os riscos envolvidos?

• Quais decisões arquiteturais precisam ser tomadas (linguagem, SO, etc.)?

Page 63: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

63GPMS 2018.01

Page 64: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

64GPMS 2018.01

Dúvidas?

Page 65: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

65GPMS 2018.01

Leitura Complementar

• FAIRLEY, R. E.; WILLSHIRE, M. J. (2003). "Why the Vasa sank: 10problems and some antidotes for software projects". IEEESoftware, v. 20, n. 2, pp. 18–25.

• BOEHM, B. (2006). "A view of 20th and 21st century softwareengineering". Proceedings of the 28th international conference onSoftware engineering, Shanghai, China: ACM, pp. 12–29.

Page 66: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

66GPMS 2018.01

Próxima Aula

Gerência de Configuração

Garantia de Qualidade

Verificação, Validação e Testes

Planejamento de Projetos

Gerência de Riscos

Monitoramento e Controle

Reutilização

Medição e Análise

Levantamento de Requisitos

Análise de Requisitos

Projeto Codificação

Comunicação

AtividadesGerenciais

Atividades de Desenvolvimento

Atividades de Apoio

Aquisição

Colaboração

Page 67: Gerência de Projetos e Manutenção de Software Aula 2 ...andrea/teaching/201801/gpms/GPMS-Aula2-RevisaoES.pdf · Engenharia de Software -Objetivos ... • Saída de uma etapa é

Gerência de Projetos e Manutenção de Software

Aula 2- Revisão de ESAndréa Magalhães Magdaleno

[email protected]

2018.01