SISTEMA DE INFORMACIÓN WEB QUE ASISTE EL PROCESO...
Transcript of SISTEMA DE INFORMACIÓN WEB QUE ASISTE EL PROCESO...
SISTEMA DE INFORMACIÓN WEB QUE ASISTE EL PROCESO DE RADICACION Y
SEGUIMIENTO DE PROYECTOS DE GRADO DE LA ESPECIALIZACIÓN EN
INGENIERÍA DE SOFTWARE DE LA UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE
CALDAS
DIEGO DAYIBER MURILLO GALVIS
JAVIER MOSQUERA DÍAZ
HUGO LEONARDO BARRAGÁN BOHÓRQUEZ
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD DE INGENIERIA
ESPECIALIZACIÓN EN INGENIERÍA DE SOFTWARE
BOGOTA, COLOMBIA
2015
SISTEMA DE INFORMACIÓN WEB QUE ASISTE EL PROCESO DE RADICACION Y
SEGUIMIENTO DE PROYECTOS DE GRADO DE LA ESPECIALIZACIÓN EN
INGENIERÍA DE SOFTWARE DE LA UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE
CALDAS
Presentado por:
DIEGO DAYIBER MURILLO GALVIS
JAVIER MOSQUERA DÍAZ
HUGO LEONARDO BARRAGÁN BOHÓRQUEZ
TESIS REALIZADA COMO
REQUISITO PARA OPTAR AL
TÍTULO DE ESPECIALISTA EN
INGENIERÍA DE SOFTWARE
Director:
MSC. ALEXANDRA ABUCHAR PORRAS
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD DE INGENIERIA
PROYECTO CURRICULAR
COLOMBIA
2015
i
ADVERTENCIA
UNIVERSIDAD FRANCISCO JOSÉ DE CALDAS
Especialización en Ingeniería de Software
Bogotá, D.C. – 2015
Todos los contenidos de esta tesis son producto de la contribución intelectual de los autores,
los datos y referencias a materiales ya publicados están debidamente identificados con su
respectivo crédito e incluidos en las referencias bibliográficas y en las citas que se mencionan y en
los casos que así lo requiera, contamos con las debidas autorizaciones de quienes poseen los
derechos patrimoniales.
Por lo anterior declaramos que todos los materiales que se presentan están totalmente libres
de derechos de propiedad intelectual, exonerando de responsabilidades a la Universidad Distrital
Francisco José de Caldas.
En virtud de lo previsto en los artículos 76 t 77 de la ley 23 de 1982 de la República de
Colombia y las demás normas internacionales sobre Derechos de Autor, y en caso de ser publicada
la Tesis por la Universidad; está podrá disponer en toda su extensión para realizarse en forma
electrónica (digital).
Por medio de la presente autorizamos a la Universidad Distrital Francisco José de Caldas para
publicar en formato digital con las seguridades pertinentes, tanto en red local como en la gran red
Internet, en sitio web de la Universidad o en hosting especial para ello, siempre y cuando se haga
sin fines de lucro y con el fin de divulgar el conocimiento a la comunidad académica y científica
nacional e internacional de acuerdo con las condiciones establecidas, a fin que la investigación
realizada pueda continuar y ser ampliada en caso necesario.
Para constancia de lo anteriormente expuesto, firmamos esta declaración:
Firma: _______________________ Firma: _______________________
Nombre: Diego Dayiber Murillo Nombre: Javier Mosquera Díaz
C.C. C.C.
Firma: _______________________
Nombre: Hugo Leonardo Barragán
C.C.
ii
Universidad Distrital Francisco José de Caldas
Especialización en Ingeniería de Software
Diseño e Implementación del Sistema de Información TheSys
Diego Dayiber Murillo Galvis
Javier Mosquera Díaz
Hugo Leonardo Barragán Bohórquez
Tesis presentada para optar el título de
Especialista en Ingeniería de Software
__________________________
__________________________
__________________________
__________________________
Director
__________________________
__________________________
__________________________
__________________________
Jurado
__________________________
__________________________
__________________________
__________________________
Jurado
Bogotá, D.C., 2015
iii
AGRADECIMIENTOS
Los autores desean expresar su sentimiento de gratitud a sus familias, por su constante apoyo
en nuestras labores académicas, a los docentes Alexandra Abuchar Porras quien fue la directora
del proyecto, Sandro Bolaños quien fue el revisor del proyecto; y en general a todos aquellos que
a través de las asignaturas vistas en el curso de los estudios de Especialización en Ingeniería de
Software en la Universidad Distrital nos dieron las herramientas y consejos necesarios para el
desarrollo del proyecto aquí presentado.
iv
DEDICATORIA
Dedicamos este trabajo a Dios por darnos cada día la bendición de un nuevo día más de vida,
a nuestras familias por su apoyo constante y por ser parte de la motivación que nos impulsa a lograr
nuestros propósitos en esta especialización, a nuestros docentes y compañeros de estudio por
compartir sus experiencias y permitirnos crecer con ellas, finalmente los integrantes de este trabajo
por su esfuerzo y dedicación en la realización de mismo.
v
RESUMEN
Libro de tesis de grado radicado en la Universidad Distrital Francisco José de Caldas para
optar al título de Especialista en Ingeniería de Software de la Facultad de Ingeniería. El proyecto
aborda todas las etapas del ciclo de vida básico para el desarrollo de un sistema de información
web que apoye el proceso de radicación de proyectos de grado de los estudiantes de la
Especialización en Ingeniería de Software de la Universidad Distrital Francisco José de Caldas,
este sistema apoya y respalda el proceso de asignación de directores y revisores, el proceso de
seguimiento y ofrece herramientas funcionales que apoyen la gestión de búsqueda de los proyectos
existentes para contar con estos en referencia sobre estado del arte o para continuar la investigación
que los primeros iniciaron.
Desarrollar este proyecto implicó el uso de métodos y herramientas de desarrollo que
permitieron aplicar los conocimientos adquiridos durante el curso de la especialización, para este
desarrollo se utilizaron metodologías de desarrollo XP y diferentes lenguajes de programación
entre los cuales se encuentra Archimate para el desarrollo de los modelos de los puntos de vista de
la arquitectura del sistema a nivel de negocio, aplicación e infraestructura. Finalmente se detalla el
proceso de gestión de proyectos que se lleva a cabo dentro de la coordinación de la Especialización
en Ingeniería de Software y se identifica la importancia de aplicar herramientas de tecnología que
le aporten mayor eficiencia en tiempo, costos y disponibilidad respecto a los procedimientos
establecidos en dicho proceso.
vi
ABSTRACT
Thesis book submitted at the District University Francisco Jose de Caldas, in accordance with
the requirements of the degree of Specialist in Software Engineering of the Engineering Faculty.
The project approaches all the stages of the lifecycle for the development of a Web information
system, which supports the file process of the grade projects of the students of the program of
Software Engineering Specialization, of the District University Francisco Jose de Caldas, this
system supports the revisers and directors assignment and the tracing processes, and presents
functional tools that support the historical projects searching for the students to have an state-of-
art reference in order to continue those investigations.
To develop this project, it was necessary the usage of methods and tools of software
development, that made possible to apply the knowledge acquired across the study of the
specialization. For this development it was used the XP software development method and different
kinds of programming languages which include Archimate for the design of the different system
architecture viewpoints at the business, application and infrastructure level. Finally it is detailed
the whole projects gestion process which is made inside the Coordination of the Software
Engineering Specialization and it is identified the value of using technological tools that improves
more time, cost and availability efficiency compared to the process originally formulated.
vii
TABLA DE CONTENIDO
1. CAPITULO 1 .................................................................................................................... 2
1.1 Introducción ............................................................................................................... 2
1.2 Justificación ................................................................................................................ 2
1.2.1 Metodológica ............................................................................................... 2
1.2.2 Practica ........................................................................................................ 2
1.3 Objetivos .................................................................................................................... 3
1.3.1 Objetivo General .......................................................................................... 3
1.3.2 Objetivos Específicos .................................................................................. 3
2. CAPITULO 2 .................................................................................................................... 4
2.1 Estudio del problema .................................................................................................. 4
2.1.1 Planteamiento del problema ........................................................................ 4
2.1.2 Formulación del Problema ........................................................................... 5
2.1.3 Sistematización del Problema ...................................................................... 5
3. CAPITULO 3 .................................................................................................................... 6
3.1 Marco Teórico ............................................................................................................ 6
3.1.1 Proyecto de Grado ....................................................................................... 6
3.1.2 Reglamentación de los Proyectos de Grado ................................................ 7
3.1.3 Directores y Revisores ................................................................................. 7
viii
3.2 Marco Conceptual ...................................................................................................... 7
3.2.1 Sistema de Información ............................................................................... 7
3.2.2 MVC ............................................................................................................ 7
3.2.3 Aplicación Web ........................................................................................... 7
3.2.4 Internet ......................................................................................................... 8
3.2.5 Software Libre ............................................................................................. 8
3.2.6 UML ............................................................................................................ 8
3.2.7 Arquitectura de Software ............................................................................. 8
3.2.8 Archimate .................................................................................................. 10
3.3 Marco Espacial ......................................................................................................... 11
3.4 Marco Temporal ....................................................................................................... 11
4. CAPITULO 4 .................................................................................................................. 12
4.1 Tipo de Estudio ........................................................................................................ 12
4.2 Método de Investigación .......................................................................................... 12
4.2.1 Fases de gestión del proyecto .................................................................... 13
4.2.2 Desarrollo del proyecto .............................................................................. 15
4.3 Fuentes y Técnicas para Recolección de Información ............................................. 20
4.3.1 Fuentes Primarias ....................................................................................... 20
4.3.2 Fuentes Secundarias ................................................................................... 20
4.3.3 Recolección de la Información .................................................................. 21
ix
4.3.4 Tratamiento de la Información .................................................................. 21
5. CAPITULO 5 .................................................................................................................. 23
5.1 Contexto Arquitectónico .......................................................................................... 23
5.1.1 Análisis contextual ..................................................................................... 23
5.1.2 Interesados y sus Preocupaciones .............................................................. 24
5.1.3 Puntos de Vista Estándar en Archimate ..................................................... 25
5.2 Desarrollo del Proyecto ............................................................................................ 37
5.2.1 Gestión ....................................................................................................... 37
5.2.2 Planificación del proyecto ......................................................................... 37
5.2.3 Implementación ......................................................................................... 38
5.2.4 Pruebas ....................................................................................................... 39
CONCLUSIONES .................................................................................................................. 40
PROSPECTIVA ..................................................................................................................... 41
BIBLIOGRAFIA .................................................................................................................... 42
ANEXO 1. ACTAS DE REUNIONES .................................................................................. 44
ANEXO 2. PLANIFICACIÓN DEL PROYECTO ................................................................ 45
Descripción de la Iteración 1 .............................................................................................. 45
Descripción de la Iteración 2 .............................................................................................. 48
Descripción de la Iteración 3 .............................................................................................. 50
Descripción de la Iteración 4 .............................................................................................. 53
x
Descripción de la Iteración 5 .............................................................................................. 55
ANEXO 3. PLANEACIÓN DE BASE DE DATOS .............................................................. 57
ANEXO 4. MODELO ENTIDAD RELACIÓN .................................................................... 59
Modelo Entidad Relación.................................................................................................... 59
Diccionario de Datos ........................................................................................................... 59
ANEXO 5. IMPLEMENTACIÓN DE AGREGACIÓN DE RECURSOS AL SISTEMA
(BASE DE DATOS) ...................................................................................................................... 70
ANEXO 6. PRUEBA DE BASE DE DATOS ....................................................................... 78
ANEXO 7. PLANIFICACIÓN DE PRUEBAS ..................................................................... 79
1
TABLA DE ILUSTRACIONES
Figura 1. Esquema Metodológico para el Proyecto. ............................................................... 13
Figura 2. Diagrama de Organización. ..................................................................................... 26
Figura 3. Diagrama de función de negocio. ............................................................................ 27
Figura 4. Diagrama de proceso actual. ................................................................................... 28
Figura 5. Diagrama de modelo propuesto de solución ........................................................... 30
Figura 6. Diagrama de infraestructura. ................................................................................... 31
Figura 7. Diagrama de capas. ................................................................................................. 33
Figura 8. Diagrama de Realización de Objetivos. .................................................................. 34
Figura 9. Diagrama de realización de requerimientos. ........................................................... 35
Figura 10. Diagrama de motivación. ...................................................................................... 36
Figura 11. Diagrama de migración e implementación. ........................................................... 36
2
1. CAPITULO 1
1.1 Introducción
Para la coordinación de la Especialización en Ingeniería de software de la Universidad
Distrital Francisco José de Caldas, es importante realizar de forma adecuada y ágil, todos los
procesos de gestión de proyectos de grado, permitiendo de esta manera que los involucrados en
dicho proceso realicen su participación de forma adecuada y eficiente, y que las labores realizadas
desde la coordinación y los servicios ofrecidos en este ámbito a los estudiantes de las
especializaciones sea eficaz y siempre en pro de hacer que su proceso de radicación de proyecto de
grado tenga la gestión y el seguimiento necesario para garantizar que sus propuestas sean atendidas
y tomadas en cuenta de una forma profesional y correcta.
1.2 Justificación
1.2.1 Metodológica
Desarrollar un sistema de información que permita la gestión de proyectos de grado y agilizar
las actividades que rodean este proceso, ya que actualmente todas se realizan de forma manual y
presencial, por esta razón, el desarrollo del sistema propuesto contribuirá al mejoramiento de las
actividades de gestión de proyectos de grado desde la coordinación de la Especialización en
Ingeniería de Software.
1.2.2 Practica
El desarrollo de un sistema de información, que apoye el proceso de gestión de proyectos de
grado en la coordinación de la Especialización en Ingeniería de Software, y permitirá a las
3
directivas, estudiantes, directores de proyectos y revisores de los mismos, adelantar un proceso
adecuado puesto que con una herramienta tecnológica se realizaran dichas operaciones,
comunicándolas en tiempo real, ahorrando tiempos de desplazamiento, costos y gestión de la
información de los proyectos radicados. Además, ofrecerá a las directivas una herramienta que
permita la gestión de la información de los proyectos de grado y al mismo contar con un buscador
de proyectos para el apoyo de futuras propuestas de grado de nuevos estudiantes.
1.3 Objetivos
1.3.1 Objetivo General
Mejorar el proceso de gestión de los proyectos de grado de la Especialización en Ingeniería
de Software de la Universidad Distrital Francisco José de Caldas mediante la implementación de
un sistema de información web, permitiendo tener un mayor seguimiento sobre el estado de los
proyectos de grado y manteniendo informados a los involucrados en el mismo.
1.3.2 Objetivos Específicos
1. Agilizar el proceso de radicación de proyectos de grado mediante la creación de un
sistema de información web, logrando que este sea un proceso más eficiente y fácil de
usar por parte de los involucrados.
2. Mejorar el proceso de asignación de directores y revisores de los proyectos de grado
con el fin de hacer de éste un proceso eficiente y ágil, ofreciendo esta funcionalidad en
el sistema de información web.
3. Proporcionar un proceso de verificación y seguimiento de los proyectos de grado a
través del sistema de información web con el fin de mantener informados a todos los
involucrados sobre el estado del mismo y facilitando la comunicación entre estos.
4
2. CAPITULO 2
2.1 Estudio del problema
2.1.1 Planteamiento del problema
Actualmente la Universidad Distrital Francisco José de Caldas cuenta con veintidós
especializaciones en diferentes ámbitos del conocimiento, dichas ofertas académicas generan para
cada periodo un grupo amplio de estudiantes que para optar por un título de especialistas tienen
como requisito presentar y radicar sus proyectos de grado para la gestión y seguimiento de los
mismos, actualmente en la coordinación de la Especialización de Ingeniería de Software, no se
cuenta con una herramienta que permita la adecuada gestión y seguimiento del proceso de
radicación, asignación y seguimiento de proyectos de grado, de momento todos los procesos se
realizan de forma manual, y el canal de comunicación se realiza mediante correos electrónicos
dirigidos de esta misma manera o mediante información presencial, no existe un control sobre el
seguimiento o trabajo realizado por parte de los directores de proyectos de tesis, los revisores del
proyecto y tampoco los avances o versiones entregados por los estudiantes a las modificaciones
realizadas en sus correspondientes proyectos de grado.
Se ha evidenciado que el número de estudiantes egresados cada periodo hace que el archivo
de radicación de proyectos de grado crezca de forma considerable y, de mantenerse esta forma de
manejo que se ofrece al proceso de radicación de proyectos, prontamente se encontrará que estas
faltas de organización y sistematización causarán perdidas de información y demoras en las
gestiones que engloban todo el proceso de gestión de proyectos de grado de la Especialización en
5
Ingeniería de Software, para ofrecer un control a las condiciones actuales, se plantea el desarrollo
de un sistema de información que permita la gestión de radicación de proyectos de grado para las
especializaciones previamente referenciadas, este sistema permitirá la radicación y codificación de
los proyectos de grado, además de la asignación de directores y revisores de dichos proyectos,
realizar seguimiento de los cambios y sugerencias realizados al documento de proyecto por parte
de los involucrados, finalmente el proceso de comunicación se realizará automáticamente desde el
sistema, permitiendo de esta manera mantener constantemente actualizados a los actores
involucrados en el proceso de gestión de proyectos de grado.
2.1.2 Formulación del Problema
¿El proceso de gestión de proyectos de grado de la Especialización en Ingeniería de Software
podrá ser mejorado mediante el desarrollo de un sistema de información?
2.1.3 Sistematización del Problema
1. ¿Podrá un sistema de información hacer más ágil el proceso de radicación de proyectos
de software?
2. ¿Podrá un sistema de información permitir que el proceso de asignación de directores
y revisores de proyectos de grado se realice de manera eficiente y ágil?
3. ¿Se podrá mediante un sistema de información, permitir que el proceso de verificación
y seguimiento de los proyectos de grado se realice de manera eficiente y que la
comunicación entre los involucrados del proyecto se efectúe de una manera adecuada?
6
3. CAPITULO 3
3.1 Marco Teórico
El desarrollo de proyectos de grado en la Especialización de Ingeniería de Software, se da
como complemento al establecimiento de iniciativas profesionales que estén alienadas de acuerdo
a lo enunciado en el reglamento estudiantil en el capítulo 1 artículo3, literal B, en el que se define
como uno de los objetivos de la especialización, que todos los estudiantes de las especializaciones
se deberán preparar para contribuir al mejoramiento de la calidad académica de la Universidad
Distrital y responder a los requerimientos del progreso de la ciencia y la ingeniería, así como a las
necesidades sociales del país, debido a lo anterior se contempla el desarrollo del sistema de
información como una forma de aportar al mejoramiento de la calidad académica, abordando de
esta manera el alcance de las normativas que enmarcan el proceso de radicación de proyectos de
grado en la Especialización de Ingeniería de Software, artículos normativos que se detallan a
continuación.
3.1.1 Proyecto de Grado
La Universidad Distrital Francisco José de Caldas define el trabajo de grado como: “El Trabajo
de Grado es un proceso formativo que hace parte del plan de estudios desarrollado por el estudiante
y le conduce a la obtención de un resultado final que ha de presentar, para optar a un título
universitario, en cumplimiento del requisito establecido en el artículo 70 del acuerdo 027 de1993
del Consejo Superior Universitario. Contribuye en la formación integral del estudiante de pregrado
a su preparación para el desempeño profesional, ampliando las posibilidades de investigación,
creación, desarrollo tecnológico, innovación y proyección social”.
7
3.1.2 Reglamentación de los Proyectos de Grado
De acuerdo al artículo 21 del reglamento estudiantil para posgrados de la facultad de
ingeniería, se define lo siguiente: “El Consejo de Facultad reglamentará las formas de presentación
de los proyectos de trabajo de grado y señalará las normas y procedimientos acerca del diseño,
elaboración, presentación y corrección de los trabajos de grado propiamente.”
3.1.3 Directores y Revisores
De acuerdo al artículo 22 del reglamento estudiantil para posgrados de la facultad de
ingeniería, se define lo siguiente: “Todo trabajo de grado tendrá un Director y un Jurado
Calificador, compuesto por un mínimo de dos (2) profesores del programa, nombrados por el
Consejo de Postgrado.”
3.2 Marco Conceptual
3.2.1 Sistema de Información
Un sistema de información es un conjunto de elementos (equipos computacionales, recursos
humanos, datos e información y software) que interactúan entre sí para apoyar las actividades de
una organización.
3.2.2 MVC
El Modelo-Vista-Controlador (MVC) es un patrón de arquitectura de software que separa los
datos y la lógica de negocio (Modelo) de una aplicación de la interfaz de usuario (Vista) y el
módulo encargado de gestionar los eventos y las comunicaciones (Controlador).
3.2.3 Aplicación Web
En la ingeniería de software se denomina aplicación web a aquellas herramientas que los
usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet
8
mediante un navegador. En otras palabras, es una aplicación software que se codifica en un
lenguaje soportado por los navegadores web en la que se confía la ejecución al navegador.
3.2.4 Internet
Internet es un conjunto descentralizado de redes de comunicación interconectadas que utilizan
la familia de protocolos TCP/IP, lo cual garantiza que las redes físicas heterogéneas que la
componen funcionen como una red lógica única, de alcance mundial.
3.2.5 Software Libre
Según la FSF (Free Software Foundation), software libre es el software que respeta la libertad
de los usuarios y la comunidad. En grandes líneas, significa que los usuarios tienen la libertad para
ejecutar, copiar, distribuir, estudiar, modificar y mejorar el software. Un programa es software libre
si los usuarios tienen las cuatro libertades esenciales: libertad de ejecutar el programa como se
desea, con cualquier propósito; libertad de estudiar cómo funciona el programa, y cambiarlo para
que haga lo que usted quiera (el acceso al código fuente es una condición necesaria para ello);
libertad de redistribuir copias para ayudar a su prójimo y libertad de distribuir copias de sus
versiones modificadas a terceros.
3.2.6 UML
“UML (Lenguaje Unificado de Modelado) permite a los creadores de sistemas generar diseños
que capturan sus ideas en una forma convencional y de fácil comprensión para comunicarlas a otras
personas”.
3.2.7 Arquitectura de Software
Según el estándar ISO 42010 la arquitectura de software es el proceso de concebir, definir,
expresar, documentar y certificar la implementación y mejora de un sistema a través de su ciclo de
9
vida. Adicionalmente según ese estándar los sistemas se representan a través de sus conceptos
fundamentales o propiedades en su ambiente representadas en sus elementos, relaciones, y los
principios de su diseño y evolución.
En los siguientes numerales se listan algunos conceptos básicos utilizados en el desarrollo del
proyecto.
3.2.7.1 Interesados
Un interesado o Stakeholder Persona, equipo, organización o sus clases, que tienen algún
interés en un sistema.
3.2.7.2 Preocupaciones
Una preocupación o Concern es un interés en un sistema relevante a uno o más interesados, a
continuación se listan ejemplos típicos de interesados y sus preocupaciones:
Gerencia de alto nivel: ¿Cómo podemos asegurar que nuestras políticas son seguidas
en el desarrollo y operación de los procesos y sistemas? ¿Cuál es el impacto de las
decisiones en las distintas áreas de la empresa (persona, finanzas, IT, etc.)?
Gerente operacional: Responsable de la explotación o el mantenimiento: Por ejemplo,
¿De Cuales tecnologías nuevas se requiere preparación? ¿Hay alguna necesidad de
adaptar los procesos de mantenimiento? ¿Cuál es el impacto de los cambios de las
aplicaciones existentes? ¿Qué tan seguros son mis sistemas?
Gerente de proyecto: Responsable del desarrollo de nuevas aplicaciones: ¿Cuáles son
los dominios relevantes y sus relaciones? ¿Cuál es la dependencia de los procesos de
negocio de las aplicaciones a ser construidas? ¿Cuál es su desempeño esperado?
Desarrollador: ¿Cuáles son las modificaciones respecto de la situación actual que
necesitan ser realizadas?
10
3.2.7.3 Puntos de Vista
Cada interesado tiene unas preocupaciones que pueden ser exclusivos o comunes a otros
interesados, dichas preocupaciones se deben caracterizar desde distintas perspectivas o vistas de
arquitectura. El estándar de representación de dichas vistas se denomina un punto de vista.
Los puntos de vista se clasifican de acuerdo a su propósito en:
Diseño: Los puntos de vista de diseño dan soporte a los arquitectos y diseñadores en
el proceso de diseño, desde las plantillas iniciales hasta el diseño detallado.
Típicamente los tipos de puntos de vista de diseño consisten en diagramas, como
aquellos utilizados por ejemplo en UML.
Decisión: Los puntos de vista apoyan a los gerentes en el proceso de toma de
decisiones a través de la revisión de las relaciones transversales de arquitectura,
típicamente a través de proyecciones e intersecciones de los distintos modelos, aunque
también por medio de técnicas analíticas. Ejemplos típicos son las tablas de referencia
cruzadas, mapas de paisaje (Landscape), listas y reportes.
Informe: Los puntos de vista de informe ayudan a informar a cualquier interesado de
la arquitectura empresarial, con el objetivo de lograr un entendimiento, lograr
compromisos, y convencer a detractores. Ejemplos típicos son ilustraciones,
animaciones, caricaturas, etc.
3.2.8 Archimate
Archimate es un lenguaje grafico estándar abierto de la organización Open Group que fue
desarrollado para describir, analizar y visualizar las relaciones entre elementos pertenecientes a
distintos dominios de una arquitectura empresarial de una forma no ambigua.
Los dominios definidos y representados por Archimate se listan a continuación:
11
Negocio: Todo lo relacionado con los procesos de negocio, así como los roles y actores
que intervienen en ellos.
Aplicación: Todo los relacionado con las aplicaciones de software utilizadas para
apoyar los procesos de negocio.
Infraestructura: Todo los relacionado con la infraestructura física que soporta las
aplicaciones utilizadas en los procesos de negocio.
Motivacionales: Todo lo relacionado con los aspectos que motivan el diseño y la
operación de la empresa, más exactamente como se alinea la operación de los procesos
de negocio y tecnológicos con los objetivos estratégicos de la empresa.
3.3 Marco Espacial
El desarrollo será llevado a cabo en la Universidad Distrital Francisco José de Caldas,
directamente en la coordinación de la Especialización de Ingeniería de Software de la facultad de
ingeniería.
3.4 Marco Temporal
La implementación de la solución propuesta en este documento comprenderá un periodo de
ejecución establecido entre Enero y Junio de 2015.
12
4. CAPITULO 4
4.1 Tipo de Estudio
Esta investigación es de tipo Experimental ya que presenta la manipulación de diferentes
variables no comprobadas en condiciones controladas, la idea de esta investigación es experimentar
sobre el proceso de radicación y gestión de proyectos de grado para identificar formas de mejorar
dicho proceso. Esta investigación también tiene estudios de tipo Exploratoria ya que este indaga
sobre una perspectiva innovadora, y prepara el terreno para nuevos estudios. La metodología de
investigación para este proyecto será la siguiente:
1. Identificación y definición del problema.
2. Definición de variables.
3. Diseño de un plan experimental.
4. Realización de experimentos.
5. Tratamiento de datos.
6. Presentación de Informe
4.2 Método de Investigación
Para la implementación del sistema TheSys, se utilizó la metodología de desarrollo XP, por
ser rápida, eficiente y detallada en los diferentes aspectos de requerimientos necesarios para
cualquier solución.
En la metodología XP, se habla de Iteraciones, de Historias y de Tareas, entendiéndose estas
primeras como fases, las segundas como requerimientos y las terceras como las actividades que se
13
deben realizar para cada requerimiento, en la Figura 1 se muestra el diagrama general de la
estructura de desglose de trabajo del ciclo de un proyecto típico manejado según XP.
4.2.1 Fases de gestión del proyecto
Figura 1. Esquema Metodológico para el Proyecto.
4.2.1.1 Gestión del proyecto
En la fase inicial del proyecto se hace un acercamiento global del proyecto que se quiere
realizar, en este punto se presentan las necesidades y el nivel de importancia de cada una de las
actividades requeridas.
4.2.1.1.1 Planificación del Proyecto
En la planificación del proyecto se toman todas las necesidades obtenidas y se determinan las
diferentes iteraciones a desarrollar.
14
Planificación Inicial: Durante esta etapa, se recopilará, analizará y clasificará la
información del proceso de gestión de proyectos de grado en la coordinación de la
especialización. También se describirán las ideas iníciales que se tienen acerca del
proyecto.
Iteraciones: En este documento de presentación se mostrará una descripción de las
historias llevadas a cabo en esta iteración, junto con sus pruebas funcionales,
capturas de pantalla y finalmente las incidencias que hubo en esta iteración.
Historia: En este nivel de la metodología se definirán las Historias ò
requerimientos pertenecientes a cada iteración o fase.
Tarea: Serán las diferentes actividades que se van a realizar para poder llevar a cabo
una historia.
4.2.1.2 Implementación
El proceso de implementación consiste en llevar a cabo cada uno de las fases planeadas dentro
de la gestión del proyecto, en estas se abordan los temas relacionados con la base de datos, las
interfaces de usuarios, la modulación del sistema a desarrollar y los diferentes reportes que se
requieran para cumplir con lo establecido en la gestión.
Una vez finalizado el desarrollo de cada ítem de gestión propuesto se deben realizar pruebas
del desarrollo.
4.2.1.2.1 Bases de datos
La base de datos debe estar obligatoriamente incluida en la planificación de la gestión del
proyecto, ya que es indispensable contar con ésta para el desarrollo del sistema de información.
Planificación: Para el desarrollo de la base de datos en necesario conocer los diferentes
módulos que se requieren implementar en el sistema a desarrollar, para esto en
15
indispensable conocer los diferentes requerimientos del software, además es
indispensable definir en este punto el motor de bases de datos que se implementará en
el sistema.
Implementación: El proceso de implementación de la base de la base de datos consta
de la elaboración del modelo entidad relación, los script necesarios para la creación
real de la base de datos, cumpliendo con todas las características identificadas en el
MER propuesto, por último de la implementación surge el diccionario de datos del
sistema, que debe ser incluido en la documentación técnica del proyecto.
Pruebas: En las pruebas de bases de datos consiste en identificar que las entidades de
la base de datos creada cubren todas las necesidades de los diferentes requerimientos
indicados para el proyecto a desarrollar.
4.2.1.2.2 Elaboración de código fuente
Actividad en la cual se lleva a cabo la construcción de la interfaces de usuario de las cuales se
compone el sistema TheSys.
4.2.2 Desarrollo del proyecto
4.2.2.1 Gestión
En todo el transcurso de la gestión del proyecto se utiliza el formato del acta de avances
mostrado en la Tabla 1, tal formato sirve como herramienta para registrar las reuniones a realizar
tanto internas como externas, que se utilizan como guía para registrar el estado del proyecto y la
planeación hecha en cada reunión
16
Tabla 1. Acta de avances del proyecto.
Acta de Avances de Desarrollo del Proyecto
Fecha: Hora Inicio: Hora Fin:
Participantes: Lista de participantes de la reunión.
Temas de Avance: ítems de temas a tratar en la reunión.
Compromisos: Nuevas actividades que surgen durante la reunión y se asigna a un responsable.
Conclusiones: Resultado al que se llega una vez revisados los ítems propuestos en los temas de
avance.
4.2.2.2 Planificación del proyecto
Los siguientes son los diferentes formatos a través de los cuales se realizará la entrega formal
de la planificación del proyecto.
Tabla 2. Planificación de Iteraciones.
Planificación de Iteraciones
Iteración:1
Usuario: Usuario(s) responsable(s) de esta fase o iteración
Nombre Iteración: Nombre de la iteración o fase.
Prioridad en negocio:
(Alta/ Media / Baja)
Riesgo en desarrollo:
(Alta/ Media / Baja)
Historias estimadas: #
Programadores responsables: Nombre de los programadores o personas responsables de las
historias de esta fase.
Descripción:
Descripción detallada de la iteración
Lista de Historias Estimadas:
Todas las posibles historias que se estimen para esta iteración
17
Observaciones:
Todas las observaciones que se tengan de iteración.
Tabla 3. Planificación de Historias.
Planificación de historias [Usuario]
Número:1 Usuario: Usuario que interviene en la actividad
Nombre historia: Nombre de la historia o requerimiento
Prioridad en negocio:
(Alta/ Media / Baja)
Riesgo en desarrollo:
(Alta/ Media / Baja)
Tareas
estimadas: #
Iteración asignada: #
Programador responsable: Nombre del programador o persona responsable de la actividad
Descripción:
Descripción detallada de la Historia
Observaciones:
Todas las observaciones que se tengan de la historia o requerimiento.
Tabla 4. Planificación de Tareas.
Planificación de tareas
Número tarea: 2
Número historia: 1
Puntos estimados: 5
Nombre tarea: Nombre de la tarea a realizar
Fecha inicio: dd / mes / aaaa Fecha fin: dd / mes / aaaa
Programador responsable: Equipo o persona responsable
Descripción:
Comprobación que la definición establecida para la base de datos admite los campos que se leen
del fichero de entrada, realizando las oportunas modificaciones.
18
4.2.2.3 Implementación
Para el desarrollo del proyecto teniendo en cuenta la metodología planteada eXtreme
Programming XP se dividirá la etapa de implementación en: bases de datos, interfaces de usuario
y pruebas. Cada una de estas etapas tiene un ciclo interno de planeación, implementación y pruebas.
De esta manera se asegura el mantenimiento de un correcto ciclo de vida de acuerdo a los
lineamientos planteados en la planeación inicial.
4.2.2.3.1 Bases de datos
Planeación: En la planeación de la base de datos, se analizan las entidades necesarias
para cumplir con cada una de las iteraciones planeadas en el documento de gestión. En
la Tabla 5 se muestra la plantilla del formato a utilizar en la planeación.
Tabla 5. Planeación de Bases de Datos.
Planeación de Bases de datos
Nombre del Módulo Entidades de BD
Relacionadas
Observaciones
Ciudades
Departamentos
Ciudades
La entidad ciudades incluye
como llave foránea la llave
primaria de la entidad
departamentos.
Implementación: Para la implementación de la base de datos se definen los scripts de
las tablas identificadas en la planeación y su correspondiente MER Tales artefactos se
registran en un documento cuya plantilla se muestra en la Tabla 6.
Tabla 6. Implementación de recursos al sistema Bases de Datos.
Implementación de recursos al sistema [Bases de Datos]
Nombre historia: Nombre de la historia o requerimiento
Iteración asignada: # Numero historia: # Tareas cumplidas con este
agregado:
# Programador responsable: Nombre del programador o persona responsable de la actividad
19
Descripción:
Descripción detallada del módulo agregado
Respaldos:
Scripts correspondientes a las entidades agregadas.
Imagen del modelo agregado al sistema:
• Pruebas: La pruebas de integridad de las bases de datos a diseñar e implementar se registran
en un documento cuya plantilla se muestra en la Tabla.
Pruebas de Bases de datos
Modulo Normalización
Adecuada
Llaves primarias,
Foráneas e índices
definidos
Diccionario de
datos definido
para la tabla
Observaciones
Si No Si No Si No
4.2.2.4 Pruebas
Muestra el entregable formal de la etapa en el cual se detallan: Número de tarea, historia e
interacción, encargado de la prueba, nombre de tarea, descripción, datos de entrada, resultado
esperado y evaluación de la prueba. Dichas pruebas se registran en un documento cuyo formato se
muestra en la Tabla 7.
Tabla 7. Planificación de Pruebas.
Planificación de pruebas
Número tarea: 2 Número historia: 1 Iteración:1
Encargado de prueba: Equipo o persona responsable
Nombre de tarea: Desarrollo / Corrección / Mejora / Verificación
Descripción:
Descripción de las funcionalidades que presenta la tarea a testear.
20
Condiciones de ejecución:
Condiciones iníciales para poder ejecutar correctamente la tarea.
Datos de entrada:
Datos o parámetros de entrada para la el correcto funcionamiento de la tarea.
Resultado esperado:
Resultado esperado después de realizar la prueba con las entradas establecidas.
Evaluación de la prueba:
Evaluación del resultado obtenido en la prueba realizada.
4.3 Fuentes y Técnicas para Recolección de Información
Para la investigación referente al desarrollo del sistema de información propuesto se contó con
las siguientes fuentes para la recolección de la información que permitiera llegar a la solución
propuesta.
4.3.1 Fuentes Primarias
Amalia Carrillo - “Secretaria Coordinación Posgrados Especialización Ingeniería de
Software”
Msc. Alexandra Abuchar Porras - “Directora del grupo de investigación de la
especialización- ESPINSOFT”
4.3.2 Fuentes Secundarias
Doce006E tes asignaturas bases de datos e informática universidad Distrital.
SOMMERVILLE, Ian. Ingeniería del Software. Séptima Edición. Madrid: Pearson
Education S.A., 2005 ISBN: 84-7829074-5.
GRACIA, Joaquín. Patrones de diseño: Diseño de software orientado a objetos.
Zaragoza, 2003 [disponible en línea]
http://www.ingenierosoftware.com/analisisydiseno/patrones-diseno.php.
21
4.3.3 Recolección de la Información
La información para adelantar esta propuesta de grado se llevó a cabo mediante entrevista
presencial con los actores expertos en los procesos de radicación de proyectos de grados y
seguimiento a los mismos de la coordinación de la Especialización en Ingeniería de Software.
4.3.4 Tratamiento de la Información
El problema de investigación planteado se va a resolver a través del diseño e implementación
de un sistema de información basado en computador para la gestión y control del proceso descrito.
Como se explicó anteriormente se escogió el proceso XP como método de desarrollo para el
proyecto debido a que esta técnica se adapta a equipos de desarrollo de software pequeños como
es este caso, ya que se pretende la obtención de un producto con características de calidad, sin
rigurosidad en la documentación asociada al proceso de desarrollo más allá de la estrictamente
requerida.
Todo proceso de desarrollo de software se puede dividir en cuatro grandes fases:
Especificación de requerimientos
Diseño y desarrollo
Pruebas
Despliegue y mantenimiento.
Estas fases generarán de forma inevitable información asociada que será vital para realizar el
análisis de cada etapa del proyecto y a su vez servirá como entrada a la siguiente fase según
corresponda. Por este motivo es imperativa la definición de un estándar en la administración de la
información manejada en todo el proceso de desarrollo del producto.
La información manejada en todo el proceso de desarrollo se divide en dos grandes categorías:
22
Documentos de desarrollo: se llevarán a cabo las actas de reunión, los requerimientos
estarán definidos en los formatos de iteraciones, historias y tareas, en adición, se
diligenciarán todos los formatos establecidos en la metodología elegida para este
desarrollo.
Código fuente: La codificación del diseño planteado en la plataforma de desarrollo
seleccionada para ello.
Se hace la distinción en los dos tipos de documentos descritos arriba porque la administración
de versiones se va a hacer en una herramienta distinta en cada caso como se detalla a continuación:
Documentos de desarrollo
Se plantea la utilización de la plataforma Dropbox para el almacenamiento y el control
de la versión de los documentos, esto garantiza que la información esté disponible en
la medida en que la plataforma lo esté, adicionalmente se garantiza una herramienta
que soporta el control de versiones para asegurar la correcta trazabilidad en la gestión
del proyecto. Todos los documentos a versionar se codificarán en función de su tipo y
objeto.
Código fuente
Se plantea la utilización de un servidor GIT para el almacenamiento de las fuentes del
programa a desarrollar, esto asegura que la información se va a mantener privada a los
interesados del proyecto, y que los cambios hechos se van a versionar.
23
5. CAPITULO 5
5.1 Contexto Arquitectónico
5.1.1 Análisis contextual
El proyecto se desarrolla en la coordinación de la Especialización en Ingeniería de Software
en la Universidad Distrital Francisco José de Caldas, una entidad de educación superior pública
adscrita a la Alcaldía Mayor de la ciudad de Bogotá. A continuación se detallan los aspectos de la
organización que se consideraron más relevantes para el análisis del proyecto.
5.1.1.1 Misión
La misión de la Universidad Distrital Francisco José de Caldas‚ es la democratización del
acceso al conocimiento para garantizar, a nombre de la sociedad y con participación de Estado, el
derecho social a una Educación Superior con criterio de excelencia, equidad y competitividad
mediante la generación y difusión de saberes y conocimientos con autonomía y vocación hacia el
desarrollo sociocultural para contribuir fundamentalmente al progreso de la Ciudad‚ Región de
Bogotá y el país.
5.1.1.2 Visión
La Universidad Distrital Francisco José de Caldas, en su condición de Universidad autónoma
y estatal del Distrito Capital, será reconocida nacional e internacionalmente por su excelencia en
la construcción de saberes, conocimientos e investigación de alto impacto para la solución de los
problemas del desarrollo humano y transformación sociocultural, mediante el fortalecimiento y la
24
articulación dinámica, propositiva y pertinente de sus funciones universitarias en el marco de una
gestión participativa, transparente y competitiva.
5.1.1.3 Aspecto Legal
La Universidad Distrital Francisco José de Caldas define el trabajo de grado de la siguiente
manera: “El Trabajo de Grado es un proceso formativo que hace parte del plan de estudios
desarrollado por el estudiante y le conduce a la obtención de un resultado final que ha de presentar,
para optar a un título universitario, en cumplimiento del requisito establecido en el artículo 70 del
acuerdo 027 de 1993 del Consejo Superior Universitario. Contribuye en la formación integral del
estudiante de pregrado a su preparación para el desempeño profesional, ampliando las posibilidades
de investigación, creación, desarrollo tecnológico, innovación y proyección social”.
5.1.2 Interesados y sus Preocupaciones
Se identifican los siguientes interesados y sus correspondientes preocupaciones:
Estudiante: Actor que se encarga de la radicación del proyecto y sus correspondientes
correcciones posteriores a las revisiones del Director o Revisor del proyecto.
Preocupaciones:
o Realizar las entregas en las fechas oportunas sin tener que desplazarse a las
instalaciones de la Universidad.
o Realizar la radicación y las correcciones del proyecto sin incurrir en costos de
impresión por cada nuevo ajuste
o Tener un histórico de consulta de los proyectos existentes.
Coordinador: Actor que se encarga de la recepción de los proyectos y la asignación
de los Directores y Revisores de los mismos.
25
Preocupaciones:
o Tener un control adecuado de la asignación de Directores y Revisores en cada
proyecto teniendo en cuenta su carga de asignación, no más de 3 proyectos por
Director y Revisor.
o Realizar seguimiento de la gestión llevada a cabo por los directores y revisores
asignados a los proyectos.
o Contar con un historial de proyectos de fácil acceso y consulta.
Director y Revisor: Actores que se encargan de guiar el desarrollo de los proyectos
degrado previamente asignados por parte de la coordinación.
Preocupaciones:
o Contar con una manera eficiente de acceder al historial de los proyectos de tesis
asignados.
o Realizar la retroalimentación de las revisiones de los proyectos asignados de
una manera eficiente y en el menor tiempo posible.
5.1.3 Puntos de Vista Estándar en Archimate
En Archimate se ha definido un conjunto de puntos de vista de arquitectura estándar basados
en la experiencia práctica. Cada punto de vista es una selección de un subconjunto relevante de
concepto de Archimate y sus relaciones, además de la representación de esa parte de la arquitectura
que es expresada en diferentes diagramas.
26
En las siguientes subsecciones se describen en detalle los puntos de vista estándar definidos
en Archimate aplicados al proyecto, acompañadas de la definición de cada punto de vista según la
documentación de Archimate1.
5.1.3.1 Diagrama de Organización
El punto de vista de organización se enfoca en la organización interna de una compañía, un
departamento, una red de compañías o cualquier otra entidad organizacional. Es posible
representarlos modelos de este punto de vista como bloques de diagrama anidados, pero también
de una forma más tradicional, tal como cuadros organizacionales. El punto de vista organizacional
es muy útil para identificar competencias, autoridades y responsabilidades en una organización.
Figura 2. Diagrama de Organización.
La estructura de organización mediante la cual se lleva a cabo la gestión de proyectos de grado
se establece de la siguiente manera:
La organización se compone a través del coordinador de la especialización en ingeniería de
software y el comité de evaluación de proyectos de grado, además, se cuenta con docentes que
1 The Open Group; Archimate 2.1 Specification; http://pubs.opengroup.org/architecture/archimate2-
doc/toc.html; consultado el 17/05/2015
27
pueden cumplir los roles de “Director” y/o “Revisor” con el fin de colaborar en la asesoría de los
proyectos de grado presentados por los estudiantes.
5.1.3.2 Diagrama de Función de Negocio
El punto de vista de función de negocio muestra las principales funciones de negocio y sus
relaciones en términos de flujos de información, valor o bienes entre ellas.
Figura 3. Diagrama de función de negocio.
Las funciones de negocio definidas de acuerdo a cada rol son las siguientes:
Estudiante:
o Radicar Proyecto.
o Ajustar Proyecto.
Coordinador:
o Generar estrategias de terminación en el tiempo de la especialización.
o Asignar Directores y Revisores.
o Mediar en las diferencias de conceptos entre los Estudiantes, Directores y
Revisores.
Director:
28
o Guiar el desarrollo del proyecto.
o Revisar el proyecto
5.1.3.3 Diagrama de Proceso de Negocio Actual
Figura 4. Diagrama de proceso actual.
La coordinación de especialización en Ingeniería de Software de la Universidad Distrital
cuenta un servicio que permite gestionar los proyectos de grado de los estudiantes de la
especialización en ingeniería de software, este servicio se realiza mediante el proceso de gestión
de proyectos de grado al cual tienen acceso los estudiantes dueños del proyecto, directores de los
proyectos, revisores de los proyectos y el coordinador de la especialización en ingeniería de
software.
El proceso para gestionar un proyecto de grado se inicia desde el momento en que se registra
el proyecto, acción que se implementa mediante el proceso de recepción de proyectos, proceso en
29
el que participan tanto estudiantes como coordinadores, una vez recibido el proyecto se continúa
con el proceso de asignación de director y revisor del proyecto recibido, en este proceso intervienen
el coordinador y los directores y revisores; una vez asignados el director y el revisor del proyecto
se lleva a cabo el proceso de realización de seguimiento de proyectos, en este proceso intervienen
los estudiantes del proyecto y el director y revisor asignados al mismo, el proceso se ejecuta las
veces que sean necesarias hasta llegar al evento de aprobación.
Una vez aprobado el proyecto de grado se llega al objeto de negocio que es dado mediante la
realización y presentación final del proyecto de grado de los estudiantes que se verá reflejado a
través un documento en el que se registra todo el proceso de elaboración del proyecto y que
finalmente será entregado de forma física y digital “CD”.
31
La coordinación de la Universidad Distrital proporcionará un servicio por medio del cual se
pretende facilitar la radicación, seguimiento y finalización de los proyectos de grado de los
estudiantes de la especialización en Ingeniería de Software, dicho servicio será proporcionado a
través del sistema TheSys para apoyar el proceso de gestión de proyectos de grado haciéndolo más
eficiente y logrando que se cumpla de forma eficaz la ejecución del contrato (Acta de sustentación)
establecido entre la coordinación de la especialización en ingeniería de software y el estudiante.
5.1.3.5 Diagrama de Infraestructura
El punto de vista de infraestructura contiene los elementos de infraestructura de software y
hardware que soportan la capa de aplicación, tal como dispositivos físicos, redes o sistemas de
software.
Figura 6. Diagrama de infraestructura.
Para garantizar un funcionamiento óptimo y eficiente del sistema TheSys se define una
infraestructura basada en web, en la cual su distribución se presenta de la siguiente manera:
Un servidor de base de datos que almacenará la base de datos del sistema.
Un servidor de aplicación que almacenará los archivos del sistema TheSys.
32
Un servidor de archivos que almacenará los documentos del proyecto de grado de los
estudiantes en sus diferentes versiones de revisión.
Acceso a Internet.
Una red LAN.
Computadores con Acceso a Internet para acceder la aplicación desde el lado del
cliente.
El sistema TheSys requerirá de un servidor de aplicaciones desde el cual se accederá a los
componentes de Seguimiento de Proyectos, Directorio de Participantes, Registro de Usuarios y
Biblioteca de Proyectos, que harán funcional el sistema y eficiente el proceso de Gestión de
Proyectos de Grado.
5.1.3.6 Diagrama en Capas
El punto de vista en capas muestra distintos capas y aspectos de una arquitectura empresarial
en un solo diagrama. Debido a que se representan múltiples aspectos de una arquitectura
empresarial en un único diagrama, el metamodelo de este punto de vista es la especificación
completa de Archimate que puede ser incluida.
33
Figura 7. Diagrama de capas.
En el diagrama se muestran la interacción entre los actores y roles identificados, los procesos
de negocio que soportan el proceso de gestión de proyectos de grado, los componentes de software
principales planificados y la infraestructura necesaria para alojar tales aplicaciones.
34
5.1.3.7 Diagrama de Realización de Objetivos
El punto de vista de realización de objetivos permite a un diseñador modelar un refinamiento
de alto nivel de los objetivos a objetivos más concretos, y dichos refinamientos a requerimientos o
restricciones que describen las propiedades que son requeridas para la realización de los objetivos.
Figura 8. Diagrama de Realización de Objetivos.
El principio fundamental del sistema TheSys es la Facilidad y la Disponibilidad, en estos
principios se enmarcan los requerimientos y las restricciones para lograr los objetivos establecidos.
5.1.3.8 Diagrama de Realización de Requerimientos
El punto de vista de realización de requerimientos permite al diseñador modelar la realización
de los requerimientos por los elementos base del modelo, tal como los actores del negocio, servicios
del negocio, procesos de negocio, servicios de aplicación, componentes, etc.
35
Figura 9. Diagrama de realización de requerimientos.
En la Figura 9 se detallan los diferentes objetivos con sus correspondientes requerimientos, y
las restricciones asociadas identificadas para la realización de cada objetivo.
5.1.3.9 Diagrama de Motivación
El punto de vista de motivación permite a los diseñadores o analistas modelar el aspecto
motivacional, sin enfocarse en elementos determinados dentro de ese aspecto. Por ejemplo este
punto de vita puede ser utilizado para presentar un resumen total o parcial del aspecto motivacional
relacionando los interesados, sus objetivos principales, los principios que son aplicados, y los
principales requerimientos, sobre los servicios, procesos, aplicaciones y objetos.
En la Figura 10 se presentan los interesados con sus correspondientes motivaciones
(Manejadores), y el valor agregado que desean obtener al lograr sus objetivos, además se identifican
los requerimientos asociados en la contribución de estos objetivos y sus fortalezas y debilidades.
36
Figura 10. Diagrama de motivación.
5.1.3.10 Diagrama de Migración e Implementación
El punto de vista de implementación y migraciones utilizado para relacionar programas y
proyectos a las porciones de la arquitectura que ellas desarrollan.
Figura 11. Diagrama de migración e implementación.
En la Figura 11 se presenta el proceso de migración para realizar la puesta en marcha del
sistema TheSys con su correspondiente flujo de proceso identificando los hitos correspondientes,
adicionalmente se muestra la visión general del proyecto correspondiente al sistema TheSys.
37
5.2 Desarrollo del Proyecto
El desarrollo del proyecto aquí descrito corresponde a las fases explicadas en el numeral 4.2.
A continuación se referencian los artefactos producidos de la gestión del proyecto y adjuntos a este
documento como anexos.
5.2.1 Gestión
En las distintas etapas del proyecto se realizaron una serie de reuniones, el desarrollo de dichas
reuniones, sus las conclusiones y los compromisos adquiridos por los participantes se registraron
en actas.
En el Anexo 1 se adjuntan todas las actas de las reuniones que tuvieron lugar en el desarrollo
del proyecto.
5.2.2 Planificación del proyecto
Para llevar a cabo la planificación del proyecto, primero se realizó el análisis de arquitectura
detallado en el numeral 5.1, dicho análisis dio como resultado los objetivos que debe suplir el
sistema a modelar, así como las tareas que tal sistema debe soportar, además se propuso una serie
de componentes lógicos de software que son responsables de dichas tareas.
Con base en los elementos identificados en el análisis de arquitectura se planteó una estructura
de desglose de tareas o EDT (WBS por sus siglas en ingles), dicha estructura se compone de
iteraciones, historias y tareas, de acuerdo a los lineamientos establecidos en la metodología de
trabajo planteada. En el Anexo 2 se muestra el EDT planteado.
38
5.2.3 Implementación
Tal y como se explicó en la sección de metodología planeada, la implementación del proyecto
se dividió en tres fases principales: bases de datos, interfaz de usuario y pruebas, a continuación se
detalla el desarrollo de cada una de las fases.
5.2.3.1 Bases de Datos
Planeación
En la planeación de la base de datos se plantearon las entidades requeridas por el sistema, este
planteamiento se realizó con base en las necesidades identificadas en las entrevistas realizadas a
las personas que intervienen ante la coordinación de la Especialización en Ingeniería de Software
en la gestión de proyectos de grado; dichas entidades se muestran en el ANEXO 3. PLANEACIÓN
DE BASE DE DATOS.
El anexo contiene un mapeo completo de los módulos del prototipo, relacionando cada módulo
con una entidad planteada y registrando las principales operaciones que se espera ejecute cada
módulo sobre la entidad propuesta.
Implementación
La implementación de la base de datos consistió en el planteamiento del modelo entidad-
relación (MER) asociado a la estructura de datos identificada para el proyecto, dicho modelo se
muestra en el Anexo 4. En este anexo se asocia la historia o requerimiento asociado, el responsable,
la descripción del módulo, respaldos del código y el fragmento de la imagen MER de la entidad.
Adicionalmente se construyeron los scripts de creación de los objetos de base de datos que
representan las entidades formuladas en el modelo MER, dichos scripts se muestran en el Anexo
5.
39
Pruebas
Se realizaron pruebas de la base de datos planificada y construida, estas pruebas se basaron en
una lista de chequeo que contiene características básicas asociadas a modelos de datos relacionales.
Estas pruebas se muestran en el Anexo 6.
5.2.4 Pruebas
Posterior a cada fase de desarrollo de cada iteración se ejecutaron las pruebas que se plantearon
al inicio de dicha iteración, dichas pruebas se planificaron y registraron en una serie de formatos
que se muestran en el Anexo 7.
40
CONCLUSIONES
La construcción del Sistema TheSys logra concretar un estándar de buenas prácticas para el
proceso de gestión de proyectos de grado en la coordinación de la Especialización de Ingeniería de
Software de la Universidad Distrital, ya que con este sistema se adoptan formas agiles de llevar a
cabo dicho proceso, mejorando la experiencia los involucrados.
41
PROSPECTIVA
El sistema desarrollado cumple con todos los objetivos para los cuales fue diseñado. Sin
embargo, hay muchas opciones que pueden tomarse para retomar este proyecto y complementarlo.
Puesto que se ha desarrollado la base de una herramienta que puede crecer con nuevos proyectos
que den continuidad y aporten nuevas funcionalidades a las ya integrada en esta primera versión
de este sistema.
Actualmente el sistema cubre el proceso de gestión de proyectos de grado de la Especialización
en Ingeniería de Software de la Universidad Distrital, pero su estructura ha sido concebida para que
con unas pocas mejoras del sistema se pueda extender este proceso a las diferentes
especializaciones con las que cuenta la Universidad Distrital y que requieran de presentación de
trabajos de tesis como opción de grado.
Finalmente en razón a que la universidad utiliza varios sistemas de información, se plantea
una futura integración del sistema TheSys con los sistemas utilizados para la gestión de matrícula
de los estudiantes y la gestión de notas de asignaturas en caso que se desee plantear un requisito de
gestión de proyectos de grado en este sentido, otra posibilidad interesante de integración es con
sistemas de bases de datos de proyectos académicos especializados de otras instituciones para
interconsulta de proyectos.
42
BIBLIOGRAFIA
Andrews, S. Fastqc, (2010). A quality control tool for high throughput sequence data.
Augen, J. (2004). Bioinformatics in the post-genomic era: Genome, transcriptome, proteome, and
information-based medicine. Addison-Wesley Professional.
Blankenberg, D., Kuster, G. V., Coraor, N., Ananda, G., Lazarus, R., Mangan, M., ... & Taylor, J.
(2010). Galaxy: a web‐based genome analysis tool for experimentalists. Current protocols
in molecular biology, 19-10.
Bolger, A., & Giorgi, F. Trimmomatic: A Flexible Read Trimming Tool for Illumina NGS Data.
URL http://www. usadellab. org/cms/index. php.
Giardine, B., Riemer, C., Hardison, R. C., Burhans, R., Elnitski, L., Shah, P., ... & Nekrutenko, A.
(2005). Galaxy: a platform for interactive large-scale genome analysis. Genome research,
15(10), 1451-1455.
Goecks, J., Nekrutenko, A., & Taylor, J. (2010). Galaxy: a comprehensive approach for supporting
accessible, reproducible, and transparent computational research in the life sciences.
Genome Biol, 11(8), R86.
Haas, B. J., Papanicolaou, A., Yassour, M., Grabherr, M., Blood, P. D., Bowden, J., ... & Regev,
A. (2013). De novo transcript sequence reconstruction from RNA-seq using the Trinity
platform for reference generation and analysis. Nature protocols, 8(8), 1494-1512.
HÁJKOVÁ, P., Zemanová, B., BRYJA, J., Hájek, B., Roche, K., TKADLEC, E., & ZIMA, J.
(2006). Factors affecting success of PCR amplification of microsatellite loci from otter
faeces. Molecular Ecology Notes, 6(2), 559-562.
Mardis, E. R. (2008). The impact of next-generation sequencing technology on genetics. Trends in
genetics, 24(3), 133-141.
Martin, J. A., & Wang, Z. (2011). Next-generation transcriptome assembly. Nature Reviews
Genetics, 12(10), 671-682.
Martin, M. (2011). Cutadapt removes adapter sequences from high-throughput sequencing reads.
Michigan State University. (2013). Annotation pipeline [Imagen]. Recuperada de
http://cpgr.plantbiology.msu.edu/training/workshop_mar07/Lecture3_GenomeAnnotation.
Miller, D. J., Ball, E. E., Forêt, S., & Satoh, N. (2011). Coral genomics and transcriptomics—
ushering in a new era in coral biology. Journal of Experimental Marine Biology and
Ecology, 408(1), 114-119.
43
Miller, J. R., Koren, S., & Sutton, G. (2010). Assembly algorithms for next-generation sequencing
data. Genomics, 95(6), 315-327.
Wilhelm, B. T., & Landry, J. R. (2009). RNA-Seq-quantitative measurement of expression through
massively parallel RNA-sequencing. Methods (San Diego, Calif.), 48(3), 249.
44
ANEXO 1. ACTAS DE REUNIONES
En este anexo se detalla cada una de las actas resultantes de las reuniones que se hicieron en
el desarrollo del proyecto. A continuación se listan dichas actas en orden cronológico de realización
de la reunión.
45
ANEXO 2. PLANIFICACIÓN DEL PROYECTO
Descripción de la Iteración 1
Planificación de Iteraciones proyecto THESYS
Iteración: I1 Usuario: Estudiantes, Administrador, Director y Revisor
Nombre Iteración: Gestión Usuarios.
Prioridad en negocio: Alta Riesgo en desarrollo: Alto Historias estimadas: 1
Programadores responsables: Diego Murillo Galvis
Descripción:
Creación de módulo que permita gestionar todos los procesos que se deben llevar a cabo para el
registro de usuarios junto con su correspondiente proceso de seguridad (Login, Recordar
contraseña, Cambiar contraseña).
Lista de Historias Estimadas:
H1 – Gestión de Usuarios.
Observaciones:
Esta Iteración deberá adicionar en su historia los procesos adicionales que engloban la
operatividad del usuario dentro del sistema (Recordar contraseña, Cambiar contraseña, Iniciar
Sesión).
Iteración: I1 - Historia: H1
Planificación de historias proyecto THESYS
Iteración: I1 -
Historia: H1 Usuario: Estudiantes, Administrador, Director y Revisor
Nombre historia: Gestión de Usuarios.
Prioridad en negocio:
Alta
Riesgo en desarrollo:
Alto tareas estimadas:5
Programador responsable: Diego Murillo Galvis
Descripción:
Creación de los módulos requeridos para la gestión de usuarios y su correspondiente operación
en el sistema TheSys.
Observaciones:
Se requiere realizar test de efectividad para cada una de las tareas indicadas al momento de su
finalización, es necesario diligenciar las diferentes actas de pruebas (Documento de Pruebas).
46
Tareas T1 - Historia: H1 – Iteración: I1
Planificación de tareas proyecto THESYS
Número tarea: T1 Número historia: H1 – I1 Puntos estimados: 4
Nombre tarea: Gestión CRUD de Usuarios.
Tipo de tarea : Desarrollo
Fecha inicio: 01/03 /2012 Fecha fin: 04 /03/ 2015
Programador responsable: Diego Murillo Galvis
Descripción: Crear interfaz para la captura, edición, presentación y eliminación de la información correspondiente a los usuarios del sistema TheSys, se requiere capturar los siguientes datos del usuario con rol estudiante: (código de estudiante, dirección de residencia y teléfono fijo) para el caso de los usuarios con rol Director o Revisor se requieren los siguientes datos: (código del docente, tipo de interesado “Revisor, Director o Ambos”, Exponer Datos) finalmente para todos los usuarios la información básica que se requerirá será la siguiente (nombre, email personal, email institucional, identificación de usuario, profesión, número celular, userName, Password, y perfil que lo identifique) Reglas: Los estudiantes deberán registrarse en el sistema antes de iniciar sesión, los directores y revisores deberán ser registrados por el administrador del sistema.
Tareas T2 - Historia: H1 – Iteración: I1
Planificación de tareas proyecto THESYS
Número tarea: T2 Número historia: H1 – I1 Puntos estimados: 1
Nombre tarea: Iniciar Sesión.
Tipo de tarea : Desarrollo
Fecha inicio: 5/03 /2015 Fecha fin: 5 /03 / 2015
Programador responsable: Diego Murillo Galvis
47
Descripción:
Realizar el módulo que permitirá a los usuarios tener acceso al sistema TheSys.
Regla:
Todo Usuario que desee tener acceso al sistema TheSys, deberá estar previamente registrado.
Tareas T3 - Historia: H1 – Iteración: I1
Planificación de tareas proyecto THESYS
Número tarea: T3 Número historia: H1 – I1 Puntos estimados: 1
Nombre tarea: Recordar Contraseña.
Tipo de tarea : Desarrollo
Fecha inicio: 6/03 /2015 Fecha fin: 6 /03 / 2015
Programador responsable: Diego Murillo Galvis
Descripción:
Módulo que permitirá a los usuarios del sistema TheSys renovar su contraseña en caso de
olvidarla.
Regla:
Todo Usuario que desee recordar su contraseña de acceso al sistema TheSys deberá estar
previamente registrado.
Para que el sistema TheSys renueve su contraseña, el usuario deberá proporcionar los siguientes
datos (Email registrado en el sistema, Identificación) una vez el sistema haya comprobado dicha
información creará una nueva contraseña y notificará al correo registrado por el usuario.
Tareas T4 - Historia: H1 – Iteración: I1
Planificación de tareas proyecto THESYS
Número tarea: T4 Número historia: H1 – I1 Puntos estimados: 1
Nombre tarea: Cambiar Contraseña.
Tipo de tarea : Desarrollo
Fecha inicio: 7/03 /2015 Fecha fin: 7 /03 / 2015
Programador responsable: Diego Murillo Galvis
48
Descripción:
Módulo que permitirá a los usuarios del sistema TheSys cambiar su contraseña en el momento
en que lo deseen.
Regla:
Todo Usuario que desee cambiar su contraseña deberá iniciar sesión en el sistema.
Para que el usuario pueda cambiar su contraseña deberá digitar primero su contraseña actual,
luego su nueva contraseña y finalmente confirmar la nueva contraseña.
Descripción de la Iteración 2
Planificación de Iteraciones proyecto THESYS
Iteración: I2 Usuario: Administrador
Nombre Iteración: Gestión Líneas de Investigación, Especializaciones y Configuración
Prioridad en negocio: Alta Riesgo en desarrollo: Alto Historias estimadas: 1
Programadores responsables: Hugo Leonardo Barragán
Descripción:
Creación de los módulos que permitan gestionar la información correspondiente a las líneas de
investigación y a las especializaciones, estos dos módulos gestionarán la información a nivel
CRUD.
Lista de Historias Estimadas:
H1 – Gestión de Líneas de Investigación y Especializaciones y Configuración.
Observaciones: N/A
Iteración: I2 - Historia: H1
Planificación de historias proyecto THESYS
Iteración: I2 - Historia:
H1 Usuario: Administrador
Nombre historia: Gestión Líneas de Investigación, Especializaciones y Configuración
Prioridad en negocio: Alta Riesgo en desarrollo: Alto tareas estimadas:3
Programador responsable: Hugo Leonardo Barragán
Descripción:
Creación de los módulos de gestión para las líneas de investigación, las especializaciones y
Configuración.
Observaciones:
49
Se requiere realizar test de efectividad para cada una de las tareas indicadas al momento de su
finalización, es necesario diligenciar las diferentes actas de pruebas (Documento de Pruebas).
Tareas T1 - Historia: H1 – Iteración: I2
Planificación de tareas proyecto THESYS
Número tarea: T1 Número historia: H1 – I2 Puntos estimados: 4
Nombre tarea: Gestión CRUD de Especializaciones.
Tipo de tarea : Desarrollo
Fecha inicio: 09/03/2015 Fecha fin: 09/03/2015
Programador responsable: Hugo Leonardo Barragán
Descripción:
Crear interfaz para la captura, edición, presentación y eliminación de la información
correspondiente a los registros de Especializaciones en el sistema TheSys.
se requiere capturar los siguientes datos: (nombre, código)
Reglas:
No podrán existir dos registros con el mismo nombre.
Tareas T2 - Historia: H1 – Iteración: I2
Planificación de tareas proyecto THESYS
Número tarea: T2 Número historia: H1 – I2 Puntos estimados: 1
Nombre tarea: Gestión CRUD de Líneas de Investigación.
Tipo de tarea : Desarrollo
Fecha inicio: 10/03/2015 Fecha inicio: 10/03/2015
Programador responsable: Hugo Leonardo Barragán
Descripción:
Crear interfaz para la captura, edición, presentación y eliminación de la información
correspondiente a los registros de Líneas de Investigación en el sistema TheSys.
se requiere capturar los siguientes datos: (nombre, descripción)
Reglas:
50
No podrán existir dos registros con el mismo nombre.
Tareas T3 - Historia: H1 – Iteración: I2
Planificación de tareas proyecto THESYS
Número tarea: T3 Número historia: H1 – I2 Puntos estimados: 1
Nombre tarea: Gestión de Configuración.
Tipo de tarea : Desarrollo
Fecha inicio: 11/03/2015 Fecha inicio: 11/03/2015
Programador responsable: Hugo Leonardo Barragán
Descripción:
Crear interfaz para la captura, edición, presentación de la información correspondiente a los
registros de configuración en el sistema TheSys.
se requiere capturar los siguientes datos: (fecha inicio de radicación, fecha fin de radicación,
email administrador, número máximo de días para dar respuesta al proyecto, número máximo de
proyectos por director, número máximo de proyectos por revisor, número mínimo de
observaciones por proyecto, rango fechas semestre 1, rango fechas semestre 2, rango fechas
semestre 3)
Reglas: N/A.
Descripción de la Iteración 3
Planificación de Iteraciones proyecto THESYS
Iteración: I3 Usuario: Administrador, Estudiantes
Nombre Iteración: Gestión Radicación de Proyectos.
Prioridad en negocio: Alta Riesgo en desarrollo: Alto Historias estimadas: 1
Programadores responsables: Diego Murillo Galvis
Descripción:
Creación de los módulos que permitan llevar a cabo el proceso de Radicación de proyectos en el
sistema TheSys.
Lista de Historias Estimadas:
H1 – Gestión de radicación de proyectos de grado.
Observaciones: N/A
51
Iteración: I3 - Historia: H1
Planificación de historias proyecto THESYS
Iteración: I3 -
Historia: H1 Usuario: Administrador, Estudiantes
Nombre historia: Gestión de radicación de proyectos de grado.
Prioridad en negocio: Alta Riesgo en desarrollo: Alto tareas estimadas:3
Programador responsable: Diego Murillo Galvis
Descripción:
Creación de los módulos de gestión para llevar a cabo el proceso de radicación de proyectos de
grado en el sistema TheSys.
Observaciones:
Se requiere realizar test de efectividad para cada una de las tareas indicadas al momento de su
finalización, es necesario diligenciar las diferentes actas de pruebas (Documento de Pruebas).
Tareas T1 - Historia: H1 – Iteración: I3
Planificación de tareas proyecto THESYS
Número tarea: T1 Número historia: H1 – I3 Puntos estimados: 4
Nombre tarea: Gestión CRUD para radicar proyecto.
Tipo de tarea : Desarrollo
Fecha inicio: 12/03/2015 Fecha fin: 20/03/2015
Programador responsable: Diego Murillo Galvis
Descripción:
Crear interfaz para la captura, edición, presentación y eliminación de la información
correspondiente a los registros de proyectos de grado.
se requiere capturar los siguientes datos: (código, nombre, resumen, palabras clave de búsqueda,
director “opcional”, revisor “opcional”, especialización, línea de investigación, y documento del
proyecto)
Reglas:
El estudiante que cree el registro del proyecto deberá iniciar sesión.
Se asignará el proyecto a ese estudiante inicialmente.
Un estudiante no puede estar en dos proyectos activos de la misma especialización.
El código del proyecto se construirá automáticamente teniendo en cuenta las siguientes
características: PPPP-S-EEE-CCC, en donde PPPP corresponde al periodo (Año) en el cual se
radica el proyecto; S corresponde al semestre en el cual se radica el proyecto, para este caso se
52
obtienen los rangos de fecha radicados en la tabla de configuración y se valida obteniendo el
semestre 1,2 o 3; EEE corresponde al código de la especialización, que se debe obtener de la
tabla especialización en el registro correspondiente a la especialización asignada al proyecto;
CCC corresponde a un número consecutivo que se llevará por cada especialización, dicho valor
consecutivo deberá ser reiniciado cada semestre.
Una vez registrado el proyecto se deberá enviar un correo notificando al estudiante que radico el
proyecto y al administrador del sistema.
Cuando un estudiante esté logueado en el sistema, al seleccionar Director y Revisor se debe tener
en cuenta que el director o revisor no tenga más de los proyectos permitidos en la configuración;
esta regla no aplica en caso que el administrador realice la operación.
Se deberá crear un registro en la bitácora de proyectos en donde el registro del documento quede
con versión 1.
Los proyectos quedarán registrados con un estado pendiente de aprobación.
El documento del proyecto deberá están en versión .doc y versión .pdf
Tareas T2 - Historia: H1 – Iteración: I3
Planificación de tareas proyecto THESYS
Número tarea: T2 Número historia: H1 – I3 Puntos estimados: 1
Nombre tarea: Aprobar proyectos y asignar Involucrados.
Tipo de tarea : Desarrollo
Fecha inicio: 21/03/2015 Fecha inicio: 23/03/2015
Programador responsable: Diego Murillo Galvis
Descripción:
Crear interfaz para actualizar la información de los proyectos registrados en sistema TheSys y
que estén en estado pendientes de aprobación.
Se requiere listar todos los proyectos pendientes de aprobación.
se requiere modificar los siguientes datos: (estado, director, revisor)
Reglas:
No se podrá asignar un único involucrado al proyecto que cumpla las funciones de director y
revisor al mismo tiempo.
Se debe validar que al momento de asignar un director y revisor al proyecto, este no haya
superado el límite de proyectos parametrizados en la configuración del sistema.
Una vez asignados el Director y el Revisor, se enviará email de notificación a los estudiantes, al
director y al revisor asignados al proyecto.
Se deberá filtrar por: estado del proyecto (Pendiente de Aprobación, Aprobados, Rechazados,
Finalizados), por nombre del proyecto, por código del proyecto, por línea de investigación, por
director y por revisor.
53
Descripción de la Iteración 4
Planificación de Iteraciones proyecto THESYS
Iteración: I4 Usuario: Administrador, Estudiantes, Director y Revisor
Nombre Iteración: Seguimiento y Correcciones.
Prioridad en negocio: Alta Riesgo en desarrollo: Alto Historias estimadas: 1
Programadores responsables: Javier Mosquera Díaz.
Descripción:
Creación de los módulos que permitan llevar a cabo el proceso de seguimiento y revisión de los
proyectos registrados en el sistema TheSys.
Lista de Historias Estimadas:
H1 – Gestión de Seguimiento y Corrección.
Observaciones: N/A
Iteración: I4 - Historia: H1
Planificación de historias proyecto THESYS
Iteración: I4 -
Historia: H1 Usuario: Administrador, Estudiantes, Directores y Revisores
Nombre historia: Gestión de Seguimiento y Corrección.
Prioridad en negocio: Alta Riesgo en desarrollo: Alto tareas estimadas:3
Programador responsable: Javier Mosquera Díaz.
Descripción:
Creación de los módulos de gestión para llevar a cabo el proceso de seguimiento y verificación
de proyectos de grado desde el sistema TheSys.
Observaciones:
Se requiere realizar test de efectividad para cada una de las tareas indicadas al momento de su
finalización, es necesario diligenciar las diferentes actas de pruebas (Documento de Pruebas).
Tareas T1 - Historia: H1 – Iteración: I4
Planificación de tareas proyecto THESYS
Número tarea: T1 Número historia: H1 – I4 Puntos estimados: 4
Nombre tarea: Gestión de seguimiento.
Tipo de tarea : Desarrollo
54
Fecha inicio: 24/03/2015 Fecha fin: 31/03/2015
Programador responsable: Javier Mosquera Díaz
Descripción:
Crear interfaz para la realización de seguimiento de proyectos de grado por parte de los
Directores y revisores, en este módulo, tanto el director como el revisor descargará la versión
más reciente del proyecto de grado y realizarán sus comentarios dentro del documento, al subir
las observaciones del proyecto deberán registrar un comentario previo a la carga del documento
con observaciones.
se requiere capturar los siguientes datos: (estado (Observaciones, aprobado) comentario,
documento)
Reglas:
Es obligatorio que se cargue el documento con las observaciones si el estado asignado requiere
documento (verificar la tabla log_statuses)
Cuando el documento es cargado por el director o el revisor se deberá aumentar la versión en
una décima respecto a la versión anterior, ejemplo; Versión actual V1, primeras observaciones
del director V.1.1.
Cada vez que se realice un registro de seguimiento se deberá enviar al estudiante un correo de
notificación respecto a la novedad registrada en la bitácora de su proyecto.
Si el usuario que realiza el registro en la bitácora es el director y el estado que asigna al proyecto
es aprobado, se notificará a los estudiantes y al revisor, en caso de que el registro lo realice el
reviros y el estado sea aprobado, se deberá notificar a los estudiantes y al director del proyecto.
Tareas T2 - Historia: H1 – Iteración: I4
Planificación de tareas proyecto THESYS
Número tarea: T2 Número historia: H1 – I4 Puntos estimados: 1
Nombre tarea: Correcciones.
Tipo de tarea : Desarrollo
Fecha inicio: 01/04/2015 Fecha inicio: 07/04/2015
Programador responsable: Javier Mosquera Díaz.
Descripción:
Crear interfaz para actualizar las correcciones de los proyectos registrados en sistema TheSys.
Se requiere seleccionar el proyecto al cual se le actualizará la corrección.
se requiere modificar los siguientes datos: (estado (Corrección Estudiante) comentario,
documento)
Reglas:
55
Cuando el documento es subido por los cargado por los estudiantes, se deberá aumentar la
versión en una unidad respecto a la unidad anterior, ejemplo; versión inicial V1, Corrección del
documento V2, etc.
Es obligatorio subir el documento cuando se realice el registro de la novedad en la bitácora.
Se deberá enviar un correo de notificación al usuario que creo el registro de observación en la
versión previa del proyecto.
Descripción de la Iteración 5
Planificación de Iteraciones proyecto THESYS
Iteración: I5 Usuario: Administrador, Estudiantes, Director y Revisor, Comunidad.
Nombre Iteración: Buscador de Proyectos
Prioridad en negocio: Alta Riesgo en desarrollo: Alto Historias estimadas: 1
Programadores responsables: Hugo Barragán.
Descripción:
Creación de un módulo que permita realizar la búsqueda de los proyectos finalizados que se
encuentren registrados en el sistema TheSys.
Lista de Historias Estimadas:
H1 – Buscador de Proyectos.
Observaciones: N/A
Iteración: I5 - Historia: H1
Planificación de historias proyecto THESYS
Iteración: I5 -
Historia: H1 Usuario: Administrador, Estudiantes, Director y Revisor, Comunidad.
Nombre historia: Gestión de Seguimiento y Corrección.
Prioridad en negocio: Alta Riesgo en desarrollo: Alto tareas estimadas:3
Programador responsable: Hugo Barragán.
Descripción:
Buscador de proyectos de grado que se encuentren en estado finalizado.
Observaciones:
Se requiere realizar test de efectividad para cada una de las tareas indicadas al momento de su
finalización, es necesario diligenciar las diferentes actas de pruebas (Documento de Pruebas).
56
Tareas T1 - Historia: H1 –Iteración: I5
Planificación de tareas proyecto THESYS
Número tarea: T1 Número historia: H1 – I5 Puntos estimados: 1
Nombre tarea: Buscador de Proyectos.
Tipo de tarea : Desarrollo
Fecha inicio: 08/04/2015 Fecha fin: 15/04/2015
Programador responsable: Hugo Barragán
Descripción:
Crear interfaz para la búsqueda de proyectos de grados en estado finalizado.
se requiere que para la búsqueda se lleve a cabo teniendo en cuenta el filtro inicial que realizará
la consulta por: (palabras clave), finalmente una búsqueda avanzada que permita adicionar a la
búsqueda inicial los filtros de(línea de investigación y especialización)
Reglas:
Solo se deben presentar proyectos en estado finalizado.
57
ANEXO 3. PLANEACIÓN DE BASE DE DATOS
Planeación de Bases de datos
Nombre del Módulo
Entidades de BD
Relacionadas
Observaciones
CRUD de Usuario
users Operaciones de inserción, lectura,
actualización y eliminación de
datos en la tabla
Inicio de Sesión users Lectura de datos de la tabla para
validar el usuario y contraseña de
un usuario
Recordar contraseña users Lectura de datos de la tabla para
validar el token de recordar
contraseña para efectuar el
cambio.
Cambiar Contraseña users Operación de actualización de la
contraseña de un registro en la
tabla
Gestión CRUD de
Especializaciones
specializations Operaciones de inserción, lectura,
actualización y eliminación de
datos en la tabla
Gestión CRUD de Líneas de
Investigación.
investigation_lines Operaciones de inserción, lectura,
actualización y eliminación de
datos en la tabla
Gestión de Configuración. setup Operaciones de inserción, lectura,
actualización y eliminación de
datos en la tabla
Gestión CRUD para radicar
proyecto.
projects, project_students,
project_logs
Operaciones de inserción, lectura,
actualización y eliminación de
datos en la tabla projects, así como
de la inserción de datos en las
tablas de relación 1..*
(project_students y project_logs)
58
Aprobar proyectos y asignar
Involucrados.
projects Operación para actualizar la
información de estado, revisor y
director
Gestión de seguimiento project_logs Operaciones para insertar datos en
la tabla que almacena el historial
del proyecto
Correcciones project_logs Operaciones para insertar datos en
la tabla que almacena el historial
del proyecto
Buscador de Proyectos projects Lectura de datos de la tabla para
listar los proyectos existentes
59
ANEXO 4. MODELO ENTIDAD RELACIÓN
Modelo Entidad Relación
Diccionario de Datos
Tabla investigation_lines
Fields
Field Type Collation Null Key Default Extra Privileges Comment
id int(11) (NULL) NO PRI (NULL) auto_increment select,insert,update Identificador
del Registro
name varchar(120) latin1_swedish_ci NO (NULL) select,insert,update Nombre de la
línea de
investigación
60
description varchar(1000) latin1_swedish_ci NO (NULL) select,insert,update Descripción
de la linea de
investigación
status bit(1) (NULL) NO (NULL) select,insert,update Estado del
Registro
created_by int(11) (NULL) NO (NULL) select,insert,update Usuario que
crea el
registro
created_at datetime (NULL) NO (NULL) select,insert,update Fecha de
creación del
registro
updated_by int(11) (NULL) YES (NULL) select,insert,update Último
usuario que
modifica el
registro
updated_at datetime (NULL) YES (NULL) select,insert,update Última fecha
de
modificación
del registro
Indexes
Table Non unique
Key name
Seq in index
Column name
Collation
Cardinality
Sub part
Packed
Null
Index type
Comment
investigation_lines
0 PRIMARY
1 id A 1 (NULL)
(NULL)
BTREE
Tabla log_statuses
Fields
Field Type Collation Null Key Default Extra Privileges Comment
id int(11) (NULL) NO PRI (NULL
)
auto_increme
nt
select,insert,updat
e
Identificado
r del registro
code varchar(20) latin1_swedish_
ci
NO (NULL
)
select,insert,updat
e
Código de la
bitácora
name varchar(120
)
latin1_swedish_
ci
NO (NULL
)
select,insert,updat
e
Nombre del
registro de
bitácora
profile_id int(11) (NULL) NO MU
L
(NULL
)
select,insert,updat
e
Perfil al que
pertenece el
registro de
bitácora
requires_docume
nt
bit(1) (NULL) NO (NULL
)
select,insert,updat
e
Requiere
documento
el registro
end_process bit(1) (NULL) NO (NULL
)
select,insert,updat
e
Indica si el
registro
61
finaliza el
proceso
status bit(1) (NULL) NO (NULL
)
select,insert,updat
e
Estado del
registro
created_by int(11) (NULL) NO (NULL
)
select,insert,updat
e
Usuario que
crea el
registro
created_at datetime (NULL) NO (NULL
)
select,insert,updat
e
Fecha de
creación del
registro
updated_by int(11) (NULL) YE
S
(NULL
)
select,insert,updat
e
Último
usuario que
modifica el
registro
updated_at datetime (NULL) YE
S
(NULL
)
select,insert,updat
e
Última
fecha de
modificació
n del
registro
Indexes
Table Non unique
Key name
Seq in index
Column name
Collation
Cardinality
Sub part
Packed
Null
Index type
Comment
log_statuses
0 PRIMARY
1 id A 0 (NULL)
(NULL)
BTREE
log_statuses
1 profile_id
1 profile_id
A 0 (NULL)
(NULL)
BTREE
Foreign Key Relationships
FK Id Reference Table
SourceColumn Target Column
Extra Info
log_statuses_ibfk_1 profiles `profile_id` `Id`
Tabla profiles
Fields
Field Type Collation Null Key Default Extra Privileges Comment
id int(11) (NULL) NO PRI (NULL) auto_increment select,insert,update Identificador
del registro
name varchar(120) latin1_swedish_ci NO (NULL) select,insert,update Nombre del
perfil
status bit(1) (NULL) NO (NULL) select,insert,update Estado del
registro
created_by int(11) (NULL) NO (NULL) select,insert,update Usuario que
crea el
registro
62
created_at datetime (NULL) NO (NULL) select,insert,update Fecha de
creación del
registro
updated_by int(11) (NULL) YES (NULL) select,insert,update Último
usuario que
modifica las
cosas
updated_at datetime (NULL) YES (NULL) select,insert,update Última fecha
de
modificación
del registro
Indexes
Table Non
unique
Key
name
Seq
in
index
Column
name
Collation Cardinality Sub
part
Packed Null Index
type
Comment
profiles 0 PRIMARY 1 id A 3 (NULL) (NULL) BTREE
Tabla project_logs
Fields
Field Type Collation Null Key Default Extra Privileges Comment
id int(11) (NULL) NO PRI (NULL
)
auto_increme
nt
select,insert,updat
e
Identificado
r del registro
project_id int(11) (NULL) NO MU
L
(NULL
)
select,insert,updat
e
Identificado
r del
proyecto
document_name varchar(150) latin1_swedish_
ci
NO (NULL
)
select,insert,updat
e
Nombre del
documento
version varchar(3) latin1_swedish_
ci
NO (NULL
)
select,insert,updat
e
Versión del
documento
observation varchar(1000
)
latin1_swedish_
ci
NO (NULL
)
select,insert,updat
e
Observació
n del
documento
predecessor int(11) (NULL) NO (NULL
)
select,insert,updat
e
Documento
predecesor
logbook_status_i
d
int(11) (NULL) NO (NULL
)
select,insert,updat
e
Estado del
documento
created_by int(11) (NULL) NO (NULL
)
select,insert,updat
e
Usuario que
crea el
registro
created_at datetime (NULL) NO (NULL
)
select,insert,updat
e
Fecha de
creación del
registro
updated_by int(11) (NULL) YE
S
(NULL
)
select,insert,updat
e
Último
usuario que
modifica el
registro
63
updated_at datetime (NULL) YE
S
(NULL
)
select,insert,updat
e
Última
fecha de
modificació
n del
registro
Indexes
Table Non
uniqu
e
Key
name
Seq
in
inde
x
Column
name
Collatio
n
Cardinalit
y
Sub
part
Packed Nul
l
Index
type
Commen
t
project_log
s
0 PRIMARY 1 id A 0 (NULL
)
(NULL
)
BTRE
E
project_log
s
1 project_logboo
k
1 project_i
d
A 0 (NULL
)
(NULL
)
BTRE
E
Foreign Key Relationships
FK Id Reference Table SourceColumn Target Column Extra Info
project_logbook projects `project_id` `id`
Tabla project_students
Fields
Field Type Collation Null Key Default Extra Privileges Comment
project_id int(11) (NULL) NO PRI (NULL) select,insert,update Identificador
del proyecto
student_id int(11) (NULL) NO PRI (NULL) select,insert,update Identificador
del estudiante
status bit(1) (NULL) NO (NULL) select,insert,update Estado del
registro
created_by int(11) (NULL) NO (NULL) select,insert,update Usuario que
crea el registro
created_at datetime (NULL) NO (NULL) select,insert,update Fecha de
creación del
registro
updated_by int(11) (NULL) NO (NULL) select,insert,update Último usuario
que modifica el
registro
updated_at datetime (NULL) YES (NULL) select,insert,update Última fecha de
modificación
del registro
Indexes
Table Non
uniqu
e
Key
name
Seq
in
inde
x
Column
name
Collatio
n
Cardinalit
y
Sub
part
Packed Nul
l
Index
type
Commen
t
project_student
s
0 PRIMAR
Y
1 project_id A 0 (NULL
)
(NULL
)
BTRE
E
64
project_student
s
0 PRIMAR
Y
2 student_i
d
A 0 (NULL
)
(NULL
)
BTRE
E
project_student
s
1 Student 1 student_i
d
A 0 (NULL
)
(NULL
)
BTRE
E
Foreign Key Relationships
FK Id Reference Table SourceColumn Target Column Extra Info
project_students_ibfk_2 users `student_id` `id` ,
project_students_ibfk_1 projects `project_id` `id`
Tabla projects
Fields
Field Type Collation Nul
l
Key Default Extra Privileges Comment
id int(11) (NULL) NO PRI (NULL
)
auto_increme
nt
select,insert,upd
ate
Identificador
del registro
code varchar(15) latin1_swedish_
ci
NO (NULL
)
select,insert,upd
ate
Código del
proyecto
name varchar(120
)
latin1_swedish_
ci
NO (NULL
)
select,insert,upd
ate
Nombre del
proyecto
summary varchar(100
0)
latin1_swedish_
ci
NO (NULL
)
select,insert,upd
ate
Resumen del
proyecto
key_words varchar(500
)
latin1_swedish_
ci
NO (NULL
)
select,insert,upd
ate
Palabras
claves de la
búsqueda
director_id int(11) (NULL) YE
S
MU
L
(NULL
)
select,insert,upd
ate
Director del
proyecto
revisor_id int(11) (NULL) YE
S
MU
L
(NULL
)
select,insert,upd
ate
Revisor del
proyecto
especialization_id int(11) (NULL) NO MU
L
(NULL
)
select,insert,upd
ate
Especializaci
ón
investigation_line
_id
int(11) (NULL) NO MU
L
(NULL
)
select,insert,upd
ate
Línea de
Investigación
period int(4) (NULL) NO (NULL
)
select,insert,upd
ate
Periodo
semester varchar(3) latin1_swedish_
ci
NO (NULL
)
select,insert,upd
ate
Semestre
sequence int(3) (NULL) NO (NULL
)
select,insert,upd
ate
Secuencia
status bit(1) (NULL) NO (NULL
)
select,insert,upd
ate
Estado del
Proyecto
created_by int(11) (NULL) NO (NULL
)
select,insert,upd
ate
Usuario que
crea el
registro
65
created_at datetime (NULL) NO (NULL
)
select,insert,upd
ate
Fecha de
creación del
registro
updated_by int(11) (NULL) YE
S
(NULL
)
select,insert,upd
ate
Último
usuario que
modifica el
registro
updated_at datetime (NULL) YE
S
(NULL
)
select,insert,upd
ate
Última fecha
de
modificación
del registro
Indexes
Table Non
uniqu
e
Key
name
Seq
in
inde
x
Column
name
Collati
on
Cardinali
ty
Sub
part
Packe
d
Nul
l
Index
type
Comme
nt
projec
ts
0 PRIMARY 1 id A 0 (NUL
L)
(NUL
L)
BTRE
E
projec
ts
1 ProjectReviwer 1 revisor_id A 0 (NUL
L)
(NUL
L)
YE
S
BTRE
E
projec
ts
1 ProjectDirectorRev 1 director_id A 0 (NUL
L)
(NUL
L)
YE
S
BTRE
E
projec
ts
1 ProjectSpecialization 1 especialization_id A 0 (NUL
L)
(NUL
L)
BTRE
E
projec
ts
1 ProjectInvestigation
Line
1 investigation_line
_id
A 0 (NUL
L)
(NUL
L)
BTRE
E
Foreign Key Relationships
FK Id Reference Table SourceColumn Target Column Extra Info
ProjectDirectorRev users `revisor_id` `id` ,
ProjectInvestigationLine investigation_lines `investigation_line_id` `id` ,
ProjectReviwer users `director_id` `id` ,
ProjectSpecialization specializations `especialization_id` `Id`
Tabla setup
Fields
Field Type Collation Null Ke
y
Default Extra Privileges Comment
id int(11) (NULL) NO PRI (NULL
)
auto_incremen
t
select,insert,updat
e
Identificador
del registro
email_admin varchar(120
)
utf8_general_c
i
NO (NULL
)
select,insert,updat
e
Email del
administrador
66
proj_dir int(2) (NULL) NO (NULL
)
select,insert,updat
e
Número de
proyectos por
Director
proj_rev int(2) (NULL) NO (NULL
)
select,insert,updat
e
Número de
proyectos por
revisor
num_obs_dir int(2) (NULL) NO (NULL
)
select,insert,updat
e
Número de
observacione
s por director
num_obs_rev int(2) (NULL) NO (NULL
)
select,insert,updat
e
Número de
observacione
s por revisor
days_for_answe
r
int(2) (NULL) NO (NULL
)
select,insert,updat
e
Número de
días máximo
para dar
respuesta al
proyecto
begin_rad date (NULL) NO (NULL
)
select,insert,updat
e
Fecha inicio
de radicación
de proyectos
end_rad date (NULL) NO (NULL
)
select,insert,updat
e
Fecha fin de
radicación de
proyectos
begin_sem1 date (NULL) NO (NULL
)
select,insert,updat
e
Fecha de
inicio del
semestre 1
end_sem1 date (NULL) NO (NULL
)
select,insert,updat
e
Fecha fin del
semestre 1
begin_sem2 date (NULL) NO (NULL
)
select,insert,updat
e
Fecha inicio
del semestre 2
end_sem2 date (NULL) NO (NULL
)
select,insert,updat
e
Fecha fin del
semestre 2
begin_sem3 date (NULL) NO (NULL
)
select,insert,updat
e
Fecha inicio
del semestre 3
end_sem3 date (NULL) NO (NULL
)
select,insert,updat
e
Fecha fin del
semestre 3
status bit(1) (NULL) NO (NULL
)
select,insert,updat
e
Estado del
registro
created_by int(11) (NULL) NO (NULL
)
select,insert,updat
e
Usuario que
crea el
registro
created_at datetime (NULL) NO (NULL
)
select,insert,updat
e
Fecha de
creación del
registro
updated_by int(11) (NULL) YE
S
(NULL
)
select,insert,updat
e
Usuario que
modifica el
registro
updated_at datetime (NULL) YE
S
(NULL
)
select,insert,updat
e
Fecha de
modificación
del registro
Indexes
67
Table Non
unique
Key
name
Seq
in
index
Column
name
Collation Cardinality Sub
part
Packed Null Index
type
Comment
setup 0 PRIMARY 1 id A 0 (NULL) (NULL) BTREE
Tabla specializations
Fields
Field Type Collation Null Key Default Extra Privileges Comment
id int(11) (NULL) NO PRI (NULL) auto_increment select,insert,update Identificador
del registro
name varchar(120) latin1_swedish_ci NO (NULL) select,insert,update Nombre de la
especialización
code varchar(15) latin1_swedish_ci NO (NULL) select,insert,update Código de la
especialización
status bit(1) (NULL) NO (NULL) select,insert,update Estado del
registro
created_by int(11) (NULL) NO (NULL) select,insert,update Usuario que
crea el registro
created_at datetime (NULL) NO (NULL) select,insert,update Fecha de
creación del
registro
updated_by int(11) (NULL) YES (NULL) select,insert,update Último usuario
que modifica el
registro
updated_at datetime (NULL) YES (NULL) select,insert,update Última fecha
de
modificación
del registro
Indexes
Table Non
unique
Key
name
Seq
in
index
Column
name
Collation Cardinality Sub
part
Packed Null Index
type
Comment
specializations 0 PRIMARY 1 id A 1 (NULL) (NULL) BTREE
Tabla users
Fields
Field Type Collation Null Key Default Extra Privileges Comment
id int(11) (NULL) NO PRI (NULL
)
auto_increme
nt
select,insert,updat
e
Identificador
del registro
code varchar(20) latin1_swedish_
ci
NO 0 select,insert,updat
e
Código del
estudiante o
interesado
68
name varchar(120
)
latin1_swedish_
ci
NO (NULL
)
select,insert,updat
e
Nombre del
Estudiante
personal_email varchar(60) latin1_swedish_
ci
NO (NULL
)
select,insert,updat
e
Personal
institutional_ema
il
varchar(60) latin1_swedish_
ci
NO (NULL
)
select,insert,updat
e
Institucional
identification int(15) (NULL) NO (NULL
)
select,insert,updat
e
Identificació
n Usuario
profession varchar(120
)
latin1_swedish_
ci
NO (NULL
)
select,insert,updat
e
Profesión del
estudiante
cell_phone int(12) (NULL) NO (NULL
)
select,insert,updat
e
Número
celular
phone int(15) (NULL) YE
S
(NULL
)
select,insert,updat
e
Teléfono del
estudiante
home_address varchar(120
)
latin1_swedish_
ci
YE
S
(NULL
)
select,insert,updat
e
Dirección
del
estudiante
expose_data bit(1) (NULL) YE
S
(NULL
)
select,insert,updat
e
Exponer los
datos del
director o
revisor al
estudiante
nickname varchar(60) latin1_swedish_
ci
NO UNI (NULL
)
select,insert,updat
e
UserName
password varchar(120
)
latin1_swedish_
ci
NO (NULL
)
select,insert,updat
e
Clave de
acceso
profile_id int(11) (NULL) NO MU
L
(NULL
)
select,insert,updat
e
Rol al que
pertenece el
usuario
status bit(1) (NULL) NO (NULL
)
select,insert,updat
e
Estado del
registro
remember_token varchar(255
)
latin1_swedish_
ci
YE
S
(NULL
)
select,insert,updat
e
Token para
validar
petición de
cambio de
contraseña
created_by int(11) (NULL) NO (NULL
)
select,insert,updat
e
Usuario que
crea el
registro
created_at datetime (NULL) NO (NULL
)
select,insert,updat
e
Fecha de
creación del
registro
updated_by int(11) (NULL) YE
S
(NULL
)
select,insert,updat
e
Último
usuario que
modificó el
registro
updated_at datetime (NULL) YE
S
(NULL
)
select,insert,updat
e
Última fecha
de
modificació
n del registro
Indexes
69
Table Non
unique
Key
name
Seq
in
index
Column
name
Collation Cardinality Sub
part
Packed Null Index
type
Comment
users 0 PRIMARY 1 id A 4 (NULL) (NULL) BTREE
users 0 nickname 1 nickname A 4 (NULL) (NULL) BTREE
Users 1 UserProfile 1 profile_id A 4 (NULL) (NULL) BTREE
70
ANEXO 5. IMPLEMENTACIÓN DE AGREGACIÓN DE RECURSOS AL SISTEMA
(BASE DE DATOS)
Implementación de recursos al sistema [Bases de Datos ]
Nombre historia: Gestión de Usuarios
Iteración asignada: 1
Número historia: 1
Tareas cumplidas con este
agregado: 3
Programador responsable: Diego Murillo Galvis
Descripción:
Creación de los módulos requeridos para la gestión de usuarios y su correspondiente operación en
el sistema TheSys.
Respaldos:
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Identificador del registro',
`code` varchar(20) NOT NULL DEFAULT '0' COMMENT 'Código del estudiante o interesado',
`name` varchar(120) NOT NULL COMMENT 'Nombre del Estudiante',
`personal_email` varchar(60) NOT NULL COMMENT 'Email Personal',
`institutional_email` varchar(60) NOT NULL COMMENT 'Email Institucional',
`identification` int(15) NOT NULL COMMENT 'Identificación Usuario',
`profession` varchar(120) NOT NULL COMMENT 'Profesión del estudiante',
`cell_phone` int(12) NOT NULL COMMENT 'Número celular',
`phone` int(15) DEFAULT NULL COMMENT 'Teléfono del estudiante',
`home_address` varchar(120) DEFAULT NULL COMMENT 'Dirección del estudiante',
`expose_data` bit(1) DEFAULT NULL COMMENT 'Exponer los datos del director o revisor al
estudiante',
`nickname` varchar(60) NOT NULL COMMENT 'UserName',
`password` varchar(120) NOT NULL COMMENT 'Clave de acceso',
`profile_id` int(11) NOT NULL COMMENT 'Rol al que pertenece el usuario',
`status` bit(1) NOT NULL COMMENT 'Estado del registro',
`remember_token` varchar(255) DEFAULT NULL COMMENT 'Token para validar petición de
cambio de contraseña',
`created_by` int(11) NOT NULL COMMENT 'Usuario que crea el registro',
`created_at` datetime NOT NULL COMMENT 'Fecha de creación del registro',
`updated_by` int(11) DEFAULT NULL COMMENT 'Último usuario que modificó el registro',
`updated_at` datetime DEFAULT NULL COMMENT 'Última fecha de modificación del
registro',
PRIMARY KEY (`id`),
UNIQUE KEY `nickname` (`nickname`),
KEY `UserProfile` (`profile_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;
71
Imagen del modelo agregado al sistema:
Implementación de recursos al sistema [Bases de Datos ]
Nombre historia: Gestión Líneas de Investigación, Especializaciones y Configuración
Iteración asignada: 2
Numero historia: 1
Tareas cumplidas con este
agregado: 3
#
Programador responsable: Hugo Leonardo Barragán
Descripción:
Creación de los módulos de gestión para las líneas de investigación, las especializaciones y
Configuración.
72
Respaldos:
DROP TABLE IF EXISTS `investigation_lines`;
CREATE TABLE `investigation_lines` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Identificador del Registro',
`name` varchar(120) NOT NULL COMMENT 'Nombre de la línea de investigación',
`description` varchar(1000) NOT NULL COMMENT 'Descripción de la linea de investigación',
`status` bit(1) NOT NULL COMMENT 'Estado del Registro',
`created_by` int(11) NOT NULL COMMENT 'Usuario que crea el registro',
`created_at` datetime NOT NULL COMMENT 'Fecha de creación del registro',
`updated_by` int(11) DEFAULT NULL COMMENT 'Último usuario que modifica el registro',
`updated_at` datetime DEFAULT NULL COMMENT 'Última fecha de modificación del
registro',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `specializations`;
CREATE TABLE `specializations` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Identificador del registro',
`name` varchar(120) NOT NULL COMMENT 'Nombre de la especialización',
`code` varchar(15) NOT NULL COMMENT 'Código de la especialización',
`status` bit(1) NOT NULL COMMENT 'Estado del registro',
`created_by` int(11) NOT NULL COMMENT 'Usuario que crea el registro',
`created_at` datetime NOT NULL COMMENT 'Fecha de creación del registro',
`updated_by` int(11) DEFAULT NULL COMMENT 'Último usuario que modifica el registro',
`updated_at` datetime DEFAULT NULL COMMENT 'Última fecha de modificación del
registro',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `setup`;
CREATE TABLE `setup` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Identificador del registro',
`email_admin` varchar(120) NOT NULL COMMENT 'Email del administrador',
`proj_dir` int(2) NOT NULL COMMENT 'Número de proyectos por Director',
`proj_rev` int(2) NOT NULL COMMENT 'Número de proyectos por revisor',
`num_obs_dir` int(2) NOT NULL COMMENT 'Número de observaciones por director',
`num_obs_rev` int(2) NOT NULL COMMENT 'Número de observaciones por revisor',
`days_for_answer` int(2) NOT NULL COMMENT 'Número de días máximo para dar respuesta
al proyecto',
`begin_rad` date NOT NULL COMMENT 'Fecha inicio de radicación de proyectos',
`end_rad` date NOT NULL COMMENT 'Fecha fin de radicación de proyectos',
`begin_sem1` date NOT NULL COMMENT 'Fecha de inicio del semestre 1',
`end_sem1` date NOT NULL COMMENT 'Fecha fin del semestre 1',
`begin_sem2` date NOT NULL COMMENT 'Fecha inicio del semestre 2',
`end_sem2` date NOT NULL COMMENT 'Fecha fin del semestre 2',
`begin_sem3` date NOT NULL COMMENT 'Fecha inicio del semestre 3',
`end_sem3` date NOT NULL COMMENT 'Fecha fin del semestre 3',
`status` bit(1) NOT NULL COMMENT 'Estado del registro',
`created_by` int(11) NOT NULL COMMENT 'Usuario que crea el registro',
73
Imagen del modelo agregado al sistema:
Implementación de recursos al sistema [Bases de Datos ]
Nombre historia: Gestión de radicación de proyectos de grado.
Iteración asignada: 3
Numero historia: 1
Tareas cumplidas con este
agregado: 2
#
Programador responsable: Diego Murillo Galvis
Descripción:
Creación de los módulos de gestión para llevar a cabo el proceso de radicación de proyectos de
grado en el sistema TheSys.
74
Respaldos:
DROP TABLE IF EXISTS `project_students`;
CREATE TABLE `project_students` (
`project_id` int(11) NOT NULL COMMENT 'Identificador del proyecto',
`student_id` int(11) NOT NULL COMMENT 'Identificador del estudiante',
`status` bit(1) NOT NULL COMMENT 'Estado del registro',
`created_by` int(11) NOT NULL COMMENT 'Usuario que crea el registro',
`created_at` datetime NOT NULL COMMENT 'Fecha de creación del registro',
`updated_by` int(11) NOT NULL COMMENT 'Último usuario que modifica el registro',
`updated_at` datetime DEFAULT NULL COMMENT 'Última fecha de modificación del
registro',
PRIMARY KEY (`project_id`,`student_id`),
KEY `Student` (`student_id`),
CONSTRAINT `project_students_ibfk_2` FOREIGN KEY (`student_id`) REFERENCES
`users` (`id`),
CONSTRAINT `project_students_ibfk_1` FOREIGN KEY (`project_id`) REFERENCES
`projects` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*Table structure for table `projects` */
DROP TABLE IF EXISTS `projects`;
CREATE TABLE `projects` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Identificador del registro',
`code` varchar(15) NOT NULL COMMENT 'Código del proyecto',
`name` varchar(120) NOT NULL COMMENT 'Nombre del proyecto',
`summary` varchar(1000) NOT NULL COMMENT 'Resumen del proyecto',
`key_words` varchar(500) NOT NULL COMMENT 'Palabras claves de la búsqueda',
`director_id` int(11) NOT NULL COMMENT 'Director del proyecto',
`revisor_id` int(11) NOT NULL COMMENT 'Revisor del proyecto',
`especialization_id` int(11) NOT NULL COMMENT 'Especialización',
`investigation_line_id` int(11) NOT NULL COMMENT 'Línea de Investigación',
`period` int(4) NOT NULL COMMENT 'Periodo',
`semester` varchar(3) NOT NULL COMMENT 'Semestre',
`sequence` int(3) NOT NULL COMMENT 'Secuencia',
`status` bit(1) NOT NULL COMMENT 'Estado del Proyecto',
`created_by` int(11) NOT NULL COMMENT 'Usuario que crea el registro',
`created_at` datetime NOT NULL COMMENT 'Fecha de creación del registro',
`updated_by` int(11) DEFAULT NULL COMMENT 'Último usuario que modifica el registro',
`updated_at` datetime DEFAULT NULL COMMENT 'Última fecha de modificación del
registro',
PRIMARY KEY (`id`),
KEY `ProjectReviwer` (`revisor_id`),
KEY `ProjectDirectorRev` (`director_id`),
KEY `ProjectSpecialization` (`especialization_id`),
KEY `ProjectInvestigationLine` (`investigation_line_id`),
CONSTRAINT `ProjectReviwer` FOREIGN KEY (`director_id`) REFERENCES `users` (`id`),
CONSTRAINT `ProjectDirectorRev` FOREIGN KEY (`revisor_id`) REFERENCES `users`
(`id`),
CONSTRAINT `ProjectInvestigationLine` FOREIGN KEY (`investigation_line_id`)
75
Imagen del modelo agregado al sistema:
Implementación de recursos al sistema [Bases de Datos ]
Nombre historia: Gestión de Seguimiento y Corrección
Iteración asignada: 4
Numero historia: 1
Tareas cumplidas con este
agregado: 2
#
Programador responsable: Javier Mosquera Díaz
Descripción:
Creación de los módulos de gestión para llevar a cabo el proceso de seguimiento y verificación de
proyectos de grado desde el sistema TheSys.
76
Respaldos:
DROP TABLE IF EXISTS `project_logs`;
CREATE TABLE `project_logs` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Identificador del registro',
`project_id` int(11) NOT NULL COMMENT 'Identificador del proyecto',
`document_name` varchar(150) NOT NULL COMMENT 'Nombre del documento',
`version` varchar(3) NOT NULL COMMENT 'Versión del documento',
`observation` varchar(1000) NOT NULL COMMENT 'Observación del documento',
`predecessor` int(11) NOT NULL COMMENT 'Documento predecesor',
`logbook_status_id` int(11) NOT NULL COMMENT 'Estado del documento',
`created_by` int(11) NOT NULL COMMENT 'Usuario que crea el registro',
`created_at` datetime NOT NULL COMMENT 'Fecha de creación del registro',
`updated_by` int(11) DEFAULT NULL COMMENT 'Último usuario que modifica el registro',
`updated_at` datetime DEFAULT NULL COMMENT 'Última fecha de modificación del
registro',
PRIMARY KEY (`id`),
KEY `project_logbook` (`project_id`),
CONSTRAINT `project_logbook` FOREIGN KEY (`project_id`) REFERENCES `projects`
(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Imagen del modelo agregado al sistema:
Implementación de recursos al sistema [Bases de Datos ]
Nombre historia: Gestión de Seguimiento y Corrección
Iteración asignada: 5
Numero historia: 1
Tareas cumplidas con este
agregado: 1
#
77
Programador responsable: Hugo Leonardo Barragán
Descripción:
Buscador de proyectos de grado que se encuentren en estado finalizado.
Respaldos:
Tabla projects creada anteriormente
Imagen del modelo agregado al sistema:
78
ANEXO 6. PRUEBA DE BASE DE DATOS
Pruebas de Bases de Datos
Entidad
Normalización
Adecuada
Llaves primarias,
Foráneas e índices
definidos
Diccionario de
datos definido para
la tabla Observaciones
Si No Si No Si No
users X X X
specializations X X X
investigation_lines X X X
setup X X X
projects X X X
project_students X X X
project_logs X X X
profiles X X X
log_statuses X X X
79
ANEXO 7. PLANIFICACIÓN DE PRUEBAS
Planificación de pruebas Modulo Administración de Usuarios
Planificación de pruebas
Número tarea: 1 Número historia: 1 Iteración: 1
Encargado de prueba: Hugo Leonardo Barragán
Nombre de tarea : Verificación
Descripción:
Prueba de la funcionalidad de administración de usuarios basado en las reglas definida para dicho
modulo
Condiciones de ejecución.
Para la modificación de usuarios, se requiere de usuarios creados en el sistema y con sesión
activa.
Para la creación de usuarios con rol director o revisor, se requiere un usuario administrador
creado en el sistema y con sesión activa.
Datos de entrada:
Datos personales y de contacto de los usuarios a crear o modificar.
Resultado esperado:
Los usuarios se crean o modifican de acuerdo a las reglas definidas.
80
Evaluación de la prueba:
1. Creación de estudiantes:
a. Ingreso de datos en pantalla de registro de estudiantes:
b. Datos registrados en base de datos:
82
2. Creación de directores y revisores
a. Ingreso de datos en pantalla de registro de usuarios
b. Datos registrados en base de datos:
83
c. Ingreso al sistema con el usuario creado
3. Modificación de estudiantes
a. Modificación de datos de estudiantes creados por parte del mismo estudiante
84
b. Datos modificados en la base de datos
4. Modificación de revisores y directores
a. Modificación de datos a través del módulo de administración de usuarios por parte
de un usuario administrador.
85
b. Datos del usuario modificado en la base de datos
Planificación de pruebas Modulo de Acceso de Usuarios
Planificación de pruebas
Número tarea: 2 Número historia: 1 Iteración: 1
Encargado de prueba: Hugo Leonardo Barragán
Nombre de tarea : Verificación
Descripción:
Prueba de la funcionalidad de acceso de usuarios al sistema.
Condiciones de ejecución.
Deben haber usuarios registrados previamente
Datos de entrada:
Nombre de usuario y contraseña de acceso.
Resultado esperado:
El sistema controla el acceso a usuarios de acuerdo a lo estipulado en las reglas definidas.
86
Evaluación de la prueba:
1. Ingreso de usuario estudiante exitoso.
a. Acceso al módulo de ingreso de usuario e ingreso de nombre de usuario y
contraseña.
b. Pantalla de inicio de sistema para estudiantes
87
2. Ingreso de usuario estudiante fallido
a. Ingreso de datos de acceso.
b. Mensaje de intento de ingreso fallido
3. Ingreso de usuario director o revisor exitoso
89
4. Ingreso de usuario revisor o director fallido
a. Ingreso de datos de acceso
b. Mensaje de error de ingreso
90
Planificación de pruebas Modulo de Recuperación de Contraseña
Planificación de pruebas
Número tarea: 3 Número historia: 1 Iteración: 1
Encargado de prueba: Hugo Leonardo Barragán
Nombre de tarea : Verificación
Descripción:
Prueba de la funcionalidad de recuperación de contraseña.
Condiciones de ejecución.
Debe haber un usuario creado en el sistema.
Datos de entrada:
Datos de identificación de cuenta: nombre de usuario y correo electrónico.
Resultado esperado:
El sistema suministrará un mecanismo de restablecimiento de la contraseña de acceso a los
usuarios que se acrediten como creados en el sistema.
Evaluación de la prueba:
1. Recuperación de contraseña exitosa.
a. Ingreso de nombre de usuario para recuperar contraseña
91
b. Notificación del sistema de envío de un correo de cambio de contraseña y envio de
dicho correo.
93
d. Ingreso al sistema con la nueva contraseña.
2. Intento fallido de recuperación de contraseña de un usuario no creado en el sistema.
a. Ingreso de nombre de usuario no existente en el modulo de recuperación de
contraseña.
94
b. Mensaje de fallo de recuperación de contraseña.
Planificación de pruebas Modulo de Cambio de Contraseña
Planificación de pruebas
Número tarea: 4 Número historia: 1 Iteración: 1
Encargado de prueba: Hugo Leonardo Barragán
Nombre de tarea : Verificación
Descripción:
Prueba de la funcionalidad de cambio de contraseña de acceso al sistema por parte de los usuarios
registrados
Condiciones de ejecución.
Debe haber por lo menos un usuario creado en el sistema.
Datos de entrada:
Datos de ingreso de usuario al sistema (nombre de usuario y contraseña)
Resultado esperado:
El usuario podrá cambiar la contraseña de acceso al sistema una vez realizado el ingreso.
95
Evaluación de la prueba:
1. Cambio exitoso de contraseña de acceso.
a. Ingreso al sistema
b. Ingreso al módulo de cambio de contraseña, ingreso de contraseña actual, nueva
contraseña y confirmación.
96
c. Mensaje de confirmación de operación exitosa
d. Ingreso al sistema con las nuevas credenciales de acceso.
98
a. Ingreso al módulo de cambio de contraseña, ingreso de contraseña actual, nueva
contraseña y confirmación, contraseña actual fallida.
b. Mensaje de operación fallida.
99
Planificación de pruebas Modulo de Administración de Especializaciones
Planificación de pruebas
Número tarea: 1 Número historia: 1 Iteración: 2
Encargado de prueba: Hugo Leonardo Barragán
Nombre de tarea : Verificación
Descripción:
Prueba de la funcionalidad de administración de especializaciones.
Condiciones de ejecución.
Debe haber por lo menos un usuario administrador creado y logueado en el sistema.
En las pruebas de actualización de datos de especialización se debe contar con
especializaciones creadas
Datos de entrada:
Los datos de la especialización a registrar o modificar según lo especificado en las reglas de
negocio
Resultado esperado:
Creación y modificación de especializaciones en el sistema según lo establecido por las
reglasde negocio.
Evaluación de la prueba:
1. Creación exitosa de especializaciones
a. Ingreso de información asociada a la especialización a crear.
101
c. Registro de la especialización creada en la base de datos
2. Creación fallida de especializaciones por registro existente con el mismo nombre.
a. Ingreso de datos de la especialización a crear.
102
b. Notificación del sistema de operación fallida por duplicidad de registros por el
nombre de la especialización.
3. Creación fallida de especializaciones por registro existente con el mismo código.
a. Ingreso de datos de la especialización a crear.
103
b. Notificación del sistema de operación fallida por duplicidad de registros por el
código de la especialización.
104
Planificación de pruebas Modulo de Acceso de Usuarios
Planificación de pruebas
Número tarea: 1 Número historia:1 Iteración: 3
Encargado de prueba: Hugo Leonardo Barragán
Nombre de tarea : Verificación
Descripción:
Prueba de la funcionalidad de radicación de proyectos de grado
Condiciones de ejecución.
Tener usuarios de tipo estudiantes y revisores creados y líneas de investigación creadas
Datos de entrada:
Nombres de estudiantes, directores y revisores creados.
Resultado esperado:
El modulo responde de acuerdo a las reglas de negocio definidas.
Evaluación de la prueba:
1. Radicar un proyecto de grado en el sistema TheSys.
a. Diligenciamiento de datos de proyecto y selección de primera versión de archivo.
105
b. Proyecto de grado radicado con el código de acuerdo con el estándar.
Planificación de pruebas Modulo de Acceso de Usuarios
Planificación de pruebas
Número tarea: 1 Número historia: 1 Iteración: 5
Encargado de prueba: Hugo Leonardo Barragán
Nombre de tarea : Verificación
Descripción:
Prueba de la funcionalidad de búsqueda de proyectos de grado.
Condiciones de ejecución.
Tener proyectos gestionados en el sistema y finalizados (opcional)
Datos de entrada:
Datos del filtro de búsqueda de proyectos.
Resultado esperado:
Listado de proyectos de grado finalizados de acuerdo con el filtro seleccionado .
106
Evaluación de la prueba:
1. Búsqueda de proyectos..
a. Ingreso de datos de filtro.
b. Listado de proyectos encontrados en función del filtro ingresado.