Introdução à Informática
Professor Darso Gambôa
Eng. Electrónico e Informático
REGRAS
Interdito o uso de telemóvel ou PC
(salvo expressamente indicado)
Chefe da turma responsável pela
arrumação da sala no final da aula
2
Fundamentos do software
Fundamentos do
Software
3
Fundamentos do software
Importância do Software
No inicio da era da computação, o principal desafio era desenvolver
um hardware que reduzisse o custo de processamento e o
armazenamento dos dados.
Com os avanços na microelectrónica resultaram em maior poder
de computação a um custo cada vez mais baixo.
Hoje o problema é diferente, o principal desafio nessa década é
melhorar a qualidade (e reduzir o custo) de soluções baseadas
através da implementação do software.
4
Fundamentos do software
Software
Definição formal
1. Instruções (programas de computador) que quando
executadas, produzem a função do desempenho desejado;
2. Estruturas de dados que possibilitam que os programas
manipulem adequadamente a informações;
3. Documentos que descrevem a operação e uso dos programas.
5
Fundamentos do software
Software-características
Características
1. Quando o hardware é construído, evolui para um
produto físico (chips, placas, fontes, etc). O software, por
sua vez, é um elemento de sistema lógico, e não físico.
6
Fundamentos do software
Software-
características
2. O hardware com o passar do tempo sofre os efeitos cumulativos
de poeira, vibração, temperaturas extremas, já, o software não é
sensível aos problemas ambientais, portanto o software não se
desgasta, mas se deteriora, isto é, durante sua vida, o software
enfrentará mudanças (manutenção).
7
Fundamentos do software
Software-características
3. Quando se desgasta, um componente de hardware é substituído
por uma “peça de reposição“. Não existem peças de reposição para
o software, toda falha de software indica um erro no projecto.
Portanto, a manutenção de software envolve consideravelmente
mais complexidade do que a manutenção do hardware.
8
Fundamentos do software
Software-características
4. Para o projecto de hardware, o projectista desenha um esquema
simples do circuito digital e depois faz a encomenda dos
componentes. Infelizmente, os projectistas de software não podem
permitir-se a esse luxo. A maioria dos softwares é feita sob medida
em vez de ser montada à partir de componentes existentes. É possível
encomendar software, mas somente como uma unidade completa. Apesar da
POO vir a mudar essa situação.
9
Fundamentos do software
Software-componentes
As formas de linguagem de programação em uso são:
Linguagem Linguagem Linguagem
Máquina Assembly Alto Nível
Linguagem de Máquina = representação simbólica de zeros e uns (0 ou 1).
Linguagem Assembly = representação simbólica de instrução da CPU.
Linguagem de Alto Nível = permite programa ser independente da
máquina (necessitam de interpretadores e compiladores).
Exemplo: COBOL e FORTRAN, PASCAL, C, C ++, DELPHI, etc...
10
Fundamentos do software
Software
1. Software aplicativo
É o programa específico escrito ou testado para executar
alguma operação (ou resolver um problema) de interesse do
usuário.
Em geral é escrito em Linguagem de Alto Nível pelo
próprio usuário.
11
Fundamentos do software
Software
2. Software básico ou do sistema
É o conjunto de programas que supervisionam e auxiliam a execução
dos diversos softwares aplicativos. Em geral, é formado pelos
seguintes programas principais:
2.1. Sistema Operacional ou Programa Supervisor:
Que controla e supervisiona a execução de todos os outros programas
(exemplos: WINDOWS XP, WINDOWS VISTA, UNIX, DOS, etc)
12
Fundamentos do software
Software
2.2. Compiladores e Interpretadores: traduzem ou interpretam
os programas escritos em diferentes linguagens.
13
Fundamentos do software
Software
2.2. Compiladores VS Interpretadores
Um compilador analisa todo o código a fim de traduzi-lo de uma
vez (muitas vezes, o resultado é um arquivo executável ou uma
biblioteca).
Já na interpretação nenhum arquivo ou código fonte é gerado, e sim
uma tradução instantânea, em tempo de execução.
14
Fundamentos do software
Software
2.2. Compiladores VS Interpretadores
Vantagens Desvantagens
Execução mais rápida Várias etapas de tradução
Compiladores
Permite a optimização do Processo de correcção de
código fonte erros e depuração é mais
demorado
Depuração do programa é mais
Execução do programa é
simples
mais lento
Interpretadore
s Consome menos memória Necessário fornecer o
programa fonte ao utilizador
15
Fundamentos do software
Software
2.3. Carregador - editor: que junta trechos de programas
independentes em um único programa ou carrega um programa
do disco magnético para a memória e vice-versa.
16
Fundamentos do software
Software
A RETER !!!
1. O software básico ou do sistema é fornecido pelo próprio
fabricante do computador e, em geral, está escrito em linguagem de
máquina.
2. Tanto o software aplicativo como o básico/sistema trabalham
em linguagem de máquina, isto é, em código binário, que é a única
codificação aceita pelo hardware ou arquitectura do computador.
17
Fundamentos do software
Software
A RETER !!!
3. O usuário em geral, não manipula directamente valores ou
códigos binários, mas trabalha com valores decimais,
hexadecimais e códigos Basic. Pascal, C, etc.
4. Os programas do software básico/sistema encarregam-se de
efectuar a tradução dos códigos e a conversão dos valores.
18
FIM
19