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 de mitad de trimestre. Primavera 2002

Normas 

Éste es un examen no presencial. Puede realizarlo donde quiera y utilizar todos los recursos que desee. El único requisito es hacerlo sin ayuda de nadie (sin colaboradores, ni siquiera los miembros de su equipo). Si recurre a la sección de un libro o a una página web, cite la fuente. Una calificación de 80/100 es un resultado muy bueno para este examen, así que si hay una parte que se le resiste o no le interesa, contéstela rápidamente y pase a las que sí le interesan. 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. Dispone de una semana para realizar el examen.

Recursos

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

¿Problemas? ¿Tiene alguna pregunta?

Envíe un mensaje de correo electrónico al profesor.

Pregunta 1: Desarrollo de un modelo de datos

Acceda a netflix.com. Suscríbase a la opción de membresía de prueba gratuita de 10 días y siga estos pasos:

  1. Observe la página que describe la película "Strictly Ballroom". Analice detalladamente la información que se ofrece sobre esta película, incluidas las críticas de los usuarios y las categorías de dichas críticas.
  2. Agregue algunas películas en su lista de alquiler.
  3. Vuelva a ordenar esta lista de tal forma que la última película seleccionada sea la siguiente en el envío.
  4. Elimine algunas películas de la lista.
  5. Lea las opciones ofrecidas para informar sobre problemas de envío, pero no rellene ningún formulario de pérdida ni de retraso.
  6. Califique algunas películas.
  7. Solicite las películas recomendadas según las calificaciones que acaba de facilitar.
Desarrolle ahora un modelo de datos para el sitio netflix.com. Su modelo de datos deberá ser lo suficientemente completo como para gestionar todas las acciones descritas anteriormente y hacer funcionar el núcleo principal del servicio. Suponga que existe de una tabla de usuarios con claves user_id. El modelo de datos deberá incluir las limitaciones de integridad correspondientes y los índices para facilitar las consultas que considera necesarias para las páginas a las que acaba de acceder. El modelo de datos deberá contener también los comentarios correspondientes.

Compruebe su modelo de datos insertándolo en un RDBMS y asegurándose de que se aceptan sin errores las sentencias CREATE TABLE y la definición de índices. Probablemente deberá crear un nuevo usuario de base de datos para que las definiciones de la tabla no entren en conflicto con el resto de tablas que tal vez haya definido para el proyecto en equipo.

Extensión de la respuesta: si el modelo de datos contiene más de 15-20 tablas, lo más probable es que se enfrente a muchos casos especiales.

Pregunta 2: Consultas más complejas de SQL

Escriba un programa informático que genere la página "aquí están las películas que le recomendamos según su calificación y en comparación con la del resto de usuarios" realizando consultas en el modelo de datos definido en la Pregunta 1. Idóneamente, cada programa debe ser una consulta sencilla de SQL que devuelva filas en orden descendente de probabilidad de que al usuario le guste la película. Puede utilizar bloques de lenguaje de procedimiento, por ejemplo, funciones de PL/SQL de Oracle.

Compruebe las consultas insertando el modelo de datos de la Pregunta 1 en el RDBMS que ha estado utilizando este semestre. Rellene las tablas al menos con los siguientes datos de prueba (puede incluir más si lo desea):

  • A Schlomo Lifschitz le encantó "Terminator 2", le gustó "Terminator" y "The Replacement Killers", no le disgustó "Tigre y dragón" y detestó "Lo que el viento se llevó".
  • A la mujer de Schlomo, Rachael, no le gustó nada T2, le disgustó Terminator, no le disgustó "Tigre y dragón" y le encantó "GWTW."
  • Al abogado que se encargó de su divorcio no le gustó absolutamente nada "GWTW" y le gustó "Gaslight."
  • Al juez que se encargó del caso, Ronald Heidegger, le encantó "GWTW" y le gustó "Emma."

Imprima la transcripción de una sesión de base de datos en la que utilice la consulta para generar recomendaciones de películas a Biff y Ronald. Tenga en cuenta que la consulta nunca deberá recomendar una película a alguien que ya la haya visto.

Pregunta 3: Análisis de usabilidad

Acceda a photo.net con el objetivo de cargar tres fotografías y compartirlas con seis conocidos (enviándoles una URL).

Siga estos pasos:

  1. Busque el servicio de compartición de fotografías en photo.net.
  2. Cargue sus tres fotografías (si utiliza las fotos que yo mismo he facilitado, recuerde que están tomadas con una cámara Canon EOS-5 camera, lente 70-200/2.8L y con película Fuji Astia).
  3. Intente encontrar una aplicación dentro del servicio de compartición de fotografías para preparar y mostrar las tres fotografías.
  4. Prepare una muestra (con las fotografías acompañadas de texto explicativo).
Critique la experiencia del usuario. Su crítica debe ser clara en lo relativo a los puntos débiles del sistema actual. También debe ser explícita: qué se debe cambiar, por ejemplo, que un programador auziliar pueda implementar las mejoras dejando atrás criterios estilísticos.

Extensión de la respuesta: 1 ó 2 páginas.

Pregunta 4: Reflexión sobre la aplicación general

Suponga que alguien se da cuenta de las incoherencias y la lentitud del sitio web de la organización del campus del MIT (acceda a Actividades y clubes del MIT para obtener una lista de antecedentes). El diseño de la web corrió a cargo de profesionales del MIT (con algo de ayuda de físicos suizos y del NCSA): ¿no damos para más?

Imagine que el decano adjunto de sistemas de Internet le pide desarrollar un servidor central que ofrezca subcontratación de tecnologías a las organizaciones de estudiantes del MIT. A cada organización se le adjudicará una porción del servidor en vez de tener que crear un sitio web independiente. ¿Qué servicios debería proporcionar esta unidad central a las organizaciones? ¿Al jefe de cada club? ¿A los miembros del club? ¿A un nuevo estudiante que no sepa a qué club suscribirse? ¿A un decano del MIT que no sepa qué club financiar?

Extensión de la respuesta: 2 ó 3 páginas.

Pregunta 5: Justificación de decisiones de ingeniería

Seleccione algunas herramientas de hardware y de software que sirvan de apoyo al sistema de subcontratación informática para clubes del MIT que diseñó en la Pregunta 4. Explique estas decisiones en términos de capacidad de usuarios, todas las posibles circunstancias que puedan relacionarse con el servicio que se ejecuta en el MIT y sin perder de vista la mantenibilidad a largo plazo. Intente prever las preguntas que puedan surgir a los que analizan el problema, por ejemplo:
  • ¿Por qué utiliza [el RDBMS seleccionado]? ¿No sería más barato y rápido utilizar MySQL?
  • ¿Cuál es el mejor programa de servidores web?
  • ¿Sería mucho más sencillo y barato hacer todo esto con Microsoft Sharepoint o cualquier otro programa ya preparado?
  • ¿Tiene sentido contar con un sistema de dos niveles con consultas de SQL incrustadas en secuencias de comandos de páginas o contar con algo parecido a Java® 2 Enterprise Edition, donde las Java® Beans empresariales se conservan durante las transacciones SQL generadas por la máquina?
  • ¿Qué formación sería necesaria para que el programador pueda encargarse con seguridad del mantenimiento de este sistema? ¿Cómo sabremos que el programador ya está preparado para comenzar a modificar el sistema?

Extensión de la respuesta: 2 páginas en total.

Entrega del examen

Envíe las respuestas por correo electrónico 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.

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
Contacta con nosotros: Usuarios | Empresas-Instituciones-Medios comunicación
Código Ético | Aviso Legal | Política de confidencialidad | Quiénes somos: Sala de Prensa