![Page 1: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/1.jpg)
1
Introdução a Engenharia de Software
Gibeon Aquino
![Page 2: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/2.jpg)
2Introdução à Disciplina
Engenharia de SoftwareEngenharia = “é a atividade em que os
conhecimentos científicos são empregados para resolver problemas práticos”
Engenharia de Software = “é a atividade em que os [conhecimentos científicos] são empregados para resolver problemas práticos relacionados à construção de software”
![Page 3: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/3.jpg)
3Introdução à Disciplina
Objetivo
“Um dos objetivos básicos da Engenharia de Software é transformar a criação de sistemas software realizada de maneira artística, indisciplinada e pouco entendível para uma forma devidamente controlada, quantificada e previsível.”
![Page 4: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/4.jpg)
4Introdução à Disciplina
Origem...em 1968, especialistas se reúnem em Garmisch, para discutir problemas de
desenvolvimento de software
http://homepages.cs.ncl.ac.uk/brian.randell/NATO/index.html
![Page 5: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/5.jpg)
5Introdução à Disciplina
problemas “da época”Produtos de Software de baixa qualidade e sem atender requisitos eProjetos realizados acima do orçamento e do tempo previsto e vez por outra ingerenciáveis
![Page 6: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/6.jpg)
6
A Crise de Software
![Page 7: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/7.jpg)
7Introdução à Disciplina
"[The major cause of the software crisis is] that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem." Edsger Dijkstra: The Humble Programmer
![Page 8: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/8.jpg)
8Introdução à Disciplina
A crise de Software
![Page 9: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/9.jpg)
9Introdução à Disciplina
O Caso do DABHS (Denver Airport Baggage Handling System)
Características: 4000 Telecars 21 milhas de trilhos 5000 Olhos Eletrônicos, 400 Receptores de Rádio, 56
Scanners, 100 computadores em redeEstava planejado que o Aeroporto de Denver abriria em 31 de Outubro de 1993
Problemas no desenvolvimento do DABHS fizeram que o aeroporto abrisse em 28 de Fevereiro de 1995
Prejuízos devido ao atraso: Capacidade do sistema foi drasticamente diminuída Aproximadamente $ 500.000.000 ($1.1M por
dia)
![Page 10: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/10.jpg)
10Introdução à Disciplina
O Caso da Integração SABRE
SABRE (Semi-Automated Business Research Environment ) Sistema de Reserva da American Airlines Terminado no fim da década de 50 Construído pela IBM $2 bilhões
Tentativa de Integração com sistemas de reserva de carros e hotel Em 1992 o projeto foi cancelado $165.000.000 jogados fora
![Page 11: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/11.jpg)
11Introdução à Disciplina
Therac-25Equipamento de Radioterapia, controlado por computador criada pela empresa AECL (Atomic Energy of Canada Limited Muito moderna para sua época
Entre 1985 e 1987 se envolveu 6 em acidentes 5 mortes por overdoses de radiação
![Page 12: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/12.jpg)
12Introdução à Disciplina
Therac-25Causas: O código do software não havia sido
revisado/testado independentemente; O projeto do software não havia sido
documentado com detalhes suficientes para permitir o entendimento dos erros
A documentação do sistema fornecida aos usuários não explicava o significado dos códigos de erro que a máquina retornava
http://pt.wikipedia.org/wiki/Therac-25
![Page 13: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/13.jpg)
13Introdução à Disciplina
Ariane 5Projeto da Agência Espacial Européia 10 anos de desenvolvimento US$ 8 Bilhões
Carga avaliada em US$500 Milhões
Em 4 de junho de 1996, menos de um minuto após o lançamento o foguete se autodestruiu
![Page 14: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/14.jpg)
14Introdução à Disciplina
Ariane 5Causa: Ocorreu um run time error (erro de de
execução) e ambos computadores se desligaram.
Um programa que convertia um valor de ponto flutuante para um inteiro de 16 bits recebeu como entrada um valor que estava fora da faixa permitida. Inclusive o resultado da conversão não era mais
necessário após a decolagem.
![Page 15: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/15.jpg)
15
Processos para construção de Software
![Page 16: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/16.jpg)
16Introdução à Disciplina
![Page 17: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/17.jpg)
17Introdução à Disciplina
Processo de Desenvolvimento de Software
Modelo Cascata
![Page 18: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/18.jpg)
18Introdução à Disciplina
Análise de RequisitosEntendimento das necessidades do clienteEspecificação das necessidades Linguagem mais técnicaAnálise da viabilidade do escopoEstimativas de Custo e Prazo
![Page 19: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/19.jpg)
19Introdução à Disciplina
Para que “Análise de Requisitos”?
![Page 20: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/20.jpg)
20Introdução à Disciplina
Análise e ProjetoDesenho lógico da soluçãoTomada de decisão sobre coisas como Linguagem de Programação Plataforma de Desenvolvimento Integração com outros sistemas Detalhes técnicos
![Page 21: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/21.jpg)
21Introdução à Disciplina
Arquitetura Lógica de Software
![Page 22: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/22.jpg)
22Introdução à Disciplina
Exemplo de Arquitetura Física
![Page 23: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/23.jpg)
23Introdução à Disciplina
ImplementaçãoCodificação do sistemaIntegração dos módulosTestes isoladosOtimização de módulos já construídos
![Page 24: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/24.jpg)
24Introdução à Disciplina
Tecnologias de desenvolvimento de Software
J2ME J2SE J2EE
Windows COM+ Services
Common Language Runtime
Base Class Library
ADO.NET and XML
ASP.NET Windows Forms
Common Language Specification
VB C++ C# JScript …
Windows COM+ Services
Common Language Runtime
Base Class Library
ADO.NET and XML
ASP.NET Windows Forms
Common Language Specification
VB C++ C# JScript …
Visual Studio.NET
![Page 25: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/25.jpg)
25Introdução à Disciplina
TestesTem como objetivo identificar erros inseridos durante a construção Testes Funcionais Testes de Performance Testes de Estresse Testes de Carga Testes de Compatibilidade ...
![Page 26: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/26.jpg)
26Introdução à Disciplina
ImplantaçãoTem como objetivo a instalação do software no ambiente final de execução
InstalaçãoTreinamentoConfiguraçãoAdaptação
![Page 27: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/27.jpg)
27Introdução à Disciplina
Processo de Desenvolvimento
![Page 28: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/28.jpg)
28
Por que organizar o desenvolvimento de software??
![Page 29: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/29.jpg)
29Introdução à Disciplina
![Page 30: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/30.jpg)
30Introdução à Disciplina
Windows Vista5000 desenvolvedores (sem incluir pessoal não-técnico);40 milhões de linhas de código;16 milhões de linhas de código somente nos últimos 3 anos;Versões compiláveis todos os dias;Testes de regressão;Intervalo de 3 dias para um mudança submetida aparecer no executável;~1.7 pessoas testando para cada programador;Precisa ter compatibilidade com versões anteriores;Precisa ser instalado em milhares de configurações diferentes;
![Page 31: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/31.jpg)
31Introdução à Disciplina
intuitive surgical da vinci
![Page 32: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/32.jpg)
32Introdução à Disciplina
intuitive surgical da vinci
![Page 33: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/33.jpg)
33Introdução à Disciplina
Telecomunicação e Mobilidade
![Page 34: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/34.jpg)
34Introdução à Disciplina
Indústria automotiva
Electronic Stability Program
![Page 35: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/35.jpg)
35Introdução à Disciplina
Transações Financeiras
![Page 36: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/36.jpg)
36
Alguns números atuais...
![Page 37: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/37.jpg)
37Introdução à Disciplina
Quanto melhoramos?
Chaos Report
16%
27%
26%
28%
26%
29%
31%
40%
28%
23%
28%
18%
53%
33%
46%
49%
46%
53%
0% 20% 40% 60% 80% 100%
1994
1996
1998
2000
2002
2004
SucceededFailedChallenged
![Page 38: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/38.jpg)
38Introdução à Disciplina
Team Size {dev vs. test}Product
Dev Team Size
Test Team Size
NT 3.1 (6->) 200 140NT 3.5 300 230NT 3.51 450 325NT 4.0 800 700Win2k 1400 1700
o século de software...ou o século dos problemas de software? – Silvio Meira
![Page 39: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/39.jpg)
39Introdução à Disciplina
Defect Rates Data
ProductandTeam Size
Defects:Per yearPer Dev
Time to Fix:Per Defect
Defects:Per Day
TotalDefect Fix Time
NT 3.1, 200 2 20 minutes
1 20 minutes
NT 3.5, 300 2 25 minutes
1.6 41 minutes
NT 3.51, 450 2 30 minutes
2.5 1.2 hours
NT 4.0, 800 3 35 minutes
6.6 3.8 hours
Win2k, 1400 4 40 minutes
15.3 10.2 hours
With serialized development: Good, small teams operate efficiently Even the absolute best large teams are always
broken, and always serialized
o século de software...ou o século dos problemas de software? – Silvio Meira
![Page 40: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/40.jpg)
40Introdução à Disciplina
Mas Engenharia de Software não é só técnica...
“The book demonstrates that the major issues of software development are human, not technical.”
![Page 41: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/41.jpg)
41
Mas nem tudo está perdido....
![Page 42: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/42.jpg)
42Introdução à Disciplina
Corpo da Engenharia de Software (SWEBOK)
![Page 43: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/43.jpg)
43Introdução à Disciplina
Corpo da Engenharia de Software (SWEBOK)
![Page 44: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/44.jpg)
44Introdução à Disciplina
CMMi – Capability Maturity Model Integration
![Page 45: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/45.jpg)
45Introdução à Disciplina
PMBokCorpo de conhecimento da Gestão de ProjetosTem como objetivo divulgar e padronizar as melhores práticas de gestão de projetos
![Page 46: 1 Introdução a Engenharia de Software Gibeon Aquino](https://reader036.vdocuments.mx/reader036/viewer/2022062818/570638471a28abb8238f3a98/html5/thumbnails/46.jpg)
46Introdução à Disciplina
ReferênciasEngenharia de Software - 8ª Edição 2007 - Ian Sommerville
Engenharia de Software, Roger Pressman