Escolar Documentos
Profissional Documentos
Cultura Documentos
INGENIERÍA WEB
Yogesh Deshpande 1, San Murugesan 2, athula Ginige 1, Steve Hansen 1, Daniel Schwabe 3,
(2) Universidad de Southern Cross, Coffs Harbour Campus, Hogbin Drive, Coffs Harbour, Nueva Gales del Sur 2457,
Australia
(4) Instituto de Telemática, Universidad de Karlsruhe, Postfach 6980, Zirkel 2, 76128 Karlsruhe
Alemania
Email: gaedke@tm.uni-karlsruhe.de
(5) SLAC, 2575 Sand Hill Road, Menlo Park, CA 90425, EE.UU.
bebo@SLAC.Stanford.edu
palabras clave: Ingeniería Web, sistemas de información, desarrollo de aplicaciones Web basadas en web, metodologías de
1. Introducción
Ingeniería Web es la aplicación de enfoques sistemáticos, disciplinados y cuantificables para el desarrollo, operación y mantenimiento
de las aplicaciones basadas en la Web 1. Es una respuesta al desarrollo temprano, caótica de sitios Web y aplicaciones, así como el
reconocimiento de una división entre los desarrolladores web y desarrolladores de software convencionales 2, 3. Considerado
globalmente, Ingeniería Web es a la vez un enfoque consciente y proactiva y una colección cada vez mayor de la investigación teórica
y empírica. números especiales de revistas 4, 5, 6, 7, un libro editado de papeles 8, serie de talleres, tutoriales y pistas especiales en
conferencias internacionales (WWW7 - WWW 2003, HICSS 1999-2001, SEKE'02, SEKE'03 y otros), y conferencias internacionales
dedicadas (ICWE2002, ICWE2003) dan fe del nivel de actividad en este campo. Sin embargo, esta lista es sólo una representación
parcial de los trabajos realizados en el campo y las experiencias de la multitud de desarrolladores web. La práctica, bueno y malo, está
llevando la teoría, en palabras de un comentario hecho sobre el campo del mantenimiento de software hace unos años 9.
Este documento es el primero de una serie de documentos sobre Ingeniería Web. Se da una visión general de la Web
Ingenieria. No es una revisión exhaustiva de los trabajos publicados hasta el momento aunque necesariamente se basa en las
contribuciones de los investigadores y profesionales de todo el mundo. Otros documentos de la serie, que se publicará en los próximos
números de la revista, cubrirán diversos temas con mayor detalle.
Nota sobre la terminología: la literatura se refiere indistintamente a los sitios Web, aplicaciones basadas en Web, los sistemas basados en Web,
aplicaciones Web y las otras variantes de éstas cuando se habla de Ingeniería Web. En este trabajo se utilizará las aplicaciones Web término para
representar todas las variaciones. En cualquier caso, vamos a considerar los sitios (o aplicaciones Web) que tienen un propósito informativo, que
ayudan a la gente realiza alguna tarea. Además, en aras de la brevedad, el término 'desarrollo web' será utilizado como una forma corta para
El documento está organizado como sigue. Sección 2 establece la necesidad o el porqué de Ingeniería Web, un problema abordado por varias
personas, basadas en la práctica. Sección 3 actualiza brevemente la taxonomía de las aplicaciones Web, es decir, los dominios en los que opera
Ingeniería Web. En otras palabras, lo que ?? ?? constituye Ingeniería Web. También explica en detalle la creciente complejidad de las
aplicaciones Web. Sección 4 discute las cuestiones de desarrollo, prueba y mantenimiento de aplicaciones Web, es decir, 'cómo' Ingeniería Web
está haciendo lo que debe hacer, y las indicaciones para el trabajo futuro, en un dominio dado. Desde Ingeniería Web es la construcción de un
cuerpo de trabajo, en esta sección se refiere tanto a la práctica y preguntas de investigación. Sección 5 se refiere a la educación y la formación
de ingenieros Web. tecnologías web están en constante evolución, por lo que los nuevos tipos de aplicaciones posibles, que a su vez puede
requerir innovaciones en la forma en que se construyen, implementado y mantenido. La sección 6 concluye el documento, lo que sugiere que la
La necesidad de Ingeniería Web se hace sentir (o desestimado) de acuerdo con la percepción de los desarrolladores y administradores, sus
experiencias en la creación de aplicaciones posibles gracias a las nuevas tecnologías, y la complejidad de las aplicaciones Web.
En las primeras etapas de desarrollo Web, blanca 10 y Powell 11,
identificado y puesto de relieve la necesidad de la ingeniería como en la web de documentos de ingeniería y Ingeniería Web Site. Ingeniería
Web, de manera más general, se reconoce explícitamente el hecho de que buena Web
Y. D eshpande, S. Murugesan, A. Ginige, S. Hansen, D. Schwabe, M. Gaedke, B. White 5
desarrollo requiere esfuerzos multidisciplinares y no encaja perfectamente en cualquiera de las disciplinas existentes.
Para alguien relativamente nuevo en el desarrollo web, ya sean desarrolladores, usuarios o administradores, la Web se manifiesta a través de las páginas
Web, el resultado del nivel más simple y más visible (nivel 1 de la Figura 1, arriba). También pasa a ser el más fácil de entender y dominar, ya que se basa
en un lenguaje de marcado (HTML) en lugar de un lenguaje de programación. El siguiente nivel, diseño de páginas web, se hace evidente que los
desarrolladores y administradores de adquirir experiencia. Si son de tecnología de la información de fondo (TI) se dan cuenta que se requieren habilidades
especiales, muchos sí fuera de la ciencia informática, los antecedentes de los ingenieros de software. Los gerentes no TI y desarrolladores, por el contrario,
no pueden comenzar a apreciar el papel crucial de programación, bases de datos, redes y otras áreas de TI hasta más tarde. El diseño de la página, sin
embargo, no puede ser considerado como problemático, ya que hay muchos paquetes que prometen aliviar la carga de diseño de la página. En términos de
ingeniería de software, estos dos niveles corresponden a la interfaz de usuario, generalmente considerado como una cuestión de detalle y acostado más en
la interacción hombre-ordenador arena (HCI). El siguiente nivel de la percepción que se refiere a diseño del sitio web, o arquitectura de la información para
algunos. Aquí, la naturaleza hipertextual de la Web entra en juego, ya que los buenos sitios web ofrecen buenas estructuras de navegación (es decir,
estructuras que ayudan a sus usuarios a alcanzar sus objetivos). Este nivel no se ha abordado en absoluto por la ingeniería de software tradicional, y de
nuevo puede implicar habilidades fuera de la informática. En la figura 1, sólo los niveles 4 a 6 se refieren a procesos de interés para los ingenieros de
software En términos de ingeniería de software, estos dos niveles corresponden a la interfaz de usuario, generalmente considerado como una cuestión de
detalle y acostado más en la interacción hombre-ordenador arena (HCI). El siguiente nivel de la percepción que se refiere a diseño del sitio web, o
arquitectura de la información para algunos. Aquí, la naturaleza hipertextual de la Web entra en juego, ya que los buenos sitios web ofrecen buenas
estructuras de navegación (es decir, estructuras que ayudan a sus usuarios a alcanzar sus objetivos). Este nivel no se ha abordado en absoluto por la
ingeniería de software tradicional, y de nuevo puede implicar habilidades fuera de la informática. En la figura 1, sólo los niveles 4 a 6 se refieren a procesos de interés para los ingenieros de soft
Para añadir a las dificultades de percepción aquí, un gran número de organizaciones de entrar en el desarrollo Web en la etapa 3, es decir, al
decretar que deben tener una presencia en la Web ?? ??. En consecuencia, el desarrollo Web puede ser vista principalmente en términos de la
publicación ?? ?? o ?? edificio de marca / refuerzo ??, donde las lecciones aprendidas de la ingeniería de software se consideran irrelevantes o
simplemente ignorado. La comprensión y la importancia de otras etapas se hacen más claras sólo después se creó un sitio Web, y la comprensión de
que es, después de todo, un sistema de información. La necesidad de que los procesos de desarrollo sistemáticos, medibles y repetibles a
continuación se hace evidente. el reconocimiento tardío de la importancia de la Ingeniería Web a continuación, podría conducir a un rediseño y
reingeniería de los sitios y las aplicaciones existentes, lo que resulta en esfuerzos y recursos desperdiciados.
Por lo tanto, la ingeniería de software es aplicable y necesario en los niveles de aplicación y gestión de proyectos, pero no es suficiente para
todas las actividades como se muestra en la figura 1. Además, existe un consenso, se explica a continuación, que incluso cuando la
ingeniería de software es aplicable, más y más nuevos desarrollo,
6 ingeniería web
métodos de prueba y mantenimiento tendrán que ser encontrado para hacer frente a problemas específicos del desarrollo Web.
La necesidad de Ingeniería Web se ha debatido y discutido en varios foros, incluyendo cada taller y la conferencia se ha mencionado
anteriormente. contribuciones publicadas provienen de muchas fuentes, actas de conferencias y talleres, artículos de revistas,
números especiales de IEEE Multimedia, cortador de TI diario, software IEEE y IEEE Internet Computing, y el libro editado en
Ingeniería Web. A partir de estas discusiones, es justo decir que la importancia y necesidad de Ingeniería Web está ahora
razonablemente establecidos, a través de un consenso entre los expertos sobre las principales diferencias en las características de
las aplicaciones web y software convencional 13, 14, 15, 16. Como señalan los autores, estas diferencias no surgen simplemente por el
hecho de que muchos desarrolladores web, los primeros vinieron de fondo no la ingeniería de software, pero debido a los nuevos
tipos de aplicaciones (web). Todos ellos han comentado sobre las similitudes en los problemas de desarrollo de aplicaciones, cuando
se propuso por primera ingeniería de software y la actualidad en relación con el desarrollo Web.
3. "Contenido es rey", es decir que está integrado indisolublemente 4. especificaciones de requisitos insuficientes
La Tabla 1 resume los hallazgos de los expertos con algunas características adicionales, distintivos. Vale la pena señalar que esta
enumeración se basa en las experiencias de los desarrolladores Web que los expertos habían consultado. Una vez que se identificaron las
diferencias, se planteó la cuestión de si las prácticas de ingeniería de software actuales podrían abordar con éxito. El consenso fue que
era necesaria la ingeniería de software, pero no era suficiente por sí mismo. Para un análisis más detallado, consultar las referencias
citadas.
Y. D eshpande, S. Murugesan, A. Ginige, S. Hansen, D. Schwabe, M. Gaedke, B. White 7
Dos puntos son dignos de entrar en detalles. Ambos surgen de la razón de ser de la Web, a saber. comunicar la información a escala
mundial. Tabla 1 los incluye. La primera es la naturaleza de la información ( "el contenido es rey") y su efecto en el desarrollo de una
aplicación web. La segunda es la naturaleza de los usuarios finales ( "la satisfacción del usuario y la amenaza de la competencia") de
las aplicaciones Web.
Con respecto a la información, sistemas de información, hasta ahora se han ocupado de los datos transaccionales en gran medida en forma
predominantemente numérica, con un poco de información textual, que puede ser más fácilmente normalizada, estructurada, ordenados y registrados.
sistemas de información basados en la Web contienen texto y multimedia, que son difíciles de estructura, no puede ser normalizada y son muy difíciles
de clasificar y de búsqueda. Por otra parte, se mezclan documento de orientación con acceso a la base de datos a través de la metáfora del hipertexto.
Como contenido, que son en este momento 'integrado indisolublemente con el procesamiento de procedimiento' (parte del 'contenido es el rey', arriba).
Por otra parte, se plantean cuestiones de propiedad de la información, y están sumidos en materia de cuestiones legales, éticas, legales y sociales 13. Los
desarrolladores de software no se ocupan de estos problemas en el pasado. Los desarrolladores web deben tenerlas en cuenta en la creación de
aplicaciones Web. La implicación es que si no se crean las políticas y procedimientos adecuados, el trabajo de los desarrolladores web no puede lograr
En cuanto a la naturaleza de los usuarios finales, las aplicaciones Web pueden dirigirse a usuarios de cualquier parte del mundo. A diferencia de los
sistemas en uso hasta ahora, las basadas en la Web no siempre se limitan a determinados grupos de usuarios dentro de una organización.
desarrolladas para comprender mejor los potenciales, desconocido, y quizá desconocidas, los usuarios establecer los parámetros de calidad de las
aplicaciones con el fin de ofrecer sistemas de calidad, sitios de prueba y aplicaciones y mantener la seguridad.
Las aplicaciones web son muy variables: de pequeña escala, los servicios de corta duración a las aplicaciones empresariales a gran escala distribuidos a
través de Internet e intranets corporativas. Con los años, las aplicaciones Web han evolucionado y se vuelven más complejas ?? que van desde simples
aplicaciones de sólo lectura, a tiempo completo los sistemas de información y derecho. Esta complejidad puede ser en términos de rendimiento (número
de golpes por segundo), por ejemplo, el sitio de Slashdot 17, los Juegos Olímpicos de sitios que reciben cientos de miles de visitas por minuto 18, o en
términos de la naturaleza dinámica de la información, el uso de multimedia o de otras maneras. Ellos pueden proporcionar una gran cantidad de
información, dinámica en múltiples formatos de medios (gráficos, imágenes y vídeo) o pueden ser relativamente sencillo. Sin embargo, todos ellos exigen
un balance entre el contenido de la información, la estética y el rendimiento. La Tabla 2, a continuación, pone de manifiesto las características de los
sistemas simples principios, basados en la Web y los sistemas basados en la Web actuales y avanzados 19.
aplicaciones web manejan la información en sus múltiples formas (texto, gráficos, vídeo, audio). ciencias de la información, multimedia,
hipermedia y gráfica diseño del acuerdo con la estructuración, el procesamiento, el almacenamiento y la presentación de esta información.
Interacción persona-ordenador (HCI) y la ingeniería de requisitos son esenciales para entender los usuarios y sus necesidades. gestión de
la red, la computación en general y de simulación y modelado están obligados a entregar la información y funcionalidad deseada con un
nivel de rendimiento aceptable. La ingeniería de software, incluyendo las nuevas metodologías de desarrollo, es
8 ingeniería web
esencial para el proyecto y la gestión de procesos. Dado que la información se publica con mucha frecuencia para el acceso en todo el
mundo, paradigma de la publicación, y asuntos legales, sociales y éticas que ser tenido en cuenta. En consecuencia, un buen desarrollo
web deben utilizar partes pertinentes de todas estas disciplinas y no ser dominado por los puntos de vista estrechos. Ingeniería Web es una
respuesta en reconocimiento de esta naturaleza multidisciplinar de aplicaciones Web.
Curiosamente, el ACM Computing Curricula 2001
formula su primer principio con una declaración similar al afirmar que "... Informática se extiende mucho más allá de los límites de
la informática" 20. Sin embargo, sus recomendaciones cubren toda el área de computación, mientras que Ingeniería Web se
concentra en el desarrollo Web.
Los sistemas basados en la Web simples Los sistemas basados en la Web avanzadas
! información textual sobre todo en no básicos ! páginas Web dinámicas, porque la información
aplicaciones cambia con el tiempo y los usuarios ?? necesariamente
! Desarrollado por una sola persona o por un muy ! Alto rendimiento y continua
pequeño equipo La disponibilidad es una necesidad
! Los requisitos de seguridad mínimos (debido ! Puede requerir un equipo de desarrollo más grande
clientes actuales, y no como un medio para la ! Hace necesario planificar y gestión de proyectos
comunicación ! Requiere un proceso de desarrollo y sonido
metodología
! La satisfacción del usuario vitales
2.5 Resumen
Las aplicaciones web son multidisciplinar. Están construidos en un entorno en constante cambio donde los requisitos son inestables y los
equipos de desarrollo suelen ser pequeñas. La comunidad de usuarios es más amplio que antes y la competencia se puede propagar a
través del mundo. Las aplicaciones web de calidad tienen que ser útil, funcional, fiable, fácil de mantener, escalable y segura. Estas
demandas en aplicaciones Web
Y. D eshpande, S. Murugesan, A. Ginige, S. Hansen, D. Schwabe, M. Gaedke, B. White 9
son radicalmente diferentes de los obtenidos en las aplicaciones convencionales. Por tanto, existe una fuerte necesidad de Ingeniería Web.
desarrollo web dentro de una organización depende de varios factores. La motivación depende del propósito inicial de uso de la Web (
'presencia' Web o de convertirse en una organización basada en la web), los clientes ?? expectativas y el entorno competitivo ( 'El
continuar con Joneses') 8. La unidad de sistematizar el desarrollo está sujeto a la percepción global de la Web, como se ha representado en
la figura 1, y las decisiones políticas conscientes dentro de la organización. Por ejemplo, es probable que conduzca a ad hoc, los esfuerzos
esporádicos una percepción de bajo nivel de la Web 21, 22.
Como punto de partida para comprender los dominios del problema que la web actualmente puede abordar, en el cuadro 3 se presenta
una taxonomía de las aplicaciones Web actualizados después Ginige y Murugesan 19. El orden de estas categorías más o menos ilustra la
evolución de las aplicaciones Web. Las organizaciones que iniciaron su desarrollo temprano Web también pueden haber seguido un
orden similar en el pasado. Aunque, es posible iniciar el desarrollo Web con aplicaciones en cualquier categoría, esta tabla ha sido útil
para explicar a las organizaciones con modesta presencia en la web cómo podrían mejorar o beneficiarse de la exposición gradual,
manteniendo así los riesgos al mínimo 12.
Categoría Ejemplos
personalizada, juegos
# User-proporcionado
información
# acceso personalizado
entornos
! Las comunidades en línea, Grupos de chat, los sistemas de recomendación, mercados, subastas
mercados
intermediarios
10 ingeniería web
La adopción de las tecnologías web y aplicaciones dentro de una organización no necesariamente va a seguir el camino de la Web ha
evolucionado. En concreto, la World Wide Web fue creado para resolver un problema específico de la difusión de la información. Sin embargo,
se abrió una nueva forma de comunicación y los desarrolladores se estiró las tecnologías para hacer que las aplicaciones interactivas, lo que
obliga, a su vez, aún más, la rápida innovación en las tecnologías. También dio lugar a una nueva arquitectura cliente-servidor que se ha
convertido en el entorno de elección para muchas aplicaciones, tanto en Internet y en intranets. El resultado de esta continuos avances es una
amplia variedad de aplicaciones Web, tecnologías, herramientas, técnicas y métodos. La Web se utiliza ahora para hacer frente a problemas en
muchos dominios, tradicionales, así como completamente nuevas. Una organización puede, por lo tanto, iniciar su propio desarrollo Web en
cualquier parte del espectro se indica en la Tabla 3. La necesidad de Ingeniería Web se ha argumentado anteriormente, pero el éxito es en la
entrega de aplicaciones web a un nivel satisfactorio dependerá de que coincida con el problema de los dominios adecuadamente a los métodos
de solución y la mezcla correspondiente de tecnologías. En ese sentido, Ingeniería Web se refiere esencialmente a la resolución de problemas.
legado ?? s Web como un medio de información en lugar de un medio de aplicación lleva a algunas personas a considerar el desarrollo
Web principalmente como un problema de creación y publicación, dando lugar a declaraciones tales como ?? El desarrollo web es un arte
?? o es sólo ?? manipulación de los medios y la presentación ??. La primera categoría de aplicaciones Web, 'informativo' puede parecer a
caer en este ámbito, aunque ninguna de ellas será erróneo subestimar el esfuerzo total y la necesidad de sistematizar el trabajo de
desarrollo. En cualquier caso, esta taxonomía debe aclarar a ambas organizaciones y desarrolladores que hay una gama mucho más
amplia de aplicaciones web y les ayudan a trazar una estrategia para el desarrollo Web dentro de una organización 20.
Como se mencionó anteriormente, una de las tareas en Ingeniería Web es para que coincida con los métodos adecuados, tecnologías (y
herramientas y técnicas) a cada uno de estos dominios. Este es un ejercicio trivial y no será tratado en un artículo futuro.
4 Práctica y Cuestiones de investigación en el desarrollo, prueba y mantenimiento de aplicaciones Web (Web Engineering)
Sección 2 aclaró la necesidad de Ingeniería Web sobre la base de la experiencia colectiva de los desarrolladores web, las
características cambiantes de las aplicaciones web y su naturaleza multidisciplinar. Sección 3 trazó la evolución y taxonomía de
aplicaciones Web para establecer las áreas de los problemas de la Ingeniería Web. En esta sección se discute 'qué' Ingeniería Web
tiene que hacer y las recomendaciones de los investigadores sobre 'cómo' se debe hacer.
Si bien hay muchas diferencias entre el desarrollo web y desarrollo de software, como se explica en la sección 2, también
existen similitudes entre ellos. Éstas incluyen:
! necesidad de metodologías,
! la obtención de requisitos,
! programación,
! pruebas, y
! mantenimiento de aquellas partes que tienen que ver con la programación y funcionalidades.
Y. D eshpande, S. Murugesan, A. Ginige, S. Hansen, D. Schwabe, M. Gaedke, B. White 11
Ingeniería Web tiene mucho que aprender de la ingeniería de software en estas áreas, pero, a la luz de las diferencias enumeradas
antes, métodos de ingeniería de software pueden tener que ser modificados o nuevos métodos ideado.
Sin embargo, hay una importante diferencia de que los desarrolladores web / ingenieros tienen que tener en cuenta, ya que la discusión más
adelante aclara. desarrollo web y, en particular, la creación y el mantenimiento del sitio web, no son más que las actividades técnicas. El
desarrollo de software es generalmente considerada como la provincia de profesionales de la informática. desarrollo web afecta a toda la
organización, incluyendo sus interfaces con el mundo, y tiene que adaptarse a los no desarrolladores, especialmente la gestión, el diseño o la
recomendación de la arquitectura y las políticas. Esto es particularmente cierto para la gestión de contenidos. Subsección
4.1 Metodologías
Un reciente estudio sobre el desarrollo de proyectos basados en la Web por el Consorcio cortador 23, pone de relieve graves problemas que afectan a
! sistemas entregados no cumplieron con las necesidades del negocio 84% del tiempo.
otra encuesta 24 informó de forma explícita en el uso de técnicas y metodologías multimedia y desarrollo web para sugerir que: a) no
existía enfoque uniforme, y b) los desarrolladores necesitan nuevas técnicas para hacer su trabajo.
Una advertencia está en orden. Dada la naturaleza de las estadísticas, las encuestas pueden ser estadísticamente válida sólo para la población a la que
se basan. Esto no es cuestionar los hallazgos aquí y una crítica estadístico de las encuestas está más allá del alcance de este documento.
Al mismo tiempo, es justo reconocer que la evidencia anecdótica, obtenida a través de la experiencia personal y las discusiones
informales a través de todos los foros citado al comienzo de este trabajo hacer apuntan a un horizonte más amplio, donde los resultados
tanto de las encuestas se confirman. También hay soporte para esta conclusión en forma de ausencia de una gran colección de
estudios de casos exitosos donde se seguía y se replica un enfoque sistemático para el desarrollo Web.
Ingeniería Web y tiene que pretende mejorar esto. Con este fin, se han propuesto varias metodologías y la experiencia de su uso
reportado como estudios de caso. Por ejemplo, véase Schwab 25,26 para OOHDM, Ceri et al en WebML 27, Lowe y Henderson-Sellers 28
OPEN marco espacial, Goeschka y Schranz 29 en su sistema de ingeniería orientado a objetos, KInfrarrojos et al 30 en su adaptación
de RMM 31 y Conallen 32 en la ampliación de la UML. La descripción y crítica de estas y otras metodologías están más allá del
alcance de este documento. Sección 2 menciona pequeños equipos de trabajo a horarios muy cortas como las características de
las aplicaciones Web. Esto es, inevitablemente, va a conducir a enfoques evolutivos para el desarrollo de este tipo de
aplicaciones. Los métodos ágiles y programación extrema abordan problemas similares. .
12 ingeniería web
La atracción de la Web y la fácil disponibilidad de herramientas de desarrollo también han dado lugar a una proliferación de sitios y aplicaciones
creadas por los usuarios finales, en lugar de por los profesionales. El crecimiento de la computación de usuario final conduce lógicamente a
preocupaciones sobre la calidad y la fiabilidad de tales aplicaciones. Es interesante, pero no es sorprendente que los desarrollos basados en la Web
han despertado preocupaciones similares a practicantes de otras disciplinas, que ven en el sitio web y los desarrolladores de aplicaciones sin tener
en cuenta sus tradiciones y técnicas probadas (por ejemplo, por las preocupaciones de los diseñadores gráficos, ver 33, 34,35).
Los documentos metodológicos citados antes éxito informe de un enfoque planificado y sistemático en los estudios de casos específicos,
pero su capacidad de repetición no se ha establecido plenamente ni son sus enfoques comparados con otros métodos. Por tanto, es difícil
estimar si los éxitos reportados se deben atribuir a la naturaleza genérica de los métodos propuestos o de la experiencia de los autores que
se han encontrado métodos que trabajan para ellos.
La ingeniería es enfoques sistemáticos, disciplinados y cuantificables para crear sistemas utilizables. Entre las características de estos
enfoques son mensurabilidad y la repetibilidad de trabajo. Los ingenieros de software y otros profesionales de TI lamentan el hecho de
que la industria del software no es fuerte en ambos. Las mediciones son escasos y repetibilidad se ejerce más por la experiencia y la
intuición. Hay una enorme oportunidad para la comunidad de Ingeniería Web para obtener las cosas bien en este campo.
Aparte de las metodologías de la concepción, un campo legítimo de la investigación, los desarrolladores web y los investigadores tienen que informar de los
resultados empíricos de lo que funcionó bajo qué circunstancias y no si lo hiciera, por qué.
especificaciones de requisitos insuficientes y constante evolución fueron citadas en el apartado 2 como dos grandes diferencias entre las
aplicaciones web y otro software. enfoques y métodos centrados en el usuario para crear aplicaciones tienen un potencial no realizado para
llegar a mejores especificaciones. La apertura de la web hace que sea factible para obtener retroalimentación de los usuarios (y requisitos) en
línea en contraposición a los métodos tradicionales más laboriosos y costosos, tales como reuniones, entrevistas, encuestas en papel y grupos
focales. Los métodos en línea no se han probado sin embargo, en cualquier gran medida y podrían llegar a ser muy interesante. También es
probable que los usuarios tendrán ahora una mayor participación en el desarrollo de aplicaciones.
Una vez más, los métodos ágiles y programación extrema pueden ofrecer soluciones compatibles.
las pruebas web tiene muchas dimensiones 11, 36 Además de las pruebas de software convencional. Cada unidad de una aplicación web, como la página, el
código, el sitio, la navegación, las normas, los requisitos legales debe ser probado. Las pruebas de usabilidad también se ha convertido en un problema
grande y algo controvertido 37. Servicios como el de W3C HTML, CSS y XHTML certificación, y Bobby para la accesibilidad están libremente disponibles
para los desarrolladores web. Consultores en auditoría sitio Web también proporcionan un servicio de pruebas. Sin embargo, los ingenieros Web
necesidad de crear estrategias de pruebas explícitas que incluyen las pruebas pertinentes.
métricas web y la calidad están interrelacionados 38, 39, y al igual que las métricas de software, infrautilizado. Sin embargo, más herramientas se están
haciendo disponibles y los ingenieros Web deben evolucionar las políticas conscientes para probar sus sitios y aplicaciones.
Y. D eshpande, S. Murugesan, A. Ginige, S. Hansen, D. Schwabe, M. Gaedke, B. White 13
4.4 Mantenimiento
mantenimiento de la web, incluso más que el mantenimiento del software, es una actividad continua. Dependiendo de la naturaleza de la
aplicación (ver sección 3, más arriba), el mantenimiento puede llegar a ser bastante complejo y no reside únicamente en el dominio técnico.
Aparte del aspecto evolutivo de las aplicaciones Web, tratadas en las subsecciones anteriores, las principales diferencias entre la aplicación web
y el mantenimiento del software surgen en relación con la gestión de contenidos y la navegación del sitio. la generación de contenidos, y por lo
tanto su actualización y mantenimiento, variarán necesariamente en todas las organizaciones y aplicaciones. La asignación de
responsabilidades para el contenido puede ser llevada a cabo por los recursos humanos (como las descripciones de trabajo) u otras unidades
de gestión general, 40. Sin embargo, es imperativo que los desarrolladores Web detalle cómo el mantenimiento contenido debe llevarse a cabo y,
Educación y Formación 5
La velocidad de vértigo de los avances tecnológicos y los nuevos tipos de aplicaciones además de la volatilidad del mercado significa que la
educación y la formación son ahora los problemas de toda la vida para todos. programas de educación y formación Ingeniería Web deben, por
tanto, no sólo se ocupan de las tecnologías web actuales, sino también fomentar el enfoque proactivo y un espíritu de experimentación e
innovación.
Universidades organizan cursos de grado y posgrado en la informática y la tecnología de la información (TI) centrado en las
disciplinas tradicionales tales como Ciencias de la Computación (CS), Ingeniería de Software (SE), Sistemas de Información (IS) e
Ingeniería Informática y Redes. Ingeniería Web no encaja bien dentro de estos límites y de hecho no está en su radar todavía
organizaciones profesionales como la Association for Computing Machinery (ACM), el Instituto de Ingenieros Eléctricos y
Electrónicos Computer Society (IEEE-CS), la Asociación de Sistemas de Información (AIS) y otros refuerzan las diferencias entre
estas disciplinas, incluso, ya que han comenzado a hincapié en común entre ellos. Las recomendaciones recientes planes de
estudio incluyen temas de computación en red centralizada a nivel de grado 41. Sin embargo, su empuje es más en términos de
computación técnica.
Por otro lado, hay cientos de instituciones comerciales que ofrecen cursos en tecnologías web, algunos de ellos llamando a sus cursos
como Ingeniería Web. Se centran sobre todo en impartir habilidades específicas requeridas para las tecnologías actuales y paquetes
comerciales. Sólo con poca frecuencia es lo que preparan a los estudiantes para hacer frente a toda una gama de temas, el aprendizaje
permanente o el desempeño de sus responsabilidades sociales, legales, éticos y profesionales. Estas áreas requieren un nivel de madurez,
capacidad y disposición para pensar a través y más allá de los límites de las disciplinas tradicionales.
La Facultad de Informática y TI en la Universidad de Western Sydney introdujeron dos sujetos en el desarrollo web a nivel de
licenciatura en 1997 y una especialización completa de un año a nivel graduado en
1999. Los temas de grado han sido muy populares, lo que refleja la popularidad de la propia Web. El curso de postgrado tiene actualmente cerca
de 50 estudiantes, pero siempre hay una pregunta de prácticamente todo el mundo en cuanto a lo que esto significa Ingeniería Web. Para los
detalles del plan de estudios y la experiencia del autor principal ?? s en el funcionamiento de los cursos, consulte Deshpande et al 42.
14 ingeniería web
Ingeniería Web también se enseña en la Universidad de Karlsruhe 43 y se ha propuesto en la Universidad de California, Santa Cruz.
ver Whitehead 44 para más detalles de este último supuesto. En la Universidad Católica de Río de Janeiro, Ingeniería Web se ha
enseñado, tanto a nivel de pre grado y posgrado, ya
1996, con énfasis en los métodos de diseño. Un artículo futuro llevará a cabo un análisis comparativo y la crítica de estos cursos
y otras propuestas.
Hemos encontrado que los estudiantes universitarios pensaban de desarrollo Web principalmente en técnica, la informática o las condiciones de
programación. Para ellos, la nueva tecnología en sí era fascinante y el resto irrelevantes o una pérdida de tiempo. Las cuestiones de derechos de
autor, leyes de privacidad, accesibilidad, gestión de documentos, mantenimiento o cómo hacer frente a explosión de la información no fueron
vistos como parte del desarrollo web en general, ni fueron los estudiantes mentalmente dispuesto a tratar con o idear estrategias para futuros
desarrollos. En términos pedagógicos, los estudiantes todavía están aprendiendo los conceptos básicos y no están en condiciones de sintetizar
Al maestro ?? s nivel que los estudiantes comienzan a preguntar, y puede ser impugnada en la forma de tratar, las preguntas difíciles acerca de lo
que funciona en situaciones específicas, lo que no, por qué y qué se puede hacer al respecto. Es en ese nivel, con un cierto grado de madurez que
La conclusión provisional es que la Ingeniería Web se enseña mejor en toda su complejidad a nivel de postgrado.
6. Conclusiones
Ingeniería Web se ocupa del proceso de desarrollo, despliegue y mantenimiento de aplicaciones Web. Los temas principales de
Ingeniería Web abarcan cómo manejar con éxito la diversidad y complejidad del desarrollo de aplicaciones Web, y, por lo tanto, para
evitar posibles fallos que puedan tener implicaciones graves. Es un enfoque proactivo y en esta etapa una colección de un cuerpo de
trabajo. La necesidad de Ingeniería Web es fuerte. La tarea que los desarrolladores web y los investigadores es crear un cuerpo robusto
y probado de trabajo que puede ser recomendado para adaptarse a las características específicas de las aplicaciones web y entornos.
Acknoledgments
En este trabajo se ha beneficiado de un amplio debate en los últimos años con colegas de la Universidad de Western
Sydney, los debates en curso entre los miembros del comité de redacción de la Revista y los participantes en varios talleres y
conferencias mencionadas en el texto principal.
referencias
1. Murugesan, S., Deshpande, Y., Hansen, S. y Ginige, A. (1999) Ingeniería Web: una nueva disciplina para el desarrollo
de sistemas basados en la Web, Actas del Primer Taller sobre CISE
Y. D eshpande, S. Murugesan, A. Ginige, S. Hansen, D. Schwabe, M. Gaedke, B. White 15
Ingeniería Web, Conferencia Internacional sobre Ingeniería de Software, Los Ángeles, mayo de 1999.
http://aeims.uws.edu.au/WebEhome/ICSE99-WebE-Proc/ San.doc
2. Pressman, RS (1998) ¿Pueden Basado en Internet Aplicaciones modificarse por ingeniería genética? IEEE Software,
Septiembre / octubre de 1998
3. Deshpande, Y., Hansen, S. y Murugesan, S. (1999) Ingeniería Web: Más allá de CS, ES y SE ?? Un evolutiva y no
Engineering Ver, en línea Actas del Primer Taller sobre Ingeniería Web, http://fistserv.macarthur.uws.edu.au/san/icse99-WebE/ICSEWebE-p
4. IEEE Multimedia, números especiales sobre Ingeniería Web, vol 8, nº 1 y nº 2, enero-marzo 2001 y APR- Jun de 2001
6. IEEE Software, Número especial sobre engineeing Internet Software, marzo-abril de 2001
7. IEEE Internet Computing, Número especial sobre la usabilidad web, marzo-abril de 2002
9. Glass, R. (1994) del editor Corner: Teoría + Práctica: una preocupante ejemplo, J. Sistemas de Software,
vol 25, pp 125-126
11. Powell, TA (1998) Sitio Web Ingeniería, Prentice-Hall, Upper Saddle River, Nueva Jersey
12. Deshpande, Y., Chandrarathna, A. y Ginige, A. (2002) Auditoría del Sitio Web - primer paso hacia la reingeniería, Proc.of la
decimocuarta Conferencia Internacional sobre Ingeniería de Software y knoweldge Ingeniería, Ischia, Italia, 15-19 de julio de
2002, pp 731-737
13. Pressman, RS (2001) Ingeniería Web: Guía de un adulto para el desarrollo de aplicaciones basadas en Internet, Cortador de TI
Diario, vol 14, no. 7, pp 2-5
14. Cristal, R. (2001) ¿Quién está justo en el debate sobre el desarrollo Web ?, Cortador de TI Diario, vol 14, no. 7,
pp 6-10
15. Deshpande, Y., Hansen, S. (2001) Ingeniería Web: Creación de una disciplina entre las disciplinas,
IEEE Multimedia, números especiales sobre Ingeniería Web, vol 8, nº 2, pp 82-87
16. Holzschlag, ME (2001) ¿Cómo especialización limitada por la Web, WebTechniques, Sept de 2001.
http://www.webtechniques.com/archives/2001/09/desi/
dieciséis ingeniería web
17. http://slashdot.org/article.pl?sid=01/09/13/154222&mode=thread&tid=124
18. Dantzig, P. (2000) Actas del Segundo Taller sobre Ingeniería Web CISE
19. Ginige, A. y Murugesan, S. (2001) Ingeniería Web: Una introducción, IEEE Multimedia,
números especiales sobre Ingeniería Web, vol 8, nº 1, pp 14-18
20. CC01 (2001) La Fuerza de Tarea Conjunta de Computación Los planes de estudio, IEEE Computer Society y la Association for Computing
Machinery, El cálculo de los planes de estudio de 2001, vols 1 y 2, Proyecto de Ironman, febrero de 2001, http://www.acm.org/
22. Ginige, A. (2000) Ingeniería Web en Acción, Actas del Segundo Taller sobre Web
Ingenieria, Conferencia Internacional sobre Ingeniería de Software ICSE2000, Limerick, Irlanda, 4-5 de de junio de el año 2000
24. Barry, C. y Lang, M. (2001) un estudio de Multimedia y técnicas de desarrollo Web y el uso Metodología,, IEEE
Multimedia, números especiales sobre Ingeniería Web, vol 8, nº 2, pp 52- 60
25. Schwabe, D. y Rossi, G. (1998) Un enfoque orientado a objetos de diseño de aplicaciones basadas en Web, Teoría y Práctica
de sistemas de objetos (TAPOs), número especial en Internet, vol 4, no.
4, pp 207-225
26. Schwabe, D. Esmeraldo, L., Rossi, G. y Lyardet, F. (2001) Aplicación Web Ingeniería para su reutilización, IEEE Multimedia, números
especiales sobre Ingeniería Web, vol 8, no 1, pp20-31
27. Ceri, S., Fraternali, P. y Bongio, A: Web Modeling Language (WebML): un lenguaje de modelado para el diseño de sitios Web. Actas
de la Conferencia de la World Wide Web, WWW9 Ámsterdam, mayo de 2000.
28. Lowe, D. y Henderson-Sellers, B. (2001) abierto al cambio, Cortador de TI Diario, Vol 14, no. 7, pp
11-17
29. Goeschka, KM y Schranz, MW (2001) Cliente y el legado de Integración en Ingeniería Web orientada a objetos, IEEE
Multimedia, números especiales sobre Ingeniería Web, vol 8, nº 1, pp 32-41
30. Isakowitz, T., Stohr, E. y Balasubramnian, P. (1995) RMM: Una Metodología para Estructurado Diseño Hipermedia, ACM
Comm, vol. 38, no. 8, 35-44
31. KInfrarrojos, E., Jazayeri, M., kerer, C. y Schranz, M. (2001) Experiencias en la ingeniería de servicios web flexibles, IEEE
Multimedia, números especiales sobre Ingeniería Web, vol 8, nº 1, pp 58-65
Y. D eshpande, S. Murugesan, A. Ginige, S. Hansen, D. Schwabe, M. Gaedke, B. White 17
32. Conallen, J. (2000) Creación de aplicaciones Web con UML, Pearson Educación, Lectura,
MAMÁ
33. Leary, M., Hale, D. y Devigal, A. (1997) ?? s Guía Web Designer a la tipografía, Hayden Books,
Indianápolis, EE.UU.
35. Williams, R. y Tollett, J. (1998) El diseñador no ?? s libro Web Peachpit Press, Berkeley, CA,
Estados Unidos
37. http://www.useit.com/
38. Mendes, E., Mosley, N. y Counsell, S. (2001) Métrica Web - Estimación de Diseño y Creación Esfuerzo, IEEE Multimedia, números
especiales sobre Ingeniería Web, vol 8, nº 1, pp 50-57
39. Olsina, L., Lafuente, G., Pastor, O. (2002) Hacia un repositorio reutilizable para la Web Metrics,
Actas del III Taller CISE en Ingeniería Web, Orlando, Florida, mayo de 2002
40. Hansen, S. y Deshpande, Y. (1997) A Habilidades Jerarquía de Información Web Desarrollo de Sistemas, Conf Web
Australasia proc ( AusWeb97), Southern Cross University Press, Lismore, Australia, pp 114-121
41. http://www.acm.org/sigcse/cc2001/cc2001.pdf
42. Deshpande, Y., Murugesan, S., Ginige, A. y Hansen, S. Desarrollo Web (2001) La enseñanza en los niveles de
grado y posgrado, Actas de la Conferencia WebNet 2001, Montreal, octubre de 2001
43. http://mw.tm.uni-karlsruhe.de/vorlesung
44. Whitehead, J. (2002) Un plan de estudios propuesto para una Maestría en Ingeniería Web, JWE, vol 1, no. 1