PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO Dirección Académica - Escuela de Sistemas
PORTADA
DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL Y GESTIÓN DE PRESUPUESTOS DE OBRAS CIVILES, EN EL GOBIERNO AUTÓNOMO DESCENTRALIZADO DE PEDRO VICENTE MALDONADO, PERIODO 2014-2015. Trabajo de Titulación previa a la obtención del título de Ingeniero de Sistemas y Computación Línea de Investigación: Estudio, Diseño e Implementación de software Autor:
DAVID MAURICIO ANDRADE PAZMIÑO Director:
Mg. DIEGO RICARDO SALAZAR ARMIJOS
Santo Domingo- Ecuador Febrero, 2016
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO Dirección Académica - Escuela de Sistemas
HOJA DE APROBACIÓN DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL Y GESTIÓN DE PRESUPUESTOS DE OBRAS CIVILES, EN EL GOBIERNO AUTÓNOMO DESCENTRALIZADO DE PEDRO VICENTE MALDONADO, PERIODO 2014-2015. Línea de Investigación: Estudio, Diseño e Implementación de Software
Autor: DAVID MAURICIO ANDRADE PAZMIÑO
Diego Ricardo Salazar Armijos, Mg. DIRECTOR DEL TRABAJO DE TITULACIÓN
f.
Esteban Jon Azcona, Mg. CALIFICADOR
f.
Richard Estalin Mafla Tobar, Mg. CALIFICADOR
f.
Rodolfo Sirilo Córdova Gálvez, Mg. DIRECTOR DE LA ESCUELA DE SISTEMAS
f.
Santo Domingo – Ecuador Febrero, 2016
iii
DECLARACIÓN DE AUTENTICIDAD Y RESPONSABILIDAD Yo, David Mauricio Andrade Pazmiño portador de la cédula de ciudadanía Nº 1722847934 declaro que los resultados obtenidos en la investigación que presento como informe final, previo a la obtención del Grado de Ingeniero en Sistemas y Computación son absolutamente originales, auténticos y personales. En tal virtud, declaro que el contenido, las conclusiones y los efectos legales y académicos que se desprenden del trabajo propuesto de investigación y luego de la redacción de este documento son y serán de mi sola y exclusiva responsabilidad legal y académica.
David Mauricio Andrade Pazmiño CC: 172284793-4
iv
AGRADECIMIENTO A Dios por haberme la vida y brindarme las fuerzas para alcanzar mis metas. A la Pontificia Universidad Católica del Ecuador Sede Santo Domingo por darme una verdadera formación universitaria que me servirá en la vida profesional. A Estefanía Quesada por su apoyo incondicional, brindándome los ánimos necesarios para cumplir con este objetivo. Al GAD Municipal de Pedro Vicente Maldonado por darme las facilidades necesarias para el desarrollo de este proyecto. David
v
DEDICATORIA A mi madre por ser la única persona en haber confiado en mí y haberme brindado todo ese apoyo incondicional, por brindarme sus sabios consejos, darme fuerzas y ánimos para la culminación de este proyecto. David
vi
RESUMEN El presente proyecto de investigación permite el control y gestión de presupuestos de obras civiles que son brindados por parte del departamento de Obras Públicas en el Gobierno Autónomo Descentralizado de Pedro Vicente Maldonado, con la finalidad de controlar todos los presupuestos realizados por este departamento, permitiendo de esta manera mantener una verdadera gestión de las obras civiles efectuadas dentro de este cantón. El desarrollo de este sistema denominado “CPOC” contiene: un módulo de administración del sistema que permite manejar la información que opera el sistema; módulo de administración de usuarios que permite el correcto funcionamiento de la gestión de usuarios en el sistema; módulo de presupuesto, que operan los servidores públicos, que permite el ingreso de nuevos rubros, obras, materiales, cada módulo consta con su respectiva validación y generación de reportes. En el presente documento se encuentra detallado todo el desarrollo de esta aplicación CPOC, para la maquetación de la página web se utilizó HTML 5; en el diseño de la página se usa la herramienta open source llamada Bootstrap versión 3.3.2 (CSS); para la implementación de la base de datos se va a hacer uso de PostgreSQL; para sus respectiva validación y programación de los módulos se utilizó PHP; donde incluye el diseño basándose en los requerimientos funcionales que son expuestos por medio del departamento de Obras Públicas del Gad Municipal.
vii
ABSTRACT The present research project allows the control and management of Budget of civil Works provided by the Obras Públicas area of the Gobierno Autónomo Descentralizado de Pedro Vicente Maldonado, with the aim to control the budgets established by the area, allowing a better management of the civil works carried out in the canton. The development of the system named “CPOC” includes: a system management module that allows to Access to the information in the system: users management module that helps for the correct perfomance of the users management in the system; Budget module operated by the public employees, which allows the register of new accounting entries, Works materials, regarding that each module includes validation and reports creation. In this document the complete development of the CPOC application is detalied, for the design of the web page HTML5 was applied: in the web page design the Bootstrap versión 3.3.2 (CSS) open source tool was used; for the implementation of the database the PostgreSQL is used: for the respective validation and programming of the modules, PHP was used; which includes the design based on functional requirements presented through the Obras Publicas area of the Gad Municipal
viii
ÍNDICE CONTENIDOS PORTADA ......................................................................................................................... i HOJA DE APROBACIÓN ................................................................................................. ii DECLARACIÓN DE AUTENTICIDAD Y RESPONSABILIDAD ................................... iii AGRADECIMIENTO ....................................................................................................... iv DEDICATORIA ................................................................................................................ v RESUMEN ....................................................................................................................... vi ABSTRACT .................................................................................................................... vii ÍNDICE CONTENIDOS ................................................................................................. viii INDICE DE TABLAS ...................................................................................................... xii ÍNDICE DE FIGURAS .................................................................................................... xv 1.
INTRODUCCIÓN..................................................................................................... 1
2.
PLANTEAMIENTO DEL PROBLEMA .................................................................... 3
2.1. Antecedentes ............................................................................................................. 3 2.2. Problema de investigación ......................................................................................... 3 2.2.1. Preguntas básicas ....................................................................................................... 4 2.3. Justificación de la investigación ................................................................................. 4 2.4. Objetivos de investigación ......................................................................................... 5 2.4.1. Objetivo General ....................................................................................................... 5 2.4.2. Objetivos específicos ................................................................................................. 5 3.
MARCO REFERENCIAL ......................................................................................... 7
ix
3.1. Fundamentos Teóricos ............................................................................................... 7 3.2. Ingeniería de software ................................................................................................ 9 3.2.1. Definición de Ingeniería............................................................................................. 9 3.2.2. Software .................................................................................................................... 9 3.2.3. Etapas de la ingeniería de software ........................................................................... 12 3.2.4. Programación estructurada ....................................................................................... 13 3.2.5. POO........................................................................................................................ 13 3.2.6. Metodologías de la ingeniería de software ................................................................ 15 3.3. Base de datos........................................................................................................... 18 3.3.1. Definición ............................................................................................................... 18 3.3.2. Diseño de bases de datos .......................................................................................... 18 3.3.3. Sistemas de bases de datos ....................................................................................... 18 3.3.4. Modelo Entidad – Relación ...................................................................................... 22 3.4. Ingeniería Web ........................................................................................................ 22 3.4.1. Internet.................................................................................................................... 22 3.4.2. WWW..................................................................................................................... 22 3.4.3. Sitios web ............................................................................................................... 22 3.4.4. Servidor .................................................................................................................. 23 3.5. Selección de herramientas y lenguajes para el diseño Web ........................................ 23 3.5.1. HTML..................................................................................................................... 23 3.5.2. PHP ........................................................................................................................ 24
x
3.5.3. CSS......................................................................................................................... 24 3.5.4. JavaScript................................................................................................................ 25 4.
METODOLOGÍA DE LA INVESTIGACIÓN.......................................................... 27
4.1. Enfoque de investigación ......................................................................................... 27 4.1.1. Tipo de investigación ............................................................................................... 27 4.2. Población ................................................................................................................ 28 4.3. Muestra ................................................................................................................... 28 4.4. Técnicas e instrumentos de recogida de datos ........................................................... 28 4.4.1. Técnicas de recogida de datos .................................................................................. 28 4.4.2. Instrumentos de recogida de datos ............................................................................ 29 4.5. Técnicas de análisis de datos .................................................................................... 29 4.5.1. Análisis estadístico .................................................................................................. 30 4.6. Metodología de desarrollo de software ..................................................................... 30 5.
RESULTADOS ....................................................................................................... 32
5.1. Discusión y análisis de los resultados ....................................................................... 32 5.1.1. Encuesta dirigida al personal que labora en el Departamento de Obras Publicas ......... 32 5.2. El proceso XP.......................................................................................................... 41 5.2.1. Fase 1: Planeación ................................................................................................... 41 5.2.2. Fase 2: Diseño ......................................................................................................... 52 5.2.3. Fase 3: Codificación ................................................................................................ 57 5.2.4. Pruebas ................................................................................................................... 57
xi
5.3. Conclusiones ........................................................................................................... 61 5.4. Recomendaciones .................................................................................................... 62 FUENTES BIBLIOGRÁFICAS........................................................................................ 64 GLOSARIO ..................................................................................................................... 66 ANEXOS ......................................................................................................................... 69
xii
INDICE DE TABLAS Tabla 1: Temas del marco referencial ................................................................................. 8 Tabla 2: Comparativa de metodologías de desarrollo de software ...................................... 17 Tabla 3: Comparativa de los Sistemas de Gestión de Base de Datos .................................. 21 Tabla 4: Herramientas de desarrollo ................................................................................. 26 Tabla 5: Resultados obtenidos de la primera pregunta ....................................................... 32 Tabla 6: Resultados obtenidos de la segunda pregunta ...................................................... 33 Tabla 7: Resultados obtenidos de la tercera pregunta......................................................... 34 Tabla 8: Resultados obtenidos de la cuarta pregunta.......................................................... 35 Tabla 9: Resultados obtenidos de la quinta pregunta ......................................................... 36 Tabla 10: Resultados obtenidos de la sexta pregunta ......................................................... 37 Tabla 11: Resultados obtenidos de la séptima pregunta ..................................................... 38 Tabla 12: Resultados obtenidos de la octava pregunta ....................................................... 39 Tabla 13: Resultados obtenidos de la novena pregunta ...................................................... 40 Tabla 14: Módulos del sistema para la elaboración de las historias de usuario .................... 41 Tabla 15: Historia de usuario, Parametrización del sistema ............................................... 42 Tabla 16: Historia de usuario, Registro de usuarios ........................................................... 43 Tabla 17: Historia de usuario, Administración de usuarios ................................................ 43
xiii
Tabla 18: Historia de usuario, Reporte de usuarios ............................................................ 44 Tabla 19: Historia de usuario, Creación de complementos ................................................. 44 Tabla 20: Historia de usuario, Administración de complementos ....................................... 45 Tabla 21: Historia de usuario, Creación de materiales ....................................................... 45 Tabla 22: Historia de usuario, Administración de materiales ............................................. 46 Tabla 23: Historia de usuario, Creación de rubros ............................................................. 46 Tabla 24: Historia de usuario, Administración de rubros ................................................... 47 Tabla 25: Historia de usuario, Creación de obras .............................................................. 47 Tabla 26: Historia de usuario, Administración de obras ..................................................... 48 Tabla 27: Historia de usuario, Visualización de reportes ................................................... 48 Tabla 28: Valoración de historias de usuario ..................................................................... 49 Tabla 29: Programación del trabajo por horas, días, semanas............................................. 50 Tabla 30: Programación realizada en base al esfuerzo ....................................................... 51 Tabla 31: Elaboración del plan de entrega ........................................................................ 51 Tabla 32: Tarjeta Clase Responsabilidad Colaboradores - Sistema..................................... 53 Tabla 33: Tarjeta Clase Responsabilidad Colaboradores - Administración de usuarios ....... 53 Tabla 34: Tarjeta CRC - Administración de operadoras..................................................... 54 Tabla 35: Prueba de aceptación módulo del sistema .......................................................... 58
xiv
Tabla 36: Prueba de aceptaciรณn usuarios ........................................................................... 59 Tabla 37: Prueba de aceptaciรณn mรณdulo presupuesto ......................................................... 60
xv
ÍNDICE DE FIGURAS Figura 1: Componentes de un sistema PostgreSQL ............................................................ 19 Figura 2: Figura obtenida de la primera pregunta de la encuesta ......................................... 32 Figura 3: Figura obtenida de la segunda pregunta de la encuesta ........................................ 33 Figura 4: Figura obtenida de la tercera pregunta de la encuesta........................................... 34 Figura 5: Figura obtenida de la cuarta pregunta de la encuesta............................................ 35 Figura 6: Figura obtenida de la quinta pregunta de la encuesta ........................................... 36 Figura 7: Figura obtenida de la sexta pregunta de la encuesta ............................................. 37 Figura 8: Figura obtenida de la séptima pregunta de la encuesta ......................................... 38 Figura 9: Figura obtenida de la octava pregunta de la encuesta ........................................... 39 Figura 10: Figura obtenida de la novena pregunta de la encuesta ........................................ 40 Figura 11: Diseño conceptual de BD ................................................................................. 55 Figura 12: Diseño físico de BD ......................................................................................... 56
1
1. INTRODUCCIÓN En la actualidad, la implementación de las nuevas tecnologías de la información y comunicación trae consigo un beneficio, llevando la innovación tecnológica a niveles superiores. En la mayoría de los sistemas de negocios, sus procesos están enfocados en la optimización del tiempo y mejorar las diferentes áreas en las que se desempeñe. El Gad Municipal de Pedro Vicente Maldonado, requiere que se realice el control y gestión de los presupuestos de las obras civiles que son realizados por parte del Departamento de Obras Públicas. En el desarrollo de este proyecto, se plantea resolver la necesidad de controlar y gestionar los presupuestos de las obras civiles que se realizan por medio del Departamento de Obras Públicas del Gobierno Autónomo Descentralizado de Pedro Vicente Maldonado. La elaboración de un sistema que permita realizar el control de presupuestos de obras civiles, será de utilidad para las obras que se realizan en el cantón de Pedro Vicente Maldonado. En la gestión de presupuestos se lleva a cabo un análisis de precios unitarios de cada rubro, material y mano de obra requeridos para el proyecto. En la ejecución de este proyecto, se configura el rol de los servidores públicos mediante una interfaz de fácil acceso al sistema, de la misma manera se hace uso de una base de datos, en la cual se procede a almacenar toda la información que utiliza el Departamento de Obras Públicas. El presente trabajo de disertación, trata sobre el desarrollo de un sistema informático con el objetivo de resolver la problemática de presupuestos de obras civiles en el Gobierno Autónomo Descentralizado de Pedro Vicente Maldonado.
2
El Trabajo de Titulación se encuentra estructurado en cuatro apartados elementales detallados a continuación: En el primer apartado se detalla la situación actual que el Gobierno Autónomo Descentralizado de Pedro Vicente Maldonado presenta respecto al control y gestión de los presupuestos de las obras civiles efectuados por el Departamento de Obras Públicas, por consiguiente, se detalla todos los antecedentes del problema de investigación con el cual se desea implementar un software donde se pueda realizar el respectivo control y gestión del servicio. En el segundo apartado se tiende a elaborar un marco teórico, dentro del cual se describe varios temas de estudio para implementar el sistema, los mismos que darán soporte acerca de la información que se requiere en el enfoque del proyecto. En el tercer apartado se justifica las metodologías de investigación que se va a utilizar que pueda garantizar que el proyecto sea fiable, se tomará en cuenta la población y la muestra para poder efectuar la recolección de datos para determinar las necesidades que tiene el cliente. En el cuarto apartado se dan a conocer los resultados, conclusiones y recomendaciones de la investigación y el detalle de la metodología y proceso de desarrollo del sistema informático.
3
2. PLANTEAMIENTO DEL PROBLEMA 2.1. Antecedentes El Gobierno Autónomo Descentralizado de Pedro Vicente Maldonado tiene como cabecera cantonal la ciudad de Pedro Vicente Maldonado ubicado en la zona noroccidental de la provincia de Pichincha, inicialmente este cantón fue un recinto con fecha de creación el 29 de septiembre de 1972 perteneciente a la parroquia de San Miguel de los Bancos. Después de 4 años en el canto de Quito se ingresa al registro del H. Consejo Provincial de Pichincha la creación de Parroquia de Pedro Vicente Maldonado. Tras una larga lucha del pueblo Pedro Vicentino por la razón de ser cantón se expide la ley de creación el 28 de enero de 1992. El gran crecimiento poblacional del cantón, permite que el Gobierno Autónomo Descentralizado implemente varios proyectos civiles y arquitectónicos en la ciudad, con la finalidad de establecer el progreso y desarrollo de la urbe. Por lo tanto, en el departamento de Obras Públicas ha tomado la decisión de implementar un software que permita facilitar el proceso de gestión de presupuestos en las obras civiles.
2.2. Problema de investigación Actualmente el departamento de Obras Públicas no maneja un control y una gestión eficiente de los presupuestos de obras civiles, originando los siguientes problemas: Retraso en el desarrollo de los presupuestos de las obras civiles. Manejo de información ubicados en medios físicos, que tienen tendencia a pérdidas. Gastos de administración innecesarios Esta administración de control de presupuestos genera atrasos en los proyectos, provocando que se tome mucho tiempo para ejecutarse los procesos.
4
2.2.1. Preguntas básicas ¿En qué beneficiaría el desarrollo de un sistema informático para el control y gestión de presupuestos de obras civiles para el Gobierno Autónomo Descentralizado de Pedro Vicente Maldonado? ¿Mejorará el control y gestión de los presupuestos de obras civiles en el departamento de Obras Públicas mediante el uso de un sistema informático? ¿Cuán factible será el uso de sistema informático para el control y gestión de presupuestos de obras civiles para optimizar el tiempo empleado en el departamento de Obras Públicas?
2.3. Justificación de la investigación El uso adecuado de las Tecnologías de la Información (TI), permite ofrecer servicios de calidad, optimizando el tiempo y los recursos económicos de cualquier empresa. Tomando en cuenta estos antecedentes, es adecuada la implementación del proyecto para poder dar solución a los problemas que se generan en el departamento de Obras Públicas del Gobierno Autónomo Descentralizado de Pedro Vicente Maldonado. El proyecto de investigación, cumple con el objetivo 11 “Asegurar la soberanía y eficiencia de los sectores estratégicos para la transformación industrial y tecnológica” del Plan Nacional para el Buen Vivir. A través del desarrollo de un sistema informático, el cual permita realizar el control y gestión de los presupuestos de las obras civiles que se efectúan en el departamento de Obras Públicas. El Gobierno Autónomo Descentralizado de Pedro Vicente Maldonado con el fin de sistematizar el control y gestión de presupuestos generados, quiere implementar un sistema
5
informático para su respectivo control y gestión de los presupuestos de obras civiles, brindando de manera adecuada un servicio de calidad y reducir los gastos administrativos. El sistema informático permite facilitar al personal administrativo la realización de sus trabajos, logrando una funcionalidad, optimización del tiempo y automatización de los procesos, de igual manera mantener un respaldo confiable de la información del Departamento de Obras Públicas. Por todo lo tomado en consideración, el desarrollo e implementación del software para poder realizar el control y gestión de presupuestos de obras civiles permitiendo solucionar las deficiencias actuales de este servicio.
2.4. Objetivos de investigación 2.4.1. Objetivo General Desarrollar un sistema informático que permita un correcto control y gestión adecuado de los presupuestos de obras civiles que se generan en el Departamento de Obras Públicas en el Gobierno Autónomo Descentralizado de Pedro Vicente Maldonado. 2.4.2. Objetivos específicos
Recopilar los requerimientos de software (SRS) que debe cumplir el sistema informático.
Determinar las metodologías adecuadas para la implementación del sistema.
Determinar las herramientas de software libre que puedan emplearse en el desarrollo del proyecto.
6
Diseñar un entorno gráfico del sistema basado en los requerimientos especificados en el SRS.
Elaborar una guía y/o manual de usuario del sistema y capacitar al personal que va a manejar el sistema.
7
3. MARCO REFERENCIAL 3.1. Fundamentos Teóricos El siguiente apartado se enfoca en los conceptos relacionados a la informática que intervienen en el desarrollo del proyecto para el sistema informático de control y gestión de presupuestos de obras civiles en el Departamento de Obras Públicas. Varios de los términos que se define a continuación son tratados en el proyecto: Ingeniería de Software y sus paradigmas que posiblemente podríamos utilizarlos durante todo el ciclo de vida de la aplicación; Base de Datos, permite entender el diseño, la administración de los diferentes campos que se manejan en la base de datos, por último la Ingeniería Web permite detallar un tipo de lenguaje para el desarrollo del sistema. En las definiciones, se tomará en cuenta el uso de fuentes lincográficas y bibliográficas, todas estas temáticas que se van a estudiar están tomados de autores reconocidos tales como: Pressman Roger, entre otros que tienen suficiente conocimiento en el desarrollo de sistemas; otros autores que tienen sólidos conocimientos en base de datos; y haciendo uso de las fuentes lincográficas se ha tomado información de los sitios Web oficiales de PostgreSQL y MySQL. La tabla que se presenta a continuación es un esquema de todos los temas que se tienen que considerar en el desarrollo de este proyecto, este conocimiento teórico es necesario para poder comprender el proyecto:
8 Tabla 1: Temas del marco referencial
Tema general
Temas
Subtemas
Definición Programación estructurada
ordenada
y Objetos Clases
Ingeniería de software POO
Relaciones entre clases Relaciones entre clases y objetos Metodologías de desarrollo de software
Programación Extrema
Definición Diseño de BD Base de datos
SGDB Modelo E-R PostgreSQL Internet
Ingeniería web
WWW Sitios web Servidores HTML5
Herramientas WEB
PHP CSS Grunt
Fuente: El autor
9
3.2. Ingeniería de software 3.2.1. Definición de Ingeniería “Es una de las ingenierías donde es posible hacer que las aplicaciones de software usen tecnologías y prácticas de las ciencias de la computación, así también en el uso de proyectos a gran escala aplicando las tecnologías correspondientes.” (Universidad de Murcia, 2011). Es considerada una rama muy importante en las ciencias computacionales ayuda a la producción de aplicaciones de software desde su producción hasta cuando se hace el completo uso del mismo implementando así varias prácticas de mejora continua del software. 3.2.2. Software Según la IEEE Std. 610 define el software como el conjunto de programas que poseen procedimientos y reglas en las cuales hacer que se pueda ejecutar una operación o tarea dentro de un ordenador (Laboratorio Nacional de Calidad del Software, 2009). En esta definición se podría deducir que es la sumatoria de programas, datos, documentación, se podría decir los componentes del software. 3.2.2.1. Componentes del software Especificado en la definición anterior, los componentes más principales del software son los siguientes:
Programas
A los programas se pueden conocer como un conjunto de instrucciones entre los cuales poseen varias funcionalidades cuando se envía la instrucción al ordenador. Estos programas pueden ser desarrollados usando lenguajes específicos en los cuales los
10
ordenadores puedan ser posibles de leer y ejecutar, y estos programas utilizan un lenguaje ensamblador. (Laboratorio Nacional de Calidad del Software, 2009) Es un conjunto de normas, reglas o instrucciones, tienen un fin específico para el cual ha sido diseñado, en los cuales pueden desarrollarse en diferentes lenguajes ya sean en ensambladores o generadores.
Datos
Los programas son aquellos que facilitan su funcionalidad a través de la manipulación de los datos. Al hacer el uso de los datos tienen la capacidad de poder realizar un control apropiado en la función en la que desempeñan. Para poder realizar las respectivas pruebas de los programas es necesario usar datos, es por esto que se utiliza una base de datos que por lo general posee una estructura bien definida en la cual se almacenan toda la información.
Documentos
Son aquellos que se los realizan para poder brindar una explicación acerca del uso del programa, entre estos documentos se encuentran los manuales de usuario y de operación que permiten la operación del sistema. Además los documentos son requeridos por personas que están a cargo del respectivo mantenimiento del sistema. Estos documentos son muy importantes tanto para los desarrolladores del programa como para el cliente, se especifica claramente todos los pasos y requerimientos necesarios para el buen uso del sistema.
11
3.2.2.2. Características del software Existen muchas características de las que se puede detallar en el software, pero cabe recalcar que estas características son aquellas que se pueden comprender de mejor manera el software. El software es esencialmente un conjunto de instrucciones (programas) dentro de los cuales se proporcionan una funcionalidad requerida, los datos relacionados y documentos. Es por esto que el software es una parte lógica lo que lo diferencia del hardware (Laboratorio Nacional de Calidad del Software, 2009). Otra característica es que el software se desarrolla, no se fabrica, es una gran diferencia con respecto al hardware. (Laboratorio Nacional de Calidad del Software, 2009) Y así podemos hablar de muchas características que de manera directa o indirecta influyen en el producto como tal, desde que no se estropea un software hasta los cambios que pude surgir durante su vida de uso. 3.2.2.3. Tipos de software Los tipos de software pueden dividirse en dos categorías: Software de aplicaciones: su función principal es para brindar servicios a los clientes y poder ejecutar cierto tipo de negocios de forma más eficiente. Este puede ser un sistema pequeño o grande (Laboratorio Nacional de Calidad del Software, 2009). Software de sistemas: su función principal es administrar un sistema informático, lo que permite que los usuarios usen los recursos del ordenador por medio del sistema. Estos tipos de software, en ambos tienen que aplicarse la ingeniería, especificando una serie de pasos procedimentales manejando un conjunto de reglas necesarias para su correcto uso.
12
3.2.3. Etapas de la ingeniería de software Para poder establecer que un software se mantenga de manera ordenada, dentro de esto existen varias etapas en las cuales tenemos los siguientes detallaremos a continuación. 3.2.3.1. Análisis de requisitos La extracción de los requisitos de un producto de software se establece los requerimientos de los clientes en que los especifican lo que realmente quieren que haga el software, estos requisitos pueden ser incompletos, ambiguos o contradictorios. En esta etapa se definen los SRS, los diagramas entidad-relación los cuales serán partícipes en el desarrollo del sistema. 3.2.3.2. Especificación Son las tareas de escribir detalladamente el software que va a ser desarrollado, es una forma muy rigurosa, las especificaciones son muy importantes para las interfaces externas porque con estas hacen que el producto de software se mantenga estable. (Laboratorio Nacional de Calidad del Software, 2009). 3.2.3.3. Diseño y arquitectura En el diseño y la arquitectura se establecen la función del software de manera generalizada. Estas características tienen algunas implementaciones lógicas. Cabe recalcar que se obtendrá un modelo de programación orientado a objetos muy óptimo para el sistema en desarrollo. (Laboratorio Nacional de Calidad del Software, 2009). El diseño y arquitectura juegan un papel importante más en el desarrollo de los casos de uso por lo que pueden obtener que función va a realizar el software comparados con los análisis de requisitos.
13
3.2.3.4. Programación Específicamente se refiere a reducir un diseño a código dentro de la ingeniería de software pero en si es una etapa que no es tan compleja, todo responde a la complejidad del uso de los lenguajes de programación en que se va a desarrollar el proyecto. (Laboratorio Nacional de Calidad del Software, 2009) 3.2.3.5. Prueba Consiste en comprobar que el software realice todas las tareas correctamente, las cuales están especificadas en el problema. Una técnica de realizar las pruebas es hacerlas por módulos del software y luego realizar las pruebas de forma integral para asi llegar a su objetivo. Esta forma de realizar las pruebas se hace más fácil para los desarrolladores del software. 3.2.3.6. Mantenimiento En esta etapa el mantenimiento ayudará a poder resolver los errores y poder tratar implementar requisitos. Se divide en cuatro tipos de mantenimiento y son: evolutivo, perfectivo (Laboratorio Nacional de Calidad del Software, 2009). 3.2.4. Programación estructurada La programación estructurada contiene una estructura en que utiliza lógicas estructurales, estas están basadas en un teorema de Jacopini en donde posee una entrada y una salida en donde contiene las estructuras lógicas de secuencia, selección e iteración. 3.2.5. POO Se desarrolló para poder implementarse en los programas a través de un conjunto de objetos, donde cada objeto hace representación de una clase y muchas de estas pueden relacionarse a través del uso de la herencia.
14
3.2.5.1. Objeto Es considerado en la realidad como algo que se puede tocar, algo tangible, es aquel que posee ciertas características como su estado y también su comportamiento, además estos pueden ser instanciados por una clase dentro de la programación orientada a objetos (Grupo experimental de Núcleos y Partículas, 2014). Un objeto tiene:
Estado: es conocido como el conjunto de atributos en los cuales pueden modificarse a través de la ciclo de vida del sistema, aunque también existen objetos en los que sus estados no varían en ningún tiempo de su ciclo de vida. (Grupo experimental de Núcleos y Partículas, 2014).
Comportamiento: Es la forma en la que un objeto comienza a actuar, por lo que sus estados intercambian. Para ello este comportamiento utiliza operaciones que se los puede llamar mensajes, y puede visualizar su comportamiento.
Identidad: Permite distinguir objetos, la identidad es considerada el nombre de cada objeto (Grupo experimental de Núcleos y Partículas, 2014).
3.2.5.2. Clases Las clases son aquellas que juegan un papel importante entre la interacción de una abstracción y los clientes, es así que se posee dos maneras de ver el comportamiento de las clases: la primera es la interface donde permite tener claro en que se está enfatizando la abstracción; la segunda manera es la implementación, aquella que aloja todo el código que se muestra en la primera manera de ver la clase (interface).
15
3.2.5.3. Relaciones entre clases
Herencia: es aquella que tiene la capacidad de compartir el comportamiento y estructura de una clase. Puede existir la herencia simple y también la herencia múltiple.
Asociación: Indica las relaciones estructurales en los que se pueden establecer la conexión de objetos, conlleva dependencia semántica y no establece una dirección de dependencia.
Uso: este tipo de relación permite diferenciar los servicios que posee el cliente como el servidor. Este tipo de servicios donde los cliente pueden tener acceso a las interfaces que puede brindar el servidor.
Agregación: es la forma en la que las clases tienen su relación. La agregación por valor es aquella donde una clase está independientemente de otra clase que la contiene, por el contrario la agregación por inferencia a aquella que clase que es independiente y puede acceder a la clase que lo contiene
3.2.6. Metodologías de la ingeniería de software Para hacer el uso de una metodología tendremos que tomar en cuenta tiene una recolección de técnicas y métodos en los cuales se pueden establecer durante todo el ciclo de vida del sistema informático. Posee una manera muy minuciosa en desarrollo para poder completar el sistema desarrollando roles y actividades óptimas. Cada uno de estas metodologías puede tener una fusión de modelos genéricos como: cascada y el incremental. En la ingeniería de software, se emplea la metodología la cual es un conjunto que tiene varias ventajas desde diferentes puntos de vistas, pero entre las cuales está en que ayuda a facilitar la
16
tarea de control y seguimiento de un proyecto, ayuda a la comprensión del problema y permite garantizar un determinado nivel de calidad en el producto final. Existen metodologías tradicionales y las ágiles, pero en el caso del desarrollo de este software esta la metodología ágil como es (programación extrema). 3.2.6.1. Extreme Programming (Programación extrema) La programación extrema (XP) es un enfoque de la ingeniería del software que fue formulado por Kent Beck. Además de ser uno de los procesos agiles que se destacan más en el desarrollo de software. Esto también se diferencia de las metodologías tradicionales porque en si se pone más énfasis en la adaptabilidad que en la previsibilidad (Laboratorio Nacional de Calidad del Software, 2009). En este tipo de programación extrema se desarrolló una subdivisión de XP industrial. Además de ser usado en organizaciones grandes, esta metodología se la puede usar en organizaciones medias y pequeñas, en las que funcionan correctamente. La programación extrema contiene un conjunto de valores que intervienen para el desarrollo correcto del sistema, y entre estos tenemos los siguientes en los cuales detallaremos su funcionalidad:
Comunicación: Es la forma de comunicarse de manera eficaz entre los desarrolladores de software y las personas que intervienen, con el fin de establecer las características y funciones requeridas para el desarrollo de software.
Simplicidad: Está considerado como uno de los valores en donde indican a todas las personas desarrolladores y que puedan realizar los procesos que sean inmediatos o que requiera cumplir en el momento que realmente se necesite.
17
Retroalimentación: En este caso se refiere a la obtención en donde se origina a partir del desarrollo, tomando en cuenta los incrementos desarrollados asi como las pruebas que se originen en el sistema.
Valentía: Tiene que ver con la forma en que se pueden reconocer los requerimientos que se presentan en el día y no tener en cuenta los procesos que ayudarán a mantener y utilizar el diseño y el código empleado en el software.
Respeto: se cree la amabilidad y respeto que se tiene todos los integrantes que tengan intervención en el desarrollo del proyecto.
Tabla 2: Comparativa de metodologías de desarrollo de software
METODOLOGIAS
Aspecto
XP
Cascada
Prototipo
Incremental
Rup
E
PO
E
PO
E
PO
E
PO
E
PO
PA
Simplicidad
5
20%
4
16%
4
16%
4
16%
4
16%
20%
Facilidad de especificación de requerimientos por parte del cliente
5
30%
3
18%
3
18%
3
18%
3
18%
30%
Entregas de versiones previas del producto final
4
8%
1
2%
3
6%
3
6%
3
6%
10%
Permitir cambios retroalime ntación
usando
5
20%
4
16%
4
16%
5
20%
4
16%
20%
Comunicación eficaz entre el cliente y desarrollador
5
20%
4
16%
4
16%
4
16%
4
16%
20%
72%
100%
98%
Fuente: El autor
68%
72%
58%
18
3.3. Base de datos 3.3.1. Definición Una base de datos es una recolección o un conjunto de información que forma un parte de un sistema de archivos que por lo general se encuentran organizadas por campos y registros manipulados por personal capacitado en la administración de la base de datos dentro de una empresa(Date, 2001). 3.3.2. Diseño de bases de datos El diseño de bases de datos se refiere a las tablas que se van a diseñar, asi como el modelo que se utilizan enfocándose en la estructura de la misma asi como la administración de los datos que se van a utilizar (Coronel, Morris, & Rob, 2011). Con esto podemos aclarar que al diseñar la base de datos debemos de declarar toda su estructura, rigiéndose en la documentación realizada con anterioridad. 3.3.3. Sistemas de bases de datos Un sistema de base de datos es capaz de almacenar, administrar y pude hacer uso de la base de datos en una organización, un sistema de base de datos está relacionado directamente con el sistema ambiente ya sea su hardware y software así como los procedimientos y datos. (Coronel, 2011, p.18) 3.3.3.1. PostgreSQL El sistema de gestión de base de datos PostgreSQL es de tipo objeto- relacional que se encuentra libre y bajo el tipo de licencia BSD, es una de los sistemas más avanzados en el mercado, ya que utiliza un modelo cliente/servidor lo que garantiza la estabilidad de sistema. Cuando existe algún tipo de fallo o error que se generen durante su ejecución, las demás partes del sistema funcionan correctamente.
19
PostgreSQL es capaz de funcionar en múltiples plataformas, es decir que en general, en todas las modernas basadas en Unix y a partir de la versión 8.0, también puede trabajar en Windows de forma nativa. Para las versiones anteriores existen versiones binarias para este sistema operativo, pero no tienen respaldo oficial de la empresa. A través de la siguiente figura podemos observar los diversos componentes que conforma el sistema de gestión de base de datos de PostgreSQL.
Figura 1: Componentes de un sistema PostgreSQL
3.3.3.1.1 Características El sistema gestor de base de datos de PostgreSQL es considerado como un gestor potente y robusto que puede estar en el mercador informático. Existen características a nivel general, a nivel de programación y desarrollo, y en SQL.
20
Otra de las características es que permite utilizar varios lenguajes de donde se puede programar entre ellos tenemos el PL/SQL de la empresa Oracle que es el más común. Permite definir varios estándares en la base de datos, así como también la definición de nuevos tipos de datos. El punto fuerte de este SGDB es que tiene la capacidad de almacenar gran cantidad de datos, se podría decir que es ilimitada. Modelo de datos “Un modelo de datos es una representación relativamente sencilla, por lo general gráfica, de estructuras de datos reales más compleja” (Coronel, 2011, p.30). 3.3.3.2. Oracle Oracle es un sistema gestor de base de datos que posee tipo de privativa, haciendo que los usuarios no tengan todo el acceso al código fuente, ya que éste se encuentra restringido de alguna para poder modificarlo o redistribuirlo. Para poder instalar este SGDB, depende exclusivamente del número de licencias que adquiera el cliente, si la instalación supera a las licencias adquiridas en la compra, inmediatamente incurre a la violación de los términos de licencia presentados por la empresa. Siendo una empresa líder en el mercado de base de datos sus costos de soporte técnico y mantenimiento son elevados aunque existe documentación necesaria alojada en la página oficial. Uno de sus puntos fuertes es la gran velocidad de ejecutar las consultas, aunque considerando con el limitado tamaño de la base de datos, con 4 petabytes en bloques de base de datos de 16 KB. El manejo de lenguajes procedurales como el PL/SQL y de interfaces nativas JDBC y ODBC.
21
3.3.3.3. MySQL MySQL con su tipo de licencia GLP o de uso comercial, esta principalmente orientada a la protección de la libre distribución de su software, pero con pequeñas excepciones especialmente para las empresas, las mismas que deben de adquirir una licencia que les permita el uso de este producto. Según varios estudios realizados, este sistema gestos tiene una gran cantidad de vulnerabilidades y posee en su página oficial documentación relacionada a las utilidades de MySQL. Es multi-plataforma en donde incluye: Linux, Mac OS X, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7 y Windows Server (2000, 2003 y 2008). Su límite de tamaño de la base de datos es limitado por el sistema operativo, sin embargo en la administración y mantenimiento, soporta una estrategia de realizar una copia de seguridad incremental para reducir la cantidad de tiempo Tabla 3: Comparativa de los Sistemas de Gestión de Base de Datos Aspecto
PostgreSQL
Oracle
MySQL
Licencia
BSD, permite manejar el código libremente
Privativa, el acceso al código fuente es restringido
GLP, se debe adquirir licencia comercial
Instalación
Ilimitada
Limitada
Limitada
Seguridad
Buen sistema de seguridad, a través de la buena gestión de usuarios
Vulnerabilidades en la plataforma, es necesario realizar parches de seguridad
Posee una gran cantidad de vulnerabilidades
Velocidad
Media
Alta
Media
Tamaño de la base de datos
Ilimitada
Limitado
Limitado por el sistema operativo
Fuente: El autor
22
3.3.4. Modelo Entidad – Relación Este tipo de modelos está basado en abstraer un modelo del mundo real en donde los objetos y que pueden tener objetos básicos, además de entidades y relaciones. (Silberschatz, Korth, 2002).
3.4. Ingeniería Web Esta rama de la ingeniería es aquella que permite aplicar varias metodologías que de forma disciplinada y teniendo un enfoque claro hace que las aplicaciones web tengan una gran calidad al mercado tecnológico. 3.4.1. Internet Es considerada como la red que mantiene interconectados a múltiples ordenadores a nivel mundial. Tiene las mismas características de una red común en donde se puede compartir información y recursos. Esta red hace que la comunidad pueda comunicarse ya sea por cuestiones de trabajo o personal. Para que esta red pueda comunicarse con los otros ordenadores debe de utilizar un protocolo de conexión. 3.4.2. WWW La World Wide Web o conocida como la web es aquella que las personas puedan tener acceso a información. En el internet se la puede como una telaraña debida a los múltiples páginas o sitios que se encuentran en la servidores remotos a nivel mundial. 3.4.3. Sitios web El sitio web contiene varios páginas y objetos que en si tiene una temática muy diferenciada. En un sitio web existen posibles informaciones en donde se pueden llegar a generar en varios formatos como .html en donde se puede tener una mucha información almacenada con las que se pueden compartir con todo el mundo. (Escuela Politécnica Nacional, 2011).
23
3.4.3.1. Cookies Las cookies son conocidas como cookies de navegador o de seguimiento, las cuales son archivos de texto que se alojan en el navegador. Los desarrolladores hacen uso de las cookies para que los usuarios puedan navegar con mayor facilidad. Cuando se crean las cookies es cuando la página se carga correctamente, esta información se envía al navegador, la finalidad de las cookies es que cada vez el usuario vuelve a la misma página el navegador vuelve a recuperar el archivo y reenvía al servidor de la página. 3.4.4. Servidor Un servidor es un software u ordenador en donde se puede tener acceso a internet en donde se provee de ciertos datos proporcionados por los navegadores y pueda brindar información a las peticiones que las realicen los clientes. Existen muchos tipos de servidores desde servidores web, correo y base de datos (Escuela Politécnica Nacional, 2011).
3.5. Selección de herramientas y lenguajes para el diseño Web La ingeniería web es aquella en donde intervienen los lenguajes de programación como pieza fundamental para el desarrollo del sistema informático contiene un conjunto de operadores, reglas, sentencias, con el fin de hacer de forma legible describir el software tanto para las máquinas como para el humano. 3.5.1. HTML Denominado como un lenguaje de marcado sus siglas significan HyperText Markup Language, este tipo de lenguaje permite crear documentos web. Hoy en día es una de las formas más fáciles de aprender para crear sitios web. Internet aloja todos estos sitios web y gracias a la demanda de sitios web a nivel mundial varios desarrolladores han optado por implementar
24
otros lenguajes de programación, el más común es PHP y JavaScript lo que permite que tenga una pureza en el código y mejora la calidad de página. El uso de HTML permite que las páginas a través del navegador sean más rápido, utilizando un código muy sencillo, posee plugins y widgets donde funcionan correctamente, proporcionando soporte de audio y video. Otra de las ventajas es la compatibilidad multiplataforma con varios de los navegadores e inclusive con antiguos como es el caso del Internet Explorer. 3.5.2. PHP Es un tipo de lenguaje que se utiliza para desarrollar aplicaciones web en donde se pueden realizar script CGI, para generar paginas dinámicas usando cookies en la navegación (Escuela Politécnica Nacional, 2011). Al considerar PHP para el desarrollo de este proyecto se tomó en cuenta que es un lenguaje abierto y libre, en donde su entorno de desarrollo es rápido permitiendo tener un rendimiento adecuado, además la manera de aprender a utilizar este lenguaje es muy fácil, debido a que contiene una gran comunidad de desarrolladores dispuestos a brindar los conocimientos necesarios para que el desarrollador aprendiz. Refiriéndose al gran soporte que tiene tenemos que considerar dos aspectos: gran soporte con varias base de datos entre ellas PostgreSQL, MySQL, ORACLE, etc. Además posee un soporte para la programación orientada a objetos como herencia, métodos, clases, etc. 3.5.3. CSS Las hojas de estilo en cascada se encargan de formalizar el aspecto de los elementos que se encuentran en la página web.
25
Toma considerar que usar este lenguaje de estilos tiene muchas ventajas debido a la flexibilidad y unificación del diseño de la página haciendo que el proceso se agilice y minimice el trabajo, otra de las ventajas es que permite diferencia los diferentes estilos para imprimir o visualizar en la pantalla 3.5.4. JavaScript JavaScript al igual que PHP es un lenguaje que tiene varias diferencias, está en base a la programación orientada a objetos con la diferencia que se la utiliza desde la vista del cliente. Permite crear varios efectos que hacen que sitio web sea visible de forma dinámico, una de las ventajas de usar JavaScript es que el uso de las variables, bucles son muy efectivas. Hoy en dia la mayoría de los navegadores activado JavaScript. La empresa que inventó este lenguaje es Netscape con el objetivo de desarrollar aplicaciones web. 3.5.4.1. AngularJS AngularJS es un framework de código abierto desarrollado por Google Inc.y una comunidad de desarrolladores, que permite el desarrollo web Front End desde una sola página, se encuentra basada en el MVC( Modelo Vista Controlador ) haciendo de esta manera que la etapa de pruebas sean más fáciles. En resumen es un framework de javascript con programación de lado del cliente. 3.5.4.2. NodeJS NodeJS es un servidor diseñado por Ryan Lienhart Dahl, la cual fue lanzada el 27 de mayo de 2009 y funciona en los dos entornos, back end y front end. Es de código abierto basándose en el lenguaje de programación, en donde su arquitectura está orientada a objetos. NodeJS ejecuta en un único hilo que está encargado de poder organizar el flujo de trabajo al que deba
26
realizar, es decir que todas las tareas se gestionan de forma asíncrona, específicamente que se delega un pool de threads bajo una librería libuv. 3.5.4.3. Grunt Es un automatizador de las tareas en proyectos web, desarrollado para administrar las tareas del servidor NODEJS de manera programada, es decir realiza las tareas más comunes: concatenación de archivos, minificación de archivos, optimización de imágenes, compilación, unit test. Tabla 4: Herramientas de desarrollo
Herramientas de desarrollo
Razones de uso
HTML
Código sencillo Soporte de audio y video Compatibilidad con todos los navegadores
PHP
Libre Excelente portabilidad en sistemas operativos Soporta POO Soporte a varias SGDB
CSS
Unificación en el diseño de las páginas Estandarización y compatibilidad con varios navegadores
ANGULARJS
Ideal para aplicaciones web e incluso de escritorio Calidad de software
Fuente: El autor
27
4. METODOLOGÍA DE LA INVESTIGACIÓN La importancia de plantear una metodología al desarrollo del sistema informático permite que la persona disertante pueda cumplir con todos los pasos necesarios y que puedan llegar a terminar con el proyecto final. Este proyecto utiliza los enfoques cualitativo y cuantitativo. El enfoque cualitativo permite la interpretación de resultados que se han obtenido a partir de la recolección de datos. El enfoque cuantitativo permite la recolección de datos, haciendo uso de las técnicas de recogida de datos, específicamente del uso de encuestas y entrevistas.
4.1. Enfoque de investigación 4.1.1. Tipo de investigación 4.1.1.1. Descriptiva La investigación descriptiva especifica todas las características de un objeto de estudio. Esta es una de los procedimientos de investigación que se usan con mayor frecuencia, que suelen realizarse por personas principiantes a la investigación. En el momento de realizar esta investigación utiliza técnicas como la entrevista o encuesta. (Bernal, 2010) Este tipo de investigación permite identificar las características necesarias que se desarrollan en un problema de investigación, en el proyecto en desarrollo se realiza un análisis para interpretar e identificar las características al problema investigativo del control y gestión de presupuestos de obras civiles.
28
4.2. Población Una población está conformada por el total de todos los individuos que contienen varias características comunes, y se infiere toda la información que se va a utilizar en el desarrollo de una investigación. El desarrollo de este proyecto, la población está compuesta por el personal que labora en el Departamento de Obras Públicas del Gad Municipal de Pedro Vicente Maldonado. En este Departamento la población es 6 que son las personas que laboran en el mismo departamento.
4.3. Muestra La muestra es un extracto de toda la población que se seleccionó, tomada en cuenta para poder obtener información de la problemática del problema. En virtud de que la población es pequeña, la investigación se centrará en la información proporcionada por la misma, no habiendo la necesidad de calcular una muestra, en consecuencia la muestra de estudio es:6.
4.4. Técnicas e instrumentos de recogida de datos 4.4.1. Técnicas de recogida de datos Para el desarrollo de este proyecto de control y gestión de presupuestos de Obras Civiles serán la encuesta y entrevista que se aplicarán a los funcionarios que laboran en el Departamento de Obras Civiles del Gad Municipal, además de la observación como otra técnica en la que se puede obtener conclusiones sobre el manejo de los presupuestos de las obras civiles.
29
Encuesta: La encuesta que se realizará durante este proyecto de investigación se obtiene a través de una muestra, elaborando un instrumento con preguntas que establezcan el problema a resolver. Entrevista: La entrevista permitirá obtener de manera detallada los requerimientos importantes para la elaboración del proyecto de investigación, con el fin de obtener un enfoque claro para cubrir las necesidades por parte de la entidad interesada. 4.4.2. Instrumentos de recogida de datos Las técnicas e instrumentos de recogida de datos que se utilizarán pueden ser físicos o digitales con el fin de manejar de manera correcta la información del proyecto de investigación. Cuestionario: Es un banco de preguntas que se elaboran de manera objetiva para obtener información de un problema establecido. En el desarrollo del proyecto de investigación se utilizará la encuesta como técnica e instrumento de recolección de datos (ver anexo 1), la cual a través de preguntas bien estructuradas harán posible la recogida de datos en el cual exista de manera correcta el análisis de los mismos. Ficha de registro: Es un banco de preguntas que se realizan para la entrevista. En el desarrollo del proyecto de investigación se realizan preguntas estructuradas permitiendo tener un análisis del problema a resolver.
4.5. Técnicas de análisis de datos Las técnicas que se utilizarán en el proyecto de investigación, incluirán el estudio e interpretación de los resultados obtenidos de la recolección de datos comprobando de esta
30
manera la viabilidad para cumplir con todos los objetivos generales y específicos planteados en la investigación. 4.5.1. Análisis estadístico El análisis estadístico sirve para poder procesar toda la información que se haya recolectado y entre las técnicas que se desarrollan en este proyecto investigativo están la encuesta. Permite al investigador tener amplio conocimiento de los datos recolectados con el objetivo de poder aplicar un análisis de la investigación.
4.6. Metodología de desarrollo de software De acuerdo al análisis para seleccionar la metodología de software que se realizó en el capítulo 2, se precisa usar la metodología XP por cuanto permite establecer un esquema de trabajo en donde se controla, planifica y estructura todos los procesos que están dentro de los sistemas informáticos; el detalle de la aplicación de esta metodología se especifica en el capítulo 5. Las fases que forman parte de esta metodología son: Planificación: Considerada una de las partes más importantes, en donde se toma en consideración todos las historias de usuario, así como también la respectiva estructura cronología del desarrollo. Este tipo de planificación se tiene que tomar en cuenta durante todo el proyecto del desarrollo de software. Diseño: Se realiza el diseño donde no exista mucha complejidad, con el fin de obtener una forma sencilla en el código y su estructura sea óptima en base a su función y operación Codificación: La codificación es el uso de optimización de código haciendo que no exista código basura.
31
Test del cliente: Se toma en total consideraciรณn, que el cliente pueda tomar las pruebas necesarias de las versiones o mรณdulos que se rigen en la planificaciรณn, este tipo de test que realiza el cliente pueda tomar la decisiรณn de aceptaciรณn o denegar el sistema. Equipo: Es el grupo de trabajo que intervienen en el desarrollo del sistema, intervienen dos partes: el cliente y los responsables del proyecto, que en conjunto se forman para desarrollar correctamente el sistema.
32
5. RESULTADOS 5.1. Discusión y análisis de los resultados 5.1.1. Encuesta dirigida al personal que labora en el Departamento de Obras Publicas 1. ¿Considera usted que es importante automatizar el proceso de control de presupuestos de Obras Civiles? Tabla 5: Resultados obtenidos de la primera pregunta ALTERNATIVA SI
FRECUENCIA
PORCENTAJE
6
100%
NO
0
TOTAL
6
0% 100%
Fuente: el autor
6 5 4 3 2 1 0 SI
NO
Figura 2: Figura obtenida de la primera pregunta de la encuesta Fuente: El autor
Análisis: En base de los datos adquiridos a través de la encuesta se determinó que el 100% de los encuestados afirman que si es necesario automatizar el control de presupuestos de obras civiles vinculando con el objetivo de desarrollar un sistema informático que pueda permitir un correcto control y gestión adecuado de los presupuestos de obras civiles ayudando al servidor público a mejorar los procesos de gestión.
33
2. ¿Estaría de acuerdo implementar inmediatamente el sistema de control y gestión de control de presupuestos en obras civiles? Tabla 6: Resultados obtenidos de la segunda pregunta
ALTERNATIVA
FRECUENCIA
SI
6
NO
0
TOTAL
6
PORCENTAJE 100% 0% 100%
Fuente: El autor
6
5 4
3 2
1 0 SI
NO
Figura 3: Figura obtenida de la segunda pregunta de la encuesta Fuente: El autor
Análisis: Según los datos obtenidos en la encuesta, se puede considerar que el 100% de los encuestados afirman que si es necesario implementar inmediatamente el sistema de control y presupuestos de obras civiles, vinculando a la factibilidad del sistema optimizando el tiempo de los procesos que se llevan en la actualidad.
34
3. ¿Considera usted que la información que maneja es importante para el desarrollo de su trabajo? Tabla 7: Resultados obtenidos de la tercera pregunta
ALTERNATIVA
FRECUENCIA
PORCENTAJE
MUY IMPORTANTE
3
50%
IMPORTANTE
3
50%
POCO IMPORTANTE
0
0%
SIN IMPORTANCIA
0
TOTAL
6
0%
100%
Fuente: El autor
3 2,5 2
1,5 1 0,5 0 MUY IMPORTANTE
IMPORTANTE
POCO IMPORTANTE
SIN IMPORTANCIA
Figura 4: Figura obtenida de la tercera pregunta de la encuesta Fuente: El autor
Análisis: Al tomar en cuenta los datos obtenidos por parte de los encuestados, el manejo de la información es importante para los mismos, tomando en cuenta que es una herramienta fundamental para la elaboración de los proyectos civiles gestionados por el Departamento de Obras Públicas. Además la información manejada por los funcionarios del referido departamento se los puede utilizar para efectuar las respectivas auditorias del departamento.
35
4. ¿Cómo considera usted la forma que se lleva el control de gestión en los presupuestos de Obras Civiles? Tabla 8: Resultados obtenidos de la cuarta pregunta
ALTERNATIVA
EXCELENTE MUY BUENO BUENO REGULAR MALO TOTAL
FRECUENCIA
PORCENTAJE
0
0%
1
13.34%
1
13.34%
4
73.32%
0
0%
6
100%
Fuente: El autor
4 3,5 3 2,5 2 1,5
1 0,5 0 EXCELENTE
MUY BUENO
BUENO
REGULAR
MALO
Figura 5: Figura obtenida de la cuarta pregunta de la encuesta Fuente: El autor
Análisis: Tomando en cuenta los resultados obtenidos por medio de la encuesta, se puede considerar que la mayor parte de los servidores públicos encuestados afirman que actualmente el manejo del control y gestión de los presupuestos es regular, debido que la información que maneja el departamento es de forma física, haciendo que el control de seguimiento de una obra civil sea lento, por consiguiente para manejar de forma óptima el control de presupuestos se implementa un sistema previo a un análisis de todos los requerimientos.
36
5. ¿Considera usted que es importante el intercambio de información de los presupuestos efectuados en las obras civiles con los departamentos? Tabla 9: Resultados obtenidos de la quinta pregunta
ALTERNATIVA
FRECUENCIA
PORCENTAJE
MUY IMPORTANTE
3
50%
IMPORTANTE
3
50%
POCO IMPORTANTE
0
0%
SIN IMPORTANCIA
0
0%
TOTAL
6
100%
Fuente: El autor
3 2,5 2 1,5
1 0,5 0 MUY IMPORTANTE
IMPORTANTE
POCO IMPORTANTE
SIN IMPOTANCIA
Figura 6: Figura obtenida de la quinta pregunta de la encuesta Fuente: El autor
Análisis: Los encuestados, afirman que es muy importante el intercambio de información de los presupuestos, tomando en cuenta los antecedentes del problema como es control de los obras civiles, por consiguiente es necesario tener un control de la información que maneja el Departamento de Obras Públicas que permita realizar un intercambio con los otros departamentos, específicamente con el Departamento de Planificación.
37
6. ¿Cree usted que el tiempo empleado para realizar el proceso de elaboración de un presupuesto de una obra civil es óptimo? Tabla 10: Resultados obtenidos de la sexta pregunta
ALTERNATIVA
FRECUENCIA
PORCENTAJE
SI
1
16.67%
NO
5
TOTAL
6
83.33%
100%
Fuente: El autor
5
4,5 4 3,5 3 2,5
2 1,5 1
0,5 0 SI
NO
Figura 7: Figura obtenida de la sexta pregunta de la encuesta Fuente: El autor
Análisis: Mediante los resultados obtenidos en la encuesta, existe un gran porcentaje de encuestados que consideran que el tiempo para realizar un proceso de elaboración de presupuesto de una obra civil no es óptimo, esto se debe a que la información se administra de forma manual, lo que conlleva a que los tiempos de ejecución del presupuesto sean tardíos.
38
7. ¿Con qué frecuencia se realiza un proceso de elaboración de presupuesto de una obra civil? Tabla 11: Resultados obtenidos de la séptima pregunta
ALTERNATIVA
FRECUENCIA
PORCENTAJE
1 A 6 SEMANAS
5
83.33%
7 A 12 SEMANAS
1
16.67%
13 O MAS SEMANAS
0
0%
TOTAL
6
100%
Fuente: El autor
5 4,5
4 3,5 3 2,5 2
1,5 1 0,5
0 1-6 semanas
7-12 semanas
13 o mas semanas
Figura 8: Figura obtenida de la séptima pregunta de la encuesta Fuente: El autor
Análisis: Los servidores públicos encuestados afirman que el tiempo promedio para poder realizar un proceso de elaboración de presupuesto de una obra civil suele ser entre una a seis semanas, el tiempo que se emplea corresponde a los verificaciones y aprobaciones de cada presupuesto debido a que se emplea un fiscalizador de obras, para solucionar este problema se implementará un sistema que permita a las personas encargadas optimizar el tiempo reduciendo de esta manera el período de elaboración del presupuesto.
39
8. ¿Cree usted que al automatizar el sistema de control y gestión de presupuestos de obras civiles optimizaría el tiempo de respuesta del proceso? Tabla 12: Resultados obtenidos de la octava pregunta
ALTERNATIVA
FRECUENCIA
PORCENTAJE
SI
6
100%
NO
0
TOTAL
6
0%
100%
Fuente: El autor
6 5 4 3 2 1 0
SI
NO
Figura 9: Figura obtenida de la octava pregunta de la encuesta Fuente: El autor
Análisis: Se determina que al automatizar el sistema de control y gestión de presupuestos de obras civiles permitirá que se optimice el tiempo de respuesta del proceso, así como también que los mismos se ejecuten en menor tiempo y de esta manera cumplir con el objetivo de resolver las problemáticas originadas en el Departamento de Obras Públicas.
40
9. ¿Considera importante la automatización del sistema para facilitar la supervisión de los presupuestos efectuados por el Departamento de Obras Civiles? Tabla 13: Resultados obtenidos de la novena pregunta
ALTERNATIVA
FRECUENCIA
PORCENTAJE
SI
6
100%
NO
0
TOTAL
6
0%
100%
Fuente: El autor
6 5 4 3 2 1 0
SI
NO
Figura 10: Figura obtenida de la novena pregunta de la encuesta Fuente: El autor
Análisis: Tomando en cuenta los datos obtenidos, se determina que el 100% de todos los encuestados que laboran en el Departamento de Obras Públicas afirman que la automatización del sistema para facilitar la supervisión de los presupuestos efectuados por el Departamento de Obras Públicas es factible, llevando un control continuo de todas las obras civiles en las que tienen a cargo los servidores públicos permitiendo realizar las auditorías internas del Departamento de Obras Públicas.
41
5.2. El proceso XP 5.2.1. Fase 1: Planeación 5.2.1.1. Exploración El proceso de exploración, comienza por la construcción de las historias de usuario, que permite observar dentro del sistema sus diferentes comportamientos respecto a las gestiones del usuario. Como respaldo se tiene que tener en consideración la elaboración del SRS (ver anexo 2) en el cual se especifica los requerimientos específicos del sistema. Módulos del sistema Los módulos que se va a tomar en cuenta en el desarrollo del proyecto consideran la elaboración de historias de usuario que se detalla a continuación. Tabla 14: Módulos del sistema para la elaboración de las historias de usuario N° I
Módulo
Métodos
Administración del software
Parametrización del software Ingreso de usuarios
II
Usuario
Administración de usuarios Reporte de usuarios Registro de complementos Administración de complementos Registro de materiales Administración de materiales
III
Presupuesto
Registro de rubros Administración de rubros Registro de obras Administración de obras Visualización de reportes
Fuente: El autor
42
Historias de usuario Las historias de usuario mantienen el mismo concepto que algunas de las metodologías tradicionales, estas historias de usuarios especifican todos los requerimientos por parte del cliente que son necesarios para poder tener un buen desempeño en el desarrollo del sistema. Para poder realizar estas historias de usuario, se hace el uso de la tarjetas que poseen un formato establecido, dentro de las cuales se debe de describir las características más relevantes, se toma por consideración que durante su elaboración se realice una tarjeta por cada actividad más importante permitiendo a los desarrolladores identificar la complejidad que posee el sistema a implementarse. 5.2.1.1.2.1. Especificación de historias de usuarios I.
Módulo de administración del sistema
Tabla 15: Historia de usuario, Parametrización del sistema Historia de usuario Número: 1
Nombre: Parametrización del sistema
Usuario: Administrador Modificación de usuario: N/A
Iteración asignada: Primera
Prioridad en negocio: Medio
Puntos estimados: 0,3
Riesgo en desarrollo: Medio
Puntos reales: 0,2
Descripción: Los parámetros que se detallan en el sistema pueden tener en el transcurso de tiempo ciertas variaciones. En muchos de los casos se puede tener una modificación en dos aspectos principales : - El tipo de información de contacto - El tipo de información que se puede visualizar en los reportes. Observaciones: - El usuario administrador es aquella que persona que podrá ingresar al módulo de administración. Fuente: El autor
43
II.
Módulo de usuarios
Tabla 16: Historia de usuario, Registro de usuarios Historia de usuario Número: 2
Nombre: Registro de usuarios
Usuario: Administrador Modificación de usuario: N/A
Iteración asignada: Primera
Prioridad en negocio: Medio
Puntos estimados: 0,2
Riesgo en desarrollo: Medio
Puntos reales: 0,2
Descripción: En el módulo de usuarios existirá la opción de registrar a los usuarios por primera vez en donde se detalle: - Ingreso de datos personales del usuario. - Asignación del rol (perfil) al que va a desempeñar en el sistema. - Almacenamiento correcto del nuevo registro que se le asignó al usuario - El login (usuario) y password (contraseña) que se le asignó al nuevo usuario será su número de identificación personal (cédula), al ingresar por primera vez. Observaciones: - Este perfil podrá acceder al módulo por medio de los permisos asignados. Fuente: el autor
Tabla 17: Historia de usuario, Administración de usuarios Historia de usuario Número: 3
Nombre: Administración de usuarios
Usuario: Administrador Modificación de usuario: N/A
Iteración asignada: Primera
Prioridad en negocio: Medio
Puntos estimados: 0,4
Riesgo en desarrollo: Medio
Puntos reales: 0,2
Descripción: El administrador de usuarios podrá: - Cambiar el estado del usuario el cual no tendrá acceso al sistema salvo el caso a su reactivación de la cuenta. - Restablecimiento de usuario y contraseña en caso de olvido.
Observaciones: - Este perfil tendrá único acceso a este módulo. Fuente: el autor
44 Tabla 18: Historia de usuario, Reporte de usuarios Historia de usuario Número: 4
Nombre: Reporte de usuarios
Usuario: Administrador Modificación de usuario: N/A
Iteración asignada: Primera
Prioridad en negocio: Bajo
Puntos estimados: 0,2
Riesgo en desarrollo: Bajo
Puntos reales: 0,2
Descripción: El reporte de usuarios que se va a generar se basa a los criterios de búsqueda que el administrador de usuarios lo desee: - El orden alfabético, numérico, ascendiente y descendiente de los usuarios. - Por sus nombres y apellidos - Por la fecha de registro de los usuarios - Por su estado del usuario (activo e inactivo) Observaciones: - El reporte de usuario pueden ser visualizados de forma directa sin necesidad de descargar el archivo. Fuente: El autor
III.
Módulo de presupuesto
Tabla 19: Historia de usuario, Creación de complementos Historia de usuario Número: 5
Nombre: Registro de complementos
Usuario: Servidor público Modificación de usuario: N/A
Iteración asignada: Primera
Prioridad en negocio: Alta
Puntos estimados: 0,3
Riesgo en desarrollo: Media
Puntos reales: 0,2
Descripción: El servidor público puede crear complementos: - Unidad de medidas de los materiales - Categorías de mano de obra Observaciones: - La creación de los complementos se realizara para poder crear los materiales. Fuente: El autor
45 Tabla 20: Historia de usuario, Administración de complementos Historia de usuario Número: 6
Nombre: Administración de complementos
Usuario: Servidor público Modificación de usuario: N/A
Iteración asignada: Primera
Prioridad en negocio: Media
Puntos estimados: 0,3
Riesgo en desarrollo: Media
Puntos reales: 0,2
Descripción: El módulo de obras se puede realizar las siguientes operaciones: - Editar los campos necesarios en los complementos
Observaciones: La actualización de la información es realizada por el usuario que posea el permiso Fuente: El autor
Tabla 21: Historia de usuario, Creación de materiales Historia de usuario Número: 7
Nombre: Registro de materiales
Usuario: Servidor público Modificación de usuario: N/A
Iteración asignada: Primera
Prioridad en negocio: Media
Puntos estimados: 0,3
Riesgo en desarrollo: Media
Puntos reales: 0,2
Descripción: El módulo de obras puede crear materiales: - Ingreso de materiales o rubros - Ingreso de mano de obra - Ingreso de equipo de trabajo.
Observaciones: Los materiales serán registrados por el usuario que posea el permiso (rol) necesario. Fuente: El autor
46 Tabla 22: Historia de usuario, Administración de materiales Historia de usuario Número: 8
Nombre: Administración de materiales
Usuario: Servidor público Modificación de usuario: N/A
Iteración asignada: Primera
Prioridad en negocio: Media
Puntos estimados: 0,3
Riesgo en desarrollo: Media
Puntos reales: 0,2
Descripción: El módulo de obras se puede realizar las siguientes operaciones: - Editar los campos necesarios en los materiales
Observaciones: La actualización de la información es realizada por el usuario que posea el permiso (rol) Fuente: El autor
Tabla 23: Historia de usuario, Creación de rubros Historia de usuario Número: 9
Nombre: Registro de rubros
Usuario: Servidor público Modificación de usuario: N/A
Iteración asignada: Primera
Prioridad en negocio: Media
Puntos estimados: 0,3
Riesgo en desarrollo: Media
Puntos reales: 0,2
Descripción: El módulo de obras puede crear rubros: - Ingreso de rubros que se originan para el proyecto de obras públicas
Observaciones: Los rubros serán registrados por el usuario que posea el permiso (rol) necesario. Fuente: El autor
47 Tabla 24: Historia de usuario, Administración de rubros Historia de usuario Número: 10
Nombre: Administración de rubros
Usuario: Servidor público Modificación de usuario: N/A
Iteración asignada: Primera
Prioridad en negocio: Media
Puntos estimados: 0,3
Riesgo en desarrollo: Media
Puntos reales: 0,2
Descripción: El módulo de obras se puede realizar las siguientes operaciones: - Editar los campos necesarios en los rubros
Observaciones: La actualización de la información es realizada por el usuario que posea el permiso (rol) Fuente: El autor
Tabla 25: Historia de usuario, Creación de obras Historia de usuario Número: 11
Nombre: Registro de obras
Usuario: Servidor público Modificación de usuario: N/A
Iteración asignada: Primera
Prioridad en negocio: Media
Puntos estimados: 0,4
Riesgo en desarrollo: Media
Puntos reales: 0,2
Descripción: El módulo de obras puede crear obras : - Ingreso de obras que existen en el Departamento de Obras Públicas
Observaciones: Las obras serán registrados por el usuario que posea el permiso (rol) necesario. Fuente: El autor
48 Tabla 26: Historia de usuario, Administración de obras Historia de usuario Número: 12
Nombre: Administración de obras
Usuario: Servidor público Modificación de usuario: N/A
Iteración asignada: Primera
Prioridad en negocio: Media
Puntos estimados: 0,4
Riesgo en desarrollo: Media
Puntos reales: 0,2
Descripción: El módulo de obras se puede realizar las siguientes operaciones: - Editar los campos necesarios en las obras
Observaciones: La actualización de la información es realizada por el usuario que posea el permiso (rol) Fuente: El autor
Tabla 27: Historia de usuario, Visualización de reportes Historia de usuario Número: 13
Nombre: Visualización de reportes
Usuario: Servidor público Modificación de usuario: N/A
Iteración asignada: Primera
Prioridad en negocio: Bajo
Puntos estimados: 0,2
Riesgo en desarrollo: Bajo
Puntos reales: 0,2
Descripción: La visualización de reportes que se va a generar en el módulo de obras - Informe de complementos - Informe de materiales - Informe de rubros - Informe de obras
Observaciones: - Los informes que se vayan a visualizar es de forma directa sin necesidad de descargar el archivo. Fuente: El autor
49
5.2.1.2. Planificación de entrega La planificación de entrega del proyecto se basa en las historias de usuario y los módulos que se han estimado anteriormente, es necesario tener una correcta y adecuada planificación que se base en cumplir con las fechas de elaboración de los distintos módulos permitiendo de esta manera poder hacer una estimación del esfuerzo del personal incluido en el proyecto. Valoración de historias de usuario La valoración de las historias de usuario se toma en cuenta el tiempo estimado que se vaya a realizar las diferentes actividades, se basa en un promedio de trabajo de 4 días laborables y de 3 horas diarias a emplearse, según el cronograma que se ha expuesto en el proyecto. Tabla 28: Valoración de historias de usuario Tiempo estimado Módulo Módulo Sistema Módulo Usuarios
Módulo Presupuestos
#
Historia de usuario S
D
H
1
Parametrización del sistema
0,3
1,5
4.5
2
Registro de usuarios
0,3
1,5
4,5
3
Administración de usuarios
0,6
3
9
4
Reporte de usuarios
0,2
1
3
5
Registro de complementos
0,2
1
3
6
Administración de complementos
0,3
1,5
4,5
7
Registro de materiales
0,4
2
6
8
Administración de materiales
1
5
15
9
Registro de rubros
0,6
3
9
10
Administración de rubros
1
5
15
11
Registro de obras
0,6
3
9
12
Administración de obras
1
5
15
13
Visualización de reportes
0,7
3,5
10,50
7,20
36
108
Tiempo estimado total Nota. S=Semana; D=Día; H=Hora. Fuente: Los autores
50
5.2.1.3. Iteraciones El número de iteraciones que se toman en cuenta para la entrega del sistema, se determina por medio de un plan de entrega. Se toma en consideración que durante cada iteración comienza a disminuir el trabajo por completar debido a los avances que se hacen en el sistema. 5.2.1.3.1 Elaboración del plan de entrega Empleando todos los parámetros que se utilizan en la metodología XP, el tiempo que se establece con respecto al calendario es: 20 días laborables durante el mes, donde cada semana sea de 5 días y con un periodo de trabajo diario de 3 horas/día. I.
Tiempo Calendario
Según el tiempo que se va a utilizar, se elabora una tabla para poder en cuenta las horas de trabajo, lo que permite realizar un cálculo del esfuerzo que el desarrollador utiliza para el software. Tabla 29: Programación del trabajo por horas, días, semanas
Horas empleadas
Días laborables
Semanas
Diariamente se utiliza 3 4 semanas (semanas al mes 5 días (días laborables para horas para el desarrollo del para el desarrollo del el desarrollo del proyecto) proyecto proyecto) Fuente: El autor
II.
Desarrollo en base al esfuerzo empleado Individuos que integran : en este caso solo 1 En consecuencia: para el desarrollo, en función al esfuerzo de la persona, equivale a que una persona es igual a una semana laborada Desarrollo en base al esfuerzo/día: una persona es igual a cinco días laborables Desarrollo en base al esfuerzo/hora: una persona es igual a tres horas laborables
51 Tabla 30: Programación realizada en base al esfuerzo Individuos que integran
Horas empleadas para desarrollar
Un individuo
Días de esfuerzo de desarrollo
Semanas en base al esfuerzo realizado
cinco
una
tres horas/lab
Fuente: El autor
III.
Programación para la entrega del proyecto Tabla 31: Elaboración del plan de entrega
Módulo
M. Sistema
M. Usuarios
M. Presupuest
#
Tiempo estimado
Historia de usuario
Calendario estimado
Iteración asignada
S
D
H
S
D
H
1
2
3
Entrega asignada 4
1
2
1
Parametrización del sistema
0,3
1,5
4.5
0,3
1,5
4.5
X
X
2
Registro de usuarios
0,3
1,5
4,5
0,3
1,5
4,5
X
X
3
Administración de usuarios
0,6
3
9
0,6
3
9
X
X
4
Reporte de usuarios
0,2
1
3
0,2
1
3
X
X
5
Registro de complementos
0,2
1
3
0,2
1
3
X
X
6
Administración de complementos
0,3
1,5
4,5
0,3
1,5
4,5
X
X
7
Registro de materiales
0,4
2
6
0,4
2
6
X
X
8
Administración de materiales
1
5
15
1
5
15
X
X
9
Registro de Rubros
0,6
3
9
0,6
3
9
X
X
10
Administración de rubros
1
5
15
1
5
15
X
X
11
Registro de obras
0,6
3
9
0,6
3
9
X
X
12
Administración de obras
1
5
15
1
5
15
X
X
13
Visualización de reportes
0,7
3,5
10,5
0,7
3,5
10,5
Total semanas
Nota. S=Semana; D=Día; H=Hora. Fuente: Los autores
X 3,3
1,6
1,6
0,7
3
X 7,2
52
5.2.2. Fase 2: Diseño En esta fase se toma como base las tarjetas CRC , las mismas que detallan lo que cada usuario tiene como responsabilidad haciendo uso de la metodología XP tomando en cuenta que las tarjetas CRC detallan las respectivas responsabilidades, en consecuencia elaborar estas tarjetas permiten al desarrollador diseñar la BD tomando en cuenta los diseños conceptuales y físicos. El resultado de esta fase de diseño es una base de datos totalmente funcional para el sistema; el script de la creación de base la de datos, el conjunto de las tablas, disparadores (triggers) y todos los procedimientos almacenados (stored procedure). Para cumplir este objetivo se debe de tener en cuenta las responsabilidades en las que se va a ejecutar cada una de las entidades que son creadas. 5.2.2.1. Tarjetas CRC El diseño de las tarjetas CRC, en donde se detallan las distintas responsabilidades, funcionalidades y colaboradores con el fin detallar de una manera más clara la especificación de los escenarios. A continuación se detalla las tarjetas CRC que se van a usar en el proyecto: I. -
Marco 1. Parámetros del software Objetivo del marco a) Parámetros en base al desarrollo del software b) Mantener actualizada los datos del sistema c) Mantener actualizada los datos de servicio web d) Mantener actualizada los datos que se generan para la elaboración de los informes
53 Tabla 32: Tarjeta Clase Responsabilidad Colaboradores - Sistema Tarjeta de Clase Responsabilidad Colaboradores Número: 1
Marco: Parámetros del software
Nombre de la tarjeta: Sistema Responsabilidad
Colaborador
Método
Parámetros en base al desarrollo del software
cpocQuery
get_data
Observación de configuración del sistema
cpocQuery
get_data
Mantener actualizada los datos del contacto
cpocQuery
get_data
Mantener actualizada los datos del servicio web
cpocQuery
get_data
Observación: - Cada método es llamado a través de la clase “routeController” Fuente: El autor
II. -
Marco 2. Ingreso y manejo de todos los usuarios Objetivo del marco a) Ingresar la información necesaria de los usuarios b) Cambiar algunos de los identificaciones de los usuarios a. Restaurar al usuario b. Restaurar la clave c) Modificar el estado del usuario
Tabla 33: Tarjeta Clase Responsabilidad Colaboradores - Administración de usuarios Tarjeta de Clase Responsabilidad Colaboradores Número: 2
Marco: Administración de usuarios
Nombre CRC: userController Responsabilidad
Colaborador
Método
Ingreso de usuario
cpocQuery
Post_insert
Cambiar información de usuarios
cpocQuery
Get_update
Crear los informes usuarios-existentes
reporteController
tb_usuario
Observación: - Cada método es llamado a través de la clase “routeController”
54
III. -
Escenario n° 3. Rubros Propósito del escenario a) Registrar componentes b) Administrar componentes c) Registro de materiales d) Administración de materiales e) Registro de rubros f) Administración de rubros g) Registro de obras h) Administración de obras i) Visualización de reportes
Tabla 34: Tarjeta CRC - Administración de operadoras Tarjeta CRC Número: 3
Escenario: Rubros
Nombre CRC: obrasController Responsabilidades
Colaboradores
Métodos
Registrar componentes
cpocQuery
Post_insert
Administrar componentes
cpocQuery
Get_update, get_data
Registro de materiales
cpocQuery
Post_insert
Administración de materiales
cpocQuery
Get_update, get_data
Registro de rubros
cpocQuery
Post_insert
Administración de rubros
cpocQuery
Get_update, get_data
Registro de obras
cpocQuery
Post_insert
Administración de obras
cpocQuery
Get_update,, get_data
Visualización de reportes
reporteController
Tb_obras
Observaciones: Los métodos son llamados directamente de la clase “routeController” Fuente: El autor
55
5.2.2.2. Diseño de la base de datos Para el siguiente proyecto se debe de realizar una base de datos, que pueda implementarse tomando en cuenta las historias de usuario y el SRS. 5.2.2.2.1 Diseño lógico de la base de datos
Figura 11: Diseño conceptual de BD Fuente: El autor
56
5.2.2.2.2 Diseño físico de la base de datos
Figura 12: Diseño físico de BD Fuente: El autor
57
5.2.2.2.3 Diccionario de datos El diccionario de datos contiene una lista de entidades que contiene el sistema, incluye las características de los datos del sistema en desarrollo, esto incluye el nombre, especificación, el tipo de los mismos y las entidades, CPOC contiene el diccionario de datos (ver anexo 4). 5.2.2.2.4 Script de creación de la base de datos El script de la base de datos es un archivo adicional que contiene varias instrucciones para el código para poder crear la base de datos que incluyen todos sus componentes. El script de la base de datos se genera a partir de los módulos de información de los procesos (ver anexo 5). 5.2.3. Fase 3: Codificación En esta fase se comienza a hacer la respectiva codificación haciendo uso de los requerimientos que se han determinado en las tarjetas CRC. La etapa de codificación tiene dos aspectos: la especificación de las reglas de negocio, así como nivel de base de datos 5.2.3.1. Creación de triggers La creación de triggers para el software CPOC, tiene el fin de optimizar tiempo al momento de realizar las transacciones y consultas en la base de datos, estos disparadores se ejecutan cuando se tiene tareas con alguna especificación de tal manera que optimice el tiempo de consulta. (Ver anexo 5). 5.2.4. Pruebas 5.2.4.1. Pruebas de aceptación Las pruebas de aceptación recibe el nombre de pruebas de funcionalidad. Se toma en cuenta la especificación de las historias de usuario, que tiene como finalidad reducir de manera considerable los errores que pueda presentar el software y así poder
58
incrementar la calidad del producto, además permite determinar los cambios y modificaciones que se realicen en las tareas. De esta forma se puede brindar la garantía del producto y la plena satisfacción por parte del cliente. I.
Módulo 1: Parámetros del software
En el desarrollo de módulo de parámetros del sistema se realiza una prueba de aceptación que tiene referencia al marco de ingreso de los datos del sistema, donde se procede a validar el correcto desempeño del sistema en el módulo de manejo de información del sistema, incluyendo la parametrización de formularios y resoluciones que será generado en cada reporte. Tabla 35: Prueba de aceptación módulo del sistema Caso de Prueba de aceptación Caso de prueba: Parámetros del software Número de caso de prueba: 1
Referencia de historia de usuario: #1
Nombre: Ingresar de manera correcta los datos del software Descripción: Los datos del sistema tienden a variar. Condiciones de ejecución: La información del sistema puede cambiar de acuerdo a la información actualizada. Entrada/pasos de ejecución: 1. 2. 3.
El usuario asignado (permisos)entra al módulo Registra la información correcta El usuario asignado guarda la información
Resultado esperado:
Se reemplaza la información por la actual ingresada
Se registra la actualización en el sistema.
Evaluación de la prueba: Fuente: El autor
II.
Módulo 2: Ingreso y administración de todos los usuarios
En el desarrollo de módulo de ingreso de usuarios se realiza una prueba de aceptación que tiene referencia al marco de registrar la información de usuarios.
59 Tabla 36: Prueba de aceptación usuarios Prueba de aceptación Caso de prueba: Registrar y administrar los usuarios Número de caso de prueba: 2
Número de historia de usuario: #2 - #4
Nombre: Registrar la información de los usuarios de manera correcta. Descripción: Administrar el sistema donde existe una opción de usuarios, la misma que permite al administrador ingresar a un nuevo usuario el mismo que le procede a dar su perfil, en el instante de querer guardar el usuario donde se puede también hacer el cambio de estado de un usuario.
Condiciones de ejecución: La información de los usuarios puede variar conforme lo requiera. Entrada/pasos de ejecución: 1. 2. 3. 4. 5.
El usuario asignado entra a este módulo Al ingresar un usuario, usted ingresa los datos y procede a guardar. Si desea restaurar la contraseña o el usuario, existirá la opción de restablecer e inmediatamente podrá acceder al sistema. Si desea desactivar a un usuario solo tendrá que ir a la opción de desactivar usuario. Todo cambio realizado se hará con total éxito.
Resultado esperado:
Si se reemplaza toda la información del usuario Al momento de guardar se muestra un cuadro de confirmación del éxito realizad.
El cambio realizado es almacenado satisfactoriamente.
Evaluación de la prueba: Fuente: El autor
III.
Módulo n° 3: Registro y administración de presupuesto
El módulo de presupuestos se realiza una prueba de aceptación que tiene referencia al marco de registro de presupuesto. Dentro de ésta se puede administrar los complementos, materiales, rubros, de obras.
60 Tabla 37: Prueba de aceptación módulo presupuesto Prueba de aceptación Caso de prueba: Registrar y administrar presupuesto Número de caso de prueba: 3
Número de historia de usuario: #5 - #13
Nombre de caso de prueba: Registrar la información de los presupuestos de manera correcta. Descripción: El usuario ingresa un complemento para poder hacer las validaciones de los materiales, en caso de que todas las validaciones sean exitosas se guarda la información del registro. El registro de materiales procede a registrar un nuevo material que vaya a estar incluido en un rubro. La administración de materiales realizará el cambio o actualización de datos respectivos a la misma El registro de rubros procede a registrar un nuevo rubro que vaya a estar incluido en una obra. La administración de rubros realizará el cambio o actualización de datos respectivos a la misma El registro de obras procede a registrar una nueva obra que vaya a estar incluido en un presupuesto. La administración de obras realizará el cambio o actualización de datos respectivos a la misma El servidor público ingresa al módulo de presupuesto y puede generar el tipo de informe que desee. Condiciones de ejecución: La información de los complementos, materiales, rubros y obras pueden ser cambiar conforme el paso del tiempo. Entradas: 1. 2.
El servidor público ingresa al módulo de presupuesto Para ingresar un nuevo complemento ingresa los datos y procede a guardar. 3. Para la edición de los datos de un complemento selecciona uno de ellos, procede a desplegarse un cuadro de dialogo con todos los datos para ser actualizados, los cambia y procede a guardar. 4. Para ingresar un nuevo material ingresa los datos y procede a guardar 5. Para la edición de los datos de un material, selecciona uno de ellos, procede a desplegarse una cuadro de dialogo con todos los datos para ser actualizados, los cambia y procede a guardar. 6. Para ingresar un nuevo rubro ingresa los datos y procede a guardar. 7. Para la edición de los datos de un rubro, selecciona uno de ellos, procede a desplegarse una cuadro de dialogo con todos los datos para ser actualizados, los cambia y procede a guardar. 8. Para ingresar una nueva obra ingresa los datos y procede a guardar. 9. Para la edición de los datos de una obra, selecciona uno de ellos, Resultados esperados: procede cuadro de correspondiente dialogo con todos datos aSedesplegarse actualiza launa información al los registro para ser actualizados, los cambia y procede a guardar. según sea El sistema muestra un mensaje de confirmación 10. Para generar el informe de presupuesto, selecciona el tipo de el caso. informe con sus respectivos filtros que desee y click en “generar Evaluación: Los datos son guardados con éxito informe”. Fuente: Los autores
61
Detalladamente, una vez terminada la aplicación se procede a realizar: Finalización: etapa en la que recibe el nombre de muerte del proyecto, consiste en la fase donde ya no se tiene más historias de usuario que desee incluir en el sistema y que el producto ha sido realizado en su totalidad, teniendo en cuenta que cumpla con todas las expectativas por parte del usuario, demuestre confiabilidad y su nivel de rendimiento de sea el óptimo. Durante esta fase se entrega el proyecto final con toda la documentación necesaria, detallando los manuales de usuario para su propio entendimiento. Durante la gestión del sistema, se entrega un manual de instalación (ver anexo 6 ) Mantenimiento: En esta etapa del proyecto se realiza una capacitación hacia el personal que va a administrar el software, específicamente al personal responsable que pueda llevar el sistema en las más recomendadas condiciones.
5.3. Conclusiones El sistema realiza un correcto control y gestión de los presupuestos de las obras civiles del Departamento de Obras Públicas, lo cual se puede evidenciar por medio de las pruebas que se efectuaron en la implementación del software haciendo uso de la metodología XP. En base al análisis de las herramientas de desarrollo de software se determinó que las herramientas PHP que permitió la interacción del usuario y sistema, PostgreSQL donde se pudo ejecutar todas las peticiones a través de consultas, Apache permitiendo la comunicación con PHP a través de NodeJs, por cuanto existe amplia documentación sobre las mismas y son herramientas libres y de uso masivo.
62
El sistema informático tiene un entorno gráfico que funciona de manera interactiva, facilitando a los servidores públicos gestionar de manera eficiente los diferentes módulos del sistema permitiendo optimizar tiempo de respuesta a los procesos. El sistema implementado en el Departamento de Obras Públicas, fue entregado, verificado y aprobado, por medio de las actas de entrega y pruebas realizadas, cumpliendo con todos los requerimientos establecidos en la especificación de requerimientos de software (SRS) La implementación de la metodología XP facilita al desarrollador elaborar el software de una manera eficiente, empleando cada una de las etapas de esta metodología permitiendo cumplir con todos los requerimientos necesarios. Al término de este proyecto, el departamento de Obras Públicas pudo mejorar el proceso de entrega de los presupuestos de obras civiles, optimizando el tiempo y recursos administrativos en la elaboración de presupuestos.
5.4. Recomendaciones Es recomendable investigar y enfatizar el desarrollo de aplicaciones en la Web pues permite integrarse a las nuevas tendencias tecnológicas haciendo uso de herramientas que están enfocadas en aplicaciones de empresariales. De acuerdo a los análisis realizados a cada una de las herramientas empleadas para el desarrollo de este proyecto, se puede recomendar usar sistemas gestores de base de datos que sean óptimos como es el caso de PostgreSQL, debido a que es una base de datos que está orientado a objetos donde sus entidades y componentes puedan ser reusables; otra herramienta es PHP que permite funcionar de manera correcta con cualquier motor de base de datos, así como también usar aquellas herramientas que sean de software libre.
63
Cuando se empieza a realizar un proyecto es recomendable saber elegir la metodología de desarrollo de software a utilizar, se debe realizar un análisis sobre las ventajas y desventajas, esto permite al desarrollador del sistema optimizar tiempo y recursos administrativos. El personal que va a utilizar el sistema debe de capacitarse en la instalación, configuración y uso de cada módulo del sistema, para prevenir futuros inconvenientes.
64
FUENTES BIBLIOGRÁFICAS Alvarez, S. (7 de Febrero de 2006). Desarrollo web, tu mejor ayuda para aprender a hacer webs. Obtenido de Tipos de lenguaje de programación: http://www.desarrolloweb.com/articulos/2358.php Amaro, S., & Valverde, J. (2007). Metodologías Ágiles. Trujillo. Bernal, C. A. (2010). Metodología de la INvestigación. Colombia: Pearson Educación, S.A. Camazón, J. (2011). Sistemas Operativos Monopuestos. Madrid: Editorial Editex, S.A. Clarke, J. (2012). SQL Injection Attacks and Defense. United States of America: Elsevier, Inc. Coronel, C., Morris, S., & Rob, P. (2011). Bases de Datos, Diseño, Implementación y Administración. Mexco, D.F.: Cengage Learning Editores, S.A. Date, C. J. (2001). Introducción a los sistemas de base de datos. Mexico: Pearson Educación, S.A. Desongles Corrales, J., & Moya Arribas, M. (2006). Conceptos básicos de la informática. España: Editoria MAD, S.L. Escuela Politécnica Nacional. (Mayo de 2011). Escuela Politécnica Nacional. Obtenido de http://bibdigital.epn.edu.ec/bitstream/15000/3823/1/CD-3595.pdf Explorable Psycology Experiments. (15 de Noviembre de 2014). Investigación Experimental. Obtenido de https://explorable.com/es/investigacion-experimental Grupo experimental de Núcleos y Partículas. (15 de Noviembre de 2014). Programación orientada a objetos: Clases y Objetos. Obtenido de http://fpsalmon.usc.es/genp/doc/cursos/poo/clases.html Laboratorio Nacional de Calidad del Software. (2009). Ingeniería de softare: Metodologías y Ciclos de vida. España. Lan, S. (2011). Software Engineering (Novena ed.). Madrid: PEARSON EDUCACION S.A. Ramos, A., & Ramos, J. (2011). Aplicaciones WEB. Madrid: Ediciones Paraninfo, S.A. Roger, P. (2010). Ingeniería de Software. Un enfoque práctico (Septima ed.). México: McGRAWHILL INTERAMERICANA EDITORES, S.A. DE C.V. Roger, S. P. (2002). Ingeniería de software un enfoque práctico. Madrid: Mc Graw Hill. Senplades. (2013). Plan Nacional para el Buen Vivir 2013-2017. Quito. Sommerville, I. (2006). Ingeniería del software. Madrid: Pearson Educación, S.A. Universidad de Murcia. (Diciembre de 2011). Apuntes Informática Aplicada a la Gestión Pública. Cap. 1 Ingeniería del software, introducción. 2011/12. Universidad de Murcia. Obtenido de http://www.um.es/docencia/barzana/IAGP/IAGP2-Ingenieria-software-introduccion.html
65 Universidad Politécnica de Valencia. (28 de Diciembre de 2010). Blog de la historia informática. Obtenido de Ingeniería de software | Historia de l ainformática: http://histinf.blogs.upv.es/2010/12/28/ingenieria-del-software/ Vélez, J., Peña, A., Gortázar, F., & Ángel, S. (2011). Diseñar y programar, todo es empezar: Una introducción a la programación orientada a objetos usando UML y Java. Madrid: Dykinson. Webmaster Creativo - Herramientas para Webmasters. (11 de Juio de 2012). Hosting: definicion y tipos | Webmastercreativo -Herramientas para Webmasters. Obtenido de http://www.webmastercreativo.com/hosting-definicion-y-tipos/
66
GLOSARIO HTML5 Es un lenguaje de marca, que denota de sus siglas HyperText Markup Languaje, utlizando su última versión número 5. Este tipo de lenguaje es utilizado en la www, la cual sirve de estándar en base para poder diseñar páginas web, los mismo que definen básicamente la estructura y código definiendo de esta manera toda la página web. Hoja de Estilo en Cascada (CSS) Las hojas de estilo es un lenguaje que permite usarse para poder definir o a su vez crear un documento en HTML, con la finalidad de trabajar de manera independiente la estructura de un documento web. Dirección Internet Protocol (IP) Es aquella dirección que es único que permite identificar a un equipo de cómputo cuando esté conectada a una red. HTML5 (HyperText Markup Language / Lenguajes de marca de hipertexto v5) Es la quinta revisión importante del lenguaje básico de la World Wide Web, HTML. Es un estándar que sirve de referencia para la elaboración de páginas web en sus diferentes versiones, define una estructura básica y un código para la definición de contenido de una página web, como texto, imágenes, videos, entre otros.
67
Programación Extrema El uso de esta metodología para desarrollar un sistema tiene una gran diferencia tomando como referencia varias metodologías tradicionales en la que la metodología XP se basa en la simplicidad y adaptabilidad del sistema Open Source Conocido también como código abierto, es el término con el que se conoce al software distribuido y desarrollado libremente. Paradigmas de programación Propuesta tecnológica adoptada por una comunidad de programadores cuyo núcleo central es incuestionable en cuanto a que únicamente trata de resolver uno o varios problemas claramente delimitados. PHP Es un lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. PNBV (Plan Nacional del Buen Vivir) Es un plan que se implementó por el gobierno del Ecuador que está encaminado a que la comunidad viva el buen vivir por medio del reconocimiento y la igualdad de genero y jsuticia social. PostgreSQL El sistema gestor de base de datos que se encuentra con licencia BSD. Este gestor fue desarrollado para ejecutar aplicaciones tecnológicas.
68
SGBD Es el Sistema Gestor de Base de Datos que permite almacenar, modificar y extraer toda la información de la base de datos. Todas estas operaciones son organizadas por métodos que efectúan la administración de los usuarios y del sistema además de poder recuperar toda la información en el caso de que el sistema no funcione correctamente. SRS Es el documento que representa toda la especificación de requerimientos que necesite el sistema, en este se puede tener una clara descripción del sistema y su comportamiento, asi como también se puede ver sus alcances y limitaciones expuestas. Este acuerdo es firmado por las partes interesadas para el desarrollo del sistema. CPOC Control de Presupuestos de Obras Civiles, nombre del software desarrollado para el departamento de Obras Públicas en el Gobierno Autónomo Descentralizado de Pedro Vicente Maldonado.
ANEXOS
ÍNDICE DE ANEXOS ANEXO
1.
ENCUESTA
DIRIGIDA
A
SERVIDORES
PÚBLICOS
DEL
DEPARTAMENTO DE OBRAS PÚBLICAS DEL GAD MUNICIPAL DE PEDRO VICENTE MALDONADO ANEXO 2. SRS (ESPECIFICACION DE REQUERIMIENTOS DE SOFTWARE) ANEXO 3. CRONOGRAMA DE ACTIVIDADES ANEXO 4. DICCIONARIO DE DATOS ANEXO 5. SCRIPT DE LA BASE DE DATOS ANEXO 6. MANUAL DE INSTALACIÓN ANEXO 7. MANUAL DE USUARIO ANEXO 8: ACTA DE ENTREGA – RECEPCION ANEXO 9: CARTA DE IMPACTO ANEXO 10: APROBACION DE SRS
ANEXO 1. ENCUESTA DIRIGIDA A SERVIDORES PÚBLICOS DEL DEPARTAMENTO DE OBRAS PÚBLICAS DEL GAD MUNICIPAL DE PEDRO VICENTE MALDONADO
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO ENCUESTA DIRIGIDA AL PERSONAL DEL DEPARTAMENTO DE OBRAS CIVILES DEL GAD MUNICIPAL DE PEDRO VICENTE MALDONADO
La presente investigación tiene como único objetivo recabar información sobre la aceptación que tendría la implementación de un sistema informático para el control y gestión de presupuestos de Obras Civiles en el Gobierno Autónomo Descentralizado de Pedro Vicente Maldonado. La información recopilada es únicamente para fines académicos y de vital importancia para nuestra investigación, por eso le agradecemos de ante mano. Instrucciones: a. La encuesta consta de 9 preguntas. b. Lea atentamente cada pregunta, revise todas las opciones, y elija la alternativa con la que más se identifique. c. Marque con una [X] la(s) alternativa(s) que considere correcta(s). d. Debe seleccionar solo una alternativa por cada pregunta. Preguntas: 1. ¿Considera usted que es importante automatizar el proceso de control de presupuestos de Obras Civiles? Si
(
)
No
(
)
2. ¿Estaría de acuerdo implementar inmediatamente el sistema de control y gestión de control de presupuestos en obras civiles? Si
(
)
No
(
)
3. ¿Considera usted que la información que maneja es importante para el desarrollo de su trabajo? Muy importante
(
)
Importante
(
)
Poco importante
(
)
Sin importancia
(
)
4. ¿Cómo considera usted la forma que se lleva el control de gestión en los presupuestos de Obras Civiles? Excelente
(
)
Muy bueno
(
)
Bueno
(
)
Regular
(
)
Malo
(
)
5. ¿Considera usted que es importante el intercambio de información de los presupuestos efectuados en las obras civiles con los departamentos? Muy importante
(
)
Importante
(
)
Poco importante
(
)
Sin importancia
(
)
6. ¿Cree usted que el tiempo empleado para realizar el proceso de elaboración de un presupuesto de una obra civil es óptimo? Si
(
)
No
(
)
7. ¿Con qué frecuencia se realiza un proceso de elaboración de presupuesto de una obra civil? 1 a 6 semanas
(
)
7 a 12 semanas
(
)
13 o más semanas
(
)
8. ¿Cree usted que al automatizar el sistema de control y gestión de presupuestos de obras civiles optimizaría el tiempo de respuesta del proceso? Si
(
)
No
(
)
9. ÂżConsidera importante la automatizaciĂłn del sistema para facilitar la supervisiĂłn de los presupuestos efectuados por el departamento de Obras Civiles? Si
(
)
No
(
)
ANEXO 1. SRS (ESPECIFICACIÓN DE REQUERIMIENTOS DE SOFTWARE)
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO Dirección Académica - Escuela de Sistemas
SRS DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL Y GESTIÓN DE PRESUPUESTOS DE OBRAS CIVILES, EN EL GOBIERNO AUTÓNOMO DESCENTRALIZADO DE PEDRO VICENTE MALDONADO, PERIODO 2014-2015.
Trabajo de Titulación previa a la obtención del título de Ingeniero de Sistemas y Computación
Línea de Investigación: Estudio, Diseño e Implementación de Software
Autores:
DAVID MAURICIO ANDRADE PAZMIÑO
Director:
MG. DIEGO RICARDO SALAZAR ARMIJOS
Santo Domingo – Ecuador Febrero, 2016
ÍNDICE DE CONTENIDO ÍNDICE DE CONTENIDO .............................................................................................. ii 1.
INTRODUCCIÓN ................................................................................................... 5
1.1. Definición ................................................................................................................. 5 1.2. Alcance del producto ................................................................................................. 5 1.3. Personas involucradas ................................................................................................ 5 1.4. Definiciones, acrónimos y abreviaturas ...................................................................... 7 1.5. Resumen ejecutivo..................................................................................................... 7 2.
DESCRIPCIÓN GENERAL ...................................................................................... 8
2.1. Perspectiva del producto ............................................................................................ 8 2.2. Funcionalidad del software ........................................................................................ 8 2.2.1. Administración del sistema ........................................................................................ 8 2.2.2. Actividades del Administrador ................................................................................... 8 2.2.3. Actividades del usuario (servidor) .............................................................................. 9 2.3. Características de los usuarios .................................................................................... 9 2.4. Restricciones ............................................................................................................. 9 2.5. Suposiciones y dependencias ................................................................................... 10 3.
REQUISITOS ESPECÍFICOS ................................................................................. 11
3.1. Requerimientos funcionales ..................................................................................... 11 3.2. Requerimientos no funcionales................................................................................. 15 3.3. Requisitos de las interfaces ...................................................................................... 16
3.3.1. Interfaz de los usuarios ............................................................................................ 16 3.3.2. Interfaz de hardware ................................................................................................ 16 3.3.3. Interfaz de software ................................................................................................. 17 3.3.4. Interfaz de comunicación ......................................................................................... 17 3.4. Requerimientos de rendimiento ................................................................................ 17 3.5. Restricciones de diseño ............................................................................................ 18 3.5.1. Estándares a seguir .................................................................................................. 18 3.5.2. Restricciones de hardware........................................................................................ 18 3.5.3. Restricciones de software ......................................................................................... 18 3.6. Atributos ................................................................................................................. 18 3.7. Requisitos funcionales ............................................................................................. 19 3.7.1. Requisito funcional 1 ............................................................................................... 19 3.7.2. Requisito funcional 2 ............................................................................................... 19 3.7.3. Requisito funcional 3 ............................................................................................... 19 3.7.4. Requisito funcional 4 ............................................................................................... 19 3.7.5. Requisito funcional 5 ............................................................................................... 19 3.7.6. Requisito funcional 6 ............................................................................................... 20 3.7.7. Requisito funcional 7 ............................................................................................... 20 3.7.8. Requisito funcional 8 ............................................................................................... 20 3.7.9. Requisito funcional 9 ............................................................................................... 20 3.7.10. Requisito funcional 10 ........................................................................................ 20
3.7.11. Requisito funcional 11 ........................................................................................ 21 3.7.12. Requisito funcional 12 ........................................................................................ 21 3.7.13. Requisito funcional 13 ........................................................................................ 21 3.7.14. Requisito funcional 14 ........................................................................................ 21
5
1. INTRODUCCIÓN 1.1. Definición Para comenzar el desarrollo de un proyecto se debe de hacer una colección de requisitos, de los cuales se va a hacer un análisis y diseño. El SRS influye mucho para el desarrollador con el cual puede resolver los problemas de las reglas de negocio. La Especificación de Requerimientos de Software (SRS) es un estándar realizado por los ingenieros de software permitiendo así el diseño y nivel del sistema. Esto permite al desarrollador obtener las características del software para realizad la interfaz y demás componentes operacionales del software que deben cumplirse para el correcto funcionamiento del sistema.
1.2. Alcance del producto El alcance de este producto es resolver la problemática que se plantea a través del desarrollo de un sistema CPOC, donde la mala gestión y control de los presupuestos de obras civiles que se realizan dentro del departamento de Obras Públicas, que se lo realiza de manera manual, haciendo uso de equipos como archivadores en el departamento de Obras Públicas, esto ocasionaba que muchos de los informes se pierdan, esta información de la tomó en base a la entrevista realizada a los servidores públicos que laboran en dicho departamento.
1.3. Personas involucradas Nombre
Andrade Pazmiño David Mauricio
Rol
Analista, documentador, diseñador, programador
Categoría Profesional
Disertante - PUCESD
6
Responsabilidad
Análisis de requerimientos de software, elaborar manuales de instalación, diseñar interfaces de usuario, programación de CPOC
Información de contacto
Mauri_151991@hotmail.com
Nombre
Salazar Armijos Diego Ricardo
Rol
Consultor externo
Categoría Profesional
Tutor – PUCESD
Responsabilidad
Análisis de CPOC (validaciones constructivas)
Información de contacto
drsalazara@pucesd.edu.ec
7
1.4. Definiciones, acrónimos y abreviaturas NOMBRE
DETALLE
CPOC
Nombre del sistema: “Control de Presupuestos de Obras Civiles”
Usuario
Término usado para definir a la persona que utiliza
Contraseña
Término usado para saber la clave del usuario
Data Base
Término usado para almacenar los datos del sistema
PostgreSQL
Término usado para el sistema gestor de base de datos, permite guardar todos los datos del sistema
Apache Services
Término que permite la conexión entre la base de datos y el sistema.
HTML
Término utilizado para describir el lenguaje para desarrollar aplicaciones web
PHP
Término usado para describir el lenguaje con que se va a programar el sitio web. Su extensión es .php
CSS
Son estilos de hojas que permiten ver los sitios web
SRS
Término usado para la definición Requerimientos de Software”
de
“Especificación
de
1.5. Resumen ejecutivo CPOC está enfocado para las aplicaciones informáticas con el objetivo de resolver el problema de los presupuestos de las obras civiles que se plantea en el documento. El siguiente proyecto realizado por la persona disertante proporciona a la entrega del producto confiabilidad y experiencia del sistema, por medio de los conocimientos adquiridos durante la carrera en la Pontificia Universidad Católica del Ecuador sede Santo Domingo.
8
2. DESCRIPCIÓN GENERAL 2.1. Perspectiva del producto El desarrollo del sistema “CPOC” busca encontrar y facilitar el control y gestión de presupuestos de obras civiles para poder optimizar los recursos como el tiempo. El proyecto es capaz de brindar a los usuarios un correcto control de los presupuestos a través de la interfaz que comunica con el usuario y el sistema.
2.2. Funcionalidad del software 2.2.1. Administración del sistema Parámetros del sistema CPOC
Se encuentra toda la información del departamento de Obras Públicas
2.2.2. Actividades del Administrador Módulo de perfiles del usuario
Registro de perfil del usuario
Cambiar de perfil del usuario
Descartar el perfil del usuario
Módulo de usuarios
Registrar usuario
Editar usuario
Restaurar usuario
Restaurar la clave
Desactivar cuenta de usuario
Informe de usuarios
Módulo de permisos (roles)
Permite los permisos a los usuarios
Cambia los permisos a los usuarios
9
Administración los permisos de los usuarios
2.2.3. Actividades del usuario (servidor) Módulo de presupuesto
Registro de complementos
Administración de complementos
Registro de materiales
Administración de materiales
Registro de rubros
Administración de rubros
Registro de obras
Administración de obras
Visualización de reportes
2.3. Características de los usuarios Tipo de usuario
Administrador
Formación
N/A
Actividades
Administra la información del sistema y los usuarios
Tipo de usuario
Servidor público
Formación
N/A
Actividades
Ejecuta las operaciones debidas respecto a los permisos asignados
2.4. Restricciones Uso de servidor y conexión local Lenguajes de programación: HTML5,NODEJS, JAVASCRIPT, PHP El siguiente sistema tiene un modelo cliente/servidor Tiene una interfaz independiente de los lenguajes de programación
10
2.5. Suposiciones y dependencias Los requisitos están aceptados por ambas partes. Los equipos tecnológicos tendrán que cumplir todos los requisitos para que pueda funcionar correctamente el sistema.
11
3. REQUISITOS ESPECÍFICOS 3.1. Requerimientos funcionales Identificación de requerimiento
RF01
Nombre de requerimiento
Administración del sistema CPOC
Características
El software cuenta con una sección donde se puede ingresar la información consta: Administrar toda los datos del sistema Administrar los informes
Descripción de requerimiento
El software muestra toda la información que se ha ingresado en el sistema.
Requerimiento no funcional
RNF01 RNF03 RNF04
Prioridad del requerimiento
Media
Identificación de requerimiento
RF02
Nombre de requerimiento
Autenticar usuario
Características
Los usuarios deben acceder al sistema por medio de su usuario y clave
Descripción de requerimiento
El software devuelve una interface autenticando al usuario con los permisos asignados
Requerimiento no funcional
RNF01 RNF03
Prioridad del requerimiento
Alta
Identificación de requerimiento
RF03
Nombre de requerimiento
Ingresar usuario
Características
Para acceder al sistema el usuario debe de estar registrado
Descripción de requerimiento
El usuario que este bajo el perfil de administrador permite registrar nuevos usuarios. Cada usuario tendrá como atributos principales el nombre y la cédula, etc. Para acceder por primera vez al sistema el nuevo usuario ingresa con su número de cédula.
Requerimiento no funcional
RNF01 RNF04
Prioridad del requerimiento
Media
12
Identificación de requerimiento
RF04
Nombre de requerimiento
Administrar usuarios
Características
Permite la actualización de los datos de los usuarios registrados.
Descripción de requerimiento
El software permite usuario (administrador) administrar la información de los usuarios, este proceso ocurre cuando el usuario quiera restablecer.
Requerimiento no funcional
RNF01 RNF04
Prioridad del requerimiento
Medio
Identificación de requerimiento
RF05
Nombre de requerimiento
Reporte de usuarios
Características
Permite crear un informe de todos los usuarios registrados (administrador, servidor público, etc)
Descripción de requerimiento
El usuario administrador puede realizar un general de los usuarios
Requerimiento no funcional
RNF01 RNF04
Prioridad del requerimiento
Medio
Identificación de requerimiento
RF06
Nombre de requerimiento
Registro de complementos
Características
El servidor público podrá registrar un nuevo complemento
Descripción de requerimiento
El servidor público ingresa un complemento, previamente se hacen las respectivas validaciones. Si aprueba las validaciones entonces se procede a guardar el registro.
Requerimiento no funcional
-RNF01 -RNF03 -RNF04
Prioridad del requerimiento
Alto
13
Identificación de requerimiento
RF07
Nombre de requerimiento
Administración de complementos
Características
El servidor público podrá administrar información de un complemento
Descripción de requerimiento
La administración de complementos realizará el cambio o actualización de datos de un complemento.
Requerimiento no funcional
-RNF01 -RNF03 -RNF04
Prioridad del requerimiento
Media
Identificación de requerimiento
RF08
Nombre de requerimiento
Registro de materiales
Características
El servidor público podrá registrar un nuevo material
Descripción de requerimiento
El servidor público ingresa un material, previamente se hacen las respectivas validaciones. Si aprueba las validaciones entonces se procede a guardar el registro.
Requerimiento no funcional
-RNF01 -RNF03 -RNF04
Prioridad del requerimiento
Alto
Identificación de requerimiento
RF09
Nombre de requerimiento
Administración de materiales
Características
El servidor público podrá administrar información de los materiales
Descripción de requerimiento
La administración de materiales realizará el cambio o actualización de datos respectivos a la misma.
Requerimiento no funcional
-RNF01 -RNF03 -RNF04
Prioridad del requerimiento
Media
14
Identificación de requerimiento
RF10
Nombre de requerimiento
Registro de rubros
Características
El servidor público podrá registrar un nuevo rubro
Descripción de requerimiento
El servidor público ingresa un rubro, previamente se hacen las respectivas validaciones. Si aprueba las validaciones entonces se procede a guardar el registro.
Requerimiento no funcional
-RNF01 -RNF03 -RNF04
Prioridad del requerimiento
Alto
Identificación de requerimiento
RF11
Nombre de requerimiento
Administración de rubros
Características
El servidor público podrá administrar información de un rubro
Descripción de requerimiento
La administración de rubros realizará el cambio o actualización de datos respectivos a la misma.
Requerimiento no funcional
-RNF01 -RNF03 -RNF04
Prioridad del requerimiento
Media
Identificación de requerimiento
RF12
Nombre de requerimiento
Registro de obras
Características
El servidor público podrá registrar una nueva obra
Descripción de requerimiento
El servidor público ingresa una obra, previamente se hacen las respectivas validaciones. Si aprueba las validaciones entonces se procede a guardar el registro.
Requerimiento no funcional
-RNF01 -RNF03 -RNF04
Prioridad del requerimiento
Alto
15
Identificación de requerimiento
RF13
Nombre de requerimiento
Administración de obras
Características
El servidor público podrá administrar información de una obra
Descripción de requerimiento
La administración de obras realizará el cambio o actualización de datos respectivos a la misma.
Requerimiento no funcional
-RNF01 -RNF03 -RNF04
Prioridad del requerimiento
Media
Identificación de requerimiento
RF11
Nombre de requerimiento
Visualización de reportes
Características
Generar un informe de: complementos, materiales, rubros, obras registradas en el sistema
Descripción de requerimiento
El servidor público ingresa al módulo de presupuesto y procede a generar el tipo de informe que desee.
Requerimiento no funcional
-RNF01 -RNF04
Prioridad del requerimiento
Media
3.2. Requerimientos no funcionales Identificación de requerimiento
RNF01
Nombre de requerimiento
Interfaz del software
Características
El software ofrece al usuario una interfaz dinámica y de gran accesibilidad.
Descripción de requerimiento
El sistema debe tener una sencilla pero agradable al usuario
Prioridad del requerimiento
Alta
Identificación de requerimiento
RNF02
Nombre de requerimiento
Mantenimiento
Características
El usuario tiene un manual de instalación y de usuarios.
Descripción de requerimiento
El software consta con los documentos necesarios
Prioridad del requerimiento
Media
16
Identificación de requerimiento
RNF03
Nombre de requerimiento
Diseñar la interfaz
Características
Para diseñar cada interfaz debe de tener solo el contenido de acuerdo a los permisos otorgados.
Descripción de requerimiento
Cada interfaz mantiene el mismo diseño general del sistema.
Prioridad del requerimiento
Media
Identificación de requerimiento
RNF04
Nombre de requerimiento
Permiso del usuario
Características
Puede tener acceso al sistema de acuerdo al perfil que desempeña
Descripción de requerimiento
El usuario puede tener acceso al sistema de acuerdo a sus permisos
Prioridad del requerimiento
Media
3.3. Requisitos de las interfaces 3.3.1. Interfaz de los usuarios Son las ventanas que contienen los formularios para poder acceder al sistema, estas contienen varias listas y cuadros emergentes que se diseñan para el sistema. 3.3.2. Interfaz de hardware De acuerdo a las especificaciones del sistema, se debe de tener en cuenta varios requerimientos de hardware para que tenga un correcto funcionamiento. Los equipos deben de tener lo siguiente: Dispositivos de red inalámbricos o alámbricos donde se pueda tener acceso a la red y al sistema CPOC. El equipo de cómputo debe de poseer un procesador mínimo de 1.66 GHz o superior, debido a que si se utiliza un equipo de menos recursos puede afectar a la funcionalidad del sistema.
17
El equipo de cómputo debe de poseer una memoria ram de 512mb, tomando en cuenta que el consumo de memoria de un navegador no rebasa los 20 megabytes. Debe de poseer un monitor, teclado y mouse. 3.3.3. Interfaz de software Deberá de poseer un equipo de cómputo que tenga instalado un sistema operativo puede ser un Linux, Windows o Mac. El sistema web funciona con un navegador de su elección, puede ser Chrome, Mozilla o Safari. En los equipos de cómputo deberá de tener preinstalado algún software que permita poder visualizar los archivos con la extensión .pdf 3.3.4. Interfaz de comunicación Siguiendo el modelo cliente-servidor que está basado a través de protocolos de comunicación, debe de existir una red habilitada: Redes Local Area Network (LAN) Conexiones de red con tipo de cable cruzado. Internet
3.4. Requerimientos de rendimiento El sistema CPOC tiene una velocidad de respuesta con un tiempo promedio de 4 segundos, tomando en cuenta la capacidad normal de los recursos que permitan el correcto funcionamiento de la base de datos y en tipo de red que se encuentre
18
3.5. Restricciones de diseño 3.5.1. Estándares a seguir En el diseño del sistema se basa en un estándar debe seguir Para el diseño se basa principalmente en los formatos: Estándar del IEEE 830. Análisis Estructurado Moderno de Edward Yourdon. Modelo Entidad/Relación diseñado para la base de datos Diseño fácil y sencillo utilizando la metodología XP 3.5.2. Restricciones de hardware El desarrollo de este sistema tiene como característica de no consumir demasiados recursos de hardware, sin embargo hay que considerar que para la funcionalidad del sistema cuenta instalado un servidor HTTP, este servidor permite simular de manera sencilla la aplicación, el servidor que se va a utilizar es el Apache que se menciona en dicho documento. 3.5.3. Restricciones de software Las restricciones del software no se notan mucho porque se utiliza un servidor estable que permite realizar las conexiones al sistema simultáneamente accediendo a la base de datos.
3.6. Atributos Disponibilidad: El sistema desarrollado debe ser accesible en cualquier ordenador Seguridad: Los términos de seguridad a través de validaciones en base de datos con sus respectivos permisos. Mantenibilidad: CPOC tiene el mantenimiento que se encuentra presente en base a los términos suscritos en el contrato.
19
3.7. Requisitos funcionales 3.7.1. Requisito funcional 1 Administrar el sistema: El software posee una sección donde se puede visualizar la información agregada.
El software devuelve al usuario una interfaz donde muestre la información del sistema en general.
3.7.2. Requisito funcional 2 Autenticar el usuario: El software tiene una sección donde podrá acceder y administrar la información del usuario.
El software devuelve al usuario una interfaz donde muestre la información del usuario, informes, etc.
3.7.3. Requisito funcional 3 Registrar usuario: Para acceder al sistema los usuarios deben de estar registrados
El software permite al usuario administrador para poder registrar su perfil y datos personales.
3.7.4. Requisito funcional 4 Administrar usuarios: Permite al administrador poder habilitar/deshabilitar un usuario así como actualizar sus datos
El software permite al usuario administrador modificar los datos de los usuarios como la contraseña y el restablecimiento de los usuarios.
3.7.5. Requisito funcional 5 Reporte de usuario: Permite generar un reporte de todos los usuarios que hacen uso del sistema.
El software gestiona un reporte de los usuarios que únicamente lo podrá emitir el usuario administrador.
20
3.7.6. Requisito funcional 6 Registro de complementos: El servidor público podrá registrar un nuevo complemento
El servidor público ingresa un
complemento, previamente se hacen las
respectivas validaciones, si aprueba las validaciones entonces se procede a guardar el registro. 3.7.7. Requisito funcional 7 Administración de complementos: El servidor público podrá administrar información de un complemento
La administración de complementos realizará el cambio o actualización de datos respectivos a la misma.
3.7.8. Requisito funcional 8 Registro de materiales: El servidor público podrá registrar un nuevo material El servidor público ingresa un material, previamente se hacen las respectivas validaciones, si aprueba las validaciones entonces se procede a guardar el registro. 3.7.9. Requisito funcional 9 Administración de materiales: El servidor público podrá administrar información de un material
La administración de materiales realizará el cambio o actualización de datos respectivos a la misma.
3.7.10. Requisito funcional 10 Registro de rubros: El servidor público podrá registrar un nuevo rubro El servidor público ingresa un rubro, previamente se hacen las respectivas validaciones, si aprueba las validaciones entonces se procede a guardar el
21
registro. 3.7.11. Requisito funcional 11 Administración de rubros: El servidor público podrá administrar información de un rubro.
La administración de rubros realizará el cambio o actualización de datos respectivos a la misma.
3.7.12. Requisito funcional 12 Registro de obras: El servidor público podrá registrar una nueva obra El servidor público ingresa una nueva obra, previamente se hacen las respectivas validaciones, si aprueba las validaciones entonces se procede a guardar el registro. 3.7.13. Requisito funcional 13 Administración de obras: El servidor público podrá administrar información de una obra. La administración de obras realizará el cambio o actualización de datos respectivos a la misma. 3.7.14. Requisito funcional 14 Visualizar reportes: Permite obtener un informe de cada módulo que el usuario gestione. El software permite al usuario con el rol de administrador gestionar un reporte de cada módulo del sistema.
ANEXO 2. CRONOGRAMA DE ACTIVIDADES – DIAGRAMA DE GANTT
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO Dirección Académica - Escuela de Sistemas
CRONOGRAMA DE ACTIVIDADES DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL Y GESTIÓN DE PRESUPUESTOS DE OBRAS CIVILES, EN EL GOBIERNO AUTÓNOMO DESCENTRALIZADO DE PEDRO VICENTE MALDONADO, PERIODO 2014-2015. Trabajo de Titulación previa a la obtención del título de Ingeniero de Sistemas y Computación
Línea de Investigación: Estudio, Diseño e Implementación de Software
Autores:
DAVID MAURICIO ANDRADE PAZMIÑO
Director:
MG. DIEGO RICARDO SALAZAR ARMIJOS
Santo Domingo – Ecuador Febrero, 2016
4. CRONOGRAMA DE ACTIVIDADES
ANEXO 3. DICCIONARIO DE DATOS
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO Dirección Académica - Escuela de Sistemas
DICCIONARIO DE DATOS DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL Y GESTIÓN DE PRESUPUESTOS DE OBRAS CIVILES, EN EL GOBIERNO AUTÓNOMO DESCENTRALIZADO DE PEDRO VICENTE MALDONADO, PERIODO 2014-2015.
Trabajo de Titulación previa a la obtención del título de Ingeniero de Sistemas y Computación
Línea de Investigación: Estudio, Diseño e Implementación de Software
Autores:
DAVID MAURICIO ANDRADE PAZMIÑO
Director:
MG. DIEGO RICARDO SALAZAR ARMIJOS
Santo Domingo – Ecuador Febrero, 2016
2
DICCIONARIO DE DATOS El diccionario de datos del sistema informático “CPOC” toma en cuenta la manera en las que las tablas de la base de datos, proporcionando al usuario un reporte de cómo funciona el gestor de la base de datos y su correcto funcionamiento. tb_actividad En la tabla tb_actividad es aquella donde se efectúan todas las actividades del sistema, teniendo como llave primaria actividad_id Tipo de dato
No Nulo
actividad_id
integer
Yes
Yes
equipo
text timestam p without time zone text text text text text
No
No
No
No
statement_timestamp()
No No No No No
No No No No No
current_query()
text
No
No
text text text text text text
No No No No No No
No No No No No No
integer
No
No
Nombre
fecha descripcion tabla evento ipaddress countrycode countrynam e regionname cityname zipcode latitude longitude timezone fk_usuario_i d
Llave primaria
Por defecto nextval('tb_actividad_actividad_id_seq'::re gclass)
inet_client_addr()
3
tb_add_equipo En la tabla tb_add_equipo se establece todos los atributos para poder añadir un equipo, teniendo como llave primaria add_equipo_id
y como las llaves foráneas fk_rubro_id,
fk_equipo_id y fk_usuario_id. Tipo de dato
No Nulo
add_equipo_id
integer
Yes
Yes
fk_rubro_id fk_equipo_id add_equipo_tarifa add_equipo_cantida d add_equipo_hora add_equipo_rendim iento add_equipo_costo fk_usuario_id rec_event
integer integer numeric
Yes Yes No
No No No
numeric
No
No
numeric
No
No
numeric
No
No
numeric integer text
Yes Yes No
No No No
Nombre
Llave primaria
Por defecto nextval('tb_add_equipo_add_equip o_id_seq'::regclass)
tb_add_manodeobra En la tabla tb_add_manodeobra se establece todos los atributos para poder añadir una mano de obra, teniendo como llave primaria add_manodeobra_id y como las llaves foráneas fk_rubro_id, fk_manodeobra_id y fk_usuario_id.
Nombre
Tipo de dato
No Nulo
Llave primaria
add_manodeobra_id
integer
Yes
Yes
fk_rubro_id fk_manodeobra_id add_manodeobra_ca ntidad add_manodeobra_jo rnalhora add_manodeobra_co stohora
integer integer
Yes Yes
No No
numeric No
No
numeric No
No
numeric No
No
Por defecto nextval('tb_add_manodeobra_add_ manodeobra_id_seq'::regclass)
4
add_manodeobra_re ndimiento add_manodeobra_co sto fk_usuario_id rec_event
numeric No
No
numeric Yes
No
integer text
No No
Yes No
tb_add_material En la tabla tb_add_material se establece todos los atributos para poder añadir un material, teniendo como llave primaria add_material_id y como las llaves foráneas fk_rubro_id, fk_material_id y fk_usuario_id. Tipo de dato
No nulo
add_material_id
integer
Yes
Yes
fk_rubro_id fk_material_id add_material_cantida d add_material_precio unitario add_material_costo fk_usuario_id rec_event
integer integer
Yes Yes
No No
numeric
No
No
numeric
No
No
numeric integer text
Yes Yes No
No No No
Nombre
Llave primaria
Por defecto nextval('tb_add_material_add_mat erial_id_seq'::regclass)
tb_categoria En la tabla tb_categoria se establece todos los atributos para poder añadir una categoría a la mano de obra, teniendo como llave primaria categoría_id fk_usuario_id.
y como las llave foránea
5
Nombre categoria_id categoria_nomb re categoria_dia categoria_hora fk_usuario_id rec_event
Tipo de dato
No nulo
Llave primaria
integer
Yes
Yes
text
Yes
No
numeric numeric integer text
No No Yes No
No No No No
Default nextval('tb_categoria_categoria_id_seq':: regclass)
tb_manodeobra En la tabla tb_manodeobra se establece todos los atributos que tiene la mano de obra, teniendo como llave primaria manodebra_id y como las llaves foráneas fk_categoria_id y fk_usuario_id.
Nombre manodeobra_id manodeobra_cod igo manodeobra_no mbre fk_categoria_id fk_usuario_id rec_event
Tipo de dato
No nulo
Llave primaria
integer
Yes
Yes
text
Yes
No
text
Yes
No
integer integer text
Yes Yes No
No No No
Por defecto nextval('tb_manodeobra_manodeobra_id _seq'::regclass)
tb_maquinaria En la tabla tb_maquinaria se establece todos los atributos que tiene una maquinaria, teniendo como llave primaria maquinaria_id fk_usuario_id.
y como llaves foráneas fk_unidad_id y
6
Tipo de dato
Nombre maquinaria_id maquinaria_codi go maquinaria_nom bre maquinaria_prec io fk_unidad_id fk_usuario_id rec_event
No nulo
Llave primaria
integer Yes
Yes
text
Yes
No
text
Yes
No
No
No
Yes Yes No
No No No
numer ic integer integer text
Por defecto nextval('tb_maquinaria_maquinaria_id_s eq'::regclass)
tb_material En la tabla tb_material se establece todos los atributos que tiene un material, teniendo como llave primaria material_id y como llaves foráneas fk_unidad_id y fk_usuario_id.
Nombre material_id material_codigo material_nombre material_precio fk_unidad_id fk_usuario_id rec_event
Tipo de dato integer text text numeric integer integer text
No nulo Yes Yes Yes No Yes Yes No
Llave primaria Yes No No No No No No
Por defecto nextval('tb_material_material_id_seq'::regclass)
tb_obra En la tabla tb_obra se establece todos los atributos que tiene una obra, teniendo como llave primaria obra_id y como llave foránea fk_usuario_id.
Nombre
Tipo de dato
No nulo
Llave primaria
obra_id obra_institucion obra_proyecto obra_elaborado obra_ubicacion obra_fecha obra_total fk_usuario_id
integer text text text text date numeric integer
Yes No Yes No No No No Yes
Yes No No No No No No No
rec_event
text
No
No
Por defecto nextval('tb_obra_obra_id_seq'::regclass)
('now'::text)::date
7
tb_obra_rubro En la tabla tb_obra_rubro se establece todos los atributos que tiene una obra relacionada con el rubro existente, teniendo como llave primaria obra_rubro_id y como llaves foráneas fk_obra_id, fk_rubro_id y fk_usuario_id. Tipo de dato
No nulo
Llave primaria
obra_rubro_id
integer
Yes
Yes
fk_obra_id fk_rubro_id obra_rubro_costo obra_rubro_cantid ad obra_rubro_costo_ total fk_usuario_id rec_event
integer integer numeric
Yes Yes No
No No No
numeric
No
No
numeric
No
No
integer text
Yes No
No No
Nombre
Por defecto nextval('tb_obra_rubro_obra_rubro_id _seq'::regclass)
tb_perfil En la tabla tb_perfil se establece todos los atributos que tiene el perfil de una persona, teniendo como llave primaria perfil_id y como llave foránea fk_usuario_responsable. Tipo de dato
No nulo
perfil_id
integer
Yes
Yes
perfil_nombre perfil_descripcion fk_usuario_responsab le
text text
Yes No
No No
integer
No
No
Nombre
Llave primaria
Por defecto nextval('tb_perfil_perfil_id_seq'::re gclass)
8
tb_permiso En la tabla tb_permiso se establece todos los atributos que tiene un usuario, en este caso son los permisos que se existen en para los usuarios, teniendo como llave primaria permiso_id Tipo de dato
No nulo
permiso_id
integer
Yes
Yes
permiso_nombre permiso_descripci on
text
Yes
No
text
No
No
Nombre
Llave primaria
Por defecto nextval('tb_permiso_permiso_id_seq'::r egclass)
tb_persona En la tabla tb_persona se establece todos los atributos que tiene una persona, se identifica a la persona que labora en el Departamento de Obras Públicas, teniendo como llave primaria permiso_id y como llave foránea fk_usuario_responsable
Nombre persona_id persona_doc_identi dad persona_tipo_doc persona_foto persona_apellidos persona_nombres persona_sexo persona_direccion persona_telefono persona_correo
persona_fingreso
fk_usuario_respons able
Tipo de dato
No nulo
Llave primaria
integer
Yes
Yes
text
Yes
No
text text text text text text text text timesta mp without time zone
Yes No Yes Yes No No No No
No No No No No No No No
No
No
integer
No
No
Por defecto nextval('tb_persona_persona_id_seq' ::regclass)
'default.png'::text
statement_timestamp()
9
tb_rubro En la tabla tb_rubro se establece todos los atributos que tiene un rubro, teniendo como llave primaria rubro_id y como llave foránea fk_unidad_id, fk_usuario_id Tipo de No dato nulo
Nombre
Llave primaria
rubro_id
integer
Yes
Yes
rubro_codigo rubro_nombre rubro_subtotalequip o rubro_subtotalmano deobra rubro_subtotalmateri al rubro_costodirecto rubro_indirectos rubro_otrsoindirecto s rubro_costototal rubro_valorofertado fk_unidad_id fk_usuario_id rec_event
text text
Yes Yes
No No
Por defecto nextval('tb_rubro_rubro_i d_seq'::regclass)
numeric No
No
0
numeric No
No
0
numeric No
No
0
numeric No numeric No
No No
0 0
numeric No
No
0
numeric numeric integer integer text
No No No No No
0 0
No No Yes Yes No
tb_unidad En la tabla tb_unidad se establece todos los atributos que tiene una unidad, esta tabla se usa para todas las unidades que requieren los materiales, rubros, equipo, obras, teniendo como llave primaria unidad_id y como llave foránea fk_usuario_id
Nombre unidad_id unidad_nom bre unidad_short fk_usuario_i d rec_event
Tipo de dato
No nulo
Llave primaria
integer
Yes
Yes
text
Yes
No
text
No
No
integer
No
No
text
No
No
Por defecto nextval('tb_unidad_unidad_id_s eq'::regclass)
10
tb_setting En la tabla tb_setting se establece todos los atributos que tiene parametrizado el sistema. En esta tabla también se realizan la recuperación de la contraseña a través de un correo electrónico, teniendo como llave primaria setting_id
Tipo de dato
No nulo
setting_id
integer
Yes
Yes
setting_nombre setting_alcalde setting_departamento setting_director setting_descripcion setting_header setting_img setting_ciudad setting_direccion setting_telefono setting_celular
text text text text text text text text text text text
No No No No No No No No No No No
No No No No No No No No No No No
setting_correo_contact text o
No
No
setting_sitioweb setting_ip setting_correo_host setting_correo_puerto
text text text text
No No No No
No No No No
setting_correo_usuari o
text
No
No
setting_correo_mail setting_correo_pass
text text
No No
No No
setting_correo_seguri dad
text
No
No
setting_siglas
text
No
No
Nombre
Llave primaria
Por defecto nextval('tb_setting_setting_id_seq': :regclass)
11
tb_usuario En la tabla tb_usuario se establece todos los atributos que tiene un servidor público, por lo tanto se tiene en cuenta como llave primaria usuario_id y como llaves foráneas fk_persona_id, fk_perfil_id, fk_usuario_responsable
Nombre
Tipo de No dato nulo
Llave primaria
Por defecto
usuario_id
integer
Yes
Yes
nextval('tb_usuario_usuario_id_seq': :regclass)
usuario_login usuario_pass usuario_estado fk_persona_id fk_perfil_id fk_usuario_responsa ble
text text boolean integer integer
Yes Yes No Yes Yes
No No No No No
true
integer
No
No
tb_usuario_permiso En la tabla tb_usuario_permiso se establece todos los atributos que tiene un servidor público relacionando con los permisos de operación, por lo tanto se tiene en cuenta las llaves foráneas fk_usuario_id, fk_permiso_id, fk_usuario_responsable
fk_usuario_id
Tipo de dato integer
No nulo Yes
No
fk_permiso_id
integer
Yes
No
No
No
Nombre
fk_usuario_responsable integer
Llave primaria
Por defecto
ANEXO 5. SCRIPT DE LA BASE DE DATOS
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO Dirección Académica - Escuela de Sistemas
SCRIPT DE LA BASE DE DATOS DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL Y GESTIÓN DE PRESUPUESTOS DE OBRAS CIVILES, EN EL GOBIERNO AUTÓNOMO DESCENTRALIZADO DE PEDRO VICENTE MALDONADO, PERIODO 2014-2015.
Trabajo de Titulación previa a la obtención del título de Ingeniero de Sistemas y Computación
Línea de Investigación: Estudio, Diseño e Implementación de Software
Autores:
DAVID MAURICIO ANDRADE PAZMIÑO
Director:
MG. DIEGO RICARDO SALAZAR ARMIJOS
Santo Domingo – Ecuador Febrero, 2016
ii
ร NDICE DE CONTENIDOS 1.
SCRIPT DE LA BASE DE DATOS........................................................................3
1.1. Introducciรณn ...........................................................................................................3 1.2. Creaciรณn de la base de datos ...................................................................................3 1.2.1. Objetivo .................................................................................................................3 1.2.2. Desarrollo ..............................................................................................................3 1.3. Creaciรณn de tablas ..................................................................................................4 1.3.1. Objetivo .................................................................................................................4 1.3.2. Parametrizaciรณn del sistema ....................................................................................4 1.3.3. Registro de personas ...............................................................................................5 1.3.4. Registro de usuarios ...............................................................................................6 1.3.5. Registro de materiales.............................................................................................7 1.3.6. Registro de rubros ................................................................................................ 10 1.3.7. Registro de obras .................................................................................................. 11
3
1. SCRIPT DE LA BASE DE DATOS 1.1. Introducción La metodología de desarrollo XP (Programación Extrema) en su segunda fase establece el diseño para el sistema de desarrollo tanto a nivel de front-end (presentación, interfaz de usuario) como back-end (nivel de programación, reglas del negocio), por lo que un requerimiento para superar esta etapa es la creación de un diagrama de las entidades del sistema, esto a nivel de base de datos significa obtener un diagrama lógico y conceptual de la base de datos con la que el sistema sea funcional en base a los requerimientos recolectados en las historias de usuario. Una vez obtenida la diagramación de datos se procede a generar el script de la misma con su respectiva información y funcionalidad.
1.2. Creación de la base de datos 1.2.1. Objetivo Crear una unidad de almacén digital donde el sistema (CPOC, Control de Presupuestos de Obras Civiles) pueda alojar toda su información y hacer uso de la misma en el momento en que sea requerido. 1.2.2. Desarrollo El presente script se encarga de la creación de un rol (usuario administrador de base de datos) para manejar los registros del sistema; un tablespace de espacio lógico para redireccionar la información de la base de datos que administre el sistema, y finalmente la base de datos para proceder a la inclusión de las tablas de registro.
4
1.3. Creación de tablas 1.3.1. Objetivo Proporcionar un almacén digital capaz de ser relacionado entre los diferentes registros que conforman un sistema. En este apartado se presenta la creación de cada una de las tablas con las que CPOC (Control de Presupuestos Obras Civiles) es un sistema informático totalmente funcional. 1.3.2. Parametrización del sistema 1.3.2.1. Funcionalidad CPOC cuenta con un módulo exclusivo para realizar la parametrización del sistema, por lo que es necesario la creación de las tablas para almacenar la información. La configuración del sistema cuenta 4 componentes que se detallan en el desarrollo a continuación.
5
1.3.2.2. Desarrollo
1.3.3. Registro de personas 1.3.3.1. Funcionalidad La tabla “Persona” es una de las tablas principales de funcionamiento del sistema debido a la relación de sus registros se hereda o múltiples tablas donde se crean un nuevo dato a partir de persona. Ej. Para que exista un usuario, necesariamente de existir la persona que va a ser asignado dicho usuario.
6
1.3.3.2. Desarrollo
1.3.4. Registro de usuarios 1.3.4.1. Funcionalidad Para administrar la informaciรณn del sistema y gestionar registros es necesario que existan usuarios que puedan acceder a CPOC, dichos usuarios navegaran por el sistema de acuerdo al objetivo por el cual han sido ingresados al sistema, y en funciรณn de los roles que el sistema le proporciona (acceso a tareas del sistema).
7
1.3.4.2. Desarrollo
1.3.5. Registro de materiales 1.3.5.1. Funcionalidad CPOC desencadena una secuencia de tareas, una de ellas es que del registro material depende gran actividad y funciรณn del sistema, por lo que una tarea del usuario parte de los materiales registrados, por ejemplo, para utilizar un material en el sistema como punto primordial debe relacionarse con la unidad de medida al que pertenece.
8
1.3.5.2. Desarrollo
9
10
1.3.6. Registro de rubros 1.3.6.1. Funcionalidad La creaciรณn de rubros se realiza mediante la utilizaciรณn de 3 tablas importantes detalladas a continuaciรณn. 1.3.6.2. Desarrollo
11
1.3.7. Registro de obras 1.3.7.1. Funcionalidad La creaciรณn de obras se realiza mediante la utilizaciรณn de las siguientes tablas importantes detalladas a continuaciรณn. 1.3.7.2. Desarrollo
ANEXO 6. MANUAL DE INSTALACIÓN
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO Dirección Académica - Escuela de Sistemas
MANUAL DE INSTALACIÓN DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL Y GESTIÓN DE PRESUPUESTOS DE OBRAS CIVILES, EN EL GOBIERNO AUTÓNOMO DESCENTRALIZADO DE PEDRO VICENTE MALDONADO, PERIODO 2014-2015.
Trabajo de Titulación previa a la obtención del título de Ingeniero de Sistemas y Computación
Línea de Investigación: Estudio, Diseño e Implementación de Software
Autores:
DAVID MAURICIO ANDRADE PAZMIÑO
Director:
MG. DIEGO RICARDO SALAZAR ARMIJOS
Santo Domingo – Ecuador Febrero, 2016
ii
ÍNDICE DE CONTENIDOS 1.
INTRODUCCIÓN..................................................................................................3
2.
INSTALACIÓN DE POSTGRESQL v9.3 ...............................................................4
2.1. Pasos para la instalación de PostgreSQL..................................................................4 3.
CONFIGURACIÓN DE LA BASE DE DATOS ................................................... 12
3.1. Pasos para cargar la base de datos ......................................................................... 12
3
1. INTRODUCCIÓN El siguiente manual de instalación está desarrollado con el fin de tener una guía al personal que esté a cargo del sistema, en éste se da a conocer la debida funcionalidad del software de control y gestión de obras civiles el mismo que fue desarrollado en el Gobierno Autónomo Descentralizado de Pedro Vicente Maldonado. Este documento está desarrollado al personal técnico del departamento de sistemas, los mismo que tienen claros conocimientos de los términos que van a tratarse a continuación, de la misma manera se considera el desenvolvimiento del sistema en que operan los servidores, como es el caso de Windows Server, donde se podrá funcionar de manera correcta sin tener ningún tipo de inconvenientes. de tiene como propósito fundamental servir de guía al personal a cargo del sistema, se da a conocer el correcto funcionamiento a partir de la instalación del sistema de control y gestión de presupuestos de obras civiles en el Gobierno Autónomo de Pedro Vicente Maldonado partiendo desde una correcta instalación para tener un sistema de calidad.
4
2.
INSTALACIÓN DE POSTGRESQL v9.3
PostgreSQL es un sistema gestor de base de datos en el cual está alojado el sistema CPOC, por lo que es necesario tener una instalación del mismo permitiendo de esta manera en desempeño correcto. Dado este preámbulo se detalla los pasos para poder instalar este software.
2.1. Pasos para la instalación de PostgreSQL 1. Tomar el CD el instalador que está en el manual de usuario, de la misma manera se tiene que comprobar que el software sea el archivo de la página oficial de PostgreSQL: www.postgresql.org/download/windows
5
2. Ya efectuada la descarga de la página oficial, realizar la instalación. a. En el servidor alojado debe de contener un archivo similar al de la figura
b. Dar
clic
derecho
y
ejecutar
el
archivo
como
Administrador.
c. En primer instancia aparecerá una pantalla donde brinda la bienvenida para proceder a instalar. i. En el cuadro de diálogo presenta un bLa pantalla de bienvenida presenta un botón denominado “Siguiente”, a este le damos clic izquierdo que dará inicio a la instalación.
6
ii. Si en el servidor ya cuenta con una versión de PostrgreSQL se despliega el mensaje que se puede observar en la siguiente imagen.
d. A continuación se encuentra una pantalla donde se notifica que el sistema está preparado para la instalación, para ello debemos de dar clic en el botón “SIGUIENTE”.
7
e. Inmediatamente el asistente comienza a instalarse los archivos del sistema gestor de base de datos, donde se podrĂĄ guardar toda la informaciĂłn del sistema CPOC.
f. Una vez instalado los archivos se presenta una interfaz notificando el ĂŠxito correcto de la instalaciĂłn del sistema.
8
g. Seguido de dar clic en el botón FINALIZAR, se presentará una venta donde se anuncia el asistente de PostgreSQL.
h. En esta instancia del momento de instalación, nos permite configurar el puert por donde se va a dar acceso al SGDB con el sistema CPOC. De igual manera se podrá configurar los parámetros de acceso al sistema como el usuario principal en este caso será root, al igual que su contraseña i.
Como lo antes mencionado de la elección del puerto de conexión se despliega la siguiente imagen. En muchos de los casos se debe de configurar el puerto 5432 por lo general.
9
j. Escogido el puerto se debe de dar clic en el botón denominado “NEXT”
k. Ya realizado este procedimiento se debe de proporcionar donde se tienen que instalar los complementos necesarios para que se pueda trabajar frente a los diferentes lenguajes de programación.
l.
Existen casos donde el departamento no trabaje con el servidor Windows Server, es necesario instalar un complemento de servicio web Apache la cual se muestra en la figura del inciso anterior. En ese caso de selecciona la opción “Web Development” en la opción “Apache/PHP v2.4” y procedemos a dar un clic en el botón denominado NEXT.
10
Observación: si el servidor se encuentre trabajando con Windows Server, el paso anterior es omitido. En este caso se trabajará con una extensión de Windows llamado ISS que permite acceder a los registros de un dominio. m. Continuando con el caso de excepción “APACHE” ya seleccionado el complemento, dar clic en el botón denominado “NEXT”.
En la opción de seleccionar, se debe de escoger el lugar donde se desee almacenar todos los archivos de configuración, enseguida dar clic en el botón denominado “NEXT”.
11
n. Enseguida se aparecerá el puerto asignado al servicio web y el nombre del dominio efectuado. El puerto de conexión que por default se utiliza es el “8080”, pero también se puede configurar el puerto que desee. En el caso del nombre de dominio para el servidor es este caso “localhost”, ya que se accede en el equipo. o. Dando como punto final el resultado la aparición de un archivo en el menú INICIO del equipo. La figura es como se muestra a continuación.
12
3. CONFIGURACIÓN DE LA BASE DE DATOS Si se desea conectar la base de datos, existe una carpeta de instalación con una base de datos llamada “cpoc.backup”, para ello debemos seguir los pasos.
3.1. Pasos para cargar la base de datos 1. En el menú inicio, buscar el “pgAdmin III”, el cual se instaló en el paso anterior de este manual.
13
2. Procedemos a ingresar a la base de datos a través del usuario que se configuro por default con el nombre de usuario:root y la contraseña root a. Para efectuar, tenemos que hacer uso del pgAdmin y en la carpeta se encuentra un archivo denominado “database.sql”, el mismo que permite crear la base de datos y los componentes. Estos componentes son: i. Usuario que puede acceder a base de datos: “role_cpoc_admin” ii. TableSpace que permite el almacenamiento de la base de datos: “tablespace_cpoc” iii. La Base de datos con el nombre de : “db_cpoc”
14
3. Si se desea recuperar la base de datos se debe de seguir los siguientes pasos. a. Escoger la base de datos que se ha creado, en esta sección se encuentra en el paso 2 b. Escogemos la db y damos clic derecho en la opción “Restore”. c. Aparecerá un cuadro de diálogo para poder escoger el archivo del backup, en este caso es llamado “cpoc.backup” d. Escoger el usuario asignado para la base de datos que se demostró en el parte superior de esta sección. e. Procedemos a dar un clic en la opción “RESTORE” y después nos aparecerá un mensaje del correcto restauración.
15
16
4. Para finalizar, en la base de datos se debe de crear el primer usuario con sus respectivos datos, el cual pueda dar funcionamiento al sistema. a. En primer lugar se debe de abrir el pgAdmin. b. Se debe de escoger el archivo denominado “datos.sqlâ€?, que permitirĂĄ ingresar al primer usuario en el sistema.
17
ANEXO 7. MANUAL DE USUARIO
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO Dirección Académica - Escuela de Sistemas
MANUAL DE USUARIO DESARROLLO DE UN SISTEMA INFORMÁTICO PARA EL CONTROL Y GESTIÓN DE PRESUPUESTOS DE OBRAS CIVILES, EN EL GOBIERNO AUTÓNOMO DESCENTRALIZADO DE PEDRO VICENTE MALDONADO, PERIODO 2014-2015.
Trabajo de Titulación previa a la obtención del título de Ingeniero de Sistemas y Computación
Línea de Investigación: Estudio, Diseño e Implementación de Software
Autores:
DAVID MAURICIO ANDRADE PAZMIÑO
Director:
Mg. DIEGO RICARDO SALAZAR ARMIJOS
Santo Domingo – Ecuador Febrero, 2016
ÍNDICE DE CONTENIDOS ÍNDICE DE FIGURAS ................................................................................................ xxi 1.
INTRODUCCIÓN..................................................................................................1
2.
ASPECTOS GENERALES ....................................................................................2
3.
FUNCIONES DEL SISTEMA ................................................................................5
3.1. Inicio de sesión.......................................................................................................5 3.1.1. Pasos para iniciar sesión en el sistema .....................................................................5 3.1.2. Problemas al iniciar sesión ......................................................................................6 3.2. Recuperar contraseña ..............................................................................................6 3.2.1. Pasos para recuperar contraseña ..............................................................................6 3.3. Página de bienvenida ..............................................................................................7 3.3.1. Menú de interfaz ....................................................................................................8 3.4. Tareas administrativas ............................................................................................9 3.4.1. Gestión de usuarios ................................................................................................9 3.4.2. Permisos de acceso ............................................................................................... 12 3.4.3. Sistema ................................................................................................................ 13 3.5. Tareas de usuario (servidor público) ...................................................................... 16 3.5.1. Tareas Materiales ................................................................................................. 16 3.5.2. Tarea Rubros ........................................................................................................ 24 3.5.3. Tarea Obras.......................................................................................................... 25
ÍNDICE DE FIGURAS Figura 1. Cuadros de texto (Input - Textarea) requeridos .................................................. 2 Figura 2. Mensaje con respuesta de éxito. ........................................................................ 2 Figura 3. Mensaje de alerta con respuesta sin éxito .......................................................... 2 Figura 4. Búsqueda de registros ...................................................................................... 3 Figura 5. Botón de actualización instantánea ................................................................... 3 Figura 6. Botón de eliminación instantánea ..................................................................... 4 Figura 7. Botón generador de informes............................................................................ 4 Figura 8. Formulario de Inicio de sesión .......................................................................... 5 Figura 9. Formulario de recuperar contraseña .................................................................. 6 Figura 10. Alerta de recuperación de cuenta exitosa ......................................................... 7 Figura 11. Página de bienvenida...................................................................................... 7 Figura 12. Opciones de la barra de menú ......................................................................... 8 Figura 13. Menú módulos del sistema ............................................................................ 9 Figura 14.Ingreso de usuarios ........................................................................................10 Figura 15. Botón: Usuarios ............................................................................................10 Figura 16. Administración de usuarios ...........................................................................12
Figura 17.Permisos de acceso ........................................................................................12 Figura 18. Botón: Permisos de acceso ............................................................................13 Figura 19.Asignar o revocar permisos ............................................................................13 Figura 20. Administración del Sistema ...........................................................................14 Figura 21. Botón: Sistema..............................................................................................14 Figura 22.Administración de Información de sistema......................................................15 Figura 23. Administración del servidor Webmail ............................................................15 Figura 24. Interfaz: materiales........................................................................................17 Figura 25. Botón: materiales ..........................................................................................17 Figura 26. Formulario: Equipo .......................................................................................17 Figura 27. Formulario: Nuevo Equipo ............................................................................18 Figura 28. Formulario: Mano de obra .............................................................................19 Figura 29. Formulario: Nuevo Mano de obra ..................................................................19 Figura 30. Formulario: Material .....................................................................................20 Figura 31. Formulario: Nuevo Material ..........................................................................21 Figura 32. Formulario: Categorías ..................................................................................22 Figura 33. Formulario: Nuevo Categoría ........................................................................22
Figura 34. Formulario: Unidades....................................................................................23 Figura 35. Formulario: Nuevo Unidades .........................................................................24 Figura 36. Interfaz: Rubros ............................................................................................24 Figura 37. Bot贸n: Rubros...............................................................................................25 Figura 38. Formulario: Administraci贸n Rubros ...............................................................25 Figura 39. Interfaz: Obras ..............................................................................................26 Figura 40. Bot贸n: Obras ................................................................................................26 Figura 41. Formulario: Administraci贸n Obras.................................................................26
1
1. INTRODUCCIÓN El siguiente manual tiene la finalidad de guiar el correcto funcionamiento del sistema de control y gestión de presupuestos de obras civiles en el Gobierno Autónomo Descentralizado de Pedro Vicente Maldonado, describiendo de esta manera cada una de sus funcionalidades de sus componentes. El documento está diseñado para los usuarios que van a hacer uso del sistema, teniendo en cuenta que los lectores tienen conocimientos básicos en tecnología, en este caso de manejar el sistema operativo Windows. Este sistema desarrollado brinda al usuario una interfaz fácil y sencilla de entender para el usuario permitiendo así una ejecución óptima.
2
2.
ASPECTOS GENERALES
En este apartado se manifiesta el funcionamiento del sistema en base a un solo proceso, muchos de estos procesos están integrados en los diferentes módulos del sistema. 1. Campos requeridos: Los campos requeridos que son considerados como un campo obligatorio se debe de resaltar de color rojo, lo que nos indica que no se podrá cumplir con el proceso si no se llena ese campo.
Figura 13. Cuadros de texto (Input - Textarea) requeridos Fuente: El autor
2. Mensajes de alerta: Cada vez que se realice una operación, el sistema devolverá un mensaje indicando el resultado de la operación: o Respuesta con éxito: El software brindará un mensaje de éxito de color verde indicando que el proceso fue realizado con éxito.
Figura 14. Mensaje con respuesta de éxito. Fuente: El autor
o Repuesta sin éxito: El software brindará un mensaje de color rojo en el navegador indicando que no se ha realizado el proceso con éxito.
Figura 15. Mensaje de alerta con respuesta sin éxito Fuente: El autor
3
3. Tablas de registro: El propósito de que se devuelva una presentación hacia el usuario, existen varias tareas como: buscar, actualizar, eliminar registros. Estos se detallan a continuación: o Búsqueda de registros: Las tablas de registro cuenta con su buscador permitiendo realizar un filtro según los términos que se hayan ingresado.
Figura 16. Búsqueda de registros Fuente: El autor
o Actualización instantánea: esta opción permite al usuario recargar los registros que se hayan modificado de manera instantánea, la finalidad de este botón es optimizar el tiempo de las tareas.
Figura 17. Botón de actualización instantánea Fuente: El autor
o Eliminación instantánea: Funciona de la misma manera que los otros botones, este permite eliminar de manera inmediata el registro con la única condición de que no esté siendo usado en otro registro.
4
Figura 18. Botón de eliminación instantánea Fuente: Los autores
o Generación de informes: Es considerado como una de las funcionalidades más comunes en el momento de generar un informe. Este apartado permite generar reportes en archivo .pdf de las tablas que se estén usando.
Figura 19. Botón generador de informes Fuente: El autor
5
3.
FUNCIONES DEL SISTEMA
3.1. Inicio de sesión Al ingresar al sistema se despliega el “Inicio de sesión”, que permite al usuario entrar de acurdo al perfil que tenga registrado.
Figura 20. Formulario de Inicio de sesión Fuente: El autor
3.1.1. Pasos para iniciar sesión en el sistema A continuación se detalla los pasos para ingresar al sistema: 1. Usuario: Ingresar el usuario registrado en el sistema. 2. Contraseña: Ingresar la clave o contraseña. 3. Iniciar: Clic en el botón “Iniciar”, en este caso se valida el usuario y la contraseña correctos, en caso de tener el usuario o contraseña incorrectos emite un mensaje de error requiriendo que los datos sean los correctos.
6
3.1.2. Problemas al iniciar sesión 1. Usuario incorrecto: Para que el usuario ingrese al sistema por primera vez, el usuario es el número de cédula. Caso contrario debe de acercarse al administrador para poder verificar su usuario. 2. Contraseña incorrecta: La contraseña que se genera por primera vez al registrar un usuario es el número de cédula, en caso contrario debe de darse la solución que se encuentra en el inicio de sesión, dando clic en “Recuperar contraseña” la cual se recupera tan solo con poner el nombre del usuario y envía un correo electrónico originando una contraseña aleatoria para que el usuario pueda ingresar, esta nueva contraseña generada puede ser modificada en el momento de que ingresa al sistema.
3.2. Recuperar contraseña Uno de los problemas que tienen los usuarios es el olvido de la contraseña, en este apartado se detalla paso a paso el proceso para recuperar la contraseña.
Figura 21. Formulario de recuperar contraseña Fuente: El autor
3.2.1. Pasos para recuperar contraseña 1. Usuario: Ingresar usuario registrado en el sistema. 2. Buscar: comprueba si los datos son los correctos y envía un correo electrónico de acuerdo al registrado y le genera una contraseña aleatoria con el que podrá tener acceso al sistema.
7
Figura 22. Alerta de recuperaciรณn de cuenta exitosa Fuente: El autor
En caso de no poder acceder al sistema, se recomienda acercarse al administrador para que pueda realizar el proceso en la administraciรณn de usuarios.
3.3. Pรกgina de bienvenida Una vez ya iniciada la sesiรณn del usuario aparece un interfaz de bienvenida.
Figura 23. Pรกgina de bienvenida Fuente: El autor
8
3.3.1. Menú de interfaz La interfaz que se despliega ofrece al usuario un menú, el mismo que permite tener acceso a los módulos que se encuentren otorgados los permisos. Las siguientes opciones se despliegan de la siguiente manera: 1. Es menú del sistema donde están los módulos según los permisos otorgados. 2. Si procede a pulsar un clic en la palabra “CPOC” se dirige inmediatamente a la página de inicio del sistema. 3. Muestra las opciones del usuario donde podra realizar sus respectivas modificaciones necesarias.
1.
2.
3.
Figura 24. Opciones de la barra de menú Fuente: El autor
3.3.1.1. Descripción de los ítems del menú En esta vista se despliega un menú principal del sistema, donde están los diferentes módulos que tiene el sistema. 1. Tareas Administrativas o Usuarios, Permisos, Sistema 2. Tareas de usuario (servidor público) o Materiales, Rubros, Obras
9
1.
2.
Figura 25. Menú módulos del sistema Fuente: El autor
3.4. Tareas administrativas Las tareas administrativas se basan en la administración del sitio y usuarios. A continuación se detalla las tareas que realiza. 3.4.1. Gestión de usuarios Permite ingresar usuarios al sistema, tiene la habilidad de poder habilitar o deshabilitar la cuenta de un usuario. En la parte superior se encuentra un botón con un signo de “+” lo que permite ingresar un nuevo usuario con su respectivo perfil asignado.
10
Figura 26.Ingreso de usuarios Fuente: El autor
3.4.1.1. Forma de llegar En el menĂş principal pulsar un clic en el icono de usuarios como se presenta en la siguiente figura.
Figura 27. BotĂłn: Usuarios Fuente: El autor
11
3.4.1.2. Ingreso de un nuevo usuario Para poder ingresar un nuevo usuario se van a presentar los siguientes campos.
Nombres: ingresar los nombres del usuario
Apellidos: ingresar los apellidos del usuario
Tipo de identificación: ingresar el tipo de identificación ( cédula ciudadanía/ pasaporte)
Documento de identificación: Ingresar el número de cédula del usuario.
Correo: Ingresar el correo electrónico del usuario.
Teléfonos: ingresar los teléfonos de contacto del usuario.
Dirección: ingresar la dirección de residencia
Perfil: Asignar el perfil que va a tener el usuario, ya sea administrador o servidor público.
Su usuario: al ingreso por defecto queda el número de cédula hasta que se modifique en su perfil.
Su contraseña: al ingreso por defecto queda la contraseña hasta que modifique en su perfil.
Guardar: al presionar el botón guardar se validan los campos, si las validaciones son exitosas el ingreso será satisfactorio, caso contrario se despliega un una notificación por la cual no se tuvo éxito.
3.4.1.3. Administración de usuarios Al dar clic en la opción de usuarios, aparece la administración de los usuarios donde se puede visualizar todos los registrados, inclusive se puede activar/desactivar a un usuario.
12
Figura 28. Administración de usuarios Fuente: El autor
3.4.2. Permisos de acceso Esta sección permite que el administrado pueda otorgar los permisos necesarios a cada usuario de acuerdo al perfil que esté establecido. Para poder otorgar los permisos debemos de dar clic en el botón donde se podrá abrir la venta de Administración de permisos.
Figura 29.Permisos de acceso Fuente: El autor
3.4.2.1. Forma de llegar Dirigirse a la sección del menú principal, dar clic en “Usuarios” y en la opción aparecerá un botón de la siguiente manera:
13
Figura 30. Botón: Permisos de acceso Fuente: El autor
3.4.2.2. Asignar o revocar permisos 1. Una vez dado clic en el botón de permisos se puede asignar o revocar los permisos a los usuarios. 2. Aparece una lista de permisos que estarán disponibles o deshabilitados. Automáticamente se presentará un mensaje que detalle el resultado de la acción realizada.
Figura 31.Asignar o revocar permisos Fuente: El autor
3.4.3. Sistema Esta opción permite ingresar la información del sistema.
14
Figura 32. Administración del Sistema Fuente: El autor
En esta sección también se encuentra la información del servicio de webmail que se implementó para el envío de correos electrónicos. 3.4.3.1. Forma de llegar En el menú principal existe una opción que se encuentra de esta manera:
Figura 33. Botón: Sistema Fuente: El autor
3.4.3.2. Información En este menú se despliega la información general del sistema, desde el sitio web y la información que se presenta en la pantalla de bienvenida.
15
Figura 34.Administraciรณn de Informaciรณn de sistema Fuente: El autor
3.4.3.3. Web mail Permite realizar la configuraciรณn del servidor web con el cual se puede enviar o recibir correos electrรณnicos.
Figura 35. Administraciรณn del servidor Webmail Fuente: El autor
16
En el formulario de administración de WebMail se toma en cuenta los siguientes parámetros IP: se ingresa la dirección IP del servidor en donde se va a alojar el webmail. Host/SMTP: se asigna la dirección del host con la que se va a conectar el webmail Puerto: se le asigna un número de puerto de conexión teniendo en cuenta el host establecido. Seguridad: Es el tipo de seguridad con la que se implementa el servidor local Usuario: Nombre del remitente de correo electrónico Correo y Contraseña: Datos proporcionados por el administrador. Guardar: permite almacenar los cambios realizados
3.5. Tareas de usuario (servidor público) Las tareas de usuario que se encuentre bajo el perfil de servidor público, se encuentra a cargo de realizar toda la administración de materiales, presupuesto y obras. 3.5.1. Tareas Materiales En esta sección existen cinco pestañas que son: “Equipo, Mano de obra, Material, Categorías, Unidades” que serán detallados más adelante
17
Figura 36. Interfaz: materiales Fuente: El Autor
3.5.1.1. Forma de llegar Para acceder a este módulo en el menú principal dar clic en este ícono:
Figura 37. Botón: materiales Fuente: El autor
3.5.1.2. Equipo Esta sección se encuentra alojado todos los registros de los equipos utilizados para las obras. A continuación se puede observar los registros almacenados en la base de datos.
Figura 38. Formulario: Equipo Fuente: El autor
18
3.5.1.2.1 Nuevo equipo Para registrar un nuevo equipo se debe de dar clic en el botón “+” y aparecerá la ventana de ingresar maquinaria, al momento de llenar todos los datos se da clic en “guardar” y estos se almacenan en la base de datos, como se muestra a continuación
Figura 39. Formulario: Nuevo Equipo Fuente: El autor
Aquí se describe los detalles de cada campo:
Codigo CCQ: es el código que se le asigna a un nuevo equipo
Precio: precio fijado para realizar el cálculo de la obra.
Material: nombre de la maquinaria
Unidad de medida: medidas usadas para el cálculo de la obra
Guardar: almacena los datos de los registros
19
3.5.1.3. Mano de obra Esta sección se encuentra alojado todos los registros de la mano de obra empleada para las obras. A continuación se puede observar los registros almacenados en la base de datos.
Figura 40. Formulario: Mano de obra Fuente: El autor
3.5.1.3.1 Nuevo Mano de Obra Para registrar un nueva mano de obra se debe de dar clic en el botón “+” y aparecerá la ventana de ingresar Mano de Obra, al momento de llenar todos los datos se da clic en “guardar” y estos se almacenan en la base de datos, como se muestra a continuación:
Figura 41. Formulario: Nuevo Mano de obra Fuente: El autor
Aquí se describe los detalles de cada campo:
20
Codigo CCQ: es el código que se le asigna a un nuevo equipo
Mano de obra: nombre de la mano de obra
Categoría: se escoge la categoría en la que se encuentra esa mano de obra
Guardar: almacena los datos de los registros
3.5.1.4. Material Esta sección se encuentra alojado todos los registros de los materiales empleados para las obras. A continuación se puede observar los registros almacenados en la base de datos.
Figura 42. Formulario: Material Fuente: El autor
3.5.1.4.1 Nuevo Material Para registrar un nuevo material se debe de dar clic en el botón “+” y aparecerá la ventana de ingresar Material, al momento de llenar todos los datos se da clic en “guardar” y estos se almacenan en la base de datos, como se muestra a continuación:
21
Figura 43. Formulario: Nuevo Material Fuente: El autor
Aquí se describe los detalles de cada campo:
Código CCQ: es el código que se le asigna a un nuevo material
Precio: precio fijado para realizar el cálculo de la obra.
Material: nombre del material
Unidad de medida: medidas usadas para el cálculo de la obra
Guardar: almacena los datos de los registros
3.5.1.5. Categorías Esta sección se encuentra alojado todos los registros de las categorías que están relacionadas con la mano de obra. A continuación se puede observar los registros almacenados en la base de datos.
22
Figura 44. Formulario: Categorías Fuente: El autor
3.5.1.5.1 Nuevo Categoría Para registrar una nueva categoría se debe de dar clic en el botón “+” y aparecerá la ventana de ingresar Categoría, al momento de llenar todos los datos se da clic en “guardar” y estos se almacenan en la base de datos, como se muestra a continuación:
Figura 45. Formulario: Nuevo Categoría Fuente: El autor
Aquí se describe los detalles de cada campo:
23
Categoría: es el nombre de la categoría
$ dia: precio fijado por día correspondiente a dicha categoría
$/ hora: precio fijado por hora correspondiente a dicha categoría
Guardar: almacena los datos de los registros
3.5.1.6. Unidades Esta sección se encuentra alojado todos los registros de las unidades. A continuación se puede observar los registros almacenados en la base de datos.
Figura 46. Formulario: Unidades Fuente: El autor
3.5.1.6.1 Nuevo Unidades Para registrar una nueva unidad se debe de dar clic en el botón “+” y aparecerá la ventana de ingresar Unidades, al momento de llenar todos los datos se da clic en “guardar” y estos se almacenan en la base de datos, como se muestra a continuación:
24
Figura 47. Formulario: Nuevo Unidades Fuente: El autor
Aquí se describe los detalles de cada campo:
Unidad: es el nombre de la unidad
#: son las siglas que se definen para las unidades
Guardar: almacena los datos de los registros
3.5.2. Tarea Rubros En esta sección existen dos pestañas que son: “Rubros, Administración” que serán detallados más adelante.
Figura 48. Interfaz: Rubros Fuente: El Autor
25
3.5.2.1. Forma de llegar Para acceder a este módulo en el menú principal dar clic en este ícono:
Figura 49. Botón: Rubros Fuente: El autor
3.5.2.2. Administración Esta sección se encuentra la parte administrativa de los rubros que se generan en base a toda la sección de materiales que son utilizados para las obras. A continuación se puede observar los registros almacenados en la base de datos.
Figura 50. Formulario: Administración Rubros Fuente: El autor
3.5.3. Tarea Obras En esta sección existen dos pestañas que son: “Obras, Administración” que serán detallados más adelante.
26
Figura 51. Interfaz: Obras Fuente: El Autor
3.5.3.1. Forma de llegar Para acceder a este módulo en el menú principal dar clic en este ícono:
Figura 52. Botón: Obras Fuente: El autor
3.5.3.2. Administración Esta sección se encuentra la parte administrativa de las obras que se generan en base a todos los rubros que son utilizados para las obras. A continuación se puede observar los registros almacenados en la base de datos.
Figura 53. Formulario: Administración Obras Fuente: El autor
Aquí se describe los detalles de cada campo:
27
Selección de rubros: opción para escoger el rubro
Institución: entidad que ejecuta la obra
Proyecto: nombre del proyecto
Elaborado: es la persona responsable del proyecto
Ubicación: se toma en cuenta la ubicación física de la obra
Fecha: se toma la fecha en que va a ejecutarse la obra
Guardar: almacena los datos de los registros
ANEXO 8. ACTA DE ENTREGA- RECEPCIÓN
ANEXO 9. CARTA DE IMPACTO
ANEXO 10. APROBACIÓN DE SRS