Boletin4 07102013

Page 1

BOLETÍN INFORMATIVO DE LA FACULTAD DE INGENIERIA

07/10/2013 Volumen 1, nº 4

CALIDAD FI: FORMANDO INGENIEROS INTEGRALES El Ministerio de Educación Nacional busca que todos los programas de Educación Superior del país, ofrezcan a sus estudiantes estándares de calidad que les permitan a éstos tener oportunidades de acercarse al conocimiento con las herramientas más adecuadas, y adquirir habilidades que faciliten su inserción en el mundo laboral. La facultad de Ingeniería no es ajena a esto y por ello hace esfuerzos para que la Acreditación de Alta Calidad, más que un objetivo sea una vivencia académica que involucre los estudiantes, docentes y la Institución en general. El Consejo Nacional de Acreditación (CNA) es el ente gubernamental encargado de evaluar los programas académicos e instituciones para otorgar la Acreditación de Alta Calidad.

Herramientas matemáticas: MATLAB ............................. 2

La evaluación aplicada por el CNA abarca 10 factores: 

Misión, Visión y Proyecto Institucional y de Programa



Estudiantes



Profesores



Procesos académicos



Investigación y creación artística y cultural



Visibilidad nacional e internacional



Impacto de los egresados sobre el medio



Bienestar institucional



Organización, administración y gestión

Contenido

Acceso a Internet a través de la Red eléctrica ................... 3 La era de la experiencia ..... 3 Disminución de la Brecha Tecnológica en Colombia a través del uso de Software OpenSource. ...................... 3 Prácticas CMMI con Metodologías Ágiles ..................... 5 Inteligencia Artificial y las nuevas películas de Hollywood.6 Refactorización y reingeniería para los sistemas legados .. 8

 Recursos físicos y financieros En cada boletín informativo de la Facultad se irán compartiendo los elementos que constituyen la calidad de los programas académicos y cómo la comunidad académica (docentes, estudiantes, egresados, investigadores, entre otros) hará parte activa de la construcción de un entorno cuya esencia sea el mejoramiento continuo.

Conceptualización y plataformas de e-learning .......... 9 RETO UNAC (segunda parte) .................................. 11 BIG DATA........................... 12

Decanatura FI

1


Herramientas matemáticas: MATLAB Jennifer Arias Especialista en didáctica de las Ciencias . Directora Departamento de Ciencias Básicas jarias@unac.edu.co

Con los grandes avances de las tecnologías de la información y la comunicación, la ingeniería enfrenta muchísimos desafíos en éste siglo, desafíos que responden a las necesidades de un mundo en proceso de globalización.

Un caso particular es el uso de Matlab. Matlab se ha convertido en el entorno de computación técnica preferido de muchos ingenieros y científicos porque es un sistema interactivo único que incluye cómputo numérico, cómputo simbólico y visualización científica.

Los ingenieros deben estar en la capacidad de resolver problemas del mundo real usando algunos principios científicos de disciplinas que incluyen matemáticas, física, química y ciencias de la computación, y existen muchas herramientas tecnológicas que contribuyen a la efectividad de estos procesos.

Matlab es la abreviatura de Matrix Laboratory (laboratorio de matrices). Es un programa de matemáticas creado por The MathWorks en 1984 y está disponible para diferentes sistemas operativos. Usa un lenguaje de programación creado para proporcionar un sencillo acceso al software de matrices.

“Presenta una gran capacidad para generar gráficos, en dos y tres dimensiones, y permite incorporar efectos y animaciones” Características de MATLAB 

Presenta una gran capacidad para generar gráficos, en dos y tres dimensiones, y permite incorporar efectos y animaciones.

Permite el desarrollo de aplicaciones complejas con ayuda del editor de ventanas, menús y controles de la utilidad GUI (Graphics User Interface).

Puede intercambiar datos con otros lenguajes y entornos. Puede acceder a distintos dispositivos de hardware tales como tarjetas de sonido, tarjetas de adquisición de datos y DSPs (Digital Signal Processors).

Para descargar una versión demo de Matlab e interactuar con este interesante software, entre al siguiente enlace: http://www.mathworks.com/products/ matlab/trial.html

2


Acceso a Internet a través de la Red eléctrica ¿Es posible transmitir datos por un medio diferente a las redes de datos a las que estamos acostumbrados? La respuesta es sí; las redes eléctricas pueden ser usadas para tal fin. ACCESO A INTERNET POR BANDA ANCHA

Sergio Valencia Gallego Ingeniero de Sistemas Mag. En Educación Coordinador Proyección Social FI

Definitivamente el acceso a Internet por banda ancha es uno de los grandes desarrollos en materia de comunicación y más aún si se utiliza la red eléctrica como medio físico de transporte de los datos, a esta técnica se le conoce como BPL (Broadband over power lines) fundamento del sistema PLC (Power lLine Comunication). CARACTERISTICAS DEL PLC (Power line comunication) Entre las características más importantes del PLC se encuentran que es una tecnología de banda ancha con velocidades que pueden supercar los 100 Mbps, con un proceso de instalación para el usuario final muy sencillo, al mismo tiempo que no presenta inconvenientes con la transmission de la corriente eléctrica por medio del cableado ya existente. Por otra parte, el tomacorriente permite fácilmente la transmission de datos y voz, y estaría disponible durante las 24 horas. La conexión entre el módem del PLC y el computador se puede realizar mediante un puerto paralelo ó usb; después de hacer esta conexión física se procede a la instalación del software, este procedimiento es bastante sencillo ya que el software detecta automáticamente todos los elementos conectados a la red, sean computadores, escáneres ó impresoras entre otros. Se puede instalas nuevos equipos sólo conectándolos e instalando el software apropiado.

OPORTUNIDADES Y RETOS DEL SISTEMA PLC Sin duda cuando se implementan nuevas tecnologías ó se quieren explotar nuevos mercados, las ventajas competitivas frente a sus opositores deben sobresalir; el principal competidor del sistema PLC es el ADSL y los parámetros a tener en cuenta para la superación de esta tecnología podrían ser: conseguir un precio competitive frente a la tecnología ADSL, certificar la seguridad en las comunicaciones, asegurar una excelente calidad de transmission de voz, implementar eficazmente estándares y protocolos para normalizer este tipo de comunicación, garantizar la comunicación a grandes velocidades superando las ofrecidas por ADSL.

CONCLUSIONES 

El PLC es una tecnología de acceso a las telecomunicaciones, especialmente al Internet de banda ancha, comprobada y tecnológicamente viable en algunos paises que cuenten con una infraestructura eléctrica óptima que proporcione distancias menores a 100 metros entre los transformadores de interconexión y los usuarios.

Se deben mejorar algunos aspectos como los niveles de radiación no mayores que los permitidos hoy en día en aparatos domésticos y que son los causantes de la discrepancias entre empresas y radioaficionados, y también se requiere de una normatividad reguladora que posibilite el desarrollo pleno para los sectores de electricidad y de telecomunicaciones.

En Colombia la red eléctrica no está diseñada para transmitir datos, la transmisión óptima es de 100 metros entre el domicilio y el transformador y esta no es una característica de nuestras redes eléctricas, adicionalmente los transformadores deben estar acompañados de una estación base PLC (que extrae los datos, separando frecuencias) y se presentarían interferencias y perturbaciones con el medio (aeropuertos, radio FM, bomberos, radioaficionados, entre otros).

3


Juan Guillermo Montoya

La era de la experiencia

Las grandes hitos económicas de la humanidad han pasado por diferentes estadios o momentos que han definido una época, e influenciado en cada generación, primero fue la era feudal, luego la era indusCandidato Especialización trial y hasta hace pocos años la era de la información, hoy estamos en la era de la experiencia, donde el en Sistemas de Informadiseño y la creatividad son los principales fuentes de innovación, así los productos y servicios que están ción teniendo éxito en el mercado son aquellos que le brindan a los usuarios o a sus clientes experiencias juangmontoya@gmail.com únicas, experiencias que sean superiores a las que han tenido antes. Ingeniero de Sistemas

Hay un dicho en marketing que dice que la experiencia del cliente es lo último que cuenta, por lo cual debemos de superar las eficiencias operativas las cuales fueron importantes en su momento pero ahora la situación es diferente, los consumidores son más exigentes a la hora de comprar, por esta razón, entre más conozcamos a nuestros clientes, podremos idear servicios, ofertas o productos que lo sorprendan. Tecnológicas como Big Data, Web 3.0, CRMs, redes sociales, y desde hace varios años la minería de datos e inteligencia de negocios, son temas recurrentes en la actualidad para recolectar y analizar información, convirtiéndose en el insumo de las estrategias de creación de nuevas experiencia de usuarios. De esta manera existen nuevas ideas de negocio por explorar y desarrollar, nuevos servicios por ofrecer. ¿Cómo se podría ofrecer una experiencia de usuario única con este servicio? ¿Cómo podría sorprender a mi cliente?, ¿Cómo podría ofrecer una experiencia de usuario diferente? Se ha pensado por mucho tiempo que la información es poder, pero en nuestra época con el acceso a internet, la mayoría de nosotros tenemos acceso a la misma información, de esta manera lo que es realmente poderoso es que hacemos nosotros con la información. Así que el verdadero poder está en actuar, lo que hace la diferencia son las acciones que nos arriesgamos a realizar y evolucionar. La invitación entonces es repensar la forma como se ofrecen los servicios hoy, conocer las tecnologías que están apoyan las nuevas experiencias y materializar las nuevas ideas de negocio que tengamos pues de esta manera estaremos alineados con la época actual: La era de la experiencia.

Disminución de la Brecha Tecnológica en Colombia a través del uso de Software OpenSource. Las transformaciones del modelo de sociedad no han sido pocas a través de los años de historia de nuestra especie, pero sin lugar a dudas uno de los cambios más grandes es el que los teóricos han denominado el cambio de una sociedad industrial, a como se conoce nuestro modelo actual, sociedad del conocimiento. La sociedad del conocimiento facilita la creación, distribución y manipulación de la información, da como resultado un avance en las actividades sociales, culturales y económicas, fortaleciendo la sociedad con nuevas ideas. En los anteriores modelos de sociedad, el uso de las tecnologías de la información y comunicación (TICs) era importante para el desarrollo de cada ser humano, pero ahora son el fundamento del conocimiento para todos las áreas del saber, tanto trabajadores, jefes, educadores, niños y sociedad en general. Las TICs son la piedra angular que permite la transmisión del conocimiento formal e informal , actualizado y transmite conceptos de forma global. Esta revolución de las Tics que acelera el desarrollo y fomenta la sociedad del conocimiento planeta una situación: quien tiene acceso a las TICs puede acceder al modelo actual de sociedad y disfrutar de todas sus ventajas, por otro lado quienes no tienen acceso a las TICs quedan marginados al no poder acceder. Es en este escenario en donde el Software OpenSource ofrece una valiosa alternativa para las sociedades de países emergentes. El software OpenSource, es software que otorga a sus usuarios, cuatro libertades fundamentales a la hora de reducir brecha digital, la libertad de usar el programa para cualquier propósito, la libertad de estudiar cómo funciona y software y modificarlo adaptándolo a las necesidades de cada usuario, la libertad de distribuir el software y la libertad de mejorar el programa y compartir esas mejoras.

4


Diferentes acuerdos de tipo internacional realizados por gobiernos de todo el mundo han identificado el software OpenSource como una alternativa eficiente para disminuir la brecha digital y democratizar el conocimiento en todas las esferas de nuestra sociedad. Sin embargo es necesario que la sociedad universidad, empresa y estado trabaje de manera articulada para acelerar el proceso de alfabetización digital, a través de la uso de software OpenSource. Sus ámbitos de aplicación son innumerables, como el ámbito educativo, empresarial, en centros de investigación e iniciativas de emprendimiento.

Javier Pérez Villamizar Ingeniero de Sistemas Candidato Maestría en Innovación para el Desarrollo empresarial javier.p.villamizar@gmail.com

Hace varios años que la cuestión dejo de tratarse de una batalla entre software OpenSource y software privativo, hoy la cuestión es: sociedad de conocimiento y equidad o Edwin Mago

Prácticas CMMI con Metodologías Ágiles Disciplinas de Procesos en el CMMI: Estas disciplinas están representadas por las metas genéricas, que no son más que una serie de prácticas transversales que deben mantenerse durante todo el proceso de desarrollo. El CMMI propone una fuerte institucionalización de los procesos, buscando que estos se mantengan vivos en el tiempo, a pesar de que suceda rotación de personal o lleguen más personas a la institución; a través de una serie de prácticas como: asignar responsabilidades, asignación de recursos requeridos, entrenamiento continuo, y monitoreo y control de los procesos. [1]

Ingeniero de Sistemas Mag. Educación Director Tecnología en Informática—IUNAV

Referencias [1] Beth Chrissis M, Konrad M y Shrum S. CMMI® Guía para

¿Por qué CMMI?

la integración de procesos y la

CMMI provee un marco conceptual para mejoramiento continuo y tiene la capacidad de institucionalizar las políticas y procesos a nivel organizacional, algo que se debe considerar al tenerse expectativas de crecimiento.

mejora de producto. Consulta

Manifiestos Ágiles

library/assets/cmmi-dev-v12-

Al individuo y las interacciones del equipo de desarrollo sobre el proceso y las herramientas. La gente es el principal factor de éxito de un proyecto de software.

spanish.pdf

Desarrollar software que funcione más que conseguir una buena comunicación. La regla a seguir es no “producir a menos que sea necesarios de forma inmediata para tomar una decisión inmediata”.

nades M. Metodologías Ágiles

La comunicación con el cliente, más que la negociación de un contrato. Responder a los cambios, más que seguir estrictamente un plan. [2] ¿Por qué pensar en Agilidad? De los Métodos Ágiles debemos reconocer las ventajas que nos provee, e igualmente mirar las exigencias del mercado en cuanto a llevar los productos a tiempo y entregas tempranas, y por supuesto porque siempre buscamos dar mayor satisfacción a nuestros clientes en cuanto a los requisitos que nos proponen, suponiendo que trabajamos en ambientes reales, los cuales son entornos muy cambiantes.

en línea: 2 de de octubre de 2013. http://www.sei.cmu.edu/

[2] Canós J., Letelier P. , Peen el Desarrollo de Software. Consulta en línea: 3 de octubre 2013. http:// noqualityinside.com.ar/nqi/ nqifiles/XP_Agil.pdf [3]Rodriguez, C. Agilidad en una organización CMMI5: http://www.youtube.com/ watch?v=gUBX-inPvkI. Confer-

¿Cómo ayuda CMMI a Introducir los Métodos Ágiles?

encia sobre CMMI5 adaptada

Existen mitos de que CMMI es contrario a los Métodos Ágiles. Realmente no compiten ni son opuestos, más bien todo lo contrario, el CMMI y las Aproximaciones Ágiles son totalmente complementarios.

a los Métodos Ágiles, en la Universidad de los Andes.

5


Continuación... El CMMI es un modelo que se detiene en una serie de prácticas que especifican la construcción de software seguro, confiable para tener proyectos exitosos, no dice el cómo lograrlo. Sin embargo en los Métodos Ágiles, si se propone el cómo lograr la implementación de estas prácticas que expresa el modelo CMMI. Desde este punto de vista considero que son compatibles, totalmente complementarios. Con el CMMI se ganan muchas cosas, por ejemplo: el marco de definición de responsabilidades, de roles y desarrollo de crecimiento humano. También la disciplina que nos da el CMMI, va a contribuir en el trabajo cuidadoso que nos exigen los Métodos Ágiles, por ejemplo, en Scrum, la regla de tener reuniones todas las mañanas de 15 minutos, requiere de mucha disciplina. Algunos Desafíos entre CMMI y Los métodos Ágiles A pesar del que CMMI y nosotros mismos en nuestros procesos somos adaptables, tenemos que los Métodos Ágiles nos exigen mucha mayor flexibilidad para adaptarnos a cada cliente y a cada proyecto, por eso uno de los retos es mejorar nuestros procesos, de manera tal que permitan introducir ciertas o más adaptaciones según el contexto del negocio. Otro punto es el tema de desarrollo personal que principalmente en CMMI está enmarcado en el área de procesos de entrenamiento organizacional, allí tenemos un énfasis en el adiestramiento de profesionales idóneos a tareas que ellos deben desarrollar dentro de sus equipos y esto se logra principalmente a través de planes y programas de capacitación permanente a todo el personal. ¿Esto cómo contribuye en la adopción de los Métodos Ágiles?, pues sabemos que en los Métodos Ágiles, uno de los retos y de aspecto a resolver es contar con muchos más líderes en todos los niveles, y lograr que toda persona en el equipo sea un líder. El problema en que no queremos caer que por adoptar métodos ágiles, los proyectos dependan de personas que tengan sobre capacidades y que saquen los proyectos por esa cualidad, sino que realmente los proyectos sean exitosos por el factor humano, y también por el apoyo mismo de todos los procesos que tiene la organización.[3] En conclusión, por las razones nombradas y por otras más, la agilidad es compatible con la implementación del modelo CMMI, observamos que el CMMI es una plataforma excelente para soportar la llegada de nuevas metodologías.

Melissa Pérez Cadavid Estudiante Tecnología en Sistemas—UNAC Pasante INALTEC meperez@unac.edu.co

Inteligencia Artificial y las nuevas películas de Hollywood El desarrollo de las nuevas tecnologías en la actualidad ha aumentado a pasos agigantados. Lo que para muchos era cosa del futuro, ahora se ha convertido en algo cotidiano. Sabemos que, por ejemplo, el uso de Inteligencia artificial en la robótica, la informática y hasta la mecatrónica es algo que ya se conoce. Pero ¿alguna vez pensamos acaso en que también se podía implementar en el cine? ¿Alguna vez imaginaste estar tan cerca del futuro? Hace un par de meses se estrenó una nueva película titulada “World War Z”, básicamente se trata de una película más de zombies en donde el protagonista pretende salvar al mundo, pero lo interesante y diferente de ella es la forma en como la hicieron. Una de las cosas que más ha llamado la atención es la cantidad de zombies que aparecen en la película, son demasiados, tal vez en otra época se hubiera pensado que se trata solamente de extras corriendo a velocidades inhumanas. Pero para nosotros, que ya hemos visto la tecnología actuar en varias películas, sabemos que el uso de imágenes generadas por computador (CGI – Common Gateway Interface) es más que obvio. Lo especial con esta película es que para la realización de la horda de millones de zombies, fue necesario más que una simple animación y simulación de ella, pues en la película se ve un realismo casi impecable.

6


Continuación... El equipo de MPC – Moving Picture Company – junto con Scott Farrar, supervisor general de efectos visuales, explican que cada uno de los zombies es llamado “agente”, término que se refiere a “bots” digitales programados por artistas de efectos visuales para moverse en determinados patrones. El volumen de los zombies en acción en las tomas más tumultuosas es de 8.500. El número puede no parecer tan grande si se recuerdan películas como 300 y otras tantas donde veíamos ejércitos de más de 100 mil guerreros. Sin embargo en esos casos, la simulación era estática en los grandes números y dinámica en aquellos agentes cercanos al primer plano. En World War Z esos 8.500 agentes tienen vida propia y un sistema de inteligencia artificial que les da alineamientos relativos al movimiento principio-fin, pero en el medio son totalmente autónomos y sólo funciona en ellos un algoritmo preparado para que los zombies no se choquen entre ellos hasta que tengan que hacerlo, como por ejemplo, para construir pirámides de carne muerta para escalar obstáculos o cazar al piloto de un helicóptero. La increíble semejanza en el movimiento de los miles de agentes programados digitalmente con la realidad está dada por la presencia de actores, que se prestaron para la simulación o para completar escenas donde los primeros planos son los protagonistas. La idea del equipo era mantener a los espectadores con la constante duda sobre cuáles eran zombies de verdad y cuáles estaban hechos digitalmente. Los “tsunamis de zombies” fueron inspirados por experimentos con hormigas, conocidos como animales que trabajan en conjunto para conseguir un objetivo común, así tengan que morir o herirse varias en el camino. Para que todo quedara en orden, se necesitaron más de 450 tomas (algunas llegaron a utilizar hasta 250.000 objetos) y para las escenas de grandes masas, el supervisor de CG de MPC, Max Madera, capturó clips en mocap (Motion Capture – Captura de Movimiento), usado la tecnología de sistema de masa ALICE propiedad de MPC. De esta manera, se crearon 24 tipos de cuerpos diferentes, con diferentes texturas, que se convirtieron luego en 3000 variaciones dentro de la multitud. A su vez, para las escenas de caídas y aterrizajes, se utilizó PAPI, un solucionador dinámico de cuerpos rígidos basados en el motor gráfico Havok (se trata de un motor físico (simulación dinámica) utilizada en videojuegos y recrea las interacciones entre objetos y personajes del juego. Detectando colisiones, gravedad, velocidad en tiempo real.) La captura de los actores en movimiento (80 contorsionistas) y la creación de los paisajes se realizó en tres dimensiones, y hubo un proceso de colaboración entre las compañías Cinesite, MPC, 2h3D y 4DmMax, creando toda una infraestructura simulada de la ciudad que luego se rellenaba con capas de obstáculos, texturas, personajes y detalles. Estos modelos digitales se hacían partiendo de escaneos en 3D, tanto de personas como de fábricas, edificios, calles e interiores de aviones. De hecho, se creó tanto en CG que hasta hay una escena en donde el helicóptero que se usa también está diseñado por ordenador con un nivel de realismo increíble. Vemos pues que el uso de la Inteligencia Artificial ya se ha convertido en cosa del presente y es más común de lo que muchos piensan. Escanee el QR CODE para más información de cómo realizaron esta película.

7


Refactorización y reingeniería para los sistemas legados Oscar Mauricio Niño C. Magister en Ingeniería Gerente Proyecto SION sion@unac.edu.co

Referencias [1]

E. J. Chifofsky and J.

H. Cross, "Reverse Engineering and Design Recovery: A Taxonomy," IEEE Software, 1990. [2]

S. Tichelaar,

"Modeling Object – Oriented

En el artículo anterior se definió el concepto de sistemas legados, cómo estos impactan las organizaciones y qué debe hacerse frente a ellos, principalmente cuando se requiere tomar una decisión de evolución o cambio frente a ellos. Para ello, se requiere evaluar a un sistema legado no solo desde el punto de vista tecnológico (el cual se comete el error en las organizaciones de tomar como único referente de evaluación esta perspectiva), sino además desde otros puntos de vista, como el del valor de negocio que el Sistema tiene respecto a la Organización.

Las alternativas que se tienen para la mejora de los sistemas legados van desde el reemplazamiento total con otros productos comerciales existentes, pasando por estrategias de reingeniería y refactorización, hasta simplemente no hacer nada al respecto (cuando los sistemas cumplen cabalmente las necesidades de la organización). En este artículo hablaremos brevemente de dos estrategias, la reingeniería y la refactorización, las cuales algunos tienden a pensar que son lo mismo, pero realmente son diferentes y por consiguiente tienen impactos distintos ante los cambios que se requieran hacer a un sistema legado.

Software for Reverse Engineering and Refactoring," 2001. [3]

F. Buschmann,

"Gardening Your Architecture, Part 1: Refactoring," IEEE Software, vol. 28, no. 4, pp. 21-23,

El término “reingeniería” no es nuevo. Chifofsky y Cross en 1990 ya habían definido la reingeniería de software como el “examen y la alteración de un sistema sujeto para reconstruirlo en una nueva forma y en las implementaciones subsecuentes a dicha implementación” [1]. De acuerdo con esta definición, los términos examen y alteración se refieren formalmente a ingeniería inversa e ingeniería directa, respectivamente. Significa entonces que la reingeniería, al combinar los dos tipos de ingeniería, busca transformar implementaciones concretas a otras implementaciones concretas, enfocándose en las partes más relevantes de un sistema legado [2].

Para cada cambio que se requiera hacer que la reingeniería haya encontrado, se debe evaluar qué partes del sistema requieren ser reestructuradas o se requiere que se implementen desde cero. Cabe resaltar que Chifofsky y Cross también habían definido el término Reestructuración, como “la transformación de una forma de representación a otra en el mismo nivel de abstracción, mientras se preserva el comportamiento externo del sistema”. A partir de estas definiciones, Fowler direccionó el término de refactorización como una forma de reestructuración, pero enfocándose al código fuente como tal, al ser una “forma disciplinada para limpiar código que minimiza la probabilidad de introducir errores (bugs). En esencia, cuando usted refactoriza usted está mejorando el diseño del código después de que él ha sido escrito” [2]. Nótese que cuando hay refactorización de código, el resultado de dicho trozo de código será el mismo, pero será más entendible, y quizá tenga un mejor rendimiento con respecto a la versión anterior del mismo.

8

Es importante recalcar que un proceso de refactorización, si bien es cierto conlleva riesgos, también se puede llevar a cabo de manera transversal mientras se continúa con el desarrollo y mantenimiento de los sistemas. Hoy en día la refactorización es una de las prácticas que se encuentra naturalmente integrada dentro de equipos de desarrollo ágiles, como una estrategia de ir mejorando la calidad interna del código a medida que avanza el desarrollo por iteraciones, las cuales están orientadas a entregas parciales del producto con funcionalidad significativa para el cliente. Tal como afirma Buschmann, el proceso de refactorización es “muy ligero.


Continuación... No hay necesidad para una estrategia de prueba extendida; podemos usar las pruebas existentes. No hay necesidad para hacer tareas de refactorización altamente visibles, las refactorizaciones son pequeños cambios que pueden ser ejecutados con bajos rituales en cualquier parte del tiempo en los procesos de desarrollo de un sistema.” Aduce también que la “refactorización es un poderoso y ágil método para mantener la alta calidad del sistema que se está desarrollando. Si se practica con regularidad, la refactorización tiene un efecto positivo en las habilidades del desarrollador y en los costos del ciclo de vida del sistema” [3]. En conclusión, cuando se aplica la reingeniería en un sistema legado, el comportamiento del sistema puede cambiar, y por ende, el usuario nota dichos cambios al operar dicho sistema; es posible que el usuario requiera una re – inducción y un cambio en las documentaciones de ayuda, entre otros. En la refactorización los cambios generalmente son internos, enfocándose más en los atributos de calidad internos del sistema (como rendimiento, seguridad, etc.); posiblemente el usuario no note dichos cambios porque para él su sistema continúa con su misma apariencia, pero le da la seguridad a los directores de TI de la organización que cuentan con un sistema, que aunque sea legado, tiene mejor calidad y que cumple con las necesidades prioritarias de la organización.

“Una plataforma de e-learning es un sistema el cual provee soporte integrado para seis actividades: creación, organización, entrega, comunicación, colaboración y evaluación en un contexto educativo” (Piotrowski, 2010).

Conceptualización y plataformas de e-learning Las plataformas de e-learning forman parte de la realidad educativa mundial mediante las cuales las personas hoy estudian y aprenden no solo en Colombia, teniéndose gran auge y uso de estas en Europa, Norte América, Asia y Oceanía. La evaluación de dichas plataformas cobra cada vez mayor importancia, ya que permite entender y saber acerca de las funcionalidades y estándares soportados por cada una de estas, elementos cruciales en el momento de la adopción del e-learning en la educación superior.

Walter Arboleda Especialista en Telemática, Redes corporativas e Integración de tecnología Candidato Maestría en Ingeniería warboleda@unac.edu.co

Referencias [1] Piotrowski Michael.(2010),What is

Definiciones Es importante entonces partir de un concepto de e-learning y plataforma de e-learning, ya que el estudio realizado circundara alrededor de estos dos conceptos.

an E.Learning platform?, ZHAM Zurinch, University of Applied Sciences, Switzerland, Learning Management

Según varios escritores e investigadores en e-learning una plataforma de e-learning se define como:

System Technologies and Software

Una plataforma de e-learning es un sistema el cual provee soporte integrado para seis actividades: creación, organización, entrega, comunicación, colaboración y evaluación en un contexto educativo (Piotrowski, 2010).

and Applications, Information Science

Una plataforma de e-learning es un aplicativo de software, diseñado para la integración de un grupo de programas que se necesitan para asistir y mejorar la efectividad didáctica y confiabilidad de un curso de e-learning. Generalmente las plataformas de e-learning se pueden considerar como un lenguaje en común, una entorno base compartido donde el conjunto de programas pueden intercambiar datos, interactuar y operar como un sistema integrado (Luciani, 2006).

Solutions for Online Teaching: Tools Reference, New York, pp. 20-36 [2] Santino Luciani(2006), Proceedings of the International Conference on e-Learning, International Conference on e-learning, Understanding and Assessing the Didactical Effectiveness on Learning Content, June

9


Continuación Referencias [3] Mihaela Brut(2009), OntologyBased User Competencies Modeling for E-Learning Recommender Systems Institut de Recherche en Informatique de Toulouse, IGI Global, France, 2009 [4] Gilbert Paquette (2009), the ELearning Challenge, Instructional Engineering in Networked Environments, 2009 [5] Rosenberg Marc J.(2006), Beyond E-Learning, Approaches and Technologies to Enhance organizational Knowledge, Learning, and Performance, Estados Unidos: Pfeiffer- John Wiley & Sons, Inc. p.72 [6] Mealy Lynne, Loller Bob (2000).E-Learning: Expandig the training classroom throught technology, a collection of articles by the pionners of e-learning International Association for Human Resource Information Management,

Con los grandes avances de las tecnologías de la información y la comunicación, la Una plataforma de e-learning es una fuente real de conocimiento debido a los materiales disponibles, pero también a las competencias de sus usuarios (Brut., 2009). Una plataforma de e-learning es un sistema de software que contiene las herramientas y recursos necesarios para soportar los actores del sistema de aprendizaje: estudiantes, profesores, expertos en contenido, animadores y administradores, una plataforma normalmente ofrece funciones que permiten a los estudiantes consultar materiales instruccionales y recursos en línea, observando su evolución en el aprendizaje y solucionando problemas y exámenes colocados por el profesor. Los facilitadores (profesores, expertos en contenido, animadores y administradores) pueden comunicarse, sugerir tópicos de discusión y colaborar en producciones en común. Para los administradores de la plataforma, instalar el sistema de aprendizaje, asegurar el mantenimiento, gestionar los derechos de acceso de los usuarios, y crear interoperabilidad a sistemas externos de información (Paquette, 2004). Por otra parte el e-learning es definido como: E-Learning es el uso de tecnologías de Internet para crear y expandir un entorno de aprendizaje que incluye un gran conjunto de recursos de formación, información y soluciones, cuyo objetivo es mejorar el rendimiento personal y organizacional. (Rosenberg, 2006) E-Learning no consiste en consultar paginas de Internet, sino que se basa en un proceso formativo que debe ser planificado, organizado, seguido, apoyado y valorado sirviéndose de los medios necesarios para hacer posible una comunicación lo mas completa posible entre aprendiz y docente. (Barbera, 2008) E-Learning es mejor definido como la categoría de entrenamiento y aprendizaje sobre la Internet. (Mealy, Loller, 2000) En compendio entonces, una plataforma de e-learning es un sistema informático que permite el aprendizaje y entrenamiento usando las tecnologías de la Internet mejorando el rendimiento y crecimiento personal, entregando los recursos necesarios a estudiantes, profesores, creadores de contenido, directores académicos y administradores de la plataforma; permitiendo el crear, compartir utilizar contenidos de forma fácil, generar conversaciones y crear conocimiento colaborativo, así como permitir la gestión de este y su actualización y la de los diferentes tipos de usuarios.

Estados Unidos, Rector, Duncan & & Associates. p.19

E-Learning es el uso de tecnologías de Internet para crear y expandir un entorno de aprendizaje que incluye un gran conjunto de recursos de formación, información y soluciones, cuyo objetivo es mejorar el rendimiento personal y organizacional. (Rosenberg, 2006)

10


RETO UNAC (segunda parte) Dios muestra a través de la Biblia como evangelizar a los que son de otra religión y no conocen de Jehová; también muestra cómo alcanzar a los que creen en Jehová pero tienen una doctrina deficiente. Por ejemplo, Dios llamó a Jonás para testificar en Nínive, una ciudad que adoraba a Dagón, el dios pagano con forma de pez; uno puede imaginar el asombro de los ninivitas cuando escucharon en sus calles las predicaciones de un varón que olía a pez porque había pasado tres días y tres noches en el vientre de un gran pez; es decir, Jonás en Nínive huele a dios pagano pero predica en nombre de Jehová, Dios del cielo. Por su parte, San Pablo fue a la ciudad de Atenas, una ciudad griega famosa por sus reflexiones filosóficas y la multiplicidad de sus dioses paganos. Pablo se puso de pie en el Areópago, lugar público donde los filósofos disertaban acerca de sus reflexiones, y felicitó a los atenienses por su religiosidad, luego, les habló del Dios no conocido. Jesús mostró como acercarse a los que también creen en Jehová pero no han comprendido cabalmente la doctrina cuando habló a la mujer samaritana junto al pozo. Jesús pidió agua, es decir, pidió un favor. Fue la mujer quien invocó el problema de las diferencias nacionales y la contienda teológica por el lugar correcto para adorar, entonces, Jesús aprovechó para mostrarse como el Mesías.

Otoniel Sanguino G. Magister en Enseñanza – Aprendizaje de las Ciencias Básicas Capellán FI osanguino@unac.edu.co

Elena de White vivió en una época cuando la página impresa era quizás la única manera de presentar el evangelio a muchas personas. Ella estuvo de acuerdo en acudir a la feria mundial de San Luis para repartir literatura y que los visitantes a la feria llevaran esas páginas a otros lugares del planeta. En la actualidad, la tecnología ha diversificado los medios y las formas para presentar el mensaje. En las redes sociales tenemos una oportunidad para presentar el mensaje de Dios a paganos, ateos y a cristianos que practican otra doctrina. Llegó la hora para que estudiantes y profesores de la UNAC participen masiva y decididamente en la iniciativa RETO; esto es, sumarse activamente en la REd de Testificadores Online. Los viernes 27 de septiembre, 04, 11. Y 18 de octubre, desde el mediodía hasta las 5 pm, todos los testificadores en la red Twitter publicarán no menos de siete tuits utilizando el hastag #FelizSabadoColombiaQuerida, mencionando la cuenta tuiter de la universidad, la cuenta tuiter de un colombiano que tenga gran número de seguidores, y una imagen relacionada con la colombianidad. Igualmente, cada testificador hará RT a siete tuits que contengan el hastag #FelizSabadoColombiaQuerida y solicitará a siete personas que retuiten los siete tuits que ya ha publicado con el hastag. De este modo, cada indiviudo estaría involucrado en no menos de 21 tuits el viernes por la tarde. De entrada se cuenta con la participación de 150 estudiantes de los cursos de Epistemología e Historia de la Pedagogía de los programas de Teología, Música y Preescolar. A ellos se suman los estudiantes de la Facultad de Ingeniería y otros estudiantes y profesores que han manifestado su interés en participar. Si 300 personas involucran 21 tuits con el hasta #FelizSabadoColombiaQuerida, cabe esperar que no menos de 6300 tuits serán contabilizados por el sistema de esta red social y muy probablemente este hasta se convierta en una tendencia en la ciudad de Medellín. Si un mayor número de personas participa en esta iniciativa, cabe la posibilidad de convertir el hastag en tendencia para Colombia. Por lo tanto, debemos sumar más estudiantes y profesores de la universidad, familiares, hermanos en la fe y amigos que se encuentren en el resto del país, para que se sumen y participen en los días señalados, a la hora convenida, con las indicaciones dadas. Logremos juntos el RETO UNAC.

11


Julian Mejio Cárdenas

BIG DATA Todos sabemos que la informática se alimenta de información: representar datos, leer mediciones de

Estudiante Ingeniería de sensores, almacenar los bytes que definen nuestro saldo en el banco, un hash que nos identifica por Sistemas (8) - UDEM

medio de una contraseña en un sistema, las fotos que tomamos y montamos a las redes sociales, e

Ingeniero de soporte: incluso nuestra voz cuando es modulada en señales electromagnéticas para que lleguen al receptor: Dellmont Sarl (VoIP)

todo esto está conformado por bytes. Algunos conjuntos de datos son más grandes que otros, unos

Socio y Fundador de apenas son bytes (enviar nuestras credenciales para acceder a nuestro correo electrónico), y otros no abcdsign son tan pequeños (descargar una película o un juego en línea). julian@mehio.co

Ahora bien, imaginemos que hemos adecuado el computador que tenemos en la casa para que sea nuestro centro de desarrollo de software. Queremos lo más rápido y novedoso: un disco duro SSD de 256 GB es nuestro lugar de almacenamiento principal para la instancia DBMS que hemos configurado. Esto implica que tenemos un límite de almacenamiento. Podemos desarrollar un servicio web que almacene las coordenadas geográficas de nuestro celular a intervalos de tiempo. ¿Cuántos bytes ocupa la ubicación de un dispositivo? Alrededor de 24 bytes por coordenada, más otros datos que puedan ser útiles como la dirección IP, la fecha, el clima, el porcentaje de la batería, supongamos que cada registro ocupe con estos datos unos 6 KB por registro (sí, incluye los bytes del formato para la presentación de datos). 256 GB sobre 6 KB por registro no supone un reto para nosotros hoy en día, incluso si llegase a haber 4×107 registros, lo máximo que podríamos almacenar en nuestro disco duro ultra rápido. Es más, debido a la estructura de datos interna usada por el DBMS podemos hacer una consulta compleja que arroje el resultado en menos de 2.000 ms, y nuestra máquina no se verá afectada. Hasta ahora todo está bien. Sin embargo, uno de los proyectos informáticos en los que estoy adscrito representa un reto mayor que el de analizar 256 GB de información: analizar la información recopilada por los satélites astronómicos. Esta sentencia tal vez no diga todo lo que significa: esto quiere decir analizar gran variedad de datos: fotos, señales moduladas, espectros electromagnéticos, datos capturados por sensores muy especializados, intercomunicación con otras fuentes de datos, entre otras cosas. Ya esto implica conocer lo que es en realidad big data. Big data se le llama a todo conjunto de datos que tenga las tres V: volumen, variedad y velocidad (o simplemente V3). El volumen de un conjunto de datos en big data es del orden desde terabytes, hasta zettabytes; la variedad en la forma en cómo se presentan los datos es inmensa, hay datos estructurados, híbridos, y no estructurados, y de verdad es un reto clasificar y categorizar; y por último, la velocidad en la captura de los datos: puede ser un lote de información lista para ser analizada, a la cual le conocemos el tamaño final, o puede ser en otro caso más especial, un flujo de datos constante que no tiene un final aparente.

12


¿Qué es la variedad en big data? Si ha estado en proyecto CRM lo suficientemente grandes, tal vez se haya tropezado con esta piedra. Con el uso de sensores, dispositivos inteligentes y la intercomunicación entre diferentes centros de datos por medio de internet, la estructura de datos se ha vuelto compleja. No solo tenemos que manejar las tradicionales bases de datos relacionales, sino que también debemos analizar información estructurada, híbrida, no estructurada y hasta cruda, tal cual nos la entrega por ejemplo, un sensor. Los sistemas tradicionales no pueden manejar las formas en las que vienen los datos hoy en día, y el esfuerzo para hacer modelado de datos, de datos que cambian cada día, es inútil. Citemos un ejemplo de esta variedad de datos: el caso Twitter, podemos obtener un muro en formato JSON, el cual es estructurado y fácil de entender, sin embargo, el texto contenido en cada registro no está estructurado, un vídeo o una imagen son difícilmente almacenadas en una base de datos relacional; y tenemos que cierta información asociada a ésta puede cambiar dinámicamente, por lo que no será almacenada de manera eficiente en estructuras que se definen arquitectónicamente y no se pueden cambiar fácilmente. Finalmente tenemos el volumen de los datos. En el año 2000, 800.000 PB estaban almacenados en todo el mundo, y se pronostica que para el año 2020 sean 35 ZB los que estén almacenados. Tan solo Twitter genera 7 TB de información por día, y Facebook 10 TB. Ahora imagine una empresa que genere terabytes de información cada hora de cada día del año. El caso es que nosotros almacenamos todo: información del entorno, créditos bancarios, historias clínicas, vídeos de vigilancia, y la lista continúa. Solo llamando desde un teléfono móvil ya genera un registro, subirse a un avión, cumplir la jornada laboral, comprar una aplicación, cambiar el canal de televisión, ¿necesita más? tan solo caminar por la calle ya está registrando eventos en las cámaras de seguridad, pasar por los sensores de las cámaras de fotomultas, subirse a un taxi. Todo esto genera eventos. Con esta lista ya sabe la magnitud de la información contra la que se puede enfrentar un ingeniero de soporte o un analista. Las organizaciones que no saben cómo manejar todo esto se ahogan en un océano imparable de datos. Para pensar en una solución, no debemos ver big data como un problema, sino como una solución: Es ideal no solo para analizar datos estructurados, sino también híbridos y no estructurados, provenientes de diversas fuentes. Es ideal para los análisis iterativos y recorridos en los registros cuando el conjunto de datos no tiene un final aparente (recuerde que la velocidad implica crecimiento constante). Ahora, para idear una solución consistente frente a este reto debemos entender cómo funciona uno de los proyectos principales que se enfoca en soportar los grandes almacenes de datos: Apache Hadoop <http://hadoop.apache.org>. Pensemos en este proyecto como una plataforma distribuida que tiene como objetivo ejecutar operaciones que computan grandes cantidades de datos. Hadoop está conformado por tres partes fundamentales: el HDFS (Hadoop Distributed File System, o sistema de archivos distribuido de Hadoop), el modelo MapReduce de Hadoop, y Hadoop Common. Para entender el poder de Hadoop en los entornos de grandes cantidades de datos, debemos comprender los tres elementos: Para entender cómo es posible que Hadoop pueda ser escalado en cientos, e incluso miles de nodos, debemos empezar con el HDFS. La información en un clúster de Hadoop es dividida en piezas muy pequeñas de datos, llamadas bloques, y distribuidas a través de todo el clúster, de esta manera, las funciones map y reduce (que veremos a continuación con el paradigma MapReduce) se ejecutan en pequeños conjuntos de datos de todo el conjunto de datos, y esto provee la escalabilidad necesaria para el procesamiento big data. El objetivo de Hadoop es ejecutarse en un centro de datos, con cientos de nodos, y cada nodo con un conjunto de discos duros. Ya con esta arquitectura, MapReduce asigna cargas de trabajo a cada nodo donde está la información almacenada, para ser posteriormente procesada. Ahora bien, muchos pensarán que una distribución NAS o SAN es buena para Hadoop, pero antes todo lo contrario: no es recomendada, ya que la comunicación extra puede ocasionar baches en la red, especialmente si el clúster es muy grande. Otros aspectos importantes de Hadoop es la redundancia de datos, en donde un bloque puede almacenarse más de una vez en diferentes nodos; específicamente tres veces, en donde se almacena un bloque dos veces en un mismo rack, y una tercera vez en un rack diferente para efectuar la redundancia. Esto igualmente puede ser modificado a la necesidad del negocio.

13


Continuación... Como ya lo habrá notado, MapReduce es el que opera en todo Hadoop. Este paradigma es el que permite la escalabilidad de cientos a miles de nodos en un clúster. MapReduce hace referencia a dos operaciones separadas que se realizan dentro del conjunto de datos: una es map, la que toma un conjunto de datos y lo convierte en otro, donde básicamente separa elementos individuales en una pareja “clave => valor”. La otra función es reduce, la cual toma un conjunto de datos ya procesado por map, y combina esas parejas es conjuntos de parejas aún más pequeñas, y por eso es que la operación reduce siempre se realiza después de una operación map. Si es nuevo con este paradigma podrá resultarle algo complejo, pero en esencia, estas dos operaciones hacen que varios nodos puedan analizar la misma información. Un ejemplo más claro puede venir de la teoría de colas: cuando hacemos fila en un banco, si hay un solo cajero, este tendrá que atender a todas las personas que están delante de usted, para luego atenderlo a usted, pero si hay más cajeros, en teoría, la cola delante de usted se divide en el número de cajeros, por lo que le tocaría esperar menos. Algo parecido hace MapReduce, dejando varias réplicas de los datos en diferentes nodos para que sean procesados de manera paralela y no tengan que esperar a hacer un recorrido grande hasta que se alcance el dato en cuestión. ¿Alguna vez se ha preguntado cómo Google encuentra una página entre miles de millones a veces en menos de un segundo? Bueno, originalmente MapReduce fue la tecnología insignia de Google, que les permitió realizar este tipo de búsquedas (no estructuradas, por cierto), y entregar el resultado en muy poco tiempo. Por último, Hadoop Common, los componentes básicos de Hadoop, son los que permiten una interacción directa con todo el sistema distribuido. Cabe aclarar que, Hadoop, por no ser un sistema basado en POSIX, no puede interactuar directamente con Linux (lo que supone algunas veces un problema), y para eso, este conjunto de bibliotecas suministradas por Hadoop, permite la interacción fácil. Basicamente es un conjunto de comandos usados en línea de comandos para realziar operaciones específicas con los datos almacenados. En conclusión, nos estamos enfrentando a un reto de yottabytes de información, y si no tenemos la capacitación para solucionar este tipo de problemas, podemos encontrarnos en un lío que rápidamente nos absorberá. El conocimiento que adquieran de Hadoop, MapReduce, y las aquitecturas distribuidas serán las herramientas que le brindarán a usted el poder manejar grandes cantidades de datos de una manera eficiente. Es el reto, y es la misión que debe tener como allegado a la informática.

14

FACULTAD DE INGENIERÍA 2013


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.