Logo Studenta

METODO PARA EL MODELADO DE REQUERIMIENTOS PARA WEBAPPS CON UML

¡Estudia con miles de materiales!

Vista previa del material en texto

Guía práctica.
 
16/11/2019
Víctor H. López Reyes.
METODO PARA EL MODELADO DE REQUERIMIENTOS PARA APLICACIONES WEB UTILIZANDO EL LENGUAJE DE MODELADO UNIFICADO (UML). 
GUÍA PRÁCTICA.
PRIMERA VERSIÓN. MODIFICADO EL 06 DE AGOSTO 2020.
ELABORADO POR: ING. ESP. VÍCTOR HUGO LÓPEZ REYES.
MARACAY; 18 DE OCTUBRE DE 2020.
INTRODUCCIÓN.
La presente guía está dirigida a profesores y estudiantes de los semestres superiores de pregrado de la carrera de Ingeniería de Sistemas o de Software, con la finalidad de enseñar como modelar software o productos tecnológicos de calidad utilizando las técnicas orientadas a objetos y el lenguaje de modelado unificado (UML).
Esta guía describe de manera resumida el modelado de requerimientos, los conceptos y los respectivos diagramas para el modelado de las diferentes funciones de la aplicación WEB o móvil, con ejemplos extraídos de mi experiencia profesional.
Una vez terminado el estudio de la presente guía, el estudiante tendrá las competencias para efectuar el modelado de los requerimientos para una aplicación WEB o móvil.
La información que aparece en la presente guía ha sido extraída del capítulo siete (07) del libro de: Roger S. Pressman. Ingeniería de software. Enfoque práctico. Séptima edición. 
Es importante reconocer que el modelado de los requerimientos de una webapp lleva tiempo, pero equivocarse en la resolución del problema escogido es peor. Por lo tanto, si el desarrollador web está seguro que entiende todos los requerimientos del problema, entonces puede omitir el modelado de los requerimientos, caso contrario, debe realizarlo.
Es importante considerar que si el proyecto es pequeño y la aplicación no es crítica, entonces el modelado de los requerimientos es mas sutil. Lo importante aquí es que debemos analizar el problema antes que comience el diseño.
Tenemos dos aspectos importantes a considerar:
· Entradas del modelado de requerimientos de la webapp.
· Salida del modelado de los requerimientos de la webapp.
1. Entradas del modelado de requerimientos de la webapp.
El proceso general que debemos seguir, es el siguiente:
1. Actividad de comunicación para identificar a los participantes, categorías de usuarios, el contexto o dominio, las metas de información y aplicación, los requerimientos generales de la webapp y los escenarios de uso (casos de uso), información que se convierte en la entrada del modelado de requerimientos. La información faltante emergerá de forma natural durante el diseño. Sin embargo, se reconoce que al dar una mayor interpretación a la información mejora el modelado de los requerimientos.
La información obtenida durante este proceso, será la entrada del modelo de requerimientos, no importa que tan complejo sea el proyecto.
Insistiremos que el modelado de los requerimientos de la webapp nos provee del mecanismo para:
· Representar y evaluar el contenido y funcionamiento de la aplicación, 
· Los modos de interacción con los usuarios y 
· El ambiente y estructura en la que va a residir la aplicación.
Para lograr alcanzar los objetivos arriba mencionados, existen cinco modelos principales para representar el modelado de los requerimientos de la webapp, que son:
· Modelo de interacción.
· Modelo funcional.
· Modelo del contenido.
· Modelo de navegación.
· Modelo de configuración.
2. Salida del modelado de los requerimientos de la webapp.
2.1 Modelo de interacción. 
El modelo de interacción se compone de uno o más de los siguientes elementos:
· Casos de Uso.
· Diagramas de secuencia.
· Diagramas de estado.
Si la webapp que se quiere diseñar no es compleja, bastará con un conjunto de Casos de Uso para describir la interacción en el nivel de análisis. En caso contrario, si la secuencia de interacción es compleja e involucra múltiples clases de análisis o muchas tareas, entonces se deben exhibir utilizando los diagramas arriba mencionados.
2.2 Modelo funcional. 
El modelo funcional se enfrenta a dos elementos de procesamiento de la webapp, cada uno de los cuales representa un nivel distinto de abstracción del procedimiento:
· Funciones observables por los usuarios de la webapp.
· Las operaciones contenidas en las clases de análisis identificadas en el modelo de requerimientos.
La funcionalidad observable por el usuario final agrupa todas las funciones de procesamiento (identificadas por los casos de uso y que se llamarán componentes) que inicie directamente el usuario. Estas funciones se implementan con el uso de las operaciones o métodos dentro de cada una de las clases de análisis; pero lo que verá el usuario final será la función o componente.
Sin que importe el nivel de abstracción del procedimiento, se puede utilizar el diagrama de actividades UML para representar los detalles correspondientes. Se utilizarán los diagramas de actividad en aquellas funciones relativamente complejas durante el análisis de los requerimientos. Gran parte de la complejidad de una webapp no está en las funciones que provee, sino en la naturaleza de la información a la que accede y en las formas que son manipuladas.
2.3 Modelo del contenido.
Aquí se incluyen elementos estructurales que agrupan a los objetos del contenido con las clases identificadas durante la etapa de entrada de los requerimientos del modelado de la webapp. Estas clases identificadas se convierten en entidades visibles para el usuario cuando se interactúa con la aplicación.
Los objetos de contenido se determinan a partir de los casos de uso estudiando detenidamente la descripción del escenario y sus referencias directas e indirectas al contenido.
El modelo de contenido debe ser capaz de describir al objeto de contenido Componente. Para definir estos requerimientos, es suficiente una lista sencilla de los objetos de contenido, con la descripción breve de cada uno. 
El modelo de contenido se beneficia de un análisis mas rico si se ilustra en forma gráfica las relaciones de los objetos de contenido con su componente y la jerarquía que mantiene la aplicación. Tome en cuenta el siguiente ejemplo de un Árbol de Datos para un componente:
El árbol representa una jerarquía de información que se utiliza para representar un componente. Los aspectos de datos simples o compuestos (uno o mas valores de los datos) se representan con rectángulos sin sombra. Los objetos de contenido se representan con rectángulos con sombra.
El árbol de datos debe emplearse cuando se tengan múltiples objetos de contenido y aspectos de datos. El árbol de datos sirve como base para diseñar el contenido.
Otro punto relevante, es que los objetos de contenido pueden ser muy útiles para emplearlos como vínculos con otras aplicaciones web relacionadas, y otras informaciones de relevancia para la aplicación y evitar recargar las páginas con objetos de contenidos no menos importantes. Por lo tanto, las galerías de fotos, videos, entrevistas, documentos, artículos de periódicos, entre otros se van enriquecer de tal forma que puedan ser muy ventajosos para la construcción de la aplicación web. 
Cuando el árbol de datos de un componente en particular tenga demasiados datos simples o compuestos, es recomendable utilizar el Diagrama de Componentes y el árbol de datos para los objetos de contenido. Es decir, el Diagrama de Componentes se utiliza para complementar el árbol de datos.
2.4 Modelo de navegación.
El modelo de navegación se compone del siguiente elemento:
· Prototipos de la interfaz de usuario.
Describe la estrategia general de navegación de la webapp. Para modelar la navegación se considera como navegará cada categoría de usuario de un elemento de la webapp (como un objeto de contenido) a otro. La mecánica de navegación es parte del diseño. En este modelo podrían considerarse ciertas preguntas como parte del análisis:
· ¿Cuál es la prioridad de presentación?
· ¿Se deben forzar a los usuarios finales a navegar en una dirección específica?
· ¿Cómo deberían manipularse los errores en la navegación?
· ¿La navegación será por vínculos, acceso basado en búsquedas, opor otro medio?
· ¿Debe mantenerse un registro de usuarios durante la navegación?
Estas preguntas y muchas otras que aparezcan durante el análisis, deben ser consideradas para el modelo de navegación.
En esta fase se puede adelantar la interfaz gráfica de usuario, como existen muchas herramientas económicas y robustas para construir webapps, es conveniente construir un prototipo de la interfaz con una de ellas. El prototipo debe implementar los vínculos de navegación principales y representar el panel principal muy parecida a la que se construirá.
2.5 modelo de configuración.
En ciertos casos, el modelo de configuración no es sino una lista de atributos del lado del servidor y del lado del usuario final. Sin embargo, para webapps complejas son varias las dificultades de configuración (base de datos, servidores, entre otros) que afectan tanto el análisis como el diseño. El diagrama de despliegue UML se utiliza en situaciones en las que deben considerarse arquitecturas de configuración complejas.
Apéndice A: Lista de conceptos.
· Aplicaciones web: llamadas “webapps” categoría de software centrado en redes. Son poco mas que un conjunto de archivos de hipertexto vinculados que presentan información con uso de texto y gráficas limitadas.
· Arquitectura del software: alude “a la estructura general de éste y a las formas en las que ésta da integridad conceptual al sistema”. Es la estructura de organización de los componentes de un programa (módulos), la forma en la que estos interactúan y la estructura de datos que utilizan. Sin embargo, en un sentido mas amplio, los componentes se generalizan para que representen los elementos de un sistema grande y sus interacciones.
· Caso de uso: describe en lenguaje claro un escenario específico desde el punto de vista de un actor definido. Un caso de uso se estudia para efectos de intercambio de información. Es el elemento mas fundamental en la descripción de un modelo de requerimientos. Los casos de uso son una parte del modelado del análisis de importancia especial para las interfaces.
· Clases: conjunto de objetos que tienen atributos similares y comportamientos comunes.
· Componente de webapps: (1) una función cohesiva bien definida que manipula contenido o da procesamiento de computo o de datos para un usuario final. (2) un paquete cohesivo de contenido y funciones que brindan al usuario final alguna capacidad solicitada.
· Escenarios: que ha menudo se llaman casos de uso, proporcionan la descripción de la manera en que se utilizará un sistema.
· Modelo: básicamente, no es más que una simplificación de la realidad.
· Objeto de contenido: es una descripción de un producto en forma de texto, un artículo que describe un evento deportivo, una fotografía tomada en éste, la respuesta de un usuario en un foro de análisis, una representación animada de un logotipo corporativo, una película corta de un discurso o una grabación en audio para una representación en diapositiva. Los objetos de contenido pueden almacenarse como archivos separados, incrustarse directamente a la página web u obtenerse dinámicamente de una base de datos. En otras palabras, un objeto de contenido es cualquier aspecto de información cohesiva que se presente al usuario final.

Continuar navegando