Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software...
-
Upload
dangkhuong -
Category
Documents
-
view
218 -
download
0
Transcript of Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software...
![Page 1: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/1.jpg)
CC BY-SA 2017
Engenharia de Computação
CEFET/RJ – campus Petrópolis
Prof. Luis Retondaro – www.retondaro.pro.br
Aula 1
Apresentação
Engenharia de Software
![Page 2: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/2.jpg)
CC BY-SA 20172www.retondaro.pro.br
Introdução
O que é software?– Um programa de computador que
contém estruturas dinâmicas de acesso e armazenamento de dados que manipulam a máquina para processá-los e fornecer resultados formatados e solicitados por uma determinada demanda, seja genérica ou específica, de uma comunidade de usuários.
![Page 3: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/3.jpg)
CC BY-SA 20173www.retondaro.pro.br
Introdução
Qual foi o primeiro software criado?• Se a definição for aceita, o primeiro
software surgiu na Inglaterra em 1948, baseado num sistema criado pelo matemático húngaro John von Neumann (1903-1957).
![Page 4: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/4.jpg)
CC BY-SA 20174www.retondaro.pro.br
Curiosidade
– 100 anos antes de Neumann, esse conceito de software já havia sido imaginado, na teoria, por uma mulher.
– Por isso, muitos estudiosos consideram que a primeira programadora do mundo teria sido a condessa Ada Lovelace (1815-1852)• matemática, filha do célebre poeta romântico inglês Lord Byron.
![Page 5: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/5.jpg)
CC BY-SA 20175www.retondaro.pro.br
Curiosidade
Modelo experimental →
– Tudo começou quando Ada conheceu Charles Babbage, visionário que tentava construir um computador mecânico.
– Entre 1842 e 1843, ela criou notas sobre a máquina analítica de Babbage, que foram republicadas mais de cem anos depois.
– A máquina foi reconhecida como primeiro modelo de computador e as anotações da condessa como o primeiro algoritmo especificamente criado para ser implementado em um computador.
![Page 6: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/6.jpg)
CC BY-SA 20176www.retondaro.pro.br
Histórico
Anos 40– Os primeiros computadores
construídos não possuíam softwares.• os comandos eram implantados na
máquina a partir de conexões físicas entre os componentes
• À medida que se percebeu a necessidade de computadores mais flexíveis, surgiu o software
![Page 7: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/7.jpg)
CC BY-SA 20177www.retondaro.pro.br
Histórico
Anos 50– Foco de pesquisa e desenvolvimento
de hardware.– O UNIVAC I (de UNIVersal Automatic
Computer - Computador Automático Universal) foi o primeiro computador comercial fabricado e comercializado nos Estados Unidos. Era programado ajustando-se cerca de 6.000 chaves e conectando-se cabos a um painel.
![Page 8: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/8.jpg)
CC BY-SA 20178www.retondaro.pro.br
Histórico
1957– O Brasil comprou seu primeiro grande
computador. O governo do estado de São Paulo comprou um mainframe Univac-120, da “Burroughs”, empresa que, depois, se transformaria na “Unisys”.• O equipamento tinha 60 bytes de
memória RAM, e era utilizado para calcular quanta água se gastava no Estado.
![Page 9: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/9.jpg)
CC BY-SA 20179www.retondaro.pro.br
Histórico
1958
– Surgem os primeiros circuitos integrados;– Foi lançado o primeiro computador
transistorizado, com 16 bits, o IBM TX-0. • Era relativamente pequeno, rápido, tinha um
bom monitor de vídeo, possuía dispositivo de saída sonora e até uma caneta ótica.
![Page 10: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/10.jpg)
CC BY-SA 201710www.retondaro.pro.br
Histórico
1958– Um videojogo foi criado pelo físico William
Higinbotham. – É considerado o primeiro jogo criado para ser
jogado em computadores.• Era um jogo de tênis simples, mostrado em um
osciloscópio e processado por um computador analógico.
– Note-se que o objetivo do programador ao criar o jogo tinha sido simplesmente chamar a atenção do público, que visitava as instalações do "Brookhaven National Laboratories", para verificar o poderio nuclear dos E.U.A.
–
–
![Page 11: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/11.jpg)
CC BY-SA 201711www.retondaro.pro.br
Histórico
Anos 60– Surgem os microprocessadores– Grandes sistemas passam a serem desenvolvidos por
várias organizações– Como o software era um construto abstrato, sua
produção não se encaixava perfeitamente em nenhuma das engenharias, nem mesmo na mecânica e na elétrica, que são as mais próximas, por terem relação com as máquinas que efetuam as computações.
– Surgiu, então, o conceito de engenharia de software, inicialmente referindo-se aos processos para a produção desse tipo de construto abstrato.
![Page 12: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/12.jpg)
CC BY-SA 201712www.retondaro.pro.br
Histórico
1968– Aceita-se que a primeira conferência
sobre Engenharia de Software tenha sido a Conferência de Engenharia de Software da OTAN, organizada em Garmish, Alemanha, em 1968.
– Apesar disso, o termo já era usado desde os anos 50.
![Page 13: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/13.jpg)
CC BY-SA 201713www.retondaro.pro.br
Histórico
1960-1980– Período marcado pela chamada “crise do software”
• foram identificados os maiores problemas relacionados à produção de software, especialmente em larga escala
– Inicialmente, a crise referenciava especialmente questões relacionadas com orçamento e cronograma de desenvolvimento,
– mas posteriormente passou também a abranger aspectos de qualidade de software, uma vez que os sistemas, depois de prontos, apresentavam muitos erros, causando prejuízos.
![Page 14: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/14.jpg)
CC BY-SA 201714www.retondaro.pro.br
Histórico
![Page 15: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/15.jpg)
CC BY-SA 201715www.retondaro.pro.br
Histórico
Lei de Brooks
– Um exemplo clássico da crise de software dos anos 1960 foi o projeto do sistema operacional OS/360, que utilizou mais de mil programadores.
– Brooks (1975) afirmou ter cometido um erro que custou milhões à IBM nesse projeto,• por não ter definido uma arquitetura estável antes de
iniciar o desenvolvimento propriamente dito.
– Atualmente, a Lei de Brooks afirma que adicionar programadores a um projeto atrasado faz com que ele fique ainda mais atrasado.
![Page 16: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/16.jpg)
CC BY-SA 201716www.retondaro.pro.br
Histórico
Edsger W. Dijkstra• A expressão “crise do software” foi
usada pela primeira vez com impacto por Dijkstra (1971).
• Ele avaliava que, considerando o rápido progresso do hardware e das demandas por sistemas cada vez mais complexos, os desenvolvedores simplesmente estavam se perdendo, porque a engenharia de software, na época, era uma disciplina incipiente.
![Page 17: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/17.jpg)
CC BY-SA 201717www.retondaro.pro.br
Histórico
Problemas relatados por Dijkstra– Projetos que estouram o cronograma.– Projetos que estouram o orçamento.– Produto final de baixa qualidade ou
que não atenda aos requisitos.– Produtos não gerenciáveis e difíceis
de manter e evoluir.
![Page 18: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/18.jpg)
CC BY-SA 201718www.retondaro.pro.br
Histórico
Mudança de paradigma– Por décadas, a atividade de pesquisa tentou resolver
a crise do software. – Cada nova abordagem era apontada como solução da
crise. Porém, pouco a pouco, chegou-se ao consenso de que tal solução mágica não existia.
– Ferramentas CASE (Computer Aided Software Engineering), especificação formal, processos, componentes etc. foram boas técnicas que ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para os complexos problemas envolvidos com a produção de software.
![Page 19: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/19.jpg)
CC BY-SA 201719www.retondaro.pro.br
Histórico
Anos 90– Surgimento da internet;– Consolidação da orientação a objetos como
paradigma predominante;– Novas necessidades surgiram e sistemas cada vez
mais complexos, acessíveis de qualquer lugar do mundo, substituíram os antigos sistemas stand-alone.
– Com isso, novas preocupações relacionadas à segurança da informação e à proliferação de vírus e spam surgiram e passaram a fazer parte da agenda dos desenvolvedores de software.
![Page 20: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/20.jpg)
CC BY-SA 201720www.retondaro.pro.br
Histórico
Anos 2000– O crescimento da demanda por software em
organizações de pequeno e médio porte levou ao surgimento de soluções mais simples e efetivas para o desenvolvimento de software para essas organizações.
– Assim surgiram os “métodos ágeis”, que procuram desburocratizar o processo de desenvolvimento e deixá-lo mais adequado a equipes pequenas mas competentes, capazes de desenvolver sistemas sem a necessidade de extensas listas de procedimentos ou de “receitas de bolo”
![Page 21: Engenharia de Software - retondaro.pro.br · 5 CC BY-SA 2017 ... ajudaram a engenharia de software a evoluir, mas hoje não se acredita mais em uma solução única e salvadora para](https://reader033.fdocumentos.com/reader033/viewer/2022051803/5be21e0409d3f2f02d8b9740/html5/thumbnails/21.jpg)
CC BY-SA 201721www.retondaro.pro.br
Histórico
Atualmente...– A área vem tentando se estabelecer como
um corpo de conhecimentos coeso. – O surgimento do SWEBOK (IEEE Computer
Society, 2004) • Guide to the Software Engineering Body of
Knowledge,
– Sua adoção como padrão internacional em 2006 foi um avanço para a sistematização do corpo de conhecimentos da área