You are on page 1of 5

[Escriba su direccin]

[Escriba su nombre]

TECNOLOGICO DE ESTUDIOS SUPERIORES DE ECATEPEC


DIVISION DE INGENIERIA EN SISTEMAS COMPUTACIONALES

[Escriba su nmero de telfono]

ALUMNO: HERRERA MORO CESAR

[Escriba su direccin de correo electrnico]

GRUPO: 5601

INTERFACES
TAREA: CONCEPTOS BASICOS DE INTEFACES

3er PARCIAL
FECHA DE ENTREGA: 14 DE JUNIO DEL 2011.

INTERFAZ
1. En software, parte de un programa que permite el flujo de informacin entre un usuario y la aplicacin, o entre la aplicacin y otros programas o perifricos. Esa parte de un programa est constituida por un conjunto de comandos y mtodos que permiten estas intercomunicaciones. 2. Interfaz tambin hace referencia al conjunto de mtodos para lograr interactividad entre un usuario y una computadora. Una interfaz puede ser del tipo GUI, o lnea de comandos, etc. Tambin puede ser a partir de un hardware, por ejemplo, el monitor, el teclado y el mouse, son interfaces entre el usuario y el ordenador. 3. En electrnica, un interfaz es el puerto por el cual se envan o reciben seales desde un sistema hacia otros. Por ejemplo, el interfaz USB, interfaz SCSI, interfaz IDE, interfaz puerto paralelo o serial, etc. Por qu es importante la interfaz? Cuando utilizas un programa informtico, suele haber algo entre t y l. Ese algo, que es a la vez un lmite y un espacio comn entre ambas partes, es la interfaz. En tecnologa se denomina interfaz a muchas cosas, pero es la interfaz grfica de usuario el concepto que aqu tratamos. Una interfaz define el lmite de comunicacin entre 2 elementos, tales como software, Hardware o un usuario. Generalmente se refiere a una abstraccin que un elemento provee de si mismo al exterior. Esto separa los mtodos de comunicacin externa de los de operacin interna, y le permite ser internamente modificada sin afectar la manera en que los elementos externos interactan con el, tambin provee abstracciones mltiples de si mismo. Tambin puede proveer medios de traduccin entre elementos que no hablan el mismo lenguaje, tales como un humano y una computadora. La interfaz entre un humano y una computadora se llama interfaz de usuario. Las interfaces entre hardware son interfaces fsicas. La interfaz de software existe entre componentes de software separados y provee un mecanismo programable por el cual estos componentes se pueden comunicar.

Conceptos de interfaz
Lewis y Rieman [1993] definen las interfaces hombre computadora como: Las interfaces bsicas de usuario son aquellas que incluyen cosas como mens, ventanas, teclado, ratn, los "beeps" y algunos otros sonidos que la computadora hace, en general, todos aquellos canales por los cuales se permite la comunicacin entre el hombre y la computadora. La idea fundamental en el concepto de interfaz es el de mediacin, entre hombre y mquina. La interfaz es lo que "media", lo que facilita la comunicacin, la interaccin, entre dos sistemas de diferente naturaleza, tpicamente el ser humano y una mquina como el computador. Esto implica, adems, que se trata de un sistema de traduccin, ya que los dos "hablan" lenguajes diferentes: verboicnico en el caso del hombre y binario en el caso del procesador electrnico. De una manera ms tcnica se define a Interfaz de usuario, como conjunto de componentes empleados por los usuarios para comunicarse con lascomputadoras. El usuario dirige el funcionamiento de la mquina mediante instrucciones, denominadas genricamente entradas. Las entradas se introducen mediante diversos dispositivos, por ejemplo un teclado, y se convierten en seales electrnicas que pueden ser procesadas por la computadora. Estas seales se transmiten a travs de circuitos conocidos como bus, y son coordinadas y controladas por la unidad de proceso central y por un soporte lgico conocido como sistema operativo. Una vez que la UPC ha ejecutado las instrucciones indicadas por el usuario, puede comunicar los resultados mediante seales electrnicas, o salidas, que se transmiten por el bus a uno o ms dispositivos de salida, por ejemplo una impresora o unmonitor. Resumiendo entonces podemos decir que, una interfaz de software es la parte de una aplicacin que el usuario ve y con la cual interacta. Est relacionada con la subyacente estructura, la arquitectura, y el cdigo que hace el trabajo del software, pero no se confunde con ellos. La interfaz incluye las pantallas,

ventanas, controles, mens, metforas, la ayuda en lnea, la documentacin y el entrenamiento. Cualquier cosa que el usuario ve y con lo cual interacta es parte de la interfaz. Una interfaz inteligente es fcil de aprender y usar. Permite a los usuarios hacer su trabajo o desempear una tarea en la manera que hace ms sentido para ellos, en vez de tener que ajustarse al software. Una interfaz inteligente se disea especficamente para la gente que la usar.

Clasificacin
Dentro de las Interfaces de Usuario se distinguir bsicamente dos tipos: Una interfaz de hardware, a nivel de los dispositivos utilizados para ingresar, procesar y entregar los datos: teclado, ratn y pantalla visualizador; y Una interfaz de software, destinada a entregar informacin acerca de los procesos y herramientas de control, a travs de lo que el usuario observa habitualmente en la pantalla. De esta clasificacin general se puede ir desprendiendo algunas, as por ejemplo segn su evolucin tenemos: La evolucin de las interfaces de usuario corre en paralelo con la de los sistemas operativos; de hecho, la interfaz constituye actualmente uno de los principales elementos de un sistema operativo. A continuacin se muestran las distintas interfaces que histricamente han ido apareciendo, ejemplificndolas con las sucesivas versiones de los sistemas operativos ms populares. Interfaces de lnea de mandatos (command-line user interfaces, CUIs). Es el caracterstico del DOS, el sistema operativo de los primeros PC, y es el estilo ms antiguo de interaccin hombre-mquina. El usuario escribe rdenes utilizando un lenguaje formal con un vocabulario y una sintaxis propia (los mandatos en el caso del DOS). Se usa un teclado, tpicamente, y las rdenes estn encaminadas a realizar una accin. El usuario no suele recibir mucha informacin por parte del sistema (ejemplo: indicador del DOS), y debe conocer cmo funciona el ordenador y dnde estn los programas (nada est oculto al usuario). El modelo de la interfaz es el del programador, no el del usuario. Ejemplo del DIR-DEL-DIR, por la falta de informacin de respuesta del DOS. Otras veces, en cambio, es excesiva: etiqueta del volumen en el DIR. Inconveniente: carga de memoria del usuario (debe memorizar los mandatos; incluso la ayuda es difcil de leer); nombres no siempre adecuados a las funciones, significado de los mandatos mal comprendido a veces (varios mandatos con el mismo o parecido significado, como DEL y ERASE); inflexible en los nombres (DEL y no DELETE). Ventajas: potente, flexible y controlado por el usuario, aunque esto es una ventaja para usuarios experimentados. La sintaxis es estricta, y los errores pueden ser graves

Programacin Bajo Nivel.


Los lenguajes de bajo nivel son ms fciles de utilizar que los lenguajes mquina, pero, al igual que ellos, dependen de la mquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotcnicos. Por ejemplo, nemotcnicos tpicos de operaciones aritmticas son: en ingls, ADD, SUB, DIV, etc.; en espaol, SUM,RES,DIV,etc. Una instruccin tpica de suma sera: ADD M, N, P Esta instruccin podra significar sumar el nmero contenido en la posicin de memoria M al nmero almacenado en la posicin de memoria N y situar el resultado en la posicin de memoria P. Evidentemente es mucho ms sencillo recordar la instruccin anterior con un nemotcnico que su equivalente en cdigo mquina. 0110 1001 1010 1011 Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la computadora en esto se diferencia esencialmente del lenguaje mquina, sino que requiere una fase de traduccin al lenguaje mquina. El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en lenguaje mquina se conoce como programa objeto, ya directamente entendible por la computadora.

El traductor de programas fuente a objeto es un programa llamado ensamblador, existente en casi todos los computadores. Programa fuente en ensamblador Programa Ensamblador Programa objeto en cdigo (assembly) (assembler) mquina. No se debe confundir el programa ensamblador, encargado de efectuar la traduccin del programa fuente escrito a lenguaje mquina, con el lenguaje ensamblador, lenguaje de programacin con una estructura y gramtica definidas. Ventajas del lenguaje ensamblador. Los lenguajes ensambladores presentan la ventaja frente a los lenguajes mquina de su mayor facilidad de codificacin y, en general, su velocidad de clculo. Desventajas del lenguaje ensamblador. Los inconvenientes ms notables de los lenguajes ensambladores son: Dependencia total de la mquina lo que impide la transportabilidad de los programas. El lenguaje ensamblador del PC es distinto del lenguaje ensamblador del Apple Macintosh. La formacin de los programadores es ms compleja que la correspondiente a los programadores de alto nivel, ya que no slo las tcnicas de programacin, sino tambin el conocimiento del interior de la mquina. Hoy da los lenguajes ensambladores tienen sus aplicaciones mas reducidas en la programacin de aplicaciones y se centran en aplicaciones de tiempo real, control de procesos y de dispositivos electrnicos, etc. Intrpretes. Un intrprete es un traductor que toma un programa fuente, lo traduce y a continuacin lo ejecuta. Programa Fuente Intrprete Traduccin y ejecucin lnea a lnea. Un lenguaje que soporte un traductor de tipo intrprete se denomina lenguaje interpretado. BASIC es el modelo por excelencia de lenguaje interpretado. Los programas fuente en BASIC se escriben con ayuda de un programa denominado editor que suele venir incorporado al programa intrprete. Compiladores. Un compilador es un programa que traduce los programas fuente escritos en lenguajes de alto nivel: Pascal, FORTRAN.... a lenguaje mquina. Los programas escritos en lenguajes de alto nivel se llaman programa fuente y el programa traducido se le llama programa objeto cdigo objeto. El compilador traduce sentencia a sentencia el programa fuente. Lenguajes compiladores tpicos son: Pascal, FORTRAN, COBOL..., hoy da es posible encontrar tambin versiones de compiladores BASIC y de C. La compilacin es el proceso de traduccin de programas fuente a programas objeto. Programa Fuente. Compilador. Programa Objeto. El programa objeto obtenido de la compilacin no ha sido traducido normalmente a cdigo mquina sino a ensamblador. Para conseguir el programa mquina real se debe utilizar un programa llamado montador o enlazador (linker). El proceso de montaje conduce a un programa en lenguaje mquina directamente ejecutable. Programa Fuente. Compilador (traductor). Programa Objeto. Montador. Programa ejecutable en lenguaje mquina. El proceso de ejecucin de un programa Pascal, por ejemplo, tiene los siguientes pasos: Escritura del programa fuente con un editor y guardarlo en un dispositivo de almacenamiento.

Introducir el programa fuente en memoria. Compilar el programa con el compilador Pascal. Verificar y corregir errores de compilacin. Obtencin del programa objeto. El montador obtiene el programa ejecutable. Se ejecuta el programa y si no existen errores, se tendr la salida del programa.

Interfaz de programacin de aplicaciones


API redirige aqu. Para otras acepciones, vase API (desambiguacin). Una interfaz de programacin de aplicaciones o API (del ingls Application Programming Interface) es el conjunto de funciones y procedimientos (o mtodos, en la programacin orientada a objetos) que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstraccin. Son usados generalmente en las bibliotecas. Caractersticas Una interfaz de programacin representa una interfaz de comunicacin entre componentes de software. Se trata del conjunto de llamadas a ciertas bibliotecas que ofrecen acceso a ciertos servicios desde los procesos y representa un mtodo para conseguir abstraccin en laprogramacin, generalmente (aunque no necesariamente) entre los niveles o capas inferiores y los superiores del software. Uno de los principales propsitos de una API consiste en proporcionar un conjunto de funciones de uso general, por ejemplo, para dibujar ventanas oiconos en la pantalla. De esta forma, los programadores se benefician de las ventajas de la API haciendo uso de su funcionalidad, evitndose el trabajo de programar todo desde el principio. Las APIs asimismo son abstractas: el software que proporciona una cierta API generalmente es llamado la implementacin de esa API. Por ejemplo, se puede ver la tarea de escribir "Hola Mundo" sobre la pantalla en diferentes niveles de abstraccin: 1. Haciendo todo el trabajo desde el principio: 1. Traza, sobre papel milimetrado, la forma de las letras (y espacio) "H,o, l, a,M,u, n, d, o". 2. Crea una matriz de cuadrados negros y blancos que se asemeje a la sucesin de letras. 3. Mediante instrucciones en ensamblador, escribe la informacin de la matriz en la memoria intermedia ("buffer") de pantalla. 4. Mediante la instruccin adecuada, haz que la tarjeta grfica realice el volcado de esa informacin sobre la pantalla. 2. Por medio de un sistema operativo para hacer parte del trabajo: 1. Carga una fuente tipogrfica proporcionada por el sistema operativo. 2. Haz que el sistema operativo borre la pantalla. 3. Haz que el sistema operativo dibuje el texto "Hola Mundo" usando la fuente cargada. 3. Usando una aplicacin (que a su vez usa el sistema operativo) para realizar la mayor parte del trabajo: 1. Escribe un documento HTML con las palabras "Hola Mundo" para que un navegador Web como Google Chrome, Mozilla,Firefox, Opera o Internet Explorer pueda representarlo en el monitor. Como se puede ver, la primera opcin requiere ms pasos, cada uno de los cuales es mucho ms complicado que los pasos de las opciones siguientes. Adems, no resulta nada prctico usar el primer planteamiento para representar una gran cantidad de informacin, como un artculo enciclopdico sobre la pantalla, mientras que el segundo enfoque simplifica la tarea eliminando un paso y haciendo el resto ms sencillos y la tercera forma simplemente requiere escribir "Hola Mundo". Sin embargo, las APIs de alto nivel generalmente pierden flexibilidad; por ejemplo, resulta mucho ms difcil en un navegador web hacer girar texto alrededor de un punto con un contorno parpadeante que programarlo a bajo nivel. Al elegir usar una API se debe llegar a un cierto equilibrio entre su potencia, simplicidad y prdida de flexibilidad.