• No results found

3 The Elements of the Choice Set as Compara tors

De acuerdo con el modelo conceptual descrito anteriormente, de las consideraciones presentadas respecto a la implementación de las evaluaciones de cada una de las capas, y de la integración de estas para calcular un índice total y dar un puntaje al objeto de aprendizaje, se planteó el siguinete diagrama de clases y su respectivo diccionario. 3.3.2.1. Diagrama de clases

A continuación se presenta el diagrama de clases de la solución desarrollada. Es importante aclarar que las clases consideradas fueron las del núcleo de la solución, es decir, el modelo en una arquitectura MVC, y son las que hacen parte del proyecto additions, mientras que las clases y artefactos que hacen parte de jspui, y que constituye la vista y el controlador en MVC, no se incluyen en este diagrama.

Dentro del diagrama se puede observar una relación jerárquica para la realización de evaluaciones administrativas que está basada en el patrón comando, constituido por una interfaz comando y seis implementaciones o comandos concretos que representan cada una de las seis métricas que se pueden evaluar por parte del administrador, esta decisión de diseño permite agregar, eliminar o remplazar las métricas administrativas, más concretamente la forma como estas se realizan, de forma transparente fomentando la extensión sobre la modificación (principio open-close). Aunque la estructura difiere respecto a la de un patrón comando convencional, especialmente porque el comando concreto y el realizador de la operación son el mismo objeto, fue una adaptación a las necesidades del proyecto.

Por otro lado, las operaciones a base de datos se hacen a través de una serie de clases utilitarias (Layer, Dimension, Metric, AssessParam), que además de representar relaciones del modelo de datos descrito anteriormente, contienen una serie de métodos estáticos para recuperar, eliminar, actualizar y crear (operaciones CRUD) dichas relaciones en base de datos. Estas clases son utilizadas principalmente por las clases denominadas “helpers” en el modelo. Éstas últimas constituyen el punto de acceso al módulo de evaluación.

En el diagrama se omiten los métodos accesores y modificadores (setters y getters) convencionales de los atributos de las clases, a no ser que incluyan alguna lógica adicional a la usual; en el caso de la interfaz del patrón comando se da por sentado que cada una de las clases concretas (comandos concretos) implementa el método y se omite. Además el modelo no muestra las interacciones con DSpace, pero el uso del API de DSpace fue esencial en la elaboración de esta solución, especialmente el API de persistencia y de contenido.

Ver anexo SalazarRinconAndresAlexis-3.jpg

3.3.2.2. Diccionario de Clases

A continuación se presenta descripción de las características lógicas de atributos y métodos, con el fin de dar precisión sobre los datos que se manejan en el sistema evitando malas interpretaciones o ambigüedades, además una descripción de la razón de existencia de la clase. En algunas descripciones de este diccionario, se hace mención a entidades del modelo de datos que se describe en la sección siguiente.

Nombre: StartAssessHelper

Descripción: Está clase contiene métodos utilitarios para iniciar la evaluación y realizar la parametrización de la evaluación.

Capa de métodos

Visibilidad Nombre Tipo

Parámetros

Semántica Retorno

public getDimensions -Context: contexto Dspace.

-List: Lista AssessParams -int: identificador de la capa.

Devuelve lista con los nombres de las dimensiones que se encuentran en la lista de AssessParam para la capa dada Vector: Lista de Strings con los nombres de las dimensiones

public getDimensions -Context: contexto Dspace. Recupera la lista de dimensiones de la base de datos Vector: Lista de objetos tipo Dimension

public getMetrics -Context: contexto Dspace.

-List: Lista AssessParams -int: identificador de la capa

Devuelve lista con los nombres de las métricas que se encuentran en la lista de AssessParam para la capa dada

Vector: Lista de Strings con los nombres de las métricas

public getLayers -Context: contexto de Dspace

Recupera las capas de la base de datos.

Vector: Lista de String con los nombres de las capas public verifyCheckedDi mensions -Context: contexto Dspace. -Vector: Lista de de valores separados por coma con información de la capa, la dimensión y la métrica. -int: identificador de la capa.

Retorna lista de Strings con los nombres de las dimensiones en la lista de valores separados por comas Vector: Lista de Strings con nombre de las dimensiones.

Nombre: AdminAssessHelper

Descripción: Realiza las operaciones del módulo de evaluación relacionadas con la capa administrativa, dentro de las que se encuentra visualización de resultados globales, evaluación de las métricas propias de la capa.

Capa de atributos

Visibilidad Nombre Tipo Semántica Dominio de

valores

private criteriaCommand AdminAssessment CommandInterface

Almacena una instancia de un comando concreto, es decir, de una instancia de una clase que implementa la interfaz Posibles objetos de tipo AdminAssessmen tCommandInterfac e Capa de métodos

Visibilidad Nombre Tipo Parámetros Semántica Retorno

public assess - String: nombre de la evaluación que se va a realizar - DSpaceObject: ítem del repositorio - Context: contexto DSpace

Realiza la evaluación indicada sobre el ítem que se pasa AssessResult: Objeto con la información resultado de la evaluación public getAssessmentRe sults

- Int: id del item - Context: contexto de DSpace Retorna la información sobre el resultado de la evaluación. Vector: Lista de Strings con valores separados por coma public calculateLayerInde x - Vector: Lista de AssessParam del ítem - int: identificador capa Calcula el índice o valor ponderado de un ítem para una capa dada.

double: el puntaje final para la capa.

public calculateTotalIndex - double: índice capa administrativa - double: índice capa expertos - double: índice capa estudiantes Calcula el índice o valor final de un objeto

double: puntaje final.

Nombre: ExpertAssessHelper

Descripción: Contiene operaciones necesarias para realizar las acciones relacionadas con la evaluación de la capa de expertos.

Capa de atributos

Visibilidad Nombre Tipo Semántica Dominio de

valores

private itemId int Identificador del ítem que se evalúa

Valores enteros positivos

private oldDimWeights Map Mapa con información de las dimensiones y el peso dado por el experto antes de que se actualice Pares, compuestos por identificador de la dimensión y el peso, un valor entero entre 1 y 5 private dimWeights Map Mapa con información

de las dimensiones y el peso dado por el experto después de que se actualice Pares, compuestos por identificador de la dimensión y el peso, un valor entero entre 1 y 5 private metricsValues Map Mapa para mantener en

memoria valores de las métricas antes de la actualización Pares, compuestos por identificador de la métrica y su puntaje, un decimal entre 0 y 1. Capa de métodos

Visibilidad Nombre Tipo

Parámetros

Semántica Retorno

public ExpertAssessHe lper

int: identificador del ítem que se evalúa Constructor encargado de iniciar variables antes de realizar la evaluación NA

public setExpertWeight - Context: contexto Dspace

Map: mapa de dimensiones y peso dado a cada dimension

Actualiza o agrega el peso dado por un expertos a las dimensiones

Nombre: ExpertAssessHelper public setExpertAsses sment - Context: contexto Dspace - Map: mapa de métricas y lista de valores dado para cada métrica

Actualiza o agrega el puntaje dado por un experto a las métricas

void

* Esta clase también incluye los métodos accesores y modificadores para cada uno de los atributos

Nombre: StudentAssessHelper

Descripción: Contiene operaciones necesarias para realizar las acciones relacionadas con la evaluación de la capa de estudiantes.

Capa de métodos

Visibilidad Nombre Tipo Parámetros Semántica Retorno

public setExpertAssessm ent Context: contexto Dspace Map: mapa de métricas y lista de valores dado para cada métrica

Actualiza o agrega el puntaje dado por un estudiante a las métricas

void

Nombre: AdminAssessmentCommandInterface

Descripción: Interfaz para la evaluación de métricas de la capa de administradores. Hace el papel de interfaz del patrón comando.

Capa de métodos

Visibilidad Nombre Tipo Parámetros Semántica Retorno

public executeAssess ment

- DSpaceObject: objeto dspace sobre el que se aplica la evaluación - Context: contexto Dspace

Ejecuta la evaluación sobre el objeto dado. Puede arrojar una excepción de tipo AdminAssessmentE xception cuando algo sale mal en la ejecución de la evaluación. AssessParam: objeto con información del resultado de la evaluación administrativa

Nombre: AssessResult

Descripción: Encapsular información sobre el resultado de una evaluación administrativa

Capa de atributos

Visibilidad Nombre Tipo Semántica Dominio de

valores

private task String Nombre de la métrica “Coherence”, “Availability”, etc private score double Puntaje obtenido Valor decimal

entre 0 y 1 private handle String Identificador del ítem

evaluado

Cadena de texto private status String Identificador del resultado “Success”,

“Failed” private result String Descripción del resultado

obtenido

Cadena de texto private isSuccess boolean Sí se logró o no efectuar

la evaluación

true, false

Capa de métodos

Visibilidad Nombre Tipo Parámetros Semántica Retorno

public AssessResult String: task double: score String: habdle String: status String: result boolean: isSuccess

Constructor que crea un nuevo objeto asignando los valores dados a los correspondientes

atributos de la clase

NA

* Esta clase también incluye los métodos accesores y modificadores para cada uno de los atributos

Nombre: AdminAssessmentException

Descripción: Excepción personalizada que se utiliza para indicar que algo fue mal con la evaluación administrativa

Capa de métodos

Visibilidad Nombre Tipo

Parámetros Semántica Retorno public AdminAssessmentEx ception String: mensaje personalizado Constructor que permite agregar un mensaje personalizado, a la excepción NA Nombre: ReusabilityAssessCommand

Descripción: Comando concreto que se encarga de realizar la evaluación administrativa de la métrica de reusabilidad

Capa de atributos

Visibilidad Nombre Tipo Semántica Dominio de

valores

private HIGHT double Constante con valor que se le deben asignar a objetos con alta granularidad

0.1

private AVERAGE double Constante con valor que se le deben asignar a objetos con media granularidad

0.5

private LOW double Constante con valor que se le deben asignar a objetos con alta granularidad

0.9

private ATOMIC double Constante con el valor que se le deben asignar a objetos con estructura atómica

0.9

private COLLECTION double Constante con el valor que se le deben asignar a objetos con estructura de collección

Nombre: ReusabilityAssessCommand

private NETWORK double Constante con el valor que se le deben asignar a objetos con estructura de red

0.5

private HIERCAL double Constante con el valor que se le deben asignar a objetos con estructura jerárquica

0.25

private LINEAR double Constante con el valor que se le deben asignar a objetos con estructura leneal

0.1

Capa de métodos

Visibilidad Nombre Tipo Parámetros Semántica Retorno

public executeAssess ment

- DSpaceObject: objeto dspace sobre el que se aplica la evaluación - Context: contexto Dspace Implementación del método descrito en AdminAssessmentComm andInterface para la evaluación de reusabilidad AssessmentResul t private checkGranularit yRule String: tipo de contenido Determina la granularidad de acuerdo con el tipo de contenido pasado Double: valor representando la granularidad private checkStructure Rule String: tipo de contenido Determina la estructura de acuerdo con el tipo de contenido pasado

double: valor representando la estructura

Nombre: CompletenessAssessCommand

Descripción: Comando concreto que se encarga de realizar la evaluación administrativa de la métrica de completitud

Capa de atributos

Visibilidad Nombre Tipo Semántica Dominio de

valores

private TITLE double Constante con el valor que se le debe sumar si el objeto tiene título

0.17

private SUBJECT double Constante con el valor que se le debe sumar si el objeto tiene asignatura

Nombre: CompletenessAssessCommand

private ABSTRACT double Constante con el valor que se le debe sumar si el objeto tiene “abstract”

0.14

private AUTHOR double Constante con el valor que se le debe sumar si el objeto tiene autor

0.13

private DATE double Constante con el valor que se le debe sumar si el objeto tiene fecha

0.12

private TYPE double Constante con el valor que se le debe sumar si el objeto tiene tipo

0.11

private LANG double Constante con el valor que se le debe sumar si el objeto tiene lenguage

0.07

private DESCR double Constante con el valor que se le debe sumar si el objeto tiene descripción

0.05

private LOCATION double Constante con el valor que se le debe sumar si el objeto tiene identificador por URI

0.03

private STATUS double Constante con el valor que se le debe sumar si el objeto tiene procedencia

0.02

Capa de métodos

Visibilidad Nombre Tipo Parámetros Semántica Retorno

public executeAssess ment

- DSpaceObject: objeto dspace sobre el que se aplica la evaluación

- Context: contexto Dspace

Implementación del método descrito en AdminAssessmentComman dInterface para la evaluación de completitud AssessmentRe sult

Nombre: ConsistencyAssessCommand

Descripción: Comando concreto que se encarga de realizar la evaluación administrativa de la métrica de consistencia

Capa de atributos

Visibilidad Nombre Tipo Semántica Dominio de

valores

private log Logger Atributo que permite enviar mensajes usando el sistema de logs de la plataforma. Se utiliza porque la métrica implica el manejo de excepciones de las que se debe dejar traza en los logs

Posibles objetos de tipo Logger

Capa de métodos

Visibilidad Nombre Tipo Parámetros Semántica Retorno

public executeAssess ment - DSpaceObject: objeto dspace sobre el que se aplica la evaluación - Context: contexto Dspace Implementación del método descrito en AdminAssessmentComm andInterface para la evaluación de consistencia AssessmentResul t private compareCSVal ues String: ruta al archivo con los registros de comparación String: valor que se desea comparar

Compara el registro con valores en el archivo CSV pasado, buscando un registro igual para validar el valor.

boolean: si el campo tiene un igual en el archivo o no

Nombre: VisibilityAssessCommand

Descripción: Comando concreto que se encarga de realizar la evaluación administrativa de la métrica de visibilidad

Capa de atributos

Visibilidad Nombre Tipo Semántica Dominio de

valores

private log Logger Atributo que permite enviar mensajes usando el sistema de logs de la plataforma. Se utiliza porque la métrica implica el manejo de excepciones de las que se debe dejar traza en los logs

Posibles objetos de tipo Logger

Capa de métodos

Visibilidad Nombre Tipo Parámetros Semántica Retorno

public executeAssess ment - DSpaceObject: objeto dspace sobre el que se aplica la evaluación - Context: contexto Dspace Implementación del método descrito en AdminAssessmentComma ndInterface para la evaluación de visibilidad AssessmentRes ult Nombre: AvailabilityAssessCommand

Descripción: Comando concreto que se encarga de realizar la evaluación administrativa de la métrica de disponibilidad

Capa de métodos

Visibilidad Nombre Tipo Parámetros Semántica Retorno

public executeAssess ment

- DSpaceObject: objeto DSpace sobre el que se aplica la evaluación - Context: contexto DSpace Implementación del método descrito en AdminAssessmentCom mandInterface para la evaluación de disponibilidad AssessmentRes ult

private getURLs -Item: Objeto de DSpace

Obtiene las URLs que el objeto pueda obtener en sus metadatos

List: lista de strings con las URLs

Nombre: AvailabilityAssessCommand

private checkURL -String: URL Obtiene la respuesta HTTP de la URL dada, y con base a esto determina si la URL responde o no. boolean: devuelve si la URL responde o no. private getResponseSt atus

-String: URL Devuelve el código de estado HTTP

String: código respuesta

Nombre: CoherenceAssessCommand

Descripción: Comando concreto que se encarga de realizar la evaluación administrativa de la métrica de coherencia

Capa de atributos

Visibilidad Nombre Tipo Semántica Dominio de

valores

private log Logger Atributo que permite enviar mensajes usando el sistema de logs de la plataforma. Se utiliza porque la métrica implica el manejo de excepciones de las que se debe dejar traza en los logs

Posibles objetos de tipo Logger

Capa de métodos

Visibilidad Nombre Tipo Parámetros Semántica Retorno

public executeAssess ment

- DSpaceObject: objeto dSpace sobre el que se aplica la evaluación - Context: contexto DSpace Implementación del método descrito en AdminAssessmentCom mandInterface para la evaluación de coherencia AssessmentResu lt

private init Carga los archivos que necesita la librería utilizada para detectar idiomas en mensajes

Nombre: CoherenceAssessCommand

private detect String: texto que se desea analizar

Haciendo uso del API de la librería externa para la detección de idiomas, determina el idioma del mensaje dado.

String: idioma del mensaje dado

private searchFormaTy pe

String: campo metadatos con el tipo MIME

Revisa por el formato multimedia del campo dado, haciendo uso de archivo CSV con tipos MIME válidos y sus respectivos formatos

String: formato del tipo MIME

Nombre: Layer

Descripción: Representa una capa del modelo, y agrupa métodos estáticos para realizar operaciones a base de datos relacionadas con las capas y los índices (resultados consolidados de las evaluaciones ) del modelo

Capa de atributos

Visibilidad Nombre Tipo Semántica Dominio de

valores

private id int Identificador de la capa Valores enteros positivos

private name String Nombre de la capa “Administrator”, “Expert”, “Student”

Capa de métodos

Visibilidad Nombre Tipo

Parámetros

Semántica Retorno

public Layer - Context: contexto DSpace

- TableRow: Fila del API de persistencia de DSpace

Constructor que crea un nuevo objeto a partir del objeto TableRow otorgado

NA

public findAllLayers - Context: contexto DSpace

Recupera las capas de la base de datos

Layer[]: Arreglo de capas

Nombre: Layer public addAssessmentIn dexes - Context: contexto DSpace - int: identificador del ítem - double: índice de la capa de administradores - double: índice de la capa de expertos - double: índice de la capa de estudiantes - double: índice total

Agrega los índices consolidados por capa, y el índice total para el ítem dado en la base de datos void public updateAssessInde xes - Context: contexto DSpace - double: índice de la capa de administradores - double: índice de la capa de expertos - double: índice de la capa de estudiantes - double: índice total - int: identificador del ítem

Actualiza los índices consolidados por capa, y el índice total para el ítem dado en la base de datos void public deleteAssessInde xes - Context: contexto DSpace - int: identificador del ítem Elimina el registro en la relación Assessment_History para el ítem dado, es decir, elimina los índices consolidados de la base de datos

int: número de filas afectadas (0 o 1)

public findIndexByItem - Context: contexto DSpace - int: identificador del ítem Recupera el identificador de la entidad Assessment_History para el ítem dado

Int: identificador del registro de los índices para el ítem

* Esta clase también incluye los métodos accesores y modificadores para cada uno de los atributos

Nombre: Dimension

Descripción: Representa una dimensión del modelo, y agrupa métodos estáticos para realizar operaciones a base de datos relacionadas con las dimensiones del modelo y los pesos que los administradores y expertos le dan a estas (parametrización).

Capa de atributos

Visibilidad Nombre Tipo Semántica Dominio de

valores

private id int Identificador de la dimensión

Enteros positivos private name String Nombre de la dimensión “Content”,

“Contextual”, “Educational” , “Esthetic”,

“Functional”, “Metadata” private layerId int Identificador de la capa a

la que pertenece la dimensión

Entero positivo

Capa de métodos

Visibilidad Nombre Tipo Parámetros Semántica Retorno

public Dimension - Context: contexto DSpace

- TableRow: Fila del API de persistencia de DSpace

Constructor que crea un nuevo objeto a partir del objeto TableRow otorgado

NA

public findByLayer Context: contexto de DSpace String: nombre de la capa Recupera las dimensiones asociadas a una capa Dimension[]: Colección de dimensiones pertenecientes a la capa.

public findNameByID - Context: contexto DSpace - int: identificador de la dimensión Recupera de base de datos el nombre de la dimensión cuyo identificador es dado. String: nombre dimensión. public addDimension Weight - Context: contexto DSpace - int: identificador de la dimensión - int: identificador de la capa

Related documents