UNIVERSIDAD REGIONAL AUTONOMA DE LOS ANDES “UNIANDES”
FACULTAD DE SISTEMAS MERCANTILES
CARRERA SISTEMAS E INFORMATICA
TEMA:
SISTEMA LUAF PARA EL CONTROL DE PERMISOS DE FUNCIONAMIENTO DE
LOCALES COMERCIALES EN LA PROVINCIA DE PASTAZA POR MEDIO DE
GESTION DE PROCESOS DE NEGOCIOS
AUTOR(A): ULLOA FREIRE MICHAEL ALEXANDER
ASESOR(A): ING. BECERRA AREVALO NELSON PATRICIO
PUYO-ECUADOR
DEDICATORIA
Dedico esta tesis a Dios y a mis padres. A Dios porque ha estado conmigo a cada
paso que doy, cuidándome y dándome fortaleza para continuar, a mis padres, quienes
a lo largo de mi vida han velado por mi bienestar y educación siendo mi apoyo en todo
momento. Depositando su entera confianza en cada reto que se me presentaba sin
dudar ni un solo momento en mi inteligencia y capacidad. Es por ello que soy lo que
RESUMEN
El GAD Municipal del cantón Pastaza, ubicado en la cuidad de puyo es una Institución
dedicada al desarrollo de obras con la comunidad, cuenta con una alta tasa de
ingresos y egresos de trámites correspondientes a permisos de funcionamiento de
locales comerciales, este proceso se realiza de forma manual. Por esta razón, el
presente trabajo investigativo pretendió solucionar la problemática existente a través
de la automatización de los trámites de permisos de funcionamiento, en función de un
sistema que controle la entrada y salida de información de una forma secuenciada y
ordenada.
Para el progreso de la presente propuesta se investigó sobre los requisitos que
necesitan los contribuyentes, se determinó el tiempo de entrega de los permisos
correspondientes, finalmente se correlaciono dicha información con el sistema, que
garantice la realización de los requerimientos, visualización de información oportuna
dentro de cada departamento involucrado; en este sentido, se realizó la
automatización de los permisos de funcionamiento con un sistema denominado LUAF
que fue programado para hacer el manejo de control de permisos de funcionamiento
en locales comerciales.
Posteriormente, la actual propuesta se la realizó para reducir el tiempo de trámite
correspondiente y minimizar costos con la implementación del sistema LUAF para el
CONTENIDO
INTRODUCCION ... 1
CAPITULO I ... 5
MARCO TEORICO ... 5
1.1 Origen y evolución de los Procesos de Negocios. ... 5
1.2 Análisis de las distintas posiciones teóricas sobre procesos informáticos. ... 7
1.2.1. Conceptos de informática. ... 7
1.2.2.1 Software de aplicación. ... 9
1.2.4 Lenguajes de programación. ... 11
1.2.5 Software. ... 18
1.2.6 Procesos de Negocio. ... 20
1.3. Análisis crítico sobre WorkFlow y modelos de negocio. ... 29
CAPITULO II ... 30
Marco metodológico y planteamiento de la propuesta ... 30
2.1. Caracterización del GADM Cantonal de Pastaza ... 30
2.2. Descripción del procedimiento metodológico para el desarrollo de la investigación. ... 31
2.2.2 Tipos de investigación ... 31
2.3. Población y muestra ... 34
2.4. Conclusiones parciales del capítulo. ... 42
CAPITULO III ... 43
3.1. Aplicación de resultados de la investigación ... 43
3.1.2 Objetivos ... 43
3.1.3 Factibilidad del Sistema ... 43
3.2. Alcance y Limitaciones ... 48
INDICE DE TABLAS
Tabla 1 Persona encuestada ... 33
Tabla 2 Numero de encuestados ... 33
Tabla 3 Composición de la población ... 34
Tabla 4 Análisis Encuesta – Pregunta 1 ... 36
Tabla 5 Análisis Encuesta – Pregunta 2 ... 37
Tabla 6 Análisis Encuesta – Pregunta 3 ... 38
Tabla 7 Análisis Encuesta – Pregunta 4 ... 39
Tabla 8 Análisis Encuesta – Pregunta 5 ... 40
Tabla 9 Factibilidad Técnica – Hardware ... 45
Tabla 10 Factibilidad Técnica – Software ... 46
Tabla 11 Factibilidad Económica – Recursos Humanos ... 46
Tabla 12 Factibilidad Económica - Servicios ... 47
Tabla 13 Factibilidad técnica - Equipo de trabajo ... 47
Tabla 14 Factibilidad técnica, Económica y Operacional ... 48
Tabla 15 Requisito Funcional 1 - Registrar Usuario ... 50
Tabla 16 Requisito Funcional 2- Gestionar procesos de permisos ... 50
Tabla 17 Requisito Funcional 3- Gestionar Negocio ... 51
Tabla 18 Requisito Funcional 4 – Gestionar proceso... 51
Tabla 19 Requisito Funcional 5 – Generar Costos ... 52
Tabla 20 Requisito Funcional 6 - Generar Reportes ... 53
Tabla 21 Requisito no Funcional 1 - Interfaz del sistema. ... 53
Tabla 22 Requisito no Funcional 2 - Ayuda en el uso del Sistema ... 54
Tabla 23 Requisito no Funcional 3 - Mantenimiento ... 54
Tabla 24 Requisito no Funcional 7 - Seguridad en información. ... 54
Tabla 25 Requisito no Funcional 5 - Desempeño ... 55
Tabla 26 Requisito no Funcional 6 - Nivel de Usuario ... 55
Tabla 27 Historia de Usuario - Generar Usuario ... 59
Tabla 28 Historia de Usuario - Consumo de Web Service ... 59
Tabla 29 Historia de Usuario - Generar proceso de permisos. ... 60
Tabla 30 Historia de Usuario - Generar Negocio ... 60
Tabla 31 Historia de Usuario - Seguimiento del proceso. ... 61
Tabla 32 Historia de Usuario - Generar Costos. ... 61
Tabla 33 Historia de Usuario - Gestionar reportes de los procesos ... 62
Tabla 35 Iteración 1 - Registro Usuario ... 63
Tabla 36 Iteración 2 - Generar proceso de permisos ... 64
Tabla 37 Iteración 3 - Generar proceso de permisos. ... 64
Tabla 38 Iteración 4 - Seguimiento del proceso. ... 64
Tabla 39 Iteración 5 - Generar Costos ... 65
Tabla 40 Iteración 6 - Generar Reportes ... 65
Tabla 41 Velocidad del Proyecto – Iteraciones ... 65
Tabla 42 Diccionario de Datos - fotousers ... 66
Tabla 43 Diccionario de Datos - users ... 66
Tabla 44 Diccionario de Datos - groups ... 67
Tabla 45 Diccionario de Datos - propietarios ... 67
Tabla 46 Diccionario de Datos - establecimientos ... 67
Tabla 47 Diccionario de Datos - categorias ... 68
Tabla 48 Diccionario de Datos - subcategorías ... 68
Tabla 49 Diccionario de Datos – tramites ... 69
Tabla 50 Diccionario de Datos - requisitos ... 69
Tabla 51 Diccionario de Datos - categorias_requisitos ... 69
Tabla 52 Diccionario de Datos - documentos_tramites ... 70
Tabla 53 Diccionario de Datos - propietarios_establecimientos ... 70
Tabla 54 Diccionario de Datos - digitales ... 71
Tabla 55 Diccionario de Datos - procesos ... 71
Tabla 56 Diccionario de Datos – historial_procesos ... 71
Tabla 57 Diccionario de Datos - flows_groups ... 72
Tabla 58 Diccionario de Datos – tiposcomponentes ... 72
Tabla 59 Diccionario de Datos - componentes ... 72
Tabla 60 Diccionario de Datos - flows ... 73
Tabla 61 Diccionario de Datos - menus ... 73
INDICE DE FIGURAS
Figura 1 Análisis Encuesta – Pregunta 1 ... 36
Figura 2 Análisis Encuesta – Pregunta 2 ... 37
Figura 3 Análisis Encuesta – Pregunta 3 ... 38
Figura 4 Análisis Encuesta – Pregunta 4 ... 39
Figura 5 Análisis Encuesta – Pregunta 5 ... 40
Figura 6 Fases de la metodología XP ... 49
Figura 7 casos de uso general ... 58
Figura 8 Diseño Lógico – Base de Datos LUAF ... 75
Figura 9 Diseño Lógico – Base de Datos LUAF ... 76
Figura 10 Diseño Físico – Base de Datos LUAF ... 77
Figura 11 Diseño Físico – Base de Datos LUAF ... 78
Figura 12 Pantalla de ingreso ... 79
Figura 13 Interfaz de Usuarios ... 79
Figura 14 Interfaz Usuarios ... 80
Figura 15 Interfaz Administrativa ... 80
1 INTRODUCCION
Antecedentes de la investigación
Según la investigación realizada se han podido identificar la existencia de varios
sistemas que poseen un software utilizando la Gestión de Negocios para ayudar con
los permisos de locales comerciales, dedicadas directamente a la distribución de
tareas, seguimiento y archivado de información; en el Ecuador dentro del área de la
administración y la gestión de negocios se ha visto un incremento generado en cada
recurso en el que se debe de invertir para poder cumplir con todas las actividades, que
se encuentran sumidas en este campo, nombrando algunos de estos sistemas se
identifica a la “Universidad de las Américas Puebla (UDLAP)”, que posee “LA
EVALUACIÓN DE PERMISOS COMERCIALES A TRAVÉS DE UN MODELO DE EQUILIBRIO GENERAL COMPUTABLE, PARA MÉXICO”, con fecha de presentación 2005, el mismo que fue desarrollado por el Sr. Córdoba González José
Manuel, responsable del desarrollo del mismo la cual se introduce un sistema de
permisos comerciables, en particular un sistema de tope y comercio de permisos
(cap-and-trade programme). Se presenta el funcionamiento económico del sistema de
permisos comerciables además de simular su introducción en la economía mexicana.
En la UNIVERSIDAD ESTATAL PENINSULA DE SANTA ELENA, que posee una “
IMPLEMENTACION DE UN SISTEMA WEB DE PERMISOS DE FUNCIONAMIENTO PARA EL GAD MUNICIPAL DEL CANTON PLAYAS”, con fecha de presentación del año 2016, el mismo que fue desarrollado por la Ing. Vanessa Asunción Estrella
Paredes, responsable del desarrollo e implementación del mismo.
En la universidad Regional autónoma de los andes ―Uniandes‖ extensión PUYO se
localizó un proyecto que tiene como tema ―ANÁLISIS JURÍDICO DEL NUEVO
REGLAMENTO DE INTERVENCIÓN DE INTENDENTES Y COMISARIOS: TÍTULO II DE LOS PERMISOS DE FUNCIONAMIENTO.‖, Con fecha del presentación del año
2016, el mismo que fue desarrollado por la Sra. Gissela Estefanía Zurita Chimborazo,
responsable del análisis exhaustivo de los reglamentos de intervención de intendentes
y comisarios para los respectivos permisos de funcionamiento de locales comerciales.
Situación problemática
El GAD Municipal del cantón Pastaza es una Institución dedicada al desarrollo de
2
las mismas; todos los hechos referentes a gestión documental en esta institución se
ven complementados con la expedición de leyes que norman tanto la gestión de
procesos de negocios como las herramientas informáticas a través de las cuales se
logra verificar la autenticidad, integridad y confiabilidad de los datos a administrar.
Diariamente en la institución pública perteneciente al estado, la misma que lleva en
vigencia ya muchos años al servicio de la comunidad, genera documentos
institucionales y ciudadanos, los mismos que corresponden a certificados, oficios,
solicitudes, documentación legal que la misma posee.
La combinación de estos requerimientos anteriormente mencionados aclaran
considerablemente cada una de las falencias y necesidades dentro de los procesos
internos de la institución dejando de lado no solo el almacenamiento, la revisión y el
procesamiento de la información, sino también dan a relucir el descuidando del tiempo
que se brindan para mejorarla atención a la comunidad en general.
Problema científico
¿Cómo mejorar la gestión de permisos de funcionamiento de locales comerciales en el
GAD Municipal del cantón Pastaza?
Delimitación del problema
El objeto de investigación en su primera parte se desarrollará en el GAD Cantonal de
Pastaza, durante el año fiscal 2017 en lo concerniente a los permisos de
funcionamiento de los locales comerciales y según su utilidad se ampliará a la
provincia.
Objeto de investigación
Sistemas de Información
Campo de acción
3 Identificación de la línea de investigación
Desarrollo de Software y Programación de Sistemas
Objetivo general
Desarrollar un sistema LUAF para el control de permisos de funcionamiento de locales
comerciales en el cantón Pastaza por medio de gestión de procesos de negocios.
Objetivos específicos
Fundamentar bibliográficamente las herramientas de desarrollo de Sistemas y
Gestión de Procesos de Negocios.
Determinar el flujo de la información y la lógica de procesos de gestión de
negocios dentro del Cantón Pastaza.
Desarrollar el sistema LUAF para el control de permisos, por medio de gestión
de procesos de negocios.
Idea a defender.
Con la implementación del Sistemas LUAF, se mejorará el control de los permisos de
funcionamiento de locales comerciales por medio de la Gestión de Procesos de
Negocio dentro del Cantón Pastaza.
Justificación
El proceso que se realiza en los departamentos del Gobierno Autónomo
Descentralizado del Municipio del cantón Pastaza son los siguientes:
En el área de Planificación el trámite empieza con la adquisición de la tasa
administrativa y se adjunta la documentación completa de los requisitos establecidos,
se verifica que no falte ningún documento y se le indica al usuario que puede volver en
el lapso de 15 días laborables a cancelar su permiso. El sistema va a descongestionar
y solventar el ingreso de datos del contribuyente, como por ejemplo ver el estado de la
carpeta ingresada vía online y actualizar los documentos sin necesidad de acercarse a
4
En la sección de Rentas se realiza la liquidación de los locales (valores generados del
permiso), con el sistema no se necesitará de la carpeta solo se verificará el valor a
cancelar según inspección realizada. Los valores se desglosan automáticamente al
elegir el tipo de permiso, tabla asignada por el departamento de Rentas.
El departamento de Tesorería genera el ingreso de la liquidación y datos personales
para emitir la recaudación del local, la aplicación funcionará al ingresar solo el número
de cédula del propietario y se despliega toda la información y el valor total.
La necesidad de desarrollar una solución informática se evidencia a través de los
procesos encontrados en las áreas de Salubridad, Rentas y Tesorería para conceder
un permiso de funcionamiento, establecer fechas y entrega del documento solicitado
5
CAPITULO I
MARCO TEORICO
1.1 Origen y evolución de los Procesos de Negocios.
En la actualidad las empresas, organizaciones, universidades están buscando
permanentemente nuevas alternativas tecnológicas, por lo que comenzaron a darse
cuenta que es necesario replantear sus negocios y orientarlos hacia los procesos, sin
importar el área que se trate, de esta manera les permita brindar un mejor servicio a
sus clientes, mejorar el rendimiento del personal y optimizando recursos dentro de la
organización. Por lo tanto se puede decir que los procesos de negocio pueden ser
vistos como un recetario para hacer funcionar un negocio y alcanzar las metas
definidas en la estrategia de la organización.
Según (Ángel, 2010) Un proceso de negocio se puede definir como una secuencia de
actividades relacionadas en un orden específico, con el fin de agregar valor a los
productos o servicios de una organización. Para implementar un proceso se debe
tener claro las tareas, las personas involucradas, los sistemas utilizados para cumplir
la tarea y los pasos a seguir, la estructura jerárquica del negocio, la información
necesaria para cada tarea, etc. por este motivo IBM (International Business
Machines) es un recurso importante para lograr la implementación y ejecución de los procesos dentro de la organización.
Elementos del proceso
Los elementos que conforman un proceso son:
1. Inputs: recursos a transformar, materiales a procesar, personas a formar, informaciones a procesar, conocimientos a elaborar y sistematizar, etc.
2. Recursos o factores que transforman: actúan sobre los inputs a transformar. Aquí se distinguen dos tipos básicos:
a. Factores dispositivos humanos: planifican, organizan, dirigen y
controlan las operaciones.
b. Factores de apoyo: infraestructura tecnológica como hardware,
6
3. Flujo real de procesamiento o transformación: La transformación puede ser física (mecanizado, montaje etc.), de lugar (el output del transportista, el del
correo, etc.), pero también puede modificarse una estructura jurídica de
propiedad (en una transacción, escrituración, etc.).
4. Outputs: son básicamente de dos tipos:
a. Bienes: tangibles, almacenables, transportables. La producción se puede diferenciar de su consumo. Es posible además una evaluación
de su grado de calidad de forma objetiva y referida al producto.
b. Servicios: intangibles, acción sobre el cliente. La producción y el consumo son simultáneos. Su calidad depende básicamente de la
percepción del cliente.
Según (Curto, 2013), las Aplicaciones basadas en Plataformas mientras el negocio
funciona y las funciones que estas llevan a cabo dan soporte a nuestras operaciones
de negocio. Pero cuando, presionados por la competencia del mercado, por los
clientes, proveedores o reglas gubernamentales que requieran que implementemos
nuevas funcionalidades, o cuando buscamos cambios para explotar nuevas ventajas
competitivas o porque tenemos nuevos procesos o incluso nuevos modelos de
negocio para los que sea necesario adaptar nuestros sistemas, entonces es cuando
encontramos los límites a las Aplicaciones Basadas en Plataformas.
Los fabricantes de ERP han intentado suplir estas carencias integrando en sus
soluciones herramientas de workflow, pero estos workflow no están capacitados para
gestionar procesos de negocio como los entendemos en la metodología de BPM, pues
son funcionales y no dirigidos por procesos de forma que estos siempre estarán
limitados a los datos y funciones contenidos en el ERP.
Según (International Business Machines, 2012), La base para Eclipse es la Plataforma
de cliente enriquecido (del inglés Rich Client Platform RCP). Los siguientes
componentes constituyen la plataforma de cliente enriquecido:
Plataforma principal - inicio de Eclipse, ejecución de plugins.
OSGi - una plataforma para bundling estándar.
El Standard Widget Toolkit (SWT) - Un widget toolkit portable.
JFace - manejo de archivos, manejo de texto, editores de texto.
7
Los widgets de Eclipse están implementados por una herramienta de widget para Java
llamada Standard Widget Toolkit, a diferencia de la mayoría de las aplicaciones Java,
que usan las opciones estándar Abstract Window Toolkit (AWT) o Swing.
La interfaz de usuario de Eclipse también tiene una capa GUI intermedia
llamada JFace, la cual simplifica la construcción de aplicaciones basadas en SWT.
En cuanto a las aplicaciones clientes, Eclipse provee al programador
con frameworks muy ricos para el desarrollo de aplicaciones gráficas, definición y
manipulación de modelos de software, aplicaciones web, etc. Por ejemplo, GEF
(Graphic Editing Framework - Framework para la edición gráfica) es un plugin de
Eclipse para el desarrollo de editores visuales que pueden ir desde procesadores de
texto wysiwyg hasta editores de diagramas UML, interfaces gráficas para el usuario
(GUI), etc. Dado que los editores realizados con GEF "viven" dentro de Eclipse,
además de poder ser usados conjuntamente con otros plugins, hacen uso de su
interfaz gráfica personalizable y profesional.
El SDK de Eclipse incluye las herramientas de desarrollo de Java, ofreciendo un IDE
con un compilador de Java interno y un modelo completo de los archivos fuente de
Java. Esto permite técnicas avanzadas de refactorización y análisis de código.
Mediante diversos plugins estas herramientas están también disponibles para otros
lenguajes como C/C++ (Eclipse CDT) y en la medida de lo posible para lenguajes de
script no tipados como PHP o Javascript. El IDE también hace uso de un espacio de
trabajo, en este caso un grupo de metadatos en un espacio para archivos planos,
permitiendo modificaciones externas a los archivos.
1.2 Análisis de las distintas posiciones teóricas sobre procesos informáticos.
1.2.1. Conceptos de informática.
Según (Española, 2014) define informática como: Conjunto de conocimientos
científicos y técnicas que hacen posible el tratamiento automático de la información
por medio de ordenadores. Conceptualmente, se puede entender como aquella
disciplina encargada del estudio de métodos, procesos, técnicas, desarrollos y su
utilización en ordenadores (computadoras), con el fin de almacenar, procesar y
8
Según (ARQHYS.com., 2011) Ciencia del tratamiento racional, mediante máquinas
automáticas, de la información considerada como el soporte de los conocimientos
humanos y de las comunicaciones en los campos técnico, económico y social. La
palabra Informática, se forma por la contracción de los vocablos Información y
automática.
El rol que desempeña la informática en la sociedad y el mundo es tan útil, que puede
ser para el mismo un mundo de muchas oportunidades y facilidades, por estas
grandes oportunidades, existen muchas personas que no puede estar sino es con su
medio sistematizado a través de un computador o aparato informático. Por medio al
desarrollo de esta ciencia, como la definen todos los medios, puedo formarme como
profesional a través de la diversificación de elementos, que aportan a desarrollo del
área, son estos algunos que pueden consistir sistema de información, recursos
humanos y financieros que son los equipos de cómputos y sus relaciones. Así mismo
como desarrollar sistemas de información para agilizar la toma de decisiones y
proponer alternativas que ayuden a impulsar el desarrollo global del área.
Sistema informático.
Según (Morato, 2014) Es un sistema que permite almacenar y procesar información;
es el conjunto de partes interrelacionadas: hardware, software y personal informático.
El hardware incluye computadoras o cualquier tipo de dispositivo electrónico, que
consisten en procesadores, memoria, sistemas de almacenamiento externo, etc.
El software incluye al sistema operativo, firmware y aplicaciones, siendo
especialmente importante los sistemas de gestión de bases de datos. Por último, el
soporte humano incluye al personal técnico que crean y mantienen el sistema
(analistas, programadores, operarios, etc.) y a los usuarios que lo utilizan.
Software.
Según (Hoz, 2011) se conoce como software al equipo lógico o soporte lógico de
un sistema informático, que comprende el conjunto de los
componentes lógicos necesarios que hacen posible la realización de tareas
9
Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas,
tales como el procesador de texto, que permite al usuario realizar todas las tareas
concernientes a la edición de textos; el llamado software de sistema, tal como
el sistema operativo, que básicamente permite al resto de los programas funcionar
adecuadamente, facilitando también la interacción entre los componentes físicos y el
resto de las aplicaciones, y proporcionando una interfaz con el usuario.
1.2.2.1 Software de aplicación.
Según (Alegria, 2012) Es un conjunto de programas diferente al software del sistema,
éstos se encargan de manipular la información que el usuario necesita procesar, son
programas que desarrollan una tarea específica y cuya finalidad es permitirle al
usuario realizar su trabajo con facilidad, rapidez, agilidad y precisión. Entre el software
de aplicación se tiene varios grupos, como son: procesadores de texto, hoja
electrónica, graficado res, bases de datos, agendas, programas de contabilidad,
aplicaciones matemáticas, entre otros, algunos ejemplos son: Word, Excel, Acces,
Corel.Draw, Foxpro, Trident, etc.
Base de datos.
Según (Trejo Martinez, 2012) Un conjunto de información almacenada en memoria
auxiliar que permite acceso directo y un conjunto de programas que manipulan esos
datos. Base de Datos es un conjunto exhaustivo no redundante de datos
estructurados organizados independientemente de su utilización y su implementación
en máquina accesibles en tiempo real y compatibles con usuarios concurrentes con
necesidad de información diferente y no predicable en tiempo.
Surgen desde mediados de los años sesenta la historia de las bases de datos, en
1970 Codd propuso el modelo relacional, este modelo es el que ha marcado la línea
de investigación por muchos años, ahora se encuentran los modelos orientados a
objetos (Janhil hyde, 2002).
Una base de datos servirá para almacenar la información necesaria, es muy utilizada
para ordenar sus respectivas tablas, las bases de datos permiten insertar, modificar,
10 Postgres
Según (Tecnologias), 2017) El Sistema Gestor de Bases de Datos Relacionales
Orientadas a Objetos conocido como PostgreSQL (y brevemente llamado Postgres95)
está derivado del paquete Postgres escrito en Berkeley.
Con cerca de una década de desarrollo tras él, PostgreSQL es el gestor de bases de
datos de código abierto más avanzado hoy en día, ofreciendo control de
concurrencia multi-versión, soportando casi toda la sintaxis SQL (incluyendo
subconsultas, transacciones, y tipos y funciones definidas por el usuario), contando
también con un amplio conjunto de enlaces con lenguajes de programación
(incluyendo C, C++, Java, perl, tcl y python).
Características y Ventajas
Postgres ofrece una potencia adicional sustancial a Los sistemas de mantenimiento de
Bases de Datos relacionales tradicionales (DBMS) al incorporar los siguientes cuatro
conceptos adicionales básicos en una vía en la que los usuarios pueden extender
fácilmente el sistema:
Clases
Herencia
Tipos
Funciones
Otras características aportan potencia y flexibilidad adicional:
Restricciones (Constraints)
Disparadores (triggers)
Reglas (rules)
Integridad transaccional
Además de haberse realizado corrección de errores, con PostgreSQL, el énfasis ha
pasado a aumentar características y capacidades, aunque el trabajo continúa en todas
las áreas. Algunas mejoras son:
Los tipos internos han sido mejorados, incluyendo nuevos tipos de fecha/hora de
11
Se han añadido funcionalidades en línea con el estándar SQL92, incluyendo claves
primarias, identificadores entrecomillados, forzado de tipos cadena literal,
conversión de tipos y entrada de enteros binarios y hexadecimales.
La velocidad del código del motor de datos ha sido incrementada aproximadamente en
un 20-40%, y su tiempo de arranque ha bajado el 80% desde que la versión 6.0 fue
lanzada.
Se han implementado importantes características del motor de datos, incluyendo
subconsultas, valores por defecto, restricciones a valores en los campos (constraints)
y disparadores (triggers).
1.2.4 Lenguajes de programación.
Según (EcuaRed, 2017) un lenguaje formal diseñado para realizar procesos que
pueden ser llevados a cabo por máquinas como las computadoras.
Pueden usarse para crear programas que controlen el comportamiento físico y lógico
de una máquina, para expresar algoritmos con precisión, o como modo de
comunicación humana.
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que
definen su estructura y el significado de sus elementos y expresiones. Al proceso por
el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene
el código fuente de un programa informático se le llama programación.
También la palabra programación se define como el proceso de creación de
un programa de computadora, mediante la aplicación de procedimientos lógicos, a
través de los siguientes pasos:
El desarrollo lógico del programa para resolver un problema en particular.
Escritura de la lógica del programa empleando un lenguaje de programación
específico (codificación del programa).
Ensamblaje o compilación del programa hasta convertirlo en lenguaje de
máquina.
Prueba y depuración del programa.
12 Java.
Según (ICTEA, 2017) Es un lenguaje de programación de propósito general,
concurrente, orientado a objetos que fue diseñado específicamente para tener tan
pocas dependencias de implementación como fuera posible. Su intención es permitir
que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en
cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"),
lo que quiere decir que el código que es ejecutado en una plataforma no tiene que
ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de
programación más populares en uso, particularmente para aplicaciones de
cliente-servidor de web, con unos 10 millones de usuarios reportados.
Php.
Según (ICTEA, 2017) 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.
Fue uno de los primeros lenguajes de programación del lado del servidor que se
podían incorporar directamente en el documento HTML en lugar de llamar a un archivo
externo que procese los datos.
El código es interpretado por un servidor web con un módulo de procesador de PHP
que genera la página web resultante. PHP ha evolucionado por lo que ahora incluye
también una interfaz de línea de comandos que puede ser usada en aplicaciones
gráficas independientes. Puede ser usado en la mayoría de los servidores web al igual
que en casi todos los sistemas operativos y plataformas sin ningún costo.
Mvc
MVC es una propuesta de diseño de software utilizada para implementar sistemas
donde se requiere el uso de interfaces de usuario. Surge de la necesidad de crear
software más robusto con un ciclo de vida más adecuado, donde se potencie la
facilidad de mantenimiento, reutilización del código y la separación de conceptos.
Su fundamento es la separación del código en tres capas diferentes, acotadas por su
13
mismo, Model, Views & Controllers, si lo prefieres en inglés. En este artículo
estudiaremos con detalle estos conceptos, así como las ventajas de ponerlos en
marcha cuando desarrollamos.
La rama de la ingeniería del software se preocupa por crear procesos que aseguren
calidad en los programas que se realizan y esa calidad atiende a diversos parámetros
que son deseables para todo desarrollo, como la estructuración de los programas o
reutilización del código, lo que debe influir positivamente en la facilidad de desarrollo y
el mantenimiento.
(Alvarez, 2014)
Modelos
Es la capa donde se trabaja con los datos, por tanto contendrá mecanismos para
acceder a la información y también para actualizar su estado. Los datos los tendremos
habitualmente en una base de datos, por lo que en los modelos tendremos todas las
funciones que accederán a las tablas y harán los correspondientes selects, updates,
inserts, etc.
No obstante, cabe mencionar que cuando se trabaja con MCV lo habitual también es
utilizar otras librerías como PDO o algún ORM como Doctrine, que nos permiten
trabajar con abstracción de bases de datos y persistencia en objetos. Por ello, en vez
de usar directamente sentencias SQL, que suelen depender del motor de base de
datos con el que se esté trabajando, se utiliza un dialecto de acceso a datos basado
en clases y objetos.
Vistas
Las vistas, como su nombre nos hace entender, contienen el código de nuestra
aplicación que va a producir la visualización de las interfaces de usuario, o sea, el
código que nos permitirá enderezar los estados de nuestra aplicación en HTML. En las
vistas nada más tenemos los códigos HTML y PHP que nos permite mostrar la salida.
En la vista generalmente trabajamos con los datos, sin embargo, no se realiza un
acceso directo a éstos. Las vistas requerirán los datos a los modelos y ellas se
14 Controladores
Contiene el código necesario para responder a las acciones que se solicitan en la
aplicación, como visualizar un elemento, realizar una compra, una búsqueda de
información, etc.
En realidad es una capa que sirve de enlace entre las vistas y los modelos,
respondiendo a los mecanismos que puedan requerirse para implementar las
necesidades de nuestra aplicación. Sin embargo, su responsabilidad no es manipular
directamente datos, ni mostrar ningún tipo de salida, sino servir de enlace entre los
modelos y las vistas para implementar las diversas necesidades del desarrollo.
CakePhp
Según (Marín, 2014)Es un frameworks o marco de trabajo que facilita el desarrollo de
aplicaciones web, utilizando el patrón de diseño MVC (Modelo-vista-controlador), es de
código abierto y se lo distribuye bajo la licencia MIT. El mayor objetivo de este
frameworks es permitirnos trabajar de forma estructurada, rápida y sin pérdida de
flexibilidad.
Ventajas al trabajar con un frameworks como CakePHP
La principal ventaja es el rápido desarrollo web porque existe una integración con
patrones de diseño (MVC) y esto implica que los desarrolladores no necesitan gastar
el tiempo intentando resolver problemas que siempre estarán presentes ya que
CakePHP ya tiene una solución anticipada para solventarlos. De esa forma es que el
desarrollador estará siempre centrado en lo principal de una aplicación web que es
construir una lógica y funcionalidad especifica acorde a los requerimientos de la
aplicación.
Funcionamiento del patrón MVC con CakePHP
MVC es un patrón de arquitectura de software que separa los datos de una aplicación
15
capas distintas: los datos que son los modelos, la lógica de la aplicación que se
encuentran en los controladores y las interfaces que son las vistas.
Modelos en CakePHP
Cuando hablamos de un modelo en CakePHP nos referiremos siempre a una tabla de
la base de datos en particular, es decir que cada tabla que componga la base de datos
de la aplicación debe tener siempre un modelo que lo represente, este modelo
realizará toda la interacción con las bases de datos. El modelo también definirá
relaciones con otros modelos, eso quiere decir que las tablas de las bases de datos
también se relacionarán entre sí.
Controladores en CakePHP
Son los que controlan la lógica de la aplicación web, este recibirá peticiones y su
lógica decidirá qué respuesta es la que tiene que generar, generalmente contendrá
llamadas a modelos para acceder a los datos si así se requiere para posteriormente
enviar una respuesta que se visualizará mediante las vistas.
Vistas en CakePHP
Las vistas son las salidas de las respuestas que serán enviadas al usuario,
generalmente esto se representa en código HTML y que a su vez contendrá código
PHP. Las vistas será el medio por el cual el usuario interaccione con la aplicación web.
JQuery
Según (Estrada WebGroup, 2015) jQuery es una biblioteca de JavaScript, que permite
simplificar la manera de interactuar con los documentos HTML, manipular el árbol
DOM, manejar eventos, desarrollar animaciones (FLV), JQuery es uno de los
complementos más esenciales para el desarrollo web, usado en millones de sitios en
toda la web, ya que nos facilita mucho el desarrollo de aplicaciones enriquecidas del
lado del cliente, en Javascript, compatibles con todos los navegadores.
Para los que se inician, conviene aclarar que jQuery no es un lenguaje, sino una serie
16
una librería que podemos usar opcionalmente si queremos facilitar nuestra vida
cuando programamos en Javascript. A veces nos podemos referir a jQuery como
frameworks o incluso como un API de funciones, útiles en la mayoría de proyectos
web.
Ventajas de utilizar jQuery
Mejora el rendimiento de la aplicación web
Es ligero y más rápido en comparación con la escritura de JavaScript
Lenguaje Independiente Ejemplo: Asp.Net, PHP, HTML, JSP, etc.
Navegador compatible: funciona con la mayoría de los navegadores.
Puede hacer las funciones de interfaz de usuario complejas fácilmente con
unas pocas líneas de código.
Puede aplicar AJAX dentro de aplicaciones web. Se puede utilizar para evitar la
ida y vuelta de la página completa al servidor, pero capaz de realizar las
operaciones a base de datos.
Es la biblioteca de código abierto, que también se integra oficialmente en
Visual Studio 2010, 2012 y 2013.
Ajax
Según (Aprende Web , 2016) AJAX son las siglas de Asynchronous JavaScript And
XML, (Javascript asíncrono y XML). No es en sí un lenguaje de programación, sino
una nueva técnica que combina varios lenguajes de programación.
La ventaja de Ajax respecto a otros lenguajes de programación web es la sincronía.
Esto consiste en que cuando queremos intercambiar datos con el servidor (por
ejemplo enviar o comprobar un formulario, consultar una base de datos, etc), la página
no se queda parada esperando la respuesta, sino que se pueden seguir ejecutando
acciones mientras tanto.
Con Ajax podemos crear páginas interactivas. En éstas solicitamos datos al servidor,
los cuales podemos tener guardados en otras páginas o en bases de datos. El servidor
devuelve los datos, los cuales se cargan en la misma página y en segundo plano. Lo
17
página no se queda parada, y el usuario o la programación de la página pueden seguir
haciendo otras cosas.
Componentes de AJAX
Ajax es una combinación de los siguientes lenguajes de programación y elementos:
HTML (o XHTML) y CSS: Base para el diseño de la página.
DOM y Javascript: Forma de acceder dinámicamente a las partes de la página.
objeto XMLHttpRequest: Es el que permite la comunicación asíncrona (en
segundo plano) con el servidor.
XML: Formato en el que están los datos que se solicitan al servidor; aunque
otros formatos también pueden funcionar, como son HTML, texto plano (txt),
json... etc.
PHP: En este manual trataremos también cómo mandar datos al servidor. Este
los recoge mediante PHP. Una vez enviados pueden guardarse en una base
de datos o procesarlos para enviar alguna información.
Css Bootstrap
Según (Johanny Solis, 2014) Bootstrap, es un frameworks originalmente creado por
Twitter, que permite crear interfaces web con CSS y JavaScript, cuya particularidad es
la de adaptar la interfaz del sitio web al tamaño del dispositivo en que se visualice. Es
decir, el sitio web se adapta automáticamente al tamaño de una PC, una Tablet u otro
dispositivo. Esta técnica de diseño y desarrollo se conoce como ―responsive design‖ o
diseño adaptativo.
El beneficio de usar responsive design en un sitio web, es principalmente que el sitio
web se adapta automáticamente al dispositivo desde donde se acceda. Lo que se usa
con más frecuencia, y que a mi opinión personal me gusta más, es el uso de media
queries, que es un módulo de CSS3 que permite la representación de contenido para
adaptarse a condiciones como la resolución de la pantalla y si trabajás las
dimensiones de tu contenido en porcentajes, puedes tener una web muy fluida capaz
18
Bootstrap tiene un soporte relativamente incompleto para HTML5 y CSS 3, pero es
compatible con la mayoría de los navegadores web. La información básica de
compatibilidad de sitios web o aplicaciones está disponible para todos los dispositivos
y navegadores. Existe un concepto de compatibilidad parcial que hace disponible la
información básica de un sitio web para todos los dispositivos y navegadores. Por
ejemplo, las propiedades introducidas en CSS3 para las esquinas redondeadas,
gradientes y sombras son usadas por Bootstrap a pesar de la falta de soporte de
navegadores antiguos. Esto extiende la funcionalidad de la herramienta, pero no es
requerida para su uso.
1.2.5 Software.
Eclipse
Según (Gallardo, 2012) Eclipse fue desarrollado originalmente por IBM Canadá como
el sucesor de su familia de herramientas para VisualAge. Actualmente es desarrollado
por la Fundación Eclipse, una organización independiente sin ánimo de lucro que
fomenta una comunidad de Código abierto y un conjunto de productos
complementarios, capacidades y servicios. En noviembre del 2001, se formó un
consorcio para el desarrollo futuro de Eclipse como Código abierto. En 2003, la
fundación independiente de IBM fue creada
.
Esta plataforma, típicamente ha sido usada para desarrollar entornos de desarrollo
integrados (del inglés IDE), como el IDE de Java llamado Java Development Toolkit
(JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y que son usados
también para desarrollar el mismo Eclipse). Sin embargo, también se puede usar para
otros tipos de aplicaciones cliente, como BitTorrent Azureus.
Eclipse es una plataforma de desarrollo de código abierto basada en Java. Por si
misma, es simplemente un marco de trabajo y un conjunto de servicios para la
construcción del entorno de desarrollo de los componentes de entrada.
Afortunadamente, Eclipse tiene un conjunto de complementos, incluidas las
Herramientas de Desarrollo de Java (JDT).
Mientras que la mayoría de los usuarios están felices de usar Eclipse como un IDE de
19
Desarrollo de Complementos (PDE), que es de interés principalmente para los
desarrolladores que quieren extender Eclipse, dado que les permite construir
herramientas que se integran sin dificultades con el entorno de Eclipse. Dado que todo
en Eclipse es un complemento, todos los desarrolladores de herramientas tienen un
campo de juego de nivel para ofrecer extensiones a Eclipse y para proporcionar un
entorno de desarrollo integrado y unificado para los usuarios.
Eclipse es un código abierto.
El software de código abierto es un software lanzado con una licencia que pretende
asegurarse de que se les otorguen ciertos derechos a los usuarios. Por supuesto, el
derecho más obvio es que el código fuente debe estar disponible, entonces los
usuarios tienen la libertad de modificar y de re distribuir el software.
Esta protección de los derechos de los usuarios se alcanza con un dispositivo
denominado copyleft: la licencia del software solicita la protección del derecho de autor
y prohíbe la distribución, a menos que el usuario tenga esos derechos. El copyleft
también requiere que cualquier software redistribuido sea cubierto por la misma
licencia. De hecho, por este motivo, el propósito del derecho de autor se sostiene en
su título — al utilizar el derecho de autor para otorgar derechos al usuario, en lugar de reservarlos para el desarrollador de software — copyleft a menudo se describe como
"todos los derechos revocados".
Los desarrolladores que crean complementos para Eclipse o que utilizan eclipse como
la base para una aplicación de desarrollo de software deben lanzar algún código de
Eclipse que utilicen o modificarlo bajo el CPL, pero tienen la libertar de licenciar sus
propias adiciones de la manera que quieran. El código propietario unido agrupado con
el software de Eclipse no necesita licenciarse como un código abierto y el código
fuente no necesita estar disponible.
Principales características.
Perspectivas, editores y vistas: en Eclipse el concepto de trabajo está basado en las perspectivas, que no es otra cosa que una pre configuración de ventanas y editores,
relacionada entre sí, y que nos permiten trabajar en un determinado entorno de trabajo
20
Gestión de proyectos: el desarrollo sobre Eclipse se basa en los proyectos, que son el conjunto de recursos relacionados entre sí, como puede ser el código fuente,
documentación, ficheros configuración, árbol de directorios,... El IDE nos
proporcionará asistentes y ayudas para la creación de proyectos. Por ejemplo, cuando
creamos uno, se abre la perspectiva adecuada al tipo de proyecto que estemos
creando, con la colección de vistas, editores y ventanas pre configurada por defecto.
Depurador de código: se incluye un potente depurador, de uso fácil e intuitivo, y que visualmente nos ayuda a mejorar nuestro código. Para ello sólo debemos ejecutar el
programa en modo depuración (con un simple botón). De nuevo, tenemos una
perspectiva específica para la depuración de código, la perspectiva depuración, donde
se muestra de forma ordenada toda la información necesaria para realizar dicha tarea.
Extensa colección de plugins: están disponibles en una gran cantidad, unos publicados por Eclipse, otros por terceros. Al haber sido un estándar de facto durante
tanto tiempo (no el único estándar, pero sí uno de ellos), la colección disponible es
muy grande. Los hay gratuitos, de pago, bajo distintas licencias, pero casi para
cualquier cosa que nos imaginemos tenemos el plug-in adecuado.
1.2.6 Procesos de Negocio.
Según (Ould, 2011) un proceso de negocio es un conjunto de tareas relacionadas
lógicamente llevadas a cabo para lograr un resultado de negocio definido. Cada
proceso de negocio tiene sus entradas, funciones y salidas. Las entradas son
requisitos que deben tenerse antes de que una función pueda ser aplicada. Cuando
una función es aplicada a las entradas de un método, tendremos ciertas salidas
resultantes.
Es una colección de actividades estructurales relacionadas que producen un valor
para la organización, sus inversores o sus clientes. Es, por ejemplo, el proceso a
través del que una organización ofrece sus servicios a sus clientes.
Un proceso de negocio puede ser parte de un proceso mayor que lo abarque o bien
puede incluir otros procesos de negocio que deban ser incluidos en su función. En
este contexto un proceso de negocio puede ser visto a varios niveles de granularidad.
21
a ver los procesos de negocio como los flujos de trabajo que efectúan las tareas de
una organización.
Los procesos poseen las siguientes características:
1. Pueden ser medidos y están orientados al rendimiento,
2. Tienen resultados específicos.
3. Entregan resultados a clientes o ―stakeholders‖.
4. Responden a alguna acción o evento específico.
5. Las actividades deben agregar valor a las entradas del proceso.
Los procesos de negocio pueden ser vistos como un recetario para hacer funcionar un
negocio y alcanzar las metas definidas en la estrategia de negocio de la empresa. Las
dos formas principales de visualizar una organización, son la vista funcional y la vista
de procesos.
Tipos de procesos empresariales o de negocios.
Según (Pacheco, 2017) existen tres Tipos de Procesos.
Primarios o esenciales
Los procesos más importantes.
El contacto directo con el cliente.
Entregan valor al cliente directamente.
A veces van más allá de los límites de la empresa.
Una visión completa de la cadena de valor.
De soporte o apoyo
Formalmente establecidos.
Apoyan los procesos primarios.
Sin contacto con el cliente.
No entregan valor al cliente directamente.
Administrativos o de gestión
Formalmente establecidos.
22
Buscan la eficiencia y eficacia de la empresa.
Miden, monitorean y controlan.
No entregan valor al cliente directamente.
BPM (Business Process Management) y la gestión de procesos de una empresa.
El objetivo final de un proyecto BPM es agregar valor al negocio. Por lo tanto, es
esencial aliarse a la tecnología para poder tener un acceso rápido a información
segura, actualizada y de calidad. Sólo de esa forma se puede demostrar los resultados
y la forma en que contribuyen a la creación de valor en la empresa de manera
transparente.
Etapas.
Según (Ángel, 2010) definir una metodología para la aplicación de la gestión basada
en procesos, la que comprenderá las siguientes fases o etapas:
Etapa 1 - Información, formación y participación
Cuando se trata de adoptar una nueva metodología y cambiar la forma de pensar y de
trabajar de las personas, es esencial la información y también la formación que se les
brinde.
Por ello, la implementación de la gestión en base a los procesos debe realizarse de la
forma más participativa posible. En el caso de tener que diseñar nuevos procesos, o
del rediseño de otros, se deberá dar participación a las personas que los tendrán que
ejecutar y que son quienes mejor conocen las situaciones que se planteen.
Se deben evitar las imposiciones desde instancias superiores, que, en definitiva,
terminan muchas veces complicando la implementación. Se debe informar al personal
sobre cuáles son los objetivos del proceso, sus etapas, los resultados esperados, la
colaboración requerida, etc. Para esto, desde el punto de vista práctico, se realizarán
Talleres de Trabajo donde se brindará la formación adecuada, enseñándose la
23
Deben analizarse qué factores están influenciando el accionar de la organización,
identificando resultados y efectos en la gestión diaria, y diferenciando los resultados
que son producto de factores externos, de los que son producto de factores internos.
Para este análisis, se pueden aplicar técnicas como la tormenta de ideas
(brainstorming), realizada por cada área funcional y a nivel de toda la organización.
Etapa 2 - Identificación de los procesos y definición de las fronteras de cada uno
Para poder trabajar sobre los procesos es necesario identificarlos. Esto se llevará a
cabo elaborando una lista de todos los procesos y actividades que se desarrollan en la
organización, teniendo en cuenta los siguientes aspectos:
El nombre con que se identifique a cada proceso debe representar claramente
lo que se hace en él.
Todas las actividades que se llevan a cabo en la organización, deben estar
incluidas en alguno de los procesos listados. En caso contrario no son
relevantes o importantes por lo cual se pueden descartar.
Aunque el número de procesos depende del tipo de empresa, si se identifican
pocos procesos o por el contrario demasiados, se aumentan las dificultades de
gestión posterior.
Con los procesos identificados, cada grupo de trabajo definirá el mapa de procesos
que le corresponde, tratando de verificar cuáles son los procesos importantes que se
realizan. Debe tenerse en cuenta que se considera como importante a todo aquello
que tiene incidencia en la satisfacción del cliente o en la operatoria de la
organización.
Se tendrán que analizar:
Los límites del proceso identificando las entradas y salidas, reconociendo a los
proveedores y a los clientes del proceso, así como aquellos otros procesos con
que tiene alguna relación.
Dentro del proceso hay que reconocer y documentar las actividades y
subprocesos relacionados.
Se debe definir de qué manera se están realizando hoy los procesos,
analizando los documentos existentes con los procedimientos, los indicadores
24 Etapa 3 - Selección de los procesos clave
Una vez establecido el listado de todos los procesos, deben diferenciarse los procesos
relevantes y los procesos clave.
Definimos como proceso relevante a una secuencia de actividades orientadas a
generar valor agregado sobre una entrada, para conseguir un resultado que satisfaga
plenamente los objetivos, las estrategias de una organización y los requerimientos del
cliente.
Una de las características principales que normalmente tienen los procesos
relevantes es que son interfuncionales, pudiendo cruzar vertical y horizontalmente la
organización.
En tanto que procesos clave son aquellos procesos que forman parte de los procesos
relevantes y que inciden de manera significativa en los objetivos estratégicos, siendo
críticos para el éxito del negocio.
Etapa 4 - Nombrar al responsable del proceso
Cuando han sido seleccionados los procesos relevantes y claves, se debe nombrar un
responsable o propietario, para cada uno de ellos (el dueño del proceso).
A partir de ese momento el responsable del proceso contará con autonomía de
actuación y con la responsabilidad de dar respuesta a los objetivos estratégicos.
Etapa 5 - Revisión y análisis de los procesos y detección de los problemas.
En esta instancia hay que analizar cada proceso, partiendo de los más importantes, de
acuerdo a lo definido en el punto 3. Elegido el proceso, hay que verificar de qué
manera éste da respuesta a los objetivos estratégicos, y si no es así, habrá que
abordar el diseño o rediseño del proceso.
Etapa 6 - Corrección de los problemas.
A partir de los resultados de la etapa anterior, donde han quedado definidos los
problemas que presenta el proceso y que tienen mayor incidencia sobre los objetivos
estratégicos de la organización y sobre los clientes internos y/o externos del mismo, se
considerarán las posibilidades reales de solución a los problemas de forma viable para
25
solucionar los que mayor efecto tienen sobre el desempeño del proceso, considerando
su factibilidad de aplicación y el impacto integral sobre todo el sistema.
Etapa 7 - Establecimiento de indicadores.
Los procesos deben ser evaluados periódicamente ya que partiendo de las
evaluaciones que se realicen, se pueden determinar los puntos débiles y de esta forma
establecer una estrategia completa encaminada a mejorar su funcionamiento.
Se debe conocer qué es lo que interesa medir y cuándo, para controlar y mejorar los
procesos. Se efectuarán mediciones de fallas internas, externas, satisfacción del
cliente, tasa de errores, tiempos de respuesta, calidad, cuellos de botella, etc.
La evaluación del nivel de funcionamiento de un proceso, se realiza tomando como
referencia un patrón de comparación denominado patrón de excelencia funcional del
proceso, formado con los estándares de evaluación que se definan y que funcionarán
como indicadores.
Herramientas de la XP
Historias de Usuarios
Son tarjetas físicas en las cuales se anota una descripción de una funcionalidad del
sistema, en una oración, se le da un número y un título para ser identificada.
Casos de Prueba de Aceptación
Son tarjetas que se elaboran para realizar las pruebas de cada historia de usuario.
Reglas y Practicas.
Planificación
La metodología XP plantea la planificación como un dialogo continuo entre las partes
involucradas en el proyecto, incluyendo al cliente, a los programadores y a los
26
de usuarios‖, los programadores evalúan rápidamente el tiempo de desarrollo de cada una. Si alguna de ellas tiene ―riesgos‖ que no permiten establecer con certeza la complejidad del desarrollo, se realizan pequeños programas de prueba (―spikes’), para
reducir estos riesgos. Una vez realizadas estas estimaciones, se organiza una reunión
de planificación, con los diversos actores del proyecto (cliente, desarrolladores,
gerentes), a los efectos de establecer un plan o cronograma de entregas (―Release
Plan’) en los que todos estén de acuerdo.
Una vez acordado este cronograma, comienza una fase de iteraciones, en
dónde en cada una de ellas se desarrolla, prueba e instala unas pocas
―historias de usuarios‖. (Joskowicz, 2008).
Diseño
La metodología XP hace especial énfasis en los diseños simples y claros.
Los conceptos más importantes de diseño en esta metodología son los
siguientes:
Simplicidad: Un diseño simple se implementa más rápidamente que uno complejo. Por ello XP propone implementar el diseño más simple posible
que funcione.
Se sugiere nunca adelantar la implementación de funcionalidades que no
correspondan a la iteración en la que se esté trabajando.
Soluciones “spike”: Cuando aparecen problemas técnicos, o cuando es difícil de estimar el tiempo para implementar una historia de usuario,
pueden utilizarse pequeños programas de prueba (llamados ―spike‖1), para
explorar diferentes soluciones. Estos programas son únicamente para
probar o evaluar una solución, y suelen ser desechados luego de su
evaluación.
Recodificación: La recodificación (―refactoring’) consiste en escribir
nuevamente parte del código de un programa, sin cambiar su
funcionalidad, a los efectos de hacerlo más simple, conciso y/o entendible.
27
que, si lo comenzáramos de nuevo, lo hubiéramos hecho en forma
diferente, mas clara y eficientemente. Sin embargo, como ya está pronto y
―funciona‖, rara vez es reescrito.
Metáforas: Una ―metáfora‖ es algo que todos entienden, sin necesidad de
mayores explicaciones.
La metodología XP sugiere utilizar este concepto como una manera
sencilla de explicar el propósito del proyecto, y guiar la estructura y
arquitectura del mismo. Por ejemplo, puede ser una guía para la
nomenclatura de los métodos y las clases utilizadas en el diseño del
código. Tener nombres claros, que no requieran de mayores explicaciones,
redunda en un ahorro de tiempo.
Es muy importante que el cliente y el grupo de desarrolladores estén de
acuerdo y compartan esta ―metáfora‖, para que puedan dialogar en un ―mismo idioma‖. Una buena metáfora debe ser fácil de comprender para el
cliente y a su vez debe tener suficiente contenido como para que sirva de
guía a la arquitectura del proyecto. (Joskowicz, 2008)
Desarrollo del Código
Disponibilidad del cliente: Uno de los requerimientos de XP es tener al cliente disponible durante todo el proyecto. No solamente como apoyo a
los desarrolladores, sino formando parte del grupo. El involucramiento del
cliente es fundamental para que pueda desarrollarse un proyecto con la
metodología XP.
Al comienzo del proyecto, el cliente debe proporcionar las historias de
usuarios. Pero, dado que estas historias son expresamente cortas y de
―alto nivel‖, no contienen los detalles necesarios para realizar el desarrollo
del código. Estos detalles deben ser proporcionados por el cliente, y
discutidos con los desarrolladores, durante la etapa de desarrollo. No se
requieren de largos documentos de especificaciones, sino que los detalles
son proporcionados por el cliente, en el momento adecuado, ―cara a cara‖
28 Pruebas
Pruebas Unitarias: Las pruebas unitarias son una de las piedras angulares de XP. Todos los módulos deben de pasar las pruebas unitarias
antes de ser liberados o publicados. Por otra parte, como se mencionó
anteriormente, las pruebas deben ser definidas antes de realizar el código
(―Test-driven programming’). Que todo código liberado pase correctamente
las pruebas unitarias es lo que habilita que funcione la propiedad colectiva
del código.
Detección y corrección de errores
Cuando se encuentra un error (―bug‖), éste debe ser corregido
inmediatamente, y se deben tener precauciones para que errores similares
no vuelvan a ocurrir. Asimismo, se generan nuevas pruebas para verificar
que el error haya sido resuelto.
Pruebas de aceptación
Las pruebas de aceptación son creadas en base a las historias de
usuarios, en cada ciclo de la iteración del desarrollo. El cliente debe
especificar uno o diversos escenarios para comprobar que una historia de
usuario ha sido correctamente implementada.
Las pruebas de aceptación son consideradas como ―pruebas de caja negra‖ (―Black box system tests’). Los clientes son responsables de
verificar que los resultados de estas pruebas sean correctos. Asimismo, en
caso de que fallen varias pruebas, deben indicar el orden de prioridad de
resolución.
Una historia de usuario no se puede considerar terminada hasta tanto pase
correctamente todas las pruebas de aceptación.
Dado que la responsabilidad es grupal, es recomendable publicar los
resultados de las pruebas de aceptación, de manera que todo el equipo
29
1.3. Análisis crítico sobre WorkFlow y modelos de negocio.
El objetivo fundamental de un sistema de información es apoyar la toma de decisiones
y controlar todo lo que en ella ocurre.
El estudio de los sistemas de información surgió como una sub disciplina de las
ciencias de la computación, con el objetivo de racionalizar la administración de la
tecnología dentro de las organizaciones. El campo de estudio fue avanzando hasta
pasar a ser parte de los estudios superiores dentro de la administración.
Desde un punto de vista empresarial, los sistemas de información pueden clasificarse
de diversas formas. Existen, por ejemplo, sistemas de información gerencial (con el fin
de resolver conflictos en empresas), sistemas de procesamiento de transacciones (que
se encargan de manejar la información en el contexto de los intercambios
comerciales), sistemas de información ejecutiva (para los directivos).
Dentro del sistema LUAF con la ejecución de las herramientas mencionadas como
son: Postgres, eclipse, CakePHP, proporciona un mayor manejo y rendimientos en
cuestión de tiempo y costos para los usuarios y personal administrativo de la
institución para el control de permisos de funcionamiento de locales comerciales.
1.4 Conclusiones del Capitulo
El código abierto de Eclipse se ha vuelto tan estratégico para las
organizaciones que ahora es un gran contrincante de los competidores
privados.
Con la herramienta Bpm se puede duplicar fácilmente los procesos exitosos en
otras áreas de la organización, permite identificar cuellos de botella,
comprender los motivos raíz y aplicarlas correcciones rápidamente.
Mediante la implementación de Sistema LUAF se gestiona con mayor rapidez
30
CAPITULO II
Marco metodológico y planteamiento de la propuesta
2.1. Caracterización del GADM Cantonal de Pastaza
Los Gobiernos Autónomos Descentralizados Municipales son personas jurídicas de
derecho público, con autonomía política, administrativa y financiera, integradas por las
funciones ejecutivas, legislación y fiscalización y de participación ciudadana, para el
ejercicio de las funciones y competencias que le corresponden. La ciudad del Puyo
capital de la Provincia de Pastaza, fue fundada por el Padre misionero dominicano
Álvaro Valladares, el 12 de Mayo de 1899, su nombre proviene de la palabra quichua
Puyu, que quiere decir neblina. La provincia de Pastaza es creada en 1959 (Registro
Oficial No. 963), entre 1950 - 1962, el cantón Pastaza crece en un 77,14% y Puyo lo
hace en un 109,7%. La construcción de la vía Puyo - Tena y la Ley de Reforma
Agraria y Colonización de 1964 permitirá que en 1974 se entreguen 73.143 ha a 1.734
familias en la provincia.
La presente investigación se realizó en el Cantón Pastaza de la Provincia de Pastaza,
ubicada en el centro de la Región Amazónica Ecuatoriana; a 250 Km. de la Capital del
Ecuador, en el GAD Municipal del cantón Pastaza, la misma que tiene infraestructura
propia en buen estado, suficiente para abastecer a todos los usuarios o pobladores, el
control de permisos de funcionamiento de locales comerciales de la institución es de
forma manual, por lo tanto existe la dificultad de controlar los permisos de
funcionamiento de los locales comercial, lo que indica que este es uno de los puntos
más importantes para poder realizar y destacar nuestro proyecto de investigación a
realizarse.
Misión
Somos una institución transparente y eficiente, que promueve la participación
organizada de la ciudadanía y la coordinación, para la entrega de obras y servicios
públicos de calidad; con respeto al medio ambiente y garantizando el desarrollo de las
actividades económicas, sociales, culturales, recreativas y de inclusión de la población