# Ingeniería web

La ingeniería web es la aplicación de metodologías sistemáticas, disciplinadas y cuantificables al desarrollo eficiente, operación y evolución de aplicaciones de alta calidad en la World Wide Web.
La ingeniería web se debe al crecimiento desenfrenado que está teniendo la Web está ocasionando un impacto en la sociedad y el nuevo manejo que se le está dando a la información en las diferentes áreas en que se presenta ha hecho que las personas tiendan a realizar todas sus actividades por esta vía.
Desde que esto empezó a suceder el Internet se volvió más que una diversión y empezó a ser tomado más en serio, ya que el aumento de publicaciones y de informaciones hizo que la Web se volviera como un desafío para los (Ingeniería del software) ingenieros del software, a raíz de esto se crearon enfoques disciplinados, sistemáticos y metodologías donde tuvieron en cuenta aspectos específicos de este nuevo medio.

## Introducción

Uno de los aspectos más tenidos en cuenta, en el desarrollo de sitios web es sin duda alguna el diseño gráfico y la organización estructural del contenido. En la actualidad la web está sufriendo grandes cambios, que han obligado a expertos en el tema a utilizar herramientas y técnicas basadas en la ingeniería del software, para poder garantizar el buen funcionamiento y administración de los sitios web.
Para garantizar el buen funcionamiento y mantenimiento de los sitios web, este debe contar con ciertos atributos y características que en conjunto forman un concepto muy importante, para alcanzar el éxito en cualquier organización, herramienta, y todo aquello que se pueda considerar como servicio. Dicho concepto es la calidad, que con atributos como usabilidad, navegabilidad, seguridad, mantenibilidad, entre otros, hace posible por un lado la eficiencia del artefacto web y por ende la satisfacción del usuario final.
Pero para tener artefactos de calidad, a esa misma se le debe planificar, programar y controlar, es decir la calidad no podrá ser agregada a un artefacto web o a cualquier otro producto, al final del proceso de desarrollo, sino que se deberá implementar durante todo el ciclo de vida del desarrollo. Para finalizar el resultado de un proceso de calidad, podría arrojar recomendaciones para introducir mejoras, y la decisión final podría consistir en lanzar una nueva versión del sitio web o en modificar algunos atributos ausentes o pobremente diseñados. Cabe destacar que la ingeniería de la web hace una diferencia entre un webSite y una aplicación, ya que la ingeniería de la web no se dedica a la construcción de sitios web sino a la construcción de aplicaciones web la principal característica que los distingue (aplicaciones de sitios web) es que los sitios web son sitios en la web en donde se publica contenido generalmente estático o un muy bajo nivel de interactividad con el usuario, mientras que las aplicaciones son lugares con alto contenido de interactividad y funcionalidades que bien podrían ser de un software convencional, la aplicación web más sencillo sería uno que contenga formularios y subiendo de nivel encontramos los que realizas conexión con bases de datos remotas, y administradores de contenidos entre otras.
Entonces la ingeniería de la Web es la aplicación de metodologías sistemáticas, disciplinadas y cuantificables al desarrollo eficiente, operación y evolución de aplicaciones de alta calidad en la World Wide Web. En este sentido, la ingeniería de la Web hace referencia a las metodologías, técnicas y herramientas que se utilizan en el desarrollo de aplicaciones Web complejas y de gran dimensión en las que se apoya la evaluación, diseño, desarrollo, implementación y evolución de dichas aplicaciones.

### Áreas

El desarrollo de aplicaciones Web posee determinadas características que lo hacen diferente del desarrollo de aplicaciones o software tradicional y sistemas de información. La ingeniería de la Web es multidisciplinar y aglutina contribuciones de diferentes áreas: arquitectura de la información, ingeniería de hipermedia/hipertexto, ingeniería de requisitos, diseño de interfaz de usuario, usabilidad, diseño gráfico y de presentación, diseño y análisis de sistemas, ingeniería de software, ingeniería de datos, indexado y recuperación de información, testeo, modelado y simulación, despliegue de aplicaciones, operación de sistemas y gestión de proyectos.
La ingeniería de la Web no es un clon o subconjunto de la ingeniería de software aunque ambas incluyen desarrollo de software y programación, pues a pesar de que la ingeniería de la Web utiliza principios de ingeniería de software, incluye nuevos enfoques, metodologías, herramientas, técnicas, guías y patrones para cubrir los requisitos únicos de las aplicaciones web. Sin embargo el término de ingeniería de la web ha sido un término muy controvertido especialmente para profesionales en disciplinas tales como la ingeniería del software ya que no la consideran como un campo dentro de la ingeniería.
Los principales aspectos de la ingeniería de la Web incluyen, entre otros, los siguientes temas:
* Diseño de procesos de negocio para aplicaciones web.
* Herramientas CASE para aplicaciones web.
* Generación de código para aplicaciones web.
* Desarrollo web colaborativo.
* Modelado conceptual de aplicaciones web.
* Diseño de Modelos de datos para sistemas de información web.
* Ingeniería web empírica.
* Entornos de desarrollo de aplicaciones web integrados.
* Herramientas de autor para contenido multimedia.
* Pruebas de rendimiento de aplicaciones basadas en web.
* Personalización y adaptación de aplicaciones web.
* Herramientas y métodos de prototipado.
* Control de calidad y pruebas de sistemas.
* Ingeniería de requisitos para aplicaciones web.
* Aplicaciones para la Web Semántica.
* Factorías de software para la web.
* Métodos, herramientas y automatización de pruebas para aplicaciones web.
* Aplicaciones web móviles y ubícuas.
* Usabilidad de aplicaciones web.
* Accesibilidad para la web.
* Metodologías de diseño web.
* Formación en ingeniería de la web.
* Diseño de interfaces de usuario.
* Métricas para la web, estimación de costes y medición.
* Gestión de proyectos web y gestión de riesgos.
* Desarrollo y despliegue de servicios web.

## Categorías

Los sitios web pueden ser categorizados de la siguiente forma:
* Sólo estático, que se enfoca en la organización de la estructura y el contenido, en la forma como se va a presentar la información y que sea fácil de manejar para cualquier usuario, pero debe tener en cuenta la eficiencia y la confiabilidad.
* Sitio estático con formularios de entrada, este sitio tiene las mismas características que el anterior, adicionándole que el le permite a los usuarios la interacción por medio de cuestionarios, comentario y sugerencias.
* Sitio con acceso de datos dinámicos, aquí además de las características antes mencionadas, cuenta con bases de datos en las cuales el usuario puede realizar consultas y búsquedas.
* Sitio creado dinámicamente, en este sitio los requerimientos son parecidos pero deben suplir con las necesidades de cada usuario; creando sitios dinámicos que sean compatibles con el entorno de navegación de cada usuario.
* Aplicación de software basada en la Web, este sitio puede tener todas las características antes mencionadas, pero logrando un parecido con una implementación cliente/servidor comúnmente conocido que a un sitio web estático.
Con el pasar del tiempo y la constante evolución tecnológica que atraviesa nuestro mundo circundante hemos podido observar la necesidad y la utilidad de la red de redes; Internet para mejorar de cierta manera nuestras condiciones de vida y así fortalecer más nuestro proceso de formación educativa y contribuir con un mejoramiento del global de las necesidades de cada quien observemos que un proyecto que comenzó meramente con fines militares para no centralizar los datos, ha tenido un crecimiento significable hoy en día el mundo se mueve con la web, ayudando a pequeñas, medianas y grandes empresas a si como todo entidad educativa.
Tengamos en cuenta que empresas mueven sus negocios por medio de la internet y que hasta políticas como el CRM para el manejo de clientes, son muy importantes para las empresas como por ejemplo, Dell, surgen políticas para el mantener los clientes y tenerlos en contactos vía Web, mediante Internet se cuida de cierta manera la imagen de una empresa, por ejemplo mediante el marketing a través de Internet permite reforzar el servicio, haciendo más fuerte la relación entre la marca y el cliente.
Esto implica un uso creativo del medio, involucrando verdaderamente a las personas con la compañía. Utilizando la inmediatez, que brinda esta vía de comunicación. Con la herramienta comunicacional, se permite una relación constante e inmediata con los clientes, así como mantener a los clientes contentos, conquistar nuevos nichos de mercado y, por ende, incrementar las ventas.
Debemos tener en cuenta que para la efectiva comunicación en la web , se tienen protocolos que es como el lenguaje para que se haga efectiva el intercambio de comunicación, vale la pena preguntarse, así para poder acceder a toda la información que nos puede suministrar Internet sólo debes poseer un servicio de algún proveedor de Internet un navegador como Mozilla o Netscape.
Por medio de un sitio web podremos tener nuestro sitio accesible o disponible 24 horas al día, 365 días del año en absolutamente todo el mundo para quienes tienen acceso; es decir, cerca de 600 millones de personas aproximadamente, es por esto que nuestros datos en internet publicados en el sitio web podrían ser accesibles a toda persona en cualquier momento en cualquier parte del mundo.
Todas estas consideraciones nos llevan a la conclusión de que un sitio web bien logrado no es únicamente un espacio en la red para ver el mismo comercial que en televisión; es en realidad una extensión de las empresas o instituciones, así mismo teniendo en cuenta la importancia y aplicabilidad que tiene la ingeniería Web en nuestro desarrollo cognitivo, social y vivencial es fácil visionar que cada una de las funciones que ella emana estarán siempre ligadas a la vanguardia del desarrollo progresivo de la tecnología y del hombre.

## Naturaleza multidisciplinaria

La ingeniería del software, incluye nuevas metodologías de desarrollo esenciales para la administración de proyectos. Actualmente la ingeniería web ha adoptado también metodologías de la ingeniería del software y ha creado muchas nuevas. Debido a que la información es publicada para conocimiento de todo el mundo, hay que tener muy en cuenta aspectos sociales, jurídicos y éticos que pueden influir a la hora de la publicación. De acuerdo con esto, la ingeniería Web puede utilizar una parte de cada una de estas disciplinas y no ser dominada por puntos de vista muy particulares, es una respuesta de carácter multidisciplinario para las aplicaciones Web.
Usualmente, las aplicaciones web son multidisciplinares, ya que son construidas en un medio constantemente cambiante, donde los requerimientos son inestables, los equipos de desarrollo generalmente son pequeños, las comunidades de usuarios son más amplias que antes y la competición ahora es a nivel mundial. En general, las aplicaciones web, necesitan ser funcionales, mantenibles, escalables y seguras. Como podemos ver, la actual demanda de las aplicaciones web es totalmente diferente de las aplicaciones convencionales y por lo tanto hay una gran necesidad de la ingeniería web.