SlideShare ist ein Scribd-Unternehmen logo
1 von 71
Downloaden Sie, um offline zu lesen
Disciplina Engenharia de Software 
Prof. Esp. Rafael H Mauro 
rafaelherman@yahoo.com.br
Bibliografia 
•KOSCIANSKI, A; Qualidade de Software. São Paulo: Novatec Editora, 2006. 
•MALDONADO, José C; DELAMARO, Márcio; JINO, Mário; Introdução ao Teste de Software, Rio de Janeiro: Elsevier, 2007. 
•PFLEEGER, S.L; Engenharia de Software: teoria e prática. 2.ed. São Paulo: Prentice Hall, 2004. 
•SOMMERVILLE, I; Engenharia de Software., Fifth Edition, Pearson. 2003. 
•WIEGERS, K; Software Requirements, 10ed., Englewood Cliffs, NJ: Prentice Hall Inc, 1997.
Introdução 
•“O Software ultrapassou o Hardware como chave para o sucesso de muitos sistemas baseados em computador” (Pressman)
O Software é o que faz a diferença!!! 
•Acesso as informações 
•Facilidade de uso 
•inteligência 
•funcionalidade 
•compatibilidade 
•suporte 
Tornam 1 produto melhor que outro
A importância do Software 
•Durante as 3 primeiras décadas da era do computador, o principal desafio era desenvolver um HARDWARE de baixo custo e alto desempenho. 
•O hoje o desafio é melhorar a qualidade (e reduzir os custos) das soluções baseadas em SOFTWARE!
A evolução do Software 
- Nova Revolução Computação Industrial (Toffler) 
- 3a. Onda
Parêntesis: Revolução Industrial Primeira Onda 
•Ferro (Darby, 1709) 
•Máquina a vapor: 
–Inventada (Newcomen, 1712) 
–Aperfeiçoada (WATT, 1766 - ’69 -’82) 
•Mecanização da indústria têxtil: 
–Tear Mecânico (Kay, 1722) 
–Maquina de fiar (Hargreaves, 1764) 
•Aspectos sociais, políticos e econômicos 
Têxteis, Carvão e Ferro
Parêntesis: Revolução Industrial Segunda Onda 
•Aço (Bessemel, 1856 e 1885 - Liga) 
•Locomotiva a Vapor (Rede de Transporte - 1830) 
•Máquina de Costura (SINGER,1851) 
•Motor a combustão interna: 
–Primeiro eficiente (OTTO, 1876) 
–Produção automobilística em massa (Daimler e Benz, 1896) 
•Desemprego e fim da escravidão
Revolução Industrial: Terceira Onda 
• Energia Nuclear (Fermi, 1942) 
• Uso Industrial/Comercial da Eletricidade 
• Computadores Eletrônicos (ENIAC 1946) 
• Transistor (Shockley, et al., 1948) 
Sociedade Sociedade 
Industrial da Informação 
transformação
Filosofando... 
•A mudança de uma sociedade industrial para uma baseada na informação é uma Radical Mudança Econômica: 
–Material tem menos valor e Informação tem mais valor 
•Antes: quanto menos pessoas possuísse algo, maior o valor. 
•Hoje: quanto mais pessoas possuem algo, maior o valor.
A evolução do software 
•Software é dividida em 4 Eras: 
–Primeiros anos 1950 - 1965 
–Segunda Era 1965 - 1975 
–Terceira Era 1975 - 1988 
–Quarta Era 1988 - ...
O que é Software? 
•Definição - Software é: 
1o - instruções (programas de computador) que, quando executadas, produzem a função e o desempenho desejados; 
2o - estruturas de dados que permitem a manipulação das informações; 
3o - documentos que descrevem a operação e uso dos programas.
Características do Software - 1 
•O Software é desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico: 
–Custos são concentrados no trabalho de engenharia. 
–Projetos não podem ser geridos como projetos de manufatura. 
–“Fábrica de Software!”
Características do Software - 2 
•Software não desgasta! 
–Software não é sensível aos problemas ambientais que fazem com que o hardware se desgaste. 
–Ver curvas de falha, páginas 14 e 15 do Pressman. 
– Toda falha indica erro de projeto ou implementação: manutenção do SW é mais complicada que a do HW.
Características do Software - 3 
•A maioria dos softwares é feita sob medida e não montada a partir de componentes existentes. 
•!= Hardware. 
•Situação esta mudando: 
–Orientação a objetos. 
–Reusabilidade é o “Santo Graal”(diminui custos e melhora projetos).
Aplicações de Software 
(Pressman) 
•Software Básico 
•Software de Tempo Real 
•Software Comercial 
•Software Científico ou de Engenharia 
•Software Embutido 
•Software de Computador Pessoal 
•Software de Inteligência Artificial
Uma Crise no horizonte 
•A indústria de Software tem tido uma “crise” que a acompanha há quase 30 anos: 
–Aflição Crônica != Crise 
•Problemas não se limitam ao software que não funciona adequadamente, mas abrange: 
–desenvolvimento, testes, manutenção, suprimento, etc.
Therac-25 
•Equipamento de Radioterapia. 
•Entre 1985 e 1987 se envolveu em 6 acidentes, causando mortes por overdoses de radiação. 
•Software foi adaptado de uma antecessora, Therac-6: 
–falhas por falta de testes integrados 
–falta de documentação 
(Pfleeger)
Denver International Airport 
•Custo do projeto: US$ 4.9 bilhões 
–100 mil passageiros por dia 
–1,200 vôos 
–53 milhas quadradas 
–94 portões de embarque e desembarque 
–6 pistas de pouso / decolagem
Denver International Airport 
•Erros no sistema automático de transporte de bagagens (misloaded, misrouted, jammed): 
–Atraso na abertura do aeroporto com custo total estimado em US$360 Milhões 
•86 milhões para consertar o sistema
Ariane 5
Ariane 5 
•Projeto da Agência Espacial Européia que custou: 
–10 anos. 
–US$ 8 Bilhões. 
•Capacidade 6 toneladas. 
•Garante supremacia européia no espaço.
Vôo inaugural em 4/junho/1996
Resultado 
•Explosão 40 segundos após a decolagem. 
•Destruição do foguete e carga avaliada em US$ 500 milhões.
O que aconteceu? (I) 
•Fato: o veículo detonou suas cargas explosivas de autodestruição e explodiu no ar. Por que? 
•Porque ele estava se quebrando devido às forças aerodinâmicas. Mas por que? 
•O foguete tinha perdido o controle de direção (atitude). Causa disso? 
•Os computadores principal e back-up deram shut-down ao mesmo tempo.
O que aconteceu? (II) 
•Por que o Shut-down? Ocorrera um run time error (out of range, overflow , ou outro) e ambos computadores se desligaram. De onde veio este erro? 
•Um programa que convertia um valor em ponto flutuante para um inteiro de 16 bits recebeu como entrada um valor que estava fora da faixa permitida.
Especificamente:O que faltou? 
strict precondition 1: 
{ 
Set."x"=FLPT and Set."y"=INT16 
and -32768 <= x <= +32767 
} 
program code: 
y := int(x); 
postcondition: 
{Set."x"=FLPT and Set."y"=INT16 and y=int(x)}
Ironia... 
•O resultado desta conversão não era mais necessário após a decolagem...
Quais são os problemas? 
•A sofisticação do software ultrapassou nossa capacidade de construção. 
•Nossa capacidade de construir programas não acompanha a demanda por novos programas. 
•Nossa capacidade de manter programas é ameaçada por projetos ruins.
Perguntas que Engenharia de Software quer responder: 
•Porque demora tanto para concluir um projeto (não cumprimos prazos)? 
•Porque custa tanto (uma ordem de magnitude a mais)? 
•Porque não descobrimos os erros antes de entregar o software ao cliente? 
•Porque temos dificuldade de medir o progresso enquanto o software está sendo desenvolvido?
Causas óbvias 
•Não dedicamos tempo para coletar dados sobre o desenvolvimento do software - resulta em estimativas “a olho”. 
•Comunicação entre o cliente e o desenvolvedor é muito fraca. 
•Falta de testes sistemáticos e completos.
Causas menos óbvias 
•O Software é desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico (característica 1). 
•Gerentes sem background em desenvolvimento de SW. 
•Profissionais recebem pouco treinamento formal. 
•Falta investimento (em ES). 
•Falta métodos e automação.
Mitos do Software - Administrativos 
•Um manual oferece tudo que se precisa saber. 
•Computadores de última geração solucionam problemas de desenvolvimento. 
•Se estamos atrasados, basta adicionar programadores e tirar o atraso (chamado “conceito de hordas de mongois”).
Mitos do Software - do Cliente 
•Uma declaração geral é suficiente para começar a escrever programas. 
•Mudanças podem ser facilmente acomodadas em um projeto.
Mitos do Software - do Profissional 
•Um programa está terminado ao funcionar. 
•Quanto mais cedo escrever o código, mais rápido terminarei o programa. 
•Só posso avaliar a qualidade de um programa em funcionamento. 
•A única coisa a ser entregue em um projeto é o programa funcionando.
Engenharia de Software: Definição 
•“Engenharia de Software é o estabelecimento e uso de sólidos princípios de engenharia para que se possa obter economicamente um software que seja confiável e que funcione eficientemente em máquinas reais” 
•É METODOLOGIA!
Engenharia de Software: Abrangência 
•E.S. possui 3 elementos fundamentais: 
–métodos: “como fazer” 
–ferramentas: apoio automatizado aos métodos. 
–Procedimentos: elo de ligação entre os métodos e os procedimentos 
•Existem diversos Paradigmas de Engenharia de Software: 
–abordagens que envolvem estes métodos, ferramentas e procedimentos
Paradigmas de Engenharia de Software 
•Existem dezenas. 
•4 principais: 
–Ciclo de Vida Clássico (modelo Cascata) 
–Prototipagem 
–Espiral 
–Técnicas de Quarta Geração 
(Pressman)
Ciclo de Vida Clássico: modelo Cascata (Waterfall) 
•Baseado em projetos de engenharia clássicos (não de Software) - 1970 
•Fases: 
–Análise de requisitos 
–Definição 
–Projeto 
–Implementação 
–Integração e testes 
–Operação e manutenção
Ciclo de Vida Clássico (II) 
Requirements 
definition 
System and 
software design 
Implementation 
and unit testing 
Integr ation and 
system testing 
Operation and 
maintenance 
(Sommerville)
Ciclo de Vida Clássico (III) 
•Problemas: 
–projetos reais não seguem um fluxo seqüencial: dificuldade de acomodar mudanças depois de iniciado. 
–Dificuldade de declaração de todas as exigências pelo cliente. 
–Paciência!
Modelo Espiral de Boehm (1988)
Fases do modelo Espiral 
•Definição dos objetivos 
–Especificação dos objetivos específicos desta fase. 
•Análise dos riscos 
–Identificação e solução dos principais riscos 
•Desenvolvimento e validação 
•Planejamento 
–O projeto é revisto e se define planos para a próxima “volta da espiral”
Conclusão 
•Software é elemento chave para o sucesso. Mas: 
–Software não é hardware. 
–Software não é fácil. 
–Software mata. 
–Precisamos de ajuda.
Engenharia de Sistemas 
•“Se preocupa com o projeto, implementação, instalação e operação de sistemas que incluem hardware, software e pessoas”. (Sommerville)
O que é um Sistema? 
•Um conjunto de componentes inter-relacionados organizados para atingir um certo objetivo. 
•É organizado para executar certo método, procedimento ou controle ao processar informações. 
•Automatiza ou apóia a realização de atividades humanas através do processamento de informações.
Problemas da Engenharia de Sistemas 
•Sistemas grandes são projetados para resolver problemas “problemáticos”. 
•Sistemas requerem abordagem multi-disciplinar 
–Infinitas possibilidades 
–Falta de compreensão e confiança entre disciplinas 
•Sistemas devem ser projetados para durarem muitos anos em um ambiente dinâmico.
Sistema de Compra
Fases da Engenharia de Sistemas 
Podemos identificar três fases nos paradigmas de desenvolvimento vistos: 
•Definição: 
–Determina viabilidade, requisitos do software, especifica e projeta o sistema. 
•Desenvolvimento: 
–Implementação, integração e instalação. 
•Operação: 
–manutenção, correção e evolução.
Sobre a Definição do Software
Análise de Sistemas 
•Atividade que engloba as tarefas da engenharia de sistemas de computador. 
•Geralmente confundida com as atividades de análise de requisitos. 
•Concentra-se em todos os elementos do sistema, não apenas software. 
•Trabalha na fase de DEFINIÇÃO do sistema: especifica o sistema para o trabalho de desenvolvimento.
Problemas da análise de sistemas 
•Separar partes de hardware, software e peopleware requer muita negociação. 
•Pessoas assumem que problemas com difícil solução são facilmente resolvidos pelo computador. 
•Plataformas podem ser inapropriadas: software deve compensar isso.
Passos da Análise de Sistemas 
•Análise de sistemas envolve: 
–Identificação das necessidades. 
–Estudo de viabilidade. 
–Análise, especificação e validação dos Requisitos. 
–Projeto do sistema: 
•Arquitetura 
•Interface 
• Dados
Estudo de Viabilidade 
•Econômica: 
–análise custo benefício (pg 206 Pressman) 
•Técnica: 
–Estudo da função, desempenho e restrições para um sistema aceitável. 
•Legal: 
–infrações e violações legais (Ex: IA Médica) 
•Alternativas
Análise de requisitos de software 
•O processo que estabelece serviços necessários e restrições de operação e desenvolvimento. 
•Requisitos: 
–são objetivos ou restrições estabelecidas por clientes e usuários do sistema que definem as diversas propriedades do sistema (e que dizem respeito ao software).
Passos da análise de requisitos
Problema da Análise de Requisitos
Especificação dos Requisitos (I) 
•Pressman define um documento básico para a especificação dos requisitos. Ele contém 8 partes: 
I. Introdução 
1. Referências do Sistema 
2. Descrição Geral 
3. Restrições de projeto do software
Especificação dos Requisitos (II) 
II. Descrição da Informação 
1. Representação do fluxo de informação 
a. Fluxo de Dados b. Fluxo de Controle 
2. Representação do conteúdo de informação 
3. Descrição da interface com o sistema
Especificação dos Requisitos (III) 
III. Descrição Funcional 
1. Divisão funcional em partições 
2. Descrição funcional 
a. Narrativas 
b. Restrições/limitações 
c. Exigências de desempenho 
d. Restrições de projeto 
e. Diagramas de apoio 
3. Descrição do controle 
a. Especificação do controle 
b. Restrições de projeto
Especificação dos Requisitos (IV) 
IV. Descrição Comportamental 
1. Estados do Sistema 
2. Eventos e ações 
V. Critérios de Validação 
1. Limites de desempenho 
2. Classes de testes 
3. Reação esperada do software 
4. Considerações especiais 
VI. Bibliografia 
VII Apêndice
Atividades de Projeto 
ArchitecturaldesignAbstractspecificationInterfacedesignComponentdesignDatastructuredesignAlgorithmdesignSystemarchitectureSoftwarespecificationInterfacespecificationComponentspecificationDatastructurespecificationAlgorithmspecificationRequirementsspecificationDesign activitiesDesign products
O processo do Projeto 
PartitionrequirementsIdentifysub-systemsAssign requirementsto sub-systemsSpecify sub-systemfunctionalityDefine sub-systeminterfaces
Abordagens para o Projeto 
•Existem diversas abordagens para o projeto de um sistema. 
•Geralmente é feito de maneira gráfica 
•Modelos possíveis: 
–Fluxo de Dados 
–Entidade-relacionamento 
–Estruturais 
–Orientados a Objetos
Fim do trabalho do analista!!!!!!!!!!
HORA DO DESABAFO!!! 
•Descreva 2 casos de problemas causados por erros em software que você conhece (OBS: não adianta falar do Windows) 
•Descreva 2 produtos (que não seja um computador) onde o software faz a diferença.
Fim da Aula, Obrigado e Boa Noite

Weitere ähnliche Inhalte

Was ist angesagt?

Uma Introdução a Engenharia de Software
Uma Introdução a Engenharia de SoftwareUma Introdução a Engenharia de Software
Uma Introdução a Engenharia de SoftwareVinicius Garcia
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentaisWaldemar Roberti
 
Princípios da engenharia de software (marcello thiry)
Princípios da engenharia de software (marcello thiry)Princípios da engenharia de software (marcello thiry)
Princípios da engenharia de software (marcello thiry)Marcello Thiry
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de SoftwareClaudia Melo
 
Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3André Phillip Bertoletti
 
Engenharia de Software - Introdução e Motivação (Marcello Thiry)
Engenharia de Software - Introdução e Motivação (Marcello Thiry)Engenharia de Software - Introdução e Motivação (Marcello Thiry)
Engenharia de Software - Introdução e Motivação (Marcello Thiry)Marcello Thiry
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimentoGabriel Moura
 
Es aula01
Es   aula01Es   aula01
Es aula01Itaú
 
LIVRO PROPRIETÁRIO - ENGENHARIA DE USABILIDADE E INTERFACES
LIVRO PROPRIETÁRIO - ENGENHARIA DE USABILIDADE E INTERFACESLIVRO PROPRIETÁRIO - ENGENHARIA DE USABILIDADE E INTERFACES
LIVRO PROPRIETÁRIO - ENGENHARIA DE USABILIDADE E INTERFACESOs Fantasmas !
 
Introdução a Engenharia de Software.pdf
Introdução a Engenharia de Software.pdfIntrodução a Engenharia de Software.pdf
Introdução a Engenharia de Software.pdfIvanFontainha
 
LIVRO PROPRIETÁRIO - QUALIDADE DE SOFTWARE
LIVRO PROPRIETÁRIO - QUALIDADE DE SOFTWARELIVRO PROPRIETÁRIO - QUALIDADE DE SOFTWARE
LIVRO PROPRIETÁRIO - QUALIDADE DE SOFTWAREOs Fantasmas !
 
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASLIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASOs Fantasmas !
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO IOs Fantasmas !
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27Hélio Medeiros
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEISLIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEISOs Fantasmas !
 
Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2André Phillip Bertoletti
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareCloves da Rocha
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de SoftwareLeinylson Fontinele
 

Was ist angesagt? (20)

Uma Introdução a Engenharia de Software
Uma Introdução a Engenharia de SoftwareUma Introdução a Engenharia de Software
Uma Introdução a Engenharia de Software
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais
 
Princípios da engenharia de software (marcello thiry)
Princípios da engenharia de software (marcello thiry)Princípios da engenharia de software (marcello thiry)
Princípios da engenharia de software (marcello thiry)
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3Engenharia de Software - Unimep/Pronatec - Aula 3
Engenharia de Software - Unimep/Pronatec - Aula 3
 
Engenharia de Software - Introdução e Motivação (Marcello Thiry)
Engenharia de Software - Introdução e Motivação (Marcello Thiry)Engenharia de Software - Introdução e Motivação (Marcello Thiry)
Engenharia de Software - Introdução e Motivação (Marcello Thiry)
 
Como desenvolver-software
Como desenvolver-softwareComo desenvolver-software
Como desenvolver-software
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimento
 
Es aula01
Es   aula01Es   aula01
Es aula01
 
LIVRO PROPRIETÁRIO - ENGENHARIA DE USABILIDADE E INTERFACES
LIVRO PROPRIETÁRIO - ENGENHARIA DE USABILIDADE E INTERFACESLIVRO PROPRIETÁRIO - ENGENHARIA DE USABILIDADE E INTERFACES
LIVRO PROPRIETÁRIO - ENGENHARIA DE USABILIDADE E INTERFACES
 
Introdução a Engenharia de Software.pdf
Introdução a Engenharia de Software.pdfIntrodução a Engenharia de Software.pdf
Introdução a Engenharia de Software.pdf
 
LIVRO PROPRIETÁRIO - QUALIDADE DE SOFTWARE
LIVRO PROPRIETÁRIO - QUALIDADE DE SOFTWARELIVRO PROPRIETÁRIO - QUALIDADE DE SOFTWARE
LIVRO PROPRIETÁRIO - QUALIDADE DE SOFTWARE
 
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASLIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEISLIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
 
Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2Engenharia de Software - Unimep/Pronatec - Aula 2
Engenharia de Software - Unimep/Pronatec - Aula 2
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 

Ähnlich wie 1 engenharia de software

Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Adriano Bertucci
 
Eng software aula01_armadilhas
Eng software aula01_armadilhasEng software aula01_armadilhas
Eng software aula01_armadilhasRodolpho Rodrigues
 
Contr avali engenharia de software-introdução
Contr avali   engenharia de software-introduçãoContr avali   engenharia de software-introdução
Contr avali engenharia de software-introduçãoFelipe Lyra
 
IES - Aula 01 - 02.08
IES - Aula 01 - 02.08IES - Aula 01 - 02.08
IES - Aula 01 - 02.08Gilson Silva
 
Qualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioQualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioAdriano Bertucci
 
Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxRoberto Nunes
 
Ciclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareCiclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareEduardo Santos
 
engenharia de software e web, modelo john december
engenharia de software e web, modelo john decemberengenharia de software e web, modelo john december
engenharia de software e web, modelo john decemberAnibal A. Matias Jr
 
Webinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoTWebinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoTEmbarcados
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Cláudio Amaral
 
Sistemas para o Mundo Real
Sistemas para o Mundo RealSistemas para o Mundo Real
Sistemas para o Mundo RealLeandro Silva
 
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxMarcondesTiburcio
 

Ähnlich wie 1 engenharia de software (20)

Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
 
Eng software aula01_armadilhas
Eng software aula01_armadilhasEng software aula01_armadilhas
Eng software aula01_armadilhas
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
Contr avali engenharia de software-introdução
Contr avali   engenharia de software-introduçãoContr avali   engenharia de software-introdução
Contr avali engenharia de software-introdução
 
IES - Aula 01 - 02.08
IES - Aula 01 - 02.08IES - Aula 01 - 02.08
IES - Aula 01 - 02.08
 
Engenharia de software
Engenharia de software Engenharia de software
Engenharia de software
 
Qualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioQualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual Studio
 
Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptx
 
Ciclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareCiclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de Software
 
Crise de software2
Crise de software2Crise de software2
Crise de software2
 
engenharia de software e web, modelo john december
engenharia de software e web, modelo john decemberengenharia de software e web, modelo john december
engenharia de software e web, modelo john december
 
Engenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - IntroEngenharia de Software Aula 1 - Intro
Engenharia de Software Aula 1 - Intro
 
Requisitos de software
Requisitos de softwareRequisitos de software
Requisitos de software
 
Webinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoTWebinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoT
 
Aula1.pdf
Aula1.pdfAula1.pdf
Aula1.pdf
 
Analise aula2
Analise aula2Analise aula2
Analise aula2
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002
 
Sistemas para o Mundo Real
Sistemas para o Mundo RealSistemas para o Mundo Real
Sistemas para o Mundo Real
 
aula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptxaula projeto e des sistemas 22 03 2021.pptx
aula projeto e des sistemas 22 03 2021.pptx
 
Aula1 dia 22 02 2022.pdf
Aula1  dia 22 02 2022.pdfAula1  dia 22 02 2022.pdf
Aula1 dia 22 02 2022.pdf
 

Mehr von Felipe Bugov

Conjuntos relacoes funcoes
Conjuntos relacoes funcoesConjuntos relacoes funcoes
Conjuntos relacoes funcoesFelipe Bugov
 
Exercícios diagrama de venn
Exercícios diagrama de vennExercícios diagrama de venn
Exercícios diagrama de vennFelipe Bugov
 
1 produtos notáveis
1 produtos notáveis1 produtos notáveis
1 produtos notáveisFelipe Bugov
 
Calendário de provas 2014 Semestre 1 UNIP
Calendário de provas 2014 Semestre 1 UNIPCalendário de provas 2014 Semestre 1 UNIP
Calendário de provas 2014 Semestre 1 UNIPFelipe Bugov
 
5 engenharia de software projetos
5   engenharia de software  projetos5   engenharia de software  projetos
5 engenharia de software projetosFelipe Bugov
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de softwareFelipe Bugov
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de softwareFelipe Bugov
 
2 engenharia de software
2   engenharia de software2   engenharia de software
2 engenharia de softwareFelipe Bugov
 
9 manual do sistema aps pim - versão estudantes (2012.1)
9 manual do sistema aps pim - versão estudantes (2012.1)9 manual do sistema aps pim - versão estudantes (2012.1)
9 manual do sistema aps pim - versão estudantes (2012.1)Felipe Bugov
 
Manual de atividades_complementares_cst_v2014
Manual de atividades_complementares_cst_v2014Manual de atividades_complementares_cst_v2014
Manual de atividades_complementares_cst_v2014Felipe Bugov
 
Manual de normalizacao
Manual de normalizacaoManual de normalizacao
Manual de normalizacaoFelipe Bugov
 
Sistema de nivelamento
Sistema de nivelamentoSistema de nivelamento
Sistema de nivelamentoFelipe Bugov
 
Manual de normalizacao
Manual de normalizacaoManual de normalizacao
Manual de normalizacaoFelipe Bugov
 
Manual de atividades_complementares_cst_v2014
Manual de atividades_complementares_cst_v2014Manual de atividades_complementares_cst_v2014
Manual de atividades_complementares_cst_v2014Felipe Bugov
 
9 manual do sistema aps pim - versão estudantes (2012.1)
9 manual do sistema aps pim - versão estudantes (2012.1)9 manual do sistema aps pim - versão estudantes (2012.1)
9 manual do sistema aps pim - versão estudantes (2012.1)Felipe Bugov
 

Mehr von Felipe Bugov (18)

Conjuntos relacoes funcoes
Conjuntos relacoes funcoesConjuntos relacoes funcoes
Conjuntos relacoes funcoes
 
Conjuntos 1
Conjuntos 1Conjuntos 1
Conjuntos 1
 
Diagrama de venn1
Diagrama de venn1Diagrama de venn1
Diagrama de venn1
 
Exercícios diagrama de venn
Exercícios diagrama de vennExercícios diagrama de venn
Exercícios diagrama de venn
 
Aula de-funcao
Aula de-funcaoAula de-funcao
Aula de-funcao
 
1 produtos notáveis
1 produtos notáveis1 produtos notáveis
1 produtos notáveis
 
Calendário de provas 2014 Semestre 1 UNIP
Calendário de provas 2014 Semestre 1 UNIPCalendário de provas 2014 Semestre 1 UNIP
Calendário de provas 2014 Semestre 1 UNIP
 
5 engenharia de software projetos
5   engenharia de software  projetos5   engenharia de software  projetos
5 engenharia de software projetos
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de software
 
2 engenharia de software
2   engenharia de software2   engenharia de software
2 engenharia de software
 
9 manual do sistema aps pim - versão estudantes (2012.1)
9 manual do sistema aps pim - versão estudantes (2012.1)9 manual do sistema aps pim - versão estudantes (2012.1)
9 manual do sistema aps pim - versão estudantes (2012.1)
 
Manual de atividades_complementares_cst_v2014
Manual de atividades_complementares_cst_v2014Manual de atividades_complementares_cst_v2014
Manual de atividades_complementares_cst_v2014
 
Manual de normalizacao
Manual de normalizacaoManual de normalizacao
Manual de normalizacao
 
Sistema de nivelamento
Sistema de nivelamentoSistema de nivelamento
Sistema de nivelamento
 
Manual de normalizacao
Manual de normalizacaoManual de normalizacao
Manual de normalizacao
 
Manual de atividades_complementares_cst_v2014
Manual de atividades_complementares_cst_v2014Manual de atividades_complementares_cst_v2014
Manual de atividades_complementares_cst_v2014
 
9 manual do sistema aps pim - versão estudantes (2012.1)
9 manual do sistema aps pim - versão estudantes (2012.1)9 manual do sistema aps pim - versão estudantes (2012.1)
9 manual do sistema aps pim - versão estudantes (2012.1)
 

Kürzlich hochgeladen

COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
Lírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptxLírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptxfabiolalopesmartins1
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxfabiolalopesmartins1
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
Prova uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfProva uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfArthurRomanof1
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxkarinedarozabatista
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 

Kürzlich hochgeladen (20)

COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
Lírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptxLírica Camoniana- A mudança na lírica de Camões.pptx
Lírica Camoniana- A mudança na lírica de Camões.pptx
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptx
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
Prova uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfProva uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdf
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 

1 engenharia de software

  • 1. Disciplina Engenharia de Software Prof. Esp. Rafael H Mauro rafaelherman@yahoo.com.br
  • 2. Bibliografia •KOSCIANSKI, A; Qualidade de Software. São Paulo: Novatec Editora, 2006. •MALDONADO, José C; DELAMARO, Márcio; JINO, Mário; Introdução ao Teste de Software, Rio de Janeiro: Elsevier, 2007. •PFLEEGER, S.L; Engenharia de Software: teoria e prática. 2.ed. São Paulo: Prentice Hall, 2004. •SOMMERVILLE, I; Engenharia de Software., Fifth Edition, Pearson. 2003. •WIEGERS, K; Software Requirements, 10ed., Englewood Cliffs, NJ: Prentice Hall Inc, 1997.
  • 3. Introdução •“O Software ultrapassou o Hardware como chave para o sucesso de muitos sistemas baseados em computador” (Pressman)
  • 4. O Software é o que faz a diferença!!! •Acesso as informações •Facilidade de uso •inteligência •funcionalidade •compatibilidade •suporte Tornam 1 produto melhor que outro
  • 5. A importância do Software •Durante as 3 primeiras décadas da era do computador, o principal desafio era desenvolver um HARDWARE de baixo custo e alto desempenho. •O hoje o desafio é melhorar a qualidade (e reduzir os custos) das soluções baseadas em SOFTWARE!
  • 6. A evolução do Software - Nova Revolução Computação Industrial (Toffler) - 3a. Onda
  • 7. Parêntesis: Revolução Industrial Primeira Onda •Ferro (Darby, 1709) •Máquina a vapor: –Inventada (Newcomen, 1712) –Aperfeiçoada (WATT, 1766 - ’69 -’82) •Mecanização da indústria têxtil: –Tear Mecânico (Kay, 1722) –Maquina de fiar (Hargreaves, 1764) •Aspectos sociais, políticos e econômicos Têxteis, Carvão e Ferro
  • 8. Parêntesis: Revolução Industrial Segunda Onda •Aço (Bessemel, 1856 e 1885 - Liga) •Locomotiva a Vapor (Rede de Transporte - 1830) •Máquina de Costura (SINGER,1851) •Motor a combustão interna: –Primeiro eficiente (OTTO, 1876) –Produção automobilística em massa (Daimler e Benz, 1896) •Desemprego e fim da escravidão
  • 9. Revolução Industrial: Terceira Onda • Energia Nuclear (Fermi, 1942) • Uso Industrial/Comercial da Eletricidade • Computadores Eletrônicos (ENIAC 1946) • Transistor (Shockley, et al., 1948) Sociedade Sociedade Industrial da Informação transformação
  • 10. Filosofando... •A mudança de uma sociedade industrial para uma baseada na informação é uma Radical Mudança Econômica: –Material tem menos valor e Informação tem mais valor •Antes: quanto menos pessoas possuísse algo, maior o valor. •Hoje: quanto mais pessoas possuem algo, maior o valor.
  • 11. A evolução do software •Software é dividida em 4 Eras: –Primeiros anos 1950 - 1965 –Segunda Era 1965 - 1975 –Terceira Era 1975 - 1988 –Quarta Era 1988 - ...
  • 12. O que é Software? •Definição - Software é: 1o - instruções (programas de computador) que, quando executadas, produzem a função e o desempenho desejados; 2o - estruturas de dados que permitem a manipulação das informações; 3o - documentos que descrevem a operação e uso dos programas.
  • 13. Características do Software - 1 •O Software é desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico: –Custos são concentrados no trabalho de engenharia. –Projetos não podem ser geridos como projetos de manufatura. –“Fábrica de Software!”
  • 14. Características do Software - 2 •Software não desgasta! –Software não é sensível aos problemas ambientais que fazem com que o hardware se desgaste. –Ver curvas de falha, páginas 14 e 15 do Pressman. – Toda falha indica erro de projeto ou implementação: manutenção do SW é mais complicada que a do HW.
  • 15. Características do Software - 3 •A maioria dos softwares é feita sob medida e não montada a partir de componentes existentes. •!= Hardware. •Situação esta mudando: –Orientação a objetos. –Reusabilidade é o “Santo Graal”(diminui custos e melhora projetos).
  • 16. Aplicações de Software (Pressman) •Software Básico •Software de Tempo Real •Software Comercial •Software Científico ou de Engenharia •Software Embutido •Software de Computador Pessoal •Software de Inteligência Artificial
  • 17. Uma Crise no horizonte •A indústria de Software tem tido uma “crise” que a acompanha há quase 30 anos: –Aflição Crônica != Crise •Problemas não se limitam ao software que não funciona adequadamente, mas abrange: –desenvolvimento, testes, manutenção, suprimento, etc.
  • 18. Therac-25 •Equipamento de Radioterapia. •Entre 1985 e 1987 se envolveu em 6 acidentes, causando mortes por overdoses de radiação. •Software foi adaptado de uma antecessora, Therac-6: –falhas por falta de testes integrados –falta de documentação (Pfleeger)
  • 19. Denver International Airport •Custo do projeto: US$ 4.9 bilhões –100 mil passageiros por dia –1,200 vôos –53 milhas quadradas –94 portões de embarque e desembarque –6 pistas de pouso / decolagem
  • 20. Denver International Airport •Erros no sistema automático de transporte de bagagens (misloaded, misrouted, jammed): –Atraso na abertura do aeroporto com custo total estimado em US$360 Milhões •86 milhões para consertar o sistema
  • 22. Ariane 5 •Projeto da Agência Espacial Européia que custou: –10 anos. –US$ 8 Bilhões. •Capacidade 6 toneladas. •Garante supremacia européia no espaço.
  • 23. Vôo inaugural em 4/junho/1996
  • 24. Resultado •Explosão 40 segundos após a decolagem. •Destruição do foguete e carga avaliada em US$ 500 milhões.
  • 25. O que aconteceu? (I) •Fato: o veículo detonou suas cargas explosivas de autodestruição e explodiu no ar. Por que? •Porque ele estava se quebrando devido às forças aerodinâmicas. Mas por que? •O foguete tinha perdido o controle de direção (atitude). Causa disso? •Os computadores principal e back-up deram shut-down ao mesmo tempo.
  • 26. O que aconteceu? (II) •Por que o Shut-down? Ocorrera um run time error (out of range, overflow , ou outro) e ambos computadores se desligaram. De onde veio este erro? •Um programa que convertia um valor em ponto flutuante para um inteiro de 16 bits recebeu como entrada um valor que estava fora da faixa permitida.
  • 27. Especificamente:O que faltou? strict precondition 1: { Set."x"=FLPT and Set."y"=INT16 and -32768 <= x <= +32767 } program code: y := int(x); postcondition: {Set."x"=FLPT and Set."y"=INT16 and y=int(x)}
  • 28. Ironia... •O resultado desta conversão não era mais necessário após a decolagem...
  • 29. Quais são os problemas? •A sofisticação do software ultrapassou nossa capacidade de construção. •Nossa capacidade de construir programas não acompanha a demanda por novos programas. •Nossa capacidade de manter programas é ameaçada por projetos ruins.
  • 30. Perguntas que Engenharia de Software quer responder: •Porque demora tanto para concluir um projeto (não cumprimos prazos)? •Porque custa tanto (uma ordem de magnitude a mais)? •Porque não descobrimos os erros antes de entregar o software ao cliente? •Porque temos dificuldade de medir o progresso enquanto o software está sendo desenvolvido?
  • 31. Causas óbvias •Não dedicamos tempo para coletar dados sobre o desenvolvimento do software - resulta em estimativas “a olho”. •Comunicação entre o cliente e o desenvolvedor é muito fraca. •Falta de testes sistemáticos e completos.
  • 32. Causas menos óbvias •O Software é desenvolvido ou projetado por engenharia, não manufaturado no sentido clássico (característica 1). •Gerentes sem background em desenvolvimento de SW. •Profissionais recebem pouco treinamento formal. •Falta investimento (em ES). •Falta métodos e automação.
  • 33. Mitos do Software - Administrativos •Um manual oferece tudo que se precisa saber. •Computadores de última geração solucionam problemas de desenvolvimento. •Se estamos atrasados, basta adicionar programadores e tirar o atraso (chamado “conceito de hordas de mongois”).
  • 34. Mitos do Software - do Cliente •Uma declaração geral é suficiente para começar a escrever programas. •Mudanças podem ser facilmente acomodadas em um projeto.
  • 35. Mitos do Software - do Profissional •Um programa está terminado ao funcionar. •Quanto mais cedo escrever o código, mais rápido terminarei o programa. •Só posso avaliar a qualidade de um programa em funcionamento. •A única coisa a ser entregue em um projeto é o programa funcionando.
  • 36. Engenharia de Software: Definição •“Engenharia de Software é o estabelecimento e uso de sólidos princípios de engenharia para que se possa obter economicamente um software que seja confiável e que funcione eficientemente em máquinas reais” •É METODOLOGIA!
  • 37. Engenharia de Software: Abrangência •E.S. possui 3 elementos fundamentais: –métodos: “como fazer” –ferramentas: apoio automatizado aos métodos. –Procedimentos: elo de ligação entre os métodos e os procedimentos •Existem diversos Paradigmas de Engenharia de Software: –abordagens que envolvem estes métodos, ferramentas e procedimentos
  • 38. Paradigmas de Engenharia de Software •Existem dezenas. •4 principais: –Ciclo de Vida Clássico (modelo Cascata) –Prototipagem –Espiral –Técnicas de Quarta Geração (Pressman)
  • 39. Ciclo de Vida Clássico: modelo Cascata (Waterfall) •Baseado em projetos de engenharia clássicos (não de Software) - 1970 •Fases: –Análise de requisitos –Definição –Projeto –Implementação –Integração e testes –Operação e manutenção
  • 40. Ciclo de Vida Clássico (II) Requirements definition System and software design Implementation and unit testing Integr ation and system testing Operation and maintenance (Sommerville)
  • 41. Ciclo de Vida Clássico (III) •Problemas: –projetos reais não seguem um fluxo seqüencial: dificuldade de acomodar mudanças depois de iniciado. –Dificuldade de declaração de todas as exigências pelo cliente. –Paciência!
  • 42. Modelo Espiral de Boehm (1988)
  • 43.
  • 44. Fases do modelo Espiral •Definição dos objetivos –Especificação dos objetivos específicos desta fase. •Análise dos riscos –Identificação e solução dos principais riscos •Desenvolvimento e validação •Planejamento –O projeto é revisto e se define planos para a próxima “volta da espiral”
  • 45. Conclusão •Software é elemento chave para o sucesso. Mas: –Software não é hardware. –Software não é fácil. –Software mata. –Precisamos de ajuda.
  • 46. Engenharia de Sistemas •“Se preocupa com o projeto, implementação, instalação e operação de sistemas que incluem hardware, software e pessoas”. (Sommerville)
  • 47. O que é um Sistema? •Um conjunto de componentes inter-relacionados organizados para atingir um certo objetivo. •É organizado para executar certo método, procedimento ou controle ao processar informações. •Automatiza ou apóia a realização de atividades humanas através do processamento de informações.
  • 48. Problemas da Engenharia de Sistemas •Sistemas grandes são projetados para resolver problemas “problemáticos”. •Sistemas requerem abordagem multi-disciplinar –Infinitas possibilidades –Falta de compreensão e confiança entre disciplinas •Sistemas devem ser projetados para durarem muitos anos em um ambiente dinâmico.
  • 50. Fases da Engenharia de Sistemas Podemos identificar três fases nos paradigmas de desenvolvimento vistos: •Definição: –Determina viabilidade, requisitos do software, especifica e projeta o sistema. •Desenvolvimento: –Implementação, integração e instalação. •Operação: –manutenção, correção e evolução.
  • 51. Sobre a Definição do Software
  • 52. Análise de Sistemas •Atividade que engloba as tarefas da engenharia de sistemas de computador. •Geralmente confundida com as atividades de análise de requisitos. •Concentra-se em todos os elementos do sistema, não apenas software. •Trabalha na fase de DEFINIÇÃO do sistema: especifica o sistema para o trabalho de desenvolvimento.
  • 53. Problemas da análise de sistemas •Separar partes de hardware, software e peopleware requer muita negociação. •Pessoas assumem que problemas com difícil solução são facilmente resolvidos pelo computador. •Plataformas podem ser inapropriadas: software deve compensar isso.
  • 54. Passos da Análise de Sistemas •Análise de sistemas envolve: –Identificação das necessidades. –Estudo de viabilidade. –Análise, especificação e validação dos Requisitos. –Projeto do sistema: •Arquitetura •Interface • Dados
  • 55. Estudo de Viabilidade •Econômica: –análise custo benefício (pg 206 Pressman) •Técnica: –Estudo da função, desempenho e restrições para um sistema aceitável. •Legal: –infrações e violações legais (Ex: IA Médica) •Alternativas
  • 56. Análise de requisitos de software •O processo que estabelece serviços necessários e restrições de operação e desenvolvimento. •Requisitos: –são objetivos ou restrições estabelecidas por clientes e usuários do sistema que definem as diversas propriedades do sistema (e que dizem respeito ao software).
  • 57. Passos da análise de requisitos
  • 58.
  • 59. Problema da Análise de Requisitos
  • 60.
  • 61.
  • 62. Especificação dos Requisitos (I) •Pressman define um documento básico para a especificação dos requisitos. Ele contém 8 partes: I. Introdução 1. Referências do Sistema 2. Descrição Geral 3. Restrições de projeto do software
  • 63. Especificação dos Requisitos (II) II. Descrição da Informação 1. Representação do fluxo de informação a. Fluxo de Dados b. Fluxo de Controle 2. Representação do conteúdo de informação 3. Descrição da interface com o sistema
  • 64. Especificação dos Requisitos (III) III. Descrição Funcional 1. Divisão funcional em partições 2. Descrição funcional a. Narrativas b. Restrições/limitações c. Exigências de desempenho d. Restrições de projeto e. Diagramas de apoio 3. Descrição do controle a. Especificação do controle b. Restrições de projeto
  • 65. Especificação dos Requisitos (IV) IV. Descrição Comportamental 1. Estados do Sistema 2. Eventos e ações V. Critérios de Validação 1. Limites de desempenho 2. Classes de testes 3. Reação esperada do software 4. Considerações especiais VI. Bibliografia VII Apêndice
  • 66. Atividades de Projeto ArchitecturaldesignAbstractspecificationInterfacedesignComponentdesignDatastructuredesignAlgorithmdesignSystemarchitectureSoftwarespecificationInterfacespecificationComponentspecificationDatastructurespecificationAlgorithmspecificationRequirementsspecificationDesign activitiesDesign products
  • 67. O processo do Projeto PartitionrequirementsIdentifysub-systemsAssign requirementsto sub-systemsSpecify sub-systemfunctionalityDefine sub-systeminterfaces
  • 68. Abordagens para o Projeto •Existem diversas abordagens para o projeto de um sistema. •Geralmente é feito de maneira gráfica •Modelos possíveis: –Fluxo de Dados –Entidade-relacionamento –Estruturais –Orientados a Objetos
  • 69. Fim do trabalho do analista!!!!!!!!!!
  • 70. HORA DO DESABAFO!!! •Descreva 2 casos de problemas causados por erros em software que você conhece (OBS: não adianta falar do Windows) •Descreva 2 produtos (que não seja um computador) onde o software faz a diferença.
  • 71. Fim da Aula, Obrigado e Boa Noite