Proyecto de administracion de proyectos de grado

94
DISEÑO E IMPLEMENTACIÓN DE LA PLATAFORMA DE INVESTIGACIONES DE LA UNIVERSITARIA DE INVESTIGACIÓN Y DESARROLLO UDI BARRANCABERMEJA RAUL ERNESTO RAMOS GUZMAN UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI FACULTAD DE INGENIERIAS INGENIERIA DE SISTEMAS BARRANCABERMEJA 2012

description

Sistema de Informacion para la adminsitracion de proyectos en la universitaria de ivestigacion y desarrollo UDI

Transcript of Proyecto de administracion de proyectos de grado

Page 1: Proyecto de administracion de proyectos de grado

DISEÑO E IMPLEMENTACIÓN DE LA PLATAFORMA DE INVESTIGACIONES DE LA UNIVERSITARIA DE INVESTIGACIÓN Y DESARROLLO – UDI

BARRANCABERMEJA

RAUL ERNESTO RAMOS GUZMAN

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO – UDI – FACULTAD DE INGENIERIAS INGENIERIA DE SISTEMAS

BARRANCABERMEJA 2012

Page 2: Proyecto de administracion de proyectos de grado

DISEÑO E IMPLEMENTACIÓN DE LA PLATAFORMA DE INVESTIGACIONES DE LA UNIVERSITARIA DE INVESTIGACIÓN Y DESARROLLO – UDI

BARRANCABERMEJA

RAUL ERNESTO RAMOS GUZMAN

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO – UDI – FACULTAD DE INGENIERIAS INGENIERIA DE SISTEMAS

BARRANCABERMEJA 2012

Page 3: Proyecto de administracion de proyectos de grado

DISEÑO E IMPLEMENTACIÓN DE LA PLATAFORMA DE INVESTIGACIONES DE LA UNIVERSITARIA DE INVESTIGACIÓN Y DESARROLLO – UDI

BARRANCABERMEJA

RAUL ERNESTO RAMOS GUZMAN

Proyecto de Grado

Director SIGIFREDO MELENDEZ HERNANDEZ

Ingeniero de Sistemas

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO – UDI – FACULTAD DE INGENIERIAS INGENIERIA DE SISTEMAS

BARRANCABERMEJA 2012

Page 4: Proyecto de administracion de proyectos de grado

3

Page 5: Proyecto de administracion de proyectos de grado

4

DEDICATORIA

A Dios.

Por haberme permitido llegar hasta esta aquí, por darme la salud y el

entendimiento para afrontar todos los retos del día a día, por caminar a mi lado en

cada paso de mi vida.

A mis padres.

Por su esmero y preocupación para brindarme lo mejor, por la educación que me

dieron y por haber hecho de mi lo que soy, por sembrar en mí valores que me

permiten ser mejor persona, por sus concejos y su amor.

A mi esposa.

Por sus dedicación, amor, y comprensión en cada etapa de mi desarrollo como

profesional, por su paciencia y su apoyo para alcanzar una meta mas en nuestras

vidas.

A mis hijos.

Por ser motivo de inspiración para seguir adelante, en un mundo que cada día es

más exigente, con el propósito de poder ofrecerles una vida digna y una excelente

educación.

A mis maestros.

Por haberme mostrado el camino y haber sido guía excelentes en mi formación

académica, por preocuparse por trasmitir sus conocimientos y contribuir a la

formación de mejores personas para la sociedad.

Page 6: Proyecto de administracion de proyectos de grado

5

AGRADECIMIENTOS

Con su valiosa colaboración contribuyeron a que este proyecto se llevara a cabo

exitosamente, por eso expreso mi reconocimiento y gratitud a:

SIGIFREDO MELENDEZ Docente

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI

HUGO JAVIER MANTILLA Docente UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI

VITERBO BARRERA BARROSO Coordinador de Investigaciones UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI

También agradezco a mis padres, esposa e hijos por su apoyo incondicional

durante la realización de este trabajo de grado, agradezco a mis compañeros de

trabajo por su colaboración en los cambios de turno, lo que me permitió culminar

satisfactoriamente la carrera de ingeniería.

Page 7: Proyecto de administracion de proyectos de grado

6

CONTENIDO

Pág.

INTRODUCCION 16

1. DESCRIPCION GENERAL DEL PROYECTO 17

1.1 DESCRIPCION DEL PROBLEMA 17

1.2 OBJETIVOS 18

1.2.1 Objetivo general. 18

1.2.2 Objetivos específicos. 19

1.3 ANTECEDENTES 19

1.3.1 Sistemas actuales. 20

1.4 JUSTIFICACIÓN 21

2. MARCO TEORICO 22

2.1 PROYECTOS DE GRADO 22

2.1.1 ¿Qué es un proyecto de grado? 22

2.2 SISTEMA DE INFORMACIÓN 22

2.2.1 Definición. 22

2.2.2 Entrada de Información. 23

2.2.3 Almacenamiento de información. 23

2.2.4 Procesamiento de Información. 23

2.2.5 Salida de Información. 24

2.3 HERRAMIENTAS DE DISEÑO Y DESARROLLO 24

2.3.1 Diseño Orientado a Objetos. 24

2.3.2 Lenguajes de programación. 24

Page 8: Proyecto de administracion de proyectos de grado

7

3. HERRAMIENTAS DE DESARROLLO SELECCIONADAS 28

3.1 ORIENTACIÓN A OBJETOS 28

3.1.1 Ventajas de la orientación a objetos. 29

3.2 UML 29

3.2.1 Star Uml. 30

3.3 PÁGINAS WEB 31

3.4 SOFTWARE OPEN SOURCE 32

3.4.1 PHP. 32

3.4.2 Mysql. 35

3.4.3 Apache. 36

3.5 EXPERIENCIA EN LA APLICACIÓN DE SOFTWARE OPEN SOURCE 37

3.5.1 Facebook. 37

4. ESTADO DEL ARTE 39

5. METODOLOGÍA 41

5.1 GRAPPLE 41

5.1.1 ¿Por qué usar Grapple? 42

6. DISEÑO Y DESARROLLO 44

6.1 RECOPILACION DE NECESIDADES 44

6.1.1 Proceso del negocio. 44

6.1.2 Diagramas de Actividades 50

6.1.3 Análisis del dominio. 53

6.1.4 Necesidades del sistema. 56

6.2 ANALISIS 60

6.2.1 Haciendo realidad los casos de Uso. 60

6.2.2 Cambios de Estado 66

Page 9: Proyecto de administracion de proyectos de grado

8

6.3 DISEÑO 68

6.3.1 Diagrama de Componentes. 68

6.3.2 Diseño de la interfaz de usuario. 71

6.3.3 Planeación de la distribución. 72

6.4 DESARROLLO 74

6.4.1 Generación del Código 74

6.4.2 Librerías incluidas. 79

6.4.3 Estructura de Directorios. 80

6.5 IMPLEMENTACION 81

6.6 ALCANCE DEL SISTEMA 81

6.7 EXPLICACION DEL SISTEMA 82

6.8 CARACTERISTICAS Y LIMITACIONES 84

6.8.1 Caracteristicas de la base de datos. 84

6.8.2 Cantidad de usuarios. 85

6.8.3 Cantidad de peticiones. 86

6.9 REQUERIMIENTO DEL SISTEMA 86

6.9.1 Requerimiento del servidor. 86

6.9.2 Requerimientos del cliente. 87

7. CONCLUSIONES 88

8. RECOMENDACIONES 90

BIBLIOGRAFÍA 92

ANEXOS 94

Page 10: Proyecto de administracion de proyectos de grado

9

LISTA DE TABLAS

Pág.

Tabla 1. Proyectos de grado presentados año 2010 17

Tabla 2. Proyectos de grado presentados año 2011 18

Tabla 3. Métodos de la Clase Html 74

Tabla 4. Métodos de la Clase Form 75

Tabla 5. Métodos Clase Abstracta Control 75

Tabla 6. Clases hijas de la clase control 76

Tabla 7. Métodos Clase Table 76

Tabla 8. Métodos de la Clase Lista 76

Tabla 9. Métodos de la clase Master 77

Tabla 10. Métodos de la clase User 78

Tabla 11. Métodos de la clase Group 78

Page 11: Proyecto de administracion de proyectos de grado

10

LISTA DE FIGURAS

Pág.

Figura 1. Pagina web área de investigaciones de la UDI 20

Figura 2. Ilustración grafica arquitectura cliente servidor 26

Figura 3. Ejemplo de un modelo Entidad-Relación 27

Figura 4. Diagrama de actividades para el proceso de inscripción de temas 51

Figura 5. Diagrama actividades entrega anteproyecto 52

Figura 6. Diagrama Inicial de clases 54

Figura 7. Paquetes de funcionalidad del sistema. 57

Figura 8. Diagrama de Casos de Uso 59

Figura 9. Diagrama de estado para Tema Proyecto 66

Figura 10. Diagrama de estado para Anteproyecto 66

Figura 11. Diagrama de estado para Informe Final 67

Figura 12. Diagrama de componentes FrameWork HTML 68

Figura 13. Diagrama de componentes sistema de seguridad 69

Figura 14. Diagrama de componentes del sistema listas y elementos 70

Figura 15. Diagrama de componentes general 71

Figura 16. Ventana sistema administración de proyectos AdminPro. 72

Figura 17. Diagrama de Distribución. 73

Page 12: Proyecto de administracion de proyectos de grado

11

LISTA DE ANEXOS

Pág.

Anexo A. Estándar de Codificación Zend 94

Anexo B. Manual de Instalación AdminPro 118

Anexo C. Manual de Usuario AdminPro 128

Anexo D. Actas de Reuniones. 140

Anexo E. Articulo IEEE 151

Page 13: Proyecto de administracion de proyectos de grado

12

GLOSARIO

AdminPro. Titulo al producto desarrollado para este proyecto “DISEÑO E

IMPLEMENTACIÓN DE LA PLATAFORMA DE INVESTIGACIONES DE

UNIVERSITARIA DE INVESTIGACIÓN Y DESARROLLO – UDI”

Director. Docente vinculado a la Universidad que orienta el desarrollo de un

proyecto de grado.

MySql. Sistema gestor de base de datos que sirve de interfaz entre la base de

datos, el usuario y las aplicaciones.

Php. “Personal home page”, lenguaje de programación embebido que opera del

lado del servidor en un entorno cliente – servidor

Poo. Programación Orientada a Objetos, paradigma de la programación que

permite modelar objetos reales en un lenguaje estructurada.

Proyecto. Aplicación teórica o teórico-práctica de los conocimientos y destrezas

adquiridas en el proceso de formación profesional.

Semillero. Titulo dado a los grupos de investigación conformados por los

estudiantes activos y egresados de la universidad.

Siap. Sistema de información para la administración de proyectos, desarrollado

por los estudiantes de la Universidad Javeriana para la carrera Ingeniería de

sistemas.

Page 14: Proyecto de administracion de proyectos de grado

13

Sistema. Sistema informático o de computadora que colabora con la gestión de

procesos de una entidad.

Syscoteg. Sistema de información para administrar y controlar los proyectos de

grado del programa de tecnología informática, en la Corporación Universitaria

Minuto de Dios, desarrollado por los estudiantes del programa Tecnología en

Informática.

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

orientados a objetos.

Page 15: Proyecto de administracion de proyectos de grado

14

RESUMEN

El siguiente trabajo de grado corresponde al diseño y desarrollo de un software de

computadora que ayudara al área de investigación de la Universitaria de

Investigación y Desarrollo - UDI - , con los procesos de gestión de los proyectos

de grado presentados por los estudiantes de los diferentes programas académicos

que brinda la institución.

Este software permite acoplar y estructurar las responsabilidades de las personas

que intervienen en el proceso de presentación de un proyecto, desde la inscripción

de los temas, hasta la aprobación de las materias y calificación final.

El desarrollo se realizo por fases, empezando por etapa de recopilación de

necesidades, análisis, diseño y codificación, los lenguajes utilizados son:

programación orientada a objetos con Php, lenguaje de consultas de bases de

datos con MySq y páginas web con HTML y java script.

Page 16: Proyecto de administracion de proyectos de grado

15

ABSTRACT

The next grade paper correspond to designing and development of a computer

software that going to help at investigate area of University of Investigation and

Development – UDI –, this application going to cooperate with management

process of grade project produced for students of different academic programs

that offer this institute.

This software will allow to link and structure the responsibilities of the peoples that

intervene in the development process of a project from his inscription until his

approbation and final rating.

The development of this project was performed by phases, this process was

started by phase the data collection, after, was executed the analysis phase,

design and codification. In this project was used the programming languages

object oriented, the language PHP, a query language of data with MySql and

HTML as web page language combined with CSS and JavaScript.

Page 17: Proyecto de administracion de proyectos de grado

16

INTRODUCCION

En la Coordinación de Investigaciones de la Universitaria de Investigación y

Desarrollo UDI, nació la necesidad de un sistema de información que permita y

facilite la administración de los proyectos de grado, proceso esencial para la

culminación exitosa de las carreras tecnológicas y de ingeniería con las que

cuenta la universidad. De ahí germino el concepto de AdminPro, un software de

administración de proyectos y que debía cumplir con los aspectos vistos durante la

carrera de ingeniería de sistema.

Este documento es el resultado del trabajo realizado durante un año de

investigación, que contempla el diseño e implementación de un software que se

entregara a la Coordinación de Investigaciones que cumple con las

especificaciones requeridas para el beneficio de los estudiantes, directores y

evaluadores de proyectos de grado.

A continuación se presenta la información detallada sobre este trabajo de grado,

objetivos, etapas de desarrollo, funciones y aplicabilidades del mismo.

Page 18: Proyecto de administracion de proyectos de grado

17

1. DESCRIPCION GENERAL DEL PROYECTO

1.1 DESCRIPCION DEL PROBLEMA

Actualmente en la Universitaria de Investigación y desarrollo – UDI, la

Coordinación de Investigaciones no cuenta con herramientas tecnológicas que le

permitan una fácil gestión de los proyectos que se generan en las diferentes líneas

de investigación como son: los proyectos de grado y los semilleros de

investigación, los cuales deben ser aprobados por los estudiantes para la exitosa

terminación de su carrera profesional, lo que ocasiona que se manipule un gran

volumen de información que al no ser tratado de forma adecuada causa baja

efectividad en los tiempos de entrega, en los tiempos de revisión y en los tiempos

de aprobación de los documentos en cada una de las etapas del proceso de

evaluación de los proyectos. Además, para la adjudicación de los proyectos se

debe realizar un cruce de información entre el banco de proyectos y los proyectos

terminados con el fin de depurar el banco de proyectos y no re-adjudicar proyectos

ya ejecutados o en su defecto poder llevar trazabilidad a la evolución de los

mismos, este proceso se realiza de forma manual y demanda un alto consumo de

tiempo y recurso humano que puede optimizarse con la implementación de una

herramienta tecnológica.

A continuación se presenta un análisis los proyectos presentados en los últimos

dos años 2010 y 2011 respectivamente.

Tabla 1. Proyectos de grado presentados año 2010

PROYECTOS DE GRADO PRESENTADOS AÑO 2010

SEMESTRE PROYECTOS TECNOLOGIA

PROYECTO DE GRADO I

PROYECTOS DE GRADO II TOTAL

Primer Semestre 10 6 11 27

Segundo Semestre 14 21 7 42

Fuente. Coordinación de Investigaciones, Universitaria de Investigación y Desarrollo – UDI –

Page 19: Proyecto de administracion de proyectos de grado

18

Tabla 2. Proyectos de grado presentados año 2011

PROYECTOS DE GRADO PRESENTADOS AÑO 2010

SEMESTRE PROYECTOS TECNOLOGIA

PROYECTO DE GRADO I

PROYECTOS DE GRADO II TOTAL

Primer Semestre 17 16 20 53

Segundo Semestre 12 17 15 44

Fuente. Coordinación de Investigaciones, Universitaria de Investigación y Desarrollo – UDI –

Como se puede observar en el año 2010 se presentaron 69 proyectos y en el año

2011 se presentaron 97 proyectos, 28 proyectos más que el año inmediatamente

anterior, esto demuestra que cada año los proyectos de investigación presentados

aumentan, ocasionando que los procesos manuales de gestión y seguimiento se

tornen complejos y sea más difícil de administrar la información, para dar solución

a esta situación es necesario contar con herramientas tecnológicas que permitan

agilizar estos procesos y permitan llevar un mejor organización y control de la

información, por lo tanto si se implementa una herramienta de software basada en

la web se puede optimizar los tiempos, mejorar comunicación y aumentar la

productividad en el proceso de gestión y desarrollo de proyectos de grado en la

Universitaria de Investigación y Desarrollo – UDI –, al tiempo que se contribuye

con la preservación del medio ambiente al racionalizar el uso del papel físico con

la utilización de documentos virtuales.

1.2 OBJETIVOS

Optimizar el departamento de investigación de la

universitaria de investigación y desarrollo UDI, para la administración y gestión de

los proyectos de grado y semilleros de investigación mediante la sistematización

de procesos con la implementación de tecnologías de software orientadas a la

web.

1.2.1 Objetivo general.

Page 20: Proyecto de administracion de proyectos de grado

19

1. Recopilar las necesidades del sistema mediante la utilización de técnicas de

recolección de la información y análisis del dominio.

2. Analizar el sistema a través de los datos recopilados incorporando el diseño

de los casos de uso, de los diagramas de clase y los diagramas comunicación

entre objetos.

3. Diseñar los componentes del sistema como son los diagramas de objetos, los

diagramas de componentes y los prototipos de interfaz de usuario incluyendo

la planificación para la distribución.

4. Implementar solución propuesta con estándares de ingeniería del software y

las pruebas de operación del sistema diseñado.

1.3 ANTECEDENTES

El proyecto está destinado a la administración de los proyectos de las diferentes

carreras universitarias de la Universitaria de Investigación y Desarrollo – UDI –,

actualmente el volumen de información que manipula el área de investigaciones

de la universidad va en crecimiento, lo cual hace más complejo la administración,

seguimiento, gestión y culminación de los proyectos de grado presentados por los

estudiantes.

El sistema de información propuesto pretende agilizar los procesos de gestión de

proyectos, reduciendo los tiempos de entrega y mejorando la comunicación entre

las partes que interviene en el proceso, el cual será de ayuda para los estudiantes

que están culminando sus estudios, contando con una herramienta que les

permite gestionar el desarrollo del proyecto de una forma fácil y eficiente.

1.2.2 Objetivos específicos.

Page 21: Proyecto de administracion de proyectos de grado

20

La universitaria cuenta con una herramienta para la

dirección de investigaciones publicada en la página web de la universidad, esta

herramienta es de solo consulta y en ella se encuentra publicado todos los

formatos necesarios en la gestión del proyecto, con ella han logrado solucionar en

parte el problema al mantener disponibles los formatos para que los estudiantes

puedan bajarlos y modificarlos, aunque ha sido de ayuda, esta no es una

herramienta de gestión, y no permite a los estudiantes interactuar con el área de

investigaciones y los directores de proyectos, no permite realizar seguimiento al

avance de los proyecto, crear comentarios, calificar proyectos, etc.

Figura 1. Pagina web área de investigaciones de la UDI

Fuente. Página Web oficial de la Universitaria de Investigación y Desarrollo – UDI –

1.3.1 Sistemas actuales.

Page 22: Proyecto de administracion de proyectos de grado

21

Después de explorar las herramientas publicadas por la universidad, revisar la

documentación suministrada “Formatos y Reglamentos”, y consultar con el

Coordinador de Investigaciones, no se encontró información sobre la existencia de

un sistema de información que colabore con la gestión de los proyectos de grado,

con AdminPro se pretende que sea más que una herramienta de consulta, se

pretende que tanto estudiantes como directores cuenten con un espacio de

colaboración, donde puedan agregar sus comentarios a los proyectos, ver los

avances del mismo, consultar otros proyectos terminados, tener históricos, etc.

1.4 JUSTIFICACIÓN

La misión de la universitaria de investigación contempla “promover, diseñar,

desarrollar e implementar estrategias, herramientas de apoyo y proyectos de

investigación aplicada, de innovación tecnológica, creatividad y mejoramiento

continuo” 1, y para cumplir con esta expectativa se requiere que el proceso de

desarrollo de los proyectos se efectué de una manera eficiente y transparente, que

permita tanto a estudiantes como directores y evaluadores realizar seguimiento y

control en tiempo real a la realización y presentación de los proyectos y que

colabore con la administración de los documentos en las diferentes líneas de

investigación que tiene la universidad.

La realización de este proyecto se alinea con la misión de la universidad

incorporando a los estudiantes de pregrado en el desarrollo de esta herramienta

tecnológica que optimizara el proceso de presentación de los proyectos de grado y

a su vez contara con una fuente de información sobre proyectos desarrollados

anteriormente que servirá de consulta a nuevas investigaciones.

1 UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI, Reglamento de Investigaciones,

2010. p. 11

Page 23: Proyecto de administracion de proyectos de grado

22

2. MARCO TEORICO

2.1 PROYECTOS DE GRADO

Un Proyecto de Grado consiste en una

aplicación teórica o teórico-práctica de los conocimientos y destrezas adquiridas

en el proceso de formación profesional, para el análisis y solución de un

determinado problema; dentro del área o campo de formación. El Proyecto de

Grado versará sobre temáticas específicas del Programa Académico. Estas

pueden involucrar el desarrollo de nuevos conocimientos, sistematización de

conocimientos existentes, la adaptación de tecnologías, el diseño, realización y

evaluación de proyectos de intervención, la formulación y solución de problemas

de investigación y la investigación y discusión crítica de fundamentos teóricos. Los

Proyectos de Grado deberán estar enmarcados en las líneas de investigación

propuestas por la Facultad.2

2.2 SISTEMA DE INFORMACIÓN

Sistema de información (SI) es un conjunto de elementos

orientados al tratamiento y administración de datos e información, organizados y

listos para su posterior uso, generados para cubrir una necesidad. Estos

elementos interactúan entre sí para procesar los datos (incluyendo procesos

manuales y automáticos) dando lugar a información más elaborada y

distribuyéndola de la manera más adecuada posible en una determinada

organización en función de sus objetivos3.

2 UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI, Articulo 88, Reglamento de

Investigaciones, 2010. p. 33 3 DUANY, Armando. Centro de Estudio de Desarrollo Agrario y Rural

2.1.1 ¿Qué es un proyecto de grado?

2.2.1 Definición.

Page 24: Proyecto de administracion de proyectos de grado

23

Un sistema de información realiza cuatro actividades básicas: entrada,

almacenamiento, procesamiento y salida de información.

Es el proceso mediante el cual el Sistema de

Información toma los datos que requiere para procesar la información. Las

entradas pueden ser manuales o automáticas. Las manuales son aquellas que se

proporcionan en forma directa por el usuario, mientras que las automáticas son

datos o información que provienen o son tomados de otros sistemas o módulos.

Esto último se denomina interfaces automáticas. Las unidades típicas de entrada

de datos a las computadoras son las terminales, las cintas magnéticas, las

unidades de diskette, los códigos de barras, los escáner, la voz, los monitores

sensibles al tacto, el teclado y el mouse, entre otras.4

El almacenamiento es una de las

actividades o capacidades más importantes que tiene una computadora, ya que a

través de esta propiedad el sistema puede recordar la información guardada en la

sección o proceso anterior. Esta información suele ser almacenada en estructuras

de información denominadas archivos. La unidad típica de almacenamiento son

los discos magnéticos o discos duros, los discos flexibles o diskettes y los discos

compactos (CD-ROM). 5

Es la capacidad del Sistema de

Información para efectuar cálculos de acuerdo con una secuencia de operaciones

preestablecida. Estos cálculos pueden efectuarse con datos introducidos

recientemente en el sistema o bien con datos que están almacenados. Esta

característica de los sistemas permite la transformación de datos fuente en

información que puede ser utilizada para la toma de decisiones, lo que hace

posible, entre otras cosas, que un tomador de decisiones genere una proyección

4 SCOTT, George M. Principios de Sistemas de Información. Ed. Mc Graw Hill, 2003

2.2.2 Entrada de Información.

2.2.3 Almacenamiento de información.

2.2.4 Procesamiento de Información.

Page 25: Proyecto de administracion de proyectos de grado

24

financiera a partir de los datos que contiene un estado de resultados o un balance

general de un año base. 5

La salida es la capacidad de un Sistema de

Información para sacar la información procesada o bien datos de entrada al

exterior. Las unidades típicas de salida son las impresoras, terminales, diskettes,

cintas magnéticas, la voz, los gráficadores y los plotters, entre otros. Es importante

aclarar que la salida de un Sistema de Información puede constituir la entrada a

otro Sistema de Información o módulo. En este caso, también existe una interface

automática de salida.5

2.3 HERRAMIENTAS DE DISEÑO Y DESARROLLO

El diseño orientado a objetos es un proceso

de construir un modelado de objetos constituyentes que brinden solución a un

problema, y que permitan modelar un sistema de una forma abstracta de modo

que facilite su compresión y dominio, esto se logra mediante la abstracción de la

vida real en objetos y encontrando relaciones entre los mimos.

Para integrar el proceso de diseño con el desarrollo en la construcción de software

se creó el estándar UML (Lenguaje Unificado de Modelado) por sus siglas en

ingles, que sirve como enlace entre quien tiene la idea y el desarrollador, de modo

que permite capturar la ida del sistema para posteriormente pasarla al

desarrollador mediante el uso de un conjunto de símbolos y diagramas que tienen

fines distintos dentro del proceso de desarrollo6.

Un lenguaje de programación es un idioma

artificial diseñado para expresar computaciones que pueden ser llevadas a cabo

5 DUANY, Armando. Centro de Estudio de Desarrollo Agrario y Rural, 2007 6 SCHMULLER, Joseph, Aprendiendo UML en 24 horas, 2002

2.2.5 Salida de Información.

2.3.1 Diseño Orientado a Objetos.

2.3.2 Lenguajes de programación.

Page 26: Proyecto de administracion de proyectos de grado

25

por máquinas como las computadoras, Está formado por un conjunto de símbolos

y reglas sintácticas y semánticas que definen su estructura y el significado de sus

elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura,

se compila y se mantiene el código fuente de un programa informático se le llama

programación7. Actualmente se pueden destacar dos tipos de lenguajes según su

orientación.

Lenguajes de Escritorio. Son aquellos lenguajes de programación que se

utilizan para crear aplicaciones que se ejecutan en un entorno de personal, o de

forma local en un único computador, un ejemplo de estas aplicaciones son: Word,

Word Pad, Paint, etc. Para crear estas aplicaciones se utilizan lenguajes de

escritorio como Visual Basic, C, C++, Java, Delphi, Entre otros. 8

Lenguajes Web. Son aquellos lenguajes orientados a la programación de

aplicaciones para la internet, que se ejecutan por medio de una arquitectura

cliente-servidor y que requieren de una conexión en red (intranet/internet para que

funcione) de esta manera se puede compartir información, en esta gama de

lenguajes podemos encontrar, HTML, Java Script, PHP, Perl, ASP, JSP, entre

otros.

El modo de funcionamiento de las aplicaciones web consiste en una estructura

cliente servidor, donde el cliente realiza una petición o solicitud de información al

servidor, el servidor procesa la información y devuelve al cliente los resultados. 8

7 JOYANES, Luis, Fundamentos de programación. Ed. Mc Graw Hill. (2003)

8 CODESIS, Técnico Diseño Grafico y Programación. 2000

Page 27: Proyecto de administracion de proyectos de grado

26

Figura 2. Ilustración grafica arquitectura cliente servidor

Fuente: Internet, http://informaticaveronicamartinez.blogspot.com/2011/05/modelo-cliente-

servidor.html

Los programas codificados bajo la arquitectura cliente servidor se instalan en un

único equipo y no se emiten copias del software a los clientes, estos acceden a

ellos a través de una red de computadoras que se conecta con el servidor de la

aplicación, esto permite que todos los clientes siempre estén utilizando la última

versión de la aplicación, y facilita el mantenimiento de la misma.9

Bases de datos. Se define una base de datos como una serie de datos

organizados y relacionados entre sí, los cuales son recolectados y explotados por

los sistemas de información de una empresa o negocio en particular.10

Características de las base de datos. Entre las principales características de los

sistemas de base de datos podemos mencionar:

1. Independencia lógica y física de los datos.

2. Redundancia mínima.

9 JOYANES. Luis, Fundamentos de programación. Ed. Mc Graw Hill. (2003)

10 P. Salvador. Curso MySql. 2005

Page 28: Proyecto de administracion de proyectos de grado

27

3. Acceso concurrente por parte de múltiples usuarios.

4. Integridad de los datos.

5. Consultas complejas optimizadas.

6. Seguridad de acceso y auditoría.

7. Respaldo y recuperación.

8. Acceso a través de lenguajes de programación estándar.

Sistema de Gestión de Base de Datos (SGBD). Los Sistemas de Gestión de

Base de Datos (en inglés DataBase Management System) son un tipo de software

muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y

las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos,

de un lenguaje de manipulación de datos y de un lenguaje de consulta. 11

Modelo entidad – relación. Los diagramas o modelos entidad-relación

(denominado por su siglas, ERD “Diagram Entity relationship”) son una

herramienta para el modelado de datos de un sistema de información. Estos

modelos expresan entidades relevantes para un sistema de información, sus inter-

relaciones y propiedades. 11

Figura 3. Ejemplo de un modelo Entidad-Relación

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

11

P. Salvador. Curso MySql. 2005

Page 29: Proyecto de administracion de proyectos de grado

28

3. HERRAMIENTAS DE DESARROLLO SELECCIONADAS

3.1 ORIENTACIÓN A OBJETOS

El desarrollo de proyectos software ha sufrido grandes cambios desde los

primeros sistemas de cálculo hasta los sistemas de información actuales. El

Primer cambio fue la aparición del modelo relacional, un modelo con fuerte base

matemática que supuso el desarrollo de las bases de datos y propició la aparición

de los grandes sistemas de información. El segundo cambio es sobre los

lenguajes de programación, la aparición de los Lenguajes Orientados a Objetos

supuso una revolución en la industria software. El problema entonces radicaba en

poderle sacar partido a los lenguajes orientados a objetos por lo que aparecieron

numerosas metodologías para el diseño orientado objetos, sobre todo en lo que

respecta a la modelización de sistemas de software, entonces aparecio UML

(Unified Modeling Languaje, Lenguaje Unificado de Modelado) que pretende

unificar las tres metodologías más difundidas (OMT, Bootch y OOSE) e intentar

que la industria software alcance su maduración como Ingeniería. UML

proporciona las herramientas necesarias para poder obtener los modelos del

software basados en la observación de la realidad, En un modelo se han de incluir

los elementos que tengan más relevancia y omitir los que no son necesarios para

el nivel de abstracción que se ha elegido. A través del modelado se consigue

cuatro objetivos: 12

Los modelos ayudan a visualizar cómo es se quiere que sea un sistema.

Los modelos permiten especificar la estructura o el comportamiento de un

sistema.

Los modelos proporcionan plantillas que guían en la construcción de un

sistema.

12

SCHMULLER, Joseph, Aprendiendo UML en 24 horas, 2002

Page 30: Proyecto de administracion de proyectos de grado

29

Los modelos documentan las decisiones que hemos adoptado.

El paradigma de la orientación a

objetos tiene las siguientes ventajas.

Ofrece modelos fáciles de entender del sistema

Se generan formas abstractas del sistema

Los objetos son independientes entre si

Es flexible, al permitir integrar / acoplar los objetos entre si

Modela la comunicación de los objetos

La programación se realiza abierta / cerrada (abierta a la ampliación /

cerrada a la modificación)

Se proporciona un interfaz para la utilización de los objetos

Se reutiliza código generado

Facilita el mantenimiento

Las actualizaciones realizadas a un objeto no afectan el funcionamiento del

sistema

Es escalable al mantener la sencillez del código

No se repite código

3.2 UML

La metodología unificada de modelado (UML) para el modelado de sistemas

orientados a objetos se ha convertido desde fines de los 90 en un estándar para

modelar con tecnologías orientadas a objetos todos los elementos que configuran

la arquitectura de la información y de los procesos de negocios. Este es un

lenguaje para especificar, visualizar, construir y documentar los artefactos de un

13

SCHMULLER, Joseph, Aprendiendo UML en 24 horas, 2002

3.1.1 Ventajas de la orientación a objetos. 13

Page 31: Proyecto de administracion de proyectos de grado

30

sistema, fue desarrollado como intento de describir los sistemas de manera más

natural que la ofrecida por los métodos tradicionales.

UML contempla nueve tipos de diagramas, que son diferentes vistas de un único

modelo del sistema y ayudan a comprenderlo mejor desde diferentes frentes.

Cada diagrama es una representación grafica de una colección de elementos de

modelado. En resumen los diagramas propuestos son los siguientes.

1. Diagramas de casos de uso.

2. Diagramas de clases

3. Diagramas de comportamiento

a. Diagrama de estado

b. Diagrama de actividades

c. Diagrama de secuencia

d. Diagrama de colaboración.

4. Diagramas de implementación14

StarUML es una herramienta para el modelamiento de software

basado en los estándares UML (Unified Modeling Language) y MDA (Model Driven

Arquitecture), que en un principio era un producto comercial llamado (Agora

plastic) y ahora es de licencia abierta.

El software heredó todas las características de la versión comercial y poco a poco

ha ido mejorando sus características, entre las cuales se encuentran:

1. Soporte completo al diseño UML mediante el uso de.

Diagrama de casos de uso

Diagrama de clase

14

PLACE, Enrique. Programación Orientada a Objetos para php5. Surforce / Formación, 2009

3.2.1 Star Uml.

Page 32: Proyecto de administracion de proyectos de grado

31

Diagrama de secuencia

Diagrama de colaboración.

Diagrama de estados

Diagrama de actividad.

Diagrama de componentes

Diagrama de despliegue.

Diagrama de composición estructural (UML 2.0)

2. Definir elementos propios para los diagramas, que no necesariamente

pertenezcan al estándar de UML,

3. La capacidad de generar código a partir de los diagramas y viceversa,

actualmente funcionando para los lenguajes c++, c# y java.

4. Generar documentación en formatos Word, Excel y PowerPoint sobre los

diagramas.

5. Plantillas de proyectos.

6. Posibilidad de crear plugins para el programa.

3.3 PÁGINAS WEB15

Actualmente los desarrollos de software tienden a arquitecturas online y multinivel

que facilitan el mantenimiento, la distribución y el acceso a la información desde el

lugar donde se encuentre, la selección de la aplicación web obedece a la

necesidad de las personas que intervienen en el proceso de las asignaturas

proyectos de grado I y II, debido al volumen y a la constante entrega de

información que se realiza en el proceso, esto requiere una disponibilidad de las

24 horas los 7 días de la semana. De esta manera el coordinador, los directores

de proyectos, las directivas de la carrera, los estudiantes y demás personas

interesadas pueden contar con herramienta de información disponible que permite

de una manera fácil y rápida desde un computador que cuente con conexión a

15

CODESIS, Técnico Diseño Grafico y Programación, 2000

Page 33: Proyecto de administracion de proyectos de grado

32

internet realizar gestión de los proyectos, publicar información o simplemente

consulta en línea de documentos publicados de estos proyectos.

Con las aplicaciones web se tiene como ventaja que las actualizaciones y el

mantenimiento se realiza del lado del servidor y no del cliente, lo cual implica que

los clientes no requieren software especializado o componentes adicionales, la

única herramienta que se necesita es tener un computador con internet y un

navegador web, herramientas muy comunes en el mundo moderno.

Ventajas de la arquitectura Cliente – Servidor.

El servidor es independiente del cliente

Los cambios del cliente no afectan al servidor

Facilita el mantenimiento del software

Centraliza la información en un solo lugar

El puede ampliar la capacidad de almacenamiento del servidor

Los clientes no pueden acceder al código de la aplicación.

No requiere licencias para su utilización multi computador.16

3.4 SOFTWARE OPEN SOURCE

Open Source es el término con el que se conoce al software distribuido y

desarrollado libremente, las siguientes son las herramientas más utilizadas para el

desarrollo de software open source.

PHP (acrónimo de "PHP: Hypertext Preprocessor") es un lenguaje

de "código abierto" interpretado, de alto nivel, embebido en páginas HTML y

ejecutado en el servidor. Lo que distingue a PHP de la tecnología Java script, la

16

PLACE, Enrique. Programación Orientada a Objetos para php5. Surforce / Formación, 2009

3.4.1 PHP.

Page 34: Proyecto de administracion de proyectos de grado

33

cual se ejecuta en la máquina cliente, es que el código PHP es ejecutado en el

servidor17.

¿Qué se puede hacer con PHP? PHP puede hacer cualquier cosa que se pueda

hacer con un script CGI, como procesar la información de formularios, generar

páginas con contenidos dinámicos, o enviar y recibir cookies.

Existen tres campos en los que se usan scripts escritos en PHP.

Scripts del lado del servidor. Este es el campo más tradicional y el principal

foco de trabajo. Se necesitan tres cosas para que esto funcione. El

intérprete PHP (CGI ó módulo), un servidor web y un navegador.

Scripts en la línea de comandos. Se puede crear un script PHP y correrse

sin ningún servidor web o navegador. Solamente se necesita el intérprete

PHP.

Escribir aplicaciones de interfaz gráfica. Se puede utilizar algunas

características avanzadas en programas clientes utilizando PHP-GTK. esta

una extensión de PHP, no disponible en la distribución principal.

PHP puede ser utilizado en cualquiera de los principales sistemas operativos del

mercado, incluyendo Linux, muchas variantes Unix (incluyendo HP-UX, Solaris y

OpenBSD), Microsoft Windows, Mac OS X, RISC OS y probablemente alguno

más. PHP soporta la mayoría de servidores web de hoy en día, incluyendo

Apache, Microsoft Internet Information Server, Personal Web Server, Netscape e

iPlanet, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd y muchos otros.

PHP tiene módulos disponibles para la mayoría de los servidores, para aquellos

otros que soporten el estándar CGI, PHP puede usarse como procesador CGI.

17

Grupo PHP. Manual de PHP. 2007

Page 35: Proyecto de administracion de proyectos de grado

34

PHP tiene la posibilidad de usar programación procedimental o programación

orientada a objetos. Aunque no todas las características estándar de la

programación orientada a objetos están implementadas en la versión actual de

PHP.18

PHP no se limita a resultados en HTML. Entre las habilidades de PHP se incluyen:

creación de imágenes, archivos PDF y películas Flash. Tambié puede presentar

otros resultados, como XHTM y archivos XML.

Quizás la característica más potente y destacable de PHP es su soporte para una

gran cantidad de bases de datos. Escribir un interfaz vía web para una base de

datos es una tarea simple con PHP. Las siguientes bases de datos están

soportadas actualmente:

Adabas D Ingres Oracle (OCI7 and OCI8)

dBase InterBase Ovrimos

Empress FrontBase PostgreSQL

FilePro (read-only) mSQL Solid

Hyperwave Direct MS-SQL Sybase

IBM DB2 MySQL Velocis

Informix ODBC Unix dbm

PHP soporta ODBC (el Estándar Abierto de Conexión con Bases de Datos), asi

que se puede conectarse a cualquier base de datos que soporte tal estándar.

PHP también cuenta con soporte para comunicarse con otros servicios usando

protocolos tales como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (en

Windows) y muchos otros.

18

Grupo PHP. Manual de PHP. 2007

Page 36: Proyecto de administracion de proyectos de grado

35

Para terminar, PHP cuenta con muchas extensiones muy interesantes, como las

funciones del motor de búsquedas mnoGoSearch, utilidades de compresión (gzip,

bz2), conversión de calendarios, entre otras.

MySql es el sistema de gestión de bases de datos SQL Open

Source más popular, desarrollado y distribuido MySql AB. MySql AB es una

compañía comercial, fundada por los desarrolladores de MySql. Esta es una

compañía Open Source de segunda generación que une los valores y metodología

Open Source con un exitoso modelo de negocio.20

Ventajas de MySql

Escalabilidad: es posible manipular bases de datos enormes, del orden de

seis mil tablas y alrededor de cincuenta millones de registros, y hasta 32

índices por tabla.

MySql está escrito en C y C++ y probado con multitud de compiladores y

dispone de APIs para muchas plataformas diferentes.

Conectividad: es decir, permite conexiones entre diferentes máquinas con

distintos sistemas operativos.

Es multi-hilo, con lo que puede beneficiarse de sistemas multiprocesador.

Permite manejar multitud de tipos para columnas.

Permite manejar registros de longitud fija o variable.

Dimensiones máximas de las tablas MySQL. En MySQL 5.0, usando el motor

de almacenamiento MyISAM, el máximo tamaño de las tablas es de 65536 terabytes

(256 ^ 7 - 1 bytes). Por lo tanto, el tamaño efectivo máximo para las bases de

datos en MySQL usualmente los determinan los límites de tamaño de ficheros del

sistema operativo, y no por límites internos de MySQL. El motor de

19

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

P. Salvador. Curso MySql. 2005

3.4.2 Mysql. 19

Page 37: Proyecto de administracion de proyectos de grado

36

almacenamiento InnoDB mantiene las tablas en un espacio que puede ser creado

a partir de varios ficheros. Esto permite que una tabla supere el tamaño máximo

individual de un fichero. Este espacio puede incluir particiones de disco, lo que

permite tablas extremadamente grandes. El tamaño máximo del espacio de tablas

es 64TB.

La siguiente tabla lista algunos ejemplos de límites de tamaño de ficheros de

sistemas operativos. Esto es sólo una guía y no pretende ser definitiva. Para la

información más actual, se debe consultar la documentación específica del

sistema operativo. 21

Sistema operativo Tamaño máximo de fichero

Linux 2.2-Intel 32-bit 2GB (LFS: 4GB)

Linux 2.4 (usando sistema de ficheros ext3) 4TB

Solaris 9/10 16TB

Sistema de ficheros NetWare w/NSS 8TB

win32 w/ FAT/FAT32 2GB/4GB

win32 w/ NTFS 2TB (posiblemente mayor)

MacOS X w/ HFS+ 2TB

Apache es el Servidor Web más utilizado, líder con el mayor

número de instalaciones a nivel mundial muy por delante de otras soluciones

como el IIS (Internet Information Server) de Microsoft. Apache es un proyecto de

código abierto y uso gratuito, multiplataforma (hay versiones para todos los

sistemas operativos más importantes), muy robusto y que destaca por su

seguridad y rendimiento. Apache es flexible, rápido y eficiente, continuamente

actualizado y adaptado a los nuevos protocolos (HTTP 1.1). Entre sus

características destacan:

21

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

3.4.3 Apache.

Page 38: Proyecto de administracion de proyectos de grado

37

Multiplataforma

Es un servidor de web conforme al protocolo HTTP/1.1

Modular: Puede ser adaptado a diferentes entornos y necesidades, con la

API de programación de módulos.

Basado en hebras en la versión 2.0

Incentiva la realimentación de los usuarios, obteniendo nuevas ideas,

informes de fallos y parches para la solución de los mismos.

Se desarrolla de forma abierta

Extensible: gracias a ser modular se han desarrollado diversas extensiones

entre las que destaca PHP, un lenguaje de programación del lado del

servidor.22

3.5 EXPERIENCIA EN LA APLICACIÓN DE SOFTWARE OPEN SOURCE

FaceBook es uno de los casos de éxito de las sistemas que

utilizan open source más popular que se conoce hoy día, no es ningún secreto que

muchas de las grandes empresas utilizan Software Libre y Open Source de forma

bastante extensa y exitosa, como es el casos Facebook, la red social mas grande

del mundo, con más de 500 millones usuarios y que maneja unos 30 mil millones

de objetos al mes según sus propias estadísticas en

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

Para soportar estas cargas de trabajo, manejar tan grandes cantidades de

información y ser escalable en el tiempo, Facebook utiliza Open Source el cual

como base para esta infraestructura, son los servidores LAMP (Linux, Apache,

MySQL y PHP).

22

I, Gilfillan. La Biblia del Servidor Apache, Ed. Anaya Multimedia

3.5.1 Facebook.

Page 39: Proyecto de administracion de proyectos de grado

38

Lo interesante de Facebook es que utiliza la misma plataforma que se desea

utilizar en este proyecto, y que sirve como referente y ejemplo de las capacidades

que tiene el open source y la implementación de herramientas como Apache,

MySql y Php que son las que van a soportar el desarrollo de este proyecto.

Page 40: Proyecto de administracion de proyectos de grado

39

4. ESTADO DEL ARTE

Se procede a analizar aspectos importantes de investigaciones realizadas sobre

aplicaciones desarrolladas para la administración de proyectos de grado en las

instituciones educativas.

Después de indagar en el mercado se ha encontrado que a nivel internacional

existen varios sistemas similares, en Uruguay la Universidad de RAU cuenta con

un sistema que recopila los proyectos ejecutados desde 1989 hasta el 2000,

teniendo como finalidad proveer información sobre los proyectos elaborados en la

universidad, terminados y en curso, dejándolos a disposición de los miembros de

la comunidad académica, docentes y alumnos, facilitando la búsqueda de

documentos para el desarrollo de estudios e investigaciones.

A nivel nacional se encontró que en las siguientes universidades se desarrollaron

proyectos de investigación sobre el mismo tema, una de ellas es La Pontificia

Universidad Javeriana en la ciudad de Bogotá, que pertenece a la Compañía de

Jesús (Jesuitas) de este país, fue fundada en 1604, contando así con 400 años de

trayectoria académica, en el año 2005 los estudiantes de la carrera de Ingeniería

de Sistema diseñaron una herramienta que les permitiera realizar la gestión de los

proyectos que llamaron SIAP. Esta una herramienta de software basado en la

web, programado en visual studio.Net (ASP), diseñado para administrar los

proyectos de grado de la facultad de ingeniería de sistemas exclusivamente. Este

sistema cuenta con funciones para crear, consultar, eliminar, modificar los datos

de los proyectos de grado.23

Los beneficios alcanzados al implementar este sistema han sido: reducir el tiempo

de entrega de los proyectos, hacer seguimiento a las entregas de los documentos,

23

CHAPARO, Gilberto y FORERO, Luis, SIAP, Universidad Javeriana, 2005.

Page 41: Proyecto de administracion de proyectos de grado

40

facilitar la comunicación y mejorar la productividad. Con este sistema los

estudiantes, directores y coordinadores lograron optimizar el proceso de gestión

de los proyectos de grado de la carrera de Ingeniería de sistemas.

También en la Corporación Universitaria Minuto de Dios, los estudiantes de

Tecnología de Informática de la facultad de ingeniería, desarrollaron un proyecto

titulado “Sistema de información para administrar y controlar los proyectos de

grado del programa de tecnología informática – SYSCOTEG” en el año 2007, con

la finalidad de facilitar la administración de los proyectos de grado y reducir los

tiempos de consulta documental, este aplicativo fue diseñado para un ambiente

web con herramientas open source (apache, php, mysql), su desarrollo se baso en

el paradigma de la programación estructura. 24

Como se puede observar en el campo de investigación existen diversos proyectos

a nivel internacional como nacional, así, tanto SIAP como SYSCOTEG se

asemejan a este proyecto en su funcionalidad y objetivo, sin importar en que

lenguaje o que paradigma se encuentre desarrollado, esto refleja que la

administración de los proyectos no es un problema propio, si no, que es un

problema de muchas universidades a nivel nacional y que se presenta desde hace

varios años.

Lo que diferencia el proyecto propuesto con respecto a sus similares es la

potencia de combinar el desarrollo open source con la programación orientada a

objetos, ofreciendo un sistema adaptable a las nuevas necesidades, flexible,

escalable y fácil de mantener.

24

FONSECA, Sergio, SYSCOTEG, Corporación Universitaria Minuto de Dios, 2007

Page 42: Proyecto de administracion de proyectos de grado

41

5. METODOLOGÍA

La metodología de desarrollo consiste en describir la forma como se va a ejecutar

el proyecto, está compuesta por un conjunto de técnicas, métodos y

procedimientos guías que indican que hacer y cómo actuar en el proceso de

investigación. Para efectos de este proyecto se propone usar la metodología

GRAPPLE (Guía para la ingeniería de aplicaciones rápidas).

5.1 GRAPPLE

GRAPPLE (Guía para la ingeniería de aplicaciones rápidas). Son un conjunto de

ideas adaptables y flexibles mediante la cual se muestra el camino para incorporar

al UML dentro de un contexto de diseño, Grapple consta de 4 segmentos y cada

segmento se compone de varias acciones, en cada acción se genera un producto

de trabajo el cual tiene asignado un responsable, generalmente son diagramas del

UML que describen y modelan una parte del sistema. Los segmentos de esta

metodología se enumeran a continuación.

Recopilación de necesidades

1. Descubra los procesos de negocios

2. Realice un análisis del dominio

3. Identifique los sistemas cooperativos

4. Descubra las necesidades del sistema

5. Presente los resultados al Cliente

Page 43: Proyecto de administracion de proyectos de grado

42

Análisis

1. Compresión del uso del sistema

2. Hacer realidad los casos de uso

3. Depurar los diagramas de clases

4. Analiza los cambios de estado de los objetos

5. Define la comunicación entre objetos

Diseño

1. Desarrollo y depuración de los diagramas de objetos

2. Desarrollo de los diagramas de Componentes

3. Planeación para la distribución

4. Diseño y prototipo de la interfaz del usuario

5. Pruebas de Diseño

6. Inicia la documentación

Desarrollo

1. Generación del código

2. Verificación del Código

3. Generación de Interfaz del Usuario, conexión con el código y prueba

4. Consumación de la documentación

Las metodologías iniciales se estructuraban de

una forma secuencial donde cada etapa dependía de la anterior y este

pensamiento influyo por muchos años, como el método en cascada, que

establece como etapas para el desarrollo el análisis, diseño, codificación y

distribución. Esta manera de hacer las cosas ofrece ciertas desventajas, ya que si

un analista no tiene contacto con un diseñador y este a su vez no tiene contacto

5.1.1 ¿Por qué usar Grapple?

Page 44: Proyecto de administracion de proyectos de grado

43

con un desarrollador, existe la posibilidad de que los tres miembros rara vez

trabajen juntos para compartir puntos de vista importantes. En contraste con el

método en cascada, las modernas ingenierías tienden a la colaboración entre las

fases de desarrollo. Los analistas y diseñadores hacen revisiones para desarrollar

un sólido fundamento para los codificadores y estos a su vez, interactúan con los

analistas y diseñadores para compartir sus puntos de vista, modificar los diseños y

fortalecer su código. La ventaja es que conforme aumente la comprensión, el

equipo incorpora nuevas ideas y genera un sistema más confiable.25

25

SCHMULLER, Joseph, Aprendiendo UML en 24 horas, 2002

Page 45: Proyecto de administracion de proyectos de grado

44

6. DISEÑO Y DESARROLLO

A continuación se presenta el diseño del sistema para la administración de los

proyectos de grado de la universitaria de investigación y desarrollo UDI.

6.1 RECOPILACION DE NECESIDADES

Para la recopilación de las necesidades se consultaron como fuente de

información el reglamento de investigaciones, los formatos de inscripción y listas

virtuales en Excel utilizadas por el Coordinador de Investigaciones para llevar

control de los proyectos presentados. A continuación se describe el proceso según

el reglamento de investigaciones.

Descripción tomada del Reglamento de

Investigaciones de la universidad

ARTICULO 96. Etapas en el desarrollo de un Proyecto de Grado26

El desarrollo de un Proyecto de Grado consta de las siguientes etapas o fases, las

cuales deben estar enmarcadas dentro del calendario de Investigaciones de cada

período académico:

1. Selección del tema.

2. Elaboración del Anteproyecto.

3. Desarrollo del proyecto y elaboración del manuscrito final.

4. Sustentación pública.

26

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

6.1.1 Proceso del negocio.

Page 46: Proyecto de administracion de proyectos de grado

45

ARTICULO 99. Presentación del tema de Proyecto de Grado27

La primera fase se inicia con la publicación en la cartelera de cada Facultad de los

temas que proponen los docentes investigadores como posible propuestas de

trabajo de grado de los estudiantes. En esta misma publicación se identificará el

número de cupos disponible por temas. Los estudiantes deben preseleccionar dos

posibles temas de investigación de acuerdo a sus intereses. Estos temas los

deben registrar en el formato “Ficha de Inscripción de Tema de Proyecto de

Grado” (Ver Anexo 5), diseñada por la UDI para tal fin. El Comité de

Investigaciones analizará cada inscripción, y en reunión con los docentes que

proponen los temas, serán socializados con los estudiantes. Esta designación de

los estudiantes en los temas, líneas y proyectos de investigación, se publicará en

la cartelera de las Facultades.

PARAGRAFO 1: En caso de proponerse un tema que no esté incluido ni en las

líneas, ni en los proyectos propuestos por los docentes investigadores de las

Facultades, este deberá presentarse en el formato Propuesta del Tema del Banco

de Proyectos (formato PM-GI01-R01) y someterse al aval del Comité de

Investigaciones y al visto bueno de la Rectoría. La idea del tema para el Banco de

Proyectos deberá ser presentada el semestre inmediatamente anterior en el

formato diseñado para tal fin (formato PM-GI01-R01) dentro de las fechas

estipuladas en el calendario académico.

PARAGRAFO 2: Los docentes deberán presentar ante el Comité de

Investigaciones, a través de la Coordinación de Investigaciones, sus propuestas

para el Banco de Proyectos según las fechas establecidas en el calendario

académico.

27

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

Page 47: Proyecto de administracion de proyectos de grado

46

ARTICULO 105. Procedimiento para tramitar el tema de proyecto 28

1. El estudiante selecciona un tema que se encuentre aprobado en el Banco

de Proyectos.

2. El estudiante debe diligenciar el formato “Ficha de Inscripción de Tema de

Proyecto de Grado” y entregarlo a la oficina de Coordinación de

Investigaciones anexando fotocopia del Polígrafo de pago.

3. Si el Proyecto de Grado es patrocinado por una entidad externa o por la

UDI, la Coordinación de Investigaciones proveerá una carta de

presentación al estudiante para ser llevada a la entidad, la que a su vez

expedirá una carta avalando los recursos que va a disponer para el

desarrollo del proyecto. Para el caso de la UDI, la carta será expedida por

la Rectoría.

ARTICULO 106. Procedimiento para tramitar el Anteproyecto

1. El estudiante elabora el Anteproyecto siguiendo el formato establecido, bajo

la supervisión de su Director de proyecto.

2. El estudiante entrega a la Coordinación de Investigaciones el Anteproyecto,

en original y copia, debidamente aprobado por el Director. Si el proyecto es

patrocinado por una entidad externa, se debe incluir la carta expedida por

esta entidad, avalando los recursos que va a disponer para el desarrollo del

mismo.

3. El Comité de Investigaciones se reúne periódicamente para revisar los

Anteproyectos recibidos. El Comité asigna el Calificador, quien analizará y

emitirá un concepto del Anteproyecto. Si el Anteproyecto es aprobado, la

Coordinación de Investigaciones notificará por escrito al estudiante.

28

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

Page 48: Proyecto de administracion de proyectos de grado

47

4. Cada Calificador tendrá un plazo máximo de 15 días calendario para emitir

su concepto sobre el Anteproyecto. La denominación de este concepto

depende del programa donde se enmarca el Proyecto de Grado. Cuando el

concepto sea aprobado el estudiante podrá matricular Proyecto de Grado II.

5. El concepto que podrá emitir el Calificador después de haber analizado y

verificado el Anteproyecto será:

o APROBADO: Cuando el Anteproyecto cumple con todos los

requisitos exigidos por el Comité de Investigaciones. (Ver Artículo

143: Aprobación del Anteproyecto). A

o PROBADO CON CORRECCIONES: Cuando el Anteproyecto tiene

problemas de forma (presentación); el estudiante debe cambiar la

presentación de acuerdo con los comentarios hechos por el

Calificador, y someterlo a evaluación nuevamente.

o PENDIENTE DE APROBACION: Cuando el Anteproyecto tiene

problemas de fondo; es decir, hay fallas en el enfoque teórico-

científico, el estudiante debe replantear sus formulaciones y darles

mayor fundamento. La Coordinación de Investigaciones programará

una sustentación privada citando al estudiante y al Calificador, para

dar a conocer las deficiencias de este. El estudiante deberá

presentar el Anteproyecto con las correcciones y someterlo a

evaluación nuevamente. Este proceso se podrá realizar una sola

vez. El Comité puede recomendar que se cambie el tema del

proyecto y se elabore un nuevo Anteproyecto.

o APLAZADO: Cuando el Anteproyecto tenga inconsistencias en el

enfoque teórico o debilidades internas que lo invaliden. El estudiante

deberá volver a matricular Proyecto de Grado I ya sea replanteando

el tema o seleccionando uno nuevo.

o ANULADO: Cuando se compruebe plagio en los aspectos de fondo y

ejecución del trabajo.

Page 49: Proyecto de administracion de proyectos de grado

48

Para la aplicación de este artículo se establecen las siguientes normas:

1. Todo concepto emitido por los Calificadores es recibido por la Coordinación

de Investigaciones y luego pasado al Comité de Investigaciones con el fin

de que este apruebe la notificación al estudiante.

2. En los casos en que el estudiante deba hacer correcciones, entregará el

Anteproyecto corregido directamente a la Coordinación de Investigaciones

en la fecha estipulada. Si incumple el plazo fijado deberá matricular

nuevamente Proyecto de Grado I.

3. Es la Coordinación de Investigaciones quien se encarga de hacer llegar el

Anteproyecto corregido a los Calificadores.

4. Los Calificadores evalúan los cambios y envían su concepto final.

ARTICULO 108. Procedimiento para tramitar la entrega del informe final 29

El estudiante entrega a la Coordinación de Investigaciones el informe final, en

original y dos copias, debidamente aprobado por el Director. Si el Proyecto de

Grado es patrocinado por una entidad externa se debe incluir una carta expedida

por esta entidad, expresando su concepto acerca del trabajo desarrollado, además

se debe aportar comunicación escrita por parte del Director en la que avale el

trabajo desarrollado. El informe final será entregado en la Coordinación de

Investigaciones según la fecha establecida en el calendario académico y en la

carta de aprobación de matrícula de Proyecto de Grado I, en donde se notificó al

estudiante de dicha fecha. El Comité de Investigaciones se reunirá y asignará dos

Calificadores idóneos para tal fin, los cuales pueden ser los mismos que calificaron

el Anteproyecto. Cada Calificador tendrá un plazo máximo de 15 días calendario

para emitir su concepto sobre el informe final. Este concepto podrá ser:

29

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

Page 50: Proyecto de administracion de proyectos de grado

49

APROBADO: Cuando el informe final cumple con todos los requisitos

exigidos por el Comité de Investigaciones.

APROBADO CON CORRECCIONES: Cuando el informe final tiene

problemas de forma (presentación); el estudiante debe cambiar la

presentación de acuerdo con los comentarios hechos por el Calificador, y

someterlo a evaluación nuevamente.

PENDIENTE DE APROBACION: Cuando el informe final tiene problemas

de fondo; es decir, hay fallas en el enfoque teórico-científico, el estudiante

debe replantear sus formulaciones y darles mayor fundamento. La

Coordinación de Investigaciones programará una sustentación privada

citando al estudiante y los Calificadores, para dar a conocer las deficiencias

de este. El estudiante deberá presentar el Proyecto con las correcciones y

someterlo a evaluación nuevamente. Este proceso se podrá realizar una

sola vez. El Comité puede recomendar que se cambie el tema y se elabore

un nuevo Proyecto.

NO APROBADO: Cuando el informe final tenga inconsistencias en el

enfoque teórico o debilidades internas que lo invaliden. La Coordinación de

Investigaciones programará una sustentación privada citando al estudiante

y los Calificadores, para dar la oportunidad al estudiante de defender su

trabajo con el fin de que los Calificadores reafirmen o cambien su concepto.

Si el concepto no cambia el estudiante deberá volver a matricular Proyecto

de Grado II. Existe la posibilidad de replantear el tema o iniciar con un

nuevo proyecto, lo cual implica iniciar nuevamente desde proyecto de

Grado I.

ANULADO: Cuando se compruebe plagio en los aspectos de fondo y

ejecución del trabajo; así como en el cumplimiento de los objetivos.

Page 51: Proyecto de administracion de proyectos de grado

50

Para la aplicación de este artículo se establecen las siguientes normas:

1. Todo concepto emitido por el Calificador es recibido por la Coordinación de

Investigaciones y luego pasado al Comité de Investigaciones con el fin de

que este apruebe la notificación al estudiante.

2. En los casos en que el estudiante deba hacer correcciones, entregará el

informe final corregido directamente a la Coordinación de Investigaciones

en la fecha estipulada. Si incumple el plazo fijado deberá matricular

nuevamente Proyecto de Grado II.

3. Es la Coordinación de Investigaciones quien se encarga de hacer llegar el

informe final corregido a los Calificadores.

4. Los Calificadores evalúan los cambios y envían su concepto final.

A continuación se presentan los diagramas

de actividades para los procesos del negocio más importantes de la coordinación

de investigaciones.

Diagrama de actividades proceso de inscripción de temas. El diagrama de

actividades de inscripción de temas tiene como alcance desde el momento desde

que se consulta en los temas del banco de proyecto hasta el momento de su

inscripción.

6.1.2 Diagramas de Actividades.

Page 52: Proyecto de administracion de proyectos de grado

51

Figura 4. Diagrama de actividades para el proceso de inscripción de temas

Diagrama de actividades proceso entrega anteproyecto. El diagrama de

actividades de entrega de anteproyecto tiene como alcance desde que se

matricula la materia proyecto de grado 1 hasta que se emite su calificación.

Estudiante Coordinador Comite Rectoria

Llegar

Consultar propuestas proyectos

Seleccionar uno o dos temas

Llenar ficha de inscripcion

Entregar ficha a la coordinacion

Analizar inscripciones

Socialiar a estudiantes

Designar Temas (Aprobar)Publicar en Cartelera

Proponer otro tema

Aprobar tema nuevo

Agregar Tema al banco

no le gusta el tema

Recibir Fichas Incripciones

Dar visto Bueno al Tema

Page 53: Proyecto de administracion de proyectos de grado

52

Figura 5. Diagrama actividades entrega anteproyecto

Diagrama de actividades proceso entrega informe final. El diagrama de

actividades para la entrega del informe final corresponde con el diagrama de

entrega de anteproyecto, el proceso se desarrolla de la mima forma variando en la

calificación final.

Estudiante Director Coordinador Calificador

Elaborar Anteproyecto

Aprobar Anteproyecto

Asignar Calificador

Entregar Anteproyecto

Analizar Proyecto

Emitir Concepto

Notificar a estudiante

Reportar Materia

Revisar Anteproyecto Corregir Anteproyecto

Con errores

Sin errores

Corregir Anteproyecto Con errores / Pendiente

Aprobado

Aplazado

Page 54: Proyecto de administracion de proyectos de grado

53

El objetivo de esta sección es comprender el

dominio del sistema, de modo que se pueda comprender lo procesos que se

intentan mejorar y el modo en que operan. Para esto se realiza una extracción de

sustantivos y verbos de la descripción de los procesos los cuales se convertirán en

las clases y acciones del sistema.

Extracción de Sustantivos. Proyecto, calendario, cartelera, facultad, temas de

investigación, docentes, estudiantes, formato inscripción, comité, líneas de

investigación, propuesta de tema, rector, visto bueno, idea, banco de proyectos,

anteproyecto, informe final, calificador, comité de calificaciones, concepto de

anteproyecto, concepto final, coordinador.

Extracción de Verbos. publicar, proponer, preseleccionar, registrar, analizar,

socializar, designar, incluir, avalar, seleccionar, aprobar, diligenciar, entregar,

elaborar, supervisar, revisar, aginar, analizar, emitir, notificar, aprobar, corregir,

evaluar, convocar.

Ahora se crearan las clases del sistema basado en la extracción de sustantivos,

teniendo en cuenta que no todos los sustantivos se convertirán en clases, ya que

algunos se convertirán en atributos.

Creación de Clases. Proyecto, Calendario, Cartelera, Facultad, Tema de

Investigación, Docente, Estudiante, Rector, Coordinador, Formato Inscripción,

Línea de Investigación, Programa Académico, Banco de Proyectos, Anteproyecto,

Informe Final, Calificador,

6.1.3 Análisis del dominio.

Page 55: Proyecto de administracion de proyectos de grado

54

Figura 6. Diagrama Inicial de clases

Proyecto

-tema-anteproyecto-informeFinal

+agregarAnteproyecto()+agregarInformeFinal()+agregarTema()

Anteproyecto

-fehaEntrega-nota

InformeFinal

-fechaEntrega-nota

Estudiante

-nombres-correo-telefonos-direccion

+presentarAnteproyecto()+presentarInformeFinal()+inscribirTema()

Docente

-nombres-correo-telefonos-direccion Calificador

+revisarDocumento()+emitirCalificacion()

Coordinador

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

Calendario

+actividad+fecha

Cartelera

+publicar()

Facultad

-nombre-coleccionProgramas

+agregarPrograma()

TemaInvestigacion

-titulo-descripcion-lineaInvestigacion

Rector

+darVistoBuenoTema()

LineaInvestigacion

-titulo

ProgramaAcademico

-nombre

BancoProyectos

-nombre-coleccionTemas-coleccionProyectos

+agregarTema()+agregarProyecto()

publicable

consulta cartelera

publica

+escoge tema

entrega

entrega

reciberecibe

documeta

Page 56: Proyecto de administracion de proyectos de grado

55

Asociación de Clases

Asociaciones con Estudiante

El estudiante escoge un tema del banco de proyectos

El estudiante elabora un anteproyecto

El estudiante inscribe un tema para proyecto

El estudiante elabora un informe final

El estudiante entrega el anteproyecto al coordinador

El estudiante entrega el informe final al coordinador

El estudiante recibe notificación del coordinador

El estudiante perteneces a un programa académico

El estudiante consulta la cartelera

El estudiante cumple con un calendario

Asociación con Coordinador

El coordinador recibe inscripción de tema de proyecto

El coordinador recibe un anteproyecto del estudiante

El coordinador recibe un informe final del estudiante

El coordinador notifica al estudiante la nota del anteproyecto

El coordinador notifica al estudiante la nota del informe final

El coordinador asigna calificador a varios anteproyectos

El coordinador asigna calificador a varios informes finales

El coordinador convoca reunión con el comité de evaluación

El coordinador crea un calendario

El coordinador publica temas en la cartelera

Page 57: Proyecto de administracion de proyectos de grado

56

Asociación con Calificador

El calificador recibe proyectos del coordinador

El calificador analiza varios anteproyectos

El calificador analiza varios informes finales

El calificador emite un concepto sobre el anteproyecto

El calificador emite un concepto sobre el informe final

El calificador envía los conceptos al coordinador

Asociaciones con Rector

El rector recibe una propuesta de un temas nuevo

El rector emite un visto de un tema nuevo

En reunión con el Coordinador de

investigaciones se determinaron las siguientes necesidades y funcionalidades de

la aplicación:

Contar con facilidad para administrar los datos de los estudiantes y los

docentes.

El sistema debe administrar la información de gestión de los proyectos.

El sistema debe permitir calcular los costos de los proyectos, valor pagado

por los estudiantes menos el valor cancelado a los docentes “director y

calificador”.

El sistema debe permitir llevar trazabilidad de los entregables de cada

proyecto, informes y documentos final.

El sistema debe permitir calificar los proyectos.

El sistema debe permitir agregar un director a un proyecto de grado.

6.1.4 Necesidades del sistema.

Page 58: Proyecto de administracion de proyectos de grado

57

El sistema debe permitir agregar evaluadores a los proyectos.

El sistema debe permitir gestionar la información de los semilleros de

investigación (objetivos, nombre, proyectos).

El sistema debe permitir administrar integrantes de los semilleros.

La funcionalidad se agrupo por los diferentes clientes del sistema.

Figura 7. Paquetes de funcionalidad del sistema.

Casos de Uso para el paquete estudiantes

Inscribir un tema

Reportar Matricula de la Materia

Consultar temas

Cargar Anteproyecto

Cargar Informe final

Casos de Uso para el paquete Coordinador

Aprobar temas inscritos

Asignar director a proyectos

Asignar Calificador a proyectos

Publicar temas de proyectos

Aprobar proyectos

Estudiante Coordinador DirectorEvaluador Rector

Page 59: Proyecto de administracion de proyectos de grado

58

Casos de Uso para el paquete Director

Consultar proyectos

Aprobar Proyecto

Autorizar entrega de documento

Agregar comentarios de seguimiento

Casos de Uso para el paquete Evaluador

Aprobar anteproyectos

Calificar informe final

Casos de Uso para el paquete Rector

Aprobar temas nuevos de proyectos

Page 60: Proyecto de administracion de proyectos de grado

59

Figura 8. Diagrama de Casos de Uso

System

Inscribir Tema

Estudiante

Coordinador

Consultar Temas <<include>>

Estudiante

Reportar Materia

Cargar Documento

Aprobar Temas

<<include>>

Asignar Director

Asignar Calificador

Calificar Proyecto

Aprobar Proyecto

Consultar Proyectos

<<include>>

<<include>> Director

Evaluador

Estudiante

Evaluador

Director

Page 61: Proyecto de administracion de proyectos de grado

60

6.2 ANALISIS

En esta etapa se desarrollan las

actividades para cada caso de uso.

Casos de Uso paquete estudiante

Consultar Temas

Para este caso de uso se asume que existe publicada una lista de temas en el

sistema Administración de proyectos y que el estudiante cuenta con un equipo con

conexiona internet.

1. El estudiante abre el portal de administración de proyectos

2. El sistema muestra un enlace que lo dirige a la lista de temas

3. El estudiante da clic en el enlace

4. El sistema muestra la lista de temas disponibles

Inscribir Temas

Para este caso es necesario que se haya realizado el caso de uso consultar temas

1. El estudiante consulta la lista de temas disponibles

2. En cada ítem el sistema muestra un enlace que permite inscribir un tema

3. El sistema confirma si el usuario es un estudiante y ha iniciado sesión

4. Si ha iniciado sección abre un formulario de inscripción de tema

5. El estudiante llena el formulario y lo envía

6. El sistema registra los datos y actualiza la lista de temas disponibles

7. El sistema envía un mensaje confirmando al estudiante que el tema fue

inscrito satisfactoriamente.

6.2.1 Haciendo realidad los casos de Uso.

Page 62: Proyecto de administracion de proyectos de grado

61

Reportar Matricular materia

1. El estudiante entra al sistema e inicia sesión

2. El sistema muestra un link donde lo envía a la pagina para matricular

materia

3. El estudiante da clic en link para matricular materia

4. El sistema muestra un formulario

5. El estudiante llena el formulario y lo envía

6. El sistema envía un mensaje notificando que la materia fue matriculada

Cargar Anteproyecto

1. El estudiante ingresa al sistema e inicia sesión

2. El sistema muestra un pagina donde indica en que materia está matriculado

3. El sistema muestra las acciones que puede hacer según la materia en que

está matriculado

4. El estudiante da clic en el vinculo cargar anteproyecto

5. El sistema muestra un formulario donde se puede cargar el documento

6. El estudiante envía el documento

7. El sistema muestra un mensaje de confirmación que el documento fue

publicado exitosamente.

Cargar Informe final

1. El estudiante ingresa al sistema e inicia sesión

2. El sistema muestra un pagina donde indica en que materia está matriculado

3. El sistema muestra las acciones que puede hacer según la materia en que

está matriculado

4. El estudiante da clic en el vinculo cargar informe final

5. El sistema muestra un formulario donde se puede cargar el documento

Page 63: Proyecto de administracion de proyectos de grado

62

6. El estudiante envía el documento

7. El sistema muestra un mensaje de confirmación que el documento fue

publicado exitosamente.

Casos de Uso para el paquete Coordinador

Aprobar temas inscritos

1. El coordinador ingresa al sistema

2. El sistema muestra un vinculo para ir la lista de temas inscritos

3. El coordinador da clic en el vinculo

4. El sistema muestra una lista de temas y un vinculo por cada tema para

aprobar

5. El coordinador verifica la información

6. El coordinador da clic el vinculo aprobar

7. El sistema actualiza el tema a estado aprobado

8. El sistema envía un mensaje notificando éxito en la transacción.

Asignar director a proyectos

1. El coordinador ingresa al sistema

2. El sistema muestra un vinculo para ir la lista de materias matriculadas

3. El coordinador da clic en el vinculo

4. El sistema muestra una lista las materias y los estudiantes y un vinculo por

cada una para asignar el director

5. El coordinador verifica la información

6. El coordinador da clic el vinculo asignar director

7. El sistema muestra un formulario donde el coordinador puede escoger el

director

8. El coordinador escoge el director y envía el formulario

Page 64: Proyecto de administracion de proyectos de grado

63

9. El sistema actualiza la base de datos

10. El sistema envía un mensaje notificando éxito en la transacción.

Asignar Calificador a proyectos

1. El coordinador ingresa al sistema

2. El sistema muestra un vinculo para ir la lista de materias matriculadas

3. El coordinador da clic en el vinculo

4. El sistema muestra una lista las materias y los estudiantes y un vinculo por

cada una para asignar un calificador

5. El coordinador verifica la información

6. El coordinador da clic el vinculo asignar calificador

7. El sistema muestra un formulario donde el coordinador puede escoger el

calificador

8. El coordinador escoge el calificador y envía el formulario

9. El sistema actualiza la base de datos

10. El sistema envía un mensaje notificando éxito en la transacción.

Publicar temas de proyectos

1. El coordinador ingresa al sistema

2. El sistema muestra una página con las acciones para

agregar/modificar/eliminar temas

3. El coordinador realizar ajustes a los temas

4. El sistema muestra un vinculo publicar temas

5. El coordinador da clic en ese vinculo

6. El sistema crea una publicación con la lista de temas.

Page 65: Proyecto de administracion de proyectos de grado

64

Casos de Uso para el paquete Director

Consultar proyectos

1. El director ingresa al sistema

2. El sistema muestra una página con los proyectos que tiene asignados

3. El director da clic en el proyecto que desea verificar.

Aprobar Proyecto

1. El director consulta el proyecto que va a aprobar

2. El sistema muestra un vinculo con la opción de aprobar proyecto

3. El director da clic en el vinculo

4. El sistema actualiza el estado del proyecto

5. El sistema envía un mensaje notificando la acción.

Autorizar entrega de documento

1. El director aprueba el proyecto

2. El sistema muestra un link imprime autorización de entrega

3. El director da clic en el vinculo

4. El sistema muestra un archivo pdf con los datos del proyecto autorizado

Agregar comentarios de seguimiento

1. El director consulta el proyecto

2. El sistema muestra un formulario para agregar comentarios

3. El director llena el formulario y lo envía

4. El sistema agrega comentarios al proyecto

Page 66: Proyecto de administracion de proyectos de grado

65

Casos de Uso para el paquete Evaluador

Aprobar Proyectos

1. El calificador ingresa al sistema

2. El calificador consulta el proyecto

3. El sistema muestra un mensaje aprobar proyecto

4. El calificador da clic en el mensaje

5. El sistema muestra un formulario con la aprobación y comentarios

6. El calificador llena el formulario y lo envía

7. El sistema actualiza el estado del proyecto.

Calificar informe final

1. El calificador ingresa al sistema

2. El calificador consulta el proyecto

3. El sistema muestra un mensaje aprobar proyecto

4. El calificador da clic en el mensaje

5. El sistema muestra un formulario con la aprobación y comentarios

6. El calificador llena el formulario y lo envía

7. El sistema actualiza el estado del proyecto.

Casos de Uso para el paquete Rector. Aprobar temas nuevos de proyectos

1. El rector ingresa al sistema

2. El sistema muestra un listado de temas nuevos y un vinculo para aprobar el

tema

3. El rector analiza el tema y da clic en aprobar

4. El sistema actualiza el Tama y notifica la acción.

Page 67: Proyecto de administracion de proyectos de grado

66

Figura 9. Diagrama de estado para Tema Proyecto

Figura 10. Diagrama de estado para Anteproyecto

PENDIENTE APROBACIONInscribir Tema APROBADO

entry/CrearProyecto

DESCARTADO

AprobarTema

DesacartarTema

EN DESARROLLO

REVISADO

entry/ImprimirCartaDirector

APROBADO

CON ERRORES

PENDIENTE

DESCARTADO

Revisar Anteproyecto

Corregir

Calificar Anteproyecto

Craar Anteproyecto

6.2.2 Cambios de Estado

Page 68: Proyecto de administracion de proyectos de grado

67

Figura 11. Diagrama de estado para Informe Final

EN DESARROLLO

REVISADO

entry/ImprimirCartaDirector

APROBADO

CON ERRORES

PENDIENTE

DESCARTADO

Revisar Anteproyecto

Corregir

Calificar Anteproyecto

Craar Anteproyecto

Page 69: Proyecto de administracion de proyectos de grado

68

6.3 DISEÑO

A continuación se presentan los diagramas

de componentes utilizados para el sistema, para el desarrollo de este proyecto se

creó componentes adicionales importantes para el funcionamiento del mismo, se

diseño una Librería que soportara las operaciones de presentación de paginas

HTML y Formularios Web.

Figura 12. Diagrama de componentes Librería HTML

Form

Table

Control

InputChek

InputText

InputHide

InputRadio

InputPass TextArea

Select

Form.php

Row

Cell

Table.php

Option

Html

DivA H Li

Ul

6.3.1 Diagrama de Componentes.

Page 70: Proyecto de administracion de proyectos de grado

69

Figura 13. Diagrama de componentes sistema de seguridad

Users GroupsActivity

User Group

ActionScrips: Users

addUser()

editUser()

delUser()

login()

setPassword()

ActionScripts Group:

addGroup()

editGroup()

delGroup()

ScriptMaster

Page 71: Proyecto de administracion de proyectos de grado

70

Figura 14. Diagrama de componentes del sistema listas y elementos

ContentType

ContentType.php

ColumnType

Column

Char Text Number

Query

Calculate

User

Date

System:User

Element

ListaDocument

Image Scripts

Master

ActionScripts:

addColumn()

editColumn()

delColumn()

editViews()

editFileter()

Recursos Externos

Page 72: Proyecto de administracion de proyectos de grado

71

Figura 15. Diagrama de componentes general

Es diseño de la interfaz de usuario es

un conjunto de herramientas web que integradas le dan un aspecto agradable a la

aplicación, esta consta una portada de presentación en la parte superior, un menú

superior personalizable, un menú principal al lado izquierdo de la pantalla y una

zona de trabajo.

System

FrameWork

Component

Document

Estudiante

Docente

Tema

Anteproyecto

InformeFinal

Lista

Html

Form

Safety

Users

GUI: MasterIndex

6.3.2 Diseño de la interfaz de usuario.

Page 73: Proyecto de administracion de proyectos de grado

72

Figura 16. Ventana sistema administración de proyectos AdminPro.

La herramienta de software para la

administración y gestión de los proyectos de grado de la Universitaria de

Investigación y Desarrollo se distribuirá por medio de la red local de la universidad,

conectada a la intranet y publicada con acceso desde internet, los individuos que

intervienen en el sistema podrán tener acceso a ella de la siguiente manera: El

coordinador de Investigaciones desde su PC en la oficina, Los Docentes desde la

sala de docentes en los PC destinados para ello conectados a la red local, Los

6.3.3 Planeación de la distribución.

Page 74: Proyecto de administracion de proyectos de grado

73

estudiantes desde las aulas de informática. A continuación se presenta el

diagrama de distribución de la aplicación.

Figura 17. Diagrama de Distribución.

PC Central

Router Lan

Router Wan

PC Coordinador

Sala de Docentes

PC Estudiantes

GUI: Master

DB AdminPro

InernetInternet

Aulas de Informatica

Page 75: Proyecto de administracion de proyectos de grado

74

6.4 DESARROLLO

La aplicación esta toda codificada en el lenguaje

de programación PHP, siguiendo los parámetros de la programación orientada a

objetos y los estándares de codificación de Zend Technologies, principal

desarrollador de PHP junto a su creador.

Para este proyecto se creó una Librería que soportara las actividades de

presentación HTML y de los formularios Web, y que se encargara de manejar los

eventos de creación, edición y eliminación de datos, administración de usuarios y

elementos del sistema, como menús, vistas, etc. A continuación se presenta las

clases y los métodos de la librería desarrollada para el sistema.

Detalle de clases más importantes del sistema.

Clase HTML. Esta clase tiene como objetivo controlar el comportamiento de la

pagina web en formato html, ella es la encargada de general una pagina html que

pueda ser interpretada por los navegadores.

Tabla 3. Métodos de la Clase Html

NOMBRE DESCRIPCION

Constructor Html()

addContent(content) Agregar cualquier tipo de contenido, textos, imágenes, capas, tablas, formularios, etc.

Clase Form. Esta clase es la encargada de modelar los formulario web del

sistema, en ella se interpretan los controles y accedo a los métodos de escritura

de las lista.

6.4.1 Generación del Código

Page 76: Proyecto de administracion de proyectos de grado

75

Tabla 4. Métodos de la Clase Form

NOMBRE DESCRIPCION

Constructor Form(nombre,comentario)

addArea(string name, string comment) Agrega un aérea de datos para agrupar controles de formulario.

addControl(Control control, [string area]) Agrega un control al formulario en el área especificada

addControlboton(Control control) Agrega un control al área de botones del formulario.

setName(string name) Setea el nombre del formulario

setComment(string comment) Setea el un comentario para el formulario

setMethod(string method) Setea el método del formulario, puede ser POST o GET

setAction(string action) Setea el destino del formulario

setStyle(string style) Setea el estilo ccs del formulario

getComment() Obtiene el comentario del formulario

setList(Lista list) Asocia una clase lista al formulario

save() Guarda los datos del formulario en una lista previamente asociada con setList()

Redirect(string link) Re direcciona un formulario después de guardar los datos de una lista,

Clase Control. Esta es una clase abstracta que provee funciones y métodos para

crear controles para los formularios web, así como las interfaces necesarias para

que sea reconocido por el formulario.

Tabla 5. Métodos Clase Abstracta Control

NOMBRE DESCRIPCION

addAttrib(string attrib) Agrega un atributo al control de la forma “nombre:valor”

addValidator(string validator) Agrega un validador de la colecciond e validadores del sistema que pueden ser: IsNull, IsNumber

getComment() Devuelve el comentario de un control

getName() Devuelve el nombre de un control

getField() Devuelve un string con el campo de un control

getValidators() Devuelve un array con los validadores del control

setVisible() Estable la visibilidad del control “yes”, “no”

Abastract _getFiled() Clase abastracta que debe ser implementa en las clases hijas

Page 77: Proyecto de administracion de proyectos de grado

76

Clases de Controles. Aquí se muestra los controles que se crearon para los

formularios, estas clases heredan los métodos de la clase control.

Tabla 6. Clases hijas de la clase control

NOMBRE DESCRIPCION

InputText(nombre, commentario , valor) Crea un control de tipo texto

InputPass(nombre, commentario , valor) Crea un control de tipo contraseña

InputCheck(nombre, commentario , valor) Crea un control de tipo opción de selección

InputRadio(nombre, commentario , valor) Crea un control de tipo opciones de selección

Select(nombre, commentario , valor) Crea un control de tipo caja de selección

InputHide(nombre, commentario , valor) Crea un control oculto

InputFile(nombre, commentario , valor) Crea un control para subir archivos

Clase Table: La clase table se encarga de modelar tablas web de una forma muy

sencilla, esta recibe como parámetros un array de datos por cada fila y apartir de

ellos crea la tabla.

Tabla 7. Métodos Clase Table

NOMBRE DESCRIPCION

addRow(array datos) Agrega una fila a la tabla a partir de un array de datos

Clase Lista. La clase lista tiene como objetivos modelar tablas asociadas a una

base de datos, ella se encarga de controlar las columnas que se agregan, los tipos

de contenidos y la forma como se guardaran los datos.

Tabla 8. Métodos de la Clase Lista

NOMBRE DESCRIPCION

addContentType(ContenteType content) Agrega un tipo de contenido a la lista

addElement(Element element) Agrega un elemento a la lista

delColumn(columnId) Elimina una columna de la lista

Page 78: Proyecto de administracion de proyectos de grado

77

delElement(string Id) Elimina el elemento con código Id de la lista

editColumn(Column column) Modifica una columna existente en la lista

getColumn(string columnName) Devuelve la columna con nombre especificado, si no existe devuelve false

getColumns() Devuelve un array con todas las columnas de la lista

getComment() Devuelve el comentario de la lista

getElementForm() Devueve un objeto Form para un elemento de la lista

getElements() Devuelve todos los elementos de la lista

Load([filters]) Carga los elementos de lista según los filtros pasados como parámetros

newColumn(Column column) Crea una nueva columna en la lista

newElement() Crea un nuevo elemento para la lista

saveElement(Element element) Guarda el elemento pasado como parámetro

updateDataBase() Actualiza la base de datos

Clase Master. La clase master es la aplicación principal del sistema, todas las

paginas que se quieran reproducir en el sistema deben instanciar la aplicación

principal master, agregar los recursos al sistema y correr la aplicación a través de

master->run(). Ella se encarga de crear los menús y ensamblar los componentes

de la aplicaciones en la pagina web.

Tabla 9. Métodos de la clase Master

NOMBRE DESCRIPCION

add(contenido) Agrega contenido a la zona de trabajo de la aplicación

Run() Corre la aplicación

Star() Inicia la aplicación

Stop() Detiene la aplicación

Clase User. Esta clase es la encargada de manejar el control de los usuarios del

sistema, acceso a recursos y niveles de permisos concedidos a los usuarios.

Page 79: Proyecto de administracion de proyectos de grado

78

Tabla 10. Métodos de la clase User

NOMBRE DESCRIPCION

getForm() Devuelve un formulario de modificación de usuario

getFormLogin() Devuelve un formulario para iniciar sesión

getGroups() Devuelve un array con los grupos a los que pertenece el usuario

getLogin() Devuelve el login del usuario

getName() Devuelve el nombre del usuario

getStyle() Devuelve el estilo personal del usuario

Static getUsers() Devuelve todos los usuarios del sistema

Static load(login) Carga un usuario con el login especificado

Password(password) Confirma que el password como parámetro coincida con el del usuario

Save() Guarda el usuario

Clase Group. Esta clase es la encargada de controlar los diferentes grupos

configurados para el sistema, asignar los permisos a cada recurso y validar que

los usuarios cuenten con los derechos suficientes a las peticiones que realice.

Tabla 11. Métodos de la clase Group

NOMBRE DESCRIPCION

addPass(array data) Agrega un listado de permisos al grupo

Allow(string source,string action) Verifica que el grupo tiene permisos para el recurso especificado

getForm() Devuelve un formulario de edición del grupo

getFormPass() Devuelve un formulario de edición de permisos para el grupo

getMenu() Devuelve el nombre del menú personalizado para el grupo

getName() Devuelve el nombre del grupo

getPage() Devuelve el nombre de la página de inicio del grupo

setMenu(string menu) Establece el nombre del menú personalizado

setPage(string page) Establece el nombre de la pagina principal

Page 80: Proyecto de administracion de proyectos de grado

79

En este proyecto se utiliza las siguientes librerías

externas, desarrolladas por otros programadores para dar cierta funcionalidad a la

aplicación.

JQueryLighBox. Esta es una librería que permite mejorar la presentación de las

imágenes a los usuarios, este pluggin está escrito en java script y fue publicado

por Leandro Vieira Pinho en la página web.

http://leandrovieira.com/projects/jquery/lightbox/

PhpThumb. PhpThumb es una biblioteca de imágenes generación de miniaturas.

Cuenta con la capacidad de cambiar el tamaño, la anchura, altura, porcentaje y

girar imágenes. También cuenta con la capacidad de realizar varias

manipulaciones por instancia (también conocido como encadenamiento), sin la

necesidad de cerrar y volver a iniciar la clase con cada manipulación. Para más

información y documentación el proyecto está disponible la página web:

[http://phpthumb.gxdlabs.com] (http://phpthumb.gxdlabs.com)

Fpdf. fpdf es una librería php contiene funcionalidad para producir documentos

pdf, es gratuita, y su licencia permite que sea modificada libremente, esta librería

se incluyo para generar los reportes del sistema a partir de las vistas y paginas de

la aplicación.

Dompdf. Dompdf es una librería basada en fpdf para exportar código html a pdf,

esta librería se utiliza en el proyecto para exportar la página activa a pdf.

6.4.2 Librerías incluidas.

Page 81: Proyecto de administracion de proyectos de grado

80

La siguiente es la estructura de los directorios

que componen el sistema, cada carpeta indica un packege del sistema.

AdminPro:.

├───config

├───Document

│ └───Proyectos1

├───Framework

│ └───Html

│ ├───Form

│ └───Table

├───Image

│ └───FotosProyectos

├───Library

│ ├───JqueryLightBox

│ └───PhpThumb

├───Lista

│ ├───Ciudades

│ ├───Docentes

│ ├───Estudiantes

│ ├───Facultad

│ ├───Lineas

│ ├───Programas

│ ├───Prueba

│ └───TemasProyectos

├───pages

├───Scripts

├───Styles

│ └───clasic

└───System

├───Components

│ ├───ContentType

│ │ └───ColumnTypes

│ ├───formScripts

│ └───Scripts

├───DataBase

├───icons

├───Menu

├───Safety

│ ├───activity

│ ├───Groups

│ └───Users

└───SystemFile

6.4.3 Estructura de Directorios.

Page 82: Proyecto de administracion de proyectos de grado

81

6.5 IMPLEMENTACION

La implementación se llevo a cabo en la oficina de la Coordinación de

Investigaciones de la universitaria de Investigación y Desarrollo – UDI –.

Para ello se realizo la instalación de la aplicación en el computador principal de la

Coordinación de Investigaciones, se realizo pruebas de funcionamiento por parte

del Coordinador de Investigaciones y se llenaron los protocolos de recibo de los

casos de uso y las funcionalidades definidas en la recopilación de necesidades.

6.6 ALCANCE DEL SISTEMA

Este proyecto pretende entregar un sistema de información bajo la tecnología web

desarrollado en el lenguaje de programación Php con orientación a objetos, el cual

se implementara en la coordinación de investigaciones para la administración de

los proyectos de grado de las diferentes carreras que existen en la universidad.

El sistema tendrá la capacidad de agregar, modificar, eliminar y consultar los datos

de los proyectos de grado, los estudiantes y los docentes relacionados con los

mismos según roles y niveles de acceso definidos para cada individuo que

interviene en proceso, de modo que se garantice la seguridad de la información y

la calidad de la misma.

Esta aplicación debe permitir integra los procesos de gestión y desarrollo de los

proyectos de grado, permitiendo reducir los tiempos de entrega y mejorando la

comunicación entre los estudiantes, los directores de proyectos y la coordinación

de investigación, de tal manera que las personas que intervienen en el proceso se

vean beneficiadas con la implementación de la misma.

Page 83: Proyecto de administracion de proyectos de grado

82

Esta herramienta se ha desarrollado no solo con la intención de cumplir

únicamente con del objetivo de la materia, si no que el núcleo y el FrameWork

desarrollado para la aplicación pueden ser expandidos y permiten generar nuevo

código y nuevas funcionalidades al sistema, de modo que estudiantes futuros

pueden reutilizar su potencial para nuevos proyectos.

6.7 EXPLICACION DEL SISTEMA

El sistema está desarrollado orientado a objetos, utilizando el concepto abierto /

cerrado, abierto a la expansión / cerrado a la modificación. El núcleo del sistema

está desarrollado para que funcione como un entorno de desarrollo simplificado

donde se pueden agregar nuevos componentes fácilmente, crear nuevas listas,

bibliotecas de documentos y de imágenes en pocos minutos, sin tener que escribir

una sola línea de código.

Basado en esta tecnología se agrego la funcionalidad que permite administrar los

proyectos de grado de la universidad, para esto se creó los siguientes recursos.

Recursos de listas

Lista de Estudiante

Lista de Docentes

Lista de Facultades

Lista de Línea de investigación

Lista de Temas de proyectos

Lista de Programas Académicos

Page 84: Proyecto de administracion de proyectos de grado

83

Recursos de Documentos

Biblioteca de documentos para Anteproyectos

Biblioteca de documentos para Informes Finales

Para la seguridad del sistema se crearon los siguientes grupos de usuarios en el

sistema

Propietario. Grupo de usuario con permiso de todas las acciones y recursos del

sistema, no tiene limitaciones

Coordinadores. Grupo de usuarios para la administración de la plataforma, este

grupo tiene los permisos suficientes para agregar, modificar, eliminar, consultar

información de los estudiantes, docentes, temas, líneas, facultades y documentos

cargados en el sistema

Estudiantes. Grupo de usuarios con permisos para inscribir temas, cargar

documentos y modificar sus datos personales

Directores. Grupo de usuarios con permisos para modificar proyectos, agregar

comentarios, y modificar sus datos en el sistema.

Para facilitar la administración de los usuarios existe la posibilidad de vincular los

recursos de lista con los usuarios del sistema, de este modo pueden existir varias

listas con grupos de usuarios diferentes asociados a los usuarios del sistema, de

modo que los cambios realizados en la lista afectan los datos del usuario.

En este sistema se configuro la lista de Estudiantes y la Lista de Docentes con los

usuarios del sistema, que son quienes pueden realizar peticiones al sistema, la

Page 85: Proyecto de administracion de proyectos de grado

84

lista docentes agrupa, tanto a directores, evaluadores como al coordinador de

investigaciones ya que todos son docentes de la universidad.

Asi de esta manera, el sistema funciona con la integración de estos recursos, la

información suministrada se almacena en una base de datos de MySql que es

administrada por el sistema, estas transacciones son transparentes para los

usuarios y quienes deseen crear nuevos recursos para la aplicación.

6.8 CARACTERISTICAS Y LIMITACIONES

En este capítulo se describen las características y limitaciones de la herramienta,

cantidad de usuarios permitidos, limitaciones de la base de datos y cantidad de

peticiones permitidas por el servicio.

MySQL es un SGBD que ha ganado

popularidad por una serie de atractivas características:

Está desarrollado en C/C++.

Se distribuyen ejecutables para cerca de diecinueve plataformas diferentes.

La API se encuentra disponible en C, C++, Eiffel , Java, Perl, PHP, Python,

Ruby y TCL.

Está optimizado para equipos de múltiples procesadores.

Es muy destacable su velocidad de respuesta.

Se puede utilizar como cliente-servidor o incrustado en aplicaciones.

Cuenta con un rico conjunto de tipos de datos.

Soporta múltiples métodos de almacenamiento de las tablas, con

prestaciones y rendimiento diferentes para poder optimizar el SGBD a cada

caso concreto.

Su administración se basa en usuarios y privilegios.

6.8.1 Características de la base de datos.

Page 86: Proyecto de administracion de proyectos de grado

85

Se tiene constancia de casos en los que maneja cincuenta millones de

registros, sesenta mil tablas y cinco millones de columnas.

Sus opciones de conectividad abarcan TCP/IP, sockets UNIX y sockets NT,

además de soportar completamente ODBC.

Los mensajes de error pueden estar en español y hacer ordenaciones

correctas con palabras acentuadas o con la letra ’ñ’. • Es altamente

confiable en cuanto a estabilidad se refiere.

Limitaciones. Al comprender sus principios de diseño, se puede explicar mejor

las razones de algunas de sus carencias. Por ejemplo, el soporte de transacciones

o la integridad referencial (la gestión de claves foráneas) en MySQL está

condicionado a un esquema de almacenamiento de tabla concreto, de forma que

si el usuario no va a usar transacciones, puede usar el esquema de

almacenamiento “tradicional” (MyISAM) y obtendrá mayor rendimiento, mientras

que si su aplicación requiere transacciones, deberá usar el esquema que lo

permite (InnoDB), sin ninguna otra restricción o implicación.

Otras limitaciones son las siguientes:

No soporta procedimientos almacenados (se incluirán en la próxima versión

5.0).

No incluye disparadores (se incluirán en la próxima versión 5.0).

No incluye vistas (se incluirán en la próxima versión 5.0).

No incluye características de objetos como tipos de datos estructurados

definidos por el usuario, herencia etc.

La cantidad de usuarios que se pueden manejar y

administrar en la aplicación está determinada por la capacidad que se tenga en el

servidor de aplicaciones, esto debido a que el control de los usuarios es

independiente de la base de datos y no está sujeto a las limitaciones del SGBD.

6.8.2 Cantidad de usuarios.

Page 87: Proyecto de administracion de proyectos de grado

86

La cantidad de peticiones o accesos realizados a

la aplicación está determinada por los requerimientos del servidor de aplicaciones,

memoria, procesador, disco duro, etc.

6.9 REQUERIMIENTO DEL SISTEMA

A continuación se menciona los requisitos de software y hardware que debe tener

el servidor y el cliente para el funcionamiento de la aplicación.

Para el funcionamiento de la aplicación el

servidor de aplicaciones debe contar con los siguientes requisitos.

Hardware

Procesador Pentium o ADM de 500mhz o superior

128 Mb de Memoria Ram o superior

Disco Duro 20 Gb o superior

Pantalla 600 * 800 dpi

Conexión a internet banda ancha 256 M

Software

Sistema operativo Windows XP / Linux

Servidor web Apache, php y MySql (AppServ)

Interntet Explorer 6 / Mozilla Firefox

6.8.3 Cantidad de peticiones.

6.9.1 Requerimiento del servidor.

Page 88: Proyecto de administracion de proyectos de grado

87

AppServ. Es un software que permite la instalación en nuestro entorno Windows,

de los siguientes paquetes:

Apache Web Server (versión 2.2.3)

Lenguaje PHP (versión 5 o 4, en mi caso instale la 5.1.6)

Base de datos MySQL (versión 5.0.24)

Manejador de base de datos phpMyAdmin (versión 2.9.0.2)

El usuario necesita los siguientes

requerimientos mínimos para conectarse a la aplicación.

Hardware

Computador de escritorio o portátil

Servicio de conexión a internet

Software

Sistema operativo Windows XP / Linux

Interntet Explorer 6 o superior/ Mozilla Firefox

6.9.2 Requerimientos del cliente.

Page 89: Proyecto de administracion de proyectos de grado

88

7. CONCLUSIONES

El desarrollo de este proyecto fue muy interesante por la complejidad de poder

acoplar tecnología y lenguajes de programación, como el caso de utilizar la

programación orientada a objetos en un lenguaje que está en crecimiento y aun no

tiene la madurez suficiente en este paradigma, Php aunque es un lenguaje potente

y tiene soporte para POO carece de herramientas de desarrollo en comparación

con otros lenguajes, como Java o Asp.net, que cuentan con todo un entorno que

simplifica las tareas del programador.

Desde el comienzo del proyecto se vio la necesidad de investigar profundamente

el paradigma de la programación orientada a objetos y como se podía implementar

con un leguaje web, de modo que el sistema no fuera solo una simple colección de

páginas, si no todo un conjunto de recursos que interactuaran entre sí para

alcanzar el objeto de la aplicación.

De esta manera se creó una colección de clases que son capaces de modelar

tipos de datos, listas, documentos, usuarios, entre otros, que son autónomos y que

facilitan el mantenimiento de modo que los cambios o actualización sufridas

internamente no afecta el funcionamiento del sistema. Esto permite que sea un

sistema escalable, flexible y expansible.

El tiempo invertido en el desarrollo de este proyecto fue fructífero y satisfactorio,

ya que se logro desarrollar un sistema que tiene la capacidad de adaptarse a otras

necesidades, crear nuevos contenidos, facilitar nuevos desarrollo y componentes,

que las generaciones futuras pueden ir perfeccionando y mejorando en sus

proyectos de grado.

Page 90: Proyecto de administracion de proyectos de grado

89

Cumplir el objetivo de este proyecto se pudo lograr aplicando los conocimientos

adquiridos en el transcurso de la carrera de Ingeniería de Sistema, realizando

constante investigación y profundizando los temas de mayor impacto para el

proyecto, se investigo sobre estándares de codificación para producir un código

entendible y limpio, de modo que cualquier desarrollador pueda ser capaz de

comprenderlo en poco tiempo.

Se trato de seguir la metodología seleccionada, que fue el rumbo trazado y el

camino que se debía seguir, como no se conto con un FrameWork como el de

visual.net, se vio la necesidad de crear una librería basada en los estándares de

codificación de zend technologies, lo cual produjo que el desarrollo se desviara un

poco de la metodología, al final contar con un librería facilito el desarrollo del

sistema.

AdminPro es una puerta abierta para el desarrollo de nuevos proyectos, su librería

puede servir de soporte a los estudiantes que estén interesados en adquirir este

conocimiento, las limitaciones de esta herramienta están sujetas a la imaginación

de cada estudiante.

Page 91: Proyecto de administracion de proyectos de grado

90

8. RECOMENDACIONES

Sería interesante implementar este proyecto no solo como un sistema de

administración único para la universidad, sino como un sistema nacional de

administración de proyectos, integrando el desarrollo de los proyectos con todas

las universidades del país, esto causaría que los proyectos se orientaran hacia un

solo objetivo “evolución conjunta”, muchas veces se hacen proyectos que ya

existen en otra universidad o son similares sin ni siquiera conocer la existencia

uno del otro, con una integración se eliminaría la redundancia y se podría mejorar

proyectos ya existentes, aportar ideas entre los alumnos de diferentes universidad

y conseguir mejores resultados.

Como para el desarrollo de este proyecto se necesito crear una librería que

soportara los procesos básicos de almacenamiento y visualización de datos, esta

se puede continuar desarrollando y aplicando en nuevos proyectos que requieran

la implementación se sistemas open source, para ello se recomienda continuar

con los estándares de codificación utilizados en este proyecto y definidos por la

empresa Zend Tecnhologies.

Actualmente los formularios de captura de datos se pueden crear fácilmente por

código, este proceso lo pueden hacer personas con experiencia en la librería

utilizada por el proyecto, para facilitar la tarea a los usuarios, se puede desarrollar

una herramienta que permita crear los formularios desde el mismo internet con

algunos clics, que el usuario pueda seleccionar que campos ver en el formulario y

que campos desea ocultar, de este manera se puede variar la funcionalidad del

sistema y hacer más potente la herramienta.

El modelo de objetos de las listas crear para cada lista nueva recursos y objetos

que quedan publicados en el servidor para mejorar la seguridad de los objetos se

Page 92: Proyecto de administracion de proyectos de grado

91

recomienda mover los objetos de modo que queden ocultos a los usuarios de

modo que no se publiquen directamente desde el servidor, si no, a través de los

recursos de vistas y formularios.

Para asegurar la implementación de la herramienta es conveniente realizar talleres

de capacitación a los estudiantes de últimos semestres con el fin de transmitirles

el conocimiento el manejo de la aplicación, para que puedan sacar provecho de

las ventajas de la herramienta, tener en cuenta las sugerencias de los estudiantes

y posibles mejoras que se puedan implementar y formar un grupo de investigación

que mantenga actualizado este sistema de información.

Page 93: Proyecto de administracion de proyectos de grado

92

BIBLIOGRAFÍA

CHAPARRO, Gilberto Andrés y FORERO, Luis Alejandro. Sistema de Información

Para la administración de Proyectos de Grado [SIAP]. Trabajo de grado Ingeniería

de Sistemas. Bogotá DC.: Pontificia Universidad Javeriana. Facultad de Ingeniería

de Sistema 2005, 159 p.

CODESIS, Técnico Diseño Grafico y Programación, 2000

CORTES, Amanda. Gestión de Proyectos de investigación [Internet]. Disponible

desde: www.banrepcultural.org/blaavirtual/educacion/expedocen/expedocen4a

FONSECA, Sergio Andrés. Sistema de Información Para la administrar y controlar

los Proyectos de Grado del programa de Tecnología en Informática [SYSCOTEG].

Trabajo de grado Tecnología de Informática. Bogotá DC.: Corporación

Universitaria Minuto de Dios. Facultad de Ingenierías 2005, 86 p.

Grupo PHP. Manual de PHP. 2007

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

JOYANES. Luis, Fundamentos de programación. Ed. Mc Graw Hill. (2003)

PEÑA, Alejandro. Ingeniería de software: Guía para crear sistemas de

información. México D.F.: Instituto Politécnico Nacional. 2006. 120 p. ISBN: 970-

94797-0-9

Page 94: Proyecto de administracion de proyectos de grado

93

PLACE, Enrique. Programación Orientada a Objetos para php5. Surforce /

Formación, 2009, 294 p.

P. Salvador. Curso MySql. 2005

SCHMULLER, Joseph. Aprendiendo UML en 24 horas. Prentice Hall. 2002. 404 p.

SCOTT, George M. Principios de Sistemas de Información. Ed. Mc Graw Hill, 2003

UNIVERSITARIA DE INVESTIGACION Y DESARROLLO UDI, Reglamento de

investigación. 2010. 48 p.