UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA
IMPLEMENTACIÓN DE UNA ARQUITECTURA DE WORKFLOW PARA LA
AUTOMATIZACIÓN DEL PROCESO DE REGISTRO DE TESIS
TESIS:
PARA OBTENER EL TÍTULO DE
INGENIERO EN COMPUTACIÓN
PRESENTA:
ALFREDO REYES LUNA
DIRECTOR DE TESIS:
M. C. IRMA GUADALUPE SOLÍS GENESTA
HUAJUAPAN DE LEÓN, OAXACA. NOVIEMBRE DE 2005.
ii
Dedicatoria
A mi mamá y primer maestra Bertha, a mi papá Pascual, a mis hermanos Daniel, Lucero,
Neftali Y Alejandro por apoyarme en todo lo que he realizado.
iii
Agradecimientos
Al M. C. Irma Guadalupe Solís Genesta por todo el apoyo brindado en la realización de
esta tesis.
A mis sinodales M.C. María Auxilio Medina Nieto, M.C. Wendy Yaneth García
Martínez y M.C. David Martínez Torres por todo el tiempo que le brindaron a este
proyecto.
Al Cuerpo Académico de Ingeniería de Software (CASI), por haber prestado las
instalaciones del LIDIS (Laboratorio de Investigación y Desarrollo de Ingeniería de
Software) para llevar a cabo la tesis.
Al M.C. Mario Alberto Moreno Rocha por el apoyo brindado en la realización de esta
tesis.
A los jefes de carrera de la Universidad Tecnológica de la Mixteca por brindar su tiempo
y colaboración en las entrevistas realizadas.
iv
A las profesoras Lic. Rubí Olivos y Lic. Iliana Herrera Arellano y a las egresadas Flor
Adriana Zurita López y Citlally Vásquez Ortiz por su valiosa colaboración en las pruebas
de usabilidad.
A Josefina Flores Flores, Felipe de Jesús García Pérez, Metztli Ibáñez Rivera, José Carlos
Ortiz Bayliss y Yetnalezi Quintas Ruiz por facilitar sus documentos de registro de tesis
que se utilizaron en las pruebas de usabilidad.
A mis padres Bertha Luna Monterrey y Pascual Reyes González y a mis hermanos,
Daniel, Lucero, Neftali y Alejandro Reyes Luna por su apoyo en la realización de la tesis.
A Dios por permitir la culminación de la tesis.
v
Índice General
Índice General ................................................................................................................... v
Índice de Figuras............................................................................................................ viii
Capítulo 1. Introducción .................................................................................................. 1
1.1 Planteamiento del problema...................................................................................... 2
1.2 Propuesta: Automatizar el proceso de registro de tesis en la UTM.......................... 3
1.3 Objetivo general........................................................................................................ 4
1.4 Objetivos específicos ................................................................................................ 4
1.5 Hipótesis ................................................................................................................... 5
1.6 Estructura de la tesis ................................................................................................. 5
Capítulo 2. Marco Teórico ............................................................................................... 6
2.1 Proceso de negocios.................................................................................................. 6
2.2 Tecnología workflow................................................................................................ 8
2.2.1 Modelo de workflow........................................................................................ 10
2.2.2 Clasificación de los sistemas workflow.......................................................... 12
2.2.3 Proceso de desarrollo de aplicaciones workflow............................................. 13
2.3 Arquitectura de un sistema workflow..................................................................... 14
2.3.1 Arquitectura del sistema CoopWARE............................................................. 15
2.3.2 Arquitectura con base de datos activas ............................................................ 17
2.4 Ingeniería de Software ............................................................................................ 18
2.5 Ingeniería Web........................................................................................................ 20
2.6 Modelo de Ingeniería Web...................................................................................... 20
2.6.1 Formulación ..................................................................................................... 21
2.6.2 Planificación .................................................................................................... 21
2.6.3 Análisis de aplicaciones Web .......................................................................... 22
2.6.4 Ingeniería de aplicaciones Web ....................................................................... 22
2.6.5 Generación de páginas y pruebas..................................................................... 22
2.6.6 Evaluación........................................................................................................ 24
2.7 Usabilidad en Web.................................................................................................. 24
vi
2.8 Herramientas a utilizar............................................................................................ 25
2.8.1 PostgreSQL...................................................................................................... 25
2.8.2 PHP .................................................................................................................. 26
2.8.3 Proceso Unificado de Modelado...................................................................... 27
2.9 Métodos utilizados .................................................................................................. 28
Capítulo 3. Análisis y Diseño del Sistema ..................................................................... 30
3.1 Descripción del proceso de registro de tesis ........................................................... 30
3.2 Requerimientos funcionales del sistema................................................................. 32
3.2.1 Requerimientos sobre eventos extraordinarios en el proceso de registro de
tesis ........................................................................................................................... 33
3.2.2 Requerimientos del mantenimiento del sistema ............................................. 33
3.3 Requerimientos no funcionales del sistema............................................................ 33
3.4 Descripción general del sistema.............................................................................. 33
3.4.1 Propósito del sistema ....................................................................................... 34
3.4.2 Objetivos del sistema ....................................................................................... 34
3.4.3 Alcances del sistema ........................................................................................ 34
3.5 Implementación del workflow ................................................................................ 35
3.6 Casos de uso............................................................................................................ 36
3.7 Diseño de la Base de Datos..................................................................................... 50
Capítulo 4. Implementación y Pruebas del Sistema .................................................... 53
4.1 Descripción de los usuarios .................................................................................... 53
4.2 Descripción funcional del sistema .......................................................................... 58
4.2.1 Página principal ............................................................................................... 60
4.2.2 Registro de profesores...................................................................................... 60
4.2.3 Registro de tesistas........................................................................................... 61
4.2.4 Registro de tesis ............................................................................................... 62
4.2.5 Seguimiento del proceso.................................................................................. 64
4.2.6 Asignar sinodales ............................................................................................. 65
4.2.7 Revisar protocolo ............................................................................................. 66
4.2.8 Veredicto final ................................................................................................. 67
4.2.9 Búsqueda de protocolos ................................................................................... 67
vii
4.2.10 Monitoreo de tareas........................................................................................ 68
4.3 Pruebas.................................................................................................................... 69
4.3.1 Pruebas de funcionalidad ................................................................................. 69
4.3.2 Pruebas de usabilidad....................................................................................... 76
Capítulo 5. Conclusiones ................................................................................................ 82
5.1 Aportaciones de la tesis .......................................................................................... 84
5.2 Limitaciones............................................................................................................ 84
5.3 Trabajos futuros ...................................................................................................... 84
Bibliografía ...................................................................................................................... 86
Apéndice A: Lista de casos de uso ................................................................................. 92
Apéndice B: Diccionario de datos................................................................................ 127
Apéndice C: Pruebas de usabilidad............................................................................. 135
viii
Índice de Figuras
Figura 2.1. Características de un sistema de workflow ...................................................... 9
Figura 2.2. Modelo de workflow propuesto por la WfMC............................................... 10
Figura 2.3. Proceso de desarrollo de aplicaciones workflow............................................ 13
Figura 2.4. Arquitectura de CoopWARE.......................................................................... 16
Figura 2.5. Arquitectura que controla el proceso de workflow a través de una base de
datos .................................................................................................................................. 17
Figura 2.6. Esquema general del proceso de Ingeniería Web........................................... 21
Figura 3.1. Flujo de documentos en el proceso de registro de tesis.................................. 31
Figura 3.2. Arquitectura del sistema de workflow que controla el proceso de registro de
tesis. .................................................................................................................................. 35
Figura 3.3a. Casos de uso del sistema que controla el proceso de registro de tesis. ........ 37
Figura 3.3b. Casos de uso del sistema que controla el proceso de registro de tesis. ........ 38
Figura 3.4. Diagrama entidad-relación. ............................................................................ 50
Figura 3.5. Diseño de la base de datos.............................................................................. 51
Figura 4.1. Menú del usuario tesista. ................................................................................ 54
Figura 4.2. Menú del usuario profesor.............................................................................. 55
Figura 4.3. Menú del usuario jefe de carrera. ................................................................... 56
Figura 4.4. Menú del usuario administrador..................................................................... 57
Figura 4.5. Menú del usuario visitante.............................................................................. 58
Figura 4.6. Mapa del sitio del control del proceso de registro de tesis............................. 59
Figura 4.7. Página principal del sistema de control del proceso de registro de tesis........ 60
Figura 4.8a. Página donde se solicita el identificador del profesor. ................................. 61
Figura 4.8b. Página donde se solicita los datos del profesor. ........................................... 61
Figura 4.9a. Página donde se solicita la matrícula del tesista. .......................................... 62
Figura 4.9b. Página donde se solicitan los datos del tesista.............................................. 62
Figura 4.10. Página de registro de tesis. ........................................................................... 63
Figura 4.11. Página de inicio de proceso de registro de tesis. .......................................... 63
Figura 4.12. Seguimiento del proceso de registro de tesis................................................ 64
Figura 4.13. Página de asignar sinodales. ......................................................................... 65
ix
Figura 4.14. Página de revisar protocolo. ......................................................................... 66
Figura 4.15. Página de terminar revisión. ......................................................................... 66
Figura 4.16a. Página donde se realiza el veredicto final................................................... 67
Figura 4.16b. Página donde se finaliza el veredicto. ........................................................ 67
Figura 4.17. Página de búsqueda de protocolos de tesis................................................... 68
Figura 4.18. Página del resultado de la búsqueda de los protocolos de tesis.................... 68
Figura 4.19a. Página de Realiza veredicto final, utilizada en las pruebas de usabilidad.. 77
Figura 4.19b. Página de Realiza veredicto final, después de las pruebas de usabilidad.. 77
Figura 4.20a. Página de Revisar protocolo, utilizada en las pruebas de usabilidad. ........ 79
Figura 4.20b. Página de Revisar protocolo, después de las pruebas de usabilidad. ........ 79
Figura 4.21a. Página de Seguimiento del proceso, durante las pruebas de usabilidad. ... 81
Figura 4.21b. Página de Seguimiento del proceso, después de las pruebas de usabilidad.
........................................................................................................................................... 81
1 Introducción
1
Capítulo 1. Introducción
Toda organización ejecuta procesos administrativos, en los cuales se lleva a cabo un flujo
de información y de documentos a través de las diferentes personas que integran el
proceso. Estos documentos muestran los resultados de cada una de las tareas que se
ejecutan durante el proceso.
El contar con un sistema que controle algún proceso dentro de una organización, brinda
grandes ventajas, ya que las tareas se ejecutan fácilmente, existe un mayor control en las
tareas, evita que el trabajo se detenga y asegura que las tareas sean realizadas en el
tiempo estipulado.
La Universidad Tecnológica de la Mixteca (UTM) tiene diversos procesos
administrativos, uno de los cuales es el proceso de registro de tesis. La finalidad de este
proceso es verificar la factibilidad de un tema de tesis, para el cual existe un comité de
evaluación, que da su aprobación o rechazo al tema propuesto. Cabe señalar que este
proceso administrativo se realiza por carrera.
1 Introducción
2
1.1 Planteamiento del problema
De manera general el proceso de registro de tesis se realiza de la siguiente manera:
• El tesista lleva el protocolo de tesis al Jefe de Carrera.
• El Jefe de Carrera asigna a los sinodales y les hace llegar los documentos que el
tesista le entregó.
• Cada uno de los sinodales revisa los documentos y proporciona un veredicto
parcial aceptando o rechazando el tema, informándoselo al Jefe de Carrera por
escrito.
• El Jefe de Carrera proporciona un veredicto final y se lo hace llegar tanto al
tesista como al director de tesis.
En el proceso de registro de tesis existen varios factores que pueden ocasionar retrasos,
entre los cuales están: que los horarios de los sinodales no coincidan con el del Jefe de
Carrera para iniciar la revisión de la propuesta de tesis, el extravío de documentos,
debido a que éstos son impresos.
La centralización de documentos en la Jefatura de Carrera no permite a los tesistas
conocer de una manera rápida y sencilla en qué paso se encuentra su proceso de registro
de tesis, por lo que tienen que ir personalmente con su Director de Tesis ó en su defecto,
enviarle un correo electrónico, a su vez el Director de Tesis, pregunta al Jefe de Carrera,
quien verifica en qué paso se encuentra el proceso preguntando a cada uno de los
sinodales y le informa al Director de Tesis. Este último le envía un correo electrónico al
Tesista para informarle en qué paso se encuentra su proceso de registro de tesis. Por esto,
el informar a los tesistas sobre su registro de tesis, es un proceso tardado e involucra a
muchas personas.
Dado que el proceso de registro de tesis en la UTM no se realiza de la misma manera en
todas las carreras, se presenta cierta confusión entre los alumnos cuando empiezan a
trabajar en él, por la falta de información sobre los pasos que se deben seguir.
1 Introducción
3
1.2 Propuesta: Automatizar el proceso de registro de tesis en la UTM
Para prevenir los retrasos antes mencionados y brindar mayores facilidades en la
realización del proceso de registro de tesis en la UTM, se propone automatizar este
proceso aplicando la tecnología workflow1.
Para realizar la automatización del proceso de registro de tesis se propone un sistema vía
web, que aplica la tecnología workflow, el cual administra las tareas del proceso de
registro de tesis, controlando el flujo de documentos entre las diferentes personas
(Asesor, Sinodales, Tesista, Jefe de Carrera) y proporcionando las herramientas
necesarias para llevar a cabo las tareas.
La tecnología workflow permite dar seguimiento a las tareas, manejando un conjunto de
estados por donde pasa cada tarea hasta terminar el proceso. Con lo anterior, el sistema
proporciona la información tanto al tesista como al director de tesis sobre el paso en que
se encuentra el proceso de registro de tesis.
Cabe señalar que el sistema cuenta con una guía de pasos a seguir en el proceso de
registro, así como los puntos que el alumno debe cubrir para realizar el protocolo e
informarle acerca de lo que se debe hacer antes de iniciar el proceso de registro de su
tesis, esto para cada carrera.
El sistema está conformado como un sitio web, en el cual se lleva a cabo el proceso de
registro de tesis, en el que se toman en cuenta las diferentes personas involucradas como:
el tesista, el jefe de carrera y los sinodales, añadiendo dos personas más: el visitante,
quien únicamente consulta la información y el administrador, quien se encarga de dar
mantenimiento al sistema.
1 El workflow es una tecnología utilizada para la automatización de procesos de carácter administrativo, en el cual las tareas, documentos e información se transmiten de una persona a otra para permitir la comunicación dentro de un grupo de trabajo, con la finalidad de terminar el proceso [18].
1 Introducción
4
El sistema permite lo siguiente:
• Al tesista, poder iniciar con el proceso generando los formatos de registro a partir
de los datos previamente introducidos.
• A los jefes de carrera, realizar tareas propias del proceso, como asignar sinodales
y dar un veredicto final, con base en la resolución de los sinodales.
• A los sinodales, revisar los protocolos de tesis.
Para llevar a cabo el control del flujo de actividades, el sistema utiliza una base de datos
donde se almacenan las diferentes actividades a realizar y se determina cuál es la tarea
sucesora o las actividades que realiza cada usuario.
1.3 Objetivo general
Automatizar el proceso de registro de tesis de licenciatura en la Universidad Tecnológica
de la Mixteca, para llevar un mejor control y agilizar el proceso, aplicando la tecnología
workflow y estándares de desarrollo.
1.4 Objetivos específicos
• Estudiar la tecnología workflow que permita garantizar una buena automatización
del proceso de registro de tesis.
• Implementar una arquitectura workflow que permita cubrir las necesidades del
proceso.
• Seguir una metodología de Ingeniería de Software en la construcción del sistema.
• Realizar un sistema que permita a los jefes de carrera controlar el proceso de
registro de tesis en la UTM.
1 Introducción
5
1.5 Hipótesis
Aplicando la tecnología workflow se podrá automatizar el proceso de registro de tesis en
la Universidad Tecnológica de la Mixteca para realizarlo más fácil y rápidamente.
1.6 Estructura de la tesis
En el presente capítulo se mencionó de manera general el contenido de esta tesis,
presentando un panorama de la problemática a tratar y una solución a ésta a través de un
sistema.
En el capítulo 2 se encuentra la información necesaria, como definiciones, modelos, una
explicación sobre la tecnología workflow, así como de Ingeniería Web utilizados para
realizar la construcción del sistema y algunos conceptos que van a ser necesarios para
entender el desarrollo de la tesis.
En el capítulo 3 se presenta el análisis del sistema a través de casos de uso y los diseños
de la estructura del sitio, así como el diseño de la base de datos. Además se muestran
algunos esquemas que ayudan a visualizar la funcionalidad del sistema.
En el capítulo 4 se explica la implementación y pruebas, se muestra cómo se llevó a cabo
la implementación del sitio, las pruebas de usabilidad y de funcionalidad realizadas al
sistema.
En el capítulo 5 se presentan las conclusiones y el trabajo futuro.
2 Marco teórico
6
Capítulo 2. Marco Teórico
Este capítulo presenta los conceptos de: proceso de negocios, workflow y el modelo de
Ingeniería Web que se aplicaron en la realización del sistema que controla el proceso de
registro de tesis, así como la aplicación de las herramientas de modelado UML, lenguaje
PHP y la base de datos PostgreSQL que fueron utilizadas en la construcción del mismo.
Además se presenta la justificación de los métodos utilizados.
2.1 Proceso de negocios
Un proceso es la ejecución de un conjunto de actividades coordinadas para llevar a cabo
un objetivo en común [23] [10]. El proceso de negocios es una parte fundamental dentro
de una organización donde se realizan trámites administrativos, ya que asegura que las
actividades se realicen de una manera consistente y fiable [34] [25].
Los entornos empresariales modernos se caracterizan por tener un conjunto amplio de
procesos de negocios que requieren ser ejecutados para el logro de las metas corporativas.
Algunos conceptos que son definidos en los procesos de negocios son:
2 Marco teórico
7
• Una tarea es una unidad indivisible dentro de un proceso, si se cancela por algún
motivo, esta tarea deberá iniciar de nuevo [8].
• Una actividad es una tarea que puede ser realizada por un ser humano o por una
computadora [39].
• Un documento es información que sirve como elemento de entrada y salida en el
proceso [15].
La definición del proceso de negocios comprende una serie de actividades a realizar, las
cuales tienen reglas que dirigen su ejecución. El proceso de negocios, se compone de los
siguientes elementos [18]:
• El conjunto de actividades que a su vez pueden descomponerse en tareas
específicas que se ejecutan para lograr un objetivo.
• La organización, que desarrollará las actividades, es decir, el personal de la
organización que efectúa las actividades asignadas. Puede aplicarse además la
función de roles (proveedor, cliente, socio, competidor), para hacer más flexible
tanto la tarea específica, como el desarrollo del proceso.
• Los recursos que se utilizan para desempeñar las actividades.
Los elementos antes mencionados, en conjunto, ofrecen información sobre los recursos
que servirán de soporte a los participantes en su trabajo. La interacción de estos
elementos motiva a aplicar las tecnologías de información y comunicación a modelos de
negocios buscando la automatización de procesos.
Para realizar la automatización del proceso de negocios es necesario realizar las
actividades en coordinación con el trabajo corporativo, con la finalidad de conseguir la
integración de las funciones de comunicación, coordinación y colaboración que tienen
lugar en un grupo de trabajo, creando así una infraestructura que posibilita el desarrollo
eficiente y eficaz de los procesos que tienen lugar en una organización. Esto se puede
realizar con ayuda de la tecnología workflow [18].
2 Marco teórico
8
2.2 Tecnología workflow
La tecnología workflow es utilizada para automatizar procesos de negocios, en los cuales
los documentos y/o diversas tareas tienen un flujo a través de varios participantes,
tomando en cuenta un conjunto de normas establecidas dentro de una organización [22].
Esta tecnología se basa en la ejecución de una serie de tareas, que para pasar a una nueva
se tuvieron que haber completado una o más de ellas [25].
La WfMC (Workflow Management Coalition, Coalición de Administración de
Workflow), es una organización sin ánimo de lucro integrada por desarrolladores,
investigadores, estudiantes de universidades, entre otras personas, que definen
formalmente al flujo de trabajo o workflow como “la automatización de un proceso de
negocios, total o parcialmente, en el que información de cualquier tipología llega al
usuario adecuado en el momento adecuado, sobre la base de un conjunto de reglas
inteligentes, que permite que la mayoría del trabajo sea efectuado informáticamente,
mientras que las personas se ocupan solamente de las excepciones” [22].
Un sistema workflow (WMS Workflow Management System, Sistema de Administración
de Workflow) es utilizado para brindar soporte a un proceso dentro de una organización,
aportando las herramientas necesarias para que cada actividad sea realizada por el usuario
indicado o de manera automática [2]. Además, este sistema permite la secuencia de las
actividades garantizando que el usuario cumpla con su trabajo en el tiempo estimado [1].
El sistema workflow ejecuta un proceso dentro de una organización, por lo que es
necesario conocer el modelo organizacional, (el cual describe a las personas que ejecutan
las tareas dentro de la organización). Esto se hace para estructurar el proceso de negocios,
en donde se describen las tareas que se deben desempeñar y el flujo de actividades que se
realiza para completar el proceso. Cada proceso de negocios maneja cierta información
con datos que deben permanecer a manera de historial para documentar el proceso [10].
2 Marco teórico
9
Los sistemas workflow cuentan con ciertas características, mostradas en la Figura 2.1, las
cuales se presentan a continuación [8]:
• La definición del proceso de negocios que va a ser automatizado por el sistema
workflow, con base en herramientas de modelado para poder entender mejor el
proceso.
• La ejecución del sistema workflow, en donde se va a llevar a cabo la instanciación
del proceso, es decir donde se ejecuta el proceso.
• La interacción de los usuarios con las aplicaciones, las cuales proporcionan las
herramientas necesarias al usuario para que desempeñe las actividades del
proceso.
Figura 2.1. Características de un sistema de workflow [8].
Los sistemas de workflow se esquematizan a través de un modelo, el cual se describe en
la siguiente sección.
2 Marco teórico
10
2.2.1 Modelo de workflow
La WfMC propone un modelo de referencia para estandarizar todos los desarrollos
workflow basándose en un modelo genérico, como se muestra en la Figura 2.2; este
modelo se divide en tres módulos [18]:
• El módulo de diseño, es el encargado de interpretar el proceso real a una forma
que pueda ser procesada por una computadora, para tener una definición del
proceso de negocios.
• El módulo de ejecución, es realizado por un motor de workflow, el cual se
encarga de interpretar la definición del proceso y proporcionar un ambiente de
ejecución para tal modelo.
• El módulo de administración, es el encargado de verificar que las tareas se
realicen de la forma prevista y de manejar las excepciones.
Figura 2.2. Modelo de workflow propuesto por la WfMC [22].
El modelo de workflow consta de cinco interfaces, las cuales son descritas a
continuación:
2 Marco teórico
11
• Herramientas para la definición del proceso. Aquí se describe el proceso general
que se desea automatizar, se realiza la definición del proceso, la cual debe
contener las tareas, las personas que ejecutan las tareas, las normas establecidas
para desempeñar el proceso y el flujo de documentos a realizar [22].
• Servicio de promulgación de workflow, se realiza en tiempo de ejecución, donde
se activan o crean instancias de los procesos, es decir, se lleva a cabo un proceso.
Además, esta interfaz controla la secuencia de actividades a través del motor o los
motores de workflow; se encarga de invocar a las herramientas necesarias para
realizar las actividades [22]. Este servicio también es el responsable de interpretar
y activar, todo el proceso o solamente una parte. De igual manera, interactúa con
los recursos externos necesarios para llevar a cabo las diferentes actividades del
proceso [32].
• Máquina de workflow, es la encargada de interpretar la definición del proceso de
negocios, controla el flujo de actividades para concluir una sola instancia del
proceso, además proporciona soporte a los datos importantes [22]. Coordina la
secuencia de las tareas que se desempeñan y verifica cuál es la tarea actual para
así asignar una nueva [24] [10].
• Herramientas para la administración y el seguimiento, provee una interfaz común
que habilita varios servicios de workflow para compartir un amplio rango de
funciones y cumplir con las actividades del proceso, por ejemplo un módulo de
monitoreo de tareas que asegure que las tareas son realizadas en el tiempo
establecido [22].
• Aplicaciones cliente del workflow, se hace llamar al administrador de la lista de
trabajo, el cual se encarga de interactuar con el usuario, en aquellas actividades
que requieren recursos humanos y de llevar la ejecución de las actividades para
realizar un proceso [32].
• Aplicaciones invocadas, en esta interfaz la máquina de workflow se encarga de
invocar a las herramientas necesarias para realizar una determinada actividad, por
ejemplo, si se tiene una aplicación en el servidor, por medio de una lista de
trabajo vaya invocando las herramientas que el cliente necesite para realizar sus
tareas [22].
2 Marco teórico
12
Este modelo se utiliza para determinar los elementos que forman parte del sistema que
automatiza al proceso de registro de tesis, tomando en cuenta los elementos necesarios
para su desarrollo. Se tiene que tomar en cuenta la clasificación de los sistemas
workflow, para determinar a cuál pertenece el sistema que se quiere realizar. En la
siguiente sección se presenta esta clasificación.
2.2.2 Clasificación de los sistemas workflow
Los sistemas workflow se pueden clasificar en dos tipos: estáticos y dinámicos. Los
sistemas estáticos ejecutan un conjunto de tareas ya establecidas que siempre se ejecutan
en el mismo orden, dichos sistemas se caracterizan por ser previsibles y por realizar
funciones repetitivas. Además limitan el proceso debido a que no dan cabida a eventos
extraordinarios que se puedan llegar a presentar. Los sistemas de workflow dinámicos
son flexibles ya que el flujo que se sigue se va generando en tiempo de ejecución.
Actualmente los procesos tienen que adaptarse a ciertos cambios que se puedan presentar
en la organización como son: cambios en la legislación, en la estructura organizacional o
simplemente una evolución a lo largo del tiempo. Debido a lo anterior, los sistemas de
workflow dinámicos pueden clasificarse de acuerdo a qué tanto van a cambiar las
características del proceso en [11]:
• Dinámicos, son utilizados cuando el proceso evoluciona y se basa en un sistema
que se ha estado manejando anteriormente.
• Adaptativos, son los que soportan excepciones o eventos que pueden ocurrir
durante la ejecución del proceso.
• Flexibles, son utilizados cuando se conoce un fragmento del proceso y se va
especificando a lo largo de la ejecución del sistema.
2 Marco teórico
13
El tipo de sistema que se utilizó para realizar esta tesis es adaptativo, que se explica con
mayor profundidad en la sección 2.11. Además, para el desarrollo se siguió un proceso
que indica qué pasos se deben seguir para realizar una buena aplicación workflow.
2.2.3 Proceso de desarrollo de aplicaciones workflow
El modelado de sistemas workflow representa el proceso dentro de una organización
[38]. El modelo de referencia WADP (Workflow Application Development Processes,
Proceso de Desarrollo de Aplicaciones Workflow) se presenta en la Figura 2.3.
Figura 2.3. Proceso de desarrollo de aplicaciones workflow [38].
Las fases del modelo WADP se describen a continuación:
• Fase de Estudio. En esta fase se captura toda la información sobre el proceso, esto
con la finalidad de analizarlo, para obtener un panorama más amplio del proceso.
Esta fase se puede apoyar en entrevistas a las personas involucradas en el proceso.
2 Marco teórico
14
• Fase de Diseño. Aquí se analiza y optimiza el proceso de negocios que puede ser
soportado por un sistema. Además se realiza el modelado de workflow en sí, el
cual se divide en dos: el modelado del proceso de workflow y el modelado de
datos.
• Fase de selección del sistema. Se realiza la selección del tipo de sistema de
workflow a realizar.
• Fase de implementación. En esta parte se realiza la construcción del sistema de
workflow, con base en la selección realizada en la fase de diseño.
• Fase de pruebas. En esta fase se realizan las pruebas, con el objeto de obtener
información sobre la estabilidad del sistema workflow, para verificar que el
sistema cumpla con los requerimientos de la organización.
• Fase operacional. En esta etapa se realiza la instalación del sistema y el
entrenamiento necesario a los empleados de la organización quienes van a utilizar
el sistema.
El modelo WADP es tomado en cuenta en el proceso de desarrollo del sistema que
controla el registro de tesis, siguiendo cada una de las etapas hasta la fase de pruebas.
El proceso de desarrollo de aplicaciones workflow propone un modelo para la
construcción del sistema, es necesario tomar en cuenta una arquitectura que dé un
panorama de cómo realizarlo.
2.3 Arquitectura de un sistema workflow
La arquitectura de software es utilizada para describir los componentes que conforman el
sistema mostrando la interacción entre ellos de manera general [33]. El realizar una buena
arquitectura, asegura visualizar de manera concisa y clara los módulos que conforman el
sistema.
2 Marco teórico
15
La arquitectura de un sistema workflow, busca tener tres características principales [14]:
• Transparencia. La arquitectura debe ser entendible por cualquier diseñador,
independientemente del dominio al cual va a pertenecer el sistema, de tal modo
que se logren observar los servicios abstractos a manera de bloques que integran
un sistema.
• Flexibilidad. Debe ser flexible a los posibles cambios que se lleguen a presentar
en un futuro, así como a la suma de nuevos servicios, es decir, adaptarse
fácilmente a las necesidades.
• Eficiencia. Una buena arquitectura hace más fácil y eficiente el intercambio de
datos, resuelve las peticiones de los servicios de información que se necesiten
para llevar a cabo el proceso.
En las siguientes secciones se presentan dos arquitecturas de sistemas workflow, las
cuales cumplen con las características antes mencionadas. Estas arquitecturas se eligieron
porque ayudan a llevar a cabo la implementación del sistema que controla el proceso de
registro de tesis de manera sencilla.
2.3.1 Arquitectura del sistema CoopWARE
La arquitectura CoopWARE (Cooperation With Active Relationships Enforcement,
Cooperación con Ejecución de Relaciones Activas) tiene un sistema centralizado que
administra agentes, que en el contexto de workflow son entidades humanas o
computacionales que llevan a cabo las tareas de un proceso [8]. La arquitectura se
muestra en la Figura 2.4.
2 Marco teórico
16
Figura 2.4. Arquitectura de CoopWARE [14].
Esta arquitectura tiene un modulo llamado Coordinador, el cual se encarga de verificar
que el proceso se lleve a cabo por medio de sus componentes, (i.e., el conjunto de reglas,
el esquema de información y el motor de reglas). El Coordinador es útil para la
comunicación entre cada uno de los componentes, los cuales tienen su propia Interfaz de
librerías que contienen un conjunto de servicios que el sistema ofrece y que son
ejecutados por su componente respectivo.
Esta arquitectura se compone de 3 tipos de modelos [14]:
• Modelo de información. Se forma de tres elementos: el usuario, que es la persona
que realiza las operaciones y toma un conjunto de roles; los componentes, que
son los elementos conectados por la arquitectura y los servicios, definidos en
términos de operaciones específicas.
• Modelo de comunicación. Consiste de dos elementos: el evento, que es una
ocurrencia confiable que habilita un flujo de información dependiendo del estado
en que se encuentra el servicio y el mensaje, que es un elemento que realiza la
transferencia de comunicación entre el coordinador y los componentes.
2 Marco teórico
17
• Modelo conductual. Se define usando un conjunto de reglas, que es el elemento
que define la colaboración entre las aplicaciones. Cada regla consiste de tres
elementos: un evento, una condición y una acción.
2.3.2 Arquitectura con base de datos activas
Muchos de los sistemas workflow utilizan base de datos relacionales para tener las
instancias necesarias que sean requeridas por la organización.
La base de datos activa, es aquella que ante la producción de ciertas acciones ejecuta de
manera automática otras. La arquitectura con base de datos activas, consta de dos
módulos: una Lista de trabajo que se encarga de asignar a las personas que ejecutan las
tareas y una Interfaz con la base de datos, la cual funciona como motor de workflow.
Estos dos módulos se encuentran en un servidor web el cual recibe las peticiones del
cliente para realizar el procesamiento. Ver Figura 2.5.
Figura 2.5. Arquitectura que controla el proceso de workflow a través de una base de datos [10].
2 Marco teórico
18
El conjunto de tareas a realizar durante el proceso, se encuentra en la base de datos, por
medio de consultas y triggers2, (los cuales se van a localizar en Recursos Ejecutados) se
identifica la nueva tarea a realizar para continuar el proceso.
En general, el procedimiento que utiliza esta arquitectura para terminar una tarea es el
siguiente: cuando se termina una tarea, se envía una petición de invocar al motor de
workflow y al servidor web, el cual actualiza las tareas y determina la tarea sucesora que
se almacena en la base de datos [10].
Una vez definido todos los elementos necesarios para la construcción de un sistema
workflow, es necesario seguir un modelo de Ingeniería de Software para realizar un buen
desarrollo.
2.4 Ingeniería de Software
El software no solamente se refiere a los programas de computadora, sino a todo lo
relacionado con la puesta en marcha del sistema como son: programas independientes,
manuales, documentación, archivos que ayuden a instalar el programa, archivos de
configuración, etc. La Ingeniería de Software es una disciplina que ayuda a producir el
software desde la etapa de requerimientos hasta el mantenimiento del mismo, para
desarrollar software fiable y que funcione de manera eficiente [31].
Se dice que es una ingeniería por el hecho de que exige hacer que las cosas funcionen
aplicando y seleccionando métodos, teorías, modelos, que se adapten a las necesidades
del software a desarrollar. La Ingeniería de Software también se encarga de la
administración de proyectos manejando tiempos y llevando de manera sistemática, los
proyectos para asegurar un desarrollo de calidad [35].
2 Disparo de la base de datos, se ejecuta un procedimiento almacenado cuando se lleva a cabo una inserción, eliminación o actualización [URL 3].
2 Marco teórico
19
Es necesario seguir un proceso de ingeniería de software cuando se desarrolla cualquier
tipo de sistema (y más aún si son aplicaciones web), que permita entender el análisis y el
diseño de la aplicación para prevenir y resolver los problemas que se presentan a lo largo
de la construcción del sistema [19].
En las últimas décadas se han incrementado los usuarios de la Internet de forma
exponencial, esto es, porque la Internet se ha convertido en un canal para la publicación
de documentos, brindando servicios en varios sectores (bancos, finanzas, gobierno), de
manera que las exigencias de los usuarios son cada vez mayores [3] [26].
Es importante establecer, que no se puede tomar en cuenta una metodología de ingeniería
de software para sistemas tradicionales, en el desarrollo de aplicaciones web, debido a
que estas últimas mantienen una fuerte interacción con los usuarios, además los
requerimientos de éstos cambian continuamente, por lo que se sugiere seguir métodos de
ingeniería específicamente para estas aplicaciones [19] [17].
Las actividades involucradas en el desarrollo de aplicaciones web se presentan a
continuación [35]:
• Especificación del software. Se debe especificar cuál será la funcionalidad del
software, así como sus restricciones.
• Desarrollo del software. Se produce el software de acuerdo a las especificaciones
del cliente.
• Validación del software. Todo software debe de ser validado para asegurar que se
cumple con lo que el cliente desea.
• Evolución del software. El software debe evolucionar para que cumpla con los
cambios del cliente.
2 Marco teórico
20
2.5 Ingeniería Web
Para el desarrollo de aplicaciones web existen métodos como la Ingeniería Web, los
cuales dividen el proceso en etapas que ayudan a tener un buen desarrollo de la
aplicación. Estos métodos son importantes, ya que aseguran que el sistema sea confiable,
utilizable y adaptable [31].
Al iniciar un desarrollo de sistemas web, se tienen que considerar algunas características
[31]:
• La aplicación web tiene que permanecer en una red de tipo: Intranet (redes dentro
de una organización) o Extranet (comunicación con otras redes).
• Su función principal es la de brindar información.
• Evolución constante, ya que muchas veces las páginas deben actualizarse
periódicamente.
2.6 Modelo de Ingeniería Web
El modelo de Ingeniería Web trata el estudio de métodos y principios de ingeniería para
asegurar un desarrollo y mantenimiento de alta calidad en aplicaciones web [17].
El modelo de Ingeniería Web se basa en un modelo interactivo e incremental y consta de
seis etapas [31]. Ver Figura 2.6.
2 Marco teórico
21
Figura 2.6. Esquema general del proceso de Ingeniería Web [31].
Para entender el proceso de ingeniería web, en las siguientes secciones se describen cada
una de las etapas.
2.6.1 Formulación
En esta etapa se identifican los objetivos y las metas globales del sitio web a desarrollar,
para esto, se describe el por qué realizar esta aplicación y establecer quiénes serán las
personas que utilizarán el sistema. Es importante establecer el valor de negocios que el
sistema incorporará a la organización [12].
Las metas y los objetivos de la aplicación web son esenciales, ya que con ellos se planea
de manera fácil la organización de la información en el sitio [20].
2.6.2 Planificación
En esta etapa se determina el costo del proyecto y se evalúan los posibles riesgos de
desarrollo que lleguen a presentarse, además se lleva a cabo una planificación del
sistema.
2 Marco teórico
22
2.6.3 Análisis de aplicaciones Web
Aquí se localizan todos los elementos del contenido que se requieren para la elaboración
de la aplicación y se determinan algunos requerimientos de diseño gráfico.
Esta fase se clasifica en: análisis de contenido, análisis de interacción, análisis funcional
y análisis de configuración. El análisis de contenido, identifica algunos elementos del
contenido que se van a incorporar en el sistema como el texto, audio y/o video. El análisis
de interacción tiene como objetivo describir la interacción del usuario con la aplicación
web. En el análisis funcional, se describen las diversas tareas que el usuario va a
desempeñar cuando esté interactuando con el sistema. Por último, en el análisis de la
configuración, se describe el entorno en donde estará la aplicación, ya sea una Intranet o
Extranet, además, se decide el grado de utilización de la base de datos.
2.6.4 Ingeniería de aplicaciones Web
En esta etapa se realizan dos tareas de forma paralela: el diseño del contenido y la
producción. La función principal es la de diseñar, adquirir o producir todo el contenido,
ya sea texto, audio, imágenes o video que se tenga contemplado integrar en el sitio web.
Además, es necesario considerar que el contenido de la página tenga elementos
consistentes que fortalezcan la esencia del sitio y que permitan una buena navegación
[29].
2.6.5 Generación de páginas y pruebas
Aquí se realiza la construcción de la aplicación web, esta etapa se fusiona con el diseño
arquitectónico, el diseño de navegación y el diseño de interfaz.
El diseño arquitectónico se realiza con la finalidad de tener una estructura del sitio bien
definida, en la cual, el usuario realiza sus tareas [21]. En el diseño de navegación se
2 Marco teórico
23
determinan las rutas por donde el usuario navegará dentro del sitio para tener acceso a los
servicios que se vayan a brindar. En el diseño de interfaz, se realizan las interfaces con
las que interactúa el usuario.
Para el diseño de la interfaz del sistema que controla el proceso de registro de tesis, se
tomaron en cuenta algunos criterios mencionados en las guías de diseño de aplicaciones
web [27] [28] [30], las cuales hacen posible realizar un sitio fácil de utilizar, sin tener una
amplia experiencia en interfaces de usuario.
A continuación se describen algunos criterios de las guías de diseño:
• Es de gran importancia tener en cuenta que no se utilicen muchas imágenes y
frames3 debido a las posibles conexiones de los clientes, ya que la carga de la
página puede ser tardada [20].
• Los elementos que se incorporen en la página, tienen que visualizarse
correctamente en todos los navegadores. Si se desea poner imágenes en la
navegación, que se acompañen de texto descriptivo [20].
• Se debe tener una organización clara del sitio, evitando que los usuarios se
pierdan [16].
• Estandarizar todos los elementos de navegación con la finalidad de no confundir
al usuario [20].
• Evitar gran cantidad de opciones, para que el usuario pueda decidir [7].
• Evitar los letreros de “bajo construcción”.
• Manejar ligas con mensajes alusivos a lo que se encuentra cuando se acceda a ella
[20].
• Colocar colores contrastantes para hacer notar algo y colores de bajo contraste
para el fondo, de manera que pueda facilitar la lectura del texto [40].
3 Marco que es utilizado en un página web para insertar una página html [URL 3].
2 Marco teórico
24
Otra actividad que se realiza en esta etapa son las pruebas, las cuales se utilizan para
ayudar a evaluar la navegación, descubrir errores y asegurar que el sistema funcione en
los entornos deseados [31].
2.6.6 Evaluación
En la evaluación, el cliente determina los posibles cambios que desee, los cuales se
tomarán en cuenta en la siguiente iteración del proceso. Esta evaluación asegura que el
cliente va a estar satisfecho con el sistema. Una de las evaluaciones es la Usabilidad.
2.7 Usabilidad en Web
Es importante incorporar algún método que asegure que el sistema sea fácil de utilizar e
intuitivo, para ello se emplea la usabilidad, que se define de la siguiente manera: “Grado
o nivel de satisfacción/facilidad con el que las personas (usuarios) pueden llevar a cabo
ciertas tareas previamente requeridas” [6].
En los sistemas web, es necesario tomar en cuenta los problemas comunes, estos se
resumen a continuación [7]:
• Percepción humana. Es necesario establecer en el diseño del sitio, cierta
distribución de la información en la página, tomando en cuenta colores, tamaño y
tipo de letra, todo lo que tenga que ver con la presentación de la información, de
tal manera que no le ocasione problemas al usuario, tales como cansancio visual,
el no distinguir entre la letra y el fondo.
2 Marco teórico
25
• Memoria Humana. Muchas veces la información que se le solicita introducir al
usuario se presenta en páginas diferentes, la mayoría de las veces el usuario no
logra recordar y tiene que regresar a la página y posteriormente llenar lo que se le
pide. Lo anterior se debe evitar para hacer más fácil la realización de las
operaciones.
• Integración a la base de datos. Se refiere a que la mayoría de las aplicaciones
web incorpora una base de datos dentro de sus sitios y muchas veces la
información presentada no está actualizada.
• Navegación. En este punto se pretende que el usuario no se pierda dentro del sitio
y que realice sus tareas de manera eficiente. También se ven los problemas debido
a la falta de estandarización en las páginas [29].
2.8 Herramientas a utilizar
Las herramientas a utilizar para el desarrollo del sistema de control del registro de tesis es
el lenguaje PHP 5, el manejador de base de datos PostgreSQL 8 y para el diseño el
Proceso Unificado de Modelado, descritos a lo largo de esta sección.
2.8.1 PostgreSQL
Es un manejador de base de datos relacional que soporta el lenguaje estándar de consulta
SQL (Standard Query Language, Lenguaje Estándar de Consulta), el cual permite:
utilizar el software, modificarlo y redistribuirlo sin tener que pagar una licencia [36].
Además permite código incrustado en varios lenguajes de programación como PHP, C,
C++, Java y soporta base de datos con más de 200GB [9].
PostgreSQL ofrece las siguientes características [URL 2]:
• Consultas complejas.
• Llaves foráneas con integridad referencial.
2 Marco teórico
26
• Triggers4.
• Vistas.
• Control de concurrencia.
• Tipos definidos por el usuario
2.8.2 PHP
PHP (Personal Home Page por sus siglas en Inglés), procesador de hipertexto, es un
lenguaje de programación que se interpreta por medio de un servidor Apache y genera
código HTML, el cual va a ser desplegado a través de un navegador dando respuesta a las
entradas realizadas por el usuario [URL 1].
PHP brinda múltiples funciones para el manejo de cadenas y archivos entre otras,
además, permite realizar consultas a la base de datos de forma sencilla, permitiendo
generar páginas a partir de los resultados obtenidos. Cabe mencionar que es compatible
con múltiples bases de datos como MySQL, PostgreSQL, Oracle y otras más [13].
Las ventajas de usar PHP se muestran a continuación [URL 1]:
• En el cliente no es necesario instalar un software adicional al navegador.
• La ejecución del programa PHP se puede realizar en un cliente que tenga
cualquier plataforma.
• El código se encuentra protegido al encontrarse en el servidor web.
• No necesita de muchos recursos para ser ejecutado.
• Permite la creación de archivos PDF.
4 Disparo de la base de datos, se ejecuta un procedimiento almacenado cuando se lleva a cabo una inserción, eliminación o actualización [URL 3].
2 Marco teórico
27
2.8.3 Proceso Unificado de Modelado
UML es un estándar para realizar el modelado en aplicaciones modernas, comúnmente se
usa en la etapa de diseño debido a que representa aspectos del sistema. El diseñar un
modelo de software permite algunas ventajas en la construcción del sistema, entre las que
destacan: mayor entendimiento de cómo va a estar estructurado el sistema, mejor
visualización y control del sistema, y manejo de los posibles riesgos desde una etapa
temprana sin tener la necesidad de llegar a la implementación para visualizar como va a
quedar estructurada la aplicación [37].
Otra parte esencial y muy importante del modelado es documentar el desarrollo que se
está realizando, para hacer de manera sencilla las modificaciones al sistema, en caso de
que se desee adaptar a nuevas necesidades.
Algunas características de UML son las siguientes [5]:
• Visualización: Es un lenguaje gráfico que permite a otros desarrolladores, que tal
vez no hablen el mismo lenguaje, entender el desarrollo del sistema.
• Especificación: Es un lenguaje exacto, sin ambigüedades, que está orientado hacia
el diseño e implementación del sistema.
• Construcción: Es un lenguaje de construcción ya que rápidamente se puede unir
a diversos lenguajes de programación.
• Documentación: Proporciona los elementos necesarios para la documentación en
el desarrollo del sistema.
2 Marco teórico
28
2.9 Métodos utilizados
El punto de partida, para realizar el sistema que controla el proceso de registro de tesis,
fue el modelo de workflow. Los métodos utilizados se presentan a continuación.
• Sistema Workflow. El tipo de sistema workflow que se seleccionó para el
desarrollo de este sistema, fue el adaptativo, debido a que en el proceso de
registro de tesis se pueden presentar eventos tales como: que las tareas no se
realicen en el tiempo estipulado, (revisar un protocolo de tesis, asignar sinodales,
dar veredicto final a una tesis) o que se requieran cambios en la propuesta de tesis.
El sistema maneja estos eventos, monitoreando las tareas y mandando
recordatorios en caso de que no se llegue a cumplir una de ellas, en el tiempo
previsto y en casos más drásticos, llevar a cabo una tarea alterna, si el proceso lo
tiene contemplado.
• Arquitectura. El sistema se construyó por medio de una arquitectura de workflow,
con base en las arquitecturas descritas en la sección 2.3.1 y 2.3.2, la arquitectura
del sistema CoopWARE no se tomó tal cual, dado que involucra un esquema
cliente-servidor y en cada cliente, se encuentra una librería de interfaces. Debido a
que el sistema que controla el proceso de registro de tesis es para que todos los
interesados tengan acceso a él, es más fácil que todo se encuentre en el servidor y
que únicamente se realicen peticiones a éste. De esta arquitectura se tomó al
coordinador en el que se centran las tareas. La arquitectura con base de datos
activas no se consideró porque tiene una lista de trabajo, que se encuentra en el
servidor web. En este caso, ésta se almacenó en la base de datos. De esta
arquitectura se tomó el motor de workflow que se localiza en la base de datos.
Ver capítulo de Análisis y Diseño.
• Herramientas. La construcción del sistema se realizó en PHP 5, con el manejador
de base de datos PostgreSQL 8.0. Se eligieron estas herramientas debido a que
son libres y cumplen con las características que el sistema exige. En el caso del
manejador de base de datos, primero se eligió MySQL 5 pero debido a que esta
versión es de prueba, no soporta el manejo de más de dos tablas en los
2 Marco teórico
29
procedimientos almacenados y los triggers5, por lo que se optó por
POSTGRESQL el cual, además de tener las características que brinda MYSQL,
como son la integridad referencial, las llaves primarias, foráneas, es muy estable y
cuenta con triggers y procedimientos almacenados.
• Definición del Proceso de Negocios. Para definir el proceso de negocios se
realizaron entrevistas a cada uno de los Jefes de Carrera de la universidad. El
resultado se describe en el siguiente capítulo.
5 Disparo e la base de datos
3 Análisis y diseño del sistema
30
Capítulo 3. Análisis y Diseño del Sistema
La recolección de información del sistema que controla el proceso de registro de tesis se
realizó por medio de entrevistas a los Jefes de Carrera. Partiendo de estas entrevistas se
obtuvieron los requerimientos generales del sistema, que se detallan en los casos de uso y
los diagramas de secuencia.
3.1 Descripción del proceso de registro de tesis
El proceso de registro de tesis en la UTM se realiza con la finalidad de verificar la
factibilidad de los temas de tesis propuestos. El proceso inicia una vez que el profesor ha
aceptado trabajar con el alumno, en conjunto realizan el protocolo de tesis. Cuando el
protocolo ha sido terminado, el alumno llena los formatos de registro de tesis y los lleva a
la jefatura de carrera que se encarga de asignar una comisión de evaluación formada por
tres sinodales, a los cuales se les hace llegar el protocolo de tesis.
El verificar si el tema de tesis es válido o no le corresponde al comité de evaluación.
Cada integrante de este comité se encarga de dar el veredicto de aceptación o rechazo del
3 Análisis y diseño del sistema
31
tema y se lo hace llegar al Jefe de Carrera. Por último, el Jefe de Carrera (con base en las
observaciones del comité), realiza el veredicto final de la propuesta de tesis y le informa
al tesista y al director de tesis. Ver Figura 3.1.
Verifica validez del tema y entregan veredicto parcial al Jefe de Carrera
Verifica validez del tema y entregan veredicto parcial al Jefe de Carrera
Verifica validez del tema y entregan veredicto parcial al Jefe de Carrera
Entrega protocolo de tesis a la Jefatura de Carrera
Asigna sinodales
Revisa protocolo
Veredicto final
Tesista y Director de Tesis
Inicia proceso de registro de tesis
Entrega protocolo de tesis a Sinodales
Realiza veredicto final y se lo hace llegar al Tesista y al Director de Tesis
Jefe de Carrera
Sinodales
Jefe de Carrera
Figura 3.1. Flujo de documentos en el proceso de registro de tesis.
Con base en una serie de entrevistas a jefes de carrera, se observa que no en todas las
carreras se lleva a cabo el proceso como se mencionó anteriormente, por ejemplo, en la
carrera de Ingeniería Industrial, el proceso varía en lo siguiente: el jefe de carrera es el
encargado de seleccionar un segundo director de tesis y convocar a reunión donde los
directores de tesis, el jefe de carrera y el tesista comentan la propuesta; en conjunto
corrigen el documento. Una vez terminado este proceso, se registra la tesis.
3 Análisis y diseño del sistema
32
Otra de las carreras en donde el proceso difiere es la Licenciatura en Matemáticas
Aplicadas, ya que las personas involucradas para asignar a la comisión de evaluación es
la jefatura de carrera en común acuerdo con el director de tesis.
En la mayoría de las carreras se realiza una reunión después de que los sinodales han
revisado el protocolo de tesis, asisten a la presentación del protocolo por parte del tesista
y tienen entre tres y cinco días para dar los veredictos parciales de la propuesta de tesis
por escrito.
3.2 Requerimientos funcionales del sistema
Las entrevistas realizadas dieron el panorama para conocer el proceso de registro de tesis
en la UTM y así determinar los requerimientos del sistema. A continuación se describen
los requerimientos funcionales:
• El tesista introduce los datos de la tesis e inicia el proceso de registro.
• El jefe de carrera realiza la asignación de sinodales.
• Los sinodales revisan los protocolos de tesis y entrada para sus comentarios.
• El sistema proporciona información sobre el paso en que se encuentra el proceso
de registro de tesis, al director de tesis de cada uno de sus tesistas y al tesista de su
propio proceso.
• El sistema despliega la lista de tareas pendientes, para el sinodal y el jefe de
carrera.
• El sistema manda avisos vía correo electrónico de las tareas pendientes a los
involucrados de manera automática.
• El sistema permite realizar búsquedas de protocolos de procesos terminados.
• El sistema brinda información de profesores acerca de las líneas de investigación
y publicaciones que el director de tesis realiza.
3 Análisis y diseño del sistema
33
3.2.1 Requerimientos sobre eventos extraordinarios en el proceso de registro de
tesis
• El sistema envíe recordatorios si no se ha terminado una tarea en el tiempo
estipulado.
• En caso de que haya observaciones al protocolo de tesis, permitir que el Jefe de
Carrera las haga llegar al tesista para que realice las correcciones.
3.2.2 Requerimientos del mantenimiento del sistema
• Actualización de los datos de sinodales, directores de tesis y tesistas.
• Altas y bajas de carreras, actualización de los archivos de formatos de protocolo
de tesis y los archivos que contienen la descripción de los procesos por carrera.
3.3 Requerimientos no funcionales del sistema
• El sistema debe funcionar en Internet.
• Cada una de las personas que acceda al sistema debe contar con un identificador y
una contraseña que delimite las funciones que desempeñe.
• Las tareas que lleve a cabo el sistema, debe seguir las políticas que la UTM
maneje en el proceso de registro de tesis.
• El proceso de registro de tesis debe de concluir a lo más en 10 días hábiles, a
partir de la fecha de inicio del proceso de registro.
• El servidor donde se encuentre el sistema, debe contar con un servidor de correo
electrónico, un servidor Apache 2.0, PHP 5.0 y POSTGRESQL 8.0.
3.4 Descripción general del sistema
El sistema controla las diferentes tareas que se llevan a cabo a lo largo del proceso,
realizándolo de la siguiente manera: el director de tesis da de alta en el sistema al tesista,
3 Análisis y diseño del sistema
34
otorgándole un identificador y una contraseña para que pueda acceder al mismo. El
tesista una vez dentro del sistema, podrá introducir los datos de la tesis para así iniciar
con el proceso de registro de tesis. El sistema notificará al jefe de carrera vía correo
electrónico que tiene un nuevo proceso para que realice la asignación de sinodales.
El jefe de carrera deberá acceder al sistema para realizar la asignación de los sinodales.
Una vez realizado esto, el sistema le notificará, vía correo electrónico a cada uno de los
sinodales que tienen que revisar un protocolo de tesis. Cuando los tres sinodales ya hayan
dado un veredicto parcial del tema propuesto, el sistema notificará al Jefe de Carrera
para que proporcione un veredicto final, (aceptado o rechazado). Por último, el sistema
notificará al director de tesis y al tesista el resultado.
3.4.1 Propósito del sistema
Controlar el proceso de registro de tesis de licenciatura en la Universidad Tecnológica de
la Mixteca, que permita a las personas involucradas durante el proceso realizar las tareas
necesarias para culminarlo. Además, dar seguimiento a cada uno de los procesos de
registro de tesis que se estén llevando a cabo.
3.4.2 Objetivos del sistema
Controlar el proceso de registro de tesis en la UTM, con un sistema en línea, que de
seguimiento a los procesos e informe tanto a tesistas como a directores de tesis de éste.
3.4.3 Alcances del sistema
• Controlar el proceso de registro de tesis.
• Brindar seguimiento a los procesos de registro de tesis.
• Brindar información a los egresados, sobre como se lleva a cabo el proceso de
registro de tesis.
3 Análisis y diseño del sistema
35
• Permitir consultar protocolos de tesis cuyo proceso de registro haya sido
terminado.
3.5 Implementación del workflow
La arquitectura general del sistema es una arquitectura cliente-servidor, en donde el
usuario interactúa con el cliente, el cual realiza peticiones al servidor, éste las ejecuta y
regresa los resultados al cliente.
La arquitectura del sistema que controla el proceso de registro de tesis se construye a
partir de las arquitecturas CoopWARE y la de Base de Datos Activas presentadas en el
capítulo 2. Esta arquitectura consta de un Coordinador, el cual controla el workflow y se
conecta a la base de datos para consultar el historial de las tareas que se están
desempeñando. Este módulo está formado por dos submódulos: el submódulo de Tareas,
que controla las diferentes actividades que se desarrollan durante el proceso de registro
de tesis, tales como asignar sinodales, revisar protocolo, realizar veredicto final y
proporciona las herramientas necesarias para poder realizarlas; y el submódulo de
Interfaz, el cual se encarga de comunicar al sistema con los usuarios para que realicen las
tareas requeridas durante el proceso de registro. Ver Figura 3.2.
Figura 3.2. Arquitectura del sistema de workflow que controla el proceso de registro de tesis.
3 Análisis y diseño del sistema
36
Otro módulo importante es el monitoreo de tareas, su función, como su nombre lo
indica, es monitorear las tareas que se realizan durante el proceso de registro, es decir,
verifica que las tareas sean realizadas en el tiempo estipulado. Por ejemplo, si al jefe de
carrera le toma más de tres días asignar a los sinodales para una tesis, el módulo hace que
el sistema le mande recordatorios vía correo electrónico o en caso qué, un sinodal no
hubiese revisado un protocolo de tesis en el lapso de 10 días, se realizará una tarea alterna
de reasignar sinodal. Este módulo se conecta a la base de datos ya que en ella se
encontrarán las fechas de inicio de las tareas pendientes de los sinodales y jefes de
carrera.
3.6 Casos de uso
En el sistema que controla el proceso de registro se identificaron 15 casos de uso,
englobando en ellos los requisitos funcionales del sistema. En las Figuras 3.3a y 3.3b se
muestra el diagrama de casos de uso. Este diagrama muestra la interacción que tienen los
diferentes actores, entendiéndose por actores, aquellos papeles que tomarán los usuarios
en una determinada etapa del sistema.
3 Análisis y diseño del sistema
37
Figura 3.3a. Casos de uso del sistema que controla el proceso de registro de tesis.
3 Análisis y diseño del sistema
38
Asignar sinodales
Veredicto final
Tareas pendientes
Registro de profesores
Jefe de Carrera
Información de tesistas
Registro de publicaciones
Registro de tesistas
Entrada al sistema
Rev isar protocoloTareas pendientes
Profesor
Información de tesistas
Registro de publicaciones
Registro de tesistasEntrada al sistema
Figura 3.3b. Casos de uso del sistema que controla el proceso de registro de tesis.
Para hacer más clara la interacción del sistema con los usuarios, se presentan a
continuación los tres casos de uso más importantes del mismo, los cuales llevan a cabo
3 Análisis y diseño del sistema
39
las tareas principales del proceso de registro de tesis. Estos son: asignar sinodales, revisar
protocolo y veredicto final. Los detalles de todos los casos de uso se encuentran en el
apéndice A.
Nombre del Caso de Uso: Asignar sinodales.
Actores: Jefe de Carrera.
Descripción: El Jefe de Carrera ingresa al sistema, selecciona de la opción tareas
pendientes, asignar sinodales y asigna tres sinodales para la revisión de una tesis.
Escenario 1: El jefe de carrera asigna tres sinodales.
Escenario 2: El jefe de carrera asigna sinodales y decide convocar a reunión.
Acción del actor Sistema
1.- Este caso de uso inicia cuando el jefe
de carrera ya se encuentra autentificado
en el sistema e ingresó a la opción de
tareas pendientes.
2.- El jefe de carrera selecciona asignar
sinodales.
3.- El sistema despliega una lista de los
profesores de la misma carrera que el
jefe de carrera, cada uno con un
checkbox6, al final de la lista se
despliega los botones: asignar sinodales
y limpiar campos, así como una opción
por si el jefe de carrera desea convocar a
reunión.
4.- El jefe de carrera selecciona tres
sinodales y presiona asignar sinodales.
5.- El sistema verifica que estén
asignados únicamente tres sinodales,
6 Entrada de datos que se compone de un recuadro para seleccionarlo [URL 3].
3 Análisis y diseño del sistema
40
envía la notificación a los profesores
asignados a revisar un protocolo de tesis
vía correo electrónico. Además, en la
base de datos se almacena como tarea
pendiente Revisar protocolo a cada
profesor asignado. La tarea de Asignar
sinodales se marca como terminada en
la base de datos y se despliega el
mensaje: la asignación se realizó
satisfactoriamente.
Escenario 1
6.- El jefe de carrera visualiza
confirmación, que la asignación se llevó
a cabo satisfactoriamente.
Escenario 2
7.- El jefe de carrera selecciona
convocar reunión.
8.- El sistema habilita una lista con
fecha de los 10 días hábiles próximos a
la fecha en que se realiza la asignación
para llevar a cabo la reunión.
9.- El jefe de carrera selecciona la fecha
y presiona el botón asignar sinodales.
10.- El sistema envía un correo a cada
uno de los sinodales, notificándoles la
reunión.
11.- El jefe de carrera visualiza la
confirmación de que su correo se ha
enviado a los sinodales.
Flujos alternativos
• En el punto 3 y 5 si se encuentra un error de acceso a la base de datos, el sistema
despliega un mensaje de error.
3 Análisis y diseño del sistema
41
• En el punto 4 si el jefe de carrera presiona limpiar campos, se limpiarán todos los
campos.
• En el punto 5 si no se envían los correos correctamente, se desplegará un mensaje
indicando que no se envió el correo.
3 Análisis y diseño del sistema
42
Diagrama de secuencia
Jefe de CarreraJefe de Carrera tareastareas formas_wflowformas_wflow asig_sinodalesasig_sinodales Base de DatosBase de Datos
asigna_sinodales(num_tesis)
despliega_forma_asigna_sinodales()
selecciona_sinodales(info_sinodales)
envía_asigna_sinodales(info_sinodales)
verifica_3_sinodales()
envía_correo_sinodales()
selecciona_asigna_sinodales()
despliega_confirmación_asignación_sinodales()
[cont=3] actualiza_tarea(sql_actualiza_tarea)
inserta_pendientes(sql_inserta_pendiente)
selecciona_asigna_sinodales(num_tesis)
[con<3]
despliega_mensaje_error()
selecciona_convocar_a_reunion()
elige_fecha(fecha)
envia_reunion(fecha)
manda_correo_sinodales(info_sinodales)
3 Análisis y diseño del sistema
43
Nombre del Caso de Uso: Revisar protocolo.
Actores: Sinodal.
Descripción: El Sinodal ingresa al sistema y selecciona de la opción de tareas
pendientes, revisar protocolo, introduce sus comentarios y da el veredicto parcial de
aceptado o rechazado.
Escenario 1: El Sinodal da veredicto parcial.
Escenario 2: El Sinodal no da veredicto parcial, ya que decide convocar a reunión a los
otros sinodales.
Acción del actor Sistema
1.- Este caso de uso inicia cuando el
sinodal ya se encuentra autentificado en
el sistema e ingresó a la opción tareas
pendientes.
2.- El sinodal selecciona revisar
protocolo.
3.- El sistema despliega una página con
liga al protocolo de tesis, una entrada de
datos para las observaciones, opciones
para seleccionar del veredicto parcial: se
requieren cambios, aceptado o se
requiere exposición, y por último
botones de: dar veredicto y limpiar
cambios.
Escenario 1
4.- El sinodal selecciona el veredicto
parcial, introduce las observaciones y
presiona dar veredicto.
5.- El sistema guarda las observaciones
introducidas por el sinodal en la base de
datos. Una vez almacenado el veredicto
parcial, despliega un mensaje de
confirmación: los datos se han
3 Análisis y diseño del sistema
44
almacenado satisfactoriamente, por
último presenta un botón para terminar
revisión.
6.- El sinodal presiona terminar
revisión.
7.- El sistema genera el reporte
correspondiente en un archivo PDF con
los datos introducidos por el sinodal y
coloca la tarea de revisar protocolo
como terminada.
Escenario 2
8.- El sinodal selecciona se requiere
exposición.
9.- El sistema habilita una lista con las
fechas de los 10 días hábiles próximos a
la fecha en que se realiza la revisión del
protocolo para llevar a cabo la reunión.
10.- El sinodal selecciona la fecha y
presiona dar veredicto.
11.- El sistema envía un correo a cada
uno de los sinodales notificándoles la
reunión y despliega un mensaje de
confirmación.
12.- El sinodal visualiza la
confirmación, que su correo se ha
enviado a los otros sinodales.
Flujos alternativos
• En el punto 4 si el sinodal presiona limpiar campos, si es la primera vez que se
dio el veredicto, se limpiarán las entradas de datos. En caso de actualizar el
veredicto, se inicializan con los valores que se encuentran en la base de datos.
• En el punto 5 si se encuentra un error de acceso a la base de datos, el sistema
despliega un mensaje de error.
• En el punto 7 si existe un error de acceso al servidor no se guardará el documento
generado.
3 Análisis y diseño del sistema
45
• En el punto 9 si el sistema, no envía los correos de forma correcta, se le notificará,
vía correo electrónico, al jefe de carrera.
3 Análisis y diseño del sistema
46
Diagrama de secuencia
tareas formas_wflow inserta_protocolo rev protocolo Base de Datos : Sinodal
rev_protocolo(num_tesis)
despliega_forma_revisa_protocolo()
genera_veredicto()
confirmación_tarea_terminada()
inserta_comentario(num_tesis, comnentario, veredicto_parcial)
despliega_confirmación_inserción()
despliega_boton_terminar_tarea()
envía_rev_protocolo(num_tesis)
actualiza_tarea(sql_inserta_act)
inserta_veredicto_parcial(sql_inserta_veredicto)
cuenta:=consulta_num_veredictos(sql_veredictos)
{cuenta=3]inserta_pendiente_jefe_de_carrera(sql_inserta_pendiente)
selecciona_revisar_protocolo(num_tesis)
introduce comentario(comentario)
selecciona_veredicto_parcial(veredicto)
selecciona_dar_veredicto()
selecciona_finalizar_veredicto()
3 Análisis y diseño del sistema
47
Nombre del Caso de Uso: Veredicto final.
Actores: Jefe de Carrera.
Descripción: El Jefe de Carrera ingresa al sistema y selecciona de la opción de tareas
pendientes, veredicto final y da el veredicto final para una tesis.
Escenario 1: El jefe de carrera da un veredicto final.
Escenario 2: El jefe de carrera habilita al tesista para realizar correcciones.
Acción del actor Sistema
1.- Este caso de uso inicia cuando el jefe
de carrera ya se encuentra autentificado
en el sistema e ingresó a la opción
tareas pendientes.
2.- El jefe de carrera selecciona
veredicto final.
3.- El sistema despliega una página, con
ligas a los archivos con los comentarios
de los sinodales de la tesis y una entrada
de datos para el concentrado de los
comentarios realizados por los
sinodales. Una opción para seleccionar
el veredicto final: aceptado, rechazado o
se requieren cambios; botones de: dar
veredicto y limpiar campos.
Escenario 1
4.- El jefe de carrera selecciona
veredicto final, introduce el concentrado
de los comentarios y presiona dar
veredicto.
5.- El sistema guarda las observaciones
introducidas por el jefe de carrera y
despliega la confirmación: los datos se
han almacenado satisfactoriamente, por
3 Análisis y diseño del sistema
48
último muestra un botón de finalizar
veredicto.
6.- El jefe de carrera presiona finalizar
veredicto.
7.- El sistema genera el veredicto final,
dependiendo de si el jefe de carrera
rechazó o aceptó la validez del tema,
guarda el veredicto generado en el
servidor.
Escenario 2
8.- El jefe de carrera selecciona la
opción de se requieren correcciones y
presiona el botón de veredicto final.
9.- El sistema permite el acceso al tesista
para realizar las modificaciones al
protocolo, le notifica esto vía correo
electrónico. Una vez enviado el correo
despliega la confirmación: el correo fue
enviado correctamente.
10.- El jefe de carrera visualiza la
confirmación de que el correo fue
enviado.
Flujos alternativos
• En el punto 3 y 5 si se encuentra un error de acceso a la base de datos, el sistema
despliega un mensaje de error.
• En el punto 4 si el jefe de carrera selecciona la opción de limpiar campos y es la
primera vez que se dio el veredicto, se limpiarán las entradas de datos; en caso de
que se actualice el veredicto, se inicializan con los valores que se encuentran en la
base de datos.
• En el punto 7 si existe un error de acceso al servidor no se guardará el documento
generado.
• En el punto 9 si no se envían los correos de forma correcta, el sistema despliega
un mensaje al jefe de carrera.
3 Análisis y diseño del sistema
49
Diagrama de secuencia
Jefe de CarreraJefe de Carrera tareastareas vere_finalvere_final Base de DatosBase de Datos
envía_correo_tesista_director_tesis()
despliega_confirmación_veredicto_final()
genera_veredicto_final()
selecciona_vere_final(num_tesis)
[cont=3] actualiza_tarea(sql_act)
formas_wflowformas_wflow
vere_final(num_tesis)
despliega_forma_veredicto_final()
selecciona_veredicto(info_veredicto)
selecciona_dar_veredicto()
envía_veredicto_final(info_veredicto)
3 Análisis y diseño del sistema
50
3.7 Diseño de la Base de Datos
Para iniciar con el diseño de la base de datos del sistema que controla el proceso de
registro de tesis, se obtuvieron las entidades y las relaciones entre éstas. Las principales
entidades encontradas son las siguientes: el profesor, el alumno, la tesis y las tareas. Las
relaciones que existen entre ellas se muestran en la Figura 3.4.
Figura 3.4. Diagrama entidad-relación.
El modelo entidad-relación presenta al alumno, quien realiza una tesis y a su vez tiene un
director de tesis. La tesis tiene un proceso de registro, en el que se ejecutan diversas
tareas, por último el profesor, en el rol de director de tesis es quien dirige la tesis del
alumno, también el profesor en el rol de jefe de carrera o sinodal, ejecuta las tareas
durante el proceso.
A partir del diagrama entidad-relación se construye el diseño de la base de datos, el cual
determina qué datos son necesarios en el desarrollo del sistema. Para estar seguro de que
la base de datos contiene la información necesaria para implementar el sistema, se
realizaron pruebas de escritorio, con base en los requerimientos que permitieron
establecer los datos precisos y necesarios.
3 Análisis y diseño del sistema
51
Figura 3.5. Diseño de la base de datos.
La base de datos consta de 12 tablas, más una independiente utilizada a manera de
expediente. A continuación se describen las más importantes. Para más detalle véase el
diccionario de datos en el Apéndice B.
• Alumnos. Se encuentran los datos personales del alumno, se relaciona con la tabla
profesor para indicar quien es el director de tesis y con la tabla carrera para
determinar la carrera a la que pertenece el alumno.
• Profesor. Se localizan los datos personales del profesor, se relaciona con la tabla
pendientes para determinar las tareas que tiene que realizar el profesor en los
diferentes procesos.
• Tesis-tareas. Contiene las tareas que se están llevando a cabo para cada proceso
de registro de tesis. Se relaciona con la tabla tareas.
• Tareas. Contiene las tareas a realizar durante el proceso de registro de tesis.
3 Análisis y diseño del sistema
52
• Pendientes. Se encuentran las tareas que los profesores tienen a su cargo con
respecto al proceso de registro de tesis.
• Doctos. Contiene los veredictos parciales de los profesores, así como el veredicto
final. Esta tabla se relaciona con la tabla tesis para saber a qué tesis le corresponde
cada veredicto. También se relaciona con la tabla profesor para indicar quién dio
el veredicto.
• Tesis. Se localizan los datos acerca de una tesis, se relaciona con la tabla tesis-
tareas para conocer qué tareas se están realizando, se realizaron o están por
realizarse de una determinado proceso. Además, se relaciona con la tabla alumno
para conocer quién es el autor de la tesis.
4 Implementación y pruebas
53
Capítulo 4. Implementación y Pruebas del Sistema
En la etapa de implementación, se llevó a cabo la codificación del sistema que controla el
proceso de registro de tesis. El sistema se realizó con las herramientas mencionadas en el
capítulo 2. El sistema se probó en el sistema operativo Windows XP y Windows Server
2003. En este capítulo se presenta una descripción del funcionamiento del sistema y las
pruebas realizadas al mismo.
4.1 Descripción de los usuarios
Los usuarios del sistema tienen acceso a diferentes funciones como se describe a
continuación:
• Tesista. Es el alumno que ya tiene un director de tesis y éste ya lo dio de alta en
el sistema. Ver Figura 4.1. Las funciones principales de este usuario son:
4 Implementación y pruebas
54
o Registro de tesis. El tesista introduce la información necesaria o la
actualiza para iniciar el proceso de registro de tesis.
o Seguimiento del proceso. En esta función, el tesista consulta el estado en
el que se encuentra su proceso de registro de tesis.
o Datos personales. Aquí, el tesista modifica sus datos en el sistema.
Figura 4.1. Menú del usuario tesista.
• Profesor (sinodal o director de tesis). Es registrado en el sistema por su Jefe de
Carrera o por el Administrador. Ver Figura 4.2. Las funciones principales que
desempeña son:
o Registro de tesistas. En esta función se da de alta o actualiza la
información del tesista.
o Seguimiento de tesistas. El director de tesis consulta el seguimiento del
proceso de registro de tesis de cada uno de sus tesistas.
o Tareas pendientes. Se presentan las tareas pendientes que tiene un
sinodal con respecto al proceso de registro de tesis. En esta función se
4 Implementación y pruebas
55
encuentra Revisar protocolo, donde el sinodal revisa el protocolo de tesis
y proporciona un veredicto parcial de aceptación o rechazo a un tema.
o Registro de publicaciones. El director de tesis introduce los datos de las
publicaciones que haya realizado.
o Datos personales. Aquí el profesor modifica sus datos en el sistema.
Figura 4.2. Menú del usuario profesor.
• Jefe de Carrera. Es registrado por el administrador. Ver Figura 4.3. Además de
tener las funciones de profesor, tiene las siguientes:
o Tareas pendientes. En esta función se encuentran dos funciones: Asignar
sinodales, en la que se asigna al comité de evaluación que verifica la
validez del tema de tesis y Veredicto final, en donde el jefe de carrera
otorga un veredicto de aceptación o rechazo sobre la validez del tema,
con base en los veredictos parciales de cada uno de los sinodales.
4 Implementación y pruebas
56
o Registro de Profesores. Aquí el jefe de carrera da de alta o actualiza la
información de los profesores que ingresen a su carrera.
o Expediente. En esta función el jefe de carrera consulta los procesos de
registro de tesis que ya han terminado.
o Formatos y protocolos. Carga los documentos que tienen los formatos
de protocolo y la descripción del proceso. Ésta se realiza por carrera.
Figura 4.3. Menú del usuario jefe de carrera.
• Administrador. Es el encargado de brindar mantenimiento al sistema. Ver Figura
4.4. Las funciones que tiene son:
o Registro de profesores. En esta función el administrador registra a los
profesores, incluyendo a los jefes de carrera.
4 Implementación y pruebas
57
o Alta de carreras. El administrador da de alta una nueva carrera.
o Baja de carreras. Es utilizada para eliminar una carrera.
o Cambiar contraseña. Aquí el administrador cambia su contraseña,
debido a que tiene una contraseña asignada por el sistema.
Figura 4.4. Menú del usuario administrador.
• Visitante. Es cualquier persona que desea entrar al sistema. Incluye a los
usuarios anteriores. Ver Figura 4.5. Sus funciones son:
o Búsqueda de protocolos. En esta función, el usuario realiza consultas de
protocolos de tesis de procesos terminados, tanto aceptados como
rechazados.
o Descripción del proceso. Se describe el proceso de registro de tesis, ya
sea en una página HTML o en un documento en formato de MS Word.
Esta descripción se hace por carrera.
o Formatos de protocolo. El usuario puede visualizar en una página HTML
o en un documento en formato de MS Word los formatos del protocolo,
4 Implementación y pruebas
58
es decir, los puntos que debe cubrir el protocolo de tesis de acuerdo a
cada carrera.
o Publicación de profesores. El visitante consulta las diferentes
publicaciones que han realizado los profesores, así como las tesis que han
dirigido.
Figura 4.5. Menú del usuario visitante.
4.2 Descripción funcional del sistema
El sistema que controla el proceso de registro de tesis se desarrolló a través de un sitio
web. Para visualizar la distribución de las páginas se presenta la estructura del sitio
esquematizado en un mapa. Ver Figura 4.6.
4 Implementación y pruebas
59
Figura 4.6. Mapa del sitio del control del proceso de registro de tesis.
Para explicar a mayor detalle el sistema, en las siguientes secciones se presentan las
principales funciones que lo componen.
4 Implementación y pruebas
60
4.2.1 Página principal
La página principal, como su nombre lo indica, es la primera página que el usuario ve al
ingresar al sitio, como se presenta en la Figura 4.7. Del lado izquierdo se tiene las
entradas para autentificarse como usuario del sistema o como visitante.
Figura 4.7. Página principal del sistema de control del proceso de registro de tesis.
4.2.2 Registro de profesores
En esta función se registra a un profesor, primero introduciendo el identificador del
profesor a registrar en el sistema, esto para determinar si es una alta o una actualización.
Ver Figura 4.8a. El usuario presiona Aceptar y a continuación se despliega una página
con las entradas para que puedan introducir los datos del profesor, como se muestra en la
Figura 4.8b.
4 Implementación y pruebas
61
Figura 4.8a. Página donde se solicita
el identificador del profesor.
Figura 4.8b. Página donde se solicita los datos del profesor.
Una vez que se presione el botón Aceptar de la Figura 4.8b, se almacena la información
del profesor en la base de datos y se presenta un mensaje de confirmación.
4.2.3 Registro de tesistas
En esta función el profesor registra al tesista. Para realizar esto, se requiere de dos
páginas, en la primera se introduce la matrícula del tesista con la finalidad de ver si se
trata de una alta o modificación en los datos. Ver Figura 4.9a. Una vez que el profesor
presiona Aceptar se despliega la segunda página, con entradas para introducir los datos
del tesista, como se muestra en la Figura 4.9b.
4 Implementación y pruebas
62
Figura 4.9a. Página donde se solicita la
matrícula del tesista.
Figura 4.9b. Página donde se solicitan los datos del tesista.
Una vez que el profesor presiona el botón Aceptar de la Figura 4.9b, se almacena en la
base de datos la información del tesista y se presenta un mensaje que indica que los datos
han sido almacenados.
4.2.4 Registro de tesis
En esta función, el tesista registra la tesis, la página que permite realizarlo se muestra en
la Figura 4.10.
4 Implementación y pruebas
63
Figura 4.10. Página de registro de tesis.
En la página de registro de tesis, el tesista introduce los datos que se le solicitan para
insertar su tesis al sistema. Una vez que la tesis ha sido insertada, se presiona el botón de
Guardar Tesis. A continuación se despliega un mensaje de confirmación que la tesis ha
sido almacenada y un botón para iniciar con el proceso de registro de tesis, como se
muestra en la Figura 4.11.
Figura 4.11. Página de inicio de proceso de registro de tesis.
4 Implementación y pruebas
64
Cabe mencionar que una vez que el tesista presione Iniciar Proceso, no podrá realizar
alguna modificación a los datos de la tesis, los cuales son utilizados para generar las
formas de registro de tesis y para realizar la búsqueda de protocolos.
Cuando el tesista presiona el botón de Iniciar Proceso, se envía un correo al Jefe de
Carrera, indicando que el proceso de registro de tesis ha iniciado y se despliega un
mensaje de confirmación.
4.2.5 Seguimiento del proceso
En esta sección se despliega una lista de las tareas con su respectivo estado: Activo,
Terminado o No ha iniciado. Si se han terminado todas las tareas, se despliega una liga al
veredicto final y el botón Terminar Proceso, el cual al ser presionado eliminará al Tesista
y la tesis del sistema, colocándola en la tabla expediente para que pueda ser consultada.
Ver Figura 4.12.
Figura 4.12. Seguimiento del proceso de registro de tesis.
4 Implementación y pruebas
65
4.2.6 Asignar sinodales
La función de asignar sinodales se muestra en la Figura 4.13.
Figura 4.13. Página de asignar sinodales.
Una vez que el jefe de carrera presiona el botón de Asignar sinodales, se almacenan las
tareas pendientes de los sinodales seleccionados y se despliega un mensaje de
confirmación, indicando que la tarea ha sido realizada.
4 Implementación y pruebas
66
4.2.7 Revisar protocolo
La página para realizar esta actividad se muestra en la Figura 4.14.
Figura 4.14. Página de revisar protocolo.
Una vez proporcionado el veredicto y haber presionado el botón Dar veredicto, aparece
la página que se muestra en la Figura 4.15.
Figura 4.15. Página de terminar revisión.
Cuando el sinodal presiona el botón Terminar revisión se genera el documento del
veredicto parcial en formato PDF. La tarea de revisar protocolo se coloca como
terminada y se elimina de la lista de tareas pendientes.
4 Implementación y pruebas
67
4.2.8 Veredicto final
Las páginas utilizadas para proporcionar el veredicto final a una propuesta de tesis se
muestran en las Figuras 4.16a y 4.16b.
Figura 4.16a. Página donde se realiza el veredicto final.
Figura 4.16b. Página donde se
finaliza el veredicto.
El jefe de carrera selecciona el veredicto final y se despliega la página de la Figura 4.16b.
Cuando presiona el botón de Finalizar veredicto se despliega un mensaje de
confirmación, indicando que la tarea ha sido terminada.
4.2.9 Búsqueda de protocolos
Al ingresar a búsqueda de protocolos, se muestra la página de la Figura 4.17, con una
entrada de datos para introducir la frase de búsqueda. Cabe señalar que esta frase puede
tener delimitadores, estos delimitadores son las comillas que permiten realizar una
búsqueda exacta. El tipo de búsqueda es por metadatos, consultando en la base de datos:
4 Implementación y pruebas
68
campos del autor, director de tesis, título de la tesis, resumen y palabras clave, que fueron
introducidos cuando se registró la tesis.
Figura 4.17. Página de búsqueda de protocolos de tesis.
Una vez que el usuario ha escrito la frase de búsqueda y presionado el botón Aceptar, se
presenta una lista con los resultados encontrados. Esta lista contiene el nombre de la tesis,
el nombre del director y una liga a las tesis que ha dirigido. Ver Figura 4.18.
Figura 4.18. Página del resultado de la búsqueda de los protocolos de tesis.
4.2.10 Monitoreo de tareas
El monitoreo de tareas se ejecuta por el manejador de tareas programadas de Windows.
La tarea programada despliega una página donde se lleva a cabo la consulta del historial
de los procesos de registro de tesis. A su vez el módulo consulta en la base de datos, la
4 Implementación y pruebas
69
fecha en que se iniciaron las tareas, para así poder mandar recordatorios si los sinodales o
jefes de carrera se han tardado más de lo acordado. Los tiempos estipulados para cada
tarea se describen a continuación:
• Asignar sinodales. El jefe de carrera tiene un plazo de tres días para realizarla, a
partir del día en que el alumno inició el proceso. De no ser así, se le mandarán
recordatorios al jefe de carrera diariamente, vía correo electrónico, hasta que
realice la tarea.
• Revisar protocolo. Esta tarea debe ser ejecutada en un lapso de cinco días a
partir de la fecha en que se asignó al sinodal. En caso de que en este lapso no se
haya dado un veredicto parcial, se le enviarán recordatorios diariamente, vía
correo electrónico, hasta que pasen 10 días. Si en este lapso de tiempo, el
profesor no ha dado su veredicto se reasignará al sinodal.
• Veredicto final. Esta tarea tiene un lapso de tres días a partir de la fecha en que
los tres sinodales dieron su veredicto parcial. Se le mandarán recordatorios al
jefe de carrera diariamente, vía correo electrónico, hasta que realice la tarea.
4.3 Pruebas
Las pruebas que se realizaron al sistema fueron de funcionalidad y usabilidad. Éstas se
describen en las siguientes secciones.
4.3.1 Pruebas de funcionalidad
Se realizaron una serie de pruebas que determinaron el buen funcionamiento del mismo,
también se obtuvo la complejidad ciclomática como medida para determinar la
complejidad lógica del sistema e indicar la facilidad para brindar mantenimiento al
sistema. A continuación se describen los tres casos de prueba más importantes.
4 Implementación y pruebas
70
Caso de Prueba 1 Asignar sinodales.
Propósito Verificar que los sinodales sean asignados a un proceso de
registro de tesis.
Datos de Prueba Un proceso de registro de tesis de la carrera de ingeniería en
computación.
No. Paso Dato esperado 1 Accede al sistema el jefe de carrera
de ingeniería en computación.
El sistema despliega un menú.
2 El jefe de carrera selecciona tareas
pendientes.
El sistema despliega la lista de tareas
pendientes.
3 El jefe de carrera selecciona Asignar
sinodales.
El sistema despliega la página de Asignar
sinodales.
4 El jefe de carrera selecciona tres
sinodales y presiona el botón
Aceptar.
El sistema despliega un mensaje de
confirmación que se envió en un correo
electrónico a cada sinodal.
5 Sale del sistema.
6 Un sinodal entra a su correo. En la bandeja de entrada se encuentra el
correo enviado por el sistema con el asunto
de Asignar sinodales.
7 El sinodal entra al sistema. El sistema despliega menú del profesor.
8 El sinodal selecciona tareas
pendientes.
El sistema despliega la tarea Revisar
protocolo que se acaba de dar de alta.
4 Implementación y pruebas
71
Complejidad ciclomática
si
no
A
V(G) = Número de regiones = 2 V(G) = Aristas - Nodos + 2 = 5 - 5 + 2 = 2 V(G) = Nodos predicado + 1= 1 + 1 = 2
inicio
Consulta tareas pendientes
Despliega lista de tareas pendientes
Selecciona Asignar sinodales
Despliega página asignar sinodales
Selecciona sinodales
Sinodales > 3 Despliega confirmación
Despliega error
fin
4 Implementación y pruebas
72
Caso de Prueba 2 Revisar protocolo de tesis.
Propósito Verificar que se realiza la revisión de un protocolo de tesis.
Datos de Prueba Datos generados en prueba 1 y es el último sinodal en dar el
veredicto.
No. Paso Dato esperado 1 Accede un sinodal al sistema. El sistema despliega un menú.
2 El sinodal selecciona tareas
pendientes.
El sistema despliega la lista de tareas
pendientes.
3 El sinodal selecciona Revisar
protocolo.
El sistema despliega la página de Revisar
protocolo.
4 El sinodal introduce el veredicto y
presiona el botón dar veredicto.
El sistema guarda el veredicto, despliega
confirmación y el botón terminar revisión.
5 El sinodal selecciona terminar
revisión.
El sistema despliega el mensaje que indica
que la tarea ha sido terminada, se envía un
correo electrónico al jefe de carrera para
informarle que tiene una nueva tarea y
genera el documento del veredicto parcial.
6 Sale del sistema.
7 El jefe de carrera entra a su correo. En la bandeja de entrada se encuentra un
correo con el asunto de Veredicto final.
8 El jefe de carrera entra al sistema. El sistema despliega menú.
9 El jefe de carrera selecciona tareas
pendientes.
El sistema despliega la tarea Veredicto final.
10 El jefe de carrera selecciona
Veredicto final.
El sistema despliega la página Veredicto
final, con las opciones Veredicto parcial por
sinodal.
11 El jefe de carrera selecciona
Veredicto parcial por sinodal.
Se despliega un archivo con el veredicto
parcial generado por el sistema.
4 Implementación y pruebas
73
Complejidad ciclomática
si
no
A
B
V(G) = Número de regiones = 3 V(G) = Aristas - Nodos + 2 = 8 - 7 + 2 = 3 V(G) = Nodos predicado + 1 = 2 + 1 = 3
inicio
Consulta tareas pendientes
Despliega lista de tareas pendientes
Selecciona Veredicto parcial
Despliega página veredicto parcial
Introduce veredicto y comentarios
veredicto = vacío Despliega
confirmación y terminar revisión
Despliega error
fin
veredicto = reunión
Selecciona terminar revisión
Convoca a reunión
no
si
4 Implementación y pruebas
74
Caso de Prueba 3 Dar Veredicto final a una propuesta de tesis.
Propósito Verificar que se realiza el veredicto final de una propuesta de
tesis.
Datos de Prueba Datos generados en prueba 2.
No. Paso Dato esperado 1 Accede el jefe de carrera al sistema. El sistema despliega un menú.
2 El jefe de carrera selecciona tareas
pendientes.
El sistema despliega la lista de tareas
pendientes.
3 El jefe de carrera selecciona
veredicto final.
El sistema despliega la página de Veredicto
final.
4 El jefe de carrera introduce el
veredicto final y presiona el botón
dar veredicto.
El sistema guarda el veredicto, despliega
confirmación y el botón finalizar veredicto.
5 El jefe de carrera selecciona
terminar revisión.
El sistema despliega un mensaje de
confirmación de que la tarea ha sido
terminada. Se genera el documento del
veredicto final y se envía un correo
electrónico al tesista para informarle que ya
se tiene el veredicto.
6 Sale del sistema.
7 El tesista entra a su correo. En la bandeja de entrada se encuentra un
correo con el asunto de Veredicto final.
8 El tesista entra al sistema. El sistema despliega menú.
9 El tesista selecciona seguimiento del
proceso.
El sistema despliega la tabla de las tareas con
todas marcadas como terminadas y una liga
al veredicto final.
10 El tesista selecciona Veredicto final. Se despliega un archivo con el veredicto
final.
4 Implementación y pruebas
75
Complejidad ciclomática
si
no
A
V(G) = Número de regiones = 2 V(G) = Aristas - Nodos + 2 = 5 - 5 + 2 = 2 V(G) = Nodos predicado + 1 = 1 + 1 = 2
inicio
Consulta tareas pendientes
Despliega lista de tareas pendientes
Selecciona Veredicto final
Despliega página veredicto final
Introduce veredicto final
veredicto = vacío Despliega
confirmación y finalizar veredicto
Despliega error
fin
Selecciona finalizar veredicto
4 Implementación y pruebas
76
4.3.2 Pruebas de usabilidad
Estas pruebas se hicieron para asegurar que el sistema sea fácil de utilizar. Se realizaron
ocho pruebas de usabilidad de las tareas más importantes, de las cuales se muestran tres.
Las demás pruebas se encuentran en el apéndice C.
Prueba 1: El jefe de carrera asigna a los sinodales, proporciona el veredicto final a una
tesis y reasigna a un sinodal.
1.1 Tiene pendiente una tarea de asignar sinodales.
1.2 Tiene pendiente una tarea de realizar veredicto final y acepta el tema de tesis.
1.3 Tiene pendiente una tarea de realizar veredicto final y rechaza el tema de tesis.
1.4 Tiene pendiente una tarea de realizar veredicto final y envía correcciones.
1.5 Tiene pendiente una tarea de reasignar sinodal a una tesis.
Las sugerencias para mejorar las interfaces del sistema, se presentan en la Tabla 1.
Sugerencia Comentario
Agregar un campo extra por si el jefe de
carrera desea realizar un recopilado de las
observaciones de cada uno de los sinodales.
Ver Figuras 4.19a y 4.19b.
Se agregó el campo observaciones.
Agregar la opción se requieren cambios al
dar un veredicto final.
Si se aplicó.
En lugar de la etiqueta asignar 1 sinodal
cambiarla por reasignar sinodal.
Si se aplicó.
Tabla 1. Sugerencias realizadas en la prueba 1.
4 Implementación y pruebas
77
Figura 4.19a. Página de Realiza veredicto final, utilizada en las pruebas de usabilidad.
Figura 4.19b. Página de Realiza veredicto final, después de las pruebas de usabilidad.
4 Implementación y pruebas
78
Prueba 2: El profesor da un veredicto parcial a una tesis.
2.1 Tiene pendiente la tarea de revisar protocolo de tesis y proporciona el veredicto
parcial aceptado.
2.2 Tiene pendiente la tarea de revisar protocolo de tesis, proporciona el veredicto parcial
y cita a reunión.
Esta tarea causó confusión, las sugerencias y propuestas para mejorar el sistema se
presentan en la Tabla 2.
Sugerencia Comentario
Modificar la etiqueta de rechazado al dar un
veredicto parcial.
Se cambió la etiqueta por Se requieren
cambios.
Cambiar el botón aceptar veredicto, puede
confundir al usuario.
Se cambió el botón por Dar Veredicto.
Explicar que se pueden modificar las
observaciones del profesor mientras no
presione terminar revisión.
Se agregó el mensaje: Recuerde que
puede hacer los cambios que desee hasta
que seleccione la opción Terminar
revisión.
Cambiar la etiqueta fecha y hacerlo alusivo
a una reunión. Ver Figuras 4.20a y 4.20b.
Se cambió por Citar a reunión en fecha.
Tabla 2. Sugerencias realizadas en la prueba 2.
4 Implementación y pruebas
79
Figura 4.20a. Página de Revisar protocolo, utilizada en las pruebas de usabilidad.
Figura 4.20b. Página de Revisar protocolo, después de las pruebas de usabilidad.
4 Implementación y pruebas
80
Prueba 3: El profesor consulta el seguimiento de sus tesistas.
3.1 Consulte la información de sus tesistas.
La tarea fue fácil de realizar, pero los usuarios proponen algunos cambios, los cuales se
presentan en la Tabla 3.
Sugerencia Comentario
Cambiar la liga de información de tesistas
que indique que al acceder a ella se
visualiza el seguimiento del proceso de cada
uno de los tesistas. Ver Figuras 4.21a y
4.21b.
Se cambió por Seguimiento de tesistas.
Modificar la forma en que se presenta el
título de la tesis y el nombre del alumno,
separarlos en campos.
Si se aplicó.
Explicar por qué se envía correo al jefe de
carrera.
Si se aplicó.
Tabla 3. Sugerencias realizadas en la prueba 3.
4 Implementación y pruebas
81
Figura 4.21a. Página de Seguimiento del proceso, durante las pruebas de usabilidad.
Figura 4.21b. Página de Seguimiento del proceso, después de las pruebas de usabilidad.
5 Conclusiones
82
Capítulo 5. Conclusiones
El desarrollo del trabajo presentado cumplió con los objetivos de la tesis, ya que se
realizó un sistema que automatiza el proceso de registro de tesis en la UTM, accesible vía
web que aplica la tecnología workflow. La construcción del sistema se realizó siguiendo
el modelo de Ingeniería Web en conjunto con el proceso de desarrollo de aplicaciones
workflow (WADP) y el Proceso Unificado Rational (RUP).
Al realizar esta tesis se observó qué cuando se automatiza un proceso, es necesario llevar
un buen procedimiento que lo regule, especificando la definición del proceso, la cual
identifica las actividades, las personas que las ejecutan, la infraestructura, las políticas y
normas que rigen la organización y el flujo de documentos que se lleva a cabo a lo largo
del proceso, que sirven como entradas y salidas de cada actividad.
También, es necesario aplicar una tecnología en la automatización del proceso de
negocios que garantice un buen control del mismo, como la tecnología workflow que fue
utilizada en la realización de esta tesis, la cual brinda la seguridad de realizar un sistema
confiable a la organización, abarcando todo el proceso desde la definición del mismo
5 Conclusiones
83
hasta obtener productos terminados. Para abarcar todo el proceso es necesario tomar en
cuenta a todos los involucrados.
Un sistema workflow debe contar con al menos un módulo de seguimiento a las tareas,
un motor de tareas que interprete la definición del proceso y un módulo donde se puedan
realizar las tareas. Tomando en cuenta estos tres módulos, se tendrá una buena
automatización del proceso.
El control de las tareas y el flujo de documentos, se realizó con ayuda de una base de
datos que facilitó en gran medida la construcción del mismo, almacenando las tareas que
se realizan durante el proceso de registro de tesis, determinando la tarea sucesora a partir
de la antecesora, manteniendo el historial de las tareas y produciendo los documentos
necesarios para realizar cada tarea.
Cabe mencionar que a pesar de que el sistema maneja la secuencia de tareas de forma
fija, como se lleva a cabo actualmente el registro de tesis, cubre con las necesidades que
presenta el proceso en la UTM y permite que éste se lleve a cabo de forma sencilla.
En caso de que el sistema sea implementado oficialmente en la UTM, se tendrá mayor
control en el proceso de registro de tesis, además brindará ventajas como: mayor facilidad
en la realización de las tareas, centralizará los documentos en una base de datos y
reducirá la papelería al manejar documentos electrónicos.
El sistema brinda mayor acceso a las personas involucradas en el proceso de registro de
tesis, como el Tesista, el Sinodal, el Director de Tesis y el Jefe de Carrera, para que
realicen sus tareas. También proporciona información a los tesistas y a los directores de
tesis sobre el paso en que se encuentra el proceso de registro dando seguimiento al
mismo.
5 Conclusiones
84
La liga donde se encuentra disponible el sistema de registro de tesis es:
http:// 192.100.170.29/Alfredo/Tesis/paginas/principal.php.
5.1 Aportaciones de la tesis
• La implementación de un sistema que automatiza el proceso de registro de tesis
en la UTM.
• El sistema centraliza los documentos del proceso de registro de tesis de todas las
carreras.
• La investigación realizada acerca de la tecnología de workflow permitirá que
otras personas puedan retomar el tema y aplicarlo a nuevos procesos.
5.2 Limitaciones
• El sistema no está integrado con la base de datos de la Universidad Tecnológica
de la Mixteca.
• El flujo de trabajo es realizado a través de una secuencia de tareas, el sistema no
tiene una sección para realizar un cambio en esta secuencia.
• El monitoreo de las tareas es realizado con ayuda del sistema operativo en el que
se desarrolló el sistema.
• El sistema únicamente soporta un solo administrador del sistema.
5.3 Trabajos futuros
La tesis deja la posibilidad de extender algunas funciones, entre las que se encuentran las
siguientes:
• Realizar un módulo de monitoreo de tareas independiente del sistema operativo,
con las mismas características que actualmente tiene, ejecutándose de manera
5 Conclusiones
85
automática y periódicamente, con la finalidad de que el sistema sea
multiplataforma.
• Integrar el sistema de control del proceso de registro de tesis con el sistema de
servicios escolares que se maneja actualmente en la UTM, para que la carga de
datos de los profesores en el sistema.
• Implementar la búsqueda de protocolos con motores de búsqueda más avanzados,
para ofrecer una alternativa más eficaz, ya que actualmente la búsqueda se realiza
en metadatos.
• Desarrollar e implementar un sistema que controle la fase de desarrollo de las
tesis y que éste sea alimentado por el sistema que controla el proceso de registro
de tesis.
• Tener más de un usuario administrador.
Bibliografía
86
Bibliografía
[1] Ames C. K. Burleigh S. C., Mitchell S. J. 1997. “A web based enterprise
workflow system”. The International ACM SIGGROUP Conference on
Supporting Group Work: The Integration Challenge (Phoenix, Arizona, United
States), 214-220.
[2] Anderson K. N., Andersen A., Wadhwani N., Bartolo L M. 2003. “Metis:
Lightweight, flexible, and web-based workflow services for digital libraries”.
The 3rd ACM/IEEE-CS Joint Conference on Digital Libraries (Houston,
Texas), 98-109.
[3] Berkman J. 1997. “Web design and maintenance”. The 25th Annual ACM
SIGUCCS Conference on User Services: Are You Ready? (Monterey,
California, United States), 23-27.
[4] Booch G. 1999. “UML in action”. Communications of the ACM 42, 10
(Octubre), 26-28.
[5] Booch G., Rumbaugh J. 1998. “The Unified Modeling Language User guide”.
Addison-Wesley, United States.
[6] Borges J, Morales I, Rodriguez N. 1996. “Guidelines for designing usable world
wide web pages”. Conference Companion on Human Factors in Computing
Systems: Common Ground (Vancouver, British Columbia, Canada), 277-278.
[7] Brinck T., Gergle D., Wood S. 2002. “Designing Web Sites that Work:
Usability for the Web”, Morgan Kaufann Publishers/Academic Press, United
States.
[8] Castillo C E. 2003. “Sistema de ejecución de workflows adaptable para la
construcción de aplicaciones de comercio electrónico”, Tesis de Licenciatura,
Universidad de las Américas Puebla.
[9] Camacho L., García I. et al. 2004. “Linux: Guía de instalación y diseño”,
McGraw-Hill, México.
[10] Combi C., Pozzi G. 2004. “Architectures for a temporal workflow management
system”, The 2004 ACM Symposium on Applied Computing (Nicosia, Cyprus),
659-666.
Bibliografía
87
[11] Deng S., Yu Z., Wu Z., Huang L. 2004. “Enhancement of workflow flexibility
by composing activities at run-time”. The 2004 ACM Symposium on Applied
Computing (Nicosia, Cyprus), 667-673.
[12] Dennis A. 1998. “Lessons from three years of web development”.
Communications of the ACM 41, 7 (Julio), 112-113.
[13] Fabrega, P. 2000. “PHP 4”, Prentice Hall, España.
[14] Gal A., Mylopoulos J. 2000. “Supporting distributed autonomous information
services using coordination”. International Journal of Cooperative Information
Systems (9, 3), 255-282.
[15] García P. A. 2001. “La gestión de documentos electrónicos como respuesta a las
nuevas condiciones del entorno de información”, ACIMED (9, 3), 190-200.
[16] Gershon N, Czerwinski M, Neale W, Nielsen J, Ragouzis N, Siegel D. 1998.
“Good web design: Essential ingredient!”, CHI 98 Conference Summary on
Human Factors in Computing Systems (Los Angeles, California, United States),
90-91.
[17] Ginige A. 2002. “Web engineering: managing the complexity of web systems
development”. The 14th International Conference on Software Engineering and
Knowledge Engineering (Ischia, Italy), 721-729.
[18] González L J., Rodríguez M. V. 2002. “La tecnología de flujo de trabajo en el
contexto de la biblioteca digital”. Revista de Biblioteconomía y Documentación
(5), 157-175.
[19] Hadjerrouit S. 2001. “Web-based application development: a software
engineering approach”. ACM SIGCSE Bulletin 33, 2 (Junio), 31-34.
[20] Heller H, Rivers D. 1996. “So you wanna design for the web”. Interactions 3, 2
(Marzo), 19-23.
[21] Hsieh S. 2003. “Software engineering for web application”, Journal of
Computing Sciences in Colleges 19, 1 (Octubre), 10-19.
[22] Hollingsworth D. 1995. “Workflow Management Coalition The Workflow
Reference Model”, Reporte técnico, disponible en
http://www.wfmc.org/standards/docs/tc003v11.pdf, fecha de la última consulta
29 de agosto del 2005.
Bibliografía
88
[23] Iwaihara M., Jiang H., Kambayashi Y. 2004. “An integrated model of
workflows, e-contracts and solution implementation”, The 2004 ACM
Symposium on Applied Computing (Nicosia, Cyprus), 1390-1395.
[24] Jorgensen H. D. 2001. “Interaction as a framework for flexible workflow
modelling”. The 2001 International ACM SIGGROUP Conference on
Supporting Group Work (Boulder, Colorado, United States), 32-41.
[25] Mangan P., Sadiq S. 2002. “On building workflow models for flexible
processes”. The Thirteenth Australasian Conference on Database Technologies
- Volume 5 (Melbourne, Victoria, Australia), 103-109.
[26] Murugesan S., Deshpande Y. 2000. “Web engineering”. The 22nd International
Conference on Software Engineering (Limerick, Ireland), 794-795.
[27] Nielsen J. 1998. “Introduction to web design”. CHI 98 Conference Summary on
Human Factors in Computing Systems (Los Angeles, California, United States),
107-108.
[28] Nielsen J. 1999. “User interface directions for the web”. Communications of the
ACM 42, 1 (Enero) 65-72.
[29] Nielsen J, Tognazzini B, Kindlund E. 1998. “Current issues in web design”.
CHI 98 Conference Summary on Human Factors in Computing Systems (Los
Angeles, California, United States), 171-172.
[30] Ohnemus K. 1997. “Web style guides: who, what, where”. The 15th Annual
International Conference on Computer Documentation (Salt Lake City, Utah,
United States), 189-197.
[31] Pressman R. 2001. “Ingeniería de Software: un Enfoque Práctico”, Mc Graw
Hill, Quinta edición, España.
[32] Rojas S. J. 2000. “Una visión de la organización desde el punto de vista de los
flujos de trabajo”, Revista de Marina, Armada de Chile.
[33] Shari L. 2002. “Ingeniería de software, teoría y práctica”, Prentice Hall,
Primera Edición, Argentina.
[34] Schuster H., Heinl P. 1997. ”A workflow data distribution strategy for scalable
workflow management systems”. The 1997 ACM Symposium on Applied
Computing (San Jose, California, United States), 174-176.
Bibliografía
89
[35] Sommerville, I. 2002. “Ingeniería del Software”, Pearson Education, Sexta
Edición, México.
[36] Stones, R. “Beginning database with postgresql”, WROX PRESS LTD, 2001,
United States.
[37] Tilley S., Huang S. 2003. ”A quality assessment of the efficacy of UML
diagrams as a form of graphical documentation in aiding program
understanding”. The 21st Annual International Conference on Documentation
(San Francisco, CA, United States), 184-191.
[38] Weske M., Goesmann T., Holten R., Strierner R. 1999. “A reference model for
workflow application development processes”. The International Joint
Conference on Work Activities Coordination and Collaboration (San Francisco,
California, United States), 1-10.
[39] Zhao L. J., Kumar A. 1998. “Data management issues for large scale,
distributed, workflow systems on the internet”. ACM SIGMIS Database (29, 4),
22-32.
[40] Zimmerman B. 1997. “Applying Tufte’s principles of information design to
creating effective web sites”. The 15th Annual International Conference on
Computer Documentation (Salt Lake City, Utah, United States), 309-317.
Bibliografía
90
Enlaces de Referencia
[URL 1] Achour M., Betz F. et al. Manual de PHP, disponible en
http://www.php.net/manual/es/, fecha de la última consulta 29 de agosto
del 2005.
[URL 2] Anónimo. Postgresql 8.0.3 documentation, disponible en,
http://www.postgresql.org/docs/8.0/static/index.html, fecha de la última
consulta 29 de agosto del 2005.
[URL 3] The World Wide Web Consortium (W3C), W3C Recommendation,
disponible en, http://www.w3.org/TR/REC-html40/index/list.html, fecha
de la última consulta 20 de septiembre del 2005.
91
A P É N D I C E S
Apéndice A: Lista de casos de uso
92
Apéndice A: Lista de casos de uso
Nombre del Caso de Uso: Entrada al Sistema
Actores: Usuario (cualquier persona que desee entrar al sistema incluyendo al sinodal,
director de tesis, jefe de carrera, tesista y administrador).
Descripción: El Usuario ya se encuentra en la página principal del sistema e introduce
sus datos para autentificarse, por último accede al sistema.
Escenario 1: Se autentifica el usuario profesor, (sinodal o director de tesis).
Escenario 2: Se autentifica el usuario jefe de carrera.
Escenario 3: Se autentifica el usuario tesista.
Escenario 4: Se autentifica el usuario administrador.
Escenario 5: Se autentifica el usuario visitante.
Acción del actor Sistema
1.- Este caso de uso comienza cuando el
usuario ya está en la página principal.
Escenario 1
2.- El profesor introduce su identificador
y contraseña, por último presiona el
botón Entrar usuario.
3.- El sistema verifica en la base de datos
se encuentre dado de alta ese
identificador y que la contraseña
corresponda.
4.- El sistema verifica que el tipo de
usuario que ingresa al sistema es el
profesor y despliega un menú con las
opciones:
• Registro de tesistas
• Tareas pendientes
Apéndice A: Lista de casos de uso
93
• Información de tesistas
• Registro de publicaciones
• Datos personales
5.- El profesor visualiza el menú.
Escenario 2
6.- El jefe de carrera introduce su
identificador y contraseña, presiona el
botón Entrar usuario.
7.- El sistema verifica en la base de datos
se encuentre dado de alta ese
identificador y que la contraseña
corresponda.
8.- El sistema verifica que el tipo de
usuario que ingresa al sistema es el jefe
de carrera y despliega un menú con las
siguientes opciones:
• Registro de tesistas
• Tareas pendientes
• Seguimiento de tesistas
• Registro de publicaciones
• Datos personales
• Registro de profesores
• Expediente
• Procesos y formatos
9.- El jefe de carrera visualiza el menú.
Escenario 3
10.- El tesista introduce su identificador
y contraseña, presiona el botón Entrar
usuario.
11.- El sistema verifica en la base de
datos que se encuentre dado de alta ese
identificador y que la contraseña
corresponda.
12.- El sistema verifica que el tipo de
usuario que ingresa al sistema es el
Apéndice A: Lista de casos de uso
94
tesista y despliega un menú con las
opciones:
• Registro de tesis
• Seguimiento del proceso
• Datos personales
13.- El tesista visualiza el menú.
Escenario 4
14.- El administrador introduce su
identificador y contraseña, presiona el
botón Entrar usuario.
15.- El sistema verifica en la base de
datos se encuentre dado de alta ese
identificador y que la contraseña
corresponda.
16.- El sistema verifica que el tipo de
usuario que ingresa al sistema es el
administrador y despliega un menú con
las opciones:
• Registro de profesores
• Cambiar contraseña
• Alta de carreras
• Baja de carreras
17.- El administrador visualiza el menú.
Escenario 5
18.- El visitante selecciona una carrera y
presiona el botón Entrar visitante.
19.- El sistema despliega un menú con
las opciones:
• Formatos de protocolo
• Descripción de procesos
• Búsqueda de protocolos
• Publicación de profesores
20.- El visitante visualiza el menú.
Apéndice A: Lista de casos de uso
95
Flujos alternativos
• En el punto 3, 7, 11 y 15 si se presenta un error de acceso a la base de datos, el
sistema despliega un mensaje de error.
• En el punto 3, 7, 11 y 15 en caso de que el usuario no este dado de alta, el sistema
notificará al usuario que sus datos no son válidos.
Apéndice A: Lista de casos de uso
96
Vis itanteVis itante : Usuario : Usuario principalprincipal identi ficacionidenti ficacion accesoacceso Base de DatosBase de Datosfuncionesfunciones
envia(identificador, contraseña)
[tipo_usuario] inicia_session()
tipo_usuario:=consulta_usuario(sql_usuario)
selecciona_carrera()
selecciona_aceptar()
introduce_datos(identificador, contraseña)
inicia_sesion(carrera)
envía_datos(tipo,usuario,nombre,ape_pat,ape_mat)
despliega_datos(tipo,usuario,nombre,ape_pat,ape_mat)
despliega_menu(tipo_usuario)
despliega_error()
envía_datos(carrera)
despliega_menu(visitante)
[tipo_usuario=profesor]info_usuario:= consulta_profesor(sql_profesor)
[tipo_usuario=alumno]info_usuario:= consulta_alumno(sql_alumno)
Apéndice A: Lista de casos de uso
97
Nombre del Caso de Uso: Descripción del Proceso.
Actores: Visitante, (cualquier persona que ingrese al sistema, incluyendo al jefe de
carrera, tesista, sinodal, director de tesis y administrador).
Descripción: El Visitante accede al sitio y selecciona descripción de procesos. A
continuación se le presenta toda la información referente al proceso de registro de tesis.
Acción del actor Sistema
1.- Este caso de uso comienza cuando el
visitante ya se encuentra dentro del
sistema habiendo seleccionado una
carrera.
2.- El visitante selecciona Descripción
de procesos.
3.- El sistema realiza una consulta a la
base de datos para obtener la ruta del
archivo de descripción del proceso de la
carrera que seleccionó cuando accedió al
sistema, abre el archivo y lo despliega.
4.- El visitante visualiza la información
de la descripción del proceso.
Flujos alternativos
• En el punto 3 si se encuentra un error de acceso a la base de datos, el sistema
despliega un mensaje de error.
Apéndice A: Lista de casos de uso
98
VisitanteVisitante funcionesfunciones descripciondescripcion Base de DatosBase de Datos
seleccion_descripción_de_procesos(carrera)
abre_archivo(proceso)
envia_proceso(carrera)
despliega_información(info_proceso)
proceso:= consulta_ruta(consulta_carr)
Apéndice A: Lista de casos de uso
99
Nombre del Caso de Uso: Formatos de Protocolo.
Actores: Visitante, (cualquier persona que ingrese al sistema, incluyendo al jefe de
carrera, tesista, sinodal, director de tesis y administrador).
Descripción: El Visitante entra al sistema y visualiza el formato del protocolo de registro
de tesis.
Acción del actor Sistema
1.- Este caso de uso comienza cuando el
visitante ya se encuentra dentro del
sistema habiendo seleccionado una
carrera.
2.- El visitante selecciona Formatos de
protocolo.
3.- El sistema realiza una consulta a la
base de datos para obtener la ruta del
archivo del formato del protocolo de la
carrera que seleccionó cuando accedió al
sistema. Abre el archivo y lo despliega.
4.- El visitante visualiza la información.
Flujos alternativos
• En el punto 3 si se encuentra un error de acceso al servidor, el sistema despliega
un mensaje de error.
Apéndice A: Lista de casos de uso
100
Visi tanteVisi tante funcionesfunciones formato_verformato_ver : Servidor : Servidor Base de DatosBase de Datos
selecciona_descargar()
petición_descarga(string nombre_archivo)
despliega_pantalla_descarga()
selecciona_formatos_de_protocolo(carrera)
info_formato:=visualiza_carrera(carrera)
abre_archivo(formato)
selecciona_directorio()
copia_archivo()
muestra_pantalla_archivo_descargado()
despliega_informacion(info_formato)
formato consulta_ruta(s ql_archivo)
formato:= consulta_ruta(sql_ruta)
Apéndice A: Lista de casos de uso
101
Nombre del Caso de Uso: Búsqueda de Protocolos.
Actores: Visitante, (cualquier persona que ingrese al sistema, incluyendo al jefe de
carrera, tesista, director de tesis, sinodal y administrador).
Descripción: El Visitante se encuentra en el sistema y realiza una búsqueda de
protocolos.
Escenario 1: El visitante realiza una búsqueda general.
Escenario 2: El visitante realiza una búsqueda especializada.
Acción del actor Sistema
1.- Este caso de uso comienza cuando el
visitante ya se encuentra dentro del
sistema habiendo seleccionado una
carrera.
2.- El visitante selecciona Búsqueda de
protocolos.
3.- El sistema despliega una página con
una forma de búsqueda generalizada, que
contiene una entrada de datos para
introducir la frase de búsqueda, botones
de Aceptar y Limpiar, además una liga a
la búsqueda especializada.
Escenario 1
4.- El visitante introduce la cadena a
buscar y presiona Aceptar.
5.- El sistema realiza la consulta a la base
de datos con la frase introducida por el
visitante, despliega una página con una
lista de protocolos ordenados
alfabéticamente por el título de tesis.
Esta lista tendrá los siguientes datos:
título, estado de la tesis (aceptado o
rechazado), nombre del director de tesis
Apéndice A: Lista de casos de uso
102
y una liga para descargar el protocolo.
6.- El visitante visualiza el resultado de
la búsqueda.
Escenario 2
7.- El visitante selecciona Búsqueda
especializada.
8.- El sistema despliega una página,
donde el usuario puede seleccionar los
campos en donde se desea buscar, los
cuales son: título de la tesis, palabras
clave, director de tesis, descripción y
autor de tesis. Además, una lista para
seleccionar el criterio de búsqueda con
las opciones: sea exactamente ó
cualquiera de las palabras, una entrada
de datos para introducir la consulta y
botones de Aceptar y Limpiar.
9.- El visitante introduce los datos que se
le solicitan y presiona Aceptar.
10.- El sistema realiza una consulta a la
base de datos en los campos
seleccionados por el visitante, con la
frase introducida y el criterio de
búsqueda seleccionado. El sistema
despliega una página con la lista de
protocolos ordenados alfabéticamente
por el título de la tesis. Esta lista tendrá
los siguientes datos: título, estado de la
tesis (aceptado o rechazado), nombre del
director de tesis y una liga para descargar
el protocolo.
11.- El visitante visualiza el resultado de
la búsqueda.
Apéndice A: Lista de casos de uso
103
Flujos alternativos
• En el punto 4 y 9 en caso de que no haya llenado el campo frase de búsqueda, el
sistema despliega un mensaje de error en la entrada de datos.
• En el punto 5 y 10 si se encuentra un error de acceso a la base de datos, el sistema
despliega un mensaje de error.
• En el punto 6 y 11 si la búsqueda no devuelve resultados, el sistema despliega un
mensaje.
• En el punto 9 y 4 si el visitante presiona Limpiar, se limpiarán los campos que se
encuentren desplegados.
Apéndice A: Lista de casos de uso
104
VisitanteVisitante busquedagbusquedag lista_reslista_res lista_resultadolista_resultado Base de DatosBase de Datosbusquedaebusquedae
slecciona_búsqueda_de_protocolos(carrera)
despliega_busquedag()
introduce_cadena()
selecciona_aceptar()
envia_datos(cadena)
cad separa_cadenas()
eliminar_preposiciones()
separa_cadenas(criterio)
despliega_ informacion(info_busqueda)
despliega_informacion(info_busqueda)
info_búsqueda:=consulta_busqueda(sql_busqg)
info_busqueda:=cons ulta_bús queda(sql_busqe)
selecciona_búsqueda_especializada()
despliega_búsquedae()
selecciona_campos_para_busqueda()
selecciona_criterio_búsqueda()
introduce_cadena(cadena)
selecciona_aceptar()
info_búsqueda(cadena,campos,criterio)
Apéndice A: Lista de casos de uso
105
Nombre del Caso de Uso: Publicación de profesores.
Actores: Visitante, (cualquier persona que ingrese al sistema, incluyendo al jefe de
carrera, tesista, administrador, director de tesis y sinodal).
Descripción: el Visitante accede al sitio, consulta la información de las publicaciones y
líneas de investigación de los profesores.
Acción del actor Sistema
1.- Este caso de uso comienza cuando el
visitante ya se encuentra dentro del
sistema habiendo seleccionado una
carrera.
2.- El visitante selecciona Publicación de
profesores.
3.- El sistema consulta los nombres de
los profesores en la base de datos y los
despliega en una lista, (de la carrera que
seleccionó el visitante cuando accedió al
sistema).
4.- El visitante selecciona un profesor. 5.- El sistema consulta a la base de datos
sobre las publicaciones, líneas de
investigación y despliega en una página
las tesis que ha dirigido. La lista que
contiene las publicaciones tiene la
siguiente información: título del artículo
y tipo de publicación (artículo,
conferencia, seminario u otro). La lista
de las tesis contiene: título de la tesis y
una liga al protocolo.
6.- El visitante visualiza la información.
Apéndice A: Lista de casos de uso
106
Flujos alternativos
• En el punto 3 y 5 si se encuentra un error de acceso a la base de datos, el sistema
despliega un mensaje de error.
Apéndice A: Lista de casos de uso
107
Visi tanteVisi tante funcionesfunciones profesoresprofesores profesor_infoprofesor_info Base de DatosBase de Datos
selecciona_publicación_de_profesores(carrera)
envia_profesores(carrera)
desp liega_profesores(info_profesores)
selecciona_profesor(identificador)
despliega_info_profesor(info_publicaciones)
envía_profesor(identificador)
info_profesores:=consulta_profesores(sql_profesores)
info_publicaciones:=consulta_publicaciones(sql_public, identificador)
Apéndice A: Lista de casos de uso
108
Nombre del Caso de Uso: Registro de tesistas.
Actores: Director de Tesis.
Descripción: El Director de Tesis ya está autentificado y da de alta a un tesista.
Acción del actor Sistema
1.- Este caso de uso inicia cuando el
director de tesis ya se encuentra
autentificado.
2.- El director de tesis selecciona
Registro de tesistas.
3.- El sistema despliega una página con
una entrada de datos para la matrícula del
tesista y el botón Aceptar.
4.- El director de tesis introduce la
matrícula del tesista y presiona Aceptar.
5.- El sistema verifica, si el tesista está
dado de alta para determinar si se trata de
una alta o una actualización. Despliega
una página con campos para introducir
los datos del tesista. En caso de ser alta
aparecerán entradas de datos para:
nombre, carrera, correo electrónico,
identificador y contraseña; en caso de ser
actualización, aparecerán los datos del
tesista y se podrán actualizar los campos
mencionados anteriormente excepto el
identificador. Por último se despliegan
los botones: Aceptar y Limpiar.
6.- El director de tesis introduce los
datos que le solicitan dependiendo de si
es alta o actualización y presiona
Aceptar.
7.- El sistema almacena los datos y
despliega el mensaje de confirmación:
los datos han sido almacenados.
Apéndice A: Lista de casos de uso
109
8.- El director de tesis recibe
confirmación.
Flujos alternativos
• En el punto 4 y 6 si se encuentra un error de acceso a la base de datos, el sistema
despliega un mensaje de error.
• En el punto 4, en caso de que no todas las entradas hayan sido llenadas, el
sistema despliega un mensaje de error.
• En el punto 4, en caso de que el profesor seleccione Limpiar, si es la primera vez
que se registra al tesista, se limpiarán los campos, en caso contrario, se inicializan
con los valores que se encuentran en la base de datos.
Apéndice A: Lista de casos de uso
110
Director de TesisDirector de Tesistesistatesista verifica_tesistasverifica_tesistas inserta_tesistainserta_tesista actualiza_tesist
aactualiza_tesist
aBase de DatosBase de Datos
selecciona_registro_de_tesistas(identificador)
despliega_forma_altas()
introduce_matricula()
se lecciona_aceptar()
inserta_actualizaciones(inserta_act)
muestra_confirmación_actualización()
envia_verifica_tesista(matrícula, identificador)
resultado:=consulta_alumno(sql_alumno)
[resultado]despliega_forma_datos(resu ltado)
introduce_actualizaciones(actualizaciones)
selecciona_aceptar()
envia_actual iza_tes ista(actualizaciones)
[!resultado]despliega_forma_datos()
introduce_insercion(insercion)
selecciona_aceptar()
envía_inserta_tesista(insercion)
inserta_alumno(sql_inserta_alum no)
mues tra_mensaje_ins erción()
inserta_ identi ficacion(sql_inserta_id)
Apéndice A: Lista de casos de uso
111
Nombre del Caso de Uso: Registro de publicaciones.
Actores: Profesor.
Descripción: El Profesor ya está autentificado y da de alta o actualiza la información de
sus publicaciones.
Acción del actor Sistema
1.- Este caso de uso inicia cuando el
profesor ya está autentificado en el
sistema.
2.- El profesor selecciona Registro de
publicaciones.
3.- El sistema despliega una página con
una entrada de datos para el título del
artículo y el botón Aceptar.
4.- El profesor introduce el nombre de su
publicación y presiona Aceptar.
5.- El sistema verifica si la publicación
ya está dada de alta para determinar si es
una alta o una actualización y despliega
una página donde el profesor puede
introducir los datos de sus publicaciones.
En caso de ser alta se pedirán: el nombre
del artículo, tipo de publicación (artículo,
conferencia o seminario). En caso de ser
actualización, el dato que se puede
modificar es el tipo de publicación.
También aparecerán los botones: Aceptar
y Limpiar.
6.- El profesor introduce los datos que se
le solicitan y presiona Aceptar.
7.- El sistema almacena los datos y
despliega un mensaje de confirmación:
los datos han sido almacenados.
8.- El profesor recibe confirmación.
Apéndice A: Lista de casos de uso
112
Flujos alternativos
• En el punto 5 y 7 si se encuentra un error de acceso a la base de datos, se
despliega un mensaje de error.
• En el punto 5 si los campos de nombre del artículo y fecha no han sido llenados,
el sistema despliega un mensaje notificando al profesor.
• En el punto 6 en caso de que el profesor seleccione la opción Limpiar, si es la
primer vez que se registra la publicación, se limpiarán las entradas de datos, en
caso de actualizar la publicación, se inicializan con los valores que se encuentran
en la base de datos.
Apéndice A: Lista de casos de uso
113
: Profesor publicaciones verifica_publicacion
inserta_publicaciones
actualiza_publicaciones
Base de Datos
l bli i SELECT tit l ti f h FROM bli i f WHERE (tit l ) tit l d
selecciona_registro_de_publicaciones()
despliega_forma_altas()
introduce_titulo()
selecciona_aceptar()
muestra_mensaje_inserción()
muestra_confirmación_actualización()
inserta_actualizaciones(sql_inserta_act)
inserta_publicaciones(SQL_inserta_publicaciones)
envia_verifica_publicacion(titulo,identificador)
resultado:=consulta_publicaciones(sql_publicaciones)
[resultado]despliega_forma_datos(resultado)
introduce_actualizaciones(actualizaciones)
selecciona_aceptar()
envia_actualiza_publicaciones(actualizaciones)
[NOT resultado]despliega_forma_datos()
introduce_insercion(insercion)
selecciona_aceptar()
envía_inserta_publicaciones(insercion)
Apéndice A: Lista de casos de uso
114
Nombre del Caso de Uso: Registro de tesis.
Actores: Tesista.
Descripción: El Tesista ya está autentificado en el sistema y registra una tesis.
Acción del actor Sistema
1.- Este caso de uso inicia cuando el
tesista ya se encuentra autentificado en el
sistema.
2.- El tesista selecciona Registro de tesis. 3.- El sistema consulta en la base de
datos, si la tesis se encuentra dada de alta
para determinar si se trata de una alta o
una actualización. Despliega una página
con entrada de datos para: título de la
tesis, contenido, resumen, palabras clave,
protocolo y cronograma de actividades.
Por último, despliega botones de:
Limpiar y Guardar tesis.
4- El tesista introduce los datos que se le
solicitan y selecciona Guardar tesis.
5.- El sistema almacena los datos
introducidos por el tesista en la base de
datos y despliega confirmación: los
datos fueron almacenados correctamente,
por último despliega el botón Iniciar
proceso.
6.- El tesista visualiza confirmación.
7.- El tesista presiona Iniciar proceso. 8.- El sistema da de alta el proceso en la
base de datos, envía un correo
notificando a la jefatura de carrera que se
tiene un nuevo proceso y pone la tarea
Asignar sinodales como pendiente.
Apéndice A: Lista de casos de uso
115
Flujos alternativos
• En el punto 3, 5 y 7 si se encuentra un error de acceso a la base de datos, el
sistema despliega un mensaje de error.
• En el punto 5 si el tesista no llena todos los campos, el sistema despliega un
mensaje de error.
• En el punto 4 si el tesista selecciona la opción Limpiar y si es la primera vez que
se registra la tesis, se limpiarán las entradas de datos; en caso de actualizar los
datos de la tesis, se inicializan con los valores que se encuentran en la base de
datos.
Apéndice A: Lista de casos de uso
116
tesis inserta_tesista actualiza_tesista Base de Datos : Tesista
muestra_mensaje_inserción()
muestra_confirmación_actualización()
inserta_actualizaciones(inserta_act)
inserta_tesis(sql_inserta_tesis)
selecciona_registro_de_tesis(identificador)
resultado:=consulta_tesis(sql_tesis)
[resultado]despliega_forma_datos(resultado)
introduce_actualizaciones(actualizaciones)
selecciona_aceptar()
envia_actualiza_tesis(actualizaciones)
[!resultado]despliega_forma_datos()
introduce_insercion(insercion)
selecciona_aceptar()
envía_inserta_tesis(insercion)
Apéndice A: Lista de casos de uso
117
Nombre del Caso de Uso: Registro de profesores.
Actores: Jefe de Carrera.
Descripción: El Jefe de Carrera ya está autentificado en el sistema y registra a un
profesor.
Acción del actor Sistema
1.- Este caso de uso inicia cuando el jefe
de carrera ya está autentificado en el
sistema.
2.- El jefe de carrera selecciona Registro
de profesores.
3.- El sistema despliega una página con
una entrada de datos con el nombre del
profesor y el botón Aceptar.
4.- El jefe de carrera introduce el nombre
del profesor y presiona Aceptar.
5.- El sistema verifica si el profesor está
dado de alta en la base de datos, para
determinar si se trata de una alta o una
actualización. Despliega una página con
entrada de datos, en caso de que sea alta
con: nombre, correo electrónico, cargo,
identificador, contraseña, liga a página
personal y línea de investigación. En el
caso de actualización aparecerán los
datos del profesor y se podrán actualizar
los campos mencionados anteriormente
excepto el identificador y la carrera. Por
último, se despliegan los botones:
Aceptar y Limpiar.
6.- El jefe de carrera introduce los datos
que se le solicitan y presiona Aceptar.
7.- El sistema almacena los datos y
despliega el mensaje de confirmación:
los datos han sido almacenados.
Apéndice A: Lista de casos de uso
118
8.- El jefe de carrera recibe
confirmación.
Flujos alternativos
• En el punto 3, 5 y 7 si se encuentra un error de acceso a la base de datos, el
sistema despliega un mensaje de error.
• En el punto 6 si el jefe de carrera no llena todos los campos, el sistema despliega
un mensaje de error.
• En el punto 6 si el jefe de carrera selecciona la opción Limpiar, si es la primera
vez que se registra al profesor, se limpiarán las entradas de datos, en caso de
actualizar los datos del profesor, se inicializan con los valores que se encuentran
en la base de datos.
Apéndice A: Lista de casos de uso
119
profesorprofesor verifica_profesoresverifica_profesores inserta_profesores
inserta_profesores
actualiza_profesores
actualiza_profesores
Base de DatosBase de Datos : Jefe de Carrera : Jefe de Carrera
despliega_forma_registro_profesores()
muestra_mensaje_inserción()
muestra_confirmación_actualización()
inserta_actualizaciones(s ql_inserta_act)
envia_verifica_profesor(identificador)
res ultado:=cons ulta_profesor(sql_profesor)
[resultado]despliega_forma_datos(resultado)
envia_actualiza_tesista(actualizaciones)
[NOT resultado]despliega_forma_datos ()
envía_inserta_profesor(insercion)
inserta_identificacion(sql_inserta_id)
inserta_profesor(sql_inserta_profesor)
selecciona_registro_de_profesores()
introduce_identificador()
selecciona_aceptar()
introduce_actualizaciones(actualizaciones)
selecciona_aceptar()
introduce_insercion(insercion)
selecciona_aceptar()
Apéndice A: Lista de casos de uso
120
Nombre del Caso de Uso: Tareas pendientes.
Actores: Usuario (profesor o jefe de carrera).
Descripción: El Usuario entra al sistema, selecciona Tareas pendientes y visualiza las
tareas que tiene por hacer.
Acción del actor Sistema
1.- Este caso de uso inicia cuando el
usuario ya está autentificado en el
sistema.
2.- El usuario selecciona Tareas
pendientes.
3.- El sistema consulta la base de datos
y despliega todas las tareas pendientes
en forma de lista, ordenadas por fecha.
Las tareas pueden ser: Veredicto final,
Revisar protocolo o Asignar sinodales.
4.- El usuario visualiza sus tareas
pendientes.
Flujos alternativos
• En el punto 3 si se encuentra un error de acceso a la base de datos, el sistema
despliega un mensaje de error.
Apéndice A: Lista de casos de uso
121
pendientes func_wflow Base de Datos : Usuario
despliega_pendientes(info_pendientes)
info_pendientes:=consulta_pendientes(sql_pendientes)
pendientes(identificador)
selecciona_tareas_pendientes(identificador)
Apéndice A: Lista de casos de uso
122
Nombre del Caso de Uso: Seguimiento de tesistas.
Actores: Director de Tesis.
Descripción: El Director de Tesis entra al sistema, visualiza el seguimiento del proceso
de sus tesistas y presiona Terminar proceso.
Acción del actor Sistema
1.- Este caso de uso inicia cuando el
profesor ya se encuentra autentificado
en el sistema.
2.- El director de tesis selecciona
Seguimiento de tesistas.
3.- El sistema consulta la base de datos,
los nombres de los tesistas que tiene el
director de tesis, desplegándolos en una
lista.
4.- El profesor selecciona un tesista. 5.- El sistema consulta la base de datos
sobre el historial de las tareas del tesista,
despliega en una lista las tareas que se
llevan a cabo en el proceso de registro de
tesis y el estado en que se encuentran:
Activo, Terminado o No ha iniciado. En
caso de que se haya terminado el
proceso, se desplegará el botón Terminar
proceso.
6.-El profesor visualiza la información.
7.- El profesor selecciona Terminar
proceso.
8.- El sistema da de baja al tesista y borra
el historial de las tareas de éste. Se
almacenan, a manera de historial, el
nombre del tesista, director de tesis,
título de la tesis, descripción, palabras
clave, protocolo de tesis, los veredictos
Apéndice A: Lista de casos de uso
123
parciales y el veredicto final en la tabla
expediente.
Flujos alternativos
• En el punto 3 y 8 si se encuentra un error de acceso a la base de datos, el sistema
despliega un mensaje de error.
Apéndice A: Lista de casos de uso
124
Director de TesisDirector de Tesis seguimientoseguimiento func_wflowfunc_wflow Bas e de DatosBas e de Datos
selecciona_información_de_tesistas(identificador)
seg_prof()
info_tesista:= consulta_tesista(sql_alumno)
despliega_tesis tas()
selecciona_tesista()
seg_tesista(info_tesis)
despliega_lista_tareas(tareas)
tareas:=consulta_tareas(sql_tareas)
Apéndice A: Lista de casos de uso
125
Nombre del Caso de Uso: Seguimiento del proceso.
Actores: Tesista.
Descripción: El Tesista visualiza el estado en el que se encuentra su proceso de registro
de tesis y termina el proceso.
Acción del actor Sistema
1.- Este caso de uso inicia cuando el
tesista ya se encuentra autentificado
dentro del sistema.
2.- El tesista selecciona Seguimiento del
proceso.
3.- El sistema consulta la base de datos
sobre las tareas del proceso del tesista,
las despliega en una lista con el estado
en que se encuentra: Activo, Terminado o
No ha iniciado. En caso de que se haya
terminado el proceso, se desplegará el
botón Terminar proceso.
5.-El tesista visualiza la información del
proceso de registro de tesis.
6.- El tesista presiona Terminar proceso. 7.- El sistema da de baja al tesista,
elimina el proceso y almacena, a manera
de historial, el nombre del tesista,
director de tesis, título de la tesis,
descripción, palabras clave, protocolo de
tesis, los veredictos parciales y el
veredicto final en la tabla expediente.
Flujos alternativos
En el punto 3 si se encuentra un error de acceso a la base de datos, el sistema despliega
un mensaje de error.
Apéndice A: Lista de casos de uso
126
: Tesista seguimiento func_wflow Base de Datos
selecciona_seguimiento(identificador)
seg_tesista(info_tesis)
despliega_lista_tareas(tareas)
info_tesis:consulta_tesis(sql_tesis)
tareas:=consulta_tareas(sql_tareas)
Apéndice B: Diccionario de datos
127
Apéndice B: Diccionario de datos
En esta sección se presenta el diccionario de datos del sistema que controla el proceso de
registro de tesis.
En la tabla alumno se encuentran los datos personales de los alumnos que desean iniciar
el proceso de registro de tesis o de los tesistas cuyo proceso ya ha sido iniciado pero aún
no ha concluido.
TABLA ALUMNO
Campo Descripción Tipo de datos PK7 FK8
matricula Identificador único del alumno, asignado
por la universidad al ingresar a ella.
Entero X
director Identificador único del profesor, generado
por el sistema
Entero X
nombre Nombre(s). Cadena
ape_pat Apellido paterno. Cadena
ape_mat Apellido materno. Cadena
identificador Identificador del alumno en el sistema. Cadena X
nombre_carrera Nombre de la carrera. Cadena X
correo Correo electrónico. Cadena
7 Primary Key, llave primaria. 8 Foreign Key, llave foránea.
Apéndice B: Diccionario de datos
128
En la tabla profesor están los datos personales de los profesores que se encuentran
laborando dentro de la UTM.
TABLA PROFESOR
Campo Descripción Tipo de datos PK FK
num_codigo Identificador único del profesor, asignado
por el sistema.
Entero X
nombre_carrera Nombre de la carrera a la que pertenece el
profesor.
Cadena X
nombre Nombre(s). Cadena
ape_pat Apellido paterno. Cadena
ape_mat Apellido materno. Cadena
identificador Identificador del profesor en el sistema Cadena X
cargo Cargo que desempeña el profesor (jefe de
carrera o profesor).
Cadena
liga_pagina Liga de la página personal. Cadena
correo Correo electrónico. Cadena
linea_inv Línea de investigación en la que trabaja. Cadena
edo_prof Disponibilidad para dirigir tesis. Cadena
En la tabla carrera se encuentran las carreras que existen en la UTM, así como
información de las mismas.
TABLA CARRERA
Campo Descripción Tipo de datos PK FK
nombre_carrera Identificador único de la carrera en la base
de datos.
Entero X
formato Ruta del archivo que contiene el formato del
protocolo de tesis.
Cadena
proceso Ruta del archivo que contiene la descripción
del proceso de registro de tesis a seguir.
Cadena
Apéndice B: Diccionario de datos
129
En la tabla tesis están los datos del protocolo de tesis que van a ser utilizados para iniciar
el proceso de registro de tesis en la UTM.
TABLA TESIS
Campo Descripción Tipo de datos PK FK
num_tesis Identificador único de la tesis en la base de
datos.
Entero X
matricula Identificador único del alumno. Entero X
guion Descripción breve de los capítulos. Texto
forma Ruta donde se encuentra el documento de
formato de registro de tesis.
Cadena
protocolo Ruta donde se encuentra el documento de
protocolo de tesis.
Cadena
cronograma Ruta donde se guarda el archivo del
cronograma de actividades de la tesis.
Cadena
description Resumen del protocolo de tesis. Texto
title Título de la tesis. Cadena
fecha Fecha de inicio de registro. Fecha
subject Palabras clave de la tesis. Texto
edo_tesis Validez del tema de tesis, (aceptado o
rechazado).
Cadena
En la tabla tareas, se encuentra la descripción a realizar dentro del proceso de registro de
tesis, así como el nombre de la persona quien ejecuta la tarea.
TABLA TAREAS
Campo Descripción Tipo de datos PK FK
id_tarea Identificador único en la base de datos de las
tareas que se realizan durante el proceso de
registro de tesis.
Entero X
nombre Nombre de la tarea. Cadena
persona Nombre de la persona quien ejecuta la tarea. Cadena
Apéndice B: Diccionario de datos
130
La tabla tesis-tareas es utilizada para almacenar los datos de las tareas realizadas durante
el proceso de registro de tesis.
TABLA TESIS-TAREAS
Campo Descripción Tipo de datos PK FK
id_tarea Identificador único de las tareas que se
realizan durante el proceso de registro de
tesis.
Entero X X
num_tesis Identificador de la tesis a la que pertenecen
las tareas.
Entero X X
edo_tarea Estado de la tarea que se desarrollan, (activo,
terminado o no ha iniciado).
Cadena
En la tabla pendientes, se encuentran las tareas relacionadas con el proceso de registro de
tesis que los profesores tienen, pero aún no han realizado.
TABLA PENDIENTES
Campo Descripción Tipo de datos PK FK
id_pendientes Identificador único de la tarea pendiente en el
sistema.
Entero X
num_codigo Identificador del profesor al que le pertenece
la tarea pendiente.
Entero X
num_tesis Identificador de la tesis a la que pertenece el
proceso, de la cual se tiene que realizar la
tarea pendiente.
Entero X
id_tarea Identificador de la tarea pendiente a
desarrollar.
Entero X
fecha Fecha de inició de la tarea pendiente. Fecha
Apéndice B: Diccionario de datos
131
En la tabla doctos se encuentran los documentos de los veredictos parciales realizados
por los profesores, así como del veredicto final realizado por el jefe de carrera.
TABLA DOCTOS
Campo Descripción Tipo de datos PK FK
id_doctos Identificador único del documento que tiene
asociada una tesis.
Entero X
num_tesis Identificador único de la tesis a la cual
pertenecen los documentos.
Entero X
veredicto Ruta donde se almacena el documento del
veredicto.
Cadena
num_codigo Identificador del profesor quien da el
veredicto.
Entero X
comentario Comentario que da un profesor al revisar la
validez de un tema de tesis.
Texto
tipo_veredicto Puede ser parcial o final. Cadena
edo_parcial Estado parcial de la validez del tema de tesis,
puede ser: aceptado o rechazado.
Cadena
En la tabla usuario están los tipos de usuario que van a acceder al sistema.
TABLA USUARIO
Campo Descripción Tipo de datos PK FK
tipo_usuario Identificador único del usuario que indica el
tipo de usuario que accede al sistema.
Entero X
Apéndice B: Diccionario de datos
132
En la tabla identificación se encuentran los identificadores y contraseñas de los usuarios
en el sistema.
TABLA IDENTIFICACIÓN
Campo Descripción Tipo de datos PK FK
identificador Identificador único del usuario dentro del
sistema.
Cadena X
tipo_usuario Tipo de usuario al que pertenece el
identificador.
Cadena X
contrasena Contraseña del usuario para acceder al
sistema.
Cadena
La tabla funciones, como su nombre lo indica, se encuentran las funciones que puede
desempeñar cada tipo de usuario dentro del sistema.
TABLA FUNCIONES
Campo Descripción Tipo de datos PK FK
funciones Nombre de la función que puede desempeñar
el usuario. Identificador único de la función.
Cadena X
tipo_usuario Tipo de usuario que desempeña las funciones
en el sistema.
Cadena X
Apéndice B: Diccionario de datos
133
En la tabla publicaciones se encuentran las diferentes publicaciones que los profesores
han realizado.
TABLA PUBLICACIONES
Campo Descripción Tipo de datos PK FK
id_publicacion Identificador único de las publicaciones de
los profesores.
Entero X
num_codigo Identificador del profesor, el cual es el autor
de las publicaciones.
Entero X
tipo Tipo de publicación que se realiza, pueden
ser: seminario, artículo o ponencia.
Cadena
titulo Título de la publicación. Cadena
Apéndice B: Diccionario de datos
134
La tabla expediente contiene la información de las propuestas de tesis que ya han
terminado con el proceso de registro de tesis y que ya se les asignó un veredicto de
aceptado o rechazado.
TABLA EXPEDIENTE
Campo Descripción Tipo de datos PK FK
id_exp Identificador único del expediente. Entero X
matricula Identificador del alumno al que le pertenece
el expediente.
Entero
num_codigo Identificador del profesor que dirigió la tesis. Entero
nombre_carrera Nombre de la carrera que cursó el alumno. Cadena
forma Ruta donde se encuentra el documento del
formato de registro de tesis.
Cadena
protocolo Ruta donde se almacena el documento del
protocolo de tesis.
Cadena
description Resumen del protocolo de tesis. Texto
title Título de la tesis. Cadena
fecha Fecha de inicio de registro. Fecha
subject Palabras clave de la tesis. Texto
creator Nombre completo del autor de la tesis. Cadena
cotributor Nombre completo del director de tesis. Cadena
edo_tesis Estado final de la validez del tema de tesis:
aceptado o rechazado.
Cadena
ver_parcial1 Ruta del documento del veredicto parcial 1. Cadena
ver_parcial2 Ruta del documento del veredicto parcial 2. Cadena
ver_parcial3 Ruta del documento del veredicto parcial 3. Cadena
ver_final Ruta del documento del veredicto final. Cadena
Apéndice C: Pruebas de usabilidad
135
Apéndice C: Pruebas de usabilidad
Prueba 4: Identificarse en el sistema como jefe de carrera y registrar a un profesor.
4.1 Identifíquese en el sistema.
4.2 Registre un profesor.
La prueba fue fácil de realizar para los usuarios, las sugerencias se presentan en la Tabla
1.
Sugerencia Comentario
Eliminar algunos campos que se considera
los debe llenar el propio profesor al que
están registrando y no el jefe de carrera, ya
que puede desconocerlos.
No se aplicó, porque los datos obligatorios
tiene que conocerlos el jefe de carrera,
como lo es el nombre, apellidos y correo
electrónico.
Especificar el campo identificador,
indicando que se tiene que asignar un nuevo
identificador al profesor que está
registrando.
Se colocó una etiqueta abajo de la etiqueta
identificador indicando que se le tiene que
asignar une nueva contraseña al profesor.
Tabla 1. Sugerencias realizadas en la prueba 4.
Prueba 5: El profesor se identifica en el sistema, registra un tesista y una publicación.
5.1 Identifíquese en el sistema.
5.2 Registre un tesista.
5.3 Registre una publicación.
La prueba fue un poco confusa, se sugirieron los cambios que se presentan en la Tabla 2.
Apéndice C: Pruebas de usabilidad
136
Sugerencia Comentario
Explicar que se tiene que asignar un
identificador al tesista.
Se colocó un mensaje abajo del campo
identificador, que indica que es el
identificador del tesista.
Separar en dos páginas el alta y la
actualización, ya que se encuentran en una
sola. Para realizar las actualizaciones que
la búsqueda sea por nombre.
No se aplicó, debido a que la misma
forma es utilizada parta registrar un
profesor y una publicación.
Tabla 2. Sugerencias realizadas en la prueba 5.
Prueba 6: El tesista ingresa los datos de registro de tesis e inicia el proceso.
6.1 Identifíquese en el sistema.
6.2 Registre una tesis.
6.3 Inicie el proceso de registro de tesis.
La tarea causó un poco de confusión, las sugerencias se presentan en la Tabla 3.
Sugerencia Comentario
Explicar de qué se trata cada campo, pues
causa confusión el campo guión preliminar
y palabras clave.
Se cambiaron las etiquetas guión
preliminar por descripción de capítulos y
palabras clave, se colocó un mensaje que
explica que es del tema de tesis. Tabla 3. Sugerencias realizadas en la prueba 6.
Prueba 7: El tesista consulta la información de su proceso de registro de tesis.
7.1 Consulte el seguimiento de su proceso de registro de tesis.
7.2 Cierre sesión.
Apéndice C: Pruebas de usabilidad
137
La tarea fue fácil de realizar y no hubo sugerencias.
Prueba 8: El visitante realiza una búsqueda de protocolos de tesis.
8.1 Entre al sistema como visitante.
8.2 Realice una búsqueda de protocolo de tesis.
La tarea fue fácil de realizar y se propone realizar algunas mejoras que se presentan en la
Tabla 4.
Sugerencia Comentario
Hacer la búsqueda por autor de tesis. Si se aplicó.
Realizar un directorio con los profesores de
cada una de las carreras, donde se puedan
visualizar las tesis que han dirigido.
Si se aplicó.
Tabla 4. Sugerencias realizadas en la prueba 8.
Top Related