• No results found

Answer to the primary research question

CHAPTER 5: ANALYSIS AND ANSWER TO THE MAIN RESEARCH QUESTION

5.3. Answer to the primary research question

A través del modelo espiral, el cual nos proporcionó un marco de trabajo estructurado, por medio del desarrollo de cuatro tareas ya establecidas, se definieron los objetivos específicos del proyecto, se analizaron los riesgos y de esta forma se validaron para luego realizar la planificación del desarrollo del proyecto.

Por otro lado se analizó y se definió llevar a cabo tres iteraciones del modelo, como se muestra en la Tabla 12. Iteraciones del modelo para el desarrollo de la aplicación cada una de ellas permitió identificar el progreso del proyecto y así se logró obtener prototipos en cada una de las fases, las cuales fueron analizadas con el cliente al final de cada una de ellas, siempre controlando la gestión de riesgos.

Tabla 12. Iteraciones del modelo para el desarrollo de la aplicación

Iteración Descripción

Iteración I

En la iteración I, se desarrollaron las cuatro tareas descritas en la Tabla 2. Componentes Modelo Espiral, en este primer bucle del espiral se definieron los requerimientos del sistema, se tuvieron en cuenta los riesgos en base a los requerimientos y comentarios del cliente, para luego planificar y de esta forma construir el modelo de la aplicación completa, finalmente se logró obtener un prototipo inicial de la aplicación

Iteración II

En la iteración II, se desarrollaron las cuatro tareas descritas en la Tabla 2. Componentes Modelo Espiral, en este segundo bucle del espiral se realizó una evaluación con el cliente en base al prototipo obtenido en la iteración I y de esta forma se concluyó una adaptación en algunos de los requerimientos del sistema, y así se logró obtener un segundo prototipo de la aplicación.

Iteración III

En la iteración III, se desarrollaron las cuatro tareas descritas en la Tabla 2. Componentes Modelo Espiral, en este tercer bucle del espiral, se realiza una reunión con el cliente evaluando el prototipo obtenido en la iteración II, con lo que se concluye la adaptación final del desarrollo del proyecto.

Fuente: Autor

A continuación se explica cómo fue la instalación del framework Ruby on Rails con el patrón de diseño MVC

Instalación de Ruby on Rails

La instalación se llevó a cabo en Linux, para dar inicio se abrió la consola, más conocida como terminal en Ubuntu, Luego se continuo con la instalación de RVM (Ruby Version Mananger), a través de RVM se puede instalar Ruby, además permite administrar RubyGems por otro lado se pueden tener varias versiones de Ruby.

 Se instalaron los paquetes del S.O requeridos por Ruby Version Mananger, ejecutando el siguiente comando

$ sudo apt-get install -y git-core subversion

 Se instaló la firma de RVM, la cual permite la comprobación de las diferentes versiones, ejecutando el siguiente comando:

Gpg --eyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

 Se instaló RVM, el cual se encarga de instalar las últimas versiones estables de RVM, Ruby y Rails con, ejecutando el siguiente comando:

\curl -sSL https://get.rvm.io | bash -s stable --rails –ruby

 Para continuar es importante cerrar la terminal y abrir una nueva, luego se comprobó la correcta configuración de RVM ejecutando el siguiente comando:

Type rvm | head -n -1

 Se comprobaron los comando RVM, Ruby, Irb, Ge, ejecutando el siguiente comando

$ rvm list

A continuación se muestra, el resultado que se obtuvo después de haber ejecutado el comando anteriormente mencionado:

rvm rubies

=* ruby-5.0.0-p85 [ x86_64 ]

# => - current # =* - current && default # * - default

$ gem -v 2.4.6 $ ruby -v ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux] $ irb 2.2.1 :001 > puts 'Hola' Hola

=> nil

2.2.1 :002 > quit

 Se instaló el sistema de control de versiones Git, ejecutando el siguiente comando en la consola:

$ brew install git

Instalación de Postgres y Pg Admin

 Para la instalación de Postgres se ejecutó el siguiente comando en la terminal de Ubuntu

$ sudo apt-get install postgresql postgresql-contrib

 Para ingresar a postgres desde la terminal de Ubuntu se debe correr el siguiente comando:

$ sudo -u postgres psql postgres

 Se realizó la configuración del password para el usuario Postgres. =# \password postgres nueva contraseña: repetir contraseña: =# \q

 Se configuro una conexión local en postgres así:

name: Localhost host: Localhost puerto: 5432

Configuración de Postgres en Rails

 Se ingresó al archivo Gemfile y se agregó la siguiente gema

gem 'pg'

 Se configuró en el archivo /app/config/database.yml, como se muestra a continuación: development: adapter: postgresql encoding: unicode database: siss_dev host: localhost username: postgres password: bruno test: adapter: postgresql encoding: unicode database: siss_test

host: localhost username: postgres password: bruno production: adapter: postgresql encoding: unicode database: siss_produ host: localhost username: postgres password: bruno

Posteriormente se ejecutó el comando que se muestra a continuación, para crear el nuevo proyecto en Rails.

$ rails new siss

Es importante destacar las gemas que se muestran en la Tabla 13. Gemas las cuales se instalaron, ejecutando el comando bundle install en la consola, para llevar a cabo el desarrollo de algunas de las actividades de los módulos propuestos para el proyecto de una manera más fácil y rápida, gracias a las ventajas que nos brinda Ruby on Rails con su archivo Gemfile que nos permite utilizarlas según sea la necesidad.

Tabla 13. Gemas implementadas en la aplicación

Gemas Descripción

gem ‘bootstrap-sass’, ‘~> 3.0.2.1’

Bootstrap es un framework que usa CSS y JavaScript, permitiendo desarrollar de una manera más fácil el frontend de la aplicación.

Gem ‘devise’ Devise se encarga de gestionar la autenticación de los usuarios del sistema, permite crear cuentas, iniciar o cerrar sesión y modificar los perfiles del usuario, brindando seguridad a la aplicación

gem ‘font-awesome- rails’

Font-awesome son iconos de vectores, que pueden usarse para dar un buen estilo a las aplicaciones cuentan con diferentes clases a la hora de usar bootstrap.

Gem ‘material_icons’

Material_icons

gem ‘carrierwave’, ‘~> 1.0’

Carrierwave permite almacenar y procesar archivos y a través de las clases uploader se pueden especificar reglas para los documentos que adjuntan los usuarios.

Gem ‘wicked_pdf’

Gemas Descripción

Gem ‘wkhtmltopdf- binary’

Wkhtmltopdfbinary, A través de esta gema se puede pasar de HTML a PDF, sin necesidad de un DSL.

Gem ‘bootstrap- datepicker-rails’

Bootstrap-datepicker-rails, es un selector que permite seleccionar una fecha en la aplicación.

Gem ‘bootstrap-sass’, ‘~> 3.0.2.1’

Bootstrap-sass, para hacer uso de bootstrap es necesario tener instala esta gema.

Fuente: Autor

También se muestra en la Figura 21. Archivo Gemfile en el que se puede apreciar las gemas mencionadas en la Tabla 13. Gemas implementadas en la aplicación y las que ya vienen por defecto al crear una aplicación en Rails.

Figura 21. Archivo Gemfile

Fuente: Autor

Para llevar a cabo la instalación de las gemas que se muestran en la Tabla 13. Gemas implementadas en la aplicación se ejecutó el siguiente comando en la terminal:

$ bundle install

 Se ingresó a la siguiente ruta app/assets/stylesheets/application.css.sass y se importó lo siguiente:

@import "bootstrap-sprockets" @import "bootstrap"

 Se ingresó a la siguiente ruta app/assets/javascripts/application.js y se agregó:

//= require jquery //= require jquery_ujs //= require turbolinks //= require bootstrap-sprockets //= require_tree .

Posteriormente se generaron los modelos, controladores y vistas para la aplicación, utilizando la técnica scaffold, a través de ella se pudo crear un CRUD, de una manera fácil y rápida.

A continuación se muestra un ejemplo de scaffold con la tabla user, para llevar a cabo esto se ejecutó el siguiente comando en la consola:

$ rails g scaffold user usnombre:string usapellido: string usemail: string uspassword: string usrole:number procedure:references request:references

Al ejecutar el anterior comando, se generó el modelo user y se crearon las migraciones con sus respectivos atributos, además creo el controlador user con las acciones que se mencionan a continuación:  Index  Show  New  Create  Edit  Update  destroy

Para iniciar el servidor se debe ejecutar el siguiente comando en la terminal:

Durante el desarrollo de la fase 6, se llevó a cabo toda la construcción de la aplicación denominada Sistematización del Trámite expedición y/o renovación de licencias de salud ocupacional de la Secretaria de Salud de Boyacá, el propósito era brindar una solución en línea optimizada para la entidad anteriormente mencionada.

Por otro lado, a continuación se mencionan cada una de las funciones de la aplicación: La aplicación web se encarga de agilizar el trámite expedición y/o renovación de Licencias de Salud Ocupacional, a través de una plataforma en línea que se muestra en la Figura 22. Aplicación Web que les permite a los ciudadanos realizar todo el proceso por medio de ella.

Figura 22. Aplicación Web

Fuente: Autor

Los profesionales, técnicos o tecnólogos que se desempeñen en áreas de la Salud, podrán ver la toda la información del proceso y los requisitos para poder realizar una solicitud del trámite de Licencias de Salud Ocupacional como se muestra en la Figura 23. Requisitos de solicitud del trámite.

Figura 23. Requisitos de solicitud del trámite

El proyecto está dividido en tres módulos como se muestran en la

Figura 2. Módulos del sistema, a continuación se muestran los prototipos correspondientes a cada uno de los módulos del sistema.

Módulo de usuarios

Crear usuario: La aplicación web le permite al administrador crear los diferentes roles de usuario para la aplicación a través del formulario crear usuario como se muestra en la Figura 24. Crear usuario.

Figura 24. Crear usuario

Registrar ciudadano: La aplicación web le permite a los ciudadanos y al usuario con rol digitador registrarse en el sistema a través del formulario registrar usuario, seleccionado el tipo de persona natural o jurídico según corresponda y diligenciando los campos correspondientes como se muestra en la Figura 25. Registrar ciudadano

Figura 25. Registrar ciudadano

Actualizar usuario: La aplicación web permite que el administrador pueda actualizar los datos de los usuarios del sistema como se muestra en la Figura 26. Editar usuario.

Figura 26. Editar usuario

Fuente: Autor Módulo de trámites

Realizar solicitud de trámite: La aplicación web permite al ciudadano realizar una solicitud del trámite a través de un formulario como se muestra en la

Figura 27. Crear solicitud ciudadano adjuntando cada uno de los documentos que se solicita en la aplicación web, además permite que el usuario con rol digitador quien se encuentra en la ventanilla de la Secretaria de Salud de Boyacá, pueda crearle una solicitud del trámite al ciudadano, a través del formulario que se muestra en la Figura 28. Nueva solicitud para el digitador para que esto se pueda realizar el digitador debe buscar al ciudadano en el sistema por su número de documento, si el ciudadano aún no se encuentra registrado en el sistema, el usuario con rol digitador debe registrarlo para posteriormente repetir el proceso.

Figura 27. Crear solicitud ciudadano

Figura 28. Nueva solicitud para el digitador

Fuente: Autor

Consultar el estado de la solicitud: La aplicación web permite que el ciudadano pueda consultar el estado de una solicitud, ingresando al link que dice mis solicitudes como se muestra en la Figura 29. Home, ciudadano registrado al ingresar a mis solicitudes la aplicación le despliega una pantalla como se muestra en la Figura 30. Mis solicitudes se encuentran dos opciones, una para que le permite al ciudadano ver los detalles de la solicitud como se muestra en la Figura 31. Ver solicitud y una segunda opción que le permite al ciudadano editar los documentos si es necesario o en el caso de que alguno sea como se muestra en la Figura 32. Editar solicitud

Figura 29. Home, ciudadano registrado

Fuente: Autor

Figura 30. Mis solicitudes

Figura 31. Ver solicitud

Figura 32. Editar solicitud

Fuente: Autor

Por otro lado también le permite al usuario con rol digitador poder consultar el estado de la solicitud del ciudadano, buscándolo en el sistema por el número de documento como se muestra en la Figura 33. Buscar solicitud como digitador el digitador también tiene dos opciones la primera le permite ver todos los detalles de la solicitud del trámite como se muestra en la Figura 31. Ver solicitud y una segunda opción que le permite al usuario con rol digitador editar los documentos de la solicitud del ciudadano en caso que sean rechazados o que el archivo no sea el correcto como se muestra en la Figura 32. Editar solicitud

Figura 33. Buscar solicitud como digitador

Fuente: Autor

Realizar seguimiento del trámite: La aplicación web le permite al usuario con rol responsable, hacer seguimiento de todas las solicitudes del trámite expedición y/o renovación de Licencias de Salud Ocupacional ingresando al link solicitudes como se muestra en la Figura 34. Home responsable posteriormente el sistema desplegara una pantalla con todas las solicitudes en donde se mostraran los detalles de cada solicitud como se muestra en la Figura 35. Solicitudes rol responsable al ingresar a la opción ver se muestran todos los detalles de la solicitud como se muestra en la Figura 36. Información del solicitante a través de este formulario el responsable puede identificar los datos básicos del solicitante, los documentos adjuntos con un link para la descarga, también puede cambiar el estado de la solicitud de trámite según sea el caso en base a los cuatro estados definidos, solicitado, aceptado, rechazado y terminado y finalmente el usuario responsable puede escribir las observaciones que crea convenientes para el ciudadano.

Figura 34. Home responsable

Fuente: Autor

Figura 35. Solicitudes rol responsable

Fuente: Autor

Consultar información del trámite: La aplicación web permite que los ciudadanos puedan consultar la información del trámite Licencias de Salud Ocupacional como se muestra en la Figura 37. Información del trámite

Figura 37. Información del trámite