lunes, 1 de octubre de 2007

OOWS (método Orientado a Objetos para Soluciones Web)

Uno de los temas que está siendo objeto de un intenso trabajo de investigación es el desarrollo de métodos de producción de software que permitan construir aplicaciones web complejas con comportamiento dinámico, que sean compatibles con los estándares metodológicos y notacionales más extendidos en la actualidad (en particular UML) y que establezcan cómo diseñar y desarrollar aplicaciones web basadas en SW XML para integrar aplicaciones existentes, realizar comercio electrónico y ofrecer funcionalidad a través del web.

Una decisión importante a la hora de abordar un proyecto será la de qué metodología de desarrollo Software debemos utilizar y no siempre se ha de aplicar la misma para todo tipo de proyectos, sino que será conveniente realizar un análisis de las necesidades del mismo para determinar que metodología es la más apropiada.

En este post quiero presentaros una metodología propuesta en la Universidad de Valencia denominada OOWS bastante adecuada para aplicaciones WEB basadas en Servicios Web (SW) XML y donde cobra bastante importancia la presentación de la información, navegavibilidad y usabilidad de la aplicacion Web:

El desarrollo de aplicaciones Web implica gestionar esencialmente:

- Requisitos de navegación dentro de la aplicación.
- Presentación de la información.
- Gestión de la información (filtrados, búsquedas, estadísticas,etc),
- Tratamiento de usuarios: Gran cantidad de tipos de usuarios (taxonomías), adapactación/personalización, etc.
- Más los requisitos funcionales de las aplicaciones “clásicas”

Otros métodos se centran en la especificación de requisitos funcionales pero dejan a un lado los requisitos navegacionales y de presentación que en este tipo de aplicaciones son una parte bastante importante.

Cabe mencionar que lo mas importante en el desarrollo de una aplicación, es el uso adecuado de una metodología que administre y garantice el cumplimiento de los requerimientos especificados al inicio del proyecto, por medio del uso de alguna tecnología (lenguajes de programación, hardware, sistemas distribuidos, etc) apropiada.

PUD es una metodología bastante estructurada, lo cual permiten poseer un universo de documentación a cada elemento significativo del proyecto (documentos de análisis, de diseño, de construcción, de implementación). El concepto de hito en PUD es un concepto que provee de elementos tangibles (artefactos), que permiten decidir si el trabajo realizado hasta el momento es el adecuado o no, y si se han superado las necesidades de cada fase definida en la metodología.
En algunos equipos de desarrollo, el desconocimiento de dicha estructura desvía el concepto fundamental de hito, al simple hecho de cumplir con cierta documentación (ó conjunto de artefactos), lo cual implica un gasto grande de los recursos para una conjunto enorme de documentación que solo sirve para ser archivada.

Desventaja 1: Si el conjunto de documentos y artefactos no son concebidos tal y como se plantea en PUD, dicha documentación solo servirá para ser archivada lo cual no genera valor respecto a la calidad del desarrollo, y evoluciona en problemas mas complejos (aplicación que no satisface los requerimientos, diseño de la estructura no coincide con la estructura final de la aplicación, etc.)

Desventaja 2: Es necesario incluir a más personas en el equipo de desarrollo: especialistas en los diseños y evolución de casos de uso, de los modelos de análisis y diseño, de los modelos de implementación, etc.

Cabe indicar que la tendencia es a reducir cada vez más los equipos de desarrollo, y no solo por una simple política de reducción de costos, sino a la reducción de la complejidad asociada a la comunicación entre los miembros del equipo.

Desventaja 3: lo mas importante en el desarrollo de un producto informático es el propio de desarrollo, en PUD se gasta posiblemente demasiado tiempo para pasar a la fase de desarrollo.

En cuanto a XP considero que se trata de una metodología demasiado ligera y que quizá se adecuaba mejor a proyectos más simples

Este método (OOWS) aborda de forma sistemática el modelado conceptual de aplicaciones web introduciendo técnicas de especificación de requisitos funcionales y navegacionales, propone una arquitectura software multinivel basada en servicios web, e introduce un conjunto de reglas que permiten transformar las abstracciones conceptuales en cada uno los componentes software que implementan los niveles de la arquitectura, haciendo uso intensivo de patrones de diseño.

Esta metodología pretende desarrollar métodos de producción de software que permitan construir aplicaciones web complejas con comportamiento dinámico, que sean compatibles con los estándares metodológicos y notacionales más extendidos en la actualidad (en particular UML) y que establezcan cómo diseñar y desarrollar aplicaciones web basadas en SW XML para integrar aplicaciones existentes, realizar comercio electrónico y ofrecer funcionalidad a través del web.


1 comentario:

pAkito_mx dijo...

interesante, me sirvió de mucho, hace falta mas información sobre esto.