MIT OpenCourseWare


6.171 Ingeniería de software para aplicaciones web. Otoño 2003

Página principal
¿Qué es OCW?
Ayuda
Feedback
Preguntas frecuentes
Glosario
 
 
Página principal del curso
Programa
Calendario
Lecturas
Trabajos
Exámenes
  Otras fuentes

   MIT

   
 

Examen final. Otoño 2000

Normas

Éste es un examen no presencial del MIT, es decir, un examen que podrá realizar donde quiera y con acceso a los recursos que desee. El único requisito es hacerlo sin ayuda de nadie. Para ello, necesitará tener acceso a un navegador web. Le sugerimos que el lugar en el que realice el examen disponga de un buen acceso privado a un navegador web, a un editor de texto y a un programa de correo electrónico.

Cuando haya terminado el examen, envíe el resultado por correo electrónico (en texto sin formato, por favor) al profesor. Al principio del mensaje, incluya un párrafo en el que quede claro que el examen lo ha realizado sin ayuda de nadie.

Aunque dispone de seis horas para realizar el examen, debería terminarlo mucho antes si ha asistido a clase y ha leído el material obligatorio. En concreto, tenga en cuenta que exigimos respuestas con longitud concreta para cada pregunta: no crea que debe escribir páginas y más páginas sólo porque le damos mucho tiempo: una respuesta clara y concisa puntúa mucho más que una larga y farragosa.

Recursos

A continuación, detallamos los recursos que pueden serle de ayuda para responder las preguntas.

Pregunta 1: Normalización de un modelo de datos

Aquí tiene un modelo de datos para almacenar un conjunto recopilado de archivos MP3 (fragmentos digitalizados de música). Los usuarios se han registrado en un sistema de comunidades sencillo de ArsDigita. Describa dos motivos por los que esta tabla no se muestra ni siquiera en formato formulario de normalización primaria. A continuación, vuelva a escribir el modelo de datos para darle formato de formulario de normalización terciaria. Sugerencia: su modelo de datos normalizado contendrá más de una tabla SQL.

create table mp3s (
 mp3_id   integer primary key,
 the_music  blob,
 submitting_user_id references users,
 playing_minutes  number,
 musicians  varchar(4000),
 composers  varchar(4000),
 date_recorded  date,
 -- ID de usuario separados por espacios
 -- (son los usuarios que hicieron clic en "agregar a mi lista personal"
 personal_list_ids clob,
 -- ID de usuario separados por espacios
 -- (son todos los usuarios que han reproducido una canción
 downloading_user_ids clob,
 -- clasificaciones, separadas por espacios
 -- cada clasificación es un ID de usuario,entero (entre 1 y 10)
 ratings   clob,
 original_lyrics  clob,
 -- idioma de las letras (utilice códigos)
 original_lyric_lang char(2),
 -- permite que los usuarios carguen canciones en otros idiomas
 lyric_translation1 clob,
 lyric_translation1_lang clob,
 lyric_translation2 clob,
 lyric_translation2_lang clob,
 lyric_translation3 clob,
 lyric_translation3_lang clob,
 -- si viene de un disco compacto, almacena la información del disco
 -- ¿está este disco registrado en cddb.com? Si es así, registrar clave.
 cddb_key  varchar(200),
 barcode_on_disc  varchar(100),
 record_label  varchar(200),
 catalog_number  varchar(200),
 total_playing_minutes number

);

Extensión de la respuesta: 1 página.

Pregunta 2: Usabilidad

Está harto del MIT. Está harto de las temperaturas bajo cero (¡y eso que, oficialmente, aún no ha llegado el invierno!). Está harto de sentirse tan delgado y quiere parecerse más a sus profesores. ¿Dónde puede encontrar temperaturas más cálidas y raciones ilimitadas de comida para dejar de estar en los huesos? No hay duda: la solución es un crucero por el Caribe.

Sus limitaciones son:

  • Debe pasar las Navidades con sus padres. De lo contrario, no correrán con los gastos de la universidad del semestre que viene. Esto es: no puede salir hasta el 26 de diciembre.
  • Debe regresar al MIT el 8 de enero para comenzar el curso; más de 200 personas se han inscrito en el seminario "Alegrías del PL/SQL" que usted va a impartir.
  • Ser un estudiante de uno de los cursos más atractivos del MIT le ha beneficiado mucho en su vida amorosa; tiene una relación romántica y necesitará reservar dos plazas para el crucero.

Comience por acceder al sitio Carnival y no dedique más de 3 minutos para responder a la pregunta "¿Hay dos plazas libres en cualquier crucero que salga el 26 de diciembre o en fechas posteriores y que regrese antes del 8 de enero?"

Pregunta 2a

Sugiera cinco cosas que los diseñadores de este sitio podrían haber hecho de otra forma para mejorar la experiencia. (Extensión de la respuesta: 1-3 frases por cada sugerencia).

Ahora vamos a dar un giro al asunto: usted es homosexual. Y no quiere terminar en un crucero casi homófobo.

Dedique otros tres minutos a navegar por el sitio Carnival para saber cómo es la experiencia a bordo de uno de los barcos (puede empezar por el barco Paradise). Compruebe si puede encontrar información que revele si Carnival ofrece cruceros especiales para homosexuales o si cuenta con estancias para este colectivo.

Pregunta 2b

¿Qué podría haber hecho Carnival para darle una respuesta más concreta? ¿Más información sobre la experiencia a bordo? ¿Podría influir la autoría de varios colaboradores? Redacte un borrador sobre la forma de conseguirlo. (Extensión de la respuesta: 1 ó 2 párrafos).

Visite los foros de mensajes de gay.com (en inglés) para ver si puede encontrar cruceros por el Caribe pensados para homosexuales (sugerencia: comience a buscar en la categoría de viajes ("travel")).

Pregunta 2c

Analice la interfaz de usuario del programa de foros de preguntas y respuestas de gay.com. Si lo desea, puede hacerlo en forma de ventajas e inconvenientes según el programa estándar de foros de ACS (consulte los foros de photo.net para obtener un archivo completo). Extensión de la respuesta: 2 párrafos.

Acceda al sitio PlanetOut (la directora ejecutiva, Megan Smith, se licenció en la segunda promoción del curso del MIT) y busque "Carnival cruise" (crucero de Carnaval). Analice los suficientes resultados para poder determinar si Carnival acepta o no el comercio orientado a los homosexuales. Busque ahora en Google la cadena "Carnival cruise gay" (crucero de Carnaval para homosexuales). De nuevo, analice los suficientes resultados para determinar si Carnival acepta o no el comercio orientado a los homosexuales.

Pregunta 2d

Compare las interfaces de usuario de los dos motores de búsqueda anteriores para comprobar su usabilidad. (Extensión de la respuesta: 2 párrafos).

Pregunta 3: Oracle

Pregunta 3a: Diversión con Oracle

Le hemos ofrecido un servicio web en ejecución que utiliza una base de datos de Oracle. Los desarrolladores originales no sabían mucho de documentación y no le han dejado ningún archivo .sql con sentencias CREATE TABLE. Utilizando solamente consultas de SQL (es decir, no puede utilizar ningún comando de SQL*Plus como "DESCRIBE"), diga cómo podría saber (1) qué tablas se han definido, (2) qué columnas hay en dichas tablas, (3) cuáles de esas columnas pueden ser "null" (es decir, cuáles pueden contener el valor "NULL") y (4) cuáles de las columnas de las tablas tienen limitaciones. Las consultas de SQL no tienen por qué ser totalmente correctas, pero sí deberá encontrar las tablas y las columnas que contengan la información que necesita.

Extensión de la respuesta: cuatro consultas, cada una de no más de 1 ó 2 líneas.

Pregunta 3b: Más diversión con Oracle

Ha escrito un programa de aplicación que:

  1. Realiza consultas en una fila de información desde Oracle (con "SELECT * FROM FOOBAR").
  2. Realiza cálculos con los datos obtenidos.
  3. Basándose en los cálculos, actualiza la información sobre la que se ha realizado la consulta del paso 1 (con UPDATE).

Explique el problema de concurrencia que aparece cuando se ejecutan simultáneamente dos copias de este programa (extensión de la respuesta: 1 párrafo). Incluya dos modificaciones del programa que eliminen el problema de concurrencia y aclare las ventajas de cada enfoque. Sus modificaciones deberán incluir sentencias explícitas de SQL. (Extensión de la respuesta: 1 párrafo).

Palabras de despedida

Porcentaje de estudiantes de MBA que afirman que contratarían los servicios de un empleado de la competencia para hacerse con secretos comerciales: 73%

Porcentaje de criminales condenados que afirman que lo harían: 60%

-- Wall Street Journal, 3 de mayo de 1999

No basta con buena ingeniería para que un servicio web triunfe: escoja a sus colaboradores con mucho cuidado.

Al principio del mensaje, incluya un párrafo en el que quede claro que el examen lo ha realizado sin ayuda de nadie.

Quién ha redactado esto y cuándo

Este examen lo escribieron Hal Abelson y Philip Greenspun en diciembre de 2000. El copyright es de 2000 pero puede reutilizarse siempre y cuando se haga mención a los autores originales.

Massachusetts Institute of Technology © 2003 MIT | Información Jurídica | Privacidad
Todo uso del sitio de MIT OpenCourseWare y sus materiales de curso queda sujeto a las condiciones y términos de uso detallados
en la sección sobre Información Jurídica
Copyright © 2003 Portal Universia S.A. Todos los derechos reservados
(Avda. de Cantabria s/n - Edif. Arrecife, planta 00.28660 Boadilla del Monte) - Madrid. España.
Contacta con nosotros: Usuarios | Empresas-Instituciones-Medios comunicación
Código Ético | Aviso Legal | Política de confidencialidad | Quiénes somos: Sala de Prensa