módulo8-teoria

8
OBJETIVOS - Módulo8 – Conceitos Avançados de Programação Entender as especificidades da programação em ambiente gráfico. Constatar as diferenças entra a programação procedimental e a programação por eventos Conhecer a interface de programação do sistema operativo. Tomar conhecimento dos problemas associados à interface com o utilizador no desenvolvimento de aplicações para ambientes gráficos. Vantagens de um sistema operativo gráfico Ambiente gráfico é um Software feito para facilitar e tornar prática a utilização do computador através de representações visuais do sistema operativo. Facilidade de uso , não 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 utilização de janelas, permite visualizar imagens ou texto que está a ser feito num determinado momento. Sendo uma interface gráfica com botões 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 saída do sistema ou permitindo a entrada de dados. Uma interface gráfica do utilizador que use janelas como uma de suas principais metáforas é chamada sistema de janelas, como um gerenciador de janela. As janelas são geralmente apresentadas como objectos bidimensionais e rectangulares, normalmente organizados numa área de trabalho.

Upload: profcm

Post on 18-Jan-2016

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: módulo8-teoria

OBJETIVOS - Módulo8 – Conceitos Avançados de Programação

Entender as especificidades da programação em ambiente gráfico. Constatar as diferenças entra a programação procedimental e a programação por eventos Conhecer a interface de programação do sistema operativo. Tomar conhecimento dos problemas associados à interface com o utilizador no

desenvolvimento de aplicações para ambientes gráficos.

Vantagens de um sistema operativo gráfico

Ambiente gráfico é um Software feito para facilitar e tornar prática a utilização do computador através de representações visuais do sistema operativo.

Facilidade de uso , não 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 utilização de janelas, permite visualizar imagens ou texto que está a ser feito

num determinado momento. Sendo uma interface gráfica com botões 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 saída do sistema ou permitindo a entrada de dados. Uma interface gráfica do utilizador que use janelas como uma de suas principais metáforas é chamada sistema de janelas, como um gerenciador de janela.

As janelas são 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 níveis:

Linha de comandos (CLI - Command Line Interface);

Interface gráfico (GUI - Graphics User Interface).

Page 2: módulo8-teoria

Interface de Utilizadores

A interface do utilizador é o conjunto de características com o qual os utilizadores interagem com as máquinas, dispositivos, programas de computador ou alguma outra ferramenta complexa. Ela fornece métodos para:

- Entrada, permitindo ao utilizador manipular o sistema;

- Saída, permitindo ao sistema produzir os efeitos (as respostas) das ações do utilizador;

A interface-utilizador é não só o lugar onde pessoas e computadores se encontram, como o lugar de encontro de qualquer interacção cibermediada.

Fundamentalmente uma construção de designers e programadores profissionais no âmbito da investigação em HCI - Human-Computer Interaction - e da indústria de produção de ferramentas informáticas, a possibilidade de desenhar interfaces está hoje também ao alcance de qualquer utilizador, e expressa-se nomeadamente em interfaces on-line e páginas da internet, inclusive as pessoais e amadoras.

O conceito de utilizador em HCI

Os princípios que devem orientar o design das interfaces-utilizador são tributários essencialmente da constelação de conceitos abrigados sob o paradigma cognitivista, e sobretudo dos derivados do conceito de modelo mental. "Na interacção com o meio, com os outros e com os artefactos da tecnologia, as pessoas formam modelos internos, mentais, de si próprios e das coisas com as quais estão a interagir" (Frase de Norman, 1983) e essas representações reflectem, guiam e orientam em grande medida o que pensam do mundo, das suas próprias capacidades e dos outros. Compreender os modelos mentais, o seu processo de formação, estrutura e dinâmica, pode ajudar a explicar e prever o comportamento humano, em particular a interacção utilizador-computador.

Em 1943, Kenneth Craig propõe para a compreensão do ser humano, na sua forma de pensamento, no seu raciocínio, o modelo do processador de informação. Para Craig um modelo é "qualquer sistema físico ou químico que tem uma relação-estrutura semelhante ao processo que imita. Por relação-estrutura não quero significar alguma entidade não-física obscura que se aplica ao modelo, mas o facto de ser um "phsysical working model" (modelo físico funcional) que funciona da mesma maneira que o processo a que corresponde".

A parte mais importante desta afirmação é, em nosso entender, a que se refere à funcionalidade do modelo. Numa linguagem mais actual, um modelo mental é uma representação interna de uma entidade, fenómeno ou processo que reflecte o

Page 3: módulo8-teoria

funcionamento do objecto representado. Não o que ontologicamente o objecto é, mas como funciona. É neste sentido que Donald Norman afirma poderem os modelos mentais não ser tecnicamente precisos, rigorosos, mas deverem ser necessariamente funcionais.

Norman distingue quatro conceitos importantes na consideração 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 representação apropriada do sistema );

- O modelo mental do utilizador (o modelo que o utilizador realmente tem do sistema);

- A conceptualização que o investigador faz do modelo mental do utilizador.

Interface do utilizador na computação

Em ciência da computação e interacção homem-computador, a interface de utilizador de um programa de computador refere-se às informações gráficas, textuais e auditivas apresentadas ao utilizador, e as sequências de controle (como comandos de teclado ou movimentos do rato) para interagir com o programa.

Tipos

Actualmente as seguintes interfaces de utilizador são as mais comuns:

1) Interface gráfica do utilizador - aceita a entrada através de sistemas como o teclado ou rato e fornece saída gráfica articulada no monitor;

2) Interface web do utilizador - aceita a entrada e fornece saída ao gerar páginas web, que são transportadas pela Internet e visualizadas através de um navegador;

3) Interface de linha de comando - aceita a entrada através de comandos de texto utilizando teclado e fornece saída imprimindo o texto no monitor;

4) Interface táctil - interface gráfica do utilizador que usa telas de sensíveis ao toque como forma de entrada, tornando o monitor um dispositivo tanto de entrada como de saída do sistema;

Page 4: módulo8-teoria

Programação por eventos e “queues” ou filas

A POE baseia-se na inexistência de um algoritmo principal que, na programação tradicional serve para determinar o início e o fim de um programa.

A Programação orientada a eventos é um paradigma de programação em que o fluxo do programa é determinado pelo sensor de realizações ou de acções do utilizador, como um clique no rato ou teclado. Ou seja, um evento é uma acção que determinado objecto reconhece, e ao qual está associado um código de respostas. O evento está então encarregue de invocar esses blocos de código, que podem ser completamente diferentes uns dos outros.

A Programação Orientada a Eventos (POE) e a Programação Orientada a Objectos (POO) são facilmente confundidas. A POO contém a POE, mas a POE não contém a POO. Um objecto pode existir, mesmo que não exista nenhum evento associado a ele, mas um evento não pode existir se não houver um objecto a ele associado.

Conceitos relativos à interface de desenvolvimento de aplicações (API) do sistema operativo.

API do Sistema Operativo

A API é constituída por uma série de tarefas acessíveis através da programação, e que possibilitam utilizar características do software menos evidentes ao utilizador tradicional. Um sistema operativo tem uma grande quantidade de funções API, que facultam ao programador desenvolver janelas, ter acesso a pastas, etc.

Também os programas de design possuem uma API especializa para criar automaticamente entidades de combinação com os padrões definidos pelo utilizador.

Em termos de Sistemas Operativos, a API costuma ser separada das tarefas mais importantes, como por exemplo, manipulação de blocos de memória e acesso a dispositivos. Estas funções são atribuídas pelo Kernel ao núcleo do sistema.

Actualmente a utilização de API’s tem propagado nos plugins, acessórios que completam as funções 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.

Page 5: módulo8-teoria

A ligação entre o Sistema Operativo e Aplicação

Um SO administra todos os aspectos importantes do computador e das aplicações que estejam carregadas. Para que este controle possa ser mantido é preciso haver um meio de comunicação entre as aplicações e o sistema, e vice-versa. O sistema operativo também precisa se comunicar com a aplicação para fornecer o resultado de uma chamada à API ou até para informar a aplicação de que algo está ocorrer no sistema.

O modelo de memória

Modelo OSI-Camada1; Física

Modelo OSI - foi uma das primeiras organizações a definir formalmente uma forma comum de conectar computadores.

A sua arquitetura é chamada OSI (Open Systems Interconnection), Camadas OSI ou Interconexão de Sistemas Abertos.

Esta arquitetura é um modelo que divide as redes de computadores em sete camadas,

de forma a se obter camadas de abstração. Cada protocolo implementa uma funcionalidade assinalada a uma determinada camada.

A ISO costuma trabalhar em conjunto com outra organização, a ITU (International Telecommunications Union),

publicando uma série de especificações de protocolos baseados na arquitetura OSI. Estas séries são conhecidas como 'X ponto', por causa do nome dos protocolos - X.25, X.500, etc.

Camada Física - Transforma os frames em sinais(eléctricos, ópticos ou ondas no espaço)

compatíveis com o meio físico onde os dados serão transmitidos.

Page 6: módulo8-teoria

Protocolos: A camada física dos protocolos e tecnologias que pertencem à segunda camada. Servicos/Funções: Tranforma frames em bits(codificação e sinalização); Providência o contínuo fluxo de bit´s através do meio de transmissão (transmissão física de dados); Trata tensões e impulsos eléctricos; Especifica hardware(cabos, conectores e intefaces); Gerir as conexões. Protocolos do modelo TCP/IP: Modem, RDIS, RS-232, EIA-422, RS-449, Bluetooth, USB, ...

Conceito de Multitarefa

Gestão de Programas

Monotarefa

Tem como função permitir que o processador, a memória e os periféricos permaneçam exclusivamente dedicados à execução de um único programa.

Vantagens:

Implementação simples.

Desvantagens:

O processador permanece parado durante operações de entrada e saída; A memória é subutilizada; Os periféricos não são utilizados de forma integral.

Exemplo: MS-DOS e UNIX

Multitarefa

Permite que o utilizador trabalhe com um ou mais programas em simultâneo.

Vantagens:

Aumento da produtividade; Redução de custos.

Desvantagem:

Implementação complexa.

Exemplos: Linux, Windows Vista, Windows7…