33
Prof. Rodrigo Rovaron [email protected]

Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Prof. Rodrigo Rovaron

[email protected]

Page 2: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Engenharia de Software I

Page 3: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM
Page 4: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Objetivos• Controle sobre o desenvolvimento de software dentro de custos, prazos e níveis de qualidade desejados;

• Produtividade no desenvolvimento e manutenção de software;

Page 5: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Pré-requisitos• Ler

• Escrever

• Falar

• Ouvir

Page 6: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

O que é Software?• Segundo Pressman, em 1970 menos de 1% dos

profissionais poderiam ter definido o termo Software.

E hoje??

Page 7: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

O que é software?• Produto que os Engenheiros de Software, projetam

e constroem.

• Engloba:

• Instruções

• Estruturas de dados

• Persistência de dados

• Documentação

Page 8: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Diferença entre software e hardware?

Page 9: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Hardware - manufaturado

Page 10: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Software

Page 11: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

• No desenvolvimento de um software conceitualmente não existe um processo manual, todos os envolvidos exercem um trabalho intelectual.

Page 12: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Software não se desgasta como o hardware?

Como é a manutenção de um hardware? e de um software?

Page 13: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Curva de falha do hardware

Page 14: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Curva de falha do software

Page 15: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Curva de falha do software

Page 16: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Curva de falha do software

Page 17: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Efeitos colaterais?• Correção de erros, tendem a gerar novos erros?

• Corrigir do modo rápido ou do modo certo? Quem nunca????

• Desenvolvedores temem modificações, buscam evitá-las

• Aceitem as mudanças, requisitos de software sempre mudam

Page 18: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

A evolução do software

Page 19: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

A crise do software• A “crise do software” foi um termo cunhado para

descrever as dificuldades enfrentadas no desenvolvimento de software no fim da década de 60. A complexidade dos problemas, a ausência de técnicas bem estabelecidas e a crescente demanda por novas aplicações começavam a se tornar um problema sério.

Page 20: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Maior da complexidade• Aumento crescente por sistemas de informação

• Sistemas mais sofisticados exigem mais recursos (humanos e hardwares)

Page 21: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Menor confiabilidade• Maior dependência do software nos

procedimentos "normais" do cotidiano, faz com que os sistemas precisem ser mais seguros

Page 22: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Manutenabilidade• Imprecisão nas especificações iniciais do projeto;

• Muitas modificações exigidas pelo cliente;

• Rotatividade acentuada da equipe do projeto;

• Informações não muito bem documentadas;

• Custos elevados nos estágios finais de projeto.

Page 23: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Ciclo de Vida do Software• O ciclo de vida completo de um software passa pela formulação inicial do problema, pela análise, projeto, programação e pelos testes do software, e é seguido por uma fase operacional durante a qual são executados a manutenção e o aperfeiçoamento;

Page 24: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Processos de desenvolvimento de software• O processo de software é um conjunto de

atividades destinadas à produção e/ou evolução de um sistema. As atividades dos processos podem envolver o desenvolvimento ou a manutenção do software

Page 25: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

• Os processos de softwares são complexos e na maioria das vezes realizados com uso de ferramentas CASE.

Page 26: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

• Os processos de software evoluíram para explorar as capacidades das pessoas dentro das organizações e as características específicas dos sistemas.

Page 27: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

• Atualmente existem diversos processos de software e algumas atividades são comuns entre eles, como por exemplo:

• Especificação

• Projeto de implementação

• Validação de software

• Evolução de software

Page 28: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Especificação• Definem-se as funcionalidades do software e as

restrições sobre suas operações

Page 29: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Projeto de implementação• Produção de um software que atenda à

especificação

Page 30: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Validação de software• O software precisa ser validado para garantir que

atendeu os requisitos pedidos pelo cliente

Page 31: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Evolução de software• O software deve evoluir para atender às

necessidades mutáveis do cliente

Page 32: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

• Os processos de software podem ser aprimorados para incrementar a qualidade do produto e/ou reduzir seu tempo e custo

Page 33: Aula 01 - learnmau.files.wordpress.com · Title: Aula 01 Created Date: 8/7/2016 2:34:22 PM

Modelos de desenvolvimento de software• Cascata

• Incremental

• Prototipação

• Espiral

• RAD

• RUP