UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA CARRERA DE INGENIERÍA INFORMÁTICA

Tamaño: px
Comenzar la demostración a partir de la página:

Download "UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA CARRERA DE INGENIERÍA INFORMÁTICA"

Transcripción

1 UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA CARRERA DE INGENIERÍA INFORMÁTICA SISTEMA DE SEGUIMIENTO DE PROYECTOS, BASADO EN ACTIVIDADES TIPO ILALO V. 1 TRABAJO DE GRADUACIÓN PREVIO LA OBTENCIÓN DEL TÍTULO DE INGENIERO INFORMÁTICO AUTOR: Vizuete Oñate Fausto Paúl TUTOR : Ing. Morales Mejía César Augusto QUITO-ECUADOR 2015

2 DEDICATORIA A Carla Gabriela, que él espíritu inocente de tú madre permanezca siempre vivo en ti. ii

3 AGRADECIMIENTO A mis padres y familiares por el apoyo durante toda mi vida. A mi tutor Ing. César Morales, por guiarme en el desarrollo de mi tesis. A mis revisores los ingenieros: Mauro Rosas y René Carrillo por sus aportes y observaciones finales en el desarrollo de este trabajo. Así como el resto de docentes que fueron mis profesores, por las enseñanzas brindadas en mi formación superior. iii

4 AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL Yo, Vizuete Oñate Fausto Paúl en calidad de autor del trabajo de investigación o tesis realizada sobre SISTEMA DE SEGUIMIENTO DE PROYECTOS, BASADO EN ACTIVIDADES TIPO ILALO V. 1, por la presente autorizo a la UNIVERSIDAD CENTRAL DEL ECUADOR, hacer uso de todos los contenidos que me pertenecen o de parte de los que contiene esta obra, con fines estrictamente académicos o de investigación. Los derechos que como autor me corresponden, con la excepción de la presente autorización, seguirán vigentes a mi favor, de conformidad con lo establecido en los artículos 5, 6, 8; 19 y demás pertenecientes de la Ley de Propiedad Intelectual y su Reglamento. Quito, 4 de abril del 2015 iv

5 CERTIFICICACION DEL TUTOR v

6 INFORME SOBRE LA CONCLUSIÓN DEL TRABAJO DE GRADUACIÓN SISTEMA DE SEGUIMIENTO DE PROYECTOS, BASADO EN ACTIVIDADES TIPO ILALO V Antecedentes Con oficio DC. IF del 29 de agosto del 2013, el Director de la Carrera de Ingeniería Informática designa al Ing. Morales Mejía César Augusto, que en calidad de TUTOR analice, dirija y oriente el trabajo de graduación titulado: SISTEMA DE SEGUIMIENTO DE PROYECTOS, BASADO EN ACTIVIDADES TIPO ILALO V. 1, presentado por él Señor Vizuete Oñate Fausto Paúl con el objetivo de obtener él título de Ingeniero Informático, y que emita un informe sobre la ejecución del mismo a su finalización: 2.- Desarrollo del Trabajo de Graduación Para dar cumplimiento al anterior oficio mencionado se procedió a revisar él avance de la ejecución del trabajo, posteriormente él graduado realizo bajo mi supervisión las siguientes actividades: Se cumplió con las horas de tutoría planificadas, divididas en reuniones con el mencionado alumno y participación en el aula virtual. Revisión de los distintos capítulos que conforman esta tesis. Seguimiento de la metodología de desarrollo empleada en la tesis. Revisión del sistema y posteriores pruebas con datos reales, para poder probar las distintas funcionalidades del mismo. vi

7 3.- Conclusión Por lo anteriormente señalado el trabajo presentado por él Señor VIZUETE OÑATE FAUSTO PAÚL, considero que cumple con los requisitos de un trabajo de graduación previo a la obtención del titulo de Ingeniero Informático. En la ciudad de Quito a los 31 días del mes de marzo del vii

8 NOTAS REVISORES viii

9 ix

10 CONTENIDO DEDICATORIA...ii AGRADECIMIENTO...iii AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL...iv CERTIFICICACION DEL TUTOR...v INFORME SOBRE LA CONCLUSIÓN DEL TRABAJO DE GRADUACIÓN...vi 1.- Antecedentes...vi 2.- Desarrollo del Trabajo de Graduación...vi 3.- Conclusión...vii NOTAS REVISORES...viii LISTA DE CUADROS...xvi LISTA DE GRÁFICOS...xvii LISTA DE FIGURAS...xvii RESUMEN...xxi ABSTRACT...xxii CAPÍTULO PRESENTACIÓN DEL PROBLEMA Planteamiento del Problema Formulación del Problema Interrogantes de la Investigación Objetivos de la Investigación Objetivo General Objetivos Específicos Alcance Arquitectura de Desarrollo...3 Comparación entre Lenguajes de Programación...3 Comparación entre Motores de Bases de Datos...5 Comparación entre Frameworks PHP...6 Sistema Multiplataforma...7 Sistema Gestor de Base de Datos MySQL...7 Lenguaje de Programación PHP...8 Arquitectura de software: Modelo Vista Controlador (MVC), implementados a través del framework LARAVEL...9 Servidor Web Apache Limitaciones Justificación e Importancia...12 CAPÍTULO Metodología de Proyectos Antecedentes Metodología de Investigación...13 x

11 2.2.1 Proyectos...13 Qué es un proyecto?...13 Tipos de Proyectos...14 Proyectos Agropecuarios...14 Proyectos Industriales...14 Proyecto de Infraestructura Económica...14 Proyectos de Infraestructura Social...14 Proyectos de Servicio Ciclo de un proyecto Identificación Formulación...15 El nombre o título del proyecto...16 La definición de objetivos...16 Fundamentación o justificación...17 Descripción del proyecto...17 La matriz de actividades o diagrama Gantt...19 El presupuesto...20 Los aportes propios Implementación...21 Funciones en la Administración de Proyectos Evaluación...22 De procesos...23 De resultados o Evaluación Final...23 Naturaleza de la evaluación...23 Criterios en la evaluación...24 Población o beneficiarios...25 Sustentabilidad...25 Eficacia...25 Eficiencia o análisis costo-beneficio...25 Calidad...25 Qué es un sistema de seguimiento de proyectos?...26 Beneficios del sistema de seguimiento de proyectos Sistemas Web...27 Arquitectura Cliente Servidor...27 Arquitectura de Tres Capas...27 Capa de presentación...27 Capa de negocio...27 Capa de datos...27 Modelo-Vista-Controlador (MVC)...28 Ventajas de las aplicaciones web...30 Desventajas de las aplicaciones Web...30 Navegadores Web...31 CAPÍTULO METODOLOGÍA...32 Metodología de Desarrollo de Software en Cascada Análisis de Requerimientos Definiciones, Acrónimos y Abreviaturas...33 xi

12 3.1.2 Visión General Descripción General...35 Perspectiva del Producto...35 Funcionalidades del Sistema...35 Módulo Perfil de Usuario...35 Módulo Perfil de Gestor de Proyecto...35 Módulo Perfil de Administración Requerimientos Generales Requerimientos Específicos...37 Requerimientos Funcionales Requerimientos de Prestaciones Requerimientos de Interfaz...40 Requerimientos de la interfaz software Requerimientos Operacionales Requerimientos de Verificación Requerimientos de Pruebas de Aceptación Requerimientos de Documentación Requerimientos de Calidad Diseño Diagramas UML de Casos de uso...44 Diagrama General de ILALO V Gestión de Usuarios...44 Gestión de Organizaciones...45 Gestión de Proyectos...45 Gestión de Actividades...46 Gestión de Etapas...46 Gestión de Tareas...47 Gestión de Recursos Maquetación Web del Sistema...48 Index...48 Login...49 Sesión Administrador...50 Sesión Administrador-Proyectos-Nuevo...50 Sesión Administrador-Proyectos-Listado...51 Sesión Administrador-Usuarios-Nuevo...51 Sesión Administrador-Usuarios-Listado...52 Sesión Administrador-Reportes...53 Sesión Usuario...54 Sesión Usuario-Proyectos-Listado...54 Sesión Usuario-Reportes Diagramas de Robustez...55 Gestión de Usuarios...55 Gestión de Organizaciones...56 Gestión de Proyectos...58 Gestión de Actividades...59 Gestión de Etapas...61 Gestión de Tareas...62 Gestión de Recursos...64 xii

13 3.2.4 Modelo de Datos Codificación Arquitectura de Software...68 Estructura del Proyecto...68 Directorio Raíz...68 app /...69 commands...69 config...69 controllers...70 database...70 lang...70 models...70 start...70 storage...70 tests...70 views...70 filters.php...71 routes.php...71 bootstrap /...71 autoload.php...71 paths.php...71 start.php...71 vendor...72 public...72 packages...72.htaccess...72 favicon.ico...73 index.php...73 robots.txt...73.gitattributes...73.gitignore...73 artisan...73 composer.json y composer.lock...73 phpunit.xml...74 Plantillas Blade...74 Introducción...74 Componentes Externos...74 Zizaco/Confide...75 Zizaco/Entrust...75 JpGraph...75 Dompdf...75 Diseño Web...75 Twitter Bootstrap Desarrollo del Sistema en LARAVEL...77 Modelo...77 Vista...78 Controlador...80 Ruta...80 xiii

14 3.4 Pruebas Pruebas Unitarias...82 Caso de prueba Crear Usuario...83 Caso de prueba Confirmar Usuario...83 Caso de prueba Crear Organización...84 Caso de prueba Editar Organización...85 Caso de prueba Eliminar Organización...85 Caso de prueba Crear Proyecto...86 Caso de prueba Editar Proyecto...86 Caso de prueba Eliminar Proyecto...87 Caso de prueba Crear Nivel...87 Caso de prueba Editar Nivel...87 Caso de prueba Eliminar Nivel...88 Caso de prueba Crear Actividad...88 Caso de prueba Editar Actividad...88 Caso de prueba Eliminar Actividad...89 Caso de prueba Crear Tarea...89 Caso de prueba Editar Tarea...90 Caso de prueba Eliminar Tarea...90 Caso de prueba Crear Recurso...91 Caso de prueba Editar Recurso...91 Caso de prueba Eliminar Recurso Pruebas de Integración Pruebas de Estrés...94 Pruebas de Estrés con Apache Bench...94 Procedimiento de la Prueba de Estrés Mantenimiento...99 CAPÍTULO CONCLUSIONES Y RECOMENDACIONES Conclusiones Recomendaciones GLOSARIO DE TERMINOS BIBLIOGRÁFIA Referencias Bibliográficas Referencias Web ANEXOS ANEXO A MANUAL DE USUARIO Objetivo Requerimientos Ingreso al sistema Opciones generales para todos los Perfiles Opción Nuevo Opción Eliminar Opción Editar Módulo de Reportes xiv

15 Reportes en Pdf Reportes en Word Reportes en formato Excel Opciones Perfil Administrador Usuarios Organización Proyectos Estados Etapas Actividades Tareas Recursos ANEXO B MANUAL DE TÉCNICO Objetivo Herramientas Empleadas Instalación del Ambiente de Software Instalación de PHP, Apache y MySQL en GNU/Linux Instalación de PHP Instalación de Apache Instalación de MySQL Instalación de phpmyadmin Instalación de PHP, Apache y MySQL en Windows Acceder al panel de Control de XAMPP El panel de control de XAMPP y el cortafuegos de Windows Instalación de Composer Instalación de Composer en GNU/Linux Instalar Composer globalmente Instalar Composer en Windows Instalación de LARAVEL Restauración de ILALO V Levantamiento de la base de datos Instalación de Componentes Externos Configuración de Zizaco/Confide Creación del Modelo User Configuración de Zizaco/Entrust Creación del Modelo Roles Configuración de Dompdf Configuraciones Varias Restauración de los archivos del proyecto ANEXO C DICCIONARIO DE DATOS Objetivo Tablas del Sistemas activities Índices assigned_roles Índices categories xv

16 Índices levels Índices organizations Índices password_reminders permission_role Índices permissions Índices projects Índices resources Índices roles Índices tasks Índices users Índices LISTA DE CUADROS Tabla1-1:Características Lenguajes de Programación Web...4 Tabla1-2:Motores de Bases de Datos...5 Tabla1-3:Frameworks para PHP...6 Tabla1-4:Servidores web...10 Tabla2-1:Navegadores-web-enero-julio Tabla3-1:Sistemas Operativos y Navegadores Soportados Oficialmente por Bootstrap Tabla3-2:Prueba unitaria crear usuario...83 Tabla3-3:Prueba unitaria confirmación de usuario...83 Tabla3-4:Prueba unitaria creación de organización...84 Tabla3-5:Prueba unitaria edición de la organización...85 Tabla3-6:Prueba unitaria eliminación de la organización...85 Tabla3-7:Prueba unitaria creación del proyecto...86 Tabla3-8:Prueba unitaria edición del proyecto...86 Tabla3-9:Prueba unitaria eliminación del proyecto...87 Tabla3-10:Prueba unitaria creación del nivel...87 Tabla3-11:Prueba unitaria edición del nivel...87 Tabla3-12:Prueba unitaria eliminación del nivel...88 Tabla3-13:Prueba unitaria creación de la actividad...88 Tabla3-14:Prueba unitaria edición de la actividad...88 Tabla3-15:Prueba unitaria eliminación de la actividad...89 Tabla3-16:Prueba unitaria creación de la tarea...89 Tabla3-17:Prueba unitaria edición de la tarea...90 Tabla3-18:Prueba unitaria eliminación de la tarea...90 xvi

17 Tabla3-19:Prueba unitaria creación del recurso...91 Tabla3-20:Prueba unitaria edición del recurso...91 Tabla3-21:Prueba unitaria eliminación del recurso...91 Tabla3-22:Pruebas de Integración...93 TablaC-1:Tabla activities TablaC-2:Índices de la tabla activities TablaC-3:Tabla assigned_roles TablaC-4:Índices d e la tabla aassigned_roles TablaC-5:Tabla categories TablaC-6:Índices d ella tabla categories TablaC-7:Tabla levels TablaC-8:Índices de la tabla levels TablaC-9:Tabla organizations TablaC-10:Índices de la tabla organizations TablaC-11:Tabla password_reminders TablaC-12:Tabla permission_role TablaC-13:Índices de la tabla permission_role TablaC-14:Tabla permissions TablaC-15:Índices de latabla permissions TablaC-16:Tabla projects TablaC-17:Índices de la tabla projects TablaC-18:Tabla resources TablaC-19:Índices de la tabla resources TablaC-20:Tabla roles TablaC-21:Índices de la tabla roles TablaC-22:Tabla tasks TablaC-23:Índices de la tabla tasks TablaC-24:Tabla users TablaC-25:Índices de la tabla users LISTA DE GRÁFICOS Gráfico 1-1: Diagrama de lineal de la Tabla Gráfico 2-1: Diagrama de barras de la Tabla LISTA DE FIGURAS Figura 1-1: Logotipos de proyectos de código abierto desarrollados en PHP y MySQL...8 Figura 1-2: Indicadores de hostnames y sitios activos...10 Figura 2-1: Ciclo de vida de un proyecto...15 Figura 2-2: Objetivos de un Proyecto...16 Figura 2-3: Etapas de la Descripción de un Proyecto...18 Figura 2-4: Esquema de los objetivos y etapas de un Proyecto...18 Figura 2-5: Diagrama de Gantt de un Proyecto...20 Figura 2-6: Funciones en la Administración de Proyectos...22 xvii

18 Figura 2-7: Arquitectura tres capas...28 Figura 2-8: Modelo-Vista-Controlador (MVC)...29 Figura 3-1: Modelo en Cascada...32 Figura 3-2: Caso de uso del Sistema...44 Figura 3-3: Caso de uso Gestión de Usuarios...45 Figura 3-4: Caso de uso Gestión de Organizaciones...45 Figura 3-5: Caso de uso Gestión de Proyectos...46 Figura 3-6: Caso de uso Gestión de Actividades...46 Figura 3-7: Caso de uso Gestión de Etapas...47 Figura 3-8: Caso de uso Gestión de Tareas...47 Figura 3-9: Caso de uso Gestión de Tareas...48 Figura 3-10: Maquetación del Index...49 Figura 3-11: Maquetación del Login...49 Figura 3-12: Maquetación del Sesión Administrador...50 Figura 3-13: Maquetación del Sesión Administrador-Proyectos-Nuevo...50 Figura 3-14: Maquetación del Sesión Administrador-Proyectos-Listado...51 Figura 3-15: Maquetación del Sesión Administrador-Usuarios-Nuevo...52 Figura 3-16: Maquetación del Sesión Administrador-Usuarios-Listado...53 Figura 3-17: Maquetación del Sesión Administrador-Reportes...53 Figura 3-18: Maquetación del Sesión Usuario...54 Figura 3-19: Maquetación del Sesión Usuario-Proyectos-Listado...54 Figura 3-20: Maquetación del Sesión Usuario-Proyectos-Reportes...55 Figura 3-21: Diagrama de robustez crear usuario...56 Figura 3-22: Diagrama de robustez activar usuario...56 Figura 3-23: Diagrama de robustez crear organización...57 Figura 3-24: Diagrama de robustez editar organización...57 Figura 3-25: Diagrama de robustez eliminar organización...58 Figura 3-26: Diagrama de robustez crear proyecto...58 Figura 3-27: Diagrama de robustez editar proyecto...59 Figura 3-28: Diagrama de robustez eliminar proyecto...59 Figura 3-29: Diagrama de robustez crear actividad...60 Figura 3-30: Diagrama de robustez editar actividad...60 Figura 3-31: Diagrama de robustez eliminar actividad...61 Figura 3-32: Diagrama de robustez crear etapa...61 Figura 3-33: Diagrama de robustez editar etapa...62 Figura 3-34: Diagrama de robustez eliminar etapa...62 Figura 3-35: Diagrama de robustez crear tarea...63 Figura 3-36: Diagrama de robustez editar tarea...63 Figura 3-37: Diagrama de robustez eliminar tarea...64 Figura 3-38: Diagrama de robustez crear recurso...64 Figura 3-39: Diagrama de robustez editar recurso...65 Figura 3-40: Diagrama de robustez eliminar recurso...66 Figura 3-41: Modelo entidad-relación...67 Figura 3-42: Estructura de twitter bootstrap...76 Figura 3-43: Estructura de una clase en el modelo...78 Figura 3-44: Estructura de una clase en la vista...79 Figura 3-45: Estructura de la plantilla master.blade.php...79 Figura 3-46: Estructura de una clase en el controlador...80 xviii

19 Figura 3-47: Ejemplos de rutas en Laravel...81 Figura 3-48: Arquitectura de funcionamiento en Laravel...81 Figura 3-49: Cookie inicio de Sesión...95 Figura 3-50: Número máximo de peticiones al Servidor...96 Figura 3-51: Gráfico Peticiones y Conexiones vs Tiempos de Respuesta...98 Figura A-1: Dirección de página de Inicio de la aplicación Figura A-2: Página de Inicio de la aplicación Figura A-3: Inicio sesión de la aplicación Figura A-4: Error Inicio sesión de la aplicación Figura A-5: Correo electrónico para recuperación de contraseña Figura A-6: Botón nuevo registro Figura A-7: Botones editar y eliminar registro Figura A-8: Botones guardar y cancelar edición del registro Figura A-9: Ejemplo de un formulario para un nuevo registro Figura A-10: Ejemplo de la ventana de confirmación para eliminar un registro Figura A-11: Ejemplo de un formulario para editar un registro Figura A-12: Panel común para el acceso a los reportes Figura A-13: Panel para la generación de reportes en formato pdf Figura A-14: Panel para la generación de reportes en formato de documento de word Figura A-15: Panel para la generación de reportes en formato de documento de excel Figura A-16: Panel de sesión del perfil de administrador Figura A-17: Listado de los usuarios del sistema con las opciones de CRUD Figura A-18: Lista de la organización del sistema Figura A-19: Panel para la edición de la organización del sistema Figura A-20: Listado de los proyectos del sistema con las opciones de CRUD Figura A-21: Listado de los estados del proyecto con las opciones de CRUD Figura A-22: Listado de las etapas del proyecto con las opciones de CRUD Figura A-23: Listado de las actividades del proyecto con las opciones de CRUD Figura A-24: Listado de las tareas del proyecto con las opciones de CRUD Figura A-25: Listado de los recursos del proyecto con las opciones de CRUD Figura B-1: Página de configuración de PHP Figura B-2: Alerta de antivirus instalado Figura B-3: Alerta de cuentas de usuario y permisos de instalación Figura B-4: Inicio de asistente de instalación de XAMPP Figura B-5: Selección de componentes de XAMPP a ser instalados Figura B-6: Selección del directorio de instalación de XAMPP Figura B-7: Inicio de instalación de XAMPP Figura B-8: Copia de los archivos de XAMPP al directorio de instalación Figura B-9: Finalización de la instalación de XAMPP Figura B-10: Panel de Control de XAMPP Figura B-11: Cierre del Panel de Control de XAMPP Figura B-12: Minimización del Panel de Control de XAMPP Figura B-13: Área de notificaciones de los servicios de XAMPP Figura B-14: Inicio de los servicios de XAMPP Figura B-15: Desbloqueo del servicio web de Apache en el cortafuegos Figura B-16: Detención de servicios en XAMPP xix

20 Figura B-17: Reglas añadidas en el cortafuegos Figura B-18: Página de inicio de XAMPP Figura B-19: Panel de control web de XAMPP Figura B-20: Chequeo de seguridad web de XAMPP Figura B-21: Servicios inseguros de XAMPP Figura B-22: Enlace para corrección de vulnerabilidades de XAMPP Figura B-23: Establecimiento de contraseña del usuario root de Mysql Figura B-24: Inicio de instalador de composer para windows Figura B-25: Inicio de instalador de consola git para windows Figura B-26: Instalación de un nuevo proyecto Laravel vía Composer Figura B-27: Estructura de carpetas y archivos de un nuevo proyecto con Laravel.142 Figura B-28: Página de inicio de Laravel Figura B-29: Creación de una nueva base de datos con PhpMyAdmin Figura B-30: Restauración de la base de datos ILALO Figura B-31: Estructura de la base de datos ILALO Figura B-32: Carpetas y archivos del sistema ILALO V Figura B-33: Archivos js, estilos e imágenes del sistema ILALO V Figura C-1: Tablas del sistema ILALO V xx

21 RESUMEN SISTEMA DE SEGUIMIENTO DE PROYECTOS, BASADO EN ACTIVIDADES TIPO ILALO V. 1 El presente proyecto de titulación trata sobre el desarrollo de un sistema web para la Junta General de usuarios del sistema de riego "EL PISQUE", JGUSRP. En el desarrollo de este sistema se emplea la metodología de desarrollo en Cascada, utilizando en patrón Modelo-Vista-Controlador (MVC). Este sistema permite automatizar la monitorización de los proyectos que posee la junta, generando los diagramas de gantt de los proyectos ingresados en él mismo así como poder visualizar los distintos recursos, etapas, tareas entre otros DESCRIPTORES: METODOLOGÍA CASCADA/ PROYECTOS/ SISTEMA WEB/ SISTEMA DE RIEGO "EL PISQUE"/ JGUSRP/ GANTT xxi

22 ABSTRACT SYSTEM OF PROJECT FOLLOW-UP, BASED ON ACTIVITIES TYPE ILALO V. 1 The present project of titulation treats on the development of a web system for the users' General Meeting of the system of irrigation "EL PISQUE ", JGUSRP. In the development of this system the methodology of development is used in Waterfall, used in Model-View -Controller ( MVC ). This system allows to automate the monitoring of the projects that possesses the meeting, generating the graphs of gantt of the projects joined him(it) itself as well as to be able to visualize the different resources, stages, tasks between(among) others DESCRIPTORS : METHODOLOGY WATERFALL / PROJECTS / WEB SYSTEM/ SISTEMA DE RIEGO "EL PISQUE"/ JGUSRP/ GANTT xxii

23 xxiii

24 xxiv

25 CAPÍTULO 1 1. PRESENTACIÓN DEL PROBLEMA 1.1 Planteamiento del Problema En los tiempos actuales donde la tecnología se ha convertido en parte de nuestras vidas, siendo cada vez más cambiante, moderna y novedosa. El poder manejar de una manera correcta la información, en constante crecimiento, dentro de cualquier tipo de organización, empresa, entidad pública o privada, entre otras. Es vital ya que al no poseer un sistema que controle todo este flujo hace que se pierda tiempo y dinero. La Junta General de usuarios del sistema de riego "EL PISQUE", no posee ningún tipo de sistema informático que controle los proyectos administrativos que tienen en ejecución, ya que siendo un organismo que busca el bienestar social de su comunidad, va a manejar una gran cantidad de estos. Todos estos proyectos pueden ser públicos o privados tales como: Adjudicaciones. Programas comunitarios. Talleres. Entre otros proyectos comunitarios. Actualmente todas estas actividades se controlan a mano, haciendo muy difícil poder monitorizar el estado en el que se encuentran, el no poseer un sistema de seguimiento de proyectos dentro de La Junta General de usuarios del sistema de riego "EL PISQUE", ha tenido grandes inconvenientes como: Falta de un sistema informático. No llevar un control sobre los proyectos. No poder dar a conocer el estado del proyecto a la comunidad. Todos estos problemas que posee la junta, serán solucionados con el desarrollo de ILALO V. 1. El sistema poseerá las siguientes funcionalidades: 1

26 Dispondrá de un diagrama de Gantt del proyecto en tiempo real. Administración de los ítemes del proyecto. Reportes de las distintas etapas del proyecto. 1.2 Formulación del Problema Todos los proyectos en la forma actual en la que se manejan en La Junta General de usuarios del sistema de riego "EL PISQUE", hace muy difícil el poder controlar todo este flujo de datos. Por todo lo anteriormente mencionado al implementar un sistema de seguimiento de proyectos basado en actividades tipo ILALO V. 1, podrá optimizar los recursos que posee, controlando de mejor manera el flujo de sus proyectos, beneficiando a toda la comunidad a la que pertenecen. 1.3 Interrogantes de la Investigación El desarrollo de esta tesis nace de solventar las necesidades de La Junta General de usuarios del sistema de riego "EL PISQUE", mediante una observación directa de sus problemas que se formula a través de las siguientes interrogantes. Por qué implementar un sistema de seguimiento de proyectos en el La Junta General de usuarios del sistema de riego "EL PISQUE"? Quién o quiénes se beneficiaran con la implantación del sistema de seguimiento de proyectos ILALO V. 1? 1.4 Objetivos de la Investigación Objetivo General Desarrollar un sistema informático centralizado que ayude a la monitorización de los distintos proyectos de la JGUSRP Objetivos Específicos Mejorar el seguimiento, desarrollo y ejecución de los proyectos seleccionados por la JGUSRP. Apoyar a la coordinación de las distintas estructuras de la junta, encargadas de los proyectos, mediante reportes de los proyectos y diagramas de Gantt. 2

27 Dar seguimiento a las tareas y evaluar su cumplimiento en los plazos fijados, para su ejecución. 1.5 Alcance Los alcances del proyecto están planteados según los objetivos que se cumplirán dentro de la investigación, los podemos clasificar en: Arquitectura de Desarrollo Arquitectura de Desarrollo Como él sistema será un sistema que se ejecutara en una ambiente web, vamos a realizar un estudio comparativo de los distintos elementos de la arquitectura del sistema que podríamos usar, con las reglas del negocio y experiencia propia tomar la mejor opción. Comparación entre Lenguajes de Programación En la Tabla 1-1 se muestra los resultados de un estudio comparativo de los principales lenguajes de programación para del desarrollo de aplicaciones web. 3

28 Característi ASP.NET ca PHP Java Python Ruby Sintaxis de lenguaje base VB y C# C / C++ C/ C++ C/ C++ Perl, Smalltalk, Eiffel, Ada, y Lisp Orientado a objetos Si Si Si Si Si Sistemas operativos Windows y Linux pero usando el proyecto Mono [1] ( pero solo con C# ) Multiplatafo Multiplatafo Multiplatafo Multiplatafo rma rma rma rma Servidor IIS o Mono Apache, compilador propio Apache, Tomcat y Glassfish Empresa Microsoft y Xamarin ( para Mono) The PHP Group ( open source) Oracle (open Python source) software foundation (open source) Apache, compilador propio Base de MsSQLServ Mysql datos er (principalme nte) Oracle, MySQL Licencia GNU GPL / BSD Java Community Process Experiencia Personal con él Lenguaje Licencia PHP Apache, compilador propio Grupo Ruby (open source) MySQL y MySQL y PostgreSQL PostgreSQL PSFL 0 0 Tabla 1-1: Características Lenguajes de Programación Web [1] Proyecto de Código abierto el cual permite ejecutar tecnología.net en sistemas GNU/LINUX 4

29 Después de analizar las distintas opciones y sus respectivas características, el lenguaje a utilizarse para el desarrollo sera PHP. Comparación entre Motores de Bases de Datos En la Tabla 1-2 se muestra los resultados de un estudio comparativo de los principales motores de bases de datos relacionales. Características MySQL SQL-Server Fabricante Oracle (tras la Microsoft compra de Sun MicroSystems) [2] Numero de registros soportados 50 millones de registros. 500 millones registros ORACLE Oracle Corporation de 450 mil millones de registros Sistemas operativos Multiplataforma Multiplataforma Windows Conectividad PHP Sí Sí El DMF (Declarative Management Framework) garantiza la aplicación de políticas de seguridad en los servicios de datos para toda la organización. Usuarios tienen acceso a un esquema de objetos específico y qué acciones les está permitido desarrollar sobre esos objetos con Sí Ventajas de seguridad Usa cuentas de usuario, contraseñas en dos fases de la comunicación, Cuenta usuario root Licencia GPL o Comercial Uso Privativa Privativa Tabla 1-2: Motores de Bases de Datos. El motor de Base de Datos escogido es MySQL por la licencia GPL que posee y ademas tiene un alto nivel de compatibilidad con PHP. [2] Fue una empresa informática la cual creo el lenguaje de programación java fue comprada por Oracle Corporation el 20 de abril de

30 Comparación entre Frameworks PHP En la Tabla 1-3 se muestra los resultados de un estudio comparativo de los principales frameworks para PHP. Características Cake PHP Laravel Zend FW Incorporación del X patrón Modelo Vista Controlador orientado a objetos. X Operaciones CRUD X (Create, Retrieve, Update y Delete) asociadas a patrón Active Record. X Mapeado de objetos X a bases de datos relacionales (ORM). X Independiente del manejador de base de datos. X X X Uso de plantillas en X PHP. X X Manejo propio de sesiones por usuarios. X X X Almacenamiento en X caché de las vistas. X Almacenamiento en caché de configuración de las aplicaciones. X Integración con X otras herramientas a través de plugins. X Licencias libres. X11 X11 Tabla 1-3: Frameworks para PHP. 6 X BSD

31 De acuerdo con el análisis realizado en los puntos anteriores el ambiente de desarrollo para la aplicación está constituido por: Sistema Multiplataforma. Sistema Gestor de Base de Datos MySQL. Lenguaje de Programación PHP. Arquitectura de software: Modelo Vista Controlador (MVC), implementados a través del framework LARAVEL. Servidor Web Apache. Sistema Multiplataforma Sé eligió que la aplicación sea multiplataforma, de esta manera podrá ser instalado bajo cualquiera de los principales sistemas operativos: GNU/Linux, Windows y Mac OS X. Ademas soporta las distintas arquitecturas que posen los sistemas operativos antes mencionados tales como: Linux (x86, x86-64, PowerPC, y otras arquitecturas) Mac OS X (x86, x86-64) Microsoft Windows (x86, x86-64, ARM) Vale mencionar que el sistema no tendrá problemas si se le instala en cualquier versión de sistema operativo de los antes mencionados y de igual manera cualesquiera sea la arquitectura que este tenga. Sistema Gestor de Base de Datos MySQL Sé optó como sistema gestor de base de datos a MySQL, puesto que desde hace varios años el desarrollo de aplicaciones web han ido de la mano estas dos herramientas PHP-MySQL, por el gran acoplamiento que tienen entre sí, prueba de esto tenemos se han desarrollado grandes proyectos de código abierto como: 7

32 Joomla Drupal WordPress Moodle, entre otros. Esto se debe principalmente a que la conexión PHP-MySQL, tiene mejor soporte que con el resto de motores de base de datos con una extensión completamente reescrita por PHP esto implica una simplicidad en la generación de código, fácil instalación de sus herramientas de desarrollo y documentación en todos los idiomas. En la Figura 1-1 se observa los logotipos de los proyectos antes señalados. Figura 1-1: Logotipos de proyectos de código abierto desarrollados en PHP y MySQL. Fuente: [Consultado el 01 de septiembre de 2013] Autor: Fuente. Lenguaje de Programación PHP El lenguaje de programación escogido fue PHP, a demás de ser un lenguaje de programación de código abierto y uno de los más usados para el desarrollo de aplicaciones web bajo la arquitectura cliente-servidor, otros motivos de peso para su elección fueron: 8

33 Es el lenguaje que utiliza el framework LARAVEL. Puede ser instalado y usado en la mayoría de los servidores web: Apache Nginx Internet Information Services (IIS) Cherokee Es un lenguaje multiplataforma y multiarquitectura Posee una gran cantidad de documentación y una gran comunidad de desarrolladores a nivel mundial. Arquitectura de software: Modelo Vista Controlador (MVC), implementados a través del framework LARAVEL Se eligió él MVC, ya que este patrón nos permite dividir la lógica de negocio del diseño, los datos y la interfaz de usuario haciendo el desarrollo del proyecto más escalable. Puesto que LARAVEL es un framework escrito en PHP, por ende nos ayuda en el desarrollo de aplicaciones en dicho lenguaje e implementa él MVC, fue el más idóneo para este proyecto de tesis. Servidor Web Apache Apache es el servidor web más usado a nivel mundial con una cuota de mercado de aproximadamente el 50% del total de los sitios activos alojados alrededor del mundo (Estadísticas históricas y de uso diario proporcionadas por Nentre otrasraft[3]). En el Figura 1-2 se puede ver el numero de sitos hostnames registrados y en el mundo. 9

34 Figura 1-2: Indicadores de hostnames y sitios activos. Fuente: otrasraft.com/archives/2013/08/09/august-2013-web-server-survey.html [Consultado el 01 de septiembre de 2013] Autor: Fuente. En la Tabla 1-4 se puede observar los datos de los servidores web en los meses de julio y agosto del Servidor julio 2013 Porcentaje agosto 2013 Porcentaje (%) (%) Cambio Apache Microsoft nginx Google Tabla 1-4: Servidores web julio-agosto Fuente: otrasraft.com/archives/2013/08/09/august-2013-web-server-survey.html [Consultado el 01 de septiembre de 2013] Autor: Fuente. 10

35 Servidores Web julio-agosto Apache Microsoft nginx Google Gráfico 1-1: Diagrama de lineal de la Tabla 1-4. Fuente: Tabla 1-4. Apache es un servidor robusto y documentado para el desarrollo de aplicaciones web, ya que es un servidor multiplataforma y multiarquitectura, a demás es uno de los requisitos que necesita LARAVEL para su instalación por ende uno de los que mejor compatibilidad e integración tiene con PHP. La interfaz del sistema ILALO V. 1 estará diseñada de acuerdo a los patrones de programación usados por el framework LARAVEL. Y se usaran en el desarrollo los estándares de programación web recomendados por la W3C[4]. [3] Analiza la cuota de mercado de servidores y alojamiento web otrasraft.com/ [Consultado el 06 de abril del 2013] [4] World Wide Web Consortium, abreviado W3C, es una comunidad internacional que desarrolla estándares para la web. [Consultado el 06 de abril del 2013] 11

36 1.6 Limitaciones La Junta General de usuarios del sistema de riego "EL PISQUE", es un organismo elegido por medio de elecciones populares a través de un tribunal electoral. Así que el desarrollo de la tesis debe realizarse en el tiempo de gestión de la actual administración y con los requerimientos que se tomaron dentro de esta para el desarrollo de ILALO V. 1. En el Capítulo 2, se detalla la metodología general de un proyecto para el desarrollo del mismo, pero el sistema sera desarrollado tal cual los requerimientos que la junta lo solicite, y no se tomara en cuenta si los proyectos siguen una metodología o no. 1.7 Justificación e Importancia Con todos los argumentos técnicos y organizacionales que señalamos anteriormente, observamos que con la implementación de ILALO V. 1 se incluirán actividades, estas a su vez involucraran al personal y diferentes departamentos del La Junta General de usuarios del sistema de riego "EL PISQUE", que requieren de mucha coordinación entre si. Las ventajas son muchas al desarrollar dicho sistema, el directorio de la Junta, podrá tener un sistema web que facilitara el control y seguimiento de los proyectos. ILALO V. 1 se encargará de que el usuario vaya directamente al proyecto asignado, verifique sus tareas de forma organizada, y de una manera intuitiva. 12

37 CAPÍTULO 2 2. Metodología de Proyectos 2.1 Antecedentes Este capítulo se profundizaran los conceptos teóricos en cuanto a la parte metodológica de los proyectos y de la arquitectura del sistema ILALO V. 1, a parte de todo lo que ya se mencionó en el Capítulo 1. Implementar un sistema web que nos ayude con el control de una organización no es una tarea sencilla puesto que debemos tener mucho conocimiento de los requisitos específicos, procesos, estructura, en otras palabras debemos conocer las reglas del negocio. 2.2 Metodología de Investigación El presente proyecto de titulación se realizó utilizando las siguientes modalidades en la investigación: Investigación Bibliográfica.- Es aquella, que se fundamenta en la recopilación de información se realiza principalmente consultando fuentes como: libros, internet, artículos de revistas, entre otros. Investigación de Campo.- Es aquella en cual la investigación consiste en el levantamiento de los datos en el lugar donde se detecta el problema, el análisis y toma de requerimientos se lo realizó en la JGUSRP Proyectos Qué es un proyecto? Un proyecto es la planificación de un conjunto de actividades que están programadas y que tienen como meta alcanzar a los objetivos específicos con un presupuesto y tiempo previamente determinados. La gestión de proyectos es la aplicación de conocimientos, habilidades, herramientas y técnicas a las actividades del mismo para satisfacer los requisitos que este tiene. 13

38 Tipos de Proyectos La Junta General de usuarios del sistema de riego "EL PISQUE", va a manejar un sin fin número de proyectos y de distinta índole, ILALO V. 1, esta pensado para soportar el seguimiento de estos a través de las actividades tipo, que son en si las actividades que tienen en general todo tipo de proyectos. Proyectos Agropecuarios Son proyectos abarcan toda el área de la producción animal y vegetal, se tienen proyectos agrícolas ya sea para cultivos de larga vida como el café, o de ciclo corto como el algodón. Mientras que los proyectos de origen animal se refieren a la producción de leche, huevos, carne, entre otras. Proyectos Industriales Estos proyectos están conformados por la manufactura, se caracterizan porque adquieren la materia prima y haciendo uso de la maquinaria logran transformar esta el producto para el consumo final. Proyecto de Infraestructura Económica Están conformados por aquellos recursos que son necesarios para que la actividad económica aumente o se genere, estamos hablando principalmente de ciertos bienes y servicios como: servicios básicos, transporte, construcción, entre otros. Proyectos de Infraestructura Social El objetivo principal de este tipo de proyectos es satisfacer las necesidades básicas de las comunidades como: salud, educación, abastecimiento de agua, vivienda, entre otras. Proyectos de Servicio Son aquellos proyectos que prestan servicios profesionales ya sean: consultorías, investigaciones técnicas, auditorías, entre otras. 14

39 2.2.2 Ciclo de un proyecto El ciclo de vida de un proyecto, va a depender del tipo de proyecto que este sea, pero en general se lo puede considerar en cuatro fases como se ilustra en la Figura 2-1. Figura 2-1: Ciclo de vida de un proyecto. Fuente: [Consultado el 06 de septiembre de 2013] Autor: Fuente Identificación Corresponde a la fase inicial de diagnóstico, esta debería hacerse tomando en cuenta el máximo de variables que intervienen en función del contexto global. El objetivo central es descubrir las características fundamentales del proyecto, no debería ser una tarea extremadamente larga, minuciosa y menos teórica, hay que hacer un diagnóstico operativo y práctico Formulación El proyecto se definirá en función de los problemas, necesidades o demandas que detectamos en nuestro diagnóstico. 15

40 Tomada la decisión respecto de la situación del proyecto, se inicia la fase de formulación del proyecto. En general, la estructura del proyecto obedece a la necesidad de organizar y orientar lógicamente las acciones, permitiendo al evaluador contar con la información lo más completa y precisa posible. Existe una amplia gama de formatos que han sido desarrollados por diversas instituciones para la presentación de proyectos. Utilizaremos un formato estándar que recoge aspectos de unos u otros. El nombre o título del proyecto El nombre del proyecto debe reunir las siguientes características: Debe ser conciso y expresar de la manera más precisa posible qué es lo que deseamos o es preciso hacer. Debe ser válido durante todo el ciclo de vida del proyecto. La definición de objetivos Por lo general, en las metodologías que más se utilizan en nuestro país se identifican 2 tipos de objetivos: El objetivo general Los objetivos específicos Figura 2-2: Objetivos de un Proyecto. Fuente: Tesista 16

41 Se define solamente un objetivo general en relación directa con el nombre del proyecto, se trata de un objetivo global, al cual tenemos que llegar con la ejecución del proyecto. Los objetivos específicos se refieren a acciones más concretas, necesarias de cumplir para alcanzar el objetivo general. Fundamentación o justificación En esta sección se explica porque es necesario realizar precisamente ese proyecto y no otro, porque tal alternativa según nuestra evaluación. Para la redacción de la justificación del proyecto resultará de gran ayuda nuestro diagnóstico inicial. Elementos que concurren en la justificación: Datos estadísticos, diagnósticos históricos, documentos, entre otros. Resultados del diagnóstico realizado por nosotros Necesidades detectadas Fortalezas y oportunidades Descripción del proyecto La descripción del proyecto sigue el ordenamiento lógico que orientan los objetivos específicos que se han definido. Hay que hacer una descripción detallada es recomendable dividir el proyecto en etapas de trabajo como se visualiza en la Figura

42 Figura 2-3: Etapas de la Descripción de un Proyecto. Fuente: Tesista El esquema del ordenamiento lógico de los objetivos y las acciones separadas en etapas de trabajo se visualiza en la Figura 2-4. Figura 2-4: Esquema de los objetivos y etapas de un Proyecto. Fuente: Tesista 18

43 Etapa I Esta etapa puede ser presentada así: Se realizarán reuniones de coordinación por parte del equipo de proyecto Se acondicionará una sala de reuniones. Se tomaran las acciones iniciales de los proyectos. Etapa II Es el cuerpo central de actividades del proyecto se puede generalizar como: Convocatoria a los actores que participaran en él proyecto. Se definirán los responsables de las actividades y tareas. Se elaborara un informe de avance del proyecto. Es conveniente incorporar actividades de evaluación, tales como la realización de encuestas, informes de trabajo, entre otros; conforme se vayan cumpliendo los objetivos específicos. Etapa III En esta etapa se realizan las actividades finales o de cierre del proyecto como: Realización de la muestra final. Realización de una encuesta de evaluación por parte de los implicados. Elaboración del Informe Final de proyecto. Entrega de resultados del proyecto. La matriz de actividades o diagrama Gantt Es uno de los recursos metodológicos gráficos más utilizados para la organización de las actividades que tiene un proyecto. Es una matriz de doble entrada en donde se identifican las actividades y su realización cronológica. 19

44 Figura 2-5: Diagrama de Gantt de un Proyecto. Fuente: Tesista El presupuesto El presupuesto es el recurso monetario de todos los gastos necesarios para la ejecución del proyecto, por lo genera, se identifican 3 tipos de costos: Inversión Son los costos destinados a la compra de bienes que necesariamente se requieren para ejecutar el proyecto tales como: equipamiento, infraestructura, entre otros. Se realizan solamente una vez por cada ítem durante todo el ciclo de vida del proyecto. Operación En este ítem se incluyen insumos y gastos menores que sé deben realizar durante el transcurso del proyecto: materiales de oficina, materiales de trabajo para los 20

45 involucrados, entre otros, en resumen todos aquellos gastos fungibles y que no son perdurables en el tiempo. Personal Son los costos en las remuneraciones a las personas que dedicarán tiempo en la ejecución del proyecto, podríamos hacer la siguiente distinción: Los aportes propios Los aportes propios o aportes de terceros, son todos aquellos recursos de tipo económico, materiales o humanos que no están dentro del presupuesto del proyecto. Cuando se trata de aportes que realizarán agentes externos se les puede entender como auspicios o patrocinios, deberán ser debidamente respaldados con cartas de compromiso u otros documentos que los certifiquen Implementación La fase de implementación o ejecución del proyecto se refiere a la puesta en marcha de las acciones estipuladas en la planificación. Supone que se han alcanzado los recursos necesarios luego de que el proyecto ha tenido el visto bueno de una o varias fuentes de financiamiento. Esta fase puede ser entendida también como de administración de proyectos. Funciones en la Administración de Proyectos Distinguiremos 4 funciones específicas en la administración de proyectos: 21

46 Figura 2-6: Funciones en la Administración de Proyectos. Fuente: Tesista Cada una de estas funciones se definirán según los objetivos, lineamientos y actividades que supone la ejecución del proyecto y no necesariamente recaen sobre el coordinador general, es una tarea de equipo. El equipo de proyecto puede ser comprendido como una unidad especializada a cargo de una actividad específica teniendo siempre el fin de cautelar la continuidad de los procesos más allá del proyecto. El equipo de proyecto debe contar con una estructura de roles y funciones clara y explícita. Para no caer en errores como: repetición de funciones, los conflictos interpersonales, el desbalance en las cargas de trabajo, entre otros. La asignación de roles es una decisión en equipo, y si bien se trata de una estructura organizacional, debe ser entendida como sujeta a cambios dependiendo de las necesidades de la institución y la evolución de las actividades en marcha Evaluación La evaluación consiste en hacer un control sobre el proyecto ya sea en el curso o en la finalización del mismo. Se trata de determinar el cumplimiento de los objetivos, su grado de realización, demostración de hipótesis si la hubiera, entre otras. Este 22

47 proceso debe ser continuo para poder mejorar de forma progresiva la gestión de los proyectos. Debemos distinguir 2 tipos de evaluación: De procesos También llamada seguimiento, es una evaluación que se hace durante el transcurso o desarrollo del proyecto, su propósito es detectar problemas no detectados originalmente, que inciden en el cumplimiento de las actividades, por ende en el logro de objetivos, nos dan pautas para realizar cambios si fuera necesario. De resultados o Evaluación Final Es aquella que se realiza una vez finalizado el proyecto, determina el o los resultados de las actividades desarrolladas en función de los objetivos propuestos originalmente. Para el caso de una evaluación de procesos hablaremos de resultados intermedios o parciales, y en la evaluación final, de resultados finales también conocidos como "impacto del proyecto". El "impacto" se refiere a cambios sustantivos, estables y permanentes que se dan con la ejecución del proyecto. La evaluación tanto de procesos como de resultados puede ser de orden cualitativo o cuantitativo, lo que dependerá de la naturaleza del proyecto que se evalúa. Por ende un aspecto inicial que es necesario establecer es: Qué es preciso evaluar? Naturaleza de la evaluación La evaluación del proyecto nos permitirá conocer que tan certera o no fue la estimación inicial respecto a las acciones que se plantearon como necesarias de emprender. La evaluación puede ser entendida como una medición, y como tal se debe plantear: 23

48 1. Lo que se va a medir Es decir procesos o resultados 2. Con qué se va a medir El instrumento que utilizaremos para llevar a cabo la medición puede ser: encuestas, entrevistas, entre otras; dándonos el carácter cuantitativo o cualitativo. 3. Cómo se va a medir La metodología a emplear en la evaluación, este aspecto se definirá en función del tipo de instrumento a utilizar puede ser: paquetes estadísticos, diagramas de caja, entre otros. 4. Los criterios y sus grados Los criterios y sus grados de obtención o no, determinarán en definitiva la naturaleza de los indicadores. Los criterios a considerar pueden ser definidos por: a) Parámetros o exigencias externas Este tipo de evaluación lo realiza según las normas y criterios definidos por las instituciones que financian los proyectos, o bien por una organización de rango superior que actúa en carácter de supervisión (Contraloría del Estado, Municipio, entre otros) b) Criterios propios Es cuando el equipo de proyecto define que se va a evaluar, y en que grado se considera la obtención o no de los objetivos propuestos. c) Una combinación de ambos Criterios en la evaluación Los criterios en la evaluación del proyecto pueden ser múltiples y diversos y, pueden ser determinados de manera externa, por lo general se definirán en función de la naturaleza del proyecto, los objetivos y las acciones. 24

49 Algunos de los criterios más utilizados en la evaluación de proyectos son: Población o beneficiarios Es la cantidad de personas que se benefician directa o indirectamente con la participación de estas en el proyecto, se la puede caracterizar en términos demográficos, socio-económicos u otros señalando de que manera y en que grado el proyecto significa un beneficio. Si se usa este criterio, se recomienda indicar el número de personas u organizaciones que participaron o bien si estas se crearon con el proyecto. Sustentabilidad Por lo general, se espera que el resultado del proyecto sea un mejoramiento sustantivo y perdurable en las condiciones que le dieron origen, definieron los objetivos y sus acciones. El criterio de sustentabilidad dice relación que tiene la ejecución y finalización del proyecto en términos de proyección de sus resultados. Eficacia Se refiere al grado de cumplimento de los objetivos planteados, determina si con la ejecución del proyecto sé soluciono adecuadamente o no la situación original que existía. Eficiencia o análisis costo-beneficio Este criterio relaciona los resultados con los recursos invertidos es decir evalúa nuestra capacidad de acción. En otras palabras, determinan nuestra eficiencia en el logro de los objetivos con los recursos asignados. Calidad El criterio de calidad evalúa resultados intermedios o finales, se aplica a bienes y/o servicios prestados, relaciona el grado en que estos bienes y/o servicios satisfacen o no las necesidades que tenían 25

50 Qué es un sistema de seguimiento de proyectos? Un sistema de seguimiento de proyectos es un flujo de trabajo a seguir para la consecución de un objetivo predeterminado, a través de la secuencia de tareas según las reglas del negocio de la organización donde se implementará. Las nuevas tendencias, a la hora de gestionar una organización, hacen del sistema de seguimiento de proyectos una herramienta clave para lograr mayor agilidad y aumentar la productividad de las actividades administrativas que se ejecutan entre los distintos actores del flujo de trabajo. Los módulos del sistema de seguimiento de proyectos automatizaran la secuencia de acciones, actividades y tareas en la ejecución del proyecto, permitirá realizar un seguimiento de cada etapa del mismo y aportan las herramientas necesarias para su control. El conjunto de mecanismos e instrumentos que utilizamos para obtener la información adecuada sobre la situación del proyecto en cada momento, lo llamaremos sistema de seguimiento. Las interrogantes a responder cuando se quiere establecer un sistema de seguimiento son: Qué? información es relevante (indicadores). Cómo? debería ser recolectada y analizada (métodos). Quién? se involucrará en cada fase (responsabilidades). Beneficios del sistema de seguimiento de proyectos Según los diferentes tipos de proyectos según la organización en la que lo implantemos los beneficios de los flujos de trabajo serán: Mejorar la productividad y eficiencia de la organización Avance del control de proyectos a través de la normalización de los métodos de trabajo. Generación de diagramas de Gantt de los Proyectos en un ambiente web. 26

51 2.3 Sistemas Web Son sistemas que se encuentran alojados en un servidor web, y el usuario accede a estos a través de una intranet o internet por medio de un navegador, por tal motivo el usuario no necesita instalar software adicional para poder acceder a la aplicación web. Arquitectura Cliente Servidor La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los servidores, y los clientes. Un cliente realiza peticiones a otro programa, el servidor, que le da respuesta, los tipos específicos de servidores incluyen los servidores web, archivo, correo, entre otras. Arquitectura de Tres Capas Las aplicaciones web tienen una arquitectura en tres capas, puesto que existe un nivel intermedio, estructurándose de la siguiente manera: Capa de presentación Es el encargado de generar la interfaz de usuario (navegador web), en función de las peticiones de estos. Capa de negocio Contiene la lógica del negocio y es donde se procesa las peticiones del usuario (nivel intermedio: PHP, ASP, entre otras). Capa de datos Suministra y almacena información para la capa del negocio (base de datos). 27

52 Figura 2-7: Arquitectura tres capas. Fuente: [Consultado el 10 de septiembre de 2013] Autor: Fuente. Modelo-Vista-Controlador (MVC) Es uno de los patrones fundamentales en el diseño de aplicaciones web es. Este patrón propone la separación en tres capas: Vista: Es todo lo que se refiera a la visualización de la información: el diseño, colores, estilos y la estructura visual en sí de nuestras páginas. Modelo: Es el responsable de la conexión a la base de datos y la manipulación de los datos mismos. Controlador: Su responsabilidad es procesar y mostrar los datos obtenidos por el Modelo. Es decir, trabaja de intermediario entre los otros dos, encargándose también de la lógica de negocio. 28

53 Figura 2-8: Modelo-Vista-Controlador (MVC) Fuente: [Consultado el 10 de septiembre de 2013] Autor: Fuente. El cliente envía una petición, ésta es receptada por el Controlador quien ejecuta las validaciones necesarias, procesa los datos y lógica de negocio asociadas a esa petición del cliente. Luego el Controlador envía datos al Modelo, para que interactue con la base de datos, dependiendo de la solicitud del usuario, para finalmente enviarlos a la Vista a fin de ser mostrados nuevamente al cliente a través de una respuesta. En una aplicación web, las vistas son las páginas que él usuario visualiza en el navegador. A través de estas él interacciona con la aplicación, enviando eventos al servidor. En el servidor esta el código de control para el evento concreto actúa sobre el modelo convenientemente. Los resultados de la acción se devuelven al usuario en la vista. 29

54 Ventajas de las aplicaciones web Solo se necesita navegador web moderno como: Mozilla Firefox o Google Chrome. Independencia de el sistema operativo que se ejecute. Compatibilidad que tienen para ser desarrollados en varios lenguajes de programación web, tanto del lado del servidor como del lado del cliente En el servidor: PHP Java ASP Python Ruby Node.js En el lado del Cliente: JavaScript Desventajas de las aplicaciones Web La seguridad depende como esta programada la aplicación web y de las políticas del servidor donde sera alojada. La sobrecarga del servidor por ejemplo si muchos usuarios se conectan a la vez al servidor, empiezan a usar la aplicación, y el servidor no esta bien configurado para poder realizar un balanceo de carga este pude colapsar. Si el usuario utiliza navegadores que sean antiguos y/o navegadores que no respeten los estándares web como: Internet Explorer, la aplicación puede que no se visualice bien o no funcione. Si el usuario dentro de las características del navegador desactiva que se ejecute JavaScript, puede traer un mal funcionamiento de la misma. 30

55 Navegadores Web En la Tabla 2-1 se observa la cuota de mercado de los navegadores más utilizados a nivel mundial Mes Internet Chrome Firefox Safari Opera Otros Explorer enero febrero marzo abril mayo junio julio Tabla 2-1: Navegadores web enero-julio Fuente: [Consultado el 01 de agosto de 2014]. Autor: Fuente. En el Gráfico 2-2 se puede observar el diagrama de barras de la Tabla 2-1. Uso de Navegadores enero-julio Internet Explorer Chrome Firefox Safari Opera Otros enero febrero marzo abril mayo Gráfico 2-2: Diagrama de barras de la Tabla 2-1. Fuente: Tabla junio julio

56 CAPÍTULO 3 3. METODOLOGÍA Metodología de Desarrollo de Software en Cascada El modelo de desarrollo utilizado sera el de tipo Cascada, en donde las etapas deben seguir un enfoque secuencial de análisis, diseño, desarrollo y pruebas de software, con la posibilidad de retroalimentación a una etapa anterior para realizar los ajustes o correcciones necesarios. En la Figura 3-1 se puede observar el esquema del modelo en cascada Figura 3-1: Modelo en Cascada Fuente: [Consultado el 15 de enero del 2014]. Autor: Fuente. Análisis de Requisitos: Son todas las necesidades que el usuario desea que se implementen en el sistema especificaciones. Diseño: Es la descomposición en elementos que puedan desarrollarse por separado especificaciones de cada elemento. 32

57 Codificación: Es la programación de cada módulo y sus respectivos componentes del sistema. Pruebas: Se juntan todos los componentes y se prueba el sistema completo. Mantenimiento: Son los cambios ocasionales (errores o mejoras), que tendera él sistema 3.1 Análisis de Requerimientos La toma de los requerimientos se ha realizado siguiendo el estándar de la IEEE (IEEE Std ) [5] Definiciones, Acrónimos y Abreviaturas Definiciones: Usuario: Persona miembro de la organización que utilizará el sistema. Administrador: Persona que gestionara el sistema, asignado los proyectos a los distintos usuarios. Acrónimos: AD (Architectural Design): Diseño de la Arquitectura DB (Data Base): Base de Datos DCR (Document Change Record): Hoja de Registro de Cambios IEEE (Institute of Electrical and Electronics Engineers): es una asociación mundial de técnicos e ingenieros dedicada a la estandarizan y el desarrollo en áreas técnicas. SR (Software Requirement): Requerimientos Software. SRD (Software Requirements Document): Documento de Requerimientos de Software [5] IEEE Std : Documento para la toma de requerimientos bajo el estándar

58 SUM (Software User Manual): Manual de Usuario UR (User Requirement):Requerimientos de Usuario URD (User Requirements Document):Documento de Requerimientos de Usuario CRUD (Create, Read, Update and Delete) Crear, Obtener, Actualizar y Borrar, usado para referirse a las funciones básicas en bases de datos o la capa de persistencia en un software Visión General El SRD es una salida producida en la fase SR, se cubrirá todos los requerimientos de usuario especificados en el URD. Se especifican los requerimientos funcionales, los de interfaz, los operacionales, los de seguridad, entre otras. Lo que no debe incluir este documento son detalles de implementación, ya que estos se definirán en fases posteriores. Con esto se quiere decir, que en este documento se definirán todas las prestaciones, así como restricciones que ofrecerá el producto a desarrollar desde el punto de vista software, describiendo qué es lo que el software tiene que hacer y no cómo lo va a hacer. El SRD se especificará en lenguaje natural. Esto tiene la ventaja, de no presentar barreras adicionales para las personas, que aún perteneciendo a diferentes disciplinas, se encuentran implicadas en esta fase. El documento tiene tres partes bien diferenciadas: Una primera parte que consiste en una breve introducción, con información relativa al propio documento (SRD). La segunda parte describe el producto a desarrollar, describiendo el entorno y el alcance de la aplicación. Una tercera parte recoge los requerimientos software específicos. 34

59 3.1.3 Descripción General Perspectiva del Producto El sistema sera muy similar al de Ms-Project de Microsoft, implementadas en un ambiente web con las ventajas como: Manejara indicadores de avance de los proyectos. Se implementaran alertas cuando un proyecto este retazado. Funcionalidades del Sistema El software que se va a desarrollar consta de varios módulos. Cada uno de estos módulos tiene las funcionalidades específicas que se describen a continuación: Módulo Perfil de Usuario Este módulo permitirá dar información a los usuarios sobre en que etapa se encuentra el proyecto, de qué recursos dispone, que personas están encargadas y otra información de interés. Ademas el usuario podrá crear tareas y asignar recursos a los mismo Módulo Perfil de Gestor de Proyecto Este módulo permitirá tendrá las mismas funcionalidades del perfil anterior, pero con la capacidad de poder administrar los proyectos. Módulo Perfil de Administración A este módulo sólo podrán acceder personas autorizadas, ya que se encargará de gestionar el funcionamiento del la aplicación. Este módulo a su vez se subdivide en los siguientes: Módulo de Usuarios En este módulo se gestiona toda la información referente al usuario del sistema, es decir toda la parte del CRUD de usuario 35

60 Módulo de Proyectos del Sistema Este modulo gestionara toda la información de los proyectos, es decir la parte del CRUD de los proyectos Módulo de Indicadores Este módulo manejará las métricas en cuanto a los recursos del proyecto viendo que los tiempos se cumplan Requerimientos Generales Como restricciones generales destacan las siguientes: Las interfaces entre el usuario y el sistema tienen que ser claras, intuitivas y fáciles de manejar. No se debe obligar a que el usuario del sistema introduzca información de todos los campos, ya que algunos pueden no ser necesarios. El sistema debe estar protegido por un sistema de seguridad para que personas ajenas no puedan utilizar la aplicación. Se tienen que poder realizar distintos tipos de consultas de los proyectos. Todos los módulos del sistema mantendrán la misma línea de diseño. Es imprescindible que el usuario tenga el mayor número de facilidades posible a la hora de insertar datos, evitando siempre que sea posible la introducción de datos manuales. Siempre que se pueda, hay que evitar que el usuario introduzca datos erróneos, por ejemplo, fechas incorrectas. Si realiza alguna operación de este estilo, se le avisará siempre con mensajes de error significativos. El sistema debe permitir el acceso simultáneo de varios usuarios. Esta aplicación debe funcionar bajo cualquier navegador web moderno y sistema operativo. 36

61 3.1.5 Requerimientos Específicos A continuación se describen con detalle los requerimientos software del sistema que se va a desarrollar. Requerimientos Funcionales Los requerimientos funcionales especifican Qué tiene que hacer el sistema. Definen los propósitos del software en cuestión. Estos requerimientos se derivan de los requerimientos de usuario especificados en el URD. Los requerimientos funcionales en nuestro caso son los siguientes: SR01 Deberá existir una página de presentación que permita al usuario acceder al módulo de la aplicación que desee. Necesidad: Obligatoria Prioridad: Alta Estabilidad: Admite cambios por feedback de fases AD. Claridad: Alta Verificabilidad: Alta SR02 Desde cualquier página de la aplicación la persona que esté utilizando el sistema tendrá la posibilidad de navegar hacia delante y hacia atrás por las páginas de la aplicación. Necesidad: Obligatoria Prioridad: Alta Estabilidad: Admite cambios por feedback de fases AD Claridad: Alta Verificabilidad: Alta SR03 Se debe realizar un control de los usuarios que pueden entrar al sistema. El usuario antes de poder manejar el módulo en cuestión, se tiene que autentificar. La página de autentifican deberá tener los siguientes campos: login, password y una opción para poder recuperar la contraseña por medio del correo. 37

62 Necesidad: Obligatoria Prioridad: Alta Estabilidad:Admite cambios por feedback de fases AD. Claridad: Alta Verificabilidad: Alta SR04 Cuando un usuario se ha autentificado manejara las opciones que se han asignado previamente para su perfil: Necesidad: Obligatoria Prioridad: Alta Estabilidad: No admite cambios por feedback de fases AD. Claridad: Alta Verificabilidad: Alta SR05 Se debe gestionar la inserción, borrado y modificación de usuarios autorizados de la organización. Necesidad: Obligatoria Prioridad: Alta Estabilidad: No admite cambios por feedback de fases AD Claridad: Alta Verificabilidad: Alta SR06 Se debe gestionar la inserción, borrado y modificación de proyectos autorizados de la organización. Necesidad: Obligatoria Prioridad: Alta Estabilidad: No admite cambios por feedback de fases AD Claridad: Alta Verificabilidad: Alta 38

63 SR07 El sistema tiene que manejar indicadores del avance de los proyectos. Necesidad: Obligatoria Prioridad: Baja Estabilidad: No admite cambios por feedback de fases AD, DD. Claridad: Alta Verificabilidad: Alta SR08 El sistema manejara alertas cuando haya desfase en los proyectos, en cuanto al cumplimiento de los mismos. Necesidad: Obligatoria Prioridad: Alta Estabilidad: No admite cambios por feedback de fases AD Claridad: Alta Verificabilidad: Alta SR09 No se podrán introducir datos no válidos. El sistema tendrá que validar los datos antes de realizar la inserción de los mismos en la BD. Si se intenta introducir algún dato incorrecto, el sistema avisará al usuario con el correspondiente mensaje de error. Necesidad: Obligatoria Prioridad: Alta Estabilidad: No admite cambios por feedback de fases AD Claridad: Alta Verificabilidad: Alta Requerimientos de Prestaciones Estos requerimientos especifican valores numéricos para medir las variables del sistema (por ejemplo, frecuencia, velocidad, entre otras.). 39

64 SR10 El tiempo aproximado que puede tardar el servidor en cargar una página será de 1 minuto. Esto es bastante relativo, ya que debido al entorno en el que nos encontramos, el sistema depende de muchos factores, por ejemplo: el número de usuario que estén conectados, el ancho de banda, entre otras. Necesidad: Opcional Prioridad: Media Estabilidad: No admite cambios por feedback de fases AD Claridad: Alta Verificabilidad: Alta SR11 El tiempo de realización de las operaciones contra la BD requeridas por el usuario debe ser el mínimo posible. Necesidad: Opcional Prioridad: Media Estabilidad: No admite cambios por feedback de fases AD Claridad: Alta Verificabilidad: Alta Requerimientos de Interfaz Los requerimientos de usuario se componen de tres partes que se van a describir a continuación: Requerimientos de la interfaz software. SR12 El sistema sera multiplataforma, solamente se necesita un navegador web moderno, también se recomienda no usar Internet explorer en ninguna de sus versiones ya que este navegador no cumple con los estándares web Necesidad: Obligatoria Prioridad: Alta Estabilidad: No admite cambios por feedback de fases AD 40

65 Claridad: Alta Verificabilidad: Alta Requerimientos Operacionales Estos requerimientos especifican cómo se ejecutará el sistema y cómo se comunicará con los usuarios. Los requerimientos operacionales del sistema son los siguientes: SR13 Las pantallas de la aplicación deben estar diseñadas de tal forma que le resulten al usuario fácil de manejar. La interfaz de usuario debe ser amigable e intuitiva. Además se tendrá cuidado con la configuración de colores de las pantallas. No deberán contener colores muy vivos. No obstante, se permitirá la utilización de estos tonos en las pantallas de presentación y de mensajes de error. Necesidad: Opcional Prioridad: Media Estabilidad: No admite cambios por feedback de fases AD Claridad: Media Verificabilidad: Alta SR14 Los mensajes de error deben ser claros, concisos y específicos a cada error. Necesidad: Obligatoria Prioridad: Media Estabilidad: No admite cambios por feedback de fases AD Claridad: Alta Verificabilidad: Alta Requerimientos de Verificación Estos requerimientos especifican las restricciones acerca de cómo tiene que verificarse el software desarrollado. Los requerimientos de verificación del sistema 41

66 son los siguientes: SR15 Para comprobar el correcto funcionamiento de la aplicación se deben insertar, modificar y eliminar datos de prueba en cada uno de los módulos, con casos erróneos para verificar que realmente se cumplen todas las funcionalidades especificadas por el usuario y que además se ejecuten correctamente. Necesidad: Obligatoria Prioridad: Alta Estabilidad: No admite cambios por feedback de fases AD, DD. Claridad: Alta Verificabilidad: Alta Requerimientos de Pruebas de Aceptación Aquí se especifican los requerimientos acerca de cómo se debe validar el software. Los requerimientos de test de aceptación del sistema son los siguientes: SR16 Se comprobará que las consultas devuelven una respuesta válida y adecuada. Además se comprobará que las inserciones, modificaciones y eliminaciones se gestionan de forma correcta. Necesidad: Obligatoria Prioridad: Alta Estabilidad: No admite cambios por feedback de fases AD Claridad: Alta Verificabilidad: Alta SR17 Se realizarán pruebas para todas y cada una de las operaciones que tiene que realizar la aplicación de forma que mantenga la consistencia e integridad de la BD. Necesidad: Obligatoria Prioridad: Alta Estabilidad: No admite cambios por feedback de fases AD, 42

67 Claridad: Alta Verificabilidad: Alta Requerimientos de Documentación Se especifican en este apartado los requerimientos específicos para la documentación del proyecto. Los requerimientos de documentación del sistema son los siguientes: SR18 Toda la documentación desarrollada junto con el proyecto software la Universidad Central del Ecuador es dueña de los derechos de autor de la misma. Necesidad: Obligatoria Prioridad: Alta Estabilidad: No admite cambios por feedback de fases AD Fuente: Usuario Claridad: Alta Verificabilidad: Alta Requerimientos de Calidad Los requerimientos de calidad son los que hacen referencia a la calidad del software desarrollado. Los requerimientos de calidad del sistema son los siguientes: SR19 La calidad de la aplicación debe ser óptima de tal forma que no se pueden producir fallos en la aplicación. El sistema debe funcionar correctamente en cualquier momento, salvo por fallos del servicio de alojamiento donde se instale la aplicación Necesidad: Obligatoria Prioridad: Alta Estabilidad: No admite cambios por feedback de fases AD. Claridad: Alta Verificabilidad: Alta 43

68 3.2 Diseño Diagramas UML de Casos de uso Los diagramas de casos de uso describen las relaciones así como las dependencias entre los actores participantes en el proceso. Diagrama General de ILALO V. 1.0 En la Figura 3-2 se puede observar los casos de uso de los principales actores del sistema con las acciones de los módulos correspondientes de una manera macro. El sistema tendrá tres perfiles: el usuario, gestor y el administrador y sus respectivos módulos, cada uno de estos interaccionara, entre si y entre los distintos actores del sistema. Figura 3-2: Caso de uso del Sistema. Gestión de Usuarios En la Figura 3-3 se puede observar los casos de uso que forman parte del módulo de gestión de usuarios. 44

69 Figura 3-3: Caso de uso Gestión de Usuarios. Gestión de Organizaciones En la Figura 3-4 se puede observar los casos de uso que forman parte del módulo de gestión de organizaciones. Figura 3-4: Caso de uso Gestión de Organizaciones. Gestión de Proyectos En la Figura 3-5 se puede observar los casos de uso que forman parte del módulo de gestión de proyectos. 45

70 Figura 3-5: Caso de uso Gestión de Proyectos. Gestión de Actividades En la Figura 3-6 se puede observar los casos de uso que forman parte del módulo de gestión de actividades. Figura 3-6: Caso de uso Gestión de Actividades. Gestión de Etapas En la Figura 3-7 se puede observar los casos de uso que forman parte del módulo de gestión de Etapas. 46

71 Figura 3-7: Caso de uso Gestión de Etapas. Gestión de Tareas En la Figura 3-8 se puede observar los casos de uso que forman parte del módulo de gestión de Tareas. Figura 3-8: Caso de uso Gestión de Tareas. Gestión de Recursos En la Figura 3-9 se puede observar los casos de uso que forman parte del módulo de gestión de Recursos. 47

72 Figura 3-9: Caso de uso Gestión de Tareas Maquetación Web del Sistema ILALO V 1.0, estará alojado en un sitio web, esta es una maquetación de las principales pantallas que manejara el sistema. Index En la Figura 3-10, se observa la página principal, contendrá un slider de imágenes, la misión y visión de del JGUSRP, en la parte superior derecha estará el vinculo para ingresar al sistema. 48

73 SLIDER DE IMÁGENES Figura 3-10: Maquetación del Index. Login En la Figura 3-11, se observa la ventana que validara los usuarios registrados en el sistema, y los re-direccionará a su respectiva sesión. Figura 3-11: Maquetación del Login. 49

74 Sesión Administrador En la Figura 3-12, se observa la sesión del administrador, manejara tanto los proyecto, usuarios y reportes, los módulos de usuarios y proyectos tendrá las opciones de CRUD (crear, leer, actualizar y borrar registros), para cada uno de estos. Figura 3-12: Maquetación del Sesión Administrador. Sesión Administrador-Proyectos-Nuevo En la Figura 3-13, se observa la opción que nos permitirá crear un nuevo proyecto, con las distintas etapas, actividades y tareas que tendrá este a demás asignará dicho proyecto a cualquier usuario para su seguimiento. Figura 3-13: Maquetación del Sesión Administrador-ProyectosNuevo. 50

75 Sesión Administrador-Proyectos-Listado En la Figura 3-14, se observa la opción que nos permitirá listar todos los proyectos, que el administrador ha creado, con la capacidad de editarlo y borrarlo. Figura 3-14: Maquetación del Sesión Administrador-ProyectosListado. Sesión Administrador-Usuarios-Nuevo En la Figura 3-15, se observa la opción el administrador donde podrá crear un nuevo usuario, para el sistema. 51

76 Figura 3-15: Maquetación del Sesión Administrador-Usuarios-Nuevo. Sesión Administrador-Usuarios-Listado En la Figura 3-16, se observa la opción que nos permitirá listar todos los usuarios, del sistema con la capacidad de editarlo y borrarlo. 52

77 Figura 3-16: Maquetación del Sesión Administrador-UsuariosListado. Sesión Administrador-Reportes En la Figura 3-17, se observa la opción que tendrá la capacidad de generar reportes de un proyecto especificando los parámetros los cuales deseemos sé generen. Figura 3-17: Maquetación del Sesión Administrador-Reportes. 53

78 Sesión Usuario En la Figura 3-18, se observa la sección el usuario tendrá las opciones de ver los proyectos y reportes. Figura 3-18: Maquetación del Sesión Usuario. Sesión Usuario-Proyectos-Listado En la Figura 3-19, se observa la opción donde el usuario podrá visualizar todos los proyectos que se le han designado para su seguimiento, este podrá monitorizar el estado del mismo, se manejaran las alertas cuando la actividad o subactividad este desfasada con lo planificado por el administrador, así como asignara recursos a las distintas actividades si fuera necesario. Figura 3-19: Maquetación del Sesión Usuario-ProyectosListado. 54

79 Sesión Usuario-Reportes En la Figura 3-20, se observa la opción donde el usuario tendrá la capacidad de generar reportes de un proyecto especificando los parámetros los cuales deseemos sé generen. Figura 3-20: Maquetación del Sesión Usuario-Proyectos-Reportes Diagramas de Robustez Se realizan basándose en los diagramas de caso de uso, estos diagramas permiten identificar a los objetos que participan en cada caso de uso, de esta manera realizar un mejor diseño del sistema. Gestión de Usuarios A continuación se muestra los diagramas de robustez para los casos de uso del módulo de gestión de los usuarios del sistema. a) En la Figura 3-21 se muestra el diagrama de robustez para el caso de uso de la creación de un usuario. 55

80 Figura 3-21: Diagrama de robustez crear usuario. b) En la Figura 3-22 se muestra el diagrama de robustez para el caso de uso de la activación de la cuenta por parte del usuario. Figura 3-22: Diagrama de robustez activar usuario. Gestión de Organizaciones a) En la Figura 3-23 se muestra el diagrama de robustez para el caso de uso crear de una organización. 56

81 Figura 3-23: Diagrama de robustez crear organización. b) En la Figura 3-24 se muestra el diagrama de robustez para el caso de uso editar una organización. Figura 3-24: Diagrama de robustez editar organización. c) En la Figura 3-25 se muestra el diagrama de robustez para el caso de uso eliminar una organización. 57

82 Figura 3-25: Diagrama de robustez eliminar organización. Gestión de Proyectos a) En la Figura 3-26 se muestra el diagrama de robustez para el caso de uso crear un proyecto. Figura 3-26: Diagrama de robustez crear proyecto. b) En la Figura 3-27 se muestra el diagrama de robustez para el caso de uso editar un proyecto. 58

83 Figura 3-27: Diagrama de robustez editar proyecto. c) En la Figura 3-28 se muestra el diagrama de robustez para el caso de uso eliminar un proyecto. Figura 3-28: Diagrama de robustez eliminar proyecto. Gestión de Actividades a) En la Figura 3-29 se muestra el diagrama de robustez para el caso de uso crear una actividad. 59

84 Figura 3-29: Diagrama de robustez crear actividad. b) En la Figura 3-30 se muestra el diagrama de robustez para el caso de uso editar una actividad. Figura 3-30: Diagrama de robustez editar actividad. c) En la Figura 3-31 se muestra el diagrama de robustez para el caso de uso eliminar una actividad. 60

85 Figura 3-31: Diagrama de robustez eliminar actividad. Gestión de Etapas a) En la Figura 3-32 se muestra el diagrama de robustez para el caso de uso crear una etapa. Figura 3-32: Diagrama de robustez crear etapa. b) En la Figura 3-33 se muestra el diagrama de robustez para el caso de uso editar una etapa. 61

86 Figura 3-33: Diagrama de robustez editar etapa. c) En la Figura 3-34 se muestra el diagrama de robustez para el caso de uso eliminar una etapa. Figura 3-34: Diagrama de robustez eliminar etapa. Gestión de Tareas a) En la Figura 3-35 se muestra el diagrama de robustez para el caso de uso crear una tarea. 62

87 Figura 3-35: Diagrama de robustez crear tarea. b) En la Figura 3-36 se muestra el diagrama de robustez para el caso de uso editar una tarea. Figura 3-36: Diagrama de robustez editar tarea. c) En la Figura 3-37 se muestra el diagrama de robustez para el caso de uso eliminar una tarea. 63

88 Figura 3-37: Diagrama de robustez eliminar tarea. Gestión de Recursos a) En la Figura 3-38 se muestra el diagrama de robustez para el caso de uso crear un recurso. Figura 3-38: Diagrama de robustez crear recurso. b) En la Figura 3-39 se muestra el diagrama de robustez para el caso de uso editar un recurso. 64

89 Figura 3-39: Diagrama de robustez editar recurso. c) En la Figura 3-40 se muestra el diagrama de robustez para el caso de uso eliminar un recurso. 65

90 Figura 3-40: Diagrama de robustez eliminar recurso Modelo de Datos Después de haber realizado el diseño de los casos de uso de los distintos módulos del sistema y haber identificado los distintos componentes y entidades del sistema, se obtuvo el siguiente diagrama relacional, el cual se observa en la Figura La descripción de todos los campos se detalla en el ANEXO C. 66

91 Figura 3-41: Modelo entidad-relación. 67

92 3.3 Codificación Arquitectura de Software Como la sé mencionó en el anteriormente en el Capitulo 1, para el desarrollo del sistema se utilizara en framework LARAVEL, en su versión 4.1, en esta sección detallaremos la estructura que este posee. Luego de instalado él framework, se detalla la instalación y configuración del mismo en el ANEXO B. Estructura del Proyecto Luego de crear el proyecto a través de la linea de comandos del framework, nos genera las siguiente carpetas y archivos: Directorio Raíz La estructura del directorio raíz es la siguiente: app/ bootstrap/ vendor/ public/.gitattributes.gitignore artisan composer.json composer.lock phpunit.xml 68

93 app / Es el directorio app, es la carpeta más importante y contendrá todo el código personal del proyecto. Eso incluye clases que puedan ofrecer funcionalidad a la aplicación, archivos de configuración y más. A continuación se detalla el contenido de la misma. app/ commands/ config/ controllers/ database/ lang/ models/ start/ storage/ tests/ views/ filters.php routes.php commands Este directorio contiene cualquier comando personalizado de Artisan que pueda necesitar la aplicación. config En este directorio, se encuentra la configuración de LARAVEL y la aplicación, existe como un conjunto de archivos PHP que contienen matrices clave-valor. Este directorio también contiene sub-directorios que permiten distintas configuraciones cargadas en diferentes entornos. 69

94 controllers Este directorio contiene los controladores, son usados para facilitar lógica a la aplicación, y hacer de intermediario entre las partes separadas de la aplicación. database Este directorio sera usado para contener los archivos que crearán el esquema de la base de datos. lang El directorio contiene archivos PHP con matrices de cadenas que pueden ser usados para dar soporte de traducción de la aplicación, si fuere el caso. models Este directorio contendrá los modelos, son usados para representar el modelo de negocio o facilitar interacción con el almacenamiento, así como crear consultas SQL encadenando métodos PHP, usar el ORM (mapeo de objetos relacional) Eloquent para representar tus tablas como objetos PHP. start El directorio start contiene procedimientos de arranque que pertenecen a la aplicación. storage Cuando LARAVEL necesita escribir algo en el disco, lo hace en el directorio storage. Por este motivo tu servidor web debe poder escribir en esta ubicación. tests El directorio tests contiene todas las pruebas unitarias y de aceptación para la aplicación. La configuración por defecto de PHPUnit que ha sido incluida por LARAVEL buscará pruebas en este directorio por defecto. views El directorio views contiene las plantillas visuales de la aplicación o generalmente 70

95 conocidas como vistas. filters.php El archivo filters.php es usado para contener cualquier filtro de rutas de la aplicación. routes.php El archivo routes contiene los métodos que permiten que las rutas sean mapeadas a sus respectivas acciones con LARAVEL. Este archivo también contiene declaraciones de varios eventos incluyendo páginas de errores, y puede ser usado para definir creadores de vistas o filtros de rutas. bootstrap / El directorio bootstrap contiene archivos que están relacionados con los procedimientos de arranque del framework. No hay que confundir este directorio con twitter bootstrap, el cual se utilizará para el diseño web de la aplicación. bootstrap / autoload.php paths.php start.php autoload.php Contiene la mayoría de esos procedimientos de arranque y solo debería ser editado por usuarios experimentados. paths.php Contiene la matriz de las rutas comunes del sistema que son usadas por el framework. start.php Contiene más procedimientos de inicialización para el framework, específicamente relacionado con distintos entornos que se puede tener en el proceso de desarrollo. 71

96 vendor El directorio vendor contiene todos los paquetes de Composer [6] que son utilizados por la aplicación. public El directorio public es donde generalmente se encuentran los archivos: CSS, JavaScript e imágenes. public / packages/.htaccess favicon.ico index.php robots.txt packages Será usado para contener ficheros que necesiten ser instalados por paquetes de terceros..htaccess Contiene algunas directivas de configuración estándar que tendrán sentido para la mayoría de los usuarios del framework. [6] Composer: Es un manejador de paquetes y dependencias entre paquetes para PHP. 72

97 favicon.ico Este es el archivo que controla la pequeña imagen de 16 x 16px que se muestra en las pestañas de tu navegador. index.php Es el primer archivo que el servidor web ejecuta cuando llega una petición del navegador, es el archivo que lanzará la inicialización del framework. robots.txt Es el archivo que sirve para la indexación por parte de los buscadores web..gitattributes Maneja el control de versiones con Git [7]. Si no se implementa en el proyecto, se puede borrar este archivo..gitignore El archivo.gitignore contiene algunos ajustes para informar a Git de qué carpetas no debería controlar. artisan El archivo artisan es un ejecutable que es usado para interacturar con la terminal contiene un buen número de comandos útiles composer.json y composer.lock Tanto composer.json como composer.lock, contienen información sobre los paquetes de Composer usados por este proyecto. [7] Git: Es un sistema de control de versiones. 73

98 phpunit.xml El archivo phpunit.xml ofrece configuración por defecto para las pruebas unitarias de PHPUnit y ejecutará cualquier prueba ubicada en la carpeta app/tests. Plantillas Blade Es el motor de plantillas de LARAVEL, permite usar una práctica sintaxis para incluir código PHP en las vistas, incluye un número de atajos que permiten el uso de funciones existentes de LARAVEL. Las plantillas Blade se guardan en memoria cache por defecto, lo cual las hace muy rápidas Introducción Para activar las plantillas de Blade, se tiene que nombrar las vistas con la extensión *.blade.php en vez de *.php. Con este sistema de plantillas, por ejemplo la impresión de variables seria de esta manera: {{$val}} en vez de <?php echo $val;?> entre muchas otras funciones como estructuras de control, bluces, entre otras, toda esta información la tenemos disponible en la documentación oficial de LARAVEL. Componentes Externos Una vez creado él proyecto y su respectiva estructura vamos a instalar los distintos módulos externos que utilizaremos, la instalación se detalla en el ANEXO B. Los paquetes externos utilizados son: Zizaco/Confide Zizaco/Entrust JpGraph Dompdf 74

99 Zizaco/Confide Es un módulo el cual maneja la gestión de usuarios realizando operaciones como: la creación de la cuenta, confirmación de la cuenta por correo y el reseteo de la contraseña. Zizaco/Entrust Es un módulo el cual maneja las sesiones y permisos de los usuarios realizando operaciones como: autentificación de usuarios, manejo de roles y permisos. Nota: Estos dos módulos al momento de ser instalados generaran las siguientes tablas en la base de datos: users roles assigned_roles permissions permissions_role password_reminders JpGraph Este módulo contiene las clases para la generación de gráficos estadísticos, diagramas, códigos de barras, entre otras. En nuestro caso la utilizaremos para la creación de los diagramas de gantt. Dompdf Este paquete nos facilitará la creación de los reportes en él sistema con un formato pdf, es una librería que trasforma el html y css en dicho formato. Diseño Web Para el diseño del front-end del sistema se utilizara twitter bootstrap. 75

100 Twitter Bootstrap 3 Es un framework liberado por Twitter. Inc. para diseño de sitios y aplicaciones web, posee un conjunto de plantillas de diseño con tipografía, formularios, botones, entre otras. Estos elementos están basados en HTML5 y CSS3, nos genera un diseño web adaptativo y compatible con todos los navegadores modernos. En la Figura 3-42 se puede observar la estructura de directorio de bootstrap. Figura 3-42: Estructura de twitter bootstrap. Según la documentación oficial, los sistemas operativos y navegadores soportados en sus últimas versiones esta dada por la Tabla 3-1: 76

101 Chrome Firefox Android Supported Supported ios Supported N/A Mac OS X Supported Supported Windows Supported Supported Internet Explorer N/A Supported Opera Safari Not Supported N/A Not Supported Supported Supported Supported Supported Not Supported Tabla 3-1: Sistemas Operativos y Navegadores Soportados Oficialmente por Bootstrap 3. Fuente: [Consultado el 10 de julio de 2014] Autor: Fuente. Ademas la documentación oficial cita : Bootstrap también debería funcionar bien en Chromium, Chrome y Firefox en Linux y Internet Explorer 7 en Windows, aunque no están soportados oficialmente. Desarrollo del Sistema en LARAVEL Ahora que sabemos como esta estructurado el framework vamos a dar un ejemplo de como se desarrolla y estructura el código de nuestro sistema de una manera general con una tabla ficticia llamada DEMOS de una base de datos cualesquiera, se detallara las tablas reales del sistema en el ANEXO B. Modelo Para crear él modelo de la tabla demos debemos crear un archivo llamado Demo.php en la carpeta /app/models generalmente con el siguiente código de la Figura

102 Figura 3-43: Estructura de una clase en el modelo. Esto así con todas las tablas de nuestro sistema es decir tendremos los modelos: User.php, Organization.php, Project.php, entre otras. Respetando el standar de la primera letra en mayúscula y en singular. En LARAVEL los modelos utilizan el Eloquent ORM, este se encarga de convertir a objetos cada uno de los atributos de la tabla, los modelos utilizan convenciones para saber que modelo utiliza que tabla de la base datos, pero como esas convenciones están hechas para el idioma ingles es mejor decirle directamente que tabla debe usar en que modelo, esto lo hacemos con la variables $table. Vista La primera vista que vamos a crear será index.blade.php en /app/views/demo/. Para esto primero vamos a crear la carpeta demo dentro de /app/views, luego dentro de esta creamos el archivo index.blade.php siguiendo este enstandar para todos los modelos. En la Figura 3-44 vemos como estará estructurada la vista. 78

103 Figura 3-44: Estructura de una clase en la vista. Vemos que todas las vistas van a ser en el formato de plantillas blade, el cual ya hablamos en la sección anterior, en la primera linea podemos ver que todas las vistas estarán extendidas un una plantilla principal /app/views/layaouts/master.blade.php. En la Figura 3-45 se puede ver la estructura de master.blade.php Figura 3-45: Estructura de la plantilla master.blade.php 79

104 Esta plantilla cargara la estructura de html5, los estilos de twitter bootstrap y las librerías de JavaScript. Controlador Para enlazar el modelo y la vista, el controlador, para esto en la carpeta de /app/controllers creamos el archivo DemoController.php que generalmente tendrá él código que se muestra en la Figura Figura 3-46: Estructura de una clase en el controlador. Todos los controladores deben extenderse de la clase BaseController, el nombre debe terminar en Controller y debe ser igual al nombre del archivo. Comúnmente irán aquí los métodos CRUD de las diferentes tablas, como vemos se crea un nuevo objeto del modelo y este contiene las distintas funciones que realizan esas operaciones, por lo cual no es necesario realizar las típicas consultas SQL. Ruta Por ultimo hay que crear una ruta, esta es la manera que el framework redirecciona hasta la acción y el controlador que queramos, existen diferentes tipos de rutas que 80

105 implementa LARAVEL con la clase Route, se recomienda revisar la documentación oficial. Para crearla abrimos el archivo /app/routes.php y el código dependerá de la acción que deseemos, en la Figura 3-47 se visualiza un ejemplo de rutas. Figura 3-47: Ejemplos de rutas en LARAVEL. Resumiendo la arquitectura de funcionamiento de LARAVEL se realiza de acuerdo como se observa en la Figura Figura 3-48: Arquitectura de funcionamiento en LARAVEL. Fuente: [Consultado el 10 de julio de 2014] Autor: Fuente. 81

106 3.4 Pruebas Una vez finalizado el desarrollo del sistema, se procede a desarrollar las pruebas unitarias y de integración con el fin de verificar que el sistema cumple con los requerimientos funcionales Pruebas Unitarias Las pruebas unitarias verifican el funcionamiento de los componentes individuales del sistema, estas pruebas se realizan por parte del programador durante el desarrollo del sistema. Las pruebas unitarias se las realiza en referencia a los casos de usos, para lo cual se realizará el siguiente procedimiento de pruebas: a) Describir lo que se desea probar. b) Enlazar los casos de prueba por cada caso de uso. c) Se realizaran las pruebas con: datos de entrada, resultado esperado, resultado obtenido, casos de excepción. d) Si el resultado obtenido no es satisfactorio corregir el error. En la siguiente sección se observa, las pruebas unitarias realizadas, en los distintos módulos del sistema resumido en forma de tablas. 82

107 Caso de prueba Crear Usuario Descripción: Prueba unitaria para el caso de uso crear usuario Precondiciones: 1. Ingresar a la sesión de administrador. 2. Clic en la opción Usuarios. 3. Seleccionar la opción Nuevo. Datos de entrada Nombre: Paúl Apellido: Vizuete Correo: Usuario: pvizuete Rol: Admin Resultado esperado Los datos del usuario se almacenan correctamente Resultado obtenido Satisfactorio Casos de excepción Observación Si el usuario y/o correo existen, se muestra el mensaje de información indicando el error. El usuario se creara con la primera letra del nombre y el apellido. Tabla 3-2: Prueba unitaria crear usuario. Caso de prueba Confirmar Usuario Descripción: Prueba unitaria para el caso de uso confirmar un usuario Precondiciones: 1. Haber sido creado el usuario por parte del administrador. Datos de entrada Clic en el enlace enviado al correo del usuario. Resultado esperado El enlace funciona y se confirma la cuenta del usuario. Resultado obtenido Satisfactorio. Casos de excepción En algunos casos el correo es marcado como deseado. Observación Ninguna. Tabla 3-3: Prueba unitaria confirmación de usuario. 83

108 Caso de prueba Crear Organización Descripción: Prueba unitaria para el caso de uso crear una organización Precondiciones: 1. Ingresar al módulo de organización. Datos de entrada Nombre: La junta general de usuarios del sistema de riego EL PISQUE. Misión: Nuestra Misión es servir a los usuarios del Sistema de Riego El Pisque, participando en los procesos de operación, administración, mantenimiento y desarrollo del mismo, utilizando eficientemente sus recursos; así como en los procesos organizativos de la comunidad respetando la diversidad socio cultural, y colaborando en la consecución de sus metas y objetivos. Visión: La visión de la JGUSRP es la de garantizar el suministro de agua necesaria para promover la producción y, por ende, el desarrollo económico de la comunidad, promoviendo la productividad agrícola, implementando tecnología, conservando el medio ambiente, combatiendo la contaminación, reforestando y desarrollando la cuenca hidrográfica de El Pisque, apoyándonos con instituciones estatales, no gubernamentales e internacionales, y ofreciendo a los usuarios capacitación, tecnología e insumos agrícolas. Resultado esperado Los datos se graban correctamente. Resultado obtenido Satisfactorio Casos de excepción Solamente se admite una sola organización. Observación No se pueden crear organizaciones Tabla 3-4: Prueba unitaria creación de organización. 84

109 Caso de prueba Editar Organización Descripción: Prueba unitaria para el caso de uso editar una organización Precondiciones: 1. Ingresar al módulo de organización. 2. Realizar la búsqueda de la organización. 3. Clic en la opción editar. Datos de entrada Se puede modificar cualquier dato de la organización. Resultado esperado Los datos se actualizan correctamente. Resultado obtenido Satisfactorio Casos de excepción Ninguno. Observación Ninguna. Tabla 3-5: Prueba unitaria edición de la organización. Caso de prueba Eliminar Organización Descripción: Prueba unitaria para el caso de uso eliminar una organización Precondiciones: 1. Ingresar al módulo de administración. Datos de entrada Ninguno. Resultado esperado Ninguno. Resultado obtenido Ninguno. Casos de excepción Ninguno. Observación No se puede eliminar la organización. Tabla 3-6: Prueba unitaria eliminación de la organización. 85

110 Caso de prueba Crear Proyecto Descripción: Prueba unitaria para el caso de uso crear un proyecto Precondiciones: 1. Ingresar al módulo de proyecto. Datos de entrada Nombre: Invernadero metálico. Descripción: Construcción de un invernadero metálico de tres naves para asegurar la ventilación. Responsable: Consejo Provincial de Pichincha. Encargado: Santiago Duque. Fecha de inicio: Fecha de fin: Resultado esperado Los datos se graban correctamente. Resultado obtenido Satisfactorio. Casos de excepción Ninguno. Observación Ninguna. Tabla 3-7: Prueba unitaria creación del proyecto. Caso de prueba Editar Proyecto Descripción: Prueba unitaria para el caso de uso editar un proyecto Precondiciones: 1. Ingresar al módulo de proyecto. 2. Realizar la búsqueda del proyecto. 3. Clic en la opción editar. Datos de entrada Se puede modificar cualquier dato del proyecto. Resultado esperado Los datos se actualizan correctamente. Resultado obtenido Satisfactorio Casos de excepción Ninguno. Observación Ninguna. Tabla 3-8: Prueba unitaria edición del proyecto. 86

111 Caso de prueba Eliminar Proyecto Descripción: Prueba unitaria para el caso de uso eliminar una proyecto Precondiciones: 1. Ingresar al módulo de administración. Datos de entrada Aceptar la opción eliminar proyecto. Resultado esperado El proyecto se elimina correctamente. Resultado obtenido Satisfactorio Casos de excepción Ninguno. Observación Cuando se elimine un proyecto se realizara una eliminación en cascada, es decir se eliminara todos los registros relacionados con esta tabla. Tabla 3-9: Prueba unitaria eliminación del proyecto. Caso de prueba Crear Nivel Descripción: Prueba unitaria para el caso de uso crear un nivel Precondiciones: 1. Ingresar al módulo de nivel. Datos de entrada Nombre: Consideraciones técnicas del invernadero. Resultado esperado Los datos se graban correctamente. Resultado obtenido Satisfactorio. Casos de excepción Ninguno. Observación Ninguna. Tabla 3-10: Prueba unitaria creación del nivel. Caso de prueba Editar Nivel Descripción: Prueba unitaria para el caso de uso editar un nivel Precondiciones: 1. Ingresar al módulo de nivel. 2. Realizar la búsqueda del nivel. 3. Clic en la opción editar. Datos de entrada Se puede modificar cualquier dato del nivel. Resultado esperado Los datos se actualizan correctamente. Resultado obtenido Satisfactorio Casos de excepción Ninguno. Observación Ninguna. Tabla 3-11: Prueba unitaria edición del nivel. 87

112 Caso de prueba Eliminar Nivel Descripción: Prueba unitaria para el caso de uso eliminar un nivel Precondiciones: 1. Ingresar al módulo de administración. Datos de entrada Aceptar la opción eliminar nivel. Resultado esperado El nivel se elimina correctamente. Resultado obtenido Satisfactorio. Casos de excepción Ninguno. Observación Cuando se elimine un nivel se realizara una eliminación en cascada, es decir se eliminara todos los registros relacionados con esta tabla. Tabla 3-12: Prueba unitaria eliminación del nivel. Caso de prueba Crear Actividad Descripción: Prueba unitaria para el caso de uso crear una actividad Precondiciones: 1. Ingresar al módulo de actividad. Datos de entrada Nombre: Cotizaciones de materiales. Resultado esperado Los datos se graban correctamente. Resultado obtenido Satisfactorio. Casos de excepción Ninguno. Observación Ninguna. Tabla 3-13: Prueba unitaria creación de la actividad. Caso de prueba Editar Actividad Descripción: Prueba unitaria para el caso de uso editar una actividad Precondiciones: 1. Ingresar al módulo de actividad. 2. Realizar la búsqueda de la actividad. 3. Clic en la opción editar. Datos de entrada Se puede modificar cualquier dato de la actividad. Resultado esperado Los datos se actualizan correctamente. Resultado obtenido Satisfactorio Casos de excepción Ninguno. Observación Ninguna. Tabla 3-14: Prueba unitaria edición de la actividad. 88

113 Caso de prueba Eliminar Actividad Descripción: Prueba unitaria para el caso de uso eliminar una actividad Precondiciones: 1. Ingresar al módulo de administración. Datos de entrada Aceptar la opción eliminar actividad. Resultado esperado La actividad se elimina correctamente. Resultado obtenido Satisfactorio. Casos de excepción Ninguno. Observación Cuando se elimine una actividad se realizara una eliminación en cascada, es decir se eliminara todos los registros relacionados con esta tabla. Tabla 3-15: Prueba unitaria eliminación de la actividad. Caso de prueba Crear Tarea Descripción: Prueba unitaria para el caso de uso crear una tarea Precondiciones: 1. Ingresar al módulo de tarea. Datos de entrada Nombre: Materiales y herramientas del invernadero, poli sombra y barrera rompe vientos. Encargado: Consejo Provincial de Pichincha Responsable: Xavier Villareal. Fecha de inicio: Fecha de fin: Porcentaje: 14%. Descripción: Se realizara la cotización de los materiales antes señalados. Resultado esperado Los datos se graban correctamente. Resultado obtenido Satisfactorio. Casos de excepción Ninguno. Observación Ninguna. Tabla 3-16: Prueba unitaria creación de la tarea. 89

114 Caso de prueba Editar Tarea Descripción: Prueba unitaria para el caso de uso editar una tarea Precondiciones: 1. Ingresar al módulo de tarea. 2. Realizar la búsqueda de la tarea. 3. Clic en la opción editar. Datos de entrada Se puede modificar cualquier dato de la tarea. Resultado esperado Los datos se actualizan correctamente. Resultado obtenido Satisfactorio Casos de excepción Ninguno. Observación Ninguna. Tabla 3-17: Prueba unitaria edición de la tarea. Caso de prueba Eliminar Tarea Descripción: Prueba unitaria para el caso de uso eliminar una tarea Precondiciones: 1. Ingresar al módulo de administración. Datos de entrada Aceptar la opción eliminar tarea. Resultado esperado La tarea se elimina correctamente. Resultado obtenido Satisfactorio. Casos de excepción Ninguno. Observación Cuando se elimine una tarea se realizara una eliminación en cascada, es decir se eliminara todos los registros relacionados con esta tabla. Tabla 3-18: Prueba unitaria eliminación de la tarea. 90

115 Caso de prueba Crear Recurso Descripción: Prueba unitaria para el caso de uso crear un recurso Precondiciones: 1. Ingresar al módulo de recurso. Datos de entrada Nombre: Otros materiales para el vivero. Descripción: Es un recurso que esta a cargo de la comunidad. Costo: $1500. Resultado esperado Los datos se graban correctamente. Resultado obtenido Satisfactorio. Casos de excepción Ninguno. Observación Ninguna. Tabla 3-19: Prueba unitaria creación del recurso. Caso de prueba Editar Recurso Descripción: Prueba unitaria para el caso de uso editar un recurso Precondiciones: 1. Ingresar al módulo de recurso. 2. Realizar la búsqueda del recurso. 3. Clic en la opción editar. Datos de entrada Se puede modificar cualquier dato del recurso. Resultado esperado Los datos se actualizan correctamente. Resultado obtenido Satisfactorio. Casos de excepción Ninguno. Observación Ninguna. Tabla 3-20: Prueba unitaria edición del recurso. Caso de prueba Eliminar Recurso Descripción: Prueba unitaria para el caso de uso eliminar un recurso Precondiciones: 1. Ingresar al módulo de administración. Datos de entrada Aceptar la opción eliminar recurso. Resultado esperado El recurso se elimina correctamente. Resultado obtenido Satisfactorio. Casos de excepción Ninguno. Observación Ninguna. Tabla 3-21: Prueba unitaria eliminación del recurso. 91

116 3.4.2 Pruebas de Integración Las pruebas de integración son métodos que permiten determinar la estructura del sistema. El objetivo de estas pruebas es tomar los componentes a los que se realizó las pruebas unitarias para verificar que dichos componentes en conjunto funcionan correctamente. A continuación en la Tabla 3-22, se describen las pruebas de integración de los módulos del sistema ILALO V

117 Caso de Prueba Gestión de Usuarios Gestión de Organizaciones Gestión de Proyectos Gestión de Niveles Gestión de Actividades Gestión de Tareas Gestión de Recursos Prueba Unitaria Crear Usuario Confirmar Usuario Buscar Usuario Visualizar Usuario Editar Usuario Eliminar Usuario Buscar Organización Visualizar Organización Editar Organización Crear Proyecto Buscar Proyecto Visualizar Proyecto Editar Proyecto Eliminar Proyecto Crear Nivel Buscar Nivel Visualizar Nivel Editar Nivel Eliminar Nivel Crear Actividad Buscar Actividad Visualizar Actividad Editar Actividad Eliminar Actividad Crear tarea Buscar tarea Visualizar tarea Editar tarea Eliminar tarea Crear recurso Buscar recurso Visualizar recurso Editar recurso Eliminar recurso Tabla 3-21: Pruebas de Integración. 93 Resultados Esperados Módulo Integrado correctamente. Módulo Integrado correctamente. Módulo Integrado correctamente. Módulo Integrado correctamente. Módulo Integrado correctamente. Módulo Integrado correctamente. Módulo Integrado correctamente.

118 3.4.3 Pruebas de Estrés Conocidas como stress testing, el objetivo de estas pruebas es obtener datos, sobre la carga del sistema, que ayuden a realizar el dimensionamiento del sistema. Esta prueba genera carga en el sistema hasta hacerlo colapsar, de esta manera se prueba los tiempos de respuesta ante un determinado número de conexiones y peticiones. Pruebas de Estrés con Apache Bench Apache Bench es una utilidad que posee él servidor web Apache, que nos permite realizar pruebas de estrés simulando n número de conexiones y peticiones al sistema permitiéndonos medir el rendimiento del servidor, así como tener los tiempos de respuesta bajo los parámetros antes mencionados. Procedimiento de la Prueba de Estrés 1. Ingresamos a la aplicación e iniciamos la sesión. 2. Necesitamos pasarle a Apache Bench la cookie con el identificador de sesión. Para averiguar el identificador de sesión, en Firefox está en Preferencias Privacidad eliminar cookies de forma individual; tal cual como se observa en la Figura

119 Figura 3-49: Cookie inicio de Sesión 3. Copiamos el nombre de la cookie y su respectivo valor. 4. Abrimos la terminal y pasmos él comando ab -g grafica.data -n 14 -c 10 -C laravel_session=eyjpdii6inpkqk1nbwp6v0e2rwxibvzfevhivwvwcexszthr MjNrZjJOM1gwZFVubTg9IiwidmFsdWUiOiJXM3AzWTNMVWhjTFhnU3hKMG JyZ2VEaktlUnkxUEtvY2tVa05tXC9RaEFiMjg1YWpoRkl0Z2drZ0dFR1NIUFZYY nfathldtgvxrfv5tzm2cmh2burcl013pt0ilcjtywmioijkodvjythkmdhk ZDBkNWFjNjJmZjllNGJkZTgyY2E1ODkyMDg0Y2M4M2M0M2NiM2QzZDg5Y zninde3m2iwnwnhin0%3d 95

120 Donde: ab es el comando para iniciar Apache Bench. -g guarda los resultados en el archivo grafica.data, para poder dibujarlos luego. -n 14 indica que se harán de peticiones al servidor. -c 20 indica el número de conexiones. -C laravel_session=eyjpdii6inpkqk1nbwp6v0e2rwxibvzfevhivwvwcexs ZThRMjNrZjJOM1gwZFVubTg9IiwidmFsdWUiOiJXM3AzWTNMVWhjT FhnU3hKMGJyZ2VEaktlUnkxUEtvY2tVa05tXC9RaEFiMjg1YWpoRkl0Z2 drz0dfr1niufzyynfathldtgvxrfv5tzm2cmh2burcl013pt0ilcjt YWMiOiJkODVjYThkMDhkZDBkNWFjNjJmZjllNGJkZTgyY2E1ODkyM Dg0Y2M4M2M0M2NiM2QzZDg5YzNiNDE3M2IwNWNhIn0%3D pasa el identificador de sesión en forma de cookie es la dirección de la aplicación Se ingresaron estos parámetros puesto que el número de conexiones que actualmente ocupa el sistema es de 10, y el número de peticiones al servidor es un valor variable pero su tope máximo ha sido de 14 tal como se observa en la Figura Figura 3-50: Número máximo de peticiones al Servidor. 96

121 Con la ejecución de la prueba se obtuvieron los siguientes resultados: This is ApacheBench, Version 2.3 <$Revision: $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, Licensed to The Apache Software Foundation, Benchmarking (be patient)...done Server Software: Apache/2.4.7 Server Hostname: Server Port: 80 Document Path: Document Length: /ilalov1/public/ 5404 bytes Concurrency Level: 10 Time taken for tests: seconds Complete requests: 14 Failed requests: 0 Write errors: 0 Total transferred: bytes HTML transferred: bytes Requests per second: 0.99 [#/sec] (mean) Time per request: [ms] (mean) Time per request: [ms] (mean, across all concurrent requests) Transfer rate: 5.91 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: Processing: Waiting: Total: Percentage of the requests served within a certain time (ms) 50% % % % % % % % % (longest request) 97

122 Lo más relevante de estos resultados es lo siguiente: Requests per second: peticiones atendidas por segundo durante la prueba. Time per request (mean): tiempo miedo que el servidor ha tardado en atender a un grupo de peticiones. Time per request (mean, across all concurrent requests): tiempo medio que el servidor ha tardado en atender una petición individual. Finalmente para crear una gráfica del test utilizamos los datos generados en él archivo grafica.data. Figura 3-51: Gráfico Peticiones y Conexiones vs Tiempos de Respuesta. 98

123 3.5 Mantenimiento El software sufrirá modificaciones después que se encuentre en producción, estos ocurrirán debido a que hayan encontrado errores, a que el software deba adaptarse a nuevas reaglas del negocio. Estos tendran que darse bajo las normas y condiciones que la universidad y la facultad tengan dentro de sus estatutos en cuanto a los derechos de propiedad intelectual del software. 99

124 CAPÍTULO 4 CONCLUSIONES Y RECOMENDACIONES 4.1 Conclusiones Se desarrollo él sistema informático ILALO V 1.0, acorde con los requerimientos tomados por parte de la JGUSRP, logrando cumplir los objetivos planteados al inicio del proyecto. Se logro mejorar el seguimiento, desarrollo y ejecución de los proyectos de la junta. Con la generación de reportes y diagramas de Gantt se pudo tener un mejor control de los proyectos que estos poseen. Se pudo dar al usuario una herramienta web la cual le dara facilidad para dar seguimiento a los proyectos que el usuario necesite y pueda consultar. El sistema ILALO V 1.0 es un sistema para poder monitorizar a distintos proyectos de diversa índole y fácil de usar con lo cual se ha facilitado el seguimiento de proyectos. 4.2 Recomendaciones. El sistema está diseñado en un ambiente web, pero este estará ejecutado de forma local, si en algun momento se desea migrarlo a la web se recomineta ulitilzar un servicio de hosting que tenga la misma arquitectura ya antes señalada. Se recomienda el uso de navegadores web modernos, que esten siempre actualizados en sus últimas versiones estables, puesto que estos son más compatibles con las plantillas de diseño del sistema, de esta manera evitaremos errores en el funcionamiento. Como la tecnología es muy cambiante se recomineda no actualizar los distintos componentes que conforman el sistema es decir: PHP, LARAVEL y Twitter Bootstrap, puesto que podria haber incompatiblidades entre estos. 100

125 GLOSARIO DE TERMINOS A Algoritmo.- Método que describe cómo se resuelve un problema en término de las acciones que se ejecutan y especifica el orden en que se ejecutan estas acciones. Los algoritmos ayudan al programador a planificar un programa antes de su escritura en un lenguaje de programación. API.- Interfaz de programación de aplicaciones (Application Program Interface). Conjunto de convenciones internacionales que definen las propiedades y cómo debe invocarse una determinada función de un programa desde una aplicación. Array (vector o arreglo).- Objeto que almacena una secuencia indexada de los mismos tipos de datos, los elementos individuales se referencian por el valor de un índice. B Base de datos.- En ocasiones abreviada con la sigla BD o DB, es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. Bolean (bolean, lógico).- Tipo de datos que puede tomar sólo dos valores: true (verdadero) y false (falso). C Clase.- Colección encapsulada de variables y funciones que representan la abstracción de una entidad, los métodos de una clase definen el conjunto de operaciones permitidas sobre los datos de una clase (sus atributos). Una clase puede tener muchas instancias de la clase u objetos. Cliente.- Aquella aplicación que trabaja en conjunto con un servidor, generalmente el cliente reside en la computadora del usuario, este envía al servidor la petición de la información que sea necesaria interpretar la respuesta para presentarla al usuario. Comentario.- Párrafo de texto que tienen como objetivo documentar el programa y mostrar como se ha codificado. Los comentarios no son sentencias de programación y son ignorados por el compilador. 101

126 Composer.- Los proyectos PHP grandes, como por ejemplo las aplicaciones desarrolladas con LARAVEL u otros frameworks como Symfony2, dependen a su vez de muchos otros proyectos. Cuando se envía un por ejemplo, LARAVEL utiliza una librería externa llamada SwiftMailer. Así que para que la aplicación funcione bien, composer instala todas esas librerías externas (llamadas dependencias). CSS.- Lenguaje de hojas de estilo utilizado para dar cierto formato, apariencia y presentación a un archivo hecho mediante un lenguaje de marcado como HTML. D Default.- Ajustes por defecto. Lo que pasará si no se modifica nada. Diagrama de flujo.- Representación gráfica de los tipos y secuencia de operaciones de un programa o proceso. DML.- Lenguaje de Manipulación de Datos. Es un lenguaje que permite el manejo y procesamiento del contenido una base de datos. DOM (Document Object Model).- Es una API que permite acceder y manipular las páginas XHTML como si fueran documentos XML, pueden acceder y modificar el contenido, estructura y estilo de los documentos HTML y XML. F Firefox.- Navegador de la web gratuito, moderno que cumple compatible con los estándares web y nuevas funcionalidades html5. Framework.- Es una estructura lógica con módulos de software, que sirven de base para la organización y desarrollo de aplicaciones. Incluye soporte de programas, bibliotecas, funciones, probadas por varias personas y disponible para la mayoría de lenguajes de programación. Función.- Estructura lógica que recibe o no parámetros, y generalmente devuelve un resultado. H HTML.- Lenguaje de marcas de hipertexto, es el lenguaje en el que están escritas las páginas web, se trata de un texto en el que hay insertadas etiquetas que comienzan 102

127 con el símbolo < y acaban con los símbolos /> el navegador interpreta el significado de las etiquetas mostrándonos en pantallas las páginas tal y como lo vemos. J JavaScript (JS).- Un lenguaje de programación que interpretado que se ejecuta del lado del cliente generalmente, permite añadir ciertas funciones a las páginas web, e incluso alterar la manera en que se ven algunos elementos dadas ciertas condiciones. Jquery.- Es un framework JavaScript, que nos permite escribir código JS, de una manera mucho más fácil y rápido. L Lenguaje de marcado o lenguaje de marcas.- Es una forma de codificar un documento junto con el texto, incorpora etiquetas o marcas estas estructuran el texto o su presentación. Los lenguajes de marcado suelen confundirse con lenguajes de programación. Sin embargo, no son lo mismo, ya que no tiene funciones aritméticas o variables, como sí poseen los lenguajes de programación. M Maquetado.- Es el nombre que recibe la acción de distribuir los elementos en una página web, es decir es un bosquejo de como estará estructurada. S Servidor.- Es el nodo parte de la arquitectura cliente-servidor que da respuesta a las peticiones que realiza el cliente. W World Wide Web (WWW).- Más conocida como la web, es un sistema de distribución de documentos de hipertexto, accesibles vía Internet a travez de un navegador. W3C (World Wide Web Consortium).- Organización que da recomendaciones y stándares de programación para poder desarrollar aplicaciones web, compatibles con la mayoría de los navegadores. 103

128 BIBLIOGRÁFIA Referencias Bibliográficas 1. PRESSMAN R, (2005). Ingeniería de Software un Enfoque Práctico, España. Sexta Edición. 2. SOMMERVILLE Ian, (2005). Ingeniería del Software. Séptima Edición. 3. GONZÁLEZ, Jesús. (2006) Sistemas sistema de seguimiento de proyectos: Funcionamiento y metodología de implantación. Ediciones Trea. Referencias Web 1. ( Documentation - LARAVEL PHP Framework, n.d.) Center for History and New Media. (n.d.). Guía rápida. obtenido Junio 10, 2013 de 2. ( Api - LARAVEL PHP Framework, n.d.) Center for History and New Media. (n.d.). Guía rápida. obtenido Junio 10, 2013 de 3. MySQL :: MySQL 5.0 Reference Manual :: 1 Información general. (n.d.). obtenido Junio 10, 2013, de 4. PHP: Un tutorial sencillo - Manual. (n.d.). obtenido Junio 10, 2013, de 5. Proyectos de Negocio. (n.d.). obtenido Junio 10, 2013, de 6. Sistema de seguimiento de proyectos Management Coalition. (n.d.). obtenido Junio 10, 2013, de 7. ( Bootstrap makes front-end web development, n.d.). obtenido Junio 10, 2013 de 8. Material docente sobre gestión y control de proyectos : Programa de Capacitación BID/ILPES 104

129 ANEXOS ANEXOS 105

130 ANEXO A MANUAL DE USUARIO Objetivo El objetivo del presente manual es instruir al usuario final acerca del uso del sistema, se recomienda el uso de navegadores modernos para evitar posibles errores en el funcionamiento del sistema. Requerimientos Tener un navegador web moderno, preferentemente: Firefox y/o Google Chrome. Tener habilitado JavaScript en el navegador, por defecto viene habilitado en la mayoría de los navegadores. Ingreso al sistema. Para ingresar al sistema se debe acceder a través de la siguiente dirección, en nuestro navegador: donde X.X.X.X sera la ip del servidor, donde se encuentra la aplicación, como se ve en la Figura A-1 Figura A -1: Dirección de página de Inicio de la aplicación. Figura A-2: Página de Inicio de la aplicación. Una vez ingresado nos aparecerá la pantalla de inicio, en donde se cargan los datos 106

131 generales de la organización. Nota: De acuerdo al perfil que posea el usuario tendrá acceso a las distintas sesiones de las que está conformado el sistema: Administrador Gestor de Proyecto Usuario Para acceder al sistema se usa el usuario y contraseña que fue otorgado al usuario por el administrador del sistema, ingresamos dando clic en la esquina superior derecha. Figura A-3: Inicio sesión de la aplicación. Si el usuario, correo electrónico y/o contraseña fue mal ingresado se muestra él siguiente mensaje de error. Figura A-4: Error Inicio sesión de la aplicación. Si no se recuerda el usuario o la contraseña se debe ingresar al enlace olvide contraseña el cual nos lleva a la pantalla de que nos permitirá restablecer la 107

132 contraseña ingresado el nuestro correo electrónico. Figura A-5: Correo electrónico para recuperación de contraseña. Opciones generales para todos los Perfiles Las opciones que se detallan en este segmento son comunes para todos los registros del sistema. Figura A-6: Botón nuevo registro. Fuente: Tesista Autor: Tesista Con esta opción él usuario podrá crear un nuevo registro en la base de datos Figura A-7: Botones editar y eliminar registro. Con estas opciones el usuario podrá editar o eliminar él registro asociado, a la correspondiente fila de la tabla. 108

133 Figura A-8: Botones guardar y cancelar edición del registro. Con estas opciones el usuario podrá guardar o rechazar los cambios de la edición de un registro. Opción Nuevo Cuando demos clic en esta opción aparecerá un formulario con los distintos campos que posea el registro que deseamos ingresar en él sistema. Figura A-9: Ejemplo de un formulario para un nuevo registro. 109

134 Ingresamos los campos que nos pida él formulario para poder ser ingresados al sistema, estos datos serán validados, antes de ser guardados en cada opción del menú que posea nuestro perfil. Opción Eliminar Cuando demos clic en esta opción aparecerá una pantalla de confirmación para la eliminación del registro. Figura A-10: Ejemplo de la ventana de confirmación para eliminar un registro. Nota.- Cabe recalcar si se elimina un registro este lo hará en forma de cascada, es decir sé eliminará todos los registros que dependen de este por ejemplo: si elimina un proyecto se eliminara todas las dependencias asociadas a este proyecto, es decir sus etapas, actividades, tareas y recursos. Opción Editar Cuando demos clic en esta opción aparecerá un formulario con los distintos campos que posea el registro que deseamos editar en él sistema. 110

135 Figura A-11: Ejemplo de un formulario para editar un registro. Modificamos los campos que deseemos actualizar en él formulario para poder ser ingresados al sistema, estos datos serán validados, antes de ser guardados. Si deseamos aplicar los cambios al registro lo damos clic en guardar tal cual sé muestra en la Figura A-11. Módulo de Reportes El módulo de reportes es una opción en común que tienen todos los perfiles que maneja él sistema, basta con dar clic en la imagen del tipo de documento en el que deseamos que sé genere el reporte. Figura A-12: Panel común para el acceso a los reportes. 111

136 El sistema maneja tres tipos de formatos de reportes: Documento pdf. Documento Word. Documento Excel. Reportes en Pdf Esta opción genera reportes, de los proyectos, las tareas y los recursos con distintos criterios de selección y con el formato ya mencionado. Figura A-13: Panel para la generación de reportes en formato pdf. Reportes en Word Esta opción genera reportes, de los proyectos, las tareas y los recursos con distintos criterios de selección y con el formato ya mencionado. 112

137 Figura A-14: Panel para la generación de reportes en formato de documento de word. Reportes en formato Excel Esta opción genera reportes, de los proyectos, las tareas y los recursos con distintos criterios de selección y con el formato ya mencionado. Figura A-15: Panel para la generación de reportes en formato de documento de excel. 113

138 Opciones Perfil Administrador Este perfil es el encargado de las tareas de administración del sistema como crear usuarios, editar la organización y demás opciones que se explican más adelante. Este perfil tiene acceso a las opciones que se muestran en la Figura A-16. Figura A-16: Panel de sesión del perfil de administrador. Usuarios Al dar clic nos aparecerá él listado con los usuarios de la organización, en forma de tabla, como se puede observar en la Figura A-17. Figura A-17: Listado de los usuarios del sistema con las opciones de CRUD. En esta opción el administrador podrá crear usuarios, del sistema y asignara los respectivos perfiles de los mismos, el cual enviara un correo electrónico a la cuenta del usuario para que sea activado. 114

139 Organización Al dar clic nos aparecerá él listado con los campos de la organización, en forma de tabla, con el icono en forma de lápiz para poder editar la misma Figura A-18: Lista de la organización del sistema. En esta opción el administrador podrá editar, los campos de la organización, como la misión, visión y el nombre de la organización Figura A-19: Panel para la edición de la organización del sistema. 115

140 Nota: La Organización es única por tanto no se podrá crear mas organizaciones ni tampoco eliminarla Proyectos Al dar clic nos aparecerá él listado con los proyectos de la organización, en forma de tabla, como se puede observar en la Figura A-20, tenemos un campo adicional, a parte de los botones de eliminar y editar, que él diagrama de gantt del proyecto. Figura A-20: Listado de los proyectos del sistema con las opciones de CRUD. En esta opción el administrador podrá crear, editar y eliminar los distintos proyectos que la organización tiene en sus manos, cualquiera sea el estado en que este se encuentre. Estados Al dar clic nos aparecerá él listado con los estados que puede tener los proyectos de la organización, en forma de tabla, como se puede observar en la Figura A

141 Figura A-21: Listado de los estados del proyecto con las opciones de CRUD. En esta opción el administrador podrá crear editar y eliminar los distintos estados que los proyectos pueden tener por ejemplo: Activo, finalizado, pendiente entre otros. Etapas Al dar clic nos aparecerá él listado con las etapas que puede tener los proyectos de la organización, en forma de tabla, como se puede observar en la Figura A-22. Figura A-22: Listado de las etapas del proyecto con las opciones de CRUD. En esta opción el administrador podrá crear editar y eliminar las distintas etapas que los proyectos pueden tener Actividades Al dar clic nos aparecerá él listado con las actividades que puede tener las etapas de los distintos proyectos de la organización, en forma de tabla, como se puede observar en la Figura A

142 Figura A-23: Listado de las actividades del proyecto con las opciones de CRUD. En esta opción el administrador podrá crear editar y eliminar las distintas actividades, que las etapas de los proyectos pueden tener Tareas Al dar clic nos aparecerá él listado con las tareas que puede tener las actividades de las distintas etapas de los proyectos, en forma de tabla, como se puede observar en la Figura A-24. Figura A-24: Listado de las tareas del proyecto con las opciones de CRUD. En esta opción el administrador podrá crear editar y eliminar las distintas tareas que puede tener una actividad dentro de una etapa 118

143 Recursos Al dar clic nos aparecerá él listado con los recursos asignados a las tareas que puede tener las actividades de las distintas etapas de los proyectos, en forma de tabla, como se puede observar en la Figura A-25. Figura A-25: Listado de los recursos del proyecto con las opciones de CRUD. En esta opción el administrador podrá crear editar y eliminar los distintos recursos que puede tener una tarea Nota.- Los otros perfiles de manager y user que maneja él sistema se manejaran de la misma forma que el perfil de administrador solamente que con menos opciones de las que tratamos antes. 119

144 ANEXO B MANUAL DE TÉCNICO Objetivo El objetivo de este manual es profundizar en la parte informática tanto de hardware como software que necesitamos tener disponible, para poder levantar e implantar el sistema en distintos ambientes, arquitecturas, sistemas operativos, entre otras. Así como conocer los distintos módulos y componentes y estructura de la aplicación. Herramientas Empleadas PHP >= Extensión MCrypt PHP. Base de datos MySQL >=5.4 Servidor web Apache >= Composer. Instalación del Ambiente de Software El ambiente puede ser instalado en cualquier sistema operativo, en este manual especifica la instalación para sistemas GNU/Linux y Windows. Instalación de PHP, Apache y MySQL en GNU/Linux Existen varias formas de instalar PHP en GNU/Linux, va a depender de la distribución y la versión pero veremos la instalación desde los repositorios, utilizaremos para este manual Ubuntu Instalación de PHP Ejecutamos en una terminal los siguientes comandos: sudo apt-get install php5-curl sudo apt-get install curl sudo apt-get php5-mcrypt 120

145 Instalación de Apache Ejecutamos en una terminal el siguiente comando: sudo apt-get install apache2 Instalación de MySQL Ejecutamos en una terminal los siguientes comandos: sudo apt-get install MySQL-server sudo apt-get install MySQL-client sudo apt-get install libmysqlclient-dev Durante el proceso de instalación pedirá que se asigne la contraseña al usuario root de MySQL. Instalación de phpmyadmin Ejecutamos en una terminal el siguiente comando: sudo apt-get install phpmyadmin Una vez instalado todos los componentes del servidor LAMP, procedemos a comprobar que la instalación haya sido correcta y este funcional. Toda la documentación root por defecto de apache se encuentra en el directorio /var/www/html/ es decir en esta carpeta estaran todas las páginas web del sistema. Creamos un nuevo archivo llamado info.php, dentro de la carpeta anterior con el siguiente código. <?php phpinfo();?> Ingresamos al navegador del cliente y escribimos la dirección ip del servidor y el archivo que acabamos de crear 121

146 Figura B-1: Página de configuración de PHP. Instalación de PHP, Apache y MySQL en Windows Lo más recomendable para la instalación de PHP en Windows es utilizar, uno de los tantos paquetes de servidores independientes como: XAMPP, Appserver, EasyPHP, entre otros, que manejan una colección de PHP, Apache y MySQL, para este manual se utilizara XAMPP. Este manual está desarrollado para la versión XAMPP (del 21 de agosto de 2014), que incluye Apache , PHP , MySQL y se puede descargar con este enlace https://www.apachefriends.org/es/index.html. Las versiones posteriores (1.8.X) necesitarán probablemente cambios en los archivos de configuración, por lo que se recomienda utilizar XAMPP X. Una vez descargado el instalador de XAMPP, hay que hacer doble clic sobre él para ponerlo en marcha. Las imágenes que se muestran a continuación corresponden a la instalación de XAMPP en Windows 7 (a partir de XAMPP 1.8.3, XAMPP no se puede instalar en Windows XP ya que PHP 5.5 no se puede instalar en Windows XP). Ejecutamos el instalador descargado y lo primero en apareces es si el servidor posee un antivirus. 122

147 Figura B-2: Alerta de antivirus instalado. Aparece si está activado el Control de Cuentas de Usuario y recuerda que algunos directorios tienen permisos restringidos. Figura B-3: Alerta de cuentas de usuario y permisos de instalación. 123

148 Figura B-4: Inicio de asistente de instalación de XAMPP. A continuación se inicia el asistente de instalación. Para continuar, hay que hacer clic en el botón "Next". Los componentes mínimos que instala XAMPP son el servidor Apache y el lenguaje PHP, pero XAMPP también instala otros elementos, como necesitamos MySQL lo instalamos y phpmyadmin para administrarlo. 124

149 Figura B-5: Selección de componentes de XAMPP a ser instalados. 125

150 Figura B-6: Selección del directorio de instalación de XAMPP. En la siguiente pantalla se puede elegir la carpeta de instalación de XAMPP. La carpeta de instalación predeterminada es C:\xampp se la puede cambiar pero la dejaremos por defecto, damos clic en el botón "Next". Para empezar la instalación de XAMPP, hay que hacer clic en el botón "Next" en la pantalla siguiente. 126

151 Figura B-7: Inicio de instalación de XAMPP. A continuación, se inicia el proceso de copia de archivos, que puede durar unos minutos. 127

152 Figura B-8: Copia de los archivos de XAMPP al directorio de instalación. Una vez terminada la copia de archivos, se muestra la pantalla que confirma que XAMPP ha sido instalado. Hay que hacer clic en el botón "Finish". Para no abrir a continuación el panel de control de XAMPP habría que desmarcar la casilla correspondiente. 128

153 Figura B-9: Finalización de la instalación de XAMPP. Acceder al panel de Control de XAMPP Al panel de control de XAMPP se puede acceder mediante el menú de inicio "Todos los programas > XAMPP > XAMPP Control Panel" o, si ya está iniciado, mediante el icono del área de notificación. El panel de control de XAMPP se divide en tres zonas: La zona de módulos, que indica para cada uno de los módulos de XAMPP: si está instalado como servicio, su nombre, el identificador de proceso, el puerto utilizado e incluye unos botones para iniciar y detener los procesos, administrarlos, editar los archivos de configuración y abrir los archivos de registro de actividad. La zona de notificación, en la que XAMPP informa del éxito o fracaso de las acciones realizadas 129

154 La zona de utilidades, para acceder rápidamente Figura B-10: Panel de Control de XAMPP. Para cerrar el panel de control de XAMPP hay que hacer clic en el botón Quit: Figura B-11: Cierre del Panel de Control de XAMPP. 130

155 El botón Cerrar en forma de aspa no cierra realmente el panel de control, sólo lo minimiza: Figura B-12: Minimización del Panel de Control de XAMPP. Si se ha minimizado el panel de control de XAMPP, se puede volver a mostrar haciendo doble clic en el icono de XAMPP del área de notificación. Figura B-13: Área de notificaciones de los servicios de XAMPP. El panel de control de XAMPP y el cortafuegos de Windows Cuando se pone en marcha por primera vez cualquiera de los servicios que instala XAMPP, el cortafuegos de Windows pide al usuario confirmación de la autorización. 131

156 Por ejemplo, la primera vez que se pone en marcha Apache mediante el botón Start. Figura B-14: Inicio de los servicios de XAMPP. Como Apache abre puertos en la computadora (por primera vez), el cortafuegos de Windows pide al usuario confirmación. Para poder utilizarlo hace falta al menos autorizar el acceso en redes privadas. 132

157 Figura B-15: Desbloqueo del servicio web de Apache en el cortafuegos. Si el arranque de Apache tiene éxito, el panel de control mostrará el nombre del módulo con fondo verde, su identificador de proceso, los puertos abiertos (http y https), el botón "Start" se convertirá en el botón "Stop" y en la zona de notificación se verá el resultado de las operaciones realizadas. 133

158 Figura B-16: Detención de servicios en XAMPP. Si se abre el programa "Firewall de Windows con seguridad avanzada", en el apartado de Reglas de entrada pueden verse las nuevas reglas añadidas. Figura B-17: Reglas añadidas en el cortafuegos. Para comprobar que todo funciona correctamente, hay que escribir en el navegador la dirección Al abrir la página por primera vez, XAMPP pedirá seleccionar el idioma: 134

159 Figura B-18: Página de inicio de XAMPP Una vez elegido el idioma, se mostrará el panel de administración web de XAMPP 135

160 Figura B-19: Panel de control web de XAMPP. Por último hay que poner de seguridad al servidor recién instalado, para ello en el menú de la izquierda hacemos clic en chequeo de seguridad. Figura B-20: Chequeo de seguridad web de XAMPP. Comprobaremos que algunos de los servicios aún no son seguros. 136

161 Figura B-21: Servicios inseguros de XAMPP. Para arreglar estas vulnerabilidades hacemos clic sobre el enlace que se muestra en la Figura B-22. Figura B-22: Enlace para corrección de vulnerabilidades de XAMPP. Nos aparecerá una página donde establecemos una contraseña para el usuario root de MySQL. Figura B-23: Establecimiento de contraseña del usuario root de MySQL. 137

162 Instalación de Composer Puede ser instalado en cualquier sistema operativo, en este manual especifica la instalación para sistemas GNU/Linux y Windows. Instalación de Composer en GNU/Linux Ejecutamos desde su consola el siguiente comando: curl -ss https://gentre otrasomposer.org/installer php O si no se tiene CURL instalado: php -r "eval('?>'.file_get_contents('https://gentre otrasomposer.org/installer'));" Si todo sale bien ya se podrán usar Composer con el siguiente comando: php composer.phar Instalar Composer globalmente Es mejor instalar y tener disponible Composer en todo el sistema, para ello hay que renombrar el archivo a composer (sin extensión) y moverlo a /usr/local/bin. Instalar Composer en Windows Descargamos él instalador de la página oficial https://gentre otrasomposer.org/composer-setup.exe y lo ejecutamos dando clic en siguiente hasta finalizar. 138

163 Figura B-24: Inicio de instalador de composer para windows. También se necesita instalar una consola git, la podemos instalar desde este enlace la ejecutamos y damos clic en siguiente hasta finalizar. Si deseamos más información de composer la podemos encontrar en su página oficial https://gentre otrasomposer.org/ 139

164 Figura B-25: Inicio de instalador de consola git para windows. Instalación de LARAVEL Una vez instalado composer, usando la consola/terminal (si estamos en Windows usaremos la consola de GIT que recién instalamos), ingresamos a la carpeta de la documentacion de root del servidor web en este, por ejemplo: cd /var/www/html o c:/xampp/httpdocs/ y escribir el siguiente código: composer create-project laravel/laravel ilalov1 4.1.* Explicación: ilalov > Nombre del Sistema. 4.1.* > Versión del Framework Composer se encargará de descargar el núcleo base de LARAVEL y todas sus dependencias. 140

165 Figura B-26: Instalación de un nuevo proyecto LARAVEL vía Composer. Una vez que haya terminado la instalación del nuevo proyecto, nos creara una estructura de carpetas y archivos como se detalló en la sección del tercer capítulo. 141

166 Figura B-27: Estructura de carpetas y archivos de un nuevo proyecto con LARAVEL. Comprobamos que se haya instalado correctamente nos dirigimos al navegador, y digitados la dirección del servidor y nos aparecerá la siguiente página. Figura B-28: Página de inicio de LARAVEL. 142

167 Restauración de ILALO V. 1 Una vez realizada la instalación de LARAVEL 4.1, tenemos que restaurar el proyecto, empezaremos por levantar la base de datos, luego instalaremos los componentes externos que ocupamos para el desarrollo del proyecto el cual los mencionamos en la sección Componentes Externos del tercer capítulo. Levantamiento de la base de datos Abrimos nuestro navegador y ejecutamos PhpMyAdmin, ingresamos a la misma con el usuario root y la contraseña que establecimos en la instalación, una vez dentro nos permitirá restaurar la base de datos con la información básica que necesita el sistema ILALO para empezar con su funcionamiento. Creamos una base de datos con el nombre ILALO y el cotejamiento utf8_unicode_ci, tal como se muestra en la Figura B-29 es importante esta codificación puesto que es con la trabaja LARAVEL, esta nos permitirá grabar datos con tildes, caracteres especiales y la letra ñ. Figura B-29: Creación de una nueva base de datos con PhpMyAdmin. 143

168 Una vez creada la base ILALO, buscamos el archivo de restauración se encuentra en el CD del proyecto, D:/sistema/db/ilalo.sql, cargamos dicho archivo y restauramos la base, con la opción importar. Figura B-30: Restauración de la base de datos ILALO. Una vez levantada la base de datos podemos ver la estructura de que se generó una parte del modelo E-R, visto en la sección Modelo de Datos, del tercer capítulo, el resto de tablas la creara él componente de Zizaco/entrust y Zizaco/confide Figura B-31: Estructura de la base de datos ILALO. Finalmente tenemos que configurar él archivo ilalo/app/config/database.php, este archivo es un arreglo que contiene los parámetros para realizar la conexión con la base MySQL creada, loas cambiamos según nuestra configuración. 'MySQL' => array(... 'database' => 'ILALO', 'username' => 'root', 'password' => 'ilalo', ), 144

169 Instalación de Componentes Externos Zizaco/Confide Zizaco/Entrust JpGraph Dompdf Para instalar estos componentes, tenemos que modificar él archivo composer.json, que se encuentra el directorio raíz de nuestra aplicación. Como se ve es un arreglo js, el cual lo modificamos añadiendo el siguiente código. "require": { "laravel/framework": "4.1.*", "laravelbook/ardent": "2.4.0", "zizaco/confide": "zizaco/entrust": "1.3.0", "jpgraph/jpgraph": "dev-master", "thujohn/pdf": "dev-master" }, Es muy importante realizar todos estos cambios ya que todos estos componentes fueron probados con la versión 4.1 de LARAVEL. Una vez guardados los cambios en el archivo ejecutamos el siguiente comando: composer update Con estas líneas composer instalará todos estos módulos y sus respectivas dependencias Configuración de Zizaco/Confide Una vez instalado ilalo/app/config/app.php, el componente añadimos hay el que modificar siguiente 'Zizaco\Confide\ServiceProvider' al final de arreglo providers. 145 el archivo elemento

170 'providers' => array( 'Illuminate\Foundation\Providers\ArtisanServiceProvider', 'Illuminate\Auth\AuthServiceProvider',... 'Zizaco\Confide\ServiceProvider', ), Dentro del mismo archivo ilalo/app/config/app.php añadimos este elemento: 'Confide' => 'Zizaco\Confide\Facade' al arreglo aliases. 'aliases' => array( 'App' => 'Illuminate\Support\Facades\App', 'Artisan' => 'Illuminate\Support\Facades\Artisan',... 'Confide' => 'Zizaco\Confide\Facade', ), Finalmente configuramos una dirección de correo valida la cual sera utilizada para enviar los mails de confirmación al instante que se cree la cuenta de los usuarios, editamos el archivo ilalo/app/config/mail.php. Esta configuración puede varia dependiendo de la configuración del servidor de correo SMTP. Creación del Modelo User Nos dirigimos a la raíz de nuestro proyecto y en la terminal ejecutamos el comando. php artisan confide:migration Con este comando ejecutado LARAVEL nos creara una migración, que es una clase que creara una tabla en la BD, este archivo se crea en el directorio ilalo/app/database/migrations/2014_05_22_103301_confide_setup_users_table.php. El nombre se crea con la fecha que se ejecutó la migración más la hora y su nombre genérico, editamos este archivo y aumentamos estas lineas de código, que son el nombre y el apellido del usuario. 146

171 Schema::create('users', function($table) {... $table->string('nombre'); $table->string('apellido'); }); Con los parámetros definidos, luego ingresamos él comando php artisan migrate Con esta ejecución, realiza las consultas para la creación de la tabla users: Creamos el controlador y la ruta, del modelo que creamos con los siguientes comandos php artisan confide:controller restful php artisan confide:routes restful composer dump-autoload php artisan routes Configuración de Zizaco/Entrust Una vez configurado el componente anterior Zizaco/Confide hay que modificar el archivo ilalo/app/config/app.php, añadimos el siguiente elemento 'Zizaco\Entrust\EntrustServiceProvider' al final de arreglo providers. 'providers' => array( 'Illuminate\Foundation\Providers\ArtisanServiceProvider', 'Illuminate\Auth\AuthServiceProvider',... ''Zizaco\Entrust\EntrustServiceProvider'', ), Dentro del mismo archivo ilalo/app/config/app.php añadimos este elemento: 'Entrust' => 'Zizaco\Entrust\EntrustFacade' al arreglo aliases. 147

172 'aliases' => array( 'App' => 'Illuminate\Support\Facades\App', 'Artisan' => 'Illuminate\Support\Facades\Artisan',... 'Entrust' => 'Zizaco\Entrust\EntrustFacade', ), Creación del Modelo Roles Nos dirigimos a la raíz de nuestro proyecto y en la terminal ejecutamos el comando. php artisan entrust:migration Con este comando ejecutado LARAVEL nos creara una migración, que es una clase que creara una tabla en la BD, este archivo se crea en el directorio ilalo/app/database/migrations/2014_05_22_103301_entrust_setup_tables.php, ejecutamos él comando php artisan migrate Con esta ejecución, realiza las consultas para la creación de las tablas: roles assigned_roles permissions permissions_role password_reminders Configuración de Dompdf Una vez instalado ilalo/app/config/app.php, el componente añadimos hay el que modificar siguiente 'Thujohn\Pdf\PdfServiceProvider' al final de arreglo providers. 148 el archivo elemento

173 'providers' => array( 'Thujohn\Pdf\PdfServiceProvider',) Dentro del mismo archivo ilalo/app/config/app.php añadimos este elemento: 'PDF' => 'Thujohn\Pdf\PdfFacade' al arreglo aliases. 'aliases' => array( 'PDF' => 'Thujohn\Pdf\PdfFacade',) Nota: El componente JpGraph, no necesita configuraciones adicionales solamnete con la instalación esta listo para usarse. Configuraciones Varias En le archivo ilalo/app/config/app.php, editamos las siguientes lineas de código, en él arreglo 'debug' => false, 'timezone' => 'America/Guayaquil', 'locale' => 'es_es', En le archivo ilalo/app/start/global.php, aumentamos las siguientes lineas de código, al final del archivo. App::error(function($exception, $code) { switch ($code) { case 403: return Response::view('errors.403', array(), 403); case 404: return Response::view('errors.404', array(), 404); case 500: return Response::view('errors.500', array(), 500); default: return Response::view('errors.default', array(), $code); } }); Este código son mensajes de errores web personalizados. 149

174 También para tener una buena optima configuración de php es necesario que tenga esta configuración, la cual la obtenemos editando el archivo php.ini max_execution_time = 3600 ; max_input_time = 1800 ; memory_limit = 200M ; post_max_size = 200M ; Restauración de los archivos del proyecto Realizado todo el procedimiento anteriormente señalado, debemos copiar y reemplazar carpetas y archivos, que se encuentran en el CD del proyecto. Exploramos él CD, abrimos la carpeta ilalo/app, dentro de esta carpeta esta el siguiente contenido, copiamos y reemplazos todas estas carpetas y archivos que se muestran en la Figura B-32, por las carpetas y archivos originales que nos generó LARAVEL. Figura B-32: Carpetas y archivos del sistema ILALO V1. De la misma forma, abrimos la carpeta ilalo/public, dentro de esta carpeta esta el siguiente contenido, copiamos todas estas carpetas e icono que se muestran en la Figura B-33, en la carpeta public que nos generó LARAVEL. 150

175 Figura B-33: Archivos js, estilos e imágenes del sistema ILALO V1. 151

176 ANEXO C DICCIONARIO DE DATOS Objetivo El objetivo del diccionario de datos es tener un detalle más profundo de las tablas, donde se almacenan los datos del sistema incluyendo la descripción los atributos se usaron en él desarrollo. Tablas del Sistemas En la Figura C-1, se muestran todas las tablas del sistema. Figura C-1: Tablas del sistema ILALO V1. activities Columna Tipo Nulo Predeterminado Comentarios id int(10) No Clave primaria de la tabla level_id int(10) No Clave foránea de la tabla levels nombre varchar(255) No Nombre del segundo nivel de jerarquía del proyecto Tabla C-1: Tabla activities. 152

1. Capítulo 1: Herramientas de Software para el sistema

1. Capítulo 1: Herramientas de Software para el sistema 1. Capítulo 1: Herramientas de Software para el sistema 1.1 Conceptos Generales 1.1.1 Joomla.- Es un sistema dinámico que gestiona y administra contenidos de código abierto, y permite desarrollar sitios

Más detalles

Javier Velásquez Maldonado velasquezj7@hotmail.com. Jhoanna Isabel Lansinot Tocain jlansinot@yahoo.com

Javier Velásquez Maldonado velasquezj7@hotmail.com. Jhoanna Isabel Lansinot Tocain jlansinot@yahoo.com DISEÑO, DESARROLLO E IMPLANTACIÓN DE UNA APLICACIÓN WEB PARA LA AUTOMATIZACIÓN DE LA INFORMACIÓN DE LA IGLESIA EVANGÉLICA INDÍGENA ECUATORIANA DE LA ALIANZA CRISTIANA Y MISIONERA. Javier Velásquez Maldonado

Más detalles

DPTO. DE CIENCIAS DE LA COMPUTACIÓN CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA

DPTO. DE CIENCIAS DE LA COMPUTACIÓN CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA DPTO. DE CIENCIAS DE LA COMPUTACIÓN CARRERA DE INGENIERÍA EN SISTEMAS E INFORMÁTICA ANÁLISIS, DESARROLLO E IMPLANTACIÓN DE UN SISTEMA ORIENTADO A LA WEB PARA GESTIÓN ACADÉMICA. CASO PRÁCTICO: JOHN OSTEEN

Más detalles

Anexo 4 Documento de Arquitectura

Anexo 4 Documento de Arquitectura Anexo 4 Documento de Arquitectura 1. Introducción El anexo se describe el propósito y alcance referentes al proyecto correspondiente al documento de arquitectura. 2. Propósito El propósito del anexo de

Más detalles

SOLUCIÓN DE UNA INTRANET BAJO SOFTWARE OPEN SOURCE PARA EL GOBIERNO MUNICIPAL DEL CANTÓN BOLÍVAR [IOS-GMCB]

SOLUCIÓN DE UNA INTRANET BAJO SOFTWARE OPEN SOURCE PARA EL GOBIERNO MUNICIPAL DEL CANTÓN BOLÍVAR [IOS-GMCB] Gobierno Municipal del Cantón Bolívar. SOLUCIÓN DE UNA INTRANET BAJO SOFTWARE OPEN SOURCE PARA EL GOBIERNO MUNICIPAL DEL CANTÓN BOLÍVAR [IOS-GMCB] Visión Universidad Técnica del Norte Histórico de Revisiones

Más detalles

By: Ing. Jonathan Merino Farías.

By: Ing. Jonathan Merino Farías. By: Ing. Jonathan Merino Farías. CMS y Joomla Un CMS se compone de dos partes principales: 1. La parte web pública. Es la página web como tal que ven las personas que acceden a ella. 2. La parte web privada.

Más detalles

I. OBJETIVOS INTRODUCCIÓN. Oscar Daniel Camuendo Vásquez e-mail: oscardny86@hotmail.com

I. OBJETIVOS INTRODUCCIÓN. Oscar Daniel Camuendo Vásquez e-mail: oscardny86@hotmail.com DISEÑO, IMPLEMENTACIÓN E IMPLANTACIÓN DE UNA APLICACIÓN WEB DE ADMINISTRACIÓN Y CONTROL DE CALIFICACIONES PARA LA UNIDAD EDUCATIVA PARTICULAR OVIEDO (SECCIÓN SECUNDARIA), UTILIZANDO SOFTWARE LIBRE. Oscar

Más detalles

Algunos Administradores de Contenido se presentan a continuación:

Algunos Administradores de Contenido se presentan a continuación: El Administrador de Contenido es una herramienta que le permite administrar desde su casa o empresa la información y las fotografías de su página web de manera fácil, rápida e inmediata. Algunos Administradores

Más detalles

1 INTRODUCCIÓN. Yacelga De la Torre Carlos Paolo. e-mail: charles_ing@hotmail.com

1 INTRODUCCIÓN. Yacelga De la Torre Carlos Paolo. e-mail: charles_ing@hotmail.com PAPER 2012 DISEÑO, DESARROLLO E IMPLEMENTACIÓN DE UNA APLICACIÓN WEB PARA EL INGRESO Y CONSULTAS DE NOTAS ON-LINE PARA LA ACADEMIA MILITAR SAN DIEGO, UTILIZANDO SOFTWARE LIBRE (PHP Y MYSQL) Yacelga De

Más detalles

UNIVERSIDAD DE OVIEDO

UNIVERSIDAD DE OVIEDO UNIVERSIDAD DE OVIEDO ESCUELA DE INGENIERÍA INFORMÁTICA PROYECTO FIN DE MÁSTER DESARROLLO DE HERRAMIENTAS PARA EL APRENDIZAJE DE TÉCNICAS AVANZADAS PARA EL DESARROLLO DE WEBS SEGURAS AUTOR: DIRECTOR: José

Más detalles

APROBACIÓN DEL TUTOR

APROBACIÓN DEL TUTOR APROBACIÓN DEL TUTOR En mi calidad de tutor del trabajo de investigación sobre el tema: Portal Web usando software libre con conexión a Base de Datos para consultas de pagos de servicios municipales en

Más detalles

DESARROLLO DE UNA APLICACIÓN WEB QUE GUARDA INFORMACIÓN DE LOS ACTIVOS EXISTENTES DE LA EMPRESA MDY CONTACT CENTER.

DESARROLLO DE UNA APLICACIÓN WEB QUE GUARDA INFORMACIÓN DE LOS ACTIVOS EXISTENTES DE LA EMPRESA MDY CONTACT CENTER. DESARROLLO DE UNA APLICACIÓN WEB QUE GUARDA INFORMACIÓN DE LOS ACTIVOS EXISTENTES DE LA EMPRESA MDY CONTACT CENTER. CRISTIAN CAMILO VELASQUEZ PIRANEQUE. CORPORACION UNIVERSITARIA MINUTO DE DIOS FACULTAD

Más detalles

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

Más detalles

DISEÑO, DESARROLLO E IMPLANTACIÓN DE UN SISTEMA WEB PARA LA GESTIÓN DE LA PROGRAMACIÓN MICRO CURRICULAR DE LAS UNIDADES ACADÉMICAS DE LA PUCE - SI

DISEÑO, DESARROLLO E IMPLANTACIÓN DE UN SISTEMA WEB PARA LA GESTIÓN DE LA PROGRAMACIÓN MICRO CURRICULAR DE LAS UNIDADES ACADÉMICAS DE LA PUCE - SI DISEÑO, DESARROLLO E IMPLANTACIÓN DE UN SISTEMA WEB PARA LA GESTIÓN DE LA PROGRAMACIÓN MICRO CURRICULAR DE LAS UNIDADES ACADÉMICAS DE LA PUCE - SI María Belén Buendía Arellano e-mail: mabe_7_18@hotmail.com

Más detalles

UNIVERSIDAD DE GUAYAQUIL

UNIVERSIDAD DE GUAYAQUIL i UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES ESTUDIO DE ESCENARIOS PARA DETERMINAR LAS LIMITANTES DE LAS EMPRESAS PARA UTILIZAR

Más detalles

Joomla! 3.3 Cree y administre sus sitios Web

Joomla! 3.3 Cree y administre sus sitios Web Capítulo 1: Descubrir Joomla! A. Razones para crear un sitio con Joomla! 9 B. Documentarse sobre Joomla! 9 C. La hoja de ruta de Joomla! 10 D. Qué es un CMS? 12 E. HTML y XHTML 12 F. Diferenciar el contenido

Más detalles

RESUMEN. IV P á g i n a

RESUMEN. IV P á g i n a RESUMEN El Sistema Web para el Control de la Caja de Ahorros de SENECA, fue desarrollado siguiendo las fases establecidas por la Metodología RUP (Proceso Unificado de Rational). Las fases de esta metodología

Más detalles

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta

Más detalles

elastic PROJECTS INFORMACIÓN COMERCIAL PROJECTS

elastic PROJECTS INFORMACIÓN COMERCIAL PROJECTS PROJECTS elastic PROJECTS INFORMACIÓN COMERCIAL Inscripción Registro Mercantil de Pontevedra, Tomo 3116, Libro 3116, Folio 30, Hoja PO-38276 C.I.F.: B-36.499.960 contact@imatia.com 1 INTRODUCCIÓN Mediante

Más detalles

Gestión de información web

Gestión de información web 1. Realice una matriz comparativa de los Cms que se incluyen en el documento, teniendo en cuenta los siguientes parámetros: Características Posicionamiento (teniendo en cuenta su antigüedad y madurez en

Más detalles

Herramientas de Software Libre para la Gestión de Proyectos. Ing. Eddie Malca Vicente Universidad Nacional del Callao emalca@consultechperu.

Herramientas de Software Libre para la Gestión de Proyectos. Ing. Eddie Malca Vicente Universidad Nacional del Callao emalca@consultechperu. Herramientas de Software Libre para la Gestión de Proyectos Ing. Eddie Malca Vicente Universidad Nacional del Callao emalca@consultechperu.com Agenda Gestión de Proyectos El Papel del Software Libre Herramientas

Más detalles

ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA DE SISTEMAS

ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA DE SISTEMAS I ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA DE SISTEMAS DESARROLLO DE UN SISTEMA WEB PARA LA GESTIÓN DE PEDIDOS EN UN RESTAURANTE. APLICACIÓN A UN CASO DE ESTUDIO. PROYECTO PREVIO A LA OBTENCIÓN

Más detalles

UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008. Gestión de Información Web

UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008. Gestión de Información Web Gestión de Información Web Características deseables de CMS Arquitectura técnica: Tiene que ser fiable y permitir la escalabilidad del sistema para adecuarse a futuras necesidades con módulos o extensiones.

Más detalles

Especialista en Creación de Portales Web con Joomla 3.3

Especialista en Creación de Portales Web con Joomla 3.3 Especialista en Creación de Portales Web con Joomla 3.3 TITULACIÓN DE FORMACIÓN CONTINUA BONIFICADA EXPEDIDA POR EL INSTITUTO EUROPEO DE ESTUDIOS EMPRESARIALES Especialista en Creación de Portales Web

Más detalles

Administración de Bases de Datos MySQL. Centro Internacional de Tecnologías Avanzadas Fundación Germán Sánchez Ruipérez

Administración de Bases de Datos MySQL. Centro Internacional de Tecnologías Avanzadas Fundación Germán Sánchez Ruipérez Administración de Bases de Datos MySQL Centro Internacional de Tecnologías Avanzadas Fundación Germán Sánchez Ruipérez 1. Título: Administración de Bases de Datos MySQL 2. Descripción: Este curso está

Más detalles

Proyecto Final de Carrera

Proyecto Final de Carrera Aplicación de gestión de proyectos informáticos Memoria del Proyecto Consultor: Jairo Sarrias Guzmán Ingeniería Técnica Informática de Gestión P á g i n a 2 CONTENIDO 1. Introducción... 6 1.1. Resumen...

Más detalles

TFC J2EE. Aplicación Web para la gestión de facturación de una empresa de cerrajería. Sara Gutiérrez Melero ITIG Junio de 2012

TFC J2EE. Aplicación Web para la gestión de facturación de una empresa de cerrajería. Sara Gutiérrez Melero ITIG Junio de 2012 TFC J2EE Aplicación Web para la gestión de facturación de una empresa de cerrajería Sara Gutiérrez Melero ITIG Junio de 2012 Consultor: Jose Juan Rodriguez Índice 1. Introducción Objetivos Planificación

Más detalles

Gestores de contenidos

Gestores de contenidos Gestores de contenidos Ofimática Avanzada Curso 2010/2011 Soto Montalvo Gestores de contenidos Introducción Ejemplos de CMS Nuestra elección: WordPress Blogs Creando nuestro blog con WordPress Ofimática

Más detalles

Gestores de contenidos

Gestores de contenidos Ofimática Avanzada Curso 2010/2011 Soto Montalvo Ofimática Avanzada Soto Montalvo 2 Ofimática Avanzada Soto Montalvo 3 1 Introducción Gestor de Contenidos o CMS (Content Management System): aplicación

Más detalles

GUÍA DE EVIDENCIA DE LA UNIDAD DE COMPETENCIA

GUÍA DE EVIDENCIA DE LA UNIDAD DE COMPETENCIA MINISTERIO DE EDUCACIÓN, CULTURA Y DEPORTE SECRETARÍA DE ESTADO DE EDUCACIÓN, FORMACIÓN PROFESIONAL Y UNIVERSIDADES DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONAL INSTITUTO NACIONAL DE LAS CUALIFICACIONES

Más detalles

Facilite la Gestión, Manejo y Distribución de Información en su Web Site. WBC V2 Web Content Management

Facilite la Gestión, Manejo y Distribución de Información en su Web Site. WBC V2 Web Content Management Facilite la Gestión, Manejo y Distribución de Información en su Web Site. WBC V2 Web Content Management Web Business Creator Content Management Introducción Muchas empresas basan sus estrategias de comunicación

Más detalles

TFC. Ingeniería de Software MEMORIA. Consultor: Juan José Cuadrado Gallego

TFC. Ingeniería de Software MEMORIA. Consultor: Juan José Cuadrado Gallego TFC Ingeniería de Software Alumno: Halyna Klachko Consultor: Juan José Cuadrado Gallego Índice 1. Identificación del proyecto..5 1.1 Introducción...5 1.2 Objetivos del proyecto..5 1.3 Descripción general..5

Más detalles

REQUERIMIENTOS HARDWARE Y SOFTWARE QWEBDOCUMENTS VERSION 4

REQUERIMIENTOS HARDWARE Y SOFTWARE QWEBDOCUMENTS VERSION 4 Pág. 1 de 6 Ambiente centralizado SERVIDOR UNICO Servidor Hardware Procesador CORE Duo 4 GHz Memoria Ram 4 GB. 2 GB solo para la aplicación y los otros 2 GB para Base de datos, S.O y otro software necesario

Más detalles

DESCRIPCIONES TÉCNICAS 17 DISEÑO WEB

DESCRIPCIONES TÉCNICAS 17 DISEÑO WEB 2015 DESCRIPCIONES TÉCNICAS 17 DISEÑO WEB INTRODUCCIÓN AMETIC y Microsoft asumen la coordinación y el patrocinio de la Competición Nacional de Formación Profesional, Spainskills 2015, en lo concerniente

Más detalles

Manual de NetBeans y XAMPP

Manual de NetBeans y XAMPP Three Headed Monkey Manual de NetBeans y XAMPP Versión 1.0 Guillermo Montoro Delgado Raúl Nadal Burgos Juan María Ruiz Tinas Lunes, 22 de marzo de 2010 Contenido NetBeans... 2 Qué es NetBeans?... 2 Instalación

Más detalles

Desarrollo de portales web con Drupal. Por Juan M. Rivero. http://www.hipermedio.com

Desarrollo de portales web con Drupal. Por Juan M. Rivero. http://www.hipermedio.com Desarrollo de portales web con Drupal. Por Juan M. Rivero. http://www.hipermedio.com Juan Manuel Rivero Egresado del Bachillerato Tecnológico de Informática y la Tecnicatura en Redes y Telecomunicaciones

Más detalles

TFM Comunicación, Redes y Gestión de Contenidos

TFM Comunicación, Redes y Gestión de Contenidos TFM Comunicación, Redes y Gestión de Contenidos Aplicación móvil hibrida para control de asistencia y servicio técnico a domicilio y gestión de partes de trabajo Autor: Patricia Paguay Lara Tutorizado

Más detalles

DESITEL ESPOCH 2008 Caracterización del MIGRA-EVIRTUAL-ESPOCH

DESITEL ESPOCH 2008 Caracterización del MIGRA-EVIRTUAL-ESPOCH Revisión : 1 Página 1 de 14 DESITEL ESPOCH 2008 Caracterización del MIGRA-EVIRTUAL-ESPOCH Revisión : 1 Página 2 de 14 CONTENIDO CONTENIDO 3 ANÁLISIS DE LA SITUACIÓN 3 ANÁLISIS DEL PROBLEMA 5 ESENARIO 1:

Más detalles

DISEÑO DEL SISTEMA INSTITUCIONAL DE PRÁCTICAS LABORALES

DISEÑO DEL SISTEMA INSTITUCIONAL DE PRÁCTICAS LABORALES DISEÑO DEL SISTEMA INSTITUCIONAL DE PRÁCTICAS LABORALES ETAPA: SISTEMA DE INFORMACIÓN PARA LA GESTIÓN DEL PROCESO DE PRÁCTICAS PROFESIONALES ENTORNO VIRTUAL DE PRÁCTICAS PROFESIONALES Esta Publicación

Más detalles

Como pez en el agua. Analizamos ocho sistemas de administración de contenidos gratuitos

Como pez en el agua. Analizamos ocho sistemas de administración de contenidos gratuitos SOFTWARE Como pez en el agua Analizamos ocho sistemas de administración de contenidos gratuitos Si quieres que tu página web tenga éxito sin que desesperes en el intento, es necesario que la publicación

Más detalles

Ingeniería de Software

Ingeniería de Software Ingeniería de Software MSDN Ingeniería de Software...1 Ingeniería del Software_/_ Ingeniería y Programación...1 Análisis de Requerimientos...2 Especificación...3 Diseño...4 Desarrollo en Equipo...5 Mantenimiento...6

Más detalles

En el siguiente apartado se detallan ciertos conceptos que ayudan a comprender en mayor medida el Proyecto.

En el siguiente apartado se detallan ciertos conceptos que ayudan a comprender en mayor medida el Proyecto. APÉNDICES En el siguiente apartado se detallan ciertos conceptos que ayudan a comprender en mayor medida el Proyecto. APÉNDICE 1. Herramientas Las herramientas que se usaron en el análisis, desarrollo

Más detalles

Descripción del Proyecto Fecha: 2011-04-20

Descripción del Proyecto Fecha: 2011-04-20 Nombre el Proyecto Pesecar System Versión.1. Preparado por: Página: 1 de 35 Historia de Revisiones Fecha Versión Descripción Autor 2010-04-27 1.0 Versión Preliminar Responsable Página: 2 de 35 Tabla de

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Página 1 de 21 CUALIFICACIÓN DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC154_3 Versión 5 Situación RD 1087/2005 Actualización

Más detalles

En este capítulo aprendemos qué es un gestor de contenidos. (CMS), cómo funciona y qué necesitamos para instalarlo.

En este capítulo aprendemos qué es un gestor de contenidos. (CMS), cómo funciona y qué necesitamos para instalarlo. BOOTSTRAP 1 C MS y Bootstrap En este capítulo aprendemos qué es un gestor de contenidos (CMS), cómo funciona y qué necesitamos para instalarlo. También conocemos los gestores de contenido más populares,

Más detalles

DESARROLLA TU BLOG O PÁGINA

DESARROLLA TU BLOG O PÁGINA 1 DESARROLLA TU BLOG O PÁGINA WEB CON WORDPRESS Introducción a los sistema de gestión de contenidos. Instalación de Wordpress PROGRAMA DEL TALLER Introducción a los sistemas de gestión de contenidos. Instalación

Más detalles

Diseño de Sitios Web Dinámicos CMS JOOMLA

Diseño de Sitios Web Dinámicos CMS JOOMLA Diseño de Sitios Web Dinámicos CMS JOOMLA NIVEL INTERMEDIO Los sitios web dinámicos con CMS JOOMLA!. Instalación y Configuración de Joomla. Gestión de Plantillas Gestión de Secciones y Categorías Gestión

Más detalles

ESCUELA POLITÉCNICA NACIONAL Ingeniería en Sistemas APLICACIONES EN AMBIENTES LIBRES

ESCUELA POLITÉCNICA NACIONAL Ingeniería en Sistemas APLICACIONES EN AMBIENTES LIBRES Integrantes: GRUPO: 4 - Marcela Balseca Fecha: 04/05/2012 - Patricia Gálvez - Lilian Guamán S. - Diego Hallo ALTERNATIVAS DE SOFTWARE LIBRE PARA PROYECTOS DE DESARROLLO La cantidad de alternativas libres

Más detalles

SOFTWARE PROJECT MANAGEMENT PLAN

SOFTWARE PROJECT MANAGEMENT PLAN SOFTWARE PROJECT MANAGEMENT PLAN HERRAMIENTA PARA LA ADMINISTRACIÓN DE REQUERIMIENTOS DE LOS PROYECTOS DE LAS ASIGNATURAS DE INGENIERÍA Y ARQUITECTURA DE SOFTWARE DE LA PONTIFICIA UNIVERSIDAD JAVERIANA.

Más detalles

OPTIMIZACIÓN PROCESOS ADMINISTRATIVOS DE TALLERES MECÁNICOS. OPAM.

OPTIMIZACIÓN PROCESOS ADMINISTRATIVOS DE TALLERES MECÁNICOS. OPAM. OPTIMIZACIÓN PROCESOS ADMINISTRATIVOS DE TALLERES MECÁNICOS. OPAM. DAVID ENRIQUE ISAZA CARDENAS OSCAR IVÁN MORENO GONZÁLEZ CORPORACIÓN UNIVERSITARIA MINUTO DE DIOS FACULTAD DE INGENIERÍA DEPARTAMENTO DE

Más detalles

UNIVERSIDAD TÉCNICA DEL NORTE FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS ESCUELA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

UNIVERSIDAD TÉCNICA DEL NORTE FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS ESCUELA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES UNIVERSIDAD TÉCNICA DEL NORTE FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS ESCUELA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES TEMA: La Programación Extrema aplicada al desarrollo del Sistema Informático

Más detalles

GATOCREM. Gestión de Tareas y flujos. Registro de Entradas y Salidas

GATOCREM. Gestión de Tareas y flujos. Registro de Entradas y Salidas Ponentes: ---- angel.cifuentes2@carm.es CENTRO REGIONAL DE ESTADÍSTICA DE MURCIA - CREM Resumen: Sistema Informático denominado GATOCREM permite una gestión automatizada de todas las tareas estadísticas

Más detalles

Administración de Servicios Web (Online)

Administración de Servicios Web (Online) TITULACIÓN DE FORMACIÓN CONTINUA BONIFICADA EXPEDIDA POR EL INSTITUTO EUROPEO DE ESTUDIOS EMPRESARIALES Administración de Servicios Web (Online) Duración: 180 horas Precio: 0 * Modalidad: Online * hasta

Más detalles

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL BÁSICO

Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL BÁSICO Presentación del Curso Virtual PROGRAMACIÓN WEB PHP CON MYSQL BÁSICO INNOVATIVA CENTRO DE TRANSFERENCIA Y DESARROLLO TECNOLÓGICO ESPE CECAI Capacitación Virtual La mejor opción para su crecimiento profesional

Más detalles

Administración de bases de datos MySQL

Administración de bases de datos MySQL Administración de bases de datos MySQL Autor: José Luis Bautista Tutor: José Luis Bautista 1. TÍTULO Administración de bases de datos MySQL 2. DESCRIPCIÓN En la actualidad la mayor parte de las aplicaciones

Más detalles

PLAN FORMATIVO MODALIDAD I

PLAN FORMATIVO MODALIDAD I PLAN FORMATIVO MODALIDAD I Modalidad Acción: TELEFORMACIÓN Nº de la Acción: FPTO/2014/695/202 Familia Profesional: Tipo Especialidad: IFC / INFORMÁTICA Y COMUNICACIONES NUEVA ESPECIALIDAD Area Profesional:

Más detalles

Curso de Administración de Sitios Web mediante JOOMLA

Curso de Administración de Sitios Web mediante JOOMLA Diseño Académico Intensidad: 60 Curso de Administración de Sitios Web mediante JOOMLA Dirigido a: Diseñadores gráficos, desarrolladores web, publicistas, comunicadores, web máster y, todas aquellas personas

Más detalles

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor. Procesamiento del lado del servidor La Programación del lado del servidor es una tecnología que consiste en el procesamiento de una petición de un usuario mediante la interpretación de un script en el

Más detalles

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL. Nivel 3. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 16 CUALIFICACIÓN SISTEMAS DE GESTIÓN DE INFORMACIÓN PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC304_3 Versión 5 Situación RD 1201/2007 Actualización Competencia

Más detalles

CAPÍTULO V. Propuesta

CAPÍTULO V. Propuesta CAPÍTULO V Propuesta 5.1 Propuesta Implantación de una aplicación WEB para optimizar el Enlace Laboral de la Cámara de Comercio e Industria de El Salvador, Filial San Miguel 5.2 Requerimientos de la Aplicación

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA... 7 Tarea DSI 1.1: Definición de Niveles de Arquitectura... 9 Tarea DSI

Más detalles

Nombre del Proyecto: Página web GAQSA S.A de C.V. (Módulo de laboratorios) Nombre de la Empresa: Ganaderos Asociados de Querétaro S.A de C.

Nombre del Proyecto: Página web GAQSA S.A de C.V. (Módulo de laboratorios) Nombre de la Empresa: Ganaderos Asociados de Querétaro S.A de C. UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO Nombre del Proyecto: Página web GAQSA S.A de C.V. (Módulo de laboratorios) Nombre de la Empresa: Ganaderos Asociados de Querétaro S.A de C.V (GAQSA) Memoria que como

Más detalles

Symfony2. Junio. Inicio. Curso Desarrollo de aplicaciones web con. Básico-Intermedio

Symfony2. Junio. Inicio. Curso Desarrollo de aplicaciones web con. Básico-Intermedio Inicio Informaciones Human Business Fonos: (02) 2698 9790 / (02) 2671 3567 E-mail: informaciones@hbusiness.cl Web: www.hbusiness.cl 23 de Junio tip ddy Web A p p s Marketing Fundamentación: CURSO: Symfony2

Más detalles

COUNTSTAR: ADMINISTRACIÓN Y GESTIÓN DE EMPRESA

COUNTSTAR: ADMINISTRACIÓN Y GESTIÓN DE EMPRESA Trabajo fin de carrera INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Facultad de Matemáticas Universidad de Barcelona COUNTSTAR: ADMINISTRACIÓN Y GESTIÓN DE EMPRESA Óscar Llorente Lucía Director/a: Dra.

Más detalles

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar Gobierno Municipal del Cantón Bolívar Versión: Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Plan de Desarrollo de Software Universidad

Más detalles

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá Gestor de Contenidos CMS Que es un CMS? CMS son las siglas de Content Management System, que se traduce directamente al español como Sistema Gestor de Contenidos. Como su propio nombre indica, es un sistema

Más detalles

Aplicación Web de ayuda a la revisión cartográfica (CRAWA)

Aplicación Web de ayuda a la revisión cartográfica (CRAWA) 1 Aplicación Web de ayuda a la revisión cartográfica (CRAWA) Miguel A. Manso Callejo (1) y Miguel A. Bernabé Poveda (2) (1) Universidad Politécnica de Madrid, m.manso@upm.es (2) Universidad Politécnica

Más detalles

Desarrollo de Aplicaciones con Tecnologías Web

Desarrollo de Aplicaciones con Tecnologías Web Desarrollo de Aplicaciones con Tecnologías Web Código: Modalidad: Distancia Duración: 100 Horas. Objetivos: La presente formación se ajusta al itinerario formativo del Certificado de Profesionalidad IFCD0210

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA...7 Tarea DSI 1.1: Definición de Niveles de Arquitectura...9 Tarea DSI 1.2:

Más detalles

Matriz Comparativa de Soluciones para el Desarrollo de Sistemas de Información Geográfica (SIG).

Matriz Comparativa de Soluciones para el Desarrollo de Sistemas de Información Geográfica (SIG). Matriz Comparativa de Soluciones para el Desarrollo de Sistemas de Información Geográfica (SIG). Introducción Somos Ingeniería, Datos y Tecnología, C.A. (IDyT, C.A.), una empresa consultora conformada

Más detalles

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 18 CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC297_2 Versión 5 Situación RD 1201/2007 Actualización

Más detalles

La Intranet corporativa como herramienta de gestión de información y conocimiento

La Intranet corporativa como herramienta de gestión de información y conocimiento La Intranet corporativa como herramienta de gestión de información y conocimiento Conferencia dictada en el Centro para el Control Estatal de Medicamentos, Equipos y Dispositivos Médicos (CECMED). Abril

Más detalles

Framework para el desarrollo ágil de aplicaciones

Framework para el desarrollo ágil de aplicaciones Framework para el desarrollo ágil de aplicaciones 1 Índice INTRODUCCIÓN... 3 QUÉ ES UN FRAMEWORK?... 3 VENTAJAS DE UTILIZAR UN FRAMEWORK... 4 DESVENTAJAS DE UTILIZAR UN FRAMEWORK... 5 CARACTERÍSTICAS DE

Más detalles

Sistema de gestión de procesos institucionales y documental.

Sistema de gestión de procesos institucionales y documental. [Documento versión 1.7 del 10/10/2015] Sistema de gestión de procesos institucionales y documental. El sistema de gestión de procesos institucionales y documental, es una solución diseñada para mejorar

Más detalles

PROYECTO FINAL DE CARRERA: RESERVA DE VEHÍCULOS MEDIANTE INTERFAZ WEB

PROYECTO FINAL DE CARRERA: RESERVA DE VEHÍCULOS MEDIANTE INTERFAZ WEB PROYECTO FINAL DE CARRERA: RESERVA DE VEHÍCULOS MEDIANTE INTERFAZ WEB Ingeniería Técnica Informática de Gestión Alumno: Jorge Bou Ramón Director: Sergio Sáez Barona Junio 2012 ÍNDICE 1. INTRODUCCIÓN...4

Más detalles

Implementación de una Solución Tecnológica para la Gestión y Control de la Planificación Institucional del Gobierno Regional de Los Lagos

Implementación de una Solución Tecnológica para la Gestión y Control de la Planificación Institucional del Gobierno Regional de Los Lagos Gobierno Regional de Los Lagos Implementación de una Solución Tecnológica para la Gestión y Control de la Planificación Institucional del Gobierno Regional de Los Lagos Entrega del Sistema Diciembre 6

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN CICLO: 02/2015 GUIA DE LABORATORIO #5 Nombre de la Práctica: Instalación y creación de sitios con WordPress Lugar de Ejecución:

Más detalles

sede santiago centro ingeniería en informática taller integral de proyecto informático Informe N 1

sede santiago centro ingeniería en informática taller integral de proyecto informático Informe N 1 sede santiago centro ingeniería en informática taller integral de proyecto informático Informe N 1 Nombre Alumnos: Carlos Morán Sebastian Porflit Nombre Profesor: Blas Duarte Fecha: 09/09/2010 Indice 1

Más detalles

Servidor web E-Sniper

Servidor web E-Sniper Servidor web E-Sniper Tabla de contenido Instalación del servidor IIS... 1 Instalación de la aplicación... 3 Crear el Website... 4 Comprobar la aplicación... 5 Configurar la base de datos... 6 SQLServer...

Más detalles

Diseño e implementación de un sistema de información basado en Servicios Web para la gestión de ofertas de empleo y candidatos ANEXOS

Diseño e implementación de un sistema de información basado en Servicios Web para la gestión de ofertas de empleo y candidatos ANEXOS Proyecto Fin de Carrera Ingeniería Informática Diseño e implementación de un sistema de información basado en Servicios Web para la gestión de ofertas de empleo y candidatos ANEXOS Autor: Mariola Valiente

Más detalles

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB

CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB CURSO DE ESPECIALISTA EN DESARROLLO DE APLICACIONES WEB Objetivos Generales: Al término de esta acción formativa los participantes alcanzarán los siguientes objetivos: Preparar profesionales para el desarrollo

Más detalles

Formación a distancia de EXPERTO EN DISEÑO Y PROGRAMACIÓN WEB CON PHP

Formación a distancia de EXPERTO EN DISEÑO Y PROGRAMACIÓN WEB CON PHP Instituto de Formación Profesional CBTech Estudie desde su hogar y obtenga un certificado universitario Formación a distancia de EXPERTO EN DISEÑO Y PROGRAMACIÓN WEB CON PHP 1 Curso de Diseño Web con HTML5

Más detalles

Claroline, MediaWiki, Moodle y Joomla en Xampp Lite

Claroline, MediaWiki, Moodle y Joomla en Xampp Lite Claroline, MediaWiki, Moodle y Joomla en Xampp Lite 1/ Xampp Lite: más fácil imposible 1.1/ Obtención de XAMPP Lite Podemos pasar por Portable App, para lo cual accedemos a: http://portableapps.com/apps

Más detalles

Programación Orientada a Objetos (Online)

Programación Orientada a Objetos (Online) Titulación certificada por EUROINNOVA BUSINESS SCHOOL Programación Orientada a Objetos (Online) Programación Orientada a Objetos (Online) Duración: 250 horas Precio: 250 * Modalidad: Online * Materiales

Más detalles

INSTRUCTIVO DE INSTALACION EN WINDOWS Y LINUX DE ALFRESCO COMMUNITY 4.2

INSTRUCTIVO DE INSTALACION EN WINDOWS Y LINUX DE ALFRESCO COMMUNITY 4.2 INSTRUCTIVO DE INSTALACION EN WINDOWS Y LINUX DE ALFRESCO COMMUNITY 4.2 Grupo de Innovación y Apropiación de Tecnologías de la Información Archivística Compilador: Pedro Antonio Gómez Guarín Contenido

Más detalles

Implantación de un Sistema de Control de Versiones de Software para los desarrollos de soluciones (Add-On) en SAP Bussiness One.

Implantación de un Sistema de Control de Versiones de Software para los desarrollos de soluciones (Add-On) en SAP Bussiness One. Universidad Nacional Experimental del Táchira Vicerrectorado Académico Decanato de Docencia Departamento de Ingeniería Informática Trabajo de Aplicación Profesional Pasantías Profesionales Implantación

Más detalles

Joomla. Creación de sitios web con contenido dinámico

Joomla. Creación de sitios web con contenido dinámico Joomla. Creación de sitios web con contenido dinámico Autor: José Luis Bautista Tutor: José Luis Bautista 1. TÍTULO Joomla. Creación de sitios web con contenido dinámico 2. DESCRIPCIÓN Joomla es uno de

Más detalles

con certif icado de profesionalidad

con certif icado de profesionalidad CARACTERÍSTICAS El diseño web está cambiando en poco tiempo. Las nuevas tecnologías y estándares de programación están revolucionando tanto la forma de crear web como de interactuar con ellas. En nuestro

Más detalles

CAPÍTULO 5. Hemos utilizado la técnica de programación orientado a objetos por su

CAPÍTULO 5. Hemos utilizado la técnica de programación orientado a objetos por su 88 CAPÍTULO 5 5. IMPLEMENTACIÓN 5.1 Modelo Utilizado en Programación. Hemos utilizado la técnica de programación orientado a objetos por su eficiencia y eficacia en el modelo mvc, ya que permite la reutilización

Más detalles

TERMINOS DE REFERENCIA NUEVE (09) ANALISTAS PROGRAMADORES

TERMINOS DE REFERENCIA NUEVE (09) ANALISTAS PROGRAMADORES I. Antecedentes TERMINOS DE REFERENCIA NUEVE (09) ANALISTAS PROGRAMADORES El Congreso de la República aprobó, mediante decreto Legislativo No 141-2011, el Convenio Financiero No 4774-HN, suscrito entre

Más detalles

APLICACIÓN WEB Annual_Gestión pago

APLICACIÓN WEB Annual_Gestión pago APLICACIÓN WEB Annual_Gestión pago TABLA DE CONTENIDOS TABLA DE CONTENIDOS... 2 TABLA DE ILUSTRACIONES... 3 INTRODUCCIÓN... 4 MODOS DE INSTALACIÓN (INTRANET/INTERNET)... 4 REQUISITOS DE SERVIDORES:...

Más detalles

Especialista en Creación de Portales Web con Joomla 3.3

Especialista en Creación de Portales Web con Joomla 3.3 Especialista en Creación de Portales Web con Joomla 3.3 Titulación certificada por EUROINNOVA BUSINESS SCHOOL Especialista en Creación de Portales Web con Joomla 3.3 Especialista en Creación de Portales

Más detalles

Tema 3. 3.3 Tecnologías de Desarrollo

Tema 3. 3.3 Tecnologías de Desarrollo Tema 3 3.3 Tecnologías de Desarrollo HTML pronto pasa a ser insuficiente para todas las posibilidades de la Red No se puede interactuar con el servidor Aparecen los primeros scripts para propocionar dichar

Más detalles

POR QUÉ NUESTRO FRAMEWORK DE DESARROLLO DWPORTAL/APP?

POR QUÉ NUESTRO FRAMEWORK DE DESARROLLO DWPORTAL/APP? POR QUÉ NUESTRO FRAMEWORK DE DESARROLLO DWPORTAL/APP? En los proyectos de desarrollo de software se busca la forma de mejorar la calidad en el análisis de requerimientos y obtener tiempos efectivos de

Más detalles

Acceso Web para el gestor documental EPDM

Acceso Web para el gestor documental EPDM Facultad de Informática Informatika Fakultatea TITULACIÓN: Ingeniería Informática Acceso Web para el gestor documental EPDM Alumno/a: D./Dña. Julen Salgado Tomas Director/a: D./Dña. Ana Rosa Sanchez Ortega

Más detalles

BÁSICOS APP INVENTOR. Manual de Introducción a AppInventor

BÁSICOS APP INVENTOR. Manual de Introducción a AppInventor BÁSICOS APP INVENTOR Manual de Introducción a AppInventor Contenido 1. Qué es AppInventor?... 2 2. Qué tipo de aplicaciones pueden crearse con AppInventor?... 3 3. Cómo se construye una aplicación en

Más detalles

Registro de incidencias

Registro de incidencias Registro de incidencias Seguridad en ficheros automatizados. Protección de datos de carácter personal (DD.CC.PP.) Tal y como establece el artículo 90 del Real Decreto 1720/2007, todo fichero automatizado

Más detalles

FISIOGEST: SOFTWARE DE GESTIÓN WEB PARA UNA CLÍNICA DE FISIOTERAPIA

FISIOGEST: SOFTWARE DE GESTIÓN WEB PARA UNA CLÍNICA DE FISIOTERAPIA FISIOGEST: SOFTWARE DE GESTIÓN WEB PARA UNA CLÍNICA DE FISIOTERAPIA Patricia Rodríguez Quirós, (1) Antonio Balderas Alberico C/ Cuesta del Palenque n.º 9D, 11401 Jerez de la Frontera. (Cádiz), 696005885,

Más detalles

PLAN DE PRUEBAS SISTEMA DE GESTIÓN HOSPITALARIA. Plan de Pruebas. File: 20130211-QA-INF-V2-PLAN DE PRUEBAS.odt STD-INF-GENERAL Versión: 1.

PLAN DE PRUEBAS SISTEMA DE GESTIÓN HOSPITALARIA. Plan de Pruebas. File: 20130211-QA-INF-V2-PLAN DE PRUEBAS.odt STD-INF-GENERAL Versión: 1. Cliente: FCM-UNA Página 1 de 14 PLAN DE PRUEBAS SISTEMA DE GESTIÓN HOSPITALARIA Cliente: FCM-UNA Página 2 de 14 Tabla de contenido 1. INTRODUCCIÓN 1.1. PROPÓSITO 1.2. ALCANCE 1.3. DEFINICIONES, ACRÓNIMOS

Más detalles