ciclo de vida clássico da engenharia de software

11
19/8/2013 1 1 Engenharia de Software Tecnologia em Gestão da Tecnologia da Informação Prof. Eduardo José dos Santos [email protected] Aula 03 • Revisão; Ciclo de Vida Clássico de Desenvolvimento de Software; Atividade Complementar; • Referências. Roteiro

Upload: eduardo-santos

Post on 06-Jun-2015

2.737 views

Category:

Education


4 download

DESCRIPTION

Aula 03 - Engenharia de Software - Ciclo de Vida Clássico da Engenharia de Software

TRANSCRIPT

Page 1: Ciclo de Vida Clássico da Engenharia de Software

19/8/2013

1

1

Engenharia de SoftwareTecnologia em Gestão da Tecnologia da

InformaçãoProf. Eduardo José dos Santos

[email protected]

Aula 03

• Revisão;

• Ciclo de Vida Clássico de Desenvolvimento de Software;

• Atividade Complementar;

• Referências.

Roteiro

Page 2: Ciclo de Vida Clássico da Engenharia de Software

19/8/2013

2

• Engenharia Software;

• Abrangência e Justificativas;

• Metodologias:• Clássica;• Cascata;• XP.

PRESSMAN, Roger S. Engenharia de Software.

6ª ed. São Paulo: Prentice Hall, 2009.

Livro-texto: página 32.

Page 3: Ciclo de Vida Clássico da Engenharia de Software

19/8/2013

3

• Ciclos de Vida do Software

• Ciclos de Vida:

• Paradigma da Engenharia de Software quecorresponde aos ciclos (fases) em que osoftware é construído/elaborado;

• Versão simplificada da realidade;

• Modelos existentes possuem diferentes grausde sofisticação e complexidade;

• Um processo bem estruturado permite acriação de base estável para a criatividade.

• Ciclos de Vida:

• Existem diversos, alguns cobrem apenasconcepção ao desenvolvimento, enquantooutros cobrem: concepção, desenvolvimento,implantação e manutenção.

Page 4: Ciclo de Vida Clássico da Engenharia de Software

19/8/2013

4

Para escolha de um Ciclo de Vida de software:

� natureza do projeto e da aplicação;

� métodos e ferramentas a serem usados;

� controles e produtos que precisam ser entregues.

Ciclo de Vida Clássico (Cascata)

• Modelo mais antigo e o mais amplamenteusado da Engenharia de Software;

• Modelado em função do ciclo da engenhariaconvencional;

• Requer uma abordagem sistemática,sequencial ao desenvolvimento de software.

Page 5: Ciclo de Vida Clássico da Engenharia de Software

19/8/2013

5

Ciclo de Vida Clássico (Cascata)

���� Requer uma abordagem sistemática

sequencial ao desenvolvimento

de software.

Engenharia de Sistemas

Análise de Requisitos

Projeto

Codificação

Testes

Manutenção

1. Análise e Engenharia de Sistemas:

� Estabelecimento dos requisitos paratodos os elementos do sistema(hardware, pessoas, banco de dados,etc...);

� Envolve a coleta dos requisitos em níveldo sistema, com uma pequenaquantidade de projeto e análise de altonível;

Ciclo de Vida Clássico

1. Análise e Engenharia de Sistemas:

� Quanto mais dados forem coletados emnível de sistema, menor será aprobabilidade de haver “bugs”, o queconsequentemente diminuirá os futurosreparos;

� Também conhecido como estudo deviabilidade.

Ciclo de Vida Clássico

Page 6: Ciclo de Vida Clássico da Engenharia de Software

19/8/2013

6

2. Análise de Requisitos de Software:

� o processo de coleta dos requisitos éintensificado e concentradoespecificamente no software;

� deve-se compreender o domínio dainformação, a função, desempenho einterfaces exigidos;

� os requisitos (para o sistema e para osoftware) são documentados e revistoscom o cliente antes de iniciar o projeto;

Ciclo de Vida Clássico

2. Análise de Requisitos de Software:

� Detalhar o domínio das informações e dafuncionalidade requerida para o software;

� Definir cada detalhe para poder construiruma estrutura envolvendo tamanho, tipo,volume, consistências, inter-relação, entreoutras.

Ciclo de Vida Clássico

2. Análise de Requisitos de Software:

Ciclo de Vida Clássico

Page 7: Ciclo de Vida Clássico da Engenharia de Software

19/8/2013

7

3. Projeto:

� tradução dos requisitos do software paraum conjunto de representações quepodem ser avaliadas quanto à qualidade,antes que a codificação se inicie;

Ciclo de Vida Clássico

3. Projeto:

� se concentra em 4 atributos do programa:� Estrutura de Dados,� Arquitetura de Software, � Detalhes Procedimentais e � Caracterização de Interfaces.

� É documentado e torna-se parte daconfiguração do software;

� Traduz quanto à qualidade antes deiniciar a codificação.

Ciclo de Vida Clássico

4. Codificação:

� tradução das representações do projetopara uma linguagem “artificial” resultandoem instruções executáveis pelocomputador;

� se o projeto estiver bem detalhado, acodificação pode ser executadamecanicamente.

Ciclo de Vida Clássico

Page 8: Ciclo de Vida Clássico da Engenharia de Software

19/8/2013

8

5. Testes e Integração:

� Concentra-se:

� nos aspectos lógicos internos dosoftware, garantindo que todas asinstruções tenham sido testadas;

� nos aspectos funcionais externos, paradescobrir erros e garantir que aentrada definida produza resultadosque concordem com os esperados.

Ciclo de Vida Clássico

5. Testes e Integração:

� junção de várias unidades de programase recursos envolvidos;

� resultado deve concordar com o projetoou resultado exigido;

� Depois de testado, o software é entregueao usuário/cliente.

Ciclo de Vida Clássico

6. Manutenção e Operação:

� indubitavelmente o software deverá sofrermudanças depois que for entregue aocliente;

� causas das mudanças: erros, adaptaçãodo software para acomodar mudanças emseu ambiente externo e exigência docliente para acréscimos funcionais e dedesempenho.

Ciclo de Vida Clássico

Page 9: Ciclo de Vida Clássico da Engenharia de Software

19/8/2013

9

6. Manutenção e Operação:

o Tipos de manutenção:

� Manutenção corretiva: corrige os errosnão detectados;

� Manutenção adaptativa: adaptação daaplicação às mudanças do ambiente;

� Manutenção evolutiva: adição denovas características e qualidades dosoftware.

Ciclo de Vida Clássico

6. Manutenção:

� A manutenção de software reaplicacada uma das etapas precedentes dociclo de vida a um programa existente, enão a um novo.

Ciclo de Vida Clássico

• Vantagens:

� Minimiza o tempo de planejamento;

� Funciona bem para equipes tecnicamentemais fracas.

Ciclo de Vida Clássico

Page 10: Ciclo de Vida Clássico da Engenharia de Software

19/8/2013

10

• Principais problemas:

� Inflexível;

� Apenas a fase final produz um deliverableque não é um documento;

� Torna-se difícil voltar atrás para corrigirerros;

Ciclo de Vida Clássico

• Principais problemas:

� Projetos reais raramente seguem fluxosequencial que o modelo propõe;

� Muitas vezes é difícil para o clientedeclarar todas as exigênciasexplicitamente;

� Uma versão de trabalho não estarádisponível até um ponto tardio docronograma do projeto.

Ciclo de Vida Clássico

� Embora o Ciclo de Vida Clássicotenha fragilidades, ele ésignificativamente melhor do que umaabordagem casual ao desenvolvimentode software;

�É o mais antigo e o maisamplamente usado da Engenharia deSoftware.

CONCLUSÕES

Page 11: Ciclo de Vida Clássico da Engenharia de Software

19/8/2013

11

Dúvidas

Trabalho

Fonte: SIAE

Referências

• Roger S. Pressman. ENGENHARIA DE SOFTWARE. Makron Books. (1995) .

• Kotonya, Gerald; Sommerville, Ian. Requeriments Engineering: Processes and Tecniques - John Wiley & Sons. (1998).

• IEEE – Computer Society. http://www.computer.org

• Sommerville, Ian. ENGENHARIA DE SOFTWARE, 8ª edição. (2007).