Está en la página 1de 94

DISEO E IMPLEMENTACIN DE LA PLATAFORMA DE INVESTIGACIONES DE LA UNIVERSITARIA DE INVESTIGACIN Y DESARROLLO UDI BARRANCABERMEJA

RAUL ERNESTO RAMOS GUZMAN

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI FACULTAD DE INGENIERIAS INGENIERIA DE SISTEMAS BARRANCABERMEJA 2012

DISEO E IMPLEMENTACIN DE LA PLATAFORMA DE INVESTIGACIONES DE LA UNIVERSITARIA DE INVESTIGACIN Y DESARROLLO UDI BARRANCABERMEJA

RAUL ERNESTO RAMOS GUZMAN

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI FACULTAD DE INGENIERIAS INGENIERIA DE SISTEMAS BARRANCABERMEJA 2012

DISEO E IMPLEMENTACIN DE LA PLATAFORMA DE INVESTIGACIONES DE LA UNIVERSITARIA DE INVESTIGACIN 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

DEDICATORIA A Dios. Por haberme permitido llegar hasta esta aqu, por darme la salud y el entendimiento para afrontar todos los retos del da a da, por caminar a mi lado en cada paso de mi vida. A mis padres. Por su esmero y preocupacin para brindarme lo mejor, por la educacin 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 dedicacin, amor, y comprensin 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 inspiracin para seguir adelante, en un mundo que cada da es ms exigente, con el propsito de poder ofrecerles una vida digna y una excelente educacin. A mis maestros. Por haberme mostrado el camino y haber sido gua excelentes en mi formacin acadmica, por preocuparse por trasmitir sus conocimientos y contribuir a la formacin de mejores personas para la sociedad.

AGRADECIMIENTOS

Con su valiosa colaboracin 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 Docente UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI Coordinador de Investigaciones UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI

HUGO JAVIER MANTILLA

VITERBO BARRERA BARROSO

Tambin agradezco a mis padres, esposa e hijos por su apoyo incondicional durante la realizacin de este trabajo de grado, agradezco a mis compaeros de trabajo por su colaboracin en los cambios de turno, lo que me permiti culminar satisfactoriamente la carrera de ingeniera.

CONTENIDO

Pg.

INTRODUCCION 1. DESCRIPCION GENERAL DEL PROYECTO 1.1 DESCRIPCION DEL PROBLEMA 1.2 OBJETIVOS 1.2.1 Objetivo general. 1.2.2 Objetivos especficos. 1.3 ANTECEDENTES 1.3.1 Sistemas actuales. 1.4 JUSTIFICACIN

16 17 17 18 18 19 19 20 21

2. MARCO TEORICO 2.1 PROYECTOS DE GRADO 2.1.1 Qu es un proyecto de grado? 2.2 SISTEMA DE INFORMACIN 2.2.1 Definicin. 2.2.2 Entrada de Informacin. 2.2.3 Almacenamiento de informacin. 2.2.4 Procesamiento de Informacin. 2.2.5 Salida de Informacin. 2.3 HERRAMIENTAS DE DISEO Y DESARROLLO 2.3.1 Diseo Orientado a Objetos. 2.3.2 Lenguajes de programacin.

22 22 22 22 22 23 23 23 24 24 24 24

3. HERRAMIENTAS DE DESARROLLO SELECCIONADAS 3.1 ORIENTACIN A OBJETOS 3.1.1 Ventajas de la orientacin a objetos. 3.2 UML 3.2.1 Star Uml. 3.3 PGINAS WEB 3.4 SOFTWARE OPEN SOURCE 3.4.1 PHP. 3.4.2 Mysql. 3.4.3 Apache. 3.5 EXPERIENCIA EN LA APLICACIN DE SOFTWARE OPEN SOURCE 3.5.1 Facebook.

28 28 29 29 30 31 32 32 35 36 37 37

4. ESTADO DEL ARTE

39

5. METODOLOGA 5.1 GRAPPLE 5.1.1 Por qu usar Grapple?

41 41 42

6. DISEO Y DESARROLLO 6.1 RECOPILACION DE NECESIDADES 6.1.1 Proceso del negocio. 6.1.2 Diagramas de Actividades 6.1.3 Anlisis del dominio. 6.1.4 Necesidades del sistema. 6.2 ANALISIS 6.2.1 Haciendo realidad los casos de Uso. 6.2.2 Cambios de Estado

44 44 44 50 53 56 60 60 66

6.3 DISEO 6.3.1 Diagrama de Componentes. 6.3.2 Diseo de la interfaz de usuario. 6.3.3 Planeacin de la distribucin. 6.4 DESARROLLO 6.4.1 Generacin del Cdigo 6.4.2 Libreras incluidas. 6.4.3 Estructura de Directorios. 6.5 IMPLEMENTACION 6.6 ALCANCE DEL SISTEMA 6.7 EXPLICACION DEL SISTEMA 6.8 CARACTERISTICAS Y LIMITACIONES 6.8.1 Caracteristicas de la base de datos. 6.8.2 Cantidad de usuarios. 6.8.3 Cantidad de peticiones. 6.9 REQUERIMIENTO DEL SISTEMA 6.9.1 Requerimiento del servidor. 6.9.2 Requerimientos del cliente. 7. CONCLUSIONES 8. RECOMENDACIONES BIBLIOGRAFA ANEXOS

68 68 71 72 74 74 79 80 81 81 82 84 84 85 86 86 86 87 88 90 92 94

LISTA DE TABLAS

Pg.

Tabla 1. Proyectos de grado presentados ao 2010 Tabla 2. Proyectos de grado presentados ao 2011 Tabla 3. Mtodos de la Clase Html Tabla 4. Mtodos de la Clase Form Tabla 5. Mtodos Clase Abstracta Control Tabla 6. Clases hijas de la clase control Tabla 7. Mtodos Clase Table Tabla 8. Mtodos de la Clase Lista Tabla 9. Mtodos de la clase Master Tabla 10. Mtodos de la clase User Tabla 11. Mtodos de la clase Group

17 18 74 75 75 76 76 76 77 78 78

LISTA DE FIGURAS

Pg.

Figura 1. Pagina web rea de investigaciones de la UDI Figura 2. Ilustracin grafica arquitectura cliente servidor Figura 3. Ejemplo de un modelo Entidad-Relacin Figura 4. Diagrama de actividades para el proceso de inscripcin de temas Figura 5. Diagrama actividades entrega anteproyecto Figura 6. Diagrama Inicial de clases Figura 7. Paquetes de funcionalidad del sistema. Figura 8. Diagrama de Casos de Uso Figura 9. Diagrama de estado para Tema Proyecto Figura 10. Diagrama de estado para Anteproyecto Figura 11. Diagrama de estado para Informe Final Figura 12. Diagrama de componentes FrameWork HTML Figura 13. Diagrama de componentes sistema de seguridad Figura 14. Diagrama de componentes del sistema listas y elementos Figura 15. Diagrama de componentes general Figura 16. Ventana sistema administracin de proyectos AdminPro. Figura 17. Diagrama de Distribucin.

20 26 27 51 52 54 57 59 66 66 67 68 69 70 71 72 73

10

LISTA DE ANEXOS

Pg.

Anexo A. Estndar de Codificacin Zend Anexo B. Manual de Instalacin AdminPro Anexo C. Manual de Usuario AdminPro Anexo D. Actas de Reuniones. Anexo E. Articulo IEEE

94 118 128 140 151

11

GLOSARIO AdminPro. Titulo al producto desarrollado para este proyecto DISEO E IMPLEMENTACIN DE LA PLATAFORMA DE INVESTIGACIONES DE UNIVERSITARIA DE INVESTIGACIN 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 programacin embebido que opera del lado del servidor en un entorno cliente servidor

Poo. Programacin Orientada a Objetos, paradigma de la programacin que permite modelar objetos reales en un lenguaje estructurada.

Proyecto. Aplicacin terica o terico-prctica de los conocimientos y destrezas adquiridas en el proceso de formacin profesional.

Semillero. Titulo dado a los grupos de investigacin conformados por los estudiantes activos y egresados de la universidad.

Siap. Sistema de informacin para la administracin de proyectos, desarrollado por los estudiantes de la Universidad Javeriana para la carrera Ingeniera de sistemas.

12

Sistema. Sistema informtico o de computadora que colabora con la gestin de procesos de una entidad.

Syscoteg. Sistema de informacin para administrar y controlar los proyectos de grado del programa de tecnologa informtica, en la Corporacin Universitaria Minuto de Dios, desarrollado por los estudiantes del programa Tecnologa en Informtica.

Uml. Lenguaje de modelado unificado, lenguaje utilizado para modelar proyectos orientados a objetos.

13

RESUMEN

El siguiente trabajo de grado corresponde al diseo y desarrollo de un software de computadora que ayudara al rea de investigacin de la Universitaria de Investigacin y Desarrollo - UDI - , con los procesos de gestin de los proyectos de grado presentados por los estudiantes de los diferentes programas acadmicos que brinda la institucin.

Este software permite acoplar y estructurar las responsabilidades de las personas que intervienen en el proceso de presentacin de un proyecto, desde la inscripcin de los temas, hasta la aprobacin de las materias y calificacin final.

El desarrollo se realizo por fases, empezando por etapa de recopilacin de necesidades, anlisis, diseo y codificacin, los lenguajes utilizados son: programacin orientada a objetos con Php, lenguaje de consultas de bases de datos con MySq y pginas web con HTML y java script.

14

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.

15

INTRODUCCION

En la Coordinacin de Investigaciones de la Universitaria de Investigacin y Desarrollo UDI, naci la necesidad de un sistema de informacin que permita y facilite la administracin de los proyectos de grado, proceso esencial para la culminacin exitosa de las carreras tecnolgicas y de ingeniera con las que cuenta la universidad. De ah germino el concepto de AdminPro, un software de administracin de proyectos y que deba cumplir con los aspectos vistos durante la carrera de ingeniera de sistema.

Este documento es el resultado del trabajo realizado durante un ao de investigacin, que contempla el diseo e implementacin de un software que se entregara a la Coordinacin de Investigaciones que cumple con las

especificaciones requeridas para el beneficio de los estudiantes, directores y evaluadores de proyectos de grado.

A continuacin se presenta la informacin detallada sobre este trabajo de grado, objetivos, etapas de desarrollo, funciones y aplicabilidades del mismo.

16

1. DESCRIPCION GENERAL DEL PROYECTO

1.1

DESCRIPCION DEL PROBLEMA

Actualmente en la Universitaria de Investigacin y desarrollo UDI, la Coordinacin de Investigaciones no cuenta con herramientas tecnolgicas que le permitan una fcil gestin de los proyectos que se generan en las diferentes lneas de investigacin como son: los proyectos de grado y los semilleros de investigacin, los cuales deben ser aprobados por los estudiantes para la exitosa terminacin de su carrera profesional, lo que ocasiona que se manipule un gran volumen de informacin que al no ser tratado de forma adecuada causa baja efectividad en los tiempos de entrega, en los tiempos de revisin y en los tiempos de aprobacin de los documentos en cada una de las etapas del proceso de evaluacin de los proyectos. Adems, para la adjudicacin de los proyectos se debe realizar un cruce de informacin 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 evolucin 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 implementacin de una herramienta tecnolgica.

A continuacin se presenta un anlisis los proyectos presentados en los ltimos dos aos 2010 y 2011 respectivamente.
Tabla 1. Proyectos de grado presentados ao 2010
PROYECTOS DE GRADO PRESENTADOS AO 2010 SEMESTRE PROYECTOS TECNOLOGIA PROYECTO DE GRADO I PROYECTOS DE GRADO II TOTAL

Primer Semestre Segundo Semestre

10 14

6 21

11 7

27 42

Fuente. Coordinacin de Investigaciones, Universitaria de Investigacin y Desarrollo UDI

17

Tabla 2. Proyectos de grado presentados ao 2011


PROYECTOS DE GRADO PRESENTADOS AO 2010 SEMESTRE PROYECTOS TECNOLOGIA PROYECTO DE GRADO I PROYECTOS DE GRADO II TOTAL

Primer Semestre Segundo Semestre

17 12

16 17

20 15

53 44

Fuente. Coordinacin de Investigaciones, Universitaria de Investigacin y Desarrollo UDI

Como se puede observar en el ao 2010 se presentaron 69 proyectos y en el ao 2011 se presentaron 97 proyectos, 28 proyectos ms que el ao inmediatamente anterior, esto demuestra que cada ao los proyectos de investigacin presentados aumentan, ocasionando que los procesos manuales de gestin y seguimiento se tornen complejos y sea ms difcil de administrar la informacin, para dar solucin a esta situacin es necesario contar con herramientas tecnolgicas que permitan agilizar estos procesos y permitan llevar un mejor organizacin y control de la informacin, por lo tanto si se implementa una herramienta de software basada en la web se puede optimizar los tiempos, mejorar comunicacin y aumentar la productividad en el proceso de gestin y desarrollo de proyectos de grado en la Universitaria de Investigacin y Desarrollo UDI , al tiempo que se contribuye con la preservacin del medio ambiente al racionalizar el uso del papel fsico con la utilizacin de documentos virtuales.

1.2

OBJETIVOS

1.2.1 Objetivo general. Optimizar el departamento de investigacin de la universitaria de investigacin y desarrollo UDI, para la administracin y gestin de los proyectos de grado y semilleros de investigacin mediante la sistematizacin de procesos con la implementacin de tecnologas de software orientadas a la web.

18

1.2.2 Objetivos especficos.

1. Recopilar las necesidades del sistema mediante la utilizacin de tcnicas de recoleccin de la informacin y anlisis del dominio.

2. Analizar el sistema a travs de los datos recopilados incorporando el diseo de los casos de uso, de los diagramas de clase y los diagramas comunicacin entre objetos.

3. Disear los componentes del sistema como son los diagramas de objetos, los diagramas de componentes y los prototipos de interfaz de usuario incluyendo la planificacin para la distribucin.

4. Implementar solucin propuesta con estndares de ingeniera del software y las pruebas de operacin del sistema diseado.

1.3

ANTECEDENTES

El proyecto est destinado a la administracin de los proyectos de las diferentes carreras universitarias de la Universitaria de Investigacin y Desarrollo UDI , actualmente el volumen de informacin que manipula el rea de investigaciones de la universidad va en crecimiento, lo cual hace ms complejo la administracin, seguimiento, gestin y culminacin de los proyectos de grado presentados por los estudiantes.

El sistema de informacin propuesto pretende agilizar los procesos de gestin de proyectos, reduciendo los tiempos de entrega y mejorando la comunicacin entre las partes que interviene en el proceso, el cual ser de ayuda para los estudiantes que estn culminando sus estudios, contando con una herramienta que les permite gestionar el desarrollo del proyecto de una forma fcil y eficiente.

19

1.3.1 Sistemas actuales. La universitaria cuenta con una herramienta para la direccin de investigaciones publicada en la pgina web de la universidad, esta herramienta es de solo consulta y en ella se encuentra publicado todos los formatos necesarios en la gestin 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 gestin, 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. Pgina Web oficial de la Universitaria de Investigacin y Desarrollo UDI

20

Despus de explorar las herramientas publicadas por la universidad, revisar la documentacin suministrada Formatos y Reglamentos, y consultar con el Coordinador de Investigaciones, no se encontr informacin sobre la existencia de un sistema de informacin que colabore con la gestin de los proyectos de grado, con AdminPro se pretende que sea ms que una herramienta de consulta, se pretende que tanto estudiantes como directores cuenten con un espacio de colaboracin, donde puedan agregar sus comentarios a los proyectos, ver los avances del mismo, consultar otros proyectos terminados, tener histricos, etc.

1.4

JUSTIFICACIN

La misin de la universitaria de investigacin contempla promover, disear, desarrollar e implementar estrategias, herramientas de apoyo y proyectos de investigacin aplicada, de innovacin tecnolgica, 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 realizacin y presentacin de los proyectos y que colabore con la administracin de los documentos en las diferentes lneas de investigacin que tiene la universidad.

La realizacin de este proyecto se alinea con la misin de la universidad incorporando a los estudiantes de pregrado en el desarrollo de esta herramienta tecnolgica que optimizara el proceso de presentacin de los proyectos de grado y a su vez contara con una fuente de informacin sobre proyectos desarrollados anteriormente que servir de consulta a nuevas investigaciones.

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI, Reglamento de Investigaciones, 2010. p. 11

21

2. MARCO TEORICO

2.1

PROYECTOS DE GRADO

2.1.1 Qu es un proyecto de grado? Un Proyecto de Grado consiste en una aplicacin terica o terico-prctica de los conocimientos y destrezas adquiridas en el proceso de formacin profesional, para el anlisis y solucin de un determinado problema; dentro del rea o campo de formacin. El Proyecto de Grado versar sobre temticas especficas del Programa Acadmico. Estas pueden involucrar el desarrollo de nuevos conocimientos, sistematizacin de conocimientos existentes, la adaptacin de tecnologas, el diseo, realizacin y evaluacin de proyectos de intervencin, la formulacin y solucin de problemas de investigacin y la investigacin y discusin crtica de fundamentos tericos. Los Proyectos de Grado debern estar enmarcados en las lneas de investigacin propuestas por la Facultad.2

2.2

SISTEMA DE INFORMACIN

2.2.1 Definicin. Sistema de informacin (SI) es un conjunto de elementos orientados al tratamiento y administracin de datos e informacin, organizados y listos para su posterior uso, generados para cubrir una necesidad. Estos elementos interactan entre s para procesar los datos (incluyendo procesos manuales y automticos) dando lugar a informacin ms elaborada y distribuyndola de la manera ms adecuada posible en una determinada organizacin en funcin de sus objetivos3.

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

22

Un sistema de informacin realiza cuatro actividades bsicas: almacenamiento, procesamiento y salida de informacin.

entrada,

2.2.2 Entrada de Informacin. Es el proceso mediante el cual el Sistema de Informacin toma los datos que requiere para procesar la informacin. Las entradas pueden ser manuales o automticas. Las manuales son aquellas que se proporcionan en forma directa por el usuario, mientras que las automticas son datos o informacin que provienen o son tomados de otros sistemas o mdulos. Esto ltimo se denomina interfaces automticas. Las unidades tpicas de entrada de datos a las computadoras son las terminales, las cintas magnticas, las unidades de diskette, los cdigos de barras, los escner, la voz, los monitores sensibles al tacto, el teclado y el mouse, entre otras.4

2.2.3 Almacenamiento de informacin. El almacenamiento es una de las actividades o capacidades ms importantes que tiene una computadora, ya que a travs de esta propiedad el sistema puede recordar la informacin guardada en la seccin o proceso anterior. Esta informacin suele ser almacenada en estructuras de informacin denominadas archivos. La unidad tpica de almacenamiento son los discos magnticos o discos duros, los discos flexibles o diskettes y los discos compactos (CD-ROM). 5

2.2.4 Procesamiento de Informacin. Es

la

capacidad

del

Sistema

de

Informacin para efectuar clculos de acuerdo con una secuencia de operaciones preestablecida. Estos clculos pueden efectuarse con datos introducidos recientemente en el sistema o bien con datos que estn almacenados. Esta caracterstica de los sistemas permite la transformacin de datos fuente en informacin que puede ser utilizada para la toma de decisiones, lo que hace posible, entre otras cosas, que un tomador de decisiones genere una proyeccin
4

SCOTT, George M. Principios de Sistemas de Informacin. Ed. Mc Graw Hill, 2003

23

financiera a partir de los datos que contiene un estado de resultados o un balance general de un ao base. 5

2.2.5 Salida de Informacin. La salida es la capacidad de un Sistema de Informacin para sacar la informacin procesada o bien datos de entrada al exterior. Las unidades tpicas de salida son las impresoras, terminales, diskettes, cintas magnticas, la voz, los grficadores y los plotters, entre otros. Es importante aclarar que la salida de un Sistema de Informacin puede constituir la entrada a otro Sistema de Informacin o mdulo. En este caso, tambin existe una interface automtica de salida.5

2.3

HERRAMIENTAS DE DISEO Y DESARROLLO

2.3.1 Diseo Orientado a Objetos. El diseo orientado a objetos es un proceso de construir un modelado de objetos constituyentes que brinden solucin a un problema, y que permitan modelar un sistema de una forma abstracta de modo que facilite su compresin y dominio, esto se logra mediante la abstraccin de la vida real en objetos y encontrando relaciones entre los mimos.

Para integrar el proceso de diseo con el desarrollo en la construccin de software se cre el estndar 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 smbolos y diagramas que tienen fines distintos dentro del proceso de desarrollo6.

2.3.2 Lenguajes de programacin. Un lenguaje de programacin es un idioma artificial diseado 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

24

por mquinas como las computadoras, Est formado por un conjunto de smbolos y reglas sintcticas y semnticas 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 cdigo fuente de un programa informtico se le llama programacin7. Actualmente se pueden destacar dos tipos de lenguajes segn su orientacin.

Lenguajes de Escritorio.

Son aquellos lenguajes de programacin 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 programacin de

aplicaciones para la internet, que se ejecutan por medio de una arquitectura cliente-servidor y que requieren de una conexin en red (intranet/internet para que funcione) de esta manera se puede compartir informacin, 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 peticin o solicitud de informacin al servidor, el servidor procesa la informacin y devuelve al cliente los resultados. 8

7 8

JOYANES, Luis, Fundamentos de programacin. Ed. Mc Graw Hill. (2003) CODESIS, Tcnico Diseo Grafico y Programacin. 2000

25

Figura 2. Ilustracin grafica arquitectura cliente servidor

Fuente: Internet, http://informaticaveronicamartinez.blogspot.com/2011/05/modelo-clienteservidor.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 travs de una red de computadoras que se conecta con el servidor de la aplicacin, esto permite que todos los clientes siempre estn utilizando la ltima versin de la aplicacin, 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 informacin de una empresa o negocio en particular.10

Caractersticas de las base de datos. Entre las principales caractersticas de los sistemas de base de datos podemos mencionar:

1. Independencia lgica y fsica de los datos. 2. Redundancia mnima.


9

10

JOYANES. Luis, Fundamentos de programacin. Ed. Mc Graw Hill. (2003) P. Salvador. Curso MySql. 2005

26

3. Acceso concurrente por parte de mltiples usuarios. 4. Integridad de los datos. 5. Consultas complejas optimizadas. 6. Seguridad de acceso y auditora. 7. Respaldo y recuperacin. 8. Acceso a travs de lenguajes de programacin estndar.

Sistema de Gestin de Base de Datos (SGBD). Los Sistemas de Gestin de Base de Datos (en ingls DataBase Management System) son un tipo de software muy especfico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definicin de datos, de un lenguaje de manipulacin de datos y de un lenguaje de consulta. 11 Modelo entidad relacin. Los diagramas o modelos entidad-relacin (denominado por su siglas, ERD Diagram Entity relationship) son una herramienta para el modelado de datos de un sistema de informacin. Estos modelos expresan entidades relevantes para un sistema de informacin, sus interrelaciones y propiedades. 11

Figura 3. Ejemplo de un modelo Entidad-Relacin

Fuente: P. Salvador. Curso MySql. 2005 p. 17

11

P. Salvador. Curso MySql. 2005

27

3. HERRAMIENTAS DE DESARROLLO SELECCIONADAS

3.1

ORIENTACIN A OBJETOS

El desarrollo de proyectos software ha sufrido grandes cambios desde los primeros sistemas de clculo hasta los sistemas de informacin actuales. El Primer cambio fue la aparicin del modelo relacional, un modelo con fuerte base matemtica que supuso el desarrollo de las bases de datos y propici la aparicin de los grandes sistemas de informacin. El segundo cambio es sobre los lenguajes de programacin, la aparicin de los Lenguajes Orientados a Objetos supuso una revolucin en la industria software. El problema entonces radicaba en poderle sacar partido a los lenguajes orientados a objetos por lo que aparecieron numerosas metodologas para el diseo orientado objetos, sobre todo en lo que respecta a la modelizacin de sistemas de software, entonces aparecio UML (Unified Modeling Languaje, Lenguaje Unificado de Modelado) que pretende unificar las tres metodologas ms difundidas (OMT, Bootch y OOSE) e intentar que la industria software alcance su maduracin como Ingeniera. UML

proporciona las herramientas necesarias para poder obtener los modelos del software basados en la observacin de la realidad, En un modelo se han de incluir los elementos que tengan ms relevancia y omitir los que no son necesarios para el nivel de abstraccin que se ha elegido. A travs del modelado se consigue cuatro objetivos: 12

Los modelos ayudan a visualizar cmo es se quiere que sea un sistema. Los modelos permiten especificar la estructura o el comportamiento de un sistema. Los modelos proporcionan plantillas que guan en la construccin de un sistema.
12

SCHMULLER, Joseph, Aprendiendo UML en 24 horas, 2002

28

Los modelos documentan las decisiones que hemos adoptado. 3.1.1 Ventajas de la orientacin a objetos. 13 El paradigma de la orientacin a objetos tiene las siguientes ventajas.

Ofrece modelos fciles 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 comunicacin de los objetos La programacin se realiza abierta / cerrada (abierta a la ampliacin / cerrada a la modificacin) Se proporciona un interfaz para la utilizacin de los objetos Se reutiliza cdigo generado Facilita el mantenimiento Las actualizaciones realizadas a un objeto no afectan el funcionamiento del sistema Es escalable al mantener la sencillez del cdigo No se repite cdigo

3.2

UML

La metodologa unificada de modelado (UML) para el modelado de sistemas orientados a objetos se ha convertido desde fines de los 90 en un estndar para modelar con tecnologas orientadas a objetos todos los elementos que configuran la arquitectura de la informacin 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

29

sistema, fue desarrollado como intento de describir los sistemas de manera ms natural que la ofrecida por los mtodos 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 representacin grafica de una coleccin 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 colaboracin. 4. Diagramas de implementacin14

3.2.1 Star Uml. StarUML es una herramienta para el modelamiento de software basado en los estndares 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 caractersticas de la versin comercial y poco a poco ha ido mejorando sus caractersticas, entre las cuales se encuentran:

1. Soporte completo al diseo UML mediante el uso de. Diagrama de casos de uso Diagrama de clase

14

PLACE, Enrique. Programacin Orientada a Objetos para php5. Surforce / Formacin, 2009

30

Diagrama de secuencia Diagrama de colaboracin. Diagrama de estados Diagrama de actividad. Diagrama de componentes Diagrama de despliegue. Diagrama de composicin estructural (UML 2.0) 2. Definir elementos propios para los diagramas, que no necesariamente pertenezcan al estndar de UML, 3. La capacidad de generar cdigo a partir de los diagramas y viceversa, actualmente funcionando para los lenguajes c++, c# y java. 4. Generar documentacin en formatos Word, Excel y PowerPoint sobre los diagramas. 5. Plantillas de proyectos. 6. Posibilidad de crear plugins para el programa. PGINAS WEB15

3.3

Actualmente los desarrollos de software tienden a arquitecturas online y multinivel que facilitan el mantenimiento, la distribucin y el acceso a la informacin desde el lugar donde se encuentre, la seleccin de la aplicacin 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 informacin que se realiza en el proceso, esto requiere una disponibilidad de las 24 horas los 7 das de la semana. De esta manera el coordinador, los directores de proyectos, las directivas de la carrera, los estudiantes y dems personas interesadas pueden contar con herramienta de informacin disponible que permite de una manera fcil y rpida desde un computador que cuente con conexin a

15

CODESIS, Tcnico Diseo Grafico y Programacin, 2000

31

internet realizar gestin de los proyectos, publicar informacin o simplemente consulta en lnea 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 informacin en un solo lugar El puede ampliar la capacidad de almacenamiento del servidor Los clientes no pueden acceder al cdigo de la aplicacin. No requiere licencias para su utilizacin multi computador.16

3.4

SOFTWARE OPEN SOURCE

Open Source es el trmino con el que se conoce al software distribuido y desarrollado libremente, las siguientes son las herramientas ms utilizadas para el desarrollo de software open source.

3.4.1 PHP. PHP (acrnimo de "PHP: Hypertext Preprocessor") es un lenguaje de "cdigo abierto" interpretado, de alto nivel, embebido en pginas HTML y ejecutado en el servidor. Lo que distingue a PHP de la tecnologa Java script, la

16

PLACE, Enrique. Programacin Orientada a Objetos para php5. Surforce / Formacin, 2009

32

cual se ejecuta en la mquina cliente, es que el cdigo 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 informacin de formularios, generar pginas con contenidos dinmicos, 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 ms tradicional y el principal foco de trabajo. Se necesitan tres cosas para que esto funcione. El intrprete PHP (CGI mdulo), un servidor web y un navegador. Scripts en la lnea de comandos. Se puede crear un script PHP y correrse sin ningn servidor web o navegador. Solamente se necesita el intrprete PHP. Escribir aplicaciones de interfaz grfica. Se puede utilizar algunas caractersticas avanzadas en programas clientes utilizando PHP-GTK. esta una extensin de PHP, no disponible en la distribucin 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 ms. PHP soporta la mayora de servidores web de hoy en da, incluyendo Apache, Microsoft Internet Information Server, Personal Web Server, Netscape e iPlanet, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd y muchos otros. PHP tiene mdulos disponibles para la mayora de los servidores, para aquellos otros que soporten el estndar CGI, PHP puede usarse como procesador CGI.

17

Grupo PHP. Manual de PHP. 2007

33

PHP tiene la posibilidad de usar programacin procedimental o programacin orientada a objetos. Aunque no todas las caractersticas estndar de la programacin orientada a objetos estn implementadas en la versin actual de PHP.18

PHP no se limita a resultados en HTML. Entre las habilidades de PHP se incluyen: creacin de imgenes, archivos PDF y pelculas Flash. Tambi puede presentar otros resultados, como XHTM y archivos XML.

Quizs la caracterstica ms potente y destacable de PHP es su soporte para una gran cantidad de bases de datos. Escribir un interfaz va web para una base de datos es una tarea simple con PHP. Las siguientes bases de datos estn soportadas actualmente:

Adabas D dBase Empress FilePro (read-only) Hyperwave IBM DB2 Informix

Ingres InterBase FrontBase mSQL Direct MS-SQL MySQL ODBC

Oracle (OCI7 and OCI8) Ovrimos PostgreSQL Solid Sybase Velocis Unix dbm

PHP soporta ODBC (el Estndar Abierto de Conexin con Bases de Datos), asi que se puede conectarse a cualquier base de datos que soporte tal estndar.

PHP tambin 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

34

Para terminar, PHP cuenta con muchas extensiones muy interesantes, como las funciones del motor de bsquedas mnoGoSearch, utilidades de compresin (gzip, bz2), conversin de calendarios, entre otras. 3.4.2 Mysql. 19 MySql es el sistema de gestin de bases de datos SQL Open Source ms popular, desarrollado y distribuido MySql AB. MySql AB es una compaa comercial, fundada por los desarrolladores de MySql. Esta es una compaa Open Source de segunda generacin que une los valores y metodologa 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 mquinas 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 mximas de las tablas MySQL. En MySQL 5.0, usando el motor de almacenamiento MyISAM, el mximo tamao de las tablas es de 65536 terabytes (256 ^ 7 - 1 bytes). Por lo tanto, el tamao efectivo mximo para las bases de datos en MySQL usualmente los determinan los lmites de tamao de ficheros del sistema operativo, y no por lmites internos de MySQL. El motor de
19 20

I, Gilfillan. La Biblia de MySql, Ed. Anaya Multimedia. P. Salvador. Curso MySql. 2005

35

almacenamiento InnoDB mantiene las tablas en un espacio que puede ser creado a partir de varios ficheros. Esto permite que una tabla supere el tamao mximo individual de un fichero. Este espacio puede incluir particiones de disco, lo que permite tablas extremadamente grandes. El tamao mximo del espacio de tablas es 64TB.

La siguiente tabla lista algunos ejemplos de lmites de tamao de ficheros de sistemas operativos. Esto es slo una gua y no pretende ser definitiva. Para la informacin ms actual, se debe consultar la documentacin especfica del sistema operativo. 21

Sistema operativo Linux 2.2-Intel 32-bit Linux 2.4 Solaris 9/10 win32 w/ FAT/FAT32 win32 w/ NTFS MacOS X w/ HFS+

Tamao mximo de fichero 2GB (LFS: 4GB) (usando sistema de ficheros ext3) 4TB 16TB 2GB/4GB 2TB (posiblemente mayor) 2TB

Sistema de ficheros NetWare w/NSS 8TB

3.4.3 Apache. Apache es el Servidor Web ms utilizado, lder con el mayor nmero de instalaciones a nivel mundial muy por delante de otras soluciones como el IIS (Internet Information Server) de Microsoft. Apache es un proyecto de cdigo abierto y uso gratuito, multiplataforma (hay versiones para todos los sistemas operativos ms importantes), muy robusto y que destaca por su seguridad y rendimiento. Apache es flexible, rpido y eficiente, continuamente actualizado y adaptado a los nuevos protocolos (HTTP 1.1). Entre sus caractersticas destacan:

21

I, Gilfillan. La Biblia de MySql, Ed. Anaya Multimedia

36

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 programacin de mdulos. Basado en hebras en la versin 2.0 Incentiva la realimentacin de los usuarios, obteniendo nuevas ideas, informes de fallos y parches para la solucin 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 programacin del lado del servidor.22

3.5

EXPERIENCIA EN LA APLICACIN DE SOFTWARE OPEN SOURCE

3.5.1 Facebook. FaceBook es uno de los casos de xito de las sistemas que utilizan open source ms popular que se conoce hoy da, no es ningn 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 ms de 500 millones usuarios y que maneja unos 30 mil millones de objetos al mes segn sus propias estadsticas en

http://www.facebook.com/press/info.php?statistics.

Para soportar estas cargas de trabajo, manejar

tan grandes cantidades de

informacin 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

37

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 implementacin de herramientas como Apache, MySql y Php que son las que van a soportar el desarrollo de este proyecto.

38

4. ESTADO DEL ARTE

Se procede a analizar aspectos importantes de investigaciones realizadas sobre aplicaciones desarrolladas para la administracin de proyectos de grado en las instituciones educativas.

Despus 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 informacin sobre los proyectos elaborados en la universidad, terminados y en curso, dejndolos a disposicin de los miembros de la comunidad acadmica, docentes y alumnos, facilitando la bsqueda de documentos para el desarrollo de estudios e investigaciones.

A nivel nacional se encontr que en las siguientes universidades se desarrollaron proyectos de investigacin sobre el mismo tema, una de ellas es La Pontificia Universidad Javeriana en la ciudad de Bogot, que pertenece a la Compaa de Jess (Jesuitas) de este pas, fue fundada en 1604, contando as con 400 aos de trayectoria acadmica, en el ao 2005 los estudiantes de la carrera de Ingeniera de Sistema disearon una herramienta que les permitiera realizar la gestin de los proyectos que llamaron SIAP. Esta una herramienta de software basado en la web, programado en visual studio.Net (ASP), diseado para administrar los proyectos de grado de la facultad de ingeniera 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.

39

facilitar la comunicacin y mejorar la productividad. Con este sistema los estudiantes, directores y coordinadores lograron optimizar el proceso de gestin de los proyectos de grado de la carrera de Ingeniera de sistemas.

Tambin en la Corporacin Universitaria Minuto de Dios, los estudiantes de Tecnologa de Informtica de la facultad de ingeniera, desarrollaron un proyecto titulado Sistema de informacin para administrar y controlar los proyectos de grado del programa de tecnologa informtica SYSCOTEG en el ao 2007, con la finalidad de facilitar la administracin de los proyectos de grado y reducir los tiempos de consulta documental, este aplicativo fue diseado para un ambiente web con herramientas open source (apache, php, mysql), su desarrollo se baso en el paradigma de la programacin estructura. 24

Como se puede observar en el campo de investigacin 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 administracin 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 aos.

Lo que diferencia el proyecto propuesto con respecto a sus similares es la potencia de combinar el desarrollo open source con la programacin orientada a objetos, ofreciendo un sistema adaptable a las nuevas necesidades, flexible, escalable y fcil de mantener.

24

FONSECA, Sergio, SYSCOTEG, Corporacin Universitaria Minuto de Dios, 2007

40

5. METODOLOGA

La metodologa de desarrollo consiste en describir la forma como se va a ejecutar el proyecto, est compuesta por un conjunto de tcnicas, mtodos y

procedimientos guas que indican que hacer y cmo actuar en el proceso de investigacin. Para efectos de este proyecto se propone usar la metodologa GRAPPLE (Gua para la ingeniera de aplicaciones rpidas).

5.1

GRAPPLE

GRAPPLE (Gua para la ingeniera de aplicaciones rpidas). Son un conjunto de ideas adaptables y flexibles mediante la cual se muestra el camino para incorporar al UML dentro de un contexto de diseo, Grapple consta de 4 segmentos y cada segmento se compone de varias acciones, en cada accin 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 metodologa se enumeran a continuacin.

Recopilacin de necesidades

1. Descubra los procesos de negocios 2. Realice un anlisis del dominio 3. Identifique los sistemas cooperativos 4. Descubra las necesidades del sistema 5. Presente los resultados al Cliente

41

Anlisis

1. Compresin 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 comunicacin entre objetos

Diseo

1. Desarrollo y depuracin de los diagramas de objetos 2. Desarrollo de los diagramas de Componentes 3. Planeacin para la distribucin 4. Diseo y prototipo de la interfaz del usuario 5. Pruebas de Diseo 6. Inicia la documentacin

Desarrollo

1. Generacin del cdigo 2. Verificacin del Cdigo 3. Generacin de Interfaz del Usuario, conexin con el cdigo y prueba 4. Consumacin de la documentacin

5.1.1 Por qu usar Grapple? Las metodologas iniciales se estructuraban de una forma secuencial donde cada etapa dependa de la anterior y este pensamiento influyo por muchos aos, como el mtodo en cascada, que

establece como etapas para el desarrollo el anlisis, diseo, codificacin y distribucin. Esta manera de hacer las cosas ofrece ciertas desventajas, ya que si un analista no tiene contacto con un diseador y este a su vez no tiene contacto

42

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 mtodo en cascada, las modernas ingenieras tienden a la colaboracin entre las fases de desarrollo. Los analistas y diseadores hacen revisiones para desarrollar un slido fundamento para los codificadores y estos a su vez, interactan con los analistas y diseadores para compartir sus puntos de vista, modificar los diseos y fortalecer su cdigo. La ventaja es que conforme aumente la comprensin, el equipo incorpora nuevas ideas y genera un sistema ms confiable.25

25

SCHMULLER, Joseph, Aprendiendo UML en 24 horas, 2002

43

6. DISEO Y DESARROLLO

A continuacin se presenta el diseo del sistema para la administracin de los proyectos de grado de la universitaria de investigacin y desarrollo UDI.

6.1

RECOPILACION DE NECESIDADES

Para la recopilacin de las necesidades se consultaron como fuente de informacin el reglamento de investigaciones, los formatos de inscripcin y listas virtuales en Excel utilizadas por el Coordinador de Investigaciones para llevar control de los proyectos presentados. A continuacin se describe el proceso segn el reglamento de investigaciones.

6.1.1 Proceso del negocio. Descripcin Investigaciones de la universidad

tomada

del

Reglamento

de

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 perodo acadmico:

1. Seleccin del tema. 2. Elaboracin del Anteproyecto. 3. Desarrollo del proyecto y elaboracin del manuscrito final. 4. Sustentacin pblica.

26

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI, Reglamento de Investigaciones, 2010. p. 34 - 35

44

ARTICULO 99. Presentacin del tema de Proyecto de Grado27

La primera fase se inicia con la publicacin 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 publicacin se identificar el nmero de cupos disponible por temas. Los estudiantes deben preseleccionar dos posibles temas de investigacin de acuerdo a sus intereses. Estos temas los deben registrar en el formato Ficha de Inscripcin de Tema de Proyecto de Grado (Ver Anexo 5), diseada por la UDI para tal fin. El Comit de Investigaciones analizar cada inscripcin, y en reunin con los docentes que proponen los temas, sern socializados con los estudiantes. Esta designacin de los estudiantes en los temas, lneas y proyectos de investigacin, se publicar en la cartelera de las Facultades.

PARAGRAFO 1: En caso de proponerse un tema que no est incluido ni en las lneas, 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 Rectora. La idea del tema para el Banco de Proyectos deber ser presentada el semestre inmediatamente anterior en el formato diseado para tal fin (formato PM-GI01-R01) dentro de las fechas estipuladas en el calendario acadmico.

PARAGRAFO

2:

Los

docentes

debern

presentar

ante

el

Comit

de

Investigaciones, a travs de la Coordinacin de Investigaciones, sus propuestas para el Banco de Proyectos segn las fechas establecidas en el calendario acadmico.

27

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI, Reglamento de Investigaciones, 2010. p. 34 - 35

45

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 Inscripcin de Tema de Proyecto de Grado y entregarlo a la oficina de Coordinacin de Investigaciones anexando fotocopia del Polgrafo de pago. 3. Si el Proyecto de Grado es patrocinado por una entidad externa o por la UDI, la Coordinacin de Investigaciones proveer una carta de

presentacin 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 Rectora.

ARTICULO 106. Procedimiento para tramitar el Anteproyecto

1. El estudiante elabora el Anteproyecto siguiendo el formato establecido, bajo la supervisin de su Director de proyecto. 2. El estudiante entrega a la Coordinacin 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 rene peridicamente para revisar los Anteproyectos recibidos. El Comit asigna el Calificador, quien analizar y emitir un concepto del Anteproyecto. Si el Anteproyecto es aprobado, la Coordinacin de Investigaciones notificar por escrito al estudiante.

28

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI, Reglamento de Investigaciones, 2010. p. 37

46

4. Cada Calificador tendr un plazo mximo de 15 das calendario para emitir su concepto sobre el Anteproyecto. La denominacin 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 despus 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 Artculo 143: Aprobacin del Anteproyecto). A o PROBADO CON CORRECCIONES: Cuando el Anteproyecto tiene problemas de forma (presentacin); el estudiante debe cambiar la presentacin de acuerdo con los comentarios hechos por el Calificador, y someterlo a evaluacin nuevamente. o PENDIENTE DE APROBACION: Cuando el Anteproyecto tiene problemas de fondo; es decir, hay fallas en el enfoque tericocientfico, el estudiante debe replantear sus formulaciones y darles mayor fundamento. La Coordinacin de Investigaciones programar una sustentacin 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 evaluacin 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 terico 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 ejecucin del trabajo.

47

Para la aplicacin de este artculo se establecen las siguientes normas:

1. Todo concepto emitido por los Calificadores es recibido por la Coordinacin de Investigaciones y luego pasado al Comit de Investigaciones con el fin de que este apruebe la notificacin al estudiante. 2. En los casos en que el estudiante deba hacer correcciones, entregar el Anteproyecto corregido directamente a la Coordinacin de Investigaciones en la fecha estipulada. Si incumple el plazo fijado deber matricular nuevamente Proyecto de Grado I. 3. Es la Coordinacin de Investigaciones quien se encarga de hacer llegar el Anteproyecto corregido a los Calificadores. 4. Los Calificadores evalan los cambios y envan su concepto final. ARTICULO 108. Procedimiento para tramitar la entrega del informe final 29

El estudiante entrega a la Coordinacin 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, adems se debe aportar comunicacin escrita por parte del Director en la que avale el trabajo desarrollado. El informe final ser entregado en la Coordinacin de Investigaciones segn la fecha establecida en el calendario acadmico y en la carta de aprobacin de matrcula de Proyecto de Grado I, en donde se notific al estudiante de dicha fecha. El Comit de Investigaciones se reunir y asignar dos Calificadores idneos para tal fin, los cuales pueden ser los mismos que calificaron el Anteproyecto. Cada Calificador tendr un plazo mximo de 15 das 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

48

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 (presentacin); el estudiante debe cambiar la presentacin de acuerdo con los comentarios hechos por el Calificador, y someterlo a evaluacin nuevamente. PENDIENTE DE APROBACION: Cuando el informe final tiene problemas de fondo; es decir, hay fallas en el enfoque terico-cientfico, el estudiante debe replantear sus formulaciones y darles mayor fundamento. La Coordinacin de Investigaciones programar una sustentacin 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 evaluacin 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 terico o debilidades internas que lo invaliden. La Coordinacin de Investigaciones programar una sustentacin 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 ejecucin del trabajo; as como en el cumplimiento de los objetivos.

49

Para la aplicacin de este artculo se establecen las siguientes normas:

1. Todo concepto emitido por el Calificador es recibido por la Coordinacin de

Investigaciones y luego pasado al Comit de Investigaciones con el fin de que este apruebe la notificacin al estudiante. 2. En los casos en que el estudiante deba hacer correcciones, entregar el informe final corregido directamente a la Coordinacin de Investigaciones en la fecha estipulada. Si incumple el plazo fijado deber matricular nuevamente Proyecto de Grado II. 3. Es la Coordinacin de Investigaciones quien se encarga de hacer llegar el informe final corregido a los Calificadores. 4. Los Calificadores evalan los cambios y envan su concepto final.

6.1.2 Diagramas de Actividades. A continuacin se presentan los diagramas de actividades para los procesos del negocio ms importantes de la coordinacin de investigaciones.

Diagrama de actividades proceso de inscripcin de temas. El diagrama de actividades de inscripcin de temas tiene como alcance desde el momento desde que se consulta en los temas del banco de proyecto hasta el momento de su inscripcin.

50

Figura 4. Diagrama de actividades para el proceso de inscripcin de temas

Estudiante Llegar

Coordinador

Comite

Rectoria

Aprobar tema nuevo Consultar propuestas proyectos

Dar visto Bueno al Tema no le gusta el tema Proponer otro tema Agregar Tema al banco Seleccionar uno o dos temas Recibir Fichas Incripciones Llenar ficha de inscripcion Analizar inscripciones

Socialiar a estudiantes Entregar ficha a la coordinacion Publicar en Cartelera Designar Temas (Aprobar)

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 calificacin.

51

Figura 5. Diagrama actividades entrega anteproyecto

Estudiante Reportar Materia Elaborar Anteproyecto

Director

Coordinador

Calificador

Corregir Anteproyecto

Revisar Anteproyecto

Con errores Sin errores Aprobar Anteproyecto Entregar Anteproyecto Asignar Calificador Analizar Proyecto

Emitir Concepto Notificar a estudiante Corregir Anteproyecto Con errores / Pendiente

Aprobado

Aplazado

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 calificacin final.

52

6.1.3 Anlisis del dominio. El objetivo de esta seccin 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 extraccin de sustantivos y verbos de la descripcin de los procesos los cuales se convertirn en las clases y acciones del sistema.

Extraccin de Sustantivos. Proyecto, calendario, cartelera, facultad, temas de investigacin, docentes, estudiantes, formato inscripcin, comit, lneas de investigacin, propuesta de tema, rector, visto bueno, idea, banco de proyectos, anteproyecto, informe final, calificador, comit de calificaciones, concepto de anteproyecto, concepto final, coordinador.

Extraccin 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 extraccin de sustantivos, teniendo en cuenta que no todos los sustantivos se convertirn en clases, ya que algunos se convertirn en atributos.

Creacin de Clases. Proyecto, Calendario, Cartelera, Facultad, Tema de Investigacin, Docente, Estudiante, Rector, Coordinador, Formato Inscripcin, Lnea de Investigacin, Programa Acadmico, Banco de Proyectos, Anteproyecto, Informe Final, Calificador,

53

Figura 6. Diagrama Inicial de clases

Docente -nombres -correo -telefonos -direccion

Rector +darVistoBuenoTema() Calificador +revisarDocumento() +emitirCalificacion() Coordinador publica

Calendario +actividad +fecha

publicable

BancoProyectos -nombre -coleccionTemas -coleccionProyectos +agregarTema() +agregarProyecto()

+asignarDirector() +asignarCalificador() +notificarEstudiante() +publicarCalendario() +recibirAnteproyecto() +recibirInformefinal() recibe

Cartelera +publicar() consulta cartelera Estudiante

recibe

Anteproyecto documeta -fehaEntrega -nota

entrega

-nombres -correo -telefonos -direccion +presentarAnteproyecto() +presentarInformeFinal() +inscribirTema()

Proyecto -tema -anteproyecto -informeFinal +agregarAnteproyecto() +agregarInformeFinal() +agregarTema() InformeFinal -fechaEntrega -nota

entrega

ProgramaAcademico -nombre +escoge tema

TemaInvestigacion LineaInvestigacion -titulo -titulo -descripcion -lineaInvestigacion

Facultad -nombre -coleccionProgramas +agregarPrograma()

54

Asociacin 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 notificacin del coordinador El estudiante perteneces a un programa acadmico El estudiante consulta la cartelera El estudiante cumple con un calendario

Asociacin con Coordinador

El coordinador recibe inscripcin 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 reunin con el comit de evaluacin El coordinador crea un calendario El coordinador publica temas en la cartelera

55

Asociacin 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 enva 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

6.1.4 Necesidades del sistema. En

reunin

con

el

Coordinador

de

investigaciones se determinaron las siguientes necesidades y funcionalidades de la aplicacin:

Contar con facilidad para administrar los datos de los estudiantes y los docentes. El sistema debe administrar la informacin de gestin 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.

56

El sistema debe permitir agregar evaluadores a los proyectos. El sistema debe permitir gestionar la informacin de los semilleros de investigacin (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.

Estudiante

Coordinador

Evaluador

Director

Rector

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

57

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

58

Figura 8. Diagrama de Casos de Uso

System Consultar Temas <<include>>

Inscribir Tema Estudiante Reportar Materia Estudiante

Cargar Documento <<include>>

Aprobar Temas Coordinador Director Asignar Director

Asignar Calificador Evaluador Consultar Proyectos <<include>> Aprobar Proyecto <<include>> Calificar Proyecto Evaluador Estudiante

Director

59

6.2

ANALISIS

6.2.1 Haciendo realidad los casos de Uso. 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 Administracin de proyectos y que el estudiante cuenta con un equipo con conexiona internet.

1. El estudiante abre el portal de administracin 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 sesin 4. Si ha iniciado seccin abre un formulario de inscripcin de tema 5. El estudiante llena el formulario y lo enva 6. El sistema registra los datos y actualiza la lista de temas disponibles 7. El sistema enva un mensaje confirmando al estudiante que el tema fue inscrito satisfactoriamente.

60

Reportar Matricular materia

1. El estudiante entra al sistema e inicia sesin 2. El sistema muestra un link donde lo enva 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 enva 6. El sistema enva un mensaje notificando que la materia fue matriculada

Cargar Anteproyecto

1. El estudiante ingresa al sistema e inicia sesin 2. El sistema muestra un pagina donde indica en que materia est matriculado 3. El sistema muestra las acciones que puede hacer segn 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 enva el documento 7. El sistema muestra un mensaje de confirmacin que el documento fue publicado exitosamente.

Cargar Informe final

1. El estudiante ingresa al sistema e inicia sesin 2. El sistema muestra un pagina donde indica en que materia est matriculado 3. El sistema muestra las acciones que puede hacer segn 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

61

6. El estudiante enva el documento 7. El sistema muestra un mensaje de confirmacin 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 informacin 6. El coordinador da clic el vinculo aprobar 7. El sistema actualiza el tema a estado aprobado 8. El sistema enva un mensaje notificando xito en la transaccin.

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 informacin 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 enva el formulario

62

9. El sistema actualiza la base de datos 10. El sistema enva un mensaje notificando xito en la transaccin.

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 informacin 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 enva el formulario 9. El sistema actualiza la base de datos 10. El sistema enva un mensaje notificando xito en la transaccin.

Publicar temas de proyectos

1. El coordinador ingresa al sistema 2. El sistema muestra una pgina 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 publicacin con la lista de temas.

63

Casos de Uso para el paquete Director

Consultar proyectos

1. El director ingresa al sistema 2. El sistema muestra una pgina 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 opcin de aprobar proyecto 3. El director da clic en el vinculo 4. El sistema actualiza el estado del proyecto 5. El sistema enva un mensaje notificando la accin.

Autorizar entrega de documento

1. El director aprueba el proyecto 2. El sistema muestra un link imprime autorizacin 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 enva 4. El sistema agrega comentarios al proyecto

64

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 aprobacin y comentarios 6. El calificador llena el formulario y lo enva 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 aprobacin y comentarios 6. El calificador llena el formulario y lo enva 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 accin.

65

6.2.2 Cambios de Estado

Figura 9. Diagrama de estado para Tema Proyecto

Inscribir Tema

PENDIENTE APROBACION

AprobarTema

APROBADO entry/CrearProyecto

DesacartarTema

DESCARTADO

Figura 10. Diagrama de estado para Anteproyecto

Craar Anteproyecto

Corregir

EN DESARROLLO

CON ERRORES

Revisar Anteproyecto REVISADO entry/ImprimirCartaDirector Calificar Anteproyecto

PENDIENTE

APROBADO

DESCARTADO

66

Figura 11. Diagrama de estado para Informe Final

Craar Anteproyecto

Corregir

EN DESARROLLO

CON ERRORES

Revisar Anteproyecto REVISADO entry/ImprimirCartaDirector Calificar Anteproyecto

PENDIENTE

APROBADO

DESCARTADO

67

6.3

DISEO

6.3.1 Diagrama de Componentes. A continuacin 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 diseo una Librera que soportara las operaciones de presentacin de paginas HTML y Formularios Web.

Figura 12. Diagrama de componentes Librera HTML

Html

Ul

Form.php

Div

Table.php

Li

Form Table InputText InputPass TextArea Row

InputChek Control InputRadio Cell

Option

Select

InputHide

68

Figura 13. Diagrama de componentes sistema de seguridad

Activity

Users

Groups

User

Group

Master

Script

ActionScrips: Users addUser() editUser() delUser() login() setPassword()

ActionScripts Group: addGroup() editGroup() delGroup()

69

Figura 14. Diagrama de componentes del sistema listas y elementos

Image

Scripts Recursos Externos Master ActionScripts: addColumn() editColumn() delColumn() editViews() editFileter() ContentType

Document

Lista

ContentType.php

System:User

Element

ColumnType Query User

Date

Column

Calculate

Char

Text

Number

70

Figura 15. Diagrama de componentes general

Estudiante System

Docente

Component Lista

Safety Users

Tema

Document Anteproyecto

InformeFinal

FrameWork

Index

GUI: Master

Html Form

6.3.2 Diseo de la interfaz de usuario. Es diseo de la interfaz de usuario es un conjunto de herramientas web que integradas le dan un aspecto agradable a la aplicacin, esta consta una portada de presentacin en la parte superior, un men superior personalizable, un men principal al lado izquierdo de la pantalla y una zona de trabajo. 71

Figura 16. Ventana sistema administracin de proyectos AdminPro.

6.3.3 Planeacin de la distribucin. La herramienta de software para la administracin y gestin de los proyectos de grado de la Universitaria de Investigacin 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 podrn 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

72

estudiantes desde las aulas de informtica. diagrama de distribucin de la aplicacin.

A continuacin se presenta el

Figura 17. Diagrama de Distribucin.

PC Central GUI: Master Router Lan

PC Coordinador

Sala de Docentes DB AdminPro

Aulas de Informatica

Router Wan

Internet Inernet

PC Estudiantes

73

6.4

DESARROLLO

6.4.1 Generacin del Cdigo La aplicacin esta toda codificada en el lenguaje de programacin PHP, siguiendo los parmetros de la programacin orientada a objetos y los estndares de codificacin de Zend Technologies, principal desarrollador de PHP junto a su creador.

Para este proyecto se cre una Librera que soportara las actividades de presentacin HTML y de los formularios Web, y que se encargara de manejar los eventos de creacin, edicin y eliminacin de datos, administracin de usuarios y elementos del sistema, como mens, vistas, etc. A continuacin se presenta las clases y los mtodos de la librera desarrollada para el sistema.

Detalle de clases ms 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. Mtodos de la Clase Html

NOMBRE Constructor addContent(content)

DESCRIPCION Html() Agregar cualquier tipo de contenido, textos, imgenes, 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 mtodos de escritura de las lista.

74

Tabla 4. Mtodos de la Clase Form

NOMBRE Constructor addArea(string name, string comment) addControl(Control control, [string area]) addControlboton(Control control) setName(string name) setComment(string comment) setMethod(string method) setAction(string action) setStyle(string style) getComment() setList(Lista list) save() Redirect(string link)

DESCRIPCION Form(nombre,comentario) Agrega un area de datos para agrupar controles de formulario. Agrega un control al formulario en el rea especificada Agrega un control al rea de botones del formulario. Setea el nombre del formulario Setea el un comentario para el formulario Setea el mtodo del formulario, puede ser POST o GET Setea el destino del formulario Setea el estilo ccs del formulario Obtiene el comentario del formulario Asocia una clase lista al formulario Guarda los datos del formulario en una lista previamente asociada con setList() Re direcciona un formulario despus de guardar los datos de una lista,

Clase Control. Esta es una clase abstracta que provee funciones y mtodos para crear controles para los formularios web, as como las interfaces necesarias para que sea reconocido por el formulario.

Tabla 5. Mtodos Clase Abstracta Control

NOMBRE addAttrib(string attrib) addValidator(string validator)

getComment() getName() getField() getValidators() setVisible() Abastract _getFiled()

DESCRIPCION Agrega un atributo al control de la forma nombre:valor Agrega un validador de la colecciond e validadores del sistema que pueden ser: IsNull, IsNumber Devuelve el comentario de un control Devuelve el nombre de un control Devuelve un string con el campo de un control Devuelve un array con los validadores del control Estable la visibilidad del control yes, no Clase abastracta que debe ser implementa en las clases hijas

75

Clases de Controles. Aqu se muestra los controles que se crearon para los formularios, estas clases heredan los mtodos de la clase control.

Tabla 6. Clases hijas de la clase control

NOMBRE InputText(nombre, commentario , valor) InputPass(nombre, commentario , valor) InputCheck(nombre, commentario , valor) InputRadio(nombre, commentario , valor) Select(nombre, commentario , valor) InputHide(nombre, commentario , valor) InputFile(nombre, commentario , valor)

DESCRIPCION Crea un control de tipo texto Crea un control de tipo contrasea Crea un control de tipo opcin de seleccin Crea un control de tipo opciones de seleccin Crea un control de tipo caja de seleccin Crea un control oculto 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 parmetros un array de datos por cada fila y apartir de ellos crea la tabla.

Tabla 7. Mtodos Clase Table

NOMBRE addRow(array datos)

DESCRIPCION 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. Mtodos de la Clase Lista

NOMBRE addContentType(ContenteType content) addElement(Element element) delColumn(columnId)

DESCRIPCION Agrega un tipo de contenido a la lista Agrega un elemento a la lista Elimina una columna de la lista

76

delElement(string Id) editColumn(Column column) getColumn(string columnName) getColumns() getComment() getElementForm() getElements() Load([filters]) newColumn(Column column) newElement() saveElement(Element element) updateDataBase()

Elimina el elemento con cdigo Id de la lista Modifica una columna existente en la lista Devuelve la columna con nombre especificado, si no existe devuelve false Devuelve un array con todas las columnas de la lista Devuelve el comentario de la lista Devueve un objeto Form para un elemento de la lista Devuelve todos los elementos de la lista Carga los elementos de lista segn los filtros pasados como parmetros Crea una nueva columna en la lista Crea un nuevo elemento para la lista Guarda el elemento pasado como parmetro Actualiza la base de datos

Clase Master. La clase master es la aplicacin principal del sistema, todas las paginas que se quieran reproducir en el sistema deben instanciar la aplicacin principal master, agregar los recursos al sistema y correr la aplicacin a travs de master->run(). Ella se encarga de crear los mens y ensamblar los componentes de la aplicaciones en la pagina web.

Tabla 9. Mtodos de la clase Master

NOMBRE add(contenido) Run() Star() Stop()

DESCRIPCION Agrega contenido a la zona de trabajo de la aplicacin Corre la aplicacin Inicia la aplicacin Detiene la aplicacin

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.

77

Tabla 10. Mtodos de la clase User

NOMBRE getForm() getFormLogin() getGroups() getLogin() getName() getStyle() Static getUsers() Static load(login) Password(password) Save()

DESCRIPCION Devuelve un formulario de modificacin de usuario Devuelve un formulario para iniciar sesin Devuelve un array con los grupos a los que pertenece el usuario Devuelve el login del usuario Devuelve el nombre del usuario Devuelve el estilo personal del usuario Devuelve todos los usuarios del sistema Carga un usuario con el login especificado Confirma que el password como parmetro coincida con el del usuario 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. Mtodos de la clase Group

NOMBRE addPass(array data) Allow(string source,string action) getForm() getFormPass() getMenu() getName() getPage() setMenu(string menu) setPage(string page)

DESCRIPCION Agrega un listado de permisos al grupo Verifica que el grupo tiene permisos para el recurso especificado Devuelve un formulario de edicin del grupo Devuelve un formulario de edicin de permisos para el grupo Devuelve el nombre del men personalizado para el grupo Devuelve el nombre del grupo Devuelve el nombre de la pgina de inicio del grupo Establece el nombre del men personalizado Establece el nombre de la pagina principal

78

6.4.2 Libreras incluidas. En este proyecto se utiliza las siguientes libreras externas, desarrolladas por otros programadores para dar cierta funcionalidad a la aplicacin.

JQueryLighBox. Esta es una librera que permite mejorar la presentacin de las imgenes a los usuarios, este pluggin est escrito en java script y fue publicado por Leandro Vieira Pinho en la pgina web.
http://leandrovieira.com/projects/jquery/lightbox/

PhpThumb. PhpThumb es una biblioteca de imgenes generacin de miniaturas. Cuenta con la capacidad de cambiar el tamao, la anchura, altura, porcentaje y girar imgenes. Tambin cuenta con la capacidad de realizar varias

manipulaciones por instancia (tambin conocido como encadenamiento), sin la necesidad de cerrar y volver a iniciar la clase con cada manipulacin. Para ms informacin y documentacin el proyecto est disponible la pgina web: [http://phpthumb.gxdlabs.com] (http://phpthumb.gxdlabs.com)

Fpdf. fpdf es una librera php contiene funcionalidad para producir documentos pdf, es gratuita, y su licencia permite que sea modificada libremente, esta librera se incluyo para generar los reportes del sistema a partir de las vistas y paginas de la aplicacin.

Dompdf. Dompdf es una librera basada en fpdf para exportar cdigo html a pdf, esta librera se utiliza en el proyecto para exportar la pgina activa a pdf.

79

6.4.3 Estructura de Directorios. 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

80

6.5

IMPLEMENTACION

La implementacin se llevo a cabo en la oficina de la Coordinacin de Investigaciones de la universitaria de Investigacin y Desarrollo UDI .

Para ello se realizo la instalacin de la aplicacin en el computador principal de la Coordinacin 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 recopilacin de necesidades.

6.6

ALCANCE DEL SISTEMA

Este proyecto pretende entregar un sistema de informacin bajo la tecnologa web desarrollado en el lenguaje de programacin Php con orientacin a objetos, el cual se implementara en la coordinacin de investigaciones para la administracin 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 segn roles y niveles de acceso definidos para cada individuo que interviene en proceso, de modo que se garantice la seguridad de la informacin y la calidad de la misma.

Esta aplicacin debe permitir integra los procesos de gestin y desarrollo de los proyectos de grado, permitiendo reducir los tiempos de entrega y mejorando la comunicacin entre los estudiantes, los directores de proyectos y la coordinacin de investigacin, de tal manera que las personas que intervienen en el proceso se vean beneficiadas con la implementacin de la misma.

81

Esta herramienta se ha desarrollado no solo con la intencin de cumplir nicamente con del objetivo de la materia, si no que el ncleo y el FrameWork desarrollado para la aplicacin pueden ser expandidos y permiten generar nuevo cdigo 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 expansin / cerrado a la modificacin. El ncleo del sistema est desarrollado para que funcione como un entorno de desarrollo simplificado donde se pueden agregar nuevos componentes fcilmente, crear nuevas listas, bibliotecas de documentos y de imgenes en pocos minutos, sin tener que escribir una sola lnea de cdigo.

Basado en esta tecnologa 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 Lnea de investigacin Lista de Temas de proyectos Lista de Programas Acadmicos

82

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 administracin de la plataforma, este grupo tiene los permisos suficientes para agregar, modificar, eliminar, consultar informacin de los estudiantes, docentes, temas, lneas, 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 administracin 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

83

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 integracin de estos recursos, la informacin 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 aplicacin.

6.8

CARACTERISTICAS Y LIMITACIONES

En este captulo se describen las caractersticas y limitaciones de la herramienta, cantidad de usuarios permitidos, limitaciones de la base de datos y cantidad de peticiones permitidas por el servicio.

6.8.1 Caractersticas de la base de datos. MySQL es un SGBD que ha ganado popularidad por una serie de atractivas caractersticas:

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 mltiples 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 mltiples mtodos de almacenamiento de las tablas, con prestaciones y rendimiento diferentes para poder optimizar el SGBD a cada caso concreto. Su administracin se basa en usuarios y privilegios.

84

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, adems de soportar completamente ODBC. Los mensajes de error pueden estar en espaol 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 diseo, se puede explicar mejor las razones de algunas de sus carencias. Por ejemplo, el soporte de transacciones o la integridad referencial (la gestin de claves forneas) 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 aplicacin requiere transacciones, deber usar el esquema que lo permite (InnoDB), sin ninguna otra restriccin o implicacin.

Otras limitaciones son las siguientes:

No soporta procedimientos almacenados (se incluirn en la prxima versin 5.0). No incluye disparadores (se incluirn en la prxima versin 5.0). No incluye vistas (se incluirn en la prxima versin 5.0). No incluye caractersticas de objetos como tipos de datos estructurados definidos por el usuario, herencia etc.

6.8.2 Cantidad de usuarios. La cantidad de usuarios que se pueden manejar y administrar en la aplicacin 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. 85

6.8.3 Cantidad de peticiones. La cantidad de peticiones o accesos realizados a la aplicacin est determinada por los requerimientos del servidor de aplicaciones, memoria, procesador, disco duro, etc.

6.9

REQUERIMIENTO DEL SISTEMA

A continuacin se menciona los requisitos de software y hardware que debe tener el servidor y el cliente para el funcionamiento de la aplicacin.

6.9.1 Requerimiento del servidor. Para el funcionamiento de la aplicacin 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 Conexin a internet banda ancha 256 M

Software

Sistema operativo Windows XP / Linux Servidor web Apache, php y MySql (AppServ) Interntet Explorer 6 / Mozilla Firefox

86

AppServ. Es un software que permite la instalacin en nuestro entorno Windows, de los siguientes paquetes:

Apache Web Server (versin 2.2.3) Lenguaje PHP (versin 5 o 4, en mi caso instale la 5.1.6) Base de datos MySQL (versin 5.0.24) Manejador de base de datos phpMyAdmin (versin 2.9.0.2)

6.9.2 Requerimientos del cliente. El

usuario

necesita

los

siguientes

requerimientos mnimos para conectarse a la aplicacin.

Hardware

Computador de escritorio o porttil Servicio de conexin a internet

Software

Sistema operativo Windows XP / Linux Interntet Explorer 6 o superior/ Mozilla Firefox

87

7. CONCLUSIONES

El desarrollo de este proyecto fue muy interesante por la complejidad de poder acoplar tecnologa y lenguajes de programacin, como el caso de utilizar la programacin 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 comparacin 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 programacin orientada a objetos y como se poda implementar con un leguaje web, de modo que el sistema no fuera solo una simple coleccin de pginas, si no todo un conjunto de recursos que interactuaran entre s para alcanzar el objeto de la aplicacin.

De esta manera se cre una coleccin de clases que son capaces de modelar tipos de datos, listas, documentos, usuarios, entre otros, que son autnomos y que facilitan el mantenimiento de modo que los cambios o actualizacin 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 fructfero 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.

88

Cumplir el objetivo de este proyecto se pudo lograr aplicando los conocimientos adquiridos en el transcurso de la carrera de Ingeniera de Sistema, realizando constante investigacin y profundizando los temas de mayor impacto para el proyecto, se investigo sobre estndares de codificacin para producir un cdigo entendible y limpio, de modo que cualquier desarrollador pueda ser capaz de comprenderlo en poco tiempo.

Se trato de seguir la metodologa seleccionada, que fue el rumbo trazado y el camino que se deba seguir, como no se conto con un FrameWork como el de visual.net, se vio la necesidad de crear una librera basada en los estndares de codificacin de zend technologies, lo cual produjo que el desarrollo se desviara un poco de la metodologa, al final contar con un librera facilito el desarrollo del sistema.

AdminPro es una puerta abierta para el desarrollo de nuevos proyectos, su librera puede servir de soporte a los estudiantes que estn interesados en adquirir este conocimiento, las limitaciones de esta herramienta estn sujetas a la imaginacin de cada estudiante.

89

8. RECOMENDACIONES

Sera interesante implementar este proyecto no solo como un sistema de administracin nico para la universidad, sino como un sistema nacional de administracin de proyectos, integrando el desarrollo de los proyectos con todas las universidades del pas, esto causara que los proyectos se orientaran hacia un solo objetivo evolucin 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 integracin se eliminara la redundancia y se podra 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 librera que soportara los procesos bsicos de almacenamiento y visualizacin de datos, esta se puede continuar desarrollando y aplicando en nuevos proyectos que requieran la implementacin se sistemas open source, para ello se recomienda continuar con los estndares de codificacin utilizados en este proyecto y definidos por la empresa Zend Tecnhologies.

Actualmente los formularios de captura de datos se pueden crear fcilmente por cdigo, este proceso lo pueden hacer personas con experiencia en la librera 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 ms 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

90

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 travs de los recursos de vistas y formularios.

Para asegurar la implementacin de la herramienta es conveniente realizar talleres de capacitacin a los estudiantes de ltimos semestres con el fin de transmitirles el conocimiento el manejo de la aplicacin, 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 investigacin que mantenga actualizado este sistema de informacin.

91

BIBLIOGRAFA

CHAPARRO, Gilberto Andrs y FORERO, Luis Alejandro. Sistema de Informacin Para la administracin de Proyectos de Grado [SIAP]. Trabajo de grado Ingeniera de Sistemas. Bogot DC.: Pontificia Universidad Javeriana. Facultad de Ingeniera de Sistema 2005, 159 p. CODESIS, Tcnico Diseo Grafico y Programacin, 2000 CORTES, Amanda. Gestin de Proyectos de investigacin [Internet]. Disponible desde: www.banrepcultural.org/blaavirtual/educacion/expedocen/expedocen4a FONSECA, Sergio Andrs. Sistema de Informacin Para la administrar y controlar los Proyectos de Grado del programa de Tecnologa en Informtica [SYSCOTEG]. Trabajo de grado Tecnologa de Informtica. Bogot DC.: Corporacin Universitaria Minuto de Dios. Facultad de Ingenieras 2005, 86 p. Grupo PHP. Manual de PHP. 2007 I, Gilfillan. La Biblia de MySql, Ed. Anaya Multimedia. JOYANES. Luis, Fundamentos de programacin. Ed. Mc Graw Hill. (2003) PEA, Alejandro. Ingeniera de software: Gua para crear sistemas de informacin. Mxico D.F.: Instituto Politcnico Nacional. 2006. 120 p. ISBN: 97094797-0-9

92

PLACE, Enrique. Programacin Orientada a Objetos para php5. Surforce / Formacin, 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 Informacin. Ed. Mc Graw Hill, 2003 UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI, Reglamento de investigacin. 2010. 48 p.

93

También podría gustarte