Projeto e Desenvolvimento de
Sistemas
Introdução
Profª. Drª. Maria Salete Marcon Gomes Vaz
2008 @ Maria Salete Marcon Gomes Vaz
Ementa

Introdução a sistemas
– Conceitos básicos
– Evolução de um sistema
– Tipos de abordagem no desenvolvimento de um sistema
 Análise de requisitos de sistemas
 Garantia de qualidade
 Análise estruturada
 Análise e projeto de sistemas orientados a objetos
 Ambientes de desenvolvimento de software
2008 @ Maria Salete Marcon Gomes Vaz
Objetivos Gerais
 Reconhecer os aspectos principais que envolvem a atividade de
análise e projeto de sistemas
 Adquirir conhecimento sobre as diferentes abordagens para
desenvolvimento de sistemas
 Reconhecer a importância de aplicar métodos, técnicas e
ferramentas para a construção de sistemas visando aumentar a
qualidade do software
 Adquirir conhecimento sobre os ambientes de apoio para o
desenvolvimento de softwares
2008 @ Maria Salete Marcon Gomes Vaz
Objetivos Específicos

Identificar as características de sistemas no contexto
da Engenharia de Sistemas

Identificar quando utilizar as diferentes abordagens
para o desenvolvimento de sistemas

Entender e utilizar as abordagens Estruturada e
Orientada a Objetos para a Engenharia de Sistemas

Diferenciar as atividades relacionadas à análise e ao
projeto de sistemas

Utilizar ambientes de apoio para o desenvolvimento
de sistemas.
2008 @ Maria Salete Marcon Gomes Vaz
Avaliação
 Trabalhos práticos = 3,0
 Seminários = 2,0
 Prova = 5,0
 Nota = Trabalhos + Seminários + Prova
2008 @ Maria Salete Marcon Gomes Vaz
Bibliografia

Book, G.; Rumbaugh, J., Jacobson, I. UML: guia do usuário. Rio
de Janeiro: Ed. Campus; 2000.

Fowler, M. UML Distilled : a brief guide to the Standard Object
Modeling Language. 2. ed. Addison Wesley; 2000.

Furlan, J.D. Modelagem de Objetos através da UML. São Paulo:
Makron-Books; 1999.

Melo, A.C. Desenvolvimento de Aplicações com UML: do
conceitual à implementação. Brasport; 2002.

Pressman, R. S. Engenharia de Software. 5. ed. Rio de Janeiro:
McGraw-Hill, 2001.

Pressman, R. S. Software Engineering: a practitioner’s
approach. 5. ed. Rio de Janeiro: McGraw-Hill. 2001.

Rocha, A.R.C.; Maldonado, J. C.; Weber, K. C. Qualidade de
Software: teoria e prática. Prentice-Hall, 2001.

Somerville, I. Engenharia de Software. 6. ed. Addison Wesley,
2003
2008 @ Maria Salete Marcon Gomes Vaz
Motivação
 O que é este curso ?
 Porque é importante saber Conceitos
Teóricos/Práticos de Informática
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
Problema
 O que é o computador?
Programa
Computador
Solução
Qual a linguagem que o computador entende?
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
 Dado e Informação
– Dado e informação são sinônimos?
– Dado - Matéria Prima
– Informação - Dado processado
Dados
Estoque
Processamento
Resultado: Informação
Atualização
Dados Atualizados
Produtos que atingiram a
quantidade mínima em estoque?
Listagem de Produtos
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
 Sistemas
– Conjunto de partes coordenadas que concorrem para a realização de
um determinado objetivo
– Conjunto de elementos identificáveis que tem entre si relações e que
atuam segundo um objetivo
 Processamento de Dados
– Série de Atividades ordenadamente realizadas, com o objetivo de
produzir um arranjo determinado de informações a partir de outras
obtidas inicialmente
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
 Sistema de Processamento de Dados
– Sistema de Computação
• Computador + software básicos
(SO, linguagens e aplicativos)
• fornecido completo pelo fabricante
Sistema de
Computação
Software
Básico
– Sistemas de Aplicação
• Desenvolvidos pelo usuários ou de
terceiros
• Aplicação de interesse do usuário
– Computador: Conjunto de circuitos
eletrônicos e partes eletromecânicas
- Hardware - parte física, visível do
computador
Hardware
Software - Consiste de Programas,
de qualquer tipo e em qualquer
linguagem, que são introduzidos na
máquina, para fazê-la trabalhar,
passo a passo, e produzir algum
resultado
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos Básicos
 Sistema de Computação
– Programa - Conjunto de Instruções ou Formalização de um algoritmo
em linguagem inteligível pelo computador
– Algoritmo - conjunto de instruções que, obedecidos, resultam numa
sucessão finita de “ações”.
– Ação - um acontecimento que, a partir de um estado inicial, após um
período de tempo finito produz um estado final previsível e bem
definido.
– A base de um algoritmo é o raciocínio lógico, o qual permite ordenar o
pensamento.
– Um algoritmo pode ser escrito por meio de:
•
•
•
•
Linguagem natural;
Linguagem algorítmica;
Linguagem de programação;
Notação diagramática (fluxogramas).
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
 Raciocínio Lógico
– Exemplo 1:
• Todo mamífero é animal;
• Todo cavalo é mamífero;
• Portanto, todo cavalo é animal.
– Exemplo 2:
• A gaveta está fechada;
• O papel está na gaveta;
• Para pegar o papel, preciso primeiro abrir a
gaveta.
– Exemplo 3:
• João é mais velho que Maria;
• Maria é mais velha que José;
• Portanto, João é mais velho que José.
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
 Objetivo de um Algoritmo
– Resolver um problema fixando um padrão de comportamento e um
fluxo de execução lógica (ordem em que ações devem ser executadas).
– Exemplos do Cotidiano
•
•
•
•
•
•
Instruções para se usar um eletrodoméstico;
Receita para preparo de algum prato;
Instruções para preenchimento de formulários;
Computação de funções matemáticas (ex: Y = X^2);
Sistemas para controle de estoque;
Outros.
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
 Exemplo: Trocar uma lâmpada -
1a. Tentativa (estrutura seqüencial)
– Algoritmo:
•
•
•
•
•
•
Pegue uma escada;
Posicione-a debaixo da lâmpada;
Pegue uma lâmpada nova;
Suba na escada;
Retire a lâmpada velha;
Coloque a lâmpada nova.
– Problemas:
• Qual o nível de detalhes ideal? Depende para quem é escrito;
• O que acontece se a lâmpada velha não estiver queimada?
• O que acontece se a lâmpada nova estiver queimada?
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
 Exemplo: Trocar uma
lâmpada 2a. Tentativa (estrutura
condicional)
– Algoritmo:
• Pegue uma escada;
• Posicione-a debaixo da
lâmpada;
• Pegue uma lâmpada nova;
• Ligue o interruptor;
• Se a lâmpada não acender
então
– Suba na escada;
– Retire a lâmpada velha;
– Coloque a lâmpada nova.
Algoritmo Otimizado:
Ligue o interruptor;
Se a lâmpada não acender então
Pegue uma escada;
Posicione-a debaixo da lâmpada;
Pegue uma caixa de lâmpadas novas;
Suba na escada;
Retire a lâmpada velha;
Coloque a lâmpada nova;
Se a lâmpada não acender então
Retire a lâmpada;
Coloque outra lâmpada;
Se a lâmpada não acender então
Retire a lâmpada;
Coloque outra lâmpada;
... (até quando? Observe que
um padrão se repete)
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
 Exemplo: Trocar uma lâmpada - 3a. Tentativa (estrutura de
repetição)
– Algoritmo completo:
• Ligue o interruptor;
• Se a lâmpada não acender então
–
–
–
–
–
Pegue uma escada;
Posicione-a debaixo da lâmpada;
Pegue uma caixa de lâmpadas novas;
Suba na escada;
Enquanto a lâmpada não acender E ainda houver lâmpadas na caixa faça
• Retire a lâmpada;
• Coloque outra lâmpada.
– O nível de detalhamento é adequado para uma pessoa porém não é
adequado para um computador (talvez um robô sim, porém precisa ser
mais detalhado), pois não tem conhecimento prévio e não adquire
experiências.
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
 Exercícios
– Um homem precisa atravessar um rio com um barco que possui
capacidade para carregar apenas ele próprio e mais uma de suas
cargas, que são: um lobo, um bode e um maço de alfafa. O que o
homem deve fazer para levar suas cargas intactas para a outra
margem?
– Elabore um algoritmo que mova três discos de uma Torre de Hanói,
com três hastes (a, b, c), uma das quais é suporte para três discos de
tamanhos diferentes (1, 2, 3), os menores sobre os maiores. Pode-se
mover um disco de cada vez para qualquer haste, contanto que nunca
seja colocado um disco maior sobre o menor. O algoritmo deve
transferir os três discos para outra haste.
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
 Soluções
– Leve o “bode”;
– Leve a
“alfafa”;
– Traga o
“bode”;
– Leve o “lobo”;
– Leve o “bode”.
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
 Comunicação Homem-Máquina
– Níveis distintos de abstração
Linguagem C
Linguagem Assembly
swap:
muli $2, $5, 4
add $2, $4, $2
lw $15, 0($2)
lw $16, 4($2)
sw $16, 0($2)
sw $15, 4($2)
jr $31
swap(int v[], int k)
{int temp:
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
}
Código executável
00000000101000010000000000011000
00000000100011100001100000100001
10001100011000100000000000000000
10001100111100100000000000000100
10101100111100100000000000000000
10101100011000100000000000000100
00000011111000000000000000001000
2008 @ Maria Salete
Marcon Gomes Vaz
Conceituação
 Comunicação Homem-Máquina
– O computador só entende linguagem de máquina, então é preciso de
um compilador/interpretador, que converta um programa escrito em
uma linguagem de alto nível (o programa fonte) para um programa
de linguagem de máquina (programa objeto)
– Como transformar descrições em código executável?
• Diferença entre as linguagens utilizadas
• Métodos:
– Compilação
– Interpretação
– Compilação-Interpretação
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
 Compilação
Converte todo o código fonte antes de executá-lo
O programa objeto gerado pode ser re-executado quantas vezes seja
necessário, sem a necessidade de re-compilação
Programa fonte
Nível 1
Compilador
Programa objeto
Nível 0
2008 @ Maria Salete Marcon Gomes Vaz
Conceituação
Instrução
Nível n
Interpretação
Interpretador
• Converte uma instrução e
a executa imediatamente
• O código objeto não é gerado
• Facilita a correção de erros
• Utiliza menos memória
• Processo de execução mais lento
2008 @ Maria Salete Marcon Gomes Vaz
Instrução
Nível n-1
Componentes de um Sistema de
Computação
Periféricos
Computador
 Estrutura de um computador
Memória
CPU
Interconexão
E/S
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de
Computação
Memória
CPU
Execução das
instruções de um
programa
Programas
+
Dados
Vídeo
E/S
Buffers
2008 @ Maria Salete Marcon Gomes Vaz
Teclado
Componentes de um Sistema de
Computação
 Unidade Central de Processamento - Processador - UCP
– Cérebro do Computador
– É o motor, o coração do computador
– O processador executa os programas
– Sabe como somar e subtrais e realizar operações simples de lógica
(verdadeiro/falso)
– Em Mainframe, Unidade Central de Processamento ou CPU
– Em microcomputadores, Microprocessador ou processador
– ULA - Unidade Lógica e Aritmética
• Executa as operações lógicas e aritméticas contidas nas instruções
– Unidade de Controle
• Controla as ações dos demais componentes
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de
Computação
 Recursos do Processador
– Capacidade de ler e gravar informações na memória do computador
(temporariamente). Tanto as instruções quanto os dados
– Capacidade de reconhecer e executar vários comandos ou instruções que
são fornecidos pelos programas
– Capacidade de dizer aos outros componentes o que fazer, de modo que o
processador possa orquestrar a operação do computador
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de
Computação
 Memória
– Área de trabalho do computador
– Local onde todas as atividades são realizadas
– É o local em que o processador do computador localiza os programas e
dados, quando está executando as tarefas que lhe são atribuídas
– Os computadores costumam ser classificados pela área de memória que
possuem
– Principal (RAM - Random Access Memory)
• Guarda temporariamente os softwares que estão sendo executados pelo
computador, além dos dados que esses programas produzem ou recebem
• Tudo se apaga quando o computador é desligado
• Funciona mais rapidamente que a memória secundária
– Secundária
• Capaz de armazenar informações mesmo sem energia elétrica
• Acesso lento e Grande capacidade de armazenamento
2008 @ Maria Salete Marcon Gomes Vaz
Memória
Fichário
Disco
Memória
2
3
1
timing
& size
size
timing
&
Information
Information
Unidade de
Controle (CPU)
Mesa
Pastas




O fichário representa o disco rígido, com alta capacidade de
armazenamento.
A pasta sobre a mesa representa a memória, de acesso rápido e fácil
Mesa e usuário são a CPU
2008 @ não
Maria (faxineira)
Salete Marcon Gomes Vaz
OBS: Memória é volátil e disco
Componentes de um Sistema de
Computação
 Entrada e Saída
– Consiste no modo como o computador recebe e envia dados
– Abrange o que é digitado no teclado e o que o computador apresenta na
tela do vídeo ou imprime na impressora
– Sempre que o computador está recebendo ou enviando dados, ele está
“desempenhando uma tarefa de E/S” através dos dispositivos de E/S
(dispositivos periféricos)
 Armazenamento em Disco
– Biblioteca de referência, o fichário de arquivos e a caixa de ferramentas
do computador num só dispositivo
– É onde o computador mantém os dados que não estão em uso na memória
do computador
2008 @ Maria Salete Marcon Gomes Vaz
Dispositivos de E/S
2008 @ Maria Salete Marcon Gomes Vaz
Dispositivos de Rede
Mainframe
VMS
Micro
emulando
terminal X
Rede local
windows NT
ETHERNET
Estações de trabalho
emulando terminal
conectado
remotamente ao
Mainframe
Rede local
Unix
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de
Computação
 Programas
– Dão vida ao computador
– Fazem com que funcione e transforme um amontoado de partes
decorativas em uma ferramenta de trabalho muito eficiente
– São as instruções que dizem ao computador o que fazer
– Programas ROM ou Firmware - armazenados em uma memória de leitura
– ROM-BIOS ou BIOS (Basic Input/Output System) - programas de
serviços
– DOS do PC e Windows 95 da Microsoft - Sistemas Operacionais programas de sistemas de nível superior que não são criados dentro do
computador
– Sistema Operacional
• gerencia alocação e compartilhamento de recursos do computador (Memória,
arquivos, utilização da CPU, etc.)
• armazenado na memória principal
• programa que controla e coordena as operações do hardware
• Age como uma interface entre os usuários do sistema de computação e o
hardware
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de
Computação
 Outros Componentes
–
Fonte de Alimentação
• Dispositivo eletrônico que converte a corrente elétrica padrão em uma forma
que possa ser utilziada pelo computador
• Normalmente é uma caixinha prateada ou preta
– Placa-Mãe
• Estão instalados a maioria dos componentes que integram o computador
propriamente dito
– Chip do processador principal
– Circuitos de apoio
•
Memória
•
Interface de E/S (portas serial e paralela, interface com o teclado, interface de disco, etc)
•
Barramento, que permite à CPU se comunicar com outros componentes que não estão
integrados à placa-mãe)
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de
Computação
 Outros Componentes
– Dispositivos Periféricos
• Impressora
– Imprime em papel informações do computador
– Matricial - impacto
– Jato de tinta - que joga gotas de tinta sobre o papel
– laser - toda página é armazenada na sua memória antes de ser impressa
• Monitor
– Permite a visualização na tela, as informações contidas no computador
– Placas Periféricas
• placa de expansão conectada a um dos conectores de barramento na placa-mãe
• dispositivos que possam funcionar com o processador e outros Componentes
de um Sistema de Computação
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de
Computação
 Representação das Informações
– Bit
• Menor unidade de Informação armazenável
• Algarismo binário ou dígito binário
• Binary Digit
• Possui somente dois valores: 0 e 1
– Caractere
• Menor grupo ordenado de bits
• Representa uma informação útil e inteligível para o ser humano
• Qualquer caractere armazenado em um sistema de computação
é convertido a um conjunto de bits
• Empregado mais para fins comerciais
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de
Computação
 Representação das Informações
–
–
Byte
• Definição formal atribuída a um grupo ordenado de bits
• Instituída pela IBM
• Grupo ordenado de 8 bits, tratados de forma individual, como unidade
de armazenamento e transferência
• Empregado mais para linguagem técnica
• Computadores binários - indicações numéricas refere-se a potência de
2
– K representa 1024 unidades (210)
– M (mega) representa 1.048.576 unidades
– G (giga) representa 1024 M
– T (tera) representa 1024 G
– P (peta) representa 1024 teras
Palavra
• Conjunto de bits que representa uma informação útil
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de
Computação
 Representação das Informações
– Arquivos
• É um conjunto formado por dados (ou informações) de um mesmo
tipo ou para uma mesma aplicação
• Exemplos: Arquivo de alunos e arquivo contendo instruções de um
programa
– Registros
• Itens individuais de informação em arquivos
• Exemplo: cada aluno em um arquivo de alunos
• Obs.: Um programa é um arquivo, constituído de um único registro.
Instruções não são consideradas registros individuais
– Campos
• As informações especificadas nos registros
• Exemplo: nome do aluno, endereço, nota
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de
Computação
 Classificação de Sistemas de Computação
– Microcomputadores
• Surgiram comercialmente em 1974 através do desenvolvimento de
microcomputadores
• Nome foi dado devido ao tamanho e à capacidade de processamento,
e ainda ao tipo de usuário (uma única pessoa)
• Computadores pessoais
• Desktop, Laptops, Notebooks, sub-notebooks e Palmtops
• Primeiro: Altais com microprocessador Intel 8080
– Estação de Trabalho
• É um microcomputador projetado para realizar tarefas pesadas, nas
áreas científica ou industrial (CAD, CAM, complexas computações
matemáticas, entre outras)
• Maior velocidade de processamento
• Mais capacidade de memória (tamanho e velocidade)
• Dispositivo de vídeo de mais alta qualidade
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de
Computação
 Classificação de Sistemas de Computação
– Minicomputadores
• São máquinas projetadas para atender simultaneamente a demanda
por execução de programas de vários usuários
• Capacidade de dar suporte a múltiplos usuários
• Velocidade de processamento
• Capacidade/velocidade de memória
• Extensa potencialidade para manipular diversos dispositivos de E/S
• Requerem sofisticação maior de programas de controle
– Computadores de Grande Porte
• São sistemas projetados para manusear considerável volume de dados
e executar simultaneamente programas de uma grande quantidade de
usuários
• Exemplo: Sistema de reservas de passagens aéreas
• IBM 3090
2008 @ Maria Salete Marcon Gomes Vaz
Componentes de um Sistema de
Computação
 Classificação de Sistemas de Computação
– Supercomputadores
• Propósito: realizar grandes quantidades de cálculos matemáticos o
mais rapidamente possível
• Previsão de tempo, simulação e modelagem tridimensional
• É capaz de realizar dois bilhões de operações matemáticas por
segundo e manipular mais de um bilhão de células de memória
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética
Computacional
 Aritmética Binária
– Soma Binária
• A operação de soma de dois números em base 2 é efetuada de modo
semelhante à soma decimal, levando-se em conta, apenas, que só há
dois algarismos disponíveis (0 e 1).
• 0+0 = 0
• 1+0 = 1
• 0+1=1
• 1 + 1 = 0, com “vai 1”
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética
Computacional
 E
x 101101
e
+ 101011
m
p 1011000
l
o
s
10101
+ 11100
110001
1001111
100110
+ 1100111
+ 011100
10110110
1000010
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e
Aritmética Computacional
 Subtração Binária
– Da direita para a esquerda
• 1 -1 = 0
• 0-1= não é possível, retira-se 1 da ordem a
esquerda, que fica com 1-1=0 e passa-se para a
ordem a direita, como 2, visto que 1 unidade de
ordem à esquerda vale uma base de unidades (no
caso, base= 2) da ordem a direita. Assim, 2-1 = 1
• 0-1 = 2-1 = 1 procedimento anterior repetido
• 0-0=0
• 0-0=0
• 1-1=0
• Resultado:0001102 ou 1102
2008 @ Maria Salete Marcon Gomes Vaz
2
002
101101
100111
000110
Conversão de Bases e Aritmética
Computacional
 Exemplos
1
1
1121
02 022
02202
022022
100110001
100101
11001001
- 010101101
- 011010
- 10111011
010000100
001011
00001110
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética
Computacional

Aritmética Octal
– Consiste em processo similar ao da aritmética binária, com exceção do fato de que,
neste caso, tem-se 8 algarismos disponíveis. Ocorrerá “vai 1” quando a soma de
dois algarismos for igual ou ultrapassar o valor da base, isto é, 8.

Exemplos de Adição e Subtração
88
111
11
6208
3657
443
7312
+ 1741
+ 653
- 3465
56208
13168
2008 @ Maria Salete Marcon Gomes Vaz
36258
Conversão de Bases e Aritmética
Computacional
 Aritmética Hexadecimal
– Segue as mesmas regras que qualquer base
 Exemplos de Adição e Subtração
16
1 11
3B16D16
3A943B
4C7BE8
+ 23B7D5
- 1E927A
5E4C1016
2DE96E16
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética
Computacional
 Notação Posicional
– Base Decimal
• 125310 ou 1253
• Número composto de quatro algarismo
• Cada algarismo possui um valor correspondente a sua posição no
número
• 3 (algarismo mais a direita) representa 3 unidades
– valor absoluto = 3; valor relativo = 3 (1a. Posição a direita)
– 3 x 100
• 5 x 101
• 2 x 102
• 1 x 103
• O valor total do número = 3 + 50 + 200 + 1000 = 125310
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética
Computacional
 Notação Posicional
– Generalização para um sistema qualquer de numeração
• N = (dn-1 dn-2 dn-3 .... d1 d0)b
– d indica cada algarismo do número N
– n-1, n-2, 1, 0 indica a posição de cada algarismo
– b indica a base de numeração
– n indica o número de dígitos inteiros
– O valor do número pode ser obtido pelo seguinte somatório
• N = dn-1x bn-1 + dn-2 x bn-2 + dn-3 x bn-3 + ... + d1 x b1 + d0 x b0
–
Exemplo
• N = 1253
• N = 1 x 103 + 2 x 102 + 5 x 101 + 3 x 100
• N = 1000 + 200 + 50 + 3 = 125310
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética
Computacional
 Outras Bases de Numeração
– Converter (1011)2 para Base 10
• 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 8 + 0 + 2 + 1 = (11)10
– Converter (1043)5 para Base 10
• 1 x 53 + 0 x 52 + 4 x 51 + 3 x 50 = 125 + 0 + 20 + 3 = (148)10
– Converter (257)8 para Base 10
• 2 x 82 + 5 x 81 + 7 x 80 = 128 + 40 + 7 = (175)10
– O número máximo de algarismos diferentes de uma base é igual ao valor
da base
• Na Base 10, temos 10 dígitos: de 0 a 9 dígitos
• Na Base 2, temos dois dígitos: 0 e 1
• Na Base 5, temos 5 dígitos: de 0 a 4
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética
Computacional
 Base 16 ou Hexadecimal
–
Nesta base, os “algarismos” A, B, C, D, E, F representam,
respectivamente, os valores (da base 10): 10, 11, 12, 13, 14 e 15
– 16 algarismos: 0, 1, 2, ... 9, A, B, C, D, E e F
– Exemplo: (1A7B)16
• 1 x 163 + 10 x 162 + 7 x 161 + 11 x 160 = 4096 + 2560 + 112 + 11 =
(6779)10
– Observações
• Dígitos octais correspondem a combinação de 3 bits (algarismos
binários)
• Dígitos hexadecimais correspondem a combinação de 4 bits
(algarismos binários)
• Bases > Base 2
• Exemplo 1: (101111011101)2 = (5735)8
– 101 = 5; 111 = 7; 011 = 3; 101 = 5
• Exemplo 2: (101111011101)2 = (BDD)16
– 1011 = B; 1101 = D; 1101 = D
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética
Computacional
 Conversão entre Bases
– Entre as Bases 2 e 8
• 8 = 23 , assim se um número binário for inteiro, basta dividi-lo,
da direita para a esquerda, em grupos de 3 bits (o último grupo
não sendo múltiplo de 3, preenche-se com zeros a esquerda
• (111010111)2 = (727)8
– (111) = 7; (010) = 2; (111) = 7
• (1010011111)2 = (1237)8
– (001) = 1; (010) = 2; (011) = 3; (111) = 7
– Entre as Bases 8 e 2
• Processo inverso
• (327)8 = (11010111)2
• 011 = 3; 010 = 2; 111= 7
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética
Computacional
 Conversão entre Bases
– Entre as Bases 2 e 16
• 16 = 24 , assim se um número binário for inteiro, basta dividi-lo, da
direita para a esquerda, em grupos de 4 bits (o último grupo não sendo
múltiplo de 4, preenche-se com zero a esquerda)
• (1011011011)2 = (2DB)16
– (0010) = 2; (1101) = D; (1011) = B
– Entre as Bases 16 e 2
• Processo inverso
• (306)16 = (1100000110)2
• 0011 = 3; 0000 = 0; 0110 = 6
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética
Computacional
 Conversão entre Bases
– Entre as Bases 8 e 16
• Processo intermediário : converter para a base 2
• (3174)8 = (67C)16
– (011) = 3; (001) = 1; (111) = 7; (100) = 4
– (3174)8 = (011001111100)2
– (0110) = 6; (0111) = 7; (1100)= C
– Entre as Bases 16 e 8
• Processo inverso
• (3C7)16 = (1707)8
– 0011 = 3; 1100 = C; 0111 = 7
– (3C7)16 = (001111000111)2
– (001)=1; (111)=7; (000) = 0; (111)=7
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética
Computacional
 Conversão entre Bases
– Entre as Bases B para Base 10
• (457)9 = (376)10
– 4x92 + 5x91 + 7x90 =
– 324 + 45 + 7 =
– (376)10
• (243)5 = (73)10
– 4x52 + 5x51 + 7x50 =
– 50 + 20 + 3 =
– (73)10
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética
Computacional
 Conversão entre Bases
– Entre as Bases 10 para Base B
• Dividir o número decimal pelo valor da base desejada
• O resto encontrado é o algarismo menos significativo do valor da base
B (mais a direita)
• Dividir o quociente encontrado pela base B
• O resto é o outro algarismo (à esquerda), e assim sucessivamente
•
(3964)10 = (7574)8
– 3964/8 = 495; resto = 4 (algarismo menos significativo)
– 495/8 = 61; resto = 7
– 61/8 = 7; resto = 5
– 7/8 = 0; resto = 7 (algarismo mais significativo)
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética
Computacional
 Conversão entre Bases
– Entre as Bases 10 para Base B (algoritmo de conversão)
• Enquanto quociente for diferente de zero
– dividir dividendo por divisor
– extrair resto como algarismo e colocá-lo a esquerda do anterior
• Enquanto dividendo for maior que divisor
– dividir dividendo por divisor
– extrair resto como algarismo e colocá-lo à esquerda do anterior
 Usar o dividendo que é menor que o divisor como último
algarismo à esquerda (algarismo mais significativo)
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética
Computacional
 Conversão entre Bases 10 e B (Exemplos)
– (483)10 = (743)8
• 483/8 = 60; resto = 3
• 60/8 = 7; resto = 4
• 7/8 = 0; resto = 7
– (45)10 = (101101)2
• 45/2 = 22; resto = 1
• 22/2 = 11; resto = 0
• 11/2 = 5; resto = 1
• 5/2 = 2; resto = 1
• 2/2 = 1; resto = 0
• 1/2 = 0; resto = 1
2008 @ Maria Salete Marcon Gomes Vaz
Conversão de Bases e Aritmética
Computacional
 Conversão entre Bases 10 e B (Exemplos)
– (2754)10 = (AC2)16
• 2754/16 = 172; resto = 2
• 172/16 = 10; resto = 12; algarismo C
• 10/16 = 0; resto = 10; algarismo A
– (490)10 = (1EA)16
• 490/16 = 30; resto = 10; algarismo A
• 30/16 = 1; resto = 14; algarismo E
• 1/16 = 0; resto = 1
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital
 Introdução
– Computador Digital é uma máquina projetada para armazenar e
manipular informações representadas por algarismos ou dígitos e que
só podem assumir dois valores distintos, 0 e 1
 Informação Binária
– Representada por quantidades físicas, sinais elétricos, os quais são
gerados e mantidos internamente ou recebidos de elementos externos
em dois níveis de intensidade, cada um correspondendo a um valor
binário
– Campo magnético e sinais óticos - outras formas de armazenamento
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital
 Circuitos Digitais
– Circuitos eletrônicos, que armazenam os sinais binários e realizam
certos tipos de operações com eles.
– Formados de pequenos elementos (portas lógicas ou gates) capazes de
manipular grandezas apenas binárias
 Portas Lógicas ou Gates
– Permitem ou não a passagem dos sinais digitais
– Elementos de hardware (circuito eletrônico) que recebe um ou mais
sinais de entrada e produz um sinal de saída
– O valor é dependente do tipo de regra lógica estabelecida para a
construção do referido circuito
– Circuitos Lógicos - Circuitos que contêm as portas lógicas
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital
 Utilidade de Portas Lógicas
– Armazenamento de valores
– Controle do fluxo de sinais entre os componentes
– Realizar operações matemáticas

Álgebra de Chaveamento ou Switching Algebra
– Ramo da Álgebra Booleana ou Álgebra Moderna
– Conceitos e Regras para projeto de circuitos digitais e a análise de seu
comportamento
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital
 Portas e Operações Lógicas
– Porta Lógica - um circuito eletrônico
–
–
–
–
UCP
Memória Principal
Interfaces de E/S
Outros
Fabricados através da
combinação de milhões
de circuito eletrônicos
– Operação Lógica - realizada sobre um ou mais valores lógicos produz um certo
resultado, conforme a regra definida
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital
 Operação Lógica e Tabela Verdade
– Produz um resultado que pode assumir dois valores, 0 (Falso) e 1
(Verdadeiro).
– Tabela Verdade - Todos os possíveis valores de resultado de uma dada
operação lógica
• Possui tantas linhas de informação quantas são as possíveis
combinações de valores de entrada
• Entrada: 1 valor Saída: 0 ou 1(valores possíveis)
• Entrada: 2 valores Saída: 00, 01, 10, 11(valores possíveis)
• Entrada: n valores Saída: 2n combinações possíveis
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital
 Operação Lógica ou Porta AND (E)
– Elemento ou operação lógica que produz um resultado verdade (=1) na
saída, se e somente se todas as entrada forem verdade
Entrada
A
B
0
0
0
1
1
0
1
1
Saída
X=AB
0
0
0
1
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital
 Operação Lógica ou Porta OR (OU)
– Elemento ou operação lógica que produz um resultado verdade
(=1) na sua saída, se pelo menos uma das entradas for verdade
Entrada
A
B
0
0
0
1
1
0
1
1
Saída
X=A+B
0
1
1
1
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital
 Operação Lógica NOT (Inversor ou Função Complemento)
– Inverte o valor de um sinal binário colocado em sua entrada, produzindo
na saída o valor oposto
Entrada
A
0
1
Saída
X=A
1
0
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital
 Operação Lógica NAND - NOT AND
– Complemento da porta AND
– A saída de um circuito lógico NAND é obtida ao se aplicar a regra da
porta AND e inverter o resultado
Entrada
A
B
0
0
0
1
1
0
1
1
Saída
X=AB
1
1
1
0
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital
 Operação Lógica NOR - NOT OR
– Complemento ou inverso da porta OR
– A saída de um circuito lógico NOR é obtida ao se aplicar a regra da porta
OR e inverter o resultado
Entrada
A
B
0
0
0
1
1
0
1
1
Saída
X=A+B
1
0
0
0
2008 @ Maria Salete Marcon Gomes Vaz
Conceitos da Lógica Digital
 Operação Lógica XOR - EXCLUSIVE OR
– Caso particular da função OR
– A saída será verdade se exclusivamente uma ou outra entrada for verdade
Entrada
A
B
0
0
0
1
1
0
1
1
Saída
X=AB
0
1
1
0
2008 @ Maria Salete Marcon Gomes Vaz
Aulas Práticas
 Sistema Operacional
 Planilha Eletrônica
 Banco de Dados
2008 @ Maria Salete Marcon Gomes Vaz
Bibliografia
 MONTEIRO, M., Introdução à Organização de
Computadores, 3o Edição, Editora Livros Técnicos e
Científicos, 1996.
 TANENBAUM, A. S., Organização Estruturada de
Computadores, Editora Campus, 1995.
 NORTON, P., Desvendando o PC, Editora Campus,1996.
 Entre outros...
2008 @ Maria Salete Marcon Gomes Vaz
Download

Análise e Desenvolvimento de Sistemas_Parte 1_Introdução