Sunteți pe pagina 1din 275

TRABAJO FIN DE GRADO

ESCUELA UNIVERSITARIA POLITCNICA


Departamento de Ciencias Politcnicas
Grado en Ingeniera Informtica

Integracin de ontologas en un sistema experto para


la recomendacin de recursos educativos en un LMS
(Learning Management System)
Autor: D. Alberto Miguel Oliva Molina
Director: Dr. D. Alberto Caballero Martnez
Director: Dr. D. Andrs Muoz Ortega

Murcia, Junio de 2015

TRABAJO FIN DE GRADO

ESCUELA UNIVERSITARIA POLITCNICA


Departamento de Ciencias Politcnicas
Grado en Ingeniera Informtica

Integracin de ontologas en un sistema experto para


la recomendacin de recursos educativos en un LMS
(Learning Management System)
Autor: D. Alberto Miguel Oliva Molina
Director: Dr. D. Alberto Caballero Martnez
Director: Dr. D. Andrs Muoz Ortega

Murcia, Junio de 2015

Dr. D. Alberto Caballero Martnez profesor de la UCAM.


Dr. D. Andrs Muoz Ortega profesor de la UCAM.
CERTIFICAN: que el Trabajo Fin de Grado titulado Integracin de
ontologas en un sistema experto para la recomendacin de recursos
educativos en un LMS (Learning Management System) que presenta D.
Alberto Miguel Oliva Molina, para optar al ttulo oficial de Grado en Ingeniera
informtica, ha sido realizado bajo su direccin.

A su juicio rene las condiciones necesarias para ser presentado en la


Universidad Catlica San Antonio de Murcia y ser juzgado por el tribunal
correspondiente.

Murcia, a 1 de Junio de 2015

Dr. D. Alberto Caballero Martnez

Dr. D. Andrs Muoz Ortega

Agradecimientos.

Me gustara expresar mi agradecimiento a todas las personas que han


hecho posible este trabajo. En especial a mis tutores, Alberto Caballero y
Andrs Muoz, que han guiado y ayudado de forma excepcional al
desarrollo de este proyecto. Por su eterna paciencia y comprensin, a pesar
de los retrasos y dificultades que han acompaado este desarrollo, ellos
siempre dieron su apoyo y su soporte.

A mi familia, porque sin su apoyo, posiblemente, este proyecto y el grado


que

culmina

con

su

presentacin,

habran

quedado

abandonados

indefinidamente.

A mis compaeros de carrera, Francisco y Daniel, que estuvieron a mi


lado

en

los

peores

momentos,

apoyndome

incondicionalmente.

Posiblemente el valor ms destacable de mi paso por UCAM sea esta


amistad que me llevo.

A mi amigo Potter por haberme ayudado siempre sin pedir nada a cambio.

Gracias a todos.

RESUMEN

En el presente trabajo fin de grado se plantea e implementa

un

sistema experto dentro de un LMS (Learning Management System), el


cual, mediante la combinacin de la informacin del contexto y el uso de
conocimiento

experto

es

capaz

de

proporcionar

servicios

de

personalizacin y recomendacin dentro del mismo.

Para la representacin del contexto de un LMS hemos creado una


ontologa denominada OntoSakai. Esta ontologa est formada, a su
vez, por cuatro ontologas, que representan, en conjunto, las diferentes
reas del proceso de aprendizaje: competencias, usuarios, herramientas
de aprendizaje y clasificacin semntica de los elementos de un LMS.
Proporciona, por tanto, un vocabulario estandarizado sobre los elementos
de un LMS y las actividades acadmicas realizadas dentro de esta
plataforma.

Esta combinacin de conocimiento experto e informacin de contexto


puede ser fcilmente integrada con otros sistemas dentro del entorno
acadmico con el objeto de proporcionar interoperabilidad entre ellos.
Concretamente, en este trabajo, hemos integrado nuestro sistema con
Sakai, un conocido LMS para entornos universitarios. Como resultado de
esta integracin, OntoSakai es capaz de recomendar recursos con el
objetivo proporcionar un beneficio tanto para el aprendizaje por parte del
alumno como facilitar y adaptar el proceso de enseanza por parte del
personal docente.

En el desarrollo de este trabajo, analizamos la integracin de


OntoSakai con el LMS mencionado. Para demostrar su correcto
funcionamiento hemos implementado una versin semntica de la
herramienta Recursos mediante un servicio Web que permite ofrecer
servicios de recomendacin.

Palabras Clave: LMS, Ontologa, servicio Web, Recomendacin


Automtica.

ABSTRACT

In current end-of-grade project an expert system within an LMS (Learning


Management System) is laid out and implemented. By combining the contextual
information and use of expert knowledge the system is able to provide
personalization and recommendation in it services.

To represent the user context within an LMS we have created an ontology


which we have called "OntoSakai". This ontology is formed, in turn, by four
subonthologies, which, together, represent the different areas of the learning
process: competences, users, tools for learning and semantic classification of
the elements of an LMS. Therefore, provides a standardized vocabulary about
the elements of an LMS and the academic activities carried out within this
platform.

This combination of expert knowledge and contextual information can be


easily integrated with other systems within the academic environment in order
to provide interoperability between them. Specifically, in this work, we have
integrated our system with Sakai, a famous LMS for university environments. As
a result of this integration, OntoSakai is able to generate user profiles that
facilitate customization of the use of the tools within the LMS, and is able to
recommend resources in order to benefit the student's learning as well as to
facilitate and adapt the process of teaching by teaching staff.

In the development of this paper, we analyze the integration of OntoSakai


with the aforementioned LMS. In order to demonstrate proper functionality we
have implemented a semantic version of the 'Resources' tool by using a web
service that can offer recommendations.

Keywords: LMS, Ontology, Web Service, Automatic Recomendation.

ndice de contenido

1. INTRODUCCIN ....................................................................................... 27
1.1

Motivacin ........................................................................................... 27

1.2

Definicin ............................................................................................ 30

1.3

Objetivos ............................................................................................. 32

2. ESTADO DEL ARTE.................................................................................. 33


2.1

Conceptos relevantes del dominio de la aplicacin. ............................ 33

2.1.1

Sakai............................................................................................. 33

2.1.2

OntoSakai. .................................................................................... 34

2.2

Relacin con proyectos con la misma funcionalidad. .......................... 36

2.3

Estudio de viabilidad. .......................................................................... 39

2.3.1

Alcance del proyecto. ................................................................... 39

2.3.2

Estudio de la situacin actual. ...................................................... 41

2.3.3

Estudio y valoracin de las alternativas de solucin ..................... 44

3. METODOLOGIAS USADAS ...................................................................... 48


3.1

Recogida de requisitos: IEEE 830. ...................................................... 48

3.2

Modelado del sistema. ........................................................................ 50

3.2.1

Modelado de OntoSakai. .............................................................. 50

3.2.2

Modelado de OntoSakaiWS y las herramientas a integrar dentro

del campus. ............................................................................................... 51


4. TECNOLOGIAS Y HERRAMIENTAS USADAS EN EL PROYECTO ........ 57
4.1

Tecnologas empleadas. ..................................................................... 57

4.1.1

Desarrollo de la ontologa. ............................................................ 57

4.1.2

Desarrollo de OntoSakaiWS. ........................................................ 59

4.1.3

Desarrollo de las herramientas integradas con Sakai. .................. 62

4.2

Herramientas empleadas. ................................................................... 64

4.2.1

Proteg. ........................................................................................ 64

4.2.2

Eclipse. ......................................................................................... 65

4.2.3

Apache Maven. ............................................................................. 65

4.2.4

Apache Tomcat............................................................................. 66

4.2.5

Sublime Text. ................................................................................ 66

4.2.6

DBVisualizer. ................................................................................ 67

5. ESTIMACIN DE RECURSOS Y PLANIFICACIN ................................. 69


5.1

Fases del proyecto. ............................................................................. 69

5.2

Estimaciones utilizadas. ...................................................................... 71

5.2.1

Estimacin por puntos de funcin ................................................. 71

5.3

Planificacin temporal del proyecto ..................................................... 78

5.4

Coste econmico ................................................................................ 81

5.4.1

Costes materiales ......................................................................... 81

5.4.2

Costes humanos. .......................................................................... 82

5.4.3

Costes totales ............................................................................... 84

5.5

Valoracin real de la dedicacin ......................................................... 84

6. DESARROLLO DEL PROYECTO ............................................................. 89


6.1

Desarrollo de la Ontologa OntoSakai ................................................. 89

6.1.1

Glosario de trminos. .................................................................... 89

6.1.2

Taxonomas de conceptos ............................................................ 93

6.1.3

Diagrama de relaciones binarias .................................................. 96

6.1.4

Diccionario de conceptos ............................................................ 100

6.1.5

Detalle de las relaciones binarias ............................................... 101

6.1.6

Descripcin de los atributos de instancia .................................... 102

6.1.7

Descripcin de atributos de clase ............................................... 103

6.1.8

Descripcin de las constantes .................................................... 103

6.1.9

Descripcin de las instancias ..................................................... 103

6.1.10 Conclusiones OntoSakai ............................................................ 104


6.1.11 Implantacin de la ontologa en Proteg. ................................... 105
6.2

OntoSakaiWS .................................................................................... 108

6.2.1

Especificacin de requisitos de software. ................................... 108

6.2.2

Diseo de la solucin.................................................................. 117

6.2.3

Pruebas de esfuerzo ................................................................... 123

6.2.4

Despliegue .................................................................................. 124

6.3

OntoSakai Resources ....................................................................... 124

6.3.1

Especificacin de requisitos de software. ................................... 124

6.3.2

Diseo de la solucin.................................................................. 133

6.3.3

Pruebas unitarias ........................................................................ 140

6.3.4

Despliegue .................................................................................. 141

6.4

OntoSakai Browser ........................................................................... 142

6.4.1

Especificacin de requisitos de software .................................... 142

6.4.2

Diseo de la solucin.................................................................. 150

6.4.3

Despliegue .................................................................................. 156

7. PLAN DE PRUEBAS E INTEGRACIN .................................................. 157


7.1

Plan de pruebas ................................................................................ 157

7.1.1
7.2

Pruebas de integracin ............................................................... 157

Integracin de la solucin.................................................................. 159

8. CONCLUSIONES .................................................................................... 161


8.1

Objetivos alcanzados ........................................................................ 161

8.2

Conclusiones del trabajo y personales .............................................. 161

8.3

Vas futuras ....................................................................................... 163

9. BLIBLIOGRAFIA ...................................................................................... 167


10.

ANEXOS .............................................................................................. 173

10.1 Anexo A: Casos de uso ..................................................................... 173

10.1.1 Anexo A1: OntoSakaiWS............................................................ 173


10.1.2 Anexo A2: OntoSakai Resources ............................................... 192
10.1.3 Anexo A3: Ontosakai Browser .................................................... 202
10.2 Anexo B: Diagramas de secuencia ................................................... 209
10.2.1 Anexo B1: OntoSakaiWS............................................................ 209
10.2.2 Anexo B2: OntoSakai Resources ............................................... 220
10.2.3 Anexo B3: OntoSakai Browser ................................................... 225
10.3 Anexo C: Manual de instalacin ........................................................ 231
10.3.1 Instalacin LMS Sakai ................................................................ 231
10.3.2 Instalacin de OntoSakaiWS ...................................................... 249
10.3.3 Instalacin de OntoSakai Resources y OntoSakai Browser ....... 252
10.4 Anexo D: Manual de usuario. ............................................................ 258
10.4.1 OntoSakai Resources ................................................................. 258
10.4.2 OntoSakai Browser ..................................................................... 265
10.5 Anexo E: Especificacin de Methontology ........................................ 268
10.5.1 Principales componentes de modelado: ..................................... 268
10.5.2 Tareas definidas por Methontology............................................. 269

ndice de figuras
Figura 1. Estructura LMS ................................................................................ 28
Figura 2. Visin general de OntoSakai ............................................................ 36
Figura 3. Alcance del proyecto ......................................................................... 40
Figura 4. Aplicaciones ms usadas en UCAM ................................................ 42
Figura 5. Desarrollo en cascada ...................................................................... 53
Figura 6. Modelo de desarrollo en espiral. ....................................................... 55
Figura 7. Modelo de desarrollo en cascada con prototipado rpido. ............... 56
Figura 8. Diagrama de Gantt General .............................................................. 79
Figura 9. Diagrama de Gantt real (A) ............................................................... 85
Figura 10. Diagrama de Gantt real (B) ............................................................. 85
Figura 11. Desviacin temporal del proyecto ................................................... 87
Figura 12. Diagrama de taxonoma herramienta .............................................. 94
Figura 13. Diagrama de taxonoma perfilado. .................................................. 94
Figura 14. Diagrama de taxonoma Participante .............................................. 95
Figura 15. Diagrama de taxonoma de ms alto nivel. ..................................... 95
Figura 16. Relacin Participante - Asignatura .................................................. 96
Figura 17. Relacin Evento - Participante ........................................................ 96
Figura 18. Relacin Evento - ToolElement ....................................................... 96
Figura 19. Relacin Estudiante - ToolElement ................................................. 97
Figura 20. Relacin Calificacin - Estudiante ................................................... 97
Figura 21. Relacin Calificacin - EvaluativeToolElement ............................... 97
Figura 22. Relacin Asignatura - Herramienta ................................................. 97
Figura 23. Relacin ToolElement - Herramienta .............................................. 98
Figura 24. Relacin ToolElement -TopicItem ................................................... 98
Figura 25. Relacin Topic - TopicItem .............................................................. 98
Figura 26. Relacin Perfil - ToolElement .......................................................... 98
Figura 27. Relacin Participante - Perfil ........................................................... 99
Figura 28. Relacin ToolElement ToolElement ............................................. 99
Figura 29. Ejemplo relacin isRelatedTo .......................................................... 99
Figura 30.Importacin Proteg ....................................................................... 105
Figura 31. ObjectProperties Protege .............................................................. 106
Figura 32. Detalle propiedades Proteg ......................................................... 107

Figura 33. Atributos de concepto Proteg ...................................................... 108


Figura 34. Diagrama casos de uso OntoSakaiWS ......................................... 116
Figura 35. . Diagrama de clases OntoSakaiWS ............................................. 118
Figura 36. Diagrama de despliegue OntoSakaiWS ........................................ 124
Figura 37. . Diagrama de casos de uso OntoSakai Resources ...................... 132
Figura 38. Diagrama de clases OntoSakai Resources .................................. 134
Figura 39. Diagrama de componentes OntoSakai Resources........................ 135
Figura 40. Diseo Interface OntoSakai Resources: Login .............................. 136
Figura 41. Diseo Interface OntoSakai Resources: General .......................... 137
Figura 42. Diseo Interface OntoSakai Resources: Subida ........................... 137
Figura 43. Diseo Interface OntoSakai Resources: Topics Relacionados ..... 138
Figura 44. Diseo Interface OntoSakai Resources: Nuevo Topic .................. 138
Figura 45. Diseo Interface OntoSakai Resources: Nuevo TopicItem ........... 139
Figura 46. Diseo Interface OntoSakai Resources: Recursos relacionados .. 139
Figura 47. Diagrama de despliegue OntoSakai Resources ............................ 141
Figura 48. Diagrama de casos de uso OntoSakai Browser ............................ 149
Figura 49. Diagrama de clases OntoSakai Browser ...................................... 150
Figura 50. Diagrama de componentes OntoSakai Browser ........................... 151
Figura 51. Diseo Interface OntoSakai Browser: Login .................................. 152
Figura 52. Diseo Interface OntoSakai Browser: Listado de recursos ........... 153
Figura 53. Diseo Interface OntoSakai Browser: Recursos relacionados ...... 153
Figura 54. Diseo Interface OntoSakai Browser: Recursos relacionados
TopicItems ...................................................................................................... 154
Figura 55. Diseo Interface OntoSakai Browser: Recursos relacionados Topics
....................................................................................................................... 154
Figura 56. Diagrama de despliegue OntoBrowser .......................................... 156
Figura 57. Diagrama de despliegue de la solucin ......................................... 159
Figura 58. Diagrama secuencia OntoSakaiWS: CU01 ................................... 209
Figura 59. Diagrama secuencia OntoSakaiWS: CU02 ................................... 210
Figura 60. Diagrama secuencia OntoSakaiWS: CU03 ................................... 210
Figura 61. Diagrama secuencia OntoSakaiWS: CU04 ................................... 211
Figura 62. Diagrama secuencia OntoSakaiWS: CU05 ................................... 211
Figura 65. Diagrama secuencia OntoSakaiWS: CU06 ................................... 212
Figura 66. Diagrama secuencia OntoSakaiWS: CU07 ................................... 213

Figura 67. Diagrama secuencia OntoSakaiWS: CU08 ................................... 213


Figura 68. Diagrama secuencia OntoSakaiWS: CU09 ................................... 214
Figura 69. Diagrama secuencia OntoSakaiWS: CU10 ................................... 214
Figura 70. Diagrama secuencia OntoSakaiWS: CU11 ................................... 215
Figura 71. Diagrama secuencia OntoSakaiWS: CU12 ................................... 215
Figura 72. Diagrama secuencia OntoSakaiWS: CU13 ................................... 216
Figura 73. Diagrama secuencia OntoSakaiWS: CU14 ................................... 216
Figura 74. Diagrama secuencia OntoSakaiWS: CU15 ................................... 217
Figura 79. Diagrama secuencia OntoSakaiWS: CU16 ................................... 217
Figura 80. Diagrama secuencia OntoSakaiWS: CU17 ................................... 218
Figura 81. Diagrama secuencia OntoSakaiWS: CU18 ................................... 218
Figura 82. Diagrama secuencia OntoSakaiWS: CU19 ................................... 219
Figura 83. Diagrama secuencia OntoSakai Resources: CU01 ....................... 220
Figura 84. Diagrama secuencia OntoSakai Resources: CU02 ....................... 221
Figura 85. Diagrama secuencia OntoSakai Resources: CU03 ....................... 222
Figura 86. Diagrama secuencia OntoSakai Resources: CU08 ....................... 223
Figura 87. Diagrama secuencia OntoSakai Resources: CU10 ....................... 224
Figura 88. Diagrama secuencia OntoSakai Browser: CU01 ........................... 225
Figura 89. Diagrama secuencia OntoSakai Browser: CU02 ........................... 226
Figura 90. Diagrama secuencia OntoSakai Browser: CU04 ........................... 227
Figura 91. Diagrama secuencia OntoSakai Browser: CU05 ........................... 228
Figura 92. Diagrama secuencia OntoSakai Browser: CU06 ........................... 229
Figura 93. Diagrama secuencia OntoSakai Browser: CU07 ........................... 230
Figura 94. Comprobacin Java ...................................................................... 231
Figura 95. Descarga Java .............................................................................. 232
Figura 96. Instalacin JDK ............................................................................. 233
Figura 97. Acceso propiedades del sistema ................................................... 233
Figura 98. Propiedades del sistema ............................................................... 234
Figura 99. Propiedades avanzadas del sistema ............................................. 234
Figura 100. Nueva variable de entorno .......................................................... 235
Figura 101. Descarga SVN............................................................................. 236
Figura 102. Instalacin SVN ........................................................................... 237
Figura 103. Descarga Maven ......................................................................... 238
Figura 104. Descarga Tomcat ........................................................................ 239

Figura 105. Catalina Properties ...................................................................... 240


Figura 106. Server Properties ........................................................................ 240
Figura 107. Descarga JDBC........................................................................... 241
Figura 108. Instalacin JDBC ......................................................................... 242
Figura 109. Descarga MySQL Server ............................................................ 243
Figura 110. Instalacin MySQL Server ........................................................... 243
Figura 111. Acceso MySQL CommandLIne ................................................... 244
Figura 112. Creacin de la base de datos ...................................................... 244
Figura 113. Descarga Sakai ........................................................................... 245
Figura 114. Descarga Sakai Completada ....................................................... 246
Figura 115. Ubicacin Sakai.properties .......................................................... 246
Figura 116. Sakai.Properties .......................................................................... 247
Figura 117. Instalacin Sakai ......................................................................... 247
Figura 118. Arranque servidor ........................................................................ 248
Figura 119. Pantalla Login Sakai.................................................................... 248
Figura 120. Apagado Servidor........................................................................ 249
Figura 121. Copia OntoSakaiWS.war ............................................................. 249
Figura 122. Arranque servidor ........................................................................ 250
Figura 123. Listado de servicios OntoSakaiWS ............................................. 251
Figura 124. Copiado Herramientas ................................................................ 252
Figura 125. Instalacin OntoSakai Browser ................................................... 252
Figura 126. Instalacin OntoSakai Resources ............................................... 252
Figura 127. Resultado instalacin herramienta .............................................. 253
Figura 128. Inicio Tomcat ............................................................................... 253
Figura 129. Creacin nuevo sitio (A) .............................................................. 254
Figura 130. Creacin nuevo sitio (B) .............................................................. 254
Figura 131. Creacin nuevo sitio (C) .............................................................. 255
Figura 132. Creacin nuevo sitio (D) .............................................................. 255
Figura 133. Creacin nuevo sitio (E) .............................................................. 256
Figura 134. Creacin nuevo sitio (FINAL) ...................................................... 256
Figura 135. Login OntoSakai Resources ........................................................ 257
Figura 136. Login OntoResources.................................................................. 259
Figura 137. Visin general OntoResources .................................................... 259
Figura 138. Subida de archivo........................................................................ 260

Figura 139. Listado de topics ......................................................................... 260


Figura 140. Listado de recursos relacionados ................................................ 261
Figura 141. Subida completada...................................................................... 261
Figura 142. Crear nuevo topic ........................................................................ 262
Figura 143. Crear nuevo TopicItem ................................................................ 263
Figura 144. Comprobacin topic creado ........................................................ 264
Figura 145. Filtro de listados .......................................................................... 264
Figura 146. Login OntoBrowser...................................................................... 265
Figura 147. Listado de recursos OntoBrowser ............................................... 265
Figura 148. Pestaa recursos relacionados ................................................... 266
Figura 149. Relaciones directas ..................................................................... 266
Figura 150. Relaciones a travs de topicItem ................................................ 267
Figura 151. Relaciones a travs de topic ....................................................... 267
Figura 152. Descarga de recurso ................................................................... 268
Figura 153. Tareas que componen Methontology .......................................... 272

ndice de tablas
Tabla 1. Sistemas LMS ms usados ................................................................ 37
Tabla 2. Eventos generados por la herramienta Recursos .............................. 43
Tabla 3. Puntos de funcin OntoSakaiWS ....................................................... 72
Tabla 4. Factor de complejidad OntoSakaiWS ................................................. 73
Tabla 5. Calculo PF OntoSakaiWS .................................................................. 73
Tabla 6. Puntos de funcin OntoSakai Resources ........................................... 74
Tabla 7. Factor de complejidad OntoSakai Resources .................................... 75
Tabla 8. Calculo PF OntoSakai Resources ...................................................... 75
Tabla 9. Puntos de funcin OntoSakai Browser ............................................... 76
Tabla 10. Factor de complejidad OntoSakai Browser ...................................... 77
Tabla 11. Calculo PF OntoSakai Browser ........................................................ 77
Tabla 12. Calculo tiempo total desarrollo ......................................................... 78
Tabla 13. Detalle de las tareas ......................................................................... 80
Tabla 14. Coste econmico material del proyecto. ........................................... 82
Tabla 15. Conste personal del proyecto ........................................................... 83
Tabla 16. Coste desglosado por tareas del proyecto ....................................... 83
Tabla 17. Coste total del proyecto .................................................................... 84
Tabla 18. Planificacin de tareas real .............................................................. 86
Tabla 19. Glosario de trminos ........................................................................ 93
Tabla 20. Diccionario de conceptos ............................................................... 101
Tabla 21. Relaciones Binarias ........................................................................ 102
Tabla 22. Atributos de instancia ..................................................................... 103
Tabla 23. Instancias ....................................................................................... 103
Tabla 24. Definicin Actor 1 OntoSakaiWS .................................................... 115
Tabla 25. Definicin actor 2 OntoSakaiWS .................................................... 115
Tabla 26. Casos de prueba OntoSakaiWS. .................................................... 122
Tabla 27. Pruebas de esfuerzo. ..................................................................... 123
Tabla 28. Definicin actor OntoSakai Resources ........................................... 131
Tabla 29. Casos de prueba OntoSakai Resources ........................................ 141
Tabla 30. Definicin actor 1 OntoSakai Browser ............................................ 148
Tabla 31. Casos de prueba OntoSakai Browser ............................................ 155
Tabla 32. Pruebas de integracin................................................................... 158

Tabla 33. Caso de uso OntoSakaiWS: CU01 ................................................. 173


Tabla 34. Caso de uso OntoSakaiWS: CU02 ................................................. 174
Tabla 35. Caso de uso OntoSakaiWS: CU03 ................................................. 175
Tabla 36. Caso de uso OntoSakaiWS: CU04 ................................................. 176
Tabla 37. Caso de uso OntoSakaiWS: CU05 ................................................. 177
Tabla 38. Caso de uso OntoSakaiWS: CU06 ................................................. 178
Tabla 39. Caso de uso OntoSakaiWS: CU07 ................................................. 179
Tabla 40. Caso de uso OntoSakaiWS: CU08 ................................................. 180
Tabla 41. Caso de uso OntoSakaiWS: CU09 ................................................. 181
Tabla 42. Caso de uso OntoSakaiWS: CU10 ................................................. 182
Tabla 43. Caso de uso OntoSakaiWS: CU11 ................................................. 183
Tabla 44. Caso de uso OntoSakaiWS: CU12 ................................................. 184
Tabla 45. Caso de uso OntoSakaiWS: CU13 ................................................. 185
Tabla 46. Caso de uso OntoSakaiWS: CU14 ................................................. 186
Tabla 47. Caso de uso OntoSakaiWS: CU15 ................................................. 187
Tabla 48. Caso de uso OntoSakaiWS: CU16 ................................................. 188
Tabla 49. Caso de uso OntoSakaiWS: CU17 ................................................. 189
Tabla 50. Caso de uso OntoSakaiWS: CU18 ................................................. 190
Tabla 51. Caso de uso OntoSakaiWS: CU19 ................................................. 191
Tabla 52. Caso de uso OntoSakai Resources: CU01 .................................... 192
Tabla 53. Caso de uso OntoSakai Resources: CU02 .................................... 193
Tabla 54. Caso de uso OntoSakai Resources: CU03 .................................... 194
Tabla 55. Caso de uso OntoSakai Resources: CU04 .................................... 195
Tabla 56. Caso de uso OntoSakai Resources: CU05 .................................... 196
Tabla 57. Caso de uso OntoSakai Resources: CU06 .................................... 197
Tabla 58. Caso de uso OntoSakai Resources: CU07 .................................... 198
Tabla 59. Caso de uso OntoSakai Resources: CU08 .................................... 199
Tabla 60. Caso de uso OntoSakai Resources: CU09 .................................... 200
Tabla 61. Caso de uso OntoSakai Resources: CU10 .................................... 201
Tabla 62. Caso de uso OntoSakai Browser: CU01 ........................................ 202
Tabla 63. Caso de uso OntoSakai Browser: CU02 ........................................ 203
Tabla 64. Caso de uso OntoSakai Browser: CU03 ........................................ 204
Tabla 65. Caso de uso OntoSakai Browser: CU04 ........................................ 205
Tabla 66. Caso de uso OntoSakai Browser: CU05 ........................................ 206

Tabla 67. Caso de uso OntoSakai Browser: CU06 ........................................ 207


Tabla 68. Caso de uso OntoSakai Browser: CU07 ........................................ 208
Tabla 69. Roles de usuario............................................................................. 258

1. INTRODUCCIN
En este apartado ofrece una visin global sobre el proyecto que se
pretende desarrollar en este trabajo fin de grado. Abarca el proyecto
desde

tres

perspectivas,

motivacin,

definicin

objetivos

que

pretendemos alcanzar como conclusin de este desarrollo.

1.1

Motivacin
Los LMS (Learning Management System) se han consolidado, como
una herramienta flexible y dinmica para la enseanza universitaria a
nivel mundial. Podemos definir LMS o Entorno Virtual de Aprendizaje
como una plataforma, que administra, distribuye y controla las actividades
de formacin de una institucin u organizacin. Define, por tanto, un
entorno de trabajo para apoyar la gestin de contenidos y los procesos
acadmicos, tanto para enseanzas presenciales como a distancia.

De forma genrica, podramos decir que las principales funciones de un


LMS moderno son las siguientes:

Gestionar recursos de usuarios as como materiales y actividades


de formacin

Administrar el acceso, controlar y dar seguimiento del proceso de


aprendizaje

Realizar evaluaciones

Generar informes

Gestionar servicios de aprendizaje colaborativo como foros de


discusin, videoconferencias, entre otros

27

Figura 1. Estructura LMS [27]

La mayora de los LMS comparten una estructura similar, ilustrada por


la figura 1, estn basados en la Web, construidos con diversas
plataformas de desarrollo, como Java, Microsoft .NET o PHP. Por lo
general, emplean el uso de una base de datos como MySQL, Microsoft
SQL Server u Oracle como el almacn de datos de back-end. Aunque la
mayora de los sistemas son desarrollados comercialmente y tienen
licencias de software comercial, hay varios sistemas que tienen una
licencia de cdigo abierto.

El uso de LMS permite mejorar el proceso de enseanza, as como


una mejor calidad y menor coste del proceso de aprendizaje. [24]

Atendiendo a lo expuesto anteriormente, podemos constatar que el uso


de LMS en los entornos educativos supone una serie de ventajas y
mejoras en el proceso formativo. Sin embargo, al margen de estas
ventajas, algunos estudios indican que an existen retos que superar
antes de poder construir un entorno de enseanza completo y exitoso.

Estos retos vienen dados principalmente por la falta de conocimiento


sobre la experiencia y las preferencias de la gran cantidad de estudiantes
y docentes que usan estos sistemas, los cuales, a nivel individual, tienen
diferentes habilidades, preferencias y formas de trabajar. [5]

De este modo, aunque los diferentes tipos de indicadores de uso estn


disponibles en la mayora de los LMS, la ausencia de herramientas para
28

interpretar automticamente dicha informacin delega esta carga de


trabajo en los docentes, que deben buscar una posible correlacin entre
los indicadores del uso y los resultados de los estudiantes de una manera
tediosa y artesanal.

Como resultado de los estudios citados anteriormente, dos aspectos


destacan como los ms inmediatos y asequibles a la hora de mejorar un
LMS

En primer lugar, la personalizacin dentro de un LMS hace


referencia a la adaptacin de los recursos y servicios de aprendizaje
de acuerdo con las necesidades reales del estudiante. Existen
diferentes alternativas (combinables entre s) para conseguir esta
personalizacin: adaptacin de contenido, centrado en bsquedas,
interfaces personalizadas (especialmente para personas con
necesidades especiales) e interfaces dependientes de dispositivos.

En

segundo

lugar,

un

LMS

debe

mostrar

tambin

un

comportamiento proactivo, es decir, debe ser capaz de


recomendar recursos y servicios tanto a los estudiantes en su
proceso de aprendizaje- como a los docentes en las decisiones
sobre la gestin del curso-. Como ejemplo, un LMS con
capacidades de recomendacin podra ser muy til cuando un
estudiante recibe malas calificaciones en una asignatura en
concreto. En este caso, el LMS podra ofrecer nuevas actividades
para ayudarle a detectar sus fallos y recomendarle nuevos
contenidos para reforzar sus conocimientos.
En definitiva, la motivacin de este proyecto nace de la necesidad de
analizar y proponer herramientas y tecnologias para dotar de las
capacidades anteriormente mencionadas a un entorno LMS, con el
objetivo de convertirlo en un entorno, tanto para docencia como para
aprendizaje, ms completo y capaz de adaptarse a las necesidades
especficas de cada tipo de usuario.
29

1.2

Definicin
En el presente trabajo nos basamos en una de las principales
alternativas para llevar a cabo la personalizacin y recomendacin de
servicios en un LMS, basada en el modelado de contexto mediante
ontologas. Las ontologas ofrecen descripciones formales y comunes de
los trminos relacionados con un LMS. Estas descripciones pueden,
adems, ser procesadas y compartidas por otras aplicaciones. Adems,
permiten la extraccin de conocimiento implcito derivado de la
clasificacin y restricciones modeladas en la ontologa. Con todo, las
ontologas son esenciales en un escenario donde la informacin
semntica debe tenerse en cuenta. A medida que el LMS registra un gran
volumen de datos y eventos generados por los usuarios, la semntica de
dichos datos y eventos podran ser capturados y utilizados como entrada
en un sistema sensible al contexto integrado en cualquier LMS.

En este trabajo se sigue la lnea de investigacin basada en el


modelado a travs de ontologas como una solucin para ofrecer
personalizacin y recomendacin en el contexto de un LMS. [28]

Completando el trabajo realizado en la investigacin anteriormente


citada, lo primero que haremos ser integrar las ontologas propuestas en
el artculo con una ontologa de perfilado y una ontologa de evaluacin de
competencias [9]. Como resultado, se obtiene un modelo de conocimiento
llamado OntoSakai capaz de representar informacin semntica sobre los
componentes de un LMS, perfiles de los estudiantes y docentes y de los
resultados acadmicos. Sobre la base de este modelo, se definen varias
reglas de experto encaminadas a crear servicios de personalizacin y
recomendacin. Como prueba de concepto, integramos nuestro sistema
sensible al contexto en Sakai, un sistema LMS conocido a nivel mundial y
que, actualmente, se est usando en UCAM.

En este trabajo, centraremos el esfuerzo en conseguir una integracin


completa y funcional de OntoSakai con el ya mencionado, LMS utilizado
30

en la universidad, Sakai. De forma que desarrollaremos, como soporte


para posibilitar el acceso desde nuestro LMS a la ontologa, una
aplicacin de tipo servicio Web, que denominaremos OntoSakaiWS.

OntoSakaiWS, cuenta, tanto con funciones de lectura como de


escritura, as como una serie de mtodos encargados de mantener la
integridad referencial y la coherencia dentro de la ontologa.

Finalmente, con el objetivo de demostrar empricamente que nuestro


desarrollo es realmente capaz de dotar de capacidades semnticas a un
LMS, se desarrollarn dos aplicaciones (tools

en la terminologa de

Sakai) capaces de gestionar recursos dentro el entorno LMS, con el valor


aadido de aportar informacin semntica a estos recursos.

Estas dos aplicaciones a desarrollar son:

OntoSakai Resources: Para la subida de archivos, similar a la


herramienta Recursos de Sakai pero con capacidades
semnticas.

OntoSakai Browser: Como aplicacin de gestin de recursos y


recomendacin de los mismos.

Cabe destacar que estas aplicaciones deben integrarse dentro del


entorno de Sakai, por lo que debemos desarrollarlas siguiendo su
arquitectura especfica y tratando de que se integren lo mejor posible,
tanto con Sakai, como con nuestra ontologa, OntoSakai.

31

1.3

Objetivos
Los objetivos generales y especficos que se pretenden conseguir
mediante la realizacin de este trabajo fin de grado son:

OG1. Integrar una serie de ontologas, previamente desarrolladas por


el departamento de Ingeniera Informtica de UCAM, que conforman el
modelo ontolgico OntoSakai.

OE1.1. Analizar las diferentes ontologas y establecer las bases


para la integracin.
OE1.2. Establecer los nuevos elementos, relaciones y/o atributos
que debemos generar.
OE1.3. Implementar la integracin de las ontologas que
componen OntoSakai mediante el lenguaje correspondiente.

OG2. Desarrollar un servicio Web fcilmente escalable y adaptable,


que acte a modo de interface entre la ontologa y el entorno LMS
permitiendo la comunicacin e interoperabilidad entre ambos.

OG3. Desarrollar dos herramientas de gestin de recursos dentro del


LMS Sakai.

OE3.1. Herramienta para la subida de recursos al campus virtual


que permita adherir contenido semntico a los recursos subidos.
OE3.2. Herramienta para la visualizacin y descarga de los
recursos subidos. Esta herramienta debe incluir un servicio de
recomendacin de recursos relacionados.

32

2. ESTADO DEL ARTE


2.1

Conceptos relevantes del dominio de la aplicacin.


En este apartado vamos a tratar los aspectos ms relevantes
relacionados con los desarrollos llevados a cabo en este trabajo. Hemos
organizado este apartado en dos grandes subapartados, de forma que
podamos tratar cada elemento de forma independiente, a fin de ofrecer
una visin completa y correcta de los hitos de este proyecto. Estas
secciones son: Sakai y OntoSakai.

2.1.1 Sakai.

En este apartado vamos a describir los aspectos de Sakai ms


relevantes para el desarrollo de nuestro trabajo fin de grado.

Sakai es uno de los LMS ms populares actualmente, usado por


diversas instituciones y universidades. Podemos definir Sakai como un
Entorno Virtual de Aprendizaje desarrollado inicialmente por las
universidades de Michigan e Indiana y puesto a disposicin de la
comunidad como una plataforma de software libre. Actualmente, el
proyecto est gestionado por la Fundacin Sakai, compuesta por ms de
100 universidades de todo el mundo.

Sakai posee multitud de funcionalidades orientadas a mejorar la


experiencia educativa y facilitar la labor de los docentes.

Sakai conforma un sistema completo que est formado por diferentes


sitios (Equivalente a una asignatura) en los cuales los alumnos pueden
hacer uso de diferentes servicios (Herramientas puestas a disposicin por
parte del equipo docente).

33

En nuestro caso, nos centraremos en la herramienta Recursos la cual


pretendemos mejorar, dotndola de informacin semntica.
La herramienta Recursos permite a los docentes subir archivos desde
su equipo al Campus Virtual. En el momento actual, cada recurso subido
pertenece a un sitio (Asignatura) concreto, y puede usarse nicamente en
el mbito de ese sitio.

Los alumnos, por su parte, pueden hacer uso de esta herramienta para
visualizar los recursos contenidos en los sitios a los que tengan acceso y,
en caso de que as lo requieran, descargarlos.

Sin embargo, esta herramienta carece de las capacidades de


recomendacin de recursos, por lo que su funcin se limita a ofrecer los
recursos subidos, sin ms informacin respecto a ellos o respecto a las
reas de conocimiento que tratan.

2.1.2 OntoSakai.
OntoSakai es la denominacin que adopta el modelo ontolgico que
pretendemos construir como ncleo del presente trabajo fin de grado.
Estar construido sobre la base de informacin de contexto de Sakai
(aplicable, con mnimas modificaciones a otros LMS) para lograr las
caractersticas de personalizacin y recomendacin. El objetivo de este
modelo ontolgico es representar y razonar sobre el proceso de
aprendizaje basado en la clasificacin de todo el material educativo
disponible en el Campus Virtual (por ejemplo, recursos, tareas,
exmenes, foros de discusin, chats, etc.), teniendo en cuenta su
contenido, adecuacin y uso, entre otros, y la generacin de perfiles de
usuario (tanto para estudiantes como para docentes), teniendo en cuenta
los eventos generados por los mismos. Estos eventos son almacenados
automticamente por Sakai dentro de la tabla Events de la base de datos.

34

En primer lugar, la clasificacin del material ayudar a los estudiantes a


encontrar los recursos necesarios de manera ms eficiente. Esta es la
base para lograr recomendaciones automatizadas tanto para estudiantes
como para docentes. En segundo lugar, el perfil de usuario tambin
permite a las recomendaciones en relacin con el tipo de actividad que los
usuarios realizan en el LMS.

OntoSakai abarca varias reas del proceso de aprendizaje al que da


soporte un LMS. La figura 2 muestra una representacin esquemtica de
las partes fundamentales de OntoSakai, resaltando los conceptos ms
relevantes en cada rea. El modelo se construir sobre la base de varias
ontologas previamente desarrolladas por profesores del departamento. A
continuacin se detallan y describen estas ontologas para su mejor
comprensin:

1. SakaiCoreOnt, representa las herramientas bsicas ofrecidas por un


LMS y los elementos contenidos en las mismas, es decir, los recursos de
un curso especfico, las discusiones del foro, los mensajes de chat, etc.

2. SakaiClassificationOnt, que se ocupa principalmente de la


clasificacin semntica de todos los elementos en Sakai, a saber, todo el
material disponible de cada herramienta en cada curso.

3. OntoCompetence, que se ocupa de la evaluacin de los alumnos,


teniendo en cuenta sus resultados de aprendizaje, calificaciones
obtenidas en las competencias que se espera que adquieran en cada
curso, etc. Esta ontologa tambin define varios conceptos necesarios
para representar el proceso de aprendizaje, como participantes
(estudiantes o docentes) y asignaturas (cursos).

4. SakaiProfileOnt, que se ocupa de la representacin de la


informacin de los perfiles de usuarios valindose para ello de los eventos
que producen dentro de Sakai.

35

Figura 2. Visin general de OntoSakai [28]

2.2

Relacin con proyectos con la misma funcionalidad.


En este apartado del trabajo fin de grado, analizaremos los LMS ms
relevantes, as como las principales iniciativas para integrar sistemas
expertos en los mismos y desarrollar tcnicas de perfilado de usuarios
mediante ontologas. Como veremos a continuacin, existe un incipiente
mbito de trabajo en el rea de la integracin semntica dentro de los
LMS para proveerlos de sistemas expertos.
La encuesta del Campus Computing Project [33] datada en 2013
pone de manifiesto la continua transicin del mercado de la educacin
superior hacia los sistemas LMS. La encuesta aborda las herramientas
comerciales y de cdigo abierto con mayor nivel de adopcin en este
mbito. Estas herramientas estn resumidas en la tabla 1.

36

Sistemas de gestin de aprendizaje ms usados


Software libre

Comerciales

Blackboard/Angel/WEBCT (1997)

Moodle (2002)

Desire2Learn (1999)

Sakai (2004)

Pearsons eCollege (2007)

Canvas by instructure (2012)

Tabla 1. Sistemas LMS ms usados

Estos sistemas cuentan con diferentes herramientas orientadas a la


recopilacin

de

indicadores

de

uso

el

rendimiento,

siendo

responsabilidad de los profesores de su interpretacin. As, identificamos


la falta de estudios de posibles correlaciones entre los indicadores
especficos proporcionados por un LMS (por ejemplo, Sakai) y las
herramientas para ayudar a los profesores en los procesos de toma de
decisiones. Tambin sera deseable aprovechar el conocimiento que, ao
tras ao, se genera de forma natural cuando se utiliza un LMS con el fin
de detectar proactivamente comportamientos y patrones que puedan
generar problemas acadmicos o de gestin.

En general, todos los LMS antes mencionados ofrecen varias


herramientas comunes para el establecimiento de estrategias para la
gestin de cursos [6]. Sin embargo, ninguno de ellos ofrece servicios de
personalizacin y/o recomendaciones a los docentes y estudiantes
basadas en el anlisis de la clasificacin de los contenidos disponibles as
como de los indicadores de uso.

Por otro lado, existe un incipiente mbito de trabajo centrado en la


importancia de combinar la semntica con el conocimiento experto para
ofrecer servicios de recomendacin en el LMS. Un reciente trabajo [16]
seala la conveniencia de utilizar las tecnologas orientadas a la web
semntica para mejorar el modelo de sistema de soporte para la toma
decisiones dentro de un LMS. Un excelente estudio se da en este trabajo
donde se han identificado varios estudios anteriores para extender las
caractersticas de un LMS a travs de tecnologas de la web semntica
37

(por ejemplo, sistemas de tutora o la bsqueda de materiales de


aprendizaje

previamente

etiquetados

con

informacin

semntica).

Propone una arquitectura y un modelo de conocimiento para desarrollar


una herramienta inteligente para los servicios de recomendacin en un
LMS, pero sin mostrar detalles acerca de la ontologa, en la que todava
estn trabajando. Los autores tambin utilizan reglas como SWRL para
implementar servicios de recomendacin. No se incluyen caractersticas
de personalizacin en este trabajo por el momento. Cabe destacar que,
gracias a las propiedades de las ontologas, en un hipottico futuro, sera
posible integrar OntoSakai con una ontologa fruto de este trabajo.

Existen otros trabajos que tratan los sistemas expertos como base para
habilitar servicios de recomendacin en LMS. Por ejemplo, en un reciente
trabajo [15], se presentan dos sistemas basados en reglas expertas cuyo
objetivo es recomendar cursos para estudiantes de pregrado. Una
plataforma de e-learning, basada en sistemas expertos, fue propuesta en
[32] para ensear probabilidad en el mbito de la escuela secundaria y
recomendar tareas de acuerdo con currculo turco para el curso de
matemticas en escuela secundaria. Por ltimo, existen otros trabajos
donde los problemas con el uso de sistemas de e-learning se mejoran
utilizando sistemas expertos, especialmente orientada a la solucin de la
sobrecarga cognitiva y los problemas de desorientacin [19] y los
comportamientos de resolucin de dudas online de los docentes [20].
Cabe destacar que estas soluciones se enfocan a resolver problemas
concretos, mientras que OntoSakai propone una solucin general y
personalizable. Adems, estos trabajos no tienen en cuenta la informacin
semntica disponible dentro de un LMS, mientras que, para OntoSakai,
esta informacin es la base.

Por ltimo, vale la pena mencionar otras interesantes propuestas de


sistemas de recomendacin para LMS que no estn basados en el uso de
sistemas expertos, como por ejemplo el uso de la Web 2.0 Entornos
Personales de Aprendizaje (PLE)[35], el uso de servicios Web [4], o
tcnicas de minera de datos [30].
38

2.3

Estudio de viabilidad.

2.3.1 Alcance del proyecto.


Dada la gran complejidad y magnitud que puede llegar a alcanzar el
desarrollo de un sistema como el propuesto, se hace patente la necesidad
de definir un alcance que sea capaz de abarcar todos los objetivos
propuestos inicialmente as como de dar cabida a futuros desarrollos
dentro de esta misma lnea de trabajo, al mismo tiempo que permita
acotar la realizacin del mismo al tiempo existente para la realizacin del
presente trabajo fin de grado.
Ha sido una ardua tarea delimitar el alcance del presente trabajo fin de
grado, debido, principalmente, a que el gran abanico de posibilidades
abierto en un primer momento, generaba una tendencia a realizar un
desarrollo completo de todas las soluciones posibles.

Dada la imposibilidad de tomar esta opcin, por cuestiones meramente


temporales, se ha delimitado el presente proyecto al desarrollo de una
slida base para la integracin de OntoSakai con Sakai y la construccin
de una serie de aplicaciones que permiten la recomendacin de recursos
a los usuarios del mismo.

Para una correcta definicin del alcance de este proyecto se adjunta la


Figura 3, que muestra de forma visual, tanto el alcance del presente
proyecto como las potenciales vas futuras que se abren a raz del mismo.

39

Figura 3. Alcance del proyecto

En la Figura 3, podemos ver, sealado por un recuadro verde, el


mbito de desarrollo que abarca el presente proyecto. Como puede
observarse, los desarrollos a realizar van desde la integracin de las
diferentes ontologas que componente OntoSakai, la creacin de un
servicio Web que nos permita acceder a ellas desde el sistema de gestin
del aprendizaje, hasta el desarrollo de dos aplicaciones integradas dentro
del propio Sakai. Estas aplicaciones deben permitir trabajar dentro del
mbito de recursos, tanto a docentes como a estudiantes, con recursos
clasificados con contenido semntico, permitiendo la recomendacin de
los mismos.

El mbito completo que representan las posibilidades que ofrece


OntoSakai pasa por la creacin e integracin de nuevas aplicaciones y
funcionalidades dentro de Sakai. Esta integracin se basar en el trabajo
ya realizado en este trabajo fin de grado.

40

2.3.2 Estudio de la situacin actual.


En esta seccin vamos a analizar la situacin actual del LMS Sakai,
trataremos de manera general todo su entorno.

Con el fin de garantizar las funciones ms requeridas por los


estudiantes y docentes, Sakai proporciona un conjunto de herramientas
bsicas que son adoptadas por la prctica totalidad de las entidades que
utilizan Sakai. Las herramientas bsicas de Sakai pueden ser agrupadas
de la siguiente manera:

Herramientas comunicativas: Anuncios, Mensajes, Calendario,


Noticias, etc.

Herramientas colaborativas: Foro de Discusin, Wiki, chat, etc.

Herramientas de contenido: Recursos, Podcast, etc.

Herramientas de evaluacin: tareas, test, etc.

Herramientas de monitoreo: Estadsticas, Mi rea de trabajo,


etc.

Todas las herramientas disponibles no estn incluidas en los sitios de


los cursos de forma predeterminada. Un subconjunto especfico de
herramientas puede ser utilizado por los docentes con el fin de organizar,
supervisar y controlar los cursos en Sakai. Los docentes deben organizar
sus cursos y decidir que herramientas incluir dentro de los mismos. Estas
herramientas indican a los estudiantes qu tipo de contenido est
disponible para cada asignatura, cmo las tareas individuales deben
llevarse a cabo, o la proximidad de los plazos para las tareas y exmenes,
entre otros.

La figura 4 muestra las herramientas ms usadas dentro del campus


virtual de la Universidad Catlica de Murcia. La actividad dentro del LMS
ha sido estimada teniendo en cuenta el nmero de eventos de creacin y
lectura para cada herramienta dentro del campus virtual.

41

Figura 4. Aplicaciones ms usadas en UCAM [28]

Si atendemos a los datos arrojados por la Ilustracin 8, podemos ver


que la herramienta ms utilizada es Resurces, esta herramienta es la
encargada de gestionar los contenidos dentro del campus virtual,
permitiendo su subida y posterior visionado. Es por esto, que nos hemos
centrado en esta herramienta para el desarrollo de este proyecto, siendo
el objetivo del mismo, generar una herramienta con similares funciones
adems de las relacionadas con los servicios de recomendacin basados
en conocimiento experto.

A continuacin vamos a analizar los mecanismos con los que cuenta


Sakai actualmente para poder valorar y analizar la actividad de los
usuarios dentro del entorno del campus virtual.

2.3.2.1

Registro y anlisis de la actividad de usuario en Sakai.

El uso diario que los usuarios hacen del LMS queda registrado dentro
del mismo en forma de eventos, estos eventos son almacenados en la
base de datos de Sakai, de forma que cada evento realizado por un
usuario concreto en una herramienta determinada genera una nueva
ocurrencia en la tabla destinada a este fin.

42

Los principales tipos de eventos que Sakai almacena son los


siguientes:

Create/New: Se genera cuando se crea un nuevo elemento


dentro de una herramienta determinada.

Delete: Se genera cuando un elemento dentro de una


herramienta es eliminado.

Revise: Se genera cuando un elemento, que previamente


exista dentro de una herramienta, es modificado.

Read: Se genera cuando un elemento es accedido por un


usuario.

Response: Se genera cuando los usuarios participan en las


herramientas colaborativas.

Submit: Se genera cuando los estudiantes envan sus


respuestas a una tarea.

La tabla 2 nos muestra los tipos de eventos generados por la


herramienta Recursos, herramienta que pretendemos mejorar en este
trabajo fin de grado.

Herramienta

Create/New

Resources

Delete

Revise

Read

Response

Submit

Tabla 2. Eventos generados por la herramienta Recursos

En nuestro caso, capturaremos estos eventos en las nuevas


aplicaciones desarrolladas obteniendo un registro similar al conseguido
cuando se emplea la herramienta Recursos por defecto.

2.3.2.2

Conclusiones del estado actual.


Como ha quedado patente, las herramientas de Sakai estn basadas

en la gestin manual por parte de los usuarios, evidenciando la ausencia


de un mecanismo que permita al docente establecer relaciones de
recomendacin entre los recursos, ya sea por sus reas de conocimiento
43

o bien por designacin directa por parte de este, y al alumno recibir dichas
recomendaciones de forma sencilla y clara.

Se hace patente la acuciante necesidad de un mecanismo sencillo


mediante el cual podamos dotar al campus virtual de servicios de
recomendacin mediante la integracin en el mismo de una base de
conocimiento

experto

que

pueda

interactuar

con

las

diferentes

herramientas.

2.3.3 Estudio y valoracin de las alternativas de solucin


En este apartado vamos a valorar las diferentes soluciones posibles
para el desarrollo de este trabajo fin de grado. De igual modo que hicimos
en secciones anteriores, vamos a dividir este apartado, de forma que
podamos tratar de forma independiente cada uno de los elementos a
desarrollar.

2.3.3.1

Integracin de las diferentes ontologas que conforman OntoSakai.


La primera tarea a acometer para la realizacin de este trabajo fin de

grado ser la de generar OntoSakai de forma que obtengamos un modelo


ontolgico completo y funcional.

OntoSakai est compuesto a su vez por otras 4 ontologas


independientes. Para poder generar OntoSakai, es necesario unirlas,
modificando sus atributos, y establecer nuevas relaciones Object
properties entre los diferentes elementos de las mismas.

Para realizar esta tarea se valoraron diferentes alternativas que se


enumeran a continuacin:

Realizar la edicin de cada ontologa aadiendo los nuevos


elementos de forma manual mediante un editor de texto.

44

Realizar la edicin de las ontologas mediante una aplicacin que


nos provea de interface grfica, como podra ser Proteg.

Finalmente, y tras analizar las posibles opciones para esta etapa del
desarrollo, nos hemos decidido por usar Proteg, ya que consideramos
que nos ofrece las opciones de edicin suficientes para nuestro objetivo,
amn de ser muy til a la hora de eludir posibles fallos y errores que
podran darse mediante la edicin manual de las ontologas. Adems,
Proteg nos ofrece un motor de consulta SPARQL que nos ser de gran
utilidad a lo largo del desarrollo de nuestra aplicacin, ya que SPARQL es
el lenguaje de consulta que emplearemos para interrogar el modelo
ontolgico con el fin de obtener la informacin semntica necesaria para
el desarrollo de nuestra aplicacin.

2.3.3.2

Integracin de OntoSakai con Sakai.


Con respecto a la integracin de nuestra nueva ontologa con el LMS,

se ha decidido construir un servicio Web que acte a modo de


intermediario entre ambos. Se ha tomado esta decisin debido a la
versatilidad que ofrece, creando un elemento totalmente independiente de
Sakai y que podra adaptarse, en un futuro, para su uso en aplicaciones
no necesariamente ligadas al LMS.

A este respecto, en el captulo 4, apartados 4.1.2 y 4.2 de este trabajo


se detallan las herramientas y lenguajes de programacin empleados.

2.3.3.3

Desarrollo de aplicaciones dentro de Sakai.


En este caso en particular, las alternativas a valorar no son

demasiadas, ya que, para desarrollar una herramienta que pueda ser


integrada en Sakai, debemos seguir una estricta gua de diseo
proporcionada por la propia comunidad de desarrollo. Si bien, partiendo
de estas premisas hemos podido tomar una serie de decisiones para
adecuar el desarrollo a nuestras necesidades.
45

A este respecto, hemos querido seguir la lnea de desarrollo marcada


por los desarrollos propios de la universidad en el campus virtual de
UCAM y cuyos detalles analizaremos en la seccin 4 de este documento.

46

47

3. METODOLOGIAS USADAS
En esta seccin vamos a estudiar diferentes metodologas disponibles
para cada fase del desarrollo de este proyecto y analizaremos, en cada
caso, la metodologa escogida destacando los motivos de esta eleccin.

La complejidad que supone el proceso de desarrollo de software y la


creciente necesidad de construir sistemas que cumplan con los requisitos
de los usuarios de forma completa y correcta ha llevado, a lo largo de los
aos, al desarrollo de diversas metodologas de modelado. Estas
metodologas pretenden ser un modelo unificado en el cual los
desarrolladores puedan basarse a la hora de completar el proceso de
desarrollo de software.

Existen diversas metodologas que pueden ser adoptadas para los


desarrollos segn las necesidades de cada caso en particular.

En nuestro caso, debido a la peculiaridad del desarrollo que vamos a


llevar a cabo, hemos dividido esta seccin en varios apartados, a fin de
explicar cada caso con el mayor detalle posible.

3.1

Recogida de requisitos: IEEE 830.


Para que un proyecto de desarrollo de software pueda tener xito es
crucial realizar una comprensin total de los requerimientos del software a
disear.

En la etapa del anlisis y la especificacin de requisitos, tanto el


cliente, como el desarrollador juegan un rol fundamental, debido a que el
primero se encarga de describir las necesidades que le apremian,
mientras que el segundo es el encargado de dar solucin a dichas
necesidades. Debido a que la especificacin es complicada de detallar,
desde el comienzo del desarrollo de los sistemas se ha tratado de realizar

48

una adecuada identificacin de los requisitos del sistema derivados de las


necesidades de los usuarios.

En nuestro caso, para la realizacin del proceso de toma de requisitos


hemos optado por seguir el estndar IEEE 830. [1]

Mediante la adopcin de este estndar se siguen una serie de


recomendaciones que garantizan una especificacin de requisitos
correcta y completa.

Las principales ventajas que proporciona el uso de este estndar son:

El cliente puede describir claramente lo que desea.

El analista tiene una visin clara de las necesidades del cliente.

Establece las bases para el contrato de desarrollo

Reduce el esfuerzo de anlisis, diseo y programacin.

Sirve

como

referencia

para

validar

probar

el

software

desarrollado.

Segn especifica este estndar, las principales caractersticas que


debe cumplir nuestro documento de especificacin de requisitos (SRS)
son las siguientes:

Debe ser correcto.

No ambiguo.

Completo.

Verificable.

Consistente.

Clasificado.

Modificable.

Exportable.

til para las tareas de mantenimiento.

49

3.2

Modelado del sistema.


En este apartado vamos a analizar las metodologas que hemos
empleado para modelar cada uno de los elementos del sistema.

3.2.1 Modelado de OntoSakai.

Para el modelado final de la ontologa, a pesar de que las ontologas


que conforman OntoSakai ya han sido diseadas con anterioridad, es
importante resaltar la tarea de integracin e implementacin de dichas
ontologas que nos ocupa en este trabajo fin de grado tambin necesita
de un proceso metodolgico. Para ello hemos utilizada la metodologa
Methontology [41].

Esta metodologa tiene sus races en las actividades identificadas por


el proceso de desarrollo de software propuesto por la organizacin IEEE.

Methontology proporciona guas sobre cmo llevar a cabo el desarrollo


de la ontologa a travs de las actividades de especificacin,
conceptualizacin, formalizacin, implementacin y mantenimiento. A
continuacin se describe brevemente en qu consiste cada una de estas
actividades:

La actividad de especificacin permite determinar por qu se


construye la ontologa, cul ser su uso, y quines sern sus
usuarios finales.

La actividad de conceptualizacin se encarga de organizar y


convertir

una

percepcin

informal

del dominio

en

una

especificacin semi-formal, para lo cual utiliza un conjunto de


representaciones intermedias (RRII), basadas en

notaciones

tabulares y grficas, que pueden ser fcilmente comprendidas


por los expertos de dominio y los desarrolladores de ontologas.

50

El resultado de esta actividad es el modelo conceptual de la


ontologa.

La actividad de formalizacin se encarga de la transformacin


de dicho modelo conceptual en un modelo formal o semicomputable.

La

actividad

de

implementacin

construye

modelos

computables en un lenguaje de ontologas (Ontolingua, RDF


Schema, OWL, etc.). La mayor parte de las herramientas de
ontologas permiten llevar a cabo esta actividad de manera
automtica.

La actividad de mantenimiento se encarga de la actualizacin


y/o correccin de la ontologa, en caso necesario.

En nuestro caso, debido a la particularidad de este desarrollo, hemos


realizado un diseo completo del modelo ontolgico, partiendo de las
ontologas disponibles, centrndonos en las tareas de formalizacin e
integracin.

Para evitar extendernos ms en este apartado, el Anexo E contiene


una descripcin ms detallada de esta metodologa.

3.2.2 Modelado de OntoSakaiWS y las herramientas a integrar dentro del


campus.
En estos dos casos particulares, vamos a analizar varias posibilidades
planteadas para llevar a cabo el modelado de estas dos partes
fundamentales dentro del desarrollo de este trabajo fin de grado. Como
son, desarrollo en cascada [42], desarrollo en espiral [43] y desarrollo en
cascada con prototipado rpido [44]. Posteriormente indicaremos cul de
ellas hemos escogido, analizando sus ventajas frente a la opcin
descartada.
51

3.2.2.1

Modelo de desarrollo en cascada.


En Ingeniera de Software el desarrollo en cascada, tambin llamado

modelo

en

cascada,

es

el

enfoque

metodolgico

que

ordena

rigurosamente las etapas del proceso para el desarrollo de software, de


tal forma que el inicio de cada etapa debe esperar a la finalizacin de la
etapa anterior.

Un enfoque clsico de una metodologa de desarrollo en cascada sigue


los siguientes pasos:

1. Anlisis de requisitos.
2. Diseo del Sistema.
3. Diseo del Programa.
4. Codificacin.
5. Pruebas.
6. Implantacin.
7. Mantenimiento.

De esta forma, cualquier error de diseo detectado en la etapa de


prueba conduce necesariamente al rediseo y nueva programacin del
cdigo afectado, aumentando los costos del desarrollo. La palabra
cascada sugiere, mediante la metfora de la fuerza de la gravedad, el
esfuerzo necesario para introducir un cambio en las fases ms avanzadas
de un proyecto.

A continuacin vamos a detallar las diferentes fases de este paradigma


de desarrollo adaptndolas a nuestro desarrollo en particular.

Anlisis de requisitos: En nuestro caso, como hemos citado

anteriormente, la obtencin y anlisis de los requisitos de software se


har mediante IEEE830. Detallado en el captulo 3.1.

52

Diseo del sistema: En esta fase, se tomarn las decisiones

sobre la arquitectura a emplear y los diferentes subsistemas necesarios.

Diseo del programa: Se disean las diferentes soluciones que

integran nuestro sistema.

Codificacin: Consiste en generar los componentes de software

anteriormente diseados.

Pruebas: Se desarrollar un plan de pruebas que permita verificar

la completitud y correccin del software desarrollado.

Implantacin: Se implantar el software en un entorno real para

comprobar su correcta integracin y funcionamiento.

Mantenimiento: Resaltar que no es objetivo de este trabajo fin de

grado abarcar la fase de mantenimiento del sistema desarrollado.

En la Figura 5 podemos ver, de forma grfica, las diferentes etapas de


esta metodologa de desarrollo.

Figura 5. Desarrollo en cascada [7]

53

3.2.2.2

Modelo de desarrollo en espiral.


El desarrollo en espiral es un modelo de ciclo de vida del software

definido por primera vez por Barry Boehm en 1986, utilizado


generalmente en la Ingeniera de software. Las actividades de este
modelo se conforman en una espiral, en la que cada bucle o iteracin
representa un conjunto de actividades. Las actividades no estn fijadas a
ninguna prioridad, sino que las siguientes se eligen en funcin del anlisis
de riesgo, comenzando por el bucle interior.

El modelo de desarrollo en espiral tiene en cuenta fuertemente el


riesgo que aparece a la hora de desarrollar software. Para ello, se
comienza mirando las posibles alternativas de desarrollo, se opta por la
de riesgo ms asumible y se hace un ciclo de la espiral. Si el cliente
quiere seguir haciendo mejoras en el software, se vuelve a evaluar las
distintas nuevas alternativas y riesgos y se realiza otra vuelta de la
espiral, as hasta que llegue un momento en el que el producto software
desarrollado sea aceptado y no necesite seguir mejorndose con otro
nuevo ciclo.

Bsicamente consiste en una serie de ciclos que se repiten en forma


de espiral, comenzando desde el centro. Se suele interpretar como que
dentro de cada ciclo de la espiral se sigue un Modelo Cascada, pero no
necesariamente debe ser as.

Al ser un modelo de desarrollo orientado a la gestin de riesgo se dice


que uno de los aspectos fundamentales de su xito radica en que el
equipo que lo aplique tenga la necesaria experiencia y habilidad para
detectar y catalogar correctamente los riesgos.

En la Figura 6 podemos ver, de forma grfica, los pasos que sigue el


modelo de desarrollo en espiral.

54

Figura 6. Modelo de desarrollo en espiral. [2]

3.2.2.3

Eleccin del modelo de desarrollo.


Finalmente, para el desarrollo tanto del servicio Web como de las

herramientas a integrar en Sakai, nos hemos decantado por el modelo de


desarrollo en cascada. La decisin se debe a que los requisitos han sido
fuertemente definidos desde el inicio del desarrollo y este modelo nos
permitir estructurar el desarrollo de forma que obtengamos una serie de
hitos cerrados sin los cuales no nos sera posible continuar con el
desarrollo.

Asumir este modelo de desarrollo, sin embargo, conlleva una serie de


riesgos que debemos asumir. El ms importante de ellos tiene que ver
con que los errores de anlisis y diseo son difciles de eliminar, y se
propagan a las etapas siguientes con un efecto conocido como bola de
nieve.

Para evitar este efecto vamos a adoptar una variante del modelo de
desarrollo en cascada, conocida como Modelo en cascada con
prototipado rpido.
55

El modelo en cascada con prototipado rpido consiste en construir,


durante la fase de anlisis, un prototipo rpido, que ayudar a refinar y
validar la especificacin de requisitos.

Despus, este prototipo se desecha y el desarrollo prosigue en


cascada, con mayor seguridad de que los requisitos se han especificado
correctamente. En la figura 7, podemos observar el ciclo que sigue este
modelo de desarrollo.

Figura 7. Modelo de desarrollo en cascada con prototipado rpido. [39]

56

4. TECNOLOGIAS Y HERRAMIENTAS USADAS EN EL


PROYECTO
Para el desarrollo llevado a cabo en este TFG se han empleado una
serie de tecnologas y herramientas que se enumeran, detallan y explican
en el presente capitulo.

4.1

Tecnologas empleadas.
En este apartado vamos a definir los diferentes lenguajes de
programacin, modelos de datos, protocolos y frameworks que hemos
necesitado en el desarrollo del presente trabajo fin de grado.

4.1.1 Desarrollo de la ontologa.


4.1.1.1

RDF.
El modelo de datos RDF [23] es similar a los enfoques de modelado

conceptual clsicos como entidad-relacin o diagramas de clases, ya que


se basa en la idea de hacer declaraciones sobre los recursos (en
particular, recursos web) en forma de expresiones sujeto-predicadoobjeto. Estas expresiones son conocidos como triples en terminologa
RDF. El sujeto indica el recurso y el predicado denota rasgos o aspectos
del recurso y expresa una relacin entre el sujeto y el objeto. Por ejemplo,
una forma de representar la idea de "El cielo tiene el color azul" en RDF
es como el triple de un objeto que denota "el cielo", un predicado que
denota "tiene el color" y un objeto que denota "azul". Por lo tanto RDF
cambia objeto por sujeto que se utilizara en la notacin clsica de un
modelo entidad-atributo-valor en diseo orientado a objetos, objeto (el
cielo), atributo (color) y el valor (azul). RDF es un modelo abstracto con
varios formatos de serializacin (es decir, los formatos de archivo), por lo
que la forma particular en que se codifica un recurso o triple vara de un
formato a otro.

57

Este mecanismo para describir recursos es un importante componente


de la actividad de la Web Semntica de W3C: una etapa evolutiva de la
World Wide Web en la que el software automatizado puede almacenar,
intercambiar y utilizar informacin legible por mquina distribuida a travs
de la Web, lo que a su vez, permite a los usuarios manejar la informacin
con mayor eficiencia y seguridad. El modelo de datos simple de RDF y la
capacidad de modelar diferentes, conceptos abstractos, tambin ha
llevado a su uso creciente en la gestin del aplicaciones del conocimiento
no relacionadas con la actividad en la Web Semntica.

4.1.1.2

OWL.
OWL (W3C Web Ontology Language) [26] es un lenguaje web

semntico diseado para representar conocimiento rico y complejo sobre


elementos, grupos de elementos y las relaciones entre ellos. OWL es un
lenguaje basado en lgica computacional, por tanto, el conocimiento
expresado en OWL puede ser explotado por aplicaciones.

OWL est basado en gran medida en RDF, no en vano, est construido


sobre las bases de este, sin embargo, OWL presenta un avance
significativo respecto a RDF. Esto es debido a que define una serie de
operadores que aportan complejidad permitiendo una expresividad mucho
ms amplia. Estos operadores hacen referencia, en gran parte, al modo
en el que debemos escribir los conceptos. De forma que deben estar
claramente separadas las propiedades de objetos de las de datos. Algo
que no estaba presente en RDF.

En sntesis, podramos decir que RDF especifica que elementos


debemos definir para describir un modelo ontolgico, mientras que es
OWL el que nos indica cmo debemos definirlos mediante una serie de
reglas y operadores.

58

4.1.1.3

SPARQL.
SPARQL [34] es un lenguaje estandarizado para la consulta de grafos

RDF, normalizados por el RDF Data Access Working Group (DAWG) del
World Wide Web Consortium (W3C). Es una tecnologa clave en el
desarrollo de la Web Semntica que se constituy como Recomendacin
oficial del W3C el 15 de enero de 2008.

Al igual que sucede con SQL, es necesario distinguir entre el lenguaje


de consulta y el motor para el almacenamiento y recuperacin de los
datos. Por este motivo, existen mltiples implementaciones de SPARQL,
generalmente ligados a entornos de desarrollo y plataformas tecnolgicas.

En un principio SPARQL nicamente incorporaba funciones para la


recuperacin sentencias RDF. Sin embargo, algunas propuestas tambin
incluyen operaciones para el mantenimiento (creacin, modificacin y
borrado) de datos.

4.1.2 Desarrollo de OntoSakaiWS.


4.1.2.1

Apache Jena.
Apache Jena [3] es un framework Java para construir aplicaciones

basadas en ontologas.

Jena se desarroll en HP Labs en el 2000, en 2009 HP cedi el


proyecto a la fundacin Apache que decidi adoptarlo en noviembre de
2010.

Su arquitectura incluye:

API para trabajar (leer, procesar, escribir) ontologas RDF y


OWL.

Motor de inferencia para razonar sobre ontologas RDF y OWL.


59

Estrategias de almacenamiento flexible para almacenar tripletas


RDF en memoria o fichero.

4.1.2.2

Motor de consulta compatible con especificacin SPARQL.

Java EE.
Java Platform, Enterprise Edition o Java EE [31] es una plataforma de

programacin para desarrollar y ejecutar software de aplicaciones en el


lenguaje de programacin Java. Permite utilizar arquitecturas de N capas
distribuidas y se apoya ampliamente en componentes de software
modulares ejecutndose sobre un servidor de aplicaciones. La plataforma
Java EE est definida por una especificacin. Java EE es tambin
considerada informalmente como un estndar debido a que los
proveedores deben cumplir ciertos requisitos de conformidad para
declarar que sus productos son conformes a Java EE; estandarizado por
The Java Community Process / JCP.

4.1.2.3

Apache Axis.
Apache Axis [12] es un framework de cdigo abierto, basado en XML

para servicios web. Consiste en una implementacin en Java y otra en


C++ del servidor SOAP, as como diversos utilitarios y APIs para generar
y desplegar aplicaciones de servicios web. Por medio de Apache Axis, los
desarrolladores

pueden

crear

aplicaciones

computacionales

interoperables y distribuidas. Axis se desarrolla bajo los auspicios de la


Apache Software Foundation.

4.1.2.4

SOAP.
SOAP [8] es un protocolo estndar que define cmo dos objetos en

diferentes procesos pueden comunicarse por medio de intercambio de


datos XML. Este protocolo deriva de un protocolo creado por Dave Winer
en 1998, llamado XML-RPC. SOAP fue creado por Microsoft, IBM y otros.

60

Est actualmente bajo el auspicio de la W3C. Es uno de los protocolos


utilizados en los servicios Web.

Bsicamente SOAP Es un paradigma de mensajera de una direccin


sin estado, que puede ser utilizado para formar protocolos ms complejos
y completos segn las necesidades de las aplicaciones que lo
implementan. Puede formar y construir la capa base de una "pila de
protocolos de servicio Web", ofreciendo un framework de mensajera
bsica en el cual los servicios Web se pueden construir.

La arquitectura SOAP est formada por varias capas de especificacin:


MEP (Message Exchange Patterns) para el formato del mensaje, enlaces
subyacentes del protocolo de transporte, el modelo de procesamiento de
mensajes, y la capa de extensibilidad del protocolo. SOAP es el sucesor
de XML-RPC, a pesar de que toma el transporte y la neutralidad de la
interaccin, as como el envelope / header / body, de otros modelos
(probablemente de WDDX).

4.1.2.5

Servicio Web.
Para garantizar la interoperabilidad entre el entorno LMS y nuestro

modelo ontolgico, OntoSakai, se pretende desarrollar un servicio Web


que actu de interface entre ambos. En esta seccin trataremos de
explicar los conceptos ms relevantes para el desarrollo de nuestra
interface.

Un servicio Web [40] es una tecnologa que utiliza un conjunto de


protocolos y estndares que sirven para intercambiar datos entre
aplicaciones. Distintas aplicaciones de software desarrolladas en
lenguajes de programacin diferentes, y ejecutadas sobre cualquier
plataforma, pueden utilizar los servicios web para intercambiar datos en
redes de ordenadores como Internet. La interoperabilidad se consigue
mediante la adopcin de estndares abiertos. Las organizaciones OASIS
y W3C son los comits responsables de la arquitectura y reglamentacin
61

de los servicios Web. Para mejorar la interoperabilidad entre distintas


implementaciones de servicios Web se ha creado el organismo WS-I,
encargado de desarrollar diversos perfiles para definir de manera ms
exhaustiva estos estndares. Es una mquina que atiende las peticiones
de los clientes web y les enva los recursos solicitados.

4.1.3 Desarrollo de las herramientas integradas con Sakai.


4.1.3.1

Maquetacin del frontend.


Para la maquetacin de las nuevas herramientas de recursos (Sakai

Tools) hemos usado HTML5 y CSS3.

HTML5

HTML5 [19] es la quinta revisin importante del lenguaje bsico de la


World Wide Web, HTML. HTML5 especifica dos variantes de sintaxis para
HTML: un clsico HTML (text/html), la variante conocida como HTML5 y
una variante XHTML conocida como sintaxis XHTML5 que deber ser
servida como XML. Esta es la primera vez que HTML y XHTML se han
desarrollado en paralelo.

La versin definitiva de la quinta revisin del estndar se public en


octubre de 2014.

CSS3.
CSS [25] es un lenguaje usado para definir y crear la presentacin de
un documento estructurado escrito en HTML o XML (y por extensin en
XHTML). El World Wide Web Consortium (W3C) es el encargado de
formular la especificacin de las hojas de estilo que servirn de estndar
para los agentes de usuario o navegadores.

62

4.1.3.2

Desarrollo del backend.


En este apartado, vamos a detallar las tecnologias que hemos utilizado

para gestionar la lgica de negocio de nuestra aplicacin, comprendiendo


tratamiento de informacin aportada por el usuario, acceso a bases de
datos, etc.

Java EE.
Esta tecnologa ya ha sido detallada en la seccin 4.1.2.2.

Java Server Pages (JSP).


JavaServer Pages (JSP) [11] es una tecnologa que ayuda a los
desarrolladores de software a crear pginas web dinmicas basadas en
HTML, XML, entre otros tipos de documentos. JSP es similar a PHP, pero
usa el lenguaje de programacin Java.

Spring Framework.
Spring [21] es un framework para el desarrollo de aplicaciones y
contenedor de inversin de control, de cdigo abierto para la plataforma
Java.

Si bien las caractersticas fundamentales de Spring Framework pueden


ser usadas en cualquier aplicacin desarrollada en Java, existen variadas
extensiones para la construccin de aplicaciones web sobre la plataforma
Java EE. A pesar de que no impone ningn modelo de programacin en
particular, este framework se ha vuelto popular en la comunidad al ser
considerado una alternativa, sustituto, e incluso un complemento al
modelo EJB (Enterprise JavaBean).

En concreto, nosotros hacemos uso del framework de acceso remoto,


para exportacin de objetos creados dentro del servlet hacia la pgina
JSP principal.
63

Javascript y jQuery.
Utilizamos jQuery [22] para gestionar la lgica de negocio desde el lado
del cliente.

jQuery es una biblioteca de JavaScript [37] que permite simplificar la


manera de interactuar con los documentos HTML, manipular el rbol
DOM, manejar eventos, desarrollar animaciones y agregar interaccin con
la tcnica AJAX a pginas web.
JQuery ofrece una serie de funcionalidades basadas en JavaScript que
de otra manera requeriran de mucho ms cdigo, es decir, con las
funciones propias de esta biblioteca se logran grandes resultados en
menos tiempo y espacio.

MySQL.
Hemos utilizado MySQL como base sobre la que montar la base de
datos de Sakai.

MySQL [29] es un sistema de gestin de bases de datos relacional,


multihilo y multiusuario.

4.2

Herramientas empleadas.

4.2.1 Proteg.
Hemos utilizado Proteg [17] para todo lo relacionado con el
tratamiento de las Ontologas. Proteg es una aplicacin de software libre,
creada y soportada por la universidad de Stanford que nos proporciona un
editor de ontologas y un potente framework con el que trabajar sobre las
mismas.

Mediante esta alternativa contamos con un entorno grfico y una serie


de asistentes que nos ayudarn en la tarea de unificar OntoSakai.

64

Cabe destacar, que ya estamos familiarizados con este framework ya


que fue el empleado en la asignatura Ingeniera del Conocimiento para el
desarrollo de la misma. Si, bien, el uso que deberemos darle dentro del
marco de este desarrollo se escapa, en algunos aspectos, a lo visto en la
asignatura.

4.2.2 Eclipse.
Hemos usado este conocido IDE tanto para el desarrollo de
OntoSakaiWS como para el desarrollo de las herramientas de Sakai.

Eclipse [10] es un programa informtico compuesto por un conjunto de


herramientas de programacin de cdigo abierto multiplataforma para
desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido",
opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. Esta
plataforma, tpicamente ha sido usada para desarrollar entornos de
desarrollo integrados (del ingls IDE), como el IDE de Java llamado Java
Development Toolkit (JDT) y el compilador (ECJ) que se entrega como
parte de Eclipse (y que son usados tambin para desarrollar el mismo
Eclipse).

4.2.3 Apache Maven.


Hemos utilizado Maven [13] para diferentes tareas dentro del desarrollo
de este trabajo fin de grado.

Construccin y publicacin del LMS Sakai.

Generacin del arquetipo sobre el cual hemos desarrollado las


diferentes tools para Sakai.

Construir y publicar las herramientas desarrolladas para Sakai.

Maven es una herramienta de software para la gestin y construccin


de proyectos Java.
65

Maven utiliza un Project Object Model (POM) para describir el proyecto


de software a construir, sus dependencias de otros mdulos y
componentes externos, y el orden de construccin de los elementos.
Viene con objetivos predefinidos para realizar ciertas tareas claramente
definidas, como la compilacin del cdigo y su empaquetado.

4.2.4 Apache Tomcat.


Hemos utilizado Tomcat [14] como servidor de aplicaciones sobre el
que hemos publicado tanto Sakai, junto con las nuevas herramientas
desarrolladas, como

nuestro servicio web. Tambin se encuentran

publicadas dentro de este servidor, las ontologas que conforman


OntoSakai.

Apache Tomcat funciona como un contenedor de servlets desarrollado


bajo el proyecto Jakarta en la Apache Software Foundation. Tomcat
implementa las especificaciones de los servlets y de JavaServer Pages
(JSP) de Oracle Corporation.

4.2.5 Sublime Text.


Hemos utilizado Sublime Text [38] como editor de texto enriquecido
para desarrollar las funcionalidades JavaScript/jQuery.

Sublime Text es un editor de texto y editor de cdigo fuente est escrito


en C++ y Python para los plugins. Desarrollado originalmente como una
extensin de Vim, con el tiempo fue creando una identidad propia, por
esto an conserva un modo de edicin tipo vi llamado Vintage mode.

Se distribuye de forma gratuita, sin embargo no es software libre o de


cdigo abierto, se puede obtener una licencia para su uso ilimitado, pero
l no disponer de sta no genera ninguna limitacin ms all de una alerta
cada cierto tiempo.
66

4.2.6 DBVisualizer.
Hemos utilizado DBVisualizer [36] como aplicacin principal para
trabajar con la base de datos de Sakai.

DbVisualizer es una herramienta de base de datos multiplataforma que


soporta la mayora de bases de datos relacionales. Permite realizar
mltiples conexiones simultneas a distintas bases de datos a travs de
drivers jdbc y, con ello, navegar por la estructura de la base de datos, ver
caractersticas de los objetos de la misma, editar las tablas de una
manera grfica, ejecutar sentencias y scripts SQL, realizar reingeniera
inversa para mostrar, en base a las claves definidas, la relacin entre las
tablas de una manera grfica, etc.

67

68

5. ESTIMACIN DE RECURSOS Y PLANIFICACIN


En esta seccin vamos a realizar la planificacin del proyecto, tanto
desde el punto de vista temporal como desde una perspectiva de
asignacin de recursos (humanos y tcnicos) con el fin de cumplir con los
objetivos marcados en cada una de las fases del proyecto.

La gestin de todo proyecto software siempre comienza con la


planificacin del proyecto y sus actividades. Antes de comenzar el
proyecto se debe hacer una estimacin de todos los factores que
conducirn a culminar el proyecto de una forma satisfactoria.

Es muy importante realizar una correcta planificacin del proyecto,


determinando tareas y tiempos que deben cumplirse, as como asociar
responsables a cada una de ellas para asegurar el correcto cumplimiento.

Una correcta estimacin del proyecto debera cumplir casi con


exactitud el verdadero coste y esfuerzo que al final tendr el desarrollo del
proyecto. Si bien es cierto que, raramente, se suele acertar plenamente
con la planificacin de un proyecto de software, por lo que no suele darse
una correlacin exacta entre la planificacin y el desarrollo real del
proyecto. Realizar una buena estimacin, tanto temporal como de costes,
requiere un alto grado de experiencia en el desarrollo de proyectos de
software, con el que nosotros, en el momento actual, no contamos.

5.1

Fases del proyecto.


El proyecto se inici el da 1 de febrero de 2014. El desarrollo del
mismo ha sido dividido en diferentes fases que se detallan a continuacin:

Estudio previo: Esta primera fase incluye el estudio de la


plataforma Sakai, basndonos en la documentacin aportada por la
propia comunidad, inscribindonos y participando activamente en

69

las diferentes listas de correo que soportan a la comunidad Sakai y


manteniendo reuniones con el experto en Sakai dentro del entorno
de la Universidad Catlica de Murcia. En esta fase tambin hemos
realizado un estudio sobre las diferentes tecnologas a utilizar.

Anlisis y diseo: El anlisis llevado a cabo en esta fase


comprende la especificacin de requisitos, la decisin de las
herramientas a usar, casos de uso y diagramas de secuencia. Por
otro lado, con respecto al diseo, se han realizado prototipos, para
ver el aspecto visual de la GUI del sistema. Finalmente, se ha
creado un diagrama de clases, y se ha diseado un diagrama de
despliegue de la herramienta.

Preparacin del entorno de desarrollo: En la fase de preparacin


del entorno se ha realizado un estudio de los diferentes entornos de
desarrollo posibles siendo finalmente el elegido Eclipse sobre una
versin de Windows 7 virtualizada con VMware. Dentro de este
sistema virtualizado hemos optado por Tomcat como servidor de
aplicaciones y MySQL como entorno para la base de datos de
Sakai.

Implementacin y desarrollo: En el transcurso de la fase de


implementacin y desarrollo hemos llevado al cabo la instalacin de
la plataforma Sakai, la integracin de las diferentes ontologas que
componen OntoSakai, el desarrollo del servicio web que da soporte
a la misma y el desarrollo de las diferentes herramientas que
integraremos en Sakai, tal y como se describe en el anlisis y
diseo del proyecto.

Pruebas: Este periodo comprende el desarrollo del plan de


pruebas, para ello se verifican los requerimientos detallados en la
fase de anlisis y diseo. Finalmente, para comprobar el
funcionamiento del sistema, se ejecutarn diversas pruebas para

70

comprobar la robustez y correcto funcionamiento de todo el


desarrollo.

Puesta en marcha: En esta ltima fase, se simula una integracin


real del sistema desde cero, se genera, al mismo tiempo, un manual
de instalacin con el objetivo de facilitar la implementacin de
nuestra solucin a los futuros usuarios.

5.2

Estimaciones utilizadas.
En esta seccin analizaremos los costes y dimensiones del proyecto
utilizando la tcnica de estimacin por puntos de funcin.

5.2.1 Estimacin por puntos de funcin


Este mtodo de estimacin contempla la aplicacin a desarrollar como
una caja negra, es decir, no interesan las peculiaridades de la aplicacin,
sino que se centra en lo que puede ver el usuario. El objetivo es evaluar
una aplicacin informtica en base a sus caractersticas externas.

Estas caractersticas se descomponen en dos grandes grupos:

La funcionalidad que provee el sistema:

Hace

referencia a aquellos elementos que dan soporte a los


formularios de entrada, salida, consultas y ficheros a los
que debe dar soporte la aplicacin.

Los factores de complejidad: Hace referencia a los


diferentes indicadores del entorno en que se ha de
desarrollar y explotar la aplicacin informtica.

Para una mejor comprensin hemos decidido realizar la estimacin de


cada parte del desarrollo por separado.

71

5.2.1.1

OntoSakaiWS
Hemos incluido en este clculo, por simplicidad y, porque realmente

son dos elementos que van de la mano, la integracin de OntoSakai.


Como se ve en la tabla 3, se ha realizado el clculo de los puntos de
funcin sin ajustar para el servicio web que dar soporte a OntoSakai.

Tipo
elemento

Dificultad

Peso

Cantidad

Simple
3
Media
4
Entradas
Compleja
5
Total Entradas
Simple
4
Media
5
Salidas
Compleja
7
Total Salidas
Simple
3
1
Media
4
2
Ficheros
Compleja
6
1
Internos
Total Ficheros Internos
Simple
5
0
Media
7
4
Ficheros
Compleja
10
0
Externos
Total Ficheros externos
Simple
5
3
Media
7
2
Consultas
Compleja
10
1
externas
Total Consultas externas
Total puntos de funcin sin ajustar (PFSA)

Total

1
1
2

3
4
10

17

0
0
0

0
0
0

3
8
6

17

0
28
0

28

15
14
10

39

Tabla 3. Puntos de funcin OntoSakaiWS

72

Total
Elemento

101

El prximo paso es ajustar los anteriores valores en base a las


descripciones de la tabla 4:
#
1
2
3
4
5
6
7
8
9
10
11
12
13

Factor de complejidad
Peso Valor Factor
Sistema distribuido
2
1
2
Tiempo de respuesta
2
1
1
Eficiencia por el usuario
1
3
3
Proceso interno complejo
1
3
3
Reusabilidad
1
2
2
Facilidad de instalacin
0.5
2
1
Facilidad de uso
0.5
1
0.5
Portabilidad
2
5
10
Facilidad de cambio
1
5
5
Concurrencia
1
5
5
Seguridad
1
1
1
Acceso directo por terceras
1
2
2
partes
Facilidades especiales de
1
1
1
entrenamiento a usuarios
finales
Factor de complejidad
36.5
Tabla 4. Factor de complejidad OntoSakaiWS

En este momento se puede obtener el valor corregido de los puntos de


funcin, cuya frmula viene definida por:

PF=PFSA*ACT

Sustituyendo los valores calculados hasta el momento en la anterior


formula se obtiene:

ACT

0,65 + 0,01 * Fi (i=114)

ACT

0,65+0,01*36,5=1,015

PF

101*1.015=102,5
Tabla 5. Calculo PF OntoSakaiWS

Como puede verse en la tabla 5, considerando un punto de funcin por


da se necesitaran un total de 102 das.

73

5.2.1.2

OntoSakai Resources.
En la tabla 6 se ha realizado el clculo de los puntos de funcin sin

ajustar para la herramienta de subida de recursos.

Tipo elemento

Dificultad Peso Cantidad


Simple
3
1
Media
4
1
Entradas
Compleja
5
1
Total Entradas
Simple
4
3
Media
5
0
Salidas
Compleja
7
0
Total Salidas
Simple
3
2
Media
4
2
Ficheros
Compleja
6
0
Internos
Total Ficheros Internos
Simple
5
0
Media
7
0
Ficheros
Compleja
10
0
Externos
Total Ficheros externos
Simple
5
2
Media
7
1
Consultas
Compleja
10
0
externas
Total Consultas externas
Total puntos de funcin sin ajustar (PFSA)

Total
3
4
10
12
0
0

12

6
8
0

14

0
0
0

10
7
0

17

Tabla 6. Puntos de funcin OntoSakai Resources

74

Total Elemento
17

60

El prximo paso es ajustar los anteriores valores en base a las


descripciones de la tabla 7:
#
1
2
3
4
5
6
7
8
9
10
11
12
13

Factor de complejidad
Peso Valor
Sistema distribuido
2
1
Tiempo de respuesta
2
1
Eficiencia por el usuario
1
1
Proceso interno complejo
1
2
Reusabilidad
1
1
Facilidad de instalacin
0.5
1
Facilidad de uso
0.5
1
Portabilidad
2
2
Facilidad de cambio
1
5
Concurrencia
1
3
Seguridad
1
2
Acceso directo por terceras
1
2
partes
Facilidades especiales de
1
1
entrenamiento a usuarios
finales
Factor de complejidad

Factor
2
1
1
2
1
0.5
0.5
4
3
3
2
2
1

25

Tabla 7. Factor de complejidad OntoSakai Resources

En este momento se puede obtener el valor corregido de los puntos de


funcin, cuya frmula viene definida por:

PF=PFSA*ACT

Sustituyendo los valores calculados hasta el momento en la anterior


formula se obtiene:

ACT

0,65 + 0,01 * Fi (i=114)

ACT

0,65+0,01*25=0,9

PF

60*0,9=54
Tabla 8. Calculo PF OntoSakai Resources

Como puede verse en la tabla 8, considerando un punto de funcin por


da se necesitaran un total de 54 das.

75

5.2.1.3

OntoSakai Browser
En la tabla 9 se ha realizado el clculo de los puntos de funcin sin

ajustar para la herramienta de subida de recursos.

Tipo elemento

Dificultad Peso Cantidad


Simple
3
1
Media
4
0
Entradas
Compleja
5
0
Total Entradas
Simple
4
2
Media
5
0
Salidas
Compleja
7
0
Total Salidas
Simple
3
1
Media
4
3
Ficheros
Compleja
6
1
Internos
Total Ficheros Internos
Simple
5
0
Media
7
0
Ficheros
Compleja
10
0
Externos
Total Ficheros externos
Simple
5
4
Media
7
1
Consultas
Compleja
10
0
externas
Total Consultas externas
Total puntos de funcin sin ajustar (PFSA)

Total
3
0
0
8
0
0

3
12
6

21

0
0
0

20
7
0

27

Tabla 9. Puntos de funcin OntoSakai Browser

76

Total Elemento
3

59

El prximo paso es ajustar los anteriores valores en base a las


descripciones de la tabla 10:

#
1
2
3
4
5
6
7
8
9
10
11
12
13

Factor de complejidad
Sistema distribuido
Tiempo de respuesta
Eficiencia por el usuario
Proceso interno complejo
Reusabilidad
Facilidad de instalacin
Facilidad de uso
Portabilidad
Facilidad de cambio
Concurrencia
Seguridad
Acceso directo por terceras partes
Facilidades especiales de
entrenamiento a usuarios finales
Factor de complejidad

Peso
2
2
1
1
1
0.5
0.5
2
1
1
1
1
1

Valor
1
1
1
1
1
1
1
2
3
2
2
2
1

Factor
1
1
1
1
1
0.5
0.5
4
3
2
2
2
1
20

Tabla 10. Factor de complejidad OntoSakai Browser

En este momento se puede obtener el valor corregido de los puntos de


funcin, cuya frmula viene definida por:

PF=PFSA*ACT

Sustituyendo los valores calculados hasta el momento en la anterior


formula se obtiene:

ACT

0,65 + 0,01 * Fi (i=114)

ACT

0,65+0,01*20=0,85

PF

59*0,85=50,15
Tabla 11. Calculo PF OntoSakai Browser

Como puede verse en la tabla 11, considerando un punto de funcin


por da se necesitaran un total de 50 das.

77

5.2.1.4

Tiempo total de desarrollo


Atendiendo a los clculos anteriores obtenemos el resultado reflejado

en la tabla 12.

Desarrollo

Tiempo

OntoSakaiWS

102

OntoSakai Resources

54

OntoSakai Browser

50
Total: 206 das.
Tabla 12. Calculo tiempo total desarrollo

Por tanto, obtenemos como resultado que este desarrollo ocupar un


total de 206 das.

5.3

Planificacin temporal del proyecto


En este apartado se recoge la planificacin del proyecto, definiendo las
tareas y la programacin mediante la realizacin de un diagrama de
Gantt.

La Figura 8 muestra el diagrama de Gantt completo.

78

Figura 8. Diagrama de Gantt General


.

Como puede verse en la figura 8, el proyecto comienza el da 1 de


febrero de 2014 y finalizara, segn nuestra planificacin, el da 26 de
agosto de ese mismo ao. Cumplindose as, de forma exacta, los 206
das que habamos planificado anteriormente.

79

Tabla 13. Detalle de las tareas

Como puede verse tanto en el diagrama de Gantt como en la tabla 13,


apenas ha existido solapamiento en las tareas, si bien, en la fase de
estudio previo y en la de preparacin del entorno de desarrollo existe un
mnimo solapamiento.

En cambio, en la ltima fase, puesta en marcha, ambas tareas se


solapan, ya que se han llevado a cabo de forma simultnea.
80

Como puede verse la fase de estudio previo ocupa una gran parte del
tiempo de desarrollo del proyecto. Esto es debido a que partamos con
unos conocimientos de bas bastante bsicos y a las dificultades que
hemos encontrado a la hora de documentarnos sobre Sakai. Debido a su
farragosa plataforma con informacin obsoleta e incompleta.

De igual modo, la fase de implementacin ocupa tambin un gran


porcentaje del tiempo empleado. Esta fase ha sido primordial en el
desarrollo del proyecto, nos hemos encontrado con las dificultades
propias de enfrentarnos por primera vez a nuevos entornos de desarrollo
con los que no habamos trabajo hasta el momento.

5.4

Coste econmico
En este apartado, vamos a detallar el coste derivado del desarrollo de
este proyecto.

Los costes derivados de un proyecto se pueden dividir en dos grandes


grupos, costes materiales y costes humanos.

5.4.1 Costes materiales


En la tabla 14 detallamos el coste de los equipos informticos y el
software que hemos necesitado para el desarrollo de este trabajo fin de
grado.

81

Concepto

Coste

Equipo MacBook Pro 15 Late 2012

970

Licencia S.O. Windows 7 Ultimate

230

Licencia DBVisualizer Pro

179

Apache Tomcat

Apache Maven

Eclipse

Sublime Text

Proteg

Sakai LMS

TOTAL

1399
Tabla 14. Coste econmico material del proyecto.

5.4.2 Costes humanos.


En este apartado vamos a tratar los costes derivados del trabajo
humano invertido en este proyecto.

Para la realizacin de este proyecto se estima necesaria la


participacin de los siguientes tres recursos tcnicos: un analista, un
programador y un administrador. La funcin de cada uno de ellos se
recoge a continuacin:

Analista: se encargar de la captura de requisitos, anlisis de


los mismos y diseo de la solucin.

Programador: ser el encargado del desarrollo de la solucin.

Tcnico de implantacin: su cometido ser realizar la


implantacin de la solucin, as como las diferentes pruebas que
requiere el proyecto.

82

La tabla 15 recoge el coste por hora de cada uno de los recursos.


Estos costes han sido estimados en base a la experiencia profesional del
alumno y confirmados realizando una media entre los salarios ofertados
en las principales pginas de bsqueda de empleo a nivel nacional.

Recurso

Coste

Analista

12.00/hora

Programador

10.00/hora
8.00/hora

Tcnico de implantacin
Tabla 15. Conste personal del proyecto

Si bien, los recursos citados anteriormente son necesarios para la


realizacin del proyecto, todo el trabajo ser realizado por el autor de este
trabajo fin de grado, realizado la funciones especficas de cada uno de los
roles, segn necesidades del desarrollo.

En la tabla 16, se muestra el coste de cada una de las tareas, as como


el recurso al que han sido asignadas.

Tabla 16. Coste desglosado por tareas del proyecto

83

Como podemos observar, el coste total, en recursos humanos, del


proyecto, es de 18592, con un total de 206,5 das de trabajo.

5.4.3 Costes totales


La tabla 17 nos muestra un resumen de los costes totales de
desarrollar este proyecto.

Concepto

Coste

Materiales

1399

Humanos

18592
1977

Costes Indirectos
Total

21968
Tabla 17. Coste total del proyecto

Como podemos observar, el coste total de desarrollar este proyecto


sera de 21968 .

5.5

Valoracin real de la dedicacin


En este apartado vamos a valorar el tiempo real invertido en la
realizacin de este proyecto, y detallaremos la desviacin sufrida, as
como los motivos de la misma.

Si bien el proyecto se haba planificado para su finalizacin en


septiembre de 2014, debido a diversos problemas de ndole personal
padecidos por el autor de este trabajo fin de grado, en el mes de julio de
2014 el proyecto qued indefinidamente parado. Habindose retomado el
mismo durante el mes de marzo de 2015.

El siguiente diagrama de Gantt (Figuras 9 y 10) muestra una


planificacin de las tareas actualizada a la nueva situacin.

84

Figura 9. Diagrama de Gantt real (A)

Figura 10. Diagrama de Gantt real (B)

85

Como podemos ver, las tareas tuvieron que ser temporalmente


desplazadas, si bien el tiempo asignado a cada una de ellas se mantiene
invariable. Por tanto, como vemos, el proyecto comenz, como estaba
previsto, el da 1 de febrero de 2014, quedando detenido el da 3 de julio
de ese mismo ao. No fue hasta marzo de 2015 cuando el proyecto fue
retomado desde el punto en el que lo habamos dejado.

La tabla 18 nos muestra la planificacin con las fechas ajustadas a la


nueva situacin.

Tabla 18. Planificacin de tareas real

La figura 11, nos muestra la desviacin sufrida por el proyecto desde


su inicio hasta su finalizacin.

86

Desviacin temporal del proyecto


Desempeo real

Estimacion Inicial

50

100

150

200

250

300

350

400

450

500

Das
Estudio Previo

Analisis y diseo

Preparacin del entorno de desarrollo

Implementacion y desarrollo

Parada

Pruebas

Puesta en marcha
Figura 11. Desviacin temporal del proyecto

Como podemos ver, la desviacin producida ha sido de 259 das, si


bien, en caso de un desarrollo normal del proyecto, la planificacin inicial
se habra cumplido.

En cuanto al coste real del proyecto, al haber estado totalmente parado


su desarrollo durante el lapso indicado, el coste inicial se mantiene
invariable, ya que se considera que no se han pagado recursos humanos
durante el tiempo de parada.

87

88

6. DESARROLLO DEL PROYECTO


En este apartado vamos a tratar, de forma individual, cada uno de los
desarrollos de este trabajo fin de grado.

6.1

Desarrollo de la Ontologa OntoSakai


En este apartado vamos a detallar el desarrollo de OntoSakai,
siguiendo la metodologa Methontology. Si bien esta metodologa est
orientada al desarrollo de ontologas partiendo de cero, nosotros
contamos con las ontologas previamente desarrolladas desde el
departamento, por tanto, vamos a adaptar Methontology a las
necesidades desprendidas de la integracin de las ontologas.

6.1.1 Glosario de trminos.


En este apartado vamos a crear un glosario de trminos de OntoSakai,
este glosario se desprende tanto de la informacin aportada por las
ontologas previamente

desarrolladas como por nuevos trminos

necesarios para la integracin de las mismas.

Nombre

Sinnimos

Descripcin

Tipo

Participant

Usuario

Usuario con acceso al entorno LMS Concepto

Student

Estudiante

Usuario con rol de estudiante con Concepto


acceso al entorno LMS

Lecturer

Docente

Usuario con rol de docente con Concepto


acceso al entorno LMS

Qualificacin

Calificacin

Resultado

obtenido

por

un Concepto

estudiante en una tarea en concreto


Subject

Asignatura

Representa los Sitios en Sakai, Concepto


estos

su

vez

representan

asignaturas concretas en cursos


acadmicos determinados
Tool

Herramienta

Herramienta contenida dentro de un Concepto

89

Nombre

Sinnimos

Descripcin

Tipo

sitio
EvaluativeTo Herramienta

Herramienta

ol

evaluable

contener elementos calificables

Tests

--

Herramienta de test dentro de Sakai Concepto

Assignments Tareas

susceptible

de Concepto

Herramienta de tareas dentro de Concepto


Sakai

Colaborative

Herramientas

Herramienta participativa dentro de Concepto

tool

colaborativas

Sakai

Chat

--

Herramienta de chat dentro de Concepto


Sakai

Discussion

Foro

Forum
Resources

Herramienta de foros de discusin Concepto


dentro de Sakai

Recursos

Herramienta de Recursos dentro Concepto


de Sakai

Annuncement Anuncios

Herramienta de anuncios dentro de Concepto

Sakai.

ToolElement

Elemento
herramienta

de Define instancias contenidas dentro Concepto


de una tool determinada

Evaluative

Elemento

ToolElement

herramienta

de

evaluativa

determinada

--

Define un concepto dentro una Concepto

TopicItem

de Define instancias contenidas dentro Concepto


una

EvaluativeTool

determinada rea de conocimiento


Topic

--

Define un rea de conocimiento

Concepto

Event

Evento

Eventos generados por los usuarios Concepto


con el uso habitual de Sakai

Profile

Perfil

Define perfiles para los usuarios de Concepto


Sakai

StudentProfil Perfil
e

estudiante

LecturerProfil Perfil

de Define perfiles determinados para Concepto


los estudiantes.
de Define perfiles especficos para los Concepto

docente

docentes.

DNI

--

DNI del usuario

Atributo
de
instancia

90

Nombre
Nombre

Sinnimos
--

Descripcin

Tipo

Nombre descriptivo

Atributo
de
instancia

Apellidos

--

Apellidos del usuario

Atributo
de
instancia

UsuarioID

--

ID dentro de Sakai para un usuario

Atributo
de
instancia

Nota

--

Valor

numrico

que

indica

la Atributo

calificacin obtenida

de
instancia.

Crditos

--

Nmero de crditos de

Atributo
de
instancia

Descripcin

--

Breve descripcin del concepto

Atributo
de
instancia

ToolID

--

ID

dentro

de

Sakai

para

una Atributo

herramienta

de
instancia

EventID

--

ID del evento generado por Sakai

Atributo
de
instancia

Hora

--

Hora a la que se produce un evento Atributo


de
instancia

Fecha

--

Fecha en la que se produce un Atributo


evento

de
instancia

Ocurrences

--

Numero de repeticiones de un Atributo


evento concreto, dentro de una de
determinada herramienta, producido instancia
por un cierto usuario

PerfilID

--

ID de un perfil determinado.

91

Atributo

Nombre

Sinnimos

Descripcin

Tipo
de
instancia.

belongsTo

--

(ToolElement,

El elemento de la

herramienta Relacin

pertenece a una herramienta.

Tool)

consistsOf

--

(Topic,

El

topic

est

compuesto

por Relacin

Relacin inversa a ConsistsOf

Relacin

topicItems.

TopicItem)

IsContainedIn -(TopicItem,
Topicl)

IsEnrolled

--

(Participant,

El participante estudia/imparte una Relacin


asignatura

Subject)

isObtainedBy --

La

calificacin

(Student,

estudiante

pertenece

un Relacin

Qualification)

isRelatedToT --

El ToolElement se relaciona con Relacin

oolElement

otro ToolElement

(ToolElement,To
olElement)

profileRequire --

ToolElement

este perfil.

recomendado

para Relacin

(Profile,
ToolElement)

referrersTo

--

(ToolElement,

El ToolElement hacer referencia a Relacin


un topicItem

TopicItem)

hasProfile

--

El participante tiene un perfil

--

La

Relacin

(Participant,
Profile)

Incorporates
(Subject, Tooll)

isObtainedIn

asignatura

incorpora Relacin

herramientas
--

(Qualification,

La calificacin se ha obtenido en Relacin


una asignatura

Subjectl)

isProducedBy --

Un evento es producido por un Relacin

(Event,

usuario concreto

Participant)

92

Nombre

Sinnimos

Descripcin

Tipo

isProducedO --

Un evento es producido en el Relacin

contexto

(Event,

concreto.

de

un

ToolElement

ToolElement)
Tabla 19. Glosario de trminos

6.1.2 Taxonomas de conceptos


En este apartado vamos a desarrollar taxonomas de los conceptos
citados en el apartado anterior.

Una taxonoma es un tipo de vocabulario controlado en que todos los


trminos estn conectados mediante un modelo estructural (jerrquico,
arbreo, facetado, etc.) y especialmente orientado a los sistemas de
navegacin, organizacin y bsqueda de contenidos de los sitios web.

El modelo ontolgico OntoSakai est formado por las siguientes


taxonomas de trminos.

a) Como se muestra en la figura 12, el concepto tool tiene las


siguientes subclases: Resoruces con subclases test y assignments,
EvaluativeTool, ColaborativeTool con subclases chat y discussion
forum, y Annuncements.

93

Figura 12. Diagrama de taxonoma herramienta

b) La figura 13 muestra el concepto Profile, y sus subclases


StudentProfile y LecturerProfile.

Figura 13. Diagrama de taxonoma perfilado.

94

c) La figura 14 muestra el concepto participante, y sus subclases


student y lecturer.

Figura 14. Diagrama de taxonoma Participante

d) Por ltimo, la figura 15 muestra la taxonoma agrupada del resto de


conceptos de OntoSakai. Qualification, Event, TopicItem, Subject y
ToolElement con su subclase EvaluativeToolElement.

Figura 15. Diagrama de taxonoma de ms alto nivel.

95

6.1.3 Diagrama de relaciones binarias


En este apartado se definen las relaciones binarias entre los conceptos
y sus relaciones inversas.

Como podemos ver, en cada diagrama, contamos con dos conceptos,


representados por su nombre de concepto dentro de un recuadro, y dos
relaciones, la relacin directa (representada en rojo) y la relacin inversa
(en color verde).

Figura 16. Relacin Participante - Asignatura

Figura 17. Relacin Evento - Participante

Figura 18. Relacin Evento - ToolElement

96

Figura 19. Relacin Estudiante - ToolElement

Figura 20. Relacin Calificacin - Estudiante

Figura 21. Relacin Calificacin - EvaluativeToolElement

Figura 22. Relacin Asignatura - Herramienta

97

Figura 23. Relacin ToolElement - Herramienta

Figura 24. Relacin ToolElement -TopicItem

Figura 25. Relacin Topic - TopicItem


.

Figura 26. Relacin Perfil - ToolElement

98

Figura 27. Relacin Participante - Perfil

Figura 28. Relacin ToolElement ToolElement

En el caso concreto de la relacin isRelatedTo, cabe destacar que se


trata de una relacin reflexiva, es decir, relaciona un concepto consigo
mismo. Para ilustrarlo pondremos que, por ejemplo, tenemos el recurso
Tema1 de la asignatura IC, que est relacionado con Practica 1 de
esa misma asignatura quedndonos una relacin entre ambas instancias
como la representada en la figura 29.

Figura 29. Ejemplo relacin isRelatedTo

99

6.1.4 Diccionario de conceptos


El objetivo de este apartado es especificar cules son las propiedades
que describen cada concepto de la taxonoma, las relaciones del
diagrama de relaciones binarias y las instancias de cada uno de los
conceptos

Concepto

Atributos de Atributos de
clase

Participant

--

Relaciones

instancia
Nombre

isEnrolled

Apellidos

hasProfile

DNI
Student

--

Nombre

isObtainedBy

Apellidos

studentRequires

DNI
Lecturer

--

Nombre

--

Apellidos
DNI
Qualificacin

--

Nota

isObtainedBy
IsObtainedIn

Subject

--

Nombre

isEnrolled

Crditos

incorporates

Descripcin

Tool

--

--

Incorporates
belongsTo

Evaluative Tool --

--

isObtainedIn

Tests

--

--

--

Assignments

--

--

--

Colaborative

--

--

--

Chat

--

--

--

Discussion

--

--

--

--

--

--

tool

Forum
Resources

100

Concepto

Atributos de Atributos de
clase

Relaciones

instancia

Annuncements --

--

--

ToolElement

--

belongsTo

--

isRelatedTo
refersTo
studentRequires
profileRequires
Evaluative

--

--

isObtainedIn

--

--

refersTo

ToolElement
TopicItem

consistsOf
Topic

--

--

consistsOf

Event

--

Hora

isProducedOn

Fecha

isProducedBy

Ocurrencias
Profile

--

hasProfile
profileRequires

StudentProfile

--

--

--

LecturerProfile

--

--

--

Tabla 20. Diccionario de conceptos

6.1.5 Detalle de las relaciones binarias


En este apartado vamos a especificar en detalle cada relacin binaria.

Relacin

Origen

Cardinalida

Destino

Relacin
Inversa

isEnrolled

Participant

Subject

hasEnrolled

isProducedBy

Event

Participant

Produces

isProducedOn Event

ToolElement

Produces

studentRequir Student

ToolElement

RequiredBy

Obtains

es
isObtainedBy

Qualification N

Student

isObtainedIn

Qualification 1

EvaluativeToolEle Has

101

ment
Incorporates

Subject

Tool

isIncorporatedI
n

belongsTo

ToolElement 1

Tool

Contains

refersTo

ToolElement N

TopicItem

isReferedby

consistsOf

Topic

TopicItem

isContainedIn

profileRequires Profile

ToolElement

isRequiredBy

hasProfile

Participant

Profile

belongsTo

isRelatedTo

ToolElement N

ToolElement

isRelatedTo

Tabla 21. Relaciones Binarias

6.1.6 Descripcin de los atributos de instancia


En este apartado se describen con detalle todos los atributos de
instancia aportados en el glosario de trminos.

Atributo

Concepto

Tipo

Rango de

Cardinalidad

valores
DNI

Student

String

--

(1,1)

String

--

(1,1)

String

--

(1,1)

String

--

(1,1)

Lecturer
Nombre

Student
Lecturer
Subject

Apellidos

Student
Lecturer

UsuarioID

Student
Lecturer

Nota

Qualification

Float

0.0-10.0

(1,1)

Creditos

Subject

Float

0. 0

(1,1)

Descripcin

Subject

String

--

(1,1)

ToolID

Tool

String

--

(1,1)

EventID

Event

String

--

(1,1)

Hora

Event

String

--

(1,1)

Fecha

Event

String

--

(1,1)

Ocurrences

Event

Int

(1,1)

102

PerfilID

Profile

String

--

(1,1)

Tabla 22. Atributos de instancia

6.1.7 Descripcin de atributos de clase


En este modelo ontolgico no se han especificado atributos de clase.

6.1.8 Descripcin de las constantes


En este modelo ontolgico no se han especificado constantes

6.1.9 Descripcin de las instancias


En este apartado vamos a describir ejemplos de instancias relevantes
para el dominio del modelo. En nuestro caso, las relacionadas con los
recursos y su recomendacin.

Instancia
5e2f19fe-96c7-4d23-9089-

Concepto
Asignatura

0847b2ca2358

Atributo

Valor

Nombre

IC

Descripcin

Ingeniera
conocimiento

Creditos

ToolElement

--

--

Resources

--

--

Ontologies

Topic

--

--

SPARQL

TopicItem

--

--

5e2f19fe-96c7-4d23-90890847b2ca2358/Portada.png
5e2f19fe-96c7-4d23-90890847b2ca2358/Resources

Tabla 23. Instancias

103

del

6.1.10 Conclusiones OntoSakai


Una vez concluido el anlisis diseo del modelo ontolgico podemos
destacar que ha sido necesaria la creacin de nuevas relaciones como
son:

refersTo: Necesaria para indicar a que topicItems hace


referencia un ToolElement en concreto.

hasProfile: Necesaria para indicar que un usuario tiene un


perfil en particular.

isProducedOn: Indica en que elemento concreto se ha


producido un evento en particular.

isProducedBy: Indica que usuario ha generado un evento.

isObtainedIn: Necesaria para indicar en que elemento


evaluable se ha obtenido una calificacin en particular.

profileRequires: Relaciona un perfil con un ToolElement en


particular. Necesario para recomendaciones a nivel de
perfil.

studentRequires:

Necesario

para

recomendaciones

personalizadas a cada estudiante.

Ha sido de igual modo necesario modificar el diseo de los atributos


dentro de las ontologas. En este caso, hemos eliminado los siguientes
atributos de instancia por considerarlos innecesarios y redundantes.

ToolID: En nuestro diseo, la ID de la tool ser el nombre


de la instancia dentro de la ontologa.

UsuarioID: Al igual que ocurre en el caso anterior, el ID del


usuario ser el nombre de la instancia en la Ontologa.

AsignaturaID: En este caso, al igual que en los dos


anteriores, usamos como nombre de la instancia el ID de la
asignatura, por lo que sera redundante almacenarlo como
atributo.

104

6.1.11 Implantacin de la ontologa en Proteg.


Como se explic en el captulo 2.3.1, utilizaremos el software Proteg
para la implantacin del modelo ontolgico en el lenguaje OWL. Los
pasos que hemos seguido para la implantacin han sido los siguientes.

a) Importacin de las ontologas disponibles: Como hemos


comentado anteriormente, partamos de la base de una serie de
ontologas previamente desarrolladas. Por tanto, el primer paso es
integrarlas entre s. Para ello hacemos uso del asistente de
importacin de Proteg, tal como muestra la figura 30.

Figura 30.Importacin Proteg

b) Creacin de nuevas relaciones: El segundo paso ha sido crear


nuevas relaciones para integrar todo en un modelo ontolgico
comn. En la figura 31 pueden verse las relaciones creadas

105

Figura 31. ObjectProperties Protege

La figura 32 muestra en detalle las propiedades de una relacin.


Como podemos ver contamos con los siguientes atributos o
propiedades aplicables a una relacin:

EquivalentTo: Indica si esta relacin es equivalente a otra y,


por tanto, podran inferirse datos a travs de ambas.

SubPropertyOf: Indica si esta relacin es una subrelacin de


otra superior, por ejemplo, podramos tener alumnos en una
asignatura y como subrelacin podramos tener online y
presencial.

InverseOf: Indica si cuenta con una relacin inversa y, si es


as, muestra de cual se trata.

Domains: Hace referencia al concepto del que parte la


relacin.

Ranges: Hace referencia al concepto destino de esta


relacin.

106

Figura 32. Detalle propiedades Proteg

c) Adecuacin de los atributos: El tercer paso ha sido adecuar los


atributos tal y como se indica en el apartado de conclusiones y
asignarlos a los diferentes conceptos. La figura 33 muestra en
detalle un atributo asignado. Como podemos ver contamos con las
siguientes propiedades aplicables a un relacin

EquivalentTo: Indica si existe un atributo equivalente a este.

SubPropertyOf: Indica si este atributo es una especificacin


de un atributo de mayor rango.

Domains: Aqu se muestran los conceptos sobre los que se


aplica este atributo en particular.

Ranges: Indica el tipo de valor que puede adquirir este


atributo, podramos asemejarlo a un tipo de variable en un
lenguaje de programacin tradicional.

107

Figura 33. Atributos de concepto Proteg

d) Creacin de las instancias: El ltimo paso habra de ser insertar


las instancias dentro de nuestra ontologa, sin embargo, en nuestro
caso, ser el servicio Web el encargado de hacer esta tarea.

6.2

OntoSakaiWS

6.2.1 Especificacin de requisitos de software.


En este apartado abarcamos la especificacin de requisitos del servicio
Web OntoSakaiWS, encargado de actuar de intermediario ente OntoSakai
y las herramientas desarrolladas para Sakai.

6.2.1.1

Propsito

El objetivo es definir de manera clara y concisa las funcionalidades y


restricciones

del

servicio

web

OntoSakaiWS

para

uso

de

los

desarrolladores de software.

Este documento constituir la base del equipo de desarrollo, el cual


debe seguir las pautas presentes en este documento para la realizacin
de las funcionalidades especificadas.

108

6.2.1.1.1 mbito del sistema


El servicio Web a desarrollar se denominar OntoSakaiWS. Esta
aplicacin proporcionar una interfaz para la gestin de las ontologas que
conforman OntoSakai, la cual permitir hacer consultas, ediciones y
nuevas inserciones dentro del catlogo de OntoSakai.

El fin ltimo de este desarrollo es proporcionar un sistema mediante el


cual, una tercera aplicacin, pueda tomar el control de las ontologas y
tratarlas en funcin a los datos de entrada y las operaciones solicitadas
por el usuario.

Esta aplicacin se plantea como un modelo de base, escalable


fcilmente, sobre el que incluir futuras necesidades y especificaciones.

6.2.1.1.2 Definiciones, acrnimos y abreviaturas

Este apartado recoge las definiciones, acrnimos y abreviaturas que se


utilizan en el presente documento, con el fin de facilitar la comprensin y
la lectura del mismo:

Servicio Web: tecnologa que utiliza un conjunto de protocolos y


estndares

que

sirven

para

intercambiar

datos

entre

aplicaciones. Distintas aplicaciones de software desarrolladas en


lenguajes de programacin diferentes, y ejecutadas sobre
cualquier plataforma, pueden utilizar los servicios web para
intercambiar datos en redes de ordenadores como Internet.

Cliente: es una mquina o proceso que accede a recursos y


servicios de forma remota, ofrecidos por un servidor.

Ontologa: esquema conceptual dentro de uno o varios


dominios dados; con la finalidad de facilitar la comunicacin y el
intercambio

de

informacin

entidades.

109

entre

diferentes

sistemas

OntoSakai: Modelo ontolgico formado por una serie de


ontologas que representa el contenido semntico del dominio
de un LMS.

Servidor: es un sistema que, formando parte de una red, ofrece


servicios a otras mquinas denominadas clientes, tambin se
conoce con el nombre de host.

6.2.1.1.3 Visin general del documento ERS

El documento recoge los requisitos necesarios para el desarrollo del


servicio web OntoSakai segn el estndar "IEEE Recommended Practice
for Software Requirements Specications (IEEE/ANSI 830 -1993).

El documento se basa en las entrevistas realizadas con los directores


del presente trabajo fin de grado, as como en el estudio y anlisis de la
documentacin existente.

6.2.1.2

Descripcin general

Esta seccin del documento reflejar las caractersticas del presente


desarrollo.

6.2.1.2.1 Perspectiva del producto

Con el objetivo de dotar a los LMS con caractersticas de


personalizacin y recomendacin de ha desarrollado

un modelo

ontolgico denominado OntoSakai.

Tomando como punto de partida dicho modelo ontolgico, se


desarrollar este servicio web con la pretensin de servir como base para
implementar estos servicios de recomendacin y personalizacin en el
LMS Sakai.

110

Este desarrollo servir como base sobre la cual construir nuevas


aplicaciones que aporten de conocimiento experto al entorno de Sakai.

6.2.1.2.2 Funciones del desarrollo

Este apartado detallar las funciones bsicas, en base a las cuales se


desarrollar el servicio web.

a) La aplicacin debe ser capaz de leer el modelo ontolgico contenido


en las diferentes ontologas que componente OntoSakai.
b) La aplicacin debe ser capaz

de editar el modelo ontolgico,

creando en l nuevas instancias de las clases definidas y


modificando instancias ya existentes con el fin de aadir nueva
informacin.
c) La aplicacin debe ofrecer informacin formateada e interpretable
desde una tercera aplicacin, de los datos contenidos en
OntoSakai.

6.2.1.2.3 Caractersticas de los usuarios

En este caso concreto, los usuarios de esta aplicacin sern


herramientas de software que consumirn los servicios ofrecidos por el
sistema.

6.2.1.2.4 Restricciones

Se han recogido las siguientes restricciones que deben tenerse en


cuenta a la hora de desarrollar el proyecto.

El desarrollo debe cumplir con los estndares de la industria de


ingeniera del software.

La informacin ofrecida por el sistema debe tener un formato


homogneo de forma que la lectura pueda estandarizarse.
111

El sistema debe ofrecer mecanismos para el control de la


integridad referencial dentro de la ontologa.

6.2.1.2.5 Suposiciones y dependencias

El desarrollo se realiza con un entorno de desarrollo integrado


como es Eclipse Java EE IDE for Web Developers.

El servicio web debe correr en un servidor de aplicaciones, en


nuestro caso hemos usado Apache Tomcat, debido a que este
servidor se presenta como uno de los requisitos para el
funcionamiento de Sakai.

El servicio web debe contener, entre sus dependencias, el


modelo ontolgico OntoSakai, formado por cuatro ontologas. De
modo que pueda atacarlas cuando sea necesario.

Se ha seleccionado el lenguaje de programacin Java porque


representa un estndar multiplataforma, y adems, posibilita
crear aplicaciones mantenibles con cdigo reutilizable.

Para el manejo de ontologas hemos optado por usar el


framework Apache Jena, que nos permite atacar las ontologas
de manera sencilla y eficiente.

6.2.1.2.6 Requisitos futuros

Este servicio web se desarrolla como base sobre la que construir una
integracin completa de OntoSakai con el LMS Sakai.

Por cuestiones de tiempo, en el presente desarrollo nos hemos


centrado en las funcionalidades relacionadas con la recomendacin de
recursos dentro del campus virtual.
112

Para desarrollos futuros habra que escalar las funcionalidades de este


servicio web, incluyendo el resto del mbito de OntoSakai.

6.2.1.3

Requisitos especficos.

Esta seccin especificar con detalle los requisitos que debe poseer
esta aplicacin.

6.2.1.3.1 Interfaces externas

No se han definido interfaces externas para esta aplicacin.

6.2.1.3.2 Funciones

En este apartado definiremos las funciones especficas que debe


cumplir esta aplicacin.

RF-1: Aadir, modificar y listar asignaturas.

RF-2: Aadir, modificar y listar herramientas de una asignatura.

RF-3: Aadir, modificar y listar elementos especficos de una


herramienta concreta.

RF-4: Aadir, modificar y listar Topics.

RF-5: Aadir, modificar y listar TopicItems relacionados con un


topic en concreto.

RF-6: Relacionar recursos con topicItems.

RF-7: Relacionar recursos con Asignaturas.

RF-8: Relacionar recursos con otros recursos.

RF-9: Realizar recomendaciones de recursos segn sus


relaciones definidas.

RF-10: Mantener la integridad referencial del modelo ontolgico.

113

6.2.1.3.3 Requisitos de rendimiento.

La aplicacin debe garantizar unos niveles de rendimiento altos, ya que


es la base sobre la que se construirn herramientas para LMS que deben
responder con rapidez y fluidez.

Las lecturas de datos no se demorarn ms de 1 segundo.

Las inserciones de datos no se demorarn ms de 3 segundos.

6.2.1.3.4 Restricciones de diseo.

No se han definido restricciones de diseo para el desarrollo de esta


aplicacin.

6.2.1.3.5 Atributos del sistema.

El servicio web desarrollado deber cumplir con las caractersticas


listadas a continuacin.

Deber ofrecer datos en un formato fcilmente tratable por las


aplicaciones cliente, tanto integradas con Sakai como externas
al citado LMS.

El servicio web debe poder instalarse en cualquier servidor de


aplicaciones, independientemente del sistema operativo sobre el
que se est ejecutando.

El servicio web debe desarrollarse de forma que sea fcilmente


escalable a fin de facilitar futuros desarrollos sobre el mismo.

114

6.2.1.3.6 Otros requisitos

No se han definido otros requisitos a parte de los ya definidos con


anterioridad.

6.2.1.4

Definicin de los actores


ACT-01

OntoSakai Resources

Versin

1.0

Autor

Alberto Miguel Oliva Molina

Descripcin

Herramienta subida de recursos

Comentarios

Debe ser capaz de realizar todas las


operaciones de creacin de elementos
y listado de los mismos
Tabla 24. Definicin Actor 1 OntoSakaiWS

ACT-02

OntoSakai Browser

Versin

1.0

Autor

Alberto Miguel Oliva Molina

Descripcin

Herramienta descarga y recomendacin


de recursos

Comentarios

Debe ser capaz de realizar todas las


operaciones de listado de elementos y
de recomendacin de recursos.
Tabla 25. Definicin actor 2 OntoSakaiWS

115

6.2.1.5

Casos de uso
En este apartado se muestra un diagrama de casos de uso (figura 34)

del funcionamiento del servicio web.

Figura 34. Diagrama casos de uso OntoSakaiWS

Debido a su extensin, las especificaciones de los casos de uso se


recogen en el "ANEXO A1".

6.2.1.6

Diagramas de secuencia

Un diagrama de secuencia muestra la interaccin en forma de grfico,


el cual consta de dos dimensiones; La dimensin vertical es el eje de
tiempo, que avanza hacia el final. La dimensin horizontal, que muestra
los roles que representan los objetos.

116

Los diagramas de secuencia se recogen en el "ANEXO B1". Cabe


destacar que se ha planteado un diagrama de secuencia por cada caso
de uso.

6.2.2 Diseo de la solucin


En presente aparado detalla el diseo de la solucin Para el caso de
OntoSakaiWS. El diseo de la solucin incluye el diagrama de clases y el
diseo de la interface.
6.2.2.1

Modelo de clases
En el presente apartado detallaremos el modelo de clases de

OntoSakaiWS.

La figura 35 muestra el modelo de clases de OntoSakaiWS.

117

Figura 35. . Diagrama de clases OntoSakaiWS

Como podemos observar, hemos creado tres clases:

OntManager: Es la encargada de interactuar a bajo nivel con el


modelo ontolgico de OntoSakai.

WSInterface: Es la clase que contiene todos los mtodos


pblicos del servicio Web. Instancia a la clase OntManater para
ello.

CommonFunctions: Esta clase contiene una serie de funciones


auxiliares que son empleadas por las otras dos clases, tales
como formatear los datos o realizar la escritura fsica de la
ontologa.

118

Las clases de la API que hemos usado para el desarrollo han sido:

QueryExecution:

Encargada

de

ejecutar

las

consultas

SPARQL.

ValidityReport: Genera un reporte del estado del modelo tras la


carga.

Query: Las instancias de esta clase son las consultas SPARQL


propiamente dichas.

Individual: Las instancias de esta clase son los individuales


(Instancias de conceptos) del modelo.

Propertie: Representa las data properties de los individuales.

ResultSet: Necesario para almacenar los resultados de las


consultas SPARQL.

OntClass: Representa los conceptos o clases dentro del


modelo.

6.2.2.2

OntModel: Representa el modelo completo.

Diseo de la interfaz.
OntoSakaiWS carece de interface grfica propia.

6.2.2.3

Plan de pruebas unitarias


Para el caso del servicio web, se han planificado pruebas para cada

uno de los casos de uso, de forma que tengamos la certeza de que, en


cualquier caso, su funcionamiento es el esperado. La tabla 26 muestra las
pruebas unitarias planificadas.

119

ID

Descripcin

Caso de

Propsito

Superada

uso
CP-001

Creacin

de CU-01 Crear Comprobar

nuevas

Asignatura

Asignaturas

el S

correcto
funcionamiento de la
insercin

de

asignaturas a travs
del servicio web
CP-002

Creacin

de CU-02 Crear Comprobar

nuevas

Herramienta

herramientas

el S

correcto
funcionamiento de la
insercin

de

herramientas
travs

del

a
servicio

web
CP-003

Creacin

de CU-03 Crear Comprobar

nuevos topics

Topic

el S

correcto
funcionamiento de la
insercin de topics a
travs

del

servicio

web
CP-004

Creacin

de CU-04 Crear Comprobar

nuevos topicItem

TopicItem

el S

correcto
funcionamiento de la
insercin

de

topicItems a travs
del servicio web
CP-005

Creacin

de CU-05 Crear Comprobar

nuevos recursos

Recurso

el S

correcto
funcionamiento de la
insercin de recursos
a travs del servicio
web

CP-006

Listado de todos CU-06

Comprobar

los

correcto listado de

topics Obtener

existentes en el topics

todos

120

los

el S

topics

sistema

existentes dentro del


modelo ontolgico a
travs

del

servicio

Web
CP-007

Listado de todos CU-07

Comprobar

los

correcto listado de

recursos Obtener

los

el S

existentes en el recursos

todos

recursos

sistema

dentro del ontolgico


a travs del servicio
Web

CP-08

Listado de todos CU-08

Comprobar

los

correcto listado de

topicItems Obtener

relacionados con topicItems

todos los topicItems

un

contenidos

topic

en contenidos

particular
CP-09

el S

en Topic

en

un

topic.

Listado de todos CU-09

Comprobar

los

correcto listado de

topicItem Obtener

referidos por un TopicItems


recurso

los

el S

topicItems

en referidos por relacionados con un

particular.

un recursos

recursos

en

particular
CP-010

Obtener el Topic CU-10

Comprobar

al que pertenece Obtener

correcta

un

Obtener
los

pertenece

est

topicItem

topicItem

todos CU-11
recursos Obtener

una asignatura

Obtener

contenido

un

Comprobar

el S

correcto listado de

relacionados con recursos de todos

CP-012

devolucin

determinado topic al que del Topic en el que

topicItem

CP-011

la S

los

recursos

una

pertenecientes a una

asignatura

asignatura concreta

el CU-12

Comprobar

la S

nombre de una Obtener

correcta

asignatura

del nombre de una

travs de su ID

a nombre
asignatura

asignatura a travs
de su ID

121

devolucin

CP-013

Obtener

un CU-013

Comprobar

el S

listado de todas Obtener

correcto listado de

las asignaturas

todas las asignaturas

Asignaturas

existentes

en

el

modelo ontolgico
CP-014

Obtener
de

listado CU-14
recursos Obtener

relacionados
partir

de

a recursos

Comprobar

el S

correcto listado de
recursos

un relacionados relacionados

recurso concreto

con recurso

partiendo

de

un

recurso en particular
CP-015

Obtener

un CU-15

Comprobar

listado

de Obtener

correcto listado de

recursos

recursos

relacionados
partir

de

el S

recursos

a relacionados relacionados con un


un topicItem

topicItem

topicItem
CP-016

Crear

relacin CU-16 Crear Comprobar

consistsOf

CP-017

Crear

CP-018

Crear

Crear

correcta creacin de

consistsOf

la relacin

correcta creacin de

refersTo

la relacin
la S

relacin

correcta creacin de

isRelatedTo

la relacin

relacin CU-19 Crear Comprobar

belongsTo

la S

relacin

relacin CU-18 Crear Comprobar

isRelatedTo

CP-019

relacin

relacin CU-17 Crear Comprobar

refersTo

la S

la S

relacin

correcta creacin de

belongsTo

la relacin

Tabla 26. Casos de prueba OntoSakaiWS.

122

6.2.3 Pruebas de esfuerzo


Para el caso concreto de OntoSakaiWS se han considerado una serie
de pruebas de esfuerzo debido a que este componente ser el que ms
carga de trabajo soporte.

Las pruebas de esfuerzo han consistido en una serie de operaciones,


con el objetivo de saturar el servicio o bien tratar de corromper las
ontologas mediante la introduccin de gran cantidad de datos. En la tabla
27 se especifican las pruebas realizadas.

ID
CP-001

Descripcin

Propsito

Inserciones

Comprobar el comportamiento del

masivas de

servicio web ante la insercin de

datos simples.

datos simples durante un periodo

Superada
S

prolongado de tiempo.
CP-002

Inserciones

Comprobar la capacidad del

masivas de

servicio web para soportar una

datos y creacin

carga de procesamiento alta,

de relaciones

consistente en crear nuevas

de los mismos.

instancias de las entidades y

relacionarlas entre s.
CP-003

Inserciones
masivas de
datos y creacin
de relaciones
de los mismos.
Posterior
eliminacin de

Comprobar la capacidad del


servicio web para soportar una
carga de procesamiento alta,
consistente en crear nuevas
instancias de las entidades y
relacionarlas entre s.
Posteriormente han sido
eliminadas y vueltas a crear para
comprobar el correcto
funcionamiento de la eliminacin.

entidades y
comprobacin
de las
relaciones.
Tabla 27. Pruebas de esfuerzo.

123

6.2.4 Despliegue
En este apartado vamos a detallar el despliegue de este servicio Web
mediante el uso de un diagrama de despliegue UML mostrado por la
figura 36.

Figura 36. Diagrama de despliegue OntoSakaiWS

6.3

OntoSakai Resources

6.3.1 Especificacin de requisitos de software.

En este apartado abarcamos la especificacin de requisitos de la


herramienta de Sakai Ontosakai Resources.

6.3.1.1

Propsito

El objetivo es definir de manera clara y concisa las funcionalidades y


restricciones de la herramienta OntoSakai Resources para uso de los
desarrolladores de software.

124

Este documento constituir la base del equipo de desarrollo, el cual


debe seguir las pautas presentes en este documento para la realizacin
de las funcionalidades especificadas.

6.3.1.1.1 mbito del sistema


La herramienta a desarrollar se denominar OntoSakai Resources.
Esta herramienta proporcionar una interfaz grfica para la gestin de las
recursos dentro del LMS Sakai, la cual permitir a los docentes crear
nuevo contenido dentro de la plataforma, asociarlo con otros recursos ya
existentes y clasificarlos mediante el uso de TopicItems.

El fin ltimo de este desarrollo es proporcionar un sistema mediante el


cual podamos dotar a los recursos subidos al campus virtual de
informacin semntica que ser utilizada por otras aplicaciones para
realizar recomendaciones a los usuarios.

6.3.1.1.2 Definiciones, acrnimos y abreviaturas

Este apartado recoge las definiciones, acrnimos y abreviaturas que se


utilizan en el presente documento, con el fin de facilitar la comprensin y
la lectura del mismo:

Docente: hace referencia al personal de la universidad


encargado de subir los recursos.

Alumno: usuario que consumir los recursos del campus y al


cual estn orientados los servicios de recomendacin.

Recurso: elemento subido al campus, que contendr tanto el


documento

proporcionado

por

el

docente

como

la

metainformacion semntica relacionada con el mismo.

Herramienta: referido a las aplicaciones integradas dentro de


Sakai que ofrecen un servicio o funcionalidad.

LMS: sistema de gestin del aprendizaje. Entorno que facilita el


proceso de aprendizaje de los alumnos.
125

Topic: rea de conocimiento compuesta por diversos temas.

TopicItem: elemento que define un tema determinado dentro de


un rea de conocimiento especifica.

6.3.1.1.3 Visin general del documento ERS

El documento recoge los requisitos necesarios para el desarrollo de la


herramienta

OntoSakai

Recommended

Practice

Resources
for

Software

segn

el

estndar

Requirements

"IEEE

Specications

(IEEE/ANSI 830 -1993).

El documento se basa en las entrevistas realizadas con los directores


del presente trabajo fin de grado, as como en el estudio y anlisis de la
documentacin existente.

6.3.1.2

Descripcin general

Esta seccin del documento reflejar las caractersticas del presente


desarrollo.

6.3.1.2.1 Perspectiva del producto

Con el objetivo de permitir la recomendacin de recursos por parte del


LMS a los alumnos, es necesario dotar a cada recurso con una serie de
informacin semntica.

Esta informacin est constituida, por los recursos existentes que se


relacionen directamente con nuestro recurso, y los topicItems a los que el
recurso pertenezca.

El objetivo de este herramienta es el de permitir a los docentes


generar, de forma sencilla e intuitiva, estos recursos y su informacin
semntica relacionada.
126

Los elementos generados por esta aplicacin, sern de utilidad en la


herramienta de recomendacin.

6.3.1.2.2 Funciones del desarrollo

Este apartado detallar las funciones bsicas, en base a las cuales se


desarrollar el servicio web.

a) Todo usuario con privilegios de docente podr acceder a esta


herramienta y crear nuevo contenido.
b) Los usuarios con privilegios deben ser capaces de crear nuevos
topics y/o topicItems
c) La aplicacin debe valerse de OntoSakaiWS para gestionar la
informacin semntica.
d) La aplicacin debe permitir la escritura en la base de datos propia
de Sakai, a fin de permitir el uso de estos recursos por las
aplicaciones incorporadas en el ncleo de Sakai.

6.3.1.2.3 Caractersticas de los usuarios

Las caractersticas de los usuarios son las siguientes:

Docente: Ser el encargado de generar los nuevos recursos as


como

de

dotarlos

de

informacin

semntica.

Requiere

conocimientos bsicos sobre el funcionamiento de nuestra


herramienta as como los conceptos relacionados con la
informacin semntica a proporcionar.

127

6.3.1.2.4 Restricciones

Se han recogido las siguientes restricciones que deben tenerse en


cuenta a la hora de desarrollar el proyecto.

El desarrollo debe cumplir con los estndares de la industria de


ingeniera del software.

La interface de usuario debe ser sencilla e intuitiva.

Se debe controlar la introduccin manual de datos por parte del


usuario a fin de evitar informacin no valida.

Valindonos de las funciones de control de OntoSakaiWS se


debe garantizar la integridad referencial antes de cada nueva
insercin.

6.3.1.2.5 Suposiciones y dependencias

El desarrollo se realiza con un entorno de desarrollo integrado


como es Eclipse Java EE IDE for Web Developers.

La herramienta debe funcionar embebida dentro del LMS Sakai,


por lo que debemos crearla siguiendo las especificaciones del
mismo.

Se han seleccionado los lenguajes de programacin Java, JSP y


Javascript porque representan un estndar multiplataforma, y
adems, posibilita crear aplicaciones mantenibles con cdigo
reutilizable.

Como herramienta para la subida fsica de los archivos al


servidor hemos optado por un cliente webDAV, tecnologa que
nos ofrece Sakai de forma nativa que nos permite trabajar de
forma independiente a la estructura de archivos o de base de

128

datos del LMS, esto nos permitir implantar esta solucin en


cualquier entorno Sakai, sea cual sea su configuracin.

6.3.1.2.6 Requisitos futuros

Esta herramienta cubre el campo de la generacin de recursos, de


forma que se integra perfectamente con el entorno de Sakai y permite
trabajar con los recursos de forma similar a como lo hace la aplicacin
navita, con el aadido de la informacin semntica.

Por otro lado, ha quedado fuera del desarrollo cierta metainformacion


que Sakai proporciona a sus recursos. La lnea futura a seguir consistira
en agregar dicha informacin.

6.3.1.3

Requisitos especficos.

Esta seccin especificar con detalle los requisitos que debe poseer
esta aplicacin.

6.3.1.3.1 Interfaces externas

Los usuarios accedern a una pantalla de identificacin donde deben


introducir su contrasea.

Una vez identificados mostraremos un formulario en el que pueden


seleccionar el archivo a subir as como la informacin semntica que
deseen agregar.

Debemos

incluir

tambin

formularios

topics/TopicItems.

129

para

la

creacin

de

6.3.1.3.2 Funciones

En este apartado definiremos las funciones especficas que debe


cumplir esta aplicacin.

RF-1: Aadir nuevos recursos.

RF-2: Aadir nuevos topics.

RF-3: Aadir nuevos topicItems.

RF-4: Identificar al usuario por su contrasea.

RF-5: Listar otros recursos existentes en el sistema.

RF-6: Listar todos los topicItems existentes en el sistema.

RF-7: Listar todos los topics existentes en el sistema.

RF-8: Clasificar topicItems segn los topics a los que


pertenecen.

RF-9: Clasificar los recursos segn las asignaturas a las que


pertenecen.

RF-10: Relacionar cada recurso con diferentes topicItems.

RF-11: Relacionar cada recurso con otros recursos existentes.

RF-12: Relacionar cada topicItem con un topic concreto.

6.3.1.3.3 Requisitos de rendimiento.

No se han definido requisitos de rendimiento para el desarrollo de esta


herramienta.

6.3.1.3.4 Restricciones de diseo.

No se han definido restricciones de diseo para el desarrollo de esta


aplicacin.

130

6.3.1.3.5 Atributos del sistema.

El servicio web desarrollado deber cumplir con las caractersticas


listadas a continuacin.

Deber

poder

instalarse

en

cualquier

entorno

Sakai,

independientemente de su configuracin.

El sistema deber poder controlar la introduccin de datos no


viables por parte del usuario.

El sistema controlar los credenciales del usuario antes de


permitirle crear nuevos datos.

6.3.1.3.6 Otros requisitos

No se han definido otros requisitos a parte de los ya definidos con


anterioridad.

6.3.1.4

Definicin de los actores

ACT-01

Docente

Versin

1.0

Autor

Alberto Miguel Oliva Molina

Descripcin

Usuario que crea nuevos datos en el


sistema

Comentarios

Deber ser capaz de crear nuevos


recursos

as

como

asociarlos

con

informacin semntica.

Deber, del mismo modo, ser capaz de


crear nuevos topics topicItems.
Tabla 28. Definicin actor OntoSakai Resources

131

6.3.1.5

Casos de uso

En este apartado se muestra un diagrama de casos de uso (Figura 37)


del funcionamiento de OntoSakai Resources.

Figura 37. . Diagrama de casos de uso OntoSakai Resources

Cabe destacar que, en el caso de CU01, tenemos dos relaciones de


inclusin con los casos de uso CU05 y CU04, esto es debido a que subir
un recurso implica crear las relaciones con los recursos y topicItems que
el docente indique.

Lo mismo sucede con el caso de uso CU03, deben crearse las


relaciones con su topic.

132

En los casos concretos de los listados, se listan los elementos bsicos


(recursos o topicItems) y a su vez debemos listar los elementos padre
(Asignaturas y topics) a modo de clasificacin de los primeros, facilitando
as la navegacin por los listados.

Debido a su extensin, las especificaciones de los casos de uso se


recogen en el "ANEXO A2".

6.3.1.6

Diagramas de secuencia

Un diagrama de secuencia muestra la interaccin en forma de grfico,


el cual consta de dos dimensiones; La dimensin vertical es el eje de
tiempo, que avanza hacia el final. La dimensin horizontal, que muestra
los roles que representan los objetos.

Los diagramas de secuencia se recogen en el "ANEXO B2". Cabe


destacar que se ha planteado un diagrama de secuencia por cada caso
de uso, integrando los casos include en los casos que los incluyen.

6.3.2 Diseo de la solucin


En presente aparado detalla el diseo de la solucin Para el caso de
OntoSakai Resources. El diseo de la solucin incluye el diagrama de
clases y el diseo de la interface.

6.3.2.1

Modelo de clases
En este apartado veremos el modelo de clases de OntoSakai

Resources.

Esta herramienta cuenta con dos modelos bien diferenciados, por una
parte, la funcionalidad programada en J2EE. Cuya funcionalidad principal
es la de ofrecer informacin de contexto a travs de la API de Sakai.

133

La figura 38 muestra el diagrama de clases de la aplicacin.

Figura 38. Diagrama de clases OntoSakai Resources

Como podemos ver, las clases son las siguientes:

MainController: Es la clase de la capa de presentacin,


encargada de interactuar directamente con el contexto de Sakai.

SakaiProxy: Es un interfaz que permite obtener datos del


contexto actual de Sakai.

SakaiProxyImp: Implementacin de la interfaz SakaiProxy.

ProjectLogic: En esta clase debemos programar las funciones


relacionadas con la lgica de negocio.

Item: Hace referencia a la unidad mnima en Sakai, un tem


puede representar cualquier objeto en Sakai, como un usuario,
una propertie, etc.

Logger: Es la clase encargada de generar los registros de


sucesos.

134

Por otro lado, las funcionalidades programadas en el lado del cliente,


estas son las encargadas de generar el layout de la aplicacin y de
capturar los eventos producidos por el usuario.

La

figura

39

muestra

el

diagrama

de

componentes

de

las

funcionalidades en el cliente.

Figura 39. Diagrama de componentes OntoSakai Resources

Como podemos observar, en este caso contamos con 8 componentes.

OntoClient:

Encargado

de

las

funciones

principales

relacionadas con OntoSakaiWS.

CommonClient: Contiene funciones axuliares as como algunas


de las funciones encargadas del layout.

TopicCreator: Encargado de la gestin de los topic/topicItems.

UploadClient: Funciones relacionadas con la creacin de


nuevas instancias y la subida del recurso al servidor

WebDav: Encargado de subir el documento a Sakai.

SubjectIntegrityChecker: Tiene como principal funcionalidad


mantener la integridad referencial en la ontologa, comprobando
si los datos son vlidos antes de cada insercin.

ListManager: Su principal funcin es la gestin de los listados


de topics y recursos.
135

Index.jsp: Es la pgina principal desde la que se gestiona todo


el proceso.

6.3.2.2

Diseo de la interface.
En este apartado se observar el diseo de la interfaz, as como cada

una de sus funcionalidades.

6.3.2.2.1 Pantalla de login


En la siguiente figura 40 podemos observar la interface de acceso a la
herramienta, en ella, el usuario debe introducir su contrasea para poder
continuar.

Figura 40. Diseo Interface OntoSakai Resources: Login

Se solicita solo la contrasea, obteniendo la ID del usuario desde el


contexto, con el fin de limitar el prejuicio que supone para el usuario tener
que loguearse estando ya dentro del LMS Sakai.

6.3.2.2.2 Pantalla general OntoResources


Una vez que el usuario ha accedido al sistema, se encuentra con una
interface para la subida de datos. En la figura 41 se muestra una vista
general de la aplicacin, que iremos desglosando en apartados
posteriores.

136

Figura 41. Diseo Interface OntoSakai Resources: General

En primer lugar nos encontramos con un elemento de tipo File, que nos
permite seleccionar el archivo que deseamos subir, el cual se muestra en
el formulario una vez ha sido seleccionado, como muestra la figura 42.

Figura 42. Diseo Interface OntoSakai Resources: Subida

En la parte media de la pantalla, en el lado izquierdo, encontramos la


interface de seleccin de topicItems, mediante esta interface, el usuario
puede ligar el recurso que va a subir con los diferentes topicItems
existentes en el sistema. En la figura 43 se muestra un recurso
relacionado con tres topicItems.

137

Figura 43. Diseo Interface OntoSakai Resources: Topics Relacionados

Cabe destacar tambin los dos botones que podemos ver en la parte
inferior izquierda de la imagen. Estos botones nos permiten crear un
nuevo topic o bien un nuevo topicItem, tal y como se muestra a
continuacin.

Nuevo Topic; para la creacin de un nuevo topic, basta con introducir


su nombre en el formulario que muestra la figura 44.

Figura 44. Diseo Interface OntoSakai Resources: Nuevo Topic

138

Nuevo topicItem; en este caso, debe seleccionarse el topic al cual


pertenecer el nuevo topicItem que vamos a crear, tal como muestra la
figura 45.

Figura 45. Diseo Interface OntoSakai Resources: Nuevo TopicItem

Finalmente, como podemos ver en la figura 46, encontramos el apartado


de Recursos relacionados, desde aqu, el usuario puede relacionar
directamente el nuevo recurso a subir con los recursos que ya existan
previamente en el sistema.

Figura 46. Diseo Interface OntoSakai Resources: Recursos relacionados

139

6.3.3 Pruebas unitarias


Para el caso de la herramienta OntoSakai Resources, se han
planificado pruebas para cada uno de los casos de uso, de forma que
tengamos la certeza de que, en cualquier caso, su funcionamiento es el
esperado. La tabla 29 muestra las pruebas unitarias planificadas.

ID

Descripcin

Caso de

Propsito

Superada

uso
CP-001

Crear

nuevo CU-01

recurso

Comprobar

la S

Creacin de correcta insercin de


nuevo

un nuevo recurso

recurso
CP-002

Creacin
nuevos topics

de CU-02
Crear

Comprobar

el S

correcto

nuevo Topic funcionamiento de la


insercin de topics,
CP-003

Creacin

de CU-03

Comprobar

el S

nuevos

Crear

correcto

topicItem

TopicItem

funcionamiento de la
insercin

de

topicItems.
CP-004

Crear

relacin CU-04

de recurso con Relacionar

Comprobar

que

la S

relacin del recurso a

diferentes

recurso con subir

topicItems

topicItems

se

produce

correctamente con los


topicItems deseados.

CP-005

Crear

relacin CU05

Comprobar

de recurso con Relacionar

CP-006

que

la S

relacin del recurso a

diferentes

recurso con subir

recursos

recursos

correctamente con los

existentes

recursos deseados.

Crear

relacin CU-06

se

Comprobar

produce

que

la S

de topicItem con Relacionar

relacin del topicItem

un

creado

topic

concreto

en topicItem
con topic

140

se

produce

correctamente con el

topicItem deseado.
CP-007

Listar todos los CU-08

Comprobar

recursos

correcto

filtrados

Listar
por recursos

asignatura

todos

el S

listado
los

de

recursos

filtrados

por

asignatura.
CP-008

Listar todos los CU10-Listar Comprobar


topicItems
filtrados

topicItems
por

correcto

listado

el S
de

todos los topicItems

topic

filtrados por Topic


Tabla 29. Casos de prueba OntoSakai Resources

6.3.4 Despliegue
En este apartado vamos a detallar el despliegue de esta herramienta
mediante el uso de un diagrama de despliegue UML mostrado por la
figura 47.

Figura 47. Diagrama de despliegue OntoSakai Resources

141

6.4

OntoSakai Browser

6.4.1 Especificacin de requisitos de software

En este apartado abarcamos la especificacin de requisitos de la


herramienta de Sakai Ontosakai Browser.

6.4.1.1

Propsito

El objetivo es definir de manera clara y concisa las funcionalidades y


restricciones de la herramienta OntoSakai Browser para uso de los
desarrolladores de software.

Este documento constituir la base del equipo de desarrollo, el cual


debe seguir las pautas presentes en este documento para la realizacin
de las funcionalidades especificadas.

6.4.1.1.1 mbito del sistema


La herramienta a desarrollar se denominar OntoSakai Browser. Esta
herramienta proporcionar una interfaz grfica para la visualizacin de los
recursos de un sitio concreto (Una asignatura), permitiendo su descarga.

As mismo, har recomendaciones basadas en la informacin


semntica proporcionada por el docente para cada recurso. Las
recomendaciones deben ser de tres tipos: recomendaciones directas,
recomendaciones a travs de topicItem, y recomendaciones a travs de
topics.

Estos recursos recomendados, podrn ser tambin descargados por el


usuario de forma sencilla.

142

6.4.1.1.2 Definiciones, acrnimos y abreviaturas

Este apartado recoge las definiciones, acrnimos y abreviaturas que se


utilizan en el presente documento, con el fin de facilitar la comprensin y
la lectura del mismo:

Docente: hace referencia al personal de la universidad


encargado de subir los recursos.

Alumno: usuario que consumir los recursos del campus y al


cual estn orientados los servicios de recomendacin.

Recurso: elemento subido al campus, que contendr tanto el


documento

proporcionado

por

el

docente

como

la

metainformacion semntica relacionada con el mismo.

Herramienta: referido a las aplicaciones integradas dentro de


Sakai que ofrecen un servicio o funcionalidad.

LMS: sistema de gestin del aprendizaje. Entorno que facilita el


proceso de aprendizaje de los alumnos.

Topic: rea de conocimiento compuesta por diversos temas.

TopicItem: elemento que define un tema determinado dentro de


un rea de conocimiento especifica.

6.4.1.1.3 Visin general del documento ERS

El documento recoge los requisitos necesarios para el desarrollo de la


herramienta OntoSakai Browser segn el estndar "IEEE Recommended
Practice for Software Requirements Specications (IEEE/ANSI 830 -1993).

El documento se basa en las entrevistas realizadas con los directores


del presente trabajo fin de grado, as como en el estudio y anlisis de la
documentacin existente.

143

6.4.1.2

Descripcin general

Esta seccin del documento reflejar las caractersticas del presente


desarrollo.

6.4.1.2.1 Perspectiva del producto

Con el objetivo de sustituir la aplicacin de visualizacin de recursos


por parte de los alumnos y permitir la recomendacin a los mismos de
nuevos recursos se debe desarrollar esta nueva herramienta.

Esta nueva herramienta debe mostrar un listado, en forma de tabla, de


los recursos relacionados con un sitio determinado (el sitio en el que nos
encontremos en cada momento). De cada recurso debemos mostrar sus
recursos relacionados.

6.4.1.2.2 Funciones del desarrollo

Este apartado detallar las funciones bsicas, en base a las cuales se


desarrollar la herramienta.

a) Todo usuario con privilegios podr ver y descargar los recursos.


b) La aplicacin debe valerse de OntoSakaiWS para gestionar la
informacin semntica.
c) La aplicacin debe permitir la descarga de los documentos
mediante un cliente webDAV conectado con el LMS Sakai.

6.4.1.2.3 Caractersticas de los usuarios

Las caractersticas de los usuarios son las siguientes:


Usuario: Debe poder ver los recursos del sitio, sus relaciones y
descargas nos recursos necesarios. Cabe destacar que este usuario
144

genrico puede ser cualquier usuario del LMS Sakai con acceso a esta
herramienta.

6.4.1.2.4 Restricciones

Se han recogido las siguientes restricciones que deben tenerse en


cuenta a la hora de desarrollar el proyecto.

El desarrollo debe cumplir con los estndares de la industria de


ingeniera del software.

La interface de usuario debe ser sencilla e intuitiva.

Se debe permitir la descarga de los recursos y sus recursos


relacionados.

6.4.1.2.5 Suposiciones y dependencias

El desarrollo se realiza con un entorno de desarrollo integrado


como es Eclipse Java EE IDE for Web Developers.

La herramienta debe funcionar embebida dentro del LMS Sakai,


por lo que debemos crearla siguiendo las especificaciones del
mismo.

Se han seleccionado los lenguajes de programacin Java, JSP y


Javascript porque representan un estndar multiplataforma, y
adems, posibilita crear aplicaciones mantenibles con cdigo
reutilizable.

Como herramienta para la descarga fsica de los archivos al


servidor hemos optado por un cliente webDAV, tecnologa que
nos ofrece Sakai de forma nativa que nos permite trabajar de
forma independiente a la estructura de archivos o de base de

145

datos del LMS, esto nos permitir implantar esta solucin en


cualquier entorno Sakai, sea cual sea su configuracin.

6.4.1.2.6 Requisitos futuros

No se han definido requisitos futuros para esta herramienta.

6.4.1.3

Requisitos especficos.

Esta seccin especificar con detalle los requisitos que debe poseer
esta aplicacin.

6.4.1.3.1 Interfaces externas

Los usuarios accedern a una pantalla de identificacin donde deben


introducir su contrasea.

Una vez identificados mostraremos un listado con todos los recursos.


Al interactuar con un recurso determinado debemos mostrar sus
recursos relacionados en tres secciones bien diferenciadas:

Relaciones directas: recursos directamente relacionados por el


docente.

Relaciones mediante topicItem: Recursos que se relacionan con


el actual a travs de las relaciones ontolgicas de sus
topicItems.

Relaciones mediante topic: Todos los recursos relacionados con


los topics a los que, indirectamente, hace referencia nuestro
recurso.

146

6.4.1.3.2 Funciones

En este apartado definiremos las funciones especficas que debe


cumplir esta aplicacin.

RF-1: Mostrar recursos del sitio en curso.

RF-2: Mostrar recursos relacionados con un recurso concreto.

RF-3: Descargar recursos.

RF-4: Descargar recursos relacionados.

RF-5: Deber gestionar las credenciales del usuario.

6.4.1.3.3 Requisitos de rendimiento.

No se han definido requisitos de rendimiento para el desarrollo de esta


herramienta.

6.4.1.3.4 Restricciones de diseo.

No se han definido restricciones de diseo para el desarrollo de esta


aplicacin.

6.4.1.3.5 Atributos del sistema.

La herramienta desarrollada deber cumplir con las caractersticas


listadas a continuacin.

Deber

poder

instalarse

en

cualquier

entorno

Sakai,

independientemente de su configuracin.

El sistema controlar los credenciales del usuario antes de


permitirle crear nuevos datos.

147

6.4.1.3.6 Otros requisitos

No se han definido otros requisitos a parte de los ya definidos con


anterioridad.

6.4.1.4

Definicin de los actores


ACT-01

Usuario

Versin

1.0

Autor

Alberto Miguel Oliva Molina

Descripcin

El usuario podr ver y descargar los


recursos.

Comentarios

Deber ser capaz de visualizar y


descargar tanto los recursos de un sitio
concreto
relacionados

como
con

particular.
Tabla 30. Definicin actor 1 OntoSakai Browser

148

los
un

recursos
recurso

en

6.4.1.5

Casos de uso
En este apartado se muestra un diagrama de casos de uso (figura 48)

del funcionamiento de OntoSakai Browser.

Figura 48. Diagrama de casos de uso OntoSakai Browser

Cabe destacar que las relaciones existentes entre el caso de uso CU03
y los casos de uso CU05, CU06 y CU07 es una relacin de
generalizacin, esto es as debido a que estos ltimos, son casos
especficos de Visualizar recursos relacionados.

Debido a su extensin, la totalidad de los casos de uso se recogen en


el "ANEXO A3".

6.4.1.6

Diagramas de secuencia

Un diagrama de secuencia muestra la interaccin en forma de grfico,


el cual consta de dos dimensiones; La dimensin vertical es el eje de
tiempo, que avanza hacia el final. La dimensin horizontal, que muestra
los roles que representan los objetos.
149

Los diagramas de secuencia se recogen en el "ANEXO B3". Cabe


destacar que se ha planteado un diagrama de secuencia por cada caso
de uso.

6.4.2 Diseo de la solucin


En presente aparado detalla el diseo de la solucin Para el caso de
OntoSakai Browser. El diseo de la solucin incluye el diagrama de
clases y el diseo de la interface.

6.4.2.1

Modelo de clases
En este apartado veremos el modelo de clases de OntoSakai Browser.

Esta herramienta cuenta con dos modelos bien diferenciados, por una
parte, la funcionalidad programada en J2EE. Cuya funcionalidad principal
es la de ofrecer informacin de contexto a travs de la API de Sakai.

La figura 49 muestra el diagrama de clases de la aplicacin.

Figura 49. Diagrama de clases OntoSakai Browser

150

Como podemos ver, las clases son las siguientes:

MainController: Es la clase de la capa de presentacin,


encargada de interactuar directamente con el contexto de Sakai.

SakaiProxy: Es un interfaz que permite obtener datos del


contexto actual de Sakai.

SakaiProxyImp: Implementacin de la interfaz SakaiProxy.

ProjectLogic: En esta clase debemos programar las funciones


relacionadas con la lgica de negocio.

Item: Hace referencia a la unidad mnima en Sakai, un tem


puede representar cualquier objeto en Sakai, como un usuario,
una propertie, etc.

Logger: Es la clase encargada de generar los registros de


sucesos.

Por otro lado, las funcionalidades programadas en el lado del cliente,


estas son las encargadas de generar el layout de la aplicacin y de
capturar los eventos producidos por el usuario.

La

figura

50

muestra

el

diagrama

de

componentes

funcionalidades en el cliente.

Figura 50. Diagrama de componentes OntoSakai Browser


.

151

de

las

Como podemos observar, tenemos 4 componentes:

OntClient: Encargado de todas las funciones relacionadas con


los datos de la ontologa.

WebDav: Es un cliente de webDav para permitir la descarga de


los archivos.

WebDavIF: Acta de intermediaria entre el cliente de webDAV y


el cliente ontolgico, de forma que es capaz de combinar los
datos ofrecidos por ambos para generar los enlaces de
descarga.

6.4.2.2

Index.jsp: Es la pgina principal desde la que se gestiona todo


el proceso.

Diseo de la interface
En este apartado se observar el diseo de la interfaz, as como cada

una de sus funcionalidades.

6.4.2.2.1 Pantalla de login


En la figura 51 podemos observar la interface de acceso a la
herramienta, en ella, el usuario debe introducir su contrasea para poder
continuar.

Figura 51. Diseo Interface OntoSakai Browser: Login

Se solicita solo la contrasea, obteniendo la ID del usuario desde el


contexto, con el fin de limitar el prejuicio que supone para el usuario tener
que loguearse estando ya dentro del LMS Sakai.

152

6.4.2.2.2 Pantalla general OntoBrowser


Una vez que el usuario ha accedido al sistema, se encuentra con un
listado de los recursos subidos en el sitio en curso. En la figura 52 se
muestra una vista general de la aplicacin, que iremos desglosando en
apartados posteriores.

Figura 52. Diseo Interface OntoSakai Browser: Listado de recursos

Como podemos observar, contamos con una tabla con los recursos
existentes para el sitio en el que nos encontremos y detalles sobre los
mismos.

Adems, de cada recurso podemos ver sus recursos relacionados, en


tres categoras, tal y como se detalla en el documento ERS. La figura 53
los muestra los recursos relacionados con el recurso Portada.png.

Figura 53. Diseo Interface OntoSakai Browser: Recursos relacionados

153

Tambin mostramos los recursos relacionados a travs de la inferencia


de sus topics y topicItems. Como muestran las figuras 54 y 55.

Figura 54. Diseo Interface OntoSakai Browser: Recursos relacionados TopicItems

Figura 55. Diseo Interface OntoSakai Browser: Recursos relacionados Topics

6.4.2.3

Plan de pruebas unitarias


Para el caso de la herramienta OntoSakai Browser, se han planificado

pruebas para cada uno de los casos de uso, de forma que tengamos la
certeza de que, en cualquier caso, su funcionamiento es el esperado. La
tabla 31 muestra las pruebas unitarias planificadas.

ID

Descripcin

Caso de

Propsito

Superada

uso
CP-001

Visualizar todos CU-01

Comprobar

los recursos del Visualizar

correcta visualizacin

sitio en curso

de todos los recursos

recursos

la S

del sitio.
CP-002

Descargar

CU-02

Comprobar

recursos

Descargar

correcta descarga de

recursos

los

154

la S

recursos

existentes en un sitio
concreto.
CP-003

Descargar

CU-04

Comprobar

recursos

Descargar

correcta descarga de

relacionados

recursos

los recursos inferidos

relacionados a

travs

la S

de

las

relaciones.
CP-004

Listar todos los CU-05

Comprobar

el S

recursos

Visualizar

correcto listado de los

directamente

recursos

recursos directamente

relacionados

directamente relacionados con un


relacionados recursos particular

CP-005

Lista todos los CU-06.

Comprobar

recursos

correcto listado de los

relacionados
travs

Visualizar
a recursos

recursos relacionados

los relacionados obtenidos

de

la

a travs de inferencia

de

los

topicItem.

topicItem
CP-006

el S

topicItems

Lista todos los CU-07.

Comprobar

recursos

correcto listado de los

relacionados

Visualizar
a recursos

travs los topic.

el S

recursos relacionados

relacionados obtenidos

de

la

a travs de inferencia de los topic


topic
Tabla 31. Casos de prueba OntoSakai Browser

155

6.4.3 Despliegue
En este apartado vamos a detallar el despliegue de esta herramienta
mediante el uso de un diagrama de despliegue UML mostrado por la
figura 56.

Figura 56. Diagrama de despliegue OntoBrowser

156

7. PLAN DE PRUEBAS E INTEGRACIN


En esta seccin trataremos la integracin de todos los elementos de
nuestro desarrollo as como las pruebas de integracin que se han
realizado para comprobar el correcto funcionamiento del mismo.

7.1

Plan de pruebas
En esta seccin detallaremos las pruebas de integracin, ya que otros
tipos

de

pruebas

han

sido

tratados

en

aparados

anteriores

correspondientes a cada desarrollo en particular.

7.1.1 Pruebas de integracin


Para las pruebas de integracin hemos creado en Sakai un nuevo sitio,
en el que hemos habilitado nuestras herramientas. En ellas hemos
realizado las operaciones bsicas de creacin y visualizacin de datos,
comprobando que, en todos los casos, los comportamientos son los
esperados.

ID

Descripcin

CP-001 Crear

nuevo

Propsito

Superada

sitio Comprobar que, la primera vez que S

(Asignatura

y accedemos a un nuevo sitio desde

herramienta)

la la herramienta de recursos desde

primera vez que se Sakai, se crea correctamente una


accede

instancia de dicha herramienta en la


ontologa.

CP-002 Crear nuevo recurso Comprobar

el

correcto S

funcionamiento de la creacin de
nuevos recursos, certificando que
se crea la instancia correspondiente
y las relaciones en la ontologa.
Adems de comprobar su correcta
insercin en la base de datos.
CP-003 Crear nuevo topic

Comprobar

157

el

correcto S

funcionamiento de la creacin de
nuevos topics, certificando que se
crea la instancia correspondiente en
la ontologa.
CP-004 Crear

nuevo Comprobar

topicItem

el

correcto S

funcionamiento de la creacin de
nuevos topicItems, certificando que
se crea la instancia correspondiente
y las relaciones en la ontologa.

CP-005 Listado de topic y Comprobar


topicItems

topicItems

que

los

topics

creados

se

y S

listan

correctamente.
CP-006 Listado de recursos

Comprobar

que,

dada

una S

asignatura concreta, se listan todos


los recursos y son descargables por
parte del usuario.
CP-007 Listado de recursos Comprobar que, dado un recurso S
relacionados

concreto,

se

listan

recursos

relacionados

todos
y

los
son

descargables por parte del usuario.


CP-008 Creacin de eventos Comprobar que, con cada nueva S
creacin, consulta o descarga, se
generan

los

eventos

correspondientes en la base de
datos de Sakai.
Tabla 32. Pruebas de integracin

158

7.2

Integracin de la solucin
En este apartado vamos a detallar el proceso de integracin de la
solucin desarrollada.

La solucin consta de cuatro partes bien diferenciadas:

Servicio web OntoSakaiWS: Encargado de toda la gestin del


modelo ontolgico OntoSakai.

Servidor de base de datos MySQL: Contiene la base de datos de


Sakai.

Sakai: Es el LMS como tal, dentro de l hemos desplegado las


herramientas desarrolladas.

Cliente: Consiste en un navegador web, desde el cual el cliente


interactuar con nuestras aplicaciones.

En la figura 57 podemos ver el diagrama de despliegue de la solucin.

Figura 57. Diagrama de despliegue de la solucin

Como puede verse en el diagrama, nosotros hemos optado por un


equipo servidor basado en una solucin Windows. En l hemos instalado
un Tomcat como servidor de aplicaciones y MySQL Server como servidor
de bases de datos.
159

En nuestro servidor Tomcat, hemos desplegado el LMS Sakai, nuestro


servicio Web OntoSakaiWS y las herramientas desarrolladas (OntoSakai
Resources y OntoSakai Browser). Como se puede apreciar, ambas
herramientas hacen uso del servicio Web y, a su vez, estn integradas
dentro de Sakai.

En cuanto al lado del cliente, cualquier sistema operativo que cuente


con un navegador compatible con HTML5 no debera permitir usar los
productos desarrollados.

Esta es solo una posible solucin, podramos haber optado, para el


caso del servidor, por cualquier otro sistema operativo que soporte
Tomcat, como podra ser una distribucin GNU/Linux o incluso Mac OS X
de Apple.

En el caso del cliente de bases de datos, tambin podramos haber


optado por otras soluciones como son ORACLE o MariaDB.

Cabe destacar, que, en el caso tanto de OntoSakaiWS como del


servidor de bases de datos, no es necesario que se encuentren en la
misma mquina que Sakai, pueden instalarse en entornos diferentes
siempre y cuando puedan comunicarse a travs de la red.

Todos los detalles sobre el proceso de despliegue y los pasos a seguir


para llevarlo a cabo se encuentran en el Anexo C.

160

8. CONCLUSIONES
8.1

Objetivos alcanzados
Al termino del desarrollo de este trabajo fin de grado, podemos afirmar
que hemos cumplido todos los objetivos propuestos al inicio del mismo.

Como logro principal cabe destacar la consecucin de la difcil tarea de


integrar un modelo ontolgico experimental dentro de un entorno como
Sakai. Sin duda este ha sido el reto ms complejo a llevar a cabo.

Se han completado tambin de forma satisfactoria los dos desarrollos


paralelos que comprendan la creacin de herramientas capaces de
explotar la informacin aportada por OntoSakai.

8.2

Conclusiones del trabajo y personales


En desarrollo del presente trabajo se han visto involucradas diferentes
reas de trabajo en las que hemos tenido que profundizar para poder
llevar a buen puerto el desarrollo del mismo.

En primer lugar, nos encontramos con una serie de ontologas que,


sobre el papel, componan un modelo ontolgico completo y funcional, si
bien hemos tenido que realizar un proceso de anlisis y diseo para poder
integrar las diferentes ontologas dentro de un modelo ontolgico que
permita modelar todas las parcelas de un LMS y sus procesos asociados.
Ha habido que crear nuevas relaciones y atributos para algunas de las
clases. Si bien, durante la el desarrollo de la carrera se estudiaron los
fundamentos de la web semntica y los modelos ontolgicos, hemos
tenido que ahondar mucho ms en este rea de conocimiento a fin de
poder completar este desarrollo de manera satisfactoria.

En esta misma lnea de trabajo, hemos aprendido a utilizar con cierta


soltura el lenguaje de consultas SPARQL, empleado para consultar la
161

ontologa, este lenguaje nos ha dado la capacidad de realizar consultas


complejas que de otro modo no habran sido posibles. SPARQL no haba
sido estudiado durante la carrera, de modo que consideramos esto como
un valor ganado con el desarrollo de este proyecto.

A continuacin nos encontramos con la necesidad de desarrollar un


servicio Web que ofreciera todo el conocimiento contenido en la ontologa
de una forma fcil de acceder y manipular con el fin de proveer de
contenido semntico al LMS. Una vez ms, aunque los fundamentos
tericos fueron estudiados en la carrera, nunca habamos desarrollado un
servicio web tan complejo, teniendo, adems, que trabajar con el
framework Jena, lo cual supuso una dificultad aadida en este caso.

En cuanto al desarrollo de las herramientas para Sakai, la principal


dificultad que nos hemos encontrado ha sido la escasa calidad de la
documentacin del proyecto Sakai. Si bien es cierto que existe una
ingente cantidad de documentacin que es posible consultar desde la
web, est documentacin es, a menudo, obsoleta o errnea. Hemos
podido suplir esto inscribindonos en diferentes listas de correo
relacionadas con el desarrollo sobre esta plataforma. En ellas, gracias a
una excelente comunidad de usuarios siempre dispuestos a echar una
mano, hemos resuelto dudas y aprendido los fundamentos para el
desarrollo de herramientas en Sakai.

En sntesis, con este desarrollo hemos conseguido un modelo de


conocimiento estandarizado para representar la informacin de contexto
de Sakai. Este modelo, adems, podra ser fcilmente escalable y ser
portado para su uso en otros LMS y, gracias al proceso de alineacin de
ontologas, puede ser integrado con otras ontologas empleadas en el
mbito educativo con el fin de mejorar an ms los servicios de
recomendacin.

162

A nivel personal, cabe destacar, que ha sido un proceso enriquecedor,


ya que hemos aprendido gran cantidad de nuevos conceptos sobre web
semntica y desarrollo de aplicaciones para la misma.

8.3

Vas futuras
Debido a la enorme dimensin que supone adaptar todo un entorno
LMS para su funcionamiento conjunto con un sistema experto, este
proyecto fin de grado se ha centrado tan solo en desarrollar
principalmente una arquitectura que permita crear, en futuros desarrollos,
nuevas herramientas en Sakai que implementen estas funcionalidades.
En nuestro caso, hemos desarrollado dos herramientas, que permiten la
gestin de recursos con contenido semntico.

A tenor de lo mencionado, y puesto que la base del desarrollo


(OntoSakaiWS) se ha construido teniendo en mente la posibilidad de
incluir nuevas funcionalidades y servicios, podemos citar algunos de los
posibles desarrollos futuros con el fin de integrar toda la funcionalidad de
OntoSakai dentro de un entorno LMS.

Una posible lnea de aplicacin podemos encontrarla en la creacin de


nuevas herramientas para Sakai, siguiendo el proceso descrito en este
trabajo fin de grado. As, podramos dotar de contenido semntico a las
siguientes reas del LMS:

Foros de discusin: En este caso, podramos almacenar la


informacin de los eventos generados por los usuarios en dichos
foros,

los

temas

nuevos

que

son

creados,

los

temas

consultados, los temas respondidos. Con el fin de contar con la


informacin necesaria para catalogar a los usuarios dentro de
diferentes perfiles.

Anuncios: Mediante la semantizacin de los anuncios dentro


del campus virtual, contaramos con la posibilidad de obtener
feedback indirecto sobre los receptores de estos anuncios, esto
163

podra sernos de gran utilidad a la hora de verificar el impacto de


los mismos.

Tareas: Semantizando las tareas, podramos inferir diferentes


aspectos sobre el trabajo realizado por un alumno concreto,
entre ellos cabe destacar la capacidad de trabajo, la efectividad
de dicho trabajo (Ratio calificacin/esfuerzo) y la eficiencia del
alumno (Ratio entre el tiempo transcurrido desde que el alumno
acepta la tarea y el momento de la entrega).

Test: En esta rea en particular, las aportaciones de un


contenido semntico asociado a cada test y alumno nos da la
posibilidad de perfilar comportamientos y patrones. Como
alumnos que repiten el test hasta la perfeccin del mismo, o bien
alumnos que podran estar falseando los resultados del mismo
de algn modo.

Otra posible va futura a construir sobre la base aportada por el


presente trabajo fin de grado seria la posibilidad de usar reglas para inferir
aspectos relativos a la recomendacin o la personalizacin del entorno del
LMS mediante la generacin de perfiles.

Esto podra llevarse a cabo gracias a la incorporacin en OntoSakaiWS


de Pellet, un razonador que permite el uso de reglas expertas para la
inferencia de datos desde nuestro modelo ontolgico.

Grosso modo podramos decir que las reglas a definir en este caso se
podran clasificar en tres grandes grupos:

a) Reglas de recomendacin: El objetivo de estas reglas sera el de


ofrecer recomendaciones, tanto a estudiantes como a docentes, de
acuerdo con diferentes indicadores obtenidos del mbito del
campus virtual.

164

Algunos ejemplos de estas reglas podran ser:

Recomendacin de recursos en caso de suspender un


examen.

Recomendacin de recursos por similitud entre ellos.

Recomendacin de herramientas basndonos en el nivel de


uso de las mismas.

b) Reglas de generacin de perfiles: Estas reglas tienen como objetivo


la asignacin de perfiles a los usuarios del LMS de acuerdo con los
eventos que generan mediante el uso normal del campus virtual.

Algunos ejemplos de este tipo de reglas son:

Usuario activo en herramientas colaborativas.

Usuario inactivo en la herramienta de recursos.

c) Reglas hibridas: Las reglas de recomendacin, descritas en el


apartado a, pueden redefinirse agregando informacin de perfilado
para ofrecer una clasificacin ms adecuada.

Las siguientes reglas son ejemplos de este tipo:

Perfil activo en herramientas colaborativas con elementos


relacionados.

Perfil activo en herramientas colaborativas con evaluaciones


no superadas.

Sera, del mismo modo, interesante integrar todo el contenido


semntico y toda la informacin contenida en el modelo ontolgico al
proceso de evaluacin de los alumnos (Mediante una herramienta
complementaria en Sakai) de modo que el docente, mediante una serie
de informes pueda ver las causas que han llevado a un determinado
alumno a obtener una calificacin concreta en una evaluacin.

165

Como punto culminante, podramos desarrollar una aplicacin para la


gestin de todos los servicios de recomendacin y generacin de perfiles
de manera centralizada. De modo que los docentes pudieran a acudir a
ella para aadir, modificar o simplemente visualizar la informacin
semntica contenida en Sakai. Esta herramienta tendra la capacidad de
realizar informes personalizados por el docente as como la utilidad de dar
una perspectiva global de toda la informacin contenida en el modelo
ontolgico.

166

9. BLIBLIOGRAFIA
1.

Agut, R. M. (2001). Especificacin de Requisitos Software segn

el estndar de IEEE 830.

2.

Almunia, P. (8 de Mayo de 2015). IEDGE. Obtenido de

http://blog.iedge.eu/tecnologia-sistemas-informacion/desarrollo/pabloalmunia-ciclo-de-vida-en-el-desarrollo-de-software-segunda-parte/

3.

Apache. (2007). Semantic web framework for Java.

4.

Barros, H., Silva, A., Costa, E., Bittencourt, I., Holanda, O., &

Sales, L. (2011). Steps, techniques, and technologies for the development


of intelligent applications based on semantic web services: A case study in
e-learning systems. Engineering Applications of Artificial Intelligence.

5.

Bhuasiri, W., Xaymoungkhoun, O., Zo, H., Rho, J., & Ciganek, A.

(2012). Critical success factors for e-learning in developing countries: A


comparative analysis between ICT experts and faculty. Computers &
Education, 843-855.

6.

Boneu, J. (2010). Plataformas abiertas de e-learning para el

soporte de contenidos educativos abiertos. Revista Universidad y


Sociedad del Conocimiento (RUSC) de la Universidad Oberta de
Catalunya, 36-47.

7.

Borjas, V. (8 de Mayo de 2015). profvanessaborjas. Obtenido de

https://profvanessaborjas.wordpress.com/2012/05/10/metodologia-dedesarrollo-de-software/

8.

Box, Ehnebuske, Kakivaya, Layman, Mendelsohn, Nielsen, &

Winer. (2000). Simple object access protocol (SOAP) 1.1.

167

9.

Cantabella, Muoz, A., & Caballero, A. (2013). Ontocompetence:

An ontology model to evaluate competence. AWERProcedia Information


Technology & Computer Science, 411-418.

10. Eclipse. (14 de Mayo de 2015). Eclipse IDE for Java EE


Developers.

Obtenido

de

https://www.eclipse.org/downloads/packages/eclipse-ide-java-eedevelopers/lunasr2

11. Fields, K., D., Kolb, M. A., & Bayern, S. (2001). Web Development
with Java Server Pages. Manning Publications Co.

12. Foundation, T. A. (10 de Mayo de 2015). Apache Axis. Obtenido


de http://axis.apache.org/

13. Foundation, T. A. (13 de Mayo de 2015). Apache Maven.


Obtenido de https://maven.apache.org/

14. Foundation, T. A. (13 de Mayo de 2015). Apache Tomcat.


Obtenido de http://tomcat.apache.org/

15. G. Engin, B. A. (2014). Rule-based expert systems for supporting


university students. Rule-based expert systems for supporting university
students, 22-31.

16. Gavriushenko, M., Kankaanranta, M., & Neittaanmaki, P. (2015).


Semantically enhanced decision support for learning management
systems. 2015 IEEE international conference on semantic computing
(ICSC),, 298-305.

17. Gennari, J. H. (2003). The evolution of Protg: an environment


for knowledge-based systems development. International Journal of
Human-computer studies, 89-123.

168

18. Hafidi, M., & Bensebaa, T. (2013). Development of an adaptive


and intelligent tutoring system by expert system. International Journal of
Computer Applications in Technology, 353-365.

19. Hickson, I., Berjon, R., Faulkner, S., Leithead, T., Navara, E. D.,
O'Connor, E., & Pfeiffer, S. (2014). HTML5: A vocabulary and associated
APIs for HTML and XHTML. W3C Recommendation.

20. Hwang, J., Chen, Y., Tsai, S., & Tsai, C. (2011). An expert system
for improving web-based problem-solving ability of students. Expert
Systems with Applications, 86648672.

21. Johnson, R., Hoeller, J., Donald, K., Sampaleanu, C., & Harrop, R.
(2012). Spring Framework Reference Documentation.

22. jQuery. (12 de Mayo de 2015). Obtenido de https://jquery.com/

23. Klyne, Graham, & Carroll., J. J. (2006). Resource description


framework (RDF): Concepts and abstract syntax.

24. Kurt, S. (2011). The accessibility of university web sites: The case
of turkish universities. Universal Access in the Information Society(1), 101110.

25. McFarland, & Sawyer, D. (2012). CSS3: The Missing Manual.


O'Reilly Media, Inc.

26. McGuinness, L., D., & Harmelen, F. V. (2004). OWL web ontology
language overview. W3C recommendation.

27. Microassist. (8 de Mayo de 2015). Microassist. Obtenido de


http://www.microassist.com/custom-e-learning/learning-managementsystems

169

28. Muoz, A., J. L., Capel, A., Cantabella, M., & Caballero, A. (2015).
OntoSakai: On the optimization of a Learning Management System using
semantics and user profiling. Expert Systems with Applications, 5995
6007.

29. MySQL.

(13

de

Mayo

de

2015).

Obtenido

de

https://www.mysql.com/

30. Natek, S., & Zwilling, M. (2014). Student data mining solution
knowledge management system related to higher education institutions.
Expert Systems with Applications, 64006407.

31. Oracle. (10 de Mayo de 2015). Java EE at a Glance. Obtenido de


http://www.oracle.com/technetwork/java/javaee/overview/index.html

32. zyurt, ., zyurt, H., & Baki, A. (2013). Design and development
of an innovative individualized adaptive and intelligent e-learning system
for teachinglearning of probability unit: Details of UZWEBMAT. Expert
Systems with Applications, 29142940.

33. project, C. c. (3 de Mayo de 2015). Campus computing survey.


Obtenido

de

http://www.campuscomputing.net/item/2013-campus-

computing-survey-0
34. PrudHommeaux, Eric, & Seaborne., A. (2008). SPARQL query
language for RDF. W3C recommendation .

35. Rahimi, E., Berg, J. v., & Veen, W. (2015). Facilitating studentdriven constructing of learning environments using web 2.0 personal
learning environments. Computers & Education, 235-246.

36. Software, D. (15 de Mayo de 2015). DBVisualizer. Obtenido de


https://www.dbvis.com/

170

37. StripTM, Jorge.villalobos, Takenbot, Scipion, Nukeador, teoli, . . .


Verruckt. (12 de Mayo de 2015). Mozilla Developer Network: JavaScript.
Obtenido de https://developer.mozilla.org/es/docs/Web/JavaScript

38. Sublime

Text.

(13

de

Mayo

de

2015).

Obtenido

de

http://www.sublimetext.com/

39. UM.

(8

de

Mayo

de

2015).

Obtenido

de

http://ocw.um.es/ingenierias/fundamentos-de-ingenieria-delsoftware/material-de-clase-1/capitulo07.pdf

40. WikiPedia. (12 de Mayo de 2015). Web service. Obtenido de


http://en.wikipedia.org/wiki/Web_service

41. Fernndez-Lpez, M., Gmez-Prez, A., & Juristo, N. (1997).


Methontology: from ontological art towards ontological engineering.

42. Petersen, K., Wohlin, C., & Baca, D. (2009). The waterfall model in
large-scale

development.

In

Product-focused

software

process

improvement (pp. 386-400). Springer Berlin Heidelberg.

43. Boehm, B. W. (1988). A spiral model of software development and


enhancement. Computer, 21(5), 61-72.

44. McConnell, S., & Root, D. (1996). Lifecycle Planning. Rapid


Development: Taming Wild Software Schedules.

171

172

10. ANEXOS
10.1 Anexo A: Casos de uso
10.1.1 Anexo A1: OntoSakaiWS
10.1.1.1 CU01-Crear Asignatura
CU01
Versin
Autor
Fuentes
Descripcin

Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Crear Asignatura
1.0
Alberto Miguel Oliva
Definicin del sistema
Se debe poder dar de alta nuevas asignaturas en el
sistema en caso de que sea la primera vez que usen
una herramienta semantizada.
La asignatura debe existir dentro del sistema Sakai
Paso
Accin
1
El sistema recibe los
datos de la nueva
asignatura
2
Los datos son
formateados
correctamente
3
El sistema realiza la
escritura en el modelo
ontolgico.
La asignatura queda registrada y lista para albergar
contenido semntico.
Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Media
Alta
Validado
Alta
Se debe garantizar la no duplicidad de datos
Tabla 33. Caso de uso OntoSakaiWS: CU01

173

10.1.1.2 CU02-Crear Herramienta


CU02
Versin
Autor
Fuentes
Descripcin

Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Crear Herramienta
1.0
Alberto Miguel Oliva
Definicin del sistema
Se debe poder dar de alta nuevas herramientas en el
sistema en caso de que sea la primera vez que se usen
en el mbito de una asignatura concreta.
Debe existir una asignatura dentro del sistema con la
que podamos relacionar esta herramienta
Paso
Accin
1
El sistema recibe los
datos de la nueva
herramienta
2
Los datos son
formateados
correctamente
3
El sistema realiza la
escritura en el modelo
ontolgico.
4
El sistema crea la relacin
de la herramienta con la
asignatura indicada
La herramienta queda registrada y lista para albergar
contenido semntico.
Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Media
Alta
Validado
Alta
Se debe garantizar la no duplicidad de datos
Tabla 34. Caso de uso OntoSakaiWS: CU02

174

10.1.1.3 CU03-Crear Topic


CU03
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Crear Topic
1.0
Alberto Miguel Oliva
Definicin del sistema
Dar de alta un nuevo topic dentro del modelo
ontolgico
-Paso
Accin
1
El sistema recibe los
datos del nuevo topic
2
Los datos son
formateados
correctamente
3
El sistema realiza la
escritura en el modelo
ontolgico.
El topic queda registrado en el sistema
Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Media
Alta
Validado
Alta
Se debe garantizar la no duplicidad de datos
Tabla 35. Caso de uso OntoSakaiWS: CU03

175

10.1.1.4 CU04-Crear TopicItem


CU04
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Crear TopicItem
1.0
Alberto Miguel Oliva
Definicin del sistema
Dar de alta un nuevo topicItem dentro del modelo
ontolgico
Debe existir un Topic con el que relacionar el TopicItem
Paso
Accin
1
El sistema recibe los
datos del nuevo TopicItem
2
Los datos son
formateados
correctamente
3
El sistema realiza la
escritura en el modelo
ontolgico.
4
El sistema crea la relacin
entre el topicItem y el
topic indicado.
El topicItem queda registrado en el sistema
Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Media
Alta
Validado
Alta
Se debe garantizar la no duplicidad de datos
Tabla 36. Caso de uso OntoSakaiWS: CU04

176

10.1.1.5 CU05-Crear Recurso


CU05
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Crear Recurso
1.0
Alberto Miguel Oliva
Definicin del sistema
Se debe poder dar de alta nuevos recursos dentro del
modelo ontolgico
Debe existir en el sistema una herramienta dentro de
cuyo mbito daremos de alta los recursos
Paso
Accin
1
El sistema recibe los
datos del nuevo recurso
2
Los datos son
formateados
correctamente
3
El sistema realiza la
escritura en el modelo
ontolgico.
4
El sistema crea la relacin
del recurso con la
herramienta indicada.
El recurso queda registrado en el sistema
Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
Se debe garantizar la no duplicidad de datos
Tabla 37. Caso de uso OntoSakaiWS: CU05

177

10.1.1.6 CU06- Obtener Topics


CU06
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Obtener Topics
1.0
Alberto Miguel Oliva
Definicin del sistema
Devolver un listado de todos los topics existentes en el
sistema
El sistema debe tener topics dados de alta
Paso
Accin
1
El sistema una peticin de
solicitud de datos
2
Realiza una lectura del
modelo ontolgico
3
Los datos son
formateados de modo que
puedan ser interpretados
por el cliente
4
El sistema devuelve los
datos formateados.
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 38. Caso de uso OntoSakaiWS: CU06

178

10.1.1.7 CU07-Obtener recursos


CU07
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Obtener recursos
1.0
Alberto Miguel Oliva
Definicin del sistema
Devolver un listado de todos los recursos existentes en
el sistema
El sistema debe tener recursos dados de alta
Paso
Accin
1
El sistema una peticin de
solicitud de datos
2
Realiza una lectura del
modelo ontolgico
3
Los datos son
formateados de modo que
puedan ser interpretados
por el cliente
4
El sistema devuelve los
datos formateados.
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 39. Caso de uso OntoSakaiWS: CU07

179

10.1.1.8 CU8-Obtener topicItems contenidos en Topic


CU08
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Obtener topicItems contenidos en Topic


1.0
Alberto Miguel Oliva
Definicin del sistema
Devolver un listado de todos los TopicItems contenidos
en un Topic concreto
El sistema debe tener TopicItems dados de alta
Paso
Accin
1
El sistema una peticin de
solicitud de datos que
contiene un Topic
2
Realiza una lectura del
modelo ontolgico
3
Los datos son
formateados de modo que
puedan ser interpretados
por el cliente
4
El sistema devuelve los
datos formateados.
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 40. Caso de uso OntoSakaiWS: CU08

180

10.1.1.9 CU09-Obtener topicItems referidos por un recurso


CU09
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Obtener topicItems referidos por un recurso


1.0
Alberto Miguel Oliva
Definicin del sistema
Devolver un listado de todos los TopicItems
relacionados con un recurso
El sistema debe tener TopicItems dados de alta
Paso
Accin
1
El sistema una peticin de
solicitud de datos que
contiene un recurso
2
Realiza una lectura del
modelo ontolgico
3
Los datos son
formateados de modo que
puedan ser interpretados
por el cliente
4
El sistema devuelve los
datos formateados.
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 41. Caso de uso OntoSakaiWS: CU09

181

10.1.1.10 CU10-Obtener topic al que pertenece un topicItem


CU10
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Obtener topic al que pertenece un topicItem


1.0
Alberto Miguel Oliva
Definicin del sistema
Devolver el topic al que pertenece un topicItem
concreto
El sistema debe tener TopicItems dados de alta
Paso
Accin
1
El sistema una peticin de
solicitud de datos que
contiene un topicItem
2
Realiza una lectura del
modelo ontolgico
3
Los datos son
formateados de modo que
puedan ser interpretados
por el cliente
4
El sistema devuelve los
datos formateados.
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 42. Caso de uso OntoSakaiWS: CU10

182

10.1.1.11 CU11-Obtener recursos de una asignatura


CU11
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Obtener recursos de una asignatura


1.0
Alberto Miguel Oliva
Definicin del sistema
Devolver un listado de todos los recursos de una
asignatura concreta.
El sistema debe tener recursos dados de alta
Paso
Accin
1
El sistema una peticin de
solicitud de datos que
contiene una asignatura
2
Realiza una lectura del
modelo ontolgico
3
Los datos son
formateados de modo que
puedan ser interpretados
por el cliente
4
El sistema devuelve los
datos formateados.
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 43. Caso de uso OntoSakaiWS: CU11

183

10.1.1.12 CU12-Obtener nombre asignatura


CU12
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Obtener topicItems referidos por un recurso


1.0
Alberto Miguel Oliva
Definicin del sistema
Devolver el nombre de una asignatura a travs de su
ID
-Paso
Accin
1
El sistema una peticin de
solicitud de datos que
contiene el ID de una
asignatura
2
Realiza una lectura del
modelo ontolgico
3
Los datos son
formateados de modo que
puedan ser interpretados
por el cliente
4
El sistema devuelve los
datos formateados.
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 44. Caso de uso OntoSakaiWS: CU12

184

10.1.1.13 CU13-Obtener asignaturas


CU13
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Obtener asignaturas
1.0
Alberto Miguel Oliva
Definicin del sistema
Devolver un listado de todas las asignaturas
registradas en el sistema
Deben existir asignaturas registradas en el sistema
Paso
Accin
1
El sistema una peticin de
solicitud de datos
2
Realiza una lectura del
modelo ontolgico
3
Los datos son
formateados de modo que
puedan ser interpretados
por el cliente
4
El sistema devuelve los
datos formateados.
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 45. Caso de uso OntoSakaiWS: CU13

185

10.1.1.14 CU14-Obtener recursos relacionados con un recurso


CU14
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Obtener recursos relacionados con un recurso


1.0
Alberto Miguel Oliva
Definicin del sistema
Devolver un listado de los recursos directamente
relacionados con un recurso particular
El recurso debe tener otros recursos relacionados.
Paso
Accin
1
El sistema una peticin de
solicitud de datos que
contiene el ID de un
recurso.
2
Realiza una lectura del
modelo ontolgico
3
Los datos son
formateados de modo que
puedan ser interpretados
por el cliente
4
El sistema devuelve los
datos formateados.
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 46. Caso de uso OntoSakaiWS: CU14

186

10.1.1.15 CU15-Obtener recursos relacionados con topicItem


CU15
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Obtener recursos relacionados con topicItem


1.0
Alberto Miguel Oliva
Definicin del sistema
Devolver un listado de los recursos referidos a un
topicItem en particular
Debe existir el topicItem y tener recursos relacionados
con este.
Paso
Accin
1
El sistema una peticin de
solicitud de datos que
contiene el topicItem
2
Realiza una lectura del
modelo ontolgico
3
Los datos son
formateados de modo que
puedan ser interpretados
por el cliente
4
El sistema devuelve los
datos formateados.
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 47. Caso de uso OntoSakaiWS: CU15

187

10.1.1.16 CU16-Crear relacin consistsOf


CU16
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Comprobar existencia de recurso


1.0
Alberto Miguel Oliva
Definicin del sistema
Crear la relacin consistsOf entre topic y topicItem
Los elementos a relacionar deben existir previamente
en el sistema
Paso
Accin
1
El sistema recibe un topic
y un topicItem
2
Genera la relacin entre
ambos
3
Escribe en el modelo
ontolgico.
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 48. Caso de uso OntoSakaiWS: CU16

188

10.1.1.17 CU17-Crear relacin refersTo


CU17
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Crear relacin refersTo


1.0
Alberto Miguel Oliva
Definicin del sistema
Crear la relacin refersTo entre ToolElement y
topicItem
Los elementos a relacionar deben existir previamente
en el sistema
Paso
Accin
1
El sistema recibe un
ToolElement y un
topicItem
2
Genera la relacin entre
ambos
3
Escribe en el modelo
ontolgico.
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 49. Caso de uso OntoSakaiWS: CU17

189

10.1.1.18 CU18-Crear relacin isRelatedTo


CU18
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Crear relacin isRelatedTo


1.0
Alberto Miguel Oliva
Definicin del sistema
Crear la relacin isRelatedTo entre dos ToolElement
Los elementos a relacionar deben existir previamente
en el sistema
Paso
Accin
1
El sistema recibe los ID de
dos ToolElement
2
Genera la relacin entre
ambos
3
Escribe en el modelo
ontolgico.
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 50. Caso de uso OntoSakaiWS: CU18

190

10.1.1.19 CU19-Crear relacin belongsTo


CU19
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Crear relacin belongsTo


1.0
Alberto Miguel Oliva
Definicin del sistema
Crear la relacin belongsTo entre ToolElement y Tool
Los elementos a relacionar deben existir previamente
en el sistema
Paso
Accin
1
El sistema recibe los ID de
ToolElement y de Tool
2
Genera la relacin entre
ambos
3
Escribe en el modelo
ontolgico.
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 51. Caso de uso OntoSakaiWS: CU19

191

10.1.2 Anexo A2: OntoSakai Resources


10.1.2.1 CU01-Crear nuevo recurso
CU01
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Crear un nuevo recurso


1.0
Alberto Miguel Oliva
Definicin del sistema
Crear un nuevo recurso en el sistema
El usuario debe estar identificado antes de poder crear
nuevo contenido.
Paso
Accin
1
El usuario selecciona el
archivo a subir
2
El sistema crea una
instancia del recurso
dentro de la ontologa
3
El sistema sube el archivo
al servidor de Sakai y crea
una entrada en la base de
datos de Sakai
4
El sistema devuelve un
mensaje confirmando la
subida del archivo.
-Paso
Accin
1
La subida no puede
realizarse.
2
El sistema muestra un
mensaje de error
alertando al usuario.
Alta
Alta
Validado
Alta
--

Tabla 52. Caso de uso OntoSakai Resources: CU01

192

10.1.2.2 CU02-Crear nuevo topic


CU02
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Crear un nuevo topic


1.0
Alberto Miguel Oliva
Definicin del sistema
Crear un nuevo topic en el sistema
El usuario debe estar identificado antes de poder crear
nuevo contenido.
Paso
Accin
1
El usuario introduce la
informacin del topic que
desea subir
2
El sistema crea una
instancia del topic dentro
de la ontologa
3
El sistema devuelve un
mensaje confirmando la
creacin del nuevo topic.
-Paso
Accin
1
La creacin no puede
realizarse.
2
El sistema muestra un
mensaje de error
alertando al usuario.
Alta
Alta
Validado
Alta
--

Tabla 53. Caso de uso OntoSakai Resources: CU02

193

10.1.2.3 CU03-Crear nuevo topicItem


CU03
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Crear un nuevo topicItem


1.0
Alberto Miguel Oliva
Definicin del sistema
Crear un nuevo topicItem en el sistema
El usuario debe estar identificado antes de poder crear
nuevo contenido.
Paso
Accin
1
El usuario introduce la
informacin del topicItem
que desea subir
2
El sistema crea una
instancia del topicItem
dentro de la ontologa
3
El sistema devuelve un
mensaje confirmando la
creacin del nuevo topic.
-Paso
Accin
1
La creacin no puede
realizarse.
2
El sistema muestra un
mensaje de error
alertando al usuario.
Alta
Alta
Validado
Alta
--

Tabla 54. Caso de uso OntoSakai Resources: CU03

194

10.1.2.4 CU04-Relacionar recurso con topicItem


CU04
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Relacionar recurso con topicItem


1.0
Alberto Miguel Oliva
Definicin del sistema
Relacionar el recursos a subir con topicItems
El usuario debe estar identificado antes de poder crear
nuevo contenido.
Paso
Accin
1
El usuario seleccionara de
la lista los topicItems
deseados
2
El sistema mostrara los
topicItem seleccionados
3
El sistema crear las
relaciones mediante el
servicio web.
-Paso
Accin
1
La relacin no puede
realizarse.
2
El sistema muestra un
mensaje de error
alertando al usuario.
Alta
Alta
Validado
Alta
--

Tabla 55. Caso de uso OntoSakai Resources: CU04

195

10.1.2.5 CU05-Relacionar recurso con recursos existentes


CU05
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Relacionar recurso con topicItem


1.0
Alberto Miguel Oliva
Definicin del sistema
Relacionar el recursos a subir con otros recursos ya
existentes en el sistema
El usuario debe estar identificado antes de poder crear
nuevo contenido.
Paso
Accin
1
El usuario seleccionara de
la lista los recursos
deseados
2
El sistema mostrara los
recursos seleccionados
3
El sistema crear las
relaciones mediante el
servicio Web.
-Paso
Accin
1
La relacin no puede
realizarse.
2
El sistema muestra un
mensaje de error
alertando al usuario.
Alta
Alta
Validado
Alta
--

Tabla 56. Caso de uso OntoSakai Resources: CU05

196

10.1.2.6 CU06-Relacionar topicItem con topics


CU06
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Relacionar topicItem con topics


1.0
Alberto Miguel Oliva
Definicin del sistema
Relacionar un nuevo topicItem creado con un topic en
particular
El usuario debe estar identificado antes de poder crear
nuevo contenido.
Paso
Accin
1
El usuario seleccionara de
la lista el topic deseado
2
Introducir el nombre del
nuevo topicItem
3
El sistema crear las
relaciones mediante el
servicio Web.
-Paso
Accin
1
La relacin no puede
realizarse.
2
El sistema muestra un
mensaje de error
alertando al usuario.
Alta
Alta
Validado
Alta
--

Tabla 57. Caso de uso OntoSakai Resources: CU06

197

10.1.2.7 CU07-Listar asignaturas


CU07
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones
Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Listar asignaturas
1.0
Alberto Miguel Oliva
Definicin del sistema
Crear un listado de asignaturas y mostrarlas por
pantalla.
El usuario debe estar identificado.
Paso
Accin
1
Se realiza una peticin al
servicio Web
2
Se formatean los datos
recibidos.
3
Los datos previamente
formateados se muestran
por pantalla.
-Paso
Accin
Alta
Alta
Validado
Alta
--

Tabla 58. Caso de uso OntoSakai Resources: CU07

198

10.1.2.8 Listar recursos


CU08
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones
Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Listar recursos
1.0
Alberto Miguel Oliva
Definicin del sistema
Crear un listado de recursos, clasificados por
asignatura y mostrarlos por pantalla.
El usuario debe estar identificado.
Paso
Accin
1
Se realiza una peticin al
servicio Web
2
Se formatean los datos
recibidos.
3
Los datos previamente
formateados se muestran
por pantalla.
-Paso
Accin
Alta
Alta
Validado
Alta
--

Tabla 59. Caso de uso OntoSakai Resources: CU08

199

10.1.2.9 Listar topics


CU09
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones
Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Listar topics
1.0
Alberto Miguel Oliva
Definicin del sistema
Crear un listado de topics y mostrarlos por pantalla.
El usuario debe estar identificado.
Paso
Accin
1
Se realiza una peticin al
servicio Web
2
Se formatean los datos
recibidos.
3
Los datos previamente
formateados se muestran
por pantalla.
-Paso
Accin
Alta
Alta
Validado
Alta
--

Tabla 60. Caso de uso OntoSakai Resources: CU09

200

10.1.2.10 Listar topicItems


CU10
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones
Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Listar topicItems
1.0
Alberto Miguel Oliva
Definicin del sistema
Crear un listado de topicItems, clasificados por topics y
mostrarlos por pantalla.
El usuario debe estar identificado.
Paso
Accin
1
Se realiza una peticin al
servicio Web
2
Se formatean los datos
recibidos.
3
Los datos previamente
formateados se muestran
por pantalla.
-Paso
Accin
Alta
Alta
Validado
Alta
--

Tabla 61. Caso de uso OntoSakai Resources: CU10

201

10.1.3 Anexo A3: Ontosakai Browser


10.1.3.1 CU01-Visualizar recursos
CU01
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Visualizar recursos
1.0
Alberto Miguel Oliva
Definicin del sistema
Mostrar los recursos de una asignatura concreta
El usuario debe estar identificado
Paso
Accin
1
El sistema realiza una
peticin de datos
enviando la asignatura
2
El sistema recibe y
formatea los datos.
3
El sistema muestra una
lista con los recursos
formateados
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 62. Caso de uso OntoSakai Browser: CU01

202

10.1.3.2 CU02-Descargar recursos


CU02
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Descargar recursos
1.0
Alberto Miguel Oliva
Definicin del sistema
Descargar los recursos contenidos en la asignatura
El usuario debe estar
Paso
Accin
1
El usuario hace clic sobre
el enlace de descarga de
uno de los recursos
2
El sistema realiza una
peticin mediante
webDAV y comienza la
descarga del archivo
-Paso
Accin
2
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 63. Caso de uso OntoSakai Browser: CU02

203

10.1.3.3 CU01-Visualizar recursos relacionados


CU03
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Visualizar recursos relacionados


1.0
Alberto Miguel Oliva
Definicin del sistema
Mostrar los recursos relacionados
El usuario debe estar identificado
Paso
Accin
1
El usuario pulsa sobre el
botn de recursos
relacionados
1
El sistema realiza una
peticin de datos.
2
El sistema recibe y
formatea los datos.
3
El sistema muestra una
lista con los recursos
formateados
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 64. Caso de uso OntoSakai Browser: CU03

204

10.1.3.4 Descargar recursos relacionados.


CU04
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Descargar recursos relacionados


1.0
Alberto Miguel Oliva
Definicin del sistema
Descargar los recursos relacionados
El usuario debe estar identificado
Paso
Accin
1
El usuario hace clic sobre
el enlace de descarga de
uno de los recursos
2
El sistema realiza una
peticin mediante
webDAV y comienza la
descarga del archivo
-Paso
Accin
2
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 65. Caso de uso OntoSakai Browser: CU04

205

10.1.3.5 CU05-Visualizar recursos directamente relacionados


CU05
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Visualizar recursos directamente relacionados


1.0
Alberto Miguel Oliva
Definicin del sistema
Mostrar los recursos directamente relacionados
El usuario debe estar identificado
Paso
Accin
1
El usuario pulsa sobre el
botn de recursos
relacionados
1
El sistema realiza una
peticin de datos,
enviando el ID del recurso
concreto.
2
El sistema recibe y
formatea los datos.
3
El sistema muestra una
lista con los recursos
formateados
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 66. Caso de uso OntoSakai Browser: CU05

206

10.1.3.6 CU06-Visualizar relacionados a travs de topicItem.


CU06
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Visualizar relacionados a travs de topicItem


1.0
Alberto Miguel Oliva
Definicin del sistema
Mostrar los recursos relacionados con el recurso actual
por medio de los topicItem
El usuario debe estar identificado antes de poder crear
nuevo contenido.
Paso
Accin
1
El usuario pulsa sobre el
botn de recursos
relacionados
1
El sistema realiza una
peticin de datos,
enviando los topicItem
relacionados.
2
El sistema recibe y
formatea los datos.
3
El sistema muestra una
lista con los recursos
formateados
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 67. Caso de uso OntoSakai Browser: CU06

207

10.1.3.7 CU07-Visualizar relacionados a travs de topic.


CU07
Versin
Autor
Fuentes
Descripcin
Precondicin
Secuencia normal

Postcondicion
Excepciones

Frecuencia esperada
Urgencia
Estado
Escalabilidad
Comentarios

Visualizar relacionados a travs de topic


1.0
Alberto Miguel Oliva
Definicin del sistema
Mostrar los recursos relacionados con el recurso actual
por medio de los topic
El usuario debe estar identificado antes de poder crear
nuevo contenido.
Paso
Accin
1
El usuario pulsa sobre el
botn de recursos
relacionados
1
El sistema realiza una
peticin de datos,
enviando los topic
relacionados.
2
El sistema recibe y
formatea los datos.
3
El sistema muestra una
lista con los recursos
formateados
-Paso
Accin
1
El sistema pierde la
conexin con el servidor.
Se puede realizar de
nuevo la operacin una
vez se haya establecido
de nuevo la conexin con
el servidor
Alta
Alta
Validado
Alta
-Tabla 68. Caso de uso OntoSakai Browser: CU07

208

10.2 Anexo B: Diagramas de secuencia


A continuacin se describe el modelo de comportamiento a travs de
diagramas de secuencia por cada caso de uso del sistema, que muestran
la forma en la que los objetos se relacionan entre s a lo largo del tiempo.

10.2.1 Anexo B1: OntoSakaiWS

10.2.1.1 CU01- Crear asignatura

Figura 58. Diagrama secuencia OntoSakaiWS: CU01

209

10.2.1.2 CU02- Crear herramienta

Figura 59. Diagrama secuencia OntoSakaiWS: CU02

10.2.1.3 CU03- Crear Topic

Figura 60. Diagrama secuencia OntoSakaiWS: CU03


.

210

10.2.1.4 CU04- Crear TopicItem

Figura 61. Diagrama secuencia OntoSakaiWS: CU04

10.2.1.5 CU05- Crear Recurso

Figura 62. Diagrama secuencia OntoSakaiWS: CU05

211

10.2.1.6 CU06- Obtener Topics

Figura 63. Diagrama secuencia OntoSakaiWS: CU06

212

10.2.1.7 CU07- Obtener recursos

Figura 64. Diagrama secuencia OntoSakaiWS: CU07

10.2.1.8 CU08- Obtener TopicItems contenidos en Topic

Figura 65. Diagrama secuencia OntoSakaiWS: CU08

213

10.2.1.9 CU09- Obtener TopicItems referidos a un recurso

Figura 66. Diagrama secuencia OntoSakaiWS: CU09

10.2.1.10 CU10- Obtener Topic al que pertenece un TopicItem

Figura 67. Diagrama secuencia OntoSakaiWS: CU10

214

10.2.1.11 CU11- Obtener Recursos de una asignatura

Figura 68. Diagrama secuencia OntoSakaiWS: CU11

10.2.1.12 CU12- Obtener nombre de una asignatura

Figura 69. Diagrama secuencia OntoSakaiWS: CU12

215

10.2.1.13 CU13- Obtener Asignaturas

Figura 70. Diagrama secuencia OntoSakaiWS: CU13

10.2.1.14 CU14- Obtener recursos relacionados con recurso

Figura 71. Diagrama secuencia OntoSakaiWS: CU14

216

10.2.1.15 CU15- Obtener recursos relacionados con topicItem

Figura 72. Diagrama secuencia OntoSakaiWS: CU15

10.2.1.16 CU16- Crear relacin consistsOf

Figura 73. Diagrama secuencia OntoSakaiWS: CU16

217

10.2.1.17 CU17- Crear relacin refersTo

Figura 74. Diagrama secuencia OntoSakaiWS: CU17

10.2.1.18 CU18- Crear relacin isRelatedTo

Figura 75. Diagrama secuencia OntoSakaiWS: CU18

218

10.2.1.19 CU19- Crear relacin belongsTo

Figura 76. Diagrama secuencia OntoSakaiWS: CU19

219

10.2.2 Anexo B2: OntoSakai Resources


10.2.2.1 CU01- Crear nuevo recurso

Figura 77. Diagrama secuencia OntoSakai Resources: CU01

220

10.2.2.2 CU02- Crear nuevo topic

Figura 78. Diagrama secuencia OntoSakai Resources: CU02

221

10.2.2.3 CU03- Crear nuevo topicItem

Figura 79. Diagrama secuencia OntoSakai Resources: CU03

222

10.2.2.4 CU08- Listar recursos

Figura 80. Diagrama secuencia OntoSakai Resources: CU08

223

10.2.2.5 CU010- Listar topicItems

Figura 81. Diagrama secuencia OntoSakai Resources: CU10

224

10.2.3 Anexo B3: OntoSakai Browser

10.2.3.1 CU01- Visualizar recursos

Figura 82. Diagrama secuencia OntoSakai Browser: CU01

225

10.2.3.2 CU02- Descargar recursos

Figura 83. Diagrama secuencia OntoSakai Browser: CU02

226

10.2.3.3 CU04- Descargar recursos relacionados

Figura 84. Diagrama secuencia OntoSakai Browser: CU04

227

10.2.3.4 CU05- Visualizar recursos directamente relacionados

Figura 85. Diagrama secuencia OntoSakai Browser: CU05

228

10.2.3.5 CU06- Visualizar recursos relacionados a travs de topicItem

Figura 86. Diagrama secuencia OntoSakai Browser: CU06

229

10.2.3.6 CU07- Visualizar recursos relacionados a travs de topic

Figura 87. Diagrama secuencia OntoSakai Browser: CU07

230

10.3 Anexo C: Manual de instalacin


En este anexo se va a tratar la instalacin de la solucin desde sus
primeras fases, esto es, partiendo de un sistema operativo limpio (Recin
instalado).

En nuestro caso realizaremos la instalacin sobre un sistema operativo


Windows 7 Utilamte Edition.

10.3.1 Instalacin LMS Sakai


En este apartado vamos a tratar la instalacin de Sakai.

Lo primero que debemos hacer es comprobar la versin de java que


tenemos instalada, para ello, abrimos una consola y escribimos java
versin.

En caso de que el resultado sea diferente de la mostrada en la figura


94, debemos descargar el JDK de la pgina oficial.

Figura 88. Comprobacin Java

Para la instalacin de Sakai 10.X se recomienda Java 1.7, sin embargo


nosotros solo hemos conseguido una instalacin satisfactoria de Sakai
instalando la versin 1.7.0_76, en cualquier otro caso no hemos podido
desplegar el LMS.

Para

descargar

el

JDK

debemos

dirigirnos

http://www.oracle.com/technetwork/java/javase/downloads/java-archivedownloads-javase7-521261.html#jdk-7u76-oth-JPR.

231

Una vez en la pgina de descarga descargaremos la versin para


Windows x86, tal como se muestra en la figura 95.

Figura 89. Descarga Java

Una vez descargado debemos instalarlo, en nuestro caso y para


tenerlo ms a mano, lo instalaremos en C:\opt. Esta carpeta la hemos
creado para instalar aqu todo lo necesario para desplegar la solucin, de
modo que lo tengamos todo a mano y sea fcilmente localizable.

Por tanto, como muestra la figura 96, cambiaremos la ruta de


instalacin del JDK.

232

Figura 90. Instalacin JDK

Una vez se complete la instalacin de la JDK, la instalacin continua


solicitndonos la ruta en la que queremos instalar el JRE. En este caso
debemos elegir una ruta diferente a la anterior, ya que, instalarlos juntos
puede ocasionar errores. Nosotros recomendamos dejar la ruta por
defecto.

Con la instalacin finalizada, debemos crear las siguientes variables de


entorno, en Windows 7, para crear variables de entorno debemos hacer
clic en el men de inicio, y en Equipo, haciendo clic con el botn derecho,
seleccionaremos la opcin Propiedades, tal como muestra la figura 97.

Figura 91. Acceso propiedades del sistema

233

Una vez dentro de la ventana de propiedades debemos seleccionar


configuracin avanzada del sistema, tal y como muestra la figura 98.

Figura 92. Propiedades del sistema

Aparecer entonces una nueva ventana, en la que, en la pestaa


Opciones avanzadas, haremos clic sobre el botn Variables de Entorno.
Como se muestra en la figura 99.

Figura 93. Propiedades avanzadas del sistema

234

Una vez estemos en la interface de Variables de entorno debemos


hacer clic sobre el botn Nueva e insertar la siguiente variable de
entorno:
JAVA_HOME C:\opt\jdk1.7.0_76\

La figura 100 muestra cmo hacerlo correctamente.

Figura 94. Nueva variable de entorno

Despus de crearla, debemos aadirla a la variable PATH, al final de


la misma, de la siguiente manera
PATH; C:\opt\jdk1.7.0_76\bin;

Debemos crear tambin, del mismo modo, una nueva variable de


entorno, con los siguientes datos:
JAVA_OPTS'-server -Xms512m -Xmx1024m -XX:PermSize=128m XX:MaxPermSize=512m

-XX:NewSize=192m

Djava.awt.headless=true

-XX:MaxNewSize=384m

-Dhttp.agent=Sakai

Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false
Dsun.lang.ClassLoader.allowArraySyntax=true'.

235

La variable JAVA_OPTS es necesaria debido a que la configuracin


por defecto de la mquina virtual de Java es insuficiente para poder
correr una aplicacin de las dimensiones de Sakai, es por ello que
debemos modificar algunos parmetros.

El siguiente paso, es instalar Subversin para poder descargar el


cdigo fuente de Sakai.

Para ello nos dirigimos a la web https://sliksvn.com/download/, y


descargamos la versin del cliente SVN 1.8.13 32 BIT, tal como se
muestra en la figura 101.

Figura 95. Descarga SVN

Una vez descargado, ejecutamos el instalador y, nuevamente,


cambiaremos la ruta de instalacin, para que se instale en nuestra
carpeta opt, tal como se muestra en la figura 102.

236

Figura 96. Instalacin SVN

Cuando la instalacin se haya completado, debemos crear una variable


de entorno siguiendo los pasos que ya indicamos anteriormente.
Posteriormente la aadiremos al PATH, como ya se ha explicado.

La variable de entorno que debemos crear es:


SUBVERSION_HOME C\opt\Subversion\

El siguiente paso es instalar Apache Maven, que usaremos para


compilar y desplegar tanto Sakai como nuestras herramientas.

Para

ello,

el

primer

paso

ser

descargarlo

desde

http://maven.apache.org/download.cgi.

Una vez en la web, descargaremos la versin 3.3.3 (Binary zip), como


muestra la figura 103.

237

Figura 97. Descarga Maven

Una vez descargado, simplemente debemos extraer el contenido del


zip en nuestra ruta habitual, la carpeta opt. Quedndonos la ruta de
Maven como C:\opt\apache-maven-3.3.3.

Una vez ms, debemos crear la variable de entorno correspondiente


y agregarla al PATH.
MAVEN_HOMEC:\opt\apache-maven-3.3.3.

En este caso debemos tambin crear una variable de entorno


adicional:
MAVEN_OPTS

'-Xms512m

-Xmx1024m

-XX:PermSize=256m

XX:MaxPermSize=512m -Djava.util.Arrays.useLegacyMergeSort=true'

A continuacin debemos instalar Apache Tomcat como servidor


de aplicaciones, para la instalacin de Sakai 10.X se recomienda instalar
Tomcat 7.

Descargamos

Apache

Tomcat

desde

http://tomcat.apache.org/download-70.cgi.
238

la

siguiente

direccin

Descargaremos la versin Core, para la plataforma Windows 32bit,


como muestra la figura 104.

Figura 98. Descarga Tomcat

Una vez descargado, simplemente extraemos el contenido del zip


dentro de la carpeta opt, creamos la variable de entorno correspondiente
y la aadimos al PATH como hemos venido haciendo anteriormente.

CATALINA_HOME C:\opt\apache-tomcat-7.0.62.

Tras haber hecho esto, debemos modificar algunos parmetros dentro


del archivo CATALINA_HOME\catalina.properties.

Aadimos

los

siguiente

la

lnea

que

comienza

con

common.loader=.
,${catalina.base}/common/classes/,${catalina.base}/common/lib/*.jar

Aadimos

lo

siguiente

la

linea

que

comienza

con

shared.loader=
${catalina.base}/shared/classes/,${catalina.base}/shared/lib/*.jar

Aadimos

lo

siguiente

la

linea

que

comienza

server.loader=
${catalina.base}/server/classes/,${catalina.base}/server/lib/*.jar

239

con

Figura 99. Catalina Properties

Tambin debemos editar el archivo server.xml, aadiendo al conector


del puerto 8080 el parmetro URIEncoding="UTF-8" tal como se muestra
en la figura 106.

Figura 100. Server Properties

Finalmente, iremos al directorio CATALINA_HOME/bin y crearemos un


fichero llamado setenv.bat con el siguiente contenido.
set

JAVA_OPTS=-server

-Xmx1028m

-XX:MaxPermSize=320m

Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=fals
e -Djava.awt.headless=true -Dcom.sun.management.jmxremote
Dsun.lang.ClassLoader.allowArraySyntax=true

240

A continuacin vamos a instala el JDBC Connector para permitir a


Tomcat acceder a nuestra base de datos.

Para

ello,

nos

dirigimos

la

direccin

http://dev.mysql.com/downloads/connector/j/.

Una vez dentro, descargaremos la versin Platform independent, como


se muestra en la figura 107.

Figura 101. Descarga JDBC

Una vez descargado, descomprimimos el zip y copiamos el archivo


mysql-connector-java-5.1.35-bin.jar a la carpeta CATALINA_HOME/lib.

241

Figura 102. Instalacin JDBC

Con esto ya tenemos instalado y configurado nuestro servidor Tomcat.

Por ltimo, debemos instalar MySql, para dar soporte a la base de


datos de Sakai.

Para

ello

nos

dirigimos

la

https://dev.mysql.com/downloads/windows/installer/5.5.html.

Una vez all descargamos la versin para Windows.

242

direccin

Figura 103. Descarga MySQL Server

Una vez descargado, lo ejecutamos para instalar MySQL server,


cuando el instalador nos lo solicite, crearemos una contrasea de
administrador y un nuevo usuario, en nuestro caso, hemos usado los
siguientes datos:
Contrasea DBA: sakai.
Usuario nuevo: sakai.
Contrasea: sakai.

Figura 104. Instalacin MySQL Server

243

A continuacin, creamos su correspondiente variable de entorno y la


agregamos al PATH.
MYSQL_HOME C:\Program Files\MySQL\MySQL Server 5.5.

Una vez tenemos instalado MySql Server, debemos crear la base de


datos para Sakai.

Para ello, vamos a abrir la consola de MySQL.

Figura 105. Acceso MySQL CommandLIne

En ella, escribiremos las siguientes instrucciones, tal y como muestra la


figura 112.

Figura 106. Creacin de la base de datos

MySQL> create database SakaiDB default character set utf8;

244

MySQL> grant all privileges on SakaiDB.* to Sakai@localhost identified


by sakai;
MySQL> flush privileges;
MySQL> quit;

Con esto, ya tendramos todos los prerrequisitos necesarios para la


instalacin del LMS Sakai.

Llegados a este punto, debemos descargarnos el cdigo fuente de


Sakai utilizando el cliente SVN que instalamos anteriormente, para ello,
abrimos una consola de comandos de Windows, navegamos hasta
nuestra carpeta opt y escribimos el siguiente comando:
svn co https://source.sakaiproject.org/svn/sakai/tags/sakai-10.4/ sakai-10.4

Con esto, comenzar la descarga del cdigo fuente de la versin 10.4


de Sakai. Este proceso puede demorarse hasta 40 minutos, en funcin de
la conexin a internet de que dispongamos.

Figura 107. Descarga Sakai

Es importante contar con una conexin a internet estable, nosotros


recomendamos estar conectado mediante cable directamente a la red,
hemos constatado que, haciendo la descarga a travs de la red wifi se
producan errores.

Cuando el proceso de descarga finalice, svn nos devolver el control


de la consola de comandos.

245

Figura 108. Descarga Sakai Completada

En este momento, debemos configurar Sakai para que utilice la base


de datos que hemos creado anteriormente, para ello nos iremos a la ruta
C:\opt\sakai10.4\config\conIlutracintion\bundles\src\bundle\org\sakaiproject\config\bu
ndle y copiaremos el archivo default.sakai.properties. Este archivo
debemos pegarlo renombrado como sakai.properties en una nueva
carpeta que crearemos dentro de CATALINA_HOME, debemos nombrar
esta carpeta como Sakai.

Figura 109. Ubicacin Sakai.properties

Abrimos el archivo con un editor de texto y modificamos los parmetros


de conexin con la base de datos. Estos parmetros se encuentran dentro
de la seccin DATABASE.

Debemos descomentar algunas lneas y establecer ciertos parmetros


tal como se muestra en la figura 116.

246

Figura 110. Sakai.Properties

Guardamos el archivo y ya estamos listos para desplegar Sakai usando


Maven. Para ello, abrimos de nuevo una consola de comandos de
Windows, navegamos hasta la carpeta /opt/Sakai-10.4 y ejecutamos el
siguiente comando.
mvn clean install sakai:deploy -Dmaven.tomcat.home=C:\opt\ apache-tomcat7.0.62 -Dsakai.home=C:\opt\tomcat\sakai -Djava.net.preferIPv4Stack=true

Figura 111. Instalacin Sakai

Este proceso tardar unos minutos, una vez finalizado solo nos queda
arrancar Tomcat para comprobar que la instalacin se ha producido
correctamente.

Para ello, accedemos a CATALINA_HOME/bin desde la consola de


comandos y ejecutamos el comando startup.bat.

247

Figura 112. Arranque servidor

Cuando finalice el proceso de inicio de Tomcat, abrimos un navegador


y nos dirigimos a http://localhost:8080/portal.

Nos debe aparecer una pgina similar a la que se muestra en la figura


119.

Figura 113. Pantalla Login Sakai

Llegados a este punto, y despus de horas de trabajo, hemos


terminado la instalacin de Sakai 10.4. Ya podemos apagar de nuevo el
servidor, ejecutando el comando shutdown.bat desde la consola de
comandos.

248

Figura 114. Apagado Servidor

En los apartados siguientes del manual de instalacin, mostraremos


como instalar OntoSakaiWS y las herramientas creadas.

10.3.2 Instalacin de OntoSakaiWS


En este apartado vamos a detallar el proceso de instalacin de
OntoSakaiWS.

Con este trabajo fin de grado se adjunta un disco con los desarrollos
llevados a cabo, dentro del disco encontramos 3 carpetas, OntoSakaiWS,
OntoSakai Resources y OntoSakai browser.

En este caso, debemos acceder a OntoSakaiWS y copiar el archivo


OntoSakaiWS.war en CATALINA_HOME/webapps, como se muestra en
la figura 121.

Figura 115. Copia OntoSakaiWS.war

Una vez hecho esto, arrancamos el servidor como ya vimos en la


seccin anterior.
249

Figura 116. Arranque servidor

Para comprobar que la instalacin se ha realizado correctamente,


abrimos

un

navegador

web

nos

dirigimos

http://localhost:8080/OntoSakaiWS/services.

Si aparece la pgina mostrada por la figura 123 estamos de


enhorabuena, hemos instalado satisfactoriamente OntoSakaiWS en
nuestro sistema.

250

Figura 117. Listado de servicios OntoSakaiWS

Una vez ms, apagamos el servidor para poder proseguir con la


instalacin de las herramientas desarrolladas.

251

10.3.3 Instalacin de OntoSakai Resources y OntoSakai Browser


En esta seccin vamos a detallar la instalacin de las herramientas
desarrolladas para Sakai. Se ha decidido hacer una seccin conjunta
puesto que el proceso de instalacin para ambas aplicaciones es similar.
No obstante, se detallar paso a paso el proceso de instalacin para cada
una de ellas.

El primer paso es dirigirnos a nuestro CD de contenidos desarrollados y


copiar las carpetas OntoResources y OntoBrowser dentro de nuestra
carpeta de Sakai, en /opt/Sakai-10.4.

Figura 118. Copiado Herramientas

A continuacin, desde la consola de comandos, accedemos a


OntoBrowser e introducimos el siguiente comando.
mvn

clean

install

sakai:deploy

-Dmaven.tomcat.home=C:\opt\tomcat

Dsakai.home=C:\opt\tomcat\sakai -Djava.net.preferIPv4Stack=true

Figura 119. Instalacin OntoSakai Browser

Repetiremos el mismo proceso para OntoResources.

Figura 120. Instalacin OntoSakai Resources

252

En ambos casos nos debe aparecer un resultado similar al mostrado


por la figura 127.

Figura 121. Resultado instalacin herramienta

Para comprobar que la instalacin se ha llevado a cabo correctamente,


arrancamos

nuevamente

el

servidor.

Figura 122. Inicio Tomcat

Y nos identificamos en Sakai, en nuestro caso con los credenciales por


defecto, es decir admin-admin, una vez dentro debemos crear un nuevo
sitio.

Para crear un nuevo sitio hacemos clic en el botn


situado en la esquina superior derecha, se nos desplegar un nuevo
men, en el cual debemos pulsar sobre Nuevo Sitio, como muestra la
figura 129.

253

Figura 123. Creacin nuevo sitio (A)

Nos aparecer un asistente donde debemos elegir el tipo de sitio a


crear, lo habitual sera crear un sitio de tipo course, pero debido a que
no hemos configurado el curso acadmico solamente podemos crear de
tipo project, si bien, para esta demostracin cumple perfectamente. As
pues, seleccionamos Sitio Project y hacemos clic sobre continuar.

Figura 124. Creacin nuevo sitio (B)

La siguiente pantalla nos pide algunos datos bsicos sobre el sitio que
vamos a crear, como el ttulo, una breve descripcin, etc. Nosotros hemos
llamado a nuestro sitio DAD (Desarrollo de aplicaciones distribuidas). Una
vez rellenados estos campos, pulsamos sobre el botn Continuar.

254

Figura 125. Creacin nuevo sitio (C)

A continuacin se nos muestra un listado de las herramientas


instaladas en Sakai, seleccionamos las que acabamos de instalar,
OntoBrowser y OntoResources y pulsamos en Continuar.

Figura 126. Creacin nuevo sitio (D)

Por ltimo, debemos establecer las opciones de visibilidad del sitio.

255

Figura 127. Creacin nuevo sitio (E)

Al pulsar sobre Continuar nos aparecer un resumen de las opciones


seleccionadas. Hacemos clic en Crear Sitio para finalizar.

Figura 128. Creacin nuevo sitio (FINAL)

256

Con esto ya tendramos nuestro sitio creado, para acceder a l


debemos pulsar

, situado en el men superior.

Una vez dentro del sitio, vemos como, efectivamente, nuestras


herramientas han sido instaladas.

Figura 129. Login OntoSakai Resources

Con esto concluimos el manual de instalacin, en el Anexo D,


explicamos con detalle el funcionamiento de nuestras herramientas.

257

10.4 Anexo D: Manual de usuario.


En este apartado vamos a explicar detalladamente el funcionamiento
de OntoSakai Resources y OntoSakai Browser.

Cabe destacar, como informacin a tener en cuenta previa a la lectura


de este captulo, los roles que los usuarios pueden tomar en cada una de
las herramientas desarrolladas.

Generador de contenido: Este rol se aplica a los usuarios que


tienen capacidad para crear nuevo contenido en la herramienta.

Consumidor de contenido: Este rol se aplica a los usuarios


que hacen uso de los elementos de una herramienta.

La tabla 69 nos muestra los roles que adquiere cada tipo de


usuario en cada herramienta desarrollada.

OntoSakai Resources

OntoSakai Browser

Docente

Generador de contenido

Consumidor de contenido

Estudiante

--

Consumidor de contenido
Tabla 69. Roles de usuario

10.4.1 OntoSakai Resources


Esta herramienta tiene como principal funcin permitir a los docentes
agregar nuevo contenido al campus virtual.

Lo primero que debemos hacer es ingresar nuestra contrasea de


usuario de Sakai.

258

Figura 130. Login OntoResources

Una vez dentro de la aplicacin contamos con una interface que nos
permite subir recursos, relacionando cada recurso con topicItems o
recursos existentes en el sistema que deseemos.

Figura 131. Visin general OntoResources

Para ello, simplemente debemos hacer clic en el botn Seleccionar


archivo y elegir el recurso que deseamos subir, tal como muestra la figura
138.

259

Figura 132. Subida de archivo

A continuacin, si lo deseamos, podemos relacionar el recurso con los


topicItems, para ello, simplemente debemos dirigirnos a la lista de
topicItems, organizados por sus topics, y pulsar en los deseados,
podemos asignar tantos topicItems como queramos. La figura 139
muestra el rea de relacin con topicItems.

Figura 133. Listado de topics

Como

podemos

observar,

hemos

seleccionado

del

topic

Programacin el topicItem Avanzado y del topic Ontologas el


topicItem Protege.

260

Del mismo modo, podemos relacionar nuestro recurso con otros


recursos ya existentes en el campus virtual, para ello, en el rea de
recursos relacionados, contamos con un listado de todos los recursos.

Figura 134. Listado de recursos relacionados

Una

vez

tenemos el

recurso

seleccionado

y sus

relaciones

establecidas, solo nos resta pulsar sobre el botn Subir Recurso para
finalizar la subida.

Figura 135. Subida completada

261

Como vemos, una vez subido el recurso, el sistema nos muestra un


mensaje informndonos de que la subida se ha producido correctamente.

Desde esta herramienta, podemos tambin insertar nuevos topics o


nuevos topicItems.

Para insertar un nuevo topic, debemos hacer clic sobre el botn


+Topic situado bajo el listado de topics.

Una vez lo pulsemos, nos mostrar una interface en la que debemos


introducir el nombre del nuevo topic y pulsar sobre aceptar, tal como
muestra la figura 142.

Figura 136. Crear nuevo topic

Como vemos, una vez el topic se ha creado, el sistema nos muestra un


mensaje informando de ello.

De forma similar, podemos insertar nuevos topicItems pulsando sobre


el botn +TopicItem, nos mostrar un formulario en el cual debemos

262

escoger el topic al que pertenecer e introducir el nombre del topicItem a


crear.

Una vez creado, el sistema nos informa de que ya existe un nuevo


topicItem.

Figura 137. Crear nuevo TopicItem

Como vemos en la figura 143, tanto el topic Servicios_web como el


topicItem SOAP han sido aadidos a nuestro listado de topics,
permitindonos relacionarlos con nuevos recursos.

263

Figura 138. Comprobacin topic creado

Como podemos observar, tanto el listado de topicItems como el de


recursos relacionados cuentan su parte superior con sendos cuadros de
bsqueda, estos cuadros nos permiten filtrar el contenido para facilitar
una bsqueda en caso de que contemos con numerosos elementos en las
listas.

Figura 139. Filtro de listados

264

10.4.2 OntoSakai Browser


En este aparado detallaremos el funcionamiento de OntoSakai
Browser, la herramienta que hemos creado para la visualizacin de
archivos y la recomendacin de recursos relacionados.

De forma similar a como ocurra en el caso anterior, si no estamos


logeados en el sistema, deberemos introducir nuestra contrasea de
usuario de Sakai.

Figura 140. Login OntoBrowser

Una vez que accedamos a la herramienta nos encontraremos con un


listado de los recursos existentes en esta asignatura, en nuestro caso,
DAD.

Figura 141. Listado de recursos OntoBrowser

En este caso, solo aparece el recurso que acabamos de subir, como


podemos ver, nos muestra informacin sobre el recurso, as como un
pequeo icono a la izquierda del nombre que nos permite visualizar, con
un primer vistazo, el tipo de archivo de que se trata.
265

Para poder ver los recursos relacionados, simplemente debeos hacer


clic sobre

. Veremos cmo se despliega un listado con tres pestaas

en la parte inferior a nuestro recurso.

Figura 142. Pestaa recursos relacionados

Cada una de estas pestaas muestra los recursos relacionados segn


el tipo de relacin que compartan con el recurso raz, as nos
encontramos con tres tipos de recursos relacionados.

Recursos relacionados: Estos recursos son los que el docente


marc como recursos relacionados a la hora de subir el archivo,
es decir, tienen una relacin directa con nuestro recurso.

Figura 143. Relaciones directas

TopicItems: Estos recursos provienen de la relacin de nuestro


recurso subido con los topicItems seleccionados por el docente
a la hora de crear el recurso en el campus virtual. Como muestra
la siguiente imagen, podemos ver a que topicItem y topic
pertenece cada recurso.

266

Figura 144. Relaciones a travs de topicItem

Topics: En este caso, los recursos se infieren de las relaciones


indirectas de nuestro recurso con los topics, a travs de sus
topicItems, si bien es cierto que la relacin es ms indirecta, los
recursos pueden, ser del mismo modo, tiles para el alumno.

Figura 145. Relaciones a travs de topic

Finalmente,

para

descargar

cualquier

recurso,

tanto

perteneciente a una asignatura como relacionado, debemos


hacer clic en el enlace del recurso.

267

Figura 146. Descarga de recurso

10.5 Anexo E: Especificacin de Methontology


10.5.1 Principales componentes de modelado:
Methontology propone conceptualizar las ontologas utilizando un
conjunto de representaciones intermedias. Dichas representaciones
permiten modelar los componentes que se describen a continuacin.

Conceptos: objetos o entidades, considerados desde un punto


de vista amplio. Los conceptos de una ontologa estn
normalmente organizados en taxonomas en las cuales se
pueden aplicar mecanismos de herencia.

Relaciones: representan un tipo de asociacin entre conceptos


del dominio.

Instancias: se utilizan para representar individuos en la


ontologa.

Constantes: valores numricos que no cambian en un largo


perodo de tiempo.

Atributos: describen propiedades. Se pueden distinguir dos tipos


de atributos: de instancia y de clase.

Axiomas formales: expresiones lgicas siempre verdaderas que


suelen utilizarse para definir restricciones en la ontologa.

Reglas: se utilizan normalmente para inferir conocimientos en la


ontologa, tales como valores de atributos, instancias de
relaciones, etc.
268

10.5.2 Tareas definidas por Methontology.


Methontology, define, del mismo modo, una serie de pasos o tareas
que debemos seguir a la hora de modelar una ontologa:

Tarea 1: Construir el glosario de trminos. En primer lugar, el


desarrollador de la ontologa construye un glosario de trminos que
incluye todos los trminos relevantes del dominio (conceptos, instancias,
atributos, relaciones entre conceptos, etc.), sus descripciones en lenguaje
natural, y sus sinnimos y acrnimos.

Tarea 2: Construir taxonomas de conceptos. Una vez que el


glosario de trminos contiene suficientes trminos, el desarrollador de la
ontologa construye las taxonomas de conceptos que definen su
jerarqua. Para construir taxonomas de conceptos, se seleccionan del
glosario de trminos aquellos trminos que son conceptos.

Tarea 3: Construir diagramas de relaciones binarias ad hoc. Una


vez construida y evaluada la taxonoma, la actividad de conceptualizacin
propone construir diagramas de relaciones binarias ad hoc. El objetivo de
este diagrama es establecer las relaciones ad hoc existentes entre
conceptos de la misma o de distintas taxonomas de conceptos.

Tarea 4: Construir el diccionario de conceptos. Una vez que las


taxonomas de conceptos y los diagramas de relaciones binarias ad hoc
han sido generados, el desarrollador de la ontologa debe especificar
cules son las propiedades que describen cada concepto de la
taxonoma, as como las relaciones identificadas en el diagrama del paso
anterior y las instancias de cada uno de los conceptos. El diccionario de
conceptos contiene todos los conceptos del dominio, sus relaciones, sus
instancias, y sus atributos de clase y de instancia.
Las relaciones especificadas para cada concepto son aquellas en las
que el concepto es el origen de la misma.

269

Tarea 5: Describir las relaciones binarias ad hoc. El objetivo de esta


tarea es describir en detalle todas las relaciones binarias ad hoc
identificadas en el diagrama de relaciones binarias e incluidas en el
diccionario de conceptos. Para cada relacin binaria ad hoc, el
desarrollador de la ontologa debe especificar su nombre, los nombres de
sus conceptos origen y destino, su cardinalidad y su relacin inversa, si
existe.

Tarea 6: Describir los atributos de instancia. El objetivo de esta


tarea es describir en detalle todos los atributos de instancia incluidos en el
diccionario de conceptos. Cada fila de la tabla de atributos de instancia
contiene la descripcin detallada de un atributo de instancia.
Por cada atributo de instancia, el desarrollador de la ontologa debe
especificar su nombre, el concepto al que pertenece el atributo (los
atributos son locales a los conceptos), su tipo de valor, su rango de
valores (en el caso de atributos numricos), y sus cardinalidades mnima y
mxima.

Tarea 7: Describir los atributos de clase. El objetivo de esta tarea es


describir en detalle todos los atributos de clase incluidos en el diccionario
de conceptos. Para cada atributo de clase, el desarrollador de la ontologa
debe rellenar la siguiente informacin: nombre del atributo, nombre del
concepto donde el atributo se define, tipo de valor, cardinalidad y
valor(es).

Tarea 8: Describir las constantes. El objetivo de esta tarea es


describir en detalle cada una de las constantes identificadas en el glosario
de trminos. Para cada constante, el desarrollador de la ontologa debe
especificar su nombre, tipo de valor, valor y unidad de medida en el caso
de constantes numricas.

Tarea 9: Definir axiomas formales. Para realizar esta tarea, el


desarrollador de ontologas debe identificar los axiomas formales que son
necesarios en la ontologa y describirlos de manera precisa. Para cada
270

definicin de axioma formal, se propone especificar la siguiente


informacin: nombre, descripcin en lenguaje natural, expresin lgica
que define de manera formal el axioma usando lgica de primer orden, y
los conceptos, atributos y relaciones ad hoc utilizadas en el axioma, as
como las variables utilizadas.

Tarea 10: Definir reglas. De manera similar a la tarea previa, en esta


tarea el desarrollador de la ontologa debe identificar en primer lugar qu
reglas se necesitan en la ontologa, y entonces describirlas en la tabla de
reglas. Para cada regla, se propone incluir la siguiente informacin:
nombre, descripcin en lenguaje natural, expresin que describe
formalmente la regla, y conceptos, atributos y relaciones ad hoc utilizados
en la regla, as como las variables usadas.
METHONTOLOGY propone especificar las expresiones de las reglas
utilizando el formato si <condiciones> entonces <consecuente>. La parte
izquierda de la regla es una conjuncin de condiciones simples, mientras
que la parte derecha es una simple expresin de un valor de la ontologa.

Tarea 11: Describir instancias. Una vez que el modelo conceptual de


la ontologa ha sido creado, se pueden definir las instancias que aparecen
en el diccionario de conceptos. Para cada instancia se define: su nombre,
el nombre del concepto al que pertenece y los valores de sus atributos de
instancia, si se conocen.

En la figura 153 podemos ver, de forma grfica, un resumen de las


tareas que componen esta metodologa.

271

Figura 147. Tareas que componen Methontology

272

S-ar putea să vă placă și