Upload
raulramosg
View
161
Download
1
Embed Size (px)
DESCRIPTION
Sistema de Informacion para la adminsitracion de proyectos en la universitaria de ivestigacion y desarrollo UDI
Citation preview
DISEÑO E IMPLEMENTACIÓN DE LA PLATAFORMA DE INVESTIGACIONES DE LA UNIVERSITARIA DE INVESTIGACIÓN Y DESARROLLO – UDI
BARRANCABERMEJA
RAUL ERNESTO RAMOS GUZMAN
UNIVERSITARIA DE INVESTIGACION Y DESARROLLO – UDI – FACULTAD DE INGENIERIAS INGENIERIA DE SISTEMAS
BARRANCABERMEJA 2012
DISEÑO E IMPLEMENTACIÓN DE LA PLATAFORMA DE INVESTIGACIONES DE LA UNIVERSITARIA DE INVESTIGACIÓN Y DESARROLLO – UDI
BARRANCABERMEJA
RAUL ERNESTO RAMOS GUZMAN
UNIVERSITARIA DE INVESTIGACION Y DESARROLLO – UDI – FACULTAD DE INGENIERIAS INGENIERIA DE SISTEMAS
BARRANCABERMEJA 2012
DISEÑO E IMPLEMENTACIÓN DE LA PLATAFORMA DE INVESTIGACIONES DE LA UNIVERSITARIA DE INVESTIGACIÓN Y DESARROLLO – UDI
BARRANCABERMEJA
RAUL ERNESTO RAMOS GUZMAN
Proyecto de Grado
Director SIGIFREDO MELENDEZ HERNANDEZ
Ingeniero de Sistemas
UNIVERSITARIA DE INVESTIGACION Y DESARROLLO – UDI – FACULTAD DE INGENIERIAS INGENIERIA DE SISTEMAS
BARRANCABERMEJA 2012
3
4
DEDICATORIA
A Dios.
Por haberme permitido llegar hasta esta aquí, por darme la salud y el
entendimiento para afrontar todos los retos del día a día, por caminar a mi lado en
cada paso de mi vida.
A mis padres.
Por su esmero y preocupación para brindarme lo mejor, por la educación que me
dieron y por haber hecho de mi lo que soy, por sembrar en mí valores que me
permiten ser mejor persona, por sus concejos y su amor.
A mi esposa.
Por sus dedicación, amor, y comprensión en cada etapa de mi desarrollo como
profesional, por su paciencia y su apoyo para alcanzar una meta mas en nuestras
vidas.
A mis hijos.
Por ser motivo de inspiración para seguir adelante, en un mundo que cada día es
más exigente, con el propósito de poder ofrecerles una vida digna y una excelente
educación.
A mis maestros.
Por haberme mostrado el camino y haber sido guía excelentes en mi formación
académica, por preocuparse por trasmitir sus conocimientos y contribuir a la
formación de mejores personas para la sociedad.
5
AGRADECIMIENTOS
Con su valiosa colaboración contribuyeron a que este proyecto se llevara a cabo
exitosamente, por eso expreso mi reconocimiento y gratitud a:
SIGIFREDO MELENDEZ Docente
UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI
HUGO JAVIER MANTILLA Docente UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI
VITERBO BARRERA BARROSO Coordinador de Investigaciones UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI
También agradezco a mis padres, esposa e hijos por su apoyo incondicional
durante la realización de este trabajo de grado, agradezco a mis compañeros de
trabajo por su colaboración en los cambios de turno, lo que me permitió culminar
satisfactoriamente la carrera de ingeniería.
6
CONTENIDO
Pág.
INTRODUCCION 16
1. DESCRIPCION GENERAL DEL PROYECTO 17
1.1 DESCRIPCION DEL PROBLEMA 17
1.2 OBJETIVOS 18
1.2.1 Objetivo general. 18
1.2.2 Objetivos específicos. 19
1.3 ANTECEDENTES 19
1.3.1 Sistemas actuales. 20
1.4 JUSTIFICACIÓN 21
2. MARCO TEORICO 22
2.1 PROYECTOS DE GRADO 22
2.1.1 ¿Qué es un proyecto de grado? 22
2.2 SISTEMA DE INFORMACIÓN 22
2.2.1 Definición. 22
2.2.2 Entrada de Información. 23
2.2.3 Almacenamiento de información. 23
2.2.4 Procesamiento de Información. 23
2.2.5 Salida de Información. 24
2.3 HERRAMIENTAS DE DISEÑO Y DESARROLLO 24
2.3.1 Diseño Orientado a Objetos. 24
2.3.2 Lenguajes de programación. 24
7
3. HERRAMIENTAS DE DESARROLLO SELECCIONADAS 28
3.1 ORIENTACIÓN A OBJETOS 28
3.1.1 Ventajas de la orientación a objetos. 29
3.2 UML 29
3.2.1 Star Uml. 30
3.3 PÁGINAS WEB 31
3.4 SOFTWARE OPEN SOURCE 32
3.4.1 PHP. 32
3.4.2 Mysql. 35
3.4.3 Apache. 36
3.5 EXPERIENCIA EN LA APLICACIÓN DE SOFTWARE OPEN SOURCE 37
3.5.1 Facebook. 37
4. ESTADO DEL ARTE 39
5. METODOLOGÍA 41
5.1 GRAPPLE 41
5.1.1 ¿Por qué usar Grapple? 42
6. DISEÑO Y DESARROLLO 44
6.1 RECOPILACION DE NECESIDADES 44
6.1.1 Proceso del negocio. 44
6.1.2 Diagramas de Actividades 50
6.1.3 Análisis del dominio. 53
6.1.4 Necesidades del sistema. 56
6.2 ANALISIS 60
6.2.1 Haciendo realidad los casos de Uso. 60
6.2.2 Cambios de Estado 66
8
6.3 DISEÑO 68
6.3.1 Diagrama de Componentes. 68
6.3.2 Diseño de la interfaz de usuario. 71
6.3.3 Planeación de la distribución. 72
6.4 DESARROLLO 74
6.4.1 Generación del Código 74
6.4.2 Librerías incluidas. 79
6.4.3 Estructura de Directorios. 80
6.5 IMPLEMENTACION 81
6.6 ALCANCE DEL SISTEMA 81
6.7 EXPLICACION DEL SISTEMA 82
6.8 CARACTERISTICAS Y LIMITACIONES 84
6.8.1 Caracteristicas de la base de datos. 84
6.8.2 Cantidad de usuarios. 85
6.8.3 Cantidad de peticiones. 86
6.9 REQUERIMIENTO DEL SISTEMA 86
6.9.1 Requerimiento del servidor. 86
6.9.2 Requerimientos del cliente. 87
7. CONCLUSIONES 88
8. RECOMENDACIONES 90
BIBLIOGRAFÍA 92
ANEXOS 94
9
LISTA DE TABLAS
Pág.
Tabla 1. Proyectos de grado presentados año 2010 17
Tabla 2. Proyectos de grado presentados año 2011 18
Tabla 3. Métodos de la Clase Html 74
Tabla 4. Métodos de la Clase Form 75
Tabla 5. Métodos Clase Abstracta Control 75
Tabla 6. Clases hijas de la clase control 76
Tabla 7. Métodos Clase Table 76
Tabla 8. Métodos de la Clase Lista 76
Tabla 9. Métodos de la clase Master 77
Tabla 10. Métodos de la clase User 78
Tabla 11. Métodos de la clase Group 78
10
LISTA DE FIGURAS
Pág.
Figura 1. Pagina web área de investigaciones de la UDI 20
Figura 2. Ilustración grafica arquitectura cliente servidor 26
Figura 3. Ejemplo de un modelo Entidad-Relación 27
Figura 4. Diagrama de actividades para el proceso de inscripción de temas 51
Figura 5. Diagrama actividades entrega anteproyecto 52
Figura 6. Diagrama Inicial de clases 54
Figura 7. Paquetes de funcionalidad del sistema. 57
Figura 8. Diagrama de Casos de Uso 59
Figura 9. Diagrama de estado para Tema Proyecto 66
Figura 10. Diagrama de estado para Anteproyecto 66
Figura 11. Diagrama de estado para Informe Final 67
Figura 12. Diagrama de componentes FrameWork HTML 68
Figura 13. Diagrama de componentes sistema de seguridad 69
Figura 14. Diagrama de componentes del sistema listas y elementos 70
Figura 15. Diagrama de componentes general 71
Figura 16. Ventana sistema administración de proyectos AdminPro. 72
Figura 17. Diagrama de Distribución. 73
11
LISTA DE ANEXOS
Pág.
Anexo A. Estándar de Codificación Zend 94
Anexo B. Manual de Instalación AdminPro 118
Anexo C. Manual de Usuario AdminPro 128
Anexo D. Actas de Reuniones. 140
Anexo E. Articulo IEEE 151
12
GLOSARIO
AdminPro. Titulo al producto desarrollado para este proyecto “DISEÑO E
IMPLEMENTACIÓN DE LA PLATAFORMA DE INVESTIGACIONES DE
UNIVERSITARIA DE INVESTIGACIÓN Y DESARROLLO – UDI”
Director. Docente vinculado a la Universidad que orienta el desarrollo de un
proyecto de grado.
MySql. Sistema gestor de base de datos que sirve de interfaz entre la base de
datos, el usuario y las aplicaciones.
Php. “Personal home page”, lenguaje de programación embebido que opera del
lado del servidor en un entorno cliente – servidor
Poo. Programación Orientada a Objetos, paradigma de la programación que
permite modelar objetos reales en un lenguaje estructurada.
Proyecto. Aplicación teórica o teórico-práctica de los conocimientos y destrezas
adquiridas en el proceso de formación profesional.
Semillero. Titulo dado a los grupos de investigación conformados por los
estudiantes activos y egresados de la universidad.
Siap. Sistema de información para la administración de proyectos, desarrollado
por los estudiantes de la Universidad Javeriana para la carrera Ingeniería de
sistemas.
13
Sistema. Sistema informático o de computadora que colabora con la gestión de
procesos de una entidad.
Syscoteg. Sistema de información para administrar y controlar los proyectos de
grado del programa de tecnología informática, en la Corporación Universitaria
Minuto de Dios, desarrollado por los estudiantes del programa Tecnología en
Informática.
Uml. Lenguaje de modelado unificado, lenguaje utilizado para modelar proyectos
orientados a objetos.
14
RESUMEN
El siguiente trabajo de grado corresponde al diseño y desarrollo de un software de
computadora que ayudara al área de investigación de la Universitaria de
Investigación y Desarrollo - UDI - , con los procesos de gestión de los proyectos
de grado presentados por los estudiantes de los diferentes programas académicos
que brinda la institución.
Este software permite acoplar y estructurar las responsabilidades de las personas
que intervienen en el proceso de presentación de un proyecto, desde la inscripción
de los temas, hasta la aprobación de las materias y calificación final.
El desarrollo se realizo por fases, empezando por etapa de recopilación de
necesidades, análisis, diseño y codificación, los lenguajes utilizados son:
programación orientada a objetos con Php, lenguaje de consultas de bases de
datos con MySq y páginas web con HTML y java script.
15
ABSTRACT
The next grade paper correspond to designing and development of a computer
software that going to help at investigate area of University of Investigation and
Development – UDI –, this application going to cooperate with management
process of grade project produced for students of different academic programs
that offer this institute.
This software will allow to link and structure the responsibilities of the peoples that
intervene in the development process of a project from his inscription until his
approbation and final rating.
The development of this project was performed by phases, this process was
started by phase the data collection, after, was executed the analysis phase,
design and codification. In this project was used the programming languages
object oriented, the language PHP, a query language of data with MySql and
HTML as web page language combined with CSS and JavaScript.
16
INTRODUCCION
En la Coordinación de Investigaciones de la Universitaria de Investigación y
Desarrollo UDI, nació la necesidad de un sistema de información que permita y
facilite la administración de los proyectos de grado, proceso esencial para la
culminación exitosa de las carreras tecnológicas y de ingeniería con las que
cuenta la universidad. De ahí germino el concepto de AdminPro, un software de
administración de proyectos y que debía cumplir con los aspectos vistos durante la
carrera de ingeniería de sistema.
Este documento es el resultado del trabajo realizado durante un año de
investigación, que contempla el diseño e implementación de un software que se
entregara a la Coordinación de Investigaciones que cumple con las
especificaciones requeridas para el beneficio de los estudiantes, directores y
evaluadores de proyectos de grado.
A continuación se presenta la información detallada sobre este trabajo de grado,
objetivos, etapas de desarrollo, funciones y aplicabilidades del mismo.
17
1. DESCRIPCION GENERAL DEL PROYECTO
1.1 DESCRIPCION DEL PROBLEMA
Actualmente en la Universitaria de Investigación y desarrollo – UDI, la
Coordinación de Investigaciones no cuenta con herramientas tecnológicas que le
permitan una fácil gestión de los proyectos que se generan en las diferentes líneas
de investigación como son: los proyectos de grado y los semilleros de
investigación, los cuales deben ser aprobados por los estudiantes para la exitosa
terminación de su carrera profesional, lo que ocasiona que se manipule un gran
volumen de información que al no ser tratado de forma adecuada causa baja
efectividad en los tiempos de entrega, en los tiempos de revisión y en los tiempos
de aprobación de los documentos en cada una de las etapas del proceso de
evaluación de los proyectos. Además, para la adjudicación de los proyectos se
debe realizar un cruce de información entre el banco de proyectos y los proyectos
terminados con el fin de depurar el banco de proyectos y no re-adjudicar proyectos
ya ejecutados o en su defecto poder llevar trazabilidad a la evolución de los
mismos, este proceso se realiza de forma manual y demanda un alto consumo de
tiempo y recurso humano que puede optimizarse con la implementación de una
herramienta tecnológica.
A continuación se presenta un análisis los proyectos presentados en los últimos
dos años 2010 y 2011 respectivamente.
Tabla 1. Proyectos de grado presentados año 2010
PROYECTOS DE GRADO PRESENTADOS AÑO 2010
SEMESTRE PROYECTOS TECNOLOGIA
PROYECTO DE GRADO I
PROYECTOS DE GRADO II TOTAL
Primer Semestre 10 6 11 27
Segundo Semestre 14 21 7 42
Fuente. Coordinación de Investigaciones, Universitaria de Investigación y Desarrollo – UDI –
18
Tabla 2. Proyectos de grado presentados año 2011
PROYECTOS DE GRADO PRESENTADOS AÑO 2010
SEMESTRE PROYECTOS TECNOLOGIA
PROYECTO DE GRADO I
PROYECTOS DE GRADO II TOTAL
Primer Semestre 17 16 20 53
Segundo Semestre 12 17 15 44
Fuente. Coordinación de Investigaciones, Universitaria de Investigación y Desarrollo – UDI –
Como se puede observar en el año 2010 se presentaron 69 proyectos y en el año
2011 se presentaron 97 proyectos, 28 proyectos más que el año inmediatamente
anterior, esto demuestra que cada año los proyectos de investigación presentados
aumentan, ocasionando que los procesos manuales de gestión y seguimiento se
tornen complejos y sea más difícil de administrar la información, para dar solución
a esta situación es necesario contar con herramientas tecnológicas que permitan
agilizar estos procesos y permitan llevar un mejor organización y control de la
información, por lo tanto si se implementa una herramienta de software basada en
la web se puede optimizar los tiempos, mejorar comunicación y aumentar la
productividad en el proceso de gestión y desarrollo de proyectos de grado en la
Universitaria de Investigación y Desarrollo – UDI –, al tiempo que se contribuye
con la preservación del medio ambiente al racionalizar el uso del papel físico con
la utilización de documentos virtuales.
1.2 OBJETIVOS
Optimizar el departamento de investigación de la
universitaria de investigación y desarrollo UDI, para la administración y gestión de
los proyectos de grado y semilleros de investigación mediante la sistematización
de procesos con la implementación de tecnologías de software orientadas a la
web.
1.2.1 Objetivo general.
19
1. Recopilar las necesidades del sistema mediante la utilización de técnicas de
recolección de la información y análisis del dominio.
2. Analizar el sistema a través de los datos recopilados incorporando el diseño
de los casos de uso, de los diagramas de clase y los diagramas comunicación
entre objetos.
3. Diseñar los componentes del sistema como son los diagramas de objetos, los
diagramas de componentes y los prototipos de interfaz de usuario incluyendo
la planificación para la distribución.
4. Implementar solución propuesta con estándares de ingeniería del software y
las pruebas de operación del sistema diseñado.
1.3 ANTECEDENTES
El proyecto está destinado a la administración de los proyectos de las diferentes
carreras universitarias de la Universitaria de Investigación y Desarrollo – UDI –,
actualmente el volumen de información que manipula el área de investigaciones
de la universidad va en crecimiento, lo cual hace más complejo la administración,
seguimiento, gestión y culminación de los proyectos de grado presentados por los
estudiantes.
El sistema de información propuesto pretende agilizar los procesos de gestión de
proyectos, reduciendo los tiempos de entrega y mejorando la comunicación entre
las partes que interviene en el proceso, el cual será de ayuda para los estudiantes
que están culminando sus estudios, contando con una herramienta que les
permite gestionar el desarrollo del proyecto de una forma fácil y eficiente.
1.2.2 Objetivos específicos.
20
La universitaria cuenta con una herramienta para la
dirección de investigaciones publicada en la página web de la universidad, esta
herramienta es de solo consulta y en ella se encuentra publicado todos los
formatos necesarios en la gestión del proyecto, con ella han logrado solucionar en
parte el problema al mantener disponibles los formatos para que los estudiantes
puedan bajarlos y modificarlos, aunque ha sido de ayuda, esta no es una
herramienta de gestión, y no permite a los estudiantes interactuar con el área de
investigaciones y los directores de proyectos, no permite realizar seguimiento al
avance de los proyecto, crear comentarios, calificar proyectos, etc.
Figura 1. Pagina web área de investigaciones de la UDI
Fuente. Página Web oficial de la Universitaria de Investigación y Desarrollo – UDI –
1.3.1 Sistemas actuales.
21
Después de explorar las herramientas publicadas por la universidad, revisar la
documentación suministrada “Formatos y Reglamentos”, y consultar con el
Coordinador de Investigaciones, no se encontró información sobre la existencia de
un sistema de información que colabore con la gestión de los proyectos de grado,
con AdminPro se pretende que sea más que una herramienta de consulta, se
pretende que tanto estudiantes como directores cuenten con un espacio de
colaboración, donde puedan agregar sus comentarios a los proyectos, ver los
avances del mismo, consultar otros proyectos terminados, tener históricos, etc.
1.4 JUSTIFICACIÓN
La misión de la universitaria de investigación contempla “promover, diseñar,
desarrollar e implementar estrategias, herramientas de apoyo y proyectos de
investigación aplicada, de innovación tecnológica, creatividad y mejoramiento
continuo” 1, y para cumplir con esta expectativa se requiere que el proceso de
desarrollo de los proyectos se efectué de una manera eficiente y transparente, que
permita tanto a estudiantes como directores y evaluadores realizar seguimiento y
control en tiempo real a la realización y presentación de los proyectos y que
colabore con la administración de los documentos en las diferentes líneas de
investigación que tiene la universidad.
La realización de este proyecto se alinea con la misión de la universidad
incorporando a los estudiantes de pregrado en el desarrollo de esta herramienta
tecnológica que optimizara el proceso de presentación de los proyectos de grado y
a su vez contara con una fuente de información sobre proyectos desarrollados
anteriormente que servirá de consulta a nuevas investigaciones.
1 UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI, Reglamento de Investigaciones,
2010. p. 11
22
2. MARCO TEORICO
2.1 PROYECTOS DE GRADO
Un Proyecto de Grado consiste en una
aplicación teórica o teórico-práctica de los conocimientos y destrezas adquiridas
en el proceso de formación profesional, para el análisis y solución de un
determinado problema; dentro del área o campo de formación. El Proyecto de
Grado versará sobre temáticas específicas del Programa Académico. Estas
pueden involucrar el desarrollo de nuevos conocimientos, sistematización de
conocimientos existentes, la adaptación de tecnologías, el diseño, realización y
evaluación de proyectos de intervención, la formulación y solución de problemas
de investigación y la investigación y discusión crítica de fundamentos teóricos. Los
Proyectos de Grado deberán estar enmarcados en las líneas de investigación
propuestas por la Facultad.2
2.2 SISTEMA DE INFORMACIÓN
Sistema de información (SI) es un conjunto de elementos
orientados al tratamiento y administración de datos e información, organizados y
listos para su posterior uso, generados para cubrir una necesidad. Estos
elementos interactúan entre sí para procesar los datos (incluyendo procesos
manuales y automáticos) dando lugar a información más elaborada y
distribuyéndola de la manera más adecuada posible en una determinada
organización en función de sus objetivos3.
2 UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI, Articulo 88, Reglamento de
Investigaciones, 2010. p. 33 3 DUANY, Armando. Centro de Estudio de Desarrollo Agrario y Rural
2.1.1 ¿Qué es un proyecto de grado?
2.2.1 Definición.
23
Un sistema de información realiza cuatro actividades básicas: entrada,
almacenamiento, procesamiento y salida de información.
Es el proceso mediante el cual el Sistema de
Información toma los datos que requiere para procesar la información. Las
entradas pueden ser manuales o automáticas. Las manuales son aquellas que se
proporcionan en forma directa por el usuario, mientras que las automáticas son
datos o información que provienen o son tomados de otros sistemas o módulos.
Esto último se denomina interfaces automáticas. Las unidades típicas de entrada
de datos a las computadoras son las terminales, las cintas magnéticas, las
unidades de diskette, los códigos de barras, los escáner, la voz, los monitores
sensibles al tacto, el teclado y el mouse, entre otras.4
El almacenamiento es una de las
actividades o capacidades más importantes que tiene una computadora, ya que a
través de esta propiedad el sistema puede recordar la información guardada en la
sección o proceso anterior. Esta información suele ser almacenada en estructuras
de información denominadas archivos. La unidad típica de almacenamiento son
los discos magnéticos o discos duros, los discos flexibles o diskettes y los discos
compactos (CD-ROM). 5
Es la capacidad del Sistema de
Información para efectuar cálculos de acuerdo con una secuencia de operaciones
preestablecida. Estos cálculos pueden efectuarse con datos introducidos
recientemente en el sistema o bien con datos que están almacenados. Esta
característica de los sistemas permite la transformación de datos fuente en
información que puede ser utilizada para la toma de decisiones, lo que hace
posible, entre otras cosas, que un tomador de decisiones genere una proyección
4 SCOTT, George M. Principios de Sistemas de Información. Ed. Mc Graw Hill, 2003
2.2.2 Entrada de Información.
2.2.3 Almacenamiento de información.
2.2.4 Procesamiento de Información.
24
financiera a partir de los datos que contiene un estado de resultados o un balance
general de un año base. 5
La salida es la capacidad de un Sistema de
Información para sacar la información procesada o bien datos de entrada al
exterior. Las unidades típicas de salida son las impresoras, terminales, diskettes,
cintas magnéticas, la voz, los gráficadores y los plotters, entre otros. Es importante
aclarar que la salida de un Sistema de Información puede constituir la entrada a
otro Sistema de Información o módulo. En este caso, también existe una interface
automática de salida.5
2.3 HERRAMIENTAS DE DISEÑO Y DESARROLLO
El diseño orientado a objetos es un proceso
de construir un modelado de objetos constituyentes que brinden solución a un
problema, y que permitan modelar un sistema de una forma abstracta de modo
que facilite su compresión y dominio, esto se logra mediante la abstracción de la
vida real en objetos y encontrando relaciones entre los mimos.
Para integrar el proceso de diseño con el desarrollo en la construcción de software
se creó el estándar UML (Lenguaje Unificado de Modelado) por sus siglas en
ingles, que sirve como enlace entre quien tiene la idea y el desarrollador, de modo
que permite capturar la ida del sistema para posteriormente pasarla al
desarrollador mediante el uso de un conjunto de símbolos y diagramas que tienen
fines distintos dentro del proceso de desarrollo6.
Un lenguaje de programación es un idioma
artificial diseñado para expresar computaciones que pueden ser llevadas a cabo
5 DUANY, Armando. Centro de Estudio de Desarrollo Agrario y Rural, 2007 6 SCHMULLER, Joseph, Aprendiendo UML en 24 horas, 2002
2.2.5 Salida de Información.
2.3.1 Diseño Orientado a Objetos.
2.3.2 Lenguajes de programación.
25
por máquinas como las computadoras, Está formado por un conjunto de símbolos
y reglas sintácticas y semánticas que definen su estructura y el significado de sus
elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura,
se compila y se mantiene el código fuente de un programa informático se le llama
programación7. Actualmente se pueden destacar dos tipos de lenguajes según su
orientación.
Lenguajes de Escritorio. Son aquellos lenguajes de programación que se
utilizan para crear aplicaciones que se ejecutan en un entorno de personal, o de
forma local en un único computador, un ejemplo de estas aplicaciones son: Word,
Word Pad, Paint, etc. Para crear estas aplicaciones se utilizan lenguajes de
escritorio como Visual Basic, C, C++, Java, Delphi, Entre otros. 8
Lenguajes Web. Son aquellos lenguajes orientados a la programación de
aplicaciones para la internet, que se ejecutan por medio de una arquitectura
cliente-servidor y que requieren de una conexión en red (intranet/internet para que
funcione) de esta manera se puede compartir información, en esta gama de
lenguajes podemos encontrar, HTML, Java Script, PHP, Perl, ASP, JSP, entre
otros.
El modo de funcionamiento de las aplicaciones web consiste en una estructura
cliente servidor, donde el cliente realiza una petición o solicitud de información al
servidor, el servidor procesa la información y devuelve al cliente los resultados. 8
7 JOYANES, Luis, Fundamentos de programación. Ed. Mc Graw Hill. (2003)
8 CODESIS, Técnico Diseño Grafico y Programación. 2000
26
Figura 2. Ilustración grafica arquitectura cliente servidor
Fuente: Internet, http://informaticaveronicamartinez.blogspot.com/2011/05/modelo-cliente-
servidor.html
Los programas codificados bajo la arquitectura cliente servidor se instalan en un
único equipo y no se emiten copias del software a los clientes, estos acceden a
ellos a través de una red de computadoras que se conecta con el servidor de la
aplicación, esto permite que todos los clientes siempre estén utilizando la última
versión de la aplicación, y facilita el mantenimiento de la misma.9
Bases de datos. Se define una base de datos como una serie de datos
organizados y relacionados entre sí, los cuales son recolectados y explotados por
los sistemas de información de una empresa o negocio en particular.10
Características de las base de datos. Entre las principales características de los
sistemas de base de datos podemos mencionar:
1. Independencia lógica y física de los datos.
2. Redundancia mínima.
9 JOYANES. Luis, Fundamentos de programación. Ed. Mc Graw Hill. (2003)
10 P. Salvador. Curso MySql. 2005
27
3. Acceso concurrente por parte de múltiples usuarios.
4. Integridad de los datos.
5. Consultas complejas optimizadas.
6. Seguridad de acceso y auditoría.
7. Respaldo y recuperación.
8. Acceso a través de lenguajes de programación estándar.
Sistema de Gestión de Base de Datos (SGBD). Los Sistemas de Gestión de
Base de Datos (en inglés DataBase Management System) son un tipo de software
muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y
las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos,
de un lenguaje de manipulación de datos y de un lenguaje de consulta. 11
Modelo entidad – relación. Los diagramas o modelos entidad-relación
(denominado por su siglas, ERD “Diagram Entity relationship”) son una
herramienta para el modelado de datos de un sistema de información. Estos
modelos expresan entidades relevantes para un sistema de información, sus inter-
relaciones y propiedades. 11
Figura 3. Ejemplo de un modelo Entidad-Relación
Fuente: P. Salvador. Curso MySql. 2005 p. 17
11
P. Salvador. Curso MySql. 2005
28
3. HERRAMIENTAS DE DESARROLLO SELECCIONADAS
3.1 ORIENTACIÓN A OBJETOS
El desarrollo de proyectos software ha sufrido grandes cambios desde los
primeros sistemas de cálculo hasta los sistemas de información actuales. El
Primer cambio fue la aparición del modelo relacional, un modelo con fuerte base
matemática que supuso el desarrollo de las bases de datos y propició la aparición
de los grandes sistemas de información. El segundo cambio es sobre los
lenguajes de programación, la aparición de los Lenguajes Orientados a Objetos
supuso una revolución en la industria software. El problema entonces radicaba en
poderle sacar partido a los lenguajes orientados a objetos por lo que aparecieron
numerosas metodologías para el diseño orientado objetos, sobre todo en lo que
respecta a la modelización de sistemas de software, entonces aparecio UML
(Unified Modeling Languaje, Lenguaje Unificado de Modelado) que pretende
unificar las tres metodologías más difundidas (OMT, Bootch y OOSE) e intentar
que la industria software alcance su maduración como Ingeniería. UML
proporciona las herramientas necesarias para poder obtener los modelos del
software basados en la observación de la realidad, En un modelo se han de incluir
los elementos que tengan más relevancia y omitir los que no son necesarios para
el nivel de abstracción que se ha elegido. A través del modelado se consigue
cuatro objetivos: 12
Los modelos ayudan a visualizar cómo es se quiere que sea un sistema.
Los modelos permiten especificar la estructura o el comportamiento de un
sistema.
Los modelos proporcionan plantillas que guían en la construcción de un
sistema.
12
SCHMULLER, Joseph, Aprendiendo UML en 24 horas, 2002
29
Los modelos documentan las decisiones que hemos adoptado.
El paradigma de la orientación a
objetos tiene las siguientes ventajas.
Ofrece modelos fáciles de entender del sistema
Se generan formas abstractas del sistema
Los objetos son independientes entre si
Es flexible, al permitir integrar / acoplar los objetos entre si
Modela la comunicación de los objetos
La programación se realiza abierta / cerrada (abierta a la ampliación /
cerrada a la modificación)
Se proporciona un interfaz para la utilización de los objetos
Se reutiliza código generado
Facilita el mantenimiento
Las actualizaciones realizadas a un objeto no afectan el funcionamiento del
sistema
Es escalable al mantener la sencillez del código
No se repite código
3.2 UML
La metodología unificada de modelado (UML) para el modelado de sistemas
orientados a objetos se ha convertido desde fines de los 90 en un estándar para
modelar con tecnologías orientadas a objetos todos los elementos que configuran
la arquitectura de la información y de los procesos de negocios. Este es un
lenguaje para especificar, visualizar, construir y documentar los artefactos de un
13
SCHMULLER, Joseph, Aprendiendo UML en 24 horas, 2002
3.1.1 Ventajas de la orientación a objetos. 13
30
sistema, fue desarrollado como intento de describir los sistemas de manera más
natural que la ofrecida por los métodos tradicionales.
UML contempla nueve tipos de diagramas, que son diferentes vistas de un único
modelo del sistema y ayudan a comprenderlo mejor desde diferentes frentes.
Cada diagrama es una representación grafica de una colección de elementos de
modelado. En resumen los diagramas propuestos son los siguientes.
1. Diagramas de casos de uso.
2. Diagramas de clases
3. Diagramas de comportamiento
a. Diagrama de estado
b. Diagrama de actividades
c. Diagrama de secuencia
d. Diagrama de colaboración.
4. Diagramas de implementación14
StarUML es una herramienta para el modelamiento de software
basado en los estándares UML (Unified Modeling Language) y MDA (Model Driven
Arquitecture), que en un principio era un producto comercial llamado (Agora
plastic) y ahora es de licencia abierta.
El software heredó todas las características de la versión comercial y poco a poco
ha ido mejorando sus características, entre las cuales se encuentran:
1. Soporte completo al diseño UML mediante el uso de.
Diagrama de casos de uso
Diagrama de clase
14
PLACE, Enrique. Programación Orientada a Objetos para php5. Surforce / Formación, 2009
3.2.1 Star Uml.
31
Diagrama de secuencia
Diagrama de colaboración.
Diagrama de estados
Diagrama de actividad.
Diagrama de componentes
Diagrama de despliegue.
Diagrama de composición estructural (UML 2.0)
2. Definir elementos propios para los diagramas, que no necesariamente
pertenezcan al estándar de UML,
3. La capacidad de generar código a partir de los diagramas y viceversa,
actualmente funcionando para los lenguajes c++, c# y java.
4. Generar documentación en formatos Word, Excel y PowerPoint sobre los
diagramas.
5. Plantillas de proyectos.
6. Posibilidad de crear plugins para el programa.
3.3 PÁGINAS WEB15
Actualmente los desarrollos de software tienden a arquitecturas online y multinivel
que facilitan el mantenimiento, la distribución y el acceso a la información desde el
lugar donde se encuentre, la selección de la aplicación web obedece a la
necesidad de las personas que intervienen en el proceso de las asignaturas
proyectos de grado I y II, debido al volumen y a la constante entrega de
información que se realiza en el proceso, esto requiere una disponibilidad de las
24 horas los 7 días de la semana. De esta manera el coordinador, los directores
de proyectos, las directivas de la carrera, los estudiantes y demás personas
interesadas pueden contar con herramienta de información disponible que permite
de una manera fácil y rápida desde un computador que cuente con conexión a
15
CODESIS, Técnico Diseño Grafico y Programación, 2000
32
internet realizar gestión de los proyectos, publicar información o simplemente
consulta en línea de documentos publicados de estos proyectos.
Con las aplicaciones web se tiene como ventaja que las actualizaciones y el
mantenimiento se realiza del lado del servidor y no del cliente, lo cual implica que
los clientes no requieren software especializado o componentes adicionales, la
única herramienta que se necesita es tener un computador con internet y un
navegador web, herramientas muy comunes en el mundo moderno.
Ventajas de la arquitectura Cliente – Servidor.
El servidor es independiente del cliente
Los cambios del cliente no afectan al servidor
Facilita el mantenimiento del software
Centraliza la información en un solo lugar
El puede ampliar la capacidad de almacenamiento del servidor
Los clientes no pueden acceder al código de la aplicación.
No requiere licencias para su utilización multi computador.16
3.4 SOFTWARE OPEN SOURCE
Open Source es el término con el que se conoce al software distribuido y
desarrollado libremente, las siguientes son las herramientas más utilizadas para el
desarrollo de software open source.
PHP (acrónimo de "PHP: Hypertext Preprocessor") es un lenguaje
de "código abierto" interpretado, de alto nivel, embebido en páginas HTML y
ejecutado en el servidor. Lo que distingue a PHP de la tecnología Java script, la
16
PLACE, Enrique. Programación Orientada a Objetos para php5. Surforce / Formación, 2009
3.4.1 PHP.
33
cual se ejecuta en la máquina cliente, es que el código PHP es ejecutado en el
servidor17.
¿Qué se puede hacer con PHP? PHP puede hacer cualquier cosa que se pueda
hacer con un script CGI, como procesar la información de formularios, generar
páginas con contenidos dinámicos, o enviar y recibir cookies.
Existen tres campos en los que se usan scripts escritos en PHP.
Scripts del lado del servidor. Este es el campo más tradicional y el principal
foco de trabajo. Se necesitan tres cosas para que esto funcione. El
intérprete PHP (CGI ó módulo), un servidor web y un navegador.
Scripts en la línea de comandos. Se puede crear un script PHP y correrse
sin ningún servidor web o navegador. Solamente se necesita el intérprete
PHP.
Escribir aplicaciones de interfaz gráfica. Se puede utilizar algunas
características avanzadas en programas clientes utilizando PHP-GTK. esta
una extensión de PHP, no disponible en la distribución principal.
PHP puede ser utilizado en cualquiera de los principales sistemas operativos del
mercado, incluyendo Linux, muchas variantes Unix (incluyendo HP-UX, Solaris y
OpenBSD), Microsoft Windows, Mac OS X, RISC OS y probablemente alguno
más. PHP soporta la mayoría de servidores web de hoy en día, incluyendo
Apache, Microsoft Internet Information Server, Personal Web Server, Netscape e
iPlanet, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd y muchos otros.
PHP tiene módulos disponibles para la mayoría de los servidores, para aquellos
otros que soporten el estándar CGI, PHP puede usarse como procesador CGI.
17
Grupo PHP. Manual de PHP. 2007
34
PHP tiene la posibilidad de usar programación procedimental o programación
orientada a objetos. Aunque no todas las características estándar de la
programación orientada a objetos están implementadas en la versión actual de
PHP.18
PHP no se limita a resultados en HTML. Entre las habilidades de PHP se incluyen:
creación de imágenes, archivos PDF y películas Flash. Tambié puede presentar
otros resultados, como XHTM y archivos XML.
Quizás la característica más potente y destacable de PHP es su soporte para una
gran cantidad de bases de datos. Escribir un interfaz vía web para una base de
datos es una tarea simple con PHP. Las siguientes bases de datos están
soportadas actualmente:
Adabas D Ingres Oracle (OCI7 and OCI8)
dBase InterBase Ovrimos
Empress FrontBase PostgreSQL
FilePro (read-only) mSQL Solid
Hyperwave Direct MS-SQL Sybase
IBM DB2 MySQL Velocis
Informix ODBC Unix dbm
PHP soporta ODBC (el Estándar Abierto de Conexión con Bases de Datos), asi
que se puede conectarse a cualquier base de datos que soporte tal estándar.
PHP también cuenta con soporte para comunicarse con otros servicios usando
protocolos tales como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (en
Windows) y muchos otros.
18
Grupo PHP. Manual de PHP. 2007
35
Para terminar, PHP cuenta con muchas extensiones muy interesantes, como las
funciones del motor de búsquedas mnoGoSearch, utilidades de compresión (gzip,
bz2), conversión de calendarios, entre otras.
MySql es el sistema de gestión de bases de datos SQL Open
Source más popular, desarrollado y distribuido MySql AB. MySql AB es una
compañía comercial, fundada por los desarrolladores de MySql. Esta es una
compañía Open Source de segunda generación que une los valores y metodología
Open Source con un exitoso modelo de negocio.20
Ventajas de MySql
Escalabilidad: es posible manipular bases de datos enormes, del orden de
seis mil tablas y alrededor de cincuenta millones de registros, y hasta 32
índices por tabla.
MySql está escrito en C y C++ y probado con multitud de compiladores y
dispone de APIs para muchas plataformas diferentes.
Conectividad: es decir, permite conexiones entre diferentes máquinas con
distintos sistemas operativos.
Es multi-hilo, con lo que puede beneficiarse de sistemas multiprocesador.
Permite manejar multitud de tipos para columnas.
Permite manejar registros de longitud fija o variable.
Dimensiones máximas de las tablas MySQL. En MySQL 5.0, usando el motor
de almacenamiento MyISAM, el máximo tamaño de las tablas es de 65536 terabytes
(256 ^ 7 - 1 bytes). Por lo tanto, el tamaño efectivo máximo para las bases de
datos en MySQL usualmente los determinan los límites de tamaño de ficheros del
sistema operativo, y no por límites internos de MySQL. El motor de
19
I, Gilfillan. La Biblia de MySql, Ed. Anaya Multimedia. 20
P. Salvador. Curso MySql. 2005
3.4.2 Mysql. 19
36
almacenamiento InnoDB mantiene las tablas en un espacio que puede ser creado
a partir de varios ficheros. Esto permite que una tabla supere el tamaño máximo
individual de un fichero. Este espacio puede incluir particiones de disco, lo que
permite tablas extremadamente grandes. El tamaño máximo del espacio de tablas
es 64TB.
La siguiente tabla lista algunos ejemplos de límites de tamaño de ficheros de
sistemas operativos. Esto es sólo una guía y no pretende ser definitiva. Para la
información más actual, se debe consultar la documentación específica del
sistema operativo. 21
Sistema operativo Tamaño máximo de fichero
Linux 2.2-Intel 32-bit 2GB (LFS: 4GB)
Linux 2.4 (usando sistema de ficheros ext3) 4TB
Solaris 9/10 16TB
Sistema de ficheros NetWare w/NSS 8TB
win32 w/ FAT/FAT32 2GB/4GB
win32 w/ NTFS 2TB (posiblemente mayor)
MacOS X w/ HFS+ 2TB
Apache es el Servidor Web más utilizado, líder con el mayor
número de instalaciones a nivel mundial muy por delante de otras soluciones
como el IIS (Internet Information Server) de Microsoft. Apache es un proyecto de
código abierto y uso gratuito, multiplataforma (hay versiones para todos los
sistemas operativos más importantes), muy robusto y que destaca por su
seguridad y rendimiento. Apache es flexible, rápido y eficiente, continuamente
actualizado y adaptado a los nuevos protocolos (HTTP 1.1). Entre sus
características destacan:
21
I, Gilfillan. La Biblia de MySql, Ed. Anaya Multimedia
3.4.3 Apache.
37
Multiplataforma
Es un servidor de web conforme al protocolo HTTP/1.1
Modular: Puede ser adaptado a diferentes entornos y necesidades, con la
API de programación de módulos.
Basado en hebras en la versión 2.0
Incentiva la realimentación de los usuarios, obteniendo nuevas ideas,
informes de fallos y parches para la solución de los mismos.
Se desarrolla de forma abierta
Extensible: gracias a ser modular se han desarrollado diversas extensiones
entre las que destaca PHP, un lenguaje de programación del lado del
servidor.22
3.5 EXPERIENCIA EN LA APLICACIÓN DE SOFTWARE OPEN SOURCE
FaceBook es uno de los casos de éxito de las sistemas que
utilizan open source más popular que se conoce hoy día, no es ningún secreto que
muchas de las grandes empresas utilizan Software Libre y Open Source de forma
bastante extensa y exitosa, como es el casos Facebook, la red social mas grande
del mundo, con más de 500 millones usuarios y que maneja unos 30 mil millones
de objetos al mes según sus propias estadísticas en
http://www.facebook.com/press/info.php?statistics.
Para soportar estas cargas de trabajo, manejar tan grandes cantidades de
información y ser escalable en el tiempo, Facebook utiliza Open Source el cual
como base para esta infraestructura, son los servidores LAMP (Linux, Apache,
MySQL y PHP).
22
I, Gilfillan. La Biblia del Servidor Apache, Ed. Anaya Multimedia
3.5.1 Facebook.
38
Lo interesante de Facebook es que utiliza la misma plataforma que se desea
utilizar en este proyecto, y que sirve como referente y ejemplo de las capacidades
que tiene el open source y la implementación de herramientas como Apache,
MySql y Php que son las que van a soportar el desarrollo de este proyecto.
39
4. ESTADO DEL ARTE
Se procede a analizar aspectos importantes de investigaciones realizadas sobre
aplicaciones desarrolladas para la administración de proyectos de grado en las
instituciones educativas.
Después de indagar en el mercado se ha encontrado que a nivel internacional
existen varios sistemas similares, en Uruguay la Universidad de RAU cuenta con
un sistema que recopila los proyectos ejecutados desde 1989 hasta el 2000,
teniendo como finalidad proveer información sobre los proyectos elaborados en la
universidad, terminados y en curso, dejándolos a disposición de los miembros de
la comunidad académica, docentes y alumnos, facilitando la búsqueda de
documentos para el desarrollo de estudios e investigaciones.
A nivel nacional se encontró que en las siguientes universidades se desarrollaron
proyectos de investigación sobre el mismo tema, una de ellas es La Pontificia
Universidad Javeriana en la ciudad de Bogotá, que pertenece a la Compañía de
Jesús (Jesuitas) de este país, fue fundada en 1604, contando así con 400 años de
trayectoria académica, en el año 2005 los estudiantes de la carrera de Ingeniería
de Sistema diseñaron una herramienta que les permitiera realizar la gestión de los
proyectos que llamaron SIAP. Esta una herramienta de software basado en la
web, programado en visual studio.Net (ASP), diseñado para administrar los
proyectos de grado de la facultad de ingeniería de sistemas exclusivamente. Este
sistema cuenta con funciones para crear, consultar, eliminar, modificar los datos
de los proyectos de grado.23
Los beneficios alcanzados al implementar este sistema han sido: reducir el tiempo
de entrega de los proyectos, hacer seguimiento a las entregas de los documentos,
23
CHAPARO, Gilberto y FORERO, Luis, SIAP, Universidad Javeriana, 2005.
40
facilitar la comunicación y mejorar la productividad. Con este sistema los
estudiantes, directores y coordinadores lograron optimizar el proceso de gestión
de los proyectos de grado de la carrera de Ingeniería de sistemas.
También en la Corporación Universitaria Minuto de Dios, los estudiantes de
Tecnología de Informática de la facultad de ingeniería, desarrollaron un proyecto
titulado “Sistema de información para administrar y controlar los proyectos de
grado del programa de tecnología informática – SYSCOTEG” en el año 2007, con
la finalidad de facilitar la administración de los proyectos de grado y reducir los
tiempos de consulta documental, este aplicativo fue diseñado para un ambiente
web con herramientas open source (apache, php, mysql), su desarrollo se baso en
el paradigma de la programación estructura. 24
Como se puede observar en el campo de investigación existen diversos proyectos
a nivel internacional como nacional, así, tanto SIAP como SYSCOTEG se
asemejan a este proyecto en su funcionalidad y objetivo, sin importar en que
lenguaje o que paradigma se encuentre desarrollado, esto refleja que la
administración de los proyectos no es un problema propio, si no, que es un
problema de muchas universidades a nivel nacional y que se presenta desde hace
varios años.
Lo que diferencia el proyecto propuesto con respecto a sus similares es la
potencia de combinar el desarrollo open source con la programación orientada a
objetos, ofreciendo un sistema adaptable a las nuevas necesidades, flexible,
escalable y fácil de mantener.
24
FONSECA, Sergio, SYSCOTEG, Corporación Universitaria Minuto de Dios, 2007
41
5. METODOLOGÍA
La metodología de desarrollo consiste en describir la forma como se va a ejecutar
el proyecto, está compuesta por un conjunto de técnicas, métodos y
procedimientos guías que indican que hacer y cómo actuar en el proceso de
investigación. Para efectos de este proyecto se propone usar la metodología
GRAPPLE (Guía para la ingeniería de aplicaciones rápidas).
5.1 GRAPPLE
GRAPPLE (Guía para la ingeniería de aplicaciones rápidas). Son un conjunto de
ideas adaptables y flexibles mediante la cual se muestra el camino para incorporar
al UML dentro de un contexto de diseño, Grapple consta de 4 segmentos y cada
segmento se compone de varias acciones, en cada acción se genera un producto
de trabajo el cual tiene asignado un responsable, generalmente son diagramas del
UML que describen y modelan una parte del sistema. Los segmentos de esta
metodología se enumeran a continuación.
Recopilación de necesidades
1. Descubra los procesos de negocios
2. Realice un análisis del dominio
3. Identifique los sistemas cooperativos
4. Descubra las necesidades del sistema
5. Presente los resultados al Cliente
42
Análisis
1. Compresión del uso del sistema
2. Hacer realidad los casos de uso
3. Depurar los diagramas de clases
4. Analiza los cambios de estado de los objetos
5. Define la comunicación entre objetos
Diseño
1. Desarrollo y depuración de los diagramas de objetos
2. Desarrollo de los diagramas de Componentes
3. Planeación para la distribución
4. Diseño y prototipo de la interfaz del usuario
5. Pruebas de Diseño
6. Inicia la documentación
Desarrollo
1. Generación del código
2. Verificación del Código
3. Generación de Interfaz del Usuario, conexión con el código y prueba
4. Consumación de la documentación
Las metodologías iniciales se estructuraban de
una forma secuencial donde cada etapa dependía de la anterior y este
pensamiento influyo por muchos años, como el método en cascada, que
establece como etapas para el desarrollo el análisis, diseño, codificación y
distribución. Esta manera de hacer las cosas ofrece ciertas desventajas, ya que si
un analista no tiene contacto con un diseñador y este a su vez no tiene contacto
5.1.1 ¿Por qué usar Grapple?
43
con un desarrollador, existe la posibilidad de que los tres miembros rara vez
trabajen juntos para compartir puntos de vista importantes. En contraste con el
método en cascada, las modernas ingenierías tienden a la colaboración entre las
fases de desarrollo. Los analistas y diseñadores hacen revisiones para desarrollar
un sólido fundamento para los codificadores y estos a su vez, interactúan con los
analistas y diseñadores para compartir sus puntos de vista, modificar los diseños y
fortalecer su código. La ventaja es que conforme aumente la comprensión, el
equipo incorpora nuevas ideas y genera un sistema más confiable.25
25
SCHMULLER, Joseph, Aprendiendo UML en 24 horas, 2002
44
6. DISEÑO Y DESARROLLO
A continuación se presenta el diseño del sistema para la administración de los
proyectos de grado de la universitaria de investigación y desarrollo UDI.
6.1 RECOPILACION DE NECESIDADES
Para la recopilación de las necesidades se consultaron como fuente de
información el reglamento de investigaciones, los formatos de inscripción y listas
virtuales en Excel utilizadas por el Coordinador de Investigaciones para llevar
control de los proyectos presentados. A continuación se describe el proceso según
el reglamento de investigaciones.
Descripción tomada del Reglamento de
Investigaciones de la universidad
ARTICULO 96. Etapas en el desarrollo de un Proyecto de Grado26
El desarrollo de un Proyecto de Grado consta de las siguientes etapas o fases, las
cuales deben estar enmarcadas dentro del calendario de Investigaciones de cada
período académico:
1. Selección del tema.
2. Elaboración del Anteproyecto.
3. Desarrollo del proyecto y elaboración del manuscrito final.
4. Sustentación pública.
26
UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI, Reglamento de Investigaciones, 2010. p. 34 - 35
6.1.1 Proceso del negocio.
45
ARTICULO 99. Presentación del tema de Proyecto de Grado27
La primera fase se inicia con la publicación en la cartelera de cada Facultad de los
temas que proponen los docentes investigadores como posible propuestas de
trabajo de grado de los estudiantes. En esta misma publicación se identificará el
número de cupos disponible por temas. Los estudiantes deben preseleccionar dos
posibles temas de investigación de acuerdo a sus intereses. Estos temas los
deben registrar en el formato “Ficha de Inscripción de Tema de Proyecto de
Grado” (Ver Anexo 5), diseñada por la UDI para tal fin. El Comité de
Investigaciones analizará cada inscripción, y en reunión con los docentes que
proponen los temas, serán socializados con los estudiantes. Esta designación de
los estudiantes en los temas, líneas y proyectos de investigación, se publicará en
la cartelera de las Facultades.
PARAGRAFO 1: En caso de proponerse un tema que no esté incluido ni en las
líneas, ni en los proyectos propuestos por los docentes investigadores de las
Facultades, este deberá presentarse en el formato Propuesta del Tema del Banco
de Proyectos (formato PM-GI01-R01) y someterse al aval del Comité de
Investigaciones y al visto bueno de la Rectoría. La idea del tema para el Banco de
Proyectos deberá ser presentada el semestre inmediatamente anterior en el
formato diseñado para tal fin (formato PM-GI01-R01) dentro de las fechas
estipuladas en el calendario académico.
PARAGRAFO 2: Los docentes deberán presentar ante el Comité de
Investigaciones, a través de la Coordinación de Investigaciones, sus propuestas
para el Banco de Proyectos según las fechas establecidas en el calendario
académico.
27
UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI, Reglamento de Investigaciones, 2010. p. 34 - 35
46
ARTICULO 105. Procedimiento para tramitar el tema de proyecto 28
1. El estudiante selecciona un tema que se encuentre aprobado en el Banco
de Proyectos.
2. El estudiante debe diligenciar el formato “Ficha de Inscripción de Tema de
Proyecto de Grado” y entregarlo a la oficina de Coordinación de
Investigaciones anexando fotocopia del Polígrafo de pago.
3. Si el Proyecto de Grado es patrocinado por una entidad externa o por la
UDI, la Coordinación de Investigaciones proveerá una carta de
presentación al estudiante para ser llevada a la entidad, la que a su vez
expedirá una carta avalando los recursos que va a disponer para el
desarrollo del proyecto. Para el caso de la UDI, la carta será expedida por
la Rectoría.
ARTICULO 106. Procedimiento para tramitar el Anteproyecto
1. El estudiante elabora el Anteproyecto siguiendo el formato establecido, bajo
la supervisión de su Director de proyecto.
2. El estudiante entrega a la Coordinación de Investigaciones el Anteproyecto,
en original y copia, debidamente aprobado por el Director. Si el proyecto es
patrocinado por una entidad externa, se debe incluir la carta expedida por
esta entidad, avalando los recursos que va a disponer para el desarrollo del
mismo.
3. El Comité de Investigaciones se reúne periódicamente para revisar los
Anteproyectos recibidos. El Comité asigna el Calificador, quien analizará y
emitirá un concepto del Anteproyecto. Si el Anteproyecto es aprobado, la
Coordinación de Investigaciones notificará por escrito al estudiante.
28
UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI, Reglamento de Investigaciones, 2010. p. 37
47
4. Cada Calificador tendrá un plazo máximo de 15 días calendario para emitir
su concepto sobre el Anteproyecto. La denominación de este concepto
depende del programa donde se enmarca el Proyecto de Grado. Cuando el
concepto sea aprobado el estudiante podrá matricular Proyecto de Grado II.
5. El concepto que podrá emitir el Calificador después de haber analizado y
verificado el Anteproyecto será:
o APROBADO: Cuando el Anteproyecto cumple con todos los
requisitos exigidos por el Comité de Investigaciones. (Ver Artículo
143: Aprobación del Anteproyecto). A
o PROBADO CON CORRECCIONES: Cuando el Anteproyecto tiene
problemas de forma (presentación); el estudiante debe cambiar la
presentación de acuerdo con los comentarios hechos por el
Calificador, y someterlo a evaluación nuevamente.
o PENDIENTE DE APROBACION: Cuando el Anteproyecto tiene
problemas de fondo; es decir, hay fallas en el enfoque teórico-
científico, el estudiante debe replantear sus formulaciones y darles
mayor fundamento. La Coordinación de Investigaciones programará
una sustentación privada citando al estudiante y al Calificador, para
dar a conocer las deficiencias de este. El estudiante deberá
presentar el Anteproyecto con las correcciones y someterlo a
evaluación nuevamente. Este proceso se podrá realizar una sola
vez. El Comité puede recomendar que se cambie el tema del
proyecto y se elabore un nuevo Anteproyecto.
o APLAZADO: Cuando el Anteproyecto tenga inconsistencias en el
enfoque teórico o debilidades internas que lo invaliden. El estudiante
deberá volver a matricular Proyecto de Grado I ya sea replanteando
el tema o seleccionando uno nuevo.
o ANULADO: Cuando se compruebe plagio en los aspectos de fondo y
ejecución del trabajo.
48
Para la aplicación de este artículo se establecen las siguientes normas:
1. Todo concepto emitido por los Calificadores es recibido por la Coordinación
de Investigaciones y luego pasado al Comité de Investigaciones con el fin
de que este apruebe la notificación al estudiante.
2. En los casos en que el estudiante deba hacer correcciones, entregará el
Anteproyecto corregido directamente a la Coordinación de Investigaciones
en la fecha estipulada. Si incumple el plazo fijado deberá matricular
nuevamente Proyecto de Grado I.
3. Es la Coordinación de Investigaciones quien se encarga de hacer llegar el
Anteproyecto corregido a los Calificadores.
4. Los Calificadores evalúan los cambios y envían su concepto final.
ARTICULO 108. Procedimiento para tramitar la entrega del informe final 29
El estudiante entrega a la Coordinación de Investigaciones el informe final, en
original y dos copias, debidamente aprobado por el Director. Si el Proyecto de
Grado es patrocinado por una entidad externa se debe incluir una carta expedida
por esta entidad, expresando su concepto acerca del trabajo desarrollado, además
se debe aportar comunicación escrita por parte del Director en la que avale el
trabajo desarrollado. El informe final será entregado en la Coordinación de
Investigaciones según la fecha establecida en el calendario académico y en la
carta de aprobación de matrícula de Proyecto de Grado I, en donde se notificó al
estudiante de dicha fecha. El Comité de Investigaciones se reunirá y asignará dos
Calificadores idóneos para tal fin, los cuales pueden ser los mismos que calificaron
el Anteproyecto. Cada Calificador tendrá un plazo máximo de 15 días calendario
para emitir su concepto sobre el informe final. Este concepto podrá ser:
29
UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI, Reglamento de Investigaciones, 2010. p. 38
49
APROBADO: Cuando el informe final cumple con todos los requisitos
exigidos por el Comité de Investigaciones.
APROBADO CON CORRECCIONES: Cuando el informe final tiene
problemas de forma (presentación); el estudiante debe cambiar la
presentación de acuerdo con los comentarios hechos por el Calificador, y
someterlo a evaluación nuevamente.
PENDIENTE DE APROBACION: Cuando el informe final tiene problemas
de fondo; es decir, hay fallas en el enfoque teórico-científico, el estudiante
debe replantear sus formulaciones y darles mayor fundamento. La
Coordinación de Investigaciones programará una sustentación privada
citando al estudiante y los Calificadores, para dar a conocer las deficiencias
de este. El estudiante deberá presentar el Proyecto con las correcciones y
someterlo a evaluación nuevamente. Este proceso se podrá realizar una
sola vez. El Comité puede recomendar que se cambie el tema y se elabore
un nuevo Proyecto.
NO APROBADO: Cuando el informe final tenga inconsistencias en el
enfoque teórico o debilidades internas que lo invaliden. La Coordinación de
Investigaciones programará una sustentación privada citando al estudiante
y los Calificadores, para dar la oportunidad al estudiante de defender su
trabajo con el fin de que los Calificadores reafirmen o cambien su concepto.
Si el concepto no cambia el estudiante deberá volver a matricular Proyecto
de Grado II. Existe la posibilidad de replantear el tema o iniciar con un
nuevo proyecto, lo cual implica iniciar nuevamente desde proyecto de
Grado I.
ANULADO: Cuando se compruebe plagio en los aspectos de fondo y
ejecución del trabajo; así como en el cumplimiento de los objetivos.
50
Para la aplicación de este artículo se establecen las siguientes normas:
1. Todo concepto emitido por el Calificador es recibido por la Coordinación de
Investigaciones y luego pasado al Comité de Investigaciones con el fin de
que este apruebe la notificación al estudiante.
2. En los casos en que el estudiante deba hacer correcciones, entregará el
informe final corregido directamente a la Coordinación de Investigaciones
en la fecha estipulada. Si incumple el plazo fijado deberá matricular
nuevamente Proyecto de Grado II.
3. Es la Coordinación de Investigaciones quien se encarga de hacer llegar el
informe final corregido a los Calificadores.
4. Los Calificadores evalúan los cambios y envían su concepto final.
A continuación se presentan los diagramas
de actividades para los procesos del negocio más importantes de la coordinación
de investigaciones.
Diagrama de actividades proceso de inscripción de temas. El diagrama de
actividades de inscripción de temas tiene como alcance desde el momento desde
que se consulta en los temas del banco de proyecto hasta el momento de su
inscripción.
6.1.2 Diagramas de Actividades.
51
Figura 4. Diagrama de actividades para el proceso de inscripción de temas
Diagrama de actividades proceso entrega anteproyecto. El diagrama de
actividades de entrega de anteproyecto tiene como alcance desde que se
matricula la materia proyecto de grado 1 hasta que se emite su calificación.
Estudiante Coordinador Comite Rectoria
Llegar
Consultar propuestas proyectos
Seleccionar uno o dos temas
Llenar ficha de inscripcion
Entregar ficha a la coordinacion
Analizar inscripciones
Socialiar a estudiantes
Designar Temas (Aprobar)Publicar en Cartelera
Proponer otro tema
Aprobar tema nuevo
Agregar Tema al banco
no le gusta el tema
Recibir Fichas Incripciones
Dar visto Bueno al Tema
52
Figura 5. Diagrama actividades entrega anteproyecto
Diagrama de actividades proceso entrega informe final. El diagrama de
actividades para la entrega del informe final corresponde con el diagrama de
entrega de anteproyecto, el proceso se desarrolla de la mima forma variando en la
calificación final.
Estudiante Director Coordinador Calificador
Elaborar Anteproyecto
Aprobar Anteproyecto
Asignar Calificador
Entregar Anteproyecto
Analizar Proyecto
Emitir Concepto
Notificar a estudiante
Reportar Materia
Revisar Anteproyecto Corregir Anteproyecto
Con errores
Sin errores
Corregir Anteproyecto Con errores / Pendiente
Aprobado
Aplazado
53
El objetivo de esta sección es comprender el
dominio del sistema, de modo que se pueda comprender lo procesos que se
intentan mejorar y el modo en que operan. Para esto se realiza una extracción de
sustantivos y verbos de la descripción de los procesos los cuales se convertirán en
las clases y acciones del sistema.
Extracción de Sustantivos. Proyecto, calendario, cartelera, facultad, temas de
investigación, docentes, estudiantes, formato inscripción, comité, líneas de
investigación, propuesta de tema, rector, visto bueno, idea, banco de proyectos,
anteproyecto, informe final, calificador, comité de calificaciones, concepto de
anteproyecto, concepto final, coordinador.
Extracción de Verbos. publicar, proponer, preseleccionar, registrar, analizar,
socializar, designar, incluir, avalar, seleccionar, aprobar, diligenciar, entregar,
elaborar, supervisar, revisar, aginar, analizar, emitir, notificar, aprobar, corregir,
evaluar, convocar.
Ahora se crearan las clases del sistema basado en la extracción de sustantivos,
teniendo en cuenta que no todos los sustantivos se convertirán en clases, ya que
algunos se convertirán en atributos.
Creación de Clases. Proyecto, Calendario, Cartelera, Facultad, Tema de
Investigación, Docente, Estudiante, Rector, Coordinador, Formato Inscripción,
Línea de Investigación, Programa Académico, Banco de Proyectos, Anteproyecto,
Informe Final, Calificador,
6.1.3 Análisis del dominio.
54
Figura 6. Diagrama Inicial de clases
Proyecto
-tema-anteproyecto-informeFinal
+agregarAnteproyecto()+agregarInformeFinal()+agregarTema()
Anteproyecto
-fehaEntrega-nota
InformeFinal
-fechaEntrega-nota
Estudiante
-nombres-correo-telefonos-direccion
+presentarAnteproyecto()+presentarInformeFinal()+inscribirTema()
Docente
-nombres-correo-telefonos-direccion Calificador
+revisarDocumento()+emitirCalificacion()
Coordinador
+asignarDirector()+asignarCalificador()+notificarEstudiante()+publicarCalendario()+recibirAnteproyecto()+recibirInformefinal()
Calendario
+actividad+fecha
Cartelera
+publicar()
Facultad
-nombre-coleccionProgramas
+agregarPrograma()
TemaInvestigacion
-titulo-descripcion-lineaInvestigacion
Rector
+darVistoBuenoTema()
LineaInvestigacion
-titulo
ProgramaAcademico
-nombre
BancoProyectos
-nombre-coleccionTemas-coleccionProyectos
+agregarTema()+agregarProyecto()
publicable
consulta cartelera
publica
+escoge tema
entrega
entrega
reciberecibe
documeta
55
Asociación de Clases
Asociaciones con Estudiante
El estudiante escoge un tema del banco de proyectos
El estudiante elabora un anteproyecto
El estudiante inscribe un tema para proyecto
El estudiante elabora un informe final
El estudiante entrega el anteproyecto al coordinador
El estudiante entrega el informe final al coordinador
El estudiante recibe notificación del coordinador
El estudiante perteneces a un programa académico
El estudiante consulta la cartelera
El estudiante cumple con un calendario
Asociación con Coordinador
El coordinador recibe inscripción de tema de proyecto
El coordinador recibe un anteproyecto del estudiante
El coordinador recibe un informe final del estudiante
El coordinador notifica al estudiante la nota del anteproyecto
El coordinador notifica al estudiante la nota del informe final
El coordinador asigna calificador a varios anteproyectos
El coordinador asigna calificador a varios informes finales
El coordinador convoca reunión con el comité de evaluación
El coordinador crea un calendario
El coordinador publica temas en la cartelera
56
Asociación con Calificador
El calificador recibe proyectos del coordinador
El calificador analiza varios anteproyectos
El calificador analiza varios informes finales
El calificador emite un concepto sobre el anteproyecto
El calificador emite un concepto sobre el informe final
El calificador envía los conceptos al coordinador
Asociaciones con Rector
El rector recibe una propuesta de un temas nuevo
El rector emite un visto de un tema nuevo
En reunión con el Coordinador de
investigaciones se determinaron las siguientes necesidades y funcionalidades de
la aplicación:
Contar con facilidad para administrar los datos de los estudiantes y los
docentes.
El sistema debe administrar la información de gestión de los proyectos.
El sistema debe permitir calcular los costos de los proyectos, valor pagado
por los estudiantes menos el valor cancelado a los docentes “director y
calificador”.
El sistema debe permitir llevar trazabilidad de los entregables de cada
proyecto, informes y documentos final.
El sistema debe permitir calificar los proyectos.
El sistema debe permitir agregar un director a un proyecto de grado.
6.1.4 Necesidades del sistema.
57
El sistema debe permitir agregar evaluadores a los proyectos.
El sistema debe permitir gestionar la información de los semilleros de
investigación (objetivos, nombre, proyectos).
El sistema debe permitir administrar integrantes de los semilleros.
La funcionalidad se agrupo por los diferentes clientes del sistema.
Figura 7. Paquetes de funcionalidad del sistema.
Casos de Uso para el paquete estudiantes
Inscribir un tema
Reportar Matricula de la Materia
Consultar temas
Cargar Anteproyecto
Cargar Informe final
Casos de Uso para el paquete Coordinador
Aprobar temas inscritos
Asignar director a proyectos
Asignar Calificador a proyectos
Publicar temas de proyectos
Aprobar proyectos
Estudiante Coordinador DirectorEvaluador Rector
58
Casos de Uso para el paquete Director
Consultar proyectos
Aprobar Proyecto
Autorizar entrega de documento
Agregar comentarios de seguimiento
Casos de Uso para el paquete Evaluador
Aprobar anteproyectos
Calificar informe final
Casos de Uso para el paquete Rector
Aprobar temas nuevos de proyectos
59
Figura 8. Diagrama de Casos de Uso
System
Inscribir Tema
Estudiante
Coordinador
Consultar Temas <<include>>
Estudiante
Reportar Materia
Cargar Documento
Aprobar Temas
<<include>>
Asignar Director
Asignar Calificador
Calificar Proyecto
Aprobar Proyecto
Consultar Proyectos
<<include>>
<<include>> Director
Evaluador
Estudiante
Evaluador
Director
60
6.2 ANALISIS
En esta etapa se desarrollan las
actividades para cada caso de uso.
Casos de Uso paquete estudiante
Consultar Temas
Para este caso de uso se asume que existe publicada una lista de temas en el
sistema Administración de proyectos y que el estudiante cuenta con un equipo con
conexiona internet.
1. El estudiante abre el portal de administración de proyectos
2. El sistema muestra un enlace que lo dirige a la lista de temas
3. El estudiante da clic en el enlace
4. El sistema muestra la lista de temas disponibles
Inscribir Temas
Para este caso es necesario que se haya realizado el caso de uso consultar temas
1. El estudiante consulta la lista de temas disponibles
2. En cada ítem el sistema muestra un enlace que permite inscribir un tema
3. El sistema confirma si el usuario es un estudiante y ha iniciado sesión
4. Si ha iniciado sección abre un formulario de inscripción de tema
5. El estudiante llena el formulario y lo envía
6. El sistema registra los datos y actualiza la lista de temas disponibles
7. El sistema envía un mensaje confirmando al estudiante que el tema fue
inscrito satisfactoriamente.
6.2.1 Haciendo realidad los casos de Uso.
61
Reportar Matricular materia
1. El estudiante entra al sistema e inicia sesión
2. El sistema muestra un link donde lo envía a la pagina para matricular
materia
3. El estudiante da clic en link para matricular materia
4. El sistema muestra un formulario
5. El estudiante llena el formulario y lo envía
6. El sistema envía un mensaje notificando que la materia fue matriculada
Cargar Anteproyecto
1. El estudiante ingresa al sistema e inicia sesión
2. El sistema muestra un pagina donde indica en que materia está matriculado
3. El sistema muestra las acciones que puede hacer según la materia en que
está matriculado
4. El estudiante da clic en el vinculo cargar anteproyecto
5. El sistema muestra un formulario donde se puede cargar el documento
6. El estudiante envía el documento
7. El sistema muestra un mensaje de confirmación que el documento fue
publicado exitosamente.
Cargar Informe final
1. El estudiante ingresa al sistema e inicia sesión
2. El sistema muestra un pagina donde indica en que materia está matriculado
3. El sistema muestra las acciones que puede hacer según la materia en que
está matriculado
4. El estudiante da clic en el vinculo cargar informe final
5. El sistema muestra un formulario donde se puede cargar el documento
62
6. El estudiante envía el documento
7. El sistema muestra un mensaje de confirmación que el documento fue
publicado exitosamente.
Casos de Uso para el paquete Coordinador
Aprobar temas inscritos
1. El coordinador ingresa al sistema
2. El sistema muestra un vinculo para ir la lista de temas inscritos
3. El coordinador da clic en el vinculo
4. El sistema muestra una lista de temas y un vinculo por cada tema para
aprobar
5. El coordinador verifica la información
6. El coordinador da clic el vinculo aprobar
7. El sistema actualiza el tema a estado aprobado
8. El sistema envía un mensaje notificando éxito en la transacción.
Asignar director a proyectos
1. El coordinador ingresa al sistema
2. El sistema muestra un vinculo para ir la lista de materias matriculadas
3. El coordinador da clic en el vinculo
4. El sistema muestra una lista las materias y los estudiantes y un vinculo por
cada una para asignar el director
5. El coordinador verifica la información
6. El coordinador da clic el vinculo asignar director
7. El sistema muestra un formulario donde el coordinador puede escoger el
director
8. El coordinador escoge el director y envía el formulario
63
9. El sistema actualiza la base de datos
10. El sistema envía un mensaje notificando éxito en la transacción.
Asignar Calificador a proyectos
1. El coordinador ingresa al sistema
2. El sistema muestra un vinculo para ir la lista de materias matriculadas
3. El coordinador da clic en el vinculo
4. El sistema muestra una lista las materias y los estudiantes y un vinculo por
cada una para asignar un calificador
5. El coordinador verifica la información
6. El coordinador da clic el vinculo asignar calificador
7. El sistema muestra un formulario donde el coordinador puede escoger el
calificador
8. El coordinador escoge el calificador y envía el formulario
9. El sistema actualiza la base de datos
10. El sistema envía un mensaje notificando éxito en la transacción.
Publicar temas de proyectos
1. El coordinador ingresa al sistema
2. El sistema muestra una página con las acciones para
agregar/modificar/eliminar temas
3. El coordinador realizar ajustes a los temas
4. El sistema muestra un vinculo publicar temas
5. El coordinador da clic en ese vinculo
6. El sistema crea una publicación con la lista de temas.
64
Casos de Uso para el paquete Director
Consultar proyectos
1. El director ingresa al sistema
2. El sistema muestra una página con los proyectos que tiene asignados
3. El director da clic en el proyecto que desea verificar.
Aprobar Proyecto
1. El director consulta el proyecto que va a aprobar
2. El sistema muestra un vinculo con la opción de aprobar proyecto
3. El director da clic en el vinculo
4. El sistema actualiza el estado del proyecto
5. El sistema envía un mensaje notificando la acción.
Autorizar entrega de documento
1. El director aprueba el proyecto
2. El sistema muestra un link imprime autorización de entrega
3. El director da clic en el vinculo
4. El sistema muestra un archivo pdf con los datos del proyecto autorizado
Agregar comentarios de seguimiento
1. El director consulta el proyecto
2. El sistema muestra un formulario para agregar comentarios
3. El director llena el formulario y lo envía
4. El sistema agrega comentarios al proyecto
65
Casos de Uso para el paquete Evaluador
Aprobar Proyectos
1. El calificador ingresa al sistema
2. El calificador consulta el proyecto
3. El sistema muestra un mensaje aprobar proyecto
4. El calificador da clic en el mensaje
5. El sistema muestra un formulario con la aprobación y comentarios
6. El calificador llena el formulario y lo envía
7. El sistema actualiza el estado del proyecto.
Calificar informe final
1. El calificador ingresa al sistema
2. El calificador consulta el proyecto
3. El sistema muestra un mensaje aprobar proyecto
4. El calificador da clic en el mensaje
5. El sistema muestra un formulario con la aprobación y comentarios
6. El calificador llena el formulario y lo envía
7. El sistema actualiza el estado del proyecto.
Casos de Uso para el paquete Rector. Aprobar temas nuevos de proyectos
1. El rector ingresa al sistema
2. El sistema muestra un listado de temas nuevos y un vinculo para aprobar el
tema
3. El rector analiza el tema y da clic en aprobar
4. El sistema actualiza el Tama y notifica la acción.
66
Figura 9. Diagrama de estado para Tema Proyecto
Figura 10. Diagrama de estado para Anteproyecto
PENDIENTE APROBACIONInscribir Tema APROBADO
entry/CrearProyecto
DESCARTADO
AprobarTema
DesacartarTema
EN DESARROLLO
REVISADO
entry/ImprimirCartaDirector
APROBADO
CON ERRORES
PENDIENTE
DESCARTADO
Revisar Anteproyecto
Corregir
Calificar Anteproyecto
Craar Anteproyecto
6.2.2 Cambios de Estado
67
Figura 11. Diagrama de estado para Informe Final
EN DESARROLLO
REVISADO
entry/ImprimirCartaDirector
APROBADO
CON ERRORES
PENDIENTE
DESCARTADO
Revisar Anteproyecto
Corregir
Calificar Anteproyecto
Craar Anteproyecto
68
6.3 DISEÑO
A continuación se presentan los diagramas
de componentes utilizados para el sistema, para el desarrollo de este proyecto se
creó componentes adicionales importantes para el funcionamiento del mismo, se
diseño una Librería que soportara las operaciones de presentación de paginas
HTML y Formularios Web.
Figura 12. Diagrama de componentes Librería HTML
Form
Table
Control
InputChek
InputText
InputHide
InputRadio
InputPass TextArea
Select
Form.php
Row
Cell
Table.php
Option
Html
DivA H Li
Ul
6.3.1 Diagrama de Componentes.
69
Figura 13. Diagrama de componentes sistema de seguridad
Users GroupsActivity
User Group
ActionScrips: Users
addUser()
editUser()
delUser()
login()
setPassword()
ActionScripts Group:
addGroup()
editGroup()
delGroup()
ScriptMaster
70
Figura 14. Diagrama de componentes del sistema listas y elementos
ContentType
ContentType.php
ColumnType
Column
Char Text Number
Query
Calculate
User
Date
System:User
Element
ListaDocument
Image Scripts
Master
ActionScripts:
addColumn()
editColumn()
delColumn()
editViews()
editFileter()
Recursos Externos
71
Figura 15. Diagrama de componentes general
Es diseño de la interfaz de usuario es
un conjunto de herramientas web que integradas le dan un aspecto agradable a la
aplicación, esta consta una portada de presentación en la parte superior, un menú
superior personalizable, un menú principal al lado izquierdo de la pantalla y una
zona de trabajo.
System
FrameWork
Component
Document
Estudiante
Docente
Tema
Anteproyecto
InformeFinal
Lista
Html
Form
Safety
Users
GUI: MasterIndex
6.3.2 Diseño de la interfaz de usuario.
72
Figura 16. Ventana sistema administración de proyectos AdminPro.
La herramienta de software para la
administración y gestión de los proyectos de grado de la Universitaria de
Investigación y Desarrollo se distribuirá por medio de la red local de la universidad,
conectada a la intranet y publicada con acceso desde internet, los individuos que
intervienen en el sistema podrán tener acceso a ella de la siguiente manera: El
coordinador de Investigaciones desde su PC en la oficina, Los Docentes desde la
sala de docentes en los PC destinados para ello conectados a la red local, Los
6.3.3 Planeación de la distribución.
73
estudiantes desde las aulas de informática. A continuación se presenta el
diagrama de distribución de la aplicación.
Figura 17. Diagrama de Distribución.
PC Central
Router Lan
Router Wan
PC Coordinador
Sala de Docentes
PC Estudiantes
GUI: Master
DB AdminPro
InernetInternet
Aulas de Informatica
74
6.4 DESARROLLO
La aplicación esta toda codificada en el lenguaje
de programación PHP, siguiendo los parámetros de la programación orientada a
objetos y los estándares de codificación de Zend Technologies, principal
desarrollador de PHP junto a su creador.
Para este proyecto se creó una Librería que soportara las actividades de
presentación HTML y de los formularios Web, y que se encargara de manejar los
eventos de creación, edición y eliminación de datos, administración de usuarios y
elementos del sistema, como menús, vistas, etc. A continuación se presenta las
clases y los métodos de la librería desarrollada para el sistema.
Detalle de clases más importantes del sistema.
Clase HTML. Esta clase tiene como objetivo controlar el comportamiento de la
pagina web en formato html, ella es la encargada de general una pagina html que
pueda ser interpretada por los navegadores.
Tabla 3. Métodos de la Clase Html
NOMBRE DESCRIPCION
Constructor Html()
addContent(content) Agregar cualquier tipo de contenido, textos, imágenes, capas, tablas, formularios, etc.
Clase Form. Esta clase es la encargada de modelar los formulario web del
sistema, en ella se interpretan los controles y accedo a los métodos de escritura
de las lista.
6.4.1 Generación del Código
75
Tabla 4. Métodos de la Clase Form
NOMBRE DESCRIPCION
Constructor Form(nombre,comentario)
addArea(string name, string comment) Agrega un aérea de datos para agrupar controles de formulario.
addControl(Control control, [string area]) Agrega un control al formulario en el área especificada
addControlboton(Control control) Agrega un control al área de botones del formulario.
setName(string name) Setea el nombre del formulario
setComment(string comment) Setea el un comentario para el formulario
setMethod(string method) Setea el método del formulario, puede ser POST o GET
setAction(string action) Setea el destino del formulario
setStyle(string style) Setea el estilo ccs del formulario
getComment() Obtiene el comentario del formulario
setList(Lista list) Asocia una clase lista al formulario
save() Guarda los datos del formulario en una lista previamente asociada con setList()
Redirect(string link) Re direcciona un formulario después de guardar los datos de una lista,
Clase Control. Esta es una clase abstracta que provee funciones y métodos para
crear controles para los formularios web, así como las interfaces necesarias para
que sea reconocido por el formulario.
Tabla 5. Métodos Clase Abstracta Control
NOMBRE DESCRIPCION
addAttrib(string attrib) Agrega un atributo al control de la forma “nombre:valor”
addValidator(string validator) Agrega un validador de la colecciond e validadores del sistema que pueden ser: IsNull, IsNumber
getComment() Devuelve el comentario de un control
getName() Devuelve el nombre de un control
getField() Devuelve un string con el campo de un control
getValidators() Devuelve un array con los validadores del control
setVisible() Estable la visibilidad del control “yes”, “no”
Abastract _getFiled() Clase abastracta que debe ser implementa en las clases hijas
76
Clases de Controles. Aquí se muestra los controles que se crearon para los
formularios, estas clases heredan los métodos de la clase control.
Tabla 6. Clases hijas de la clase control
NOMBRE DESCRIPCION
InputText(nombre, commentario , valor) Crea un control de tipo texto
InputPass(nombre, commentario , valor) Crea un control de tipo contraseña
InputCheck(nombre, commentario , valor) Crea un control de tipo opción de selección
InputRadio(nombre, commentario , valor) Crea un control de tipo opciones de selección
Select(nombre, commentario , valor) Crea un control de tipo caja de selección
InputHide(nombre, commentario , valor) Crea un control oculto
InputFile(nombre, commentario , valor) Crea un control para subir archivos
Clase Table: La clase table se encarga de modelar tablas web de una forma muy
sencilla, esta recibe como parámetros un array de datos por cada fila y apartir de
ellos crea la tabla.
Tabla 7. Métodos Clase Table
NOMBRE DESCRIPCION
addRow(array datos) Agrega una fila a la tabla a partir de un array de datos
Clase Lista. La clase lista tiene como objetivos modelar tablas asociadas a una
base de datos, ella se encarga de controlar las columnas que se agregan, los tipos
de contenidos y la forma como se guardaran los datos.
Tabla 8. Métodos de la Clase Lista
NOMBRE DESCRIPCION
addContentType(ContenteType content) Agrega un tipo de contenido a la lista
addElement(Element element) Agrega un elemento a la lista
delColumn(columnId) Elimina una columna de la lista
77
delElement(string Id) Elimina el elemento con código Id de la lista
editColumn(Column column) Modifica una columna existente en la lista
getColumn(string columnName) Devuelve la columna con nombre especificado, si no existe devuelve false
getColumns() Devuelve un array con todas las columnas de la lista
getComment() Devuelve el comentario de la lista
getElementForm() Devueve un objeto Form para un elemento de la lista
getElements() Devuelve todos los elementos de la lista
Load([filters]) Carga los elementos de lista según los filtros pasados como parámetros
newColumn(Column column) Crea una nueva columna en la lista
newElement() Crea un nuevo elemento para la lista
saveElement(Element element) Guarda el elemento pasado como parámetro
updateDataBase() Actualiza la base de datos
Clase Master. La clase master es la aplicación principal del sistema, todas las
paginas que se quieran reproducir en el sistema deben instanciar la aplicación
principal master, agregar los recursos al sistema y correr la aplicación a través de
master->run(). Ella se encarga de crear los menús y ensamblar los componentes
de la aplicaciones en la pagina web.
Tabla 9. Métodos de la clase Master
NOMBRE DESCRIPCION
add(contenido) Agrega contenido a la zona de trabajo de la aplicación
Run() Corre la aplicación
Star() Inicia la aplicación
Stop() Detiene la aplicación
Clase User. Esta clase es la encargada de manejar el control de los usuarios del
sistema, acceso a recursos y niveles de permisos concedidos a los usuarios.
78
Tabla 10. Métodos de la clase User
NOMBRE DESCRIPCION
getForm() Devuelve un formulario de modificación de usuario
getFormLogin() Devuelve un formulario para iniciar sesión
getGroups() Devuelve un array con los grupos a los que pertenece el usuario
getLogin() Devuelve el login del usuario
getName() Devuelve el nombre del usuario
getStyle() Devuelve el estilo personal del usuario
Static getUsers() Devuelve todos los usuarios del sistema
Static load(login) Carga un usuario con el login especificado
Password(password) Confirma que el password como parámetro coincida con el del usuario
Save() Guarda el usuario
Clase Group. Esta clase es la encargada de controlar los diferentes grupos
configurados para el sistema, asignar los permisos a cada recurso y validar que
los usuarios cuenten con los derechos suficientes a las peticiones que realice.
Tabla 11. Métodos de la clase Group
NOMBRE DESCRIPCION
addPass(array data) Agrega un listado de permisos al grupo
Allow(string source,string action) Verifica que el grupo tiene permisos para el recurso especificado
getForm() Devuelve un formulario de edición del grupo
getFormPass() Devuelve un formulario de edición de permisos para el grupo
getMenu() Devuelve el nombre del menú personalizado para el grupo
getName() Devuelve el nombre del grupo
getPage() Devuelve el nombre de la página de inicio del grupo
setMenu(string menu) Establece el nombre del menú personalizado
setPage(string page) Establece el nombre de la pagina principal
79
En este proyecto se utiliza las siguientes librerías
externas, desarrolladas por otros programadores para dar cierta funcionalidad a la
aplicación.
JQueryLighBox. Esta es una librería que permite mejorar la presentación de las
imágenes a los usuarios, este pluggin está escrito en java script y fue publicado
por Leandro Vieira Pinho en la página web.
http://leandrovieira.com/projects/jquery/lightbox/
PhpThumb. PhpThumb es una biblioteca de imágenes generación de miniaturas.
Cuenta con la capacidad de cambiar el tamaño, la anchura, altura, porcentaje y
girar imágenes. También cuenta con la capacidad de realizar varias
manipulaciones por instancia (también conocido como encadenamiento), sin la
necesidad de cerrar y volver a iniciar la clase con cada manipulación. Para más
información y documentación el proyecto está disponible la página web:
[http://phpthumb.gxdlabs.com] (http://phpthumb.gxdlabs.com)
Fpdf. fpdf es una librería php contiene funcionalidad para producir documentos
pdf, es gratuita, y su licencia permite que sea modificada libremente, esta librería
se incluyo para generar los reportes del sistema a partir de las vistas y paginas de
la aplicación.
Dompdf. Dompdf es una librería basada en fpdf para exportar código html a pdf,
esta librería se utiliza en el proyecto para exportar la página activa a pdf.
6.4.2 Librerías incluidas.
80
La siguiente es la estructura de los directorios
que componen el sistema, cada carpeta indica un packege del sistema.
AdminPro:.
├───config
├───Document
│ └───Proyectos1
├───Framework
│ └───Html
│ ├───Form
│ └───Table
├───Image
│ └───FotosProyectos
├───Library
│ ├───JqueryLightBox
│ └───PhpThumb
├───Lista
│ ├───Ciudades
│ ├───Docentes
│ ├───Estudiantes
│ ├───Facultad
│ ├───Lineas
│ ├───Programas
│ ├───Prueba
│ └───TemasProyectos
├───pages
├───Scripts
├───Styles
│ └───clasic
└───System
├───Components
│ ├───ContentType
│ │ └───ColumnTypes
│ ├───formScripts
│ └───Scripts
├───DataBase
├───icons
├───Menu
├───Safety
│ ├───activity
│ ├───Groups
│ └───Users
└───SystemFile
6.4.3 Estructura de Directorios.
81
6.5 IMPLEMENTACION
La implementación se llevo a cabo en la oficina de la Coordinación de
Investigaciones de la universitaria de Investigación y Desarrollo – UDI –.
Para ello se realizo la instalación de la aplicación en el computador principal de la
Coordinación de Investigaciones, se realizo pruebas de funcionamiento por parte
del Coordinador de Investigaciones y se llenaron los protocolos de recibo de los
casos de uso y las funcionalidades definidas en la recopilación de necesidades.
6.6 ALCANCE DEL SISTEMA
Este proyecto pretende entregar un sistema de información bajo la tecnología web
desarrollado en el lenguaje de programación Php con orientación a objetos, el cual
se implementara en la coordinación de investigaciones para la administración de
los proyectos de grado de las diferentes carreras que existen en la universidad.
El sistema tendrá la capacidad de agregar, modificar, eliminar y consultar los datos
de los proyectos de grado, los estudiantes y los docentes relacionados con los
mismos según roles y niveles de acceso definidos para cada individuo que
interviene en proceso, de modo que se garantice la seguridad de la información y
la calidad de la misma.
Esta aplicación debe permitir integra los procesos de gestión y desarrollo de los
proyectos de grado, permitiendo reducir los tiempos de entrega y mejorando la
comunicación entre los estudiantes, los directores de proyectos y la coordinación
de investigación, de tal manera que las personas que intervienen en el proceso se
vean beneficiadas con la implementación de la misma.
82
Esta herramienta se ha desarrollado no solo con la intención de cumplir
únicamente con del objetivo de la materia, si no que el núcleo y el FrameWork
desarrollado para la aplicación pueden ser expandidos y permiten generar nuevo
código y nuevas funcionalidades al sistema, de modo que estudiantes futuros
pueden reutilizar su potencial para nuevos proyectos.
6.7 EXPLICACION DEL SISTEMA
El sistema está desarrollado orientado a objetos, utilizando el concepto abierto /
cerrado, abierto a la expansión / cerrado a la modificación. El núcleo del sistema
está desarrollado para que funcione como un entorno de desarrollo simplificado
donde se pueden agregar nuevos componentes fácilmente, crear nuevas listas,
bibliotecas de documentos y de imágenes en pocos minutos, sin tener que escribir
una sola línea de código.
Basado en esta tecnología se agrego la funcionalidad que permite administrar los
proyectos de grado de la universidad, para esto se creó los siguientes recursos.
Recursos de listas
Lista de Estudiante
Lista de Docentes
Lista de Facultades
Lista de Línea de investigación
Lista de Temas de proyectos
Lista de Programas Académicos
83
Recursos de Documentos
Biblioteca de documentos para Anteproyectos
Biblioteca de documentos para Informes Finales
Para la seguridad del sistema se crearon los siguientes grupos de usuarios en el
sistema
Propietario. Grupo de usuario con permiso de todas las acciones y recursos del
sistema, no tiene limitaciones
Coordinadores. Grupo de usuarios para la administración de la plataforma, este
grupo tiene los permisos suficientes para agregar, modificar, eliminar, consultar
información de los estudiantes, docentes, temas, líneas, facultades y documentos
cargados en el sistema
Estudiantes. Grupo de usuarios con permisos para inscribir temas, cargar
documentos y modificar sus datos personales
Directores. Grupo de usuarios con permisos para modificar proyectos, agregar
comentarios, y modificar sus datos en el sistema.
Para facilitar la administración de los usuarios existe la posibilidad de vincular los
recursos de lista con los usuarios del sistema, de este modo pueden existir varias
listas con grupos de usuarios diferentes asociados a los usuarios del sistema, de
modo que los cambios realizados en la lista afectan los datos del usuario.
En este sistema se configuro la lista de Estudiantes y la Lista de Docentes con los
usuarios del sistema, que son quienes pueden realizar peticiones al sistema, la
84
lista docentes agrupa, tanto a directores, evaluadores como al coordinador de
investigaciones ya que todos son docentes de la universidad.
Asi de esta manera, el sistema funciona con la integración de estos recursos, la
información suministrada se almacena en una base de datos de MySql que es
administrada por el sistema, estas transacciones son transparentes para los
usuarios y quienes deseen crear nuevos recursos para la aplicación.
6.8 CARACTERISTICAS Y LIMITACIONES
En este capítulo se describen las características y limitaciones de la herramienta,
cantidad de usuarios permitidos, limitaciones de la base de datos y cantidad de
peticiones permitidas por el servicio.
MySQL es un SGBD que ha ganado
popularidad por una serie de atractivas características:
Está desarrollado en C/C++.
Se distribuyen ejecutables para cerca de diecinueve plataformas diferentes.
La API se encuentra disponible en C, C++, Eiffel , Java, Perl, PHP, Python,
Ruby y TCL.
Está optimizado para equipos de múltiples procesadores.
Es muy destacable su velocidad de respuesta.
Se puede utilizar como cliente-servidor o incrustado en aplicaciones.
Cuenta con un rico conjunto de tipos de datos.
Soporta múltiples métodos de almacenamiento de las tablas, con
prestaciones y rendimiento diferentes para poder optimizar el SGBD a cada
caso concreto.
Su administración se basa en usuarios y privilegios.
6.8.1 Características de la base de datos.
85
Se tiene constancia de casos en los que maneja cincuenta millones de
registros, sesenta mil tablas y cinco millones de columnas.
Sus opciones de conectividad abarcan TCP/IP, sockets UNIX y sockets NT,
además de soportar completamente ODBC.
Los mensajes de error pueden estar en español y hacer ordenaciones
correctas con palabras acentuadas o con la letra ’ñ’. • Es altamente
confiable en cuanto a estabilidad se refiere.
Limitaciones. Al comprender sus principios de diseño, se puede explicar mejor
las razones de algunas de sus carencias. Por ejemplo, el soporte de transacciones
o la integridad referencial (la gestión de claves foráneas) en MySQL está
condicionado a un esquema de almacenamiento de tabla concreto, de forma que
si el usuario no va a usar transacciones, puede usar el esquema de
almacenamiento “tradicional” (MyISAM) y obtendrá mayor rendimiento, mientras
que si su aplicación requiere transacciones, deberá usar el esquema que lo
permite (InnoDB), sin ninguna otra restricción o implicación.
Otras limitaciones son las siguientes:
No soporta procedimientos almacenados (se incluirán en la próxima versión
5.0).
No incluye disparadores (se incluirán en la próxima versión 5.0).
No incluye vistas (se incluirán en la próxima versión 5.0).
No incluye características de objetos como tipos de datos estructurados
definidos por el usuario, herencia etc.
La cantidad de usuarios que se pueden manejar y
administrar en la aplicación está determinada por la capacidad que se tenga en el
servidor de aplicaciones, esto debido a que el control de los usuarios es
independiente de la base de datos y no está sujeto a las limitaciones del SGBD.
6.8.2 Cantidad de usuarios.
86
La cantidad de peticiones o accesos realizados a
la aplicación está determinada por los requerimientos del servidor de aplicaciones,
memoria, procesador, disco duro, etc.
6.9 REQUERIMIENTO DEL SISTEMA
A continuación se menciona los requisitos de software y hardware que debe tener
el servidor y el cliente para el funcionamiento de la aplicación.
Para el funcionamiento de la aplicación el
servidor de aplicaciones debe contar con los siguientes requisitos.
Hardware
Procesador Pentium o ADM de 500mhz o superior
128 Mb de Memoria Ram o superior
Disco Duro 20 Gb o superior
Pantalla 600 * 800 dpi
Conexión a internet banda ancha 256 M
Software
Sistema operativo Windows XP / Linux
Servidor web Apache, php y MySql (AppServ)
Interntet Explorer 6 / Mozilla Firefox
6.8.3 Cantidad de peticiones.
6.9.1 Requerimiento del servidor.
87
AppServ. Es un software que permite la instalación en nuestro entorno Windows,
de los siguientes paquetes:
Apache Web Server (versión 2.2.3)
Lenguaje PHP (versión 5 o 4, en mi caso instale la 5.1.6)
Base de datos MySQL (versión 5.0.24)
Manejador de base de datos phpMyAdmin (versión 2.9.0.2)
El usuario necesita los siguientes
requerimientos mínimos para conectarse a la aplicación.
Hardware
Computador de escritorio o portátil
Servicio de conexión a internet
Software
Sistema operativo Windows XP / Linux
Interntet Explorer 6 o superior/ Mozilla Firefox
6.9.2 Requerimientos del cliente.
88
7. CONCLUSIONES
El desarrollo de este proyecto fue muy interesante por la complejidad de poder
acoplar tecnología y lenguajes de programación, como el caso de utilizar la
programación orientada a objetos en un lenguaje que está en crecimiento y aun no
tiene la madurez suficiente en este paradigma, Php aunque es un lenguaje potente
y tiene soporte para POO carece de herramientas de desarrollo en comparación
con otros lenguajes, como Java o Asp.net, que cuentan con todo un entorno que
simplifica las tareas del programador.
Desde el comienzo del proyecto se vio la necesidad de investigar profundamente
el paradigma de la programación orientada a objetos y como se podía implementar
con un leguaje web, de modo que el sistema no fuera solo una simple colección de
páginas, si no todo un conjunto de recursos que interactuaran entre sí para
alcanzar el objeto de la aplicación.
De esta manera se creó una colección de clases que son capaces de modelar
tipos de datos, listas, documentos, usuarios, entre otros, que son autónomos y que
facilitan el mantenimiento de modo que los cambios o actualización sufridas
internamente no afecta el funcionamiento del sistema. Esto permite que sea un
sistema escalable, flexible y expansible.
El tiempo invertido en el desarrollo de este proyecto fue fructífero y satisfactorio,
ya que se logro desarrollar un sistema que tiene la capacidad de adaptarse a otras
necesidades, crear nuevos contenidos, facilitar nuevos desarrollo y componentes,
que las generaciones futuras pueden ir perfeccionando y mejorando en sus
proyectos de grado.
89
Cumplir el objetivo de este proyecto se pudo lograr aplicando los conocimientos
adquiridos en el transcurso de la carrera de Ingeniería de Sistema, realizando
constante investigación y profundizando los temas de mayor impacto para el
proyecto, se investigo sobre estándares de codificación para producir un código
entendible y limpio, de modo que cualquier desarrollador pueda ser capaz de
comprenderlo en poco tiempo.
Se trato de seguir la metodología seleccionada, que fue el rumbo trazado y el
camino que se debía seguir, como no se conto con un FrameWork como el de
visual.net, se vio la necesidad de crear una librería basada en los estándares de
codificación de zend technologies, lo cual produjo que el desarrollo se desviara un
poco de la metodología, al final contar con un librería facilito el desarrollo del
sistema.
AdminPro es una puerta abierta para el desarrollo de nuevos proyectos, su librería
puede servir de soporte a los estudiantes que estén interesados en adquirir este
conocimiento, las limitaciones de esta herramienta están sujetas a la imaginación
de cada estudiante.
90
8. RECOMENDACIONES
Sería interesante implementar este proyecto no solo como un sistema de
administración único para la universidad, sino como un sistema nacional de
administración de proyectos, integrando el desarrollo de los proyectos con todas
las universidades del país, esto causaría que los proyectos se orientaran hacia un
solo objetivo “evolución conjunta”, muchas veces se hacen proyectos que ya
existen en otra universidad o son similares sin ni siquiera conocer la existencia
uno del otro, con una integración se eliminaría la redundancia y se podría mejorar
proyectos ya existentes, aportar ideas entre los alumnos de diferentes universidad
y conseguir mejores resultados.
Como para el desarrollo de este proyecto se necesito crear una librería que
soportara los procesos básicos de almacenamiento y visualización de datos, esta
se puede continuar desarrollando y aplicando en nuevos proyectos que requieran
la implementación se sistemas open source, para ello se recomienda continuar
con los estándares de codificación utilizados en este proyecto y definidos por la
empresa Zend Tecnhologies.
Actualmente los formularios de captura de datos se pueden crear fácilmente por
código, este proceso lo pueden hacer personas con experiencia en la librería
utilizada por el proyecto, para facilitar la tarea a los usuarios, se puede desarrollar
una herramienta que permita crear los formularios desde el mismo internet con
algunos clics, que el usuario pueda seleccionar que campos ver en el formulario y
que campos desea ocultar, de este manera se puede variar la funcionalidad del
sistema y hacer más potente la herramienta.
El modelo de objetos de las listas crear para cada lista nueva recursos y objetos
que quedan publicados en el servidor para mejorar la seguridad de los objetos se
91
recomienda mover los objetos de modo que queden ocultos a los usuarios de
modo que no se publiquen directamente desde el servidor, si no, a través de los
recursos de vistas y formularios.
Para asegurar la implementación de la herramienta es conveniente realizar talleres
de capacitación a los estudiantes de últimos semestres con el fin de transmitirles
el conocimiento el manejo de la aplicación, para que puedan sacar provecho de
las ventajas de la herramienta, tener en cuenta las sugerencias de los estudiantes
y posibles mejoras que se puedan implementar y formar un grupo de investigación
que mantenga actualizado este sistema de información.
92
BIBLIOGRAFÍA
CHAPARRO, Gilberto Andrés y FORERO, Luis Alejandro. Sistema de Información
Para la administración de Proyectos de Grado [SIAP]. Trabajo de grado Ingeniería
de Sistemas. Bogotá DC.: Pontificia Universidad Javeriana. Facultad de Ingeniería
de Sistema 2005, 159 p.
CODESIS, Técnico Diseño Grafico y Programación, 2000
CORTES, Amanda. Gestión de Proyectos de investigación [Internet]. Disponible
desde: www.banrepcultural.org/blaavirtual/educacion/expedocen/expedocen4a
FONSECA, Sergio Andrés. Sistema de Información Para la administrar y controlar
los Proyectos de Grado del programa de Tecnología en Informática [SYSCOTEG].
Trabajo de grado Tecnología de Informática. Bogotá DC.: Corporación
Universitaria Minuto de Dios. Facultad de Ingenierías 2005, 86 p.
Grupo PHP. Manual de PHP. 2007
I, Gilfillan. La Biblia de MySql, Ed. Anaya Multimedia.
JOYANES. Luis, Fundamentos de programación. Ed. Mc Graw Hill. (2003)
PEÑA, Alejandro. Ingeniería de software: Guía para crear sistemas de
información. México D.F.: Instituto Politécnico Nacional. 2006. 120 p. ISBN: 970-
94797-0-9
93
PLACE, Enrique. Programación Orientada a Objetos para php5. Surforce /
Formación, 2009, 294 p.
P. Salvador. Curso MySql. 2005
SCHMULLER, Joseph. Aprendiendo UML en 24 horas. Prentice Hall. 2002. 404 p.
SCOTT, George M. Principios de Sistemas de Información. Ed. Mc Graw Hill, 2003
UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI, Reglamento de
investigación. 2010. 48 p.