1 / 35

Revisão de Conceitos Básicos Software

INF62: Informática no Ensino de Física 2 Aula 04. Revisão de Conceitos Básicos Software. Eduardo Figueiredo. 25 de Março de 2010. Sistema Computacional. Pessoas. Sistema Computacional: Software. Componente lógico de um sistema computacional Ponte entre os usuários e a máquina

kiefer
Download Presentation

Revisão de Conceitos Básicos Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INF62: Informática no Ensino de Física 2 Aula 04 Revisão de Conceitos BásicosSoftware Eduardo Figueiredo 25 de Março de 2010

  2. Sistema Computacional Pessoas

  3. 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

  4. 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)

  5. 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...

  6. Software está em todo lugar

  7. Sistemas Críticos • Equipamentos médicos • Extremamente críticos • Lidam com vidas • Caixas eletrônicos • Prejuízos financeiros

  8. Confiabilidade de Software • Exemplo: Vôo Air France Rio - Paris • Dados conflitantes (falha nos sensores) • Sistema assume o controle (piloto automático) • Piloto tenta reiniciar o sistema (boot) • 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 

  9. Preço e Desempenho • Pouco espaço na memória • Grande variação em características de aparelhos Celular

  10. Alguns Tipos de Software

  11. 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.

  12. 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

  13. 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 ...

  14. 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

  15. 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

  16. 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

  17. Desenvolvimento de Software

  18. Fases do Desenvolvimento • Modelo Cascata • Define atividades seqüenciais • Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação Testes Manutenção

  19. Fases do Desenvolvimento • Modelo Cascata • Define atividades seqüenciais • Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação Testes Manutenção

  20. 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.

  21. Fases do Desenvolvimento • Modelo Cascata • Define atividades seqüenciais • Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação Testes Manutenção

  22. Da Análise ao Projeto • A partir do documento de análise de requisitos, projeta-se o sistema 1ª Fase: Resolução do Problema PROBLEMA Encontrar Solução Programa de Computador 2ª Fase: Implementação (codificação)

  23. 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

  24. Projeto de uma Casa

  25. Projeto Preliminar de Software

  26. Fases do Desenvolvimento • Modelo Cascata • Define atividades seqüenciais • Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação Testes Manutenção

  27. 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

  28. Fases do Desenvolvimento • Modelo Cascata • Define atividades seqüenciais • Outras abordagens são baseadas nesta idéia Especificação de Requisitos Projeto Implementação Testes Manutenção

  29. 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

  30. Linguagem de ProgramaçãoUm Pouco de História

  31. 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

  32. 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ívelcomo C ou Java

  33. 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

  34. 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

  35. 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.

More Related