1. Diseño de Sistemas en Internet.
La Ingeniería Web.
En años recientes, se ha visto un incremento considerable en el
desarrollo de software basado en la web, así como la necesidad de
migrar sistemas de software ya existentes a estos ambientes.
Lo anterior, debido al crecimiento e impacto de Internet y
particularmente de la World Wide Web en las áreas de negocios,
comercio, industria, finanzas, educación, gobierno, entretenimiento y
personales, entre otras; lo cual ha provocado que los requerimientos
de los usuarios de software se vean influenciados y cambien hacia
estos ambientes.
Ingeniería Web (IW), definida como “el establecimiento y uso de
principios científicos, de ingeniería y de administración, así como un
enfoque sistemático y disciplinado para el desarrollo, implantación y
mantenimiento exitoso de sistemas y aplicaciones basados en Web
de alta calidad”
2. Diseño de Sistemas en Internet.
La Ingeniería Web.
Cabe destacar que la ingeniería web hace una diferencia entre un
webSite y una aplicación, ya que la ingeniería 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 seria una que contenga formularios y
subiendo de nivel encontramos los que realizas conexión con bases
de datos remotas
3. Diseño de Sistemas en Internet.
La 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.
Los expertos en la web necesitan 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.
Éstos debe contar con ciertos atributos y características que en
conjunto formen un concepto muy importante, para alcanzar el éxito
en cualquier organización: 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.
4. Diseño de Sistemas en Internet.
La Ingeniería Web.
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.
5. Diseño de Sistemas en Internet.
La Ingeniería Web.
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 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.
6. Diseño de Sistemas en Internet.
La Ingeniería Web.
Cuando un software se desarrolla adecuadamente, satisface las
necesidades de los usuarios, funciona impecablemente durante
mucho tiempo, es fácil de usar y modificar, y también es entregado
en el tiempo y costos planeados.
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, si no que se deberá implementar durante todo el ciclo de
vida del desarrollo.
Se requiere del conocimiento de las metodologías y herramientas
que permitan analizar, planear, modelar e implementar un sistema de
calidad que responda a los requerimientos del usuario en forma,
tiempo y costos y que además permita en forma sencilla su
mantenimiento, crecimiento y evolución
7. Diseño de Sistemas en Internet.
La Ingeniería Web.
Paso a seguir.
La formulación comienza al establecer comunicación con el
consumidor (accionista) que plantea las razones para la WebApp.
¿Cuál es la necesidad del negocio, cuales usuarios finales son el
objetivo , que características y funciones se desean, que sistemas y
bases de datos existentes tendrán acceso, el concepto es realizable,
como se medirá el éxito?.
La planeación establece un plan de trabajo, desarrolla estimaciones
para valorar la factibilidad de las fechas de entrega deseadas,
considera riesgos define un programa y establece mecanismos
para rastreo y control.
8. Diseño de Sistemas en Internet.
La Ingeniería Web.
Producto obtenido.
Puesto que el trabajo de la ingeniería Web con frecuencia adopta
una filosofía ágil, los productos obtenidos para la formulación y la
planeación usualmente son parcos, pero existen y deben registrarse
en forma escrita.
La recopilación de información durante la formulación se registra en
un documento escrito en el cual se basan la planeación y el
modelado de análisis.
El plan del proyecto extiende el programa de este y presenta
cualquier otra información que sea necesario comunicar a los
miembros del equipo de ingeniería Web y al personal externo.
9. Diseño de Sistemas en Internet.
La Ingeniería Web.
Formulación de sistemas basados en web.
Representa una secuencia de acciones de ingeniería Web que
comienza con la identificación de las necesidades del negocio, se
mueve hacia una descripción de los objetivos de la WebApp,
define grandes características y funciones y realiza la
recopilación de requisitos que conducen al desarrollo de un
modelo de análisis.
La formulación permite que los clientes y el equipo de ingeniería
Web establezcan un conjunto común de metas objetivos para la
construcción de la WebApp.
10. Diseño de Sistemas en Internet.
La Ingeniería Web.
Recopilación de requisitos para WebApps.
Los objetivos globales de la recopilación de requisitos propuestos
para la ingeniería de software permanecen inalterados, adaptados
para las WebApp, dichos objetivos se convierten en:
Identificar requisitos de contenido.
Identificar requisitos funcionales.
Definir escenarios de interacción para diferentes clases de
usuarios.
11. Diseño de Sistemas en Internet.
La Ingeniería Web.
Recopilación de requisitos para WebApps...
Los siguientes pasos de la recopilación de requisitos se dirigen para
lograr estos objetivos:
1.Pedir a los clientes que definan las categorías de usuario y
describan cada categoría.
2.Comunicarse con los clientes para definir los requisitos básicos de
la WebApp
3.Analizar la información recopilada y utilizar la información para
realizar un seguimiento con los clientes.
4.Definir casos de uso que describan escenarios de interacción para
cada clase de usuario.
12. Diseño de Sistemas en Internet.
La Ingeniería Web.
Recopilación de requisitos para WebApps...
Se puede argumentar que la complejidad de la WebApp es
directamente proporcional al número de categorías de usuario para
el sistema. La definición de una categoría de usuario requiere
formular un conjunto de preguntas fundamentales:
¿Cual es el objetivo global del usuario cuando usa la WebApps?
¿Cuáles son los antecedentes y la pericia del usuario en relación
con el contenido y la funcionalidad de la WebApp? .
¿Cómo llegará el usuario a la WebApp?.
¿Qué características genéricas de la webApps le gustan o
disgustan al usuario?
13. Diseño de Sistemas en Internet.
La Ingeniería Web.
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.
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.
14. Diseño de Sistemas en Internet.
La Ingeniería Web.
… Los principales aspectos de la ingeniería de la Web incluyen,
entre otros, los siguientes temas:
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.
Aplicaciones web móviles.
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.
15. Diseño de Sistemas en Internet.
La Ingeniería Web.
Pressman sugiere un proceso de ingeniería web compuesto por las
siguientes fases:
lPlanteamiento y formulación. Identificamos los objetivos de nuestra
aplicación, y delimitamos el alcance de la primera iteración.
lPlanificación. Una vez planteado el problema, podremos estimar
costos, riesgos y esfuerzo durante el desarrollo. Recordemos que en
la planeación iterativa solamente se detalla la iteración actual, y las
iteraciones subsecuentes sólo se plantean de forma general.
lAnálisis. Durante esta etapa establecemos los requerimientos
técnicos, gráficos, y de contenido, que incorporaremos en la
iteración.
16. Diseño de Sistemas en Internet.
La Ingeniería Web.
Pressman sugiere un proceso de ingeniería web compuesto por las
siguientes fases:
Ingeniería. La actividad de ingeniería incorpora dos grupos de
tareas que se realizan en paralelo: el diseño del contenido y la
producción, se enfocan en el diseño, producción y adquisición del
contenido de texto, gráfico y video que se vayan a integrar en la
aplicación. Estas tareas son realizadas por personal no técnico.
Por otro lado, están el diseño arquitectónico, de navegación e
interfaz, el cual lidia con los aspectos técnicos.
Generación de páginas y pruebas. Se prueba que el contenido
dinámico se genere correctamente, utilizando las plantillas,
interfaces y contenidos diseñados en la fase de ingeniería.
Posteriormente se realizan las pruebas pertinentes, que
dependerán del tipo de aplicación y requerimientos no funcionales
(por ejemplo, pruebas de desempeño, etcétera).
17. Diseño de Sistemas en Internet.
La Ingeniería Web.
Pressman sugiere un proceso de ingeniería web compuesto por las
siguientes fases:
Evaluación del cliente. Al final de cada iteración se debe realizar
una evaluación con el cliente, para validar el avance y determinar
los cambios o mejoras –en caso de ser necesarios–, que se
aplicarán en las siguientes iteraciones.
18. Diseño de Sistemas en Internet.
La Ingeniería Web.
Las fases que se deben llevar acabo son:
Análisis de Requisitos: Fija los requisitos funcionales de la
aplicación Web para reflejarlos en un modelo de casos de uso.
Diseño Conceptual: Materializado en un modelo de dominio,
considerando los requisitos reflejados en los casos de uso.
Diseño Navegacional: Lo podemos subdividir en :
Modelo del Espacio de Navegacional.
Modelo de la Estructura de navegación: Muestra la forma
de navegar ante el espacio de navegación.
Diseño de Presentación: Representa las vistas del interfaz del
usuario mediante modelos estándares de interacción UML.
19. Diseño de Sistemas en Internet.
La Ingeniería Web.
Se han propuesto diferentes métodos con diferentes enfoques para
el desarrollo de aplicaciones. Algunas de las principales
metodologías son:
UWE que se basa en el uso de diagramas UML, la notación de
UML y los mecanismos de extensión de UML.
Hipermedia Orientado a Objetos (Object-orientedHypermedia,
OOH) proporciona un conjunto de nuevas vistas que extienden el
UML para modelar únicamente la interfase de aplicaciones Web
OOHDM con un enfoque basado en modelos para construir
aplicaciones hipermedia.
WebML es una notación visual para el diseño de aplicaciones Web
complejas. Provee especificaciones gráficas formales para un
proceso de diseño completo que puede ser asistido por
herramientas de diseño visuales.
20. Diseño de Sistemas en Internet.
La Ingeniería Web.
ADM que combina el proceso de diseño centrado en el usuario y
modelado [5].
Al mismo tiempo, ha aumentado la construcción de herramientas que
faciliten el desarrollo de webapps, tales como: AriadneTool [6]
herramienta para el método ADM y MagicUWE plugin para
MagicDraw herramienta para la metodología UWE