Busca monografías, tesis y trabajos de investigación

Buscar en Internet 

       Revistas   Cursos   Biografías

rss feeds RSS / /

Reingeniería para sistemas de evaluación teórica

Resumen: El presente trabajo está enmarcado en la modernización de un sistema para evaluar teóricamente a los aspirantes a obtener licencia de conducción, aunque pudiera ser usado para cualquier otra área en que se necesite evaluar los conocimientos teóricos.

Publicación enviada por Ing. Juan Carlos Quevedo Lusson




 


Reingeniería para sistemas de evaluación teórica

RESUMEN
El presente trabajo está enmarcado en la modernización de un sistema para evaluar teóricamente a los aspirantes a obtener licencia de conducción, aunque pudiera ser usado para cualquier otra área en que se necesite evaluar los conocimientos teóricos.

Tiene como objetivo realizar una reingeniería al sistema de evaluación teórica desarrollada por el proyecto Auto-Teórico de la Facultad 5 de la Universidad de las Ciencias Informáticas, para mejorar el funcionamiento de dicho sistema, las clases y componentes obtenidos podrán servir de framework para desarrollar sistemas similares.

El presente documento recoge un resumen de los resultados del trabajo investigativo realizado. Se explican los conceptos relacionados con el mismo, y se realiza una propuesta del diseño del sistema.

Palabras clave: Evaluación Teórica, reingeniería, licencia de conducción


ÍNDICE

Introducción
Desarrollo
     Descripción del objeto de estudio y el campo de acción del trabajo
     Reingeniería
     Tendencias actuales en el desarrollo de software
          Aplicaciones genéricas
          Modularidad
          Extensibilidad
     Metodologías propuestas.
     Análisis de otras soluciones similares.
     Propuesta de solución técnica
Conclusiones
Referencias bibliográficas

INTRODUCCIÓN
Hoy en día es muy conocido el proceso que se lleva a cabo para adquirir la licencia de conducción. Uno de los pasos de este proceso consiste en el examen teórico, para evaluar los conocimientos de los temas referentes a las regulaciones del tránsito que poseen los aspirantes. Normalmente este examen se realiza mediante una prueba escrita en la que el examinado deberá responder una serie de preguntas de temas del tránsito, lo cual puede resultar tedioso en ocasiones, tanto para el los evaluados como para los evaluadores, que deben calificar todos esos exámenes, lo cual puede dar a lugar a errores en la evaluación de los mismos.

Así es que la Universidad de las Ciencias Informáticas (UCI), institución educacional dedicada además a la producción de software, ha entrado en colaboración con la empresa SIMPRO (Simuladores Profesionales), con el objetivo de desarrollar el sistema CISMA para automatizar el proceso de examinación teórica que se realiza para la obtención de la licencia de conducción.

Este sistema funciona a través de una aplicación que muestra una interfaz gráfica con videos de situaciones del tránsito con sus preguntas correspondientes, con la que interactúa el evaluado cuando realiza el examen. El sistema existente actualmente es muy dependiente de todos los módulos o aplicaciones que lo componen para su funcionamiento, si falta uno de ellos no funciona correctamente, por lo que cada vez que un cliente necesita eliminar o adicionar un nuevo módulo, se debe reprogramar gran parte del sistema y dar una versión nueva del producto, esto dificulta en gran medida la implantación del sistema en otras áreas.

De ahí el surgimiento de este trabajo como necesidad de dar respuesta a las situaciones antes expuestas, por lo que el problema a resolver consiste en: ¿Cómo eliminar el alto acoplamiento de los módulos del sistema, de forma tal que solo con un mínimo de esfuerzo de programación, pueda satisfacer las necesidades de cualquier cliente de añadir o eliminar módulos al mismo?

El objetivo general del presente trabajo es realizar una reingeniería al sistema para evaluar teóricamente a las personas interesadas en obtener licencia de conducción, desarrollado por el proyecto Auto Teórico de la facultad 5, para obtener un nuevo sistema que permita su usos en cualquier área que requiera una calificación de los conocimientos de la teoría relacionada con dicha actividad, dividido en módulos con bajo nivel de acoplamiento entre ellos y con la plataforma de almacenamiento de datos.

Para dar cumplimiento al objetivo se propone la realización de las siguientes tareas:
• Análisis de cómo se encuentran en el ámbito internacional las tecnologías que se utilizan para llevar a cabo herramientas como la que se pretende modificar.
• Desarrollo de la reingeniería un sistema que permita la evaluación teórica de las personas interesadas.

El desarrollo de esta aplicación permitirá minimizar las constantes actualizaciones a las que estaba sometido el sistema Evaluador Teórico. Además se extenderá y comercializará el nuevo sistema a otros clientes nacionales e internacionales.

Con el propósito de desarrollar las tareas planteadas, se utilizaron los métodos de investigación siguientes:

Métodos Empíricos:
Se utilizaron en la recogida de información y recopilación de los datos relacionados con el producto.
• Observación: Para conocer los detalles fundamentales las NTIC (nuevas tecnologías de la informática y las comunicaciones).
• Entrevista: Para conocer como funcionan todos los fenómenos que se analizan en el presente trabajo.

Métodos Teóricos:
• Analítico sintético: La revisión bibliográfica se realizó sobre un conjunto de libros, revistas, publicaciones, monografías y documentos en soporte electrónico, que se encuentran situados en Páginas Web, Internet, Trabajos de Curso, Revistas, etc. y se usó para sintetizar todas las citas, apuntes, datos, etc. tomados al respecto.
• Inductivo deductivo: Partiendo del análisis de las generalidades permite llegar a los puntos particulares de este trabajo.

DESARROLLO
Descripción del objeto de estudio y el campo de acción del trabajo. Un grupo de desarrollo de la Facultad 5 de la Universidad de Ciencias Informáticas ha desarrollado un software, con el objetivo de evaluar las habilidades de los aspirantes a obtener la licencia de conducción, dividido en un Evaluador Teórico y un Evaluador Práctico; de manera tal que el sistema desarrollado con nombre Evaluador Teórico, tiene como objetivo principal informatizar el proceso de realización de exámenes teóricos para acceder al permiso o licencia de conducción.

Este sistema está dividido en varios módulos que pueden variar según la petición del cliente para el cual se realiza. Estos módulos pueden ser:
• Empleado Bancario: Donde se chequeará el pago del examen por los aspirantes a obtener licencia de conducción (en los países que se cobre por realizar este examen).
• Área de Registro: Donde se realizará el registro de los datos primarios del aspirante.
• Área de Salud: Donde se actualizan los parámetros biométricos obtenidos mediante el chequeo médico aplicado al aspirante a obtener licencia de conducción.
• Módulo de Supervisión: Desde este módulo se tiene un acceso a los exámenes realizados en los distintos puestos de trabajo, y se chequean una serie de variables como son tiempo de ejecución del examen, pregunta por la que se encuentra, una imagen del video que se está visualizando en cada puesto, al finalizar cada examen permite imprimir un reporte con los datos del aspirante a obtener la licencia de conducción y su calificación en el examen realizado.
• Módulo de Examen: En este módulo se realiza el examen, permite visualizar los videos con las preguntas, da opción de responder las mismas y de repetir el video.
• Módulo de Administración: Desde el cual se pueden obtener reportes a partir de todos los datos almacenados por el sistema, administrar las situaciones a presentar en el examen, configurar la cantidad de preguntas de cada temario y otros datos relativos al examen como tiempo máximo de ejecución permitido.

Como se puede ver son varios los módulos existentes en el sistema, aunque no todos son necesarios: se incluyen o eliminan a petición del cliente que compre el producto. De esos módulos algunos pueden funcionar sin la presencia de los otros, como un sistema en sí mismo.

Por lo anteriormente expuesto se debe realizar un estudio de cómo lograr un sistema que pueda asimilar cuantos módulos se le quieran incluir o eliminar y que además pueda tener módulos que funcionen independientemente de la presencia de los otros. El sistema debe ser configurable para cualquier tipo de evaluación teórica, no solamente la que se realiza para obtener licencia de conducir.

Reingeniería
La reingeniería del software ha sido y es un tema muy importante para muchas empresas y organismos que tienen que seguir manteniendo sus aplicaciones porque sus desarrollos han sido costosos y adaptados a sus necesidades, lo que en muchos casos hace que no existan aplicaciones comerciales similares. El inconveniente es que estos sistemas con el paso de los años presentan un aspecto obsoleto, mostrando pantallas y diseños ya descartados.

La reingeniería de sistemas tiene por finalidad reestructurar o transformar viejos sistemas en aplicaciones más fáciles de mantener, con entornos más agradables e integradas en nuevas plataformas de hardware/software. [Álvarez 2004].

El Instituto de Ingeniería de software (SEI) desarrolló una definición de Reingeniería como: “la transformación sistemática de un sistema existente dentro de una nueva forma de realizar mejoramientos de calidad en unas operaciones, capacidad del sistema, funcionalidad, rendimiento o capacidad de evolución a bajo costo, agendas o riesgos para el cliente".[Carmona 2004]

La reingeniería casi siempre implica cambiar la forma de un programa y mejorar su documentación. En este caso, la funcionalidad del programa no es cambiada; sólo su forma es modificada. En otros casos, la reingeniería va más allá de la forma e incluye rediseñar para cambiar la funcionalidad del programa para buscar mejores requerimientos de usuario. En este trabajo de diploma la funcionalidad no es cambiada pero se enriquece permitiendo que el software sea escalable, por lo que se aplican ambas variantes de la reingeniería.

La siguiente lista muestra las razones por las que es aplicable la reingeniería al Sistema Evaluador Teórico existente:
• Frecuentes fallas de producción (fiabilidad cuestionable).
• Problemas de rendimiento.
• Problemas de integración del sistema.
• Código de baja calidad.
• Dificultad al cambio.
• Dificultad para probar.
• Incremento de problemas del sistema.

Tendencias actuales en el desarrollo de software
En el contexto mundial actual existen tendencias en el desarrollo de software que se van imponiendo para lograr productos de alta calidad, y bajos costos de elaboración. La reusabilidad de código, extensibilidad del producto, genericidad de las aplicaciones, son algunos ejemplos de estas tendencias. Se pueden citar otras como el usar varios sistemas gestores de bases de datos o programar aplicaciones que sean independientes de la plataforma de almacenamiento de datos, el uso de una metodología de desarrollo de software como el Proceso Unificado Racional (RUP) o la Programación Extrema (XP).

Aplicaciones genéricas
La tendencia a realizar aplicaciones genéricas cada vez es mayor, debido a las múltiples facilidades que brinda, construir aplicaciones capaces de ser adaptadas a diferentes realidades es de vital importancia para el desarrollo de software. De esta forma, es posible adaptarse rápidamente a los cambios que ocurren en las organizaciones y reutilizar una aplicación en un amplio espectro de realidades.

La genericidad es un recurso importante de factorización y reusabilidad en la programación, las funciones y los tipos genéricos soportados por la programación funcional son una buena base para introducir conceptos de reutilización de código.

Sin duda alguna realizar aplicaciones genéricas por estos días es la mejor opción para lograr un exitoso desarrollo de software.

Modularidad
Un problema complejo no puede solucionarse de una sola vez, por eso una de las técnicas mas utilizadas en la programación es la de dividir este problema en sub-problemas más sencillos, que den la solución al problema original. Para resolver estos sub-problemas se necesita crear y trabajar con subprogramas llamados módulos, de ahí el nombre de programación modular.

La programación modular consta de varias secciones dividas de forma que interactúan a través de llamadas a procedimientos, que integran el programa en su totalidad. El programa principal coordina las llamadas a los módulos secundarios y pasa los datos necesarios en forma de parámetros.

De ahí la importancia de este tipo de programación, es que sus módulos son independientes, es decir pueden ser modificados o reemplazados sin afectar el resto del programa o pueden ser reutilizado en otros programas.

La ventaja de utilizar el diseño modular es que sus módulos pueden escribirse y probarse por separados y son más fáciles de mantener y documentar.

Extensibilidad

La extensibilidad de un programa o aplicación informática es la capacidad que presentan de adaptarse a los cambios de especificación.

Para programas pequeños realizar cambios de los requisitos, de los algoritmos, de la representación de los datos, de las técnicas de implementación, etc., no es una tarea difícil; pero a medida que el software crece comienza a ser cada vez más difícil de adaptar, aunque la extensibilidad se pueden aplicar con pequeños programas, su importancia sólo se refleja con claridad en los grandes proyectos.

Los principios esenciales de la extensibilidad son:
Simplicidad del diseño: una arquitectura simple siempre será más fácil de adaptar a los cambios que una compleja.
Descentralización: cuanto más autónomos sean los módulos, existe una mayor probabilidad de que un cambio afecte a un solo módulo, o a un número pequeño de módulos, en lugar de provocar una reacción en cadena de cambios en el sistema completo.

Metodologías propuestas
El Proceso Unificado es un proceso de desarrollo de software (conjunto de actividades necesarias para transformar los requisitos de un usuario en un sistema de software). Es un marco de trabajo genérico que puede especializarse para una gran variedad de sistemas de software, para diferentes áreas de aplicación, diferentes tipos de organizaciones, diferentes niveles de aptitud y diferentes tamaños de proyectos.

El Proceso Unificado está basado en componentes. Utiliza el lenguaje unificado de modelado (UML) para preparar todos los esquemas de un sistema de software. De hecho, UML es una parte esencial de RUP, sus desarrollos fueron paralelos. No obstante los verdaderos aspectos definitorios del proceso unificado se resumen en tres fases claves: dirigido por casos de uso, centrado en la arquitectura, e iterativo e incremental. [Rational 2004]

Análisis de otras soluciones similares
Los accidentes de tránsito son una de las principales causas de muerte en todo el mundo. Por eso, hay gran preocupación por desarrollar nuevas tecnologías con el fin de prevenirlos y disminuir sus consecuencias.

El examen teórico de conducción es un trámite que se realiza por muchas personas en el mundo diariamente, sirve para medir los conocimientos de cada aspirante a obtener la licencia de conducir. Con la tendencia que existe de informatizar cada servicio o actividad de la vida diaria este trámite no pasa desapercibido a esta inclinación de la tecnología. En varios lugares del mundo se automatiza el proceso de evaluación teórica para obtener licencia de conducción.

En Cuba actualmente no existe ninguna aplicación que automatice el proceso de evaluación para obtener licencia de conducción. Por otra parte a nivel internacional en Suecia, se automatiza el proceso de evaluación teórica, mediante el sistema ProvIT, en la página web http://www.ore.vv.se/provit/main.htm se puede acceder a una versión demo de dicho sistema. El examen se hace según los siguientes requisitos:[Sin_autor]

• El examen se hace con un ordenador. Hay varias opciones, pero sólo es correcta una de las respuestas para cada pregunta.
• Para las categorías A, B y para una licencia de tractor, dispondrá de 50 minutos para responder 70 preguntas.
• El examen incluye 5 preguntas de “prueba” que no se contabilizan en el resultado final. Esto se hace con la intención de encontrar preguntas adecuadas para utilizarlas en exámenes teóricos en el futuro.
• Cuando haya finalizado el examen, se mostrará inmediatamente en la pantalla el resultado.
• Para aprobar en las categorías A, B y una licencia de tractor, debe obtener 52 puntos. En las otras categorías de licencia se requieren 44 puntos para aprobar el examen. Se le dará un punto por cada respuesta correcta.

Analizando la aplicación demo existente de dicho producto se puede concluir que las preguntas del examen teórico aparecen en un texto y acompañadas visualmente de imágenes que ayudan a comprender su significado. Tienen varias opciones para responder pero una sola es la correcta. En el sitio web donde se muestra la versión demo no aparece ninguna referencia a si el software es o no gratuito.



Ilustración 1. Interfaz gráfica de la versión demo de ProvIT.

En Chile, en la comunidad municipal de Huechuraba, también se aplica el examen por computadora, seleccionándose una cantidad aleatoria según sea la categoría del examen a realizar. El examen se realiza en una página web donde se aparecen las preguntas y se pueden responder en la misma. En la página web http://www.huechuraba.cl/webint/transito.htm se encuentra disponible información acerca de los trámites a realizar para examinarse y acerca de los diferentes tipos de examen que se aplican.

En Perú, también se usa un sistema automatizado para la realización del examen teórico. Una versión demo del sistema puede ser hallada en la dirección web: www.brevetesperu.com.

Actualmente en Republica Dominicana y en Guatemala se aplica la primera versión del sistema evaluador teórico CISMA, el cual es nuestro objeto de estudio.

El mismo sistema aplica como algo novedoso la proyección de videos con situaciones del tránsito para a raíz de las mismas plantear una interrogante al aspirante a obtener la licencia de conducción. La pregunta se muestra en la pantalla al finalizar el video en forma de texto, y en una audición. Las preguntas tienen solo dos formas de responder: Verdadero o Falso, y las respuestas se hacen mediante dos botones que presenta la interfaz gráfica del software, esto se debe a que la población de estos dos países son en su mayoría analfabetos y se quería tener un sistema que no fuese complicado de manipular por parte de los aspirantes a obtener licencia de conducción, el sistema cuenta además con varios módulos que fueron descritos en el epígrafe 1.2.

Los otros sistemas encontrados no explotan mucho la posibilidad de brindar información gráfica y auditiva de las preguntas del examen, el único uso que le dan a elementos gráficos es mediante imágenes con señalizaciones del tránsito. Otra deficiencia que tienen los sistemas que aparecen a nivel internacional es una interfaz gráfica bastante deficiente en cuanto a diseño, con poca estética visual. Lo positivo de estos sistemas es que las preguntas tienen varias opciones para responder, no solo verdadero y falso como el sistema CISMA.

También existen diversos sitios en Internet que siguen la óptica de test evaluativos, donde los usuarios realizan una especie de examen para ver si es óptimo el nivel de conocimientos que poseen con respecto a las leyes del tránsito, pero sólo con este propósito.

Propuesta de solución técnica
Para solucionar la problemática planteada en este trabajo de diploma, se construye un sistema que sirva para la evaluación de conocimientos teóricos, y que además constituya un framework para facilitar el desarrollo de otros sistemas que tengan el mismo objetivo. Con módulos bien definidos, basado en interfaces de comunicación entre ellos que permitan su posterior uso en otras aplicaciones. Este sistema es genérico, con el objetivo de ampliar el área de aplicación del mismo a cualquier entidad que necesite de un sistema parecido para automatizar el proceso de evaluación de conocimientos teóricos y aumentar al mismo tiempo el mercado de venta del sistema y por consiguiente las ganancias que puede aportar por concepto de comercialización.

La metodología usada para desarrollar el proyecto es RUP, que garantiza la elaboración de todas las fases de un producto de software orientado a objeto. RUP no es simplemente un proceso, sino un marco de trabajo extensible que puede ser adaptado para diferentes áreas de aplicación, diferentes organizaciones o proyectos específicos. Está metodología entre sus múltiples ventajas ayuda a asegurar la producción de software de alta calidad con un costo y tiempo predecible para el usuario.

En vistas de que se quiere realizar un software de calidad y siguiendo metodologías de desarrollo de software como RUP, donde se usa la programación orientada a objetos, debemos desechar el lenguaje C, ya que este no incorpora el paradigma de Programación Orientado a Objetos (POO), el lenguaje de programación Java, nos brinda facilidades a la hora de programar, pues es multiplataforma, y podríamos obtener un software que corriera en cualquier sistema operativo, pero tiene los inconvenientes de que las aplicaciones de escritorio son poco comunes en este lenguaje de programación, debido a lo lentas que resultan y otras inconveniencias que posee el mismo, si a esto se le añade que las máquinas virtuales de java para compilar el código de nuestra aplicación poseen licencia comercial (deben ser pagadas por su uso), esto conlleva a desechar también este lenguaje de programación, en el caso del C#, la no existencia de compiladores para este lenguaje que no generen los programas para la plataforma .NET, y el hecho de que los compiladores de este lenguaje de programación también poseen licencia comercial, indican que la solución factible para programar el software deseado es hacerlo en C++, si se programa usando los tipos básicos de este lenguaje, se haría más factible una migración a software libre, ya que las versiones actuales del sistema solo corren en plataforma Win32.

Para la realización de este trabajo se tiene en cuenta que el sistema debe ser independiente de la plataforma de almacenamiento de los datos, por lo que se crea un sistema de clases de acceso a datos para la manipulación de los mismos, que pueden estar en cualquier tipo de servidor de bases de datos, en la primera versión se usarán los gestores MySQL, Firebird y Microsoft SQL Server 2000, además del uso de ficheros XML para cuando el sistema deba correr como una aplicación en modo solitario (solamente se ejecuta el módulo del examen, con vistas a preparar a los aspirantes).

Se usa una arquitectura de 3 capas, dividas en:
• Capa de aplicación
• Capa de negocio
• Capa de acceso a datos

Se aplican patrones de diseño como el Row Data Gateway, en la capa de acceso a datos, el cual consiste en un objeto que actúa como puerta de acceso a un record en la fuente de datos (base de datos), existiendo una instancia del mismo por cada fila que exista en la tabla de la base de datos.

En la interfaz de usuario del sistema predominan los colores del semáforo, (verde, rojo, amarillo y negro). Ya que el sistema está muy relacionado con todo el tema del tránsito. Además se trata de no recargar demasiado la interfaz con elementos que puedan disociar al examinado de su objetivo principal, que es realizar el examen teórico para obtener la licencia de conducción. Los mensajes de error del sistema se muestran en una ventana de color rojo, y los de confirmación o notificación en una de color verde.

A continuación se muestran varias capturas de pantalla del sistema en funcionamiento.


Ilustración 2. Interfaz de usuario del Instructor


Ilustración 3. Interfaz de usuario del Cliente


Ilustración 4. Imagen tomada del manual de usuario del sistema.

CONCLUSIONES

Luego del análisis exhaustivo de los temas referentes a las tendencias mas usadas en el desarrollo de software como el que se quiere redefinir, las diferentes variantes para realizar la reingeniería de sistemas informáticos, las metodologías de desarrollo de software y a partir de la investigación realizada para la obtención de este Sistema de Evaluación Teórica, utilizando el Proceso Unificado de Desarrollo de Software (RUP), y el Lenguaje de Modelación Unificado (UML) se llega a las siguientes conclusiones:

• A través del estudio que se llevó a cabo se detectaron varios aspectos que incidían en el desempeño del anterior sistema de evaluación teórica.
• Como solución a los problemas encontrados se decide realizarle una reingeniería al sistema existente para resolver los defectos que tenía.
• La herramienta desarrollada, incorpora nuevas funcionalidades al sistema ya existente y brinda la posibilidad de añadir nuevos módulos sin tener que cambiar completamente el sistema. Es flexible, segura, capaz de con solo pocos pasos de configuración trabajar con variados sistemas gestores de bases de datos.
• Se obtiene una framework para el desarrollo de sistemas de evaluación teórica que pueden usarse en cualquier lugar que se necesite evaluar conocimientos teóricos, no solo para obtener licencia de conducción.
• Se facilita la migración a otras plataformas al encapsular bien los diferentes módulos que componen el sistema y separar completamente la interfaz de usuario de la lógica del negocio y ambas de la capa de acceso a datos. Se aplican además varios patrones de acceso a datos, como el Data Row Gateway.

Con la propuesta y el estudio realizado se materializan los objetivos planteados al inicio de esta investigación: Desarrollar una reingeniería a un sistema para la evaluación teórica. Actualmente el sistema se encuentra en estado listo para su despliegue.

REFERENCIAS BIBLIOGRÁFICAS
[Carmona 2004]: Carmona, N. J. F. (2004 ). “Reconstrucción de la arquitectura: Una actividad de la reingeniería de software”. Leon, Instituto Tecnológico de León. Retrieved 07/02/2007, from http://www.monografias.com/trabajos17/reingenieria-software/reingenieria-software.shtml#reing.
[Rational 2004]: Corporation, R. (2004) "Lo nuevo de Rational Rose 2000". Retrieved 21/01/2007, from http://www.abists.com.mf/Fabs/Rational/notasTK
[Histchfeld]: Histchfeld, P. S. C. y. N. "Tutorial de UML." Retrieved 02/11/2007.
[Álvarez 2004]: Juan Carlos Álvarez García, M. M. S., María N. Moreno García (2004). “Metodología de Reingeniería del Software para la remodelación de aplicaciones científicas heredadas”, Universidad de Salamanca: 22.
[Caro 2004]: Patricio Salinas Caro, N. H. K. (2004). "Unified Modeling Language." Retrieved 17/02/2007, from www.dcc.uchile.cl/~psalinas/uml.
[Sin_autor]: Sin_autor "Examen de conducir - teórico y práctico" Retrieved 23/01/2007, from http://www.vv.se/templates/page3____5517.aspx

AUTOR
Ing. Juan Carlos Quevedo Lussón

Afiliación y direcciones:
Ingeniero en Ciencias Informáticas
Profesor de Gestión de Software en la Universidad de las Ciencias Informáticas
jquevedo@uci.cu
juankql@gmail.com



Valora este artículo 5   4   3   2   1

Comparte  Enviar a facebook Facebook   Enviar a menéame Menéame   Digg   Añadir a del.icio.us Delicious   Enviar a Technorati Technorati   Enviar a Twitter Twitter
Artículos Destacados