UNIVERSIDAD TÉCNICA ESTATAL DE QUEVEDO FACULTAD DE CIENCIAS DE LA INGENIERÍA ESCUELA DE INFORMÁTICA TESIS DE GRADO

Tamaño: px
Comenzar la demostración a partir de la página:

Download "UNIVERSIDAD TÉCNICA ESTATAL DE QUEVEDO FACULTAD DE CIENCIAS DE LA INGENIERÍA ESCUELA DE INFORMÁTICA TESIS DE GRADO"

Transcripción

1 UNIVERSIDAD TÉCNICA ESTATAL DE QUEVEDO FACULTAD DE CIENCIAS DE LA INGENIERÍA ESCUELA DE INFORMÁTICA TESIS DE GRADO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN SISTEMAS TEMA: ACCESO COMPARTIDO A DISPOSITIVOS DE ADQUISICIÓN ÓPTICA (ESCÁNER) EN UNA RED DE ÁREA LOCAL AUTORES: EDGAR FABRICIO RIVERA OSORIO SIMÓN STEVEN SÁNCHEZ ÁLVAREZ SEPTIEMBRE 2009 QUEVEDO LOS RÍOS ECUADOR

2 UNIVERSIDAD TÉCNICA ESTATAL DE QUEVEDO FACULTAD DE CIENCIAS DE LA INGENIERÍA ESCUELA DE INFORMÁTICA ACCESO COMPARTIDO A DISPOSITIVOS DE ADQUISICIÓN ÓPTICA (ESCÁNER) EN UNA RED DE ÁREA LOCAL TESIS DE GRADO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN SISTEMAS APROBADO:... PRESIDENTE... MIEMBRO... MIEMBRO QUEVEDO LOS RÍOS ECUADOR 2009 i

3 La responsabilidad de las Investigaciones, y los Resultados son exclusivamente de los autores. EDGAR FABRICIO RIVERA OSORIO SIMÓN STEVEN SÁNCHEZ ÁLVAREZ ii

4 D E D I C A T O R I A A DIOS y su infinita misericordia. A nuestros PADRES por todo el esfuerzo que han hecho y el respaldo que nos han brindado, digno ejemplo de imitarse. A nuestros HERMANOS nuestra gratitud por el esfuerzo puesto en nuestra formación profesional. A nuestros AMIGOS por su apoyo incondicional iii

5 AGRADECIMIENTO El agradecimiento es una palabra sublime y una expresión del alma Por eso deseamos plasmar aquí nuestro agradecimiento a quienes han ayudado a la consecución de esta nueva meta en nuestra vida. Nuestro agradecimiento en primer lugar a Dios, al todopoderoso por darnos la fuerza y seguridad para culminar los estudios. A la Universidad Técnica Estatal de Quevedo, a la Facultad de Ciencias de La Ingeniería y a la Escuela de Informática que durante estos 5 años se convirtieron en nuestro hogar. A los Docentes de la Escuela de Informática por los conocimientos impartidos durante los años de estudio. Al Ing. Ariosto Vicuña Pino, los más sinceros agradecimientos, por guiarnos día tras día en el desarrollo de nuestra tesis. A nuestras familias por su comprensión y generosidad, que nos brindaron el espacio y tiempo necesario para cumplir con los trabajos. A nuestros amigos por su amistad y confianza. iv

6 CERTIFICACIÓN Ing. Ariosto Vicuña Pino, Docente de la Facultad de Ciencias de La Ingeniería, Escuela de Informática de la Universidad Técnica Estatal de Quevedo. Certifica: Que los egresados EDGAR FABRICIO RIVERA OSORIO y SIMÓN STEVEN SÁNCHEZ ÁLVAREZ, realizaron la investigación propuesta y han cumplido a cabalidad con los requisitos de desarrollo de software y el correspondiente informe técnico de la Tesis de Grado titulada ACCESO COMPARTIDO A DISPOSITIVOS DE ADQUISICIÓN ÓPTICA (ESCÁNER) EN UNA RED DE ÁREA LOCAL, bajo mi dirección, acatando las disposiciones reglamentarias establecidas para el efecto. Ing. Ariosto Vicuña Pino DIRECTOR v

7 1. PRESENTACIÓN DEL PROYECTO 1.1. RESUMEN EJECUTIVO En muchas empresas actualmente existe la necesidad de compartir información digitalizada y se observa que estas compran dispositivos de adquisición de imágenes (escáner) para cada usuario para satisfacer esas necesidades. El propósito de esta investigación se basó en descubrir la forma de compartir aquellos dispositivos en una Red de Área Local para ahorrar tiempo y dinero. Después de haber hecho las respectivas investigaciones bibliográficas en textos y en el Internet, podemos afirmar que la compartición de dispositivos de adquisición de imágenes en una red, es totalmente factible. Para este trabajo de investigación se ha tomado en cuenta los requerimientos de los usuarios como son: Realizar OCR. Descargar Imágenes, editarlas e imprimirlas. Acceder remotamente a cualquier dispositivo que se encuentre disponible en la Red LAN. Para lograr estos objetivos se utilizaron componentes abiertos y estándares de red que permiten abaratar costos de implementación a los usuarios. Luego de un análisis sobre los requerimientos y objetivos antes mencionados se seleccionó el Lenguaje de Programación Visual Basic 6.0 porque nos permite acceder a otro equipo remotamente por medio del control WINSOCK, que maneja el protocolo de comunicación TCP/IP. Para poder manipular los distintos dispositivos de entrada de imágenes por medio del Lenguaje de Programación mencionado anteriormente utilizamos el componente abierto CSXIMAGE - VERSIÓN 3 y para realizar OCR utilizamos el componente abierto IMAGE VIEWER CP ACTIVEX CONTROL. Con estos componentes se desarrolló un software que trabaja en arquitectura Cliente/Servidor. El método de experimentación que se seleccionó para este trabajo de investigación es el de diseños factoriales, en el cual se compararon las variables que tengan relación entre sí. Comprobamos nuestras hipótesis mediante el uso de la prueba Z que permite comparar los tiempos de respuesta promedio obtenidos entre un escaneo normal y un escaneo en red. 1

8 1.2. INTRODUCCIÓN A medida que transcurre el tiempo, la tecnología en el campo de las computadoras, redes de ordenadores y el Internet avanza de una manera rápida e incontrolable, haciendo fácil la compartición de recursos de Hardware y Software, en donde el desarrollo de aplicaciones se enfoca en la maximización del uso de los recursos disponibles en una Red, minimización de los costes y mejorar el trabajo en equipo en una organización. Con el uso adecuado de una red de área local (LAN) se pueden compartir archivos, programas, aplicaciones y dispositivos periféricos, que se usan en la mayor parte de Empresas, Oficinas, Centros Informáticos, Cyber Cafés, Instituciones Educativas, etc. En una LAN se puede transferir y enviar información de una forma rápida y eficaz entre grupos de trabajo reduciendo el tiempo y costos. Los diferentes usuarios de una red pueden compartir hardware tales como los discos duros y las impresoras, pero no es tan fácil compartir el escáner, los fabricantes proporcionan los drivers, pero pocos permiten configurar el escáner para usarlo en una red. Esto crea dependencia de marca. El presente trabajo investigativo permitirá definir el mecanismo tecnológico necesario para acceder a un escáner dentro de una red local, bajo parámetros estándares que permiten acceder al mencionado dispositivo libremente dentro de una red LAN. 2

9 1.3. PROBLEMATIZACIÓN Actualmente es muy común compartir dispositivos de almacenamiento y salida (Impresoras, Discos Duros, etc.), pero también existen otras necesidades tal como compartir el escáner, el cual es capaz de capturar imágenes y proporcionar información de vital importancia a los usuarios de una organización. Cuando un usuario necesita realizar una digitalización y no tiene el escáner en su computador, tendrá que interrumpir el trabajo de la persona donde se encuentra el dispositivo o deberá trasladar físicamente el escáner a su computador, e instalar el software adecuado para realizar su trabajo. Esto significa pérdida de tiempo y peor aún, tener un escáner en cada ordenador, significa elevar costos a la organización. Lo descrito anteriormente nos permite resumir nuestro trabajo de investigación en la siguiente pregunta: Es posible compartir el escáner de una manera eficiente en una Red LAN? 3

10 1.4. HIPOTESIS HIPOTESIS GENERAL Hi: El uso de componentes abiertos y estándares de redes facultan el desarrollo de un software eficiente que permite el uso remoto de un escáner HIPOTESIS OPERACIONALES Hi1: El incremento del tiempo de respuesta para adquirir una imagen desde un escáner conectado remotamente no es significativo con respecto a adquirir una imagen desde un escáner conectado directamente Hi2: El uso adecuado del OCX (CSXIMAGE) y el Protocolo de Comunicaciones TCP/IP, proporciona la plataforma tecnológica de desarrollo que permite el acceso remoto a dispositivos de adquisición de imágenes (escáner). Hi3: La transferencia de imágenes desde el escáner remoto hacia la PC destino se produce sin fallas. 4

11 1.5. MATRIZ DE CONCEPTUALIZACIÓN MATRÍZ DE CONCEPTUALIZACIÓN Y OPERACIONALIZACIÓN DE VARIABLES Variable Definición Conceptual Dimensiones Subdimensiones (Indicadores) INDEPENDIENTES: COMPONENTES Un componente es una Tamaño Redistribución ABIERTOS parte no trivial, casi Libre independiente, y Complejidad Código Fuente reemplazable de un Trabajos sistema que llena Frecuencia Derivados claramente una de Re uso Integridad Del funcionalidad dentro de Código Fuente un contexto en una Confiablidad Del Autor arquitectura bien definida. No a la Un componente se Discriminación conforma y provee la de Personas o realización física por Grupos medio de un conjunto de No a la interfaces. Son dos clases: Discriminación Framework: de Campos Estos componentes Laborales proporcionan servicios Distribución de que soportan un modelo de componentes. Bussines Component : la Licencia La Licencia No Tiene que Ser Estos componentes son Específica de aquellos especializados en un Producto prestar alguna clase de La Licencia No servicio, enfocado a un Tiene Que dominio en particular. Restringir A Otro Software 5

12 ESTÁNDARES Los estándares de redes Protocolos Normas DE REDES: son reglas y de Enlaces Aprobadas procedimientos para la de Datos comunicación entre productos de hardware y Protocolos software de diversos de Red vendedores o proveedores. Protocolos de Transporte DEPENDIENTES: ACCESO Remoto se utiliza en Acceso local Distancia de REMOTO tecnologías de la Acceso información para definir Acceso Facilidad de sistemas o elementos de extendido acceso sistemas que se encuentran físicamente separados de una unidad central. Un puente remoto es un dispositivo que hace posible la comunicación entre, por ejemplo, una LAN y una red de área amplia. El uso del término es muy frecuente para referirse al mantenimiento de sistemas a distancia, al acceso a aplicaciones residentes en unidades físicamente distantes, etc.; naturalmente, esto implica 6

13 la utilización de un software especializado. Algunos ejemplos del uso de esta palabra: gestión remota de los datos; acceso remoto a los archivos; acceso a periféricos remotos; monitorización remota, etc. EFICIENCIA Uso racional de los Tiempo De Segundos recursos con que se cuenta Respuesta para alcanzar un objetivo predeterminado. A mayor Costo Monto en eficiencia menor la dólares cantidad de recursos que se emplearán, logrando mejor optimización y rendimiento. 7

14 1.6. OBJETIVOS OBJETIVO GENERAL Obj1: Desarrollar un software que permita utilizar el escáner desde cualquier estación de trabajo conectado a una red de área local OBJETIVOS ESPECÍFICOS Obj2: Determinar los parámetros para establecer la conexión remota con cualquier escáner disponible en la red. Obj3: Determinar las propiedades y ventajas del uso del protocolo de comunicaciones TCP/IP en la transferencia de imágenes. Obj4: Determinar las propiedades y ventajas del uso de los OCX para controlar el escáner. 8

15 2. MARCO TEÓRICO 2.1. LAS REDES 1 Las redes computacionales están constituidas por la conexión de varias computadoras, de modo y manera que puedan intercambiar datos entre ellas. Para poder intercambiar estos datos estos datos tiene que cumplir una serie de normas o protocolos. Se llama protocolo al conjunto de reglas para el intercambio de información dentro de una red. El protocolo debe permitir: Establecer la llamada; Mantener la conexión; Iniciar y finalizar el coloquio; Transferir los mensajes; Controlar los errores y recuperar los datos; Se puede entender el significado de un protocolo comparándolo con una conversión telefónica. En toda conversión telefónica entre dos personas se requiere una serie de condicionantes que hacen posible el diálogo. Primero, se precisa un medio físico, para que la voz pueda ser transmitida y recibida. Después de efectuar la llamada y obtener una contestación, se requerirá que los dos usuarios hablen el mismo idioma. Tras el saludo, el usuario que ha llamado preguntará por la persona con quien desea contactar. 1 HERNANDEZ B. Vladimir, Elementos más básicos de Hardware, 9

16 No será necesario alargar la llamada si dicha persona no está presente. Si se encuentra la persona adecuada, se iniciará la conversación sobre el tema motivo de la llamada. A continuación veremos el tipo de red más sencillo que existe, pero servirá para conocer su funcionamiento global RED LOCAL O LAN La red local o LAN (Local Area Network) es un instrumento de comunicación entre varias computadoras y periféricos. Mediante esta red o enlace, se ponen a disposición de cada puesto de trabajo los recursos existentes en otras computadoras. Se puede comparar el Software que gestiona una red local con el sistema operativo de una computadora. Los programas y utilidades que componen el software de la LAN hacen de puente de unión entre el usuario y el núcleo central de la computadora. Los programas del Software de la LAN nos permitirán, en primer lugar, estructurar nuestra computadora, los archivos, las unidades de memoria de masa, nombre y código de usuario, etc. Y luego entrar en la red local, para poder compartir recursos y enviar o recibir mensaje. Este Software, por lo general, es lo suficiente simple como para que puedan utilizarlo personas con un entrenamiento mínimo. El hardware se compone de un circuito impreso donde se encuentran los controladores de la red, que sirven de unión entre la CPU del sistema y la red por donde entran o salen los datos. Los controladores de una red local por donde entran o salen los datos. Los controladores de una red local son circuitos electrónicos muy complejos diseñados para realizar varias funciones. La CPU entrega los datos al controlador de la LAN, a través del bus de datos. El controlador serializa estos datos, utiliza un determinado protocolo, o sea, un conjunto de reglas que facilitan la comunicación con las otras computadoras y, además, lleva a cabo un control de los posibles errores de la red. Las redes locales, según el fabricante, utilizan distintos medios de enlace. Estos medios pueden ser: cables coaxiales, hilos trenzados o fibras ópticas. 10

17 2.2. DIGITALIZACIÓN DE IMÁGENES INTRODUCCIÓN El término digitalización se puede asociar de una manera clara, la forma como una imagen (texto, fotos, formas, sonido, movimiento...), se pueden convertir en un idioma comprensible para los computadores. En general las señales exteriores que hacen posible la identificación en su estado natural, se transforman en código binario (0 s y 1 s) que mediante la utilización de programas se pueden transformar de acuerdo a los requerimientos ESCÁNER Los escáneres son periféricos diseñados para registrar caracteres escritos, o gráficos en forma de fotografías o dibujos, impresos en una hoja de papel facilitando su introducción en la computadora convirtiéndolos en información binaria comprensible para ésta. Fig. 1 Scanner FUNCIONAMIENTO DEL SCÁNNER El funcionamiento de un escáner es similar al de una fotocopiadora. Se coloca una hoja de papel que contiene una imagen sobre una superficie de cristal transparente, bajo el cristal existe una lente especial que realiza un barrido de la imagen existente en el papel; al realizar el barrido, la información existente en la hoja de papel es convertida en una sucesión de información en forma de unos y ceros que se introducen en la computadora. Para mejorar el funcionamiento del sistema informático cuando se están registrando textos, los escáneres se asocian a un tipo de software especialmente diseñado para el manejo de este tipo de información en código binario llamados OCR (Optical Character Recognition o reconocimiento óptico de caracteres), que permiten reconocer e interpretar los caracteres 1 GÓMEZ Carlos Humberto, Digitalización de imágenes, 11

18 detectados por el escáner en forma de una matriz de puntos e identificar y determinar qué caracteres son los que el subsistema está leyendo. Un caso particular de la utilización de un scanner, aunque representa una de sus principales ventajas, es la velocidad de lectura e introducción de la información en el sistema informático con respecto al método tradicional de introducción manual de datos por medio del teclado, llegándose a alcanzar los caracteres por segundo. Una definición simple de escáner podría ser la siguiente: dispositivo que permite pasar la información que contiene un documento en papel a una computadora, para de esta manera poder modificarlo. Este proceso transforma las imágenes a formato digital, es decir en series de 0 y de 1, pudiendo entonces ser almacenadas, retocadas, impresas o ser utilizadas para ilustrar un texto OCR Si pensamos un poco en el proceso de escaneado descrito, nos daremos cuenta de que al escanear un texto no se escanean letras, palabras y frases, sino sencillamente los puntos que las forman, una especie de fotografía del texto. Evidentemente, esto puede ser útil para archivar textos, pero sería deseable que pudiéramos coger todas esas referencias tan interesantes pero tan pesadas e incorporarlas al procesador de texto no como una imagen, sino como texto editable. El OCR es un programa que lee esas imágenes digitales y busca conjuntos de puntos que se asemejen a letras, a caracteres. Dependiendo de la complejidad de dicho programa entenderá más o menos tipos de letra, llegando en algunos casos a interpretar la escritura manual, mantener el formato original (columnas, fotos entre el texto...) o a aplicar reglas gramaticales para aumentar la exactitud del proceso de reconocimiento. Para que el programa pueda realizar estas tareas con una cierta fiabilidad, sin confundir "t" con "1", por ejemplo, la imagen debe cumplir unas ciertas características. Fundamentalmente debe tener una gran resolución, unos 300 ppp para textos con tipos de letra claros o 600 ppp si se trata de tipos de letra pequeños u originales de poca calidad como periódicos. Por contra, 12

19 podemos ahorrar en el aspecto del color: casi siempre bastará con blanco y negro (1 bit de color), o a lo sumo una escala de 256 grises (8 bits). Por este motivo algunos escáneres de rodillo (muy apropiados para este tipo de tareas) carecen de soporte para color. El proceso de captación de una imagen resulta casi idéntico para cualquier escáner: se ilumina la imagen con un foco de luz, se conduce mediante espejos la luz reflejada hacia un dispositivo denominado CCD que transforma la luz en señales eléctricas, se transforma dichas señales eléctricas a formato digital en un DAC (conversor analógico-digital) y se transmite el caudal de bits resultante al ordenador. El CCD (Charge Coupled Device, dispositivo acoplado por carga -eléctrica-) es el elemento fundamental de todo escáner, independientemente de su forma, tamaño o mecánica. Consiste en un elemento electrónico que reacciona ante la luz, transmitiendo más o menos electricidad según sea la intensidad y el color de la luz que recibe; es un auténtico ojo electrónico. Hoy en día es bastante común, puede que usted posea uno sin saberlo: en su cámara de vídeo, en su fax, en su cámara de fotos digital CUÁNTO OCUPA UNA IMAGEN? Las imágenes digitalizadas se pueden guardar en diferentes formatos: GIF, TIF, BMP, JPG etc. El formato que más comprime la imagen es el JPG pero a cambio pierde un poco de calidad. Cuanta mayor sea la compresión que se le aplique a la imagen, menor será la calidad. El formato GIF tiene una buena resolución y, al igual que los JPG, se puede utilizar en páginas Web HTML de Internet, pero ocupa algo más. El formato TIF es el que mejor calidad de imagen da y es compatible con Macintosh, pero es uno de los que más ocupan. El formato BMP, es el más estándar y el más fácil de insertar en cualquier editor de texto, en cambio, es uno de los que más espacio ocupa. El formato PSP se puede leer únicamente con el PaintShop Pro. 13

20 Tabla 1. Cuadro ilustrativo a cerca del tamaño de las imágenes Tipo de original Destino Método escaneado Tamaño en RAM Fotografía 10x15 cm Texto o dibujo en blanco y negro DIN-A4 tamaño Foto DIN-A4 en color Pantalla 75 ppp / 24 bits 0,4 MB Impresora B/N 300 ppp / 8 bits 2 MB Impresora color 300 ppp / 24 bits 6 MB Pantalla 75 ppp / 1 bit 66 KB Impresora 300 ppp / 8 bit 8 MB OCR 300 ppp / 1 bit 1 MB Pantalla 75 ppp / 24 bits 1,6 MB Impresora 300 ppp / 24 bits 25 MB Fuente: Internet Elaborado por: Carlos Humberto Gómez LOS COLORES Y LOS BITS Al hablar de imágenes, digitales o no, a nadie se le escapa la importancia que tiene el color. Una fotografía en color resulta mucho más agradable de ver que otra en tonos grises; un gráfico acertadamente coloreado resulta mucho más interesante que otro en blanco y negro; incluso un texto en el que los epígrafes o las conclusiones tengan un color destacado resulta menos monótono e invita a su lectura. Sin embargo, digitalizar los infinitos matices que puede haber en una foto cualquiera no es un proceso sencillo. Hasta no hace mucho, los escáneres captaban las imágenes únicamente en blanco y negro o, como mucho, con un número muy limitado de matices de gris, entre 16 y 256. Posteriormente aparecieron escáneres que podían captar color, aunque el proceso requería tres pasadas por encima de la imagen, una para cada color primario (rojo, azul y verde). Hoy en día la práctica totalidad de los escáneres captan hasta 16,7 millones de colores distintos en una única pasada, e incluso algunos llegan hasta los millones de colores. Para entender cómo se llega a estas apabullantes cifras debemos explicar cómo asignan los ordenadores los colores a las imágenes. En todos los ordenadores se utiliza lo que se denomina sistema binario, que es un sistema matemático en el cual la unidad superior no es el 10 como en el sistema decimal al que estamos acostumbrados, sino el 2. Un bit cualquiera 14

21 puede por tanto tomar 2 valores, que pueden representar colores (blanco y negro, por ejemplo); si en vez de un bit tenemos 8, los posibles valores son 2 elevado a 8 = 256 colores; si son 16 bits, 2 elevado a 16 = colores; si son 24 bits, 2 elevado a 24 = colores, etc. Por tanto, "una imagen a 24 bits de color" es una imagen en la cual cada punto puede tener hasta 16,7 millones de colores distintos; esta cantidad de colores se considera suficiente para casi todos los usos normales de una imagen, por lo que se le suele denominar color real. La casi totalidad de los escáneres actuales capturan las imágenes con 24 bits, pero la tendencia actual consiste en escanear incluso con más bits, 30 ó incluso 36, de tal forma que se capte un espectro de colores absolutamente fiel al real; sin embargo, casi siempre se reduce posteriormente esta profundidad de color a 24 bits para mantener un tamaño de memoria razonable, pero la calidad final sigue siendo muy alta ya que sólo se eliminan los datos de color más redundantes LA INTERFAZ TWAIN 1 Se trata de una norma que se definió para que cualquier escáner pudiera ser usado por cualquier programa de una forma estandarizada e incluso con la misma interfaz para la adquisición de la imagen. Si bien hace unos años aún existía un número relativamente alto de aparatos que usaban otros métodos propios, hoy en día se puede decir que todos los escáneres normales utilizan este protocolo, con lo que los fabricantes sólo deben preocuparse de proporcionar el controlador TWAIN apropiado, generalmente en versiones para Windows 9x, NT y a veces 3.x. Desgraciadamente, sólo los escáneres de marca relativamente caros traen controladores para otros sistemas operativos como OS/2 o Linux, e incluso en ocasiones ni siquiera para Windows 3.x o NT; la buena noticia es que la estandarización de TWAIN hace que a veces podamos usar el controlador de otro escáner de similares características, aunque evidentemente no es un método deseable... 1 Webmaster, About TWAIN, 15

22 Se trata de un programa en el que de una forma visual podemos controlar todos los parámetros del escaneado (resolución, número de colores, brillo...), además de poder definir el tamaño de la zona que queremos procesar. Si la fidelidad del color es un factor de importancia, uno de los parámetros que probablemente deberemos modificar en esta interfaz es el control de gamma, para ajustar la gama de colores que capta el escáner con la que presenta nuestro monitor o imprime la impresora CICLO DE VIDA DE LOS SISTEMAS 1 El Ciclo de Vida del Desarrollo de Sistemas es un proceso por el cual los analistas de sistemas, los ingenieros de software, los programadores y los usuarios finales elaboran sistemas de información y aplicaciones informáticas TÉCNICAS Y METODOLOGÍAS Técnica es un método que aplica herramientas y reglas específicas para completar una o más fases del ciclo de vida del desarrollo de Sistemas. Ellas se aplican a una parte del ciclo de vida total. Metodología es una versión amplia y detallada de un ciclo de vida COMPLETO de desarrollo de sistemas que incluye: o Reglas, procedimientos, métodos, herramientas o Funciones individuales y en grupo por cada tarea o Productos resultantes o Normas de Calidad DEFINICIONES Herramientas son los ambientes de apoyo necesario para automatizar las prácticas de Ingeniería de Software 1 CICLO DE VIDA DE LOS SISTEMAS.pdf, 16

23 Métodos son las maneras que se efectúan las tareas de Ingeniería de Software o las actividades del ciclo de vida. Procedimientos son los mecanismos de gestión que soportan a los métodos: El control de los proyectos, el control de la calidad OBJETIVOS DEL CICLO DE VIDA DE UN PROYECTO Definir las actividades a ser ejecutadas en un proyecto de Procesamiento Electrónico de Datos (PED). Introducir coherencia en muchos proyectos de PED de la misma organización. Establecer punto de control para control de gerencia y puntos de control para tomar la decisión de "continuar o no" CICLO DE VIDA POR PROTOTIPOS Primera versión de un nuevo tipo de producto, en el que se han incorporado sólo algunas características del sistema final, o no se han realizado completamente. Modelo o maqueta del sistema que se construye para comprender mejor el problema y sus posibles soluciones. Evaluar mejor los requisitos Probar opciones de diseño HERRAMIENTAS REQUERIDAS LENGUAJES DINÁMICOS DE ALTO NIVEL. Muy usados: Smalltalk (basado en objetos, sistemas interactivos) 17

24 Java (basado en objetos, sistemas interactivos) Prolog (lógico, procesamiento simbólico) LISP (basado en listas, procesamiento simbólico) Elección del lenguaje: Cuál es el dominio de aplicación? Cuál es la interacción de usuario requerida? (Java, Smalltalk se integran bien con las interfaces Web.) Cuál es el entorno proporcionado para el lenguaje? LENGUAJES DE CUARTA GENERACIÓN (4GLS) (PROGRAMACIÓN DE BBDD) Ejemplos: Informix 4GL ORACLE 8i, ORACLE 10g ORACLE Developer 6i (Reports y Forms) CASE Studio 2 Access dbase Paradox ENSAMBLAJE DE COMPONENTES Y APLICACIONES El desarrollo de prototipos con reutilización comprende dos niveles: (a) El nivel de aplicación, en el que una aplicación completa se integra con el prototipo por ejemplo: si el prototipo requiere procesamiento de textos, se puede integrar un sistema estándar de procesamiento de textos (MS Office). (b) El nivel de componente, en el que los componentes se integran en un marco de trabajo estándar. Visual Basic, TCL/TK, Python, Perl... Lenguajes de alto nivel sin tipos, con kits de herramientas gráficas. 18

25 Desarrollo rápido de aplicaciones pequeñas y relativamente sencillas, construidas por una persona o conjunto de personas No existe una arquitectura explícita del sistema CORBA, DCOM, JavaBeans Junto con un marco arquitectónico, es más apropiado para sistemas grandes MODELO INCREMENTAL PLANIFICACIÓN PROTOTIPADO ANÁLISIS Y ESPECIFICACIÓN DISEÑO IMPLEMENTACIÓN VALIDACIÓN MANTENIMIENTO Fig. 2 Modelo Incremental Tras el análisis de requisitos, se construye un prototipo, que ayudará a refinar y validar la especificación de requisitos. El desarrollo posterior prosigue en cascada FINALIDAD El usuario dice que le gusta y que no mientras testea el sistema. El usuario verifica la factibilidad del diseño de un sistema. Método de interacción (menús, teclas especiales) Formatos de presentación 19

26 CARACTERÍSTICAS Es una aplicación que funciona, identifica y aclara los requerimientos evitando suposiciones del analista y los usuarios con respecto a los requisitos del sistema: Se crea rápidamente. Evoluciona a través de un sistema iterativo COSTO DE DESARROLLO BAJO Se puede usar el mismo sistema cómo prototipo Se debe documentar los requisitos y no dejar funcionando el prototipo sin documentación. Razones por las cuales se utilizan los prototipos AUMENTO DE PRODUCTIVIDAD Entusiasmo de usuarios con prototipos (recordar analogía). Son candidatos las aplicaciones que: El usuario no quiere examinar DFD. Se determinan los requerimientos por tanteo El sistema será interactivo No existe cantidad de detalles de algoritmo Existe un alto costo y un alto riesgo de fracaso La tecnología es nueva RECOMENDACIÓN 1. El ciclo de vida del prototipo involucra el desarrollo de un modelo funcional. 2. Debe realizarse la documentación de los requerimientos del usuario. 3. Escenarios para la construcción de prototipos. 4. Evaluar la petición del software y determinar si es o no un buen candidato a prototipo 20

27 5. Dado un proyecto candidato aceptable, el analista desarrolla una representación. abreviada de los requerimientos. 6. Después de revisar la representación de requerimientos se crea unas especificaciones de diseño abreviadas. 7. El software del prototipo se crea prueba y refina. 8. Una vez que el prototipo ha sido probado, se presenta al cliente, el cuál conduce la prueba de la aplicación y sugiere modificaciones. 9. Los pasos 4 y 5 se repiten iterativamente hasta que todos los requerimientos estén formalizados o hasta que el prototipo haya sido reemplazado por un sistema de producción 2.4. PROTOCOLO DE COMUNICACIÓN TCP/IP HISTORIA El Protocolo de Internet (IP) y el Protocolo de Transmisión (TCP), fueron desarrollados inicialmente en 1973 por el informático estadounidense Vinton Cerf como parte de un proyecto dirigido por el ingeniero norteamericano Robert Kahn y patrocinado por la Agencia de Programas Avanzados de Investigación (ARPA, siglas en inglés) del Departamento Estadounidense de Defensa. Internet comenzó siendo una red informática de ARPA (llamada ARPAnet) que conectaba redes de ordenadores de varias universidades y laboratorios en investigación en Estados Unidos. World Wibe Web se desarrolló en 1989 por el informático británico Timothy Berners-Lee para el Consejo Europeo de Investigación Nuclear (CERN, siglas en francés) QUÉ ES LA ARQUITECTURA DE TCP/IP TCP/IP es el protocolo común utilizado por todos los ordenadores conectados a Internet, de manera que éstos puedan comunicarse entre sí. Hay que tener en cuenta que en Internet se encuentran conectados ordenadores de clases muy diferentes y con hardware y software incompatibles en muchos casos, además de todos los medios y formas posibles de conexión. Aquí se encuentra una de las grandes ventajas del TCP/IP, pues este protocolo se encargará de 1 SOTO Miguel Alejandro, Protocolos TCP/IP, 21

28 que la comunicación entre todos sea posible. TCP/IP es compatible con cualquier sistema operativo y con cualquier tipo de hardware. TCP/IP no es un único protocolo, sino que es en realidad lo que se conoce con este nombre es un conjunto de protocolos que cubren los distintos niveles del modelo OSI. Los dos protocolos más importantes son el TCP (Transmission Control Protocol) y el IP (Internet Protocol), que son los que dan nombre al conjunto. La arquitectura del TCP/IP consta de cinco niveles o capas en las que se agrupan los protocolos, y que se relacionan con los niveles OSI de la siguiente manera: Aplicación: Se corresponde con los niveles OSI de aplicación, presentación y sesión. Aquí se incluyen protocolos destinados a proporcionar servicios, tales como correo electrónico (SMTP), transferencia de ficheros (FTP), conexión remota (TELNET) y otros más recientes como el protocolo HTTP (Hypertext Transfer Protocol). Transporte: Coincide con el nivel de transporte del modelo OSI. Los protocolos de este nivel, tales como TCP y UDP, se encargan de manejar los datos y proporcionar la fiabilidad necesaria en el transporte de los mismos. Internet: Es el nivel de red del modelo OSI. Incluye al protocolo IP, que se encarga de enviar los paquetes de información a sus destinos correspondientes. Es utilizado con esta finalidad por los protocolos del nivel de transporte. Físico: Análogo al nivel físico del OSI. Red: Es la interfaz de la red real. TCP/IP no especifica ningún protocolo concreto, así es que corre por las interfaces conocidas, como por ejemplo: 802.2, CSMA/CD, X.25, etc. Tabla 2. Arquitectura TCP/IP NIVEL DE APLICACIÓN Fuente: Internet Elaborado por: AUTORES NIVEL DE TRANSPORTE NIVEL DE INTERNET NIVEL DE RED NIVEL FÍSICO 22

29 El TCP/IP necesita funcionar sobre algún tipo de red o de medio físico que proporcione sus propios protocolos para el nivel de enlace de Internet. Por este motivo hay que tener en cuenta que los protocolos utilizados en este nivel pueden ser muy diversos y no forman parte del conjunto TCP/IP. Sin embargo, esto no debe ser problemático puesto que una de las funciones y ventajas principales del TCP/IP es proporcionar una abstracción del medio de forma que sea posible el intercambio de información entre medios diferentes y tecnologías que inicialmente son incompatibles. Para transmitir información a través de TCP/IP, ésta debe ser dividida en unidades de menor tamaño. Esto proporciona grandes ventajas en el manejo de los datos que se transfieren y, por otro lado, esto es algo común en cualquier protocolo de comunicaciones. En TCP/IP cada una de estas unidades de información recibe el nombre de "datagrama" (datagram), y son conjuntos de datos que se envían como mensajes independientes CONJUNTODE PROTOCOLOS TCP/IP FTP, SMTP,TELNET TCP IP, ICMP, 802.2, X.25 ETHERNET, IEEE 802.2, X.25 SNMP, X-WINDOWS,RPC, NFS UDP FTP (File Transfer Protocol). Se utiliza para transferencia de archivos. SMTP (Simple Mail Transfer Protocol). Es una aplicación para el correo electrónico. Tabla 3. Protocolos TCP/IP Fuente: Internet Elaborado por: AUTORES TELNET: Permite la conexión a una aplicación remota desde un proceso o terminal. RPC (Remote Procedure Call). Permite llamadas a procedimientos situados remotamente. Se utilizan las llamadas a RPC como si fuesen procedimientos locales. SNMP (Simple Network Management Protocol). Se trata de una aplicación para el control de la red. NFS (Network File System). Permite la utilización de archivos distribuidos por los programas de la red. 23

30 X-Windows. Es un protocolo para el manejo de ventanas e interfaces de usuario CARACTERÍSTICAS DE TCP/IP Ya que dentro de un sistema TCP/IP los datos transmitidos se dividen en pequeños paquetes, éstos resaltan una serie de características. La tarea de IP es llevar los datos a granel (los paquetes) de un sitio a otro. Las computadoras que encuentran las vías para llevar los datos de una red a otra (denominadas enrutadores) utilizan IP para trasladar los datos. En resumen IP mueve los paquetes de datos a granel, mientras TCP se encarga del flujo y asegura que los datos estén correctos. Las líneas de comunicación se pueden compartir entre varios usuarios. Cualquier tipo de paquete puede transmitirse al mismo tiempo, y se ordenará y combinará cuando llegue a su destino. Compare esto con la manera en que se transmite una conversación telefónica. Una vez que establece una conexión, se reservan algunos circuitos para usted, que no puede emplear en otra llamada, aun si deja esperando a su interlocutor por veinte minutos. Los datos no tienen que enviarse directamente entre dos computadoras. Cada paquete pasa de computadora en computadora hasta llegar a su destino. Éste, claro está, es el secreto de cómo se pueden enviar datos y mensajes entre dos computadoras aunque no estén conectadas directamente entre sí. Lo que realmente sorprende es que sólo se necesitan algunos segundos para enviar un archivo de buen tamaño de una máquina a otra, aunque estén separadas por miles de kilómetros y pese a que los datos tienen que pasar por múltiples computadoras. Una de las razones de la rapidez es que, cuando algo anda mal, sólo es necesario volver a transmitir un paquete, no todo el mensaje. Los paquetes no necesitan seguir la misma trayectoria. La red puede llevar cada paquete de un lugar a otro y usar la conexión más idónea que esté disponible en ese instante. No todos los paquetes de los mensajes tienen que viajar, necesariamente, por la misma ruta, ni necesariamente tienen que llegar todos al mismo tiempo. La flexibilidad del sistema lo hace muy confiable. Si un enlace se pierde, el sistema usa otro. Cuando usted envía un mensaje, el TCP divide los datos en paquetes, ordena éstos en 24

31 secuencia, agrega cierta información para control de errores y después los lanza hacia fuera, y los distribuye. En el otro extremo, el TCP recibe los paquetes, verifica si hay errores y los vuelve a combinar para convertirlos en los datos originales. De haber error en algún punto, el programa TCP destino envía un mensaje solicitando que se vuelvan a enviar determinados paquetes CÓMO FUNCIONA TCP/IP TCP Una entidad de transporte TCP acepta mensajes de longitud arbitrariamente grande procedentes de los procesos de usuario, los separa en pedazos que no excedan de 64K octetos y, transmite cada pedazo como si fuera un datagrama separado. La capa de red, no garantiza que los datagramas se entreguen apropiadamente, por lo que TCP deberá utilizar temporizadores y retransmitir los datagramas si es necesario. Los datagramas que consiguen llegar, pueden hacerlo en desorden; y dependerá de TCP el hecho de reensamblarlos en mensajes, con la secuencia correcta. Cada octeto de datos transmitido por TCP tiene su propio número de secuencia privado. El espacio de números de secuencia tiene una extensión de 32 bits, para asegurar que los duplicados antiguos hayan desaparecidos, desde hace tiempo, en el momento en que los números de secuencia den la vuelta. TCP, sin embargo, sí se ocupa en forma explícita del problema de los duplicados retardados cuando intenta establecer una conexión, utilizando el protocolo de ida-vuelta-ida para este propósito. En la tabla 4 se muestra la cabecera que se utiliza en TCP. La primera cosa que llama la atención es que la cabecera mínima de TCP sea de 20 octetos. A diferencia de la clase 4 del modelo OSI, con la cual se puede comparar a grandes rasgos, TCP sólo tiene un formato de cabecera de TPDU (llamadas mensajes). Enseguida se analizará minuciosamente campo por campo, esta gran cabecera. Los campos Puerto fuente y Puerto destino identifican los puntos terminales de la conexión (las direcciones TSAP de acuerdo con la terminología del modelo OSI). Cada hostal deberá decidir por sí mismo cómo asignar sus puertos. 25

32 Los campos Número de secuencia y Asentimiento en superposición efectúan sus funciones usuales. Estos tienen una longitud de 32 bits, debido a que cada octeto de datos está numerado en TCP. La Longitud de la cabecera TCP indica el número de palabra de 32 bits que están contenidas en la cabecera de TCP. Esta información es necesaria porque el campo Opciones tiene una longitud variable, y por lo tanto la cabecera también. Después aparecen seis banderas de 1 bit. Si el Puntero acelerado se está utilizando, entonces URG se coloca a 1. El puntero acelerado se emplea para indicar un desplazamiento en octetos a partir del número de secuencia actual en el que se encuentran datos acelerados. Esta facilidad se brinda en lugar de los mensajes de interrupción. El bit SYN se utiliza para el establecimiento de conexiones. La solicitud de conexión tiene SYN=1 y ACK=0, para indicar que el campo de asentimiento en superposición no se está utilizando. La respuesta a la solicitud de conexión si lleva un asentimiento, por lo que tiene SYN=1 y ACK=1. En esencia, el bit SYN se utiliza para denotar las TPDU CONNECTION REQUEST Y CONNECTION CONFIRM, con el bit ACK utilizado para distinguir entre estas dos posibilidades. El bit FIN se utiliza para liberar la conexión; especifica que el emisor ya no tiene más datos. Después de cerrar una conexión, un proceso puede seguir recibiendo datos indefinidamente. El bit RST se utiliza para reiniciar una conexión que se ha vuelto confusa debido a SYN duplicados y retardados, o a caída de los hostales. El bit EOM indica el Fin del Mensaje. El control de flujo en TCP se trata mediante el uso de una ventana deslizante de tamaño variable. Es necesario tener un campo de 16 bits, porque la ventana indica el número de octetos que se pueden transmitir más allá del octeto asentido por el campo ventana y no cuántas TPDU. El código de redundancia también se brinda como un factor de seguridad extrema. El algoritmo de código de redundancia consiste en sumar simplemente todos los datos, considerados como palabras de 16 bits, y después tomar el complemento a 1 de la suma. El campo de Opciones se utiliza para diferentes cosas, por ejemplo para comunicar tamaño de tampones durante el procedimiento de establecimiento. 26

33 IP IP a diferencia del protocolo X.25, que está orientado a conexión, es sin conexión. Está basado en la idea de los datagramas interred, los cuales son transportados transparentemente, pero no siempre con seguridad, desde el hostal fuente hasta el hostal destinatario, quizás recorriendo varias redes mientras viaja. El protocolo IP trabaja de la siguiente manera; la capa de transporte toma los mensajes y los divide en datagramas, de hasta 64K octetos cada uno. Cada datagrama se transmite a través de la red interred, posiblemente fragmentándose en unidades más pequeñas, durante su recorrido normal. Al final, cuando todas las piezas llegan a la máquina destinataria, la capa de transporte los reensambla para así reconstruir el mensaje original. Un datagrama IP consta de una parte de cabecera y una parte de texto. La cabecera tiene una parte fija de 20 octetos y una parte opcional de longitud variable. En la figura 1 se muestra el formato de la cabecera. El campo Versión indica a qué versión del protocolo pertenece cada uno de los datagramas. Mediante la inclusión de la versión en cada datagrama, no se excluye la posibilidad de modificar los protocolos mientras la red se encuentre en operación. El campo Opciones se utiliza para fines de seguridad, encaminamiento fuente, informe de errores, depuración, sellado de tiempo, así como otro tipo de información. Esto, básicamente, proporciona un escape para permitir que las versiones subsiguientes de los protocolos incluyan información que actualmente no está presente en el diseño original. También, para permitir que los experimentadores trabajen con nuevas ideas y para evitar, la asignación de bits de cabecera a información que muy rara vez se necesita. Debido a que la longitud de la cabecera no es constante, un campo de la cabecera, IHL, permite que se indique la longitud que tiene la cabecera en palabras de 32 bits. El valor mínimo es de 5. Tamaño 4 bit. El campo Tipo de servicio le permite al hostal indicarle a la subred el tipo de servicio que desea. Es posible tener varias combinaciones con respecto a la seguridad y la velocidad. Para voz digitalizada, por ejemplo, es más importante la entrega rápida que corregir errores de transmisión. En tanto que, para la transferencia de archivos, resulta más importante tener la 27

34 transmisión fiable que entrega rápida. También, es posible tener algunas otras combinaciones, desde un tráfico rutinario, hasta una anulación instantánea. Tamaño 8 bit. La Longitud total incluye todo lo que se encuentra en el datagrama -tanto la cabecera como los datos. La máxima longitud es de octetos (bytes). Tamaño 16 bit. El campo Identificación se necesita para permitir que el hostal destinatario determine a qué datagrama pertenece el fragmento recién llegado. Todos los fragmentos de un datagrama contienen el mismo valor de identificación. Tamaño 16 bits. Enseguida viene un bit que no se utiliza, y después dos campos de 1 bit. Las letras DF quieren decir no fragmentar. Esta es una orden para que las pasarelas no fragmenten el datagrama, porque el extremo destinatario es incapaz de poner las partes juntas nuevamente. Por ejemplo, supóngase que se tiene un datagrama que se carga en un micro pequeño para su ejecución; podría marcarse con DF porque la ROM de micro espera el programa completo en un datagrama. Si el datagrama no puede pasarse a través de una red, se deberá encaminar sobre otra red, o bien, desecharse. Las letras MF significan más fragmentos. Todos los fragmentos, con excepción del último, deberán tener ese bit puesto. Se utiliza como una verificación doble contra el campo de Longitud total, con objeto de tener seguridad de que no faltan fragmentos y que el datagrama entero se reensamble por completo. El desplazamiento de fragmento indica el lugar del datagrama actual al cual pertenece este fragmento. En un datagrama, todos los fragmentos, con excepción del último, deberán ser un múltiplo de 8 octetos, que es la unidad elemental de fragmentación. Dado que se proporcionan 13 bits, hay un máximo de 8192 fragmentos por datagrama, dando así una longitud máxima de datagrama de octetos, que coinciden con el campo Longitud total. Tamaño 16 bits. El campo Tiempo de vida es un contador que se utiliza para limitar el tiempo de vida de los paquetes. Cuando se llega a cero, el paquete se destruye. La unidad de tiempo es el segundo, permitiéndose un tiempo de vida máximo de 255 segundos. Tamaño 8 bits. Cuando la capa de red ha terminado de ensamblar un datagrama completo, necesitará saber qué hacer con él. El campo Protocolo indica, a qué proceso de transporte pertenece el datagrama. El TCP es efectivamente una posibilidad, pero en realidad hay muchas más. 28

35 Protocolo: El número utilizado en este campo sirve para indicar a qué protocolo pertenece el datagrama que se encuentra a continuación de la cabecera IP, de manera que pueda ser tratado correctamente cuando llegue a su destino. Tamaño: 8 bit. El código de redundancia de la cabecera es necesario para verificar que los datos contenidos en la cabecera IP son correctos. Por razones de eficiencia este campo no puede utilizarse para comprobar los datos incluidos a continuación, sino que estos datos de usuario se comprobarán posteriormente a partir del código de redundancia de la cabecera siguiente, y que corresponde al nivel de transporte. Este campo debe calcularse de nuevo cuando cambia alguna opción de la cabecera, como puede ser el tiempo de vida. Tamaño: 16 bit La Dirección de origen contiene la dirección del host que envía el paquete. Tamaño: 32 bit. La Dirección de destino: Esta dirección es la del host que recibirá la información. Los routers o gateways intermedios deben conocerla para dirigir correctamente el paquete. Tamaño: 32 bit. El protocolo IP identifica a cada ordenador que se encuentre conectado a la red mediante su correspondiente dirección. Esta dirección es un número de 32 bit que debe ser único para cada host, y normalmente suele representarse como cuatro cifras de 8 bit separadas por puntos. La dirección (IP Address) se utiliza para identificar tanto al ordenador en concreto como la red a la que pertenece, de manera que sea posible distinguir a los ordenadores que se encuentran conectados a una misma red. Con este propósito, y teniendo en cuenta que en Internet se encuentran conectadas redes de tamaños muy diversos, se establecieron tres clases diferentes de direcciones, las cuales se representan mediante tres rangos de valores: Clase A: Son las que en su primer byte tienen un valor comprendido entre 1 y 126, incluyendo ambos valores. Estas direcciones utilizan únicamente este primer byte para identificar la red, quedando los otros tres bytes disponibles para cada uno de los hosts que pertenezcan a esta misma red. Esto significa que podrán existir más de dieciséis millones de ordenadores en cada una de las redes de esta clase. Este tipo de direcciones es usado por redes muy extensas, pero hay que tener en cuenta que sólo puede haber 126 redes de este tamaño. ARPAnet es una de ellas, existiendo además algunas grandes redes comerciales, aunque son 29

36 pocas las organizaciones que obtienen una dirección de "clase A". Lo normal para las grandes organizaciones es que utilicen una o varias redes de "clase B". Clase B: Estas direcciones utilizan en su primer byte un valor comprendido entre 128 y 191, incluyendo ambos. En este caso el identificador de la red se obtiene de los dos primeros bytes de la dirección, teniendo que ser un valor entre y (no es posible utilizar los valores 0 y 255 por tener un significado especial). Los dos últimos bytes de la dirección constituyen el identificador del host permitiendo, por consiguiente, un número máximo de ordenadores en la misma red. Este tipo de direcciones tendría que ser suficiente para la gran mayoría de las organizaciones grandes. En caso de que el número de ordenadores que se necesita conectar fuese mayor, sería posible obtener más de una dirección de "clase B", evitando de esta forma el uso de una de "clase A". Clase C: En este caso el valor del primer byte tendrá que estar comprendido entre 192 y 223, incluyendo ambos valores. Este tercer tipo de direcciones utiliza los tres primeros bytes para el número de la red, con un rango desde hasta De esta manera queda libre un byte para el host, lo que permite que se conecten un máximo de 254 ordenadores en cada red. Estas direcciones permiten un menor número de host que las anteriores, aunque son las más numerosas pudiendo existir un gran número redes de este tipo (más de dos millones). Tabla 4. Tabla de direcciones IP de Internet Clase Primer byte Identificación Tabla de direcciones IP de Internet de red Identificación de hosts Número de redes Número de hosts A byte 3 byte B byte 2 byte C byte 1 byte Fuente: Internet Elaborado por: AUTORES En la clasificación de direcciones anterior se puede notar que ciertos números no se usan. Algunos de ellos se encuentran reservados para un posible uso futuro, como es el caso de las direcciones cuyo primer byte sea superior a 223 (clases D y E, que aún no están definidas), mientras que el valor 127 en el primer byte se utiliza en algunos sistemas para propósitos 30

37 especiales. También es importante notar que los valores 0 y 255 en cualquier byte de la dirección no pueden usarse normalmente por tener otros propósitos específicos. El número 0 está reservado para las máquinas que no conocen su dirección, pudiendo utilizarse tanto en la identificación de red para máquinas que aún no conocen el número de red a la que se encuentran conectadas, en la identificación de host para máquinas que aún no conocen su número de host dentro de la red, o en ambos casos. El número 255 tiene también un significado especial, puesto que se reserva para el broadcast. El broadcast es necesario cuando se pretende hacer que un mensaje sea visible para todos los sistemas conectados a la misma red. Esto puede ser útil si se necesita enviar el mismo datagrama a un número determinado de sistemas, resultando más eficiente que enviar la misma información solicitada de manera individual a cada uno. Otra situación para el uso de broadcast es cuando se quiere convertir el nombre por dominio de un ordenador a su correspondiente número IP y no se conoce la dirección del servidor de nombres de dominio más cercano. Lo usual es que cuando se quiere hacer uso del broadcast se utilice una dirección compuesta por el identificador normal de la red y por el número 255 (todo unos en binario) en cada byte que identifique al host. Sin embargo, por conveniencia también se permite el uso del número con la misma finalidad, de forma que resulte más simple referirse a todos los sistemas de la red. El broadcast es una característica que se encuentra implementada de formas diferentes dependiendo del medio utilizado, y por lo tanto, no siempre se encuentra disponible. En ARPAnet y en las líneas punto a punto no es posible enviar broadcast, pero sí que es posible hacerlo en las redes Ethernet, donde se supone que todos los ordenadores prestarán atención a este tipo de mensajes. En el caso de algunas organizaciones extensas puede surgir la necesidad de dividir la red en otras redes más pequeñas (subnets). Como ejemplo podemos suponer una red de clase B que, naturalmente, tiene asignado como identificador de red un número de dos bytes. En este caso sería posible utilizar el tercer byte para indicar en qué red Ethernet se encuentra un host en concreto. Esta división no tendrá ningún significado para cualquier otro ordenador que esté 31

38 conectado a una red perteneciente a otra organización, puesto que el tercer byte no será comprobado ni tratado de forma especial. Sin embargo, en el interior de esta red existirá una división y será necesario disponer de un software de red especialmente diseñado para ello. De esta forma queda oculta la organización interior de la red, siendo mucho más cómodo el acceso que si se tratara de varias direcciones de clase C independientes EL CONTROL WINSOCK (MSWINSOCK.OCX) 1 El control Winsock, invisible para el usuario, proporciona un acceso sencillo a los servicios de red TCP y UDP. Pueden usarlo los programadores de Microsoft Access, Visual Basic, Visual C++ o Visual FoxPro. Para escribir aplicaciones de servidor o de cliente no necesita comprender los detalles de TCP ni llamar a las API de Winsock de nivel inferior. Si establece las propiedades y llama a los métodos del control, podrá conectar fácilmente con un equipo remoto e intercambiar datos en las dos direcciones PROPIEDADES BÁSICAS DEL CONTROL WINSOCK RemoteHostIP (Propiedad) Devuelve la dirección IP del equipo remoto. En las aplicaciones de cliente, después de establecer la conexión con el método Connect, esta propiedad contiene la cadena IP del equipo remoto. En las aplicaciones de servidor, después de la llegada de una solicitud de llamada (evento ConnectionRequest), esta propiedad contiene la cadena IP del equipo remoto que inició la conexión. Sintaxis = objeto.remotehostip Tipo de datos = String LocalIP (Propiedad) 1 MSDN LIBRARY VISUAL STUDIO

39 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). Es de sólo lectura y no está disponible en tiempo de diseño. Sintaxis = objeto.localip El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a. Tipo de datos = String LocalPort (Propiedad) Devuelve o establece el puerto local que desea usar. Es de lectura y escritura, y está disponible en tiempo de diseño. En el cliente, designa el puerto local desde el que desea enviar los datos. En el servidor, es el puerto local en el que se escuchará. Después de llamar al método Listen, la propiedad contiene el puerto actual seleccionado. Sintaxis = objeto.localport = largo Tipo de datos = Long Protocol (Propiedad, control Winsock) Devuelve o establece el protocolo, TCP o UDP, utilizado por el control Winsock. Sintaxis = objeto.protocol [=protocolo] El marcador de posición objeto representa una expresión de objeto que da como resultado un objeto de la lista Se aplica a. Valores Los valores de protocolo son: 33

40 Tabla 5. Valores de la Propiedad Protocol del control Winsock Constante Valor Descripción scktcpprotocol 0 Predeterminado. Protocolo TCP. sckudpprotocol 1 Protocolo UDP. Fuente: Internet Elaborado por: AUTORES Valor devuelto = Ninguno MÉTODOS BÁSICOS DE CONTROL WINSOCK Close (Método, control Winsock) Cierra una conexión TCP o un socket en escucha para las aplicaciones de cliente y de servidor. Sintaxis = objeto.close Argumentos = Ninguno Valor devuelto = Ninguno Accept (Método) 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. Sintaxis = objeto.accept IdSolicitud Tipo de datos = Long Valor devuelto = Ninguno GetData (Método, control Winsock) Recupera el bloque actual de datos y lo almacena en una variable de tipo Variant. Valor devuelto = Ninguno 34

41 Sintaxis = objeto.getdata datos, [tipo,] [longmáx] La sintaxis del método GetData consta de las siguientes partes: Tabla 6. Sintaxis del Método GetData del control Winsock Objeto Datos PARTE Tipo Opcional longmáx Opcional DESCRIPCIÓN Expresión de objeto que da como resultado un objeto de la lista Dónde se almacenarán los datos recuperados después de que el método termine correctamente. Si no hay suficientes datos disponibles para el tipo requerido, datos se establecerá a Vacío. Tipo de datos a recuperar, como se muestra en Valores. Especifica el tamaño deseado cuando se recibe una matriz de bytes o una cadena. Si se omite este parámetro para las matrices de bytes o las cadenas, se recuperarán todos los datos disponibles. Si se proporciona para tipos de datos que no sean matrices de bytes o cadenas, se pasa por alto el parámetro. Fuente: Internet Elaborado por: AUTORES Valores Los valores de tipo son: Tabla 7. Valores del Método GetData del control Winsock Descripción Constante Descripción Constante Byte vbbyte Entero vbinteger Largo vblong Booleano vbboolean Simple vbsingle SCODE vberror Doble vbdouble Cadena vbstring Moneda vbcurrency Matriz de bytes vbarray + vbbyte Fecha Fuente: Internet Elaborado por: AUTORES vbdate 35

42 Comentarios: El método GetData se suele usar con el evento DataArrival, que incluye el argumento bytestotales. Si especifica una longmáx menor que el argumento bytestotales, obtendrá el mensaje de advertencia 10040, que indica que se perderán los bytes restantes. Listen (Método) Crea un socket y lo establece a modo de escucha. Este método sólo funciona en las conexiones TCP. Sintaxis = objeto.listen Argumentos = Ninguno Valor devuelto = Ninguno Comentarios: El evento ConnectionRequest se produce cuando hay una conexión entrante. Cuando se está tratando un evento ConnectionRequest, la aplicación debería usar el método Accept (en una nueva instancia del control) para aceptar la conexión. SendData (Método) Envía datos a un equipo remoto. Valor devuelto = Ninguno Sintaxis = objeto.senddata datos La sintaxis del método SendData consta de las siguientes partes: Tabla 8. Sintaxis del Método SendData del control Winsock PARTE Objeto Datos DESCRIPCIÓN Expresión de objeto que da como resultado un objeto de la lista datos que desea enviar. Para los datos binarios, debería usar matrices de datos. Fuente: Internet Elaborado por: AUTORES 36

43 EVENTOS BÁSICOS DEL CONTROL WINSOCK Close (Evento) 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. Sintaxis = Objeto.Close( ) Argumentos = Ninguno Connect (Evento) Se desencadena después de haber establecido una conexión con el servidor. Sintaxis = Private Sub objeto.connect(erroroccurred As Boolean) Tabla 9. Sintaxis del Evento Connect del control Winsock PARTE DESCRIPCIÓN Objeto Una expresión de objeto que da como resultado un objeto de la lista erroroccurred Una expresión Boolean que determina si la conexión tuvo éxito, como se describe en Valores. Fuente: Internet Elaborado por: AUTORES Valores El argumento erroroccurred se establecerá a uno de los valores siguientes: Tabla 10. Valores del Evento Connect del control Winsock VALOR DESCRIPCIÓN True False Falló la conexión. La conexión se estableció correctamente. Fuente: Internet Elaborado por: AUTORES 37

44 Comentarios: En el evento Connect puede hacer cualquier tipo de consultas iniciales necesarias sobre una nueva conexión, como comprobar la versión de la base de datos con la versión del cliente o establecer una base de datos predeterminada no establecida en la cadena de conexión. También puede comprobar los errores o mensajes devueltos durante el proceso de apertura de la conexión, o quizás simplemente borrar los mensajes de información de la colección rdoerrors. ConnectionRequest (Evento) Se produce cuando el equipo remoto solicita una conexión. Sólo para aplicaciones de servidor TCP. El evento se activa cuando llega una solicitud de conexión. Las propiedades RemoteHostIP y RemotePort almacenan la información acerca del cliente después de que se ha activado el evento. Sintaxis = objeto_connectionrequest (IdSolicitud As Long) La sintaxis del evento ConnectionRequest consta de las siguientes partes: Tabla 11. Sintaxis del Evento ConnectionRequest del control Winsock PARTE Objeto DESCRIPCIÓN Expresión de objeto que da como resultado un objeto de la IdSolicitud Identificador de la solicitud de conexión entrante. Este argumento se debería pasar al método Accept de la segunda instancia del control. Fuente: Internet Elaborado por: AUTORES Comentarios: El servidor puede decidir si acepta o no la conexión. Si no se acepta la conexión entrante, el equipo (cliente) obtendrá el evento Close. Utilice el método Accept (en una nueva instancia del control) para aceptar una conexión entrante. DataArrival (Evento) Se produce cuando llegan nuevos datos. Sintaxis = objeto_dataarrival (bytestotales As Long La sintaxis del evento DataArrival consta de las siguientes partes: 38

45 Tabla 12. Sintaxis del Evento DataArrival del control Winsock PARTE DESCRIPCIÓN Objeto Expresión de objeto que da como resultado un objeto de la lista. bytestotales Long. Cantidad total de datos que se puede recuperar. Fuente: Internet Elaborado por: AUTORES Comentarios: Este evento no se producirá si no recupera todos los datos con una llamada GetData. Sólo se activa cuando hay datos nuevos. Utilice la propiedad BytesReceived para comprobar la cantidad de datos disponibles en cualquier momento. Error (Evento, control Winsock Control) Se produce siempre que ocurre un error en los procesos de segundo plano (por ejemplo, un fallo al conectar o un fallo al enviar o recibir en segundo plano). Sintaxis = objeto_error(número As Integer, descripción As String, scode As Long, origen As String, archivoayuda as String, contextoayuda As Long, cancelarvista As Boolean) Tabla 13. Sintaxis del evento Error(Evento, control Winsock Control) consta de las siguientes partes: Parte Objeto Número Descripción Scode Origen archivoayuda contextoayuda cancelarvista Descripción Expresión de objeto que da como resultado un objeto de la lista Se aplica a. Entero que define el código de error. Ver constantes en Valores. Cadena que contiene la información del error. SCODE largo. Cadena que describe el origen del error. Cadena que contiene el nombre del archivo de ayuda. Contexto del archivo de ayuda. Indica si se cancelará la vista del mensaje de error. El valor predeterminado es False, que indica mostrar el cuadro de mensaje de 39

46 Fuente: Microsoft Visual Basic 6.0 Elaborado por: AUTORES error predeterminado. Si no desea usar el cuadro de mensaje predeterminado, establezca cancelar Vista a True. Valores Tabla 14. Valores de Error del Control WinSock Constante Valor Descripción sckoutofmemory 7 Sin memoria sckinvalidpropertyvalue 380 El valor de la propiedad no es válido. sckgetnotsupported 394 No se puede leer la propiedad. scksetnotsupported 383 La propiedad es de sólo lectura. sckbadstate Protocolo o estado de conexión incorrecto para la solicitud o la transacción requerida. sckinvalidarg El argumento que se pasó a una función no estaba en el formato correcto o en el intervalo especificado. scksuccess Correcto. sckunsupported Tipo Variant no aceptado. sckinvalidop La operación no es válida en el estado actual. sckoutofrange El argumento está fuera del intervalo. sckwrongprotocol Protocolo erróneo para la solicitud o la transacción requerida. sckopcanceled Se canceló la operación. sckinvalidargument La dirección solicitada es una dirección de multidifusión, pero el indicador no está activado. sckwouldblock El socket es no bloqueante y la operación especificada se bloqueará. sckinprogress Se está efectuando una operación de Winsock bloqueante. sckalreadycomplete Se completó la operación. No se están 40

47 efectuando operaciones bloqueantes. scknotsocket El descriptor no es un socket. sckmsgtoobig El datagrama es demasiado grande para el búfer y se truncará. sckportnotsupported El puerto especificado no es compatible. sckaddressinuse Dirección en uso. sckaddressnotavailable La dirección no está disponible en la máquina local. scknetworksubsystemfailed Error en el subsistema de red. scknetworkunreachable El host no puede encontrar la red en este momento. scknetreset Expiró el tiempo de espera de la conexión antes de establecer SO_KEEPALIVE. sckconnectaborted La conexión se ha cancelado al sobrepasar el tiempo de espera o por otro error. sckconnectionreset La conexión se ha restablecido desde el lado remoto. scknobufferspace No hay espacio disponible en el búfer. sckalreadyconnected El socket ya está conectado. scknotconnected El socket no está conectado. scksocketshutdown El socket se ha desactivado. scktimedout Se ha sobrepasado el tiempo de conexión. sckconnectionrefused Se ha forzado el rechazo de la conexión. scknotinitialized Es necesario llamar primero a WinsockInit. sckhostnotfound Respuesta autorizada: host no encontrado. sckhostnotfoundtryagain Respuesta no autorizada: host no encontrado. scknonrecoverableerror Errores no recuperables. scknodata Nombre válido; no hay registro de datos Fuente: Microsoft Visual Basic 6.0 Elaborado por: AUTORES del tipo solicitado. 41

48 CONCEPTOS BÁSICOS DE TCP APLICADOS A WINSOCK El Protocolo de control de transferencia (TCP) le permite crear y mantener una conexión con un equipo remoto. Mediante la conexión, ambos equipos pueden intercambiar datos entre sí. Si está creando una aplicación de cliente, debe saber el nombre del equipo servidor o su dirección IP (propiedad RemoteHost), así como el puerto (propiedad RemotePort) en el que está "escuchando". Después, llame al método Connect. Si está creando una aplicación de servidor, establezca el puerto (propiedad LocalPort) en el que escuchar y llame al método Listen. Cuando el equipo cliente solicite una conexión, se producirá el evento ConnectionRequest. Para completar la conexión, llame al método Accept del evento ConnectionRequest. Una vez establecida la conexión, los equipos pueden enviar y recibir datos. Para enviar datos, llame al método SendData. Siempre que se reciben datos, se produce el evento DataArrival. Llame al método GetData del evento DataArrival para recuperar los datos CONCEPTOS BÁSICOS DE UDP APLICADOS A WINSOCK El Protocolo de datagramas de usuarios (UDP) es un protocolo sin conexiones. A diferencia de las operaciones de TCP, los equipos no establecen una conexión. Asimismo, una aplicación UDP puede ser cliente o servidor. Para transmitir datos, establezca primero la propiedad LocalPort del equipo cliente. El equipo servidor sólo necesita establecer RemoteHost a la dirección de Internet del equipo cliente y la propiedad RemotePort al mismo puerto que la propiedad LocalPort del equipo cliente, y llamar al método SendData para comenzar a enviar mensajes. Después, el equipo cliente utiliza el método GetData del evento DataArrival para recuperar los mensajes enviados. 42

49 USO DEL CONTROL TIMER (CONTROL) Los controles Timer responden al paso del tiempo. Son independientes del usuario y puede programarlos para que ejecuten acciones a intervalos periódicos de tiempo. Un uso típico es comprobar la hora del sistema para ver si es el momento de ejecutar alguna tarea. Los cronómetros también son útiles para otros tipos de procesamiento en segundo plano. Los controles Timer tienen una propiedad Interval que especifica el número de milisegundos transcurridos entre un evento del cronómetro y el siguiente. A menos que esté desactivado, un control Timer sigue recibiendo un evento (llamado evento Timer) a intervalos iguales de tiempo USO DEL CONTROL COMMONDIALOG (CONTROL) El control CommonDialog proporciona un conjunto de cuadros de diálogo estándar para realizar operaciones como abrir y guardar archivos, establecer las opciones de impresión y seleccionar colores y fuentes. El control también tiene la posibilidad de presentar Ayuda ejecutando el motor de Ayuda de Windows. Sintaxis = CommonDialog Comentarios: El control CommonDialog proporciona una interfaz entre Visual Basic y las rutinas de la biblioteca de vínculos dinámicos Commdlg.dll de Microsoft Windows. Para crear un cuadro de diálogo utilizando este control, Commdlg.dll debe encontrarse en el directorio SYSTEM de Microsoft Windows. Para usar el control CommonDialog en una aplicación, agréguelo a un formulario y establezca sus propiedades. El cuadro de diálogo presentado por el control está determinado por los métodos del control. En tiempo de ejecución se presenta un cuadro de diálogo o se ejecuta el motor de Ayuda, cuando se invoca el método apropiado; en tiempo de diseño, el control CommonDialog se presenta como un icono dentro de un formulario. No se puede cambiar el tamaño de dicho icono. El control CommonDialog puede presentar los cuadros de diálogo siguientes utilizando el método especificado. 43

50 Tabla 15. Cuadros de Diálogos del Control CommonDialog MÉTODO ShowOpen ShowSave ShowColor ShowFont ShowPrinter ShowHelp Fuente: Microsoft Visual Basic 6.0 Elaborado por: AUTORES CUADRO DE DIÁLOGO PRESENTADO Abrir Guardar como Color Fuente Imprimir u Opciones de impresión Invoca el motor de Ayuda de Windows 2.6. COMPONENTES ABIERTOS1 Un componente es una parte no trivial, casi independiente, y reemplazable de un sistema que llena claramente una funcionalidad dentro de un contexto en una arquitectura bien definida. Un componente se conforma y provee la realización física por medio de un conjunto de interfaces. Son de dos clases: Framework: Los frameworks de componentes proporcionan servicios que soportan un modelo de componentes. Estos modelos de componentes son patrones que permiten interactuar entre si de acuerdo al problema que resuelven y permiten la extensibilidad del framework y su funcionalidad, estos son aplicados a dominios específicos, lo cual hace que el framework también lo sea, se dice que un framework es una aplicación incompleta y genérica, sobre la cual las aplicaciones que se implementan (las que soporta) son las que le dan el estado final definiendo una funcionalidad especifica y propia. Las principales ventajas que ofrecen los frameworks son la reducción del costo en el proceso de desarrollo de aplicaciones software para dominios específicos, y la mejora de la calidad del producto final

51 Bussines Component : Los componentes de negocio, son aquellos componentes especializados en prestar alguna clase de servicio, enfocado a un dominio en particular. Los componentes de negocio son aquellos componentes que generan el valor agregado y se enfocan a las necesidades de los clientes. Un componente de negocio es aquel que realiza o provee al cliente de la funcionalidad necesaria en su aplicación para resolver sus necesidades y cumplir con sus requerimientos. Este tipo de componentes se sitúan por lo general en el último escalafón dentro del desarrollo basado en componentes, ya que estos son los que darán la funcionalidad propia del negocio a la aplicación, estos componentes están soportados por lo general bajo un framework en particular, el cual permite que el componente de negocio se desempeñe y cumpla con su objetivo, lo cual implica que además de las características propias de un componente de software, tenga también las características adicionales del framework sobre el cual está soportado. Un componente de negocio no le da particularidad a una aplicación, ni realiza aplicación; es la integración entre el framework y por lo general varios componentes de negocio, los que le dan la particularidad de todo un desarrollo. Los componentes de negocio permiten interactuar con otros a través de protocolos ya estandarizados inherentes al framework sobre el cual están soportados, como por ejemplo J2EE. Los componentes de negocio necesitan de un nivel de especificación más allá de el establecido por el framework o los patrones. Los niveles de especificación de los componentes de negocio resulta útil, ya que cada nivel se enfoca a un aspecto de la especificación del negocio y direcciona diferentes roles en el desarrollo como desarrollador de componentes, documentador, jefe de proyecto, etc. Esto ayuda en la búsqueda del componente necesario que se adapte al dominio y prevea la funcionalidad que se busca, desde diferentes niveles de conocimientos. El código fuente abierto ("open source", en inglés) no significa el mero acceso al código fuente. Los términos para la distribución del software de código fuente abierta ( open-source software, en inglés inglés) tienen que cumplir el siguiente criterio: 45

52 REDISTRIBUCIÓN LIBRE La licencia no deberá impedir la venta o el ofrecimiento del software como un componente de una distribución de software agregado conteniendo programas de muchas fuentes distintas a ninguna parte. La licencia no deberá requerir el pago de los derechos de autor u otra tasa por dicha venta. CÓDIGO FUENTE El programa tiene que incluir el código fuente, y tiene que permitir la distribución tanto en código fuente como en forma compilada. Si alguna forma de un producto no es distribuida con el código fuente, tiene que haber un medio bien-publicado de obtener el código fuente por no más que un costo razonable de reproducción preferentemente, una descarga a través de Internet sin cargo. El código fuente tiene que ser la forma preferida en la cuál un programador modificaría el programa. El código fuente deliberadamente ofuscado no está permitido. Las formas intermedias tales como la salida de un preprocesador o traductor no están permitidas. TRABAJOS DERIVADOS La licencia tiene que permitir modificaciones y trabajos derivados, y tiene que permitir que ellos sean distribuidos bajo los mismos términos de la licencia del software original. INTEGRIDAD DEL CÓDIGO FUENTE DEL AUTOR La licencia puede impedir que el código fuente sea distribuido en forma modificada solamente si la licencia permite que la distribución de "archivos parches" con el código fuente con el objetivo de modificar el programa en el tiempo de construcción. La licencia tiene que permitir explícitamente la distribución del software construido a partir del código fuente modificada. La licencia puede requerir que los trabajos derivados tengan un nombre distinto o un número de versión distinto al del software original. NO A LA DISCRIMINACIÓN DE PERSONAS O GRUPOS La licencia no tiene que discriminar a ninguna persona o grupo de personas. 46

53 NO A LA DISCRIMINACIÓN DE CAMPOS LABORALES La licencia no tiene que restringir a nadie que haga uso del programa en un campo laboral específico. Por ejemplo, no puede impedir que el programa sea usado en un negocio, o que sea usado para una investigación genética. DISTRIBUCIÓN DE LA LICENCIA Los derechos adjuntos al programa tienen que aplicarse a todos aquellos que reciben el programa sin la necesidad de ejecutar una licencia adicional para estas partes. LA LICENCIA NO TIENE QUE SER ESPECÍFICA DE UN PRODUCTO Los derechos adjuntos al programa no tienen que depender de que el programa forme parte de una distribución particular de software. Si el programa es extraído de esa distribución y es usado o distribuido de acuerdo a los términos de la licencia del programa, todas las partes a las que el programa sea redistribuido deben tener los mismos derechos que son garantizados en conjunto con la distribución original del software. LA LICENCIA NO TIENE QUE RESTRINGIR A OTRO SOFTWARE La licencia no tiene que colocar restricciones en otro software que es distribuido junto con el software licenciado. Por ejemplo, la licencia no tiene que insistir en que todos los otros programas distribuidos en el mismo medio tengan que ser software de código fuente abierta CLASIFICACIÓN DE LOS COMPONENTES ABIERTOS La clasificación de componentes es un proceso extenso, ya que un componente involucra en sí mismo varios atributos relevantes. En este segmento se expone una serie de variables que podrían considerarse criterios de clasificación de componentes: TAMAÑO: El tamaño de los componentes puede ser medido por medio de las métricas utilizadas en diseño orientado a objetos. Esto significa que la medición del tamaño de un componente puede ser medido a través de: o Líneas de Código (LDC) o Orientadas a Función 47

54 COMPLEJIDAD: En algunas ocasiones, son utilizadas métricas de tamaño para evaluar la complejidad, pero es recomendable hacer uso de otro tipo de métricas. Si un componente es demasiado trivial no podrá sacársele mayor provecho en su reutilización, y si el componente es demasiado complejo será difícil asegurar su calidad. FRECUENCIA DE RE USO: El número de veces que ha sido utilizado un componente dentro de distintas aplicaciones, es sin lugar a dudas el mejor indicador de frecuencia de re uso. Cabe anotar que este atributo puede ser solo medido en componentes que ya han sido expuestos al mercado. CONFIABILIDAD: Es la probabilidad de falló en el funcionamiento del componente dentro de cierto escenario operacional. 48

55 3. METODOLOGÍA 3.1. METODO DE EXPERIMENTACIÓN El método de experimentación que se ha escogido para este trabajo de investigación es el de diseños factoriales. Estos diseños manipulan dos o más variables independientes e incluye dos o más niveles de presencia en cada una de las variables independientes. Se utilizan con más frecuencia en investigación del comportamiento. El número de grupos que se forman en un diseño factorial es igual a todas las posibles combinaciones que surjan al cruzar los niveles de una variable independiente con los niveles de las otras variables. Así, un diseño 2 x 2 (dos variables independientes y dos variables dependientes) requiere cuatro grupos; un diseño 3 x 2 (tres variables independientes y dos variables dependientes) requiere seis grupos. Los sujetos o unidades de prueba en los diseños factoriales se asignan aleatoriamente. El diseño que se aplicará es 2 x 2 (dos variables independientes y dos variables dependientes): VARIABLES INDEPENDIENTES VARIABLES DEPENDIENTES COMPONENTES ABIERTOS ACCESO REMOTO ESTÁNDARES DE REDES EFICIENCIA COMPONENTE ABIERTO VS. ACCESO REMOTO No se puede comparar el componente abierto con el acceso remoto porque el control WinSock es un componente que pertenece a la Microsoft Corporation (Visual Basic 6.0). COMPONENTE ABIERTO VS. EFICIENCIA Al utilizar el componente abierto el tiempo de respuesta de realizar un escaneo normal y un escaneo en red, no debe ser estadísticamente significativo. 49

56 ESTÁNDARES DE REDES VS. ACCESO REMOTO De acuerdo a la referencia bibliográfica citada en el punto 2.4 PROTOCOLOS TCP/IP y el punto 2.5 CONTROL WINSOCK del marco teórico se comprueba la dependencia que existe entre los estándares de redes con el acceso remoto ya que el control WinSock utiliza el protocolo TCP/IP (estándar de red) para la transmisión de datos en una red. ESTÁNDARES DE REDES VS. EFICIENCIA. Los estándares de redes permiten realizar la transmisión de datos en una red por lo cual podemos medir la eficiencia, es decir la velocidad de transmisión de los datos METODO DE COMPROBACIÓN DE HIPÓTESIS El método de comprobación de hipótesis que se ha escogido para este trabajo de investigación es la prueba Z. Esta prueba de distribución normal tiene como fin comparar los puntajes de distribuciones que son diferentes entre sí. Para Salkind, los valores de los puntajes Z tienen que ver con la probabilidad de un puntaje dado que aparezca en una distribución. El valor de Z es el resultado de dividir la desviación de un puntaje individual respecto a la media, entre la desviación estándar, utilizando la formula siguiente: X i X Z = S Donde: X i = puntuación o valor de medición para transformar en unidades de desviación estándar. X= media de la distribución o promedio de las mediciones. S= la desviación estándar de las mediciones o datos obtenidos Z= puntuación de la medición transformada a unidades de desviación estándar. La estandarización de valores permite comparar puntuaciones de dos distribuciones diferentes. 50

57 La prueba Z la aplicaremos: Para comparar los tiempos de respuesta promedio entre un escaneo normal y un escaneo en red METODO DE DESARROLLO Este trabajo de investigación se basa en compartir los escáneres de una red con la utilización de componentes abiertos y estándares de red, en donde se desea determinar si la transmisión de los datos es eficiente y lo más importante determinar si el beneficio económico de realizar una aplicación que permita compartir el escáner es conveniente para la empresa donde se desee implantar el sistema. Después de haber hecho las respectivas investigaciones bibliográficas en textos y en el Internet, podemos afirmar que se puede realizar la compartición de escáneres en una red, para lo cual hemos elaborado la siguiente hipótesis: El uso de componentes abiertos y estándares de redes facultan el desarrollo de un software eficiente que permite el uso remoto de un escáner. Para poder comprobar la hipótesis establecida vamos a desarrollar un software utilizando el componente abierto CSXIMAGE - VERSIÓN 3.2, el estándar de red TCP/IP y el Lenguaje de Programación Visual Basic 6.0 en donde se realizarán cada una de las fases de desarrollo basado en el método de incremental. En la fase de análisis se estudiará la estructura y funcionamiento del OCX CSXIMAGE y el estándar de red TCP/IP para lograr su dominio respectivo. También se definirán los requerimientos que un usuario de escáner tendría con respecto al software a desarrollar. En la fase de diseño utilizaremos el modelado estructurado cuyos diagramas principales son los Diagramas de Flujo de Datos (DFDs) y los Diagramas Entidad-Relación (DER) para determinar cómo vamos a desarrollar el sistema. En la fase de desarrollo se programará el software en la herramienta antes mencionada con el análisis y diseño previamente realizado, con lo cual se obtendrá nuestro primer prototipo. 51

58 Luego de esto, se efectuarán las pruebas y correcciones de errores respectivas. Con estos resultados parciales obtenidos se hará una retroalimentación en el análisis y diseño para poder obtener el segundo prototipo. Esto proceso se repetirá las veces necesarias hasta que el sistema quede completamente. Después de superar las pruebas de calidad del software, se evaluarán las variables establecidas en la hipótesis mediante técnicas estadísticas con las cuales se busca demostrar su veracidad. Por último al haber comprobado la hipótesis, se procederá a establecer las conclusiones y recomendaciones que servirán de base para futuras investigaciones. 52

59 4. ANÁLISIS Y DISEÑO DE SOFTWARE 4.1. ANÁLISIS DEL SOFTWARE Al principio la idea consistía en desarrollar un software que permitiera escanear remotamente, es decir, capturar una imagen desde un dispositivo de adquisición de imágenes (escáner) conectado a una computadora de la Red LAN diferente a la que estemos utilizando en ese momento, y luego poder usar los programas comerciales normales para editar las imágenes obtenidas. Sin embargo, las necesidades de los usuarios no solo era esa, sino que el software realice además OCR (Reconocimiento Óptico de Caracteres) y que pueda determinar en qué sitio de la empresa (departamentos) se encuentran las computadoras que tienen conectados los dispositivos de adquisición de imágenes (escáner) y qué usuarios tienen a cargo las mismas. Con este proyecto, se pretende que el usuario visualice un listado de las PCs con escáneres conectados que se encuentran en los diferentes departamentos de la empresa y a nombre de quién están asignadas las mismas, para luego realizar sus escaneos desde una de ellas, aplicar OCR a las imágenes capturadas, editarlas e imprimirlas. Por otra parte, el objetivo principal de desarrollar un software es el de minimizar costos a la empresa donde se va a implementar el mismo, en donde el sistema que va a desarrollar debe cumplir al 100% con este propósito, ya que no se necesita tener un escáner conectado en cada computador, además habrá menos pérdida de tiempo y agilitará los procesos que realizan los usuarios ya que no necesitan interrumpir el trabajo de otro para poder utilizar el dispositivo en mención, que en definitiva es de gran beneficio para la institución. Para cumplir con estos objetivos, desarrollaremos una aplicación Cliente - Servidor que permitirá utilizar el escáner desde cualquier estación de trabajo conectada a una red de área local, mediante la utilización de las herramientas del Lenguaje de Programación Microsoft Visual Basic 6.0 como lo es el Control WINSOCK, el protocolo de comunicaciones TCP/IP y una Base de Datos creada en Microsoft Access 2007 junto con los OCXs CSXIMAGE - VERSIÓN 3.2 e IMAGE VIEWER CP ACTIVEX CONTROL VERSIÓN 7.0 ambos disponibles en la Web, para lo cual se determinará los parámetros para establecer la conexión remota con cualquier escáner disponible en la red, se estudiarán las propiedades y ventajas del uso del protocolo de comunicaciones TCP/IP en la transferencia de imágenes y se 53

60 implementarán las propiedades, métodos y eventos de los OCX para controlar el escáner remoto y realizar el OCR. La programación de este software es estructurada, ya que por falta de experiencia en la Plataforma.Net, no la desarrollamos orientada a objetos, en donde los componentes abiertos utilizados si soportan dicha plataforma, pero con la experiencia que tenemos en programación estructurada con Microsoft Visual Basic 6.0, la aplicación a desarrollar bajo los requerimientos de los usuarios antes descritos debe ser eficiente, flexible y escalable; a la vez que es abierta a nuevas tecnologías y desarrollos computacionales y al ser implementados en módulos, permitirán una codificación ordenada y robusta, dando con ello una alta eficiencia en la adaptación del código a nuevos requerimientos, como en la ejecución del mismo. De forma tal que esta metodología permitirá tener a disposición de quien lo requiera, una gama de herramientas flexibles y escalables para coadyuvar de forma eficiente y adaptable a la solución de problemas en medios continuos de forma sistemática. Para alcanzar nuestra meta propuesta aplicaremos las técnicas aprendidas a lo largo de estos años, a un proyecto dedicado a un usuario final, en un entorno real, interactuando con dicho usuario y atendiendo los requisitos que nos solicitaba. 54

61 4.2. DISEÑO MODULAR CAPTURA Y PROCESAMIENTO DE IMÁGENES PRESENTACIÓN DE DATOS IMPRESIÓN TRANSFERENCIA DE DATOS 55

62 DESCRIPCION DE MÓDULOS CAPTURA Y PROCESAMIENTO DE IMÁGENES: Este módulo se encarga de: Establecer conexión con PC s Servidores. Mostrar y seleccionar dispositivos de entrada de imagen disponibles en los Servidores. Recibir petición de escaneo por parte de aplicación cliente. Capturar datos al escanear un documento por medio de un dispositivo de entrada de imágenes. Guardar la imagen capturada. Enviar los datos al módulo de transferencia de datos. TRANSFERENCIA DE DATOS: Este módulo se encarga de: Recibir los datos del módulo de captura y procesamiento de datos. Codificar a binario la imagen capturada. Establecer conexión con PC destino (aplicación cliente). Realizar la transferencia de datos por paquetes, si el archivo es muy grande. PRESENTACIÓN DE DATOS: Este módulo se encarga de: Recibir y decodificar los paquetes de datos enviados por parte de la aplicación servidor. Presentar la imagen recibida. Realizar OCR (reconocimiento de texto de una imagen). Abrir documento de texto RTF. 56

63 IMPRESIÓN: Este módulo se encarga de: Mostrar pantalla de impresión. Mostrar y seleccionar impresoras disponibles en la red. Enviar la imagen al dispositivo de salida (impresora). Imprimir la imagen. 57

64 4.3. DIAGRAMAS DE FLUJO DE DATOS DIAGRAMA DE CONTEXTO USUARIO [IMG TXT] PRESENTADO SISTEMA PARA COMPARTIR ESCÁNER [IMG TXT] CAPTURADO 58

65 DIAGRAMAS DE FLUJO DE DATOS DEL SERVIDOR FIGURA 0 DEL SERVIDOR ESCÁNER CAPTURAR [IMG TXT] CAPTURADO INICIAR ESCANEO [IMG TXT] 1. CAPTURAR Y PROCESAR [IMG TXT] ESCÁNER SELECCIONADO PROCESO CLIENTE ARCHIVO [IMG TXT] ENVIAR DATOS RECIBIR DATOS ARCHIVO [IMG TXT] 2. TRANSFERIR ARCHIVO 59

66 NIVEL 1 CAPTURAR Y PROCESAR [IMG TXT] ESCÁNER CAPTURAR [IMG TXT] CAPTURADO INICIAR ESCANEO [IMG TXT] ESCÀNER SELECCIONADO 1.1 CAPTURAR IMAGEN O REALIZAR OCR PROCESO CLIENTE ARCHIVO [IMG TXT] ALMACENAR DATOS ARCHIVO [IMG TXT] CODIFICADO RECIBIR DATOS ENVIAR DATOS 1.2 GUARDAR ARCHIVO 2. TRANSFERIR ARCHIVO ARCHIVO ALMACENADO [IMG TXT] ORIGINAL ESCANEADO ORIGINAL 60

67 NIVEL 1 TRANSFERIR ARCHIVO 1. CAPTURAR Y PROCESAR [IMG TXT] [IMG TXT] ORIGINAL ESCANEADO ORIGINAL ARCHIVO ALMACENADO 2.1 CODIFICAR ARCHIVO A BINARIO ENVIAR DATOS ARCHIVO [IMG TXT] CODIFICADO ALMACENAR DATOS PROCESO CLIENTE PAQUETES RECIBIDOS ESCANEADO TRANSFERIDO PAQUETES TRANSFERIDOS 2.2 ENVIAR ARCHIVO BINARIO POR PAQUETES 61

68 DICCIONARIO DE DATOS DEL SERVIDOR PROCESOS NOMBRE CAPTURAR IMAGEN O REALIZAR OCR - PROCESO CODIGO 1.1 ENTRADA FLUJO ESCÁNER SELECCIONADO [IMG TXT] CAPTURADO SALIDA FLUJO ARCHIVO [IMG TXT] ALGORITMO Si Usuario seleccionó dispositivo de imagen entonces Ordenar a dispositivo capturar imagen Ordenar almacenar la imagen capturada Caso contrario Mostrar mensaje No se ha seleccionado ningún dispositivo de imagen NOMBRE GUARDAR ARCHIVO - PROCESO CODIGO 1.2 ENTRADA FLUJO ARCHIVO [IMG TXT] SALIDA FLUJO [IMG TXT] ORIGINAL ALGORITMO Si imagen fue capturada correctamente entonces Crear archivo de imagen o texto Asignar Nombre al Archivo de Imagen o texto Asignar Extensión al Archivo de Imagen o texto Caso contrario Mostrar mensaje Error en la Captura, no se puede guardar NOMBRE CODIFICAR ARCHIVO A BINARIO - PROCESO CODIGO 2.1 ENTRADA FLUJO ARCHIVO ALMACENADO SALIDA FLUJO ARCHIVO [IMG TXT] CODIFICADO 62

69 ALGORITMO Si imagen capturada fue almacenada correctamente entonces Ordenar enviar imagen capturada a aplicación cliente Transformar a binario la [imagen texto] y crear archivo binario Obtener tamaño en bytes del archivo binario Caso contrario Mostrar mensaje Error en el archivo almacenado, no se puede leer NOMBRE ENVIAR ARCHIVO BINARIO POR PAQUETES - PROCESO CODIGO 2.2 ENTRADA FLUJO ARCHIVO [IMG TXT] CODIFICADO SALIDA FLUJO PAQUETES TRANSFERIDOS ALGORITMO Si [imagen texto] fue transformada a binario y se obtuvo tamaño en bytes entonces Establecer conexión con aplicación cliente Ordenar a la aplicación cliente recibir los paquetes de bytes Si aplicación cliente está lista para recibir paquetes entonces Mientras no sea fin del archivo binario Enviar por paquetes de bytes el archivo binario Fin del Mientras Caso contrario Mostrar mensaje Error en el envío de datos Caso contrario Mostrar mensaje No se puede enviar el archivo ALMACENES DE DATOS NOMBRE ESCANEADO ORIGINAL ESTRUCTURA VARIABLES NOMBRE_ARCHIVO EXTENSIÓN_ARCHIVO TIPO DE DATOS STRING STRING 63

70 [IMAGEN TEXTO] [IMAGE TEXT] NOMBRE ESTRUCTURA ESCANEADO ORIGINAL VARIABLES NOMBRE_ARCHIVO EXTENSIÓN_ARCHIVO [IMAGEN TEXTO] TIPO DE DATOS STRING STRING [IMAGE TEXT] NOMBRE ESCANEADO TRANSFERIDO ESTRUCTURA VARIABLES NOMBRE_ARCHIVO EXTENSIÓN_ARCHIVO [IMAGEN TEXTO] TIPO DE DATOS STRING STRING [IMAGE TEXT] FLUJOS DE DATOS NOMBRE ESCÁNER SELECCIONADO = * Identificación del escáner seleccionado por el usuario* ORIGEN ENTIDAD PROCESO CLIENTE DESTINO PROCESO CAPTURAR IMAGEN O REALIZAR OCR ESTRUCTURA CAMPOS Ip_Server + Nombre_Server + Tipo_Disposit + Nombre_Disposit. Ip_Server Nombre_Server Tipo_Disposit Nombre_Disposit [ ] {caracter legal} [escáner] {caracter legal} UNIDADES Escáner RANGO 1 64

71 NOMBRE [IMG TXT] CAPTURADO = *Archivo de imagen o texto capturado por el escáner seleccionado por el usuario*. ORIGEN ENTIDAD ESCÁNER DESTINO PROCESO CAPTURAR IMAGEN O REALIZAR OCR ESTRUCTURA CAMPOS Nombre + Extensión + [Imagen Texto] + Fecha Nombre Extensión [Imagen Texto] Fecha {caracter legal} [*.txt *.bmp *.jpg] [Imagen Texto] [dd/mm/aa] UNIDADES Imagen Texto RANGO 1 - n NOMBRE ARCHIVO [IMG TXT] = *Archivo de imagen o texto temporal almacenado en el servidor* ORIGEN PROCESO CAPTURAR IMAGEN O REALIZAR OCR DESTINO PROCESO GUARDAR ARCHIVO ESTRUCTURA CAMPOS Nombre + Extensión + [Imagen Texto] + Fecha Nombre Extensión [Imagen Texto] Fecha {caracter legal} [*.txt *.bmp *.jpg] [Imagen Texto] [dd/mm/aa] UNIDADES Imagen Texto RANGO 1 - n NOMBRE [IMG TXT] ORIGINAL = *Archivo de imagen o texto almacenado en el servidor*. ORIGEN PROCESO GUARDAR ARCHIVO DESTINO ALMACEN DE DATOS ESCANEADO ORIGINAL ESTRUCTURA CAMPOS Nombre + Extensión + [Imagen Texto] + Fecha 65

72 Nombre Extensión [Imagen Texto] Fecha {caracter legal} [*.txt *.bmp *.jpg] [Imagen Texto] [dd/mm/aa] UNIDADES Imagen Texto RANGO 1 - n NOMBRE ARCHIVO ALMACENADO =*Archivo de imagen o texto almacenado en el servidor a ser enviado al cliente*. ORIGEN ALMACEN DE DATOS ESCANEADO ORIGINAL DESTINO PROCESO TRANSFERIR ARCHIVO ESTRUCTURA CAMPOS Nombre + Extensión + [Imagen Texto] + Fecha Nombre Extensión [Imagen Texto] Fecha {caracter legal} [*.txt *.bmp *.jpg] [Imagen Texto] [dd/mm/aa] UNIDADES Imagen Texto RANGO 1 - n NOMBRE ARCHIVO [IMG TXT] CODIFICADO =*Archivo de imagen o texto almacenado en el servidor convertido en binario*. ORIGEN PROCESO TRANSFERIR ARCHIVO DESTINO ENTIDAD PROCESO CLIENTE ESTRUCTURA CAMPOS Nombre + Extensión + [Imagen Texto] + Fecha Nombre Extensión [Imagen Texto] Fecha {caracter legal} [*.txt *.bmp *.jpg] [Imagen Texto] [dd/mm/aa] UNIDADES Imagen Texto RANGO 1 - n 66

73 NOMBRE PAQUETES TRANSFERIDOS =*Paquetes de imagen o texto en binario enviados por el servidor*. ORIGEN PROCESO ENVIAR ARCHIVO BINARIO POR PAQUETES DESTINO ALMACEN DE DATOS ESCANEADO TRANSFERIDO ESTRUCTURA CAMPOS Ip_destino + Nombre + Extensión + Paquete + Numero_paquete Ip_destino Nombre Extensión Paquete Numero_paquete [ ] {caracter legal} [*.txt *.bmp *.jpg] [Imagen Texto] {caracter legal} UNIDADES Imagen Texto RANGO 1 - n NOMBRE PAQUETES RECIBIDOS =*Paquetes de imagen o texto en binario recibidos en el cliente*. ORIGEN ALMACEN DE DATOS ESCANEADO TRANSFERIDO DESTINO ENTIDAD PROCESO CLIENTE ESTRUCTURA CAMPOS Nombre + Extensión + Paquete + Numero_paquete Nombre Extensión Paquete Numero_paquete {caracter legal} [*.txt *.bmp *.jpg] [Imagen Texto] {caracter legal} UNIDADES Imagen Texto RANGO 1 - n 67

74 DIAGRAMAS DE FLUJO DE DATOS DEL CLIENTE FIGURA 0 DEL CLIENTE USUARIO 1. REQUIERE ESCANEAR INICIAR ESCANEO [IMG TXT] ESCÁNER SELECCIONADO PROCESO SERVIDOR ARCHIVO IMPRESO RECIBIR ARCHIVO SOLICITA ARCHIVO [IMG TXT] 3. IMPRIMIR ARCHIVO ARCHIVO ALMACENADO [IMG TXT] PRESENTADO ESCANEADO TRANSFERIDO ARCHIVO RECIBIDO 2. PRESENTAR ARCHIVO 68

75 NIVEL 1 ESCANEAR SERVIDORES ENCONTRADOS USUARIO 1.1 INICIAR DETECTAR SERVIDORES DE ESCÁNER LISTA DE SERVIDORES SERVIDORES DE ESCÁNERES LISTA DE ESCÁNERES ACTIVOS SELECCIÓN DE ESCÁNER ESCÁNERES ENCONTRADOS 2. PRESENTAR ARCHIVO 1.2 SELECCIONAR ESCÁNER LISTA DE ESCÁNERES ESCÁNERES ACTIVOS RECIBIR ARCHIVO ARCHIVO [IMG TXT] ESCÁNER ACTIVO ESCOGIDO 1.3 ADQUIRIR [IMG TXT] INICIAR ESCANEO [IMG TXT] ESCÁNER SELECCIONADO PROCESO SERVIDOR REQUIERE 69

76 NIVEL 1 PRESENTAR ACHIVO PROCESO SERVIDOR ARCHIVO TRANSFERIDO RECIBIR ARCHIVO 2.1. DECODIFICAR ARCHIVO BINARIO ARCHIVO DECODIFICADO ESCANEADO TRANSFERIDO IMAGEN RECIBIDA USUARIO IMAGEN PRESENTADA 2.2 CARGAR IMAGEN DOCUMENTO DE TEXTO PRESENTADO 2.3 CARGAR DOCUMENTO DE TEXTO (OCR) TEXTO RECIBIDO 70

77 NIVEL 1 IMPRIMIR ARCHIVO IMAGEN IMPRESA USUARIO PANTALLA DE IMPRESION 3.3 IMPRIMIR IMAGEN IMPRIMIR SOLICITAR IMPRESORA SELECCIONADA IMAGEN GUARDADA IMÁGENES ALMACENADAS LISTA DE IMPRESORAS ACTIVAS IMPRESORAS DE RED 3.2 SELECCIONAR IMPRESORA SELECCION DE IMPRESORA IMPRESORAS ACTIVAS LISTA DE IMPRESORAS IMPRESORAS ENCONTRADAS 3.1 DETECTAR IMPRESORAS DISPONIBLES LISTA DE IMPRESORAS 71

78 DICCIONARIO DE DATOS DEL CLIENTE PROCESOS NOMBRE DETECTAR SERVIDORES DE ESCÁNERES - PROCESO CODIGO 1.1 ENTRADA FLUJO LISTA DE SERVIDORES SALIDA FLUJO SERVIDORES ENCONTRADOS FLUJO ESCÁNERES ENCONTRADOS ALGORITMO Buscar Servidores Si servidores conectados entonces Cargar List_Server.index( Ip_Server, Nombre_Server ) Caso contrario Mostrar mensaje No existen servidores conectados NOMBRE SELECCIONAR ESCÁNER - PROCESO CODIGO 1.2 ENTRADA FLUJO ESCANERES ACTIVOS FLUJO SELECCIÓN DE ESCANER SALIDA FLUJO LISTA DE ESCÁNERES ACTIVOS FLUJO ESCANER ACTIVO ESCOGIDO ALGORITMO Si servidores conectados y Existen Escáneres conectados entonces Cargar List_Escaneres_Encontrados.index( Ip_Server, Nombre_Server + Tipo_Disposit + Nombre_Disposit.) Mostrar List_ Escaneres_Encontrados cargado. Seleccionar Escáner. Caso contrario Mostrar mensaje No existen Escáneres conectados 72

79 NOMBRE ADQUIRIR [IMG TXT] - PROCESO CODIGO 1.3 ENTRADA FLUJO ESCANER ACTIVO ESCOGIDO SALIDA FLUJO ESCANER SELECCIONADO ALGORITMO Si Usuario seleccionó Escáner entonces Enviar nombre de Escáner seleccionado a Proceso Servidor Ordenar a Escáner capturar imagen o realizar OCR Ordenar almacenar la imagen o texto capturado Recibir imagen o texto capturado enviado por Proceso Servidor Caso contrario Mostrar mensaje No se ha seleccionado ningún Escáner NOMBRE DECODIFICAR ARCHIVO BINARIO - PROCESO CODIGO 2.1 ENTRADA FLUJO ARCHIVO TRANSFERIDO SALIDA FLUJO ARCHIVO DECODIFICADO ALGORITMO Si archivo binario fue transferido correctamente entonces Ordenar los paquetes de bytes recibidos Crear archivo binario y almacenar los paquetes recibidos Transformar el archivo binario a [imagen texto] Asignar el nombre y la extensión a [imagen texto] recibido Caso contrario Mostrar mensaje Error en archivo transferido NOMBRE CARGAR IMAGEN RECIBIDA - PROCESO CODIGO 2.2 ENTRADA IMAGEN RECIBIDA SALIDA IMAGEN PRESENTADA ALGORITMO Si archivo binario fue transformado correctamente a imagen entonces Abrir la imagen recibida 73

80 Cargar la imagen en el control ImageBox de la aplicación cliente Caso contrario Mostrar mensaje Error en la imagen recibida NOMBRE CARGAR DOCUMENTO DE TEXTO (OCR) - PROCESO CODIGO 2.3 ENTRADA FLUJO TEXTO RECIBIDO SALIDA FLUJO DOCUMENTO DE TEXTO PRESENTADO ALGORITMO Si Texto OCR fue almacenado correctamente entonces Ordenar abrir archivo de Texto OCR con MSWord Caso Contrario Mostrar mensaje Error en el archivo de texto OCR almacenado NOMBRE DETECTAR IMPRESORAS DISPONIBLES - PROCESO CODIGO 3.1 ENTRADA FLUJO LISTA DE IMPRESORAS SALIDA FLUJO PANTALLA DE IMPRESIÓN IMPRESORAS ENCONTRADAS ALGORITMO Buscar Impresoras Si impresoras de red conectadas entonces Cargar List_Impresoras.index( Ip_Server, Nombre_Server ) Caso contrario Mostrar mensaje No existen impresoras conectadas NOMBRE SELECCIONAR IMPRESORA - PROCESO CODIGO 3.2 ENTRADA FLUJO IMPRESORAS ACTIVAS FLUJO SELECCION DE IMPRESORA SALIDA FLUJO LISTA DE IMPRESORAS ACTIVAS FLUJO IMPRESORA SELECCIONADA 74

81 ALGORITMO Si Existen impresoras conectadas entonces Cargar List_Impresoras_Encontradas.index(Tipo_Impresora, Nombre_ Impresora) Mostrar List_ Impresoras_Encontrad cargado. Seleccionar Impresora Caso contrario Mostrar mensaje No existen Impresoras conectadas NOMBRE IMPRIMIR IMAGEN - PROCESO CODIGO 3.3 ENTRADA FLUJO IMPRESORA SELECCIONADA FLUJO IMAGEN GUARDADA SALIDA FLUJO IMAGEN IMPRESA ALGORITMO Si Usuario seleccionó Impresora entonces Ordenar a Impresora imprimir imagen en pantalla Caso contrario Mostrar mensaje No se ha seleccionado Impresora ALMACENES DE DATOS NOMBRE LISTA DE ESCANERES ESTRUCTURA VARIABLES COD_ESCAN NOMBRE_ESCAN IP_SERVIDOR COD_TIPO_ESTADO TIPO DE DATOS STRING STRING STRING STRING NOMBRE ESTRUCTURA ESCANEADO TRANSFERIDO 75

82 VARIABLES NOMBRE_ARCHIVO EXTENSIÓN_ARCHIVO [IMAGEN TEXTO] TIPO DE DATOS STRING STRING [IMAGE TEXT] NOMBRE LISTA DE IMPRESORAS ESTRUCTURA VARIABLES TIPO_DISPOSITIVO NOMBRE_IMPRESORA IP_SERVIDOR TIPO DE DATOS INTEGER STRING STRING NOMBRE IMÁGENES ALMACENADAS ESTRUCTURA VARIABLES NOMBRE_IMAGEN EXTENSIÓN_IMAGEN IMAGEN TIPO DE DATOS STRING STRING IMAGE FLUJOS DE DATOS NOMBRE LISTA DE SERVIDORES = *Lista de Servidores detectados por el Proceso Cliente*. ORIGEN ENTIDAD SERVIDORES DE ESCANERES DESTINO PROCESO DETECTAR SERVIDORES DE ESCANER ESTRUCTURA CAMPOS List_Server[Ip_Server + Nombre_Server] Ip_Server Nombre_Server [ ] {caracter legal} UNIDADES Servidor RANGO 1 - n 76

83 NOMBRE SERVIDORES ENCONTRADOS =*Lista de Servidores encontrados por el Proceso Cliente presentada al Usuario*. ORIGEN PROCESO DETECTAR SERVIDORES DE ESCANER DESTINO ENTIDAD USUARIO ESTRUCTURA CAMPOS List_Server[Ip_Server + Nombre_Server] Ip_Server Nombre_Server [ ] {caracter legal} UNIDADES Servidor RANGO 1 - n NOMBRE ESCANERES ENCONTRADOS =*Almacén de Escáneres encontrados en los Servidores detectados por el Proceso Cliente*. ORIGEN PROCESO DETECTAR SERVIDORES DE ESCANER DESTINO ALMACEN DE DATOS LISTA DE ESCANERES ESTRUCTURA CAMPOS Ip_Server + Cod_Escan + Nombre_Escan + Cod_Tipo_Estado Ip_Server Cod_Escan Nombre_Escan Cod_Tipo_Estado [ ] [ ] {caracter legal} [ ] UNIDADES Escáner RANGO 1 - n NOMBRE ESCANERES ACTIVOS =*Escáneres almacenados encontrados en los Servidores detectados por el Proceso Cliente*. ORIGEN ALMACEN DE DATOS LISTA DE ESCANERES DESTINO PROCESO SELECCIONAR ESCANER ESTRUCTURA CAMPOS Listbox1.index[Ip_Server + Nombre_Server + Nombre_Escan + Estado] 77

84 Ip_Server Nombre_Server Nombre_Escan Estado [ ] {caracter legal} {caracter legal} {caracter legal} UNIDADES Escáner RANGO 1 - n NOMBRE LISTA DE ESCANERES ACTIVOS =*Lista de Escáneres activos encontrados en los Servidores detectados por el proceso Cliente presentada al Usuario*. ORIGEN PROCESO SELECCIONAR ESCANER DESTINO ENTIDAD USUARIO ESTRUCTURA CAMPOS Listbox1.index[Ip_Server + Nombre_Server + Nombre_Escan + Estado] Ip_Server Nombre_Server Nombre_Escan Estado [ ] {caracter legal} {caracter legal} {caracter legal} UNIDADES Escáner RANGO 1 - n NOMBRE SELECCIÓN DE ESCANER =*Escáner seleccionado por el Usuario de un Servidor activo*. ORIGEN ENTIDAD USUARIO DESTINO PROCESO SELECCIONAR ESCANER ESTRUCTURA CAMPOS Ip_Server + Nombre_Server + Nombre_Escan + Estado Ip_Server Nombre_Server Nombre_Escan Estado [ ] {caracter legal} {caracter legal} {caracter legal} UNIDADES Escáner RANGO 1 78

85 NOMBRE ESCANER ACTIVO ESCOGIDO =*Escáner activo escogido por el Usuario listo para adquirir imagen o texto*. ORIGEN PROCESO SELECCIONAR ESCANER DESTINO PROCESO ADQUIRIR [IMG TXT] ESTRUCTURA CAMPOS Ip_Server + Nombre_Escan Ip_Server Nombre_Escan [ ] {caracter legal} UNIDADES Escáner RANGO 1 NOMBRE ESCANER SELECCIONADO =*Escáner seleccionado para adquirir imagen o texto enviado al Servidor activo escogido por el Usuario*. ORIGEN PROCESO ADQUIRIR [IMG TXT] DESTINO ENTIDAD PROCESO SERVIDOR ESTRUCTURA CAMPOS Ip_Server + Nombre_Escan Ip_Server Nombre_Escan [ ] {caracter legal} UNIDADES Escáner RANGO 1 NOMBRE ARCHIVO [IMG TXT] =*Archivo de Imagen o Texto adquirido por el Escáner seleccionado por el Usuario*. ORIGEN ENTIDAD PROCESO SERVIDOR DESTINO PROCESO PRESENTAR ARCHIVO ESTRUCTURA CAMPOS Nombre + Extensión + [Imagen Texto] + Fecha Nombre {caracter legal} Extensión [*.txt *.bmp *.jpg] [Imagen Texto] [Imagen Texto] 79

86 Fecha [dd/mm/aa] UNIDADES Imagen Texto RANGO 1 NOMBRE ARCHIVO TRANSFERIDO =*Archivo de Texto o Imagen transformado a binario transferido del Proceso Servidor al Proceso Cliente*. ORIGEN ENTIDAD PROCESO SERVIDOR DESTINO PROCESO DECODIFICAR ARCHIVO BINARIO ESTRUCTURA CAMPOS Nombre + Extensión + [Imagen Texto] + Fecha Nombre Extensión [Imagen Texto] Fecha {caracter legal} [*.txt *.bmp *.jpg] [Imagen Texto] [dd/mm/aa] UNIDADES Imagen Texto RANGO 1 NOMBRE ARCHIVO DECODIFICADO =*Archivo de Texto o Imagen decodificado recibido del Proceso Servidor*. ORIGEN PROCESO DECODIFICAR ARCHIVO BINARIO DESTINO ALMACEN DE DATOS ESCANEADO TRANSFERIDO ESTRUCTURA CAMPOS Nombre + Extensión + [Imagen Texto] + Fecha Nombre Extensión [Imagen Texto] Fecha {caracter legal} [*.txt *.bmp *.jpg] [Imagen Texto] [dd/mm/aa] UNIDADES Imagen Texto RANGO 1 NOMBRE ORIGEN IMAGEN RECIBIDA =*Archivo de Imagen almacenada recibida del Proceso Servidor lista para ser presentada al Usuario*. ALMACEN DE DATOS ESCANEADO TRANSFERIDO 80

87 DESTINO PROCESO CARGAR IMAGEN ESTRUCTURA CAMPOS Nombre + Extensión + Imagen + Fecha Nombre Extensión Imagen Fecha {caracter legal} [*.bmp *.jpg] [Imagen] [dd/mm/aa] UNIDADES Imagen RANGO 1 NOMBRE IMAGEN PRESENTADA =*Imagen adquirida presentada al Usuario*. ORIGEN PROCESO CARGAR IMAGEN DESTINO ENTIDAD USUARIO ESTRUCTURA CAMPOS Nombre + Extensión + Imagen + Fecha FormCliente.Imagebox1.picture = Imagen Nombre Extensión Imagen Fecha {caracter legal} [*.bmp *.jpg] [Imagen] [dd/mm/aa] UNIDADES Imagen RANGO 1 NOMBRE TEXTO RECIBIDO =*Archivo de Texto almacenado recibido del Proceso Servidor listo para ser presentado al Usuario*. ORIGEN ALMACEN DE DATOS ESCANEADO TRANSFERIDO DESTINO PROCESO CARGAR DOCUMENTO DE TEXTO (OCR) ESTRUCTURA CAMPOS Nombre + Extensión + Archivo_Texto + Fecha Nombre {caracter legal} Extensión [*.txt *.bmp *.jpg] 81

88 Archivo_Texto [Texto] Fecha [dd/mm/aa] UNIDADES Texto RANGO 1 NOMBRE DOCUMENTO DE TEXTO PRESENTADO =*Texto adquirido por OCR presentado al Usuario*. ORIGEN PROCESO CARGAR DOCUMENTO DE TEXTO (OCR) DESTINO ENTIDAD USUARIO ESTRUCTURA CAMPOS WINWORD.EXE(Nombre + Extensión + Archivo_Texto + Fecha) Nombre Extensión Archivo_Texto Fecha {caracter legal} [*.txt *.bmp *.jpg] [Texto] [dd/mm/aa] UNIDADES Texto RANGO 1 NOMBRE LISTA DE IMPRESORAS = *Lista de Impresoras detectadas por el Proceso Cliente*. ORIGEN ENTIDAD IMPRESORAS DE RED DESTINO PROCESO DETECTAR IMPRESORAS DISPONIBLES ESTRUCTURA CAMPOS List_Impresoras[Tipo_Impresora, Nombre_Impresora] Tipo_Impresora Nombre_Impresora {caracter legal} {caracter legal} UNIDADES Impresoras RANGO 1 - n NOMBRE ORIGEN DESTINO ESTRUCTURA PANTALLA DE IMPRESIÓN =*Cuadro de Diálogo de Impresión presentada al Usuario*. PROCESO DETECTAR IMPRESORAS DISPONIBLES ENTIDAD USUARIO 82

89 CAMPOS FormCliente.Cuadro_Dialogo.Print Form.Print Cuadro de Dialogo de Impresión UNIDADES Formulario RANGO 1 NOMBRE IMPRESORAS ENCONTRADAS =*Lista de Impresoras encontradas en el Cuadro de Diálogo de Impresión detectadas por el Proceso Cliente*. ORIGEN PROCESO DETECTAR IMPRESORAS DISPONIBLES DESTINO ALMACEN DE DATOS LISTA DE IMPRESORAS ESTRUCTURA CAMPOS Tipo_Impresora + Nombre_Impresora Tipo_Impresora Nombre_Impresora {caracter legal} {caracter legal} UNIDADES Impresoras RANGO 1 - n NOMBRE IMPRESORAS ACTIVAS =*Impresoras almacenadas presentadas en el Cuadro de Diálogo de Impresión*. ORIGEN ALMACEN DE DATOS LISTA DE IMPRESORAS DESTINO PROCESO SELECCIONAR IMPRESORA ESTRUCTURA CAMPOS List_Impresoras[Tipo_Impresora + Nombre_Impresora] Tipo_Impresora Nombre_Impresora {caracter legal} {caracter legal} UNIDADES Impresoras RANGO 1 - n NOMBRE ORIGEN DESTINO IMPRESORA SELECCIONADA =*Impresora seleccionada para imprimir imagen o texto adquirido por el Escáner escogido por el Usuario*. PROCESO SELECCIONAR IMPRESORA PROCESO IMPRIMIR IMAGEN 83

90 ESTRUCTURA CAMPOS Tipo_Impresora + Nombre_Impresora Tipo_Impresora Nombre_Impresora {caracter legal} {caracter legal} UNIDADES Impresoras RANGO 1 NOMBRE SELECCION DE IMPRESORA =*Impresora seleccionada por el Usuario del Cuadro de Diálogo de Impresión*. ORIGEN ENTIDAD USUARIO DESTINO PROCESO SELECCIONAR IMPRESORA ESTRUCTURA CAMPOS Tipo_Impresora + Nombre_Impresora Tipo_Impresora Nombre_Impresora {caracter legal} {caracter legal} UNIDADES Impresoras RANGO 1 - n NOMBRE LISTA DE IMPRESORAS ACTIVAS =*Lista de Impresoras activas encontradas en el Cuadro de Diálogo de Impresión detectadas por el proceso Cliente presentada al Usuario*. ORIGEN PROCESO SELECCIONAR IMPRESORA DESTINO ENTIDAD USUARIO ESTRUCTURA CAMPOS Listbox1.index (Tipo_Impresora + Nombre_Impresora) Tipo_Impresora Nombre_Impresora {caracter legal} {caracter legal} UNIDADES Impresoras RANGO 1 - n NOMBRE ORIGEN IMAGEN GUARDADA =*Imagen adquirida almacenada, presentada en pantalla, enviada a Imprimir por el Usuario*. ALMACEN DE DATOS IMÁGENES ALMACENADAS 84

91 DESTINO PROCESO IMPRIMIR IMAGEN ESTRUCTURA CAMPOS Nombre + Extensión + Imagen + Fecha Nombre Extensión Imagen Fecha {caracter legal} [*.bmp *.jpg] [Imagen] [dd/mm/aa] UNIDADES Imagen RANGO 1 NOMBRE IMAGEN IMPRESA =*Imagen presentada en pantalla impresa en papel para el Usuario*. ORIGEN PROCESO IMPRIMIR IMAGEN DESTINO ENTIDAD USUARIO ESTRUCTURA CAMPOS Imprimir Imprimir Imagen a Imprimir UNIDADES Imagen RANGO 1 85

92 4.4. DIAGRAMA ENTIDAD RELACION Tiene 1 n ADMINISTRADOR 1 Maneja 1 n EMPRESA 1 Tiene n DEPARTAMENTOS 1 Tiene n PC S SERVIDORES 1 Controla Pertenece 1 1 Tiene Comunica 1 1 Conectado n 1 EMPLEADOS 1 Maneja 1 n 1 PC S CLIENTES 1 ESCÁNERES Utiliza n Conectado n IMPRESORAS n Conectado Utiliza n 86

93 4.5. DISEÑO DE LA BASE DE DATOS 87

94 4.6. DICCIONARIO DE BASE DE DATOS Entidad Usuario Tabla TB_USUARIO Descripción: Almacena la información de los datos de identificación y ubicación de los empleados que laboran en una empresa. Clave: Login Seguridad: Almacenamiento: Normal Secreta Disco Flexible Disco Duro x x Definición de Campos: N.- Nombre Descripción Tipo de Datos Longitud 1 Login Nombre de la cuenta de usuario Texto 10 2 Password Clave de la cuenta de usuario Texto 8 3 Nombre_Usuario Nombre y apellido del usuario Texto 50 4 Tipo_Usuario Tipo de usuario Texto 20 5 Departamento Departamento donde se encuentra el usuario Texto 40 Entidad Departamento Tabla TB_DEPARTAMENTO Descripción: Almacena la información de los datos de ubicación de los departamentos que hay en una empresa. Clave: Código del Departamento Seguridad: Almacenamiento: Normal Secreta Disco Flexible Disco Duro x x Definición de Campos: N.- Nombre Descripción Tipo de Datos Longitud 1 Cod_Departamento Código del departamento Texto 3 2 Departamento Nombre del departamento Texto 50 3 Piso Piso en el que se encuentra ubicado el departamento Texto 2 88

95 Entidad Tipo de Usuario Tabla TB_TIPO_USUARIO Descripción: Almacena los tipo de usuario de red que puede ser asignado a un empleado en una empresa. Clave: Código de Tipo de Usuario Seguridad: Almacenamiento: Normal Secreta Disco Flexible Disco Duro x x Definición de Campos: N.- Nombre Descripción Tipo de Datos Longitud 1 Cod_Tipo Código de Tipo de Usuario Texto 3 2 Tipo Tipo de Usuario Texto 15 Entidad Servidores Tabla TB_SERVIDORES Descripción: Almacena la información de los datos de los computadores servidores de escáneres que hay en una empresa. Clave: Dirección Ip del Servidor Seguridad: Almacenamiento: Normal Secreta Disco Flexible Disco Duro x x Definición de Campos: N.- Nombre Descripción Tipo de Datos Longitud 1 Dir_Ip_S Dirección Ip del Servidor Texto 15 2 Departamento Departamento donde se encuentra Texto 40 ubicado el Servidor 3 Nombre_s Nombre del Servidor Texto 50 4 Estado_servidor Estado del servidor Texto 17 4 Nombre_usuario Usuario que está a cargo del Servidor Texto

96 Entidad Tipo de Estados del Servidor Tabla TB_ESTADO_SERVIDOR Descripción: Almacena los tipos de estados en que se puede encontrar los servidores de escáneres que hay en una empresa. Clave: Código del Tipo de Estado Seguridad: Almacenamiento: Normal Secreta Disco Flexible Disco Duro x x Definición de Campos: N.- Nombre Descripción Tipo de Datos Longitud 1 Cod_estado_servidor Código del Tipo de Estado en que Texto 3 se puede encontrar un Servidor de Escáner 2 Estado_servidor Estados en que se puede encontrar un Servidor de Escáner Texto 17 90

97 4.7. DISEÑO ARQUITECTÓNICO 1.0 ESCANEAR 1.1 CONECTAR CON SERVIDOR 1.2 ESCOGER DISPOSITIVO 1.3 ABRIR IMAGEN ESCANEAR IMAGEN EDITAR IMAGEN REALIZAR OCR IMPRIMIR IMAGEN 91

98 4.8. DISEÑO DE PANTALLAS PANTALLAS DEL SERVIDOR PRINCIPAL DESCRIPCIÓN: En la parte superior izquierda se encuentra la barra de menú. En la opción Archivo se puede abrir una imagen guardada en el ordenador, escanear una imagen desde un dispositivo de entrada de imágenes, guardar la imagen, imprimir la imagen y la opción salir. En la opción Ayuda nos muestra la ayuda del Software. En la parte media derecha está la OCX, donde se muestra una imagen adquirida desde un dispositivo de entrada de imágenes o una imagen guardada en el ordenador. En la parte media izquierda muestra los dispositivos de entrada de imágenes conectados al ordenador, el dispositivo que se encuentra en uso al estar adquiriendo una imagen. En la parte inferior derecha muestra el cliente que se encuentra conectado y estado del servidor actualmente. 92

99 ACCESO: DESCRIPCIÓN: Esta es la pantalla de acceso al Servidor, en la parte superior hay dos cajas de texto, una para ingresar el login del Usuario y otra para la contraseña. En la parte inferior hay dos botones. El botón aceptar valida el login y la contraseña ingresada por el usuario, si son válidas se mostrará la pantalla principal del Servidor, caso contrario se mostrará un mensaje de usuario no válido. El botón cancelar cierra esta pantalla USUARIOS: DESCRIPCIÓN: En la parte superior izquierda se encuentra un conjunto de cajas de texto para ingresar los datos del Usuario, junto con los botones de insertar, actualizar y eliminar un Usuario. 93

100 En la parte superior derecha se encuentran dos cajas de texto: una con el nombre del ODBC DSN y otra con el nombre de la tabla que contiene los datos de los Usuarios y un botón para conectarse a la Base de Datos. En la parte media derecha se encuentra un navegador de registro y una tabla donde se muestran todos los Usuarios existentes en la Base de Datos. En la parte inferior izquierda hay tres botones. El botón aceptar que realiza la inserción, actualización o eliminación de los datos de un Usuario. El botón cancelar que anula las acciones antes mencionadas y el botón salir que cierra esta pantalla. En la parte inferior derecha muestra una caja de texto y un botón para realizar búsquedas de Usuarios por nombre. SERVIDORES: DESCRIPCIÓN: En la parte superior izquierda se encuentra un conjunto de cajas de texto para ingresar los datos de Servidores, junto con los botones de insertar, actualizar y eliminar un servidor. En la parte superior derecha se encuentran dos cajas de texto: una con el nombre del ODBC DSN y otra con el nombre de la tabla que contiene los datos de los Servidores y un botón para conectarse a la Base de Datos. 94

101 En la parte media derecha se encuentra un navegador de registro y una tabla donde se muestran todos los Servidores existentes en la Base de Datos. En la parte inferior izquierda hay tres botones. El botón aceptar que realiza la inserción, actualización o eliminación de los datos de un Servidor. El botón cancelar que anula las acciones antes mencionadas y el botón salir que cierra esta pantalla. En la parte inferior derecha muestra una caja de texto y un botón para realizar búsquedas de Servidores por nombre. DEPARTAMENTOS: DESCRIPCIÓN: En la parte superior izquierda se encuentra un conjunto de cajas de texto para ingresar los datos de Departamentos, junto con los botones de insertar, actualizar y eliminar un departamento. En la parte superior derecha se encuentran dos cajas de texto: una con el nombre del ODBC DSN y otra con el nombre de la tabla que contiene los datos de los Departamentos y un botón para conectarse a la Base de Datos. En la parte media derecha se encuentra un navegador de registro y una tabla donde se muestran todos los Departamentos existentes en la Base de Datos. 95

102 En la parte inferior izquierda hay tres botones. El botón aceptar que realiza la inserción, actualización o eliminación de los datos de un Departamento. El botón cancelar que anula las acciones antes mencionadas y el botón salir que cierra esta pantalla. En la parte inferior derecha muestra una caja de texto y un botón para realizar búsquedas de Departamentos por nombre. TIPO_USUARIO: DESCRIPCIÓN: En la parte superior izquierda se encuentra un conjunto de cajas de texto para ingresar los datos de Tipos de Usuarios, junto con los botones de insertar, actualizar y eliminar un Tipo de Usuario. En la parte superior derecha se encuentran dos cajas de texto: una con el nombre del ODBC DSN y otra con el nombre de la tabla que contiene los datos de los Tipos de Usuarios y un botón para conectarse a la Base de Datos. En la parte media derecha se encuentra un navegador de registro y una tabla donde se muestran todos los Tipos de Usuarios existentes en la Base de Datos. En la parte inferior izquierda hay tres botones. El botón aceptar que realiza la inserción, actualización o eliminación de los datos de un Tipo de Usuario. El botón cancelar que anula las acciones antes mencionadas y el botón salir que cierra esta pantalla. 96

103 En la parte inferior derecha muestra una caja de texto y un botón para realizar búsquedas de Tipos de Usuarios por Tipo PANTALLAS DEL CLIENTE: PRINCIPAL: DESCRIPCIÓN: En la parte superior izquierda se encuentra la barra de menús. En la opción Archivo se puede abrir una imagen guardada en el ordenador, escanear una imagen desde un dispositivo de entrada de imágenes, guardar la imagen, imprimir la imagen y la opción salir. En la opción servidor se conecta con cualquier servidor de imagen que esté en red. En la opción herramientas podemos realizar OCR y también mostrar el cuadro de información de píxeles en pantalla. En la opción Ayuda nos muestra la versión del Software. 97

104 En la parte superior media se encuentra una barra de progreso que solo se muestra cuando se adquiere una imagen y también se muestra la ruta de donde ha sido guardada la imagen en el ordenador. En la parte media derecha está la OCX, donde se muestra una imagen adquirida desde un dispositivo de entrada de imágenes conectado a un servidor o una imagen guardada en el ordenador. En la parte media izquierda muestra los dispositivos de entrada de imágenes conectados al servidor de imagen. También se muestran las opciones de edición de imágenes. En la parte superior derecha muestra una información de los colores de los píxeles de la imagen cargada en la OCX. En la parte inferior izquierda muestra un listado de las imágenes escaneadas. En la barra inferior de la pantalla se muestra la ruta de la imagen cargada en la OCX, la resolución de pantalla (píxeles) y el formato de la imagen. SERVIDORES: 98

105 DESCRIPCIÓN: Esta es la pantalla de Servidor de Escáneres, en la parte superior se muestran los Servidores de Escáneres (íconos con sus nombres) encontrados en la Red LAN. En la parte de media hay dos botones. El botón aceptar que conecta la aplicación Cliente con el Servidor de Escáner, luego que el Usuario haya escogido uno disponible (estado activo desocupado). El botón cancelar cierra esta pantalla. En la parte inferior una tabla donde se muestran todos los Servidores de Escáneres encontrados con sus respectivos estados. SELECCIONAR_ESCANER: DESCRIPCIÓN: Esta es la pantalla de Seleccionar Escáner, en la parte superior se muestra la lista de los Escáneres conectados al Servidor que escogió el Usuario. En la parte de inferior hay dos botones. El botón OK que selecciona el Escáner escogido por el Usuario. El botón cancelar cierra esta pantalla y regresa a la pantalla de Servidores de Escáneres. 99

106 ESCANEAR: DESCRIPCIÓN: Esta es la pantalla de Escanear, en la parte superior se muestran dos opciones. La opción para capturar una imagen y la opción Texto para realizar OCR al capturar una imagen. En la parte de inferior hay dos botones. El botón Aceptar que realiza la acción escogida por el Usuario. El botón cancelar cierra esta pantalla y regresa a la pantalla de Seleccionar Escáner. OCR: 100

TEMA: PROTOCOLOS TCP/IP

TEMA: PROTOCOLOS TCP/IP TEMA: PROTOCOLOS TCP/IP HISTORIA: El Protocolo de Internet (IP) y el Protocolo de Transmisión (TCP), fueron desarrollados inicialmente en 1973 por el informático estadounidense Vinton Cerf como parte de

Más detalles

MANUAL DE ESCANEO Guía Detallada (Métodos de digitalización)

MANUAL DE ESCANEO Guía Detallada (Métodos de digitalización) MANUAL DE ESCANEO Guía Detallada (Métodos de digitalización) 1 ÍNDICE I. INTRODUCCIÓN... 3 1.1 OBJETIVOS... 3 II. ESPECIFICACIÓN DE PROPIEDADES DE LOS ARCHIVOS DE DOCUMENTACIÓN SOLICITADA.... 4 Primera

Más detalles

TEMA 25: El Protocolo TCP/IP.

TEMA 25: El Protocolo TCP/IP. Tema 25 Protocolo TCP/IP TEMA 25: El Protocolo TCP/IP. Índice 1 INTRODUCCIÓN 1 1.1 Historia 1 2 CAPAS DEL PROTOCOLO 2 2.1 La capa de aplicación 2 2.2 La capa de transporte 3 2.2.1 El protocolo TCP Protocolo

Más detalles

Arquitectura de Redes y Comunicaciones

Arquitectura de Redes y Comunicaciones MODELO DE REFERENCIA OSI El modelo de referencia de interconexión de sistemas abiertos es una representación abstracta en capas, creada como guía para el diseño del protocolo de red. El modelo OSI divide

Más detalles

Fig.1 Redes conectadas a Internet a través de routers IP

Fig.1 Redes conectadas a Internet a través de routers IP PRACTICA 4 EL PROTOCOLO IP Hasta ahora hemos visto aspectos relacionados con el hardware de red de nuestras máquinas: Acceso al adaptador de red y un mecanismo para la resolución de direcciones hardware.

Más detalles

LA ARQUITECTURA TCP/IP

LA ARQUITECTURA TCP/IP LA ARQUITECTURA TCP/IP Hemos visto ya como el Modelo de Referencia de Interconexión de Sistemas Abiertos, OSI-RM (Open System Interconection- Reference Model) proporcionó a los fabricantes un conjunto

Más detalles

REDES. Republica Bolivariana de Venezuela. Ministerio del Poder Popular para la Defensa. Universidad Nacional Experimental de la Fuerza Armada

REDES. Republica Bolivariana de Venezuela. Ministerio del Poder Popular para la Defensa. Universidad Nacional Experimental de la Fuerza Armada Republica Bolivariana de Venezuela Ministerio del Poder Popular para la Defensa Universidad Nacional Experimental de la Fuerza Armada Maracaibo Edo. Zulia REDES Autor: Carlos Enrique Molero Paz C.I.: 19.679.663

Más detalles

ÚNICA Y EXCLUSIVAMENTE PARA SU FIN.

ÚNICA Y EXCLUSIVAMENTE PARA SU FIN. Acerca de las redes de ordenadores y conexiones a DVR de SEGURIDAD por Internet: Los ordenadores tienen la facultad de poder comunicarse entre sí, para ello pueden utilizar diversos tipos de "idiomas"

Más detalles

Examen Nacional para Aspirantes a Residencias Médicas. Manual de Usuario Guía Detallada. Tercera edición, 2013. D. R. Secretaría de Salud.

Examen Nacional para Aspirantes a Residencias Médicas. Manual de Usuario Guía Detallada. Tercera edición, 2013. D. R. Secretaría de Salud. Examen Nacional para Aspirantes a Residencias Médicas. Manual de Usuario Guía Detallada Tercera edición, 2013 D. R. Secretaría de Salud. Dirección General de Calidad y Educación en Salud - DGCES Dirección

Más detalles

8 Conjunto de protocolos TCP/IP y direccionamiento IP

8 Conjunto de protocolos TCP/IP y direccionamiento IP 8 Conjunto de protocolos TCP/IP y direccionamiento IP 8.1 Introducción a TCP/IP 8.1.1 Historia de TCP/IP El Departamento de Defensa de EE.UU. (DoD) creó el modelo de referencia TCP/IP porque necesitaba

Más detalles

Protocolo Tcp/ip - Introducción. Apunte extraído de http://www.saulo.net

Protocolo Tcp/ip - Introducción. Apunte extraído de http://www.saulo.net Protocolo Tcp/ip - Introducción. Apunte extraído de http://www.saulo.net Todos sabemos en este momento lo importante que son las comunicaciones electrónicas en la vida del hombre, y las redes de computadoras

Más detalles

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED Dolly Gómez Santacruz dolly.gomez@gmail.com CAPA DE RED La capa de red se ocupa de enviar paquetes de un punto a otro, para lo cual utiliza los servicios

Más detalles

ARQUITECTURA DE REDES Laboratorio

ARQUITECTURA DE REDES Laboratorio 1nsloo.cl ARQUITECTURA DE REDES Laboratorio Práctica 7: Protocolos de transporte en TCP/IP 1. OBJETIVO Conocer las características de los protocolos de transporte de la arquitectura TCP/IP: TCP y UDP.

Más detalles

Protocolo de Internet (IP)

Protocolo de Internet (IP) Semana 12 Empecemos! Estimado y estimada participante, esta semana tendrás la oportunidad de aprender sobre protocolo de Internet (IP), el cual permite enlazar computadoras de diferentes tipos, ser ejecutado

Más detalles

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. http://www.icc.uji.es. CAPÍTULO 8: El nivel de transporte en Internet

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. http://www.icc.uji.es. CAPÍTULO 8: El nivel de transporte en Internet Redes (IS20) Ingeniería Técnica en Informática de Sistemas http://www.icc.uji.es CAPÍTULO 8: El nivel de transporte en Internet ÍNDICE 1. Introducción Curso 2002-2003 - Redes (IS20) -Capítulo 8 1 1. Introducción

Más detalles

INF 1400 Redes de Computadores. Jorge Baier A. Alvaro Soto A.

INF 1400 Redes de Computadores. Jorge Baier A. Alvaro Soto A. INF 1400 Redes de Computadores Jorge Baier A. Alvaro Soto A. Departamento de Ciencia de la Computación P. Universidad Católica de Chile [jabaier,asoto]@ing.puc.cl Contenido 1. Introducción 2. Protocolos

Más detalles

1.Introducción. 2.Direcciones ip

1.Introducción. 2.Direcciones ip 1.Introducción El papel de la capa IP es averiguar cómo encaminar paquetes o datagramas a su destino final, lo que consigue mediante el protocolo IP. Para hacerlo posible, cada interfaz en la red necesita

Más detalles

Laboratorio 4: Asignación de Direcciones IPv4.

Laboratorio 4: Asignación de Direcciones IPv4. Redes de Datos Laboratorio 4 - Instructivo. Laboratorio 4: Asignación de Direcciones IPv4. Instrucciones generales Para poder realizar exitosamente la práctica, deberá cumplir las siguientes etapas: Previo

Más detalles

Práctica de laboratorio 4.5.2: Protocolos de la capa de Transporte TCP/IP, TCP y UDP Diagrama de topología

Práctica de laboratorio 4.5.2: Protocolos de la capa de Transporte TCP/IP, TCP y UDP Diagrama de topología Práctica de laboratorio 4.5.2: Protocolos de la capa de Transporte TCP/IP, TCP y UDP Diagrama de topología Este documento es información pública de Cisco. Página 1 de 10 Tabla de direccionamiento Dispositivo

Más detalles

CCNA 1 v3.0 Módulo 9 Suite de Protocolos TCP/IP y Direccionamiento IP Prof: Mg Robert Antonio, Romero Flores

CCNA 1 v3.0 Módulo 9 Suite de Protocolos TCP/IP y Direccionamiento IP Prof: Mg Robert Antonio, Romero Flores CCNA 1 v3.0 Módulo 9 Suite de Protocolos TCP/IP y Direccionamiento IP Prof: Mg Robert Antonio, Romero Flores 1 Objetivos Los estudiantes que completen este módulo deberán poder: Explicar por qué se desarrolló

Más detalles

ÍNDICE DE CONTENIDOS

ÍNDICE DE CONTENIDOS ÍNDICE DE CONTENIDOS 1. Conceptos generales sobre redes... 1. 2. Elementos básicos de una red. Hardware y Software... 3. 3. Configuración de una LAN. Protocolo TCP IP... 5. 4. Recursos compartidos en una

Más detalles

Capa de TRANSPORTE. Ing. José Martín Calixto Cely Original: Galo Valencia P.

Capa de TRANSPORTE. Ing. José Martín Calixto Cely Original: Galo Valencia P. Capa de TRANSPORTE Ing. José Martín Calixto Cely Original: Galo Valencia P. Capa de Transporte La Capa 1 crea y transporta las corrientes de bits; La Capa 2 encapsula los paquetes de datos en tramas, y

Más detalles

CAPITULO 4 TCP/IP NETWORKING

CAPITULO 4 TCP/IP NETWORKING CAPITULO 4 TCP/IP NETWORKING Algo sobre LINUX http://www.diarioti.com/gate/n.php?id=9470 2 AGENDA 4.1 Historia del protocolo TCP/IP 4.2 Direccionamiento IP 4.3 Nombre de resolución 4.4 Protocolos TCP/IP

Más detalles

MASSACHUSETTS INSTITUTE OF TECHNOLOGY SLOAN SCHOOL OF MANAGEMENT. Factores tecnológicos, organizativos y estratégicos

MASSACHUSETTS INSTITUTE OF TECHNOLOGY SLOAN SCHOOL OF MANAGEMENT. Factores tecnológicos, organizativos y estratégicos MASSACHUSETTS INSTITUTE OF TECHNOLOGY SLOAN SCHOOL OF MANAGEMENT 15.565 Integración de sistemas de información: Factores tecnológicos, organizativos y estratégicos 15.578 Sistemas de información globales:

Más detalles

REQUISITOS TÉCNICOS PARA ESCANEAR

REQUISITOS TÉCNICOS PARA ESCANEAR RECOMENDACIONES PARA DIGITALIZAR DOCUMENTOS. USO DEL ESCÁNER Unni iddaadd ddee Dooccuumeennt taacci ióónn,, Arrcchhi ivvoo yy Reeggi isst trroo Febrero 2008 Este documento pretende ofrecer información

Más detalles

INSTITUTO POLITÉCNICO NACIONAL

INSTITUTO POLITÉCNICO NACIONAL INSTITUTO POLITÉCNICO NACIONAL Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Profesional Adolfo López Mateos Control a distancia en lazo abierto de un motor de C. A. vía el protocolo TCP/IP

Más detalles

Fundamentos de Redes LI. Unidad III Modelos de Comunicaciones 3.1 Modelo de referencia OSI.

Fundamentos de Redes LI. Unidad III Modelos de Comunicaciones 3.1 Modelo de referencia OSI. 3.1 Modelo de referencia OSI. Durante las últimas dos décadas ha habido un enorme crecimiento en la cantidad y tamaño de las redes. Muchas de ellas sin embargo, se desarrollaron utilizando implementaciones

Más detalles

Prácticas de Introducción a los Computadores Curso 2000-2001 1 WINDOWS 95

Prácticas de Introducción a los Computadores Curso 2000-2001 1 WINDOWS 95 Prácticas de Introducción a los Computadores Curso 2000-2001 1 Novedades WINDOWS 95 Windows 95 es un sistema operativo orientado a documentos. Permite la asociación de la extensión de cada fichero a un

Más detalles

ÍNDICE SISTEMAS OPERATIVOS... 5

ÍNDICE SISTEMAS OPERATIVOS... 5 INTRODUCCIÓN HABILIDADES INFORMÁTICAS BÁSICAS PARA ADULTOS SKILLS es un completo curso destinado a alumnos adultos, en particular, a empleados de mayor edad, de forma que puedan adquirir/mejorar sus conocimientos

Más detalles

FUNDAMENTOS DE INFORMATICA

FUNDAMENTOS DE INFORMATICA FUNDAMENTOS DE INFORMATICA TEMAS QUE SE TRATARÁN: Arquitectura Interna Sistemas Operativos Programación en Visual Basic Bases de Datos Redes e Internet 1 FUNDAMENTOS DE INFORMATICA Tema 1: Arquitectura

Más detalles

Capas del Modelo ISO/OSI

Capas del Modelo ISO/OSI Modelo ISO/OSI Fue desarrollado en 1984 por la Organización Internacional de Estándares (ISO), una federación global de organizaciones que representa aproximadamente a 130 países. El núcleo de este estándar

Más detalles

CSIR2121. Administración de Redes I [Modulo 1]

CSIR2121. Administración de Redes I [Modulo 1] CSIR2121 Administración de Redes I [Modulo 1] Temas: Nacimiento del Modelo OSI Uso de Capas Paquetes Medios Protocolos Evolución de las normas de networking de ISO Propósito del modelo de referencia OSI

Más detalles

UNIDAD 1.1 - MODELO OSI/ISO

UNIDAD 1.1 - MODELO OSI/ISO UNIDAD 1.1 - MODELO OSI/ISO El modelo de referencia OSI es el modelo principal para las comunicaciones por red. Aunque existen otros modelos, en la actualidad la mayoría de los fabricantes de redes relacionan

Más detalles

Paquete: Puerto: Socket: TCP: NAT: RDSI: LAN: WAN: Gateway OSI: Router: Línea Dedicada: MRouter: MultiCasting: Máscara de Subred: Dirección IP:

Paquete: Puerto: Socket: TCP: NAT: RDSI: LAN: WAN: Gateway OSI: Router: Línea Dedicada: MRouter: MultiCasting: Máscara de Subred: Dirección IP: - 2001-11-17! Este texto sólo intenta ser una ayuda para que cualquier usuario comprenda unos conceptos que hoy en día se perfilan como imprescindibles en una red. Antes, debemos familiarizarnos y entender

Más detalles

La vida en un mundo centrado en la red

La vida en un mundo centrado en la red La vida en un mundo centrado en la red Aspectos básicos de networking: Capítulo 3 1 Objetivos En este capítulo aprenderá a: Describir cómo las funciones de las tres capas superiores del modelo OSI que

Más detalles

Redes de Computadoras Junio de 2006. Teoría y problemas (75 %)

Redes de Computadoras Junio de 2006. Teoría y problemas (75 %) Redes de Computadoras Junio de 2006 Nombre: DNI: Teoría y problemas (75 %) 1. (1 punto) Suponga una aplicación P2P de compartición de ficheros en la que existe un servidor central que ofrece un servicio

Más detalles

Tipos de Redes: Topologías de red: Según el tamaño: Según su tecnología de transmisión: Según en tipo de transferencia de datos:

Tipos de Redes: Topologías de red: Según el tamaño: Según su tecnología de transmisión: Según en tipo de transferencia de datos: Tipos de Redes: Según el tamaño: -LAN (red de área local): de 10 metros a 1 kilómetro, suelen usar broatcast y su velocidad va de 10 a 100 MBps. -MAN (red de área metropolitana): tamaño máximo 10 kilómetros.

Más detalles

Índice general. Tipos de servicio de transporte. Por qué un nivel de transporte? TEMA 6 Funciones de los niveles superiores. Miguel A.

Índice general. Tipos de servicio de transporte. Por qué un nivel de transporte? TEMA 6 Funciones de los niveles superiores. Miguel A. Arquitectura de Redes, Sistemas y Servicios Curso 2007/2008 TEMA 6 Funciones de los niveles superiores Miguel A. Gómez Hernández ARITT/ITT-IT CURSO 07/08 TEMA 6 (2) Por qué un nivel de transporte? Tipos

Más detalles

INDICE I. Parte: Conceptos sobre TCP/IP 1. Introducción a TCP/IP 2. Arquitectura TCP/IP 3. La Capa de Acceso a la Red

INDICE I. Parte: Conceptos sobre TCP/IP 1. Introducción a TCP/IP 2. Arquitectura TCP/IP 3. La Capa de Acceso a la Red INDICE Introducción XV I. Parte: Conceptos sobre TCP/IP 1. Introducción a TCP/IP 3 Breve historia de TCP/IP 4 La necesidad de normas abiertas 6 El proceso de normalización de Internet 9 Borradores de Internet

Más detalles

Unidad 3: El sistema operativo. Trabajo con conexión.

Unidad 3: El sistema operativo. Trabajo con conexión. Unidad 3: El sistema operativo. Trabajo con conexión. 1.- Red de ordenadores Vamos a describir que es una red informática o red de ordenadores. Una red informática es un sistema de interconexión entre

Más detalles

Introducción a IP versión 4

Introducción a IP versión 4 Notas de clase IPv4 PROTOTIPO Por Ernesto Alvarez Introducción a IPv4 Introducción a IP versión 4 IPv4 (Internet Protocol versión 4) es el protocolo de nivel de red usado en Internet. Junto con otros protocolos

Más detalles

FOTO CLIC Nociones básicas sobre imagen digital

FOTO CLIC Nociones básicas sobre imagen digital FOTO CLIC Nociones básicas sobre imagen digital 1. INTRODUCCIÓN 2. CÁMARAS DIGITALES 2.1. Tipos de cámaras digitales 2.2. Partes de una cámara digital 2.3. Almacenaje de fotografías 2.4. Transferencia

Más detalles

TEMA 7 PROTOCOLOS DE TRANSPORTE. TCP Y UDP.

TEMA 7 PROTOCOLOS DE TRANSPORTE. TCP Y UDP. TEMA 7 PROTOCOLOS DE TRANSPORTE. TCP Y UDP. 7.1 Generalidades El nivel de transporte proporciona un servicio extremo a extremo, puede ser. o Confiable, u orientado a conexión como TCP o No confiable, o

Más detalles

Archivo de programa Es el que inicia una aplicación o un programa y tiene una extensión EXE, PIF, COM, BAT. Véase también Programa.

Archivo de programa Es el que inicia una aplicación o un programa y tiene una extensión EXE, PIF, COM, BAT. Véase también Programa. Glosario de términos Ancho de Banda El ancho de banda es la máxima cantidad de datos que pueden pasar por un camino de comunicación en un momento dado, normalmente medido en segundos. Cuanto mayor sea

Más detalles

Univ. de Concepción del Uruguay Facultad de Ciencias Agrarias Ingeniería Agrónoma

Univ. de Concepción del Uruguay Facultad de Ciencias Agrarias Ingeniería Agrónoma INFORMÁTICA Univ. de Concepción del Uruguay Facultad de Ciencias Agrarias Ingeniería Agrónoma Informática Teoría Unidad 5 Prof. Ing Ezequiel Benavente Ciclo lectivo 2014 Diferencias entre un Modem y un

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 Módulo 1. Fundamentos de Computadores Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 1 CONTENIDO Tema 1. Introducción

Más detalles

INTRODUCCIÓN. El protocolo TCP, funciona en el nivel de transporte del modelo de referencia OSI, proporcionando un transporte fiable de datos.

INTRODUCCIÓN. El protocolo TCP, funciona en el nivel de transporte del modelo de referencia OSI, proporcionando un transporte fiable de datos. INTRODUCCIÓN Aunque poca gente sabe lo que es TCP/IP todos lo emplean indirectamente y lo confunden con un solo protocolo cuando en realidad son varios, de entre los cuales destaca y es el mas importante

Más detalles

MODELO OSI. Historia. Modelo de referencia OSI

MODELO OSI. Historia. Modelo de referencia OSI MODELO OSI El modelo de interconexión de sistemas abiertos (ISO/IEC 7498-1), también llamado OSI (en inglés open system interconnection) es el modelo de red descriptivo creado por la Organización Internacional

Más detalles

ARQUITECTURAS CLIENTE/SERVIDOR

ARQUITECTURAS CLIENTE/SERVIDOR Arquitecturas Cliente/Servidor, Sem 2016-1 M.I.Yasmine Macedo Reza 1 ARQUITECTURAS CLIENTE/SERVIDOR Conceptos básicos Arquitecturas Cliente/Servidor, Sem 2016-1 M.I.Yasmine Macedo Reza 2 Conceptos básicos

Más detalles

Introducción Internet no tiene una estructura real, pero existen varios backbone principales. Estos se construyen a partir de líneas y routers de alta velocidad. Conectados a los backbone hay redes regionales

Más detalles

El modelo OSI. Introducción. Conceptos generales

El modelo OSI. Introducción. Conceptos generales El modelo OSI Introducción En un principio, los computadores eran elementos aislados, constituyendo cada uno de ellos una estación de trabajo independiente, una especie de "isla informática". Cada computador

Más detalles

INGENIERÍA INFORMÁTICA LABORATORIO DE REDES

INGENIERÍA INFORMÁTICA LABORATORIO DE REDES INGENIERÍA INFORMÁTICA LABORATORIO DE REDES SESIÓN 1. SEMINARIO INTRODUCTORIO PILA DE PROTOCOLOS Objetivos 1 h. Introducir la pila Funciones y cabecera IPv4 Cabecera IPv6 Funciones y cabecera TCP Funciones

Más detalles

REDES DE COMPUTADORES Laboratorio

REDES DE COMPUTADORES Laboratorio 1nsloo.cl REDES DE COMPUTADORES Laboratorio Práctica 1: Emulación de redes con NetGUI. 1. OBJETIVOS. El objetivo de esta práctica es aprender a utilizar la herramienta de emulación de redes Netkit / NetGUI,

Más detalles

Redes de Computadores. Tema 1 Introducción a las redes de computadores

Redes de Computadores. Tema 1 Introducción a las redes de computadores (07BJ) (05BR) Redes Redes de Computadores Tema 1 Introducción a las redes de computadores Índice 1. Introducción 1.1 Aplicaciones de las redes 1.2 Esquema general de comunicación 2. Conceptos básicos ([FOR07]

Más detalles

unidad redes de computadoras

unidad redes de computadoras unidad 4 redes de computadoras contenidos Compartir recursos Modelo cliente/servidor Tecnologías de la Información y la Comunicación 67 Acerca de esta unidad Una red es un conjunto de computadoras dos

Más detalles

AREA DE TECNOLOGIA E INFORMATICA. Introducción a las Redes de computadores

AREA DE TECNOLOGIA E INFORMATICA. Introducción a las Redes de computadores AREA DE TECNOLOGIA E INFORMATICA Introducción a las Redes de computadores 1 Concepto Una Red es un conjunto de ordenadores interconectados entre si mediante cable o por otros medios inalámbricos. 2 Utilidad

Más detalles

5.- Qué significan las siglas DNS? Sistema de Nombres de Dominios.

5.- Qué significan las siglas DNS? Sistema de Nombres de Dominios. 1.- Cuál es su función de un protocolo en una red? Define las reglas y procedimientos para transmitir datos. 2.- Menciona por que utilizan los protocolos el emisor y el receptor Romper el dato en paquetes,

Más detalles

Configuración del acceso a Internet en una red

Configuración del acceso a Internet en una red Configuración del acceso a Internet en una red Contenido Descripción general 1 Opciones para conectar una red a Internet 2 Configuración del acceso a Internet utilizando un router 12 Configuración del

Más detalles

Ayuda de Symantec pcanywhere Web Remote

Ayuda de Symantec pcanywhere Web Remote Ayuda de Symantec pcanywhere Web Remote Conexión desde un navegador web Este documento incluye los temas siguientes: Acerca de Symantec pcanywhere Web Remote Protección de la sesión de Web Remote Formas

Más detalles

En informática, un servidor es una computadora que, formando parte de una red, provee servicios a otras computadoras denominadas clientes.

En informática, un servidor es una computadora que, formando parte de una red, provee servicios a otras computadoras denominadas clientes. 14. Servidores En informática, un servidor es una computadora que, formando parte de una red, provee servicios a otras computadoras denominadas clientes.1 También se suele denominar con la palabra servidor

Más detalles

FUNDAMENTOS DE REDES Arquitectura de Redes Modelo de referencia OSI y TCP/IP

FUNDAMENTOS DE REDES Arquitectura de Redes Modelo de referencia OSI y TCP/IP FUNDAMENTOS DE REDES Arquitectura de Redes Modelo de referencia OSI y TCP/IP Dolly Gómez Santacruz dollygos@univalle.edu.co Arquitectura de Redes Introducción Las comunicaciones en redes son complejas,

Más detalles

5.1. Qué es Internet? controla todo el sistema, pero está conectado de tal manera que hace

5.1. Qué es Internet? controla todo el sistema, pero está conectado de tal manera que hace 5. Internet 5.1. Qué es Internet? Internet es una red mundial de equipos que se comunican usando un lenguaje común. Es similar al sistema telefónico internacional: nadie posee ni controla todo el sistema,

Más detalles

UNIDAD I INTRODUCCIÓN M.S.C AGUSTIN JAIME NUÑEZ RODRIGUEZ

UNIDAD I INTRODUCCIÓN M.S.C AGUSTIN JAIME NUÑEZ RODRIGUEZ UNIDAD I INTRODUCCIÓN M.S.C AGUSTIN JAIME NUÑEZ RODRIGUEZ El programa base fundamental de todos los programas de sistema, es el Sistema Operativo, que controla todos los recursos de la computadora y proporciona

Más detalles

TIPOS DE REDES COMPUTACIONALES

TIPOS DE REDES COMPUTACIONALES TIPOS DE REDES COMPUTACIONALES Cuando existe la necesidad de conectar permanentemente dos o tres puntos entre sí, podemos utilizar tres formas distintas. Pensemos una Empresa con una Central y dos sucursales,

Más detalles

FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES

FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES FUNDAMENTOS DE REDES CONCEPTOS DE LAS CAPAS SUPERIORES Dolly Gómez Santacruz dollygos@univalle.edu.co CAPA DE SESION Conceptos El propósito principal de la capa de sesión en la pila OSI es minimizar los

Más detalles

El Modelo de Referencia OSI

El Modelo de Referencia OSI El Modelo de Referencia OSI Tabla de Contenidos 2. El Modelo de Referencia OSI... 2 2.1 Nivel físico...4 2.2 Nivel de enlace... 4 2.3 Nivel de red... 5 2.4 Nivel de transporte...5 2.5 Nivel de sesión...

Más detalles

Nombre: Francis Ariel Jiménez Zapata. Matricula: 2010-0077. Tema: Trabajando con Windows Server 2008 Módulo 6. Materia: Sistema Operativo II

Nombre: Francis Ariel Jiménez Zapata. Matricula: 2010-0077. Tema: Trabajando con Windows Server 2008 Módulo 6. Materia: Sistema Operativo II Nombre: Francis Ariel Jiménez Zapata Matricula: 2010-0077 Tema: Trabajando con Windows Server 2008 Módulo 6 Materia: Sistema Operativo II Facilitador: José Doñe Introducción En este trabajo estaremos tratando

Más detalles

Modelo TCP/IP. Página 1. Modelo TCP/IP

Modelo TCP/IP. Página 1. Modelo TCP/IP Modelo TCP/IP Página 1 Índice: Página 1.-Introducción 3 2.-Arquitectura TCP/IP 3 3.-Protocolo IP 8 4.-Direccionamiento IP 9 5.-Otros Protocolos de la capa de Red. 12 6.-Ejercicios 13 7.-Protocolos de resolución

Más detalles

:: Redes :: Introducción a las Redes de Computadores

:: Redes :: Introducción a las Redes de Computadores Versión 28/02/11 :: Redes :: aplicación transporte red enlace física Introducción a las Redes de Computadores David Villa :: http://www.esi.uclm.es/www/dvilla/ 1 Contenidos Concepto

Más detalles

Denominamos Ordenador o Computadora, a una máquina electrónica que es capaz de dar un tratamiento automatizado a la información.

Denominamos Ordenador o Computadora, a una máquina electrónica que es capaz de dar un tratamiento automatizado a la información. INTRODUCCIÓN AL ORDENADOR Denominamos Ordenador o Computadora, a una máquina electrónica que es capaz de dar un tratamiento automatizado a la información. Se compone de dos elementos fundamentales que

Más detalles

En la actualidad podemos encontrarnos con dos tipos de comunicación WIFI

En la actualidad podemos encontrarnos con dos tipos de comunicación WIFI Redes Comunes Redes WIFI 1 Cuando hablamos de WIFI nos referimos a una de las tecnologías de comunicación inalámbrica más utilizada hoy en día. WIFI es una abreviatura de Wireless Fidelity, también llamada

Más detalles

Redes de Computadoras Introducción Arquitectura de Redes

Redes de Computadoras Introducción Arquitectura de Redes Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Redes de Computadoras Introducción Arquitectura de Redes Mérida - Venezuela Prof. Gilberto Díaz Otra clasificación de las redes Según

Más detalles

Antes de imprimir este documento piense en el medio ambiente!

Antes de imprimir este documento piense en el medio ambiente! Versión 1.0 Página 1 de 14 1. OBJETIVO: Suministrar la metodología que se aplicará para la estimación de esfuerzo para los desarrollos nuevos en el ICBF, para lo cual se detallan los aspectos a tener en

Más detalles

LA COMUNICACIÓN ENTRE ORDENADORES

LA COMUNICACIÓN ENTRE ORDENADORES LA COMUNICACIÓN ENTRE ORDENADORES 1. REDES...1 1.1. Redes de paquete...2 Protocolos de conexión...2 1.2. Tipos de redes...2 1.3. Topología de las redes...2 1.4. Otros dispositivos en la red...3 2. VELOCIDAD

Más detalles

Arquitecturas cliente/servidor

Arquitecturas cliente/servidor Arquitecturas cliente/servidor Conceptos básicos 1 Conceptos básicos 1. Definición de puerto 2. Sockets 3. Conceptos cliente/servidor 4. Definición de Stream 5. Concurrencia, multiprogramación y multitarea

Más detalles

Redes de computadores. Práctica 3

Redes de computadores. Práctica 3 Ingenieria Informática. Redes de computadores Práctica 3 El protocolo TCP 1 El protocolo TCP Introducción a TCP TCP es un protocolo de nivel de transporte completo que proporciona un servicio de transferencia

Más detalles

Capítulo 11: Capa 3 - Protocolos

Capítulo 11: Capa 3 - Protocolos Capítulo 11: Capa 3 - Protocolos Descripción general 11.1 Dispositivos de Capa 3 11.1.1 Routers 11.1.2 Direcciones de Capa 3 11.1.3 Números de red únicos 11.1.4 Interfaz/puerto del router 11.2 Comunicaciones

Más detalles

UNIDAD FORMATIVA 1: Instalación y Configuración de los Nodos de Area Local

UNIDAD FORMATIVA 1: Instalación y Configuración de los Nodos de Area Local UNIDAD FORMATIVA 1: Instalación y Configuración de los Nodos de Area Local OBJETIVOS: - Explicar las topologías de una red local en función de las tecnologías y arquitecturas existentes. - Clasificar los

Más detalles

Redes de área local Javier Fernández Rivera - www.aurea.es

Redes de área local Javier Fernández Rivera - www.aurea.es Redes de área local Javier Fernández Rivera - www.aurea.es Para que se proveen las redes de área local? 1. Para compartir recursos, tanto de software como de hardware 2. Para compartir información 3. Para

Más detalles

BANCO DE PREGUNTAS DE REDES IT ESSENTIALS CISCO MANTENIMIENTO DE EQUIPOS DE CÓMPUTO

BANCO DE PREGUNTAS DE REDES IT ESSENTIALS CISCO MANTENIMIENTO DE EQUIPOS DE CÓMPUTO BANCO DE PREGUNTAS DE REDES IT ESSENTIALS CISCO MANTENIMIENTO DE EQUIPOS DE CÓMPUTO Página 1 de 7 1. Un host es cualquier dispositivo que : a. envía y recibe información en la red b. solo reciben información

Más detalles

Redes. Tipos de redes según su alcance. 1 Ediciones AKAL, S. A.

Redes. Tipos de redes según su alcance. 1 Ediciones AKAL, S. A. Tipos de redes según su alcance De área local o LAN. Son redes de tamaño reducido que, por lo general, no ocupan más que una oficina o quizá un edificio y son redes muy rápidas. De área metropolitana o

Más detalles

Dispositivos de Red Hub Switch

Dispositivos de Red Hub Switch Dispositivos de Red Tarjeta de red Para lograr el enlace entre las computadoras y los medios de transmisión (cables de red o medios físicos para redes alámbricas e infrarrojos o radiofrecuencias para redes

Más detalles

CAPITULO 4 Capa de Transporte del modelo OSI

CAPITULO 4 Capa de Transporte del modelo OSI CAPITULO 4 Capa de Transporte del modelo OSI 4.0 Introducción del capitulo 4.0.1 Introducción del capitulo Las redes de datos e Internet brindan soporte a la red humana al proporcionar la comunicación

Más detalles

Tema 4.1: - TRANSPORTE-

Tema 4.1: - TRANSPORTE- Tema 4.1: - TRANSPORTE- -Introducción - Terminología OSI - Tipologia y complejidad - Servicios - Calidad de servicio - Conexiones de transporte - Transporte en Internet - Introducción. Su función básica

Más detalles

PRUEBAS DE ACCESO A CICLOS FORMATIVOS DE GRADO SUPERIOR Convocatoria de 23 de junio de 2005 (Orden de 18 de febrero de 2005, BOA de 05/03/2005)

PRUEBAS DE ACCESO A CICLOS FORMATIVOS DE GRADO SUPERIOR Convocatoria de 23 de junio de 2005 (Orden de 18 de febrero de 2005, BOA de 05/03/2005) DATOS DEL ASPIRANTE Apellidos: Nombre: DNI: I.E.S. CALIFICACIÓN APTO NO APTO PRUEBAS DE ACCESO A CICLOS FORMATIVOS DE GRADO SUPERIOR Convocatoria de 23 de junio de 2005 (Orden de 18 de febrero de 2005,

Más detalles

REDES DE COMPUTADORAS INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD ADOLFO LÓPEZ MATEOS - ZACATENCO

REDES DE COMPUTADORAS INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD ADOLFO LÓPEZ MATEOS - ZACATENCO INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD ADOLFO LÓPEZ MATEOS - ZACATENCO ACADEMIA DE COMPUTACIÓN LABORATORIO DE DESARROLLO DE REDES PRACTICA No.2 México

Más detalles

GUÍAS FÁCILES DE LAS TIC

GUÍAS FÁCILES DE LAS TIC GUÍAS FÁCILES DE LAS TIC del COLEGIO OFICIAL DE INGENIEROS DE TELECOMUNICACIÓN Trabajo Premiado 2006 Autor: Router IP D. José María Jurado García-Posada 17 de Mayo 2006 DIA DE INTERNET Guía fácil Router

Más detalles

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET 1 EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET La familia de protocolos TCP/IP fue diseñada para permitir la interconexión entre distintas redes. El mejor ejemplo es Internet: se trata

Más detalles

CAPÍTULO 1. LAS REDES...

CAPÍTULO 1. LAS REDES... ÍNDICE CAPÍTULO 1. LAS REDES... 13 1.1 QUÉ ES UNA RED?... 13 1.2 LOS COMPONENTES DE UNA RED... 14 1.3 LOS TIPOS DE REDES... 14 1.3.1 Por su tamaño... 15 1.3.2 Por la forma de conexión... 15 1.4 VENTAJAS

Más detalles

MÓDULO: SERVICIOS E RED. Nombre: Curso: 2º SMR (9-6-2011) [Examen Final Junio]

MÓDULO: SERVICIOS E RED. Nombre: Curso: 2º SMR (9-6-2011) [Examen Final Junio] MÓDULO: SERVICIOS E RED Nombre: Curso: 2º SMR (9-6-2011) [Examen Final Junio] PARTE 1: Responde las siguientes preguntas tipo TEST. Solo hay una respuesta correcta. Dos respuestas incorrectas anulan una

Más detalles

Las Redes IP; Conceptos básicos

Las Redes IP; Conceptos básicos WHITE PAPER Las redes IP: Conceptos básicos 0 Índice 1.- Introducción... 2 2.- Comunicación de redes, conceptos básicos... 2 3.- Fundamentos de transmisión... 4 4.- Infraestructura de la red de área local

Más detalles

Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ

Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ UNIDAD: 3 CAPA DE RED Y DIRECCIONAMIENTO DE LA RED: IPv4 ACTIVIDAD: REPORTE DEL CAPITULO 6 DE CISCO MATERIA: FUNDAMENTOS

Más detalles

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET 1 EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET Cada capa de la pila añade a los datos a enviar a la capa inferior, información de control para que el envío sea correcto. Esta información

Más detalles

INDICE. Agradecimientos Introducción Parte I Fundamentos de la conectividad de redes XIX XXI

INDICE. Agradecimientos Introducción Parte I Fundamentos de la conectividad de redes XIX XXI INDICE Agradecimientos Introducción Parte I Fundamentos de la conectividad de redes 3 1 El negocio de la conectividad Conectividad de redes: la perspectiva corporativa Qué necesita su compañía? 4 Puestos

Más detalles

CAPITULO II PROTOCOLOS, ARQUITECTURA DE REDES Y MODELO OSI/ISO.

CAPITULO II PROTOCOLOS, ARQUITECTURA DE REDES Y MODELO OSI/ISO. CAPITULO II PROTOCOLOS, ARQUITECTURA DE REDES Y MODELO OSI/ISO. Competencias a desarrollar: Conocer la importancia de la estandarización en redes de datos. Identificar los estándares. Saber los tipos de

Más detalles

GENERALIDADES DE LA COMUNICACIÓN DE DATOS

GENERALIDADES DE LA COMUNICACIÓN DE DATOS Comunicaciones I Capítulo 1 GENERALIDADES DE LA COMUNICACIÓN DE DATOS 1 El Sistema de Comunicación Sistema de comunicación: Lleva a cabo el intercambio de información entre dos entes ubicados en los extremos

Más detalles

5 Compresión de Cabeceras de Van Jacobson

5 Compresión de Cabeceras de Van Jacobson 5 Compresión de Cabeceras de Van Jacobson 5.1 INTRODUCCIÓN El acceso a servicios de Internet a través de líneas de baja velocidad tanto alámbricas como inalámbricas pone de manifiesto el hecho de la gran

Más detalles

COMUNICACIÓN Y REDES DE COMPUTADORES II. Clase 02. Aspetos basicos de Networking Parte 1 de 2

COMUNICACIÓN Y REDES DE COMPUTADORES II. Clase 02. Aspetos basicos de Networking Parte 1 de 2 COMUNICACIÓN Y REDES DE COMPUTADORES II Clase 02 Aspetos basicos de Networking Parte 1 de 2 1 Contenido de la Clase 1. Terminología de Networking 1. Redes de Datos 2. Historia de las redes informáticas

Más detalles

REDES DE ORDENADORES

REDES DE ORDENADORES REDES DE ORDENADORES Informática 4ºESO 2013 Redes Informáticas Una red informática está constituida por un conjunto de ordenadores y otros dispositivos, conectados por medios físicos o sin cable, con el

Más detalles

GLOSARIO DE TÉRMINOS CUALIFICACIÓN PROFESIONAL: OPERACIÓN DE REDES DEPARTAMENTALES. Código: IFC299_2 NIVEL: 2

GLOSARIO DE TÉRMINOS CUALIFICACIÓN PROFESIONAL: OPERACIÓN DE REDES DEPARTAMENTALES. Código: IFC299_2 NIVEL: 2 MINISTERIO DE EDUCACIÓN, CULTURA Y DEPORTE SECRETARÍA DE ESTADO DE EDUCACIÓN, FORMACIÓN PROFESIONAL Y UNIVERSIDADES DIRECCIÓN GENERAL DE FORMACIÓN PROFESIONAL INSTITUTO NACIONAL DE LAS CUALIFICACIONES

Más detalles