engenharia de software ii - aula 2

39
Alessandro Almeida | www.alessandroalmeida.com

Upload: alessandro-almeida

Post on 12-Jul-2015

597 views

Category:

Business


5 download

TRANSCRIPT

Page 1: Engenharia de Software II - Aula 2

Alessandro Almeida | www.alessandroalmeida.com

Page 2: Engenharia de Software II - Aula 2

Retomando as bases...

Page 3: Engenharia de Software II - Aula 2

Parte essencial do projeto, direcionando as tomadas de decisões,

planejamento, desenvolvimento e manutenção de todo o ciclo de

vida do projeto.

Responsável pelo levantamento de requisitos, ou seja, toda a documentação do projeto necessária para o entendimento aprofundado do software a ser desenvolvido.

Fundamental para o desenvolvimento de um software com qualidade. O desenvolvimento é complexo, envolvendo diversas áreas. Permite padronizar os processos, reduzindo custo e prazo.

Page 4: Engenharia de Software II - Aula 2

Especificação, desenvolvimento e manutenção

de sistemas de software. Contém melhores

práticas de gerenciamento de projetos, que

visa organização, produtividade e qualidade.

Conjunto de metodologias e boas práticas para arquitetar e planejar o desenvolvimento de qualquer tipo de software que atenda uma necessidade específica do cliente.

Padrão para todas as fases de um desenvolvimento de sistemas, desde o levantamento de requisitos (regras de negócio) até testes e manutenções.

Page 5: Engenharia de Software II - Aula 2

Sobre as “boas práticas” ou “melhores práticas”

Page 6: Engenharia de Software II - Aula 2

Cuidado!!!!

Quem definiu que as práticas são boas ou melhores?

A empresa fez uma avaliação?

Houve um diagnóstico?

Os principais stakeholders foram ouvidos?

Sinal de alerta:

Consultoria ou um grupo restrito definindo e decidindo as “melhores” práticas para a área de TI

Page 7: Engenharia de Software II - Aula 2

Facilita o desenvolvimento de um projeto e define seus objetivos através de um estudo detalhado. Define o roteiro de construção do projeto, por meio de metodologias como ITIL, CMMI, etc.

Como modelo conceitual, possui 3 elementos: Métodos,

procedimentos e ferramentas. Nesses processos são

envolvidos a parte de testes e manutenções,

documentações que são desenvolvidas com custos e

prazos estimados.

Page 8: Engenharia de Software II - Aula 2

Independente do tamanho do projeto e/ou empresa, a Engenharia de Software está presente na área de TI, organizando e auxiliando no desenvolvimento de projetos.

Na maioria das empresas o responsável pelo levantamento de requisitos recebe toda a especificação dos projetos e alinha de acordo com as necessidades, utilizando, por exemplo, conceitos de UML. Passa as informações para a equipe de desenvolvimento, mas sempre acompanhando para que nada saia fora do que foi combinado.

Page 9: Engenharia de Software II - Aula 2

A Engenharia de Software ajuda na

padronização e criação de processos,

gerando várias documentações que

auxiliam na tomada de decisões.

Na minha empresa, é aplicada quando as fases de desenvolvimento de um software são divididas, definindo seus processos e padrão de qualidade.

Page 10: Engenharia de Software II - Aula 2

Cada empresa utiliza a Engenharia de Software

conforme sua necessidade, onde, de acordo com o

projeto, é estudado o melhor método para utilizar.

Alguns mais complexos e detalhados, outros mais

simples.

Normalmente, a Engenharia de Software é aplicada nas empresas para que haja melhoria nos sistemas conforme levantamento dos requisitos com os usuários/clientes.

Page 11: Engenharia de Software II - Aula 2

Em empresas de grande porte, onde o cliente exige a qualidade do serviço, as consultorias utilizam todas as etapas da Engenharia de Software, incluindo recursos como CMMI, COBIT, entre outros. Mas internamente, nas consultorias e nos departamentos de uma empresa, o uso da Engenharia de Software é defasado, devido ao curto espaço de tempo para resolução de problemas e falta de conhecimento da gerência e direção.

Page 12: Engenharia de Software II - Aula 2
Page 13: Engenharia de Software II - Aula 2

Disciplina de engenharia cujo foco está em todos os aspectos da produção de software, desde os estágios iniciais da especificação do sistema até sua manutenção, quando o sistema já está sendo usado.

Page 14: Engenharia de Software II - Aula 2

...engenharia...

“construção, criação, execução de algo em que se utilize engenho e arte” (Fonte: Dicionário Houaiss)

Page 15: Engenharia de Software II - Aula 2

...todos os aspectos da produção de software...

Não apenas processos “técnicos”, mas também as atividades de gerenciamento de projeto, por exemplo.

Page 16: Engenharia de Software II - Aula 2

Motivação

Page 17: Engenharia de Software II - Aula 2

Os números apresentados nos próximos slides são baseados nas edições 2011 e 2012 do Benchmarking em Gerenciamento de Projetos Realizado por capítulos nacionais e internacionais

(Argentina, França e Uruguai) do PMI Disponível para download gratuito no endereço

www.pmsurvey.org Setor considerado: Tecnologia da Informação

Não é possível filtrar por tipo de projeto (por exemplo: “Projeto de desenvolvimento ou manutenção de software”)

Page 18: Engenharia de Software II - Aula 2

0%

29%

71%

0% 0%

64%

27%

9%

0%

10%

20%

30%

40%

50%

60%

70%

80%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

Page 19: Engenharia de Software II - Aula 2

0%

29%

71%

0% 0%

64%

27%

9%

0%

10%

20%

30%

40%

50%

60%

70%

80%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

Page 20: Engenharia de Software II - Aula 2

Gerente de Projeto

Page 21: Engenharia de Software II - Aula 2

Como assim?!?!

Nós

Page 22: Engenharia de Software II - Aula 2

Consigo terminar meus projetos,

mas sempre estoura algo...

Nós

Page 23: Engenharia de Software II - Aula 2

... principalmente custo e prazo.

Nós

Page 24: Engenharia de Software II - Aula 2

Além disso, tenho uns 3 projetos que nunca terminam...

Nós

Page 25: Engenharia de Software II - Aula 2

... pois meu cliente não quer

homologar.

Nós

Page 26: Engenharia de Software II - Aula 2

0%

29%

71%

0% 0%

64%

27%

9%

0%

10%

20%

30%

40%

50%

60%

70%

80%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

Page 27: Engenharia de Software II - Aula 2

0%

29%

71%

0% 0%

64%

27%

9%

0%

10%

20%

30%

40%

50%

60%

70%

80%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

Como podemos definir maioria das vezes e poucas vezes?

Page 28: Engenharia de Software II - Aula 2

0%

29%

71%

0% 0%

64%

27%

9%

0%

10%

20%

30%

40%

50%

60%

70%

80%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

Quem respondeu a pesquisa? O gerente do projeto ou o cliente?

Page 29: Engenharia de Software II - Aula 2

Gerente de Projeto (na vida real)

Page 30: Engenharia de Software II - Aula 2

5%

45%

47%

3%

9%

43%

45%

3%

0%

5%

10%

15%

20%

25%

30%

35%

40%

45%

50%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

Page 31: Engenharia de Software II - Aula 2

4%

34%

55%

7% 5%

33%

55%

7%

0%

10%

20%

30%

40%

50%

60%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

Page 32: Engenharia de Software II - Aula 2

1%

23%

64%

12%

3%

23%

61%

13%

0%

10%

20%

30%

40%

50%

60%

70%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

Page 33: Engenharia de Software II - Aula 2

0%

15%

74%

11%

2%

16%

69%

13%

0%

10%

20%

30%

40%

50%

60%

70%

80%

Sempre Na maioria das vezes Poucas vezes Nunca

2011

2012

Page 34: Engenharia de Software II - Aula 2

Não cumprimento dos prazos Comunicação Escopo não definido adequadamente Mudanças de escopo constantes Estimativas incorretas Entre outros...

Page 35: Engenharia de Software II - Aula 2

Gerente de Projeto (na vida real)

Page 36: Engenharia de Software II - Aula 2

Agora, a principal motivação para pensarmos em Engenharia de Software:

E na minha empresa, como funcionam os projetos de desenvolvimento ou manutenção

de software?

Enfrentamos problemas com prazo, custo, qualidade, escopo, satisfação do cliente, etc.?

Page 37: Engenharia de Software II - Aula 2

Agora, a principal motivação para pensarmos em Engenharia de Software:

E na minha empresa, como funcionam os projetos de desenvolvimento ou manutenção

de software?

Enfrentamos problemas com prazo, custo, qualidade, escopo, satisfação do cliente, etc.?

Page 38: Engenharia de Software II - Aula 2
Page 39: Engenharia de Software II - Aula 2

[email protected] www.slideshare.net/alessandroalmeida