Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática...
Transcript of Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática...
![Page 1: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/1.jpg)
Revisão de Conceitos BásicosSoftware
Eduardo Figueiredo
25 de Março de 2010
INF62: Informática no Ensino de Física 2 Aula 04
![Page 2: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/2.jpg)
Sistema Computacional
Pessoas
![Page 3: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/3.jpg)
Sistema Computacional: Software
Componente lógico de um sistema computacional Ponte entre os usuários e a máquina Séries de instruções Indicam passo a passo o que o computador deve
fazer Importância
Realizam tarefas rotineiras e/ou periódicas Aumentam a produtividade Reduzem os custos de uma organização
![Page 4: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/4.jpg)
O que é software?
Programa de computador + Documentação
Classificação fundamental Produtos genéricos
(ex. Microsoft Office) Produtos encomendados
(ex. Portal de Ensino da UFU)
![Page 5: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/5.jpg)
Crise do Software (1968)
Custos de hardware caindo Custos do software subindo
Avanços em hardware Permitem desenvolvimento de sistemas
cada vez mais complexos Resultado (software)
Custos altos, projetos atrasados, sistemas não confiáveis, desempenho insatisfatório, etc...
![Page 6: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/6.jpg)
Software está em todo lugar
![Page 7: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/7.jpg)
Sistemas Críticos
Equipamentos médicos Extremamente críticos Lidam com vidas
Caixas eletrônicos Prejuízos financeiros
![Page 8: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/8.jpg)
Confiabilidade de Software
Exemplo: Vôo Air France Rio - Paris1. Dados conflitantes (falha nos sensores)
2. Sistema assume o controle (piloto automático)
3. Piloto tenta reiniciar o sistema (boot)
4. Em 4 minutos o avião mergulha no oceano
The Last Four Minutes of Air France Flight 447. http://www.spiegel.de/international/world/0,1518,679980,00.html
![Page 9: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/9.jpg)
Preço e Desempenho
Celular Pouco espaço na memória Grande variação em
características de aparelhos
![Page 10: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/10.jpg)
Alguns Tipos de Software
![Page 11: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/11.jpg)
Classificação de SoftwareQuanto a Função
Infra-estrutura Básica do Sistema Sistema Operacional Utilitários de controle (BIOS, firmwares, drivers...)
Aplicativos Software Comercial Software Científico ou de Ensino Software de Tempo Real Software de Inteligência Artificial, etc.
![Page 12: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/12.jpg)
Sistema Operacional
Software Básico de um computador
Não existiam nos computadores antigos Exemplo: computadores construídos com
válvulas e painéis Os programadores deviam considerar as
características do hardware
Atualmente, estão presentes em todos os computadores pessoais E também em muitos computadores
pertencentes a outras categorias
![Page 13: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/13.jpg)
Sistema Operacional
Cria um ambiente no qual os usuários podem construir e executar programas
Executam programas internos de controle do computador de forma transparente Sem que o usuário saiba ou precise se
preocupar em saber
Exemplos de Sistemas Operacionais Windows, Linux, Mac OS, Solaris ...
![Page 14: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/14.jpg)
Tarefas do Sistema Operacional
Gerenciamento da memória do computador
Administração dos dados Acionamento dos dispositivos de
entrada e saída Teclado, mouse, disquetes, CDs, DVDs,
etc. Execução de programas utilitários ou
construídos pelo usuário
![Page 15: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/15.jpg)
Aplicações Específicas
Negócios e Comércio Comércio eletrônico, bolsa de valores,
planejamento de gastos, etc.
Medicina Análise de imagens médicas como ultra-som Acompanhamento de atletas e pacientes Detecção de anomalias genéticas
![Page 16: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/16.jpg)
Aplicações Específicas
Exército Simula estratégias de ataque/defesa Treinamento de soldados Calcula trajetórias de projéteis
E muito mais... Usinas nucleares e hidrelétricas Portos e aeroportos Previsões meteorológicas Atividades geológicas
![Page 17: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/17.jpg)
Desenvolvimento de Software
![Page 18: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/18.jpg)
Fases do Desenvolvimento
Modelo Cascata Define atividades seqüenciais Outras abordagens são
baseadas nesta idéia
Especificação de Requisitos
ProjetoImplementação
Testes
Manutenção
![Page 19: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/19.jpg)
Fases do Desenvolvimento
Modelo Cascata Define atividades seqüenciais Outras abordagens são
baseadas nesta idéia
Especificação de Requisitos
ProjetoImplementação
Testes
Manutenção
![Page 20: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/20.jpg)
Especificação de Requisitos
Um sistema de programação deve satisfazer as necessidades de seus usuários Tais necessidades são expressas na forma de
requisitos Requisito = ação que deve ser executada
pelo sistema Ex: registrar as notas dos alunos, calcular a
média final, etc.
![Page 21: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/21.jpg)
Fases do Desenvolvimento
Modelo Cascata Define atividades seqüenciais Outras abordagens são
baseadas nesta idéia
Especificação de Requisitos
ProjetoImplementação
Testes
Manutenção
![Page 22: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/22.jpg)
Da Análise ao Projeto
A partir do documento de análise de requisitos, projeta-se o sistema
PROBLEMAPROBLEMA
EncontrarEncontrarSoluçãoSolução
Programa dePrograma deComputadorComputador
1ª Fase: Resolução do Problema
2ª Fase: Implementação (codificação)
![Page 23: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/23.jpg)
Projeto do Sistema
Dividido em duas etapas Projeto Preliminar define a estrutura
modular do software, as interfaces e as estruturas de dados utilizadas Saída: diagramas
Projeto Detalhado descreve detalhadamente cada módulo definido no projeto preliminar Saída: algoritmos
![Page 24: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/24.jpg)
Projeto de uma Casa
![Page 25: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/25.jpg)
Projeto Preliminar de Software
![Page 26: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/26.jpg)
Fases do Desenvolvimento
Modelo Cascata Define atividades seqüenciais Outras abordagens são
baseadas nesta idéia
Especificação de Requisitos
ProjetoImplementação
Testes
Manutenção
![Page 27: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/27.jpg)
Implementação do Sistema
A implementação segue as definições do projeto preliminar
Transcreve as instruções do algoritmo para uma linguagem de programação Exemplo: Linguagem C ou Java
![Page 28: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/28.jpg)
Fases do Desenvolvimento
Modelo Cascata Define atividades seqüenciais Outras abordagens são
baseadas nesta idéia
Especificação de Requisitos
ProjetoImplementação
Testes
Manutenção
![Page 29: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/29.jpg)
Teste e Validação
Tem por objetivo garantir que o sistema satisfaça os requisitos
Consiste da realização de alguns tipos de testes para encontrar erros
A inexistência de erros não representa a adequação operacional do sistema Deve ser feita a validação com o cliente
![Page 30: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/30.jpg)
Linguagem de ProgramaçãoUm Pouco de História
![Page 31: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/31.jpg)
Evolução das Linguagens
Linguagens de Máquina +1300042774
(traduzido depois para 0 e 1) Linguagens Assembly
load basepay / add overpay / store grosspay Linguagens de Alto Nível
grosspay = basepay + overpay
![Page 32: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/32.jpg)
Linguagens de Máquina
Definem instruções a serem executadas pelo computador São especificas para o hardware
Código de máquina: uma seqüência de números significa uma instrução a ser executada “+1300042774” significa “load basepay”
Atualmente, programar em linguagens de máquina é pouco comum São usadas linguagens de alto nível
como C ou Java
![Page 33: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/33.jpg)
Linguagens de Alto Nível
Programadores geralmente utilizam linguagens de alto nível Mais próximo da compreensão humana
Programas de alto nível são traduzidos para a linguagem da máquina por compiladores Arquivo .EXE é gerado
O programa compilado pode então ser executado pelo computador
![Page 34: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/34.jpg)
Evolução de uma Linguagem
BCLP (1967) por Martin Richards
Linguagem C (1972) por Dennis Ritchie
C++ (1980) por Bjarne Stroustrup, Bell Labs
Java (1995) pela Sun
![Page 35: Revisão de Conceitos Básicos Software Eduardo Figueiredo 25 de Março de 2010 INF62: Informática no Ensino de Física 2 Aula 04.](https://reader036.fdocumentos.tips/reader036/viewer/2022081602/552fc132497959413d8d6a5d/html5/thumbnails/35.jpg)
Referências
DEITEL, H. M.; DEITEL P. J. Java: Como Programar, 6a. Edição. Pearson, 2005. Seção 1.6 a 1.10
Ian Sommerville. Engenharia de Softwawe, 8a. Edição. 2007.