A grandes rasgos: Formulacin: Se identifican las metas y objetivos Planificacin: Estimacin del coste global del proyecto, riesgos,
gos, etapas y sub-etapas. Anlisis: Establecimiento de los requisitos tcnicos y de diseo (estticos) e identificacin de los elementos de contenido. Ingeniera: Dos tareas paralelas: o Diseo del contenido y produccin: echas por personal NO tcnico. Recopilacin de informacin, medios audiovisuales, a integrar en la App. o Diseo arquitectnico, de navegacin y del interfaz: hecho por tcnicos Generacin de pginas: Se adecua al diseo arquitectnico, de navegacin y de interfaz, el contenido provisto para sacar las pginas HTML, XML, etc. Es en esta fase donde se integra la Web App con el software intermedio (CORBA, DCOM, JavaBeans. Pruebas: Se hace una navegacin intensiva sobre la aplicacin para descubrir errores, visualizarla en otros navegadores y ser consciente cuanto menos de las limitaciones y posibles bugs. Evaluacin del cliente: No es la ltima fase. Es una fase a ejecutar cada vez que se termina alguna de las anteriores. Los cambios se hacen efectivos por el flujo incremental del proceso.
6.1.- Formulacin Para hacer una correcta formulacin, debemos preguntarnos, entre otras cosas: Porque y para que hacer la Web App? Como es de necesaria? Quien la va a usar? Las respuestas sern muy generales, y no entraran en detalles. Podemos clasificar las metas especificas en: Metas Informativas: Definen los objetivos sobre el contenido e informacin que se dar al usuario. Metas Aplicables: Son los servicios o tareas que puede realizarla Web App. Despus de las metas, haremos el Perfil del Usuario, determinndolas principales caractersticas de los potenciales navegadores y clientes. Mas adelante, se hace la Afirmacin del mbito, con la que vemos la posible integracin con sistemas ya existentes, como pueden ser bases de datos.
6.2.- Anlisis Identifica los datos y requisitos funcionales y de comportamiento para la Web App. Durante la IWeb, se realizan 4 tipos de anlisis: Anlisis del contenido: Se puede utilizar el modelado de datos, yen esta etapa se identifica todo el contenido que se va a proporcionar. (texto, grficos, imgenes, video y sonido) Anlisis de la interaccin: Se realizan casos prcticos y sus casos de uso para la descripcin detallada de la interaccin usuario-WebApp.
Anlisis funcional: Se detallan las funciones y operaciones de procesamiento adicionales que se aplicaran en el contenido dela Web App Anlisis de la configuracin: Se detalla y describe el lugar donde va a residir la App. (Intranet, Internet o Extranet). Tambin se tiene que identificar la infraestructura de los componentes y el grado de utilizacin de la base de datos para generar el contenido. En todo caso es recomendable hacer un documento que recoja la informacin de todo el proceso de anlisis y que ser revisado y modificado para hacer otro documento que pasarle a los diseadores de la Web App. En el caso de una App grande no es recomendable hacer un documento muy extenso, porque los requisitos estarn cambiando continuamente, y quedara obsoleto antes de terminarlo.
6.3.- Diseo La caracterstica de inmediatez obliga a que los diseos se hagan rpidamente y a que sean evolucionadles. Muchas veces la rapidez o precipitacin en el diseo nos cierra puertas a la evolucin de la aplicacin. Los ingenieros Web, trabajan bajo los siguientes elementos tcnicos: Principios y mtodos de diseo: Facilitaran la adaptacin, pruebas, mejoras y uso. Modularidad eficaz (cohesin alta y acoplamiento bajo) Elaboracin paso a paso Diseo orientado a objetos y diagramas UML Reglas de oro: que se han ido construyendo desde los inicios de Internet Configuraciones de diseo: Aplicables a los elementos funcionales y a los documentos, grficos y esttica general. Plantillas: Dotan de una estructura similar cada elemento, configuracin de diseo, o documento a utilizar dentro de la Web App. Se hace posible pasando como parmetros a esa plantilla, los datos relevantes, que darn cuerpo al esquema.
6.3.1.- Diseo Arquitectnico Se encarga de la definicin de la estructura global hipermedia y en la aplicacin de las configuraciones de diseo y plantillas. Dicha estructura depende de las metas establecidas, del contenido y de la filosofa de navegacin. Tpicamente hay: Estructuras lineales: cuando es predecible la sucesin de interacciones. Por ejemplo en la entrada, y validacin de datos, hay una estructura lineal. Tambin existen lineales con flujo opcional, y lineal con desviaciones. Estructuras reticulares: Solo si el contenido de la Web puede ser organizado en dos o mas dimensiones. Para ellos el contenido debe ser muy regular. Por ejemplo, marcas de electrodomsticos y tipos de electrodomsticos. Estructuras jerrquicas: Son las mas comunes. En las jerarquas de software tradicionales se fomentan el flujo de control solo a lo largo de las ramas verticales. En una Web App se pueden enlazar por hipertexto ramas verticales de la misma estructura. Es el Acoplamiento.
Estructura en red (o de web pura): Es como la arquitectura en evolucin de los sistemas OO. Se enlaza todo con todo. Da mucha flexibilidad de navegacin, aunque a veces es confusa para el usuario. Es comn combinar varias de las estructuras, dando lugar a estructuras hbridas. Los patrones de diseo pueden aplicarse en el nivel de componente (cuando se requiere la funcionalidad del proceso de datos), jerrquico, y de navegacin (que tratan sobre como el usuario podr moverse por el contenido de la aplicacin) Entre estos ltimos, estn: Ciclo: Se devuelve al usuario al nodo de contenido visitado anteriormente. Anillo de Web: Se enlazan pginas de un mismo tema. Contorno: Cuando varios ciclos inciden en otro Contrapunto: durante la narracin se aaden comentarios de hipertexto. Mundo de espejo: Varias narraciones desde puntos de vista distintos Tamiz: Se presentan opciones que el usuario va eligiendo, hasta llegar a un punto que el mismo habr provocado con sus decisiones. Vecindario: Marco de navegacin uniforme por todas las paginas web
6.3.2.- Diseo de navegacin Una vez establecida la arquitectura se define la ruta que permitir acceder al contenido y a los servicios. Se deber identificar una semntica para segn que usuarios y definir una sintaxis (mecnica) para la navegacin. Se tendrn, habitualmente, varios papeles: visitante, cliente, cliente registrado, cliente privilegiado, administrador, etc. La semntica para cada rol ser distinta. El diseador crea una USN (Unidad Semntica de Navegacin) para cada meta asociada a cada rol de usuario. Cada USN tiene unas formas de navegacin (WoN) para que cada usuario llegue a cada meta que se proponga. Entre las opciones de enlaces (texto, iconos, botones, interruptores, metforas grficas, etc.) deberemos elegir la que mas se adecuen al interfaz de nuestra web. Desde el punto de vista de los buscadores hoy por hoy es mejor un enlace texto con la palabra con la que nos gustara dotar de importancia a la pgina web enlazada que cualquier otra cosa. Sin embargo, desde nuestra visin de diseo, los botones, imgenes e iconos que usemos debern tener un aspecto clickable. Los enlaces de texto debern tener un color caracterstico, diferenciador del resto del documento. Tambin se harn necesarias ayudas a la navegacin por el sitio: una vista de esquema, un mapa web, tabla de contenidos, mecanismos de bsqueda y servicios dinmicos de ayuda. 6.3.3.-Diseo de la interfaz Adems de las consideraciones de diseo de interfaces de cualquier otro software, en Web Apps es necesario considerar nuevos factores, todos ellos, bastante subjetivos. Algunas sugerencias muy generalizadas son: Los errores de servidor deben ser mnimos. El usuario tiene poca paciencia, y generalmente muchos otros recursos en la Web. No se debe obligar a hacer leer grandes cantidades de texto, sobre todo si estamos en alguna de las secciones de Ayuda de nuestra App. Evitar poner En construccin. Crea expectativas decepcionantes.
Evitar el scroll. Un usuario poco experto no sabe que existe el scroll. Todo lo que se le pueda dar en un pantallazo ser mejor entendido por la mayora. Los mens de navegacin estarn disponibles en todas las pginas. Las funciones de navegacin no debern depender del navegador que se est usando. LA ESTETICA NUNCA DEBERA SUSTITUIR LA FUNCIONALIDAD. Las opciones de navegacin y el resto de funcionalidades debern ser obvias.
6.4.- Pruebas Son el proceso de ejercitar el software con el fin de encontrar y corregir los errores. En las Web Apps, es un reto, debido a la variedad de navegadores, sistemas operativos, plataformas hardware y protocolos de comunicacin. Las estrategias y tcticas a seguir son:[Link] modelo de contenido es revisado para descubrir errores: similar a un corrector [Link] modelo de diseo es revisado para descubrir errores de navegacin: Se revisan los posibles errores 404 de navegacin, y vemos si cada enlace lleva a la correspondiente USN de la meta del rol de usuario a la que [Link] aplican pruebas de unidad a los componentes de proceso seleccionado y las paginas Web: en muchos casos la unidad comprobable mas pequea es la propia pagina web. Muchas veces no es posible o prctico comprobar elementos ms pequeos como formularios, objetos, mapas de imgenes, [Link] construye la arquitectura y se realizan las pruebas de integracin: La estrategia para la prueba de integracin depende de la arquitectura que se haya elegido. En estructuras jerrquicas lineales, reticulares o sencillas, es muy similar a como se integran los mdulos del software convencional. En jerarquas mezcladas o arquitecturas de red, es similar a los sistemas [Link] Web App ensamblada se prueba para conseguir un a funcionalidad global y un contenido: Se hace una prueba de acciones visibles y de salidas reconocibles para el [Link] implementa la Web App en una variedad de configuraciones diferentes de entornos y comprobar as la compatibilidad con cada configuracin: Se lleva hace una matriz de referencias cruzadas con sistemas operativos, plataformas de hardware, navegadores y protocolos de comunicacin. Se hacen pruebas para cubrir los errores asociados con todas y cada una de las configuraciones [Link] Web App se comprueba con una poblacin de usuarios finales controlada y monitorizada: Se hacen grupos de usuarios segn los posibles roles, se hace un uso intensivo y se evalan los resultados, para ver errores de contenido y navegacin, usabilidad, compatibilidad, fiabilidad y rendimiento.