INSTITUTO POLITÉCNICO NACIONAL T E S I S

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

Download "INSTITUTO POLITÉCNICO NACIONAL T E S I S"

Transcripción

1 INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA APLICACIÓN WEB PARA EL MANEJO DE SUSTANCIAS Y RESIDUOS QUÍMICOS T E S I S Q U E P A R A O B T E N E R E L T Í T U L O D E : INGENIERO EN COMUNICACIONES Y ELECTRÓNICA P R E S E N T A N Gallardo Martínez Erick Silva Sohn Servando So Yong ASESORES: M. en C.Felipe Durán Federico M. en C. Zavala Mejía Genaro MÉXICO, D.F. 2011

2 INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA y ELECTRICA UNIDAD PROFESIONAL" ADOLFO LOPEZ MATEOS" REPORTE TECNICO QUE PARA OBTENER EL TITULO DE INGENIERO EN COMUNICACIONES Y ELECTRÓNICA POR LA OPCION DE TITULACION CURRICULAR DEBERA(N) DESARROLLAR C. ERICK GALLARDO MARTÍNEZ C. SERVANDO SO YONG SILVA SOHN "APLICACIÓN WEB PARA EL MANEJO I?E SUSTANCIAS Y RESIDUOS QUÍMICOS" DISEÑAR E IMPLEMENTAR UNA APLICACIÓN WEB LA CUAL CONTENGA UNA BASE DE DATOS DEL INSTITUTO POLITÉCNICO NACIONAL PARA APOYAR LOS MATERIALES QUÍMICOS Y RESIDUOS QUE NO SE UTILICEN EN CIERTOS LABORATORIOS REASIGNÁNDOLOS A OTROS LABORATORIOS PARA SU APROVECHAMIENTO. ANALIZAR Y ESTRUCTURAR EL DISEÑO DE LA APLICACIÓN WEB y BASE DE DATOS DISEÑAR Y ELABORAR LA APLICACIÓN WEB Y LA BASE DE DATOS EN BASE A LOS PLANTEADO EN LA RPOPUESTA DE SOLUCIÓN PARA FINES DE PRUEBA Y AFINACIÓN ASESORES MÉXICO D.F. A 16 DE NOVIEMBRE DE 2011 FELIPE DURAN M. EN C. ÁZQUEZ ÁLVAREZ JEFE DEL D RTAMENTO ACADÉMICO DE INGENIERÍA EN COMUNICACIONES Y ELECTRÓNICA

3 Objetivo Diseñar e implementar una aplicación WEB la cual contenga una base de datos del Instituto Politécnico Nacional para aprovechar los materiales químicos y residuos que no se utilicen en ciertos laboratorios reasignándolos a otros laboratorios para su aprovechamiento. Objetivos Particulares Analizar y estructurar el diseño de la aplicación WEB y base de datos. Diseñar y elaborar la aplicación WEB y la base de datos en base a lo planteado en la propuesta de solución para fines de prueba y afinación. Instalar el servidor WEB donde se alojará la información y portal. Lanzar la prueba o piloto del servicio en una unidad académica (UPIBI). Verificar y/o corregir los errores de la aplicación para poder trabajar en la versión final. 2

4 Justificación Actualmente con los múltiples problemas ambientales que han sido provocados por el abuso de los recursos naturales por parte del hombre ha planteado la necesidad de crear la llamada conciencia ecológica o conciencia verde. Las acciones usualmente enfocadas a cuidar el medio ambiente es la reutilización de los materiales, y esto es precisamente el enfoque que se le quiere dar a nuestro proyecto, en lugar de tirar los residuos químicos por la cañería sería mejor ponerlos a disposición de otros laboratorios que puedan darle algún uso útil. Además, derramar sustancias químicas al drenaje ocasiona deterioro en las tuberías teniendo que dar mayor mantenimiento preventivo y/o correctivo a las instalaciones lo cual ocasiona gastos adicionales, sin tomar en cuenta la contaminación que pueda ocasionar al sistema fluvial nacional. La ingeniería de comunicaciones y electrónica ha desarrollado herramientas que permiten la comunicación e interacción a distancia entre personas y organizaciones. Entre estas herramientas se encuentran las bases de datos, redes de computadoras e internet. Los puntos anteriores están enfocados al medio ambiente pero existen ventajas económicas al mismo tiempo. El sistema de cómputo que se propone para el proyecto va a permitir el intercambio de sustancias y reactivos químicos entre las distintas unidades académicas del Instituto Politécnico Nacional con lo cual se podrían ahorrar grandes cantidades de dinero al no adquirir material químico nuevo y mejor recibirlo por parte de otra unidad académica. Adicionalmente se evitaría tener llenos los estantes y almacenes de sustancias que no son utilizadas o sustancias ya caducas. 3

5 Resumen Ejecutivo La evolución de la tecnología ha modificado drásticamente los sistemas de información en los últimos años. Anteriormente, una base de datos tenía que estar guardada en un medio de almacenamiento y para tener acceso a ella, había que tener este último físicamente para poder leerlo con algún dispositivo y posteriormente agregar más información. Con la revolución en la última década de los servicios de internet y la alta difusión que los proveedores de este servicio han tenido, hoy en día es posible acceder a bases de datos que se encuentran en servidores al otro lado del mundo, desde la comodidad de nuestros hogares, o en general desde cualquier lugar donde exista una conexión a internet. El concepto de aplicación WEB es diferente al de una página WEB por el hecho de que esta aplicación tiene la posibilidad de realizar operaciones avanzadas, y trabajar en conjunto con bases de datos. Para esto, se requiere un servidor que mantenga el sitio, y realice los procesos en la base de datos y los almacene para que posteriormente puedan ser accedidos de manera remota desde una computadora por medio de internet. A medida que avanza la tecnología el internet se ha vuelto una herramienta bastante importante dado que este tipo de aplicaciones pueden ser utilizadas de manera remota, con tan solo acceder a una determinada IP. Con el paso de los años la tendencia es más que clara; poco a poco todos los servicios y programas que utilizamos hoy en día se verán trasladados a servidores WEB a los cuales podremos acceder de manera remota sin siquiera tener la aplicación instalada. A este tipo de computación a la que nos dirigimos se le denomina Cloud Computing, o computación en nube, haciendo referencia a que siempre se pueden acceder a los datos que se encuentran arriba, en la nube como una metáfora de internet. Con este nuevo paradigma, grandes empresas como Google y Microsoft, han decidido ofrecer nuevos servicios utilizando el cómputo en nube para satisfacer varias necesidades. Uno de los servicios más prestados en la actualidad es el servicio de almacenamiento de información mediante una base de datos que puede ser utilizada para cientos de objetivos mediante una aplicación WEB. La mayoría de los sitios de internet incluyen una base de datos de sus clientes, siendo esta la manera más básica del uso de bases de datos. Sin embargo, otras empresas han decidido ir un paso adelante con la aplicación de base de datos, y le han dado distintos usos como el servicio de compra y ventas en un sitio WEB, páginas de intercambios de distintos materiales, venta de archivos digitales multimedia (videos, música, libros, etc.) y hasta las más recientes redes sociales que han crecido de manera acelerada en la última década. Bajo la gran necesidad de aprovechar las sustancias y residuos químicos en instituciones públicas y privadas, es que se ha decidido realizar una aplicación WEB que fomente y eduque a las personas a tener la cultura de aprovechar en la medida de 4

6 lo posible todo tipo de sustancias y residuos químicos que por alguna razón no son útiles para otros. Por medio de un sistema de datos, se pretende realizar poco a poco un gran centro de información donde los profesores, investigadores, estudiantes y profesionistas puedan acceder a ofertar y demandar toda aquella sustancia, materia, reactivo o residuo químico que requiera de otro lugar, o que desee poner a disposición para ser aprovechado por alguien más. De igual manera, se creará una base de datos de todas aquellas personas que trabajan en este medio, con la información del lugar y laboratorio donde trabajan, la institución a la que pertenecen, su área, y datos personales para contactarse en caso de necesario. Dentro de los servicios que cumplen con estas funciones, se destacan 2 lenguajes de programación orientados a diseño y creación de páginas WEB orientadas a ser interpretadas del lado del servidor. Por un lado se encuentra el Pre-procesador de hipertexto (PHP), creado en 1994 y categorizado como software libre. Por otro lado se encuentran las Páginas de Servidor Activo (ASP), tecnología creada por Microsoft y que requiere de Licencia. Dado el conocimiento de lenguajes de programación como Visual C# y las ventajas que ofrece, se ha elegido la tecnología ASP de Microsoft para realizar la aplicación WEB en conjunto con Microsoft SQL Server 2008 para trabajar con bases de datos. Para el servidor se utilizará el sistema operativo Windows Server 2003 o en su defecto la versión más reciente Una de las razones principales por las cuales se ha decidido realizar este proyecto, es que además de ser un proyecto con un enfoque ecológico, existen un sinfín de instituciones y personas que podrían participar. En un inicio, la aplicación podría aplicarse a una institución en particular, pero posteriormente más empresas o instituciones podrían irse añadiendo, y finalmente convertirse en un estándar de la disposición de residuos, que si bien no parece ser un proceso difícil, en realidad es laborioso, tardado, costoso y complicado por las amplias situaciones que se pueden llegar a dar. Para la realización de este proyecto, nos apoyamos en técnicas de diseño de páginas WEB, así como el planteamiento y generación de bases de datos. Adicionalmente se utilizaron procesos de ingeniería de software enfocados a la creación de aplicaciones WEB. El proyecto consta en general de cuatro partes básicas: Estudio de las necesidades de laboratorios químicos y la manipulación y desecho de sustancias y residuos químicos Diseño y creación de un sitio WEB de manera superficial aun sin manejar bases de datos (y por lo tanto no ser una aplicación WEB) 5

7 Creación y vinculación de bases de datos a la página WEB para formar la aplicación Instalación de servidor WEB y montaje del sitio en una IP con su respectivo dominio Parametrización y Optimización de operaciones y seguridad de acuerdo a las necesidades que vayan surgiendo mediante el uso de la plataforma. Para la correcta realización de este proyecto, se ha decidido que se forme un equipo interdisciplinario, juntando así la Escuela Superior de Ingeniería Mecánica y Eléctrica ESIME con un profesor y alumna de la Unidad Profesional Interdisciplinaria de Biotecnología UPIBI, quienes nos apoyarán con los puntos de planteamiento de necesidades y Parametrización y optimización de acuerdo a las necesidades obtenidas en los estudios. En relación de los puntos de diseño y programación del sitio WEB, existen varias alterativas en el mercado para la correcta realización de los mismos. Los programas seleccionados fueron: Adobe Dreamweaver CS5 y Microsoft Visual Studio 2010 en conjunto con Microsoft SQL Server La razón de utilizar Adobe Dreamweaver CS5 es que este programa es mucho más completo y flexible en cuanto a diseño de páginas WEB, permitiéndonos crear plantillas y diseños de manera dinámica y más fácil en comparación de tal manera que se trabajare el resto del desarrollo en Visual Studio. Por otro lado, MS Visual Studio se utilizó para realizar la programación en ASP y la conexión de bases de datos en SQL Server 2008 con los formularios del sitio WEB. MS Visual Studio tiene la propiedad de ser extremadamente amigable con el usuario al momento de trabajar con idiomas como C# bajo la plataforma.net de Microsoft. Se ha decidido utilizar las últimas versiones del software para aprovechar las últimas tecnologías pero a la vez teniendo en cuenta que sea posible la retrocompatibilidad con versiones más antiguas del mismo. Por último, para montar la aplicación WEB al servidor, se utilizará IIS ya que como se mencionó anteriormente, ASP funciona con este servicio de información de internet. 6

8 Introducción Para desarrollar este proyecto se siguió la siguiente metodología: Se realizó una investigación previa por parte de la unidad académica UPIBI la cual identificó el problema del mal uso y desecho de sustancias y residuos químicos. De aquí se planteó una propuesta general de solución la cual era realizar un sitio WEB para poder realizar cierto intercambio de las sustancias y residuos que ya no se utilizan dentro de todas las unidades académicas y centros de investigación del Instituto Politécnico Nacional. Una vez que nos fue planteada la solución, se decidió que lo más adecuado era realizar una aplicación WEB, en vez de un simple sitio WEB. Esta aplicación trabajará con bases de datos y se podrá acceder a él desde cualquier dispositivo con acceso a Internet. Con la información recopilada se procedió a elaborar un plan de trabajo y juntas para realizar cambios y mejoras de los planes y posteriormente desarrollar la solución y realizar la etapa de pruebas (piloto). La presente Tesis está estructurada de la siguiente manera: Antes del capítulo 1 se presentan todos los antecedentes de las aplicaciones WEB y los sistemas de información. Posteriormente se realizó el Estado del Arte para investigar acerca de aplicaciones que tuvieran propósitos similares, así como el lugar donde radican y que alcance tienen. En el capítulo 1 se presentan los puntos más básicos y relevantes de las bases de datos. Se explican los modelos de datos, los lenguajes de bases de datos y la estructura de un sistema de bases de datos. El capítulo 1 también menaje brevemente la arquitectura de las aplicaciones y conceptos básicos acerca de Microsoft SQL y el sistema Operativo Windows Server En el capítulo 2 se estudian cuáles son los procesos de la ingeniería de software. Se detallan los modelos del proceso de software y la iteración de procesos, así como se elige el proceso a utilizar en nuestro proyecto en las conclusiones. En el capítulo 3 se muestra la identificación del problema y la propuesta general de solución. De igual manera se muestra un diseño previo de la aplicación WEB así como se explican las facilidades y dificultades analizadas previas al desarrollo de la aplicación WEB. Por último, el capítulo 4, llamado Desarrollo Técnico plantea las diferencias entre distintos lenguajes para el desarrollo de aplicaciones WEB y el porqué de la elección de ASP.net. Posteriormente se derivan el planteamiento del diseño final del sitio WEB y el análisis del diseño de bases de datos con sus respectivos esquemas y 7

9 diagramas. Finalmente se realiza el desarrollo de la aplicación y se plantean las conclusiones así como las observaciones y las recomendaciones al momento de realizar la Aplicación WEB. Dado que este es un sistema cuyo ciclo de vida apena comienza, se dejan claros los siguientes objetivos y algunas optimizaciones que pueden aplicar para el siguiente ciclo de vida del software. 8

10 ÍNDICE Resumen ejecutivo 4 Introducción 7 Glosario técnico 13 Antecedentes 16 Estado del arte 21 C A P Í T U L O 1: Marco Teórico 1.1 Bases de datos Aplicaciones de los sistemas de bases de datos Modelos de los datos Modelo Entidad-Relación Modelo Relacional Otros modelos de datos Lenguajes de bases de datos Lenguaje de definición de datos Lenguaje de manipulación de datos Estructura de un sistema de bases de datos Gestor de almacenamiento Procesador de consultas Arquitectura de aplicaciones SQL Estructura básica de SQL Windows server Características Ediciones Internet Information Services (IIS) Windows Server 2008 y IIS Conclusiones del capitulo 35 C A P Í T U L O 2: Marco Teórico 2.1 Procesos del software Modelos del proceso del software El modelo en cascada Desarrollo evolutivo Ingeniería del software basada en componentes Iteración de procesos Entrega incremental Desarrollo en espiral Conclusiones del capitulo 47 9

11 C A P Í T U L O 3: Análisis de condiciones actuales 3.1 Identificación del problema Propuesta general de solución Diseño preliminar a detalle Facilidades y dificultades previas al desarrollo de la solución Conclusiones del capitulo 64 C A P Í T U L O 4: Desarrollo Técnico 4.1 Diferencias entre lenguajes/plataforma para el desarrollo de 65 aplicaciones WEB 4.2 Elección de lenguajes/plataformas para el desarrollo de aplicaciones 66 WEB 4.3 Análisis y diseño de modelos entidad-relación Análisis y diseño de la estructura del sitio WEB (mapa del sitio) Desarrollo Diseño de la hoja de estilo (CSS) en adobe Dreamweaver CS Creación y diseño de la plantilla principal en Visual Studio Desarrollo de la aplicación WEB en ASP.NET con Visual Studio Creación de bases de datos y vinculación a la aplicación Instalación y puesta en marcha Instalación de Internet Information Services (IIS) Montaje de una aplicación ASP.NET en un servidor WEB 89 Evaluación Económica 99 Conclusiones 103 Comentarios y Recomendaciones 104 Fuentes de información

12 INDICE DE FIGURAS C A P Í T U L O Ejemplo de Diagrama Entidad-Relación Estructura del Sistema Arquitectura de dos y tres capas 30 C A P Í T U L O El ciclo de vida del Software Desarrollo Evolutivo Ingeniería de Software basada en Componentes (CBSE) Entrega Incremental Modelo en Espiral de Boehm para el proceso de Software 45 C A P Í T U L O Diseño preliminar de la página de inicio Diseño preliminar de la sección de búsqueda Diseño preliminar de los resultados de la búsqueda Diseño preliminar de la sección oferta/demanda Diseño preliminar del proceso de oferta/demanda Diseño preliminar al no existir resultados encontrados Diseño preliminar del inicio de sesion Diseño preliminar de la etapa de registro de usuarios Diseño preliminar del ingreso de una oferta/demanda Diseño preliminar de la confirmación de nueva oferta/demanda Diseño preliminar del cierre de sesión Diseño preliminar de la actualización de datos Diseño preliminar de la sección de eventos Diseño preliminar de la sección de enlaces Diseño preliminar de la sección de asesoria Diseño preliminar de la sección de noticias 61 C A P Í T U L O Modelo Entidad-Relación previo al desarrollo de la base de datos Modelo Entidad-Relación una vez creada la base de datos en SQL 68 Server Diagrama de flujo del desarrollo de una aplicación WEB Hoja de estilo cascada en Dreamweaver CS Hoja de estilo cascada en Dreamweaver CS Código aspx.cs de plantilla maestra Site Master Vista Diseño de la plantilla Site Master Página de Inicio default.aspx 74 11

13 4.9 Vista Diseño de la sección de Búsqueda de Residuos y Sustancias Vista Diseño de la sección de Ofertas y Demandas Vista Diseño de la Sección de Enlaces Vista Diseño de la Sección Conócenos Vista Diseño de la Sección Eventos y Noticias Vista Diseño de la Sección Inicio de Sesión Vista Diseño de la Sección Registro de Usuario Definición de atributos y tipos de datos de la tabla Usuarios Definición de atributos y tipos de datos de la tabla Formulario Código aspx.cs para realizar la conexión con la base de datos Exportación de los archivos para su posterior publicación Carpeta con los archivos exportados desde VS Ventana de programas y características del panel de control Ventana del Administrador del Servidor Ventana del Asistente para agregar funciones Proceso de selección de funciones del servidor Ventana del administrador de Servicios de Administración de 90 Internet 4.26 Página principal de Default WEB site Opciones de configuración al crear un sitio WEB Página principal del sitio WEB TesisIntercambio Vista contenido del Sitio WEB TesisIntercambio Sitio WEB visto en un navegador Grupos de aplicaciones Configuración básica del grupo de aplicaciones Sitio WEB visto correctamente en un navegador 98 12

14 GLOSARIO TÉCNICO.NET Componente de software que provee un extenso conjunto de Framework soluciones predefinidas para necesidades generales de la programación de aplicaciones, y administra la ejecución de los programas escritos específicamente con la plataforma. Adobe Dreamweaver Aplicación en forma de estudio enfocada a la construcción y edición de sitios y aplicaciones WEB. ADP Access Data Project. ASLR Address Space Load Randomization ASP Active Server Pages AWE Address Windowing Extensions Back-up Copia de seguridad Base de datos Conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. C# Es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma.net CAS Numero de identificador único para las sustancias químicas. CASE Computer Aided Software Engineering. CBSE Component-based software Engineering. Cintas Medio de almacenamiento de información que se graba en pistas Magnéticas Cluster sobre una banda plástica con un material magnetizado. Conjuntos de computadoras construidos mediante la utilización de componentes de hardware comunes y que se comportan como si fuesen una única computadora. COTS Commercial off-the-shelf CPU Central Processing Unit CPR Se refiere al Código de Peligrosidad de los Residuos. CSS Cascading Style Sheets DDL Data Definition Language Disco Duro Dispositivo de almacenamiento de datos no volátil que emplea un sistema de grabación magnética para almacenar datos digitales. DML Data Manipulation Language DNSSEC DNS Security Extensions FTP File Transfer Protocol GB Gigabyte; Un GB igual a 1024MB. Hardware Corresponde a todas las partes físicas y tangibles de una computadora. HTML HyperText Markup Language HTTP Hypertext Transfer Protocol HTTPS Hypertext Transfer Protocol Secure IBM International Business Machines IIS Internet Information Services Internet Explorer Es un navegador WEB desarrollado por Microsoft para el sistema operativo Microsoft Windows desde 1995 iscsi Internet Small Computer System Interface 13

15 Iteración Se refiere a la acción de repetir una serie de pasos un cierto número de veces. JAVA Lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de los años 90 Javascript Lenguaje de scripting orientado a objetos, basado en prototipos, liviano, utilizado para acceder a objetos en aplicaciones. JDBC Java Database Connectivity LOB Line of Business Macromedia flash Es una aplicación en forma de estudio que trabaja sobre "fotogramas", destinado a la producción y entrega de contenido interactivo. MB Megabyte; un MB es igual a 1024KiloBytes. Microsoft Empresa multinacional dedicada al sector de la informática. Microsoft SQL Un sistema para la gestión de bases de datos producido Server por Microsoft basado en el modelo relacional. Microsoft Un entorno de desarrollo integrado (IDE) para sistemas Visual Studio operativos Windows. Modelo Relacional Modelo de datos basado en la lógica de predicados y en la teoría de conjuntos. modem Dispositivo que sirve para enviar una señal llamada moduladora mediante otra señal llamada portadora. MySQL Sistema de gestión de base de datos relacional, multihilo y multiusuario. Netscape Netscape fue el primer navegador comercial. Navigator NNTP Network News Transport Protocol NTFS Sistema de archivos de Windows NT incluido en las versiones de Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista y Windows 7. OBDC Object Data Base Conector Oracle Sistema de gestión de base de datos relacional Perl Lenguaje de programación que toma características del lenguaje C, del lenguaje interpretado shell (sh), AWK, sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programación. PHP PHP Hypertext Pre-processor. Lenguaje de programación interpretado, diseñado originalmente para la creación de páginas WEB dinámicas. RAM Random-access memory RTM Release to manufacturing SGBD Sistema de gestión de base de datos SMB2 Server Message Block 2 SMTP Simple Mail Transfer Protocol software Comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas. SQL Lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en éstas. 14

16 Super-Clave TB Tupla UDDI VBA Visual Basic W3c WEB WHEA Windows server www XML Conjunto de uno o más atributos que, tomados colectivamente, permiten identificar de forma única una entidad en el conjunto de entidades. TeraByte. Conjunto de elementos de distinto tipo que se guardan de forma consecutiva en memoria. Universal Description, Discovery and Integration Visual Basic for Applications El lenguaje de programación es un dialecto de BASIC, con importantes agregados. World Wide WEB Consortium World Wide WEB Windows Hardware Error Architecture Windows Server es una marca que abarca una línea de productos servidor de Microsoft Corporation. World Wide WEB Extensible Markup Language 15

17 ANTECEDENTES El diseño WEB original fue evolucionando y ha pasado por distintas generaciones, principalmente debido a mejoras en la tecnología, hardware y software. Estos cambios han generado a día de hoy 4 generaciones del diseño WEB. Primera generación de diseño WEB El primer diseño WEB de una página se realizó en 1993, la página WEB tenía el nombre Mosaic, y en menos de un año había recibido 2 millones de visitantes. El navegador WEB era capaz de mostrar tanto imágenes como textos, aunque con una limitación muy alta a la hora de diagramar la información de la página WEB. El diseño WEB de estas páginas era lineal y estaba orientado para científicos que eran los usuarios que compartían su información alrededor de todo el mundo mediante estas páginas WEB. La tecnología de los navegadores WEB era limitada y no disponía de la capacidad de transmitir información gráfica para la comunicación visual. Las principales características de esta primera generación de diseño WEB eran las velocidades de transmisión de datos, ya que era conexión vía MODEM, lo que limitaba el peso de las páginas WEB. Otro detalle era el uso de monitores monocromáticos. Respecto al diseño WEB en particular, la estructuración era bastante desordenada con imágenes dispuestas horizontalmente y líneas de texto separadoras. Debido a este caos en el diseño WEB, un año más tarde se estableció un consorcio para establecer unas normas y pautas para el futuro desarrollo de la WEB, el W3C. Se comenzaron entonces a desarrollar unos estándares de lenguaje HTML para una unificación del diseño WEB que trajo consigo la aparición de una serie de navegadores WEB con el constante desarrollo de nuevas funcionalidades y progresos en este ámbito. Segunda generación de diseño WEB El diseño WEB de esta generación está basado en los conceptos de la primera salvo por que empieza a utilizar iconos en lugar de algunas palabras, las páginas WEB comienzan a poseer imágenes de fondo, aparece el diseño y uso de botones con relieve para la navegabilidad, el uso de publicidad en lugar de cabeceras, la estructuración de texto de forma jerárquica mediante menús o listados, propiedades del código HTML Standard definido. La aparición de estos elementos gráficos en el diseño WEB generó un deseo de todos los diseñadores de añadir estos archivos en sus páginas WEB, pero sin control, lo que generó una saturación en las páginas WEB, sin tener en cuenta la accesibilidad ni la utilidad. Aun así seguían habiendo algunos diseñadores que utilizaban estos elementos de manera adecuada para generar unos diseños innovadores y elegantes, usando correctamente tanto etiquetas como el resto del código HTML. Se comenzaron 16

18 a usar tablas para la organización de los contenidos, posicionamiento de los elementos y generación de diseño similar a libros o revistas. En esta generación está la aparición de monitores y tarjetas gráficas con mayores resoluciones y definición de color, lo cual generó la consecuente mejora en la calidad del diseño WEB. Pero apareció un problema, la diferencia en la adaptación de estándares de los 2 principales navegadores: Internet Explorer y Netscape Navigator. Tercera Generación del diseño WEB En la tercera generación, el diseño WEB sigue teniendo muchas restricciones con el uso del lenguaje para los dos navegadores WEB. El diseño WEB se orienta en esta generación a los diseñadores, los cuales tienen mucho más dinamismo al aparecer el plug-in de Macromedia Flash, el cual revolucionaría la concepción de diseño WEB. Es una era de enfocar las páginas WEB según el objetivo de las mismas: vender productos o servicios, comunidades, información, noticias. Para esta especialización del diseño WEB de acuerdo al objetivo de las páginas se necesita ayudar al usuario a encontrar la información, generando una navegabilidad estructurada e intuitiva. La gran mayoría de páginas WEB que aparecen en esta generación son de publicidad y venta de productos y servicios, con lo que es este el diseño más utilizado. Conseguir acercarles al producto, que deseen ver más páginas del sitio WEB. Cuarta Generación de diseño WEB En la cuarta generación, el diseño WEB ya está enfocado totalmente a la multimedia, integrando en las páginas WEB los elementos multimedia de última generación. Con usuarios de todos los tipos, cualquiera tiene una página WEB a día de hoy y la variedad de diseño es enorme debido a todas las posibilidades que ofrecen las últimas tecnologías para los programadores. A esto le podemos añadir que las últimas versiones de los navegadores soportan muchas más prestaciones y elementos en las páginas WEB. Quinta Generación de diseño WEB Se podría añadir una última generación de diseño WEB que representaría el auge de las páginas de televisión IP o televisión online. La integración de televisión en la WEB para empresas, ayuntamientos o asociaciones representa el movimiento más notable del diseño WEB en la actualidad. Un ejemplo de empresas de diseño que ya ofrecen la posibilidad de integración de televisión en WEB es Hooping.net mediante su plataforma de televisión IP Hooping.tv. 17

19 Concepto de bases de datos Las bases de datos son una herramienta de vital importancia para el desarrollo de la actividad profesional. Existen dos colectivos que a menudo son el mismo especialmente beneficiados por las bases de datos. Por una parte, los investigadores y, por otra, los profesionales. Se podría considerar como base de datos cualquier recopilación organizada de información sobre la que haya habido análisis documental y que disponga de un sistema de búsqueda específica. Partiendo de esta idea, se podrían incluir los catálogos bibliotecarios. Sin embargo, en este trabajo se ha optado por emplear como criterio el seleccionar sólo aquellas bases formadas principalmente por descripciones de documentos impresos o electrónicos de libre acceso procedentes de revistas y artículos en Ciencia de la Información. Historia de los sistemas de bases de datos El uso de sistemas de bases de datos automatizadas, se desarrolló a partir de la necesidad de almacenar grandes cantidades de datos, para su posterior consulta, producidas por las nuevas industrias que creaban gran cantidad de información. Herman Hollerit ( ) fue denominado el primer ingeniero estadístico de la historia, ya que invento una computadora llamada Máquina Automática Perforadora de Tarjetas. Para hacer el censo de Estados Unidos en 1880 se tardaron 7 años para obtener resultados, pero Herman Hollerit en 1884 creo la máquina perforadora, con la cual, en el censo de 1890 dio resultados en 2 años y medio, donde se podía obtener datos importantes como número de nacimientos, población infantil y número de familias. La máquina uso sistemas mecánicos para procesar la información de las tarjetas y para tabular los resultados. A diferencia con la máquina de Babbage, que utilizaba unas tarjetas similares, estas se centraban en dar instrucciones a la máquina. En el invento de Herman Hollerit, cada perforación en las tarjetas representaba un número y cada dos perforaciones una letra, cada tarjeta tenía capacidad para 80 variables. La máquina estaba compuesta por una perforadora automática y una lectora, la cual por medio de un sistema eléctrico leía los orificios de las tarjetas, esta tenía unas agujas que buscaban los orificios y al tocar el plano inferior de mercurio enviaba por medio del contacto eléctrico los datos a la unidad. Este invento disparo el desarrollo de la tecnología, la industria de los computadores, abriendo así nuevas perspectivas y posibilidades hacia el futuro. Historia de los sistemas de bases de datos-década de 1950 En este lapso de tiempo se da origen a las cintas magnéticas, las cuales sirvieron para suplir las necesidades de información de las nuevas industrias. Por medio de este mecanismo se empezó a automatizar la información de las nóminas, como por 18

20 ejemplo el aumento de salario. Consistía en leer una cinta o más y pasar los datos a otra, y también se podían pasar desde las tarjetas perforadas. Simulando un sistema de Back-up, que consiste en hacer una copia de seguridad o copia de respaldo, para guardar en un medio extraíble la información importante. La nueva cinta a la que se transfiere la información pasa a ser una cinta maestra. Estas cintas solo se podían leer secuencial y de manera ordenada. Historia de los sistemas de bases de datos-década de 1960 El uso de los discos en ese momento fue un adelanto muy efectivo, ya que por medio de este soporte se podía consultar la información directamente, esto ayudo a ahorrar tiempo. No era necesario saber exactamente donde estaban los datos en los discos, ya que en milisegundos era recuperable la información. A diferencia de las cintas magnéticas, ya no era necesaria una secuencia, y este tipo de soporte empiezo a ser ambiguo. Los discos dieron inicio a las Bases de Datos, de red y jerárquicas, pues los programadores con su habilidad de manipulación de estructuras junto con las ventajas de los discos era posible guardar estructuras de datos como listas y árboles. Historia de los sistemas de bases de datos-década de 1970 Edgar Frank Codd (23 de agosto de de abril de 2003), en un artículo "Un modelo relacional de datos para grandes bancos de datos compartidos" ("A Relational Model of Data for Large Shared Data Banks") en 1970, definió el modelo relacional y publicó una serie de reglas para la evaluación de administradores de sistemas de datos (DBSM) relacionales y así nacieron las bases de datos relacionales. A partir de los aportes de Codd el multimillonario Larry Ellison desarrollo la base de datos Oracle, el cual es un sistema de administración de base de datos, que se destaca por sus transacciones, estabilidad, escalabilidad y multiplataforma. Inicialmente no se usó el modelo relacional debido a que tenía inconvenientes por el rendimiento, ya que no podían ser competitivas con las bases de datos jerárquicas y de red. Ésta tendencia cambio por un proyecto de IBM el cual desarrolló técnicas para la construcción de un sistema de bases de datos relacionales eficientes, llamado System R. Historia de los sistemas de bases de datos-década de 1980 Las bases de datos relacionales con su sistema de tablas, filas y columnas, pudieron competir con las bases de datos jerárquicas y de red, ya que su nivel de programación era bajo y su uso muy sencillo. En la década de 1980 a 1990 el modelo relacional ha conseguido posicionarse del mercado de las bases de datos. Y también en este tiempo se iniciaron grandes investigaciones paralelas y distribuidas, como las bases de datos orientadas a objetos. 19

21 Historia de los sistemas de bases de datos-principios década de los 90 Para el manejo de bases de datos se creó el lenguaje SQL, que es un lenguaje programado para consultas. SQL es un lenguaje de alto nivel estructurado que analiza grandes cantidades de información el cual permite especificar diversos tipos de operaciones frente a la misma información, a diferencia de las bases de datos de los 80 que eran diseñadas para las aplicaciones de procesamiento de transacciones. Los grandes distribuidores de bases de datos incursionaron con la venta de bases de datos orientada a objetos. Historia de los sistemas de bases de datos-finales de la década de los 90 El boom de esta década fue la aparición de la WWW Word Wide WEB ya que por éste medio se facilitaba la consulta a las bases de datos. Actualmente tienen una amplia capacidad de almacenamiento de información, también una de las ventajas es el servicio de siete días a la semana las veinticuatro horas del día, sin interrupciones a menos que haya planificaciones de mantenimiento de las plataformas o el software. Historia de los sistemas de bases de datos-siglo XXI En la actualidad existe gran cantidad de alternativas en línea que permiten hacer búsquedas orientadas a necesidades específicas de los usuarios, una de las tendencias más amplias son las bases de datos que cumplan con el protocolo Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH) los cuales permiten el almacenamiento de gran cantidad de artículos que permiten un mayor acceso en el ámbito científico y general. En el capítulo 1 se explicará más a fondo acerca de los modelos de bases de datos y su modo de funcionar. 20

22 ESTADO DEL ARTE El manejo y desecho correcto de sustancias y residuos químicos es un tema ampliamente debatido y concurrido entre organizaciones que se dedican a la industria química o que tienen que ver en algún aspecto con ella como lo son las Instituciones Educativas Públicas y Privadas que entre sus grandes laboratorios y la enorme cantidad de estudiantes y docentes que las frecuentan. El problema principal radica en que en muchos lugares se manejan grandes cantidades de químicos los cuales en muchas ocasiones quedan guardados en almacenes durante mucho tiempo y finalmente terminan siendo tirados a la basura. En el mejor de los casos, este tipo de sustancias se utilizan para un proceso simple o para un objeto educativo y finalmente terminan siendo descartadas de manera impropia y sin categorizarse ni haber registro de ello. En este caso, se podría pensar que existen métodos para aprovechar al máximo el uso de estas sustancias, así como sistemas que se dedican de manera independiente a ello, pero no es así. En los mejores casos, existen instituciones que se dedican al correcto manejo correcto de las sustancias, pero todas estas terminan sin ser utilizadas normalmente, y no existe una re-ubicación de estas para que sean aprovechados en otros lugares. Por lo mismo, las Instituciones Educativas son una excelente opción para iniciar este proceso. En México no existe como tal un sistema que permita el intercambio de sustancias y residuos químicos hasta la fecha. Por lo menos no que esté documentado y que sea fácil acceder a él de manera pública. Algunas instituciones educativas grandes como la UNAM, el ITESM, el IPN o la UAM contratan empresas que se encargan de desechar los residuos de manera apropiada, pero intercambios incluso entre sus propias unidades académicas son procesos espontáneos y que probablemente no tienen algún registro oficial en un sistema dedicado. Es raro pensar que en países desarrollados como Estados Unidos de América o en algunas regiones de Europa no existan sistemas como el que se quiere aplicar hoy en día, sin embargo, al realizar la investigación no logramos encontrar algún sistema o aplicación WEB dedicado única y exclusivamente al intercambio de sustancias y residuos químicos tanto de manera interna (en una misma institución) como de manera abierta. Sin embargo, en Latinoamérica existe la Bolsa de Residuos y Subproductos Industriales (BORSI), la cual representa un sistema de intercambio similar al que se quiere realizar, pero enfocado principalmente a residuos industriales. BORSI está ubicado en Costa Rica, Colombia y Ecuador, ofreciendo distintos servicios de Bolsa y Mercado de productos industriales en distintas ciudades de cada país. 21

23 Por más raro que parezca, la BORSI tiene presencia en áreas donde son necesarias y no en países primer-mundistas y realiza un trabajo bastante completo en su área correspondiente ofreciendo una solución interesante para las industrias. Por último, cabe recalcar que existe una empresa llamada Quiminet, la cual tiene su oficina matriz en México D.F pero se extiende a países como Estados Unidos, Canadá, España, regiones de Centroamérica, el Caribe y el Resto del mundo, así como tiene oficinas en la región del Mercosur y la región Andina en Sur-América. Quiminet ofrece la facilidad de realizar solicitudes y ofertas de un sinfín de productos de origen químico, como lo son: Empaques, envases y embalajes Plásticos Industria Alimenticia Minería Industria Farmacéutica Pinturas Transporte y Logística Eléctrica Textil Naturista Como puede observarse, Quiminet se encarga de ofrecer un sistema de búsqueda en un rango mucho más amplio y no es dedicada a las sustancias y residuos químicos, por lo que no existe competencia directa con la aplicación que se quiere realizar. Se menciona finalmente porque es la opción más parecida a esta en la región de Norte América y específicamente en México. 22

24 C A P Í T U L O Bases de datos Un sistema gestor de bases de datos (SGBD) se conforma de una colección de datos interrelacionados y un conjunto de programas para acceder a dichos datos. La colección de datos, normalmente se les denomina base de datos, contienen información relevante. El objetivo principal de un SGBD es proporcionar una forma de almacenar y recuperar la información de una base de datos de manera que sea práctica como eficiente. Los sistemas de bases de datos se diseñan para gestionar grandes cantidades de información. La administración de los datos significa la definición de estructuras para almacenar la información como la provisión de herramientas para la manipulación de la información. Además, los sistemas de bases de datos deben proporcionar fiabilidad en la información almacenada, a pesar de las fallas del sistema o los intentos de acceso no autorizados. Si los datos van a ser compartidos entre varios usuarios, el sistema debe evitar posibles resultados anómalos. Dado que la información es muy importante en la mayoría de las organizaciones, los científicos informáticos han desarrollado un amplio conjunto de conceptos y técnicas para la gestión de los datos Aplicaciones de los sistemas de bases de datos Las bases de datos son ampliamente usadas en diferentes áreas. Las siguientes son algunas de sus aplicaciones más representativas y comunes en la actualidad: Bancos. Para almacenar la información de los clientes, cuentas, préstamos, y transacciones bancarias. Aéreo líneas. Para reservaciones e información de planificación. Las líneas aéreas fueron de los primeros en usar las bases de datos de forma distribuida geográficamente (los terminales situados en todo el mundo accedían al sistema de bases de datos centralizado a través de las líneas telefónicas y otras redes de datos). Universidades. Para la información de los estudiantes, calificaciones, matriculas de las asignaturas y cursos. Tarjetas de crédito. Para compras con tarjeta de crédito y generación mensual de estados de cuentas. Telecomunicaciones. Para guardar un registro de las llamadas realizadas, generación mensual de facturas y para almacenar información sobre las redes de comunicaciones. Finanzas. Para almacenar información sobre grandes empresas, ventas y compras de documentos formales financieros, como bolsa y bonos. 23

25 Ventas. Para información de clientes, productos y compras. Producción. Para la gestión de la cadena de producción y para el seguimiento de la producción de elementos en las factorías, inventario en almacenes y pedidos de elementos. Recursos humanos. Para información sobre los empleados, salarios, impuestos, beneficios, y para la generación de las nóminas. Las bases de datos forman una parte esencial de casi todas las empresas actuales. A lo largo de las últimas cuatro décadas del siglo veinte, el uso de las bases de datos se extendió en empresas de todo tipo de giros comerciales. El acceso a internet para las masas a finales de la década de 1990 aumento significativamente el acceso directo del usuario a las bases de datos. Las organizaciones convirtieron muchas de sus interfaces telefónicas a las bases de datos en interfaces WEB, y pusieron disponibles en línea muchos servicios. Así, aunque las interfaces WEB ocultan el acceso a las bases de datos, y la mayoría de la gente ni siquiera se da cuenta de que están interactuando con una base de datos, el acceso a las bases de datos forma una parte esencial de las actividades de casi todas las personas actualmente Modelos de los datos Bajo la estructura de la base de datos se encuentra el modelo de datos: una colección de herramientas conceptuales para describir los datos, las relaciones, la semántica y restricciones de consistencia. Los diferentes modelos de datos que se han propuesto se clasifican en tres grupos diferentes: modelos lógicos basados en objetos, modelos lógicos basados en registros y modelos físicos Modelo entidad-relación El modelo de datos de entidad-relación (E-R) está basado en una percepción del mundo real que consta de una colección de objetos básicos, llamados entidades, y de relaciones entre estos objetos. Una entidad es una cosa u objeto en el mundo real que es distinguible de otros objetos. Las entidades se describen en una base de datos mediante un conjunto de atributos. Los atributos son cualidades o características de las entidades. Por ejemplo, los atributos numero-cuenta y saldo describen una cuenta particular de un banco y pueden ser atributos del conjunto de entidades cuenta. Una relación es una asociación entre una o varias entidades. Por ejemplo, una relación impositor asocia un cliente con cada cuenta que tiene. La estructura lógica general de una base de datos se puede expresar gráficamente mediante un diagrama E-R, que consta de los siguientes componentes: 24

26 Rectángulos, que representan los conjuntos de entidades. Elipses, que representan atributos. Rombos, que representan relaciones entre conjuntos de entidades. Líneas, que unen los atributos con los conjuntos de entidades y los conjuntos de entidades con las relaciones. Figura 1.1. Ejemplo de diagrama Entidad-Relación. Elaboración propia sobre la base de Silberschatz, Korth y Sudarshan, Fundamentos de bases de datos Modelo relacional En el modelo relacional se utiliza un grupo de tablas para representar los datos y relaciones entre ellos. Cada tabla está compuesta por varias columnas, y cada columna tiene un nombre único e irrepetible. El modelo relacional es un modelo basado en registros. Los modelos basados en registros se denominan así porque la base de datos se estructura en registros de formato fijo de varios tipos. Cada tabla contiene registros que pueden ser de varios tipos. Cada tipo de registro define un número fijo de campos, o atributos. Las columnas de la tabla corresponden a los atributos del registro. El modelo de datos relacional es el modelo de datos más usado, y una amplia mayoría de sistemas de bases de datos actuales se basan en el modelo relacional. Los diseños de bases de datos a menudo se realizan en el modelo E-R, y después se traducen al modelo relacional por la facilidad que esto conlleva en el diseño de las bases de datos. 25

27 1.3.3 Otros modelos de datos El modelo de datos orientado a objetos es otro modelo de datos que está recibiendo una atención creciente. El modelo orientado a objetos se puede observar como una extensión del modelo E-R con las nociones de encapsulación, métodos (funciones) e identidad de objeto, muy típico en la programación orientada a objetos. El modelo de datos relacional orientado a objetos combina las características del modelo de datos orientado a objetos y el modelo de datos relacional. Los modelos de datos semi-estructurados permiten la especificación de datos donde los elementos de datos individuales del mismo tipo pueden tener diferentes conjuntos de atributos. A diferencia de los modelos de datos mencionados anteriormente, en los que cada elemento de datos de un tipo particular debe tener el mismo conjunto de atributos. Históricamente, existen otros dos modelos de datos, el modelo de datos de red y el modelo de datos jerárquico, ambos precedieron al modelo de datos relacional. Estos modelos estuvieron ligados fuertemente a la implementación subyacente y complicaban la tarea del modelado de datos. Como resultado se usan muy poco actualmente, excepto en el código de bases de datos antiguo que aún está en servicio en algunos lugares Lenguajes de bases de datos Un sistema de bases de datos proporciona un lenguaje de definición de datos para especificar el esquema de la base de datos y un lenguaje de manipulación de datos para expresar las consultas a la base de datos y modificaciones. En la práctica, los lenguajes de definición y manipulación de datos no son dos lenguajes separados; en su lugar simplemente forman parte de un único lenguaje de bases de datos, tal como SQL Server de Microsoft Lenguaje de definición de datos Un esquema de base de datos se especifica mediante un conjunto de definiciones expresadas mediante un lenguaje especial llamado lenguaje de definición de datos (LDD). Se define el almacenamiento y los métodos de acceso usados por el sistema de bases de datos por un conjunto de instrucciones en un tipo especial de LDD denominado lenguaje de almacenamiento y definición de datos. Estas instrucciones definen los detalles de implementación de los esquemas de base de datos, que se ocultan usualmente a los usuarios. Los valores de los datos almacenados en la base de datos deben satisfacer ciertas restricciones de consistencias. El LDD proporciona facilidades para especificar 26

28 tales restricciones. Los sistemas de base de datos comprueban estas restricciones cada vez que se actualiza la base de datos Lenguaje de manipulación de datos La manipulación de datos cumple las siguientes tareas: La recuperación de información almacenada en la base de datos. La inserción de información nueva en la base de datos. El borrado de información de la base de datos. La modificación de información almacenada en la base de datos. Reporte de parámetros y propiedades de la base de datos. Un lenguaje de manipulación de datos (LMD) es un lenguaje que permite a los usuarios acceder y/o manipular los datos organizados mediante el modelo de datos apropiado. Hay dos tipos de LMD básicamente: LMDs procedimentales. Requieren que el usuario especifique que datos se necesitan y como obtener esos datos. LMDs declarativos (también conocidos como LMDs no procedimentales). Requieren que el usuario especifique que datos se necesitan sin especificar como obtener esos datos. Los LMDs declarativos son más fáciles de aprender y usar que los LMDs procedimentales. Sin embargo, como el usuario no especifica cómo conseguir los datos, el sistema de bases de datos tiene que determinar un medio eficiente de acceder a los datos. El componente LMD del lenguaje SQL es no procedimental Estructura de un sistema de bases de datos Un sistema de base de datos se divide en módulos que se encargan de cada una de las funciones del sistema completo. Los componentes funcionales de un sistema de base de datos se pueden dividir a grandes rasgos en los componentes de administrador de almacenamiento y procesador de consultas. El administrador de consultas es importante porque las bases de datos requieren normalmente una gran cantidad de espacio de almacenamiento. Las bases de datos corporativas tienen un tamaño de cientos de gigabytes y, para la mayores bases de datos, terabytes. Debido a que la memoria RAM de las computadoras no puede almacenar esta gran cantidad de información, esta se almacena en discos duros. Los datos se trasladan entre los discos duros de almacenamiento y la memoria RAM cuando es necesario. Como la transferencia de datos desde el disco duro es lenta comparada con la velocidad de la unidad central de procesamiento, es fundamental que el sistema de base de datos los datos para minimizar la necesidad de movimiento de datos entre el disco duro y la memoria RAM. 27

29 El procesador de consultas es importante porque ayuda al sistema de base de datos a simplificar y facilitar el acceso a los datos. Las vistas de alto nivel ayudan a conseguir este objetivo. Es trabajo del sistema de base de datos el traducir las actualizaciones y las consultas escritas en un lenguaje no procedimental, en el nivel lógico, en una secuencia de operaciones en el nivel físico Gestor de almacenamiento Un gestor de almacenamiento es un módulo de programa que proporciona la interfaz entre los datos de bajo nivel en la base de datos, los programas de aplicación y consultas emitidas al sistema. Es también responsable de la interacción con el gestor de archivos. Los datos en bruto se almacenan en disco duro usando un sistema de archivos, que está disponible habitualmente en un sistema operativo convencional. Los componentes del gestor de almacenamiento incluyen los siguientes elementos : Gestor de Autorización e integridad, comprueba que se satisfagan las restricciones de integridad y la autorización de los usuarios para acceder a los datos. Gestor de transacciones, asegura que la base de datos quede en un estado consistente (correcto) a pesar de los fallos del sistema, y que las ejecuciones de transacciones concurrentes ocurran sin conflictos. Gestor de Archivos, gestiona la reserva de espacio de almacenamiento de disco y las estructuras de datos usadas para representar la información almacenada en disco. Gestor de memoria intermedia, responsable de traer los datos del disco duro a la memoria RAM y decidir qué datos almacenar en memoria caché. El gestor de memoria intermedia es una parte crítica del sistema de bases de datos, ya que permite que la base de datos maneje tamaños de datos que son mucho mayores que el tamaño de la memoria RAM instalada. El Gestor de almacenamiento implementa varias estructuras de datos como parte de la implementación física del sistema: Archivos de Datos, almacena la base de datos en sí. Diccionario de datos, almacena metadatos acerca de la estructura de la base de datos, en particular, el esquema de la base de datos. Índices, proporcionan acceso rápido a elementos de datos que tienen valores particulares Procesador de consultas Los componentes del procesador de consultas incluyen: Intérprete del LDD, interpreta las instrucciones del LDD y registra las definiciones en el diccionario de datos. 28

30 Compilador del LMD, traduce las instrucciones del LMD en un lenguaje de consultas a un plan de evaluación que consiste en instrucciones de bajo nivel que entiende el motor de evaluación de consultas. Motor de evaluación de consultas, ejecuta las instrucciones de bajo nivel generadas por el compilador LMD. Figura 1.2. Estructura del sistema. (Silberschatz, Korth y Sudarshan, 2002) 1.6. Arquitectura de Aplicaciones La mayoría de usuarios de un sistema de bases de datos no se encuentran físicamente junto al sistema de bases de datos, sino que se conectan a él a través de una red. Se puede definir entonces las máquinas cliente, en donde trabajan los usuarios 29

31 remotos de la base de datos, y las máquinas servidor, en las que se ejecuta el sistema de bases de datos. Las aplicaciones de bases de datos se dividen usualmente en dos o tres partes, como se ilustra en la figura 1.3. En una arquitectura de dos capas, la aplicación se divide en un componente que reside en la máquina cliente, que llama a la función del sistema de bases de datos en la máquina servidor mediante instrucciones del lenguaje de consultas. Los estándares de interfaces de programas de aplicación como OBDC y JDBC se usan para la interacción entre el cliente y el servidor. Figura 1.3. Arquitectura de 2 y 3 capas. Elaboración propia sobre la base de Silberschatz, Korth y Sudarshan, Fundamentos de bases de datos. En cambio, en una arquitectura de tres capas, la máquina cliente actúa simplemente como interfaz y no contiene ninguna llamada directa a la base de datos. En su lugar, el cliente se comunica con un servidor de aplicaciones, usualmente mediante una interfaz de formularios. El servidor de aplicaciones, a su vez, se comunica con el sistema de bases de datos para acceder a los datos. La lógica de negocio de la aplicación, que establece las acciones a realizar bajo determinadas condiciones, se incorpora en el servidor de aplicaciones, en lugar de ser distribuida a múltiples usuarios. Las aplicaciones de tres capas son más apropiadas para grandes aplicaciones, y para las aplicaciones que se ejecutan en World Wide WEB. 30

32 1.7. SQL El lenguaje Sequel ha evolucionado desde los principios de la década de los 70s y su nombre ha pasado a ser SQL (Structured Query Language; Lenguaje estructurado de consultas). El lenguaje SQL tiene varios componentes: Lenguaje de definición de datos (LDD). El LDD de SQL proporciona órdenes para la definición de esquemas de relación, borrado de relaciones, creación de índices y modificación de esquemas de relación. Lenguaje interactivo de manipulación de datos (LMD). El LMD de SQL incluye un lenguaje de consultas, basado tanto en el álgebra relacional como en el cálculo relacional de tuplas. Incluye también órdenes para insertar, borrar y modificar tuplas de la base de datos. Definición de vistas. El LDD de SQL incluye órdenes para la definición de vistas. Control de transacciones. SQL incluye órdenes para la especificación del comienzo y final de transacciones. SQL incorporado y SQL dinámico. SQL dinámico e incorporado define cómo se pueden incorporar las instrucciones SQL en lenguajes de programación de propósito general, tales como C, C++, Java. Integridad. El LDD de SQL incluye órdenes para la especificación de las restricciones de integridad que deben satisfacer los datos almacenados en la base de datos. Las actualizaciones que violen las restricciones de integridad se rechazan. Autorización. El LDD de SQL incluye órdenes para especificar derechos de acceso para las relaciones y vistas Estructura básica de SQL Una base de datos relacional consiste en un conjunto de relaciones, a cada una de las cuales se le asigna un nombre único. Cada relación tiene una estructura similar. SQL permite el uso de valores nulos para indicar que el valor o bien es desconocido, o no existe. Se fijan criterios que permiten al usuario especificar a qué atributos no se puede asignar el valor nulo. La estructura básica de una expresión SQL consiste en tres cláusulas: select, from y where. La cláusula select corresponde a la operación proyección del álgebra relacional. Se usa para listar los atributos deseados del resultado de una consulta. La cláusula from corresponde a la operación producto cartesiano del álgebra relacional. Lista las relaciones que deben ser analizadas en la evaluación de la expresión. 31

33 La cláusula where corresponde al predicado selección del álgebra relacional. Es un predicado que engloba a los atributos de las relaciones que aparecen en la cláusula from. 1.8 Windows Server 2008 Windows Server 2008 es el nombre de un sistema operativo diseñado para servidores de Microsoft. Es el sucesor de Windows Server 2003, distribuido al público casi cinco años antes. Al igual que Windows Vista, Windows Server 2008 se basa en el núcleo Windows NT 6.0. Posteriormente se lanzó una segunda versión, denominada Windows Server 2008 R Características Hay algunas diferencias con respecto a la arquitectura del nuevo Windows Server 2008, que pueden cambiar drásticamente la manera en que se usa este sistema operativo. Estos cambios afectan a la manera en que se gestiona el sistema hasta el punto de que se puede llegar a controlar el hardware de forma más efectiva, se puede controlar mucho mejor de forma remota y cambiar de forma radical la política de seguridad. Entre las mejoras que se incluyen, están: Nuevo proceso de reparación de sistemas NTFS: proceso en segundo plano que repara los archivos dañados. Creación de sesiones de usuario en paralelo: reduce tiempos de espera en los Terminal Services y en la creación de sesiones de usuario a gran escala. Cierre adecuado de Servicios. Sistema de archivos SMB2: de 30 a 40 veces más rápido el acceso a los servidores multimedia. Address Space Load Randomization (ASLR): protección contra malware en la carga de controladores en memoria. Windows Hardware Error Architecture (WHEA): protocolo mejorado y estandarizado de reporte de errores. Virtualización de Windows Server: mejoras en el rendimiento de la virtualización. PowerShell: inclusión de una consola mejorada con soporte GUI para administración. Server Core: el núcleo del sistema se ha renovado con muchas y nuevas mejoras Ediciones La mayoría de las ediciones de Windows Server 2008 están disponibles en 64 bits y x86 (32 bits). Windows Server 2008 para sistemas basados en Itanium soporta procesadores IA-64. La versión IA-64 se ha optimizado para escenarios con altas cargas de trabajo como servidores de bases de datos y aplicaciones de línea de 32

34 negocios (LOB). Por ende no está optimizado para su uso como servidor de archivos o servidor de medios. Windows Server 2008 está disponible en distintas ediciones, similar a Windows Server Server Core está disponible en las ediciones WEB, Standard, Enterprise y Datacenter, aunque no es posible usarla en la edición Itanium. Server Core es simplemente una opción de instalación alterna soportada y en sí no es una edición propiamente dicha. 1.9 Internet Information Services (IIS) Internet Information Services o IIS es un servidor WEB y un conjunto de servicios para el sistema operativo Microsoft Windows. Los servicios que ofrece son: FTP, SMTP, NNTP y HTTP/HTTPS. Este servicio convierte a una PC en un servidor WEB para Internet o una intranet, es decir que en las computadoras que tienen este servicio instalado se pueden publicar páginas WEB tanto local como remotamente. Los servicios de Internet Information Services proporcionan las herramientas y funciones necesarias para administrar de forma sencilla un servidor WEB seguro. El servidor WEB se basa en varios módulos que le dan capacidad para procesar distintos tipos de páginas. Por ejemplo, Microsoft incluye los de Active Server Pages (ASP) y ASP.NET. También pueden ser incluidos los de otros fabricantes, como PHP o Perl Windows Server 2008 y IIS Windows Server 2008 proporciona los servicios de Internet Information Server (IIS) 7.0 que permiten incorporar en una empresa las siguientes tecnologías de Internet: Un servidor de aplicaciones WEB (no solo de documentos WEB) que permite utilizar diferentes mecanismos de autenticación de usuarios remotos, ejecutar CGI (Common Gateway Interface) y filtros ISAPI (Internet Server Application Programming Interface), aplicaciones.net, etc. Conjuntamente con ASP.NET, es una plataforma completa para ofrecer servicios WEB basados en estándares como XML (Extensible Markup Languaje) y SOAP (Simple Object Access Protocol). También es posible instalar un servidor UDDI (Universal Description, Discovery and Integration) para disponer de un servicio de directorio de servicios WEB. Para crear dichas aplicaciones se ha de disponer de herramientas de diseño, como Microsoft WEB Expression, o lenguajes como XHTML 33

35 (extensible HyperText Markup Language), Javascript, CSS (Cascading Style Sheets), etc. Un servidor FTP que permite la transferencia de archivos desde y hacia cualquier ordenador conectado a la red. Herramientas de administración que proporcionan la infraestructura para administrar un servidor WEB que ejecuta ISS 7 (como la Consola de Administración de IIS). Si desea administrar un servidor SMTP o un servidor FTP, deberá instalar y usar la Consola de Administración de ISS 6. 34

36 1.10 Conclusiones del capítulo Debido a que el uso de las bases de datos está implícito en un sinfín de acciones que realizamos en nuestras actividades diarias, incluso sin darnos cuenta de ello. Es por eso que es de gran importancia saber las principales aplicaciones que se le pueden dar a las bases de datos. Las bases de datos pueden tener arquitecturas de 2 capas o 3 capas, en una arquitectura de 2 capas la máquina del cliente tiene interacción directa con el sistema de bases de datos. Mientras que en una arquitectura de 3 capas la máquina del cliente se debe conectar con un servidor de aplicaciones y este a su vez con el sistema de bases de datos. La arquitectura de 3 capas es la más usada en las aplicaciones. Actualmente el modelo más utilizado por las bases de datos es el modelo relacional debido a su simplicidad comparado con otros modelos que facilita la tarea a los programadores. Una práctica común es hacer el diseño de la base de datos en el modelo entidad-relación y posteriormente traducirlo al modelo relacional. Por otro lado, el lenguaje SQL nos permite realizar operaciones en una base de datos como búsquedas, borrado, inserción y actualización de los registros por medio de una sintaxis sencilla. En el área de los sistemas operativos (SO) orientados a servidores, se analizó que estos contienen características y funciones que difícilmente se podrán encontrar en sistemas operativos orientados a usuarios domésticos, entre estas funciones exclusivas de los SO para servidores se encuentra el soporte a múltiples procesadores, soporte a grandes cantidades de memoria RAM, servidores DNS, protocolo DHCP, servidores WEB, servidores FTP, entre otras características. Los sistemas operativos Windows tienen su versión para servidores, siendo la más reciente el Windows Server 2008 R2. En los últimos sistemas operativos Windows para servidores o para usuarios domésticos se integra la función Servicios de información de internet, conocido como IIS, el cual nos permite convertir a una PC en un servidor WEB para Internet o una intranet. 35

37 C A P Í T U L O Procesos del software El proceso del software es un conjunto de actividades que conducen a la creación de un producto software. Estas actividades pueden consistir en el desarrollo de software desde cero en un lenguaje de programación estándar como Java o C (Sommerville 2008). Sin embargo, cada vez más, se desarrolla nuevo software ampliando y modificando los sistemas existentes y configurando e integrando software comercial o componentes del sistema. Los procesos de software son complejos, intelectuales y creativos, y por ende dependen de las personas que toman juicios y decisiones. Debido a la necesidad de juzgar y crear, los intentos para automatizar estos procesos han tenido un éxito limitado. Las herramientas de ingeniería del software asistida por computadora (CASE) pueden ayudar a algunas actividades del proceso, pero no existe posibilidad alguna de una automatización mayor en el diseño creativo del software realizado con el proceso del software. La principal razón por la cual las herramientas CASE y su eficacia están limitadas se haya en la inmensa diversidad de procesos del software ya que no existe un proceso ideal, y muchas organizaciones han desarrollado su propio enfoque para el desarrollo del software. Los procesos han evolucionado para explotar las capacidades de las personas de una organización, así como las características específicas de los sistemas que se están desarrollando. Para algunos sistemas, como los sistemas críticos, se requiere un proceso de desarrollo muy estructurado. Para sistemas de negocio, con requerimientos rápidamente cambiantes, un proceso flexible y ágil probablemente sea más efectivo. Aun existiendo muchos procesos del software, las siguientes actividades fundamentales son comunes para todos ellos: 1. Especificación del software. Se debe definir la función del software y las restricciones en su operación. 2. Diseño e implementación del software. Se debe producir software que cumpla su especificación. 3. Validación del software. Se debe validar el software para asegurar que hace lo que el cliente desea. 4. Evolución del software. El software debe evolucionar para cubrir las necesidades cambiantes del cliente. Aunque no existe un proceso del software ideal, en las organizaciones existen enfoques para mejorarlos. Los procesos pueden incluir técnicas anticuadas o no aprovecharse de las mejores prácticas en la ingeniería del software industrial. De 36

38 hecho, muchas organizaciones aún no aprovechan los métodos de la ingeniería del software en el desarrollo de su software (Somerville 2008). Cabe mencionar que los procesos del software se pueden mejorar por la estandarización del proceso donde la diversidad de los procesos del software en una organización sea reducida. Esto puede conducir a mejorar la comunicación, reducir el tiempo de formación, y hace al proceso automatizado más económico. La estandarización también es un primer paso importante para introducir nuevos métodos y técnicas de ingeniería del software. 2.2 Modelos del proceso del software Ian Somerville dice que: Un modelo de procesos del software es una representación abstracta de un proceso del software. Cada modelo de proceso representa un proceso desde una perspectiva particular, y así proporciona sólo información parcial sobre ese proceso. Los modelos del proceso del software no son descripciones definitivas de los procesos del software. Más bien, son abstracciones de los procesos que se pueden utilizar para explicar diferentes enfoques para el desarrollo de software. Puede pensarse en ellos como marcos de trabajo del proceso que pueden ser extendidos y adaptados para crear procesos más específicos de ingeniería del software (Sommerville 2008). Los modelos de procesos que se incluyen son: 1. El modelo/enfoque en cascada. Considera las actividades fundamentales del proceso de especificación, desarrollo, validación y evolución, y los representa como fases separadas del proceso, tales como la especificación de requerimientos, el diseño del software, la implementación, las pruebas, etcétera. 2. Desarrollo evolutivo o iterativo. Este enfoque entrelaza las actividades de especificación, desarrollo y validación. Un sistema inicial se desarrolla rápidamente a partir de especificaciones abstractas. Este se refina basándose en las peticiones del cliente para producir un sistema que satisfaga sus necesidades. 3. Ingeniería del software basada en componentes (CBSE). Este enfoque se basa en la existencia de un número significativo de componentes reutilizables. El proceso de desarrollo del sistema se enfoca en integrar estos componentes en el sistema más que en desarrollarlos desde cero. Estos tres modelos de procesos del software se utilizan ampliamente en la práctica de la ingeniería del software actual. A menudo se utilizan juntos, especialmente para el desarrollo de sistemas grandes. Los subsistemas dentro de un sistema más grande pueden ser desarrollados utilizando enfoques diferentes. Por lo tanto, aunque es conveniente estudiar estos modelos separadamente, debe entenderse que en la práctica a menudo se combinan. 37

39 Durante los años se han propuesto todo tipo de variantes de estos procesos genéricos. La variante más importante es probablemente el desarrollo formal de sistemas, donde se crea un modelo formal matemático de un sistema. Este modelo se transforma utilizando transformaciones matemáticas que preservan su consistencia, en código ejecutable. Sin embargo, fuera de ciertos ámbitos especializados, los procesos basados en transformaciones formales no se utilizan en general ya que requieren una pericia especializada y, para la mayoría de los sistemas este proceso no ofrece ventajas importantes de coste o calidad sobre otros enfoques para el desarrollo de sistemas El modelo en cascada El primer modelo de proceso de desarrollo de software que se publicó se derivó de procesos de ingeniería de sistemas más generales (Royce, 1970). Este modelo se muestra en la Figura 2.1. Debido a la cascada de una fase a otra, dicho modelo se conoce como modelo en cascada o como ciclo de vida del software. Las principales etapas de este modelo se transforman en actividades fundamentales de desarrollo: 1. Análisis y definición de requerimientos. 2. Diseño del sistema y del software. 3. Implementación y prueba de unidades. 4. Integración y prueba del sistema. 5. Funcionamiento y mantenimiento. Fig Ciclo de Vida del Software. Elaboración propia sobre la base de Ian Sommerville, Ingeniería del Software, 7ª Edición. 38

40 En principio, el resultado de cada fase es uno o más documentos aprobados. La siguiente fase no debe empezar hasta que la fase previa haya finalizado. En la práctica, estas etapas se superponen y proporcionan información a las otras. Durante el diseño se identifican los problemas con los requerimientos; durante el diseño del código se encuentran problemas, y así sucesivamente. Debido a los costos de producción y aprobación de documentos, las iteraciones son costosas e implican rehacer el trabajo. Por lo tanto, después de un número reducido de iteraciones, es normal congelar partes del desarrollo, como la especificación, y continuar con las siguientes etapas de desarrollo. Los problemas se posponen para su resolución, se pasan por alto o se programan. Este congelamiento prematuro de requerimientos puede implicar que el sistema no haga lo que los usuarios desean. También puede conducir a sistemas mal estructurados debido a que los problemas de diseño se resuelven mediante trucos de implementación. Por último, durante la fase final del ciclo de vida, el software se pone en funcionamiento. De aquí se descubren errores y omisiones en los requerimientos originales del software. Los errores de programación y de diseño emergen y se identifica la necesidad de una nueva funcionalidad. Por lo tanto, el sistema debe evolucionar para mantenerse útil. La desventaja es que hacer estos cambios puede implicar repetir etapas previas del proceso. Las ventajas del modelo en cascada son que la documentación se produce en cada fase y que éste cuadra con otros modelos del proceso de ingeniería. Su principal problema es su inflexibilidad al dividir el proyecto en distintas etapas. Se deben hacer compromisos en las etapas iniciales, lo que hace difícil responder a los cambios en los requerimientos del cliente. Por lo tanto, el modelo en cascada sólo se debe utilizar cuando los requerimientos se comprendan bien y sea improbable que cambien radicalmente durante el desarrollo del sistema. Sin embargo, el modelo refleja el tipo de modelo de proceso usado en otros proyectos de la ingeniería. Por consiguiente, los procesos del software que se basan en este enfoque se siguen utilizando para el desarrollo de software, particularmente cuando éste es parte de proyectos grandes de ingeniería de sistemas (Sommerville 2008) Desarrollo Evolutivo El desarrollo evolutivo se basa en la idea de desarrollar una implementación inicial, exponiéndola a los comentarios del usuario y refinándola a través de las diferentes versiones hasta que se desarrolla un sistema adecuado (Sommerville 2008) como se muestra en la Figura 2.2. Las actividades de especificación, desarrollo y validación se entrelazan en vez de separarse, con una rápida retroalimentación entre éstas. 39

41 Figura 2.2. Desarrollo Evolutivo. Elaboración propia sobre la base de Ian Sommerville, Ingeniería de Software 7ª Edición. Existen dos tipos de desarrollo evolutivo: 1. Desarrollo exploratorio, donde el objetivo del proceso es trabajar con el cliente para explorar sus requerimientos y entregar un sistema final. El desarrollo empieza con las partes del sistema que se comprenden mejor. El sistema evoluciona agregando nuevos atributos propuestos por el cliente. 2. Prototipos desechables, donde el objetivo del proceso de desarrollo evolutivo es comprender los requerimientos del cliente y entonces desarrollar una definición mejorada de los requerimientos para el sistema. El prototipo se centra en experimentar con los requerimientos del cliente que no se comprenden del todo. En la producción de sistemas, un enfoque evolutivo para el desarrollo de software suele ser más efectivo que el enfoque en cascada, ya que satisface las necesidades inmediatas de los clientes. La ventaja de este proceso del software es que la especificación se puede desarrollar de forma creciente. Tan pronto como los usuarios desarrollen un mejor entendimiento de su problema, éste se puede reflejar en el sistema software. Sin embargo, desde una perspectiva de ingeniería y de gestión, el enfoque evolutivo tiene dos problemas: 1. El proceso no es visible. Los administradores tienen que hacer entregas regulares para medir el progreso. Si los sistemas se desarrollan rápidamente, no es rentable producir documentos que reflejen cada versión del sistema. 2. A menudo los sistemas tienen una estructura deficiente. Los cambios continuos tienden a corromper la estructura del software. Incorporar cambios en él se convierte cada vez más en una tarea difícil y costosa. 40

42 Para sistemas pequeños y de tamaño medio (hasta líneas de código), el enfoque evolutivo de desarrollo es el mejor. Los problemas del desarrollo evolutivo se hacen particularmente agudos para sistemas grandes y complejos con un periodo de vida largo, donde diferentes equipos desarrollan distintas partes del sistema Ingeniería del software basada en componentes En la mayoría de los proyectos de software existe algo de reutilización de software. Por lo general, esto sucede informalmente cuando las personas que trabajan en el proyecto conocen diseños o código similares al requerido. Los buscan, los modifican y los incorporan en el sistema. En el enfoque evolutivo, la reutilización es a menudo indispensable para el desarrollo rápido de sistemas (Sommerville 2008). La reutilización informal es independiente del proceso de desarrollo que se utilice. Sin embargo, en los últimos años, ha surgido un enfoque de desarrollo de software denominado ingeniería del software basada en componentes (CBSE) que se basa en la reutilización, el cual se está utilizando de forma amplia. De acuerdo a Ian Somerville, las etapas intermedias en el proceso orientado a la reutilización son diferentes. Estas etapas son: 1. Análisis de componentes. Dada la especificación de requerimientos, se buscan los componentes para implementar esta especificación. Por lo general, no existe una concordancia exacta y los componentes que se utilizan sólo proporcionan parte de la función requerida. 2. Modificación de requerimientos. En esta etapa, los requerimientos se analizan utilizando información acerca de los componentes que se han descubierto. Entonces, estos componentes se modifican para reflejar los componentes disponibles. Si las modificaciones no son posibles, la actividad de análisis de componentes se puede llevar a cabo nuevamente para buscar soluciones alternativas. 3. Diseño del sistema con reutilización. En esta fase se diseña o se reutiliza un marco de trabajo para el sistema. Los diseñadores tienen en cuenta los componentes que se reutilizan y organizan el marco de trabajo para que los satisfaga. Si los componentes reutilizables no están disponibles, se puede tener que diseñar nuevo software. 4. Desarrollo e integración. Para crear el sistema, el software que no se puede adquirir externamente se desarrolla, y los componentes y los sistemas COTS se integran. En este modelo, la integración de sistemas es parte del proceso de desarrollo, más que una actividad separada. La ingeniería del software basada en componentes tiene la ventaja obvia de reducir la cantidad de software a desarrollarse y así reduce los costos y los riesgos. Por lo general, también permite una entrega más rápida del software. Sin embargo, los 41

43 compromisos en los requerimientos son inevitables, y esto puede dar lugar a un sistema que no cumpla las necesidades reales de los usuarios. Más aún: si las nuevas versiones de los componentes reutilizables no están bajo el control de la organización que los utiliza, se pierde parte del control sobre la evolución del sistema. La CBSE tiene mucho en común con un enfoque que está surgiendo para el desarrollo de sistemas que se basa en la integración de servicios WEB de una serie de proveedores. Figura 2.3. Ingeniería de Software basada en componentes (CBSE). Elaboración propia sobre la base de Ian Sommerville, Ingeniería de Software 7ª Edición. 2.3 Iteración de procesos Los cambios son inevitables en todos los proyectos de software grandes. Los requerimientos del sistema cambian cuando el negocio que procura el sistema responde a las presiones externas. Cuando se dispone de nuevas tecnologías, cambian los diseños y la implementación. Esto significa que el proceso del software no es un proceso único; más bien, las actividades del proceso se repiten regularmente conforme el sistema se rehace en respuesta a peticiones de cambios (Sommerville 2008). El desarrollo iterativo es fundamental para el software. Se describen dos modelos de procesos que han sido diseñados explícitamente para apoyar la iteración de procesos: 1. Entrega incremental. La especificación, el diseño y la implementación del software se dividen en una serie de incrementos, los cuales se desarrollan por turnos; 2. Desarrollo en espiral. El desarrollo del sistema gira en espiral hacia fuera, empezando con un esbozo inicial y terminando con el desarrollo final del mismo. La esencia de los procesos iterativos es que la especificación se desarrolla junto con el software. Sin embargo, esto crea conflictos con el modelo de obtención de muchas organizaciones donde la especificación completa del sistema es parte del contrato de desarrollo del mismo. 42

44 2.3.1 Entrega Incremental El modelo de desarrollo en cascada requiere que los clientes de un sistema cumplan un conjunto de requerimientos antes de que se inicie el diseño y que el diseñador cumpla estrategias particulares de diseño antes de la implementación (Sommerville 2008). Los cambios de requerimientos implican rehacer el trabajo de captura de éstos, de diseño e implementación. Sin embargo, la separación en el diseño y la implementación deben dar lugar a sistemas bien documentados susceptibles de cambio. En comparación con el enfoque de desarrollo evolutivo permite que los requerimientos y las decisiones de diseño se retrasen, pero también origina un software que puede estar débilmente estructurado y difícil de comprender y mantener. La entrega incremental (figura 2.4) es un enfoque intermedio que combina las ventajas de ambos modelos. En un proceso de desarrollo incremental. Los clientes identifican, a grandes rasgos, los servicios que proporcionará el sistema. Identifican qué servicios son más importantes y cuáles menos. Entonces, se definen varios incrementos en donde cada uno proporciona un subconjunto de la funcionalidad del sistema. La asignación de servicios a los incrementos depende de la prioridad del servicio con los servicios de prioridad más alta entregados primero (Somerville 2008). Figura 2.4. Entrega Incremental. Elaboración propia sobre la base de Ian Sommerville, Ingeniería de Software 7ª Edición. Cuando los incrementos del sistema han sido identificados, los requerimientos para los servicios que se van a entregar en el primer incremento se definen, y éste se desarrolla. Durante el desarrollo, se puede llevar a cabo un análisis adicional de requerimientos para los requerimientos posteriores, pero no se aceptan cambios en los requerimientos para el incremento actual. Una vez que un incremento se completa y entrega, los clientes pueden ponerlo en servicio. Pueden experimentar con el sistema, lo cual les ayuda a clarificar sus requerimientos para los incrementos posteriores y para las últimas versiones del incremento actual. Tan pronto como se completan los nuevos incrementos, se integran en los existentes de tal forma que la funcionalidad del sistema mejora con cada incremento. Los servicios comunes se pueden implementar al inicio del proceso o de forma incremental tan pronto como sean requeridos (Sommerville 2008). 43

45 Este proceso de desarrollo incremental tiene las siguientes ventajas: 1. Los clientes no tienen que esperar hasta que el sistema completo se entregue para sacar provecho de él. El primer incremento satisface los requerimientos más críticos de tal forma que pueden utilizar el software inmediatamente. 2. Los clientes pueden utilizar los incrementos iniciales como prototipos y obtener experiencia sobre los requerimientos de los incrementos posteriores del sistema. 3. Existe un bajo riesgo de un fallo total del proyecto. Aunque se pueden encontrar problemas en algunos incrementos, lo normal es que el sistema se entregue de forma satisfactoria al cliente. 4. Puesto que los servicios de más alta prioridad se entregan primero, y los incrementos posteriores se integran en ellos, es inevitable que los servicios más importantes del sistema sean a los que se les hagan más pruebas. Esto significa que es menos probable que los clientes encuentren fallos de funcionamiento del software en las partes más importantes del sistema. Existen algunos problemas en el desarrollo incremental. Los incrementos deben ser relativamente pequeños (no más de líneas de código) y cada uno debe entregar alguna funcionalidad del sistema. Más aún, muchos de los sistemas requieren un conjunto de recursos que se utilizan en diferentes partes del sistema. Dado que los requerimientos no se definen en detalle hasta que un incremento se implementa, puede ser difícil identificar los recursos comunes que requieren todos los incrementos. Se ha desarrollado una variante de este enfoque incremental denominada programación extrema (Beck, 2000). Ésta se basa en el desarrollo y la entrega de incrementos de funcionalidad muy pequeños, en la participación del cliente en el proceso, en la mejora constante del código y en la programación por parejas Desarrollo en espiral El modelo en espiral del proceso del software (figura 2.5) fue originalmente propuesto por Boehm (1988). En vez de representar el proceso del software como una secuencia de actividades con retrospectiva de una actividad a otra, se representa como una espiral y cada ciclo en la espiral representa una fase del proceso del software. Así el ciclo más interno podría referirse a la viabilidad del sistema, el siguiente ciclo a la definición de requerimientos, el siguiente ciclo al diseño del sistema, y así sucesivamente. Ian Sommerville menciona que cada ciclo de la espiral se divide en cuatro sectores: 1. Definición de objetivos. Para esta fase del proyecto se definen los objetivos específicos. Se identifican las restricciones del proceso y el producto, y se traza un plan detallado de gestión. Se identifican los riesgos del proyecto. Dependiendo de estos riesgos, se planean estrategias alternativas. 44

46 2. Evaluación y reducción de riesgos. Se lleva a cabo un análisis detallado para cada uno de los riesgos del proyecto identificados. Se definen los pasos para reducir dichos riesgo. Por ejemplo, si existe el riesgo de tener requerimientos inapropiados, se puede desarrollar un prototipo del sistema. 3. Desarrollo y validación. Después de la evaluación de riesgos, se elige un modelo para el desarrollo del sistema. Por ejemplo, si los riesgos en la interfaz de usuario son dominantes, un modelo de desarrollo apropiado podría ser la construcción de prototipos evolutivos. Si los riesgos de seguridad son la principal consideración, un desarrollo basado en transformaciones formales podría ser el más apropiado, y así sucesivamente. El modelo en cascada puede ser el más apropiado para el desarrollo si el mayor riesgo identificado es la integración de los subsistemas. 4. Planificación. El proyecto se revisa y se toma la decisión de si se debe continuar con un ciclo posterior de la espiral. Si se decide continuar, se desarrollan los planes para la siguiente fase del proyecto. Figura 2.5. Modelo en espiral de Boehm para el proceso de Software (IEEE, 1988). La diferencia principal entre el modelo en espiral y los otros modelos del proceso del software es la consideración explícita del riesgo en el modelo en espiral. Informalmente, el riesgo significa sencillamente algo que puede ir mal. Por ejemplo, si la 45

47 intención es utilizar un nuevo lenguaje de programación, un riesgo es que los compiladores disponibles sean poco fiables o que no produzcan código objeto suficientemente eficiente. Los riesgos originan problemas en el proyecto, como los de confección de agendas y excesos en los costos; por lo tanto, la disminución de riesgos es una actividad muy importante en la gestión del proyecto (Somerville 2008). Un ciclo de la espiral empieza con la elaboración de objetivos, como el rendimiento y la función. Entonces se enumeran formas alternativas de alcanzar estos objetivos y las restricciones impuestas en cada una de ellas. Cada alternativa se evalúa contra cada objetivo y se identifican las fuentes de riesgo del proyecto. El siguiente paso es resolver estos riesgos mediante actividades de recopilación de información como la de detallar más el análisis, la construcción de prototipos y la simulación. Una vez que se han evaluado los riesgos, se lleva a cabo cierto desarrollo seguido de una actividad de planificación para la siguiente fase del proceso (Sommerville 2008). 46

48 2.4 Conclusiones del capítulo Los procesos de Ingeniería de Software nos guían hacia una mejor creación de una aplicación o servicio. Los procesos del software consisten tanto en el desarrollo desde cero de los lenguajes de programación, y posteriormente ampliando y modificando los sistemas existentes. Todo proceso del software es completo y depende completamente de las decisiones que tomen las personas que lo desarrollan, ya que no existe una automatización general en el diseño del proceso del software. Los modelos de software son representaciones abstractas de los procesos y los representan particularmente desde distintas perspectivas. De igual forma, estos modelos no son definitivos, sino que simplemente se pueden utilizar para explicar distintos enfoques para el desarrollo del software, así como pueden ser flexibles y adaptables para crear procesos específicos. Todo software tiene cambios a lo largo de su ciclo de vida, y requieren actualizarse para que su utilidad no se vea reducida rápidamente. Las iteraciones de procesos cambian de acuerdo a la gestión, actividades y necesidades del usuario, por lo que existen 2 tipos de iteraciones de procesos: entrega incremental y desarrollo en espiral. El Desarrollo en espiral representa el desarrollo del software en distintas fases divididos en 4 sectores: Definición de Objetivos, Evaluación y Reducción de Riesgos, Desarrollo y Validación y por último la planificación, y en forma de espiral se repiten las fases para ir optimizando y actualizando el software para alargar su ciclo de vida, por lo cual será el modelo de proceso a utilizar en el desarrollo de nuestra aplicación. Este modelo además considera siempre el factor de riesgo para minimizar los problemas que pueden aparecer durante el desarrollo del software, por lo cual se puede considerar como una alternativa bastante segura. Cabe recalcar que el modelo en espiral de Boehm simplemente será una base a seguir, pero no estaremos limitados a ella, ya que como se ha explicado, no existe proceso del software 100% confiable y elegible para una aplicación en específico. Por lo cual siempre habrá cierta especificación y una modificación o combinación de distintos modelos para el desarrollo del software de acuerdo a las necesidades de los desarrolladores. 47

49 Análisis de Condiciones Actuales 3.1 Identificación del Problema C A P Í T U L O 3 Los laboratorios que realizan procesos químicos en todo el mundo requieren una enorme cantidad de sustancias químicas. Por la naturaleza de los experimentos que realizan con las sustancias químicas quedan remanentes de las mismas que ya no se pueden utilizar para otros experimentos. Esta situación genera varios problemas, entre estos el almacenamiento indefinido de substancias y gastos por manejo de materiales peligrosos, entre otros tantos problemas. El Instituto Politécnico Nacional cuenta con veinticinco unidades donde se imparte educación superior y once unidades de estudios de investigación en donde se imparten postgrados, en las cuales no existe una política de desecho de sustancias químicas y de residuos, mucho menos existe un control sobre estas. En muchas ocasiones se tienen sustancias químicas almacenadas en un laboratorio que podrían ser utilizadas en otro laboratorio de las escuelas del Instituto Politécnico Nacional. Esta problemática fue identificada por un docente y un grupo de alumnos de la Unidad Profesional Interdisciplinaria de Biotecnología (UPIBI) del Instituto Politécnico Nacional. Ellos han sido quienes han propuesto este proyecto interdisciplinario para dar solución a un problema al cual no se le ha dado la importancia que merece. 3.2 Propuesta General de Solución El docente y grupo de alumnos de la Unidad Profesional Interdisciplinaria de Biotecnología (UPIBI) del Instituto Politécnico Nacional han propuesto el desarrollo de un sitio WEB basándose en los sitios BORSI y Quiminet. Al momento de sernos planteada esta idea, se propuso que fuese una aplicación WEB, ya que este podría interactuar directamente con una base de datos (idea principal) y por las razones que se explican a continuación. Las ventajas que ofrece una aplicación WEB son las siguientes: Ahorro de tiempo: Se pueden realizar tareas sencillas sin necesidad de descargar ni instalar ningún programa. No existen problemas de compatibilidad: Basta tener un navegador actualizado para poder utilizarlas. No ocupan espacio en los discos duros. 48

50 Actualizaciones inmediatas: Como el software lo gestiona el propio desarrollador, cuando se conecta a la aplicación se está usando siempre la última versión que se haya lanzado. Consumo bajo de recursos: Dado que toda (o gran parte) de la aplicación no se encuentra en la PC del cliente, muchas de las tareas que realiza el software no consumen recursos de la PC del cliente porque se realizan desde otro PC remoto. Multiplataforma: Se pueden usar desde cualquier sistema operativo porque sólo es necesario tener un navegador WEB. Portable: Es independiente de la PC donde se utilice (un PC de sobremesa o un portátil) porque se accede a través de una página WEB. La disponibilidad suele ser alta porque el servicio se ofrece desde múltiples localizaciones para asegurar la continuidad del mismo. Los virus no dañan los datos porque éstos están guardados en el servidor de la aplicación. Colaboración: Gracias a que el acceso al servicio se realiza desde una única ubicación es sencillo el acceso y compartición de datos por parte de varios usuarios. Las desventajas que tiene una aplicación WEB son las siguientes: Depende de una conexión a Internet permanente (generalmente) y una conexión promedio para una óptima navegación. La seguridad de los datos, depende de la seguridad de la aplicación WEB y del servidor donde se encuentre alojada la aplicación WEB. Se tiene limitado el espacio para guardar la información por cada usuario. Poco soporte para varios idiomas. Depende mucho de la configuración de la privacidad del navegador para trabajar al 100% (Javascript, Cookies, Flash). La estabilidad de la aplicación está sujeta al número de visitas en un mismo lapso de tiempo, puede existir sobre carga en el servidor. 49

51 En este caso, las ventajas representan una utilidad mayor y de más importancia que las desventajas de una aplicación WEB. Debido a que sería muy complicado instalar un programa en cada una de las máquinas desde donde se quiera acceder a esta aplicación y mantener actualizados a los docentes, la aplicación WEB tiene una mayor accesibilidad y una rápida penetración entre los usuarios a los que va dirigida. Ya que se pretende utilizar la herramienta de intercambio de sustancias químicas y residuos a nivel institucional, significa que habrá un gran número de usuarios y se piensa que lo más conveniente es una aplicación WEB alojada en un servidor del Instituto Politécnico Nacional para ser utilizada únicamente dentro de las instalaciones del Instituto. Esto también aumentaría el grado de seguridad de la aplicación al no ser expuesta al público en general, lo cual garantiza una mayor seguridad en los datos y una conexión permanente para quienes la utilicen dentro del instituto. 50

52 3.3 Diseño Preliminar a Detalle En base a las necesidades encontradas en la identificación del problema se nos ha proporcionado el diseño preliminar de la aplicación WEB que estará basada en la tecnología ASP.NET. Esta es la plantilla general de la aplicación de intercambio de sustancias y residuos químicos. Figura 3.1. Diseño preliminar de la página de inicio. La página de Inicio muestra una presentación con una breve descripción del proyecto y un menú para navegar. En las siguientes imágenes se detalla cada una de las operaciones que se pueden realizar en la aplicación WEB. A continuación se detalla la sección de búsqueda de residuos y sustancias. 51

53 Figura 3.2. Diseño preliminar de la sección de búsqueda. Al momento de realizar la búsqueda se mostrarían los resultados en enlistados de la siguiente manera: Figura 3.3. Diseño preliminar de los resultados de la búsqueda. 52

54 Una vez dando clic en los detalles del residuo o sustancia debe aparecer la información de la sustancia o residuo de la siguiente manera. Figura 3.4. Diseño preliminar de la sección de Oferta/Demanda. Si se desea ofertar o demandar un reactivo aparece el formulario de los datos personales. Sin embargo, si el usuario está registrado y ha iniciado sesión los datos aparecerían por default pero con la opción de modificarlos. 53

55 Figura 3.5. Diseño preliminar del proceso de oferta/demanda. Una vez enviados los datos aparece un mensaje de notificación al usuario para hacerle saber que los datos han sido enviados correctamente. En caso de que no haya resultados obtenidos en la búsqueda aparece el siguiente mensaje. 54

56 Figura 3.6. Diseño preliminar al no existir resultados encontrados. El siguiente formulario corresponde al inicio de sesión de los usuarios. Figura 3.7. Diseño preliminar del Inicio de sesión. 55

57 Se pide que se ingresen los datos del usuario en caso de que sea la primera vez que entra a la aplicación WEB. En caso de que ya se encuentre registrado solo se pedirá el y contraseña para iniciar sesión. Figura 3.8. Diseño preliminar de la etapa de registro de usuarios. 56

58 El siguiente formulario aparece al momento de iniciar el proceso de demanda u oferta. Figura 3.9. Diseño preliminar del ingreso de una oferta/demanda. Una vez llenados los campos del formulario se da una confirmación al usuario. 57

59 Figura Diseño preliminar de la confirmación de nueva Oferta/demanda. Al momento de cerrar sesión. Se debe regresar automáticamente a la página de inicio después de unos segundos. Figura Diseño preliminar del Cierre de sesión. 58

60 Si se desean actualizar los datos de usuario, se tendrá un formulario como el mostrado en la imagen. Figura Diseño preliminar de la Actualización de datos. Las demás secciones (eventos, enlaces, asesorías y noticias) de la aplicación WEB son secciones que no realizaran operaciones en la base de datos. Simplemente son secciones de carácter informativo para mostrar noticias, información o eventos las cuales no requieren una base de datos. 59

61 Figura Diseño preliminar de la sección de eventos. Figura Diseño preliminar de la sección de enlaces. 60

62 Figura Diseño preliminar de la sección de Asesoría. Figura Diseño preliminar de la sección de noticias. 61

63 3.4 Facilidades y Dificultades previas al desarrollo de la Solución Al realizar un sistema de información para realizar una aplicación WEB se deben tomar varios puntos a considerar, muchos de los cuales generan bastantes complicaciones a la hora de realizar el análisis para el diseño del sitio y las bases de datos. Una de las dificultades más grandes previas al desarrollo de sistema es la correcta especificación de las entidades y sus propiedades. Debido a que se está hablando de un sistema de sustancias y residuos químicos, existen varios puntos a considerar. Las sustancias tienen que seguir una terminología que marcan los estándares internacionales para ser denominadas. En conjunto con la Unidad Académica UPIBI y el departamento de Comité Ambiental del IPN se definieron las normas que seguir, así como se hizo una cierta definición de parámetros como el tipo de manejo de sustancias, su grado de riesgo y su estado actual. La siguiente dificultad era identificar bien las necesidades de los usuarios y la interfaz con la cual se iba a trabajar por medio de la aplicación WEB. Se tuvieron varias sesiones definiendo cada una de las páginas del sitio, así como sus descripciones y elementos para que cualquier usuario por muy nuevo que sea (en el caso de los docentes e investigadores, hay algunos que no tienen mucho acercamiento con la tecnología) puedan utilizarlo de manera amigable. Entre otros aspectos, se tiene pensado que el ciclo de vida de esta aplicación sea de aproximadamente 5 años, pero el primer ciclo (prueba) será de 1-2 años. Para que el intercambio de sustancias y residuos químicos se dé de manera exitosa, se debe definir a nivel administrativo un sistema de jerarquías para realizar los procesos de validación entre cada proceso de intercambio por parte del sistema de control escolar o jefes de laboratorio de cada Unidad Académica, así como se debe definir los perfiles de cada uno de los responsables de los laboratorios, pero esto por el momento queda fuera de los alcances de este proyecto. Cada sustancia química tiene una denominación química y un código de identificación única (CAS). La lista de los CAS existentes para meterlos en una base de datos es enorme, y asciende a varios miles, por lo cual el realizar una base de datos de manera inicial no sería rentable tampoco. Un último problema es el correcto nombramiento de las sustancias que se reporten para oferta y/o demanda. Ya que una persona puede poner agua, en vez de óxido de hidrógeno, y algunas pueden diferenciar entre mayúsculas y minúsculas, así como abreviaciones, sería complicado realizar búsquedas confiables teniendo varios nombres definidos, por lo cual también se buscará la manera de ir perfeccionando este tipo de detalles. Pasando al apartado de facilidades, primero que nada hay que mencionar que no se tienen limitantes a la hora de elegir una plataforma de trabajo y lenguaje de programación como en muchas empresas. Es decir, que podemos elegir cualquier tipo de software y plataformas, así como el administrador de base de datos (DBMS) sin 62

64 tener conflictos con el departamento de comité ambiental o con las demás unidades académicas. Gracias a esto, podemos ahorrar tiempo utilizando las herramientas que ya conocemos y no tener que aprender a utilizar otros lenguajes y sus respectivos entornos de desarrollo (IDEs). Otra facilidad es que contamos con contacto directo con las personas que se encargaron de la identificación del problema y propuesta inicial de solución. Gracias a esto, podemos organizar juntas cada 7 o 4 días para ir viendo las mejoras y optimización del software, y a medida que se va desarrollando, se pueden ir viendo algunas otras notas y necesidades, siempre conservando un tiempo límite de optimización y no quedar perdidos en una mejora continua sin llegar a las pruebas e instalación del sistema. 63

65 3.5 Conclusiones del capítulo Una vez realizados los análisis de las condiciones actuales, así como una obtención concreta del problema y el planteamiento general de solución, se pudieron analizar las facilidades y dificultades que se tienen al realizar este proyecto. A partir del diseño previo que nos fue facilitado inicialmente y posteriormente optimizado en conjunto con el departamento de comité ambiental y nosotros, podemos empezar a realizar el diseño de la página WEB aún sin funcionalidades, y empezar a realizar la especificación y diseño de las entidades y propiedades de las bases de datos para posteriormente darle funcionalidad y empezar a realizar las pruebas. De igual manera podemos concluir que una vez instalada la aplicación WEB, tendrá un tiempo de vida de 1-2 años en los cuales se deberá utilizar como prueba piloto y se deberán mejorar y optimizar todos los aspectos que salgan en este periodo, para finalmente poder hacerlo accesible a todas las unidades académicas del IPN. 64

66 Desarrollo Técnico C A P Í T U L O Diferencias entre lenguajes para el desarrollo de Aplicaciones WEB ASP.NET Estrictamente no es un lenguaje de programación sino una arquitectura de desarrollo WEB en la que se pueden usar distintos lenguajes (por ejemplo VB.NET o C# para ASP.NET o VBScript/JScript para ASP). ASP es muy similar en sintaxis e interface a la programación en Visual Basic. Esto es debido a que Visual Basic esta correlacionado con los productos Microsoft y sus programas. ASP necesita de un servidor con plataforma basada en Windows. Además, se necesita tener instalado IIS (Internet Information Services) para que funcione el sitio WEB. Se debe adquirir la licencia de estos dos componentes para que ASP funcione. PHP PHP significa Hyper-text Preprocessor, usa como base C/C++ y su sintaxis son muy similares entre sí. Debido a que una gran cantidad de programadores aun utilizan C++ es por ello que PHP es muy popular. Al utilizar PHP la mayoría de las herramientas asociadas con el programa son de código abierto así que no se necesita pagar por ellas. PHP requiere de un servidor Linux o Unix, el cual se puede adquirir sin costo. También puede correr en Windows y Solaris. JSP JSP (Java Server Pages) sigue la filosofía de la arquitectura JAVA de "escribe una vez ejecuta donde quieras". Así, JSP se puede ejecutar en los sistemas operativos y servidores WEB más populares, como por ejemplo Apache, Netscape o Microsoft IIS. La tecnología JSP usa Java como lenguaje de Script. Java es un lenguaje más potente y escalable que los lenguajes de Script. Las páginas JSP son compilados en Servlets por lo que actúan como una puerta a todos los servicios Java de Servidor y librerías Java para aplicaciones http. Tanto JSP como la mayoría de las herramientas asociadas con el programa son de código abierto así que no es necesario pagar por ellas. Debido a que la tecnología JSP es abierta y multiplataforma, los servidores WEB, plataformas y otros componentes 65

67 pueden ser fácilmente actualizados o cambiados sin que afecte a las aplicaciones basadas en la tecnología JSP. PERL Perl toma características del lenguaje C, del lenguaje interpretado shell (sh), AWK, sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programación. Estructuralmente, Perl está basado en un estilo de bloques como los del C o AWK, y fue ampliamente adoptado por su destreza en el procesado de texto y no tener ninguna de las limitaciones de los otros lenguajes de script. Python Python es un lenguaje de programación de alto nivel cuya filosofía hace hincapié en una sintaxis muy limpia y que favorezca un código legible. Se trata de un lenguaje de programación multi paradigma ya que soporta orientación a objetos, programación imperativa y en menor medida, programación funcional. Es un lenguaje interpretado, usa tipado dinámico, es fuertemente tipado y es multiplataforma. 4.2 Elección de Lenguajes/Plataformas para el Desarrollo de Aplicaciones WEB Una vez teniendo conocimiento de los distintos lenguajes de programación para aplicaciones WEB se debe escoger un lenguaje para desarrollar nuestra aplicación WEB. Hemos escogido usar ASP.NET con C#, esto es debido a que nos encontramos muy familiarizados con el IDE Visual Studio 2010 y el lenguaje C#. Esto se debe al constante uso que hemos hecho de ellos en materias de la especialidad de computación de la ingeniería en comunicaciones y electrónica. El usar un lenguaje en el cual se tiene experiencia previa, como lo es C#, y usar un IDE ya conocido nos permite ahorrar tiempo tanto en investigaciones como en aprendizaje y uso del mismo y así poder empezar a desarrollar la aplicación WEB de manera casi inmediata. Por otro lado al decidir usar ASP.NET nos vemos obligados a usar únicamente IIS para alojar nuestra aplicación WEB y un sistema operativo Windows que soporte IIS. De esto concluimos que el servidor tiene que ser estrictamente plataforma Windows con soporte ASP.net en su framework. 66

68 4.3 Análisis y Diseño de modelos Entidad-Relación Al momento de realizar las tablas para la base de datos se deben definir las entidades y atributos de cada una de estas, así como su relación (en caso de existir) con otras tablas en la base de datos. Figura 4.1. Modelo Entidad-Relación previo al desarrollo de la Base de Datos. 67

69 En nuestro caso, las entidades primarias son: aspnet_users y aspnet_sustancias. En la tabla aspnet_users se guarda los atributos de ID de aplicación (que en este caso es el mismo siempre), así como el nombre de usuario, alias y atributos de la última vez que se conectó a la base de datos. A partir de este registro, se genera una ID codificada llamada UserID la cual es llave primaria y servirá para relacionarse posteriormente con las demás entidades. A partir de esa ID, se generan las tablas aspnet_membership y User_Data. La primera contiene el UserID (relacionado) y guarda la contraseña, el en mayúsculas y minúsculas, y la pregunta y respuesta secreta para recuperar la contraseña en caso de haberla olvidado. La contraseña así como la respuesta de la pregunta secreta están codificadas de tal manera que no se puede ver su valor fácilmente con solo realizar una búsqueda. La tabla User_Data contiene la información restante del usuario, como lo son su ocupación, unidad académica, extensión, teléfono y demás. Esta de igual manera está relacionada con el UserId. Del campo de Unidad Académica, se desprende otra tabla llamada de igual manera, que contiene todos los nombres de los centros de investigación y unidades académicas (ej. UPIBI, ESIME, ESCOM, UPIITA, etc.), las cuales el usuario podrá escoger al momento de llenar su formulario para evitar distintos nombres y formas de escribir cada una de estas. La tabla aspnet_sustancias contiene los atributos de las sustancias y residuos químicos como lo son el nombre, cantidad, tipo de residuo, estado, y observaciones. Esta de igual manera está relacionada con el UserId. En esta tabla no existen campos primarios ya que pueden existir varias ofertas del mismo residuo o sustancia química con los mismos atributos en distintas unidades académicas o en distintos tiempos. Del atributo CAS se deriva otra tabla que contiene los números de identificación única (CAS) de las sustancias, los cuales no se pueden repetir, y el usuario podrá seleccionar a la hora de realizar una acción de oferta y/o demanda. Cabe resultar que se pide la unidad académica para que al momento de realizar una búsqueda de ofertas y/o demandas, se pueda saber el origen de la acción y posteriormente relacionarse con el usuario que realizó dicha acción. 68

70 4.4 Análisis y Diseño de la Estructura del Sitio WEB (Mapa del Sitio) Tomando como base el diseño preliminar que nos ha otorgado el docente y grupos de alumnos de la UPIBI es que se ha creado el mapa del sitio. El cual puede ser modificado durante la etapa de desarrollo de la aplicación WEB si fuese así requerido para brindar una mejor funcionalidad a los usuarios de dicha aplicación. Mapa de Sitio: Mercado de Residuos y Sustancias Químicas o Inicio o Inicio de sesión o Registro o Búsqueda de residuos y sustancias o Ofertas/demandas o Eventos y noticias o Capacitan a generadores de residuos peligrosos o Seis estados concentran residuos tóxicos o Señala nuevas normas la SCT para traslado y manejo de envases o En Armenia se llevará la cumbre mundial en manejo de rellenos sanitarios o Enlaces o Asesoría o Conócenos Más adelante, en caso de ser necesario pueden ser agregadas más páginas a la aplicación, si es que el proyecto llegara a crecer dentro de unos años, ya que podría manejar también una base de datos de inventarios de unidades académicas y centros de investigación del IPN, o del manejo de otro tipo de materiales (electrónicos por ejemplo) y no solo limitado a químicos. 69

71 4.5 Desarrollo Después de la identificación del problema y planteamiento de solución, la siguiente fase es el desarrollo de la aplicación WEB, el cual principalmente se divide en 3 partes: Diseño de la Hoja de Estilo (CSS) en Adobe Dreamweaver CS5 Creación y Diseño de la plantilla principal (Maestra) en Visual Studio 2010 Desarrollo de la Aplicación WEB en Visual Studio 2010 con ASP.Net Creación de Bases de Datos y ligamiento a la Aplicación Instalación de Servidor WEB en Windows Server 2008 con IIS Figura 4.3. Diagrama de Flujo del Desarrollo de una Aplicación WEB. Dentro de este capítulo, se explicará de manera amplia pero sin entrar tanto en detalles técnicos, los pasos que se utilizaron para el desarrollo de la aplicación WEB, así como los inconvenientes y facilidades que se fueron encontrando dentro del proceso. 70

72 4.5.1 Diseño de la Hoja de Estilo (CSS) en Adobe Dreamweaver CS5 El primer paso es realizar el diseño de la plantilla de la página WEB. Para esto, utilizamos la aplicación Dreamweaver CS5 de la suite de Adobe, la cual por su amplia extensión y optimización para desarrollo de sitios WEB, es la que más facilidades ofrece al momento de realizar la programación. Se realizará una Hoja Estilo Cascada (CSS) la cual servirá como plantilla principal para todo el sitio WEB. Esto es mucho más eficiente que realizar y copiar el diseño principal en cada una de las páginas WEB que se tengan que elaborar. Primeramente, se plantean los formatos de tamaño de página, tipo y tamaño de letra, los estilos de cabecera y pié de página, y los colores principales como el fondo y la base del sitio. Posteriormente se empiezan a afinar detalles como el acomodo de tablas, textos y colores de ciertos botones o imágenes en distintos casos: cuando no están seleccionados, cuando el mouse se encuentra por encima de ellos, cuando se les da clic, etc.). Poco a poco, el sitio WEB empieza a tomar forma, sin embargo, este es el código principal. Finalmente se tendrá que realizar una página de prueba, cuyo nuestro caso fue la página principal, y ligarla con la hoja de estilo para finalmente poder empezar a ver los cambios y el diseño, y en base a la vista, realizar optimizaciones, cambios y arreglos que se deseen. Figura 4.4. Hoja de Estilo Cascada en Dreamweaver CS5. En la figura 4.4 se puede ver una parte del código del CSS, donde se muestra la configuración principal del cuerpo de la página, configuraciones de cuando un link ya ha 71

73 sido visitado, configuraciones de cuando pasa el puntero encima de ciertos objetos y demás. Se requiere definir cada tipo, tamaño, color, forma y demás parámetros de letra para cada una de las partes del sitio WEB. Figura 4.5. Hoja de Estilo Cascada en Dreamweaver CS5. En la figura 4.5 se pueden observar configuraciones del encabezado y pie de página Creación y Diseño de la Plantilla Principal (Maestra) en Visual Studio 2010 Una vez que se realizó el CSS del sitio, ahora se puede cargar en Microsoft Visual Studio como la hoja de estilo que se utilizará para realizar la página Maestra del Sitio. 72

74 Figura 4.6. Código aspx.cs de plantilla Maestra Site Master. Una vez que abrimos el IDE y cargamos la hoja de estilo, empezamos a agregar el menú principal y los objetos que se encontrarán en todas las páginas del sitio. En este caso, se agregó el Título, el Menú de Navegación, un Logotipo del IPN y el Botón de Inicio de Sesión. Esos son los componentes principales que aparecerán en todo el sitio y por lo tanto se asignarán como elementos fijos en el Site Master. Figura 4.7. Vista Diseño de la Plantilla Site Master. Una vez realizado el Site Master, se le da clic derecho a cada una de las páginas creadas y se le aplica la plantilla Maestra. De este modo ya todas las páginas estarán referenciadas al Sitio Maestro y tendrán el Diseño General sin que se pueda modificar. De este modo se vuelve más seguro el desarrollo de las siguientes páginas, ya que la parte del diseño general queda bloqueado. 73

75 4.5.3 Desarrollo de la Aplicación WEB en ASP.Net con Visual Studio 2010 Una vez que se tiene la plantilla Maestra se procede a armar todas las páginas del sitio WEB. Se inició con la página principal y posteriormente se realizaron todas las demás páginas, dejando las que van referenciadas a una base de datos al final por ser más complejas que las demás (donde normalmente solo se involucra HTML y no funciones de ASP). Figura 4.8. Página de Inicio Default.aspx. En la página de Inicio se da una introducción al usuario a la Aplicación de Intercambio de Residuos y Sustancias Químicas. De igual manera se le invita a registrarse o a iniciar sesión para iniciar la búsqueda de sustancias y residuos, o realizar una acción de oferta/demanda dentro del mismo. Esta es la página principal que aparecerá al entrar a la página por medio de una IP, por lo cual se ha decidido dejar la interfaz lo más amigable y sencilla (fácil de leer) para el usuario. Información detallada se dará a conocer en otras secciones del sitio. 74

76 Figura 4.9. Vista Diseño de la sección de Búsqueda de Residuos y Sustancias. En la sección de búsqueda se agregó un pequeño formulario con el nombre, tipo y acción que se quiere buscar con el fin de ejecutar un comando y se extraiga información de la base de datos. En esta sección se requiere ligar un botón a la base para poder obtener información, código que se mostrará más adelante ya que por el momento solo se realizará el diseño. 75

77 Figura Vista Diseño de la sección de Ofertas y Demandas. La sección de Ofertas y Demandas es la más compleja del sitio, ya que requiere llenar un formulario bastante amplio donde se podrá ofertar y/o demandar alguna sustancia o residuo químico, por lo cual se requiere que llene datos técnicos como el CAS, el CPR, Tipo de Sustancia o Residuo, Estado y demás características de acuerdo a las normas establecidas para el manejo de sustancias. Debido a que inicialmente se lanzará una prueba piloto en la Unidad Profesional Interdisciplinaria de Biotecnología (UPIBI) con un cierto grupo de alumnos y profesores, se asignaron funciones de creación, borrado y actualización de datos en esta sección. Posteriormente se tendría que mantener todo este tipo de actividades bajo un registro y control para que no se haga mal uso de esta aplicación WEB, y con una persona encargada de administrar y validar todos los procesos con previa autorización. Adicionalmente, se agregaron procesos de validación en todos los campos ya sea porque fuesen campos de datos obligatorios, o para validar que esté bien escrito un 76

78 nombre, dirección de correo electrónico y también evitar que se creen bases de datos sin datos ya sea por equivocación o intencionalmente. Esta página solo puede ser vista una vez que el usuarios es registrado y validado por un administrador. Figura Vista Diseño de la sección de Enlaces. En la sección de Enlaces se agregaron los logotipos de todos los departamentos e Instituciones a las cuales está ligada esta Aplicación con su respectivo enlace a su página WEB. 77

79 Figura Vista Diseño de la sección Conócenos. En la sección Acerca del Sitio se explica de manera más detallada cual es el propósito y función de la Aplicación de Sustancias y Residuos Químicos. De igual manera, se explican las Normas y Leyes a las cuales está apegada esta aplicación y que se deben tener en cuenta a la hora de hacer uso de la misma. 78

80 Figura Vista Diseño de la sección de Eventos y Noticias. La sección de Eventos y Noticias es una sección que será encargada a una persona la cual deberá ser actualizada con Noticias y los últimos Eventos relacionados a la industria química y especialmente al manejo de Sustancias y Reactivos, pero no limitada a esto. 79

81 Figura Vista Diseño de la sección de Inicio de Sesión. Finalmente, se crearon 2 páginas para el usuario, donde podrá registrarse para ser miembro de esta aplicación, o en caso de ser ya miembro, iniciar sesión con su cuenta. Primeramente se trabajó en la sección de inicio de Sesión, donde se pide el Nombre de Usuario y Contraseña para poder iniciar sesión. De igual manera se da la opción de guardar la información de las cookies para no tener que iniciar sesión cada que se entre al sitio desde una misma PC. 80

82 Figura Vista Diseño de la sección de Registro de Usuario. Posteriormente se creó la sección de registro, que lleva un formulario ligado a una base de datos donde se guarda todo el registro de los miembros de esta aplicación, con sus respectivos datos indispensables como lo son: nombre, unidad académica a la que pertenece, correo electrónico y contraseñas. También se incluye los respectivos validadores para que no existan registros vacíos o llenados de manera incorrecta. Una vez que se ha creado un registro se podrá iniciar sesión con su cuenta en la Sección anterior, que es accesible desde cualquier página del sitio WEB incluyendo la página de Inicio. 81

83 4.5.4 Creación de Bases de Datos y Vinculación a la Aplicación Posteriormente se creó la base de datos con sus respectivas tablas. Dentro de este proceso, se definió que se requiere una tabla para las Sustancias y Residuos Químicos, y otra base de Datos con una tabla de los usuarios. Adicionalmente, se requieren tablas para las Unidades Académicas participantes, y posteriormente se piensa realizar una tabla que contenga los números de CAS (que ascienden a miles de registros). Por el momento, se crearon las tablas principales; la de Sustancias y Residuos Químicos para buscar, ofertar y/o demandar, y la de Usuarios para que se empiece a realizar el registro de los mismos. En la figura 4.16 se muestra la tabla para el registro de usuarios y sus respectivas variables y tipos de datos asignados a cada una. Figura Definición de atributos y tipos de Datos de la tabla Usuarios. Estas tablas se realizaron directamente en SQL Server 2008 que viene integrado en Visual Studio 2010, sin embargo, para las tablas de prueba que se querían generar en UPIBI, se utilizó Microsoft Access 2007/2010 y posteriormente se convirtieron las tablas a un archivo con extensión.mdf para trabajarse en SQL Server. En la figura 4.17 se muestra la tabla de las Sustancias y Residuos Químicos con sus respectivas variables y tipo de datos a guardar en la base de datos. 82

84 Figura Definición de atributos y tipos de Datos de la tabla Formulario. Finalmente, para ligar las Bases de Datos a la aplicación WEB se asignaron distintos botones (Crear, Actualizar y Borrar) y se asignaron los comandos SQL respectivos para cada acción en el código. Figura Código aspx.cs para realizar la conexión con la Base de Datos. 83

85 En el archivo aspx.cs se asignan las funciones para trabajar con la base de datos. Se crea una cadena de conexión y se abre para realizar un proceso y posteriormente se cierra. La función BEnvia_Click es el que se encarga de enviar una oferta o demanda a la base de datos. La función BBorra sirve para eliminar alguna oferta/demanda, y la función BActualiza nos permite actualizar la cantidad de material que se está ofertando o demandando. public partial class About : System.WEB.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void BEnvia_Click(object sender, EventArgs e) { SqlConnection tabla = new SqlConnection(SqlDataSource1.ConnectionString.ToString()); SqlCommand cmd; tabla.open(); cmd = new SqlCommand("INSERT into Formulario values ('" + DDLOD.SelectedItem.Value + "','" + TBNombre.Text + "','" + DDLTipo.SelectedItem.Value + "','" + DDLEstado.SelectedItem.Value + "','" + TBCPR.Text + "','" + DDLCAS.SelectedItem.Value + "','" + RBLCantidad.SelectedItem.Value + "'," + TBCantidad.Text + ",'" + DDLPeriodo.SelectedItem.Value + "','" + TBObservaciones.Text + "','" + DDLVigencia.SelectedItem.Value + "')", tabla); cmd.executenonquery(); tabla.close(); } protected void BBorra_Click(object sender, EventArgs e) { SqlConnection tabla = new SqlConnection(SqlDataSource1.ConnectionString.ToString()); SqlCommand cmd; tabla.open(); cmd = new SqlCommand("DELETE from Formulario WHERE Nombre='"+TBNombre.Text+"' AND TipoA='"+DDLOD.SelectedItem.Value+"'", tabla); cmd.executenonquery(); tabla.close(); } protected void BActualiza_Click(object sender, EventArgs e) { SqlConnection tabla = new SqlConnection(SqlDataSource1.ConnectionString.ToString()); SqlCommand cmd; tabla.open(); cmd = new SqlCommand("UPDATE Formulario SET Cantidad="+TBCantidad.Text+" WHERE Nombre='"+TBNombre.Text+"'", tabla); cmd.executenonquery(); tabla.close(); } } 84

86 Figura Exportación de los archivos para su posterior publicación. Una vez afinados todos los detalles del prototipo el cual se pondrá a prueba, se da clic derecho en la aplicación que se encuentra en el Explorador de Soluciones y se generan los archivos a utilizar presionando Publicar Sitio WEB. Este IDE también permite publicar el Sitio WEB directamente con un FTP o incluso con Servicios de Información de Internet (IIS), demostrando así que es una herramienta muy completa para el desarrollo de software en todas sus etapas. Figura Carpeta con los archivos exportados desde VS

87 4.6 Instalación y Puesta en Marcha Instalación de Internet Information Services (IIS) Para publicar nuestro sitio WEB se necesita hacer uso del Servicios de Información de Internet (IIS), el cual viene integrado en los últimos sistemas operativos Windows. En esta ocasión se hará uso del Microsoft Windows Server 2008 el cual trae integrada la última versión del IIS, la versión 7.0. El servidor que nos fue asignado tiene las siguientes especificaciones: Tabla 4.1. Especificaciones del Servidor WEB CPU Intel Pentium D 3.0GHz (Doble Núcleo) Memoria RAM 1.46 GB Disco Duro 80 GB Sistema Operativo Windows Server 2003 Enterprise Edition Service Pack 2 De manera predeterminada IIS no se encuentra activado en cualquier sistema operativo Windows. Para activarlo hay que entrar en Panel de control >> Programas y características >> Activar o desactivar las características de Windows. Figura Ventana de Programas y características del panel de control. Con lo cual aparecerá la ventana del Administrador del servidor. En la parte inferior de esta ventana es donde se encuentra la opción de Agregar funciones, hay que dar clic en esta. 86

88 Figura Ventana del Administrador del servidor. Enseguida aparecerá un asistente que nos guiara en el proceso para agregar funciones en Windows Server

89 Figura Ventana del Asistente para agregar funciones. El asistente nos proporcionara la información necesaria para facilitar el proceso de agregado de funciones. Basta dar clic en Siguiente para seleccionar las funciones que deseamos agregar. 88

90 Figura Proceso de selección de funciones del servidor. Una vez seleccionadas aquella (s) función(es) deseadas solo resta dar clic en Instalar y después de varios minutos se cerrara automáticamente el asistente lo cual será indicio que la instalación de las funciones ha terminado Montaje de una aplicación ASP.net en un servidor WEB Para entrar a IIS se sigue la siguiente ruta: Inicio >> Herramientas Administrativas >> Administrador de Internet Information Services (IIS). Con lo cual aparecerá la siguiente ventana. 89

91 Figura Ventana del Administrador de servicios de información de internet. En la parte lateral izquierda se encuentra el árbol de nuestro servidor, al desplegar las ramas del árbol nos damos cuenta que existe un sitio WEB por Default. 90

92 Figura Página principal de Default WEB Site. Pero es mejor configurar un nuevo sitio WEB para nuestra aplicación. Para crear un nuevo sitio se debe dar clic derecho sobre Sitios y seleccionar Agregar Sitio WEB con lo cual se abre una pequeña ventana en la cual tendremos que llenar ciertos campos. 91

93 Figura Opciones de configuración al crear un sitio WEB El nombre del sitio preferentemente debe ser fácil de recordar y relacionado con la función de nuestro sitio WEB. En Ruta de acceso física se debe colocar la ubicación de los archivos que fueron generados por Visual Studio 2010 para la publicación del sitio WEB. En la Dirección IP se puede colocar la dirección IP del servidor o dejar cualquiera no asignada. Si se desea poner un nombre de host es necesario tener un servidor DNS. Las demás opciones pueden dejarse sin modificar y seguidamente dar clic en Aceptar para finalizar el proceso de creación del sitio WEB. Al volver a la ventana de IIS aparecerá en Sitios el sitio recién creado y las carpetas que existan dentro de este. 92

94 Figura Página principal del sitio WEB TesisIntercambio. Para verificar que todos los archivos se encuentran correctamente asociados a nuestro sitio WEB habrá que cambiar la vista del sitio en la parte inferior a la Vista Contenido. 93

95 Figura Vista Contenido del sitio WEB TesisIntercambio. En la parte lateral derecha dando clic en Examinar se ejecuta el sitio WEB en el navegador WEB predeterminado. 94

96 Figura Sitio WEB visto en un navegador. Al ejecutar la aplicación WEB resultara en un error en el archivo WEB.config. Para corregir este problema se debe modificar el grupo de aplicación de nuestro sitio WEB, el cual tiene el mismo nombre que el sitio WEB creado en IIS. 95

97 Figura Grupos de aplicaciones. Dando doble clic izquierdo sobre el grupo de aplicación con el mismo nombre de nuestro sitio aparece una ventana en la cual se debe cambiar la versión del.net Framework, para nuestro sitio WEB la versión correcta es la y dar clic en Aceptar. 96

98 Figura Configuración básica del grupo de aplicaciones. Para comprobar que nuestro sitio WEB funciona correctamente hay que dar clic sobre nuestro sitio WEB y enseguida dar clic en Examinar. 97

99 Figura Sitio WEB visto correctamente en un navegador. De esta manera la aplicación WEB ha sido exitosamente instalada en un servidor y se puede acceder a ella por medio de la IP del servidor desde cualquier otra computadora que se encuentre en la misma subred. 98

Introducción. Campos de Aplicación SGBD. Índice. Aplicaciones Representativas. Aplicaciones Representativas

Introducción. Campos de Aplicación SGBD. Índice. Aplicaciones Representativas. Aplicaciones Representativas SGBD Base de Un Sistema Gestor de consiste en: Datos Una colección de datos interrelacionados Un conjunto de programas para acceder a los datos Objetivo Principal de un SGBD: Proporcionar una forma práctica

Más detalles

Estructura de Bases de datos. Leonardo Víquez Acuña

Estructura de Bases de datos. Leonardo Víquez Acuña Estructura de Bases de datos Leonardo Víquez Acuña Lenguajes de Bases de Datos Un sistema de bases de datos proporciona Un lenguaje de definición de datos para especificar el esquema de la base de datos

Más detalles

Introducción a las bases de datos

Introducción a las bases de datos Introducción a las bases de datos Juan Ignacio Rodríguez de León Abstract Aplicaciones de los sistemas de bases de datos. Sistemas de bases de datos frente a sistemas de archivos. Visión de los datos.

Más detalles

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R

Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos. Unidad didáctica 1: Fase de análisis de requisitos Modelo E/R índice Módulo A Unidad didáctica 1: Introducción a las Bases de Datos Unidad didáctica 2: Metodologías de desarrollo de Bases de Datos 3 19 Módulo B Unidad didáctica 1: Fase de análisis de requisitos Modelo

Más detalles

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo. GLOSARIO Actor: Un actor es un usuario del sistema. Esto incluye usuarios humanos y otros sistemas computacionales. Un actor usa un Caso de Uso para ejecutar una porción de trabajo de valor para el negocio.

Más detalles

GLOSARIO DE TERMINOS

GLOSARIO DE TERMINOS GLOSARIO DE TERMINOS A Aplicaciones Legacy.- Conjunto de aplicaciones desarrolladas o implementadas en plataformas de sistemas anteriores o antiguos. B Bases de Datos.- Organización y conservación de datos

Más detalles

INTRODUCCIÓN AL WEB. Pag. 1 de 10

INTRODUCCIÓN AL WEB. Pag. 1 de 10 INTRODUCCIÓN AL WEB La World Wide Web o simplemente WWW o Web es uno de los métodos más importantes de comunicación que existe en Internet. Consiste en un sistema de información basado en Hipertexto (texto

Más detalles

Tema 1. Conceptos básicos

Tema 1. Conceptos básicos Conceptos básicos Sistema de Gestión de Bases de Datos, SGBD (DBMS, Database Management System): software diseñado específicamente para el mantenimiento y la explotación de grandes conjuntos de datos 1

Más detalles

computadoras que tienen este servicio instalado se pueden publicar páginas web tanto local como remotamente.

computadoras que tienen este servicio instalado se pueden publicar páginas web tanto local como remotamente. Investigar Qué es un IIS? Internet Information Services o IIS es un servidor web y un conjunto de servicios para el sistema operativo Microsoft Windows. Originalmente era parte del Option Pack para Windows

Más detalles

Anexo I: Detalles sobre Diseño WEB y Diseño Interactivo

Anexo I: Detalles sobre Diseño WEB y Diseño Interactivo Anexo I: Detalles sobre Diseño WEB y Diseño Interactivo Anexo I: Detalles sobre Diseño WEB y Diseño Interactivo... 1 1. Los ejes alrededor de un diseño interactivo... 2 2. Los problemas de Adobe Flash...

Más detalles

Modelar, documentar, discutir, versionar, difundir, capacitar DESCRIPCIÓN TÉCNICA

Modelar, documentar, discutir, versionar, difundir, capacitar DESCRIPCIÓN TÉCNICA Sistema para Gestión de Conocimiento Modelar, documentar, discutir, versionar, difundir, capacitar DESCRIPCIÓN TÉCNICA Contenido Introducción... 3 Antecedentes... 4 Ediciones... 4 Empresarial... 4 Personal...

Más detalles

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa.

Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa. BASES DE DATOS Una base de datos es una colección de información ordenada e interrelacionada que es de importancia para una empresa. La creación de una base de datos debe ser realizada cuidadosamente procurando

Más detalles

Tema 47. Las herramientas ofimáticas. Integración con sistemas de información estructurada.

Tema 47. Las herramientas ofimáticas. Integración con sistemas de información estructurada. Tema 47. Las herramientas ofimáticas. Integración con sistemas de información estructurada. Esquema Introducción... 2 Historia... 2 Suites... 2 Herramientas ofimáticas... 3 Tipos de programas ofimáticos:...

Más detalles

CONSTRUCCIÓN DE PORTALES

CONSTRUCCIÓN DE PORTALES Curso «Los portales de internet». Fac. Documentación. Universidad de Murcia. 29 CONSTRUCCIÓN DE PORTALES Juan Antonio Pastor Sánchez 1. Introducción La Gestión de los contenidos informativos de los portales

Más detalles

BASES DE DATOS. 1.1 Funciones de un DBMS

BASES DE DATOS. 1.1 Funciones de un DBMS BASES DE DATOS Un DBMS, son programas denominados Sistemas Gestores de Base de Datos, abreviado SGBD, en inglés Data Base Management System (DBMS) que permiten almacenar y posteriormente acceder a los

Más detalles

1. HISTORIA. Década de 1950.

1. HISTORIA. Década de 1950. 1. HISTORIA Los orígenes de las bases de datos se remontan a la Antigüedad donde ya existían bibliotecas y toda clase de registros que se utilizaban para recoger información sobre las cosechas, censos,

Más detalles

CAPÍTULO 5. Hemos utilizado la técnica de programación orientado a objetos por su

CAPÍTULO 5. Hemos utilizado la técnica de programación orientado a objetos por su 88 CAPÍTULO 5 5. IMPLEMENTACIÓN 5.1 Modelo Utilizado en Programación. Hemos utilizado la técnica de programación orientado a objetos por su eficiencia y eficacia en el modelo mvc, ya que permite la reutilización

Más detalles

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el

desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el Capitulo II. Análisis de herramientas y tecnologías de desarrollo. Dentro del desarrollo de la tesis el proceso de modelado del sistema fue hecho con el lenguaje de Modelo de Objetos llamado UML (Unified

Más detalles

Capítulo 1: Introducción

Capítulo 1: Introducción Capítulo 1: Introducción Database System Concepts, 5th Ed. See www.db-book.com for conditions on re-use Capítulo 1: Introducción Aplicaciones de los SBD Propósito de SBD Visión de los datos Lenguajes de

Más detalles

Historia de revisiones

Historia de revisiones GVA Glosario Versión 1.2 Semana 4 Historia de revisiones Fecha Versión Descripción Autor 20/08/2014 1.0 Comienzo del documento Nicolás Fiumarelli 30/08/2014 1.1 Correcciones y agregados Martín Santagata

Más detalles

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Modulo I. Introducción a la Programación Web. 1.1 Servidor Web. Antes de analizar lo que es un servidor Web y llevara a cabo su instalación, es muy importante identificar diferentes elementos involucrados

Más detalles

Programación con PHP y MySql Instituto CBTech 5/14

Programación con PHP y MySql Instituto CBTech 5/14 Programación con PHP y MySql Instituto CBTech 5/14 Programación con PHP y MySql Instituto CBTech 6/14 Qué es una aplicación web? Una aplicación web es un sistema informático que los usuarios utilizan accediendo

Más detalles

Ciclo Formativo de Grado Superior Desarrollo de Aplicaciones Web

Ciclo Formativo de Grado Superior Desarrollo de Aplicaciones Web Ciclo Formativo de Grado Superior Desarrollo de Aplicaciones Web Proyecto Propio de Ampliación con Programación de Dispositivos Móviles e Inteligentes Paseo de la Puerta del Ángel, s/n 28011 Madrid www.iesellago.net

Más detalles

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web Secretaría de Planificación Estratégica Oficina de Informática Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web VERSIÓN 4 Julio 2009 Índice 1. Generalidades... 3 1.1

Más detalles

Web Mastering y Design

Web Mastering y Design Web Mastering y INTRODUCCIÓN Propósito de este documento El presente documento contiene el programa del curso online de Web Mastering y. OBJETIVOS Y MÉTODO DE USO Y EVALUACIÓN Objetivo y métodos de uso

Más detalles

SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL SIMAD CLOUD. La Gestión Documental ahora en la nube, es más eficiente aurea

SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL SIMAD CLOUD. La Gestión Documental ahora en la nube, es más eficiente aurea SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL La Gestión Documental ahora en la nube, es más eficiente aurea SISTEMA INTEGRADO DE ADMINISTRACIÓN DOCUMENTAL El más potente programa para el manejo integral

Más detalles

Especificación de requisitos de software Proyecto: SIS-WEB (Sistema de Información de Seminarios WEB) Revisión 1.0

Especificación de requisitos de software Proyecto: SIS-WEB (Sistema de Información de Seminarios WEB) Revisión 1.0 Especificación de requisitos de software Proyecto: (Sistema de Información de Seminarios WEB) Revisión 1.0 Tania Isadora Mora Dorance Moreno Luis Yovany Romo Septiembre 2007 Realizado Por: Tania I. Mora

Más detalles

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 5 Situación RD 1201/2007 Actualización Página 1 de 18 CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC297_2 Versión 5 Situación RD 1201/2007 Actualización

Más detalles

Capítulo 5. Implementación y Tecnologías Utilizadas

Capítulo 5. Implementación y Tecnologías Utilizadas Capítulo 5. Implementación y Tecnologías Utilizadas Cada vez más, se está utilizando Flash para desarrollar aplicaciones basadas en Web, pues permite la construcción de ambientes con mayor interacción.

Más detalles

UNIVERSIDAD TECNOLÓGICA PRIVADA DE SANTA CRUZ FACULTAD DE CIENCIAS Y TECNOLOGIA. CARRERA: Ingeniería en Sistemas

UNIVERSIDAD TECNOLÓGICA PRIVADA DE SANTA CRUZ FACULTAD DE CIENCIAS Y TECNOLOGIA. CARRERA: Ingeniería en Sistemas UNIVERSIDAD TECNOLÓGICA PRIVADA DE SANTA CRUZ FACULTAD DE CIENCIAS Y TECNOLOGIA CARRERA: Ingeniería en Sistemas Perfil de Tesis para Proyecto Empresarial Aplicación para mejorar la evaluación del desempeño

Más detalles

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura

1.1.- Objetivos de los sistemas de bases de datos 1.2.- Administración de los datos y administración de bases de datos 1.3.- Niveles de Arquitectura 1. Conceptos Generales 2. Modelo Entidad / Relación 3. Modelo Relacional 4. Integridad de datos relacional 5. Diseño de bases de datos relacionales 6. Lenguaje de consulta estructurado (SQL) 1.1.- Objetivos

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

Facilite la Gestión, Manejo y Distribución de Información en su Web Site. WBC V2 Web Content Management

Facilite la Gestión, Manejo y Distribución de Información en su Web Site. WBC V2 Web Content Management Facilite la Gestión, Manejo y Distribución de Información en su Web Site. WBC V2 Web Content Management Web Business Creator Content Management Introducción Muchas empresas basan sus estrategias de comunicación

Más detalles

SQL Server Reporting Services 2000 y 2005

SQL Server Reporting Services 2000 y 2005 SQL Server Reporting Services 2000 y 2005 Este artículo presenta SQL Server Reporting Services. Se presentan primero las funcionalidades de la primera versión de esta herramienta y después las mejoras

Más detalles

O3 Requerimientos de Software y Hardware

O3 Requerimientos de Software y Hardware IdeaSoft Uruguay S.R.L. Phone: +598 (2) 710 4372 21 de Setiembre 2570 Fax: +598 (2) 710 4965 Montevideo http://www.ideasoft.com.uy Uruguay O3 Requerimientos de Software y Hardware Uso de memoria, espacio

Más detalles

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL

DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Página 1 de 21 CUALIFICACIÓN DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 3 Código IFC154_3 Versión 5 Situación RD 1087/2005 Actualización

Más detalles

Tema 3: Bases de datos en Entorno Web

Tema 3: Bases de datos en Entorno Web Tema 3: Bases de datos en Entorno Web 1. Introducción. Un sistema de bases de datos proporciona un control centralizado de los datos. Esto contrasta con la situación que prevalece actualmente, donde a

Más detalles

1. Capítulo 1: Herramientas de Software para el sistema

1. Capítulo 1: Herramientas de Software para el sistema 1. Capítulo 1: Herramientas de Software para el sistema 1.1 Conceptos Generales 1.1.1 Joomla.- Es un sistema dinámico que gestiona y administra contenidos de código abierto, y permite desarrollar sitios

Más detalles

Recuperación de Información en Internet Tema 2: La web

Recuperación de Información en Internet Tema 2: La web Recuperación de Información en Internet Tema 2: La web P.O.P. Língua e usos profesionais Miguel A. Alonso Jorge Graña Jesús Vilares Departamento de Computación Facultad de Informática Universidade da Coruña

Más detalles

Introducción. 1.1 Aplicaciones de los sistemas de bases de datos C A P Í T U L O 1

Introducción. 1.1 Aplicaciones de los sistemas de bases de datos C A P Í T U L O 1 C A P Í T U L O 1 Introducción Un sistema gestor de bases de datos (SGBD) consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a dichos datos. La colección de datos,

Más detalles

Universidad de Cantabria corcuerp@unican.es

Universidad de Cantabria corcuerp@unican.es Bases de Datos Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Objetivos Presentar los conceptos básicos y terminología de las bases de

Más detalles

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web Secretaría de Planificación Estratégica Oficina de Informática Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web VERSIÓN 3 Abril 2006 Índice 1. Generalidades... 3 1.1

Más detalles

CAPITULO 1. Introducción a los Conceptos Generales de Bases de Datos Distribuidas

CAPITULO 1. Introducción a los Conceptos Generales de Bases de Datos Distribuidas CAPITULO 1 Introducción a los Conceptos Generales de 1.1 Preliminares Las empresas necesitan almacenar información. La información puede ser de todo tipo. Cada elemento informativo es lo que se conoce

Más detalles

SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS

SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS Universidad de Carabobo Facultad Experimental de Ciencias y Tecnología Departamento de Computación Unidad Académica Base de Datos SISTEMAS DE GESTIÓN DE BASE DE DATOS SGBD / DBMS Integrantes: Fidel Gil

Más detalles

Internet - Web. Internet - Web. Internet. Internet. Diseño de Sitios Web Desarrollo de Paginas Web. Qué es la Internet? - Qué es la Web?

Internet - Web. Internet - Web. Internet. Internet. Diseño de Sitios Web Desarrollo de Paginas Web. Qué es la Internet? - Qué es la Web? Desarrollo de Paginas Web Internet - Web Internet - Web Qué es la Internet? - Qué es la Web? Internet: Una red de computadoras a nivel mundial Web: Una forma de organizar la información existente en Internet

Más detalles

Nivel Intermedio. Escribir lenguaje de marcado HTML. Utilizar programas editores de HTML. Utilizar Hojas de Estilo en Cascada CSS

Nivel Intermedio. Escribir lenguaje de marcado HTML. Utilizar programas editores de HTML. Utilizar Hojas de Estilo en Cascada CSS Diseño Web Estático Nivel Intermedio Escribir lenguaje de marcado HTML Utilizar programas editores de HTML Utilizar Hojas de Estilo en Cascada CSS Configurar sitios web locales Personas provenientes del

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS...2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA...7 Tarea DSI 1.1: Definición de Niveles de Arquitectura...9 Tarea DSI 1.2:

Más detalles

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software.

TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. . TEMA 37: Arquitecturas Cliente / Servidor. Tipos de cliente. Tipos de Servidor. Clasificación del software. Índice 1 INTRODUCCIÓN 2 2 CARACTERÍSTICAS 2 2.1 Características del cliente...2 2.2 Características

Más detalles

Servidores web. Qué es un servidor web? Tipos de servidores. Lic. Lorena Bernis

Servidores web. Qué es un servidor web? Tipos de servidores. Lic. Lorena Bernis Servidores web Qué es un servidor web? Tipos de servidores. Lic. Lorena Bernis Servidores web 2 SERVIDOR En informática, un servidor es un tipo de software que realiza ciertas tareas en nombre de los usuarios.

Más detalles

Unidad 1. Introducción a los conceptos de Bases de Datos

Unidad 1. Introducción a los conceptos de Bases de Datos Unidad 1 Introducción a los conceptos de Bases de Datos 1.1 Definición de Base de Datos Dato: Conjunto de caracteres con algún significado, pueden ser numéricos, alfabéticos, o alfanuméricos. Información:

Más detalles

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes.

Especificación de la secuencia de mensajes que se han de intercambiar. Especificación del formato de los datos en los mensajes. SISTEMAS DISTRIBUIDOS DE REDES 2.- MODELOS ORIENTADOS A OBJETOS DISTRIBUIDOS 2.1. Tecnologías de sistemas distribuidos Para la implementación de sistemas distribuidos se requiere de tener bien identificados

Más detalles

SIMAD. aurea PYME. El software de Gestión Documental profesional para pequeñas y medianas empresas.

SIMAD. aurea PYME. El software de Gestión Documental profesional para pequeñas y medianas empresas. S I S T E M A I N T E G R A D O D E A D M I N I S T R A C I Ó N D O C U M E N TA L aurea El software de Gestión Documental profesional para pequeñas y medianas empresas. S I S T E M A I N T E G R A D O

Más detalles

Escuela Provincial de Educación Técnica N 1 UNESCO. Planificación Anual 2015 Ciclo Superior Secundario

Escuela Provincial de Educación Técnica N 1 UNESCO. Planificación Anual 2015 Ciclo Superior Secundario Escuela Provincial de Educación Técnica N 1 UNESCO Planificación Anual 2015 Ciclo Superior Secundario Especialidad: Técnico en Informática Personal y Profesional - Espacio Curricular: Programación Web

Más detalles

Adobe Dreamweaver CS3 - Curso online Creación profesional de sitios web

Adobe Dreamweaver CS3 - Curso online Creación profesional de sitios web Adobe Dreamweaver CS3 - Curso online Creación profesional de sitios web Índice Conceptos básicos En este capítulo se enseñan los conceptos básicos de trabajo en Adobe Dreamveaver CS3. También se describen

Más detalles

Diseño del Sistema de Información

Diseño del Sistema de Información Diseño del Sistema de Información ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 2 ACTIVIDAD DSI 1: DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA... 7 Tarea DSI 1.1: Definición de Niveles de Arquitectura... 9 Tarea DSI

Más detalles

Unidad V. Manejo de software para documentar. documentar

Unidad V. Manejo de software para documentar. documentar Unidad V Manejo de software para para documentar documentar 143 Do cumentación técnica Esquema conceptual: Unidad V Características Utilización Características Utilización 2. InDesign 1. FrameMaker 3.

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

Tema 5. Tecnologías web. Antonio Sanz ansanz@unizar.es. Comercio Electrónico

Tema 5. Tecnologías web. Antonio Sanz ansanz@unizar.es. Comercio Electrónico Tema 5 Tecnologías web Antonio Sanz ansanz@unizar.es Comercio Electrónico Índice Gestión de un proyecto web Historia i de Internet t y la WWW Arquitecturas cliente/servidor Gestión de un proyecto web Introducción

Más detalles

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta

Más detalles

ACCIÓN FORMATIVA FINANCIADA POR EL SERVICIO PÚBLICO DE EMPLEO ESTATAL

ACCIÓN FORMATIVA FINANCIADA POR EL SERVICIO PÚBLICO DE EMPLEO ESTATAL MF0491_3: PROGRAMACIÓN WEB EN EL ENTORNO CLIENTE. (IFCD0210: DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB) 180 HORAS PRESENCIALES Nº DE EXPEDIENTE: FC/2013/0064 ACCION 141 GRUPO 1 ACCIÓN FORMATIVA FINANCIADA

Más detalles

CAPÍTULO 3 DISEÑO DE LA ARQUITECTURA

CAPÍTULO 3 DISEÑO DE LA ARQUITECTURA CAPÍTULO 3 DISEÑO DE LA ARQUITECTURA Para el desarrollo de la arquitectura interna del subsistema de programación de actividades se utilizó como referencia la Arquitectura de Aplicaciones.NET 105 de Microsoft

Más detalles

DESARROLLO WEB EN ENTORNO CLIENTE

DESARROLLO WEB EN ENTORNO CLIENTE DESARROLLO WEB EN ENTORNO CLIENTE CAPÍTULO 1: Selección de arquitecturas y herramientas de programación Juan Manuel Vara Mesa Marcos López Sanz David Granada Emanuel Irrazábal Jesús Javier Jiménez Hernández

Más detalles

CONTENIDOS MÍNIMOS Y CRITERIOS DE EVALUACIÓN INFORMÁTICA 1º BACHILLERATO

CONTENIDOS MÍNIMOS Y CRITERIOS DE EVALUACIÓN INFORMÁTICA 1º BACHILLERATO CONTENIDOS MÍNIMOS Y CRITERIOS DE EVALUACIÓN INFORMÁTICA 1º BACHILLERATO Contenidos 1. Internet y redes sociales. -La información y la comunicación como fuentes de comprensión y transformación del entorno

Más detalles

UNIVERSIDAD ALBERT EINSTEIN FACULTAD DE INGENIERIA

UNIVERSIDAD ALBERT EINSTEIN FACULTAD DE INGENIERIA UNIVERSIDAD ALBERT EINSTEIN FACULTAD DE INGENIERIA Estudio de las herramientas TOAD y DBArtisan para la administración e integración de bases de datos relacionales. PREVIA OPCION AL TÍTULO DE: INGENIERO

Más detalles

MS_20488 Developing Microsoft SharePoint Server 2013 Core Solutions

MS_20488 Developing Microsoft SharePoint Server 2013 Core Solutions S MS_20488 Developing Microsoft SharePoint Server 2013 Core Solutions www.ked.com.mx Av. Revolución No. 374 Col. San Pedro de los Pinos, C.P. 03800, México, D.F. Tel/Fax: 52785560 Introducción En este

Más detalles

Entorno. @xavipalu. Multimedia

Entorno. @xavipalu. Multimedia Entorno Multimedia 07 World Wide Web World Wide Web Qué es? Cómo funciona? Lenguaje Tipologias World Wide Web / Qué es? World Wide Web WWW Sistema de distribución de información basado en hipertexto o

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

Componentes de Integración entre Plataformas Información Detallada

Componentes de Integración entre Plataformas Información Detallada Componentes de Integración entre Plataformas Información Detallada Active Directory Integration Integración con el Directorio Activo Active Directory es el servicio de directorio para Windows 2000 Server.

Más detalles

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 6. Actualización

CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL. Nivel 2. Versión 6. Actualización Página 1 de 19 CUALIFICACIÓN CONFECCIÓN Y PUBLICACIÓN DE PÁGINAS WEB PROFESIONAL Familia Profesional Informática y Comunicaciones Nivel 2 Código IFC297_2 Versión 6 Situación Contraste externo Actualización

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

MODULO DE INVENTARIO DE PARTES Y ACCESORIOS PARA COMPUTADORES DE LA EMPRESA GIORLAU TECHNOLOGY SISRECOM MANUAL DE USUARIO JHONNY DANIEL ACERO GONZALEZ

MODULO DE INVENTARIO DE PARTES Y ACCESORIOS PARA COMPUTADORES DE LA EMPRESA GIORLAU TECHNOLOGY SISRECOM MANUAL DE USUARIO JHONNY DANIEL ACERO GONZALEZ MODULO DE INVENTARIO DE PARTES Y ACCESORIOS PARA COMPUTADORES DE LA EMPRESA GIORLAU TECHNOLOGY SISRECOM MANUAL DE USUARIO JHONNY DANIEL ACERO GONZALEZ CORPORACION UNIVERSITARIA MINUTO DE DIOS FACULTAD

Más detalles

AVG File Server. Manual del usuario. Revisión del documento 2015.08 (22.09.2015)

AVG File Server. Manual del usuario. Revisión del documento 2015.08 (22.09.2015) AVG File Server Manual del usuario Revisión del documento 2015.08 (22.09.2015) C opyright AVG Technologies C Z, s.r.o. Reservados todos los derechos. El resto de marcas comerciales son propiedad de sus

Más detalles

Desarrollo de Aplicaciones con Tecnologías Web (Online) (Dirigida a la Acreditación de las Competencias Profesionales R.D.

Desarrollo de Aplicaciones con Tecnologías Web (Online) (Dirigida a la Acreditación de las Competencias Profesionales R.D. Desarrollo de Aplicaciones con Tecnologías Web (Online) (Dirigida a la Acreditación de las Competencias Profesionales R.D. 1224/2009) Titulación certificada por EUROINNOVA BUSINESS SCHOOL Desarrollo de

Más detalles

Historia de revisiones

Historia de revisiones Binary Rain Glosario Versión 1.1 Historia de revisiones Fecha Versión Descripción Autor 17/08/2012 1.0 Creación del documento Carolina Trias 18/08/2012 1.1 Revisado y corregido por SQA Mercedes Marzoa

Más detalles

Para el desarrollo de aplicaciones Web se han generado múltiples tecnologías entre ellas se encuentran:

Para el desarrollo de aplicaciones Web se han generado múltiples tecnologías entre ellas se encuentran: Desarrollo de aplicaciones y servicios web Cinxgler Mariaca Minda Cinxgler@udistrital.edu.co Presidente Capítulo de Computadores Rama IEEE Universidad Distrital Francisco José de Caldas Resumen: Este articulo

Más detalles

Elaboración de un Formulario Web utilizando ASP.NET desde cero.

Elaboración de un Formulario Web utilizando ASP.NET desde cero. Elaboración de un Formulario Web utilizando ASP.NET desde cero. Realizado por: Fabricio.A.Santillana.V. 2-718-1147 TABLA DE CONTENIDO Pág. Introducción...3 Objetivos...4 Contenido...5 1. Introducción a

Más detalles

UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008. Gestión de Información Web

UNIVERSIDAD TECNOLÓGICA ECOTEC. ISO 9001:2008. Gestión de Información Web Gestión de Información Web Características deseables de CMS Arquitectura técnica: Tiene que ser fiable y permitir la escalabilidad del sistema para adecuarse a futuras necesidades con módulos o extensiones.

Más detalles

DESCRIPCIÓN ESPECÍFICA.

DESCRIPCIÓN ESPECÍFICA. DESCRIPCIÓN ESPECÍFICA. Nombre del Módulo: DISEÑO DE SITIOS WEB. Código: CSTI0031 Horas certificables: 62 Objetivo General: Diseñar sitios web que implementen características intuitivas y visuales Objetivos

Más detalles

APLICACIÓN WEB Annual_Gestión pago

APLICACIÓN WEB Annual_Gestión pago APLICACIÓN WEB Annual_Gestión pago TABLA DE CONTENIDOS TABLA DE CONTENIDOS... 2 TABLA DE ILUSTRACIONES... 3 INTRODUCCIÓN... 4 MODOS DE INSTALACIÓN (INTRANET/INTERNET)... 4 REQUISITOS DE SERVIDORES:...

Más detalles

Curso básico de creación de páginas web

Curso básico de creación de páginas web Curso básico de creación de páginas web Programa de formación docente UAM 2005-2006 Miguel Sevilla Callejo Abril 2006 Departamento de Geografía Universidad Autónoma de Madrid Objetivos Desarrollar las

Más detalles

Sistema Web para gestión de bibliotecas

Sistema Web para gestión de bibliotecas Sistema Web para gestión de bibliotecas Mirta Inés Bujakiewiez 1, María Victoria López 1 y Armando Taié 2 1 Departamento de Informática. Facultad de Cs. Exactas y Naturales y Agrimensura. Universidad Nacional

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: http://www.ucv.edu.pe/cis/ cisvirtual@ucv.edu.pe. 1.

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: http://www.ucv.edu.pe/cis/ cisvirtual@ucv.edu.pe. 1. INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD 1 Estructura de contenidos: 1. Programación Web 2. Sistema De Información 3. Sistema Web 4. Requisitos Para Sistemas Web Con Asp 5. Internet Information Server

Más detalles

Arquitectura del CourseWare. M. Ed. Fredys Simanca Herrera

Arquitectura del CourseWare. M. Ed. Fredys Simanca Herrera Arquitectura del CourseWare M. Ed. Fredys Simanca Herrera Contenido 1. Equipo de desarrollo 2. Población objetivo 3. Contenido del curso 4. Organización del curso 5. Del Conductismo Al Constructivismo

Más detalles

UNIVERSIDAD FRANCISCO GAVIDIA FACULTAD DE INGENIERIA Y ARQUITECTURA

UNIVERSIDAD FRANCISCO GAVIDIA FACULTAD DE INGENIERIA Y ARQUITECTURA UNIVERSIDAD FRANCISCO GAVIDIA FACULTAD DE INGENIERIA Y ARQUITECTURA TRABAJO DE GRADUACIÓN DISEÑO DE UN BUSCADOR ACADEMICO LLAMADO SALVADOR PRESENTADO POR: GLENDA MARISOL MARROQUIN LARREYNAGA MARINA LOURDES

Más detalles

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES WEB DAW 350 HORAS

FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES WEB DAW 350 HORAS FAMILIA PROFESIONAL: Informática y Comunicación CICLO SUPERIOR DESARROLLO DE APLICACIONES WEB DAW 350 HORAS Resultados de aprendizaje y criterios de evaluación. 1. Identificar la estructura y organización

Más detalles

IFCD0210 Desarrollo de Aplicaciones con Tecnologías Web (Dirigida a la Acreditación de las Comptencias Profesionales R.D.

IFCD0210 Desarrollo de Aplicaciones con Tecnologías Web (Dirigida a la Acreditación de las Comptencias Profesionales R.D. IFCD0210 Desarrollo de Aplicaciones con Tecnologías Web (Dirigida a la Acreditación de las Comptencias Profesionales R.D. 1224/2009) IFCD0210 Desarrollo de Aplicaciones con Tecnologías Web (Dirigida a

Más detalles

BASES DE DATOS MIS 308

BASES DE DATOS MIS 308 2. MODELOS DE DATOS Introducción 2.1 Entidad relación 2.2 Jerárquico 2.3 De red 2.4 Relacional Introducción Hoy en día las empresas manejan una gran cantidad de datos. Cualquier empresa que se precie debe

Más detalles

Simulador de Protocolos de Red a tráves de WEB

Simulador de Protocolos de Red a tráves de WEB Simulador de Protocolos de Red a tráves de WEB Propuesta de Estudio 20071608 Director Ing. Francisco Antonio Polanco Montelongo Resumen Introducción Actualmente, el desarrollo tecnológico a alcanzado niveles

Más detalles

SERVICIOS TELEMÁTICOS PARA GESTIÓN DEL TURISMO RURAL EN UNA COMARCA.

SERVICIOS TELEMÁTICOS PARA GESTIÓN DEL TURISMO RURAL EN UNA COMARCA. UNIVERSIDAD DE VALLADOLID ESCUELA UNIVERSITARIA POLITÉCNICA INGENIERO TÉCNICO INDUSTRIAL, ESPECIALIDAD EN ELECTRÓNICA INDUSTRIAL MEMORIA RESUMEN PROYECTO FIN DE CARRERA SERVICIOS TELEMÁTICOS PARA GESTIÓN

Más detalles

UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO. Voluntad. Conocimiento. Servicio ACTUALIZACIÓN DE PÁGINA WEB, INSTALACIÓN DE IIS, FTP Y ACCESO REMOTO

UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO. Voluntad. Conocimiento. Servicio ACTUALIZACIÓN DE PÁGINA WEB, INSTALACIÓN DE IIS, FTP Y ACCESO REMOTO UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO Voluntad. Conocimiento. Servicio ACTUALIZACIÓN DE PÁGINA WEB, INSTALACIÓN DE IIS, FTP Y ACCESO REMOTO Reporte de estadía para obtener el Título de Técnico Superior

Más detalles

Ministerio de Educación Base de datos en la Enseñanza. Glosario

Ministerio de Educación Base de datos en la Enseñanza. Glosario Ministerio de Educación Base de datos en la Enseñanza. Glosario Instituto de Tecnologías Educativas 2011 Glosario Glosario GLOSARIO Archivo Un archivo es un elemento que contiene información y que a su

Más detalles

Programación Orientada a Objetos (Online)

Programación Orientada a Objetos (Online) Titulación certificada por EUROINNOVA BUSINESS SCHOOL Programación Orientada a Objetos (Online) Programación Orientada a Objetos (Online) Duración: 250 horas Precio: 250 * Modalidad: Online * Materiales

Más detalles

EVOLUCIÓN DE LA WEB. Presentado por: Pablo E. Lozada Y. (pablo.lozada@alumnos.usm.cl)

EVOLUCIÓN DE LA WEB. Presentado por: Pablo E. Lozada Y. (pablo.lozada@alumnos.usm.cl) EVOLUCIÓN DE LA WEB Presentado por: Pablo E. Lozada Y. (pablo.lozada@alumnos.usm.cl) Contenido Historia del Internet. La Web 1.0. Definición. Características. La Web 2.0. Definición. Tecnologías de la

Más detalles

INTEROPERABILIDAD ESTÁNDARES APLICADOS EN COSTA RICA

INTEROPERABILIDAD ESTÁNDARES APLICADOS EN COSTA RICA INTEROPERABILIDAD ESTÁNDARES APLICADOS EN COSTA RICA Ing. Marco Jiménez HA-2508 SEMINARIO DE TEMAS ARCHIVÍSTICOS 21-09-2010 Temas de la presentación Definiciones Interoperabilidad Sistema Importancia de

Más detalles

TEMA. Diseño orientado a la web. Internet y las páginas web. [9.1] Cómo estudiar este tema? [9.2] Internet y los navegadores

TEMA. Diseño orientado a la web. Internet y las páginas web. [9.1] Cómo estudiar este tema? [9.2] Internet y los navegadores Diseño orientado a la web. Internet y las páginas web [9.1] Cómo estudiar este tema? [9.2] Internet y los navegadores [9.3] Accesibilidad e interactividad [9.4] Resolución de pantalla [9.5] Optimización

Más detalles

Arquitectura de Aplicaciones

Arquitectura de Aplicaciones 1 Capítulo 13: Arquitectura de aplicaciones. - Sommerville Contenidos del capítulo 13.1 Sistemas de procesamiento de datos 13.2 Sistemas de procesamiento de transacciones 13.3 Sistemas de procesamiento

Más detalles

Uso de los Servicios Web en la nueva arquitectura de N-Capas del Sistema Económico Integral Rodas XXI.

Uso de los Servicios Web en la nueva arquitectura de N-Capas del Sistema Económico Integral Rodas XXI. Ponencia para Evento de Redes. Autor: Rubén Rivera Rodríguez, Citmatel Resumen Uso de los Servicios Web en la nueva arquitectura de N-Capas del Sistema Económico Integral Rodas XXI. Las nuevas tendencias

Más detalles

Gestión. Ficha de Producto. IslaWin AÑO 2015. Conozca el producto en profundidad. Contenidos:

Gestión. Ficha de Producto. IslaWin AÑO 2015. Conozca el producto en profundidad. Contenidos: Ficha de Producto AÑO 2015 IslaWin Gestión Conozca el producto en profundidad Contenidos: Características generales Módulos incluidos Diferencias entre versiones Diferencias entre Microsoft Access y Microsoft

Más detalles