O Hardware e o Software do Computador Aula 3 Parte 2 Software de Computador Aplicativo Horizontal: tarefas genéricas, para quaisquer organizações Aplicativo Vertical: tarefas específicas, para organizações específicas 2 1
Software Vertical 3 Software Vertical ERP e Middleware Um dos maiores problemas das organizações é integrar os diversos softwares para diferentes tarefas e departamentos Solução: pacotes Enterprise Resource Planning (ERP) Permitem adaptação do pacote às necessidades da organização (geralmente alto custo) Middleware: um software intermediário entre softwares, para que a saída de um software seja lida por outro (formatação) 4 2
Software Vertical ERP e Middleware Um dos maiores problemas das organizações é integrar os diversos softwares para diferentes tarefas e departamentos Solução: pacotes Enterprise Resource Planning (ERP) Permitem adaptação do pacote às necessidades da organização (geralmente alto custo) Middleware: um software intermediário entre softwares, para que a saída de um software seja lida por outro (formatação) 5 ERP - SAP R/3 6 3
Software Horizontal Softwares de uso geral: planilhas, construtores de slides, correio eletrônico, editores de textos, sistemas para workflow Existem muitas opções livres Livres para instalação e execução Livres por tempo limitado Livres com código aberto acessível e alterável Livres em parte Livres em versão beta 7 Software de Sistema O software de sistema executa tarefas para administrar os dispositivos e recursos do computador e sua rede. O nu cleo ou kernel do sistema operacional Alocac a o de recursos (Ex. Gerência de Memória/ Processos) Monitoramento dos recursos do computador Mi nimo de interac a o ou controle do usua rio Nenhum computador pode operar sem ele Os utilita rios do sistema Manutenc a o ba sica e func o es de controle de recursos. Um computador poderia operar sem utilita rios do sistema, mas os usua rios iriam acha -lo extremamente inco modo. O software de gesta o de rede e sistemas Possibilita aos profissionais da a rea de informa tica monitorar e controlar os recursos do computador e da rede. 8 4
Software de Sistema Núcleo ou Kernel do Sist. Operacional Incializa o computador quando o usuário liga a máquina Os aplicativos do usuário executam chamadas de sistema para o núcleo, que então executa suas demais tarefas: Inicializa os aplicativos acionados pelo usuário Transfere dados de aplicativos para dispositivos de saída, armazenamento e rede Aloca prioridades para os programas e aplicativos quanto ao uso de processador e recursos O nu cleo do sistema operacional deve ser escrito para um tipo especi fico de hardware de computador, porque ele trabalha com as func o es mais ba sicas do computador O Sist. Operacional acompanha o núcleo e alguns utilitários para manutenção da máquina Linux x Windows 9 Software de Sistema Utilitários 10 5
Software de Sistema Utilitários 11 Software para Desenvolvimento de Programas São ambientes de programação, onde um programador desenvolve um programa (código) em uma linguagem de programação o qual é (por tradução) executável pela máquina Tradutores Sistema compilador: traduz o código-fonte do programa para linguagem de máquina Mais rápido, gera código executável de máquina dependente do hardware e do Sist. Operacional. Visual Basic, Delphi, C Sistema interpretador Mais lento, as instruções do código-fonte são interpretadas para código de máquina uma a uma, é executado em qualquer hardware e Sist. Operacional que contenha o interpretador. Browsers( Internet Explorer, Chrome ) que interpretam HTML e javascript 12 6
Processo de Compilação 13 Linguagens de Programação Gerações As linguagens de segunda gerac a o Sa o de um relativo baixo ni vel Requerem mais passos de programação Um u nico comando cria poucas instruc o es (Assembly) As linguagens de terceira gerac a o Te m um i ndice moderado de abstrac a o Requerem menos passos de programação Um u nico comando inclui uma quantidade me dia de instruc o es (Pascal, FORTRAN, COBOL) As linguagens de quarta gerac a o Sa o relativamente de alto ni vel (próximas à linguagem natural) Requerem o menor nu mero de passos. Um u nico comando inclui uma extensa quantidade de instruc o es (DELPHI, Visual Basic, SQL) 14 7
Linguagens de Programação Tipos: Procedural Programador cede passo a passo as instruções que a máquina deve executar (C, Pascal, Visual Basic) 15 Linguagens de Programação Tipos: Orientadas a Objetos (Java, C++) 16 8
Linguagens de Programação Tipos: Orientadas a Objetos (Java, C++) 17 Linguagens de Programação Tipos: Declarativas (Prolog) 18 9
Linguagens de Consulta: SQL Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é a linguagem de pesquisa declarativa padrão para banco de dados relacional (base de dados relacional). Muitas das características originais do SQL foram inspiradas na álgebra relacional. 19 Linguagens de Consulta: SQL Selecionar todos os vôos cadastrados da companhia Air France: SELECT * FROM Vôos WHERE Vôos.Cia = 128 20 10
Software em Camadas 21 Software Cliente-Servidor em 3 Camadas 22 11
Inteligência Artificial O que é inteligência? Não há consenso entre cientistas (inteligência musical, matemática, linguística, etc.) Porém, é visível que as pessoas são mais inteligentes que animais e máquinas Inteligência Artificial Dificuldade extrema e sem sucesso de reproduzir a capacidade intelectual humana integral em máquina Inteligência Artificial Forte e Inteligência Artificial Fraca 23 Inteligência Computacional Sistemas Baseados em Conhecimento Sistemas baseados em lógica de primeira ordem (Linguagem Prolog) Sistemas Nebulosos Utilizam a lógica nebulosa (fuzzy) como base de funcionamento Esta lógica realiza inferência probabilística e não de forma rígida com dois valores semânticos: V ou F, como nos Sistemas Baseados em conhecimento Redes Neurais Artificiais Simulam o funcionamento do sistema neural cerebral humano e são capazes de aprender com exemplos e realizar classificações Computação Evolucionária Inspirada na teoria da evolução de Charles Darwin, é capaz de encontrar soluções por melhoria (otimização). As melhores soluções para um problema são encontradas por um programa que melhora as soluções ao longo do tempo 24 12