Engenharia de Software - Conceitos e Modelos de Desenvolvimento
-
Upload
sergio-souza-costa -
Category
Documents
-
view
10.626 -
download
3
Transcript of Engenharia de Software - Conceitos e Modelos de Desenvolvimento
![Page 1: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/1.jpg)
Conceitos e modelos de desenvolvimento
Engenharia de Software
Prof: Sérgio Souza Costa
![Page 2: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/2.jpg)
Sobre mim
Sérgio Souza CostaProfessor - UFMADoutor em Computação Aplicada (INPE)
https://sites.google.com/site/profsergiocosta/home
https://twitter.com/profsergiocosta
http://gplus.to/sergiosouzacosta
http://www.slideshare.net/skosta/presentations?order=popular
![Page 3: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/3.jpg)
O que iremos aprender hoje ?
![Page 4: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/4.jpg)
O que iremos aprender hoje ?
Conceitos sobre Engenharia de Software
![Page 5: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/5.jpg)
O que iremos aprender hoje ?
Conceitos sobre Engenharia de Software
Modelos de desenvolvimento
![Page 6: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/6.jpg)
O que iremos aprender hoje ?
Conceitos sobre Engenharia de Software
![Page 7: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/7.jpg)
Qual o primeiro conceito ? Por onde devemos começar ? O que vocês acham ?
![Page 8: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/8.jpg)
O que é software ?
![Page 9: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/9.jpg)
O que é software?
Resposta não é obvia, segundo Pressman, em 1970 menos de 1% dos profissionais poderiam ter definido o que é software.
![Page 10: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/10.jpg)
O que é software?
Produto que os engenheiros de software projetam e constroem.
![Page 11: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/11.jpg)
O que é software?
Produto que os engenheiros de software projetam e constroem. Englobando:
![Page 12: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/12.jpg)
O que é software?
1) Instruções (programas de computadores, código executável) que produzem algum resultado desejado.
Produto que os engenheiros de software projetam e constroem. Englobando:
![Page 13: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/13.jpg)
O que é software?
2) Estruturas de dados que permitem que os programas manipulem adequadamente a informação.
Produto que os engenheiros de software projetam e constroem. Englobando:
![Page 14: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/14.jpg)
O que é software?
3) Documentação que descrevem o uso dos programas.
Produto que os engenheiros de software projetam e constroem. Englobando:
![Page 15: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/15.jpg)
Produto que os engenheiros de software projetam e constroem. Englobando:
O que é software?
3) Documentação que descrevem o uso dos programas.
SIM. Documentação, aquela parte que os programadores não morrem de amor.
![Page 16: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/16.jpg)
Então, software é um produto do engenheiro de software, como um hardware é um produto de um engenheiro eletrônico ? O que diferencia estes produtos?
![Page 17: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/17.jpg)
Então, software é um produto do engenheiro de software, como um hardware é um produto de um engenheiro eletrônico ? O que diferencia estes produtos?
Software é lógico.
Hardware é físico.
![Page 18: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/18.jpg)
Então, software é um produto do engenheiro de software, como um hardware é um produto de um engenheiro eletrônico ? O que diferencia estes produtos?
Software é lógico.
Hardware é físico.Vamos ver melhor estas diferenças, e como isto reflete na sua construção.
![Page 19: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/19.jpg)
CARACTERÍSTICAS DO SOFTWARE
![Page 20: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/20.jpg)
Qual a diferença entre Hardware e Software ?
![Page 21: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/21.jpg)
1. Desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico.
![Page 22: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/22.jpg)
Projeto (modelo conceitual)
Artefatos (esquemas, plantas, mapas ... )
Fabricação (manufaturado)
Hardware - manufaturado
Mundo Lógico
Mundo físico
1. Desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico.
![Page 23: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/23.jpg)
Projeto (modelo conceitual)
Artefatos (diagramas, documentos ..)
Programa – modelo de implementação
Software
Mundo Lógico
Alto nível
Baixo nível
Mo
del
os
1. Desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico.
![Page 24: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/24.jpg)
1. Desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico.
Projeto (modelo conceitual)
Artefatos (diagramas, documentos ..)
Programa – modelo de implementação
Software
Mundo Lógico
Alto nível
Baixo nível
Mo
del
os
Relaxem. Iremos entender melhor isso durante o curso, na carreira, em algum momento …
![Page 25: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/25.jpg)
1. Desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico.
Projeto (modelo conceitual)
Artefatos (diagramas, documentos ..)
Programa – modelo de implementação
Software
Mundo Lógico
Alto nível
Baixo nível
Mo
del
os
Relaxem. Iremos entender melhor isso durante o curso, na carreira, em algum momento …
A engenharia ainda está entendendo melhor estas diferenças.
![Page 26: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/26.jpg)
No desenvolvimento de um software conceitualmente não existe um processo manual, todos os envolvidos exercem um trabalho intelectual.
![Page 27: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/27.jpg)
Porém, onde e quem exerce o trabalho mais similar a um trabalho “manual” em um software ?
No desenvolvimento de um software conceitualmente não existe um processo manual, todos os envolvidos exercem um trabalho intelectual.
![Page 28: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/28.jpg)
2. Software não se desgasta como nos hardware.
![Page 29: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/29.jpg)
Como é a manutenção em um hardware ? e em um software?
![Page 30: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/30.jpg)
Mortalidade infantil
Associada a falhas de fabricação e ou projeto.
Desgaste
Males ambientais, poeiras, vibrações.
Todo hardware tem um tempo de vida.
Mortalidade infantil
Curva de falha do hardware
Desgaste
Tempo
Falh
a
![Page 31: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/31.jpg)
E no software, como vocês acham que é esta curva ? Lembrem-se de que no software não existe uma processo manufaturado, não existem peças que se desgastam.
![Page 32: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/32.jpg)
Curva de falha do software
Tempo
Falh
a
Mudança
Curva real
Curva idealizada
![Page 33: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/33.jpg)
Curva de falha do software
Tempo
Falh
a
Mudança
Curva real
Curva idealizada
![Page 34: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/34.jpg)
Curva de falha do software
Tempo
Falh
a
Mudança
Curva real
Contraditorio ? Consegueriam explicar ?
Curva idealizada
![Page 35: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/35.jpg)
Curva de falha do software
Tempo
Falh
a
Mudança
Curva real
Incremento devido os efeitos
colaterais
Curva idealizada
![Page 36: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/36.jpg)
Efeitos colaterais, o pesadelo de todo desenvolvedor de software.
Correção de erros, tendem a gerar novos erros.
![Page 37: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/37.jpg)
Efeitos colaterais, o pesadelo de todo desenvolvedor de software.
Correção de erros, tendem a gerar novos erros.
Desenvolvedores temem modificações, tentam a evitá-las.
![Page 38: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/38.jpg)
Efeitos colaterais, o pesadelo de todo desenvolvedor de software.
Correção de erros, tendem a gerar novos erros.
Desenvolvedores temem modificações, tentam a evitá-las.
Porém, mudanças são inevitáveis e temos que lidar com isso.
![Page 39: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/39.jpg)
Efeitos colaterais, o pesadelo de todo desenvolvedor de software.
Correção de erros, tendem a gerar novos erros.
Desenvolvedores temem modificações, tentam a evitá-las.
Porém, mudanças são inevitáveis e temos que lidar com isso.
Requisitos de softwares sempre mudam.
![Page 40: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/40.jpg)
Efeitos colaterais, o pesadelo de todo desenvolvedor de software.
Correção de erros, tendem a gerar novos erros.
Desenvolvedores temem modificações, tentam a evitá-las.
Porém, mudanças são inevitáveis e temos que lidar com isso.
Requisitos de softwares sempre mudam.
Vamos ver durante o curso, mecanismo que tentam tornar esse processo menos dolorosos.
![Page 41: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/41.jpg)
3. A maioria é feita sob medida em vez de ser montada a partir de componentes existentes.
![Page 42: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/42.jpg)
3. A maioria é feita sob medida em vez de ser montada a partir de componentes existentes.
O reuso de “componentes de software” ainda não é equivalente a outras engenharias, como no hardware. Padrões ainda estão sendo desenvolvidos.
![Page 43: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/43.jpg)
3. A maioria é feita sob medida em vez de ser montada a partir de componentes existentes.
Existem diversos componentes padronizado para a montagem de um hardware, parafusos, placas, transistores, diodos, etc.
O reuso de “componentes de software” ainda não é equivalente a outras engenharias, como no hardware. Padrões ainda estão sendo desenvolvidos.
![Page 44: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/44.jpg)
EVOLUÇÃO DO SOFTWARE
![Page 45: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/45.jpg)
Evolução do Software
Os primeiros anos- ORIENTAÇÃOBATCH- DISTRIBUÍÇÃOLIMITADA- SOFTWARECUSTOMIZADO
1950 1960 1970 1980 2000
![Page 46: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/46.jpg)
Evolução do Software
Os primeiros anos
A segunda era
- ORIENTAÇÃOBATCH- DISTRIBUÍÇÃOLIMITADA- SOFTWARECUSTOMIZADO
- MULTIUSUÁRIO- TEMPO REAL- BANCO DE DADOS- PRODUTOS DE SOFTWARE
1950 1960 1970 1980 2000
![Page 47: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/47.jpg)
Evolução do Software
Os primeiros anos
A segunda era
- ORIENTAÇÃOBATCH- DISTRIBUÍÇÃOLIMITADA- SOFTWARECUSTOMIZADO
- MULTIUSUÁRIO- TEMPO REAL- BANCO DE DADOS- PRODUTOS DE SOFTWARE
1950 1960 1970 1980 2000
Crise do software
![Page 48: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/48.jpg)
Evolução do Software
Os primeiros anos
A segunda era
A terceiraera
- ORIENTAÇÃOBATCH- DISTRIBUÍÇÃOLIMITADA- SOFTWARECUSTOMIZADO
- SISTEMAS DISTRIBUÍDOS-INTELIGÊNCIA EMBUTIDA-HARDWARE DE BAIXO CUSTO- IMPACTO DECONSUMO
- MULTIUSUÁRIO- TEMPO REAL- BANCO DE DADOS- PRODUTOS DE SOFTWARE
1950 1960 1970 1980 2000
Crise do software
![Page 49: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/49.jpg)
Evolução do Software
Os primeiros anos
A segunda era
A terceiraera
- ORIENTAÇÃOBATCH- DISTRIBUÍÇÃOLIMITADA- SOFTWARECUSTOMIZADO
- SISTEMAS DISTRIBUÍDOS-INTELIGÊNCIA EMBUTIDA-HARDWARE DE BAIXO CUSTO- IMPACTO DECONSUMO
- SISTEMAS DE DESKTOPPODEROSOS- TECNOLOGIASORIENTADASA OBJETOS- SISTEMASESPECIALISTAS- REDES NEURAISARTIFICIAIS- COMPUTAÇÃOPARALELA
- MULTIUSUÁRIO- TEMPO REAL- BANCO DE DADOS- PRODUTOS DE SOFTWARE
1950 1960 1970 1980 2000
A quartaeraCrise do software
![Page 50: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/50.jpg)
A crise do software
+ Complexidade - Confiabilidade
Aumento crescente por sistemas de Informação
Sistemas mais e mais sofisticados exigem mais recursos (humanos e máquinas)
Mais dependência do software nos procedimentos normais do cotidiano
Sistemas devem ser mais e mais seguros.
![Page 51: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/51.jpg)
A crise do software
•Imprecisão nas especificações iniciais do projeto•Muitas modificações exigidas pelo cliente•Rotatividade acentuada da equipe de projeto•Informações não muito bem documentadas•Custo elevado nos estágios finais de projeto
Manutenabilidade
![Page 52: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/52.jpg)
Temos muitos PROBLEMAS, a quem podemos recorrer ?
![Page 53: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/53.jpg)
Temos muitos PROBLEMAS, a quem podemos recorrer ?
ENGENHARIA
![Page 54: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/54.jpg)
ENGENHARIA DE SOFTWARE de acordo com IEEE é a aplicação de uma abordagem sistemática, disciplinada e quantificável no desenvolvimento, operação e manutenção de software.
![Page 55: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/55.jpg)
ENGENHARIA DE SOFTWARE de acordo com IEEE é a aplicação de uma abordagem sistemática, disciplinada e quantificável no desenvolvimento, operação e manutenção de software.
Sistemática por que parte do princípio de que existe um processo de desenvolvimento definindo as atividades que deverão ser executadas.
![Page 56: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/56.jpg)
ENGENHARIA DE SOFTWARE de acordo com IEEE é a aplicação de uma abordagem sistemática, disciplinada e quantificável no desenvolvimento, operação e manutenção de software.
Sistemática por que parte do princípio de que existe um processo de desenvolvimento definindo as atividades que deverão ser executadas.
Disciplinada por que parte do princípio de que os processos definidos serão seguidos
![Page 57: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/57.jpg)
ENGENHARIA DE SOFTWARE de acordo com IEEE é a aplicação de uma abordagem sistemática, disciplinada e quantificável no desenvolvimento, operação e manutenção de software.
Sistemática por que parte do princípio de que existe um processo de desenvolvimento definindo as atividades que deverão ser executadas.
Disciplinada por que parte do princípio de que os processos definidos serão seguidos
Quantificável por que se deve definir um conjunto de medidas a serem extraídas do processo
![Page 58: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/58.jpg)
ENGENHARIA DE SOFTWARE de acordo com IEEE é a aplicação de uma abordagem sistemática, disciplinada e quantificável no desenvolvimento, operação e manutenção de software.
Sistemática por que parte do princípio de que existe um processo de desenvolvimento definindo as atividades que deverão ser executadas.
Disciplinada por que parte do princípio de que os processos definidos serão seguidos
Quantificável por que se deve definir um conjunto de medidas a serem extraídas do processo
Desenvolvimento, operação e manutenção são fases do processo de software.
![Page 59: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/59.jpg)
ENGENHARIA DE SOFTWARE de acordo com IEEE é a aplicação de uma abordagem sistemática, disciplinada e quantificável no desenvolvimento, operação e manutenção de software.
Sistemática por que parte do princípio de que existe um processo de desenvolvimento definindo as atividades que deverão ser executadas.
Disciplinada por que parte do princípio de que os processos definidos serão seguidos
Quantificável por que se deve definir um conjunto de medidas a serem extraídas do processo
Desenvolvimento, operação e manutenção são fases do processo de software.
Mas o que é um processo ?
![Page 60: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/60.jpg)
ES – Uma tecnologia em camadas
Ferramentas
Métodos
Processo
Foco na qualidade
Adaptado de Roger Pressman
![Page 61: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/61.jpg)
Ferramentas
Métodos
Processo
Foco na qualidade
Adaptado de Roger Pressman
ES – Uma tecnologia em camadas
![Page 62: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/62.jpg)
Foco na qualidade
• A busca pela qualidade é o objetivo de usar qualquer engenharia (não apenas da ES).
• Ela deve ser buscada em cada fase do processo de desenvolvimento.
• Permite ao – gerente um controle e ao– desenvolvedor uma referência.
![Page 63: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/63.jpg)
Ferramentas
Métodos
Processo
Foco na qualidade
Adaptado de Roger Pressman
ES – Uma tecnologia em camadas
![Page 64: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/64.jpg)
Métodos
Os detalhes de “como fazer” para construir o software, existem métodos para as diferentes tarefas.
Planejamento e estimativa de projeto
Análise de requisitos
Projeto da estrutura de dados
Codificação, teste, manutenção
![Page 65: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/65.jpg)
Ferramentas
Métodos
Processo
Foco na qualidade
Adaptado de Roger Pressman
ES – Uma tecnologia em camadas
![Page 66: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/66.jpg)
Ferramentas
As ferramentas de engenharia de software proporcionam apoio automatizado ou semi-automatizado aos métodos.
Se elas são integradas (troca de informação), chamamos de ferramentas
• CASE (Computer-Aided Software Engineering), em português Engenharia de Software Auxiliada por Computador.
Cada tarefa, pode ter uma ou mais ferramenta auxiliando.
![Page 67: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/67.jpg)
Ferramentas
Métodos
Processo
Foco na qualidade
Adaptado de Roger Pressman
ES – Uma tecnologia em camadas
![Page 68: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/68.jpg)
Processo
O processo é a camada mais importante da ES, esta camada constitui o elo de ligação entre as ferramentas e os métodos. Um processo define :
![Page 69: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/69.jpg)
Processo
O processo é a camada mais importante da ES, esta camada constitui o elo de ligação entre as ferramentas e os métodos. Um processo define :
A seqüência em que os métodos serão aplicados.
Quais os responsáveis por cada tarefa.
Quando e como o software será entregue.
Possibilitam aos gerentes de software avaliar o progresso do desenvolvimento.
![Page 70: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/70.jpg)
Processo
O processo é a camada mais importante da ES, esta camada constitui o elo de ligação entre as ferramentas e os métodos. Um processo define :
A seqüência em que os métodos serão aplicados.
Quais os responsáveis por cada tarefa.
Quando e como o software será entregue.
Possibilitam aos gerentes de software avaliar o progresso do desenvolvimento.
Uma empresa pode usar métodos e ferramentas e não seguir nenhum processo estabelecido. Existem até classificações para empresas quanto ao uso de processos.
![Page 71: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/71.jpg)
Modelos de processo
Um processo é representado por um MODELO
prescritivo.
Um modelo prescritivo, nos dá uma referência, porem sempre existe a necessidade de adaptá-lo a cada projeto:– O pessoal que vai executar o trabalho e o ambiente no
qual o trabalho vai ser conduzido.
![Page 72: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/72.jpg)
Modelos de processo
Um processo é representado por um MODELO
prescritivo.
Um modelo prescritivo, nos dá apenas uma referência, porem sempre existe a necessidade de adaptá-lo a cada projeto:– O pessoal que vai executar o trabalho e o ambiente no
qual o trabalho vai ser conduzido.
Modelos prescritivos são versões simplificadas, não sao processos.
![Page 73: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/73.jpg)
Modelos de processos
• Existem diversos modelos de processo como:– Cascata
– Incremental
– Protótipo
– Espiral
– Formal
– 4º geração
– ...
![Page 74: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/74.jpg)
Modelos de processo
• Independente do modelo de processo, inclui-se as seguintes atividades:– Comunicação
– Planejamento
– Modelagem
– Construção
– Implantação
![Page 75: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/75.jpg)
“Existem muitos modos de ir para frente, mas apenas um modo de ficar parado.”
Franklin D. Rosevelt
![Page 76: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/76.jpg)
Modelo em cascata
Conhecido como “ciclo de vida clássico”. Sugere
uma abordagem sistemática e seqüencial.
Filosofia: O resultado de uma fase se constitui na entrada da outra e uma fase só começa, após o termino da anterior.
O modelo mais antigo e ainda muito utilizado, porém existem diversas variações.
![Page 77: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/77.jpg)
Modelo em cascata
ComunicaçãoIniciação do projeto, levantamento de requisitos
![Page 78: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/78.jpg)
Comunicação
Os serviços, restrições e objetivos do sistema são definidos por meio de consulta aos usuários do sistema.
A especificação do sistema:
Quais informações os sistemas deverá prover
Quais informações os sistemas não deverá prover
![Page 79: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/79.jpg)
Comunicação
Os serviços, restrições e objetivos do sistema são definidos por meio de consulta aos usuários do sistema.
A especificação do sistema:
Quais informações os sistemas deverá prover
Quais informações os sistemas não deverá prover
Isto é documentado e “assinado”. Faz parte do contrato.
![Page 80: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/80.jpg)
Comunicação
Exemplo de requisitos:
Em pequenos sistemas, uma ferramenta de planilhas pode ser suficiente:
Ref:
![Page 81: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/81.jpg)
Comunicação
Exemplo de requisitos:
Em pequenos sistemas, uma ferramenta que planilhas pode ser suficiente:
Veremos sobre engenharia de requisitos, capitulo 7.
Ref:
![Page 82: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/82.jpg)
Modelo em cascata
ComunicaçãoIniciação do projeto, levantamento de requisitos
PlanejamentoEstimativas, cronogramas, monitoração
![Page 83: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/83.jpg)
Planejamento
O planejamento define o tempo estimado de entrega.
Nele, deve ser definido o cronograma de execução de cada atividade.
Além disso, deve se ter mecanismo que permita a monitoração do projeto.– Será que o projeto irá atender as estimativas,
sobre custo e tempo.
![Page 84: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/84.jpg)
Planejamento
Ferramentas que auxilia, MSProject e OpenProject.
![Page 85: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/85.jpg)
Modelo em cascata
Comunicação
ModelagemIniciação do projeto, levantamento de requisitos
Análise e projeto
PlanejamentoEstimativas, cronogramas, monitoração
![Page 86: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/86.jpg)
Modelagem
A análise e o projeto estabelecerá a arquitetura geral do sistema e envolve:
Identificar e descrever as abstrações fundamentais do sistema de software e suas relações.
![Page 87: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/87.jpg)
Modelagem
Nessa fase, se estivermos fazendo uso da UML, precisaremos de ferramentas que construam os seus diagramas.
Gato
RaçaTamanhoCor
caçarbrincar
![Page 88: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/88.jpg)
Modelagem
Nessa fase, se estivermos fazendo uso da UML, precisaremos de ferramentas que construam os seus diagramas.
Veremos estes diagramas em outra disciplina.
Gato
RaçaTamanhoCor
caçarbrincar
![Page 89: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/89.jpg)
Modelo em cascata
Comunicação
ModelagemIniciação do projeto, levantamento de requisitos
Análise e projeto
Codificação, teste
PlanejamentoEstimativas, cronogramas, monitoração
Construção
![Page 90: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/90.jpg)
Codificação e teses
O projeto de software é traduzido para um conjunto de programas ou unidades (funções, objetos, componentes, etc).
Nesta fase, são feitos testes unitários, que envolve a verificação de que cada unidade atende sua especificação.
![Page 91: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/91.jpg)
Codificação e teses
Nesta fase, é usual utilizar uma IDE (Integrated Development Environment), ou ambiente integrado de desenvolvimento, por exemplo o Eclipse.
No Java existe a JUnit para testes de unidade
![Page 92: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/92.jpg)
Modelo em cascata
Comunicação
Modelagem
Implantação
Iniciação do projeto, levantamento de requisitos
Análise e projeto
Codificação, testeEntrega,
manutenção, feedback
PlanejamentoEstimativas, cronogramas, monitoração
Construção
![Page 93: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/93.jpg)
Implantação
As unidades individuais de programa e ou programas, são integrados e testados buscando garantir os requisitos de software foram atendidos.
Após os testes o sistema é entregue e implantado para o cliente.
Manutenção, envolve a correção de erros não detectados.
Além da ampliação dos serviços do sistema á medida que novos requisitos são identificados
![Page 94: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/94.jpg)
Implantação
As unidades individuais de programa e ou programas, são integrados e testados buscando garantir os requisitos de software foram atendidos.
Após os testes o sistema é entregue e implantado para o cliente.
Manutenção, envolve a correção de erros não detectados.
Além da ampliação dos serviços do sistema á medida que novos requisitos são identificados
Como é a implantação em sistemas desktop e em sistemas Web?
![Page 95: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/95.jpg)
Implantação
As unidades individuais de programa e ou programas, são integrados e testados buscando garantir os requisitos de software foram atendidos.
Após os testes o sistema é entregue e implantado para o cliente.
Manutenção, envolve a correção de erros não detectados.
Além da ampliação dos serviços do sistema á medida que novos requisitos são identificados
Como é a implantação em sistemas desktop e em sistemas Web?
Requisitos sempre mudam
![Page 96: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/96.jpg)
Modelo cascata
• Pontos fortes
![Page 97: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/97.jpg)
Modelo cascata
• Pontos fortes– Mais antigo e testado modelo de processo
– Enfoque sistemático e sequencial das tarefas
– Muitas melhorias e variações,
– É o arcabouço de referência a diversos outros modelos de processos.
![Page 98: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/98.jpg)
Modelo cascata
• Pontos fracos
![Page 99: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/99.jpg)
Modelo cascata
• Pontos fracos– Projetos reais raramente seguem um fluxo seqüencial.
– Os Clientes e Usuários não conseguem estabelecer de forma clara e completa os requisitos de sistema no início do desenvolvimento.
– Grande demora até a entrega do produto ao cliente (primeira apreciação).
– Alto custo da correção das especificações quando na fase da integração e teste.
![Page 100: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/100.jpg)
Modelo incremental
Combina elementos do modelo em cascata, aplicado de maneira iterativa.
Aplica seqüência lineares, de modo cada sequencia produz incrementos do software.
![Page 101: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/101.jpg)
Modelo incremental
Combina elementos do modelo em cascata, aplicado de maneira iterativa.
Aplica seqüência lineares, de modo cada sequencia produz incrementos do software.
Um incremento, é um produto operacional.
![Page 102: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/102.jpg)
Modelo incremental
Combina elementos do modelo em cascata, aplicado de maneira iterativa.
Aplica seqüência lineares, de modo cada sequencia produz incrementos do software.
Um incremento, é um produto operacional.
Os primeiros incrementos são versões simplificadas.
![Page 103: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/103.jpg)
Modelo incremental
Comunicação
Planejamento
Modelagem
Construção
Implantação
Incremento 1
Tempo decorrido
Fun
cio
nal
idad
es
![Page 104: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/104.jpg)
Modelo incremental
Comunicação
Planejamento
Modelagem
Construção
Implantação
Incremento 1
Incremento 2
Tempo decorrido
Fun
cio
nal
idad
es
![Page 105: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/105.jpg)
Modelo incremental
Comunicação
Planejamento
Modelagem
Construção
Implantação
Incremento 1
Incremento 2
Incremento N
Tempo decorrido
Fun
cio
nal
idad
es
![Page 106: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/106.jpg)
Modelo incremental
• Enfoque para sistemas modulares ou baseado em subsistemas.
• Utilizado como estratégia para projetos muito grandes.
• Evita problemas de perda de controle: custo e prazos.
• É um modelo evolucionário.
![Page 107: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/107.jpg)
Modelo incremental
• Enfoque para sistemas modulares ou baseado em subsistemas.
• Utilizado como estratégia para projetos muito grandes.
• Evita problemas de perda de controle: custo e prazos.
• É um modelo evolucionário.
Por exemplo, os modelos unificados que vocês verão em orientação objeto tem como referência o modelo incremental.
![Page 108: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/108.jpg)
Modelo incremental
• Enfoque para sistemas modulares ou baseado em subsistemas.
• Utilizado como estratégia para projetos muito grandes.
• Evita problemas de perda de controle: custo e prazos.
• É um modelo evolucionário.
Por exemplo, os modelos unificados que vocês verão em orientação objeto tem como referência o modelo incremental.
Já ouviram falar em métodos ágeis ? Eles tambem são incrementais.
![Page 109: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/109.jpg)
Pontos chaves: Conceitos ES
• Software, são os 1) programas, 2) estruturas de dados e 3) documentação.
• A ES nasce pra resolver diversos problemas que foram agravados com o incremento na quantidade e complexidade dos softwares.
• ES é a aplicação de uma abordagem sistemática, disciplinada e quantificável no desenvolvimento, operação e manutenção de software.
• Um processo define que métodos e quais ferramentas usar para atingir um nível de qualidade.
![Page 110: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/110.jpg)
Pontos chaves: Modelos
• Um modelo descreve uma visão simplificada do processo.
• Um modelo deve ser ajustado as necessidades do projeto específico.
• Um modelo de processo genérico inclui: comunicação, planejamento, modelagem, construção e implantação.
• Existem diversos modelos, vimos hoje o modelo em cascata, conhecido como ciclo de vida clássico.
• E o modelo incremental, que é baseado no modelo em cascata, porém divide o sistemas em incrementos, que possui uma funcionalidade e seu próprio cronograma
![Page 111: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/111.jpg)
http
://ww
w.p
rojectcarto
on
.com
/cartoo
n/58
Como o cliente definiu.
Como o lider do projeto entendeu.
Como o analista projetou.
Como o programador escreveu.
Como o projeto foi documentado.
Como o projeto foi instalado.
Como o cliente pagou
O que o cliente realmente precisava.
![Page 112: Engenharia de Software - Conceitos e Modelos de Desenvolvimento](https://reader033.fdocumentos.tips/reader033/viewer/2022060110/555b31c9d8b42afc348b4c99/html5/thumbnails/112.jpg)
• As atividades deverão ser enviadas por email antes do início da próxima aula.
Exercitando o cérebro....