UNIVERSIDAD TÉCNICA DE BABAHOYO
FACULTAD DE ADMINISTRACIÓN FINANZAS E INFORMÁTICA
TESIS DE GRADO
Previa a la obtención del título de:
INGENIERAS EN SISTEMAS
TEMA:
DESARROLLO DE UN SISTEMA DE INFORMACIÓN GERENCIAL DE
VENTAS PARA EL ALMACÉN “LA ECONOMIA” DEL CANTÓN
BABAHOYO PROVINCIA DE LOS RÍOS.
AUTORAS:
Ana Mercedes Aliaga Farro
Dalia Ofelia Ahytong Ramos
DIRECTOR:
Ing. Harry Saltos Viteri.
LECTORA:
Ing. María Gonzáles Valero
ÍNDICE GENERAL
Agradecimiento ………………………………………………………………………..1
Agradecimiento ………………………………………………………………………..2
Dedicatoria …………………………………………………………………………….3
Dedicatoria …………………………………………………………………………….4
Declaración de autoría ………………………………………………………………..5
Introducción …………………………………………………………………………...6
CAPITULO I ……...………………………………………………………………….8
1. El problema …………………………………………………………………………8
1.1. Planteamiento del problema ………………………………………………………8
1.2. Formulación del problema ………………………………………………………10
1.3. Delimitación del problema ………………………………………………………10
1.4. Objetivos de la investigación ……………………………………………………10
1.4.1. Objetivo general ……………………………………………………………….10
1.4.2. Objetivos específicos ………………………………………………………….10
1.5. Justificación de la investigación ………………………………………………...11
CAPITULO II ………………………………………………………………………13
2. Marco teórico ……………………………………………………………………...13
2.1. Antecedentes de la investigación ………………………………………………..13
2.2. Fundamentación teórica ……………………………………...………………14,15
2.2.1. Ventas …………………………………………………………………………16
2.2.2. Inventarios …………………………………………………………………..16
2.2.2.1. Control de inventarios …………………………………………...………17,18
2.2.2.2. Tipos de inventarios ……………………………………………….…19,20,21
2.2.3. Sistemas de información ………………………………………………………22
2.2.3.1. Definición …………………………………………………………………...23
2.2.3.2. Elementos de los sistemas de información ………………………………….24
2.2.3.4. Clasificaciones de los sistemas de información ……………………………..24
2.2.3.5. Planeación y control. ………………………………………………………...25
2.2.3.5.1. Calidad …………………………………………………………………….26
2.2.3.5.2. Oportunidad ……………………………………………………………….26
2.2.3.5.3. Cantidad …………………………………………………………………...26
2.2.3.5.4. Relevancia …………………………………………………………………26
2.2.3.6. Factores que determinan el desempeño de un sistemas de informacion
gerencial. ……………………………………………………………………………..27
2.2.3.7. Estructura de un sistema de informacion gerencial (SIG). ………………….28
2.2.3.8. El SIG se puede informar como una estructura piramidal. ………………….29
2.2.3.9. Sistemas de información gerencial en las Pymes …………………………...29
2.2.3.10. Ventajas y desventajas de un SIG ……………………………...………….30
2.2.3.10.1. Ventajas ………………………………………………………………….30
2.2.3.10.2. Desventajas ………………………………………………………………30
2.2.4. Sistema de información de ventas……………………………………………..31
2.2.5. Sistemas web ………………………………………………………………….31
2.2.5.1. Beneficios de un sistema web ……………………………………………….31
2.2.5.2. Herramientas para el desarrollo web ………………………………………..32
2.2.5.3. Fases de desarrollo de una web ……………………………………………...33
2.2.6. Página web …………………………………………………………………….34
2.2.6.1. Tipos y caracteristicas de las páginas web …………………………………..35
2.2.6.2. Página web dinámica ………………………………………………………..35
2.2.6.3. Página web estática ………………………………………………………….36
2.2.6.4. Página web animada ………………………………………………………...37
2.2.7. Php …………………………………………………………………………….37
2.2.7.1. Vision general de php ……………………………………………………….38
2.2.7.2. Historia ………………………………………………………………………38
2.2.7.3. Características …………………………………………………………..39,40
2.2.7.4. Ventajas y desventajas de php ……………………………………………....41
2.2.7.4. 1. Ventajas ………………………………………………………………...41
2.2.7.4. 2. Desventaja ………………………………………………………………..41
2.2.7.5. Ejecución ………………………………………………………………41,42
2.2.7.6. Usos de php ………………………………………………………………….43
2.2.7.7. Páginas web diseñadas en php …………………………………………43,44
2.2.8. Phprunner ……………………………………………………………………...45
2.2.8.1. Descripción de phprunner …………………………………………………..46
2.2.8.2. Características de phprunner ………………………………………………..46
2.2.8.3. Beneficios del uso de phprunner …………………………………………….46
2.2.8.4. Tecnologías …………………………………………………………………47
2.2.8.5. Herramientas de phprunner...……………………………………………48,59
2.2.9. Base de datos ………………………………………………………………….60
2.2.9.1. Modelos de bases de datos ………………………………………………….61
2.2.9.1.1. Bases de datos jerárquicas ………………………………………………...61
2.2.9.1.2. Base de datos de red ……………………………………………………….62
2.2.9.1.4. Bases de datos relacionales ……………………………………………….62
2.2.9.1.5. Bases de datos multidimensionales ………………………………………..63
2.2.9.1.6. Bases de datos orientadas a objetos ……………………………………….63
2.2.9.1.7. Bases de datos documentales ……………………………………………...64
2.2.9.1.8. Bases de datos deductivas …………………………………………………64
2.2.9.1.8.1. Lenguaje de base de datos deductivas …………………………………..65
2.2.9.1.8.2. Características de base de datos deductivas …………………………….65
2.2.9.2. Gestión de bases de datos distribuida (SGBD) ……………………………..65
2.2.9.3. Características de base de datos …………………………………………….66
2.2.9.4. Ventajas y desventajas de la base de datos ………………………………….66
2.2.9.4.1. Ventajas……………………………………………………………………66
2.2.9.4.1.1. Control sobre la redundancia de datos ………………………………….66
2.2.9.4.1.2. Consistencia de datos ……………………………………………………67
2.2.9.4.1.3. Compartición de datos …………………………………………………..67
2.2.9.4.1.4. Mantenimiento de estándares ……………………………………………67
2.2.9.4.1.5. Mejora en la integridad de datos ………………………………………...67
2.2.9.4.1.6. Mejora en la seguridad …………………………………………………..67
2.2.9.4.1.7. Mejora en la accesibilidad a los datos ………………………………...68
2.2.9.4.1.8. Mejora en la productividad ……………………………………………...68
2.2.9.4.1.9. Mejora en el mantenimiento …………………………………………….68
2.2.9.4.1.10. Aumento de la concurrencia …………………………………………...68
2.2.9.4.1.11. Mejora en los servicios de copias de seguridad ………………………..68
2.2.9.4.2. Desventajas ………………………………………………………………..69
2.2.9.4.2.1. Complejidad ……………………………………………………………..69
2.2.9.4.2.2. Coste del equipamiento adicional ……………………………………….69
2.2.9.4.2.3. Vulnerable a los fallos …………………………………………………..69
2.2.9.5. Tipos de campos …………………………………………………………….69
2.2.9.6. Tipos de base de datos ……………………………………………………...70
2.2.9.6.1. Modelo entidad-relación …………………………………………………..70
2.2.9.6.2. Cardinalidad de las relaciones …………………………………………….70
2.2.9.7. Sqlyog ……………………………………………………………………….71
2.2.9.7.1 características de sqlyog …………………………………………………...71
2.2.9.7.2. Plataformas de sqlyog ……………………………………………………..72
2.2.9.7.3. Especificaciones técnicas ………………………………………………….73
2.2.9.8. Wamp server ………………………………………………………………...73
2.2.9.8.1. Características de wampserver …………………………………………….74
2.2.9.8.2. Requerimientos de wampserver …………………………………………...74
2.2.9.8.3. Novedades de wampserver .……………………………………………….74
CAPÍTULO III ……………………………………………………………………...75
3. Marco metodológico ………………………………………………………………75
3.1. Modalidad de la investigación …………………………………………………..75
3.1.1 investigación cuantitativa ……………………………………………………75
3.2. Tipos de la investigación ………………………………………………………..75
3.2.1. Bibliográfica …………………………………………………………………..75
3.2.2. De campo ……………………………………………………………………...75
3.2.3. Descriptiva …………………………………………………………………….75
3.3. Metodos y tecnicas de instrumentos …………………………………………….75
3.3.1. Instrumentos de la investigación ………………………………………………76
3.3.1.1. Métodos ……………………………………………………………………..76
3.3.1.1.1. Método científico ………………………………………………………….76
3.3.1.1.2. Metodo bibliográfico ……………………………………………………...76
3.3.1.1.3. Método deductivo …………………………………………………………76
3.3.1.2. Técnicas …………………………………………………………………….76
3.3.1.2.1. La encuesta ………………………………………………………………..77
3.3.1.2.2. La entrevista ………………………………………………………………77
3.3.1.2.3. La observación …………………………………………………………….77
3.3.1.3. Instrumentos …………………………………………………………………77
3.3.1.4. Recursos …………………………………………………………………….77
3.3.1.4.1. Recursos humanos ………………………………………………………...77
3.3.1.4.2. Técnicos …………………………………………………………………...77
3.3.1.4.3. Materiales ………………………………………………………………….77
3.3.1.4.4. Económicos ………………………………………………………………..78
3.3.1.5. Instrumentos (encuesta) …………………………………………………….78
3.3.1.5.1. Dirigida a ………………………………………………………………….78
3.3.1.5.2. Objetivo …………………………………………………………………78
3.4. Población y muestra de la investigación ………………………………………...80
3.4.1. Población ……………………………………………………………………80
3.4.2. Muestra ………………………………………………………………………..80
3.3. Análisis e interpretavion de resultados …………………………..………….81,88
3.5. Conclusiones y recomendaciones ……………………………………………….89
3.5.1. Conclusiones ………………………………………………………………….89
3.5.2. Recomendaciones …………………………………………………………….90
CAPITULO IV ……………………………………………………………………...91
4. Desarrollo técnico de la investigación …………………………………………….91
4.1. Introducción ……………………………………………………………………..91
4.2. Análisis previo …………………………………………………………………..91
4.3. Diseño …………………………………………………………………..…...91,92
4.3.1. Base de datos ………………………………………………………………….93
4.3.1.1. Modelo físico – modelo entidad de relación ………………………………..93
4.3.1.1.1. Modelo físico ……………………………………………………………..93
4.3.1.1.2. Modelo entidad de relación ……………………………………………….94
4.3.1.1.3. Diccionario de datos …………………………………………………...94,97
4.3.1.1.4. Script de la base de datos ………………………………………….….98,102
4.3.1.1.5. Diagrama de caso de uso…………………………………………………103
4.3.1.1.6. Diagrama de secuencia …………………………………………………..104
4.3.1.1.7. Diagrama de actividad …………………………………………………...104
4.3.1.1.8. Diagrama de despliegue ………………………………………………….105
4.4. Diseño de interfaces ……………………………………………………………105
4.4.1. Diseño de salidas ……………………………………………………………106
4.5. Desarrollo ………………………………………………………………107,130
4.5.1. Pruebas ………………………………………………………………………131
4.5.2. Implementación………………………………………………………………132
4.5.2.1. Requerimientos de hardware ………………………………………………132
4.5.2.2. Requerimientos de software ………………………………………………..132
4.5.2.2.1. Plataforma ………………………………………………………………..132
4.5.2.2.2. Sistema operativo ………………………………………………………...132
4.5.2.2.3. Lenguaje de programación ……………………………………………….133
4.5.2.3. Proceso de instalación ……………………………………………………..133
4.5.1.3.1. Instalación de wampserver 5.1 ………..…………………………………133
4.5.1.3.2. Instalación de sqlyog enterprise …………………………………………138
4.5.1.3.3. Instalación del sistema de información gerencial de ventas. ……....142,144
4.5.1.3.4. Seguridades ……………………………………………………...145,146
4.6. Conclusiones y recomendaciones ……………………………………………...147
4.6.1. Conclusiones …………………………………………………………………147
4.6.2. Recomendaciones ……………………………………………………………148
Glosario de términos y abreviaturas ………………………………………………..149
Bibliográficas …………………………………………………………………….1510
Linkografías……………………………………………..………………………...1521
Anexos………………………………………………...……………………….152,172
ÍNDICE DE FIGURAS
Figura 1. Organigrama del almacén …………………….……………………...…….15
Figura 2. Sistemas de información1 …………………….…………………………..23
Figura 3. Sistemas de información2 ………………………………………………...23
Figura 4. Planeación y control ……………………………………………….………26
Figura 5. Relevancia ……..………………………………………..…………………27
Figura 6. Estructura de un S. I. G ………………………...………………………….28
Figura 7. El S.I.G se puede informar como una estructura piramidal……………….29
Figura 8. Beneficios de un Sistema Web ………...………….……………………….32
Figura 9. Página web ……………..………………….………..…………………….35
Figura 10. Página web dinámica ……………………………………………………..35
Figura 11. Página web estática ………………………………………………...…..36
Figura 12. Página web animada ……………………...………………………………37
Figura 13. Esquema del funcionamiento de las páginas PHP ………………………..42
Figura 14. PHPRunner ……………………………………………………………….45
Figura 15. Plantillas ………………………………………...………………………..48
Figura 16. Amplia gama de soporte de base de datos ………………………..………48
Figura 17. Editor Visual ………………………………….………………………….49
Figura 18. Informes y Gráficos ………..……………………………………………..50
Figura 19. Previa Solicitud ………..…………………………………………………50
Figura 20. Seguridad ……………………...………………………………………….51
Figura 21. Configuración de usuario Entrar …………………………………………52
Figura 22. Permisos Dinámicos …………………..…………………………………52
Figura 23. Style Editor ……………………………………………………………….53
Figura 24. Soporte multilenguaje …………………………………………………….53
Figura 25. Eventos ………………………………………….………………………..54
Figura 26. Relaciones maestro-detalle …………………………………………....….55
Figura 27. Editor de texto enriquecido ……………………………………………....55
Figura 28. Imágenes y Documentos …………………………………………………56
Figura 29. Dependientes cuadros desplegables ………………………………….…..56
Figura 30. Controles de Edición ………………………………………..……...…….57
Grafico 31. Integración con el sitio web existente ………………………………..….57
Figura 32. Ajax funcionalidad basada en la funcionalidad ………………..…………58
Figura 33. FTP Upload ………………………………………....……………………58
Figura 34. Crear/modificar las tablas de base de datos ………………………………59
Figura 35. Plantillas adicionales ………………………………………………....…..59
Figura 36. Cascade Menu Builder …………………………………………….......…60
Figura 37. Base de datos deductiva…………………………………………………..64
Figura 38. Wamp Server ……………………………………………….…………….73
Figura 39. Pregunta 1 …………………………………………...……………………82
Figura 40. Pregunta 2 ………………………………………………...………………82
Figura 41. Pregunta 3 ………………..…………………………...………………….83
Figura 42. Pregunta 4 …………………………………………...……………………84
Figura 43. Pregunta 5 …………………………………………...……………………84
Figura 44. Pregunta 6 …………………………………………...……………………85
Figura 45. Pregunta 7 …………………………………………...……………………86
Figura 46. Pregunta 8 …………………………………………...……………………86
Figura 47. Pregunta 9 ……………………………...…………………………………87
Figura 48. Pregunta 10 ……………………….………………………………………88
Figura 49. Modelo Físico ……………………..…………………………………….93
Figura 50. Modelo Entidad de Relación ……………………………………………94
Figura 51. Diagrama caso de uso vendedor ………………………….……………..103
Figura 52. Diagrama caso de uso administrador ……………………………………103
Figura 53. Diagrama de secuencia ………………………………………….………104
Figura 54. Diagrama de actividad ………………………………………………..…104
Figura 55. Diagrama de despliegue ………………………………..……………….105
Figura 56. Diseño de Interfaces ……………………………………...……………..106
Figura 57. Diseño de salida1 ………………………………………………..………106
Figura 58. Diseño de salida2 …………………………………………..……………107
Figura 59. Pruebas. Acceso al sistema con usuario no creado ………………….….131
Figura 60. Prueba. Acceso al sistema con usuario inactivo ……………………...…132
Figura 61. Instalación de WampServer 5.1 ………………………………...………133
Figura 62. Mensaje de Bienvenida del WampServer ……...…………….…………133
Figura 63. Acuerdo de licencia del WampServer ………………………..…………134
Figura 64. Acuerdo de licencia del WampServer ………………...……...…………134
Figura 65. Nombre de carpeta del menú inicio del WampServer ……..……………135
Figura 66. Opciones de configuración del WampServer ……………………...……135
Figura 67. Configuración de arranque del WampSever ………………………….136
Figura 68. Proceso de instalación del WampServer …………………………….….136
Figura 69. Seleccionar carpeta raíz del WampServer ………………………...…….137
Figura 70. Seleccionar carpeta WWW …………………………………..…...……137
Figura 71. Abrir carpeta raíz del WampServer …………………….………………137
Figura 72. Finalización de instalación del WampServer ………………….………..138
Figura 73. Servicio activado de WampServer ……………………………………..138
Figura 74. Instalación de SQLyog ………………………………………………….138
Figura 75. Mensaje de bienvenida del SQLyog …………………………….………139
Figura 76. Términos de licencia de SQLyog …………………………...…………..139
Figura 77. Componentes a instalar de SQLyog ……………………………….……140
Figura 78. Proceso de Instalación de SQLyog ………………………………..…….140
Figura 79. Directorio de ubicación de SQLyog ……………………….……………141
Figura 80. Finalización del Proceso de Instalación de SQLyog ………..…………..141
Figura 81. Conexión del SQLYog ……………………………………...…………..142
Figura 82. Pantalla principal de SQLYog ………………………..…………………142
Figura 83. Pantalla principal de SQLyog ………………………………...…………143
Figura 84. Adjuntar base de datos ………………………………………………….143
Figura 85. Seleccionar base de datos ………………………………………….……144
Figura 86. Importar Base de datos …………………………………………….........144
Figura 87. Base de datos adjuntada ………………………………………………...145
Figura 88. Permisos Administrador ………………………………………………...145
Figura 89. Permisos Vendedor …………………………………………………..….146
Figura 90. Claves Encriptadas …………………………………………………..….146
ÍNDICE DE TABLAS
Tabla1. Económicos…………………………………………………………………78
Tabla 2. Población…………………………………………………………………...80
Tabla 3. Pregunta1…………………………………………………………………... 81
Tabla 4. Pregunta2 …………………………………………………………………...82
Tabla 5. Pregunta3 …………………………………………………………………...83
Tabla 6. Pregunta4 …………………………………………………………………...83
Tabla 7. Pregunta 5 ….……………………………………………………………….84
Tabla 8. Pregunta 6 …………………………………………………………………..85
Tabla 9. Pregunta 7 …………………………………………………………………..85
Tabla 10. Pregunta 8 …………………………………………………………………86
Tabla 11. Pregunta 9 …………………………………………………………………87
Tabla 12. Pregunta 10 ………………………………………………………………..87
Tabla13. Categorías ………...………………………………………………………..94
Tabla 14. Ciudad ………….…………………………………………………………94
Tabla 15. Detalle_factura …..………………………………………………………...95
Tabla 16. Devolución_compras …..………………………………………………….95
Tabla17.Facturacion ………..………………………………………………………..96
Tabla18. Ingresos ………………..…………………………………………………..96
Tabla 19. Inventarios ……………..………………………………………………….96
Tabla20. Prenda …………………..………………………………………………….97
Tabla 21. Provincia ………………..…………………………………………………97
Tabla 22. Sección …………………..………………………………………………...97
Tabla 23. Talla ……………………..………………………………………………...97
Tabla 24. Vendedor …………….……………………………………………………98
1
AGRADECIMIENTO
Agradezco de manera especial a DIOS nuestro creador y a la UNIVERSIDAD
TÉCNICA DE BABAHOYO, Facultad de Administración Finanzas e Informática
(F.A.F.I) por permitirme obtener el título de Ingeniera en Sistemas y haberme inspirado
aún más en mi fe cristiana.
A todos los maestros que me entregaron desinteresadamente sus conocimientos que me
permiten hoy día ser la persona y la profesional que el país requiere.
A mi director de tesis por su paciencia y comprensión, por haberme guiado durante el
desarrollo del proyecto, que con su criterio y experiencia se ha llegado a buen término la
presente tesis.
Ana Mercedes Aliaga Farro
2
AGRADECIMIENTO
Le agradezco a Dios por darme la vida y guiarme en el camino de la felicidad hasta
ahora; a las personas que son parte de mi vida a mis padres que son los que me guían
cada día de mi vida; por hacer de mí la persona que soy. A mi compañera de tesis
porque en esta armonía grupal lo hemos logrado y a mi director y lector de tesis quién
nos ayudó en todo momento.
Dalia Ofelia Ahytong Ramos
3
DEDICATORIA
La presente tesis la dedico a Dios, que me ha dado la inspiración y la sabiduría para
llevar a cabo este proyecto, me ha concedido la iluminación y fortaleza que me permiten
día a día alcanzar mis metas.
A mis padres por permitirme vivir, que con su esfuerzo y amor constante, supieron
forjar en mí una personalidad positiva, que con paciencia y porque impulsaron en mi la
fuerza me llevaron a ser la persona y la profesional que hoy en día soy y gracias a ello
he podido culminar este proyecto.
Ana Mercedes Aliaga Farro
4
DEDICATORIA
Dedico esta tesis a Dios y a mis padres. A Dios porque él está conmigo a cada paso que
doy, cuidándome y dándome fortaleza para continuar no desmayar en los retos que se
me ha presentado, a mis padres, quienes a lo largo de mi vida han velado por mi
bienestar y educación siendo mi apoyo en todo momento. Depositando su entera
confianza en cada reto que se me presentaba sin dudar ni un solo momento en mi
inteligencia y capacidad. Es por ello que soy lo que soy ahora. Los Amo con mi vida.
Dalia Ofelia Ahytong Ramos
5
DECLARACIÓN DE AUTORÍA
A: Universidad Técnica de Babahoyo, Facultad de Administración Finanzas e
Informática.
Por la presente dejamos constancia de ser las autoras del Proyecto de Tesis titulado
“SISTEMA DE INFORMACIÓN GERENCIAL DE VENTAS PARA EL
ALMACÉN “LA ECONOMÍA” DEL CANTÓN BABAHOYO PROVINCIA DE
LOS RÍOS”, que presentamos para la asignatura “Seminario de Proyectos de Tesis”,
Dictada por el Ing. Harry Saltos.
Dejamos constancia que el uso de marcos, inclusión de opiniones, citas e imágenes son
de nuestra absoluta responsabilidad, quedando la UTB exenta de toda obligación al
respecto.
Autores: Firma:
Ana Mercedes Aliaga Farro ……………………………………………
Dalia Ofelia Ahytong Ramos ...……………………….………………....
6
INTRODUCCIÓN
Con el transcurso del tiempo la tecnología avanza, las empresas o microempresas se
sienten en la necesidad de adquirir tecnología para el mejoramiento de sus sistemas o un
sistema y a las vez sus procedimientos, con el fin de garantizar un eficaz
funcionamiento y así obtener una adaptación paralela de condiciones con las empresas
líderes del mercado.
Es importante confrontar el desarrollo que se ha llevado a cabo en el campo de la
informática, tal vez la palabra clave es la comunicación, pues el hombre ha sido capaz
de comunicarse más fácilmente con un deseo interminable, que se puede decir, no se ha
realizado del todo pero va encaminado hacia él, es un hecho que las computadoras
liberan al hombre de las abrumadoras tareas de efectuar rutinas masivas y le permite
emplear su inteligencia en tareas más estimulantes e interesantes.
Cualquier organización que se encuentre en el campo competitivo del mundo del
comercio, tiene que tratar de elevar la calidad de sus prendas, originar por consiguiente
un mejor servicio a los clientes, reducir costos, entre otros, en tal sentido, toda empresa
comercial o industrial deberían establecer un buen control en todos sus departamentos o
secciones, para obtener una mayor efectividad y buen funcionamiento de la misma.
Controlar los datos de vendedores y clientes y la información de mercadería por medio
de un sistema organizativo, asegura la disponibilidad y confiabilidad de la información
que se requiera en un momento determinado. El diseño de un sistema computarizado de
inventario para el almacén La Economía permitirá administrar de manera eficiente todos
los procesos transcurridos durante las ventas, es tablecer la mayor calidad y eficiencia de
las actividades relacionadas con el inventario.
En esta era se ha observado una gran innovación y desarrollo de tecnologías de la
información que ha permitido la evolución de computadores que son capaces de
producir sistemas de información a la sociedad con apartes a los distintos sectores
económicos, sociales, políticos, educativos, entre otros.
El objetivo del presente Proyecto, consiste en un estudio detallado con la finalidad de
desarrollar un sistema computarizado de inventario que permita mejorar dicho proceso
en el Almacén La Economía. Al proceder a la sistematización de la información
7
relacionada con dicho proceso se minimizaran las fallas detectadas en cuanto a la
cantidad de trabajo al realizarse más rápido y con mayor seguridad por medio del
sistema computarizado.
La base de toda empresa comercial es la compra y venta de bienes o servicios; de aquí
la importancia del manejo del inventario por parte de la misma. Este manejo contable
permitirá al almacén mantener el control oportunamente, así como también conocer al
final del período contable un estado confiable de la situación económica del almacén.
Ahora bien, el inventario constituye las partidas del activo corriente que están listas para
la venta, es decir, toda aquella mercadería que posee el almacén valorada al costo de
adquisición, para la venta o actividades productivas.
8
CAPITULO I
1. EL PROBLEMA
1.1. PLANTEAMIENTO DEL PROBLEMA
En la actualidad el principal problema de la mayoría de los locales o almacenes
comerciales es llevar un buen control del cumplimiento de las ventas debido a que los
grupos que administran tales negocios o vendedores que ejecutan en el mismo lo
realizan de una manera empírica y manual; esto es, terminan la jornada de ventas de la
mercadería y luego deben acercarse al administrador o propietario para registrar una
hoja en la que mencionen todas las ventas realizadas durante el día, ocasionando que
muchas veces no se logre oportunamente las ventas propuestas o los resultados no
coincidan con la mercadería vendida.
Otro de los problemas es que las ventas registradas por los vendedores en las notas de
ventas son confusas, puesto que no coinciden con la mercadería que ha salido a la venta
durante el día porque hay un mal cálculo de los precios de las prendas vendidas, letra
ilegible, etc. Por todo este motivo es casi imposible obtener datos reales a la situación
actual, para ver si él está cumpliendo con el plan según lo programado.
Al no existir un sistema que permita llevar un seguimiento y cumplimiento de cada uno
de las ventas propuestas por el administrador ocasiona que al finalizar el día muchas
veces los datos estadísticos tarden mucho tiempo y no sean correctos. Todos estos
acontecimientos ocasionan problemas a la hora de solicitar información inmediata,
ocasionando pérdida de tiempo y malestar al administrador que lo solicita.
Almacén La Economía, es una pequeña empresa donde existen estas fallas en el registro
y control de mercadería, este se lleva de manera deficiente, por ende el control es muy
ambiguo, por ello el almacén requiere de un sistema computarizado donde se controle
realmente la mercadería que entra como la que sale, con este sistema se evitarían los
problemas que se presentan a menudo, como lo es, que se agote la existencia de alguna
prenda y esto ocasione caos para el área donde se está necesitando, como también se
evitaría que cualquier mercadería fuera hurtada y no se note su ausencia, como pasa
actualmente por la forma como es llevada el control.
9
El control de inventarios es un factor que influye en la reducción de costos de las
microempresas, por tal motivo se debe tener en cuenta este aspecto tan importante, para
que de esta manera se obtengan mejores utilidades y beneficios para el almacén.
Por lo que se llevará a cabo una investigación que permite implementar un sistema
automatizado de inventarios para el control de ventas a través de una base de datos.
En este caso se presentan algunas interrogantes:
¿Existen fallas en el control de inventario que poseen actualmente?
¿Es necesario actualizarlo?
¿Qué beneficio traería consigo la implementación de un sistema automatizado para el
control de ventas?
¿En caso de actualizarlo, estarían de acuerdo de realizar un adiestramiento al personal?
10
1.2. FORMULACIÓN DEL PROBLEMA
¿Cómo mejorar el control de La información gerencial de las ventas del almacén LA
ECONOMÍA?
1.3. DELIMITACIÓN DEL PROBLEMA
Objeto de estudio: Ingeniería de sistemas, la información gerencial de las
ventas
Campo de acción: Sistemas de información
1.4. OBJETIVOS DE LA INVESTIGACIÓN
1.4.1. OBJETIVO GENERAL
Elaborar un sistema que me permita llevar el control de la información gerencial
del almacén “LA ECONOMÍA”.
1.4.2. OBJETIVOS ESPECÍFICOS
Fundamentar las bases teóricas y científicas que permita el desarrollo de esta
investigación para un mejor control en las ventas de ropas.
Analizar y preparar la información para conocer mejores soluciones en las que
se pueda llevar el manejo de las ventas.
Validar la investigación e información del almacén con sus ventas para así
obtener buenos resultados con la ayuda de un experto.
11
1.5. JUSTIFICACIÓN DE LA INVESTIGACIÓN
En la actualidad el uso adecuado de la información en una organización representa,
ventajas competitivas para la misma. La información es usada por las organizaciones de
muy variadas formas y el desarrollo y evolución de esta, ha llevado a lo que hoy se
conoce como la tecnología del conocimiento, la cual representa el poder que tiene una
empresa sobre la misma y su propio entorno. Es por eso que la automatización de los
procesos administrativos de las organizaciones hacen posible el mejor funcionamiento
de las mismas siguiendo además una serie de parámetros que hacen efectiva dicha
información.
En el mundo competitivo de hoy, donde el uso de sistemas de información apoyados
sobre plataformas o soportes de tecnologías de información; hacen, que hoy en día una
empresa u organización se sumerja en estos campos del conocimiento para sobrevivir y
seguir prestando un bien o servicio en forma eficaz y eficiente.
Ya que una empresa que no cuente en la actualidad con estos recursos, con sistemas de
información para efectuar sus transacciones administrativas, hace que sea muy factible
que todas sus operaciones no tengan la confiabilidad, claridad, precisión y el tiempo de
respuesta deseado para su respectivo análisis de resultados y solicitud de los mismos
en forma oportuna, trayendo como consecuencia una toma de decisiones no acertada.
Debido a lo anterior se propone mediante este estudio realizar una investigación que
aporte a través de los Sistemas de Información y de tecnologías de información
adecuadas, el desarrollo de un sistema de información administrativo que contribuya a
través de su diseño, herramientas que optimicen la realización de las operaciones
administrativas en la automatización de sus procesos para el logro de sus objetivos.
Los sistemas de información administrativos deben concebirse de manera que ayuden a
la empresa, con un enfoque de proyecto a futuro, hacia su expansión nuevos retos y
exigencias. Ya que estos sistemas de información automatizados ofrecen mayor claridad
y precisión en sus resultados, dando mayor calidad la información recibida y
expresándolo a posterior con mayor rapidez y confiabilidad, en sus respuestas de todos
sus procesos administrativos que interactúen con todos los procesos contables, para así
reflejar mejores resultados de información y análisis más confiables y precisos de los
mismos.
12
En el almacén “LA ECONOMÍA” se pretende crear un sistema de información
gerencial para realizar el proceso de facturación de una manera más rápida y precisa en
la venta de las prendas sea al por mayor y menor lo que en la actualidad se hace
manualmente.
Esto agilitaría el proceso de atención al cliente ya que no tendría que esperar mucho y
poder cancelar sus pedidos de inmediato. Esto ayudaría a evitar fallos en los cálculos
del valor a pagar y elevación del precio de las prendas de vestir. Con esto se pretende
brindar una atención de calidad eficaz y eficiente.
Con un gran stock de prendas de vestir se estaría logrando satisfacer las necesidades de
los clientes, ya que se ofrecería prendas de vestir de alta calidad y se ganaría
credibilidad en lo que se provee dentro y fuera de la ciudad.
El almacén se encarga de traer mercadería a la moda, variada en colores y diseños con
esto logramos ser competitivos en el mercado dentro de la ciudad.
El sistema a implementarse es para mejorar la atención al cliente dando un buen servicio
de lo que se ofrece en todo lo referente a las prendas de vestir para agilizar la atención
de forma eficiente al momento de vender y entregar la mercadería a los usuarios, todo
con respecto a facturación de las ventas de los mismos.
Permitirá almacenar el ingreso de nuevas prendas, las existencias de mercadería en
stock, datos del vendedor y cliente en lo que se llevara un control de la misma, además
se manejara códigos, precios, colores, tallas y modelos de las diferentes prendas de
vestir a ofrecer dentro del almacén La Economía.
Este es el propósito del presente trabajo el sistema de facturación para agilizar las
ventas, facturas de consumidor final y sus similares; y así brindar un mejor servicio al
cliente. También se desea entender cómo funciona éste dentro de una empresa y dejar
un sistema que podrá ir creciendo junto con el almacén.
13
CAPITULO II
2. MARCO TEÓRICO
2.1. ANTECEDENTES DE LA INVESTIGACIÓN
Para poder desarrollar el sistema de información gerencial de ventas para el almacén se
tiene que conocer un estudio de los sistemas para detectar todos los detalles de la
situación actual en el almacén. La información reunida con este estudio sirve como base
para crear varias estrategias del diseño. Que basarme en la recopilación de toda la
información necesaria para ver de qué manera lleva el dueño el control de todas sus
ventas.
Basándonos en investigaciones realizadas sobre el manejo de las ventas en el almacén
se ha observado que no existe un buen registro de la mercadería que sale ni de la que
ingresa en el mismo, porque tomando como referencia que desde hace ya
aproximadamente unos 6 años en el que ha abierto sus puertas a la población prestando
sus servicios con un buen variado de mercadería el almacén se ha venido desempeñando
en constante desarrollo, pero el control de las ventas lo hacen manualmente debido a
que no han tenido el registro en un sistema para controlar la salida de la mercadería.
El almacén carece de un sistema moderno, para que así toda la mercadería saliente y
entrante sea ingresada al sistema ya que de este modo se mantendrá en buenas
condiciones el manejo en el almacén y a su vez la búsqueda de cada prenda y la
atención a la clientela será rápida y eficaz.
En vista de estos antecedentes, el trabajo que se plantea se orienta a la automatización
del sistema de información gerencial de ventas, el control de las ventas diarias de la
mercadería así como el manejo de facturación e ingreso de los datos del cliente
mediante la aplicación de un software informático basado en un diseño donde se pueda
manejar la información de una manera rápida y sencilla.
14
2.2. FUNDAMENTACIÓN TEÓRICA
ALMACÉN LA ECONOMÍA
Este trabajo de investigación se va a fundamentar en la información gerencial de ventas
para el almacén “LA ECONOMÍA”. En teoría de sistemas, un sistema de información
es un sistema, automatizado o manual, que abarca personas, máquinas, y métodos
organizados de recolección de datos, procesamiento, transmisión y diseminación de
datos que representa información para el usuario.
El almacén la economía abre sus puertas por primera vez en el año 2007 en el mismo
donde se encuentra ubicado en el cantón Babahoyo en las calles García Moreno entre
Bolívar y Calderón la dueña del almacén al Sr. Raúl Martin Ahytong Ramos.
Actualmente el almacén les está brindando ropa al por menor para damas caballeros y
niños de buena calidad brindándoles una buena atención al cliente Comenzando con
cierta cantidad de mercadería ya con el tiempo ha ido avanzando y dándoles trabajos a
chicas especializadas en ventas para que así los clientes estén satisfecho de la atención,
y cuentan con un administrador por el mismo que el lleva todo el control manual de
todas las ventas que se realizan diariamente en el almacén
Como política al cliente se le da la mercadería a un precio más bajo que de los otros
locales para así el cliente quede satisfecho y sobre todo brindándoles economía para la
ciudadanía del cantón Babahoyo.
Que en estos seis años el almacén ha tenido una buena acogida con los clientes por los
precios bajos de la mercadería que se ha ofrecido a bajo precio.
La fundadora del almacén se le vino la idea de darles la mercadería a precios más bajos
que los otros almacenes por ese motivo le puso La Economía para ser más convincente
en el nombre del local.
Misión
Ser unos de los almacenes líderes en ventas de ropa, para satisfacer las necesidades de
nuestros clientes, con productos de alta calidad a través de una atención personalizada y
oportuna, con personal capacitado y motivado, con sentido de pertenencia y trabajo en
equipo, generando rentabilidad para la dueña del almacén.
15
Visión
Ser el almacén la cadena número 1 de distribución de ropa en Babahoyo, con una
economía para la ciudadanía.
ORGANIGRAMA DEL ALMACÉN
Figura 1. Organigrama del almacén
ALMACEN LA ECONOMÍA
ADMINISTRADOR
BODEGA INVENTARIO
CAJA
VENTAS
16
2.2.1. VENTAS
La venta es una de las actividades más pretendidas por empresas, organizaciones o
personas que ofrecen algo (productos, servicios u otros) en su mercado meta, debido a
que su éxito depende directamente de la cantidad de veces que realicen ésta actividad,
de lo bien que lo hagan y de cuán rentable les resulte hacerlo.1
Por ello, es imprescindible que todas las personas que están involucradas en actividades
de mercadotecnia y en especial, de venta, conozcan la respuesta a una pregunta básica
pero fundamental.
Ya que las ventas son actividades que incluye un proceso personal o impersonal
mediante el cual, el vendedor identifica las necesidades y deseos del comprador,
generando el impulso hacia el intercambio que satisface las necesidades y los deseos del
comprador para lograr el beneficio de ambas partes.
2.2.2. INVENTARIOS
En una entidad o empresa, es la relación ordenada de bienes y existencias, a una fecha
determinada. Contablemente, es una cuenta de activo circulante que representa el valor
de las mercancías existentes en un almacén. En contabilidad, el inventario es una
relación detallada de las existencias materiales comprendidas en el activo, la cual debe
mostrar el número de unidades en existencia, la descripción de los artículos, los precios
unitarios, el importe de cada renglón, las sumas parciales por grupos y clasificaciones y
el total del inventario.
Por lo tanto lo que se espera es mantener al mínimo los inventarios. La filosofía de justo
a tiempo, se fundamenta en el concepto de cero inventarios. Cuando se considera hacer
inventario, como el proceso de contar los artículos, se está considerando el enfoque
netamente contable. Cuando existen niveles altos de inflación, el concepto de cero
inventarios pierde validez, pues en este caso lo mejor para protegerse de la inflación es
mantener niveles altos de inventario, especialmente de aquellos artículos cuya tasa de
inflación es superior a la inflación promedio, del promedio. Otro factor negativo en los
inventarios es la incertidumbre de la demanda, lo cual dificulta mantener un inventario
que pueda satisfacer todos los requerimientos; existiendo condiciones donde no se
puede cubrir los faltantes de inventarios, con la misma rapidez con que se agotan,
1"Las Técnicas Modernas de Venta y sus Aplicaciones", autor: Allan L. Reid
17
causando costos por faltantes, en otras ocasiones existen productos que se deterioran por
existir en exceso. Queda bajo esta premisa, utilizar los costos opuestos, que no es otra
cosa que: Si existe mucho inventario, la empresa pierde; pero también pierde si hay
faltantes. Considerando la suma de cada pérdida o ganancia de cada decisión y
multiplicada por su probabilidad, se obtiene el valor esperado, llamado también
esperanza matemática, que determina la cantidad de inventario que se debe mantener
bajo ciertos costos opuestos y ciertas probabilidades de demanda. Su argumento es que
siempre se toma la mejor decisión, en términos de probabilidades. La determinación del
punto óptimo de pedido, es válido para un solo producto, y lo más común que en una
empresa existan cientos y miles de productos, por lo cual la determinación óptima de un
producto no significa necesariamente la optimización de todos los lotes.
2.2.2.1. CONTROL DE INVENTARIOS
La contabilidad para los inventarios forma parte muy importante para los sistemas de
contabilidad de mercancías, porque la venta del inventario es el corazón del negocio. El
inventario es, por lo general, el activo mayor en sus balances generales, y los gastos por
inventarios, llamados costo de mercancías vendidas, son usualmente el gasto mayor
en el estado de resultados.
Las empresas dedicadas a la compra y venta de mercancías, por ser ésta su
principal función y la que dará origen a todas las restantes operaciones, necesitarán de
una constante información resumida y analizada sobre sus inventarios, lo cual obliga a
la apertura de una serie de cuentas principales y auxiliares relacionadas con esos
controles. Entre estas cuentas podemos nombrar las siguientes:
Inventario (inicial)
Compras
Devoluciones en compra
Gastos de compras
Ventas
Devoluciones en ventas
Mercancías en tránsito
Mercancías en consignación
Inventario (final)
18
El Inventario Inicial representa el valor de las existencias de mercancías en la fecha que
comenzó el período contable. Esta cuenta se abre cuando el control de los inventarios,
en el mayor general, se lleva en base al método especulativo, y no vuelve a
tener movimiento hasta finalizar el período contable cuando se cerrará con cargo a costo
de ventas o bien por ganancias y pérdidas directamente.
En la cuenta Compras se incluyen las mercancías compradas durante el período contable
con el objeto de volver a venderlas con fines de lucro y que forman parte del objeto para
el cual fue creada la empresa. No se incluyen en esta cuenta la compra de Terrenos,
Maquinarias, Edificios, Equipos, Instalaciones, etc. Esta cuenta tiene un saldo deudor,
no entra en el balance general de la empresa, y se cierra por Ganancias y Pérdidas o
Costo de Ventas. Devoluciones en compra, se refiere a la cuenta que es creada con el fin
de reflejar toda aquella mercancía comprada que la empresa devuelve por cualquier
circunstancia; aunque esta cuenta disminuirá la compra de mercancías no se abonará a
la cuenta compras.
Los gastos ocasionados por las compras de mercancías deben dirigirse a la cuenta
titulada: Gastos de Compras. Esta cuenta tiene un saldo deudor y no entra en el Balance
General.
Ventas, esta cuenta controlará todas las ventas de mercancías realizadas por la
Empresa y que fueron compradas con éste fin. Por otro lado también tenemos
Devoluciones en Venta, la cual está creada para reflejar las devoluciones realizadas por
los clientes a la empresa.
En algunas oportunidades, especialmente si la empresa realiza compras en el exterior,
nos encontramos que se han efectuado ciertos desembolsos o adquirido compromisos de
pago (documentos o giros) por mercancías que la empresa compró pero que, por razones
de distancia o cualquier otra circunstancia, aún no han sido recibidas en el almacén.
Para contabilizar este tipo de operaciones se debe utilizar la cuenta: Mercancías en
Tránsito.
Por otro lado tenemos la cuenta llamada Mercancía en Consignación, que no es más que
la cuenta que reflejará las mercancías que han sido adquiridas por la empresa en
19
consignación, sobre la cual no se tiene ningún derecho de propiedad, por lo tanto, la
empresa no está en la obligación de cancelarlas hasta que no se hayan vendido.
El inventario actual (final) se realiza al finalizar el período contable y corresponde al
inventario físico de la mercancía de la empresa y su correspondiente valoración. Al
relacionar este inventario con el inicial, con las compras y ventas netas del periodo se
obtendrá las Ganancias o Pérdidas Brutas en Ventas de ese período.
El control interno de los inventarios se inicia con el establecimiento de un departamento
de compras, que deberá gestionar las compras de los inventarios siguiendo el proceso de
compras.
2.2.2.2. TIPOS DE INVENTARIOS
Inventario perpetuo: Es el que se lleva en continuo acuerdo con las exigencias en el
almacén. Por medio de un registro detallado que puede servir también como auxiliar,
donde se llevan los importes en unidades monetarias y las cantidades física. Lo registros
perpetuos son útiles para preparar los estados financieros mensuales, trimestrales o
provisionales. También este tipo de inventario ofrece un alto grado de control, porque
los registros de inventarios están siempre actualizados.
Inventarios intermitentes: Este inventario se puede efectuar varias veces al año.
Inventario final: Este inventario se realiza al termino del ejercicio económico,
generalmente al finalizar el periodo y puede ser utilizado para determinar un nueva
situación patrimonial en ese sentido, después de efectuadas las operaciones mercantiles
de dichos períodos.
Inventario inicial: Es el que se realiza al dar comienzos de las operaciones.
Inventario físico: Es el inventario real. Es contar, pesar, o medir y anotar todas y cada
una de las diferentes clases de bienes que se hallen en existencia en la fecha del
inventario, y evaluar cada una de dichas partidas. Se realiza como una lista detallada de
las existencias. Es el cálculo del inventario realizado mediante un listado del stock
realmente poseído. La realización de este inventario tiene como finalidad, convencer a
20
los auditores de que los registros del inventario representan fielmente el valor del activo
principal.
Es por ello que la preparación de la realización del inventario físico consta de cuatros
fases las cuales son:
Manejo de inventarios (preparativos)
Identificación
Instrucción
Adiestramiento
Inventario mixto: Es de una clase de mercancías cuyas partidas no se identifican o no
pueden identificarse con un lote en particular
Inventarios de productos terminados: Este tipo de inventario es para todas las
mercancías que un fabricante produce para vender a su cliente.
Inventario en tránsito: Es utilizada con el fin de sostener las operaciones para
abastecer los conductos que ligan a las compañías con sus proveedores y sus clientes,
respectivamente. Existe porque un material debe moverse de un lugar a otro, mientras el
inventario se encuentra en camino, no puede tener una función útil para las plantas y los
clientes, existen exclusivamente por el tiempo de transporte.
Inventario de materia prima: En él se representan existencias de los insumos básicos
de los materiales que habrá de incorporarse al proceso de fabricación de una compañía.
Inventarios en proceso: Son existencias que se tienen a medida que se añade mano de
obra, otros materiales y de más costos indirectos a la materia prima Bruta, la que se
llegara a conformar ya sea un sub-ensamble o componente de un producto terminado;
mientras no concluya su proceso de fabricación, ha de ser inventarios en procesos.
Inventarios en consignación: Es aquella mercadería que se entrega para ser vendida
pero el título de propiedad lo conserva el vendedor.
Inventario máximo: Debido al enfoque de control de masas empleados, existe el riesgo
que el control de inventario pueda llegar demasiado alto para algunos artículos. Por lo
21
tanto se establece un control de inventario máximo. Se mide en meses de demanda
pronosticada.
Inventario mínimo: Es la cantidad mínima del inventario a ser mantenida en
el almacén.
Inventario disponible: Es a aquel que se encuentran disponibles para la producción
y venta.
Inventario en línea: Es aquel que aguarda a ser procesado en la línea de producción.
Inventario agregado: Se aplica cuando al administrar las exigencias del único artículo
representa un alto costo, para minimizar el impacto del costo en la administración del
inventario, los artículos se agrupan ya sea en familia u otros tipos de clasificación de
materiales de acuerdo a su importancia económica.
Inventario en cuarentena: Es aquel que debe de cumplir con un periodo de
almacenamiento antes de disponer del mismo, es aplicado a bienes de consumo,
generalmente comestible u otros.
Inventario de previsión: Se tienen con el fin de cubrir una necesidad futura
permanente definida. Se diferencia con el respecto a los de seguridad, en que los de
previsión se tienen a la luz de una necesidad que se conoce con certeza razonable y por
lo tanto, involucra un menor riesgo.
Inventario de seguridad: Son aquellos que existen en un lugar dado de la empresa
como resultado de incertidumbre en la demanda u oferta de unidades en dicho lugar.
Los inventarios de seguridad concernientes a materias primas, protegen contra la
incertidumbre de la actuación de proveedores debido a factores con el tiempo de espera,
huelgas, vacaciones o unidades que al ser de mala calidad no podrán ser aceptadas. Se
utilizan para prevenir faltantes debido a fluctuaciones inciertas de la demanda.
Inventario de anticipación: Son los que se establecen con anticipación a los periodos
de mayor demanda, a programas de producción comercial o a un periodo de cierre de la
planta. Básicamente los inventarios de anticipación almacenan horas-trabajos y horas-
máquinas para futuras necesidades y limitan los cambios en la tasas de producción.
22
Inventarios de lote o de tamaño de lote: Se piden en tamaño de lote porque es más
económico hacerlo así que pedirlo cuando sea necesario satisfacer la demanda.
Inventarios estacionales: Los inventarios utilizados con este fin se diseñan para
cumplir más económicamente la demanda estacional variando los niveles de producción
para satisfacer fluctuaciones en la demanda. También estos inventarios son utilizados
para suavizar el nivel de producción de las operaciones, para que los trabajadores no
tengan que contratarse o despedirse frecuentemente. Inventarios intermitentes: es un
inventario realizado con cierto tiempo y no de una sola vez al final del período contable.
Inventarios permanentes: Es un método seguido en el funcionamiento de algunas -
ventas, en general representativas de existencias, cuyo saldo ha de coincidir en cualquier
momento con el valor de los stocks.
Inventarios clínicos: Son inventarios para apoyar la decisión de los inventarios;
algunas de ellas se consideran aceptables solamente en circunstancias especiales, en
tanto que otras son de aplicación general.2
2.2.3. SISTEMAS DE INFORMACIÓN
Los gerentes o administradores dependen de medios formales e informales para obtener
los datos que requieren para tomar decisiones.
La información formal llega a manos de los gerentes mediante informes administrativos
y estadísticas de rutina.
Estos informes son estandarizados, se producen regularmente y constituyen la parte más
visible de lo que se denomina sistema de información gerencial (SIG).
La información informal incluye rumores y discusiones no oficiales con sus colegas. La
experiencia personal, educación, sentido común, intuición y conocimiento del medio
social y político, son parte de los medios informales de recolectar datos.
2Administración de producción y operaciones. Autor: Gaither, Norman; Frazier, Año (2000).
23
Figura 2. Sistemas de información
2.2.3.1. DEFINICIÓN
Los sistemas de información gerencial son una colección de sistemas de información
que interactúan entre sí y que proporcionan información tanto para las necesidades de
las operaciones como de la administración.
En teoría, una computadora no es necesariamente un ingrediente de un sistema de
información gerencial (SIG), pero en la práctica es poco probable que exista un SIG
complejo sin las capacidades de procesamiento de las computadoras.
Es un conjunto de información extensa y coordinada de subsistemas racionalmente
integrados que transforman los datos en información en una variedad de formas para
mejorar la productividad de acuerdo con los estilos y características de los
administradores.
Figura 3. Sistemas de información
24
2.2.3.2. ELEMENTOS DE LOS SISTEMAS DE INFORMACIÓN
Los componentes más importantes de un sistema de información son los siguientes:
Financieros. Es el aspecto económico que permite la adquisición, contratación y
mantenimiento de los demás recursos que integran un sistema de información.
Administrativos. Es la estructura orgánica de objetivos, lineamientos,
funciones, procedimientos, departamentalización, dirección y control de las
actividades; que sustenta la creación y uso de los sistemas.
Humanos. Está compuesto por dos grupos:
El técnico, que posee los conocimientos especializados en el desarrollo
de sistemas, siendo estos los: Administradores, Líderes de Proyecto,
Analistas, Programadores, Operadores y Capturistas.
El usuario, representado por las personas interesadas en el manejo de
información vía cómputo, como apoyo al mejor desempeño de sus
actividades, siendo estos los: Funcionarios, Contadores, Ingenieros,
Empleados, Público, etc.
Materiales. Son aquellos elementos físicos que soportan el funcionamiento de
un sistema de información, por ejemplo: local de trabajo, instalaciones eléctricas
y de aire acondicionado, medios de comunicación, mobiliario, maquinaria,
papelería, etc.
Tecnológicos. Es el conjunto de conocimientos, experiencias, metodologías y
técnicas; que orientan la creación, operación y mantenimiento de un sistema.
2.2.3.4. CLASIFICACIONES DE LOS SISTEMAS DE INFORMACIÓN
De acuerdo a determinado enfoque los sistemas de información se pueden agrupar en
una cierta clasificación, que brinda una idea esencial de su estructura y funcionamiento.
A continuación se mencionan los siguientes enfoques:
De acuerdo al elemento principal de proceso de la información.
Manuales: cuando el hombre auxiliado por cierto equipo (máquinas de escribir,
sumadoras, archivos, etc.) realiza las principales funciones de recopilación,
registro, almacenamiento, cálculo y generación de información.
Mecanizadas: cuando cierta maquinaria realiza las principales funciones de
procesamiento.
Para los sistemas mecanizados que hacen uso de un computador, de acuerdo al tipo de
interacción Hombre-Máquina. Tenemos los siguientes:
25
Batch: el usuario proporciona los datos necesarios para la ejecución de un
proceso y espera a que el computador termine la tarea para recibir los resultados.
En Línea: existe un diálogo directo entre el usuario y el computador durante la
ejecución de un proceso.
En cuanto a la organización física de los principales recursos de procesamiento de datos.
Tenemos:
Procesos centralizados: los recursos se encuentran ubicados en un área física
determinada, por lo que su acceso se realiza en las misma instalación o desde
lugares retirados, mediante líneas de comunicación de datos (telefónicas,
microondas, satélite, etc.).Proceso distribuido: los recursos se encuentran
diseminados en diversos lugares de una zona territorial (ciudad, país, continente,
etc.), por lo que el procesamiento se realiza en el propio lugar donde se originan
los datos, existiendo la posibilidad de compartir información entre las diversas
instalaciones, mediante la información de una “Red de Comunicación”.
Los sistemas manuales son adecuados en procesos sencillos, que manejan pequeños
volúmenes de datos, sin realizar cálculos complejos y que mantener actualizada la
información no es problemático. En cambio, los mecanizados tienden a sistematizar
aquellas actividades complejas, que requieren manipular altos volúmenes de datos en
tiempos cortos de respuesta.
El tipo Batch de sistemas es adecuado en tareas que manejan grandes volúmenes de
datos y que no requieren que el operador tome decisiones durante el proceso, por
ejemplo: la nómina, la expedición de estadísticas censales, etc. Mientras que los
sistemas en Línea son adecuados para el manejo de pequeños volúmenes de datos que
requieren tiempos de respuesta cortos, por ejemplo: sistemas bancarios, de reservación,
de consulta, etc.
Cuando la organización es pequeña o tiene grandes necesidades de procesar altos
volúmenes de información en tiempos cortos de respuesta, es conveniente integrar los
recursos en forma centralizada. Por el contrario, si la empresa es grande y tiene altos
requerimientos de proceso, es deseable hacer uso del concepto distribuido.
2.2.3.5. PLANEACIÓN Y CONTROL
Todas las funciones gerenciales; Planeación, Organización, Dirección y Control son
necesarias para un buen desempeño organizacional. Para apoyar estas funciones, en
26
especial la Planeación y el Control son necesarios los Sistemas de Información
Gerencial.
Por tanto el valor de la información proporcionada por el sistema, debe cumplir con los
siguientes cuatro supuestos básicos:
Calidad, oportunidad, cantidad y relevancia.
Figura 4. Planeación y control
2.2.3.5.1. CALIDAD:
Para los gerentes es imprescindible que los hechos comunicados sean un fiel reflejo de
la realidad planteada.
2.2.3.5.2. OPORTUNIDAD:
Para lograr un control eficaz, las medidas correctivas en caso de ser necesarias, deben
aplicarse a tiempo, antes de que se presente una gran desviación respecto de
los objetivos planificados con anterioridad.
2.2.3.5.3. CANTIDAD:
Es probable que los gerentes casi nunca tomen decisiones acertadas y oportunas si no
disponen de información suficiente, pero tampoco deben verse desbordados por
información irrelevante e inútil, pues esta puede llevar a una inacción o decisiones
desacertadas.
2.2.3.5.4. RELEVANCIA:
La información que le es proporcionada a un gerente debe estar relacionada con sus
tareas y responsabilidades.
27
Figura 5.Relevancia
2.2.3.6. FACTORES QUE DETERMINAN EL DESEMPEÑO DE UN SISTEMAS
DE INFORMACION GERENCIAL
Si se habla de una institución que no tiene los recursos humanos con experiencia en
sistemas de información gerencial que desea organizar o mejorar su SIG, es buena idea
solicitar ayuda de personas u organizaciones que tengan dicha experiencia o de un
consultor.
Es muy probable que éstas sigan una serie de pasos para obtener una visión general del
sistema de información, la manera cómo funciona y qué se requiere para mejorarlo.
Los pasos para analizar los SIG:
Identificar a todos aquellos que están utilizando o deberían utilizar los distintos
tipos de información (profesionales, trabajadores de campo, supervisores,
administradores, etc.).
Establecer los objetivos a largo y corto plazo de la organización, departamento o
punto de prestación de servicios.
Identificar la información que se requiere para ayudar a las diferentes personas a
desempeñarse efectiva y eficientemente, y eliminar la información que se
recolecta pero que no se utiliza.
Determinar cuáles de los formularios y procedimientos actuales para recolectar,
registrar, tabular, analizar y brindar la información, son sencillos, no requieren
demasiado tiempo y cubren las necesidades de los diferentes trabajadores, y qué
formularios y procedimientos necesitan mejorarse.
28
Revisar todos los formularios y procedimientos existentes para recolectar y
registrar información que necesiten mejorarse o preparar nuevos instrumentos si
es necesario.
Establecer o mejorar los sistemas manuales o computarizados para tabular,
analizar, y ofrecer la información para que sean más útiles a los diferentes
trabajadores.
Desarrollar procedimientos para confirmar la exactitud de los datos.
Capacitar y supervisar al personal en el uso de nuevos formularios, registros,
hojas de resumen y otros instrumentos para recolectar, tabular, analizar,
presentar y utilizar la información.
2.2.3.7.ESTRUCTURA DE UN SISTEMA DE INFORMACION GERENCIAL
(SIG)
Así mismo se define SIG como:
Un sistema integrado usuario-maquina, el cual implica que algunas tareas son mejor
realizadas por el hombre, mientras que otras son muy bien hechas por la máquina, para
prever información que apoye las operaciones, la administración y las funciones de
toma de decisiones en una empresa.
El sistema utiliza equipos de computación y software, procedimientos,
manuales, modelos para el análisis la planeación el control y la toma de decisiones y
además una base de datos.
Figura 6. Estructura de un S. I. G
29
2.2.3.8. EL S.I.G SE PUEDE INFORMAR COMO UNA ESTRUCTURA
PIRAMIDAL
La parte inferior de la pirámide está comprendida por la información
relacionada con el procesamiento de las transacciones preguntas sobre su
estado.
El siguiente nivel comprende los recursos de información para apoyar las
operaciones diarias de control.
El tercer nivel agrupa los recursos del sistema de información para ayudar a la
planeación táctica y la toma de decisiones relacionadas con el control
administrativo.
El nivel más alto comprende los recursos de información necesarios para apoyar
la planeación estratégica y la definición de política de los niveles más altos de la
administración
Figura 7. El sistema de información gerencial se puede informar como una estructura piramidal.
2.2.3.9. SISTEMAS DE INFORMACIÓN GERENCIAL EN LAS PYMES
En gran parte de las pequeñas y medianas empresas existe una necesidad urgente de la
incorporación a proyectos de Sistemas de Información Gerencial (SIG), como síntomas
o pruebas de ello tenemos por ejemplo la falta de estrategias de crecimiento (culpando
en gran parte a la tendencia cultural de las organizaciones), una inadecuada utilización
de las tecnologías y conocimientos, propiciando pérdidas de recursos, debilidad
30
financiera y deficiencias en toda la organización. Gran número de empresas carece de
ventajas para tener una mayor accesibilidad a las tecnologías, y desarrollar un SIG,
debido a varias razones como: costos elevados, carencia de recursos, falta de acceso a la
información, etc.; además las PyMEs tienen que responder al mercado en forma rápida
y creativa siendo difícil aplicar y mantener un sistema que ayude y brinde apoyo a la
toma de decisiones para poder competir y crecer en su ramo. En un ambiente de
evolución tecnológica, el reto es lograr que la mayoría de los usuarios aprovechen las
opciones disponibles para producir eficiencia e innovación en su trabajo cotidiano. Por
ello las Tecnologías de Información forman un factor determinante para dar lugar al
crecimiento tanto de las PyMEs como de cualquier empresa.
2.2.3.10. VENTAJAS Y DESVENTAJAS DE UN SIG
2.2.3.10.1. VENTAJAS
Control efectivo de las actividades de la organización.
Integración de nuevas tecnologías y herramientas de vanguardia.
Ayuda a incrementar la efectividad en la operación de las empresas.
Proporciona ventajas competitivas y valor agregado.
Disponibilidad de mayor y mejor información para los usuarios en tiempo real.
Elimina la barrera de la distancia trabajando con un mismo sistema en puntos
distantes.
Disminuye errores, tiempo y recursos superfluos.
Permite comparar resultados alcanzados con los objetivos programados, con
fines de evaluación y control.
2.2.3.10.2. DESVENTAJAS
El tiempo que pueda tomar su implementación.
La resistencia al cambio de los usuarios.
Problemas técnicos, si no se hace un estudio adecuado, como fallas de hardware
o de software o funciones implementadas inadecuadamente para apoyar ciertas
actividades de la organización.3
3Sistemas de información gerencial- Administración de la empresa digital. Autoras: Laudon, Jane y Kenneth, Año 2006.
Pearson Educación- Prentice Hall.
31
2.2.4. SISTEMA DE INFORMACIÓN DE VENTAS
El Sistema de información de ventas es una herramienta flexible que le permite recoger,
consolidar y utilizar datos de gestión comercial. A partir de la masa de datos existente
en el sistema SD, puede filtrar sólo lo más importante para la consolidación. De esta
manera, usted obtiene información útil y compacta, que se ajusta a sus necesidades de
información. La profundidad de información que reciba, debe determinarla usted
mismo.
Los diferentes niveles de esta información le permiten conocer rápidamente desarrollos
del mercado y tendencias económicas, con el fin de tomar las actividades apropiadas.
No sólo es posible recopilar y consolidar datos reales de gestión comercial, sino que
además puede crear sus propios datos planificados. La comparación entre los datos
reales y los datos planificados puede ayudarle considerablemente a tomar una decisión.4
2.2.5. SISTEMAS WEB
Los sistemas Web, son aquellos que son desarrollados no sobre una plataforma o
sistema operativo, sino que se montan en un servidor sobre una Intranet o Internet con
un diseño similar al de una página web , pero con capacidades superiores a estas.
Normalmente este tipo de "páginas web" a diferencia de las comúnmente conocidas
tienen bases de datos e información dinámica, y sus propósitos distan bastante del
concepto tradicional de las paginas comunes ya que las mismas buscan eliminar las
barreras geográficas que dificultan la implementación de sistemas tradicionales en
empresas que poseen sedes o sucursales separadas.
2.2.5.1. BENEFICIOS DE UN SISTEMA WEB
En el caso de Extranets, interacción con clientes, proveedores, distribuidores y
demás socios comerciales.
En el caso de Intranets, mejor comunicación con divisiones, empleados,
asociados y en general con todas las áreas de la organización.
Crear presencia web enfocada a servicio a clientes.
Reducción de costos en los rubros de comunicaciones, publicidad, atención a
clientes, procesos administrativos, procesos de comercialización, entre otros.
4Costos III. Variable de distribución, administración y toma de decisiones. Editorial ECAS. 2005
32
Optimizar procesos de administración. Comercialización y atención a clientes.
Figura 8. Beneficios de un Sistema Web
2.2.5.2. HERRAMIENTAS PARA EL DESARROLLO WEB
Los tipos de herramientas que necesitaremos para el Desarrollo de Aplicaciones Web
basadas en PHP son básicamente:
1. Sistema Operativo
Todos estamos utilizando un sistema operativo, que al fin y al cabo es una herramienta
más. En esta categoría tenemos a Windows, MacOSX, Linux, etc. En la mayoría de los
casos no elegimos el Sistema Operativo que utilizamos en este momento (ya sea porque
ya vino instalado con X sistema operativo o tengamos que usarlo por alguna razón),
pero podemos cambiar y elegir el que mejor nos parezca. La elección de un sistema
operativo influye en la elección de las herramientas que podamos utilizar.
2. Browser
El browser es clave para el desarrollo ya que al fin y al cabo desarrollaremos la
aplicación para un usuario que utiliza un browser en específico. Como en el sistema
Operativo muchas veces el browser es impuesto, pero tenemos muchas opciones. El
Browser debe facilitarnos el de bugging en las aplicaciones web.
3. IDE
IDE (Integrated Development Enviroment) es la herramienta con la que se desarrolla
aplicaciones web.
33
4. Servidor Web
Esta herramienta es tal vez la más compleja dada la dificultad que puede tener el
configurar un servidor web con las mismas características que tiene el servidor web de
producción. Por lo general la instalación de las aplicaciones del servidor web depende
demasiado del sistema operativo que se está utilizando.
5. Otras herramientas
Entre otras herramientas podemos considerar a:
1. VCS (Version Control System): Un Sistema de Control de Versiones es vital para el
desarrollo de aplicaciones en equipo e incluso cuando lo haces solo.
2. Cliente FTP: Para poder subir archivos al servidor de producción en la mayoría de
los casos se tiene que utilizar un cliente FTP.
3. Virtualización: Para desarrollar aplicaciones web se deben tomar en cuenta a la
mayoría de los browsers, es probable que nuestro sistema operativo no soporte a todos
los browsers por lo que se debe pensar en un software de virtualización para poder
probar las aplicaciones web en esos browsers también.
2.2.5.3. FASES DE DESARROLLO DE UNA WEB
Para elegir las herramientas a utilizar, antes debemos identificar las fases del proceso
que forman el ciclo de vida de un desarrollo web.
Diseño: El diseño consiste en crear esbozos de la web final mediante una
herramienta gráfica, como Photoshop, GIMP o Inkscape.
Maquetación HTML/CSS: La maquetación consiste en convertir los esbozos
creados en la fase anterior en plantillas HTML, su respectiva hoja de estilos, y
las imágenes usadas. Es posible saltarse la fase anterior para comenzar
directamente con esta fase, dependiendo de si dominamos herramientas como
Photoshop o no.
Programación cliente: La programación cliente consiste básicamente en
Javascript. Una web puede no tener necesidad de hacer programación cliente,
como puede ser una pequeña web corporativa con poca información estática, o
puede que requiera enormes esfuerzos en esta fase, como ocurre con los
proyectos Web 2.0.
34
Programación servidor: En esta fase, que se desarrolla junto con la anterior,
crearemos la aplicación web en un lenguaje de servidor, como puede ser PHP,
ASP .NET, Python, Perl, etc.
Depuración: Esta fase enlaza la anterior con la siguiente, y es donde haremos
las pruebas unitarias, aserciones, trazas, etc.
Pruebas en local: En nuestro servidor local haremos todas las pruebas posibles.
Subir ficheros al hosting: Una vez nuestra web esté completada y bien testeada
en nuestro servidor local (desarrollo), la subiremos al servidor del hosting
elegido (producción). Dependiendo del hosting, podremos usar FTP, SFTP
(SSH), WebDAV, o incluso Subversión. Yo aconsejo usar Subversión si así lo
permite el servidor, por su comodidad y rapidez, además de por su principal
utilidad, que es la de control de versiones.
Pruebas en hosting: Realizaremos las últimas pruebas en el servidor del hosting
para comprobar que el cambio de servidor no ha afectado a nada. Para evitar
problemas, nuestro servidor local debe tener exactamente la misma
configuración que el servidor del hosting.5
2.2.6. PÁGINA WEB
Una página de Internet o página Web es un documento electrónico que contiene
información específica de un tema en particular y que es almacenado en algún sistema
de cómputo que se encuentre conectado a la red mundial de información denominada
Internet, de tal forma que este documento pueda ser consultado por cualesquier persona
que se conecte a esta red mundial de comunicaciones y que cuente con los permisos
apropiados para hacerlo. Una página Web es la unidad básica del World Wide Web.
5Programación de aplicaciones web: historia, principios básicos y clientes web. Sergio Luján Mora (2002). (1ª edición). Editorial
Club Universitario.
35
Figura 9.Página web
2.2.6.1. TIPOS Y CARACTERISTICAS DE LAS PÁGINAS WEB
Existen tres tipos de páginas Web, que se encuentran en el Internet y a las cual pueden
acceder los usuarios, estas son:
Páginas Web dinámicas
Páginas Web estáticas
Páginas Web animadas
A continuación se describen cada una.
2.2.6.2. PÁGINA WEB DINÁMICA
Figura 10. Página web dinámica
36
Son aquellas cuya información que presentan se genera a partir de alguna acción o
petición del usuario en la página. Contrariamente a las páginas estáticas, en las que su
contenido se encuentra predeterminado, en las dinámicas la infor mación aparece
inmediatamente después de una solicitud hecha por el usuario. Una página dinámica
permite visualizar la información contenida en una base de datos, así como almacenar y
hacer actualizaciones de cierta información a través de un formulario. Además se
pueden manejar foros y el usuario tiene la posibilidad de cambiar a su gusto el diseño y
el contenido de la página, entre otras cosas.
Para la creación de este tipo de páginas, además de etiquetas HTML es necesaria la
utilización de algún lenguaje de programación que se ejecute del lado del servidor, así
como la existencia de una base de datos.
2.2.6.3. PÁGINA WEB ESTÁTICA
Figura 11. Página web estática
Son aquellas en las que la información se presenta en forma predefinida y sin cambios.
No hay manera de que el usuario pueda cambiar el contenido de la página. En caso de
que se quiera actualizar una página estática, se tendrá que acceder directamente al
servidor en el que se encuentra alojada para hacer la edición. A la información
contenida en una página estática se le puede dar un determinado formato de
presentación, así como incluirle imágenes, ligas a otras páginas, animaciones, videos o
sonidos a través de etiquetas HTML, aunque es lo único que puede ofrecerse a través de
este tipo de páginas.
37
2.2.6.4. PÁGINA WEB ANIMADA
Figura12. Página web animada
Las páginas web animadas son aquellas que se realizan con la tecnología FLASH, ésta
permite que una página web presente el contenido con ciertos efectos animados
continuados. El uso de esta tecnología permite diseños más vanguardistas, modernos y
creativos. 6
2.2.7. PHP
PHP es un lenguaje de programación de uso general de código del lado del servidor
originalmente diseñado para el desarrollo web de contenido dinámico. Fue uno de los
primeros lenguajes de programación del lado del servidor que se podían incorporar
directamente en el documento HTML en lugar de llamar a un archivo externo que
procese los datos. El código es interpretado por un servidor web con un módulo de
procesador de PHP que genera la página Web resultante. PHP ha evolucionado por lo
que ahora incluye también una interfaz de línea de comandos que puede ser usada en
aplicaciones gráficas independientes. PHP puede ser usado en la mayoría de los
servidores web al igual que en casi todos los sistemas operativos y plataformas sin
ningún costo.
PHP fue creado originalmente por Rasmus Lerdorf en 1995. Actualmente el lenguaje
sigue siendo desarrollado con nuevas funciones por el grupo PHP.2 Este lenguaje forma
parte del software libre publicado bajo la licencia PHP que es incompatible con la
licencia pública general de GNU debido a las restricciones del uso del término PHP.3
6Desarrollo tipos de páginas dinámicas, Autor: AJAXPERU. 2012
38
2.2.7.1. VISION GENERAL DE PHP
PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente
PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus
Lerdorf en 1994; sin embargo la implementación principal de PHP es producida ahora
por The PHP Group y sirve como el estándar de facto para PHP al no haber una
especificación formal. Publicado bajo la PHP License, la Free Software Foundation
considera esta licencia como software libre.
Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas
operativos y plataformas sin costo alguno. El lenguaje PHP se encuentra instalado en
más de 20 millones de sitios web y en un millón de servidores, el número de sitios en
PHP ha compartido algo de su preponderante sitio con otros nuevos lenguajes no tan
poderosos. Este mismo sitio web de Wikipedia está desarrollado en PHP. Es también el
módulo Apache más popular entre las computadoras que utilizan Apache como servidor
web. La versión más reciente de PHP es la 5.3.5.
El gran parecido que posee PHP con los lenguajes más comunes de programación
estructurada, como C y Perl, permiten a la mayoría de los programadores crear
aplicaciones complejas con una curva de aprendizaje muy corta. También les permite
involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un
nuevo grupo de funciones.
Aunque todo en su diseño está orientado a facilitar la creación de sitios webs, es posible
crear aplicaciones con una interfaz gráfica para el usuario, utilizando la extensión PHP-
Qt o PHP-GTK. También puede ser usado desde la línea de órdenes, de la misma
manera como Perl o Python pueden hacerlo; a esta versión de PHP se la llama PHP-CLI
(Command Line Interface).
Permite la conexión a diferentes tipos de servidores de bases de datos tales como
MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite.
2.2.7.2. HISTORIA
Fue originalmente diseñado en Perl, con base en la escritura de un grupo de CGI
binarios escritos en el lenguaje C por el programador danés-canadiense Rasmus Lerdorf
en el año 1994 para mostrar su currículum vítae y guardar ciertos datos, como la
cantidad de tráfico que su página web recibía. El 8 de junio de 1995 fue publicado
39
"Personal Home Page Tools" después de que Lerdorf lo combinara con su propio Form
Interpreter para crear PHP/FI.
Dos programadores israelíes del Technion, Zeev Suraski y Andi Gutmans, reescribieron
el analizador sintáctico (parser en inglés) en el año 1997 y crearon la base del PHP3,
cambiando el nombre del lenguaje por PHP: Hypertext Preprocessor.2 Inmediatamente
comenzaron experimentaciones públicas de PHP3 y fue publicado oficialme nte en junio
de 1998. Para 1999, Suraski y Gutmans reescribieron el código de PHP, produciendo lo
que hoy se conoce como motor Zend. También fundaron Zend Technologies en Ramat
Gan, Israel.2.
En mayo de 2000 PHP 4 fue lanzado bajo el poder del motor Zend Engine 1.0. El día 13
de julio de 2007 se anunció la suspensión del soporte y desarrollo de la versión 4 de
PHP, a pesar de lo anunciado se ha liberado una nueva versión con mejoras de
seguridad, la 4.4.8 publicada el 13 de enero del 2008 y posteriormente la versión 4.4.9
publicada el 7 de agosto de 2008.12 Según esta noticia13 se le dio soporte a fallos
críticos hasta el 9 de agosto de 2008.
El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0 (o Zend
Engine 2). Incluye todas las ventajas que provee el nuevo Zend Engine 2 como:
Mejor soporte para la programación orientada a objetos, que en versiones
anteriores era extremadamente rudimentario.
Mejoras de rendimiento.
Mejor soporte para MySQL con extensión completamente reescrita.
Mejor soporte a XML (XPath, DOM, etc.).
Soporte nativo para SQLite.
Soporte integrado para SOAP.
Iteradores de datos.
Manejo de excepciones.
Mejoras con la implementación con Oracle.
2.2.7.3. CARACTERÍSTICAS
Orientado al desarrollo de aplicaciones web dinámicas con acceso a información
almacenada en una base de datos.
40
Es considerado un lenguaje fácil de aprender, ya que en su desarrollo se
simplificaron distintas especificaciones, como es el caso de la definición de las
variables primitivas, ejemplo que se hace evidente en el uso de php arrays.
El código fuente escrito en PHP es invisible al navegador web y al cliente, ya
que es el servidor el que se encarga de ejecutar el código y enviar su resultado
HTML al navegador. Esto hace que la programación en PHP sea segura y
confiable.
Capacidad de conexión con la mayoría de los motores de base de datos que se
utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.
Capacidad de expandir su potencial utilizando módulos (llamados ext's o
extensiones).
Posee una amplia documentación en su sitio web oficial, entre la cual se destaca
que todas las funciones del sistema están explicadas y ejemplificadas en un
único archivo de ayuda.
Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
Permite aplicar técnicas de programación orientada a objetos. Incluso
aplicaciones como Zend framework, empresa que desarrolla PHP, están
totalmente desarrolladas mediante esta metodología.
No requiere definición de tipos de variables aunque sus variables se pueden
evaluar también por el tipo que estén manejando en tiempo de ejecución.
Tiene manejo de excepciones (desde PHP5).
Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la
hora de programar, aun haciéndolo, el programador puede aplicar en su trabajo
cualquier técnica de programación o de desarrollo que le permita escribir código
ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que
en PHP se han hecho del patrón de diseño Modelo Vista Controlador (MVC),
que permiten separar el tratamiento y acceso a los datos, la lógica de control y
la interfaz de usuario en tres componentes independientes.
Debido a su flexibilidad ha tenido una gran acogida como lenguaje base para las
aplicaciones WEB de manejo de contenido, y es su uso principal.7
7Wikipedia, la enciclopedia libre, página web:http://es.wikipedia.org/wiki/World_Wide_Web
41
2.2.7.4. VENTAJAS Y DESVENTAJAS DE PHP
2.2.7.4. 1. VENTAJAS:
Es un lenguaje multiplataforma.
Completamente orientado al desarrollo de aplicaciones web dinámicas con
acceso a información almacenada en una Base de Datos.
El código fuente escrito en PHP es invisible al navegador y al cliente ya que es
el servidor el que se encarga de ejecutar el código y enviar su resultado HTML
al navegador. Esto hace que la programación en PHP sea segura y confiable.
Capacidad de conexión con la mayoría de los motores de base de datos que se
utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.
Capacidad de expandir su potencial utilizando la enorme cantidad de módulos
(llamados ext's o extensiones).
Posee una amplia documentación en su página oficial, entre la cual se destaca
que todas las funciones del sistema están explicadas y ejemplificadas en un
único archivo de ayuda.
Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
Permite aplicar técnicas de programación orientada a objetos.
tiempo de ejecución.
Tiene manejo de excepciones (desde PHP5).
2.2.7.4. 2. DESVENTAJA:
Como es un lenguaje que se interpreta en ejecución para ciertos usos puede resultar un
inconveniente que el código fuente no pueda ser ocultado. La ofuscación es una técnica
que puede dificultar la lectura del código pero no la impide y, en ciertos casos,
representa un costo en tiempos de ejecución.8
2.2.7.5. EJECUCIÓN
PHP se ejecuta en el servidor web, justo antes de que se envíe la página a través de
Internet al cliente. Las páginas que se ejecutan en el servidor pueden realizar accesos a
bases de datos, conexiones en red, y otras tareas para crear la página final que verá el
cliente. El cliente solamente recibe una página con el código HTML resultante de la
ejecución de la PHP. Como la página resultante contiene únicamente código HTML, es
8Klaribeth Martinez 2011: http://klarimartinezbenjumea.blogspot.com
42
compatible con todos los navegadores. Podemos saber algo más sobre la programació n
del servidor y del cliente en el artículo qué es DHTML.
Figura 13. Esquema del funcionamiento de las páginas PHP
Una vez que ya conocemos el concepto de lenguaje de programación de scripts del lado
del servidor podemos hablar de PHP. PHP se escribe dentro del código HTML, lo que
lo hace realmente fácil de utilizar, al igual que ocurre con el popular ASP de Microsoft,
pero con algunas ventajas como su gratuidad, independencia de plataforma, rapidez y
seguridad. Cualquiera puede descargar a través de la página principal de PHP
www.php.net y de manera gratuita, un módulo que hace que nuestro servidor web
comprenda los scripts realizados en este lenguaje. Es independiente de plataforma,
puesto que existe un módulo de PHP para casi cualquier servidor web. Esto hace que
cualquier sistema pueda ser compatible con el lenguaje y significa una ventaja
importante, ya que permite portar el sitio desarrollado en PHP de un sistema a otro sin
prácticamente ningún trabajo.
PHP, en el caso de estar montado sobre un servidor Linux o Unix, es más rápido que
ASP, dado que se ejecuta en un único espacio de memoria y esto evita las
comunicaciones entre componentes COM que se realizan entre todas las tecnologías
implicadas en una página ASP.
Además, PHP permite configurar el servidor de modo que se permita o rechacen
diferentes usos, lo que puede hacer al lenguaje más o menos seguro dependiendo de las
necesidades de cada cual.
43
Este lenguaje de programación está preparado para realizar muchos tipos de
aplicaciones web gracias a la extensa librería de funciones con la que está dotado. La
librería de funciones cubre desde cálculos matemáticos complejos hasta tratamiento de
conexiones de red, por poner dos ejemplos.
Algunas de las más importantes capacidades de PHP son: compatibilidad con las bases
de datos más comunes, como MySQL, mSQL, Oracle, Informix, y ODBC, por ejemplo.
Incluye funciones para el envío de correo electrónico, upload de archivos, crear
dinámicamente en el servidor imágenes en formato GIF, incluso animadas y una lista
interminable de utilidades adicionales.
2.2.7.6. USOS DE PHP
Los principales usos del PHP son los siguientes:
Programación de páginas web dinámicas, habitualmente en combinación con el
motor de base de datos MySQL, aunque cuenta con soporte nativo para otros
motores, incluyendo el estándar ODBC, lo que amplía en gran medida sus
posibilidades de conexión.
Programación en consola, al estilo de Perl o Shell scripting.
Creación de aplicaciones gráficas independientes del navegador, por medio de la
combinación de PHP y QT/GTK+, lo que permite desarrollar aplicaciones de
escritorio en los sistemas operativos en los que está soportado.
2.2.7.7. PÁGINAS WEB DISEÑADAS EN PHP
Nociones básicas en diseño Web:
El contenido es definitivamente el componente más importante de una página
Web.
Existe más de una metodología para diseñar Sitios Web. Investigue y seleccione
la que Usted considere más conveniente de acuerdo a sus fines de negocio.
Es recomendable que las funciones especiales como búsquedas, chat en línea y
foros de discusión sean implementadas en una segunda o tercera versión cuando
el sitio esté ya produciendo un tráfico significativo.
Asegúrese de comprar una página Web, no una película. La animación gráfica
es una técnica de diseño Web que está siendo utilizada indiscriminadamente por
los diseñadores.
44
Diseñar una página Web efectiva es mucho más complejo de lo que parece en
un principio.
Los costos de servicios web en paquete se han reducido al mínimo, de igual
forma han disminuido los buenos resultados y el retorno sobre la inversión.
Los precios de los servicios de registro y hospedaje de dominios son muy
semejantes entre un proveedor y otro por tratarse esencialmente de recursos de
cómputo y comunicaciones, no así los costos de diseño de páginas Web, ya que
la metodología de diseño y la calidad del producto final varía considerablemente
entre una agencia y otra.
Usted no puede cotizar una página Web sin dar a conocer las especificaciones
mínimas. Para conocer el costo de diseño de una página Web, necesita cuando
menos definir el índice del contenido del sitio y los idiomas en los que desea
transmitir su mensaje de negocios.
El hospedaje de sitios y el diseño Web son dos especialidades muy distintas. Por
lo general es más conveniente seleccionar diferentes proveedores para estos dos
servicios.
En Internet, los negocios se ganan hoy en día en los motores de búsqueda, por
eso es tan importante el posicionamiento en buscadores.
Registrar una página en motores de búsqueda y posicionarla en los primeros
lugares son dos cosas muy distintas.
Recuerde que el prestigio de su empresa y sus marcas están en juego, defina una
estrategia acorde a la dimensión de su organización.
Las páginas Web sencillas difícilmente promoverán su negocio en el Internet,
pero si hacen las cosas bien, los clientes llegarán a su página Web.
Por lo general, no existe un apropiado balance entre lo que deseamos que
contenga nuestra página y lo que estamos dispuestos a pagar por ella.9
9Wikipedia, Ver: http://wiki.elhacker.net/programacion/php
45
2.2.8. PHPRUNNER
Figura. 14. PHPRunner
PHP Runner es una aplicación capaz de generar automáticamente todo un repertorio de
páginas web para insertar información en los campos de una base de datos determinada.
El lenguaje empleado en estas páginas es PHP. Las bases de datos que
soporta PHP Runner son MySQL, SQL Server y Oracle, tanto de forma remota como
local.
El proceso de creación de las páginas se realiza completando un asistente. En él hay que
decidir los campos que se mostrarán en las páginas, los usuarios que podrán añadir
contenido, las funciones que estarán disponibles, etcétera.
Si no estás contento con el código fuente generado por la aplicación, siempre puedes
modificarlo a mano, añadiendo tus propias instrucciones o cambiando la disposición de
los elementos en las páginas.
Pues PHP Runner se trata básicamente de un asistente que de forma muy intuitiva, fácil
y explicita te va indicando paso a paso todo el proceso que debes ir realizando para
enlazar tus páginas webs en PHP a bases de dato como MySQL, Oracle o SQL Server,
generando automáticamente todo el código fuente que se insertará en la página PHP
resultante.
46
PHP Runner permite incluso acceder remotamente a través de una LAN (red local) a
una base de datos que esté alojada en otro equipo de dicha red local.10
2.2.8.1. DESCRIPCIÓN DE PHPRUNNER
PHPRunner es una herramienta creada para realizar la gestión de las bases de datos
MySQL de un sitio web que soporte PHP.
Gracias a su sencilla e intuitiva interfaz gráfica, para utilizar PHPRunner no necesitarás
tener conocimientos de desarrollo web. Esta aplicación funciona de una manera muy
similar a la de un asistente, por eso es probable que aprendas a manejarlo a la perfección
incluso en la primera prueba.
PHPRunner te permitirá editar, añadir, eliminar y pre visualizar páginas completas de
tu sitio en tan sólo unos minutos y de manera remota. Además, te ayudará a proteger
todo el contenido creado en PHP con claves de acceso para restringir las
modificaciones.
2.2.8.2. CARACTERÍSTICAS DE PHPRUNNER
Fácil de utilizar mago-como interfaz.
Numerosos modos de búsqueda.
Añadir, ver, editar, copiar y eliminar páginas.
Incorporado en el cliente FTP para subir las páginas PHP en el servidor Web.
De usuario auto-registro de página, recordatorio de su clave, páginas de cambio
de contraseña.
2.2.8.3. BENEFICIOS DEL USO DE PHPRUNNER
Beneficios del uso de PHPRunner son los siguientes:
Puede ahorrar tiempo y dinero.
Mejorar la funcionalidad de su sitio web.
Crear robusto, fácil de modificar el código.
Fácil de usar, puede generar su primer sitio web de PHP en tan sólo quince
minutos.
Sin necesidad de programación.
Qué puede hacer por mí PHPRunner:
Recopilar información del usuario.
10
PHP Runner, Autor:XLineSoft.
47
Teléfono / libreta de direcciones.
Artículos de prensa.
Inclusión de los productos.
Basado en la web de base de datos y buscar la entrada de datos.
Informes basados en Web.
Sólo para miembros protegido por contraseña sitios web
Sistema: Xp/Vista/7
Idioma: Inglés
Tamaño: 24.12 MB
Phpruner en este programa que nos detalla de cómo utilizarlo para realizar cualquier
sistema que se vaya a implementar. Es una herramienta creada para realizar la gestión
de las bases de datos MySQL de un sitio web que soporte PHP. Nos habla de sus
características sus beneficios y sus limitaciones.
2.2.8.4. TECNOLOGÍAS
A continuación se enumeran las tecnologías que utilizan, cuando la aplicación está lista
y funcionando.
OOP: La aplicación generada es orientado a objetos . Todos los elementos
estructurales, como la conexión de base de datos, grid, controles de edición, el
panel de búsqueda, etc, son todos los objetos. Los objetos pueden ser
manipulados a través de código del lado del servidor PHP oa través de Javascript
API.
Plantillas: PHPRunner utiliza páginas html de plantilla para generar sitios
visibles en Internet. Plantillas de páginas web pueden obtener una vista previa
antes de lo que es "vivir". Cada página de la aplicación web se compone de
archivo de plantilla xxx.htm y archivo de código xxx.php.
Personalización: PHPRunner proporciona un modelo de eventos amplio para
establecer un código personalizado para controlar eventos no plenamente
abordados por las características incorporadas.
48
2.2.8.5. HERRAMIENTAS DE PHPRUNNER
Plantillas
Figura 15. Plantillas
PHPRunner ofrece un gran número de plantillas de aplicaciones ya hechas webs
temáticas con interfaz gráfica completa y la estructura de base de datos. Todas las
plantillas son fáciles de trabajar y totalmente personalizable. La plantilla se podría
utilizar como un sitio web independiente, o se podría integrar con otras aplicaciones de
PHPRunner web.
Algunas de las plantillas disponibles con PHPRunner son: automóviles, anuncios
clasificados, base de conocimientos, bienes raíces, ofertas de trabajo, y noticias.
Amplia gama de soporte de base de datos
Figura 16. Amplia gama de soporte de base de datos
49
PHPRunner admite cuatro tipos de bases de datos como MySQL, SQL Server, MS
Access y PostgreSQL. Incluso si usted no tiene una base de datos, el software le
ayudará a crear una.
PHPRunner le permite conectarse a su base de datos local o una base de datos ubicada
en un servidor remoto. Si usted tiene una base de datos MySQL remota, lo que no
permite una conexión directa, usted será capaz de conectarse a él mediante "proxy PHP"
método.
Editor Visual
Figura 17. Editor Visual
WYSIWYG Editor de Visual en PHPRunner le permite personalizar la apariencia de la
aplicación con la facilidad de arrastrar y soltar. PHPRunner le presentará el diseño
propuesto para cada página. Sin embargo, todos los elementos de las páginas se pueden
modificar fácilmente. El Editor de Visual le permite arrastrar y soltar, copiar y pegar los
objetos alrededor de la página. Para todos los campos y las etiquetas de la página se
pueden cambiar el tipo de letra, tamaño, color, estilo, sangría y alineación. El Editor de
Visual le permite saltar en el código HTML generado y realizar las modificaciones allí.
50
Informes y Gráficos
Figura 18. Informes y Gráficos
PHPRunner nos permite crear en sofisticados colores, gráficos interactivos, altamente
personalizados e informes para complementar un sitio web. También se puede elegir
varios tipos de gráficos e informes.
La web y el generador de informes como parte de la versión Enterprise Edition de
PHPRunner, permitirá construir las gráficas y reportes en línea. Al igual que en el
software, Gráficas y Reportes Web Builder ofrece una gran selección de gráficos e
informes que tienen sólo unos minutos para construir. Se pueden reutilizar los mismos
ajustes de seguridad que ha de implantarse en el programa para decidir qué fuentes de
datos que desea exponer a los usuarios, y de los permisos a los usuarios tendrá.
Previa solicitud
Figura 19. Previa Solicitud
51
Después de haber construido la aplicación web, PHPRunner le ofrece múltiples
opciones de cómo obtener una vista previa. Usted puede ver la aplicación en el
navegador de forma local. Puede cargar archivos en el servidor Web remoto utilizando
una función de cliente FTP. Usted puede publicar su aplicación a nuestro servidor de
demostración o simplemente inscribirse en nuestro hosting específicamente dedicados a
los clientes PHPRunner.
Seguridad
Figura 20. Seguridad
PHPRunner le permite proteger con contraseña el acceso a la aplicación web. Puede
codificar el nombre de usuario y contraseña, guardar las combinaciones de inicio de
sesión en la base de datos o utilizar la autenticación de Active Directory. Puede añadir
Login with Facebook opción a su sitio. PHPRunner también le permite establecer el
permiso de los grupos de usuarios donde se pueden restringir las tablas y vistas, páginas
y funcionalidad del sitio sea correcto en el software o en línea.
52
Configuración de usuario Entrar
Figura 21. Configuración de usuario Entrar
PHPRunner le permite crear una página de Registro de Usuario Nuevo, así como
asegurar sus páginas de spam a través de la protección de los consumidores de
CAPTCHA, que fácilmente se determina si el usuario es una computadora o un
humano. También puede restringir los usuarios introduzcan contraseñas débiles y les
permite solicitar recordatorios de contraseña.
Permisos dinámicos
Figura 22. Permisos Dinámicos
53
Con PHPRunner permiso dinámico le permitirá crear y modificar los permisos y asignar
usuarios a grupos determinados desde la propia aplicación web generada. Cada vez que
se tenga que modificar los permisos, crear un nuevo grupo o asignar usuarios a los
grupos que no tendrá que reconstruir su proyecto. Permisos dinámicos son
especialmente útiles en las grandes corporaciones donde los administradores de
seguridad de la aplicación no son los propios usuarios de software PHPRunner.
Style Editor
Figura 23. Style Editor
Con el Editor de estilo en PHPRunner puede personalizar el aspecto visual de la
aplicación web mediante la selección de una amplia gama de diseños de página y
combinaciones de colores y modificarlos. En cualquier momento puede obtener una
vista previa de los resultados.
Soporte multilenguaje
Figura 24. Soporte multilenguaje
54
PHPRunner soporta más de 30 idiomas dando a los usuarios la capacidad de elegir el
idioma al iniciar sesión pulg Usted también puede añadir las traducciones de los
nombres de tablas y campos. La lista de idiomas soportados incluyen: afrikaans, árabe,
bosnio, catalán, chino, chino (Hong Kong SAR), chino (Taiwán), croata, danés,
holandés (belga), holandés (estándar), Inglés, Francés, Alemán, Griego , hebreo,
húngaro, indonesio, italiano, japonés, malayo, noruego (Bokmal), polaco, portugués
(Brasil), Portugués (estándar), rumano, eslovaco, español, sueco, tailandés, turco, urdu.
Eventos
Figura 25. Eventos
Con PHPRunner puede ampliar la funcionalidad de su aplicación mediante la inserción
de eventos fragmentos de código PHP. Usted será capaz de definir lo que es un evento
debe hacer y cuándo debe ser ejecutado. Un caso típico sería enviar un correo
electrónico con los nuevos datos, guardar los datos en otra tabla, comprobar la unicidad
de registro, etc, demostración relacionada con información actual récord Puede
seleccionar uno de los eventos predefinidos o escribir su propia desde cero.
Relaciones maestro-detalle
55
Figura 26. Relaciones maestro-detalle
En PHPRunner todas sus fuentes de datos y las relaciones entre ellos, como maestro-
detalle, se muestra visualmente lo que son muy intuitivo de entender y manejar. Usted
será capaz de enlazar dos o más conjuntos de datos con facilidad de arrastrar y soltar.
Una vez que haya establecido las relaciones, en la aplicación se puede navegar a través
de los registros maestros y rápidamente saltar por encima de los detalles de esos
registros. Algunos escenarios básicos de las relaciones maestro-detalle sería cliente y los
datos de pedidos, registros de pacientes y médicos o estudiantes y cursos de
información.
Editor de texto enriquecido Control
Figura 27. Editor de texto enriquecido
56
PHPRunner admite tres editores de texto enriquecido de terceros para permitir un gran
control sobre el formato de contenido, incluyendo los tratamientos comunes
estructurales como las listas, los tratamientos como formatear el texto en negrita y
cursiva, y arrastrar y soltar inclusión y el tamaño de las imágenes. Las tres opciones
incluyen el editor básico de texto enriquecido, CKEditor y Editor InnovaStudio que
varían en características, versatilidad y huella.
Imágenes y Documentos
Figura 28. Imágenes y Documentos
PHPRunner le permite cargar los documentos y las imágenes de cualquier tipo a la base
de datos o en un directorio en el servidor web. También puede crear las miniaturas de
las imágenes sobre la marcha, cambiar el tamaño de ellos en subida, y mostrarlas
usando Box.
Dependientes cuadros desplegables
Figura 29. Dependientes cuadros desplegables
57
Con PHPRunner, puede utilizar vinculado cuadros desplegables, donde los valores se
muestra en el segundo cuadro desplegable dependen del valor que haya elegido en la
primera. Puede enlazar tantas casillas desplegables que usted necesita en una cadena
lineal o tener múltiples desplegables enlace cajas al mismo amo control desplegable.
Controles de edición
Figura 30.Controles de Edición
PHPRunner ofrece una gran variedad de controles de edición, lo que le permite
personalizar el aspecto de los campos de editar y añadir páginas. Los formatos de
campo que puede elegir incluyen campo de texto, fecha, hora, casilla de verificación,
botón de radio, archivo / imagen, Asistente para búsquedas y otros.
Integración con el sitio web existente
Figura 31. Integración con el sitio web existente
58
PHPRunner le permite integrar sin problemas las aplicaciones web que construyen en su
sitio web existente. Usted será capaz de asemejarse a la apariencia de cada una de sus
páginas.
Ajax funcionalidad basada en
Figura 32.Ajax funcionalidad basada en la funcionalidad
PHPRunner viene con una función de AJAX basada en la funcionalidad de hacer sus
páginas web mucho más fácil de usar. Puede buscar la información más fácilmente que
nunca con google-como auto-sugerir característica. Los AJAX basadas en cuadros
desplegables dependientes también cargan mucho más rápido. Con Ajax podrá
previsualizar el contenido, simplemente se cierne sobre los enlaces.
FTP Upload
Figura 33.FTP Upload
59
PHPRunner le permitirá cargar todo el conjunto de páginas al servidor web a través de
FTP. Usted será capaz de establecer las propiedades de carga en función de sus
necesidades.
Crear / modificar las tablas de base de datos
Figura 34. Crear/modificar las tablas de base de datos
PHPRunner le permitirá crear y modificar tablas en el mismo software. Usted tendrá
acceso a propiedades de la tabla donde se pueden establecer los nombres de campo,
tipos, tamaños, así como establecer el campo de clave principal. Si usted no tiene una
base de datos en absoluto, PHPRunner le permitirá crear una también.
Plantillas adicionales
Figura 35. Plantillas adicionales
60
Para complementar la lista de nuestras plantillas de aplicaciones integradas que ofrecen
más tres plantillas que componen el paquete de plantillas que podría mejorar su
aplicación Web. El paquete de plantillas incluye el carrito de compras plantilla, la
plantilla y la plantilla Calendario Miembros. El paquete de plantillas está disponible
para su compra a todos los usuarios existentes PHPRunner y es 100% garantizado para
integrar en sus proyectos PHPRunner otros.
Cascade Menú Builder
Figura 36. Cascade Menu Builder
Cascade Menu Builder le permite organizar sus tablas en un menú de varios niveles para
una navegación más rápida. Esta característica es particularmente útil para los usuarios
con gran número de tablas. Usted puede tener tantos grupos y subgrupos que necesite.
Dependiendo de su diseño de página en el menú en cascada aparecerá como un menú
horizontal, menú vertical, o un menú en forma de árbol vertical.11
2.2.9. BASE DE DATOS
Una base de datos o banco de datos (en ocasiones abreviada con la sigla BD o con la
abreviatura b.d.) es un conjunto de datos pertenecientes a un mismo contexto y
almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca
puede considerarse una base de datos compuesta en su mayoría por documentos y textos
impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo
tecnológico de campos como la informática y la electrónica, la mayoría de las bases de
11
"PHPRunner 6.0 released.".Retrieved 2011
61
datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al
problema de almacenar datos.
Existen programas denominados sistemas gestores de bases de datos, abreviados SGBD,
que permiten almacenar y posteriormente acceder a los datos de forma rápida y
estructurada. Las propiedades de estos SGBD, así como su utilización y administración,
se estudian dentro del ámbito de la informática.
Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas.
También son ampliamente utilizadas en entornos científicos con el objeto de almacenar
la información experimental.
Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se
encuentran protegidos por las leyes de varios países. Por ejemplo, en España los datos
personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de
Carácter Personal (LOPD).
2.2.9.1. MODELOS DE BASES DE DATOS
Además de la clasificación por la función de las bases de datos, éstas también se pueden
clasificar de acuerdo a su modelo de administración de datos.
Un modelo de datos es básicamente una "descripción" de algo conocido como
contenedor de datos (algo en donde se guarda la información), así como de los métodos
para almacenar y recuperar información de esos contenedores. Los modelos de datos no
son cosas físicas: son abstracciones que permiten la implementación de un sistema
eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos
matemáticos.
2.2.9.1.1. BASES DE DATOS JERÁRQUICAS
En este modelo los datos se organizan en una forma similar a un árbol (visto al revés),
en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene
padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.
Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que
manejan un gran volumen de información y datos muy compartidos permitiendo crear
estructuras estables y de gran rendimiento.
62
Una de las principales limitaciones de este modelo es su incapacidad de representar
eficientemente la redundancia de datos.
2.2.9.1.2. BASE DE DATOS DE RED
Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la
modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres
(posibilidad no permitida en el modelo jerárquico).
Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución
eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa
administrar la información en una base de datos de red ha significado que sea un
modelo utilizado en su mayoría por programadores más que por usuarios finales.
Son bases de datos cuyo único fin es el envío y recepción de datos a grandes
velocidades, estas bases son muy poco comunes y están dirigidas por lo general al
entorno de análisis de calidad, datos de producción e industrial, es importante entender
que su fin único es recolectar y recuperar los datos a la mayor velocidad posible, por lo
tanto la redundancia y duplicación de información no es un problema como con las
demás bases de datos, por lo general para poderlas aprovechar al máximo permiten
algún tipo de conectividad a bases de datos relacionales.
Un ejemplo habitual de transacción es el traspaso de una cantidad de dinero entre
cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en la
que se decremento el saldo de la cuenta origen y otra en la que incrementamos el saldo
de la cuenta destino. Para garantizar la atomicidad del sistema (es decir, para que no
aparezca o desaparezca dinero), las dos operaciones deben ser atómicas, es decir, el
sistema debe garantizar que, bajo cualquier circunstancia (incluso una caída del
sistema), el resultado final es que, o bien se han realizado las dos operaciones, o bien no
se ha realizado ninguna.
2.2.9.1.4. BASES DE DATOS RELACIONALES
Éste es el modelo utilizado en la actualidad para modelar problemas reales y administrar
datos dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar
FrankCodd, de los laboratorios IBM en San José (California), no tardó en consolidarse
como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el
uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como
63
conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos
relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera
más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que
está compuesta por registros (las filas de una tabla), que representarían las tuplas, y
campos (las columnas de una tabla).
En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia
(a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable
ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la
base de datos. La información puede ser recuperada o almacenada mediante "consultas"
que ofrecen una amplia flexibilidad y poder para administrar la información.
El lenguaje más habitual para construir las consultas a bases de datos relacionales es
SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar
implementado por los principales motores o sistemas de gestión de bases de datos
relacionales.
Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce
como normalización de una base de datos.
Durante los años 80 la aparición de dBASE produjo una revolución en los lenguajes de
programación y sistemas de administración de datos. Aunque nunca debe olvidarse que
dBase no utilizaba SQL como lenguaje base para su gestión.
2.2.9.1.5. BASES DE DATOS MULTIDIMENSIONALES
Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creación
de Cubos OLAP. Básicamente no se diferencian demasiado de las bases de datos
relacionales (una tabla en una base de datos relacional podría serlo también en una base
de datos multidimensional), la diferencia está más bien a nivel conceptual; en las bases
de datos multidimensionales los campos o atributos de una tabla pueden ser de dos
tipos, o bien representan dimensiones de la tabla, o bien representan métricas que se
desean estudiar.
2.2.9.1.6. BASES DE DATOS ORIENTADAS A OBJETOS
Este modelo, bastante reciente, y propio de los modelos informáticos orientados a
objetos, trata de almacenar en la base de datos los objetos completos (estado y
comportamiento).
64
Una base de datos orientada a objetos es una base de datos que incorpora todos los
conceptos importantes del paradigma de objetos:
Encapsulación - Propiedad que permite ocultar la información al resto de los
objetos, impidiendo así accesos incorrectos o conflictos.
Herencia - Propiedad a través de la cual los objetos heredan comportamiento
dentro de una jerarquía de clases.
Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada
a distintos tipos de objetos.
En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre
los datos como parte de la definición de la base de datos. Una operación (llamada
función) se especifica en dos partes. La interfaz (o signatura) de una operación incluye
el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La
implementación (o método) de la operación se especifica separadamente y puede
modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden
operar sobre los datos invocando a dichas operaciones a través de sus nombres y
argumentos, sea cual sea la forma en la que se han implementado. Esto podría
denominarse independencia entre programas y operaciones.
2.2.9.1.7. BASES DE DATOS DOCUMENTALES
Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más
potentes. Tesaurus es un sistema de índices optimizado para este tipo de bases de datos.
2.2.9.1.8. BASES DE DATOS DEDUCTIVAS
Figura 37.Base de datos deductiva
65
Un sistema de base de datos deductiva, es un sistema de base de datos pero con la
diferencia de que permite hacer deducciones a través de inferencias. Se basa
principalmente en reglas y hechos que son almacenados en la base de datos. Las bases
de datos deductivas son también llamadas bases de datos lógicas, a raíz de que se basa
en lógica matemática. Este tipo de base de datos surge debido a las limitaciones de la
Base de Datos Relacional de responder a consultas recursivas y de deducir relaciones
indirectas de los datos almacenados en la base de datos.
2.2.9.1.8.1. LENGUAJE DE BASE DE DATOS DEDUCTIVAS
Utiliza un subconjunto del lenguaje Prolog llamado Datalog el cual es declarativo y
permite al ordenador hacer deducciones para contestar a consultas basándose en los
hechos y reglas almacenados.
2.2.9.1.8.2. CARACTERÍSTICAS DE BASE DE DATOS DEDUCTIVAS
Una Base de Datos Deductiva debe contar al menos con las siguientes características:
Tener la capacidad de expresar consultas por medio de reglas lógicas.
Permitir consultas recursivas y algoritmos eficientes para su evaluación.
Contar con negaciones estratificadas.
Soportar objetos y conjuntos complejos.
Contar con métodos de optimización que garanticen la traducción de
especificaciones dentro de planes eficientes de acceso.
Su lenguaje de definición de datos (DDL) es DataLog y no SQL (basado en el
álgebra relacional).
En lugar de relaciones entre entidades, en las bases de datos deductivas aparecen
los predicados; y en lugar de las tulpas aparecen los hechos.
Modelado semántico y uniformidad en la representación.
Como característica fundamental de una Base de Datos Deductiva es la
posibilidad de inferir información a partir de los datos almacenados, es
imperativo modelar la base de datos como un conjunto de fórmulas lógicas, las
cuales permiten inferir otras fórmulas nuevas.
2.2.9.2. GESTIÓN DE BASES DE DATOS DISTRIBUIDA (SGBD)
La base de datos y el software SGBD pueden estar distribuidos en múltiples sitios
conectados por una red. Hay de dos tipos:
66
Distribuidos homogéneos: utilizan el mismo SGBD en múltiples sitios.
Distribuidos heterogéneos: Da lugar a los SGBD federados o sistemas
multibase de datos en los que los SGBD participantes tienen cierto grado de
autonomía local y tienen acceso a varias bases de datos autónomas preexistentes
almacenados en los SGBD, muchos de estos emplean una arquitectura cliente-
servidor.
Estas surgen debido a la existencia física de organismos descentralizados. Esto les da la
capacidad de unir las bases de datos de cada localidad y acceder así a distintas
universidades, sucursales de tiendas, etcétera.12
2.2.9.3. CARACTERÍSTICAS DE BASE DE DATOS
Entre las principales características de los sistemas de base de datos podemos
mencionar:
Independencia lógica y física de los datos.
Redundancia mínima.
Acceso concurrente por parte de múltiples usuarios.
Integridad de los datos.
Consultas complejas optimizadas.
Seguridad de acceso y auditoría.
Respaldo y recuperación.
Acceso a través de lenguajes de programación estándar.13
2.2.9.4. VENTAJAS Y DESVENTAJAS DE LA BASE DE DATOS
2.2.9.4.1. VENTAJAS
2.2.9.4.1.1. CONTROL SOBRE LA REDUNDANCIA DE DATOS:
Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros
distintos. Esto hace que se desperdicie espacio de almacenamiento, además de provocar
la falta de consistencia de datos.
En los sistemas de bases de datos todos estos ficheros están integrados, por lo que no se
almacenan varias copias de los mismos datos. Sin embargo, en una base de datos no se
12
Wikipedia, la enciclopedia libre, página web:http://es.wikipedia.org/wiki/Base_de_datos 13
http://elies.rediris.es/elies9/4-1-2.htm
67
puede eliminar la redundancia completamente, ya que en ocasiones es necesaria para
modelar las relaciones entre los datos.
2.2.9.4.1.2. CONSISTENCIA DE DATOS:
Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo
de que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier
actualización se debe realizar sólo una vez, y está disponible para todos los usuarios
inmediatamente. Si un dato está duplicado y el sistema conoce esta redundancia, el
propio sistema puede encargarse de garantizar que todas las copias se mantienen
consistentes.
2.2.9.4.1.3. COMPARTICIÓN DE DATOS:
En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos
que los utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la
empresa y puede ser compartida por todos los usuarios que estén autorizados.
2.2.9.4.1.4. MANTENIMIENTO DE ESTÁNDARES:
Gracias a la integración es más fácil respetar los estándares necesarios, tanto los
establecidos a nivel de la empresa como los nacionales e internacionales. Estos
estándares pueden establecerse sobre el formato de los datos para facilitar su
intercambio, pueden ser estándares de documentación, procedimientos de actualización
y también reglas de acceso.
2.2.9.4.1.5. MEJORA EN LA INTEGRIDAD DE DATOS:
La integridad de la base de datos se refiere a la validez y la consistencia de los datos
almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que
no se pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus
relaciones, y es el SGBD quien se debe encargar de mantenerlas.
2.2.9.4.1.6. MEJORA EN LA SEGURIDAD:
La seguridad de la base de datos es la protección de la base de datos frente a usuarios no
autorizados. Sin unas buenas medidas de seguridad, la integración de datos en los
sistemas de bases de datos hace que éstos sean más vulnerables que en los sistemas de
ficheros.
68
2.2.9.4.1.7. MEJORA EN LA ACCESIBILIDAD A LOS DATOS:
Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que
permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea
necesario que un programador escriba una aplicación que realice tal tarea.
2.2.9.4.1.8. MEJORA EN LA PRODUCTIVIDAD:
El SGBD proporciona muchas de las funciones estándar que el programador necesita
escribir en un sistema de ficheros. A nivel básico, el SGBD proporciona todas las
rutinas de manejo de ficheros típicas de los programas de aplicación.
El hecho de disponer de estas funciones permite al programador centrarse mejor en la
función específica requerida por los usuarios, sin tener que preocuparse de los detalles
de implementación de bajo nivel.
2.2.9.4.1.9. MEJORA EN EL MANTENIMIENTO:
En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los
programas de aplicación que los manejan.
Esto hace que los programas sean dependientes de los datos, de modo que un cambio en
su estructura, o un cambio en el modo en que se almacena en disco, requiere cambios
importantes en los programas cuyos datos se ven afectados.
Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto
es lo que se conoce como independencia de datos, gracias a la cual se simplifica el
mantenimiento de las aplicaciones que acceden a la base de datos.
2.2.9.4.1.10. AUMENTO DE LA CONCURRENCIA:
En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder
simultáneamente a un mismo fichero, es posible que el acceso interfiera entre ellos de
modo que se pierda información o se pierda la integridad. La mayoría de los SGBD
gestionan el acceso concurrente a la base de datos y garantizan que no ocurran
problemas de este tipo.
2.2.9.4.1.11. MEJORA EN LOS SERVICIOS DE COPIAS DE SEGURIDAD:
Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas
necesarias para proteger los datos ante fallos en el sistema o en las aplicaciones. Los
69
usuarios tienen que hacer copias de seguridad cada día, y si se produce algún fallo,
utilizar estas copias para restaurarlos.
En este caso, todo el trabajo realizado sobre los datos desde que se hizo la última copia
de seguridad se pierde y se tiene que volver a realizar. Sin embargo, los SGBD actuales
funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se produce
un fallo.
2.2.9.4.2. DESVENTAJAS
2.2.9.4.2.1. COMPLEJIDAD:
Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran
funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar
un buen uso de ellos.
2.2.9.4.2.2. COSTE DEL EQUIPAMIENTO ADICIONAL:
Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir
más espacio de almacenamiento. Además, para alcanzar las prestaciones deseadas, es
posible que sea necesario adquirir una máquina más grande o una máquina que se
dedique solamente al SGBD. Todo esto hará que la implantación de un sistema de bases
de datos sea más cara.
2.2.9.4.2.3. VULNERABLE A LOS FALLOS:
El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más
vulnerable ante los fallos que puedan producirse. Es por ello que deben tenerse copias
de seguridad (Backup).14
2.2.9.5. TIPOS DE CAMPOS
Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o
diferentes. Entre los más comunes podemos nombrar:
Numérico: entre los diferentes tipos de campos numéricos podemos encontrar enteros
“sin decimales” y reales “decimales”.
Booleanos: Poseen dos estados: Verdadero “Si” y Falso “No”.
14
Wikipedia, la enciclopedia libre, página web,http://codima123.blogspot.com/2010/01/ventajas-y-desventajas-de-una-base-
de.html
70
Memos: Son campos alfanuméricos de longitud ilimitada. Presentan el
inconveniente de no poder ser indexados.
Fechas: Almacenan fechas facilitando posteriormente su explotación.
Almacenar fechas de esta forma posibilita ordenar los registros por fechas o
calcular los días entre una fecha y otra.
Alfanuméricos: Contienen cifras y letras. Presentan una longitud limitada (255
caracteres).
Auto incrementables: Son campos numéricos enteros que incrementan en una
unidad su valor para cada registro incorporado. Su utilidad resulta: Servir de
identificador ya que resultan exclusivos de un registro.
2.2.9.6. TIPOS DE BASE DE DATOS
Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:
MySql: es una base de datos con licencia GPL basada en un servidor. Se
caracteriza por su rapidez. No es recomendable usar para grandes volúmenes de
datos.
PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy
bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas
de gran calibre.
Access: Es una base de datos desarrollada por Microsoft. Esta base de datos,
debe ser creada bajo el programa access, el cual crea un archivo .mdb con la
estructura ya explicada.
Microsoft SQL Server: es una base de datos más potente que access
desarrollada por Microsoft. Se utiliza para manejar grandes volúmenes de
informaciones.
2.2.9.6.1. MODELO ENTIDAD-RELACIÓN
Los diagramas o modelos entidad-relación (denominado por su siglas, ERD “Diagram
Entity relationship”) son una herramienta para el modelado de datos de un sistema de
información. Estos modelos expresan entidades relevantes para un siste ma de
información, sus inter-relaciones y propiedades.
2.2.9.6.2. CARDINALIDAD DE LAS RELACIONES
El diseño de relaciones entre las tablas de una base de datos puede ser la siguiente:
71
Relaciones de uno a uno: una instancia de la entidad A se relaciona con una y
solamente una de la entidad B.
Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con
varias instancias de la entidad B.
Relaciones de muchos a muchos: cualquier instancia de la entidad A se
relaciona con cualquier instancia de la entidad B.15
2.2.9.7. SQLYOG
SQLYOG es una interfaz gráfica de usuario de herramientas para el RDBMS MySQL.
Una base de datos consiste en un conjunto de datos relacionados entre sí. Por
datos entendemos hechos conocidos que pueden registrarse y que tienen un
significado implícito. Pero la acepción común del término base de datos suele
ser más restringida. Una base de datos tiene las siguiente propiedades implícitas:
Una base de datos representa algún aspecto del mundo real, en ocasiones
llamadas mini mundo o universo de discurso.
Una base de datos es un conjunto de datos lógicamente coherente, con cierto
significado inherente. Una colección aleatoria de datos no puede considerarse
propiamente una base de datos.
Toda base de datos se diseña, construye y puebla con datos para un propósito
específico. Está dirigida a un grupo de usuarios y tiene ciertas aplicaciones
preconcebidas que interesan a dichos usuarios.
2.2.9.7.1 CARACTERÍSTICAS DE SQLYOG
Las características prominentes de SQLyog son:
Interfaz con pestañas para las conexiones. Las conexiones pueden dar un color
para la identificación.
Editor con resaltado de sintaxis y diversas opciones de formato automático.
Finalización de código inteligente.
Manipulaciones de datos (INSERT, UPDATE, DELETE) se puede hacer desde
una interfaz de hoja de cálculo. Ambos datos de las tablas primas y un conjunto
de resultados de una consulta puede ser manipulado.
Ricos menús contextuales, etc. para realizar tareas comunes sin tener que
escribir SQL.
15
Base de datos,Autor: Andrés Aizaga
72
Diseñador de esquemas visuales.
Visual Query Builder.
Formatter consulta.
Las opciones de conectividad: Cliente directo / servidor con MySQL API
(admite SSL), HTTP / HTTPS de túnel, túnel SSH.
Asistente impulsado Herramienta para la importación de datos desde bases de
datos ODBC.
Herramienta de copia de seguridad para realizar copias de seguridad
desatendidas. Las copias de seguridad se comprimen y almacenan
opcionalmente como un archivo por cada tabla, así como identificado con una
marca de tiempo.
"Programador de SQL y herramienta de informes" - una herramienta para
programar y automatizar la ejecución de cualquier secuencia de instrucciones
SQL. Resultado de las consultas se pueden enviar como informes en formato
HTML.
Esquema / Estructura Sincronización y datos.
Query Profiler y proveedores Índice redundante.
Todos los puestos de trabajo automatizados han correo alertas e informes
opciones.
Juego de caracteres completo / soporte Unicode.
Opcionalmente portátil. Todos los archivos utilizados por SQLyog se pueden
guardar en una unidad extraíble, etc.
A 'buscado' [4] función mediante una sintaxis de búsqueda de Google de tipo
traducido de forma transparente para el usuario para SQL.
Forma ver [5] para mostrar una fila a la vez - una gran manera de introducir /
modificar datos.
Búsqueda de claves foráneas.
2.2.9.7.2. PLATAFORMAS DE SQLYOG
SQL YOG trabaja en el de Windows a partir de la plataforma Windows XP / Windows
2003 a Windows 7 / Server 2008 (R2) (compatibilidad con Windows 9x/ME fue
eliminado en la versión 5.0 debido principalmente a la falta de compatibilidad con
Unicode en las primeras versiones de Windows y Windows 2000 se detuvo con el
apoyo la versión 8.6). También se ha hecho para trabajar bajo Linux y varios Unix
73
(incluyendo Mac OS X) con el vino medio ambiente. Además, un subconjunto de
SQLyog Enterprise / funcionalidades Ultímate están disponibles con la libre circulación
de SJA (agente SQLyog Trabajo) para Linux como un utilidad nativa en Linux. Esto
hace posible para especificar y probar "los trabajos programados en un entorno de
Windows y los parámetros del puerto de ejecución sin problemas a un entorno Linux.
2.2.9.7.3. ESPECIFICACIONES TÉCNICAS
Programado y desarrollado en C + + usando Win32 API. No hay dependencias en
tiempo de ejecución (. NET, Java, etc.)
Utiliza MySQL C API para comunicarse con los servidores MySQL. No hay
dependencias en " capas de abstracción de bases de datos "(como ODBC / JDBC).
Utiliza SQLite para almacenar datos internos como la configuración de la cuadrícula.
Por consiguiente, estos ajustes son persistentes entre sesiones sobre una base por
tabla.1617
2.2.9.8. WAMP SERVER
Figura 38.Wamp Server
WampServer (acrónimo formado por Windows, Apache, MySQL y PHP) es un
entorno de desarrollo web con el que podrás instalar fácilmente un servidor Apache son
soporte PHP y gestión de bases de datos MySQL en tu computadora.
16
http://descargar.k77.eu/programas/descargas/sqlyog.php 17
http://sqlyog-py4.softbull.com/
74
Se instala automáticamente y no requiere configuraciones avanzadas para su
funcionamiento. Una vez instalado, deberás colocar tus sitios web en la carpeta “www”
(ubicado por defecto en C:\wamp\www). Para acceder al servidor escribir la dirección
http://localhost en cualquier navegador web: Firefox, Internet Explorer, Chrome, etc.
2.2.9.8.1. CARACTERÍSTICAS DE WAMPSERVER:
Con este programa podrás:
Pre visualizar sitios web localmente
Instalar un servidor web en Windows
Administrar configuraciones de servidores Apache
Crear aplicaciones web
Gestionar bases de datos MySQL
Utilizar lenguaje PHP
Ejecutar archivos .php localmente
Realizar pruebas con sitios PHP antes de subirlos a Internet
2.2.9.8.2. REQUERIMIENTOS DE WAMPSERVER:
Configuraciones mínimas de software y hardware:
Windows NT/98/Me/2000/2003/XP/Vista
Privilegios de administrador
2.2.9.8.3. NOVEDADES DE WAMPSERVER:
Nueva versión MySQL 5.1.36
Pequeñas correcciones en el archivo php.ini
Nueva versión phpMyAdmin 3.2.0.118
18
Wamp Server,Autor:Romain Bourdon(2009)
75
CAPÍTULO III
3. MARCO METODOLÓGICO
3.1. MODALIDAD DE LA INVESTIGACIÓN
3.1.1 INVESTIGACIÓN CUANTITATIVA
Esta modalidad de investigación trata de describir, contextualizar o explicar con
técnicas estadísticas el objeto de estudio. Parte de las técnicas inductivas (razonamiento
que se desarrolla de los casos particulares hasta la generalización). En nuestro caso las
muestras han sido representativas con relación al universo que han permitido la
evaluación del proceso.
3.2. TIPOS DE LA INVESTIGACIÓN
En el desarrollo de todo proyecto es fundamental conocer el tipo de investigación a
realizar, pues esto define como resolver de forma científica el problema planteado.
La metodología del proyecto incluyó la técnica y el procedimiento cuantitativo que se
utilizó para llevar a cabo la investigación, es decir, “cómo” se realizó el estudio para así
responder al problema planteado. La investigación realizada fue del tipo siguiente:
3.2.1 BIBLIOGRÁFICA
Este tipo de investigación ha permitido fundamentar científicamente las variables de la
presente tesis y se utiliza para elaborar el marco teórico.
3.2.2 DE CAMPO
Con este tipo de investigación se ha podido valorar la problemática y ratificarla y luego
nos orienta a una propuesta de solución.
3.2.3 DESCRIPTIVA
Se la utilizó para el análisis, se logró caracterizar un objeto de estudio, señalar sus
características y necesidades para desarrollar esta tesis.
3.3. METODOS Y TECNICAS DE INSTRUMENTOS
Para obtener mejores resultados se ha seleccionado el método inductivo – deductivo.
Este método permite mediante ambas formas de inferencia alcanzar el mismo propósito
aun cuando el punto de partida sea diferente.
76
3.3.1. INSTRUMENTOS DE LA INVESTIGACIÓN
3.3.1.1. MÉTODOS
3.3.1.1.1. MÉTODO CIENTÍFICO
El método científico es un proceso destinado a explicar fenómenos, establecer
relaciones entre los hechos y enunciar leyes que expliquen los fenómenos físicos del
mundo y permitan obtener, con estos conocimientos, aplicaciones útiles al hombre.
Los científicos emplean el método científico como una forma planificada de trabajar.
Sus logros son acumulativos y han llevado a la Humanidad al momento cultural actual.
3.3.1.1.2. METODO BIBLIOGRÁFICO
El método biográfico es la utilización sistemática de documentos que reflejan la vida de
una persona, momentos especiales de ella o aspectos destacados. Las experiencias
personales de científicos, artistas, dirigentes u otras personas sobresalientes, suelen
reflejar tanto la vida como el contexto histórico-social en el que la obra de esa persona
cobra sentido.
3.3.1.1.3. MÉTODO DEDUCTIVO
El método deductivo es un método científico que considera que la conclusión se halla
implícita dentro las premisas. Esto quiere decir que las conclusiones son una
consecuencia necesaria de las premisas: cuando las premisas resultan verdaderas y el
razonamiento deductivo tiene validez, no hay forma de que la conclusión no
sea verdadera.
3.3.1.1.4. MÉTODO INDUCTIVO
El método inductivo o inductivismo es aquel método científico que obtiene
conclusiones generales a partir de premisas particulares. Se trata del método científico
más usual, en el que pueden distinguirse cuatro pasos esenciales: la observación de los
hechos para su registro; la clasificación y el estudio de estos hechos; la derivación
inductiva que parte de los hechos y permite llegar a una generalización; y la
contrastación.
3.3.1.2. TÉCNICAS
Las técnicas para recopilar información durante esta investigación son:
77
3.3.1.2.1. LA ENCUESTA
Que consiste en investigar la sintomatología en base a una serie de preguntas
relacionadas con las dificultades que atraviesa la institución.
3.3.1.2.2. LA ENTREVISTA
Es una indagación directa con una persona directamente relacionada con el problema,
en nuestro caso lo podremos hacer con el director. Finalmente.
3.3.1.2.3. LA OBSERVACIÓN
Que permitirá evaluar los procesos de la manera visual. Además se realizara estadísticas
descriptivas en la tabulación de los parámetros estadísticos de la información.
3.3.1.3. INSTRUMENTOS
Se utilizaran los siguientes instrumentos en las técnicas mencionadas anteriormente:
Cuestionarios, se utilizaran para las encuestas respectivas (en el anexo las
preguntas que se han realizado en el cuestionario).
Libreta de Datos, (registrara los sucesos especiales en la observación de los
procesos).
3.3.1.4. RECURSOS
3.3.1.4.1. RECURSOS HUMANOS
Ana Mercedes Aliaga Farro
Dalia Ofelia Ahytong Ramos
3.3.1.4.2. TÉCNICOS
Internet
Computadora de un Procesador intel(R) Core(TM) i3 cpu
Memoria Ram 3,00 GB
Disco duro 540
Windows 7
3.3.1.4.3. MATERIALES
Hojas
Lapiceros
Computadora
Impresora
78
Pendrive
Folletos de Información
3.3.1.4.4. ECONÓMICOS
Recursos Costos
Computadora $1200.00
Internet $ 180.00
Hojas A4 $ 10.00
Impresora $ 140.00
Tinta $ 75.00
Pendrive $ 12.00
Accesorios Varios $ 25.00
Total de gastos $1642.00
Tabla 1. Económicos
3.3.1.5. INSTRUMENTOS (ENCUESTA)
3.3.1.5.1. DIRIGIDA A: Al dueño, a las empleadas y a los clientes del almacén “la
economía”.
3.3.1.5.2. OBJETIVO: Obtener información de manera que se permita conocer la
situación desde diferentes puntos de vista: administrativo, laboral, económico y social.
1.- ¿Cómo gerente del almacén considera importante la implementación de este sistema
computarizado para el manejo de las ventas en el almacén?
Si
No
Le es indiferente
2.- ¿Usted cree que se les haría fácil a las empleadas adaptarse al manejo de este sistema
computarizado?
Si
No
Le es indiferente
79
3.- ¿Cree usted que al implementarse este sistema el número de las ventas aumentarían
en el almacén?
Sí
No
4.- ¿Está de acuerdo con los beneficios que le brinda y que se registran en este sistema
de información gerencial para el uso del almacén?
Si
No
Tal vez
Sería complicado
5.- ¿Cree que con este sistema el cliente se sienta más satisfecho al realizar sus compras
ya que estas sean de manera rápida y sencilla?
Si
No
6.- ¿Como cliente se sentirá satisfecho con la nueva atención brindada de parte del
personal del almacén al ser despachada de inmediato sus compras por medio de este
sistema computarizado?
Si
No
Tal vez
7.- ¿Con este sistema implementado cree que se ahorraría tiempo y no habría retraso ni
confusión de valores al momento de cancelar sus compras?
Sí
No
8.- ¿Considera usted que es buena la forma de almacenar los datos en una base de datos
de las ventas realizadas en el almacén?
Si
No
80
Tal vez
Excelente
9.- ¿Cree que con este sistema implementado se les haría más fácil a las empleadas al
momento de facturar sus compras?
Si
No
10.-¿Considera usted una buena oportunidad para que el almacén tenga un mejor
crecimiento con la implementación de este sistema?
Si
No
Tal vez
3.4. POBLACIÓN Y MUESTRA DE LA INVESTIGACIÓN
3.4.1. POBLACIÓN
Tabla 2. Población
3.4.2. MUESTRA:
( )
Dónde:
N: total de la población
: 1.6 al cuadrado (si la seguridad es del 95%)
P: Proporción esperada (a este caso 5%=0.5)
q: 1-P (en este caso 1-0.05=0.95)
Tipo de función # de personas
Propietario 1
Empleados 3
Clientes 100
Total de Población 104
81
d: Precisión de la investigación 5%
( ) ( ) ( )
3.3. ANÁLISIS E INTERPRETAVION DE RESULTADOS
Basado en la metodología, el propósito del análisis es resumir las observaciones
llevadas a cabo de forma tal que proporcionen respuestas a las interrogantes de la
investigación para lo cual hemos considerado dentro del análisis que el sistema cumpla
con una manipulación de los datos y así obtener buenos resultados ofreciendo toda la
información disponible para quienes lo vallan a manejar.
Además, comprende de un buen manejo en el que el usuario pueda tener un mejor
desempeño, ya que son miles las pruebas distintas que se pueden solicitar en el
almacén. La sencillez se puede lograr mediante plantillas, perfiles o protocolos
diagnósticos y un sistema eficiente de búsqueda de inquietudes del usuario.
El diseño del sistema de petición tendrá un gran impacto en lo que se podrá lograr
buenos resultados debido al buen manejo del usuario.
A partir de la muestra y la información se realizan las determinaciones correspondientes
y se obtiene un resultado técnicamente correcto.
1.- ¿Cómo gerente del almacén considera importante la implementación de este
sistema computarizado para el manejo de las ventas en el almacén?
Si No Le es indiferente Total
Frecuencia 1 0 0 1
Porcentaje 1 0 0 100%
Tabla 3. Pregunta1
82
Figura 39. Pregunta 1
De esta forma que estamos observando el grafico nos daremos cuenta que el gerente si
considera que es importante que se realicen un buen control de las ventas para no tener
problemas durante de realizar una información detallada de las ventas realizadas en
todo el mes.
2.- ¿Usted cree que se les haría fácil a las empleadas adaptarse al manejo de este
sistema computarizado?
Tabla 4. Pregunta 2
Figura 40. Pregunta 2
Si No Le es indiferente Total
Frecuencia 40 20 8 68
Porcentaje 0.59 0.29 0.12 100%
83
En la tendencia que fue mayoritaria como podemos apreciar que en la gráfica que a las
empleadas si pueden adaptarse al menejo del sistema en el almacen.
3.- ¿Cree usted que al implementarse este sistema el número de las ventas
aumentarían en el almacén?
Tabla 5. Pregunta 3
Figura 41. Pregunta 3
En esta grafica nos damos cuenta que si están de acuerdo en que aumente las ventas por
la facilidad que habrá para realizar su trabajo y no tener ningún inconveniente al
momento de realizar respectivo.
4.- ¿Está de acuerdo con los beneficios que le brinda y que se registran en este
sistema de información gerencial para el uso del almacén?
Si No Tal vez Sería complicado Total
Frecuencia 25 20 10 13 68
Porcentaje 0.36 0.29 0.14 0.19 100%
Tabla 6. Pregunta 4
Si No Total
Frecuencia 50 18 68
Porcentaje 0.73 0.26 100%
84
Figura 42. Pregunta 4
En este grafico se refleja que el 0.41% que si hay un buen beneficio para el cliente para
ser unos de los mejores en el almacén ya que el cliente es lo más importante y hay que
atenderlos de lo mejor que quede satisfecho.
5.- ¿Cree que con este sistema el cliente se sienta más satisfecho al realizar sus
compras ya que estas sean de manera rápida y sencilla?
Tabla 7. Pregunta 5
Figura 43. Pregunta 5
Si No Total
Frecuencia 50 18 68
Porcentaje 0.73 0.26 100%
85
En esta grafica nos damos cuenta que el 0.73% de los clientes si están de acuerdo, en la
facilidad que habrá para ser realizada sus compras de forma rápida y sencilla.
6.- ¿Como cliente se sentirá satisfecho con la nueva atención brindada de parte del
personal del almacén al ser despachada de inmediato sus compras por medio de
este sistema computarizado?
Si No Tal vez Total
Frecuencia 42 10 16 68
Porcentaje 0.61 0.14 0.23 100%
Tabla 8. Pregunta 6
Figura 44. Pregunta 6
En el grafico se demuestra que se siente satisfecho con la buena atención que se les
brinda al cliente, en los precios de la mercadería que se vende para darles a conocer que
la ropa que se vende es de un precio muy económico al de los otros almacenes que les
ofrece y que el cliente quede satisfecho y regrese otro día para atenderlo de la mejor
forma posible.
7.- ¿Con este sistema implementado cree que se ahorraría tiempo y no habría
retraso ni confusión de valores al momento de cancelar sus compras?
Tabla 9. Pregunta 7
Si No Total
Frecuencia 50 18 68
Porcentaje 0.73 0.26 100%
86
Figura 45. Pregunta 7
En este grafico desarrollado nos damos cuenta que si se ahorraría tiempo en la atención
al cliente para que así ellos estén satisfechos en el momento de cancelar sus prendas y
exista ninguna confusión.
8.- ¿Considera usted que es buena la forma de almacenar los datos en una base de
datos de las ventas realizadas en el almacén?
Si No Tal vez Excelente Total
Frecuencia 25 15 5 23 68
Porcentaje 0,36 0,22 0.07 0,33 100%
Tabla 10. Pregunta 8
Figura 46. Pregunta 8
87
En este grafico se refleja que si sería bueno almacenar los datos del cliente por que
puede haber algún inconveniente en las prendas vendidas para que el cliente realice la
devolución de las prendas con su factura.
9.- ¿Cree que con este sistema implementado se les haría más fácil a las empleadas
al momento de facturar sus compras?
Si No Total
Frecuencia 40 28 68
Porcentaje 0.59 0.41 100%
Tabla 11. Pregunta 9
Figura 47. Pregunta 9
En la tendencia que fue mayoritaria como podemos apreciar que en la gráfica que el
0,59% que si se les haria facil a las empleadas en el momento de realizar su factura
seria de forma rapida y sencilla para las ventas del almacen.
10.- ¿Considera usted una buena oportunidad para que el almacén tenga un mejor
crecimiento con la implementación de este sistema?
Si No Tal vez Total
Frecuencia 25 20 23 68
Porcentaje 0.37 0.29 0.34 100%
Tabla 12. Pregunta 10
88
Figura 48. Pregunta 10
De esta manera se refleja que si se considera que se tenga un buen crecimiento por que
con este sistema se les haría fácil y ahorrar tiempo en el momento de facturar todas las
ventas realizadas en el almacén.
89
3.5. CONCLUSIONES Y RECOMENDACIONES
3.5.1. CONCLUSIONES
Durante el diagnóstico y análisis de la problemática en el almacén, nos hemos
dado cuenta de que se lleva la información de las ventas realizadas de forma
manuscrita e insegura, donde se debería contener un sistema en que permita
gestionar de manera rápida y sencilla las ventas.
Es esta la situación por lo que el almacén se encuentra en estados críticos al no
contar con un sistema computarizado que rinda con resultados de información
detallada de las ventas y un control estable para que no existan pérdidas
económicas.
Debido al sin número de inconvenientes que se ocasionan manualmente, se
manifiesta que es necesario implantar para una mayor efectividad un sistema
automatizado para el control de las ventas diarias el cual agilizará de manera
eficiente este proceso, ya que permitirá tanto al gerente como a las empleadas
brindar un servicio adecuado sin complicaciones, y de una manera eficaz y
eficiente.
Ya que este sistema facilitará el almacenamiento y la búsqueda rápida de los
datos de las prendas, disminuyendo el consumo de papel, ahorrando tiempo y
brindándole una buena atención al cliente.
Y de esta manera mejorar el tiempo de respuesta de acuerdo a la necesidad que
existe en el almacén como: guardar datos, modificar datos, eliminar datos,
consultas generales, consultas específicas, reportes y facturación.
Este proyecto además garantizara el acceso a la información de forma segura a
través de este sistema computarizado que será de fácil uso para que el personal
recomendado lo pueda utilizar y tendrá disponibilidad a todo tiempo.
90
3.5.2. RECOMENDACIONES
Entre las recomendaciones resultantes de esta propuesta podemos mencionar:
Se recomienda al gerente se permita la implementación de nuestro proyecto para
darle el uso conveniente y pueda funcionar eficientemente realizando los
servicios de almacenamiento que contiene.
Para que la implementación del sistema sea 100% efectiva, es recomendable que
se maneje con gran responsabilidad y conocimientos para evitar fallas en el
sistema.
Contar con un profesional independiente, que estudie las necesidades y
supervise la implementación del sistema con el equipo para garantizar el éxito
obtenido.
No ingresar claves incorrectas al sistema.
Mantener el antivirus actualizado para evitar algún contagio en el sistema
implementado en el almacén.
Tener un respaldo de la base de dato s mensualmente como mínimo.
Se recomienda capacitar al personal que utilizara el sistema que va hacer
implementado para las diferentes actividades que se realizan en el almacén y de
esa manera no tener inconvenientes al momento de usarlo.
91
CAPITULO IV
4. DESARROLLO TÉCNICO DE LA INVESTIGACIÓN
4.1. INTRODUCCIÓN
Este Sistema admitirá controlar el avance correcto de ventas en el almacén ya que son
importantes para agilizar los procesos de una empresa.
Este software está desarrollado en “PHP RUNNER”, una aplicación sencilla y fácil de
manejar contando con complementos útiles para la programación de páginas dinámicas;
estableciendo conexiones hacia las bases de datos con mayor agilidad y rapidez. La
aplicación WEB ha sido desarrollada con el fin de automatizar y agilizar el control de
las actividades internas y externas que se realizan en el almacén.
Esta aplicación consiste en el registro, actualización, consulta y asignación de
información, previamente obtenidos e ingresados en forma ordenada para obtener una
mejor forma de acceder al registro.
La aplicación WEB va dirigida para el uso del personal administrativo, para brindar
todas las posibilidades a quienes usen este sistema y de la misma manera brindar una
mejor atención al cliente.
Este sistema que ha sido desarrollado para mejorar las actividades realizadas en este
almacén, tendrá un manejo fácil y a la vez sencillo de emplear.
4.2. ANÁLISIS PREVIO
Gastos de administración.
El análisis y la evaluación del sistema se puede dar por:
Determinación de requerimientos.
Definición de la frontera del sistema.
4.3. DISEÑO
Los requerimientos del software para el sistema es el siguiente:
Requerimientos de Hardware
Disco Duro 320 GB
Memoria 4 GB
Procesador 1.60GHz
DVD RW
Monitor
92
Teclado
Mouse
Impresora
Requerimientos del Software
Microsoft Windows 7
SqlYou Enterprise
WampServer 5.0
Internet Explorer
PHPRunner
Las funciones que tendrá el software son las siguientes:
Manejo de Usuario
Crear nuevo usuario
Editar Usuario
Eliminar Usuario
Guardar Usuario
Registros
Sección
Categoría
Talla
Movimientos Diarios
Facturación
Devolución en Compra
Datos Personales
Vendedor
Ubicación Geográfica
Provincia
Ciudad
93
Reportes
Reportes Ventas Diarias
Reportes Stock de Niños
Reportes Stock de Damas
Reporte Stock de Caballeros
Reporte de Devolución de Compra
Inventarios
Añadir nuevo
Guardar
4.3.1. BASE DE DATOS
4.3.1.1. MODELO FÍSICO – MODELO ENTIDAD DE RELACIÓN
4.3.1.1.1. MODELO FÍSICO
Figura 49. Modelo Físico
94
4.3.1.1.2. MODELO ENTIDAD DE RELACIÓN
Figura 50. Modelo Entidad de Relación
4.3.1.1.3. DICCIONARIO DE DATOS
Categorías
Campo Tipo Nulo Predeterminado Comentarios
cod_categorias int(11) Sí NULL
cod_seccion int(11) Sí NULL
nom_categori varchar(30) Sí NULL
Tabla 13. Categorías
Ciudad
Campo Tipo Nulo Predeterminado Comentarios
cod_ciudad int(11) Sí NULL
cod_provincia int(11) Sí NULL
Ciudad varchar(30) Sí NULL
Tabla 14. Ciudad
95
Detalle_factura
Tabla 15. Detalle_factura
Devolución_compras
Tabla 16. Devolución_compras
Campo Tipo Nulo Predeterminado Comentarios
cod_factura int(11) Sí NULL
cod_prenda int(11) Sí NULL
Descripción varchar(50) Sí NULL
Cantidad int(2) Sí NULL
precio_unitario Decimal(10,2) Sí NULL
descuento decimal(10,2) Sí NULL
Subtotal decimal(10,2) Sí NULL
total decimal(10,2) Sí NULL
Campo Tipo Nulo Predeterminado Comentarios
cod_devolucion int(11) Sí NULL
cod_factura int(11) Sí NULL
cod_prenda varchar(11) Sí NULL
Fecha Date Sí NULL
cliente varchar(25) Sí NULL
cod_usuario int(11) Sí NULL
Descripción varchar(30) Sí NULL
Cantidad int(2) Sí NULL
Precio Float Si NULL
Total Float Si NULL
96
Facturación
Tabla 17. Facturación
Ingresos
Tabla 18. Ingresos
Inventarios
Campo Tipo Nulo Predeterminado Comentarios
Idfactura int(11) Sí NULL
Usuario varchar(15) Sí NULL
Fecha Date Sí NULL
Cedula_ruc varchar(10) Sí NULL
clientes varchar(35) Sí NULL
telefono int(10) Sí NULL
Direccion varchar(40) Sí NULL
Campo Tipo Nulo Predeterminado Comentarios
Cod_ventas int(11) Sí NULL
Fecha Date Sí NULL
Cod_factura Int(11) Sí NULL
Cod_usuario Int(11) Sí NULL
Campo Tipo Nulo Predeterminado Comentarios
Cod_producto int(11) Sí NULL
Cod_talla int(11) Sí NULL
Fecha_ingreso Date Sí NULL
Descripción varchar(50) Sí NULL
Stock Int(4) Sí NULL
Dscto Decimal(10,2) Sí NULL
Valor Decimal(10,2) Sí NULL
Estado varchar(10) Sí NULL
Cod_seccion Int(11) Sí NULL
Cod_categoria Int(11) Sí NULL
Color varchar(35) Sí NULL
Nuevo_valor Int(4) Sí NULL
Tabla 19. Inventarios
97
Prenda
Tabla 20. Prenda
Provincia
Tabla 21. Provincia
Sección
Tabla 22. Sección
Talla
Tabla 23. Talla
Campo Tipo Nulo Predeterminado Comentarios
Cod_prenda int(11) Sí NULL
Cod_seccion Int(11) Sí NULL
Cod_categoria Int(11) Sí NULL
Campo Tipo Nulo Predeterminado Comentarios
Cod_provincia int(11) Sí NULL
Provincia Varchar(30) Sí NULL
Campo Tipo Nulo Predeterminado Comentarios
Cod_seccion int(11) Sí NULL
Sección Varchar(15) Sí NULL
Campo Tipo Nulo Predeterminado Comentarios
Cod_talla int(11) Sí NULL
Cod_seccion int(11) Sí NULL
Talla Varchar(10) Sí NULL
98
Vendedor
Tabla 24. Vendedor
4.3.1.1.4. SCRIPT DE LA BASE DE DATOS
CREATE TABLE `categorias` (
`cod_categoria` int(11) NOT NULL auto_increment,
`cod_seccion` int(11) default NULL,
`nom_categoria` varchar(30) default NULL,
PRIMARY KEY (`cod_categoria`)
)
CREATE TABLE `ciudad` (
`cod_ciudad` int(11) NOT NULL auto_increment,
`cod_provincia` int(11) default NULL,
`ciudad` varchar(30) default NULL,
Campo Tipo Nulo Predeterminado Comentarios
Cod_usuario int(11) Sí NULL
Usuario varchar(20) Sí NULL
Cedula int(10) Sí NULL
Nombre varchar(30) Sí NULL
Provincia varchar(30) Sí NULL
Ciudad varchar(30) Sí NULL
Clave varchar(32) Sí NULL
Fecha_naciminento date Sí NULL
Dirección varchar(30) Sí NULL
Teléfono Int(10) Sí NULL
Tipo varchar(15) Sí NULL
Estado varchar(10) Sí NULL
Alias varchar(30)
99
PRIMARY KEY (`cod_ciudad`)
)
CREATE TABLE `detalle_factura` (
`cod_factura` int(11) default NULL,
`cod_prenda` int(11) default NULL,
`descripcion` varchar(50) default NULL,
`cantidad` int(2) default NULL,
`precio_unitario` decimal(10,2) default NULL,
`descuento` decimal(10,2) default NULL,
`subtotal` decimal(10,2) default NULL,
`total` decimal(10,2) default NULL
)
CREATE TABLE `devolucion_compra` (
`cod_devolucion` int(11) NOT NULL auto_increment,
`cod_factura` int(11) default NULL,
`cod_prenda` varchar(11) default NULL,
`fecha` date default NULL,
`cliente` varchar(25) default NULL,
`cod_usuario` int(11) default NULL,
`descripcion` varchar(30) default NULL,
`cantidad` int(2) default NULL,
`precio` float default NULL,
`total` float default NULL,
100
PRIMARY KEY (`cod_devolucion`)
)
CREATE TABLE `facturacion` (
`idfactura` int(11) unsigned zerofill NOT NULL,
`usuario` varchar(15) default NULL,
`fecha` date default NULL,
`cedula_ruc` varchar(10) default NULL,
`clientes` varchar(35) default NULL,
`telefono` int(10) default NULL,
`direccion` varchar(40) default NULL,
PRIMARY KEY (`idfactura`)
)
CREATE TABLE `ingresos` (
`cod_ventas` int(11) NOT NULL auto_increment,
`fecha` date default NULL,
`cod_factura` int(11) default NULL,
`cod_usuario` int(11) default NULL,
PRIMARY KEY (`cod_ventas`)
)
CREATE TABLE `inventario` (
`cod_producto` int(11) NOT NULL auto_increment,
`cod_talla` int(11) default NULL,
`fecha_ingreso` date default NULL,
101
`descripcion` varchar(50) default NULL,
`stock` int(4) default NULL,
`dscto` decimal(10,2) default NULL,
`valor` decimal(10,2) default NULL,
`estado` varchar(10) default NULL,
`cod_seccion` int(11) default NULL,
`cod_categoria` int(11) default NULL,
`color` varchar(35) default NULL,
`nuevo_valor` int(4) default NULL,
PRIMARY KEY (`cod_producto`)
)
CREATE TABLE `prenda` (
`cod_prenda` int(11) NOT NULL auto_increment,
`cod_seccion` int(11) default NULL,
`cod_categoria` int(11) default NULL,
PRIMARY KEY (`cod_prenda`)
)
CREATE TABLE `seccion` (
`cod_seccion` int(11) NOT NULL auto_increment,
`seccion` varchar(15) default NULL,
PRIMARY KEY (`cod_seccion`)
)
CREATE TABLE `talla` (
102
`cod_talla` int(11) NOT NULL auto_increment,
`cod_seccion` int(11) default NULL,
`talla` varchar(10) default NULL,
PRIMARY KEY (`cod_talla`)
)
CREATE TABLE `vendedor` (
`cod_usuario` int(11) unsigned NOT NULL auto_increment,
`usuario` varchar(20) default NULL,
`cedula` int(10) default NULL,
`nombre` varchar(30) default NULL,
`provincia` varchar(30) default NULL,
`ciudad` varchar(30) default NULL,
`clave` varchar(32) default NULL,
`fecha_nacimiento` date default NULL,
`direccion` varchar(30) default NULL,
`telefono` int(10) unsigned zerofill default NULL,
`tipo` varchar(15) default NULL,
`estado` varchar(10) default NULL,
`alias` varchar(30) default NULL,
PRIMARY KEY (`cod_usuario`)
)
103
4.3.1.1.5. DIAGRAMA DE CASO DE USO
Vendedor Cliente
Figura 51. Diagrama caso de uso vendedor
Administrador
Figura 52. Diagrama caso de uso administrador
Registra
prendas
Generar factura
Realiza ventas
Registra datos del empleado
Realiza entrada y salida de mercadería
Elabora reportes de ventas diarias
104
4.3.1.1.6. DIAGRAMA DE SECUENCIA
Figura 53. Diagrama de secuencia
4.3.1.1.7. DIAGRAMA DE ACTIVIDAD
Controla
Figura 54. Diagrama de actividad
Vendedora Realiza Ventas
Registro
Cliente
Administrador
Genera Posee
Factura
105
4.3.1.1.8. DIAGRAMA DE DESPLIEGUE
Servidor
Figura 55. Diagrama de despliegue
4.4. DISEÑO DE INTERFACES
Pantalla principal del administrador
Esta pantalla nos muestra todo el menú que maneja el sistema en lo que concierne al
administrador que es quien lleva el control de las acciones a realizarse.
Administrador
Cuenta de
usuario
Host
Añadir, modificar, eliminar,
consultar, guardar: Administrador
Añadir, modificar, eliminar,
consultar, guardar: Vendedoras
Añadir, modificar, eliminar,
consultar, guardar: Facturas
Añadir, modificar, eliminar,
consultar, guardar: Ventas
Añadir, modificar, eliminar,
consultar, guardar: clientes
106
Figura 56. Diseño de Interfaces
4.4.1. DISEÑO DE SALIDAS
Aquí nos permite visualizar todos los datos que va a tener el inventario en el stock de
las ventas a realizarse.
Figura 57. Diseño de Salidas
Esta pantalla muestra la factura que se realiza al cliente ingresando sus datos personales
y el detalle de la prenda, y al momento de dar clic en el botón imprimir su factura es
impresa.
107
Figura 58. Diseño de Salidas
4.5. DESARROLLO
ACCESO AL SISTEMA
Código:
Funciones creadas en Javascript
Función verificar cedula
function validarcedula(sval)
{var regexp=/[0-9]/;if(!sval.match(regexp))
{return'Este campo requiere solo numeros';}
else
{var
cedula=sval;array=cedula.split("");num=array.length;if(num=
=10)
{total=0;digito=(array[9]*1);for(i=0;i<(num-1);i++)
{mult=0;if((i%2)!=0)
108
{total=total+(array[i]*1);}
else
{mult=array[i]*2;if(mult>9)
total=total+(mult-9);else
total=total+mult;}}
decena=total/10;decena=Math.floor(decena);decena=(decena+1)
*10;final=(decena-
total);if((final==10&&digito==0)||(final==digito))
{return true;}
else
{return'El último digito verificador deber ser:'+final;}}
else
{return'El campo requiere 10 digitos';
}}}
Función verificar solo letras
function validarletras(sVal)
{var regexp=/[A-z Ñ-ñ]*$/;if(!sVal.match(regexp))
return'Este campo requiere solo Letras';else
return true;}
Función verificar solo números
function validarletras(sVal)
109
{var regexp=/[0-9]*$/;if(!sVal.match(regexp))
return'El campo debe ser numérico';else
return true;}
Eventos programados en las siguientes tablas:
Acceso al Sistema
Código:
global $conn;
$strSQLExists = "select * from vendedor where
usuario='$username' and
clave=('$password') and estado='Inactivo'";
$rsExists = db_query($strSQLExists,$conn);
$data=db_fetch_array($rsExists);
if($data)
{
$message="<div class='message duplicado'><font color=red>
¡Usuario Inactivo!</font></div>";
return false;
}
else
{
$strSQLExists = "select * from vendedor where
usuario='$username' and
clave=('$password') and estado='Activo'";
110
$rsExists = db_query($strSQLExists,$conn);
$data=db_fetch_array($rsExists);
if($data)
{
return true;
}
else
{
$message="<div class='message duplicado'><font color=red>
Usuario/Password Incorrectos</font></div>";
return false;
}}
Facturación
Código en PHP:
<html>
<head>
<title>Facturacion</title>
<link href="styles/style.css" rel="stylesheet"
type="text/css">
<body>
<script type="text/javascript"
src="validaciones/validaciontext.js"></script>
<?php
111
$hoy=date("Y-m-d:H:i:s");
$xbtnguardar=$_REQUEST['btnguardar'];
$xidfactura=$_REQUEST['txtidfactura'];
$xvendedor=$_REQUEST['txtidvendedor'];
$xfecha=$_REQUEST['txtfecha'];
$xruc=$_REQUEST['txtruc'];
$xtelefono=$_REQUEST['txttelefono'];
$xcliente=$_REQUEST['txtcliente'];
$xdireccion=$_REQUEST['txtdireccion'];
$idusuario=$_GET['iduser'];
echo "<form name=formulario
action='facturacion.php?iduser=$idusuario' method=post >";
if($xbtnguardar=="Guardar")
{
$yitem=0;
$yitem=$_REQUEST['f1_1'];
if($yitem=="1")
{
require('conexion.php');
$xconsult=mysql_query("select * from facturacion where
idfactura='$xidfactura'",$conex);
$xrespuesta=mysql_num_rows($xconsult);
if ($xrespuesta==0)
{
112
if ($xruc==0)
{
$xruc='0000000000';
}
if(strlen(ltrim($xcliente))==0)
{
$xcliente='Consumidor Final';
}
if(strlen(ltrim($xdireccion))==0)
{
$xdireccion='S/N';
}
$xinsert=mysql_query("insert into
facturacion(idfactura,usuario,fecha,cedula_ruc,clientes,tel
efono,direccion)
values('$xidfactura','$xvendedor','$xfecha','$xruc','$xclie
nte','$xtelefono','$xdireccion')",$conex);
$xregistro=mysql_query($xinsert);
for($i=1;$i<25;$i++)
{
$yidproducto=$_REQUEST['f'. $i .'_2'];
$ydescripcion=$_REQUEST['f'. $i .'_3'];
$ycantidad=$_REQUEST['f'.$i.'_4'];
$ydescuento=$_REQUEST['f'. $i .'_5'];
113
$yprecio=$_REQUEST['f'. $i .'_6'];
$ysubtotal=$_REQUEST['f'. $i .'_7'];
/*echo "<script>alert( $yprecio)</script>";*/
if ($yidproducto>0)
{
$yinsert=mysql_query("insert into
detalle_factura(cod_factura,cod_prenda,descripcion,cantidad
,precio_unitario,descuento,subtotal)
values('$xidfactura','$yidproducto','$ydescripcion','$ycant
idad','$yprecio','$ydescuento','$ysubtotal')",$conex);
$yregistro=mysql_query($yinsert);
$yupdatestock=mysql_query("update inventaio set
stock=stock-$ycantidad where
cod_producto='$yidproducto'",$conex);
}
}
}//aqui repetido
echo "<script> alert('Se ha impreso su Factura');
</script>";
echo "<script language='JavaScript'>";
echo
"window.open('factura_imprimir.php?idfacturar=$xidfactura')
;";
echo "</script>";
}
else
114
{
echo "<script> alert('Seleccione un articulo'); </script>";
}
}
//else
//{
//echo "<script>alert('xxxx');
//}
echo "<table border=1 width=100% cellspacing=5
bordercolor='#228B22'>";
echo "<tr><td width=100 class=items style=background-
color:#FFFFFF>Factura:</td><td style=background-
color:#FFFFFF><input type=text class=textboxidfactura
name=txtidfactura maxlenght=10 readonly=true></td></tr>";
echo "<tr><td width=100 class=items style=background-
color:#FFFFFF>Vendedor:</td><td style=background-
color:#FFFFFF><input type=text name=txtidvendedor
maxlenght=25 readonly=true></td></tr>";
echo "<tr><td width=100 class=items style background-
color:#FFFFFF>Fecha:</td><td style=background-
color:#FFFFFF><input type=text name=txtfecha value=$hoy
readonly=true ></td></tr>";
echo "<tr><td width=100 class=items style=background-
color:#FFFFFF>Id/Ruc:</td><td><input type=text name=txtruc
maxlength=13 onkeypress=' return
soloNumeros(event);'></td><td>Telefono:</td><td
colspan=5><input type=text name=txttelefono maxlength=10
onkeypress='return soloNumeros(event);'></td></tr>";
115
echo "<tr><td>Cliente:</td><td colspan= 2><input type=text
name=txtcliente maxlength=30 onkeypress='return
soloLetras(event);' size=45 ></td><td>Dirección:</td><td
colspan=4><input type=text name=txtdireccion></td></tr>";
echo "<tr><td>Producto:</td><td><input type=text
name=txtproducto size=15 maxlength=8> <img
src=images\icon_view.gif onclick=descripcion()> " ?><a
href="" onClick='return popup()'><img
src="images/searchbutton.gif" alt="Busqueda por
nombre"></a><?php echo "</td><td>Descripción:</td><td
colspan='4'><input type=text name=txtdescripcion size=60
readonly=true value=-></td><td ><div align='right'>Stock
<input type=text name=txtstock size=5 readonly=true
value=0></div></td></tr>";
echo "<tr>";
echo "<td>Precio:</td><td><input type=text name=txtprecio
size=5 readonly=true value=0></td>";
echo "<td>Cantidad:</td><td><input type=text
name=txtcantidad onkeyup=subtotal(this.value) value=1
size=5 maxlength=2 onkeypress='return
soloNumeros(event);'></td>";
echo "<td>Descuento:</td><td><input type=text
name=txtdescuento size=5 readonly=true value=0></td>";
echo "<td>Subtotal:</td><td><input type=text
name=txtsubtotal size=5 readonly=true value=0></td></tr>";
echo "</tr>";
echo "</table>";
echo "<table id ='tablebotones' width='100%' border='5'
cellpadding=0>";
116
echo "<tr>";
echo "<td><img src=images\imgadd.png onclick=addNewRow()
border=1></td>";
echo "<td><input type='submit' class=btnsave
name='btnguardar' src='images\save.png' value='Guardar'
border='1'></td>";
echo "<td width=100%> </td>";
echo "<td><INPUT TYPE=button class=btnregremenu
name=btnmenu value='Menu Principal' onclick=salir()></td>";
echo "</tr>";
echo"<table>";
echo"<table id ='tabla1' width='100%' border='1'
bordercolor='#000000'>";
echo" <tr class=headtable>";
echo" <td height='200' colspan='4' valign='top'
class=divback>";
echo" <table id ='tabla2' width='100%' border='1'
bordercolor='#000000'>";
echo "<tr id=celda0 >";
echo " <td width='6%'><div
align='center'>ITEM</div></td>";
echo"<td width='9%'><div align='center'>CODIGO</div></td>";
echo" <td width='49%'><div
align='center'>DESCRIPCION</div></td>";
echo"<td width='12%'><div
align='center'>CANTIDAD</div></td>";
117
echo"<td width='5%'><div align='center'>DES.</div></td>";
echo"<td width='8%'><div align='center'>PRECIO</div></td>";
echo"<td width='11%'><div
align='center'>SUBTOTAL</div></td>";
echo"</tr>";
echo"</table></td>";
echo" </tr>";
echo" <tr>";
echo" <td rowspan='3'><div id=divapagar class=valorapagar
>0.00</div></td>";
echo "<td width='14%' rowspan='3'>"?><a href=""
onClick='return popitup()'><img
src="images/imgefectivo.png" alt="Cobrar"></a><?php
"</td>";
echo"<td width='14%'><div >SUBTOTAL</div></td>";
echo"<td width='11%'><div id=divsubtotal
class=fuente>0.00</div></td>";
echo" </tr>";
echo" <tr> ";
echo" <td><div align='left'>IVA</div></td>";
echo" <td><div id=diviva class=fuente>0.00</div></td>";
echo" </tr>";
echo" <tr>
";
echo " <td><div align='left'>TOTAL</div></td>";
118
echo" <td><div id=divtotal
class=fuente>0.00</div></td>";
echo" </tr>";
echo"</table>
";
echo "</form>";
?>
</body>
</html>
<script language="javascript">
<?php
require("conexion.php");
$resultuser=mysql_query("select * from vendedor where
usuario='$idusuario'",$conex);
$registeruser=mysql_num_rows($resultuser);
if ($registeruser>0)
{
$nombreuser=mysql_result($resultuser,0,'alias');
}
else
{
$nombreuser='Invitado';
}
?>
119
document.formulario.txtidvendedor.value= "<?php echo
$nombreuser; ?>";//asigna a la caja de text el nuevo numero
de factura
//fin
var idprod=0;
<?php
//llenar text numero de factura
require("conexion.php");
$resultord=mysql_query("select max(idfactura) as mayor from
facturacion",$conex);
$registrosord=mysql_num_rows($resultord);
if ($registrosord>0)
{
$nfactura=mysql_result($resultord,0,'mayor');
$nfactura=$nfactura+1;
}
?>
idprod = <?php echo $nfactura; ?>;
document.formulario.txtidfactura.value='00000'+idprod;//asi
gna a la caja de text el nuevo numero de factura
//fin
function miventana(url)
{
newwindow=window.open(url,'name','height=380,width=350
');
120
if (window.focus) {newwindow.focus()}
return false;
}
function descripcion()
{
var idprod=0;
var ex=0;
var i=0;
idprod=document.formulario.txtproducto.value;
if (idprod>0)
{
<?php
require("conexion.php");
$result=mysql_query("select * from inventario",$conex);
$registros=mysql_num_rows($result);
for($x=0;$x<=($registros-1);$x++)
{
?>
if (idprod == '<?php echo
mysql_result($result,$x,'cod_producto')?>')
{
document.formulario.txtdescripcion.value ="<?php echo
mysql_result($result,$x,'descripcion')?>";
121
document.formulario.txtprecio.value = <?php echo
mysql_result($result,$x,'valor')?>;
document.formulario.txtdescuento.value = <?php echo
mysql_result($result,$x,'dscto')?>;
document.formulario.txtstock.value = <?php echo
mysql_result($result,$x,'stock')?>;
var precio=0;
var cantidad=0;
var descto=0;
precio=document.formulario.txtprecio.value;
cantidad=document.formulario.txtcantidad.value;
dscto=document.formulario.txtdescuento.value;
document.formulario.txtsubtotal.value=(precio*cantidad)-
dscto;
ex=++ex;
document.formulario.txtcantidad.focus();
}
<?php
}
?>
//
if (ex>0)
{
}
122
else
{
document.formulario.txtdescripcion.value ="-";
document.formulario.txtprecio.value=0;
document.formulario.txtcantidad.value=1;
document.formulario.txtdescuento.value=0;
document.formulario.txtsubtotal.value=0;
document.formulario.txtstock.value=0;
alert('Codigo no Valido: Articulo no encontrado');
document.formulario.txtproducto.focus();
}
}
else
{
document.formulario.txtdescripcion.value ="-";
document.formulario.txtprecio.value=0;
document.formulario.txtcantidad.value=1;
document.formulario.txtdescuento.value=0;
document.formulario.txtsubtotal.value=0;
document.formulario.txtstock.value=0;
alert('Codigo no Valido: Articulo no encontrado');
document.formulario.txtproducto.focus();
}
123
}
function subtotal(valor)
{
var precio=0;
var cantidad=0;
precio=document.formulario.txtprecio.value;
cantidad=document.formulario.txtcantidad.value;
document.formulario.txtsubtotal.value=(precio*cantidad)-
dscto;
}
//function addobjeto ()
//{
// document.getElementById('td11').innerHTML = '<input
type="text" id=item size="1" />';;
//}
var dvsubtotal=0;
var numero = 0;
var c=1;
var fitem=0;
function addNewRow()
{
var f=1;
var stock=0;
detproducto=document.formulario.txtproducto.value;
124
detdescripcion=document.formulario.txtdescripcion.value;
detcantidad=parseInt(document.formulario.txtcantidad.value)
;
detprecio=document.formulario.txtprecio.value;
detdscto=document.formulario.txtdescuento.value;
detprecio=document.formulario.txtprecio.value;
detsubtotal=document.formulario.txtsubtotal.value;
stock=document.formulario.txtstock.value;
if ((stock>0) && (detcantidad<=stock)&&(detcantidad!=0))
{//stock condicion
fitem=fitem+1;
dvsubtotal= parseFloat(dvsubtotal)+parseFloat(detsubtotal);
dvsubtotal=dvsubtotal.toFixed(2);
dviva=parseFloat(dvsubtotal)*0.12;
dviva=dviva.toFixed(2);
dvtotal= (parseFloat(dviva) + parseFloat(dvsubtotal));
dvtotal=dvtotal.toFixed(2);
// obtenemos acceso a la tabla por su ID
var TABLE = document.getElementById("tabla2");
// obtenemos acceso a la fila maestra por su ID
var TROW = document.getElementById("celda0");
// tomamos la celda
var content1 = TROW.getElementsByTagName("td");
125
// creamos una nueva fila
var newRow = TABLE.insertRow(-1);
newRow.className = TROW.attributes['class'].value;
// creamos una nueva celda
var newCell1 = newRow.insertCell(newRow.cells.length);
var newCell2 = newRow.insertCell(newRow.cells.length);
var newCell3 = newRow.insertCell(newRow.cells.length);
var newCell4 = newRow.insertCell(newRow.cells.length);
var newCell5 = newRow.insertCell(newRow.cells.length);
var newCell6 = newRow.insertCell(newRow.cells.length);
var newCell7 = newRow.insertCell(newRow.cells.length);
// creamos una nueva ID para el examinador
newID = 'f' + (++numero);
// creamos un nuevo control
txt1 = '<input type="text" name="' + newID + '_1" size="5"
value="' + fitem + '" readonly="true"/>';
txt2 = '<input type="text" name="' + newID + '_2" size="5"
value="' + detproducto + '" readonly="true"/>';
txt3 = '<input type="text" name="' + newID + '_3" size="75"
value="' + detdescripcion + '" readonly="true"/>';
126
txt4 = '<input type="text" name="' + newID + '_4" size="5"
value="' + detcantidad + '"/>';
txt5 = '<input type="text" name="' + newID + '_5" size="5"
value="' + detdscto + '" readonly="true"/>';
txt6 = '<input type="text" name="' + newID + '_6" size="5"
value="' + detprecio + '" readonly="true"/>';
txt7 = '<input type="text" name="' + newID + '_7" size="5"
value="' + detsubtotal + '" readonly="true"/>';
// y lo asignamos a la celda
newCell1.innerHTML = txt1;
newCell2.innerHTML = txt2;
newCell3.innerHTML = txt3;
newCell4.innerHTML = txt4;
newCell5.innerHTML = txt5;
newCell6.innerHTML = txt6;
newCell7.innerHTML = txt7;
// aviso
document.formulario.txtproducto.value ="";
document.formulario.txtdescripcion.value ="-";
document.formulario.txtprecio.value=0;
document.formulario.txtcantidad.value=1;
document.formulario.txtdescuento.value=0;
document.formulario.txtsubtotal.value=0;
127
document.formulario.txtstock.value=0;
document.formulario.txtproducto.focus();
//imprimir x pantalla sin cuadro de texto
document.getElementById("divsubtotal").innerHTML=dvsubtotal
;
document.getElementById("diviva").innerHTML=dviva;
document.getElementById("divtotal").innerHTML=dvtotal;
document.getElementById("divapagar").innerHTML=dvtotal;
}//stock codicion
else
{
alert('Articulo No disponible para la venta');
}
}
//function savemode()
//{
//var agree=confirm("Está seguro de realizar esta acción?
");
//if (agree)
//{
//var
svidvendedor=document.formulario.txtidvendedor.value;
//location.href("facturacion.php");
//}
128
//else
//{
//alert('Cancelado por el usuario');
//}
//}
function salir()
{
location.href("facturacion_list.php");
}
</script>
<script LANGUAGE="JavaScript" TYPE="text/javascript">
function popitup()
{
var a=document.getElementById("divapagar").innerHTML;
newwindow=window.open('facturacion_cambio.php?a='+a,'n
bame','height=450,width=400,Location=no');
if (window.focus) {newwindow.focus()}
return false;
}
function popup()
{
newwindow=window.open('buscarprenda.php','ventana1','h
eight=450,width=400,Location=no,scrollbars=yes');
if (window.focus) {newwindow.focus()}
129
return false;
}
</SCRIPT>
Devolución en Compras
Código:
global $conn;
$strSQLExists = "select * from facturacion
f,detalle_factura d where
f.idfactura='$values[cod_factura]' and
f.idfactura=d.cod_factura and
cod_prenda='$values[cod_prenda]'";
$rsExists = db_query($strSQLExists,$conn);
$data=db_fetch_array($rsExists);
if($data)
{
//$cant=mysql_result($rsExists,0,'cantidad');
$strSQLExists = "select * from facturacion
f,detalle_factura d where
f.idfactura='$values[cod_factura]' and
f.idfactura=d.cod_factura and
d.cod_prenda='$values[cod_prenda]' and
d.cantidad<'$values[cantidad]'";
$rsExists = db_query($strSQLExists,$conn);
$data=db_fetch_array($rsExists);
if($data)
{
130
$message="<font color=yellow>La cantidad excede a lo
vendido- </div>";
}
else
{
$strSQLExists = "update inventario set
stock=stock+$values[cantidad] where
cod_producto='$values[cod_prenda]'";
$rsExists = db_query($strSQLExists,$conn);
return true;
}
}
else
{
$message="<font color=yellow>Este articulo no existe
</div>";
}
131
4.5.1. PRUEBAS
Antes de implementar el sistema de facturación, se realizaran sus respectivas pruebas en
lo que concierne a su funcionamiento, verificando que el mismo este completamente
acto para su uso correspondiente y así evitarnos problemas e inconvenientes.
Prueba de Validación
Aquí vamos a observar que al momento de querer ingresar a sistemas ingresamos el
usuario y contraseña pero inmediatamente nos envía un mensaje que usuario y password
incorrectos porque no ha sido ingresado por el administrador.
Figura 59. Pruebas. Acceso al sistema con usuario no creado
Otra causa de error que nos puede mostrar es cuando un usuario a estado ingresado en la
base de datos del sistema el administrador lo ha inactivado y en el momento que intenta
ingresar al sistema le saldrá usuario inactivo eso quiere decir que él no puede ingresar.
132
Figura 60. Prueba. Acceso al sistema con usuario inactivo
4.5.2. IMPLEMENTACIÓN
4.5.2.1. REQUERIMIENTOS DE HARDWARE
Para el funcionamiento de la aplicación del Hardware tenemos:
Disco Duro 320 GB
Memoria 4 GB
Procesador 1.60GHz
DVD RW
Monitor
Teclado
Mouse
Impresora
4.5.2.2. REQUERIMIENTOS DE SOFTWARE
4.5.2.2.1. PLATAFORMA
Windows
4.5.2.2.2. SISTEMA OPERATIVO
Windows 7
133
4.5.2.2.3. LENGUAJE DE PROGRAMACIÓN
Sql Yog Enterprise
Wamp Server 5.0
PHPRunner 6.0
4.5.2.3. PROCESO DE INSTALACIÓN
4.5.1.3.1 INSTALACIÓN DE WAMPSERVER 5.1
Figura 61. Instalación de WampServer 5.1
Aquí observamos el mensaje de bienvenida y le damos clic en next para continuar la
instalación.
Figura 62. Mensaje de Bienvenida del WampServer
134
Aceptamos el contrato de licencia y le damos clic en next.
Figura 63. Acuerdo de licencia del WampServer
Nos aparecerá la ubicación donde se realizara nuestra instalación c: \wamp que es por
defecto y le damos clic Next.
Figura 64. Acuerdo de licencia del WampServer
Damos clic en siguiente y Next del nombre de la carpeta en el menú de inicio.
135
Figura 65. Nombre de carpeta del menú inicio del WampServer
Luego se nos mostrara un resumen con las opciones de configuración seleccionadas y,
luego pulsamos el botón “Install” para comenzar con la instalación.
Figura 66. Opciones de configuración del WampServer
Presionamos siguiente y tenemos la configuración de arranque, es decir debemos decidir
si queremos que los servicios se arranquen cuando encendamos el sistema o no.
136
Figura 67. Configuración de arranque del WampSever
Aquí veremos el proceso de instalación del WampServer
Figura 68.Proceso de instalación del WampServer
Durante el proceso de instalación nos aparecerá una pantalla en la cual debemos
seleccionar la carpeta raíz de nuestra página web; Si no estamos seguros podemos dejar
perfectamente la que el instalador nos ofrece por defecto.
137
Figura 69. Seleccionar carpeta raíz del WampServer
Figura 70. Seleccionar carpeta WWW
Pulsamos aceptar y luego abrir
Figura 71. Abrir carpeta raíz del WampServer
138
Y finalmente presionamos finalizar
Figura 72. Finalización de instalación del WampServer
Finalmente este es el icono del WampServer que se encontrara en la barra de tareas.
Figura 73. Servicio activado de WampServer
4.5.1.3.2. INSTALACIÓN DE SQLYOG ENTERPRISE
Figura 74. Instalación de SQLyog
Aquí observamos el mensaje de bienvenida y le damos clic en next para continuar la
instalación.
139
Figura 75. Mensaje de bienvenida del SQLyog
Aceptamos los términos de licencia y presionamos Next >.
Figura 76. Términos de licencia de SQLyog
Escogemos los componentes a instalar y presionamos Next >
140
Figura 77. Componentes a instalar de SQLyog
Observamos el proceso de instalación y esperamos hasta que se complete.
Figura 78. Proceso de Instalación de SQLyog
Luego escogemos la ubicación donde se va a instalar el SQLyog y damos clic den
Install.
141
Figura 79. Directorio de ubicación de SQLyog
Una vez que se completó el proceso de instalación nos aparecerá la pantalla
indicándonos que el proceso de instalación ha terminado y presionamos Finish.
Figura 80. Finalización del Proceso de Instalación de SQLyog
Al presionar aceptar se nos presentara la pantalla para realizar la conexión
correspondiente, donde presionamos Connect.
142
Figura 81. Conexión del SQLYog
Y finalmente la pantalla principal de sql yog, donde se empezara a trabajar.
Figura 82. Pantalla principal de SQLYog
4.5.1.3.3. INSTALACIÓN DEL SISTEMA DE INFORMACIÓN GERENCIAL
DE VENTAS.
Una vez instalados los programas explicados anteriormente debemos copiar la carpeta
que contiene el software en la siguiente dirección c: /wamp/www/
143
Figura 83. Pantalla principal de SQLYog
Luego adjuntamos la base de datos del sistema; para ello entramos al SqlYog.
Figura. 84 Adjuntar base de datos
Nos aparecerá una pantalla donde debemos darle clic en y debemos escoger el lujar
donde tenemos respaldada la base de datos y luego presionamos ejecute.
144
Figura85. Seleccionar base de datos
Y se empezara a importar la base de datos...
Figura 86. Importar Base de datos
Y listo la base de datos quedara adjuntada.
145
Figura. 87. Base de datos adjuntada
4.5.1.3.4. SEGURIDADES
Con respecto a las seguridades de nuestro programa tenemos.
Permisos para Administradores
En cuanto a los permisos de los administradores como nos podemos dar cuenta ellos son
los únicos que van a tener acceso a todos los datos del sistema y podrán añadir, editar,
eliminar, ver, exportar, imprimir, e importar los datos que existan en el software.
Figura 88. Permisos Administrador
146
Permisos para Vendedor
En lo que se refiere a los permisos de los invitados podemos observar que ellos van a
tener acceso a ciertos datos no a todos.
Figura 89. Permisos Vendedor
Seguridad en las claves de los usuarios
En lo que se refiere a la seguridad de las claves hemos utilizado md5; cómo podemos
observar en la base de datos se almacenan las claves encriptados.
Figura 90. Claves Encriptadas
147
4.6. CONCLUSIONES Y RECOMENDACIONES
4.6.1. CONCLUSIONES
Se concluye que el sistema implementado, aportara bienestar a la empresa, con
la correcta difusión ayudando a fortalecer los procesos de las ventas y
seguimientos de metas, para el cumplimiento de las estrategias planteadas.
Este sistema implantado facilitara el manejo de las ventas y almacenamientos de
datos de manera rápida en lo cual ahorrara tiempo y mejor atención al cliente.
Además garantiza el acceso a la información de una manera rápida y confiable,
obteniendo buenos resultados a través de este sistema web el dispondrá de todo
el tiempo y de uso muy fácil.
148
4.6.2. RECOMENDACIONES
Se recomienda al gerente la instalación del sistema para su uso correspondiente
con el fin de lograr los objetivos propuestos en el almacén.
Que el usuario lleve un manejo del sistema implantado en el almacén para llevar
una mejor seguridad financiera en las ventas y tener una buena atención al
cliente que se realizan en el momento.
Capacitar al personal que usara el sistema para evitar pérdida de tiempo y daño
en el sistema.
El sistema implementado queda accesible a un personal técnico que desee hacer
alguna modificación en pro de realizar mejoras actualizaciones para garantizar
efectividad del mismo.
149
GLOSARIO DE TÉRMINOS Y ABREVIATURAS
TÉRMINOS
Feedback:Es un proceso en el que la información sobre el pasado o el presente influye
sobre el mismo fenómeno en el presente o futuro.
Firebird: Es un sistema de administración de base de datos relacional.
SQLite: Es un sistema de gestión de bases de datos.
Ley de Murphy: Es una forma cómica y mayoritariamente ficticia de explicar los
infortunios en todo tipo de ámbitos.
ABREVIATURAS
SIG: Sistema de Información Gerencial.
PyMEs: Pequeñas y Medianas Empresas.
Html: Lenguaje de marcado hipertextual.
URL: Localizador de Recursos Uniformes.
SGC: Sistema de Gestión de Contenidos.
LOPD: Ley Orgánica de Protección de Datos.
OPP: Oficina de planeamiento y presupuesto.
VCS: Sistema de control de versiones.
FTP: Protocolo de trasferencia de archivos.
WebDAV: Edición y versionado distribuido sobre la Web.
MVC: Modelo vista controlador.
WYSIWYG: Editor de visual en Phprunner.
OLAP: Procesamiento analítico en línea.
150
BIBLIOGRAFÍA
PHP Y Mysql - Domina el desarrollo de un sitio web dinámico e interactivo, por Olivier
Heurtel, Ediciones Eni
Introducción a los sistemas de Base de Datos - por Sergio Luis María Ruiz Faudón -
2001
Gestión de Base de Datos - por Oscar Pastor López - 2000
Ramos Martín Alicia - Ramos Martin María Jesús - Operaciones con Base de datos
ofimáticas y corporativas - COPYRIGHT @ 2007 International
Manual de PHP – MehdiAchour - editado por PhilipOlson, 1997 - 2011the PHP
Documentation Group
151
LINKOGRAFÍAS
http://es.wikipedia.org/wiki/Base_de_datos
http://www.maestrosdelweb.com/principiantes/%C2%BFque-son-las-bases-de-datos/
http://php-runner.uptodown.com
http://xlinesoft.com/phprunner/docs/
http://www.monografias.com/trabajos24/informacion-gerencial/informacion-
gerencial.shtml
http://spiele.descarg.ar.com/phprunner-89059.html
http://janetes.jimdo.com/pagina-web-animada/
http://www.clomputech.com/paginas-estaticas-vs-dinamicas.html
http://www.simplificarweb.com.ar/paginas-web-estaticas.php
152
ANEXOS
MANUAL DE USUARIO
ACCESO AL SISTEMA
En esta pantalla principal del sistema donde ingresaremos el usuario debidamente
creado con su respectiva contraseña y damos clic en el botón Entrar.
Si el usuario no ha sido creado o si la contraseña está mal ingresada nos mostrara el
siguiente mensaje: Usuario/Password Incorrectos.
Si el usuario se encuentra inactivo por razones del administrador quien tiene todos los
privilegios nos mostrara el siguiente mensaje ¡Usuario Inactivo!
153
MENU PRINCIPAL
Este es el menú principal donde luego de haber ingresado correctamente el usuario y la
contraseña respectivamente donde se podrá observar varias pestañas como: Registros.
M. Diario. D. Personales, U. Geográfica, Inventario, Reportes.
MENU REGISTROS
En el menú Registros podemos encontrar Sección, Categorías, Talla.
154
PESTAÑA SECCION
En el sistema Almacén “La Economía” tenemos una sección para poder agrupar los
diferentes tipos de ropa donde se seleccionara el tipo prenda que escoge.
NUEVO SECCIÓN
Para agregar una nueva sección al sistema vamos al Menú Principal Registros>>
Sección damos clic en Añadir Nuevo.
155
Validación: No se podrá agregar una Sección existente en el sistema y solo se podrá
ingresar letras.
Solo se podrá ingresar letras.
PESTAÑA CATEGORÍAS
En la pestaña categorías no permitirá agregar en el sistema los diferentes tipos de
prendas y agregarlas a su respectiva sección.
156
Nuevo Categorías
Para agregar una nueva sección al sistema vamos al Menú Principal Registros>>
Categorías damos clic en Añadir Nuevo.
Validación: Para agregar una nueva categoría al sistema hay que tener en cuenta que no
se puede repetir la categoría con sección que ya sido ingresado previamente.
157
Otras de las validación es solo se podrá ingresar letras.
Cuando se cumpla todas las condiciones anteriores el registro se agregara y se guardara
con éxito.
158
PESTAÑA TALLA
En la sección talla nos permitirá clasificar ingresar al sistema los diversos tipos de talla
para las diferentes secciones.
Nuevas Tallas
Para agregar una nueva talla al sistema vamos al Menú Principal Registros>> Talla
damos clic en Añadir Nuevo.
Validación: En la sección talla seleccionamos la sección siempre y cuando no haya sido
ingresada anteriormente al sistema sino no se guardara correctamente.
159
Si los registros a ingresar no se repiten serán guardados al sistema correctamente.
MOVIMIENTO DIARIO
La sección Movimiento Diario es la que va permitir que por medio de esta sección se
centre el sistema para el resto, el movimiento diario nos permitirá facturar diariamente y
llevar a cabo los reportes de las ventas diarias que contara con Facturación y
Devolución en Compras.
160
PESTAÑA FACTURACIÓN
En Facturación vamos realizar la venta sobre el o los artículo escogido.
Nuevo Facturación
Para agregar una nueva factura al sistema vamos al Menú Principal Registros>>
Movimiento Diario damos clic en Añadir Nuevo.
161
Buscar Producto: Para agregar una prenda se lo realiza por medio de código que ya se
encuentra asignado a cada donde en la caja de texto Producto llenamos el código a
buscar en
Error Código: Existe la posibilidad de que no excita el código a buscar o sea el caso
que el producto este en stock 0, nos saldrá por defecto Producto no valido.
Agregar Producto: Una vez que el cliente escoja el producto a ser comprado se
procede a Agregarlos productos deseados.
162
Cobrar: Una vez que ya hemos agregado el o los producto(s) procedemos a cobrar el
total marcado en pantalla.
El siguiente paso a seguir una vez que se ha cancelado el valor total a pagar procedemos
a cobrar no saldrá un mensaje por defecto “El pago se realizó correctamente”
163
Guardar/Imprimir:Como paso final y muy importante es Imprimir la factura que se ha
ejecutado la venta, esto no servirá para las consultas o reportes.
Una vez impresonos saldrá un mensaje “Se ha impreso su factura”
Búsqueda por prenda: Aquí voy escribir el nombre de la prenda y le doy clic en el
botón buscar.
164
Y aquí se despliega la siguiente pantalla con el nombre de la descripción de la prenda y
le doy clic en el código.
Y se despliega la siguiente pantalla que dice su selección es y le damos clic en aceptar.
165
Al momento de darle aceptar ya se visualiza que el código de la prenda se ha ingresado
en la factura.
Una vez facturado procedemos a recolectar la factura.
166
DEVOLUCIÓN EN COMPRA
En la sección Devolución en Compras puede darse el caso que por a o b motivos la
prenda pueda ser cambiada siempre y cuando este en perfecto estado se procederá al
cambio.
Nuevo Devolución en Compras
Para hacer una devolución en compra nos vamos a Menú Principal>>Movimiento
Diario>>Devolución en Compra.
167
Validación: Uno de los datos a tomar en consideración es que al ingresar en el N° de
Factura tiene que ser una factura existente si no nos saldrá por defecto este artículo no
existe.
Otro de los factores a tomar en cuenta es que tiene que coincidir el código del producto
a devolver y la cantidad no sobre limitar a lo pedido
Tomados todas las atenciones del caso que no altere el sistema de acuerdo a la factura se
procederá a guardar.
168
INVENTARIO
En la parte inventario es donde v ingresar la mercadería y a separar por sección,
categorías y tallas y marcarle un código para luego ser ingresado al sistema.
Nuevo Inventario: Para agregar un nuevo registro nos vamos al Menú
Principal>>Inventario.
169
Validación: Al momento de ingresar no se puede repetir la categoría con la talla
siempre y cuando el color sea diferente y la descripción de la misma manera caso
contrario no se guardara.
170
REPORTES
En este menú encontraremos los reportes de algunas listas. En la siguiente ventana
mostraremos las opciones que tienen los reportes en forma general.
Detalles de un reporte
Búsqueda avanzada.- Este botón nos lleva a una ventana que da una serie de opciones
de búsqueda botón explicado anteriormente de una forma detallada.
Impresora versión amigable.- Este botón realiza la misma función que el botón
imprimir esta página, este botón solo imprime una página del informe.
Imprimir el informe entero.- Este botón permite imprimir todas las páginas que tenga
el informe.
También tiene dos iconos de Word y Excel estos dos iconos sirven para exportar los
resultados en cualquiera de estos dos tipos de formatos.
171
GRÁFICOS DE VENTAS
En la siguiente pantalla del menú encontraremos los tipos de gráficos realizados por
años y meses.
El siguiente gráfico nos muestra la cantidad de artículos vendidos por año.