SIAP SISTEMA DE INFORMACIÓN PARA ADMINISTRACIÓN DE PROYECTOS DE GRADO GILBERTO ANDRES CHAPARRO LÓPEZ LUIS ALEJANDRO FORERO SARMIENTO PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA CARRERA DE INGENIERIA DE SISTEMAS BOGOTA JULIO 2005 1 SIAP SISTEMA DE INFORMACIÓN PARA ADMINISTRACIÓN DE PROYECTOS DE GRADO GILBERTO ANDRES CHAPARRO LÓPEZ LUIS ALEJANDRO FORERO SARMIENTO Proyecto de grado presentado para optar el título de Ingeniero de Sistemas Director ADITH PÉREZ Ingeniero de Sistemas PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA CARRERA DE INGENIERIA DE SISTEMAS BOGOTA JULIO 2005 2 PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERIA CARRERA DE INGENIERIA DE SISTEMAS Rector Magnífico: Padre Gerardo Remolina Vargas S.J. Decano Académico Facultad de Ingeniería: Francisco Javier Rebolledo Muñoz Decano del Medio Universitario Facultad de Ingeniería: Padre José Sarmiento Nova S.J. Director Carrera de Ingeniería de Sistemas: Ingeniera Hilda Cristina Chaparro López. Director Departamento de Ingeniería de Sistemas: Ingeniero Germán Alberto Chavarro Flórez 3 Nota de Aceptación ______________________________________________________ ______________________________________________________ ______________________________________________________ ADITH PÉREZ Director del Proyecto ________________________________________ ING ANGELA PAOLA RAMIREZ Jurado ________________________________________ ING GABRIEL BARRERA Jurado JULIO 2005 4 “La Universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus proyectos de grado. Sólo velará porque no se publique nada contrario al dogma y la moral católica y porque no contengan ataques o polémicas puramente personales. Antes bien, que se vean en ellos el anhelo de buscar la verdad y la justicia” Artículo 23 de la Resolución No. 1 de Junio de 1946 5 AGRADECIMIENTOS Con su valiosa colaboración contribuyeron a que este proyecto se llevara a cabo exitosamente, por lo tanto expresamos nuestro reconocimiento y gratitud, con: Ing. Hilda Cristina Chaparro López Ing. Germán Alberto Chavarro Flórez Ing. Adith Pérez Directora de la Carrera de Ingeniería de Sistemas PONTIFICIA UNIVERSIDAD JAVERIANA Director del Departamento de Ingeniería de Sistemas PONTIFICIA UNIVERSIDAD JAVERIANA Director del Proyecto – Profesor de Planta de la Carrera de Ingeniería de Sistemas PONTIFICIA UNIVERSIDAD JAVERIANA También agradecemos a nuestros Padres y Familiares por su apoyo incondicional a lo largo del desarrollo de este trabajo de grado. 6 TABLA DE CONTENIDO LISTA DE TABLAS................................................................................................................................. 9 LISTA DE FIGURAS............................................................................................................................. 10 LISTA DE ANEXOS.............................................................................................................................. 12 INTRODUCCIÓN.................................................................................................................................. 13 1. OBJETIVOS .............................................................................................................................. 14 1.1 OBJETIVO GENERAL ........................................................................................................ 14 1.2 OBJETIVOS ESPECÍFICOS .............................................................................................. 14 1.3 ALCANCE................................................................................................................................. 14 2. ANTECEDENTES ..................................................................................................................... 16 3. DESCRIPCIÓN DEL PROBLEMA ............................................................................................ 22 4. JUSTIFICACIÓN ....................................................................................................................... 23 5. HERRAMIENTAS DE DESARROLLO...................................................................................... 24 5.1 VISUAL STUDIO .NET........................................................................................................ 24 5.2 ASP .NET............................................................................................................................ 25 5.3 VISUAL BASIC .NET .......................................................................................................... 27 5.4 SQL SERVER 2000 ............................................................................................................ 28 5.5 VISUAL SOURCE SAFE 6.0 C ........................................................................................... 30 6. EXPERIENCIAS EN ORGANIZACIONES RECONOCIDAS A NIVEL MUNDIAL ................... 32 7. EXPERIENCIAS EN ORGANIZACIONES Y EMPRESAS NACIONALES............................... 35 8. ¿POR QUÉ SE SELECCIONARON ESTAS HERRAMIENTAS PARA SIAP? ........................ 37 9. ¿POR QUÉ UNA APLICACIÓN WEB?..................................................................................... 39 10. ANÁLISIS DE LA EXPERIENCIA DE ACUERDO A LOS COMPONENTES........................... 41 11. METODOLOGÍA DE DESARROLLO........................................................................................ 45 11.1 APORTES DE LA METODOLOGÍA.................................................................................... 46 11.2 PROBLEMAS DE LA METODOLOGÍA .............................................................................. 46 11.3 MODIFICACIONES A LA METODOLOGÍA ........................................................................ 47 11.4 ¿POR QUE DIENTE DE SIERRA Y NO OTRA? ................................................................ 47 12. DECISIONES DE DISEÑO DE BASE DE DATOS.................................................................. 50 12.1 ESTANDAR DE BASE DE DATOS .......................................................................................... 50 12.1.1 BASE DE DATOS ...................................................................................................................... 50 12.1.2 TABLAS ................................................................................................................................... 50 12.1.3 CAMPOS DE LAS TABLAS ........................................................................................................... 51 12.1.4 STORE PROCEDURES............................................................................................................... 52 12.2 DIAGRAMA ENTIDAD – RELACIÓN ....................................................................................... 53 13. DIAGRAMAS DE LA APLICACIÓN .......................................................................................... 54 13.1 DEPLOYMENT ................................................................................................................... 54 13.2 CASOS DE USO................................................................................................................. 55 13.3 CLASES.............................................................................................................................. 57 13.4 COMPONENTES................................................................................................................ 58 14. ESTADÍSTICAS Y LIMITACIONES .......................................................................................... 59 14.1 CANTIDAD DE USUARIOS................................................................................................ 59 14.2 ESTADISTICAS DE LA BASE DE DATOS SQL SERVER 2000 ........................................ 59 7 14.3 CANTIDAD DE PETICIONES AL SERVIDOR DE APLICACIONES .................................. 60 15. REQUERIMIENTOS.................................................................................................................. 61 15.1 POR PARTE DEL SERVIDOR DE APLICACIONES .......................................................... 61 15.2 REQUERIMIENTOS DEL SISTEMA .................................................................................. 61 15.3 POR PARTE DEL CLIENTE ............................................................................................... 62 16. ALCANCE DEL SISTEMA......................................................................................................... 63 17. EXPLICACIÓN DEL SISTEMA ................................................................................................. 64 17.1 MÓDULOS.......................................................................................................................... 64 17.1.1 MÓDULO ADMINISTRACIÓN DEPARTAMENTO .............................................................................. 64 17.1.2 MÓDULO ADMINISTRACIÓN ....................................................................................................... 64 17.1.3 MÓDULO ADMINISTRACIÓN ESTUDIANTES.................................................................................. 64 17.1.4 MÓDULO CONSULTAS .............................................................................................................. 64 17.2 ROLES................................................................................................................................ 65 17.3 ESTADOS........................................................................................................................... 65 18. EXPERIENCIAS DE SISTEMAS DE INFORMACIÓN SOBRE ASP.NET ............................... 66 18.1 EN LA UNIVERSIDAD ........................................................................................................ 66 18.2 SIAP PIONERO EN DESARROLLO SOBRE ASP .NET EN LA CARRERA DE INGENIERÍA DE SISTEMAS DE LA PONTIFICIA UNIVERSIDAD JAVERIANA .................................................. 66 18.3 SIAP UNA PUERTA ABIERTA PARA PRÓXIMOS PROYECTOS DE GRADO................. 66 19. POSIBILIDADES DE ADAPTACIÓN Y LIMITACIONES .......................................................... 68 20. CONCLUSIONES DEL PROYECTO ........................................................................................ 71 21. RECOMENDACIONES ............................................................................................................. 81 22. BIBLIOGRAFÍA.......................................................................................................................... 82 8 LISTA DE TABLAS Pág. Tabla 1. Estudiantes que cursaron proyecto de grado I, II y III en los diferentes semestres durante los últimos años………………………………………………………………………………...16 Tabla 2. Comportamiento de inscritos, admitidos y matriculados para los primeros semestres...17 Tabla 3. Comportamiento de inscritos, admitidos y matriculados para los segundos semestre...18 Tabla 4. Ediciones Visual Studio: NET 2003…………………………………………………………..25 Tabla 5. Características SQL SERVER……………………………………………………………….59 Tabla 6. Requerimientos Framework versión 1.1 para el servidor…………………………………62 Tabla 7. Requerimientos Framework versión 1.1 para el cliente………………………………….62 Tabla 8. Estados en la aplicación………………………………………………………………………65 9 LISTA DE FIGURAS Pág. Figura 1. Tendencia de número de trabajos de grado……………………………………….………17 Figura 2. Número de estudiantes aspirantes al programa primer semestre………………...…….18 Figura 3. Número de estudiantes aspirantes al programa segundo semestre…………………….18 Figura 4. Diagrama Back up’s de la aplicación……………………………………….……………...42 Figura 5. Diagrama Back up’s de la base de datos………………………………………….………43 Figura 6. Diagrama SIAP en Visual Source Safe…………………………………………………….43 Figura 7. Diagrama Documentación…………………………………………….……………………..44 Figura 8. Diagrama Nombrar Tablas…………………………………………….……………………..51 Figura 9. Diagrama Campos de las Tablas…………………………………………………………...52 Figura 10. Diagrama Entidad Relación………………………………………………………………...53 Figura 11. Diagrama de componentes que intervienen en SIAP………………………….………..54 Figura 12. Diagrama de casos de uso coordinador – director…………………………………....…55 Figura 13. Diagrama de casos de uso anónimo – estudiante…………………………………….…56 Figura 14. Diagrama de clases SIAP………………………………………….……………………….57 Figura 15. Diagrama de componente SIAP……………………………………………….…………..58 Figura 16. Visual Studio .NET, integración con Oracle………………………………………...…….68 Figura 17. SQL Server, integración con Oracle……………………………….………………………69 Figura 18. SQL Server, integración con Hojas de Cálculo Excel…………………….……………..69 Figura 19. Imagen de pantalla consulta y edición de proyectos……………….……………………72 Figura 20. Imagen de pantalla consulta directores………………………….………………………..73 Figura 21. Imagen de pantalla observaciones al proyecto………………………………….……….73 Figura 22. Imagen de pantalla ingresos nuevo jurado………………………………….……………74 10 Figura 23. Imagen de pantalla consulta jurados……………………………….……………………..75 Figura 24. Imagen de pantalla ingreso de entregas………………………………………….………75 Figura 25. Imagen de pantalla consulta de entregas………………………….……………………..76 Figura 26. Imagen de pantalla consulta de actividades – ingreso entregas………………….……76 Figura 27. Imagen de pantalla modificar datos de proyecto……………….………………………..77 Figura 28. Consulta Gestión de Proyectos………………….………………………………………...78 Figura 29. Filtros de Búsqueda………………………….……………………………………………...78 Figura 30. Consulta Promedio Observaciones, Proyectos Finalizados……………………….…...78 Figura 31. Imagen de Proyectos finalizados con opción para consultar entregas. ………….…..80 11 LISTA DE ANEXOS ANEXO A. Artículo online4BIZ. ANEXO B. Artículo CONTACT CENTER AMERICAS. ANEXO C. Manual de Instalación SIAP. ANEXO D. Manual de Usuario SIAP. ANEXO E. Requerimientos y Pruebas. ANEXO F. Carta de aceptación del producto entregado. 12 INTRODUCCIÓN En la Carrera de Ingeniería de Sistemas de la Pontificia Universidad Javeriana surgió la necesidad de implementar un sistema de información para la administración de proyectos de grado, que facilite la administración de este proceso, fundamental para la culminación satisfactoria de la carrera, es por esto que se materializó la idea de crear el Sistema de Información de Administración de Proyectos (SIAP). Desde el comienzo se mantuvo la idea clara de que éste proyecto debía incluir todos los aspectos vistos durante la carrera y también debía tener su aporte en la parte de investigación. Este documento es el resultado del trabajo realizado durante el último año en cuanto al análisis, diseño e implementación del sistema de información para poder entregar a la Carrera de Ingeniería de Sistemas de La Pontificia Universidad Javeriana una aplicación que preste un servicio a todos. A continuación se presentan las etapas de desarrollo de este sistema de información desde el inicio de la investigación y la búsqueda de herramientas de desarrollo hasta la finalización y el cumplimiento de objetivos, también una aproximación a las arquitecturas de n-capas y se enumeran algunas de las facilidades que se obtienen al desarrollar una aplicación Web para dar solución a un problema de éste tipo. 13 1. OBJETIVOS En este capítulo se enuncian los objetivos a desarrollar en este proyecto de grado, que tiene por finalidad, la creación de un sistema de información para la administración de los proyectos de grado de la carrera de Ingeniería de Sistemas de la Pontificia universidad javeriana. 1.1 OBJETIVO GENERAL Brindar a la Carrera de Ingeniería de Sistemas de la Pontificia Universidad Javeriana, un sistema de información completo, sencillo y autónomo, para la administración y mantenimiento de los diferentes proyectos de grado de los estudiantes. 1.2 OBJETIVOS ESPECÍFICOS Apropiarse de los conocimientos necesarios para desarrollar un Sistema de Información utilizando indicadores de gestión y metodologías de desarrollo para proyectos a mediana y gran escala con altos niveles de calidad. Administrar y gestionar la información de los proyectos de investigación, de tal forma que tanto estudiantes, como directores de proyecto y directivos del departamento, puedan tener datos actualizados, precisos y detallados, de los avances de estas investigaciones. Analizar, diseñar, desarrollar e implantar en su totalidad una herramienta robusta, completa y con altos estándares de calidad, utilizando los conocimientos adquiridos durante el proceso de formación de la carrera. Permitir un control adecuado de los proyectos de grado e investigaciones, utilizando dentro del Sistema de Información indicadores de gestión, que evidencien cumplimiento dentro de las diferentes líneas de investigación y de cada uno de los proyectos. Generar una base de conocimientos para el departamento y sus estudiantes permitiendo la generación de nuevos proyectos de grado y trabajos de investigación. 1.3 ALCANCE Actualmente, el proceso para el control, seguimiento y gestión de los proyectos de grado en la Carrera de Ingeniería de Sistemas de la Pontificia Universidad Javeriana, se hace de una forma manual, la información se guarda en archivos de Excel y los archivos entregados por los estudiantes se guardan en carpetas en el computador del Coordinador de Proyectos de Grado, este proceso se hace cada ves más engorroso al llevarlo de esta manera, debido al volumen de información que cada ves se está manejando en la Carrera. Es por esto, que se abrió un espacio para llevar a cabo un proyecto que ayude a manejar un gran volumen de información para los Proyectos de Grado de la Carrera y a optimizar recursos como el tiempo. Por otra parte, se buscaba generar mecanismos para facilitar el control y seguimiento de los Proyectos de Grado por parte del Coordinador del área. 14 Los trámites actuales de Proyecto de Grado I y II y la información que se maneja en cada uno de ellos ha sido la siguiente: Información de los estudiantes: Nombres completos, documento de identidad, teléfonos, correo electrónico, se almacena en hojas de cálculo en el computador del Coordinador. Información de los Directores de Proyecto de Grado: Nombres completos, documento de identidad, teléfonos, correo electrónico, área a la que pertenece, temas de interés. Esta información reposa en parte en el computador de los Jefes de Sección o del Director del Departamento, el Coordinador de Proyectos de Grado debe solicitar esta información a las fuentes respectivas. Para adquirir la información de estudiantes y profesores se consultan los datos almacenados en los sistemas de información del proyecto ORBIS, sin embargo sólo se sacan copias de estos datos lo que genera asincronía y puede dar lugar a errores. Proyectos de Grado: Cada grupo de estudiantes es asociado a un profesor, esta información está almacenada en el computador del Coordinador de Proyectos de Grado en hojas de cálculo. Para la construcción de la nómina de profesores de Proyectos de Grado es necesario que los archivos del computador del Coordinador estén al día. Los conceptos que dan los jurados al momento de las sustentaciones se almacenan en formatos en papel que se guardan en archivo físico. Los abstract de los proyectos se almacenan en el computador de la Secretaria de la Dirección de Carrera. Los documentos físicos de la propuesta aprobada se almacenan; uno en el archivo de la Carrera y otro lo guarda el director del Proyecto. Los documentos físicos del trabajo final se guardan uno en el Centro de Documentación ubicado en las salas de computadores del primer piso de la Facultad de Ingeniería y otro es entregado al director del proyecto. Una copia del documento en forma magnética reposa en la biblioteca de la Universidad y otro en el Centro de Documentación. En la página Web de la Carrera de Ingeniería de Sistemas se maneja una bitácora (desactualizada) de los proyectos de grado en curso y los ya aprobados y entregados. Para asignar jurados a los proyectos de grado se utiliza la información almacenada en los computadores de los Jefes de Sección que sacan de sus hojas de cálculo los datos de cada profesor de su sección, así como las asignaturas que dicta. Esta información se imprime para hacer los cruces (proyecto-jurados). El seguimiento a los proyectos de grado se hace por medio de las bitácoras almacenadas en las páginas individuales que tiene cada uno de los proyectos en el servidor “Pegasus” del Departamento de Ingeniería de Sistemas. Para que el Coordinador pueda conocer el estado de cada Proyecto debe entrar a cada página o en su defecto llamar al Director o al grupo de estudiantes. Para comprender el alcance del sistema, anexo se encuentran los requerimientos solicitados por el cliente. Ver Anexo E 15 2. ANTECEDENTES El proyecto esta enmarcado en el ámbito de la administración de los trabajos de grado de la Carrera de Ingeniería de Sistemas de la Pontificia Universidad Javeriana, actualmente el volumen de información manejado por la Carrera esta en un constante crecimiento; lo cuál hace cada vez, más complejo el seguimiento, manipulación, administración y culminación de los trabajos de grado de los estudiantes. El Sistema de Información de Administración de Proyectos (SIAP) pretende agilizar estos procedimientos, de forma que se pueda hacer un debido uso optimizando los recursos con los que cuenta la Carrera, debido a que éste sistema de información significaría un gran ahorro de tiempo y optimización del personal implicado. El sistema de información propuesto será una gran ayuda para los estudiantes que están culminando sus estudios, brindándoles una herramienta completa que les facilite el seguimiento de sus proyectos, debido a que muchos estudiantes cursan materias mientras están con el desarrollo del trabajo de grado. CRECIMIENTO DE LA CARRERA Por otra parte la carrera hoy en día esta en constante crecimiento tanto en número de alumnos que ingresan a la carrera como en el número de estudiantes que cursan cada asignatura por semestre; por esta razón, cada semestre la carrera se ve obligada a abrir nuevos grupos para satisfacer la demanda y más aún cuando las modificaciones realizadas al plan de estudios y la entrada del sistema de créditos académicos hacen que más estudiantes tengan la oportunidad de cursar trabajo de grado cada semestre. A continuación presentamos algunos datos de estudios realizados por la Carrera sobre el crecimiento de ésta semestralmente durante los últimos años y el crecimiento de las asignaturas Proyecto de Investigación I, II y III. Proyecto de Proyecto de Proyecto de Investigación I Investigación II Investigación III Año-Semestre 2002-1 22 17 18 2002-3 25 19 15 2003-1 18 30 19 2003-3 21 18 31 2004-1 24 21 21 2004-3 60 24 21 2005-1 32 40 20 Tabla 1. Estudiantes que cursaron proyecto de grado I, II y III en los diferentes semestres durante los últimos años. Fuente: Dirección de Carrera – Ingeniería de Sistemas. En el cuadro anterior se observa con claridad que debido a lo cambios realizados por la carrera al plan de estudios actual se incrementó en más del doble el número de estudiantes que cursan trabajo de grado I para el segundo semestre del 2004 en comparación con el semestre anterior e incluso en comparación con los semestres de los años anteriores. Debido a este comportamiento es de esperar que los próximos semestres se multipliquen el número de estudiantes. 16 La gráfica presentada a continuación muestra el comportamiento de las asignaturas proyecto de grado I, II y III durante los últimos semestres. 70 60 50 Serie1 Serie2 Serie3 40 30 20 10 0 2002-1 2002-3 2003-1 2003-3 2004-1 2004-3 2005-1 Figura 1. Tendencia en número de trabajos de grado. Fuente: Dirección de Carrera – Ingeniería de Sistemas. En la gráfica la línea de color azul revela la forma en que se incrementaron el número de alumnos para el segundo semestre del 2004. Por otra parte, el número de estudiantes que ingresan a la Carrera cada día es más grande lo cual hace más engorroso el manejo de los proyectos de grado a medida que los estudiantes van llegando hasta esa instancia de la Carrera, a continuación presentamos el cuadro de alumnos inscritos, admitidos y matriculados por la Carrera desde su comienzo hasta hoy. Primer semestre 1995 1996 1997 1998 1999 2000 2001 Inscritos 86 125 119 110 110 186 296 Admitidos 67 91 83 91 89 123 98 Matriculados 58 63 59 59 68 95 91 Tabla 2. Comportamiento de inscritos, admitidos y matriculados Fuente: Dirección de Carrera – Ingeniería de Sistemas. 2002 2003 2004 2005 284 193 180 127 119 145 156 125 92 98 115 96 para los primeros semestres. 17 350 300 250 Inscritos 200 Admitidos 150 Matriculados 100 50 05 04 20 03 20 02 20 01 20 00 20 99 20 98 19 97 19 96 19 19 19 95 0 Figura 2. Número de estudiantes aspirantes al programa primer semestre. Fuente: Dirección de Carrera – Ingeniería de Sistemas. Segundo semestre 1995 1996 1997 1998 Inscritos 43 55 59 58 Admitidos 40 45 44 58 Matriculados 27 28 31 45 Tabla 3. Comportamiento de inscritos, admitidos 1999 2000 2001 2002 2003 2004 75 115 136 102 106 82 72 77 89 92 86 82 51 74 85 60 60 71 y matriculados para los segundos semestre. Fuente: Dirección de Carrera – Ingeniería de Sistemas. 160 140 120 100 Inscritos 80 Admitidos 60 Matriculados 40 20 0 1995 1996 1997 1998 1999 2000 2001 2002 2003 Figura 3. Número de estudiantes aspirantes al programa segundo semestre. Fuente: Dirección de Carrera – Ingeniería de Sistemas. Se espera, haber brindado un vistazo general de la situación de la Carrera y las asignaturas correspondientes en este ámbito de trabajo. 18 Ingeniería Industrial Actualmente la Carrera de Ingeniería Industrial que es uno de los programas que cuenta con mayor volumen de estudiantes tiene una página Web1 en la cual presenta la información más relevante sobre las líneas de trabajo de grado con las opciones que se listan a continuación. [PI72004]. Introducción Requisitos para la presentación de propuestas de trabajo de grado Estudio de propuestas de trabajo de grado Posibles respuestas Responsabilidad después de aprobada una propuesta y vigencia Informe final del trabajo de grado Requisitos para la presentación del informe final (trabajo de grado) Proceso previo a sustentación Sustentación del trabajo de grado Requisitos indispensables para graduación Anexos anexo 1: Tabla mínima de contenidos de la propuesta anexo 2: Artículo 23 del reglamento de la Universidad anexo 3: Documentos requeridos para grado anexo 4: Entregas de trabajos de grado a la biblioteca Información de las asignaturas Contacto 1 http://fing.javeriana.edu.co/ingenieria/ing_industrial/proyectos_grado.htm. 27/09/2004 19 Esta página es de carácter informativo y no permite a los estudiantes ni directores de proyecto interactuar con ningún sistema que brinde herramientas para facilitar el proceso de culminación de los trabajos de grado. Como se puede ver en los ejemplos anteriores, tanto la Carrera de Ingeniería de Sistemas como Ingeniería Industrial, manejan un volumen de estudiantes bastante alto que cursa semestralmente trabajo de grado, es por esto que se hace visible la necesidad de crear un sistema de información completo y robusto que les permita de forma más rápida, segura y eficiente llevar a cabo la administración de los mismos. En la actualidad Ingeniería Industrial mediante su página ha logrado dar en parte solución al problema pero esto no ha sido suficiente. Después consultar en diversas fuentes no se encontró información alguna de que exista un sistema de información para la administración de proyectos en ninguna carrera de la Pontificia Universidad Javeriana, seccional Bogota. 20 Por otro parte, consultando en distintas fuentes de información logramos identificar un proyecto que se aproxima a lo que nuestro trabajo pretende alcanzar, éste se encuentra en la página del CLEI (Congreso Latinoamericano de estudios en informática) y que será presentado en septiembre de este año (2004). El titulo de este proyecto es: El Problema de la Asignación de Evaluadores para los Artículos Presentados a un Evento Académico: Modelamiento e Implementación de una Solución Usando Programación con Restricciones.2 Descripción: En este artículo, se presenta el modelaje de un problema combinatorio, El Problema de la Asignación de Evaluadores para los Artículos Presentados a un Evento Académico. El modelaje se realiza de dos formas diferentes; posteriormente se utilizan estos modelos para realizar dos implementaciones en un lenguaje que incorpora el paradigma de programación por restricciones (MOzArt). La estrategia de distribución usada es la misma en ambos modelos, con el fin de que los resultados obtenidos sean dependientes del modelo. Por último se realiza un análisis de los dos modelos con base en los resultados experimentales, y se concluye que con ambos modelos se obtienen resultados competitivos, en términos de tiempo y calidad, al abordar problemas de tamaño pequeño y mediano. Sin embargo, al tratar problemas de grandes dimensiones uno de los modelos supera claramente al otro, tanto en calidad de la solución como en eficiencia, debido a que su espacio de búsqueda es más pequeño. [PI172004]. 2Congreso Latinoamericano de estudios en informática http://clei2004.spc.org.pe/es/skin.php?menu=70&source=html/209/index.html. 31/10/2004 21 3. DESCRIPCIÓN DEL PROBLEMA Actualmente, la Carrera y el Departamento de Ingeniería de Sistemas de la Pontificia Universidad Javeriana no cuenta con herramientas tecnológicas que le permitan la fácil administración y gestión de los proyectos de grado, que deben ser cursados y aprobados por los estudiantes de la carrera para la exitosa culminación de sus estudios. En un comienzo no se veía la necesidad de una herramienta tecnológica, debido a que el volumen de proyectos de grado por semestre era bajo y fácil de manejar, pero con el paso de los años y el creciente volumen de estudiantes que llegan a cursar proyecto de grado se ha vuelto engorroso el proceso de asignación y seguimiento a los mismos. Por esta razón, se ve en este trabajo de grado una oportunidad para dar solución y de esta manera, mejorar los distintos procesos que los proyectos de grado implican para la Carrera y el Departamento. 22 4. JUSTIFICACIÓN El sistema de información SIAP aquí propuesto, pretende agilizar y facilitar el manejo del gran volumen de proyectos de grado, directores de proyecto y líneas de investigación que actualmente ofrece la Carrera de Ingeniería de Sistemas de la pontificia Universidad Javeriana. Una vez SIAP este implementado en su totalidad, los Estudiantes, Directores de Proyecto y directivas de la Carrera y el Departamento, tendrán a su disposición una completa herramienta que les permita llevar a cabo la gestión de los diferentes proyectos de grado. El Sistema de Información propuesto, también ofrecerá una base de datos con los proyectos terminados y entregados a la Carrera, que actualmente tienen que buscarse en forma manual en el Departamento de Sistemas o en la Biblioteca de la Universidad. 23 5. HERRAMIENTAS DE DESARROLLO 5.1 VISUAL STUDIO .NET3 Visual Studio .NET es un conjunto de herramientas integrado para la construcción y desarrollo de servicios Web XML, aplicaciones basadas en Microsoft Windows®, y soluciones Web. Creado para satisfacer las necesidades de desarrollo de software más exigentes de hoy día, Visual Studio .NET 2003 mejora y optimiza a su predecesor, con el que es altamente compatible. Visual Studio .NET 2003 incluye una completa gama de funciones, desde modeladores que ayudan a componer visualmente las aplicaciones empresariales más complejas hasta la implementación de una aplicación en el más pequeño de los dispositivos. Utilizados por compañías de todos los tamaños en el mundo entero, Visual Studio .NET y la plataforma .NET Framework de Microsoft Windows proporcionan una completa herramienta, eficaz y sofisticada, para diseñar, desarrollar, depurar e implementar aplicaciones seguras para Microsoft Windows® y Web, a la vez sólidas y fáciles de utilizar. Visual Studio .NET 2003 contiene una versión mejorada de Windows .NET Framework. Windows .NET Framework 1.1 incluye nuevas funciones, mejoras y actualizaciones de la documentación. Gracias a la compatibilidad integrada con .NET Compact Framework, Visual Studio .NET 2003 incorpora a .NET los dispositivos móviles e incrustados, como Pocket PC, y otros dispositivos que utilizan el sistema operativo Microsoft Windows CE .NET. Ahora, los programadores pueden utilizar el mismo modelo de programación, las mismas herramientas para programadores y los mismos conocimientos para crear aplicaciones orientadas tanto a dispositivos pequeños como a los centros de datos de mayor tamaño. [PI82005] Los programadores pueden utilizar Visual Studio .NET para: • • • • • • • Crear aplicaciones basadas en Windows rápidas y eficaces. Crear aplicaciones para Pocket PC rápidas y eficaces. Crear aplicaciones Web sofisticadas y seguras. Crear aplicaciones Web inteligentes, sofisticadas y seguras para dispositivos móviles. Utilizar servicios Web XML en cualquiera de las aplicaciones mencionadas. Evitar conflictos entre archivos .DLL. Eliminar los costosos problemas de implementación y mantenimiento de las aplicaciones. Visual Studio .NET es el único entorno de desarrollo creado exclusivamente para permitir la integración con servicios Web XML. Al hacer posible que las aplicaciones compartan datos a través de Internet, los servicios Web XML permiten a los programadores ensamblar aplicaciones a partir de código nuevo y existente, independientemente de la plataforma, el lenguaje de programación o el modelo de objetos. 3 http://www.microsoft.com/spanish/msdn/vstudio/productinfo/vstudio03/overview/default.asp. 15/04/2005 24 Visual Studio .NET 2003 está disponible en las siguientes ediciones: Enterprise Architect Enterprise Developer Professional Visual Studio .NET Enterprise Architect proporciona la capacidad total de Visual Studio .NET Enterprise Developer, más funciones adicionales para diseñar, especificar y comunicar arquitectura y funcionalidad de aplicaciones. Visual Studio .NET Enterprise Developer proporciona un eficaz entorno de desarrollo empresarial en equipo para crear con rapidez aplicaciones importantes orientadas a cualquier dispositivo y que se integren en cualquier plataforma. Visual Studio .NET Professional permite a los programadores crear con rapidez aplicaciones para Windows, Web, dispositivos Web móviles, Pocket PC y otros dispositivos incrustados que utilizan .NET Compact Framework. Tabla 4. Ediciones Visual Studio .NET 2003. Fuente: Microsoft. Para el desarrollo de SIAP, la herramienta utilizada fue Visual Studio .NET Enterprise Architect, la cual nos proporciono todas las posibilidades y servicios para culminar con éxito el desarrollo de este sistema, además su integración con SQL Server y Visual Source Safe, permitió ahorrar en gran parte el tiempo de desarrollo y repositorio de datos y de el buen manejo de las diferentes versiones de la aplicación y de la documentación. 5.2 ASP .NET El 20 de Enero del 2002 una nueva versión del tradicional Active Server Pages fue lanzada por Microsoft al público, esta versión es ASP.net. ASP.net forma parte del .NET Framework de Microsoft, junto con VB.net, C++.net, C# e incluso JScript.net. ASP.NET es un marco de trabajo de programación generado en Common Language Runtime que puede utilizarse en un servidor para generar eficaces aplicaciones Web. ASP.NET es uno de los componentes principales del Microsoft .NET Framework y proporciona toda la infraestructura necesaria para el desarrollo de aplicaciones Web. ASP.NET no es simplemente una versión mejorada de Microsoft Active Server Pages (ASP), es una plataforma de desarrollo Web unida que proporciona los servicios necesarios a los desarrolladores para generar aplicaciones Web para grandes empresas y entidades. ASP.NET proporciona grandes mejoras con respecto a ASP e incluye muchas características nuevas. ASP .net permite el desarrollo de aplicaciones Web en varios lenguajes de programación como Visual Basic .NET, C#, y JScript .NET, es esta otra de las grandes ventajas de escoger ASP .Net para el desarrollo de SIAP, debido a que no se tenía que estar sometidos al conocimiento de un solo lenguaje de programación y esto permitía y abría la puerta para escoger C# como lenguaje aunque no haya sido esta la ultima elección; y el por que se explica más adelante. VENTAJAS Y DESVENTAJAS DE ASP .NET A continuación se enuncian las principales ventajas y desventajas de ASP. NET que influyeron en la escogencia de esta herramienta de desarrollo para el sistema de información que administrará los proyectos de grado de Ingeniería de Sistemas de la Pontificia Universidad Javeriana. 25 VENTAJAS • Mejor rendimiento. ASP.NET es un código de Common Language Runtime compilado que se ejecuta en el servidor. A diferencia de sus predecesores, ASP.NET puede aprovechar las ventajas del enlace anticipado, la compilación just-in-time, la optimización nativa y los servicios de caché desde el primer momento. Esto supone un incremento del rendimiento antes de siquiera escribir una línea de código. • Compatibilidad con herramientas de primer nivel. El marco de trabajo de ASP.NET se complementa con un diseñador y un grupo de herramientas muy completo en el entorno integrado de programación (Integrated Development Environment, IDE) de Visual Studio. La edición WYSIWYG, los controles de servidor de arrastrar y colocar además de la implementación automática son sólo algunas de las características que proporciona esta eficaz herramienta. • Eficacia y flexibilidad. Debido a que ASP.NET se basa en Common Language Runtime, la eficacia y la flexibilidad de toda esa plataforma se encuentra disponible para los programadores de aplicaciones Web. La biblioteca de clases de .NET Framework, la mensajería y las soluciones de acceso a datos se encuentran accesibles desde el Web de manera uniforme. ASP.NET es también independiente del lenguaje, por lo que puede elegir el lenguaje que mejor se adapte a la aplicación o dividir la aplicación en varios lenguajes. Además, la interoperabilidad de Common Language Runtime garantiza que la inversión existente en programación basada en COM se conserva al migrar a ASP.NET. • Simplicidad. ASP.NET facilita la realización de tareas comunes, desde el sencillo envío de formularios y la autenticación del cliente hasta la implementación y la configuración de sitios. Por ejemplo, el marco de trabajo de página de ASP.NET permite generar interfaces de usuario, que separan claramente la lógica de aplicación del código de presentación, y controlar eventos en un sencillo modelo de procesamiento de formularios de tipo Visual Basic. Además, Common Language Runtime simplifica la programación, con servicios de código administrado como el recuento de referencia automático y el recolector de elementos no utilizados. • Facilidad de uso. ASP.NET emplea un sistema de configuración jerárquico, basado en texto, que simplifica la aplicación de la configuración al entorno de servidor y las aplicaciones Web. Debido a que la información de configuración se almacena como texto sin formato, se puede aplicar la nueva configuración sin la ayuda de herramientas de administración local. Esta filosofía de "administración local cero" se extiende asimismo a la implementación de las aplicaciones ASP.NET Framework. Una aplicación ASP.NET Framework se implementa en un servidor sencillamente mediante la copia de los archivos necesarios al servidor. No se requiere el reinicio del servidor, ni siquiera para implementar o reemplazar el código compilado en ejecución. • Escalabilidad y disponibilidad. ASP.NET se ha diseñado teniendo en cuenta la escalabilidad, con características diseñadas específicamente a medida, con el fin de mejorar el rendimiento en entornos agrupados y de múltiples procesadores. Además, el motor de tiempo de ejecución de ASP.NET controla y administra los procesos de cerca, por lo que si uno no se comporta adecuadamente (filtraciones, bloqueos), se puede crear un proceso nuevo en su lugar, lo que ayuda a mantener la aplicación disponible constantemente para controlar solicitudes. 26 • Posibilidad de personalización y extensibilidad. ASP.NET presenta una arquitectura bien diseñada que permite a los programadores insertar su código en el nivel adecuado. De hecho, es posible extender o reemplazar cualquier subcomponente del motor de tiempo de ejecución de ASP.NET con su propio componente escrito personalizado. La implementación de la autenticación personalizada o de los servicios de estado nunca ha sido más fácil. • Seguridad. Con la autenticación de Windows integrada y la configuración por aplicación, se puede tener la completa seguridad de que las aplicaciones están a salvo. DESVENTAJAS • Entre más usuarios utilicé la aplicación WEB el uso de memoria y de procesador es más alto, lo cual hace que con el paso del tiempo si el número de usuarios incrementa de forma considerable la memoria en el servidor debe ser ampliada para responder a las necesidades del sistemas, esta es la principal y más importante desventaja de ASP.net; además el uso de variables de sesión también consume mas memoria. 5.3 VISUAL BASIC .NET4 El lenguaje de Visual Basic .NET se ha actualizado, simplificado y modernizado. Con Visual Basic .NET, ahora tiene acceso a un conjunto de herramientas mucho más completo y eficaz que en versiones anteriores de Visual Basic. Para satisfacer la fuerte demanda de los clientes, Visual Basic .NET ofrece un amplio conjunto de nuevas características, como capacidades de diseño completamente orientado a objetos, subprocesamiento libre y acceso directo a Microsoft .NET Framework. Asimismo, el lenguaje de Visual Basic se ha optimizado, eliminando palabras clave obsoletas que se habían heredado, mejorando la seguridad de tipos y revelando las construcciones de bajo nivel que los programadores avanzados necesitan. Ahora, Visual Basic .NET se integra plenamente con otros lenguajes de Microsoft Visual Studio® .NET. No sólo se pueden programar componentes de aplicaciones en diferentes lenguajes de programación, sino que ahora, las clases se pueden heredar de clases escritas en otros lenguajes utilizando la herencia entre lenguajes. Con el depurador unificado, ahora se pueden depurar aplicaciones en varios lenguajes, independientemente de si se ejecutan localmente o en equipos remotos. Por último, independientemente del lenguaje que se utilice, .NET Framework proporciona un amplio conjunto de interfaces de programación de aplicaciones (API) para el sistema operativo Microsoft Windows e Internet. Los programadores de Visual Basic .NET pueden unirse a la mayor comunidad de programadores, formada por más de 3 millones de programadores de Visual Basic de todo el mundo. Los programadores pueden usar componentes del inmenso mercado de controles de otros fabricantes para crear aplicaciones completas basadas en .NET y pueden aprender Visual Basic .NET rápidamente de los muchos libros y ejemplos disponibles. [PI92005] 4 http://www.microsoft.com/latam/vbasic/producto/resumen.asp#use. 15/04/2005 27 5.4 SQL SERVER 20005 Microsoft SQL Server 2000 es un sistema gestor de bases de datos relacionales (SGBDR). Una base de datos relacional proporciona una forma de organizar información almacenándola en tablas de bases de datos. La información relacional se puede agrupar en tablas, y también se pueden definir relaciones entre tablas; de ahí el nombre, base de datos relacional. Los usuarios acceden a la información que está en el servidor a través de una aplicación. Los administradores acceden al servidor directamente para realizar tareas de configuración, administrativas y de mantenimiento de la base de datos. SQL Server es una base de datos dimensionable, lo que quiere decir que puede almacenar cantidades de datos ya que puede soportar muchos usuarios accediendo a los datos al mismo tiempo. SQL Server nació en 1989 y ha cambiado de forma significativa desde entonces. Se han realizado grandes mejoras de dimensionabilidad, la integridad, la facilidad de administración, el rendimiento y as características del producto. SQL Server se puede utilizar en dos tipos de entornos. Las necesidades y requisitos del cliente han dado lugar a innovaciones significativas en el producto SQL Server versión 2000, entre las que se incluyen la facilidad de uso, escalabilidad y fiabilidad, y almacenamiento de datos. [PI22004]. Liderazgo e innovación Las innovaciones permiten a SQL Server 2000 liderar algunas de las categorías de aplicaciones de más rápido crecimiento dentro del sector de las bases de datos. Entre estas categorías se pueden mencionar el comercio electrónico, informática móvil, automatización de sucursales, aplicaciones de líneas de negocio y depósitos de datos. Entre las importantes áreas de liderazgo e innovación de Microsoft SQL Server 2000 cabe citar: • • • • • • • • • Primera base de datos que se amplía desde los portátiles a la empresa mediante el mismo código base y que ofrece una compatibilidad del código del cien por cien. Primera base de datos que soporta la configuración automática y la auto-optimización. Primera base de datos con un servidor OLAP integrado. Primera base de datos con los servicios de transformación de datos (Data Transformation Services, DTS) integrados. El marco de almacenamiento de datos de Microsoft (Data Warehousing Framework) constituye el primer planteamiento de amplia cobertura para la resolución de los problemas que plantea la utilización de metadatos. La primera base de datos que ofrece administración multiservidor para un gran número de servidores. Una gran variedad de opciones de duplicación de cualquier base de datos. La mejor integración con la familia Windows NT Server, Microsoft Office y BackOffice®. Acceso universal a los datos (Universal Data Access), la estrategia de Microsoft para permitir el acceso de alto rendimiento a una gran cantidad de fuentes de información. 5 http://www.sqlmax.com/caracter.asp. 15/04/2005 28 Facilidad de uso Los clientes buscan soluciones a los problemas de la empresa. La mayor parte de las soluciones para bases de datos simplemente implican nuevos costes y complejidad añadida. La estrategia de Microsoft estriba en convertir a SQL Server en la base de datos que permita llevar a cabo la creación, administración y distribución de las aplicaciones empresariales de la forma más sencilla. Esto significa proporcionar a los desarrolladores un modelo de programación simple y rápida, eliminar la necesidad de administrar la base de datos en las operaciones habituales y proporcionar herramientas sofisticadas para acometer las operaciones más complejas. SQL Server 2000 reduce el coste total de propiedad mediante opciones tales como la administración de varios servidores con una única consola; ejecución de trabajos basados en eventos y generación de alertas; seguridad integrada y procedimientos de comandos para realizar tareas administrativas. Esta versión también deja vía libre al administrador de la base de datos para llevar a cabo trabajos más sofisticados al automatizar las tareas rutinarias. Mediante la combinación de estas potentes utilidades para la administración con las nuevas opciones de configuración automática, Microsoft SQL Server 2000 constituye la opción ideal para las aplicaciones de automatización de sucursales y de bases de datos incrustadas. Ampliable y fiable Los clientes invierten en sistemas de administración de bases de datos en forma de aplicaciones escritas para sus bases de datos y también en la formación que conlleva su administración y despliegue. Esta inversión debe estar protegida: a medida que el negocio crece, la base de datos debe crecer para tratar más datos, transacciones y usuarios. Los clientes también desean proteger su inversión cuando llevan las aplicaciones de base de datos a equipos portátiles o a sucursales. Para satisfacer estas necesidades, Microsoft ofrece un único motor de base de datos ampliable desde un equipo portátil que ejecuta el sistema operativo Windows® 95 o Windows 98, hasta clusters multiprocesador simétricos de varios terabytes de información y que ejecutan Windows 2000 Server Enterprise Edition. Todos estos sistemas mantienen la seguridad y fiabilidad que exigen los sistemas empresariales críticos. Una novedad de la versión 2000 es su diseño para cubrir las necesidades cada vez mayores del mercado de la informática móvil, con nuevas e innovadoras funcionalidades como un pequeño espacio físico para la memoria, ajuste automático y duplicación en varias instalaciones. SQL Server es también la elección ideal para los sistemas de almacenamiento de datos y OLTP de la gama alta, ya que dispone de funcionalidades de escalabilidad como bloqueo dinámico a nivel de filas, paralelismo entre consultas, consulta distribuida y mejoras en bases de datos de gran tamaño (Very Large Database, VLDB). Almacenes de datos Los sistemas de proceso de transacciones siguen siendo un componente fundamental de las infraestructuras de bases de datos corporativas. Las empresas también realizan grandes inversiones en mejorar el conocimiento de sus datos. La estrategia de Microsoft consiste en reducir el coste y la complejidad del almacenamiento de datos al tiempo que pone la tecnología al alcance de un mayor número de personas. 29 Microsoft ha establecido un planteamiento de amplia cobertura para el proceso completo del almacenamiento de datos. El objetivo es facilitar aún más la creación y el diseño de soluciones de soluciones económicas de almacenamiento de datos mediante la combinación de tecnologías, servicios y alianzas entre fabricantes. La Microsoft Alliance for Data Warehousing es una coalición que reúne a los líderes del sector en el almacenamiento de datos y aplicaciones. El marco de almacenamiento de datos de Microsoft (Microsoft Data Warehousing Framework) es un conjunto de interfaces de programación que ha sido diseñado para simplificar la integración y administración de soluciones de almacenamiento de datos. Entre las innovaciones que se incluyen en SQL Server 2000 destinadas a mejorar el proceso de almacenamiento de grandes cantidades de datos, se encuentran: • • • • • • • "Plato", un componente primordial para las soluciones empresariales que requieran proceso analítico en línea (Online Analytical Processing, OLAP), desde la generación de informes y análisis corporativos hasta el modelado de datos y el soporte en la toma de decisiones. Data Transformation Services (Servicios de transformación de datos) para importar, exportar y transformar datos. Mejoras en el tratamiento de las consultas complejas y bases de datos de gran tamaño (VLDB). Microsoft Repository (Depósito de Microsoft), una infraestructura común para compartir la información. Herramientas visuales de diseño para crear y mantener los diagramas de bases de datos. Duplicación integrada, que incluye la actualización en varias instalaciones, para mantener almacenes de datos dependientes. Integración de soluciones de terceros. Las bases de datos que usan esta tecnología pueden manejar muchos mas usuarios concurrentes y cantidades de datos enormemente mayores. SQL Server esta diseñado para resolver los requisitos más exigentes en el uso de una base de datos de una empresa. 5.5 VISUAL SOURCE SAFE 6.0 C6 Visual SourceSafe 6.0 es un sistema de control de versiones para proyectos de equipo y proyectos individuales. [PI42005]. Se puede integrar Visual SourceSafe 6.0 al entorno de desarrollo integrado (IDE) de Visual Studio .NET como proveedor de control de código fuente. Si bien se han solucionado algunos errores, esta versión difiere poco de la versión original de Visual SourceSafe 6.0. Microsoft VSS ayuda a mantener el control de versionado de los proyectos. Permite almacenar cualquier tipo de archivo (archivos de texto y binarios) guardándolos en un repositorio de datos. Cuando se agrega un archivo a VSS, se hace una copia de seguridad del archivo en la base de datos, el cual quedará disponible para los demás usuarios. Los cambios que se hagan en el archivo se guardan de forma que se pueda recuperar una versión anterior en cualquier momento. 6 http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/guides/html/vsorivisualsourcesafe60.asp. 15/04/2005 30 Microsoft VSS 6.0 tiene muchas características nuevas, incluidas: Archivar y Restaurar. Estas operaciones se pueden realizar ahora con un sencillo asistente del Administrador de VSS. En versiones anteriores de VSS, los comandos Archivar y Restaurar estaban disponibles sólo desde la línea de comandos. Mover archivos. Al mover un archivo ahora, VSS lo compartirá automáticamente en un nuevo proyecto, eliminándolo del proyecto original. El archivo aparecerá como compartido en el nuevo proyecto. Compara diferencias en múltiples proyectos. Esta característica le permite comparar las diferencias de un proyecto frente a otro proyecto. Distribuir archivos individuales. En versiones anteriores de VSS sólo podía distribuir una carpeta; con el nuevo asistente, podrá distribuir también un archivo. Operación Fast Get. Gracias a las capacidades mejoradas de VSS, puede realizar una operación Get dos veces más rápido que en las versiones anteriores de VSS. Filtrar la información del Historial. Ahora puede ver el historial de archivos y proyectos sin incluir las etiquetas. Promoción de etiquetas. Esta característica le permite promocionar o agregar un archivo a una etiqueta existente. Opción de borrar las carpetas temporales. Esta característica le permite borrar fácilmente las carpetas temporales. Comprobar hipervínculos externos. En versiones anteriores de VSS, sólo los hipervínculos internos y los saltos dentro del proyecto se comprobaban. Ahora VSS le permite comprobar los hipervínculos y saltos fuera del proyecto. Crear accesos directos en el escritorio a bases de datos de VSS (desde el Explorador de VSS). Esta característica le permite crear un acceso directo en su escritorio que abra una base de datos de VSS específica. Ayuda en formato HTML. Las versiones anteriores de VSS utilizaban la ayuda en formato Windows. 31 6. EXPERIENCIAS EN ORGANIZACIONES RECONOCIDAS A NIVEL MUNDIAL Estas son algunas de las experiencias referenciadas por Microsoft que se aproximan a SIAP en las herramientas utilizadas para lograr el fin propuesto a nivel mundial. CASO 17 País: España Sector: Educación La Universidad de Málaga es una universidad pública, joven y dinámica, que ha apostado decididamente por la calidad en la docencia, la investigación y el servicio al alumno. Actualmente cuenta con más de 40.000 estudiantes y ofrece más de 50 titulaciones de muy diversos ámbitos. Para realizar sus tareas diarias, el equipo del Servicio de Investigación de la Universidad de Málaga utilizaba diversas bases de datos elaboradas con el programa FileMaker Pro. El problema radicaba en la coexistencia de diferentes sistemas de información independientes, no conectados entre sí, lo que impedía realizar un control integral de la información de la Universidad. Para esto, la Universidad de Málaga ha creado gracias a la tecnología Visual Basic .NET y Visual Source Safe de Microsoft, un moderno Sistema Integrado para la Gestión de la Investigación, capaz de administrar todos los procedimientos relacionados con las actividades realizadas por el Servicio de Investigación de la UMA. [PI112005]. Los beneficios logrados por este sistema integrado han sido: - Mayor productividad. Integración de datos. Facilidad de uso. Interacción con otros sistemas de información de la Universidad Software y Servicios - Microsoft Windows 2000 Advanced Server - Microsoft Visual Basic .NET - Microsoft Visual Source Safe Este proyecto de la universidad de Málaga, no solo por ser un proyecto de una universidad si no también por las herramientas utilizadas se asemeja en las características a las utilizadas para llevar a cabo el proceso de implementación de SIAP. Las características que coinciden son Microsoft Visual Basic .NET y Microsoft Visual Source Safe. 7 http://www.microsoft.com/spanish/msdn/spain/casestudies/cs_universidad_malaga02.asp 22/04/2005 32 CASO 28 País: España Sector: Administración La Dirección General del Catastro (España) gestiona y difunde la información sobre los bienes e inmuebles rústicos y urbanos ubicados en el territorio nacional, y sobre sus respectivos propietarios. Este organismo se planteó un ambicioso proyecto: crear un sistema centralizado de información que permitiese interactuar con los ciudadanos e instituciones públicas y poner a su disposición servicios electrónicos, como la gestión y tramitación de certificados vía Web, entre otros. Gracias a la tecnología .NET de Microsoft (Visual Studio .NET y las diferentes soluciones incluidas: ASP .NET, IIS, etcétera), la Dirección General del Catastro ha dado un salto cualitativo y cuantitativo en la calidad del servicio al ciudadano. [PI122005]. Los beneficios logrados por este sistema integrado han sido: - Escalabilidad y productividad. Rápida tramitación y acceso a la información. Facilidad de uso y aprendizaje. Integración de aplicaciones Software y Servicios - Microsoft Visual Studio .NET - .NET Framework - Microsoft Windows 2000 Advanced Server Tecnologías Clustering ASP.NET En este proyecto de La Dirección General del Catastro de España se utilizó todo el potencial de Visual Studio .NET para desarrollar una aplicación en ASP .NET y Clustering ASP.NET para poder dar un buen nivel y calidad de servicio a los ciudadanos Españoles. Las herramientas que se con las que se identifica SIAP y este proyecto son la utilización de Visual Studio .NET y ASP .NET. CASO 39 País: España Sector: Servicios Financieros Caixa Manresa es una entidad financiera implantada en Cataluña que cuenta con una red de 140 oficinas y cerca de 700 empleados. Su sede social se encuentra ubicada en Manresa (Barcelona) y está especializada en particulares, pequeñas y medianas empresas. Sus principales productos financieros se dirigen al mercado hipotecario y a la gestión de patrimonios. Ocupa actualmente el tercer lugar entre las cajas catalanas en volumen de fondos de inversión gestionados. 8 9 http://www.microsoft.com/spanish/msdn/spain/casestudies/cs_catastro.asp 22/04/2005 http://www.microsoft.com/spanish/msdn/spain/casestudies/cs_caixamanresa01.asp 22/04/2005 33 Como continuación de un cambio de estrategia iniciado durante la década de los 90 con el objetivo de mantener su posición en el mercado financiero catalán, Caixa Manresa emprendió a finales de 2001 una profunda evolución de sus sistemas de información. Esta transformación ha supuesto la creación de una arquitectura informática y de nuevos terminales financieros para los empleados. La utilización de las tecnologías Microsoft ha supuesto para Caixa Manresa cuatro beneficios principales: disponibilidad, debido la creación de una solución estable; productividad, al poder obtener un alto rendimiento en la evolución del sistema; bajo coste de mantenimiento y una evolución futura del sistema totalmente asegurada. Para su creación se ha utilizado Microsoft Visual Studio .NET, con el que se ha desarrollado una aplicación Web basada en componentes y Web Services que permiten un rápido desarrollo y despliegue de nuevos servicios. "Desarrollar los Web Services con Visual Studio .NET ha resultado extremadamente sencillo, al tiempo que ha facilitado la integración del terminal financiero con el middleware y nos ha asegurado una rápida evolución de la solución", detalla Rossend Vergé. También se ha añadido la posibilidad de integración vertical y horizontal de las distintas aplicaciones disponibles en el terminal financiero, con independencia de las transacciones o servicios que puedan necesitarse para resolverlas. [PI132005] Software y Servicios - Microsoft Visual Studio .NET Microsoft Exchange 2000 Server Microsoft Windows Active Directory Microsoft SQL Server Microsoft Host Integration Server Microsoft Application Center Microsoft Windows 2000 Server Microsoft Windows 2000 Professional Microsoft Office XP Para le ejecución de este proyecto las características compartidas con SIAP son Microsoft Visual Studio .NET, Microsoft SQL Server , Microsoft Windows 2000 Server, además mencionan la importancia de reducir el tiempo de implementación al utilizar las herramientas ofrecidas por Microsoft para este proyecto y las posibilidades de integración con sistemas ya existentes en el caso de SIAP esta es una posibilidad a futuro. 34 7. EXPERIENCIAS EN ORGANIZACIONES Y EMPRESAS NACIONALES A continuación se presentan algunas de las experiencias de organizaciones a nivel nacional con artículos de dos compañías que para el desarrollo habitual de sus aplicaciones utilizan las mismas características que las utilizadas para llevar a cabo este proyecto: online4BIZ (Ver Anexo A) y CONTACT CENTER AMERICAS (Ver Anexo B); así como también algunas referenciadas por Microsoft que se aproximan a SIAP en las herramientas utilizadas para lograr el fin propuesto a nivel nacional. A nivel nacional son ya varios los casos de éxito conocidos en empresas grandes y en diversos sectores que han optado por seleccionar las herramientas ofrecidas por Microsoft para realizar sus proyectos tal vez los casos que más se resaltan son los de Avianca y las Empresas Públicas de Medellín por la necesidad y alta integración de sistemas con los que ya contaban y la necesidad de ofrecer un mejor nivel de servicio en el caso de Avianca para sus clientes Externos y el caso de las Empresas Públicas de Medellín para sus Clientes internos y tomas de decisiones. CASO 110 Avianca surge de la integración de las aerolíneas colombianas Avianca, Sam y Aces, las cuales decidieron unir esfuerzos para ofrecer un servicio superior en calidad y cantidad: seguro, confiable, cálido, puntual, más eficiente y a precios más competitivos; con una mejor distribución de los vuelos en los horarios, aumento en las frecuencias y mayor cubrimiento. La integración de las compañías hizo necesaria una evaluación de los mejores sistemas de información. La entidad busca soluciones que le ofrezcan un mayor valor agregado sus usuarios. La Intranet de Deskubra es la primera solución que utiliza los beneficios del framework .NET Los desarrollos con Microsoft Visual Basic permitieron la creación de aplicaciones que permiten el manejo de las reservas, ventas y administración de los planes turísticos de este programa de Avianca. [PI142005] Productos y servicios - Microsoft SQL Server. Microsoft Visual Basic. Microsoft Visual Studio .NET. Microsoft Internet Information Services. Microsoft Windows 2000. CASO 211 EAFIT es un centro de educación superior ubicado en Medellín, Colombia, aprobado por el Ministerio de Educación Nacional, bajo el decreto 759 de mayo 6 de 1971. La Universidad cuenta con más de 7000 estudiantes en pre-grado y postgrado. La información de la página era estática. Se requería cambiar el diseño, volverla más dinámica, atractiva y que permitiera una actualización de la que el mismo estudiante fuera protagonista. 10 http://www.microsoft.com/colombia/casosdeexito/avianca.asp 11 http://www.microsoft.com/resources/casestudies/ 22/04/2005 22/04/2005 35 Se desarrollo un nuevo portal en Internet con el apoyo de los servicios de consultoría y capacitación de Microsoft. Así como la implementación de las soluciones Content Management Server, Microsoft SQL Server , Microsoft Internet Information Server, Microsoft Windows Server y Microsoft Visual Studio .NET. [PI152005] CASO 312 Empresas Públicas de Medellín es una entidad Industrial y Comercial del Estado, que tiene por objeto la prestación de los servicios públicos domiciliarios de acueducto, alcantarillado, energía, distribución de gas por red y telecomunicaciones. EEPPM requería un sistema que optimizara el análisis de información y la toma de decisiones, disminuyera los costos totales de propiedad, y que fuera compatible con las aplicaciones implementadas con anterioridad. Se logro agilización de procesos de toma de decisiones y análisis volumétrico de información, integración de diversos sistemas bajo una misma plataforma y disminución de costos de propiedad (TCO), a través de Office XP. Los beneficios han sido toma rápida de decisiones, disminución de costos, optimización de tiempos, aumento de productividad, y mayor análisis de información. [PI162005] Productos y servicios - Microsoft Office XP. Microsoft SQL Server 2000 Anexo se encuentran experiencias de dos organizaciones nacionales que utilizan para el desarrollo de sus aplicaciones herramientas similares o iguales a las seleccionadas pare el desarrollo de SIAP. Ver Anexos A y B 12 http://www.microsoft.com/colombia/casosdeexito/eeppm.asp 22/04/2005 36 8. ¿POR QUÉ SE SELECCIONARON ESTAS HERRAMIENTAS PARA SIAP? Desde el inicio del análisis y levantamiento de requerimientos de SIAP, se pensó que la mejor solución para la implementación del sistema era una herramienta que permitiera integrar de forma rápida y confiable los diferentes componentes que intervienen en una arquitectura multinivel. De acuerdo a la formación y al programa establecido por la carrera de Ingeniería de Sistemas de la Pontificia Universidad Javeriana se escogió inicialmente y a priori J2EE como herramienta de desarrollo y de componentes y en ORACLE como base de datos. Después de investigar y en la constante búsqueda de alternativas se encontró que .NET era una buena solución para resolver el problema inicial a través de VISUAL STUDIO .NET 2003 como herramienta para análisis, diseño e implementación de componentes puesto que es una herramienta con múltiples características y que permite realizar la codificación en múltiples lenguajes de programación como VISUAL BASIC Y C# .NET siendo estos dos lenguajes de sintaxis sencilla y orientados a objetos, lo cual permite realizar el desarrollo que se ajusta a las necesidades de una arquitectura multinivel y también por la fácil integración entre VISUAL STUDIO.NET y SQL SERVER 2000 independientemente del lenguaje de programación seleccionado. La elección de .Net como plataforma de desarrollo de la aplicación obedece a varios ítems. a) Durante los últimos años Microsoft se ha preocupado por hacer de su plataforma de desarrollo una herramienta para los analistas, diseñadores y desarrolladores de sistemas, bien sea una aplicación sencilla en consola o una aplicación Web robusta que incluya demasiados componentes, también se ha preocupado por ofrecer una gamma de lenguajes de programación para que los desarrolladores no se vean limitados a la hora de comenzar a codificar, Visual Basic, C#, C++ etc. b) Otra de las ventajas fuertes que permitió escoger .Net como herramienta para desarrollo, es la fácil integración que tiene con SQL Server, también permite una fácil integración con base de datos como Oracle, MySql, Access etc. pero La integración que tiene con SQL Server es bastante alta y da mucha confiabilidad a la hora de realizar la configuración puesto que el driver es nativo de Microsoft y no requiere gran cantidad de tiempo cuando se desarrolla y cuando se instala no requiere ningún tipo de configuración especial en la maquina o maquinas en donde se desee instalar la base de datos y la aplicación. c) El alto desempeño que ofrecen las aplicaciones desarrolladas sobre .Net debido a que la utilización de recursos del sistema operativo Windows es bastante alta y optima. d) Todas las herramientas utilizadas para el desarrollo de SIAP, incluyendo el sistema operativo son de la misma casa productora lo cual da un alto grado de confiabilidad, debido a que no se tienen tantos problemas de integración como sucede con otras herramientas. e) Visual Basic ha sido un lenguaje de programación bastante sencillo de utilizar por su simplicidad en la sintaxis y manera de operar, ahora que viene incluido dentro de la suite de productos de Visual Studio se detectó de que era la mejor opción para el desarrollo de SIAP, además permitía sin saber mucho del lenguaje ni de la plataforma encontrar bastantes fuentes de información y ejemplos en línea para realizar de forma mas rápida el desarrollo de SIAP. SIAP es un Proyecto pensado para ser llevado a cabo en aproximadamente 8 meses, incluyendo análisis, diseño e implementación, se encontró que la selección de estas herramientas ofrecía un ahorro de tiempo principalmente en el proceso de codificación, lo cual permite cumplir con el cronograma establecido, los requerimientos iniciales y los objetivos planteados en la etapa inicial. 37 Las dos grandes alternativas que se tuvieron en cuenta para llevar a cabo este proyecto fueron .NET y J2EE, debido al poco conocimiento de otras plataformas con estas características. Este proyecto no tiene como objetivo presentar ventajas y desventajas de las herramientas a utilizar, según la experiencia de cada uno de los integrantes de este Proyecto, después de conocer estas dos tecnologías, que en el caso de J2EE se trabajó durante la Carrera y .NET se conoció laboralmente, adicional a esto, se encontró una oportunidad de incursionar en una Arquitectura diferente a la que se trabaja en las asignaturas de la Carrera. 38 9. ¿POR QUÉ UNA APLICACIÓN WEB? Después del auge de las arquitecturas cliente servidor y más aún cuando hoy los desarrollos de software tienden hacia arquitecturas multinivel, se tomo como decisión para el desarrollo de SIAP ir con la tendencia actual utilizando una arquitectura multinivel para brindar todos los componentes necesarios a la carrera para la buena gestión de los proyectos de grado. La selección, una aplicación Web, es la necesidad de todas las personas que intervienen en el proceso de las asignaturas de proyecto de grado I y II, debido a que se requiere una constante entrega de información y una base de datos centralizada de esta, se intuyo que la aplicación debió ser Web con una disponibilidad de 7X24. De esta forma tanto el coordinador de proyectos de grado como las directivas de la carrera, directores de proyecto, estudiantes involucrados y personas interesadas puedan tener una herramienta constante de información la cual permite de forma rápida y sencilla desde cualquier computador que posea una conexión a Internet realizar la gestión de los proyectos de grado, la administración de los mismo o la consulta en línea de los documentos publicados de estos proyectos. Con un aplicación Web se tiene la ventaja de que las actualizaciones se hacen de parte del servidor y no en la parte del cliente lo cual hace mas fácil la mantenibilidad de la herramienta, debido a que no se requiere que todas las personas que utilicen la aplicación requieran ningún tipo de componentes o requerimientos especiales para el uso de esta, de todas formas hay cosas básicas que se deben tener en cuenta para poder utilizar la aplicación - tener un computador con conexión a Internet Internet Explorer 5.0 en adelante o equivalente Estos dos requerimientos son bastante comunes en el mundo hoy en día y para las personas que deben intervenir en el proceso directores, estudiantes y el departamento en su mayoría cuentan con estos dos requerimientos para el que hacer de sus tareas diarias, lo cual hace suponer que el uso de SIAP puede llegar a ser bastante alto, más aun si se tiene en cuenta que mantener una aplicación Web de estas características ahorrara el tiempo de las personas de desplazamiento hasta la Universidad y hasta las reuniones con sus respectivos directores cuando se deben realizar las entregas de los diferentes documentos, de esta forma se deben llegar a optimizar los diferentes procesos de estas asignaturas en forma significativa. Otro de los principales motivos para seleccionar una aplicación Web es la facilidad que existe cuando se debe hacer mantenimiento en el servidor de aplicaciones o en el de base de datos pues se puede utilizar un servidor alterno temporal para el caso del servidor de aplicaciones y en caso de que sea el de base de datos se puede utilizar un servidor temporal alterno y realizar la sincronización cuando sea necesario. VENTAJAS DE UNA ARQUITECTURA MULTINIVEL 13 13 - Tiene todas las ventajas de la arquitectura Cliente – Servidor • Se Basa en la noción de servicio: un servidor es el que realiza la prestación de servicios a los clientes que desean acceder a este. http://minerva.javeriana.edu.co/~cbustaca/iy30_2004/Presentaciones/arquitecturas_software01.pdf 02/30/2005 39 • • • • • Escalabilidad “vertical” : se puede hacer que un servidor crezca en memoria en caso de ser requerido. Escalabilidad “horizontal”: se puede hacer que un servidor cuente con varios discos duros en caso de ser necesario. Hardware y software en diferentes sistemas operativos heterogéneos: el sistema operativo de los clientes es independiente tanto de el del servidor como del de los demás clientes Robustez: permite presentar aplicaciones mas completas, seguras y fiables, puesto que todo se encuentra centralizado e un solo lugar El servidor es independiente de los fallos en el cliente: si un computador de un cliente falla esto es transparente para el servidor y no interfiere con su operación. - Más flexibilidad y escalabilidad: mantener las aplicaciones es más sencillo y actualizarlas requiere de un menor tiempo. - Niveles pueden actualizarse / remplazarse independientemente o con cambios de requisitos o de tecnología: es mas fácil realizar modificaciones de hardware o de software - Un control más fino de la carga del servidor permite o evitar sobrecarga del servidor o equilibrar la carga entre servidores o conseguir tiempo de respuesta más bajo [PI62005] 40 10. ANÁLISIS DE LA EXPERIENCIA DE ACUERDO A LOS COMPONENTES Para el desarrollo de SIAP los componentes seleccionados fueron acertados y permitieron una rápida y fácil codificación e integración en la aplicación. Durante la etapa de desarrollo de SIAP, el quipo de trabajo tuvo que vivir nuevas experiencias e investigar sobre las nuevas tecnologías que se están utilizando, la fácil integración de VISUAL STUDIO 2003 con SQL SERVER 2000 y VISUAL SOURCE SAFE, permitió realizar una buena gestión del proyecto haciendo de este un proyecto con altos estándares de calidad y con un buen manejo para el control de código fuente y de versiones. VISUAL STUDIO 2003 Y SQL SERVER 2000, permitieron ahorrar tiempo con las diferentes opciones incluidas como la que se presenta a continuación. a) Presentar una consulta sobre la base de datos en pantalla i. Se utiliza la conexión a la base de datos existente para hacer la consulta ii. Se carga la consulta en un DataSet esta es una representación de la consulta en memoria, conservando todas las propiedades de esta, nombres de los campos tipos de datos etc. iii. Se crea un DataGrid que es la representación de la consulta en la interfaz que se presenta al usuario. iv. Se asigna el DataSet al DataGrid, de esta forma la consulta es presentada al usuario final b) Llenar una lista de opciones para seleccionar en pantalla. i. Se utiliza la conexión a la base de datos existente para hacer la consulta ii. Se carga la consulta en un DataSet esta es una representación de la consulta en memoria, conservando todas las propiedades de esta, nombres de los campos tipos de datos etc. 41 iii. Se crea un DropDownList que es el que presentara la lista al usuario final iv. Se asigna el DataSet al DropDownList, de esta forma configurándolo en la forma correcta se tiene una lista de opciones que se presenta al usuario final. En los dos ejemplos anteriores se enumera la lista de pasos para realizar dos procedimientos básicos que se realizan en SIAP, es por esto que ASP .NET y SQL SERVER 2000 permitieron que el desarrollo de SIAP sea más fácil de llevar a cabo y no se perdiera mucho tiempo en cuestiones básicas como lo es la presentación de datos en pantalla. Por otra parte el uso de Visual Sorce Safe con Visual Studio .Net, permitió que el control de versiones tanto de documentación como de código fuente fuera más fácil y segura. Utilizar Visual Source Safe permitió que el código de la aplicación estuviera en una base de datos, permitiendo de esta forma que siempre estuviera en un solo lugar la última versión de este y administrándolo de forma confiable y permitiendo llevar un control de back up’s de la aplicación y de la base de datos. Figura 4. Diagrama Versiones de la aplicación. Fuente: Visual Source Safe. 42 Figura 5. Diagrama de Versiones de la base de datos. Fuente: Visual Source Safe. Mantener el código de la aplicación de Visual Source Safe, permitió que no existiera un desorden de este como sucede en proyectos de mediana envergadura y más aun cuando el proyecto se desarrollo en diferentes equipos que estaban bajo la misma red, de esta forma al proteger y desproteger los archivos para que sean utilizados por un usuario se tenía completa seguridad de que otro usuario no podría cambiar este archivo en el mismo instante de tiempo y también que siempre se estarían viendo los últimos cambios sobre este archivo así se garantiza la sincronía entre las diferentes líneas de código y los desarrolladores pueden realizar la codificación sin preocuparse por tener que invertir tiempo en sincronizar los archivos en una sola versión. Figura 6. Diagrama SIAP en Visual Source Safe. Fuente: Visual Source Safe. Los documentos como este y los manuales de la aplicación también fueron incluidos dentro de Visual Source Safe y de esta forma se mantuvo un correcto manejo de las diferentes versiones que estos presentaron. 43 Figura 7. Diagrama Documentación. Fuente: Visual Source Safe. El ítem que aparece con un icono en rojo en el menú de la izquierda denota que este archivo esta en uso indicando cual es el usuario que lo tiene desprotegido en ese momento y la ruta en la que se ubico para su edición. Las tres herramientas mencionadas anteriormente hicieron que SIAP no presentara grandes demoras en los diferentes procesos y permitiendo al equipo de trabajo cumplir con el cronograma de actividades establecido inicialmente. 44 11. METODOLOGÍA DE DESARROLLO El desarrollo de software es una tarea sumamente importante y a medida que pasa el tiempo, la tecnología requiere que los sistemas sean cada vez más complejos. Estos desarrollos de software se hacen riesgosos y difíciles de administrar, por esta razón, la metodología es un proceso que sirve como base de desarrollo, si no se llevase a cabo una metodología, sería más difícil garantizar la satisfacción de los clientes y la calidad de los productos, y se generaría bastante desorden entre los desarrolladores e implicados en un proyecto de software. Sin embargo, muchas veces no se toma en cuenta el utilizar una metodología adecuada, sobre todo cuando se trata de proyectos pequeños de dos o tres meses. Lo que se hace con este tipo de proyectos es separar rápidamente el aplicativo en procesos, cada proceso en funciones, y por cada función determinar un tiempo aproximado de desarrollo. Cuando los proyectos que se van a desarrollar son de mayor envergadura, ahí si toma sentido el basarse en una metodología de desarrollo, y se empezó a buscar cual sería la más apropiada para éste. Lo cierto es que muchas veces no se encuentra una metodología que sea la más adecuada y se termina haciendo o diseñando una metodología propia, algo que por supuesto no esta mal, siempre y cuando cumpla con el objetivo. Muchas veces se realiza el diseño de un software de manera rígida, con los requerimientos que el cliente solicitó, de tal manera que cuando el cliente en la etapa final (etapa de prueba), solicita un cambio se hace muy difícil de realizar, pues si se hace, altera muchas cosas que no se habían previsto, y es justo éste, uno de los factores que ocasiona un atraso en el proyecto y por tanto la incomodidad del desarrollador por no cumplir con el cambio solicitado y el malestar por parte del cliente por no tomar en cuenta su pedido. Obviamente para evitar estos incidentes se debe haber llegado a un acuerdo formal con el cliente, al inicio del proyecto, de tal manera que cada cambio o modificación no perjudique al desarrollo del mismo. [PI12004] Por experiencia, muchas veces los usuarios finales, se dan cuenta de las cosas que dejaron de mencionar, recién en la etapa final del proyecto, pese a que se les mostró un prototipo del software en la etapa inicial del proyecto.14 El modelo diente de sierra muestra las percepciones del sistema por parte del usuario y el desarrollador del software en diferentes niveles de abstracción a lo largo del tiempo. En cada fase de desarrollo del proyecto, el contacto directo con el cliente permite la retroalimentación del proceso y la adaptación a las necesidades y requerimientos. Sin llevar un proceso exhaustivo y excesivo de documentación, se recolectaron los puntos críticos y de corrección que el cliente entregaba a los desarrolladores. Al inicio del proyecto los desarrolladores y el cliente están en el mismo nivel de abstracción,. Durante el desarrollo estos puntos de vista difieren un poco. El usuario permanece en el nivel de los requerimientos, mientras que los desarrolladores se enfocan en la factibilidad. El proceso de desarrollo de software tiene que asegurar que ambos puntos de vista se reúnan al final del proyecto. El modelo de diente de sierra logra este objetivo introduciendo nuevas actividades que fueron acordadas junto con el cliente, para esto se incluyeron actividades tales como reuniones, pruebas junto con el cliente y aclaración de los requerimientos. 14 http://www.informatizate.net/articulos/metodologias_de_desarrollo_de_software_07062004.html 28/08/2004 45 El espacio entre estos niveles de abstracción corresponde al hueco entre la percepción del sistema que tiene el usuario y la que tiene el desarrollador. Para asegurar que se reúnan al final, durante el desarrollo se introducen puntos de revisión. Esto se logra, por lo general, haciendo que el cliente se involucre en su nivel de abstracción. Por ejemplo, después de las fases de requerimientos y diseño de un sistema de software interactivo, los desarrolladores pueden elaborar prototipos de las secuencias de pantallas desde el punto de vista de los casos de uso que describen los requerimientos funcionales. Este prototipo se muestra al cliente que podrá evaluar si éste satisface los requerimientos funcionales. Repitiendo este proceso varias veces, el gerente se asegura que las trayectorias se intersecten durante el desarrollo. Esto hace que sea mucho más probable que se encuentren al final de esta etapa. A menudo, el prototipo es ilustrativo, debido a que necesita construirse rápido para mostrar la funcionalidad del sistema. Sin importar que tan realista sea, el prototipo todavía es solo un modelo del sistema. Los escenarios que se muestren serán artificiales y representan solamente una pequeña fracción de la funcionalidad requerida.15 [ISB04]. 11.1 APORTES DE LA METODOLOGÍA Esta metodología escogida fue para el proyecto una gran experiencia en desarrollo, puesto que durante la carrera, los proyectos estaban orientados al no uso de una metodología específica, debido a que estos no requerían de mucho tiempo y recursos. En SIAP, todo fue distinto, y la metodología de diente de sierra, ayudó bastante, sobre todo para entender los requerimientos del cliente, en esta metodología se maneja una gran interacción con ellos, se muestran los avances del proyecto según etapas, y en estas reuniones, se podían aclarar dos aspectos bastante importantes; primero saber si lo que se le esta mostrando es lo acordado según reuniones anteriores, y segundo; establecer los siguientes aspectos a tratar para la próxima reunión. Dado que hay una gran comunicación con el cliente, se abre un espacio para los posibles cambios, de modo que estos no afectaron de manera crítica a SIAP, brindando la posibilidad de corregir los problemas en el tiempo debido, y no cuando hay bastantes acumulados. 11.2 PROBLEMAS DE LA METODOLOGÍA La experiencia de trabajar con esta metodología durante el desarrollo de SIAP, ayudó a darse cuenta de que la comunicación entre desarrolladores y clientes es esencial, sin esta, se generan bastantes dudas y ambigüedades. Cuando no era posible establecer reuniones con el cliente, generalmente era necesario suponer, de modo que los desarrolladores deben estar realmente implicados en la lógica del negocio, de todas formas, había aspectos que se debían tener en cuenta junto con la opinión directa del cliente, por lo tanto, si no había comunicación directa, esto generaba atraso en el proyecto. SIAP es una aplicación como casi todas que se presenta para el cliente. 15 Ingeniería de Software Orientado a Objetos, Bruegge Bernd, Dutoit Allen 46 En este caso el cliente la Carrera de ingeniería de Sistemas de la Pontificia Universidad Javeriana, lo cual hacía que el cliente (La Carrera), debía dar su visto bueno para poder continuar con la siguiente etapa, si este visto bueno era inseguro continuar con el proyecto pues se corre el riesgo de tener que hacer modificaciones de fondo en alguna etapa posterior de este y por la metodología de desarrollo esto no estaba contemplado, lo que si estaba contemplado era que el cliente diera un visto negativo haciendo de esta forma retroceder y corregir sin tener que detenerse por completo a re-definir. Una vez obtenido el visto bueno o negativo se pactaba una nueva fecha de reunión, en caso de que esta fecha fuera incumplida por cualquier motivo también se podía generar retraso en el proyecto. 11.3 MODIFICACIONES A LA METODOLOGÍA Una metodología debe ajustarse a la forma de trabajo de los desarrolladores, a los constantes cambios de un negocio y a las exigencias del cliente para que el proceso sea lo más cómodo posible, por esta razón, aunque se trate de seguir la metodología al pie de la letra, es claro que se ajusta al desarrollador, al proyecto, al cliente y no al contrario, permitiendo mayor flexibilidad. En otras ocasiones las reuniones no pudieron ser llevadas a cabo y tuvieron que ser realizadas mediante conversación telefónica, correo electrónico o MSN Messenger, para poder obtener el visto bueno del cliente, si bien la metodología no plantea que la reunión tenga que ser presencial es lo ideal pues hablando con el cliente directamente es que se ven reflejadas sus necesidades y preocupaciones. El tiempo promedio dedicado especialmente a la codificación de este Sistema es de aproximadamente 20 horas semanales de trabajo en grupo, con máquinas independientes, adicionalmente cada integrante dedicaba alrededor de 10 horas semanales de manera personal. Se contaba con reuniones semanales de 1 hora junto con el Director del Proyecto con el fin de aclarar funcionalidades en SIAP, y detectar los posibles errores y posibles cambios. Como se puede ver las modificaciones a la metodología no fueron grandes ni sustanciales fueron más pequeños ajustes que se realizaron sobre la marcha para comodidad de todas las personas involucradas en el proceso y poder cumplir con el cronograma establecido. 11.4 ¿POR QUE DIENTE DE SIERRA Y NO OTRA? 16 Para poder definir que tipo de proceso de desarrollo se llevaría a cabo, tratamos de destacar las características más relevantes de cada una de las metodologías que se usan actualmente. Se encontró que estos procesos de desarrollo se han clasificado en dos grandes grupos, los métodos ligeros y los métodos pesados, la diferencia fundamental entre ambos es que mientras los métodos pesados intentan conseguir el objetivo común por medio de orden y documentación, los métodos ligeros tratan de mejorar la calidad del software por medio de una comunicación directa e inmediata entre las personas que intervienen en el proceso. [PI182004]. Las principales características del método RUP son: 16 http://www.javahispano.org/articles.article.action?id=76 20/08/2004 47 - Es pesado Esta basado en roles Es muy organizativo Requiere mucha documentación Para grandes proyectos en alcance de tiempo y recursos Las principales características de XP son: - Es ligero Es muy cercano al desarrollo Esta basado en historias de usuarios. Hay fuerte comunicación con el cliente Se programa por parejas Se realizan pruebas como base de la funcionalidad Es pobre en documentación No requiere mucha organización Es adaptable a los cambios Las principales características de FDD son: - Es un método ligero Requiere una documentación no muy pesada Hay jerarquías dentro del equipo de desarrollo Para proyectos de menos de 1 año Produce software funcional que el cliente puede ver y monitorizar Se diseña y se implementa en base a las funcionalidades Las características de diente de sierra: - Comunicación directa con el cliente Se van mostrando funcionalidades hasta que sean aprobadas por el cliente Es abierta al cambio Se pueden corregir problemas a tiempo No necesita ser pesada con la documentación Las características relevantes de diente de tiburón son: - Hay comunicación directa con los clientes gerenciales Se muestran funcionalidades durante el desarrollo Se pueden corregir problemas a tiempo Se adapta al cambio Se muestran funcionalidades a dos tipos de clientes Puede implicar doble trabajo para dos tipos de clientes El proceso de desarrollo tiene que ayudar a escribir software, es necesario definir reglas para alcanzar el éxito en el proyecto, pero dejando la libertad suficiente para no agobiar a los participantes. 48 Según estas características que se encontraron para cada modelo de desarrollo se piensa que el método diente de sierra es el que mejor se ajusta a las necesidades del proyecto específico, ya que tiene muchas ventajas como se menciono anteriormente. En el modelo de diente de sierra, se requiere gran comunicación con los clientes, y se hace muy importante que periódicamente se estén dando muestras del producto en sí, debido a esto, es posible aprovechar la gran comunicación que se puede tener en este caso particular con los clientes de SIAP, se pretendió utilizar el concepto general de diente de sierra y aplicarlo en la medida en que no se viera afectado el tiempo disponible para el desarrollo del software, es por esto que la metodología sirvió como apoyo y para brindar comodidad en la forma de trabajo, pero nunca fue un propósito basar este proyecto de grado en la metodología, por lo cual la forma de trabajo de cada uno de los participantes tomó gran participación en las actividades de desarrollo. Durante el desarrollo de SIAP, se pudo observar que un producto de software no tiene los requerimientos iniciales totalmente claros hasta interactuar con el software. Por esta razón se hace necesario comunicación al usuario para mostrar interfaces y procedimientos basados en prototipos para familiarizar al usuario y así tener un mayor grado de retroalimentación con él. Los objetivos del software fueron inicialmente definidos, pero gracias a esta metodología se tuvo la posibilidad de corregir errores sin alterar los tiempos definidos, la activa participación del usuario en etapas iniciales, intermedias y finales hicieron un gran aporte para el entendimiento de la lógica del negocio, por ser ellos quienes trasmiten lo que el Sistemas debe cumplir. También esta metodología fue escogida realmente por ser una metodología que se clasifica entre las ligeras, lo cual significa que se concentra más en el trabajo con los clientes, y en el desarrollo del producto como tal, dejando a la documentación como una guía para los desarrolladores que por cuestiones de tiempo era bastante difícil llevar a cabo. El desarrollo de software se baso en nuevas tecnologías y son muy recientes. Debido a esto, el equipo de desarrollo tuvo que aprender con la tecnología paralelamente con el desarrollo. Con todo esto podemos resumir en que ésta metodología permite desarrollar versiones cada vez más completas donde el usuario final puede ver un avance progresivo, junto con la integración entre las funcionalidades de SIAP, diseño e implementación de nuevos requerimientos que con otras metodologías consumen demasiado tiempo que es realmente escaso en esta oportunidad. 49 12. DECISIONES DE DISEÑO DE BASE DE DATOS El diseño de la base de datos obedece a la necesidad de tener un modelo flexible que permita realizar cambios constantemente y que permita que el diseño de este se ajuste a las necesidades del negocio y no al revés. El modelo de base de datos es de entidad-relación de esta forma se garantiza que el modelo cumpla con los requerimientos del negocio y que se puede soportar en la base de datos toda la información que se desee administrar o manipular desde la aplicación. Este modelo se trato de llevar al máximo a tercera forma normal para no tener dependencias directas sobre las tablas y así poderlo ajustar a los diferentes datos cambiantes que se puedan presentar. Para poder llevar a cabo este diseño de base de datos el equipo de trabajo definió un estándar de base de datos que se presenta en los siguientes puntos 12.1 ESTANDAR DE BASE DE DATOS 12.1.1 Base de Datos - debe tener el mismo nombre de la aplicación en este caso SIAP 12.1.2 Tablas Deben ser nombradas de la siguiente forma sin excepción. Anteponer el nombre de la base de datos antes del nombre de la tabla en este caso SIAP Después del nombre de la base de datos se debe separar con “_” (under line) para separar de la segunda palabra Se debe incluir una segunda palabra que indique la función de la tabla La primera letra de cada palabra debe estar en mayúsculas 50 Figura 8. Diagrama Nombrar Tablas. Fuente: SIAP. 12.1.3 Campos de las tablas - El nombre de todos los campos debe estar en mayúsculas completamente El nombre del campo debe describir su funcionalidad sin ambigüedades. El campo descripción es obligatorio para todos los campos, haciendo mención en este del fin de cada campo dentro de la base de datos. Si el nombre del campo se compone de dos palabras estas se deben separar por “_” (under line) 51 Figura 9. Diagrama Campos de las Tablas. Fuente: SIAP. 12.1.4 Store Procedures - Deben ir precedidos del nombre PROCEDURE y después el nombre que se desee sin ningún estándar adicional. 52 12.2 DIAGRAMA ENTIDAD – RELACIÓN Figura 10. Diagrama Entidad Relación. Fuente: SIAP. 53 13. DIAGRAMAS DE LA APLICACIÓN 13.1 DEPLOYMENT Figura 11. Diagrama de componentes que intervienen en SIAP. Fuente: SIAP. En este diagrama se representa la forma en que SIAP esta diseñado, a la izquierda se encuentran los diversos clientes desde sus hogares, oficinas o cualquier lugar remoto y en la parte de la derecha se ilustra la forma en la que se debe encontrar la aplicación y la base de datos del proyecto, aunque puede que tanto el servidor de aplicaciones como el de base de datos se encuentren en un mismo servidor. 54 13.2 CASOS DE USO Figura 12. Diagrama de casos de uso coordinador – director SIAP. Fuente: SIAP. 55 Figura 13. Diagrama de casos de uso anónimo – estudiante SIAP. Fuente: SIAP. 56 13.3 CLASES Figura 14. Diagrama de clases SIAP. Fuente: SIAP. 57 13.4 COMPONENTES Cliente inicia Browser, ingresa URL de la pagina del proyecto para autenticación y uso de la aplicación Cliente Browser Inicia proceso de autenticación se retorna respuesta al cliente de exito o fracaso en el proceso Servidor de Aplicaciones Servidor de Bases de datos Interfaz Base de datos SIAP Conexion Base datos Clases Servidor en donde se encuentra alojada la Aplicación Web, la logica del negocio y las diferentes clases, en esta parte es donde también se maneja la sesión de los usuarios Servidor de base de datos de la aplicación Repositorio de Datos de Proyectos, Docentes, Estudiantes etc.. Se realiza el proceso de autenticación contra la base de datos Figura 15. Diagrama de componentes SIAP. Fuente: SIAP. A la izquierda se encuentran los clientes/usuarios de la aplicación estos pueden ser usuarios que se encuentren dentro del campus de la Universidad como fuera de este, todos estos clientes bien sean equipos de escritorio o equipos portátiles independientes del sistema operativo, acceden a la aplicación a través de Internet al servidor de aplicaciones es en este servidor que se encuentra dentro de la Universidad en donde reside la aplicación Web, desarrollada sobre ASP .NET, esta aplicación a su vez interactúa con el repositorio de datos de la aplicación que también se encuentra dentro de la Universidad. Existe la posibilidad de mantener un servidor de respaldo para la base de datos y/o la aplicación en caso de que alguno de los dos principales falle, esto no es un requerimiento de la aplicación pero si es lo recomendado al menos para almacenar las versiones de la base de datos. 58 14. ESTADÍSTICAS Y LIMITACIONES Ahora se describen las estadísticas y limitaciones en cuanto a la cantidad de usuarios, las principales características de la base de datos SQL SERVER 2000 y la cantidad de peticiones al servidor de aplicaciones. 14.1 CANTIDAD DE USUARIOS El número de usuarios para administrar dentro de la aplicación esta determinado por los requerimientos y recursos del servidor de base de datos y del servidor de aplicaciones. 14.2 ESTADISTICAS DE LA BASE DE DATOS SQL SERVER 200017 CARACTERISTICAS No. Procesadores en paralelo Instancias de servidores sobre un ordenador Procesamiento de consulta (rapidez) Sistemas operativos Arquitectura cliente-servidor Consola o interfaz para administrar la base de datos Escalabilidad Número de usuarios conectados Limite de usuarios concurrentes Registro de transacciones Fiabilidad de transacción Seguridad Integrada Restauración de datos Soporta el uso de interfaz adicionales Límite de almacenaje de la base de datos Capacidad de réplica Índice clisterizado Administración remota de base de datos Admite Triggers Planes de copia de seguridad Admite procedimientos almacenados Relaciones de tabla e integridad de referencia Funciones Servicio de transformación de datos Metadatos Tabla 5. Características SQL SERVER. [PI32005]. 17 SQL SERVER 16 Ilimitado Muy alto Windows NT, Windows 2000, Windows XP SI SI Ayuda de procesadores multisimétricos Ilimitado Ilimitado SI SI A nivel de usuarios de SQL y de sistema operativo Cualquier día y hora de copias anteriores Visual Studio Data Tools y SQL Server Enterprise Manager Ilimitado. Inclusive fragmentada en más de un disco. Si. Suscriptor y publicador SI SI SI SI SI SI SI SI SI http://www.islasoft.com/Producto/Diferencias_SQL_Server_Office.pdf 15/04/2005 59 14.3 CANTIDAD DE PETICIONES AL SERVIDOR DE APLICACIONES El número de usuarios o peticiones que se pueden hacer al servidor de aplicaciones es decir la cantidad de usuarios que pueden acceder a la aplicación a la vez esta determinado por los requerimientos y recursos del servidor de aplicaciones memoria, procesador etc. 60 15. REQUERIMIENTOS A continuación se enuncian los requerimientos en cuanto a Hardware y Software que deben tener el servidor de aplicaciones, el sistema y el cliente. 15.1 POR PARTE DEL SERVIDOR DE APLICACIONES18 ASP.NET es compatible con Windows 2000 (Professional, Server y Advanced Server), con Windows XP Professional y con la familia de Windows Server 2003, tanto para las aplicaciones de cliente como de servidor. Además, para desarrollar aplicaciones de servidor ASP.NET, se requiere también el siguiente software: • Windows 2000 Server o Advanced Server con Service Pack 2, Windows XP Professional o de 64 bits, o uno de los productos de la familia de Windows Server 2003. MDAC 2.7 para Microsoft Access Data Servicios de Internet Information Server • • Nota Los servicios Web XML creados con ASP.NET son compatibles con las mismas plataformas que admite ASP.NET. Sin embargo, los clientes de los servicios Web XML son compatibles con todas las plataformas que admite Microsoft .NET Framework. En el caso de la familia de Microsoft Windows Server 2003, ASP.NET se instala como una función en el sistema operativo. Para implementar aplicaciones Web ASP.NET en un servidor de producción, debe habilitar las funciones ASP.NET e IIS en el servidor de producción antes de distribuir la aplicación. En Microsoft Windows XP y Windows 2000 Server, ASP.NET se instala con .NET Framework, ya sea de forma independiente o formando parte de Visual Studio .NET. Para implementar aplicaciones Web ASP.NET en un servidor de producción, debe asegurarse de que los Servicios de Internet Information Server (IIS) estén instalados y ejecutándose en el servidor antes de instalar .NET Framework. Para obtener información sobre la forma de instalar IIS, consulte la documentación del sistema operativo. [PI52005]. 15.2 REQUERIMIENTOS DEL SISTEMA En la tabla siguiente se presentan los requerimientos mínimos necesarios para el funcionamiento de Microsoft .NET Framework 1.1 SDK y .NET Framework 1.1 Redistributable. .NET Framework 1.1 SDK Para instalar .NET Framework 1.1 SDK, se requiere: Requerimientos mínimos Procesador • Sistema .NET Framework 1.1 SDK puede ser instalado en las siguientes plataformas: 18 Servidor (un computador con capacidad de servidor): procesador tipo133-MHz Intel Pentium, o un AMD Opteron, AMD Athlon64 o un procesador AMD Athlon XP. http://msdn.microsoft.com/netframework/technologyinfo/sysreqs/default.aspx 25/03/2005 61 Operativo • Microsoft Windows® Server 2003 • Windows 2000, con el ultimo service pack de Windows y actualizaciones criticas disponibles del sitio Microsoft Security Web site • Windows XP (Windows XP Professional es requerido para correr ASP.NET) Nota: El Framework SDK 1.1 de .NET no puede ser instalado en computadores de 64-bits; Windows Millennium Edition y Microsoft Windows NT® 4.0 no son soportados por esta edición. • Memoria Servidor: 128 MB mínimo de RAM, 256 MB recomendado Disco Duro 660 MB de espacio libre requerido en el disco duro y 190 MB adicionales para la instalación (850 MB en total) Pantalla 800 x 600 o resolución superior, funciona desde 256 colores Otros • • • Para instalar el .NET Framework SDK versión 1.1 se debe instalar primero el .NET Framework 1.1 Redistributable. Este se puede descargar desde la página de Microsoft. Microsoft Internet Explorer 5.01 o superior es requerido Instalar los últimos Windows service packs y las ultimas actualizaciones criticas Tabla 6. Requerimientos Framework versión 1.1 para el servidor 15.3 POR PARTE DEL CLIENTE19 Requerimientos mínimos Procesador • Cliente (un computador que no opera con capacidad de servidor): procesador tipo 90-megahertz (MHz) Intel Pentium, o un procesador AMD Opteron, AMD Athlon64 o AMD Athlon XP. Memoria • Pantalla 800 x 600 o resolución superior, funciona desde 256 colores Otros • • Cliente: 32 megabytes (MB) mínimo de RAM, 96 MB recomendado Microsoft Internet Explorer 5.01 o superior es requerido Instalar los últimos Windows service packs y las ultimas actualizaciones criticas Tabla 7. Requerimientos Framework versión 1.1 para el cliente [PI52005] 19 http://msdn.microsoft.com/netframework/technologyinfo/sysreqs/default.aspx 28/03/2008 62 16. ALCANCE DEL SISTEMA El proyecto pretende entregar un sistema de información a la Carrera de Ingeniería de Sistemas, este sistema de información (SIAP) estará aplicado a la administración de proyectos de grado, y que en un futuro se espera pueda ser aplicado por cualquier carrera de la Universidad y no solamente en la Carrera de Ingeniería de Sistemas. El sistema contará con opciones para crear, consultar, eliminar, modificar los datos de los proyectos de grado según unos roles establecidos que garanticen un nivel de seguridad optimo para el sistema. Este sistema deberá permitir a la administración de la carrera, a los directores de proyecto y a los estudiantes que cursen las asignaturas de proyecto de grado I y II, realizar de una forma mas rápida y adecuada la gestión y administración de estos de forma que los tiempos entre los procesos actuales se vean afectados en forma positiva y la labor de las distintas personas que intervienen en estos se beneficien de manera directa de SIAP. 63 17. EXPLICACIÓN DEL SISTEMA El sistema esta compuesto por diferentes módulos lo cual le da una mayor facilidad si se requiere agregar nuevos módulos o remover alguno de los existentes. La modularidad de la aplicación la hace más robusta y acoplable a cualquier carrera que maneje los proyectos de grado en forma similar, de esta forma no se debe ver afectado el desarrollo una vez concluida esta etapa y simplemente se deben hacer ajustes mínimos necesarios en caso de que se desee implantar en un lugar diferente a la Carrera de ingeniería de Sistemas de la Pontificia Universidad Javeriana. 17.1 MÓDULOS Un modulo es un componente de la aplicación, en el se encuentra funcionalidad para poder realizar la gestión bien sea de los proyectos de grado, docentes, directores de proyecto, jurados o estudiantes. 17.1.1 Módulo Administración Departamento (Actor Coordinador de proyectos de grado) - Ingreso y verificación de estudiantes, asignación de proyectos correspondientes. - Llevar a cabo la preinscripción de estudiantes. - Consulta de proyectos, eliminación y actualización y estado de los mismos - Envió de correos electrónicos a los diferentes grupos y directores de proyecto. - Asignación de fechas y administración del cronograma de actividades. - Ingreso, eliminación, modificación de los directores de proyecto de grado. - Habilitar cuentas para los diferentes proyectos, estudiantes y directores. - Ingresa y asignación de jurados de proyecto manual y automáticamente. - Exportar las diferentes consultas a Excel e imprimirlas 17.1.2 Módulo Administración (Actor Director de proyecto) - Consulta de proyectos y estado de los mismos de los que es director. - Consulta de entregables de los estudiantes. - Envió de correos electrónicos. - Consultar y actualizar datos personales. 17.1.3 Módulo Administración Estudiantes (Actor Estudiante proyecto de grado) - Consulta de proyecto(s) y estado del mismo - Ingreso de entregables del proyecto - Consulta entregas - Enviar Correos - Consultar y Actualizar datos Personales 17.1.4 Módulo Consultas (Actor: usuario del sistema) - Consultar información completa y actualizada de los proyectos de grado que se manejan dentro del sistema. - Consultar el documento final de los diferentes proyectos ya terminados por diferentes filtros de búsqueda. 64 17.2 - - - - 17.3 ROLES Coordinador: este es el rol principal de la aplicación y requiere autenticación, tiene todos los permisos sobre esta, lo cual le permite, Consultar, actualizar y eliminar información que se encuentre dentro de SIAP, también tiene los permisos para crear y administrar los cronogramas de las asignaturas proyecto de grado I y II y puede modificar el estado de los usuarios para que puedan o no ingresar a la aplicación. Director: este Rol requiere autenticación y le permite al usuario que lo sea consultar la información de los diferentes grupos sobre los cuales es director de proyecto, puede consultar las entregas que los estudiantes hayan hecho y también consultar y actualizar sus datos personales. Estudiantes: este rol permite que los estudiantes ingresen a la aplicación con un usuario y contraseña ya definidos y de esta forma consultar el cronograma de actividades y también subir los archivos de las diferentes actividades que están planeadas para el semestre si la actividad ya caduco en tiempo no se le permitirá ingresar esta entrega si no la siguiente. También se le permite consultar y actualizar sus datos. Usuario Anónimo: este usuario no requiere de una autenticación dentro del sistema y simplemente podrá consultar los documentos finales o los publicados en el cronograma una verlos proyectos estén terminados. ESTADOS A continuación se presenta la lista de estados que se manejan dentro de la aplicación para los diferentes objetos que esta maneja. ESTADO Coordinador Activo Coordinador Inactivo Estudiante Activo Retiro Temporal Retiro Definitivo Director Activo Director Inactivo Proyecto Activo Proyecto Inactivo Proyecto Finalizado Excluido Tabla 8. Estados en la aplicación. OBJETO Coordinador Coordinador Estudiante Estudiante Estudiante Director Director Proyecto Proyecto Proyecto Estudiante 65 18. EXPERIENCIAS DE SISTEMAS DE INFORMACIÓN SOBRE ASP.NET 18.1 EN LA UNIVERSIDAD Actualmente en la Pontificia Universidad Javeriana sede Bogotá no ha habido proyectos desarrollados que tengan las mismas características de SIAP, solo proyectos pequeños y no aplicables. 18.2 SIAP PIONERO EN DESARROLLO SOBRE ASP .NET EN LA CARRERA DE INGENIERÍA DE SISTEMAS DE LA PONTIFICIA UNIVERSIDAD JAVERIANA SIAP pretende ser el primer sistema de información completo desarrollado sobre herramientas Microsoft y puesto en ambiente de producción dentro de la Pontificia Universidad Javeriana sede Bogotá, para ser utilizado por miembros de la comunidad Javeriana. Para la Carrera de ingeniería de Sistemas de la universidad es importante también abrir la posibilidad para que se sigan presentando desarrollos como este y no solo que se desarrolle sobre un lineamiento si no que el estudiante de Ingeniería de sistemas este en capacidad de poder realizar un sistema como este en cualquier plataforma y tecnología existente. De esta forma SIAP se convierte en el primer proyecto de mediana envergadura en ser adoptado por una carrera de la universidad para su evaluación y posterior implantación desarrollado sobre ASP .NET. 18.3 SIAP UNA PUERTA ABIERTA PARA PRÓXIMOS PROYECTOS DE GRADO Para los futuros estudiantes que deseen cursar la asignatura de proyecto de grado SIAP es una puerta abierta, como se mencionó anteriormente esta compuesto por módulos lo cual hace que más adelante otros grupos interesados en este desarrollo, puedan intervenir realizando, sugerencias, mejoras y modificaciones a la aplicación para que esta preste un mejor servicio, estas modificaciones se irán presentando y se requerirán con el uso de la aplicación y sobre la marcha. Para los futuros grupos que se interesen en este proyecto SIAP también es una opción de investigación, por ejemplo se puede investigar en como integrar SIAP con los sistemas de información ya existentes en la facultad y en la Carrera, también se puede investigar sobre como integrarlo con otros sistemas de otras universidades o de otras partes del mundo o como agregarle componentes como Web Services para hacerlo más útil. Es por las razones anteriores por las que SIAP se puede convertir en una constante fuente de enriquecimiento para muchas personas de la Carrera de Ingeniería de Sistemas de la Pontificia Universidad Javeriana. Oportunidades de Crecimiento del Sistema El sistema puede crecer de muchas formas por ejemplo. - integrándolo con otras fuentes de información de la Universidad como ORBIS o RAI, para poder obtener la información de estas bases de datos y que sean congruentes. 66 - Creando nuevos módulos que permitan una mejor gestión de los proyectos. Implantándolo en otras carreras de la universidad, de esta forma se puede llegar a tener la necesidad de incluir nuevos módulos de acuerdo a las necesidades de estas. Son muchas las formas en las que un sistema de información como este puede llegar a crecer y a ser mas útil para la comunidad para la que presta servicio, la anterior es solo una idea de lo que se puede llegar a hacer, pero el crecimiento de este sistema esta dado por las sugerencias de los usuarios de la aplicación, directivas de la carrera, estudiantes, profesores, directores de proyecto etc. 67 19. POSIBILIDADES DE ADAPTACIÓN Y LIMITACIONES Inicialmente SIAP fue analizado, diseñado e implementado para la Carrera de Ingeniería de Sistemas de la Pontificia Universidad Javeriana, con las características y requerimientos propios de esta, aunque es posible llevar a cabo una adaptación de este Proyecto para otras carreras de la Universidad, siempre y cuando se maneje un esquema similar de los Proyectos de Grado, está adaptación implica realizar cambios a nivel de Base de Datos y de Código, también requiere de un estudio previo de los requerimientos que son particulares en cada caso. Por parte de la plataforma de desarrollo y de la Base de Datos seleccionada, estos cambios son factibles, la integración con otros sistemas de la Universidad son soportados por ambas herramientas. Visual Studio .NET, permite desde su entorno referenciar una Base de Datos Oracle o cualquier otra. De esta forma, a través de Vistas o Tablas temporales se puede realizar una integración de Datos. Figura 16. Visual Studio .NET, integración con Oracle. SQL Server por su parte, también permite realizar integración con otros Proveedores de Bases de Datos, como Oracle, Access, Paradox, etc. De esta forma también sería posible un manejo de datos desde SIAP hacia otros repositorios de Datos de la Universidad. 68 Figura 17. SQL Server, integración con Oracle SQL Server también permite importar o exportar mediante tareas programadas de la Base de Datos archivos de Excel para de esta forma poder generar desde y hacia SIAP, información previamente validada por los Sistemas con que cuenta la Universidad y que tienen de esta forma una posibilidad de ser integrados con SIAP. Figura 18. SQL Server, integración con Hojas de Cálculo Excel Esta posibilidad de adaptación se puede tener en cuenta como un plan a mediano plazo con otros grupos que cursen la asignatura de Proyectos de Grado y que esté interesados en obtener este conocimiento. Las limitaciones en la herramienta están básicamente en el diseño de base de datos en el cual se debe incluir un nuevo campo en todas las tablas para poder manejar un identificador de cada carrera, esto para poder utilizarlo en varias carreras simultáneamente con la misma base de datos, en cuanto al código se debe manejar una variable de sesión con la cual se pueda manejar la presentación de interfaces, la gran limitación que se tiene en este momento para realizar esta modificación es en cuanto al tiempo de desarrollo que esto implica, pero esto puede ser tenido en cuenta para la siguiente versión del sistema antes de que este sea puesto en ambiente de producción. 69 Una vez se puedan llevar a cabo las modificaciones anteriormente mencionadas se pueden tener en cuenta la implementación del proyecto en otras carreras de la universidad incluso en otras universidades, el punto principal para poder realizar esta implementación es garantizar que se cumpla con el mismo esquema de manejo de los proyectos de grado para que esta implementación sea viable. 70 20. CONCLUSIONES DEL PROYECTO Las herramientas son un apoyo para el proceso, las cuales debe adaptarse al entorno del proyecto, y deben enriquecer la forma de trabajo, de manera que se puedan obtener ganancias en tiempo y recursos. Este Proyecto le permitió al equipo de trabajo, no sólo a los estudiantes sino también al Director del Proyecto apropiarse de conocimientos y experiencia necesarios para estar al frente de proyectos de mediana escala, con todas las responsabilidades y conocimientos que esto implica. La permanente comunicación con los clientes dio como resultado una buena retroalimentación que se refleja en el éxito del Proyecto y en el cumplimiento de los objetivos. Desde el comienzo de SIAP, se ha mantenido una fuerte inversión de tiempo en investigación, al principio se requirió investigar para tomar la decisión correcta en cuanto a las herramientas que se iban a utilizar para el desarrollo de SIAP, después se investigó sobre estas herramientas y se realizaron auto-capacitaciones sobre la marcha para poder realizar el trabajo de forma correcta. Aprender a utilizar Visual Studio .Net, a desarrollar sobre Visual Basic .Net y a utilizar SQL Server 2000 tomo su tiempo, debido a que la carrera de ingeniería de Sistemas no esta orientada hacia esta plataforma, lo cual hizo que SIAP se convirtiera en un proyecto aplicado de investigación. La configuración de todos los componentes y aprender a manejar de forma correcta Visual Source Safe, también requirió inversión de tiempo, pero una vez terminada esta etapa de aprendizaje se hizo más sencillo el desarrollo del proyecto. Apropiarse de los conocimientos necesarios para desarrollar un Sistema de Información utilizando indicadores de gestión y metodologías de desarrollo para proyectos a mediana y gran escala con altos niveles de calidad. El cumplimiento de este objetivo se llevo a cabo mediante la constante investigación y aplicando los conocimientos adquiridos en las asignaturas de Sistemas de Información e Ingeniería de Software, el concepto de indicadores de gestión y su interiorización fueron trabajo de el director de proyecto de grado quien transmitió su conocimiento en el equipo de trabajo para verlo reflejado en el proyecto, estos indicadores se refieren a reportes de la gestión que se realiza sobre los proyectos en cuanto a entregas, numero de usuarios, cumplimiento del cronograma etc. Las metodologías de desarrollo fueron parte de la investigación previa para poder dar inicio al proyecto, el uso de la metodología seleccionada y tener que aplicar apartados de otras metodologías permitió obtener conocimientos más claros sobre las metodologías de desarrollo vistas durante el proceso de formación. Se mantuvo desde el levantamiento de información un especial cuidado con la selección de herramientas para poder llevar a cabo el proyecto bajo altos niveles de calidad; como se ha demostrado a lo largo de este documento, las herramientas utilizadas para el desarrollo de SIAP, son herramientas lo bastante robustas y completas que permitieron tener seguridad y confianza sobre el producto final que se esta entregando con este documento. 71 Administrar y gestionar la información de los proyectos de investigación, de tal forma que tanto estudiantes, como directores de proyecto y directivos del departamento, puedan tener datos actualizados, precisos y detallados, de los avances de estas investigaciones. SIAP permite a las diferentes partes que intervienen en el proceso de desarrollo conocer datos sobre los diferentes proyectos, para las directivas y coordinadores de proyectos de grado, se les presenta información del proyecto tales como, nombre del proyecto, periodo académico en que inicio, pagina Web estudiantes etc. Y durante el transcurso del proyecto esta puede ser consulta de en línea en cualquier momento y puede ser actualizada en caso de que alguno de los ítems del proyecto cambie. Figura 19. Imagen de pantalla consulta y edición de proyectos. Fuente: SIAP. También es posible realizar la asignación de director de proyecto, este ítem no es requerido durante la creación del proyecto en el sistema pues inicialmente los estudiantes escogen y presentan su proyecto para que este sea evaluado, una vez este es aprobado se ingresa y se escoge un director de proyecto de esta forma se puede asignar y eliminar un director de proyecto cuantas veces sea necesario de un proyecto pues no es obligatorio que el director sea el mismo para todo el desarrollo del proyecto. 72 Figura 20. Imagen de pantalla consulta directores. Fuente: SIAP. Durante el transcurso del proyecto es posible realizar observaciones a un proyecto, por ejemplo en caso de ser necesario se puede en cualquier etapa de este presentar una opción para que el coordinador de proyectos de grado, o los mismos estudiantes, creen una observación al proyecto de esta forma las demás personas involucradas con este proyecto pueden ver estas observaciones, la fecha y hora en que se genero y quien la genero. Figura 21. Imagen de pantalla observaciones al proyecto. Fuente: SIAP. 73 De igual forma como se hace para los directores de proyecto es posible asignar jurados de evaluación para estos dependiendo del área en la que se especializa el proyecto y el área principal en la que se especializa el docente, estos jurados pueden ser asignados de forma automática, esto se hace teniendo en cuenta la carga que tiene cada profesor y la cantidad de proyectos que ya tenga asignados para su evaluación en caso de que sea requerido también pueden ser eliminados de un proyecto, es decir desasociados e ingresados manualmente nuevamente, para cada proyecto se pueden asignar hasta dos jurados, al realizar la asignación de forma automática se ingresan dos jurados para cada proyecto. Figura 22. Imagen de pantalla ingresos nuevo jurado. Fuente: SIAP. 74 Figura 23. Imagen de pantalla consulta jurados. Fuente: SIAP. Los estudiantes que cursan proyectos de grado I y II, tienen la posibilidad de realizar las diferentes entregas creadas en el cronograma por el coordinador de proyectos desde un lugar remoto, esto les permite realizar la gestión de su proyecto de una forma mas fácil y sencilla, también se les permite el ingreso de observaciones para ser consideradas por su director de proyecto en caso de que así lo requerían. Figura 24. Imagen de pantalla ingreso de entregas. Fuente: SIAP. 75 Figura 25. Imagen de pantalla consulta de entregas. Fuente: SIAP. Figura 26. Imagen de pantalla consulta de actividades – ingreso entregas. Fuente: SIAP. Con las operaciones mencionadas anteriormente se puede llevar a cabo la gestión de un proyecto de grado una vez el proyecto es finalizado se procede a modificar su estado, así par entonces la entrega final o las que se hayan seleccionado como publicadas a la base de datos de proyectos de la Carrera. 76 Figura 27. Imagen de pantalla modificar datos de proyecto. Fuente: SIAP. Analizar, diseñar, desarrollar e implantar en su totalidad una herramienta robusta, completa y con altos estándares de calidad, utilizando los conocimientos adquiridos durante el proceso de formación de la carrera. Para el análisis diseño, desarrollo y total implementación de SIAP el equipo de trabajo tuvo que aplicar las diferentes materias vistas a lo largo de la Carrera, materias como programación orientada a objetos, bases de datos, sistemas información, ingeniería de Software etc. y no solo estas si no también se tuvieron en cuenta los proyectos desarrollados en estas materias no solo la parte teórica. Los conocimientos adquiridos en materias como evaluación de proyectos fueron utilizados por ejemplo para realizar los análisis de costos de la aplicación, gerencia de proyectos para el cronograma de actividades y cumplimiento del mismo, metodología de la investigación para el desarrollo de esta documento y todo el proceso de investigación, estos son algunos de los ejemplos de las materias que debieron ser aplicados para poder llevar a cabo este proyecto. Estas materias y al final casi todas las cursadas durante el proceso de formación permitieron al equipo de trabajo dar cumplimiento con la entrega del proyecto, finalizando una herramienta robusta y completa que utilizando los mejores estándares de calidad entrega hoy a la Carrera de ingeniería de Sistemas de la Pontificia Universidad Javeriana una aplicación para que se puesta en funcionamiento y preste su servicio a las directivas, Profesores, directores de proyecto, estudiantes y demás interesados en estos proyectos de grado. Permitir un control adecuado de los proyectos de grado e investigaciones, utilizando dentro del Sistema de Información indicadores de gestión, que evidencien cumplimiento dentro de las diferentes líneas de investigación y de cada uno de los proyectos. Dentro de la aplicación, existe la opción de generar observaciones a cada proyecto, para de esta forma poder realizar una estimación del trabajo realizado por cada Proyecto de Investigación, esta estimación puede ser consultada a través de las opciones de “Consultar Reporte Gestión Proyectos” y “Consultar Estadísticas Proyectos Finalizados”. En la Primera opción, se puede consultar las observaciones y calificaciones que han ingresado el Director del Proyecto y/o Coordinador de Proyectos de Grado, o alguno de los Usuarios Administradores de la Aplicación, se puede realizar la consulta por Area de investigación y/o Asignatura de Proyecto de Grado 77 Figura 28. Consulta Gestión de Proyectos Para la Segunda Opción, solo se podrán consultar los Proyectos que hayan sido finalizados en la Aplicación, donde se observará un promedio de las calificaciones asociadas en cada observación. Figura 29. Filtros de Búsqueda Figura 30. Consulta Promedio Observaciones, Proyectos Finalizados 78 Ambas opciones permiten consultar por Líneas de Investigación los diferentes proyectos con sus indicadores asociados, de esta forma se puede agrupar los proyectos con sus calificaciones, para generar un reporte en Excel o Impreso. Para llevar a cabo el proceso de análisis, diseño e implementación de la aplicación se utilizaron indicadores de gestión sin recurrir rigurosamente a estos para no frenar los tiempos del proyecto ni retrasar el cronograma estos fueron mas un apoyo al equipo de trabajo. El proceso consistió en realizar reuniones virtuales con el cliente en las cuales se realizaban pruebas de la aplicación que se encontraba instalada en el equipo de desarrollo y pruebas. El cliente se ubicaba en un lugar remoto y accedía a través de Internet, en estas reuniones el cliente manifestaba los tiempos de respuesta obtenidos e indicaba si era prudente o no continuar con el desarrollo, estas observaciones eran verbales y se corregían en el mismo instante y sobre la marcha, también manifestaba su punto de vista hacia las interfaces y procesos que observaba y mencionaba cuales eran los cambios o modificaciones que se debían tener en cuenta, mientras estos cambios eran llevados a cabo se realizaban pruebas a otros puntos de la aplicación y una vez estos eran corregidos se ubicaban nuevamente para su evaluación y consideración por parte del cliente. Estas pruebas y manejo de indicadores fueron internos para el equipo de trabajo, no fueron documentados y se tuvieron en cuenta para mejorar tiempos de respuesta y el nivel de satisfacción del cliente. En algunos puntos del desarrollo al hacer las pruebas que el cliente realizaba en la forma anteriormente mencionada, este indicaba al equipo de desarrollo si encontraba tiempos de respuesta no deseados o validaciones de datos innecesarias lo cual hacia mas lenta la aplicación, estos indicadores proporcionados directamente y en forma verbal por el cliente sirvieron para revisar la forma en que estaba siendo codifica la aplicación y replantear el código y las validaciones que se estaban haciendo, esto debido a que al ser una aplicación Web entre mas peticiones y mas consultas a la base de datos se tuvieran implica que la aplicación tenga tiempos de respuesta mas largos, por eso fue necesario manejar los indicadores de esta forma con el cliente para poder cumplir con una herramienta robusta, completa y con un alto nivel de calidad. En este trabajo de grado se refleja la capacidad y conocimientos adquiridos por el equipo de trabajo durante el proceso de formación de la Carrera de Ingeniería de Sistemas de la Pontificia Universidad Javeriana, se puede apreciar la forma en la que se cumplió con el objetivo principal del proyecto y se realiza la entrega de un producto a la Carrera, un producto de software el cual requiere ajustes y modificaciones como cualquier otro y que deberá irse afinando para su completa implementación y puesta en marcha final si así lo desea la Carrera. Generar una base de conocimientos para el departamento y sus estudiantes permitiendo la generación de nuevos proyectos de grado y trabajos de investigación. SIAP, además de ser un Sistema orientado a la gestión y administración de Proyectos de Grado, es un repositorio de los diferentes proyectos que cursan los estudiantes de la Carrera de Ingeniería de Sistemas de la Pontificia Universidad Javeriana, estos documentos son almacenados directamente en la Base de Datos del Proyecto, y de esta forma puedan ser consultados en cualquier momento por sus interesados. 79 El proceso de almacenamiento de los documentos a la Base de Datos se realiza mediante un proceso que consiste en cargar el archivo de manera remota al servidor de aplicaciones en forma temporal, luego se almacena el archivo en el servidor de Base de Datos mediante un Procedimiento Almacenado en este servidor (Stored Procedure), y finalmente se eliminan los archivos que se almacenaron temporalmente en el Servidor de Aplicaciones mediante una Tarea Programada del Servidor de Base de Datos en horas de la noche, siendo este un horario indicado para no generar sobrecargas en ninguno de los servidores. De esta forma SIAP está manteniendo un repositorio de Datos siempre disponible indefinidamente. Una vez un proyecto es finalizado este para a una base de datos en donde, cualquier persona mediante una opción en la aplicación puede consultar las entregas que el coordinador haya decidido poner como publicas, estos documentos estarán en la base de datos de la aplicación de forma permanente y disponibles para ser consultados en cualquier momento y por quien lo requiera, no solo se presentara el documento si no también información básica del proyecto, de esta forma el departamento contara con una base de conocimiento virtual para que los interesados en cursar proyecto de grado I y II, puedan consultar los ya existentes para no redundar en investigaciones que ya están y estar siempre a la vanguardia de nuevos proyectos de investigación o de completar los que ya existan. Figura 31. Imagen de Proyectos finalizados con opción para consultar entregas. Fuente: SIAP. El proyecto se encuentra instalado temporalmente en una de las maquinas de los laboratorios de la facultad para la realización de pruebas posteriores a la implementación y su paso final al servidor asignado para SIAP. El manual de usuario e instalación se encuentran relacionados mediante los Anexos C y D. Para la entrega final del proyecto a la Carrera de Ingeniería de Sistemas de la Pontificia Universidad Javeriana se anexa acta de entrega y visto bueno de satisfacción por parte de la Dirección de Carrera. Ver Anexo F Las pruebas realizadas por el cliente se encuentran en el Anexo E. 80 21. RECOMENDACIONES Durante el desarrollo de este trabajo de grado se detectaron algunas falencias en el proceso de formación de los estudiantes de la Carrera de Ingeniera de Sistemas de la Pontificia Universidad Javeriana como la falta de acercamiento que se tiene hacia las tecnologías ofrecidas por Microsoft como las utilizadas en este proyecto. Actualmente la Carrera esta haciendo un esfuerzo por abrir los cursos de .Net en el periodo ínter semestral, propuesta que ha sido muy bien acogida por los estudiantes de la Carrera, este tipo de cursos deberían tratar de incluirse dentro del Pensum actual de la carrera pues una de las grandes ofertas de empleo que se presentan en el mercado actualmente requieren personal capacito en esta tecnología. Con este trabajo de grado el grupo pretende dejar las puertas abiertas a futuros estudiantes para continuar utilizando y construyendo aplicaciones no solo Web. También otros tipos de tecnologías y plataformas independientes de que sean las de Sun Microsystems o las de Microsoft, en el mercado actualmente existen muchas ofertas y el ingeniero de sistemas Javeriano debe estar siempre atento y abierto a las oportunidades que se presenten. SIAP es solo un proyecto en su etapa inicial y lo que se pretende para el futuro es que esta herramienta siga en crecimiento y que preste un servicio completo a la Carrera de Ingeniería de Sistemas de la Pontificia Universidad Javeriana, y que con el paso de los semestres se le permita a otros grupos de estudiantes hacer mejoras y propuestas nuevas sobre este proyecto para que día a día se mas completa, robusta y confiable. Inicialmente la idea de este proyecto surge de la necesidad de la Carrera de Ingeniería de sistemas de la Pontificia Universidad Javeriana, y también se tuvo presente la necesidad de todas las Carreras de la Universidad de poder hacer una mejor gestión en las diferentes etapas de los proyectos de grado que cursan sus estudiantes, por esta razón sería viable analizar la posibilidad de que la aplicación sea implementada en otras carreras de la Universidad y que esta a su vez pueda ser integrada con los diferentes sistemas y repositorios de datos con los que cuenta la Facultad y la Universidad para de esta forma poder tener datos mas precisos y centralizados. 81 22. BIBLIOGRAFÍA [ISB2004] BRUEGGE BERND, DUTOIT ALLEN. Ingeniería de Software Orientado a Objetos. [RJ2003] RICHTER JEFFREY, BALENA FRANCESCO. Applied Microsoft .Net Framework Programmin In Microsotf Visual Basic. Editorial. Microsoft Press. 2003. [BG1996] BOOCH, GRADY. Análisis y Diseño Orientado a Objetos. Addison Wesley, 1996. [JL1998] JOYANES LUIS, Programación Orientada a Objetos, McGraw Hill, 1998 [SA2002] SILBERSCHATZ, ABRAHAM, et al. Fundamentos de Bases de Datos. Cuarta Edición. McGraw Hill. 2002 [DC1999] DATE C.J. An Introduction to Database Systems. Séptima edición. Addison-Wesley. 1999. [BR1994] BARKER, RICHARD. El modelo Entidad-Relación. Addison-Wesley.1994. [LY2001] LAU YUN-TUN. The Art of Objects – Object-Oriented Design and Architecture. Segunda Edición. Addison-Wesley. 2001 [SA1998] SILBERSCHATZ, ABRAHAM. Fundamentos de Bases de Datos. Tercera Edición. McGraw Hill. 1998. [KK1997] KENDALL & KENDALL. Análisis y Diseño de Sistemas. Tercera Edición. Prentice Hall. 1997. [WB1996] WHITTEN, BENTLEY & BARLOW. Análisis y Diseño de Sistemas de Información. Tercera edición. Irwin, 1996. [PI12004] Informalizate. Disponible en http://www.informatizate.net/articulos/metodologias_de_desarrollo_de_software_07062004.html Metodologías De Desarrollo De Software María A. Mendoza Sanchez Ing. Informático - UNT Microsoft Certified Professional - MCP Analísta y Desarrolladora - TeamSoft Perú S.A.C. 28/08/2004 [PI22004] Lycos. Disponible en http://usuarios.lycos.es/cursosgbd/UD5.htm Instalación y Configuración de Microsoft SQL Server 2000 28/08/2004 [PI32005] Islasoft. Disponible en http://www.islasoft.com/Producto/Diferencias_SQL_Server_Office.pdf. Diferencias entre la línea de Office y la línea Server de IslaWin Gestión, a nivel de bases de datos 15/04/2005 82 Msdn Microsoft. Disponible en [PI42005] http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/guides/html/vsorivisualsources afe60.asp. 15/04/2005 [PI52005] http://msdn.microsoft.com/netframework/technologyinfo/sysreqs/default.aspx. 25/03/2005 Universidad Javeriana. Disponible en [PI62005] Arquitecturas de Software http://minerva.javeriana.edu.co/~cbustaca/iy30_2004/Presentaciones/arquitecturas_software01.p df. 02/30/2005 [PI72004] Proyectos de Grado Carrera de Ingeniería Industrial http://fing.javeriana.edu.co/ingenieria/ing_industrial/proyectodegrado/ 27/09/2004 Microsoft. Disponible en [PI82005] http://www.microsoft.com/spanish/msdn/vstudio/productinfo/vstudio03/overview/default.asp. 15/04/2005 [PI92005] http://www.microsoft.com/latam/vbasic/producto/resumen.asp#use. 15/04/2005 [PI102005] http://www.microsoft.com/latam/sql/evaluation/features/default.asp. 15/04/2005 [PI112005] http://www.microsoft.com/spanish/msdn/spain/casestudies/cs_universidad_malaga02.asp 22/04/2005 [PI122005] http://www.microsoft.com/spanish/msdn/spain/casestudies/cs_catastro.asp 22/04/2005 [PI132005] http://www.microsoft.com/spanish/msdn/spain/casestudies/cs_caixamanresa01.asp. 22/04/2005 [PI142005] http://www.microsoft.com/colombia/casosdeexito/avianca.asp . 22/04/2005 [PI152005] http://www.microsoft.com/resources/casestudies/ . 22/04/2005 [PI162005] http://www.microsoft.com/colombia/casosdeexito/eeppm.asp . 22/04/2005 [PI172004] Congreso Latinoamericano De Estudios En Informática. Disponible en http://clei2004.spc.org.pe/es/skin.php?menu=70&source=html/209/index.html El Problema de la Asignación de Evaluadores para los Artículos Presentados a un Evento Académico: Modelamiento e Implementación de una Solución Usando Programación con Restricciones Jesús Alexander Aranda B, Juan Francisco Diaz, James Jerson Ortiz Escuela de Ingeniería de Sistemas y Computación, Cali Colombia 31/10/2004 [PI182004] Javahispano. Disponible en http://www.javahispano.org/articles.article.action?id=76 Procesos de desarrollo Alberto Molpeceres 28/08/2004 [PI192004] Sun Microsystems. Disponible en http://www.sun.com/ 08/11/2004 [PI202004] Web Technologies. Disponible en http://www.oracle.com/index.html. 08/11/2004 [PI212004] Web Borland. Disponible en http://www.borland.com/. 08/11/2004 83 ANEXO A. Artículo ONLINE4BIZ. Las herramientas de .Net (Visual Studio 2003 y VSS) son una gran ayuda para desarrollar aplicaciones en un tiempo prudente por su facilidad de manejo. Generalmente no presentan errores complicados que retracen el trabajo de cada ingeniero, salvo si se maneja un proyecto de considerable tamaño en una misma sesión, lo cual hace que se generen fallas, por ejemplo, como problemas repentinos, pero fáciles de solucionar, de asociaciones entre Namespaces por las .dll que se utilizan. No es complicado en la instalación y la ayuda en línea de Microsoft, además de los miles de ejemplos y tutoriales que se pueden encontrar en Internet, son herramientas fácilmente aprovechables si se requiere soporte a desarrollos que demanden nuevas funcionalidades son clases no conocidas por el programador. VSS, aunque lo he manejado poco, permite mantener un buen control de las versiones en la empresa y de coordinar el trabajo entre los desarrolladores. De pronto le hace falta a VSS, si es que no la tiene, una opción para registrar errores de toda índole y así crear una base de conocimiento que pueda ser accedida por todos los desarrolladores y las personas dedicadas a realizar pruebas. El paso de Java a C# no es tan traumático como lo puede ser a otros lenguajes como PL-SQL de Oracle, que es un tipo de programación muy diferente. Tienen similitudes muy grandes, hasta se pueden encontrar clases con el mismo nombre. Lo único que se me ocurre puede ser lento es la ambientación a las nuevas clases y los nombres de los tipos de datos similares, además de las Propiedades que manejan las clases de C# y que pueden despistar inicialmente. SQL Server es un motor de base de datos bueno, que puede parecer simple por su manejo similar a Access, pero que responde bien a los requerimientos de un sistema con una carga de usuarios normal, unos 50. Hasta ahora no he sido testigo de su verdadero poder, tal y como lo vi con Oracle, ya que tuve la oportunidad de ver su respuesta en una situación con más de 75 usuarios trabajando y ejecutando varios store procedure. Leonardo Avila Empresa online4Biz 84 ANEXO B. Artículo CONTACT CENTER AMERICAS. Hace poco más de dos años Contact Center Publicar usaba para el desarrollo de la mayoría de sus campañas Easy Script una plataforma de desarrollo propietaria de la Suite de Contact Center Altitude, la cual a su vez actuaba como servidor de aplicaciones. Algunas limitaciones de este lenguaje, la imposibilidad d ecrear componentes dificultando la reutilización del código, la necesidad de realizar integraciones con otros sitemas y la tendencia hacia los operativos WEB en los centros de contactos llevaron a desarrollar aplicaciones de Visual C++, Visual Basic 6.0 y ASP 3.0. Esta fue una solución pero no la definitiva pues aun no se tenía el nivel de integración deseado, lo cual llevó a tomar la decisión de elegir una nueva herramienta de programación para los desarrollos futuros de la compañía. Tras una evaluación de las herramientas disponibles en el mercado se eligió.NET por la facilidad de migrar aplicaciones hechas en Visual Basic 6.0 y ASP 3.0, por el uso de patrones, por estar enfocado a programación orientada a objetos, por aspectos de seguridad y por las grandes posibilidades de reutilización de código creando componentes, web services, etc. Se programó para los analistas un total de 140 horas de capacitación y se inicio la migración, la cual se h hecho de manera gradual pues los programas desarrollados en EASY SCRIPT deben ser reescritos nuevamente pero todos los desarrollos nuevos se llevan a cabo en .NET. Comenzaron a surgir nuevos problemas que no teníamos anteriormente como la necesidad de guardar y controlar las versiones de las fuentes y ejecutables y guardar la documentación asociada a los mismos, de esta manera apareció la necesidad de utilizar Visual Sorce Safe, el cual usamos aproximadamente hace ocho meses. Una desventaja de .NET es la dificultad actual de hallar personal con conocimientos en este conjunto de aplicaciones, por lo cual el proceso de entrenamiento se debe llevar a cabo en nuestras instalaciones. Actualmente nuestras herramientas son Visual Studio como plataforma de desarrollo, .Net como lenguajes de programación. Microsoft SQL Server como motor de base de datos y Visual Source Safe, las cuales han respondido a las expectativas de una empresa que actualmente cuenta con dos mil quinientos usuarios de las aplicaciones de Intranet y Cliente/Servidor y cientos de usuarios de aplicaciones en Extranet. Henry Alonso Ramírez Cepeda Director de Desarrollo de Software Contact Center Americas 85 ANEXO C. Manual de Instalación SIAP. MANUAL DE INSTALACIÓN DE DESARROLLO SISTEMA DE INFORMACIÓN PARA LA ADMINISTRACIÓN DE PROYECTOS SIAP Pontificia Universidad Javeriana Carrera de Ingeniería de Sistemas 86 TABLA DE CONTENIDO 1. 2. 3. 4. OBJETIVO................................................................................................................................. 88 PRERREQUISITOS .................................................................................................................. 88 CONTENIDO ............................................................................................................................. 88 PRUEBAS ................................................................................................................................. 90 87 OBJETIVO El objetivo de este documento es el de permitir a usuarios diferentes a los que desarrollaron la aplicación ponerla en funcionamiento. En este documento se enumeran las diferentes acciones que deben ser llevadas a cabo o tenidas en cuenta para la instalación de la aplicación en un servidor. PRERREQUISITOS 9 Configuración Regional o Formato de Fecha y Hora o Set de Caracteres o Zona Horaria o Formato de Número y moneda 9 Archivos Involucrados y ubicación 9 Conexión a Base de datos 9 DLLs (Ubicación y registro) 9 Windows 2000 Server , recomendado 9 Otros. CONTENIDO Debido a que esta aplicación es Web se deben tener en cuenta los siguiente pasos para su puesta en marcha. 1. Se debe copiar la carpeta que se entrego con todo el contenido que esta posee dentro de la carpeta C:\Inetpub\wwwroot 2. copiar en esta ubicación la carpeta SIAP, con todo su contenido. 3. Ingresar a Panel de Control -> Herramientas Administrativas -> Administrador de servicios Internet. 88 Figura 1. 1 Administrador de Servicios de Internet 4. En esta opción se debe seleccionar la carpeta que se copio en el paso 1. y con el botón del lado derecho del Mouse ingresar en propiedades 5. Hacer click en el botón Crear que aparece bajo la pestaña Directorio, esto permite que el proyecto permanezca como una aplicación Web. 89 Figura 1. 2 Propiedades Carpeta virtual 6. Configurar la pagina de inicio a la aplicación en la pestaña Documentos la cual corresponde al nombre de Login.aspx La IP del servidor de base de datos, el nombre de la base de datos, el nombre de usuario y la contraseña se encuentran configurados a través de un Connection String creado desde Visual Studio .Net, - base de datos predeterminada: SIAP PRUEBAS Una vez configurada la aplicación si la base de datos ya esta creada se puede hacer uso de la aplicación accediéndola de la siguiente forma desde cualquier lugar que cuente con los permisos creados por el departamento o por las personas encargadas de realizar estas configuraciones. Ejemplo: http://localhost/siap/Login.aspx Se deben realizar pruebas accediendo con diferentes usuarios con diferentes roles 90 ANEXO D. Manual de Usuario SIAP. MANUAL DEL USUARIO DE DESARROLLO SISTEMA DE INFORMACIÓN PARA LA ADMINISTRACIÓN DE PROYECTOS SIAP Pontificia Universidad Javeriana Carrera de Ingeniería de Sistemas 91 TABLA DE CONTENIDO 1. 2. 3. INTRODUCCION....................................................................................................................... 93 ACCESO A SIAP...................................................................................................................... 93 ROLES....................................................................................................................................... 95 3.1 COORDINADOR ......................................................................................................................... 95 3.1.1 Menú Coordinador.......................................................................................................... 95 3.1.2 Menú Coordinador Estudiantes...................................................................................... 95 3.1.3 Menú Coordinador Docentes ......................................................................................... 98 3.1.4 Menú Proyecto de Grado ............................................................................................. 105 3.1.5 Menú Fechas y Cronogramas...................................................................................... 107 3.1.6 Menú Enviar Correos ................................................................................................... 110 3.2 ESTUDIANTES ........................................................................................................................ 113 3.2.1 Menú Estudiantes......................................................................................................... 113 3.2.2 Consultar Proyectos..................................................................................................... 113 3.2.3 Ingresar Entrega........................................................................................................... 115 3.2.4 Consultar Entregas....................................................................................................... 116 3.2.5 Actualizar Datos ........................................................................................................... 117 3.3 DIRECTOR.............................................................................................................................. 118 3.3.1 Menú Director............................................................................................................... 118 92 INTRODUCCION Por medio del siguiente documento, se dará una explicación detallada de las características y de los usos que se le deben al sistema de información diseñado para la administración de proyectos de grado de la carrera de ingeniería de sistemas de la Pontificia Universidad Javeriana. Se describirán cada una de las acciones y características y luego se explicará que perfiles de usuario tienen acceso a estas características. ACCESO A SIAP Para acceder a la página del administrador de proyectos SIAP, se registra en la url del navegador de Internet la siguiente dirección electrónica: http://NombreDelServidor/siap/login.aspx Esto dará inicio a la aplicación, presentando el módulo de autenticación de usuario, el cual valida la consistencia de los datos del usuario que desea ingresar al aplicativo. Al insertar el nombre de usuario, la clave y presionar el botón los datos para permitir el acceso a la aplicación. se iniciará la validación de Figura 2.3 SIAP. Página Inicial. 93 Los datos de Usuario y clave son requeridos para el ingreso a la aplicación en caso que no se inserten se presentará el siguiente mensaje: Figura 2. 4 SIAP. No inserción de datos de usuario. En caso que se inserten incorrectamente los datos del usuario el mensaje que se presentará es el siguiente: Figura 2. 5 SIAP datos inválidos. Si los datos de usuario son correctos se dará acceso a las opciones de la aplicación, dependiendo del rol del usuario que desea acceder. 94 ROLES Coordinador Menú Coordinador Figura 3.1.1 SIAP menú coordinador. Menú Coordinador Estudiantes Figura 3.1.2 SIAP menú coordinador - estudiantes. 95 Opción Ingresar Estudiante Figura 3.1.2.1 SIAP ingresar nuevo estudiante. Opción Consultar / Actualizar Estudiantes Figura 3.1.2.2 SIAP consulta estudiantes filtros. 96 Figura 3.1.2.2 SIAP tabla consulta estudiantes. Actualizar estudiante (editar) Figura 3.1.2.2.1 SIAP editar estudiante. 97 Menú Coordinador Docentes Figura 3.1.3 SIAP menú coordinador docentes. Ingresar Docente Figura 3.1.3.1 SIAP ingresar nuevo docente. 98 Consultar /Actualizar Docente Figura 3.1.3.2 SIAP consulta docentes filtros. Figura 3.1.3.2 SIAP tabla consulta docentes. 99 Actualizar Docente (editar) Figura 3.1.3.4 SIAP editar docentes. Jurados de Proyecto Figura 3.1.3.3 SIAP editar docentes. 100 Ingresar Jurado Figura 3.1.3.3.1 SIAP editar docentes. Consultar Jurado Figura 3.1.3.3.2 SIAP consulta jurados filtros. 101 Figura 3.1.3.3.2 SIAP tabla consulta jurados. 102 Eliminar Jurado Figura 3.1.3.3.2.2 SIAP eliminar jurado. Directores de Proyecto Ingresar Director Figura 3.1.3.4.1 SIAP ingresar director. 103 Consulta Directores Figura 3.1.3.4.2 SIAP consultar directores filtros. Figura 3.1.3.4.2 SIAP tabla consultar directores. 104 Eliminar Director Figura 3.1.3.4.2.1 SIAP tabla consultar directores. Menú Proyecto de Grado Figura 3.1.4 SIAP menú proyectos de grado. Figura 3.1.4 SIAP opciones reportes proyectos de grado. Ingresar Proyecto Figura 3.1.4.1 SIAP ingresar proyectos de grado. 105 Consultar / Actualizar Proyecto Figura 3.1.4.2 SIAP consultar proyectos de grado filtros. Figura 3.1.4.2 SIAP tabla consultar proyectos de grado. Consultar Reporte Gestión Proyectos Figura 3.1.4.3 SIAP consultar gestión proyectos de grado. Figura 3.1.4.3 SIAP tabla consultar gestión proyectos de grado. 106 Consultar Estadísticas Entregas Figura 3.1.4.4 SIAP consulta proyectos finalizados. Figura 3.1.4.4 SIAP tabla consulta proyectos finalizados. Menú Fechas y Cronogramas Figura 3.1.5 SIAP menú fechas y cronogramas. 107 Ingresar Cronograma Figura 3.1.5.1 SIAP ingresar nuevo cronograma. Consultar / Actualizar Cronograma Figura 3.1.5.2 SIAP menú fechas y cronogramas. 108 Figura 3.1.5.2 SIAP tabla ingreso actividades. Actualizar actividades Figura 3.1.5.2.1 SIAP actualizar actividades. 109 Menú Enviar Correos Figura 3.1.6 SIAP envío correos. 110 Figura 3.1.6 SIAP tabla envío correos. 111 Figura 3.1.5.2.1 SIAP actualizar actividades. Eliminar Actividades Figura 3.1.5.2.2 SIAP eliminar actividades. 112 Estudiantes Menú Estudiantes Figura 3.2.1 SIAP menú estudiantes. Consultar Proyectos Figura 3.2.2 SIAP consulta proyectos finalizados. 113 Consulta Entregas Figura 3.2.2.1 SIAP consulta entregas. Figura 3.2.2.1 SIAP descarga entregas. 114 Ingresar Entrega Figura 3.2.3 SIAP ingresar entrega. Figura 3.2.3 SIAP cargar entrega. 115 Figura 3.2.3 SIAP búsqueda archivo entregar. Consultar Entregas Figura 3.2.4 SIAP consulta entregas. 116 Figura 3.2.4 SIAP descargar consulta. Actualizar Datos Figura 3.2.5 SIAP modificar estudiante. 117 Director Menú Director Figura 3.3.1 SIAP menú director. Consultar Proyectos Figura 3.3.1.1 SIAP consultar proyectos finalizados. 118 Consultar Entregas Figura 3.3.1.2 SIAP consultar entregas. Descargar Entrega Figura 3.3.1.2.1 SIAP descargar entregas. 119 Observaciones Figura 3.3.1.2.2 SIAP observaciones. Figura 3.3.1.2.1 SIAP ingreso observaciones. 120 Actualizar Datos Figura 3.3.1.3 SIAP modificar docentes. 121 ANEXO E. Especificación de Requerimientos SIAP y Pruebas del sistema USUARIOS DEL SISTEMA En SIAP, se tendrá en cuenta 4 tipos de perfiles diferentes, cada uno con unas funciones determinadas que se especifican a continuación: Administrador Para este caso, el Coordinador de Proyectos de Grado será el administrador del Sistema, cuenta con las siguientes funcionalidades: - Ingreso y verificación de estudiantes, asignación de proyectos correspondientes. Llevar a cabo la preinscripción de estudiantes. Consulta de proyectos, eliminación y actualización y estado de los mismos Envió de correos electrónicos a los diferentes grupos y directores de proyecto. Asignación de fechas y administración del cronograma de actividades. Ingreso, eliminación, modificación de los directores de proyecto de grado. Habilitar cuentas para los diferentes proyectos, estudiantes y directores. Ingresa y asignación de jurados de proyecto manual y automáticamente. Exportar las diferentes consultas a Excel e imprimirlas Director de Proyectos de Grado Los Directores de Proyectos, tendrán la opción de hacer seguimiento y retroalimentación de sus Proyectos a cargo, para esto se incluyen las siguientes funcionalidades: - Consulta de proyectos y estado de los mismos de los que es director. Consulta de entregables de los estudiantes. Envió de correos electrónicos. Consultar y actualizar datos personales. Estudiantes Los Estudiantes podrán interactuar con SIAP de la siguiente manera: - Consulta de proyecto(s) y estado del mismo Ingreso de entregables del proyecto Consulta entregas Enviar Correos Consultar y Actualizar datos Personales Usuarios Anónimos Cualquier usuario (puede ser externo a la Universidad), podrá entrar en el Sistema para hacer consultas de los documentos finales de los proyectos de Grado que hayan sido finalizados y aceptados. 122 REQUERIMIENTOS FUNCIONALES Casos de uso del sistema No. R.0 R.1 R.2 R.3 R.4 R.5 R.6 R.7 R.8 R.9 R.10 R.11 R.12 R.13 R.14 R.15 R.16 R.17 R.18 Requerimiento Autenticación de Usuario Ingresar Estudiantes Actualizar Estudiante Ingresar Proyecto de Grado Consultar Proyecto de Grado Actualizar Datos de Proyecto de Grado Ingresar Observaciones a Proyecto de Grado Enviar Correos Asignar Fechas al Cronograma de Actividades Consultar Cronograma de Actividades Ingresar Docente Actualizar Docente Ingresar Director de Proyecto de Grado Ingresar Jurados de forma Automática Ingresar Jurado en forma manual Ingresar Entrega de Proyecto de Grado Consultar Entrega de Proyecto de Grado Consultar Proyectos de Grado Finalizados Consultar Indicadores de Avance de los Proyectos Código CU000 CU001 CU002 CU003 CU004 CU005 CU006 CU007 CU008 CU009 CU010 CU011 CU012 CU013 CU014 CU015 CU016 CU017 CU017 123 Especificación de casos de uso AUTENTICACIÓN DE USUARIO20 Identificador: CU000 Indispensable/Deseable: Indispensable Prioridad: 1 Nombre Caso de Uso: Autenticación de Usuario Categoría (Visible/No visible): Actores involucrados: Administrador – Director – Visible Estudiante Resumen: Autenticación de Usuarios Curso Básico Eventos: La información que se debe capturar del usuario es el nombre de usuario, previamente registrado en la aplicación y la clave. Debe realizarse la respectiva validación de los datos ingresados, con los datos registrados en la aplicación y permitir el acceso a las diferentes acciones de acuerdo al rol del usuario. Usuario Sistema 1. Acceder a la url de la aplicación 2. Presentar ventana de autenticación, para ingreso de nombre de usuario y clave. 3. Ingresar datos solicitados y presionar botón para verificación 4. Validar los campos ingresados con los datos registrados en la base. 5. Ingresar a opciones de la aplicación asignadas de acuerdo a el rol . 6. Presentación de menú. Caminos de Excepción: 4. Información incorrecta, omisión de campos obligatorios A. El Sistema informa al usuario mediante un mensaje en pantalla de error B. El usuario corrige los datos y acepta 6. Problemas de conexión con el servidor A. El Sistema informa al usuario mediante un mensaje en pantalla de error Pre – Condiciones: Usuario debe estar registrado en la aplicación Post- Condiciones: Acceso de usuario en la aplicación Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 20 Requerimiento solicitado por la Carrera de Ingeniería de Sistemas 124 INGRESAR ESTUDIANTE Identificador: CU001 Indispensable/Deseable: Indispensable Prioridad: 1 Nombre Caso de Uso: Ingresar Estudiante Categoría (Visible/No visible): Actores involucrados: Administrador Visible Resumen: Ingreso de Estudiantes en el sistema. La información que se permite capturar para ingresar un estudiante es: • • • • • • • • • • • Curso Básico Eventos: Documento de Identificación (Cédula) Nombres Apellidos Titulo de Proyecto (opcional) Grupo (opcional) Correo de la Universidad Correo Alterno (opcional) Teléfono Teléfono Móvil (opcional) Estado del Estudiante Asignatura de Proyecto de Grado a Cursar Usuario 1. Selecciona la opcion "Ingresar Estudiante", del menú Sistema 2. Despliega formulario y solicita la información a registrar del Estudiante 3. Proceder a guardar la información por botón en el formulario. 4. Validar los campos requeridos y el formato de los que se haya especificado en la lista de campos a capturar. 5. Si los datos no son correctos, se deben presentar mensajes en el formulario referenciados a los campos con información incorrecta. 5. El usuario debe proceder a la corrección de los datos. 125 6. En caso que la información diligenciada, en su totalidad sea correcta se procede a la inserción del Estudiante. 7. Presentar mensaje de verificación de Ingreso del Estudiante. Caminos de Excepción: 4. Información incorrecta, omisión de campos obligatorios A. El Sistema informa al usuario mediante un mensaje en pantalla de error B. El usuario corrige los datos y acepta 6. Problemas de conexión con el servidor A. El Sistema informa al usuario mediante un mensaje en pantalla de error Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) Post- Condiciones: Se ingresa el Estudiante en SIAP Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 126 ACTUALIZAR ESTUDIANTE Identificador: CU002 Indispensable/Deseable: Indispensable Prioridad: 1 Nombre Caso de Uso: Actualizar Estudiante Categoría (Visible/No visible): Actores involucrados: Administrador, Estudiante Visible Resumen: Actualización de Datos de Estudiantes en el sistema. El Administrador puede actualizar los datos de un Estudiante, o un Estudiante puede actualizar sus datos personales La información que se permite actualizar para actualizar un estudiante es: • • • • • • • • • • • Documento de Identificación (Cédula) Nombres Apellidos Titulo de Proyecto (opcional) Grupo (opcional) Correo de la Universidad Correo Alterno (opcional) Teléfono Teléfono Móvil (opcional) Estado del Estudiante(sólo para el Administrador) Asignatura de Proyecto de Grado a Cursar(Sólo para el administrador) Si se desea asignar un Proyecto de Grado a un Estudiante se debe actualizar el campo de Título de Proyecto de Grado, campo que despliega una lista de los Proyectos ya creados en el sistema Curso Básico Eventos: Usuario 1. Selecciona la opcion "Actualizar Estudiante", del menú Sistema 2. Despliega formulario y solicita la información a registrar del Estudiante 3. Proceder a guardar la información por botón en el formulario. 127 4. Validar los campos requeridos y el formato de los que se haya especificado en la lista de campos a capturar. 5. Si los datos no son correctos, se deben presentar mensajes en el formulario referenciados a los campos con información incorrecta. 5. El usuario debe proceder a la corrección de los datos. 6. En caso que la información diligenciada, en su totalidad sea correcta se procede a la actualización del Estudiante. 7. Presentar mensaje de verificación de Actualización del Estudiante. Caminos de Excepción: 4. Información incorrecta, omisión de campos obligatorios A. El Sistema informa al usuario mediante un mensaje en pantalla de error B. El usuario corrige los datos y acepta 6. Problemas de conexión con el servidor A. El Sistema informa al usuario mediante un mensaje en pantalla de error Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) Post- Condiciones: Se actualiza el Estudiante en SIAP Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 128 INGRESAR PROYECTO DE GRADO Identificador: CU003 Indispensable/Deseable: Indispensable Prioridad: 1 Nombre Caso de Uso: Ingresar Proyecto de Grado Categoría (Visible/No visible): Actores involucrados: Administrador Visible Resumen: Ingreso de Proyecto de Grado en el sistema. La información que se permite capturar para ingresar un Proyecto es: • • • • Curso Básico Eventos: Título de Proyecto Subtítulo de Proyecto Área del Proyecto Estado del Proyecto Usuario 1. Selecciona la opcion "Ingresar Proyecto de Grado", del menú Sistema 2. Despliega formulario y solicita la información a registrar del Proyecto 3. Proceder a guardar la información por botón en el formulario. 4. Validar los campos requeridos y el formato de los que se haya especificado en la lista de campos a capturar. 5. Si los datos no son correctos, se deben presentar mensajes en el formulario referenciados a los campos con información incorrecta. 5. El usuario debe proceder a la corrección de los datos. 6. En caso que la información diligenciada, en su totalidad sea correcta se procede a la inserción del Proyecto. 7. Presentar mensaje de verificación de Ingreso del Proyecto. Caminos de Excepción: 4. Información incorrecta, omisión de campos obligatorios A. El Sistema informa al usuario mediante un mensaje en pantalla de error 129 B. El usuario corrige los datos y acepta 6. Problemas de conexión con el servidor A. El Sistema informa al usuario mediante un mensaje en pantalla de error Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) Post- Condiciones: Se ingresa el Proyecto en SIAP Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 130 CONSULTAR PROYECTO DE GRADO Identificador: CU004 Indispensable/Deseable: Indispensable Prioridad: 1 Nombre Caso de Uso: Consultar Proyecto de Grado Categoría (Visible/No visible): Actores involucrados: Administrador, Estudiante, Visible Director Resumen: Se permite consultar Proyectos de Grado, y sus campos correspondientes El Administrador puede consultar los datos de un Proyecto según filtros por Director o Asignatura de Proyecto de Grado. Para el Estudiante, sólo podrá consultar su Proyecto, y para los Directores, sólo los Proyectos que esta dirigiendo. La información que se mostrará de un Proyecto de Grado es: • • • • • • • Curso Básico Eventos: Título de Proyecto Subtítulo de Proyecto Director Jurados (si están asignados) Estudiantes de este Proyecto Entregas del Proyecto Observaciones Usuario 1. Selecciona la opcion "Consultar Proyecto de Grado", del menú Sistema 2. Se muestran los campos de filtros si es Administrador 3. Si hay filtros, se llena la información y se da click en el boton 4. Muestra los datos mencionados en el Resúmen, según la búsqueda en las bases de datos 5. El usuario consulta los datos y si considera necesario procede a observar las Entregas y/o Observaciones del Proyecto 6. Si el usuario elige ver Entregas se muestra una pantalla con estas, lo mismo para las Observaciones 131 Caminos de Excepción: 3. Información incorrectaen los filtros A. El Sistema informa al usuario mediante un mensaje en pantalla de error B. El usuario corrige los datos y acepta 6. Problemas de conexión con el servidor A. El Sistema informa al usuario mediante un mensaje en pantalla de error Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) Post- Condiciones: Se despliega la Información de Proyecto de Grado Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 132 ACTUALIZAR DATOS DE PROYECTO DE GRADO Identificador: CU005 Indispensable/Deseable: Indispensable Prioridad: 1 Nombre Caso de Uso: Actualizar Datos de Proyecto de Grado Categoría (Visible/No visible): Actores involucrados: Administrador Visible Resumen: Actualizar Datos de Proyecto de Grado en el sistema. La información que se permite capturar para actualizar un Proyecto es: • • • • Curso Básico Eventos: Título de Proyecto Subtítulo de Proyecto Área del Proyecto Estado del Proyecto Usuario 1. Selecciona la opcion "Actualizar Proyecto de Grado", del menú Sistema 2. Despliega formulario y solicita la información a registrar del Proyecto 3. Proceder a guardar la información por botón en el formulario. 4. Validar los campos requeridos y el formato de los que se haya especificado en la lista de campos a capturar. 5. Si los datos no son correctos, se deben presentar mensajes en el formulario referenciados a los campos con información incorrecta. 5. El usuario debe proceder a la corrección de los datos. 6. En caso que la información diligenciada, en su totalidad sea correcta se procede a la actualización del Proyecto. 7. Presentar mensaje de verificación de Actualización del Proyecto. Caminos de Excepción: 4. Información incorrecta, omisión de campos obligatorios A. El Sistema informa al usuario mediante un mensaje en pantalla de error 133 B. El usuario corrige los datos y acepta 6. Problemas de conexión con el servidor A. El Sistema informa al usuario mediante un mensaje en pantalla de error Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) Post- Condiciones: Se actualizan los datos del Proyecto en SIAP Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 134 INGRESAR OBSERVACIONES A PROYECTO DE GRADO Identificador: CU006 Indispensable/Deseable: Indispensable Prioridad: 2 Nombre Caso de Uso: Ingresar Observaciones a Proyecto de Grado Categoría (Visible/No visible): Actores involucrados: Administrador, Director Visible Resumen: Ingreso de una Observación relacionada según la calidad y evaluación de una Entrega correspondiente al Cronograma de Actividades para un Proyecto de Grado en el sistema. La información que se permite capturar para ingresar una Observación es: • • Curso Básico Eventos: Texto de la Observación Calificación de 0 a 5 Usuario 1. Selecciona la opcion "Ingresar Observación", del menú Sistema 2. Despliega formulario y solicita la información a registrar 3. Proceder a guardar la información por botón en el formulario. 4. Validar los campos requeridos y el formato de los que se haya especificado en la lista de campos a capturar. 5. Si los datos no son correctos, se deben presentar mensajes en el formulario referenciados a los campos con información incorrecta. 5. El usuario debe proceder a la corrección de los datos. 6. En caso que la información diligenciada, en su totalidad sea correcta se procede a guardar la Observación 7. Presentar mensaje de verificación de Ingreso de Observación Caminos de Excepción: 4. Información incorrecta, omisión de campos obligatorios A. El Sistema informa al usuario mediante un mensaje en pantalla de error 135 B. El usuario corrige los datos y acepta 6. Problemas de conexión con el servidor A. El Sistema informa al usuario mediante un mensaje en pantalla de error Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) Post- Condiciones: Se ingresa la Observación al Proyecto en SIAP Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 136 ENVIAR CORREOS Identificador: CU007 Indispensable/Deseable: Indispensable Prioridad: 3 Nombre Caso de Uso: Enviar Correos Categoría (Visible/No visible): Actores involucrados: Administrador, Director, Visible Estudiantes Resumen: Envío de Correos a Estudiantes, Directores de Proyectos o Coordinador de Proyectos Se solicita información básica de un correo, como para quien(es) va dirigido, Asunto, Mensaje Curso Básico Eventos: Usuario 1. Selecciona la opcion "Enviar Correo", del menú Sistema 2. Despliega formulario y solicita la información a registrar 3. Proceder a guardar la información por botón en el formulario. 4. Validar los campos requeridos y el formato de los que se haya especificado en la lista de campos a capturar. 5. Si los datos no son correctos, se deben presentar mensajes en el formulario referenciados a los campos con información incorrecta. 5. El usuario debe proceder a la corrección de los datos. 6. En caso que la información diligenciada, en su totalidad sea correcta se procede a Enviar el Correo 7. Presentar mensaje de verificación de Envío de Correo Caminos de Excepción: 4. Información incorrecta, omisión de campos obligatorios A. El Sistema informa al usuario mediante un mensaje en pantalla de error B. El usuario corrige los datos y acepta 6. Problemas de conexión con el servidor A. El Sistema informa al usuario mediante un mensaje en pantalla de error Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) 137 Post- Condiciones: El correo se envía a los destinatarios Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 138 ASIGNAR FECHAS AL CRONOGRAMA DE ACTIVIDADES Identificador: CU008 Indispensable/Deseable: Indispensable Prioridad: 1 Nombre Caso de Uso: Asignar Fechas al Cronograma de Actividades Categoría (Visible/No visible): Actores involucrados: Administrador Visible Resumen: Ingreso de una Fecha de una Entrega para los Proyectos de Grado La información que se permite capturar para ingresar una Entrega es: • • • • Curso Básico Eventos: Título de la Entrega Descripción de la Entrega Fecha de la Entrega Cronograma según Asignatura de Proyecto de Grado Usuario 1. Selecciona la opcion "Asignar Fechas al Cronograma de Actividades ", del menú Sistema 2. Despliega formulario y solicita la información a registrar 3. El usuario escoge el Cronograma especifico y llena los datos 4. Validar los campos requeridos y el formato de los que se haya especificado en la lista de campos a capturar. 5. Si los datos no son correctos, se deben presentar mensajes en el formulario referenciados a los campos con información incorrecta. 5. El usuario debe proceder a la corrección de los datos. 6. En caso que la información diligenciada, en su totalidad sea correcta se procede a ingresar la Fecha de la Entrega. 7. Presentar mensaje de verificación de Ingreso de Fecha de Entrega. Caminos de Excepción: 4. Información incorrecta, omisión de campos obligatorios A. El Sistema informa al usuario mediante un mensaje en pantalla de error 139 B. El usuario corrige los datos y acepta 6. Problemas de conexión con el servidor A. El Sistema informa al usuario mediante un mensaje en pantalla de error Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) Post- Condiciones: Se ingresa la Fecha correspondiente a la Entrega en SIAP Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 140 CONSULTAR CRONOGRAMA DE ACTIVIDADES Identificador: CU009 Indispensable/Deseable: Indispensable Prioridad: 1 Nombre Caso de Uso: Consultar Cronograma de Actividades Categoría (Visible/No visible): Actores involucrados: Administrador, Director, Visible Estudiantes Resumen: Se podrán verificar las actividades relacionadas al Calendario, el Administrador podrá verificar cualquier calendario que corresponde a una asignatura de Proyecto de Grado, el Director y Estudiantes solo podrá consultar el Cronograma asignado a su(s) Proyecto(s) de Grado correspondientes Los datos que se mostrarán son Fecha Máxima de Entrega, Título de Entrega, Descripción de la Entrega. Curso Básico Eventos: Usuario 1. Selecciona la opcion "Consultar Cronograma de Actividades ", del menú Sistema 2. Se muestra en pantalla una tabla con las actividades correspondientes y sus datos Caminos de Excepción: Ninguno Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) Post- Condiciones: Se muestran los datos del Cronograma Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 141 INGRESAR DOCENTE Identificador: CU010 Indispensable/Deseable: Indispensable Prioridad: 1 Nombre Caso de Uso: Ingresar Docente Categoría (Visible/No visible): Actores involucrados: Administrador Visible Resumen: Ingreso de Docente en el sistema. La información que se permite capturar para ingresar un docente es: • • • • • • • • • Curso Básico Eventos: Documento de Identificación (Cédula) Nombres Apellidos Correo de la Universidad Correo Alterno (opcional) Teléfono Teléfono Móvil (opcional) Teléfono Oficina Estado del Docente Usuario 1. Selecciona la opcion "Ingresar Docente", del menú Sistema 2. Despliega formulario y solicita la información a registrar del Docente 3. Proceder a guardar la información por botón en el formulario. 4. Validar los campos requeridos y el formato de los que se haya especificado en la lista de campos a capturar. 5. Si los datos no son correctos, se deben presentar mensajes en el formulario referenciados a los campos con información incorrecta. 5. El usuario debe proceder a la corrección de los datos. 6. En caso que la información diligenciada, en su totalidad sea correcta se procede a la inserción del Docente. 7. Presentar mensaje de verificación de Ingreso del Docente. Caminos de Excepción: 4. Información incorrecta, omisión de campos obligatorios 142 A. El Sistema informa al usuario mediante un mensaje en pantalla de error B. El usuario corrige los datos y acepta 6. Problemas de conexión con el servidor A. El Sistema informa al usuario mediante un mensaje en pantalla de error Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) Post- Condiciones: Se ingresa el Docente en SIAP Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 143 ACTUALIZAR DOCENTE Identificador: CU011 Indispensable/Deseable: Indispensable Prioridad: 1 Nombre Caso de Uso: Actualizar Docente Categoría (Visible/No visible): Actores involucrados: Administrador Visible Resumen: Actualización de Datos de Docentes en el sistema. El Administrador puede actualizar los datos de un Docente La información que se permite actualizar para actualizar un docente es: • • • • • • • • • • Curso Básico Eventos: Documento de Identificación (Cédula) Nombres Apellidos Correo de la Universidad Correo Alterno (opcional) Teléfono Teléfono Móvil (opcional) Teléfono Oficina Estado del Docente Área de Proyectos de Grado Usuario 1. Selecciona la opcion "Actualizar Docente", del menú Sistema 2. Despliega formulario y solicita la información a registrar del Docente 3. Proceder a guardar la información por botón en el formulario. 4. Validar los campos requeridos y el formato de los que se haya especificado en la lista de campos a capturar. 5. Si los datos no son correctos, se deben presentar mensajes en el formulario referenciados a los campos con información incorrecta. 5. El usuario debe proceder a la corrección de los datos. 144 6. En caso que la información diligenciada, en su totalidad sea correcta se procede a la actualización del Docente. 7. Presentar mensaje de verificación de Actualización del Docente. Caminos de Excepción: 4. Información incorrecta, omisión de campos obligatorios A. El Sistema informa al usuario mediante un mensaje en pantalla de error B. El usuario corrige los datos y acepta 6. Problemas de conexión con el servidor A. El Sistema informa al usuario mediante un mensaje en pantalla de error Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) Post- Condiciones: Se actualiza el Docente en SIAP Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 145 INGRESAR DIRECTOR DE PROYECTO DE GRADO Identificador: CU012 Indispensable/Deseable: Indispensable Prioridad: 1 Nombre Caso de Uso: Ingresar Director de Proyecto de Grado Categoría (Visible/No visible): Actores involucrados: Administrador Visible Resumen: Ingreso de Director de Proyectos de Grado en el sistema. Se selecciona un docente y un proyecto de grado para asociarlos. Curso Básico Eventos: Usuario 1. Selecciona la opcion "Ingresar Director de Proyecto de Grado", del menú Sistema 2. Se solicita la información a registrar del Director, en este caso es escoger un Docente y un proyecto de grado de una lista que despliega el sistema 3. Proceder a guardar la información por botón en el formulario. 4. Validar los campos requeridos y el formato de los que se haya especificado en la lista de campos a capturar. 5. Presentar mensaje de verificación de Ingreso del Docente. Caminos de Excepción: 4. Información incorrecta, omisión de campos obligatorios A. El Sistema informa al usuario mediante un mensaje en pantalla de error B. El usuario corrige los datos y acepta 5. Problemas de conexión con el servidor A. El Sistema informa al usuario mediante un mensaje en pantalla de error Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) El director debe estar previamente registrado en SIAP como Docente El Proyecto debe estar previamente registrado en SIAP Post- Condiciones: Se ingresa el Director de Proyecto de Grado en SIAP Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 146 INGRESAR JURADOS DE FORMA AUTOMÁTICA Identificador: CU012 Indispensable/Deseable: Indispensable Prioridad: 2 Nombre Caso de Uso: Ingresar Jurados de forma Automática Categoría (Visible/No visible): Actores involucrados: Administrador Visible Resumen: Se asignan jurados de manera automática a los proyectos de grado que no tiene asignado jurados. Curso Básico Eventos: Usuario 1. Selecciona la opcion "Asignar Jurados de forma automática", del menú Sistema 2. El sistema hace la asignación automática y muestra un mensaje de éxito o fracaso Caminos de Excepción: 2. Problemas al realizar la asignación A. El Sistema informa mediante un mensaje de error en pantalla Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) Post- Condiciones: Se asignan los Jurados en SIAP Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 147 INGRESAR JURADO DE FORMA MANUAL Identificador: CU014 Indispensable/Deseable: Indispensable Prioridad: 2 Nombre Caso de Uso: Ingresar Jurado de forma Manual Categoría (Visible/No visible): Actores involucrados: Administrador Visible Resumen: Ingreso de Jurado en el sistema. Se selecciona un docente y un proyecto de grado para asociarlos. Curso Básico Eventos: Usuario 1. Selecciona la opcion "Ingresar Jurado", del menú Sistema 2. Se solicita la información a registrar del Jurado, en este caso es escoger un Docente y un proyecto de grado de una lista que despliega el sistema 3. Proceder a guardar la información por botón en el formulario. 4. Validar los campos requeridos y el formato de los que se haya especificado en la lista de campos a capturar. 5. Presentar mensaje de verificación de Ingreso del Jrado. Caminos de Excepción: 4. Información incorrecta, omisión de campos obligatorios A. El Sistema informa al usuario mediante un mensaje en pantalla de error B. El usuario corrige los datos y acepta 5. Problemas de conexión con el servidor A. El Sistema informa al usuario mediante un mensaje en pantalla de error Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) El Jurado debe estar previamente registrado en SIAP como Docente El Proyecto debe estar previamente registrado en SIAP Post- Condiciones: Se ingresa el Jurado en SIAP Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 148 INGRESAR ENTREGA DE PROYECTO DE GRADO Identificador: CU015 Indispensable/Deseable: Indispensable Prioridad: 1 Nombre Caso de Uso: Ingresar Entrega de Proyecto de Grado Categoría (Visible/No visible): Actores involucrados: Estudiante Visible Resumen: Ingreso de una Entrega relacionada según Cronograma de Actividades para un Proyecto de Grado en el sistema. La información que se permite capturar para ingresar una Entrega es: • • • Curso Básico Eventos: Título Descripción Archivo Usuario 1. Selecciona la opcion "Ingresar Entrega", del menú, luego de haber seleccionado una Actividad del Cronograma Sistema 2. Despliega formulario y solicita la información a registrar 3. Proceder a guardar la información por botón en el formulario. 4. Validar los campos requeridos y el formato de los que se haya especificado en la lista de campos a capturar. 5. Si los datos no son correctos, se deben presentar mensajes en el formulario referenciados a los campos con información incorrecta. 5. El usuario debe proceder a la corrección de los datos. 6. En caso que la información diligenciada, en su totalidad sea correcta se procede a guardar la Entrega 7. Presentar mensaje de verificación de Ingreso de Entrega Caminos de Excepción: 4. Información incorrecta, omisión de campos obligatorios A. El Sistema informa al usuario mediante un mensaje en pantalla de error 149 B. El usuario corrige los datos y acepta 6. Problemas de conexión con el servidor A. El Sistema informa al usuario mediante un mensaje en pantalla de error Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) Usuario ha selecionado consultar el Cronograma de Actividades, y luego hace click en la Actividad correspondiente a la Entrega que desearealizar Post- Condiciones: Se ingresa la Entrega al Proyecto en SIAP Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 150 CONSULTAR ENTREGA DE PROYECTO DE GRADO Identificador: CU016 Indispensable/Deseable: Indispensable Prioridad: 1 Nombre Caso de Uso: Consultar Entrega de Proyecto de Grado Categoría (Visible/No visible): Actores involucrados: Administrador, Director, Visible Estudiante Resumen: Se permite consultar las Entregas ingresadas de los Proyectos de Grado La información que se mostrará de una Entrega de Proyecto de Grado es: • • • Curso Básico Eventos: Título de Entrega Descripción Archivo Asociado Usuario 1. Selecciona la opcion "Consultar Entregas", del menú Sistema 2. Muestra los datos mencionados en el Resúmen, según la búsqueda en las bases de datos para los proyectos finalizados 3. El usuario consulta los datos y puede guardar o abrir el Archivo solicitado Caminos de Excepción: 2. Problemas al realizar la asignación A. El Sistema informa mediante un mensaje de error en pantalla Pre – Condiciones: Usuario debe estar registrado en la apliación Usuario ingresar a la aplicación (Nombre de usuario - Clave) Post- Condiciones: Se despliega la Información de la Entrega de Proyecto de Grado Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 151 CONSULTAR PROYECTO DE GRADO FINALIZADOS Identificador: CU017 Indispensable/Deseable: Indispensable Prioridad: 3 Nombre Caso de Uso: Consultar Proyecto de Grado finalizados Categoría (Visible/No visible): Actores involucrados: Usuario Anónimo Visible Resumen: Se permite consultar Proyectos de Grado finalizados Cualquier usuario que puede ser externo a la Universidad, puede consultar ls documentos finales de un Proyecto de Grado ya terminado de la Carrera La información que se mostrará de un Proyecto de Grado es: • • • • • Curso Básico Eventos: Título de Proyecto Subtítulo de Proyecto Director Estudiantes de este Proyecto Entregas Final Usuario 1. Selecciona la opcion "Consultar Proyecto de Grado", del menú Sistema 2. Muestra los datos mencionados en el Resúmen, según la búsqueda en las bases de datos para los proyectos finalizados 3. El usuario consulta los datos y si considera necesario procede a observar la Entrega Final del Proyecto 4. Si el usuario elige ver la Entrega se despliega un cuadro de dialogo para abrir o guardar el archivo correspondiente Caminos de Excepción: 2. Problemas al realizar la asignación A. El Sistema informa mediante un mensaje de error en pantalla Pre – Condiciones: El Usuario ingresa a SIAP como anónimo Post- Condiciones: Se despliega la Información de Proyecto de Grado Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 152 CONSULTAR INDICADORES DE AVANCE DE LOS PROYECTOS Identificador: CU018 Indispensable/Deseable: Indispensable Prioridad: 3 Nombre Caso de Uso: Consultar Indicadores de Avance del Proyecto Categoría (Visible/No visible): Actores involucrados: Administrador , Director Visible Resumen: Se permite consultar los indicadores de avance de los Proyectos de Grado Para esto, los Proyectos tienen observaciones asociadas al proceso de desarrollo de cada uno de estos, estas observaciones son ingresadas previamente por el Coordinador de Proyectos de Grado y Director del Proyecto. Estas observaciones estan asociadas a una calificación, en base a esta calificación el Sistema obtiene un Indicador que evidencia el avance de cada Proyecto de Grado Esta calificación muestra un semaforo: Color verde: Promedio de Calificaciones mayor a 4 Color amarillo: Promedio de Calificaicones entre 3 y 4 Color Rojo: Promedio de Calificaciones menor a 3 Curso Básico Eventos: Usuario 1. Selecciona la opcion "Consultar Indicadores de Proyecto de Grado", del menú Sistema 2. El Sistema ofrece la opción de filtrar por Area 3. El usuario consulta según el filtro 4. Despliega la Información de los Proyectos con el semaforo indicado según su promedio de calificaicones Caminos de Excepción: 4. Problemas de conexión con el servidor A. El Sistema informa al usuario mediante un mensaje en pantalla de error Pre – Condiciones: Post- Condiciones: Se despliega la Información de los indicadores de Proyecto de Grado Aprobación del Cliente: Si: X No: Corregir: Aprobado por Ing. Hilda Chaparro, Ing Adith Perez 153 PLAN DE PRUEBAS SIAP PROPOSITO Se llevará a cabo un proceso que verifique la calidad de este Sistema de Información SIAP, junto con los clientes, de manera que se lleve a cabo un control de la aceptación del producto. Teniendo en cuenta: - Validación de los datos. - Validación de la funcionalidad. - Validación de la interfaz de Usuario. A continuación se describe el desarrollo de este plan de pruebas, que se ha llevado por módulos, donde cada módulo es tomado como las funcionalidades que se le han asignado a cada rol de SIAP, descrito en los requerimientos del Sistema. Módulo Administrador Ingreso de Estudiantes 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Ingrese con usuario:”siap”, contraseña:”siap” Menú principal -> Estudiantes. Menú Estudiantes -> Ingresar Estudiante Aparece el formulario con los datos para ingresar al Estudiante Se validan los tipos de datos y la coherencia entre los campos nulos, para esto son ingresados Se ingresa una cédula no existente y un correo de la javeriana no existente Se procede a dar clic en el botón de Aceptación El Sistema informa el éxito de un ingreso Se comprueba que el estudiante haya sido ingresado, consultando las bases de datos El Cliente aprueba Actualización de Estudiantes 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Ingrese con usuario:”siap”, contraseña:”siap” Menú principal -> Estudiantes. Menú Estudiantes -> Consultar/Actualizar Estudiante Aparece un formulario de filtros para buscar al Estudiante Se valida que los filtros traigan la información correcta Aparece una tabla de Estudiantes, se escoge cualquiera y se da click en el botón de Actualizar Aparece el formulario con los datos para actualizar del Estudiante Se validan los tipos de datos y la coherencia entre los campos nulos Se ingresa una cédula no existente y un correo de la javeriana no existente, para probar que si cambie los datos, pero haciendo la validación Se procede a dar clic en el botón de Aceptación El Sistema informa el éxito de la actualización Se comprueba que el estudiante haya sido actualizado, consultando las bases de datos El Cliente aprueba 154 Ingreso de Proyectos de Grado 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Ingrese con usuario:”siap”, contraseña:”siap” Menú principal -> Proyectos de Grado Menú Proyectos de Grado -> Ingresar Proyecto de Grado Aparece el formulario con los datos para ingresar el Proyecto Se validan los tipos de datos y la coherencia entre los campos nulos Se ingresa un titulo no existente y una página del Proyecto no existente Se procede a dar clic en el botón de Aceptación El Sistema informa el éxito de un ingreso Se comprueba que el Proyecto haya sido ingresado, consultando las bases de datos El Cliente aprueba Consulta de Proyectos de Grado 1. 2. 3. 4. 5. 6. Ingrese con usuario:”siap”, contraseña:”siap” Menú principal -> Proyectos de Grado Menú Proyectos de Grado -> Consultar/Actualizar Proyecto de Grado Aparece un formulario de filtros para buscar el(los) Proyectos Se valida que los filtros traigan la información correcta Aparece una tabla de Proyectos, donde muestra los datos del Título, Subtítulo, Director, Estudiantes, Pagina Web del Proyecto, y las entregas relacionadas de este Proyecto 7. Se valida que se muestre la información correcta del Proyecto 8. El Cliente aprueba Actualizar Datos de Proyectos de Grado 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Ingrese con usuario:”siap”, contraseña:”siap” Menú principal -> Proyectos de Grado Menú Proyectos de Grado -> Consultar/Actualizar Proyecto de Grado Aparece un formulario de filtros para buscar el(los) Proyectos Se valida que los filtros traigan la información correcta Aparece una tabla de Proyectos, se escoge cualquiera y se da click en el botón de Actualizar Aparece el formulario con los datos para actualizar del Proyecto Se validan los tipos de datos y la coherencia entre los campos nulos Se actualiza con un Título no existente y una Página Web del Proyecto no existente, para probar que si cambie los datos, pero haciendo la validación Se procede a dar clic en el botón de Aceptación El Sistema informa el éxito de la actualización Se comprueba que el proyecto haya sido actualizado, consultando las bases de datos El Cliente aprueba 155 Ingresar Observaciones a Proyectos de Grado 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Ingrese con usuario:”siap”, contraseña:”siap” Menú principal -> Proyectos de Grado Menú Proyectos de Grado -> Consultar/Actualizar Proyecto de Grado Aparece un formulario de filtros para buscar el(los) Proyectos Se valida que los filtros traigan la información correcta Aparece una tabla de Proyectos, donde muestra los datos del Título, Subtítulo, Director, Estudiantes, Pagina Web del Proyecto, y las entregas relacionadas de este Proyecto Se escoge el Proyecto y se da Consultar Entregas Aparecen las Entregas del Proyecto que los estudiantes han ingresado en SIAP Se escoge una de las Entregas y se da click en hacer Observación Aparece un formulario para hacer la Observación respectiva y simultáneamente se da una calificación de 1 a 5 con respecto a esta entrega. El Sistema informa el éxito de la operación Se comprueba que la Observación haya sido ingresada, consultando las bases de datos El Cliente aprueba Enviar Correos 1. Ingrese con usuario:”siap”, contraseña:”siap” 2. Menú principal -> Enviar Correos 3. Aparece el formulario de Envío de Correos, se ingresa a quien(es) va dirigido, para esto se puede hacer uso de la consulta de los correos de Docentes y Estudiantes inscritos en SIAP 4. Se prueba esta funcionalidad de búsqueda de correos y se valida que estén correctos los datos y se escogen los destinatarios 5. Se llena el campo de Asunto y el del cuerpo del Mensaje 6. Se da click en el botón de enviar 7. Se valida que el correo haya sido enviado 8. El Cliente aprueba Asignación de Fechas al Cronograma de Actividades 1. 2. 3. 4. 5. 6. 7. 8. Ingrese con usuario:”siap”, contraseña:”siap” Menú principal -> Fechas y Cronograma Menú Fechas y Cronograma-> Asignar Fecha de Entrega Aparece el Cronograma con sus Actividades y Fechas respectivas Se ingresa una nueva Actividad con su Fecha de plazo para la entrega El sistema muestra el mensaje de éxito y agrega la nueva actividad al cronograma Se comprueba que las fechas hayan sido asignadas, consultando las bases de datos El Cliente aprueba 156 Consultar Cronograma de Actividades 1. 2. 3. 4. 5. Ingrese con usuario:”lforero”, contraseña:”lforero” Con este usuario se ingresa al Sistema como estudiante Menú principal -> Fechas y Cronograma Se despliega una tabla con las actividades relacionadas y sus respectivas Fechas El Cliente aprueba Ingreso de Docentes 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Ingrese con usuario:”siap”, contraseña:”siap” Menú principal -> Docentes. Menú Docentes -> Ingresar Docente Aparece el formulario con los datos para ingresar al Docente Se validan los tipos de datos y la coherencia entre los campos nulos Se ingresa una cédula no existente y un correo de la javeriana no existente Se procede a dar clic en el botón de Aceptación El Sistema informa el éxito de un ingreso Se comprueba que el docente haya sido ingresado, consultando las bases de datos El Cliente aprueba Actualización de Docentes 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Ingrese con usuario:”siap”, contraseña:”siap” Menú principal -> Docentes Menú Docentes -> Consultar/Actualizar Docentes Aparece un formulario de filtros para buscar al Docentes Se valida que los filtros traigan la información correcta Aparece una tabla de Docentes, se escoge cualquiera y se da click en el botón de Actualizar Aparece el formulario con los datos para actualizar del Docentes Se validan los tipos de datos y la coherencia entre los campos nulos Se ingresa una cédula no existente y un correo de la javeriana no existente, para probar que si cambie los datos, pero haciendo la validación Se procede a dar clic en el botón de Aceptación El Sistema informa el éxito de la actualización Se comprueba que el docente haya sido actualizado, consultando las bases de datos El Cliente aprueba Ingreso de Director de Proyecto de Grado 1. 2. 3. 4. 5. 6. Ingrese con usuario:”siap”, contraseña:”siap” Menú principal -> Docentes Menú Docentes -> Directores de Proyecto de Grado Menú Directores de Proyecto de Grado -> Ingresar Director de Proyecto de Grado Aparece el formulario con los datos para ingresar al Director Se escoge de una lista de docentes, el director, y se escoge de una lista de proyectos sin director, el Proyecto al que se le asignara 7. Se valida que se muestren los datos correctos de las listas mencionadas. 8. Se procede a dar clic en el botón de Aceptación 157 9. El Sistema informa el éxito de un ingreso 10. Se comprueba que el Director haya sido ingresado, consultando las bases de datos 11. El Cliente aprueba Ingreso de Jurados en forma automática 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Ingrese con usuario:”siap”, contraseña:”siap” Menú principal -> Docentes Menú Docentes -> Jurados de Proyecto de Grado Menú Jurados de Proyecto de Grado -> Ingresar Jurado de Proyecto de Grado Aparece el formulario con los datos para ingresar al Jurado Se escoge en el formulario Asignación Automática El Sistema debe hacer la asignación a todos los proyectos que hasta el momento no tengan registrado los dos jurados Se valida que se hagan las asignaciones en forma correcta Se procede a dar clic en el botón de Aceptación El Sistema informa el éxito Se comprueba que los jurados hayan sido asignados, consultando las bases de datos El Cliente aprueba Ingreso de Jurados en forma manual 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Ingrese con usuario:”siap”, contraseña:”siap” Menú principal -> Docentes Menú Docentes -> Jurados de Proyecto de Grado Menú Jurados de Proyecto de Grado -> Ingresar Jurado de Proyecto de Grado Aparece el formulario con los datos para ingresar al Jurado Se escoge de una lista el jurado, que previamente debe estar registrado como docente en SIAP, y se escoge un proyecto de una lista de Proyectos que aun no tienen esta asignación Se valida que las listas traigan la información correcta Se procede a Aceptar la asignación El Sistema informa el éxito Se comprueba que el jurado haya sido asignado, consultando las bases de datos El Cliente aprueba Ingresar Entrega de Proyectos de Grado 1. Ingrese con usuario:”lforero”, contraseña:”lforero” 2. Menú principal -> Fechas y Cronograma 3. Aparece la tabla con las Actividades para ingresar la Entrega respectiva, aparece tanto el titulo como la fecha y una breve descripción de la Actividad 4. Se procede a escoger una actividad y se da click en Ingresar Entrega 5. Se valida que la Actividad no haya pasado la fecha correspondiente 6. Se escoge un archivo y se da clic en Aceptar 7. El sistema sube el archivo correspondiente y confirma el éxito 8. Se comprueba que la entrega haya sido ingresada, consultando las bases de datos 9. El Cliente aprueba 158 Consultar Entrega de Proyectos de Grado 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Ingrese con usuario:”siap”, contraseña:”siap” Menú principal -> Proyectos de Grado Menú Proyectos de Grado -> Consultar/Actualizar Proyecto de Grado Aparece un formulario de filtros para buscar el(los) Proyectos Se valida que los filtros traigan la información correcta Aparece una tabla de Proyectos, donde muestra los datos del Título, Subtítulo, Director, Estudiantes, Pagina Web del Proyecto, y las entregas relacionadas de este Proyecto Se escoge el Proyecto y se da Consultar Entregas Aparecen las Entregas del Proyecto que los estudiantes han ingresado en SIAP Se escoge una de las Entregas y se da click en hacer Consultar El Sistema muestra un cuadro de dialogo que permite la opción de descargar al equipo o de abrir desde la ubicación el archivo correspondiente a la entrega Se descarga el archivo y se verifica al abrirlo El Cliente aprueba Consultar Proyectos de Grado Finalizados 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Se ingresa al Sistema pero no es necesario llenar los campos de Usuario y Contraseña Se escoge Consultar Proyectos Aparece un formulario de filtros para buscar el(los) Proyectos Se valida que los filtros traigan la información correcta Aparece una tabla de Proyectos, donde muestra los datos del Título, Subtítulo, Director, Estudiantes, Pagina Web del Proyecto, y las entregas relacionadas de este Proyecto Se escoge el Proyecto y se da Consultar El Sistema permite mostrar la Entrega Final de este Proyecto Escogido El Sistema muestra un cuadro de dialogo que permite la opción de descargar al equipo o de abrir desde la ubicación el archivo correspondiente Se descarga el archivo y se verifica al abrirlo El Cliente aprueba Consultar Indicadores de Avance de los Proyectos 1. Ingrese con usuario:”siap”, contraseña:”siap” 2. Menú principal -> Proyectos de Grado 3. Menú Proyectos de Grado -> Consultar Indicadores de Gestión 4. Aparece un formulario de filtros para buscar el(los) Proyectos 5. Se valida que los filtros traigan la información correcta 6. Aparece una tabla de Proyectos, donde muestra los semáforos (ver tabla de requerimientos) 7. El Cliente aprueba 159