Apontamentos - Modulo 8

Fazer download em docx, pdf ou txt
Fazer download em docx, pdf ou txt
Você está na página 1de 13

Conceitos Avanados de Programao

A funo mais importante de um sistema operativo, e que afeta


diretamente a sua fiabilidade, o mtodo como este gere a execuo
dos programas.
Do ponto de vista do utilizador de um computador, o que influencia
a facilidade de utilizao a qualidade da interface do sistema
operativo e o conhecimento que o utilizador tem dela. Um utilizador
pode ter poucos conhecimentos de informtica, mas uma das coisas
que ele "v" no computador a interface do sistema operativo.
Atualmente existem diferenas na interface, consoante o sistema
operativo utilizado, o que leva muitos utilizadores a no mudar de
sistema operativo, independentemente de existirem outros mais
adequados s suas necessidades e at mais estveis.
H dois tipos de interface do sistema operativo com utilizador so
elas:
Linha de Comandos (CLI- Command Line Interface)
Este tipo de interface exige que o utilizador saiba os comandos e
as respetivas regras de sintaxe.
Interface grfica (GUI- Graphics User Interface)
Nas GUI os recursos do computador (programas, conexes de
rede, ficheiros de dados entre outros) so representados por pequenas
figuras, designadas por cones. Podem-se iniciar diversas aes
clicando nos cones e os programas so executados em janelas
dimensionveis facilitando a mudana entre si.
Dentro dos programas, executam-se comandos atravs da seleo
de itens dos menus e em determinados casos so exibidas caixas de
dilogo para tomadas de deciso.
Nessas caixas de dilogo so fornecidas informaes adicionais,
como por exemplo se um programa necessitar de enviar uma
mensagem de advertncia ao utilizador este v uma caixa de alerta
indicando o que pode acontecer mediante a opo que assumir.
Vantagens da GUI (Graphics User Interface)
As vantagens de utilizao amigvel dos ambientes grficos so
inmeras e permitiram a globalizao do acesso aos sistemas de
informao computorizados. No entanto, os sistemas operativos com
interface grfica exigem hardware mais evoludo e consequentemente

mais caro, pois necessrio um maior processamento do que em


interfaces por linhas de comandos.
Outras vantagens
Facilita a utilizao por parte do utilizador, pois este no
precisa de saber camadas dos sistema operacional para executar
tarefas simples ou complexas, como copiar um ficheiro de outra
diretria;
Permite otimizar as tarefas mais complexas com alguns
cliques em janelas, para encontrar as opes ou tarefas a serem
executadas alm de usar imagens para mostrar o que ser
executado por determinado programa;
Facilita a interao entre o utilizador e o computador com a
abstrao de comando de texto, que so substitudos por
imagens;
Uma interface grfica com botes, janelas, mais user
friendly para o utilizador do que uma interface de comandos,
alm do que possibilita a acessibilidade.
Conceito de Janela
O conceito generalizado de ambiente grfico,
associando aos sistemas operativos que o introduziram.

janela,

est

Evoluo Histrica
A Microsoft aparece em 1977 com o seu sistema operativo DOS,
um sistema operativo totalmente baseado em texto e que equipa todos
os computadores IBM da poca.
Microsoft oferecida a oportunidade de colaborar com a Apple
no desenvolvimento de aplicaes para o seu novo computador, o
Macintosh.
O Apple Macintosh foi o primeiro computador pessoal a
desenvolver e apresentar uma interface grfica, na poca bastante
revolucionrio. Esta mquina foi construda em torno da interface
grfica e todos os programas em linha de comandos existentes tiveram
que ser completamente adaptados.
O Windows 1.0 estreia-se no mercado em 1985, apresentando
muitas semelhanas com o Mac! O Windows 2.0 apareceu em 1987,
introduzindo melhorias significativas em relao ao anterior pois
adicionaram-se cones e janelas sobrepostas.
O sistema operativo tornou-se um ambiente favorvel para o
desenvolvimento de aplicaes tais como: Excel, Corel Draw,
PageMaker, etc. Em Maio de 1990 foi lanado o Windows 3.0 com uma
completa renovao da interface do sistema operativo.

Esta verso do Windows apresentou-se mais semelhante ao


sistema operativo que ns conhecemos hoje.
Conceito de janela
Este conceito foi introduzido com os sistemas operativos de
interfaces grficas. Representa qualquer rea que agrupa elementos
em comum e permite mov-los em grupo. Um programa de computador
assume a forma de uma janela para facilitar a assimilao pelo
utilizador.
Em informtica, uma janela uma rea visual contendo algum tipo
interface do utilizador, exibindo a sada do sistema ou permitindo a
entrada de dados.
As janelas so geralmente apresentadas como objectos
bidimensionais e rectangulares organizados em vrias reas de
trabalho. Entretanto o programa pode ser apresentado em mais do que
uma janela, ou at mesmo sem uma janela.
As janelas so WIDGETS de diversas interfaces grficas do
utilizador, sobretudo as que implementam o conceito WIMP (Windows,
Icon, Menu, Pointer).
CARACTERSTICAS PRESENTES NAS JANELAS GRFICAS:
Dimenso
Forma
Componentes
Aparncia
Localizao
Barra de ttulo
OPERAES COMUNS S JANELAS
As operaes com janelas podem ser
apresentadas e executadas clicando com o
boto do lado direito do rato, na barra de ttulo
da janela. Ser ento apresentado um menu
onde cada uma das opes corresponde a uma
operao aplicvel janela corrente.

IDE e GUIs
Existem vrias linguagens de programao que oferecem um
ambiente de desenvolvimento integrado (IDE Integrated

Development Environment) totalmente grfico, facilitando e muito a


criao do interface das aplicaes GUI (Graphical User Interface).
O interface do programa possui as ferramentas dispostas de modo
que seja realizada qualquer tarefa com um nmero mnimo de cliques,
agilizando ainda mais o processo de desenvolvimento.
Interatividade e amigabilidade
As interfaces das aplicaes tem tendncia a estabelecer
um dilogo mais prximo dos seus utilizadores.
Tornam as aplicaes mais intuitivas para os utilizadores
finais
Modo grfico / Modo consola
No modo grfico
Podem-se utilizar janelas grficas de interao com a mquina,
incluindo configuraes do ambiente de trabalho, da mquina, de
servios e de execuo de aplicaes.
No modo consola
Pode-se operar e configurar o sistema operativo de forma completa
e eficaz. Embora o modo texto (consola) possa ser mais rpido e mais
seguro, ele exige o conhecimento prvio de comandos e das suas
respetivas funes, bem como das suas propriedades.

INTERFACE GRFICO COM O UTILIZADOR


No interface grfico (Graphical User Interface GUI) os recursos do
computador so representados por componentes, ou seja, objectos grficos,
tais como cones, botes, menus, etc.
Os
programas
do
computador
so
executados
em
janelas
redimensionveis facilitando a mudana entre programas.
Dentro dos programas, pode-se efectuar comandos atravs da seleco
de itens dos menus, botes, cones e em alguns deles so exibidas caixas de
dilogo.
Os sistemas operativos com interface grfico exigem hardware mais
evoludo, pois necessrio um maior processamento.

Desenho de um Interface Grfico


Desenho de Ecrs

Em qualquer sequncia de transaces de janelas, garantir que os


dados que o utilizador necessita podem ser sempre visualizados;
Mostrar os dados ao utilizador no formato que possa ser usado
directamente. No se deve colocar o utilizador a fazer converses;
Em qualquer tipo de visualizao, deve-se manter um formato
consistente de uma visualizao para a outra;
Usar frases curtas e simples;
Usar frases afirmativas em vez de negativas;
Adoptar algum princpio lgico para ordenar listas/dados. Se no
houver, ordenar alfabeticamente;
Assegurar que as descries esto suficientemente perto para serem
associadas com os campos de entrada de dados, mas separadas dos outros
campos pelo menos por um espao;
Justificar esquerda colunas e dados alfabticos para permitir uma
explorao rpida;
Em ecrs multi-pgina, descrever cada pgina mostrando a sua relao
s outras;
Comear cada ecr com um ttulo ou cabealho que descreva
concisamente o contedo ou objectivo do ecr.
Deixar pelo menos uma linha em branco a seguir ao ttulo;
Considerar a utilizao de cores em aplicaes onde o utilizador deve
distinguir rapidamente entre vrias categorias de dados, particularmente se
eles estiverem dispersas no ecr;
Numa tabela que exceda a capacidade de um ecr, assegurar que o
utilizador pode sempre ler os cabealhos das colunas e descries das linhas
em todas as seces que se mostrem;
Proporcionar ao utilizador a possibilidade de modificar as funes
visualizadas.

Cor
Os problemas da Cor
A interferncia com outras cores de quadros/janelas;
A disperso da ateno;
A fadiga visual devido a combinaes inadequadas (azul e vermelho);
Dificuldades na discriminao de cores (daltonismo): azul/amarelo,
vermelho/verde;
As conotaes intra-culturais.
Critrios Para A Utilizao Da Cor
As cores devem obedecer aos seguintes critrios:
Ser pouco numerosas;

Contribuir para uma continuidade visual;


Respeitar os cdigos sociais e culturais;
Atribuir um sentido determinado;
Ajudar a memorizar pormenores;
Ter um impacto emocional;
Ser harmoniosas;
Usar de modo conservador;
Limitar o nmero de cores para trs;
Utilizar para apoiar a codificao;
A cor deve suportar a tarefa;
Deve aparecer harmoniosamente com o mnimo de esforo para o
utilizador;
Deve poder ser controlada pelo utilizador;
Ser consistente no uso da cor;
Atender s expectativas comuns de cor;
Atender ao problema de emparelhar cores;
Usar mudanas de cor para indicar mudanas de estado;
Usar cores em interfaces grficos para o utilizador para aumentar a
densidade do ecr;
Atender perda de resoluo de cor nos ecrs.

Desenho De Janelas
Em ecrs pequenos e com pouca resoluo, as oportunidades de uso de
janelas mltiplas sobrepostas so reduzidas.
O esforo extra de manipular janelas pode distrair o utilizador da tarefa
a executar, porque do domnio do computador e no do domnio das tarefas
do utilizador.

Regras Essenciais Do Desenho De Dilogos


Manter a consistncia:
Num programa, situaes similares devem ter a mesma sequncia,
consistente de aces. Toda a terminologia em alertas, menus, ajudas,
comandos, entre outros, devem ser consistentes quer global quer localmente;
Permitir o uso de atalhos aos utilizadores frequentes:
Ao aumento de uso de um interface est associado o desejo de diminuir
as interaces com este e aumentar o seu ritmo. Isto consegue-se com
abreviaturas, teclas especiais (atalhos), comandos escondidos, facilidades de
macros;
Manter um retorno informativo:

A toda e qualquer aco do utilizador deve corresponder uma resposta


do sistema. A intensidade da resposta deve ser tanto maior quanto mais raro
ou mais importante for o procedimento, e deve ser apoiada por uma resposta
visual;
Criar dilogos completos e auto-consistentes:
Sequncias de aces devem ser agrupadas com um claro princpio,
meio e fim;
Proporcionar processamento simples de erros:
A aplicao deve evitar tanto quanto possvel que o utilizador cometa
grandes erros. Em caso de erro, a aplicao deve fazer a sua deteco e
sugerir um mecanismo compreensvel de o resolver, sem necessidade de
introduzir tudo de novo e s reparando a parte errada;
Permitir facilmente desfazer aces:
Tanto quanto possvel as aces devem ser reversveis. Evita a
ansiedade do utilizador e encoraja a descoberta de opes menos familiares;
Manter o controlo no utilizador:
Todo o utilizador experimentado quer sentir que quem manda e que o
sistema est a responder s suas aces. A ansiedade e o aborrecimento
nascem com aces inesperadas do sistema, longas e tediosas sequncias de
entrada de dados, incapacidade de obter a informao necessria;
Diminuir as exigncias na memria de curto prazo do utilizador:
A clssica limitao de sete pores de informao. Isto impe ecrs
simples, consolidao de ecrs multi-pginas, reduo de movimentos de
janelas, tempo de aprendizagem adequado para dominar os cdigos
autorizados, mnemnicas, sequncia de aces, comandos. Deve sempre ser
dada informao em linha sobre eles.

Preveno De Erros
Mensagens

essencial, para reduzir perdas de produtividade provocadas por


erros, mostrar ao utilizador mensagens de erro bem construdas. As
mensagens de erro devem ser:
Especficas e no vagas;
Em tom positivo e no hostis;
Construtivas. Dizer o que fazer e no relatar o problema.
Claro que o melhor a aco preventiva, evitando que os erros
possam ocorrer.
Tcnicas Para Assegurar Aces Correctas

Uma aco do utilizador no deve exigir muitos passos ou


comandos para ser executada, pelo contrrio, deve ser automatizada de
modo a evitar erros:
Um parntesis direito para fechar um esquerdo aberto;
Umas aspas para fechar umas abertas;
Uma sequncia muito comum deve ser automatizada.
Exemplo: marcar um nmero telefnico, definir os parmetros da
ligao, abrir a sesso, login, abrir ficheiros;

Sequncias de palavras, parntesis ou limites, como WhileDo-Begin-End,


For-Next;
colocar
ou
eliminar
uma
componente deve afectar a outra;
Aces, como centrar ttulos ou colocar em maisculas, no
devem exigir uma srie de comandos cada vez que se
comea uma seco.

Sequncia de Aces

A dificuldade est em obrigar o utilizador a conhecer no s


aces elementares mas tambm sequncias completas de
aces. Pode-se obter potenciais sequncias, estudando as
sequncias de comandos realmente utilizadas e o tipo de
erros que nelas se cometem.
Corrigir Comandos
Invocar um comando no disponvel ou inexistente;
Seleccionar uma opo no permitida;
Invocar um ficheiro no existente;
Introduzir um valor no aceitvel;

Mensagens de erro
Normalmente estes erros de comandos resultam de enganos de
dactilografia.
Neste caso, pode-se apontar como ms mensagens de erro:
What? (como?);
Unrecognized command (comando no reconhecido);
Syntax error (erro de sintaxe);
Bad command or file name (comando ou nome de ficheiro
errado);
Illegal command (comando ilegal);
Abort, Retry, Fail (abortar, voltar a tentar, falha);

Visualizao De Dados
Organizar A Visualizao
Manter a consistncia da visualizao de dados;
Permitir a assimilao eficiente de informao pelo
utilizador:
O formato deve ser familiar ao utilizador e relacionado com
as tarefas a serem executadas nos dados.
Usar as seguintes regras:
Colunas de dados alinhadas;
Justificao esquerda de alfanumricos;
Justificao direita de inteiros;
Alinhar o ponto decimal;
Espaamentos correctos;
Descries de campos compreensveis;
Uso apropriado de valores codificados.

Captar a Ateno do Utilizador


Intensidade: Usar at dois nveis;
Tamanho: Usar at quatro tamanhos;
Escolha de tipos de letra (fonts): usar at trs tipos;
Cor: At quatro cores fundamentais, com outras para uso
espordico;
Som: Suave para retorno positivo e spero para situaes de
emergncia ou alertas.
Minimizar as exigncias feitas memria do utilizador: No deve
ser necessrio ter que lembrar a informao de um ecr para usar
noutro.
Compatibilizar a visualizao de dados com a entrada de dados:
Consistncia em nomes de dados;
Consistncia em nomes de variveis;
Consistncia em descries de campos;
Consistncia em descries de colunas de listas.

Flexibilidade do utilizador no controlo da visualizao de dados:


Consistncia nas descries e convenes grficas;
Normalizar/padronizar as abreviaturas;
Usar um formato consistente em todas as visualizaes;
cabealhos, rodaps, pginas, menus, etc.;
Numerar todas as pginas visualizadas, permitindo a sua
chamada directa;

Visualizar s os dados necessrios para o utilizador;


Apresentar a informao graficamente, quando apropriado, com
recurso a linhas, marcas em escalas e outras tcnicas que evitem a
necessidade de ler e interpretar dados alfanumricos;
Apresentar valores digitais s quando o conhecimento desse valor
for necessrio e til;
Usar monitores de alta resoluo, para proporcionar a mxima
qualidade de visualizao;
Desenhar a
visualizao como
monocromtica, usando
espaamento e arranjo para organizao e, s ento, judiciosamente
aplicar cores onde ajude o utilizador;
Envolver o utilizador no desenvolvimento de novas visualizaes
e procedimentos.

Programao Por Eventos


A programao por eventos (PE) uma forma de desenvolver
aplicaes diferente da programao tradicional, a Programao
sequencial, que segue um fluxo de controlo padronizado (Top/Down do topo para a base).
Neste novo modo de programar, o controlo do fluxo do programa
guiado por indicaes externas, chamadas eventos.
Evento
Tambm na programao, um evento um acontecimento que
resulta da comunicao entre o utilizador e a aplicao. Assim, so
exemplos de eventos de um programa, o clique no boto do rato
sobre um boto da janela ou introduo de texto por parte do
utilizador numa rea destinada a esse fim.
Na PE, as aces do utilizador (a que denominamos eventos) que
determinam o fluxo de execuo do programa, ou seja, qual sub-rotina
(procedimento) ser chamada. Isto significa que num programa
desenvolvido
com
base
nesta
tcnica,
as
chamadas
das
rotinas/procedimentos dependem dos eventos que ocorrem. Por outras
palavras, dependem das aces do utilizador.
Existe uma grande utilizao da PE no desenvolvimento de
sistemas de interface grfico com o utilizador, e pressupe a existncia
de componentes (objectos), que reajam a determinados eventos.
Programao Sequencial Vs Programao Por Eventos

Programao Sequencial
Programao sequencial o que se imagina quando se pensa em
programao. o modelo bsico para os programadores desde que a
programao comeou. Na programao sequencial, h um incio, meio
e fim. Ela unidireccional. Tipicamente um programa sequencial
possui os seguintes passos:
Inicializar todas as variveis;
Ler os dados;
Aplicar um algoritmo sobre os dados;
Escrever os resultados.
Programao Por Eventos (PE)
A programao por eventos o modelo tipicamente utilizado pelos
sistemas operativos e programas actuais.
Um programa dirigido por eventos pode ser imaginado como tendo
os seguintes passos:
Inicializar;
Configurar o interface;
Esperar por um evento;
Quando um evento ocorrer, deve-se trat-lo;
Ir para o passo 3 (o estado de espera).
Um programa constitudo por muitos tratadores de eventos,
que no so mais do que sub-programas sequenciais, ou seja, a PE
tambm inclu naturalmente programao sequencial, mas em vez de
um nico grande programa sequencial, teremos vrios mais pequenos!
A PE ento justamente um nvel de abstraco acima do nosso
modelo sequencial bsico, que torna mais fcil a tarefa de projetar e
escrever programas.
Filas De Eventos
Os sistemas operativos possuem um engenhoso esquema de
partilha dos recursos ligados ao interface com o utilizador. Neste
esquema, uma janela o dispositivo primrio de entrada e sada de
dados de uma aplicao. Uma vez criada uma janela, a aplicao e o
prprio SO colaboram para geri-la. A aplicao gere principalmente a
rea de cliente da janela, enquanto o SO (no Windows uma rotina
designa-se por Windows Manager) possui responsabilidades a nvel da
aparncia e uso da janela, como:

Criao e controlo das janelas, menus e caixas de dilogos;


Leitura do teclado;
Utilizao do rato;
Apresentao do cursor;

Para permitir a interaco com o programa do utilizador, o SO


avisa a aplicao sobre as alteraes que devem ocorrer na janela. Para
isso, cada janela deve possuir procedimentos de evento, ou seja,
deve conter as rotinas que recebero as mensagens que indicam
eventos ocorridos na janela.
Sistema De Mensagens
Existem duas formas de comunicao entre as aplicaes e o SO.
Uma delas a utilizao das APIs pelas aplicaes, e a outra , atravs
do sistema de mensagens, que permite ao SO mandar informaes e
comandos para uma janela.
Uma aplicao pode possuir vrias janelas e cada janela deve ter
rotinas associadas, que sejam capazes de processar as mensagens
enviadas pelo SO. Para cada aplicao, haver uma fila de
mensagens, onde sero registados os eventos ocorridos em
determinadas janelas.
Para que isto funcione adequadamente, a aplicao deve
constantemente consultar a tal fila, verificando a ocorrncia dos
eventos que iro indicar o que deve ser processado. A parte do
programa destinado a realizar tais consultas chamado de "Loop de
Mensagens".
MEMRIA VIRTUAL - GESTO DE MEMRIA
Um sistema operativo tem acesso completo memria do sistema
e deve permitir que os processos dos utilizadores tenham um acesso
seguro mesma quando o requisitam.
Vrios sistemas operativos usam a memria virtual, que possui 3
funes bsicas:
Assegurar que cada processo tenha o seu prprio espao de
endereamento, comeando em zero, para evitar ou resolver o
problema de relocao;
Prover proteo da memria para impedir que um processo utilize
um endereo de memria que no lhe pertena;
Possibilitar que uma aplicao utilize mais memria do que a
fisicamente existente.

MEMRIA VIRTUAL
precisamente espao em disco, que designado por "memria
virtual", pois esse espao est destinado a ser utilizado como um
"prolongamento" da memria RAM, quando esta se esgota com os
recursos do sistema. Se no houver espao de memria virtual, e os
recursos do sistema esgotarem a memria RAM, o PC deixa
simplesmente de responder.
A memria virtual um mtodo de aproveitar da capacidade de
memria real do computador. Os dados podem ser temporariamente
armazenados para um mais rpido acesso aos mesmos.
Sistema Operativo Multitarefa /Monotarefa
Quanto gesto de processos, um sistema operativo pode ser
classificado como:
Monotarefa ou multitarefa.
Monotarefa
Trata-se de um sistema operativo que permite a realizao de
apenas uma tarefa de cada vez. Um dos mais famosos sistemas
operativos monotarefa o MS-DOS, um dos primeiros sistemas
operativos para computadores pessoais.
Multitarefa
Este conceito relativo capacidade de alguns sistemas
operativos em simular o processamento simultneo de mais de uma
tarefa, graas diviso do tempo do processador entre elas.
Um sistema operativo multitarefa preparado para dar ao
utilizador a iluso que o nmero de processos em execuo simultnea
no computador maior que o nmero de processadores instalados.
Cada processo recebe uma fatia do tempo e a alternncia entre vrios
processos to rpida que o utilizador pensa que a sua execuo
simultnea.

Você também pode gostar