UNIVERSIDAD REGIONAL AUTONOMA DE LOS ANDES “UNIANDES” FACULTAD DE SISTEMAS MERCANTILES CARRERA DE SISTEMAS PROYECTO DE EXAMEN COMPLEXIVO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN SISTEMAS E INFORMÁTICA TEMA: APLICACIÓN WEB PARA LA GESTIÓN COMERCIAL DE LA EMPRESA “TEJICONFECCIONES” DE LA CIUDAD DE OTAVALO AUTOR: TNLG. ANRANGO RUIZ WILLAM RODRIGO ASESOR: ING. MARTÍNEZ CARLOS, MGS. IBARRA – ECUADOR 2015 CERTIFICACIÓN DEL ASESOR Yo, Ing. Carlos Martínez, Mgs. certifico que el Sr. Anrango Ruiz Willam Rodrigo, ha trabajado constantemente en el desarrollo de la APLICACIÓN WEB PARA LA GESTIÓN COMERCIAL DE LA EMPRESA “TEJICONFECCIONES” DE LA CIUDAD DE OTAVALO, es todo cuanto puedo certificar en honor a la verdad. Atentamente, DECLARACIÓN DE AUTORÍA DEL PROYECTO Yo Willam Rodrigo Anrango Ruiz con CI. 1002968426, egresado de la carrera de Sistemas Mercantiles de la extensión Ibarra, declaro ser autor del presente proyecto de examen complexivo con el tema: Aplicación Web Para La Gestión Comercial De La Empresa “Tejiconfecciones” De La Ciudad De Otavalo, y me responsabilizo de su contenido y autoría. Atentamente, DEDICATORIA A mis padres Zoila Ruiz y Rodrigo Anrango por ser el pilar fundamental en todo lo que soy, en toda mi educación, tanto académica, como de la vida, por su incondicional apoyo y por ayudarme con los recursos necesarios para estudiar. A mis hermanos por estar siempre presentes, acompañándome para poderme realizar. A mi sobrina Camila quien ha sido y es mi motivación, inspiración y felicidad. AGRADECIMIENTO A Dios, por darme la oportunidad de vivir y por estar conmigo en cada paso que doy, por fortalecer mi corazón e iluminar mi mente y por haber puesto en mi camino a aquellas personas que han sido mi soporte y compañía durante todo el periodo de estudio. A la Universidad Regional Autónoma de los Andes por formar profesionales integrales y competentes en las diferentes áreas del conocimiento. Finalmente a los maestros, aquellos que marcaron cada etapa del camino universitario y en especial al Ing. Carlos Martínez, Mgs. que fue una guía en asesorías y dudas presentadas en la elaboración del proyecto. ÍNDICE GENERAL CERTIFICACIÓN DEL ASESOR DECLARACIÓN DE AUTORÍA DEDICATORIA AGRADECIMIENTO RESUMEN EJECUTIVO ABSTRACT CAPÍTULO I .................................................................................................................................... 1 1. INTRODUCCIÓN .................................................................................................................... 1 1.1 ANTECEDENTES .................................................................................................................. 2 1.2 PLANTEAMIENTO DEL PROBLEMA .............................................................................. 3 1.3 FORMULACIÓN DEL PROBLEMA................................................................................... 4 1.4 DELIMITACIÓN DEL PROBLEMA................................................................................... 4 1.5 OBJETO DE INVESTIGACIÓN Y CAMPO DE ACCIÓN ............................................... 4 1.5.1 OBJETO DE INVESTIGACIÓN ........................................................................................... 4 1.5.2 CAMPO DE ACCIÓN ........................................................................................................... 4 1.6 IDENTIFICACIÓN DE LA LÍNEA DE INVESTIGACIÓN .............................................. 4 1.7 OBJETIVOS............................................................................................................................ 4 1.7.1 GENERAL ............................................................................................................................. 4 1.7.2 ESPECÍFICOS ....................................................................................................................... 5 1.8 IDEA A DEFENDER .............................................................................................................. 5 1.9 JUSTIFICACIÓN DEL TEMA ............................................................................................. 5 1.10 METODOLOGÍA INVESTIGATIVA A EMPLEAR ....................................................... 6 1.10.1 INVESTIGACIÓN CUALITATIVA ................................................................................... 6 1.10.2 LA INVESTIGACIÓN CIENTÍFICA CUANTITATIVA ................................................... 6 1.11 RESUMEN DE LA ESTRUCTURA DEL PROYECTO ................................................... 7 1.12 APORTE TEÓRICO Y SIGNIFICACIÓN PRÁCTICA. ................................................. 8 1.13 CONCLUSIONES PARCIALES DEL CAPÍTULO .......................................................... 8 CAPÍTULO II .................................................................................................................................. 9 2. MARCO TEÓRICO ................................................................................................................. 9 2.1 ORIGEN Y EVOLUCIÓN DEL COMERCIO ELECTRÓNICO. ..................................... 9 2.2 ANÁLISIS DE LAS DISTINTAS POSICIONES TEÓRICAS SOBRE EL COMERCIO ELECTRÓNICO. ............................................................................................................................. 9 2.3 VALORACIÓN CRÍTICA DE LOS CONCEPTOS PRINCIPALES .............................. 10 2.4 ANÁLISIS CRÍTICO SOBRE EL COMERCIO ELECTRÓNICO ACTUAL ............... 17 2.5 CONCLUSIONES PARCIALES DEL CAPÍTULO .......................................................... 18 CAPÍTULO III ............................................................................................................................... 19 3. MARCO PROPOSITIVO ...................................................................................................... 19 3.1 TÍTULO DEL PROYECTO................................................................................................. 19 3.2 OBJETIVO ............................................................................................................................ 19 3.3 MODELO RUP ..................................................................................................................... 19 3.3.1 INICIO ................................................................................................................................. 20 3.3.1.1 CASOS DE USO 20% ...................................................................................................... 20 3.3.1.2 ANÁLISIS DE RIESGO Y PLAN DE CONTINGENCIA .............................................. 23 3.3.2 ELABORACIÓN ................................................................................................................. 25 3.3.2.1 DOCUMENTACIÓN DE CASOS DE USO .................................................................... 25 3.3.2.2 DISEÑO DE BASE DE DATOS, ENTRADAS, SALIDAS ............................................ 28 3.3.2.3 BASE DE DATOS ............................................................................................................ 28 3.3.2.3.1 OBJETIVO DEL DISEÑO ............................................................................................ 28 3.3.2.3.2 ANÁLISIS DE LA BASE DE DATOS ......................................................................... 28 3.3.2.3.3 ENTIDAD RELACIÓN................................................................................................. 30 3.3.2.3.4 DIAGRAMA RELACIONAL ....................................................................................... 31 3.3.2.4 3.3.3 EXPLICACIÓN DE BASE DE DATOS .......................................................................... 32 CONSTRUCCIÓN .............................................................................................................. 35 3.3.3.1 3.3.4 CODIFICACIÓN .............................................................................................................. 35 TRANSICIÓN ..................................................................................................................... 41 3.3.4.1 MANUAL TÉCNICO ....................................................................................................... 41 3.3.4.2 CAPACITACIÓN ............................................................................................................. 42 3.3.4.2.1 3.3.4.3 TRANSFERENCIA TECNOLÓGICA.......................................................................... 42 PRUEBAS......................................................................................................................... 43 3.3.4.3.1 SOFTWARE .................................................................................................................. 43 3.3.4.3.2 UNITARIAS .................................................................................................................. 45 3.3.4.3.3 EVALUACIÓN CUANTITATIVA .............................................................................. 47 3.3.4.3.4 RANGO DE EVALUACIÓN CUANTITATIVO ......................................................... 50 3.3.4.3.5 PRUEBAS DE RENDIMIENTO................................................................................... 51 3.3.4.3.6 CONCLUSIÓN DE LAS PRUEBAS ............................................................................ 52 CONCLUSIONES .......................................................................................................................... 54 RECOMENDACIONES ................................................................................................................ 55 BIBLIOGRAFÍA LINKOGRAFÍA ANEXOS ÍNDICE DE GRÁFICOS Gráfico 1. Diagrama de Flujo CodeIgniter .......................................................................... 14 Gráfico 2. FileZilla .............................................................................................................. 15 Gráfico 3. PayPal ................................................................................................................. 17 Gráfico 4. Fases Modelo RUP ............................................................................................. 19 Gráfico 5.Casos de Uso al 20% ........................................................................................... 20 Gráfico 6. .Casos de Uso Cliente ......................................................................................... 25 Gráfico 7.Casos de Uso Vendedor ....................................................................................... 25 Gráfico 8.Casos de Uso Propietario ..................................................................................... 26 Gráfico 9.Organigrama ........................................................................................................ 28 Gráfico 10. Diagrama Físico ................................................................................................ 30 Gráfico 11.Diagrama Relacional ......................................................................................... 31 Gráfico 12.Registro Usuario. ............................................................................................... 45 ÍNDICE DE TABLAS Tabla 1. MySQL, frente a competidores.............................................................................. 12 Tabla 2.Resumen de los Stakeholders ................................................................................. 21 Tabla 3.Resumen de Usuarios ............................................................................................. 21 Tabla 4.Perfil de los Stakeholders (Beneficiario De La Aplicación Web). ......................... 22 Tabla 5.Perfil de los Stakeholders (Vendedor). ................................................................... 22 Tabla 6.Análisis de Riesgo y Plan de Contingencia. ........................................................... 23 Tabla 7.Productos ................................................................................................................ 32 Tabla 8.Talla ........................................................................................................................ 32 Tabla 9.Productos-talla ........................................................................................................ 32 Tabla 10.ci_sessions ............................................................................................................ 32 Tabla 11.Provincia ............................................................................................................... 33 Tabla 12.Usuario .................................................................................................................. 33 Tabla 13.Compras ................................................................................................................ 33 Tabla 14. Detalle compras ................................................................................................... 34 Tabla 15. Estado .................................................................................................................. 34 Tabla 16. Backup ................................................................................................................. 34 Tabla 17.Pruebas de Software. ............................................................................................ 43 Tabla 18.Pruebas de Aplicación Web. ................................................................................. 44 Tabla 19.Pruebas de Carga. ................................................................................................. 46 Tabla 20. Prueba Backup ..................................................................................................... 47 Tabla 21. Replicación de datos ............................................................................................ 47 Tabla 22. Acceso Usuarios .................................................................................................. 48 Tabla 23. Documentación .................................................................................................... 48 Tabla 24. Lenguajes de Programación ................................................................................. 49 Tabla 25. Encriptación ......................................................................................................... 49 Tabla 26. Tiempo de Procesamiento.................................................................................... 50 Tabla 27. Pruebas de Rendimiento ...................................................................................... 51 RESUMEN EJECUTIVO Las aplicaciones Web, tienen mayor acogida en los países subdesarrollados, por las facilidades y buenos resultados a la hora de su uso. Cabe recalcar la importancia de las aplicaciones Web en un mundo que cada vez se va uniendo más con la ayuda de la red mundial o Internet. Se procede a describir en este informe la APLICACION WEB PARA LA GESTION COMERCIAL DE LA EMPRESA “TEJICONFECCIONES” DE LA CIUDAD DE OTAVALO, con la finalidad de mejorar el proceso de ventas a través de E-Commerce que es la tecnología mediante la cual se realizan los procesos de ventas en línea. Ha sido importante la creación de esta Aplicación Web ya que tiene como propósito primordial aumentar de forma sistematizada los procesos mediante la web y pagos en línea. Esta aplicación web será de gran ayuda en la empresa “Tejiconfecciones” para que el personal de ventas tenga un mejor control de los productos, pueda obtener información histórica de las ventas que se realizan en todo el país para luego realizar las estadísticas de ventas y ganancias de la empresa. Para la construcción de esta aplicación se ha utilizado herramientas como: el Lenguaje de programación PHP/5.6.8, el Framework CodeIgniter Versión 2.1.3, el Gestor de Base de Datos MySql 5.6.24, MySql-Workbench 6.3.3 como modelador de la base de datos, en cuanto al diseño se utilizó HTML5 y CSS3, como entorno de desarrollo se utilizó NetBeans IDE 8.0.1 y SublimeText3. La plantilla web es de Free HMTL5 Template por Big mama de www.templatemonster.com. Las imágenes que contiene la aplicación web son de la empresa “Tejiconfecciones”. ABSTRACT Web applications, have greater acceptance in developing countries, for the facilities and good results at the time of use. It should stress the importance of Web applications in a world that increasingly becomes bound more with the help of the global network or Internet. Proceeds to describe in this report the WEB APPLICATION TO THE COMMERCIAL MANAGEMENT OF THE COMPANY "TEJICONFECCIONES" OF OTAVALO, in order to improve the sales process through E-Commerce is the technology by which are made sales processes online. It was important to create the Web application and whose primary purpose increase in a systematic way the processes through the web and online payments. This web application will help the company “Tejiconfecciones” for the sales staff to have better control of the products, you can get historical information on the sales made in the whole country and then make sales statistics and earnings company. To build this application has been used tools such as: PHP / 5.6.8 programming, CodeIgniter Framework Version 2.1.3, the Database Manager MySQL 5.6.24, MySQL Workbench 6.3.3 as modeler database, as HTML5 and CSS3 design was used as development environment NetBeans IDE 8.0.1 and SublimeText3 was used. The web template is Template Free HMTL5 www.templatemonster.com Big breast. The images contained in the web application are “Tejiconfecciones” Company. CAPÍTULO I 1. INTRODUCCIÓN La idea de realizar la aplicación web es utilizar recursos tecnológicos para ayudar a conseguir un buen desarrollo e innovación de la empresa, en la venta de productos que se realiza de forma tradicional, comercializándolos a nivel local y solo en los días de feria dispuestos por el municipio. El presente proyecto investigativo pretende mejorar las ventas de la empresa, a través del comercio electrónico o E-Commerce, que consiste en la compra y venta de productos o de servicios a través de medios electrónicos, tales como Internet y otras redes informáticas. Cabe mencionar que existe un riesgo en el comercio electrónico, al realizar una transacción por Internet, ya que el comprador teme por la posibilidad de que sus datos personales (nombre, dirección, etc.) sean interceptados por "alguien", y suplante así su identidad; de igual forma el vendedor necesita asegurarse de que los datos enviados sean de quien dice serlos (Epsilon-Eridani, 2009). Por tales motivos se han desarrollado sistemas de seguridad para transacciones por Internet: como PayPal que es la forma más segura y efectiva al momento de realizar pagos en línea. Ya que los clientes son el elemento fundamental de toda empresa mediante esta aplicación podrán acceder en cualquier momento y lugar a la aplicación web la misma que contendrá un carrito de compras, para así satisfacer las necesidades de forma rápida y segura. El local comercial de la empresa “Tejiconfecciones” está ubicado en la ciudad de Otavalo, en las calles Modesto Jaramillo y Salinas (Esquina). La fábrica se encuentra en la Parroquia San José de Quichinche, en la calle principal del barrio la Banda, la misma que inicia sus actividades en 1994 principalmente con el comercio de tela, y en el año 1997 incursiona en la confección de pantalones jamaiquinos hasta la actualidad. 1 1.1 ANTECEDENTES El comercio electrónico ha abierto las puertas a todas las pequeñas, medianas y grandes empresas para que puedan realizar compras, publicidad, etc. de sus productos por Internet, a nivel mundial existen muchas de las empresas que ofrecen sus productos a los clientes para satisfacer las necesidades que ellos requieren. Las aplicaciones web también han ayudado a las personas y a las empresas a ahorrar dinero, viajes, tiempo, recurso humano como son en el caso de tener una aplicación web de gestión comercial, mediante la cual ahorraríamos recursos humanos y los procesos se realizarían de una manera más rápida y eficiente. El proceso de comercialización de productos requiere espacio y tiempo para el personal de las ventas, en lo que se refiere a la publicidad, y el espacio destinado no es el suficiente debido a que no está permanentemente el producto a la vista de los clientes, además no hay un control adecuado en el registro de ventas y clientes. Los procesos son realizados manualmente, y muchas veces existen falencias, por lo que este es un trabajo donde interviene la precisión y un gran esfuerzo del personal que tiene a cargo el proceso comercial. Los reportes de ventas, clientes y productos no son confiables lo cual conlleva a que la empresa no pueda determinar los costos de producción y beneficios que se obtienen. La empresa “Tejiconfecciones” desea implementar su propia aplicación web para publicar sus productos de mejor manera y a la vista de todos los usuarios en cualquier momento y lugar que se encuentren y así brindar un mejor servicio. 2 1.2 PLANTEAMIENTO DEL PROBLEMA En el Ecuador se ha incursionado de a poco en las tiendas virtuales pese a que en el mundo globalizado es muy necesario estar en permanente crecimiento con la tecnología y sus beneficios. Actualmente en el Ecuador se ha incrementado los índices de acceso a internet gracias a la implementación de políticas y estrategias gubernamentales de conectividad y prestación de servicios, mejorando la comunicación y así generando más oportunidades de negocio. En las visitas realizadas a la empresa, se han podido detectar las siguientes dificultades en la gestión de ventas, así tenemos: Existe mucha competencia ya que la mayoría de productores realizan sus ventas en el mismo sector. La empresa no promociona el producto ya que no cuenta con un sitio web. No tiene un registro de productos. No tiene un registro de clientes. No cuenta con un control del producto existente. La mayoría parte en las ventas se realiza a intermediarios quienes obtienen un mayor beneficio. Las ventas solo se realizan dos días a la semana, debido a que son los días habilitados para la venta por disposición del municipio. No cuenta con un local propio. Las ventas solo se realizan a nivel local. Cuando baja la temporada de venta existe gran acumulación del producto. Con los inconvenientes mencionados la empresa se está limitando a reducir la cantidad de tela y pantalones que produce normalmente, motivo por el cual los empleados se ven forzados a paralizar sus actividades. 3 1.3 FORMULACIÓN DEL PROBLEMA ¿Cómo mejorar la gestión comercial de la empresa “Tejiconfecciones” de la ciudad de Otavalo? 1.4 DELIMITACIÓN DEL PROBLEMA El sistema permitirá a los encargados de ventas, tener un control de los procesos comerciales. Además, permitirá ver el listado de pedidos que se realizan a nivel nacional, llevar un control del producto que existen en stock y realizar pagos en línea a través de PayPal o Depósitos Bancarios. 1.5 OBJETO DE INVESTIGACIÓN Y CAMPO DE ACCIÓN 1.5.1 OBJETO DE INVESTIGACIÓN Aplicación Web para la Gestión Comercial de la empresa “Tejiconfecciones” de la ciudad de Otavalo. 1.5.2 CAMPO DE ACCIÓN Comercio Electrónico (E-Commerce) 1.6 IDENTIFICACIÓN DE LA LÍNEA DE INVESTIGACIÓN Desarrollo de software y Programación de Sistemas. 1.7 OBJETIVOS 1.7.1 GENERAL Implementar una Aplicación Web para la gestión comercial de la empresa “Tejiconfecciones” de la ciudad de Otavalo. 4 1.7.2 ESPECÍFICOS Investigar los procesos de gestión comercial, en la empresa “Tejiconfecciones” de la ciudad de Otavalo. Estudiar las herramientas tecnológicas para el desarrollo de Aplicaciones Web y de Gestión Comercial. Desarrollar la Aplicación Web para la Gestión Comercial de la empresa “Tejiconfecciones” de la ciudad de Otavalo. 1.8 IDEA A DEFENDER Con la implementación de la Aplicación Web se mejorará la gestión comercial de la empresa “Tejiconfecciones” de la ciudad de Otavalo. 1.9 JUSTIFICACIÓN DEL TEMA Mediante la formulación del problema se puede concluir la falta de promoción y gestión comercial está directamente relacionada con dicho problema. Por lo cual las ventas van decreciendo ya que no ha tenido un oportuno cambio en el proceso de ventas hacia una alternativa que permita incluir un medio muy necesario como es el internet y sus grandes ventajas. Con la implementación de la Aplicación Web se podrán evidenciar de forma inmediata ciertos beneficios como: Promocionar los productos no solo a nivel local sino a nivel mundial. Una permanente promoción debido a que la aplicación web permanecerá en internet. Venta de los productos en cualquier día de la semana. Aumento en el número de clientes. Aumento en las ventas. Mejorar la situación económica. 5 Mediante el uso del framework CodeIgniter se pondrá en práctica el uso de herramientas basadas en la arquitectura MVC que facilita el desarrollo de la aplicación de forma ordenada y con la reutilización de código. Con los evidentes beneficios que proporcionara la Aplicación Web se justifica la elaboración del presente trabajo investigativo para la solución del problema planteado. 1.10 METODOLOGÍA INVESTIGATIVA A EMPLEAR Para el proceso de investigación se ha optado por elegir los métodos cualitativos y cuantitativos. 1.10.1 INVESTIGACIÓN CUALITATIVA La metodología cualitativa, como indica su propia denominación, tiene como objetivo la descripción de las cualidades de un fenómeno. Busca un concepto que pueda abarcar una parte de la realidad. No se trata de probar o de medir en qué grado una cierta cualidad se encuentra en un cierto acontecimiento dado, sino de descubrir tantas cualidades como sea posible. En investigaciones cualitativas se debe hablar de entendimiento en profundidad en lugar de exactitud: se trata de obtener un entendimiento lo más profundo posible, como lo indica (Olabuénaga, 2012). 1.10.2 LA INVESTIGACIÓN CIENTÍFICA CUANTITATIVA Según (Cook, 1986) la investigación científica o cuantitativa se define como la serie de pasos que conducen a la búsqueda de conocimientos mediante la aplicación de métodos y técnicas y para lograr esto nos basamos en los siguientes: Exploratoria: Son las investigaciones que pretenden darnos una visión general de tipo aproximativo respecto a una determinada realidad. Este tipo de investigación se realiza especialmente cuando el tema elegido ha sido poco explorado y reconocido, y cuando aún, sobre él es difícil formular hipótesis precisas o de ciertas generalidades. Suelen surgir también cuando aparece un nuevo fenómeno, que precisamente por su novedad, no admite todavía una descripción sistemática, o cuando los recursos que dispone el investigador resultan insuficientes como para emprender un trabajo más profundo. 6 Descriptiva: Su preocupación primordial radica en describir algunas características fundamentales de conjuntos homogéneos de fenómenos, utilizando criterios sistemáticos que permitan poner de manifiesto su estructura o comportamiento. De esta forma se pueden obtener las notas que caracterizan a la realidad estudiada. Explicativa: son aquellos trabajos donde muestra preocupación, se centra en determinar los orígenes o las causas de un determinado conjunto de fenómenos, donde el objetivo es conocer por que suceden ciertos hechos atrás ves de la delimitación de las relaciones causales existentes o, al menos, de las condiciones en que ellas producen. Este es el tipo de investigación que más profundiza nuestro conocimiento de la realidad, porque nos explica la razón, el porqué de las cosas, y es por lo tanto más complejo y delicado pues el riesgo de cometer errores aumenta considerablemente. 1.11 RESUMEN DE LA ESTRUCTURA DEL PROYECTO En el desarrollo de la aplicación web se empleara la metodología de investigación RUP en la cual la fase de inicio define el alcance del proyecto donde se establecen los casos de negocio para un nuevo sistema o para alguna actualización importante de un sistema existente, además se establece el alcance del proyecto como resultado nos presenta una visión general de los requerimientos del proyecto. En la fase de elaboración se establece el plan del proyecto, características y arquitectura base, obteniendo como resultado desarrollar un plan comprensivo mostrando como el proyecto será completado. En la construcción se desarrolla el software completo el cual estará listo para ser transferido al usuario. En la transición se realiza la transferencia del proyecto terminado hacia el usuario el mismo que contara con manuales actualizados, pruebas de la aplicación y verificando que el usuario se encuentre satisfecho. 7 1.12 APORTE TEÓRICO Y SIGNIFICACIÓN PRÁCTICA. El aporte teórico es mediante la investigación empleada en los procesos de gestión comercial a través del uso herramientas que permitan hacer uso de la tecnología y sus beneficios, buscando como alternativa principal el comercio electrónico y sus grandes beneficios. Como significación práctica más importante es brindar un mejor servicio a los clientes incluyendo como alternativa el comercio a través de internet ya que mediante la aplicación web se podrá agilitar de forma rápida y segura la compra de productos que se producen en la empresa. La novedad científica es el uso del Framework CodeIgniter 2.1.3 debido a su arquitectura MVC (Modelo Vista Controlador). El Framework CodeIgniter nos facilita la programación en el lenguaje PHP, la reutilización de código y un mejor mantenimiento de las aplicaciones gracias a su arquitectura en el desarrollo de aplicaciones. 1.13 CONCLUSIONES PARCIALES DEL CAPÍTULO Se inició con el estudio de los antecedentes de la empresa, los problemas, las necesidades que mediante entrevistas e investigación de campo puedan establecer un medio por el cual se puedan superar a través de los objetivos que fueron planteados, los cuales se cumplirán en el desarrollo del proyecto, dando así la solución que permita mejorar la gestión comercial de la empresa “Tejiconfecciones” de la ciudad de Otavalo, estableciendo como principal objetivo el desarrollo de una aplicación web de comercio electrónico o ECommerce . 8 CAPÍTULO II 2. 2.1 MARCO TEÓRICO ORIGEN Y EVOLUCIÓN DEL COMERCIO ELECTRÓNICO. Podemos confirmar que el año que nació como tal el comercio electrónico fue hacia el 1920 en los Estados Unidos dónde apareció la venta por catálogo. Este nuevo sistema de distribución fue una gran revolución en ese momento, ya que fue la primera vez que se podía comprar sin antes ver el producto. La venta por catálogo funcionaba mediante fotos ilustrativas del producto. La gran ventaja que posibilitaba este sistema comercial era que se podía vender en zonas rurales difíciles de acceder. Las redes sociales, las comunicaciones móviles, la web 2.0., los teléfonos inteligentes, las tablets que hoy en día tenemos a nuestro alcance están cambiando los hábitos de consumo de nuestro mundo. Ya no basta con poner un catálogo de productos en una tienda online de manera estática y esperar que los usuarios compren. Cada vez son más las personas que utilizan su Tablet o Smartphone para realizar búsquedas, comparar precios y también para comprar online. Esta tendencia se impondrá en un futuro no muy lejano y las empresas que quieran vender online deberán adaptarse a estos nuevos hábitos y dispositivos. (lynkoo, 2012). 2.2 ANÁLISIS DE LAS DISTINTAS POSICIONES TEÓRICAS SOBRE EL COMERCIO ELECTRÓNICO. Los productos elaborados por la empresa tienen gran acogida por los clientes a pesar del limitado espacio para la comercialización de tal manera que mediante la publicación de productos en la web tendría un mayor beneficio y sin limitación de espacio para las ventas logrando así obtener mayor ganancia y aumento de clientes. 9 2.3 VALORACIÓN CRÍTICA DE LOS CONCEPTOS PRINCIPALES La implementación de la aplicación web requiere de tecnología actual que será desarrollada en base a distintas herramientas que permitan una adecuada integración según el proceso de desarrollo dentro de las cuales se procede a mencionar las que fueron la base de la aplicación. HTML5 HTML5 es un lenguaje markup (de hecho, las siglas de HTML significan Hyper Text Markup Language) usado para estructurar y presentar el contenido para la web. Es uno de los aspectos fundamentales para el funcionamiento de los sitios, pero no es el primero. Es de hecho la quinta revisión del estándar que fue creado en 1990. A fines del año pasado, la W3C la recomendó para transformarse en el estándar a ser usado en el desarrollo de proyectos venideros. Por así decirlo, qué es HTML5 está relacionado también con la entrada en decadencia del viejo estándar HTML 4, que se combinaba con otros lenguajes para producir los sitios que podemos ver hoy en día. Con HTML5, tenemos otras posibilidades para explotar usando menos recursos. Con HTML5, también entra en desuso el formato XHTML, dado que ya no sería necesaria su implementación (Barbarapvn, 2013). CSS3 Las hojas de estilo nos permiten definir de manera eficiente la representación de nuestras páginas y es uno de los conocimientos fundamentales que todo diseñador web debe manejar a la perfección para realizar su trabajo. A partir del año 2005 fue el inicio de esta versión, la cual se la conoce como CSS3 o Cascading Style Sheets Level 3. Actualmente en definición, esta versión nos ofrece una gran variedad de opciones muy importantes para las necesidades del diseño web actual. Desde opciones de sombreado y redondeado, hasta funciones avanzadas de movimiento y transformación, CSS3 es el estándar que dominará la web por los siguientes años (Damian, 2010). 10 SERVIDOR WEB XAMPP XAMPP (Wikipedia, 2015) es un servidor independiente de plataforma, software libre, que consiste principalmente en el sistema de gestión de bases de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa está liberado bajo la licencia GNU y actúa como un servidor web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP está disponible para Microsoft Windows, GNU/Linux, Solaris y Mac OS X. PHP5 PHP corresponde a las iniciales de personal home page tools (herramientas para páginas iniciales personales). Es un lenguaje de programación tipo script para entornos web con unas funciones muy semejantes a las de ASP y JSP, utilizado, sobre todo, en servidores Linux para personalizar la información enviada a los usuarios que acceden a un sitio web. Desde un punto de vista técnico, es un lenguaje interpretado de alto nivel, similar en construcciones léxicas y sintácticas a C, C++, Java y Perl, por lo que a quienes ya conozcan estos lenguajes les resultará muy fácil comenzar a escribir código PHP. El nuevo PHP, cuya versión es la 5, se ha ampliado, respecto la versión 3, en aspectos tan importantes como conceptos de programación orientada a objetos, y su sintaxis es ahora mucho más cercana a la de C, por lo que cualquier programador que haya programado en C no tardará mucho tiempo en aprender a utilizar el lenguaje. Las construcciones sintácticas de PHP son más cercanas a Perl que a C, ya que en su diseño se buscó un lenguaje útil con el que la programación fuese rápida, es decir, que fuese un lenguaje muy productivo al más puro estilo de Perl. (Millet & Iglesia, 2010, pág. 11) 11 MySQL MySQL es un sistema de gestión de bases de datos (SGBD) SQL que en algunos aspectos es aproximadamente tan potente como Oracle. Cabe mencionar que a mediados del año 2009, Oracle, ha adquirido MySQL. Sus principales objetivos han sido la velocidad y la robustez. Es un SGBD sencillo y rápido que se adapta perfectamente a entornos en los que el volumen de datos sea del orden de megabytes (en la documentación se habla de su uso con bases de datos de 50 millones de registros). En la versión 5 de MySQL ha incluido el control de transacciones, procedimientos almacenados y triggers, por lo que ha rellenado el gran hueco que lo diferenciaba de grandes SGBD como Oracle. Si bien existe la posibilidad de comprar su soporte, Oracle sigue teniendo más aceptación en el mundo empresarial. En el último benchmark realizado de SGBD, se ha visto un gran crecimiento en la potencia de MySQL, frente a sus competidores. (Millet & Iglesia, 2010, pág. 13). Tabla 1. MySQL, frente a competidores Fuente: (Millet & Iglesia, 2010, pág. 13) 12 FRAMEWORK La palabra inglesa "framework" (marco de trabajo) define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar. En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto. Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio, y provee una estructura y una especial metodología de trabajo, la cual extiende o utiliza las aplicaciones del dominio. Arquitectura Dentro de este aspecto, podemos basarnos en el modelo MVC (Controlador => Modelo => Vista), ya que debemos fragmentar nuestra programación. Tenemos que contemplar estos aspectos básicos en cuanto a la implementación de nuestro sistema: Modelo Este miembro del controlador maneja las operaciones lógicas, y de manejo de información (previamente enviada por su ancestro), para resultar de una forma explicable y sin titubeos. Cada miembro debe ser meticulosamente llamado, con su correcto nombre y en principio, con su verdadera naturaleza: el manejo de información, su complementación directa. Vista Al final, a este miembro de la familia le corresponde dibujar, o expresar la última forma de los datos: la interfaz gráfica que interactúa con el usuario final del programa (GUI). 13 Después de todo, a este miembro le toca evidenciar la información obtenida hasta hacerla llegar al controlador. Solo (e inicialmente), nos espera demostrar la información. Controlador Con este apartado podemos controlar el acceso (incluso todo) a nuestra aplicación, y esto puede incluir: archivos, scripts, y/o programas; cualquier tipo de información que permita la interfaz. Así, podremos diversificar nuestro contenido de forma dinámica, y estática (a la vez); pues, solo debemos controlar ciertos aspectos (como se ha mencionado antes). (Riehle, 2000). CODEIGNITER CodeIgniter es un conjunto de herramientas para gente que construyen aplicaciones web usando PHP. Su objetivo es permitirle desarrollar proyectos mucho más rápido que lo que podría hacer si escribiera código desde cero, al proveer un rico conjunto de bibliotecas para tareas comúnmente necesarias, tanto como una interfaz sencilla y una estructura lógica para acceder a esas bibliotecas. CodeIgniter le permite enfocarse creativamente en su proyecto al minimizar la cantidad de código necesario para una tarea dada. CodeIgniter está liberado bajo licencias open source del estilo Apache/BSD, así que puede usarlo donde desee. CodeIgniter usa el enfoque Modelo-Vista-Controlador, que permite una gran separación entre la lógica y la presentación. Es particularmente bueno para proyectos en los que los diseñadores trabajan en sus archivos de plantillas, ya que el código en estos archivos será mínimo. Describimos MVC en más detalle en su propia página. (CodeIgniter Team, 2011) Gráfico 1. Diagrama de Flujo CodeIgniter Fuente: (CodeIgniter Team, 2011) 14 FILEZILLA Gráfico 2. FileZilla Fuente: (Millet & Iglesia, 2010, pág. 122) FileZilla es un cliente FTP, gratuito, libre (GNU), multiplataforma y de código abierto. Soporta FTP, SFTP y FTP sobre SSL. Está disponible para Windows, Linux y MacOS X, entre otros (Millet & Iglesia, 2010, pág. 122). COMERCIO ELECTRONICO (E-COMMERCE) La incorporación de este nuevo método de ventas permite que los clientes accedan de manera simple y desde cualquier parte del mundo a los productos y servicios que una empresa ofrece. E-commerce o Comercio Electrónico consiste en la distribución, venta, compra, marketing y suministro de información de productos o servicios a través de Internet. Conscientes de estar a la vanguardia, las Pymes no se han quedado atrás en este nuevo mercado, por lo que 15 han hecho de los servicios de la red un lugar que permite acceder a sus productos y servicios durante las 24 horas del día. Tipos de comercio electrónico: B2C (Business-to-Consumer): Empresas que venden al público en general. B2B (Business-to-Business): Empresas haciendo negocios entre ellas. B2G (Business-to-Government): Empresas que venden a instituciones de gobierno. C2C (Consumer-to-Consumer): Plataforma a partir de la cual los consumidores compran y venden entre ellos. Ventajas del comercio electrónico en las empresas Expandir la base de clientes al entrar a un mercado más amplio. Extender el horario de venta las 24 horas del día, los siete días de la semana, 365 días al año. Crear una ventaja competitiva. Reducir costos de producción, capital, administración, entre otros. Mejorar la comunicación con los clientes y efectividad de campañas publicitarias. Todos estos factores, han permitido que el comercio electrónico haya crecido de manera significativa en los últimos años. Este crecimiento se explica, en gran medida, por la evolución que han mostrado diversos países en aspectos claves para transformar el Internet como un canal de ventas efectivo (Redempresariosvisa, 2013). PAYPAL PayPal, el líder confiable en pagos en línea facilita a los compradores y empresas hacer y recibir pagos en línea. PayPal tiene más de 100 millones cuentas de usuario en 190 países y regiones. PayPal es aceptado por vendedores en todas partes tanto dentro como fuera de eBay. 16 ¿Es seguro? PayPal ayuda a proteger la información de su tarjeta de crédito con sistemas de seguridad y prevención de fraudes líderes en el sector. Al utilizar PayPal, su información financiera jamás caerá en manos del vendedor. (PayPal, 1999) ¿En qué consiste PayPal y cómo funciona Cómo funciona? Gráfico 3. PayPal Fuente: (PayPal, 1999) 2.4 ANÁLISIS CRÍTICO SOBRE EL COMERCIO ELECTRÓNICO ACTUAL El comercio de pantalones jamaiquinos en la ciudad de Otavalo tiene mucha competencia lo cual produce una reducción en el costo del producto por tal motivo una baja en las ganancias, es por eso que se ha optado por aumentar los sitios de mercado a nivel nacional y llevar un control en las ventas para obtener una mejor utilidad que también ayudará a tener un control en la venta de productos por lo cual se podrá determinar las ganancias y así poder aumentar el nivel de producción. 17 El proceso comercial permitirá a los clientes mediante el carrito de compras acceder a productos disponibles y hacer pedidos para su respectiva reservación sin necesidad de la presencia del personal de ventas. Además le permitirá realizar los pagos mediante Depósitos y PayPal de forma rápida y segura. 2.5 CONCLUSIONES PARCIALES DEL CAPÍTULO Teniendo en cuenta los problemas se pudo establecer las necesidades de la empresa que tendrá como objetivo principal brindar un mejor servicio a los clientes que es el elemento principal e indispensable para el crecimiento de toda empresa, mediante la óptima implementación de la tecnología necesaria en ventas como es el Comercio Electrónico (ECommerce) que brinda grandes beneficios, como en este caso con la implementación de un carrito de compras, transacciones rápidas y seguras ya sea por depósito bancario o PayPal, además se integró el uso de nueva tecnología en desarrollo de software con el framework CodeIgniter que hizo posible una adecuada interacción entre MySql y Php que son la base en el desarrollo del proyecto que será implementado. 18 CAPÍTULO III 3. 3.1 MARCO PROPOSITIVO TÍTULO DEL PROYECTO APLICACIÓN WEB PARA LA GESTIÓN COMERCIAL DE LA EMPRESA “TEJICONFECCIONES” DE LA CIUDAD DE OTAVALO 3.2 OBJETIVO Implementar una Aplicación Web para la gestión comercial de la empresa “Tejiconfecciones” de la ciudad de Otavalo. 3.3 MODELO RUP La aplicación web que se desarrolla para mejorar la gestión comercial de la empresa “Tejiconfecciones” de la ciudad de Otavalo, requiere trabajar utilizando el modelo llamado metodología RUP, la cual trabaja en 4 fases las cuales son: Inicio, Elaboración, Construcción, Transición. Gráfico 4. Fases Modelo RUP Fuente: (GrupNADD, 2012) 19 3.3.1 INICIO 3.3.1.1 CASOS DE USO 20% Ingresar Productos Administrar Productos Realizar cambios en el sistema Consultar Clientes Consultar Pedidos Acceder a la base de datos Super Administrador Administrador Realizar mantenimiento de la base de datos Mantenimiento Desembolso Productos Registrar Datos Personales Modificar Datos Personales Verificar Pedidos Consultar Productos Verificar Pagos Relizar Pedidos Cliente Realizar Envios Verificar Pedidos Vendedor Realizar Pagos Notificar Envios Gráfico 5.Casos de Uso al 20% Elaborado por: El autor Propósito El objetivo de la documentación es para analizar y definir las necesidades de alto nivel y las características de la aplicación web para la gestión comercial de la empresa “Tejiconfecciones”. Este documento se centra en la funcionalidad requerida por los participantes en el proyecto y los usuarios finales. 20 Perspectiva del producto El producto desarrollado, es una aplicación web para la gestión comercial de la empresa “Tejiconfecciones” de la ciudad de Otavalo, el cual realizara los procesos de registro de productos, ventas a través de un carrito de compras y pagos en línea mediante PayPal. DESCRIPCIÓN DE STAKEHOLDERS (PARTICIPANTES EN EL PROYECTO Y USUARIOS) Para proveer de una forma efectiva productos y servicios que se ajusten a las necesidades de los clientes, es necesario identificar e involucrar a todos los participantes en el proyecto. También es necesario identificar a los usuarios del sistema y asegurarse de que el conjunto de participantes en el proyecto los representa adecuadamente. Resumen de Stakeholders Tabla 2.Resumen de los Stakeholders Elaborado por: El autor Nombre Descripción Responsabilidades Tnlg. Willam Encargado del diseño y Responsable del diseño, BDD y desarrollo de Anrango programación. la aplicación. Ing. Carlos Asesor del Proyecto Aprueba y supervisa Dueño de la empresa Proporciona toda la información necesaria y Martínez Rodrigo Anrango supervisa. Resumen de Usuarios Tabla 3.Resumen de Usuarios Elaborado por: El autor Nombre Responsable de la Descripción Stakeholder Supervisa el buen funcionamiento de la aplicación, BDD y Administrador aplicación procesos. Responsable de ventas Encargado del stock y entrega de productos a los clientes. Vendedor Cliente Visita a la aplicación web de la empresa “Tejiconfecciones”. Usuario 21 Entorno de usuario Los usuarios podrán acceder al sistema en la página www.tejiconfecciones.com en la cual se puede realizar una prueba mediante el carrito de compras y a continuación si quieren realizar la compra, deberán registrase en el sistema e iniciar sesión para poder concretar la compra. El sistema tiene un diseño de fácil acceso por lo cual los usuarios podrán ingresar de mejor forma en la aplicación web. Perfil de los Stakeholders BENEFICIARIO DE LA APLICACIÓN WEB Tabla 4.Perfil de los Stakeholders (Beneficiario De La Aplicación Web). Elaborado por: El autor Beneficiario Rodrigo Anrango Descripción Representante legal de la empresa “Tejiconfecciones” Responsabilidades Administrador de la empresa. Grado de participación Revisión de requerimientos, estructura del sistema VENDEDOR Tabla 5.Perfil de los Stakeholders (Vendedor). Elaborado por: El autor Representante Proceso de Ventas Descripción Empleado del Departamento de ventas. Responsabilidades Encargado de la verificación de pedidos, pagos y envió de productos. Grado de participación A definir por el administrador. 22 Tabla 6.Análisis de Riesgo y Plan de Contingencia. Elaborado por: El autor 3.3.1.2 ANÁLISIS DE RIESGO Y PLAN DE CONTINGENCIA 23 24 La lista de riesgos del proyecto podrá ser modificada de acuerdo al avance del proyecto y será revisada periódicamente al menos una vez por iteración. 3.3.2 ELABORACIÓN 3.3.2.1 DOCUMENTACIÓN DE CASOS DE USO CLIENTE Gráfico 6. .Casos de Uso Cliente Elaborado por: El autor Ver perfil de la Aplicación.- Aquí podremos encontrar toda la información referente a la empresa “Tejiconfecciones”, con qué servicio cuentan, cuáles son sus expectativas etc. Compra de productos.- El cliente podrá realizar pedidos de productos que se podrán ser agregados al carrito de compras. Pagos en línea.- El cliente podrá elegir la forma de pago entre depósito o PayPal. VENDEDOR Gráfico 7.Casos de Uso Vendedor Elaborado por: El autor 25 Receptar pedidos de Clientes.- Los empleados tendrán que revisar los pedidos regularmente para hacer la reservación de los productos adquiridos. Enviar pedidos productos.- El empleado con la autorización del propietario podrá verificar el estado y enviar todos los pedidos. PROPIETARIO Administrar Productos Consultar Clientes Consultar Pedidos Administrador Realizar mantenimiento de la base de datos Desembolso Productos Gráfico 8.Casos de Uso Propietario Elaborado por: El autor Receptar pedidos.- El cliente al momento que registran su pedido mediante la aplicación, se le enviara un correo con los costos, detalle de pedido y contactos de la empresa luego se procede y prepara la entrega con su respectiva factura, previa verificación de pago. Autorizar pedido de compra.-El propietario es el único que puede autorizar las ventas, sin esa autorización no se podrá hacer un desembolso. Revisar reportes de movimientos y economía.- El Propietario es responsable directo del buen funcionamiento quien debe revisar los reportes diarios con ingresos y egresos para que no exista perdida de productos. Resumen Después de esta introducción, el resto del documento está organizado en las siguientes secciones: Vista general del proyecto Suposiciones y restricciones Entregables del proyecto 26 VISTA GENERAL DEL PROYECTO Propósito, alcance y objetivos La información que a continuación se ha incluido se adquirió a través de la investigación, observación y recopilación que se ha visto conveniente en el departamento de ventas de la empresa “Tejiconfecciones” de la ciudad de Otavalo. El desarrollo de este proyecto de examen complexivo es necesario para la adaptación de nuevas tecnologías y sistemas mediante el uso de Internet. Suposiciones y restricciones Debe contemplar la compatibilidad de carga uno de los navegadores web. Seguridad en los registros. Normas de protección en software y datos de los clientes. Registro legal de la aplicación. La aplicación Web debe ser flexible y fácil de manejar para los usuarios. Entregables del proyecto A continuación se indican y describen cada una de las herramientas que serán generadas, utilizadas y que constituyen los entregables. Es debido especificar que según el modelo de metodología RUP podrá ser modificado a lo largo del proceso, sin embargo los resultados de cada una de las iteraciones deberá estar enfocado a obtener un cierto grado de eficacia y estabilidad de cada una de las herramientas del proyecto de acuerdo a cada uno de los objetivos de cada fase. 27 3.3.2.2 DISEÑO DE BASE DE DATOS, ENTRADAS, SALIDAS MÓDULOS Diagrama de Secuencia Pedido Procesos de Compras Usuarios Productos Registro s Agregar carrito Pago Cantidad Ingreso a Pedidos Talla Control de Productos Verifico Existencia Desembolso Producto Gráfico 9.Organigrama Elaborado por: El autor 3.3.2.3 BASE DE DATOS 3.3.2.3.1 OBJETIVO DEL DISEÑO Diseñar la Base de Datos para la aplicación web de gestión comercial de la empresa “Tejiconfecciones” de la ciudad de Otavalo. La Base de Datos está diseñada de acuerdo a los análisis de los requerimientos que tiene la empresa. 3.3.2.3.2 ANÁLISIS DE LA BASE DE DATOS La Base de Datos es la principal de la aplicación la cual nos permitirá realizar el almacenamiento de los registros de las informaciones, este diseño de la Base de Datos está desarrollado de acuerdo a los registros manuales que son llevadas hasta el momento. La Base de Datos cuenta con sus respectivas tablas y cada tabla contiene sus propios campos con sus respectivas claves primarias, claves secundarias. 28 La Base de Datos cumple con las normalizaciones requeridas. La Base de Datos es desarrollada utilizando herramientas case. 29 3.3.2.3.3 ENTIDAD RELACIÓN Gráfico 10. Diagrama Físico Elaborado por: El autor 30 3.3.2.3.4 DIAGRAMA RELACIONAL Gráfico 11.Diagrama Relacional Elaborado por: El autor 31 3.3.2.4 EXPLICACIÓN DE BASE DE DATOS Registro de Productos Tabla 7.Productos Elaborado por: El autor La tabla que se muestra es para registrar datos de los productos que se mostraran al usuario en la sección productos que podrán estar disponibles para realizar los pedidos. Tabla 8.Talla Elaborado por: El autor La tabla talla contiene un listado de las tallas que tendrá cada producto. Tabla 9.Productos-talla Elaborado por: El autor La tabla que se muestra tiene una relación varios a varios con las tablas productos y talla esta se llena con los datos de las tablas mencionadas y la cantidad se agrega según el stock por producto y talla. Tabla 10.ci_sessions Elaborado por: El autor La tabla ci_sessions es independiente, nos permite almacenar temporalmente las sesiones creadas en la aplicación ya que es indispensable para la aplicación, se utiliza permanentemente y debido a que las variables de sesión tienen un límite de almacenamiento. 32 Registro de Usuarios Tabla 11.Provincia Elaborado por: El autor La tabla que se muestra es para registrar las provincias del país que es necesario para realizar los envíos y determinar los costos. Tabla 12.Usuario Elaborado por: El autor En la tabla usuario se registran los datos personales y es destinada al acceso seguro a la aplicación según el tipo de usuario. Tabla 13.Compras Elaborado por: El autor La tabla compras se llena automáticamente según se realiza la compra, no puede repetirse el id_compra. 33 Tabla 14. Detalle compras Elaborado por: El autor Se llena automaticamente con el detalle de cada compra con los registros del carrito de compras. Tabla 15. Estado Elaborado por: El autor Indica en que estado se encuentra el proceso de cada compra realizada por los clientes. Tabla 16. Backup Elaborado por: El autor Registra las copias de seguridad que se han realizado de la base de datos por el administrador de la aplicación. 34 3.3.3 CONSTRUCCIÓN 3.3.3.1 CODIFICACIÓN El Framework CodeIgniter está basado en la arquitectura MVC gracias a esto resulta mucho más fácil la programación simplemente es necesario hacer los llamados a las funciones destinadas para cada proceso, configurar y adaptarlas a nuestra necesidad lo importante es seguir el modelo de arquitectura de desarrollo de software. (González, 2012) En el Framework existe en la carpeta aplication donde están las subcarpetas controllers, models y views que son la base para la creación de nuestra aplicación. MODELS (Modelos) Esta sección destinada a los archivos que representa sus estructuras de datos. Típicamente sus clases del modelo contendrán funciones que los ayudarán a devolver, insertar y actualizar información de la base de datos VIEWS (Vistas) Sección donde se presenta la información al usuario. Una vista será normalmente una página web, pero en CodeIgniter, una vista también puede ser un fragmento de página como el encabezado o pie de página. También puede ser una página RSS, o cualquier otro tipo de "página". CONTROLLERS (Controladores) Sección destinada a los archivos que contienen el código de una clase, de programación orientada a objetos, sirve como un intermediario entre el Modelo, la Vista y cualquier otro recurso necesario para procesar la solicitud HTTP y generar una página. CONFIGURACIONES IMPORTANTES Las configuraciones principales se realizan en los archivos de la subcarpeta config que se encuentra dentro de la carpeta aplication los mismos que son los siguientes: 35 autoload.php Línea 55 $autoload['libraries'] = array('database','cart'); Cargar las librerías de la base de datos y carrito de compras Línea 67 $autoload['helper'] = array('form','url','file'); Necesaria para las urls amigables config.php Línea 17 $config['base_url'] = 'http://localhost/tejiconfecciones/' Necesaria como base url del proyecto. Línea 47 $config['uri_protocol'] = 'AUTO'; Configuración del direccionamiento url. Línea 277 $config['encryption_key'] = '50a700bab6ef1a74363fa1117ab0ba3e'; Clave de encriptación md5 32bits necesaria en el carrito de compras. Línea 247 y252 $config['sess_cookie_name'] = 'ci_session'; $config['sess_table_name'] = 'ci_sessions'; Necesaria para la utilización de la tabla ci_session que remplaza las cookies del navegador. database.php Líneas 51, 52, 53 y 54 $db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'root'; $db['default']['password'] = ''; $db['default']['database'] = 'bdtejiconfecciones'; Permite el acceso a la base de datos 36 routers.php Líneas desde 44 a 55 $route['default_controller'] = "inicio"; $route['404_override'] = ''; $route['productos'] = "productos/lista_producto"; $route['detalle'] = "productos/detprod"; $route['carrito'] = "productos/mostrar"; $route['admin54387'] = "usuarios/admin54387"; $route['agregarproducto'] = "subir"; $route['subimg'] = "subir/subimg"; $route['agregado'] = "subir/agregado"; $route['registro'] = "clientes/registro"; $route['mcompras'] = "clientes/mcompras"; $route['lstclientes'] = "clientes/lstclientes"; Permite el acceso a los controladores de la aplicación. Modelo Productos <?php class Modelo_productos extends CI_Model { public function __construct() { parent::__construct(); } //Carga lista de la tabla productos de bdtej.. muchos datos result()con objetos -> function lista_productos() { $pr = $this->db->get('productos'); return $pr->result(); } //Carga lista de la tabla tallas de bdtej.. muchos datos result()con objetos -> function lista_tallas() { $tl = $this->db->get('talla'); return $tl->result(); } //muestra un producto por el id por eso row() que obtiene un solo valor function detalle_producto($id_prod) { $this->db->where('id_producto', $id_prod); $tl = $this->db->get('productos'); return $tl->row(); } function tallas($idprtl) { 37 $sql = "select pt.id_talla,pt.id_producto,t.talla,pt.cantidad_stock from productos p,talla t,productos_talla pt where pt.id_producto= p.id_producto and t.id_talla=pt.id_talla and pt.id_producto=?;"; $pt = $this->db->query($sql, array($idprtl)); return $pt->result(); } function eliminar($id){ $sql = "select pt.id_producto from productos p,productos_talla pt where pt.id_producto= p.id_producto and pt.id_producto=?;"; $pt = $this->db->query($sql, array($id)); if ($pt->num_rows() >= 1) { return FALSE; } else { $this->db->delete('productos',array('id_producto' =>$id)); return TRUE; } } // activa el producto function actprd($id){ $this->db->where('id_producto',$id); $dispon = array('disponible' =>'si'); $this->db->update('productos',$dispon); } //desactiva el producto function dctprd($id){ $this->db->where('id_producto',$id); $dispon = array('disponible' =>'no'); $this->db->update('productos',$dispon); } function editar($id,$dato){ $this->db->where('id_producto',$id); $this->db->update('productos',$dato); } function talu($id) { $idds = "select pt.id_talla idt,pt.id_producto,t.talla,pt.cantidad_stock from productos p,talla t,productos_talla pt where pt.id_producto= p.id_producto and t.id_talla=pt.id_talla and pt.id_producto=?;"; $dpt= $this->db->query($idds, array($id)); $idst=""; $ct=0; foreach ($dpt->result() as $row) { $idst.=$row->idt.","; $ct++; } if ($ct>=1) { $idst=substr($idst, 0, -1);}else{ $idst="pt.id_talla"; } $tlu="SELECT t.talla,t.id_talla FROM productos_talla pt,talla t WHERE t.id_talla not in($idst)and pt.id_producto=? group by t.id_talla"; $tu= $this->db->query($tlu, array($id)); return $tu->result(); } 38 function compra($data){ $this->db->insert('compras', $data); $id = $this->db->insert_id(); return (isset($id)) ? $id : FALSE; } public function lstcompras($ncom,$idus){ $this->db->where('id_compra', $ncom) ->where('id_usuario', $idus); $consulta = $this->db->get('compras'); return $consulta->result(); } } Controlador Productos <?php class Productos extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('Modelo_productos'); } //carga los los productos de la base de datos function lista_producto() { $datos['prod'] = $this->Modelo_productos->lista_productos(); $datos['contenido'] = 'productos'; //para cambiar de contenido se cambia el index por otro contenido generado en la vista //ejjj $datos['contenido'] = 'acercade'; $this->load->view('plantilla/plantilla', $datos); } //muestra las tallas por producto function tall() { $idpr = $this->input->post('idppt'); $idlim = $this->security->xss_clean($idpr); $datos['var'] = $this->Modelo_productos->tallas($idlim); $datos['contenido'] = 'detalle'; $this->load->view('plantilla/plantilla', $datos); } //muestra el detalle de cada producto function detprod() { $id_pr = $this->input->post('idppt'); $id_lim = $this->security->xss_clean($id_pr); $datos['det'] = $this->Modelo_productos->detalle_producto($id_lim); $datos['contenido'] = 'detalle'; $this->load->view('plantilla/plantilla', $datos); } //agrega productos al carrito function agregar() { $data = array( 'id' => $this->input->post('id_prod'), 'qty' => $this->input->post('cantidad'), 'price' => $this->input->post('precio'), 'name' => $this->input->post('nombre'), 'options' =>array('Talla' =>$this->input->post('talpd')) 39 ); $this->cart->insert($data); redirect('carrito'); // print_r($_POST); } //carga la vista carrito de views function mostrar() { $datos['contenido'] = 'carrito'; $this->load->view('plantilla/plantilla', $datos); } //actualiza el carrito function actualizar() { $datos = $this->input->post(); $this->cart->update($datos); redirect('carrito'); } //vacia el carrito function vaciar() { $this->cart->destroy(); redirect('carrito'); } //elimina producto por id function eliminar($rowid) { $this->cart->update(array('rowid' => $rowid, 'qty' => 0)); redirect('carrito'); } } Vista En la vista se dividió en tres partes de página el encabezado, contenido y pie de página, donde el encabezado y pie de página no cambia en toda la aplicación a diferencia del contenido que es dinámico. Contenido Producto <script> window.onload = function () { var pos = window.name || 0; window.scrollTo(0, pos); } window.onunload = function () { window.name = self.pageYOffset || (document.documentElement.scrollTop + document.body.scrollTop); } </script> <section id="content"> <?php foreach ($prod as $pant) { ?> <?php if ($pant->disponible <> 'no'and $pant->disponible <> null): ?> <div class="productoim"> 40 <center> <form method="post" action="detalle" name="elem"> <strong class="titprod"><?php echo $pant->nombre; ?></strong><br> <input name="detall" type="image"src="elementos/productos/<?php echo $pant->imagen; ?>" width="70%" height="70%"/><br> <input type="hidden" name="nom" value="<?php echo $pant->nombre; ?>"> <span class="cspre">$<?php echo $pant->precio; ?></span><br> <?php $idd = $pant->id_producto; $sql = "select pt.id_talla,pt.id_producto,t.talla,pt.cantidad_stock from productos p,talla t,productos_talla pt where pt.id_producto= p.id_producto and t.id_talla=pt.id_talla and pt.id_producto=?;"; $tl = $this->db->query($sql, array($idd)); ?> <span class="taldis">TALLAS DISPONIBLES</span><br> <?php foreach ($tl->result() as $t) { ?> <!--Verifica existencia del producto--> <?php if ($t->cantidad_stock <> 0 and $t->cantidad_stock > 0and $t->cantidad_stock <> null): ?> <!--selecctionar id_talla y tambien......--> <div class="estall"><?php echo $t->talla; ?></div> <?php endif; ?> <?php } ?> <!-- idppt para actualizar stock--> <input type="hidden" name="idppt" value="<?php echo $pant->id_producto; ?>"> </center> </div> </form> <?php endif; ?> <?php } ?> </div> </div> </div> </div> 3.3.4 TRANSICIÓN 3.3.4.1 MANUAL TÉCNICO TECNOLOGÍA El Framework CodeIgniter Versión 2.1.3 tecnología utilizada para el desarrollo de la Aplicación web con PHP y MySql, se desarrolló en estas herramientas por su compatibilidad y facilidad en la programación. 41 HERRAMIENTAS Herramientas utilizadas son: MySql-Workbench 6.3.3.- Para estructurar la de Base de Datos. ARQUITECTURA DE LA BASE DE DATOS MySql 5.6.24.- La Base de datos elegida ya que es software libre y es compatible con cualquier sistema operativo. LENGUAJE El paquete que se utiliza para el desarrollo de la aplicación WEB en PHP/5.6.8. NAVEGADORES WEB La aplicación está comprobada para ser ejecutada en Chrome y Mozilla. SISTEMAS OPERATIVOS Para ejecutar la aplicación WEB se utilizará el sistema operativo Windows pero la aplicación también funciona en cualquier otro Sistema Operativo. 3.3.4.2 CAPACITACIÓN 3.3.4.2.1 TRANSFERENCIA TECNOLÓGICA La transferencia de tecnología es un mecanismo de propagación de capacidades, que puede ser de objetos técnicos y artefactos, como de conocimientos. La evolución económica de las empresas está ligada a un proceso de cambio tecnológico de sus aparatos productivos, en que los métodos y sistemas de producción y comercialización de bienes y servicios son sustituidos por otros más eficientes o para producir nuevos productos, para satisfacer las demandas y gustos del cliente. Las nuevas tecnologías de la información, y en especial Internet, sobresalen en la transferencia tecnológica: tanto como contenidos a divulgar hasta su papel como vía para crear contactos de colaboración entre centros de investigación, empresas y entidades 42 financieras con un coste relativamente reducido, buscando una gestión eficiente del proceso de transferencia de conocimiento. El objetivo de las colaboraciones para transferencia tecnológica es el impulsar el desarrollo y crecimiento de los diversos sectores de la sociedad mediante el acceso al conocimiento y experiencia de los grupos de investigación, innovación y desarrollo tecnológico. Los objetivos específicos son: Impulsar el desarrollo, formación y capacitación de excelencia de los integrantes de las diversas organizaciones e instituciones. Incrementar el interés por las actividades de investigación y formación académica en el sector productivo de la región. Transferir conocimiento y habilidades a los sectores educativo, público y privado. Generar nuevos espacios de inversión para el sector privado en las áreas de innovación tecnológica. Lo que se intenta mediante la transferencia tecnológica es dar a conocer el funcionamiento de la aplicación web desde su forma más básica hasta la más compleja, permitiendo así a los distintos tipos de usuarios la adaptación inmediata a la misma por su interfaz gráfica amigable, para lo cual se ha distribuido 30 horas de capacitación, dictadas en 5 horas diarias durante 6 días, el horario estará sometido a cambios dependiendo de los representantes de la empresa “Tejiconfecciones”. 3.3.4.3 PRUEBAS 3.3.4.3.1 SOFTWARE Tabla 17.Pruebas de Software. Elaborado por: El autor PRUEBA DETALLE Windows El S.O. utilizado fue Windows, ya que es mucho más fácil la instalación de herramientas de desarrollo de software. 43 Instalación de Se instaló correctamente los programas de desarrollo de la aplicación herramientas de Desarrollo Web, verificando compatibilidad de los sistemas operativos y ( PHP, My SQL 5.0,) ejecutando varios ejemplos para verificar la funcionalidad de los programas. Instalación de Xampp Servidor Web libre tiene compatibilidad con cualquier S.O. (Alvarez, 2007) Navegadores La prueba en los navegadores se ejecutó correctamente utilizando Mozilla y Chrome que tienen soporte HTML5 y CSS3 que es la base en toda página web. APLICACIÓN WEB Tabla 18.Pruebas de Aplicación Web. Elaborado por: El autor PRUEBA Código DETALLE Fuente Se verificó que la sintaxis usada este correctamente al momento de (Java y JavaScript) realizar compilaciones URLs Al trabajar con formularios y el paso de información de un formulario a otro se verifico que los vínculos o enlaces se hagan de manera relacionada. Conexión a la base Se realizó la configuración de acceso correcto BDD en el Framework de Datos Diseño, y no existió ningún problema de conexión. Estilos Se optimizó el espacio a utilizar y realizar combinaciones de colores CSS3 y Colores Consultas según la plantilla y la utilización de hojas de estilo CSS3. SQL Una vez comprobada la conexión con la base de datos, se verifico (Insert, Update, que las consultas MySQL lleguen a la base de datos, mediante Delete) llamado a las funciones propias del Framework que verifican el correcto acceso. Validación de Gracias a HTML5 se pudo realizar una correcta validación en los 44 cajas de texto formularios sin necesidad de Scripts. Sesiones Se realizó la configuración para que las sesiones se almacenen en la BDD temporalmente y a si no tener problemas de almacenamiento. Respaldos de la Se comprobó que el backup funcione al momento de importar los Base de Datos y datos en la Base de Datos, para evitar problemas de pérdida de la Backup información 3.3.4.3.2 UNITARIAS 3.3.4.3.2.1 INSERCIÓN DE REGISTRO En la primera figura se puede observar cómo está estructurado el formulario de registro del cliente. Gráfico 12.Registro Usuario. Elaborado por: el autor 45 3.3.4.3.2.2 PRUEBAS DE CARGA Las pruebas de carga se realizaron en una maquina diferente a la del desarrollo de la aplicación donde se observó los siguientes resultados. Tabla 19.Pruebas de Carga. Elaborado por: El autor PRUEBA CALIFICACIÓN Restauración de Base de Datos Excelente Backups de la Base de Datos Excelente Conexión de la Aplicación con la Base de Datos Excelente Ejecución de la Aplicación Excelente Funcionabilidad de la Aplicación Excelente Navegación en Internet Explorer 10 Regular Navegación en Mozilla Firefox Excelente Navegación en Chrome Excelente Validaciones en Internet Explorer 10 Regular Validaciones en Mozilla Firefox Excelente Validaciones en Chrome Excelente Visualización de la aplicación en Internet Explorer 10 Regular Visualización de la aplicación en Mozilla Firefox Excelente Visualización de la aplicación en Chrome Excelente Las pruebas se calificaron en orden de Excelente si cumple del 90% a 100%, Buena si se encuentra entre el 50% a 89%, Regular si está entre el 11% y el 49% y Mala si es inferior al 10% 46 En base a estos datos se recomienda utilizar como Navegadores Mozilla Firefox o Chrome, para un funcionamiento al 100% de la aplicación. 3.3.4.3.3 EVALUACIÓN CUANTITATIVA BACKUP Tabla 20. Prueba Backup Elaborado por: El autor Documentación MySQL PostgreSQL Tiempo de Generación de backup 4 5 Tamaño backup 5 4 Puntaje 1-5 5 5 Recuperación de información MySQL PostgreSQL Tiempo de procesamiento Prueba 1 10000 registros 2 minutos 2.5 minutos Prueba2 20000 registros 3 minutos 3.5 minutos Prueba3 30000 registros 4 minutos 5 minutos Puntaje 1-5 5 5 REPLICACION DE DATOS Tabla 21. Replicación de datos Elaborado por: El autor Documentación MySQL PostgreSQL Insertar 5 4 Eliminar 5 4 Modificar 5 5 Select 5 4 Puntaje 1-5 5 4 Recuperación de información MySQL PostgreSQL 10 horas 9 horas Tiempo de procesamiento Prueba 1 Insertar 1000 registros 47 Prueba2 Eliminar 2000 registros 10 horas 7 horas Prueba3 Modificar 3000 registros 13 horas 8 horas Prueba4 Select 4000 registros 12 horas 8 horas 4 5 Puntaje 1-5 ACCESO DE USUARIOS Tabla 22. Acceso Usuarios Elaborado por: El autor Documentación MySQL PostgreSQL Conexión por usuario 1.5 2 Número de usuarios 2 1.4 Puntaje 1-2 2 2 Recuperación de información MySQL PostgreSQL Tiempo de procesamiento Prueba 1 Conexión por usuario 1 minuto 1 minuto Prueba2 Número de usuarios 2 minutos 2 minutos Puntaje 1-2 2 2 DOCUMENTACIÓN Tabla 23. Documentación Elaborado por: El autor Documentación MySQL PostgreSQL Foros 10 7 Libros 9 3 Manuales 9 4 Puntaje 1-10 10 5 MySQL PostgreSQL Estas pruebas se realizaron solo observando unos cuantos links existían en la primera página de google Recuperación de información 48 Tiempo de procesamiento Prueba 1 10000 registros 0.01 segundo 0.019 Prueba2 20000 registros 0.02 segundo 0.03 Prueba3 30000 registros 0.03 segundo 0.04 Puntaje 1-10 10 8 LENGUAJES DE PROGRAMACIÓN Tabla 24. Lenguajes de Programación Elaborado por: El autor Se puede establecer pruebas en diferentes lenguajes de programación como PHP, los de .Net, Java, etc., tanto el rendimiento de MySql como PostgreSQL. La evaluación puede estar definida por el grado de compatibilidad con la conexión establecida por un conector o una conexión nativa. Ambiente: Evaluación: Número Pruebas: de Calificación: PRUEBAS MYSQL POSTGRES P1= PHP 10 10 P2= ASP.NET 10 5 P3= JSP 10 10 TOTAL 30 25 % de Compatibilidad de Conexión 100% 83% 3 5-10 pts. ENCRIPTACIÓN Tabla 25. Encriptación Elaborado por: El autor Ambiente: Determinar el nivel de seguridad según el método de encriptación que maneja cada base de datos. Evaluación: #prueba Método Seguridad MySQL Seguridad POSTGRES 1 MD5 2 2 2 Sha1 1 2 3 Encode 1 0 Número de Pruebas: 3 Calificación: 0 inexistente, 1 poco seguro, 2 seguro 49 3.3.4.3.4 RANGO DE EVALUACIÓN CUANTITATIVO TIEMPO DE PROCESAMIENTO Tabla 26. Tiempo de Procesamiento Elaborado por: El autor Ambiente: Para la determinación de los tiempos de respuesta en procesamiento se procedió a realizar una inserción en una tabla con diferentes registros. Evaluación: Inserción de 1 registro Tipo de Prueba MySql PostgreSQL Prueba 1 0,00146 0,00128 Prueba 2 0,00132 0,00100 Prueba 3 0,00132 0,00120 Promedio 0,00137 0,00116 Tipo de Prueba MySql PostgreSQL Prueba 1 0,00161 0,00258 Prueba 2 0,00234 0,00012 Prueba 3 0,00146 0,00421 Promedio 0,00180 0,00230 Tipo de Prueba MySql PostgreSQL Prueba 1 0,00145 0,00150 Prueba 2 0,01250 0,00141 Prueba 3 0,00103 0,00105 Promedio 0,00499 0,00132 Inserción de 5 registros simultáneamente Inserción de 10 registros simultáneamente Número de Pruebas: Para medir el tiempo de evaluación se realizaran 3 pruebas en ciclos de 3. 50 Calificación: Tipo de Prueba MySql Puntaje PostgreSQL Puntaje Inserción de 1 registro 0,00137 3,6 0,00116 3,8 Inserción de 5 registros 0,00180 3,2 0,00230 2,7 Inserción de 10 registros 0,00499 0,0 0,00132 3,7 Total 6,8 10,2 3.3.4.3.5 PRUEBAS DE RENDIMIENTO Los datos que a continuación se presentan son tiempos promedios observados después de la ejecución de varias sentencias en la base de datos: Tabla 27. Pruebas de Rendimiento Elaborado por: El autor PRUEBA TIEMPO OBSERVACIÓN Conexión a la base de datos 0.0199s Optimo Inserción 0.0123 Optimo Actualización 0.0117 Optimo Eliminación 0.0118 Optimo Consulta Básica (A una tabla) 0.0250 Óptimo Consultas a dos tablas relacionadas 0.0291 Optimo Ejecución de Procedimientos Almacenados 0.01385 Optimo Mensajes de Error 0.0112 Optimo 51 3.3.4.3.6 CONCLUSIÓN DE LAS PRUEBAS Las características de búsquedas son aquellas que nos permite hacer las respectivas búsquedas como, cruzadas, por índices y horizontales, para ello se ha realizado una evaluación de 1-2 puntos sea en MySql y PostgreSql, para ver el tiempo de procesamiento también se ha hecho 3 pruebas de 10000 registros, 20000 registros y 30000registros, el tiempo de duración que será en segundos, como resultado en Mysql 2 y en PostgreSql 1. Los Backups son aquellas que nos permite hacer una copia de seguridad, para ello hemos tomado en cuenta el tiempo de Generación de backup y tamaño del backup, los puntajes que serán de 1-5 sea en MySql y en PostgreSql; en el tiempo de procesamiento, se tomara en cuenta 3 pruebas, sea de 10000 registros, 20000 registros y 30000 registros, el tiempo de duración que se tomara en cuenta en minutos, como resultado en MySql 5 y en PostgreSql 5. En la Replicación de Datos se ha tomado en cuenta el Insertar, Eliminar, Modificar y Seleccionar, con un puntaje de 1-5 en MySql y PotgreSql, con tiempo de procesamiento de 3 pruebas Insertar 1000 registros, eliminar 2000 registros, Modificar 3000 registros y Seleccionar 4000 registros, el tiempo de medida calculado en horas, como resultado de puntaje será de 4 MySql y 5 en PostgreSql. Acceso de Usuarios se por conexión por usuarios y números de usuarios que ingresan al sistema, se ha tomado en cuenta de 1-2 puntos con un resultado total en MySql 2 y en PostgreSql 2; el tiempo de procesamiento se ha realizado 2 pruebas que es por conexión por usuario y números de usuarios el tiempo de duración que se ha tomado en cuenta en minutos con un puntaje total de 2 MySql y 2 PostgreSql. Mediante las pruebas realizadas anteriormente se concluye que el Gestor de Base de datos que posee una mayor documentación que a la vez es fuerte, efectiva y fácil de entender es MySQL. En las pruebas realizadas se puede observar que MySQL brinda mayor velocidad de recuperación de información que PostgreSQL por lo que se puede concluir que MySQL es la mejor opción para aquellas bases de datos que almacenan una gran cantidad de registros. Se concluye que los dos Gestores de bases de datos brinda todas las garantías que se brinda en la compra de un software 52 Se concluye que ambos Gestores de bases de datos han pasado las pruebas realizadas con una calificación de 10 ya que ambos si soportan todos estos componentes y aplicaciones. En conclusión se puede determinar que MySQL es uno de los que más generadores de código con PHP utiliza por esta razón este Gestor es uno de los más utilizados. Se puede concluir que MySQL brinda la facilidad a los usuarios en enlazar la base de datos con varios programas, ya que posee una gran cantidad de conectores que permiten que la base de datos y la aplicación interactúen mutuamente. En este caso se concluye que PostgreSQL posee una sintaxis SQL mucho más fuerte y poderosa que MySQL por lo que PostgreSQL sería la mejor opción si se desea utilizar bases de datos que soporten todas o varias de las sentencias SQL estándar. MySql tiene mayor rendimiento, refiriéndonos a velocidad sistemas, sobre todo en sistemas en los que la velocidad y el número de accesos concurrentes sean algo primordial. Al conectar con un lenguaje de programación se puede establecer que tiene mejor integración con PHP en especial para crear páginas web con contenido dinámico. La velocidad también se la puede distinguir en MySql en la ejecución de consultas y procedimientos almacenados, además contiene mejores utilidades de administración que permiten mayor versatilidad en la generación de backup y recuperación de errores, no obstantes es importante recalcar que PostgreSql es un poderoso motor de base de datos, que pese a su lentitud con respecto a MySql, almacena mayor cantidad de registros y tiene mejores procedimientos de depuración (Paillacho, 2010). 53 CONCLUSIONES Tradicionalmente el comercializar productos ha sido de forma directa, en la actualidad existen diversas formas de comercializar productos gracias al uso de tecnologías de información y comunicación, ya que mediante el comercio electrónico o E-Commerce han hecho posible que los negocios se desarrollen mejor con el uso del Internet. Existen empresas que han facilitado a que los negocios crezcan en gran porcentaje, las cuales ofrecen publicidad en la WEB. Esta aplicación realizara ventas en línea mediante un carrito de compras y pagos a través de PayPal que es el medio más rápido y seguro al momento de realizar transacciones comerciales. Los Sistemas Informáticos son un gran apoyo en la gestión comercial ya que nos permiten tener una información verídica y mantener una segura manipulación de los datos de los clientes, productos, transacciones, etc. Con el desarrollo de la aplicación web, se puso en práctica los conocimientos adquiridos en distintos periodos de la educación universitaria y además, el curso de actualización de conocimientos ayudo a retomar la investigación de nuevas tecnologías que han sido de gran utilidad como el framework CodeIgniter que facilita la programación de aplicaciones web. 54 RECOMENDACIONES Realizar un oportuno cambio hacia el uso de nuevas tecnologías informáticas que favorecen el desarrollo de toda empresa. Establecer contactos con empresas especializadas en promover o dar publicidad a empresas para establecer contactos con un mayor número de clientes. Verificar el acceso seguro en la página de PayPal para evitar posibles errores en la realización de transacciones comerciales. Hacer regularmente copias de seguridad de la base de datos. Usar el Framework CodeIgniter versión 2.1.3 para que no existan errores de compatibilidad. 55 BIBLIOGRAFÍA CodeIgniter Team. (2011). CodeIgniter, Guía de Usuario en Español para la Versión 2.1.3. Madrid: Autoedición. Cook, T. D. (1986). Métodos cualitativos y cuantitativos en investigación evaluativa. . Madrid: J. M. A. Méndez. González, Y. D. (2012). Patrón Modelo-Vista-Controlador. . Revista Telem@ tica, 47-57. KENDALL, K. Y. (2005). Analisis y diseño de Sistemas (Sexta ed.). Mexico: Pearson Educacion. Millet, P. B., & Iglesia, D. G. (2010). Laboratorio de PHP y MySQL. Barcelona: Eureca Media, SL. Olabuénaga, J. I. (2012). Metodología de la investigación cualitativa (Vol. 15). Bilbao, España: Casa del Libro. Paillacho, A. (2010). APLICACIÓN WEB PARA EL CONTROL DE LOS CASOS DELICTIVOS DENTRO DE LAS DELEGACIONES CON MÓDULO DE ACTIVOS FIJOS DE LA POLICÍA JUDICIAL EN LA CIUDAD DE IBARRA. Ibarra. LINKOGRAFÍA Abad, S. (1 de Enero de 2007). EL COMERCIO ELECTRÓNICO. Obtenido de http://www.businessgo.es/documentos-paradescarga/Investigaci%C3%B3n%20OBS.%20El%20Comercio%20Electr%C3%B3nico%2 02014.pdf Alvarez, M. A. (18 de julio de 2007). desarrolloweb. Obtenido de http://www.desarrolloweb.com/articulos/xampp.html Barbarapvn. (28 de mayo de 2013). hipertextual. Recuperado el 10 de junio de 2015, de http://hipertextual.com/archivo/2013/05/entendiendo-html5-guia-para-principiantes/ Checa, J. (10 de Marzo de 2014). ecualink. Obtenido de http://www.ecualinkblog.com/2014/10/como-recibir-dinero-de-paypal-en-ecuador.html Damian. (23 de noviembre de 2010). CSS3 HTML5. Recuperado el 10 de junio de 2015, de http://html5.dwebapps.com/que-es-css3/ Epsilon-Eridani. (1 de Enero de 2009). Comercio electrónico. Tiendas virtuales. Obtenido de http://www.tiendaonlineprofesional.com/cubic/ap/cubic.php/doc/Comercio-electronico.Tiendas-virtuales-283.html GrupNADD. (28 de Junio de 2012). slideshare. Obtenido de http://rupmetodologia.blogspot.com/2012/06/fases-de-la-metodologia-rup.html lynkoo, C. (22 de octubre de 2012). http://www.lynkoo.com/tag/resumen-historia-comercioonline/. Recuperado el 02 de julio de 2015 PayPal. (1 de Enero de 1999). ¿Qué es PayPal? Obtenido de https://www.paypal.com/ec/cgibin/webscr?cmd=xpt/Marketing/popup/OLCWhatIsPayPal-outside Redempresariosvisa. (15 de Enero de 2013). Guía Práctica para el Desarrollo de Plataformas de Comercio Electrónico en México. Obtenido de http://www.redempresariosvisa.com/Content/docs/SeminarioEcommerceVisaEmpresarial_ MX.pdf Riehle, D. (17 de Abril de 2000). Wikipedia. Obtenido de https://es.wikipedia.org/wiki/Framework Wikipedia. (25 de junio de 2015). Wikipedia. Obtenido de https://es.wikipedia.org/wiki/XAMPP ANEXOS Manual De Usuario. Para iniciar a utilizar la aplicación abra su navegador en la dirección www.tejiconfecciones.com, para un mejor desempeño de los procesos se recomienda Mozilla Firefox o Chrome. Chrome PRODUCTOS En la opción productos se puede visualizar los productos,talla y precio que se encuentran disponibles para la venta haciendo click sobre la imagen del producto requerido nos muestra el producto detallado. Seleccionar una talla Presionando el botón Agregar al carrito previamente seleccionando la talla se agrega el producto a nuestro carrito de compras. Actualizar Cantidad Eliminar producto Si deseamos agregar más productos hacemos clic en el botón continuar comprando o en el menú productos. Para aumentar el número de productos de la misma descripción ingresamos la cantidad y presionamos el botón actualizar Una vez terminada la compra presionamos el botón realizar pedido que si no hemos iniciado sesión nos dirige a identificarnos o registrarnos. Sesión iniciada Luego de registrarnos podemos iniciar sesión con el correo y la contraseña. Si se ha hecho las compras y hemos iniciado sesión continuaremos con el proceso del pedido en el cual nos da a elegir la forma de pago a efectuar si es deposito simplemente se envía un correo al cliente proporcionando el detalle del pedido, datos de contacto y la cuenta del propietario. Si no ha realizado compras se dirige a mostrar los productos. Si elegimos PayPal debemos hacer clic sobre el botón PayPal bajo el detalle de las compras y nos enviara a la página de pago donde nos muestra el nombre de la empresa el detalle y total a pagar, deberán tener activa la cuenta de PayPal para efectuar el pago. Finalmente se envía un correo con el detalle de tus compras por lo que es muy importante al momento de registrarse, ingresar un correo valido y activo. En algunas cuentas de correo, por seguridad el mensaje puede estar en la sección de correo no deseado. MENÚ PRINCIPAL DEL ADMINISTRADOR Para ingresar como administrador de la aplicación se deberá agregar a la siguiente dirección tejiconfecciones/admin54387 en la cual nos pedirá los datos de acceso. Aquí se encuentran todos los enlaces disponibles para el administrador de la aplicación. Las opciones en el menú son: Productos, Clientes, Ventas, Reportes, Backup y Salir. La opción productos tiene una subdivisión. PRODUCTOS Agregar Producto. Permite registrar los productos nuevos para ser vendidos. Listado de Productos (Modificar, Eliminar, Buscar, Listado de productos). Agregar Talla Activar Producto Eliminar producto Editar producto Para eliminar el producto hace una verificación de la utilización si no existe movimientos elimina caso contrario mantiene el producto pero se lo puede activar o desactivar haciendo clic en el botón redondo color verde. Editar Seleccionando el botón editar se abre una ventana emergente mediante la cual nos permite editar los datos del producto Agregar Talla Seleccionando el icono de agregar talla se procede a actualizar o agregar cada talla las imágenes con el símbolo de actualizar ya están agregadas solamente se puede modificar la cantidad, el botón con la imagen de símbolo + las tallas no han sido agregadas se debe ingresar la cantidad y presionar el botón. Una vez agregado no se puede eliminar simplemente se actualiza la cantidad a 0 para no mostrar la disponibilidad de la talla. Clientes Muestra el listado de clientes registrados en el sistema y que pueden realizar compras, en esta opción solo se puede eliminar el cliente que no ha hecho ninguna transacción. Además se puede hacer búsquedas por id, nombre y ciudad simplemente dando clic en la barra de título de cada opción e ingresar parte o todo el contenido de la búsqueda. Ventas Muestra el listado de ventas por Nro. Compra, nombre cliente, fecha, forma de pago, estado del pedido y el detalle de la compra Reportes Los reportes se visualizan en formato .pdf los principales son pedidos por PayPal, pedidos por depósito y el estado de los productos. Backup Crea una copia de seguridad de la base de datos y hace un registro en la tabla backup el nombre fecha y hora en la cual se realizó la copia. Finalmente la opción salir que cierra la sesión del administrador. Entrevista al Sr. Rodrigo Anrango propietario de la empresa “Tejiconfecciones” Entrevista realizada al dueño de la empresa “Tejiconfecciones”, ubicada en la ciudad de Otavalo parroquia San José de Quichinche. P ¿Cuál es su profesión? R En la actualidad me desempeño como administrador y maestro de taller de mi propia empresa. P ¿Cómo inicio su empresa? R Luego de terminarse la empresa en la que trabajaba como operario, pude adquirir los telares que iban a terminar como chatarra y decidí darles mantenimiento así pude hacer que volvieran a estar en funcionamiento y con los conocimientos que obtuve en mi trabajo pude formar una pequeña empresa de tejido en mi casa. P ¿Por qué decidió iniciar con la elaboración de pantalones jamaiquinos? R Inicialmente se producía tela ya que tenía conocimiento debido al trabajo que realizaba. Luego de seguir un curso de diseño de modas y maestro de taller luego decidí iniciar con la confección de pantalones jamaiquinos. P ¿Ha pensado producir otros productos? R He realizado la confección de otros productos en pequeñas cantidades pero la mayoría la mayoría de la producción se emplea en la confección de pantalones. P ¿Ha sido suficiente el espacio de comercialización? R Por el momento ha sido regular debido a que no cuento con local propio en la ciudad de Otavalo y únicamente se comercializa los días de feria que son los miércoles y sábados. P ¿Existe demanda de sus productos? R Hay temporadas en las que se tiene mayor comercio de pantalones pero también hay temporadas con pocas ventas. P ¿Existe mucha competencia con similares productos? R Actualmente se ha ido incrementando el número de comerciantes de pantalones jamaiquinos pero los pantalones que comercializo son conocidos y he podido llegar a tener clientes que nos prefieren. P ¿Tiene conocimientos en computación? R Si he tomado clases de computación y conozco lo básico. P ¿Sabe usted que es el E-Commerce o comercio electrónico? R No P ¿Piensa usted que el comercio electrónico podría ser una opción para su empresa? R (Previa definición de comercio electrónico). Según lo indicado pienso que sería algo interesante ya que he visto que muchas personas tienen acceso a internet y podría mostrar mis productos. P ¿La empresa cuenta con recursos tecnológicos (como una computadora, una impresora)? R Si, recientemente adquirí un computador por motivos de estudio de mis hijos y además yo la utilizo por trabajo. P ¿Está dispuesto a implementar una aplicación web para su empresa? R Si ya que me parece que puede haber muchos beneficios en el comercio de mis productos ya que se mostrarían en cualquier lugar. PayPal en Ecuador y Latinoamérica Especialmente en Latinoamérica es un poco complicado cobrar o retirar dinero en PayPal. Con una cuenta en los Estados Unidos podemos retirar los fondos que tenemos en PayPal, esa es una de las formas más rápidas de cobrar, es como cobrar en efectivo realizando una transferencia de fondos a su cuenta bancaria, podrás retirar tu saldo PayPal en efectivo en el momento que tu más creas conveniente, también existe otro método de cobrar, al igual que Google Adsense, PayPal emite un cheque que lo envía a la dirección postal con la que tú te hayas subscrito. Payoneer la solución PayPal en Ecuador Payoneer es una solución muy segura y comprobada para recibir su dinero que ha cobrado con PayPal u otros medios, mediante el uso de una Tarjeta Payoneer Pre pagada MasterCard, la que podemos usar en cajeros automáticos o tiendas que acepten MasterCard. El proceso de adquisición de esta tarjeta es muy sencillo y además gratuito, lo que tiene un costo es en la activación y uso de la tarjeta. ¿Qué es Payoneer? Payoneer es una empresa bancaria con sede en Nueva York, se centra en prestar los siguientes servicios: Tarjeta Virtual: Es una tarjeta de crédito que solo te sirve para realizar compras vía Internet Transferencias bancarias locales: Permite a sus usuarios transferir dinero entre cuentas en moneda local Cheques Internacionales: Emisor oficial de cheques a nivel internacional. Y finalmente el servicio que nos interesa. Tarjeta de crédito prepago MasterCard: Las tarjetas de crédito prepago son un servicio muy conocido en Internet, nos sirven para realizar cualquier tipo de transacción desde que la tarjeta esté recargada (no es un crédito) tú tienes la tarjeta, le recargas saldo y con ella puedes realizar transacciones. Lo que vamos a hacer es abrir gratuitamente una cuenta bancaria en Estados Unidos con Payoneer, al abrir la cuenta nos envían a nuestro domicilio (sin importar el país) una tarjeta de crédito pre pagada, la cual virtualmente podemos recargar desde PayPal o también nos pueden realizar un pago desde el exterior con tarjeta de crédito y el monto del pago se ve reflejado como carga en la tarjeta. Esta tarjeta la podemos utilizar sin ningún tipo de restricción en nuestro país, igualmente podemos retirar el dinero desde cajeros automáticos con el proceso que en una tarjeta de crédito normal se conoce como “Avance”. Recomiendo usar el cajero del Banco del Pacífico. Los costos por utilizar o retirar el dinero son irrisorios para el servicio que a final nos presta Payoneer, la tabla con estos costos la podrás ver al final. Registrarse en el sitio web Aprobación de su nueva cuenta en Estados Unidos (este proceso tarda aproximadamente 6 días) Entrega de la tarjeta (Luego de aprobada la cuenta te envían la tarjeta de crédito a tu lugar de domicilio). En el sitio web dicen que este proceso tarda 30 días dependiendo de la empresa de mensajería que tengan en el país, para Ecuador solo fueron 20. Los costos y comisiones. Payoneer realiza el cobro de comisiones en estos casos: - Tasa anual de mantenimiento: $24.95 - Reemplazo de la tarjeta en caso de pérdida: $12.95 - Retiros en efectivo desde cajeros ATM: $2.75 *Por transacción - Retiro fallido de dinero: $1.00 - Consulta del saldo en ATM $1.00 Nota: Si usted utiliza la tarjeta para realizar compras en locales comerciales, no tendrá ningún costo. El servicio para realizar el paso de dinero de una cuanta PayPal a una tarjeta de crédito se llama US Payment Services en el momento en que te llegue tu tarjeta la activas, realizas la asociación de tu tarjeta con tu cuenta de Paypal y listo, estarás preparado para gastar dinero de tu PayPal en cualquier parte del mundo. (Checa, 2014) MAPA DEL SITIO www.Tejiconfecciones.com Inicio Productos Detalle Producto Carrito Forma de Pago Detalle Compras Fin Compras Galeria Iniciar Sesión Contactos