UNIVERSIDAD DON BOSCO FACUL TAO DE INGENIERÍA DISEÑO E IMPLEMENTACIÓN DE UN CD INTERACTIVO PARA LA ENSEÑANZA DE LAS BASES DE DATOS, COMO APOYO A LA MATERIA DE BASE DE DATOS I DE LA UNIVERSIDAD DON BOSCO TRABAJO DE GRADUACIÓN PARA OPTAR AL TITULO DE INGENIERO EN CIENCIAS DE LA COMPUTACIÓN PRESENTADO POR JORGE ANTONIO REYES MOJICA MANUEL ALEJANDRO RAMOS CERNA ASESOR ING. RAÚL MARTÍNEZ RIVAS MAYO, 2011 EL SALVADOR, CENTRO AMERICA UNIVERSIDAD DON BOSCO RECTOR ING. FEDERICO MIGUEL HUGUET RIVERA VICERECTOR ACADÉMICO PBRO.~CTORBERMÚDEZ SECRETARIA GENERAL INGA. YESENIA XIOMARA MARTINEZ OVIEDO DECANO DE LA FACUL TAO DE INGENIERIA ING. ERNESTO GODOFREDO GIRÓN ASESOR DEL TRABAJO DE GRADUACION ING. RAÚL MARTÍNEZ RIVAS LECTOR LIC. ALFREDO OMAR RODRÍGUEZ ADMINISTRADOR DEL PROCESO ING. MIL TON JOSÉ NARVÁEZ SANDINO UNIVERSIDAD DON BOSCO FACUL TAO DE INGENIERÍA EVALUACIÓN DEL TRABAJO DE GRADUACIÓN DISEÑO E IMPLEMENTACIÓN DE UN CD INTERACTIVO PARA LA ENSEÑANZA DE LAS BASES DE DATOS, COMO APOYO A LA MATERIA DE BASE DE DATOS I DE LA UNIVERSIDAD DON BOSCO ~ LIC. ALFREDO R~ EZ LECTOR ING.~ EZ ASESOR AGRADECIMIENTOS Primeramente gracias a Dios por darme tanta vida, sabiduría y fortaleza para salir adelante ante todas las adversidades que en el camino se presentaron y por acompañarme en todo momento. A mis padres, Jorge Armando Reyes Sayes y Rosalina Mojica de Reyes, por todo el apoyo incondicional, el esfuerzo y sacrificio que pusieron para brindarme una carrera profesional y espiritual. Por todos sus concejos e infinitas oraciones que realizaron por mí. A mi hermano, Mario Alberto Reyes Mojica, porque siempre me brindo su ayuda cuando la necesite, por darme su apoyo en todos los aspectos, por darme ánimos cuando más los necesite. A mi novia, Jessica Marily Portillo Baires, que con su amor y apoyo incondicional me acompaño y dio ánimos en los momentos más críticos del proceso. A nuestro asesor, lng. Raúl Martinez Rivas, por su desinteresado apoyo en todos y cada uno de los aspectos relacionados a nuestro trabajo de graduación, por siempre pelear por nuestros derechos y deberes, infinitas gracias. A mi amigo y compañero de Tesis, Manuel Alejandro Cerna, por soportar todo este tiempo los inconvenientes que tuve y tuvimos, por siempre luchar para que pudiéramos finalizar nuestro trabajo. Y a todos y cada una de las personas que nos permitieron realizar y finalizar nuestro trabajo de graduación, muchas gracias. Jorge Antonio Reyes Mojica AGRADECIMIENTOS A Dios mi padre celestial, por darme la oportunidad de vivir y hacer realidad cada una de las peticiones de mi corazón y cuidar de cada detalle que he necesitado para lograr este sueño. A mi familia; que con tanto amor, me han inculcado un espíritu emprendedor, creyendo mí; como una persona exitosa y con potencial para superar cada obstáculo con el fin de alcanzar todo lo que me proponga. A mis amigos, que con sus muestras de aprecio, cariño y entusiasmo, le han dado a mi vida, el toque de locura, aventura y diversión; sin faltar ese hombro en el cual desahogar alguna pena y que sin duda alguna han fortalecido los lazos de nuestra amistad. Agradezco, a todas las personas que se han cruzado en el camino hacia este logro y que marcaron mi vida; siendo pieza importante en este proceso y a quienes con sus consejos tomaron parte en esta exitosa culminación. Gracias a todos, por hacer posible que uno de mis grandes sueños llegara a ser realidad en mi vida. Los llevo dentro de mi corazón. Manuel Alejandro Ramos DEDICATORIA Mi tesis la dedico con todo mi amor y cariño. A ti Dios que me diste la oportunidad de vivir y regalarme una familia y novia maravillosa. Con mucho amor principalmente a mis padres, Jorge Armando Reyes Sayes y Rosalina Mojica de Reyes, que me dieron la vida y han estado conmigo en todo momento, por brindarme todo su apoyo económico, moral y por todos los consejos que me ayudaron a salir adelante con mis estudios, vida y mi carrera profesional. Los amo y amaré siempre. A mi hermano, Mario Alberto Reyes Mojica, que siempre estuvo ahí cuando lo necesite, por su apoyo y ayuda incondicional. Gracias por estar conmigo, te amo. Con amor a mi novia, Jessica Marily Portillo Baires, que me brindó su apoyo en los momentos más difíciles de este proceso y de mi vida, por permitirme estar con ella. Te amo muchísimo. A la Universidad Don Bosco, por permitirme finalizar el proceso a pesar del largo tiempo que nos llevó la conclusión del trabajo. Infinitas gracias. Y a mis amigos, Roberto Sura, José Espinoza, Adís Meléndez y Jairo Rivas, que siempre me animaron a luchar por terminar este proceso, por ayudarme en todo momento y no dejarme solo. Jorge Antonio Reyes Mojica DEDICATORIA A Dios,por permitirme alcanzar esta meta, por darme la fuerza y la sabiduría para lograr este objetivo, que con tanto ahínco había estado pidiendo en oración. A mi Abuelita, Concepción Ramos, quien sé que desde el cielo disfruta este logro, pues con su entrega como una madre y abuela que oraba por mí, inculcándome el temor a Dios, me mostro el rostro de una madre amorosa. A quien siempre recordaré con todo mi corazón. A mis padres, Manuel Antonio Ramos y Delmy Corina de Ramos, que siempre me brindaron su apoyo incondicional y a quienes debo este triunfo profesional, por todo su trabajo y dedicación para darme una formación académica y sobre todo humanista y espiritual. A mis hermanos, Meyber, Paola y Ricardo, para que también continúen superándose y a toda mi familia. A mi novia Mercedes Sigüenza quien con su amor y paciencia me acompañó durante el proceso. A mi mejor amiga Thanya Pinto (La Perry) por su ayuda incondicional y desinteresada, por sus desvelos y apoyo, haciendo propio, con su compromiso, la culminación exitosa de este trabajo. Una mención especial a Dora Elena y Jennifer Alexandra Cerna; que pese a la distancia, me apoyaron en el camino para alcanzar esta meta y a todos mis amigos, amigas y aquellas personas que han sido importantes para mí, durante todo este tiempo. A miamigo y compañero de tesis Jorge Reyes, por compartir esta experiencia y llegar a la culminación de este trabajo y a nuestro asesor de tesis, Ingeniero Raúl Martínez por su confianza y apoyo en nuestra investigación. Manuel Alejandro Ramos CONTENIDO CONTENIDO ........................................................... ··············· ·· ·· ·· ···················· ·· ········· 4 INTRODUCCION ................................................................ ···································· ·· · ·· 7 1 ANTECEDENTES ............... ........... ..... ..... ......................... · · · ·. · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·· · · 9 1.1 ANTECEDENTES HISTÓRICOS ................................................................ 9 2 IMPORTANCIA DE LA INVESTIGACION ........................................................... 12 2.1 DEFINICIÓN DEL TEMA ................................... ......................... ....... ........ 13 2.2 PLANTEAMIENTO DEL PROBLEMA ..................................................... .. 14 2.3 JUSTIFICACIÓN ............... ... ..................................................................... 15 3 OBJETIVOS ........................................................................................................ 17 3.1 OBJETIVO GENERAL. ... ... ... ........................................................... .. ........ 17 3.2 OBJETIVOS ESPECIFICOS ..................................................................... 17 4 ALCANCES ....... ... .. ............... .................... ................. .... ............ .. .......... .... ........ . 18 5 LIMITACIONES .... ... ............................................................................................ 20 6 DELIMITACION ................................................................................................... 21 7 MARCO TEORIC0 ................. .. ............ .. ............................ .............. .. ................. 22 7.1 REFERENCIAS HISTORICAS ....................................................... ........... 22 8 MARCO CONCEPTUAL. ............................................................................... ...... 25 9 MARCO EXPERIMENTAL ................................................................ .................. 30 1 O METODOLOGÍA DE INVESTIGACIÓN Y TÉCNICAS UTILIZADAS ................... 32 10.1 CICLO DE VIDA DEL DESARROLLO DE SISTEMA ...... .......................... 32 10.2 DEFINICIÓN DE UN MODELO DE CICLO DE VIDA .. ...... ..... ................... 32 10.3 MODELO RAD ....................................................................................... ... 34 10.4 ACTIVIDADES QUE SE DESARROLLAN EN NUESTRO SISTEMA .... ... 37 10.5 MÉTODOS DE INVESTIGACIÓN ............................................................. 42 10.5.1 TÉCNICAS DE INVESTIGACIÓN ..... .. ................................................ 42 10.5.2 INSTRUMENTOS DE LA INVESTIGACIÓN ....................................... 43 11 DESARROLLO DE UN CD INTERACTIVO ......................................................... 47 11.1 DISEÑO PROPUESTO DE LA METODOLOGIA A UTILIZAR .................. 47 11.2 DESCRIPCION GENERAL DE LAS ETAPAS ........................................... 49 11.3 DISEÑO EDUCATIV0 ........... ............................................... .. ................... 49 11.3.1 DISEÑO INTERACTIVO .................... .. ............................................... 51 11.3.2 DISEÑO DE PROTOTIPOS .. ............................................ .. .... ......... ... 52 11.3.3 PRODUCCION ..... ................ .. ............................ .... ..... .. .... ................. 52 11.4 FORMATO DE GRÁFICOS .... .. ............ ...... ............................................... 53 11.4.1 FORMATO DE BITMAP ...... ............. .. .. .. .... .. ....................................... 53 11.5 FORMATO DE ARCHIVO DE IMÁGENES ........... ........ .............. .......... .. .. 54 11.6 FORMATO AUDIO DIGITAL ..................................................................... 56 11.6.1 FORMATOWAV ...... ........................ ................................................... 56 11.6.2 FORMATO MIDI ..................................... .. ................ .......................... 56 11.6.3 FORMATO COA .......... ....... ... .... ............... ............... .. ............. ..... ....... 56 11.6.4 FORMATO MP3 .............. .... ... ..... .. ....... .. ........ .. ...................... ............ 57 11. 7 DEFINICIÓN DE MODELO DE ENTIDAD-RELACION .................... ......... 58 11.7.1 DISEÑO DE BASE DE DATOS DEL CD ........... ........... .......... .. .......... 58 12 APLICACIÓN DE LA METODOLOGÍA DE INVESTIGACIÓN PARA LA CREACIÓN DEL CD INTERACTIVO .. .................... ... .... .................. .... .............................................. 60 12.1 CICLO DE VIDA .. ............. .... ......... .. ........... ................. ... ... ..... ... ...... .. ... ..... 60 12.1.1 ANALISIS ................................................................................ ............ 60 12.1.2 DISEÑO .... ........................ ..................... ...... ....................................... 61 12.1.3 CODIFICACIÓN .................................................................................. 61 12.1.4 PRUEBAS .............................................................. .................. ........... 62 12.1.5 MANTENIMIENTO ........................................... .... ... .. .. ...... .................. 62 12.2 CRONOGRAMA DEL CICLO DE VIDA ... .... ............ ........... ........ ...... ......... 63 12.3 APLICACIÓN DEL METO DO RAD ... .... ... .. ... .... .. ... .. ................................. 64 12.3.1 ETAPA DE PLANIFICACIÓN DE LOS REQUISITOS ......... ........ .. ... .. 64 12.3.2 ETAPA DE DISEÑO ... ....... ...... ........... ...... .......................................... 66 12.3.3 ETAPA DE CONSTRUCCIÓN ...................................................... .. .... 66 12.3.4 MODELADO UML DE LAAPLICACIÓN ........................................ ..... 69 13 DESCRIPCION DE LA APLICACIÓN .............. ...... ... .. .. .. ...... ... ........ ................... 73 13.1 DESCRIPCIÓN GENERAL DE LA APLICACIÓN ... ....... ........................... 73 13.2 DESCRIPCIÓN DE ENTIDADES DEL CD INTERACTIVO .... ..... ........... ... 75 14 ANEXOS ...... ................... ................................................. ..... .... ......... ................ . 82 14.1 ANEXO A: ENCUESTA ............................................................................. 82 14.2 ANEXO B: TABULACIÓN DE LAS ENCUESTAS ...................... .. .. ........... 85 14.3 ANEXO C: PLAN DE ESTUDIOS DE BASE DE DATOS 1 ...... .. ................ 91 14.4 ANEXO D: ACTAS DE REUNIÓN DE JPR ........ .. ..................................... 93 14.5 ANEXO E: GLOSARIO .............................................................................. 98 14.6 ANEXO F: CODIGO DE SISTEMA ................... ...................................... 100 14.7 ANEXO G: MANUAL DE USUARIO .................. .. ........ ............................ 106 INTRODUCCION En el presente trabajo de graduación, exponemos el tema: Diseño e implementación de un CD interactivo para la enseñanza de las base de datos, como apoyo a la materia Base de Datos I de la Universidad Don Bosco. El propósito, es mostrar al estudiante de la materia de Base de Datos 1, los conocimientos básicos al diseño y manipulación de Bases de Datos y que sirva de material de apoyo, para complementar los conocimientos adquiridos durante el desarrollo de la materia. El contenido del CD, se presentará a través de módulos o lecciones según el nivel de dificultad que presente cada tema, por medio de apuntes, videos, audio y evaluaciones. Este CD interactivo, es pensado como un producto que va hacia el destinatario, a diferencia de una página Web que necesita que el usuario vaya a su encuentro. Además, se contemplará información relacionada con aspectos generales sobre el diseño, concepción, desarrollo y aplicación de las bases de datos. En este documento, se expondrán temas que van desde la instalación del gestor de base de datos SQL SERVER 2008, hasta cada una de las sentencias básicas que son utilizadas para la obtención y manipulación de datos dentro de una base datos; entre las que podemos mencionar, SELECT, UPDATE y DELETE. Así también, se mostrarán estructuras básicas de SQL, que permiten realizar operaciones más complejas sobre los datos de la base de datos; entre estos están los procedimientos almacenados, disparadores (Triggers) y vistas. El proyecto a realizar, se dividirá en seis capítulos, en los cuales se expondrán cada una de las etapas que se llevarán a cabo para la obtención, análisis y desarrollo de los datos a mostrar como contenido del CD Interactivo. 7 El primer capítulo, tratará sobre la metodología de investigación y técnicas utilizadas para la obtención de datos. Este explicará, los métodos que se llevarán a cabo, para la obtención y análisis de datos recopilados a través de la investigación. El segundo capítulo, hablará sobre cómo desarrollar un CD Interactivo; es decir, las reglas y procedimientos que deben seguirse para el desarrollo del CD. En el tercer capítulo, se explicará, cómo debe diseñarse una base de datos, tomando todos los conceptos básicos que son necesarios para comprender la lógica de manejo de las bases de datos. En el cuarto capítulo, se mostrarán los requerimientos necesarios para la instalación y diseño de base de datos, a través del gestor y administrador de base de datos SQL SERVER 2008. El Quinto capítulo, estudiaremos las sentencias SQL que nos permitirá, recuperar y manipular información que se posea en una base de datos, siempre utilizando SQL SERVER 2008. En el sexto capítulo, se mostrarán algunas sentencias avanzadas de SOL SERVER, esto con el objetivo de ayudar al alumno a ahorrar tiempo y desarrollo de código, al momento de manipular o extraer datos de una base de datos. 8 1 ANTECEDENTES 1.1 ANTECEDENTES HISTÓRICOS Una base de datos, se define como una serie de datos organizados y relacionados entre sí, los cuales son recolectados y explotados por los sistemas de información de una empresa o negocio en particular. Se dice que los sistemas de base datos, tienen sus raíces en el proyecto estadounidense Apolo, de mandar al hombre a la luna, en los años sesenta. En aquella época, no había ningún sistema que permitiera gestionar, la inmensa cantidad de información que requería el proyecto. La primera empresa encargada del proyecto, NAA (North American Aviation), desarrollo un software denominado GUAM (General Update Access Method), que estaba basado en el concepto que, varias piezas pequeñas, se unen para formar una pieza más grande y así sucesivamente, hasta que el producto final está ensamblado. Esta estructura, que tiene la forma de un árbol, es lo que se denomina, una estructura jerárquica. A mediados de los años sesenta, IBM se unió a NAA para desarrollar GUAM, en lo que ahora se conoce como, IMS (lnformation Management System). El motivo por el cual IBM restringió IMS al manejo de jerarquías de registros, fue para permitir el uso de dispositivos de almacenamiento serie, más exactamente, las cintas magnéticas, ya que era un requisito del mercado para aquella época. A mitad de los sesenta, se desarrolló IDS (lntegrated Data Store), de General Electric. Este trabajo fue dirigido por uno de los pioneros en los sistemas de base de datos, Charles Bachmann. IDS era un nuevo tipo de sistema de base de datos conocido como, sistema de red, que produjo un gran efecto sobre los sistemas de información de aquella generación. El sistema de red se desarrolló, en parte, para satisfacer la necesidad de representar relaciones entre datos más complejos, que los que se podían modelar en los sistemas jerárquicos; y además, para imponer un estándar de base de datos. Para ayudar a establecer dicho estándar, CODASYL (Conference on Data Systems Lenguajes), formado por representantes del gobierno de EEUU y representantes del mundo empresarial, formaron un grupo denominado 9 DBTG (Data Base Task Group), cuyo objetivo, era definir unas especificaciones estándar, que permitieran la creación de base de datos y el manejo de los datos. El DBTG presentó su informe final en 1971 y aunque éste no fue formalmente aceptado por ANSI (American National Standards lnstitute), muchos sistemas se desarrollaron siguiendo la propuesta del DBTG. Estos sistemas, son los que se conocen como sistemas de red o sistemas CODASYL o DBTG. En 1970 Ted Codd, de los laboratorios de investigación de IBM, escribió un artículo presentando el modelo relacional. A raíz de este artículo, aparecieron los primeros sistemas relacionales a finales de los años sesenta y principios de los ochenta, como DB2 y SQL/DS de IBM, y ORACLE de ORACLE Corporation. Los sistemas SGBD relacionales, existen para microordenadores y para sistemas multiusuarios. Entre los sistemas multiusuario relacionales se encuentran: los sistemas INGRES, de Computer Associates; lnformix, de lnformix Software lnc.; y Sybase, de Sybase lnc. Entre los sistemas para microordenadores se tienen: Paradox y dBase IV, de Borland; Access, de Microsoft y FoxPro. En 1976, Peter Chen presentó et modelo Entidad Relación, que es la técnica más utilizada en el diseño de base de datos. En 1979, Ted Codd intentó subsanar algunas de tas deficiencias de su modelo relacional, con una versión extendida denominada: RMrr (1979) y luego con la versión RMN2 (1990). Los intentos de proporcionar un modelo de datos que represente el mundo real de un modo más fiel, han dado lugar a los modelos semánticos. Como respuesta a la creciente complejidad de las aplicaciones que requieren base de datos, han surgido dos nuevos modelos: el modelo de datos orientado a objetos y el modelo relacional extendido. Como se ha podido mencionar anteriormente, las bases de datos forman una parte muy importante para el desarrollo de cualquier sistema informático, por lo cual, existen muchos manuales que nos ayudan a entender el funcionamiento y lógica de las mismas, aunque no existe en sí, ningún proyecto sobre la realización de un disco JO interactivo que permita a todo usuario, acceder a él sin tener acceso a Internet. Debido a esto, es que se ha tomado la decisión de realizar un CD interactivo que permita en este caso, a los estudiantes de la materia de Base de Datos 1, comprender todos los conocimientos necesarios sobre las bases de datos, sus orígenes, su estructura y forma de programación básica, de tal manera, que puedan dirigir estos conocimientos, hacia el desarrollo de aplicaciones basadas en bases de datos. 11 2 IMPORTANCIA DE LA INVESTIGACION Con el proyecto "Diseño e implementación de un CD interactivo para la enseñanza de las bases de datos, como apoyo a la materia de base de datos 1 de la Universidad Don Bosco", se pretende ayudar a los estudiantes que cursan la materia de Base de Datos 1, a que obtengan los conocimientos básicos necesarios para el entendimiento de las bases de datos, así también, pueda ser un material de apoyo que les ayude a reforzar y practicar los conocimientos que en las clases adquieran. Con el CD interactivo, se pretende facilitar a los estudiantes de la materia de Base de Datos 1, el acceso a la información acerca de las Bases de Datos, ya que generalmente, se tiene que recurrir al internet para poder obtenerla. El CD interactivo, surge como una alternativa ante el hecho que, muchos estudiantes no poseen los recursos o facilidades necesarias para el acceso a internet. Ante dicha situación, el CD interactivo les prestaría los recursos necesarios para poder aclarar sus dudas, o poder realizar las prácticas necesarias para complementar sus estudios, y así no tener que recurrir en gastos mayores para la obtención de la información deseada. En síntesis, con este proyecto, se pretende brindar al estudiante de la materia de Base de Datos 1, la oportunidad de contar con una alternativa más cercana, comprensible y fiable, para la obtención de información relacionada con las bases de datos y su aplicación a los sistemas informáticos. 12 2.1 DEFINICIÓN DEL TEMA El proyecto "Diseño e implementación de un CD interactivo para la enseñanza de las bases de datos, como apoyo a la materia de base de datos I de la Universidad Don Sosco", desarrollará temas relacionados con el plan de trabajo de la materia Base de Datos 1, partiendo desde los conceptos básicos, considerando el refuerzo teórico, práctico y profundizando en temas con un nivel de complejidad mayor, dependiendo del progreso del alumno. De esta manera, el CD será una herramienta de apoyo y un tutor personalizado, que se adaptará al ritmo de aprendizaje del alumno, facilitando la comprensión y afirmando conocimientos a través de la técnica de repetición; pues se requerirá la aprobación de un test para avanzar a la siguiente lección. Las evaluaciones o test que se incluirán en el CD, permitirán al alumno conocer cuál es su nivel de avance y los puntos que necesita reforzar, para el dominio de las Bases de Datos. Es así, como se propone la creación de una herramienta, de fácil acceso y manejo, disponible para todos los estudiantes que cursarán esta materia y que deseen aprender sobre la manipulación de las Bases de Datos. 13 2.2 PLANTEAMIENTO DEL PROBLEMA En la actualidad, los CD's interactivos poseen un gran auge debido a la facilidad de aprendizaje que prestan, por tal motivo, podemos encontrar una gran variedad de estos en diferentes áreas, por ejemplo; en aprendizajes de idiomas y cursos de cocina; pero en cursos especializados como Base de Datos no existen y si los hubiesen, estos presentan muy poca información, ya que engloban información muy básica y con poco grado de profundidad. Ante este acontecimiento, surge la problemática que el estudiante de la materia de Base de Datos 1, cuenta con poco material de apoyo, ya que observando a estudiantes que cursan esta materia, estos siempre recurren a una sola fuente de información, el internet y en muy pocas ocasiones recurren a material didáctico. Por tal motivo, se presenta la necesidad de brindarle al alumnado de esta materia, una fuente de información alternativa, que le permita obtenerla de manera fácil, comprensible, profunda y práctica. A la anterior problemática, se le debe sumar, el hecho que en la materia de base de datos 1, se encuentran alumnos que no forman parte de la escuela de computación. Estos generalmente, no poseen conocimiento alguno de las bases de datos, con lo que se agrava la situación, ya que para un estudiante que no posee conocimientos básicos y no posee una diversidad de fuentes de información que le ayuden a comprender el contenido de la cátedra, se le dificulta grandemente el desarrollo y desenvolvimiento dentro de la asignatura, y es mayor motivo, por el cual un estudiante puede mostrar desinterés por el aprendizaje de la materia. Por todo lo manifestado anteriormente, se presenta como una alternativa viable y confiable, la creación de un CD interactivo que permita al estudiante interactuar de manera directa, con los contenidos que en la materia de Base de Datos I se imparten. Esto se logrará a través de videos, prácticas y evaluaciones que se realizarán en cada capítulo del presente proyecto. 14 2.3 JUSTIFICACIÓN Los motivos por los cuales se desarrollará este proyecto, son los siguientes: 1. El alumno de base de datos 1, cuenta con pocas fuentes de información que le brinden datos con cierto grado de profundidad o complejidad, ya que la mayoría de estos, ofrecen información de manera básica y sencilla, limitándose a contenidos que generalmente son repetitivos. 2. Ayudar a los alumnos que no son parte de la Escuela de Computación y poseen poco conocimiento sobre el ámbito informático, a que tengan una guía interactiva, que les permita captar con mucha más eficacia y rapidez, los conocimientos sobre las base de datos. 3. Evaluar al estudiante de Base de Datos 1, para medir el nivel de comprensión que está obteniendo de los contenidos del CD interactivo. Estas evaluaciones serán de forma aleatoria, asegurándose así, que las evaluaciones no sean repetitivas. 4. Las evaluaciones a realizar por parte del estudiante de Base de Datos 1, se harán al finalizar cada uno de los contenidos que en el CD interactivo se presenten, de tal manera que el estudiante no podrá pasar al siguiente contenido, sin haber logrado superar el contenido anterior. Entre los beneficios que se obtendrán con este proyecto se encuentran: 1. Brindar material interactivo a los estudiantes, para que observen detenidamente, como se realizan algunas configuraciones que las bases de datos necesitan para su funcionamiento, así también, como se realizan ciertos procesos que son útiles para la manipulación de datos. 15 2. Ser una fuente de información viable, confiable y precisa, que pueda permitirle al estudiante, poseer una alternativa distinta y mucho más práctica ante los recursos que actualmente existen. 3. Que el proyecto sirva como una guía de estudio para el alumno, de tal forma, que adquiera los conocimientos relacionados a las bases de datos de forma secuencial, es decir, que vaya en sintonía con el transcurrir de la clase expositiva e incluso práctica de la materia. 16 3 OBJETIVOS 3.1 OBJETIVO GENERAL • Diseñar un CD con entorno interactivo, que sirva de guía y apoyo académico al estudiante, para la compresión y el análisis del contenido de la materia de Base de Datos 1, a través de videos, apuntes, ejercicios y evaluaciones. 3.2 OBJETIVOS ESPECIFICOS • Analizar el desarrollo y etapas de la aplicación informática a desarrollar, basándonos en el método RAD (Desarrollo Rápido de Aplicaciones), el cual por sus características, nos permitirá desarrollarlo de manera rápida utilizando herramientas CASE y creando prototipos del mismo. • Proporcionar al alumno información escalable, de básica a compleja, acerca de la creación, manipulación y mantenimiento de una base datos, a través de ejemplos prácticos y teóricos. • Poner a disposición del alumno bases de datos, "demos" previamente creadas, con el objetivo de manipularlas, de acuerdo a los requerimientos de cada tema estudiado en clases y la opción de, cargarlas nuevamente en su formato original, para practicar las veces que sean necesarias. • Evaluar los conocimientos adquiridos, a través de pruebas teóricas y prácticas al final de cada lección, con el objetivo, de medir el rendimiento y comprensión de los contenidos, que el alumno ha alcanzado. 17 4 ALCANCES Los elementos que serán tratados en el proyecto propuesto, son los siguientes: 1. La teoría que se incluirá en el CD interactivo, será presentada a través de apuntes en formato de sólo lectura, organizado de acuerdo al nivel de avance que obtenga el alumno. Entre algunos de los contenidos considerados a desarrollar dentro del CD, podemos mencionar: 1.1 . Modelado de datos: Se centra en aspectos lógicos de las bases de datos y sobre los conceptos, herramientas y técnicas para el diseño de las mismas. 1.2. Modelo Entidad Relación: Herramienta para el modelado de datos de un sistema de información. 1.3. Normalización: Consiste, en aplicar una serie de reglas a las relaciones obtenidas, tras el paso del modelo entidad relación, al modelo relacional. 2. En relación al contenido práctico del CD, se ha considerado presentar videos que muestren ejemplos; desde la redacción de una sentencia y el resultado de su ejecución; hasta la creación y manipulación de una Base de Datos. A continuación, se mencionan algunos contenidos que se tomarán en cuenta, dentro del desarrollo de los videos: 2.1 . Lenguaje SQL: Lenguaje declarativo de acceso a bases de datos relacionales, que permite especificar diversos tipos de operaciones en estas. 2.2. Instrucciones SELECT, INSERT, UPDATE y DELETE: Instrucciones para la selección, inserción, actualización y eliminación de datos, dentro de una base de datos. 2.3. Vistas: Consultas almacenadas que devuelven un conjunto de datos provenientes de la unión de dos o más tablas. 18 2.4. Procedimientos almacenados: Programa de una base de datos, que ejecuta una acción o conjunto de acciones especificas. 2.5. Disparadores (Triggers): Son funciones que se ejecutan, cuando se producen ciertas operaciones en las bases de datos, como lo son INSERT, UPDATE o DELETE. 3. Las fuentes del contenido del CD interactivo, se tomarán de las siguientes referencias: 3.1. Las librerías que posee el gestor y administrador de Base de Datos SQL SERVER 2008. 3.2. Los artículos que son presentados en el sitio de desarrolladores Microsoft Coporation, MSDN. 3.3. Del programa, Desarrollador Cinco Estrellas de Microsoft Corporation. 4. Finalmente, el CD incluirá evaluaciones al término de cada tema desarrollado, tomando en consideración la teoría y la práctica y siendo requerido la aprobación de las pruebas, para avanzar al siguiente nivel. Además, una vez cubierto todo el contenido del CD, se incluirá una evaluación jerárquica, con la opción de decidir la intensidad del test (básico, intermedio y avanzado), que medirá el nivel de aprendizaje del alumno, tomando en cuenta todo el material desarrollado. Cabe mencionar, que estos contenidos han sido seleccionados a partir del plan de estudio de la materia de Base de Datos 1, la cual abarca los conocimientos básicos y hasta cierto punto conocimientos complejos, que son necesarios para el desarrollo y buen funcionamiento de una Base de Datos. 19 5 LIMITACIONES • El CD interactivo, será creado únicamente para un centro educativo de nivel superior, como lo es la Universidad Don Bosco, más específicamente, este CD, podrá ser utilizado por el estudiante de la materia de Base de Datos 1, o cualquier otra persona que no posea los conocimientos básicos, para la creación e implementación de una Base de Datos, siempre y cuando forme parte del centro educativo antes mencionado. • La elaboración del CD interactivo estará enmarcado en el programa de Base de Datos 1, desarrollando el contenido de esta asignatura en la aplicación. • El CD interactivo no podrá ser descargado de internet, ya que esta aplicación será distribuida únicamente a través de dispositivos físicos como CD's o DVD's. • Tanto el CD interactivo, como el presente documento mencionarán y abordarán temas que pueden estar relacionados con otros gestores y administradores de Base de Datos; pero se aclara que, este será realizado únicamente en base al sistema y gestor de Base de Datos SQL SERVER 2008. 20 6 DELIMITACION • El desarrollo práctico e interactivo de este proyecto, se basará únicamente en el sistema de gestión y administración de base de datos SQL SERVER 2008. • El análisis de datos que se requiera realizar en el transcurso del desarrollo del proyecto, se efectuará con los alumnos que pertenezcan a la clase de base de datos 1, o en su defecto con los catedráticos relacionados a dicha materia. • El CD interactivo, contendrá únicamente material multimedia como: audio y video, así como también, material escrito relacionado a la materia de Base de Datos 1, los cuales permitirán explicar ciertos puntos relacionados a las bases de datos. • El CD interactivo será desarrollado sobre la plataforma .NET, específicamente sobre ASP .NET. 21 7 MARCO TEORICO 7.1 REFERENCIAS HISTORICAS El uso de sistemas de base de datos automatizados, se desarrolló, a partir de la necesidad de almacenar grandes cantidades de datos para su posterior consulta, todo esto producido por las nuevas industrias que creaban grandes volúmenes de datos. El tratamiento y procesamiento automatizado de datos, nace a partir de la aportación que realiza Herman Hollerit (1860-1929), con el perfeccionamiento de la tarjeta perforada. Precursor en IBM. Hollerit, trabajó en la oficina del censo de EEUU, mientras se elaboraba el censo de 1880. Por aquella época, elaborar el censo tardaba entre ocho y diez años. Hollerit diseñó un sistema de tarjetas perforadas para éste fin, junto con una máquina capaz de leerlas. El resultado fue, que el censo de 1890, se realizara en tan solo tres años y con una importante reducción de costos. 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. En la década de 1950, surgen las cintas magnéticas, las cuales se utilizaron para suplir las necesidades de información de las nuevas industrias. Estas consistían en leer una cinta o más y pasar los datos de una cinta a otra, así también pasar información de las tarjetas perforadas, a las cintas magnéticas. Este sistema, simulaba ser un sistema basado en respaldos (backup), que consistía en hacer una copia de seguridad o copia de respaldo, para guardar en un medio extraíble la información deseada. La nueva cinta a la que se transfería la información, pasaba a ser una cinta maestra. Estas cintas, solo podían ser leídas en forma secuencial y ordenada. 22 En la década de 1960, el uso de los discos tuvo un gran impacto, ya que por medio de este dispositivo se podía acceder a la información de manera directa y sin saber exactamente, en qué lugar se encontraban los datos dentro del disco, con lo cual se supera la etapa en la que los datos debían ser leídos de manera secuencial. Los discos dieron origen a las base de datos, tanto de red como jerárquicas, lo que les posibilitó, a los programadores manipular estructuras de datos, tales como las listas y árboles. En la década de 1970, Edgar Frank Codd (1923-2003), publica el artículo "A Relational Model of Data for Large Shared Data Banks", en el cual, explica el modelo relacional para la gestión de una base de datos. Este modelo, se basa en la lógica de predicado y en la teoría de conjuntos. La idea fundamental de este modelo relacional, es el uso de relaciones. Estas relaciones, podrían considerarse en forma lógica, como conjuntos de datos llamadas tuplas, pensando así, en que cada relación es una tabla, la cual está compuesta por registros y columnas. A partir de los aportes de Frank Codd, se desarrolló el sistema de administración y gestión de bases de datos llamada ORACLE, el cual se destacó por su estabilidad, escalabilidad, y multiplataforma. En la década de 1980, las bases de datos relacionales con su sistema de tablas, filas y columnas, pudieron competir con las bases de datos de tipo jerárquica y de red, ya que su nivel de programación era práctico y fácil de comprender. En la década de los 90, aparecen las bases de datos orientadas a objetos, las cuales son, bases de datos que almacenan todos los comportamientos y estados de los objetos de la misma; así también, estas incorporan todos los paradigmas de la programación orientada a objetos, como lo son el encapsulamiento, la herencia y el polimorfismo. 23 A raíz de la creación de las bases de datos orientadas a objetos, nace un lenguaje de programación llamado SQL, el cual es un lenguaje utilizado para realizar consultas u operaciones sobre una bases de datos orientada a objetos. El programa de alto nivel SQL, es un lenguaje de consulta estructurado, que analiza grandes cantidades de información y permite especificar diversos tipos de operaciones frente a la misma información; a diferencia de las base de datos de los 80's, las cuales eran diseñadas para las aplicaciones de procesamiento de transacciones. 24 8 MARCO CONCEPTUAL Para la comprensión de los temas que se tratarán en el proyecto propuesto, se presentan a continuación, una serie de conceptos generales relacionados con las bases de datos. Bases de Datos Se define como, un conjunto de información relacionada, que se encuentra agrupada o estructurada. Desde un punto de vista informático, la base de datos, son un sistema formado por un conjunto de datos almacenados en discos, que permiten el acceso directo a ellos y un conjunto de programas, que manipulen ese conjunto de datos. Características de las bases de datos Una base de datos, contiene entidades de información que están relacionadas vía organización y asociación. La arquitectura lógica de una base de datos, se define mediante un esquema, que representa las definiciones de las relaciones entre las entidades de información. La arquitectura física de una base de datos, depende de la configuración del hardware residente. Sin embargo, tanto el esquema lógico, como físico, deben adecuarse para satisfacer los requerimientos funcionales y de comportamiento para el acceso al análisis y creación de informes. Ventajas en el uso de las bases de datos La utilización de base de datos, como plataforma para el desarrollo de sistemas de aplicación en las organizaciones, se ha incrementado notablemente en los últimos años y esto, debido a las ventajas que ofrece su utilización, entre las que podemos mencionar: 1. Globalización de la información: Permite a los diferentes usuarios, considerar la información como un recurso corporativo, que carece de dueños específicos. 25 2. Eliminación de información inconsistente: Si existen dos o más archivos con la misma información, los cambios que se hagan a éstos, deberán hacerse a todas las copias del archivo. 3. Permite mantener la integridad en la información: La integridad de la información, es una de sus cualidades altamente deseable y tiene por objetivo, que solo se almacena la información correcta. 4. Independencia de datos: El concepto de independencia de datos, es quizá, el que más ha ayudado, a la rápida proliferación del desarrollo de Sistemas de Bases de Datos. La independencia de datos, implica un divorcio entre programas y datos. 5. Permite compartir información. Sistema manejador de base de datos (DBMS1) Es un conjunto de programas, que se encargan de manejar la creación y todos los accesos a la base de datos. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. Una de las ventajas del DBMS, es que puede ser invocado desde programas de aplicación, que pertenecen a sistemas transaccionales escritos en algún lenguaje de alto nivel, para la creación o actualización de las bases de datos, o bien para efectos de consulta a través de lenguajes propios, que tienen las bases de datos o lenguajes de cuarta generación. 1 Data Base Management System 26 Modelo jerárquico de datos Una clase de modelo lógico de base de datos, que tiene una estructura absorbente. Un registro, se subdivide en segmentos que se interconectan en relaciones padre e hijo y muchos más. Los primeros sistemas administradores de bases de datos, eran jerárquicos. Los datos pueden ser representados por dos tipos de relaciones, de uno a uno y de uno a muchos. Modelo de datos en red Una base de datos en red, está formada por una colección de registros, los cuales están conectados entre sí, por medio de enlaces. El registro, es similar a una entidad como a las empleadas en el modelo entidad-relación. Un registro, es una colección de campos (atributos), cada uno de los cuales, contiene solamente almacenado un valor, el enlace, es la asociación entre dos registros exclusivamente, así que podemos verla como una relación estrictamente binaria Modelo relacional de datos El modelo relacional para la gestión de una base de datos, es un modelo de datos basado en la lógica de predicado y en la teoría de conjuntos. Su idea fundamental es el uso de relaciones. Estas relaciones, podrían considerarse en forma lógica , como conjuntos de datos llamados tuplas. Pese a que ésta, es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de comprender, esto es, pensando en que cada relación, es como si fuese una tabla que está compuesta por registros (cada fila de la tabla sería un registro o tupla) y columnas (también llamadas campos). 27 Ambiente de desarrollo El proyecto que se propone en este documento, se desarrollará en base al sistema de gestión y administración de base de datos SQL SERVER 2008, por lo cual, nos fijamos y exploramos el ambiente que éste maneja, ante la información almacenada en él. Microsoft SQL SERVER 2008, es una plataforma de datos de confianza, productiva e inteligente para las aplicaciones de misión crítica más exigentes, que reduce el tiempo y el coste de desarrollo y gestión de las aplicaciones y constituye una herramienta de apoyo, a la decisión de cualquier empresa, no importando su acción. Algunas de las características que presenta SQL SERVER 2008 son: • Cifrado de datos transparente: Permite el cifrado completo de toda la base de datos, de los archivos de dato o de log, sin necesidad de modificar las aplicaciones. • Adición de CPU en caliente: La base de datos, escala dinámicamente bajo demanda, permitiendo añadir nuevos recursos de CPU a SQL SERVER, en plataformas de hardware que lo permiten, sin necesidad de detener el sistema ni las aplicaciones. • Respuesta predecible a las consultas: La posibilidad de bloquear los planes de ejecución de "queries", mejora el rendimiento, la estabilidad y la previsibilidad de las consultas de manera que, se pueden aplicar planes de ejecución estables en caso de sustitución de hardware, actualización de versiones o despliegues de entornos en producción. • Proceso de instalación: SQL SERVER, presenta mejoras importantes en el ciclo de vida de servicio de SQL SERVER, con un rediseño de los procesos de instalación y la arquitectura de configuración. Estas mejora, independizan la 28 instalación del código físico sobre el hardware, con respecto a la configuración del software de SQL SERVER, para que las configuraciones puedan aplicar diferentes configuraciones de instalación. • Desarrollo de aplicaciones más sencillo con LINQ (Language lntegrated Query): Los desarrolladores de aplicaciones, pueden lanzar consultas contra datos, utilizando un lenguaje de programación gestionado como: C# o VB .NET en lugar de sentencias SQL. SQL SERVER 2008, opera directamente con consultas potentes, orientadas a conjuntos de datos escritas en lenguajes .NET, que se ejecutan contra ADO .NET, Database ADO .NET y contra el proveedor Entity Data Service Mapping. 29 9 MARCO EXPERIMENTAL Existen proyectos en el ámbito de las bases de datos, que se asemejan en cierta parte al proyecto propuesto en este documento. Uno de los importantes proyectos realizados en este ámbito, son los Webcast desarrollados por Microsoft, para apoyo a todos aquellos desarrolladores, que desean explorar y aprender sobre las herramientas que esta empresa ofrece. Estos Webcast, constan de material interactivo, más específicamente, son videos que muestran como realizar ciertas operaciones específicas sobre una herramienta de programación. Por ejemplo, un Webcast, puede mostrar como configurar un servidor SQL Server 2008. Cabe recalcar, que proyectos meramente interactivos que muestren, tanto la teoría como la práctica, el desarrollo de aplicaciones informáticas de manera secuencial, no existen, ya que siempre se encuentra material de esta índole; pero no de manera organizada y sistematizada. Por lo cual, el proyecto que se propone, posee un carácter innovador y de ayuda para los estudiantes de base de datos l. 30 CAPITULO 1 METODOLOGIA DE INVESTIGACION Y TECNICAS UTILIZADAS 10 METODOLOGÍA DE INVESTIGACIÓN Y TÉCNICAS UTILIZADAS 10.1 CICLO DE VIDA DEL DESARROLLO DE SISTEMA Todos los proyectos, se dividen en etapas para facilitar su gestión y control. Como tales, suelen tener cierto grado de incertidumbre, debido a que requieren la ejecución de tareas y actividades no realizadas con anterioridad. Este conjunto de etapas, que componen un proyecto desde que se inicia hasta que concluye, se llama Ciclo de Vida del Proyecto. 10.2 DEFINICIÓN DE UN MODELO DE CICLO DE VIDA Iniciaremos, por definir a la fase como: toda aquella parte de un proyecto, que conduce a un entregable, sea este un documento, esquema o prototipo y que viene a ser el insumo necesario para la fase subsiguiente. Es preciso diferenciar, las fases del ciclo de vida de un proyecto2, con lo visto como grupos de procesos de gestión de proyectos. En informática, entendemos este ciclo, desde la concepción de la idea o necesidad que lleva a diseñar un software, pasando por su análisis, desarrollo, implementación y mantenimiento; hasta que finalmente, por obsolescencia, es sustituido por otro. Alguna forma de transferencia técnica3, es la que define la transición de una fase a otra, dentro del ciclo de vida de un proyecto; generalmente, los productos entregables de una fase, se revisan para verificar si están completos, si son exactos y se aprueban antes de iniciar el trabajo de la siguiente fase. 2 Gestión de Proyectos Informáticos; Roberto Jijena l. 3 Gestión de Proyectos Informáticos; Roberto Jijena l. 32 No obstante, no es inusual que una fase comience, antes de la aprobación de los productos entregables de la fase previa, cuando los riesgos involucrados se consideran aceptables. Esta práctica de superponer fases, que normalmente se realizan de forma secuencial, es un ejemplo de la aplicación de la técnica de compresión del cronograma denominada, ejecución rápida.4 No existe una única manera que sea mejor, para definir el ciclo de vida de un proyecto. Algunas organizaciones, han establecido políticas que estandarizan todos los proyectos con un ciclo de vida único; mientras que otras, permiten al equipo de dirección de proyecto, elegir el ciclo de vida más apropiado para el proyecto del equipo. Entradas Idea Salidas ele la Acta drreccrón de proyectos Equipo ele dirección del proyecto Enunciado del Alcance INTERMEDIA Plan Linea Base Ace¡)tadón AprOlJación Avance Entrega Producto entregabfe del proyecto Producto Fig. 10.2.1: Fases típicas en un ciclo de vida del proyecto5 4 Gestión de Proyectos Informáticos; Roberto Jijena I. 5 Gestión de Proyectos Informáticos; Roberto Jijena l. Pag. 23 33 10.3 MODELO RAD Definido por James Martin a principios de la década de 1980, consiste en un ciclo de desarrollo corto basado en tres fases; Requisitos, Diseño y Construcción; ésta metodología propone un proceso de desarrollo de "software", que permite que se creen sistemas de computadoras utilizables, en un periodo de tiempo ideal de 90 a 120 días como máximo. RAD, es un ciclo de desarrollo diseñado para crear aplicaciones de computadoras de alta calidad.6 El desarrollo de aplicaciones enfrenta una transformación fundamental. Hace cinco años, un proyecto para desarrollar una aplicación, tomaba un periodo de entre 18 a 24 meses; actualmente, con la práctica del modelo RAD, toma entre 1 a 3 meses. REQUISIT ()~ 30, 60, 90 ó 120 DIAS MAXIMO CONSTRUCCION DISEÑO PARALELIZACI SERIALIZACION CONSTRUCCION DISEÑO Fig. JO. 3.1: Esquema gráfico del modelo RAD7 El Desarrollo Rápido de Aplicaciones (Rapid Application Development, RAD), es un modelo de proceso del desarrollo del software lineal secuencial, que enfatiza un ciclo de desarrollo extremadamente corto; convirtiéndose en una adaptación a "Alta 6 www. rapidapplicationdevelopment. htm 7 Método RAD, elementos fundamentales, Jean-Pierre Vickoff. Pag. 1 O. 34 velocidad", en el que se logra el desarrollo rápido, utilizando un enfoque de construcción basado en componentes. Si se comprenden bien los requisitos y se limita el ámbito del proyecto, el proceso RAD permite al equipo de desarrollo, crear un "sistema completamente funcional" dentro de periodos cortos de tiempo. Al reducir el tiempo del ciclo de vida; RAD acelera su ejecución, desarrollando en primera instancia, una versión prototipo y después integra la funcionalidad de forma iterativa, satisfaciendo los requisitos del cliente y controlando todo el ciclo de desarrollo. El término "rápido", es una referencia a la capacidad de adaptarse a cambios de contexto y de especificaciones que ocurren durante el proceso de desarrollo. Se sostiene que, con la ayuda de los métodos rápidos, el cliente tiene control total de su proyecto y logra una rápida implementación del software. De esta forma, se permite al usuario involucrarse desde el inicio del proyecto. Entre las características principales del Modelo RAD tenemos: • Bajos costos RAD por lo general, resulta en costos más bajos. Esto se debe, a que se forman pequeños equipos de profesionales, quienes utilizan herramientas de alta capacidad, para generar los sistemas. Estas herramientas, conocidas como ""CASE""8 (Computer-Aided Systems Engineering), permiten que se acelere el proceso, ayudando a que los costos aún sean más bajos. El método RAD, utiliza estas herramientas computarizadas y talento humano, para cumplir con las metas requeridas rápida y efectivamente. Las herramientas integradas "CASE", proveen componentes de análisis y diseño (diagramas de flujo de datos, diagramas entidad-relación, esquemas de bases de 8 Método RAD, elementos fundamentales, Jean-Pierre Vickoff 35 datos, diseños de pantallas, estructuras de programas, algoritmos, etc.), para que la planificación, análisis e itinerarios se creen gráficamente. Los analistas de sistemas, interactúan con estas herramientas por medio de diagramas. El propósito de las herramientas "CASE", es acelerar el proceso de diseño y a su vez disminuir los costos de desarrollo, sin sacrificar la calidad del producto. • Calidad La calidad de un sistema se mide en términos de, hasta qué punto cumple con los requisitos de la compañía y sus usuarios al momento que se implementa. El uso de herramientas "CASE", tiene el propósito de integrar diagramas para representar la información y crear modelos del sistema. Se crean diseños y estructuras bien detalladas. Cuando es apropiado, los diagramas ayudan a visualizar los conceptos. Estas herramientas computarizadas refuerzan la exactitud de los diagramas. Las herramientas "CASE", junto con generadores de códigos y otros instrumentos para crear prototipos, proveen un medio para asegurar la calidad del producto cuando se emplean, utilizando la metodología adecuada. Un término apropiado para definir la calidad de una aplicación desarrollada con el modelo RAD, es satisfacer los requisitos de los usuarios, lo más eficazmente posible al momento que el sistema se implementa. Mientras menos tiempo transcurre en el desarrollo del sistema, menos habrán cambiado las necesidades de los usuarios. En compañías donde se ha utilizado el método tradicional de diseño de aplicaciones, al momento de instalar el sistema, ha pasado tanto tiempo, que las funciones definidas por los usuarios al comienzo del desarrollo, han cambiado. Esto significa, volver a emplear tiempo y recursos humanos en modificar esos cambios, lo que resulta en una pobre calidad del producto. Para que el modelo RAD, proporcione los resultados esperados, se requiere: • De recursos humanos suficientes, para crear el número correcto de equipos. • Que el cliente y el desarrollador, se comprometan en las actividades necesarias para completar un sistema en un tiempo corto. 36 10.4 ACTIVIDADES QUE SE DESARROLLAN EN NUESTRO SISTEMA En este apartado, se explica de forma general, cual es el enfoque del modelo RAD; en qué consiste el método, sus fases y modelados y en los capítulos 3 y 4, se expone la manera en la que se aplicó en el desarrollo de nuestro sistema. Fases y modelados del método RAD: ~ Modelado de gestión: el flujo de información entre las funciones de gestión, se modela de forma que responda a las siguientes preguntas: • ¿Qué información conduce el proceso de gestión? • ¿ Qué información se genera? • ¿Quién la genera? • ¿A dónde va la información? • ¿Quién procesó la información? ~ Modelado de datos: El flujo de información definido, como parte de la fase de modelado de gestión, se refina como un conjunto de objetos de datos necesarios para apoyar la empresa. Se definen las características (llamadas atributos), de cada uno de los objetos y las relaciones entre estos objetos. ~ Modelado de proceso: Los objetos de datos definidos en la fase de modelado de datos, quedan transformados para lograr el flujo de información necesario para implementar una función de gestión. Las descripciones del proceso, se crean para añadir, modificar, suprimir, o recuperar, un objeto de datos. Es la comunicación entre los objetos. 37 ~ Generación de aplicaciones: El RAD, asume la utilización de técnicas de cuarta generación. En lugar de crear software con lenguajes de programación de tercera generación, el proceso RAD, trabaja para volver a utilizar componentes de programas ya existentes (cuando es posible), o a crear componentes reutilizables (cuando sea necesario). En todos los casos, se utilizan herramientas automáticas para facilitar la construcción del software. ~ Pruebas de entrega: Como el proceso RAD enfatiza la reutilización, ya se han comprobado muchos de los componentes de los programas. Esto reduce tiempo de pruebas. Sin embargo, se deben probar todos los componentes nuevos y se deben ejercitar todas las interfaces a fondo. RAD enfatiza el desarrollo de componentes de programas reutilizables. La reutilización, es la piedra angular de las tecnologías de objetos y se encuentra en el modelo de proceso de ensamblaje. 38 de 60 a (;)() días ____ __..,..._ Fig. 10.4.1: Esquema de la relación de cada fase del RAD Etapas del modelo RAD ~ Etapa de planificación de los requisitos Se iniciará, con el análisis del plan de trabajo de la asignatura de Base de Datos 1, el portafolio académico de la materia, entrevistas con el catedrático y alumnos que cursaron y cursarán la materia, con el objetivo de presentar un modelo que sugiera las funciones del sistema. Luego se aplicará la modalidad de taller, llamado Junta de Planificación de Requisitos (JPR por sus siglas en inglés); mediante la creación de equipos que involucran, alumnos y catedráticos, quienes discutirán las necesidades cubiertas con 39 el modelo inicial y brindarán las sugerencias de ajustes del sistema y nuevos requerimientos para el sistema. La JPR, (Junta de Planificación de Requisitos), documentará todos los acuerdos a los que se llegó en los talleres, los cuales se ejecutarán en las fases de Modelado de Gestión y Datos, dando como resultado, esquemas o modelos que simularán las posibles respuestas y soluciones, atendiendo a los requerimientos propuestos. ~ Etapa de diseño En esta etapa, se analizarán las actividades que se realizan al momento de impartir la cátedra de Base de Datos l. Los alumnos y catedráticos participarán en talleres en los que se analizarán funciones y definirán entidades asociadas con el sistema. Una vez se complete el análisis, se crearán los diagramas que definirán las alteraciones entre los procesos y la data, a través de un modelo de procesos, que permitirá visualizar los posibles resultados que se obtendrán, al aplicarlos dentro del sistema. Al finalizar el análisis, se trazará el diseño del sistema y se desarrollarán los procedimientos y los esquemas de pantallas. Asimismo, se construirán los prototipos de procedimientos críticos y se elaborará el plan para implementar el sistema. ~ Etapa de Construcción En esta etapa, se trabajará en el diseño y la construcción del sistema, muy de cerca con los usuarios, los alumnos y catedráticos. La construcción de la aplicación consistirá, en una serie de pasos donde los usuarios tendrán la oportunidad de afirmar los requisitos y repasar los resultados. Las pruebas al sistema se llevarán a cabo durante esta etapa. También se creará la documentación y las instrucciones necesarias, para manejar la nueva aplicación, rutinas y procedimientos para operar el sistema. 40 En esta etapa, se ejecuta la fase de Generación de Aplicación y la fase de pruebas y volumen, en la que se presentarán las versiones del sistema, para que los usuarios interactúen con ella y proporcionen la retroalimentación necesaria, para realizar ajustes a cada versión presentada. Se trabajará con prototipos, que serán utilizados por los usuarios como pruebas y se documentarán todos los cambios, errores y logros que alcance cada propuesta, con el objetivo de ajustarlas a los requerimientos reales de los usuarios. ;¡;;.. Etapa de Implementación Esta es la etapa final del proyecto, que envuelve la implementación del nuevo producto. Se realizarán pruebas comprensivas y se capacitarán a los usuarios para el uso adecuado de la herramienta. Asimismo, se realizará el levantamiento de los documentos de respaldo, tales como: manual de usuario, de sistema y de programador, como valor agregado a los usuarios; que servirán como referencia del sistema. 41 10.5 MÉTODOS DE INVESTIGACIÓN 10.5.1 TÉCNICAS DE INVESTIGACIÓN Entrevistas Se realizará una entrevista con el catedrático de la materia de Base de Datos 1, para conocer el plan de trabajo de la materia, el desarrollo de los contenidos de la materia, las deficiencias más comunes que los alumnos presentan al cursar la materia, los temas que requieren más atención por su importancia. Encuestas Semi-estructuradas Para levantamiento de datos, se utilizará como instrumento las Encuestas Semi­ Estructuradas, ya que estas nos permiten obtener la información a través de preguntas de selección, de tal manera que nos permitirán conocer la opinión personal de cada estudiante de la materia de base de datos I; conocer sus comentarios respecto a la metodología de enseñanza aplicada hasta el momento, los temas que consideren más complicados y aquellos que necesitan más refuerzo y su opinión en relación a la herramienta propuesta. 42 10.5.2 INSTRUMENTOS DE LA INVESTIGACIÓN Entrevista Se estructuró una entrevista de 16 preguntas, con el fin de obtener la opinión de los catedráticos asignados a la materia de Base de Datos I y conocer información relacionada con el plan de trabajo de la materia, metodología, contenido, conocimientos requeridos para los alumnos y expectativas acerca de la herramienta propuesta. (Ver anexo A) Encuesta Se elaboró una encuesta semi-estructurada, dirigida específicamente a los alumnos de Base de Datos 1, considerado una población miscelánea entre aquellos que ya la cursaron, los que la cursan actualmente y los que están por cursarla, esto con el fin de obtener información, acerca de la experiencia vivida al cursarla y también de las expectativas que se tienen respecto a Base de Datos l. (Ver anexo B) Formula n= Z2 *P*Q * N e2(N - 1) + Z2 * P * Q Donde: n = Tamaño de la muestra N = Tamaño de la población Q = Porcentaje de fracaso P = Porcentaje de éxito MUESTRA 43 Z = Coeficiente de confiabilidad E= Error muestra! Parámetro a considerar para la muestra: N = 600 Estudiantes Q= 0.5 P = 0.5 Z = 1.96 E= 0.10 Sustituyendo: n= (1 .96)2 (0.5)(0.5)(600) (0.10)2(600-1) + (1 .96)2 (0.5) (0.5) n= (3.8416) (0.25) (600) 5.99 + 0.9604 n = 576.24 6.9504 n = 82.907 44 n= 83 encuestas a pasar Se determinó distribuir las 83 encuestas, entre los estudiantes de Ingeniería en Computación que hayan cursado, que estén cursando y que van a cursar la materia de Base de Datos l. Recopilación Bibliográfica Se analizará el material disponible para catedráticos y alumnos, considerando las fuentes de información tradicionales como consulta a MSDN (Multi Services Data Net), la tesis del CD interactivo para la enseñanza de matemática para alumnos de tercer grado, el programa DCE de Microsoft y el libro, Introducción a las Bases de Datos, con el objetivo de conocer la cantidad, calidad y accesibilidad de la misma y su aporte al proceso de aprendizaje de la materia. Experiencia personal Se realizó un análisis retrospectivo, considerando nuestra propia experiencia al cursar esta materia, incluyendo aspectos positivos y negativos, en el momento de cursarla, llegando a conclusiones que servirán como puntos críticos de evaluación para la herramienta propuesta. 45 11 DESARROLLO DE UN CD INTERACTIVO 11.1 DISEÑO PROPUESTO DE LA METODOLOGIA A UTILIZAR Como hemos mencionado, el proyecto consistirá en la implementación de un CD­ ROM interactivo, debido a que representa un instrumento educativo innovador y con mucho potencial para aprovechar. En un CD interactivo caben 550 megabytes de datos digitales, que se conservan con una precisión y una seguridad. Esta capacidad es suficiente para: • El contenido de ciento cincuenta mil páginas impresas (alrededor de doscientos cincuenta libros de buen tamaño). • Imágenes nítidas de quince mil documentos comerciales (dos archivadores grandes). • El contenido de mil doscientos diskettes flexibles de 5.25 pulgadas. • Una imagen nítida en color y diez segundos de narración, por cada uno de los tres mil segmentos de un programa educativo de consulta (casi ocho horas de contenido). • Grandes cantidades de cualquier otra cosa representable en forma digital, o cualquier combinación de todas mencionadas. En un CD, los datos son transformados en hoyos y planos, para ello, se recurre a una operación llamada: grabación de máster 9; que consiste en lo siguiente: la onda portadora de la información codificada, se transfiere desde una cinta magnética a un modulador (una especie de conmutador muy rápido), que controla un potente haz de láser de onda corta por medio de una lente, que a su vez, lo enfoca sobre la superficie fotosensible de un disco máster de vidrio Uno de los factores que contribuyeron al éxito del CD, fue la existencia de una normativa desarrollada conjuntamente por Sony y Philips, gracias a la cual, puede 9 hllp: //www. monogra{ias. coml t raba i os/mu I ti mediavcdlmul ti mediavcd. shtml 47 reproducirse cualquier disco en cualquier tocadiscos. Esas normas fijan básicamente las siguientes variables: • Un formato de datos con indicaciones sobre el espacio para éstos, el direccionamiento de la información y los códigos de corrección de errores. • Códigos básicos de canal y de corrección de errores (ECC), y espacio suficiente para más datos y ECC. • Estructura microscópica y microscópica del disco. Al comprobar las posibilidades como soporte de almacenamiento de datos del CD, Sony y Philips, impulsaron también la normalización de un CD ROM. El disco, la técnica de exploración con láser y los métodos de grabación de máster y prensado de este CD ROM normalizado, son idénticos a los correspondientes del CD. La diferencia, materializada en su totalidad, respetando el formato de datos del CD, estriba en el uso de mecanismos más potentes de corrección de errores y en el direccionamiento absoluto más explícito de bloques de datos. 48 11.2 DESCRIPCION GENERAL DE LAS ETAPAS 11.3 DISEÑO EDUCATIVO Para lograr el desarrollo del CD interactivo, es necesario en primera instancia, la elaboración de un guión técnico-pedagógico, que tome en consideración el plan de trabajo o portafolio de la materia Base de Datos 1, los requerimientos solicitados por parte de los catedráticos y los alumnos (a través de las encuestas y entrevistas), el lenguaje con el que se desarrollará cada tema, la metodología apropiada; videos demostrativos, expositivos y descriptivos; ejercicios prácticos, entre otras variables a nivel pedagógico. El plan de trabajo o portafolio de Base de Datos 1, será nuestro punto de partida para la elaboración del guión del CD, en consecuencia, los contenidos que se incluirán en el mismo serán: • Fundamentos de las Bases de Datos. • Introducción a SQL. • Lenguaje de manejo de datos (consultas, operadores, uso de funciones, funciones agregadas). • Tablas relacionales e integración en una Base de Datos. • Índices. • Implementaciones de Base de Datos SQL. • Consultas SQL, entre múltiples tablas. • Procedimientos almacenados, cursores y transacciones. Asimismo, el desarrollo del guión, será realizado con un lenguaje adecuado, que sea familiar al alumno, sin descuidar el nivel de exigencia técnica que requiere esta materia. Para lograrlo, utilizaremos términos que ya son manejados por los alumnos e introduciremos nuevos, a través de referencias cruzadas a glosarios, dentro de la misma guía de estudio. Finalmente, tomaremos en cuenta las recomendaciones de la psicopedagogía, en cuanto a tiempos sugeridos para una exposición, el juego de contraste de colores para captar la atención del alumno, los cambios de actividad para el desarrollo de un 49 mismo tema, entre otras de suma relevancia para el correcto aprendizaje y fijación del conocimiento en el alumno. 50 11.3.1 DISEÑO INTERACTIVO Al hacer referencia a un diseño interactivo, estamos hablando intrínsecamente de un sistema que involucra multimedia, es decir, un sistema de cómputo que combina medios de texto, gráficos, animación, música, voz y video. Multimedia 10, combina audio y material visual para establecer comunicación y enriquecer su presentación. El desempeño de multimedia y exhibiciones, material de entrenamiento multimedia, y presentaciones multimedia, todos usan varios canales y modos de expresión. Esta tradición existente, es ahora usada por un nuevo tipo de multimedia, uno basado en tecnología digital. Computadoras de escritorio pueden manipular imágenes fotográficas, grabaciones de sonido, y cortos de video en forma digital. La información, imágenes, textos, sonidos y otros elementos, estarán técnicamente y estéticamente integrados en el CD interactivo, centrados en facilitar el aprendizaje y la comprensión de los contenidos de la cátedra, Base de Datos l. Un elemento clave en la multimedia, es la interacción, que no es más que la comunicación o intercambio de información entre 2 o más partes. En este sentido, si aplicamos este concepto en el presente proyecto; establecemos que, para la ejecución de las rutinas y actividades que se incluyen en el CD, serán necesarias las respuestas de los usuarios a través de entrada de datos por parte de ellos; es decir que el usuario puede controlar el flujo del programa, afectando el camino de toda la información. Para lograr la implementación de este CD, será necesario tomar en consideración los requerimientos mínimos de Hardware y Software, apropiados para combinar e integrar los componentes multimedia incluidos en la implementación del mismo. 10 http://www.monogra/ias.comltrabaioslmultimediavcdlmultimediavcd.shtml 51 11.3.2 DISEÑO DE PROTOTIPOS El primer prototipo que se presentará; será de acuerdo a los requerimientos que surjan en la etapa de Planificación de los requisitos, tomando como base, los modelos de simulación de soluciones, el modelado de procesos y los flujos de información, acordados y diseñados en las fases de Modelado de Gestión y Modelado de Datos. Estos prototipos, serán creados con códigos y objetos reutilizables en etapas más avanzadas dentro del sistema; es decir, que no se descartarán por completo los prototipos desarrollados, sino que se realizarán los ajustes necesarios, para que cumplan con los requisitos establecidos y sean reutilizados por otros módulos del CD. 11.3.3 PRODUCCION La producción de los prototipos, serán manejados como versiones del proyecto final. En ellos se incluirán los requerimientos acordados por la JPR (Junta Planificación de Requisitos) y tomando en cuenta los modelos y flujos de procesos e información 52 11.4 FORMATO DE GRÁFICOS 11.4.1 FORMATO DE BITMAP El formato Windows Bitmap (.BMP11), es propio del programa Microsoft Paint que viene con el sistema operativo Windows. Puede guardar imágenes de 24 bits (16,7 millones de colores), 8 bits (256 colores) y menos. Puede darse a estos archivos, una compresión sin pérdida de calidad: la compresión RLE. Los archivos con extensión ".BMP", en los sistemas operativos Windows, representan la sigla BitMaP (o también Bit Mapped Picture), o sea mapa de bits. Los archivos de mapas de bits, se componen de direcciones asociadas a códigos de color, uno para cada cuadro en una matriz de pixeles; tal como se esquematizaría un dibujo de "colorea los cuadros" para niños pequeños. Normalmente, se caracterizan por ser muy poco eficientes en su uso de espacio en disco; pero pueden mostrar un buen nivel de calidad. A diferencia de los gráficos vectoriales, al ser re-escalados a un tamaño mayor, pierden calidad. Otra desventaja de los archivos BMP, es que no son utilizables en páginas web, debido a su gran tamaño en relación a su resolución. 11 hllp:lles. wikipedia. orglwiki/ Windows _ bilmap 53 11.5 FORMATO DE ARCHIVO DE IMÁGENES Un formato, es la codificación con la que se almacena la imagen. La codificación, se puede ver como el "lenguaje" que utilizará el computador para almacenar y leer la imagen en disco. Dependiendo de este "lenguaje", la imagen ocupará más espacio o se verá con mayor o menor calidad. A continuación, se comentan algunos de los formatos utilizados en el desarrollo del CD interactivo: Formato Modos de color Compresión Comentario GIF - Compuserve GIF: SI (LZW) Creado por Compuserve en 1987. Graphics Mapa de bits. Escala de grises. Color Posibilidad de lnterchange indexado. visualización entrelazada Format (aparición gradual). - GIF 89a (GIF (.gif) animado): Transparencia y animación. Color indexado. RGB. Uso: Internet JPEG - Escala de grises SI: diversas Junto con GIF y PNG es calidades el formato de Internet Join - RGB (con para gráficos y Photographic -CMYK pérdidas) fotografías. Expert Formato de color Group verdadero en el que no se produce pérdida de (.jpg; .jpe) color, aunque si se comprime SI, pues se eliminan datos. 54 Uso: fotografías Internet PNG - Mapa de bits SI (sin Mayor capacidad de pérdidas) almacenamiento y Portable - Escala Grises capacidades que el GIF. Networks - Color Indexado Genera transparencias Graphics de fondo sin bordes -RGB (.png) dentados. No muy extendido, con el tiempo sustituirá al GIF. Uso: Internet TIF - Mapa de bits sin SI (LZW) Desarrollado por Aldus canales Alfa Tag lmage (Se puede Corporation. File - Escala de Grises con canales Alfa y especificar si Reconocido por casi Format archivos Lab para todos los programas de Pintura y (. tif) - Color Indexado IBMPC o Mac) Vectorización. - RGB con canales Alfa y archivos Lab Compatible IBM PC y Mac -CMYK Uso: Imprenta e intercambio de archivos Tabla 11.5.1: Tabla de formato de archivo de imágenes 55 11.6 FORMATO AUDIO DIGITAL 11.6.1 FORMATOWAV Fue desarrollado por Microsoft e IBM y apareció por primera vez, para el ambiente Windows, en el año 1995. Los archivos de audio guardados en el formato de sonido Microsoft, tienen esta extensión. Con el tiempo se convirtió en un estándar de grabación para música de Cd's. Su soporte de reproducción, es uno de los más importantes, pues funciona en cualquier aplicación Windows y en equipos domésticos comunes con reproductor de Cd's. 11.6.2 FORMATO MIDI Por sus siglas en inglés, quiere decir instrumento musical de interfaz digital, y es considerado, el estándar para industria de la música electrónica. Se trata de un protocolo de comunicación serial estándar, que permite a las computadoras, comunicarse y compartir información para la generación de sonidos. Es muy útil para trabajar con dispositivos como sintetizadores musicales ó tarjetas de Sonido. Por el tamaño resultante que ofrece su compresión, este formato es muy usado para reproductores que necesitan combinar archivos de audio y video, como los karaoke. 11.6.3 FORMATO CDA CDA 12 (Compact Disc Audio), son ficheros de audio, que pueden estar guardados en portadores de CD. Los ficheros .cda, son representaciones de pistas de audio y no contienen la información de modulación de código de pulso (PCM). Los ficheros CDA pueden ejecutarse solo desde el CD-ROM. 12 www.coolulils.com 56 Este formato, es una derivación de WAV y por lo tanto, no ofrece compresión (una canción de cuatro minutos ocupa cerca de 40 MB). El disco grabado con este formato, está compuesto por pistas, que se pueden reproducir automáticamente una después de la otra o en cualquier orden 11.6.4 FORMATO MP3 El mpa1 3 (Mpeg Player 3), es un codee de audio muy extendido. Los archivos creados con este códec, tienen la extensión .mp3, por lo que también se le llama formato mp3. La calidad de sonido del MP3 y su pequeño tamaño, lo han hecho muy popular en Internet, su algoritmo se basa, en la forma de escuchar que tiene el oído humano, pues las frecuencias que quedan fuera de la audición, no son registradas en el archivo (las mayores de 20khz y las menores de 20hz). Esto se traduce en archivos mucho más pequeños, sin una pérdida de la calidad del sonido. Su peculiaridad, es su tamaño de compresión: 11 a 1, lo que quiere decir, que sí un CD de música normal contiene unas 13 canciones, en un CD con mp3, tendríamos 143. Aparte del ahorro del espacio hay que añadir que, no se pierde apenas calidad de sonido en bitrates normales, o incluso, en un archivo mp3 del máximo bitrate sacado de un disco de vinilo, puede tener mayor calidad de sonido que un archivo de CD. 13 Encarta 1998 57 11.7 DEFINICIÓN DE MODELO DE ENTIDAD-RELACION 11.7.1 DISEÑO DE BASE DE DATOS DEL CD En el presente diagrama de entidad relación, es el modelo de la base de datos utilizada para el manejo de la información del CD interactivo, así como todos los atributos y objetos que se encuentran relacionados a la información que en él se presenta CONTENIDO V Jd_,ontenido T-:ma IJ Subtemas '& Jd_subtema Nombre subt-ema Jd_Vid":O Id_ diaposit iva ld_ doe:um~nio Videos r 'iJ ld_video Nombre vidi:o Ruia dt: busquo: dei ld_ejemplos r-..., Id_ ,ejere: itios 11, -.....___" ~-~ \ "-~- \\ ·--, , .,, ._ --..., , . .._ \L Ejercicios "a Id_ ejercicios Nombrt -=_iercicios Ruta do: b!.lsqu-:da Ejemplos Diapositivas 'V !d_diapositivas Nombri_ diapositiva Ruta ele busqu-:da Documentos '?? ld_dotumi:nto Nombre del do