Calidad de Datos en Aplicaciones Web

Publicado en

En la actualidad, es fundamental mantener un nivel aceptable de calidad en los datos que gestionan las compañías, sobre todo en las aplicaciones Web. Para asegurar esos niveles de calidad de datos (DQ), es imprescindible llevar a cabo una gestión de los requisitos específicos de DQ durante todo el ciclo de desarrollo de la aplicación Web. Sin embargo, en el ámbito de desarrollo de aplicaciones Web no existen propuestas que contemplen artefactos para la gestión de este tipo de requisitos de calidad de datos. El objetivo de este trabajo es dotar a los analistas y desarrolladores de aplicaciones Web de las herramientas necesarias para especificar e implementar de forma clara e intuitiva los requisitos de DQ mediante distintos elementos de modelado.

Considerando el enfoque MDA (Model Driven Architecture) y basándonos en la Ingeniería Web Dirigida por Modelos (MDWE), en este artículo se presenta una propuesta basada en extensiones al metamodelo WebRE, que permitirá modelar los elementos considerados básicos para la gestión de requisitos de DQ en aplicaciones Web. Adicionalmente se presenta los artefactos desarrollados que permiten hacerlo operativo a través de un plugin desarrollado en la plataforma Eclipse.

Introducción a la calidad de datos (DQ)

Es común que una aplicación de software presente comportamientos erróneos, no por defectos en la aplicación como tal, sino por defectos en los datos que utiliza. Es decir, por niveles inadecuados de calidad en sus datos.

La calidad de los datos (DQ) depende del contexto en el que éstos se van a utilizar. Es decir, un dato es de calidad si es válido para el propósito en que un usuario quiere utilizarlo para una tarea determinada. Este concepto se conoce como “adecuación al uso” (fitness for use).

Para abordar la calidad de datos en un contexto en específico, se acostumbra dividirla en partes más pequeñas, “calidades menores” conocidas como dimensiones de calidad de datos. La agrupación de varias de estas dimensiones recibe el nombre de modelos de calidad de datos.

Si bien no existe un modelo universal de DQ, el propuesto por el estándar internacional ISO/IEC 25012 para Sistemas de Información proporciona una buena aproximación. Dicho modelo identifica 15 características o dimensiones consideradas desde dos puntos de vista:

• Inherente: la calidad de datos inherente se refiere al grado en el cual las características de calidad del dato tienen el potencial intrínseco para satisfacer las necesidades implicadas cuando el dato es usado bajo condiciones específicas.

• Dependiente del sistema: se refiere al grado en el cual la calidad del dato es enriquecida y preservada dentro de un sistema de cómputo cuando el dato es usado bajo condiciones específicas.

La tabla 1 en la siguiente página describe las dimensiones de calidad de datos propuestas por el estándar ISO/IEC 25012.

Definimos un “requisito de calidad de datos” como “la especificación de las dimensiones o características que un conjunto de datos debería cumplir para una tarea específica”. El propósito principal es satisfacer las necesidades específicas de calidad en los datos que cada uno de los usuarios requiere en un momento determinado.

El Metamodelo WebRE

En lugar de crear una nueva metodología para desarrollo web que incorpore aspectos de calidad de datos, consideramos que es mejor ampliar una metodología existente. Analizando las distintas opciones de metodologías para desarrollo Web que soportan las fases de requisitos y diseño encontramos el metamodelo Web Requirementes Engineering (WebRE) propuesto por Escalona y Koch [2].

En la figura 1 se aprecia el metamodelo propuesto por WebRE. Las metaclases representan los conceptos sin ninguna información acerca de su representación, y son agrupados en dos paquetes siguiendo la estructura del metamodelo de UML “WebRE Structure” y “WebRE Behavior”.

Figura 1. Metamodelo WebRE.
 

Tabla 1. Dimensiones de DQ según el estándar ISO/IEC 25012.

La funcionalidad de un sistema Web (WebRE Behavior) es modelada por un conjunto de instancias de dos tipos de casos de uso específicos “Navigation” y “WebProcess”, y actividades específicas como “Browse”, “Search” y “UserTransaction”.

El segundo paquete del metamodelo “Structure Package”, contiene las metaclases usadas para describir los elementos estructurales del sistema Web: contenido (Content), nodo (Node) e interfaz de usuario Web (WebUI). Una breve descripción de cada elemento del metamodelo se muestra en la Tabla 2.

Metamodelo de Requisitos de Calidad de Datos para Aplicaciones Web

Una vez que hemos mostrado las características y elementos principales del metamodelo tomado como base (WebRE), describamos ahora la propuesta de metamodelo ampliado (DQ_WebRE) para la integración de elementos para la gestión de requisitos de calidad de datos. Para ello introducimos los siguientes conceptos: “DQRequirement”, “InformationCase”, “Add_DQ_Metadata”, “DQ_Validator” y “DQ_Metadata”. Dichos conceptos se presentan como elementos fundamentales dentro del metamodelo propuesto (ver Figura 2).
 

Tabla 2. Elementos del metamodelo WebRE.
 

Figura 2. Metamodelo para requisitos de calidad de datos DQ_WebRE


La metaclase “DQ_Requirement” representa un caso de uso específico, necesario para modelar los requisitos de DQ (dimensiones de DQ) que estarán relacionados a los casos de uso “InformationCase” (IC).

La metaclase “InformationCase” representa los casos de información (IC) de la aplicación Web. A diferencia de los casos de uso normales, la principal función de los IC es gestionar y almacenar los datos involucrados con las funcionalidades de tipo “WebProcess”. Estos datos estarán relacionados a los requisitos específicos de DQ (DQ_Requirement).

La metaclase “Add_DQ_Metadata” representa una actividad concreta relacionada a las diferentes actividades “UserTransaction”, esta metaclase se encarga de agregar y/o verificar la información de DQ (metadatos de DQ) asociada a cada una de las instancias de las metaclases DQ_Metadata y DQ_Validator.

La metaclase “DQ_Metadata” representa un elemento estructural de la aplicación Web. Aquí serán gestionados y almacenados los metadatos de DQ. Estos metadatos estarán asociados a los elementos de tipo “Content”. En este sentido, será posible especificar diferentes requisitos de DQ ligados directamente a los datos almacenados por los elementos de tipo “Content”.

La metaclase “DQ_Validator” representa un elemento estructural del sistema Web, esta metaclase será la responsable de implementar funciones específicas de DQ, con el objetivo de validar o restringir los elementos de interfaz de usuario (WebUI) que proveerá la aplicación Web.

Aplicación usando plugin de Eclipse

El metamodelo DQ_WebRE se implementó en la plataforma Eclipse, haciendo uso del Eclipse Modeling Framework (EMF). Esto permite que los modelos generados a partir de este metamodelo podrán ser almacenados en formato XMI , el cual puede considerarse como un modelo de entrada para posteriormente implementar las transformaciones necesarias y convertir los modelos definidos a modelos de diseño (por ejemplo, diagramas de clases) y posteriormente código.

Con el objetivo de soportar nuestro enfoque, se desarrolló un plugin usando GMF (Graphical Modeling Framework). Dicho plugin permite modelar los distintos elementos para la gestión de la calidad de datos mediante diagramas de casos de uso y diagramas de actividades.

El plugin se desarrolló para proporcionar un ambiente de trabajo adecuado que entre otras cosas, permitiera realizar diagramas de modelado con los elementos definidos. En la parte derecha de la herramienta (ver Figura 3), se puede observar un “toolbox” especial con los elementos definidos en el metamodelo “DQ_WebRE”.

El ejemplo ilustrativo describe un proceso de negocios típico de una aplicación Web, que permite llevar a cabo la reserva y pago de entradas para conciertos y eventos. En este ejemplo, un analista podría modelar el correspondiente caso de uso “Realizar reserva de entradas” usando los elementos propios del metamodelo (ver Figura 3). En este diagrama el analista incluye el caso de uso “Hacer reserva y pago de entradas” (de tipo InformationCase), el cual se puede relacionar con los requisitos específicos de DQ (Asegurar Confidencialidad de los datos, Garantizar Exactitud de datos respecto al formato, Verificar Completitud en datos introducidos y Confirmar la Credibilidad de los datos), indicando de esta forma que los datos gestionados por este tipo de caso de uso deberán cumplir dichos requisitos de DQ, los cuales deberían ser implementados en las etapas posteriores de diseño y programación de la aplicación Web.

Haciendo uso de los elementos definidos en el metamodelo, es posible también realizar los correspondientes diagramas de actividad (ver Figura 4). En esta figura, el diagrama modela las actividades principales llevadas a cabo con el objetivo de describir de mejor manera el caso de uso “Realizar reservación de entradas”. El cliente primeramente debería ser capaz de ver los conciertos y eventos disponibles. Sin embargo, para poder realizar una reserva de entradas tendrá que registrarse o iniciar sesión en la aplicación Web. Una vez que se consigue el acceso a la aplicación, el cliente podrá seleccionar el evento y verificar la disponibilidad y el coste; si el cliente está de acuerdo con los datos, podrá hacer la reserva introduciendo los datos específicos para la reserva. Enseguida el cliente podrá realizar el pago de las entradas y el sistema le enviará las entradas de forma electrónica por email.

En este diagrama de actividades, el analista será capaz de modelar las actividades específicas para cumplir con los requisitos de DQ, estas actividades estarán relacionadas a los distintos elementos propios del modelado de la aplicación Web. En este ejemplo ilustrativo, la actividad “Verificar y agregar metadatos de confidencialidad” será la responsable de cotejar y anexar dichos metadatos de confidencialidad, los cuales serán almacenados en una instancia de la clase “DQ_Metadata”, cumpliendo de esta manera con el requisito de DQ de “Asegurar Confidencialidad de datos”. En el diagrama también se observa la relación existente de los metadatos de Confidencialidad con los datos de la reservación.

La actividad “Verificar Exactitud de los datos”, será la responsable de agregar las funciones específicas (almacenadas en una instancia de la clase “DQ_Validator”) para verificar el requisito de DQ “Garantizar Exactitud de datos respecto al formato”, de los datos gestionados en la “Página Web de reservas” (del tipo WebUI).

De manera similar, la actividad “Verificar Completitud de datos” estará encargada de agregar las funciones específicas para verificar la completitud de cada uno de los elementos gestionados dentro de la “Página Web de pagos” (tipo WebUI).

Finalmente, la actividad “Verificar Credibilidad de datos” será la responsable de gestionar y agregar los metadatos de DQ (almacenados en una instancia de la clase “DQ_Metadata”), con el objetivo de garantizar el requisito de DQ de “Confirmar la Credibilidad de los datos”, el cual estará relacionado con los datos respectivos de Facturación (de tipo “Content”).

Conclusiones y trabajo futuro

Una correcta gestión de los requisitos de calidad de datos contribuye significativamente a eliminar o al menos minimizar posibles problemas con los datos, permitiendo a los usuarios de los sistemas de información efectuar sus operaciones con un mayor nivel de confianza.

En este artículo se muestra una propuesta de solución basada en el enfoque de desarrollo dirigido por modelos, presentando un metamodelo ampliado (DQ_WebRE) para la gestión de requisitos de calidad de datos tomando como base el metamodelo (WebRE). Mediante la especificación de este metamodelo y haciendo uso del plugin desarrollado, es posible gestionar y modelar los aspectos clave de DQ desde la etapa inicial del proceso de desarrollo, lo que permitirá a los desarrolladores el tener conciencia de los requisitos de DQ.

Como trabajo futuro se ha planificado la incorporación de mecanismos o reglas de transformación de modelos, mediante el lenguaje QVT (Query/View/Transformation). Esto permitirá obtener a partir de modelos de análisis distintos modelos de diseño y posteriormente la generación de código de forma semiautomática.
 

Figura 3. Diagrama de casos de uso especificando requisitos de DQ.
 

Figura 4. Diagrama de actividades con gestión de DQ.

 

Referencias

  1. M. Ge & M. Helfert. “A Review of Information Quality Research”, International Conference on Information Quality, 2007.
  2. D. Strong, Y.W. Lee, & R.Y. Wang. “Data Quality in Context”, Communications of the ACM Vol 40 Issue 5, 1997.
  3. M.J. Escalona & N. Koch. “Metamodeling the Requirements of Web Systems”, Web Information Systems and Technologies, 2006. http://bit.ly/sg30r8
Bio

César Guerra-García es profesor en el Departamento de Tecnologías de Información en la Universidad Politécnica de San Luis Potosí, y doctorando en la Universidad de Castilla La Mancha. cguerra74@gmail.com

Ismael Caballero es profesor en el Departamento de Tecnologías y Sistemas de Información en la Universidad de Castilla-La Mancha en Ciudad Real, España. ismael.caballero@uclm.es