Página principal



Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks

Descargar 1.57 Mb.

Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks





Descargar 1.57 Mb.
Página4/63
Fecha de conversión30.04.2017
Tamaño1.57 Mb.
1   2   3   4   5   6   7   8   9   ...   63

INTRODUCCIÓN



Con la necesidad de mejorar el servicio de atención al cliente prestado a los usuarios de la Escuela Superior Politécnica de Chimborazo, se desea automatizar la gestión y seguimiento de los incidentes reportados por medio de una aplicación web que presente una interfaz amigable. El desarrollo de este sistema implica la utilización de nuevas tecnologías que permitan aumentar la productividad del programador en la Dirección de Tecnologías de la Información y Comunicación (DTIC).


La DTIC es la encargada de proporcionar servicios integrales de calidad en las áreas de desarrollo organizacional y sistemas de información a la ESPOCH y entidades externas, utilizando tecnología de punta, con personal capacitado, estándares de calidad y una participación activa y eficaz del usuario.


Esta dirección tiene como objetivos brindar asistencia y mantenimiento a los sistemas informáticos administrativos, académicos, y de la organización, como también proporcionar servicios de mantenimiento de Hardware, Software y redes computacionales. Esto involucra el seguimiento de los incidentes ocurridos dentro de la ESPOCH, los cuales son atendidos por llamadas telefónicas, correo electrónico o a su vez atendidos en la misma dirección.


La información recolectada se encuentra en bases de datos heterogenias, es decir que es almacenada en documentos en la nube con GoogleDrive lo que causa una descentralización, además de no tener un seguimiento de los mismos. Por esta razón se desea crear un sistema web que permita proveer soporte y asistencia a sus clientes o empleados por medio de un seguimiento de incidentes con el fin de mejorar su servicio de atención y regularizar el volumen de trabajo del personal de soporte.


En la actualidad se ha creado un gran debate sobre la utilización de frameworks, siendo estos una ayuda para incrementar la productividad en el desarrollo de aplicaciones web; o al contrario, posicionarlos como un impedimento para llegar al objetivo de un proyecto de una forma más rápida.


Al programar en lenguajes puros como PHP se llega a tener más control y conocimiento de cómo está estructurado un proyecto de software, pero a la final el trabajo no se encuentra separado o clasificado de acuerdo a sus funcionalidades.

Todo lo descrito anteriormente es lo que lleva a requerir más tiempo en el proceso de programación, pero a nivel de tiempo y productividad la magnitud del proyecto va a variar dependiendo de las necesidades del usuario y con qué rapidez desee hacer uso ya del producto.


La necesidad de incrementar la productividad en el proceso de ingeniería del software y de reducir drásticamente los tiempos de desarrollo y el esfuerzo del programador al momento de proponer una solución al problema en un entorno web, ha cambiado el modelo de construcción tradicional, convirtiendo en una necesidad principal la adopción de frameworks web en vez de la utilización de lenguajes de programación puros.


Estas herramientas que ayudan en el desarrollo de software, se encargan de simplificar las tareas de programación, promoviendo la reutilización del código, fomentado el uso de estándares o convenciones y reduciendo los costes asociados al mantenimiento. Los frameworks son “aplicaciones o conjunto de módulos que permiten, o tienen por objetivo, el desarrollo ágil de aplicaciones mediante la aportación de librerías y/o funcionalidades ya creadas para que nosotros las usemos directamente” (¿Deberías usar un framework para tu proyecto en Internet?,2011).


Hoy en día se cuenta con diversas tecnologías para crear soluciones y productos de alto nivel, y la variedad de frameworks PHP es muy extensa por lo que en la mayoría de problemas se requiere realizar análisis previo que nos permita determinar cuál es el más adecuado para la construcción de un producto de software adaptándose a las necesidades del cliente.


Entre los más populares a: Laravel, Codelgniter, CakePHP, Symphony entre otros, los cuales tienen funciones distintas y como objetivo agilizar el trabajo en términos de productividad, y a la vez ganar tiempo en el desarrollo, dejando a las tareas más simples a cargo del framework y las más complejas a cargo del desarrollador(Smith, 2014).


La decisión de escoger que framework PHP satisfaga las necesidades del desarrollador depende del momento de crear aplicaciones web de calidad, dando solución a problemas comunes como el diseño de arquitectura, codificación, reutilización, internacionalización, plantillas, entre otros, debe estar sustentada por sólidos argumentos como la productividad que presenta cada uno.


Por lo tanto se propone el estudio comparativo de productividad de los frameworks, CakePHP y Laravel, para el desarrollo del Sistema de Seguimiento de Incidentes de la Infraestructura de Red en la ESPOCH para la Dirección de Tecnologías de la Información y Comunicación.


Justificación


A continuación se definirán las razones del porqué del tema propuesto, tanto de una forma teórica, metodológica y práctica señalando la importancia de nuestra investigación.


Justificación teórica.


El Decreto 1014 “Software Libre en el Ecuador” señala la utilización de software libre en entidades de administración pública tales como la ESPOCH es obligatoria. PHP es un lenguaje de código abierto con diversos frameworks que presentan diferentes características, unos más fáciles de aprender que otros, brindando un aporte para los desarrolladores que deseen escoger con cual trabajar según sus necesidades.


Estos frameworks se crearon como una colaboración directa en el desarrollo permitiendo incrementar la productividad siendo “una capa intermedia entre un lenguaje de programación crudo y el programador(Usar o no un Framework, 2012), evitando que se invierta tiempo en programar soluciones ya escritas, permitiendo escribir menos código lo que se traduce en menos errores, más funcionalidad, uso de estándares o convenciones, o mejorar la arquitectura del sistema(Alten, 2009, p.1).


De esta manera los frameworks permiten al desarrollador pasar más tiempo identificando requerimientos de software, que tratando con los detalles de bajo nivel para obtener un sistema funcional.


Cabe mencionar investigaciones sobre la medición de productividad en el desarrollo que motivo la presente investigación, tal como “Analyzing PHP Frameworks for Use in a Project-Based Software Engineering Course”(Lancor y Samyukta, s.f. p.4),donde se realiza un estudio comparativo sobre el mismo prototipo desarrollado con diferentes frameworks PHP. Los resultados fueron obtenidos por medio de las medidas de líneas de código y el esfuerzo empleado, llegando a la conclusión que la utilización de Codelgniter permite un desarrollo más rápido en comparación con CakePHP.


Y el caso de estudio empírico “Empirical Case Study of Measuring Productivity of Programming Language Ruby and Ruby on Rails”(Noda y Jia, 2011, p2), que realiza un estudio comparativo entre un lenguaje puro como Ruby y el framework basado en este lenguaje como es Ruby on Rails. Los resultados indican que la productividad medida bajo las mismas condiciones de desarrollo resulta difícil, y que se recomienda realizar más estudios para realizar una comparación de manera científica y empírica.


El estudio Fuente Clever Age sobre los frameworks más usados en PHP, titulado “Libro blanco sobre frameworks PHP para empresas”, se realiza un exhaustivo estudio de todas funcionalidades de dichos frameworks, clasificando a CakePHP entre uno de los frameworks más populares(Comparación y Rendimiento de Frameworks PHP,2008).


La misma investigación menciona a Laravel como “el framework más popular a inicios del presente año, con un porcentaje de 25,85%”(Top PHP Frameworks 2014,2014). Y por último el sitio de Google Trends, clasifica a CakePHP entre los primeros puestos con un promedio de 55% de búsquedas a nivel mundial, y a Laravel en un ascenso en un 56% en el 2014(Google Trends - Web Search interest: Laravel, CodeIgniter, CakePHP, Symfony - Worldwide, Jun 2011 - Feb 2014,2014).Presentándose estos dos frameworks como objetivos principales para este estudio comparativo de productividad.


Este estudio comparativo de los frameworks CakePHP y Laravel, la norma ISO/IEC 9126 define tres vistas diferenciadas en el estudio de la calidad de un producto, clasificando a la productividad como una vista interna de un sistema, la cual se ocupa de medir o estimar las propiedades del software producido como: el tamaño, la complejidad o la conformidad con las normas de orientación a objetos. (International Standard ISO/IEC FDIS 9126-1, 2000, p.3)


Cabe recalcar la existencia del estudio previo, “ANÁLISIS DEL RENDIMIENTO DE FRAMEWORKS PHP PARA DESARROLLAR APLICACIONES WEB ÓPTIMAS. CASO PRÁCTICO: PORTAL ACADEMIA LINUX ESPOCH”, el cual, según la norma ISO/IEC 9126, realiza una vista externa de un sistema, analizando el comportamiento del software en producción (el rendimiento de un software en una máquina determinada, el uso de memoria de un programa o el tiempo de funcionamiento entre fallos.).


Justificación metodológica.


Existen 3 comunes formas basadas en el tamaño para definir y medir la productividad, los cuales son: productividad física, funcional y económica. Donde la física trata sobre la relación de la cantidad del producto o líneas de código, a los recursos consumidos o esfuerzo. La funcional es la relación entre cantidad de funcionalidad, es decir puntos de función reales con el esfuerzo. Y por último la económica que relaciona el valor del producto producido con los recursos usados para producirlo. (Card, 2006, p.7)

El estándar IEEE 1045-1992, define un marco para la medición de productividad de software con el objetivo de mejorar la precisión en la recolección y reporte de información relacionada con la productividad del proceso de desarrollo de software, a través un cálculo en términos de esfuerzo combinado con la cantidad de líneas de código (medida de tamaño física, salidas) o puntos de función (medida de tamaño funcional, entradas)(IEEE Standard for Software Productivity Metrics, s.f., pp.6-11).


Por medio del método científico, la investigación se llevará a cabo con el estudio individual de los frameworks CakePHP y Laravel. De esta forma se procederá a crear 2 aplicaciones web con equivalente funcionalidad, con cada una se recolectará datos, los cuales se evaluarán siguiendo las métricas mencionadas anteriormente. Para de esta manera probar la hipótesis de investigación planteada. El framework que presente mayor productividad, será utilizado para el desarrollo del Sistema de Seguimiento de Incidentes de la Infraestructura de Red en la ESPOCH.


La metodología utilizada para el desarrollo del sistema será Scrum debido a que permite “asegurar la calidad del producto de manera sistemática y objetiva, a nivel de satisfacción del cliente, requisitos listos para ser utilizados y calidad interna del producto”(Beneficios de Scrum, s.f.).


Justificación práctica.


Hoy en día los sistemas web informáticos son cada vez más complejos y cada vez las empresas o instituciones dependen más de servicios tecnológicos, por lo que un mal funcionamiento o la interrupción de servicios de éstos pueden llegar a tener importantes consecuencias en la consecución de los objetivos de esas entidades.


El porqué de construir una aplicación web para la Dirección de Tecnologías de la Información y Comunicación, viene de la necesidad de mejorar la atención al cliente y así dar un seguimiento a la información sobre los incidentes que son reportados, sin los requerimientos de instalar, descargar, tan solo poseer una conexión a internet y un navegador web y de esta manera empezar a trabajar.


La calidad que brinden a la hora de solucionar incidencias puede ser un hecho determinante para captar o mantener a sus clientes en este caso a los funcionarios de ESPOCH. De ahí también la importancia de que conozcan la valoración de sus clientes en cuánto a la rapidez y eficacia en la solución de los incidentes.


El Sistema de Seguimiento de Incidentes de la Infraestructura de Red en la ESPOCH será desarrollado para DTIC, con el objetivo de proveer soporte y asistencia a los diferentes departamentos o empleados por medio de reportes de incidentes y la administración de los mismos a través de una aplicación web, y valorar la carga de trabajo de cada técnico o funcionario que use el sistema web, reduciendo el tiempo de dedicado a la gestión y planificación de las incidencias según recursos.


El Sistema de Seguimiento de Incidentes contendrá: el módulo de autentificación y administración de usuarios, el módulo de administración de roles, módulo de administración de las áreas de trabajo, el módulo de administración de información de tickets, módulo de seguimiento de incidentes (tickets), y el módulo de reportes.


Objetivos


A continuación se detalla el objetivo general y los objetivos específicos de esta investigación.


Objetivo general.


Comparar la productividad de los Frameworks orientados a objetos, CakePHP y Laravel para el desarrollo del Sistema de Seguimiento de Incidentes de la Infraestructura de Red en la ESPOCH.


Objetivos específicos.


1   2   3   4   5   6   7   8   9   ...   63

Similar:

Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería electrónica en telecomunicaciones y redes diseño e implementación
Diseño e implementación de un sistema de control domótico supervisado por un teléfono móvil mediante la utilización de asterisk
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconFacultad de informatica y electronica escuela ingenieria en electronica, telecomunicaciones y redes
Estudio comparativo de los parametros tecnicos de las tecnologias umts y gsm para una futura migración en sma en la provincia de...
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas desarrollo del sistema de acreditación y línea de fábrica para gadmicet utilizando la herramienta cakephp
Desarrollo del sistema de acreditación y línea de fábrica para gadmicet utilizando la herramienta cakephp
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela politecnica nacional
Facultad: Ej. Ingeniería Eléctrica y Electrónica
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela superior politécnica de chimborazo

Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela superior politécnica de chimborazo facultad de administración de empresas carrera ingeniería en comercio exterior
Access denominada datos externos que nos permitirá importar datos desde cualquier programa dentro de nuestra computadora así como...
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela técnica superior de ingeniería de telecomunicación universidad politécnica de cartagena
El proyecto consiste en realizar un estudio de las posibilidades que ofrece la
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela superior politécnica del litoral instituto de ciencias matemáticas ingeniería en estadística informática
Análisis estadístico del posicionamiento de las carreras que oferta la espol a nivel de pregrado en la ciudad de Guayaquil”
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconEscuela superior politécnica del litoral facultad en Ingeniería en Mecánica y Ciencias de la Producción
Programa para Optimización del Diseño de Recuperadores de Energía de Gases de Escape desde Hornos”
Escuela superior politécnica de chimborazo facultad de informática y electrónica escuela de ingeniería en sistemas estudio comparativo de productividad de frameworks  iconLa investigación científica
Coordinador de Título de Máster Universitario en Informática Pluridisciplinar, de la Escuela Técnica Superior de Ingeniería Informática....


Descargar 1.57 Mb.