You are on page 1of 13

Robles Robles Mario

1. Programacin en lenguaje orientado a objetos.


Vivimos en un mundo lleno de objetos: aviones, trenes, automviles, telfonos,
libros, computadoras, etc. Sin embargo hasta hace poco, las tcnicas de
programacin no reflejaban esto.
Es muy importante destacar que cuando se hace referencia a la programacin
orientada a objetos, no se habla de unas cuantas caractersticas nuevas aadidas
a un lenguaje de programacin. La programacin orientada a objetos (POO)
implica una nueva forma de pensar acerca del proceso de descomposicin de
problemas y de desarrollo de programas que dan solucin virtualmente a
cualquier problema planteado y susceptible a ser resuelto mediante la
implementacin de software.

1.1 Desarrollo histrico de lenguaje orientado a objetos


Cuando las computadoras fueron desarrolladas en la dcada de 1940, eran
usadas por los matemticos con propsitos militares, para calcular la trayectoria
de las bombas y descifrar las ordenes y transmisiones diplomticas del enemigo.
Despus de la segunda guerra mundial, aun eran utilizadas sobre todo por
matemticos para hacer clculos. Esta realidad se reflej en el nombre del primer
lenguaje de alto nivel disponible en forma comercial en 1957. El nombre era
FORTRAN, el cual era un acrnimo de FORmula TRANslation (traduccin de
formulas).
Esta situacin ha cambiado de manera considerable, sobre todo por ciertas
razones. Una de las razones del desencanto por los programas orientados a
procedimientos ha sido el fracaso de los lenguajes tradicionales de
procedimientos para proporcionar un medio adecuado para limitar los costos del
software.
La POO surge en la historia como un intento para dominar la complejidad y
abstraccin que, de forma innata posee el software. Tradicionalmente la
manera de enfrentar esta complejidad ha sido usando lo que se llama
programacin estructurada, que consiste en descomponer el programa en
subproblemas y mas subproblemas hasta llegar a acciones muy simples y
fciles de codicar, por ejemplo, un programa que resuelve ecuaciones de
segundo grado se descompone en una secuencia de acciones: primero pedir
el valor de los coecientes a. b. y c; despus, calcular el valor del
discriminante; y por ultimo en funcin del signo del discriminante calcular
ninguna, una o dos races. Se observa que esta metodologa de programacin
implica convertir el programa en acciones mas simples, que pueden
observarse directamente como verbos como pedir, comprobar, calcular
La programacin orientada a objetos es otra forma de abordar los problemas.
Este nuevo mtodo de descomposicin es la descomposicin en objetos.

Robles Robles Mario


Dentro de la losofa de la POO no es primario el qu hay que hacer en el
problema, sino en cual es el escenario real del mismo, y se intenta simular
ese escenario en el programa.
Los lenguajes de programacin tradicionales no orientados a objetos como C
o Basic basan su funcionamiento en el concepto de procedimiento o funcin,
que es simplemente un conjunto de instrucciones que operan sobre
argumentos y producen un resultado. De este modo un programa
estructurado no es mas que una sucesin de llamadas a funciones, ya sean
estas del sistema operativo o proporcionadas por el propio lenguaje, o
desarrolladas por el mismo usuario. En el caso de los lenguajes orientados a
objetos como es el caso de C++ y Java, el elemento bsico no es la funcin,
sino un elemento denominado precisamente objeto.
Un objeto es una representacin en un programa de un concepto, y contiene
toda la informacin necesaria para abstraerlo: datos que describen sus
atributos y operaciones que pueden realizarse sobre los mismos.
Con este nuevo enfoque, la POO es una nueva forma de pensar, una manera
distinta de enfocar los problemas. Ah radica la dicultad de aprender un
lenguaje totalmente orientado a objetos, como es Java o C++, sin conocer
previamente los pilares de la programacin orientada a objetos.

1.2 Clases y objetos


Es fundamental para la orientacin a objetos el concepto de un tipo de datos
abstracto, el cual es definido por el programador. La construccin en un tipo de
datos se basa tanto en variables como en funciones; las variables proporcionan
el medio para crear configuraciones de datos nuevas y las funciones
proporcionan el medio para ejecutar operaciones en estas estructuras.
La programacin orientada a objetos es otra forma de abordar los problemas.
Este nuevo mtodo de descomposicin es la descomposicin en objetos.
Dentro de la losofa de la POO no es primario el qu hay que hacer en el
problema, sino en cual es el escenario real del mismo, y se intenta simular
ese escenario en el programa.
Si se analiza cmo se plantea un problema cualquiera en la realidad, se
observa que lo que hay en la realidad son identidades (otro nombre que se
podra usar para describir lo que se llama objetos). Estas entidades u objetos
poseen un conjunto de propiedades o atributos, y un conjunto de mtodos,
mediante los cuales muestran su comportamiento. Y no solo eso, a medida
que se avanza en la POO, se puede descubrir poco a poco, todo un conjunto
de interpelaciones entre las entidades, guiadas por el intercambio de
mensajes: los objetos del programa responden a estos mensajes mediante la
ejecucin de ciertas acciones.

Robles Robles Mario


Una forma de ejemplicar lo anterior es mediante la siguiente situacin:
[Un domingo por la tarde estn en casa una madre y su hijo viendo la
televisin, y de repente la madre siente un fuerte dolor de cabeza; como es
natural, lo primero que hace el hijo es tratar de encontrar una caja de
aspirinas.]
Esta situacin no extraa para toda persona puede ser analizada en clave de
objetos: el objeto hijo ha recibido un mensaje procedente del objeto madre.
El objeto hijo responde al mensaje o evento ocurrido mediante una accin:
buscar aspirinas. La madre no tiene que decirle al hijo donde debe buscar, es
responsabilidad del hijo resolver el problema como considere mas oportuno.
Al objeto madre le basta con haber emitido un mensaje.
[El hijo no encuentra aspirinas en el botiqun y decide acudir a la farmacia
para comprar aspirinas. En la farmacia es atendido por una persona que le
pregunta qu desea, a lo que el hijo responde: una caja de aspirinas, por
favor. La farmacutica desaparece para regresar al poco tiempo con una caja
de aspirinas en la mano. El hijo paga el importe, se despide y vuelve a su casa.
All le da un comprimido a su madre, la cual al cabo de un rato comienza a
experimentar una notable mejora hasta la completa desaparicin del dolor de
cabeza.]
El hijo como responsable de un cometido, sabe lo que debe hacer hasta
conseguir una aspirina. Para ello entra en relacin con un nuevo objeto, la
farmacutica, quien responde al mensaje o evento de peticin del objeto hijo
con la bsqueda de la aspirina. El objeto farmacutica es ahora el
responsable de la bsqueda de la aspirina. El objeto farmacutica lanza un
mensaje al objeto hijo solicitando el pago del importe, y el objeto hijo
responde a tal evento con la accin de pagar.
Es evidente ahora en esta situacin la existencia de objetos que se
diferenciaban de los dems por un conjunto de caractersticas o propiedades,
y por un conjunto de acciones que realizaban en respuesta a unos eventos
que se originaban en otros objetos o en el entorno. Tambin es claro que
aunque todos los objetos tienen propiedades distintas como el color del
cabello, el grado de simpata o el peso, todos tienen un conjunto de atributos
en comn por ser ejemplos de una entidad superior llamada ser humano. A
este patrn de objetos (en nuestro caso ser humano lo llamaremos clase).
Con este ejemplo se explica que los objetos son instancias o casos concretos
de las clases, que no son mas que plantillas que denen las variables y los
mtodos comunes a todos los objetos de un cierto tipo. La clase ser
humano tendr entre sus muchas variables miembro o variables que la
componen: color de cabello, color de ojos, estatura, peso, fecha de
nacimiento, etc. A partir de una clase se podrn generar todos los objetos que
se deseen especicando valores particulares para cada una de las variables
denida por la clase. As encontraremos el objeto farmacutica, cuyo color

Robles Robles Mario


de cabello es rubio, color de ojos azul, estatura 175 cm, peso 50Kg, y as
sucesivamente.
Formalmente un objeto no es mas que un conjunto de variables (o datos) y
mtodos (o funciones) relacionados entre si. Los objetos en programacin se
usan para modelar objetos o entidades del mundo real. Un objeto es, por
tanto, la representacin en un programa de un concepto y contiene toda la
informacin necesaria: datos que describen sus atributos y operaciones que
pueden realizarse sobre los mismos.
Normalmente en el mundo real existen varios objetos de un mismo tipo, o
como diremos enseguida, de una misma clase. Por ejemplo, mi bicicleta es
una de las muchas bicicletas que existen en el mundo. Usando la
terminologa de la POO, diremos que mi bicicleta es una instancia de la clase
de objetos conocida como bicicletas. Todas las bicicletas tienen algunos
estados o atributos (color, marcha actual, cadencia actual, dos ruedas) y
algunos mtodos (cambiar de marcha, frenar) en comn. Sin embargo, el
estado particular de cada bicicleta es independiente del estado de las dems
bicicletas. La particularizaron de estos atributos puede ser diferente. Es
decir, una bicicleta podra ser azul y otra roja pero ambas tienen el comn el
hecho de tener una variable color. De ese modo podemos denir una
plantilla de variables y mtodos para todas las bicicletas. Las plantillas para
crear objetos son denominadas clases.
Una clase es una plantilla que dene las variables y los mtodos que son
comunes para todos los objetos de un cierto tipo
En el ejemplo, la clase bicicleta denira variables miembro comunes a todas
las bicicletas, como la marcha actual, la cadencia actual, etc. Esta clase
tambin debe declarar e implementar los mtodos o funciones miembro que
permiten al ciclista cambiar de marcha, frenar y cambiar la cadencia de
pedaleo.

1.3 Mtodos.
Los atributos del objeto (estado) y lo que el objeto puede hacer
(comportamiento) estn expresados por las variables y los mtodos que
componen el objeto respectivamente. Por ejemplo, un objeto que modelase
una bicicleta en el mundo real tendra variables que indicaran el estado
actual de la bicicleta: su velocidad es de 20km/h, su cadencia de pedaleo
90rpm y su marcha actual es la 5a. Estas variables se conocen formalmente
como variables instancia o variables miembro porque contienen el estado de
un objeto bicicleta particular y, en POO, un objeto particular se denomina
instancia.
Ademas de estas variables el objeto bicicleta podra tener mtodos para
frenar, cambiar la cadencia de pedaleo y cambiar de marcha (la bicicleta no
tendra que tener un mtodo para cambiar su velocidad pues esta es funcin
de la cadencia de pedaleo, la marcha en la que est y de si los frenos estn

Robles Robles Mario


siendo utilizados o no, entre otros muchos factores). Estos mtodos se
denominan formalmente mtodos instancia o mtodos miembro, ya que
cambia el estado de una instancia u objeto bicicleta particular. La siguiente
gura muestra una bicicleta modelada como un objeto.

Cambiar
Marcha

Bicicleta modelada
como objeto:
20 km/h
90 rpm

Frenar

5a marcha

Cambiar
Cadencia

Atributos:
Velocidad
Cadencia
Marcha
Metodos:
Cambiar Marcha
Frenar
Cambiar cadencia

El diagrama del objeto bicicleta muestra las variables objeto en el ncleo o


centro del objeto y los mtodos rodeando el ncleo y protegindolo de otros
objetos del programa. Este hecho de empaquetar o proteger las variables
miembro con los mtodos miembro se denomina encapsulamiento. Este
dibujo conceptual que muestra el ncleo de variables miembro del objeto
protegido por una membrana protectora de mtodos o funciones miembro
es la representacin ideal de un objeto y es el ideal que los programadores de
objetos suelen buscar. Sin embargo a menudo, por razones practicas es
posible que un objeto desee exponer alguna de sus variables miembro, o
proteger otras de sus propios mtodos o funciones miembro. Por ejemplo
Java permite establecer 4 niveles de proteccin de las variables y de las
funciones miembro para casos como este. Los niveles de proteccin
determinan que objetos y clases pueden acceder a que variables o a que
mtodos.
De cualquier forma, el hecho de encapsular las variables y las funciones
miembro relacionadas proporciona dos importantes benecios a los
programadores de aplicaciones:
Capacidad de crear mdulos: El cdigo fuente de un objeto puede escribirse y
mantenerse independientemente del cdigo fuente del resto de los objetos.
De esta forma, un objeto puede pasarse fatuamente de una parte a otra del
programa. Podemos dejar nuestra bicicleta a un amigo y sta seguir
funcionando.

Robles Robles Mario


Proteccin de informacin: Un objeto tendr una interfaz publica
perfectamente denida que otros objetos podrn usar para comunicarse con
el. De esta forma, los objetos pueden mantener informacin privada y
pueden cambiar el modo de operar de sus funciones miembros sin que esto
afecte a otros objetos que usen estas funciones miembro. Es decir, no
necesitamos entender como funciona el mecanismo de cambio de marcha
para hacer uso de el.

1.3 Mensajes.
Normalmente un nico objeto por si solo no es muy til. En general, un
objeto aparece como un componente mas de un programa o una aplicacin
que contiene otros muchos objetos. Es precisamente haciendo uso de esta
interaccin como programadores consiguen una funcionalidad de mayor
orden y modelar comportamientos mucho mas complejos. Una bicicleta (a
partir de ahora se puede particularizar) colgada de un gancho en el garaje no
es mas que una estructura de aleacin de titanio y un poco de goma. Por si
sola, la bicicleta (por poner una bicicleta en concreto) es incapaz de
desarrollar ninguna actividad. La bicicleta es realmente til encanto que otro
objeto (una persona) interacta con ella (pedalea).
Los objetos de un programa interactuar y se comunican entre ellos por medio
de mensajes. Cuando un objeto A quiere que otro objeto B ejecute una de sus
funciones miembro (mtodos de B), el objeto A manda un mensaje al objeto
B. En ocasiones, el objeto que recibe el mensaje necesita mas informacin
para saber exactamente lo que tiene que hacer; por ejemplo, cuando se desea
cambiar la marcha de una bicicleta, se debe indicar la marcha a la que se
quiere cambiar. Esta informacin se pasa junto con el mensaje en forma de
parmetro.
La siguiente gura muestra las tres partes que componen un mensaje:

1.- El objeto al cual se manda el mensaje (La Bicicleta)

2.- El mtodo o funcin miembro que debe ejecutar (Cambiar de Marcha)

3.- Los parmetros que necesita ese mtodo (Marcha)

Estas tres partes del mensaje (objeto destinatario, mtodo y parmetros) son
suciente informacin para que el objeto que recibe el mensaje ejecute el
mtodo o la funcin miembro solicitada. Los mensajes proporcionan dos
ventajas importantes:
1.- El comportamiento de un objeto esta completamente determinado (a
excepcin del acceso directo a variables miembro publicas) por sus mtodos,
as que los mensajes representan todas las posibles interacciones que pueden
realizarse entre objetos.

Robles Robles Mario


2.- Los objetos no necesitan formar parte del mismo proceso, ni siquiera
residir en un mismo ordenador para mandarse mensajes entre ellos (y de
esta manera interactuar).

1.4 Herencia.
Una vez que hemos visto el concepto de clase y de objeto, estamos en
condiciones de introducir otra de las caractersticas bsicas de la
programacin orientada a objetos: el uso de la herencia.
El mecanismo de herencia permite denir nuevas clases partiendo de otras
ya existentes. Las clases que derivan de otras heredan automticamente todo
su comportamiento, pero ademas pueden introducir caractersticas
particulares propias que las diferencian.
Como se ha visto, los objetos se denen a partir de clases. Con el mero hecho
de conocer a que clase pertenece un objeto, ya se sabe bastante sobre el.
Puede que no sepamos lo que es la espada, pero si nos dicen que es una
bicicleta, ya sabremos que tiene dos ruedas, manillar, pedales
La POO va mas all, permitiendo denir clases a partir de otras clases ya
construidas. Por ejemplo, las bicicletas de montaa, las de carretera y los
tndems son todos, en denitiva, bicicletas. En trminos de POO, son
subclases o clases derivadas de la clase bicicleta. Anlogamente, la clase
bicicleta es la clase base o superase de las bicicletas de montaa, las de
carretera y los tndems.
Cada subclase hereda los estados (en forma de declaracin de variables) de la
superase de la cual deriva. Las bicicletas de montaa, las de carretera y los
tndems comparten algunos estados: cadencia, velocidad ademas, cada
subclase hereda los mtodos de su superclase.
Las bicicletas de montaa, las de carretera y los tndems comparten algunos
comportamientos: frenar y cambiar la cadencia de pedaleo, por ejemplo.
Sin embargo, las clases derivadas no se encuentran limitadas por los estados
y sus comportamientos que heredan de su superclase. Muy al contrario, estas
subclases pueden aadir variables y mtodos a aquellas que han heredado.
Los tandeos tienen dos asientos y dos manillares; algunas bicicletas de
montaa tienen una catalina adicional con un conjunto de marchas con
relaciones de transmisin mucho mas cortas. Las clases derivadas pueden
incluso sobreescribir los mtodos heredados y proporcionar
implementaciones mas especializadas para esos mtodos. Por ejemplo, si
nuestra bicicleta de montaa tuviera una catalina extra, podramos
sobreescribir el mtodo CambiarDeMarcha para poder usas esas nuevas
marchas.
Ademas, no estamos limitados a un nico nivel de herencia. El rbol de
herencias o jerarqua de clases puede ser tan extenso como necesitemos. Los

Robles Robles Mario


mtodos y las variables miembro se heredaran hacia abajo a travs de todos
los niveles de la jerarqua. Normalmente, cuanto mas abajo esta una clase en
la jerarqua de clases, mas especializado es su comportamiento. En nuestro
ejemplo, podramos hacer que la clase bicicleta derivase de una superclase de
vehculos.
La capacidad para crear clases nuevas a partir de otras existentes es la
motivacin y poder subyacente detrs de las tcnicas de programacin
orientadas a clases y a objetos. Hacer esto facilita reutilizar el cdigo
existente en formas nuevas sin necesidad de volver a hacer los procesos de
prueba y validacin. Permite a los diseadores de una clase ponerla a
disposicin de otros para adiciones y extensiones sin renunciar al control
sobre las caractersticas existentes de la clase.
La herencia es la capacidad de derivar una clase a partir de otra. La clase
inicial usada como base para la clase derivada se conoce como base, padre o
superclase. La clase derivada se conoce como derivada, hija o subclase, y esto
proporciona las siguientes ventajas:
1.- Las clases derivadas o subclases proporcionan comportamientos
especializados a partir de los elementos comunes que hereda de la clase base.
A travs del mecanismo de herencia los programadores pueden reutilizar el
cdigo de la superclase tantas veces como sea necesario.
2.- Los programadores pueden implementar las llamadas superases
abstractas, que denen comportamientos genricos. Las clases abstractas
denen e implementan parcialmente comportamientos, pero en gran parte
de estos comportamientos no se denen ni se implementan totalmente. De
esta forma, otros programadores pueden hacer uso de estas superases
detallando esos comportamientos con subclases especializadas. El propsito
de una clase abstracta es servir de modelo base para la creacin de otras
clases derivadas, pero cuya implementacin depende de las caractersticas
particulares de cada una de ellas. Un ejemplo de clase abstracta podra ser en
nuestro caso la clase vehculos. Esta clase seria una clase base genrica, a
partir de la cual podramos ir creando todo tipo de clases derivadas.

1.4 Polimorfismo.
Construir una clase a partir de otra se logra usando una capacidad llamada
herencia. Relacionada con esta capacidad hay una caracterstica igual de
importante llamada polimorsmo. El polimorsmo proporciona la
capacidad de redenir la forma en que operan las funciones miembro de
clases relacionadas basada en el objeto de la clase al que se esta haciendo
referencia. De hecho, para que un lenguaje de programacin sea clasicado
como un lenguaje orientado a objetos debe proporcionar las caractersticas
de clases, herencia y polimorsmo. El polimorsmo permite que el mismo
nombre de funcin invoque una respuesta en objetos de una clase base y otra
respuesta en objetos de una clase derivada.

Robles Robles Mario


2. Programacin Visual
Por mucho tiempo los desarrolladores de software han hecho su trabajo usando
lenguajes textuales de programacin, pero eso est cambiando. La
programacin visual es una alternativa de programacin que mejora la
produccin de aplicaciones de software.
El concepto de programacin visual es un poco confuso, ya que actualmente
se le considera programacin visual a los lenguajes de programacin textual
que tienen una interfaz grca para poder visualizar lo que uno est
desarrollando. El concepto programacin visual de igual forma se usa para
denotar una metodologa de programacin, en la cual por medio de iconos se
permite ir creando programas sin tener un lenguaje textual detrs.
La programacin visual se reere al desarrollo de software donde las
notaciones grcas y los componentes de software manipulables
interactivamente son usados principalmente para denir y componer
programas.
La programacin visual se dene comnmente como el uso de expresiones
visuales (tales como grcos, animacin o iconos) en el proceso de la
programacin, pueden ser utilizadas para formar la sintaxis de los nuevos
lenguajes de programacin visuales que conducen a los nuevos paradigmas
tales como programacin por la demostracin, o pueden ser utilizados en la
presentaciones grcas del comportamiento o de la estructura del programa.
El objetivo de la programacin visual es mejorar la comprensin de los
programas y simplicar la programacin en si. Mas all, la programacin
visual deber fomentar a los usuarios nales a construir sus propios
programas, que de otra forma deben ser escritos por programadores
profesionales.

2.1 Paradigma de la programacin visual


La programacin visual ofrece el potencial de mejorar la habilidad de los
usuarios (mas que de los programadores profesionales) para comunicar y
resolver problemas, mediante el uso de medios grcos. Para lograr esto se
requiere que se entornos de desarrollo amigables y fciles de utilizar por los
usuarios programadores.

2.2 Lenguajes de programacin visual y orientada a eventos


La programacin visual se basa en el uso de lenguajes visuales, los cuales se
denen de la siguiente manera:

Robles Robles Mario


Un lenguaje de programacin que usa una representacin visual (tal como
grcos, dibujos, animaciones o iconos, parcial o completamente).
Un lenguaje visual manipula informacin visual o soporta interaccin visual,
o permite programar con expresiones visuales.
Un lenguaje visual es un conjunto de arreglos espaciales de smbolos de texto
y grcos con una interpretacin semntica que es usada para comunicar
acciones en un ambiente.
Los lenguajes de programacin visual son lenguajes donde se usan tcnicas
visuales para expresar relaciones o transformaciones en la informacin.
Como el nombre lo indica, una gran parte de la programacin visual se
realiza visualmente. Esto signica que durante el tiempo de diseo, el
programador tiene la capacidad de ver la forma en que el programa se ver al
ejecutarse. Esta es una gran ventaja sobre otros lenguajes de programacin
debido a que se tiene la posibilidad de cambiar y experimentar con el diseo
hasta que se est satisfecho con los colores, proporciones e imgenes que se
incluyan en el programa.
Los lenguajes visuales y orientados a eventos dan al usuario que no cuenta
con mucha experiencia en desarrollo, pa posibilidad de construir sus propias
aplicaciones utilizando interfaces grcas sobre la base de ocurrencia de
eventos. Para soportar este tipo de desarrollo, interactan dos tipos de
herramientas, una que permite realizar diseos grcos y, un lenguaje de alto
novel que permite codicar los eventos. Con dichas herramientas es posible
desarrollar cualquier tipo de aplicaciones basadas en el entorno.
Visual Basic es uno de los lenguajes de programacin visual y con enfoque
orientado a eventos que mas entusiasmo despiertan entre los programadores
de computadoras, tanto expertos como novatos. En el caso de los
programadores expertos por la facilidad con la que se desarrollan
aplicaciones complejas en poqusimo tiempo (comparado con lo que cuesta
programar en visual C++, por ejemplo). En el caso de los programadores
novatos por el hecho de ver de lo que son capaces a los pocos minutos de
empezar su aprendizaje. El precio que hay que pagar por utilizar Visual Basic
es una menor velocidad o eciencia en las aplicaciones.
Visual Basic es un lenguaje de programacin visual, tambin llamado
lenguaje de cuarta generacin. Esto quiere decir que un gran numero de
tareas se realizan sin escribir cdigo, simplemente con operaciones grcas
realizadas con el ratn sobre la pantalla.
Visual Basic tambin se basa en objetos, aunque no es orientado a objetos
como Visual C++. La diferencia esta en que Visual Basic utiliza objetos con
propiedades y mtodos, pero carece de los mecanismos de herencia y
polimorsmo propios de los verdaderos lenguajes orientados a objetos como
Java y C++.

Robles Robles Mario


Los programas orientados a eventos son programas tpicos de Windows,
como Word, Excel, PowerPoint y otros. Cuando uno de estos programas ha
iniciado, lo nico que hace es quedarse a la espera de las acciones del
usuario, que en este caso son llamadas a eventos. El usuario dice si quiere
abrir y modicar un dichero existente, o bien comenzar a crear un chero
desde el principio. Estos programas pasan la mayor parte del tiempo
esperando las acciones del usuario (eventos) y respondiendo a ellas. Las
acciones que el usuario puede realizar en un momento determinado son
variadsimas, y exigen un tipo especial de programacin: la programacin
orientada a eventos. Este tipo de programacin es sensiblemente mas
complicada que la secuencial, pero con los lenguajes visuales de hoy, se hace
mas sencilla y agradable.
Ya se ha dicho que las acciones del usuario sobre el programa se llaman
eventos. Son eventos tpicos el click sobre un botn, el hacer doble click
sobre el nombre de un chero para abrirlo, el arrastrar un icono, el pulsar
una tecla o combinacin de teclas, el elegir una opcin de un men, el
escribir en una caja de texto, o simplemente mover el ratn.
Ademas de los eventos, la mayor parte de los objetos, como los formularios y
los controles, son suministrados con propiedades y mtodos. Una propiedad
es una signaron que describe algo sobre un objeto como un formulario. Los
mtodos son funciones que tambin son llamadas desde programa, pero a
diferencia de los procedimientos no son programadas por el usuario, sino
que vienen ya pre-programadas con el lenguaje. Los mtodos realizan tareas
tpicas, previsibles y comunes para todas las aplicaciones. De ah que vengan
con el lenguaje y que se libere al usuario de la tarea de programarlos. Cada
tipo de objeto o de control tiene sus propios mtodos.
En general solo pueden ser ejecutados en tiempos de ejecucin no en tiempo
de diseo. Algunos ejemplos de mtodos de formularios son el mtodo
MOVE, que mueve un formulario en un espacio de dos dimensiones en la
pantalla, y el mtodo ZORDER que sita el formulario delante o detrs de
otras ventanas.
Los mtodos son invocados dando nombres al objeto y cuyo mtodo se esta
llamando, listando el operador punto (.) y despus listando el nombre del
mtodo. Como cualquier rutina los mtodos pueden incorporar argumentos.

2.3 Diseo de interfaces visuales


Human-Computer Interaction. Es as como se denomina al estudio de cmo
los humanos interactan con los sistemas computarizados. Muchas
disciplinas contribuyen a esta rama de estudio y desarrollo, incluyendo las
ciencias de la computacin, psicologa, ergonoma, ingeniera, diseo
grco, y un largo y eclctico etctera. Cuando la gente interacta con los
sistemas computarizados, lo hacen por medio de lo que se denomina
Interfaz Visual o Interfaz de Usuario (GUI) esto es la parte de un sistema
computacional con el cual el usuario interactuar para emprender sus

Robles Robles Mario


acciones y alcanzar sus metas en trminos de manejo de informacin, o
creacin de contenidos mediante software.
Las interfaces grcas son el principal elemento que el usuario percibe en los
programas diseados usualmente mediante la metodologa de programacin
orientada a eventos. La interfaz visual o interfaz de usuario es un conjunto de
elementos a travs de los cuales un usuario interacta con un ordenador,
concretamente con un programa de computadora, y la informacin que el
software manipula o los contenidos que este crea.
El ser humano al interactuar con los objetos que le rodean, tiene unas
expectativas de como stos deben comportarse, basado en experiencias
anteriores con ellos. Debido a que el usuario tiene su propia forma de ver las
cosas, y espera de ellas un comportamiento predecible, es importante hacer
uso de metforas que permitan crear interfaces visuales buenas, en trminos
de usabilidad y capacidad de intuicin por parte del usuario para el manejo
de la interfaz.
La usabilidad se dene en la parte 11 del estndar USO 9241 como la medida
en la que un producto puede ser usado por usuarios especcos para alcanzar
metas especicas con efectividad, eciencia y satisfaccin en un contexto de
uso especico. Efectividad es la precisin e integridad con la que usuarios
especcos pueden alcanzar metas en ambientes particulares. Por otro lado,
la eciencia se dene como una medida en funcin de la cantidad de
recursos gastados y la precisin e integridad de las metas alcanzadas. La
satisfaccin es la comodidad y y aceptabilidad del sistema de trabajo para sus
usuarios y otra gente afectada por su uso.
Una interfaz de usuario que es efectiva en un contexto, puede no ser
igualmente efectiva en otro. Como diseadores de interfaces visuales, los
programadores deben considerar el contexto en el que el sistema ser usado.
Las interfaces visuales tienen tanta importancia, que impactan directamente
en la productividad de la gente que usa los programas. Por ejemplo los
usuarios que disfrutan de usar un sistema son mas productivos, en trminos
de que mejora la usabilidad, y la efectividad de los mismos al usar un sistema
cuya interfaz visual es agradable y eciente.

2.4 Aplicaciones
Una aplicacin es simplemente un programa informtico creado para llevar a
cabo o facilitar una tarea especica en un dispositivo informtico que puede
ser un ordenador, o un dispositivo mvil. Cabe destacar que aunque todas las
aplicaciones son programas, no todos los programas son aplicaciones. Existe
multitud de software, pero solo se le denomina as a aquel que ha sido creado
con un n determinado, para realizar tareas concretas. No se considerar una
aplicacin por ejemplo un sistema operativo, ni una suite; pues su propsito
es general.

Robles Robles Mario


Las aplicaciones nacen de alguna necesidad concreta de los usuarios, y
tambin pueden responder a necesidades ldicas o laborales. Se suele decir
que para cada problema hay una solucin, y en informtica para cada
problema hay una aplicacin.
Naturalmente, el campo de las aplicaciones es tan extenso, y las funciones
tan dispares, que se han creado numerosas clasicaciones, segn varios
criterios. As, por ejemplo, dependiendo del uso que se le vaya a dar,
podemos tener aplicaciones profesionales o personales. Tambin podemos
hablar de aplicaciones para Windows, Linux, Android, Apple, PC, mvil,
segn el sistema operativo o la plataforma que vayamos a usar. Segn su
nalidad, pueden ser de entretenimiento, de negocios, empresariales, de
sonido, grcas, de edicin, web, didcticas... e incluso segn la rama de las
ciencias en el que se usen podemos decir que hay aplicaciones de ingeniera,
de telecomunicaciones, matemticas... y un largo etctera.

Referencias:

C++ Para Ingeniera y Ciencias, Segunda Edicin.


Gary J. Bronson.

Programming for Humans: A New Paradigm for Domain-Specic


Languages.
University Of Cambridge.

Introduccin a la Programacin Orientada a Objetos.


Luis R. Izquierdo.

Principles of Software Driven User Interface Design for Business


and Industrial Applications.
Robert Japenga.

You might also like