Tendencias20171.files.wordpress.com



EL SOFTWARE EN LA ACTUALIDADGarcia SimónC.I: 24.889.053Leandro RaúlC.I: 22.820.863López EsthefanyC.I: 22.590.585Ruiz AnaC.I: 25.637.130Valladares JoséC.I: 24.036.159Abril 2017.UNIVERSIDAD NACIONAL EXPERMIENTAL DE GUAYANACARRERA DE INGENIER?A EN INFORM?TICATENDENCIAS INFORM?TICASTUTOR: ISABEL GARC?ATabla de Contenidos TOC \o "1-3" \h \z \u Introducción PAGEREF _Toc480877423 \h 4I. Software en el campo de la Inteligencia artificial PAGEREF _Toc480877424 \h 51.1. Machine learning, redes neuronales y deep learning PAGEREF _Toc480877425 \h 51.2. Asistentes virtuales PAGEREF _Toc480877426 \h 91.3. Realidad mixta PAGEREF _Toc480877427 \h 10II. Software en el campo servicios en la nube PAGEREF _Toc480877428 \h 12III. Software en el campo de los sistemas conversacionales PAGEREF _Toc480877429 \h 133.1. Bots (Robots) PAGEREF _Toc480877430 \h 133.2. Chatbots PAGEREF _Toc480877431 \h 143.3. Vehículo Autónomo PAGEREF _Toc480877432 \h 153.4. Blockchain PAGEREF _Toc480877433 \h 16IV. Software en el campo de los frameworks PAGEREF _Toc480877434 \h 194.1. ?Qué Frameworks debo utilizar? PAGEREF _Toc480877435 \h 194.2. Framework para JavaScript: Angular JS PAGEREF _Toc480877436 \h 194.3. Framework para PHP: Laravel PAGEREF _Toc480877437 \h 204.4. Framework para Ruby: Ruby on Rails PAGEREF _Toc480877438 \h 204.5. Framework en Python: Django PAGEREF _Toc480877439 \h 214.6. Frameworks para Java: Spring MVC PAGEREF _Toc480877440 \h 21V. Software en el campo de los lenguajes de programación PAGEREF _Toc480877441 \h 225.1. JavaScript ES2017. PAGEREF _Toc480877442 \h 225.2. TypeScript 2.1. PAGEREF _Toc480877443 \h 225.3. C# 7.0. PAGEREF _Toc480877444 \h 235.4. Python 3.6. PAGEREF _Toc480877445 \h 235.5. Ruby 2.3. PAGEREF _Toc480877446 \h 235.6. PHP 7. PAGEREF _Toc480877447 \h 235.7. Java 9. PAGEREF _Toc480877448 \h 245.8. Swift 4. PAGEREF _Toc480877449 \h 24Conclusión PAGEREF _Toc480877450 \h 25Lista de referencias PAGEREF _Toc480877451 \h 26Lista de figuras TOC \h \z \t "Pie de imagen,1" Figura 1.1.1. Representación gráfica de todo los elementos que componen el machine learning PAGEREF _Toc480877401 \h 6Figura 1.1.2. Representación gráfica de una red neuronal PAGEREF _Toc480877402 \h 6Figura 1.1.3. Representación de un proceso de aprendizaje profundo PAGEREF _Toc480877403 \h 8Figura 1.2.1. Interfaz de un asistente virtual con inteligencia artificial. PAGEREF _Toc480877404 \h 9Figura 1.3.1. Representación de la realidad mixta en el mundo real. PAGEREF _Toc480877405 \h 10Figura 3.1.1. Representación gráfica de un robot interactuando con un ordenador. PAGEREF _Toc480877406 \h 13Figura 3.2.1. Imagen que muestra la interacción de los chatbots. PAGEREF _Toc480877407 \h 14Figura 3.3.1. Representación gráfica de viaje en un vehículo autónomo. PAGEREF _Toc480877408 \h 16Figura 3.4.1. Representación grafica de una red global Blockchain PAGEREF _Toc480877409 \h 17Figura 4.2.1. Logo de AngularJS PAGEREF _Toc480877410 \h 19Figura 4.3.1. Logo de Laravel PAGEREF _Toc480877411 \h 20Figura 4.4.1. Logo de Ruby on Rails PAGEREF _Toc480877412 \h 20Figura 4.5.1. Logo de Django PAGEREF _Toc480877413 \h 21Figura 4.6.1. Logo de Spring MVC PAGEREF _Toc480877414 \h 21Figura 5.1.1. Logo de JavaScript PAGEREF _Toc480877415 \h 22Figura 5.2.1. Logo de TypeScript PAGEREF _Toc480877416 \h 22Figura 5.3.1. Logo de C# PAGEREF _Toc480877417 \h 23Figura 5.4.1. Logo de Phyton PAGEREF _Toc480877418 \h 23Figura 5.5.1. Logo de Ruby PAGEREF _Toc480877419 \h 23Figura 5.6.1. Logo de PHP PAGEREF _Toc480877420 \h 23Figura 5.2.1. Logo de Java PAGEREF _Toc480877421 \h 24Figura 5.4. 1. Logo de Swift PAGEREF _Toc480877422 \h 24IntroducciónLa usabilidad es una condición que se considera cada vez más importante para la calidad de los productos software pues, las tendencias en tecnololgia se ven definidas predicciones o pronosticos de la escala de uso de alguna heramienta o tecnología de innovación. En la actualidad, la automatización abarca un amplio campo de las actividades humanas, por lo cual la mayoría de las personas es usuaria de algún software.Es comprensible que los software hoy día salientes son innovaciones en el desarrollo que, como su nombre lo dice, en un futuro transformán la forma cotidiana de vida del ser human, ofreciéndole facxilidades para realizar sus actividades que antes quizás no eran poibles. Actualmente los desarrolladores e investigadores pretenden implementar el uso de la tecnología y softwares que faciliten el día a día en la vida del ser humano con el fin de disminuir la carga de trabajo de las diferentes tareas que puedan presentársele. I. Software en el campo de la Inteligencia artificial1.1. Machine learning, redes neuronales y deep learningMachine learning?(aprendizaje automático o aprendizaje de maquinas) es una disciplina científica del ámbito de la Inteligencia Artificial que crea sistemas que aprenden automáticamente.?Aprender,?en este contexto, hace referencia únicamente a identificar patrones complejos entre millones de datos.?Machine learning? es un algoritmo?que revisa los datos y es capaz de predecir comportamientos futuros.?Automáticamente, también en este contexto, implica que estos sistemas se mejoran de forma autónoma con el tiempo, sin intervención humana. Muchos sectores actualmente gozan de esta tecnología, como por ejemplo sectores como las compras en línea hacen uso de esta tecnología para lograr decidir instantáneamente los productos recomendados para cada cliente al final de un proceso de compra, las publicidades en las redes sociales específicamente para cada usuario, decidir el lugar dónde poner un anuncio para que tenga más visibilidad en función del usuario que visita la web o los filtros anti-spam. Figura 1.1.1. Representación gráfica de todo los elementos que componen el machine learningLas redes neuronales son una herramienta matemática que modela, de forma muy simplificada, el funcionamiento de las neuronas en el cerebro.?Reciben información codificada como números, la procesan y producen un resultado codificado en números.Mediante el uso de redes neuronales, los ordenadores pueden ver, aprender y reaccionar ante situaciones complejas, igual o incluso mejor que los humanos. Esta tendencia está transformando la forma de considerar los datos, la tecnología y los productos y servicios.Figura 1.1.2. Representación gráfica de una red neuronalEl?deep learning (aprendizaje profundo)?es el campo de mayor crecimiento en la inteligencia artificial. Por definición es un subconjunto dentro del campo del machine learning. Ayuda a los ordenadores a dar sentido a ingentes cantidades de datos en forma de imágenes, sonido y texto. Es una?serie de algoritmos emparentados con las redes neuronales?que tienen la?misma finalidad?y un?rendimiento mayor?que otras formas de?machine learning, ya que posee una mayor abstracción.En todos los sectores, las empresas con visión de futuro confían en el deep learning para asimilar cantidades de datos cada vez mayores mediante las mejoras en los algoritmos de aprendizaje automático y los avances en el campo del hardware. De esta forma, consiguen aprovechar la riqueza de los datos para desarrollar nuevos productos, servicios y procesos, así como para dotarse de una ventaja competitiva. Su aplicación práctica la podemos apreciar en la vida diaria, por ejemplo en Facebook, ?podemos ver el reconocimiento de rostros de las imágenes que subimos, en Google, disfrutamos del servicio de fotos que organiza las imágenes solo y la mejora de su traductor. Aunque existen distintas técnicas para implementar deep learning, una de las más comunes es simular un?sistema de redes artificiales de neuronas?dentro del software de análisis de datos.También podemos observar el deep learning en el asistente personal de Apple (Siri), los autos que se manejan solos y la nueva generación de dispositivos que pueden controlar un hogar, entre los que destacan Amazon Echo y Google Home. Detrás de todos estos avances está el deep learning y su concepto es clave para entender el verdadero potencial de la Inteligencia Artificial.Figura 1.1.3. Representación de un proceso de aprendizaje profundoLa inteligencia artificial permite juntar los mejores atributos intelectuales y de raciocinio de los seres humanos con la capacidad de procesamiento de las computadoras. Así, humano y máquina se han unido por medio de la IA.A través del?machine learning?y el?deep learning,?la inteligencia artificial se usará en aplicaciones como el diagnóstico y monitorización de enfermedades, el descubrimiento y sugerencia de medicamentos y tratamientos, y la mejora del estilo de vida, dietas y programas de nutrición.Se espera que la telemedicina?por fin despunte a través de aplicaciones?como consultas vía teleconferencia, discusiones entre grupos de médicos a distancia, transmisión de fotografías o procesamiento de análisis clínicos online,?concierge medico, y gestión digital de prescripciones.1.2. Asistentes virtualesConsiste en un programa cuya interfaz de uso es el reconocimiento y procesamiento de la voz del usuario, de forma que el asistente “comprende” lo que el usuario le está solicitando y ejecuta la acción, siempre y cuando esta se encuentre dentro de sus posibilidadesFigura 1.2.1. Interfaz de un asistente virtual con inteligencia artificial.Ya no solamente le podemos hablar a nuestro celular, sino que además le podemos encargar y preguntarle cosas en lenguaje natural, es decir, como lo haríamos con otra persona.Los grandes avances en tecnologías de inteligencia artificial, aprendizaje automático ("machine learning" en inglés) y procesamiento de voz han llevado a que los asistentes virtuales por voz sean cada vez más precisos, y por tanto, más utilizados.Sabiendo que es más fácil hablar que teclear o hacer click, los gigantes de tecnología quieren llevar sus asistentes virtuales por voz al mayor número de hogares posibles, por lo que están abriendo sus plataformas para fabricantes de hardware y desarrolladores de apps.1.3. Realidad mixtaConsiste en combinar mundos virtuales con el mundo real (físico) en tiempo real. La combinación de estos dos mundospermite crear nuevos espacios con los cuales pueden interactuar tanto objetos y/o personas reales como virtuales. Para crear la realidad mixta, un visor superpone elementos virtuales interactivos sobre objetos reales, con tan alta precisión, que le crea al usuario la ilusión de que los objetos virtuales son reales.Figura 1.3.1. Representación de la realidad mixta en el mundo real.El 2016 tuvo una increíble masificación de las tecnologías de realidad aumentada (representación del mundo físico aumentado con información digital) y de realidad virtual (simulación inmersiva de un ambiente real), con videojuegos como PokemonGo y dispositivos como el OculusRift de Facebook.Pero el 2017 será el a?o en que la realidad mixta se popularice en el mercado. La realidad mixta se puede entender como la poderosa combinación de lo mejor de dos realidades, la virtual y la aumentada.II. Software en el campo servicios en la nubeIII. Software en el campo de los sistemas conversacionales3.1. Bots (Robots)Bot es la palabra?robot?acortada. Se refiere a los programas informáticos autónomos capaces de llevar a cabo tareas concretas e incluso imitar el comportamiento humano mediante el uso de la inteligencia artificial.Figura 3.1.1. Representación gráfica de un robot interactuando con un ordenador.Los bots pueden estar dise?ados en cualquier lenguaje de programación. Funcionan en redes, especialmente en internet, y pueden interactuar con otros sistemas o usuarios. Cada vez más sofisticados, se posicionan con fuerza como una de las tendencias para este a?o 2017, proporcionan un gran valor en todos los campos al ser capaz de llevar a cabo diferentes tareas: realizar una reservación para un restaurante, a?adir un evento al calendario electrónico, buscar información en buscadores web, incluso algunos son capaces de ayudarnos con el servicio técnico de ciertos productos. Un bot puede indicar cuándo comprar y vender en bolsa, basándose en sus propios análisis automáticos del mercado financiero, analizar diagnósticos médicos y extraer conclusiones de gran valor para la investigación de enfermedades.Por todas estas posibilidades, los bots se han convertido en?una?nueva tendencia de este a?o. Muchas empresas se están sumando a?la creación?de este tipo de software, ya que ofrecen grandes posibilidades en?el desarrollo de aplicaciones móviles y soluciones corporativas.3.2. ChatbotsSon programas basados en reglas y/o inteligencia artificial cuya funcionalidad es simular mantener una conversación con humanos al proveer respuestas automáticas a entradas hechas por el usuario.Figura 3.2.1. Imagen que muestra la interacción de los chatbots.La última gran tendencia en el mundo de la tecnología son los?chatbots. Se han vuelto muy populares en un corto periodo de tiempo, pero los bots conversacionales (chatbots) no son un experimento reciente. De hecho, algunas empresas llevan mucho tiempo experimentando con algunos avances que hoy en día cimentan todo el trabajo con los?bots.Los grandes protagonistas del escenario digital ya han desarrollado sus asistentes personales, como Siri o Cortana, capaces de interpretar las peticiones de voz y responder a ellas.El a?o pasado numerosas empresas comenzaron a experimentar con los bots conversacionales para su interacción con los usuarios, debido a que los usuarios ven el messaging como un medio fácil, rápido y normalizado de interactuar con las marcas.3.3. Vehículo AutónomoEs un?automóvil?sin conductor capaz de imitar las capacidades humanas de manejo y control, cuenta con la capacidad de percibir el medio que le rodea y navegar en consecuencia.?No requiere de un conductor para ningún tipo de operación mecánica en el vehículo, pero este podrá elegir el destino.Figura 3.3.1. Representación gráfica de viaje en un vehículo autónomo.Durante el a?o 2016 el coloso de la tecnología Google, tuvo más de 60 vehículos semiautónomos transitando por las calles de diferentes ciudades, recopilando de esta manera una cantidad brutal de información que permitirá para ayudar a mejorar la ingeniería y el marco normativo global de esta tecnología.El 2017 será decisivo para la industria, pues veremos más alianzas entre compa?ías de software, de manufactura de chips y de automóviles. Las marcas tradicionales de automóviles anunciaron que comercializarán sus vehículos?entre el 2018 y 2021. A este ritmo exponencial, se espera que los automóviles totalmente autónomos lleguen entre 2022 y 2023, y que sean accesibles para todos en 2025. 3.4. BlockchainEl?Blockchain?(o cadena de bloques) es una base de datos compartida que funciona como un libro para el registro de operaciones de compra-venta o cualquier otra transacción. Permite realizar transacciones financieras entre dos participantes de manera segura, confiable e irreversible, sin la necesidad de un intermediario para establecer una relación de confianza entre las partes.Figura 3.4.1. Representación grafica de una red global BlockchainDurante el a?o 2016 el 15% de los grandes bancos del mundo?comenzaron a experimentar con?blockchain,?pero el 66% ya contempla la implementación del mismo. Los bancos le dan especial importancia a blockchain?por ser una base de datos de registro de transacciones seguras compartida por todos los nodos de una red de ordenadores, al registrar y almacenar todas las transacciones de la red, ya no requiere de terceros “de confianza” que las dé por válidas.Este a?o las personas promedio comenzarán a entender que?blockchains?es una herramienta para hacer una re-arquitectura?de los sistemas financiero, político y social, pues su implementación obligará a bancos, contadores, notarios, custodios, fideicomisarios y agentes a encontrar mejores propuestas de valor que únicamente ser intermediarios “de confianza” de transacciones.Los bancos comenzaran a enfocarse en actualizar sus datos en tiempo real, y en reducir costos eliminando a los intermediarios y acelerando las transacciones electrónicas. Así, áreas como préstamos al consumo, pago a tiendas minoristas y el intercambio en tiempo real de información de transacciones serán las grandes potenciaciones de la banca.IV. Software en el campo de los frameworksUn framework o entorno de trabajo, es un conjunto múltiples herramientas que brindan asistencia a la hora de desarrollar un software, siendo estos partes del paradigma MVC (Modelo vista-controlador). Un framework le proporciona al desarrollador una estructura base por el cual este puede comenzar, también proporciona un conjunto de herramientas que pueden facilitar el desarrollo. 4.1. ?Qué Frameworks debo utilizar?Existen múltiples Frameworks disponibles para los diferentes lenguajes de programación y plataformas, para saber que framework utilizar se debe considerar principalmente:Tipo de aplicación.Lenguaje de programación.Figura 4.2.1. Logo de AngularJS4.2. Framework para JavaScript: Angular JSright4937760AngularJS es un framework de JavaScript de código abierto que se utiliza para crear y mantener aplicaciones web de una sola página. Después su salida en el 2010 por Google, su popularidad ha tocado nuevas alturas, convirtiéndose rápidamente en el framework más popular, fue principalmente pensado para proyectos de gran envergadura, Actualmente se está trabajando en una segunda versión de este framework.Figura 4.3.1. Logo de Laravelright3200404.3. Framework para PHP: LaravelLaravel es un framework de código abierto para el desarrollo de aplicaciones web con PHP 5 y PHP 7, fue creado en el 2011 y este propone de forma sencilla el desarrollo de aplicaciones web usando el paradigma de MVC (modelo-vista-controlador) donde el controlador es programado como una clase. Laravel en su versión 5 se ha convertido en uno de los Frameworks más populares de PHP usados en la actualidad. Este framework a calado muy hondo en los usuarios y empresas que han optado por usar esta tecnología.Figura 4.4.1. Logo de Ruby on Railsright3200404.4. Framework para Ruby: Ruby on Rails36893503901440 Ruby onRails es un Framework para aplicaciones web escrito en lenguaje Ruby publicado en el 2005 que sigue el paradigma MVC, Actualmente en la versión 5.0.0.1, este framework permite a los usuarios la posibilidad de crear aplicaciones de forma sencilla, permitiéndolos escribir menos código favorecido por su mínima configuración. Ruby onRails se distribuye mediante las RubyGems que es canal oficial de distribución de Ruby y es uno de los Frameworks de Ruby más populares. Figura 4.5.1. Logo de Django4.5. Framework en Python: Django30403801181100 Django es un Framework de Pythonde alto nivel lanzado en el 2003 que permite un rápido desarrollo, un dise?o limpio y pragmático de aplicaciones web,fue nombrado en alusión al guitarrista de jazz gitano Django Reinhardt. Actualmente en su versión 1.11, Django es uno de los Frameworks web de Python más populares, ideal para perfeccionistas y tiene como principio DRY (Do notRepeatYourself, No te repitas).Figura 4.6.1. Logo de Spring MVC4.6. Frameworks para Java: Spring MVC33775654121785 Spring MVC es un framework de código abierto para la plataforma de desarrollo Java, fue lanzado inicialmente en el 2003, a pesar de ser un framework veterano, gracias a su expansión al paradigma MVC se ha convertido en uno de los Frameworks más populares de Java para la creación de aplicaciones ofreciendo poderosas herramientas para el desarrollo de grandes proyectos y aplicaciones web, actualmente se encuentra en la versión 4.3.7.V. Software en el campo de los lenguajes de programaciónLos lenguajes de programación se están extendiendo con rapidez, atravesando terrenos de desarrollo complejo o que ya eran campos específicos de un lenguaje único en concreto; este avance a permitido al desarrollador abalanzarse a toda la pila de desarrollo, tanto por la parte de FrontEnd como la parte de BackEnd del mismo. A continuación se enlistan algunos lenguajes conocidos que innovan este 2017 con nuevas astucias y mejoras:Figura 5.1.1. Logo de JavaScript right3237230right49022005.1. JavaScript ES2017. El estándar JS se mantiene en constante renovación, su edición ES2017 contará con аsync/аwait, una característica que destaca por permitir trabajar con funciones asíncronas.Figura 5.2.1. Logo de TypeScript 5.2. TypeScript 2.1. Es un lenguaje escrito de forma estática que compila JavaScript y recomendado para desarrollar aplicaciones de Angular 2. Trae entre sus características: async/await para navegadores viejos y el modelo de programación orientada a objetos tradicional.Figura 5.3.1. Logo de C# right2127255.3. C# 7.0. Figura 5.4.1. Logo de Phyton 41490901748790Viene con perfeccionamientos a su lenguaje. Microsoft tuvo la idea de introducir el editor de código de Visual Studio y .Net Core, los cuales se ejecutan en Linux, Windows y macOS y permiten el desarrollo de aplicaciones rápidas. 5.4. Python 3.6. Es adecuado para la automatización, el desarrollo web, el Machine Learning (ML) y la computación científica. Figura 5.5.1. Logo de Ruby 5.5. Ruby 2.3. 41573453400425 Inicia el a?o trayendo una serie de progresos en el rendimiento.. Se anunció la inicia tiva Ruby 3 × 3, que intentará hacer que la próxima versión de Ruby 3 sea 3 veces más rápida que la versión actual, abriendo las puertas al uso de Ruby en más contextos.Figura 5.6.1. Logo de PHP 414401052755805.6. PHP 7. Lanzada en diciembre del pasado a?o, trae peque?as mejoras al lenguaje, basadas en el en el rendimiento apreciado en su versión anterior, que ha transformado a PHP en un entrono de desarrollo rápido para aplicaciones web.Figura 5.2.1. Logo de Java 39935151854205.7. Java 9. Previsto para este 2017, se espera que cuenten con características como un evaluador de código, soporte HTTP 2.0 y nuevas APIs. Figura 5.4. 1. Logo de Swift 5.8. Swift 4. right2104390Es un moderno lenguaje de programación open source para el desarrollo de en iOS y macOS. Swift. Se esperan mejoraras en el lenguaje e adición de la server API, lo que la convertirá en una buena opción para desarrollar aplicaciones web y BackEnds. ConclusiónReferirse a las tendencias tecnológicas es abarcar todo lo innovador y que es parte del continuo desarrollo a futuro, y acorde la tecnología vaya cambiando estas también irían evolucionando, alcanzando integrarse con las tecnologías más modernas para ofrecer servicios que harán la vida del hombre mucho más segura y sencilla.La exploración realizada resalta la importante tendencia que se proponen a incorporar los softwares en el proceso de desarrollo en la actualidad, a fin de cumplir con un mayor grado de aceptación por parte de los usuarios e aumentar la calidad del producto software desarrollado.Podemos concluir tras la investigación que, en el software en el actual 2017,está innovando en la áreas o campos de la inteligencia artificial, integración en la nube, sistemas conversacionales como los chatbots, y muchas actualizaciones en frameworks y leguajes de programación.Lista de referencias?Qué son exactamente los chatbots y para qué sirven? - elEconomista.es. (2017). Eleconomista.es. Recuperado de: , E., & Mateos, F. (2017). Elige el mejor bot para Slack según tu proyecto. . Recuperado de: (2015). Los Frameworks imprescindibles para desarrollar la web del futuro. Recuperado de conversacional. (2017). Es.. Recuperado de: , la nueva tendencia en el desarrollo de apps. (2017). . Recuperado de: y el futuro de las apps sin interfaz - Chatbots. (2017). Es.. Recuperado de: Ortego Delgado (2016) Los 7 mejores frameworks de java de 2016. Recuperado de Ortego Delgado (2017). ?Por qué aprender Laravel en el 2017? Koskelainen (2017). Web Frameworks. Recuperado de revolución de los ?bots? o ?chatbots?. (2017). abc. Recuperado de: chat-bots no son para chatear: Bots para non-believers. (2017). . Recuperado de: (2016). Best Ruby frameworks. Recuperado de , L., & Pascual, S. (2017). Las redes sociales se abrazan a los bots. . Recuperado de: , ?. (2017). Todo lo que tienes que saber de los nuevos “chatbots” de Facebook. AARP Recuperado de: (2017). ComputerHoy. Recuperado de: ., R. ?Qué es y cómo funciona “Deep Learning”?. Rubén López. Recuperado de: ález, A. (2017). ?Qué es Machine Learning?. Cleverdata.io. Recuperado de: , T. (2017). TENDENCIAS EN INNOVACI?N: LOS BOTS EN 2017. elect te ayuda. Recuperado de: ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download