OBJETIVOS - Mdulo8 Conceitos Avanados de Programao
Entender as especificidades da programao em ambiente grfico.
Constatar as diferenas entra a programao procedimental e a programao por eventos Conhecer a interface de programao do sistema operativo. Tomar conhecimento dos problemas associados interface com o utilizador no desenvolvimento de aplicaes para ambientes grficos.
Vantagens de um sistema operativo grfico Ambiente grfico um Software feito para facilitar e tornar prtica a utilizao do computador atravs de representaes visuais do sistema operativo. Facilidade de uso , no precisa saber comandos para executar qualquer tipo de tarefa, podendo abrir um ficheiro, copiar ou redirecion-lo com apenas um clique do rato. Interface mais apelativo. A utilizao de janelas, permite visualizar imagens ou texto que est a ser feito num determinado momento. Sendo uma interface grfica com botes e janelas mais intuitivo para qualquer tipo de utilizador.
Conceito de janela Janela uma rea visual contendo algum tipo de interface do utilizador, exibindo a sada do sistema ou permitindo a entrada de dados. Uma interface grfica do utilizador que use janelas como uma de suas principais metforas chamada sistema de janelas, como um gerenciador de janela. As janelas so geralmente apresentadas como objectos bidimensionais e rectangulares, normalmente organizados numa rea de trabalho.
Conceitos acerca da interface com o utilizador Interface A interface com o utilizador pode-se dar a dois nveis: Linha de comandos (CLI - Command Line Interface); Interface grfico (GUI - Graphics User Interface). Interface de Utilizadores A interface do utilizador o conjunto de caractersticas com o qual os utilizadores interagem com as mquinas, dispositivos, programas de computador ou alguma outra ferramenta complexa. Ela fornece mtodos para: - Entrada, permitindo ao utilizador manipular o sistema; - Sada, permitindo ao sistema produzir os efeitos (as respostas) das aes do utilizador; A interface-utilizador no s o lugar onde pessoas e computadores se encontram, como o lugar de encontro de qualquer interaco cibermediada. Fundamentalmente uma construo de designers e programadores profissionais no mbito da investigao em HCI - Human-Computer Interaction - e da indstria de produo de ferramentas informticas, a possibilidade de desenhar interfaces est hoje tambm ao alcance de qualquer utilizador, e expressa-se nomeadamente em interfaces on-line e pginas da internet, inclusive as pessoais e amadoras.
O conceito de utilizador em HCI Os princpios que devem orientar o design das interfaces-utilizador so tributrios essencialmente da constelao de conceitos abrigados sob o paradigma cognitivista, e sobretudo dos derivados do conceito de modelo mental. "Na interaco com o meio, com os outros e com os artefactos da tecnologia, as pessoas formam modelos internos, mentais, de si prprios e das coisas com as quais esto a interagir" (Frase de Norman, 1983) e essas representaes reflectem, guiam e orientam em grande medida o que pensam do mundo, das suas prprias capacidades e dos outros. Compreender os modelos mentais, o seu processo de formao, estrutura e dinmica, pode ajudar a explicar e prever o comportamento humano, em particular a interaco utilizador-computador.
Em 1943, Kenneth Craig prope para a compreenso do ser humano, na sua forma de pensamento, no seu raciocnio, o modelo do processador de informao. Para Craig um modelo "qualquer sistema fsico ou qumico que tem uma relao-estrutura semelhante ao processo que imita. Por relao-estrutura no quero significar alguma entidade no-fsica obscura que se aplica ao modelo, mas o facto de ser um "phsysical working model" (modelo fsico funcional) que funciona da mesma maneira que o processo a que corresponde".
A parte mais importante desta afirmao , em nosso entender, a que se refere funcionalidade do modelo. Numa linguagem mais actual, um modelo mental uma representao interna de uma entidade, fenmeno ou processo que reflecte o funcionamento do objecto representado. No o que ontologicamente o objecto , mas como funciona. neste sentido que Donald Norman afirma poderem os modelos mentais no ser tecnicamente precisos, rigorosos, mas deverem ser necessariamente funcionais.
Norman distingue quatro conceitos importantes na considerao dos modelos mentais em HCI: - O sistema a representar (o sistema que um utilizador usa e/ou tem de aprender a utilizar); - O modelo conceptual do sistema (o modelo concebido, inventado pelo investigador ou pelo designer como uma representao apropriada do sistema ); - O modelo mental do utilizador (o modelo que o utilizador realmente tem do sistema); - A conceptualizao que o investigador faz do modelo mental do utilizador. Interface do utilizador na computao Em cincia da computao e interaco homem-computador, a interface de utilizador de um programa de computador refere-se s informaes grficas, textuais e auditivas apresentadas ao utilizador, e as sequncias de controle (como comandos de teclado ou movimentos do rato) para interagir com o programa. Tipos Actualmente as seguintes interfaces de utilizador so as mais comuns: 1) Interface grfica do utilizador - aceita a entrada atravs de sistemas como o teclado ou rato e fornece sada grfica articulada no monitor; 2) Interface web do utilizador - aceita a entrada e fornece sada ao gerar pginas web, que so transportadas pela Internet e visualizadas atravs de um navegador; 3) Interface de linha de comando - aceita a entrada atravs de comandos de texto utilizando teclado e fornece sada imprimindo o texto no monitor; 4) Interface tctil - interface grfica do utilizador que usa telas de sensveis ao toque como forma de entrada, tornando o monitor um dispositivo tanto de entrada como de sada do sistema;
Programao por eventos e queues ou filas A POE baseia-se na inexistncia de um algoritmo principal que, na programao tradicional serve para determinar o incio e o fim de um programa. A Programao orientada a eventos um paradigma de programao em que o fluxo do programa determinado pelo sensor de realizaes ou de aces do utilizador, como um clique no rato ou teclado. Ou seja, um evento uma aco que determinado objecto reconhece, e ao qual est associado um cdigo de respostas. O evento est ento encarregue de invocar esses blocos de cdigo, que podem ser completamente diferentes uns dos outros. A Programao Orientada a Eventos (POE) e a Programao Orientada a Objectos (POO) so facilmente confundidas. A POO contm a POE, mas a POE no contm a POO. Um objecto pode existir, mesmo que no exista nenhum evento associado a ele, mas um evento no pode existir se no houver um objecto a ele associado.
Conceitos relativos interface de desenvolvimento de aplicaes (API) do sistema operativo. API do Sistema Operativo
A API constituda por uma srie de tarefas acessveis atravs da programao, e que possibilitam utilizar caractersticas do software menos evidentes ao utilizador tradicional. Um sistema operativo tem uma grande quantidade de funes API, que facultam ao programador desenvolver janelas, ter acesso a pastas, etc. Tambm os programas de design possuem uma API especializa para criar automaticamente entidades de combinao com os padres definidos pelo utilizador.
Em termos de Sistemas Operativos, a API costuma ser separada das tarefas mais importantes, como por exemplo, manipulao de blocos de memria e acesso a dispositivos. Estas funes so atribudas pelo Kernel ao ncleo do sistema.
Actualmente a utilizao de APIs tem propagado nos plugins, acessrios que completam as funes de um sistema operativo. Os criadores do programa inicial proporcionam uma API particular para que outros, criem plugins aumentando as funcionalidades do programa para utilizadores comuns.
A ligao entre o Sistema Operativo e Aplicao Um SO administra todos os aspectos importantes do computador e das aplicaes que estejam carregadas. Para que este controle possa ser mantido preciso haver um meio de comunicao entre as aplicaes e o sistema, e vice-versa. O sistema operativo tambm precisa se comunicar com a aplicao para fornecer o resultado de uma chamada API ou at para informar a aplicao de que algo est ocorrer no sistema.
O modelo de memria Modelo OSI-Camada1; Fsica
Modelo OSI - foi uma das primeiras organizaes a definir formalmente uma forma comum de conectar computadores. A sua arquitetura chamada OSI (Open Systems Interconnection), Camadas OSI ou Interconexo de Sistemas Abertos. Esta arquitetura um modelo que divide as redes de computadores em sete camadas, de forma a se obter camadas de abstrao. Cada protocolo implementa uma funcionalidade assinalada a uma determinada camada. A ISO costuma trabalhar em conjunto com outra organizao, a ITU (International Telecommunications Union), publicando uma srie de especificaes de protocolos baseados na arquitetura OSI. Estas sries so conhecidas como 'X ponto', por causa do nome dos protocolos - X.25, X.500, etc. Camada Fsica - Transforma os frames em sinais(elctricos, pticos ou ondas no espao) compatveis com o meio fsico onde os dados sero transmitidos. Protocolos: A camada fsica dos protocolos e tecnologias que pertencem segunda camada. Servicos/Funes: Tranforma frames em bits(codificao e sinalizao); Providncia o contnuo fluxo de bits atravs do meio de transmisso (transmisso fsica de dados); Trata tenses e impulsos elctricos; Especifica hardware(cabos, conectores e intefaces); Gerir as conexes. Protocolos do modelo TCP/IP: Modem, RDIS, RS-232, EIA-422, RS-449, Bluetooth, USB, ...
Conceito de Multitarefa Gesto de Programas Monotarefa Tem como funo permitir que o processador, a memria e os perifricos permaneam exclusivamente dedicados execuo de um nico programa. Vantagens: Implementao simples. Desvantagens: O processador permanece parado durante operaes de entrada e sada; A memria subutilizada; Os perifricos no so utilizados de forma integral. Exemplo: MS-DOS e UNIX
Multitarefa Permite que o utilizador trabalhe com um ou mais programas em simultneo. Vantagens: Aumento da produtividade; Reduo de custos. Desvantagem: Implementao complexa. Exemplos: Linux, Windows Vista, Windows7