Capítulo II
Diseño del Proyecto
1.- Antecedentes Teóricos y Tecnológicos:
Cabe considerar que se realizaron algunas investigaciones relacionadas al presente proyecto, con el objetivo de una propuesta aportando una alternativa para el uso de la aplicación; entre los que se pueden mencionar:
Guillen y Olmos en el (2006), que desarrollaron un sitio web para consultas de ahorro y préstamos de los asociados de la caja de ahorro del personal obrero caso: IUTM, el propósito de este proyecto fue diseñar un sitio web para consultas de ahorro y préstamo de la caja de ahorro del IUTM con la finalidad de informar a sus usuarios de sus estados de cuentas personales, cada vez que estos lo deseen. Utilizando como metodología los enfoques de Roger Preesman, quien adapta sus fases desde el análisis y la implementación del sitio a través de los cuales se establecen un conjunto de formularios y pantallas que son diseñadas en Dreamweaver y su base de dato en Mysql. Como resultado se obtuvo la creación del sitio web ya que es un medio eficaz y versátil de llevar la información a las demás áreas foráneas de la institución para lograr un mejor vínculo entre los asociados y la caja de ahorro.
Así mismo lo expone RODRIGUEZ Y VILLASMIL en el (2007), “Aplicación web para el registro y gestión de las actividades sociales y comunitarias que se realizan en la gerencia de mantenimientos de aplicaciones de PDVSA”. Utilizando como metodología la programación extrema y empleando como herramientas el Lenguaje P.H.P 5 y como manejador de base de datos Posgretsql. Dicho sistema cumple con todos los objetivos planteados, debido a que agiliza, mejora los procesos y ejecución de solicitudes de obras dentro de la gerencia tomando en cuenta que los datos serán almacenados dentro de una base de datos confiable y segura.
El resultado de dicho proyecto fue lo que encaminó a través de esa aplicación web incrementar el respaldo de información y registrar las diferentes solicitudes, lo que le brindo una información concreta y responsable de la empresa y sus servicios, logrando así un mejor manejo sobre los datos.
Es por ello, que este proyecto parte del desafío de pensar en nuevas propuestas y consolidar el uso de la informática que le brinda a la organización la utilización de la tecnología, consolidando el uso de Internet como una gran herramienta ya que estas tecnologías ofrecen las facilidades para el alcance de información y comunicaciones de una manera efectiva.
A nivel nacional cada vez se hace mas imprescindible las necesidades de crear una aplicación factible, utilizable y adaptable a las necesidades de las personas u organización.
2.- REFERENCIAS TEÓRICAS Y TECNOLÓGICAS
El proyecto se circunscribe al área de Ingeniería de Software, específicamente al desarrollo de aplicaciones web. Es por ello que fueron considerados algunos aspectos teóricos y técnicos relacionados con esta temática como serán desarrollados a continuación.
De forma breve según Sergio Lujan Mora (2002), una aplicación web “Se puede definir como una aplicación en la cual un usuario por medio de un navegador realiza peticiones a una aplicación remota accesible a través de Internet (o a través de una intranet) y que recibe una respuesta que se muestra en el propio navegador”, para la realización de una aplicación se emplean diferentes estilos de lenguaje como lo es el CSS 2.1 que Luc van Lancker (2007) lo define como un lenguaje de estilo que define la presentación de los documentos HTML. Por ejemplo, CSS abarca cuestiones relativas a fuentes, colores, márgenes, líneas, altura, anchura, imágenes de fondo, posicionamiento avanzado y muchos otros temas.
También se emplean bases de datos como el PostgreSQL definido porEloy Seoane (2005) como un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD. Es más completo que MySQL ya que permite métodos almacenados, restricciones de integridad, vistas, etc. Otra herramienta empleada esjQuery que es una biblioteca de JavaScript, creada inicialmente por John Resig, que permite simplificar la manera de interactuar con los documentosHTML, manipular el árbol DOM, manejar eventos, desarrollar animaciones y agregar interacción con la técnica AJAX a páginas web. La característica principal de la biblioteca es que permite cambiar el contenido de una página web sin necesidad de recargarla, mediante la manipulación del árbol DOM y peticiones AJAX.
En este mismo orden de ideas y según Pedro Muñoz Rodríguez (2008)dice que “PHP es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas. Se usa principalmente para la interpretación del lado del servidor (server-side scripting), es decir; nos permite crear un programa que se pueda ejecutar en el servidor desde un programa visualizador de páginas web y dar respuesta en función de los datos que introduzca el usuario”. Actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+.
3.- PROCEDIMIENTO PARA LA EJECUCIÓN DE LAS ACTIVIDADES
El resultado de la investigación está enmarcado por el desarrollo de una aplicación web, orientada según la metodología de programación extrema (XP), metodología inteligente ideal para el diseño de sitios web.
Dicha metodología es un enfoque de la ingeniería de software formulado por Kent Beck y De Jean en (1999); que consiste en una metodología ligera de desarrollo de software que se basa en la simplicidad, la comunicación y la realimentación o reutilización del código desarrollado, la cual está diseñada para el desarrollo de aplicaciones que requieren un grupo pequeño de programadores donde la comunicación es más factible y cuya particularidad es tener como parte del equipo, al usuario final, pues es uno de los requisitos para llegar al éxito del proyecto.
El ciclo de vida ideal de XP consiste en cinco fases:
I) Fase de la Exploración: En esta fase es que se define el alcance general del proyecto. El cliente define lo que necesita mediante la redacción de sencillas “historias de usuarios”. Los programadores estiman los tiempos de desarrollo en base a esta información. Debe quedar claro que las estimaciones realizadas son primarias (ya que estarán basadas en datos de muy alto nivel), y podrían variar cuando se analicen más en detalle en cada iteración.
Una historia de usuario es una representación de un requerimiento de software escrito en una o dos frases utilizando el lenguaje común del usuario. Las historias de usuario son utilizadas en las metodologías de desarrollo ágiles para la especificación de requerimientos (acompañadas de las discusiones con los usuarios y las pruebas de validación). Cada historia de usuario debe ser limitada, esta debería poderse escribir sobre una nota adhesiva pequeña. Dentro de la metodología XP las historias de usuario deben ser escritas por los clientes.
II) Fase de Planificación: Se priorizan las historias de usuario y se acuerda el alcance de entrega. Los programadores estiman cuánto esfuerzo requiere cada historia y a partir de allí se define el cronograma. La duración del cronograma de la primera entrega no excede normalmente dos meses. La fase de planeamiento toma un par de días. El cronograma fijado en la etapa de planeamiento se realiza a un número de iteraciones, cada una toma de una a cuatro semanas en ejecución. La primera iteración crea un sistema con la arquitectura del sistema completo. Esto es alcanzado seleccionando las historias que harán cumplir la construcción de laestructura para el sistema completo. El cliente decide las historias que se seleccionarán para cada iteración. Las pruebas funcionales creadas por el cliente se ejecutan al final de cada iteración. Al final de la última iteración el sistema está listo para producción.
III) Fase de Diseño: La metodología X.P sugiere que hay que conseguir diseños simples y sencillos. Hay que procurar hacerlo todo lo menos complicado posible para conseguir un diseño fácilmente entendible e impleméntable que a la larga costará menos tiempo y esfuerzo desarrollar.
IV) Fase de Desarrollo: El desarrollo es la pieza clave de todo el proceso de programación extrema. Todas las tareas tienen como objetivo que se desarrollo a la máxima velocidad, sin interrupciones y siempre en la dirección correcta.
Esta etapa debe reunir las siguientes características o cualidades:Disponibilidad del usuario, Estándares de implementación, Unidades de prueba o test, Programación parejas, Integración del código, Frecuencia en la integración del código, El código es propiedad de todos, Dejar la optimizaciones para el final, No a las horas extras.
V) Fase de Pruebas: Uno de los pilares de la metodología X.P es el uso de test para comprobar el funcionamiento de los códigos que vayamos implementando.
4.- Planificación de las actividades
A continuación, se presenta la descripción de las actividades las cuales muestran de manera específica el desarrollo de cada uno de los objetivos planteados en el presente proyecto.
4.1.- Descripción de las Actividades:
Objetivo N° 1
Analizar la situación actual de la organización con respecto a la gestión de préstamos y créditos.
Actividades.
ü Definición de los objetivos de la aplicación: Describir las metas del proyecto en base a los objetivos de la investigación, y a las entrevistas con los usuarios quienes ofrecen las especificaciones de la aplicación web.
ü Elaboración de las historias de usuarios: Es una representación de unrequerimiento de software escrito en una o dos frases utilizando el lenguaje común del usuario, las historias de usuario tienen la misma finalidad que los casos de uso pero con algunas diferencias.
ü Análisis del resultado de la historia de usuario: Estas definen lo que se debe construir en la aplicación, tienen una prioridad asociada definida por el cliente de manera de indicar cuáles son las más importantes para el resultado final, serán divididas en tareas y su tiempo será estimado por los desarrolladores.
Objetivo N° 2
Determinar los requerimientos de información, funcionales y técnicos para el desarrollo de la aplicación web.
Actividades.
ü Analizar estimaciones de esfuerzos: En esta actividad se analiza el proyecto para evaluar el tiempo y el esfuerzo que se va a utilizar, este proceso consiste en descomponer en un conjunto relativamente pequeño las actividades o tareas, y en el esfuerzo requerido para llevar a cabo la estimación de cada tarea.
ü Priorizar las historias de usuario: Esto se refiere a priorizar las historias de usuario para maximizar el valor entregado a la organización.
- El cliente da prioridad a las historias de forma coherente.
- Cada historia se le asigna una estimación historia en puntos, lo que indica el tamaño y la complejidad de la historia en relación con otras historias.
- Establecer la velocidad esperada del equipo, que es el número de puntos de historia que se terminan por iteración completa.
- El cliente selecciona las historias de la iteración sin sobrepasar la velocidad esperada.
ü Elaboración del plan de entrega: Se trata de un documento elaborado por el equipo de trabajo, que cubre un período específico, en el cual se señalan todas las actividades, la fecha en la que se llevarán a cabo, los recursos que se necesitan y el personal responsable de efectuarlas.
Objetivo N° 3
Diseñar la aplicación web en base a los requerimientos.
Actividades.
ü Elaboración del modelo del proyecto: Incluye el diseño de los diferentes diagramas que representaran, la estructura de datos de la aplicación; entre ellos se encuentran el diagrama de actividades, base de datos y estructura del sitio.
ü Diseño de interfaces e hipervínculos: Crear los enlaces necesarios y sus contenidos de datos vinculando la información de la organización que sea de uso importante para el asociado.
Objetivo N° 4
Construir la aplicación web que satisfaga las necesidades del asociado donde se muestre los registros de datos, información relevante, entre otros.
Actividades.
ü Programación en pareja: El trabajo en pareja involucra a dos programadores trabajando en el mismo equipo; mientras uno codifica haciendo hincapié en la calidad de la función o método que está implementando, el otro analiza si ese método o función es adecuado y está bien diseñado. De esta forma se consigue un código y diseño con gran calidad.
ü Elaboración de pruebas unitarias: Diseñar pruebas necesarias que permita evaluar la aplicación, el sitio y el cumplimiento de los requerimientos por parte del cliente, con el programador. Esto sirve para asegurar que cada uno de los módulos funcione correctamente por separado.
ü Refactorización de código: Es mejorar y modificar la estructura y codificación de códigos ya creados sin alterar su funcionalidad. Refactorizar supone revisar de nuevo estos códigos para procurar optimizar su funcionamiento.
Objetivo N° 5
Verificar a través de pruebas, el cumplimiento de los requerimientos establecidos por la organización CAPREOIUTM.
Actividades.
ü Revisión de aplicación para verificar errores: Evaluar la aplicación por su totalidad detallando cada uno de los procedimientos diseñados de manera de poder conocer los potenciales errores del sistema.
ü Elaboración de prueba de aceptación: Esta última actividad presenta la aplicación al usuario de manera que este pueda constatar la completa operatividad y funcionalidad de la misma.
4.1) CRONOGRAMA DE ACTIVIDADES
A continuación se presenta el Cuadro donde se especificara los objetivos y sus respectivas actividades, indicando la duración de cada una de ellas y los recursos que serán empleados para llevar a cabo el proyecto.
Objetivos
|
Actividades
|
Duración
|
Fecha
|
Recursos
|
Analizar la situación actual de la Organización con respecto a la gestión de préstamos y créditos.
|
ü Definición de los objetivos de la aplicación.
ü Elaboración de las historias de usuario.
ü Análisis del resultado de la historia de usuario.
|
2 Semanas
|
|
Papelería en general.
Informe Preliminar.
Documentos de gestión actual.
|
Determinar los requerimientos de Información, funcionales y técnicos para el desarrollo de la aplicación web.
|
ü Definición de los requerimientos.
ü Analizar estimaciones de esfuerzos.
ü Priorizar las historias de usuario.
ü Elaboración del plan de entrega.
|
2 Semanas
|
|
Papelería en general.
Informe Preliminar.
Documentos de gestión actual.
|
Diseñar la aplicación Web en base a los requerimientos.
|
ü Elaboración modelo de proyecto.
ü Diseño de Interfaces e Hipervínculos.
|
4 Semanas
|
|
|
Construir la aplicación Web que satisfaga las necesidades del asociado donde se muestre los registros de datos de los asociados, solicitud de préstamos, consulta estado, entre otros.
|
ü Programación en pareja.
ü Elaboración del plan de pruebas unitarias.
ü Refactorización de código.
|
4 Semanas
|
|
Papelería en general.
|
Verificar a través de pruebas, el cumplimiento de los requerimientos establecidos por la organización CAPREOIUTM.
|
ü Revisión de aplicación para verificar errores.
ü Elaboración de pruebas de aceptación.
|
4 Semanas
|
|
Papelería en general.
|
Fuentes: González, Bermudez, Nachef,El hayek
4.2 ANÁLISIS COSTO-BENEFICIO:
El análisis costo-beneficio es una técnica importante dentro del ámbito de la teoría de la decisión. Pretende determinar la conveniencia de un proyecto mediante la enumeración y valoración posterior en términos monetarios de todos los costes y beneficios derivados directa e indirectamente del proyecto.
Objetivo:
La técnica de Análisis Costo-Beneficio, tiene como objetivo fundamental proporcionar una medida de los costos, en que se incurren en la realización de un proyecto informático, y a su vez comparar dichos costos previstos con los beneficios esperados de la realización del proyecto.
Los costos de este sistema se distribuyen de la siguiente manera: (Ver tabla N° 2)
Tabla N° 2
Relación de Costos
|
Descripción
|
Cantidad
|
Costo
|
Costo total
|
Costo Directo
|
Horas de trabajo
|
1
|
12.000
|
12.000
|
|
Software (Licencias)
|
1
|
86.00
|
86
|
|
Uso de Equipo
|
1
|
4.500
|
4500
|
|
Materiales: Insumos, papelería, recursos de oficina, impresiones, anillados, bolígrafos, copias
|
40
|
2.000
|
2000
|
|
Servidor
|
1
|
300
|
300
Tabla N° 3. (Continuación)
|
|
|
Adiestramiento
|
40hrs / 3
|
20
|
400
|
|
Descripción
|
Cantidad
|
Costo
|
Costo total
|
Costo Indirecto
|
Gastos
|
1
|
500
|
500
|
|
Viáticos
|
5 / 5
|
20
|
100
|
|
Servicios
|
5
|
35
|
175
|
|
Total
|
11
|
555
|
775
|
Fuentes: González, Bermudez, Nachef,El hayek. (2012)
BENEFICIOS
Los beneficios generados por la aplicación web ofrecerán beneficios para todos los asociados, así como también es el punto de partida para la aplicación de nuevas tecnologías informáticas.
Entre los beneficios que ofrecen se pueden mencionar las siguientes:
- Ayuda en línea
- Consulta de los estados financieros.
- Realización de informes con los datos en tiempo real.
- Control en el manejo de las solicitudes.
- Mejorar las estadísticas ya que se evita el tener que eliminar solicitudes brindadas a los asociados por duplicidad en dicha solicitud.
- Presentar la estructura organizativa de CAPREOIUTM, con su misión, visión y objetivos.
- Satisfacción de los asociados, ya que sus solicitudes serán tomadas y procesadas en el menor tiempo posible.
- Impulso del uso de las nuevas tecnologías en la organización.
- Interfaz amigable, interactiva, comprensible.