A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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

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

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

10 Alguns Tipos de Software

11 Classificação de Software Quanto 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 PROBLEMA EncontrarSolução Programa de Computador 1ª Fase: Resolução do Problema 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ção Um Pouco de História

31 Evolução das Linguagens Linguagens de Máquina (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 significa load basepay Atualmente, programar em linguagens de máquina é pouco comum São usadas linguagens de alto nível como 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, Seção 1.6 a 1.10 Ian Sommerville. Engenharia de Softwawe, 8a. Edição


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google