Revista de Divulgación Científico-Tecnológica del Gobierno del Estado de Morelos

La Ingeniería Web: Desarrollo de Aplicaciones Web de Alta Calidad.

M.C. Miriam Sánchez Santamaria / Esta dirección de correo electrónico está protegida contra spambots. Usted necesita tener Javascript activado para poder verla..
Instituto Tecnológico de Cuautla
M.C. Luis Adrián García García / Esta dirección de correo electrónico está protegida contra spambots. Usted necesita tener Javascript activado para poder verla..
Instituto Tecnológico de Cuautla
Archivo: Ingeniería de Software

Esta colaboración está avalada por el M.E. Felipe Pascual Rosario Aguirre, director del Instituto Tecnológico de Cuautla

Debido al crecimiento e impacto de Internet en los años recientes, se ha visto un incremento considerable en el desarrollo de software basado en la web, así como la necesidad de migrar sistemas de software ya existentes a ambientes web. Esto originó el desarrollo de propuestas metodológicas y herramientas adecuadas para el desarrollo de sistemas en este ambiente, denominado Ingeniería Web, que toma en cuenta las características propias de este tipo de aplicaciones.
             En la actualidad existen diferentes metodologías y herramientas que apoyan y facilitan el desarrollo de estas aplicaciones, sin embargo, se siguen desarrollando propuestas con nuevos enfoques para mejorar su calidad. La Ingeniería Web, es una gran área de oportunidad para la investigación y desarrollo de herramientas que permitan desarrollar aplicaciones web de alta calidad.
Hoy en día, el software es visto y utilizado cada vez más como un producto útil en la solución de problemas en diversas áreas de la vida del ser humano, por lo tanto es muy importante que sea un producto de calidad. Algunos enfoques, refieren que la calidad de un producto depende en gran medida del proceso utilizado para su creación; en el caso del software, esto es el proceso de desarrollo de software o proceso de software.
             Cuando un software se desarrolla adecuadamente, satisface las necesidades de los usuarios, funciona impecablemente durante mucho tiempo, es fácil de usar y modificar, y también es entregado en el tiempo y costos planeados. Por el contrario, cuando no se desarrolla adecuadamente, no cubre los requerimientos de los usuarios, es propenso a errores, es difícil de modificar e incluso más difícil de utilizar y se convierte en un problema para los usuarios. [1]
En los años recientes, se ha visto un incremento considerable en el desarrollo de software basado en la web, así como la necesidad de migrar sistemas de software ya existentes a estos ambientes.
         Lo anterior, debido al crecimiento e impacto de Internet y particularmente de la World Wide Web en las áreas de negocios, comercio, industria, finanzas, educación, gobierno, entretenimiento y personales, entre otras [2], lo cual ha provocado que los requerimientos de los usuarios de software se vean influenciados y cambien hacia estos ambientes. Este incremento, enfrentó a los desarrolladores de software a la necesidad de aprender y aplicar en forma rápida tecnologías de vanguardia para desarrollar estos sistemas.
En un principio, las aplicaciones basadas en la web, eran básicamente para mostrar información o publicidad acerca de una empresa o institución (estáticas), sin embargo, en la actualidad, permiten además, la interacción con los usuarios y la realización de transacciones (dinámicas), es decir, han pasado de ser estáticas a ser altamente dinámicas, lo cual implica mayor complejidad para su desarrollo.
               El ambiente web, añade a un sistema de software, características, que no se encuentran en un sistema tradicional. Una aplicación de software basada en la web (WebApp), consta de un conjunto de elementos multimedia , enlazados que permiten al usuario un ambiente virtual de navegación.
Las características propias de las WebApps, deben ser tomadas en cuenta, durante todo el proceso de desarrollo, a fin de lograr aplicaciones de alta calidad, sin embargo, el enfoque tradicional de la Ingeniería de Software, no las consideraba. Esto dio origen a propuestas de metodologías y herramientas adecuadas a sistemas basados en la web.
Este enfoque fue denominado Ingeniería Web (IW), definida como “el establecimiento y uso de principios científicos, de ingeniería y de administración, así como un enfoque sistemático y disciplinado para el desarrollo, implantación y mantenimiento exitoso de sistemas y aplicaciones basados en Web de alta calidad” [2]
Se han propuesto diferentes métodos con diferentes enfoques para el desarrollo de aplicaciones. Algunas de las principales metodologías son: UWE que se basa en el uso de diagramas UML [3], OOHDM con un enfoque basado en modelos para construir aplicaciones hipermedia y ADM que combina el proceso de diseño centrado en el usuario y modelado [5].
Al mismo tiempo, ha aumentado la construcción de herramientas que faciliten el desarrollo de webapps, tales como: AriadneTool [6] herramienta para el método ADM y MagicUWE plugin para MagicDraw herramienta para la metodología UWE [3][7].
Estos son sólo algunas de las metodologías y herramientas principales en la actualidad, sin embargo, se siguen desarrollando propuestas con nuevos enfoques para mejorar la calidad de las aplicaciones web.
              Las necesidades actuales de desarrollo de software están altamente influenciadas por el impacto del Internet y de la World Wide Web (www). Cada vez más, las empresas e instituciones necesitan y dependen de aplicaciones basadas en la web, lo cual requiere por parte de los desarrolladores un amplio conocimiento de tecnologías de vanguardia que le permitan desarrollarlas, sin embargo, esto no es suficiente, también se requiere del conocimiento de las metodologías y herramientas que permitan analizar, planear, modelar e implementar un sistema de calidad que responda a los requerimientos del usuario en forma, tiempo y costos y que además permita en forma sencilla su mantenimiento, crecimiento y evolución.
Estas consideraciones se encuentran en la Ingeniería Web, que promueve una forma de trabajo disciplinada y sistemática y el uso de herramientas que faciliten el desarrollo, implantación y mantenimiento de aplicaciones web de alta calidad.
La Ingeniería Web, es una gran área de oportunidad para la investigación y desarrollo de herramientas que permitan desarrollar aplicaciones web de alta calidad.

Referencias:
[1] Pressman Roger S., 2002, ‘Ingeniería del Software. Un enfoque práctico’, Ed. Mc GrawHill, 5ª. Ed., ISBN 844-81-3214-9, pp. 601.
[2] Murugesan San, Deshpande Yogesh, Hansen Steve, Ginige Athula. 2001. “Web Engineering: A New Discipline for Development of Web-Based Systems", in Web Engineering: Managing Diversity and Complexity of Web Application Development, S. Murugesan and Y. Deshpande, Eds.: Springer-Verlag, 2001.
[3] UML- based Web Engineering. <http://uwe.pst.ifi.lmu.de>. Consultado en abril de 2011.
[4] Schwabe, D., Rossi, G., and Barbosa, S. D. J. 1996. “Systematic hypermedia application design with oohdm”. In The Seventh ACM Conference on Hypertext (Hypertext 1996). http://www-di.inf.puc-rio.br/schwabe/HT96WWW/section1.html. Consultado junio 2011.
[5] Montero Susana, Díaz Paloma, Aedo Ignacio, Montells Laura. 2006. “ADM: Método de Diseño para la Generación de Prototipos Web Rápidos a Partir de Modelos”. XV Jornadas de Ingeniería del Software y Bases de Datos, JISBD 2006. Barcelona, 2006. Disponible en <http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-227/paper03.pdf> Consultado 14 febrero de 2010.
[6] Página oficial ARIADNE y Ariadne Tool. <http://www.dei.inf.uc3m.es/projects/old/ariadne/index.html>. Consultado en abril 2011.
[7] MagicDraw. <https://www.magicdraw.com/>. Consultado en junio 2011.

1.-Multimedia. Múltiples medios, además de texto, tales como imágenes, audio y video.
2.-UWE. UML-based Web Engineering, Ingeniería Web basada en UML
3.-Unified Modeling Language, Lenguaje Unificado de Modelado
4.-OOHDM. Object-Oriented Hypermedia Design Method, Método de Diseño Hipermedia Orientado a Objetos
5.-ADM. Ariadne Development Method. Método de Desarrollo Ariadne


Semblanza


La M.C. Miriam Sánchez Santamaria, estudió la Maestría en Ciencias en Ciencias de la Computación en el Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET), en la línea de investigación de Ingeniería de Software y obtuvo su grado en Enero de 2010. Actualmente es profesora de tiempo completo en el Instituto Tecnológico de Cuautla, impartiendo materias de la carrera de Ingeniería en Sistemas Computacionales y es fundadora de la línea de investigación de Ingeniería de Software en el Instituto.


Semblanza


El M.C. Luis Adrián García García, estudió la Maestría en Ciencias en Ciencias de la Computación en el Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET), en la línea de investigación de Ingeniería de Software y obtuvo su grado en Junio de 2011. Actualmente, es profesor de tiempo completo en el Instituto Tecnológico de Cuautla impartiendo materias de la carrera de Ingeniería en Sistemas Computacionales y es fundador de la línea de investigación de Ingeniería de Software en el Instituto.