INSTITUTO TECNOLÓGICO SUPERIOR PARTICULAR “SAN GABRIEL” ESPECIALIDAD ANÁLISIS Y PROGRAMACIÓN DE SISTEMAS TESIS DE GRADO PREVIA A LA OBTENCIÓN DEL TITULO DE: TECNÓLOGO EN INFORMÁTICA MENCIÓN ANÁLISIS DE SISTEMAS TEMA: “ANALISIS E IMPLEMENTACION DE UN SISTEMA PERSONALIZADO DE CONTROL DE CYBER PARA LA EMPRESA ‘ALEX STORE’ DE LA CIUDAD DE RIOBAMBA PROVINCIA DE CHIMBORAZO” AUTOR: MARCO EDUARDO VILLACRÉS LÓPEZ Riobamba – Ecuador 2011 CERTIFICACIÓN Certifico que el Sr. Marco Eduardo Villacrés López, No de cédula. 060291640-5 ha elaborado bajo mi asesoría el Proyecto de Tesis de Grado: “ANALISIS E IMPLEMENTACION DE UN SISTEMA PERSONALIZADO DE CONTROL DE CYBER PARA LA EMPRESA ‘ALEX STORE’ DE LA CIUDAD DE RIOBAMBA PROVINCIA DE CHIMBORAZO” Por tanto autorizo la presentación para la calificación respectiva. Ing. Mónica Abarca “El presente Proyecto de Grado constituye un requisito previo para la obtención del Título de Tecnólogo en Informática Mención Análisis de Sistemas”. “Yo, Marco Villacrés con la Cédula de identidad Nº. 060291640-5 declaro, que la investigación es absolutamente original, auténtica, personal mía y los resultados y conclusiones a los que se ha llegado son de mi absoluta responsabilidad.” _______________________________ MARCO EDUARDO VILLACRÉS TÍTULO DE LA TESIS DE GRADO ESPECIALIDAD ANALISIS DE SISTEMAS TEMA: “ANALISIS E IMPLEMENTACION DE UN SISTEMA PERSONALIZADO DE CONTROL DE CYBER PARA LA EMPRESA ‘ALEX STORE’ DE LA CIUDAD DE RIOBAMBA PROVINCIA DE CHIMBORAZO” APROBADO: Asesor de la Tesis de Grado:………………….…………..………………… Presidente del Tribunal:………………………………………………………. Miembro del Tribunal:………………………….……………………………… Miembro del Tribunal:…………………………..………………..…………… FIRMAS DE RESPONSABILIDAD NOMBRE FIRMA FECHA Ing. Gabriela Vallejo Rectora Dra. Mirella Vera Vicerrectora - Académica Ing. Segundo Chávez Miembro del Tribunal Ing. Patricio Nevares Miembro del Tribunal Ing. Ángel Huilca Miembro del Tribunal NOTA DE LA TESIS: ……………………………………………………………………………………. DEDICATORIA A mi madre y hermanos que siempre estuvieron ahí, aun en los momentos más difíciles y por el apoyo brindado tanto desde el principio así como al final de mis estudios. Marco Villacrés AGRADECIMIENTO A Dios, el ser supremo que cada día nos da fuerzas y nos guía sin importar cuanto hagamos por él. Al Instituto Tecnológico Superior Particular “San Gabriel”, por brindarme la oportunidad de seguir con mi etapa de estudio. Marco Villacrés OBJETIVOS OBJETIVO GENERAL. Desarrollar e implementar un sistema personalizado de control de Cyber para la empresa “Alex Store” de la ciudad de Riobamba, provincia de Chimborazo. OBJETIVOS ESPECÍFICOS - Mejorar sustancialmente el registro de información del alquiler de máquinas sin que haya pérdida de datos. - Aumentar la precisión de las finanzas diarias. - Minimizar el tiempo de respuesta a una solicitud de equipo emitida por un cliente. - Crear un ambiente más adecuado a las prestaciones de la empresa. - Incrementar la capacidad de almacenamiento a mayor número de datos. JUSTIFICACIÓN La elaboración de este proyecto para la Empresa “Alex Store” Café Internet, significaría un salto de innumerables mejoras, que muchas veces afectan al debido funcionamiento de la empresa. Llevar el control de los clientes que solicitan una maquina con Internet, de forma manual, no es tarea fácil, y es un proceso que requiere de cierto cuidado, además de que es un proceso lento. Y como si fuese poco, al momento de querer tener un reporte de cuanto se hace ya sea diariamente o semanalmente, es otro trabajo que a más de requerir tiempo provoca frecuentes errores. Otro punto importante a tomar en cuenta es que al realizar de forma manual el proceso de control de entradas y salidas, cualquier persona podría hojear el lugar donde se anotan los tiempos de los clientes, mientras que con el nuevo sistema, se podrá restringir el acceso para únicamente el administrador. Lograr que se agilice, el proceso de control del uso del Internet en la Empresa es el principal aporte que deseamos brinde el sistema a la Empresa en estudio, así como organizar los datos de forma más accesible a los encargados de la contabilidad, conllevando esto a un mejor servicio hacia los clientes. INTRODUCCIÓN Para un mejor desempeño en toda empresa es aconsejable y necesario contar con un sistema que ayude a automatizar las tareas diarias que se realizan, esto conlleva a una mejor toma de decisiones, además de que en gran medida, ayuda en la disponibilidad futura de la información para cualquier otro proceso de la empresa. La información nace o es el resultado de un proceso elaborado de análisis de grandes volúmenes de datos, datos estos que deben ser almacenados y continuamente actualizados. Hoy día la empresa “Alex Store” Café Internet lleva de manera manual el control de los tiempos y total a pagar por cada uno de los tantos clientes que los visitan diariamente, lo cual provoca lentitud en las operaciones, por parte del encargado o persona en turno. Es por estas y otras razones que elaboraremos un software que sea capaz de agilizar en gran medida este proceso, y que se encargue además de almacenar los datos, para futuras consultas, y poder así automatizar la empresa. INDICE CAPITULO I 1.1 ANTECEDENTES. El 5 de mayo de 1998 se crea en Riobamba provincia de Chimborazo “Alex Store”, una empresa con visión futurista y encaminada a dar trabajo y desarrollo a la provincia, con políticas acertadas que la han desarrollado dentro del comercio nacional, permitiendo que “Alex Store” gane prestigio a nivel de servicio educativo y dentro del ámbito del diseño gráfico. La empresa está involucrada en todo lo que tiene que ver con ayudas estudiantiles como libros y materiales didácticos pero ha dirigido su visión en lo referente a la adquisición de recursos web como software, manuales, tutoriales, ayudas audiovisuales entre otros. 1.2 MISIÓN Aportar con el desarrollo de la ciudad de Riobamba a través de una empresa futurista de servicios tecnológicos, que responda a las necesidades de estudiantes, y profesionales. 1.3 VISIÓN Desarrollo empresarial a través de software y hardware de alta calidad, analizando e incorporando regularmente los nuevos avances en lo que tiene que ver con la empresa. 1.4 OBJETIVO Poner el nombre de la empresa como una de las de mayor desarrollo de la provincia apoyando ideas estudiantiles y proyectos docentes así como elaborando campañas publicitarias y más elementos que requieran de diseñadores y programadores experimentados. 16 CAPITULO II ARQUITECTURA CLIENTE-SERVIDOR 2.1 DEFINICIÓN Conocer la arquitectura CLIENTE SERVIDOR, es importante ya que en este momento es una de las más importantes y utilizadas en el ámbito de enviar y recibir información, también es una herramienta potente para guardar información en una base de datos como servidor. Con respecto a la definición de arquitectura cliente/servidor se encuentran las siguientes definiciones: Cualquier combinación de sistemas que pueden colaborar entre sí, para dar a los usuarios toda la información que ellos necesiten sin que tengan que saber dónde está ubicada. Es una arquitectura de procesamientos cooperativo donde uno de los componentes pide servicios a otro. Es un procesamiento de datos de índole colaborativo entre dos o más computadoras conectadas a una red. El término cliente/servidor es originalmente aplicado a la arquitectura de software que describe el procesamiento entre dos o más programas: una aplicación y un servicio soportante. “Es un modelo para construir sistemas de información, que se sustenta en la idea de repartir el tratamiento de la información y los datos por todo el sistema informático, permitiendo mejorar el rendimiento del sistema global de información” 17 2.2 Elementos principales “Los elementos principales de la arquitectura cliente servidor son justamente el elemento llamado cliente y el otro elemento llamado servidor”. Por ejemplo dentro de un ambiente multimedia, el elemento cliente seria el dispositivo que puede observar el vídeo, cuadros y texto, o reproduce el audio distribuido por el elemento servidor. Por otro lado el cliente también puede ser una computadora personal o una televisión inteligente que posea la capacidad de entender datos digitales. Dentro de este caso el elemento servidor es el depositario del vídeo digital, audio, fotografías digitales y texto y los distribuye bajo demanda de ser una máquina que cuenta con la capacidad de almacenar los datos y ejecutar todo el software que brinda éstos al cliente. EN RESUMEN - C/S es una relación entre procesos corriendo en máquinas separadas - El servidor (S) es un proveedor de servicios. - El cliente (C) es un consumidor de servicios. - C y S Interactúan por un mecanismo de pasaje de mensajes: Pedido de servicio. Respuesta 18 2.3 ALGUNOS ANTECEDENTES, ¿PORQUE FUE CREADO? Existen diversos puntos de vista sobre la manera en que debería efectuarse el procesamiento de datos, aunque la mayoría que opina, coincide en que nos encontramos en medio de un proceso de evolución que se prolongará todavía por algunos años y que cambiará la forma en que obtenemos y utilizamos la información almacenada electrónicamente. El principal motivo detrás de esta evolución es la necesidad que tienen las organizaciones (empresas o instituciones públicas o privadas), de realizar sus operaciones más ágil y eficientemente, debido a la creciente presión competitiva a la que están sometidas, lo cual se traduce en la necesidad de que su personal sea más productivo, que se reduzcan los costos y gastos de operación, al mismo tiempo que se generan productos y servicios más rápidamente y con mejor calidad. En este contexto, es necesario establecer una infraestructura de procesamiento de información, que cuente con los elementos requeridos para proveer información adecuada, exacta y oportuna en la toma de decisiones y para proporcionar un mejor servicio a los clientes. El modelo Cliente/Servidor reúne las características necesarias para proveer esta infraestructura, independientemente del tamaño y complejidad de las operaciones de las organizaciones públicas o privadas y, consecuentemente desempeña un papel importante en este proceso de evolución. 19 2.4 Evolución de la arquitectura cliente servidor 2.4.1 La era de la computadora central “Desde sus inicios el modelo de administración de datos a través de computadoras se basaba en el uso de terminales remotas, que se conectaban de manera directa a una computadora central”. Dicha computadora central se encargaba de prestar servicios caracterizados por que cada servicio se prestaba solo a un grupo exclusivo de usuarios. 2.4.2 La era de las computadoras dedicadas Esta es la era en la que cada servicio empleaba su propia computadora que permitía que los usuarios de ese servicio se conectaran directamente. Esto es consecuencia de la aparición de computadoras pequeñas, de fácil uso, más baratas y más poderosas de las convencionales. 2.4.3 La era de la conexión libre Hace más de 10 años que las computadoras escritorio aparecieron de manera masiva. Esto permitió que parte apreciable de la carga de trabajo de cómputo tanto en el ámbito de cálculo como en el ámbito de la presentación se lleven a cabo desde el escritorio del usuario. En muchos de los casos el usuario obtiene la información que necesita de alguna computadora de servicio. Estas computadoras de escritorio se conectan a las computadoras de servicio empleando software que permite la emulación de algún tipo de terminal. En otros de los casos se les transfiere la información haciendo uso de recursos magnéticos o por trascripción. 2.4.4 La era del cómputo a través de redes Esta es la era que está basada en el concepto de redes de computadoras, en la 20 que la información reside en una o varias computadoras, los usuarios de esta información hacen uso de computadoras para laborar y todas ellas se encuentran conectadas entre sí. Esto brinda la posibilidad de que todos los usuarios puedan acceder a la información de todas las computadoras y a la vez que los diversos sistemas intercambien información. 2.4.5 La era de la arquitectura cliente servidor “En esta arquitectura la computadora de cada uno de los usuarios, llamada cliente produce una demanda de información a cualquiera de las computadoras que proporcionan información, conocidas como “servidores” estos últimos responden a la demanda del cliente que la produjo. Los clientes y los servidores pueden estar conectados a una red local o una red amplia, como la que se puede implementar en una empresa o a una red mundial como lo es la Internet. Bajo este modelo cada usuario tiene la libertad de obtener la información que requiera en un momento dado proveniente de una o varias fuentes locales o distantes y de procesarla como según le convenga. Los distintos servidores también pueden intercambiar información dentro de esta arquitectura. 2.5 QUE ES UNA ARQUITECTURA Una arquitectura es un entramado de componentes funcionales que aprovechando diferentes estándares, convenciones, reglas y procesos, permite integrar una amplia gama de productos y servicios informáticos, de manera que pueden ser utilizados eficazmente dentro de la organización. 21 Debemos señalar que para seleccionar el modelo de una arquitectura, hay que partir del contexto tecnológico y organizativo del momento y, que la arquitectura Cliente/Servidor requiere una determinada especialización de cada uno de los diferentes componentes que la integran. 2.6 QUE ES UN CLIENTE Es el que inicia un requerimiento de servicio. El requerimiento inicial puede convertirse en múltiples requerimientos de trabajo a través de redes LAN o WAN. La ubicación de los datos o de las aplicaciones es totalmente transparente para el cliente. 2.7 QUE ES UN SERVIDOR Es cualquier recurso de cómputo dedicado a responder a los requerimientos del cliente. Los servidores pueden estar conectados a los clientes a través de redes LANs o WANs, para proveer de múltiples servicios a los clientes y ciudadanos tales como impresión, acceso a bases de datos, fax, procesamiento de imágenes, etc. Fig. 1 Servidor 22 2.8 ELEMENTOS DE LA ARQUITECTURA CLIENTE/SERVIDOR En esta aproximación, y con el objetivo de definir y delimitar el modelo de referencia de una arquitectura Cliente/Servidor, debemos identificar los componentes que permitan articular dicha arquitectura, considerando que toda aplicación de un sistema de información está caracterizada por tres componentes básicos: Presentación/Captación de Información Procesos Almacenamiento de la Información Los cuales se suelen distribuir tal como se presenta en la figura: Fig. 2 Aplicación cliente-servidor Y se integran en una arquitectura Cliente/Servidor en base a los elementos que caracterizan dicha arquitectura, es decir: Puestos de Trabajo Comunicaciones Servidores 23 Tal como se presenta en la figura: Fig. 3 Arquitectura cliente-servidor De estos elementos debemos destacar: 2.8.1 El Puesto de Trabajo o Cliente Una Estación de trabajo o microcomputador (PC: Computador Personal) conectado a una red, que le permite acceder y gestionar una serie de recursos» el cual se perfila como un puesto de trabajo universal. Nos referimos a un microcomputador conectado al sistema de información y en el que se realiza una parte mayoritaria de los procesos. Se trata de un fenómeno en el sector informático. Aquellos responsables informáticos que se oponen a la utilización de los terminales no programables, acaban siendo marginados por la presión de los usuarios. Debemos destacar que el puesto de trabajo basado en un microcomputador conectado a una red, favorece la flexibilidad y el dinamismo en las organizaciones. Entre otras razones, porque permite modificar la ubicación de los puestos de trabajo, dadas las ventajas de la red. 24 2.8.2 Los Servidores o Back-end Una máquina que suministra una serie de servicios como Bases de Datos, archivos, comunicaciones. Los Servidores, según la especialización y los requerimientos de los servicios que debe suministrar pueden ser: Mainframes Miniordenadores Especializados (Dispositivos de Red, Imagen, etc.) Una característica a considerar es que los diferentes servicios, según el caso, pueden ser suministrados por un único Servidor o por varios Servidores especializados. 2.8.3 Las Comunicaciones En sus dos vertientes: Infraestructura de redes Infraestructura de comunicaciones 2.8.4 Infraestructura de redes Componentes Hardware y Software que garantizan la conexión física y la transferencia de datos entre los distintos equipos de la red. 2.8.5 Infraestructura de comunicaciones Componentes Hardware y Software que permiten la comunicación y su gestión, entre los clientes y los servidores. 25 La arquitectura Cliente/Servidor es el resultado de la integración de dos culturas. Por un lado, la del Mainframe que aporta capacidad de almacenamiento, integridad y acceso a la información y, por el otro, la del computador que aporta facilidad de uso (cultura de PC), bajo costo, presentación atractiva (aspecto lúdico) y una amplia oferta en productos y aplicaciones. 2.9 CARACTERISTICAS DEL MODELO CLIENTE/SERVIDOR 2.9.1 CARACTERISTICAS. En el modelo CLIENTE/SERVIDOR podemos encontrar las siguientes características: - El Cliente y el Servidor pueden actuar como una sola entidad y también pueden actuar como entidades separadas, realizando actividades o tareas independientes. - Las funciones de Cliente y Servidor pueden estar en plataformas separadas, o en la misma plataforma. Fig. 4 Características de modelo cliente servidor 26 - Un servidor da servicio a múltiples clientes en forma concurrente. - Cada plataforma puede ser escalable independientemente. Los cambios realizados en las plataformas de los Clientes o de los Servidores, ya sean por actualización o por reemplazo tecnológico, se realizan de una manera transparente para el usuario final. - La interrelación entre el hardware y el software están basados en una infraestructura poderosa, de tal forma que el acceso a los recursos de la red no muestra la complejidad de los diferentes tipos de formatos de datos y de los protocolos. - Un sistema de servidores realiza múltiples funciones al mismo tiempo que presenta una imagen de un solo sistema a las estaciones Clientes. Esto se logra combinando los recursos de cómputo que se encuentran físicamente separados en un solo sistema lógico, proporcionando de esta manera el servicio más efectivo para el usuario final. También es importante hacer notar que las funciones Cliente/Servidor pueden ser dinámicas. Ejemplo, un servidor puede convertirse en cliente cuando realiza la solicitud de servicios a otras plataformas dentro de la red. Su capacidad para permitir integrar los equipos ya existentes en una organización, dentro de una arquitectura informática descentralizada y heterogénea. - Además se constituye como el nexo de unión más adecuado para reconciliar los sistemas de información basados en mainframes o minicomputadores, con aquellos otros sustentados en entornos informáticos pequeños y estaciones de trabajo. 27 8. Designa un modelo de construcción de sistemas informáticos de carácter distribuido. - Su representación típica es un centro de trabajo (PC), en donde el usuario dispone de sus propias aplicaciones de oficina y sus propias bases de datos, sin dependencia directa del sistema central de información de la organización, al tiempo que puede acceder a los - Recursos de este host central y otros sistemas de la organización ponen a su servicio. En conclusión, Cliente/Servidor puede incluir múltiples plataformas, bases de datos, redes y sistemas operativos. Estos pueden ser de distintos proveedores, en arquitecturas propietarias y no propietarias y funcionando todos al mismo tiempo. Por lo tanto, su implantación involucra diferentes tipos de estándares: APPC, TCP/IP, OSI, NFS, DRDA corriendo sobre DOS, OS/2, Windows o PC UNIX, en TokenRing, Ethernet, FDDI o medio coaxial, sólo por mencionar algunas de las posibilidades. 2.9.2 TIPOS DE CLIENTES 1. “Cliente flaco”: Servidor rápidamente saturado. Gran circulación de datos de interfase en la red. 2. “Cliente gordo”: Casi todo el trabajo en el cliente. No hay centralización de la gestión de la BD. Gran circulación de datos inútiles en la red. 28 Fig. 4 Cliente gordo 2.9.3 TIPOS DE SERVIDOR 2.9.3.1 Servidores de archivos Servidor donde se almacena archivos y aplicaciones de productividad como por ejemplo procesadores de texto, hojas de cálculo, etc. 2.9.3.2 Servidores de bases de datos Servidor donde se almacenan las bases de datos, tablas, índices. Es uno de los servidores que más carga tiene. 2.9.3.3 Servidores de transacciones Servidor que cumple o procesa todas las transacciones. Valida primero y recién genera un pedido al servidor de bases de datos. 29 2.9.3.4 Servidores de Groupware Servidor utilizado para el seguimiento de operaciones dentro de la red. 2.9.3.5 Servidores Web Se usan como una forma inteligente para comunicación entre empresas a través de Internet. Este servidor permite transacciones con el acondicionamiento de un browser. 2.10 ESTILOS DE MODELO CLIETE SERVIDOR 2.10.1 Presentación distribuida 1. Se distribuye la interfaz entre el cliente y la plataforma servidora. 2. La aplicación y los datos están ambos en el servidor. 3. Similar a la arquitectura tradicional de un Host y Terminales. 4. El PC se aprovecha solo para mejorar la interfaz gráfica del usuario. Ventajas Revitaliza los sistemas antiguos. Bajo costo de desarrollo. No hay cambios en los sistemas existentes. Desventajas El sistema sigue en el Host. No se aprovecha la GUI y/o LAN. La interfaz del usuario se mantiene en muchas plataformas. 30 CAPITULO III VISUAL BASIC Visual Basic 6.0 es una excelente herramientas de programación que permite crear aplicaciones para Windows. Con ella se puede crear desde una simple calculadora hasta una hoja de cálculo de la talla de Excel, o un procesador de texto como Word o bien, cualquier aplicación que se le ocurra al programador. Este programa permite crear ventana, botones, menús y cualquier otro elemento de Windows de una forma fácil e intuitiva. 3.2.1 Características En Visual Basic 6.0 y en otros programas, se le llama objeto a todo lo que se ve en una ventana típica de Windows; los objetos son por ejemplo un botón de comando, una caja de texto, una imagen, en general todo objeto visible que puedas ver en la pantalla. Se les llaman objetos porque cada uno de ellos posee propiedades, eventos y métodos. Un botón de comando tiene propiedades tales como: Caption (Titulo) que indica el texto que tiene el botón, también tiene las propiedades Width (Anchura) y Height (Altura) que establecen la anchura y altura del botón. Todos los objetos con que trabajemos en Visual Basic 6.0 poseen propiedades, métodos y eventos, aunque algunos objetos pueden tener propiedades, métodos y eventos que otros objetos no pueden tener, por ejemplo, un objeto TextBox (caja de texto) tiene la propiedad Text (texto) que indica el texto que contiene la caja, de tal manera, es obvio que un botón de comando no pueda tener esta propiedad, así como el evento Change (Cambio) que poseen las cajas de textos que indican cuando el usuario esta cambiando el contenido de la caja, también esta claro que 31 un botón de comando (CommandButton) no pueda tener este evento. Resumiendo todo lo dicho anteriormente, se puede definir la Programación Orientada a Objetos (POO) como aquella en la que trabajamos con objetos visibles cada uno de los cuales poseen sus propios eventos, métodos y propiedades. Visual Basic 6.0 está orientado a la realización de programas para Windows, pudiendo incorporar todos los elementos de este entrono informático: ventanas, botones, cajas de diálogo y de texto, botones de opción y de selección, barras de desplazamiento, gráficos, menús, etc. Prácticamente todos los elementos de interacción con el usuario de los que dispone Windows 95/98/XP/2000/NT pueden ser programados en Visual Basic 6.0 de un modo muy sencillo. En ocasiones bastan unas pocas operaciones con el ratón y la introducción a través del teclado de algunas sentencias para disponer de aplicaciones con todas las características de Windows 95/98/XP/2000/NT. 3.2.2 Modo de diseño y modo de ejecución La aplicación Visual Basic de Microsoft puede trabajar de dos modos distintos: En modo diseño y en modo de ejecución. En modo diseño el usuario construye interactivamente la aplicación, colocando controles en el formulario, definiendo sus propiedades, y desarrollando funciones para gestionar los eventos. La aplicación se prueba en modo de ejecución. En este caso el usuario actúa sobre el programa (introduce eventos) y prueba cómo responde el programa. Hay algunas propiedades de los controles que deben establecerse en modo de diseño, pero muchas otras pueden cambiarse en tiempo de ejecución desde el programa escrito en Visual Basic 6.0. 32 3.2.3 Formularios y Controles Cada uno de los elementos gráficos que pueden formar parte de una aplicación típica de Windows es un tipo de control: botones, cajas de dialogo y de texto, cajas de selección desplegables, los botones de selección y de opción, las barras de desplazamiento horizontales y verticales, los gráficos, los menús, y muchos otros elementos son controles para Visual Basic 6.0. Cada control debe tener un nombre a través del cual se puede hacer referencia a el en el programa. Visual Basic 6.0 asigna nombres por defecto a los controles. Visual Basic permite al usuario cambiar los nombres por defecto. En Visual Basic 6.0 un formulario es una ventana. Un formulario puede ser considerado como una especie de contenedor para los controles. Una aplicación puede tener uno o varios formularios (ventanas), pero un único formulario puede ser suficiente para la creación de una aplicación sencilla. Los formularios deben también tener un nombre que permita hacerse referencia a él ó del él. 3.2.4 Objetos, Propiedades y Clase A los controles que colocamos en un formulario que poseen propiedades, métodos y eventos se les llaman objetos y a las características propias de esos objetos se les llaman propiedades. La clase es la entidad genérica a la que pertenece un control, por ejemplo, en un programa puede haber varios botones, cada uno de los cuales es un objeto que pertenece a una clase de los controles (CommandButton). Cada formulario y cada tipo de control tienen un conjunto de propiedades que definen su aspecto gráfico (tamaño, color, posición en la ventana, tipo y tamaño de letra, etc.) y su forma de responder a las acciones (eventos) del usuario. Cada propiedad tiene un nombre que viene ya definido por el lenguaje. 33 Por lo general, las propiedades de un objeto son datos que tienen valores lógicos (true, false) o numéricos concretos, propios de ese objeto y distintos de las de otros objetos de su clase. Así pues, cada clase, tipo de objeto o control tienen su conjunto de propiedades, y cada objeto o control tienen valores determinados para las propiedades de su clase. Casi todas las propiedades de los objetos pueden establecerse en tiempo de diseño y también casi siempre en tiempo de ejecución. En este segundo caso se accede a sus valores por medio de las sentencias del programa en forma análoga a como se accede a cualquier variable en un lenguaje de programación. Para ciertas propiedades ésta es la única forma de acceder a ellos. Por supuesto Visual Basic 6.0 permite crear distintos tipos de variables, como verá más adelante. Para acceder a una propiedad de un objeto se hace por medio del nombre del objeto (name), seguido de un punto (.) y el nombre de la propiedad. Por ejemplo, para cambiar el color de fondo de una caja de texto (TextBox) llamada Text1 se haría de la siguiente manera: Ejemplo: Text1.BackColor = vbRed Donde Text1 es el nombre del control, BackColor es el nombre de la propiedad que permite cambiar el color del fondo de la caja de texto y vbRed es el valor que se le ha asignado a la propiedad BackColor, que en este caso es el color rojo de Visual Basic 6.0. Nombre de objetos En principio cada objeto de Visual Basic 6.0 debe tener un nombre, por medio del cual se hace referencia a dicho objeto. El nombre (name) puede ser el que el usuario desee, e incluso Visual Basic 6.0 proporciona nombres por defecto para los diversos controles. Estos nombres por defecto hacen referencia al tipo de 34 control y van seguido de un número que se incrementa a medida que se van introduciendo más controles de ese mismo tipo en el formulario, por ejemplo, Text1 para una caja de texto, Text2 para otra caja de texto, Command1 para un botón de comando, Command2 para otro botón de comando, etc. Los nombres por defectos no son adecuados porque sólo hacen referencia al tipo de control, pero no al uso que de dicho control está haciendo el programador. Por ejemplo, si se agregan dos botones a una aplicación (Command1, Command2) uno para salir de la aplicación y otro para guardar los cambios hechos en la aplicación, sería recomendable que el botón de cerrar lleve por nombre “cmdCerrar” y el botón de guardar “cmdGuardar” y no los nombres por defecto Command1 y Command2, ya que en ocasiones no sabremos para que utilizamos uno y para que utilizamos el otro. Para asignar los nombres a los controles existe una convención ampliamente aceptada que es la siguiente: se utilizan siempre tres letras en minúscula que indican el tipo de control, seguido de otras letras (la primera en mayúscula) libremente escogidas por el usuario, que tienen que hacer referencia al uso que se va a dar a ese control. La siguiente tabla muestra las abreviaturas de los controles más usuales, junto con la nomenclatura inglesa de la que se derivan. Abreviatura Control Abreviatura Control chk CheckBox cbo Combo y Drop-ListBox cmd CommandButton dir DirListBox drv DriveListBox fil FileListBox frm Form fra Frame hsb HorizontalScrollBar img Image lbl Label lin Line lst List mnu Menu opt OptionButton pct PictureBox shp Shape txt TExtEditBox tmr Timer vsb VerticalScrollBar Tabla 1 Abreviaturas de los controles 35 3.2.5 Eventos Ya se ha dicho que las acciones del usuario sobre un programa se llaman eventos. Son eventos típicos: hacer clic sobre un botón, el hacer doble clic sobre un fichero para abrirlo, el arrastrar un icono, el pulsar una tecla o combinación de teclas, el elegir una opción de un menú, el escribir en una caja de texto o simplemente mover el mouse. Cada vez que se produce un evento sobre un determinado tipo de control, Visual Basic 6.0 arranca una determinada función o procedimiento que realiza la acción programada por el usuario para ese evento concreto. Estos procedimientos se llaman con un nombre que se forma a partir del nombre del objeto y el nombre del evento, separados por el carácter (_) underscore. Por ejemplo, el evento clic de un botón de comando: Private Sub Command1_Click ( ) End Sub Donde Private Sub indica la declaración del procedimiento, Command1 especifica el nombre del control, el carácter (_) underscore indica la separación entre el nombre del control y el nombre del evento, Click es el nombre del evento que especifica que la acción de ese procedimiento se ejecutará cuando el usuario haga clic sobre el botón, los paréntesis ( ) se utilizan para otras declaraciones que veremos más adelante y End Sub indica el fin del procedimiento. 3.2.6 Métodos Los métodos son funciones que también son llamadas desde el programa, pero a diferencia de los procedimientos no son programadas por el usuario, sino que vienen ya pre-programadas con el lenguaje de programación. Los métodos 36 realizan tareas típicas, previsibles y comunes para todas las aplicaciones. Cada tipo de objeto o de control tienen sus propios métodos. Para hacer referencia a un método basta con indicar el nombre del objeto (name) y el nombre del método separados por un punto. Ejemplo: Para ocultar un formulario, Form1.Hide Dónde Form1 indica el nombre del control que en este caso es un formulario y Hide especifica el nombre del procedimiento. 3.3 ¿Qué es Visual Basic 6.0? Visual Basic 6.0 es una excelente herramientas de programación que permite crear aplicaciones para Windows. Este programa permite crear ventana, botones, menús y cualquier otro elemento de Windows de una forma fácil e intuitiva. 3.4 El entorno de Visual Basic 6.0 Cuando se arranca Visual Basic 6.0 aparece en la pantalla una configuración similar a la mostrada en la siguiente figura: Fig. 5 Entorno de visual basic 37 En ella se pueden distinguir los siguientes elementos: 1.- La barra de título, la barra de menús y la barra de herramientas estándar. 2.- Barra de herramientas no estándar (Toolbox) con los controles más comunes. 3.- Formulario (Form) en gris, en el que se colocan los controles. Está dotado de una rejilla (grid) para facilitar la alineación de los controles en el formulario. 4.- Ventana de proyecto (Project), que muestra los formularios y otros módulos de programas que forman parte de la aplicación. 5.- Ventana de propiedades (Properties), en la que se pueden ver las propiedades de un objeto seleccionado sobre el formulario. 6.- Ventana Form Layout, que permite determinar la forma en que se vera la aplicación cuando comience a ejecutarse. Existen otros elementos tales como: la ventana para Edición de Códigos (Code Editor) y la ventana Depurador ó Debugger para ver valores en variables en tiempo de ejecución. Todo este conjunto de herramientas y de ventanas es lo que se llama un Entorno Integrado de Desarrollo o IDE (Integrated Development Environment). 3.4.1 La barra de menús y la barra de herramientas estándar Fig. 6 Barra de menús de Visual Basic 6.0 La barra de menús de Visual Basic 6.0 resulta similar a la de cualquier otra aplicación de Windows, tal y como aparece en la figurar Fig. 7 Barra de herramientas estándar 38 La Barra de Herramientas Estándar aparece debajo de la barra de menús, que permite acceder a las opciones más importantes de los menús. En Visual Basic 6.0 existen cuatro barras de herramientas: Debug, Edit, FormEditor y Estándar, por defecto sólo aparece la barra de herramientas estándar, aunque en la Figura se muestran las cuatro. Haciendo clic con el botón derecho del mouse sobre cualquier parte de la barra de herramientas, aparece un menú contextual con el que se puede hacer aparecer y ocultar cualquiera de las barras. Algunos de los menús de la barra de menús tienen muy pocas novedades, es decir, algunos incluyen las opciones típicas de los menús de cualquier aplicación. El menú File tiene pocas novedades. Lo más importante es la distinción entre proyectos. Un proyecto reúne y organiza todos los ficheros que componen el programa o aplicación. Estos ficheros pueden ser formulario, módulos, clases, recursos, etc. Visual Basic 6.0 permite tener más de un proyecto abierto simultáneamente, lo cual puede ser útil en ocasiones. Con el comando Add Project… se añade un nuevo proyecto en la ventana Project Manager. Con los comandos Open Proyect… o New Project se abre o se crea un nuevo proyecto, pero cerrando el o los proyectos que estuvieran abiertos previamente. En este menú está el comando Make ProjectName.exe…, que permite crear ejecutables de los proyectos. Tampoco el menú Edit aporta cambios importantes sobre lo que es lo habitual. Por el contrario el menú View, generalmente de poca utilizada, es bastante propio de Visual Basic 6.0. Este permite hacer aparecer en pantalla las distintas ventanas del entorno de desarrollo, así como acceder a un formulario o al código relacionado con un control (que también aparece al hacer doble clic sobre él), y manejar funciones y procedimientos. El menú Proyect permite añadir distintos tipos de elementos a un proyecto. Con Project Properties… se puede elegir el tipo de proyecto y determinar el formulario 39 con el que se arrancará la aplicación (Startup Object). Con el comando Components se pueden añadir nuevos controles a la barra de herramientas no estándar (Toolbox) que aparece a la izquierda de la pantalla. En menú Tools se encuentran los comandos para arrancar el Menu Editor y para establecer opciones del programa. En Tools/Opcion… se encuentras opciones relativas al proyecto en el que se trabaja. Por último, la ayuda (help) (siempre imprescindible y en el caso de Visual Basic 6.0 particularmente muy bien hecha) que se encuentra en el menú Help, se basa fundamentalmente en una clasificación temática ordenada de la información disponible (Contents), en una clasificación alfabética de la información (Index) y en la búsqueda de información sobre algún tema por el nombre (Search). 3.4.2 La barra de herramientas no estándar (Toolbox) Fig. 8 Barra de herramientas no estándar 40 La figura muestra la barra de herramientas no estándar (Toolbox), que incluye los controles con los que se puede diseñar la pantalla de la aplicación. Estos controles son por ejemplo, botones, etiquetas, cajas de texto, zonas gráficas, etc. Para introducir un control en el formulario simplemente hay que hacer clic con el botón izquierdo del mouse sobre el control deseado y colocarlo en el formulario con la posición y el tamaño deseado. Haciendo doble clic sobre el control es también otra forma de colocar el control en el formulario, quedando este ubicado en el centro del formulario. El número de controles que pueden aparecer en esta ventana varían con la configuración del sistema. Para introducir nuevos componentes se utiliza el comando Components… del menú Proyect, con el cual se abre el cuadro de dialogo mostrado a continuación en la figura Fig. 9 Cuadro de dialogo componentes 41 3.4.3 Formularios (Forms) Los formularios son las zonas de la pantalla sobre las que se diseña el programa y sobre los que se sitúan los controles o herramientas del Toolbox. Al ejecutar el programa, el Form se convertirá en la ventana de la aplicación donde aparecerán los botones, las cajas de texto, los gráficos, etc. Fig. 10 Formulario de Visual Basic 6.0 3.4.4 La ventana de proyecto (Project) La ventana de project permite acceder a los distintos formularios y módulos que componen el proyecto. Fig. 11 Ventana del proyecto 42 CAPITULO IV SQL Server SQL Server es un sistema de gestión de bases de datos relacionales (SGDBR o RDBMS: Relational Database Management System) diseñado para trabajar con grandes cantidades de información y la capacidad de cumplir con los requerimientos de proceso de información para aplicaciones comerciales y sitios Web. SQL Server ofrece el soporte de información para las tradicionales aplicaciones Cliente/Servidor, las cuales están conformadas por una interfaz a través de la cual los clientes acceden a los datos por medio de una LAN. La hoy emergente plataforma NET exige un gran porcentaje de distribución de recursos, desconexión a los servidores de datos y un entorno descentralizado, para ello sus clientes deben ser livianos, tales como los navegadores de Internet los cuales accederán a los datos por medio de servicios como el Internet Information Services(IIS). SQL Server está diseñado para trabajar con dos tipos de bases de datos: • OLTP (OnLine Transaction Processing) Son bases de datos caracterizadas por mantener una gran cantidad de usuarios conectados concurrentemente realizando ingreso y/o modificación de datos. Por ejemplo: entrada de pedidos en línea, inventario, contabilidad o facturación. • OLAP (OnLine Analytical Processing) Son bases de datos que almacenan grandes cantidades de datos que sirven para la toma de decisiones, como por ejemplo las aplicaciones de análisis de ventas. SQL Server puede ejecutarse sobre redes basadas en Windows Server así como sistema de base de datos de escritorio en máquinas Windows NT Workstation. 43 Los entornos Cliente/Servidor, están implementados de tal forma que la información se guarde de forma centralizada en un computador central (servidor), siendo el servidor responsable del mantenimiento de la relación entre los datos, asegurarse del correcto almacenamiento de los datos, establecer restricciones que controlen la integridad de datos, etc. Del lado cliente, este corre típicamente en distintas computadoras las cuales acceden al servidor a través de una aplicación, para realizar la solicitud de datos los clientes emplean el Structured Query Language (SQL), este lenguaje tiene un conjunto de comandos que permiten especificar la información que se desea recuperar o modificar. Existen muchas formas de organizar la información pero una de las formas más efectivas de hacerlo está representada por las bases de datos relacionales, las cuales están basadas en la aplicación de la teoría matemática de los conjuntos al problema de la organización de los datos. En una base de datos relacional, los datos están organizados en tablas (llamadas relaciones en la teoría relacional). Una tabla representa una clase de objeto que tiene importancia para una organización. Por ejemplo, se puede tener una base de datos con una tabla para empleados, otra para clientes y otra para productos del almacén. Las tablas están compuestas de columnas y filas (atributos y tuplas en la teoría relacional). La tabla Empleados tendría columnas para el nombre, el apellido, código del empleado, departamento, categoría laboral y cargo. Cada fila representa una instancia del objeto representado por la tabla. Por ejemplo, una fila de la tabla Empleados, representa el empleado cuyo Id de empleado es 12345. Al organizar los datos en tablas, se pueden encontrar varias formas de definirlas. La teoría de las bases de datos relacionales define un proceso, la normalización, que asegura que el conjunto de tablas definido organizará los datos de manera eficaz. 44 Fig. 12 Aplicación sql 45 CAPITULO V El DataReport El componente DataReport es una de aquellas ideas excelentes para Visual Basic, pero como siempre, parece que siempre nacen prematuras y suelen dar problemas donde aparentemente no los debería haber (siempre tenemos que encontrarnos con alguna carencia o BUG). No obstante estudiando a fondo DataReport, le he encontrado su esencia y capacidad para gestionar reportes de datos. En fin, a pesar de las múltiples carencias actuales, DataReport es sumamente atractivo, algo para programadores Visual Basic, y estoy seguro que pronto será robusto. Entre las cosas más interesantes de DataReport encuentro que se puede enlazar no solo a DataEnvironments, sino a clases de reconocimiento de datos, y a simples objetos de ADO. Este articulo muestra un ejemplo. ¿Porque que gestionar DataReport con código, y no usar los asistentes (partiendo delsde el DataEnvironment)?. Sencillamente la respuesta es la creación de reportes reutilizables (dinámicos). Por ejemplo, hace poco tenía que crear cerca de cien reportes de una base de datos petrolera. Solucione el problema con solo tres DataReport y clases que los manipulan al derecho y al revés. 5.1 Primeros Pasos con DataReport Para empezar con DataReport, recomiendo los siguientes títulos de la MSDN (siga los árboles subsecuentes). Es importante que domines aquellos conceptos para seguir con esta lectura. Acerca del Diseñador de entorno de datos Escribir informes con el Diseñador de informe de datos de Microsoft Tener acceso a datos mediante Visual Basic 46 5.2 El Objeto DataReport Se trata de unas librerías ActiveX escritas para Visual Basic, soportadas en tecnología ADO. Un DataReport se asimila mucho a un formulario, con su diseñador y todo. A grandes rasgos, he encontrado las siguientes características: Carencias 1. Los Controles para el diseñador son pocos y algo limitados. 2. No permite la adición de Controles en tiempo de ejecusión. 3. Los controles enlazables a datos deben obligatoriamente estar enlazados a un DataField. 4. Carece de una interfaz para exportar a documentos a formatos de Office. 5. El diseñador tiene limitaciones (por ejemplo no permite copiar y pegar controles). 6. El problema de la orientación del papel ha hecho carrera en los News (ver MSDN: Articulo 197915 - Report Width is Larger than the Paper Width). Aun no encuentro solución para impresoras en Red. 7. Debería compartir la interfaz del objeto Printer. 8. La variable de tipo DataReport no acepta todas las propiedades definidas en un objeto DataReport especifico (ver MSDN: Articulo 190584- Some Properties or Methods Not Displayed in DataReport). Beneficios 1. Es manipulable desde código (tiene un módulo de código). 2. Es tecnología ADO (acepta cualquier origen de datos). 3. Acepta el conjunto de datos en tiempo de ejecución (siempre que sea lógico con la estructura del reporte) 4. Está bien organizado en términos de objetos 5. El acceso a los controles es a través de cadenas de texto (los controles en un DataReport son diferentes a los controles ActiveX normales) 6. Crea informes con buen rendimiento 47 Existirán más carencias y beneficios, pero por el momento estos enunciados son suficientes. Para Los programadores Visual Basic, el primer beneficio enunciado es suficiente para tener muy en cuanta a DataReport, ya que permitirá explorar todas sus posibilidades. De eso trata este artículo. 48 CAPITULO VI PROGRAMACIÓN CON WINSOCK CONTROL 6.1 Protocolos TCP/IP y UDP Como anteriormente quedó aclarado dos programas se pueden conectar entre sí a través de internet o de una LAN. Internet usa el protocolo TCP/IP que significa "Transmision Control Protocol / Internet Protocol", es el que se encarga de recibir paquetes de información y redirigirlos al usuario final que los solicitó. Este protocolo es el preferido por todos ya que posee una característica que UDP le envidia, TCP/IP puede verificar que el paquete de información haya llegado con éxito al destinatario final, concretando así la transacción. Por el contrario UDP no puede hacer esto, solo manda el paquete con la información y no verifica que haya llegado satisfactoriamente, poniendo de esta manera en peligro al paquete, ya que puede no llegar entero al destinatario y por lo tanto no sirve si el paquete no llega en su totalidad. Todas las máquinas que están conectadas a Internet tienen asignadas un número que se forma con 4 cifras de 3 dígitos (que no pueden superar al número 255). Ejemplo del IP máximo que se puede encontrar: 255.255.255.255 6.2 Propiedades, métodos y eventos de WinSock Una vez que tenemos el WinSock control en nuestra barra de controles en Visual Basic ya podemos comenzar a ver las propiedades, eventos y métodos más importantes del control. Para agregarlo manualmente ir a Proyecto> 49 Componentes> y luego seleccionar WinSock Control y Aceptar. Como mencionamos anteriormente este control no es visible en tiempo de ejecución. Primero abrimos un proyecto (EXE Estándar) y colocamos en control en cualquier parte del formulario. Vamos a comenzar por ver las propiedades, estas pueden ser puestas en tiempo de diseño como también en tiempo de ejecución. A continuación se detallan las propiedades más importantes. Lista de propiedades más importantes LocalIP: Devuelve la dirección IP de la máquina local en el formato de cadena con puntos de dirección IP (xxx.xxx.xxx.xxx). LocalHostName: Devuelve el nombre de la máquina local. RemoteHost: Establece el equipo remoto al que se quiere solicitar la conexión. LocalPort: Establece el puerto que se quiere dejar a la escucha. RemotePort: Establece el número del puerto remoto al que se quiere conectar. State: Verifica si el Control WinSock está siendo utilizado o no. La sintaxis de cada propiedad es Objeto.Propiedad = Valor Donde Objeto va el nombre del Control WinSock, el nombre predeterminado 50 cuando lo incluimos en alguna aplicación es "WinSock1". Luego le sigue la propiedad que deseamos asignar y finalmente el valor que la misma tomará. Ejemplo de la propiedad LocalIP Si queremos probar la propiedad LocalIP debemos seguir los siguientes pasos: Crear un Proyecto (EXE Estándar) y agregar el WinSock Control. Luego agregar una etiqueta vacía, es decir un Label. Por último, introduzca el siguiente código. Agregar etiqueta Private Sub Form_Load() Label1.caption = WinSock1.LocalIP End Sub Este simple ejemplo nos da de forma rápida nuestro IP, aunque no estemos conectados a Internet el IP aparece igual, solo que siempre va a tomar el valor: 127.0.0.1 6.3 Lista de Métodos más importantes Ahora que sabemos manejar las propiedades podemos seguir con los Métodos. A continuación se muestra la lista de algunos de los Métodos más importantes del Control WinSock. Accept: Sólo para las aplicaciones de servidor TCP. Este método se utiliza para aceptar una conexión entrante cuando se está tratando un evento ConnectionRequest. GetData: Recupera el bloque actual de datos y lo almacena en una variable de tipo Variant. 51 Listen: Crea un socket y lo establece a modo de escucha. SendData: Envía datos a un equipo remoto. 6.4 Lista de Eventos más importantes ConnectionRequest: Se produce cuando el equipo remoto solicita una conexión. Sin este evento no se puede llevar a cabo la conexión. Connect: Se produce cuando el equipo local se conecta al equipo remoto y se establece una conexión. Close: Se produce cuando el equipo remoto cierra la conexión. Las aplicaciones deben usar el método Close para cerrar correctamente una conexión TCP. DataArrival: Se produce cuando llegan nuevos datos. Este evento es importante, ya que debemos hacer algo con la información que llega. La sintaxis de los métodos y eventos es igual a la sintaxis de las propiedades, por lo cual no vamos a hacer referencia a ella. 52 CAPITULO VII IMPLEMENTACIÓN DEL SISTEMA 7.1 Especificación de Recursos En el desarrollo de una aplicación para el control de una red de alquiler de cyber se utilizara diversos recursos; estos son: Hardware, Software, Humanos y otros. A continuación se describirá en detalle los recursos que se utilizaron para el diseño del sistema académico y para su óptima utilización por parte de los usuarios. Hardware Los recursos de Hardware necesarios para el desarrollo y programación del Sistema se centran específicamente en una Computadora, que deberá cumplir con las siguientes características: COMPONENTE CARACTERÍSTICAS Motherboard Intel Desktop Borrad D845GVSR Procesador Intel Pentium IV 3 GHz Memoria del Sistema 1 GB Unidad de CD ROM CD ROM Disco Duro 200 Giga Bytes Tabla 2. Hardware para la implementación 53 Software Para el desarrollo del Sistema es necesario contar con los siguientes recursos de software: Sistema Operativo, Motor de base de Datos, Lenguajes de Programación, paquetes para diseño de la documentación. En la siguiente tabla especifico los componentes que se utilizan en la realización del sistema: COMPONENTE CARACTERÍSTICA Sistema Operativo Windows XP SP 2 Lenguajes de Programación Visual Basic 6.0 Motor de Base de Datos SQL server Software de Diseño Web Adobe photoshop cs2, corel draw Otros Paquetes Microsoft Office 2007 (Word, PowerPoint, Visio. Tabla 3. Software para la implementación Humano El desarrollo de una aplicación cliente servidor requiere de algunas fases como el análisis de requerimientos, el diseño y desarrollo del proyecto, que debe cumplir con todos los requisitos especificados por la empresa donde se ejecutará a través de una intranet y a través de la red de redes Internet. Para el cumplimiento de lo especificado se requiere de diferente personal para la 54 realización de cada una de las tareas necesarias en cada etapa. Debido a que el proyecto será ejecutado por una sola persona, en la tabla siguiente se detalla cada uno de las funciones que deberá cumplir para la consecución del proyecto. ENTREVISTADOR RESPONSABLE Analista Señor. Marco Villacrés Diseñador Señor. Marco Villacrés Implementador Señor. Marco Villacrés Director de Proyecto Señor. Marco Villacrés Asesor Ingenieros Consultor Ingenieros Tabla 4. Recurso humano necesario Varios Para el desarrollo de la aplicación web, he utilizado otros recursos, porque es necesario una investigación profunda; antes, durante y después de la ejecución del proyecto. Estos recursos que no pueden ser clasificados en las categorías anteriores se muestran a continuación: Transporte. Información en Internet Libros, publicaciones. Revistas. Folletos 55 CAPITULO VIII 8.1 Requerimientos La empresa “Alex Store” tiene como objetivo dar servicio acorde a las nuevas tecnologías de manera que estas vayan de la mano con la necesidad impuesta de desarrollo y competitividad. También incluye en su misión la capacitación a jóvenes que reciben educación integral a través de los cursos dictados, factor que ha favorecido a la comunidad, por lo cual es necesario seguir implementando cada día tecnología que garantice este avance y promueva el crecimiento humanístico y académico. A partir de las especificaciones anteriores surgió la necesidad de crear un sistema que facilite el control de una parte de la empresa que brinda servicio de internet, el cual sin duda brindara seguridad y confianza a la vez que significara un ahorro de tiempo y dinero en lo que tiene que ver con el factor servicio humano. El sistema será fácil de utilizar y cumplirá con los requerimientos de la empresa asignada. Ámbito. El sistema esta diseñado en dos herramientas de muy alto nivel para este tipo de sistemas, que requerirá la instalación de SQL server para la manejabilidad de la base de datos. El acceso al sistema esta controlado por el administrador de servicios de internet. Nombre. 56 El presente sistema creado obtendrá el siguiente nombre: VL.NET. Funciones Limitaciones. El presente sistemas estará creado con todas las leyes y controles en los diferentes campos de ingreso, consulta de datos y ayudas. Para acceder a la configuración del sistema se diseñara una ventana donde el usuario o el administrador deben ingresar la contraseña. Para que funcione el sistema deberá estar instalado el motor de base de datos sin el cual no podrá funcionar. 8.2. Funciones. El sistema permitirá un control necesario desde el administrador a las maquinas clientes. El sistema permitirá ingresar tiempos fijos de utilización de las maquinas clientes en caso de solicitarlo así y advertirá el evento a los clientes. El sistema almacenara los datos de los diferentes movimientos de alquiler de las maquinas. El administrador podrá acceder a la configuración del sistema mediante una contraseña. El sistema permitirá registrar ventas. El administrador podrá revisar reportes diarios o mensuales de los movimientos. Enviar mensajes a los equipos. Acceso, bloqueo y desbloqueo desde el servidor. 8.3 Características del Sistema El sistema es estable y funciona incluso en máquinas de mediana capacidad. Interactúa con una base de datos diseñada en SQL, mediante una interfaz predecible y no complicada. El administrador controla el funcionamiento del sistema. 57 Se resolverá fácilmente los problemas con la fuente de ayudas. Usuario Administrador Tipo (quien utiliza) Nivel de conocimientos Informáticos Numero de usuario Medio 1 Quien Administra y da mantenimiento al sistema. Tabla 5. Tipos de usuarios 8.4 Interfaz El diseño del sistema de Cyber control tendrá una interfaz amigable y fácil de manejar, tendrá un menú con los procesos que el sistema permite hacer al usuario. 8.5 Seguridades (SW) El ingreso a la configuración del sistema será a través de contraseñas. 58 CAPITULO IX ANÁLISIS 9.1. DFD’S En los diagramas de flujo de datos se realiza un breve bosquejo de cómo va a interactuar el sistemas. Sistema DATOS USUARIO Fig. 13. Diagrama de nivel 0 Fig. 14 Diagrama de nivel 1 9.2. DER A continuación se describe las tablas con sus respectivos campos, clave primaria y sus relaciones: 59 Clave primaria: Tabla adicionales contiene la clave primaria el campo (id_producto). Tabla configuración contiene la clave primaria el campo (id_c). Tabla dias contiene la clave primaria el campo (dia). Tabla informe contiene la clave primaria el campo (id_inf). Tabla previo contiene la clave primaria el campo (id_pr). Fig. 15 Tablas 9.3. Diccionario de Datos Es una herramienta donde se profundiza los detalles contenidos en el flujo de datos y almacenamiento. 60 Tabla configuracion Campos Id_c Tipo INT Caracteres Descripción 5 Almacena el código. total CHAR 30 Almacena el total consumo tiempo valor CHAR CHAR 30 30 pass INT 10 minimo tminimo CHAR CHAR 11 30 Almacena tiempo consumo Almacena el valor por tiempo consumido Almacena la clave de configuración del sistema Almacena consumo mínimo Almacena el tiempo mínimo Tabla 6. Tabla configuracion Tabla previo Campos Tipo Caracteres Cod_pr INT 5 cant CHAR 30 Descripción Almacena el código. Almacena cantidad de producto a vender nombre CHAR 30 Almacena nombre de producto costo CHAR 11 Almacena el costo del producto maquina INT Almacena el número de 40 maquina Tabla 7. Tabla previo Tabla dias Campos dia Tipo INT Caracteres 5 Descripción Almacena el día en que se realizan las operaciones observaciones TEXTO 30 Almacena observaciones adicionales a lo registrado debe CHAR 30 Almacena los gastos haber INT 11 Almacena los ingresos 61 saldo CHAR 40 Almacena el saldo al final del día trabajos CHAR Almacena el valor de los trabajos stotal CHAR Almacena el subtotal extras CHAR Almacena el valor de ventas extras Tabla 8. Tabla dias Tabla ventas Campos Tipo Caracteres Descripción Id_venta INT 5 Almacena el código cant CHAR 30 Almacena la cantidad de producto nombre TEXTO 30 Almacena el nombre de producto costo CHAR 11 Almacena el costo del producto total CHAR 40 Almacena el total de venta dia DATE Almacena el día en que se vendió determinado producto Tabla 9. Tabla ventas Tabla informe Campos Tipo Caracteres Descripción Id_inf INT 10 Almacena el código inicio DATE 30 Almacena la hora de inicio de la TIME dia CHAR maquina 30 Almacena el día de 62 transacciones pc INT 11 Almacena el número de la maquina ocupada fin CHAR 40 Almacena la hora en que finaliza la ocupación de la maquina internet CHAR 40 Almacena el total del día en el alquiler de internet adicionales CHAR 40 Almacena el total de las ventas total CHAR 40 Almacena el haber Tabla 10. Tabla informe Tabla adicionales Campos Tipo Caracteres Id_producto INT 5 nombre TEXTO 30 Descripción Almacena el código Almacena el nombre de producto costo CHAR 30 Almacena el costo de producto Tabla 11. Tabla adicionales 9.4 Diseño, Codificación e Implementación del Control. Para la elaboración de este sistema de control se ha utilizado SQL server como motor de base de datos valiéndose de herramientas de diseño como Adobe Photoshop para la creación de la interfaz. También se ha utilizado la herramienta Data Report mediante la cual se podrá generar reportes de movimientos. El software esta diseñado para almacenar los datos que se maneja desde el administrador. A continuación describimos las diferentes funciones que cumple cada una de las Ventanas. 63 VENTANA PRINCIPAL En esta ventana nos indica el menú principal, donde el usuario puede seleccionar una de las opciones. Fig. 15 Ventana principal Barra de tareas Esta barra muestra todas las opciones del programa Fig. 16 barra de tareas Botones bloquear desbloquear Estos bloquean o desbloquean la maquina seleccionada en la lista, la función disponible se muestra cundo el botón esta encendido 64 Fig. 17 botones bloquear/desbloquear Botón examinar tareas Este botón nos permite ver los títulos de las ventanas de la maquina cliente seleccionada. Fig. 18 botón examinar tareas Botón limitar tiempo Este botón nos permite limitar un rango de tiempo de utilización de una maquina cliente según la selección. Fig. 18 botón limitar tiempo Botón informes Este botón vincula los informes de registro de utilización de máquinas y ventas. 65 Fig. 19 botón informes Botón configuración Nos dirige a la configuración del programa previo una contraseña. Fig. 20 botón configuración Botón de ayuda Este botón nos dirige a los temas de ayuda y solucionador de problemas. Fig. 21 botón de ayuda 66 CONCLUSIONES Se dará menos pérdida de información, por lo tanto mejorara la competitividad y rentabilidad de la empresa. El tiempo de atención será más efectivo. Todos o la mayoría de los clientes que frecuentan “Alex Store” Café Internet están de acuerdo en que se sistematice el área de atención al cliente. La empresa mediante el uso de este programa se podrá posicionar entre los mejores del área. Se podrá añadir indeterminado numero de maquinas clientes satisfaciendo una posible futura demanda. El sistema es estable y consume pocos recursos tanto del servidor como de las maquinas clientes. El sistema siendo personalizado presenta fácil modularidad. 67 RECOMENDACIONES Orientar al personal sobre el manejo del nuevo sistema y en lo posible que dicho personal tenga conocimientos informáticos. Igualar la hora de la máquina servidor con los clientes para evitar inconvenientes. La computadora que se utilice como servidor debería ser la que posea las mejores características con respecto a velocidad y rendimiento. Respaldar permanentemente la base de datos. Realizar mantenimiento permanente del software de las maquinas ya que el internet las expone a los virus informáticos. 68 Resumen La empresa “Alex Store”, desde su creación no cuenta con un sistema personalizado de control dedicado para la sección de alquiler de máquinas y cuando adquirió un sistema no personalizado le presentaba numerosos problemas, además de que no llevaba un registro correcto y completo de transacciones. La empresa sin embargo tuvo siempre excelente hardware dispuesto a cumplir sus objetivos propuestos, lo que le faltaba es contar con recursos software que le ayuden al manejo y control, en especial algo que se adapte a sus necesidades ya que como es bien sabido toda empresa marca diferencias en lo referente a políticas de manejo, situaciones económicas, mercados, prestación de servicios entre otros. El diseño de la base de datos esta creada en SQL, lo cual brinda seguridad en el almacenamiento, recuperación y modificación de datos. El diseño de la interfaz ha sido bajo programas de diseño como photoshop el cual se presenta de forma agradable y fácilmente predecible. Como resultado de la creación de este sistema obtendremos, fácil gestión del alquiler de máquinas para internet y recuperación de datos así como reportes adecuados diarios y mensuales. De esta manera crearemos un ambiente adecuado para la empresa y sus clientes. 69 SUMMARY The company "Alex Store" since its creation does not have a custom control system for the section dedicated machine rental and when it acquired a noncustomized system you had many problems, and was not accurate and complete records of transactions . The company however has always had excellent hardware committed to meeting its objectives, what was missing is to have software resources to help the management and control, especially something that suits your needs and as is well known that every company brand differences in terms of management policies, economic conditions, markets, services and more. The design of the database is created in SQL, which provides security in the storage, retrieval and data modification. The design of the interface has been under design programs such as photoshop which is presented in a pleasant and easily predictable. As a result of creating this system we get, easy to machine rental management for Internet and data recovery and adequate reports daily and monthly. In this way we will create a suitable environment for the company and its customers. 70 GLOSARIO Cyber.- local público donde se ofrece a los clientes acceso a internet. Reportes.- tienen como finalidad informar los diferentes movimientos del sistema. Analista.- tiene como cometido analizar un problema y describirlo con el propósito de ser solucionado mediante un sistema informático. Sistema Operativo.- es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones. Lenguaje de Programación.- es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Software.- equipamiento lógico o soporte lógico de una computadora digital; comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos, que son llamados hardware. Hardware.- corresponde a todas las partes tangibles de una computadora sus componentes eléctricos, electrónicos, electromecánicos y mecánicos; sus cables, gabinetes o cajas, periféricos de todo tipo y cualquier otro elemento físico involucrado; contrariamente, el soporte lógico es intangible y es llamado software. Base de datos.- es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. MSDN.- Ayudas de visual studio. UDP.- protocolo del nivel de transporte basado en el intercambio de datagramas. Path.- Camino, es la dirección de un archivo o directorio. Programación Orientada a Objetos.- es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. SGDBR.- sistema de gestión de bases de datos relacionales. 71 Bibliografía Libro de XAMPP (SQL, Edición 2010). http://www.software-shop.com . Fecha de Investigación 01/01/2011, Manual photoshop http://www.anse.de/mysqlfront/ Fecha de Investigación 02/01/2011, como se instala SQL. http://my.anse.de/forum.visual, Fecha de Investigación 08/01/2011. http://www.arsys.es/ayuda/directorio/productos/servidores-dedicados/sqlserver-express-edition.htm, Fecha de Investigación 06/02/2011, manuales de programación de aplicaciones Web. http://www.lawebdelprogramador.com Fecha de Investigación 22/02/2011, concepto de sql y su función. http://www.zend.com/php5/articles/php5-mysqli.php. 72 ANEXOS 73 ANEXO: 1 MANUAL DE USUARIO 74 ANEXO: 2 CRONOGRAMA 75 CRONOGRAMA TENTATIVO El diseño y la implementación del Proyecto de Tesis se han proyectado, estableciendo una duración de seis meses de acuerdo a la descripción detallada en el Diagrama de GANNT. 76 ANEXO N° 3 FOTOGRAFÍAS DE LA EMPRESA 77 LOCAL ALEX STORE 78