23
INGENIERIA DE SOFTWARE METODOLOGÍAS WEB

OOHDM

Embed Size (px)

DESCRIPTION

Método de Diseño Hipermedia Orientado a Objetos

Citation preview

Page 1: OOHDM

INGENIERIA DE SOFTWARE

METODOLOGÍAS WEB

Page 2: OOHDM

Qué es una aplicación WEB?

Una aplicación Web es un SI donde una gran cantidad de datos volátiles, altamente estructurados, van a ser consultados, procesados y analizados mediante navegadores.

Una de las principales características va a ser su alto grado de interacción con el usuario, y el diseño de su interfaz debe ser claro, simple y debe estar estructurado de tal manera que sea orientativo para cada tipo de usuarios.

Ingeniería de SoftwareMetodologías WEB

Page 3: OOHDM

Informacionales: Orientadas a la difusión de información personalizada o no, y con acceso a la BD o sin el.

Orientados a la descarga de datos: Servidores de material didáctico, servidores de canciones,

Interactivas: Orientadas ala interacción con el usuario. Orientas al Servicio: Sistemas de ayuda financiera,

simuladores, … Transaccionales: Compra electrónica, banca electrónica,… De Flujo de Datos: Sistemas de planificación en línea,

manejo de inventario, …

Ingeniería de SoftwareMetodologías WEB

Tipos de Aplicación Web.

Page 4: OOHDM

Tipos de Aplicación Web.

Entornos de Trabajo Colaborativo: Herramientas de diseño colaborativo, sistemas de autoría distribuidos,…

Comunidades on-line (Sistemas C2C): Foros de debate, servicios de subastas,…

Portales Web: Centros comerciales de compra electrónica, intermediarios en línea,…

Orientados al análisis de datos: Dataworkhousing, aplicaciones OLAP,…

Ingeniería de SoftwareMetodologías WEB

Page 5: OOHDM

Características de una Aplicación WebLas Aplicaciones Web tienen una serie de rasgos comunes que

diferencia a unos tipos de aplicaciones software de otros, y que son:

Desde el punto de vista del usuario, se ha universalizado su accesibilidad• Desde el punto de vista de la plataforma se realiza un uso intensivo de la red y la conexión se establece desde distintos tipos de dispositivo de acceso.

Desde el punto de vista de la información, asistimos en la actualidad a una disponibilidad global de fuentes heterogéneas de información,

Portabilidad. Debido a la dinamicidad del entorno tecnológico, Inmediatez (Rapidez de Implantación). El desarrollo de

aplicaciones web requiere un período de implantación mucho más reducido, que influye en todo su ciclo de desarrollo.

Ingeniería de SoftwareMetodologías WEB

Page 6: OOHDM

Creación de contenidos como parte integrante de la fase de ingeniería de la aplicación. Aunque en este trabajo nos centramos en la especificación de aplicaciones orientadas a ofrecer funcionalidad compleja.

Integración (disponibilidad global) de fuentes hetero-géneas de información. La posible necesidad de manejo integrado de contenido estructurado y no estructurado, almacenado en distintos formatos (bases de datos, sistemas de ficheros, dispositivos multimedia) y accesibles de forma distribuida mediante múltiples aplicaciones es otro de los factores que condiciona el proceso de diseño de este tipo de aplicaciones.

Características de una Aplicación Web

Ingeniería de SoftwareMetodologías WEB

Page 7: OOHDM

Evolución orgánica . Es un aspecto fundamental en el ámbito de la web, donde tanto el contenido como los requisitos de las aplicaciones evolucionan a una velocidad vertiginosa. Esto es en parte debido a que los clientes de este tipo de aplicaciones suelen tener un conocimiento muy pobre de sus necesidades y de las posibilidades del sistema.

Seguridad en la comunicación. Debido a que las aplicaciones web se encuentran disponibles a través de una red, es difícil limitar el grupo de usuarios finales que pueden acceder a ella. Es por ello que se hacen necesarios mecanismos para proteger información sensible y proporcionar modos seguros de transmisión de datos.

Requisitos en una Aplicación Web

Ingeniería de SoftwareMetodologías WEB

Page 8: OOHDM

Calidad (margen de error cero). La permisividad mostrada por los usuarios ante los errores en aplicaciones Web (robustez, facilidad de uso o rendimiento) es muy limitada: enlaces erróneos o información desactualizada provocan la pérdida de usuarios de la aplicación. Es por ello que en el desarrollo de este tipo de aplicaciones es primordial disponer de mecanismos exhaustivos de control de calidad que minimicen las posibilidades de fracaso de la aplicación.

Velocidad. El uso intensivo de la red provoca que la elección de protocolos de comunicación y el mantenimiento de una velocidad de acceso adecuada sean una parte clave de diseño de dichas aplicaciones.

Requisitos en una Aplicación Web

Ingeniería de SoftwareMetodologías WEB

Page 9: OOHDM

Importancia de la interfaz. La necesidad de implementar interfaces de usuario más intuitivas, capaces de capturar la atención del usuario y facilitar el acceso a la información a aquéllos que poseen una habilidad limitada en el uso de aplicaciones informáticas.

Necesidad de personalización. Debido, a la facilidad de migración del usuario a otras aplicaciones y la variedad de este tipo de aplicaciones, la personalización es un elemento significativo del diseño, y da valor añadido a un contenido que debe además ser accesible y estar actualizado.

A estos requisitos debemos añadirles seguridad de la propia aplicación, escalabilidad, disponibilidad, interoperabilidad con sistemas propietarios, etc.

Requisitos en una Aplicación Web

Ingeniería de SoftwareMetodologías WEB

Page 10: OOHDM

¿El por qué de una Metodología de Desarrollo Web?

Los principales problemas que nos encontramos es la falta de fiabilidad, seguridad, escalabilidad, mantenimiento, integración y la alta dependencia para su desarrollo e implantación junto con la falta de estándares. Lo que deseamos es controlar el caos que han provocado en el pasado Procesos creativos de desarrollo con el fin de proporcionar un proceso sistemático orientado a la mejora de la calidad de la aplicación final.

Para todo esto se han desarrollado metodologías que permiten estructurar comunicar, entender, simplificar y formalizar tanto el dominio como las decisiones de diseño, así como disponer de documentación detallada para posibles cambios del software.

Ingeniería de SoftwareMetodologías WEB

Page 11: OOHDM

¿Qué es UWE?Metodología detallada para el proceso de autoría de aplicaciones con una definición exhaustiva del proceso de diseño que debe ser utilizado.

Este proceso, iterativo e incremental, incluye flujos de trabajo y puntos de control, y sus fases coinciden con las propuestas en el Proceso Unificado de Modelado.

Ingeniería de SoftwareMetodologías WEB

Page 12: OOHDM

Principales aspectos.

Los principales de aspectos en los que se fundamenta UWE son los siguientes:

Uso de una notación estándar, para todos los modelos (UML : Lenguaje de modelado unificado).

Definición de métodos: Definición de los pasos para la construcción de los diferentes modelos.

Especificación de Restricciones: Se recomienda el uso de restricciones escritas (OCL: Lenguaje de restricciones de objetos) para aumentar la exactitud de los modelos.

Ingeniería de SoftwareMetodologías WEB

Page 13: OOHDM

Fases del Desarrollo Web.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.

Ingeniería de SoftwareMetodologías WEB

Page 14: OOHDM

Metodologías Basadas en Hipermedia y Orientadas a Objetos.

Por lo general, los modelos de hipertexto/hipermedia tienen en cuenta una serie de aspectos:

• Nivel de Usuario, trata de los mecanismos de autoría de hipertextos, interfaz, navegación y diseños de libros electrónicos

• Nivel Conceptual, que desarrolla la problemática de la autoría de hipertextos en colaboración y la presentación de algunos modelos de diseño de hiperdocumentos

• Nivel Físico, realizan exposiciones de los aspectos de almacenamiento de la información y lenguajes de marcas para hiperdocumentos.

• Aplicaciones de la hipermedia, introduciendo los sistemas y herramientas de hipermedia

Ingeniería de SoftwareMetodologías WEB

Page 15: OOHDM

Lo comúnmente aceptado hoy es hablar de la arquitectura de un sistema de hipertexto en 3 niveles:

Nivel de presentación o interfaz de usuario: Nivel HAM (Hypertext Abstract Machine): Nivel de Base de Datos:

Metodologías Basadas en Hipermedia y Orientadas a Objetos.

Ingeniería de SoftwareMetodologías WEB

Page 16: OOHDM

OOHDM

(Método de Diseño Hipermedia Orientado a Objetos)

Ingeniería de SoftwareMetodologías WEB

Page 17: OOHDM

OOHDM

Propone el desarrollo de aplicaciones hipermedia a través de un proceso compuesto por cuatro etapas

1. Diseño conceptual2. Diseño navegacional3. Diseño de interfaces abstractas4. Implementación

Ingeniería de SoftwareMetodologías WEB

Page 18: OOHDM

Diseño conceptual:En OOHDM el esquema conceptual está construido por clases, relaciones y subsistemas. Las clases son descritas como en los modelos orientados a objetos tradicionales. Sin embargo, los atributos pueden ser de múltiples tipos para representar perspectivas diferentes de las mismas entidades del mundo real. Se usa una notación similar a UML y tarjetas de clases y relaciones similares a las tarjetas CRC (Clase Responsabilidad Colaboración).

El esquema de las clases consiste en un conjunto de clases conectadas por relaciones.Los objetos son instancias de las clases. Las clases son usadas durante el diseño navegacional para derivar nodos, y relaciones que son usadas para construir enlaces.

Ingeniería de SoftwareMetodologías WEB

Page 19: OOHDM

Diseño navegacional:

En OOHDM la navegación es considerada un paso crítico en el diseño de aplicaciones. Un modelo navegacional es construido como una vista sobre un diseño conceptual, admitiendo la construcción de modelos diferentes de acuerdo con los diferentes perfiles de usuarios. Cada modelo navegacional provee una vista subjetiva del diseño conceptual.

Ingeniería de SoftwareMetodologías WEB

Page 20: OOHDM

Diseño de interfaz abstracta:En OOHDM se utiliza el diseño de interfaz abstracta para describir la interfaz de usuario de aplicación de hipermedia. El modelo de interfaz ADVs [6] (Vista de Datos Abstracta) especifica la organización y comportamiento de la interfaz, pero la apariencia física real o de los atributos, y la disposición de las propiedades de las ADVs en la pantalla real son hechas en fase de implementación.

Ingeniería de SoftwareMetodologías WEB

Page 21: OOHDM

Implementación:En esta fase, el diseñador debe implementar el diseño. Hasta ahora,todos los modelos fueron construidos en forma independiente de la plataforma de implementación; en esta fase es tenido en cuenta el entorno particular en el cual se va a correr la aplicación.Al llegar a esta fase, el primer paso que debe realizar el diseñador es definir los ítems de información que son parte del dominio del problema. Debe identificar también, cómo son organizados los ítems de acuerdo con el perfil del usuario y su tarea; decidir qué interfaz debería ver y como debería comportarse. A fin de implementar todo en un entorno Web, el diseñador debe decidir además que información debe ser almacenada

Ingeniería de SoftwareMetodologías WEB

Page 22: OOHDM

Comparación de OOHDM con otras metodologías

Page 23: OOHDM

CONCLUSIÓNOOHDM propone un conjunto de tareas que en principio pueden involucrar mayores costos de diseño, pero que a mediano y largo plazo reducen notablemente los tiempos de desarrollo al tener como objetivo principal la reusabilidad de diseño, y así simplificar la evolución y el mantenimiento. El presente artículo complementa la presentación teórica de la metodología con una idea concreta de implementación, usando tecnologías potentes y de alto crecimiento.