Actividades a lo largo del ciclo vital:
Conceptos:
Documentación:
|
Construir aplicaciones de e-business significa construir soluciones de Internet para implementar procesos
empresariales. Esto incluye el comercio electrónico, pero también abarca todos los procesos empresariales de una
organización.
Los sistemas de e-business se pueden dividir en:
-
sistemas de primera generación que sólo utilizan la web para publicar información
-
sistemas de segunda generación que implementan modelos de transacciones simples y de comercio electrónico
-
sistemas de tercera generación que transforman completamente un proceso para proporcionar soluciones altamente
personalizadas (de empresa a cliente o de empresa a empresa) que son adaptativas y automatizan todo el proceso
empresarial, y a menudo se integran con sistemas heredados y dispositivos de Internet
Cuanto más adelantado estén los sistemas en las generaciones, más complejo será su desarrollo.
Se aplica el flujo de trabajo básico para la fase inicial, con las
siguientes ampliaciones o variaciones.
Entorno
Aumenta la importancia de la Tarea: Preparar directrices para el proyecto y se centra en lo
que los desarrolladores web llaman 'Resumen de diseño creativo', que es un conjunto de directrices que describen
(en un nivel alto)
-
El talante del sitio; por ejemplo, ¿el sitio transmite autoridad, jovialidad o servicio? ¿Es
conservador o provocativo?
-
¿Cómo accederán los usuarios al sitio? Por ejemplo, ¿Cuál es la velocidad de conexión? ¿Hay un
mínimo especificado o supuesto de velocidad para el diseño?
-
El grado de interacción del usuario; por ejemplo, ¿sólo deberíamos informar al usuario o deberíamos
intentar comunicarnos con el actor (comunicación bidireccional)? ¿El diseño de la aplicación debe variar en
función del usuario que acceda a ella?
-
Los navegadores que utilizarán los usuarios, incluidas las diferencias entre sistemas operativos
-
Si el sitio utilizará marcos
-
Las limitaciones de color que tendrá el sitio
-
Si es aplicable, una guía de estándares gráficos (incluidos estándares de logotipos y todos los
colores corporativos)
-
La utilización de técnicas web específicas; por ejemplo, acciones del ratón, animación, suministro
de noticias, multimedia, etc.
El 'Resumen de diseño creativo' se convierte en las directrices de la interfaz de usuario documentadas en el
apartado Producto de trabajo: Directrices específicas del proyecto; se
trata, básicamente, de una primera versión de las directrices de la interfaz de usuario.
Requisitos
Se presupone que algunas de las siguientes actividades utilizan el resultado de un ejercicio de modelado empresarial
que se encuentra fuera del ámbito de esta directriz.
Esta tiene menos importancia. La mayoría de los problemas deben haberse detectado durante el modelado
empresarial.
Esta requiere menos énfasis. La mayoría de las necesidades del interesado deben haberse detectado durante el
modelado empresarial. No obstante, tendrá que realizar una serie de ejercicios que se centren en la búsqueda de
requisitos no funcionales del sistema.
Esta requiere menos énfasis. El límite del sistema se define por el límite del negocio, ya que el sistema
refleja más fielmente el negocio que las aplicaciones tradicionales (en algunos sentidos, el sistema
es el negocio).
Análisis y diseño
La Tarea: Diseñar la interfaz de usuario produce un Mapa de navegación. Un mapa de navegación es una vista de la
solución web que muestra cómo navegarán los usuarios del sitio, posiblemente representada en un diagrama de "árbol"
jerárquico. Cada nivel del diagrama muestra el número de pulsaciones que hay que efectuar para llegar a esa
pantalla o página. Generalmente, debe tener las áreas más importantes del sitio web a una pulsación de distancia de
la primera página (comúnmente conocida como "página de presentación"). El mapa de navegación es un resumen de los
guiones gráficos; empieza identificando las páginas web y las
ventanas principales de cada guión de uso y considera cómo navega el usuario entre estos elementos.
Se aplica el flujo de trabajo básico para la fase de
elaboración, con las siguientes ampliaciones o variaciones.
-
Actividad: Definir una arquitectura candidata
La Tarea: Análisis de la arquitectura se beneficia del
conocimiento de que una aplicación web tiene una arquitectura relativamente bien definida, incluido un conjunto
de mecanismos bien definidos (navegadores web, applets y servlets Java, ASP y JSP, etc.). Normalmente es
suficiente una estructura de creación de capas simple, como se describe en el apartado Concepto: Creación de capas, a no ser que la infraestructura de desarrollo de
aplicaciones web sea más específico. En muchos casos, puede haber arquitecturas asequibles predefinidas que se
pueden adquirir o reutilizar de proyectos de desarrollo web anteriores. Las infraestructuras de aplicación web,
como el ADN de IBM WebSphere o Microsoft Windows, proporcionan justo esta clase de plantilla de arquitectura.
Normalmente, las aplicaciones web no tienen un periodo de inactividad planificado. Es posible que la
arquitectura necesite (normalmente, es así) que el sistema se actualice mientras se está ejecutando y que pase
a servidores en espera durante la anomalía del servidor principal o cuando se realiza el mantenimiento o la
actualización del servidor. Algunas infraestructuras de aplicación web proporcionan herramientas para el
soporte de producción. De todas maneras, si la aplicación tiene requisitos de alta disponibilidad, deberá
pensar en comprar o construir la infraestructura necesaria para dar soporte a este requisito e integrar el
soporte para esta capacidad en la arquitectura.
-
Actividad: Analizar el comportamiento
La Tarea: Diseñar la interfaz de usuario se realiza
repetidamente en las iteraciones de elaboración. Las primeras ejecuciones de esta actividad se centran en la
producción de 'componentes de diseño creativo', que son representaciones simuladas del diseño de páginas web
clave del sitio. Estos 'componentes' suelen ser imágenes "planas" enmarcadas con gráficos de ventana de
navegador para que parezcan una ventana del navegador. La ventaja principal de los componentes es que posponen
la inversión en prototipos HTML más costosos y elaborados hasta que haya un consenso sobre la dirección gráfica
específica del sitio.
Los 'componentes de diseño creativo' se crean teniendo en cuenta los requisitos de interfaces de los guiones de
uso más importantes y desarrollando muchos diseños alternativos (diez o más) para ver su aspecto. Después, se
escogen las tres opciones más prometedoras para presentárselas a los interesados. Esta operación se repite
hasta que se alcance un acuerdo sobre el diseño web final, que tenga como resultado un conjunto de guiones gráficos y un mapa
de navegación.
Una vez que se llega a un acuerdo y finaliza la sesión, los componentes de diseño creativo se convierten en un
Prototipo de interfaz de usuario funcional mediante la
repetición de la Tarea: Prototipo de interfaz de usuario. El prototipo de UI
web inicial suele soportar únicamente porciones del sistema, los guiones de uso más importantes y
arquitectónicamente significativos. Es importante tener una buena estructura en los flujos de sucesos del guión
de uso antes de desarrollar prototipos para asegurarse de que la funcionalidad guía el diseño de la interfaz de
usuario, y no al revés.
En iteraciones posteriores, el prototipo web se amplía mediante la adición gradual de una cobertura más amplia
de los guiones de uso y el ejercicio más intenso de la arquitectura.
La Tarea: Análisis de guión de uso permanece relativamente sin
cambios, salvo que es importante que no se centre únicamente en el comportamiento de la GUI, sino también en la
lógica empresarial subyacente, la parte que normalmente se ejecuta en el servidor web o el servidor de
aplicaciones. Si nos olvidamos de esto, la parte más significativa del comportamiento del sistema se pasará por
alto. Las páginas web se representan como clases de 'límite', los elementos de datos se representan como clases
de 'entidad' y el comportamiento del servidor (por ejemplo, las páginas de servidor activo, los servlets, etc.)
se representan mediante objetos de 'control'.
Inmediatamente después del análisis del guión de uso, la Tarea: Identificar elementos de diseño perfecciona el Producto de trabajo: Clases de análisis, y lo correlaciona
con mecanismos existentes de la infraestructura de desarrollo web, reutilizando los elementos de diseño
existentes de iteraciones o proyectos anteriores cuando sea posible. Esta operación suele requerir el reajuste
del ámbito y la definición de las clases de análisis identificadas para conseguir el grado deseado de
reutilización.
En Modeling Web Application Architectures with UML encontrará una descripción
más detallada de la utilización de UML para describir aplicaciones web.
-
Actividad: Preparar el entorno.
Además de desarrollar directrices de la interfaz de usuario, se crean elementos de diseño web, imágenes
gráficas discretas que se ensamblan para construir las páginas web de un sitio. La coherencia de la interfaz de
usuario en un sitio web es esencial para su utilización; el sitio web debe proporcionar una experiencia de
usuario coherente. Para asegurarnos de esto, el proyecto debe utilizar de manera coherente un conjunto de
elementos gráficos estándar en todo el sitio.
El desarrollo de estos elementos es una ampliación de la Tarea: Preparar directrices para el proyecto e incluye la
creación de directrices para su utilización. Asegúrese de que todos los miembros del equipo saben cuándo y cómo
se deben utilizar estos elementos. Los ejemplos de elementos de diseño web incluyen elementos gráficos como
dispositivos de navegación y fondos de página. La reutilización de elementos gráficos estándar de alta calidad
en todo el sitio garantiza la coherencia, reduce el tiempo de salida al mercado y el coste de desarrollo y
mejora la calidad desplegando un conjunto más pequeño de elementos de calidad superior.
La preparación de directrices se realiza en conjunción con el desarrollo del Prototipo de interfaz de usuario web inicial para producir la
guía de estilo del sitio. Esta guía de estilo, entre otras cosas, especificará cómo y cuándo se deben utilizar
los elementos de diseño, los esquemas de color, los fonts, las hojas de estilo en cascada y los detalles sobre
cómo deberían funcionar y cómo deberían estar colocados los elementos de navegación.
-
Actividad: Perfeccionar la arquitectura
La Tarea: Identificar los mecanismos de diseño empieza a
centrarse más en la correlación de los requisitos no funcionales del sistema con los mecanismos que proporciona
la infraestructura de desarrollo web; deben identificarse los mecanismos que no proporciona la infraestructura
(si existe) y deben encontrarse soluciones alternativas.
La Tarea: Describir la arquitectura del tiempo de ejecución pasa
a centrarse más en los niveles de servidor de aplicaciones y servidor web (consulte Concepto: Patrones de distribución), y los procesos y hebras que se utilizan
para gestionar la concurrencia en la aplicación. Por lo general, hay poco o ningún control sobre el proceso de
las máquinas del cliente.
La Tarea: Describir la distribución cambia su decisión principal
de 'qué clases de nodos de servidor debe tener' a 'cuántos nodos de cada clase de nodo de servidor debe tener'.
Normalmente, la infraestructura de desarrollo web proporciona un número fijo de tipos de servidor (por ejemplo,
servidores web, servidores de aplicaciones, servidores de correo, servidores de puerta de enlace de
comunicación) con límites funcionales relativamente bien definidos. Como consecuencia, la habilidad del
arquitecto de software pasa a centrarse en determinar cómo manejar los requisitos de tolerancia a errores y
escalabilidad utilizando los tipos de servidor disponibles, normalmente determinando cuántos servidores de cada
clase son necesarios. Además, deben hacerse planes de medidas para determinar cómo se puede saber que son
necesarios servidores adicionales.
-
Actividad: Definir la misión de evaluación
La planificación se centra, en gran medida, en la prueba de rendimiento para garantizar que la aplicación web
puede soportar aumentos significativos en el número de usuarios concurrentes. En consecuencia, las
actividades de prueba Verificar el enfoque de prueba, Probar y evaluar, Conseguir una misión aceptable, Aumentar los activos de prueba también se centrarán más
en las pruebas de rendimiento para garantizar que la arquitectura es escalable.
Otros Tipos de
prueba importantes son la Prueba
de utilización y la Prueba de
estructura. Es necesario probar la interacción del usuario para verificar que la estructura de la
aplicación web es adecuada para sus usuarios. En algunos casos, se verá obligado a tener la aplicación en
Internet para poder supervisar cómo utilizan los usuarios la aplicación.
Otro tipo de prueba que consume mucho tiempo son las pruebas de navegador, ya que la compatibilidad entre
navegadores y versiones de navegador limita las opciones de diseño en la interfaz de usuario.
-
Actividades: Implementar componentes, Integrar los subsistemas e Integrar el sistema
Para validar las decisiones arquitectónicas que se han tomado hasta ahora en el proyecto, deben desarrollarse y
probarse uno o varios prototipos arquitectónicos, lo que implica la ejecución sucesiva de la Actividad: Implementar componentes, la Actividad: Integrar los subsistemas y la Actividad: Integrar el sistema. La prueba, como se menciona
arriba, debe centrarse especialmente en la escalabilidad de la aplicación en aumentos imprevisibles de la carga
del sistema.
Se aplica el flujo de trabajo básico para la fase de
construcción, con las siguientes ampliaciones o variaciones.
-
Actividad: Planear la integración
La Tarea: Planificar la integración de subsistemas y la Tarea: Planificar la integración del sistema deben tratar las
diferentes clases de elementos de implementación que se crearon en la fase de construcción.
-
Actividad: Implementar componentes
La Tarea: Implementar los elementos de diseño se centra en
varias clases diferentes de elementos:
-
Páginas web, applets, scripts, gráficos y otros elementos que se "ejecutan" en el entorno del navegador
-
Páginas del servidor, scripts, servlets y otros elementos que se "ejecutan" en el entorno del servidor
web
-
Mejoras del código ejecutable en las aplicaciones heredadas
-
Tablas de base de datos, desencadenantes, procedimientos almacenados y otros elementos que se ejecutan
en el sistema de gestión de bases de datos
Las diferencias en las herramientas y las tecnologías de despliegue entre estas clases diferentes de elementos
implicarán una serie de variaciones similares en la Tarea: Implementar los elementos de diseño. Habrá
adaptaciones similares en la Actividad: Integrar los subsistemas y la Actividad: Integrar el sistema.
-
Actividad: Definir la misión de evaluación
La planificación de pruebas sigue centrándose en las pruebas de rendimiento, pero cada vez se centra más en las
pruebas funcionales. Es necesario un enfoque de prueba ligeramente diferente para cada una de las diferentes
clases de elementos que componen una aplicación web. Habrá adaptaciones similares en los detalles de
actividades de prueba Verificar el enfoque de prueba, Probar y evaluar, Alcanzar una misión aceptable, Mejorar los activos de prueba, en los que la atención se
dirige cada vez más de la prueba centrada en en el rendimiento de la arquitectura a la prueba funcional,
garantizando que los detalles del comportamiento del sistema son correctos.
-
El release del producto en el entorno web suele ser incremental y continuo, y se centra menos en la
distribución tradicional de medios de soporte. La planificación del release debe ajustarse en consecuencia.
-
La educación del usuario en el entorno web suele integrarse en el diseño del mismo sitio web, por lo que la
utilización del sitio es intuitiva. La creación de documentación o manuales de usuario y de formación tradicionales
es reducida, cada vez se tiende más al diseño gráfico y de contenido en la parte frontal del proceso.
-
El soporte de aplicaciones de producción en el entorno web debe centrarse en el mantenimiento de la alta
disponibilidad con una carga imprevisible. También es posible que sea necesario poder proporcionar la capacidad
para seguir en ejecución cuando fallan los servidores principales y para permitir que el servidor se ejecute
mientras el sistema se está ejecutando.
-
La transferencia de conocimiento del equipo de desarrollo al soporte de producción debe producirse de manera
que el personal de soporte pueda ejecutar el sistema y realizar el mantenimiento rutinario.
-
Control de cómo utilizan los usuarios la aplicación. Esta información es valiosa para saber quién está
utilizando la aplicación y cómo la está utilizando. Estas observaciones pueden ayudarle a desarrollar más releases
para aumentar la interacción del usuario.
Partes de esta página se han desarrollado en cooperación con Context Integration.
|
|
|