You are on page 1of 15

Revista de Ingeniería Web, vol.

1, Nº 1 (2002) 003-017 © Rinton


Press

INGENIERÍA WEB

Yogesh Deshpande 1, San Murugesan 2, athula Ginige 1, Steve Hansen 1, Daniel Schwabe 3,

Martin Gaedke 4, Bebo blanca 5

(1) Facultad de Informática y Tecnología de la Información, Universidad de Western Sydney


Campus campbelltown, Edificio 17, Locked Bag 1797
Penrith Sur DC NSW 1797, Australia e-mail: {y.deshpande,
a.ginige, s.Hansen}@uws.edu.au

(2) Universidad de Southern Cross, Coffs Harbour Campus, Hogbin Drive, Coffs Harbour, Nueva Gales del Sur 2457,
Australia

(3) Departamento de Informática. PUC-Rio, Río de Janeiro, Brasil


E-mail: schwabe@inf.puc-rio.br

(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

Recibido el 18 de de septiembre de, 18


revisado de 2002 de octubre de, de 2002

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 Web. Es a la vez un
enfoque proactivo y una colección cada vez mayor de la investigación teórica y empírica en el
desarrollo de aplicaciones Web. Este documento ofrece una visión general de Ingeniería Web,
abordando las preguntas: a) ¿Por qué es necesario? b) ¿cuál es su dominio de la operación? c)
cómo ayuda y qué debería hacer para mejorar el desarrollo de aplicaciones Web? y d) cómo debe
ser incorporado en la educación y la formación? El documento analiza las diferencias
significativas que existen entre las aplicaciones web y software convencional, la taxonomía de las
aplicaciones Web, los progresos realizados hasta ahora y los temas de investigación y
experiencia de la creación de una especialización a nivel de maestría.

palabras clave: Ingeniería Web, sistemas de información, desarrollo de aplicaciones Web basadas en web, metodologías de

desarrollo, la taxonomía de las aplicaciones Web


Comunicada por: JWE editorial
4 ingeniería web

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

significar el desarrollo, implementación y mantenimiento de aplicaciones Web.

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

Ingeniería Web en esta etapa sigue siendo un objetivo en movimiento.

2 Necesidad de Ingeniería Web

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.

2.1 Las percepciones de Desarrollo Web

desarrollo Web se percibe a diferentes niveles, que se muestran en la Figura 1.

planificación y gestión de proyectos 6. Web


5. Sistema basado en la Web

4. Web del sitio de construcción

3. Diseño del Sitio Web


2. Diseño de Páginas Web

1. Página Web de construcción

Figura 1: Niveles de percepción en el desarrollo Web

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.

2.2 Experiencia para programadores web, Nuevas Tecnologías y Consenso de Expertos

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.

Tabla 1: Principales diferencias entre las aplicaciones web y software convencional

1. calendarios de desarrollo comprimidas 2. constante con la evolución acortado


ciclos de revisión

3. "Contenido es rey", es decir que está integrado indisolublemente 4. especificaciones de requisitos insuficientes

con el procesamiento de procedimiento

5. pequeña equipos de trabajo a horarios muy 6. emergentes tecnologías / metodologías


cortos
7. la falta de procesos de prueba aceptados 8. satisfacción del usuario y la amenaza de la competencia de una

9. apoyo a la gestión mínimo 10. criticidad de los resultados


11. estándares en desarrollo a la que Web 12. comprensión de disciplinas adicionales que se requieren
aplicaciones deben o tienen que cumplir, en función para aplicaciones Web, como hipertexto, diseño
de las circunstancias específicas (por ejemplo, gráfico, arquitectura de la información
normas de accesibilidad para los sitios del gobierno o
estándares IEEE o del W3C por razones
tecnológicas).
13. Consideraciones de seguridad 14. Entre las cuestiones legales, sociales y éticas

15. variedad de orígenes de los desarrolladores 16. El rápido en evolución implementación


ambiente, que abarca varios
plataformas de hardware

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

lo que quiere el cliente 10.

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.

Si las aplicaciones Web se limitaron a intranets, las dificultades para


la comprensión de los usuarios se reduciría al mínimo. Si ellos van más allá de las intranets, sin embargo, las estrategias y las políticas deben ser

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.

2.3 Características y complejidad de las aplicaciones Web

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.

2.4 carácter multidisciplinar de Desarrollo Web

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.

Tabla 2: Características de los simples y avanzadas aplicaciones 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

! de contenido de información bastante estático ! Gran volumen de información


! navegación sencilla ! Difícil de navegar y encontrar información
! acceso poco frecuente o utilidad limitada ! Integrado con la base de datos y demás medidas de

! interactividad y funcionalidad limitada planificación, programación y sistemas de seguimiento

! Sistemas autónomos ! Desplegado en aplicaciones de misión crítica


! De alto rendimiento no es un requisito importante ! Preparado para la evolución sin problemas

! 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

principalmente flujo unidireccional de información) con experiencia en diversas áreas

! Fáciles de crear ! Pide que el riesgo o la evaluación de la seguridad y

! La retroalimentación de los usuarios, ya sea innecesario o administración

no buscado ! Necesidades de control de configuración y

! sitio web principalmente como una identidad ?? ?? Para el administración

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

! sitio web / aplicación como el principal


medio de comunicación entre la organización y
los usuarios

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.

3 Evolución y Taxonomía de Aplicaciones 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.

Tabla 3: Categorías de Aplicaciones Web

Categoría Ejemplos

! informativo Los periódicos en línea, catálogos de productos, boletines, manuales

de servicio, clasificados, e-libros

! Interactivo Los formularios de inscripción, presentación de información

personalizada, juegos
# User-proporcionado

información

# acceso personalizado

! Transacción E-compras, bienes y servicios de pedidos, la banca

! Flujo de Trabajo Los sistemas de planificación y programación, gestión de

inventario, monitoreo de estado

! Trabajo colaborativo sistemas de autoría distribuida, herramientas de diseño colaborativo

entornos

! Las comunidades en línea, Grupos de chat, los sistemas de recomendación, mercados, subastas

mercados

! Portales web centros comerciales electrónicas, intermediarios

! Servicios web aplicaciones empresariales, de información y de negocios

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,4 elabora en este aspecto.

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

grandes proyectos basados ​en la Web:

! sistemas entregados no cumplieron con las necesidades del negocio 84% del tiempo.

! retrasos en el programa plagados los proyectos 79% del tiempo.

! Proyectos excedieron el presupuesto el 63% de las veces

! sistema entregado ?? didn t han requerido funcionalidad 53% del tiempo.


! Entregables eran de mala calidad 52% 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é.

4.2 obtención de requisitos

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.

4.3 Pruebas de Calidad, Métricas y

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,

más importante, influir en las políticas pertinentes.

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

que el aprendizaje, y mucho menos evaluar cómo podrían utilizarla.

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

empiezan a concebir y experimentar sistemáticamente con sus propias soluciones.

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

5. Cortador de TI Diario, vol 14, no. 7, julio 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

8. Murugesan, S. y Deshpande, Y. (2001) Ingeniería Web, Lecture Notes in Computer Ciencia-


Temas de actualidad, vol 2016, Springer Verlag, 2001

9. Glass, R. (1994) del editor Corner: Teoría + Práctica: una preocupante ejemplo, J. Sistemas de Software,
vol 25, pp 125-126

10. Blanca, B. (1996) Documento Web Ingeniería, SLAC-PUB-7150, mayo de 1996,


http://www.slac.stanford.edu/pubs/slacpubs/7000/slac-pub-7150.html (basado en tutorial
presentado en la Conferencia Mundial Wide Web WWW5, París, 1995)

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/

21. Deshpande, Y. y Ginige, A. (2000) Corporate Desarrollo Web, Actas de la Segunda


Taller sobre Ingeniería Web, Conferencia Internacional sobre Ingeniería de Software ICSE2000, Limerick, Irlanda, 4-5 de de junio de el
año 2000

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

23. Cutter Consortium, Informe de investigaciones, 7 Nov 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.

34. Holzschlag, ME (1998) W eb by Design, Sybex, San Francisco, EE.UU.

35. Williams, R. y Tollett, J. (1998) El diseñador no ?? s libro Web Peachpit Press, Berkeley, CA,
Estados Unidos

36. Lowe, D. y Hall, W. (1999) Hipermedia y la Web, Wiley, Chichester, Inglaterra

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